
  .EQSI=54272   .EQV=53248    .EQPOTX=SI+25  (  .EQPOTY=SI+26 . 2  .EQXPOS=V C <  .EQXPOSMSB=V+16 T F  .EQYPOS=V+1 b P  .BA49152 k Z  SEI w d  LDA789  n  CMP#>(IRQ)  x  BNEINIT    LDA#49    STA788    LDA#234    STA789    LDA53274    AND#$FE    STA53274    LDAV+21 !  AND#$FE !  STAV+21 !  CLI '!  RTS 6! INIT LDA#1 C! STAV+21 N! LDA#1 [! STAV+39 h!" LDA#100 r!, STAV ~!6 STAV+1 !@ LDA#<(IRQ) !J STA788 !T LDA#>(IRQ) !^ STA789 !h LDA53274 !r ORA#1 !| STA53274 ! CLI ! RTS !NEWVAL .BY0 "OLDVAL .BY0 "OPOTX .BY0 -"OPOTY .BY0 >"IRQ LDA$D019 M" BMIVICIRQ [" LDA$DC0D d" CLI r" JMP$EA31 "VICIRQ STA$D019 " LDAPOTX " LDYOPOTX " JSRMOVE " STYOPOTX "& CLC "0 ADCXPOS ": STAXPOS "D TXA "N ADC#$00 #X AND#$01 #b EORXPOSMSB "#l STAXPOSMSB /#v LDAPOTY =# LDYOPOTY J# JSRMOVE X# STYOPOTY e# EOR#$FF n# SEC {# ADCYPOS # STAYPOS # PLA # TAY # PLA # TAX # PLA # RTI #MOVE STYOLDVAL # STANEWVAL # SEC #  SBCOLDVAL $* AND#$7F $4 CMP#$40  $> BCSCARRY )$H LSR 6$R BEQZERO E$\ LDYNEWVAL N$f RTS `$pCARRY ORA#$C0 m$z CMP#$FF z$ BEQZERO $ SEC $ ROR $ LDYNEWVAL $ RTS $ZERO LDA#0 $ RTS   