diff --git a/src/makefile b/src/makefile index 787ac0e..fc46ea8 100755 --- a/src/makefile +++ b/src/makefile @@ -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 diff --git a/src/vmsrc/cmd.pla b/src/vmsrc/cmd.pla index 5265b72..76c6e58 100755 --- a/src/vmsrc/cmd.pla +++ b/src/vmsrc/cmd.pla @@ -193,7 +193,6 @@ REGVALS = SRC STY ESTKH,X PLP RTS -JMPTMP JMP (TMP) end // // CALL LOADED SYSTEM PROGRAM diff --git a/src/vmsrc/plvm01.s b/src/vmsrc/plvm01.s index 6faf1e1..9023221 100644 --- a/src/vmsrc/plvm01.s +++ b/src/vmsrc/plvm01.s @@ -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 ;* diff --git a/src/vmsrc/plvm02.s b/src/vmsrc/plvm02.s index 3951b7a..ee3c912 100755 --- a/src/vmsrc/plvm02.s +++ b/src/vmsrc/plvm02.s @@ -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 ;* diff --git a/src/vmsrc/plvm802.s b/src/vmsrc/plvm802.s index 5e37e75..c1d10a7 100644 --- a/src/vmsrc/plvm802.s +++ b/src/vmsrc/plvm802.s @@ -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 diff --git a/src/vmsrc/plvmzp.inc b/src/vmsrc/plvmzp.inc index e87f327..9517eeb 100755 --- a/src/vmsrc/plvmzp.inc +++ b/src/vmsrc/plvmzp.inc @@ -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 diff --git a/src/vmsrc/soscmd.pla b/src/vmsrc/soscmd.pla index 2a9d18a..1beed56 100755 --- a/src/vmsrc/soscmd.pla +++ b/src/vmsrc/soscmd.pla @@ -177,7 +177,6 @@ REGVALS = SRC STY ESTKH,X PLP RTS -JMPTMP JMP (TMP) end // // SET MEMORY TO VALUE