ND100 emulator project
Jump to navigation
Jump to search
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
Enabling Illegal instruction error makes INSTRUCTION-B hang. Seems we might be 100(8) addresses off when loading lvl14 Program counter. Probably caused by an earlier error. RTC bits not set yet, which also makes INSTRUCTION-B complain.
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
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 |