<sect1>Heap<p>
-If the cc65 program can be successully linked as system program using the linker
+If the cc65 program can be successfully linked as system program using the linker
configuration <htmlurl url="apple2enh-4.html#ss4.3" name="apple2enh-system.cfg"> but
uses the heap either explicitly or implicitly (i.e. by loading a driver) then
the memory from $800 to $2000 can be added to the heap by calling
usage.
<itemize>
+<item>_auxtype
<item>_dos_type
+<item>_filetype
+<item>drivecount
+<item>drivelist
<item>get_ostype
<item>rebootafterexit
+<item>rootdir
<item>ser_apple2_slot
<item>textframe
<item>textframexy
<tag><tt/a2e.lo.tgi/</tag>
This driver features a resolution of 40×48 with 16 colors.
- The function <tt/tgi_apple2_mix()/ allows to activate 4 lines of text. The
- function clears the corresponding area at the bottom of the screen.
+ The function <tt/tgi_apple2_mix()/ allows to activate 4 lines of text. The
+ function clears the corresponding area at the bottom of the screen.
<tag><tt/a2e.hi.tgi/</tag>
This driver features a resolution of 280×192 with 8 colors and two
hires pages. Note that programs using this driver will have to be linked
with <tt/--start-addr $4000/ to reserve the first hires page or with
<tt/--start-addr $6000/ to reserve both hires pages.
-
- Note that the second hires page is only available if the text display is not in
- 80 column mode. This can be asserted by calling <tt/videomode (VIDEOMODE_40COL);/
- before installing the driver.
-
- The function <tt/tgi_apple2_mix()/ allows to activate 4 lines of text. The
- function doesn't clear the corresponding area at the bottom of the screen.
+
+ Note that the second hires page is only available if the text display is not in
+ 80 column mode. This can be asserted by calling <tt/videomode (VIDEOMODE_40COL);/
+ before installing the driver.
+
+ The function <tt/tgi_apple2_mix()/ allows to activate 4 lines of text. The
+ function doesn't clear the corresponding area at the bottom of the screen.
In memory constrained situations the memory from $803 to $1FFF
can be made available to a program by calling <tt/_heapadd ((void *) 0x0803, 0x17FD);/
<descrip>
<tag><tt/a2e.auxmem.emd/</tag>
- Gives access to 47,5 KB RAM (190 pages of 256 bytes each) on an Extended
+ Gives access to 47.5 KB RAM (190 pages of 256 bytes each) on an Extended
80-Column Text Card.
Note that this driver doesn't check for the actual existence of the memory
</descrip><p>
-<sect1>DIO<p>
-
-Although <htmlurl url="dio.html" name="DIO"> generally works with all ProDOS 8
-devices, the function <htmlurl url="dio-3.html" name="dio_query_sectcount()">
-simply always return 280 (which is only correct for a 140 KB disk).
-
-
<sect1>Direct console I/O<p>
<descrip>
<sect1>Interrupts<p>
-The runtime for the enhanced Apple //e uses routines marked as <tt/.CONDES/
-type <tt/interruptor/ for ProDOS 8 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">.
+The runtime for the enhanced Apple //e uses routines marked as
+<tt/.INTERRUPTOR/ for ProDOS 8 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">.
<sect1>DIO<p>
-The function <htmlurl url="dio-1.html" name="dio_open()"> has the single parameter
-<tt/drive_id/ to identify the drive to be opened. Therefore an Apple II
-slot and drive pair is mapped to that <tt/drive_id/ according to the formula
+<descrip>
+
+ <tag/Drive ID/
+ The function <htmlurl url="dio-1.html" name="dio_open()"> has the single
+ parameter <tt/drive_id/ to identify the drive to be opened. Therefore an
+ Apple II slot and drive pair is mapped to that <tt/drive_id/ according
+ to the formula
-<verb>
- drive_id = (slot * 2) + (drive - 1)
-</verb>
+ <tscreen>
+ drive_id = slot * 16 + (drive - 1) * 128
+ </tscreen>
-so that for example slot 6 drive 1 is mapped to <tt/drive_id/ 12.
+ so that for example slot 6 drive 2 is mapped to <tt/drive_id/ 224.
-The function <htmlurl url="dio-1.html" name="dio_open()"> succeeds only if a
-formatted disk is present in the drive. However intentionally no check is
-performed on the presence of a ProDOS 8 disk. Therefore access to all standard
-16-sector disks (as for instance DOS 3.3) is possible.
+ <tag/Sector count/
+ The function <htmlurl url="dio-3.html" name="dio_query_sectcount()"> returns
+ the correct sector count for all ProDOS 8 disks. However for any non-ProDOS 8
+ disk it simply always returns 280 (which is only correct for a 140 KB disk).
+ This condition is indicated by the <tt/_oserror/ value 82.
+
+</descrip><p>