Commit Graph

259 Commits

Author SHA1 Message Date
Irmen de Jong
cc13a51493 fix import order problem related to %option merge 2024-11-23 12:15:15 +01:00
Irmen de Jong
35c477b5a6 Make extsub address a (constant) expression instead of a numeric literal
this makes it easier to define API jump tables
2024-11-20 23:23:26 +01:00
Irmen de Jong
1b528491c2 make %memtop exclusive i.e. the first address NOT to use (like kernal MEMTOP) 2024-11-10 23:35:25 +01:00
Irmen de Jong
300d1a871c c128 banks out basic, added banks() and getbanks() 2024-11-09 15:44:08 +01:00
Irmen de Jong
64164c1c72 changed @initonce to @dirty and meaning is now: not initialized at all. 2024-11-08 22:05:31 +01:00
Irmen de Jong
9864abd393 romsub keyword is now extsub 2024-11-06 22:14:53 +01:00
Irmen de Jong
77e376f6bf romsub @bank now also accepts a variable so the bank can be dynamic 2024-11-06 00:02:36 +01:00
Irmen de Jong
fddd390d31 on the C64, if not using floats, disable basic ROM in startup to gain another 8Kb of RAM
MEMTOP is adjusted to $d000. This gives us 50 Kb of contiguous program RAM space. ($0801-$CFFF)
2024-11-04 22:11:44 +01:00
Irmen de Jong
85e87dfe2e consolidate @rombank and @rambank into just @bank 2024-11-03 21:15:11 +01:00
Irmen de Jong
cb47e2c149 documented the romsub bank additions 2024-11-03 20:39:44 +01:00
Irmen de Jong
9f84aa5fb2 fix double %option merge problem where it deleted all of the blocks 2024-11-03 13:36:14 +01:00
Irmen de Jong
a231872821 tip for using aliases for the virtual registers r0-r15 2024-11-02 22:09:20 +01:00
Irmen de Jong
3b798097b9 added memtop to machine definition and asm source code check
added %memtop directive
2024-11-02 00:59:07 +01:00
Irmen de Jong
eeeb8d81f4 merge now also allows monkeypatching if signature is 100% identical 2024-10-30 01:15:56 +01:00
Irmen de Jong
bbba4b3d60 new block merge semantics and implementation 2024-10-29 22:57:54 +01:00
Irmen de Jong
a82f211f9a added alias statement 2024-10-28 00:36:10 +01:00
Irmen de Jong
28b383f888 docs and syntax for @alignxxx and %align 2024-10-27 00:47:52 +02:00
Irmen de Jong
1f2d46628e remove %option align_xxx (block level alignment, as we now have better alternatives) 2024-10-26 21:18:34 +02:00
Irmen de Jong
326eab3dd1 unit test for defer, describe defer and if expression in docs 2024-10-22 22:19:49 +02:00
Irmen de Jong
e9edffa9f0 remove support for array-to-array assignments (other than initialization of variable declaration)
Just use an explicit sys.memcopy(src, dest, sizeof(dest))  or assign array members individually.
2024-10-13 20:02:43 +02:00
Irmen de Jong
7a0eaf3148 Remove array initialization by single value.
New compiler and kotlin version.
2024-10-13 04:31:56 +02:00
Irmen de Jong
97c2dadd16 doc update 2024-09-01 20:55:43 +02:00
Irmen de Jong
8f6eaeac2c half width katakana conversion 2024-08-21 18:51:34 +02:00
Irmen de Jong
b4facaeb3c add "kata" string encoding (Katakana) 2024-08-20 21:40:43 +02:00
Irmen de Jong
2aae1f5e30 stricter checks for negative array indexing 2024-07-20 22:37:03 +02:00
Irmen de Jong
bbf621a8c4 doc 2024-06-29 13:39:08 +02:00
Irmen de Jong
63f5ef9e14 fix typo for bool array storage size 2024-06-20 22:55:47 +02:00
Irmen de Jong
0dc50a93a4 added @nozp variable flag 2024-05-21 21:53:58 +02:00
Irmen de Jong
ddb8346711 added txt.cls() as a shorter alternative to clear_screen().
cx16: added new character encodings, and routines in textio to enable the character sets for them.
cx16: added txt.chrout_lit() and txt.print_lit() to always print the literal characters and never as control codes
2024-04-07 19:32:44 +02:00
Irmen de Jong
8dd3faf395 clarification 2024-04-06 14:31:39 +02:00
Irmen de Jong
35f3e8708b doc and tweak subexpression extraction a tiny bit 2024-04-06 14:01:06 +02:00
Irmen de Jong
34f3169dda tweak library routines for multiple return values.
cbm:
MEMTOP changed (now also returns nr of banks in A)
STOP2 removed (just use STOP)
RDTIM_safe() added                  TEST IRQ ENABLE
RDTIM16 changed (internally)        TEST IRQ ENABLE

