ATD16169823503

CONNECT
DISPLAY version 1.4 released 1-11-85.
= M =
Zenith Data Systems Software Consultation Information Bulletin Board

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Product Bulletins and Special Announcements		01/18/85	22k
B - Information about the bulletin board		01/11/85	8k
C - General Software Consultation Information		11/26/84	16k
D - Zenith Data Systems Hardware & Software Products	12/06/84	9k
E - Z-100 PC List of Tested Hardware and Software	01/02/85	33k
F - Applications software information			08/09/84	40k
G - Operating systems/languages software information	01/18/85	192k
H - General computer hardware related information	01/02/85	67k
* - Download all bulletin board material				373k
X - EXIT BULLETIN BOARD
Y - Change the default number of lines per screen
Z - Leave a comment for Software Consultation
Enter the letter of the desired option - *
= MA =
Product Bulletins and Announcements
-----
January 18, 1984

Zenith Data Systems is now shipping a green screen version of the Z-49 DEC
VT-102 compatible terminal (model number Z-49-G, list price $1099).
-----
January 11, 1984

Zenith Data Systems Software Consultation Bulletin Board now has two phone
lines and computers to serve you.  If the first phone line/computer is busy
you will be automatically transferred to the second phone line/computer.  If
the second is also busy then you will receive a busy signal.
-----
January 10, 1984

There have been some communications problems over the past couple of weeks
which have caused difficulty with connecting to the bulletin board.  These
have been corrected and there should no longer be any difficulty with making
a connection.  We apologize for any inconvenience this may have caused.
-----
December 5, 1984

Zenith Data Systems is now offering Computer Innovations Optimizing C86
version 2.2 'C' compiler for the Z-100 and Z-150 series of computers.  Model
number, CI-5063-1 list price, $420.  This version of 'C' features support of
Z-DOS, MS-DOS version 2 operating system functions and Z-150 only graphics.
-----
December 5, 1984

Zenith Data Systems is now shipping The Programmer's Reference Manual, model
number TM-150, list price $25.	This manual contains additional information
supplementing the Programmers Utility Pack concerning some of the hardware
level operation specifically for assembly language programmers.  Also
included is the iAPX 88 Book from Intel to provide you with a complete,
comprehensive description of the Intel 8088 and its instruction set.
-----
December 3, 1984

Additional programs and documentation have been developed to improve IBM
compatibility and provide additional features for the Z-150 MS-DOS version 2
operating system (OS-63-50).  The programs are:  NODEBUG - temporarily
disable Zenith extended debugging features which conflict with some third
party software, BOOTF - temporarily disable the winchester and boot the
floppy to run some third party software, MODE - an IBM compatible program
similar to CONFIGUR, COMP - an IBM compatible program similar to FC, TREE -
an IBM compatible program similar to SEARCH, MAP - a program to change drive
names similar to IBM ASSIGN, ANSI.SYS - an ANSI console device driver and
MDISK.DVD - a memory disk device driver.  Documentation on these additional
programs is included for incorporating into the current manual.  These
programs and documentation are being included with all current production
and are available as updates for a small charge to current owners of the
product (part number 840-43, price $17.35 plus $1.74 shipping and handling)
by contacting the Heath Company parts department.  The phone number is (616)
982-3571.
-----
November 27, 1984

An advanced graphics card (model number Z-319, list price $499) is now being
shipped for the Z-100 PC series of computers.  This card provides Z-100
style graphics for the Z-100 PC computers.  This card when used with a new
operating system (model number OS-63-51, list price $150) provides a high
level of hardware and software compatibility with most Z-100 programs.	At
this time only LOTUS and CPS have been identified as not usable with this
configuration.
-----
November 26, 1984

On the first anniversary of the implementation of the bulletin board Zenith
Data Systems is proud to announce the implementation of new software which
should make the bulletin board easier and faster to use.  The primary
feature of this new software is the implementation of hierarchical menus
which makes it possible to select specific items of information from more
categories than were previously available.  See the section on information
about the bulletin board for details on the use of the new software.
-----
August 31, 1984

The MS-DOS version 2 Programmers Utility Pack for the Z100 and Z100 PC
series of computers has shipped.  The model number is CB-5063-16 the list
price is $199.	This product contains the Microsoft MASM version 1.27
assembler, a screen oriented program editor and sources to the Z100 and Z100
PC operating systems as well as complete documentation of all operating
system and BIOS functions plus numerous utilities useful to assembly
language programmers.
-----
July 27, 1984

The MS-DOS version 2 operating system for the Z100 series of computers has
shipped.  The model number is OS-61-8 the list price is $150.  All
registered owners of the Z-DOS operating system will be receiving a $50
discount coupon toward the purchase of MS-DOS version 2.
-----
February 22, 1984

		ZENITH INTRODUCES SERIES OF FIVE

		IBM-COMPATIBLE PERSONAL COMPUTERS

GLENVIEW, Ill-- Zenith Data Systems Corporation (ZDS), a wholly-owned
subsidiary of Zenith Radio Corporation, today introduced its series of five
new IBM PC-compatible person computer models at news conferences in New York
and San Francisco.

	ZDS also announced that it is negotiating with four major OEM
(original equipment manufacturer) accounts to supply more than $50 million
worth of the new personal computers during the next 12 months.	Furthermore,
with the addition of these new PC models, commitments from ZDS distributors
for the Z-100 family of computers are five times greater than a year ago.
	"The new Zenith Z-100 PCs are IBM-compatibles that go beyond
compatibility by offering more standard features, improved design and better
performance -- all in a smaller package and at competitive prices," said
Donald P. Moffet, ZDS president.
	The Z-100 PC systems are both software and expansion-board
compatible with the IBM PC.
	"To date, we have successfully tested more than 175 software
programs written for the IBM PC, and dozens of plug-in boards as well,"
Moffet said.  "We ran them right out of the box -- without any modification
-- and this includes such standards for compatibility as Lotus 1-2-3* and
Flight Simulator**."
	The new line of Z-100 PCs includes three desktop systems and two
portable systems.  All have 128K RAM expandable to 640K, two RS-232-C serial
ports, one Centronics-compatible parallel port, RGB color ouput, an IBM
expansion bus and a detached keyboard.	When fully configured, all have four
additional slots for expansion.  Desktop models also provide "gray-scale"
monochrome output.
	Desktop systems are available in three configurations with 5-1/4
inch floppy disk drives:  a single-drive system ($2,699 suggested retail), a
dual-drive system ($3,099 suggested retail), and a dual-drive system with
one floppy disk drive and one 10.6 million byte Winchester hard disk drive
($4,799 suggested retail).  Desktop systems do not include a monitor as
standard equipment.
	The two portable systems, both with built-in 9-inch amber monitors,
have suggested retail prices of $2,799 for single floppy disk drive version
and $3,199 for the dual floppy disk drive version.
	Shipments of the new Z-100 PC desktop models have begun.  Portable
model shipments are planned for early May.
	The new Z-100 PCs will be distributed through the ZDS network of 23
U.S. and Canadian wholesale distributors and more than 950 retail outlets in
North America, including Control Data Business Centers, and through direct
sales to national accounts, educational institutions and government
agencies.  They also will be available at any of the 73 North American
Heathkit Electronic Centers and through the Heathkit mail order catalog.
Zenith Data Systems products also are distributed overseas through wholly-
owned subsidiaries in major European countries and more than 40 independent
distributors throughout the world.
	ZDS markets desktop and portable microcomputer systems, video
monitors and terminals to businesses, professionals, colleges and
universities, government agencies and original equipment manufacturers.

*Lotus 1-2-3 is a trademark of Lotus Development Corporation.

**Flight Simulator is a registered trademark of Microsoft Corporation.
-----
February 22, 1984

ZENITH DATA SYSTEMS' PERSONAL COMPUTERS

CONFIGURATION

1.	Q:  What is the Zenith Data Systems Personal Computer?

	A:  The Zenith Data Systems Personal Computer is a line of personal
computers in series of both desktop and portable configurations.

2.	Q:  What is the basic configuration of the Zenith Data Systems
Personal Computer?

	A: The basic configuration consists of:

*  A system unit which houses 128K of RAM, two (2) RS-232-C serial ports,
one (1) parallel port, Color graphics capabilities with RGBI and composit
monochrome output and one (1) 5-1/4" 48 TPI DSDD 360K floppy disk drive.
Detached keyboard.

3.	Q:  What is the basic configuration of the portable system?

	A:  The portable unit is a compact system with 128K of RAM, two (2)
RS-232C serial ports, one (1) parallel port, one (1) 5-1/4" 48TPI DSDD 360K
floppy disk drive, built-in 9" amber monitor and RGBI color output.

COMPATIBILITY

1.	Q:  What is the compatibility between the Zenith Data Systems
Personal Computer and the IBM PC?

	A:  Virtually all programs written for the IBM PC will run on the
ZDS PC without modification.  (Zenith Data Systems will regularly publish a
listing of tested software.)

	It will accept many of the expansion boards made available for the
IBM PC.  (A list of tested expansion boards will also be available from
Zenith Data Systems' distributors and dealers).

2.	Q:  What are the differences between the ZDS PC and the IBM PC?

	A:  The ZDS PC has a smaller footprint, increased expansion
capability, larger power supply, more extensive and faster built-in
diagnostics, improved keyboard layout and enhanced video characteristics.

3.	Q:  Will Z-100 software run on the ZDS PC?

	A:  Programs which perform I/O through MS-DOS should run without
modification.  For example:  Fortran, Pascal compilers, and assemblers.

HARDWARE

1.	Q:  What major components make up the Zenith Data Systems Personal
Computer system unit?

	A:  1.	Power Supply (165 watt rating).  2. Back plane board with
four (4) available expansion slots.  3.  CPU board with 8088 processor and
socket for 8087 co-processor installation.  4.	Controller Board -- supports
two (2) internal 5-1/4" floppies; two (2) external floppies (no external
connection); two (2) RS-232C compatible DTE serial ports.  5.  Memory Board
--  128K RAM installed.  Expandable to 320K in 64K increments.	6.  Video
Board --  32K video RAM (16K for video and 16K spare for monitor).  7.
Drive --  5-1/4" 48TPI DSDD 360K floppy disk drive.

2.	Q:  How much ROM is included in the ZDS PC?

	A:  32K bytes.

3.	Q:  What functions does the ROM provide?

	A:  I/O to and from screens, keyboard, disk, serial and parallel I/O
ports, plus a full Microsoft Debug compatible debugger with extensions to
set the video modes and to boot from disk.

4.	Q:  Is it a dual microprocessor system like the Z-100?

	A:  No, the ZDS PC uses the 16-bit 8088 microprocessor.

5.	Q:  What is the clock speed of the processor?

	A:  4.77 Mhz - the same as the IBM PC.

6.	Q:  Does it have sound and music capabilities?

	A:  It has an internal speaker that can be programmed to play music.
This capability is supported in BASIC.

7.	Q:  What type of RAM chips are used?

	A:  64K x 1 dynamic RAM chips are used.  The system will accommodate
256K RAM chips when they are available.

8.	Q:  What is the maximum RAM memory expansion capability?

	A:  Up to 320K on main memory board and second board can be added
for total of 640K maximum.  (Expansion can be done in 64K increments with
the Z05-1 memory kit.)

9.	Q:  Does it have a real time clock?

	A:  A software time clock is included.	Battery-backed hardware
clocks are available from third party supplier.

10.	Q:  What video modes are available?

	A:  There are seven (7) video modes:

	1.  40 columns x 25 lines B/W.
	2.  40 columns x 25 lines color (16 colors).
	3.  80 columns x 25 lines B/W.
	4.  80 columns x 25 lines color (16 colors).
	5.  320 horiz. lines x 200 vert. lines medium resolution color.
	6.  320 horiz. lines x 200 vert. lines medium resolution B/W.
	7.  640 horiz. lines x 200 vert. lines graphic B/W.

	In addition, high speed hardware scrolling and enhanced readability
through smooth scrolling are present.

11.	Q:  Can I use a monochrome monitor and a color monitor at the same
time?

	A:  Yes.

12.	Q:  Can I address the monochrome output and the RGB output
separately?

	A:  No.  Information will be displayed on both monitors
simultaneously.

13.	Q:  What monitors can I use with the ZDS PC?

	A:  Any high-resolution monitor which can be used on the Z-100 or
IBM PC, except the IBM PC monochrome monitor.

14.	Q:  Will the ZDS PC emulate the IBM PC monochrome display?

	A:  No.

15.	Q:  Is the video display bit mapped?

	A:  Yes, in the medium and high resolution graphic mode.

16.	Q:  Does the ZDS PC provide for more than one character font?

	A:  Yes.  There are two (2) fonts available in ROM, one with two-dot
wide vertical comparable to the IBM PC and single-dot vertical.  ROM can
accommodate two (2) additional fonts for OEM applications and alternate
character fonts can be loaded in by software.

17.	Q:  What is the character matrix for the video characters?

	A:  The characters are in an 8 x 8 matrix.

18.	Q:  What video oututs are on the ZDS PC?

	A:  There are two outputs on the desktop model.  RGBI (read, green,
blue intensity) digital, TTL level, color output and composite monochrome
video output with gray shading.  The portable unit has RGBI output only.

19.	Q:  Can I connect my ZDS PC to my television set?

	A:  It is not recommended.  It could be done using an RF modulator;
however, due to the high resolution producted by the ZDS PC, the displayed
information might not be clear on the TV screen.

20.	Q:  Will the ZDS PC support a mouse?

	A:  Yes.  It will support either a serial or parallel mouse.

KEYBOARD

1.	Q:  Is the ZDS PC keyboard identical to the IBM PC?

	A:  Electrically yes.  In fact, they are interchangeable between
machines.  However, the keys have been repositioned and re-identified to
eliminate the confusion and problems associated with the IBM PC.

2.	Q:  Will the keyboard be sold separately?

	A:  Yes.

3.	Q:  How many keys on the keyboard?

	A:  Eighty-five (85), including ten (10) function keys.

4.	Q:  Are there any special function keys?

	A:  Yes.  There are twenty-four (24) special-function keys.

5.	Q:  Is there a numeric key pad?

	A:  Yes.  The key pad doubles as a cursor control pad.

6.	Q:  Do any of the keys have auto-repeat?

	A:  Yes.  All keys automatically auto-repeat, and the repeat rate
increases as the key is held down.

7.	Q:  Are there edit keys on the keyboard?

	A:  Yes.  Cursor control keys, PGUP, PGDN, home, end insert and
delete are included.

8.	Q:  Are the keys programmable?

	A:  Yes, through third-party packages and information which are
available to provide this capability to OEM's or system programmers.

9.	Q:  Is there a key click?  If so, can it be turned off?

	A:  Yes.  There is a key click, and it can be turned off through
software.

POWER SUPPLY

1.	Q:  What is the rating of the power supply?

	A:  165 watts.

2.	Q:  Do I need to replace the power supply if I upgrade to a
Winchester drive?

	A:  No.

3.	Q:  Will the ZDS PC also operate at 230VAC 50 Hz for European
operation?

	A:  Yes.  The power supply is switchable between 120 VAC, 60Hz and
230VAC, 50Hz.

4.	Q:  What is the power consuption of the ZDS PC (desktop), not
including the monitor?

	A:  95 to 300 watts at 120VAC, depending on configuration.

OPERATING SYSTEM

1.	Q:  What operating system is available for the ZDS PC?

	A:  To facilitate the ZDS PC's use of a full spectrum of the
available software written for the IBM PC and compatibles, both MS-DOS 2.0
and MS-DOS 1.25 are supplied as the standard operating system offering.
This also allows the use of either 320K or 360K formatted disks on the ZDS
PC.

2.	Q:  Are there differences  between the ZDS PC's MS-DOS and the IBM
PC's PC-DOS?

	A:  Yes.  The ZDS PC MS-DOS is enhanced and comes with a new manual.
NOTE:  Programs written under PC-DOS will run under the ZDS PC's MS-DOS.

3.	Q:  Can a system programmer modify the ZDS PC's MS-DOS BIOS?

	A:  Yes.  An MS-DOS tool kit package containing BIOS source listings
and notes, Macro 86 assembler, two full screen editors, CREF and other
miscellaneous utilities will be made available.

4.	Q:  Is there a screen/graphics dump feature on the ZDS PC?

	A:  Yes.  There are six (6) graphic dump utilities provided for the
IDS Prism, Okidata, MPI, MX-80, Printek 920 and Transtar.

LANGUAGES

1.	Q:  What BASIC language is available for the ZDS PC?

	A:  GW-BASIC 1.1 is the interpreted BASIC offered on the ZDS PC.

2.	Q:  Is GW-BASIC 1.1 compatible with the IBM PC's BASICA 1.0?

	A:  Yes.

3.	Q:  Are there compiler languages available for the ZDS PC?

	A:  Yes.  Microsoft Fortran and Pascal compilers are available.
NOTE:  These compilers require a ZDS PC with 192K of memory.

4.	Q:  What available languages support the 8087 math processor?

	A:  The Microsoft Fortran and Pascal available from Zenith support
the 8087, unlike versions of these languages being sold by other vendors.
An increasing number of applications programs are taking advantage of the
speed of the math co-processor (Auto Cad, . . .).

APPLICATIONS

1.	Q:  Is a demonstration disk available for the ZDS PC?

	A:  Yes.  A demonstration disk is in the user's manual provided with
each ZDS PC.

2.	Q:  What electronic spread sheet packages are available for the ZDS
PC?

	A:  Lotus 1-2-3, Microsoft Multi-Plan 1.1 and Supercalc 3 (2nd
Quarter) are available from Zenith for the ZDS PC.

3.	Q:  What word-processing packages are available for the ZDS PC?

	A:  Microsoft Word 1.1 is available for the the ZDS PC from Zenith
Data Systems.

4.	Q:  What accounting packages are available for the ZDS PC?

	A:  BPI accounting series;  Peachtree accounting products (2nd half
of 1984).

5.	Q:  What communications packages are available for the ZDS PC?

	A:  CPS

6.	Q:  Will the ZDS PC support Microsoft windows?

	A:  Yes.  Windowing is a function of certain applications, many of
which will run on the ZDS PC.

GENERAL

1.	Q:  Does Zenith Data Systems plan to market software for the ZDS PC?
If so, what types of software?

	A:  Yes.  ZDS will offer operating systems, languages,
communications, and applications software packages.  We will continue to add
to our software product line and to fully support all Zenith products with
product testing, enchancements, custom configurations, improved
documentation and telephone support lines.

2.	Q:  Does the ZDS PC emulate the VT-52 or any other terminal?

	A:  Yes, but terminal emulation software is required.

3.	Q:  If I buy a floppy disk drive model, can I upgrade to a hard disk
later?

	A:  Yes.  The upgrade will be very simple.

SUPPORT

1.	Q:  Who do I contact for hardware assistance?

	A:  The ZDS PC will be supported by ZDS Technical Support, ZDS
Service and Heath Consultation.

2.	Q:  To what extent will ZDS Software Consultation support non ZDS
software?

	A:  Not at all.

3.	Q:  Will there be a ZDS PC software directory similar to the present
Z-100 Software directory?

	A:  No.  There are many commercial directories available listing MS-
DOS or PC-DOS programs.

4.	Q:  Will there be technical and service manuals available?

	A:  Yes.  There will be two manuals, sheduled to be available in
May, 1984.  The TM-150 will provide programming information, including BIOS
listing.  The SMZ service manual will provide complete hardware support,
including schematics and circuit diagrams.
-----
December 17,1983

