PDA

View Full Version : Reading 86-DOS disks on a Zenith Z100



retrogear
November 1st, 2015, 01:34 PM
I'm finally getting around to examining the early MS-DOS source on the Computer History Museum site.
It is actually 86-DOS source code from Tim Paterson. I would like to study it in Altairz80 emulation but
needed a way to import export files to an 86-DOS 8" disk image. I wasn't getting anywhere with any image utilities.
Well, I found one way with my Zenith Z-100. First, I put a Z100 5.25 disk image from
Dave Dunfield's site MSDEMO.IMD and imaged it to a floppy and got it to boot MSDOS 1.25 OEM tailored to the Z100.
Then I imaged an 86-DOS install image from an Altairz80 package to my 8" drive. Howard Harte got that to boot in Altairz80 back in 2008
BEFORE the source code was released in 2014. In the Z100 the 8" drive maps as C:
I booted the Z100 into MSDOS and it reads the files on the 86-DOS 8" disk !!! Now I will import the CHM sources into an 86-DOS disk, reimage it
and work on them in Altairz80. The source code has different versions than what is on the 86-DOS disk. I found a site where someone had disassembled
the PC-DOS 1.0 boot and io.sys so I should be able to manufacture a way to get 86-DOS to boot on my IBM 5150. We'll see ... Fun stuff !!!
Any input is welcome because this is totally new territory for me.

Larry G

Pictures of the setup and the boot and 86-DOS directory:
2762627627

retrogear
November 2nd, 2015, 09:55 AM
I haven't been able to use any disk image tools to access the 86-DOS images but I noticed in my boot screenshot that it actually loads a custom bios.
Interesting ... Anyone know of a tool that can access the early DOS 8" disk images? Here is the description:
"The images are for 1.2mb 8-inch floppy disk media (77 tracks, 2 heads, 8 sectors per track, 1024 bytes per sector MFM)"

Larry G

Chuck(G)
November 2nd, 2015, 11:52 AM
Um, which disks are you interested in? I grabbed one at random--the utilities disk--and it's 26x128x77 standard IBM 3740 format.

retrogear
November 2nd, 2015, 06:14 PM
I found them at this site:

https://winworldpc.com/product/86-dos

In a zip file listed there. It contains a couple 8" DSDD images that boot into 86-DOS emulation. What I'm trying to do is run 86-DOS in emulation and trying to assemble and use the source files
but I need a way to get files in and out of the image or of any MSDOS 1.0 to 1.25 disk image. I need an equivalent cpmtools except for DOS. WinImage doesn't seem to read any
early MSDOS 1.25 .img's either. I was surprised when I put the 8" .imd image on an 8" floppy and the Z100 actually read it using it's OEM version of msdos. Just fishing for answers ...

Chuck(G)
November 2nd, 2015, 07:44 PM
Yes, but the images (I just downloaded and checked) are all 3740 type 128 byte sector, single-sided, single density 128 byte sectors? So I don't get the reference to 1024 byte double-sided media.

I will say that the Japanese MSDOS disks for the NEC APC and early PC98 were 1024/8/2/77 format--is that what you're referencing?

I'm really trying to understand what you're doing--I did a few MSDOS ports back in the 1.0/1.25/2.0 era, so it isn't that I'm not familiar with the procedure.

retrogear
November 3rd, 2015, 03:19 AM
That was the wrong archive, sorry. It took me a while to backtrack where I found this. The odd part is the 86-DOS package on the Altairz80 website has the 3740 type images but I found an Altair package with the larger disks
that I can't find anywhere else so maybe this is significant:
Look here:
https://winworldpc.com/product/ms-dos
Then the 4th one down on the list:
MS-DOS 1.25 [SCP-OEM] (8-inch) [SCP Cromemco S-100]
Then in that archive is an Emulator folder. One of those images boots into the OEM install. I've never seen this before:

Altair 8800 (Z80) simulator V3.9-0 build 1625 (scp created Feb 10 2013 at 09:37:
45 with gcc 4.2.4)

2048 bytes [8 pages] loaded at 0.
2048 bytes [8 pages] loaded at ff800.
Press return to get to the Monitor '>' prompt.
then 'B' to boot MS-DOS.


SCP 8086 Monitor 1.5
>B
7wN7♫
MS-DOS version 1.25
Copyright 1981,82 Microsoft, Inc.

Command v. 1.17

************************************************** ***************************

This is your ORIGINAL system diskette. This disk is write-protected

(via a notch in the lower right hand corner) and it cannot be written

to or erased. Before continuing place a double-sided, double-density diskette

(be sure that it is not write-protected by placing a write-protect notch cover

over the notch) in the drive labelled "DRIVE-B". The disk will first be

formatted and then all files will be copied from the system disk onto the

"DRIVE-B" disk.

************************************************** ***************************

A:format b:/d/s
Insert new diskette for drive B:
and strike any key when ready

