1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-04 13:29:35 +00:00

Update comments about the stack, add CBM 500 info

git-svn-id: svn://svn.cc65.org/cc65/trunk@923 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2001-09-14 17:02:22 +00:00
parent 2760fbd5dc
commit 09305ce21c

View File

@ -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__)