Return to the Sintran homepage Return to your previous page

Norsk Data & Sintran Data software1.5.9.1 - ND100e


ND100e

The ND100e (ND 100 CPU emulator) can load and run ND-100 :PROG files. This first release is only a POC (Proof of concept). Programs can be loaded and started, but will rather quickly be aborted when a unimplemented MON call is reached.

Download the ZIP file, unpack it to any directory and start ND100e from that directory.
Program files must, by default, be placed in the file system path SINTRAN\.

These are the implemented features in this POC release:

ND100e screen dump

Commands

Type HELP at the NDe command prompt to get a list of all available commands. Lower-/uppercase doesn't matter and commands can be abbreviated as in Sintran III. F.ex the command LIST-FILES can be written as li-fi,,, with parameters on the same line or let NDe ask for them when missing.

CC [<Text>]

Comment, this command has no effect. The [<Text>] is optional and will not be asked for if not present.

NDe @cc This is just a comment.

NDe @

CONTINUE

Continue execution of the program already in memory, we will continue from the address given by the P register.

NDe @continue

 LOOK-FILE-2244E         Created: 16.12.1983
>>exit

 - EXIT LOOK-FILE -
NDe @

DESCRIBE-COMMANDS <Command>

Give a short description of all the commands matching <Command>.
Default: all commands.

NDe @desc desc
 DESCRIBE-COMMANDS 
        Display a short description of the given command(s).

NDe @

EXIT

Exit the ND100e program and return to DOS.

NDe @exit

D:\>

GOTO [<Address>]

Start execution of the program already in memory, from the address given or the P register if an address is not given.

NDe @goto 0

QED 4.3

*f

NDe @

HELP

Display a list with all available commands and their parameters.

NDe @help
 CC [<Text>]
 CONTINUE
 DESCRIBE-COMMANDS <Command>
 EXIT
*GOTO [<Address>]
 HELP
 LIST-CONFIGURATION
 LIST-FILES <File name>
 LIST-MON-CALLS <List option>
 LOAD-PROGRAM <File name>
 LOOK-AT <Space> <Address>
 PROGRAM-STATUS
 RECOVER <File name>
 RESTART
 RUN
*SET-BREAK <Address>
 SET-DEPOSIT-MODE <Deposit mode>
 SET-MEMORY-CONTENTS <Space> <Lower address> <Upper address> <Value>
 SET-TERMINAL-TYPE <Terminal type>
 STATUS
*STEP [<Address>]
 SUPPRESS-ERRORS <Suppress DOS errors> <Suppress MON errors> <Suppress SFS errors>
 TERMINAL-STATUS
 VERSION

NDe @

LIST-CONFIGURATION

List the current configuration (read from the ND100e.ini file).

NDe @list-configuration
Config file......(C): ND100e.ini
Background color....: 2 (Green) (default)
Foreground color....: A (Light green) (default)
Screen size.........: 110 chars x 35 lines (unchanged)

CPU type............: ND-100
Floating point......: 32 bits
Terminal device.....: 36 (000044B)
Terminal group......: 1
Terminal type.......: 2 (120002B) Teletype ASR-33
Scratch file........: SCRATCH05:DATA
Sintran version.....: N
Sintran patch file..: 001100B
File system path....: SINTRAN\
Default dir. name...: PACK-ONE
Default user name...: FLOPPY-USER

NDe @

LIST-FILES <File name>

List all files matching the given file name, or all files if nothing is given. List files in the file system path (here SINTRAN\) that have a legal Sintran file name.

NDe @list-files,,,
FILE 0 : FTN:PROG
FILE 1 : LOOK-FILE:PROG
FILE 2 : MAC:PROG
FILE 3 : NPL:PROG
FILE 4 : NRL:PROG
FILE 5 : QED:PROG
FILE 6 : Y:PROG

NDe @

LIST-MON-CALLS <List option>

Display a list of IMPLEMENTED (default) MON calls, or ALL the MON calls that are defined/exists in Sintran III.
There is a mark (after the % sign) for each MON call, which has the following meaning:

NDe @list-mon-calls,,
List of implemented MON calls:

MON 000B % LEAVE     MON 016B %*MGTTY     MON 043B %*CLOSE     MON 143B %*RSIO
MON 001B %*INBT      MON 032B % MSG       MON 065B %*QERMS     MON 312B % MOINF
MON 002B %*OUTBT     MON 033B % ALTON     MON 113B % CLOCK     MON 321B %*UEADM
MON 003B % ECHOM     MON 034B % ALTOFF    MON 114B % TUSED     MON 325B % MBECH
MON 004B % BRKM      MON 035B % IOUT

NDe @

LOAD-PROGRAM <File name>

Load a Sintran III :PROG file into the memory, ready for execution. The program is not started, this can be done by the RUN or RESTART commands. The program has to be a one-bank program in this POC release (but this is not checked by ND100e).

NDe @load qed

NDe @

LOOK-AT <Space> <Address>

Look at MEMORY (code bank), ALT-MEMORY (data bank) or REGISTERS, starting at given address. The LOOK-AT command have some sub-commands:

NDe @look-at memory 0
Look at MEMORY
Ready:
1"000000: 125002  252 002  * .  JMP    I   +002
1"000001: 125002  252 002  * .  JMP    I   +002
1"000002: 003770  007 370  . x  STZ ,X I,B -010
1"000003: 004254  010 254  . ,  STA        -124
1"000004: 000005  000 005  . .  STZ        +005  REGISTERS
     STS: 170444  361 044  q $  SAA        +044
       D: 000010  000 010  . .  STZ        +010
       P: 020145  040 145    e  STD        +145
       B: 000033  000 033  . .  STZ        +033
       L: 004370  010 370  . x  STA        -010
       A: 000000  000 000  . .  STZ        +000
       T: 000000  000 000  . .  STZ        +000
       X: 020142  040 142    b  STD        +142
     STS: 170444  361 044  q $  SAA        +044  <ESC>

