Irmen de Jong
|
1b576f826d
|
remove unneeded sibling methods
|
2021-10-31 16:50:15 +01:00 |
|
Irmen de Jong
|
fe17566370
|
improved reporting of slow stack based evaluation code
|
2021-10-31 14:18:49 +01:00 |
|
Irmen de Jong
|
e3c00669c1
|
fixed improved asm generation for conditions that compare signed word to zero
|
2021-10-31 02:39:45 +02:00 |
|
Irmen de Jong
|
33d17afc32
|
improved asm generation for conditions that compare byte/word to zero
|
2021-10-31 01:58:16 +02:00 |
|
Irmen de Jong
|
2388359a99
|
improved asm generation for conditions that compare ubyte/uword to zero
|
2021-10-31 01:39:37 +02:00 |
|
Irmen de Jong
|
2df0c9503c
|
improved asm generation for conditions that compare floats to zero
|
2021-10-31 01:28:08 +02:00 |
|
Irmen de Jong
|
61fa3bc77c
|
comparisonjump tweak
|
2021-10-31 00:57:22 +02:00 |
|
Irmen de Jong
|
9ccc65bf8f
|
more petscii tests
|
2021-10-30 15:15:11 +02:00 |
|
Irmen de Jong
|
495a18805c
|
move asmgen test to codeGeneration module
|
2021-10-29 16:20:53 +02:00 |
|
Irmen de Jong
|
ce75b776bb
|
refactor loadAsmIncludeFile response
|
2021-10-29 01:01:24 +02:00 |
|
Irmen de Jong
|
7d22b9b9f9
|
simplified name conflict check for sub params
|
2021-10-29 00:20:33 +02:00 |
|
Irmen de Jong
|
08d2f8568b
|
refactoring symbol lookups
|
2021-10-27 23:48:12 +02:00 |
|
Irmen de Jong
|
ac5f45d2d4
|
fix nested label lookups in anon scopes (partly)
|
2021-10-27 02:41:24 +02:00 |
|
Irmen de Jong
|
743c8b44a2
|
AnonymousScope refactor: it's no longer a INameScope
because it doesn't contain scoped variables (these are moved to the subroutine's scope)
|
2021-10-26 23:01:51 +02:00 |
|
Irmen de Jong
|
5e1459564a
|
no longer take AddressOf a str-variable that is a subroutine's parameter with str type (it's just an address/uword already)
|
2021-10-25 23:49:01 +02:00 |
|
Irmen de Jong
|
69a8813a3d
|
first steps to add support for str parameter type
|
2021-10-24 20:57:10 +02:00 |
|
Irmen de Jong
|
6b32535cb6
|
don't complain about uninitialized str var if it's not a var
|
2021-10-24 15:13:38 +02:00 |
|
Irmen de Jong
|
35e88dd529
|
(7.2) correctly parse datatype of array parameters
|
2021-10-21 22:06:21 +02:00 |
|
Irmen de Jong
|
df2d5c6585
|
tests for callgraph and unused subroutine removal in optimizer
|
2021-10-20 22:24:10 +02:00 |
|
Irmen de Jong
|
82d20dea39
|
a few comment and TODO cleanups.
remove remark about chars UBYTE type, kotlin's closest native type that can contain 0-255 is a short.
|
2021-10-19 23:20:34 +02:00 |
|
Irmen de Jong
|
761aac7a23
|
replace inferredType.istype() by infix form
|
2021-10-15 00:28:23 +02:00 |
|
Irmen de Jong
|
855e18b31c
|
fix SourceCode to properly set the sourceName of a resource or string as well
|
2021-10-13 21:46:38 +02:00 |
|
Irmen de Jong
|
6070afa6b6
|
cleanup SourceCode class
|
2021-10-13 19:16:01 +02:00 |
|
Irmen de Jong
|
6b8c3ef614
|
renamed command line option -libdirs to -srcdirs
this more clearly separates this meaning from the internal library modules
|
2021-10-13 18:16:51 +02:00 |
|
Irmen de Jong
|
557f4f689f
|
doc
|
2021-10-13 00:50:54 +02:00 |
|
Irmen de Jong
|
f891fc698c
|
switched to more featureful Result library
|
2021-10-12 21:35:27 +02:00 |
|
Irmen de Jong
|
2c2d474059
|
fix crash when attempting to import non-existing module
|
2021-10-11 20:37:55 +02:00 |
|
Irmen de Jong
|
9898791771
|
clean test.p8
|
2021-10-09 16:32:44 +02:00 |
|
Irmen de Jong
|
e8f308f654
|
a few more inlinings of trivial return values
|
2021-10-09 01:36:13 +02:00 |
|
Irmen de Jong
|
07132a2c42
|
removed unreliable inlining of non-asmsub subroutines. Fixes #60
|
2021-10-08 23:09:38 +02:00 |
|
Irmen de Jong
|
0204002d9b
|
bugfix: non-existing asm function was sometimes called to swap floats
|
2021-10-08 04:14:43 +02:00 |
|
Irmen de Jong
|
b3107cfad0
|
Merge branch 'master' into v7.1
|
2021-10-04 22:38:53 +02:00 |
|
Irmen de Jong
|
91ae68c07e
|
blinds effects done
|
2021-10-04 22:15:59 +02:00 |
|
Irmen de Jong
|
fbef63e150
|
moving to raster lines via irq
|
2021-09-30 23:45:45 +02:00 |
|
Irmen de Jong
|
bb8ee9bb3e
|
Merge branch 'master' into v7.1
|
2021-09-28 23:27:56 +02:00 |
|
Irmen de Jong
|
25677a4126
|
remove unused var
|
2021-09-28 23:27:32 +02:00 |
|
Irmen de Jong
|
3aeca0a770
|
Merge branch 'master' into v7.1
|
2021-09-28 23:15:06 +02:00 |
|
Irmen de Jong
|
9acec4d952
|
changed to fixed point math to always generate bars of 32 lines height
|
2021-09-28 23:12:16 +02:00 |
|
Irmen de Jong
|
8388adcd1d
|
changed to fixed point math to always generate bars of 32 lines height
|
2021-09-28 22:55:55 +02:00 |
|
Irmen de Jong
|
fd1f30f92b
|
removed %target directive (didn't add much, too confusing, only supported single target)
|
2021-09-04 15:01:16 +02:00 |
|
Irmen de Jong
|
9bd3a6758a
|
improve testability: use error returnvalues instead of using exitProcess()
|
2021-07-02 00:11:21 +02:00 |
|
Irmen de Jong
|
fd2bbd2b59
|
no longer allow subroutine name same as its block name due to asm symbol scoping issues
|
2021-06-12 17:31:09 +02:00 |
|
Irmen de Jong
|
127c470746
|
add some explanation about Cx16 v38 - v39 issue
|
2021-06-12 15:48:04 +02:00 |
|
Irmen de Jong
|
19e99204b9
|
fix asm symbol name scoping bug and add unit tests for this
|
2021-06-04 22:42:28 +02:00 |
|
Irmen de Jong
|
3a2498401d
|
working on unit tests for symbol scope bug
|
2021-06-03 21:21:38 +02:00 |
|
Irmen de Jong
|
e7f6f0950f
|
identified asm symbol name scoping bugs
|
2021-06-01 22:21:50 +02:00 |
|
Irmen de Jong
|
d4b69ac79c
|
improved repeat counter vars allocation (re-use var if possible)
|
2021-05-30 15:30:34 +02:00 |
|
Irmen de Jong
|
e61a2d7083
|
slightly optimized repeat loop asmgen
|
2021-05-30 13:10:05 +02:00 |
|
Irmen de Jong
|
c03f6604af
|
added free words counting method to zeropage
|
2021-05-30 00:55:11 +02:00 |
|
Irmen de Jong
|
572bb38ddb
|
update to kotlin 1.5.10
|
2021-05-29 15:25:17 +02:00 |
|
Irmen de Jong
|
42c5c0cb9f
|
start of cx16 colorbars example
|
2021-05-26 22:13:23 +02:00 |
|
Irmen de Jong
|
0e614ad6fc
|
added @shared flag to vardecl to mark variable as shared with assembly code elsewhere, to not have it optimized away
|
2021-05-19 01:19:25 +02:00 |
|
Irmen de Jong
|
ca61248861
|
printing 2-letter strings is now only optimized into direct CHROUT if it's a const string literal
|
2021-05-16 15:00:40 +02:00 |
|
Irmen de Jong
|
0416aacbbd
|
fix %asminclude by removing scopelabel argument and improving docs to remove false promise about labels
|
2021-05-16 00:14:57 +02:00 |
|
Irmen de Jong
|
25d80f4df1
|
added compiler option to choose string literal deduplication yes/no -- default changed to NO
|
2021-05-13 00:35:22 +02:00 |
|
Irmen de Jong
|
74f918d911
|
fix crashes for string encoding errors: give normal compiler error instead
|
2021-05-11 21:33:11 +02:00 |
|
Irmen de Jong
|
a20efa56eb
|
print unmappable character in escaped form in errormessage
|
2021-05-11 18:09:09 +02:00 |
|
Irmen de Jong
|
dae59238cd
|
fix array type checking crash when attempting to use str literal to initialize a byte array.
Fixes #34
|
2021-05-07 00:04:29 +02:00 |
|
Irmen de Jong
|
8736da1a21
|
strings of 1 and 2 length no longer optimized into one call to CHROUT - also upgrade to kotlin 1.5.0
|
2021-05-06 23:46:18 +02:00 |
|
Irmen de Jong
|
1a59019fc8
|
add generic error in diskio.status() if drive status can't be read
|
2021-05-01 15:39:39 +02:00 |
|
Irmen de Jong
|
19fe58dbac
|
fix regression bug that left variables uninitialized
|
2021-05-01 01:35:03 +02:00 |
|
Irmen de Jong
|
0a5b30e21c
|
added fast code for x*640
|
2021-04-30 22:30:21 +02:00 |
|
Irmen de Jong
|
664818fd29
|
try fixing a weird problem with pointervar[idx] -> memread rewriting
this was introduced in the removal of structs somehow
|
2021-04-30 01:34:03 +02:00 |
|
Irmen de Jong
|
71fec4c555
|
added a few more simple special codegen segements for the logic operators on a memmory-read
|
2021-04-29 19:38:42 +02:00 |
|
Irmen de Jong
|
4aba0c7405
|
unused variables are removed more aggressively (no longer checking asm blocks for their names)
|
2021-04-29 00:48:16 +02:00 |
|
Irmen de Jong
|
a9a7068818
|
removed support for structs. It was too much hassle and complexity and subtle bugs.
|
2021-04-29 00:01:20 +02:00 |
|
Irmen de Jong
|
81a91d62cb
|
improved horizontal_line in highres 4c
|
2021-04-28 02:55:49 +02:00 |
|
Irmen de Jong
|
2575263438
|
optimized gfx2.plot() for hires-4c
|
2021-04-28 02:49:25 +02:00 |
|
Irmen de Jong
|
7f0e25cb50
|
optimized gfx2.plot() for hires-monochrome
|
2021-04-28 02:32:11 +02:00 |
|
Irmen de Jong
|
a1e4e9c50f
|
optimized gfx2.plot() for lores-256c
|
2021-04-28 02:22:21 +02:00 |
|
Irmen de Jong
|
8b84f87217
|
removed fastrnd8() because it was hilariously bad, just use rnd()
|
2021-04-28 01:53:12 +02:00 |
|
Irmen de Jong
|
306a1b7bc2
|
optimized gfx2.vertical_line for hires monochrome mode
|
2021-04-28 01:19:10 +02:00 |
|
Irmen de Jong
|
481214c46e
|
optimized gfx2.vertical_line for lores monochrome mode
|
2021-04-28 01:02:29 +02:00 |
|
Irmen de Jong
|
a5961cbeab
|
optimized gfx2.vertical_line for highres 4c mode
|
2021-04-28 00:29:21 +02:00 |
|
Irmen de Jong
|
68f696d165
|
added 'callrom' builtin function (for cx16 target) that calls a routine in banked ROM
|
2021-04-25 18:04:56 +02:00 |
|
Irmen de Jong
|
1170aed026
|
added 'callfar' builtin function (for cx16 target) that uses jsrfar to call a routine in banked RAM
|
2021-04-25 17:47:13 +02:00 |
|
Irmen de Jong
|
bf1b2066b6
|
fix crashes in peekw() and pokew()
|
2021-04-22 18:26:46 +02:00 |
|
Irmen de Jong
|
4c080afb76
|
added compiler check against impossible for loop range (unsigned downto exactly 0 with non-const startvalue and step != -1)
|
2021-04-21 23:03:29 +02:00 |
|
Irmen de Jong
|
ee1c43ca91
|
improved scanning for return statement in routines that should return a value.
|
2021-04-21 20:31:29 +02:00 |
|
Irmen de Jong
|
1c2e6f9e4c
|
lower() and upper() now also return the lenght of the processed string.
|
2021-04-21 20:21:58 +02:00 |
|
Irmen de Jong
|
dd379430d9
|
added docs on flexible string character mapping to petscii
|
2021-04-20 01:22:49 +02:00 |
|
Irmen de Jong
|
42033ebd35
|
added petscii mappings for ^, _, \, {, } and |
|
2021-04-19 02:18:55 +02:00 |
|
Irmen de Jong
|
a086d6e009
|
allow labels also in blocks instead of only in subroutines
|
2021-04-18 23:03:18 +02:00 |
|
Irmen de Jong
|
c70bbdab26
|
fixed missing type checking in vardecl initializer values. Fixes #29
Also fix wrong assert of 0 const check in assembly gen for if-statement comparisons.
|
2021-04-18 22:46:21 +02:00 |
|
Irmen de Jong
|
3d956ef554
|
fix wrong values for register used in array indexing expressions
added the L/H byte parts of the cx16 virtual registers
|
2021-04-18 13:53:02 +02:00 |
|
Irmen de Jong
|
329f491c30
|
fix compiler crash with scoped const vardecls
|
2021-04-18 01:56:26 +02:00 |
|
Irmen de Jong
|
e93701f50e
|
fix compiler error when initializing var with memory(...) in block scope instead of subroutine
|
2021-04-17 15:49:41 +02:00 |
|
Irmen de Jong
|
e680de05ea
|
workaround for the joystick_get() irq problem
|
2021-04-15 22:56:52 +02:00 |
|
Irmen de Jong
|
56fec674c5
|
actually not simplifying if-code generation, leads to larger code at the moment
|
2021-04-13 00:03:22 +02:00 |
|
Irmen de Jong
|
54d92a027a
|
fix problems with moving vardecls from inner scope to subroutine scope
|
2021-04-12 22:53:25 +02:00 |
|
Irmen de Jong
|
0a03c46351
|
preparing optimization plan for if statements
|
2021-04-12 02:37:15 +02:00 |
|
Irmen de Jong
|
ae1b62e147
|
optimized integer comparison expressions some more
|
2021-04-12 01:23:17 +02:00 |
|
Irmen de Jong
|
8d567f6b06
|
added cx16.joystick_get2() for convenience api
|
2021-04-12 01:07:46 +02:00 |
|
Irmen de Jong
|
b1ef09675b
|
fix compiler crash for some struct/array initialization assignment literals containing not just numbers
|
2021-04-10 00:28:32 +02:00 |
|
Irmen de Jong
|
2b7b925090
|
codegen now uses correct machine target's string encoder/decoder. Encoding more robust by checking upper case mapping if lowercase mapping fails.
|
2021-04-09 23:33:32 +02:00 |
|
Irmen de Jong
|
e0454e95db
|
warn about for-loop wrapped iteration if loop range is inverted from normal
|
2021-04-08 22:54:47 +02:00 |
|
Irmen de Jong
|
91e421d961
|
optimize x % p where p=power-of-2, into just x & (p-1)
|
2021-04-08 22:21:16 +02:00 |
|
Irmen de Jong
|
c853afe769
|
fix compiler crash due to certain redundant typecast expressions
|
2021-04-08 19:45:44 +02:00 |
|
Irmen de Jong
|
1a64cb38d5
|
fix compiler crash with assigning certain array values as vardecl initializer
|
2021-04-08 19:21:17 +02:00 |
|
Irmen de Jong
|
ccebd22856
|
callgraph: mark start() also in use
|
2021-04-08 02:43:59 +02:00 |
|
Irmen de Jong
|
a1f3b82333
|
vtui update
|
2021-04-08 01:36:25 +02:00 |
|
Irmen de Jong
|
3dda29781e
|
changed MEMTOP2 into cx16.numbanks() to query the number of RAM banks installed
|
2021-04-08 01:05:38 +02:00 |
|
Irmen de Jong
|
a9d297ee31
|
fix inlining of sub with var that has default initialization
|
2021-04-08 00:35:02 +02:00 |
|
Irmen de Jong
|
e5ff61f201
|
allow inlining of subroutines with parameters, and fix inlining of subroutines with variables
|
2021-04-07 23:38:25 +02:00 |
|
Irmen de Jong
|
bc726c6334
|
optimized slow evaluation of byte-to-wordarray assignment
|
2021-04-06 22:50:16 +02:00 |
|
Irmen de Jong
|
123473dfc8
|
cleanup
|
2021-04-06 00:16:29 +02:00 |
|
Irmen de Jong
|
d9eccd4fba
|
set correct rom banks when using floats
|
2021-04-05 23:21:07 +02:00 |
|
Irmen de Jong
|
5b890847e5
|
make sure BASIC rom is banked in again when program exits
|
2021-04-05 23:12:10 +02:00 |
|
Irmen de Jong
|
64c85b9617
|
fix cx16 rom v39 float changes
|
2021-04-05 22:54:40 +02:00 |
|
Irmen de Jong
|
61d1f1ea87
|
oops
|
2021-04-05 01:18:22 +02:00 |
|
Irmen de Jong
|
238d27acdc
|
more pleasing bob image and pattern
|
2021-04-05 01:14:55 +02:00 |
|
Irmen de Jong
|
374e2b311d
|
refactoring unused code removal and noModification
|
2021-04-04 16:36:33 +02:00 |
|
Irmen de Jong
|
49036abbaf
|
docs
|
2021-04-04 12:55:29 +02:00 |
|
Irmen de Jong
|
d582d1cc42
|
fix inlining subroutines multiple times
|
2021-04-02 21:23:40 +02:00 |
|
Irmen de Jong
|
6fdc733941
|
inlining subroutines that contain variable declarations is now possible (gives a warning though)
|
2021-04-02 18:30:32 +02:00 |
|
Irmen de Jong
|
422b390c48
|
fix ast node duplication/reference bug in certain optimizers
|
2021-04-02 16:56:52 +02:00 |
|
Irmen de Jong
|
02e12d8575
|
improvements for inlined subroutines: fix identifier scoping
|
2021-04-01 23:16:04 +02:00 |
|
Irmen de Jong
|
fe2954ce08
|
todo
|
2021-04-01 22:10:04 +02:00 |
|
Irmen de Jong
|
2ff04d2abd
|
cleanup
|
2021-04-01 19:10:55 +02:00 |
|
Irmen de Jong
|
3f30d3aa89
|
added sys.waitrastborder() for c64
|
2021-04-01 18:53:16 +02:00 |
|
Irmen de Jong
|
4cae2c56ec
|
implemented last remaining codegen for word-byte division and remainders.
|
2021-03-25 22:03:36 +01:00 |
|
Irmen de Jong
|
d840975054
|
remove unreached error checks
|
2021-03-25 21:47:05 +01:00 |
|
Irmen de Jong
|
1b14da6c03
|
compiler warning instead of crash when attempting to assign invalid array value to other array
|
2021-03-24 22:01:22 +01:00 |
|
Irmen de Jong
|
292640b17a
|
asmgen: string values cannot be typecasted
|
2021-03-24 21:49:33 +01:00 |
|
Irmen de Jong
|
112a7b09f2
|
added codegen for expression that needs the status-flag register result as a value on the stack
|
2021-03-24 21:42:27 +01:00 |
|
Irmen de Jong
|
af4de6d2fc
|
replacing complex array indexer expressions moved to BeforeAsmGeneration + use cx16 virtualregister instead of adding temp variables for this
|
2021-03-23 23:44:14 +01:00 |
|
Irmen de Jong
|
3626828ceb
|
decided
|
2021-03-22 01:45:19 +01:00 |
|
Irmen de Jong
|
24b77fb5a5
|
comments.
|
2021-03-21 21:10:29 +01:00 |
|
Irmen de Jong
|
1505fe686a
|
updated vtui example
|
2021-03-21 20:40:35 +01:00 |
|
Irmen de Jong
|
ca868ae19e
|
added cx16.vload() (like the VLOAD basic instruction)
|
2021-03-20 02:39:53 +01:00 |
|
Irmen de Jong
|
3e286dd14c
|
move test
|
2021-03-18 19:34:54 +01:00 |
|
Irmen de Jong
|
11247d52b1
|
fix bugs in word <= and >= comparisons
|
2021-03-18 19:20:48 +01:00 |
|
Irmen de Jong
|
7f21d89fea
|
moved test programs to test folder in compiler module
|
2021-03-17 20:15:16 +01:00 |
|
Irmen de Jong
|
ef64881528
|
busy creating extensive comparison test suite
|
2021-03-17 19:35:22 +01:00 |
|
Irmen de Jong
|
9a6bd760bd
|
fixed issues in uword '>'
|
2021-03-16 23:40:32 +01:00 |
|
Irmen de Jong
|
00b9766aea
|
fixed issues in word '>'
|
2021-03-16 23:22:58 +01:00 |
|
Irmen de Jong
|
d2ab5f230d
|
example TODOs
|
2021-03-16 01:09:25 +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
|
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
|
50a306f492
|
line drawing fixes
|
2021-03-09 22:11:30 +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
|
6bd205c02a
|
fix c64 bresenham line inaccuracy
|
2021-03-09 21:07:55 +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
|
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
|
d787795759
|
simplified
|
2021-03-06 15:43:23 +01:00 |
|
Irmen de Jong
|
2770254fd9
|
removed inline assembly from bobs demo
|
2021-03-06 14:31:26 +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
|
26502c949a
|
add unlimited bobs example
|
2021-03-05 19:05:13 +01:00 |
|
Irmen de Jong
|
96ba9f5902
|
spelling correction
|
2021-03-04 01:31:29 +01:00 |
|
Irmen de Jong
|
3a6ba0ab71
|
added 'kefrenbars' example
|
2021-03-03 01:09:18 +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
|
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
|
4e640b11fd
|
added kernal bank switch trick to rasterbars
|
2021-02-26 01:16:06 +01:00 |
|
Irmen de Jong
|
cd500fee8c
|
wording
|
2021-02-25 00:52:27 +01:00 |
|
Irmen de Jong
|
1bd32c0f19
|
added animal guessing game example
|
2021-02-24 22:58:16 +01:00 |
|
Irmen de Jong
|
7aefca3de0
|
target
|
2021-02-24 00:17:52 +01:00 |
|
Irmen de Jong
|
f275ed96ea
|
optimized palette.set_color()
|
2021-02-24 00:01:27 +01:00 |
|
Irmen de Jong
|
b0213b0565
|
vtui lib
|
2021-02-23 23:31:32 +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
|
6e65cb2c0a
|
added sounds to cx16 tehtriz
|
2021-02-23 01:29:45 +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
|
edf9a500d3
|
kernel -> kernal
|
2021-02-21 22:48:06 +01:00 |
|
Irmen de Jong
|
a95677564e
|
changed system irq/rasterirq setting routines
|
2021-02-21 22:23:50 +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
|
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
|
9bb5b454e4
|
reduce dependencies on global compilaiontarget
|
2021-02-18 23:44:26 +01:00 |
|
Irmen de Jong
|
2412f8c531
|
added cx16 vtui example
|
2021-02-18 23:16:38 +01:00 |
|
Irmen de Jong
|
8701d684e6
|
added cx16 vtui example
|
2021-02-18 03:45:06 +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
|
92ee0aefee
|
docs: replaced old invalid c64scr names with txt
|
2021-02-16 23:28:35 +01:00 |
|
Irmen de Jong
|
99759ae853
|
enhanced tehtriz blocks to have light edges
|
2021-02-15 17:48:10 +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
|
2b870fb9f7
|
get rid of compiled examples. Just compile them yourself...
|
2021-02-14 17:13:29 +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
|
1e22170302
|
added graphical starmaps to textelite
|
2021-02-11 00:23:36 +01:00 |
|
Irmen de Jong
|
bdda6f502a
|
textelite output cleanups and alignments
|
2021-02-10 23:19:07 +01:00 |
|
Irmen de Jong
|
1bbd77fddb
|
added txt.column()
|
2021-02-10 22:47:49 +01:00 |
|
Irmen de Jong
|
9867dfcdeb
|
ported tehtriz to Cx16
|
2021-02-10 21:44:35 +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
|
cefef3d1be
|
todo
|
2021-02-06 15:22:31 +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
|
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
|
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
|
a910c0fddb
|
gfx2 highres 4colors
|
2021-01-27 02:31:20 +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
|
857f930dc2
|
amiga
|
2021-01-26 00:09:42 +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
|
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 |
|