Commit Graph

4035 Commits

Author SHA1 Message Date
Irmen de Jong
2a53dbc1f3 tweaks 2026-02-27 01:56:55 +01:00
Irmen de Jong
10796c09c7 cleanup weiord multi-return type handling more 2026-02-24 21:42:44 +01:00
Irmen de Jong
bdbdf6e5cd add lmh(longvalue) builtin function that returns the low, mid, hi (=bank) bytes of a long
symboldumps now also contain the builtin functions
2026-02-23 21:30:39 +01:00
Irmen de Jong
f6b59c6832 optimize some result register cases for peekw() 2026-02-23 00:54:12 +01:00
Irmen de Jong
9736ac19d1 implementing multiple return values for builtin functions 2026-02-22 19:54:21 +01:00
Irmen de Jong
14abc1f0b7 clarify compiler errors output 2026-02-22 03:22:20 +01:00
Irmen de Jong
effc7f1b56 optimize and fix diskio.status_code() also for C64 and PET 2026-02-21 11:07:57 +01:00
Irmen de Jong
093be9f2dd sys.push(), sys.pop() etc etc are now builtin functions again push() pop() to avoid storing value in temporary variables
this means that all of the syslib.p8 library files no longer contain all those stack related asmsubs
2026-02-21 02:11:34 +01:00
Irmen de Jong
9aff85f08a optimize diskio.status_code() size 2026-02-20 20:52:49 +01:00
Irmen de Jong
f2077cb56f sqrt_long() no longer allocates a bunch of zeropage variables 2026-02-20 01:23:33 +01:00
Irmen de Jong
2a9ac45cad diskio: make f_open, f_open_w, and exists to read the command channel for success status rather than depending on flaky ST 2026-02-18 02:05:47 +01:00
Irmen de Jong
a64b586a43 Merge branch 'swap-statement' 2026-02-17 21:00:43 +01:00
Irmen de Jong
2613d45cd5 swap() is now a statement instead of a builtin function call 2026-02-17 20:56:21 +01:00
Irmen de Jong
77f0cf8e89 defer stack doc and better error message for invalid range syntax 2026-02-16 23:00:50 +01:00
Irmen de Jong
74ca190ce0 long args call convention is to pass via parameter variable not R14R15 2026-02-15 17:36:09 +01:00
Irmen de Jong
6a0b22bb64 implement sqrt(long) 2026-02-15 17:11:31 +01:00
Irmen de Jong
07be7f0154 fix long argument @R0R1 register usage in regular subroutines 2026-02-15 14:54:47 +01:00
Irmen de Jong
3bd2064c3a mention empty file issue 2026-02-12 22:10:53 +01:00
Irmen de Jong
f95f568319 fix mflpt5 overflow error message 2026-02-12 02:29:10 +01:00
Irmen de Jong
5eb873b722 conv.str2long() added. alias problems detected. 2026-02-12 00:38:42 +01:00
Irmen de Jong
3f181b0ede allow alias to blocks 2026-02-10 22:51:05 +01:00
Irmen de Jong
d6c8fc0c61 alias refactorings 2026-02-10 21:08:35 +01:00
Irmen de Jong
709ced1bca alias test program, replace alias chains 2026-02-10 21:08:35 +01:00
Irmen de Jong
b9a6deea25 implement ror / rol on ptr expressions 2026-02-08 21:20:13 +01:00
Irmen de Jong
ed02b84f7d micro optimization for containment checks in compiler 2026-02-06 02:43:12 +01:00
Irmen de Jong
7d6e67e251 fix numeric type error when comparing undefined symbols 2026-02-04 23:55:08 +01:00
Andrew Gillham
e5ae9ad4e0 Add PET 80 column support. (#211) 2026-02-02 23:02:01 +01:00
Irmen de Jong
ac851a35bc implement FREADUY on pet, so that ubyte to float now works 2026-01-31 19:31:26 +01:00
Irmen de Jong
88b48f58c9 fix string init error about string multiplication. fixes #209 2026-01-30 17:36:48 +01:00
Irmen de Jong
c3f9959891 fixed invalid replacement in optimization of if-statement.
better replacement errors.
fixes #208
2026-01-28 22:58:53 +01:00
Irmen de Jong
415f0fb071 pet: added bunch more diskio routines like directory(), delete(), rename() and list_filenames() 2026-01-27 01:07:08 +01:00
Irmen de Jong
8e7bf4227b pet: added diskio.save() and save_raw() 2026-01-26 22:32:46 +01:00
Irmen de Jong
d2b743c296 pet: added diskio.load() and load_raw() 2026-01-26 02:38:40 +01:00
Irmen de Jong
b2983e912d swap longs now uses R14+R15 as temporary storage instead of R0+R1 2026-01-25 17:02:47 +01:00
Irmen de Jong
10ae42ed59 suggest import for undefined block symbols, update github links 2026-01-25 05:45:33 +01:00
Irmen de Jong
5cbd4aafcc strings: added next_token() which mimicks C's strtok() routine 2026-01-25 00:09:52 +01:00
Irmen de Jong
4aa326d5ca diskio: added lf_start_list_having_prefix()
strings: added split()
2026-01-24 22:42:54 +01:00
Irmen de Jong
39b1bbcf58 pet32: added more missing routines in textio like column(), row() 2026-01-24 19:34:33 +01:00
Irmen de Jong
ab98f4a5e2 fix charset encoding error with merge. Fixes #207 2026-01-24 16:13:11 +01:00
Irmen de Jong
b99b054a09 cx16: add missing extapi16 call numbers
tweak swap(long,long) and swap(ptr^^, ptr^^)
2026-01-24 11:51:42 +01:00
Irmen de Jong
5d5ad8a70e fix void/nonvoid assign target issue 2026-01-24 01:11:30 +01:00
Irmen de Jong
9a5edeebbc upgrade to kotlin 2.3.0 2026-01-24 00:29:45 +01:00
Irmen de Jong
3fb45a611a make math.gcd() use swap() builtin 2026-01-24 00:14:31 +01:00
Irmen de Jong
2e0db6f211 add swap() builtin for optimized value swaps without the need for a temporary variable 2026-01-23 23:17:10 +01:00
Irmen de Jong
51ac096a31 add a -warnimplicitcasts compiler option 2026-01-23 03:06:53 +01:00
Irmen de Jong
dfad83650d add math.gcd() 2026-01-23 00:03:13 +01:00
Irmen de Jong
492cd686a0 avoid invalid pointer arithmetic in joined expresssions. Fixes #206 2026-01-22 22:25:48 +01:00
Irmen de Jong
561e05a764 decent error message for unsupported struct instance expressions. Fixes #205 2026-01-22 02:47:44 +01:00
Irmen de Jong
f56037142b added petgfx module for pet32, c64, c128 for petscii block characters drawing (double resolution) 2026-01-22 02:17:04 +01:00
Irmen de Jong
a41cb60328 pet: working boingball example, implement floats.GIVUAYFAY
cx16: improved floats.GIVUAYFAY to no longer depend on magic zp locations
2026-01-20 22:58:47 +01:00