Irmen de Jong
|
27568c2bef
|
fixed silly code generated by some NOT-expressions (unused temporary)
|
2022-12-12 21:57:22 +01:00 |
|
Irmen de Jong
|
0694a187d7
|
unsigned>0 now optimized into unsigned!=0
|
2022-12-12 20:37:57 +01:00 |
|
Irmen de Jong
|
ca1089b881
|
optimized codegen for logical expressions with simple right operand (such as c64.READST() & $40 )
|
2022-12-06 20:23:56 +01:00 |
|
Irmen de Jong
|
a1d04f2aad
|
added more $03xx vector definitions to C64/C128/CX16 syslib
|
2022-12-06 20:23:56 +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
|
f2273c0acc
|
fix several FP rom routine addresses on cx16.
|
2022-12-03 19:56:54 +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
|
5e896cf582
|
preparing to add Golden RAM
|
2022-12-03 00:21:31 +01:00 |
|
Irmen de Jong
|
add3491c57
|
fix possible vardecl issue for prefixed params
|
2022-11-30 22:56:54 +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
|
483f313eda
|
ir: keep correct child node order in blocks
|
2022-11-24 01:19:48 +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
|
d4a35ba6ff
|
got rid of diskio.have_first_byte overhead
|
2022-11-23 21:53:36 +01:00 |
|
Irmen de Jong
|
e2f20ebf94
|
fix crash on empty conditional branch statement (if_cc { } )
|
2022-11-23 02:14:48 +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
|
77e956a29f
|
API change: diskio.list_files doesn't have an internal buffer anymore, you now have to supply a buffer + size yourself. Renamed to list_filenames
|
2022-11-20 23:27:22 +01:00 |
|
Irmen de Jong
|
08275c406a
|
added chdir/mkdir/rmdir/relabel to cx16diskio
|
2022-11-20 22:59:44 +01:00 |
|
Irmen de Jong
|
2931e1b87b
|
diskio file lister routines now also put file type (prg, seq, dir) in new diskio.list_filetype variable
|
2022-11-20 20:22:09 +01:00 |
|
Irmen de Jong
|
0f6a6d6fea
|
attempt to make gfx2 screen mode 0 cleanup more robust on real hardware
|
2022-11-18 22:53:28 +01:00 |
|
Irmen de Jong
|
91fdb3e2d4
|
ir: store labels in blocks, but still useless
|
2022-11-17 00:37:45 +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
|
df1793efbf
|
fixed: word << 12 is suddenly an uword (with optimizer on)
|
2022-11-15 03:00:41 +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
|
8f3aaf77a1
|
fix optimizer hanging on uword xx :: xx >>= 8 / xx=msb(xx)
|
2022-11-15 01:40:13 +01:00 |
|
Irmen de Jong
|
00c059e5b1
|
adding cx16/adpcm example
|
2022-11-15 01:17:28 +01:00 |
|
Irmen de Jong
|
b465fc5aaf
|
fix bug in word array containment check (prog8_lib.containment_wordarray) that could hang the loop
|
2022-11-12 23:19:01 +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
|
d08451bccc
|
ir: Block can now contain inline binary
|
2022-11-12 20:17:23 +01:00 |
|
Irmen de Jong
|
267b6f49b5
|
IRFileReader parses the p8ir file with xml parser
|
2022-11-12 16:51:20 +01:00 |
|
Irmen de Jong
|
e6688f4b9d
|
clearer error for VM limitation cannot load label address as value
|
2022-11-12 13:45:02 +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 |
|