[Coco] Color Forth Help Request

Arthur Flexser flexser at fiu.edu
Sat Feb 21 13:39:02 EST 2015


I'd suggest acquiring a programming tool that allows you to set breakpoints
and single step, which would have quickly turned up the location of the
error.  Perhaps VCC allows this as an option?

Art

On Sat, Feb 21, 2015 at 12:20 PM, Stephen Pereira <spereira1952 at comcast.net>
wrote:

> Art & Darren:
>
> Thank you both so very much for your attention and assistance with my
> problem!
>
> As I said in a previous note, I am a good 8080 assembly language
> programmer, but I’m a rank beginner with the 6809.  I am not surprised that
> I made this error, but I am surprised that the assembler did not catch it.
>
> I am using the EDTASM6309 that I purchased from Robert Gault.  I’ll bet
> he’ll be interested to hear about this.
>
> This would have taken me quite a bit of time to figure out on my own, to
> say the least.  I probably would have gone ahead and plugged in a 6809 back
> into my computer in order to be using one machine for all my projects,
> rather than splitting between two different machines.
>
> Thanka a million, guys!  I greatly appreciate your help with this!
>
> smp
> --
> Stephen M. Pereira
> Bedford, NH  03110
> KB1SXE
>
>
> > On Feb 20, 2015, at 8:16 PM, Darren A <mechacoco at gmail.com> wrote:
> >
> > On Fri, Feb 20, 2015 at 4:20 PM, Stephen Pereira <
> spereira1952 at comcast.net>
> > wrote:
> >
> >> Here is my code:
> >>
> >> *
> >> * BRUTE FORCE ROUTINE TO LOAD SCREENS 1 THRU 8
> >> * USING THE DECB LOADM ROUTINE
> >> * JAN 2015, SMP
> >> * ERROR CHECK & ADVICE FROM BRETT GORDON
> >> *
> >>        FCB     $84,'L,'S,'C,'R+$80
> >>        FDB     SSCR-7
> >> LSCR    FDB     *+2
> >>        PSHS    CC,A,B,DP,X,Y,U SAVE ALL JUST IN CASE
> >>        LDX     #$094C  CLEAR FILE NAME LOCATION
> >>        LDA     #32
> >> L3      STA     ,X+
> >>        CMPX    #$0954
> >>        BNE     L3
> >>        LDX     #$094C  FILE NAME LOCATION
> >> L4      JSR     $A1B1   GET KEY IN A
> >>        TFR     A,B     SAVE KEY IN B
> >>        PSHS    B,X,Y
> >>        JSR     [$A002] ECHO KEY
> >>        PULS    Y,X,B
> >>        TFR     B,A     GET KEY IN A
> >>        CMPA    #13     CR?
> >>        BEQ     NXT2    CR ENDS LOOP
> >>        STA     ,X+     STORE KEY IN FILE NAME
> >>        CMPX    #$0954  DONE IF 8 KEYS
> >>        BNE     L4
> >> NXT2    LDX     #$0954  FILE EXTENSION LOCATION
> >>        LDA     #$42    B
> >>        STA     ,X+
> >>        LDA     #$49    I
> >>        STA     ,X+
> >>        LDA     #$4E    N
> >>        STA     ,X
> >>        LDD     #$0200  FILE TYPE = 2, ASCII FLAG = 0
> >>        STD     $0957
> >>        LDX     #$0000
> >>        STX     #$00D3  OFFSET = 0
> >>        JSR     $CA07   OPEN NEXT AVAIL FILE FOR INPUT
> >>        LDD     #RET2   RETURN ADDR FOR LOADM RTS
> >>        PSHS    D
> >>        JMP     $CFE3   LOADM
> >> RET2    PULS    U,Y,X,DP,B,A,CC RESTORE ALL
> >>        JMP     NEXT    RETURN TO FORTH
> >>
> >> This code works fine on a stock CoCo 3, as well as in VCC with a 6809
> >> CPU.  It is not elegant, and I don’t think I tried any fancy stuff.
> Don’t
> >> worry about the first few lines of code - they are for linking into
> Color
> >> Forth, and that seem to be fine.
> >>
> >> As far as I can tell, this code does not initiate any disk activity when
> >> the CPU is a 6309, the machine simply goes off into never-never-land.
> >>
> >> Thanks, in advance, for whatever observations or advice you may have to
> >> offer.
> >>
> >
> >
> > The code listing above contains an illegal instruction. In particular:
> >
> >        STX     #$00D3  OFFSET = 0
> >
> > You can't use an immediate operand with STX. If that is how it actually
> > appears in your source code then it should be fixed.  I would be
> surprised
> > that an assembler accepts that without an error or warning.
> >
> > - Darren
> >
> > --
> > Coco mailing list
> > Coco at maltedmedia.com
> > https://pairlist5.pair.net/mailman/listinfo/coco
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
>


More information about the Coco mailing list