[Coco] NitrOS9 and 6309 code

Robert Gault robert.gault at att.net
Sat Jun 1 22:12:43 EDT 2019


Curtis,

You are correct! My system is using Shellplus as are the nightly builds so they're vulnerable to the 
234 error.

I did a search (which is easy on a Windows system) for any command or module that contains E$NEMod 
(error 234) and it is just Shellplus and fchain.
Since fchain seems OK, I checked and found in Shellplus

L1413    cmpa  #$11
          lbne  L14D7
          leax  >u00E3,u
          stx   <u0010
          lbra  L15D7

L14A3    cmpa  #Prgrm+Objct   ML program?
          lbeq  L15D7          Yes, skip ahead
          cmpa  #Data          Is it a data module?
          bne   L14D7          No, skip ahead

* Not 6809 object code or data module either
L14D7    sty   <u000A         Save data area size
          leax  >L0013,pc      Point to alternate languages table
L14DE    tst   ,x             Is this entry active?
          lbeq  L1629          No, exit with non-existing module error

There may be other similar code. Also Shellplus has no IFNE H6309 so there is no 6309 code obvious 
spot to patch.

With a very cursory examination, it looks like L1413 and L14A3 are the locations to patch with 
checks for Obj6309 so:

L1413  cmpa #$11
        beq  L1413b
        cmpa #$17
        lbne L14D7
L1413b leax >u00E3,u

L14A3  cmpa #Prgrm+Objct
        lbeq L15D7
        cmpa #Prgrm+Obj6309
        lbeq L15D7
        cmpa #Data

Robert

L. Curtis Boyle wrote:
> As I stated earlier - I suspect Shellplus might be the culprit, as it does check to see what type of module it is, in case it needs a ???primary??? module to execute (like RUNB). I don???t think it has ever been patched to handle Obj6309.
> I will look into that later this weekend.
>
>
> L. Curtis Boyle
> curtisboyle at sasktel.net
>
><snip>


More information about the Coco mailing list