Skip to content

peterapps/em100

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

em100

A web implementation of ase100. View the live demo here.

This is not actually a port of ase100, but rather an emulator of the E100 built from scratch in JavaScript. The CPU was reverse engineered from the description of the E100 opcodes in Lab 5 and the hardware drivers were reverse engineered from the description of the driver protocols in Lab 7.

Originally, the project was implemented in pure JavaScript, but this version is using WebAssembly and Emscripten to achieve near-native speed, similar to ase100. Assembly is still done in JavaScript, the CPU is now emulated in C++, and the hardware components are implemented with a mix of both.

Features

  • Assembly
  • Memory
  • CPU
  • Memory
  • VGA monitor

TODO

  • DE2 board switches
  • Hex displays
  • LEDs
  • Clock
  • SDRAM
  • SD card
  • Serial console send
  • Touchscreen
  • Speaker
  • PS/2 keyboard
  • Serial receive
  • USB mouse
  • LCD display
  • Camera
  • Microphone
  • Fast Fourier Transform
  • Fix speaker output

About

A faster web implementation of ase100

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors