1 'Magic
2 'By Simon Payne
3 'Amstrad Action October 1988
10 LN=100
20 FOR ADR=&A000 TO &A030 STEP 13
30 READ BYTE$:CHK=0
40 FOR I=0 TO 12
50 V=VAL("&"+MID$(BYTE$,I*2+1,2))
60 POKE ADR+I,V:CHK=CHK+V
70 NEXT
80 IF CHK<>VAL("&"+RIGHT$(BYTE$,3)) THEN PRINT "ERROR IN LINE :";LN:STOP
90 LN=LN+10:NEXT
100 DATA 2109A0010DA0CDD1BC000000003D2
110 DATA 12A0C318A04D414749C300210042F
120 DATA C0DD5600DD5E027BBECC2CA023624
130 DATA 7DB4C818F57A77C900000000004C0
140 CALL &A000,0,0
150 MODE 1
160 PRINT "Magic Paint now active"
170 PRINT:PRINT
180 PRINT "  eg. |MAGIC,0,103":PRINT
190 PRINT "This will search the screen for the byte0 and change it to 103"
200 PRINT "GO ON TRY IT"
210 PRINT
220 PRINT "|MAGIC,OLD BYTE,NEW BYTE"