1 ' 3D CHARACTERS
2 ' by Daren K. Vernon
3 ' Amstrad Action September 1988
7 '
8 ' *** Poke in machine code ***
9 '
10 RESTORE
20 addr=&A000
30 FOR x=1 TO 29
40  FOR y=1 TO 16
50   READ byte$:byte=VAL("&"+byte$)
60   POKE addr,byte:chk=chk+byte
70   addr=addr+1
80  NEXT
90  READ chksum$
100  chksum=VAL("&"+chksum$)
110  IF chk<>chksum THEN PRINT"DATA Error in line";190+(x*10):END
120 chksum=0:chk=0:NEXT:CALL &A000
127 '
128 ' *** Instructions / 3D char. demo ***
129 '
130 MODE 1:CALL &BC02:a$="To use the commands, type :"
140 b$="|3D,@a$,c1,c2 or |3D.DH,@a$,c1,c2"
150 c$="where a$ is the text to print, c1 is the"
160 d$="colour of the text and c2 is the colour":e$="of the background"
170 |3D,@a$,1,3:PRINT:PRINT:|3D.DH,@b$,1,3:PRINT:PRINT:PRINT
180 |3D,@c$,1,3:PRINT" ";CHR$(8);:|3D,@d$,1,3:PRINT:|3D,@e$,1,3
190 DELETE 7-
197 '
198 ' *** DATA for machine code ***
199 '
200 DATA 01,0A,A0,21,C9,A1,CD,D1,BC,C9,12,A0,C3,1A,A0,C3,84B
210 DATA DB,A0,33,C4,33,44,2E,44,C8,00,FE,03,C2,86,A1,DD,7EA
220 DATA 7E,04,6F,DD,7E,05,67,22,B6,A1,DD,7E,00,32,B5,A1,714
230 DATA DD,7E,02,32,B4,A1,2A,B6,A1,7E,4F,23,56,23,5E,63,68F
240 DATA 6A,79,FE,00,C8,7E,C5,D5,E5,CD,53,A0,E1,D1,C1,23,9FC
250 DATA 0D,18,EE,C5,32,B2,A1,CD,11,BC,FE,02,28,76,32,B3,77A
260 DATA A1,21,00,00,01,00,00,11,00,00,CD,78,BB,E5,D1,26,4B0
270 DATA 00,6A,29,29,29,29,01,B3,A1,0A,FE,00,CA,C8,A0,01,59E
280 DATA 0E,00,ED,42,22,AE,A1,26,00,6B,29,29,29,29,E5,C1,589
290 DATA 21,9D,01,ED,42,22,B0,A1,ED,5B,AE,A1,2A,B0,A1,CD,840
300 DATA C0,BB,11,B5,A1,1A,CD,DE,BB,3A,B2,A1,CD,FC,BB,11,984
310 DATA B4,A1,1A,CD,90,BB,3E,01,CD,9F,BB,3A,B2,A1,CD,5D,8A4
320 DATA BB,3E,00,CD,9F,BB,C1,C9,29,01,1A,00,ED,42,22,AE,6ED
330 DATA A1,C3,87,A0,11,B2,A1,1A,C3,5A,BB,FE,03,C2,86,A1,8CB
340 DATA DD,7E,04,6F,DD,7E,05,67,22,B6,A1,DD,7E,00,32,B5,750
350 DATA A1,DD,7E,02,32,B4,A1,2A,B6,A1,7E,4F,23,56,23,5E,6CD
360 DATA 63,6A,79,FE,00,C8,7E,C5,E5,CD,12,A1,E1,C1,23,0D,886
370 DATA 18,F0,CD,A5,BB,D4,06,B9,32,C8,A1,E5,11,FE,00,21,878
380 DATA B8,A1,CD,AB,BB,E1,7E,32,B9,A1,32,B8,A1,23,7E,32,8D5
390 DATA BB,A1,32,BA,A1,23,7E,32,BD,A1,32,BC,A1,23,7E,32,77C
400 DATA BF,A1,32,BE,A1,23,7E,32,C1,A1,32,C0,A1,23,7E,32,78C
410 DATA C3,A1,32,C2,A1,23,7E,32,C5,A1,32,C4,A1,23,7E,32,79C
420 DATA C7,A1,32,C6,A1,3E,FE,CD,53,A0,3E,08,CD,5A,BB,3E,863
430 DATA 0A,CD,5A,BB,3E,FF,CD,53,A0,3E,0B,CD,5A,BB,11,C8,7ED
440 DATA A1,1A,CD,0C,B9,C9,21,95,A1,7E,FE,FF,C8,E5,CD,5A,9BC
450 DATA BB,E1,23,18,F4,45,72,72,6F,72,20,69,6E,20,70,61,6BD
460 DATA 72,61,6D,65,74,65,72,73,2E,2E,2E,2E,07,FF,62,00,583
470 DATA CD,00,45,01,03,01,76,01,FE,FE,62,62,68,68,78,78,60E
480 DATA 68,68,68,68,68,68,68,68,68,68,00,00,00,00,00,00,410