Commit Graph
3209 Commits
Author SHA1 Message Date
Irmen de Jong 894a3e90db codegen: fix pointer-typed struct field reads on 32-bit targets to use peekl and long address arithmetic 2026-08-22 12:40:34 +02:00
Irmen de Jong 5f50b254a2 rename list -> lists 2026-08-21 21:22:17 +02:00
Irmen de Jong c5b17ae880 finalize amiga audio routines 2026-08-21 21:08:28 +02:00
Irmen de Jong 4b320013cf Merge branch 'master' into new-codegens
# Conflicts:
#	codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/PointerAssignmentsGen.kt
#	compiler/test/TestPointers.kt
#	docs/source/todo.rst
#	examples/test.p8
2026-08-21 19:14:29 +02:00
Irmen de Jong f3de26bf6c for-loop support for list/node iteration, and reverse str/array iteration using step -1 2026-08-21 07:28:39 +02:00
Irmen de Jong 65a1300147 cpu6502: implement pointer inplace invert/negate (byte/word/long/float) 2026-08-21 01:33:43 +02:00
Irmen de Jong 6b91a464c0 fix spelling errors 2026-08-20 23:55:26 +02:00
Irmen de Jong 08ac5eff3e amiga: forward sys.memcopy to exec.CopyMem 2026-08-20 23:46:34 +02:00
Irmen de Jong 7de39bbd62 amiga: fix audio.wait_all() 2026-08-20 23:28:19 +02:00
Irmen de Jong b0b8513cb8 amiga.audio using static allocations 2026-08-20 23:19:08 +02:00
Irmen de Jong 82cc66c0cc fix amiga audio (needs BeginIO) 2026-08-20 20:15:33 +02:00
Irmen de Jong 3aab457a47 fix const evaluation type truncation error for bitwise operations between constants of different types 2026-08-18 23:48:06 +02:00
Irmen de Jong ffb0a4d603 amiga: custom now includes interrupt vector offset symbols, cpuVBR and isPAL (set in grab_system) 2026-08-18 22:07:13 +02:00
Irmen de Jong e0147a4a7e fix hardcoded uword pointer-size assumptions for 32-bit targets 2026-08-18 00:09:10 +02:00
Irmen de Jong 02667e9916 fix str/long type comparison 2026-08-17 20:36:39 +02:00
Irmen de Jong 9d57cbe263 m68k: fix float sgn instruction format 2026-08-17 20:06:52 +02:00
Irmen de Jong 8b25ff2390 Merge branch 'master' into vm32bit 2026-08-17 04:08:23 +02:00
Irmen de Jong 2cb753caf8 fix floating point issue for IR syscalls and m68k codegen 2026-08-17 04:03:09 +02:00
Irmen de Jong 34f0bea4e8 fix pointer unit tests, consolidate pointer type selection for target 2026-08-17 03:30:17 +02:00
Irmen de Jong 12f375e070 Merge branch 'new-codegens' into vm32bit
# Conflicts:
#	examples/test.p8
2026-08-16 23:28:39 +02:00
Irmen de Jong 54a1a0704a allow strings to be used to initialize arrays in struct instances 2026-08-16 23:25:41 +02:00
Irmen de Jong cc4f27d121 vm: making VM 32 bit
work in progress: see vm32.md there are failing tests still
2026-08-16 19:49:28 +02:00
Irmen de Jong 61041f4502 m68k: now calls IR register type verifier properly 2026-08-16 18:07:42 +02:00
Irmen de Jong e50e175522 amiga: fix negative LVO offsets in library calls in p8ir file 2026-08-16 14:34:35 +02:00
Irmen de Jong fa1ceab78f M68K codegen: extend immediate call-argument forwarding and dead-store removal to floating-point registers and `p8_fregfile`. 2026-08-16 08:08:02 +02:00
Irmen de Jong 7eab0278b3 Merge branch 'master' into new-codegens 2026-08-16 07:32:34 +02:00
Irmen de Jong 69eaaf29c4 amiga: added sys.arguments for any CLI argument string 2026-08-16 07:08:22 +02:00
Irmen de Jong 69def73f3f m68k: allow assigning string constant to long/pointer variable (to get its address) 2026-08-16 06:18:33 +02:00
Irmen de Jong 9c2d8541c3 cx16: fix invalid code in sys.restore_irq(). Fixes #233 2026-08-16 03:33:40 +02:00
Irmen de Jong 6c93254758 m68k assembly peephole optimizer 2026-08-16 01:58:17 +02:00
Irmen de Jong 0a4601721a docs 2026-08-15 19:22:37 +02:00
Irmen de Jong c87afc03ef m68k: optimize function call arg loading for immediates 2026-08-15 15:31:43 +02:00
Irmen de Jong e264aff607 added amiga3d example, fixing amiga blitter routines 2026-08-14 19:39:58 +02:00
Irmen de Jong 9591aad814 improving the C64 sprite multiplexer 2026-08-14 02:54:09 +02:00
Irmen de Jong 3208ef1f1a fix custom.set_aga_color 2026-08-14 00:33:50 +02:00
Irmen de Jong ba7bf3f4fe cache IRProgram.registersUsed() 2026-08-13 23:25:00 +02:00
Irmen de Jong 4c6d9b8f5f even more IR peephole optimizations 2026-08-13 23:01:41 +02:00
Irmen de Jong 6a3ee52bd5 more IR peephole optimizations 2026-08-13 22:50:50 +02:00
Irmen de Jong a09942254d migrate CLI argument parsing from the obsolete kotlinx-cli library to Clikt 2026-08-13 22:33:16 +02:00
Irmen de Jong d702ace09f add support for pointer sizes >2 to configurable targets 2026-08-13 22:23:47 +02:00
Irmen de Jong f011d3f100 new language feature: %option private_symbols, and public keyword - to manage visibility 2026-08-13 22:05:58 +02:00
Irmen de Jong e404530ba4 Merge branch 'master' into new-codegens
# Conflicts:
#	compiler/src/prog8/compiler/Compiler.kt
#	compiler/src/prog8/compiler/CompilerDaemon.kt
#	gradle.properties
2026-08-13 18:32:47 +02:00
Irmen de Jong 2e529f8849 amiga: added copper and blitter modules and amigablitcop example 2026-08-12 22:59:42 +02:00
Irmen de Jong 79a5ddcdd8 amiga: fix custom chip register names and offsets 2026-08-12 02:33:24 +02:00
Irmen de Jong 7aecb8d6eb amiga: add floating point support (assumes 68020+ and a FPU to run) 2026-08-11 23:12:49 +02:00
Irmen de Jong 73768e1876 new syntax feature done 2026-08-11 21:45:56 +02:00
Irmen de Jong 3514bd61ab new syntax feature: const type can be omitted (defaults to long for integers now) 2026-08-11 21:27:07 +02:00
Irmen de Jong a7f60a571d m68k: fix byte/word index value type mismatch 2026-08-11 20:58:13 +02:00
Irmen de Jong 208205faea step 4 to allow for loop 'step' to be variable not only const: various correctness 2026-08-11 06:17:34 +02:00
Irmen de Jong 5af6afef61 step 3 to allow for loop 'step' to be variable not only const: 6502 codegen 2026-08-11 05:29:55 +02:00