PASCAL/MT+ (Catalog # DR-253-5) is now shipping.  It runs on both CP/M 80
and CP/M 85.  (It is only available on soft sectored 5 1/4" diskettes.)
-----
December 2, 1983

CP/M-80 version 2.2.04 update is now shipping.	This update features
improved documentation, simplified setup procedure and support for the Z-89-
11 card.
-----
November 29, 1983

	Heath/Zenith Data Systems Software Consultation is proud to announce
the implementation of a new source of information about Heath/Zenith
computers and software.  An informational bulletin board is now available at
(616) 982-3503.  This is a general bulletin board completely open to the
public and the phone number is available for general distribution.

	The bulletin board is intended to be an up to the minute source of
information concerning Heath/Zenith software products.	Helpful hints,
sample programs and general information will all be available with this
bulletin board.

	The bulletin board is a single-user system and will be available 24
hours a day seven days a week.	Occasional periodic maintenance and updating
will probably be required.  At these times the phone will not be answered.

	The bulletin board is implemented on a Z90 computer using a Hayes
1200 Smartmodem.  Communication is supported at rates of 300 and 1200 baud.
Standard RS232 ASCII protocol using 8 data bits 1 stop bit and no parity is
used.  This is the standard interface of all Heath/Zenith CPS packages as
well as the standard setup for modem communications of all Heath/Zenith
operating systems.
= MB =
Information about the bulletin board

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Description of the bulletin board			11/26/84	3k
B - Commands for the bulletin board			01/11/85	2k
C - How to Download the bulletin board			01/11/85	2k
* - Download all the menu categories					7k
= MBA =
Description of the bulletin board
-----
revised November 26, 1984

	Heath/Zenith Data Systems Software Consultation is pleased to
continue providing a new source of information about Heath/Zenith computers
and software.  An informational bulletin board is available at (616) 982-
3503.  This is a general bulletin board completely open to the public and
the phone number is available for general distribution.

	The bulletin board is intended to be an up to the minute source of
information concerning Heath/Zenith software products.	Helpful hints,
sample programs and general information will all be available with this
bulletin board.

	The bulletin board is composed of two phone lines/computers with an
automatic seek past the busy line.  The bulletin boards will be available 24
hours a day seven days a week.  Occasional periodic maintenance and updating
will probably be required.  At these times the phone will not be answered.

	The bulletin board is implemented on a Z89/Z90 computer using a
Hayes 1200 Smartmodem.  Communication is supported at rates of 300 and 1200
baud. Standard RS232 ASCII protocol using 8 data bits 1 stop bit and no
parity is used.  This is the standard interface of all Heath/Zenith CPS
packages as well as the standard setup for modem communications of all
Heath/Zenith operating systems.

	If you have any comments or questions about the bulletin board
please feel free to contact the Software Consultation Group during the
normal business hours (8:00 am to 7:30 pm Eastern Time Zone).  If your
question is about the bulletin board in general or concerning operating
systems or languages software items on the bulletin board please contact
(616) 982-3860. If your question is concerning applications software items
on the bulletin board please contact (616) 982-3884.

	The purpose of this bulletin board is to provide a free service to
all our customers, dealers, OEM's, distributors, and Heathkit stores.  This
system will inform Heath/ZDS computer users about products, updates, and
other pertinent information. Covered topics include:

	*  Information and advice from Software Consultation
	*  Z-150, Z-100 and H/Z-89 software and hardware news

	By calling this bulletin board regularly, you can be assured that
you are reading the most current information -- directly from Heath/ZDS. The
information contained in the bulletin board is extracted from the latest
information available.

	When you connect to the system, it automatically begins
communication at 300 or 1200 baud depending on the modem carrier.  If it
sits idle for five minutes, the bulletin board will automatically disconnect
in order to reduce your phone charges and provide maximum access for others.
= MBB =
Commands for the bulletin board
-----
revised January 11, 1985

	The optimum way to use this bulletin board is to select the
categories of interest and read each new entry.  Newest entries are always
put first on an information screen and dated so that you do not need to
waste time skipping old entries.  The menus indicate the date of the last
changes.  By remembering the last time you called you can know what
information is new or has changed and save time by looking only at those
items.

	When a connection is made the program will begin display of the
first menu file.  Commands will be accepted from the user at any time during
the printing of the screen.  There are three prompts that the program may
give after it finishes printing a screen depending on whether the screen is
a menu screen, an information screen followed by more information screens or
the last information screen of a set.  These prompts are:

"Enter the desired option letter - "
"Type the space bar to continue - "
"Type the space bar to return to the menu - "

	The following one letter commands are available at any time to the
program user.  It is not necessary to wait to be prompted.

These options take effect just prior to the next prompt:

	'*' begin continous download of the current menu or information
screen and all submenus and information screens.

	' ' halt download or continue with the next screen

These options take effect immediately but do not abort the current screen:

	'^S' temporary halt of the output

	'^Q' or any other character resume after temporary halt

These options take effect immediately and abort the current screen:

	'^K' proceed to the menu screen on an information screen and proceed
to the very first menu screen if this is a menu screen.

	'^Z' disconnect from the bulletin board

The following options are effective only after the menu prompt:

	BACKSPACE proceed to the previous menu screen.

	'A' - 'W' possible menu option letter

	'X' exit the bulletin board

	'Y' change the number of default lines per screen
= MBC =
How to Download the bulletin board
-----
revised January 11, 1985

	The bulletin board supports CTRL S handshaking which is useful for
downloading the data.  When a CTRL S is received the bulletin board will
pause till another character is received.  This pause is limited to five
minutes so any disk saves must be finished in that time and transfer
restarted or the bulletin board will disconnect.  You can download all the
bulletin board or you can download only specific sections at your option.
Whenever an asterisk is entered all information from that screen and below
will be downloaded.

	Download is supported automatically when using CPS no protocol file
receive.  The entire suggested procedure for a total download is as follows:
begin file transfer, make the connection, pause about ten seconds, send an
'*'.  If you are not using CPS no protocol file transfer then the following
additional manual operations are necessary:  when the data capture buffer is
full send CTRL S, dump to disk, send the CTRL-Q character, repeat as
necessary.  The system will automatically disconnect at the end of a total
download.

	If CTRL K is typed during the download the display of the current
category will be aborted and immediately returned to the current menu.
= MC =
General Software Consultation Information

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - How to obtain additional assistance			11/26/84	2k
B - What to do with defective distribution disks	05/10/84	3k
C - Extra copies of the software manuals		05/03/84	2k
D - Update policy					04/20/84	2k
E - How to examine software packages			05/19/83	1k
F - Information about future software products		05/13/83	2k
G - Procedures to follow when modifying programs	04/12/83	1k
H - Selling user programs				01/24/83	2k
* - Download all menu categories					15k
X - EXIT BULLETIN BOARD
= MCA =
How to obtain additional assistance
-----
November 26, 1984

If you have any questions regarding Heath/ZDS Software you can call the
Software Consultation Group at:

	(616)-982-3884		Application Software/Softstuff Products
	(616)-982-3860		Operating Systems/Languages/Utilities

You can also contact the Software Consultation Group at the following
address:

	Zenith Data Systems Corporation
	Software Consultation
	Hilltop Road
	St. Joseph,  MI 49085

Consultation is available from 8:00 am to 7:30 pm (Eastern Time Zone) on
regular business days.

Sorry, but we are not able to evaluate or assist in the debugging of any
programs you may develop, nor can we assist in making modifications to the
standard product.

Other numbers you can call for assistance are:

	(800)-253-7057	TOLL-FREE order call
			8:00 AM to 8:00 PM Monday through Friday

	(800)-842-9000	(Outside of Illinois)
			ext 1 Dealer/Service Center Locating Service
			ext 2 Dealership startup information

	(616)-982-3411	order call for Alaska, Hawaii and Michigan
			24 hours a day 7 days a week

	(616)-982-3309	Technical hardware assistance
			(for Heath computers and hardware only)

Zenith computer and hardware owners should contact their dealer or local
service center for assistance with hardware problems.
= MCB =
What to do with defective distribution disks
-----
May 10, 1984 #66

	Question: What should I do if I think that one of my original
distribution disks is defective?

	Answer: You should go back over the instructions for the use of the
disk very carefully to be sure that you are not using the disk improperly.
Improper usage of a disk can often look like a bad disk when it is not.  The
two most common mistakes are to forget to type spaces when booting HDOS and
forgetting to type CTRL C when changing a disk in CP/M.  If you feel that
you need help in determining if you are using the disk the right way please
feel free to contact Software Consultation.

	We are sorry but it is now our policy to charge for replacement
disks which are out of the 90 day warranty or have been damaged by the
customer.  Customer damage is usually defined as physical mutilation of the
disk or removing the write protect tab from the disk.  Non-warranty disk
replacements are generally made at $24 per disk plus 10% for shipping and
handling.  Contact Software Consultation at (616) 982-3860 for operating
systems/programming languages replacements and (616) 982-3884 for
applications replacements.  Be sure to have the model number and serial
number available so that we can authorize immediate replacements if
necessary.  The replacement cost, if necessary, can be charged to VISA or
MASTERCARD.  You will also receive instructions about the defective disks
which must be returned.

	You may also return your disk with proof of purchase date or the
replacement charge to:

Heath Company - Service Receiving
Hilltop Road
St. Joseph, MI	 49085

	The disks when they are received are checked to determine if they
are actually defective.  If they are defective and the proper payment (if
any) has been enclosed they will be replaced.  If they are not defective the
disk will be returned and the payment (if any) will be refunded.  For this
reason it is very important to describe in explicit detail what steps you
performed and the errors you received in an explanatory letter with the disk
returned.
= MCC =
Extra copies of the software manuals
-----
May 3, 1984 #67

	Question: How can I get an extra copy of my software manual?

	Answer:  Software manuals are as much licensed materials as the
software they accompany.  It is not possible to purchase software manuals
separate from the software they accompany.  Since the software is intended
(and licensed) for a single user only one copy of the manual is considered
necessary.  Additional copies of the manual are only available as complete
packages with additional software and licenses.

	If a software manual is found to be defective then the manual must
be returned and a replacement will be authorized.  If the cost of the manual
is to be covered by the 90 day warranty replacement then a dated proof of
purchase must be provided.  These items and the software serial number
should be sent to:

Heath Company - Service Receiving
Hilltop Road
Saint Joseph, Michigan 49085

Only the pages of the manual should be returned for replacement.  Please
keep the binder and any divider tabs.
= MCD =
Update policy
-----
April 20, 1984 #68

	Question:  Could you please explain what the policy is concerning
updates and new versions of software?

	Answer:  The Heath/Zenith update policy for software products is,
and will remain quite flexible, due to the large number of software vendors
with which we deal and the variety of terms under which their products are
licensed.  In general terms it is as follows:

	From time to time as significant changes are made to our software
products, software updates for these products may be made available.
Generally, if changes are made to fix major problems, resulting updates are
sent to registered users free of charge.  If changes in the product are
enhancements, resulting updates are generally offered to registered users
for a nominal fee.  Fees are determined by royalties and other manufacturing
and engineering costs.	In no case are any updates offered to users who have
not returned their signed,  End-User Non-Disclosure and Sublicense
Agreement.

	Changes are made periodically to our software products in an effort
to improve their performance.  Some of these changes would not be considered
significant by most of our users and are made to the production masters on a
running change basis.  If you desire the most current version of a software
product, you may purchase replacement disks in the most current version for
$24.00 per disk, provided you are a registered user of that software
product.
= MCE =
How to examine software packages			05/19/83	1k
-----
May 19, 1983

	Question:  Is there any way that I can look over a software package
to make sure it is what I want before I buy it?

	Answer:  Some stores and dealers have copies of the software
packages which they may let you examine to see if that is what you want.
When you purchase a software package be sure to examine the manual very
carefully to be sure it is what you want before registering the software and
opening the sealed inner software program pack.  If the package is not what
you want then it can be returned for a full refund providing the seals on
the inner software program pack have not been broken and the manual is in
resaleable condition.  We are sorry but it is not possible to examine the
software programs themselves and still be able to return the package for a
refund.
= MCF =
Information about future software products
-----
May 13, 1983

	Question:  What can you tell me about CP/M-3.0, FORTH, LISP, C-80,
C-86, and other software packages which are not products, whether they will
be available as products and if so when they will be available?

	Answer:  Software Consultation has no information about software
packages which are not currently Heath/Zenith products or possible future
updates to current products.  Any information about possible future products
and updates which have not been officially announced is confidential and
cannot be discussed.

	After a software package is officially announced as a product,
information as to whether it or any other current product is actually in
stock and when it will be shipped is only available from the order
department.  Updates, when available, will be shipped only to registered
software owners.  Information concerning registration and the shipping of
updates is only available from the software registration department.
= MCG =
Procedures to follow when modifying programs	04/12/83	1k
-----
April 12, 1983

	Question:  What procedures should I follow when I modify my
programs?

	Answer:  The most important thing to remember is to modify only a
copy of your program.  Under no circumstances should you ever modify your
original distribution disks.  You should not modify your working copies
until you have fully tested the changes and are absolutely certain that the
changes you have made are acceptable.

	Software Consultation will not perform any modification of user
software nor can we assist in user modifications to the standard product.
On occasion we may suggest patches, if available to correct known problems,
that the user can make to his copies of the software but these modifications
are always the responsibility of the person who makes them.  Zenith Data
Systems in general and Software Consultation in particular accepts no
responsibility for user-modified software.
= MCH =
Selling user programs
-----
January 24, 1983 #21

	Question:  Can I sell a program I have written using Heath/Zenith
software?

	Answer:  In general you can sell a program that you own as long as
you do not sell with it any of the programs from your distribution diskette
used to create the program.

	A BASIC interpreter program source can be sold but the user would
be required to buy their own copy of the BASIC	interpreter to run it.

	In the case of compilers and assemblers you can sell your source
file, the '.REL' or '.HEX' file compiled or assembled from your source and
the '.COM' or '.ABS' file created by the linker or loader from your source
files.	If the person you sell the program to wishes to recompile,
reassemble, relink or reload the program they must purchase their own
programs to do so.

	A special case occurs involving the CBASIC (R) Digital Research
program which requires a run-time program from the distribution diskette in
order to run.  According to Digital Research News July 1982 Volume 2, No. 2
royalty requirements and the run-time module licensing have been dropped.
Inquiries concerning the details of the policy should be directed to Digital
Research Customer Service, 160 Central Ave., Pacific Grove CA 93950.
= MD =
ZDS/Heath Hardware & Software Products
-----
December 6, 1984

* Items added within the last 30 days

	ZDS/HEATH SOFTWARE AND HARDWARE PRODUCTS

Z-100 PC SOFTWARE (Z-150)

	Operating systems/Languages/Utility software

	 CB-5063-7	CPS for Z-150 Ver. 1.0
	 CB-5063-13	Z-150 Diagnostics
	 CB-5063-16	MSDOS Ver. 2 Programmers Utility Pack
	*CI-5063-1	C-2.1 Compiler
	 MS-5063-1	Z-150 GWBASIC MS-DOS Ver. 1.26
	*MS-5063-2	FORTRAN Ver. 3.20
	 MS-5063-3	Microsoft Cobol Ver 1.12
	 MS-5063-5	Microsoft Pascal Ver. 3.13
	*MS-5063-13	BASIC Ver. 2.0
	 OS-63-50	Z-150 MSDOS Ver. 2.11
	 OS-63-51	Z100 MSDOS Z150
	 TC-5063-1	Ether Link Ver. 2.2
	 TC-5063-2	Ether Share Ver. 2.2
	 TC-5063-3	Ether Mail Ver. 2.2
	 TC-5063-4	Ether Print Ver. 2.2

	Applications software

	 AT-5065-1	DBase II Ver. 2.41
	 BP-5063-1	BPI General Accounting Ver. 1.10
	 BP-5063-2	BPI Accounts Receivable Ver. 1.10
	 BP-5063-3	BPI Accounts Payable Ver. 1.10
	 BP-5603-4	BPI Payroll Ver. 1.10
	 BP-5063-5	Inventory Control Ver. 1.10
	 BP-5063-6	BPI Job Costing Ver. 1.10
	 BP-5063-8	Personal Accounting Ver. 1.10
	 BP-5063-9	BPI Demo Ver. 1.10
	 BP-5063-10	Associate Management Ver. 1.10
	 BP-5063-71	BPI GA Training Ver. 1.10
	 CB-5063-9	Pecon
	 CD-5063-1	Condor DBMS.  Ver. 2.11
	 CD-5063-2	Condor File Management	Ver. 2.11
	 LS-5063-1	LOTUS Ver. 1AB
	*MP-5063-10	Micropro Wordstar ver. 3.3
	*MP-5063-12	Professional Pkg.
	*MP-5063-13	Wordstar W/Prof. Option Ver. 3.3
	 MS-5063-7	Multiplan Z-150 Ver. 1.20
	 MS-5063-9	Multi-Word Ver. 1.10
	 MS-5063-12	MS-Sort  Ver. 1.0
	 RS-5065-1	General Ledger Ver. 112983
	 RS-5065-2	Accounts Receivable Ver. 113083
	 RS-5065-3	Accounts Payable Ver. 122083
	 RS-5065-5	Inventory Ver. 121583
	 RS-5065-6	Sales Invoicing Ver. 122483

Z-110/120 (Z-100) Software

	Operating systems/Languages/Utility software

	 CB-253-7	CPS Z-100 (CP/M-85) Ver. 400.02.00
	 CB-463-7	CPS Z-100 (ZDOS) Ver. 53.05.00
	 CB-463-13	Z-100 Diagnostic Disk
	 CB-463-14	ZLAN Networking Ver. 1.0
	 CB-5063-16	MSDOS Ver. 2 Programmers Utility Pack
	 CB-463-20	Z-Lan Serv. Ver. 1.0
	 CB-463-21	Z-Lan Node Ver. 1.0
	 DR-253-5	Pascal/MT+ (CP/M-85) Ver. 5.6
	 MS-253-1	MicroSoft BASIC-80 (CP/M-85) Ver. 5.22
	 MS-463-1	MicroSoft ZBASIC (ZDOS) Ver. 1.1
	 MS-463-2	MicroSoft FORTRAN-86 (ZDOS) Ver. 3.10
	 MS-463-3	MicroSoft COBOL-86 (ZDOS) Ver. 1.07
	 MS-5063-3	Microsoft Cobol (Z-DOS) Ver 1.12
	 MS-463-4	MicroSoft BASCOM-86 (ZDOS) Ver. 5.40
	 MS-463-5	MicroSoft PASCAL-86 (ZDOS) Ver. 3.11
	 MS-5063-5	Microsoft Pascal (Z-DOS) Ver. 3.13
	 OS-53-2	CP/M-85 5" Soft sector Ver. 2.2.103
	 OS-63-2	CP/M-86 5" Soft sector Ver. 1.1
	 OS-61-3	USCD P-System Vers. 3.1
	 OS-63-4	Z-DOS 5" Soft sector Ver. 1.25
	 OS-63-5	MPM-86 Ver. 2.1
	 OS-61-8	Z-100 MS-DOS Ver. 2.18
	 PO-463-1	3270 Emulator (ZDOS)
	 WI-463-1	2780/3780 Emulator (ZDOS)

	Applications software

	 CB-463-9	PECON
	 CB-463-11	Graph Pack 2.0 (ZCHART) Ver. 2.0
	 CD-463-1	Condor Data Base (ZDOS) Ver. 2.09
	 CD-463-2	Condor File Mgr. (ZDOS) Ver. 2.09
	 ES-463-1	Z-100 Microstat Ver. 2.3
	 LS-463-1	LOTUS 1-2-3 (ZDOS) Ver. 1A
	 MP-463-1	Supersort Z-100 Ver. 1.65
	 MP-463-6	Spellstar Z-100 Ver. 3.3
	 MP-463-10	Wordstar Ver. 3.3
	 MP-463-11	Mailmerge Ver. 3.3
	 MP-463-13	Wordstar Prof. Pkg. (ZDOS/MSDOS) Ver. 3.3
	 MS-463-7	MicroSoft Multiplan (ZDOS) Ver. 1.02
	 RG-463-1	16-Bit Graphtalk Ver. 3.23
	 RS-463-1	Peachtree General Ledger (ZDOS) Ver. 120182 PS
	 RS-463-2	Peachtree Accounts Receivable (ZDOS) Ver. 120182 PS
	 RS-463-3	Peachtree Accounts Payable (ZDOS) Ver. 120182 PS
	 RS-463-5	Peachtree Inventory (ZDOS) Ver. 120182 PS
	 RS-463-6	Peachtree Sales Invoicing (ZDOS) Ver. 120182 PS
	 RS-463-75	Peachtree 5000 (ZDOS) Ver. 2.01
	 SC-463-1	Supercalc (ZDOS) Ver. 1.12
	 TA-463-1	CAI Authoring Z-100 Ver. 1.0
	 TA-463-2	CAI Studio Z-100 Ver. 1.010

Z-89/90 SOFTWARE

	Operating systems/Languages/Utility software

	 H-8-20		Microsoft FORTRAN-80 (HDOS) Ver. 3.35
	 H-8-21		Microsoft BASIC (HDOS) Ver. 4.82
	 HCM-817-1	CBASIC Compiler (CP/M) Ver. 03.27.81
	 HCM-837-1	CBASIC Compiler (CP/M) Ver. 03.27.81
	 HDR-817-1	MAC (CP/M)
	 HDR-837-1	MAC (CP/M)
	 HDR-817-2	SID/ZSID (CP/M)
	 HDR-837-2	SID/ZSID (CP/M)
	 HDR-817-3	DESPOOL (CP/M)
	 HDR-837-3	DESPOOL (CP/M)
	 HMS-817-1	Microsoft BASIC-80 (CP/M) Ver. 5.21
	 HMS-837-1	Microsoft BASIC-80 (CP/M Ver. 5.21
	 HMS-817-2	Microsoft FORTRAN-80 (CP/M) Ver. 3.44
	 HMS-837-2	Microsoft FORTRAN-80 (CP/M) Ver. 3.44
	 HMS-817-3	Microsoft COBOL-80 (CP/M) Ver. 4.6
	 HMS-837-3	Microsoft COBOL-80 (CP/M) Ver. 4.6
	 HMS-817-4	Microsoft BASCOM-80 (CP/M) Ver. 5.35
	 HMS-837-4	Microsoft BASCOM-80 (CP/M) Ver. 5.35
	 HMS-817-31	Microsoft COBOL-80 (HDOS) Ver. 4.01
	 HMS-837-31	Microsoft COBOL-80 (HDOS) Ver. 4.01
	 HMS-817-41	Microsoft BASCOM-80 (HDOS) Ver. 5.24
	 HMS-837-41	Microsoft BASCOM-80 (HDOS) Ver. 5.24
	 HMS-817-51	MACRO-80 (HDOS) Ver. 3.37
	 HMS-837-51	MACRO-80 (HDOS) Ver. 3.37
	 HMS-817-52	MACRO-80 (CP/M) Ver. 3.4
	 HMS-837-52	MACRO-80 (CP/M) Ver. 3.4
	 HOS-817-1	HDOS 2.0 Ver. 50.06.00
	 HOS-8917-2	CP/M Ver. 2.2.04
	 HOS-8937-2	CP/M Ver. 2.2.04
	 HOS-8937-3	UCSD PASCAL Ver. IV.12A
	 HPO-8917-1	3270 Emulator (CP/M)
	 HPO-8937-1	3270 Emulator (CP/M)
	 HPO-8917-2	(HPO-8917-1 & Z-89-11 I/O)
	 HPO-8937-2	(HPO-8937-1 & Z-89-11 I/O)
	 HWI-8917-1	RBT Emulator (CP/M) Ver. 2.10CZ
	 SF-8512	HDOS-CP/M file conv. Ver. 2.0
	 SFS-9103	CPS (CP/M) Ver. 200.01.04
	 SF-9503	CPS HDOS-CP/M Ver. 200.02.04

	Applications software

	 HCD-8937-1	Condor Data Base (CP/M) Ver. 2.09
	 HIS-837-1	Magic Spell (CP/M) Ver. 1.0
	 HMP-817-1	Supersort (CP/M) Ver. 1.5
	 HMP-837-1	Supersort (CP/M) Ver. 1.5
	 HMP-817-2	Wordstar (CP/M) Ver. 3.3
	 HMP-837-2	Wordstar (CP/M) Ver. 3.3
	 HMP-817-3	Mailmerge (CP/M) Ver. 3.3
	 HMP-837-3	Mailmerge (CP/M) Ver. 3.3
	 HRS-817-9	Magic Wand (CP/M) Ver. 1.12
	 HRS-837-9	Magic Wand (CP/M) Ver. 1.12
	 HSC-817-1	Supercalc (CP/M) Ver. 1.05
	 HSC-837-1	Supercalc (CP/M) Ver. 1.05
	 HTA-817-1	CAI Authoring Program  Ver. 1.0
	 HTA-837-1	ZDS Teacher Program  Ver. 1.0
	 HTA-817-2	CAI Studio Program  Ver. 1.01
	 HTA-837-2	ZDS Student Progam Ver. 1.01
	 SF-9200	PIE Screen Editor HDOS-CP/M Ver. 1.6
	 SF-9018	Typing Tutor

Z-100 PC HARDWARE (Z-150)

	 ZF-151-21	Low Profile PC 128K Single Drive Computer
	 ZF-151-52	Low Profile PC 128K Dual Drive Computer
	 ZFA-161-21	Trans. Computer Single Drive
	 ZFA-161-22	Trans. Computer Dual Drive
	 ZW-151-52	Low Profile PC Winchester with single 5" drive
	 Z-205-1	64KB RAM Expansion Set
	 Z-207-7	1/2 hc 5-1/4 Inch Drive
	 TC-5063-5	25" Cable
	 TC-5063-6	100" Cable
	 TC-5063-7	E-Net Terminator
	 TC-5063-8	Coax Barrel
	 Z-316		Z-150 8087 kit
	 H/Z-305	128K Memory Card
	 Z-319		Video Board

Z-110/120 HARDWARE (Z-100)

	 ZFG-121-32	All-In-One Desktop Computer/two drives Green
	 ZFA-121-32	All-In-One Desktop Computer/two drives Amber
	 ZF-101-31	Low Profile 192KB Ram Desktop/one drive
	 ZF-111-22	Low Profile/color graphics/two drives
	 ZW-111-32	Low Profile/Internal 11 MB Winchester/one drive/
			color graphics capable
	 ZWG-121-32	All-In-One/Internal 11 MB Winchester/one drive Green
	 ZWA-121-32	All-In-One/Internal 11 MB Winchester/one drive Amber
	 Z-207-41	Single 8" drive 1.25MB
	 Z-207-42	Dual Drive 8" Floppy 2.5MB
	 Z-207-6	Half-height second 8" drive, DS,DD
	 Z-207-7	1/2 HC 5-1/4 Inch Drive
	 Z-205-1	128KB to 192KB RAM Expansion Kit
	 Z-205		256KB RAM Upgrade Board
	 Z-204		Multiport Serial Board
	*Z-216		8087 for the Z100
	 Z-219-1	Color Video RAM chip
	 ZA-100-4	S-100 Extender Board

Z-100 AND Z-100 PC MONITORS

	ZVM-122A	Amber CRT monitor
	ZVM-123A	Green CRT monitor
	ZVM-124		Monitor for IBM-PC compatible
			computers/needs monochrome printer cable
	ZVM-124-E	IBM Monochrome Monitor
	ZVM-123-2	Tilt Base for ZVM-122/123 monitors
	ZVM-121-1	Cable to connect ZVM-121/122/123 to IBM
	ZVM-121-2	Cable to connect ZVM-121/122/123 to Atari 1200
	ZVM-131		Color Medium resolution monitor
	ZVM-135		Color High resolution monitor
	ZVM-133		Color High resolution RGB only monitor
	ZVM-136		Long persistence Color RGB Only monitor
	ZVM-135-1	Cable to Z-100 Computer-(ZVM-135/133/136)
	ZVM-135-2	Cable to IBM PC
	ZVM-135-3	Cable to Apple III computer
	ZVM-135-4	Cable to Texas Insturments & Atari Computers

Z-89/90 HARDWARE

	Z-90-90		H/Z-89 with Z-89-37 Controller Card No drive
	Z-90-92		H/Z-89 with Z-89-37 Controller Card/One 48TPI Drive
	Z-87		Dual Drive 5" Single-sided
	Z-37		Dual Drive 5" 96TPI double-sided
	Z-89-37		Soft Sector Controller Card
	Z-89-11		Serial I/O Card

Zenith Data Systems supported printers (Note:  All computers or software do
not always support all printers.)

	WH-54		Diablo 630 Serial only
	WH-54B		Diablo 630 API Serial and Parallel
	WH-55		Diable 620 Parallel only
	WH-64		TI 855 printer
	MPI-99		MPI 99
	MPI-150		MPI 150
	Z-25		Zenith 25 printer
= ME =
Z-100 PC List of Tested Hardware and Software

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Compatibility lists introduction and description	10/23/84	3k
B - Hardware enhancement products brief description	10/23/84	6k
C - Hardware compatibility list				12/06/84	2k
D - Software compatibility list				12/06/84	12k
E - Correction for Microsoft Flight Simulator green sky 09/21/84	2k
F - Tips on using tested software packages		01/02/85	5k
G - Tips on using tested hardware packages		01/02/85	2k
* - Download all the menu categories					32k
= MEA =
Compatibility lists introduction and description
-----
		IBM-PC HARDWARE/SOFTWARE COMPATIBILITY LIST
				for
		HEATH/ZENITH Z-150/160 SERIES COMPUTERS
				as of
			October 23, 1984

DISCLAIMER

	The attached is a listing of microcomputer software and plug-in
boards tested for use on the Z-100 PC Series and H-100 PC Series computers
and believed to be generally compatible with today's IBM PC.  The software
products and plug-in boards listed are supplied by the identified vendors.

	Zenith Data Systems Corporation and Heath Company make no endorsement
of other vendors identified, nor their products, nor do they make on behalf
of any other vendor any warranty, representation, or endorsement, or assume
any responsiblility as to availability, accuracy, reliability, performance,
software requirements, hardware requirements, freedom from error, full
compatibility with the IBM PC or any other quality or characteristic of the
software or hardware product(s) listed.

	ZDS and Heath make no warranty, either expressed or implied, with
respect to any listed program or plug-in board, including its quality,
performance, merchantability, or fitness for any particular purpose.  In no
event will ZDS or Heath be liable for direct, indirect, incidental, or
consequential damages resulting from any defect in any listed program or
plug-in board, even if advised of the possibility of such damages.

*********************************************************************

	The Hardware/Software compatibility list is arranged by product type.
Within each product type products are arranged in alphabetical ascending
order by product name.	Product types are as indicated below:

	A - Accounting			N - Network
	B - Backup			O - Operating Systems
	C - Communications		R - RAM Expansion
	D - Database			S - Spreadsheet
	E - Educational			T - Time Management
	F - Munti-function Card		U - Utilities
	G - Graphics			V - Video Boards
	I - Integrated			W - Word Processing
	L - Language			Z - Game
	M - Main Frame Communication

	Note - The "STAT" column indicates items added as of this report by
an asterisk (*) in that column.  (See date above)
= MEB =
Hardware enhancement products brief description
-----
ACCESS 1-2-3/Novation, Inc.

	Package includes PC1200B modem board and Crosstalk XVI software.
Allows communication at 300 or 1200 baud using RJ11C connector to plug
directly into phone lines.

ETHER SERIES/3-Com Corp.

	Hardware and software for networking PC's.  Allows PC's to share disk
storage and printer resources.

FILESAFE/Mountain Computer, Inc.

	Provides a streamer tape backup for Winchester Hard Disk systems.
Unit will backup the first Winchester partition in a very short time.
Typically, less than ten minutes.  Also provides tape write-protection.

GRAPHICS CARD/Hercules Co.

	Graphics video board for monochrome monitor.

I/O PLUS II/AST Research, Inc.

	Multifunction expansion board.	Includes battery-powered clock;
optional serial port, parallel port, or game controller port; and software
for RAMdisk and print spooler.

IRMA DECISION SUPPORT INTERFACE/TAC

	Allows direct coaxial cable connection to IBM 3270 controller,
supporting either SNA/SDLC or BSC.

MAGIC RAM MEMORY BOARD/D-G

	Memory expansion board.  Has 4 banks for adding up to 256k of memory.

MEGAPLUS II/AST Research, Inc.

	Multifunction expansion card.  Includes serial port, parallel port,
battery-powered clock, game adapter port, memory expansion up to 256k, and
software for RAMdisk and print spooler.

MICROSOFT SYSTEMCARD/Microsoft

	Multifunction expansion card.  Includes serial port, parallel port,
battery-powered clock, memory expansion up to 256k, and software for RAMdisk
and print spooler.

MONOCHROME DISPLAY AND PRINTER ADAPTER/IBM

	Video board for use with monochrome monitor.  Includes parallel port.

NBI WORD PROCESSING 1.0/NBI, Inc.

	Special function board.  Required for use of the NBI word processing
software.  Includes 64k of memory which can be used by other software.
Additional memory can be added up to 192k.

PC-MATE DYNAMIC MEMORY/Tecmar

	64-256k memory expansion board.  Includes RAMdisk software.

PC-MATE EXTENDER CARD/Tecmar

	Extends 1 slot of the card bus, so that one board can be plugged into
the bus while sitting above the other boards.

PC GAME CONTROL ADAPTER/IBM

	Game control adapter port.

PLAN 4000/Nestar Systems, Inc.

	Networking hardware and software.  Allows PC's to share disk storage
resources.

QUADBOARD/Quadram Corp.

	Multifunction expansion board.	Includes memory expansion, parallel
port, serial port, and battery-powered clock.  3 different versions of this
board allow memory expansion up to 64k, 256k, or 384k (maximum memory in the
Z150 is 640,  including 320k on the main memory board, so only 320k can be
added in an expansion board).  Software included provides RAMdisk and print
spooler.

QUADBOARD II/Quadram Corp.

	Multifunction expansion board.	Includes memory expansion of 64k or
256k, 2 serial ports, a battery-powered clock, and software for RAMdisk and
print spooler.

QUADCOLOR I/Quadram Corp.

	Color graphics video board.  Requires ZCA-6.  This board does not
have any special capabilities beyond the color graphics features of the basic
Z150.

SIXPAKPLUS/AST Research, Inc.

	Multifunction expansion board.	Includes memory expansion up to 384K
(only 320k can be added to Z150), serial port, parallel port, battery-powered
clock, and game adapter port.  Software included provides RAMdisk and print
spooler.

SMARTMODEM 1200B-SMARTCOM II/Hayes Microcomputer Products, Inc.

	This board is a 300/1200 baud modem card for the Z-150 series
computers.  It can be installed directly into an expansion slot in the Z-150.
A PAL to disable COM 2 (ZCA-2) is needed.  Software is provided with the
board to provide for it's operation.  Auto-Answer/Auto-Dial and both Touch-
Tone and Pulse type dialing is permitted.

TRANSPAK PC+/Transend Corp.

	This board is a 300/1200 baud modem card for the Z-150 series
computers.  It can be installed directly into an expansion slot in the Z-150.
A PAL to disable COM 2 (ZCA-2) is needed.  Software is provided with the
board to provide for it's operation.  Auto-Answer/Auto-Dial and both Touch-
Tone and Pulse type dialing is permitted.

VIDEO VAN GOGH/Tecmar

	Hardware and software to interface a video camera to the PC.  Will
digitize a picture and store the digitized image into a file.

PC640 GRAPHICS DISPLAY/Scion

	High resolution color video board and software.  Requires ZCA-6.
Displays 640 x 480 in 16 colors.  High-persistence RGB color monitor
recommended.

SDLC ADAPTER CARD/IBM

	Provides 3278 terminal and 3276 cluster controller emulation for IBM
SDLC communications.  Outputs RS232 signal to a DB25 connector.

ZCA-1/Zenith Data Systems Corp.

	PAL to disable serial printer port 1.

ZCA-2/Zenith Data Systems Corp.

	PAL to disable serial printer port 2.

ZCA-6/Zenith Data Systems Corp.

	PAL to disable built-in video.	Required in order to use add-on video
boards (except monochrome).  Z150 video board cannot be removed from the
system, even if add-on expansion board is being used to generate video.
= MEC =
Hardware compatibility list
-----
December 6, 1984

 MEM   STAT  TYPE		      NAME			 VERS
		  VENDOR
===============================================================================
(128)	       B   Filesafe
Mountain Computers, Inc.
(128)	       C   Access 1-2-3
Novation, Inc.
(128)	       C   Smartmodem 1200B-Smartcom II
Hayes Microcomputer Products, Inc.
(256)	       C   Transpak PC+
Transend Corp.
(128)	       F   I/O Plus II
AST Research, Inc.
(320)	       F   Megaplus II
AST Research, Inc.
(320)	       F   Microsoft Systemcard
Microsoft
(320)	       F   Quadboard
Quadram Corp.
(320)	       F   Quadboard II
Quadram Corp.
(320)	       F   SixPakPlus
AST Research, Inc.
(128)	       M   IRMA Decision Support Interface
TAC
(128)	       M   SDLC Adapter Card
IBM
(192)	       N   Ether Series
3-Com Corp.
(128)	       N   Plan 4000
Nestar Systems, Inc.
(320)	       R   Magic Ram Memory Board
D-G
(320)	       R   PC-Mate Dynamic Memory
Tecmar
(128)	       U   PC-Mate Extender Card
Tecmar
(192)	       U   Video Van Gogh (Pt#20050)
Tecmar
(128)	       V   Graphics Card
Hercules Co.
(128)	       V   Monochrome Display and Printer Adapter
IBM
(128)	       V   PC640 Graphics Display
Scion
(128)	       V   Quadcolor I
Quadram Corp.
(320)	       W   NBI Word Processing			       1.0
NBI, Inc.
(128)	       Z   PC Game Control Adapter
IBM

= MED =
Software compatibility list
-----
December 6, 1984
 MEM   STAT  TYPE		      NAME			 VERS
		  VENDOR
===============================================================================
(192)	       A   The Bottom Line Strategist		       1.00
Ashton-Tate
(128)	       A   BusiSoft Analyzer			       2.0
BusiSoft Corp.
(128)	       A   The Financial Planner		       3.0
Ashton-Tate
(192)	       A   General Ledger Demo			       1.02
Farm Management Systems of Ms, Inc.
(128)	       A   The Home Accountant Plus		       1.22
Continental Software
(192)	       A   Practical Accountant			       1.0
Softlink, Inc.
(192)	       A   Property Management
Continental Software
(128)	       A   The Smart Checkbook			       2.06
Softquest, Inc.
(256)	 *     A   Solomon III				       3.10
TLB, Inc.
(192)	       A   Winning on Wall Street		       1.02
Samna Software Corp.
(128)	       C   ACCESS with Autopilot		       1.02
Hilgraeve, Inc.
(128)	       C   PC-Talk				       1.01
The Headlands Press, Inc.
(128)	       D   <<Answer>>				       2.0
North American Business Systems, Inc.
(128)	       D   Condor Rel. Data Base Mgt. System (rDBMS)   2.10
Condor Computer Corp.
(128)	       D   Data Ace				       M2.4
Computer Software Design, Inc.
(192)	       D   DataeasE
Software Solutions, Inc.
(128)	       D   DataFax				       2.4a
Link Systems
(128)	       D   Datasafe				       1.2
International Microcomputer Software, Inc.
(128)	       D   dBase II				       2.3
Ashton-Tate
(256)	       D   dBase III				       1.00
Ashton-Tate
(128)	       D   Fast Facts				       .10/1.0
Innovative Software, Inc.
(128)	       D   IBM Assistant Accounting Solutions	       1.0
IBM
(128)	       D   IBM Assistant Executive Solutions	       1.0
IBM
(128)	       D   IBM Assistant Home Solutions		       1.0
IBM
(128)	       D   IBM Filing Assistant			       1.0
IBM
(192)	       D   KnowledgeMan				       1.01
Micro Data Base Systems, Inc.
(256)	       D   Nutshell				       1.07
Leading Edge Products, Inc.
(128)	       D   PCFile				       2.20
TexaSoft, Inc.
(128)	       D   Perfect Filer			       1.23
Perfect Software, Inc.
(128)	       D   Personal Pearl
Pearlsoft
(128)	       D   pfs:file
IBM
(128)	       D   pfs:file
Software Publishing Corp.
(128)	       D   pfs:report
IBM
(128)	       D   pfs:report
Software Publishing Corp.
(128)	       D   Please				       1.0
Hayes Microcomputer Products, Inc.
(128)	       D   Questext III				       3.3
Information Reduction Research
(256)	       D   R:BASE 4000				       1.01
Microrim, Inc.
(128)	       D   Superfile				       2.25
FYI, Inc.
(128)	       D   VersaForm				       1.4
Applied Software Technology
(128)	       D   VisiDex				       1.0
VisiCorp
(128)	       E   ATI Training Power (MBASIC)
American Training International, Inc.
(128)	       E   ATI Training Power (Multiplan)	       2.22
American Training International, Inc.
(128)	       E   Computer Chef			       1.1
Norell Data Systems Corp.
(128)	       E   The Executive Package
Alpha Software Corp.
(128)	       E   Fact Track
Science Research Associates, Inc.
(128)	       E   PC/HELP				       1.0
Relational Solutions, Inc.
(128)	       E   PC TUTOR				       2.0
Comprehensive Software
(128)	       E   Telemath
Psychotechnics, Inc.
(192)	       G   AutoCad				       1.20
AutoDesk, Inc.
(128)	       G   dGRAPH				       2.0
Fox & Geller, Inc.
(192)	 *     G   DR Graph				       1.0
Digital Research, Inc.
(192)	       G   Dr. Logo				       1.0
Digital Research, Inc.
(192)	       G   The Draftsman			       1.41
The Starware Corp.
(128)	       G   Energraphics				       1.2
Enertronics Research, Inc.
(128)	       G   GrafTalk				       3.11
Redding Group, Inc.
(128)	       G   Graph 'n' Calc			       1.01
Desk Top Computer Software, Inc.
(128)	       G   The Graphics Generator		       1.00
Robert J. Brady Co.
(128)	       G   Hypergraphics			       1.1
McGraw-Hill Book Co.
(192)	       G   IBM Graphing Assistant		       1.0
IBM
(128)	       G   PC Crayon				       2.0
PCsoftware
(128)	       G   PC-DRAW				       1.3
Micrografx
(128)	       G   PC Logo				       2.0
Harvard Associates, Inc.
(192)	       G   pfs:graph
Software Publishing Corp.
(128)	       G   Presentation Business Graphics	       1.1
Ganesa Group International
(192)	       G   Stat Map				       1.1
Ganesa Group International
(512)	       G   Visi On Graph			       1.0
VisiCorp
(192)	       G   VisiTrend/Plot			       1.30
VisiCorp
(256)	       I   AURA					       1.0
Softrend, Inc.
(192)	       I   Lotus 1-2-3				       REL. 1A
Lotus Development Corp.
(192)	       I   Open Access				       A1.00
Software Products International
(128)	       I   PeachText 5000			       2.02
Peachtree Software, Inc.
(320)	 *     I   Symphony				       1.00
Lotus Development Corporation
(512)	       I   Visi On Applications Manager		       1.0
VisiCorp
(320)	       K   SPSS/PC
SPSS, Inc.
(128)	       L   Basic Compiler			       1.00
IBM (Microsoft)
(128)	       L   Microsoft C Compiler System for MS-DOS      1.04
Lattice, Inc.
(128)	       L   Turbo Pascal				       2.00B
Borland International Inc.
(256)	       O   Coherent
Mark Williams
(256)	       O   Concurrent CP/M-86			       2.00
Digital Research, Inc.
(128)	       O   CP/M-86 Operating System		       1.1
Digital Research, Inc.
(128)	       O   CP/M-86 Operating System		       1.00
Digital Research, Inc.
(192)	       O   Venix
VentureCom, Inc.
(128)	       S   EasyCalc				       0.2
NORELL Data Systems Corp.
(128)	       S   Financial Planning for Visicalc & IBM PC
Expert Systems, Inc.
(128)	       S   Multiplan				       1.20
Microsoft
(128)	       S   Perfect Calc				       1.11
Perfect Software, Inc.
(128)	       S   QuickCalc Real Estate Investor
Sample Soft, Inc.
(128)	       S   SuperCalc 2				       1.00
Sorcim Corp.
(128)	       S   TK! Solver TK-1			       1E
Software Arts, Inc.
(128)	       S   TK! Solver (Financial Management Pkg. )
Software Arts, Inc.
(128)	       S   TK! Solver (Mechanical Engineering Pkg.)
Software Arts, Inc.
(512)	       S   Visi On Calc				       1.0
VisiCorp
(128)	       S   VisiCalc
VisiCorp
(128)	       T   Harvard Project Manager		       1.1
Harvard Software, Inc.
(128)	       T   Microsoft Project			       1.00
Microsoft
(128)	       T   Milestone				       1.14
Digital Marketing
(128)	       T   Time Manager				       1.00
Microsoft
(128)	       T   VisiSchedule				       1.00
VisiCorp
(128)	       U   Autosort/86M				       1.12
Computer Control Systems
(128)	       U   COPYII-PC				       1.80
Central Point Software, Inc.
(128)	       U   COPYII-PC				       1.30
Central Point Software, Inc.
(192)	       U   CP+					       2.0
Taurus Software Corp.
(128)	       U   Crossdata				       2.0
Award Software, Inc.
(128)	       U   Diskette Librarian			       1.0
(Little Bit) IBM
(128)	       U   Electronic Disk
Ensign Software
(128)	       U   FABS					       1.1186M
Computer Control Systems
(128)	       U   The Norton Utilities			       1.15
Peter Norton
(128)	       U   ProKey				       2.13
RoseSoft
(128)	       U   Shoebox				       1.09a
Techland Systems, Inc.
(128)	       U   Spool-It				       1.05
Indigo Data Systems, Inc.
(192)	       U   Starburst				       1.01
MicroPro International, Inc.
(128)	       U   Super Zap				       2.1
Alta Systems
(128)	       U   Xenocopy				       2.4
Vertex Systems
(192)	       W   Correctstar				       3.30
MicroPro International Corp.
(192)	       W   DisplayWrite 2			       1.00
IBM
(128)	       W   EasyFiler
Information Unlimited Software, Inc.
(128)	       W   Easyproof				       1.2
NORELL Data Systems Corp.
(128)	       W   EasyWriter II			       1.0.0
Basic Software Group
(128)	       W   EasyWriter II			       1.0.0
Information Unlimited Software, Inc.
(128)	       W   Edix					       1.1
Emerging Technology Consultants, Inc.
(128)	       W   The FinalWord			       1.00
Mark of the Unicorn, Inc.
(128)	       W   IBM Reporting Assistant		       1.0
IBM
(256)	       W   IBM Writing Assistant		       1.0
IBM
(128)	       W   Infostar - Datastar			       1.4
MicroPro International Corp.
(128)	       W   Infostar - Reportstar		       1.01
MicroPro International Corp.
(128)	       W   Infostar System			       1.01
MicroPro International Corp.
(128)	       W   Mailmerge				       3.31
MicroPro International Corp.
(192)	       W   MultiMate Professional Word Processing      3.11
SoftWord Systems, Inc.
(128)	       W   NBI Word Processing			       1.2
NBI, Inc.
(128)	       W   Palantir Word Processor		       1.15
Palantir, Inc.
(128)	       W   PC Writer				       1.25
IBM
(128)	       W   Perfect Writer			       1.00
Perfect Software, Inc.
(128)	       W   Personal Editor			       1.0
IBM
(128)	       W   Select BILINGUAL			       1.00
Select Information Systems, Inc.
(128)	       W   Starindex				       1.01
MicroPro International Corp.
(128)	       W   SuperWriter				       1.00
Sorcim Corp.
(128)	       W   Textra				       2.07
Ann Arbor Software
(128)	       W   Vedit				       1.15e
CompuView Products, Inc.
(512)	       W   Visi On Word				       1.0
VisiCorp
(192)	       W   VisiWord				       1.00
VisiCorp
(128)	       W   Volkswriter				       1.2
Lifetree Software, Inc.
(128)	       W   Word					       1.1
Microsoft
(320)	       W   Word III				       1.0
Samna Software Corp.
(256)	       W   Word Marc				       4.1
Marc Software International
(128)	       W   Word Perfect				       3.0
SSI
(192)	       W   Wordix				       1.20
Emergine Technologies
(128)	       W   WordStar				       3.3
MicroPro International Corp.
(192)	       W   WordVision
Bruce & James Program Publishers, Inc.
(128)	       W   Write-On!
Datamost, Inc.
(128)	       Z   Adventures in Math			       1.00
IBM
(128)	       Z   Astro-Dodge
Digital Marketing
(128)	       Z   CALL TO ARMS
Sirius Software, Inc.
(128)	       Z   Curse of Ra
Epyx, Inc.
(128)	       Z   CYBORG
Sentient Software
(128)	       Z   Early Games For Young Children
Counterpoint Software, Inc.
(128)	       Z   Eliza - Source			       3.0
Artificial Intelligence Research Group
(128)	       Z   Epidemic
Strategic Simulations, Inc.
(128)	       Z   Executive Suite
Armonk Corp.
(128)	       Z   Facemaker
Spinnaker Software Corp.
(128)	       Z   Floppy Frenzy
Windmill Software, Inc.
(128)	       Z   GATO
Spectrum HoloByte, Inc.
(128)	       Z   Jabbertalky
Automated Simulations
(128)	       Z   Master Type
Scarborough Systems, Inc.
(128)	       Z   Microsoft Flight Simulator		       1
Microsoft
(128)	       Z   Microsoft Flight Simulator		       2.1
Microsoft
(128)	       Z   Omegabug				       1.10
Personal Computer Products
(128)	       Z   Paratrooper
Orion Software, Inc.
(128)	       Z   PC Arcade				       1.0
FriendlySoft, Inc.
(128)	       Z   PC/MAN
Orion Software, Inc.
(128)	       Z   Queen of Hearts Maze Game		       1.0
TexaSoft, Inc.
(128)	       Z   Quotrix
Insoft, Inc.
(128)	       Z   Squirm
TexaSoft, Inc.
(128)	       Z   Starcross				       Rel 17
Infocom, Inc.
(128)	       Z   Suspended				       Rel 5
Infocom, Inc.
(128)	       Z   Temple of Apshai
Epyx, Inc.
(128)	       Z   Trilogy
TexaSoft, Inc.
(128)	       Z   Video Trek 88
Windmill Software, Inc.
(128)	 *     Z   Wizardry				       27-F-84
Sir-Tech Software, Inc.
(128)	       Z   Zork III				       Rel 10
Infocom, Inc.
(128)	       Z   Zutu
Hypersystems
































= MEE =
Correction for Microsoft Flight Simulator green sky
-----
September 21, 1984 #173

	Question:  When I run the new Microsoft Flight Simulator version 2
the sky is a green color instead of a blue color.  How can I correct this?

	Answer:  A simple change to the video board will correct for this
minor incompatibility with the industry standard computer.  This modification
is only made at your own risk.	Do not attempt this modification unless you
feel comfortable with the procedures described.

	Carefully remove the video board from the computer and locate the
chip at the location on the board marked U347.	Remove the chip from the
socket and carefully bend pin 13 out a little bit so that when the chip is
put back in the socket it goes outside the hole instead of into it.  Restore
the chip back to its socket.  This will work for most Z-100 PC series
computers.

	If this simple change does not work there is a slightly more
difficult change which is sure to work.  Remove the chip at U347 and
carefully bend pin 13 back in so that it goes back into the socket hole.
Melt a small amount of solder on pin 13 to short it to pin 14 which is right
next to it.  Then remove the chip at the location U302 and carefully bend pin
4 out and restore the chip.

	This change will be incorporated into the video circuit boards of
future production for the Z-100 PC.
= MEF =
Tips on using tested software packages
-----
January 2, 1985

CORRECTSTAR/MicroPro

	When entering Correctstar from the Wordstar menu, the screen will
display a register dump, including INT 03.  To correct the problem, install
the following patch:

DEBUG CORRSTAR.OVR
-E3C0
xxxx.03C0  CC.90
-W
-Q

DBASE 2

	Version 2.4 of DBase does not work correctly with DOS 2.1.  If you
create a new file and then try to enter data, after finishing the entries
you will get an "UNEXPECTED END OF FILE" error.  To correct this, install
the following patch (patch provided by Ashton-Tate):

DEBUG DBASE.COM
-E53F8
xxxx:53F8  0A.90  C5.90
-W
-Q

DBASE 3

	It was reported that, when using BUFFERS=24 and trying to use RUN
program, you get INSUFFICIENT MEMORY error.  Increasing the number of
buffers fixed the problem.

ELECTRONIC DISK

	This package has a parallel and a serial print spooler.  The
parallel spooler should be used, even if a serial printer is being used.

FLIGHT SIMULATOR

	On older ROM's, some machines would occasionally not produce sound.
The solution is to use ROM 1.8A or later.  An alternative is to use some
other program that produces sound, and then boot the Flight Simulator disk.

HOME ACCOUNTANT

	When returning to the main menu from the Budget or Transaction
subprogram, you may get a "syntax error".  If you do, edit the AUTOEXEC.BAT
file and add /I to the command line that loads BASICA.

IBM GRAPHING ASSISTANT

	When configuring for a plotter, use maximum time-out.

INFOSTAR

	When using FORMSORT.OVR with DOS 2.1, you will get a file close
error.  The following patch will correct the problem:
DEBUG FORMSORT.OVR
-F88A3 88A6 90
-W
-Q

LOTUS

	The system disk is copy-protected.  You must use original system
disk in drive A, not a copy.

	Driver installed should be COLOR or B&W, not MONO or BOTH, unless
monochrome monitor and IBM monochrome board are installed.

	Machinl must have 192K or you will get "error loading driver."

MASTER TYPE

	This only runs on a dual floppy system, but not on the floppy drive
in a winchester system.

MULTIMATE

	This package prints directly to the hardware, bypassing the
operating system.  It is possible for parallel printers such as the Epson to
work with the operating system but not MultiMate.  This seems to be a
hardware problem caused by some connections in the printer cable that are
missing that the operating system does not require but MultiMate does.

p-SYSTEM

	This software will not work with Shugart drives, since p-system uses
a 4 millisecond step rate, and these drives are rated for 6.  Some Z150's do
have drives that will not run p-system.  It may be possible to get a disk
from UCSD which uses the 6-ms step rate instead.

PROKEY 3.0

	This requires ROM 1.8A or later.

PFS:GRAPH

	All the sample graphs were created as B&W.  They can be displayed in
color by selecting to define the graph and changing COLOR (Y/N)? Y.

STARBURST

	This comes from MicroPro uninstalled.  Terminal can be installed by
putting DEVICE=ANSI.SYS in the CONFIG.SYS file and installing the ANSI
terminal control codes.

STARINDEX

	Running it in more that 512k causes "out of memory" error.  The
patch to correct this is:

DEBUG STARINDX.COM
-E12A
xxxx.012A  7D.73
-E375
xxxx.0375  7C.72
-W
-Q
	Also,

DEBUG STYLE.COM
-E2D4
xxxx:02D4  7C.72
-W
-Q

SUPERSORT

	This package has a problem when run with DOS 2.1.  You will get
Error S131: Close Failure after the sort is complete.  To correct the
problem, install the following patch:

DEBUG SORT.COM
-F1DD2 1DD5 90
-W
-Q

WORDMARC

	In order to use a serial printer, specify parallel within the
WORDMARC configure program, and map parallel to serial in the operating
system.

	When printing a document with text centered and underlined, and a
right margin greater than 0 in the print options menu, the underlining will
print too far to the left.  This is a software bug.

WORDSTAR

	WINSTALL running in more that 512k gives "out of memory" error.  To
correct, install the following patch:

DEBUG WINSTALL.COM
-E2D4
xxxx.02D4  7C.72
-W
-Q

WORDVISION

	This comes with an install program that requires PCDOS 1.1.  It is
not necessary to run this program.  The disk can be copied using COPY.  Any
modifications for terminal type, which INSTALL would normally do, can be
done by entering the program, making the changes and saving the
configuration to the disk.
= MEG =
Tips on using tested hardware packages
-----
January 2, 1985

HERCULES

	This board does high resolution graphics on a monochrome monitor.
To use it, you should know all of the following:

1.  Use the ZCA-6 ROM to disable normal video.
2.  Run HGC FULL.
3.  Toggle switch 4 of SW1 on CPU board in Z150
4.  Use the ZVM-124 or other monochrome monitor.
5.  Don't try to use it in a portable.
6.  Be sure the software you are using is configured for a Hercules board.
7.  Don't use in conjunction with other video boards or special software.
8.  Use HGC.  FONT won't work, neither will HBASIC.
9.  Don't remove the Z150 video board.
10.  Flight simulator and other products requiring a color graphics adapter
will not run.
11.  In the ROM, VM7 is the monochrome mode, and works with VS0 or VS1, but
not VS2.
12.  You must have ROM 1.7 or higher.

MEGAPLUS II

	In order to use the ramdisk software, do the following:  on a
winchester set the switches on the CPU for 2 drives and the RAMDISK will be
B:,  on a dual floppy system set the CPU switches for 3 drives and the
RAMDISK will be C:.

MEMORY BOARDS

	It is necessary to set switches on the board to indicate how much
memory is already installed in the machine.  The settings documented for the
IBM PC are also correct for the Z150 PC for the same amount of memory.  It
is also necessary to set SW2 on the CPU board for the total amount of
memory.  This switch is documented in the Z150 Operations Manual.

VIDEO VAN GOGH

	Requires 192K.  In 1.25 DOS, must use 64k buffer.  In 2.11 DOS, 64k
buffer works in all modes, 16k buffer works in low resolution mode, but not
in high resolution mode.

Switches:  SW1, 1-8: CCCCOOOO   SW2, 1-8: CCCOCCCC.  C=closed, O=open.
= MF =
Applications software information

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Word processing software				06/27/84	16k
B - Accounting software					05/10/84	6k
C - Database software					11/02/83	5k
D - Spreadsheet software				08/08/84	10k
E - Miscellaneous applications software			08/09/84	2k
* - Download all the menu categories					39k
= MFA =
Word processing software information

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - WORD mailing labels with blank fields suppressed	06/27/84	1k
B - Wordstar 3.3 patch to allow backspacing overstrike	05/10/84	1k
C - Wordstar 3.3 install of non-specified printers	04/06/84	3k
D - Turning off the keyclick in ZDOS WORDSTAR 3.3	04/06/84	2k
E - Using Autoscribe on a 64k system			01/04/84	1k
F - Using Wordstar with a Diablo			12/28/83	1k
G - MAGIC WAND printing problems			11/02/83	1k
H - Automatic defeat of page numbering			11/02/83	2k
I - Magic Wand PRINT from drives greater than B:	11/02/83	2k
J - Confusion over the Wordstar version number		11/02/83	1k
* - Download all the menu categories					15k
= MFAA =
WORD mailing labels with blank fields suppressed
-----
June 27, 1984 #39

	Question: I want to print mailing labels in Word using the Print
Merge Command and some of the fields in my database are blank.  How do I
prevent blank lines in my document where those fields are used?

	Answer: You can suppress printing of a blank line with an IF
statement, as in the example below where address1 and address2 will not
print if blank. In this example, Newline or Carriage Returns are required at
the end of each line (within the statement) and no spaces should be between
the IF AND ENDIF clauses.

<<fname>><<lname>>
<<IF address1="">><<ELSE>><<address1>
<<ENDIF>><<IF address2="">><<ELSE>><<address2>>
<<ENDIF>><<city>>
<<state>><<zip>>
= MFAB =
Wordstar 3.3 patch to allow backspacing overstrike
-----
May 10, 1984 #57

	Question:  ZDOS WordStar version 3.3 - If I install backspacing as
the overprinting method for a printer that can backspace (option B in the
User Defined Printer Installation Menu), the results when printing a
document are as if the printer does not have the ability to backspace.	Is
there a patch to allow backspacing as a overstrike method?

	Answer:  The following patch will allow backspacing as	a
overprinting method.  Of course this is in addition to selecting option B in
Installation Menu.

We assume that you have WORDSTAR in drive A, are at the A prompt, and also
have DEBUG.COM on the WORDSTAR Program disk.  <CR> = Return Key.

A:DEBUG WS.COM		<CR>	Enter DEBUG WS.COM
DEBUG VERSION X.XX
>E765			<CR>	Enter E765
XXXX:0765 00.01		<CR>	Enter 01 to right of decimal point
>W			<CR>	Enter W
Writing XXXX bytes
>Q			<CR>	Enter Q to return to system prompt
A:
= MFAC =
Wordstar 3.3 install of non-specified printers
-----
April 6, 1984 #58

	Question:  I have Wordstar 3.3 running on the Z-100 in ZDOS.  The
install program does not list all the printers that are available in the
CP/M version.  How can I install my Wordstar to work with one of these
printers.

	Answer:  Several selections on the CP/M INSTALL menu correspond to
the Z25 selection in the ZDOS INSTALL.	These are TI 810/820, Okidata ML84A,
NEC 8023A, MPI 88G/99G, Epson MX80/100, and Centronics 353 and 739.

	The other 6 selections can be achieved by selecting user-defined
printer, and installing the correct values for that printer.  Values for
these printers are listed below.  Menu selections are indicated by letter,
and where a selection has more than one question, the questions are
numbered.  Questions that are not listed do not require installation.  All
numbers are in hex.

	These values were determined from the CP/M version of install as
provided by Micropro.  They have not been tested in ZDOS Wordstar, but
should work as listed.	If you have trouble after these values are correctly
installed, you may need to check with your printer supplier.  Zenith Data
Systems cannot be responsible for any modifications made to our software. Be
sure  you make any changes on a copy, and not your original disk.

C.Itoh/TEC Starwriter/F10:

A1: 1B,1A,49    A2: 1B,1A,49    B:B		C:2
D:A  		E:A  		F1: 1B,41
F2: 1B,42       G1: 1B,1E       G3: 01,00       G4: 63,00
G5: 0A	        G6: 1B,0A       H1: 1B,1F       H2: A
H3: 01,00       H4: 63,00       H5: 20	        H6: 08
I1: 1B,35       I2: 1B,36       J1: 1B,20       J2: 1B,2F

Qume Sprint 5-9/45-11+

	Use the settings for C.Itoh except H4 should be 7E,00

NEC Spinwriter 3550

A1: 1B,3D,0D   	A2: 1B,3D,0D   	B:B  		C:2
D:A  		E:A  		F1: 1B,33
F2: 1B,34       G1: 1B,41       G2:1B,32	G3: 00,00
G4: 3A,00       G5: 0A	        G6: 1B,0A       H1: 1B,5D
H2: A	        H3: 40,00       H4: 10,00       H5: 20
H6: 08	        I1: 1B,59       I2: 1B,5A       J1: 30
J2: 30	        K1: 0D,0A       K2: 0D

NEC Spinwriter Specialty

A1: 1B,34,1B,4B,1B,4F,1B,40,0D,0D		A2: 1B,3D,0D
B:B  		C:2
D:A  E:A        F1: 1B,33      	F2: 1B,34      	G1: 1B,5D
G3: 4F,00       G4: 11,00       G5: 0A	     	G6: 1B,39
H1: 1B,5D       H2: A	        H3: 40,00       H4: 10,00
H5: 20	        H6: 08	        I1: 1B,3E       I2: 1B,3C

Olympia ESW-102

A1: 0D	  	B:A  		C:3  		D:A
E:A  		K1:0D,0A	K2:0D,00

Half-Line Feed Printer

A1: 0D	  	B:A  		C:3  		D:A
E:A  		K1: 0D,0A,0D,0A	  		K2: 0D,00
K3:0D,0A
= MFAD =
Turning off the keyclick in ZDOS WORDSTAR 3.3
-----
April 6, 1984 #59

	The following patch modifies Wordstar 3.3 in ZDOS so that if the
keyclick is off before entering Wordstar, it will not be turned on.  Be
aware that this patch does not turn the keyclick off.  It merely prevents
Wordstar from turning it on.  You must use some other means of turning off
the keyclick.  A simple means of doing this is included below.	Also,
Wordstar will turn the keyclick on when you exit, so if you want it off
permanently, you will have to turn it off again after exiting Wordstar.

	The following patch assumes that you have Wordstar in the A drive,
are at the A prompt, and also have DEBUG on the Wordstar program disk.

A:DEBUG WS.COM

E587F
xxx.587F 7A.45
W
Q

	Wordstar is now modified to leave the keyclick off.  Turn the click
off before entering Wordstar, and it will stay off until you exit.

	If you do not have some other means of turning the click off, the
instructions below create a file called KEYOFF which you can print to the
screen using TYPE.  This will turn the keyclick off.  Other escape sequences
can also be sent to the terminal using this method.

A:DEBUG KEYOFF
file not found

R CX
CX 0000
:3
E100
xxxx:0100  xx.1B  xx.78  xx.32
	(Note:	press space after 1B and 78, and return after 32)
W
Q

	Now you can use this file by entering the command:

TYPE KEYOFF

	This will turn off the keyclick.
= MFAE =
Using Autoscribe on a 64k system
-----
January 4, 1984 #60

	Question:  I just expanded my H-8 to 64K and the Autoscribe or
Electronic Typing software won't boot.	Won't it work on a 64K system?

	Answer:  Yes, it will work on a 64K system.  However, the following
patch must be made.  Using SUPERDUMP patch track 1, sector 3: using DUMP
patch track 1, sector 2.

	CHANGE BYTE	FROM		TO

	89		21		21 LXl HoFFH
	8A		97		FF
	8B		27		00
	8C		2E		25 DCR H
	8D		00		7E MOV A, M
	8E		24		34lNR M
	8F		7E		BE CMP M
	90		34		77 MOV M, A
	91		BE		CA JZ 278CH
	92		77		8C
	93		C2		27
	94		8E		00 NOP
	95		27		00 NOP
	96		2B		00 NOP

Both SUPERDUMP and DUMP can be obtained from the Heath Users' Group, along
with instructions on their proper use.
= MFAF =
Using Wordstar with a Diablo
-----
December 28, 1983 #61

	Question:  I want to use the Wordstar program with my Diablo
printer.  How do I use INSTALL to do that?

	Answer:  You do not need to use INSTALL to prepare Wordstar for use
with a Diablo printer.	Wordstar, as delivered from the factory, is
configured properly.
= MFAG =
MAGIC WAND printing problems
-----
November 2, 1983 #62

	Question:  When I print in MAGIC WAND the text comes out all
garbled, but when I exit to the operating system and use CONTROL P it seems
to print just fine.

	Answer:  The CHANGE program must be run to configur MAGIC WAND for
your printer.  (The change program is mentioned in the ZENITH insert on page
5.)
= MFAH =
Automatic defeat of page numbering
-----
November 2, 1983 #63

	Question:  How do I disable Wordstar's page numbering function
without using the dot command .OP each time I create a one page document?

	Answer:  The following steps will defeat the page numbering
function:

a.  At the A> prompt type INSTALL.

b.  When the system asks if this is a normal first time installation type
NO.

c.  At the Wordstar Installation options menu, select option C.  This allows
you to make changes to the existing Wordstar, and test the changes
immediately.

d.  The filename of Wordstar to be INSTALLed is WS.COM.

e.  The filename for saving INSTALLed Wordstar is WSX.COM.

NOTE:  For the next four menus, select option 'U' (no change), and 'Y' (yes)
to keep the previous selection unchanged.  After running thru the four sub-
menus, the following prompt will appear:

ARE THE MODIFICATIONS TO WORDSTAR COMPLETE?
  IF THEY ARE ANSWER YES TO THE NEXT QUESTION.
  IF YOU WISH TO MAKE ADDITIONAL PATCHES TO WORDSTAR'S
  USER AREAS, ANSWER NO TO THE NEXT QUESTION.

OK (Y/N):

f.  Type 'N' (no).  This will bring you into Wordstar's patching facility.

g.  Type ITPOPN: for the location to be changed.

h.  For the new value type 'FF' RETURN.

i.  At the next location prompt type '0', and you will be asked to confirm
the INSTALLation selections.  When typing a 'Y' at the prompt, the newly
installed WSX.COM will be run, giving you a chance to test the changes. Once
you are satisfied that the patch is implemented properly, exit Wordstar and
rename the WSX.COM file to WS.COM. (PIP WS.COM=WSX.COM)
= MFAI =
Magic Wand PRINT from drives greater than B:
------
November 2, 1983 #64

	Question:  I have more than two drives on my Z89 and would like to
be able to access these drives while editing or printing a file with my
Magic Wand disk on A and the file to be processed on a drive higher than
letter C.  At present, Magic Wand only recognizes drives A and B when PRINT
is invoked, and although I can EDIT a file on a drive higher than B, I
cannot display a file or get a file directory while in EDIT for these
additional drives.  Is there any solution to this problem?

	Answer:  Yes, there are modifications you can make to PRINT.COM and
EDIT.COM using CP/M's DDT utility that will allow you to access the maximum
number of drives possible (6) with the Z89.

For PRINT.COM the procedure is:

Boot your system with your CP/M disk in drive A and your Magic Wand disk in
drive B.

		TYPE ----->	DDT B:PRINT.COM

The machine will respond:	DDT VERS 2.2
				NEXT  PC
				5000  0100
				-

		TYPE ----->	S680 (Return)

The machine will respond:	0680 02

		TYPE ----->	06 (Return)

The machine will respond:	0681 CO

		TYPE ----->	. (Return)

The machine will respond:	-

		TYPE ----->	GO

At the A> prompt, type SAVE 79 B:NEWPRINT.COM.

After you have verified that NEWPRINT.COM operates properly, rename
NEWPRINT.COM to PRINT.COM.

For EDIT.COM the procedure is:

Boot your system with your CP/M disk in drive A and your Magic Wand disk in
drive B.

		TYPE ----->	DDT B:EDIT.COM

The machine will respond:	DDT VERS 2.2
				NEXT PC
				4080 0100
				-

		TYPE ----->	S400 (Return)

The machine will respond:	0400 02

		TYPE ----->	06 (Return)

The machine will respond:	0401 DO

		TYPE ----->	. (Return)

The machine will respond:	-

		TYPE ----->	GO

At the A> prompt, type SAVE 64 B:NEWEDIT.COM.

After you have verified that NEWEDIT.COM operates properly, rename
NEWEDIT.COM to EDIT.COM.
= MFAJ =
Confusion over the Wordstar version number
------
November 2, 1983 #65

	Question:  When I got my Wordstar/Mailmerge program, the label said
version 3.0 but when I started up the system I found it was version 2.26.

	Answer	You did get the right disk.  The version we are currently
selling is version 2.26.  Some of the diskettes were mislabeled as version
3.0.
= MFB =
Accounting software information
-----
May 10, 1984 #69

	Question:  When using the BPI Accounting Series I can enable the
screen display colors only on certain individual packages within the series.
How can I enable this option within all the BPI packages?

	Answer:  If your version of GWBASIC is 1.0 then the following patch
will allow color in certain BPI packages.

The following patch assumes you have BASICA.EXE in A drive, are at the A
prompt, and also have DEBUG.COM on the bootable BASICA disk.

A:REN BASICA.EXE A.BIN		(Renames BASICA.EXE)
A:DEBUG A.BIN			(enter this line and then hit CR)
DEBUG version X.XX
-EE2DB				(enter EE2DB and then hit CR)
XXXX:E2DB 00.01			(enter 01 to the right of . hit CR)
-W				(enter W and hit CR)
Writing XXXX bytes
-Q				(enter Q hit CR returns to A prompt)

A>REN A.BIN BASICA.EXE		(Renames A.BIN to BASICA.EXE)

REN A.BIN BASICA.EXE

*THIS PATCH IS NOT NEEDED FOR GWBASIC VERSION 1.26.
-----
December 28, 1983 #82

	Question:  Can I PIP Peachtree files from the distributed media to a
different media? [Example, from the Z47 to the Z67.]

	Answer:  While it is possible to move Peachtree programs from the
Z47 to the Z67, we do not recommend it.  Nor do we support any such
procedure. Because of the interaction of some of the Peachtree programs with
CP/M's BIOS, transferring files between dissimilar media may cause
incompatability problems and unpredictable results.
-----
December 28, 1983 #83

	Question:  How do I use the H/Z-25 printer with Peachtree software
since it is not an option on the printer menu?

	Answer:  Select the WH-14 printer, on the printer selection menu and
set the switches on the back of the printer as follows:
Left to Right: (0=down) 	01000110	00010000	00000000
-----
December 28, 1983 #84

	Question:  I just purchased and installed a soft-sectored controller
card and associated MTR-90 components in my Z89 computer.  I am no longer
able to boot my Z47 8" Peachtree software.  What can I do to correct this
problem? (The same problem will be encountered when attempting to use Z47
Peachtree software in a Z90 computer with the Z47 controller installed.)

	Answer:  Z47 Peachtree software is currently being supplied with
CP/M version 2.2.02.  The BIOS for version 2.2.02 has to "see" the Z47 at
port 170Q, leaving only port 174Q for the Z47 controller.  For this reason
the Z47 Peachtree software will not boot.
-----
November 2, 1983 #85

	Question:   How  do I get a TITLE account to eject to the top  of
the page when printing financial statements in PEACHTREE GENERAL LEDGER?
(On page 36 of the manual it says to use the up arrow key, but that doesn't
work.)

	Answer:  By preceeding the account name with the ^ character it will
cause a new page to begin.  (The ^ character is found on the keyboard above
the 6 key.)
-------
November 2, 1983 #86

	Question:  How do I configure my Peachtree system to run with my C.
ITOH OKIDATA. . . printer?

	Answer:  Since none of the above mentioned printers are on the
printer selection menu, the diskettes must be modified.  Simply, the program
that changes the baud rates and logical devices must be disabled.  To do
this you will be PIPing the main menu over the printer sub-menu.

With a CP/M working disk in drive A and the program disk in drive B, issue
the command for the package you will be modifying.

	GENERAL LEDGER	- PIP B:GLMENU.BAS = B:MENUGL.BAS
	INVENTORY	- PIP B:INMENU.BAS = B:MENU.BAS
	ACCOUNTS REC.   - PIP B:MENUAR.COM = B:ARMENU.COM
	ACCOUNTS PAY.   - PIP B:APMENU.BAS = B:MENUAP.BAS
	SALES INVOICING - PIP B:MENUSI.COM = B:SIMENU.COM

If you are using 5 1/4" media, for Accounts Receivable the ARCP program must
be deleted before the program can be PIPed.

After PIPing the program over, you can go in to CONFIGUR and make the same
changes you would if you were running a CP/M program.
------
November 2, 1983 #87

	Question:  While running one of the Peachtree packages, adding
transactions, I came up with ERROR MESSAGE 121.  About ten minutes before I
hung up I got the ERROR MESSAGE "THE SOURCE FILE IS FILLED TO WITHIN 5% OF
THE FILE CAPACITY".  How do I fix the disks?

	Answer	As soon as you get the message that the disk is filling up
you must stop entering data.

If you are just starting up and entering several months worth of data you
should have run the EOP processing at the end of each months data.  If you
are in the middle of a normal month, your file sizes are not large enough.

You must increase the size of your files and run EOP or file fix.  Do not
enter more data or the file may be unuseable, and file fix will not be able
to repair the disk.
------
November 2, 1983 #88

	Question:  Why should I buy Sales Invoicing when Accounts Receivable
seems to do the same things?

	Answer:  Sales Invoicing is used as the interface between Accounts
Receivable and Inventory Management.  In addition Sales Invoicing will
generate a back-order report, check inventory levels and credit limits.
Sales Invoicing cannot be used as a stand-alone system.
------
November 2, 1983 #89

	Question:  What do I do when I get ERROR #6 during the check
printing program in the Peachtree Accounts Payable program?

	Answer:  Below are the modifications necessary to eliminate the
error #6 condition.  Error #6 (Overflow error) MAY occur during the CK-Print
Checks program, after a check stub has been printed.  Error #6 will not be
flagged in every Accounts Payable program, it is a rounding error caused by
large amounts being accumulated.

	APCK.BAS (Print Checks)

	OLD
	28040 I=VAL(WS$):IF LEN (WS$)=1 THEN WS$=WS$+"0"

	CHANGE TO:
	28040 IF LEN(WS$)=1 THEN WS$=WS$+"0"

	OLD
	28060 IF I=0 THEN OP$="NO"+OP$ ELSE OP$=""+WS$+OP$

	CHANGE TO:
	28060 I=VAL(WS$):IF I=0 THEN OP$+"NO"+OP$ ELSE OP$=""+WS$+OP$

		Reference, Appendix C
= MFC =
Database software information
-----
December 28, 1983 #90

	Question:  Why does Condor assign only four bytes to a numeric field
that I had previously defined as 10 underscores?

	Answer:  The number of bytes used to store numbers (dollars,
numerics, and Julian dates) does not directly correspond to the number of
underscores.  For these data types, the underscores indicate the number of
digits that can be entered.

	When storing data on disk, Condor uses a compression scheme that
saves disk space.  The number of bytes assigned corresponds to the range of
values that can be entered.  The table below lists the number of underscores
entered, possible ranges, and the number of bytes automatically assigned for
those ranges:

	Underscores		Range		Bytes Assigned
	1-2			+(0-99)		1
	3-4			+(0-9999)	2
	5-6			+(0-999999)	3
	7-10			+(0-2147483647) 4

Never attempt to override the number of bytes assigned automatically during
define.
-----
December 28, 1983 #91

	Question:  I have a Condor database with two fields--[REGULAR HOURS]
and [REGULAR PAY].When I try to list the database with LIST CUSTOMER BY
REGULAR HOURS, REGULAR PAY, I get an error message stating that REGULAR is
not a field. Why?

	Answer:  When using field names with spaces between words, you must
enclose them in quotes (either ' or ").  Your correct command line should
read:

LIST CUSTOMER BY "REGULAR HOURS" "REGULAR PAY"

Generally it is not recommended to use spaces in field names.  Using periods
as spacers (e.g., REGULAR.HOURS) will remove the need to use quotation
marks.
-----
December 28, 1983 #92

	Question:  Page 34 of the Z-90 Condor manual states that FORMAT may be
used to create batch files.  Mine won't run.  What am I doing wrong?

	Answer:  Our error!  FORMAT cannot be used to create batch files for
use with the RUN command.  You must use a text processor (ED or PIE) or word
processor (Magic Wand or Wordstar) to create batch files.  HELP screens can be
created with FORMAT.
-----
December 28, 1983 #93

	Question:  I created a Condor batch file with the following
instructions:

*MESSAGE Sorting database...Be patient
SORT ADDR4 BY ZIP LAST.NAME FIRST.NAME
*MESSAGE Shall I print database now that it is sorted (Y/N)?
*GET $3
*IF $3 = "Y"
PRINT ADDR4 BY FIRST.NAME LAST.NAME ZIP
COMMENT 1
*ENDIF
*END

When I RUN this batch file I am asked whether or not I wish to print the
database before the sort occurs.  Why is this?

	Answer:  Batch files are processed by Condor in two steps.  First
all directives (the commands with stars '*') are processed in the order they
appear.  This means that all messages will be shown and all questions asked
BEFORE regular Condor commands (e.g.,SORT) are processed.  The second step
is the processing of the regular Condor commands.

	Although the commands in a batch file are processed in two steps,
the *IF directive in the above example will be processed properly: If 'N'
was entered in response to the question during the first step, then the
PRINT will not be performed during the second step.
-----
December 28, 1983 #94

	Question:  When PRINTing a large database, Condor prints the field
names as column headings on the first page only.  All subsequent pages are
printed without column headings.  If I use the TITLE command to label the
columns, then the first page contains the TITLE headings and the field names
as column headings.  How do I get column headings just once on every page?

	Answer:  True.	Print does only print the field names on the first
page as column headings.  To produce your report the following commands
should be entered:

TITLE 'NAME  ADDRESS  CITY  STATE  ZIP	PHONE',L,L,L
PRINT DATAB BY NAME ADDRESS CITY STATE ZIP PHONE [X]

The [X] option will prevent Condor from printing the headings on the first
page, while the title command will print the heading in quotes on each and
every page.  The 3 'L's will put three blank lines between the title and the
data.  Note that you may have to adjust the spacing in the TITLE command so
that the field names line up with the data.
------
November 2, 1983 #95

	Question:  When executing a help screen with CONDOR DBMS I would
like to be able to automatically return to the help screen after executing
one of the options on the help screen.

	Answer:  In order to automatically be returned to the help screen
the option you select from the help screen must be a command procedure.  The
last command in this procedure should be "HELP filename".
= MFD =
Spreadsheet software information
-----
August 8, 1984 #164

	Question:  Why didn't I receive an INSTALL disk with my Multiplan
package?  The Getting Started Section of the manual says that I need an
INSTALL disk and a PROGRAM disk.

	Answer:  Since the Zenith version of Multiplan is already installed
for your computer, the INSTALL disk is not included in your package.  There
is an insert (look for a gold cover) which supersedes the "Getting Started"
section and explains how to make working copies of your Multiplan Disk.
-----
December 28, 1983 #96

	Question:  I tried to move my Supercalc program to another disk.
Everything seemed okay when I used the PIP program to do this, but when I
tried to use Supercalc it did not function correctly.

	Answer:  Version 1.04 of the Supercalc program cannot be transferred
to a new disk using the PIP utility.  Version 1.05 will permit you to use the
PIP utility to transfer Supercalc to a new disk.  Supercalc version 1.05 will
soon be sent to all registered Zenith Data Systems and Heath customers.  If
you do have a need to transfer Supercalc version 1.04 to a new disk, you will
need to DUP the disk from the factory and perform a CP/M SYSGEN operation.
-----
December 28, 1983 #97
	Question: How do I make my Supercalc display print wider than 80
characters?

	Answer:  The default for version 1.05 of Supercalc is 132 characters.
The procedure for making the print format wider than 132 characters is as
follows:
	Step 1. Enter the Output command "/O" on the prompt line.  Next,
specify the range you wish your printout to include.  The prompt line	will
now say: "Enter device: P(rinter), S(etup), C(onsole), or D(isk).
	Step 2. Select S for setup.  The setup menu will now be displayed and
the prompt line will say, "Enter codes (CR when done)."
	Step 3. Press the W key and then RETURN.  The prompt line will now
say, "Enter number (0-255), then return."
	Step 4. Enter the number corresponding to the width you wish the
printout to be (for example 150) and then RETURN.  The number you entered
will now be displayed as the page width and you will again be prompted by,
"Enter codes (CR when done)."
	Step 5. Press the P key and then RETURN.  Your display will then be
printed out in the page width format you have selected.
-----
December 28, 1983 #98

	Question:  When I was editing a worksheet in Supercalc and I just
finished entering a command, the screen came back in a disordered condition
with the display split.  In addition, the command line contained
miscellaneous characters.  What caused this condition and what can I do to
fix the problem?

	Answer:  The condition is caused by pressing the "Return" key more
than once after inserting lines.  To fix it, perform the following steps:
	a. Press the / key and the W key (Do not press Return).  The command
line will respond with "Window".  The space above the command line will
display the following:	V(ert.), C(lear Split), S(ynch.) or U(nsynch.)
	b. Press the C key (Do not press Return).  The command line will then
	clear to the > prompt.
	c. Press the / key and the G key (Do not press Return).  The command
	line will respond with "Global."  The space above the command line
	will display the following: F(orm.), N(ext), B(order), T(ab), R(ow),
	C(ol.), M(an.), A(uto)?
	d. Press the B key (Do not press Return).  The command line will then
	clear to the > prompt and your problem should go away.
-----
December 28, 1983 #99

	Question:  When I use Supercalc the active cell does not always
appear in reverse video on the spreadsheet.  Also, when I use the arrow keys,
instead of moving the active cell, the data entry line fills with the numbers
corresponding to the arrow key I press.  How can I correct this situation?

	Answer:  Use the CP/M CONFIGUR program as follows to correct this
problem:
	a. On the CONFIGUR main menu, select option A--Set Terminal and
	Printer Characteristics.
	b. Set the TRUE/FALSE flag for option F (Force output to upper case on
	CRT:) to FALSE.
	c. Select option Y (Finished, make changes and return to main menu.)
	d. Seclect option Y in the main menu (Configure, making changes to
	both memory and disk.  Be certain that the disk is not write
	protected.)
-----
December 28, 1983 #100

	Question:  In Multiplan, can I have windows link both horizontally
and vertically?

	Answer:  Use the Title option of the Window Split command.  It
preserves linkages in both directions.
-----
December 28, 1983 #101

	Question:  Can I send my printer escape sequences or control
characters from Multiplan?

	Answer:  Yes.  Use the setup field of the Print Options command.  To
enter a control code, type ^(shift 6) followed by the character.  For
instance ^L is a form feed.  Because an escape is a control [, enter it as a
^[.
-----
December 28, 1983 #102

	Question:  What steps should I take before allowing an inexperienced
user access to a worksheet I have developed?

	Answer:  Make a backup copy of the worksheet.  Create all windows the
user will need and link them together as the new user will use them.  Lock
all titles, formulas, and other cells the inexperienced user should not
access.
-----
December 28, 1983 #103

	Question:  What is the primary useof the ROW() or COLUMN() functions?

	Answer:  Use rows or columns if they represent equal increments of a
measurable or countable quantity.  For example if the unit of measure is
time, column might represent the year, COLUMN(), in a financial projection.

	In a transient circuit analysis, ROW(), might represent the number of
milliseconds since the beginning of an experiment.

	In a heat or mass transfer analysis, COLUMN(), might represent some
distance from the beginning of a body being analyzed.
-----
December 28, 1983 #104

	Question:  Multiplan will not print lines wider than 165 characters.
In compressed mode, my Z-25 can print 231 characters on a line.  Can I use
this Z-25 capability?

	Answer:  Not at this time.
-----
December 28, 1983 #105

	Question:  I have a group of Multiplan worksheets than contain
related information.  How do I update them to insure all quantities are
updated properly?

	Answer:  First update all worksheets with no external references.
Then update worksheets that contain information relatd to those you have
already updated.  Then update worksheets that depend only on the new
collection of updated worksheets.  Repeat the process ofupdating all
worksheets that depend only on the current collection of updated worksheets
until all worksheets are updated.
-----
December 28, 1983 #106

	Question:  When should I use relative references (e.g. R[-1] C) and
when should I use absolute references?

	Answer:  The only time the distinction matters is when you copy the
cell.  If the copy is to refer to a particular cell, use an absolute
reference.  An example whould be a FICA tax rate applied to all wages in
twelve months of an income statement.  If the copy is to refer to a
corresponding cell in the block, use relative references.  An example is
subtracting cost of goods sold from sales in each month to arrive at gross
margin.  You want to subtract the corresponding values of sales and cost of
goods sold to arrive at gross margin.
-----
December 28, 1983 #107

	Question:  Can I merge two worksheets?

	Answer:  Only in one worksheet was saved in SYLK format.  Unlike
Supercalc, you cannot move a sheet to another location when you load it.  If
you leave room for the sheet to be merged and if the sheet to be merged was
saved in SYLK format, you can merge them.
-----
December 28, 1983 #108

	Question:  I occasionally use Multiplan on an IBM-PC.  Can I transfer
worksheets back and forth on my Z-100?

	Answer:  Yes, if you are running Multiplan under IBM-PC-DOS (not
CP/M-86) and you saved your worksheet in symbolic (SYLK) format.  You may be
able to transfer worksheets saved in normal mode, but we do not recommend
this because Microsoft does not support it.

	If your IBM-PC has single sided drives, any disks formatted on your
Z-100 can be transferred to your IBM-PC.

	If you have Multiplan for your Z-89, you can transfer worksheets to
your Z-100 under the following conditions.  You must have a 48 tpi soft
sectored drive on your Z-89.  The file must be saved in symbolic format.
(Again, you may be abble to transfer worksheets saved in normal mode, but we
do not recommend this.)  After saving the file from your Z-89, use the Z-DOS
RDCPM utility to transform the file from CP/M to Z-DOS format.

	You can transfer worksheets to your Z-89 by running CPS on your Z-89,
connecting the printer port on your Z-100 to the modem port on your Z-89, and
copying the worksheet to bbe transferred to PRN:.
-----
December 28, 1983 #109

ASIN functions.  Can I
simulate these in Multiplan?

	Answer:  Because these functions are used so infrequently, they were
not included in Multiplan.

	However, here are simulations for them.  Replace [cell] with the cell
that you want arccos or arcsin of.  Note:  cell references must be relative.
If they are absolute, the formula is not accepted.
ACOS:
IF([cell]>0,ATAN(SQRT(1/([cell]*[cell])-1)),PI()-
IF([cell]=0,PI()/2,ATAN(SQRT(1/([cell]*[cell])-1))))
ASIN:
SIGN([cell]*IF([cell]=0,0,IF(ABS([cell])=1,PI()/2
ATAN(SQRT(1/(1/([cell]*[cell])-1)))))
The functions could be simplified, but they would not handle the endpoints
and zero properly.
-----
November 2, 1983 #110

	Question:  I just received my SuperCalc update and everytime I go to
print the system "hangs up" and won't print the worksheet.

	Answer:  The CONFIGUR program must be run.  The baud rate and LST
device must be configured exactly like your current CP/M configuration.
-----
= MFE =
Miscellaneous applications software information
-----
August 9, 1984

SUPERSORT will not work properly with DOS 2.xx for both Z-100 and Z-100 PC.
The following patch is required.

Insert the DOS disk into drive A and a working copy of SUPERSORT program disk
into another drive.
Type:

DEBUG <d:>SORT.COM (press RETURN)

Where <d:> is the drive that contains SUPERSORT program.  For example, if
SUPERSORT is in drive B, you would type: DEBUG B:SORT.COM

A hypen (-) should appear on the screen.
Type:

D 1DD2 L4	press RETURN
		should read	80 4C 05 80
		change to	90 90 90 90

F 1DD2 L4 90	press RETURN

Type:
W to write to the disk.

Type:
Q to quit.

Note:  The running change is for this version only.  The fix will be
incorporated into the future version.
-----
June 6, 1984 #9

	Question: I have a Z-100 and a MPI-150 with AP-PAK.  I can create a
circle on the screen, but when I dump it to the printer it comes out an
oval. How can I overcome this?

	Answer: The most nearly perfect circle results from the following
BASIC statement:

	Circle (320,120),160,,,,.3

The circle with appear on the screen as a horizontal oval.
-----
November 2, 1983  #111

	Question:  I have been experiencing problems using SUPER SORT as a
subroutine from within a compiled program.  I am using the select option and
my selection string is correct, but I still get an INTERNAL ERROR message
every time it runs!

	Answer:  Under certain conditions, it is necessary to include an
additional operator just before the TERMINATION (X' FF') operator in the
selection string.  This additional operator is the SPECIAL AND (X'09")
operator.  There are no hard and fast rules regarding when this operator will
be needed, but if your selection string logic is correct and SUPER SORT still
gives you an INTERNAL ERROR, then include the SPECIAL AND. That should solve
the problem.
= MG =
Operating systems and languages software information

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Microsoft operating systems				12/03/84	57k
B - Digital Research operating systems			06/12/84	59k
C - HDOS operating system				01/27/84	3k
D - BASIC languages					10/24/84	36k
E - FORTRAN languages					06/28/84	6k
F - COBOL languages					12/05/84	15k
G - PASCAL languages					02/14/84	5k
H - Assembly languages					01/18/85	9k
I - Communications programs				06/27/84	9k
* - Download all the menu categories					191k
= MGA =
MS-DOS/Z-DOS operating systems

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - General MS-DOS operating system information		10/04/84	2k
B - OS-63-50 Z-150 MS-DOS version 2 operating system	10/04/84	18k
C - OS-61-8 Z-100 MS-DOS version 2 operating system	12/03/84	21k
D - OS-63-4 Z-100 Z-DOS operating system software	06/27/84	15k
* - Download all the menu categories					56k
= MGAA =
General MS-DOS operating system information
-----
October 4, 1984 #176

	Question:  How can I fit the MS-DOS version 2 print screen image
from the PSCOKI on 8 1/2 by 11 inch paper?

	Answer:  The print screen usually assumes that the printer contains
11 by 14 inch paper.  The following commands executed before the print screen
command will condense the print:

copy con prn
CTRL-] CTRL-Z


The CTRL-] and CTRL-Z will appear on the screen as '^]^Z'.
-----
October 4, 1984 #174

	Question:  Sometimes the MS-DOS version 2 APPLY command gives me the
error message "Error EXECing COMMAND.COM, Terminating".  How can I correct
for this?

	Answer:  This error usually occurs because you do not have the
COMMAND.COM program in the root directory of the default disk.	Remember that
neither the PATH nor the COMSPEC options have any affect on what APPLY does.

	There was a version of APPLY created 11-1-83 that had a memory
allocation problem which would sometimes cause this error.  This was
particularly the case when using MDISK.DVD or other such programs that use
significant amounts of memory.	If you have this version the following patch
will correct for this problem.

	Enter the following comands exactly as shown:

debug apply.com
d100 10f

	Make sure that the values displayed match those described as follows:

????:0100  BC 75 03 BB 37 07 83 C3-0F B9 04 00 D3 EB 8C C9

When the program is the correct, unmodified version of the original program
this patch is designed for these values will match.  If these values match
then enter the following commands exactly as shown:

e104 6e 8
e110 90 90
w
q
= MGAB =
OS-63-50 Z-150 MS-DOS version 2 operating system

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Improve reliability of some floppy drives		09/10/84	2k
B - Maximum number of files in an MS-DOS directory	06/26/84	1k
C - Increasing the keyboard input buffer size		06/04/84	4k
D - Z150 escape sequences				06/04/84	2k
E - Patch for ANSI.SYS wrap around problem		06/01/84	1k
F - Compatibility differences with some software	05/04/84	2k
G - Transferring data files to Z-DOS			05/04/84	1k
H - Example of user-defined serial device		04/14/84	2k
I - Problems with configuring the parallel port		04/06/84	1k
J - Patch for DBase version 2.4 to run with MS-DOS 2.1	03/24/84	1k
* - Download all the menu categories					17k
= MGABA =
Improve reliability of some floppy drives
-----
September 10, 1984 #163

	Question:  I have experienced occasional problems with formatting my
floppy disks and reading them.	Is there a problem in the operating system
that causes this?

	Answer:  The floppy drives used in some of the Z150 computers do
occasionally require a greater head settle time than provided by the
earliest versions of the operating system.  If the IO.SYS of your operating
system is version 1.04 or earlier then the following patch might help.  The
version of IO.SYS can be found with the VER command when the computer is
booted.  This patch is acceptable no matter what kind of drives you are
using though it is usually unnecessary.

	If you still experience problems with your drives after implementing
this patch then there is probably a problem with your drives that requires
servicing.

	The following commands create an exact copy of your original
distribution disk with the patch implemented.  The first step is to boot up
on your original distribution disk and place a blank disk in the B: drive.

DEBUG		(call debug)
E0:579	        (patch in memory io.sys)
F	        (increase the head settle time)
Q	        (exit debug)
DISKCOPY/V      (call diskcopy)
AB	        (copy from A to B)
N	        (exit diskcopy)
DEBUG	        (call debug)
L100,1,B,1      (load io.sys sector from disk)
E21B	        (patch on disk io.sys)
F	        (increase the head settle time)
W100,1,B,1      (write io.sys sector to disk)
Q	        (exit debug)

	If you are using a single drive system you will be asked to change
the disks in the drive at various points in this procedure.
= MGABB =
Maximum number of files in an MS-DOS directory
-----
June 26, 1984 #38

	Question:  What is the maximum number of files in an MS-DOS
directory?

	Answer:  The maximum number of files is different for each of the
different types of floppy disk formats.  The following table lists the
maximum number of files for each of the different disk formats.

64	5 1/4" single sided
112  	5 1/4" double sided
64   	winchester partition <256k
112  	winchester partition <1m
256  	winchester partition <4m
512  	winchester partition <16m
1024 	winchester partition >16m

	Note that under MS-DOS 2 it is possible to use subdirectories which
have no limit on the number of files in the directory.	You can run out of
disk space though since each directory entry requires 32 bytes plus the
space for the file.
= MGABC =
Increasing the keyboard input buffer size
-----
June 4, 1984 #8

	Question:  Is it possible to increase the keyboard input buffer
beyond the current maximum of 15 characters for type ahead?

	Answer:  The Z-100 PC has the capability of operating with an
expanded keyboard buffer for those applications where the standard 15
character buffer is not sufficient.  This feature is available throught the
use of special 'pointer variables' contained in the Z-100 PC's monitor data
area at segment address 0F000H.  These pointers may be changed to specify a
new and larger buffer.	These changes will remain in effect until
initialized buring bootup (CTRL-ALT-DEL or CTRL-ALT-INS).  The procedure to
define a new buffer is as follows:

(1)  Allocate a block of memory as large as the keyboard buffer you would
like to install.  How this is done is dependent on the operating system and
the hardware you are using.  See the example that follows.  Note that the
number of characters that can be typed ahead is one less than half the size
of the buffer.

(2)  Set the word variable at F000:C8 to the segment address for this block
of memory.

(3)  Set the word variables at 40:1A, 40:1C and F000:CA to the starting
offset of the new keyboard buffer.

(4)  Set the word variable at F000:CC to the offset of the last byte in the
keyboard buffer.  Note that a value of 0FFFFh is not permissible.

	This procedure can be used to install a buffer as large as 65,534
bytes or 32,766 characters long.  This would take nearly three hours to fill
holding a key down at the maximum repeat rate!

	As an example, the following MS-DOS program will allocate the top 8k
of unused Z-150 monitor RAM for use as a 4k character keyboard buffer.	Type
the program into a file called BIGKBUFF.ASM and create using the following
commands:

MASM BIGKBUFF;
LINK BIGKBUFF;
DEL BIGKBUFF.OBJ
EXE2BIN BIGKBUFF.EXE BIGKBUFF.COM
DEL BIGKBUFF.EXE
BIGKBUFF

The following is the BIGKBUFF.ASM program source:

monitor_segment segment at 0f000h	;z-150	monitor data segment
key_buff_segment	equ 0c8h	;buffer segment
key_buff_start		equ	0cah	;start offset of buffer
key_buff_end	equ	0cch	;end offset of buffer
free_mem		equ	02000h	;start of available memory
end_mem			equ	03ffeh	;end of free memory
monitor_segment ends
data_segment segment at 040h		;compatible data segment
key_head_ptr		equ	01ah	;buffer head pointer
key_tail_ptr		equ	01ch	;buffer tail pointer
data_segment ends
code	segment public
	assume	cs:code,ds:data_segment,es:monitor_segment

	org	0100h
begin:
	mov	ax,monitor_segment	;point to the monitor segment
	mov	es,ax
	mov	ax,data_segment		;point to data segment
	mov	ds,ax
	mov	es:key_buff_segment,monitor_segment
	mov	ds:key_head_ptr,free_mem
	mov	ds:key_tail_ptr,free_mem
	mov	es:key_buff_start,free_mem
	mov	es:key_buff_end,end_mem
	ret
code	ends
	end	begin

For those who do not have an assembler the following debug commands will
create the program:

nbigkbuff.com
rcx
2c
e100
B8 00 F0 8E C0 B8 40 00
8E D8 26 C7 06 C8 00 00
F0 C7 06 1A 00 00 20 C7
06 1C 00 00 20 26 C7 06
CA 00 00 20 26 C7 06 CC
00 FE 3F C3
w
q

	The program may be used in an AUTOEXEC.BAT file.  There will be no
problem if the program is accidently run twice.  The effect of the program
will only be undone by rebooting the computer.
= MGABD =
Z150 escape sequences
-----
June 4, 1984 #7

	Question: How do I issue escape sequences to the Z100 PC for
extended screen and keyboard control?

	Answer: Normally there are no valid escape sequences on the Z150
series of computers.  It can be done with the presence of a special screen
and keyboard device driver on the bootup disk, which can be accomplished by
placing the command:

DEVICE=ANSI.SYS

in the CONFIG.SYS file.  Please refer to your MS DOS manual for information
on the CONFIG.SYS file.  These sequences can only be issued through the MS
DOS function requests 1, 2, 6, and 9.

By booting to a disk with the above change to the CONFIG.SYS file, some of
the ANSI standard terminal control codes may be issued.  Some examples of
these codes are:

SEQUENCE	FUNCTION

ESC [2J		Erase entire screen and home cursor.

ESC 1m		High intensity on.

ESC 0m		High intensity off.

ESC [#,#H	Move cursor to specified position, where the first '#'
		and second '#' are the line and column numbers respectively.
= MGABE =
Patch for ANSI.SYS wrap around problem
-----
June 1, 1984 #6

	Question:  Normally when I type more than 80 characters on the
screen of my Z150 computer when using MS-DOS version 2 it automatically
wraps around to the next line.  Is there anyway I can get it to do this when
I am using the ANSI.SYS device driver?

	Answer:  The following commands will patch the ANSI.SYS device
driver to default to line wrap.

debug ansi.sys
e138
1
w
q
= MGABF =
Compatibility differences with some software
-----
May 4, 1984 #5

	Question:  I realize that it is not possible for you to test all
possible IBM PC software packages for compatibility with the Z-150.  Can you
tell me how I might identify software packages that might not work on the Z-
150 compatible computer?

	Answer:  It would be very unusual for a software package not to work
on the Z-150 unless the package deliberately attempts to detect that it is
running on a compatible computer.  A few software packages use the cassette
port or the BASIC in ROM of the IBM PC.  We of course cannot violate the
copyright and duplicate the IBM ROM.  It is very rare for a program to
directly use the IBM ROM in this fashion.  Some programs try to use the
color signals from the composite video port instead of the usual RGB port.
Since the quality of this color composite video is very poor anyway the Z-
150 converts the color composite signal to a monochrome grey scale which
works much better on the monchrome monitors.	The Z-150 of course supports
color on the RGB port exactly the same way that the IBM PC does.
= MGABG =
Transferring data files to Z-DOS
-----
May 4, 1984 #4

	Question:  How can I read a data disk created on the Z-150 under MS-
DOS version 2 on the Z-100 under Z-DOS?

	Answer:  The default is 9 sectors per track when formatting a blank
disk under MS-DOS version 2; Z-DOS only recognizes a format of 8 sectors per
track.	A switch can be added to the MS-DOS version 2 FORMAT command, namely
the '/8' switch, to indicate that you wish to format a blank disk with 8
sectors per track.  Once this disk is formatted you may copy data to it on
the Z-150 and read it under Z-DOS.  Be aware of the fact, however, that Z-
DOS only recognizes a single directory and will not copy files in an MS-DOS
version 2 sub-directory, therefore only copy files to this disk's root
directory.
= MGABH =
Example of user-defined serial device
-----
April 14, 1984 #3

	Question:  How do I Configure a user defined serial printer for use
on the Z-150.

	Answer:  Since this option is very flexible the details of its use
depend on the exact application it is intended for.  As an example the WH-53
does not appear in the CONFIGUR menu since it was made available only
recently.  The proper entries for configuring the WH-53 are as follows.
Those options which are usually always the same are marked with an asterisk.

Steps:	Things keyed in		Comments

1)*	configur		(call the configur prog.)
2)*	B			(select config com device.)
3)*	A or B			(select com port)
4)*	H			(select user defined option.)
5)*	<cr>			(no strip of parity on input.)
6)*	<cr>			(no strip of parity on output.)
7)*	<cr>			(no map of lower case on input.)
8)*	<cr>			(no map of upper case on output.)
9)	E			(Choose 1200 baud rate.)
10)	A			(choose 1 stop bit.)
11)	A			(choose no parity.)
12)	B			(choose 8 bit words.)
13)	A			(choose no handshaking.)
14)*	<cr>			(no pad characters.)
15)*	0			(insert no pad characters.)
16)*	A			(select config lpt device.)
17)*	A			(map parallel to serial output.)
18)	A or B or C		(select prn port. normally lpt1.)
19)	A or B or C		(use the one selected in step 3.)
20)*	C			(exit to main menu.)
21)*	F			(make changes to disk and memory.)

