diff --git a/src/vmsrc/apple/plvm01.s b/src/vmsrc/apple/plvm01.s index 651be40..4e73678 100644 --- a/src/vmsrc/apple/plvm01.s +++ b/src/vmsrc/apple/plvm01.s @@ -1007,7 +1007,7 @@ CALL INY ;+INC_IP LDA (IP),Y STA TMPH _CALL TYA - CLC + SEC ADC IPL PHA LDA IPH @@ -1018,7 +1018,7 @@ _CALL TYA STA IPH PLA STA IPL - LDY #$01 + LDY #$00 JMP FETCHOP ;* ;* JUMP INDIRECT TRHOUGH TMP diff --git a/src/vmsrc/apple/plvm02.s b/src/vmsrc/apple/plvm02.s index fddb3dd..2fd6d3a 100755 --- a/src/vmsrc/apple/plvm02.s +++ b/src/vmsrc/apple/plvm02.s @@ -1790,7 +1790,7 @@ CALL INY ;+INC_IP LDA (IP),Y STA TMPH TYA - CLC + SEC ADC IPL PHA LDA IPH @@ -1803,7 +1803,7 @@ CALL INY ;+INC_IP STA IPL LDA #>OPTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE STA OPPAGE - LDY #$01 + LDY #$00 JMP FETCHOP CALLX INY ;+INC_IP LDA (IP),Y @@ -1812,7 +1812,7 @@ CALLX INY ;+INC_IP LDA (IP),Y STA TMPH TYA - CLC + SEC ADC IPL PHA LDA IPH @@ -1834,7 +1834,7 @@ CALLX INY ;+INC_IP STA IPL LDA #>OPXTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE STA OPPAGE - LDY #$01 + LDY #$00 JMP FETCHOP ;* ;* INDIRECT CALL TO ADDRESS (NATIVE CODE) @@ -1845,7 +1845,7 @@ ICAL LDA ESTKL,X STA TMPH INX TYA - CLC + SEC ADC IPL PHA LDA IPH @@ -1858,7 +1858,7 @@ ICAL LDA ESTKL,X STA IPL LDA #>OPTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE STA OPPAGE - LDY #$01 + LDY #$00 JMP FETCHOP ICALX LDA ESTKL,X STA TMPL @@ -1866,7 +1866,7 @@ ICALX LDA ESTKL,X STA TMPH INX TYA - CLC + SEC ADC IPL PHA LDA IPH @@ -1887,7 +1887,7 @@ ICALX LDA ESTKL,X STA IPL LDA #>OPXTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE STA OPPAGE - LDY #$01 + LDY #$0 JMP FETCHOP ;* ;* JUMP INDIRECT TRHOUGH TMP diff --git a/src/vmsrc/apple/plvm03.s b/src/vmsrc/apple/plvm03.s index 269529d..3a3abc4 100755 --- a/src/vmsrc/apple/plvm03.s +++ b/src/vmsrc/apple/plvm03.s @@ -1272,11 +1272,28 @@ ADDBRLE LDA ESTKL,X ;* INDIRECT CALL TO ADDRESS (NATIVE CODE) ;* ICAL LDA ESTKL,X - STA CALLADR+1 + STA ICALADR+1 LDA ESTKH,X - STA CALLADR+2 + STA ICALADR+2 INX - BNE _CALL + TYA + SEC + ADC IPL + PHA + LDA IPH + ADC #$00 + PHA + LDA IPX + PHA +ICALADR JSR $FFFF + PLA + STA IPX + PLA + STA IPH + PLA + STA IPL + LDY #$00 + JMP FETCHOP ;* ;* CALL INTO ABSOLUTE ADDRESS (NATIVE CODE) ;* @@ -1286,7 +1303,7 @@ CALL INY ;+INC_IP INY ;+INC_IP LDA (IP),Y STA CALLADR+2 -_CALL TYA + TYA SEC ADC IPL PHA diff --git a/src/vmsrc/apple/plvm802.s b/src/vmsrc/apple/plvm802.s index 9c3df63..9f8b860 100644 --- a/src/vmsrc/apple/plvm802.s +++ b/src/vmsrc/apple/plvm802.s @@ -1518,7 +1518,7 @@ CALL INY ;+INC_IP INY EMUSTK STA TMP TYA ; FLATTEN IP - CLC + SEC ADC IP STA IP SEC ; SWITCH TO EMULATED MODE @@ -1614,7 +1614,7 @@ EMUSTK STA TMP LDX #>DBGTBL } STX OPPAGE - LDY #$01 + LDY #$00 JMP FETCHOP ;* ;* INDIRECT CALL TO ADDRESS (NATIVE CODE) @@ -1629,7 +1629,7 @@ CALLX INY ;+INC_IP INY EMUSTKX STA TMP TYA ; FLATTEN IP - CLC + SEC ADC IP STA IP SEC ; SWITCH TO EMULATION MODE @@ -1727,7 +1727,7 @@ EMUSTKX STA TMP LDX #>DBGTBL } STX OPPAGE - LDY #$01 + LDY #$00 JMP FETCHOP ;* ;* JUMP INDIRECT THROUGH TMP