Use the Apollo Emulation
(last revised July 16, 2013)
Contents
Note:
This manual only covers MESS features essential for running the Apollo emulation.
See also the MESS User's Manual
for a full description of all MESS features.
Running the Emulation
How to run the Apollo emulation
MESS will emulate one of the following Apollo workstations and servers:
MESS 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 MESS with one system and additional command line options, e.g.
$ ./mess dn3500 -mouse -log -disk1 <pathname>.awd -flop <pathname>.afd
Useful command line options:
Option | Description |
-mouse | grab mouse input (for acceptable mouse emulation; use this option only for the DN3x00 emulation) |
-mt | use a second CPU core for video processing (may improve the graphic performance) |
-nosound | turn off the keyboard beeper |
-log | error messages will be logged in error.log |
-disk1 <pathname>.awd | specify a Winchester disk image file |
-disk2 <pathname>.awd | specify a second Winchester disk image file (i.e. w0:1) |
-flop <pathname>.afd | specify a floppy disk image file |
-ctape <pathname>.act | specify a cartridge tape image file |
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
MESS 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 MESS User's Manual.
How to run config
The Apollo emulation should be configured for proper operation.
To run config
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)?
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
MESS 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
MESS 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
How to run Domain/OS in the DN3x00 emulation
start the
MESS 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
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
MESS 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
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
MESS Basics
How to stop the emulation
How to reset the emulation
How to restart the emulation
stop the emulation (see before) and restart the emulation from the command line, or
in the
MESS window press [ScrLock] to switch your keyboard in partial emulation mode
press [Shift] and [F3] to restart the emulation
See also the MESS User's Manual.
How to suspend the emulation
in the
MESS 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 MESS User's Manual.
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).
Configuration
MESS Options
Be sure to set the following options in mess.ini or as command line option
Option | Value |
video | opengl (Linux/Mac OS X), d3d (Windows) |
window | 1 |
maximize | 0 |
If file mess.ini does not yet exist, run the following command
to create a new mess.ini file with default configuration settings:
./mess -createconfig
See also the MESS User's Manual.
Service Mode/Normal Mode
To switch the Apollo emulation between Service Mode and Normal Mode
Apollo Driver Configuration
To check or modify the Apollo Driver Configuration
start the emulation for DN3500, DN3000, DSP3500 or DSP3000
in the
MESS 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 | Description |
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 |
German Keyboard | select German Apollo keyboard |
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”)
-
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 mess/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 '
keymap 1
keymap_file keymaps/km-de.txt
in the
MESS 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 mess.ini to 0 or run the emulation with option -nowindow.
To select the appropriate view from the command line run MESS with option -view, e.g.
PC screen | Size | MESS command line |
XGA Screen | 1024×768 | ./mess dn3500 -nowindow -view xga … |
WXGA Screen | 1280×800 | ./mess dn3500 -nowindow -view wxga … |
SXGA Screen | 1280×1024 | ./mess dn3500_19i -nowindow -view sxga … |
SXGA+ Screen | 1400×1050 | ./mess dn3500_19i -view sxga … |
To configure the appropriate view
start the emulation for dn3x00 resp. dn3x00_19i
in the
MESS 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 MESS Network Interface
If MESS has been build with option USE_NETWORK=1 the network interface may be verified and changed.
To verify or change the network interface
start
MESS for the Apollo emulation
in the
MESS 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
Software Installation
How to setup the boot ROMs
The boot ROM images for the Apollo emulation reside either in the zip file apollo/roms/dn3500.zip or in the directory apollo/roms/dn3500 (if rompath is set to apollo/roms in mess.ini).
$ (cd apollo/roms/dn3500 && zip -r ../dn3500.zip *)
How to setup the netserver directory tree
# cd /
# tar cf /tmp/netserver-files.tar sau7 sau8 sau14 sau_sys sys/net/netboot sysboot
copy the backup file /tmp/netserver-files.tar to your Linux system (e.g. with rcp)
on your Linux system, create the directory apollo/roms/apollo and untar the files, i.e.
$ cd <your emulation directory>
$ mkdir -p apollo/roms/apollo
$ (cd apollo/roms/apollo && tar xf /tmp/netserver-files.tar)
> di e
> ld
> ex config
Notes:
the netserver path name apollo/roms/apollo depends on option rompath (e.g. in mess.ini); the trailing directory name apollo is (still) hardcoded in the emulator sources
the Domain/
OS version of the files in apollo/netserver doesn't matter
any other backup file (e.g. any ancient wbak file) may be expanded in apollo/roms/apollo
How to install Domain/OS SR10.4 in a new disk image file
Note: cartridge tape access is very slow, be patient when executing software from cartridge tape
$ ls -log /tmp/*.ct
-r--r--r-- 1 53678592 Feb 20 2005 /tmp/019593-001.CRTG_STD_SFW_BOOT_1-REV.A.ct
-r--r--r-- 1 58403328 Feb 20 2005 /tmp/019594-001.CRTG_STD_SFW_1.ct
-r--r--r-- 1 61564928 Feb 20 2005 /tmp/019594-002.CRTG_STD_SFW_2.ct
-r--r--r-- 1 56568320 Feb 20 2005 /tmp/019594-003.CRTG_STD_SFW_3.ct
-r--r--r-- 1 57844224 Feb 20 2005 /tmp/019594-004.CRTG_STD_SFW_4.ct
$
$ rm -f /tmp/dn3500_sr10.4.awd
$ ./mess dn3500 -mouse -disk1 /tmp/dn3500_sr10.4.awd -ctape /tmp/019593-001.CRTG_STD_SFW_BOOT_1-REV.A.ct
> re
> di c
> ex invol
> re
> di c
> ex calendar
> re
> di c
> ex domain_os
:
Restore complete.
Apollo Phase II Environment Revision 10.4 RBAK version Jan 25, 1992 12:58:22 pm
) go
sh
login: user
Password:
$ /install/tools/minst
MINST can be run in either of two modes; select Novice mode if unsure
select default for all other questions
-
proceed for all 4 cartridge tape image files
MINST will ask to select a template; enter 11 (i.e. large) to install all
MINST may ask
Do you wish to select Domain/OS version 10.4 or quit from minst?; confirm with
s to install Domain/
OS
if installation is done, enter shut in the command window to shutdown (resp. CTRL/D and then shut for DSP3500)
stop the emulation and save a copy of the new disk image file (gzipped image file will be ~70
MB)
proceed with
-
-
-
see also
How to create a new disk image file
to create a new 348
MB disk image file start the emulation with a non-existing disk image file
$ rm -f /tmp/new_disk.awd
$ ./mess dn3500 -disk1 /tmp/new_disk.awd ...
to create a new 156
MB disk image file start the emulation with an empty disk image file
$ rm -f /tmp/new_disk.awd
$ touch /tmp/new_disk.awd
$ ./mess dn3500 -disk1 /tmp/new_disk.awd ...
How to use multiple cartridge tape images
To select a different cartridge tape image while the emulation is running
if changing the cartridge tape is not requested by software, enter
in the
MESS window press [ScrLock] to switch your keyboard in partial emulation mode
press [Tab] to enter the Internal User Interface
select the File Manager and press Return
select Cartridge Tape and press Return
select the appropriate file and press Return
close the menu
Administration
How to change the Apollo node id
The node id of the Apollo emulation will be be taken from the logical volume label of the first logical disk volume, if option Node ID from Disk has been set in the Apollo configuration (see before).
Otherwise the node id will default to 12345.
To change the node id of the Apollo emulation
the option Node ID from Disk must be set in the Apollo configuration
the node id of the Apollo disk image must be changed
To change the node id of the Apollo disk image
start the emulation with a copy of the disk image file
switch the Apollo emulation into Service Mode and reset or restart the emulation
press Return (in the
MESS window or in the Terminal window) until the MD version and prompt (“>”) are shown
enter ex chuvol and wait
enter w to select the disk
enter the new node id
confirm the value to be used as “original” node id and wait until chuvol is done
confirm Anything more to do? with n and wait for the MD prompt to reappear
if the registry already has been created(
see below), restart the emulation, start Domain/
OS and fix the registry
make sure that rgyd is not running (use ps and kill command, if neccessary)
start rgyd with the new node id
$ /etc/server -p /etc/rgyd -restore_master&
$ /etc/rgy_admin
Default object: rgy default host: dds://dn3500
State: in service master replica list is writable
rgy_admin: lrep -state
dds:#0.12345 *** not communicating ***
(master) dds://dn3500 state: in service 2012/04/20.09:35:38
rgy_admin: delrep dds:#0.12345 -force
rgy_admin: quit
How to create the registry in Domain/OS
After installing Domain/OS SR10
$ touch /etc/daemons/llbd
$ /etc/server /etc/ncs/glbd -create -first -family dds -listen dds &
$ touch /etc/daemons/glbd
$ /install/tools/rgy_create
$ touch /etc/daemons/rgyd
How to start TCP/IP in Domain/OS
Before proceeding see also
Note: The following assumes that linux1 is the hostname of the Linux PC where the emulation is running and linux2 is the hostname of a second Linux PC connected with Ethernet to linux1.
# /etc/lcnode
# /etc/uctnode node_12345
# /etc/ctnode dn3500 12345
# /etc/lcnode
# touch /etc/daemons/tcpd
# touch /etc/daemons/inetd
# touch /etc/daemons/syslogd
# cat /etc/hosts
127.0.0.1 localhost
192.168.2.30 dn3500
192.168.2.99 linux1
192.168.2.25 linux2
# echo "linux1 root" >>.rhosts
# echo "linux2 root" >>.rhosts
# echo "linux1 ost" >>.rhosts
# echo "linux2 ost" >>.rhosts
# chown root .rhosts
# chmod 600 .rhosts
# ls -l /dev/ttyp*
# /etc/mkdev /dev pty
# echo "ttyp0 none dumb off secure" >> /etc/ttys
# echo "ttyp1 none dumb off secure" >> /etc/ttys
reboot Domain/
OS, log-in as user (with password -apollo-) and check networking
$ netstat -i
$ netstat -a
$ /etc/ping linux1 100 5
$ ping 192.168.2.30
$ rlogin 192.168.2.30 -l root
$ rcp /etc/hosts root@192.168.2.30:/tmp/hosts_from_linux
$ rsh 192.168.2.30 -l root ls -l /tmp/hosts_from_linux
How to set the network capabilities (Linux)
To access the Ethernet interface eth0 or the TUN/TAP interface of the Linux host, MESS must be either run as root (not recommended) or the network capabilities must be set for MESS.
To set the network capabilities for MESS in openSUSE 12.3:
file_caps=1
# setcap cap_net_raw,cap_net_admin=eip mess
$ /sbin/getcap mess
mess = cap_net_admin,cap_net_raw+eip
run
MESS with option -log and verify that the file error.log does NOT contain the following line
... 3c505: apollo_eth_init: Operation not permitted - Ethernet access disabled
$ sudo apt-get install libcap2-bin
$ sudo setcap cap_net_raw,cap_net_admin+eip mess
$ sudo getcap mess
How to use the MESS Network Device (Linux)
On a Linux host the MESS Network Device provides Ethernet networking
between the MESS Apollo emulation and the host PC.
To build MESS with Network Device run make with USE_NETWORK=1, i.e.
$ make clean all TARGET=mess USE_NETWORK=1
To run MESS with Network Device
# MESS_USER=ost ;# replace ost with your Linux user name
# MESS_UID=2021 ;# replace 2021 with your Linux user id
# TAP=tap-mess-$MESS_UID-0
# /sbin/tunctl -d $TAP
# /sbin/tunctl -u $MESS_USER -t $TAP
# /sbin/ifconfig $TAP 192.168.2.99 up
# /sbin/route add -host 192.168.2.30 dev $TAP
# /sbin/arp -Ds 192.168.2.30 $TAP pub
# /bin/sh -c "echo 1 > /proc/sys/net/ipv4/conf/$TAP/proxy_arp"
verify that the Network Device is set to tap-mess-…-0 (
see before)
restart
MESS for the Apollo emulation and execute Domain/
OS
test ping from the Apollo emulation to the Linux host PC (and vice versa)
test rlogin, rcp and rsh from the Linux host PC to the Apollo emulation
How to use the MESS Network Device (Mac OS X)
On a Mac OS X host the MESS Network Device provides Ethernet networking
between the MESS Apollo emulation and other Mac, PCs or e.g. Apollo Worlstations.
To build MESS with Network Device run make with USE_NETWORK=1, i.e.
$ make clean all TARGET=mess USE_NETWORK=1
To run MESS with Network Device
-
verify that the Network Device is set to the proper interface (e.g. en0,
see before)
restart
MESS for the Apollo emulation and execute Domain/
OS
test ping from the Apollo emulation to some other Mac, Linux PC or Apollo Workstation (and vice versa)
test rlogin, rcp and rsh from a second Mac or Linux PC to the Apollo emulation
Notes:
MESS probably must be run as root to use the Network Device (not recommended)
-
Using this tap/tun device might provide Ethernet networking between the
MESS Apollo emulation and the
MESS host Mac (untested!).
On a Mac
OS X host the
MESS Network Device may be used for Apollo Domain Networking (untested)
How to setup Apollo Domain Networking (Linux)
The MESS Apollo emulation may be setup to provide full Apollo
Domain services to all Apollo nodes connected to the Ethernet
interface eth0 of the MESS host PC.
This feature uses some non-portable and unsupported code which
will currently work only for a MESS host PC with Linux.
To build MESS with Ethernet network interface access find the
following line in file src/mess/includes/apollo.h
//#define APOLLO_FOR_LINUX
carefully read the preceeding comments, uncommment the line and rebuild MESS
(eventually with USE_NETWORK=1), i.e.
$ make clean all TARGET=mess USE_NETWORK=1
Connect the Ethernet cable from the Apollo workstation(s) to
the Ethernet connector of the MESS host PC, set the network
capabilities (see before),
start the MESS Apollo emulation and verify the
Domain Networking operation with the lcnode command:
$ /com/lcnode
The node ID of this node is 12345.
1 other node responded.
Node ID Boot time Current time Entry Directory
12345 1993/05/12 16:25:08 1993/05/12 16:30:34 //dn3500
1AEA5 1993/05/12 16:21:10 1993/05/12 16:30:33 *** node not catalogued ***
$ /com/ctnode -update
$ /com/lvolfs 1AEA5
# free # total % free node id entry directory
80752 329388 25 1AEA5 //zorro
$
Notes:
Creating Image Files on a real Apollo
How to create a floppy disk image
On a DN3x00 with a floppy disk drive (and ethernet controller):
invol floppy (and run calendar)
mount floppy (mtvol f)
add files and directories as needed
unmount floppy (dmtvol f)
copy floppy to a disk image file (e.g. /tmp/floppy.afd) with:
$ /bin/cp /dev/dsk/F0d0s1 /tmp/floppy.afd
Notes:
suffix .afd is suggested (for Apollo Floppy Disk)
/systest/ssr_util/cpflp should work as well, but has not been tested.
the following command can be used to create a new floppy disk image file on a Unix system:
$ dd if=/dev/zero of=/tmp/floppy.afd ibs=16384 count=77
How to create a cartridge tape image
On an Apollo DN3x00 with a cartridge tape drive
read file /systest/ssr_util/cptape.hlp
insert your (write-protected!) cartridge into the cartridge tape drive
make sure that you have 60
MB free space
enter the following command to create a tape image file (e.g. in /tmp/tape.act)
$ /systest/ssr_util/cptape -r /tmp/tape.act
copy the tape image file to your Linux system and run
MESS with option -ct /tmp/tape.act
To create a cartridge tape image using the MESS Apollo emulator, start the emulator with a non-existing tape image file, e.g.
$ ./mess dn3500 -disk1 <pathname>.awd -ct /tmp/new_tape.act
boot Domain/
OS, login as root and run the following commands to save e.g. /sau7 into the tape image file
# cpboot /sys -dev ct
# wbak -dev ct -f 1 -sysboot /sau7
# rbak -dev ct -f 1 -index -all
shutdown Domain/
OS and save a copy of the cartridge tape image file
Notes:
suffix .act is suggested (for Apollo Cartridge Tape)
For older cartridges the tension belt inside the cartridge tends to break or start slipping nowadays - hopefully your cartridge tapes are still readable.
How to create a Winchester disk image
You need two Apollo Workstations to create a Winchester disk image:
an Apollo DN3x00 (apollo1) with a 156
MB or 348
MB Winchester disk drive to be copied; the disk drive must have no bad blocks.
an Apollo workstation or a server (apollo2) with 200
MB (resp. 400
MB) free disk space and an ethernet controller
Steps:
boot the Apollo DN3x00 (apollo1) diskless from apollo2
if the Winchester disk drive has not yet the desired files,
invol the disk drive (and run calendar)
mount the disk drive (mtvol w)
add files and directories as needed
unmount the disk drive (dmtvol w)
eventually salvol the disk drive (to be sure that you have a perfect image)
copy disk drive data to a disk image file (e.g. /tmp/disk.img) with:
$ /bin/cp /dev/dsk/W0d0s1 /tmp/disk.img
for a 156
MB disk this will take around 1 hour; /tmp/disk.img resides on apollo2
copy the disk image file with rcp from apollo2 to your Linux system (on apollo2 the file is /sys/node_data.xxxxx/tmp/disk.img)
on the Linux system add the block headers to the disk image files with a java program:
$ java -jar fixHeader.jar /tmp/disk.img /tmp/disk.awd
Notes:
suffix .awd is suggested (for Apollo Winchester Disk)
/bin/cp /dev/dsk/W0d0s1 … will abort on the first bad disk block; you need a disk without any bad blocks
if /bin/cp fails because of bad clock dd with options bs=1024 conv=noerror,sync will fail as well (bsd4.3 and sys5.3)
running fbs on a disk with bad blocks seems to make the disk readable with cp or dd (even if the disk has bad blocks)
a disk image tool may be provided in the future, which will copy disk header blocks too and which will handle bad blocks
the disk image of a Micropolis or Maxtor 348
MB disk drive may now be used as well