Modern Day Old School?
When you think of old school computer gaming, what do you think of? Pong/Space Invaders? Jetboot Jack/Mr EE!?, Mario/Sonic? Wolfenstein/Doom? Halo/Skyrim? During the first weekend after lockdown I was talking to the staff in my local shop where they got on to the topic of gaming.
One said, “I went old school during the week and played some really ancient games“, I asked what were they playing? Galaxians? Galaga? Mr Do! or Donkey Kong perhaps?
They looked thoroughly bemused and replied, “No, San Andreas“… Wow, did I suddenly feel old… they were of course talking about Grand Theft Auto – San Andreas… Given their age when starting gaming, GTA SA was released more than half their lifetime ago.
It’s amazing how in a relatively short space of time, how technology is perceived by the younger generations who will never know the struggle of inserting a cassette, pressing play and hoping the game they want loads within 30 minutes without error. Or the satisfying shrieks and trills as the data loads from cassette into a computer.
During the late 70’s, I decided as a kid I would be a
hacker security engineer, and taught myself to program without a computer at first (BASIC from an Usborne Book) before getting my first computer and teaching myself Assembly language. We didn’t have money for access to on-line bulletin board systems (BBS) back then, and could barely afford my first computer (A commodore Vic-20) with a throbbing 3K of useable memory. By the age of six I had my first electronics kit and was able to make functional circuits with transistors and light bulbs.
From that moment, I would regularly reverse engineer other peoples code, hardware and electronics to make them better, to prove that protection systems were infallible. Partly for the intellectual challenge and the ability to understand at a much deeper level what these devices were capable of, which was beyond what could be learnt in available text books. After all it was still a very niche market, and the era of the Bedroom coder was born!
Learning to code in someways was much easier back then, we didn’t have the plethora of tools and IDEs available to programmers today, we had to do it the hard way, which also taught us to optimise our code and make diligent design choices to run programs more efficiently than a generation of cut and paste coders (now StackOverflow and Google Coding) 😉
If you have youngsters willing to learn the art of coding, you could go all in with the latest technology, Scratch and Python for example are excellent tools to understand the basics of program flow and control. Better still if you want to see instant results why not download an emulator of a legacy 8Bit computer like Amstrad, BBC, Commodore, ZX Spectrum etc from which you can learn a lot from just using BASIC and Assembler. There are many groups on Facebook dedicated to learning to code with old machines, from the seasoned professional, to the curious who want to develop their skills and learn from each other. There’s an amazing community of coders out there willing to help and learn new techniques from one another.
Sure it isn’t as sexy as say, writing a Web Site or Cloud Based application, however the underlying principles are the same with much enjoyment and satisfaction on the way.
Back in the day Usborne created some amazing books designed to inspire what is now considered a generation of bedroom coders, and fairly recently they’ve released PDFs of these books for free!
Some of my favourites included, Computer Battle Games and Space Games, along with Write your own Adventure Programs, this latter I used to create my first adventure game on the Vic-20 taking some inspiration from Scott Adams. I tested the game out at our local computer game shop and left it there for the day, and had some great feedback from those that tried it out with the recommendation of trying to get it published. I think I was 11 at the time, so I sent my game to different publishers and within weeks I’d received a number of … rejection letters! My dreams of driving a Porsche or Ferrari were slightly dampened, but didn’t stop me writing more games, including a flight simulator amongst other stuff.
Whatever I could get my hands on, I would code on it, whether it was a Commodore PET, a PDP-11, BBC Micro Model B, ZX Spectrum etc. I loved the challenge that came my way and coding became an
hobby obsession. Reflecting on todays standards it’s likely some one think I’m on the spectrum somewhat…
Of course I had track record of owning computers that weren’t considered mainstream. My next computer was a Commodore-C16 🤦 (instead of the C64), I owned a ZX Spectrum 128Kb for a week before swapping it over for an Amstrad CPC 6128 with colour monitor and never looked back. I loved this beast of a machine and it was this that took my
hacking security engineering to whole new level, beyond the playground.
I taught myself Assembly Language from about the age of 10 reading books and writing code on paper, starting with the 6502, moving onto the Z80, 6800 (Dragon 32), 68000 (Amiga/ST/Early Mac), x86 on DOS etc. It’s such an elegant language when you think about it, however these days unless you’re creating a new language, maintain a compiler or work with embedded system, you need to know other languages to be productive. Whilst Assembly is optimal, it can take more time to get to the end result than you can with the languages available today.
None-the-less I blitzed my way through any protection system I could lay my hands on, we had everything from Speedlock, Appleby, Bespoke, Turbo Loaders, Musical Loaders and the general gaming community wanted games transferred from cheaper cassettes to disks. It didn’t take long before I developed a number of automated tools for cracking back in the day and a couple of older friends would pass me software they were unable to crack and in return I would get beer and the latest games to try out. My career in the computing magazines took off, submitting cheats, hardware hacks, game reviews and even writing the occasional game.
Those were the days… Then technology moves on at such a pace, work gets in the way and you lose track of earlier skills as you focus on more tech.
I still have my Amstrad CPC which was stored in the Garage for over 20 years, covered in dust and spider webs, along with all the hardware and software I had (well most of it). I thought, will it still work? I cleaned it up, hoovered out the dust, checked for any signs of corrosion or wear before gingerly plugging it in and firing it up for the first time since it was last used in 1991. I probably shouldn’t mention I had a fire extinguisher on hand, whilst gingerly hiding behind a door.
Expecting it to go bang, I was grateful it didn’t trip the electrics, that old machine fired up as though it was 1985, I half expected it to say “Hello, Professor Falken” the Three Inch disk drive didn’t fare as well. Yep you read that right, not 3.5″ but 3″ these plastic disks weren’t particularly mainstream back then, we’re quite expensive compared to 5.25″ and 3.5″ disks, as they retailed for about £3-£5 per disk and that was quite expensive. Each disk could hold 178kb each side, though with a bit of trickery you could squeeze 212kb each side by messing around with the drive parameters to use tracks 40 and 41.
I managed to fix the drive, the rubber drive belt had disintegrated into tar, which is a common repair needed for drives of that age. That reminds me, I need to upload the video of how to repair it.
Once the drive was repaired (It worked first time with the new belt), That Amstrad was loading disks as though it was 1991 again.
At that point I decided I needed a way to transfer my 3″ disks to my Mac. I probably missed the retro boat in the early 90’s when others had done this to preserver their code. That said, I found a gentleman by the name of Piotr Bugaj, who has worked tirelessly on a number of hardware gadgets to make old 80’s hardware accessible by todays computers. He’s quite prolific and active on many of the retro computer Facebook pages and you can find him on https://www.sellmyretro.com/user/profile/zaxon
I purchased a USB Floppy emulator which I configured as Drive B: added my trusty old ROMBoard with a bootleg copy of Discology and set about copying these disks to USB over a period of 4 years now (on and off), seven disks would take just over an hour to copy (Both sides), and I have hundreds of 3″ disks to preserve.
With advancements in technology, I used a few Amstrad CPC emulators, but that one that meets my needs is JavaCPC https://sourceforge.net/projects/javacpc/ this is regularly updated and developed by Markus Hohmann with new features being added regularly, and has built in IDE for developing and debugging Assembler Games.
I guess that’s enough of the pre-amble…
Over the course of the year, I will be sharing some of the tip, tricks and hacks from back in the day, including the only commercially available Software 8K Sector Copier at the time.
In the mean-time, why not check out my GitHub Repository of Hacks, Cracks, Assembly Language, Commercial and Personal projects.
Coders today, just don’t know they’re born (In my best Northern Accent)!