Commit Graph

37 Commits

Author SHA1 Message Date
scawful
a2de3c2ffe SPC700 to get notified when ports are written 2023-08-26 02:33:19 -04:00
scawful
3d793c452d Reorganize emu folder, update S-SMP system infra 2023-08-26 01:59:57 -04:00
scawful
af73af4300 Add addressing modes and opcodes for SPC700 2023-08-25 17:44:04 -04:00
scawful
25c43cbaaa housekeeping 2023-08-24 23:46:17 -04:00
scawful
5beb2ae4f6 Move CPU instruction impl to source file 2023-08-24 23:37:18 -04:00
scawful
453a2575f4 Inject SPC700 to APU, add APU and PPU observers 2023-08-24 22:54:52 -04:00
scawful
7619e5c977 Implement ADC, SBC, CMP for SPC700, untested 2023-08-20 23:46:26 -04:00
scawful
c5d47cbc19 Add Observer pattern to Memory for registers 2023-08-20 23:46:08 -04:00
scawful
d538317629 Add VirtualClock, MockClock, dependency injection 2023-08-20 23:45:56 -04:00
scawful
2084f2d5a5 Outline PPU cycles per scanline, get APU cycles 2023-08-20 22:59:24 -04:00
scawful
2ec43cfb3f Update Clock class for cycle accurate components 2023-08-20 22:30:06 -04:00
scawful
2f6c6d414c Add SPC700 class for APU 2023-08-20 21:21:59 -04:00
scawful
8fb55b64bc Get ROM header and execute at Reset Vector 2023-08-20 20:10:41 -04:00
scawful
7e28cec0ec Persist ROM data by coping into memory space 2023-08-20 20:10:20 -04:00
scawful
c4ab2a4c7d CPU improvements, add opcode string map 2023-08-20 20:10:06 -04:00
scawful
4dfd27aa3a Log opcode and operands to terminal 2023-08-20 20:09:33 -04:00
scawful
ac7d8b6af9 Add BackgroundLayer to PPU, Create Loggable class 2023-08-20 16:15:18 -04:00
scawful
7448f80119 Add CMP, COP, DEC, EOR, update SNES and Memory 2023-08-20 15:39:22 -04:00
scawful
675203ce07 Inherit Clock class from CPU 2023-08-20 11:49:07 -04:00
scawful
bc7accfe9e Add DMA and SNES Init, VBlank, NMI, etc 2023-08-20 11:48:51 -04:00
scawful
51ff47cb4d Add ROM metadata to Memory header 2023-08-20 11:48:22 -04:00
scawful
a024b5993e Add PPU registers and structs 2023-08-20 11:47:35 -04:00
scawful
905f81d60e Added ASL, BCS, BIT, BMI, BPL, BRA
BRK, BVC, BVS, CPX, CPY, DEX, DEY
INX, INY, LDX, LDY, LSR, ORA, PEA, PEI
PER ROL, ROR, RTL, RTS, STA, STX, STY
TRB, TSB, XBA,
2023-08-20 00:27:05 -04:00
scawful
536136d8c9 DirectPage and DirectPageIndirect 2023-08-19 20:12:56 -04:00
scawful
7dcbc7f83c Add JML, AND AbsoluteLong, ADC AbsoluteLong 2023-08-19 19:12:28 -04:00
scawful
f5c5c34b47 Add JMP Absolute, JMP Indirect, JSR Absolute, JSL_AbsoluteLong 2023-08-19 17:40:36 -04:00
scawful
d83d341b1e Add CPX, CPY, DEX, DEY, XCE, Emulation Mode 2023-08-19 17:27:01 -04:00
scawful
8d0f4110e0 Add PHX, PHY, PHB, PHD, PHK and PLX, PLY, PLB, PLD 2023-08-19 16:18:45 -04:00
scawful
76f40531f1 Add StackPointer to memory, PHA, PLA, PHP, PLP 2023-08-19 15:59:17 -04:00
scawful
de93f71d04 Fill memory on init, organize tests, housekeeping 2023-08-19 14:48:49 -04:00
scawful
e76aa69254 ADC, AND with tests for various addressing modes 2023-08-19 14:14:24 -04:00
scawful
28ac82d68b Add Memory Mapping, Direct Page memory 2023-08-19 14:13:52 -04:00
scawful
f0d0d9abc6 Create SNES skeleton 2023-08-19 14:12:45 -04:00
scawful
8f713a08ef Update PPU Skeleton 2023-08-19 14:12:30 -04:00
scawful
bb1690c438 Update Debugger skeleton 2023-08-19 14:12:22 -04:00
scawful
4a38627657 Update APU skeleton 2023-08-19 14:12:14 -04:00
scawful
a5f1a23de8 Add CPU and Memory class for SNES emulator 2023-08-19 02:08:17 -04:00