APPENDIX TWELVE 787 313 TEMP2 One-byte temporary storage register. 788 314 PTIMOT Moved from 28 ($1C) in the 400/800. Same initial value (30). 829-831 33D-33F PUPBT1-3 Power-up and reset validation registers 1-3. Used on warm start to verify the integrity of memory. The OS initializes these loca- tions to 92 ($5C), 147 ($93), and 37 ($25), respectively. When RE- SET is pressed, these bytes are checked, and it they are the same as initialized, a warm start is done; otherwise, a cold start occurs. 838,839 346,347 IOCB0 To send your output to the printer, POKE 838,202 and POKE 839,254. To turn off the printer and send everything back to the screen, POKE 838,175 and POKE 839,242. This program from Matt Ratcliff allows you to toggle output between printer and screen by pressing SELECT (it works equally well on the 400/800): 10 DIM A$(1):CONSOL=53279:GRAPHICS 0:IOCB0E =838 20 PHDLR=58422 30 EHDLR=58374 40 PL=PEEK(PHDLR):PH=PEEK(PHDLR+1) 50 EL=PEEK(EHDLR):EH=PEEK(EHDLR+1) 60 PRINT "Text will print continuously." 70 PRINT "Press SELECT to toggle output" 80 PRINT "between printer and screen.":? 90 PRINT "Get printer ready and press RETUR N" 100 INPUT A$:I=1:DIR=0 110 PRINT I;" Press select to change output .":I=I+1 120 IF PEEK(CONSOL)<>5 THEN 110 130 IF DIR THEN POKE IOCB0E,EL:POKE IOCB0E+ 1,EH 140 IF NOT DIR THEN POKE IOCB0E,PL:POKE IO CB0E+1,PH 150 DIR= NOT DIR 160 IF PEEK(CONSOL)<>7 THEN 160 170 GOTO 110 1000 3E8 SUPERF Screen editor register; cleared on entry to the "put byte" rou- tine, the editor changes keycodes 142-145 ($8E-$91) to 28-31 ($1C-$1F; see 121; $79) and sets SUPERF to nonzero.