All Projects → jakubfi → em400

jakubfi / em400

Licence: GPL-2.0 license
MERA 400 emulator

Programming Languages

c
50402 projects - #5 most used programming language
assembly
5116 projects
python
139335 projects - #7 most used programming language
CMake
9771 projects
Yacc
648 projects
Lex
420 projects

Projects that are alternatives of or similar to em400

8080
A complete emulation of the Intel 8080 processor written in C99.
Stars: ✭ 109 (+202.78%)
Mutual labels:  cpu, emulation
zemu
Ledger Nano Emulation/testing framework
Stars: ✭ 28 (-22.22%)
Mutual labels:  emulation
LudOS
Just enough OS for libretro using the Ludo frontend on a LibreELEC 9.2 base
Stars: ✭ 36 (+0%)
Mutual labels:  emulation
HTGS
The Hybrid Task Graph Scheduler API
Stars: ✭ 36 (+0%)
Mutual labels:  cpu
Nes Snd Emu
NES / Famicom sound library, descended from blargg's Nes_Snd_Emu
Stars: ✭ 19 (-47.22%)
Mutual labels:  emulation
asitop
Perf monitoring CLI tool for Apple Silicon
Stars: ✭ 1,197 (+3225%)
Mutual labels:  cpu
sarviewer
Generate graphs with gnuplot or matplotlib (Python) from sar data
Stars: ✭ 60 (+66.67%)
Mutual labels:  cpu
doc
Get usage and health data about your Node.js process.
Stars: ✭ 17 (-52.78%)
Mutual labels:  cpu
dust
A DS emulator written in Rust
Stars: ✭ 56 (+55.56%)
Mutual labels:  emulation
ArduZ80
The first Z80 emulation library for Arduino
Stars: ✭ 44 (+22.22%)
Mutual labels:  emulation
android-hce-desfire
A HCE software implementation of the NXP Desfire NFC protocol in an Android app (to be used with Cyanogenmod HCE patch)
Stars: ✭ 30 (-16.67%)
Mutual labels:  emulation
SystemMonitor
Python script and a PyQt5 program to monitor ram and cpu usage along with disk usage.
Stars: ✭ 22 (-38.89%)
Mutual labels:  cpu
hardware
Get CPU, Memory and Network informations of the running OS and its processes
Stars: ✭ 70 (+94.44%)
Mutual labels:  cpu
etos-facedetector
Simple and Effective Face Detector, based on Progressive Calibration Networks (PCN) which is an accurate rotation-invariant face detector running at real-time speed on CPU, published in CVPR 2018.
Stars: ✭ 23 (-36.11%)
Mutual labels:  cpu
tree-core-cpu
A series of RISC-V soft core processor written from scratch. Now, we're using all open-source toolchain( chisel, mill, verilator, NEMU, AM and difftest framework, etc) to design and verify.
Stars: ✭ 22 (-38.89%)
Mutual labels:  cpu
ares
ares is a cross-platform, open source, multi-system emulator, focusing on accuracy and preservation.
Stars: ✭ 465 (+1191.67%)
Mutual labels:  emulation
human-computer
A computer that uses nothing but human resources
Stars: ✭ 16 (-55.56%)
Mutual labels:  cpu
ncnn-android-benchmark
ncnn android benchmark app
Stars: ✭ 78 (+116.67%)
Mutual labels:  cpu
ARMStrong
A fast and simple ARM Simulator made for education based upon Unicorn and Keystone engines
Stars: ✭ 99 (+175%)
Mutual labels:  cpu
nodejs
Node.js in-process collectors for Instana
Stars: ✭ 66 (+83.33%)
Mutual labels:  cpu

About em400

EM400 is an emulator of Polish MERA-400 minicomputer system (built in late '70 and popular in the '80). Learn more at: http://mera400.pl In its current state, EM400 can run original MERA-400 software.

Emulation features:

  • MERA-400 CPU
  • MX-16 CPU (original CPU with modifications)
  • real CPU speed
  • floating point arithmetic
  • Elwro memory (32kword modules, ferromagnetic)
  • Amepol MEGA memory (64kword modules, semiconductor)
  • character channel (character-oriented I/O interface)
  • Amepol MULTIX peripherial processor
  • Winchester disk drive
  • terminal connection over TCP or serial line
  • built-in debugger

Things that are still waiting for implementation:

  • 8" floppy disk drive (partially implemented)
  • memory channel and MERA 9425 disk drive
  • Terminals connected to MULTIX peripherial processor
  • 5.25" floppy disk drive
  • Amepol real time clock

Things that may or may not be implemented:

  • Amepol PLIX peripherial processor
  • EC 6051 disk drive
  • PT-305 tape drive

Requirements

To build and run em400 you'll need:

  • cmake
  • GNU make
  • bison and flex
  • libemdas (deassembler library)
  • libemcrk (CROOK memory structures)
  • libemawp (floating point arithmetic)
  • ncurses (used by debugger)
  • readline (used by debugger)

Build instructions

Do the following in the source directory:

mkdir build
cd build
cmake ..
make
make install

Running

EM400 is built with a debugger which currently is its primary user interface.

Usage:

em400 [option] ...

Where options are:

  • -h - Display help
  • -c config - Config file to use instead of the default one (~/.em400/em400.cfg)
  • -p program - Load program image into OS memory at address 0
  • -l component,component,... - Enable logging for specified components. Available components: reg, mem, cpu, op, int, io, mx, px, cchar, cmem, term, wnch, flop, pnch, pnrd, crk5, em4h, all.
  • -L - Disable logging
  • -k value - Value to initially set keys to
  • -u ui - User interface to use. Available UIs: curses (default), cmd (minimal, for remote control)
  • -F - Use FPGA implementation of the CPU and external memory (experimental)
  • -O sec:key=value : Override configuration entry "key" in section [sec] with a specific value
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].