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 |
|
Irmen de Jong
|
ca3e4b161b
|
add Amiga boing ball example, plus more pet syslib definitions, and pet diskio beginnings
|
2026-01-19 22:47:58 +01:00 |
|
Irmen de Jong
|
4971ebd41f
|
pet32: added floats support!
|
2026-01-18 23:32:19 +01:00 |
|
Irmen de Jong
|
e2276f000c
|
fix alias issue when it targeted multi variable declaration
|
2026-01-18 19:48:37 +01:00 |
|
Irmen de Jong
|
520a12194e
|
cx16: add new X16Edit rom entrypoint x16edit_loadfile_options2() that also takes starting line number
|
2026-01-18 19:10:06 +01:00 |
|
Irmen de Jong
|
a385412e70
|
smaller floats.internal_long_to_float()
|
2026-01-17 20:38:30 +01:00 |
|
Irmen de Jong
|
3009ddaaab
|
strings: adding compare_nocase and compare_nocase_iso
|
2026-01-17 17:01:34 +01:00 |
|
Irmen de Jong
|
d477e9b2bd
|
pet32: added VIA registers (in 'pet' namespace) and petsnd module to play sound.
|
2026-01-16 00:15:04 +01:00 |
|
Irmen de Jong
|
e3bb09d2a1
|
diskio: case insensitive file/dir listings only on CX16 target, and based on ISO encoding
|
2026-01-14 23:12:12 +01:00 |
|
Irmen de Jong
|
112bce0ac0
|
cx16: added ISO lowercase and uppercase routines to strings module
|
2026-01-14 22:07:24 +01:00 |
|
Irmen de Jong
|
620793011e
|
way faster long to float conversion routine, fixes #202
|
2026-01-13 22:55:37 +01:00 |
|
Irmen de Jong
|
cb4ffaa028
|
added case-insensitive pattern matcher strings.pattern_match_nocase()
added various case-insensitive versions of the file and directory listing routines in diskio (the ones that take an optional pattern)
|
2026-01-13 01:33:46 +01:00 |
|
Irmen de Jong
|
8c4944d703
|
optimized long and float copying through pointers
|
2026-01-12 00:19:21 +01:00 |
|
Irmen de Jong
|
f5fbb5f930
|
implement some missing float copy
|
2026-01-11 22:06:21 +01:00 |
|
Irmen de Jong
|
40ce40db32
|
irq doc
|
2026-01-11 19:00:37 +01:00 |
|
Irmen de Jong
|
5cd175d54f
|
optimize successive additions/subtractions and multiplications (with const) into just a single add/sub, mul
optimize var = simpleexpression | var += expression --> var = simpleexpression + expression (for any augmented operator)
|
2026-01-11 01:30:04 +01:00 |
|
Irmen de Jong
|
b51e116b63
|
optimize expression: uwordvar + 256 and variants to only manipulate msb
|
2026-01-10 22:50:33 +01:00 |
|
Irmen de Jong
|
5c7ac0efb7
|
IR: remove broken loadi/storei optimization
|
2026-01-10 22:23:01 +01:00 |
|