Changes
/* Manipulating the Amstrad CPC464 Screen Display */
Routine 1
<pre>
ORG &8000
.start LD HL,XXXX ; address of top left corner of area
LD DE,XXXX ; address of store area
LD B,8
.loop1 PUSH BC
PUSH HL
LD B,8 ; number of horizontal lines
.loop2 LD A,(HL)
LD (DE),A
INC DE
INC HL
DJNZ loop2
POP HL
LD BC,&0000 ; add &0800 to screen address
ADD HL,BC
JR NC,loopend ; jump if total not more than &FFFF
LD BC,&3FB0
AND A ; else subtract &3FB0
SBC HL,BC
.loopend POP BC
DJNZ loop1
RET
</pre><br/>
Routine 2