💾 Archived View for gemini.spam.works › mirrors › textfiles › apple › quick.draw.3 captured on 2020-10-31 at 20:26:10.
-=-=-=-=-=-=-
,m3 0 ____________ / / / Section 9 / /___________/ --------------- OTHER COMMANDS: --------------- From the XTRAS menu, there are three additional commands: RAM The number of bytes of memory left is displayed. NEW Clears memory so that you can begin with a clean slate. BOOT The computer will be rebooted from the drive that Quick-Draw Adventure Mapper was loaded from. _____________ / / / Appendix I / /____________/ ------------------------------- SPECIFYING INTERFACE CARD DATA: ------------------------------- If you have a printer interface card that is not currently supported, you have three options: [01] Buy a supported card. (Not a popular choice). [02] Write your own interface driver. (Explained in the next section). [03] Specify certain parameters about your interface. (Explained below). During configuration, select the "USER-SPECIFIED" option for your interface and answer affirmatively when asked if you want to specify your interface parameters. You need to know the following information which should be in the manual for your interface card: Data Address This is the address at which each byte must be stored in order to transmit it to the printer. Busy Address This is the address that contains the printer busy status. Busy Bit This is the bit number in the busy address that must be tested to determine if the printer is busy. The low order bit is 0 and and the high order bit is 7. Set/Reset Set means that if the bit is on, the printer is busy. Reset means that if the bit is off, the printer is busy. Strobe On Address This is an address that must be toggled after the data byte has been stored in order to transfer the data. It is not required on most interfaces. Strobe Off Address This address is required on some interfaces and must be toggled after the strobe on address. Addresses can be entered as decimal (default) or hexadecimal (preceded with a "$") values. You can enter absolute addresses set for a specific slot or make them adjust to the slot number (s) entered during configuration. After specifying each address, you will have to select one of five address modifications: - None - Slot *16 - Slot *256 - 2nd Slot *16 - 2nd Slot *256 ---------------------------- WRITING AN INTERFACE DRIVER: ---------------------------- If you can program in 6502 assembly language, you can write your own interface driver. The rules are very simple: 1. Your routine must begin at $4300 and be no longer than $0100 (256) bytes. 2. The printer drivers JSR to $4300 with the character to be output in the accumulator. 3. Name your routine "USER-WRITTEN.IF" and select "USER-WRITTEN" from the interface menu during configuration. 4. The printer slot # is stored at $CE. The 2nd slot value is stored at $CF. 5. You can use the page zero locations between $90 and $9F. ------------------------- WRITING A PRINTER DRIVER: ------------------------- Writing a printer driver is considerably harder. The following requirements should be met: 1. The driver must begin at $4000 and be no more than $300 (768) bytes long. 2. To be general purpose, it should call an interface driver at $4300 to output each character. 3. Mapper calls 5 different subroutines: > JSR $4000 to perform a normal form feed operation on the printer. > JSR $4003 to output a normal text line. The data begins at $2C00. Output 80 bytes maximum or until a carriage return ($D) is found. > JSR $4006 to enter graphics mode. You can do whatever is required to init alize the printer. All subsequent calls will be to output graphic lines until a leave graphics mode call is made. The line spacing must be 7 "dots" high. > JSR $4009 to send a line of graphics data. The data is at $2A00 and consists of 480 bytes with each byte containing a column that is 7 "dots" high and one "dot" wide. The high order bit is always off, the 2nd highest is the top bit in the column, the low order bit is the bottom. > JSR $400C to leave graphics mode. You should do all of the "clean-up" that is required. 1. You can use the space between $2000 and $27BF while in graphics mode. The contents will be indeterminate when graphics mode is entered and will be destroyed after graphics mode is exited. In between, it will be stable and survive between graphic line calls. 2. Name your routine "USER-WRITTEN.PR" and select "USER-WRITTEN" from the printer selection menu during configuration. 3. You can use the page zero locations between $80 and $8F. 4. The graphics density value is stored at location $4B. A zero indicates single density, while a one means double density.