Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-09-01 | add basic implementation of ppu write registersHEADmaster | vin | |
2024-09-01 | add basic ppu register reading | vin | |
2024-09-01 | start working on ppu | vin | |
2024-09-01 | add preliminary apu register support | vin | |
2024-08-31 | add shell.nix to get dependencies easily | vin | |
2024-08-21 | added snippet explaining the NES's 6502 variant and long-term goal for the ↵ | vin | |
project | |||
2024-08-21 | update README | vin | |
2024-07-21 | rename struct Rom to struct rom | vin | |
2024-07-21 | start implementing PPU | vin | |
2024-07-21 | add CFLAGS | vin | |
2024-07-20 | fix rest of logging format issues | vin | |
Now the format perfectly matches nestest.log. The only mismatch is now at the unimplemented APU memory addresses. | |||
2024-07-20 | fix status flag bug in ASL and ROL | vin | |
2024-07-20 | replace tabs with spaces to better match nestest.log | vin | |
2024-07-07 | fix warnings and move cpu registers+flags to header | vin | |
2024-07-04 | add nestest.nes and log that was used for testing the CPU | vin | |
2024-07-04 | implement all of the nestest unofficial opcodes and fix branch cycles | vin | |
2024-07-04 | add preliminary implementation of the unofficial opcodes | vin | |
2024-07-04 | start implementing unofficial opcodes | vin | |
2024-07-04 | achieve cycle accuracy for official opcodes | vin | |
Now, the unofficial opcodes can be implemented, and then the PPU and APU. | |||
2024-07-03 | finalize trace logging to match nestest.log minus PPU cycles | vin | |
2024-07-03 | improve branching cycle accuracy | vin | |
2024-07-03 | fix SBC bug in the rewrite and improve logging | vin | |
2024-07-03 | call opcode function pointer instead of using switch case | vin | |
Also improve logging. | |||
2024-06-30 | start refactoring opcode defs into an array | vin | |
2024-06-30 | combine macro for updating N and Z status flags | vin | |
2024-06-30 | fix alignment of logging with ABS_X and ZP_X | vin | |
2024-06-30 | fix indirect JMP bug where the high byte does not increment out of page | vin | |
https://old.reddit.com/r/EmuDev/comments/15plfes/having_an_issue_with_nestest_on_my_6502_emulator/jvyck7k/ With this, it seems that all official opcodes run as nestest expects. Now, it's the unofficial opcodes that need to be implemented. | |||
2024-06-30 | fix incorrect argument for INC | vin | |
Perhaps a refactor is in order for the arguments to the opcodes. | |||
2024-06-30 | rename README to README.md | vin | |
2024-06-30 | fix incorrect argument for ASL and LSR | vin | |
2024-06-30 | fix JSR, RTS, and RTI | vin | |
JSR was pushing 1 too high PC and RTS was 1 too low RTI was only pulling the low byte of PC | |||
2024-06-30 | change SBC to be ADC with one's complement instead of two's | vin | |
It seems that is what was expected when run with nestest. | |||
2024-06-29 | fix status flag ordering shenanigans | vin | |
2024-06-29 | fix ADC bug where V is calculated with new A instead of old A | vin | |
2024-06-28 | fix status register to match nestest | vin | |
2024-06-28 | improve logging and JMP indirect | vin | |
2024-06-28 | fix more bugs | vin | |
2024-06-28 | fix JSR and RTS bug | vin | |
The stack's PUSH and PULL weren't proper and JSR was reading wrong argument it seems. | |||
2024-06-28 | start logging instructions as nestest.log has done | vin | |
2024-06-17 | start fixing bugs with memory access | vin | |
So this is why tests should be written while writing the program and instructions instead of all at once later. If this were all to be rewritten (which it probably will), I should add tests for each opcode instead of waiting until the end for ROM loading support. | |||
2024-06-17 | implement basic iNES and Mapper 0 ROM loading | vin | |
It seems like the test ROM loads fine but the instructions are not, but that's exactly what the test ROM is for I suppose. | |||
2024-06-16 | replace bit comparisons with 0 from greater than to not equal | vin | |
They're both the same and the compiler might have already optimized it away. It also conveys the message better in my opinion. | |||
2024-06-11 | add memory mirroring for system and ppu memory | vin | |
2024-06-11 | add separate implied/accumulator functions for certain opcodes | vin | |
2024-06-11 | remove opcode json converter helper scripts | vin | |
They were only used to automate writing the boilerplate for each instruction. They're not needed at the moment and they were using 65c02 instructions instead of 6502 anyways. | |||
2024-06-10 | add jsr, rti, rts | vin | |
2024-06-10 | implement untested most of stack-related opcodes | vin | |
2024-06-10 | add lsr, rol, ror | vin | |
2024-06-10 | implement tay, txa, tya | vin | |
2024-06-10 | implement sta, stx, sty | vin | |