From 7fe51aaf56ad42d4a58fc8b9c1dc2fd9488ebc12 Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Sun, 14 Jan 2024 15:18:01 -0800 Subject: [PATCH] Fix 16 bit VM except JIT compiler --- images/apple/PLASMA2.2mg | Bin 819264 -> 819264 bytes src/makefile | 4 ++-- src/vmsrc/apple/plvm802.s | 30 +++++++++++++++--------------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/images/apple/PLASMA2.2mg b/images/apple/PLASMA2.2mg index 8c9458ca11c19ff148bc2ea89fc3099a5bd936d8..bd2b01e895fb58440f144204645d1483f1812bd3 100644 GIT binary patch delta 45591 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 delta 17438 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 Ici{2=0B5Z`qW}N^ diff --git a/src/makefile b/src/makefile index b50330b..73206e5 100755 --- a/src/makefile +++ b/src/makefile @@ -199,11 +199,11 @@ $(PLVM01): vmsrc/apple/plvm01.s vmsrc/apple/a1cmd.a $(CMD): vmsrc/apple/cmd.pla vmsrc/apple/cmdstub.s $(PLVM02) $(PLASM) ./$(PLASM) -AOW vmsrc/apple/cmd.pla - acme --setpc 8192 -o $(CMD) vmsrc/apple/cmdstub.s + acme --setpc 8192 -o $(CMD) -l vmsrc/apple/cmd.sym vmsrc/apple/cmdstub.s $(CMDJIT): vmsrc/apple/cmdjit.pla vmsrc/apple/cmdjitstub.s $(PLVMJIT) $(PLASM) ./$(PLASM) -AOW vmsrc/apple/cmdjit.pla - acme --setpc 8192 -o $(CMDJIT) vmsrc/apple/cmdjitstub.s + acme --setpc 8192 -o $(CMDJIT) -l vmsrc/apple/cmdjit.sym vmsrc/apple/cmdjitstub.s $(SOSCMD): vmsrc/apple/soscmd.pla $(PLVM03) $(PLASM) ./$(PLASM) -AMOW vmsrc/apple/soscmd.pla diff --git a/src/vmsrc/apple/plvm802.s b/src/vmsrc/apple/plvm802.s index 4a81cff..0066317 100644 --- a/src/vmsrc/apple/plvm802.s +++ b/src/vmsrc/apple/plvm802.s @@ -288,13 +288,13 @@ DINTRP PHP TSX STX HWSP LDX #ESTKSZ/2 ; COPY ZERO PAGE EVAL STACK TO HW STACK - CMP ESP + CPX ESP BEQ + -- LDY ESTKH,X +- DEX + LDY ESTKH,X PHY LDY ESTKL,X PHY - DEX CPX ESP BNE - + LDX #>OPTBL @@ -488,13 +488,13 @@ _INTRPX +ACCMEM16 ; 16 BIT A/M TSX STX HWSP LDX #ESTKSZ/2 ; COPY ZERO PAGE EVAL STACK TO HW STACK - CMP ESP + CPX ESP BEQ + -- LDY ESTKH,X +- DEX + LDY ESTKH,X PHY LDY ESTKL,X PHY - DEX CPX ESP BNE - + STX ALTRDON @@ -1655,13 +1655,13 @@ EMUSTK STA TMP TSX STX HWSP LDX #ESTKSZ/2 ; COPY ZERO PAGE EVAL STACK TO HW STACK - CMP ESP + CPX ESP BEQ + -- LDY ESTKH,X +- DEX + LDY ESTKH,X PHY LDY ESTKL,X PHY - DEX CPX ESP BNE - + LDX #>OPTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE @@ -1723,13 +1723,13 @@ EMUSTKX STA TMP TSX STX HWSP LDX #ESTKSZ/2 ; COPY ZERO PAGE EVAL STACK TO HW STACK - CMP ESP + CPX ESP BEQ + -- LDY ESTKH,X +- DEX + LDY ESTKH,X PHY LDY ESTKL,X PHY - DEX CPX ESP BNE - + STX ALTRDON @@ -1759,7 +1759,7 @@ ENTER LDA IFP BEQ + ASL TAY -- PLA ; COPY PARAMS FROM STACK INTO FRAME +- PLA ; COPY PARAMS FROM STACK INTO FRAME DEY DEY STA (IFP),Y @@ -1772,8 +1772,7 @@ ENTER LDA IFP ;* ;* LEAVE FUNCTION ;* -LEAVE STX ALTRDOFF - INY ;+INC_IP +LEAVE INY ;+INC_IP LDA (IP),Y ; DEALLOCATE POOL + FRAME AND #$00FF TAY @@ -1781,6 +1780,7 @@ LEAVE STX ALTRDOFF ADC #$02 ; PREVIOUS IFP HIDDEN AT END OF FRAME ADC IFP STA PP + STX ALTRDOFF LDA (IFP),Y ; RESTORE PREVIOUS FRAME STA IFP RET STX ALTRDOFF