home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 June
/
SIMTEL_0692.cdr
/
msdos
/
printer
/
sfnec.arc
/
APPENDIX.DOC
next >
Wrap
Text File
|
1984-04-05
|
62KB
|
1,713 lines
L008
X!APPENDICIES"Y
!PRINTER SWITCH SETTINGS" ----------------------------------- A.1
!H TEST" ---------------------------------------------------- B.1
!CONTROL SEQUENCES" (a list) -------------------------------- C.1
General Printer Control ------------------------------ C.1
Horizontal Movement ---------------------------------- C.2
Vertical Movement ------------------------------------ C.5
Manipulation of Printable Characters ----------------- C.8
Bit-Graphics ---------------------------------------- C.10
!ASCII CHARACTER CODES" (a list) ---------------------------- D.1
!NUMBERING SYSTEMS" ----------------------------------------- E.1
APX
X!APPENDIX A"Y
!PRINTER SWITCH SETTINGS"
When you remove the carrier cover from your NEC 8023A, you will
be able to see two(2) DIP switches. They are covered by a
clear plastic strip which says !SW-1" and !SW-2". Their position
is to the right front of the printer. Each of the switches has
eight(8) small levers which are used to determine several of
the printer's power-on parameters.
To use the enclosed software, you need to make sure that the
levers match the settings given in the following chart. The
meaning for each setting is given in the remainder of this
appendix.
!SW - 1" 8 - 7 - 6 - 5 - 4 - 3 - 2 - 1
----------------------------------------------------------
| CLOSED | | X | | | | | X | |
----------------------------------------------------------
| OPEN | X | | R | X | R | X | | X |
----------------------------------------------------------
!SW - 2" 8 - 7 - 6 - 5 - 4 - 3 - 2 - 1
----------------------------------------------------------
| CLOSED | | R | | | NOT | | R |
----------------------------------------------------------
| OPEN | R | | R | R | USED | X | |
----------------------------------------------------------
!X = required R = recomended"
A.1
X!APPENDIX A"Y
!PRINTER SWITCH SETTINGS"
X!DIP SWITCH 1 (SW - 1)"Y
!LEVERS 1, 2, and 3 - Character Set Selection"
These three(3) levers are used to select the character set for
your language. We'll be using English.
LEVER NUMBER | 3 - 2 - 1
------------------------------------------
| JAPAN | O | O | O |
------------------------------------------
!*" | !UNITED STATES" | !O" | !C" | !O" |
------------------------------------------
| UNITED KINGDOM | O | C | C |
------------------------------------------
| GERMAN | C | O | O |
------------------------------------------
| SWEDISH | C | O | C |
------------------------------------------
!O" = Open - !C" = Closed
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!LEVER 4 - Length of Page"
With this lever, you choose the power-on setting for the page
length. You have two(2) choices.
CLOSED = 72 lines
!* OPEN" = 66 lines
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!LEVER 5 - Default SELect Signal"
This lever determines whether or not the NEC 8023A will pay
attention to a software signal from the computer to take the
printer on- or off-line.
CLOSED = ineffective (no)
!* OPEN" = effective (yes)
A.2
(continued) X!APPENDIX A"Y
!PRINTER SWITCH SETTINGS" (continued)
X!DIP SWITCH 1 (SW - 1)"Y
(continued)
!LEVER 6 - LF with a Full Buffer"
If you wish to have the NEC 8023A automatically print when its
RAM memory gets full, then you should have this lever in the
closed position. (Some software will require this setting, but
generally you do not want the NEC 8023A to print unless the
computer sends it a print signal.
CLOSED = effective (yes)
!* OPEN" = ineffective (no)
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!LEVER 7 - Print Command Code"
This lever allows several commands other than the CR to cause
the printer to perform a carriage return. If you expect your
IBM PC to operate correctly with the NEC 8023A, this lever MUST
be set to closed.
!* CLOSED" = Carriage Return with CR, LF, VT, FF
OPEN = Carriage Return with CR only
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!LEVER 8 - Line Feed following CR"
You are able to select a LF automatically with each CR by
having this lever closed. But, with an IBM PC, you MUST have
this lever open for proper opperation.
CLOSED = Line Feed with each CR
!* OPEN" = CR only (no LF)
A.3
(continued) X!APPENDIX A"Y
!PRINTER SWITCH SETTINGS" (continued)
X!DIP SWITCH 2 (SW - 2)"Y
!LEVER 1 - ZERO (0) Print Format"
This lever gives you the option of having all zeroes(0) printed
with or without a slash. The slash is highly recommended since
many programming mistakes are caused by confusing the zero and
letter O.
!* CLOSED" = Zero with a Slash
OPEN = Zero without a Slash
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!LEVER 2 - Memory Buffer Size"
Normally you have 1K of RAM memory available in the NEC 8023A,
(unless you have added the 2K memory option). It is possible
that for certain applications, you may want to disable this
memory so that the printer will only be able to hold one line
of data at a time. That's what this lever is for.
!* CLOSED" = One Line of Data only
OPEN = 1K or 3K of RAM memory available
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!LEVER 3 and 4 - NOT USED at present"
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!LEVER 5 - Character Pitch"
You have two(2) power-on options PICA or PROPORTIONAL. The
recommended setting is for PICA with Character Pitch changes
made by software means.
CLOSED = PROPORTIONAL Character Pitch
!* OPEN" = PICA Character Pitch
A.4
(continued) X!APPENDIX A"Y
!PRINTER SWITCH SETTINGS" (continued)
X!DIP SWITCH 2 (SW - 2)"Y
(continued)
!LEVER 6 - Seven- or Eight-bit Data"
By setting this lever to Open, you can make use of the char-
acter sets contained in the ROM memory of your NEC 8023A. But,
only if PRINT_CHARACTERS is not installed in your computer's
memory. The setting of this lever makes no difference to the
operation of either PRINT_CHARACTERS or PRINT_SCREEN.
!* CLOSED" = 7-bit Data
OPEN = 8-BIT Data
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!LEVER 7 - SELect or DESelect "
Normally you will want this lever set Closed so that you do not
have to manually SELect the printer when you turn on your
computer.
!* CLOSED" = SELected at Power-on
OPEN = Not SELected at Power-on
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!LEVER 8 - Bidirectional or Unidirectional Printing"
With this lever you are able to determine whether the printer
will be allowed to print Bidirectionally. It's recommended
that you have this lever set open to allow Bidirectional
printing since it is much faster.
CLOSED = Unidirectional Printing
!* OPEN" = Bidirectional Printing
A.5
!XAPPENDIX BY
H TEST"
The "H" test is a name of an adjustment procedure. With it you
can make adjustments to the location of information which is
printed on consecutive passes of the print head when printing
bidirectionally. You may notice that the dot-columns do not
always line up properly (vertically) from one pass to the next.
Here is how you can adjust your printer so that these dot-
columns line up more closely.
!1)" Set the printer for PICA Character Pitch and the standard
1/6" Line Spacing. (SW-2, LEVER 8 = CLOSED)
!2)" From BASIC run this short program.
!10 FOR X=1 TO 10
20 FOR L=1 TO 80
20 LPRINT "H";
30 NEXT L
40 NEXT X
50 LPRINT CHR$(12)
60 END
3)" Look at the vertical bars of the H's and see if they
align. If they do you're finished.
!4)" If not, then turn off the printer, remove the carrier
cover, and find the adjusting screw marked !VR1" (align). It
is under the plastic strip with DIP switches SW1 and SW2.
!5)" Now, by turning this screw first one way then the other,
by rerunning the short BASIC program, you should (by the
trial and error method) be able to establish a satisfactory
alignment.
!DO NOT WORRY!!"
The amount of adjustment that can be accomplished with this
method is very small, (less than a dot width), so you can't
hurt anything as long as you don't try to force the screw.
If you do not feel adequate to the task, your dealer should
do this adjustment for you.
B.1
!XAPPENDIX CY
CONTROL SEQUENCES"
Rather than have a list of control sequences that starts with
the lowest ASCII code and catalog each code progressively,
this listing has the control sequences grouped according to the
use of the sequence. Hopefully, this will help you gain under-
standing in the use of the various control sequences.
In general, each control sequence will be listed with its ASCII
symbol first. This will be followed by the decimal number(s)
and then HEXidecimal number(s) which represent the sequence.
!General Printer Control"
These sequences are used to determine the current state of
the printer.
T36
-------------------------------------------------------------T12
| Give software control for SELecting and DESelecting the |A
| printer. |
| |
| !DC1 - CHR$(17) - 11H - SELect the printer" |
| !DC3 - CHR$(19) - 13H - DESelect the printer" |
| |
| Both are made ineffective by closing SW-1, LEVER 5. |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| Used to select the current print mode. |A
| |
| !ESC [ - CHR$(27)+CHR$(91) - 1BH 5BH - Incremental" |
| !ESC ] - CHR$(27)+CHR$(93) - 1BH 5DH - Logic Seek" |
| |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| This is used to CANcel print data which has been previously |A
| received within the same line. |
| |
| !CAN - CHR$(24) - 18H - Cancel previous data" |
| |
| This code is ignored in incremental print mode. |T12
-------------------------------------------------------------T36
A
C.1
(continued) !XAPPENDIX CY
CONTROL SEQUENCES" (continued)
!Horizontal Movement"
These sequences either control or cause horizontal movement
of the print head.
T36
-------------------------------------------------------------T12
| Moves the print head to the Left Margin. |A
| |
| !CR - CHR$(13) - 0DH - Carriage Return" |
| |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| Moves the print head to the left one(1) print position. |A
| |
| !BS - CHR$(08) - 08H - Back Space" |
| |
| This control sequence is only effective in the incremental |
| printing mode. |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| Moves the print head to the next Horizontal Tab Stop. |A
| |
| !HT - CHR$(09) - 09H - Horizontal Tab" |
| |
| This is ignored if no Horizontal Tabs are set. |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| Sets the position of the Left Margin. |A
| |
| !ESC L [XXX] - CHR$(27)+CHR$(76)+" ? ? ? "" |
| - !1BH 4CH 3?H 3?H 3?H" |
| |
| [!XXX"] = 3-digit decimal number which represents the column |
| in which you wish to place the Left Margin. |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| Control sequences which allow for variable width spaces. |A
| |
| !ESC (01) - CHR$(27)+CHR$(01) - 1BH 01H - 1 dot space" |
| !ESC (02) - CHR$(27)+CHR$(02) - 1BH 02H - 2 dot space" |
| !ESC (03) - CHR$(27)+CHR$(02) - 1BH 03H - 3 dot space" |
| !ESC (04) - CHR$(27)+CHR$(04) - 1BH 04H - 4 dot space" |
| !ESC (05) - CHR$(27)+CHR$(05) - 1BH 05H - 5 dot space" |
| !ESC (06) - CHR$(27)+CHR$(06) - 1BH 06H - 6 dot space" |
| |
| These sequences are for use in Proportional Pitch only. |T12
-------------------------------------------------------------T36
A
C.2
(continued) !XAPPENDIX CY
CONTROL SEQUENCES" (continued)
!Horizontal Movement" (continued)
T36
-------------------------------------------------------------T12
| Sets the position of Horizontal Tab Stops. |A
| |
| !ESC ( [XXX],nnn,...,[XXX]" |
| !- CHR$(27)+CHR$(40)+" ? ? ? , ------ ."" |
| !- 1BH 28H 3?H 3?H 3?H 2CH ------ 2EH" |
| |
| [!XXX"] = 3-digit decimal number which represents the column |
| in which you wish to place a Horizontal Tab Stop. Commas |
| must be used to separate each number and the sequence must |
| end with a period. Up to thirty-two(32) Horizontal Tabs |
| Stops may be set at one time. |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| The !RANGE" of [!XXX"] for these two(2) control sequences is: |A
| |
| !PICA from 1 to 80 - PROPORTIONAL from 1 to 80" |
| !ELITE from 1 to 96 - COMPRESSED from 1 to 136" |
| |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| Removes (clears) selected Horizontal Tab Stops. |A
| |
| !ESC ) [XXX],nnn,...,[XXX]" |
| !- CHR$(27)+CHR$(41)+" ? ? ? , ------ ."" |
| !- 1BH 29H 3?H 3?H 3?H 2CH ------ 2EH" |
| |
| [!XXX"] = 3-digit decimal number which represents the column |
| from which you wish to remove the Horizontal Tab Stop. You |
| must use commas to separate each position and end the |
| control sequence with a period. |T12
-------------------------------------------------------------T36
A
T36
-------------------------------------------------------------T12
| Clears all current Horizontal Tab Stops. |A
| |
| !ESC 2 - CHR$(27)+CHR$(50) - 1BH 32H" |
| |T12
-------------------------------------------------------------T36
A
C.3
(continued) !XAPPENDIX CY
CONTROL SEQUENCES" (continued)
!Vertical Movement"
This group of Control Sequences either control or cause
vertical movement of the print head.
T36
-------------------------------------------------------------T12
| Moves the print head vertically one(1) line. The direction |A
| is dependent upon the current LF direction. |
| |
| !LF - CHR$(10) - 0AH - Line Feed" |
| |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| Moves the print head to the next Vertical Tab Stop set in |A
| channel 2. |
| |
| !VT - CHR$(11) - 0BH - Vertical Tab" |
| |
| If the print head is at or beyond the last tab stop, (or if |
| no Vertical Tabs are set), the print head will move to the |
| next TOF in either direction. |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| A Vertical Tab command. When combined with the following |A
| one(1) byte, this command will to move the print head to |
| either the named channel or the specified number of lines. |
| |
| !US + [XX] - CHR$(31) + [XX] - Unit Separator" |
| !- 1FH + [XX]" |
| |
| [!XX"] = a single byte which is configured to specify either |
| the number of lines or a specific channel number. |
| |
| bits |
| X7 6 5 !4 - 3 2 1 0" Limits Y |
| !Channel Number" - 0 0 0 !0" - 0 !x x x" - 0 < total > 7 |
| !Number of Lines" - 0 0 0 !1" - !x x x x" - 0 < total > 16 |
| |T12
-------------------------------------------------------------T36
A
C.4
(continued) !XAPPENDIX CY
CONTROL SEQUENCES" (continued)
!Vertical Movement" (continued)
T36
-------------------------------------------------------------T12
| Moves the print head to the next TOF in either LF direction.|A
| |
| !FF - CHR$(12) - 0CH - Form Feed" |
| |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| These sequences are used to select the Line Feed direction. |A
| |
| !ESC f - CHR$(27)+CHR$(102) - 1BH 66H - Forward LF" |
| !ESC r - CHR$(27)+CHR$(114) - 1BH 72H - Reverse LF" |
| |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| These control sequences establish the number of lines per |A
| inch (Line Spacing). |
| |
| !ESC A - CHR$(27)+CHR$(65) - 1BH 41H - 1/6" Line Feed" |
| !ESC B - CHR$(27)+CHR$(66) - 1BH 42H - 1/8" Line Feed" |
| !ESC T [XX] - CHR$(27)+CHR$(84)+" ? ? "" |
| !- 1BH 54H 3?H 3?H" |
| |
| [!XX"] = A 2-digit decimal number which represents the number |
| of 144ths of an inch for each Line Feed. |T12
-------------------------------------------------------------T36
A
C.5
(continued)!X APPENDIX CY
CONTROL SEQUENCES" (continued)
!Vertical Movement" (continued)
The following control sequences are used in combination to
set the Vertical Format.
T36
-------------------------------------------------------------T12
| The initial Start Load command when setting the Vertical |A
| Format. |
| |
| !GS - CHR$(29) - 1DH - Group Separator" |
| |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| The End of Load command when setting the Vertical Format. |A
| |
| !RS - CHR$(30) - 1EH - Record Separator" |
| |T12
-------------------------------------------------------------T36
A
!EXAMPLE"
Sections of a program to set the Vertical Format
!LN | BINARY Bit Placement | HEX | ASCII |
X# 7 6 5 4 3 2 1 0 - 7 6 5 4 3 2 1 0 | | |Y
byte 1 byte 2"
0 !0 0 0 1 1 1 0 1 (GS code-1 byte) - 1D - 29"
1 0 1 0 0 0 0 0 !1" - 0 1 0 0 0 0 0 0 -!TOF-41" 40 - !65" 64
2 0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0 - 40 40 - 64 64
3 0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0 - 40 40 - 64 64
4 0 1 0 0 !1" 0 0 0 - 0 1 0 0 0 0 0 0 -!VT- 48" 40 - !72" 64
5 0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0 - 40 40 - 64 64
6 0 1 0 0 0 0 !1" 0 - 0 1 0 0 0 0 0 0 -!VT- 42" 40 - !66" 64
7 0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0 - 40 40 - 64 64
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
20 0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0 - 40 40 - 64 64
21 0 1 0 0 0 0 !1 1" - 0 1 0 0 0 0 0 0 -!BOF-43" 40 - !67" 64
22 0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0 - 40 40 - 64 64
23 0 1 0 0 0 0 0 0 - 0 1 0 0 0 0 0 0 - 40 40 - 64 64
24 0 1 0 0 0 0 0 !1" - 0 1 0 0 0 0 0 0 -!TOF-41" 40 - !65" 64
25 !0 0 0 1 1 1 1 0 (RS code-1byte) - 1E - 30"
C.6
(continued) !XAPPENDIX CY
CONTROL SEQUENCES" (continued)
!Manipulation of Printable Characters"
This group of control sequences gives you control over the
selection of Character Pitch, Character Sets, and how those
characters will appear when printed.
T36
-------------------------------------------------------------T12
| Sequences which select the Character Pitch. |A
| |
| !ESC P - CHR$(27)+CHR$(80) - 1BH 50H - Proportional" |
| !ESC N - CHR$(27)+CHR$(78) - 1BH 4EH - Pica" |
| !ESC E - CHR$(27)+CHR$(69) - 1BH 45H - Elite" |
| !ESC Q - CHR$(27)+CHR$(81) - 1BH 51H - Compressed" |
| |T12
-------------------------------------------------------------T48
-------------------------------------------------------------T12
| Control sequences giving you options which will enhance the |A
| appearance of the characters that will be printed. |
| |
| !SO - CHR$(14) - 0EH - Elongated" (dbl width)! ON" |
| !SI - CHR$(15) - 0FH - Elongated (cancell) OFF" |
| |T12
*
| !DC2 - CHR$(18) - 12H - Italics" (toggle)! - ON/OFF " |A
| !DC4 - CHR$(20) - 14H - 7-bit Elongated OFF" |
| |
| !ESC ! - CHR$(27)+CHR$(33) - 1BH 21H - Bold Print ON" |
| !ESC " - CHR$(27)+CHR$(34) - 1BH 22H - Bold Print OFF" |
| |
| !ESC X - CHR$(27)+CHR$(88) - 1BH 58H - Underlining ON" |
| !ESC Y - CHR$(27)+CHR$(89) - 1BH 59H - Underlining OFF" |
| |T12
*
| DC2 and DC4 are used in place of SO and SI when you use |A
| the printer set to receive 7-bit code and are also using |
| the Japanese character Set. Since most of us in the U.S.A. |
| speak English, we don't need this possible code useage, and |
| so will be using DC2 as a toggle for Italic Characters, if |
| PRINT_CHARACTERS is installed. |T12
-------------------------------------------------------------T36
A
C.7
(continued) !XAPPENDIX CY
CONTROL SEQUENCES" (continued)
!Manipulation of Printable Characters" (continued)
T36
-------------------------------------------------------------T12
| Control sequences that give access to the two(2) Char- |A
| acter Sets which are stored in the NEC 8023A's ROM memory. |
| |
| !ESC # - CHR$(27)+CHR$(35) - 1BH 23H - GRAPHICS SYMBOLS" |
| !ESC $ - CHR$(27)+CHR$(36) - 1BH 24H - ASCII" (standard) |
| |
| At power-on, the ASCII Character Set is established. If |
| the printer is set to receive 8-bit data, the new Character |
| Set will replace the characters which correspond to ASCII |
| codes CHR$(160) to CHR$(223). But, if the printer is set |
| for 7-bit data, the ASCII codes from CHR$(32) to CHR$(95) |
| will be replaced. |T12
-------------------------------------------------------------T36
A
C.8
(continued) !XAPPENDIX CY
CONTROL SEQUENCES" (continued)
!Bit-Graphics"
T36
-------------------------------------------------------------T12
| This sequence places the printer into bit-immage graphics |A
| and prints the specified number of following bytes as bit |
| information. |
| |
| !ESC S [XXXX] - CHR$(27)+CHR$(83)+ " ? ? ? ? "" |
| !- 1BH 53H 3?H 3?H 3?H 3?H" |
| |
| [!XXXX"] = a 4-digit decimal number which represents how many |
| of the following bytes will be printed as bit images. The |
| number of dots per inch and line in each Character Pitch is |
| |
| !PICA 80/in - 640/ln PROPORTIONAL 160/in - 1280/ln" |
| !ELITE 96/in - 786/ln COMPRESSED 136/in - 1088/ln" |
| | T12
-------------------------------------------------------------T36
A
C.9
(continued) !XAPPENDIX CY
CONTROL SEQUENCES" (continued)
!Bit-Graphics" (continued)
!EXAMPLE"
To print the letter "M" using bit-image graphics:
!1)" Lay out the letter on an 8 x 8 matrix. Notice that the
letter is left justified in the matrix (most are).
X Y
| | | | | | | | |T12
bit 0 * *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 1 * * * *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 2 * * * *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 3 * * *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 4 * *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 5 * *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 6 * *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 7
|X | | | | | | | Y|A
!2)" Translate this BINary information into either HEXadecimal
or DECamal numbers.
!HEXadecimal |7F |02 |04 |08 |04 |02 |7F |00 |"
!DECimal |127| 2 | 4 | 8 | 4 | 2 |127| 0 |"
!3)" Place the bit information at the end of the control
sequence. We have eight(8) columns of graphics this time.
!ESC S "0008"+CHR$(127)+CHR$(2)+CHR$(4)+CHR$(8)+
CHR$(4)+CHR$(2)+CHR$(127)+CHR$(0)"
T80
A
C.10
L000> !XAPPENDIX DY"
!ASCII CHARACTER CODES"
L008
!XDEC HEX BIN CHR DEC HEX BIN CHRY"
0 00 0000-0000 NUL 48 30 0011-0000 0
1 01 0000-0001 SOH 49 31 0011-0001 1
2 02 0000-0010 STX 50 32 0011-0010 2
3 03 0000-0011 ETX 51 33 0011-0011 3
4 04 0000-0100 EOT 52 34 0011-0100 4
5 05 0000-0101 ENQ 53 35 0011-0101 5
6 06 0000-0110 ACK 54 36 0011-0110 6
7 07 0000-0111 BEL 55 37 0011-0111 7
8 08 0000-1000 BS 56 38 0011-1000 8
9 09 0000-1001 HT 57 39 0011-1001 9
10 0A 0000-1010 LF 58 3A 0011-1010 :
11 0B 0000-1011 VT 59 3B 0011-1011 ;
12 0C 0000-1100 FF 60 3C 0011-1100 <
13 0D 0000-1101 CR 61 3D 0011-1101 =
14 0E 0000-1110 SO 62 3E 0011-1110 >
15 0F 0000-1111 SI 63 3F 0011-1111 ?
16 10 0001-0000 DLE 64 40 0100-0000 @
17 11 0001-0001 DC1 65 41 0100-0001 A
18 12 0001-0010 DC2 66 42 0100-0010 B
19 13 0001-0011 DC3 67 43 0100-0011 C
20 14 0001-0100 DC4 68 44 0100-0100 D
21 15 0001-0101 NAK 69 45 0100-0101 E
22 16 0001-0110 SYN 70 46 0100-0110 F
23 17 0001-0111 ETB 71 47 0100-0111 G
24 18 0001-1000 CAN 72 48 0100-1000 H
25 19 0001-1001 EM 73 49 0100-1001 I
26 1A 0001-1010 SUB 74 4A 0101-1010 J
27 1B 0001-1011 ESC 75 4B 0100-1011 K
28 1C 0001-1100 FS 76 4C 0100-1100 L
29 1D 0001-1101 GS 77 4D 0100-1101 M
30 1E 0001-1110 RS 78 4E 0100-1110 N
31 1F 0001-1111 US 79 4F 0100-1111 O
32 20 0010-0000 SPC 80 50 0101-0000 P
33 21 0010-0001 ! 81 51 0101-0001 Q
34 22 0010-0010 " 82 52 0101-0010 R
35 23 0010-0011 # 83 53 0101-0011 S
36 24 0010-0100 $ 84 54 0101-0100 T
37 25 0010-0101 % 85 55 0101-0101 U
38 26 0010-0110 & 86 56 0101-0110 V
39 27 0010-0111 ' 87 57 0101-0111 W
40 28 0010-1000 ( 88 58 0101-1000 X
41 29 0010-1001 ) 89 59 0101-1001 Y
42 2A 0010-1010 * 90 5A 0101-1010 Z
43 2B 0010-1011 + 91 5B 0101-1011 [
44 2C 0010-1100 , 92 5C 0101-1100 \
45 2D 0010-1101 - 93 5D 0101-1101 ]
46 2E 0010-1110 . 94 5E 0101-1110 ^
47 2F 0010-1111 / 95 5F 0101-1111 _
D.1
L000 !XAPPENDIX DY"
!ASCII CHARACTER CODES"
L008
!XDEC HEX BIN CHR DEC HEX BIN CHRY"
96 60 0110-0000 ` 144 90 1001-0000 É
97 61 0110-0001 a 145 91 1001-0001 æ
98 62 0110-0010 b 146 92 1001-0010 Æ
99 63 0110-0011 c 147 93 1001-0011 ô
100 64 0110-0100 d 148 94 1001-0100 ö
101 65 0110-0101 e 149 95 1001-0101 ò
102 66 0110-0110 f 150 96 1001-0110 û
103 67 0110-0111 g 151 97 1001-0111 ù
104 68 0110-1000 h 152 98 1001-1000 ÿ
105 69 0110-1001 i 153 99 1001-1001 Ö
106 6A 0110-1010 j 154 9A 1001-1010 Ü
107 6B 0110-1011 k 155 9B 1001-1011 ¢
108 6C 0110-1100 l 156 9C 1001-1100 £
109 6D 0110-1101 m 157 9D 1001-1101 ¥
110 6E 0110-1110 n 158 9E 1001-1110 ₧
111 6F 0110-1111 o 159 9F 1001-1111 ƒ
112 70 0111-0000 p 160 A0 1010-0000 á
113 71 0111-0001 q 161 A1 1010-0001 í
114 72 0111-0010 r 162 A2 1010-0010 ó
115 73 0111-0011 s 163 A3 1010-0011 ú
116 74 0111-0100 t 164 A4 1010-0100 ñ
117 75 0111-0101 u 165 A5 1010-0101 Ñ
118 76 0111-0110 v 166 A6 1010-0110 ª
119 77 0111-0111 w 167 A7 1010-0111 º
120 78 0111-1000 x 168 A8 1010-1000 ¿
121 79 0111-1001 y 169 A9 1010-1001 ⌐
122 7A 0111-1010 z 170 AA 1010-1010 ¬
123 7B 0111-1011 { 171 AB 1010-1011 ½
124 7C 0111-1100 | 172 AC 1010-1100 ¼
125 7D 0111-1101 } 173 AD 1010-1101 ¡
126 7E 0111-1110 ~ 174 AE 1010-1110 «
127 7F 0111-1111 175 AF 1010-1111 »
128 80 1000-0000 Ç 176 B0 1011-0000 ░
129 81 1000-0001 ü 177 B1 1011-0001 ▒
130 82 1000-0010 é 178 B2 1011-0010 ▓
131 83 1000-0011 â 179 B3 1011-0011 │
132 84 1000-0100 ä 180 B4 1011-0100 ┤
133 85 1000-0101 à 181 B5 1011-0101 ╡
134 86 1000-0110 å 182 B6 1011-0110 ╢
135 87 1000-0111 ç 183 B7 1011-0111 ╖
136 88 1000-1000 ê 184 B8 1011-1000 ╕
137 89 1000-1001 ë 185 B9 1011-1001 ╣
138 8A 1000-1010 è 186 BA 1011-1010 ║
139 8B 1000-1011 ï 187 BB 1011-1011 ╗
140 8C 1000-1100 î 188 BC 1011-1100 ╝
141 8D 1000-1101 ì 189 BD 1011-1101 ╜
142 8E 1000-1110 Ä 190 BE 1011-1110 ╛
143 8F 1000-1111 Å 191 BF 1011-1111 ┐
D.2
L000 !XAPPENDIX DY"
!ASCII CHARACTER CODES"
L008
!XDEC HEX BIN CHR DEC HEX BIN CHRY"
192 C0 1100-0000 └ 240 F0 1111-0000 ≡
193 C1 1100-0001 ┴ 241 F1 1111-0001 ±
194 C2 1100-0010 ┬ 242 F2 1111-0010 ≥
195 C3 1100-0011 ├ 243 F3 1111-0011 ≤
196 C4 1100-0100 ─ 244 F4 1111-0100 ⌠
197 C5 1100-0101 ┼ 245 F5 1111-0101 ⌡
198 C6 1100-0110 ╞ 246 F6 1111-0110 ÷
199 C7 1100-0111 ╟ 247 F7 1111-0111 ≈
200 C8 1100-1000 ╚ 248 F8 1111-1000 °
201 C9 1100-1001 ╔ 249 F9 1111-1001 ∙
202 CA 1100-1010 ╩ 250 FA 1111-1010 ·
203 CB 1100-1011 ╦ 251 FB 1111-1011 √
204 CC 1100-1100 ╠ 252 FC 1111-1100 ⁿ
205 CD 1100-1101 ═ 253 FD 1111-1101 ²
206 CE 1100-1110 ╬ 254 FE 1111-1110 ■
207 CF 1100-1111 ╧ 255 FF 1111-1111
208 D0 1101-0000 ╨
209 D1 1101-0001 ╤
210 D2 1101-0010 ╥
211 D3 1101-0011 ╙
212 D4 1101-0100 ╘
213 D5 1101-0101 ╒
214 D6 1101-0110 ╓
215 D7 1101-0111 ╫
216 D8 1101-1000 ╪
217 D9 1101-1001 ┘
218 DA 1101-1010 ┌
219 DB 1101-1011 █
220 DC 1101-1100 ▄
221 DD 1101-1101 ▌
222 DE 1101-1110 ▐
223 DF 1101-1111 ▀
224 E0 1110-0000 α
225 E1 1110-0001 ß
226 E2 1110-0010 Γ
227 E3 1110-0011 π
228 E4 1110-0100 Σ
229 E5 1110-0101 σ
230 E6 1110-0110 µ
231 E7 1110-0111 τ
232 E8 1110-1000 Φ
233 E9 1110-1001 Θ
234 EA 1110-1010 Ω
235 EB 1110-1011 δ
236 EC 1110-1100 ∞
237 ED 1110-1101 φ
238 EE 1110-1110 ε
239 EF 1110-1111 ∩
D.3<
!XAPPENDIX EY
NUMBERING SYSTEMS"
Most of us count using !DEC"imal numbers. It !is a BASE 10 system"
which means that it has 10 digits (0 through 9). But a com-
puter uses a !BASE 2" counting system that !is called BIN"ary. (So
does your printer, by the way). Even though we probably won't
start using BINary arithmetic in our daily lives, if we expect
to make any inroads into the understanding of the computer,
(and the NEC 8023A), it sure helps to have at lease a smat-
tering of knowledge about BINary numbers. So here goes.
The binary system has only two(2) digits for counting. You
probably guessed as much. The digits are 0 and 1. In the
computer these used as OFF(0) and ON(1). As I'm sure you can
imagine, it is extremely difficult, for humans at least, to
keep track of very large numbers using BINary without making
lots of mistakes.
So, somewhere along the line, the !HEX"adecimal numbering system
came into being. It has 16 digits and so !is a BASE 16 system".
At first this might seem even more complicated than BASE 10 or
BASE 2. It isn't, beleive me!
Most computers and printers have been designed to work with at
least one(1) byte of information at a time. At least that's
the way it appears to those of us outside of the micro-
processor. Since this is the case, it means that we can use
eight(8) BITS(binary digits) to represent this single byte of
information.
Like this. !xxxx-xxxx = 1 BYTE"
Now, since there are only sixteen(16) posible combinations of
1's and 0's for each half of any byte, (half of a byte is
called a nybble), you can see how HEXadecimal counting came
into being.
E.1
!XAPPENDIX EY
NUMBERING SYSTEMS"
What we need now is a single digit to represent each nybble of
a byte, and that's exactly what we have with HEXadecimal num-
bers. But I only know 10 digits. Do I have to make up six(6)
new ones to be able to use HEX? No! Someone else already did.
Well, what actually happened, is that it was decided to use the
first six(6) letters of the alphabet, since most of us are
already familiar with them.
Here is a table that shows the relationship between the
three(3) numbering systems we have talked about. The DECimal
numbers are in the first column, (since you are familiar with
those), the BINary numbers second, (since that is what a
computer or printer uses), and last HEXadecimal, (a meeting
place somewhere between us and the computer).
!DEC BIN HEX"
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
Now, if we have 2 nybbles instead of the 1 shown in the table,
we can have a total 256 combinations. One(1) byte. Familiar?
That is the number of ASCII characters. Exactly!
With the NEC 8023A, the main use for all this information, will
be when you're doing Bit-Graphics. On the next page is a table
that you may find useful for converting your bit-images into
either HEX or DEC data so it can be sent to the printer.
This is certainly not an in-depth discussion of the different
numbering systems, but then that is just a bit beyond the scope
of this manual.
E.2
!XAPPENDIX EY
NUMBERING SYSTEMS
LEAST and MOST SIGNIFICANT BITS"
0-3 4-7
!DECIMAL"
L002Q
X 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Y
0 |X | | | | | | | | * | * | * | * | * | * | * | * || | | | | | | | | | | | | | | Y|
1 |X | | | | * | * | * | * | | | | | * | * | * | * || | | | | | | | | | | | | | | Y|
2 |X | | * | * | | | * | * | | | * | * | | | * | * || | | | | | | | | | | | | | | Y|
3 |X | * | | * | | * | | * | | * | | * | | * | | * || | | | | | | | | | | | | | | Y|
4 |X | | | | | | | | | | | | | | | || | | | | | | | * | * | * | * | * | * | * | * Y|
5 |X | | | | | | | | | | | | | | | || | | | * | * | * | * | | | | | * | * | * | * Y|
6 |X | | | | | | | | | | | | | | | || | * | * | | | * | * | | | * | * | | | * | * Y|
7 |X | | | | | | | | | | | | | | | || * | | * | | * | | * | | * | | * | | * | | * Y|
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 20 30 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0
NL008
!HEXADECIMAL"
-------------------------------------------------------------
!DECIMAL"
X 1 2 4 8 16 32 64 128 Y
| | | | | | | | |T12
bit 0 *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 1 *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 2 *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 3 *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 4 *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 5 *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 6 *
|X | | | | | | | Y|A
| | | | | | | | |T12
bit 7 *
|X | | | | | | | Y|A
01 02 04 08 10 20 30 80T48
!HEXADECIMAL"T66
A
E.3
!XINDEXY"
ASCII CODES list D.1 | LINE SPACING
ASPECT, SCREEN (notes) 2.6 | Explanation 4.3
AUTOEXEC.BAT FILE | Print_Characters 3.5
Print_Characters 3.3 | Setting w/PRNT-SET 4.20
Print_Screen 2.3 | MARGIN, LEFT
BACKUP COPIES | Explanation 4.6
Policy 1.3 | Setting w/PRNT-SET 4.21
Procedure 1.3 | NUMBERING SYSTEMS E.1
BINary NUMBERS 4.13, E.1 | NUMBERS
BOTTOM OF FORM (BOF) 4.12 | BINary 4.13
CHARACTER CODES, ASCII D.1 | DECimal E.1
CHARACTER PITCH | HEXadecimal 3.1
Explanation 4.2 | OUT Command (notes) 3.5
Setting w/PRNT-SET 4.20 | PAGE LENGTH (TOF-BOF) 4.12
CONNECTING LINKS (notes) 3.5 | PITCH,CHARACTER
CONTROL SEQUENCES C.1 | Explanation 4.2
COPY 1.3 | Setting w/PRNT-SET 4.20
DECimal NUMBERS E.1 | PRINTER CONTROL C.1
DEMONSTRATION | PRINTER HOOK-UP (notes) 2.6
Print_Characters 3.2 | PRINT_CHARACTERS
Printer_Set 4.19 | Autoexec.bat File 3.3
Print_Screen 2.2 | Demonstration 3.2
DEMOnstration DISKette | Explanation 3.1
Making 1.3 | Extended ASCII Set 3.1
Use of 2.2, 3.2, 4.19 | Installation
DISKCOPY 1.3 | Method One 3.2
ESCape Code (notes) 4.1 | Method Two 3.3
FINALWORD 5.13 | Italics Characters 3.1
FORM LENGTH (TOF-TOF) 4.12 | Program Use 3.1
Setting w/PRNT-SET 4.22 | Technical Information 3.4
FORMS | PRINTER_SET
Explanation 4.7 | Program Use 4.1
Setting | Demonstration 4.19
From BASIC 4.13 | PRINTER SWITCH SETTINGS A.1
With PRINTER_SET 4.22 | PRINT_SCREEN
FORMAT 1.3 | Access from BASIC
GROUP SEPARATOR (GS) 4.9 | Explanation 2.4
HEXadecimal NUMBERS 3.1, E.1 | Program Listing 2.5
HORIZONTAL TABS | Autoexec.bat File 2.3
Explanation 4.4 | Demontratrion 2.2
Setting w/PRNT-SET 4.21 | Explanation 2.1
H TEST B.1 | Installation
INKEY$ 2.4 | Method One 2.2
INTerrupt 5H 2.4 | Method Two 2.3
INTerrupt 17H (notes) 3.5 | Program Use 2.1
LEFT MARGIN | Technical Information 2.6
Explanation 4.6 |
Setting w/PRNT-SET 4.21 |
X.1
!XINDEXY"
PROGRAM USE
Print_Characters 3.1
Printer_Set 4.1
Print_Screen 2.1
RECORD SEPARATOR (RS) 4.9
REQUIREMENTS
Computer 1.2
Diskdrives 1.2
Display 1.2
Display Adapter 1.2
Memory 1.2
Operating System 1.2
Printer 1.2
SCREEN ASPECT (notes) 2.6
SINGLE DRIVE (notes) 1.3
SOFTWARE LIST 1.1
SWITCH SETTINGS A.1
TABS
Horizontal
Explanation 4.4
Setting w/PRNT-SET 4.21
Vertical
Explanation 4.16
Setting w/PRNT-SET 4.22
TECHNICAL INFORMATION
Print_Characters 3.4
Print_Screen 2.6
TOP OF FORM (TOF) 4.12
Setting w/PRNT-SET 4.22
TRANSPARENCIES (notes) 2.6
UNIT SEPARATOR (US) 4.16
VERTICAL FORMAT
Explanation 4.7
Setting
From BASIC 4.13
From PRINTER_SET 4.22
VERTICAL TABS
Explanation 4.16
Setting w/PRNT-SET 4.22
VOLKSWRITER 5.12
WORD PROCESSING 5.1
FinalWord 5.13
Volkswriter 5.12
WordStar 5.2
WORDSTAR 5.2
X.2
!XADVERTISINGY
T12
tm
USERWARE"T48
I prefer to think of certain software products now available inA
the market place as being USERWARE. Each of these products
has several things in common.
!1)" Each is designed for ease of use by the final user.
!2)" The user is able to test the utility of the software on
his/her own system before committing to purchase.
!3)" The distribution of the product is handled mainly by the
user.
!4)" The author's contributions are the programming, program
updating, and user support.
!5)" The viability of the software depends on the continued
support of those who use it.
The USERWARE method of distribution and support is unique in
that it allows each of us involved to make contributions in the
areas for which we are individually suited.
Since I am the author, my contributions are rather obvious.
Programming, updating and especially user support. But, my on
going support is only possible if I continue to receive regis-
tration fees. If registrations stop or slow to a trickle, I
can only assume that the NEC 8023A UTILITIES are no longer
viable and will therefore shift my attention elseware.
As the user of this product, and others like it, your continued
support is in the form of suggestions for changes and or addi-
tions to the existing package. And don't forget, !YOU ARE THE
DISTRIBUTOR." So distribute. Please!!
Being a strong believer in USERWARE, as a further contribution
to this method of distribution, etc., I will include a page of
advertising for other major products that fit this catagory.
If you are the author of such a program, please contact me.
ADV
!XADVERTISINGY
T12
tm
USERWARE"T36
tmT12
CHASMT48
A
If you use assembly language or are even thinking of adding it
to you repertoire of languages, this is an indispensable piece
of software. CHASM has a definite advantage over the IBM
assembler, in that it much easier to use.
!Several strong points are:
1)" You are able to assemble a COM program in a single step as
opposed to the complicated and convoluted method needed for
the IBM assembler.
!2)" Included are two(2) different, simple mechanisms for getting
machine language routines into BASIC.
!3)" The program's manual and beginner's primer are very clearly
written and easily understood.
!4)" Unlike the support (?) available for the IBM assembler, the
author of CHASM is extremely supportive and accessible.
The NEC 8023A UTILITIES and other assembly language programs
produced by SOFT & FRIENDLY were assembled using CHASM. I
couldn'd do without it.
CHASM will run easily in a 64K machine and is available from
the author. The suggested registration (contribution) is $30.
To receive an evaluation copy send a blank, formatted diskette
to the author. An addressed, postage-paid return mailer must
accompany the diskette.
!WHITMAN SOFTWARE
David Whitman
136 Wellington Terrace
Lansdale PA 19446"
ADV
!XADVERTISINGY
T12
tm
USERWARE"T36
tmT12
NUMZAPT48
A
If you use the IBM/Microsoft BASIC compiler, chances are your
programs are bigger and slower than they have to be. If all
unreferenced line numbers are removed from your source program,
and the /N switch is used, BASCOM will optimize your program.
The result is tighter, more efficient code.
NUMZAP is a utility which carefully scans your source file, and
deletes all the non-essential line numbers. Performing this
task by hand would be prohibitively time comsuming and you'ld
probably introduce errors into your program in the process.
NUMZAP will do the job in minutes, 100% error free.
An added advantage to using NUMZAP is that bigger programs can
be compiled. You may not be aware that there is a limit on the
size of programs which the compiler can handle. BASCOM uses up
space remembering the offset of each line number in your pro-
gram. If you have too many numbered lines, BASCOM will run out
of room and you'll get an unending series of TC, Too Complex,
error messages. By eliminating the unneeded line numbers, you
give BASCOM more elbow room.
The suggested registration (contribution) is $15. To receive
an evaluation copy send a blank, formatted diskette to the
author. An addressed, postage-paid return mailer must accom-
pany the diskette.
!WHITMAN SOFTWARE
David Whitman
136 Wellington Terrace
Lansdale PA 19446"
ADV
!XADVERTISINGY
T12
tm
USERWARE"T48
A
PRINTER UTILITIES
SOFT & FRIENDLY is continually adding utilities for various
printers available on the market. At the writing of this
user manual, the list includes:
!PRINT_SCREEN for:
TOSHIBA 1350P
EPSON RX-80
PROWRITER UTILITIES" (PRNT-SCN,PRNT-CHR, and PRNT-SET)
!SET_PRINTER for:" (a batch file printer setting utility)
!TOSHIBA 1350P
EPSON RX-80
PROWRITER I & II
OKIDATA 92
NEC 8023A
NEC PINWRITER P2-2"
By the time you read this list, the number of programs will
have surely increased. To get an updated list, contact:
!SOFT & FRIENDLY
Michael L Hoyt
R 2 Box 65
Solsberry IN 47459
812-825-7384"
ADV