Driver:Apollo

From MAMEDEV Wiki
Revision as of 19:24, 8 July 2016 by Firehawke (talk | contribs)

Running the Emulation

How to run the Apollo emulation

MAME will emulate one of the following Apollo workstations and servers:

MAME System Apollo Display
dn3500 DN3500 Color or 15“ Monochrome
dn3500_19i DN3500 19” Monochrome
dsp3500 DSP3500 Terminal
dn3000 DN3000 Color or 15“ Monochrome
dn3000_19i DN3000 19” Monochrome
dsp3000 DSP3000 Terminal
dn5500 DN5500 Color or 15“ Monochrome
dn5500_19i DN5500 19” Monochrome
dsp5500 DSP5500 Terminal

To run an emulation start MAME with one system and additional command line options, e.g.

$ ./mame dn3500 -mouse -log -disk1 <pathname>.awd -flop <pathname>.afd

See the MAME Documentation for specifics on installing and using MAME.

Notes:

  • The boot ROMs must have been setup, before the Apollo emulation may be run (see below).
  • Make sure you understand how to ungrab the mouse before runnung MAME with option mouse (see below)
  • The DN3x00 emulation may be run without option -mouse (i.e. without grabbing the mouse), if you are willing to move the cursor with the arrow keys of the keyboard (works quite good, once you get used to it)
  • DN3x00 is being used as shorthand for DN3000 or DN3500 or DN5500; same for DSP3x00

See also the MAME Documentation.

How to run config

The Apollo emulation should be configured for proper operation.

To run config

  • switch the Apollo emulation into Service Mode (see below) and reset or restart the emulation
  • press Return (in the MAME window or in the Terminal window) until the MD version and prompt (“>”) are shown
  • enter ex config and wait

the current configuration will be shown; expect something similar to:

Config - Offline(7), revision 10.4, December 2, 1991  7:29:50 pm

       Current configuration

Memory:
       Board #  Size in megabytes
            1              4
            2              4
            3              4
            4              4
       Total configured memory: 16 megabytes

Node-id:       12345
Display type: DISP8D -- 1024x800 monochrome display 
Peripheral devices: 
       FPU5 -- MC68881/MC68882
       FLP7 -- Floppy disk
       WINCHESTER CONTROLLER TYPE --  SMS/Omti                       
          WIN7 -- Winchester (controller 0  unit 0):  380MB--FA                
       CTAPE7 -- Cartridge Tape (QIC-II)
       ETH802.3_AT -- 802.3 Network Controller-AT (unit 0)

       Principal network: ETH802.3_AT -- 802.3 Network Controller-AT (unit 0)


Would you like to reconfigure this node (Y/N)?
  • Enter n to quit or y to modify the configuration; the configuration will be saved in the NVRAM of the emulation.

How to run calendar

  • If the Winchester disk image hasn't been used for some time (14 days), it may be necessary to run calendar.

To run calendar

  • Switch the Apollo emulation into Service Mode (see below) and reset or restart the emulation
  • press Return (in the MAME window or in the Terminal window) until the MD version and prompt (“>”) are shown
  • enter ex calendar and wait
  • enter w to select the Winchester disk
  • check and eventually change the timezone
  • check and eventually change date and time
  • confirm questions as appropriate and wait for the MD prompt to reappear

How to run salvol

  • If Domain/OS has crashed or has been aborted, it may be necessary to salvage the disk.

To run salvol

  • Switch the Apollo emulation into Service Mode (see below) and reset or restart the emulation
  • press Return (in the MAME window or in the Terminal window) until the MD version and prompt (“>”) are shown
  • enter ex salvol and wait
  • enter w to select the Winchester disk
  • enter return to start salvaging of logical volume 1 with default options
  • confirm Anything more to do? with n and wait for the MD prompt to reappear

How to run dex

  • The Diagnostic EXecutive (dex) is a comprehensive diagnostic control system for diagnostic products in the offline environment.

To run dex

  • Switch the Apollo emulation into Service Mode and set all other Driver Configuration values to Off (see below)
  • reset or restart the emulation
  • press Return until the MD version and prompt (“>”) are shown (in MAME window or in Terminal window)
  • enter ex dex and wait
  • enter help for more info
  • enter auto for full test (confirm errors with C or N); expect the following tests to fail
    • mem.dex Test 140: Parity Checker Test (emulation won't allow more the 40 parity error tests)
    • cpu.dex Test 302: SIO keyboard port test (behavior is ok for DSP3x00, run test with option -nokb)
    • disp.dex Test 20: Video SYNC Gen. Add. Test (not emulated for Monochrome graphics)
    • win.dex Test 103: Format Bad Track Test (not emulated)
    • fpu.dex Test 2: General Instruction (many FPU operations and operands are not yet emulated)

How to run Domain/OS in the DN3x00 emulation

  • Start the MAME emulation for dn3500 or dn3000 (resp. dn3500_19i or dn3000_19i) with option -mouse

make sure you understand how to ungrab the mouse (see below)

  • if Apollo emulation has been set to Normal Mode Domain/OS will boot without user intervention
  • if Apollo emulation has been set to Service Mode perform the following steps
    • in the MAME window press Return until the MD version and prompt (“>”) are shown
    • enter ex aegis (or ex domain_os) and wait until the bootshell prompt “)” appears
    • enter go to load as in normal mode (or help for more info)
    • wait until the DM has been started and the DM screen is shown
    • login as user user with empty password (or -apollo- if the registry already has been created)
    • wait for the first pad to appear and then enter shell commands …
    • see below for the mapping of the Apollo keyboard keys to the PC keyboard function keys
    • to logout press key F1 to move the cursor into the command window and enter lo
    • to shutdown Domain/OS press key F1 to move the cursor into the command window and enter shut

