Irmen de Jong
3beb565c84
m68k targets: add sys.stack_size() function that gives remaining stack size in bytes
2026-10-07 00:39:11 +02:00
Irmen de Jong
1f8b42fae5
make user docs and some code comments less convoluted
2026-10-05 20:00:32 +02:00
Irmen de Jong
a1ce45e409
doc updates
2026-10-02 23:24:07 +02:00
Irmen de Jong
09d469714b
whole enum aliasing (by aliasing each member)
2026-10-02 22:53:25 +02:00
Irmen de Jong
38db571f20
implemented -o / --output to specify specific output file
2026-10-02 22:33:43 +02:00
Irmen de Jong
5f3b587af1
docs
...
outputfile todo
2026-10-02 21:28:18 +02:00
Irmen de Jong
d6ea0782e2
amiga: added lowlevel.library support
2026-09-30 19:23:32 +02:00
Irmen de Jong
bd1747926c
slightly optimize long multiplication
2026-09-28 02:29:25 +02:00
Irmen de Jong
ec4b47ac0d
support custom m68k targets: select the codegen by CpuType and allow a per-target link.ld
2026-09-27 11:50:33 +02:00
Irmen de Jong
b8c975704a
6502 byte shift optimization for const multiplications
2026-09-26 03:25:25 +02:00
Irmen de Jong
9a83b7455a
possible 6502 codegen optimization opportunities
2026-09-25 23:58:59 +02:00
Irmen de Jong
9fce07565c
some romable tests, fix romable callfar crash and update stale VM label address test
2026-09-25 22:40:36 +02:00
Irmen de Jong
d703d678b4
fix VM label-valued initializers
2026-09-25 02:22:19 +02:00
Irmen de Jong
90a7c41586
fix IR symbol prefixing
2026-09-25 02:04:43 +02:00
Irmen de Jong
b1a9ba929d
remove ARRAY_POINTER and make pointer arrays target-independent
2026-09-25 01:18:32 +02:00
Irmen de Jong
c031737da0
fixup docs about amiga targets (missing amiga1200 mostly)
2026-09-24 22:31:03 +02:00
Irmen de Jong
4cbf93da85
fix Status flag extraction clobbers a register return value
2026-09-24 01:00:49 +02:00
Irmen de Jong
976b64185d
fix struct size truncation to 256 bytes on targets that allow larger structs (m68k)
2026-09-24 00:22:23 +02:00
Irmen de Jong
2050fcb4ee
m68k: emit struct field definitions in the asm
2026-09-23 23:55:57 +02:00
Irmen de Jong
4eaba62f1e
6502 codegen: inline clamp() on word/uword when having compile-time constant bounds
2026-09-23 22:54:57 +02:00
Irmen de Jong
bf696bcf5e
fix multiple status flag returns in new codegens
2026-09-23 03:10:59 +02:00
Irmen de Jong
34bbb46514
fix a few new6502 codegen bugs
2026-09-23 01:27:40 +02:00
Irmen de Jong
f086918e6f
add union types: structs where every field is at offset 0, thus saving memory
2026-09-23 00:07:44 +02:00
Irmen de Jong
521f7ffbe6
tweak amiga audio
2026-09-22 22:49:09 +02:00
Irmen de Jong
2d070aaec4
Fix 6502 pointer-field augmented assignment clobbering scratch pointer
...
Fixes #245
2026-09-21 22:51:11 +02:00
Irmen de Jong
044a4a1789
amiga: added trackdisk device support
2026-09-21 00:13:17 +02:00
Irmen de Jong
ac4ae0440f
vera64 restructure
2026-09-19 17:50:30 +02:00
Irmen de Jong
efee8bde68
added preliminary VERA64 support library for the c64 target
...
vera64 = a board for the c64 containing a VERA graphics adapter
2026-09-19 00:14:11 +02:00
Irmen de Jong
ef64e2f9a4
fix typed pointer arithmetic p2-p1 to yield the number of elements. fixes #244
2026-09-18 21:22:07 +02:00
Irmen de Jong
7f3b2e8aa6
m68k asm versions of adpcm decoder routines, now byte at a time instead of nibble
2026-09-17 21:53:13 +02:00
Irmen de Jong
f254fc2b62
m68k asm versions of adpcm decoder routines
2026-09-17 02:53:48 +02:00
Irmen de Jong
457d55b392
fix potential endless loop in wavfile library, also made a correct implementation of it for m68k targets (little/big endianness problem resolved)
2026-09-17 00:04:34 +02:00
Irmen de Jong
b21a984dbb
even more optimized adpcm decoding routine
2026-09-16 19:04:49 +02:00
Irmen de Jong
192e0086f9
update plans
2026-09-16 00:52:40 +02:00
Irmen de Jong
7ba2ee9857
added named struct field initializers
2026-09-14 00:56:22 +02:00
Irmen de Jong
a025d68291
added %assert expression, "message"
2026-09-13 23:04:56 +02:00
Irmen de Jong
81794aded3
use Mordant library to make some terminal output more sophisticated
...
this library is already used by the Clikt option parser library so no new dependency
2026-09-13 21:28:32 +02:00
Irmen de Jong
9621552056
add 'arena' allocator library
...
6502 targets use uword sizes with no alignment overhead; m68k/virtual use
long sizes with even-address alignment. Updated the six pointer examples that used to have their own arena implementation.
2026-09-13 05:43:57 +02:00
Irmen de Jong
5685a1f229
6502: tighter for loop code for word and long loop vars
2026-09-13 04:29:59 +02:00
Irmen de Jong
ca729d279e
update history and syntax files
2026-09-12 23:14:50 +02:00
Irmen de Jong
ceffa4d83d
todos
2026-09-11 19:25:43 +02:00
Irmen de Jong
302e4bdf8e
m68k targets are experimental not for production code use
2026-09-10 20:41:00 +02:00
Irmen de Jong
4c65049817
proper error message when using a builtin function name as block name
2026-09-09 04:05:31 +02:00
Irmen de Jong
a7cbc2c5bf
Review fixes: pointer read desugaring and poke->assignment optimizer
2026-09-09 02:31:21 +02:00
Irmen de Jong
d51ca62431
Fix poke->assignment optimizer dropping AddressOf index
...
StatementOptimizer rewrote pokel(&arena[1], x) to arena = x, ignoring
AddressOf.arrayIndex (and dereference), which miscompiled implicit
indexed-base struct field writes such as arena[1].s = X. All four
poke/pokew/pokel/pokef rewrites now require a plain variable address.
2026-09-09 02:05:20 +02:00
Irmen de Jong
9ac60eec40
fix some more pointer syntax related issues
2026-09-09 01:33:43 +02:00
Irmen de Jong
c55b16f4cb
todo
2026-09-09 01:01:16 +02:00
Irmen de Jong
bd0457f262
Allow const expressions for 2D array dimensions (not just numeric literals)
2026-09-08 23:13:54 +02:00
Irmen de Jong
cf7afaf77a
update libraries, update to kotlin 2.4.20
2026-09-08 21:41:53 +02:00
Irmen de Jong
619a215a87
fix test size expectation
2026-09-07 19:14:58 +02:00