reader-reader - The printer driver for the Scorpion.

ZX Review #7-8-9-10
(C) Motov A. g.Usole-Siberian


   I would like to offer readers
your printer driver
"ZX-WORD 2.1" for the "Scorpion."
The fact that I have a printer
"CANNON BJ-30", which has
855 table instead of 866. Driver
recode characters in the issuance of
to the printer in accordance with 855
table. The program is very simple
and needs no comment.
140.

          ORG # 5B00

          JR RETU

          NOP

          CALL CPAR

          LD BC, # FFDD

          OUT (C), A
L1 CALL # 1F54

          JR NC, NW

          IN A, (# FE)

          RLCA

          JR C, L1

          LD BC, # 1FFD

          LD A, # 20

          OUT (C), A

          XOR A

          OUT (C), A

          SCF

          CCF

          RET
CPAR CP # 80

          RET C

          LD HL, TAB

          SUB # 80

          LD E, A

          LD D, 0

          ADD HL, DE

          LD A, (HL)
RETU RET
NW SCF

          RET

TAB DEFB 161,163,236,173,167,169,234

      DEFB 244,184,190,199,209,211,213

      DEFB 215,221,226,228,230,232,171

      DEFB 182,165,252,246,250,159,242

      DEFB 238,248,157,224,160,162,235

      DEFB 172,166,168,233,243,183,189

      DEFB 198,208,210,212,214,216,176

      DEFB 177,178,179,255,255,255,255

      DEFB 255,185,186,187,188,255,255

      DEFB 191,192,193,194,195,196,197

      DEFB 255,255,200,201,202,203,204

      DEFB 205,206,255,255,255,255,255

      DEFB 255,255,255,255,255,217,218

      DEFB 219,220,255,255,223,225,227

      DEFB 229,231,170,181,164,251,245

      DEFB 249,158,241,237,247,156,222

      DEFB 133,132,255,255,255,255,255

      DEFB 255,255,255,255,255,255,255

      DEFB 254,255
2

   For normal operation you must change the contents of a cell 
with an address to 28,111 # E0 at # DF. The reason is described 
in N5 for 1994. Makarycheva VP Like

have noticed that I have the program works, and in the mode of 
128K. 


   Ed.: To assemble this
Driver MASM'e need instead of lines:
140.

          ORG # 5B00

insert a combination of lines:


          ORG # C000

          PHASE # 5B00
2

   With this approach, MASM will generate the object code in 
the address # C000, but really the program must be run from the 
address # 5B00. 

   This restriction is absent in all
TASM'a versions.


                 *