diff --git a/src/vmsrc/apple/plvm802.s b/src/vmsrc/apple/plvm802.s
index 4b4f9e7..d119562 100644
--- a/src/vmsrc/apple/plvm802.s
+++ b/src/vmsrc/apple/plvm802.s
@@ -92,44 +92,6 @@ NOS     =       $03             ; TOS-1
         REP     #$10            ; 16 BIT X/Y
         !AL
         }
-;*
-;* HW STACK <-> ZP STACK COPIES
-;*
-        !MACRO  STACKTOZP {
-        +ACCMEM8                ; 8 BIT A/M
-        TSC                     ; MOVE HW EVAL STACK TO ZP EVAL STACK
-        SEC
-        SBC     HWSP            ; STACK DEPTH = (HWSP - SP)/2
-        LSR                     ; CARRY BETTER BE CLEAR AFTER THIS
-        ADC     ESP             ; ESP - STACK DEPTH
-        TAX
-        CPX     ESP
-        BEQ     +
-        TAY
--       PLA
-        STA     ESTKL,Y
-        PLA
-        STA     ESTKH,Y
-        INY
-        CPY     ESP
-        BNE     -
-+
-        }
-        !MACRO  ZPTOSTACK {
-        TSX                     ; RESTORE BASELINE HWSP
-        STX     HWSP
-        CPY     TMPL
-        BEQ     +
-        TYX
--       DEX
-        LDA     ESTKH,X
-        PHA
-        LDA     ESTKL,X
-        PHA
-        CPX     TMPL
-        BNE     -
-+
-        }
 ;******************************
 ;*                            *
 ;* INTERPRETER INITIALIZATION *
@@ -1632,26 +1594,19 @@ ICAL    PLA
 CALL    INY                     ;+INC_IP
         LDA     (IP),Y
         INY
-EMUSTK  STA     TMP             ; CALL THROUGH JMPTMP LATER
+EMUSTK  STA     TMP
         TYA                     ; FLATTEN IP
         SEC
         ADC     IP
         STA     IP
-        +ACCMEM8                ; 8 BIT A/M
+        SEC                     ; SWITCH TO EMULATION MODE
+        XCE
+        !AS
         TSC                     ; MOVE HW EVAL STACK TO ZP EVAL STACK
-        EOR     #$FF
-        SEC
-        ADC     HWSP            ; STACK DEPTH = (HWSP - SP)/2
-        LSR
-!IF     DEBUG {
-        PHA
-        CLC
-        ADC     #$80+'0'
-        STA     $7D0+31
-        PLA
-}
-        EOR     #$FF
         SEC
+        SBC     HWSP            ; STACK DEPTH = (HWSP - SP)/2
+        CMP     #$80
+        ROR
         ADC     ESP             ; ESP - STACK DEPTH
         TAX
         TAY
@@ -1664,24 +1619,11 @@ EMUSTK  STA     TMP             ; CALL THROUGH JMPTMP LATER
         INY
         CPY     ESP
         BNE     -
-+
-!IF     DEBUG {
-        TXA
-        TSX
-        CPX     HWSP
-        BEQ     +
-        LDX     #$80+'C'
-        STX     $7D0+30
--       LDX    $C000
-        BPL     -
-        LDX     $C010
-+       TAX
-}
-        PEI     (IP)            ; SAVE INSTRUCTION POINTER
++       PEI     (IP)            ; SAVE INSTRUCTION POINTER
         PHY                     ; SAVE BASELINE ESP
         LDA     PSR
         PHA
-        PLP                     ; CALL IN EMULATION MODE
+        PLP
         JSR     JMPTMP
         PHP
         PLA
@@ -1689,44 +1631,26 @@ EMUSTK  STA     TMP             ; CALL THROUGH JMPTMP LATER
         SEI
         CLC                     ; SWITCH BACK TO NATIVE MODE
         XCE
+        +ACCMEM16               ; 16 BIT A/M
         PLY                     ; MOVE RETURN VALUES TO HW EVAL STACK
         STY     ESP             ; RESTORE BASELINE ESP
         PLA
-        STA     IPL
-        PLA
-        STA     IPH
-!IF     DEBUG {
-        TXA
-        EOR     #$FF
-        SEC
-        ADC     ESP
-        CLC
-        ADC     #$80+'0'
-        STA     $7D0+32
-}
+        STA     IP
         STX     TMPL
         TSX                     ; RESTORE BASELINE HWSP
         STX     HWSP
         CPY     TMPL
         BEQ     +
 -       DEY
