OK !!!
Thanks MK for the help, we now have results here at Vince's Lab, I am pleased to report !
1) Programmer's DD drive now works in the old PC
2) I was able to use IMD to successfully write the system disk image to a DD disk
3) Then tried that disk : plugged the DD drive back into the programmer : it can boot from it just fine and I can talk to the programmer with the Terminal just fine... it works !
So that's super cool ! I can now WRITE proper DD disks, making progress here !
4) No joy with using the HD drive in the programmer though, it just beeps at it in a very condescending way that I dislike...
I think the controller board in the programmer just is not modern or sophisticaed enough, or simply not setup to handle an HD drive and that's it.
So I will keep having to swap the DD drive from the programmer to the PC, and back... or just keep writing them with the HD drive since the DD disks are blank/NOS and it appears to read back just fine on the DD drive.... that will make my life easier for now. Anyway, I don't have to write a millions disks anyway... I have only 3 or 4 disk images to try out, so I will just make these 3/4 four DD disks then I am done, I will be able t leave that DD drive in the programmer for good, where it belongs.
Would be cool if I could find a DD drive to buy somewhere... if someone in the Euro zone (i.e. no customs and cheap shipping...) has one gathering dust.....
OK so now I need to write the images I was passed, using IMD... so first I need to figure out what format these images are using, so I can try to cnvert them into the IMD format. Lightbulb moment = maybe I could just use that HxC S/W ? As adrian said it can handle lots of image files format... maybe it will auto detect my images, and then rewrite them in the IMD format.... that would be cool wouldn'it...
OK that's some more to play with.
Oh forgot : I also added a floppy drive to my main / Linux computer !
Will help me work on disks directly from my main computer rather than having to transfer stuff via the network to the vintage PC so I can use its drive.
Also, I have been meaning to add a USB attached floppy drive for some time now, to read screen captures from my Tektronix TDS544A scope ! Well, no need for a USB anything now, I have an actual drive available !
Forgot #2 : MK, yes that would be super cool to be able to read the DD disks on my main Linux machine indeed !
However I don't know how to do that. I guess I need to use the MOUNT command and tell it what file system to use... but since it's a custom file system, I don't know how to tell Linux the parameters to use for that to work... Need to do some googling / reading and forum asking I guess... but yes if we can do that, imagine how marvelous that would be to actually be able to see all the files in these, open them, write to them without causing CRC errors.... FANTASTIC !!!
ON ANOTHER NOTE !Changing subject now... I spent an hour looking at the MSDOS S/W on a HEX Editor, I just can't help. It was interesting. Here is a summary of my findings, looking at all the ASCII strings I could find :
1) The first 75% of the file are binary, not one string. Probabyl the "packed" executable that DC1MC found in that file.
2) I see mention of a " ULIS " compiler... does that ring a bell DC1MC ??
3) The S/W can
- Read/write chips, set start and end addresses, set programming voltages, and detect a good variety of electrical fault conditions (shorts of all kinds...), check if the part is blank, verify / rad back the chip, check CRC.
- Modify the settings of the UART
- Use the DD drive to format disks, and copy them : "insert source disk... remove it, insert target disk " etc...
- Checks that the programmer booted properly. My programmer returns "00" when asked about that, and a return value of 00 IIRC is a kinda standard value to mean that everything went well eh ? So that's good.
- Can check if the H/W of the programmer is OK : "System ROM " (The 6502 CPU's EPROM I guess), as well DRAM and SRAM and also "Hardware"... I guess that refers to the 3 analog I/O boards.
- A string that says : "Insert PC S/W Disk #3" that's bad... means I might be asked to insert a disk I don't have, in order to be able this or that...
- A string that says : "Requires Board IO2_5" : so that's bad as well, means some stuff can only be done with this board. Either they mean a different board than the one I have, or they mean just a newer revision of a board that's already there. I guess "IO2_5 means " second analog I./O board (there are 3 of them), version 5 ? something like that... I could pull the boards to see what markings are on them to help suss this out, I guess...
- A string that says : "Function not implemented in programmer " . Now that's interesting... the S/W seemed to be meant to interact strictly with a ROM300B model, so it should be able to take for granted what features the programmer can or cannot handle... This maybe means that it CAN handle more than just the ROM3000B model ? That's interesting....
It can handle the following input file formats, most of which I have never heard of, because well, I am not that old I guess... Note the three Tektronix formats, cool but weird / surprising !
Binary
ASCII - BNPF
ASCII - BHLF
ASCII - B10F
ASCII - Octal
ASCII - Hex
MOTOROLA Exormacs
INTEL HEX - MCS 86
HP 64000 absolute
TEKTRO S8000
TEKTRO S8002
Extended TEKHEX
SIGNETICS absolute
TEXAS SDSMAC
MOSTEK
FAIRCHILD
RCA COSMAC- There seems to be this concept of a "Board" file. I see strings like
"No Board file ! "
"Storing Board file"
"Restoring Board file"
"Transmit Board file".
So I am thinking maybe this refers to a set of parameters sent to the programmer to tell it how to configure all of its I/O board in order to work with this or that particular chip.
Just a shot in the dark...
- Found two blocks of text that list 4 letter commands (what PCprogrammer must have seen the other day).
I rewrote them and ordered them alphabetically, 49 of them. This makes it easier to see that there are some lone commands (like BOOT and HELO that we already knew about) but that the bulk of them are spread into a few groups of related commands, which all start with the same two letters. Here it is.
BDBL
BDCK
BDIL
BDLO
BDPR
BDPS
BDVE
BDVF
BOOT
CFPR
CFPS
CFRS
CFTC
CFVP
CLOS
CLTP
DFPA
FDDD
FDDI
FDFR
FDL2
FDLB
FDLD
FDLO
FDW2
FDWB
FDWD
FDWR
HELO
INRE
INTR
MECK
MEFI
MEMO
OPEN
OPTP
PRFU
RSFR
RSPA
RSRB
RSRE
RSTR
RSTY
RSVE
TIWC
TSBD
TSDR
TSRO
TSSR
So I guess they decided to use the first two letters to designate the subject/object being worked on, and the last two letters code the type of action that's going to be applied to that object. Sounds like a reasonable / plausible assumption.
Anyway, we can see that one of the group starts with "BDxx" .... BD like... BoarD eh ? !
So we have a set of commands to work with these "board" thingies.
One group starts with "FDxx", so that could mean "Floppy Drive/Disk" I guess...
Then "RSxx "group could mean "Receive Stream" ? So the "TS" group would be for Transmitting then.
The "MExx" group maybe has to do with MEmory.. maybe commands to test the programmers RAM at power up.
At this point I think it's time to look at the 5000 manuals I was passed, to see if the commands listed there, matches the ones I found here, how to use them, and if there are more commands than what I see here.
So you see ? We can learn a lot of things, and gather clues, just by having a quick look with a HEX editor... I just love HEX editors !!!