The following six-byte relocatable Spectrum machine code routine copies the full 24 lines of the screen to the ZX printer when called. The third number in the data statement (192) represents the number of pixel lines to be copied, and can be any number between 1 and 192. For example, if it is changed to 96, only the top half of the screen would be dumped.
Two useful calls for the machine code programmer are to the locations 3652 (0E44 hex), which clears the bottom 'register B' lines of the screen, and CALL 3503 (0DAF hex), the equivalent of CLS in Basic.
Callum Gibson, Blairgowrie, Perthshire
10 CLEAR 32449
15 GOSUB 45
20 FOR f=32450 TO 32455:READ a:POKE f,a:NEXT f
30 DATA 243,6,192,195,175,14
40 RANDOMIZE USR 32450
44 REM Routine for demonstration
45 FOR T=0 TO 255 STEP 5
50 PLOT 0,0
60 DRAW T,175
70 NEXT T
80 RETURN