ND100 emulator project
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.
- You can join the project mailinglist (closed sumbission).
Wanted Information
- Specifications for IOX4-7, possibly info about IOX0-3.
- The floppy interface will answer at IOX 0-7 if thumbwheel is at an illegal position.
- PROG File format.
- Details of Floppy IOX calls...
- Solved, see 3010.
Known Bugs
Something is wrong in character input for INSTRUCTION-B. Typing HELP should give HELP, not "No such command !"
Documentation
Some online documentation is generated with Doxygen.
Code
Latest development code can be found in the development git tree. (Currently down)
- 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.
This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This work is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See version 2 and version 3 of the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |