mirror of
https://github.com/cc65/cc65.git
synced 2025-01-11 11:30:13 +00:00
xlmemchk.inc: Fix wrong calculation if load address is at an exact 4K border.
This commit is contained in:
parent
e12fbe35a8
commit
ae9ab59549
@ -61,13 +61,17 @@ scrmemtst:
|
||||
cmp tmp
|
||||
beq scrmemok
|
||||
|
||||
; if lodadr is at an exact 4K boundary, it's still ok
|
||||
|
||||
lda lodadr+1
|
||||
and #$0f
|
||||
beq scrmemok
|
||||
|
||||
; 4K boundary will be crossed, use this 4K boundary address as lodadr
|
||||
|
||||
al4k: lda lodadr+1
|
||||
and #$f0
|
||||
tax
|
||||
dex
|
||||
stx lodadr+1
|
||||
sta lodadr+1
|
||||
bne scrmemtst
|
||||
; not reached
|
||||
|
||||
@ -89,6 +93,7 @@ scrmemok:
|
||||
sbc #>DLSZ
|
||||
sta lowadr+1
|
||||
|
||||
.if 0 ; this cannot happen
|
||||
; check if a 1K boundary is crossed
|
||||
|
||||
lda tstadr+1
|
||||
@ -98,6 +103,7 @@ scrmemok:
|
||||
and #$fc
|
||||
cmp tmp
|
||||
bne al4k ; 1K boundary will be crossed, decrease lodadr
|
||||
.endif
|
||||
|
||||
; address of display list is ok
|
||||
; decrease lowadr by two
|
||||
|
Loading…
x
Reference in New Issue
Block a user