You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

115 lines
4.0 KiB
Plaintext

BUGS:
✔ Branch instructions seem to jump to the wrong place @done(24-01-22 19:08)
- looks like the offset should be able to be a negative value but it's not
General:
✔ Add unit tests for each instruction and address mode @done(23-11-07 19:57)
☐ Fully implement clock cycle tracking
☐ Add a disassembler for debugging
☐ Debug data lookup for instructions
Test Machine:
✔ Refactor the OutputConsole and InputConsole into a single Console struct @done(24-07-03 18:39)
✔ Implement basic input @done(24-07-03 18:39)
✔ Hello world program @done(24-01-19 17:09)
✔ Load and run a given program binary @done(24-01-22 17:08)
CPU:
Signals:
✔ Clock @done(23-11-07 20:45)
✔ Reset @done(23-11-07 20:46)
✔ irq function @done(24-01-19 13:17)
✔ nmi function @done(24-01-19 13:17)
Addressing modes:
✔ IMP - Implied @done(23-11-07 14:01)
✔ IMM - Immediate @done(23-11-06 19:01)
✔ ZP0 - Zero Page @done(23-11-07 14:40)
✔ ZPX - Zero Page, X @done(23-11-07 14:40)
✔ ZPY - Zero Page, Y @done(23-11-07 14:40)
✔ REL - Relative @done(24-01-19 13:17)
✔ Code @done(23-11-07 20:44)
✔ Test @done(24-01-19 13:17)
✔ ABS - Absolute @done(23-11-07 20:25)
✔ ABX - Absolute, X @done(23-11-07 20:25)
✔ ABY - Absolute, Y @done(23-11-07 20:25)
✔ IND - Indirect @done(24-01-10 15:26)
✔ IZX - Indirect, X @done(24-01-10 15:26)
✔ IZY - Indirect, Y @done(24-01-10 15:26)
Instructions:
GROUP ONE:
✔ 000 ORA @done(23-11-06 18:55)
✔ 001 AND @done(23-11-07 13:43)
✔ 010 EOR @done(23-11-07 13:43)
✔ 011 ADC @done(23-11-06 19:59)
✔ 100 STA @done(23-11-07 15:04)
✔ 101 LDA @done(23-11-06 18:55)
✔ 110 CMP @done(23-11-09 13:24)
✔ 111 SBC @done(23-11-09 13:24)
GROUP TWO:
✔ 000 ASL @done(23-11-30 17:31)
✔ 001 ROL @done(23-11-30 17:49)
✔ 010 LSR @done(23-11-30 18:12)
✔ 011 ROR @done(23-11-30 18:12)
✔ 100 STX @done(24-01-08 13:46)
✔ 101 LDX @done(24-01-08 14:21)
✔ 110 DEC @done(24-01-08 15:59)
✔ 111 INC @done(24-01-08 16:01)
GROUP THREE:
✔ 001 BIT @done(24-01-09 16:16)
✔ 010 JMP @done(24-01-09 16:16)
✔ 011 JMP (abs) @done(24-01-09 16:16)
✔ 100 STY @done(24-01-10 14:10)
✔ 101 LDY @done(24-01-10 14:10)
✔ 110 CPY @done(24-01-10 15:26)
✔ 111 CPX @done(24-01-10 15:26)
CONDITIONALS:
✔ 10 BPL @done(24-01-12 16:49)
✔ 30 BMI @done(24-01-12 16:49)
✔ 50 BVC @done(24-01-12 16:49)
✔ 70 BVS @done(24-01-12 16:49)
✔ 90 BCC @done(24-01-12 16:49)
✔ B0 BCS @done(24-01-12 16:49)
✔ D0 BNE @done(24-01-12 16:49)
✔ F0 BEQ @done(24-01-12 16:49)
INTERRUPT/SUBROUTINE:
✔ 00 BRK @done(24-01-19 13:16)
✔ 20 JSR abs @done(24-01-19 13:16)
✔ 40 RTI @done(24-01-19 13:16)
✔ 60 RTS @done(24-01-19 13:16)
SINGLE-BYTE:
✔ 08 PHP @done(24-01-19 13:16)
✔ 28 PLP @done(24-01-19 13:16)
✔ 48 PHA @done(24-01-19 13:16)
✔ 68 PLA @done(24-01-19 13:16)
✔ 88 DEY @done(24-01-19 13:16)
✔ A8 TAY @done(24-01-19 13:16)
✔ C8 INY @done(24-01-19 13:16)
✔ E8 INX @done(24-01-19 13:16)
✔ 18 CLC @done(24-01-19 13:16)
✔ 38 SEC @done(24-01-19 13:16)
✔ 58 CLI @done(24-01-19 13:16)
✔ 78 SEI @done(24-01-19 13:16)
✔ 98 TYA @done(24-01-19 13:16)
✔ B8 CLV @done(24-01-19 13:16)
✔ D8 CLD @done(24-01-19 13:16)
✔ F8 SED @done(24-01-19 13:16)
✔ 8A TXA @done(24-01-19 13:16)
✔ 9A TXS @done(24-01-19 13:16)
✔ AA TAX @done(24-01-19 13:16)
✔ BA TSX @done(24-01-19 13:16)
✔ CA DEX @done(24-01-19 13:16)
✔ EA NOP @done(24-01-19 13:16)