Benjamin Feng
Benjamin Feng
Currently the test suite only checks for successes. Failures were done manually at some point but never automated for ...reasons™. We should ignore ...reasons™ and actually test the negative case.
We are currently representing memory as fully linear, which makes it fast for reading. However, setRom is a non-negligible amount of logic. What if we had distinct pages of memory...
It seems like in general, CPU computation flags are not used very often. It would be nice if we could restructure the code to delay flags until they're required. New...
Benchmarking shows all the subcomponents taking up non-trivial computation time. This includes Temportal, which 99% of the time is doing an increment followed by a compare. My hypothesis is that...
Instead of leaving draw buffer(s) in the "core", Fundude should allow for passing in an external buffer. On vblank, the local display will be flushed into the buffer. Rationale: 1....
Followup to https://github.com/fengb/fundude/issues/61 Certain components never require the fastest clock. The most obvious offenders are the timer interrupt and temportal. What if we unroll the timer mechanism? ```zig fn tick8()...
Gameboy renders the picture at a consistent 59.7275 Hz. This is a hardware limitation and cannot be delayed. Monitors will *never* use this refresh rate, meaning we are unable to...
Every other emulator does this. Why can't we? Questions: - Which format? This should probably be a compressed binary, but there's still a lot to choose from: ```yaml cpu: [mode,...
When the timer doesn't fire for... days, the counter overflows and does bad stuff. This really only happens when the laptop / browser goes to sleep. We should add a...
We need a way to drive a web interface independently from the Fundude core. Ideally this would happen transparently — e.g. only exists when requesting serial connection. ### UX architecture...