mirror of
https://github.com/dschmenk/PLASMA.git
synced 2024-08-21 06:29:07 +00:00
Give 64K machines better ENTER/LEAVE
This commit is contained in:
parent
10274bdf27
commit
222e34e229
@ -135,6 +135,21 @@ RAMDONE ;CLI UNTIL I KNOW WHAT TO DO WITH THE UNENHANCED IIE
|
||||
BEQ +
|
||||
JSR C02OPS
|
||||
;*
|
||||
;* SET 64K ENTER/LEAVE (NO NEED FOR STRING POOL)
|
||||
;*
|
||||
+ LDA MACHID
|
||||
AND #$30
|
||||
CMP #$30
|
||||
BEQ +
|
||||
LDA #<ENTER64
|
||||
STA OPTBL+$58
|
||||
LDA #>ENTER64
|
||||
STA OPTBL+$59
|
||||
LDA #<LEAVE64
|
||||
STA OPTBL+$5A
|
||||
LDA #>LEAVE64
|
||||
STA OPTBL+$5B
|
||||
;*
|
||||
;* SAVE DEFAULT COMMAND INTERPRETER PATH IN LC
|
||||
;*
|
||||
+ JSR PRODOS ; GET PREFIX
|
||||
@ -1449,6 +1464,29 @@ ICALX LDA ESTKL,X
|
||||
;*
|
||||
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
||||
;*
|
||||
ENTER64 INY
|
||||
LDA (IP),Y
|
||||
EOR #$FF
|
||||
SEC
|
||||
ADC IFPL
|
||||
STA IFPL
|
||||
BCS +
|
||||
DEC IFPH
|
||||
+ INY
|
||||
LDA (IP),Y
|
||||
BEQ +
|
||||
ASL
|
||||
TAY
|
||||
- LDA ESTKH,X
|
||||
DEY
|
||||
STA (IFP),Y
|
||||
LDA ESTKL,X
|
||||
INX
|
||||
DEY
|
||||
STA (IFP),Y
|
||||
BNE -
|
||||
+ LDY #$03
|
||||
JMP FETCHOP
|
||||
ENTER LDA IFPH
|
||||
PHA ; SAVE ON STACK FOR LEAVE
|
||||
LDA IFPL
|
||||
@ -1499,6 +1537,15 @@ RETX STA ALTRDOFF
|
||||
PHA
|
||||
PLP
|
||||
RTS
|
||||
LEAVE64 INY ;+INC_IP
|
||||
LDA (IP),Y
|
||||
CLC
|
||||
ADC IFPL
|
||||
STA IFPL
|
||||
BCS +
|
||||
RTS
|
||||
+ INC IFPH
|
||||
RTS
|
||||
LEAVE INY ;+INC_IP
|
||||
LDA (IP),Y
|
||||
CLC
|
||||
|
Loading…
Reference in New Issue
Block a user