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