Irmen de Jong
f784da2da6
fix asm optimization regression caused by wrong label prefix comparison
2024-11-14 21:24:46 +01:00
Irmen de Jong
c080fbe59a
target machine config tweak and fix possible compiler crash on wrong type name
2024-11-13 21:04:46 +01:00
Irmen de Jong
d70b8303b1
added sprites.reset() to remove sprites from the screen
2024-11-13 20:26:04 +01:00
Irmen de Jong
1d38c3582a
progstart() added to complement progend()
2024-11-13 19:29:50 +01:00
Irmen de Jong
9438e996d7
Fixed math.mul16_last_upper().
...
Added math.lerpw() a LERP routine for words (to complement the existing math.lerp() for bytes)
Described the LERP routines in the library chapter in the docs.
2024-11-12 18:31:24 +01:00
Irmen de Jong
54fccec7d7
now also support using defer inside if statements
2024-11-12 00:11:19 +01:00
Irmen de Jong
4f9693055e
fix compiler crash when extsub has both FAC1 and FAC2 float parameters
2024-11-11 20:48:25 +01:00
Irmen de Jong
bf98ceca2c
make repeat support 65536 iterations
2024-11-11 01:58:27 +01:00
Irmen de Jong
573cecb087
make memtop adjust automatically when you use %address larger than the default memtop setting.
2024-11-10 23:44:10 +01:00
Irmen de Jong
84f5ffa426
fix generated labels prefix and filtering in the vice symbol dump file
2024-11-10 15:34:35 +01:00
Irmen de Jong
300d1a871c
c128 banks out basic, added banks() and getbanks()
2024-11-09 15:44:08 +01:00
Irmen de Jong
64164c1c72
changed @initonce to @dirty and meaning is now: not initialized at all.
2024-11-08 22:05:31 +01:00
Irmen de Jong
3ee6058524
todo
2024-11-08 19:57:38 +01:00
Irmen de Jong
f89f1a84d0
@initonce variable tag to skip variable reinitialization
2024-11-08 19:03:48 +01:00
Irmen de Jong
688dce6145
floats: added AYINT2 as a safe wrapper for AYINT. Internal float to word cast now also uses that.
2024-11-08 18:52:48 +01:00
Irmen de Jong
b88f550c5b
todo
2024-11-07 00:48:13 +01:00
Irmen de Jong
9864abd393
romsub keyword is now extsub
2024-11-06 22:14:53 +01:00
Irmen de Jong
77e376f6bf
romsub @bank now also accepts a variable so the bank can be dynamic
2024-11-06 00:02:36 +01:00
Irmen de Jong
491e5dbcfb
move the program startup and cleanup machinery to the front of the program to keep it in system ram
2024-11-05 22:12:25 +01:00
Irmen de Jong
a5c7393561
tweaking program startup and cleanup stuff
2024-11-05 21:12:27 +01:00
Irmen de Jong
7fd3e9bb7d
also provide a X16-style JSRFAR implementation for the C64. Enable callfar() and callfar2() on the C64 and C128.
2024-11-05 19:26:58 +01:00
Irmen de Jong
459e9f8f3b
jsrfar stuff
2024-11-05 01:06:06 +01:00
Irmen de Jong
5b1143bcb3
C64: add support for calling romsub with bank ('jsrfar')
2024-11-04 23:26:21 +01:00
Irmen de Jong
fddd390d31
on the C64, if not using floats, disable basic ROM in startup to gain another 8Kb of RAM
...
MEMTOP is adjusted to $d000. This gives us 50 Kb of contiguous program RAM space. ($0801-$CFFF)
2024-11-04 22:11:44 +01:00
Irmen de Jong
e514eeba17
added c64.banks() and c64.getbanks() and c64 banking example
2024-11-04 20:14:30 +01:00
Irmen de Jong
85e87dfe2e
consolidate @rombank and @rambank into just @bank
2024-11-03 21:15:11 +01:00
Irmen de Jong
cb47e2c149
documented the romsub bank additions
2024-11-03 20:39:44 +01:00
Irmen de Jong
9f84aa5fb2
fix double %option merge problem where it deleted all of the blocks
2024-11-03 13:36:14 +01:00
Irmen de Jong
7cfb33a448
tweak & fix if expression with word condition
2024-11-02 22:01:57 +01:00
Irmen de Jong
3b798097b9
added memtop to machine definition and asm source code check
...
added %memtop directive
2024-11-02 00:59:07 +01:00
Irmen de Jong
89425088ce
taking address of a split word array is no longer a fatal error but a warning and the array is turned back into a normal word array.
2024-11-01 20:18:31 +01:00
Irmen de Jong
925b9d845d
fix split array possible compiler loop (due to wrong datatype replacement)
2024-11-01 19:18:03 +01:00
Irmen de Jong
9005c7994a
added Linear Interpolation (LERP) functions: math.lerp(), floats.lerp(), floats.lerp_fast()
2024-11-01 02:05:48 +01:00
Irmen de Jong
4a47e15b1c
fix IR if expression sometimes lacking a cmpi after calculation of the condition value
...
VM/IR: add a returni immediate value return instruction to replace certain returnr's
2024-11-01 01:04:16 +01:00
Irmen de Jong
09cbdf410a
added diskio.exists(), made f_close_w() idempotent like f_close() already was
2024-10-31 21:25:22 +01:00
Irmen de Jong
4ce130dc8b
split up cx16.gfx2 module into gfx_lores and gfx_hires4 modules
2024-10-30 22:21:07 +01:00
Irmen de Jong
73609636c5
gfx_lores.set_screen_mode() is now gfx_lores.graphics_mode()
...
adding all missing routines from gfx2 to gfx_lores
2024-10-30 21:39:37 +01:00
Irmen de Jong
eeeb8d81f4
merge now also allows monkeypatching if signature is 100% identical
2024-10-30 01:15:56 +01:00
Irmen de Jong
bbba4b3d60
new block merge semantics and implementation
2024-10-29 22:57:54 +01:00
Irmen de Jong
483d193ced
vm: implemented reading/writing files in diskio
2024-10-29 02:34:53 +01:00
Irmen de Jong
76b05cb5fd
fix chained aliasing
2024-10-28 18:35:23 +01:00
Irmen de Jong
570b574b93
added sys.memcmp
2024-10-28 00:41:26 +01:00
Irmen de Jong
a82f211f9a
added alias statement
2024-10-28 00:36:10 +01:00
Irmen de Jong
4b4af9b527
no longer silently add RTS to asmsubs that don't have one
2024-10-27 13:49:00 +01:00
Irmen de Jong
28b383f888
docs and syntax for @alignxxx and %align
2024-10-27 00:47:52 +02:00
Irmen de Jong
9317cf8a35
sorting aligned vars to shrink prg size
2024-10-26 18:33:51 +02:00
Irmen de Jong
1cd754f05d
adding @alignword/page on individual variables
2024-10-26 17:00:38 +02:00
Irmen de Jong
97b8cb748d
more ifexpression codegen tweaks
2024-10-25 22:52:26 +02:00
Irmen de Jong
84d9040b57
make BIT test also work on signed byte variables. Fixed an address-of optimization error.
2024-10-23 22:34:18 +02:00
Irmen de Jong
fdd18c615c
more ifexpresssion codegen tweaks
2024-10-23 21:04:55 +02:00