Irmen de Jong
|
9736ac19d1
|
implementing multiple return values for builtin functions
|
2026-02-22 19:54:21 +01:00 |
|
Irmen de Jong
|
093be9f2dd
|
sys.push(), sys.pop() etc etc are now builtin functions again push() pop() to avoid storing value in temporary variables
this means that all of the syslib.p8 library files no longer contain all those stack related asmsubs
|
2026-02-21 02:11:34 +01:00 |
|
Irmen de Jong
|
07be7f0154
|
fix long argument @R0R1 register usage in regular subroutines
|
2026-02-15 14:54:47 +01:00 |
|
Irmen de Jong
|
f95f568319
|
fix mflpt5 overflow error message
|
2026-02-12 02:29:10 +01:00 |
|
Irmen de Jong
|
5eb873b722
|
conv.str2long() added. alias problems detected.
|
2026-02-12 00:38:42 +01:00 |
|
Irmen de Jong
|
d6c8fc0c61
|
alias refactorings
|
2026-02-10 21:08:35 +01:00 |
|
Irmen de Jong
|
709ced1bca
|
alias test program, replace alias chains
|
2026-02-10 21:08:35 +01:00 |
|
Irmen de Jong
|
7d6e67e251
|
fix numeric type error when comparing undefined symbols
|
2026-02-04 23:55:08 +01:00 |
|
Irmen de Jong
|
88b48f58c9
|
fix string init error about string multiplication. fixes #209
|
2026-01-30 17:36:48 +01:00 |
|
Irmen de Jong
|
c3f9959891
|
fixed invalid replacement in optimization of if-statement.
better replacement errors.
fixes #208
|
2026-01-28 22:58:53 +01:00 |
|
Irmen de Jong
|
10ae42ed59
|
suggest import for undefined block symbols, update github links
|
2026-01-25 05:45:33 +01:00 |
|
Irmen de Jong
|
ab98f4a5e2
|
fix charset encoding error with merge. Fixes #207
|
2026-01-24 16:13:11 +01:00 |
|
Irmen de Jong
|
51ac096a31
|
add a -warnimplicitcasts compiler option
|
2026-01-23 03:06:53 +01:00 |
|
Irmen de Jong
|
492cd686a0
|
avoid invalid pointer arithmetic in joined expresssions. Fixes #206
|
2026-01-22 22:25:48 +01:00 |
|
Irmen de Jong
|
561e05a764
|
decent error message for unsupported struct instance expressions. Fixes #205
|
2026-01-22 02:47:44 +01:00 |
|
Irmen de Jong
|
f56037142b
|
added petgfx module for pet32, c64, c128 for petscii block characters drawing (double resolution)
|
2026-01-22 02:17:04 +01:00 |
|
Irmen de Jong
|
ca3e4b161b
|
add Amiga boing ball example, plus more pet syslib definitions, and pet diskio beginnings
|
2026-01-19 22:47:58 +01:00 |
|
Irmen de Jong
|
e2276f000c
|
fix alias issue when it targeted multi variable declaration
|
2026-01-18 19:48:37 +01:00 |
|
Irmen de Jong
|
6c61e1e5e8
|
fix alias target scoping problem
|
2026-01-17 21:39:39 +01:00 |
|
Irmen de Jong
|
a385412e70
|
smaller floats.internal_long_to_float()
|
2026-01-17 20:38:30 +01:00 |
|
Irmen de Jong
|
823f1cd6e2
|
strings: removed ncompare
|
2026-01-17 17:29:21 +01:00 |
|
Irmen de Jong
|
5cd175d54f
|
optimize successive additions/subtractions and multiplications (with const) into just a single add/sub, mul
optimize var = simpleexpression | var += expression --> var = simpleexpression + expression (for any augmented operator)
|
2026-01-11 01:30:04 +01:00 |
|
Irmen de Jong
|
cdb41f4352
|
better errors when multiplying string or array with bogus value
|
2026-01-09 18:43:41 +01:00 |
|
Irmen de Jong
|
78d6d2d59a
|
breaking change: renamed R0R1_32 etc combined register parameters to just R0R1, R2R3, etc etc (_32 suffix is removed to make it more consistent with the other existing register names)
|
2026-01-07 21:56:16 +01:00 |
|
Irmen de Jong
|
23d3fb96b9
|
improved parsing rule of constdecl
|
2026-01-02 23:36:55 +01:00 |
|
Irmen de Jong
|
50b8cae519
|
sys.save_prog8_internals() now also correctly saves the SCRATCH_PTR temp var. Moved a bunch of common sys routines into separate shared_sys_functions.p8 module file
|
2025-12-31 12:10:04 +01:00 |
|
Irmen de Jong
|
3a74931a61
|
c128: added c128.fast() and c128.slow() to enable/disable the CPU's 2 MHz mode.
Also added c128.is80(), set80(), set40() to check and set 40/80 column screen mode
|
2025-12-30 23:53:58 +01:00 |
|
Irmen de Jong
|
c87e920c61
|
IR: stick all variable elements in <VARS> to improve the xml file structure a bit
|
2025-12-30 22:17:29 +01:00 |
|
Irmen de Jong
|
d386343fe7
|
fix romable error check for arrays
|
2025-12-30 02:26:01 +01:00 |
|
Irmen de Jong
|
71b66f506d
|
fix asmsub register order crash when using longs + something else
|
2025-12-28 01:08:10 +01:00 |
|
Irmen de Jong
|
cc0425a2c4
|
detect circular aliases, also fix error message for aliased function call with wrong number of args
|
2025-12-26 15:04:55 +01:00 |
|
Irmen de Jong
|
c7052a183e
|
fixing wrong error message about wrong arg count with alias
|
2025-12-25 23:49:03 +01:00 |
|
Irmen de Jong
|
9266943e74
|
fix pointer assign type error with cast to uword
|
2025-12-24 01:18:23 +01:00 |
|
Irmen de Jong
|
55bc242e8b
|
implemented in-place long negation and some missing long to float casts
|
2025-12-23 15:30:39 +01:00 |
|
Irmen de Jong
|
1682400988
|
fix missing cx16 virtual register symbols in asm file (bool and long variants)
fix actually relocating all of them in the cx16 module
pet32 and c128 targets now also relocate them to ZP if there is space
|
2025-12-22 17:56:25 +01:00 |
|
Irmen de Jong
|
e57d9f59a2
|
fix long 0 argument to asmsub with 32-bits combined virtual register to pass it in
|
2025-12-21 22:23:17 +01:00 |
|
Irmen de Jong
|
4030a1b9e5
|
cleanup, animals example removed because it's superseded by the pointers/animalgame example now
|
2025-12-16 16:48:34 +01:00 |
|
Irmen de Jong
|
014a82a1ee
|
always put all struct types as .struct in asm code to make them all accessible for size and offsets
|
2025-12-10 21:39:44 +01:00 |
|
Irmen de Jong
|
b38fff76e9
|
hack to work around struct name prefix inconsistency
see github issue 198
|
2025-12-03 21:07:08 +01:00 |
|
Irmen de Jong
|
6871561c09
|
fix parent node error in sizeof()
|
2025-12-01 23:21:14 +01:00 |
|
Irmen de Jong
|
b1ef863c7f
|
make $8000000 a valid long integer (-2147483648)
|
2025-11-26 23:10:59 +01:00 |
|
Irmen de Jong
|
69ef63c96d
|
tweaks
|
2025-11-24 22:23:40 +01:00 |
|
Irmen de Jong
|
397a907088
|
fix handling and errors of using long addresses in memread/memwrite
|
2025-11-09 18:17:57 +01:00 |
|
Irmen de Jong
|
afb458a7da
|
fix crash in long address-of
|
2025-11-08 22:24:37 +01:00 |
|
Irmen de Jong
|
833e463525
|
String indexing bound check now includes the terminating 0 character. Also fix negative indexes on strings.
fixes #190
|
2025-11-07 23:20:44 +01:00 |
|
Irmen de Jong
|
6611e4e092
|
improve error message
|
2025-11-07 01:22:41 +01:00 |
|
Irmen de Jong
|
bc8ba252a5
|
made Position line, col, endcol all 1-based
added a precise (but slow) back face culling routine to the cobra-mk3 example
|
2025-11-05 00:25:43 +01:00 |
|
Irmen de Jong
|
c353dd40bf
|
put on..call jumplist in correct scope, fixes #197
|
2025-11-03 23:46:49 +01:00 |
|
Irmen de Jong
|
928ef6bbaa
|
fix on..call parse problem, also struct name cannot be a keyword
|
2025-11-03 21:21:07 +01:00 |
|
Irmen de Jong
|
b73c958c4a
|
ir immediate syntax fixes
|
2025-11-01 16:55:00 +01:00 |
|