1
0
mirror of https://github.com/lefticus/6502-cpp.git synced 2024-12-21 10:30:35 +00:00
Commit Graph

88 Commits

Author SHA1 Message Date
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
5b6bfd138d Get some simple petscii graphics example 2021-05-23 13:53:34 -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
af0a07b913 Completely revamp optimization algorithms for safety and ability 2021-05-21 11:26:49 -06:00
Jason Turner
a1806a4ae2 Simplify testing to look for start and stop conditions of code 2021-05-20 18:26:21 -06:00
Jason Turner
8894f4b1cf Avoid optimizations around jsr and pla 2021-05-19 22:34:21 -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
468e794d5e Add lib1funcs.S from GCC, which should be compatible under LGPL 2021-05-19 20:09:47 -06:00
Jason Turner
434a61fe46 Add more test cases 2021-05-19 19:45:23 -06:00
Jason Turner
340c286b74 Use test templates to multiply out the versions I want 2021-05-19 15:44:27 -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
9e44438f1e
Delete README.md 2021-05-11 10:43:39 -06:00
Jason Turner
47d4ce2342
Merge pull request #10 from lefticus/move_to_avr
Move to avr
2021-05-11 10:41:30 -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
9fe26641b7 Add additional example 2021-05-09 08:39:55 -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
21d23dfcb9 Add a new compile script 2021-05-06 11:39:33 -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