On 9/25/15 9:20 PM, Guy Sotomayor wrote:
Some work has been done to build an emulator but it
was based upon
trying to emulate the code
that ran on the Alpha. No one to my knowledge has created an emulator
for the 36xx series
machines.
It's good to see that the MFM emulator worked on a 3640. I bought
one
and planned to try that experiment
at some point. The SCSI emulator (scsi2sd) works well on the scsi based
xl1200's and I have cloned a few
disks. I have a working 3640 with a booting MFM disk which I
should/will clone once I find the pcb (which is currently hiding)
It's true about the disks - the bad block info - at least on the large
SMD and RLL lists was written at the factory once and that was it. But
if you had a "perfect disk" (for example one that was emulated), you
could recreate a FEP file structure from scratch and if you had a
distribution tape you should be able to load the needed files onto it.
I suspect you could do all of that "outboard", i.e. using a linux
computer into a disk image. The FEP file structure and LMFS file system
are not that complex. And if you could take a MFM signal image and turn
it back into 1280 byte blocks, then you'd have a good example to
decompose and compare with (since that now exits).
Heck, worst case you could do it from the FEP itself - but I think you'd
need a dc-300 drive emulator and a image of a distribution tape. That
should not be hard - the carts exists and I can't imagine a tape
interface being that hard to emulate.
I think the MFM format, even with it's odd block size is known and
reasonable; But the FEP loading code is obscure. (I've never seen FEP
source code despite searching for a long time) But the format of the
disk is pretty well documented in the lisp code and is known.
I made a feeble attempt at a 3600 macro code interpreter at one point.
More just for fun than anything else. I based it on the microcode in
the patent application but it only got so far. I think documentation
did exist, but I'm not sure it's ever seen the light of day. I've never
seen any. The holy grail would be a source copy of the latest microcode
with all the support files. It has to be on a magtape somewhere in
someone's basement...
There is documentation for later ivory based machines (xl1200, etc...);
the macro code and other important information has surfaced and is
available. The emulator has gone through various incarnations and
improvements but remains (sadly) private. I heard the latest version
was completely rewritten in modern C.
I still hope some day someone will cough up some tapes with internal
files on the 3600. It should be possible to make an emulator or at the
very least run the microcode. There are schematics on the web. I have
(briefly) considered putting them in an FPGA but fortunately came to my
senses. I think if I had the FEP source code I'd get motivated again
because I've yet to figure out the format of the microcode binaries
(which would be essential if one wanted to actually run the 3600
hardware engine in simulation). It might be one of those "be careful
what you wish for" statements :-) I still remember Al sending me the
binary images of the CADR boot proms.
I think that 3620 is VLSI based. There have to CAD files somewhere
which describe the logic.
-brad