In June, I mentioned that I had extracted a ST-251 MFM HDD from what appeared to be the club’s main Color Computer system and sent it on to the designer of the MFM Emulator, David Gesswein. While David was able to coax a bit of data from the unit, the heads were out of alignment, which is common in drives of this age. To coax more from the drive, he’d need to take over the head positioning motor, called a “stepper motor“.
Stepper motors are unlike regular electric motors in that they are not designed for constant rotation. Instead of containing a set of coils that encourage the rotor (the part that turns) to spin, a stepper motor contains a set of coils designed to force the motor to shift by a small amount. It does this by using a set of coils that can be individually energized. To simulate constant rotation, one uses a stepper motor driver which sequences the various coils and coil polarities to constantly shift the motors position by a slight amount. Stepper motors are typically rated according to the number of full “steps” in a single rotation.
“Micro stepping” is the ability for a stepper motor driver to position the stepper motor in various fractions of a step by applying specific voltages and sequences to the motor windings. This reduces rotational speed and sometimes the force the motor can exert, but it also increases the resolution of the shaft positioning.
As is usual, nothing is easy. Most stepper motors utilize 2 phases, but the ST-251 head positioning stepper motor is a 5 phase motor. The difference is shown here. David linked to examples where he’d read data using a 2 phase microstepper circuit, but noted he needed to work on how to handle a 5 phase motor.
Obviously, I would not be posting if there was no progress. Mid July, David sent a note indicating he has been able to interface with the multi-phase stepper motor and read out the contents of the drive! He was gracious enough to send a dump of the data that can be read by toolshed. He cleaned up a few things in subsequent runs and I am thankful for his efforts.
As a next step, I’d like to see if any of our members is interested in taking this dump and getting it to boot using XRoar or (O)VCC to better understand what is held on the drive and what should be preserved. As the earlier posting implied, it is an OS9 drive, and it looks like it has CoCoFEST! 1996, 1997, and 1998 data on it, and perhaps PA98 was PennFest #2 in 1998? Many files appear to be club database information, while there also appear to be various member profiles stored on the drive. Obviously, I can’t share the drive publicly, to safeguard member’s privacy, but I am happy to work with a few folks who are willing to handle the data sensitively.
Anyway, if you would like to help investigate the material on this drive, perhaps extracting useful information or seeing what can be run from the image, please reach out to me via our contact page. I’d love to reconstruct some details for our Spring 2024 CoCoFEST! Again, many thanks to David Gesswein for imaging this drive (free of charge, even!) for the club. At the very least, the data on the now non-functional drive can live on as an image.
Here’s David’s run of the toolshed dir command over the image:
../toolshed-2.2/os9 dir -r coco2_good.ext
Directory of coco2_good.ext,
Bootcopy CMDS COMM4 DATABASE Fest97b
GLNSD IDE MODULES POS PROFILE
SPOOL SYS UTILS VED aif.dba
aif.lbl aif.rpt aif.wdw strtposdd readme.pos
paposdd s1 s2 s3 s7
startup startup.bak startup.org d0backup1 termsettings
w1 w7 ww dislex roster
BURKE w i n d
o zzzzzlist z zz
Directory of coco2_good.ext,/Bootcopy
CMDS date display dmode echo
error
Directory of coco2_good.ext,/Bootcopy/CMDS
ICONS
Directory of coco2_good.ext,/Bootcopy/CMDS/ICONS
Directory of coco2_good.ext,/CMDS
At CD Clock DD Devname
Dw_defdb Dw_deflbl Dw_defrpt Dw_defwin Dw_labels
Dw_report Dw_wind Dwindows H1.dd ICONS
IO IO1 MakeVDefs VDefsText VSplit
Ved Ved..help Wattr Wcopy Window
ansied ar
Directory of coco2_good.ext,/CMDS/ICONS
icon.dw icon.dw_wind icon.dw_labels icon.dw_report
Directory of coco2_good.ext,/COMM4
t3.dd t0.dd t1.dd NetLink ReCobbler
SetPak T0 T1 T3
Directory of coco2_good.ext,/DATABASE
ROLODEX MAGAZINE VIDEO MEDICAL INVENTORY
CLUBLIB
Directory of coco2_good.ext,/DATABASE/ROLODEX
Rolodex.dba Rolodex.ndx Rolodex.wdw Rolodex.rpt Rolodex.lbl
Directory of coco2_good.ext,/DATABASE/MAGAZINE
Magazine.dba Mag.category.ndx Mag.article.ndx Magazine.wdw
Directory of coco2_good.ext,/DATABASE/VIDEO
Video.dba Video.rating.ndx Video.name.ndx Video.star.ndx Video.wdw
Directory of coco2_good.ext,/DATABASE/MEDICAL
Medical.dba Medical.ndx Medical.wdw Medical.rpt
Directory of coco2_good.ext,/DATABASE/INVENTORY
Inventory.dba Inv.name.ndx Inv.value.ndx Inventory.wdw
Directory of coco2_good.ext,/DATABASE/CLUBLIB
invintory.dba oper.sys.ndx type.ndx author.ndx name.ndx
location.ndx status.ndx media.ndx inv.name.wdw Club_lib.rpt
club_lib.lbl
Directory of coco2_good.ext,/Fest97b
logo.pos membership.pos prices.pos receipt.sat1 tot.sat.oops
tot.sat1 tot.sat2 receipt.sat2
Directory of coco2_good.ext,/GLNSD
DISP DRPT DCTL DATA DKEY1
DKEY2 DKEY3 DKEY4 DKEY5 glnrc.lzh
roster
Directory of coco2_good.ext,/IDE
cc3ide.6809 cc3ide_6.a hi.ide
Directory of coco2_good.ext,/MODULES
BBFhdisk CC3Disk CC3Go CC3IO CCDisk
CCIO CO32 Clock D0 D1
GrfInt IOMan Init M1 OS9p2
OS9p3 P PRINTER Pipe PipeMan
Piper RBF RS232 SCF SIO
Sacia.Pak Shell SysGo T1 T2a.dd
T2s.dd T3a.dd T3s.dd TERM Td.dd
VDGInt aciapak.dr bbfhdisk.dd clock.bb.s2.60hz clock.bb.s3.60hz
clock.doc clock.dsto2.50hz clock.dsto2.60hz clock.dsto2.s4.50hz clock.dsto2.s4.60hz
clock.dsto4.60hz clock.dsto4.s4.60hz clock.soft.50hz clock.soft.60hz d0_40d.dd
d1_40d.dd ddmaker h0.dd hd t1.dd
t3.dd w.dw w1.dw w10.dw w11.dw
w12.dw w13.dw w14.dw w15.dw w2.dw
w3.dw w4.dw w5.dw w6.dw w7.dw
w8.dw w9.dw windint.io RAM r0.dd
Directory of coco2_good.ext,/POS
poscmds.arc message.text totals.data prices.data membership.da
CHI96 CHI97 CHI98 PA98
Directory of coco2_good.ext,/POS/CHI96
pos_printr0 cposr1 prices.pos logo.pos readme.pos
os9arc dearc totals.pos pos_printr1 apr1396
pos_printd1 cposd1 pos_printdd membership.pos cposr0
cposdd t2 receipt.logfile
Directory of coco2_good.ext,/POS/CHI97
cposd1 cposdd cposr0 cposr1 dearc
logo.pos membership.pos newprices os9arc pos_printd1
pos_printdd pos_printr0 pos_printr1 prices.pos readme.pos
receipt.sat1 receipt.sat2 tot.sat.oops tot.sat1 tot.sat2
totals.pos receipt.logfile
Directory of coco2_good.ext,/POS/CHI98
cposd1 cposdd cposr0 cposr1 dearc
logo.pos membership.pos newprices os9arc pos_printd1
pos_printdd pos_printr0 pos_printr1 prices.pos readme.pos
totals.pos receipt.logfile rcpts.sat nmba.sat
Directory of coco2_good.ext,/POS/PA98
cposd1 cposdd cposr0 cposr1 dearc
logo.pos mmbrshp.sat os9arc pos_printd1 pos_printdd
pos_printr0 pos_printr1 prices.pos readme.pos recpts.sat
totals.sat working receipt.logfile totals.pos membership.pos
Directory of coco2_good.ext,/PROFILE
prfl.lzh dbases.lzh X DCTL DISP
DRPT DATA
Directory of coco2_good.ext,/PROFILE/X
GLNSD VNDRS CLBS prfl.lzh CHRIS
CHRS CHS ADRSBK PACA
Directory of coco2_good.ext,/PROFILE/X/GLNSD
Directory of coco2_good.ext,/PROFILE/X/VNDRS
vndrc.lzh
Directory of coco2_good.ext,/PROFILE/X/CLBS
clbrc.lzh
Directory of coco2_good.ext,/PROFILE/X/CHRIS
chris.lzh
Directory of coco2_good.ext,/PROFILE/X/CHRS
chrs.lzh
Directory of coco2_good.ext,/PROFILE/X/CHS
chs.lzh
Directory of coco2_good.ext,/PROFILE/X/ADRSBK
adrsbk.lzh
Directory of coco2_good.ext,/PROFILE/X/PACA
paca.lzh
Directory of coco2_good.ext,/SPOOL
Directory of coco2_good.ext,/SYS
config.sys duopts errmsg events.sys macro
option shell.parameters stdfonts stdpats_16 stdpats_2
stdpats_4 stdptrs altfonts rsb_env.file clipboard.txt
logo.txt BFONTS helpmsg
Directory of coco2_good.ext,/SYS/BFONTS
Directory of coco2_good.ext,/UTILS
PP.file PP.file.fon acbbs24.ar acbbs24.doc adrlabel.pak
alarm.ar almanac almanac.OSK ar areacode.ar
calendar.pak cc.pak cc3go.pak ccheck.arc cursive.ar
ded digiclock dir.ar dirutil.ar dirutl
dmtree dutils.ar ed30.arc ed30.doc ed31.ar
ff.ar files files.pak fileslist.sys finance.pak
gdmap.arc gif2vef.ar gifos9.ar glabel.ar gshell
hdkit.ar hdmtree jtfm kdutils.ar lha_2_11.ar
lof.bo9 megaread.ar menu.ar modemio.sys month
month.ar month.bin month.dat month.dat1 os9arc.pak
pak phonebook.pak playsound.ar pos.arc pp
pp.ar prfl.lzh prfl.lzh.1 profile profile.arc
reback.ar repack scanfile.pak screensavemenu.ar sdump.ar
sled.ar sound.ar time.ar unlzh_7.ar view4.4.PAK
volume.bin whereis.ar wheres.lzh windchill.ar
Directory of coco2_good.ext,/VED
CMDS SRC MACROS DOCS
Directory of coco2_good.ext,/VED/CMDS
Ved Ved..help VSplit MakeVDefs VDefsText
s7
Directory of coco2_good.ext,/VED/SRC
MakeVDefs VDefsText VSplit.c
Directory of coco2_good.ext,/VED/MACROS
VedDefs.txt
Directory of coco2_good.ext,/VED/DOCS
history config
Directory of coco2_good.ext,/BURKE
i n d o s