Passionate about all things IT,
Windows Linux and C64.
The Start.
As a young child in Charlotte, NC I was chosen to be in the gifted and talented program at my school, which unlike PA had kids from 1st grade all the way upto 12th grade. No concept of Elementary,Middle,Highschool as they were all housed under the same roof. Our school had some of the earliest models of IBM desktop PC's at their disposal, they may have even been Terminals for all I know. I took every computer class I could at the time, Cobol, Pascal, Basic and even something called Logo. Making the old green monochrome crt do what I wanted was fascinating. I believe I was 6 years old at the time, and the concept of owning a computer at home was not even on the horizon.
Commodore 64
Years would pass and I continued to excel in my computer classes at school. The early 80's made home computers a reality, though still out of reach for most people due to cost. 1982 was the year the Commodore 64 was introduced, and I was constantly begging my parents to buy any of the earliest home computers including Apples and IBM's as well. Knowing that the C64 was the cheapest and due to my constant nagging that is ultimatley what I got. I woulda have settled for any computer at home, but Christmas came 2 years later and the C64 was mine at last.
Continued...
Christmas morning, opening that box was amazing.I profusely thanked my parents and began reading the manual. I had 64k of memory, a casette tape drive and dreams of what I could create. I believe it was Bill Gates or maybe Will Ferrel who quipped 'There's so much room for activities!'
I'm not sure who said it better.
Story arc
Over the years I continued to obtain more hardware, replacing the slow tape drive with 5.25 floppy drives, with dip switches to daisy chain them together and make each drive addressable. Modems to connect remotely to other systems 150baud to start, you cannot believe how slow that is in our modern day of decent broadband options. Dot matrix printers, also slow but who cares about printing anymore? I had also continued to program in Basic, at least the first few years. Basic was slow as well. Over time people learned how to manipulate the computer at the Zeroes and Ones level, My brother and I would read page after page of Machine Language out of the Compute Gazette magazines, he would read and I would type. Imagine typing in 26 pages of hexadecimal code to see what a program would do, Many times having to re-read all of the code byte by byte becuase it would not execute due to a typo or misprint. Im sure my brother still loves me to this day for some of those 'reading' sessions.
This lead up to a reverse engineering mindset, I had to figure out what those hex codes were. I stumbled upon a book Machine Language for the Commodore 64, 128, and Other Commodore Computers by Jim Butterfield, that book combined with A FastloaderIII cartridge started to unravel the mystery of Assembly Language programming. Using the freeze button on the cartridge would enter you into a debugger, where you could write assembly code, or directly manipulate the memory of the computer. This type of low level access resulted in much faster execution times of algorithms and programs. Suffice it to say this opened a whole new world. Some friends and I began creating demos, showing off what we could do in assembly.
Death of the 64, Long live the PC
Suffice it to say the C64 which had brought me this far was part of a dieing breed, desktop PC's were becoming much more reasonably priced. I still couldn't afford one but was able to cobble together a 386SX pc running at 16mhz thanks to a friend donating the cpu after his upgrade. Thus began my formal journey, and I learned howto build a PC from the ground up, howto partition and format harddrives, and how to properly install an OS. In the days of DOS this involved all sorts of shenanigans in order to get all your drivers loaded into the limited memory. XMSS driver anyone? Autoexec.bat, config.sys, configuration files for your sound and graphics card, setting IO and Interrupt values. Fun times. Over the years Windows and Linux have done a decent job at finally getting to a true plug n play system where these problems have been mostly abstracted away, But I've been there.
I have re-written one of my Assembly based C64 demo's in javascript utilizing the codef framework, you can see an example if you click the getting started button below. You will have to hit the back button to return to this site as I have not embedded the content into this website.
Keep in mind, all of this is served securely via virtual machines and containers running in my homelab. Secured with HTTPS certs, and proper network segmentation.