[Coco] Tcp off-loading on CoCo

William Astle lost at l-w.ca
Fri Apr 14 01:42:32 EDT 2017


On 2017-04-13 10:56 PM, Barry Nelson wrote:
>> William Astle has Source Code for DUNGEONS OF DAGGORATH already..
> Really? Could I get a copy? I think I would like to see if I can port it to NitrOS9, or if not a full port, at least get it to run under NitrOS9.

Before I get into my reply to this message, let me correct what Mr. 
Boyle said about Daggorpatch in his message: It modifies the game to run 
from disk under DECB, not OS9.

I doubt you'll make any progress getting it running under Nitros9. It's 
a cartridge game that assumes it has full control over the machine. The 
most likely scenario is that it will end up evicting Nitros9 as part of 
the startup process which kind of defeats the purpose of running it 
under Nitros9.

If you do proceed, it is highly unlikely you'll be able to make DoD work 
under Nitros9 without some extremely major modifications. It operates 
using an interesting scheduler (which uses cascaded timer ticks) that 
runs off the 60Hz IRQ which will fall over dead if it doesn't have total 
control over the system. Also, the extra overhead you'll end up with 
running under Nitros9 will make the higher levels either completely 
unplayable or too easy, even with the gains from running in turbo mode 
on the Coco3.

I can pretty much guarantee you you'll have a lot of trouble getting it 
working on a level 1 system under Nitros9 given that it needs around 14K 
for runtime data (including two pmode 4 screens which obviously have to 
be on 512 byte boundaries and the game data itself) and at least 8K for 
the game code. Changing to position independent code and using the index 
register based memory access scheme of OS9 will almost certainly raise 
the code size by 40% or so.

In short, it's unlikely to be worth trying to get DoD running under 
Nitros9 since it will probably need to evict Nitros9 as soon as it 
starts anyway.

As far as source goes, you'll find two mercurial repositories at 
http://dod.projects.l-w.ca/

The "hg" one builds to the original ROM. This is my original disassembly 
of DoD. It is verified to build a byte for byte accurate ROM image. This 
version requires 16K RAM and runs from ROM.

The "hg-lw" one is modified to be an autostarting ".bin" file loaded 
from disk. It has several enhancements including the ability to save 
games to disk, a full font including lower case, and a couple of extra 
features like "ZPAUSE". It cannot save or load from tape. You may find 
the bits that interface with the ROM routines interesting - it handles 
both 1.0 and 1.1 disk basic and also won't bail out to the OK prompt on 
error.



More information about the Coco mailing list