200 lines
5.0 KiB
Groff
200 lines
5.0 KiB
Groff
|
,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.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|