From 9aac382afbd7ba689659ea53bbdc1b7eada3318c Mon Sep 17 00:00:00 2001 From: Oliver Schmidt Date: Fri, 25 Mar 2016 18:48:23 +0100 Subject: [PATCH] Updated documentation to reflect the current linker configs. --- doc/apple2.sgml | 181 +++++++++++++++++++++++--------------------- doc/apple2enh.sgml | 185 +++++++++++++++++++++++---------------------- 2 files changed, 188 insertions(+), 178 deletions(-) diff --git a/doc/apple2.sgml b/doc/apple2.sgml index e58565359..7443e50b7 100644 --- a/doc/apple2.sgml +++ b/doc/apple2.sgml @@ -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 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 -with . +on the parameters. There are +several usefull settings: + + + + LCADDR: $D400, LCSIZE: $C00 + For plain vanilla ProDOS 8 which doesn't actually use the Language Card bank 2 + memory from $D400 to $DFFF. This is the default setting. + + LCADDR: $D000, LCSIZE: $1000 + For ProDOS 8 together with the function LCADDR: $D000, LCSIZE: $3000 + For plain vanilla DOS 3.3 which doesn't make use of the Language Card at all. + +

@@ -93,126 +110,114 @@ The apple2 package comes with additional secondary linker config files, which are used via default config file ( +default config file (

-Default configuration optimized for a binary program running on ProDOS 8 with -BASIC.SYSTEM. A plain vanilla ProDOS 8 doesn't actually use the Language Card -bank 2 memory from $D400 to $DFFF. +Default configuration for a binary program. - - - - From $803 to $95FF (35.5 KB) +Parameters: - - From $D400 to $DFFF (3 KB) + - Variable (default: $803) + Default: $803. Use - DOS 3.3 header (address and length) + + Default: DOS 3.3 header (address and length). Use

+ + Default: $800. Use + Default: $9600. Use - -Configuration optimized for a binary program running on DOS 3.3. A plain -vanilla DOS 3.3 doesn't make use of the Language Card at all. - - + + Default: $D400. Use - From $803 to $95FF (35.5 KB) - - - From $D000 to $FFFF (12 KB) - - - Variable (default: $803) - - - DOS 3.3 header (address and length) + + Default: $C00. Use

-Configuration for a system program running on ProDOS 8. +Configuration for a system program running on ProDOS 8 and using the memory from +$2000 to $BEFF. - - From $2000 to $BEFF (39.75 KB) + + Default: $800. Use - From $D400 to $DFFF (3 KB) + + Default: $D400. Use - Fixed ($2000) - - - None + + Default: $C00. Use

-

- -Configuration optimized for a binary program running on ProDOS 8 without -BASIC.SYSTEM. Intended to be used with -A program loaded by LOADER.SYSTEM works like a ProDOS 8 system program but -isn't tied to the start address $2000. Thus with the default start -address $800 the main memory area is increased by 6 KB. +Configuration for overlay programs with the up to nine overlays. The overlay files +don't include the DOS 3.3 header. See samples/overlaydemo.c for more +information on overlays. - - From $800 to $BEFF (45.75 KB) + + Default: $803. Use - From $D400 to $DFFF (3 KB) + + Default: DOS 3.3 header (address and length). Use - Variable (default: $800) + + Default: $800. Use - DOS 3.3 header (address and length) + + Default: $9600. Use

+ + Default: $D400. Use + Default: $C00. Use + + Default: $1000. Use

-If a ProDOS 8 system 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. -This setup makes nearly 50 KB available to a cc65 program - on a 64 KB machine! + - +Configuration for a assembler programs which don't need a special setup. - - From $800 to $BEFF (45.75 KB) +Parameters: - - From $D000 to $DFFF (4 KB) + - Variable (default: $800) + Default: $803. Use - DOS 3.3 header (address and length) + + Default: No header. Use

@@ -230,10 +235,10 @@ range. The easiest (and for really large programs in fact the only) way to have a cc65 program use the memory from $800 to $2000 is to link it as binary -(as opposed to system) program using the linker configuration - with start address -$803 and load it with the targetutil LOADER.SYSTEM. The program then works -like a system program (i.e. quits to the ProDOS dispatcher). +(as opposed to system) program using the default linker configuration + with __HIMEM__ set to $BF00 +and load it with the targetutil LOADER.SYSTEM. The program then works like a system +program (i.e. quits to the ProDOS dispatcher). Using LOADER.SYSTEM is as simple as copying it to the ProDOS 8 directory of the program to load under name <program>.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 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 . +on the parameters. There are +several usefull settings: + + + + LCADDR: $D400, LCSIZE: $C00 + For plain vanilla ProDOS 8 which doesn't actually use the Language Card bank 2 + memory from $D400 to $DFFF. This is the default setting. + + LCADDR: $D000, LCSIZE: $1000 + For ProDOS 8 together with the function LCADDR: $D000, LCSIZE: $3000 + For plain vanilla DOS 3.3 which doesn't make use of the Language Card at all. + +

@@ -93,126 +110,114 @@ The apple2enh package comes with additional secondary linker config files, which are used via default config file ( +default config file (

-Default configuration optimized for a binary program running on ProDOS 8 with -BASIC.SYSTEM. A plain vanilla ProDOS 8 doesn't actually use the Language Card -bank 2 memory from $D400 to $DFFF. +Default configuration for a binary program. - +Parameters: - - From $803 to $95FF (35.5 KB) - - - From $D400 to $DFFF (3 KB) + - Variable (default: $803) + Default: $803. Use - DOS 3.3 header (address and length) - -

+ + Default: DOS 3.3 header (address and length). Use + Default: $800. Use - -Configuration optimized for a binary program running on DOS 3.3. A plain -vanilla DOS 3.3 doesn't make use of the Language Card at all. - - + + Default: $9600. Use - From $803 to $95FF (35.5 KB) + + Default: $D400. Use - From $D000 to $FFFF (12 KB) - - - Variable (default: $803) - - - DOS 3.3 header (address and length) + + Default: $C00. Use

-Configuration for a system program running on ProDOS 8. +Configuration for a system program running on ProDOS 8 and using the memory from +$2000 to $BEFF. - - From $2000 to $BEFF (39.75 KB) + + Default: $800. Use - From $D400 to $DFFF (3 KB) + + Default: $D400. Use - Fixed ($2000) - - - None + + Default: $C00. Use

-

- -Configuration optimized for a binary program running on ProDOS 8 without -BASIC.SYSTEM. Intended to be used with -A program loaded by LOADER.SYSTEM works like a ProDOS 8 system program but -isn't tied to the start address $2000. Thus with the default start -address $800 the main memory area is increased by 6 KB. +Configuration for overlay programs with the up to nine overlays. The overlay files +don't include the DOS 3.3 header. See samples/overlaydemo.c for more +information on overlays. - - From $800 to $BEFF (45.75 KB) + + Default: $803. Use - From $D400 to $DFFF (3 KB) + + Default: DOS 3.3 header (address and length). Use - Variable (default: $800) + + Default: $800. Use - DOS 3.3 header (address and length) + + Default: $9600. Use

+ + Default: $D400. Use + Default: $C00. Use + + Default: $1000. Use

-If a ProDOS 8 system 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. -This setup makes nearly 50 KB available to a cc65 program - on a 64 KB machine! + - +Configuration for a assembler programs which don't need a special setup. - - From $800 to $BEFF (45.75 KB) +Parameters: - - From $D000 to $DFFF (4 KB) + - Variable (default: $800) + Default: $803. Use - DOS 3.3 header (address and length) + + Default: No header. Use

@@ -230,10 +235,10 @@ range. The easiest (and for really large programs in fact the only) way to have a cc65 program use the memory from $800 to $2000 is to link it as binary -(as opposed to system) program using the linker configuration - with start address -$803 and load it with the targetutil LOADER.SYSTEM. The program then works -like a system program (i.e. quits to the ProDOS dispatcher). +(as opposed to system) program using the default linker configuration + with __HIMEM__ set to $BF00 +and load it with the targetutil LOADER.SYSTEM. The program then works like a system +program (i.e. quits to the ProDOS dispatcher). Using LOADER.SYSTEM is as simple as copying it to the ProDOS 8 directory of the program to load under name <program>.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 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 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 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

@@ -494,7 +499,7 @@ url="ca65.html" name="assembler manual">. has the single parameter -- 2.39.5