Note:  your serial printer may require the use of a null modem cable to
connect it to one of your serial ports.
= MGABI =
Problems with configuring the parallel port
-----
April 6, 1984 #2

	Question: How do I CONFIGUR a parallel printer under MS-DOS 2.0?
Sometimes the instructions in the manual work and sometimes they don't.

	Answer:  The manual does not explicitly state the steps necessary to
CONGIFUR a parallel printer if a serial printer had previously been used.
The complete steps necessary are described as follows:

CONFIGUR  (call the CONFIGUR program)
A	  (Configure LPT device)
A	  (Map parallel output to serial output)
A	  (LPT1)
A	  (No mapping)
B	  (Configure parallel device)
A	  (LPT1)
RETURN	  (Strip parity on output NO)
RETURN	  (Map lower case to upper NO)
RETURN	  (Pad character)
RETURN	  (No pad characters)
RETURN	  (No timeout value)
C	  (Exit)
F	  (Change disk and memory)
A	  (Change disk A)
C	  (Exit program)
= MGABJ =
Patch for DBase version 2.4 to run with MS-DOS 2.1
-----
March 24, 1984 #1

Patch for DBase version 2.4 to run with MS-DOS 2.1

	There is a problem in DBase 2 from Ashton-Tate, version 2.4, that
