[Coco] Building NitrOS-9 on Mac OS X

Allen Huffman alsplace at pobox.com
Thu Jan 22 19:55:51 EST 2015


On Jan 22, 2015, at 12:57 PM, Nick Marentes <nickma2 at optusnet.com.au> wrote:
> 
> Why can't we have one copy of a game with the game files on it and simply install it to OS-9 instead we have a custom boot disk to serve every version of disk controller and every capacity of disk?

You can. At least that's how I always did it. It's like device drivers in windows... Only stuff like hardware that needed custom drivers required a new boot to be made, and actually, you could dynamically load the driver and use it if you had enough memory. But, since that eats up the 64K system space, it made more sense to merge it in the boot file. Loading something took up an 8K block. If it was an 8K program, fine. If it was a 399 byte utility, that was a waste. You could merge multiple utilities together to be close to 8K and load that one file and all would be in memory, using up just the 8K block. MMU stuff was pretty interesting.

All the os9boot file is is a bunch of modules merged together, then the first sector has a field telling where it is so the low level boot code can find it and start it. I never realized this until I got in to hard drives.

> We have a hardrive under OS-9, It seems logical to that it should be a case of making a folder for the game and copying the game files to it, maybe an installer on the same disk to do the work for you .

Yes. That's how it works, though since most were just copying a file or folder, I never really saw any installers. The tricky bit was special games like Sierra that had their own graphics drivers. Also, big things like Deskmate and some of the Tandy stuff was really tied in to the disk and they didn't seem to want to make using hard drives easier - stuff hard coded to use /d0 for instance.

Rather than have stock WINDINT, and VDGINT, and sierras stuff, etc. all loaded at all times, we would make a few optimized boot disks with just the stuff we needed and boot using those. If someone was just running apps, it's not a big deal, but if you were compiling and editing text and stuff you wanted every last byte available in that first 64K.

In a way, it reminds me of Windows before XP... CONFIG.SYS, HIHMEM.SYS and all that stuff you would tweak just to get a PC to load Wolf 3D and another set to load some other game with drives and the like. Same thing really.

> I know it's possible under OS-9 but it seems to require the genius of an OS-9 guru to accomplish.

Sub-Etha launched with just RS-DOS stuff, but found out in 1990 that most folks at the fest wanted OS-9 stuff so we quickly moved to writing OS-9. The downside was we couldn't slap OS-9 on the disks we sold, so you could never DOS boot third party apps and go. Instead, you would have to DOS boot your OS-9 disk and then swap floppies or copy our stuff over. That extra step was a pain, but I guess there was that in the pre HD PC days too where one disk was MS-DOS then you swapped to load the programs. Once I got my first hard drive, I never looked back.

Anyway... Cofounder Terry and I worked out this cool idea... Buy one of our programs, then when you boot a disk with OS-9, you run a REVERSE installer from our disk. It prompts you to put in an OS-9 disk, then copies the boot track and kernel and a few support files over to the Sub-Etha disk making it bootable :) Alas, we never deployed this since by that stage pretty much everyone at the Fests were OS-9 users. The cool thing was, as long as the disk had the basic modules, you didn't even need to own OS-9. Stick in Deskmate, or Flight Sim, and it would suck the kernel track and os9boot from it plus a few support files that were required :)

I will send you a snippet of my assembly to show you how easy it was to write a game like space invaders. I never could figure out how to do graphics and sound in assembly, but with an OS, it does the heavy lifting for me. It made it easy to write assembly programs that did files, make screens, etc. I think I could have done that in RS-DOS if I'd ever found any tutorials but everyone seemed really protective back then.

     -A


More information about the Coco mailing list