Commit Graph

1246 Commits

Author SHA1 Message Date
Irmen de Jong
ee4da1a757 fix floats.parse_f() to use new kernal routine address for VAL
gives error message if it detects issues f.ex. with new kernal version that moves the routine
2023-11-27 23:58:28 +01:00
Irmen de Jong
ae2d96c455 added peekf and pokef builtin functions. Fixed sizeof() to allow number argument as well. 2023-11-27 23:36:02 +01:00
Irmen de Jong
6d8fbe0877 fixed float array indexing with an expression 2023-11-27 20:54:49 +01:00
Irmen de Jong
2fa1d8f2e8 fix vm string hash 2023-11-27 01:27:50 +01:00
Irmen de Jong
533090a68e fix expression result register of square, callfar, string compare functions in certain situations 2023-11-26 23:02:10 +01:00
Irmen de Jong
1dff59e1d6 added string.hash() 2023-11-26 22:14:08 +01:00
Irmen de Jong
2764d235a9 optimizing for x in 0 to something 2023-11-25 21:37:27 +01:00
Irmen de Jong
45debff89f bmx: allow palette to be loaded into memory buffer instead of vram 2023-11-25 17:58:43 +01:00
Irmen de Jong
6a0a6b4751 todo 2023-11-24 01:20:10 +01:00
Irmen de Jong
82a15b5a16 65C02 cpu: use TRB and TSB instructions for in-place AND/OR. 2023-11-24 00:50:52 +01:00
Irmen de Jong
98570ac456 cx16: optimized sys.set_rasterline() 2023-11-23 00:02:04 +01:00
Irmen de Jong
1b2296ad5b move cx16 irq examples to new API, fix some bugs in the handler 2023-11-22 23:25:39 +01:00
Irmen de Jong
16851746d6 new X16 irq handler routines and examples 2023-11-22 20:03:21 +01:00
Irmen de Jong
ba67fd318b renamed cx16.VERA_IRQ_LINE_L to VERA_IRQLINE_L and added VERA_SCANLINE_L, to align with official register naming.
Also added a multi-irq example for the X16 to show the updated irq handler semantics.
2023-11-22 18:36:24 +01:00
Irmen de Jong
08ac459a41 breaking change: sys.set_irq() and sys.set_rasterirq() no longer have useKernal parameter! The irq handler routine must return a boolean instead in the A register.
When it returns true it means run the system IRQ handler afterwards. When it returns false, the system handler is NOT ran afterwards.
2023-11-21 23:22:53 +01:00
Irmen de Jong
62d3f01948 fix name check in inline asm
this no longer removes a subroutine that is otherwise only called from inlined asm.
2023-11-21 01:26:50 +01:00
Irmen de Jong
af5ca2d0b8 vm: treat floats as 64 bits doubles. 0.0 printed as "0". 2023-11-21 00:57:56 +01:00
Irmen de Jong
a6756d2cea removed diskio.set_drive(), just set the diskio.drivenumber variable directly
there already wasn't a getter
2023-11-19 22:15:56 +01:00
Irmen de Jong
8e2c304b3c txt.waitkey() now returns the key that was pressed 2023-11-17 20:31:19 +01:00
Irmen de Jong
f21adaa3ef fix compiler error caused by removal of string symbol in txt.print() optimization 2023-11-17 19:51:48 +01:00
Irmen de Jong
2637939e62 cx16.vaddr_clone now leaves vera CTRL selected port intact 2023-11-17 19:22:23 +01:00
Irmen de Jong
161c02ced3 message 2023-11-17 00:37:12 +01:00
Irmen de Jong
ff8de8e42d removing redundant compares 2023-11-16 22:56:19 +01:00
Irmen de Jong
09d506194f note 2023-11-15 22:27:16 +01:00
Irmen de Jong
42db3085df improve the way %option merge works, you can now merge your own code with library code for instance. 2023-11-14 23:04:13 +01:00
Irmen de Jong
ad14c88fde give error when using %option merge in module scope 2023-11-14 21:53:50 +01:00
Irmen de Jong
0c9daf6eaf fix compiler crash on ptrvar[n+1] = ptrvar[2] 2023-11-14 21:46:11 +01:00
Irmen de Jong
86c6530e46 palette: more accurate color conversion from 8 to 4 bits channels
set_rgb8(), color8to4(), channel8to4()
2023-11-14 20:40:48 +01:00
Irmen de Jong
159f80d629 next version 2023-11-14 19:06:47 +01:00
Irmen de Jong
d73709653d remove unused interned strings in the resulting code (for example from removed if/else blocks) 2023-11-12 05:28:24 +01:00
Irmen de Jong
36758f41a4 fixed diskio.f_open_w() error handling, finally added f_seek_w() to be able to seek in files for writing. 2023-11-11 14:26:40 +01:00
Irmen de Jong
f70fa42eac more accurate palette conversion 2023-11-08 01:33:55 +01:00
Irmen de Jong
70436f5dca cx16.vpeek() use VERA_DATA0 instead of 1, to not cause ADDRSEL to be != 0 (interferes with kernal) 2023-11-07 22:09:53 +01:00
Irmen de Jong
31177a2b1b added sys.disable_caseswitch() and sys.enable_caseswitch() 2023-11-07 00:27:34 +01:00
Irmen de Jong
723ab54f97 optimized all circle routines a little more. Added gfx2/monogfx safe_circle and safe_disc. Warning for when on const value. 2023-11-05 21:29:59 +01:00
Irmen de Jong
d9389afc66 fix compiler crash on certain constant expressions 2023-11-05 13:59:08 +01:00
Irmen de Jong
e7178ee496 optimized comparison with word variables 2023-11-05 00:20:12 +01:00
Irmen de Jong
72f1a779f2 optimize monogfx.fill() and gfx2.fill(), also don't read outside screen area 2023-11-04 14:30:51 +01:00
Irmen de Jong
98d2c64d5d fix assembly error for uword[3] @zp @split word_addrs 2023-11-03 00:39:43 +01:00
Irmen de Jong
f68b46fc60 add a %zpallowed option to specify the range of zeropage register that can be used 2023-11-03 00:19:25 +01:00
Irmen de Jong
d54ab856e7 fix parameter passing bug introduced recently (byte not converted to word) 2023-11-02 00:31:35 +01:00
Irmen de Jong
16b24fadea gfx2 future mode, upgrate to Kotlin 1.9.20 2023-11-01 23:18:44 +01:00
Irmen de Jong
32becdbced add monogfx lib to virtual target 2023-10-24 00:16:25 +02:00
Irmen de Jong
34aa21f7d9 improve function call arg type casting 2023-10-22 22:33:35 +02:00
Irmen de Jong
cc81dd7d3e remove useless close calls from diskio load 2023-10-22 17:24:05 +02:00
Irmen de Jong
3dc5a0e7f8 some arrays can be in BSS 2023-10-18 23:59:37 +02:00
Irmen de Jong
e15c5cde53 tiny fill() optimization 2023-10-18 23:11:16 +02:00
Irmen de Jong
d88c09b098 fix signed byte to word casting issue uw = 8888 + (bb as ubyte) 2023-10-17 22:54:33 +02:00
Irmen de Jong
893b383bdf fix signed byte to word sign extension in assignment 2023-10-17 03:08:37 +02:00
Irmen de Jong
dd7c9d62e6 remove assigment splitter, it now caused code bloat instead of more efficient code 2023-10-16 02:07:22 +02:00