💾 Archived View for gemini.spam.works › mirrors › textfiles › apple › quick.draw.3 captured on 2020-10-31 at 20:26:10.

View Raw

More Information

-=-=-=-=-=-=-

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