Irmen de Jong
4958463e75
moved floats.MIN/MAX to sys.MIN_FLOAT/MAX_FLOAT
...
added txt.print_f as alias to floats.print
2024-11-22 00:46:23 +01:00
Irmen de Jong
9fd9e9ab5f
change block sort order so that blocks with address are now sorted last
2024-11-20 23:23:26 +01:00
Irmen de Jong
35c477b5a6
Make extsub address a (constant) expression instead of a numeric literal
...
this makes it easier to define API jump tables
2024-11-20 23:23:26 +01:00
Irmen de Jong
ae0cadb383
added bnk() builtin function
2024-11-20 23:23:21 +01:00
Irmen de Jong
a874aec6a1
implementing const long
2024-11-20 23:22:56 +01:00
Irmen de Jong
ea1daa97d3
remove the 'addmissingrts' compiler option
2024-11-20 23:22:56 +01:00
Irmen de Jong
9da70bdf05
simplify ReturnConvention a little
2024-11-20 23:22:56 +01:00
Irmen de Jong
51a05ec4b7
removed BuiltinFunctionCall redundant ast node type
2024-11-20 23:22:56 +01:00
Irmen de Jong
154f9b300f
fix crash: byte c = if a < b -1 else 1 "both values should be the same type"
2024-11-19 23:46:25 +01:00
Irmen de Jong
b4fb43bc80
fix the if not check in ir codegen
2024-11-18 22:33:47 +01:00
Irmen de Jong
e0e01f794e
fix dt compiler crash
2024-11-17 17:39:36 +01:00
Irmen de Jong
3b4a5e27f7
renamed gfx_hires4 module to just gfx_hires
...
to be consistent with gfx_lores
2024-11-12 17:48:35 +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
84f5ffa426
fix generated labels prefix and filtering in the vice symbol dump file
2024-11-10 15:34:35 +01:00
Irmen de Jong
3ba1d00a7c
add unit test for @dirty variables
2024-11-09 13:31:54 +01:00
Irmen de Jong
f89f1a84d0
@initonce variable tag to skip variable reinitialization
2024-11-08 19:03: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
c702c4a6df
internal rename of romsub to extsub
2024-11-06 21:42:16 +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
e514eeba17
added c64.banks() and c64.getbanks() and c64 banking example
2024-11-04 20:14:30 +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
4b23b1dc86
don't always import math automatically anymore
2024-11-01 03:39:52 +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
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
76b05cb5fd
fix chained aliasing
2024-10-28 18:35:23 +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
c9535049c8
%align directive and @align64
2024-10-26 20:58:35 +02:00
Irmen de Jong
1cd754f05d
adding @alignword/page on individual variables
2024-10-26 17:00:38 +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
0247fb0d84
some ast2 var tweaks
2024-10-21 00:20:54 +02:00
Irmen de Jong
a0cf1889a3
omit more redundant 0-initializations ("stz's")
2024-10-17 22:51:39 +02:00
Irmen de Jong
38ef394e15
IR codegen: global vars with numeric initialization value are now also put into the VARIABLESWITHINIT section rather than requiring explicit code instructions to initialize them in INITGLOBALS.
...
Note that something similar, such as putting those variables inline in the program initialized with their value and all, cannot be done for the 6502 codegen: the program needs a mechanism to reset ALL variables when it runs a second time.
2024-10-16 22:15:51 +02:00
Irmen de Jong
abbf7c7cb0
compiler name change: prog8c (was p8compile)
...
fat jar file also changed: prog8c-X.Y-all.jar (was: prog8compiler-X.Y-all.jar)
2024-10-16 18:36:19 +02:00
Irmen de Jong
ca5f7ae32f
global (block-level) variables that get initialized with an array index expression now get a constant value as well if possible. This reduces the number of instructions in the init globals code block
2024-10-16 02:14:19 +02:00
Irmen de Jong
e9edffa9f0
remove support for array-to-array assignments (other than initialization of variable declaration)
...
Just use an explicit sys.memcopy(src, dest, sizeof(dest)) or assign array members individually.
2024-10-13 20:02:43 +02:00
Irmen de Jong
aef211e5f3
stricter array literal element type handling (number,bool,address-of).
...
More consistent implicit address-of handling if array literals contain by-ref identifiers (such as subroutine names)
2024-10-13 17:46:41 +02:00
Irmen de Jong
66829203d8
New [x]*42 syntax to create array literals with repeated values (like "abc"*10 already exists for strings)
...
Should be used in place of array initializer expressions that contain only a single numeric value to initialize the whole array with. That isn't supported anymore.
2024-10-13 05:16:08 +02:00
Irmen de Jong
7a0eaf3148
Remove array initialization by single value.
...
New compiler and kotlin version.
2024-10-13 04:31:56 +02:00
Irmen de Jong
03412cacba
added examples/cx16/balloonflight.p8
2024-10-13 00:51:07 +02:00
Irmen de Jong
8d9bc2f5ff
fixing all sorts of things about assigning arrays to arrays
2024-10-12 12:33:46 +02:00
Irmen de Jong
1a6b95b388
house cleaning
2024-10-10 20:46:18 +02:00
Irmen de Jong
ed09dd4e9e
improve automatic type conversions for return values, fixes #155
2024-10-09 20:04:05 +02:00
Irmen de Jong
7c69d38588
scan all asmsubs to see if another subroutine is referenced. Fixes #153
2024-10-07 20:39:49 +02:00
Irmen de Jong
d1ddf05e38
check that block address leaves room for program startup logic
2024-10-03 22:30:06 +02:00