]> git.sur5r.net Git - cc65/commitdiff
Updated docs from Oliver Schmidt
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 17 Nov 2005 18:21:10 +0000 (18:21 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 17 Nov 2005 18:21:10 +0000 (18:21 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3649 b7a2c559-68d2-44c3-8de9-860c34a00d81

doc/apple2.sgml

index e74408609dc319ba6327090630b2ab7ad46f9c05..4ed4d0b6aaa9a4c93ea5c9ee72a64d11b7da7660 100644 (file)
@@ -30,6 +30,7 @@ be available on more than one platform. Please see the function reference for
 more information.
 
 
+
 <sect>Binary format<p>
 
 The standard binary output format generated by the linker for the
@@ -96,7 +97,6 @@ usage.
 </itemize>
 
 
-
 <sect1>Hardware access<p>
 
 There's currently no support for direct hardware access. This does not mean
@@ -106,40 +106,20 @@ you cannot do it, it just means that there's no help.
 
 <sect>Loadable drivers<p>
 
-<em>Note:</em> Since the Apple&nbsp;&rsqb;&lsqb; doesn't have working disk I/O
-(see <ref id="limitations" name="section &quot;Limitations&quot;">), 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&nbsp;&rsqb;&lsqb; 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&times;40 with 16 colors. At the bottom of the screen, 4 additional text lines
-  are available.
+  40&times;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&times;192 with 6 colors.
+  280&times;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>
 
@@ -151,13 +131,12 @@ how to use it.
   <tag><tt/a2.lc.emd/</tag>
   Gives access to 12KB RAM (48 pages of 256 bytes each) on the
   Apple&nbsp;&rsqb;&lsqb; 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>
@@ -169,7 +148,6 @@ how to use it.
 </descrip><p>
 
 
-
 <sect1>Mouse drivers<p>
 
 Currently no drivers available (in fact, the API for loadable mouse drivers
@@ -178,37 +156,26 @@ does not exist).
 
 <sect1>RS232 device drivers<p>
 
-No serial drivers are currently available for the Apple&nbsp;&rsqb;&lsqb;.
-
+<descrip>
 
+  <tag><tt/a2.ssc.ser/</tag>
+  Driver for the Apple&nbsp;&rsqb;&lsqb; 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&nbsp;&rsqb;&lsqb; 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
@@ -234,6 +201,15 @@ supported by BASIC, the following syntax was chosen:
 These are defined to be OpenApple + number key.
 
 
+<sect1>Interrupts<p>
+
+The runtime for the Apple&nbsp;&rsqb;&lsqb; 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>
 
@@ -266,6 +242,3 @@ freely, subject to the following restrictions:
 </enum>
 
 </article>
-
-
-