From 9f315da874649f007ae7975d6ba03a5920f08d69 Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Wed, 11 Jan 2023 00:25:36 -0500 Subject: [PATCH] SHRVDU16 fixes. Fix ticket #261. --- applecorn.po | Bin 819200 -> 819200 bytes mainmem.shr.s | 20 +++++++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/applecorn.po b/applecorn.po index 116799f7f7b33f21d8704f84500a6395acbb0b5b..984bbd7be6ff598fafc24d68429467725bfef0e6 100644 GIT binary patch delta 5104 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 VE!otTEnCVy(oN{s)UXqr{|~q8%WnVx delta 4958 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 diff --git a/mainmem.shr.s b/mainmem.shr.s index 9369d37..406ddc2 100644 --- a/mainmem.shr.s +++ b/mainmem.shr.s @@ -1069,7 +1069,22 @@ SHRVDU16 >>> ENTMAIN INC SHRWINTOP INC SHRWINRGT LDX SHRWINBTM + + LDA SHRPIXELS + AND #$00FF + CMP #$02 + BNE :M0 ; MODE0 + LDA SHRWINLFT + LSR A ; Divide left by 2 + INC A ; Treat left column specially + STA :LEFTLIM + LDA SHRWINRGT + LSR A ; Divide right by 2 + STA :RIGHTLIM + BRA :S0 + +:M0 LDA SHRWINLFT LSR A ; Divide left by 4 LSR A INC A ; Treat left column specially @@ -1078,8 +1093,9 @@ SHRVDU16 >>> ENTMAIN LSR A ; Divide right by 4 LSR A STA :RIGHTLIM + BRA :S0 - SEP #$30 ; 8 bit M & X +:S0 SEP #$30 ; 8 bit M & X MX %11 ; Tell Merlin :L1 LDY :LEFTLIM LDA SHRROWSL,X ; Look up addr (LS byte) @@ -1106,7 +1122,6 @@ SHRVDU16 >>> ENTMAIN BNE :MODE0 LDA SHRWINRGT - LSR AND #$01 TAX LDA :RIGHT320,X ; Bits to set @@ -1115,7 +1130,6 @@ SHRVDU16 >>> ENTMAIN LDY :LEFTLIM DEY ; Handle leftmost byte LDA SHRWINLFT - LSR AND #$01 TAX LDA :LEFT320,X ; Bits to set