1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-28 03:29:39 +00:00

Updated documentation to reflect the current linker configs.

This commit is contained in:
Oliver Schmidt 2016-03-25 18:48:23 +01:00
parent 78dcb61cb8
commit 9aac382afb
2 changed files with 192 additions and 182 deletions

View File

@ -75,13 +75,30 @@ However while running module constructors/destructors the Language Card is disab
Enabling the Language Card allows to use it as additional memory for cc65 Enabling the Language Card allows to use it as additional memory for cc65
generated code. However code is never automatically placed there. Rather code generated code. However code is never automatically placed there. Rather code
needs to be explicitly placed in the Language Card either per file by compiling needs to be explicitly placed in the Language Card either per file by compiling
with <tt/--code-name HIGHCODE/ or per function by enclosing in <tt/#pragma with <tt/--code-name LC/ or per function by enclosing in <tt/#pragma code-name
code-name (push, "HIGHCODE")/ and <tt/#pragma code-name (pop)/. In either case the (push, "LC")/ and <tt/#pragma code-name (pop)/. In either case the cc65 runtime
cc65 runtime system takes care of actually moving the code into the Language system takes care of actually moving the code into the Language Card.
Card.
The amount of memory available in the Language Card for generated code depends The amount of memory available in the Language Card for generated code depends
on the chosen <ref id="link-configs" name="linker configuration">. on the <ref id="link-configs" name="linker configuration"> parameters. There are
several usefull settings:
<descrip>
<tag>LCADDR: &dollar;D400, LCSIZE: &dollar;C00</tag>
For plain vanilla ProDOS 8 which doesn't actually use the Language Card bank 2
memory from &dollar;D400 to &dollar;DFFF. This is the default setting.
<tag>LCADDR: &dollar;D000, LCSIZE: &dollar;1000</tag>
For ProDOS 8 together with the function <tt/rebootafterexit()/. If a program
doesn't quit to the ProDOS 8 dispatcher but rather reboots the machine after
exit then a plain vanilla ProDOS 8 doesn't make use of the Language Card bank
2 at all.
<tag>LCADDR: &dollar;D000, LCSIZE: &dollar;3000</tag>
For plain vanilla DOS 3.3 which doesn't make use of the Language Card at all.
</descrip><p>
@ -93,126 +110,114 @@ The apple2 package comes with additional secondary linker config files, which
are used via <tt/-t apple2 -C &lt;configfile&gt;/. are used via <tt/-t apple2 -C &lt;configfile&gt;/.
<sect1>default config file (<tt/apple2.cfg/)<p> <sect1>default config file (<tt/apple2.cfg/)<label id="apple-def-cfg"><p>
Default configuration optimized for a binary program running on ProDOS 8 with Default configuration for a binary program.
BASIC.SYSTEM. A plain vanilla ProDOS 8 doesn't actually use the Language Card
bank 2 memory from &dollar;D400 to &dollar;DFFF. Parameters:
<descrip> <descrip>
<tag><tt/RAM:/ Main memory area</tag>
From &dollar;803 to &dollar;95FF (35.5 KB)
<tag><tt/LC:/ Language Card memory area</tag>
From &dollar;D400 to &dollar;DFFF (3 KB)
<tag><tt/STARTADDRESS:/ Program start address</tag> <tag><tt/STARTADDRESS:/ Program start address</tag>
Variable (default: &dollar;803) Default: &dollar;803. Use <tt/-S &lt;addr&gt;/ to set a different start address.
<tag><tt/HEADER:/ Binary file header</tag> <tag><tt/__EXEHDR__:/ Executable file header</tag>
DOS 3.3 header (address and length) Default: DOS 3.3 header (address and length). Use <tt/-D __EXEHDR__=0/ to omit
the header.
</descrip><p> <tag><tt/__STACKSIZE__:/ C runtime stack size</tag>
Default: &dollar;800. Use <tt/-D __STACKSIZE__=&lt;size&gt;/ to set a different
stack size.
<tag><tt/__HIMEM__:/ Highest usable memory address presumed at link time</tag>
Default: &dollar;9600. Use <tt/-D __HIMEM__=&lt;addr&gt;/ to set a different
highest usable address.
<sect1><tt/apple2-dos33.cfg/<p> <tag><tt/__LCADDR__:/ Address of code in the Language Card</tag>
Default: &dollar;D400. Use <tt/-D __LCADDR__=&lt;addr&gt;/ to set a different
code address.
Configuration optimized for a binary program running on DOS 3.3. A plain <tag><tt/__LCSIZE__:/ Size of code in the Language Card</tag>
vanilla DOS 3.3 doesn't make use of the Language Card at all. Default: &dollar;C00. Use <tt/-D __LCSIZE__=&lt;size&gt;/ to set a different
code size.
<descrip>
<tag><tt/RAM:/ Main memory area</tag>
From &dollar;803 to &dollar;95FF (35.5 KB)
<tag><tt/LC:/ Language Card memory area</tag>
From &dollar;D000 to &dollar;FFFF (12 KB)
<tag><tt/STARTADDRESS:/ Program start address</tag>
Variable (default: &dollar;803)
<tag><tt/HEADER:/ Binary file header</tag>
DOS 3.3 header (address and length)
</descrip><p> </descrip><p>
<sect1><tt/apple2-system.cfg/<label id="apple-sys-cfg"><p> <sect1><tt/apple2-system.cfg/<label id="apple-sys-cfg"><p>
Configuration for a system program running on ProDOS 8. Configuration for a system program running on ProDOS 8 and using the memory from
&dollar;2000 to &dollar;BEFF.
<descrip> <descrip>
<tag><tt/RAM:/ Main memory area</tag> <tag><tt/__STACKSIZE__:/ C runtime stack size</tag>
From &dollar;2000 to &dollar;BEFF (39.75 KB) Default: &dollar;800. Use <tt/-D __STACKSIZE__=&lt;size&gt;/ to set a different
stack size.
<tag><tt/LC:/ Language Card memory area</tag> <tag><tt/__LCADDR__:/ Address of code in the Language Card</tag>
From &dollar;D400 to &dollar;DFFF (3 KB) Default: &dollar;D400. Use <tt/-D __LCADDR__=&lt;addr&gt;/ to set a different
code address.
<tag><tt/STARTADDRESS:/ Program start address</tag> <tag><tt/__LCSIZE__:/ Size of code in the Language Card</tag>
Fixed (&dollar;2000) Default: &dollar;C00. Use <tt/-D __LCSIZE__=&lt;size&gt;/ to set a different
code size.
<tag><tt/HEADER:/ Binary file header</tag>
None
</descrip><p> </descrip><p>
<sect1><tt/apple2-loader.cfg/<label id="apple-load-cfg"><p> <sect1><tt/apple2-overlay.cfg/<p>
Configuration optimized for a binary program running on ProDOS 8 without Configuration for overlay programs with the up to nine overlays. The overlay files
BASIC.SYSTEM. Intended to be used with <bf/LOADER.SYSTEM - an don't include the DOS 3.3 header. See <tt>samples/overlaydemo.c</tt> for more
Apple&nbsp;&rsqb;&lsqb; ProDOS 8 loader for cc65 programs/, which is available information on overlays.
in the cc65 User Contributions section.
A program loaded by LOADER.SYSTEM works like a ProDOS 8 system program but
isn't tied to the start address &dollar;2000. Thus with the default start
address &dollar;800 the main memory area is increased by 6 KB.
<descrip> <descrip>
<tag><tt/RAM:/ Main memory area</tag>
From &dollar;800 to &dollar;BEFF (45.75 KB)
<tag><tt/LC:/ Language Card memory area</tag>
From &dollar;D400 to &dollar;DFFF (3 KB)
<tag><tt/STARTADDRESS:/ Program start address</tag> <tag><tt/STARTADDRESS:/ Program start address</tag>
Variable (default: &dollar;800) Default: &dollar;803. Use <tt/-S &lt;addr&gt;/ to set a different start address.
<tag><tt/HEADER:/ Binary file header</tag> <tag><tt/__EXEHDR__:/ Executable file header</tag>
DOS 3.3 header (address and length) Default: DOS 3.3 header (address and length). Use <tt/-D __EXEHDR__=0/ to omit
the header.
<tag><tt/__STACKSIZE__:/ C runtime stack size</tag>
Default: &dollar;800. Use <tt/-D __STACKSIZE__=&lt;size&gt;/ to set a different
stack size.
<tag><tt/__HIMEM__:/ Highest usable memory address presumed at link time</tag>
Default: &dollar;9600. Use <tt/-D __HIMEM__=&lt;addr&gt;/ to set a different
highest usable address.
<tag><tt/__LCADDR__:/ Address of code in the Language Card</tag>
Default: &dollar;D400. Use <tt/-D __LCADDR__=&lt;addr&gt;/ to set a different
code address.
<tag><tt/__LCSIZE__:/ Size of code in the Language Card</tag>
Default: &dollar;C00. Use <tt/-D __LCSIZE__=&lt;size&gt;/ to set a different
code size.
<tag><tt/__OVERLAYSIZE__:/ Size of code in the overlays</tag>
Default: &dollar;1000. Use <tt/-D __OVERLAYSIZE__=&lt;size&gt;/ to set a different
code size.
</descrip><p> </descrip><p>
<sect1><tt/apple2-reboot.cfg/<p> <sect1><tt/apple2-asm.cfg/<p>
Configuration optimized for a binary program running on ProDOS 8 without Configuration for a assembler programs which don't need a special setup.
BASIC.SYSTEM. Intended to be used with <bf/LOADER.SYSTEM - an
Apple&nbsp;&rsqb;&lsqb; ProDOS 8 loader for cc65 programs/ (see above) together
with the function <tt/rebootafterexit()/.
If a ProDOS 8 system program doesn't quit to the ProDOS 8 dispatcher but rather Parameters:
reboots the machine after exit then a plain vanilla ProDOS 8 doesn't make use of
the Language Card bank 2 at all.
This setup makes nearly 50 KB available to a cc65 program - on a 64 KB machine!
<descrip> <descrip>
<tag><tt/RAM:/ Main memory area</tag>
From &dollar;800 to &dollar;BEFF (45.75 KB)
<tag><tt/LC:/ Language Card memory area</tag>
From &dollar;D000 to &dollar;DFFF (4 KB)
<tag><tt/STARTADDRESS:/ Program start address</tag> <tag><tt/STARTADDRESS:/ Program start address</tag>
Variable (default: &dollar;800) Default: &dollar;803. Use <tt/-S &lt;addr&gt;/ to set a different start address.
<tag><tt/HEADER:/ Binary file header</tag> <tag><tt/__EXEHDR__:/ Executable file header</tag>
DOS 3.3 header (address and length) Default: No header. Use <tt/-u __EXEHDR__ apple2.lib/ to add a DOS 3.3 header
(address and length).
</descrip><p> </descrip><p>
@ -230,10 +235,10 @@ range.
The easiest (and for really large programs in fact the only) way to have a cc65 The easiest (and for really large programs in fact the only) way to have a cc65
program use the memory from &dollar;800 to &dollar;2000 is to link it as binary program use the memory from &dollar;800 to &dollar;2000 is to link it as binary
(as opposed to system) program using the linker configuration (as opposed to system) program using the default linker configuration
<ref id="apple-load-cfg" name="apple2-loader.cfg"> with start address <ref id="apple-def-cfg" name="apple2.cfg"> with __HIMEM__ set to &dollar;BF00
&dollar;803 and load it with the targetutil LOADER.SYSTEM. The program then works and load it with the targetutil LOADER.SYSTEM. The program then works like a system
like a system program (i.e. quits to the ProDOS dispatcher). program (i.e. quits to the ProDOS dispatcher).
Using LOADER.SYSTEM is as simple as copying it to the ProDOS 8 directory of the Using LOADER.SYSTEM is as simple as copying it to the ProDOS 8 directory of the
program to load under name &lt;program&gt;.SYSTEM as a system program. For program to load under name &lt;program&gt;.SYSTEM as a system program. For
@ -325,8 +330,8 @@ The names in the parentheses denote the symbols to be used for static linking of
<tag><tt/a2.hi.tgi (a2_hi_tgi)/</tag> <tag><tt/a2.hi.tgi (a2_hi_tgi)/</tag>
This driver features a resolution of 280&times;192 with 8 colors and two This driver features a resolution of 280&times;192 with 8 colors and two
hires pages. Note that programs using this driver will have to be linked 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 with <tt/-S $4000/ to reserve the first hires page or with <tt/-S $6000/
<tt/--start-addr $6000/ to reserve both hires pages. to reserve both hires pages.
The function <tt/tgi_apple2_mix()/ allows to activate 4 lines of text. The 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. function doesn't clear the corresponding area at the bottom of the screen.
@ -374,7 +379,7 @@ The names in the parentheses denote the symbols to be used for static linking of
for an AppleMouse&nbsp;II Card compatible firmware. The default bounding for an AppleMouse&nbsp;II Card compatible firmware. The default bounding
box is &lsqb;0..279,0..191&rsqb;. box is &lsqb;0..279,0..191&rsqb;.
Programs using this driver will have to be linked with <tt/--start-addr $4000/ Programs using this driver will have to be linked with <tt/-S $4000/
to reserve the first hires page if they are intended to run on an to reserve the first hires page if they are intended to run on an
Apple&nbsp;&rsqb;&lsqb; (in contrast to an Apple&nbsp;//e) because the Apple&nbsp;&rsqb;&lsqb; (in contrast to an Apple&nbsp;//e) because the
AppleMouse&nbsp;II Card firmware writes to the hires page when initializing AppleMouse&nbsp;II Card firmware writes to the hires page when initializing

View File

@ -75,13 +75,30 @@ However while running module constructors/destructors the Language Card is disab
Enabling the Language Card allows to use it as additional memory for cc65 Enabling the Language Card allows to use it as additional memory for cc65
generated code. However code is never automatically placed there. Rather code generated code. However code is never automatically placed there. Rather code
needs to be explicitly placed in the Language Card either per file by compiling needs to be explicitly placed in the Language Card either per file by compiling
with <tt/--code-name HIGHCODE/ or per function by enclosing in <tt/#pragma with <tt/--code-name LC/ or per function by enclosing in <tt/#pragma code-name
code-name (push, "HIGHCODE")/ and <tt/#pragma code-name (pop)/. In either case the (push, "LC")/ and <tt/#pragma code-name (pop)/. In either case the cc65 runtime
cc65 runtime system takes care of actually moving the code into the Language system takes care of actually moving the code into the Language Card.
Card.
The amount of memory available in the Language Card for generated code depends The amount of memory available in the Language Card for generated code depends
on the chosen <ref id="link-configs" name="linker configuration">. on the <ref id="link-configs" name="linker configuration"> parameters. There are
several usefull settings:
<descrip>
<tag>LCADDR: &dollar;D400, LCSIZE: &dollar;C00</tag>
For plain vanilla ProDOS 8 which doesn't actually use the Language Card bank 2
memory from &dollar;D400 to &dollar;DFFF. This is the default setting.
<tag>LCADDR: &dollar;D000, LCSIZE: &dollar;1000</tag>
For ProDOS 8 together with the function <tt/rebootafterexit()/. If a program
doesn't quit to the ProDOS 8 dispatcher but rather reboots the machine after
exit then a plain vanilla ProDOS 8 doesn't make use of the Language Card bank
2 at all.
<tag>LCADDR: &dollar;D000, LCSIZE: &dollar;3000</tag>
For plain vanilla DOS 3.3 which doesn't make use of the Language Card at all.
</descrip><p>
@ -93,126 +110,114 @@ The apple2enh package comes with additional secondary linker config files, which
are used via <tt/-t apple2enh -C &lt;configfile&gt;/. are used via <tt/-t apple2enh -C &lt;configfile&gt;/.
<sect1>default config file (<tt/apple2enh.cfg/)<p> <sect1>default config file (<tt/apple2enh.cfg/)<label id="apple-def-cfg"><p>
Default configuration optimized for a binary program running on ProDOS 8 with Default configuration for a binary program.
BASIC.SYSTEM. A plain vanilla ProDOS 8 doesn't actually use the Language Card
bank 2 memory from &dollar;D400 to &dollar;DFFF. Parameters:
<descrip> <descrip>
<tag><tt/RAM:/ Main memory area</tag>
From &dollar;803 to &dollar;95FF (35.5 KB)
<tag><tt/LC:/ Language Card memory area</tag>
From &dollar;D400 to &dollar;DFFF (3 KB)
<tag><tt/STARTADDRESS:/ Program start address</tag> <tag><tt/STARTADDRESS:/ Program start address</tag>
Variable (default: &dollar;803) Default: &dollar;803. Use <tt/-S &lt;addr&gt;/ to set a different start address.
<tag><tt/HEADER:/ Binary file header</tag> <tag><tt/__EXEHDR__:/ Executable file header</tag>
DOS 3.3 header (address and length) Default: DOS 3.3 header (address and length). Use <tt/-D __EXEHDR__=0/ to omit
the header.
</descrip><p> <tag><tt/__STACKSIZE__:/ C runtime stack size</tag>
Default: &dollar;800. Use <tt/-D __STACKSIZE__=&lt;size&gt;/ to set a different
stack size.
<tag><tt/__HIMEM__:/ Highest usable memory address presumed at link time</tag>
Default: &dollar;9600. Use <tt/-D __HIMEM__=&lt;addr&gt;/ to set a different
highest usable address.
<sect1><tt/apple2enh-dos33.cfg/<p> <tag><tt/__LCADDR__:/ Address of code in the Language Card</tag>
Default: &dollar;D400. Use <tt/-D __LCADDR__=&lt;addr&gt;/ to set a different
code address.
Configuration optimized for a binary program running on DOS 3.3. A plain <tag><tt/__LCSIZE__:/ Size of code in the Language Card</tag>
vanilla DOS 3.3 doesn't make use of the Language Card at all. Default: &dollar;C00. Use <tt/-D __LCSIZE__=&lt;size&gt;/ to set a different
code size.
<descrip>
<tag><tt/RAM:/ Main memory area</tag>
From &dollar;803 to &dollar;95FF (35.5 KB)
<tag><tt/LC:/ Language Card memory area</tag>
From &dollar;D000 to &dollar;FFFF (12 KB)
<tag><tt/STARTADDRESS:/ Program start address</tag>
Variable (default: &dollar;803)
<tag><tt/HEADER:/ Binary file header</tag>
DOS 3.3 header (address and length)
</descrip><p> </descrip><p>
<sect1><tt/apple2enh-system.cfg/<label id="apple-sys-cfg"><p> <sect1><tt/apple2enh-system.cfg/<label id="apple-sys-cfg"><p>
Configuration for a system program running on ProDOS 8. Configuration for a system program running on ProDOS 8 and using the memory from
&dollar;2000 to &dollar;BEFF.
<descrip> <descrip>
<tag><tt/RAM:/ Main memory area</tag> <tag><tt/__STACKSIZE__:/ C runtime stack size</tag>
From &dollar;2000 to &dollar;BEFF (39.75 KB) Default: &dollar;800. Use <tt/-D __STACKSIZE__=&lt;size&gt;/ to set a different
stack size.
<tag><tt/LC:/ Language Card memory area</tag> <tag><tt/__LCADDR__:/ Address of code in the Language Card</tag>
From &dollar;D400 to &dollar;DFFF (3 KB) Default: &dollar;D400. Use <tt/-D __LCADDR__=&lt;addr&gt;/ to set a different
code address.
<tag><tt/STARTADDRESS:/ Program start address</tag> <tag><tt/__LCSIZE__:/ Size of code in the Language Card</tag>
Fixed (&dollar;2000) Default: &dollar;C00. Use <tt/-D __LCSIZE__=&lt;size&gt;/ to set a different
code size.
<tag><tt/HEADER:/ Binary file header</tag>
None
</descrip><p> </descrip><p>
<sect1><tt/apple2enh-loader.cfg/<label id="apple-load-cfg"><p> <sect1><tt/apple2enh-overlay.cfg/<p>
Configuration optimized for a binary program running on ProDOS 8 without Configuration for overlay programs with the up to nine overlays. The overlay files
BASIC.SYSTEM. Intended to be used with <bf/LOADER.SYSTEM - an don't include the DOS 3.3 header. See <tt>samples/overlaydemo.c</tt> for more
Apple&nbsp;&rsqb;&lsqb; ProDOS 8 loader for cc65 programs/, which is available information on overlays.
in the cc65 User Contributions section.
A program loaded by LOADER.SYSTEM works like a ProDOS 8 system program but
isn't tied to the start address &dollar;2000. Thus with the default start
address &dollar;800 the main memory area is increased by 6 KB.
<descrip> <descrip>
<tag><tt/RAM:/ Main memory area</tag>
From &dollar;800 to &dollar;BEFF (45.75 KB)
<tag><tt/LC:/ Language Card memory area</tag>
From &dollar;D400 to &dollar;DFFF (3 KB)
<tag><tt/STARTADDRESS:/ Program start address</tag> <tag><tt/STARTADDRESS:/ Program start address</tag>
Variable (default: &dollar;800) Default: &dollar;803. Use <tt/-S &lt;addr&gt;/ to set a different start address.
<tag><tt/HEADER:/ Binary file header</tag> <tag><tt/__EXEHDR__:/ Executable file header</tag>
DOS 3.3 header (address and length) Default: DOS 3.3 header (address and length). Use <tt/-D __EXEHDR__=0/ to omit
the header.
<tag><tt/__STACKSIZE__:/ C runtime stack size</tag>
Default: &dollar;800. Use <tt/-D __STACKSIZE__=&lt;size&gt;/ to set a different
stack size.
<tag><tt/__HIMEM__:/ Highest usable memory address presumed at link time</tag>
Default: &dollar;9600. Use <tt/-D __HIMEM__=&lt;addr&gt;/ to set a different
highest usable address.
<tag><tt/__LCADDR__:/ Address of code in the Language Card</tag>
Default: &dollar;D400. Use <tt/-D __LCADDR__=&lt;addr&gt;/ to set a different
code address.
<tag><tt/__LCSIZE__:/ Size of code in the Language Card</tag>
Default: &dollar;C00. Use <tt/-D __LCSIZE__=&lt;size&gt;/ to set a different
code size.
<tag><tt/__OVERLAYSIZE__:/ Size of code in the overlays</tag>
Default: &dollar;1000. Use <tt/-D __OVERLAYSIZE__=&lt;size&gt;/ to set a different
code size.
</descrip><p> </descrip><p>
<sect1><tt/apple2enh-reboot.cfg/<p> <sect1><tt/apple2enh-asm.cfg/<p>
Configuration optimized for a binary program running on ProDOS 8 without Configuration for a assembler programs which don't need a special setup.
BASIC.SYSTEM. Intended to be used with <bf/LOADER.SYSTEM - an
Apple&nbsp;&rsqb;&lsqb; ProDOS 8 loader for cc65 programs/ (see above) together
with the function <tt/rebootafterexit()/.
If a ProDOS 8 system program doesn't quit to the ProDOS 8 dispatcher but rather Parameters:
reboots the machine after exit then a plain vanilla ProDOS 8 doesn't make use of
the Language Card bank 2 at all.
This setup makes nearly 50 KB available to a cc65 program - on a 64 KB machine!
<descrip> <descrip>
<tag><tt/RAM:/ Main memory area</tag>
From &dollar;800 to &dollar;BEFF (45.75 KB)
<tag><tt/LC:/ Language Card memory area</tag>
From &dollar;D000 to &dollar;DFFF (4 KB)
<tag><tt/STARTADDRESS:/ Program start address</tag> <tag><tt/STARTADDRESS:/ Program start address</tag>
Variable (default: &dollar;800) Default: &dollar;803. Use <tt/-S &lt;addr&gt;/ to set a different start address.
<tag><tt/HEADER:/ Binary file header</tag> <tag><tt/__EXEHDR__:/ Executable file header</tag>
DOS 3.3 header (address and length) Default: No header. Use <tt/-u __EXEHDR__ apple2enh.lib/ to add a DOS 3.3 header
(address and length).
</descrip><p> </descrip><p>
@ -230,10 +235,10 @@ range.
The easiest (and for really large programs in fact the only) way to have a cc65 The easiest (and for really large programs in fact the only) way to have a cc65
program use the memory from &dollar;800 to &dollar;2000 is to link it as binary program use the memory from &dollar;800 to &dollar;2000 is to link it as binary
(as opposed to system) program using the linker configuration (as opposed to system) program using the default linker configuration
<ref id="apple-load-cfg" name="apple2enh-loader.cfg"> with start address <ref id="apple-def-cfg" name="apple2enh.cfg"> with __HIMEM__ set to &dollar;BF00
&dollar;803 and load it with the targetutil LOADER.SYSTEM. The program then works and load it with the targetutil LOADER.SYSTEM. The program then works like a system
like a system program (i.e. quits to the ProDOS dispatcher). program (i.e. quits to the ProDOS dispatcher).
Using LOADER.SYSTEM is as simple as copying it to the ProDOS 8 directory of the Using LOADER.SYSTEM is as simple as copying it to the ProDOS 8 directory of the
program to load under name &lt;program&gt;.SYSTEM as a system program. For program to load under name &lt;program&gt;.SYSTEM as a system program. For
@ -328,8 +333,8 @@ The names in the parentheses denote the symbols to be used for static linking of
<tag><tt/a2e.hi.tgi (a2e_hi_tgi)/</tag> <tag><tt/a2e.hi.tgi (a2e_hi_tgi)/</tag>
This driver features a resolution of 280&times;192 with 8 colors and two This driver features a resolution of 280&times;192 with 8 colors and two
hires pages. Note that programs using this driver will have to be linked 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 with <tt/-S $4000/ to reserve the first hires page or with <tt/-S $6000/
<tt/--start-addr $6000/ to reserve both hires pages. to reserve both hires pages.
Note that the second hires page is only available if the text display is not in 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);/ 80 column mode. This can be asserted by calling <tt/videomode (VIDEOMODE_40COL);/
@ -354,7 +359,7 @@ The names in the parentheses denote the symbols to be used for static linking of
<tag><tt/a2e.auxmem.emd (a2e_auxmem_emd)/</tag> <tag><tt/a2e.auxmem.emd (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. 80-Column Text Card.
Note that this driver doesn't check for the actual existence of the memory Note that this driver doesn't check for the actual existence of the memory
and that it doesn't check for ProDOS 8 RAM disk content! and that it doesn't check for ProDOS 8 RAM disk content!
@ -429,7 +434,7 @@ BASIC.SYSTEM) there are some limitations for DOS 3.3:
'Failed to alloc interrupt' on program startup. This implicitly means that 'Failed to alloc interrupt' on program startup. This implicitly means that
<tt/a2e.stdmou.mou/ and <tt/a2e.ssc.ser/ are not functional as they depend on <tt/a2e.stdmou.mou/ and <tt/a2e.ssc.ser/ are not functional as they depend on
interrupts. interrupts.
</descrip><p> </descrip><p>
@ -494,7 +499,7 @@ url="ca65.html" name="assembler manual">.
<tag/Drive ID/ <tag/Drive ID/
The function <url url="dio.html#s1" name="dio_open()"> has the single The function <url url="dio.html#s1" name="dio_open()"> has the single
parameter <tt/device/ to identify the device to be opened. Therefore an parameter <tt/device/ to identify the device to be opened. Therefore an
Apple&nbsp;II slot and drive pair is mapped to that <tt/drive_id/ according Apple&nbsp;II slot and drive pair is mapped to that <tt/device/ according
to the formula to the formula
<tscreen> <tscreen>