[Coco] NitrOS9 and 6309 code
L. Curtis Boyle
curtisboyle at sasktel.net
Fri May 31 18:12:59 EDT 2019
Does that work with user programs as well? I haven’t had a chance to go through all of the NitrOS-9 code yet, but, for user programs, where is the error (of trying to run a 6309 only program on a 6809 system) reported from? Is it in Chain/Fork/Load/Link, or is it handled by the SHELL? Or something else?
L. Curtis Boyle
curtisboyle at sasktel.net
> On May 31, 2019, at 3:45 PM, Robert Gault <robert.gault at att.net> wrote:
>
> Unfortunately, Jeff has a point but Gene is correct that 6309 modules work with a 6309CPU.
>
> I just looked at the code on a nightly build of NitrOS-9. I booted the disk
> nos96309l2v030300coco3_80d.dsk
> and used the module SCF as a test case. Ident -m scf gave the module as a 6809 obj with a CRC of $37392D. That is indeed the CRC value that I got by compiling the source code for the 6309 SCF Level2 module.
> If you look at the source code for SCF you will see the line
> tylg set FlMgr+Objct
> and that means regardless of how H6309 is set when assembling the module, Objct will ALWAYS show 6809 code.
>
> I have to plead guilty here as I think I'm the last person to work on the SCF source code. However, I'm willing to bet that essentially the entire NitrOS-9 project has the same problem. The line probably should be
> IFNE H6309
> tylg set FlMgr+Obj6309
> ELSE
> tylg set FlMgr+Objct
> ENDC
>
> Now to Gene's point. I booted the L2 6309 disk on a 6309 system and then did
> ded OS9Boot
> l scf ie. link to SCF
> I then edited byte $06 changing it from $D1 to $D7 and then told ded
> w ie. write sector
> v ie. verify
> On rebooting, an ident of SCF gave a new CRC and 6309 obj code.
>
> So the NitrOS9 project does not have the correct values for many/most module TYLG but when changed from Objct to Obj6309, the modules are found and used if the system has a 6309 CPU.
>
> Robert
>
>
More information about the Coco
mailing list