causes problems when running in MS-DOS 2.1.  This problem does not occur
with earlier versions of the operating system, or with an earlier version of
DBase 2.  The problem exhibited is that you cannot create a new database.

	Several Z100 PC users have reported this problem, since we are
shipping version 2.1 of the operating system.  For their convenience, we are
passing on a patch from Ashton-Tate that will fix DBase 2 so that it is
compatible with our version of the operating system.  Please be aware that
this patch is provided as a convenience only.  Zenith does not support DBase
2 at this time.  Anyone having problems getting DBase to work with this
patch should contact their Ashton-Tate dealer.

DEBUG DBASE.COM

-E53F8
xxxx.53F8  0A.90  C5.90
-W
-Q
= MGAC =
OS-61-8 Z-100 MS-DOS version 2 operating system

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Explanation of the 'new' winchester utilities	12/03/84	3k
B - Improve the speed of output to serial devices	10/04/84	2k
C - Use of the ANSICON.DVD device driver		09/16/84	2k
D - Problems with 96 tpi drives				09/10/84	2k
E - Occasional lost characters on output to serial port 09/05/84	2k
F - Correction for problems with color when using ZDIR	09/05/84	1k
G - Z-DOS disks change procedure to MS-DOS version 2	09/05/84	3k
H - Maximum number of files in a directory		05/26/84	1k
I - Light pen usage					05/22/84	4k
* - Download all the menu categories					20k
= MGACA =
Explanation of the 'new' winchester utilities
-----
December 3, 1984 #178

	Question:  What is different about the newer winchester utilities
described in my MS-DOS version 2 operating system manual?

	Answer:  There is no significant change in the winchester utilities
that are now being shipped only with the Z-100 winchester computers from
those that were previously shipped only with the Z-100 winchester computers.
No matter what operating system you are using, either version of the
utilities is completely compatible with your system.  The operation of
either version of the utilities is essentially the same.

	The following four minor differences which have no affect on the use
of a standard system do exist:

	The VERIFY utility is now called DETECT to avoid confusion with the
MS-DOS version 2 VERIFY command.  The older utility will still work but you
will need to put a drive designation in front of the program name even if it
is on the default drive.  For example:

A:VERIFY instead of VERIFY

	The newer PREP utility will also reserve a cylinder on the disk for
diagnostic purposes.  This cylinder can no longer be used to store data.

	The newer PREP utility will allow multiple winchester drives and
winchesters with a capacity up to 64 megabytes.  These non-standard
winchester configurations will only work with the MS-DOS version 2 operating
system and are not supported by Zenith Data Systems.

	If for any reason you wish to replace your current winchester
utilities disk with a newer disk you can send your disk and a $24
replacement service charge plus 10% shipping and handling and applicable
state sales tax (if any) to:

Heath Company - Service Receiving
Hilltop Road
Saint Joseph, Michigan 49085

Be sure to include a brief note indicating why you wish a replacement for
your disk.  We will also sell, for the same service charge, winchester
utility disks to those who purchased floppy only computers and bought their
winchester drives and controllers elsewhere.  Send the serial number from
your Z-100 Customer Demo disk and the service charge to the above location.
= MGACB =
Improve the speed of output to serial devices
-----
October 4, 1984 #175

	Question:  How can I improve the speed of output to the devices
under Z-100 MS-DOS version 2?

	Answer:  There are a couple of problems with the output routines
that we are trying to address.	The decrease in speed performance occurs
because of special handling that was added to correct for an earlier problem
with slow console response during background printing.	The following patch
will remove the special handling.  This patch only applies to IO.SYS
versions 2.15 and earlier.  When 2.16 is released sometime in the future we
expect both problems to be corrected.

	The following patch should be made to an exact copy of your original
MS-DOS distribution disk 1.  Do not modify the original distribution disk.
The SYS command can be used to transfer the patched operating system to all
your other MS-DOS version 2 bootable disks or partitions.  Enter the
following commands exactly as shown.  Be particularly careful of the spaces
and enter a carriage return at the end of each line exactly as shown.

debug io.sys
l4000 0 0 f
e460b 0
w4000 0 0 f
s100 3900 75 09 2e 88 5d 01

This last command will cause an address to be printed out.  Use this address
in place of the question mark in the following command:

e? eb
w
e460b 27
w4000 0 0 f
q
= MGACC =
Use of the ANSICON.DVD device driver
-----
September 16, 1984 #172

	Question:  How can I use  the ANSICON.DVD device driver file found
on my MS-DOS version 2 operating sysems disks?

	Answer:  Zenith Data Systems does not fully support the use of the
ANSICON.DVD device driver. The ANSICON.DVD is not a full ANSI
implementation.  Its operation is not documented and it is not fully
reliable.  It is included only for the sake of those programs which require
it to work.  The function of the device driver is similar (but not the same)
as the Z150 ANSI device driver described in the Programmers Utility Pack
(model number CB-5063-16).

	The following brief instructions will allow you to experiment with
the use of the device driver.  In order to use the device driver the
following command must appear in the CONFIG.SYS file when the system is
booted:

DEVICE=ANSICON.DVD

assuming that the device driver is in the root directory.  After you are
booted with the device driver installed you can enter the command:

CTTY ANSI

to switch to use of the ANSI device driver and:

CTTY CON

to switch back to the normal console.
= MGACD =
Problems with 96 tpi drives
-----
September 10, 1984 #170

	Question:  How can I use  96 tpi disks formatted under Z-DOS when I
am using MS-DOS version 2 and vice versa.

	Answer:  Zenith Data Systems does not support the use of 96 tpi
drives on the Z-100.  Normally Software Consultation will be unable to
assist with problems of this nature.  Occasionally information of this type
is developed and made available.

	The problem is that the undocumented and unsupported 96 tpi format
for MS-DOS is not compatible with Z-DOS.  For those who are experimenting
with 96 tpi drives the following procedure will allow you to change disks
with an incompatible 96 tpi format.  This procedure assumes that DEBUG is on
the default drive and the 96 tpi disk to be changed is in the B: drive.

Procedure 1:  Using Z-DOS to change a Z-DOS 96 tpi disk to MS-DOS format.

debug
l100 1 1 1
e100 fb
w100 1 1 1
q

Procedure 2:  Using MS-DOS to change an MS-DOS 96 tpi disk to Z-DOS format.

debug
l100 1 1 1
e100 fd
w100 1 1 1
q

	Remember that once the disk has been changed it can no longer be
used by that operating system.
= MGACE =
Occasional lost characters on output to serial port
-----
September 5, 1984 #169

	Question:  How can I correct a problem I have observed where I
sometimes lose characters being output to my printer or a terminal on the
AUX port?

	Answer:  There is a problem where output characters are sometimes
lost if characters are being input at the same time from the same device.
This is also a problem with printers that use software handshaking.  This is
only a problem with the IO.SYS version 2.13.  You can check the version
number of your software by using the VER command after booting your MS-DOS
version 2 disk.  The following patch will clear the problem up.

	The patch should be made to your 5 1/4" backup copy of the MS-DOS
distribution disk 1.  Do not modify the original distribution disk.  The SYS
command can be used to transfer the patched operating system to all your
other MS-DOS version 2 bootable disks.

debug io.sys
l4000 0 0 f
e460b
0	       	(old value 27)
w4000 0 0 f
e1f32
88 c7	        (old value 8a e0)
e1f47
88 f8 5b        (old value 5b 8a c4)
e1f91
88 c7	        (old value 8a e0)
e1fa6
88 f8 5b        (old value 5b 8a c4)
w
e460b
27	        (old value 0)
w4000 0 0 f
q
= MGACF =
Correction for problems with color when using ZDIR
-----
September 5, 1984 #168

	Question:  How do I stop the ZDIR program from using a color display
on my monochrome monitor?

	Answer:  The ZDIR program assumes that if you have color memory that
you have a color monitor and displays some of the directory information in
color.	This does create a problem if you are using a monochrome monitor
because some of the colors will appear very faintly or not at all on a
monochrome monitor.  Even with a color monitor this can be considered
undesirable if you use a switch or a program to change the default
foreground color.

	The following procedure will use the DEBUG program to suppress the
use of color by the ZDIR program.

debug zdir.com
a4bd
nop
nop
nop
nop
(RETURN key only)
w
q
= MGACG =
Z-DOS disks change procedure to MS-DOS version 2
-----
September 5, 1984 #167

	Question:  How do I update my old disks with the new MS-DOS
operating system I have received?

	Answer:  It is highly recommended that users of all old disks
transfer their software to disks containing the new operating system.  All
disks should be of one type or the other to avoid problems.  Your old
distribution disks should be stored away for archive purposes.	The
procedure is different for floppy disks and for winchester users.

	A good way to transfer your software to the new operating system is
to delete all the old distribution disk files from your disks.	After this
is done format a blank disk with the new software using the /S switch to
include the operating system if desired.  Copy all the files on the old disk
to the new system disk.  At this point you must copy any desired system
files from your system disk to the new working disk.  This would appear
after booting a copy of the new system disks as follows:

(put your old disk in drive B)
DEL B:COMMAND.COM
DEL B:ALTCHAR.SYS
DEL B:CONFIGUR.COM
 .
 .
 .
(now put a blank disk in drive B)
FORMAT B:/S/V
(after this is done transfer the B disk to the A drive and insert the old
working disk back in the B drive)
COPY B:*.*/V
(now put your new system distribution disk in drive B and replace any of the
old system files erased from the disk now in the A drive.  It is not
necessary to replace COMMAND.COM and ALTCHAR.SYS since they are put on by
the FORMAT.)
COPY B:CONFIGUR.COM
 .
 .
 .

	Repeat this procedure for all your disks.  A batch file would be
handy for this purpose.

	The procedure is slightly different for winchester system users.
The best thing to do in this case is to use BACKUP and RESTORE.  This would
appear after booting a copy of the new system disks as follows:

ASSIGN Z-DOS E:
DEL E:COMMAND.COM
DEL E:ALTCHAR.SYS
DEL E:CONFIGUR.COM
 .
 .
 .
BACKUP E:*.* A:BACK/B:12-31-99/V
FORMAT E:/S/V
RESTORE A:BACK E:*.*/V
(with your new system distribution disk in drive A replace any of the old
system files erased from the partition.  It is not necessary to replace
COMMAND.COM and ALTCHAR.SYS since they are put on by the FORMAT.)
COPY CONFIGUR.COM E:
 .
 .
 .
= MGACH =
Maximum number of files in a directory
-----
June 26, 1984 #37

	Question:  What is the maximum number of files in an MS-DOS
directory?

	Answer:  The maximum number of files is different for each of the
different types of floppy disk formats.  The maximum number of files on a
winchester partition is 480 irrespective of size.  The following table lists
the maximum number of files for each of the different disk formats.

64   	5 1/4" single sided
112  	5 1/4" double sided
104  	8" single sided
192  	8" double sided

	Note that under MS-DOS 2 it is possible to use subdirectories which
have no limit on the number of files in the directory.	You can run out of
disk space though since each directory entry requires 32 bytes plus the
space for the file.
= MGACI =
Light pen usage
-----
June 22, 1984 #36

	Question:  How can I use a light pen on the Z100 computer?

	Answer:  The hardware of the Z100 computer has always been able to
support a light pen but the software support was not fully developed.  The
operating systems support of the light pen is only experimental and is not
truly useable at this time except in MS-DOS version 2 and later.

	Software consultation does not routinely write sample programs to
demonstrate the use of features of the computer.  Occasionally however
information of this type is developed and is made available.

	The following ZBASIC interpreter program uses an assembly language
subroutine to allow the program user to write on the screen with the light
pen.

10 'save"lightpen",a
20 DEFINT A-Z
30 DEF SEG
40 OPEN"r",1,"lightpen.bin
50 SIZE=LOF(1)
60 CLOSE
70 OPEN"r",1,"lightpen.bin",SIZE
80 GET#1
90 LIGHTPEN=VARPTR(#1)+188
100 C$=""
110 WHILE C$<>"Q" AND C$<>"q"
120 C$=""
130 COLOR 0,7
140 CLS
150 WHILE C$=""
160 HIT=0
170 WHILE HIT=0 AND C$=""
180 CALL LIGHTPEN(HIT,ROW,COLUMN,X,Y)
190 IF HIT=0 THEN LAST=0 ELSE IF LAST=0 THEN PSET(X,Y):LAST=1
200 C$=INKEY$
210 WEND
220 LINE-(X,Y)
230 'LOCATE ROW+1,COLUMN+1:PRINT"*";
240 WEND
250 WEND
260 COLOR 7,0
270 CLS

	The contents of the assembly language routine are as follows:

	name	lightpen
	title	lightpen - lightpen input subroutine
	include defms.asm
code	segment public 'code'
	assume	cs:code
;
;lightpen - lightpen input subroutine
;
;CALL LIGHTPEN(HIT,ROW,COLUMN,X,Y)
;
arg	struc
seg	dw	?
offset	dw	?
y	dw	?
x	dw	?
column	dw	?
row	dw	?
hit	dw	?
arg	ends
	public	lightpen
lightpen proc	far
	mov	bp,sp
	push	es				;save extra segment
	mov	ax,BIOS_SEG			;get address of bios segment
	mov	es,ax				;move to es
	mov	bx,es:word ptr [BIOS_CTADDR]	;get configuration pointer
	mov	bx,es:word ptr [bx+CONFG_ASP]	;get address of lightpen info
	mov	ax,0
	cli					;don't mess us up
	xchg	al,es:byte ptr [bx.ASP_LPHF]	;check for light pen hit
	mov	si,[bp.hit]			;get address of variable
	mov	[si],ax				;set the variable
	mov	ax,es:[bx.ASP_LPHCA]		;get the character address
	mov	cl,es:[bx.ASP_LPHPA]		;get the pixel address value
	sti					;allow interrupts now
	cmp	ax,0
	jg	lp_ok
	add	ax,04000h
lp_ok:
	sub	dx,dx
	mov	bx,80
	div	bx				;divide by eighty
	mov	si,[bp.row]
	mov	[si],ax
	mov	si,[bp.column]
	mov	[si],dx
	xchg	ax,dx
	mov	di,cx
	and	di,0f0h
	and	cx,0fh
	mov	bl,8
	mul	bl
	sub	ax,cx
	add	ax,15
	mov	si,[bp.x]
	mov	[si],ax
	mov	cl,4
	shr	di,cl
	mov	ax,dx
	mov	bl,9
	mul	bl
	add	ax,di
	mov	si,[bp.y]
	mov	[si],ax
	pop	es
	ret	(size arg)-4
lightpen endp
code	ends
	end

	The following commands are used to create and run the program:

masm lightpen,lightpen;
link lightpen,lightpen;
exe2bin lightpen.exe lightpen.bin
del lightpen.exe
zbasic lightpen

	The light pen used was obtained from:

HEI Incorporated
1495 Steiger Lake Lane
Victoria, Minnesota 55386
part number 120-19 $150

	This is not a recommendation of this specific light pen just a
mention of the light pen used to test this procedure since Zenith Data
Systems does not offer a light pen at this time.  If the light pen used is
not very sensitive then the brightness of the screen must be increased
enough to trigger the light pen.  More than average brightness is required
with most lightpens.  This is particularly true when trying to sense
individual pixels.
= MGACJ =
Additional information for implementing Z-100 BIOS
-----
December 27, 1984 #181

	Question:  What are the steps necessary to implement a new MS-DOS
version 2 BIOS and create a new bootable disk after performing the BIOS.DO
procedure?

	Answer:  The source files on the Programmer's Utility Pack are not
intended to be a totally up to date representation of the  current BIOS
source therefore there is some risk in the proposed procedure.  It can be
accomplished with the following instructions assuming a disk in the B: drive
is the destination:

FORMAT B:/V
COPY BIOS.BIN B:IO.SYS
FLAGS MSDOS.SYS
COPY MSDOS.SYS B:
COPY COMMAND.COM B:
FLAGS MSDOS.SYS SRH
FLAGS B:MSDOS.SYS SRH
FLAGS B:IO.SYS SRH

	It is important to note that on early shipments of the Programmer's
Utility Pack the BIOS.DO file contained a typographical error.  The LOCATE
command should be EXE2BIN instead.  Also the BCHR.ASM file contains path
names in the INCLUDE commands which should not be there.  These problems can
be corrected with the following commands

edlin bios.do
rlocate^Zexe2bin
e
edlin bchr.asm
r\DEVEL\DOS20\INC\^Z
e

Note that the upper/lower case is critical in the EDLIN replace commands.
= MGAD =
OS-63-4 Z-100 Z-DOS operating system software

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - BACKUP problem - 'No files selected' error.		06/27/84	1k
B - 'Bad Command or file name' error with COPY command	05/10/84	1k
C - CHKDSK indicates 6 hidden files			04/13/84	1k
D - 'Warning:  No STACK segment' error message meaning	04/13/84	1k
E - How to enter escape codes from the keyboard		12/15/83	2k
F - User-defined option of the CONFIGUR program		12/10/83	2k
G - Updating with the ZDOS Winchester supplement	04/29/83	2k
H - Implementing a customized ZDOS BIOS			01/25/83	2k
I - Using MAKE to create backups or copies of disks	11/02/82	2k
* - Download all the menu categories					14k
= MGADA =
BACKUP problem - 'No files selected' error.
-----
June 27, 1984 #41

	Question:  The first time I did a BACKUP it worked fine.  Why is it
that now I get the error message 'No files selected.'

	Answer:  BACKUP assumes that whenever you back up files that you
only want those that have been created since the last time BACKUP was run.
If you want to back up all files on the disk regardless of when they were
created specify a date using the /A switch as follows:

BACK *.* A:BACKUP/A:1-1-80

WARNING: Using /A:1-1-80 option will not backup files with a creation date of
1-1-1980.  To backup files with this creation date you should substitute the
/A:option with /B:12-31-2099.  In turn this will not backup files created on
12-31-2099.

For more information on this subject read page 7.24 of the Z-DOS Winchester
Supplement concerning the LASTBACK.SYS file.
= MGADB =
'Bad Command or file name' error with COPY command
-----
May 10, 1984 #45

	Question:  Why do I get the error message "Bad command or file name"
when I try to do a COPY or DELETE or RENAME command?

	Answer:  If you copy the contents of the Winchester Utilities Disk
onto the winchester partition (which by the way you should never do) you will
destroy the operating system on the partition.	This occurs because the
COMMAND.COM version 1.20S on the winchester utilites disk is not the correct
version for normal use of the computer.  The correction is to boot your
original Z-DOS distribution disk and copy COMMAND.COM onto your winchester
partition.  A sample command is as follows:

COPY A:COMMAND.COM E:
= MGADC =
CHKDSK indicates 6 hidden files
-----
April 13, 1984 #46

	Question:  My original Z-DOS distribution disk indicates that there
are 6 hidden files when I use CHKDSK.  How do I access those hidden files?

	Answer:  Some of the Z-DOS disks were created with four files that
had an unused bit set in the directory entry.  There are actually only two
hidden files on the disk.  Even though CHKDSK is confused into thinking the
files are hidden they are not and there will be no problem in normal usage of
the disk.
= MGADD =
'Warning:  No STACK segment' error message meaning
-----
April 13, 1984 #47

	Question:  When I follow the instructions in Appendix P for creating
a '.COM' program why do I get the error message 'Warning:  No STACK segment',
'There was 1 error detected.'?	I get the same error when I try to create the
PSC program.

	Answer:  That error message is perfectly normal whenever you are
creating a '.COM' file.  Just ignore the message and continue on with the
rest of the instructions.
= MGADE =
How to enter escape codes from the keyboard
-----
December 15, 1983 #51

	Question:  The H/Z-89 computer has the OFF-LINE key which, when
depressed, allows the user to enter certain escape code sequences from the
keyboard.  The Z100 computer, on the other hand, does not have the OFF-LINE
key nor an equivalent.	How can I enter escape codes on the Z100?

	Answer:  One possible way of doing this with ZDOS is to implement the
following program:

	PGMSEG	SEGMENT
		ASSUME	CS:PGMSEG
		ORG	100H
	START:	MOV	AH,1		;  function #1 (keyboard input)
		INT	21H		;  call ZDOS
		JMP	START		;  typing CTRL-C will terminate
	PGMSEG	ENDS
		END	START

The above program can be entered into your computer using EDLIN.  Once this is
complete enter the following commands to produce an executable version of the
program:

A>MASM FNAME;
A>LINK FNAME;
A>EXE2BIN FNAME.EXE FNAME.COM

FNAME is the file's name, and MASM, LINK and EXE2BIN are programs which can be
found on the ZDOS distribution disk 1.	To run the program, type FNAME,
return, and then any escape code sequences you wish.  Type CTRL-C when you are
done.  The program operates simply by echoing to the screen all
characters entered on the keyboard.  The programs are necessary
because the operating systems will alter some characters (the
escape character, for example) before echoing them.
= MGADF =
User-defined option of the CONFIGUR program
-----
December 10, 1983 #52

	Question: How do I use the user-defined option of Z-DOS CONFIGUR?

	Answer:  Since this option is very flexible the details of its use
depend on the exact application it is intended for.  As an example the WH-53
does not appear in the CONFIGUR menu since it was made available only
recently.  The proper entries for configuring the WH-53 are as follows.  Those
options which are usually always the same are marked with an asterisk.

CONFIGUR  *(run the CONFIGUR program)
B	  (AUX device)
I	  *(User defined)
B	  *(Serial Device)
RETURN	  *(No strip parity on input)
RETURN	  *(No strip parity on output)
RETURN	  *(No map lowercase on input)
RETURN	  *(No map lowercase on output)
B	  (Port B)
I	  (1200 baud)
A	  (No handshaking)
A	  *(one stop bit)
RETURN	  *(No parity)
D	  *(8 bit words)
RETURN	  *(Pad character)
RETURN	  *(no pad characters)
RETURN	  *(continue)
F	  *(change disk and memory)
A	  *(Disk drive to change)
C	  *(Exit program)
= MGADG =
Updating with the ZDOS Winchester supplement
-----
April 29, 1983 #54

	Question:  What am I supposed to do with the ZDOS Winchester
supplement that I have received?

	Answer:  The ZDOS Winchester supplement represents an updated version
of the ZDOS operating system.  The major difference is the added support of
the winchester drive.  Even if you do not use the winchester drive it is
highly recommended that all ZDOS users transfer all their software to disks
containing the updated system.	All software should be of one type or the
other.	Your old ZDOS distribution disks should be stored away for archive
purposes.

	The proper way to transfer your software to the new ZDOS system for
this type of update is to format a blank disk with the new software using the
/S switch to include the system.  Copy all the files on the old disk to the
new system disk.  At this point you must copy any system files from your
system disk to the new working disk.  This would appear after booting a copy
of the new system disks as follows:

FORMAT B:/S/V
(after this is done transfer the B disk to the A drive and insert
the old working disk in the B drive)
COPY B:*.*
(now put your new system disk in drive B and replace any of the old system
files on the disk in the A drive especially you must remember to copy over
COMMAND.COM and ALTCHAR.SYS)
COPY B:COMMAND.COM
COPY B:ALTCHAR.SYS
COPY B:CONFIGUR.COM
 .
 .
 .

	Repeat this procedure for all your disks.
= MGADH =
Implementing a customized ZDOS BIOS
-----
January 25, 1983 #55

	Question:  How do I implement a customized ZDOS BIOS?

	Answer:  After making your changes to the source files several steps
must be followed.  First the BIOS must be assembled and then the system files
copied to a new disk.  The following sequence of commands will implement a
modified bios source.  Indented comments are included for simple explanations.

dobios
	Batch procedure on disk II for assembling bios.
debug
l100 0 0 f
	Load the directory of the A: disk.
e72b
0
	Change hidden flag on ZDOS.SYS.
w100 0 0 f
	Write directory back to disk.
format b:
copy bmsdos.bin b:io.sys
copy z-dos.sys b:
copy command.com b:
copy altchar.sys b:
	Copy all the system files to the new disk.
debug
l100 0 0 f
e72b
6
	Change A:ZDOS.SYS back to a hidden file.
w100 0 0 f
l100 1 0 f
	Load B: directory.
e70b
6
	Change B:IO.SYS to a hidden file.
e72b
6
	Change B:ZDOS.SYS to a hidden file.
w100 1 0 f
	Write directory back to B: disk.
q
= MGADI =
Using MAKE to create backups or copies of disks
-----
November 2, 1982 #56

	Question:  How would I use the MAKE program in ZDOS to create backups
or copies of disks?

	Answer:  The most common problem in trying to use MAKE is that using
MAKE without an input file of commands does not format the destination disk.
The second problem is in not realizing that the file of commands must be on
the "Distribution disk I" after it is placed in the drive.

	The following example if entered into a file named COPYFILE.DAT and
copied onto all disks that you wish to backup and/or copy will allow you to
use the MAKE command once and then copy all the disks that you want by just
switching them at the appropiate time without re-entering the MAKE command or
requiring a copy of the MAKE program on any disk except one master disk.

%type
%typeCOPYFILE.DAT MAKE utility for backup/copy of multiple disks
%type
%verbose
%system
%typeCreating backup....
*.*
%typeCTRL C to abort
%typeor insert the next disk (must contain COPYFILE.DAT).
%next
= MGB =
Digital Research operating systems

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - General Digital Research information		12/29/83	12k
B - OS-63-2 CP/M-86 operating system software		04/13/84	7k
C - OS-53-2 CP/M-85 operating system software		04/20/84	12k
D - HOS-89?7-2 CP/M-80 operating systems software	06/12/84	27k
* - Download all the menu categories					58k
= MGBA =
General Digital Research information

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - CP/M compatibility of Zenith equipment		12/29/83	1k
B - What CP/M programs will run on the Zenith equipment	12/23/83	2k
C - CTRL P and CTRL C in a SUBMIT file			06/02/83	2k
D - File transfer using modem or direct connection	04/07/83	2k
E - Conflict with XSUB and MBASIC or PIP		12/15/82	1k
F - PIP loses parts of some files			09/02/82	1k
G - BDOS error on ?:  R/O				09/02/82	1k
H - BDOS error on ?:  SELECT				09/02/82	1k
* - Download all the menu categories					11k
= MGBAA =
CP/M compatibility of Zenith equipment
-----
December 29, 1983 #31

	Question:  Why won't the Zenith CP/M language software (BASIC
INTERPRETER, COBOL, FORTRAN and the BASIC COMPILER) run on my CP/M
compatible machine?  Is Zenith equipment really CP/M compatibble?

	Answer:  The Zenith implementation of CP/M is one of the most
standard in the industry.  These particular Microsoft languages cannot be
transported to other CP/M systems because they have been customized by
Zenith and Microsoft to run only on Zenith/Heath hardware.  This is due to a
contractual agreement between the two companies.
= MGBAB =
What CP/M programs will run on the Zenith equipment
-----
December 23, 1983 #119

	Question:  Can I run any CP/M program on my Zenith computer?  If
not, how do I know what I can run?

	Answer:  CP/M is currently the most popular microcomputer operating
system used.  It functions in virtually the same manner on most
microcomputers.  But this doesn't always guarantee compatibility from one
computer to another.  The only media that is universally recorded in the
same format is the single-sided, single-density 8" floppy disk.  All other
media (especially 5.25" disks) are recorded in the unique technique
preferred by the computer's manufacturer.  This means that software
available in a non-Zenith format will probably not run on the Zenith
computer.  Typically, software available on 8" single-sided, single-density
disks will work on Zenith computers;; but to be safe, check with the
manufacturer before you buy the software.  Software developed by other
manufacturers which uses the special function keys of a non-Zenith video
terminal may also fail to function properly because they may not be sending
the same codes to the software.
= MGBAC =
CTRL P and CTRL C in a SUBMIT file
-----
June 2, 1983 #150

	Question:  Why can't I put "CTRL P" and "CTRL C" in a SUBMIT file
using the instructions in the manual?

	Answer:  The usual processing of characters done by the BDOS on
input is bypassed when using SUBMIT.  The following programs can simulate
these functions.

		;
		;	PRINT - turn printer echo on and off
		;
		; Usage:
		;
		;	A>PRINT ?
		;(turn printer echo on with anything following PRINT)
		;	A>PRINT
		;(turn printer echo off with nothing following PRINT)
		;
 0100			org	0100h
 0100 2A4E00		lhld	04eh	;address of bios
 0103 110DF5		lxi	d,0f50dh ;offset of flag in bdos
 0106 19		dad	d	;point to it
 0107 3A8000		lda	080h	;echo on or off?
 010A 77		mov	m,a	;set the flag
 010B C9		ret		;return directly to ccp

		;
		;	WBOOT - perform a warm boot
		;
 0100			org	0100h
 0100 C7		rst	0

	This program may also be useful to simulate the PAUSE command found
in ZDOS.


;
;PAUSE - suspend execution of a SUBMIT file until a character is typed
;
 0100			org	0100h
 0100 0E09		mvi	c,9
 0102 110D01		lxi	d,prompt
 0105 CD0500		call	5
 0108 0E01		mvi	c,1
 010A C30500		jmp	5
 010D 5479706520prompt	db	'Type any key when ready to continue$'
= MGBAD =
File transfer using modem or direct connection
-----
April 7, 1983 #151

	Question:  How can I transfer CP/M files from one computer to
another using a modem or direct connection?

	Answer:  Standard CP/M PIP can only transfer small ASCII files.
Small is 16k to 32k depending on the memory size of your computer.  Any
other transfers would require special communications software packages such
as CPS.  Using PIP on small ASCII files would require the following steps.

	The CONFIGUR utility would need to be set up on both computers so
that the RDR: and PUN: devices were assigned to the correct port and
matching baud rates.  The baud rate must be no greater than that supported
by the modem or the speed of the computer.  Usually 1200 baud is a safe
maximum except with 300 baud modems.  Experience will show whether your
computer can transfer faster than that.  If the file is too big or the speed
is too fast, there will be characters missing out of the file.

	On the computer that is going to receive the file you would enter
the command:

PIP ?=RDR:[B]

where '?' is the name of the receiving file.  The previous contents of the
file, if any, will be lost.  After this is done, on the computer that is
going to send the file you would enter:

PIP PUN:=?

where '?' is the name of the sending file.
= MGBAE =
Conflict with XSUB and MBASIC or PIP
-----
December 15, 1982 #152

	Question:  Why do I have problems using XSUB with some programs, in
particular MBASIC and PIP?

	Answer:  Any program, like MBASIC, that uses single character input
or direct console i/o cannot work with XSUB which only supplies console
buffer input.

	PIP commands can be given by XSUB but CON: input cannot.  Another
problem with PIP is that you cannot exit with just a RETURN since SUBMIT
does not allow blank lines.  The following patch will allow PIP to be exited
with either a RETURN or any single character (usually a period) followed by
a RETURN.

A>ddt pip.com
DDT VERS 2.2
NEXT  PC
1E00 0100
-a54f
054f  cpi 2
0551  jnc 55e
0554
-g0
A>save 29 pip.com
= MGBAF =
PIP loses parts of some files
-----
September 2, 1982 #157

	Question:  Why can't I PIP some files without losing part of them?

	Answer:  Random files that do not have all record numbers written
sequentially up to the end of the file can  have holes where there are no
records.  Any program reading the file sequentially, as PIP does, will think
they have reached the end of the file the first time it reaches one of these
holes even though there may be more records later.

	The only way to correct this problem is to write all the record
numbers of a random file with at least null data or write a special program
that reads the file random and copies it.  The CP/M BDOS function "Compute
file size" function code 35 (023h) is the only way to know when the last
random record has been read.
= MGBAG =
BDOS error on ?:  R/O
-----
September 2, 1982 #161

	Question:  When I tried to save my MBASIC program I recieved the
error BDOS err on A: R/O and lost my program.  The disk was not write
protected.  How do I use more than one disk when I have only one drive?

	Answer:  If a disk is ever switched in CP/M, unless the change is
instructed by CP/M, it is flagged as R/O.  Even with one physical drive you
can still use all three logical drives "A:", "B:" and "C:" and CP/M will
keep track of up to three disks for you.  When a new disk is needed CP/M
will tell you when to change them.  A new disk must not ever be substituted
for any of the three unless the operating system is reset.  This is done in
MBASIC with the RESET command.	When you have a CP/M prompt such as "A>" you
may also type "^C" (CTRL C) to reset the operating system.  Both of these
command must be executed only when there is a bootable disk in the "A"
drive.
= MGBAH =
BDOS error on ?:  SELECT
-----
September 2, 1982 #162

	Question:  Why do I get a "BDOS error on x:  SELECT" error message?

	Answer:  There are several reasons why you would get a SELECT error
message.

1)  The disk in the drive is incorrect, damaged or unformatted.