The 2 images are identical except one launches the install. The description file says:
This archive contains the original setup disk, and a work disk in
ImageDisk format. The images are for 1.2mb 8-inch floppy disk media
(77 tracks, 2 heads, 8 sectors per track, 1024 bytes per sector MFM)

I was able to write that image to a DSDD 8" floppy and read with my Z-100 as long as I booted the Zenith OEM MS-DOS 1.x
This is getting more interesting since it seems this is more of a rarity ...



Larry G

SomeGuy
November 3rd, 2015, 04:37 AM
It is interesting that your Zenith will read it. The FAT layout for this image appears to be the same as the NEC APC DSDD - so this specific format was shared between these machines.

So if I understand it correctly, what you are trying to find some way to insert and extract files in to one of these images from within Windows, like what WinImage does for standard 5.25"/3.5" images.

Off hand, I'm not aware of any Windows tools that can do this directly. WinImage can't even handle IBM PC DOS 1.x 5.25" disk images.

Your best bet would be to find an open source disk tool and modify it. I believe the HxC Disk Tool has a file extractor with similar limits as WinImage, but could be modified. Another possibility might be the "Imgtool.exe" included with MESS.

If you don't mind a bit of manual fudging, you can convert the IMD to an IMG with ImageDisk's IMDU, use a hex editor to delete the extra 512 bytes at the end of the 1024 byte boot sector, then replace the BPB data with the following:



00000000 xx xx xx 4D 53 44 4F 53-32 2E 31 00 02 02 01 00 ...MSDOS2.1.....
00000010 02 C0 00 94 09 FE 04 00-10 00 02 00 00 00 00 00 ................


The resulting IMG should then open in WinImage.

I used that method to extract some files from an APC disk image a while back, but had not tried inserting files. This trick makes WinImage think it is an arbitrary disk image with 512 byte sectors and 1024 byte clusters.

In theory reversing the above changes and converting it back to IMD with the the command:
BIN2IMD <image.img> <image.imd> DM=3 N=77 SS=1024 SM=1-8 /2
might work. Although that would be a lot of trouble to do this repeatedly.

retrogear
November 3rd, 2015, 05:18 AM
>So if I understand it correctly, what you are trying to find some way to insert and extract files in to one of these images from within Windows, like what WinImage does for standard 5.25"/3.5" images.

Yes, exactly. Thanks for the other tips, I'll try them.

>It is interesting that your Zenith will read it.

Shocked me ...

>Although that would be a lot of trouble to do this repeatedly.

Well, trouble makes things more interesting :)

About this archive, a few possibilities come to mind:

1) it was on the Altairz80 site and got pulled for some reason, because the readme does reference that site AND the dates are 2008 when Howard Harte did his 86-DOS work - see www.86dos.org.
2) someone had one of these disks and created their own image / emulation of it.
3) the disk is a fluke and incorrectly formatted

Like I said, the versions are different than what I've seen in the wild until now.
I like mysteries and controversy ...

PS - if someone has a Cromemco controller with an 8" DSDD drive and 86 processor it might boot ...

Larry G

retrogear
November 3rd, 2015, 06:43 AM
Here's a blurb from MAME imagetool dated in April this year:

109 msdos/fat Microsoft DOS Diskette
110 --------------------------------
111 directories not finished
112 not heavily tested
113

114 Formatting (low and high level) must be done with the msdos utility format!
115 Boot structures must be installed on these disks with the msdos utility sys!
116

117 standard parameter for common disk formats:
118 type 0: 5 1/4 inch, double density, single sided, 160kb: sectors 8, heads 1, tracks 40
119 type 1: 5 1/4 inch, DD, SS, 180kb: sectors 9, heads 1, tracks 40
120 type 2: 5 1/4 inch, DD, double sided, 320kb: sectors 8, heads 2, tracks 40
121 type 3: 5 1/4 inch, DD, DS, 360kb: sectors 9, heads 2, tracks 40

