mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-08-06 11:25:07 +00:00
LC no longer has to be write enbaled
This commit is contained in:
@@ -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
|
;* ENTER INTO BYTECODE INTERPRETER
|
||||||
;*
|
;*
|
||||||
DINTERP BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
|
DINTERP PLA
|
||||||
BIT LCRWEN+LCBNK2
|
|
||||||
PLA
|
|
||||||
STA IPL
|
STA IPL
|
||||||
PLA
|
PLA
|
||||||
STA IPH
|
STA IPH
|
||||||
@@ -189,9 +187,7 @@ DINTERP BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
|
|||||||
LDA #>OPTBL
|
LDA #>OPTBL
|
||||||
STA OPPAGE
|
STA OPPAGE
|
||||||
JMP FETCHOP
|
JMP FETCHOP
|
||||||
IINTRP BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
|
IINTRP PLA
|
||||||
BIT LCRWEN+LCBNK2
|
|
||||||
PLA
|
|
||||||
STA TMPL
|
STA TMPL
|
||||||
PLA
|
PLA
|
||||||
STA TMPH
|
STA TMPH
|
||||||
@@ -205,9 +201,7 @@ IINTRP BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
|
|||||||
LDA #>OPTBL
|
LDA #>OPTBL
|
||||||
STA OPPAGE
|
STA OPPAGE
|
||||||
JMP FETCHOP
|
JMP FETCHOP
|
||||||
IINTRPX BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
|
IINTRPX PLA
|
||||||
BIT LCRWEN+LCBNK2
|
|
||||||
PLA
|
|
||||||
STA TMPL
|
STA TMPL
|
||||||
PLA
|
PLA
|
||||||
STA TMPH
|
STA TMPH
|
||||||
@@ -316,10 +310,12 @@ DISABLE80 !BYTE 21, 13, '1', 26, 13
|
|||||||
FAILMSG !BYTE 39
|
FAILMSG !BYTE 39
|
||||||
!TEXT "MISSING CMD. PRESS ANY KEY TO RESET..."
|
!TEXT "MISSING CMD. PRESS ANY KEY TO RESET..."
|
||||||
PAGE0 = *
|
PAGE0 = *
|
||||||
|
;******************************
|
||||||
|
;* *
|
||||||
|
;* INTERP BYTECODE INNER LOOP *
|
||||||
|
;* *
|
||||||
|
;******************************
|
||||||
!PSEUDOPC $00EF {
|
!PSEUDOPC $00EF {
|
||||||
;*
|
|
||||||
;* INTERP BYTECODE INNER LOOP
|
|
||||||
;*
|
|
||||||
INX ; DROP @ $EF
|
INX ; DROP @ $EF
|
||||||
INY ; NEXTOP @ $F0
|
INY ; NEXTOP @ $F0
|
||||||
BEQ NEXTOPH
|
BEQ NEXTOPH
|
||||||
@@ -330,10 +326,10 @@ NEXTOPH INC IPH
|
|||||||
BNE FETCHOP
|
BNE FETCHOP
|
||||||
}
|
}
|
||||||
PAGE3 = *
|
PAGE3 = *
|
||||||
!PSEUDOPC $03D0 {
|
|
||||||
;*
|
;*
|
||||||
;* PAGE 3 VECTORS INTO INTERPRETER
|
;* PAGE 3 VECTORS INTO INTERPRETER
|
||||||
;*
|
;*
|
||||||
|
!PSEUDOPC $03D0 {
|
||||||
BIT LCRDEN+LCBNK2 ; $03D0 - DIRECT INTERP ENTRY
|
BIT LCRDEN+LCBNK2 ; $03D0 - DIRECT INTERP ENTRY
|
||||||
JMP DINTERP
|
JMP DINTERP
|
||||||
BIT LCRDEN+LCBNK2 ; $03D6 - INDIRECT INTERP ENTRY
|
BIT LCRDEN+LCBNK2 ; $03D6 - INDIRECT INTERP ENTRY
|
||||||
@@ -1373,17 +1369,17 @@ IBRNCH LDA IPL
|
|||||||
;*
|
;*
|
||||||
CALL +INC_IP
|
CALL +INC_IP
|
||||||
LDA (IP),Y
|
LDA (IP),Y
|
||||||
STA CALLADR+1
|
STA TMPL
|
||||||
+INC_IP
|
+INC_IP
|
||||||
LDA (IP),Y
|
LDA (IP),Y
|
||||||
STA CALLADR+2
|
STA TMPH
|
||||||
LDA IPH
|
LDA IPH
|
||||||
PHA
|
PHA
|
||||||
LDA IPL
|
LDA IPL
|
||||||
PHA
|
PHA
|
||||||
TYA
|
TYA
|
||||||
PHA
|
PHA
|
||||||
CALLADR JSR $FFFF
|
JSR JMPTMP
|
||||||
PLA
|
PLA
|
||||||
TAY
|
TAY
|
||||||
PLA
|
PLA
|
||||||
@@ -1392,16 +1388,14 @@ CALLADR JSR $FFFF
|
|||||||
STA IPH
|
STA IPH
|
||||||
LDA #>OPTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
|
LDA #>OPTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
|
||||||
STA OPPAGE
|
STA OPPAGE
|
||||||
BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
|
|
||||||
BIT LCRWEN+LCBNK2
|
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;
|
;
|
||||||
CALLX +INC_IP
|
CALLX +INC_IP
|
||||||
LDA (IP),Y
|
LDA (IP),Y
|
||||||
STA CALXADR+1
|
STA TMPL
|
||||||
+INC_IP
|
+INC_IP
|
||||||
LDA (IP),Y
|
LDA (IP),Y
|
||||||
STA CALXADR+2
|
STA TMPH
|
||||||
LDA IPH
|
LDA IPH
|
||||||
PHA
|
PHA
|
||||||
LDA IPL
|
LDA IPL
|
||||||
@@ -1410,7 +1404,7 @@ CALLX +INC_IP
|
|||||||
PHA
|
PHA
|
||||||
STA ALTRDOFF
|
STA ALTRDOFF
|
||||||
CLI
|
CLI
|
||||||
CALXADR JSR $FFFF
|
JSR JMPTMP
|
||||||
SEI
|
SEI
|
||||||
STA ALTRDON
|
STA ALTRDON
|
||||||
PLA
|
PLA
|
||||||
@@ -1421,16 +1415,14 @@ CALXADR JSR $FFFF
|
|||||||
STA IPH
|
STA IPH
|
||||||
LDA #>OPXTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
|
LDA #>OPXTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
|
||||||
STA OPPAGE
|
STA OPPAGE
|
||||||
BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
|
|
||||||
BIT LCRWEN+LCBNK2
|
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;*
|
;*
|
||||||
;* INDIRECT CALL TO ADDRESS (NATIVE CODE)
|
;* INDIRECT CALL TO ADDRESS (NATIVE CODE)
|
||||||
;*
|
;*
|
||||||
ICAL LDA ESTKL,X
|
ICAL LDA ESTKL,X
|
||||||
STA ICALADR+1
|
STA TMPL
|
||||||
LDA ESTKH,X
|
LDA ESTKH,X
|
||||||
STA ICALADR+2
|
STA TMPH
|
||||||
INX
|
INX
|
||||||
LDA IPH
|
LDA IPH
|
||||||
PHA
|
PHA
|
||||||
@@ -1438,7 +1430,7 @@ ICAL LDA ESTKL,X
|
|||||||
PHA
|
PHA
|
||||||
TYA
|
TYA
|
||||||
PHA
|
PHA
|
||||||
ICALADR JSR $FFFF
|
JSR JMPTMP
|
||||||
PLA
|
PLA
|
||||||
TAY
|
TAY
|
||||||
PLA
|
PLA
|
||||||
@@ -1447,14 +1439,12 @@ ICALADR JSR $FFFF
|
|||||||
STA IPH
|
STA IPH
|
||||||
LDA #>OPTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
|
LDA #>OPTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
|
||||||
STA OPPAGE
|
STA OPPAGE
|
||||||
BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
|
|
||||||
BIT LCRWEN+LCBNK2
|
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;
|
;
|
||||||
ICALX LDA ESTKL,X
|
ICALX LDA ESTKL,X
|
||||||
STA ICLXADR+1
|
STA TMPL
|
||||||
LDA ESTKH,X
|
LDA ESTKH,X
|
||||||
STA ICLXADR+2
|
STA TMPH
|
||||||
INX
|
INX
|
||||||
LDA IPH
|
LDA IPH
|
||||||
PHA
|
PHA
|
||||||
@@ -1464,7 +1454,7 @@ ICALX LDA ESTKL,X
|
|||||||
PHA
|
PHA
|
||||||
STA ALTRDOFF
|
STA ALTRDOFF
|
||||||
CLI
|
CLI
|
||||||
ICLXADR JSR $FFFF
|
JSR JMPTMP
|
||||||
SEI
|
SEI
|
||||||
STA ALTRDON
|
STA ALTRDON
|
||||||
PLA
|
PLA
|
||||||
@@ -1475,10 +1465,12 @@ ICLXADR JSR $FFFF
|
|||||||
STA IPH
|
STA IPH
|
||||||
LDA #>OPXTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
|
LDA #>OPXTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
|
||||||
STA OPPAGE
|
STA OPPAGE
|
||||||
BIT LCRWEN+LCBNK2 ; WRITE ENABLE LANGUAGE CARD
|
|
||||||
BIT LCRWEN+LCBNK2
|
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;*
|
;*
|
||||||
|
;* JUMP INDIRECT TRHOUGH TMP
|
||||||
|
;*
|
||||||
|
JMPTMP JMP (TMP)
|
||||||
|
;*
|
||||||
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
||||||
;*
|
;*
|
||||||
ENTER +INC_IP
|
ENTER +INC_IP
|
||||||
|
Reference in New Issue
Block a user