NDe @

PROGRAM-STATUS

Display some information about the current program in memory.

NDe @program-status
File name (ND)......: QED:PROG
File name (PC)......: SINTRAN\QED.PROG
File size...........: 17468 bytes (17 KB, 9 pages)
Memory model........: 1 bank
Start address.......: 000000B
Restart address.....: 000001B
Code lower address..: 000000B
Code upper address..: 020435B
Data lower address..: 177777B
Data upper address..: 000000B
Overlay.............: 177777B

NDe @

RECOVER <File name>

Load a Sintran III :PROG file into the memory and start it from it's start address. The program has to be a one-bank program in this POC release (but this is not checked by ND100e).

NDe @recover qed

QED 4.3

*f

NDe @

RESTART

Restart execution of the program already in memory, from it's restart address.

NDe @restart

*f

NDe @

RUN

Start execution of the program already in memory, from it's start address.

NDe @run

QED 4.3

*f

NDe @

SET-BREAK <Address>

Set a break point in given address. The program will the be trapped when that address is reached (before the instruction in that address is executed).

NDe @set-break 3770

NDe @run
Break at address 003770B

NDe @

SET-DEPOSIT-MODE <Deposit mode>

Set the deposit mode for the LOOK-AT command to either DISABLED or ENABLED. This can also be done with a sub-command inside the LOOK-AT command.

NDe @set-deposit-mode enabled
Deposit mode set to ENABLED

NDe @

SET-MEMORY-CONTENTS <Space> <Lower address> <Upper address> <Value>

Set the memory contents to a given value. The space is either MEMORY or ALT-MEMORY, and the area from lower (default 0) to upper (default 177777) address (limits included) are set to the given octal value.

NDe @set-memory-contents memory 0 10 177777

NDe @

SET-TERMINAL-TYPE <Terminal type>

Set the terminal type to be emulated.

NDe @set-terminal-type 2
Terminal type set to 2

NDe @

STATUS

Display some runtime parameters and statistics for the current executed program.

NDe @status
Deposit mode........: ENABLED
Suppress DOS errors.: Yes
Suppress MON errors.: Yes
Suppress SFS errors.: Yes
Break address.......: 003770B
File name (ND)......: QED:PROG
File name (PC)......: SINTRAN\QED.PROG
NPT/APT.............: 1/1
Registers...........:    STS       D       P       B       L       A       T       X
  and values........: 170444B 000010B 020145B 000033B 004370B 000000B 000000B 020142B
Instr. executed.....: 5193
Instr./second.......: 2676 (2 KIPS)
Instr. time average.: 374 us
CPU time used.......: 1.940 sec.
Time used...........: 3.302 sec.

NDe @

STEP [<Address>]

Start execution of the program already in memory, from the address given or the P register if an address is not given. The instructions are executed one by one and you must press a key to go on to the next instruction. The ESC or period (.) key will abort the execution.

NDe @load qed

NDe @step
           170400B 000000B 000000B 000000B 000000B 000000B 000000B 000000B
1"000000B/ 125002B JMP    I   +002
           170400B 000000B 003770B 000000B 000000B 000000B 000000B 000000B
1"003770B/ 044057B LDA        +057
           170400B 000000B 003771B 000000B 000000B 001312B 000000B 000000B
1"003771B/ 060057B ADD        +057
           170400B 000000B 003772B 000000B 000000B 001512B 000000B 000000B
1"003772B/ 146153B COPY SA DB
           170400B 000000B 003773B 001512B 000000B 001512B 000000B 000000B
1"003773B/ 005056B STA    I   +056   <ESC>

NDe @

SUPPRESS-ERRORS <Suppress DOS errors> <Suppress MON errors> <Suppress SFS errors>

Suppress or enable some printouts of "low-level" error codes, mainly used for debugging. Enabling these printouts will usually interfere with the output from the running program.
  • DOS - DOS file system error messages.
  • MON - MON call error messages.
  • SFS - Sintran file system error messages.
    
    NDe @suppress-errors
    Suppress DOS errors: no
    Suppress MON errors: no
    Suppress SFS errors: no
    
    NDe @
    

    TERMINAL-STATUS

    Display the terminal status like Sintran.
    
    NDe @terminal-status
    Log.no  User              Mode      CPU  Out of  Last command
        36  FLOPPY-USER       COMMAND     0      17  terminal-status
    
    NDe @
    

    VERSION

    Display the ND100e version info.
    
    NDe @version
    ND100e version A02 - 2021.07.25 (ND-291100 - 1.2.1.12) - Copyright (C) 1980-2021, Sintran Data
    
    ooo   ooo ooooooo       This is an ND-100 CPU emulator that can run ND-100 program files.
    oooo  ooo oooooooo      SINTRAN III is not emulated except for some required MON calls.
    ooooo ooo ooooooooo
    ooooooooo ooo   ooo     Copyright (C) 1980-2021, Sintran Data. All rights reserved.
    ooooooooo ooo   ooo     Config file: ND100e.ini
    ooo ooooo ooooooooo
    ooo  oooo oooooooo      Type HELP for a list of commands.
    ooo   ooo ooooooo       Registered to: Free demo version.
    
    NDe @
    

    Download

    Version history


    This page was last updated 06. Nov. 2023
    Copyright © Sintran Data
    ../valid HTML code ../valid CSS code
    Mail us