Initialising a Blank disk to pass to Cromemco system, crashes Cromemco System

27 views
Skip to first unread message

cro memcos

unread,
May 9, 2021, 7:06:43 PM5/9/21
to mfm-d...@googlegroups.com

Dear All ...

Hang using modern MFM 234 code of Cromemco init disk

Test Setup

Cromemco 68020 system, XXU CPU card and STDX Disk controller card

David Emulator card Revision B, BeagleBone Black, ver 234 of Davids Code

234 hangs system

# create disk BBB
/cromemco/emu/mfm_emu --initialize --file /cromemco/disk/D47.C50.H16.transfer.hdd.ver234 --heads 16 --cylinders 50 --drive 1

# start disk BBB
./mfm_emu --file /cromemco/disk/D45NEW.C1536.H16.master.hdd,/cromemco/disk/D47.C50.H16.transfer.hdd.ver234  --drive 1,2


# start Cromemco computer ... results below

# time to 2021
 time -s
       Wednesday, February 6, 2036            13:52:18
DATE (mm/dd/yy): 5/9/121
TIME (hh:mm:ss): 23.31
          Sunday, May 9, 2021            23:31:00



# start initialise new disk
system[1] inithard -n
68020 XXU 172   Inithard source 2.8

Press:          RETURN to supply default answers
                CTRL-C to abort program
Warning:        INITHARD can destroy all disk data

Device name? std63


SYSTEM HANGS !!

110 code system OK

# create disk
/root/ver110/emu/mfm_emu --initialize --file /cromemco/disk/D47.C50.H16.transfer.hdd.ver110 --heads 16 --cylinders 50 --drive 1

# start BBB emulation
cd /cromemco/emu

# start Cromemco
 time -s
       Wednesday, February 6, 2036             6:33:22
DATE (mm/dd/yy): 5/9/121
TIME (hh:mm:ss): 23.42
          Sunday, May 9, 2021            23:42:00


# start initialise program
system[1] inithard -n
68020 XXU 172   Inithard source 2.8

Press:          RETURN to supply default answers
                CTRL-C to abort program
Warning:        INITHARD can destroy all disk data

Device name? std63
Number of surfaces (1 - 16) <32> ? 16
Number of cylinders (1 - 4096) <1283> ? 50
    Max number of alternate tracks must be
    a multiple of the number of surfaces
Max number of alternate tracks (0 - 112) <0> ?
Starting cylinder of disk (0 - 50) <1> ?
Starting cylinder for write precomp (0 - 50) <50> ?
Do you want to initialize any tracks (Y/N) <N> ? y
First cylinder (0 - 49) <0> ?
Last cylinder (0 - 49) <49> ?
First head (0 - 15) <0> ?

BREAK OUT SO AS NOT TO CHANGE EMULATOR FILE

File differences

-rw-r--r-- 1 root root  16678504 May  9 22:18 D47.C50.H16.transfer.hdd.ver234
-rw-r--r-- 1 root root  16678504 May  9 22:19 D47.C50.H16.transfer.hdd.ver110


# cd /cromemco/disk
# cmp -b --verbose D47.C50.H16.transfer.hdd.ver110 D47.C50.H16.transfer.hdd.ver234 | head
     109   0 ^@   252 M-*
     110   0 ^@   252 M-*
     111   0 ^@   252 M-*
     112   0 ^@   252 M-*
     113   0 ^@   252 M-*
     114   0 ^@   252 M-*
     115   0 ^@   252 M-*
     116   0 ^@   252 M-*
     117   0 ^@   252 M-*
     118   0 ^@   252 M-*

So my early conclusion is that the 110 code formatted the data in the disk file to 0 and the code is placing decimal 252 i.e. FC and the Cromemco system for whatever reason it hanging. Note that that the inithard -n command (instead of just inithard) is to prepare a new blank disk, because in the normal case it goes looking around the first 20, 512 byte sectors of the disk looking for a filesystem AFAIK.

David Gesswein

unread,
May 9, 2021, 8:04:50 PM5/9/21
to mfm-d...@googlegroups.com
On Mon, May 10, 2021 at 12:06:30AM +0100, cro memcos wrote:
>
> # cd /cromemco/disk
> # cmp -b --verbose D47.C50.H16.transfer.hdd.ver110
> D47.C50.H16.transfer.hdd.ver234 | head
> 109 0 ^@ 252 M-*
> 110 0 ^@ 252 M-*
> 111 0 ^@ 252 M-*
> 112 0 ^@ 252 M-*
> 113 0 ^@ 252 M-*
> 114 0 ^@ 252 M-*
> 115 0 ^@ 252 M-*
> 116 0 ^@ 252 M-*
> 117 0 ^@ 252 M-*
> 118 0 ^@ 252 M-*
>
> So my early conclusion is that the 110 code formatted the data in the disk
> file to 0 and the code is placing decimal 252 i.e. FC and the Cromemco
> system for whatever reason it hanging. Note that that the inithard -n
> command (instead of just inithard) is to prepare a new blank disk, because
> in the normal case it goes looking around the first 20, 512 byte sectors of
> the disk looking for a filesystem AFAIK.
>
Actually 252 is octal so its 0xaa.

Did I correctly follow that you created the emulator file with 1.10 then
used the 2.34 emulator and it worked ok?

I switched from 0 to 0xaa since 0 is no transistions which is not seen
with real disks. New disks had a test pattern from the factory.

I can either add a command line options to allow setting the file to zero or
we can look further to try to figure out why it doesn't like 0xaa. Let me know
which you would like.

cro memcos

unread,
May 11, 2021, 5:03:40 AM5/11/21
to MFM Discuss
David,

Yes using a Disk file initialised with the 110 code, and running the 234 code on the BBB the Cromemco system is totally fine with the file.

Sorry about the octal confusion.

Obviously it's totally outrageous that any binary format is causing the Cromemco system to totally hang.   I only had time to test this out on the last iteration Cromix 172 XXU code, but logically that's the most reliable version.

So yes, if you can add a command line option so that formatting could again fill with binary zero, I think this would be a good solution.  Let me know and I will test immediately.

thanks m.
Reply all
Reply to author
Forward
0 new messages