Irmen de Jong
e5d9609db1
IR: added new multi-bit shifting opcodes
2026-08-05 01:42:49 +02:00
Irmen de Jong
b5fd07bb91
IR: added STOREIM instruction for immediate store constant to memory
2026-08-04 23:11:07 +02:00
Irmen de Jong
bef1678c2a
IR: divmod no longer uses stack to return the quotient and remainer
2026-08-04 12:46:36 +02:00
Irmen de Jong
93b953cf60
implement IR ADDIM and SUBIM in the new codegens
2026-08-03 21:53:54 +02:00
Irmen de Jong
01c82f92eb
Merge branch 'refs/heads/master' into new-codegens
...
# Conflicts:
# examples/test.p8
# intermediate/src/prog8/intermediate/IRInstructions.kt
2026-08-03 19:36:25 +02:00
Irmen de Jong
13e032e1a3
add new IR instructions ADDIM and SUBIM
2026-08-03 19:31:57 +02:00
Irmen de Jong
247559858f
fix bitwise instructions on m68k
2026-07-11 23:40:46 +02:00
Irmen de Jong
7f51bbd777
working on encoding support for variable sized pointers in the IR
2026-07-07 00:06:28 +02:00
Irmen de Jong
5c36e21948
working on fixing pointer arithmethic
...
but see transformWithPointerArithmetic() still unfinished
2026-07-06 02:20:32 +02:00
Irmen de Jong
57055b3b55
map m68k cpu registers to and from slots
2026-07-05 16:25:20 +02:00
Irmen de Jong
11e3b39486
m68k (incomplete) attempt to fix 32 bits pointers
2026-07-05 06:31:24 +02:00
Irmen de Jong
19238cc366
IR: introduce strict and broad status flags contract for cpu targets
...
fix cmpi for words and longs
2026-07-01 01:38:35 +02:00
Irmen de Jong
c0c44156f1
new codegen: implement roxl/roxr longs, float casting, callfar
2026-06-30 22:18:41 +02:00
Irmen de Jong
8645833319
new codegen: float support and CALLI
2026-06-30 20:40:34 +02:00
Irmen de Jong
6a867d98eb
new codegen: syscall support started
2026-06-30 05:57:19 +02:00
Irmen de Jong
55ea599fca
Remove hardcoded external KERNAL entry points in codegen
2026-06-29 04:43:24 +02:00
Irmen de Jong
71583a5b93
Move symbol prefixing logic from 6502 codegen to IR generation.
2026-06-28 21:33:10 +02:00
Irmen de Jong
fc4782a35b
Support &blockname in IR generation
2026-06-27 12:54:36 +02:00
Irmen de Jong
78d43c3cb6
Merge branch 'refs/heads/bugfix12.2.1'
...
# Conflicts:
# examples/test.p8
2026-06-20 19:50:42 +02:00
Irmen de Jong
86f9b6aa69
fixed cmp() sign/flags errors
2026-06-20 19:49:45 +02:00
Irmen de Jong
69261c51b3
IR: Add single-bit manipulation opcodes (BITTST, BITSET, BITCLR, BITTOG)
2026-06-16 21:52:31 +02:00
Irmen de Jong
63d7ef7105
IR: Replace 6502-specific hardware register LOAD/STORE opcodes with generic, parameterized LOADHR/STOREHR opcodes
2026-06-16 20:59:51 +02:00
Irmen de Jong
628bd41740
update kotest
2026-06-08 20:43:54 +02:00
Irmen de Jong
de988f72c6
switch from IDEA iml to Gradle build config, this finally fixes Kotest integration as well
2026-06-08 20:43:54 +02:00
Irmen de Jong
435b7e56fa
IR VM refactor to reduce class size
2026-05-29 23:14:44 +02:00
Irmen de Jong
1bb828875d
improved vm waitvsync
2026-05-15 18:05:01 +02:00
Irmen de Jong
9d1fa856d4
added unit tests that use the ksim65 simulator to actually run the compiled code
2026-05-02 06:15:09 +02:00
Irmen de Jong
9fdd9254f1
fix missing CMP in IR after conditional expression
2026-04-25 22:23:10 +02:00
Irmen de Jong
930697dad5
using builder to improve massive lists of constructor params
2026-04-19 01:39:50 +02:00
Irmen de Jong
d5a53c5d21
implement missing division operations in VM
2026-04-13 18:48:35 +02:00
Irmen de Jong
bd51296a33
implement V flag on comparisons in the virtualmachine
2026-04-12 20:47:56 +02:00
Irmen de Jong
e2702d3e22
IRFileWriter and IRFileReader improvements
2026-04-09 05:06:39 +02:00
Irmen de Jong
74475d023b
improving IR symbolic references
2026-04-09 03:54:51 +02:00
Irmen de Jong
9ae0623ad0
making MemoryAddress an Unsigned Int
2026-04-09 02:40:24 +02:00
Irmen de Jong
33b34b990e
making RegisterNum type safe
2026-04-08 02:57:45 +02:00
Irmen de Jong
6dc96bb8f0
making IRInstruction parameters type safe
2026-04-07 20:15:55 +02:00
Irmen de Jong
5408a3ca68
fix compiler crash on certain pointer type struct fields
...
added new compiler options for debugging purposes
2026-03-29 08:25:53 +02:00
Irmen de Jong
400149d5a3
standardize gradle project configurations across submodules
2026-03-28 10:08:47 +01:00
Irmen de Jong
f6d5e88f31
Fix test cases
2026-03-26 23:32:27 +01:00
Irmen de Jong
8d44a1b226
implemented bitmap text drawing for the virtual target (so monogfx.text() now works there)
2026-03-26 22:47:44 +01:00
Irmen de Jong
68226a8fcd
Update Kotlin and dependencies to latest versions
...
- Bump Kotlin to 2.3.20 across all configurations.
- Upgrade `kotlin-result-jvm` to 2.3.1 in all modules.
- Update Gradle wrapper to 9.4.0.
- Add `poweroff_system()` function in virtual target symboldump
2026-03-25 17:51:01 +01:00
Irmen de Jong
e5d74d55b5
vm memory optimizations
2026-03-18 18:02:13 +01:00
Irmen de Jong
c291d7d4a8
const memory() support in struct initializers
2026-03-18 04:16:05 +01:00
Irmen de Jong
ca56cf26c5
more work on making memory() const (virtual target only for now)
2026-03-18 02:20:50 +01:00
Irmen de Jong
11f187bda8
implement signed % remainder operator for virtual target
2026-03-17 03:36:38 +01:00
Irmen de Jong
e56ccdbc3a
add signed divmod() support for virtual target
2026-03-16 01:19:02 +01:00
Irmen de Jong
ce58f0e759
fix virtual target diskio.f_write(), added f_tell() and f_seek()
...
cx16 diskio.f_seek() and f_seek_w() now return success status
2026-03-15 21:04:06 +01:00
Irmen de Jong
e61328b6d6
update Java dependency to 17, update results library version
2026-03-14 00:04:11 +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