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 | @ | |
ß | ? | \ | ß | ? | ~ | ? |
+ | * | ~ | + | * | + | * |
Ü | ü | Ü | } | ] | ||
Ö | ö | Ö | | | \ | ||
Ä | ä | Ä | { | [ | ||
< | > | X | < | > | < | > |