Set page 3 vectors and page 0 interp loop in 'BYE' processing

This commit is contained in:
David Schmenk 2014-06-15 23:24:16 -07:00
parent fdac1a5f2a
commit 1a3da88597

View File

@ -43,6 +43,7 @@ NEXTOP = $F0
OPIDX = NEXTOP+8
OPPAGE = OPIDX+1
STRBUF = $0280
INTERP = $03D0
;*
;* INTERPRETER INSTRUCTION POINTER INCREMENT MACRO
;*
@ -93,14 +94,6 @@ RAMEXIT LDA NODEV
DEC DEVCNT
RAMDONE CLI
;*
;* INSTALL PAGE 3 VECTORS
;*
LDY #$1F
- LDA PAGE3,Y
STA $03D0,Y
DEY
BPL -
;*
;* MOVE VM INTO LANGUAGE CARD
;*
BIT LCRWEN+LCBNK2
@ -165,20 +158,6 @@ RAMDONE CLI
JMP CMDEXEC
GETPFXPARMS !BYTE 1
!WORD STRBUF ; PATH STRING GOES HERE
PAGE3 = *
!PSEUDOPC $03D0 {
;*
;* PAGE 3 VECTORS INTO INTERPRETER
;*
INTERP BIT LCRDEN+LCBNK2 ; $03D0 - DIRECT INTERP ENTRY
JMP DINTERP
BIT LCRDEN+LCBNK2 ; $03D6 - INDIRECT INTERP ENTRY
JMP IINTRP
BIT LCRDEN+LCBNK2 ; $03DC - INDIRECT INTERPX ENTRY
JMP IINTRPX
TMRVEC !WORD TMRRTS
TMRRTS RTS
}
;************************************************
;* *
;* LANGUAGE CARD RESIDENT PLASMA VM STARTS HERE *
@ -283,6 +262,14 @@ CMDEXEC = *
DEY
BPL -
;
; INSTALL PAGE 3 VECTORS
;
LDY #$11
- LDA PAGE3,Y
STA INTERP,Y
DEY
BPL -
;
; READ CMD INTO MEMORY
;
JSR PRODOS ; CLOSE EVERYTHING
@ -334,7 +321,7 @@ FAILMSG !BYTE 39
PAGE0 = *
!PSEUDOPC $00F0 {
;*
;* INTERP BYTECODE
;* INTERP BYTECODE INNER LOOP
;*
INY
BEQ NEXTOPH
@ -344,10 +331,22 @@ FETCHOP LDA (IP),Y
NEXTOPH INC IPH
BNE FETCHOP
}
DEFCMD !FILL 63
PAGE3 = *
!PSEUDOPC $03D0 {
;*
;* PAGE 3 VECTORS INTO INTERPRETER
;*
BIT LCRDEN+LCBNK2 ; $03D0 - DIRECT INTERP ENTRY
JMP DINTERP
BIT LCRDEN+LCBNK2 ; $03D6 - INDIRECT INTERP ENTRY
JMP IINTRP
BIT LCRDEN+LCBNK2 ; $03DC - INDIRECT INTERPX ENTRY
JMP IINTRPX
}
DEFCMD !FILL 33
ENDBYE = *
}
LCDEFCMD = *-63 ; DEFCMD IN LC MEMORY
LCDEFCMD = *-33 ; DEFCMD IN LC MEMORY
;*****************
;* *
;* OPXCODE TABLE *