Driver:Apollo
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 |
Cursor keys and Pad scroll keys have been mapped to the numeric keypad too.
How to emulate the German Apollo keyboard
The Multinational Apollo keyboard has some additional keys, a slightly modified layout and some different key labels. To emulate the German Apollo keyboard
- Use a German PC keyboard at your Linux system
- Verify that the file keymaps/km-de.txt exists (a copy of mame/src/osd/sdl/keymaps/km-de.txt)
- in keymaps/km-de.txt the entry for ITEM_ID_EQUALS may have to be changed to:
ITEM_ID_EQUALS SDLK_WORLD_20 0x15 0xdf '
verify and eventiually correct the following two entries in mame.ini:
keymap 1 keymap_file keymaps/km-de.txt
- In the MAME Apollo emulation set the Apollo Driver Configuration German Keyboard to ON and restart the emulation (see before)
- in DM pads use the left ALT key (or Shift/ALT) to select national characters
- Note: the MD and the standalone utilities expect a US keyboard (Y and Z must be swapped, other keys may have to be estimated)
Key mapping (German Keyboard)
PC Keyboard | Apollo Keyboard | |||||
---|---|---|---|---|---|---|
Key | Shift | Alt | Key | Shift | Alt | Shift |
3 | § | 3 | @ | 3 | @ | |
ß | ? | \ | ß | ? | ~ | ? |
+ | * | ~ | + | * | + | * |
Ü | ü | Ü | } | ] | ||
Ö | ö | Ö | I | \ | ||
Ä | ä | Ä | { | [ | ||
< | > | I | < | > | < | > |
Note: in table read I as |
How to run Domain/OS on a small screen
The Apollo emulation expects a screen size of 1024×800 pixel (for dn3000 and dn3500) resp. 1280×1024 pixel (for dn3000_19i and dn3500_19i) plus around 100 more pixel vertical to display the keyboard mapping, LEDs and the window manager title line.
If your host PC has one of the following screen sizes
- WXGA Screen (1280×800)
- XGA Screen (1024×768)
- SXGA Screen (1280×1024)
it may be preferable to run the emulation in full-screen mode and to select an appropriate view without keyboard mapping and LED display.
To run the emulation in fullscreen mode set option window in mame.ini to 0 or run the emulation with option -nowindow.
To select the appropriate view from the command line run MAME with option -view, e.g.
PC Screen | Size | MAME command line |
---|---|---|
XGA Screen | 1024x768 | ./mess./mess dn3500 -nowindow -view xga … |
WXGA Screen | 1280x800 | ./mess dn3500 -nowindow -view wxga … |
SXGA Screen | 1280x1024 | ./mess dn3500_19i -nowindow -view sxga … |
SXGA+ Screen | 1400x1050 | ./mess dn3500_19i -view sxga … |
To configure the appropriate view
- Start the emulation for dn3x00 resp. dn3x00_19i
- 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 to select Video Options and press Return to open the Video Options menu
- For dn3x00 select WXGA or XGA from the options:
- Apollo (1024×800)
- WXGA Screen (1280×800)
- XGA Screen (1024×768)
- For dn3x00_19i select SXGA from the options:
- Apollo 19” Monochrome
- SXGA Screen (1280×1024)
- Press Return to select the entry
- Press Tab to close the menu
- Press ScrLock to switch your keyboard back to in full emulation mode
- start Domain/OS and check the display
How to set the MAME Network Interface
If MAME has been build with option USE_NETWORK=1 the network interface may be verified and changed.
To verify or change the network interface
- Start MAME for the Apollo emulation
- 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 to select “Network Devices” and press Return to open the Network Devices menu
- The Network Devices menu has only one entry
- Press Cursor Right or Cursor Left to select the appropriate network interface for network device 3C505 (e.g. tap-mess-…-0 for Linux or en0 for Mac OS X)
- Press button Tab to close the menu
- Press ScrLock to switch your keyboard back to in full emulation mode
- Eventually restart the emulation