Nova Emulator Notes
Quick Notes for Nova Emulator
=============================
The project is designed to create an easily-accessed, simplified "user experience" for running a Data General
Nova computer. This includes the visual image of an original Nova's front console (1968, Serial Number 45),
a user terminal display, an optional ASR-33 keyboard, and various other 'experience options'.
The RDOS operating system is complemented with DG's assemblers (ASM and MAC), ALGOL, FORTRAN IV and Extended
BASIC (both single- and multi- user).
Hardware configuration:
Original Nova or Nova 4 CPU with 32KW memory
Hardware MUL/DIV (unsigned)
Main terminal (TTI/TTO)
Real-Time Clock (RTC)
'classic' DKP disk controller with four (4) drives (DP0-DP4) (Model 4048)
'Zebra' DZP disk controller with four (4) drives
Line Printer (Note: requires pop-up window support in browser)
Front console image of Wild Hare's Nova with 'clickable' (animated and audible) switches
Optional ASR-33 keyboard input area (for use with i<anything> and Android)
Optional support for non-DG-compatible "extended memory" [0-64 KW rather than 0-32 KW]
Software configuration:
Pre-Built Operating Systems and Languages
RDOS Data General RDOS rev 7.60 (systems 'SYS', 'QTYSYS' and 'BOOTSYS' exist,
'QTYSYS' has Wild Hare RDOS 7.61 QTY patch/fix)
Languages
Assembler and Macro Assembler
FORTRAN IV
ALGOL
Extended BASIC
MP/OS rev 3.21
Languages
Macro Assembler
FORTRAN IV
Pascal
Extended BASIC
IRIS Educational Data Systems (EDS) / Point 4 IRIS, rev 7.5
Languages
Assembler
BASIC
Web Page Load Time
Operating system disk image files may download up to 10 MB of information, and therefore may
take a while to load depending upon your browser and web connection.
Web-based User Interface
Six main sections exist in the user web interface (from top to bottom):
Initial
Area Description Visibility
---- --------------------- ----------
1) front console image visible
Switches function when 'clicked',
are animated and audible
2) IPS Counter visible
3) terminal display window visible
4) ASR-33 keyboard hidden
(for optional use by iPad/iPhones/tables)
5) a) option menu buttons visible
b) control keys hidden
c) console buttons hidden
6) debug/trace display window hidden
Front Console Image
This is a picture of Wild Hare original Nova's (Serial Number 45) front console
panel which is overlaid with incandescent light displays that approximate that
of the actual running hardware.
The switch register and the function switches are operative, audible and animated -
'clicking' them will perform the corresponding function. Most function switches
(i.e. examine, deposit, etc.) are ignored when the computer is running (like
the real hardware), so the machine must be STOPped or RESET for all function
switches to be effective.
MIPS Counter
This displays an approximate number of Nova instructions executed every second,
and is updated about every two (2) seconds.
Terminal Display Window
This is the display and input area for the main DG console (device names TTI and TTI,
device codes <010> and <011> (octacl), respectively).
ASR-33 keyboard
Usually keyboard input to the terminal is performed by typing in the Terminal Display
Window's text area. However, iPad/iPhone/iWhatever and some tablets have problems
invoking a virtual keyboard when the text area is displayed. The ASR-33 keyboard therefore
creates a separate area that can be used to 'type' (select with mouse/finger cursor)
keys into the Terminal Display Window. Note that the <CR> and <LF> keys codes
may be recognized by different operating systems in different ways: in some cases
a <CR> may be required as a input line terminator, on other cases a <LF> may be needed.
RDOS 7.6 usually requires a <LF> line terminator.
ASR-33 keyboard sounds and animation may affect input performance on some browsers.
It just depends on browser and OS.
Menu Options
These menu buttons allow enabling and disabling the display of the other four areas
of the user interface, along with enabling and disabling the special control key
and console switch function buttons.
Option Menu Buttons
These menu buttons enable/disable the display of all other menus and options,
and these buttons may not be hidden.
The Control Keys menu enables the input of special 'control keys' to the
Nova emulator from browsers which have problems handling user keyboard
control or function keys.
The Console Buttons enables or disables a button menu that enables buttons
to perform the function of the main console hardware switches.
Debug/Trace display menu
Console Button actions are reflected in this window area.
An undocumented 'Trace' instruction execution button exists here
but may or may not exist in future revs.
RDOS Notes
BOOTSYS operating system exists in all RDOS releases.
SYS is general purpose release with TTI, TTO, RTC, DKP, and LPT support.
QTYSYS is SYS release with 4-line QTY support (including Wild Hare QTY fix/patch to DG 7.60).
SYS.SV was 'gened into this demo for user convenience and is the default system
system loaded only a <CR> or <LF> is typed in response to the 'Filename?' query.
Enter the date as two-digit month, day and four-digit year, separated by spaces.
Enter the time as hour, minute and second in 24-hour format, separated by spaces.
RDOS is does not display Y2K dates in convenient form. For example, year 2018 is listed as 118.
End of line terminator is generally <LF>, which is the LF button on the ASR-33
keyboard. Some utilities accept either <LF> or <CR> - it just depends.
All CLI (Command Line Interpreter) filenames and command are case insensitive.
All CLI commands follow a similar consistent format.
The root file system (and disk) name for this RDOS system is 'DP0'.
A single-level sub-directory structure is supported by RDOS; multiple sub-levels
are not supported. (This depends upon whether use of special fixed-length
'partitions' exists, however.)
Directories and subdirectories must be explicity 'INIT'ialized before use
and 'RELEASE'd after use in order to be recognized by RDOS. This is different
than other operating systems where directories are considered just file name
references.
Type 'UP' from the default master directory (DP0 in this environment) after RDOS
startup to execute a CLI script to initialize all commonly-used directories and link
various standard utilities to the appropriate directory.
Type 'DOWN' from 'DP0' before the final 'RELEASE DP0' command to shut down the
system cleanly.
Files may be transferred to/from the browser's (client) computer using the PTR and PTP
LOAD and SAVE buttons.
IRIS Notes
Type the <Esc> (Escape) key to get IRIS login screen attention;
Type <Ctrl>/P (Control/P) to inhibit parity checking.
Account name: MANAGER (all upper case)
No password is required.
Random Notes
Non-persistent disk data - disk data reinitialized when web page refreshed.
DP0 contains all operating system, utilities, libraries and language files.
DP1, DP2 and DP3 do not initially exist, but may be used after they are initialized using the
standard DG procedures:
DKINIT - full INIT on selected drive (Model 4048, DP1, DP2 or DP3)
- optionally installing bootstrap on DP1, DP2 or DP3 using the BOOT program
INIT/F DP1 or DP2 or DP3
use DP1, DP2 or DP3
RELEASE DP1 or DP2 or DP3
Boot RDOS, use 4-digit year,
separate time and date numbers with space (' ')
Convenient RDOS CLI macros in DP0:
UP.MC
DOWN.MC
LINKASM.MC
LINKFORT.MC
LINKALGOL.MC
LINKBASIC.MC
DP0 Directories
ALGOL ALGOL compiler and runtime libraries
FORT FORTRAN IV compiler and runtime libraries
XBASIC Extended BASIC generation, libraries and interpreter directory
U$UTILS URDOS 7.60 utilities and libraries
U$RDOS URDOS 7.60 SYSGEN libraries
HELP HELP demo program from the ALGOL manual
Release Notes
Release notes for operating systems and languages may be contained in each directory,
and would have filenames that start with the number '0' (i.e. 085xxxxxxyy).
How Do I...
How to Create and Run an Assembler Program
DIR %MDIR%
UP
(CDIR,DIR) TMP
%MDIR%:LINKASM
XFER/A $TTI NULL.SR (type the following lines)
<tab>.TITLE NULL
<tab>.NREL
<tab>.ENT NULL
NULL:<tab>JMP .
<tab>.END NULL
<control/Z>
ASM NULL
RLDR/P NULL
NULL
(console lights should eventually be 000445)
<control/C><control/A>
R (return to CLI 'R' prompt)
MAC NULL
RLDR/P NULL
NULL
(console lights should eventually be 000445)
<control/C><control/A>
R
How to Create and Run a FORTRAN IV Program
DIR %MDIR%
UP
(CDIR,DIR) TMP
%MDIR%:LINKFORT
XFER/A $TTI HELLO.FR
<tab>TYPE "Hello world!<015>"
<tab>END
<control/Z>
CLG HELLO
Hello World! (displayed by FORTRAN program)
R
How to Create and Run an ALGOL Program
DIR %MDIR%
UP
(CDIR,DIR) TMP
%MDIR%:LINKALGOL
XFER/A $TTI HELLO.AL
begin
external procedure OPEN ;
OPEN( 1, "$TTO" ) ;
OUTPUT( 1, "Hello world!<015>" ) ;
end
<control/Z>
ALGOL HELLO
RLDR/P HELLO ALGOL.LB
HELLO
Hello World! (displayed by ALGOL program)
R
How to Create and Run a BASIC Program
DIR %MDIR%
UP
(CDIR,DIR) TMP
%MDIR%:LINKBASIC
BASIC
*
10 let a = a + 1
20 goto 10
* RUN
<escape key> to interrupt BASIC infinite loop
*
print a
23155
*
* BYE
R
How to Run a 5-user (!) BASIC System
Main console:
DIR %MDIR%
UP
(CDIR,DIR) TMP
%MDIR%:LINKBASIC
XBASIC:MUBASIC
*
10 let a = a + 1
20 goto 10
* RUN
<escape key> to interrupt BASIC infinite loop
*
print a
23155
*
* BYE
R
QTY lines:
Show the QTY:0/1/2/3 terminal displays
Hit <ESC>ape key to initiate login prompt in any window.
User names are USR1, USR2, USR3, and USR4.
Enter and run program as described for main console.
BYE command terminates user session.
How Do I Operate the Front Console?
Console image is that of Wild Hare's 'classic' Nova computer -
the first model DG produced in 1968 and 1969.
Positioning the mouse (or touching the screen) above or
below a specific switch will perform the corresponding
function (the switches are animated and have sounds from
actual NOVA switches).
The 'Show Console Buttons' option button enables or disables
the front console function buttons. These buttons perform the
same functions as the front console switches and are easier
to use on i<devices>, Androids and other touch screen.
Only the STOP and RESET buttons function when the CPU is running,
all other buttons are ignored. All other buttons function when
the processor is HALTed.
The front console 'switch register' data may be entered as an octal
number in the far right Console Button menu. An 'Whoops!' error will
be displayed and the function ignored if an invalid octal number
exists in the 'Switch Register' field. The field allows 7 octal
digits, but will be masked to 16 bits.
START, EXAM, DEP, DEP NEXT and APL use the 'Switch Register' value.
A READS instruction with invalid switch register data will display
the alert message but return 0 to the program.
Control Keys
Some browsers have problems handling control keys that may be used
in a DG environment, so the 'Control Keys' option menu provides
a way to send special keycodes to the emulator.
Terminal Window
Input and output area for default DG terminal (TTI and TTO, device
codes <010> and <011> octal).
Initially display set to 80 characters by 24 lines, but may be expanded
and scrolled.
All web page session is retained by default, but note that this may
result in slower screen update response depending upon browswer used.
DG software assumes DG terminal with support for proprietary DG CRT
cursor display and keyboard codes. These may appear as block characters
on non-DG terminals.
Rubout is <Backspace> key.
<CR> is <LF>, and <LF> is <CR>.
Different DG software may require different terminators, so <control/J> (<LF>
[line feed] or <NL> in more modern parlance) may be required rather than <control/M>
(<CR> [carriage return]). Later RDOS software releases supports the default <LF>,
but some stand-alone utilities may still require the <CR>.
TTI currently generates even parity to help with some stand-alone programs.
Debug Window
Logs console button activity.
May display instruction execution information.
Performance - varies widely depending upon browser and internal Nova/JS tuning parameters.
0.3 - 1.5 MIP performance depending upon hardware and browser.
Browser Quirks
Different browsers still have quirks, missing features and/or incompatibilities
with each other, especially regarding user keyboard input.
Apple-based browsers may not support input to text areas, so the ASR-33 keyboard
options can be used in these cases.
ASR-33 keyboard sounds and animation may affect input performance on some browsers.
It just depends on the host computer, browser and the OS.
Software Licenses
DG software provided pursuant to an agreement between DG/EMC and Wild Hare Computer
Systems, Inc. for personal educational, non-commercial use only.
Point 4 IRIS system provided pursuant to an agreement between Point 4 and Wild Hare
Computer Systems.
Nova JavaScript emulator and corresponding web pages are copyrighted by Wild Hare Computer
Systems, Inc., and are not currently open source. The content may not be distributed, in
part or in whole, and may used only for personal educational, non-commercial purposes.
The content may not be distributed, in part or in whole, and may not be used for any
professional or commercial purpose whatsoever.
Rev 01.00.02
###