federicorossifr / sep8emulator

Emulator for a didactic processor called sep8

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sep8emulator

sep8 emulator is a C++ emulator for the didactic processor called sep8, as described in this book.

Implemented features:

  • CPU loop supporting decoding of the entire instruction set described in the book

  • IO system supporting following operations:

    • Blocking mode
    • Interrupt mode
    • DMA mode
  • IO Devices implemented:

    • APIC with programmable interrupt handlers for each IR entry
    • HDD (block device) with SATA-like interface (supports DMA mode) emulated on file
    • Dummy device (random number generator)
  • Extras:

    • Assembler written in python: enable high-level (assembly-like syntax) language to machine-level language assembly
    • Example programs:
      • BIOS: load super-simple OS from HDD using DMA operation
      • Some interrupt gates
      • User space program that does some IN/OUT operations using INT service requests.

Instructions

In order to execute the emulator with example programs:

make all 
./run -l

Contributors

Federico Rossi

About

Emulator for a didactic processor called sep8


Languages

Language:C++ 78.4%Language:Python 11.3%Language:AngelScript 4.0%Language:Makefile 3.2%Language:ActionScript 2.2%Language:Shell 0.9%