From 09305ce21c6a6c0f0f41387b75991cfbcecbf4d3 Mon Sep 17 00:00:00 2001 From: cuz Date: Fri, 14 Sep 2001 17:02:22 +0000 Subject: [PATCH] Update comments about the stack, add CBM 500 info git-svn-id: svn://svn.cc65.org/cc65/trunk@923 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- doc/internal.txt | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/doc/internal.txt b/doc/internal.txt index 2c2476f6a..a5f69b086 100644 --- a/doc/internal.txt +++ b/doc/internal.txt @@ -13,10 +13,8 @@ data etc are allocated on this stack, and deallocated when functions exit. The program code and data is located in low memory. The heap is located between the program code and the stack. The default size for the parameter -stack is 2K, you may change this by declaring an externally visible variable -named named _stksize that holds the new stack size: - - unsigned _stksize = 4*1024; /* Use 4K stack */ +stack is 2K, you may change this for most platforms in the linker +configuration. Note: The size of the stack is only needed if you use the heap, or if you call the stack checking routine (_stkcheck) from somewhere in your program. @@ -112,9 +110,9 @@ compiling them into assembler. Therefore if you have a C function named Systems: -------- -Supported systems at this time are: C64, C128, Plus/4, CBM 600/700, the newer -PET machines (not 2001), Atari 8bit, and the Apple ][ (thanks to Kevin Ruland, -who did the port). +Supported systems at this time are: C64, C128, Plus/4, CBM 500, CBM 600/700, +the newer PET machines (not 2001), Atari 8bit, and the Apple ][ (thanks to +Kevin Ruland, who did the port). C64: The program runs in a memory configuration, where only the kernal ROM is enabled. The text screen is expected at the usual place ($400), so @@ -129,6 +127,12 @@ Plus/4: Unfortunately, the Plus/4 is not able to disable only part of it's has only 28K available (16K machines are detected and the amount of free memory is reduced to 12K). +CBM 500: + The C program runs in bank #0 and has about 61K memory available. The + memory available on the CBM5x0 is slightly less than that available + on its bigger brothers (CBM 600/700) because the video ram is also + placed into bank #0 to allow sprites. + CBM 600/700: The C program runs in a separate segment and has almost full 64K of memory available. @@ -198,6 +202,6 @@ This feature is useful with inline assembly and macros. For example, a macro that reads a CRTC register may be written like this: #define wr(idx) (__AX__=(idx), \ - asm("\tsta\t$2000\n\tlda\t$2000\n\tldx\t#$00"), \ + asm("\tsta\t$2000\n\tlda\t$2000\n\tldx\t#$00"), \ __AX__)