From 339955d1061a144a3bf9d4b3f44a3f6711a006a4 Mon Sep 17 00:00:00 2001 From: Joel Matthew Rees Date: Tue, 22 Jan 2019 17:19:17 +0900 Subject: [PATCH] trying to fix some symbol clashes, and other stuff --- fig6800to6809dumb.asm | 64 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 47 insertions(+), 17 deletions(-) diff --git a/fig6800to6809dumb.asm b/fig6800to6809dumb.asm index 26b3e24..b69b069 100644 --- a/fig6800to6809dumb.asm +++ b/fig6800to6809dumb.asm @@ -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 -- 2.11.0