Irmen de Jong
|
48c9349ce9
|
working on codegen fixes
|
2023-01-25 01:57:25 +01:00 |
|
Irmen de Jong
|
99c62aab36
|
Merge branch 'master' into codegen-on-new-ast
# Conflicts:
# examples/test.p8
|
2023-01-24 01:51:20 +01:00 |
|
Irmen de Jong
|
74b69e191e
|
restructure keyboardhandler example due to X register bug, discussed in #94
|
2023-01-24 01:30:57 +01:00 |
|
Irmen de Jong
|
8cda8a727c
|
update vtui example to vtui 1.0
|
2023-01-24 01:00:21 +01:00 |
|
Irmen de Jong
|
4403e4ed62
|
optimize node renames
|
2023-01-22 18:26:37 +01:00 |
|
Irmen de Jong
|
9b209823f6
|
simple test
|
2023-01-22 17:10:52 +01:00 |
|
Irmen de Jong
|
4e103a1963
|
making snow example more interesting
|
2022-12-22 13:04:26 +01:00 |
|
Irmen de Jong
|
bf0604133c
|
fix error in IR for inline asm and BSS vars.
|
2022-12-04 16:48:44 +01:00 |
|
Irmen de Jong
|
a82b2da16e
|
Fix some FP related assignment issues in 6502 codegen.
|
2022-12-04 13:03:38 +01:00 |
|
Irmen de Jong
|
17bedac96c
|
vm: memory is randomized on start instead of 0. P8ir file now has BSS segment. Vm clears BSS vars to 0.
|
2022-12-03 17:46:06 +01:00 |
|
Irmen de Jong
|
f470576822
|
it's now possible to use symbols that are the same name as 6502 instructions
because these are now prefixed internally before generating assembly.
|
2022-11-30 18:39:56 +01:00 |
|
Irmen de Jong
|
10760a53a8
|
optimize cmp word equal/notequal
|
2022-11-29 20:14:35 +01:00 |
|
Irmen de Jong
|
eee805183c
|
don't overwrite temp vars in complex comparison expressions. Fixes #89
|
2022-11-29 04:13:25 +01:00 |
|
Irmen de Jong
|
b8fb391022
|
- ir codegen now allows subroutine having the same name as its block
this is not possible for the 6502 codegen due to 64tass scoping limitation
|
2022-11-28 21:54:33 +01:00 |
|
Irmen de Jong
|
3c698f1584
|
fileseek for writing not right now
|
2022-11-27 21:52:18 +01:00 |
|
Irmen de Jong
|
2fad52d684
|
the adpcm example can now read wav files directly (so no need anymore to extract the binary frame data from them)
|
2022-11-27 21:37:40 +01:00 |
|
Irmen de Jong
|
ec64a68a71
|
fixed compiler crash: unsigned = (-(unsigned as word) as uword)
|
2022-11-27 17:25:47 +01:00 |
|
Irmen de Jong
|
db55562f6a
|
fixed adpcm playback
|
2022-11-27 16:36:30 +01:00 |
|
Irmen de Jong
|
0d0ce6eec1
|
adpcm plays pcm
|
2022-11-24 21:03:50 +01:00 |
|
Irmen de Jong
|
7b6c742178
|
fixed diskio.f_read() for small read sizes
|
2022-11-24 00:23:37 +01:00 |
|
Irmen de Jong
|
f870e4965a
|
added cx16diskio.f_seek() function to seek to a position in an opened file
f_open uses channel 12 now, f_open_w uses 13
|
2022-11-23 01:48:04 +01:00 |
|
Irmen de Jong
|
c21913a66b
|
ir: keep order of children in block
|
2022-11-22 02:04:24 +01:00 |
|
Irmen de Jong
|
153b422496
|
cx16: retain display mode (composite etc)
|
2022-11-20 19:19:01 +01:00 |
|
Irmen de Jong
|
d8e87bd881
|
make uword xx = 1<<shift into a word shifting
|
2022-11-16 01:39:34 +01:00 |
|
Irmen de Jong
|
922033c1b2
|
main block element order now remains the same as in source
|
2022-11-16 00:32:00 +01:00 |
|
Irmen de Jong
|
836a2700f2
|
func(x>>1) no longer uses slow stack eval
|
2022-11-15 02:49:40 +01:00 |
|
Irmen de Jong
|
00c059e5b1
|
adding cx16/adpcm example
|
2022-11-15 01:17:28 +01:00 |
|
Irmen de Jong
|
f4f355c74a
|
added cx16/diskspeed example
|
2022-11-14 17:55:55 +01:00 |
|
Irmen de Jong
|
2d78eaa48d
|
fix gfx2 text color, added cx16 snow example
|
2022-11-12 22:08:07 +01:00 |
|
Irmen de Jong
|
9d7b9771c2
|
p8ir file format is now valid XML
|
2022-11-11 23:35:52 +01:00 |
|
Irmen de Jong
|
3dcf628fdb
|
fixed subroutine name shadow check
|
2022-11-10 22:51:37 +01:00 |
|
Irmen de Jong
|
e614e9787a
|
ir: write values as hex into p8ir file
|
2022-11-08 21:59:05 +01:00 |
|
Irmen de Jong
|
5d4bfffc7e
|
float.rndseedf() now takes float seed value and is consistent for all CBM compilation targets
|
2022-11-06 22:53:57 +01:00 |
|
Irmen de Jong
|
207cdaf7a4
|
fix kefrenbars example (use gfx2 instead of kernal routines)
|
2022-11-06 17:33:30 +01:00 |
|
Irmen de Jong
|
7315b581ce
|
added gfx2.pget(x,y) to get the pixel color value
|
2022-11-06 13:40:55 +01:00 |
|
Irmen de Jong
|
38efaae7b2
|
ir/vm: syscall params in high base register to avoid push/pop
|
2022-11-06 12:52:09 +01:00 |
|
Irmen de Jong
|
469e042216
|
vm: replaced prog8_lib.string_compare and others with syscalls
|
2022-11-04 23:12:13 +01:00 |
|
Irmen de Jong
|
0f1a4b9d8f
|
fixed certain type check error when passing boolean value to ubyte function parameter
fixed virtual machine string comparison syscall
|
2022-11-03 23:06:03 +01:00 |
|
Irmen de Jong
|
7303c00296
|
vm: prog8lib.wordarray_contains() fixed
|
2022-11-03 22:48:47 +01:00 |
|
Irmen de Jong
|
562d722ad5
|
codegen: added missing codegen for float array inplace modification
|
2022-11-03 20:08:46 +01:00 |
|
Irmen de Jong
|
144c1ba3a6
|
ir: fix float instruction value in formatspec
|
2022-11-03 19:08:38 +01:00 |
|
Irmen de Jong
|
dc0edc4c2b
|
break also in for
|
2022-10-29 23:34:59 +02:00 |
|
Irmen de Jong
|
434515d957
|
fix: array[x] = ~array[x] no longer crashes the codegen
|
2022-10-27 23:56:38 +02:00 |
|
Irmen de Jong
|
e9a4a905ef
|
preparing to fix the array indexing compiler issue
|
2022-10-26 23:53:17 +02:00 |
|
Irmen de Jong
|
e94bf4c63c
|
replace rnd()/rndw() builtin functions by regular routines in math module
|
2022-10-22 17:02:43 +02:00 |
|
Irmen de Jong
|
ec5adffdc2
|
rnd()/rndf() routines can now be seeded with new rndseed()/rndseedf() routines. fixes #80
|
2022-10-22 13:34:22 +02:00 |
|
Irmen de Jong
|
53b0b562e6
|
fix check for routine that returns multiple values but in status bit. Fixes #79
|
2022-10-19 23:23:49 +02:00 |
|
Irmen de Jong
|
39d6d2857e
|
ir: change inline binary a bit
|
2022-10-04 00:57:08 +02:00 |
|
Irmen de Jong
|
af6be44676
|
ir: adding register usage inspections
fix compiler problems with untrimmed inlined asm, and when only a single return statement is present in a subroutine
|
2022-09-30 20:25:00 +02:00 |
|
Irmen de Jong
|
5a8f97a0b6
|
ir: adding last missing features to be able to encode all of Prog8
|
2022-09-30 16:01:00 +02:00 |
|