more information.
+
<sect>Binary format<p>
The standard binary output format generated by the linker for the
</itemize>
-
<sect1>Hardware access<p>
There's currently no support for direct hardware access. This does not mean
<sect>Loadable drivers<p>
-<em>Note:</em> Since the Apple ][ doesn't have working disk I/O
-(see <ref id="limitations" name="section "Limitations"">), the
-available drivers cannot be loaded at runtime (so the term "loadable drivers"
-is somewhat misleading). Instead, the drivers have to be converted using the
-<htmlurl url="co65.html" name="co65 utility"> and statically linked. While
-this may seem overhead, it has two advantages:
-
-<enum>
-<item>The interface is identical to the one used for other platforms
- and to the one for the Apple ][ once it has disk I/O.
-<item>Once disk I/O is available, existing code can be changed to load drivers
- at runtime with almost no effort.
-</enum>
-
-
<sect1>Graphics drivers<p>
-<em>Note:</em> Since memory for the high resolution graphics has to be allocated,
-programs using graphics drivers will have to be linked using a special linker
-configuration. See the <tt/apple2-tgi.cfg/ file in the documentation
-directory, and the <htmlurl url="ld65.html" name="linker documentation"> on
-how to use it.
-
<descrip>
<tag><tt/a2.lo.tgi/</tag>
This driver was written by Stefan Haubenthal. It features a resolution of
- 40×40 with 16 colors. At the bottom of the screen, 4 additional text lines
- are available.
+ 40×40 with 16 colors. At the bottom of the screen, 4 additional text
+ lines are available.
<tag><tt/a2.hi.tgi/</tag>
This driver was written by Stefan Haubenthal. It features a resolution of
- 280×192 with 6 colors.
+ 280×192 with 6 colors. Note that programs using this driver will have
+ to be linked with <tt/--start-addr $4000/ to reserve the first hires page.
</descrip><p>
<tag><tt/a2.lc.emd/</tag>
Gives access to 12KB RAM (48 pages of 256 bytes each) on the
Apple ][ language card. The driver was contributed by
- Stefan Haubenthal. Note: This driver is incompatible with any DOS using
+ Stefan Haubenthal. Note that this driver is incompatible with any DOS using
the language card memory!
</descrip><p>
-
<sect1>Joystick drivers<p>
<descrip>
</descrip><p>
-
<sect1>Mouse drivers<p>
Currently no drivers available (in fact, the API for loadable mouse drivers
<sect1>RS232 device drivers<p>
-No serial drivers are currently available for the Apple ][.
-
+<descrip>
+ <tag><tt/a2.ssc.ser/</tag>
+ Driver for the Apple ][ Super Serial Card. Supports up to
+ 19200 baud, hardware flow control (RTS/CTS) and interrupt driven receives.
+ Note that because of the peculiarities of the 6551 chip transmits are not
+ interrupt driven, and the transceiver blocks if the receiver asserts flow
+ control because of a full buffer.
-<sect>Limitations<label id="limitations"><p>
+</descrip><p>
-<sect1>Disk I/O<p>
-The existing library for the Apple ][ doesn't implement C file
-I/O. There are two hacks for the <tt/read()/ and <tt/write()/ routines in
-place, which will make functions work that read from or write to <tt/stdout/
-(like <tt/printf()/). However, these functions have some shortcomings which
-won't be fixed, because they're going to be replaced anyway.
-To be more concrete, this limitation means that you cannot use any of the
-following functions (and a few others):
+<sect>Limitations<p>
-<itemize>
-<item>fclose
-<item>fopen
-<item>fread
-<item>fprintf
-<item>fputc
-<item>fscanf
-<item>fwrite
-<item>...
-</itemize>
<sect>Other hints<p>
+
<sect1>Passing arguments to the program<p>
Command line arguments can be passed to <tt/main()/ after BLOAD. Since this is not
These are defined to be OpenApple + number key.
+<sect1>Interrupts<p>
+
+The runtime for the Apple ][ uses routines marked as <tt/.CONDES/
+type 2 for ProDOS interrupt handlers. Such routines must be written as simple
+machine language subroutines and will be called automatically by the interrupt
+handler code when they are linked into a program. See the discussion of the
+<tt/.CONDES/ feature in the <htmlurl url="ca65.html" name="assembler manual">.
+
+
<sect>Bugs/Feedback<p>
</enum>
</article>
-
-
-