-        LDA     ESTKH,Y
-        PHA
-        LDA     ESTKL,Y
-        PHA
+        LDX     ESTKH,Y
+        PHX
+        LDX     ESTKL,Y
+        PHX
         CPY     TMPL
         BNE     -
 +       LDX     #>OPTBL         ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
-!IF DEBUG {
-        LDY     LCRWEN+LCBNK2
-        LDY     LCRWEN+LCBNK2
-        STX     DBG_OP+2
-        LDY     LCRDEN+LCBNK2
-        LDX     #>DBGTBL
-}
         STX     OPPAGE
         LDY     #$00
-        +ACCMEM16               ; 16 BIT A/M
         JMP     FETCHOP
 ;*
 ;* INDIRECT CALL TO ADDRESS (NATIVE CODE)
@@ -1739,26 +1663,19 @@ ICALX   PLA
 CALLX   INY                     ;+INC_IP
         LDA     (IP),Y
         INY
-EMUSTKX STA     TMP             ; CALL THROUGH JMPTMP LATER
+EMUSTKX STA     TMP
         TYA                     ; FLATTEN IP
         SEC
         ADC     IP
         STA     IP
-        +ACCMEM8                ; 8 BIT A/M
+        SEC                     ; SWITCH TO EMULATION MODE
+        XCE
+        !AS
         TSC                     ; MOVE HW EVAL STACK TO ZP EVAL STACK
-        EOR     #$FF
-        SEC
-        ADC     HWSP            ; STACK DEPTH = (HWSP - SP)/2
-        LSR
-!IF     DEBUG {
-        PHA
-        CLC
-        ADC     #$80+'0'
-        STA     $7D0+31
-        PLA
-}
-        EOR     #$FF
         SEC
+        SBC     HWSP            ; STACK DEPTH = (HWSP - SP)/2
+        CMP     #$80
+        ROR
         ADC     ESP             ; ESP - STACK DEPTH
         TAX
         TAY
@@ -1771,25 +1688,12 @@ EMUSTKX STA     TMP             ; CALL THROUGH JMPTMP LATER
         INY
         CPY     ESP
         BNE     -
-+
-!IF     DEBUG {
-        TXA
-        TSX
-        CPX     HWSP
-        BEQ     +
-        LDX     #$80+'X'
-        STX     $7D0+30
--       LDX     $C000
-        BPL     -
-        LDX     $C010
-+       TAX
-}
-        PEI     (IP)            ; SAVE INSTRUCTION POINTER
++       PEI     (IP)            ; SAVE INSTRUCTION POINTER
         PHY                     ; SAVE BASELINE ESP
-        STX     ALTRDOFF
+        STA     ALTRDOFF
         LDA     PSR
         PHA
-        PLP                     ; CALL IN EMULATION MODE
+        PLP
         JSR     JMPTMP
         PHP
         PLA
@@ -1798,50 +1702,28 @@ EMUSTKX STA     TMP             ; CALL THROUGH JMPTMP LATER
         STX     ALTRDON
         CLC                     ; SWITCH BACK TO NATIVE MODE
         XCE
+        +ACCMEM16               ; 16 BIT A/M
         PLY                     ; MOVE RETURN VALUES TO HW EVAL STACK
         STY     ESP             ; RESTORE BASELINE ESP
         PLA
-        STA     IPL
-        PLA
-        STA     IPH
-!IF     DEBUG {
-        TXA
-        EOR     #$FF
-        SEC
-        ADC     ESP
-        CLC
-        ADC     #$80+'0'
-        STA     $7D0+32
-}
+        STA     IP
         STX     TMPL
         TSX                     ; RESTORE BASELINE HWSP
         STX     HWSP
         CPY     TMPL
         BEQ     +
 -       DEY
-        LDA     ESTKH,Y
-        PHA
-        LDA     ESTKL,Y
-        PHA
+        LDX     ESTKH,Y
+        PHX
+        LDX     ESTKL,Y
+        PHX
         CPY     TMPL
         BNE     -
 +       LDX     #>OPXTBL        ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
-!IF DEBUG {
-        LDY     LCRWEN+LCBNK2
-        LDY     LCRWEN+LCBNK2
-        STX     DBG_OP+2
-        LDY     LCRDEN+LCBNK2
-        LDX     #>DBGTBL
-}
         STX     OPPAGE
         LDY     #$00
-        +ACCMEM16               ; 16 BIT A/M
         JMP     FETCHOP
 ;*
