Several updates by Oliver Schmidt.

git-svn-id: svn://svn.cc65.org/cc65/trunk@3845 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2008-06-16 17:32:33 +00:00
parent 7e682896b1
commit e1adb1ee57
3 changed files with 74 additions and 51 deletions

View 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.
@@ -224,6 +230,29 @@ you cannot do it, it just means that there's no help.
<sect>Limitations<p>
<sect1>DOS 3.3 Limitations<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>
<sect>Other hints<p>