ND100 emulator project: Difference between revisions

From NDWiki
Jump to navigation Jump to search
(Added answer to searched information.)
(Wikifying)
Line 1: Line 1:
The '''ND100 Emulator Project''' (nd100em) strives to be able to completely run
The '''ND100 Emulator Project''' (nd100em) strives to be able to completely run
[[ND-100]] code and emulate a ND100 computer to the degree it can boot and run [[SINTRAN III]].
[[ND-100]] code and emulate a ND-100 computer to the degree it can boot and run [[SINTRAN III]].


== Authors ==
== Authors ==
Line 10: Line 10:


== Status ==
== Status ==
* In active development. Most of the basic instructions implemented and some of the system ones. MMS implemented. Able to run some ND100 software.


In active development. Most of the basic instructions implemented and some of the system ones. MMS implemented. Able to run
* 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.
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
* 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.
well as INSTRUCTION-B, which is the main test program used for now to see how well it behaves.


V 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
* Usually the projects experimental code is further ahead than these versions available here.
ND100, 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 [https://www.gnyrf.net/cgi-bin/lsg2.cgi project mailinglist] (closed sumbission).
 
The project has a mailinglist (closed sumbission) which can be joined [https://www.gnyrf.net/cgi-bin/lsg2.cgi here].


== Wanted Information ==
== Wanted Information ==
Specifications for IOX4-7, possibly info about IOX0-3.
*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.
: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)
*Information about expected behaviour of [[CLEPT]] and [[SETPT]] (Inparameters, effects etc)


PROG File format.
*PROG File format.


Details of Floppy IOX calls... Solved, see : [[3010]]
*Details of Floppy IOX calls...  
:{{done}} Solved, see [[3010]].


== Known Bugs ==
== Known Bugs ==
Line 38: Line 35:


== Code ==
== Code ==
Latest development code can be found in the development git tree [http://www.gnyrf.net/cgi-bin/gitweb.cgi?p=nd100em.git;a=summary here].
Latest development code can be found in [http://www.gnyrf.net/cgi-bin/gitweb.cgi?p=nd100em.git;a=summary the development git tree].


* [http://www.gnyrf.net/nd100em/files/nd100em-v0.1.tar.gz v0.1] - Initial release, able to run image of ND100 MAC
* [http://www.gnyrf.net/nd100em/files/nd100em-v0.1.tar.gz v0.1] - Initial release, able to run image of ND100 MAC
Line 47: Line 44:
* [http://www.gnyrf.net/nd100em/files/nd100em-v0.1.5.tar.gz v0.1.5] - Runlevel switching in WAIT, basic rtc interrupt functionality, fixes all over
* [http://www.gnyrf.net/nd100em/files/nd100em-v0.1.5.tar.gz v0.1.5] - Runlevel switching in WAIT, basic rtc interrupt functionality, fixes all over
* [http://www.gnyrf.net/nd100em/files/nd100em-v0.1.6.tar.gz v0.1.6] - IDENT infrastructure, Config file handling, bugfixes, profiling
* [http://www.gnyrf.net/nd100em/files/nd100em-v0.1.6.tar.gz v0.1.6] - IDENT infrastructure, Config file handling, bugfixes, profiling


{{GPL}}
{{GPL}}


[[Category:Projects|ND100 emulator project]]
[[Category:Projects|ND100 emulator project]]

Revision as of 22:29, 13 November 2008

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, possibly info about 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

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.

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