-;* JUMP INDIRECT THROUGH TMP
-;*
-;JMPTMP  JMP     (TMP)
-;*
 ;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
 ;*
 ENTER   PEI     (IFP)           ; SAVE ON STACK FOR LEAVE
@@ -1850,15 +1732,6 @@ ENTER   PEI     (IFP)           ; SAVE ON STACK FOR LEAVE
         INY
         LDA     (IP),Y
         AND     #$00FF
-!IF     DEBUG {
-        +ACCMEM8                ; 8 BIT A/M
-        PHA
-        CLC
-        ADC     #$80+'0'
-        STA     $7D0+31
-        PLA
-        +ACCMEM16               ; 16 BIT A/M
-}
         EOR     #$FFFF          ; ALLOCATE FRAME
         SEC
         ADC     PP
@@ -1896,19 +1769,10 @@ LEAVEX  INY                     ;+INC_IP
         STA     ALTRDOFF
 +       STA     TMPL
         TSC                     ; MOVE HW EVAL STACK TO ZP EVAL STACK
-        EOR     #$FF
-        SEC
-        ADC     HWSP            ; STACK DEPTH = (HWSP - SP)/2
-        LSR
-!IF     DEBUG {
-        PHA
-        CLC
-        ADC     #$80+'0'
-        STA     $7D0+31
-        PLA
-}
-        EOR     #$FF
         SEC
+        SBC     HWSP            ; STACK DEPTH = (HWSP - SP)/2
+        CMP     #$80
+        ROR
         ADC     ESP             ; ESP - STACK DEPTH
         TAX
         CPX     ESP
@@ -1921,18 +1785,6 @@ LEAVEX  INY                     ;+INC_IP
         INY
         CPY     ESP
         BNE     -
-!IF     DEBUG {
-        PHX
-        TSX
-        CPX     HWSP
-        BEQ     +
-        LDX     #$80+'L'
-        STX     $7D0+30
--       LDX     $C000
-        BPL     -
-        LDX     $C010
-+       PLX
-}
 ++      +ACCMEM16               ; 16 BIT A/M
         LDY     TMPL            ; DEALLOCATE POOL + FRAME
         TYA
@@ -1941,26 +1793,23 @@ LEAVEX  INY                     ;+INC_IP
         STA     PP
         PLA                     ; RESTORE PREVIOUS FRAME
         STA     IFP
-        LDY     PSR
-        PHY
-        PLP                     ; RETURN IN EMULATION MODE
-        RTS
-RETX    STX     ALTRDOFF
-RET     +ACCMEM8                ; 8 BIT A/M
-        TSC                     ; MOVE HW EVAL STACK TO ZP EVAL STACK
-        EOR     #$FF
-        SEC
-        ADC     HWSP            ; STACK DEPTH = (HWSP - SP)/2
-        LSR
-!IF     DEBUG {
+        SEC                     ; SWITCH TO EMULATION MODE
+        XCE
+        !AS
+        LDA     PSR
         PHA
-        CLC
-        ADC     #$80+'0'
-        STA     $7D0+31
-        PLA
-}
-        EOR     #$FF
+        PLP
+        RTS                     ; RETURN IN EMULATION MODE
+        !AL
+RETX    STX     ALTRDOFF
+RET     SEC                     ; SWITCH TO EMULATION MODE
+        XCE
+        !AS
+        TSC                     ; MOVE HW EVAL STACK TO ZP EVAL STACK
         SEC
+        SBC     HWSP            ; STACK DEPTH = (HWSP - SP)/2
+        CMP     #$80
+        ROR
         ADC     ESP             ; ESP - STACK DEPTH
         TAX
         CPX     ESP
@@ -1973,26 +1822,13 @@ RET     +ACCMEM8                ; 8 BIT A/M
         INY
         CPY     ESP
         BNE     -
-!IF     DEBUG {
-        PHX
-        TSX
-        CPX     HWSP
-        BEQ     +
-        LDX     #$80+'X'
-        STX     $7D0+30
--       LDX     $C000
-        BPL     -
-        LDX     $C010
-+       PLX
-}
 ++      LDA     PSR
         PHA
-        PLP                     ; RETURN IN EMULATION MODE
-        RTS
+        PLP
+        RTS                     ; RETURN IN EMULATION MODE
 ;*
 ;* RETURN TO NATIVE CODE
 ;*
-        !AL
 NATV    TYA                     ; FLATTEN IP
         SEC
         ADC     IP