Machine Language Printer Command
While working on a Machine Language program, it could be advantageous to be able to give a command to the printer in ML instead of going back to BASIC and returning to the Monitor or to some other ML program.
The program, which follows, substitutes the BASIC command:
OPEN4, 4 : CMD4
and at the end:
PRINT #4 : CLOSE 4
The program can be loaded anywhere there are 20 bytes free address. Starting at $XXXX:
xxxx START A9 04 LDA -$04 File and device number 85 B0 STA z$B0 The output to CMD is in $B0 85 D4 STA z$D4 The device number is in $D4 20 BA F0 JSR OPEN IEEE 20 2D F1 JSR TEST IEEE 20 D2 FF JSR WRT 00 BRK XX(X + 1)X 4C CC FF JMP RESTORE I/O 00 BRK
When we want to start the printer, we have to type: .G XXXX (or working with some other program, e.g. Moser's Assembler, print: RUN $XXXX), and to close the printer we have to type: .G XX(X + 1)X.
The screen does not show what the printer prints, but we can give the necessary commands through the keyboard as if the printed text would be on the screen. This way we can continually print out the dumping of a complete ML program or the Assmelbe List.