Updated docs from Oliver Schmidt
git-svn-id: svn://svn.cc65.org/cc65/trunk@3649 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -30,6 +30,7 @@ be available on more than one platform. Please see the function reference for
|
|||||||
more information.
|
more information.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<sect>Binary format<p>
|
<sect>Binary format<p>
|
||||||
|
|
||||||
The standard binary output format generated by the linker for the
|
The standard binary output format generated by the linker for the
|
||||||
@@ -96,7 +97,6 @@ usage.
|
|||||||
</itemize>
|
</itemize>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<sect1>Hardware access<p>
|
<sect1>Hardware access<p>
|
||||||
|
|
||||||
There's currently no support for direct hardware access. This does not mean
|
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>
|
<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>
|
<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>
|
<descrip>
|
||||||
|
|
||||||
<tag><tt/a2.lo.tgi/</tag>
|
<tag><tt/a2.lo.tgi/</tag>
|
||||||
This driver was written by Stefan Haubenthal. It features a resolution of
|
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
|
40×40 with 16 colors. At the bottom of the screen, 4 additional text
|
||||||
are available.
|
lines are available.
|
||||||
|
|
||||||
<tag><tt/a2.hi.tgi/</tag>
|
<tag><tt/a2.hi.tgi/</tag>
|
||||||
This driver was written by Stefan Haubenthal. It features a resolution of
|
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>
|
</descrip><p>
|
||||||
|
|
||||||
@@ -151,13 +131,12 @@ how to use it.
|
|||||||
<tag><tt/a2.lc.emd/</tag>
|
<tag><tt/a2.lc.emd/</tag>
|
||||||
Gives access to 12KB RAM (48 pages of 256 bytes each) on the
|
Gives access to 12KB RAM (48 pages of 256 bytes each) on the
|
||||||
Apple ][ language card. The driver was contributed by
|
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!
|
the language card memory!
|
||||||
|
|
||||||
</descrip><p>
|
</descrip><p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<sect1>Joystick drivers<p>
|
<sect1>Joystick drivers<p>
|
||||||
|
|
||||||
<descrip>
|
<descrip>
|
||||||
@@ -169,7 +148,6 @@ how to use it.
|
|||||||
</descrip><p>
|
</descrip><p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<sect1>Mouse drivers<p>
|
<sect1>Mouse drivers<p>
|
||||||
|
|
||||||
Currently no drivers available (in fact, the API for loadable mouse drivers
|
Currently no drivers available (in fact, the API for loadable mouse drivers
|
||||||
@@ -178,37 +156,26 @@ does not exist).
|
|||||||
|
|
||||||
<sect1>RS232 device drivers<p>
|
<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.
|
||||||
|
|
||||||
|
</descrip><p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<sect>Limitations<label id="limitations"><p>
|
<sect>Limitations<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):
|
|
||||||
|
|
||||||
<itemize>
|
|
||||||
<item>fclose
|
|
||||||
<item>fopen
|
|
||||||
<item>fread
|
|
||||||
<item>fprintf
|
|
||||||
<item>fputc
|
|
||||||
<item>fscanf
|
|
||||||
<item>fwrite
|
|
||||||
<item>...
|
|
||||||
</itemize>
|
|
||||||
|
|
||||||
|
|
||||||
<sect>Other hints<p>
|
<sect>Other hints<p>
|
||||||
|
|
||||||
|
|
||||||
<sect1>Passing arguments to the program<p>
|
<sect1>Passing arguments to the program<p>
|
||||||
|
|
||||||
Command line arguments can be passed to <tt/main()/ after BLOAD. Since this is not
|
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.
|
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>
|
<sect>Bugs/Feedback<p>
|
||||||
|
|
||||||
@@ -266,6 +242,3 @@ freely, subject to the following restrictions:
|
|||||||
</enum>
|
</enum>
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user