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
|
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
|
c11a52b278
|
added cx16 banking example
|
2024-11-03 21:52:04 +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
|
0fc9aa6b2d
|
cx16: romsubs of the audio routines now have the rom bank tag.
cx16: removed 'audio' module again, no longer needed to have these stubs
|
2024-11-03 18:35:10 +01:00 |
|
Irmen de Jong
|
155896c4c7
|
added @rombank and @rambank bank number tags on romsubs
on cx16 and c128 targets the compiler then automatically inserts a CALLFAR instead of a regular JSR to automatically do the bank switching.
|
2024-11-03 18:19:31 +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
|
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
|
6fb05bdefc
|
replaced deprecated cx16 ZSOUND example by new ZSMKIT examples
|
2024-11-01 23:17:23 +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
|
ad074076c2
|
remove last references to gfx2 module
|
2024-11-01 18:41:36 +01:00 |
|
Irmen de Jong
|
a2194c43a6
|
fix benchmark
|
2024-11-01 03:50:13 +01:00 |
|
Irmen de Jong
|
4b23b1dc86
|
don't always import math automatically anymore
|
2024-11-01 03:39:52 +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
|
df6a43c7f0
|
gfx_lores now has drawmode_eor() (used by Paint, for example)
|
2024-10-31 01:28:29 +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
|
518e5a30c2
|
slight parser rule tweak
|
2024-10-29 23:18:17 +01:00 |
|
Irmen de Jong
|
bbba4b3d60
|
new block merge semantics and implementation
|
2024-10-29 22:57:54 +01:00 |
|
Irmen de Jong
|
967adb9a87
|
Merge branch 'beanshell'
|
2024-10-29 20:55:09 +01:00 |
|
Irmen de Jong
|
483d193ced
|
vm: implemented reading/writing files in diskio
|
2024-10-29 02:34:53 +01:00 |
|
Irmen de Jong
|
62458216c9
|
first skeleton of LSP language server
|
2024-10-28 21:42:20 +01:00 |
|
Irmen de Jong
|
570b574b93
|
added sys.memcmp
|
2024-10-28 00:41:26 +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
|
40ce7725a1
|
cleanup c64 sprite examples
|
2024-10-26 21:36:11 +02:00 |
|
Irmen de Jong
|
1f2d46628e
|
remove %option align_xxx (block level alignment, as we now have better alternatives)
|
2024-10-26 21:18:34 +02:00 |
|
Irmen de Jong
|
c9535049c8
|
%align directive and @align64
|
2024-10-26 20:58:35 +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
|
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 |
|
Irmen de Jong
|
c14f6cfc2b
|
more optimal if expression code
|
2024-10-22 23:49:24 +02:00 |
|
Irmen de Jong
|
326eab3dd1
|
unit test for defer, describe defer and if expression in docs
|
2024-10-22 22:19:49 +02:00 |
|
Irmen de Jong
|
9927af1095
|
about var inits
|
2024-10-22 01:08:42 +02:00 |
|
Irmen de Jong
|
a6159702da
|
defers are now only registered/called when flow of control actually reached the defer statement
a defer statement sets its corresponding bit in a bitmask that is shifted in the defer handler routine to see what defer blocks to call.
|
2024-10-21 00:55:51 +02:00 |
|
Irmen de Jong
|
0247fb0d84
|
some ast2 var tweaks
|
2024-10-21 00:20:54 +02:00 |
|