CPSoft

From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 17:12, 15 February 2026 by Evenmore (Talk | contribs) (Programming environment)

Jump to: navigation, search

My name Chris Perver and I am from Northern Ireland. My first Amstrad was a CPC 464, a Christmas present from my parents around the year 1987. I really enjoyed playing the Amsoft games the machine was bundled with, as well as typing in the many example programs contained in the manual. I bought a 464+ in the nineties, unfortunately after the machine had already flopped. I always had a great interest in programming, and reminiscing about my childhood days, decided to teach myself Z80 assembly. Using WinAPE's built-in assembler, and following examples from ChibiAkumas and other websites, I gradually learned how to code in assembly. I had a desire to create an open world game, using procedural generation, and so began programming my first assembly game Mimo's Quest. Although development on this has paused. I have also upgraded some of my favourite childhood games by disassembling them and redeveloping them for the Plus. Hence the name 'CPSoft', as this was the shortest name that could fit into the Harrier Attack scoreboard! I am currently working on an 'arcade perfect' conversion of Q*bert and hope to develop other games when this project is completed. I would heartily recommend anyone learning Z80 assembly!

Programming environment

Programming environment

The programming environment I use is Xubuntu Linux, with Notepad++ running through Wine emulation. I find Notepad++ very handy for categorizing project files. Its Z80 assembly syntax highlighter makes the code very readable, and its label name completion function saves a lot of time.

I use RASM to compile my source code, along with RomInject and BuildCPR to create the Amstrad Plus cartridge files, and 2CDT to create the emulated tape files. This enables me to make modifications to my code and see the results within a few seconds.

I use WinAPE as my Amstrad emulator. Its debugger is very useful for inspecting memory addresses.

ConvImgCPC is used to create sprites and logos, and save them in assembly format for use in my games.

Games

Mimo's Quest - Development paused
Harrier Attack Reloaded - An adaption of Harrier Attack for the Plus range
Oh Mummy Resurrected - An adaption of Oh Mummy for the Plus range
Q*bert - Currently in development


Source code for some of my games is available on GitHub. You can also visit my own website Mimo's Quest.