Commit Graph

371 Commits

Author SHA1 Message Date
Irmen de Jong
58f37513e7 removed all string related builtin functions and moved them to separate routines in new 'string' library module 2021-01-07 20:01:11 +01:00
Irmen de Jong
ee7f9d457d text editor configs 2021-01-07 01:56:31 +01:00
Irmen de Jong
07dd64958f conv.bin2uword, conv.hex2uword, conv.str2uword, conv.str2word more robust and return parsed length in cx16.r15 2021-01-06 00:11:15 +01:00
Irmen de Jong
7d6a0ab256 added conv.any2uword() 2021-01-05 22:28:46 +01:00
Irmen de Jong
ee9f662016 added MEMTOP2 pseudo kernal routine on cx16 to get the number of RAM banks 2021-01-05 01:48:23 +01:00
Irmen de Jong
e6a1442296 sys.wait() no longer resets the jiffyclock to zero 2021-01-03 02:45:25 +01:00
Irmen de Jong
cb65480c6c moved wait() and reset_system() to sys block so they are now unified across c64 and cx16 2021-01-03 02:36:45 +01:00
Irmen de Jong
f0930d8a18 added c64.RDTIM16() utility routine to just get the lower 16 bits of the jiffy clock 2021-01-02 20:59:48 +01:00
Irmen de Jong
edd3a22848 added strfind() 2021-01-02 17:49:58 +01:00
Irmen de Jong
8e927e0b73 nontrivial return value evaluation now via intermediary variable to try to avoid slow stack based evaluation 2020-12-31 22:13:24 +01:00
Irmen de Jong
8e3e996f4a diskio.f_open() now also checks if file exists 2020-12-31 19:27:34 +01:00
Irmen de Jong
b6fa361bcc exit() now also resets the io channels. Optimized diskio data read subroutines. added diskio.f_read_all() 2020-12-31 19:09:29 +01:00
Irmen de Jong
89230ade7a change in pattern arguments of diskio.list_files() and lf_start_list(): you can now use a simple pattern with ? and * wildcards 2020-12-30 23:34:00 +01:00
Irmen de Jong
b4931c9a1f optimize horzontal_line drawing 2020-12-30 18:58:47 +01:00
Irmen de Jong
ddfcf45d40 added some missing clobbers() specs 2020-12-30 16:59:31 +01:00
Irmen de Jong
ee12236d53 added rect functions 2020-12-30 00:53:13 +01:00
Irmen de Jong
df6698c98f fixed circle and disc geometry 2020-12-30 00:11:42 +01:00
Irmen de Jong
c3b82f2cfa optimized disc() 2020-12-29 23:58:11 +01:00
Irmen de Jong
64c89f1c8f fix circle and disc geometry, added rect and line routines 2020-12-29 23:52:48 +01:00
Irmen de Jong
e09b65ea94 fix gfx2 vertical_line 2020-12-29 23:07:26 +01:00
Irmen de Jong
c81952c356 gfx2 optimizations for vertical lines 2020-12-29 02:13:38 +01:00
Irmen de Jong
f80e462d25 gfx2 optimizations for vertical lines 2020-12-29 01:36:34 +01:00
Irmen de Jong
51f32677b7 gfx2 optimizations for horizontal lines, fix bug in disc drawing 2020-12-29 01:23:14 +01:00
Irmen de Jong
4b366358c4 fix gfx2 color of horiz/vert lines 2020-12-28 01:33:51 +01:00
Irmen de Jong
6777d952c1 fixed crash when loopvar in for loop wasn't defined 2020-12-28 00:30:08 +01:00
Irmen de Jong
6c8b18ddbd fixed crash on cx16 in word to float conversion 2020-12-28 00:19:58 +01:00
Irmen de Jong
9e2c52e1ec added Cx16 highresbitmap example. added stippled drawing to gfx2 monochrome mode 2020-12-27 23:57:13 +01:00
Irmen de Jong
dd82e550d5 adding rect and fillrect to gfx2 2020-12-27 17:34:25 +01:00
Irmen de Jong
cdcda27d07 adding circle and disc to gfx2 2020-12-27 16:17:06 +01:00
Irmen de Jong
e17c18b653 fix issues with memory() function, rewrite examples to use it 2020-12-27 03:35:56 +01:00
Irmen de Jong
3b8e18004c fixed callgraph issue that allocated ALL variables in a (library) module even though some clearly weren't used at all. Variables declared in block level scope in a library are still all allocated / defined due to the nature of a library module with lists of definitions 2020-12-27 01:02:36 +01:00
Irmen de Jong
4c03950c28 changed 'c64colors' module to 'palette' and added more general Cx16 palette manipulation routines in there. 2020-12-27 00:35:25 +01:00
Irmen de Jong
170a0183f8 added 'inline' keyword to force inlining of trivial subroutines 2020-12-26 05:34:14 +01:00
Irmen de Jong
c62ff16f8b added gfx2.text_charset() 2020-12-26 03:15:24 +01:00
Irmen de Jong
ab495fe6e1 added gfx2.text() 2020-12-26 02:25:53 +01:00
Irmen de Jong
6734ae3c88 imageviewer now uses gfx2 for full-screen graphics. gfx2 promoted to built-in library on the cx16 target. 2020-12-25 17:57:46 +01:00
Irmen de Jong
4c1c595f14 removed requirement of virtual regs R0-R15 to be at start of subroutine params 2020-12-25 15:43:48 +01:00
Irmen de Jong
b91aabd3c0 max 16 subroutine params 2020-12-25 03:02:34 +01:00
Irmen de Jong
3307f673f6 optimized cx16.vpoke etc. to be asmsubroutines instead 2020-12-24 07:12:59 +01:00
Irmen de Jong
e0d2b60d8b added diskio.f_read_exact() 2020-12-24 06:24:52 +01:00
Irmen de Jong
7d08380c7f added cx16.vaddr() 2020-12-23 05:04:19 +01:00
Irmen de Jong
583af3bd4f additional vpoke operations to do or,and,xor in one go without the need for a separate vpeek 2020-12-23 01:02:43 +01:00
Irmen de Jong
d65cfbf093 fixed math.mul_word_40 that was actually doing *80... 2020-12-23 00:54:11 +01:00
Irmen de Jong
684e081399 optimized register save/restore on Cx16 cpu target 2020-12-22 05:59:01 +01:00
Irmen de Jong
c70b4daf87 cleanup obsolete routine 2020-12-22 03:40:44 +01:00
Irmen de Jong
928611eb20 Got rid of problematic attempts to save status register after function calls. If you really need it (for instance for if_XX instructions) it's probably better to use a short asmsub wrapper.
For function calls, register saves go via stack (to allow nested saves) for simpler cases, registers are saved in a local variable.
Fixed too agressive removal of sta-lda sequence if the lda is followed by a branching instruction.
Insert missing cmp #0 after functioncall if the value of the A register is needed in a comparison expression (could otherwise test wrong status flag)
2020-12-22 03:35:00 +01:00
Irmen de Jong
f1d55c688a cx16 registers should come first in subroutine arg list 2020-12-22 00:59:07 +01:00
Irmen de Jong
061e1be0a4 removed ROM-float optimizations, too troublesome. Fixed LOG2 not being defined on Cx16 as well. 2020-12-21 23:22:02 +01:00
Irmen de Jong
950bc4b937 cx16 virtual registers R0-R15 also available on C64 target (although in a different location in memory) 2020-12-21 21:04:29 +01:00
Irmen de Jong
dcb81e6bea adding CommanderX16 virtual registers language support, rewrite cx16 examples 2020-12-21 20:38:00 +01:00