Irmen de Jong
|
81930312ff
|
added textio.setcc2() on commanderX16 to enable setting fg+bg colors.
|
2021-02-15 17:47:48 +01:00 |
|
Irmen de Jong
|
1e3930aae2
|
fix bug in evaluating logical expressions if one of the operands was not boolean 1 or 0
|
2021-02-14 18:29:05 +01:00 |
|
Irmen de Jong
|
62dda4d891
|
fix asm bug in conv.any2uword
|
2021-02-14 17:13:56 +01:00 |
|
Irmen de Jong
|
53f0318187
|
version 6.1
|
2021-02-14 00:07:45 +01:00 |
|
Irmen de Jong
|
5e6e711f33
|
optimize pokew()
|
2021-02-14 00:05:57 +01:00 |
|
Irmen de Jong
|
78af2cd4dc
|
optimize peekw()
|
2021-02-13 23:52:08 +01:00 |
|
Irmen de Jong
|
02cb237623
|
added poke() and pokew() builtin functions
|
2021-02-13 23:16:50 +01:00 |
|
Irmen de Jong
|
cc0f19653e
|
added peek() and peekw() builtin functions
|
2021-02-13 22:38:39 +01:00 |
|
Irmen de Jong
|
4fff150c7b
|
fixed mkword() bug
|
2021-02-13 22:00:13 +01:00 |
|
Irmen de Jong
|
f6136891cc
|
optimized for loop over const bytes, fixed downto 1
|
2021-02-13 13:46:02 +01:00 |
|
Irmen de Jong
|
1bbd77fddb
|
added txt.column()
|
2021-02-10 22:47:49 +01:00 |
|
Irmen de Jong
|
7c09ac632c
|
got rid of the --longOptionNames in the cli argparser
|
2021-02-10 21:26:46 +01:00 |
|
Irmen de Jong
|
3502f65332
|
reducing dependencies
|
2021-02-09 19:03:21 +01:00 |
|
Irmen de Jong
|
628390c3b5
|
reducing dependencies
|
2021-02-09 18:56:47 +01:00 |
|
Irmen de Jong
|
bc37097df2
|
reducing dependencies
|
2021-02-09 18:49:25 +01:00 |
|
Irmen de Jong
|
7d98275763
|
reducing dependencies
|
2021-02-09 02:06:27 +01:00 |
|
Irmen de Jong
|
d6ffb549f6
|
reducing dependencies
|
2021-02-09 01:47:05 +01:00 |
|
Irmen de Jong
|
bcd0db984d
|
reducing ast dependencies - moved ErrorReporter back to compiler module
|
2021-02-09 01:15:31 +01:00 |
|
Irmen de Jong
|
d9244f22c2
|
reducing ast dependencies - separate Ast compilation module
|
2021-02-09 01:06:11 +01:00 |
|
Irmen de Jong
|
c97d76dbf2
|
reducing ast dependencies
|
2021-02-09 00:05:56 +01:00 |
|
Irmen de Jong
|
9e05e97d7f
|
reducing ast dependencies
|
2021-02-07 19:38:20 +01:00 |
|
Irmen de Jong
|
ccd1516637
|
reducing ast dependencies
|
2021-02-07 18:44:38 +01:00 |
|
Irmen de Jong
|
f1f51a01c6
|
reducing ast dependencies
|
2021-02-07 18:34:55 +01:00 |
|
Irmen de Jong
|
be75b8dbe5
|
reducing ast dependencies
|
2021-02-07 07:05:00 +01:00 |
|
Irmen de Jong
|
02fae0e722
|
reducing ast dependencies
|
2021-02-07 06:50:59 +01:00 |
|
Irmen de Jong
|
e35b739579
|
reducing ast dependencies
|
2021-02-07 06:39:08 +01:00 |
|
Irmen de Jong
|
34aa6cc8a2
|
compiler checks for conflicting register usage in sub arguments vs target parameter registers
|
2021-02-07 05:25:50 +01:00 |
|
Irmen de Jong
|
eb2d5bb1f8
|
fix bank arg error in gfx2.position
|
2021-02-06 16:58:17 +01:00 |
|
Irmen de Jong
|
cc96ab7a9b
|
assignment source now also treats cx16.r[0-15] as registers
no longer create useless assignment code for r0=r0
|
2021-02-06 13:01:45 +01:00 |
|
Irmen de Jong
|
49ea31c0a4
|
fix shift signed word right
|
2021-02-06 01:23:31 +01:00 |
|
Irmen de Jong
|
f1478d776b
|
fix vertical line highres 4color
|
2021-02-05 18:09:21 +01:00 |
|
Irmen de Jong
|
40e4cfb686
|
amiga
|
2021-02-04 17:47:52 +01:00 |
|
Irmen de Jong
|
76f459ee95
|
amiga
|
2021-02-02 23:09:03 +01:00 |
|
Irmen de Jong
|
c478718019
|
fixed and optimized horiz_line for highres 4c
|
2021-02-01 22:03:10 +01:00 |
|
Irmen de Jong
|
c27248a58b
|
amiga
|
2021-01-29 23:52:29 +01:00 |
|
Irmen de Jong
|
51bc539468
|
added palette.set_rgb()
|
2021-01-29 02:46:07 +01:00 |
|
Irmen de Jong
|
2395863e7e
|
asmsubs: fix clobbering and optimize register usage for loading the arguments
|
2021-01-29 01:52:49 +01:00 |
|
Irmen de Jong
|
69c459c8ac
|
gfx2 highres 4colors
|
2021-01-28 22:28:14 +01:00 |
|
Irmen de Jong
|
c8855b2b10
|
better error msg
|
2021-01-27 02:40:56 +01:00 |
|
Irmen de Jong
|
a910c0fddb
|
gfx2 highres 4colors
|
2021-01-27 02:31:20 +01:00 |
|
Irmen de Jong
|
fd55611cac
|
asmsubs: don't use stack for simple lsb/msb/mkword arguments
|
2021-01-27 01:41:55 +01:00 |
|
Irmen de Jong
|
52f6be2bb0
|
gfx2: changed screen mode numbering to a more intuitive sequence
|
2021-01-26 18:17:20 +01:00 |
|
Irmen de Jong
|
dd2c436dc6
|
tweaked repeat
|
2021-01-25 23:39:54 +01:00 |
|
Irmen de Jong
|
9f047ba752
|
palette.set_monochrome() now has 2 arguments: screen and draw color RGB values
|
2021-01-24 04:15:15 +01:00 |
|
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
|
195cd7597d
|
fix pointer-to-pointer assignment
|
2021-01-23 18:50:46 +01:00 |
|
Irmen de Jong
|
4a81406262
|
fix diskio rename() and delete()
|
2021-01-23 17:57:30 +01:00 |
|
Irmen de Jong
|
6f0103398b
|
fix Y register clobbering in pointer access code
|
2021-01-23 15:24:41 +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
|
5c13918f11
|
cx16 reset_system() bank selection change
|
2021-01-17 18:28:43 +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
|
76d54fbe5c
|
optimize assignment to memory pointer with fixed byte offset
|
2021-01-15 20:46:47 +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
|
7277c08fa6
|
added textio.spc(). assem tweaks.
|
2021-01-14 22:51:09 +01:00 |
|
Irmen de Jong
|
8ac17ae14e
|
fix assem parsing of 4 letter instructions
|
2021-01-14 18:41:29 +01:00 |
|
Irmen de Jong
|
e0794db33a
|
version 6.0beta
|
2021-01-13 22:41:11 +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
|
a0ec37b35b
|
compiler error for missing return value
|
2021-01-10 16:36:08 +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
|
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
|
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
|
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
|
dde6919446
|
allow when choice values to be replaced in ast (const-folding)
|
2021-01-05 03:49:11 +01:00 |
|
Irmen de Jong
|
54fc9c91ac
|
fix hole in scratch zp allocation of cx16
|
2021-01-05 03:48:36 +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
|
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
|
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
|
5a846bdeb5
|
fixed invalid integer constant expression evaluation leading to wrong results
|
2021-01-02 20:33:59 +01:00 |
|
Irmen de Jong
|
edd3a22848
|
added strfind()
|
2021-01-02 17:49:58 +01:00 |
|
Irmen de Jong
|
08d44ae553
|
fix compiler errors
|
2021-01-02 15:40:24 +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
|
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
|
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
|
3378586098
|
update gradle to 6.7
|
2020-12-28 00:46:30 +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
|
d37d62574c
|
project restructure
|
2020-12-27 07:21:39 +01:00 |
|
Irmen de Jong
|
f2380457d6
|
update to new kotlin CLI parser library
|
2020-12-27 05:04:50 +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
|
7607d3d64a
|
check for unexecuted statements in blocks is now done for all blocks, not only main
|
2020-12-27 03:35:20 +01:00 |
|
Irmen de Jong
|
d7d7147d43
|
added error message when not using returnvalue of a functioncall
|
2020-12-27 02:28:40 +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
|
9002c67639
|
cleanup of cx16 regs lists
|
2020-12-25 14:00:07 +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
|
80e3a11268
|
fix faulty word[x]-- , fix invalid stz addressing modes
|
2020-12-24 04:08:52 +01:00 |
|
Irmen de Jong
|
38a6c6a866
|
error message for too large repeat iteration count
|
2020-12-24 03:25:46 +01:00 |
|
Irmen de Jong
|
7d08380c7f
|
added cx16.vaddr()
|
2020-12-23 05:04:19 +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 |
|
Irmen de Jong
|
dc600cc3ed
|
fix crash when printing Ast for asmsubroutine with multiple return values
|
2020-12-23 02:03:27 +01:00 |
|
Irmen de Jong
|
ae648b8a0a
|
subroutines can now be defined even within regular code and will not disrupt the generated code anymore (they are moved to the end of their scope by the compiler)
|
2020-12-23 01:55:47 +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
|
118aed2e31
|
optimized code for 65c02 when setting constant 0 value
|
2020-12-22 17:59:47 +01:00 |
|
Irmen de Jong
|
d6444bba66
|
don't remove 'double' assignments that are actually doing something like calling a function
|
2020-12-22 12:52:55 +01:00 |
|
Irmen de Jong
|
5a2f8fdfe1
|
asm-subroutines that ONLY return a value in the Carry or Overflow status register can now be used in an assignment to store that value.
|
2020-12-22 12:44:03 +01:00 |
|