mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-02-02 01:30:34 +00:00
Merge branch 'master' of https://github.com/dschmenk/PLASMA
This commit is contained in:
commit
634653bd47
@ -891,19 +891,19 @@ CALL +INC_IP
|
|||||||
+INC_IP
|
+INC_IP
|
||||||
LDA (IP),Y
|
LDA (IP),Y
|
||||||
STA CALLADR+2
|
STA CALLADR+2
|
||||||
LDA IPH
|
|
||||||
PHA
|
|
||||||
LDA IPL
|
|
||||||
PHA
|
|
||||||
TYA
|
TYA
|
||||||
|
CLC
|
||||||
|
ADC IPL
|
||||||
|
PHA
|
||||||
|
LDA IPH
|
||||||
|
ADC #$00
|
||||||
PHA
|
PHA
|
||||||
CALLADR JSR $FFFF
|
CALLADR JSR $FFFF
|
||||||
PLA
|
PLA
|
||||||
TAY
|
STA IPH
|
||||||
PLA
|
PLA
|
||||||
STA IPL
|
STA IPL
|
||||||
PLA
|
LDY #$00
|
||||||
STA IPH
|
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;*
|
;*
|
||||||
;* INDIRECT CALL TO ADDRESS (NATIVE CODE)
|
;* INDIRECT CALL TO ADDRESS (NATIVE CODE)
|
||||||
@ -913,19 +913,19 @@ ICAL LDA ESTKL,X
|
|||||||
LDA ESTKH,X
|
LDA ESTKH,X
|
||||||
STA ICALADR+2
|
STA ICALADR+2
|
||||||
INX
|
INX
|
||||||
LDA IPH
|
|
||||||
PHA
|
|
||||||
LDA IPL
|
|
||||||
PHA
|
|
||||||
TYA
|
TYA
|
||||||
|
CLC
|
||||||
|
ADC IPL
|
||||||
|
PHA
|
||||||
|
LDA IPH
|
||||||
|
ADC #$00
|
||||||
PHA
|
PHA
|
||||||
ICALADR JSR $FFFF
|
ICALADR JSR $FFFF
|
||||||
PLA
|
PLA
|
||||||
TAY
|
STA IPH
|
||||||
PLA
|
PLA
|
||||||
STA IPL
|
STA IPL
|
||||||
PLA
|
LDY #$00
|
||||||
STA IPH
|
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;*
|
;*
|
||||||
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
||||||
@ -941,9 +941,9 @@ ENTER INY
|
|||||||
DEC IFPH
|
DEC IFPH
|
||||||
+ INY
|
+ INY
|
||||||
LDA (IP),Y
|
LDA (IP),Y
|
||||||
|
BEQ +
|
||||||
ASL
|
ASL
|
||||||
TAY
|
TAY
|
||||||
BEQ +
|
|
||||||
- LDA ESTKH,X
|
- LDA ESTKH,X
|
||||||
DEY
|
DEY
|
||||||
STA (IFP),Y
|
STA (IFP),Y
|
||||||
|
@ -1429,25 +1429,25 @@ CALL +INC_IP
|
|||||||
+INC_IP
|
+INC_IP
|
||||||
LDA (IP),Y
|
LDA (IP),Y
|
||||||
STA TMPH
|
STA TMPH
|
||||||
|
TYA
|
||||||
|
CLC
|
||||||
|
ADC IPL
|
||||||
|
PHA
|
||||||
LDA IPH
|
LDA IPH
|
||||||
PHA
|
ADC #$00
|
||||||
LDA IPL
|
|
||||||
PHA
|
|
||||||
TYA
|
|
||||||
PHA
|
PHA
|
||||||
JSR JMPTMP
|
JSR JMPTMP
|
||||||
PLA
|
PLA
|
||||||
TAY
|
STA IPH
|
||||||
PLA
|
PLA
|
||||||
STA IPL
|
STA IPL
|
||||||
PLA
|
|
||||||
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
|
||||||
!IF SELFMODIFY {
|
!IF SELFMODIFY {
|
||||||
BIT LCRWEN+LCBNK2
|
BIT LCRWEN+LCBNK2
|
||||||
BIT LCRWEN+LCBNK2
|
BIT LCRWEN+LCBNK2
|
||||||
}
|
}
|
||||||
|
LDY #$00
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;
|
;
|
||||||
CALLX +INC_IP
|
CALLX +INC_IP
|
||||||
@ -1456,29 +1456,29 @@ CALLX +INC_IP
|
|||||||
+INC_IP
|
+INC_IP
|
||||||
LDA (IP),Y
|
LDA (IP),Y
|
||||||
STA TMPH
|
STA TMPH
|
||||||
|
TYA
|
||||||
|
CLC
|
||||||
|
ADC IPL
|
||||||
|
PHA
|
||||||
LDA IPH
|
LDA IPH
|
||||||
PHA
|
ADC #$00
|
||||||
LDA IPL
|
|
||||||
PHA
|
|
||||||
TYA
|
|
||||||
PHA
|
PHA
|
||||||
STA ALTRDOFF
|
STA ALTRDOFF
|
||||||
;CLI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
;CLI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
||||||
JSR JMPTMP
|
JSR JMPTMP
|
||||||
;SEI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
;SEI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
||||||
STA ALTRDON
|
STA ALTRDON
|
||||||
PLA
|
PLA
|
||||||
TAY
|
STA IPH
|
||||||
PLA
|
PLA
|
||||||
STA IPL
|
STA IPL
|
||||||
PLA
|
|
||||||
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
|
||||||
!IF SELFMODIFY {
|
!IF SELFMODIFY {
|
||||||
BIT LCRWEN+LCBNK2
|
BIT LCRWEN+LCBNK2
|
||||||
BIT LCRWEN+LCBNK2
|
BIT LCRWEN+LCBNK2
|
||||||
}
|
}
|
||||||
|
LDY #$00
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;*
|
;*
|
||||||
;* INDIRECT CALL TO ADDRESS (NATIVE CODE)
|
;* INDIRECT CALL TO ADDRESS (NATIVE CODE)
|
||||||
@ -1488,25 +1488,25 @@ ICAL LDA ESTKL,X
|
|||||||
LDA ESTKH,X
|
LDA ESTKH,X
|
||||||
STA TMPH
|
STA TMPH
|
||||||
INX
|
INX
|
||||||
|
TYA
|
||||||
|
CLC
|
||||||
|
ADC IPL
|
||||||
|
PHA
|
||||||
LDA IPH
|
LDA IPH
|
||||||
PHA
|
ADC #$00
|
||||||
LDA IPL
|
|
||||||
PHA
|
|
||||||
TYA
|
|
||||||
PHA
|
PHA
|
||||||
JSR JMPTMP
|
JSR JMPTMP
|
||||||
PLA
|
PLA
|
||||||
TAY
|
STA IPH
|
||||||
PLA
|
PLA
|
||||||
STA IPL
|
STA IPL
|
||||||
PLA
|
|
||||||
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
|
||||||
!IF SELFMODIFY {
|
!IF SELFMODIFY {
|
||||||
BIT LCRWEN+LCBNK2
|
BIT LCRWEN+LCBNK2
|
||||||
BIT LCRWEN+LCBNK2
|
BIT LCRWEN+LCBNK2
|
||||||
}
|
}
|
||||||
|
LDY #$00
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;
|
;
|
||||||
ICALX LDA ESTKL,X
|
ICALX LDA ESTKL,X
|
||||||
@ -1514,11 +1514,12 @@ ICALX LDA ESTKL,X
|
|||||||
LDA ESTKH,X
|
LDA ESTKH,X
|
||||||
STA TMPH
|
STA TMPH
|
||||||
INX
|
INX
|
||||||
|
TYA
|
||||||
|
CLC
|
||||||
|
ADC IPL
|
||||||
|
PHA
|
||||||
LDA IPH
|
LDA IPH
|
||||||
PHA
|
ADC #$00
|
||||||
LDA IPL
|
|
||||||
PHA
|
|
||||||
TYA
|
|
||||||
PHA
|
PHA
|
||||||
STA ALTRDOFF
|
STA ALTRDOFF
|
||||||
;CLI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
;CLI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
||||||
@ -1526,17 +1527,16 @@ ICALX LDA ESTKL,X
|
|||||||
;SEI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
;SEI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
||||||
STA ALTRDON
|
STA ALTRDON
|
||||||
PLA
|
PLA
|
||||||
TAY
|
STA IPH
|
||||||
PLA
|
PLA
|
||||||
STA IPL
|
STA IPL
|
||||||
PLA
|
|
||||||
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
|
||||||
!IF SELFMODIFY {
|
!IF SELFMODIFY {
|
||||||
BIT LCRWEN+LCBNK2
|
BIT LCRWEN+LCBNK2
|
||||||
BIT LCRWEN+LCBNK2
|
BIT LCRWEN+LCBNK2
|
||||||
}
|
}
|
||||||
|
LDY #$00
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;*
|
;*
|
||||||
;* JUMP INDIRECT TRHOUGH TMP
|
;* JUMP INDIRECT TRHOUGH TMP
|
||||||
@ -1559,9 +1559,9 @@ ENTER INY
|
|||||||
STA IFPH
|
STA IFPH
|
||||||
INY
|
INY
|
||||||
LDA (IP),Y
|
LDA (IP),Y
|
||||||
|
BEQ +
|
||||||
ASL
|
ASL
|
||||||
TAY
|
TAY
|
||||||
BEQ +
|
|
||||||
- LDA ESTKH,X
|
- LDA ESTKH,X
|
||||||
DEY
|
DEY
|
||||||
STA (IFP),Y
|
STA (IFP),Y
|
||||||
|
@ -1048,23 +1048,23 @@ CALL +INC_IP
|
|||||||
+INC_IP
|
+INC_IP
|
||||||
LDA (IP),Y
|
LDA (IP),Y
|
||||||
STA CALLADR+2
|
STA CALLADR+2
|
||||||
LDA IPX
|
TYA
|
||||||
|
CLC
|
||||||
|
ADC IPL
|
||||||
PHA
|
PHA
|
||||||
LDA IPH
|
LDA IPH
|
||||||
|
ADC #$00
|
||||||
PHA
|
PHA
|
||||||
LDA IPL
|
LDA IPX
|
||||||
PHA
|
|
||||||
TYA
|
|
||||||
PHA
|
PHA
|
||||||
CALLADR JSR $FFFF
|
CALLADR JSR $FFFF
|
||||||
PLA
|
PLA
|
||||||
TAY
|
STA IPX
|
||||||
PLA
|
|
||||||
STA IPL
|
|
||||||
PLA
|
PLA
|
||||||
STA IPH
|
STA IPH
|
||||||
PLA
|
PLA
|
||||||
STA IPX
|
STA IPL
|
||||||
|
LDY #$00
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;*
|
;*
|
||||||
;* INDIRECT CALL TO ADDRESS (NATIVE CODE)
|
;* INDIRECT CALL TO ADDRESS (NATIVE CODE)
|
||||||
@ -1074,23 +1074,23 @@ ICAL LDA ESTKL,X
|
|||||||
LDA ESTKH,X
|
LDA ESTKH,X
|
||||||
STA ICALADR+2
|
STA ICALADR+2
|
||||||
INX
|
INX
|
||||||
LDA IPX
|
TYA
|
||||||
|
CLC
|
||||||
|
ADC IPL
|
||||||
PHA
|
PHA
|
||||||
LDA IPH
|
LDA IPH
|
||||||
|
ADC #$00
|
||||||
PHA
|
PHA
|
||||||
LDA IPL
|
LDA IPX
|
||||||
PHA
|
|
||||||
TYA
|
|
||||||
PHA
|
PHA
|
||||||
ICALADR JSR $FFFF
|
ICALADR JSR $FFFF
|
||||||
PLA
|
PLA
|
||||||
TAY
|
STA IPX
|
||||||
PLA
|
|
||||||
STA IPL
|
|
||||||
PLA
|
PLA
|
||||||
STA IPH
|
STA IPH
|
||||||
PLA
|
PLA
|
||||||
STA IPX
|
STA IPL
|
||||||
|
LDY #$00
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;*
|
;*
|
||||||
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
||||||
@ -1109,9 +1109,9 @@ ENTER INY
|
|||||||
STA IFPH
|
STA IFPH
|
||||||
INY
|
INY
|
||||||
LDA (IP),Y
|
LDA (IP),Y
|
||||||
|
BEQ +
|
||||||
ASL
|
ASL
|
||||||
TAY
|
TAY
|
||||||
BEQ +
|
|
||||||
- LDA ESTKH,X
|
- LDA ESTKH,X
|
||||||
DEY
|
DEY
|
||||||
STA (IFP),Y
|
STA (IFP),Y
|
||||||
|
@ -1113,118 +1113,133 @@ CALL +INC_IP
|
|||||||
LDA (IP16),Y
|
LDA (IP16),Y
|
||||||
STA TMP
|
STA TMP
|
||||||
+INC_IP
|
+INC_IP
|
||||||
EMUSTK STY IPY
|
EMUSTK SEC ; SWITCH TO EMULATED MODE
|
||||||
SEC ; SWITCH TO EMULATED MODE
|
|
||||||
XCE
|
XCE
|
||||||
!AS
|
!AS
|
||||||
TSX ; COPY HW EVAL STACK TO ZP EVAL STACK
|
STY IPY
|
||||||
TXA
|
TSC ; MOVE HW EVAL STACK TO ZP EVAL STACK
|
||||||
|
EOR #$FF
|
||||||
SEC
|
SEC
|
||||||
SBC HWSP
|
ADC HWSP ; STACK DEPTH = (HWSP - SP)/2
|
||||||
LSR
|
LSR
|
||||||
LDX ESP
|
EOR #$FF
|
||||||
|
SEC
|
||||||
|
ADC ESP ; ESP - STACK DEPTH
|
||||||
TAY
|
TAY
|
||||||
BEQ +
|
TAX
|
||||||
- DEX
|
BRA +
|
||||||
PLA
|
- PLA
|
||||||
STA ESTKL,X
|
STA ESTKL,X
|
||||||
PLA
|
PLA
|
||||||
STA ESTKH,X
|
STA ESTKH,X
|
||||||
DEY
|
INX
|
||||||
|
+ CPX ESP
|
||||||
BNE -
|
BNE -
|
||||||
+ LDA IP16H
|
|
||||||
PHA
|
|
||||||
LDA IP16L
|
|
||||||
PHA
|
|
||||||
LDA IPY
|
LDA IPY
|
||||||
|
CLC
|
||||||
|
ADC IP16L
|
||||||
|
PHA
|
||||||
|
LDA IP16H
|
||||||
|
ADC #$00
|
||||||
PHA
|
PHA
|
||||||
PHX
|
PHX
|
||||||
|
TYX
|
||||||
JSR JMPTMP
|
JSR JMPTMP
|
||||||
PLY ; COPY RETURN VALUES TO HW EVAL STACK
|
PLY ; MOVE RETURN VALUES TO HW EVAL STACK
|
||||||
STY ESP
|
STY ESP
|
||||||
PLY
|
|
||||||
PLA
|
|
||||||
STA IP16L
|
|
||||||
PLA
|
PLA
|
||||||
STA IP16H
|
STA IP16H
|
||||||
CPX ESP
|
PLA
|
||||||
BEQ +
|
STA IP16L
|
||||||
- LDA ESTKH,X
|
STX TMPL
|
||||||
|
TYX
|
||||||
|
BRA +
|
||||||
|
- DEX
|
||||||
|
LDA ESTKH,X
|
||||||
PHA
|
PHA
|
||||||
LDA ESTKL,X
|
LDA ESTKL,X
|
||||||
PHA
|
PHA
|
||||||
INX
|
+ CPX TMPL
|
||||||
CPX ESP
|
|
||||||
BNE -
|
BNE -
|
||||||
+ CLC ; SWITCH BACK TO NATIVE MODE
|
CLC ; SWITCH BACK TO NATIVE MODE
|
||||||
XCE
|
XCE
|
||||||
REP #$20 ; 16 BIT A/M
|
REP #$20 ; 16 BIT A/M
|
||||||
SEP #$10 ; 8 BIT X,Y
|
SEP #$10 ; 8 BIT X,Y
|
||||||
!AL
|
!AL
|
||||||
|
TSX
|
||||||
|
STX HWSP
|
||||||
LDX #>OPTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
|
LDX #>OPTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
|
||||||
STX OP16PAGE
|
STX OP16PAGE
|
||||||
|
LDY #$00
|
||||||
JMP NEXTOP16
|
JMP NEXTOP16
|
||||||
;
|
;
|
||||||
CALLX +INC_IP
|
CALLX +INC_IP
|
||||||
LDA (IP16),Y
|
LDA (IP16),Y
|
||||||
STA TMP
|
STA TMP
|
||||||
+INC_IP
|
+INC_IP
|
||||||
EMUSTKX STY IPY
|
EMUSTKX SEC ; SWITCH TO EMULATED MODE
|
||||||
SEC ; SWITCH TO EMULATED MODE
|
|
||||||
XCE
|
XCE
|
||||||
!AS
|
!AS
|
||||||
TSX ; COPY HW EVAL STACK TO ZP EVAL STACK
|
STY IPY
|
||||||
TXA
|
TSC ; MOVE HW EVAL STACK TO ZP EVAL STACK
|
||||||
|
EOR #$FF
|
||||||
SEC
|
SEC
|
||||||
SBC HWSP
|
ADC HWSP ; STACK DEPTH = (HWSP - SP)/2
|
||||||
LSR
|
LSR
|
||||||
LDX ESP
|
EOR #$FF
|
||||||
|
SEC
|
||||||
|
ADC ESP ; ESP - STACK DEPTH
|
||||||
TAY
|
TAY
|
||||||
BEQ +
|
TAX
|
||||||
- DEX
|
BRA +
|
||||||
PLA
|
- PLA
|
||||||
STA ESTKL,X
|
STA ESTKL,X
|
||||||
PLA
|
PLA
|
||||||
STA ESTKH,X
|
STA ESTKH,X
|
||||||
DEY
|
INX
|
||||||
|
+ CPX ESP
|
||||||
BNE -
|
BNE -
|
||||||
+ LDA IP16H
|
|
||||||
PHA
|
|
||||||
LDA IP16L
|
|
||||||
PHA
|
|
||||||
LDA IPY
|
LDA IPY
|
||||||
|
CLC
|
||||||
|
ADC IP16L
|
||||||
|
PHA
|
||||||
|
LDA IP16H
|
||||||
|
ADC #$00
|
||||||
PHA
|
PHA
|
||||||
PHX
|
PHX
|
||||||
|
TYX
|
||||||
STX ALTRDOFF
|
STX ALTRDOFF
|
||||||
;CLI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
;CLI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
||||||
JSR JMPTMP
|
JSR JMPTMP
|
||||||
;SEI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
;SEI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
||||||
STX ALTRDON
|
STX ALTRDON
|
||||||
PLY ; COPY RETURN VALUES TO HW EVAL STACK
|
PLY ; MOVE RETURN VALUES TO HW EVAL STACK
|
||||||
STY ESP
|
STY ESP
|
||||||
PLY
|
|
||||||
PLA
|
|
||||||
STA IP16L
|
|
||||||
PLA
|
PLA
|
||||||
STA IP16H
|
STA IP16H
|
||||||
CPX ESP
|
PLA
|
||||||
BEQ +
|
STA IP16L
|
||||||
- LDA ESTKH,X
|
STX TMPL
|
||||||
|
TYX
|
||||||
|
BRA +
|
||||||
|
- DEX
|
||||||
|
LDA ESTKH,X
|
||||||
PHA
|
PHA
|
||||||
LDA ESTKL,X
|
LDA ESTKL,X
|
||||||
PHA
|
PHA
|
||||||
INX
|
+ CPX TMPL
|
||||||
CPX ESP
|
|
||||||
BNE -
|
BNE -
|
||||||
+ CLC ; SWITCH BACK TO NATIVE MODE
|
CLC ; SWITCH BACK TO NATIVE MODE
|
||||||
XCE
|
XCE
|
||||||
REP #$20 ; 16 BIT A/M
|
REP #$20 ; 16 BIT A/M
|
||||||
SEP #$10 ; 8 BIT X,Y
|
SEP #$10 ; 8 BIT X,Y
|
||||||
!AL
|
!AL
|
||||||
|
TSX
|
||||||
|
STX HWSP
|
||||||
LDX #>OPXTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
|
LDX #>OPXTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
|
||||||
STX OP16PAGE
|
STX OP16PAGE
|
||||||
|
LDY #$00
|
||||||
JMP NEXTOP16
|
JMP NEXTOP16
|
||||||
|
|
||||||
;*
|
;*
|
||||||
;* INDIRECT CALL TO ADDRESS (NATIVE CODE)
|
;* INDIRECT CALL TO ADDRESS (NATIVE CODE)
|
||||||
;*
|
;*
|
||||||
@ -1259,10 +1274,10 @@ ENTER INY
|
|||||||
!AS
|
!AS
|
||||||
INY
|
INY
|
||||||
LDA (IP16),Y
|
LDA (IP16),Y
|
||||||
|
BEQ +
|
||||||
ASL
|
ASL
|
||||||
TAY
|
TAY
|
||||||
BEQ +
|
LDX ESP ; MOVE PARAMETERS TO CALL FRAME
|
||||||
LDX ESP
|
|
||||||
- LDA ESTKH,X
|
- LDA ESTKH,X
|
||||||
DEY
|
DEY
|
||||||
STA (IFP),Y
|
STA (IFP),Y
|
||||||
@ -1283,22 +1298,25 @@ LEAVEX STX ALTRDOFF
|
|||||||
;CLI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
;CLI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
||||||
LEAVE SEP #$20 ; 8 BIT A/M
|
LEAVE SEP #$20 ; 8 BIT A/M
|
||||||
!AS
|
!AS
|
||||||
TSX ; COPY HW EVAL STACK TO ZP EVAL STACK
|
TSC ; MOVE HW EVAL STACK TO ZP EVAL STACK
|
||||||
TXA
|
EOR #$FF
|
||||||
LDX ESP
|
|
||||||
SEC
|
SEC
|
||||||
SBC HWSP
|
ADC HWSP ; STACK DEPTH = (HWSP - SP)/2
|
||||||
LSR
|
LSR
|
||||||
BEQ +
|
EOR #$FF
|
||||||
|
SEC
|
||||||
|
ADC ESP ; ESP - STACK DEPTH
|
||||||
TAY
|
TAY
|
||||||
- DEX
|
TAX
|
||||||
PLA
|
BRA +
|
||||||
|
- PLA
|
||||||
STA ESTKL,X
|
STA ESTKL,X
|
||||||
PLA
|
PLA
|
||||||
STA ESTKH,X
|
STA ESTKH,X
|
||||||
DEY
|
INX
|
||||||
|
+ CPX ESP
|
||||||
BNE -
|
BNE -
|
||||||
+ PLA ; DEALLOCATE POOL + FRAME
|
PLA ; DEALLOCATE POOL + FRAME
|
||||||
REP #$20 ; 16 BIT A/M
|
REP #$20 ; 16 BIT A/M
|
||||||
!AL
|
!AL
|
||||||
AND #$00FF
|
AND #$00FF
|
||||||
@ -1315,22 +1333,25 @@ RETX STX ALTRDOFF
|
|||||||
;CLI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
;CLI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
||||||
RET SEP #$20 ; 8 BIT A/M
|
RET SEP #$20 ; 8 BIT A/M
|
||||||
!AS
|
!AS
|
||||||
TSX ; COPY HW EVAL STACK TO ZP EVAL STACK
|
TSC ; MOVE HW EVAL STACK TO ZP EVAL STACK
|
||||||
TXA
|
EOR #$FF
|
||||||
LDX ESP
|
|
||||||
SEC
|
SEC
|
||||||
SBC HWSP
|
ADC HWSP ; STACK DEPTH = (HWSP - SP)/2
|
||||||
LSR
|
LSR
|
||||||
BEQ +
|
EOR #$FF
|
||||||
|
SEC
|
||||||
|
ADC ESP ; ESP - STACK DEPTH
|
||||||
TAY
|
TAY
|
||||||
- DEX
|
TAX
|
||||||
PLA
|
BRA +
|
||||||
|
- PLA
|
||||||
STA ESTKL,X
|
STA ESTKL,X
|
||||||
PLA
|
PLA
|
||||||
STA ESTKH,X
|
STA ESTKH,X
|
||||||
DEY
|
INX
|
||||||
|
+ CPX ESP
|
||||||
BNE -
|
BNE -
|
||||||
+ REP #$20 ; 16 BIT A/M
|
REP #$20 ; 16 BIT A/M
|
||||||
!AL
|
!AL
|
||||||
LDA IFP ; DEALLOCATE POOL
|
LDA IFP ; DEALLOCATE POOL
|
||||||
STA PP
|
STA PP
|
||||||
|
Loading…
x
Reference in New Issue
Block a user