• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Problem with FloppyEmu

techknight

Well-known member
1.44MB support was the reason why I wanted to change out the IWM with a SWIM and then patch the ROM with the SE FDHD disk driver, but I never got around to it. I did by the rominator though. I dont know the differences between the SE and the Plus ROM to see if the Plus would boot an SE rom natively or not. If not, only thing possible would be patching .Sony

 
Last edited by a moderator:

Gorgonops

Moderator
Staff member
Between the floppy interface and the Outbound is a circuit board.   The circuit board contains an 85C30 (I think this handles whatever comm protocol that goes between the laptop and the floppy assembly), a WD37C65 floppy controller, a WD92C32 data separator, a 64Kb flash chip and a single 20 pin GAL PLD.  Oh, and there's a Xicor (XC9030, IIRC) digital potentiometer, which almost certainly plays some part in the variable speed control of the floppy spin speed.
The Outbound only uses Plus ROMs, not an actual Plus motherboard, correct? I can't find any pictures of its innards, is it possible that the 85C30 *is* actually the comm port controller, they just punted it over to a peripheral controller board that also has the floppy controller on it?

If I had to hazard a guess I'd wager that the GAL/potentiometer combo emulate the IWM functions while the WD chips do the needful for MFM formatted floppies, IE, all together the mess basically does what a SWIM does. (But is undoubtedly not compatible with it in the slightest.) Disassemblies of the Mac ROM have revealed some hooks for intercepting the startup process and potentially inserting patches, presumably the Outbound leverages that mechanism to swap out Apple's floppy driver for one that can handle their homebuilt monstrosity. This is what almost every Mac emulator does so it's a technically feasible approach to the problem. (The same patching mechanism probably makes the same adjustment to the video driver to handle the Outbound's 640x400 display.)

Eit... One thing I am curious about is if the drive in the Outbound is actually fixed speed (IE, a completely unmodified mechanism) and that evil pile of bits that emulate an IWM take the alternate approach of varying the data rate instead, like Commodore 8-bit floppy drives did. Are there any jumpers soldered from the floppy drive's motor control circuitry to the Outbound bits? If not I'd guess that's what's going on.

 
Last edited by a moderator:

trag

Well-known member
That can't be the 85C30 for the serial ports, because the Outbound has serial ports and it doesn't always have a floppy drive.  There's only room for either an internal floppy drive, or an internal hard drive.   Not both.    So when the hard drive is installed, there is no 85C30 in the drive cage.  

Circuitry on the Outbound is a load of logic ICs and probably some PLDs, but nothing is much bigger than 20 pin DIPs.   I think there's an 85C30 actually on the board, though.   No 53C80 because SCSI is an external option.

I've always assumed that the Xicor chip is playing games with the voltage that drives the floppy motor to vary the speed in 800K mode.   I really need to create a schematic some day.   Without the controller board, the floppy mechanism is certainly fixed speed, and there are no special connections visible.    It's always possible that Outbound opened every floppy case and did surgery prior to installation....

 

Gorgonops

Moderator
Staff member
I've always assumed that the Xicor chip is playing games with the voltage that drives the floppy motor to vary the speed in 800K mode.   I really need to create a schematic some day. 
Unless they modified the drive somehow I don't think there's any way you can just play with the input voltage on a standard Shugart/PC floppy drive and control the motor speed. Maybe on a really old full-height 5 1/4" drive that just uses a variable resistor in front of a conventional DC motor (but this is presuming that the 12v input is *only* driving the motor so playing games with the voltage on that won't screw with the other electronics on the board) but any 3 1/2" drive is going to use a brushless DC motor with a controller, which you'll have to hack to drive it at a non-standard speed. Not saying that the Xicor chip isn't supplying a signal to do that, but if it is that's no longer a stock drive mechanism with a standard pinout on the 34 pin plug.

That can't be the 85C30 for the serial ports, because the Outbound has serial ports and it doesn't always have a floppy drive.


