[Coco] DS-69B Reverse Engineering

Joel Ewy jcewy at swbell.net
Sat Aug 5 01:43:46 EDT 2006

> L. Curtis Boyle wrote:
>> ...
>>     Is there self modifying code later on, that fills in the NOP's? Or
>> have you disassemlbed from an incorrect offset, and are looking at a
>> data table?
>> --L. Curtis Boyle
> I'm fairly sure this doesn't get modified anywhere else though it's
> possible I'm missing something.  I'm almost positive it's disassembled
> from the correct offset.  There's quite a bit before and after this that
> is perfectly sensible code.  It's just this little section that lapses
> into apparent lunacy.  It would be far too much of a coincidence if all
> the rest of it just happens to look sensible even though it's
> disassembled wrong. 
> I've remembered that in addition to the RANDACB.BAS for the DS-69B there
> is a RANDAC.BAS for the older DS-69 model.  I should do a hex dump of
> that and see if it has corresponding wackiness.
    OK, according to my hex dump, RANDAC.BAS also has the mystery code
in it:  12 12 12 10 12.  Both files can't be corrupted the same way. 
This isn't bit rot.  Either there is an intentional illegal opcode in
here, or the code gets modified sometime before it runs.  I wouldn't
swear to it, but I think that 10 12 codes to an instruction on the
6309.  So these programs might really misbehave on an upgraded CoCo. 
But a stock 6809 should just treat the unrecognized opcode as a NOP,
no?  I guess I'd better start plowing through the code looking for
something that might modify the mystery section.  Anybody interested in
looking at the whole program?



More information about the Coco mailing list