Compare commits

..

11 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka 9bedbe8c67 fix: account for pipeline in obscure bios behaviour 2022-09-23 07:22:57 -03:00
Rekai Nyangadzayi Musuka 4a2875ffaa chore: update README.md 2022-09-23 07:22:57 -03:00
Rekai Nyangadzayi Musuka ecf67e621f fix: advance r15, even when the pipeline is reloaded from the scheduler
The PC would fall behind whenever an IRQ was called because the pipeline
was reloaded (+8 to PC), however that was never actually done by any code

Now, the PC is always incremented when the pipeline is reloaded
2022-09-23 07:22:57 -03:00
Rekai Nyangadzayi Musuka fbeff03cc2 chore: dump pipeline state on cpu panic 2022-09-23 07:22:57 -03:00
Rekai Nyangadzayi Musuka fd7c500434 fix: reimpl THUMB.5 instructions
pipeline branch now passes arm.gba and thumb.gba again

(TODO: Stop rewriting my commits away)
2022-09-23 07:22:57 -03:00
Rekai Nyangadzayi Musuka 3174d3f981 fix: impl workaround for stage2 miscompilation 2022-09-23 07:22:57 -03:00
Rekai Nyangadzayi Musuka 4df5c8a52c chore: instantly refill the pipeline on flush
I believe this to be necessary in order to get hardware interrupts
working.

thumb.gba test 108 fails but I'm committing anyways (despite the
regression) because this is kind of rebase/merge hell and I have
something that at least sort of works rn
2022-09-23 07:22:57 -03:00
Rekai Nyangadzayi Musuka 081a87ddaa fix: reimpl handleInterrupt code 2022-09-23 07:22:57 -03:00
Rekai Nyangadzayi Musuka 707f25400b feat: implement basic pipeline
passes arm.gba, thumb.gb and armwrestler, fails in actual games
TODO: run FuzzARM debug specific titles
2022-09-23 07:22:57 -03:00
Rekai Nyangadzayi Musuka ac4bce080d feat: resolve off-by-{word, halfword} errors when printing debug info 2022-09-23 07:22:57 -03:00
Rekai Nyangadzayi Musuka db8c69e9bf feat: reimplement cpu logging 2022-09-23 07:22:57 -03:00
1 changed files with 2 additions and 2 deletions

View File

@ -13,8 +13,6 @@ pub fn build(b: *std.build.Builder) void {
const mode = b.standardReleaseOptions(); const mode = b.standardReleaseOptions();
const exe = b.addExecutable("zba", "src/main.zig"); const exe = b.addExecutable("zba", "src/main.zig");
exe.setTarget(target);
// Known Folders (%APPDATA%, XDG, etc.) // Known Folders (%APPDATA%, XDG, etc.)
exe.addPackagePath("known_folders", "lib/known-folders/known-folders.zig"); exe.addPackagePath("known_folders", "lib/known-folders/known-folders.zig");
@ -31,8 +29,10 @@ pub fn build(b: *std.build.Builder) void {
// Zig SDL Bindings: https://github.com/MasterQ32/SDL.zig // Zig SDL Bindings: https://github.com/MasterQ32/SDL.zig
const sdk = Sdk.init(b); const sdk = Sdk.init(b);
sdk.link(exe, .dynamic); sdk.link(exe, .dynamic);
exe.addPackage(sdk.getNativePackage("sdl2")); exe.addPackage(sdk.getNativePackage("sdl2"));
exe.setTarget(target);
exe.setBuildMode(mode); exe.setBuildMode(mode);
exe.install(); exe.install();