No 8" formats.
Type 0 sounds like at least the Z100 DOS 1.x format but unfinished :(

SomeGuy
November 3rd, 2015, 06:48 AM
That specific archive was originally at: http://schorn.ch/altair_5.php (scroll down to MS-DOS 1.25), but at a glance it looks like they recently modified their copy to omit the "first run" stuff in the autoexec.bat that prompts the user to make a copy. Probably more desirable for an emulator environment. Otherwise, should be the same stuff.

retrogear
November 3rd, 2015, 08:15 AM
Ok thanks. Guess I looked in the wrong category. I'll ask Mr. Schorn if he knows of a file utility.
MS-DOS 1.25 sources are versions of 86-DOS.

Chuck(G)
November 3rd, 2015, 09:40 AM
If they match the APC/PC98 1024/8/2/77 format and layout, I did an MS_DOS driver back in the early 90s for just this. It should be in the SIMTEL archive, called NECSYS or NECDOS. If you can't find it, I probably still have a copy kicking around.

retrogear
November 4th, 2015, 02:03 AM
Chuck

So far I'm not finding the NEC driver you mentioned. I would like a copy if you don't mind digging for it. So what hardware would I need? I assume this driver would be for an IBM PC compatible running a later version of MSDOS
and the hardware to access the 8" drive? What I have for true MSDOS would be an Intel Pentium II motherboard with an Adaptec 1542CP SCSI controller crosswired to the 8" drive. I've used ImageDisk to read/write images
very successfully from Win98 msdos mode but haven't tried to access any file system on the 8". Would the driver be added to config.sys with a device= statement? The driver would have to be on the boot hard drive because I only have one physical floppy
with this setup. I can plug in another boot hard drive to boot directly into MSDOS. Would I also need an MSDOS driver for the SCSI card? I'm thinking not. Seems like I remember you only need a driver if you have a SCSI CDROM.
I guess this is all speculation until you find the driver ...

Larry G

retrogear
November 4th, 2015, 03:22 AM
SUCCESS !!

Chuck, I still would like your NEC driver to see if direct read/write access is possible with hardware,
BUT my answer was staring back at me in my very first screenshot on this thread !!
I noticed an 86-DOS utility called RDCPM.COM and a table called CPMTAB.ASM which contained this:

;Source code for drive tables used by RDCPM

ORG 0
PUT 100H

DW END ;Address of first free byte

;Table of addresses of the parameter block for each of 16 drives.
;Note that 16 entries are ALWAYS required, with unused drives 0.

DW IBM,IBM,SMALL,0
DW 0,0,0,0
DW 0,0,0,0
DW 0,0,0,0

;Below is the definition for standard single-density 8" drives

IBM:
DW 26 ;Sectors per track
DB 3 ;Block shift
DB 7 ;Block mask
DB 0 ;Extent mask
DW 242 ;Disk size - 1
DW 63 ;Directory entries - 1
DS 4 ;Not used
DW 2 ;Tracks to skip
DW MOD6 ;Modulo-6 sector translate table

MOD6:
DB 0,6,12,18,24
DB 4,10,16,22
DB 2,8,14,20
DB 1,7,13,19,25
DB 5,11,17,23
DB 3,9,15,21

;This is the table for Cromemco 5" drives.
SMALL:
DW 18 ;Sectors per track
DB 3 ;Block shift
DB 7 ;Block mask
DB 0 ;Extent mask
DW 82 ;Disk size - 1
DW 63 ;Directory entries - 1
DS 4 ;Not used
DW 3 ;Tracks to skip
DW MOD5 ;Modulo-5 sector translate table

MOD5:
DB 0,5,10,15
DB 2,7,12,17
DB 4,9,14
DB 1,6,11,16
DB 3,8,13

END:

In that is the definition for standard IBM 3740 SSSD CP/M !!!
I can easily import files into that type of cp/m disk image,
so I RTFM for 86-DOS how to use RDCPM and successfully imported files:

A:dir /w
COMMAND COM CHKDSK COM DEBUG COM EDLIN COM FILCOM COM
INSTALL COM SYS COM TRANS COM ASM COM HEX2BIN COM
RDCPM COM MAKRDCPM COM FORMAT COM BASIC86 COM MEMTEST COM
PRINT COM STOPPRN COM DISKCOPY COM EXE2BIN EXE FUNKEY EXE
LINK EXE CREF EXE LIB EXE MASM EXE PW EXE
PWCONFIG EXE CPMTAB ASM INIT ASM MON ASM IO ASM
FORMAT OBJ FUNKEY DOC
32 File(s)
A:rdcpm b:*.* a:
File transfer complete
A:dir /w
COMMAND COM CHKDSK COM DEBUG COM EDLIN COM FILCOM COM
INSTALL COM SYS COM TRANS COM ASM COM HEX2BIN COM
RDCPM COM MAKRDCPM COM FORMAT COM BASIC86 COM MEMTEST COM
PRINT COM STOPPRN COM DISKCOPY COM EXE2BIN EXE FUNKEY EXE
LINK EXE CREF EXE LIB EXE MASM EXE PW EXE
PWCONFIG EXE CPMTAB ASM INIT ASM MON ASM IO ASM
FORMAT OBJ FUNKEY DOC MOVCPM COM PIP COM SUBMIT COM
XSUB COM ED COM DDT COM LOAD COM STAT COM
SYSGEN COM DUMP COM DUMP ASM CPM SYS DEBLOCK ASM
DISKDEF LIB FORMAT ASM NEWSIZE DOC CPMINSTA DOC LDRGEN COM
TRK0 LDR MODEM COM RAMDISK MAC FMTHD COM READFRST DOC
MODEM DOC LOADER DOC USER DOC INTRFACE DOC Z80 LIB
FORMAT DOC
61 File(s)
A:

Fun stuff !!

PS - this is to import files only but at least I can edit files then import them and assemble inside 86-DOS.

Larry G