[Coco] NitrOS9 and 6309 code

Robert Gault robert.gault at att.net
Sat Jun 1 17:10:48 EDT 2019


Jeff,

I can reproduce your 234 error with vu. However, that does not give a complete picture.

First I don't know if the vu program actually contains any 6309 code. If it does not, then there 
likely is some NitrOS-9 system program that does not like the incorrect 6309 identification.

To test NitrOS-9, I booted from the nos96809l2v030209coco3_80d.dsk. Then I used ded to change byte 6 
of CMDS/dump from $11 to $17. When I then tried to use Dump, I got a 234 error with a known 6809 
program incorrectly identified as 6309 in a 6809 version of NitrOS-9.

So regardless of the cpu or the actual program which is misidentified, there is a definite problem 
with NitrOS-9. It seems that fchain may be the culprit as indicated by the lines:

          cmpa   #Prgrm+Objct regular module?
          beq    L04FB       yes, go
          cmpa   #Systm+Objct system module?
          beq    L04FB
          IFNE   H6309
*--- these lines added to allow 6309 native mode modules to be executed
          cmpa   #Prgrm+Obj6309 regular module?
          beq    L04FB       yes, go
          cmpa   #Systm+Obj6309 system module?
          beq    L04FB
*---
          ENDC
          ldb    #E$NEMod    return unknown module

Since I was running a 6809 NitrOS-9, the second test set for Obj6309 was not present and the first 
test set went to "return unknown module" error 234.

As others have been saying, 234 is not the best description for this error and we need another error 
number to describe trying to run 6309 code with a 6809 operating system.

The above will not happen if you use a 6309 version of NitrOS-9. It is unlikely that any program 
will get labeled as having 6309 code when it does not have any unless the programmer is sloppy.
However, even though 234 does not not correctly explain the problem, it is better than having 
NitrOS-9 crash by trying to run 6309 code with a 6809 cpu.

Robert

Jeff Teunissen wrote:
> On Sat, Jun 1, 2019 at 7:54 AM Robert Gault <robert.gault at att.net> wrote:
>
>> I just changed byte six in gshell from $11 to $17, verified it, and started Multi-Vue. MV ran
>> correctly and there was no 234 error. I can't reproduce your error, so exactly what did you do with
>> gshell?
>
> OK, I'll try Vaughn Cato's Vu. Now, I am running the version of
> NitrOS9 that exists in the hg repository, or at least hg from
> a couple of days ago. I do _exactly_ this:
>
> copy /dd/cmds/vu /r0/vu
> cd /r0
> ded vu
> (press L, type vu at the prompt to link to the Vu module in the file)
> (change $11 to $17 at byte 6)
> W to write, V to verify, W to write again, Q to exit.
> ident vu, verify that the CRC is good and Type/Language byte says it's
> a "Prog mod, 6309 obj, re-en, R/O"
> load /r0/vu (success)
> vu
> Error #234 - Non-existent Module (I have KrnP3 in my boot)
>


More information about the Coco mailing list