How to run Domain/OS in the DSP3x00 emulation

  • Start the MAME emulation for dsp3500 or dsp3000 (w/o option -mouse)
  • if Apollo emulation has been set to Normal Mode Domain/OS will boot without user intervention
  • if Apollo emulation has been set to Service Mode perform the following steps
    • in MAME window or in Terminal window press Return until the MD version and prompt (“>”) are shown
    • enter ex aegis (or ex domain_os) and wait until the bootshell prompt “)” appears
    • enter go to load as in normal mode (or help for more info)
    • wait until SPM and MBX Helper have been started
    • enter sh to start the login shell (or help for more info)
    • login as user user with empty password (or -apollo- if the registry already has been created)
    • wait for the shell prompt “$” and then enter shell commands …
    • enter exit as shell command to logout
    • enter shut to shutdown Domain/OS

MAME Basics

How to stop the emulation

  • in the MAME window press ScrLock to switch your keyboard in partial emulation mode
  • press Esc to stop the emulation

See also the MAME Documentation.

How to reset the emulation

  • in the MAME window press ScrLock to switch your keyboard in partial emulation mode

press F3 to reset the emulation See also the MAME Documentation.

How to restart the emulation

  • Stop the emulation (see before) and restart the emulation from the command line, or in the MAME window press ScrLock to switch your keyboard in partial emulation mode
  • Press Shift and F3 to restart the emulation

See also the MAME Documentation.

How to suspend the emulation

  • In the MAME window press ScrLock to switch your keyboard in partial emulation mode
  • Press button P to pause the emulation
  • Press button P once again to resume the emulation
  • Eventually delete the extra character p in the emulation
  • Eventually press ScrLock to switch your keyboard back to fully emulated keyboard mode

See also the MAME Documentation.

How to ungrab the mouse

  • If the emulation has been started with option -mouse, the mouse will be grabbed as long as the emulation is running.
  • Suspend the emulation (see before) to ungrab the mouse. The mouse will be grabbed again, if the emulation is resumed (see before).

Service Mode/Normal Mode

To switch the Apollo emulation between Service Mode and Normal Mode

  • Open the Apollo Driver Configuration menu (see below)
  • select and change the value of entry Service/Normal
  • close the menus and reset the emulation (see before)

Apollo Driver Configuration

To check or modify the Apollo Driver Configuration

  • Start the emulation for DN3500, DN3000, DSP3500 or DSP3000
  • In the MAME window press ScrLock to switch your keyboard in partial emulation mode
  • press Tab to enter the Internal User Interface
  • Press Cursor Down twice to select Driver Configuration and press Return to open the Driver Configuration menu

The Apollo Driver Configuration menu has the following entries

Entry Descriptiion
Service/Normal select Service mode or Normal mode
Graphics Controller Select 8-Plane Color, 4-Plane Color or 15“ Monochrome graphics controller (for dn3x00 only, will be ignored for dn3x0_19i and dsp3x00
20 Years Ago set default date in the RTC back by 20 years to omit the Nov 2, 1997 problem of Domain/OS software releases before SR 10.4.1
Node ID from Disk set node ID to value from the logical volume label of the first logical disk volume; without this option the default node ID 12345 is used
Idle Sleep Add sleep calls in the Idle Loop of Domain/OS to reduce the CPU usage of the emulation; should be used only for DSP3x00
Trap Trace Trace all Domain/OS SVC traps in the error log file
FPU Trace Trace all FPU operations in the error log file
Disk Trace Trace disk I/O in the error log file
Network Trace Trace network packets in the error log file
  • Press Cursor Down or Cursor Up to select the proper menu entry
  • Press Cursor Right or Cursor Left to select the proper value
  • Press button Tab to close the menu
  • Press button F3 to restart the emulation using the new settings
  • Press ScrLock to switch your keyboard back to in full emulation mode

Notes:

  • The new Driver Configuration setting won't be used unless the emulation has been reset or restarted
  • Each system (i.e. DN3500, DN3000, DSP3500 or DSP3000) has its own Driver Configuration settings
  • Warning: entering character p in partial emulation mode will pause (i.e. freeze) the emulation (e.g. for “r cpu”)

See also the MAME Documentation.

Keyboard Mapping

The additional special keys of the Apollo keyboard are mapped to the function keys (and some other keys) of the PC keyboard.

Function Keys

F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
SHELL CUT UNDO MOVE INS LINE CHAR SAVE ABORT HELP
CMD COPY PASTE GROW MARK DEL DEL AGAIN READ EDIT EXIT HOLD

Set Num Lock to use the Function keys F1 - F9 and F10 = F0 without Apollo mapping.

Other Keys

PC Keyboard Apollo Keyboard Insert NEXT WINDOW Delete POP Right Window NEXT WINDOW Menu POP