View Single Post
Old 26th May 2021, 9:45 pm   #16
Mark1960
Octode
 
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,265
Default Re: New SC/MP II system

This is my attempt, definitely uses more code.

This is untested so may have multiple errors.

Code:
xpal p3		; 2s complement of p3
xri 0xFF
xpal p3
xpah p3
xri 0xFF
xpah p3
ld @1(p3)

copyloop:
ld @1(p1)
st @1(p2)

ld @1(p3)	; Increment p3
xpal p3
jnz loop1
xpal p3
xpah p3
xae
ldi 0x0F
ane
jnz loop2
ldi 0x10
ade
jz end
xpah p3
jmp loop3

loop2:
xae
xpah p3
jmp loop3

loop1:
xpal p3
loop3:

xpal p1		; check for p1 page boundry crossed
jnz loop4
xpal p1
xpah p1
xae
ldi 0x0F
ane
jnz loop5

ldi 0x10
ade
xpah p1
jmp loop6

loop5:
xae
xpah p1

loop4:
xpal p1
loop6:

xpal p2		; check for p2 page boundry crossed
jnz loop7
xpal p2
xpah p2
xae
ldi 0x0F
ane
jnz loop9

ldi 0x10
ade
xpah p2
jmp copyloop

loop9:
xae
xpah p2

loop7:
xpal p2
jmp copyloop

end:
Mark1960 is offline