Commit Graph

4950 Commits

Author SHA1 Message Date
Irmen de Jong
f7feaf158d added cx16.mouse_present() routine to check for presence of mouse 2024-09-06 18:21:13 +02:00
Irmen de Jong
2396f707c6 fix bug in codegen for certain array lookups using word typed index value (i.e. via a pointer variable) 2024-09-06 18:11:41 +02:00
Irmen de Jong
d4d8e1b1ba comment about implementation in life example 2024-09-06 16:39:44 +02:00
Irmen de Jong
44fec2c729 some additional last minute optimization to life example 2024-09-06 15:56:41 +02:00
Irmen de Jong
a80a6913e3 some additional last minute tweaks to life example 2024-09-06 15:42:49 +02:00
Irmen de Jong
0eac04c220 added cx16/life.p8 example (Conway's game of life) 2024-09-06 15:21:29 +02:00
Irmen de Jong
29dd758302 Fix compiler crash in for loops with just 1 iteration 2024-09-05 21:26:46 +02:00
Irmen de Jong
5c45adc7f0 graphics module on x16 now uses kernal (R48 or newer) support for drawing circles and ovals 2024-09-05 20:27:12 +02:00
Irmen de Jong
ad22cf08cd todo 2024-09-03 17:46:32 +02:00
Irmen de Jong
2c2ae64194 replace java Stack by kotlin ArrayDeque 2024-09-02 00:15:28 +02:00
Irmen de Jong
97c2dadd16 doc update 2024-09-01 20:55:43 +02:00
Irmen de Jong
b36e1e3baf change sprite.hide() : now disables sprite instead of moving it offscreen.
added sprite.show() to re-enable it (with z-order 3, as all sprites have by default in this module)
added sprite.zdepth() to set a custom z-depth.
2024-09-01 20:55:43 +02:00
Irmen de Jong
2da35fec17 remove requirement to end subroutine with an EOL, so oneliners are now possible
main { sub start() { cx16.r0++ cx16.r1++ } }
2024-09-01 20:55:43 +02:00
Irmen de Jong
bdeac74cfc removed the -nostrictbool compiler option
boolean types and bytes are no longer implicitly interchangeable using this option
2024-09-01 20:53:39 +02:00
Irmen de Jong
6516d7cb15 regenerate skeletons and set version 10.4 2024-08-25 16:56:33 +02:00
Irmen de Jong
31cf76042d scope 2024-08-25 15:28:45 +02:00
Irmen de Jong
c4c4dcf2b3 optimizing gfx2.fill() 4 color mode 2024-08-25 15:05:24 +02:00
Irmen de Jong
03145630f8 optimizing gfx2.fill() 2024-08-25 14:26:49 +02:00
Irmen de Jong
e2fcac322f optimizing gfx2.fill() 2024-08-25 13:51:01 +02:00
Irmen de Jong
beaff4d650 moved non X16 specific variables and vector definitions from cx16 to cbm namespace.
This makes the naming consistent with the other cbm-like targets (c64, pet, c128). Only the x16 specific ones remain in the cx16 namespace, such as cx16.KEYHDL

Probably the most impactful is the move of cx16.CINV to cbm.CINV
2024-08-24 20:06:50 +02:00
Irmen de Jong
79af96ddde new kotlin version 2024-08-24 16:34:26 +02:00
Irmen de Jong
e439720c9d optimized string compares 2024-08-24 14:53:18 +02:00
Irmen de Jong
48d0185ea4 increase flood fill stack size a bit 2024-08-23 20:55:30 +02:00
Irmen de Jong
e2592b4e0b fix possible gfx2 color problem in 2bpp mode 2024-08-23 19:48:23 +02:00
Irmen de Jong
2967866e3d avoid self-modifying code to be compatible with IRQ handlers 2024-08-23 17:46:23 +02:00
Irmen de Jong
b566ea5c3f added string.rfind() 2024-08-22 23:22:31 +02:00
Irmen de Jong
8f6eaeac2c half width katakana conversion 2024-08-21 18:51:34 +02:00
Irmen de Jong
b4facaeb3c add "kata" string encoding (Katakana) 2024-08-20 21:40:43 +02:00
Irmen de Jong
d12b7ccc6b fix syslib importing for raw outputs. fixes #144 2024-08-19 13:33:02 +02:00
Irmen de Jong
453e8bd0a0 update kotlin and antlr libs 2024-08-19 12:47:18 +02:00
Irmen de Jong
9204d390ae correct fetch() signature. fixes #148 2024-08-18 20:04:23 +02:00
Irmen de Jong
b70ce0015c fix missing opportunities to use TSB instruction 2024-07-24 22:51:49 +02:00
Irmen de Jong
d113827753 todo 2024-07-24 19:50:30 +02:00
Irmen de Jong
c67f877857 Codegen: use BIT instruction for memory location bit 7 and 6 tests (use N and V flags) 2024-07-24 19:26:54 +02:00
Irmen de Jong
0ec719e429 cx16: added a polling pcm streaming example 2024-07-23 21:37:11 +02:00
Irmen de Jong
17f7b11148 tweaks cx16 sample streaming example, also added a new one 2024-07-23 02:10:05 +02:00
Irmen de Jong
966b017670 tweaks 2024-07-22 18:20:01 +02:00
Irmen de Jong
4c98070b3c optimize shifts by 1 by inlining it better 2024-07-21 22:08:41 +02:00
Irmen de Jong
3681d6ee1c optimize division by powers of 2 better (into bit shifts) 2024-07-21 21:34:38 +02:00
Irmen de Jong
0af17cdc33 todo's for division optimizations 2024-07-21 20:32:03 +02:00
Irmen de Jong
2aae1f5e30 stricter checks for negative array indexing 2024-07-20 22:37:03 +02:00
Irmen de Jong
d18f2a7bfd improved codegen for some pointer+index expressions 2024-07-18 23:41:34 +02:00
Irmen de Jong
9046fe8d3a ringbuffer and pointer optimization todo 2024-07-16 22:59:31 +02:00
Irmen de Jong
78c7ee247a generate 65c02 TSB/TRB instructions in certain cases 2024-07-16 00:36:00 +02:00
Irmen de Jong
d5adb85e5b IR: add SEC,CLC,SEI,CLI instructions for the sys function calls. 2024-07-14 21:01:19 +02:00
Irmen de Jong
69f953fd9b diskio.f_readline() now also returns I/O status as secondary return value in A 2024-07-06 22:25:01 +02:00
Irmen de Jong
484677b4b1 Get rid of any() and all() builtin functions.
Replaced by regular subroutines in the anyall module.
2024-07-06 18:49:03 +02:00
Irmen de Jong
b10a8e728f update vim syntax too 2024-07-06 17:13:42 +02:00
Irmen de Jong
25f25a8767 Get rid of sort() and reverse() builtin functions.
Sort() had too many gotchas and reverse() is kinda redundant you can loop in decreasing order through an array too.
2024-07-06 17:07:58 +02:00
Irmen de Jong
0c053e4a2c IR: don't confuse symbol names starting with 'r', with register names
Added start of buffer.p8 (experimental)
2024-07-04 01:39:25 +02:00