User:RHansen: Difference between revisions

From NDWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 16: Line 16:
| 
| 
|}
|}
A long time a go, in another universe it seems, I was using Sintran on an ND-100 at our electronics/computer school.
A long time a go, in another universe it seems, I was using SINTRAN on an ND-100 at our electronics/computer school.
We configured and ran the machine after we inherited it.
We configured and ran the machine after we inherited it.


These days I am a Cloud Architect, Developer and Geek - and the last years I have been spending an unhealty amount of time writing emulators. You can read how this crazy journey started here [https://www.linkedin.com/pulse/wow-i-didnt-expect-so-much-fun-ronny-hansen/]
These days I am a Cloud Architect, Developer and Geek - and the last years I have been spending an unhealthy amount of time writing emulators. You can read how this crazy journey started here [https://www.linkedin.com/pulse/wow-i-didnt-expect-so-much-fun-ronny-hansen/]


I have successfully (with some help) created an ND-100 emulator in .NET/C# with peripherals such as TeleType, Floppy and HardDrive.
I have successfully (with some help) created an ND-100 emulator in .NET/C# with peripherals such as TeleType, Floppy and HardDrive.
(I have to admit I have ''borrowed'' some of the thinking and logic from the nd100em emulator)
(I have to admit I have ''borrowed'' some of the thinking and logic from the nd100em emulator)


The emulator contains a debugger, dissasembler and code tracer in addition to logic to mount different floppy-image, loading BPUN and PROG files directly.
The emulator contains a debugger, dissasembler and code tracer in addition to logic to mount different floppy-image, read/write hardddrive, loading BPUN and PROG files directly into memory.


I have successfully dumped and booted SINTRAN version H in ND-100 mode, although there are still some bugs to iron out.
I have successfully dumped and booted SINTRAN version H in ND-100 mode, although there are still some bugs to iron out.
Line 32: Line 32:




I have tried booting SINTRAN K and L. Requires ND-110 it seems. Dumping to HDD works great, but I havent successfully managed to boot SINTRAN from HD with 22!  
I have tried booting SINTRAN K, L and M. Requires ND-110 it seems. Dumping to HDD works great, but I haven't successfully managed to boot SINTRAN from HD with 22!  
Probably because my MMS-2 isn't behaving correctly (see below) and after a while I end up looping on ''Page Fault during FETCH'' on the same address over and over.
It ends with WAIT in level 0 or runs of into random memory locations..


== What's working in the emulator ==
* Test programs that validates the opcodes so far
** ONE—CHECK, TWO—CHECK, THREE—CHECK
** FOUR—CHECK (a few bugs still)
** INSTRUCTION-B.BPUN (PROGRAM NUMBER: 204384B DATE ISSUED  : 83.11.01)
** PAGING-B.BPUN (PROGRAM NUMBER: 203098B 1982)
** FLOPPY-FU-1986F (All tests work except Test 2 "Format Decoder Test" on my PIO floppy driver)
** Test programs on floppy "210523E00-XX-01D"
*** INSTRUCTION - Version: C00 - 1986-10-30
**** "32 BITS FLOATING INSTRUCTIONS" - Failing on  (NLZ, FMU,FDV, FAD,FSB)
**** "INTERNAL INTERRUPTS" Failing (dies) - Earlier I had a more descriptive fail, but I guess I fixed that bug (Expected IIC value:5, Found IIC value: 2)
***  PAGING - Version: C00 - 1986-10-16 (Detected MMS-1 in ND-100 mode)
**** Works 100% in MMS-1 and MMS-2 mode.


==I am looking for the following==
==I am looking for the following==
* Images of SINTRAN J floppies. The source code that has been scanned is SINTRAN J - And it would help immensely in debugging the emulator if I could boot and debug version J.
* Images of SINTRAN J floppies. The source code that has been scanned is SINTRAN J - And it would help immensely in debugging the emulator if I could boot and debug version J.
* Explanation on how MMS-2 is different from MMS-1, especially in regards to ''Trap''
* Documentation on the ND-100 register ACTL (Active Level). It looks like it's 3 bits, and its not PIL.
* Documentation on the ND-100 register ACTL (Active Level). Its 3 bits, and its not PIL.
* Other binary images (Tape, PaperTape, HDD, Floppy,+++) All SINTRAN III versions are of interrest.
* Other binary images (Tape, PaperTape, HDD, Floppy,+++) All SINTRAN III versions are of interrest.
* ROM's with Microcode for ND-100, ND-110
* ROM's with Microcode for ND-10, ND-100, ND-110
* Documentation on device and register usage for all peripherals, especially Ethernet
* Documentation on device and register usage for all peripherals, especially Ethernet
* Access to a REAL ND-100/ND-110 to run som test programs to compare with my emulator.
* Access to a REAL ND-100/ND-110 to run som test programs to compare with my emulator.
* Source Code. Any source code. Especially test programs and IO drivers.
* Source Code. Any source code. Especially test programs and IO drivers.
* Documentation and Source code for test-program "PAGING-C00:TEST" => "PAGING - Version: C00 - 1986-10-16"
* Documentation on Date/Time format/calculation for file/timestamps
* Documentation on Date/Time format/calculation for file/timestamps


==Things I am working on==
==Things I am working on==
* I am focusing on getting the ND-10/ND-100 opcodes working 100%.  
* Getting the I/O devices to work flawlessly. I especially want to finish all details in the HDD driver (and emulating different disk sizes and versions of the controller hw)
* Implementing the (semi)missing opcodes
* I am focusing on getting the ND-10/ND-100 opcodes working 100%. (I do believe that the ones that are implemented are "almost" bugfree)
 
* Implementing the missing opcodes  
** Floating point 48 bits (doing 32 bits "buggy" now)
** Floating point 48 bits (doing 32 bits "buggy" now)
** «Commercial Extended» (CE) option
** «Commercial Extended» (CE) option
** ND-110 Specific opcodes (Stack, Segment,)
** ND-110 Specific opcodes (Stack, Segment,)
* Focusing on getting SINTRAN H work 100% flawlessly (could be opcodes, but at the moment all my trouble is inside ''MON 131 ABSTR'')
* Focusing on getting SINTRAN H work 100% flawlessly (could be opcodes, but at the moment all my trouble is inside ''MON 131 ABSTR'')
* Test programs that validates the opcodes so far
** ONE—CHECK, TWO—CHECK, THREE—CHECK, FOUR—CHECK (some bugs here still)
** INSTRUCTION-B.BPUN (PROGRAM NUMBER: 204384B DATE ISSUED  : 83.11.01)
** PAGING-B.BPUN (PROGRAM NUMBER: 203098B 1982)
** FLOPPY-FU-1986F (All tests work except Test 2 "Format Decoder Test" on my PIO floppy driver)
** Test programs on floppy "210523E00-XX-01D"
*** INSTRUCTION - Version: C00 - 1986-10-30
**** Failing on "32 BITS FLOATING INSTRUCTIONS" (NLZ, FMU,FDV, FAD,FSB)
**** Failing on "INTERNAL INTERRUPTS" (Expected IIC value:5, Found IIC value: 2)
***  PAGING - Version: C00 - 1986-10-16 (Detected MMS-1 in ND-100 mode)
**** Test 5 fails on "RING VIOLATION interrupt". Refers to read NOTE 5. Have debugged intense, and don't understand why this fails.
**** Test 1-4,6-11 OK
***  PAGING - Version: C00 - 1986-10-16 (Detected MMS-2 in ND-110 mode)
**** Fails almost all tests, loops with "Page Fault" during FETCH. MMS-2 must be different from MMS-1 on ''Trap''

Revision as of 01:01, 2 October 2022

Ronny
 
Real name: Ronny Hansen
Role: Developer, Architect, Geek
Interrested in: Everything between Embedded and Cloud
 

A long time a go, in another universe it seems, I was using SINTRAN on an ND-100 at our electronics/computer school. We configured and ran the machine after we inherited it.

These days I am a Cloud Architect, Developer and Geek - and the last years I have been spending an unhealthy amount of time writing emulators. You can read how this crazy journey started here [1]

I have successfully (with some help) created an ND-100 emulator in .NET/C# with peripherals such as TeleType, Floppy and HardDrive. (I have to admit I have borrowed some of the thinking and logic from the nd100em emulator)

The emulator contains a debugger, dissasembler and code tracer in addition to logic to mount different floppy-image, read/write hardddrive, loading BPUN and PROG files directly into memory.

I have successfully dumped and booted SINTRAN version H in ND-100 mode, although there are still some bugs to iron out.


Booting SINTRAN H in the emulator


I have tried booting SINTRAN K, L and M. Requires ND-110 it seems. Dumping to HDD works great, but I haven't successfully managed to boot SINTRAN from HD with 22! It ends with WAIT in level 0 or runs of into random memory locations..

What's working in the emulator

  • Test programs that validates the opcodes so far
    • ONE—CHECK, TWO—CHECK, THREE—CHECK
    • FOUR—CHECK (a few bugs still)
    • INSTRUCTION-B.BPUN (PROGRAM NUMBER: 204384B DATE ISSUED  : 83.11.01)
    • PAGING-B.BPUN (PROGRAM NUMBER: 203098B 1982)
    • FLOPPY-FU-1986F (All tests work except Test 2 "Format Decoder Test" on my PIO floppy driver)
    • Test programs on floppy "210523E00-XX-01D"
      • INSTRUCTION - Version: C00 - 1986-10-30
        • "32 BITS FLOATING INSTRUCTIONS" - Failing on (NLZ, FMU,FDV, FAD,FSB)
        • "INTERNAL INTERRUPTS" Failing (dies) - Earlier I had a more descriptive fail, but I guess I fixed that bug (Expected IIC value:5, Found IIC value: 2)
      • PAGING - Version: C00 - 1986-10-16 (Detected MMS-1 in ND-100 mode)
        • Works 100% in MMS-1 and MMS-2 mode.

I am looking for the following

  • Images of SINTRAN J floppies. The source code that has been scanned is SINTRAN J - And it would help immensely in debugging the emulator if I could boot and debug version J.
  • Documentation on the ND-100 register ACTL (Active Level). It looks like it's 3 bits, and its not PIL.
  • Other binary images (Tape, PaperTape, HDD, Floppy,+++) All SINTRAN III versions are of interrest.
  • ROM's with Microcode for ND-10, ND-100, ND-110
  • Documentation on device and register usage for all peripherals, especially Ethernet
  • Access to a REAL ND-100/ND-110 to run som test programs to compare with my emulator.
  • Source Code. Any source code. Especially test programs and IO drivers.
  • Documentation on Date/Time format/calculation for file/timestamps

Things I am working on

  • Getting the I/O devices to work flawlessly. I especially want to finish all details in the HDD driver (and emulating different disk sizes and versions of the controller hw)
  • I am focusing on getting the ND-10/ND-100 opcodes working 100%. (I do believe that the ones that are implemented are "almost" bugfree)
  • Implementing the missing opcodes
    • Floating point 48 bits (doing 32 bits "buggy" now)
    • «Commercial Extended» (CE) option
    • ND-110 Specific opcodes (Stack, Segment,)
  • Focusing on getting SINTRAN H work 100% flawlessly (could be opcodes, but at the moment all my trouble is inside MON 131 ABSTR)