diff --git a/docs/source/memorymap.odg b/docs/source/memorymap.odg new file mode 100644 index 000000000..fe9fe7af2 Binary files /dev/null and b/docs/source/memorymap.odg differ diff --git a/docs/source/memorymap.svg b/docs/source/memorymap.svg new file mode 100644 index 000000000..bfa5992d6 --- /dev/null +++ b/docs/source/memorymap.svg @@ -0,0 +1,500 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prog8 defaults on C64 + + Commodore 64 + + Memory + + Commander X16 + + Prog8 defaults on X16 + + + Kernal ROM + + $F000 + + - + + $FFFF + + Kernal ROM (banked, max 32) + + + + + $E000 + + - + + $EFFF + + + + + I/O area + + $D000 + + - + + $DFFF + + + + $CF00-$CFFF: expression eval. stack$CF00-$CF20: CX16 “registers” R0-R15$C000-$CEFF: free to use + + RAM + + $C000 + + - + + $CFFF + + + + + Basic ROM + + $B000 + + - + + $BFFF + + Hi RAM (banked, max 256) + + + + + $A000 + + - + + $AFFF + + + + + RAM + + $9F00 + + - + + $9FFF + + I/O area + + + + + $9000 + + - + + $9EFF + + RAM + + + + + $8000 + + - + + $8FFF + + + + + + $7000 + + - + + $7FFF + + + + + + $6000 + + - + + $6FFF + + + + + + $5000 + + - + + $5FFF + + + + + + $4000 + + - + + $4FFF + + + + + + $3000 + + - + + $3FFF + + + + + + $2000 + + - + + $2FFF + + + + + + $1000 + + - + + $1FFF + + + + start of free Basic program memory + + + $0800 + + - + + $0FFF + + + start of free Basic program memory + + + Text screen + + $0400 + + - + + $07FF + + Golden” RAM + + $0700-$07FF: expression eval. stack$0400-$06FF: free to use + + + Kernal variables + + $0300 + + - + + $03FF + + Kernal variables + + + + + $0200 + + - + + $02FF + + + + + CPU stack + + $0100 + + - + + $01FF + + CPU stack + + + *special + + Zero Page + + $0000 + + - + + $00FF + + Zero Page + + *special + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/source/prog8compiler.odg b/docs/source/prog8compiler.odg index 6ed8b879a..2ded92bd5 100644 Binary files a/docs/source/prog8compiler.odg and b/docs/source/prog8compiler.odg differ diff --git a/docs/source/prog8compiler.svg b/docs/source/prog8compiler.svg index d79a82bfb..a56b8613d 100644 --- a/docs/source/prog8compiler.svg +++ b/docs/source/prog8compiler.svg @@ -1,9 +1,6 @@ - + @@ -130,7 +127,7 @@ - + @@ -177,13 +174,28 @@ + + + + + + + + + + + + + + + antlr - + @@ -191,7 +203,7 @@ - + @@ -199,7 +211,7 @@ - + @@ -207,7 +219,7 @@ - + @@ -215,7 +227,7 @@ - + @@ -223,28 +235,28 @@ - + - + - + - + @@ -252,21 +264,21 @@ - + - + - + @@ -274,7 +286,7 @@ - + @@ -282,21 +294,21 @@ - + - + - + @@ -304,20 +316,20 @@ - + - + (optional step) - + @@ -325,7 +337,7 @@ - + @@ -333,13 +345,13 @@ - + (if assembly generation is selected) - + @@ -347,14 +359,14 @@ - + - + @@ -362,14 +374,14 @@ - + - + @@ -377,7 +389,7 @@ - + @@ -385,14 +397,14 @@ - + - + @@ -400,14 +412,14 @@ - + - + @@ -415,41 +427,41 @@ - + - + - + - + - + (future) - + @@ -457,7 +469,7 @@ - + @@ -465,7 +477,7 @@ - + @@ -473,14 +485,14 @@ - + - + @@ -488,14 +500,14 @@ - + - + @@ -503,27 +515,27 @@ - + - + VM or experi - + - + Regular 6502 diff --git a/docs/source/targetsystem.rst b/docs/source/targetsystem.rst index 40bd3e010..31a5bd365 100644 --- a/docs/source/targetsystem.rst +++ b/docs/source/targetsystem.rst @@ -28,6 +28,11 @@ This chapter explains some relevant system details of the c64 and cx16 machines. Memory Model ============ +(Work in Progress) Memory Map Diagram for C64 and X16 + +.. image:: memorymap.svg + + Physical address space layout -----------------------------