1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2024-10-18 22:24:28 +00:00

Last of the VM opts. For now

This commit is contained in:
David Schmenk 2018-01-24 13:35:00 -08:00
parent 115c11d57b
commit c2ee0a04ab
7 changed files with 21 additions and 11 deletions

View File

@ -5,7 +5,7 @@ PLVM01 = A1PLASMA\#060280
PLVM02 = PLASMA.SYSTEM\#FF2000
PLVM802 = PLASMA16.SYSTEM\#FF2000
PLVM03 = SOS.INTERP\#050000
CMD = CMD\#FF2000
CMD = CMD\#061000
ED = ED\#FE1000
SB = SB\#FF2000
ROD = ROD\#FE1000

View File

@ -193,7 +193,6 @@ REGVALS = SRC
STY ESTKH,X
PLP
RTS
JMPTMP JMP (TMP)
end
//
// CALL LOADED SYSTEM PROGRAM

View File

@ -908,7 +908,7 @@ CALLADR JSR $FFFF
;*
;* JUMP INDIRECT TRHOUGH TMP
;*
JMPTMP JMP (TMP)
;JMPTMP JMP (TMP)
;*
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
;*

View File

@ -263,6 +263,11 @@ CMDENTRY = *
DEY
BPL -
;
; SET JMPTMP OPCODE
;
LDA #$4C
STA JMPTMP
;
; INSTALL PAGE 3 VECTORS
;
LDY #$12
@ -1428,7 +1433,7 @@ ICALX LDA ESTKL,X
;*
;* JUMP INDIRECT TRHOUGH TMP
;*
JMPTMP JMP (TMP)
;JMPTMP JMP (TMP)
;*
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
;*

View File

@ -361,6 +361,11 @@ CMDENTRY = *
DEY
BPL -
;
; SET JMPTMP OPCODE
;
LDA #$4C
STA JMPTMP
;
; INSTALL PAGE 3 VECTORS
;
LDY #$12
@ -1420,7 +1425,7 @@ EMUSTKX STA TMP
;*
;* JUMP INDIRECT THROUGH TMP
;*
JMPTMP JMP (TMP)
;JMPTMP JMP (TMP)
;*
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
;*
@ -1513,9 +1518,9 @@ LEAVEX INY ;+INC_IP
+
}
TYX ; RESTORE NEW ESP
++ LDA TMPL ; DEALLOCATE POOL + FRAME
+ACCMEM16 ; 16 BIT A/M
AND #$00FF
++ +ACCMEM16 ; 16 BIT A/M
LDY TMPL ; DEALLOCATE POOL + FRAME
TYA
CLC
ADC IFP
STA PP
@ -1528,6 +1533,7 @@ LEAVEX INY ;+INC_IP
PHA
PLP
RTS
!AL
;
RETX STX ALTRDOFF
RET SEC ; SWITCH TO EMULATION MODE

View File

@ -9,7 +9,7 @@ SRCH = SRC+1
DST = SRC+2
DSTL = DST
DSTH = DST+1
ESGUARD = $BE
ESGUARD = $BE
ESTKSZ = $20
ESTK = $C0
ESTKH = ESTK
@ -23,6 +23,7 @@ PPL = PP
PPH = PP+1
IPY = PP+2
ESP = IPY+1
TMP = ESP+1
JMPTMP = ESP+1
TMP = JMPTMP+1
TMPL = TMP
TMPH = TMP+1

View File

@ -177,7 +177,6 @@ REGVALS = SRC
STY ESTKH,X
PLP
RTS
JMPTMP JMP (TMP)
end
//
// SET MEMORY TO VALUE