Parallel and serial INTERFACE CE-158 at the PC-1600 

CE-158 Centonics interface:
If one heads for a printer of the PC-1600 over CE-158, there can be problems. The CE-158 does not know the instruction set of the PC-1600. We regard the following program:
This program is to be listed over the CE-158:

MODE 1          (Enter key press)
OPN " LPRT " (Enter key press)
CONSOLE 0.0 (Enter key press)
LLIST             (Enter key press)

The PC-1600 of specific instruction, like DATE$ and ELSE, is replaced through " ' ' " and the listing will becomes with difficulty understandable. The line numbers in branch instructions are stored in the PC-1600 as binary code (always 2 byte) and not as ASCII as with the PC-1500. The CE-158 does not translate these binary codes into ASCII, and instead of line numbers the printer writes strange characters. A listing with a bread ago printer HR-15 can look in such a way:

100:INPUT " date or time-of-day? (D/T)?";D$
110:IF D$="D " PRINT ' ' ' ' PRINT ' ' ' '
120:GOTO 100

There are several ways this problem to avoid. If the printer possesses a RS232C interface, one can throw completely simply the CE-158 into a drawer, and which in the PC-1600 contained RS232C uses. Fals of the printers stat RS232C a Centronics Schnitstelle has, goes that not.
There is however a solution, which I want to describe here. The above program is assumed in the program memory. Saven it the program with SAVE"d:name.BAS", A; is D: either S1: S2: X: Y: or CASS: The program is stored as ASCII file, i.e. all token and line numbers are stored as ASCII character. Load then the program with LOAD*"d:name.BAS ". The program can now through

MODE 1 (Enter key press)
OPN " LPRT " (Enter key press)
CONSOLE 0.0 (Enter key press)
LLIST (Enter key press)

are listed. The listing contains the actual program in REM lines, and each line has 2 line numbers. If one removes the first line numbers and " ' " the characters (fat and untersrichen) then the listing becomes as follows:

10: ' 100 INPUTS " date or time-of-day? (D/T)?";D$
20: ' 110 IF D$="D " PRINT DATE$ ELSE PRINT TIME$
30: ' 120 GOTO 100

Home