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 <> 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. <><> <><>< <><><><> <><> <><> = 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. = Return Key. A:DEBUG WS.COM Enter DEBUG WS.COM DEBUG VERSION X.XX >E765 Enter E765 XXXX:0765 00.01 Enter 01 to right of decimal point >W Enter W Writing XXXX bytes >Q 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 SORT.COM (press RETURN) Where 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)* (no strip of parity on input.) 6)* (no strip of parity on output.) 7)* (no map of lower case on input.) 8)* (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)* (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 -A0D27 nnnn+8:0D27 OR AL,20 nnnn+8:0D29 -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): DESTINATION DRIVE NAME (OR RETURN TO REBOOT): B DESTINATION ON B, THEN TYPE RETURN FUNCTION COMPLETE DESTINATION DRIVE NAME (OR RETURN TO REBOOT): 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 . MOVCPM37 will terminate and you should type SYSGEN. When asked for source, respond with when asked for destination type D . 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)? :" 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 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:*.*. 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 (128128. = 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 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 3. Enter the debug program by typing: A>debug cpsprn 4. At the debug prompt, type: >d 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) XXXX:(address) (old data).(new data) 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 8. At the debug prompt, type: >q 9. At the System DOS prompt, type: A>rename cpsprn cpsprn.exe 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 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