Irmen de Jong
|
b791fae9ce
|
remove stack based ExpressionAsmGen
|
2023-07-15 22:24:22 +02:00 |
|
Irmen de Jong
|
9e8c8973d8
|
remove eval stack references from asm code
|
2023-07-15 22:24:22 +02:00 |
|
Irmen de Jong
|
3933bf5c1a
|
remove eval stack references from p8 code
|
2023-07-15 22:24:22 +02:00 |
|
Irmen de Jong
|
708e296774
|
remove eval stack assignment source and targets
|
2023-07-15 22:24:22 +02:00 |
|
Irmen de Jong
|
9cb61fa34d
|
tweaks
|
2023-07-15 20:46:14 +02:00 |
|
Irmen de Jong
|
7c219d235c
|
fixed possible type mismatch error in when statements
|
2023-07-14 23:35:58 +02:00 |
|
Irmen de Jong
|
6938c79f88
|
IR: added CMPI instruction
|
2023-07-14 23:17:29 +02:00 |
|
Irmen de Jong
|
795f80b4ec
|
fix forloop 6502 codegen in case of descending word values
|
2023-07-11 00:33:12 +02:00 |
|
Irmen de Jong
|
6b6427492d
|
fix forloop 6502 codegen in case of descending word values
|
2023-07-10 23:10:16 +02:00 |
|
Irmen de Jong
|
6055b8c3dc
|
IR: fix forloop codegen for steps != 1
|
2023-07-10 21:36:44 +02:00 |
|
Irmen de Jong
|
a98cb50d55
|
Revert "ir: SCC now sets all bits to 1 (or 0)"
This reverts commit 7245aece4f .
|
2023-07-09 23:16:13 +02:00 |
|
Irmen de Jong
|
e98bbc1c52
|
todo
|
2023-07-09 22:29:54 +02:00 |
|
Irmen de Jong
|
4e863ecdac
|
vm: fixed abs() and word-to-string conversion
|
2023-07-08 22:57:16 +02:00 |
|
Irmen de Jong
|
5037033fcf
|
ir: EXT and EXTS opcodes now have 2 registers to avoid type clash
|
2023-07-08 22:42:11 +02:00 |
|
Irmen de Jong
|
4ced8889d3
|
cx16: fix signature return values of cx16.screen_mode(), add get_screen_mode() and set_screen_mode() convenience routines
|
2023-07-08 11:37:29 +02:00 |
|
Irmen de Jong
|
d26967a87d
|
ir doc
|
2023-07-07 22:35:05 +02:00 |
|
Irmen de Jong
|
d2154f5f2e
|
remove empty when choices, fixes ir compilation error on those
|
2023-07-07 20:34:24 +02:00 |
|
Irmen de Jong
|
90c4b00f74
|
ir: fix any() all() reverse() sort() on memory mapped arrays and on byte arrays
|
2023-07-07 17:25:32 +02:00 |
|
Irmen de Jong
|
3126959576
|
ir: several fixes
|
2023-07-07 16:53:32 +02:00 |
|
Irmen de Jong
|
02e51d8282
|
ir: fix initial chunk linking
|
2023-07-07 00:30:56 +02:00 |
|
Irmen de Jong
|
ffb2027a19
|
repeat loop count now always rounded to integer
|
2023-07-06 23:58:02 +02:00 |
|
Irmen de Jong
|
70c9ab9074
|
upgrade libraries
|
2023-07-06 23:33:58 +02:00 |
|
Irmen de Jong
|
6d1fdf1ba6
|
upgrade to Kotlin 1.9.0
|
2023-07-06 23:03:47 +02:00 |
|
Irmen de Jong
|
1f7180d9a8
|
math.multiply_words returns lower 16 bits of the result also in AY (to avoid repeating some load instructions)
|
2023-07-06 22:54:13 +02:00 |
|
Irmen de Jong
|
b4e94ae4dd
|
optimizer: avoid symbol name clash when inlining subroutine
|
2023-07-05 23:15:04 +02:00 |
|
Irmen de Jong
|
07c606bfc9
|
optimizer: don't replace for loop with repeat loop (the loop variable might be used elsewhere!)
|
2023-07-05 21:16:17 +02:00 |
|
Irmen de Jong
|
e705a8bd89
|
discord info
|
2023-07-04 23:50:16 +02:00 |
|
Irmen de Jong
|
b3bdfb7f1f
|
more info about building the compiler
|
2023-07-04 22:41:38 +02:00 |
|
Irmen de Jong
|
5af1aeb092
|
added block comment /* ...... */
|
2023-07-04 00:46:29 +02:00 |
|
Irmen de Jong
|
be64fa674a
|
doc
|
2023-07-03 22:44:50 +02:00 |
|
Irmen de Jong
|
f9200a2b75
|
fix IR loader for romsub calls (calls to an address)
|
2023-07-02 23:41:15 +02:00 |
|
Irmen de Jong
|
f570b70827
|
fix type error with returning an array from a subroutine returning uword
|
2023-07-02 22:09:19 +02:00 |
|
Irmen de Jong
|
0db141eeac
|
todo
|
2023-07-02 21:19:33 +02:00 |
|
Irmen de Jong
|
acb2ee53bb
|
Merge branch 'prefixing'
|
2023-07-02 21:15:30 +02:00 |
|
Irmen de Jong
|
c544b7f5ba
|
fixing up p8_ prefixing
|
2023-07-02 21:15:05 +02:00 |
|
Irmen de Jong
|
c0024e97e5
|
fix doc version
|
2023-07-02 21:01:11 +02:00 |
|
Irmen de Jong
|
de5ce0f515
|
tiny optimization and doc
|
2023-07-02 11:17:18 +02:00 |
|
Irmen de Jong
|
bb95484c8a
|
uniform symbol prefixing with p8_
|
2023-07-02 06:15:09 +02:00 |
|
Irmen de Jong
|
cad18b8a3a
|
uniform symbol prefixing with p8_
|
2023-07-02 06:15:02 +02:00 |
|
Irmen de Jong
|
04da44eb98
|
fix certain inefficient codegen when assigning a type casted value
|
2023-06-29 22:56:26 +02:00 |
|
Irmen de Jong
|
7649be97b1
|
add git hash to compiler header output
|
2023-06-29 21:01:02 +02:00 |
|
Irmen de Jong
|
c0cb2438d5
|
1-letter symbols now also prefixed with 'p8p_'
to avoid assembly errors caused by confusing variable 'a' with register 'a' etc.
|
2023-06-28 23:17:59 +02:00 |
|
Irmen de Jong
|
30c531b39e
|
attempting to fix array expression inplace assign
|
2023-06-28 00:38:08 +02:00 |
|
Irmen de Jong
|
e7b631b087
|
allow comment lines inside array initializer value
|
2023-06-27 23:30:37 +02:00 |
|
Irmen de Jong
|
a9f5dc036c
|
fix cpu stack corruption in array assignment codegen
|
2023-06-27 18:49:49 +02:00 |
|
Irmen de Jong
|
0a83b51e00
|
allow more curly brace styles
|
2023-06-27 01:59:22 +02:00 |
|
Irmen de Jong
|
eab63ecc6c
|
allow curly brace on next line also after subroutine and when
|
2023-06-27 01:29:25 +02:00 |
|
Irmen de Jong
|
b0794cf35e
|
added hiram bank number to -varshigh
|
2023-06-27 00:27:34 +02:00 |
|
Irmen de Jong
|
5b9e71a27d
|
docs
|
2023-06-25 21:35:30 +02:00 |
|
Irmen de Jong
|
eae41de27d
|
improve errors generated for undefined symbols
|
2023-06-25 15:19:51 +02:00 |
|
Irmen de Jong
|
e9163aa3a7
|
added cx16.save_virtual_registers() and cx16.restore_virtual_registers()
|
2023-06-24 21:04:47 +02:00 |
|
Irmen de Jong
|
8c617515ba
|
don't prefix 3-letter symbols too aggressively (could cause some compilation errors)
|
2023-06-23 23:36:59 +02:00 |
|
Irmen de Jong
|
04e4e71f2e
|
uword == str is now possible (sugar for string.compare)
|
2023-06-22 00:20:30 +02:00 |
|
Irmen de Jong
|
a587482edf
|
optimize dangling else
|
2023-06-18 13:46:02 +02:00 |
|
Irmen de Jong
|
0aac9350d5
|
rename math.atan() to math.atan2()
|
2023-06-18 13:05:36 +02:00 |
|
Irmen de Jong
|
f56c12ee4e
|
cx16 spotlight example
|
2023-06-18 12:49:22 +02:00 |
|
Irmen de Jong
|
4bb9ae61f2
|
library source links
|
2023-06-18 02:31:45 +02:00 |
|
Irmen de Jong
|
ff7f3484e4
|
atan
|
2023-06-17 23:01:47 +02:00 |
|
Irmen de Jong
|
5da3abe6b4
|
fix silent typecast on return statements that could lose data (word->byte)
|
2023-06-17 14:44:36 +02:00 |
|
Irmen de Jong
|
c0b398e0ce
|
add various math.atan() routines
|
2023-06-17 00:43:33 +02:00 |
|
Irmen de Jong
|
3de10adac2
|
bump required 64tass version
|
2023-06-16 23:24:31 +02:00 |
|
Irmen de Jong
|
1b573d6552
|
add note about lacking fp parse routine
|
2023-06-16 00:12:52 +02:00 |
|
Irmen de Jong
|
373cbb4144
|
gradle build error explained
|
2023-06-11 17:51:18 +02:00 |
|
Irmen de Jong
|
a521982576
|
fix subroutine inline problem with strings
|
2023-06-09 21:45:05 +02:00 |
|
Irmen de Jong
|
ea6926e57d
|
fix float expression crash: fl = abs/sqrt (fl)+0.5
|
2023-06-09 19:28:34 +02:00 |
|
Irmen de Jong
|
ba25b7fee6
|
fix diskio.diskname(). cx16: add diskio.curdir()
|
2023-06-07 22:38:51 +02:00 |
|
Irmen de Jong
|
7ee162d98b
|
preparing version 9.0
|
2023-06-05 19:47:00 +02:00 |
|
Irmen de Jong
|
380f557c45
|
vm: implement split incr/decr
|
2023-06-03 22:22:13 +02:00 |
|
Irmen de Jong
|
9314c346da
|
-target option is now required; c64 no longer the default
|
2023-06-03 19:14:45 +02:00 |
|
Irmen de Jong
|
bfaad1388c
|
IR: handle split arrays without new custom opcodes
|
2023-06-03 01:51:02 +02:00 |
|
Irmen de Jong
|
0b580ad05d
|
v9 upgrading doc
|
2023-06-01 20:23:04 +02:00 |
|
Irmen de Jong
|
bb35a80177
|
%option splitarrays now also at module level
|
2023-05-31 21:50:41 +02:00 |
|
Irmen de Jong
|
24fc95ac81
|
fix atari target syslib
|
2023-05-31 20:58:00 +02:00 |
|
Irmen de Jong
|
8f864417c4
|
added %option splitarrays (block level)
|
2023-05-31 18:49:21 +02:00 |
|
Irmen de Jong
|
b9d8ec1463
|
add -splitarrays command line option
|
2023-05-30 19:08:34 +02:00 |
|
Irmen de Jong
|
bbc02752c9
|
use split word arrays in various examples, fix codegen issue, docs
|
2023-05-29 15:34:33 +02:00 |
|
Irmen de Jong
|
82898f7bba
|
fix some split array issues in 6502 codegen
|
2023-05-28 22:24:56 +02:00 |
|
Irmen de Jong
|
c94e292176
|
more split array stuff
|
2023-05-27 12:47:11 +02:00 |
|
Irmen de Jong
|
e15bc68c9b
|
added gfx2.fill() flood fill routine
|
2023-05-23 00:50:10 +02:00 |
|
Irmen de Jong
|
8bffd7672d
|
added sys.irqsafe_set_irqd()/irqsafe_clear_irqd()
|
2023-05-22 21:13:20 +02:00 |
|
Irmen de Jong
|
0c94e377fc
|
Merge branch 'v8_maintenance'
|
2023-05-21 16:09:31 +02:00 |
|
Irmen de Jong
|
061617122a
|
Merge branch 'v8_maintenance'
# Conflicts:
# examples/test.p8
|
2023-05-20 18:07:57 +02:00 |
|
Irmen de Jong
|
06d1570142
|
cx16: added diskio.save_raw() headerless save routine
|
2023-05-20 00:00:50 +02:00 |
|
Irmen de Jong
|
093c370faa
|
todo
|
2023-05-19 01:26:15 +02:00 |
|
Irmen de Jong
|
300e2fe9f8
|
IR: wrong attempt at optimizing register usage by reusing registers inside different code chunks
|
2023-05-18 21:57:21 +02:00 |
|
Irmen de Jong
|
91421b0c62
|
IR handy sequence shortcut functions
|
2023-05-18 11:32:20 +02:00 |
|
Irmen de Jong
|
40f611664f
|
upgr
|
2023-05-18 00:04:31 +02:00 |
|
Irmen de Jong
|
c098ad2b3b
|
fix vm minf/maxf
|
2023-05-17 23:18:14 +02:00 |
|
Irmen de Jong
|
b43223cb7a
|
added clamp() builtin function and floats.clampf()
|
2023-05-17 23:12:58 +02:00 |
|
Irmen de Jong
|
e243531dab
|
upgrading
|
2023-05-17 00:49:47 +02:00 |
|
Irmen de Jong
|
1af38e62bc
|
removed floats.fabs() and floats.sqrt()/fsqrt()
|
2023-05-17 00:46:15 +02:00 |
|
Irmen de Jong
|
f37f062cdc
|
fix for loop pre-check
|
2023-05-17 00:33:55 +02:00 |
|
Irmen de Jong
|
7e734214dc
|
v8_maintenance branch made
|
2023-05-15 23:01:43 +02:00 |
|
Irmen de Jong
|
0e3d75cfeb
|
move irType() to intermediate module
|
2023-05-14 20:44:32 +02:00 |
|
Irmen de Jong
|
630c8a5faa
|
IR: fix romsub encoding
|
2023-05-14 18:08:06 +02:00 |
|
Irmen de Jong
|
905921a684
|
IR: new (sys)call instructions that encapsulate the full subroutine call
to fix the bugs resulting from nesting subroutine calls (as param to another call etc)
|
2023-05-14 15:20:25 +02:00 |
|
Irmen de Jong
|
bff3c4f95c
|
IR now converts IRInlineAsmChunk (of type IR) into regular code chunks directly.
.p8ir files usually won't contain <INLINEASM> nodes any longer
|
2023-05-09 21:04:31 +02:00 |
|
Irmen de Jong
|
4c8898a639
|
fix typecheck crash on certain byte to word assignments
|
2023-05-08 23:02:48 +02:00 |
|
Irmen de Jong
|
97df33ab1a
|
IR: fix byte to word assignment not doing value extension
|
2023-05-08 22:47:00 +02:00 |
|
Irmen de Jong
|
ef46fb2685
|
refactor
|
2023-05-08 21:51:55 +02:00 |
|