]> git.sur5r.net Git - cc65/blobdiff - doc/apple2.sgml
Removed the - now unused - empty builtin configuration (was used for the ace
[cc65] / doc / apple2.sgml
index 9f7209408e0f5180bd6ed3882db03a25b1dac0ea..1abcf3edab3e17f79cf88bdde675d863e8812636 100644 (file)
@@ -35,10 +35,11 @@ more information.
 
 The standard binary output format generated by the linker for the
 Apple ][ target is a machine language program with a 4 byte DOS
-3.3 header. The standard load address is $803.
+3.3 header containing the load address and load size. The standard load address
+is $803.
 
-The DOS header is in its own segment named <tt/EXEHDR/. If you don't want the
-header for some reason, you can change
+The DOS 3.3 header is in its own segment named <tt/EXEHDR/. If you don't want
+the header for some reason, you can change
 
 <verb>
     HEADER: start = $0000, size = $0004, file = %O;
@@ -52,8 +53,13 @@ to
 
 in the linker configuration to have the linker remove it.
 
-Please note that there is an 'Apple&nbsp;&rsqb;&lsqb; ProDOS 8 system program
-for loading binary programs' available in the cc65 User Contributions section.
+<bf/AppleCommander 1.3.5/ or later (available at <url
+url="http://applecommander.sourceforge.net/">) includes an option <tt/-cc65/
+that allows to put binary files with the DOS 3.3 header onto disk images
+containing either DOS 3.3 or ProDOS 8.
+
+Please note that there is an <bf/Apple&nbsp;&rsqb;&lsqb; ProDOS 8 system program
+for loading binary programs/ available in the cc65 User Contributions section.
 It adds all benefits of a ProDOS 8 system program to the standard binary
 program generated by the linker for the Apple&nbsp;&rsqb;&lsqb; target.
 
@@ -121,6 +127,7 @@ usage.
 <itemize>
 <item>_dos_type
 <item>get_ostype
+<item>rebootafterexit
 </itemize>
 
 
@@ -225,6 +232,54 @@ you cannot do it, it just means that there's no help.
 <sect>Limitations<p>
 
 
+<sect1>DOS 3.3<p>
+
+Although the standard binaries generated by the linker for the Apple&nbsp;&rsqb;&lsqb;
+generally run both on DOS 3.3 (with Applesoft BASIC) and on ProDOS 8 (with
+BASIC.SYSTEM) there are some limitations for DOS 3.3:
+
+<descrip>
+
+  <tag>Disk File I/O</tag>
+  There's no disk file I/O support. Any attempt to use it yields an error with
+  <tt/errno/ set to <tt/ENOSYS/. This implicitly means that loadable drivers
+  are in general not functional as they depend on disk file I/O. However they
+  may be converted to statically linked drivers using the co65 object-file
+  converter.
+
+  <tag>Interrupts</tag>
+  There's no <tt/interruptor/ support. Any attempt to use it yields the message
+  'FAILED TO ALLOC INTERRUPT' on program startup. This implicitly means that
+  <tt/a2.stdmou.mou/ and <tt/a2.ssc.ser/ are not functional as they depend on
+  interrupts.
+  
+</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 140KB disk).
+
+
+<sect1>Direct console I/O<p>
+
+<descrip>
+
+  <tag>Color</tag>
+  The Apple&nbsp;&rsqb;&lsqb; has no color text mode. Therefore the functions
+  <htmlurl url="funcref-205.html" name="textcolor()">,
+  <htmlurl url="funcref-68.html" name="bgcolor()"> and
+  <htmlurl url="funcref-69.html" name="bordercolor()"> have no effect.
+
+  <tag>Cursor</tag>
+  The Apple&nbsp;&rsqb;&lsqb; has no hardware cursor. Therefore the function
+  <htmlurl url="funcref-88.html" name="cursor()"> has no effect.
+
+</descrip><p>
+
+
 
 <sect>Other hints<p>
 
@@ -259,6 +314,24 @@ 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&nbsp;II
+slot and drive pair is mapped to that <tt/drive_id/ according to the formula
+
+<verb>
+    drive_id = (slot * 2) + (drive - 1)
+</verb>
+
+so that for example slot 6 drive 1 is mapped to <tt/drive_id/ 12.
+
+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.
+
+
 
 <sect>Bugs/Feedback<p>