If you'll remember, it was something of a revelation when I realised that, thanks to the work of various shadowy figures on the internet (who had done all the hard work) that I could write my own software for my beloved NGPC.
Now, none of my creations was ever likely to set the world on fire, or save the poor beleagured handheld from commercial oblivion, but this was a chance to get my own code running on a games console - how could I resist.
But first, how to actually get started...
There are various things I would need:
- A compiler. Specifically the Toshiba T900 compiler. My old version no longer works on Windows 7 and upwards, but you can find newer releases if you creep around the corners of the internet a bit...
- A text editor. Notepad at a push, although I prefer something a bit fuller featured - you have lots of options here. UltraEdit, TextPad, Visual Studio Code... Pick your poison.
- An emulator. Even with a flash linker, it helps that you can compile and run something quickly on the computer. There are lots of options now, perhaps slightly fewer back in the early 2000's. I still prefer NeoPop, but that hasn't been developed for years now and you can probably find something better these days.
- A Tile Editor - you can do this manually, if you're a masochist, but it's much easier to get your head round if you can work graphically. I originally started with my own, developed in Visual Basic, but one of the stalwarts of the NGPC development community (Soft n' fuzzy) released a much better version called NeoTile.
- A head start...
The problem with developing for consoles for me, as a jobbing software developer was always that you were expected to get down and dirty with Assemblers and various machine coding hackery to get your own code running on a console. Now, while that is possible, I really do lack the inclination to learn the ins and outs of various old 8 bit processors in order to do something as simple as say "Hello World!"
Luckily for me, Ivan Mackintosh (an old UKVAC associate) had thought of this too, and had wrapped Dark Fader's original code in a C framework. And that was the key to the console right there.
Out of the box, there was a "hello world" example and the source code for, if I remember correctly, a version of Denki Blocks. That was enough.
In the next installment, I'll start revisiting my original NGPC development tutorial with a discussion on the NPGC tile management and how to move from Hello World through to something a bit more interesting... In the meantime, there is some discussion on NGPC homebrew over at FreePlayTech where you can find links to some of the tools, including the compiler and a quiet, but still active development community.