Skip to content
This repository has been archived by the owner on Aug 21, 2022. It is now read-only.
/ firn Public archive

❄️ A generic system emulator, currently focused on x86.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

TheLukeGuy/firn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Warning This project is archived (and very incomplete)! It will eventually be replaced with individual projects for some systems.

❄️ 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

❄️ A generic system emulator, currently focused on x86.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages