Commit Graph

977 Commits

Author SHA1 Message Date
Irmen de Jong
cdc6d9aa65 moved cx16 imageviewer into its own git repo. Version 6.0. 2021-01-23 23:49:17 +01:00
Irmen de Jong
997bc21feb added offsetof() to get the byte offset of struct members. 2021-01-23 23:11:57 +01:00
Irmen de Jong
975af4764d remove no longer needed strlen() calls from diskio routines 2021-01-23 22:46:46 +01:00
Irmen de Jong
bf69219f98 allow uwordpointer[index] syntax as equivalent to @(uwordpointer+index) index can be >255 here! 2021-01-23 22:39:30 +01:00
Irmen de Jong
f34f9329f1 fixed bug in memcopy 2021-01-23 19:49:53 +01:00
Irmen de Jong
90271d0dcd textelite was okay 2021-01-23 19:01:02 +01:00
Irmen de Jong
4a81406262 fix diskio rename() and delete() 2021-01-23 17:57:30 +01:00
Irmen de Jong
f9fd426843 Merge branch 'pointer-index-optimize'
# Conflicts:
#	docs/source/todo.rst
2021-01-23 15:57:23 +01:00
Irmen de Jong
e612056ecd more optimal screen pointer access in plasma.p8 example 2021-01-23 15:54:18 +01:00
Irmen de Jong
afb60db382 todo 2021-01-20 18:43:08 +01:00
Irmen de Jong
5731b876ff textelite save bug found 2021-01-20 01:36:46 +01:00
Irmen de Jong
055f917a2e fixed missing code for certain memread expressions when casted to uword 2021-01-20 01:30:11 +01:00
Irmen de Jong
4ed7fb771c started pointer access optimization 2021-01-20 00:17:33 +01:00
Irmen de Jong
c328e9018c cx16 assembler was moved into its own github repo 2021-01-18 01:38:33 +01:00
Irmen de Jong
b270f6f713 added cx16.rombank() and rambank(). Select kernal rom in i/o heavy programs for faster disk i/o 2021-01-17 19:16:21 +01:00
Irmen de Jong
40cc216557 optimize pointer var access if var is already on zeropage 2021-01-16 18:31:37 +01:00
Irmen de Jong
1481f92cb0 optimize memory read expression of ptr + constant index 2021-01-16 17:41:15 +01:00
Irmen de Jong
9f72779cdc optimize assignment from memory pointer with fixed byte offset 2021-01-15 20:09:13 +01:00
Irmen de Jong
3dcef89a74 optimize (zp),y instructions for 65c02 to use (zp) 2021-01-15 19:14:35 +01:00
Irmen de Jong
46373717b6 get rid of unused ci image format reader 2021-01-15 18:29:25 +01:00
Irmen de Jong
7277c08fa6 added textio.spc(). assem tweaks. 2021-01-14 22:51:09 +01:00
Irmen de Jong
04e75455c4 assem tweaks 2021-01-14 21:07:06 +01:00
Irmen de Jong
8ac17ae14e fix assem parsing of 4 letter instructions 2021-01-14 18:41:29 +01:00
Irmen de Jong
b128b79132 clearer description of memory() 2021-01-13 22:32:17 +01:00
Irmen de Jong
79e6d4b8dd better check for EOF status 2021-01-13 22:11:51 +01:00
Irmen de Jong
b9ddde0f12 assem 2021-01-12 03:45:18 +01:00
Irmen de Jong
506ac8014c fix diskio.f_readline() that skipped first char. It also doesn't leave the end of line char in the string now. 2021-01-10 16:21:25 +01:00
Irmen de Jong
72b4198301 added string.lower() / string.upper() 2021-01-10 15:29:43 +01:00
Irmen de Jong
24eee0cb34 lower 2021-01-10 15:15:00 +01:00
Irmen de Jong
9fc0c3f849 removed diskio.f_read_exact() - wasn't worth it over f_read() 2021-01-10 14:29:51 +01:00
Irmen de Jong
db314ed903 added diskio.f_readline() 2021-01-10 05:04:56 +01:00
Irmen de Jong
1ef9b8be61 assem 2021-01-10 03:44:10 +01:00
Irmen de Jong
79782ad547 conv.any2uword() changed return value 2021-01-08 22:43:01 +01:00
Irmen de Jong
b4d1d545a8 introduced txt.nl() 2021-01-08 16:56:17 +01:00
Irmen de Jong
f61682cdc7 moved various miscellaneous builtin functions such as exit() and progend() to sys.* 2021-01-08 16:44:34 +01:00
Irmen de Jong
3d09d605e1 moved memcopy, memset, memsetw builtin functions to sys.* 2021-01-08 01:09:37 +01:00
Irmen de Jong
025dde264a move target() builtin to sys.target constant 2021-01-07 23:36:28 +01:00
Irmen de Jong
87cee7a0fd check for name conflict with existing block (/module) 2021-01-07 23:28:15 +01:00
Irmen de Jong
61784a03bb removed all string related builtin functions and moved them to separate routines in new 'string' library module 2021-01-07 23:10:29 +01:00
Irmen de Jong
9d9ca0f08d fix bit shifting words by 8. fix type error for signed return types. 2021-01-07 22:50:40 +01:00
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
bec2224c3d clearer naming 2021-01-07 01:25:50 +01:00
Irmen de Jong
4305984168 assem 2021-01-06 01:03:08 +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
76101d7f8d assem 2021-01-05 22:56:52 +01:00
Irmen de Jong
4309a0dc68 assem 2021-01-05 04:46:25 +01:00
Irmen de Jong
41658c97a3 assem 2021-01-05 02:49:29 +01:00
Irmen de Jong
45c9cc97d9 fix invalid handling of X register functioncall result value 2021-01-05 02:44:55 +01:00
Irmen de Jong
6fa7debee5 todo 2021-01-05 02:17:51 +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
3550e1214c fix invalid handling of X register functioncall result value 2021-01-05 01:42:51 +01:00
Irmen de Jong
8dcb43ad1c assem 2021-01-04 20:15:07 +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
3e7c7ab497 assem optimize 4 letter mnems for size 2021-01-03 02:17:35 +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
baf9dfb46c assem 2021-01-02 20:33:07 +01:00
Irmen de Jong
583428b19c assem 2021-01-02 15:40:36 +01:00
Irmen de Jong
b3b2541c1e assem 2021-01-01 19:25:40 +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
ca83092aed added large example program to check / profile compiler performance 2020-12-31 01:10:48 +01:00
Irmen de Jong
3cda92331e updated dirlist 2020-12-31 01:07:37 +01:00
Irmen de Jong
c989abe265 optimize ubyte -> uword type casts more 2020-12-31 01:02:36 +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
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
69780ecde9 fixed % operator bug 2020-12-28 00:08:22 +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
6cb0e6a936 fixed lsb(value) not working when used in a comparison expression (needed to flip loading of A and Y register with the value) 2020-12-27 18:12:12 +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
efa42d5d96 compiler watch mode is a bit more robust now against crashes during compilation 2020-12-27 03:58:41 +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
b40e1eabb9 added memory() function for memory slab allocations 2020-12-27 02:28:30 +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
c2a8dc23d0 R0-R15 register parameter optimization if loaded with byte instead of word 2020-12-25 22:30:40 +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
07b00bec61 fix problems with color cycling in iff viewer 2020-12-24 06:48:15 +01:00
Irmen de Jong
e0d2b60d8b added diskio.f_read_exact() 2020-12-24 06:24:52 +01:00
Irmen de Jong
45bfecee73 fix problems with color cycling in iff viewer 2020-12-24 05:46:57 +01:00
Irmen de Jong
8f224afed9 added color cycling support to iff viewer 2020-12-23 23:23:16 +01:00
Irmen de Jong
48a4c46a6c optimized iff planar to chunky 2020-12-23 19:48:44 +01:00
Irmen de Jong
7d08380c7f added cx16.vaddr() 2020-12-23 05:04:19 +01:00
Irmen de Jong
b3b3cf3807 todo 2020-12-23 02:53:30 +01:00
Irmen de Jong
f0f6150e18 fix problem with reuse of auto-indexer-variables that could result in wrong code for routines using multiple array indexings 2020-12-23 02:30:46 +01:00