From 5bf78c20d4bc8c37795d26fa3c061a404dc3f1af Mon Sep 17 00:00:00 2001 From: Irmen de Jong Date: Mon, 3 Apr 2023 20:47:31 +0200 Subject: [PATCH] update to Kotlin 1.8.20, docs update --- .idea/kotlinc.xml | 9 + docs/source/index.rst | 12 +- docs/source/memorymap.odg | Bin 54844 -> 57146 bytes docs/source/memorymap.svg | 463 ++++++++++------------------------- docs/source/programming.rst | 62 ++--- docs/source/targetsystem.rst | 82 +++---- gradle.properties | 2 +- 7 files changed, 214 insertions(+), 416 deletions(-) create mode 100644 .idea/kotlinc.xml diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 000000000..51f6d408e --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,9 @@ + + + + + + + \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index bca4071cd..aacd6e529 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -166,12 +166,12 @@ Detailed instructions on how to obtain a version of the compiler are in :ref:`bu Required additional tools ------------------------- -`64tass `_ - cross assembler. Install this on your shell path. -It's very easy to compile yourself. -A recent precompiled .exe (only for Windows) can be obtained from my `clone `_ of this project. -*You need at least version 1.55.2257 of this assembler to correctly use the breakpoints feature.* -If you are on a Debian based Linux, there's a "64tass" package in the repositories. It's a bit old but seems to work. -It's possible to use these older versions of 64tass, but it is likely that the automatic VICE breakpoints won't work with them though. +`64tass `_ - cross assembler. Install this program somewhere on your shell's search path. +It's easy to compile yourself, but a recent precompiled .exe (only for Windows) can be obtained from +`the files section `_ in the official project on sourceforge. +*You need at least version 1.56 of this assembler.* +If you are on a Debian based Linux, there's a "64tass" package in the repositories, which is a bit old, but it seems to work. +It's possible to use old versions of 64tass, but it is likely that certain things will break. A **Java runtime (jre or jdk), version 11 or newer** is required to run the prog8 compiler itself. If you're scared of Oracle's licensing terms, most Linux distributions ship OpenJDK or similar in their packages repository instead. diff --git a/docs/source/memorymap.odg b/docs/source/memorymap.odg index fe9fe7af2105e09c4130743c1dcaca11c70c0d01..019880295ff706ae3d9dea984f644f435df30c17 100644 GIT binary patch literal 57146 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%0D`DO+}obK2gnuFejw$u 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 - + - + - + @@ -31,6 +31,7 @@ + @@ -42,11 +43,9 @@ - - @@ -54,7 +53,6 @@ - @@ -71,24 +69,17 @@ - - - - - - - @@ -96,38 +87,14 @@ - - - - + + - - - - - - + - - - - - - - - - - - - - - - - - @@ -135,23 +102,15 @@ - - - - - - - - @@ -204,292 +163,128 @@ - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Memory + + Commander X16 + + Commodore 64 + + $F000 - $FFFF + + Kernal ROM (banked, max 32) + + Kernal ROM + + $E000 - $EFFF + + $D000 - $DFFF + + I/O area + + $C000 - $CFFF + + RAM« see footnotes » + + $B000 - $BFFF + + Hi RAM (banked, max 256) + + Basic ROM + + $A000 - $AFFF + + $9F00 - $9FFF + + I/O area + + Basic RAM + + $9000 - $9EFF + + Basic RAM + + $8000 - $8FFF + + $7000 - $7FFF + + $6000 - $6FFF + + $5000 - $5FFF + + $4000 - $4FFF + + $3000 - $3FFF + + $2000 - $2FFF + + $1000 - $1FFF + + $0800 - $0FFF + + $0400 - $07FF + + Golden” RAM« see footnotes » + + Text screen + + $0300 - $03FF + + Kernal variables + + Kernal variables + + $0200 - $02FF + + $0100 - $01FF + + CPU stack + + CPU stack + + $0000 - $00FF + + Zero Page« see footnotes » + + Zero Page« see footnotes » + + Memory + + Commander X16 + + Commodore 64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/source/programming.rst b/docs/source/programming.rst index de68512dd..3f3a7a746 100644 --- a/docs/source/programming.rst +++ b/docs/source/programming.rst @@ -763,35 +763,35 @@ You can use them in expressions and the compiler will evaluate them at compile-t Math ^^^^ -abs(x) +abs (x) Absolute value of an integer. Value returned is an unsigned word. For floating point numbers, use ``floats.fabs()`` instead. -sgn(x) +sgn (x) Get the sign of the value. Result is -1, 0 or 1 (negative, zero, positive). -sqrt16(w) +sqrt16 (w) 16 bit unsigned integer Square root. Result is unsigned byte. To do the reverse, squaring an integer, just write ``x*x``. -divmod(number, divident, division, remainder) +divmod (number, divident, division, remainder) Performs division and remainder calculation in a single call. This is faster than using separate '/' and '%' calculations. All values are ubytes. The last two arguments must be ubyte variables to receive the division and remainder results, respectively. -divmodw(number, divident, division, remainder) +divmodw (number, divident, division, remainder) Same as divmod, but for uwords. Array operations ^^^^^^^^^^^^^^^^ -any(x) +any (x) 1 ('true') if any of the values in the array value x is 'true' (not zero), else 0 ('false') -all(x) +all (x) 1 ('true') if all of the values in the array value x are 'true' (not zero), else 0 ('false') -len(x) +len (x) Number of values in the array value x, or the number of characters in a string (excluding the 0-byte). Note: this can be different from the number of *bytes* in memory if the datatype isn't a byte. See sizeof(). Note: lengths of strings and arrays are determined at compile-time! If your program modifies the actual @@ -799,11 +799,11 @@ len(x) (use the ``string.length`` routine if you want to dynamically determine the length by counting to the first 0-byte) -reverse(array) +reverse (array) Reverse the values in the array (in-place). Can be used after sort() to sort an array in descending order. -sort(array) +sort (array) Sort the array in ascending order (in-place) Supported are arrays of bytes or word values. Sorting a floating-point array is not supported right now, as a general sorting routine for this will @@ -816,18 +816,18 @@ sort(array) Miscellaneous ^^^^^^^^^^^^^ -cmp(x,y) +cmp (x,y) Compare the integer value x to integer value y. Doesn't return a value or boolean result, only sets the processor's status bits! You can use a conditional jumps (``if_cc`` etcetera) to act on this. Normally you should just use a comparison expression (``x < y``) -lsb(x) +lsb (x) Get the least significant byte of the word x. Equivalent to the cast "x as ubyte". -msb(x) +msb (x) Get the most significant byte of the word x. -mkword(msb, lsb) +mkword (msb, lsb) Efficiently create a word value from two bytes (the msb and the lsb). Avoids multiplication and shifting. So mkword($80, $22) results in $8022. @@ -836,36 +836,36 @@ mkword(msb, lsb) Don't get confused by how the system actually stores this 16-bit word value in memory (which is in little-endian format, so lsb first then msb) -peek(address) +peek (address) same as @(address) - reads the byte at the given address in memory. -peekw(address) +peekw (address) reads the word value at the given address in memory. Word is read as usual little-endian lsb/msb byte order. -poke(address, value) +poke (address, value) same as @(address)=value - writes the byte value at the given address in memory. -pokew(address, value) +pokew (address, value) writes the word value at the given address in memory, in usual little-endian lsb/msb byte order. -pokemon(address, value) +pokemon (address, value) Doesn't do anything useful. Also doesn't have anything to do with a certain video game. -push(value) +push (value) pushes a byte value on the CPU hardware stack. Low-level function that should normally not be used. -pushw(value) +pushw (value) pushes a 16-bit word value on the CPU hardware stack. Low-level function that should normally not be used. -pop(variable) +pop (variable) pops a byte value off the CPU hardware stack into the given variable. Only variables can be used. Low-level function that should normally not be used. -popw(value) +popw (value) pops a 16-bit word value off the CPU hardware stack into the given variable. Only variables can be used. Low-level function that should normally not be used. -rol(x) +rol (x) Rotate the bits in x (byte or word) one position to the left. This uses the CPU's rotate semantics: bit 0 will be set to the current value of the Carry flag, while the highest bit will become the new Carry flag value. @@ -873,13 +873,13 @@ rol(x) Modifies in-place, doesn't return a value (so can't be used in an expression). You can rol a memory location directly by using the direct memory access syntax, so like ``rol(@($5000))`` -rol2(x) +rol2 (x) Like ``rol`` but now as 8-bit or 16-bit rotation. It uses some extra logic to not consider the carry flag as extra rotation bit. Modifies in-place, doesn't return a value (so can't be used in an expression). You can rol a memory location directly by using the direct memory access syntax, so like ``rol2(@($5000))`` -ror(x) +ror (x) Rotate the bits in x (byte or word) one position to the right. This uses the CPU's rotate semantics: the highest bit will be set to the current value of the Carry flag, while bit 0 will become the new Carry flag value. @@ -887,19 +887,19 @@ ror(x) Modifies in-place, doesn't return a value (so can't be used in an expression). You can ror a memory location directly by using the direct memory access syntax, so like ``ror(@($5000))`` -ror2(x) +ror2 (x) Like ``ror`` but now as 8-bit or 16-bit rotation. It uses some extra logic to not consider the carry flag as extra rotation bit. Modifies in-place, doesn't return a value (so can't be used in an expression). You can ror a memory location directly by using the direct memory access syntax, so like ``ror2(@($5000))`` -sizeof(name) +sizeof (name) Number of bytes that the object 'name' occupies in memory. This is a constant determined by the data type of the object. For instance, for a variable of type uword, the sizeof is 2. For an 10 element array of floats, it is 50 (on the C64, where a float is 5 bytes). Note: usually you will be interested in the number of elements in an array, use len() for that. -memory(name, size, alignment) +memory (name, size, alignment) Returns the address of the first location of a statically "reserved" block of memory of the given size in bytes, with the given name. The block is uninitialized memory, it is *not* set to zero! If you specify an alignment value >1, it means the block of memory will @@ -914,7 +914,7 @@ memory(name, size, alignment) The return value is just a simple uword address so it cannot be used as an array in your program. You can only treat it as a pointer or use it in inline assembly. -callfar(bank, address, argumentword) -> uword ; NOTE: specific to cx16 target for now +callfar (bank, address, argumentword) -> uword ; NOTE: specific to cx16 target for now Calls an assembly routine in another bank on the Commander X16 (using its ``jsrfar`` routine) Be aware that ram OR rom bank may be changed depending on the address it jumps to! The argumentword will be loaded into the A+Y registers before calling the routine. @@ -922,7 +922,7 @@ callfar(bank, address, argumentword) -> uword ; NOTE: specific to cx16 targe NOTE: this routine is very inefficient, so don't use it to call often. Set the bank yourself or even write a custom tailored trampoline routine if you need to. -syscall(callnr), syscall1(callnr, arg), syscall2(callnr, arg1, arg2), syscall3(callnr, arg1, arg2, arg3) +syscall (callnr), syscall1 (callnr, arg), syscall2 (callnr, arg1, arg2), syscall3 (callnr, arg1, arg2, arg3) Functions for doing a system call on targets that support this. Currently no actual target uses this though except, possibly, the experimental code generation target! The regular 6502 based compiler targets just use a subroutine call to asmsub Kernal routines at diff --git a/docs/source/targetsystem.rst b/docs/source/targetsystem.rst index 31a5bd365..050e411e0 100644 --- a/docs/source/targetsystem.rst +++ b/docs/source/targetsystem.rst @@ -28,18 +28,12 @@ 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 ------------------------------ +Generic 6502 Physical address space layout +------------------------------------------ The 6502 CPU can address 64 kilobyte of memory. Most of the 64 kilobyte address space can be used by Prog8 programs. -This is a hard limit: there is no built-in support for RAM expansions or bank switching. - +This is a hard limit: there is no support for RAM expansions or bank switching built natively into the language. ====================== ================== ======== memory area type note @@ -47,54 +41,54 @@ memory area type note ``$00``--``$ff`` zeropage contains many sensitive system variables ``$100``--``$1ff`` Hardware stack used by the CPU, normally not accessed directly ``$0200``--``$ffff`` Free RAM or ROM free to use memory area, often a mix of RAM and ROM + depending on the specific computer system ====================== ================== ======== -A few of these memory addresses are reserved and cannot be used for arbitrary data. -They have a special hardware function, or are reserved for internal use in the -code generated by the compiler: +Memory map for the C64 and the X16 +---------------------------------- -================== ======================= -reserved address in use for -================== ======================= -``$00`` data direction (CPU hw) -``$01`` bank select (CPU hw) -``$02`` internal scratch variable -``$03`` internal scratch variable -``$fb - $fc`` internal scratch variable -``$fd - $fe`` internal scratch variable -``$fffa - $fffb`` NMI vector (CPU hw) -``$fffc - $fffd`` RESET vector (CPU hw) -``$fffe - $ffff`` IRQ vector (CPU hw) -================== ======================= +This is the default memory map of the 64 Kb addressable memory for those two systems. +Both systems have ways to alter the memory map and/or to switch memory banks, but that is not shown here. -The actual machine will often have many other special addresses as well, -For example, the Commodore 64 has: +.. image:: memorymap.svg -- ROMs installed in the machine: BASIC, Kernal and character roms. Occupying ``$a000``--``$bfff`` and ``$e000``--``$ffff``. -- memory-mapped I/O registers, for the video and sound chips, and the CIA's. Occupying ``$d000``--``$dfff``. -- RAM areas that are used for screen graphics and sprite data: usually at ``$0400``--``$07ff``. +Footnotes for the Commander X16 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +*Golden Ram $0400 - $07FF* + *reserved:* $0700 - $07FF (expression evaluation stack) -Prog8 programs can access all of those special memory locations but it will have a special meaning. + *free to use:* $0400 - $06FF + +*Zero Page $0000 - $00FF* + $00 and $01 are hardwired as Rom and Ram banking registers. + + $02 - $21 are the 16 virtual cx16 registers R0-R15. + + $22 - $7F are free to use, and Prog8 utilizes this to put variables in automatically. + + The top half of the ZP ($80-$FF) is reserved for use by the Kernal and Basic in normal operation. + Zero page use by Prog8 can be manipulated with the ``%zeropage`` directive, various options + may free up more locations for use by Prog8. -.. _zeropage: +Footnotes for the Commodore 64 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Zeropage ("ZP") ---------------- +*RAM $C000-$CFFF* + *reserved:* $CF00 - $CFFF (expression evaluation stack) + *this includes:* $CF00 - $CF20 for the 16 virtual cx16 registers R0-R15 -The zeropage memory block ``$02``--``$ff`` can be regarded as 254 CPU 'registers', because -they take less clock cycles to access and need fewer instruction bytes than accessing other memory locations outside of the ZP. -Theoretically they can all be used in a program, with the following limitations: + *free to use:* $C000 - $CEFF -- several addresses (``$02``, ``$03``, ``$fb - $fc``, ``$fd - $fe``) are reserved for internal use -- most other addresses will already be in use by the machine's operating system or Kernal, - and overwriting them will probably crash the machine. It is possible to use all of these - yourself, but only if the program takes over the entire system (and seizes control from the regular Kernal). - This means it can no longer use (most) BASIC and Kernal routines from ROM. -- it's more convenient and safe to let the compiler allocate these addresses for you and just - use symbolic names in the program code. +*Zero Page $0000 - $00FF* + Consider the full zero page to be reserved for use by the Kernal and Basic in normal operation. + Zero page use by Prog8 can be manipulated with the ``%zeropage`` directive, various options + may free up more locations for use by Prog8. + +Zero page usage by the Prog8 compiler +------------------------------------- Prog8 knows what addresses are safe to use in the various ZP handling configurations. It will use the free ZP addresses to place its ZP variables in, until they're all used up. If instructed to output a program that takes over the entire diff --git a/gradle.properties b/gradle.properties index 7c76c34d4..9fbf0d876 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,4 +4,4 @@ org.gradle.parallel=true org.gradle.daemon=true kotlin.code.style=official javaVersion=11 -kotlinVersion=1.8.10 +kotlinVersion=1.8.20