Irmen de Jong
|
6381d2b6ac
|
improve word '<', word (u)word '<=' , uword '>=' codegen
|
2021-03-16 18:15:47 +01:00 |
|
Irmen de Jong
|
d2ab5f230d
|
example TODOs
|
2021-03-16 01:09:25 +01:00 |
|
Irmen de Jong
|
824b41d457
|
improve word '>' and '>=' codegen
|
2021-03-16 00:48:03 +01:00 |
|
Irmen de Jong
|
b5523c7077
|
don't optimize with inlining too aggressively (code bloat)
|
2021-03-16 00:33:15 +01:00 |
|
Irmen de Jong
|
eb3594b18c
|
revert to just using comparison expressions in graphics code (we're optimizing these now!)
|
2021-03-16 00:11:55 +01:00 |
|
Irmen de Jong
|
852d85d010
|
improve uword '<' and '>' codegen
|
2021-03-16 00:03:51 +01:00 |
|
Irmen de Jong
|
5e0aef04fe
|
improve (u)byte '>=' codegen
|
2021-03-15 23:20:16 +01:00 |
|
Irmen de Jong
|
a00c693f93
|
improve (u)byte '<=' codegen
|
2021-03-15 23:17:04 +01:00 |
|
Irmen de Jong
|
c943da1448
|
improve ubyte '<' and '>' codegen
|
2021-03-15 23:12:52 +01:00 |
|
Irmen de Jong
|
b630fae580
|
refactor byte '==', '!=', '<' and '>' codegen 2
|
2021-03-15 23:08:30 +01:00 |
|
Irmen de Jong
|
38e40084f1
|
refactor byte '==', '!=', '<' and '>' codegen
|
2021-03-15 22:47:18 +01:00 |
|
Irmen de Jong
|
bf23ad78e6
|
improve byte '<' and '>' codegen
|
2021-03-15 22:26:00 +01:00 |
|
Irmen de Jong
|
ded1d19737
|
improve '==' and '!=' codegen
|
2021-03-15 19:29:32 +01:00 |
|
Irmen de Jong
|
496a3b0d2c
|
todo
|
2021-03-15 18:56:25 +01:00 |
|
Irmen de Jong
|
6922333755
|
add a cmp(x,y) function that returns no value but only sets the status bits based off the comparison (can be used with a conditional jump afterwards)
|
2021-03-13 15:11:22 +01:00 |
|
Irmen de Jong
|
a00c39e9cf
|
compiler error instead of crash when using functioncall without returnvalue
|
2021-03-12 19:31:04 +01:00 |
|
Irmen de Jong
|
1c1da8e38e
|
additional optimization to the bresenham line routines
|
2021-03-10 18:49:40 +01:00 |
|
Irmen de Jong
|
6995ee2d17
|
fix cx16 bresenham line inaccuracy
|
2021-03-09 22:04:19 +01:00 |
|
Irmen de Jong
|
6c60ea9cac
|
allocate even more c64 zeropage locations for floats
|
2021-03-09 21:47:36 +01:00 |
|
Irmen de Jong
|
2431ed811a
|
don't remove typecasts in asmsub argument lists
|
2021-03-09 21:29:48 +01:00 |
|
Irmen de Jong
|
6bd205c02a
|
fix c64 bresenham line inaccuracy
|
2021-03-09 21:07:55 +01:00 |
|
Irmen de Jong
|
62ec77e148
|
ver
|
2021-03-08 23:35:52 +01:00 |
|
Irmen de Jong
|
9120e1de88
|
fix ubyte/uword to float conversion crashes on Commander X16
|
2021-03-08 23:21:52 +01:00 |
|
Irmen de Jong
|
60e169bd87
|
added optimized integer square (x*x) routine
|
2021-03-08 23:08:47 +01:00 |
|
Irmen de Jong
|
e4bca5fe47
|
version
|
2021-03-06 23:07:30 +01:00 |
|
Irmen de Jong
|
a1729b65ab
|
fix min(), max(), sum(), abs()
|
2021-03-06 22:57:22 +01:00 |
|
Irmen de Jong
|
2950d26c8e
|
array and struct value assignments now via memcopy instead of assignment per element
|
2021-03-06 22:10:03 +01:00 |
|
Irmen de Jong
|
4f8d4a9585
|
use memcopy to assign arrays
|
2021-03-06 19:01:16 +01:00 |
|
Irmen de Jong
|
de04bd8cfa
|
added more convenient number-to-string functions to conv library
|
2021-03-06 13:47:27 +01:00 |
|
Irmen de Jong
|
076a547f91
|
added more convenient number-to-string functions to conv library
|
2021-03-06 13:34:57 +01:00 |
|
Irmen de Jong
|
dffd0a2706
|
added fastrnd8() with the old rnd() generator code in it, new code for rnd() uses the much better rndw() generator now.
|
2021-03-05 22:49:14 +01:00 |
|
Irmen de Jong
|
8dfe510883
|
avoid compiler crash when evaluating const expressions fails due to things like integer out of bounds
|
2021-03-04 01:32:02 +01:00 |
|
Irmen de Jong
|
96ba9f5902
|
spelling correction
|
2021-03-04 01:31:29 +01:00 |
|
Irmen de Jong
|
32d894d6b6
|
optimized repeat loop for word counts
|
2021-02-28 21:22:46 +01:00 |
|
Irmen de Jong
|
543efa4299
|
attempt 2 at optimizing repeats
|
2021-02-28 21:02:17 +01:00 |
|
Irmen de Jong
|
eba0708099
|
Revert "optimized repeat loop for word counts"
This reverts commit 51e6bf0d
|
2021-02-28 20:29:28 +01:00 |
|
Irmen de Jong
|
51e6bf0d45
|
optimized repeat loop for word counts
|
2021-02-28 17:34:18 +01:00 |
|
Irmen de Jong
|
07b5c44a54
|
preparing to optimize 16 bit repeat loop
|
2021-02-28 17:13:15 +01:00 |
|
Irmen de Jong
|
9fe32c1c34
|
codegen uses 'bra' on 65c02 instead of 'jmp'
|
2021-02-28 16:46:08 +01:00 |
|
Irmen de Jong
|
0e0278c84a
|
for loops now use 'bra' if available
|
2021-02-28 16:35:59 +01:00 |
|
Irmen de Jong
|
dea775a9cd
|
package refactor
|
2021-02-28 16:29:15 +01:00 |
|
Irmen de Jong
|
7e3e18a5c7
|
deal with 'bra' better on 65c02
|
2021-02-28 16:20:03 +01:00 |
|
Irmen de Jong
|
8e3ebc84f0
|
readme
|
2021-02-28 15:40:04 +01:00 |
|
Irmen de Jong
|
e6079dfd71
|
don't always use pha/pla in pointer expression code
|
2021-02-27 16:21:46 +01:00 |
|
Irmen de Jong
|
2b435fe6a5
|
vtui example updated to vtui 0.6
|
2021-02-27 03:30:21 +01:00 |
|
Irmen de Jong
|
8b1e1e68fa
|
switch to Kotlin's new JVM IR compilation
|
2021-02-26 01:10:00 +01:00 |
|
Irmen de Jong
|
fd11927708
|
optimized highres 4c position calc a bit
|
2021-02-26 00:43:51 +01:00 |
|
Irmen de Jong
|
cd500fee8c
|
wording
|
2021-02-25 00:52:27 +01:00 |
|
Irmen de Jong
|
f275ed96ea
|
optimized palette.set_color()
|
2021-02-24 00:01:27 +01:00 |
|
Irmen de Jong
|
d14dac3872
|
got rid of final traces of heapid, fixed compiler warnings
|
2021-02-24 00:01:04 +01:00 |
|
Irmen de Jong
|
c677f0a875
|
fixed string interning to also consider the alt-encoding
|
2021-02-23 23:27:44 +01:00 |
|
Irmen de Jong
|
e65c5402d7
|
added cx16 rasterbars example
|
2021-02-22 02:11:44 +01:00 |
|
Irmen de Jong
|
334f86480a
|
added irq routines for cx16
|
2021-02-22 00:48:41 +01:00 |
|
Irmen de Jong
|
0e62f5b759
|
don't remove subroutines in a block marked with "force_output"
|
2021-02-21 23:25:26 +01:00 |
|
Irmen de Jong
|
edf9a500d3
|
kernel -> kernal
|
2021-02-21 22:48:06 +01:00 |
|
Irmen de Jong
|
001d01fdaf
|
slight tweak to 64tass .cpu to enable wdc65c02 variant on cx16 with its extra opcodes
|
2021-02-21 22:45:23 +01:00 |
|
Irmen de Jong
|
a95677564e
|
changed system irq/rasterirq setting routines
|
2021-02-21 22:23:50 +01:00 |
|
Irmen de Jong
|
4aca8bb8df
|
also track subroutines in the callgraph that only get their address taken
|
2021-02-21 22:09:49 +01:00 |
|
Irmen de Jong
|
5540482888
|
compiler error for duplicate when choice labels
|
2021-02-21 21:26:15 +01:00 |
|
Irmen de Jong
|
00d735249b
|
fix pointer write outside zeropage
|
2021-02-21 16:22:44 +01:00 |
|
Irmen de Jong
|
b5289511ba
|
don't remove empty when choice from the list of choices!
|
2021-02-21 15:11:19 +01:00 |
|
Irmen de Jong
|
b6ded8501f
|
added 'align_word' and 'align_page' block options to control block start address alignment in the assembler
|
2021-02-21 01:24:44 +01:00 |
|
Irmen de Jong
|
781915d2cf
|
reducing dependencies
|
2021-02-20 17:54:33 +01:00 |
|
Irmen de Jong
|
f4cef3eaf2
|
reducing dependencies
|
2021-02-20 17:19:54 +01:00 |
|
Irmen de Jong
|
d23c2eed86
|
test
|
2021-02-20 16:58:24 +01:00 |
|
Irmen de Jong
|
15695a304e
|
start address of blocks without explicit memory address, is now word-aligned in memory
|
2021-02-20 03:06:00 +01:00 |
|
Irmen de Jong
|
6319269976
|
underscore '_' is now also mapped to petscii, to the graphical symbol
|
2021-02-20 02:55:06 +01:00 |
|
Irmen de Jong
|
0ed3d951a7
|
don't require carry parameter Pc to asmsubs to be last
|
2021-02-20 02:27:57 +01:00 |
|
Irmen de Jong
|
2aa39757b4
|
reduce dependencies on global compilationtarget
|
2021-02-19 19:02:29 +01:00 |
|
Irmen de Jong
|
39d32a3600
|
refactor cpuCheck
|
2021-02-19 18:48:12 +01:00 |
|
Irmen de Jong
|
219d17de34
|
reduce dependencies on global compilaiontarget
|
2021-02-19 18:33:54 +01:00 |
|
Irmen de Jong
|
9bb5b454e4
|
reduce dependencies on global compilaiontarget
|
2021-02-18 23:44:26 +01:00 |
|
Irmen de Jong
|
b543cc34cd
|
no longer warn about removing unused asmsubs
|
2021-02-18 01:52:56 +01:00 |
|
Irmen de Jong
|
791dbbab9b
|
fixed block label itself not getting the correct memory address in the assembly
fixed %asmbinary relative path issues
|
2021-02-18 01:28:33 +01:00 |
|
Irmen de Jong
|
ac0b1da3fc
|
machinedefinition doesn't import system libs itself anymore
|
2021-02-18 00:43:32 +01:00 |
|
Irmen de Jong
|
2f97aedc3c
|
fixed invalid removal of string tag from memory()
|
2021-02-16 23:58:31 +01:00 |
|
Irmen de Jong
|
ab544ee965
|
improved string constant interning; no longer output duplicate strings in the Ast
|
2021-02-16 23:43:38 +01:00 |
|
Irmen de Jong
|
fa527f8624
|
restored optimization of txt.print() with strings of lengths 1 or 2
|
2021-02-16 23:37:11 +01:00 |
|
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 |
|