textfiles/apple/quick.draw.3

200 lines
5.0 KiB
Groff
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

,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.