ND100 emulator project: Difference between revisions
Jump to navigation
Jump to search
Line 27: | Line 27: | ||
*Specifications for IOX4-7. | *Specifications for IOX4-7. | ||
:{{done}} Partially solved, Memory Parity. | :{{done}} Partially solved, Memory Parity. | ||
:: More information about these would be good though, like where more documentation about them is found, or register flags/values. | |||
*Information about expected behaviour of [[CLEPT]] and [[SETPT]] (Inparameters, effects etc) | *Information about expected behaviour of [[CLEPT]] and [[SETPT]] (Inparameters, effects etc) | ||
Line 32: | Line 33: | ||
* Information about undocumented instructions, particularly 142700... | * Information about undocumented instructions, particularly 142700... | ||
:{{done}} Partially solved | :{{done}} Partially solved | ||
: 142700 - GECO | : 142700 - GECO - | ||
: 161000 - IOT | : {{done}}161000 - IOT. an old ND1 pre IOX instruction, details in ND1 manuals. | ||
*PROG File format. | *PROG File format. | ||
Line 43: | Line 44: | ||
* Newer version of INSTRUCTION VERIFY, this one lacks test for BCD and CX instructions. | * Newer version of INSTRUCTION VERIFY, this one lacks test for BCD and CX instructions. | ||
:Current one is... | :Current one is... | ||
:DATE ISSUED - 83.11.01 | :{{done}}DATE ISSUED - 83.11.01 | ||
: We now have up to versions from 1988 | |||
* Details about the PANS, PANC registers and the front panel. | |||
: There apparently is a real time clock here that keeps date etc for example, and newer test program versions tries to locate that. | |||
* An output dump from VERSN run on at least one real ND 110+ | |||
: Has to be run 16 times, as the installation number is that long. A reg bit 11-8 is set to byte num, then VERSN called | |||
: Output comes in A, T, AND D register. | |||
: Bit 15-4 of A= Print version. 3-0 is ALD, T=Microprogram version, lower byte of D=installation num. | |||
== Known Bugs == | == Known Bugs == |
Revision as of 20:07, 29 July 2016
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, 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.
- Version 0.1.9 runs a lot more code, and can handle BPUN files straight off.
- 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 IOX1-3.
- Specifications for IOX4-7.
- Partially solved, Memory Parity.
- More information about these would be good though, like where more documentation about them is found, or register flags/values.
- Information about undocumented instructions, particularly 142700...
- Partially solved
- 142700 - GECO -
- 161000 - IOT. an old ND1 pre IOX instruction, details in ND1 manuals.
- PROG File format.
- Details of Floppy IOX calls...
- Solved, see 3010.
- Newer version of INSTRUCTION VERIFY, this one lacks test for BCD and CX instructions.
- Details about the PANS, PANC registers and the front panel.
- There apparently is a real time clock here that keeps date etc for example, and newer test program versions tries to locate that.
- An output dump from VERSN run on at least one real ND 110+
- Has to be run 16 times, as the installation number is that long. A reg bit 11-8 is set to byte num, then VERSN called
- Output comes in A, T, AND D register.
- Bit 15-4 of A= Print version. 3-0 is ALD, T=Microprogram version, lower byte of D=installation num.
Known Bugs
- MOVB
- Needs fixing for a few edge cases.
- MOVBF
- NLZ
- Not properly identified yet what needs to be done.
- DNZ
- Not properly identified yet what needs to be done.
- FAD
- Not properly identified yet what needs to be done.
- FDIV
- Not properly identified yet what needs to be done.
Documentation
Some online documentation is generated with Doxygen.
Also a copy of README-CODING-IO has been added here on the wiki for easy access.
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.
- v0.1.9 - Bugfixes,new tracing, runs INSTRUCTION-B to a degree we can use it to test instructions.
- v0.2.0 - Corrected PT/APT handling, IRQ fixes, runs completely through PAGING-B.BPUN, don't crash out on RTC-12-1902B.BPUN anymore.
- v0.2.1 - Bugfixes, some memory leaks fixed. Change from mutex to semaphores, and tested build on 64 bit Linux and FreeBSD.
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 |