Irmen de Jong
|
fb3a001a99
|
attempting to optimize redundant variable initializations (STZs)
|
2026-03-12 21:38:28 +01:00 |
|
Irmen de Jong
|
04910ffbc0
|
add enum syntax (sugar for list of const decls)
|
2026-03-10 20:33:43 +01:00 |
|
Irmen de Jong
|
f9767a5b1b
|
cx16: added sys.waitirq() that just does a WAI like waitvsync() but it is explicit about its behavior
|
2026-03-08 18:05:43 +01:00 |
|
Irmen de Jong
|
3b68741208
|
replace indexed pointer deref expressions with peek(ptr+index)
|
2026-03-08 12:59:34 +01:00 |
|
Irmen de Jong
|
1ad9e0fc46
|
implement missing struct field array indexing and faulty pointer dereferencing
|
2026-03-08 02:43:52 +01:00 |
|
Irmen de Jong
|
ce244906ef
|
added wavfile and adpcm library modules (adpcm only on X16)
|
2026-03-07 20:47:23 +01:00 |
|
Irmen de Jong
|
998d1ad446
|
IR: storezi now also takes an immediate offset argument, optimized some code gen to utilize that offset better insteads of doing separate ADDs
|
2026-03-04 01:12:01 +01:00 |
|
Irmen de Jong
|
89e38c6d42
|
IR: loadfield/storefield are now just loadi/storei
|
2026-03-03 21:17:27 +01:00 |
|
Irmen de Jong
|
a326c6f079
|
adding multivalue vardecls and assignments
|
2026-03-03 00:06:48 +01:00 |
|
Irmen de Jong
|
17850d3bc1
|
fix certain long initialization type error
|
2026-03-02 02:14:31 +01:00 |
|
Irmen de Jong
|
d03e49a92f
|
implemented 6502 long loops with step >1
|
2026-03-01 03:13:54 +01:00 |
|
Irmen de Jong
|
62c5b531c5
|
implemented 6502 long loops with step 1 or -1
|
2026-03-01 02:06:18 +01:00 |
|
Irmen de Jong
|
8911f58bd2
|
fix IR long comparisons (used in for loops for instance)
|
2026-03-01 01:45:07 +01:00 |
|
Irmen de Jong
|
da6e47d422
|
fix IR long comparisons (used in for loops for instance)
|
2026-03-01 01:17:22 +01:00 |
|
Irmen de Jong
|
10d80d0274
|
tinyc64 custom config: move SCRATCH_PTR to $04+$05, from $9b+$9c because $9b is used by JiffyDOS. see #217
|
2026-02-28 23:19:57 +01:00 |
|
Irmen de Jong
|
0a52cd2cee
|
changed math.crc16() to now also take an initvalue and xorout value, to make it more flexible in calculating various variants of CRC16 checksums
|
2026-02-28 18:13:00 +01:00 |
|
Irmen de Jong
|
859a02fb0a
|
adding profiling instrumentation support
|
2026-02-27 22:41:42 +01:00 |
|
Irmen de Jong
|
08e3652924
|
sgn() can look directly at msb if arg is a variable
|
2026-02-24 22:11:50 +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
|
1b5dd980df
|
optimize result register cases for mklong() and mkword()
|
2026-02-23 02:07:43 +01:00 |
|
Irmen de Jong
|
f6b59c6832
|
optimize some result register cases for peekw()
|
2026-02-23 00:54:12 +01:00 |
|
Irmen de Jong
|
fe8d904792
|
fixing result register assignment from builtin functions
|
2026-02-22 19:54:21 +01:00 |
|
Irmen de Jong
|
9736ac19d1
|
implementing multiple return values for builtin functions
|
2026-02-22 19:54:21 +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
|
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
|
2613d45cd5
|
swap() is now a statement instead of a builtin function call
|
2026-02-17 20:56:21 +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
|
5eb873b722
|
conv.str2long() added. alias problems detected.
|
2026-02-12 00:38:42 +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
|
75accf4059
|
release 12.1
|
2026-01-28 23:45:42 +01:00 |
|
Irmen de Jong
|
ee492a1e9a
|
some more optimized swap() code paths
|
2026-01-28 00:07:10 +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
|
cb44e76626
|
swap
|
2026-01-25 19:14:05 +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
|
4661d3bada
|
implement simple array element swap()
|
2026-01-24 18:41:25 +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
|
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
|
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
|
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 |
|