APPENDIX ELEVEN 66 42 CRITIC POKE 66,1 to disable the update between shadow and hard- ware registers; then you can POKE directly into the hardware registers themselves. You can disable VBLANK at 54286 ($D40E) as well. 67-73 43-49 FMZSPG Reinitialized by FMS each time it takes control. 82,83 52,53 LMARGN and RMARGN Both have a range of 0 to 39. 85,86 55,56 COLCRS Has a range of 0 to 319. 87 57 DINDEX To turn off the cursor when drawing in a text mode, POKE 752,1, followed by a PRINT statement, To get different colors, add a COLOR statement before the PLOT routine, The character will be the ASCII equivalent of the number which follows COLOR. 88,89 58,59 SAVMSC The program to save the graphics screen doesn't work, To save your graphics screen, create a string to hold a machine lan- guage call routine: 1 DATA 104,104,104,170,76,66,228 2 REM PLA, PLA, PLA, TAX, JMP $E456 5 FOR N=1 TO 7:READ BYTE:ML$(N,N)=CHR$(BYTE ):NEXT N Now OPEN a channel for writing to disk (OPEN #4.8,0, "D:filename.ext"). Find RAMTOP (FINISH = PEEK(106) * 256 - 160), subtracting 160 bytes for any text window screen. Find the address of the display list (DLIST = PEEK(560) + 256 * PEEK(561): START = PEEK(DLIST + 4) + 256 * PEEK(DLIST + 5): HIGH = INT(START/256): LOW = START - 256 * HIGH), and POKE it into the proper location in the IOCB (POKE 900,LOW: POKE 901,HIGH). Next, figure the screen length (SIZE = (FINISH - START) + 1: SZHI = INT(SIZE/256): SZLO = SIZE - 256 * B1), and POKE it into the IOCB (POKE 904,SZLO: POKE 905,SZHI). POKE the binary SAVE command into the IOCB (POKE 898,11). Call the CIO with the USR command (X=USR(ADR(ML$),4 * 16)). Finally, save your current graphics mode (MODE = PEEK(87): PUT #4,MODE) and color registers (FOR N = 708 TO 712; PUT #4,PEEK(N): NEXT N) and CLOSE #4.