ND100 emulator project: Difference between revisions

From NDWiki
Jump to navigation Jump to search
Line 34: Line 34:
== Known Bugs ==
== Known Bugs ==


INSTRUCTION-B finds errors everywhere, example when running SLOW command:
INSTRUCTION-B finds errors everywhere, example when running SLOW command:<br />
 
<nowiki>** ERROR **. WRONG VALUE OF P-REG AFTER TEST. LEVEL: '</nowiki><br />
** ERROR **. WRONG VALUE OF P-REG AFTER TEST. LEVEL: '
<nowiki>"SAA 0" FAILED (SAAOP)</nowiki>
"SAA 0" FAILED (SAAOP)


== Documentation ==
== Documentation ==

Revision as of 06:56, 25 April 2011

The ND100 Emulator Project (nd100em) strives to be able to completely run ND-100 code and emulate a ND-100 computer to the degree it can boot and run SINTRAN III.

Authors

  • Per-Olof Åström
  • Roger Abrahamsson
  • Zdravko Dimitrov
  • Göran Axelsson

Status

  • In active development. Most of the basic instructions implemented and some of the system ones. MMS implemented. Able to run some ND100 software.
  • It can run BPUN files thats stripped down, but has a long way until all system functions are working. MAC sort of works, as well as INSTRUCTION-B, which is the main test program used for now to see how well it behaves.
  • Version 0.1.6 introduced functions to measure emulator speed, and on a 2.6GHz P4, it is around 5-10 times on average faster than an original ND-100, counted per instruction over a large number of instructions. The code is NOT optimized for speed at all.
  • Usually the projects experimental code is further ahead than these versions available here.

Wanted Information

  • Specifications for IOX4-7.
DoneDone Partially solved, Memory Parity.
  • Specifications for IOX0-3.
The floppy interface will answer at IOX 0-7 if thumbwheel is at an illegal position.
  • Information about expected behaviour of CLEPT and SETPT (Inparameters, effects etc)
  • PROG File format.
  • Details of Floppy IOX calls...
DoneDone Solved, see 3010.

Known Bugs

INSTRUCTION-B finds errors everywhere, example when running SLOW command:
** ERROR **. WRONG VALUE OF P-REG AFTER TEST. LEVEL: '
"SAA 0" FAILED (SAAOP)

Documentation

Some online documentation is generated with Doxygen.

Code

Latest development code can be found in the development git tree.

  • v0.1 - Initial release, able to run image of ND100 MAC
  • v0.1.1 - New command parser, some floating point support
  • v0.1.2 - Rearranged to new structure, new instructions added
  • v0.1.3 - Lots of bugfixes and some more instructions
  • v0.1.4 - multithreading, IOX infrastructure. Bugfixes.
  • v0.1.5 - Runlevel switching in WAIT, basic rtc interrupt functionality, fixes all over
  • v0.1.6 - IDENT infrastructure, Config file handling, bugfixes, profiling
  • v0.1.7 - Bugfixes, handles paging and interrupt. New tracing model.
  • v0.1.8 - Bugfixes, partially runs INSTRUCTION-B testprogram now.