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
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
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
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
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
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
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
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
Irmen de Jong
c39fc4010d
textio.clear_screen() now uses kernal routine to clear the text screen, this also resets the cursor to top left.
2020-12-14 14:28:53 +01:00
Irmen de Jong
e221d674d9
pcxviewer done
2020-12-13 01:32:03 +01:00
Irmen de Jong
251f947293
fixed parameter signature for FB_set_8_pixels_opaque() (docs are wrong)
2020-12-12 03:32:01 +01:00
Irmen de Jong
1d299c56e0
fix float '**' (pow) on cx16
2020-12-10 22:19:07 +01:00
Irmen de Jong
0d735c2ccc
workaround for FB_set_pixels bug
2020-12-10 21:51:32 +01:00
Irmen de Jong
00071d53d5
optimized disc (filled circle) drawing on c64, fixed off by 1 disc width in cx16 version
2020-12-06 00:33:32 +01:00
Irmen de Jong
6902834568
remove dummy argument for txt.scroll_XXXX() functions on cx16
2020-12-06 00:19:47 +01:00
Irmen de Jong
fa2d87f3dd
optimized disc (filled circle) drawing on cx16
2020-12-06 00:01:19 +01:00
Irmen de Jong
6f74fb49bd
added c64colors module. added vpeek/vpoke to cx16 syslib. koalaviewer example now uses better c64 color palette.
2020-12-03 18:14:49 +01:00
Irmen de Jong
510ca042c9
stack tested for most example programs
2020-11-22 18:35:43 +01:00
Irmen de Jong
d0bd2f522c
rol and ror
2020-11-07 00:56:54 +01:00
Irmen de Jong
7626c9fff7
only allow array indexing via a number, or a variable (eliminate complex expression calcs for array indexing, force explicit use of an index variable)
2020-10-17 19:57:55 +02:00
Irmen de Jong
095c8b2309
corrected name and added cx16logo library module for fun
2020-10-15 00:58:41 +02:00
Irmen de Jong
b759d5e06a
fixed X register corruption on Cx16 verions of float.GIVUAYFAY and GIVAYFAY
2020-10-11 17:46:19 +02:00
Irmen de Jong
f8b04a6357
added status return flags to some kernel i/o operations
2020-10-05 19:48:21 +02:00
Irmen de Jong
e83e021541
doc
2020-10-02 23:31:49 +02:00
Irmen de Jong
b93d9ecd7e
memtop cx16
2020-09-23 02:34:49 +02:00
Irmen de Jong
af6731c9c8
preparing version 4.3
2020-09-22 21:50:56 +02:00
Irmen de Jong
9389791d91
created own circle and disc subroutines for cx16 because its rom routine is not yet implemented and just does a BRK
2020-09-22 02:52:09 +02:00
Irmen de Jong
aa8191d0a1
introduced graphics module wrapper for cx16 to make even more programs compatible
2020-09-22 02:21:16 +02:00
Irmen de Jong
0d5c78e875
introduced graphics module wrapper for cx16 to make even more programs compatible
2020-09-22 02:12:01 +02:00
Irmen de Jong
d1d224b7fc
fixed print_f on cx16. Some more examples are now multi-platform.
2020-09-22 01:34:05 +02:00
Irmen de Jong
ffa38955d6
improved scroll_down and scroll_up to use VERA dual data ports instead of a copybuffer
2020-09-22 00:34:43 +02:00
Irmen de Jong
8d82fb6d8f
added cx16 txt.scroll_right
2020-09-22 00:00:22 +02:00
Irmen de Jong
306770331a
added cx16 txt.scroll_left
2020-09-21 23:39:25 +02:00
Irmen de Jong
d3f433c8cf
specify VERA data port to use
2020-09-21 23:04:01 +02:00
Irmen de Jong
cf49cbd1f8
more consistent about the system reset routine
2020-09-21 22:35:07 +02:00
Irmen de Jong
8a99e75299
added cx16 txt.scroll_down
2020-09-21 22:06:48 +02:00
Irmen de Jong
2dbf849c82
added cx16 txt.scroll_up
2020-09-21 21:39:36 +02:00
Irmen de Jong
ba3dce0b4c
optimized cx16 txt screen functions to use VERA autoincrement
2020-09-21 19:30:21 +02:00
Irmen de Jong
ca9588380a
added cx16 txt.clear_screencolors
2020-09-21 18:42:28 +02:00
Irmen de Jong
de06353194
auto select correct library to import based on target, instead of having c64- and cx16- prefix variants
...
some programs are now 100% source compatible between C64 and Cx16 targets!
import libraries have been rena;med
2020-09-21 00:50:09 +02:00