Skip to content

previously cat64-or-something (see branch main), now fox32 emulator bc I don't have to come up with an architecture design

License

Notifications You must be signed in to change notification settings

Book-reader/fox33

Repository files navigation

fox33: A WIP fox32 emulator written in c3

Note

It is recommended to build in a nix environment:

$ nix develop --impure

Warning

Don't expect the code to be of great quality for now. I'll clean it up later

screenshot of fox33 running some applications

todo:

  • Fix that 0x04000000 bug (so painful :()
  • Run fox32rom successfully
  • Initial Gui & see fox32rom framebuffer
  • Implement Gui overlays
  • I/O stuff:
    • mounting disks
    • mouse
    • keyboard
    • rtc
  • Interrupts/Exceptions
  • boot fox32os
  • Get fox32rom functioning completely
  • Get fox32os functioning completely
    • get all fox32os apps functioning (only missing some simple instructions)
  • Implement all instructions fully
  • MMU
  • swap sp so I can run minita
  • internal refactoring of error handling
  • refactor convenience macros to be more convenient & less awfully hacky (they will bever be entirely hack free tho (cry about my overuse of macros lerno >:3))
  • Any other things I can think of

building:

$ c3c build -D <build flag> -O5

build flags:

  • DEBUG -> print almost too many debug logs
  • PERF -> print the time taken to execute 30M instructions (target <= 1 second for 30Mhz)
  • NOWARN -> silence runtime warnings, mostly unimplemented methods
  • FOXLOG -> print debug logs in the exact same format as the fox32 reference emulator
  • MORE_PERF -> inlines all instructions for a performance boost at the cost of compile-time

usage:

$ ./build/fox33 <boot rom> <disk0> <disk1> <disk2> <disk3> <index out of bounds error>

About

previously cat64-or-something (see branch main), now fox32 emulator bc I don't have to come up with an architecture design

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages