From: "Lee Borrell templarser@... [CZsynth]" <CZsynth@yahoogroups.com>
To: "CZsynth@yahoogroups.com" <CZsynth@yahoogroups.com>
Sent: Thursday, 2 April 2015, 10:02
Subject: Re: [CZsynth] FZ10M midi dumper ??? win 8/ mac os x ?
Yes - I think spindle speed is an issue also. That's one issue I recall the last time this subject cropped up.
From: "gordon@gjcp.net [CZsynth]" <CZsynth@yahoogroups.com>
To: "Lee templarser@... [CZsynth]" <CZsynth@yahoogroups.com>
Sent: Thursday, 2 April 2015, 9:32
Subject: Re: [CZsynth] FZ10M midi dumper ??? win 8/ mac os x ?
On Thu, Apr 02, 2015 at 06:54:06AM +0100, Lee templarser@... [CZsynth] wrote:
> Details of the dump procedure are in this doc:
>
> http://download1697.mediafire.com/cyj026vulycg/63tmwvhfpljr994/casio_data_structures.pdf
>
> If you have no drive then I have heard the following:
>
> You can either use a modified 'a drive' as a replacement.
> I do recall someone mentioning how to alter one.
I'm going by my experience with Ensoniq Mirage drives. The two differences are that PC drives are internally jumpered to respond to /DS1 instead of /DS0 and that they generate a /DISKCHANGE signal instead of /READY.
Swapping /DS0 and /DS1 is usually easy - often there is a zero-ohm SMT resistor that you pick off and solder onto the adjacent pad (or pick off and bridge the pad with a blob of solder). If not, you can just cut the tracks and jumper them.
The /DC and /READY signals are a bit more subtle. On old-fashioned drives like in the Mirage, /READY is pulled low when there is a disk in and chucked and the spindle motor is at speed. If you examine the Mirage software, you'll see it enables the motor then waits in a loop for /READY to be asserted, then either fail out if it doesn't see it or begin the disk operation if it does see it go low. By comparison, /DISKCHANGE is low if a disk has been put in *but* the head hasn't been stepped since then. As soon as the head moves, /DC goes high again because the disk has been used since it was changed (at least, that's the idea).
Now, if you jumper a normal PC floppy drive for /DS0 and plug it into an Ensoniq Mirage, it will boot perfectly happily, go through its tuning routine, and then stop with a flashing "nd" error - "No Disk". Why? Because the boot ROM doesn't care about /READY so it spins up the disk and begins to read and if it likes what it sees it loads the OS and runs it. But! That's stepped the heads, hasn't it? So now /READY (which on our PC drive is really /DISKCHANGE) has gone high again! The simple-minded OS never bothers to check it again, just at the start of a disk operation. So because we stepped the heads, it doesn't see /READY, and it complains there's no disk in the drive. If we quickly pop the disk and put it back while the filters are tuning (we've got about two seconds, plenty time if you're paying attention) it will clear the /DISKCHANGE state and the OS will continue to load quite happily.
So, how does this help with an FZ? Well, if you wire the /DS0 pin up then it should select the drive. I don't know how clever the FZ firmware is about checking for /READY but the "pop it out, pop it in" trick might well work. If it doesn't, you could pull the /READY pin to ground all the time - but be warned that it may do weird stuff if you really *don't* have a disk in the drive!
There is one further issue. I *think* that the drives that Casio used might run at a different spindle speed to PC drives - 300rpm versus 360rpm or something. You might need to fiddle about with the spindle motor to get that right, or do something clever with HD/DD selection pins.
Good luck, and happy hacking!
--
Gordonjcp MM0YEQ