4 ms·
I started out as a teen over 40 years ago now. I begged and finally got my parents to buy the cheapest Radio Shack 4K home computer for me for xmas ($299). I le
by mrandish 6y ago
I started out as a teen over 40 years ago now. I begged and finally got my parents to buy the cheapest Radio Shack 4K home computer for me for xmas ($299). I learned to type by typing in simple game code listings from magazines written in the ROM BASIC. I couldn't afford games at the pizza place (@ .25c for three lives) and the game ROM cartridges Radio Shack sold were $20.
After several months of re-typing in each game listing every time the computer got shut off, I was getting pretty damn fast. My parents finally got me the $30 audio cassette tape recorder for my birthday. That was a glorious day! Once I could save the code, I started changing little things in the games like the colors and number of lives. That expanded into adding new obstacles and new levels.
Ultimately, all the BASIC games were pretty primitive. All the unobtainable ROM cartridge games were coded in some magical incantations rumored to be called "Assembly Language". I knew a guy at school with the same computer who had a couple of game cartridges and I'd sometimes manage to talk him into loaning me one for a couple days. Giving the cartridges back sucked. Eventually I learned how to copy the ROM space memory by writing a BASIC program of PEEKs and POKEs. Many hours of experimentation later I was able to copy the 2k of ROM data into user memory (the BASIC code had to be short or the ROM would start overwriting it). Now I could run that game without the damn cartridge! Unfortunately, that was the only game game cartridge at Radio Shack that worked. All the other ROMS I tried had protection measures which I eventually figured out were trying to write to their own memory.
Then I found a listing for a BASIC program called an Assembly Language Monitor that would turn bytes back onto mnemonics. With that, a bunch of luck and several days of effort I was able to find the code in the game ROM that tried to overwrite its own memory and replaced it with NOPs. I felt like king of the world. I wasn't very productive as a software pirate because I spent many times longer figuring out how to copy the game than I ever spent actually playing the game. :-)
However, as I bumbled my way through each new obstacle I encountered as a game pirate I was writing more and more of my own tooling code. Eventually that slowly evolved into a career as a self-taught programmer, software architect and then tech startup entrepreneur. So, yeah. There's at least one case of a frustrated teenage game-player being an on-ramp into a successful tech career.