Irmen de Jong
|
1da0c59182
|
vm: remove BNER opcode -> CMP + BSTNE
|
2023-09-23 11:47:24 +02:00 |
|
Irmen de Jong
|
36e8f10d2b
|
vm: remove BEQR opcode -> CMP + BSTEQ
|
2023-09-23 11:42:58 +02:00 |
|
Irmen de Jong
|
cdf5a8f20f
|
vm: remove BNE opcode -> CMPI + BSTNE
|
2023-09-23 11:22:33 +02:00 |
|
Irmen de Jong
|
eb64d92333
|
vm: remove BEQ opcode -> CMPI + BSTEQ
|
2023-09-23 11:21:43 +02:00 |
|
Irmen de Jong
|
eb55da63ef
|
weird
|
2023-09-23 11:21:17 +02:00 |
|
Irmen de Jong
|
918302f79b
|
ir: fix possible crash in validity check about PREPARECALL
|
2023-09-23 01:35:18 +02:00 |
|
Irmen de Jong
|
9d7131d9f6
|
vm: setting status bits
|
2023-09-22 22:50:20 +02:00 |
|
Irmen de Jong
|
229c1114dd
|
vm: fixed array initialization values with address-ofs
|
2023-09-19 23:54:18 +02:00 |
|
Irmen de Jong
|
885df9156f
|
todo
|
2023-09-19 00:08:17 +02:00 |
|
Irmen de Jong
|
c319233ddc
|
ir: added preparecall 'meta' instruction for functioncalls
|
2023-09-18 23:22:03 +02:00 |
|
Irmen de Jong
|
958b5c0780
|
Merge branch 'addrof-arrayelt'
# Conflicts:
# docs/source/todo.rst
|
2023-09-18 04:48:45 +02:00 |
|
Irmen de Jong
|
880c0a5da8
|
allow taking address of array element
|
2023-09-18 04:37:41 +02:00 |
|
Irmen de Jong
|
237c6dc856
|
allow taking address of array element
|
2023-09-18 04:29:15 +02:00 |
|
Irmen de Jong
|
ccf6e32bf9
|
adding setlsb() and setmsb() builtin functions to 6502 codegen
|
2023-09-17 15:16:47 +02:00 |
|
Irmen de Jong
|
a1874f6f00
|
adding setlsb() and setmsb() builtin functions to 6502 codegen
|
2023-09-17 01:48:29 +02:00 |
|
Irmen de Jong
|
95e4490a8a
|
adding setlsb() and setmsb() builtin functions
|
2023-09-15 02:39:16 +02:00 |
|
Irmen de Jong
|
31c132c2eb
|
several optimizations and compiler error fix for @(&var) and @(&var+1)
|
2023-09-14 23:04:23 +02:00 |
|
Irmen de Jong
|
00b0ec58b4
|
update to Antlr 4.13.1
|
2023-09-14 21:11:55 +02:00 |
|
Irmen de Jong
|
a1d0e5bb65
|
added list of software to docs
|
2023-09-13 21:51:48 +02:00 |
|
Irmen de Jong
|
03e0d4b2e8
|
reducing expression codegen complexity (no longer splitting conditional expressions, and using r9 as temp var)
|
2023-09-13 01:08:42 +02:00 |
|
Irmen de Jong
|
6afdd4e6fd
|
preparing next version
|
2023-09-12 21:53:49 +02:00 |
|
Irmen de Jong
|
b500a0d477
|
c64: added a couple of routines that calculate the correct memory locations for video ram and sprite pointers etc. based on current VIC-II memory setup.
the examples with sprites, now use it.
|
2023-09-08 21:27:38 +02:00 |
|
Irmen de Jong
|
dd2463a440
|
proper fix for the previous commit. + fix for i/o channel reset in diskio.f_seek()
it wasn't the adressing mode, it was that it assumed the pointer variable was always in zeropage (which might not be)
|
2023-09-07 22:17:46 +02:00 |
|
Irmen de Jong
|
23a8bebd9e
|
fix invalid addressing mode on 6502 cpu for bytevalue +/- bytearray[i]
|
2023-09-07 21:40:07 +02:00 |
|
Irmen de Jong
|
3caf9108ad
|
finalizing 9.4.1 release
|
2023-09-06 21:18:01 +02:00 |
|
Irmen de Jong
|
bde4be8231
|
fix VM indexed instructions to only use lsb part of the index
|
2023-09-06 02:44:04 +02:00 |
|
Irmen de Jong
|
0bbbb12ed2
|
fix bench8 examples
|
2023-09-05 23:40:54 +02:00 |
|
Irmen de Jong
|
b570bdaed7
|
fix codegen for array[i] += float expression
|
2023-09-05 22:38:52 +02:00 |
|
Irmen de Jong
|
8c0843cc87
|
fix an invalid 6502 instruction on c64 in certain float assignment
|
2023-09-05 21:54:52 +02:00 |
|
Irmen de Jong
|
31458ffd81
|
examples cleanup and improving c64 graphics module (shift bitmap to higher ram area)
|
2023-09-05 20:39:12 +02:00 |
|
Irmen de Jong
|
c15c10a94e
|
fixed 'unroll CONSTANTEXPR' compiler errors
|
2023-09-05 01:03:35 +02:00 |
|
Irmen de Jong
|
9fca978725
|
optimized plasma examples even more
|
2023-09-05 00:23:50 +02:00 |
|
Irmen de Jong
|
b125901717
|
added cx16 plasma example
|
2023-09-04 23:54:13 +02:00 |
|
Irmen de Jong
|
eb018ae660
|
code optimization for bytearray[x] +/- bytearray[y]
use adc array,y or sbc array,y instead of tempvar
|
2023-09-04 23:01:53 +02:00 |
|
Irmen de Jong
|
7e5a9474fe
|
improve plasma example
|
2023-09-04 20:35:43 +02:00 |
|
Irmen de Jong
|
525a9b5036
|
prepare parser to allow chained array indexing later
|
2023-09-03 19:06:47 +02:00 |
|
Irmen de Jong
|
c3fbdf34ca
|
fixed c64 float problem
|
2023-09-03 16:40:10 +02:00 |
|
Irmen de Jong
|
48bd51e1a5
|
c64 float problem
|
2023-09-03 16:29:01 +02:00 |
|
Irmen de Jong
|
10d0b03a90
|
use less tempvars
|
2023-09-03 01:32:47 +02:00 |
|
Irmen de Jong
|
e1b3582f08
|
fix wordvar -= @(memory)
|
2023-09-03 01:12:26 +02:00 |
|
Irmen de Jong
|
95be1c9e22
|
fix optimized swapped in-place byte comparisons
|
2023-09-03 00:47:55 +02:00 |
|
Irmen de Jong
|
1ce8fe06d5
|
fix in-place <= for bytes
|
2023-09-03 00:01:11 +02:00 |
|
Irmen de Jong
|
15c649024e
|
float problems on c64
|
2023-09-02 23:09:55 +02:00 |
|
Irmen de Jong
|
e97303c226
|
fix word multiplication to not clobber r0 and r1 anymore
This was causing corruption in certain programs such as the cx16/amiga example.
The problem was introduced in 9.4 with the new multiply_words routine
|
2023-09-02 20:52:16 +02:00 |
|
Irmen de Jong
|
3b786c819d
|
avoid using temp var even more
|
2023-09-01 23:47:01 +02:00 |
|
Irmen de Jong
|
04959dbd8b
|
optimize asm: don't use temp var for some additions
|
2023-09-01 22:24:17 +02:00 |
|
Irmen de Jong
|
5cd4b874ea
|
tweak sprites module
|
2023-09-01 21:25:19 +02:00 |
|
Irmen de Jong
|
f14ea1b3de
|
micro optimization to save 2 cycles: change some pha+pla into tax+txa
|
2023-09-01 20:37:24 +02:00 |
|
Irmen de Jong
|
9cc0cda0fb
|
added sprites library module (cx16 only)
|
2023-09-01 17:35:07 +02:00 |
|
Irmen de Jong
|
09a7a4bbe5
|
optimize comparison against zero
|
2023-09-01 02:28:11 +02:00 |
|