2)  The hardware is not correctly set up.

3)  The "CONFIGUR" utility has not been run to verify the hardware setup.
This especially the case if you receive the "CONFIGUR?" message when booting
or the error occurs on an imaginary drive (drive B in a one drive system).
= MGBB =
OS-63-2 CP/M-86 operating system software

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Additional information concerning CP/M-86 from DR	04/13/84	3k
B - Patch to the LIST program				12/17/83	1k
C - Patch to the CONFIGUR program			12/09/83	1k
D - Patch to the FORMAT program for winchester problem	12/09/84	1k
* - Download all the menu categories					6k
= MGBBA =
Additional information concerning CP/M-86 from DR
-----
April 13, 1984 #112

THE FOLLOWING INFORMATION HAS BEEN MADE AVAILABLE BY DIGITAL RESEARCH
CONCERNING THE CP/M 86 OPERATING SYSTEM - SYSTEM GUIDE

PAGE 47

In section 4.3, BDOS File Operations,
Add two new BDOS Functions:

Entry		_________________________ Return
------------>	|   FUNCTION 47       	| ------------->
CL:  2FH	|			|
DMA buffer:	| CHAIN TO PROGRAM    	|
Command Line	|_______________________|

	Load, Initialize, and Jump to specified Program

	The CHAIN TO PROGRAM function provides a means of chaining from one
program to the next without operator intervention.  Although there is no
passed parameter for this call, the calling process must place a command
line terminated by a null byte in the default DMA buffer.

	Under CP/M-86, the CHAIN TO PROGRAM function releases the memory of
the calling function before executing the command.  The command line is
parsed and placed in the Base Page of the new program.	The Console Command
Processor (CCP) then executes the command line.

Then, add:

Entry		_________________________ Return
------------>	|   FUNCTION 49       	| ------------->
CL:  031H	|			| BX:  SYSDAT Address Offset
		| GET SYSDAT ADDRESS   	|
		|_______________________| ES:  SYSDAT Address Segment

	Return the address of the System Data Area

	The GET SYSDAT function returns the address of the System Data Area.
The system data area includes the following information:

dmaad		equ	word ptr 0	;user DMA address
dmabase		equ	word ptr 2	;user DMA base
curdsk		equ	byte ptr 4	;current user disk
usrcode		equ	byte ptr 5	;current user number
listcp		equ	byte ptr 22	;listing toggle. . .
					;set by ctrl-p
curdrvs		equ	byte ptr 23	;current drives to
					;search
console width	equ	byte ptr 64
printer width	equ	byte ptr 65
console column	equ	byte ptr 66
printer column	equ	byte ptr 67

PAGE 60

In Table 5-4. BIOS Subroutine Summary, in the description of subroutine
INIT, change:

	BDOS offset (0B11H)
to:
	BDOS offset (0B06H)

	CP/M-86  V1.1, Application Note 01

Copyright 1982 by Digital Research, Inc., Pacific Grove, CA 93950

	BDOS DATA PAGE "TOD/DATE" FIELDS

Applicable products and version numbers:  CP/M-86 V1.1

Program:  BDOS

	The date field is located at the base of the data page + 32D bytes.
The date field format is:

	MM/DD/YY,

MM is the month (ASCII)
DD is the day (ASCII)
YY is the year (ASCII)

	The time field is located at the base of the data page + 41D bytes.
The time field format is:

	HH:MM:SS,

HH is the hour (ASCII)
MM is the minute (ASCII)
SS is the second (ASCII)

	The slash, colon and comma are literal characters in both the time
and date representation.

	Licensed users are granted the right to include these modifications
in CP/M-86 V1.1 software.  CP/M-86 is a trademark of Digital Research.

All Information Presented Here is Proprietary to Digital Research.
= MGBBB =
Patch to the LIST program
-----
December 17, 1983 #113

	Question:  CP/M-86 LIST incorrectly re-initializes page number,
therefore instead of starting with ' 1', it starts with page '1 '.  How can
I correct this problem?

	Answer:  To correct this problem, the following patch should be
installed:

A>REN LIST.OLD=LIST.CMD
A>DDT86
DDT86 1.1
-RLIST.OLD
  START		END
nnnn:0000 nnnn:xxxx
-XCS
CS 0000 nnnn+8		;The effect of the register
DS 0000 nnnn+8		;change is to set all segment
SS 0040 nnnn+8		;registers to the beginning of
ES 0000 nnnn+8		;the program past the header.
IP 0000 .
-S056B
nnnn+8:056B 31 20
nnnn+8:056C 20 31
nnnn+8:056D 2E
-WLIST.CMD
-^C
= MGBBC =
Patch to the CONFIGUR program
-----
December 9, 1983 #114

	CP/M-86 Patch for CONFIGUR Printer Protocol

CP/M-86 CONFIGUR incorrectly updates BIOS character I/O table values
associated with ETX/ACK or DC1/DC3 handshaking.  To correct this problem,
the following patch should be installed.  User input is entered as shown:

A>REN CONFIGUR.OLD=CONFIGUR.CMD
A>DDT86
DDT86 1.1
-RCONFIGUR.OLD
  START		END
nnnn:0000 nnnn:xxxx
-XCS
CS 0000 nnnn+8		;The effect of the resister
DS 0000 nnnn+8		;change is to set all segment
SS 0040 nnnn+8		;registers to the beginning of
ES 0000 nnnn+8		;the program past the header.
IP 0000 .
-A0D1B
nnnn+8:0D1B OR AL,10
nnnn=8:0D1D <RETURN>
-A0D27
nnnn+8:0D27 OR AL,20
nnnn+8:0D29 <RETURN>
-WCONFIGUR.CMD
-^C
= MGBBD =
Patch to the FORMAT program for winchester problem
-----
December 9, 1984

	CP/M-86 Patch for FORMAT Winchester Partition

CP/M-86 FORMAT is unable to format a partition if the winchester bad sector
table contains more than 2 entries.  To correct this problem, the following
patch should be installed.  User input is entered as shown:

A>REN FORMAT.OLD=FORMAT.CMD
A>DDT86
DDT86 1.1
-RFORMAT.OLD
  START		END
nnnn:0000 nnnn:xxxx
-XCS
CS 0000 nnnn+8		;The effect of the register
DS 0000 nnnn+8		;change is to set all segment
SS 0040 nnnn+8		;registers to the beginning of
ES 0000 nnnn+8		;the program past the header.
IP 0000 .
-S0719
nnnn+8:0719 08 04
nnnn+8:071A 00 .
-S0759
nnnn+8:0759 08 00
nnnn+8:075A 00 02
nnnn+8:075B 8B .
-WFORMAT.CMD
-^C
= MGBC =
OS-53-2 CP/M-85 operating system software

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - How to perform pixel graphics			04/20/84	2k
B - Implementing a customized BIOS88			04/06/84	1k
C - Addresses for patching 8 inch step rates		01/27/84	2k
D - Implementing a customized BIOS85			01/10/84	2k
E - Media incompatible problem 8 inch disks		12/23/83	1k
F - How to use the time counter				04/13/83	3k
* - Download all the menu categories					11k
		;change is to set all segment
SS 0040 nnnn+8		;registers to the beginning of
ES 0000 nnnn+8		;the program past the header.
IP 0000 .
-S0719
nnnn+8:0719 08 04
nnnn+8:071A 00 .
-S0759
nnnn+8:0759 08 00
nnnn+8:075A 00 02
nnnn+8:075B 8B .
-WFORMAT.CMD
-^C
= MGBCA =
How to perform pixel graphics
-----
April 20, 1984 #115

	Question:  Could you please give an example of how I would perform
pixel graphics using CP/M-85?

	Answer:  Software Consultation does not routinely provide example
programs for using different features of the computer.	Occasionally
information of this type is developed and made available.

	The one big problem with doing graphics under CP/M-85 is that as an
8-bit operating system CP/M-85 does not have full access to all of the Z-100
memory, including the video memory.  Originally it had not been intended
that bit mapped graphics would be possible under CP/M-85.  There has now
been a version of CP/M-85 developed which has a BIOS extension to allow
access to all of the Z-100 memory.  These extensions were implemented in
CP/M-85 version 2.2.102 and later.  Registered owners of earlier versions of
CP/M-85 may purchase this version by sending $48 and their original CP/M-85
distribution disks to:

Heath Company
Service Receiving
Hilltop Road
Saint Joseph, Michigan 49085

Please be sure to include an explanatory letter.

	If you have the proper version of CP/M-85 the usage of the BIOS
extensions is shown by the following example subroutine:

;
;**	PEEK 8088 MEMORY FUNCTION
;
;	ENTRY:	(DE)=OFFSET
;		(HL)=SEGMENT
;	EXIT:	(A)=VALUE
;	USES:	ALL
;
PEEK:
	push	h
	push	d
	lhld	01h	;get the BIOS address
	lxi	d,03fh
	dad	h
	pop	d
	xthl
	ret
;
;**	POKE 8088 MEMORY FUNCTION
;
;	ENTRY:	(C)=VALUE
;		(DE)=OFFSET
;		(HL)=SEGMENT
;	EXIT:	NONE
;	USES:	ALL
;

POKE:
	push	h
	push	d
	lhld	01h	;get the BIOS address
	lxi	d,042h
	dad	h
	pop	d
	xthl
	ret

	Now that the BIOS provides a way to access the video memory the
procedures described for performing pixel graphics under Z-DOS can be
followed under CP/M-85.  For a further discussion of pixel graphics under Z-
DOS refer to the bulletin board information provided earlier under the
category for the Z-DOS operating system.
= MGBCB =
Implementing a customized BIOS88
-----
April 6, 1984 #116

	Question: How do I implement a customized CP/M-85 BIOS88.SYS?

	Answer:  Software Consultation does not routinely provide
information on modifying the standard operating system. Occasionally
information of this type is developed and made available.

	In order to assemble and prepare BIOS.A86 the ASM86.COM assembler
and the GENCMD.COM loader from the CP/M-86 disk is necessary.  The necessary
commands are as follows:

ASM86 BIOS88
GENCMD BIOS 8080
DDT
M1180,????,100 (where ???? is the last address of the file)
G0
SAVE ?? B:BIOS88.SYS (where ?? is the size of the memory image)
MVCPM2?7 * B:
SYSGEN
(RETURN)
B
(RETURN)

