Jason Turner
841a80f2dd
Begin support for signed 'S' operations from AVR
2021-05-27 12:05:44 -06:00
Jason Turner
8b159faa59
Better label handling
2021-05-27 08:31:02 -06:00
Jason Turner
949e118ef7
Game map actions starting to work
2021-05-25 22:30:03 -06:00
Jason Turner
bb51249b4c
Optimize around single instruction jump statements
2021-05-25 19:12:16 -06:00
Jason Turner
13dbaafbfd
Optimize out flag-fixing code followed by ldy
2021-05-25 18:56:10 -06:00
Jason Turner
cc08629435
Fix parsing of literal expressions for adiw/subw
2021-05-25 18:42:57 -06:00
Jason Turner
1f03d18d5e
Fix processing of labels to get std::variant working
2021-05-25 13:49:33 -06:00
Jason Turner
5b764ad179
Add AVR tst opcode
2021-05-23 13:53:52 -06:00
Jason Turner
7f8516d61d
Add jmp instruction support
2021-05-21 12:18:13 -06:00
Jason Turner
a04c937aeb
Faster 16bit increment for index operations
2021-05-21 12:02:48 -06:00
Jason Turner
61e3609f47
Enable option to disable optimization of 6502 assembly
...
- narrow down bug for optimized -O0 for 2d array writes
2021-05-19 22:15:14 -06:00
Jason Turner
49cf9cc32d
Initial support for __mulhi3
2021-05-19 21:34:33 -06:00
Jason Turner
49d68fe54c
Add NOP support and allow for unused symbols
2021-05-19 15:18:44 -06:00
Jason Turner
f64fa3cce6
Start adding tests
2021-05-19 14:28:05 -06:00
Jason Turner
681e35ba5f
fix complement opcode translation
2021-05-17 13:58:50 -06:00
Jason Turner
e2b2601705
Re-enable optimizations
2021-05-17 13:54:55 -06:00
Jason Turner
c6a1a31533
Fix cpse instruction implementation from bit
to cmp
2021-05-17 13:23:31 -06:00
Jason Turner
ac8895120f
Add icall, inc, and fix up some assembly parsing
2021-05-17 13:17:26 -06:00
Jason Turner
e7a3db9dda
Fix up some optimizer passes
2021-05-13 23:35:57 -06:00
Jason Turner
28ebf888e3
Start adding command line options, and some formatting fixes
2021-05-13 22:23:25 -06:00
Jason Turner
4cbdae3ffe
Fix handling of 16 bit C,N,Z flags
2021-05-12 09:38:18 -06:00
Jason Turner
a6f012878e
Add 'call' instruction
2021-05-12 07:51:58 -06:00
Jason Turner
905e850abb
Try to get carry/zero/N flags set properly for various branch states
2021-05-11 22:00:33 -06:00
Jason Turner
6c0e5a660d
Add ror instruction
2021-05-11 20:44:38 -06:00
Jason Turner
a1c596622b
Disable a fixup, which might not be necessary now
2021-05-11 09:18:03 -06:00
Jason Turner
eedec41b1e
Fix handling of sbc/sub and enable parsing of -fverbose-asm
2021-05-09 17:31:44 -06:00
Jason Turner
a4edf7194e
Better stack handling. We now require -mtiny-stack from GCC
2021-05-08 22:59:35 -06:00
Jason Turner
baf9c092ea
Add some (broken) stack handling. Need to move to -mtiny-stack
2021-05-08 21:15:21 -06:00
Jason Turner
d2241528e5
Implement a bunch more instructions
2021-05-08 17:58:14 -06:00
Jason Turner
f79a189a12
Fix lookup of X,Y,Z registers
2021-05-08 16:01:25 -06:00
Jason Turner
e6040763eb
Some code organization and splitting up
2021-05-06 23:11:12 -06:00
Jason Turner
afcbe05bff
Some reorg and start to move to ctre
2021-05-06 21:43:03 -06:00
Jason Turner
3f9fd79586
Start to cleanup layout and code
2021-05-06 17:50:36 -06:00
Jason Turner
7a5926b5fd
Move start address and make c64 auto-startable
2021-05-06 16:49:33 -06:00
Jason Turner
f0caf81299
Remove i386 which was lagging very far behind now
2021-05-06 14:12:16 -06:00
Jason Turner
4ffae19177
change name to 6502-c++ and merge in files from cpp_starter_project
2021-05-06 14:04:59 -06:00
Jason Turner
f95290b68c
Apply a few more optimization rounds
2021-05-05 20:21:06 -06:00
Jason Turner
d39ad32438
convert sec/sbc with cmp, increase perf
2021-05-05 17:02:38 -06:00
Jason Turner
ab9dd4e1b7
Updated 16bit counter example with higher level functions
2021-05-05 16:44:30 -06:00
Jason Turner
77c25389aa
16 bit counter example working
2021-05-05 15:56:08 -06:00
Jason Turner
1547abccab
Apply some clang-format action
2021-05-04 23:31:39 -06:00
Jason Turner
14b3f4192e
Fix several CPU bugs and add several more instructions
2021-05-04 23:29:48 -06:00
Jason Turner
b0980ac10a
More multi-byte operations working
2021-05-03 09:57:49 -06:00
Jason Turner
51c5767f0e
Ability to copy from .data section resources to RAM
2021-05-02 18:10:12 -06:00
Jason Turner
ad75dcdfef
Fix which bit is tested with the sbrs instruction
2021-04-22 20:44:44 -06:00
Jason Turner
24012c1ff7
Fix use of address 1 to literal 1 for skip instructions
...
Thank you to the viewers who pointed out the issue at the
end of the stream.
At this point, simple code works, but the conditional
from the joystick input does not seem to work yet.
* also add location header for linker
* also filter errors and directives better
2021-04-22 18:54:00 -06:00
Jason Turner
5591249f2a
Almost working programs with AVR conversion
...
* need to add a decent header address
* probably need to fix sbrc and sbrs
2021-04-22 15:52:35 -06:00
Jason Turner
13af1e8cca
Get AVR code starting to work, make debuggable
2021-04-22 10:42:21 -06:00
Jason Turner
2a2ce54d32
add jst
2021-04-18 16:50:56 -06:00
Marko Mäkelä
4ed4e6a94c
Implement some more instructions, and fix typos.
...
Implement 16-bit shrl (new instruction).
Implement movl with a 16-bit literal value. Add the 6502 ROR instruction.
2016-10-06 17:41:33 +03:00