Skip to content

wchill/mips86emu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#mips86emu

A MIPS emulator written in C (soon-to-be-C++) implementing the MIPS32 ISA.

The goal is to have a fully working emulator with dynamic recompilation to x86 assembly (hence the name), memory mapped I/O for graphics/sound/networking, and the ability to have a full Linux kernel running in the emulator.

Many of the most useful instructions have already been implemented, along with a minimal implementation for coprocessors 0 and 1 (which currently do not provide any additional functionality).

##TODO:

  • Reimplement in C++ for modularity/maintainability reasons
  • Finish implementing opcodes
  • Finish implementing coprocessors
  • Finish implementing syscalls for bare metal assembly code
  • Implement exceptions/interrupts
  • Write a basic assembler
  • Implement a just-in-time dynamic recompilation engine for faster execution
  • Implement a debugger
  • Implement terminal device
  • Implement graphics device
  • Implement disk access using emulated disk image
  • Implement sound device
  • Implement network adapter
  • Cross-compile Linux to run on the emulator
  • Write test cases

About

A MIPS emulator written in C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published