cx16:
screen_mode changed (now also returns width and height in X,Y)
kbdbuf_peek2 removed (just use kbdbuf_peek)
joystick_get changed (presence now returned as bool in Y)
joystick_get2 removed (just use joystick_get)
mouse_pos changed (now properly returns x and y position in R0 and R1)
set_led_brightness changed into set_led_state, with only a boolean on/off argument. There is no variable brightness.

sys.set_leds_brightness() removed. Use cx16.set_led_brightness().
2024-04-04 01:39:19 +02:00
Irmen de Jong
a5e0e31b74 clarify order of multi-assign 2024-04-02 01:47:46 +02:00
Irmen de Jong
641f6c05d8 allow 'void' as dummy assign target in multi-assignment statements 2024-03-31 23:43:26 +02:00
Irmen de Jong
3e34a3ef72 allow multi-assign to skip any status register result 2024-03-29 23:10:08 +01:00
Irmen de Jong
56f41d5e34 docs about multi-assign 2024-03-28 23:24:14 +01:00
Irmen de Jong
d14c61b160 added string.findstr(). string.find() returns 255 if not found.
also fix string assignment bug for sub args.
2024-03-17 23:18:33 +01:00
Irmen de Jong
a5a918df84 update docs about boolean type 2024-03-12 18:54:56 +01:00
Irmen de Jong
8485b8429f optimizing +=1/-=1 2024-02-06 23:49:40 +01:00
Irmen de Jong
9aea2b22c4 doc improvement, fixes #120 2024-01-30 19:07:18 +01:00
OODLER
9e33b8b8da
Added a couple of for examples using descending ranges. (#119) 2024-01-16 20:19:05 +01:00
Irmen de Jong
6aed7e429a allow containment check in a range expression ("run time" range expression) 2024-01-03 01:17:13 +01:00
Irmen de Jong
0e086d788b removed chained comparisons again, because they caused invalid expression evaluations due to changed semantics. 2024-01-01 16:00:11 +01:00
Irmen de Jong
1c55a6c6dc shortcutting part one 2023-12-30 03:54:12 +01:00
Irmen de Jong
a0594cbce3 const optimizer now knows about a bunch of library functions, such as math.* 2023-12-28 20:14:13 +01:00
Irmen de Jong
078bfefe41 clarify scoped names a bit more 2023-12-28 16:36:29 +01:00
Irmen de Jong
dfce292294 allow chained comparisons i<x<j (desugared into: i<x and x<j) 2023-12-28 01:18:59 +01:00
Irmen de Jong
2b8f613a00 added %option ignore_unused to suppress warnings about unused vars and subs in that module/block.
Also improved error for invalid directive.
2023-12-26 23:37:59 +01:00
Irmen de Jong
38a22fbc99 allow %option no_symbol_prefixing also on module scope 2023-12-26 12:31:18 +01:00
Irmen de Jong
4cd9bb8f99 allow Python-style negative array indexing to count from the end 2023-12-23 16:37:28 +01:00