1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-03-20 03:31:27 +00:00

LC no longer has to be write enbaled

This commit is contained in:
David Schmenk 2014-06-18 16:51:35 -07:00
parent cc32fe3891
commit 5f71c1481b

View File

@ -179,9 +179,7 @@ OPTBL !WORD ZERO,ADD,SUB,MUL,DIV,MOD,INCR,DECR ; 00 02 04 06 08 0A 0C 0E
;*
;* ENTER INTO BYTECODE INTERPRETER
;*
DINTERP BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
BIT LCRWEN+LCBNK2
PLA
DINTERP PLA
STA IPL
PLA
STA IPH
@ -189,9 +187,7 @@ DINTERP BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
LDA #>OPTBL
STA OPPAGE
JMP FETCHOP
IINTRP BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
BIT LCRWEN+LCBNK2
PLA
IINTRP PLA
STA TMPL
PLA
STA TMPH
@ -205,9 +201,7 @@ IINTRP BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
LDA #>OPTBL
STA OPPAGE
JMP FETCHOP
IINTRPX BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
BIT LCRWEN+LCBNK2
PLA
IINTRPX PLA
STA TMPL
PLA
STA TMPH
@ -316,10 +310,12 @@ DISABLE80 !BYTE 21, 13, '1', 26, 13
FAILMSG !BYTE 39
!TEXT "MISSING CMD. PRESS ANY KEY TO RESET..."
PAGE0 = *
;******************************
;* *
;* INTERP BYTECODE INNER LOOP *
;* *
;******************************
!PSEUDOPC $00EF {
;*
;* INTERP BYTECODE INNER LOOP
;*
INX ; DROP @ $EF
INY ; NEXTOP @ $F0
BEQ NEXTOPH
@ -330,10 +326,10 @@ NEXTOPH INC IPH
BNE FETCHOP
}
PAGE3 = *
!PSEUDOPC $03D0 {
;*
;* PAGE 3 VECTORS INTO INTERPRETER
;*
!PSEUDOPC $03D0 {
BIT LCRDEN+LCBNK2 ; $03D0 - DIRECT INTERP ENTRY
JMP DINTERP
BIT LCRDEN+LCBNK2 ; $03D6 - INDIRECT INTERP ENTRY
@ -1373,17 +1369,17 @@ IBRNCH LDA IPL
;*
CALL +INC_IP
LDA (IP),Y
STA CALLADR+1
STA TMPL
+INC_IP
LDA (IP),Y
STA CALLADR+2
STA TMPH
LDA IPH
PHA
LDA IPL
PHA
TYA
PHA
CALLADR JSR $FFFF
JSR JMPTMP
PLA
TAY
PLA
@ -1392,16 +1388,14 @@ CALLADR JSR $FFFF
STA IPH
LDA #>OPTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
STA OPPAGE
BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
BIT LCRWEN+LCBNK2
JMP NEXTOP
;
CALLX +INC_IP
LDA (IP),Y
STA CALXADR+1
STA TMPL
+INC_IP
LDA (IP),Y
STA CALXADR+2
STA TMPH
LDA IPH
PHA
LDA IPL
@ -1410,7 +1404,7 @@ CALLX +INC_IP
PHA
STA ALTRDOFF
CLI
CALXADR JSR $FFFF
JSR JMPTMP
SEI
STA ALTRDON
PLA
@ -1421,16 +1415,14 @@ CALXADR JSR $FFFF
STA IPH
LDA #>OPXTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
STA OPPAGE
BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
BIT LCRWEN+LCBNK2
JMP NEXTOP
;*
;* INDIRECT CALL TO ADDRESS (NATIVE CODE)
;*
ICAL LDA ESTKL,X
STA ICALADR+1
STA TMPL
LDA ESTKH,X
STA ICALADR+2
STA TMPH
INX
LDA IPH
PHA
@ -1438,7 +1430,7 @@ ICAL LDA ESTKL,X
PHA
TYA
PHA
ICALADR JSR $FFFF
JSR JMPTMP
PLA
TAY
PLA
@ -1447,14 +1439,12 @@ ICALADR JSR $FFFF
STA IPH
LDA #>OPTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
STA OPPAGE
BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
BIT LCRWEN+LCBNK2
JMP NEXTOP
;
ICALX LDA ESTKL,X
STA ICLXADR+1
STA TMPL
LDA ESTKH,X
STA ICLXADR+2
STA TMPH
INX
LDA IPH
PHA
@ -1464,7 +1454,7 @@ ICALX LDA ESTKL,X
PHA
STA ALTRDOFF
CLI
ICLXADR JSR $FFFF
JSR JMPTMP
SEI
STA ALTRDON
PLA
@ -1475,10 +1465,12 @@ ICLXADR JSR $FFFF
STA IPH
LDA #>OPXTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
STA OPPAGE
BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
BIT LCRWEN+LCBNK2
JMP NEXTOP
;*
;* JUMP INDIRECT TRHOUGH TMP
;*
JMPTMP JMP (TMP)
;*
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
;*
ENTER +INC_IP