[net.micro.apple] 80-column cards

dudek@utai.UUCP (Gregory Dudek) (06/26/85)

....
    A plea for assistance...   I've been working on a program
for the Apple II that uses the 80-column card, and am having
a bad time trying to get it going on the IIe.  The
program does cursor addressing by sending characters to the card
via the "Pascal entry" at location $c9aa.  This works fine on
(most cards) on the II+.  On the IIe, however, all sorts of
extra weird characters are produced and the addressing is not always
accurate.
    I've tried poring over the IIe 80-column card ROM listings to no avail.
    Can anybody help me?  I init the card (in slot 3) by jumping
to $c300.
    *ANY* help would be much appreciated.  Please don't hold off
responding because you think someone else will -- I don't count
on a big response.
    Is there a standard initialization entry point other than $c300
for use by pascal?
   Thanks, Greg Dudek
   UUCP {ihnp4 utzoo decwrl uw-beaver}!utcsri![utai!]dudek
   CSNet dudek@toronto
   ARPA  dudek%toronto@csnet-relay

ags@pucc-h (Dave Seaman) (06/29/85)

In article <583@utai.UUCP> dudek@utai.UUCP (Gregory Dudek) writes:
>....
>    A plea for assistance...   I've been working on a program
>for the Apple II that uses the 80-column card, and am having
>a bad time trying to get it going on the IIe.  The
>program does cursor addressing by sending characters to the card
>via the "Pascal entry" at location $c9aa.  This works fine on
>(most cards) on the II+.  On the IIe, however, all sorts of
>extra weird characters are produced and the addressing is not always
>accurate.
>    Can anybody help me?  I init the card (in slot 3) by jumping
>to $c300.

The Pascal initialization entry is $C3xx, where xx is the value stored
at $C30D.  On an enhanced //e the value is $4A, meaning that the initialization
entry JPINIT is located at $C34A.  If you are using a different Apple II-series
machine (such as an unenhanced //e), or if you use a non-Apple 80-column card,
you will need to find the correct value for your machine.

Note that the $C300 entry does BASIC initialization, and BASIC does not 
recognize cursor addressing.

For completeness, the other Pascal entry points are described as follows in
Apple's ROM listings (enhanced //e version):

* Pascal 1.1 Firmware Protocol table:
*
* This table identifies this as an Apple //e 80 column
* card.  It points to the four routines available to
* programs doing I/O using the Pascal 1.1 Firmware Protocol.
*

C30B:01		DFB	$01		;GENERIC SIGNATURE BYTE
C30C:88		DFB	$88		;DEVICE SIGNATURE BYTE
C30D:4A		DFB	#>JPINIT	;PASCAL INIT
C30E:50		DFB	#>JPREAD	;PASCAL READ
C30F:56		DFB	#>JPWRITE	;PASCAL WRITE
C310:5C		DFB	#>JPSTAT	;PASCAL STATUS
-- 
Dave Seaman			 ..!pur-ee!pucc-h:ags