[Coco] NitrOS9 and 6309 code

Robert Gault robert.gault at att.net
Fri May 31 18:47:01 EDT 2019


Well at least Indent and krnp2 look for Obj6309.

 From krnp2.asm :
* -- Alan DeKok
*        94/10/28 - added boot debug calls
*                 - Changed code at ~L0D47 to allow F$Fork/F$Chain of Obj6309

Robert

L. Curtis Boyle wrote:
> 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