fuel-pcbox / Firn

โ„๏ธ๐Ÿ’พ Firn: A generic system emulator, currently focused on x86.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

โ„๏ธ Firn

Firn is a generic system emulator, emulating full systems of numerous architectures (currently only x86).

๐ŸŽฏ Goals

Firn is still very work-in-progress and unusable in any real-world scenarios. For the most part these goals are not yet met.

  • Support for many guest CPU architectures and system types
  • Highly configurable, usable in any scenario
  • Highly portable, usable anywhere that Rust compiles to
  • Nice and well-documented API for embedding Firn into other projects
  • API bindings for many programming languages

๐Ÿ—บ๏ธ Roadmap

Firn is still very early in development, so this roadmap will likely change in the future. It's currently a rough plan in chronological order.

๐Ÿ’พ 16-bit and 32-bit x86

  • Basic x86 instruction decoding
  • Full 8086 instruction set
  • Disk input and output
  • Audio and video support
  • Keyboard and mouse support
  • Fancy GUI for general use and debugging
  • <=i386 instructions and features
  • <=Pentium II instructions and features

๐Ÿ•น๏ธ Retro Consoles

  • Game Boy (Color) support
  • NES support
  • Super NES support
  • Bindings for Java and other languages

๐Ÿ–ฅ๏ธ Far Future

  • Modern x86-64 instructions and features
  • RISC-V support
  • ARM support
  • Other old consoles
  • Just-in-time compilation

๐Ÿ“œ License

Firn is licensed under either of:

at your option.

About

โ„๏ธ๐Ÿ’พ Firn: A generic system emulator, currently focused on x86.

License:Apache License 2.0


Languages

Language:Rust 100.0%