From 1242b538247b0129ea60e9281dd74abd1d48c27b Mon Sep 17 00:00:00 2001 From: Dave Schmenk Date: Sun, 1 Dec 2019 15:24:18 -0800 Subject: [PATCH] Back out some of the DINTRP optimizations. Dependecy on Y being szero in ENTER --- src/vmsrc/apple/plvm02.s | 5 ++++- src/vmsrc/apple/plvm03.s | 4 +++- src/vmsrc/apple/plvm802.s | 6 +++--- src/vmsrc/apple/plvmjit02.s | 5 ++++- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/vmsrc/apple/plvm02.s b/src/vmsrc/apple/plvm02.s index dbf9d48..9781c0f 100755 --- a/src/vmsrc/apple/plvm02.s +++ b/src/vmsrc/apple/plvm02.s @@ -149,10 +149,13 @@ OPTBL !WORD CN,CN,CN,CN,CN,CN,CN,CN ; 00 02 ;* DIRECTLY ENTER INTO BYTECODE INTERPRETER ;* DINTRP PLA + CLC + ADC #$01 STA IPL PLA + ADC #$00 STA IPH - LDY #$01 + LDY #$00 JMP FETCHOP ;* ;* INDIRECTLY ENTER INTO BYTECODE INTERPRETER diff --git a/src/vmsrc/apple/plvm03.s b/src/vmsrc/apple/plvm03.s index 809711f..d00c54e 100755 --- a/src/vmsrc/apple/plvm03.s +++ b/src/vmsrc/apple/plvm03.s @@ -160,12 +160,14 @@ OPTBL !WORD CN,CN,CN,CN,CN,CN,CN,CN ; 00 02 ;* SYSTEM INTERPRETER ENTRYPOINT ;* INTERP PLA + CLC + ADC #$01 STA IPL PLA + ADC #$00 STA IPH LDY #$00 STY IPX - INY JMP FETCHOP ;* ;* ENTER INTO USER BYTECODE INTERPRETER diff --git a/src/vmsrc/apple/plvm802.s b/src/vmsrc/apple/plvm802.s index 065e3b5..baf41b6 100644 --- a/src/vmsrc/apple/plvm802.s +++ b/src/vmsrc/apple/plvm802.s @@ -283,17 +283,17 @@ DINTRP PHP XCE +ACCMEM16 ; 16 BIT A/M PLA + INC STA IP STX ESP TSX STX HWSP LDX #>OPTBL !IF DEBUG { - INC IP - JMP SETDBG + BRA SETDBG } ELSE { STX OPPAGE - LDY #$01 + LDY #$00 JMP FETCHOP } !AS diff --git a/src/vmsrc/apple/plvmjit02.s b/src/vmsrc/apple/plvmjit02.s index a104f2f..54c2820 100755 --- a/src/vmsrc/apple/plvmjit02.s +++ b/src/vmsrc/apple/plvmjit02.s @@ -223,10 +223,13 @@ OPTBL !WORD CN,CN,CN,CN,CN,CN,CN,CN ; 00 02 ;* DIRECTLY ENTER INTO BYTECODE INTERPRETER ;* DINTRP PLA + CLC + ADC #$01 STA IPL PLA + ADC #$00 STA IPH - LDY #$01 + LDY #$00 LDA #>OPTBL STA OPPAGE JMP FETCHOP