[Coco] Modifying Level1/coco1 for 6309 native mode

Bill Nobel b_nobel at hotmail.com
Fri Feb 14 12:56:03 EST 2014


You are on the right path Robert,  When Curt and I started the project I had to reverse engineer everything.  The defs files I modified for the 6309 register layout and other things we added.  I encased them into ifdef, else etc for the reassembly.  I basically added the Def reference to the code and reassembled it to make sure the module CRC was the same as the original.  Once that was done I concentrated on the conversion to 6309.

  It was a process to get the boot files converted. The hardest was the initial REL, BOOT and OS9P1 to convert to 6309 and make it fit in the boot track

-Bill

On Feb 14, 2014, at 10:54 AM, L. Curtis Boyle <curtisboyle at sasktel.net> wrote:

> This is exactly what Bill and I did to make NitrOS9 in the first place. :-)
> (To be honest, this earliest stage was much more Bill than me).
> 
> L. Curtis Boyle
> curtisboyle at sasktel.net
> 
> 
> 
> On Feb 14, 2014, at 10:47 AM, Robert Gault <robert.gault at att.net> wrote:
> 
>> Made some progress with a native 6309 code for the coco1. I can now get as far as a time entry request from setime. The screen waits for a key press and crashes on the first one.
>> 
>> To get this far, you need to edit rbf.asm looking for all the ,u entries. These will need to be compared to level2/rbf.asm and all pertinent entries changed to R$reg,u.
>> 
>> shortly after L02E9  change stx $06,u to stx R$X,u
>> 
>> Seek     ldb   $0A,y
>>        bitb  #$02
>>        beq   L037B
>>        lda   R$X+1,u        $05,u
>>        ldb   R$U,u          $08,u
>>        subd  $0C,y
>>        bne   L0376
>>        lda   R$X,u          $04,u
>>        sbca  $0B,y
>>        beq   L037F
>> L0376    lbsr  L0D72
>>        bcs   L0383
>> L037B    ldd   R$X,u         $04,u
>>        std   $0B,y
>> L037F    ldd   R$U,u         $08,u
>>        std   $0D,y
>> L0383    rts
>> 
>> L03BA    ldu   $06,y
>>        ldd   R$Y,u         $06,u
>>        subd  $02,s
>>        std   R$Y,u         $06,u
>>        bra   L040E
>> L03C4    ldd   R$Y,u         $06,u
>>        bsr   L03CD
>>        bcs   L03F1
>>        std   R$Y,u         $06,u
>>        rts
>> 
>> L0414    ldd   R$X,u         $04,u
>>        ldx   R$Y,u         $06,u
>> 
>> WriteLn  pshs  y
>>        clrb
>>        ldy   R$Y,u         $06,u
>>        beq   L0498
>>        ldx   R$X,u         $04,u
>> L0484    leay  -$01,y
>>        beq   L0498
>>        lda   ,x+
>>        cmpa  #$0D
>>        bne   L0484
>>        tfr   y,d
>>        nega
>>        negb
>>        sbca  #$00
>>        addd  R$Y,u        $06,u
>>        std   R$Y,u        $06,u
>> L0498    puls  y
>> 
>> Write    ldd   R$Y,u        $06,u
>> 
>> GetStat  ldb   R$B,u           $02,u
>>        cmpb  #SS.Opt
>>        beq   L0543
>>        cmpb  #$06
>>        bne   L052F
>>        clr   R$B,u           $02,u
>> L0529    clra
>>        ldb   #$01
>>        lbra  L03CD
>> L052F    cmpb  #SS.Ready
>>        bne   L0536
>>        clr   R$B,u           $02,u
>>        rts
>> L0536    cmpb  #SS.Size
>>        bne   L0544
>>        ldd   $0F,y
>>        std   R$X,u           $04,u
>>        ldd   <$11,y
>>        std   R$U,u           $08,u
>> L0543    rts
>> L0544    cmpb  #SS.Pos
>>        bne   L0551
>>        ldd   $0B,y
>>        std   R$X,u          $04,u
>>        ldd   $0D,y
>>        std   R$U,u          $08,u
>> Gst5FF   rts
>> L0551    cmpb  #SS.FD
>>        bne   SSFDInf
>>        lbsr  L0CD4
>>        bcs   L0543
>>        ldu   $06,y
>>        ldd   R$Y,u          was $06,u
>>        tsta
>>        beq   L0564
>>        ldd   #$0100
>> L0564    ldx   R$X,u          was $04,u
>> 
>> shortly after L05C6
>>        ldx   R$X,u          was $04,u
>> 
>> shortly after L0604
>>        lda   R$X+1,u        was $05,u
>> 
>> 
>> It is safe to say that there will be more level1 code which was disassembled without conversion to the R$reg format. When going from 6809 to native 6309 code, the register stack changes and all $nm,u type code referring to registers can fail.
>> 
>> Robert
>> 
>> 
>> 
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> http://five.pairlist.net/mailman/listinfo/coco
>> 
> 
> 
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
> 




More information about the Coco mailing list