From 5c672130e6f751072d0cfa738f61b2cd8b6c7351 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 --- .idea/kotlinc.xml | 9 + docs/source/index.rst | 12 +- docs/source/memorymap.odg | Bin 54844 -> 53446 bytes docs/source/memorymap.svg | 598 ++++++++++++++++------------------- docs/source/programming.rst | 62 ++-- docs/source/targetsystem.rst | 82 +++-- gradle.properties | 2 +- 7 files changed, 349 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..a2c778555ecbe7a8909d15bcbd6526e9385e82b1 100644 GIT binary patch literal 53446 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 - + - + - + @@ -42,11 +42,9 @@ - - @@ -54,7 +52,6 @@ - @@ -71,24 +68,17 @@ - - - - - - - @@ -96,38 +86,14 @@ - - - - + + - - - - - - + - - - - - - - - - - - - - - - - - @@ -135,29 +101,40 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -204,292 +181,245 @@ - - - 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 + + start of Basic program + + start of Basic program + + $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