Irmen de Jong
|
d2827a7431
|
fix ast printer for arrays containing label addresses
|
2024-12-15 13:53:24 +01:00 |
|
Irmen de Jong
|
28c721fa7d
|
add a split-array version for word containment check
|
2024-12-15 13:45:47 +01:00 |
|
Irmen de Jong
|
8f799567cf
|
make word arrays split by default (w.i.p.)
|
2024-12-15 08:12:34 +01:00 |
|
Irmen de Jong
|
9e8cc8b54d
|
goto can now accept any expression as address (instead of just a constant), and ofcourse a label name still.
|
2024-12-15 05:22:37 +01:00 |
|
Irmen de Jong
|
cc59069876
|
allow goto to take any expression, not only an integer or an identifier (part 1)
|
2024-12-14 01:01:32 +01:00 |
|
Irmen de Jong
|
697d54e10a
|
fix asmgen for call $3000
|
2024-12-13 22:33:26 +01:00 |
|
Irmen de Jong
|
1679ca79b4
|
can now use boolean params mapped to Rx register
|
2024-12-13 20:47:23 +01:00 |
|
Irmen de Jong
|
124ec77b58
|
update zsmkit to version 2.4, including the new on_deck routines
|
2024-12-13 20:15:36 +01:00 |
|
Irmen de Jong
|
3675d7961b
|
boolean variables can now also be memory-mapped (including boolean arrays)
|
2024-12-11 18:25:27 +01:00 |
|
Irmen de Jong
|
f8aaa2d13c
|
explicit integer type check for @R0-R15 parameters
avoids weird type inconsistency for boolean parameters that would get aliased as unsigned byte instead invisibly
|
2024-12-10 23:19:41 +01:00 |
|
Irmen de Jong
|
b7afda781a
|
Optimize 6502 bitwise operations on word values where only the msb or lsb is touched
|
2024-12-10 21:42:42 +01:00 |
|
Irmen de Jong
|
535ec13072
|
improved codegen for testing for single bits: x & mask == mask
|
2024-12-09 04:05:00 +01:00 |
|
Irmen de Jong
|
26d0a174db
|
optimize codegen for while loops with empty body
|
2024-12-09 03:21:20 +01:00 |
|
Irmen de Jong
|
b2e821755c
|
optimized palette module
removed palette.set_monochrome(), added start color index to several color set functions
removed mcf example
update gradle wrapper
|
2024-12-08 15:30:42 +01:00 |
|
Irmen de Jong
|
2e303041c1
|
fix crash when using undefined variable in for loop
|
2024-12-06 21:50:22 +01:00 |
|
Irmen de Jong
|
96bed8f57f
|
tweaks
|
2024-12-06 00:37:16 +01:00 |
|
Irmen de Jong
|
86d4a4309f
|
cleanups
|
2024-12-05 21:56:00 +01:00 |
|
Irmen de Jong
|
1a1ab0dac6
|
changed the data type system to composite types
|
2024-12-05 21:48:51 +01:00 |
|
Irmen de Jong
|
ba8c3d14f7
|
diskio docs, remove super harmless warning message
|
2024-12-05 20:51:44 +01:00 |
|
Irmen de Jong
|
617ea15c3a
|
fix failing optimization of 'not' in if statements
|
2024-12-04 19:03:24 +01:00 |
|
Irmen de Jong
|
ef192a5778
|
easier notation for builtin function signatures by using varargs
|
2024-12-04 01:57:02 +01:00 |
|
Irmen de Jong
|
565973c520
|
diskio read & write routines now always reset the io channels back to the defaults before returning
This means you don't have to call CLRCHN yourself anymore inbetween if you want to do screen output or keyboard input while a file is open
|
2024-12-03 23:46:07 +01:00 |
|
Irmen de Jong
|
25b1043572
|
c64 diskio: Always call CLRCHN before CHKIN/CHKOUT calls
this seems to work around a Vice emulator issue when using host filesystem disk emulation.
Fixes #156
|
2024-12-03 19:15:44 +01:00 |
|
Irmen de Jong
|
1ebfff7c7b
|
add -plaintext and -ignorefootguns options
|
2024-12-03 19:12:30 +01:00 |
|
Irmen de Jong
|
8341f9c066
|
diskio.status(): remove unreliable device not present error detection
|
2024-12-02 23:33:33 +01:00 |
|
Irmen de Jong
|
28cac291de
|
diskio.f_open_w() now also resets io channels back to defaults, like f_open() already did
|
2024-12-02 22:25:32 +01:00 |
|
Irmen de Jong
|
8fa14a10e2
|
Optimize diskio.f_read for size=1, also improve ST check
|
2024-12-02 21:25:38 +01:00 |
|
Irmen de Jong
|
55dbd095ed
|
fix IR codegen missing a CMPI after if not condition
fix IR codegen for containmentcheck
|
2024-12-02 03:06:06 +01:00 |
|
Irmen de Jong
|
31ad8bdd8d
|
remove bankof(), documented msw() and lsw()
|
2024-12-01 21:24:26 +01:00 |
|
Irmen de Jong
|
181f3e9eb1
|
remove the unary/prefix operators ^ and << again
|
2024-12-01 20:50:33 +01:00 |
|
Irmen de Jong
|
50c3d809dc
|
fix type casting issues and unary ^ operator
signed numbers are no longer implicitly converted to unsigned
proper range check on bankof()
|
2024-12-01 17:43:53 +01:00 |
|
Irmen de Jong
|
58f696d00a
|
document the @R0 - @R15 register support for normal subroutine parameters
|
2024-11-30 20:46:31 +01:00 |
|
Irmen de Jong
|
f603c543d3
|
restructure documentation to get rid of redundant syntax chapter
|
2024-11-30 20:26:06 +01:00 |
|
Irmen de Jong
|
6aaa0f928e
|
IR: fix invalid asm name matching that resulted in not removing subs with a name matching an IR asm instruction
|
2024-11-30 00:10:57 +01:00 |
|
Irmen de Jong
|
feb8aa435e
|
monogfx, gfx_lores, gfx_hires now all uses 8kb stack from buffers module; no more broken flood fills. fill() has an extra byte parameter now where you need to pass in the ram bank to use for the stack. (not on virtual target)
|
2024-11-29 21:28:34 +01:00 |
|
Irmen de Jong
|
310e8f15cd
|
update to latest zsmkit lib v2.2
|
2024-11-29 18:37:06 +01:00 |
|
Irmen de Jong
|
da03941582
|
fix build
|
2024-11-29 01:01:59 +01:00 |
|
Irmen de Jong
|
dcbb36a3bd
|
update gradle wrapper version
|
2024-11-29 00:54:21 +01:00 |
|
Irmen de Jong
|
53558f5c1d
|
add zmskit example for zsmkit v2
|
2024-11-29 00:04:57 +01:00 |
|
Irmen de Jong
|
189399d5f8
|
update to kotlin 2.1.0
|
2024-11-28 03:49:07 +01:00 |
|
Irmen de Jong
|
5406a992f5
|
improved buffers library, added to docs
|
2024-11-28 03:30:32 +01:00 |
|
Irmen de Jong
|
bc9683cc54
|
add compression.decode_rle_vram() to decompress RLE data directly to X16's VRAM.
Document the compression library.
|
2024-11-26 02:06:35 +01:00 |
|
Irmen de Jong
|
2eed75f602
|
call convention for @Rx parameters, also use cpu registers if possible, like normal parameters
|
2024-11-25 22:22:24 +01:00 |
|
Irmen de Jong
|
d58f9f56c4
|
tests for register args for normal subs
some warnings demoted into infos
|
2024-11-24 19:21:45 +01:00 |
|
Irmen de Jong
|
2e35f3c3a3
|
code check cleanups
|
2024-11-24 16:14:22 +01:00 |
|
Irmen de Jong
|
5c6bd9c091
|
register params support for normal subroutines
|
2024-11-24 15:56:54 +01:00 |
|
Irmen de Jong
|
857d2eefca
|
added floats.interpolate(), math.interpolate(), and LERP example
|
2024-11-24 10:00:21 +01:00 |
|
Irmen de Jong
|
90f1e7fd6a
|
ast printing fixes, added alias to syntax files
|
2024-11-24 07:28:33 +01:00 |
|
Irmen de Jong
|
18e37accf9
|
improve detection of register re-use in parameters
|
2024-11-24 05:27:43 +01:00 |
|
Irmen de Jong
|
cc53d698bf
|
added msw() and lsw() builtin functions (experimental)
|
2024-11-24 03:53:37 +01:00 |
|