Maybe they're using SDLC as the communication bus to talk to whatever is plugged into that drive slot, be it either the floppy or hard drive module. Seems like a bit of a stretch but those chips are capable of running quite fast so it wouldn't be impossible. Although if that's the case then that definitely means that they must completely replace the Plus' floppy driver... and, honestly, I have other issues with this. If that board really just has the components you say and *doesn't* have some sort of microcontroller on it then I can't in the slightest wrap my head around why it has a ROM chip on it. (Part of a state machine that initializes the serial chip into a hardcoded transfer mode without needed a CPU?) How fat of a connector this to the main board? (Seriously, there don't seem to be *any* pictures of the guts of these things online.)

 

Dog Cow

Well-known member
The Outbound only uses Plus ROMs, not an actual Plus motherboard, correct?
Correct. They scavenged the ROMs from old Plus motherboards.

Disassemblies of the Mac ROM have revealed some hooks for intercepting the startup process and potentially inserting patches, presumably the Outbound leverages that mechanism to swap out Apple's floppy driver for one that can handle their homebuilt monstrosity. 
The original 64K ROM had a hook which checked $F80000 for another (usually diagnostic) ROM and jumped to it if it had the right signature. This hook was so early in the boot process that it was difficult to exploit. The 128K ROM in the Macintosh Plus retains this hook, and adds two more at locations $F80080 and $F80088. This last one is checked before the startup device loop, so a custom ROM could implement a driver and insert a drive queue entry.

Source of this information

 I dont know the differences between the SE and the Plus ROM to see if the Plus would boot an SE rom natively or not. If not, only thing possible would be patching .Sony
The SE ROM is 256KB. The Plus motherboard can address up to 256K of ROM, so let's see what happens! But I bet the SE ROM is going to want ADB, which we know the Plus doesn't have.

 
Last edited by a moderator:

CC_333

Well-known member
The SE ROM is 256KB. The Plus motherboard can address up to 256K of ROM, so let's see what happens! But I bet the SE ROM is going to want ADB, which we know the Plus doesn't have.
Maybe we can use the same hook-and-patch mechanism to solve that problem? It would be a very interesting experiment indeed.

c

 

lisa2

Well-known member
Unfortunately, as far as I am aware, AEHD+ are rather rare.

I don't think anyone on this forum that is active actually has one.
I have a AEHD+, my opinion is that they are not rare.  While it does support Macintosh 1.44 disks, the main reason to have one back in the day was for compatiblilty with PC formatted disks.  Using AEHD+ you can not boot from a 1.44 disk on a older non-FDHD mac.   

I also have a couple of floppyEmu's, and I disagree with the title of this thread, the fact that older Mac's do not support MFM disks is not a "problem" with the floppyEmu.   The floppyEmu emulates a floppy disk and drive at a hardware level, it works very doing this.

thank you,

Rick

 

trag

Well-known member
 I have other issues with this. If that board really just has the components you say and *doesn't* have some sort of microcontroller on it then I can't in the slightest wrap my head around why it has a ROM chip on it. (Part of a state machine that initializes the serial chip into a hardcoded transfer mode without needed a CPU?) How fat of a connector this to the main board? (Seriously, there don't seem to be *any* pictures of the guts of these things online.)


28 pin interface back to the logic board.   I don't know how the pins are used or even if they are all used.   28 pins for the external floppy, which uses essentially the same interface board.    44 pins or some such on the internal connector.   Whatever an IDE hard drive + power connectors would use.

Also, that 28 pin external cable/interface is used both for the external floppy and the external SCSI adapter (one or the other).   Both boards have an 85C30 at the input end, facing that 28 pin connector.    The SCSI adapter pretty much just has a 53C80, and a GAL in addition to the 85C30.  I can't remember if it also has a flash.   I should check my notes at home.

I've always assumed that the ROM is there as a simple logic translation device.    If I  have an input of 12 give me an output of 4F.    That kind of thing.   Again, would need to create a schematic for more information.

Yep, no pictures on line that I've ever seen.  Next time I did one out I'll take some photos.   I wish I still had a scanner.   Scans of circuit boards on a flatbed have always turned out better than my photography efforts, even when I remember to put the camera in Macro mode.

 

trag

Well-known member
The Outbound only uses Plus ROMs, not an actual Plus motherboard, correct? I can't find any pictures of its innards, is it possible that the 85C30 *is* actually the comm port controller, they just punted it over to a peripheral controller board that also has the floppy controller on it?


Correct.  The Outbound has it's own circuitry.  Not a Plug logic board in there.   Also, one could use either Plus or SE ROMs.  

 

Gorgonops

Moderator
Staff member
The SCSI adapter pretty much just has a 53C80, and a GAL in addition to the 85C30.  I can't remember if it also has a flash.   I should check my notes at home.
Weird. I'd love to know exactly what lines are defined on the interface cable. It seems like weird overkill to use 85C30s as a serial data pump instead of just using an 8-bit bus over such a short cabling distance, especially when they're using a 28 pin connector.

I've always assumed that the ROM is there as a simple logic translation device.    If I  have an input of 12 give me an output of 4F.    That kind of thing.   Again, would need to create a schematic for more information. 
Another thing it could be doing is handling the GCR translation table in hardware for 800k disks, although you definitely don't need a 64k ROM for that and that would also be a weird overkill considering the normal Mac floppy driver for a Plus/SE/whatever does that in software. (The IWM really isn't much more than a glorified UART.) If they are using the 85C30 as a data pump maybe they could be using a weird little state machine in the GAL to clock in the necessary programming register contents on reset?

But, yeah, it could strictly be acting like a PLA. A ROM that big plus a cleverly programmed GAL could do any number of things, pretty much up to and including acting like a simple MCU.

 

Gorgonops

Moderator
Staff member
Using AEHD+ you can not boot from a 1.44 disk on a older non-FDHD mac.
And that settles that.

I also have a couple of floppyEmu's, and I disagree with the title of this thread, the fact that older Mac's do not support MFM disks is not a "problem" with the floppyEmu.
Ironically it looks like the OP never came back to explain further what his problem really was. I wonder if he was just trying to use diskcopy 6 images instead of 4.2 or RAW. (Or something similar.)

 

Gorgonops

Moderator
Staff member
I guess the one other thing I'd throw out there: are you absolutely certain that was the chip model number? Realistically all the confusion would evaporate if it was actually, I dunno, something like a Z8 family MCU with a similar part number.

 

trag

Well-known member
 you definitely don't need a 64k ROM for that and that would also be a weird overkill considering the normal Mac floppy driver for a Plus/SE/whatever does that in software.]


Remember, it's 64 Kbits.    While probably still overkill, it may have been the smallest thing economically available at the time.

And yes, definitely the SCC chip.   85C3008 specifically, IIRC.

 
Last edited by a moderator:
Top