Note that different drive specifiers where appropriate may be necessary to
distribute files to provide sufficient space for this operation.  It is not
recommended attempting this procedure wiith anything less than 1 meg of
storage (8" drives or a winchester).
= MGBCC =
Addresses for patching 8 inch step rates
-----
January 27, 1984 #117

	Question: There is some confusion concerning the proper addresses
for patching the CP/M-85 operating system for operation with different 8"
diskette step rates.  Could you clarify this?

	Answer:  The confusion usually centers around the fact that there
are currently three different versions of the CP/M-85 operating system with
three different patch locations.  The versions are:  2.2.100 for 5 1/4"
drives only (8" experimental support); 2.2.101 for 5 1/4", 8" and winchester
systems (free update sent to all registered owners); 2.2.102 minor revisions
in current production.

	The full text of the patch instructions reproduced from Appendix E
of the CP/M-85 manual is as follows:

Zenith Data Systems is providing 8" drivers installed in the CP/M-85
operating system to support ZDS products.  Zenith Data Systems does not
guarantee proper operation of the 8" drivers with disk systems obtained from
other vendors.	However, for the benefit of customers who wish to experiment
with non-Zenith hardware at their own risk, the track-to-track stepping
rate, which is set at 3 milliseconds, may be changed by using DDT and the
SAVE command.  In the example shown below, the rate is changed to 15
milliseconds.

A>STAT BIOS85.SYS $R/W
BIOS85.SYS set to R/W
A>REN BIOS85.OLD=BIOS85.SYS
A>DDT BIOS85.OLD
DDT VERS 2.2
NEXT PC
0600 0100
-S381		{2.2.100=381, 2.2.101=384, 2.2.102=38A}
0381 00 03	{00=3 ms, 01=6ms, 02=10ms, 03=15ms}
0382 04 .
-S399		{2.2.100=399, 2.2.101=39C, 2.2.102=3A2}
0399 00 03	{00=3 ms, 01=6ms, 02=10ms, 03=15ms}
039A 04 .
-G0
A>SAVE 5 BIOS85.SYS
A>STAT BIOS85.SYS $SYS
BIOS85.SYS set to SYS
A>STAT BIOS85.SYS $R/O
BIOS85.SYS set to R/O
A>
= MGBCD =
Implementing a customized BIOS85
-----
January 10, 1984 #118

	Question:  How do I implement a customized CP/M-85 BIOS?

	Answer:  The CP/M-85 BIOS is divided into two separate parts:
BIOS85 which executes on the 8 bit 8085 processor, and BIOS88 which executes
on the 16 bit 8088 processor.  Although it is not currently possible to make
any changes to BIOS88, it is possible to change BIOS85 if so desired.  In
order to do this you will need the Digital Research MAC macro assembler
(model number HDR-837-1).  The following sequence of commands will implement
a modified BIOS85 source file.

MAC BIOSREL

MAC BIOS85
REN BIOS85.HXO=BIOS85.HEX

	Using a text editor, change the statement in the beginning of the
BIOS85 source file that reads:

	RELO	EQU	TRUE
	to:
	RELO	EQU	FALSE

MAC BIOS85
REN BIOS85.HX1=BIOS85.HEX
PREL BIOS85 BIOS85

DDT BIOS85.PRE
DDT VERS 2.2
NEXT PC
XXYY 0100
	Convert the hexadecimal value 'XX' to decimal.	This will be used in
the save command later.
-IBIOSREL.HEX
-RC000
NEXT PC
XXYY 0000
-GO

SAVE ?? B:BIOS85.SYS
	Use the decimal value calculated above in place of '??'.  Drive B:
should have a blank formatted disk in it.

PIP B:=A:BIOS88.SYS[R]

MVCPM207 * B:
SYSGEN
CP/M-85 SYSGEN VER 2.2.100
SOURCE DRIVE NAME (OR RETURN TO SKIP):<RETURN>
DESTINATION DRIVE NAME (OR RETURN TO REBOOT): B
DESTINATION ON B, THEN TYPE RETURN <RETURN>
FUNCTION COMPLETE
DESTINATION DRIVE NAME (OR RETURN TO REBOOT): <RETURN>

STAT B:BIOS*.SYS $SYS
STAT B:BIOS*.SYS $R/O
= MGBCE =
Media incompatible problem 8 inch disks
-----
December 23, 1983 #120

	Question:  What causes the "MEDIA INCOMPATIBLE ON DISKETTES" error
message during the DUPlicate command, even though I have correctly formated
my 8" disk?

	Answer:  Often the disk you are DUPlicating is single-sided and the
disk you are using for the copy is double-sided.  The sector hole window on
the diskette envelope will be in the same location if both are single-sided.
You get an "incompatible media" error even though you have formatted the
destination disk single-density if it is a doubble-sided disk.	You may,
however, use the PIP program to transfer the files from the distribution
disk to the new 8" disk.
= MGBCF =
How to use the time counter
-----
April 13, 1983 #123

	Question:  How can I use the time counter under CP/M-85?

	Answer:  The following MBASIC program demonstrates how the 32 bit
time counter may be read and set.  This program can be used stand-alone or
its subroutines incorporated into a user program.

10 'SAVE"DATETIME",a
20 DEFINT A-Z
30 '
40 'INITIALIZATION
50 '
60 OPEN"R",1,"DATETIME.TMP"
70 GET 1,1
80 INPUT#1,Y,M,D,H,MI
90 YEAR=Y
100 DIM DAY(12)
110 FOR I=0 TO 12
120 READ DAY(I)
130 IF I THEN DAY(I)=DAY(I-1)+DAY(I)
140 NEXT
150 DATA 0,31,29,31,30,31,30,31,31,30,31,30,31
160 DIM WEEK$(6)
170 FOR I=0 TO 6
180 READ WEEK$(I)
190 NEXT
200 DATA Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
210 '
220 'User program
230 '
240 GOSUB 360
250 IF MONTH=0 THEN MONTH=M:DAY=D:HOURS=H:MINUTES=MI+1:GOSUB 900
260 PRINT USING"####/##/## & ##:##:##.##";
	YEAR,MONTH,DAY,WEEK$(WEEK),HOURS,MINUTES,SECONDS!
270 GOSUB 690
280 GET 1,1
290 WRITE#1,YEAR,MONTH,DAY,HOURS,MINUTES
300 PUT 1,1
310 CLOSE
320 END
330 '
340 'get time - the year variable must be set up externally to this routine
350 '
360 T1=PEEK(11)
370 T2=PEEK(12)
380 IF T2<>PEEK(12) THEN 360
390 T3=PEEK(13)
400 T4=PEEK(14)
410 T#=T1+256#*T2+2#^16*T3+2#^24*T4
420 T#=T#/(6000)
430 SECONDS!=(T#-FIX(T#))*60#
440 T#=INT(T#)
450 T#=T#/60
460 MINUTES=(T#-FIX(T#))*60#
470 T#=INT(T#)
480 T#=T#/24
490 HOURS=(T#-FIX(T#))*24#
500 DAY=INT(T#)
510 WEEK=(6+DAY+YEAR+INT((YEAR-1)/4)-INT(YEAR/100)+INT(YEAR/400)) MOD 7
520 GOSUB 640
530 IF LEAP=0 AND DAY>59 THEN DAY=DAY+1
540 MONTH=1
550 IF DAY>(365+LEAP) THEN DAY=1:GOTO 900
560 WHILE DAY>DAY(MONTH)
570 MONTH=MONTH+1
580 WEND
590 DAY=DAY-DAY(MONTH-1)
600 RETURN
610 '
620 'is it a leap year
630 '
640 LEAP=0:IF (YEAR MOD 4)=0 AND (INT(YEAR/100) MOD 4)<>0 THEN LEAP=1
650 RETURN
660 '
670 'input time - the year variable must be set externally to this 680 '
690 PRINT"Year <"YEAR">? ";
700 LINE INPUT C$
710 IF C$<>"" THEN YEAR=VAL(C$)
720 PRINT"Month <"MONTH">? ";
730 LINE INPUT C$
740 IF C$<>"" THEN MONTH=VAL(C$)
750 PRINT"Day <"DAY">? ";
760 LINE INPUT C$
770 IF C$<>"" THEN DAY=VAL(C$)
780 PRINT"Hour <"HOURS">? ";
790 LINE INPUT C$
800 IF C$<>"" THEN HOURS=VAL(C$)
810 PRINT"Minute <"MINUTES">? ";
820 LINE INPUT C$
830 IF C$<>"" THEN MINUTES=VAL(C$)
840 PRINT"Second <"SECONDS!">? ";
850 LINE INPUT C$
860 IF C$<>"" THEN SECONDS!=VAL(C$)
870 '
880 'set time
890 '
900 GOSUB 640
910 IF LEAP=0 AND MONTH>2 THEN DAY=DAY-1
920 T#=100*(SECONDS!+60*(MINUTES+60*(HOURS+24#*(DAY(MONTH-1)+DAY))))
930 FOR I=0 TO 3
940 T#=T#/256
950 POKE I+11,256*(T#-FIX(T#))
960 T#=FIX(T#)
970 NEXT
980 RETURN
= MGBD =
HOS-89?7-2 CP/M-80 operating system software
	Select an entry from the list for more information on:
----- Topic -----					Last Updated	Size
A - MAKEBIOS on hard sectored under 2.2.04		06/12/84	2k
B - 2.2.04 SETUP backup on a single drive system	02/22/84	1k
C - "SYNCHRONIZATION ERROR" with MOVCPM??		12/29/83	1k
D - Creating a bootable disk on different media type	12/29/84	2k
E - Lower case characters in CP/M ED			12/29/84	1k
F - CONFIGUR must be run after MAKEBIOS			12/29/84	1k
G - Z67 ASSIGN required every boot			12/29/84	1k
H - CP/M hangs accepting no input on the H8		12/29/84	1k
I - CP/M 2.2.03 and above hardware requirement		12/23/84	2k
J - "BAD LOAD" CP/M error explained			12/23/84	2k
K - "MEDIA INCOMPATIBLE ON DISKETTES" error explained	12/23/84	1k
L - Need for MAKEBIOS explained				12/23/84	2k
M - Transferring files on different media types		12/23/84	2k
N - Making copies of a non-bootable disk		12/23/84	1k
O - Using control characters in a SUBMIT file		12/15/82	2k
P - MAKEBIOS cookbook procedure				11/01/82	2k
Q - CONFIGUR and 96tpi drives versus 48tpi		04/06/82	1k
R - Soft error count					04/04/82	1k
* - Download all the menu categories					26k
= MGBDA =
MAKEBIOS on hard sectored under 2.2.04
-----
June 12, 1984 #35

	Question: How do I perform the MAKEBIOS under CP/M version 2.2.04
with a hard sectored disk or a DUP of my soft sectored disk?

	Answer:  The hard sectored and single sided single density soft
sectored disks do not have enough room on them for all the temporary files
when using the standard MAKEBIOS.  Create a new MAKEBIOS.SUB containing the
following lines:

$2:MAKEBIOS $2:1 $1:
ASM BIOS.$2$1Z
REN $1:BIOS.HX0=BIOS.HEX
$2:MAKEBIOS $2:2 $1:
ASM BIOS.$2$1Z
REN $1:BIOS.HX1=BIOS.HEX
$2:PREL $1:BIOS $1:
$2:MAKEBIOS $1:3 $1:

There are some important differences in the MAKEBIOS procedure with this new
submit file.  The procedure should be made with three disks.  Use an exact
copy of disk I in drive A, an exact copy of disk III in (physical or
logical) drive B, and a blank formatted disk in (physical or logical) drive
C.  The command line should be:

SUBMIT B:MAKEBIOS C B

You must use both drive parameters (C and B).  Be sure to note that you must
not use colons(:) after the drive parameters (C and B).  With the new submit
file, the temporary HEX files go to the BIOS destination disk, so there
should be plenty of room.
= MGBDB =
2.2.04 SETUP backup on a single drive system
-----
February 22, 1984

	Question: Every time I run the SETUP disk from the CP/M 2.2.04
update on my single drive system and use the backup facility I receive a
BDOS "Bad Sector" message.  I have tried this routine on a number of
diskettes that I know are not damaged and still get this error message.
What am I doing wrong?

	Answer:  SETUP assumes that you have a diskette that has been
previously formatted as your destination for this method of the operation.
If you replace the SETUP disk with an unformatted diskette as your
destination disk the BDOS "Bad Sector" error message will result.  In order
to avoid this from happening you must boot-up your CP/M 2.2.04 DISK I and
format a blank diskette and then reboot the SETUP disk using the formatted
disk as your destination.
= MGBDC =
"SYNCHRONIZATION ERROR" with MOVCPM??
-----
December 29, 1983 #134

	Question:  I have received my CP/M update and run the MAKEBIOS
utility in order to use the new CP/M with my multidrive system.  Why do I
get a "SYNCHRONIZATION ERROR" whenever I try to run MOVCPMxx?

	Answer:  The update that you received contains a different format of
your serial number from your original CP/M Distribution Disk set.  The
revision number is part of the serial number and since the update is a new
revision, the serial number is now slightly different.	When you perform a
MOVCPMxx, the program compares its serial number with that of the CP/M
system currently in memory (the one you "BOOTed").  If there is a difference
between those serial numbers you will receive a "SYNCHRONIZATION ERROR" and
your system will lock up.  The remedy for this problem is to be certain to
boot from the update CP/M disk and use the new MOVCPMxx program from the
update disk.
= MGBDD =
Creating a bootable disk on different media type
-----
December 29, 1984 #135

	Question:  I have my CP/M on one type of media.  How do I create a
bootable disk on another type of media.

	Answer:  After you have configured BIOS for both types of drives,
the procedure is fairly standard.  The important point to remember is to use
the correct version of MOVCPM.

	Take the case of creating a bootable 5 1/4" soft-sectored disk from
a 5 1/4" hard-sectored version of CP/M.  First boot up on CP/M distribution
Disk #1, then insert distribution Disk #2 in drive B and at the A> prompt
type B:MOVCPM37 <CR>.  MOVCPM37 will terminate and you should type SYSGEN.
When asked for source, respond with <CR> when asked for destination type D
<CR>.	The soft-sectored disk now has the system information on it but we
must install BIOS.SYS for it to be bootable.  This is done with the
following three commands:

	PIP D: = BIOS.SYS[R]
	STAT D: BIOS.SYS $R/O
	STAT D: BIOS.SYS $SYS

The process is essentially the same for other media, except that the version
of MOVCPM changes with each type of disk drive:

	MEDIA				VERSION OF MOVCPM
	5 1/4 Hard Sectored		MOVCPM17
	5 1/4 Soft Sectored		MOVCPM37
	8" Z-47				MOVCPM47
	8" Z-67				MOVCPM67

The various versions of MOVCPM will be on CP/M distribbution disk #2.
= MGBDE =
Lower case characters in CP/M ED
-----
December 29, 1984 #136

	Question:  How do I get lower case information in a file using the
CP/M text editor, (ED)?

	Answer:  The CP/M editor will convert all input to upper case unless
the i (insert) command is given in lower case.	So to enter lower case
input, be sure to give the insert command in lower case, e.g.

ED FILE.EXT
:*i	(lower case)
1:abc
etc.
= MGBDF =
CONFIGUR must be run after MAKEBIOS
-----
December 29, 1984 #137

	Question:  After finally getting MAKEBIOS, MOVCPM and SYSGEN
properly done so that the boot message "FOR H17 H37 ..." appears I still
cannot use the soft-sector drive.  Why not?

	Answer:  After a new CP/M is created the CONFIGUR program must be
run at least once to initialize the device tables.  Copy CONFIGUR to the
disk and re-boot the system.  Respond "YES" to the question "DO YOU WANT A
STANDARD SYSTEM, YES OR NO?"  Now your soft-sectored diskettes should be
readable.
= MGBDG =
Z67 ASSIGN required every boot
-----
December 29, 1984 #138

	Question:  Why do I have to re-ASSIGN the drive letters on my Z67
every time I boot CP/M?

	Answer:  Think of the Z67 as more than one drive.  The PARTition
utility can divide the drive into 62 different partitions, each of which can
be made bootable, assignable or both.  Because of this flexibility, CP/M
does not know which of these partitions you want to use.  Therefore, you
must use the ASSIGN program to select the partitions used by your particular
application.  You can do this automatically at boot time by using the
Automatic Command Line feature in CONFIGUR.  Bootable partitions can also be
set by using the "Default Boot String" option under PART.
= MGBDH =
CP/M hangs accepting no input on the H8
-----
December 29, 1984 #139

	Question:  My new version 2.2.X03, of CP/M comes up on my H-8,
automatically running CONFIGUR as it should.  It asks for "Standard system
(Y or N)? <Y>:" and hangs, accepting no input at all, regardless of what it
is.  What can I do to correct this problem?

	Answer:  H-8-4 Board should have the interrupt enable jumper in the
"on" position and the level jumper at level 3.	The interrupt enable jumper
is on the top of the board near the addressing jumpers and the level
selector is on the bottom right.
= MGBDI =
CP/M 2.2.03 and above hardware requirement
-----
December 23, 1983 #142

	Question:  Why does the message, "Type SPACES to determine baud
rate" appear when I try to boot CP/M version 2.2.03?  [Other symptoms of
this problem are:1) CONFIGUR fails unpredictably to properly recognize
hardware peripherals, and 2) at bootup time the message, "PUT DISK P IN
DRIVE P" appears.]

	Answer:  The MTR-88 monitor ROM, part #444-40, located at U518 on
the CPU board of your computer; and the I/O mapping ROM, part #444-43,
located at U550 also on the CPU board, should be replaced by part #'s 444-62
and 444-61 respectively. [IMPORTANT! This will only be the case if you have
KIT version H-89A.]  If you have this problem, the parts above plus the
installation guide, part #595-2547, can be obtained free of charge by
calling the Heath Parts Replacement Department at 616/982-3571.  THIS WILL
NOT BE NECESSARY IF YOU PLAN TO UPDATE YOUR UNIT TO RUN WITH MTR-90. [MTR-90
is supplied with the Z-89/Z-37 and the Z-89/Z-67.]
= MGBDJ =
"BAD LOAD" CP/M error explained
-----
December 23, 1983 #143

	Question:  I just received a new version of CP/M.  When I loaded
MBASIC for the first time, the message "BAD LOAD" appeared on the screen.
What did I do wrong?

	Answer:  The BAD LOAD message occurs when CP/M recognizes only 32K
of random access memory in your computer.  This can occur even though your
computer may actually have 48K or 64K of memory.  The message "BAD LOAD"
indicates that you have not yet modified CP/M to utilize all of your
computer's memory.

	To solve this probblem, you must use the utilities MOVCPM and SYSGEN
on Disk 1 of CP/M.  There are several versions of the utility MOVCPM
depending on what hardware unit you wish to use it on and which version of
CP/M you have.

	First make a duplicate copy of Disk 1 using the utility DUP, which
can be found on Disk 1.  After you have made this copy, put the original
(the one with the write protect tab on it) in a safe place and use the copy
for all further operations.  Boot the disk that you have just made and
follow the instructions MOVCPM and SYSGEN utilities as instructed in Chapter
4 of your Heath/Zenith Data Systems CP/M manual (part number 595-2776).

	The procedure just described is easier than making a bootable disk
from scratch because you will not have to copy the file BIOS.SYS nor will
you have to use the STAT command to change BIOS.SYS to an R/O and a SYS
file.  The reason for this is that BIOS.SYS already exists on the copy you
have made.
= MGBDK =
"MEDIA INCOMPATIBLE ON DISKETTES" error explained
-----
December 23, 1983 #144

	Question:  What causes the "MEDIA INCOMPATIBLE ON DISKETTES" error
message during the DUPlicate command, even though I have correctly formatted
my disk?

	Answer:  With 8" disks often the disk you are DUPlicating is single-
sided and the disk you are using for the copy is double-sided.	The sector
hole window on the diskette envelope will be in the same location if both
are single-sided.  You get an "incompatible media" error even though you
have formatted the destination disk single-density if it is a doubble-sided
disk.  You may, however, use the PIP program to transfer the files from the
distribution disk to the new 8" disk.

	Even with 5 1/4" diskettes that have the same storage capacity there
may be a difference in the formatting.	In these cases you should just use
PIP to make a copy of your disk.
= MGBDL =
Need for MAKEBIOS explained
-----
December 23, 1983 #145

	Question:  I have just installed a soft-sectored disk controller
card (Z-89-37) in my Z-89 computer.  By means of the interconnecting cable
from this card, I have installed a pair of high density 5 1/4" soft-sectored
disk drives (Z-37).  When I "Boot" my CP/M update (vers. 2.2X03) on my hard-
sectored (internal) drive and the CONFIGUR program runs, why doesn't it
recognize my soft-sectored disk drives?

	Answer:  The Z-89/90 computer supports up to two disk controllers at
one time.  Since it is not possible to anticipate everyone's needs, Zenith
distributes version 2.2X03 of CP/M with a BIOS constructed to support only
one type of disk drive per product as follows:

Model		Type of Disk Drive Supported

HOS-8917-2	Hard-sectored 5 1/4" Drives
HOS-8937-2	Soft-sectored 5 1/4" Drives
HOS-8947-2	Soft-sectored 8" Drives
HOS-8967-2	Winchester Disk Drive

If you originally had the CP/M product HOS-817-2 (version 2.2.02) then your
CP/M update is equivalent to the HOS-8917-2 and has a BIOS constructed to
support only 5 1/4" hard-sectored disk drives.

	In order to provide a straightforward means for the creation of a
BIOS for any one or combination of two types of disk drives, we have
provided a MAKEBIOS utility program which simplifies this task. (for
details, see chapter 3 of the Heath/Zenith Data Systems CP/M manual.)  The
MAKEBIOS utility creates a new BIOS ready to install using MOVCPMxx and
SYSGEN (for details, see chapter 4 of the CP/M manual.)  Once this procedure
has been performed, the new disk can be BOOTed and the soft-sectored disk
drives utilized.  After performing the procedure, BOOT the new disk and the
soft-sectored drives can be utilized.
= MGBDM =
Transferring files on different media types
-----
December 23, 1983 #146

	Question:  How can I transfer files between a hard-sectored disk
drive and a soft-sectored disk drive?

	Answer:  Both hard-sectored and soft-sectored disk controller cards
must be installed in your computer.  With appropriate disk drives and the
proper BIOS for this combination, transferring files between the two is as
easy as the transfer of files between two hard-sectored disk drives.  If
your hard-sectored disk controller is supporting three drives and your soft-
sectored disk controller is supporting two drives and you BOOTed from the
hard-sectored drive, the hard-sectored drives are called A:, B:, and C:.
The soft-sectored drives will then be D:, E:, and F:.  An example of a file
transfer from A: to E: would be:

A>PIP E:=A:FILENAME.EXT<CR>

This example assumes that the PIP file is on the disk in drive A.  For
additional information on drive name determination, refer to Appendix F in
the Heath/Zenith Data Systems CP/M manual.
= MGBDN =
Making copies of a non-bootable disk
-----
December 23, 1983 #147

	Question:  How do I copy Distribution Disks II and III for CP/M
version 2.2X03 if I have only one drive?

	Answer:  The procedure for copying disks II and III as well as any
non-bootable disk are somewhat different than for copying disk 1, especially
because the PIP file is on disk 1.  Disk 1 must first be copied and you must
have BOOTed from it.  Next FORMAT two blank disks.  Once this is done, you
are ready to begin.  In the procedure that follows, B: refers to the blank
FORMATed disks and C: refers to disk II or III, whichever is being copied:

a.  At the A> prompt, enter the following command:

	PIP B:=C:*.*<CR>.

b.  The computer instructs you to alternately place disks B and C into the
disk drive.

c.  After switching the disks and completing the process, you will receive
the A> prompt again.  This indicates that the operation is finished.
= MGBDO =
Using control characters in a SUBMIT file
-----
December 15, 1982 #153

	Question:  How  do I enter control characters into a SUBMIT file?
The instructions on page 28 of the CP/M manual do not seem to work.

	Answer:  SUBMIT requires you to enter '^z' to place a CTRL Z in the
file.  The problem comes in that SUBMIT also converts all characters to
uppercase.  The following patch suggested by Digital Research will  modify
SUBMIT to require '^Z'.

A>ddt submit.com
DDT VERS 2.2
NEXT  PC
0600 0100
-s442
0442 61 41
0443 32 .
-g0
A>save 5 submit.com

	This alternate patch will allow lowercase characters to be entered
which is also extremely helpful when using XSUB and ED with strings that
require lowercase characters.


A>ddt submit.com
DDT VERS 2.2
NEXT  PC
0600 0100
-s370
0370 5F FF
0371 32 .
-g0
A>save 5 submit.com

	The following example submit file (using only the alternate patch)
uses ED to search a file and replace all lowercase strings 'recieve' with
'receive'.

xsub
ed file.doc
#a
b#srecieve^zreceive
e

	It should be mentioned that in no case can the control characters
'^P' or '^C' be used in a submit file to obtain the normal functions of
console input for printer toggle or warm start.
= MGBDP =
MAKEBIOS cookbook procedure
-----
November 1, 1982 #154

	Question:  I am having some difficulty following the instructions in
the CP/M manual for the MAKEBIOS procedure.  Could you please outline the
exact steps I would follow?

	Answer:  Outlined below are two cookbook procedures for running
MAKEBIOS.  If you have a high capacity drive that will hold all the
necessary programs from CP/M disk I and II on one disk (all H47,  H67 and 96
tpi H37 users) follow procedure A.  If you require two disks to hold all the
programs (all H17 and 48 tpi H37 users) follow procedure B.

Procedure A:

SUBMIT MAKEBIOS A:
	(enter the requested information)
MOVCPM??  * A:
	(where ?? is the destination drive type of SYSGEN)
SYSGEN
RETURN
	(press return to skip, do not enter a source drive)
A
	(specify A as the destination drive)
	(when you receive the message 'function complete' Press
	SHIFT RESET and do a cold boot)

Procedure B:

SUBMIT B:MAKEBIOS A: B:
	(enter the requested information)
MOVCPM??  * A:
	(where ?? is the destination drive type of SYSGEN)
SYSGEN
RETURN
	(press return to skip, do not enter a source drive)
A
	(specify A as the destination drive)
	(when you receive the message 'function complete' Press
	SHIFT RESET and do a cold boot)
= MGBDQ =
CONFIGUR and 96tpi drives versus 48tpi
-----
April 6, 1982 #159

	Question:  I "CONFIGUR"ed my 96tpi drives for 48tpi and "DUP"ed my
distribution disks.  Why can't I read the copies in my 48tpi drive?

	Answer:  The "CONFIGUR" utility allows you to select either 96tpi or
48tpi because there are both types of drives available.  The option you
select must match the type of drive that you are using for proper operation.
48tpi disks created on a 48tpi drive can be properly read on a 96tpi drive.
Neither 96tpi disks nor 48tpi disks created on a 96tpi drive can be properly
read on a 48tpi drive.
= MGBDR =
Soft error count
-----
April 4, 1982 #160

	Question:  How do I determine the soft error count mentioned in the
CP/M-80 manual on page 111?

	Answer:  From page 3 of the BIOS listing we see that the base
address of the BIOS is stored in location 04EH after cold boot.  Using this
value as an offset and adding it to the address for SECNT17 on page 20 of
the BIOS listing we obtain the value to check in DDT.  A sample of how this
might look appears as follows:

A>DDT
DDT VERS 2.2
-D004E,004F
004E 00 E8 ..		(The base of the BIOS is E800H.)
-DE849,E84C		(E800H+0049H=E849H, E849H+0004H=E84CH)
E849 1F 00 02 00 ....	(SECNT17 = 001FH = 31)
-G0			(SECNT37 = 0002H = 2)
A>

	Comments on the action are enclosed in parenthesis.
= MGC =
HDOS operating system
-----
January 27, 1984 #131

	Question:  I have two Z37 drives on my system and when I boot HDOS on
the right hand drive, I cannot mount the left hand drive with the normal
MOUNT SY1: or MOUNT SY2: commands.  How do I access the left-hand Z37 after
booting off the right-hand Z37?

	Answer:  After booting off the right-hand Z37 drive, the left-hand
Z37 drive can be mounted with the following command:  MOUNT SY3: The drive
will then be referenced as SY3: by HDOS.
-----
#132
	Question:  I just installed my Z89-37 soft sectored controller board
and tried to INITialize an HDOS disk.  When INIT got to the point of
"Dismounting all disks," the system locked up.	What do I do?

	Answer:  The INITialize program contained on the standard HOS-8X7-1
software does not operate correctly with the Z89-37 controller board when
trying to dismount disks.  To correct this problem, new software on a disk
called HOS-5-UP is required.  Also contained on this disk is a program called
DKH37.DVD which is the driver for the soft-sectored 5 1/4" drives.  HOS-5-UP
is available from most local Heath stores or from Heath/Zenith Data Systems
in Benton Harbor.  You may call 616/982-3860 or write the Heath Company,
Benton Harbor, MI. 49022
-----
#140
	Question:  I have an H/Z-89 with an internal drive and newly
installed Z-89-37 controller card with two drives.  When I bring up HDOS and
try to INITialize a new disk, the system hangs.  What is wrong?

	Answer:  HDOS comes with a "DK:" device driver for the H/Z-47
installed.  When it tries to reset all drives before doing the INITialize,
seeing the 37 controller instead of a 47 controller causes the software to
"hang".  What is needed is the new device update, HOS-5-UP, which comes with
only one device driver for disks installed (SY:) and has included device
drivers for the new equipment, (H-37's, MX-80 and H-25).  Also included is
modified support utilities for this new equipment such as INIT.ABS
-----
September 8, 1982 #155

	Question:  How do I list the directory contents of the HDOS disks
which are not bootable on a one-drive system?

	Answer:  Using PIP as a stand-alone utility the command:

:P: sy0:/res

will allow you to mount any HDOS disk even if it is not bootable and the
command:

:P: /l

will list the directory to the user's console.	Also the command:

:P: lp:=/l

will list the directory to the printer (LP: device).  The LP: driver must be
correct for the printer being used, with the proper SET options and loaded
before entering PIP.
= MGD =
BASIC languages

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - General BASIC programming language information	05/24/84	4k
B - MS-5063-1 GW-BASIC version 1			10/24/84	2k
C - MS-463-1 ZBASIC interpreter				09/10/84	5k
D - MS-463-4 ZBASIC compiler				04/13/84	3k
E - MS-253-1 CP/M-85 BASIC-80, HMS-89?7-1 BASIC-80	12/23/83	17k
F - HMS-89?7-4 CP/M BASIC-80 compiler			08/18/84	3k
G - Extended Benton Harbor BASIC			05/21/82	1k
* - Download all the menu categories					35k
= MGDA =
General BASIC programming language information
-----
May 24, 1984 #34

	Question:  How do I set up a FIELD statement in MicroSoft BASIC if
it is too long to fit on one line?

	Answer:  The FIELD statement does not all have to fit on one line.
Multiple FIELD statements are perfectly acceptable when properly written.
What you must remember is that all field statements refer to the beginning
of the record.	There are two ways to handle a long FIELD statement.  One
method is useful when using an array in a FIELD statement and the other is
when there may be just too many fields or long variable names to fit.  The
following examples will make this clearer.

10 DIM A$(20)
20 OPEN ....
30 FOR I=0 TO 20
40 FIELD 1,I*2 AS DUMMY$,2 AS A$(I)
50 NEXT

	The first example shows a good way to handle arrays in FIELD
statements.  In both of these examples the full OPEN statement is not shown,
DUMMY$ is just a variable name that you are not going to use for anything
else and all variables are set to two bytes on the assumption that the
values are integers.

10 OPEN ....
20 FIELD 1,2 AS FIRST$,2 AS SECOND$,2 AS THIRD$
30 FIELD 1,6 AS DUMMY$,2 AS FOURTH$,2 AS FIFTH$,2 AS SIXTH$
40 FIELD 1,12 AS DUMMY$,2 SEVENTH$

	The second example shows a good way to handle many variable names.
-----
May 20, 1983 #25

	Question:  Why do I have problems of accuracy with numbers in BASIC?

	Answer:  BASIC uses a method of storing large numbers called binary
floating point.  This is a relatively simple, fast and efficient way of
storing numbers.  One of the drawbacks is that this method of storing
numbers is not 100% accurate.  Unlike integer numbers of plus or minus
32000, single and double precision numbers are sometimes only approximations
of the correct number.	This approximation is very close, especially with
double precision numbers, but it is not always exact.  These tiny errors can
also get worse when a variable is the result of several calculations.

	There are three basic types of errors that this causes.  The most
common is an IF A=B comparison where you think A and B are the same but
BASIC says they are not.  The solution to this is to change the comparison
as follows:

Old:  IF A=B THEN
New:  IF ABS(A-B)<1E-9 THEN

The exponent of 9 in this example can be changed to whatever is appropriate
in your application.  This problem occurs only with the equals comparison.

	The second common problem is that a number ends with '.00001' or
'.99997' or something like that when it is printed out.  The trailing digits
can sometimes be suppressed by rounding as described in the next paragraph
or by PRINT USING instead of PRINT.  For a dollar amount the following
statement would make sure that only the pennies show:

PRINT USING "#####.##";DOLLARS

	The third problem is that answers are just plain wrong by a small
amount that is not acceptable.	This occurs especially when adding dollar
amounts.  There are three things you can do that might take care of the
problem.  Sometimes using double precision instead of single precision will
help.  The trick of masking the error with PRINT USING described in the
previous paragraph can also help.  The only other thing you can do is to
periodically round off the result of a calculation by the number of decimal
places you expect it to have.  The following statement would work for
rounding dollar values known to have only full penny amounts:

DOLLAR#=FIX(DOLLAR#*100+.5)/100
= MGDB =
MS-5063-1 GW-BASIC version 1
-----
October 24, 1984 #177

	Question:  How can I correct for the error message "Communication
buffer overflow" when using COM2: in GW-BASIC?

	Answer:  This problem only occurs in version 1.26 of GWBASIC for the
Z-150 computer.  The following patch should be made to an exact copy of your
original GW-BASIC program.  Do not modify the original distribution disk.
Enter the following commands exactly as shown.	Be particularly careful of
the spaces and enter a carriage return at the end of each line exactly as
shown.

ren basica.exe basica.bin
debug basica.bin
u384c 3859

This last command will cause a list of instructions to be printed out.	The
instructions displayed must match those described as follows:

????:384C 80FC01	CMP	AH,01
????:384F 7C05	    	JL	3856
????:3851 BFE207    	MOV  	DI,07E2
????:3854 EB03	    	JMP  	3859
????:3856 BFD007    	MOV  	DI,07D0
????:3859 807D0800  	CMP BYTE PTR [DI+08],00

When the program is the correct, unmodified version of the original program
this patch is designed for these values will match.  If these values match
enter the following commands:

a384c
mov di,07d0
cmp ah,1
jnz 3857
mov di,07e2
xor ah,ah
RETURN
w
q
ren basica.bin basica.exe
= MGDC =
MS-463-1 ZBASIC interpreter
-----
September 10, 1984 #171

	Question:  Is there any way to correct the problems with the BEEP
command in the Z-BASIC interpreter version 1.1?

	Answer:  There are two different version 1.1 Z-BASIC interpreters.
The ZBASIC interpreter displays a creation date when it is run.  The earlier
one comes up with a May 11, 1983 creation and the second one comes up with
an October 5, 1983 creation date.  The following patch will correct the
problems with the BEEP command.  Use the patch which matches the creation
date of your Z-BASIC interpreter.

debug zbasic.com (for the one created may 11, 1983)
e227 69 7c
w
q

debug zbasic.com (for the one created October 5, 1983)
e227 ee 7d
w
q
-----
May 10, 1984 #79

	Question:  Why do I get only 6k additional memory in ZBASIC when I
increase the memory on my Z-100 from 128k to 192k?

	Answer:  The ZBASIC interpreter can only use 64k for the user data
area.  After subtracting the interpreter overhead that leaves a maximum of
about 61k of data for the user.  This is a very common limitation in
programs on the 8088 due to the segmentation architecture of the processor.
This is not likely to be changed because the interpreter program would have
to be almost twice as big in order to handle all segmented memory.

	The memory area that ZBASIC does not use can be used with assembly
language subroutines or with PEEK and POKE statements.
-----
January 23, 1984 #74

	Question: What is the simplest way to include assembly language
subroutines in a ZBASIC interpreter program?

	Answer:  The following example assembly language subroutine and
corresponding ZBASIC program represent one of the simplest ways to do this
procedure.  The information this program provides is invaluable for further
assembly language routine development.

	The file BASASM.ASM contains the following lines:

code	segment
	assume	cs:code
segadd	proc	far
	mov	bp,sp
	mov	si,[bp+14]
	mov	word ptr [si],cs
	mov	si,[bp+12]
	mov	word ptr [si],ds
	mov	si,[bp+10]
	mov	word ptr [si],es
	mov	si,[bp+8]
	mov	word ptr [si],ss
	mov	si,[bp+6]
	mov	ax,[bp]
	mov	word ptr [si],ax
	mov	si,[bp+4]
	mov	ax,[bp+2]
	mov	word ptr [si],ax
	ret	12
segadd	endp
code	ends
	end

	Assemble this program as follows:

MASM BASASM;
LINK BASASM;
EXE2BIN BASASM

	The following ZBASIC program will run this subroutine:

10 'SAVE"BASASM.BAS",A
20 DEFINT A-Z
30 DEF SEG
40 OPEN"r",1,"basasm.bin
50 SIZE=LOF(1)
60 CLOSE
70 PRINT"Program size"SIZE
80 OPEN"r",1,"basasm.bin",SIZE
90 GET#1
100 FUNC=VARPTR(#1)+188
110 CALL FUNC(CS,DS,ES,SS,IP,SEG)
120 PRINT "Code segment",CS
130 PRINT "Data segment",DS
140 PRINT "Extra segment",ES
150 PRINT "Stack segment",SS
160 PRINT "Return IP",IP
170 PRINT "Return CS",SEG
180 DEF SEG=SEG
190 PRINT:PRINT"ZBASIC Program header
200 FOR I=0 TO 255
210 IF (I AND 15)=0 THEN PRINT
220 PRINT RIGHT$(HEX$(PEEK(I)+256),2)" ";
230 NEXT
240 CLOSE
-----
December 22, 1982 #70

	Question:  How do I modify my H19 programs to run on the Z100 or
under ZBASIC?

	Answer:  The Z100 codes are generally the same as the H19 codes with
several new ones.  ZBASIC though has a different set of codes.	The use of
CRT control codes (ie any PRINT string character sequence containing
CHR$(27) or the equivalent), can occasionally lead to unpredictable results.
Wherever possible the appropiate ZBASIC command must be used instead.
Following is a partial list of control codes with substitute commands.

Z100	ZBASIC		Function

ESC A	chr$(30)  	cursor up
ESC B	chr$(31)  	cursor down
ESC C	chr$(28)  	cursor right
ESC D	chr$(29)  	cursor left
ESC H	chr$(11)  	cursor home
ESC Y	LOCATE    	direct cursor addressing
ESC E	chr$(12) or CLS	clear display and home cursor
ESC J	chr$(26)  	erase to the end of page
ESC K	chr$(5)   	erase to the end of line
ESC m	COLOR     	set foreground/background color
ESC F	SCREEN    	enter graphics mode
ESC G	SCREEN    	exit graphics mode
ESC p	SCREEN    	enter reverse video mode
ESC q	SCREEN    	exit reverse video mode
ESC l	chr$(21)  	erase entire line
ESC N	chr$(127) 	delete character

A complete list of ZBASIC screen commands can be found on page 3.7 of the
ZBASIC manual.
= MGDD =
MS-463-4 ZBASIC compiler
-----
April 13, 1984 #78

	Question:  I am used to programming in BASIC-80 using the escape
codes.	The ZBASIC interpreter allowed me to use some of the escape
sequences but the ZBASIC compiler does not allow any.  Is there any way I
can use the terminal control codes when programming in Z-BASIC compiler?

	Answer:  BASIC-80 did not provide any features for control of the
terminal therefore it was necessary to use escape codes.  Z-BASIC on the
other hand is a more advanced BASIC and provides some terminal control
features.  As far as possible it is desirable to restrict your use of
terminal control to those features provided by Z-BASIC.  Since this is a new
feature of BASIC sometimes there will be features that the terminal can
perform but which are not implemented by Z-BASIC.

	The Z-BASIC compiler completely stops all use of escape sequence
because there is an alternative provided.  If Z-BASIC compiler does not
provide all the features that you need the only alternative is to bypass all
Z-BASIC features and perform total control of the screen yourself.  You can
open a device called 'CONS:' and then all your output statements must be
done through this device as long as you wish to retain complete control of
the screen.  All input must also be done with INKEY$ or you will lose
control of the screen.

	  The following sample program demonstrates this procedure:

10 OPEN "CONS:" FOR OUTPUT AS #1
20 PRINT#1,CHR$(27)"z";
30 REM you are now in total control of the screen
40 A$=CHR$(7)
50 WHILE A$<>CHR$(1)
60 PRINT#1,A$;
70 A$=""
80 WHILE A$=""
90 A$=INKEY$
100 WEND
110 WEND
120 REM return control back to ZBASIC
130 PRINT#1,CHR$(27)"z"chr$(27)"x1
140 CLOSE 1
150 CLS
-----
September 12, 1983 #71

	Question:  How do I write an assembly language subroutine for the Z-
BASIC compiler?

	Answer:  The following program gives an outline of what is necessary
to write an assembly language subroutine that mimics the PRINT statement for
the Z-BASIC compiler:

contents of the file DEMOBAS.BAS

10 'SAVE"DEMOBAS.BAS",A
20 A$="this is a test"
30 CALL PRINTIT(A$)
40 END

contents of the file DEMO.ASM

	name	demo
	title	DEMO - basic string interface to assembly demo
	page	64,96
	include defms.asm
;
;
demo	segment public 'code'
	assume	cs:demo
	public	printit
;
; CALL PRINTIT(A$)
;
printit proc	far
	mov	bp,sp		   	;point to arguments
	mov	si,[bp+4]	   	;point to string descriptor
	mov	cx,word ptr [si]   	;fetch length
	mov	si,word ptr [si+2] 	;fetch pointer to string
loop:
	lodsb			   	;load byte from string
	mov	dl,al		   	;position for function output
	mov	ah,dosf_conout	   	;function code
	int	dosi_func	   	;function interrupt
	loop	loop		   	;repeat for next character
	ret	2		   	;return skipping argument
printit endp
demo	ends
	end

This routine is implemented and run with the following commands:

MASM DEMO;
BASCOM DEMOBAS;
LINK DEMOBAS DEMO;
DEMO
= MGDE =
MS-253-1 CP/M-85 BASIC-80, HMS-89?7-1 CP/M-80 BASIC-80

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Record sizes greater than 128 bytes			12/23/83	1k
B - OBASIC included with CP/M-80 MBASIC			12/23/83	1k
C - Program function keys usage				03/29/83	1k
D - Bypassing problems with INKEY$			09/08/82	4k
E - IOBYTE change under program control			09/07/82	3k
F - Mimic the SUBMIT facility from MBASIC		08/20/82	1k
G - Differences between HDOS MBASIC and CP/M MBASIC	08/19/82	1k
H - How to include assembly language routines in MBASIC	06/30/82	2k
I - Switching MBASIC output and input devices		06/09/82	2k
* - Download all the menu categories					16k
= MGDEA =
Record sizes greater than 128 bytes
-----
December 23, 1983 #133

	Question:  How can I get CP/M MBASIC to accept a random file with
records greater than 128-bytes?

	Answer:  For record sizes of less than 128-bytes, an OPEN command
such as OPEN "R",1, "File.EXT", 32 suffices.  To be able to use the OPEN
command for random record sizes >128, MBASIC must be invoked by the
following command MBASIC/S:nnn where nnn is the size of the random record
you desire (128<nnn<256).  Your program should then contain the statement
OPEN "R", 1, "FILE.EXT", nnn which will enable you to use random records of
length >128.
= MGDEB =
OBASIC included with CP/M-80 MBASIC
-----
December 23, 1983 #28

	Question: When I looked at the DIRectory on my new CP/M-80 MICROSOFT
BASIC Interpreter, I noticed the file OBASIC.COM. What is OBASIC?

	Answer:  OBASIC is version 4.83 of Microsoft BASIC. MBASIC is
version 5.21.  The OBASIC version has been included because some programs
written in the older version may not function correctly under MBASIC 5.21.
= MGDEC =
Program function keys usage
-----
March 29, 1983 #23

	Question:  How do I use the program function keys?

	Answer:  The following program is a simple demonstration of the use
of the function keys from MBASIC.

10 PRINT"When you type a function key (f1-f5) it will be recognized."
20 PRINT"The ESC key will exit the program
30 PRINT"Press a key ";
40 C$=INPUT$(1)
50 IF C$=CHR$(27) THEN T$=INKEY$:
	IF T$="S" THEN PRINT"f1"
	ELSE IF T$="T" THEN PRINT"f2"
	ELSE IF T$="U" THEN PRINT"f3"
	ELSE IF T$="V" THEN PRINT"f4"
	ELSE IF T$="W" THEN PRINT"f5"
	ELSE IF T$="" THEN END
60 GOTO 30

	This is the safest way to use the function keys.  The function keys
cannot be easily detected using only the INKEY$ function.  This program has
been tested for the H/Z89(90) using CP/M-80 and for the H/Z100 using CP/M-85
under both the interpreter and the compiler.
= MGDED =
Bypassing problems with INKEY$
-----
September 8, 1982 #17

	Question:  Why doesn't the INKEY$ function in the CP/M MBASIC
interpreter always give me the characters typed from the keyboard?  Is there
any way to get around this problem?

	Answer:  MBASIC is continually scanning the console input looking to
see if the user has typed CTRL-C and throws away all but the last character
that it found.	For this reason you cannot type ahead of input in an MBASIC
program and the INKEY$ function will only give you the last key that was
typed.	Unless the INKEY$ function is used very often some characters will
be lost.  The solution to this problem is not trivial!	The following
program demonstrates assembly language USR routines that will accomplish
this for you.  This is accomplished by prohibiting MBASIC from seeing the
characters at the console.  CP/M will buffer the characters and the CALL
function goes directly to CP/M conditional input for the characters.

	Beware that this procedure protects the program from ever being
stopped unless it wants to and the system can hang in case of error unless
careful error handling is used.  The only way the program can input is with
the indicated procedure.  INPUT and INKEY$ will no longer work.  Even the
PRINT command will not work the same way.  Unless the close down procedure
indicated is properly performed even MBASIC command input will not work.

;
; assembly language subroutine to get console input past basic
;
;must not contain any absolute interprogram references
;requires that iobyte has been set so that con:<>crt: to work
;
bdos	equ	5
	org	0
start	push	h	;save pointer to the fac for later
	mvi	c,7	;get the iobyte
	call	bdos
	push	psw	;save for later
	ani	0fch	;clear out con: bits
	ori	1	;set to crt:
	mvi	c,8	;set the iobyte
	mov	e,a	;prepare argument for bdos
	call	bdos
	mvi	e,0ffh	;conditional input
	mvi	c,6
	call	bdos
	pop	d	;get back original iobyte
	pop	h	;restore address of the fac
	mov	m,a	;set result from bdos call
	mov	e,d	;get from the high order byte
	mvi	c,7	;return to original iobyte
	jmp	bdos	;return to user program through bdos

10 'SAVE"BASICIN",A
20 DEFINT A-Z
30 DIM US1(16)
40 FOR I=0 TO 16
50 READ US1(I)
60 NEXT
70 DATA &h0ee5,&hcd07,&h0005,&he6f5,&hf6fc,&h0e01,&h5f08,&h05cd
80 DATA &h1e00,&h0eff,&hcd06,&h0005,&he1d1,&h5a77,&h080e,&h05c3,&h0000
90 DIM US0(12)
100 FOR I=0 TO 12
110 READ US0(I)
120 NEXT
130 DATA &h02fe,&he5c0,&h070e,&h05cd,&he100,&h23f5,&h06a6,&h7000
140 DATA &hb62b,&hf15f,&h0e77,&hc308,&h0005
150 '
160 'interrogate iobyte setting
170 '
180 A=&HFF00
190 GOSUB 590
200 DEFIOB=A
210 '
220 'set up error handling
230 '
240 ON ERROR GOTO 650
250 '
260 'stat lst:=crt:
270 '
280 A=&H3F40
290 GOSUB 590
300 '
310 'stat con:=bat:
320 '
330 A=&HFC02
340 GOSUB 590
350 '
360 'stat rdr:=ptr:
370 '
380 A=&HF308
390 GOSUB 590
400 '
410 'get characters
420 '
430 FOR I=0 TO 999
440 DEF USR1=VARPTR(US1(0))
450 V=USR1(0)
460 IF V THEN PRINT CHR$(V);
470 NEXT
480 PRINT
490 '
500 'return to original iobyte
510 '
520 A=DEFIOB
530 GOSUB 590
540 END
550 GOTO 20
560 '
570 'subroutine for usr call
580 '
590 DEF USR0=VARPTR(US0(0))
600 A=USR0(A)
610 RETURN
620 '
630 'error handler
640 '
650 A=DEFIOB
660 GOSUB 590
670 PRINT"Error originally occurred on line "ERL
680 ERROR ERR
= MGDEE =
IOBYTE change under program control
-----
September 7, 1982 #16

	Question:  Is there any way to select different CP/M devices for
input and output under program control with MBASIC?

	Answer:  The following program demonstrates how to perform the same
functions as the STAT command under program control.  The demonstrated
assembly routine allows easy access to all CP/M devices under program
control.  These are temporary forms of the same settings used in the I/O
configuration section of CONFIGUR.  These settings are permanent until the
system is rebooted just as with the STAT command and unless they are reset
by program control the system may hang and require a cold boot.  Do not
attempt to do this unless you have first experimented with the use of the
STAT command and understand the procedures that are being followed.

;
; basic user function to set the iobyte
;
; a=usr(&hf300) stat con:=tty:
; a=usr(&hf301) stat con:=crt:
; a=usr(&hf302) stat con:=bat:
; a=usr(&hf303) stat con:=uc1:
; a=usr(&h3f00) stat lst:=tty:
; a=usr(&h3f40) stat lst:=crt:
; a=usr(&h3f80) stat lst:=lpt:
; a=usr(&h3fc0) stat lst:=ul1:
; defiob=usr(&hff00) interrogate iobyte
; a=usr(&hdefiob) direct set of iobyte
;
bdos	equ	5
	org	0
start	equ	$
	cpi	2	;is the argument integer?
	rnz		;protect them from some accidents
	push	h	;save address of fac
	mvi	c,7	;get the iobyte
	call	bdos
	pop	h	;restore address of fac
	push	psw	;save for the return of the previous value
	inx	h	;point to and value
	ana	m	;strip out the old bits
	mvi	b,0
	mov	m,b	;zero the high byte after for return of result
	dcx	h	;now for the or value
	ora	m	;or in new bits
	mov	e,a	;ready for bdos call
	pop	psw	;get the old iobyte
	mov	m,a	;return as the result
	mvi	c,8	;set the iobyte
	jmp	bdos	;return after to user program

10 'SAVE"BASIOBYT",A
20 DEFINT A-Z
30 DIM US0(12)
40 FOR I=0 TO 12
50 READ US0(I)
60 NEXT
70 DATA &h02fe,&he5c0,&h070e,&h05cd,&he100,&h23f5,&h06a6,&h7000
80 DATA &hb62b,&hf15f,&h0e77,&hc308,&h0005
90 GOTO 190
100 '
110 'subroutine
120 '
130 DEF USR0=VARPTR(US0(0))
140 A=USR0(A)
150 RETURN
160 '
170 'interrogate iobyte setting
180 '
190 A=&HFF00
200 GOSUB 130
210 IOBYTE=A
220 '
230 'which way?
240 '
250 INPUT"Enter 'lp' or 'crt' as the destination for the output";C$
260 IF C$="lp" THEN 330
270 IF C$<>"crt" THEN 250
280 '
290 'stat lst:=crt:
300 '
310 A=&H3F40
320 GOSUB 130
330 '
340 'sample output
350 '
360 LPRINT"This is the output of an lprint statement sent to "C$"."
370 '
380 'return to original iobyte
390 '
400 A=IOBYTE
410 GOSUB 130
= MGDEF =
Mimic the SUBMIT facility from MBASIC
-----
August 20, 1982 #15

	Question:  How do I go from CP/M MBASIC to other programs such as
SUPERSORT under program control?

	Answer:  The easiest and simplest way is to mimic the CP/M SUBMIT
facility.  The following sample program demonstrates how to create a file
exactly as if it had been created by SUBMIT and upon leaving MBASIC it will
be executed by the CCP.

10 'SAVE"SUBMIT",A
20 OPEN "r",1,"$$$.SUB"
30 FIELD 1,1 AS L$,127 AS M$
40 '
50 'enter commands in reverse order
60 '
70 C$="mbasic"
80 GOSUB 190
90 C$="dir"
100 GOSUB 190
110 '
120 'all done now
130 '
140 CLOSE 1
150 SYSTEM
160 '
170 'put into file
180 '
190 LSET L$=CHR$(LEN(C$))
200 LSET M$=C$+CHR$(0)
210 PUT 1
220 RETURN
= MGDEG =
Differences between HDOS MBASIC and CP/M MBASIC
-----
August 19, 1982 #14

	Question:  In  the Microsoft BASIC programming course there are
several example programs that I cannot get to work with my Heath/Zenith CP/M
BASIC.	What am I doing wrong?

	Answer:  There are a few minor differences between the HDOS version
and the CP/M version of MBASIC.  The most common problem is the line
' character which is
what is shown in the programming course.  CP/M users should type the LINE
FEED key instead.
= MGDEH =
How to include assembly language routines in MBASIC
-----
June 30, 1982 #13

	Question:  Is there a simple way to include small assembly routines
with Microsoft BASIC-80 interpreter?

	Answer:  The following simple example demonstrates a relatively easy
method for using an assembly language subroutine.  The first program shows a
way to code the assembly routine into the program itself.  The second reads
the values from a file.  Be sure to read the warnings in the BASIC manual
concerning assembly language subroutines and for a complete description of
how they work.

;
; interpreter basic
; assembly language subroutine for ASM
; no jumps within the program allowed
; code must be relocatable
bdos	equ	5
	org	0100h
	push	h	;address for the result
	mvi	c,019h	;current default disk?
	call	bdos
	pop	h
	mov	m,a
	inx	h
	mvi	m,0	;clear the high byte
	ret
	end

	In the first program the values used are derived by taking the bytes
from the assembly listing in groups of two and reversing the order of each
2-byte group.

10 DEFINT A-Z
20 DIM SUB(5)
30 FOR I=0 TO 5:READ SUB(I):NEXT
40 DATA &H0EE5,&HCD19&H0005,&H77E1,&H3623&HC900
50 SUBROUTINE=VARPTR(sub(0)):CALL SUBROUTINE (I)
60 PRINT"Default disk is "I

	In this example we read a file to get the values.  With this method
the code must not be more than 128 bytes unless the maximum record length is
changed to 256.

10 DEFINT A-Z
20 OPEN"r",1,"A:BASEXMPL.COM"
30 GET 1
40 IF EOF(1) THEN PRINT"No file":STOP
50 SUBROUTINE=VARPTR(#1)
60 CALL SUBROUTINE (I)
70 PRINT"Default disk is "I
80 CLOSE 1
= MGDEI =
Switching MBASIC output and input devices
-----
June 9, 1982 #12

	Question:  How do I access the ports using CP/M MBASIC and how do I
switch the printout from the terminal to the printer?

	Answer:  CP/M only provides two logical devices for normal useage
and MBASIC supports each with a specific command.  The LST: device is output
only and is supported with the LPRINT command.	The CON: device is supported
by the PRINT and INPUT commands.  If you wish to have output that goes to
either the printer or the console under program control  the  most
straightforward of doing this is with a status flag and two separate print
statements.  The following example uses the flag LP which is set to 1 if the
output is to be to the printer and 0 if the output is to be to the console:

100 IF LP THEN LPRINT "Date "D$ ELSE PRINT "Date "D$

	There is another method which allows you access to all the physical
devices available for the CON: and LST: logical devices and provides an
easier way of changing where output will go. The following instructions
should be used with extreme caution and only if you understand what is being
done.

	The STAT command which changes the default assignment of physical
device to logical device:

	A>STAT logical device:=physical device:

can be used to send output of a program that normally goes to the console or
to send the output of a program that normally goes to the printer to the
console.  This procedure is very flexible.  These are some examples:

	A>STAT CON:=UC1: (INPUT from CRT:, PRINT to LST:)

	A>STAT LST:=CRT: (LPRINT to CRT:)

	A>STAT CON:=TTY: (INPUT from TTY:, PRINT to TTY:)

	A>STAT LST:=TTY: (LPRINT to TTY:)
= MGDF =
HMS-89?7-4 CP/M BASIC-80 compiler
-----
August 18, 1984 #166

	Question:  Why is it that sometimes input characters are lost while
I am running a compiled BASIC program and sometimes I cannot get the output
to pause with CTRL S or the program to stop with CTRL C as described in the
manual?  Is there a way around these problems?

	Answer:  The CTRL C is always ignored when using INKEY$ or INPUT$.
The other two symptoms are the result of the same problem.  The Microsoft
BASIC compilers for CP/M use direct console input for all input and normal
console output for all output.	According to Digital Research CP/M
documentation it is not valid to mix direct console functions with any other
console function.

	The lost character occurs when a character is output because CP/M
reads a character to check for the CTRL S.  If it is not CTRL S then CP/M
holds on to it until the next normal console input.  A direct console input
will not get this character so it is lost.  Since CP/M already has a
character which is not CTRL S then it will no longer check for CTRL S so it
no longer works.

	The workaround for these problems is to deliberately cause a
character to be lost right at the start and to check for the CTRL S and CTRL
C manually.  The following program demonstrates this procedure.

10 print"type carriage return immediately"
20 for i=0 to 2000:next
30 print"now that character is lost"
40 char$=""
50 while char$<>chr$(3)
60 print"type ctrl s to pause or ctrl c to stop"
70 char$=inkey$
80 if char$=chr$(19) then char$=input$(1)
90 wend
100 print"good bye"
-----
February 11, 1983 #22

	Question:  How do I include assembly language subroutines with an
MBASIC program when I am using the compiler?

	Answer:  The following simple MBASIC program demonstrates how to
call assembly language subroutines.

	A file called BASEXMPL.BAS contains the following program.

10 defint a-z
20 CALL DEFDSK (I)
30 PRINT"Default disk is "I

	A file called DEFDSK.MAC contains the following program.

;
; sample basic assembly language subroutine for compiler
; this program expects an integer argument
;
bdos	equ	5
defdsk::
	push	h	;save address for the returned result
	mvi	c,019h	;what is the current default disk?
	call	bdos
	pop	h
	mov	m,a
	inx	h
	xra	a
	mov	m,a
	ret
	end

	The following commands will assemble, compile, link and run the
program.

m80 defdsk,defdsk=defdsk
bascom basexmpl,basexmpl=basexmpl
l80 basexmpl,defdsk,basexmpl/n/e
basexmpl
= MGDG =
Extended Benton Harbor BASIC
-----
May 21, 1982 #11

	Question:  Why do I get the message "!ERROR - Syntax error At Line
?" when trying to read a file in Extended Benton Harbor Basic?

	Answer:  Extended Benton Harbor BASIC requires that the input line
of data have exactly the same format as if input from the keyboard.  The
most common problem is that the file was written with the command:

PRINT#1,4,A,"TEST",B,C

The correct command would include the necessary commas to create the proper
input format as follows:

PRINT#1,"4,"A",TEST,"B","C
= MGE =
FORTRAN languages

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - MS-463-2 Z-100 FORTRAN-86				06/28/84	2k
B - HMS-89?7-2 CP/M FORTRAN-80				04/26/83	3k
* - Download all the menu categories					5k
= MGEA =
MS-463-2 Z-100 FORTRAN-86
-----
June 28, 1984 #42

	Question:  The FORTRAN manual is not very clear on how list-directed
I/O is done.  Could you please clarify this?

	Answer:  The following example program demosntrates the use of list-
directed I/O.  Note the use of the * in place of the format statement.

	program listio
C first show the usual way I/O is done
	write(*,'(1x,''(3i5)?'',\)')
	read(*,'(3i5)')i,j,k
	write(*,'(1x,3i5)')i,j,k
C then show the way list-directed I/O is done
	write(*,'(1x,''(*,*)?''\)')
	read(*,*)i,j,k
	write(*,*)i,j,k
	end

	The normal method of formatted input requires an exact number of
spaces to fill the input field.  The list-directed method allows you to
separate the values with commas instead.
-----
May 23, 1984 #80

	Question:  How do I access the printer under Z-DOS FORTRAN?

	Answer:  Open a file using any unit specifier greater than 0, and
for the filename, use the Z-DOS print device logical name PRN.

		I=5
		OPEN(1,FILE='PRN')
		WRITE(1,100)I
	100	FORMAT(1X,'The Value of I = ',I4)
		CLOSE(1)
		STOP
		END

NOTE:  FORTRAN begins each line output to a file with a carriage
return/linefeed sequence.  Some printers require this sequence before
outputting data in their buffer, therefore in cases using these printers
with FORTRAN, a dummy line must be output before closing the PRN file.	Such
as:

		. . . . . .
		. . . . . .
		WRITE(1,10)
	10	FORMAT(1X)
		CLOSE(1)
		. . . . . .
-----
April 6, 1984 #76

	Question:  How do I output control characters to the CRT from a
FORTRAN-86 program?

	Answer:  The following program demonstrates output of control
characters using the ESC code to generate reverse video from a FORTRAN
program.

	CHARACTER ESC
	ESC=27
	WRITE(*,100)ESC,ESC
100  	FORMAT(1X,A1,'pTEST',A1,'q')
	END
= MGEB =
HMS-89?7-2 CP/M FORTRAN-80
-----
April 26, 1983 #24

	Question:  What would it take to convert FORTRAN data files to a
format that can be used by CP/M ED or any other CP/M editor?

	Answer:  The following program will read a file that is either
FORTRAN format or CP/M format and write a file converted to the other
format.

	program convrt
	logical buf(127),fname(11)
	write(1,10)
10	format(1x'Input file name? ')
	read(1,20)fname
20	format(11a1)
	call open(6,fname,0)
	write(1,11)
11	format(1x'Output file name? ')
	read(1,20)fname
	call open(7,fname,0)
	call read(buf,j)
	if(j.lt.0)goto 99
	k=2
	buf(1)=10
	write(7,30)(buf(i),i=k,j)
	call read(buf,j)
	if(j.lt.0)goto 99
	k=1
	if (buf(2).eq.10)k=3
25	write(7,30)(buf(i),i=k,j)
30	format(127a1)
	call read(buf,j)
	if(j.lt.0)goto 99
	goto 25
99	continue
	buf(2)=26
	if (k.eq.1)write(7,31)(buf(i),i=1,2)
31	format(2a1)
	endfile 7
	stop
	end
	subroutine read(buf,i)
	logical buf(127)
	read(6,30,end=99)(buf(i),i=2,127)
30	format(127a1)
	do 35 j=1,127
	i=127-j
	if(buf(i).ne.32)goto 36
35	continue
36	return
99	i=-1
	return
	end
-----
December 16, 1982 #18

	Question:  How do I output control characters to the CRT from a
FORTRAN program?

	Answer:  The  following program demonstrates using reverse video
from a FORTRAN program.

	INTEGER*1 ESC
	ESC=27
	WRITE(1,100)ESC,ESC
100  	FORMAT(1X,A1,'pTEST',A1,'q')
	END
-----
April 5, 1982 #10

	Question:  Why can't I create a CP/M ED file with a FORTRAN program?
(A similar question is why can't I read a CP/M EDfile with a FORTRAN
program?)

	Answer:  A record in a standard CP/M file is terminated with a
Carriage Return (CR-0DH) and a Line Feed (LF-0AH).  FORTRAN files on the
other hand have only the CR terminating the record.  This means that CP/M
will see most FORTRAN files as one big record and FORTRAN will see most CP/M
files as having an extra character (LF) at the beginning of each record,
except the first, and an extra blank record at the end of the file.

	There are two main ways to correct this problem.  You can either
have the FORTRAN program take into account the file differences or you can
write a special conversion program to convert a file into the different
formats.
= MGF =
COBOL languages

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - MS-463-3 Z-100 COBOL-86				09/06/84	1k
B - HMS-8?7-3 CP/M COBOL-80				12/05/84	12k
C - HMS-8?7-31 HDOS COBOL-80				12/29/83	1k
* - Download all the menu categories					14k
= MGFA =
MS-463-3 Z-100 COBOL-86
-----
April 6, 1984 #77

	Question:  How can I output terminal control codes from COBOL-86?

	Answer:  The following program gives a simple demonstration of the
use of terminal control codes.

	 IDENTIFICATION DIVISION.
		PROGRAM-ID.  CHRTST.
	 ENVIRONMENT DIVISION.
	 DATA DIVISION.
	 WORKING-STORAGE SECTION.
	 01	ASC-ESC PIC 99 COMP-0 VALUE 27.
	 01	FILLER REDEFINES ASC-ESC.
		02	FILLER PIC X.
		02	CHR-ESC PIC X.
	 01	CHR-F.
		02	CHR-ESCF PIC X.
		02	FILLER PIC X VALUE 'F'.
	 01	CHR-G.
		02	CHR-ESCG PIC X.
		02	FILLER PIC X VALUE 'G'.
	 PROCEDURE DIVISION.
	 MAINLINE SECTION.
	 MAINLINE-START.
		DISPLAY 'graphics characters'.
		MOVE CHR-ESC TO CHR-ESCF.
		MOVE CHR-ESC TO CHR-ESCG.
		DISPLAY CHR-F.
		DISPLAY 'fac'.
		DISPLAY "`b`".
		DISPLAY 'ead'.
		DISPLAY CHR-G.
		DISPLAY 'normal characters'.
	 MAINLINE-STOP.
		STOP RUN.
= MGFB =
HMS-8?7-3 CP/M COBOL-80

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - CP/M file functions usage example."			12/05/84	2k
B - How to use the DEBUG procedure			02/14/84	1k
C - Run-time error reading files not created by COBOL	12/29/83	1k
D - Using escape codes from COBOL			06/08/83	1k
E - Example of printer output from COBOL		01/13/83	5k
F - Example of program CHAINing				12/23/82	1k
* - Download all the menu categories					11k
= MGFBA =
CP/M file functions usage example.
-----
December 5, 1984 #179

	Question:  Could you describe how to use the functions mentioned in
Appendix D (Page 59) of the COBOL-80 version 4.6 Software User's Guide?

	Answer:  The following program demonstrates the use of the FILENQ
function.  The arguments and operation of the other functions is essentially
the same.  It is important to note that a CP/M file name should be followed
by a space in order to guarantee proper operation.  This is particularly
true if there is not a three letter extension to the file name.  The COBOL
file system ignores the case of the letters of the file name and always uses
the CP/M standard uppercase.

	 IDENTIFICATION DIVISION.
		PROGRAM-ID.  FILETEST.
	 ENVIRONMENT DIVISION.
	 DATA DIVISION.
	 WORKING-STORAGE SECTION.
	 01	FILE-NAME	PIC X(20).
	 01	FILE-STATUS	PIC XX.
	 PROCEDURE DIVISION.
	 MAINLINE SECTION.
	 MAINLINE-START.
		DISPLAY 'Input the file name to test.'.
		ACCEPT FILE-NAME.
		CALL 'FILENQ' USING FILE-STATUS FILE-NAME.
		IF FILE-STATUS = '00'
			DISPLAY 'FILE EXISTS'
		ELSE IF FILE-STATUS = '30'
			DISPLAY 'FILE DOES NOT EXIST'
		ELSE
			DISPLAY 'FILE-STATUS' FILE-STATUS.
	 MAINLINE-STOP.
		EXIT PROGRAM.
= MGFBB =
How to use the DEBUG procedure
-----
February 14, 1984 #33

	Question:  Could you please explain the proper use of the DEBUG
procedure available on the COBOL-80 update (version 4.6)?

	Answer:  The DEBUG procedure is used by linking in the DEBUG.REL
file into the COBOL program.  When this is done and the program is run it
begins in DEBUG mode.  Nothing else is changed in the program or the
compile.  The L80 command would be as follows:

L80 PROG,DEBUG,PROG/N/E

instead of the usual:

L80 PROG,PROG/N/E

where PROG is the name of the program.
= MGFBC =
Run-time error reading files not created by COBOL
-----
December 29, 1983 #32

	Question:  How do I solve the problem flagged as a run-time error
when reading a COBOL sequential file created by a text editor or word
processor?

	Answer:  There are two ways to solve this problem:

a. Use the "organization is line-sequential" clause in the select statement.
b. Use the SEQCVT program to convert your files from line-sequential to
sequential format.
= MGFBD =
Using escape codes from COBOL
-----
June 8, 1983 #26

	Question:  How can I output terminal control codes from COBOL?

	Answer:  The following program gives a simple demonstration of the
use of terminal control codes.

	 IDENTIFICATION DIVISION.
		PROGRAM-ID.  CHRTST.
	 ENVIRONMENT DIVISION.
	 DATA DIVISION.
	 WORKING-STORAGE SECTION.
	 01	ASC-ESC PIC 99 COMP VALUE 27.
	 01	FILLER REDEFINES ASC-ESC.
		02	FILLER PIC X.
		02	CHR-ESC PIC X.
	 01	CHR-F.
		02	CHR-ESCF PIC X.
		02	FILLER PIC X VALUE 'F'.
	 01	CHR-G.
		02	CHR-ESCG PIC X.
		02	FILLER PIC X VALUE 'G'.
	 PROCEDURE DIVISION.
	 MAINLINE SECTION.
	 MAINLINE-START.
		DISPLAY 'graphics characters'.
		MOVE CHR-ESC TO CHR-ESCF.
		MOVE CHR-ESC TO CHR-ESCG.
		DISPLAY CHR-F.
		DISPLAY 'fac'.
		DISPLAY "`b`".
		DISPLAY 'ead'.
		DISPLAY CHR-G.
		DISPLAY 'normal characters'.
	 MAINLINE-STOP.
		STOP RUN.
= MGFBE =
Example of printer output from COBOL
-----
January 13, 1983 #20

	Question:  Could you give a complete example of how to send
information to the printer from a COBOL program?

	Answer:  The following two examples show all the basic structure
required to send information to the printer using two different methods.  It
also demonstrates reading a CP/M format file.

        IDENTIFICATION DIVISION.
   	      PROGRAM-ID.  READ1.
       * This program will read any ASCII CP/M format file and
       * display it on the LST: device using the DISPLAY verb
        ENVIRONMENT DIVISION.
        CONFIGURATION SECTION.
        SPECIAL-NAMES.
   	      PRINTER IS LST-DEVICE.
        INPUT-OUTPUT SECTION.
        FILE-CONTROL.
   	      SELECT IN-FILE ASSIGN TO DISK
   		      STATUS FILE-FLAG
   		      ACCESS SEQUENTIAL
   		      ORGANIZATION LINE SEQUENTIAL.
        DATA DIVISION.
        FILE SECTION.
        FD       IN-FILE
   		      VALUE OF FILE-ID FILE-NAME
   		      LABEL RECORD STANDARD.
        01       FILE-REC.
   	      02      FILLER	      PIC X(80).
        WORKING-STORAGE SECTION.
        01       FILE-FLAG       PIC XX.
        01       FILE-NAME       PIC X(20).
        PROCEDURE DIVISION.
        START-STOP SECTION.
        START-RUN.
   	      ACCEPT FILE-NAME.
   	      OPEN INPUT IN-FILE.
   	      PERFORM READ-FILE
   		      UNTIL FILE-FLAG = "10".
   	      CLOSE IN-FILE.
        STOP-RUN.
   	      STOP RUN.
        READ-FILE SECTION.
        READ-FILE-START.
   	      READ IN-FILE.
   	      IF FILE-FLAG = "00"
   		      DISPLAY FILE-REC UPON LST-DEVICE.
        READ-FILE-STOP.
   	      EXIT.


	IDENTIFICATION DIVISION.
		PROGRAM-ID.  READ2.
	* This program will read any ASCII CP/M format file and
	* display it on the LST: device using the WRITE verb
	ENVIRONMENT DIVISION.
	INPUT-OUTPUT SECTION.
	FILE-CONTROL.
		SELECT IN-FILE ASSIGN TO DISK
			STATUS FILE-FLAG
			ACCESS SEQUENTIAL
			ORGANIZATION LINE SEQUENTIAL.
		SELECT PRINT-FILE ASSIGN TO PRINTER.
	DATA DIVISION.
	FILE SECTION.
	FD      IN-FILE
		VALUE OF FILE-ID FILE-NAME
		LABEL RECORD STANDARD.
	01      FILE-REC.
	02      FILLER	      PIC X(80).
	FD      PRINT-FILE
		LABEL RECORD OMITTED.
	01      PRINT-REC.
	02      FILLER	      PIC X(80).
	WORKING-STORAGE SECTION.
	01       FILE-FLAG       PIC XX.
	01       FILE-NAME       PIC X(20).
	PROCEDURE DIVISION.
	START-STOP SECTION.
	START-RUN.
		ACCEPT FILE-NAME.
		OPEN INPUT IN-FILE.
		OPEN OUTPUT PRINT-FILE.
		PERFORM READ-FILE
			UNTIL FILE-FLAG = "10".
		CLOSE IN-FILE.
		CLOSE PRINT-FILE.
	STOP-RUN.
		STOP RUN.
	READ-FILE SECTION.
	READ-FILE-START.
		READ IN-FILE.
		IF FILE-FLAG = "00"
			WRITE PRINT-REC FROM FILE-REC.
	READ-FILE-STOP.
		EXIT.
= MGFBF =
Example of program CHAINing
-----
December 23, 1982 #19

	Question:  Could you give a complete example of how to CHAIN from
one COBOL program to another while passing arguments?

	Answer:  The following simple example shows all the basic structure
required to chain a COBOL program while passing arguments.

	 IDENTIFICATION DIVISION.
		PROGRAM-ID.  CHAIN1.
	 ENVIRONMENT DIVISION.
	 DATA DIVISION.
	 WORKING-STORAGE SECTION.
	 01	CHAIN-ARG	PIC XXXXXX VALUE 'chain1'.
	 PROCEDURE DIVISION.
	 MAINLINE SECTION.
	 START-RUN.
		DISPLAY 'chain1 start'.
		CHAIN 'CHAIN2.COM ' USING CHAIN-ARG.
		DISPLAY 'program does not return'
		STOP RUN.

	 IDENTIFICATION DIVISION.
		PROGRAM-ID.  CHAIN2.
	 ENVIRONMENT DIVISION.
	 DATA DIVISION.
	  WORKING-STORAGE SECTION.
	 01	CHAIN-ARG	PIC XXXXXX.
	 PROCEDURE DIVISION CHAINING CHAIN-ARG.
	 MAINLINE SECTION.
	 START-RUN.
		DISPLAY 'chain2 start'.
		DISPLAY CHAIN-ARG.
		DISPLAY 'chain2 stop'.
		STOP RUN.
= MGFC =
HMS-8?7-31 HDOS COBOL-80
-----
December 29, 1983 #30

	Question:  When using my new HDOS COBOL Compiler, the screen output
does not appear to be working correctly.  I use direct cursor  addressing a
great deal and my data is not going where I expect on the screen.

	Answer:  Because HDOS uses device driver I/O, you must use the SET
program to adjust the terminal width to 255.  The command line to do this
is:  "SET TT:WIDTH 255".  Some other options for this command can be found
in Table E of Chapter II, HDOS System General Operations Manual.
= MGG =
PASCAL languages

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - MS-463-5 Z-100 PASCAL-86				12/14/84	3k
B - DR-253-5 PASCAL MT+					12/17/83	1k
* - Download all the menu categories					4k
= MGGA =
MS-463-5 Z-100 PASCAL-86
-----
February 14, 1984 #75

	Question:  How does one perform direct console I/O using PASCAL-86?

	Answer:  The PASCAL-86 equivalent of direct console i/o is the
terminal mode file.  The following sample program demonstrates the terminal
mode file.  It clears the screen and echoes all characters typed until CTRL
Z is entered:

PROGRAM termio;
CONST
	esc=CHR(27);
	ctlz=CHR(26);
	nul=chr(0);
VAR
	conin : FILE OF CHAR;
	conout: FILE OF CHAR;
BEGIN {PROGRAM termio}
	ASSIGN(conin,'CON');
	RESET(conin);
	ASSIGN(conout,'CON');
	REWRITE(conout);
	WRITE(conout,esc,'E');
	WHILE(conin^<>ctlz) DO
		BEGIN
		IF(conin^<>nul) THEN
			BEGIN
			conout^ := conin^;
			PUT(conout);
			END;
		GET(conin);
		END;
END. {PROGRAM termio}
= MGGB =
DR-253-5 PASCAL MT+
-----
December 17, 1983 #27

	Question:  When using PASCAL/MT+ I sometimes get 'undefined
symbol(s)' when linking my program.

	Answer:  In all probability, your program references a function not
found in PASLIB.ERL... See page 2-15 of the Programmer's Guide for a list of
functions and their corresponding .ERL files that must be present on the
disk and must be included in the link command line.

For instance, if you were to link the sample RANDOM I/O program on page 7-14
without including the module RANDOMIO.ERL, two undefined symbols, SEEKWRITE
and SEEKREAD would be flagged.	Therefore, the proper syntax would be:

LINKMT MYPRO,RANDOMINO,PASLIB/S
= MGH =
Assembly languages

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Z-DOS MASM86					01/10/84	3k
B - HDOS ASM						12/29/84	1k
C - MS-DOS version 2 Programmers Utility Pack		01/18/85	4k
* - Download all the menu categories					8k
= MGHA =
Z-DOS MASM86
-----
January 10, 1984 #72

	Question:  Given an X, Y coordinate, how can I access a single pixel
on the Z-100 video screen within an assembly language program?

	Answer:  The first thing that must be done is to enable access to
video memory.  This is done by reading port OD8H, ANDing the value read with
O7FH and then writing the result back to port OD8H.

	The next step is to form the address of the byte containing the
desired pixel from the X,Y coordinate.	The video display is organized as
640 pixels or 80 bytes horizontally, by 225 pixels vertically.	The 225
vertical lines are organized into 25 rows of 9 scan lines each.  Assuming
that the X ordinate is in the range 0 to 639 and the Y ordinate 0 to 224,
the 16 bit address can be formed by first dividing the X ordinate by 8,
saving the remainder and storing the result in bit positions 0 through 6 of
the address.  Next, the Y ordinate should be divided by 9, the remainder
placed in bit positions 7 through 10, and the result in positions 11 through
15 of the address.  This resulting address will point to the byte within a
particular color plane containing the pixel.  The remainder from the X
divide by 8 operations performed above can be used to obtain the bit
position of the pixel within that byte.  The color planes are 64K each, with
green being at segment EOOOH, red at DOOOH and blue at COOOH.  The diagram
below shows the different fields and their positions within the address.

15	11	10	7	6	0

Row		Line	      	Column
0 - 24		0 - 8	       	0 - 79

	The code fragment given below will accomplish the task of "turning
on" a pixel in the color plane pointed to by register ES.  The X ordinate of
the pixel is passed in register BX, and the Y-ordinate in register AX.

	MOV	DL,0111B
	AND	DL,BL		;DL = Remainder of X/8
	MOV	CL,3
	SHR	BX,CL		;BX = X/8
	MOV	DI,BX		;Save result (bits 0-6)
	MOV	BL,9
	DIV	BL		;Divide Y by 9
	XCHG	AL,AH		;AH=result, AL=remainder
	MOV	BX,AX
	AND	BX,OFH		;Isolate line number
	MOV	CL,7
	SHL	BX,CL		;Move it into position
	AND	AX,1FOOH	;Isolate row number
	MOV	CL,3
	SHL	AX,CL		;Move it into position
	OR	AX,BX
	OR	DI,AX		;DI = complete address
	MOV	AL,80H
	MOV	CL,DL		;CL = remainder from X/8
	SHR	AL,CL		;AL = pixel mask
	OR	ES:[DI],AL	;Turn pixel on
= MGHB =
HDOS ASM
-----
December 29, 1983 #29

	Question:  When I try  to assemble the demo program in the HDOS
assembly language section I get errors.  What am I doing wrong?

	Answer:  There is a statement containing XTEXT HDOS at the beginning
of the program.  This tells the assembler to search for the file HDOS.ACM.
This file doesn't exist and causes a "U" error to occur at locations in the
program.  The HDOS.ACM file has been split into three separate files.  The
solution is to change the XTEXT HDOS line to the follwoing:

XTEXT HOSDEF
XTEXT HOSEQU
XTEXT ASCII
= MGHC =
MS-DOS version 2 Programmers Utility Pack

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Assembling Z-DOS programs that use DEFMS.ASM	01/18/85	1k
B - Additional information for implementing Z-100 BIOS	12/27/84	2k
* - Download all the menu categories					3k
= MGHCA =
Assembling Z-DOS programs that use DEFMS.ASM
-----
January 18, 1985 #182

	Question:  What changes are necessary to assemble programs that were
originally intended to be assembled using the Z-DOS DEFMS.ASM include file?

	Answer:  The DEFMS.ASM include file on the Programmer's Utility Pack
is not the same as the one used under Z-DOS.  The closest replacement is to
include instead the MSDOS.DEF file.  This is sufficient if you are using
only standard MS-DOS functions.  If you are also using BIOS functions, then
you would also include the DEFBIOS.ASM file.  There is no include file on
the Programmer's Utility Pack for the little used symbols which begin with
DPT_? and DSKE_? as found in the Z-DOS file.
= MGI =
Communications programs

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - CB 463-7 CPS-86					06/27/84	4k
B - SF-9503 HDOS-CP/M CPS				01/05/84	1k
C - SF-9103, SFS-9103 CP/M CPS				01/05/84	3k
* - Download all the menu categories					8k
= MGIA =
CB-463-7 CPS-86
-----
June 27, 1984 #40

	Question: How can I use the J1 port with CPS?

	Answer: This patch is used to convert the communications port of CPS
from the modem port (J2) to the printer port (J1).  However, the patch does
not convert the printer echo option (F5) to use the modem port.  The patch
requires the following programs.

A. Bootable system disk with DEBUG.COM
B. Licensed backup copy of CPS.EXE (located on default drive)

Complete the following steps to implement the patch.  If old data does not
match the data shown in the patch list, the patch should not be attempted.

After patching the newly generated program can be accessed by typing the
following at the system prompt.

A>cpsprn <cr>

NOTE:	Heath/Zenith Data Systems is under no obligation for support or
correction of resulting effects from this patch.  The same warranties and
disclaimers apply to this patch as are stated on the NOTICE page of your CPS
manual.

1. Boot the system.
2. Type at the system prompt:

A>copy cps.exe cpsprn <cr>

3. Enter the debug program by typing:

A>debug cpsprn <cr>

4. At the debug prompt, type:

>d <cr>

5. The following data should be displayed on the screen.  If the data does
not match exactly, the patch cannot be done.

debug cpsprn

DEBUG	version 1.08
>d
... .....5.
09C9:0110 2C 01 FC 39 00 00 CF 02-1C 00 00 00 19 1C 00 00 ,.|9..O.........
09C9:0120 01 00 CF 02 3A 07 CF 02-65 OD CF 02 C3 14 CF 02 ..O...O.e.O.C.O.
09C9:0130 04 15 CF 02 7F 15 CF 02-F6 2F CF 02 71 30 CF 02 ..O...O.v/O.qOO.
09C9:0140 5C 32 CF 02 87 33 CF 02-A8 36 CF 02 D8 37 CF 02 O..3O.(6O.X7O.
O.,MO.
09C9:0160 3A 4D CF 02 48 4D CF 02-56 4D CF 02 A3 4D CF 02 :MO.HMO.VMO.#MO.
09C9:0170 BB 4D CF 02 00 00 00 00-00 00 00 00 00 00 00 00 ;MO.............

6. Using debug's EXCHANGE function change the contents at the following
addresses.

>E(address) <CR>
XXXX:(address) (old data).(new data) <CR>

address	old	new data

112	FC	48
113	39	5E
3036	16	12
303B	14	10
3630	EF	EB
3634	EF	EB
3639	EF	EB
363D	EF	EB
7025	ED	E9
7030	EC	E8
703E	EF	EB
7042	EF	EB
7054	EF	EB
705B	EF	EB
705D	ED	E9
7061	EF	EB
7072	EC	E8
7074	EF	EB
7078	EF	EB
70CC	EF	EB
70CE	EF	EB
70E2	EE	EA
70EA	EE	EA
70EE	EF	EB
70F0	EC	E8
70F2	EC	E8
7CCA	14	10
7CCF	16	12
7D13	14	10
7D1A	16	12

7. At the debug prompt, type:

>w <cr>

8. At the debug prompt, type:

>q <cr>

9. At the System DOS prompt, type:

A>rename cpsprn cpsprn.exe <cr>

This completes the conversion patch.  Label the disk and test the program.
If it does not run correctly, verify the steps and recheck the data.
= MGIB =
SF-9503 HDOS-CP/M CPS
-----
January 5, 1984 #43

	Question:  How can I make my Z-89/Z-90 version of CPS use parity
checking, a different word size or a different number of stop bits during
its communication?

	Answer:  The following patch can be implemented in an unmodified
copy of CPS (model SF-9503) running under CP/M.  In the example shown below,
CPS is configured for one stop bit, even parity, and a seven bit word
length.  User input is shown in bold.

A> REN CPSOLD.COM = CPS.COM
A>DDT CPSOLD.COM
DDT VERS 2.2
NEXT PC
3100 0100
-S2343
2343 CA 00
2344 48 00
2345 23 AF
2346 OE OE
2347 04 00 (00=1 stop bit, 04=2 stop bits)
2348 3E B1
B2349 08 OE
234A D6 18 (00=no parity, 08=odd parity, 18=even parity)
234B 05 B1
234C E6 OE
234D 03 02 (03-8 bit word length, 02=7 bit word length,
	01=6 bit word length, 00=5 bit word length)
234E B1
- GO
A>SAVE 48 CPS.COM
A>
= MGIC =
SF-9103, SFS-9103 CP/M CPS
-----
January 5, 1984 #44

	Question:  I have the CP/M version of CPS (SF-9103 and SFS-9103) and
I am trying to interface to a computer that requires other than 8 bit word
length, 2 stop bits and no parity (the default setting).  Is there any way
that I can do this.

	Answer:  CPS can be set for various other combinations of word
length, parity and stop bits with the use of DDT. If you are unfamiliar with
the operation of DDT then refer to your CP/M manual and familiarize yourself
with the S (Substitute) command. To modify the CP/M version of CPS use the
following procedure:

Type:	DDT CPS.COM
	(use patches as listed below)
	^C (CTRL-C)
	SAVE 49 CPSNEW.COM

CPSNEW.COM is now a version of CPS configured for your needs.

Data	Parity	Stop bits
8	odd	1
-S2299
2299 03 0B
229A 3A .
8	odd	2
-S0143
0143 01 02
0144 00 .
-S22A3
22A3 07 0F
22A4 79 .
8	even	1
-S2299
2299 03 1B
229A 3A .
8	even	2
-S0143
0143 01 02
0144 00 .
-S22A3
22A3 07 1F
22A4 79 .
7	odd	1
-S2299
2299 03 0A
229A 3A .
7	odd	2
-S0143
0143 01 02
0144 00 .
-S22A3
22A3 07 0E
22A4 00 .
7	even	1
-S2299
2299 03 1A
229A 3A .
7	even	2
-S0143
0143 01 02
0144 00 .
-S22A3
22A3 07 1E
22A4 79 .
= MH =
General computer hardware related information

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Printer related information				01/02/85	31k
B - Z89/90 computer related information			04/06/82	1k
C - Z100 computer related information			02/14/84	34k
* - Download all menu categories					66k
= MHA =
Printer related information

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Block graphics characters with the OKI-83-A		04/14/84	1k
B - Use of the new Diablo 630 API model WH-54-B		02/14/84	2k
C - Serial Diablo 630 bidirectional printing		01/23/84	3k
D - MX-80 hardware handshaking signals explained	12/29/83	2k
E - Setup for MX-80 with 8145 interface and/or Graftrax 09/02/82	2k
F - Problems with MX-80 and graphics			06/09/82	1k
G - Printer or any setup using escape codes		12/23/83	3k
H - Using the MPI printers with the Z-150 computers	12/05/84	1k
I - Printer setup information				01/02/85	15k
* - Download all menu categories					30k
= MHAA =
Block graphics characters with the OKI-83-A
-----
April 14, 1984

	Question:  Why can't I get the block graphics characters to work
with my OKI-83-A printer?

	Answer:  The Okidata printer as shipped by Zenith has the OKIGRAPH I
option installed.  According to the manual included with the printer the bit
graphics option disables the block graphics as well as several other
options.
= MHAB =
Use of the new Diablo 630 API model WH-54-B
-----
February 14, 1984

	Question:  Could you please explain the use of the new Diablo 630
API model WH-54-B?

	Answer:  The new Diablo has the ability to support both parallel and
serial operation.  All that is required to change is the cable and a front
panel switch.  This switch appears to be undocumented. (switch 8 far right
hand side under the cover, up is parallel, down is serial).  The cable
included with the printer is for parallel use only on the Z100 (it can't
work on the Z-89-11, there is no available cable for this type of
operation).  The Z-89/90 will run the printer in serial mode, but the serial
cable is currently only available directly from Diablo.  The Diablo part
number for the serial cable is 320781-01.

	The configuration for parallel operation is just the standard
centronics settings.  The configuration for serial operation can be used
identical to the old diablo.  A far superior method of operation is to set
the dip switches on the printer for 2400 baud (right 2 and 3 up) and printer
ready (DTR ready high) hardware handshaking (right 7 up) and set CONFIGUR
accordingly.
= MHAC =
Serial Diablo 630 bidirectional printing
-----
January 23, 1984

	Question:  The Diablo 630 has the ability to do automatic
bidirectional printing.  Why doesn't it do this with any of the Heath/Zenith
operating systems?

	Answer:  In order for the Diablo to do automatic bidirectional
printing it must be receiving plenty of characters, at a high speed.  The
current implementations of the ETX/ACK protocol almost never allow this to
occur.	The only way to make full use of the 760 character buffer (minimum)
of the Diablo is to use it in a hardware handshaking configuration. The
Diablo can be adapted for hardware handshaking with satisfying results.
These instructions apply only to the Diablo 630 R/O model WH-54.  This
procedure can not be used with the new Diablo 630 API model WH-54-B now
being sold.

DISCLAIMER

Any changes the user makes to their own hardware or software are solely
their own responsibility.  Even though these changes have been tested and
are only suggested because they are not too difficult to perform Software
Consultation is not responsible for any problems that may occur.  Beware
that these changes may not apply to your specific printer.  Do not make any
changes unless you are confident that you can perform them successfully and
are willing to accept all responsibility for the results.

Changes

	There are two things to change within the Diablo on the
communications board (refer to your printer operators guide).  The first is
to place a jumper on "Option Jumper Block A60" connecting pins 5 and 6.
Heath part number 432-1041 is suitable for this purpose.  The second is to
set "Switch Modeule A66" for 9600 baud (this is usually the factory
setting).  After these changes are made the Diablo will be doing hardware
handshaking on pin 20 (DTR ready HIGH) and will have an optional baud rate
of 9600 baud.  These settings do not change normal operation of the Diablo
in any way!

	Anytime you wish to enhance throughput of your printer change the
front panel right hand dip switch (3 and 5 OFF) to the optional baud rate.
Configure your operating system for 9600 baud DTR ready HIGH and you are all
set.  Changing dip switch 5 back to ON restores the normal 1200 baud.  With
this setup procedure both hardware handshaking and ETX/ACK protocol are
active at te same time.  There is no conflict if both of these protocols are
active at the same time.
= MHAD =
MX-80 hardware handshaking signals explained
-----
December 29, 1983

	Question:  Explain the hardware handshaking signals the MX-80 uses
and how these signals differ between printers.

	Answer:  The two main handshaking signals that Zenith microcomputers
use are Data Terminal Ready which is found on pin 20 of the 25 pin
connector, and Request To Send which is found on pin 4. The polarity of
these signals can vary from device-to-device.  The LPH14 and LPH24 drivers
look at Request To Send for its handshaking signals.  These drivers also
expect the signals to be in a plus voltage state when the printer is busy.
The LPMX80 device driver looks at DATA TERMINAL READY for its handshaking
signal.  It expects the signal to be at plus voltage when the printer is
ready to accept new data.  Note this is an opposite condition to that of
LPH14 and LPH24 device drivers.

	From the MX80 serial interface card, you can get an inverted
polarity signal for the printer busy condition in one of two ways.  You may
get the inverted polarity signal from pin 20 provided JNOR is removed and
JREV has been installed on the serial interface board or you can get it from
pin 11.  You can get normal polarity out of the MX80 serial interface for
the printer ready condition from pin 20 providing JREV is removed and JNOR
is installed.  For your given configuration it is easier to utilize the HCA-
10 cable, the LPMX80 driver, and DATA TERMINAL READY pin 20 handshaking with
normal polarity by having JNOR installed and JREV removed.

	The latest release of our CP/M, 2.2X03, allows more flexible set up
of your handshaking signals.  Select in the CONFIGUR program with pin 4 or
pin 20.  Also choose which polarity you want.
= MHAE =
Setup for MX-80 with 8145 interface and/or Graftrax
-----
September 2, 1982

	Question:  What is the correct way to set up the MX-80 printer with
the 8145 interface and/or Graftrax Plus?

	Answer:  The factory recommended settings for the Graftrax Plus CPU
board are completely compatible with Zenith computers.	You should have no
trouble with its usage.  The 8145 interface required for this option is a
different situation.  The recommended DIP switch settings for this interface
are as follows:

SW1-1 OFF SW1-2 ON	\ *4800 baud recommended
SW1-3 OFF	/ 9600 baud not recommended since it requires
SW1-4 OFF /  2 stop bits not available in standard software
SW1-5 ON  \ Data ready signalled at 152 bytes
SW1-6 ON  /
SW1-7 ON *Parity check disabled
SW1-8 ON Even parity (don't care)
SW2-1 OFF *8 bit data word
SW2-2 ON \ Ready signal high
SW2-3 OFF/
SW2-4 ON Reverse channel valid
* Changed from standard factory settings.

	The 8145 interface operates under CP/M with the same CONFIGUR
settings as the previously used 8141.  These are:  Baud rate 4800,Ready
high, Busy signal pin 20 (DTR), LST:=LPT:.  No cable modifications are
required.

	The LPMX80.DVD device driver from the HOS-5-UP update disk requires
the following patches to support the 8145 interface.

>PATCH
PATCH Issue #50.06.00
File Name? LPMX80.DVD
Patch ID? IFOJIC
Prerequisite Code? IFBEIADPGEFFCF
Address? 003042
003042 = 345/311
003043 = 072/Type CTRL-D
Address? 003314
003314 = 346/076
003315 = 357/003
003316 = 315/Type CTRL-D
Address? 004127
004127 = 033/377
004130 = 104/Type CTRL-D
Address? Type CTRL-D
Patch Check Code? EEJIAFBF
PATCH Issue #50.06.00
File Name? Type CTRL-D
= MHAF =
Problems with MX-80 and graphics
-----
June 9, 1982

	Question:  How do I get my MX-80 printer to do graphics?

	Answer:  The MX-80 printer uses 8 bit characters to do graphics.
Therefore the switches on the printer serial interface must be properly set
for 8 bits.  CP/M 2.2.03 handles 8 bit communication to the printer with no
problem.  HDOS 2.0 requires the LPMX80.DVD driver on the HOS-5-UP disk for 8
bit communication.  Benton Harbor BASIC requires that location 12121 which
contains the decimal value 127 be poked with the decimal value 255.  All
other software products will work without modification.
= MHAG =
Printer or any setup using escape codes
-----
December 23, 1983 #148

	Question:  How do I set up my printer for special features under
software control?

	Answer:  In HDOS, the best way to accomplish this is to set up a
Benton Harbor (BH) BASIC program to send the necessary ESCape sequences to
the printer , using the CHR$ function.	For example, to set the H-14 printer
to 6 lines/inch, we need to send ESC x.  This can be accomplished by the BH
Basic program lines:

	OPEN "LP:" FOR WRITE AS FILE #1
	PRINT 31, CHR$(27); CHR$(120)
	CLOSE #1

For CP/M, follow the same basic procedure using MBASIC.  With MBASIC, the
program becomes simpler since it is not necessary to open a file for the
printer.  Use:

	LPRINT CHR$(27);CHR$(120)

In CP/M, an alternate method for passing ESCape sequences to your printer is
available.  In the following procedure, a program is created using the "in-
line assembler" of the CP/M utility DDT which can then be used by simply
typing the command "PTR":
	A>DDT
	DDT Version 2.2
	-A100
	0100 1xi h,114
	0103 xra a
	0104 cmp m
	0105 jz 0
	0108 mov e,m
	0109 push h
	010A mvi c,5
	010C call 5
	010F pop h
	0110 inx h
	0111 jmp 103
	0114 .
	-S114
	0114 31 54
	0115 39 45
	0116 38 53
	0117 30 54
	0118 2C OA
	0119 20 OD
	011A 44 OO
	011B  ^C
	A>SAVE 1 PTR.COM
	A:PTR

a.  At the A> prompt, enter the command DDT.
b.  When the prompt for DDT appears (-) type A100 for Assemble beginning at
100H.
c.  Enter the sequence from 100 to 114 exactly as it is listed above.  The
period is used to tell DDT that you are finished entering the program, and
so the DDT prompt should return (-).
d.  Type S114 for Substitute beginning at 114H.
e.  Now enter the ESCape sequences (in hexidecimal) for your purposes (the
above example will send the word TEST to the printer).
f.  When your sequence is finished, enter a 00 (the program will recognize
this as the last character of the sequence to be sent).
g.  Type (CTRL) C to exit DDT.
h.  At the A> prompt, type SAVE 1 PTR.COM.
i.  To pass this sequence to the printer, simply type PTR after the A>
prompt.
= MHAH =
Using the MPI printers with the Z-150 computers
-----
December 5, 1984 #180

	Question:  Is the AP-Pak required to do graphics on an MPI printer
with a Z-150 or Z-160 series of computer?

	Answer:  No.  The MPI printers are capable of printing graphics as
well as text without the AP-Pak.  It is necessary however to purchase the
connecting cable separately.  This cable is model number MPA-10.
= MHAI =
Printer setup information
-----
January 2, 1985

Zenith Supported Printer Configuration Information

	This document is a summary of the standard types of information
needed for setup of printers.  A description of the standard setup for
Zenith supported printers is also described.  Other printer users would need
to derive the same type of information found here from their printer manual.

Category descriptions

	A brief description of each category is provided below as well as an
explanation of any standard words, phrases or definitions that will be used.

	Model number

	All the Heath or Zenith model numbers that apply to essentially the
same printer.  Variations such as color are ingored.  The following is a
list of the printers in the order they are described:

MPI-99
MPI-150 (Parallel)
MPI-150 (with MPI-150-2 serial adapter)
MX-80 (Parallel)
MX-80 (with MX-80-2 serial interface)
MX-80-A (Parallel)
MX-80-A (with MX-80-3 buffered serial interface)
OKI-83-A
WH-14, H-14
WH-24
WH-34
WH-36
WH-44
WH-44-A
WH-54
WH-54-A
WH-54-B
WH-55
WH-64 (Parallel)
WH-64 (Serial)
WH-84
Z-25, H-25, Z-125, H-125

	Printer name

	The common name that is usually used to refer to the printer.  This
usually includes the manufacturers name and model number.

	Printer type

	Whether the printer is 'Dot-matrix' or uses a printwheel to form its
characters.  Also whether the printer is essentially 'ASCII only' or has
special graphics characters or graphics ability.

	Interface type

	Whether the communications interface is serial or parallel.
Particularly if it is serial there will be additional information on
recommended baud rate, data bits, parity, stop bits and handshaking
protocol.  Only the following handshaking types are recognized:

None
Software handshaking
	DC1/DC3 (XON/XOFF or CTRL S - CTRL Q)
	ETX/ACK (Diablo)
Hardware handshaking
	RTS Positive (CTS Positive or ready high)
	RTS Negative (CTS Negative or ready low)
	DTR Positive (DSR Positive or ready high)
	DTR Negative (DSR Negative or ready low)

	Connector type

	The type of connector found on the printer.  For parallel printers
this would usually be a Centronics standard connector.  For serial printers
this would usually be DB25 DTE(male) standard.  All other types are not
normal for a printer though many manufacturers use them. A connector may be
directly attached to the printer or on an attached cable. Only the following
connector types are recognized:

Nonstandard
Centronics
DB25 DTE(male)
DB25 DCE(female)
DB25 DTE(male) nonstandard
DB25 DCE(female) nonstandard

	Connecting cable

	The model number of any cable necessary to hook up the printer.  A
list is given for each machine.  The notation 'NA' means that no cable is
available for that configuration.  The normal printer port referred to is
described as follows:

Z89	serial port 340
Z89-11	parallel
Z100    serial port J1
Z100    parallel port J3
Z150    serial port COM2
Z150    parallel port LPT1

	The normal cable options are:

HCA-10, male to male, straight through
HCA-11, male to female, straight through (standard)
HCA-12, female to female, straight through
HCA-14, Z89-11 Centronics
HCA-20, Z100 Centronics (same as HCA-53)
HCA-51, male to female, reversed
HCA-52, female to female, reversed (standard)
HCA-53, Z150 Centronics (same as HCA-20)
HCA-100-PC, female to female, reversed (short version of HCA-52)

	Printer dip switches

	Any special printer dip switches settings recommended.  These are
indicated by a little drawing similar to the following:

  01234567
  --------
0|X X  XX|
1| X XX  |
  -------

The numbers across the top and down the side are usually marked on the
switch itself.  The 'X' indicates where the switch should be.

	The normal serial communications for all Zenith software is 8 data
bits, no parity, 1 stop bit.  The LINE FEED is provided automatically by all
software so any printer settings must not provide and automatic CARRIAGE
RETURN or LINE FEED.

	Special support packages/problems

	Any special problems with particular software packages, ROM version
or whatever.

-------------------------------------------------------------------

Model number:  MPI-99

Printer name:  MPI99

Printer type:  Dot-matrix, graphics

Interface type:  Parallel

Connector type:  nonstandard

Connecting cable required:

Z89-11	NA
Z100    MPA-1 (Ap-Pak) or MPA-10
Z150    MPA-10

Printer dip switches:

SW1 (on the left)

    1234567
    -------
off|X XXXXX|
on | X     |
    -------

SW2

    1234567
    -------
off|XXXX   |
on |    XXX|
    -------

Special support packages/problems:

Serial operation is available but not supported by Zenith.
WS note:  not a backspacing printer.
-------------------------------------------------------------------

Model number:  MPI-150 (Parallel)

Printer name:  MPI150 parallel

Printer type:  Dot-matrix, graphics

Interface type:  Parallel

Connector type:  nonstandard

Connecting cable required:

Z89-11    NA
Z100      MPA-1 (Ap-Pak) or MPA-10
Z150      MPA-10

Printer dip switches:  ?

Special support packages/problems:  ?

-------------------------------------------------------------------

Model number:  MPI-150 (with MPI-150-2 serial adapter)

Printer name:  MPI150 serial

Printer type:  Dot-matrix, graphics

Interface type:  Serial

4800 baud, 8 data bits, no parity, 1 stop bit, ? RTS positive

Connector type:  DB25 DTE(male) on attached cable

Connecting cable required:

Z89       attached
Z100      attached
Z150      HCA-100-PC adapter cable

Printer dip switches: ?

Special support packages/problems:  ?

-------------------------------------------------------------------

Model number:  MX-80 (Parallel)

Printer name:  MX80 parallel

Printer type:  Dot-matrix, graphics characters

Interface type:  Parallel

Connector type:  Centronics

Connecting cable required:

Z89-11    HCA-14
Z100      HCA-53
Z150      HCA-53

Printer dip switches: ?

Special support packages/problems:  ?

-------------------------------------------------------------------

Model number:  MX-80 (with MX-80-2 serial interface)

Printer name:  MX80 serial

Printer type:  Dot-matrix, graphics characters

Interface type:  Serial

4800 baud, 8 data bits, no parity, 1 stop bit, DTR positive

Connector type:  DB25 DCE(female) nonstandard

Connecting cable required:

Z89       HCA-10
Z100      HCA-10
Z150      HCA-51

Printer dip switches: ?

Special support packages/problems:  ?

-------------------------------------------------------------------

Model number:  MX-80-A (Parallel)

Printer name:  MX80A parallel (GrafTrax)

Printer type:  Dot-matrix, graphics

Interface type:  Parallel

Connector type:  Centronics

Connecting cable required:

Z89-11    HCA-14
Z100      HCA-53
Z150      HCA-53

Printer dip switches:  ?

Special support packages/problems:  ?

-------------------------------------------------------------------

Model number:  MX-80-A (with MX-80-3 buffered serial interface)

Printer name:  MX80A serial (Graftrax)

Printer type:  Dot-matrix, graphics

Interface type:  Serial

4800 baud, 8 data bits, no parity, 1 stop bit, DTR positive

Connector type:  DB25 DCE(female) nonstandard

Connecting cable required:

Z89       HCA-10
Z100      HCA-10
Z150      HCA-51

Printer dip switches: ?

Special support packages/problems:  ?

-------------------------------------------------------------------

Model number:  OKI-83-A

Printer name:  Okidata 83A

Printer type:  Dot-matrix, graphics

Interface type:  Parallel

Connector type:  Centronics

Connecting cable required:

Z89-11    HCA-14
Z100      HCA-53
Z150      HCA-53

Printer dip switches:  ?

Special support packages/problems:  ?

-------------------------------------------------------------------

Model number:  H-14, WH-14

Printer name:  H14

Printer type:  Dot-matrix, ASCII only

Interface type:  Serial

4800 baud, 8 data bits, no parity, 1 stop bit, RTS negative

Connector type:  DB25 DTE(male) on an attached cable

Connecting cable required:

Z89       attached
Z100      attached
Z150      HCA-100-PC adapter cable

Printer dip switches:

  76543210
  --------
1|  XXXXXX|
0|XX      |
  --------

Special support packages/problems:  ?

-------------------------------------------------------------------

Model number:  WH-24

Printer name:  TI810

Printer type:  Dot-matrix, ASCII only

Interface type:  Serial

4800 baud, 8 data bits, no parity, 1 stop bit, RTS negative

Connector type:  cable supplied

Connecting cable required:

Z89       supplied
Z100      supplied
Z150      HCA-100-PC adapter

Printer dip switches:  ?

Special support packages/problems:  ?

-------------------------------------------------------------------

Model number:  WH-34

Printer name:  DEC LA34

Printer type:  Dot-matrix, ASCII only

Interface type:  Serial

300 baud, 8 data bits, no parity, 1 stop bit, no handshaking

Connector type:  DB25 DTE(male)

Connecting cable required:

Z89       HCA-11
Z100      HCA-11
Z150      HCA-52

Printer dip switches:  ?

Special support packages/problems:  ?

-------------------------------------------------------------------

Model number:  WH-36

Printer name:  DEC LA36

Printer type:  Dot-matrix, ASCII only

Interface type:  Serial

300 baud, 8 data bits, no parity, 1 stop bit, no handshaking

Connector type:  DB25 DTE(male)

Connecting cable required:

Z89       HCA-11
Z100      HCA-11
Z150      HCA-52

Printer dip switches:  ?

Special support packages/problems:  ?

-----------------------------------------------------------------

Model number:  WH-44

Printer name:  Diablo 1640 KSR

Printer type:  Printwheel

Interface type:  Serial

1200 baud, 8 data bits, no parity, 1 stop bit, ETX/ACK protocol

Connector type:  DB25 DTE(male) on an attached cable

Connecting cable required:

Z89       attached
Z100      attached
Z150      HCA-100-PC adapter

Printer dip switches:  ?

Special support packages/problems:  ?

-----------------------------------------------------------------

Model number:  WH-44-A

Printer name:  Diablo 1640 RO

Printer type:  Printwheel

Interface type:  Serial

1200 baud, 8 data bits, no parity, 1 stop bit, ETX/ACK protocol

Connector type:  DB25 DTE(male) on attached cable

Connecting cable required:

Z89       attached
Z100      attached
Z150      HCA-100-PC adapter

Printer dip switches:  ?

Special support packages/problems:  ?

-----------------------------------------------------------------

Model number:  WH-54

Printer name:  Diablo 630 SPI ?

Printer type:  Printwheel

Interface type:  Serial

1200 baud, 8 data bits, no parity, 1 stop bit, ETX/ACK protocol

Connector type:  DB25 DTE(male) on supplied cable

Connecting cable required:

Z89       supplied
Z100      supplied
Z150      HCA-100-PC adapter

Printer dip switches:  ?

Special support packages/problems:  ?

-----------------------------------------------------------------

Model number:  WH-54-A

Printer name:  Diablo 630 API serial?

Printer type:  Printwheel

Interface type:  Serial

1200 baud, 8 data bits, no parity, 1 stop bit, ETX/ACK protocol

Connector type:  DB25 DTE(male) on supplied cable

Connecting cable required:

Z89       supplied
Z100      supplied
Z150      HCA-100-PC adapter

Printer dip switches:  ?

Special support packages/problems:  ?

-----------------------------------------------------------------

Model number:  WH-54-B

Printer name:  Diablo 630 API parallel

Printer type:  Printwheel

Interface type:  Parallel

Connector type:  nonstandard supplied cable

Connecting cable required:

Z89       NA
Z100      supplied
Z150      supplied

Printer dip switches:  ?

Special support packages/problems:  ?

-----------------------------------------------------------------

Model number:  WH-55

Printer name:  Diablo 620

Printer type:  Printwheel

Interface type:  Serial

300 baud, 8 data bits, no parity, 1 stop bit, DC1/DC3 protocol

Connector type:  nonstandard attached cable

Connecting cable required:

Z89       none
Z100      none
Z150      HCA-100-PC adapter

Printer dip switches:  ?

Special support packages/problems:

Parallel operation is available but not supported by Zenith.

-----------------------------------------------------------------

Model number:  WH-64 (Parallel)

Printer name:  TI-855 parallel

Printer type:  Dot-matrix, ?

Interface type:  Parallel

Connector type:  nonstandard

Connecting cable required:

Z89-11    NA
Z100      HCA-22
Z150      HCA-22

Printer dip switches:  ?

Special support packages/problems:  ?

-------------------------------------------------------------------

Model number:  WH-64 (Serial)

Printer name:  TI-855 serial

Printer type:  Dot-matrix, ?

Interface type:  Serial

Connector type:  nonstandard

Connecting cable required:

Z89-11    HCA-24
Z100      HCA-24
Z150      HCA-24 and HCA-100-PC adapter

Printer dip switches:  ?

Special support packages/problems:  ?

-------------------------------------------------------------------

Model number:  WH-84

Printer name:  Qume Sprint 11

Printer type:  Printwheel

Interface type:  Serial

4800 baud, 8 data bits, no parity, 1 stop bit, DTR positive

Connector type:  DB25 DCE(female) on an attached cable

Connecting cable required:

Z89       NA
Z100      NA
Z150      attached

Printer dip switches:  ?

Special support packages/problems:  ?

-------------------------------------------------------------------

Model number:  Z-25, H-25, Z-125, H-125

Printer name:  Z25

Printer type:  Dot-matrix, VT52 graphics characters

Interface type:  Serial

4800 baud, 8 data bits, no parity, 1 stop bit, RTS positive

Connector type:  DB25 DTE(male)

Connecting cable required:

Z89       HCA-11
Z100      HCA-11
Z150      HCA-52

Printer dip switches:

 76543210 76543210 76543210
 -------- -------- --------
|     XX |   X    |        |1
|XXXXX  X|XXX XXXX|XXXXXXXX|0
 -------- -------- --------

Special support packages/problems:  ?

-----------------------------------------------------------------
= MHB =
Z89/90 computer related information

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Explanation of differences 96tpi drives and 48tpi	04/06/82	1k
* - Download all menu categories					1k
= MHBA =
Explanation of differences 96tpi drives and 48tpi
-----
April 6, 1982

	Question:  I "CONFIGUR"ed my 96tpi drives for 48tpi and "DUP"ed my
distribution disks.  Why can't I read the copies in my 48tpi drive?

	Answer:  The "CONFIGUR" utility allows you to select either 96tpi or
48tpi because there are both types of drives available.  The option you
select must match the type of drive that you are using for proper operation.
48tpi disks created on a 48tpi drive can be properly read on a 96tpi drive.
Neither 96tpi disks nor 48tpi disks created on a 96tpi drive can be properly
read on a 48tpi drive.
= MHC =
Z100 computer related information

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Simulate Z89 OFF-LINE key on the Z100		01/10/84	3k
B - Z-100 software character font (ALTCHAR.SYS)		06/16/83	12k
C - Z100 winchester utilities use			02/14/84	2k
D - Z100 demonstration disk locks up after 20 minutes	01/05/84	1k
E - Compatibility between Z100 and IBM PC		12/30/83	15k
* - Download all menu categories					33k
= MHCA =
Simulate Z89 OFF-LINE key on the Z100
-----
January 10, 1984 #73

	Question: The H/Z-89 computer has the OFF-LINE key which, when
depressed, allows the user to enter certain escape code sequences from the
keyboard.  The Z100 computer, on the other hand, does not have the OFF-LINE
key nor an equivalent.	How can I enter escape codes on the Z100?

	Answer:  One possible way of doing this with ZDOS is to implement the
following program:

	PGMSEG	SEGMENT
		ASSUME	CS:PGMSEG
		ORG	100H
	START:	MOV	AH,1		; function #1 (keyboard input)
		INT	21H		; call ZDOS
		JMP	START		; typing CTRL-C will terminate
	PSMSEG	ENDS
		END	START

The above program can be entered into your computer using EDLIN.  Once this is
complete enter the following commands to produce an executable version of the
program:

A>MASM FNAME;
A>LINK FNAME;
A>EXE2BIN FNAME.EXE FNAME.COM

FNAME is the file's name, and MASM, LINK and EXE2BIN are programs which can be
found on the ZDOS distribution disk 1.	To run the program, type FNAME,
return, and then any escape code sequences you wish.  Type CTRL-C when you are
done.

If you are using CP/M-85, a similar approach can be taken.  Enter the
following program into your computer:

		ORG	100H
	START:	MVI	E,OFFH		;set up for
		MVI	C,6		;direct console input
		CALL	5		;call bdos
		ANA	A		;check for character
		JZ	START		;loop until character pressed
		CPI	3		;was CTRL-C pressed?
		RZ			;yes - return to OS
		MOV	E,A		;set up for
		MVI	C,6		;direct console output
		CALL	5		;call bdos
		JMP	START		;typing CTRL-C will terminate
		END	START

To produce an executable version of the program, enter the commands:

A>ASM FNAME
A>LOAD FNAME

FNAME is as described above, and ASM and LOAD can be found on the CP/M-85
distribution disk 1.

Both programs operate simply by echoing to the screen all characters entered
on the keyboard.  The programs are necessary because the operating systems
will alter some characters (the escape character, for example) before echoing
them.
= MHCB =
Z-100 software character font (ALTCHAR.SYS)
-----
June 16, 1983 #53

	Question:  What is in the ALTCHAR.SYS file?

	Answer:  The H/Z100 series of computer has a software definable
keyboard and character set.  There are default system tables set up to
configure the keyboard and character set when the system is turned on.  When
the system is booted this configuration can be changed.  The Z-DOS and CP/M-
85 operating systems use a binary data file called ALTCHAR.SYS which
specifies what changes are desired to the default system tables.
ALTCHAR.SYS is read only at boot time and allows changes to the keyboard
layout, the character set and the display characters.  These changes
remain in effect only until the computer is rebooted or powered down.  The
following information is found in part in Volume 2, Appendix N of the Z-DOS
operating system manual and also in Volume 1, Appendix C of the CP/M-85
operating system manual.

		Alternate character set operation

	With each operating system there are several predefined alternate
character sets.  Most of these are for foreign languages.  Only the file
named ALTCHAR.SYS will be actually used at boot time.  The other files which
are not being used usually have the extension '.CHR'.	The file
GRAPHICS.CHR is usually copied to ALTCHAR.SYS as the alternate character
file.	It is called 'GRAPHICS' because the H19 graphics characters are not
part of the default character set and are available only by software
definition.  This means that if you have no ALTCHAR.SYS file on the boot
disk there are not any graphics characters defined.

		Alternate character file format

	The format of the ALTCHAR.SYS files is identical in both CP/M-85 and
Z-DOS.	The format of an alternate character file consists of three parts:
the keyboard mapper, the font plotter and the display mapper.  Each of these
parts will be presented individually.

Keyboard mapper

	The keyboard mapper changes the default keyboard map to allow any
key to be changed to look like any other key on the keyboard.  The key codes
used in the keyboard mapper are found in the Z100 User's Manual, Appendix B,
page 10 under the heading, Chart Two:  Key Codes.  The columns labelled DOWN
CODE and UP CODE do not apply to this discussion.

	Layout

	The keyboard mapper consists of any number of two byte entries.  The
first byte is the key code that you wish to change and the second is the key
code that it should be changed to.  The keyboard mapper ends when the two
byte entry contains hexadecimal FFFF.  The GRAPHICS.CHR file does not make
any changes to the keyboard mapper so the first two bytes of the file are
hexadecimal FFFF.

	Example

	The following bytes would create a keyboard mapper that changes the
DELETE key to work exactly the same as the BACKSPACE key:  7F 08 FF FF.

Font plotter

	The font plotter allows a new shape for a character to be specified
in the default font table.  The font plotter and the display mapper
(described later) are based on a display index.  The display index for the
normal ASCII character is calculated by subtracting decimal 32 from the
decimal value of the character.  This was done so that the first displayable
character which is a space (decimal 32) would have an index of 0.  The
display index for the graphics characters is found by adding decimal 2 to
the decimal value of the equivalent ASCII character.  This gives the
graphics characters index values starting at 96 after the last of the
standard ASCII characters.  For example the space character would have a
display index of 0, the letter A would be 33 (021H), the graphics large dot
would be 96 (060H) and the graphics down arrow would be 109 (06DH).

	Layout

	The font plotter begins immediately after the keyboard mapper and
consists of groups of ten bytes describing the new characters.	The first
byte is the display index of the character that is being specified.  The
remaining 9 bytes describes how the character should be drawn.  Each byte
indicates which pixel should be set for the eight pixels of each of the nine
scan lines that make a character.  When the display index is 255 (0FFH) the
font plotter ends and the next byte begins the display mapper.

	Example

	This example will show how to derive a font description for the
letters 'Y', 'y' and the graphics character for the paragraph marker.  These
letters have the decimal ASCII value of 89, 121 and graphics equivalent of
126.  These translate to display index values of 57(029H), 89 (059H) and 128
(080H).

----------------------------
|	 |	  |	   |
|  *   * |	  |   **** |
|  *   * |	  |  ****  |
|   * *  |  *	* |  ****  |
|    *	 |  *	* |   ***  |
|    *	 |  *  ** |    **  |
|    *	 |   ** * |    **  |
|    *	 |	* |	   |
|	 |   ***  |	   |
----------------------------

	When the off pixels are encoded as a zero and the on pixels encoded as
a one this plot can be changed to ones and zeros as shown below.  Then the
following values can be calculated by performing a binary to hexadecimal
conversion:

----------    ----------    ----------
|00000000| 00 |00000000| 00 |00000000| 00
|00100010| 22 |00000000| 00 |00011110| 1E
|00100010| 22 |00000000| 00 |00111100| 3C
|00010100| 14 |00100010| 22 |00111100| 3C
|00001000| 08 |00100010| 22 |00011100| 1C
|00001000| 08 |00100110| 26 |00001100| 0C
|00001000| 08 |00011010| 1A |00001100| 0C
|00001000| 08 |00000010| 02 |00000000| 00
|00000000| 00 |00011100| 1C |00000000| 00
----------    ----------    ----------

	These values combined with the display index would create a font
plotter with the following values:  29 00 22 22 14 08 08 08 08 00 59 00 00 00
22 22 26 1A 02 1C 80 00 1E 3C 3C 1C 0C 0C 00 00 FF.

Display mapper

	The display mapper allows you to change the default display map which
controls which character from the font table gets plotted on the screen.   The
display mapper also uses the display index described under the font plotter.
Changes to the display mapper are normally only useful to provide mapping for
the graphics characters.  The default display map has the graphics characters
mapped back to their ASCII equivalent characters.  The GRAPHICS.CHR file has a
display mapper which maps all the graphics characters in a one to one
correspondence to themselves otherwise they would not print even if they were
defined in the font plotter.

	Layout

	The display mapper begins immediately after the font plotter.	The
layout of the display mapper is identical to  the keyboard mapper except that
the values used are for display index not key code.

	Example

	In order for the previously described graphics character (paragraph
marker) to be used we have to specify it in the display map as follows:  80 80
FF FF.

		Summary

	Useage of the standard alternate character files is accomplished by
copying the desired file over the file ALTCHAR.SYS and then rebooting the
computer.  Many of the foreign language keyboards are significantly different
and unless you are familiar with them they will be difficult to use for even
the simplest commands.	Please be careful!

Creating an alternate character file

	It is possible to design your own alternate character file for any
particular keyboard layout or character set that you desire.  Care must be
taken to design correctly for your intended useage or problems will result.

	Design layout

	First you must decide what changes you desire to the each of the three
sections of the alternate character file described above.  Write these out in
the proper format and enter them into a file.  Copy the file over ALTCHAR.SYS,
reboot the computer and your new alternate character file is implemented.

Example

	The entire contents of an alternate character file to do all the
things described above, combined into a complete file, would have the
following data in it:

7F 08 FF FF 29 00 22 22 14 08 08 08 08 00 59 00 00 00 22 22 26 1A 02 1C 80 00
1E 3C 3C 1C 0C 0C 00 00 FF 80 80 FF FF

	Since this is a binary data file it cannot be created with a standard
character editor.  One possible way to create it would be with DDT under
CP/M-85 or DEBUG under Z-DOS.

	The following instructions would create an alternate character file
using the information described above by using DEBUG under Z-DOS.  This
example shows exactly how the operation would appear except for added comments
which are enclosed in parenthesis.  Some of the values shown may be different
on your system but the user input face should always be entered exactly as
shown.

A:DEBUG

DEBUG version 1.08
>E100
09D3:0100 FF.7F FF.08 FF.FF FF.FF FF.29 FF.00 FF.22 FF.22
09D3:0108 FF.14 FF.08 FF.08 FF.08 FF.08 FF.00 FF.59 FF.00
09D3:0110 FF.00 FF.00 FF.22 FF.22 FF.26 FF.1A FF.02 FF.1C
09D3:0116 FF.80 FF.00 FF.1E FF.3C FF.3C FF.1C FF.0C FF.0C
09D3:0120 FF.00 FF.00 FF.FF FF.80 FF.80 FF.FF FF.FF
(All values entered as shown with one space entered between them and no
carriage return until after the last one is entered.)
>RCX
CX 0000
:27
(Enter the hexadecimal count of the number of bytes entered above which is
027H in this example.)
>Nsample.chr
(Enter the name of a file.)
:W
Writing 0027 bytes
:Q

A:

	The following instructions would create an alternate character file
using the information described above by using DDT under CP/M-85.  This
example shows exactly how the operation would appear except for added comments
which are enclosed in parenthesis.  Some of the values shown may be different
on your system but the user input should always be entered exactly as shown.

A>DDT
DDT VERS 2.2
-s100
0100 ?? 7F	(key code for delete)
0102 ?? 08	(change to key code for backspace)
0103 ?? FF	(end of the keyboard mapper)
0104 ?? FF	(end of the keyboard mapper)
0105 ?? 29	(display index for 'Y')
0106 ?? 00	(description of scan line 1 for 'Y')
0107 ?? 22	(description of scan line 2 for 'Y')
0108 ?? 22	(description of scan line 3 for 'Y')
0109 ?? 14	(description of scan line 4 for 'Y')
010A ?? 08	(description of scan line 5 for 'Y')
010B ?? 08	(description of scan line 6 for 'Y')
010C ?? 08	(description of scan line 7 for 'Y')
010D ?? 08	(description of scan line 8 for 'Y')
010E ?? 00	(description of scan line 9 for 'Y')
010F ?? 59	(display index for 'y')
0110 ?? 00	(description of scan line 1 for 'y')
0111 ?? 00	(description of scan line 2 for 'y')
0112 ?? 00	(description of scan line 3 for 'y')
0113 ?? 22	(description of scan line 4 for 'y')
0114 ?? 22	(description of scan line 5 for 'y')
0115 ?? 26	(description of scan line 6 for 'y')
0116 ?? 1A	(description of scan line 7 for 'y')
0117 ?? 02	(description of scan line 8 for 'y')
0118 ?? 1C	(description of scan line 9 for 'y')
0119 ?? 80	(display index for paragraph mark)
011A ?? 00	(description of scan line 1)
011B ?? 1E	(description of scan line 2)
011C ?? 3C	(description of scan line 3)
011D ?? 3C	(description of scan line 4)
011E ?? 1C	(description of scan line 5)
011F ?? 0C	(description of scan line 6)
0120 ?? 0C	(description of scan line 7)
0121 ?? 00	(description of scan line 8)
0122 ?? 00	(description of scan line 9)
0123 ?? FF	(end of font plotter)
0124 ?? 80	(display index for paragraph mark)
0125 ?? 80	(display index for paragraph mark)
0126 ?? FF	(end of display mapper)
0127 ?? FF	(end of display mapper)
0128 ?? .
(All values entered as shown with carriage return between them and period,
carriage return when they are all entered.)
-G0

A>SAVE	1  sample.chr
(Where the '1' is the decimal number of 256 byte pages to save in the file.)

	For a more complete understanding and description of the above DEBUG,
DDT and SAVE procedures refer to the individual descriptions in your operating
system manuals.
= MHCC =
Z100 winchester utilities use
-----
February 14, 1984 #48

	Question:  Could you please explain the proper use of the SHIP utility
found on the Z-100 winchester utilities disk?

	Answer:  The SHIP utility is designed to move the head on the
winchester disk to a location where physical contact between the head and
recorded information is not likely when the head rests on the surface of the
disk.  Using the SHIP utility is imperative if the unit is going to be moved
or receive any physical shock.	It would also be helpful to use the SHIP
utility every time the system is powered down though this is not imperative.

	The correct address must be given when SHIP prompts (14F for the
Miniscribe mod II 2012 normally found in the Z-100).  If only the RETURN is
pressed that is the same as specifying address 0 which is the most sensitive
track of all and the worst possible place to leave the heads.

	Contrary to what it says in the manuals the SHIP utility can be copied
onto a Z-DOS partition as long as you realize that after this utility is run
the only way to use the system is to reboot the computer.  A batch file called
END.BAT could be created to remind you of the shipping address as follows:

rem the shipping address is 14f.
rem do not just press return when the address is requested.
ship

	None of the other programs from the winchester utilities disk should
be copied onto the winchester since accidental misuse of these programs can
cause serious harm to data on the winchester.  In particular be careful not to
copy the system from the utilities disk.  This is not a standard Z-DOS system
and will not perform even simple things like a COPY command.
= MHCD =
Z100 demonstration disk locks up after 20 minutes
-----
January 5, 1984 #49

	Question:  I made a copy of my Z-100 demonstration disk, but after I
use it for about 20 minutes the computer locks up and I have to reboot.

	Answer:  When you made the copy you may not have formatted a blank
disk.  The Format Utility in ZDOS puts the system tracks on the disk using
your Z-DOS system software.  It should also be noted that the version of Z-
BASIC on the Z-100 Demo disk is not compatible with the current version of Z-
DOS on the Z-DOS distribution disk.  This is the cause of the lockup.
= MHCE =
Compatibility between Z100 and IBM PC
-----
December 30, 1983 #50

COMPATIBILITY OF ZENITH'S Z-100 WITH THE IBM PERSONAL COMPUTER.

I. General Information Regarding Z-100 vs. IBM-PC Compatibility

8088 CPU Compatibility

The Z-100 and the IBM-PC systems offer a high degree of compatability.	They
are both based on the Intel 8088 microprocessor and both use the same
operating system (MS-DOS) from Microsoft.  The ZDS/Heath version is called Z-
DOS and is version 1.25, while the PC version is called PC-DOS and is version
1.10.

Internal Speed Compatability

Both the Z-100 and the IBM-PC operate at an internal clock rate of 5 mHZ.

Disk Format Compatability

The Z-100 can read any disk generated on the current IBM-PC.  The IBM-PC
currently supports single- and double-sided, double-density, 48 tpi disk
drives as standard.  Although any diskette written on the IBM-PC can be read
on the Z-100, it does not necessarily follow that programs written for the
IBM-PC will always operate without modification on the Z-100.
	The fact that IBM-PC disk formats are compatible does permit software
developers (who have access to program source code) to transfer their programs
to the Z-100 for development.  Parts III and IV of this newsletter expand on
guidelines to be followed by software developers when transporting programs
from the IBM-PC to the Z-100.
	Because of the compatability of disk formats, all data files can be
readily transferred from the IBM-PC to the Z-100.  Additionally, Zenith
provides a utility, under Z-DOS, to read CP/M formatted disks and convert the
files on those disks to the new Z-DOS format.  The utility, RDCPM (read CP/M)
can ready any of the 5.25 inch soft-sectored disk formats generated under the
ZDS/HEATH CP/M 2.2 product as well as the standard single-sided, single-
density 8 inch format.	This added utility is especially important for any
users who want to transfer Wordstar documents or Condor data base files,
generated under CP/M 2.2, for use under Z-DOS.

BZ-100 Keyboard vs. the IBM-PC Keyboard

The Z-100 and the IBM-PC keyboards differ significantly in actual key layout,
key labeling, special function keys offered, and in the codes transmitted to
the machine when the keys are pressed.	The following manuals should be
referenced by software developers to identify the specific differences
concerning keyboard functionality:

		ZDS/HEATH
		Z-DOS Volume II, Appendix 0
		Z-100 Users Manual, Appendix B

		IBM
		Personal Computer Technical
		Reference, Appendix C

Z-BASIC does not support the ALT<key> combination which allows single-key
entry of certain IBM-PC BASICA keywords, beyond the use of soft keys listed
below.

II. IBM Software Products That Run On The Z-100

As of this date, two IBM software products have been identified as running
without change on the Z-100.  They are:

		Pascal (60224010)
		Macro Assembler (6024002)(on a 192K Z-100)

Additional testing is underway to determine if any other IBM-PC software
rrMf1atsH! name.  The COBOL
file system ignores the case of the letters of the file name and always uses
the CP/M standard uppercase.

	 IDENTIFICATION DIVISION.
		PROGRAM-ID.  FILETEST.
	 ENVIRONMENT DIVISION.
	 DATA DIVISION.
	 WORKING-STORAGE SECTION.
	 01	FILE-NAME	PIC X(20).
	 01	FILE-STATUS	PIC XX.
	 PROCEDURE DIVISION.
	 MAINLINE SECTION.
	 MAINLINE-START.
		DISPLAY 'Input the file name to test.'.
		ACCEPT FILE-NAME.
		CALL 'FILENQ' USING FILE-STATUS FILE-NAME.
		IF FILE-STATUS = '00'
			DISPLAY 'FILE EXISTS'
		ELSE IF FILE-STATUS = '30'
			DISPLAY 'FILE DOES NOT EXIST'
		ELSE
			DISPLAY 'FILE-STATUS' FILE-STATUS.
	 MAINLINE-STOP.
		EXIT PROGRAM.
= MGFBB =
How to use the DEBUG procedure
-----
February 14, 1984 #33

	Question:  Could you please explain the proper use of the DEBUG
procedure available on the COBOL-80 update (version 4.6)?

	Answer:  The DEBUG procedure is used by linking in the DEBUG.REL
file into the COBOL program.  When this is done and the program is run it
begins in DEBUG mode.  Nothing else is changed in the program or the
compile.  The L80 command would be as follows:

L80 PROG,DEBUG,PROG/N/E

instead of the usual:

L80 PROG,PROG/N/E

where PROG is the name of the program.
= MGFBC =
Run-time error reading files not created by COBOL
-----
December 29, 1983 #32

	Question:  How do I solve the problem flagged as a run-time error
when reading a COBOL sequential file created by a text editor or word
processor?

	Answer:  There are two ways to solve this problem:

a. Use the "organization is line-sequential" clause in the select statement.
b. Use the SEQCVT program to convert your files from line-sequential to
sequential format.
= MGFBD =
Using escape codes from COBOL
-----
June 8, 1983 #26

	Question:  How can I output terminal control codes from COBOL?

	Answer:  The following program gives a simple demonstration of the
use of terminal control codes.

	 IDENTIFICATION DIVISION.
		PROGRAM-ID.  CHRTST.
	 ENVIRONMENT DIVISION.
	 DATA DIVISION.
	 WORKING-STORAGE SECTION.
	 01	ASC-ESC PIC 99 COMP VALUE 27.
	 01	FILLER REDEFINES ASC-ESC.
		02	FILLER PIC X.
		02	CHR-ESC PIC X.
	 01	CHR-F.
		02	CHR-ESCF PIC X.
		02	FILLER PIC X VALUE 'F'.
	 01	CHR-G.
		02	CHR-ESCG PIC X.
		02	FILLER PIC X VALUE 'G'.
	 PROCEDURE DIVISION.
	 MAINLINE SECTION.
	 MAINLINE-START.
		DISPLAY 'graphics characters'.
		MOVE CHR-ESC TO CHR-ESCF.
		MOVE CHR-ESC TO CHR-ESCG.
		DISPLAY CHR-F.
		DISPLAY 'fac'.
		DISPLAY "`b`".
		DISPLAY 'ead'.
		DISPLAY CHR-G.
		DISPLAY 'normal characters'.
	 MAINLINE-STOP.
		STOP RUN.
= MGFBE =
Example of printer output from COBOL
-----
January 13, 1983 #20

	Question:  Could you give a complete example of how to send
information to the printer from a COBOL program?

	Answer:  The following two examples show all the basic structure
required to send information to the printer using two different methods.  It
also demonstrates reading a CP/M format file.

        IDENTIFICATION DIVISION.
   	      PROGRAM-ID.  READ1.
       * This program will read any ASCII CP/M format file and
       * display it on the LST: device using the DISPLAY verb
        ENVIRONMENT DIVISION.
        CONFIGURATION SECTION.
        SPECIAL-NAMES.
   	      PRINTER IS LST-DEVICE.
        INPUT-OUTPUT SECTION.
        FILE-CONTROL.
   	      SELECT IN-FILE ASSIGN TO DISK
   		      STATUS FILE-FLAG
   		      ACCESS SEQUENTIAL
   		      ORGANIZATION LINE SEQUENTIAL.
        DATA DIVISION.
        FILE SECTION.
        FD       IN-FILE
   		      VALUE OF FILE-ID FILE-NAME
   		      LABEL RECORD STANDARD.
        01       FILE-REC.
   	      02      FILLER	      PIC X(80).
        WORKING-STORAGE SECTION.
        01       FILE-FLAG       PIC XX.
        01       FILE-NAME       PIC X(20).
        PROCEDURE DIVISION.
        START-STOP SECTION.
        START-RUN.
   	      ACCEPT FILE-NAME.
   	      OPEN INPUT IN-FILE.
   	      PERFORM READ-FILE
   		      UNTIL FILE-FLAG = "10".
   	      CLOSE IN-FILE.
        STOP-RUN.
   	      STOP RUN.
        READ-FILE SECTION.
        READ-FILE-START.
   	      READ IN-FILE.
   	      IF FILE-FLAG = "00"
   		      DISPLAY FILE-REC UPON LST-DEVICE.
        READ-FILE-STOP.
   	      EXIT.


	IDENTIFICATION DIVISION.
		PROGRAM-ID.  READ2.
	* This program will read any ASCII CP/M format file and
	* display it on the LST: device using the WRITE verb
	ENVIRONMENT DIVISION.
	INPUT-OUTPUT SECTION.
	FILE-CONTROL.
		SELECT IN-FILE ASSIGN TO DISK
			STATUS FILE-FLAG
			ACCESS SEQUENTIAL
			ORGANIZATION LINE SEQUENTIAL.
		SELECT PRINT-FILE ASSIGN TO PRINTER.
	DATA DIVISION.
	FILE SECTION.
	FD      IN-FILE
		VALUE OF FILE-ID FILE-NAME
		LABEL RECORD STANDARD.
	01      FILE-REC.
	02      FILLER	      PIC X(80).
	FD      PRINT-FILE
		LABEL RECORD OMITTED.
	01      PRINT-REC.
	02      FILLER	      PIC X(80).
	WORKING-STORAGE SECTION.
	01       FILE-FLAG       PIC XX.
	01       FILE-NAME       PIC X(20).
	PROCEDURE DIVISION.
	START-STOP SECTION.
	START-RUN.
		ACCEPT FILE-NAME.
		OPEN INPUT IN-FILE.
		OPEN OUTPUT PRINT-FILE.
		PERFORM READ-FILE
			UNTIL FILE-FLAG = "10".
		CLOSE IN-FILE.
		CLOSE PRINT-FILE.
	STOP-RUN.
		STOP RUN.
	READ-FILE SECTION.
	READ-FILE-START.
		READ IN-FILE.
		IF FILE-FLAG = "00"
			WRITE PRINT-REC FROM FILE-REC.
	READ-FILE-STOP.
		EXIT.
= MGFBF =
Example of program CHAINing
-----
December 23, 1982 #19

	Question:  Could you give a complete example of how to CHAIN from
one COBOL program to another while passing arguments?

	Answer:  The following simple example shows all the basic structure
required to chain a COBOL program while passing arguments.

	 IDENTIFICATION DIVISION.
		PROGRAM-ID.  CHAIN1.
	 ENVIRONMENT DIVISION.
	 DATA DIVISION.
	 WORKING-STORAGE SECTION.
	 01	CHAIN-ARG	PIC XXXXXX VALUE 'chain1'.
	 PROCEDURE DIVISION.
	 MAINLINE SECTION.
	 START-RUN.
		DISPLAY 'chain1 start'.
		CHAIN 'CHAIN2.COM ' USING CHAIN-ARG.
		DISPLAY 'program does not return'
		STOP RUN.

	 IDENTIFICATION DIVISION.
		PROGRAM-ID.  CHAIN2.
	 ENVIRONMENT DIVISION.
	 DATA DIVISION.
	  WORKING-STORAGE SECTION.
	 01	CHAIN-ARG	PIC XXXXXX.
	 PROCEDURE DIVISION CHAINING CHAIN-ARG.
	 MAINLINE SECTION.
	 START-RUN.
		DISPLAY 'chain2 start'.
		DISPLAY CHAIN-ARG.
		DISPLAY 'chain2 stop'.
		STOP RUN.
= MGFC =
HMS-8?7-31 HDOS COBOL-80
-----
December 29, 1983 #30

	Question:  When using my new HDOS COBOL Compiler, the screen output
does not appear to be working correctly.  I use direct cursor  addressing a
great deal and my data is not going where I expect on the screen.

	Answer:  Because HDOS uses device driver I/O, you must use the SET
program to adjust the terminal width to 255.  The command line to do this
is:  "SET TT:WIDTH 255".  Some other options for this command can be found
in Table E of Chapter II, HDOS System General Operations Manual.
= MGG =
PASCAL languages

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - MS-463-5 Z-100 PASCAL-86				12/14/84	3k
B - DR-253-5 PASCAL MT+					12/17/83	1k
* - Download all the menu categories					4k
= MGGA =
MS-463-5 Z-100 PASCAL-86
-----
February 14, 1984 #75

	Question:  How does one perform direct console I/O using PASCAL-86?

	Answer:  The PASCAL-86 equivalent of direct console i/o is the
terminal mode file.  The following sample program demonstrates the terminal
mode file.  It clears the screen and echoes all characters typed until CTRL
Z is entered:

PROGRAM termio;
CONST
	esc=CHR(27);
	ctlz=CHR(26);
	nul=chr(0);
VAR
	conin : FILE OF CHAR;
	conout: FILE OF CHAR;
BEGIN {PROGRAM termio}
	ASSIGN(conin,'CON');
	RESET(conin);
	ASSIGN(conout,'CON');
	REWRITE(conout);
	WRITE(conout,esc,'E');
	WHILE(conin^<>ctlz) DO
		BEGIN
		IF(conin^<>nul) THEN
			BEGIN
			conout^ := conin^;
			PUT(conout);
			END;
		GET(conin);
		END;
END. {PROGRAM termio}
= MGGB =
DR-253-5 PASCAL MT+
-----
December 17, 1983 #27

	Question:  When using PASCAL/MT+ I sometimes get 'undefined
symbol(s)' when linking my program.

	Answer:  In all probability, your program references a function not
found in PASLIB.ERL... See page 2-15 of the Programmer's Guide for a list of
functions and their corresponding .ERL files that must be present on the
disk and must be included in the link command line.

For instance, if you were to link the sample RANDOM I/O program on page 7-14
without including the module RANDOMIO.ERL, two undefined symbols, SEEKWRITE
and SEEKREAD would be flagged.	Therefore, the proper syntax would be:

LINKMT MYPRO,RANDOMINO,PASLIB/S
= MGH =
Assembly languages

	Select an entry from the list for more information on:

----- Topic -----					Last Updated	Size

A - Z-DOS MASM86					01/10/84	3k
B - HDOS ASM						12/29/84	1k
C - MS-DOS version 2 Programmers Utility Pack		01/18/85	4k
* - Download all the menu categories					8k
= MGHA =
Z-DOS MASM86
-----
January 10, 1984 #72

	Question:  Given an X, Y coordinate, how can I access a single pixel
on the Z-100 video screen within an assembly language program?

	Answer:  The first thing that must be done is to enable access to
video memory.  This is done by reading port OD8H, ANDing the value read with
O7FH and then writing the result back to port OD8H.

	The next step is to form the address of the byte containing the
desired pixel from the X,Y coordinate.	The video display is organized as
640 pixels or 80 bytes horizontally, by 225 pixels vertically.	The 225
vertical lines are organized into 25 rows of 9 scan lines each.  Assuming
that the X ordinate is in the range 0 to 639 and the Y ordinate 0 to 224,
the 16 bit address can be formed by first dividing the X ordinate by 8,
saving the remainder and storing the result in bit positions 0 through 6 of
the address.  Next, the Y ordinate should be divided by 9, the remainder
placed in bit positions 7 through 10, and the result in positions 11 through
15 of the address.  This resulting address will point to the byte within a
particular color plane containing the pixel.  The remainder from the X
divide by 8 operations performed above can be used to obtain the bit
position of the pixel within that byte.  The color planes are 64K each, with
green being at segment EOOOH, red at DOOOH and blue at COOOH.  The diagram
below shows the different fields and their positions within the address.

15	11	10	7	6	0

Row		Line	      	Column
0 - 24		0 - 8	       	0 - 79

	The code fragment given below will accomplish the task of "turning
on" a pixel in the color plane pointed to by register ES.  The X ordinate of
the pixel is passed in register BX, and the Y-ordinate in register AX.

	MOV	DL,0111B
	AND	DL,BL		;DL = Remainder of X/8
	MOV	CL,3
	SHR	BX,CL		;BX = X/8
	MOV	DI,BX		;Save result (bits 0-6)
	MOV	BL,9
	DIV	BL		;Divide Y by 9
	XCHG	AL,AH		;AH=result, AL=remainder
	MOV	BX,AX
	AND	BX,OFH		;Isolate line number
	MOV	CL,7
	SHL	BX,CL		;Move it into position
	AND	AX,1FOOH	;Isolate row number
	MOV	CL,3
	SHL	AX,CL		;Move it into position
	OR	R
