December 18, 2014

MightyFrame: Creating & Using A Dump Tape

In this post:

1) Using a dump tape

2) Creating (formatting) a blank dump tape for use



1: Using a Dump Tape


executing /CTIX5.11onb from drive 0

..............This hangs...see my post here about that here.

------------pre-formatted dump tape inserted in drive and--------------
------------motherboard reset switch manually activated----------------

MightyFrame PROM Version 1.3
available memory:0x100000 mapped as:1
tape status:810000 RESET
tape status:0
checking tape for dump area
tape status:81000000 FMFOUND
starting tape dump, memory mapped as: 1
tape status:0
dumping 800 blocks from 0


=====tape writing commences and takes a while============

tape status:880000 BOM
tape does not have a loader entry in its VHB
executing loader from drive 0

2a: Creating a blank dump tape for use


On modern linux for the tape (using a Tandberg TDC-3620 with SCSI card):

sudo mt -f /dev/st0 erase

sudo dd if=tdump.img of=/dev/st0

2b:  Reading the dump image file after being written by the MightyFrame


On modern linux for the tape (using a Tandberg TDC-3620 with SCSI card):

nst0 tells the tape to not rewind after reach file (or something like that...)

sudo dd if=/dev/nst0 of=TapeVHB.discard

The first output file should be only 2 blocks, and can be ignored or discarded.  We just have to get past it to get to the next file, and this is the only way I know how to do this.

sudo dd if=/dev/nst0 of=dump.file


2c:  Deriving the tdump.img without a working MightyFrame


From the backup/dump files from another MightyFrame, I can see that the initialize volume program (iv) has a description file called desc.tdump, which is designed to format a tape as a dump tape.

/usr/lib/iv/desc.tdump


# Convergent Technologies - System V - Jul 1985
# "@(#)desc.tdump 1.4"

# iv description file for tape dump
# New format - partitions in blocks instead of tracks
#
# To make a dump tape
#  1) tsioctl -c rewind /dev/rmt0
#  2) iv -o /dev/rmt0 desc.tdump
# You're done!
type  FD
name  DUMP
cylinders 80
heads  2
sectors  8
steprate 0
exchangeable
$
# The number of blocks for a tape dump is ignored by the prom, fill in 2
dump  2
$
$
0
8
$
$


If we HAD a working MightyFrame (which we do not yet), we would simply execute this command with a blank tape in the drive:

iv -iv /dev/mt0 /usr/lib/iv/desc.tdump

But we don't yet have a working MightyFrame on which to execute this command...so how the heck did we create that tape image file from above?

Well, I had the crazy idea of hiring someone on oDesk.com to help me with this.  It was a long shot, because most of the (affordable to me) labor available on oDesk is from "developing nations", and who there knows 30 year old vintage UNIX or MC680x0 assembler language?

Well, long shots sometimes pay off, and I ended up hiring
Sasa Todorovic in Belgrade, Serbia...yes...Serbia.

He "adjusted" the MightyFrame iv program to run on a Linux emulator.  In his own words:

Yes, newer machines (eg, older Macs have 680x0 CPU and  Linux can install on them). I have emulated similar machine.

I'm using Aranym. It's atari emulator.

It's MC68040 emulation with MMU. I've installed Linux debian m68k port.
I've gcc, gnu as, gdb and other linux development tools.
It's Linux but m68k arch

I disasembled IV, remove CTIX libc and link with glibc

But I changed minimal
because libc is on the end

Anyway, I've created virtual HDD (65MB) and format it with diag disk.

And on his emulator he executes:

iv -iv tdump.img /usr/lib/iv/desc.tdump

and gets:

Device Type: FD   Name: DUMP    (crc format)
Cylinders: 80  Heads: 2  Sectors: 8

** Phase 1 - Writing out new VHB.
Volume Name:   DUMP
80 Cylinders. 2 Heads per Cylinder.
There are 8 Physical Sectors (of 512 bytes) per Track.
        16 Physical Sectors per Cylinder, 1280 Physical Sectors per Disk.
There are 4 Logical Blocks (of 1024 bytes) per Track.
        8 Logical Blocks per Cylinder, 640 Logical Blocks per Disk.
The disk is exchangeable.
The Floppy is Double density
CRC mode
Partition 0: start Block=0 (track 0), size (in Blocks)=8
Partition 1: start Block=8 (track 2), size (in Blocks)=632
Dump Area starts at Block 1 (size=2 Blocks).

Then he sends me tdump.img, and I write it to my newly erased tape, as shown above.  Wow!



------------------------------------------------------------

2015-01-21:
Now, much further testing (after we got the MightyFrame finally running), it seems that a hard drive VHB like this will allow for a dump on hard drive...here's the console output:

MightyFrame PROM Version 1.3
available memory:0x100000 mapped as:1
tape status:810000 RESET
tape status:0
checking tape for dump area
tape status:81000000 FMFOUND
CTIX was reset - try to take disk dump
tape status:0
tape status:810000 RESET
Looking for dump disk
dumping to disk #1 800 blocks from 0

tape status:0