Screen printer (Rainbow 1981-08)
Home / Publications / Rainbow / Rainbow 1981 / Rainbow 1981-08Template:PageName Of course a printer will help you a great deal in debugging program, be-cause, for one thing. you don't have to scroll your display back and forth to trace the workings of a program.
But there can be other problems, too — such as remembering the value or variables and working with displays where it would be good to be able to print out the alphanumeric contents of the screen's display.
The following program will do just that. And it will give you the exact relationship or the display to the display to the screen., since it prints out the screen on a one-for-one basis to the printer.
It will not, however, display the graphics symbols on the screen, nor will it give a lower-case printout. The reason there is no lower-case ability is shown in line 40 below. In order to deal with the character set it is necessary to convert the CHR$ references found in the PEEKs. That is no big problem, and we expect that most of you don't use lower case on the screen anyway, because the reverse graphic nature or lower case makes the screen look peculiar. Despite these problems. we think you will find the screen printer will be a good utility you can use.
10 FOR X=0 TO 16 20 FOR Y=1 TO 32 30 Q=PEEK (((X*32)+V)+1023) 40 IF Q=>96 AND Q<=127 THEN Q=Q-64 50 PRINT#-2,CHR$(Q); 60 NEXT V 60 PRINT#-2."" 70 NEXT X 80 END
We suggest using very high line numbers for this program. so that it can just sit up "on top" or whatever program you happen to be working on. Then. when you want to do a print of the screen, simply GOTO the line number where the screen printer is set up.
Finally, you might wish to place an END instruction before the screen printer program -- to make sure that whatever you are working on does not "spill" into the screen printer.
Corretion (Rainbow-1981-09) Strangely already done
Transcriber's notes: I would add that in line 10 you should say 15 instead of 16, since you have 16 lines from 0, which results in 15