OSDN Git Service

trying to fix some symbol clashes, and other stuff
authorJoel Matthew Rees <joel.rees@gmail.com>
Tue, 22 Jan 2019 08:19:17 +0000 (17:19 +0900)
committerJoel Matthew Rees <joel.rees@gmail.com>
Tue, 22 Jan 2019 08:19:17 +0000 (17:19 +0900)
fig6800to6809dumb.asm

index 26b3e24..b69b069 100644 (file)
@@ -5,7 +5,7 @@
 * To do: 
 * 4 IO routines -- OK?
 * adjust ram locations -- OK?
-* then add trace routines
+* then add trace routines -- OK?
 * then try in emulator
 
 * ASSEMBLY SOURCE LISTING
@@ -190,6 +190,7 @@ TRASP       RMB 2
 TRAVEC RMB 2
 TRAA   RMB 1
 TRAB   RMB 1
+FLAGON RMB 1
 *
        PAGE
 *      This system is shown with one user, but additional users
@@ -355,8 +356,8 @@ NEXT3       STX     W
        STX TRASP
        LDA #':'
        JSR PEMIT
-       LDA #' '
-       JSR PEMIT
+*      LDA #' '
+*      JSR PEMIT
        LDX W
        LEAX -1,X 
        LEAX -1,X ; allocation link
@@ -415,25 +416,37 @@ PHEX4F    JSR PEMIT
        BSR PHEXX2
        BSR PHEXX2
        LDA #' '
-       JSR PEMIT
-       RTS
+       JMP PEMIT       ; rob return
+*
 PHEXX2 LDA 0,X
        LSRA
        LSRA
        LSRA
        LSRA
-       JSR PHEXD
+       BSR PHEXD
        LDA 0,X
-       JSR PHEXD
+       BSR PHEXD
        LEAX 1,X
        RTS
+*
 PHEXD  ANDA #$0F
        CMPA #10
        BLO PHEXDH
        ADDA #7 ; 'A'-'9'+1
 PHEXDH ADDA #'0'
+       JMP PEMIT       ; rob return
+*
+DEBUGP FDB *+2
+       INC FLAGON      my version of trace
+       LDA FLAGON
        JSR PEMIT
-       RTS
+       JMP NEXT
+*
+DEBUGM FDB *+2
+       DEC FLAGON      my version of trace
+       LDA FLAGON
+       JSR PEMIT
+       JMP NEXT
 *DBG
 * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
 
@@ -809,9 +822,9 @@ EMIT        FDB     *+2
        JSR     PEMIT
        LDX     UP
        INC     XOUT+1-UORIG,X
-       BNE     *+4
+       BNE     EMITDN
        INC     XOUT-UORIG,X
-       JMP     NEXT
+EMITDN JMP     NEXT
 *
 * ======>>  14  <<
        FCB     $83
@@ -1028,6 +1041,12 @@ RPSTOR   FDB     *+2
        FCB     $D3
        FDB     RPSTOR-6
 SEMIS  FDB     *+2
+* DBG
+       LDA #-$10
+       ADDA FLAGON
+       STA FLAGON      my version of trace
+       JSR PEMIT
+*
        LDX     RP
        LEAX 1,X
        LEAX 1,X
@@ -1337,6 +1356,12 @@ DOCOL    LDX     RP      make room in the stack
        LEAX -1,X
        LEAX -1,X
        STX     RP
+* DBG
+       LDA #$10
+       ADDA FLAGON
+       STA FLAGON      my version of trace
+       JSR PEMIT
+*
        LDA     IP
        LDB     IP+1    
        STA     2,X     Store address of the high level word
@@ -1972,7 +1997,7 @@ HEX       FDB     DOCOL
        FCC     'DECIMA'        ; 'DECIMAL'
        FCB     $CC
        FDB     HEX-6
-DEC    FDB     DOCOL
+DECIM  FDB     DOCOL
        FDB     CLITER
        FCB     10      note: hex "A"
        FDB     BASE,STORE
@@ -1983,7 +2008,7 @@ DEC       FDB     DOCOL
        FCB     $87
        FCC     '(;CODE'        ; '(;CODE)'
        FCB     $A9
-       FDB     DEC-10
+       FDB     DECIM-10
 PSCODE FDB     DOCOL,FROMR,TWOP,LATEST,PFA,CFA,STORE
        FDB     SEMIS
 *
@@ -2492,9 +2517,9 @@ QUIT3     FDB     BRAN
        FCC     'ABOR'  ; 'ABORT'
        FCB     $D4
        FDB     QUIT-7
-ABORT  FDB     DOCOL,SPSTOR,DEC,QSTACK,DRZERO,CR,PDOTQ
-       FCB     8
-       FCC     "Forth-68"
+ABORT  FDB     DOCOL,SPSTOR,DECIM,QSTACK,DRZERO,CR,PDOTQ
+       FCB     15
+       FCC     "Forth-68oo-68o9"
        FDB     FORTH,DEFIN
        FDB     QUIT
 *      FDB     SEMIS   never executed
@@ -2561,12 +2586,17 @@ WARM2   LEAX -1,X
        STX     TRLIM   clear trace mode
        LDX     #0
        STX     BRKPT   clear breakpoint address
+* DBG
+       LDA #$21
+       STA FLAGON      my version of trace
+       JSR PEMIT
+*
        JMP     RPSTOR+2 start the virtual machine running !
 *
 * Here is the stuff that gets copied to ram :
 * at address $140:
 *
-RAM    FDB     $3000,$3000,0,0
+RAM    FDB     $5000,$5000,0,0
        
 * ======>>  (152)  <<
        FCB     $C5     immediate
@@ -3248,7 +3278,7 @@ QUEST     FDB     DOCOL,AT,DOT
        FCC     'LIS'   ; 'LIST'
        FCB     $D4
        FDB     QUEST-4
-LIST   FDB     DOCOL,DEC,CR,DUP,SCR,STORE,PDOTQ
+LIST   FDB     DOCOL,DECIM,CR,DUP,SCR,STORE,PDOTQ
        FCB     6
        FCC     "SCR # "
        FDB     DOT,CLITER