• 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.

HDD alternatives?

techknight

Well-known member
I think thats why they used tons of pals/gals/cplds because of speed, and complexity.

Im sure it could all be done in glue, but with what 500 chips? hehe. Program multipurpose PALs then you drop that significantly.

But i think 5V glue CPLDs are still available, and you knock everything down to, 1 chip.

Well anyway, i guess to start off we could build a breadboard full of standard CMOS/TTL logic just to see if we can get the little guy to go.

 

bbraun

Well-known member
dougg3: for the timing, this is my understanding:

The memory controller (GLUE/OSS/MDU/whatever) will terminate the bus read/write with a /BERR at the end of the 4th clock cycle (68k read/write operations take 4 cycles) if it hasn't already been terminated with a /DSACK{0,1} or /STERM or similar. I think. Another way to read it is /AS needs to be deasserted by the end of the 4th cycle, which potentially means slightly less time since the successful termination signals would need time to have been setup and handled. Which it is seems to vary by which part of which document you look at...

However, on the 680000 machines (possibly minus the Classic) won't timeout bus operations with an error, instead they will terminate them with success, and how exactly it is terminated depends on the address space being accessed. 0xE0000-0xFFFFFF generate /VPA or Valid Peripheral Address.

The 8MHz SE documents this as 265ns after /AS is asserted.

This also means your estimates are longer than you'd really have because /AS isn't asserted until the 2nd cycle of the operation.

I think we talked about microcontrollers being too slow in the other thread, which I completely agree with for the faster machines used by the ROM SIMM. My mention of them was specifically for the slower 68000 machines.

 

techknight

Well-known member
using a microcontroller directly probably is too slow. Using a CPLD in between is probably the best approach to this, aside using an FPGA. If the CPLD is used, it could be setup to handle all the bus phases as required. then the CPU itself can just do whatever it wants with the data, whenever it wants, and take as long as it wants.

Stupid thought: What about using a logic analyzer on the bus? This way you could code an subroutine to just poke/peek an arbitrary address, the logic analyzer will pick it up and youll know exactly which signals have to be asserted when/how, For me it makes it clearer than trying to read a timing diagram in a 68K Doc.

speaking of Docs, I did find this:

http://courses.cs.tamu.edu/cpsc462/walker/Slides/68K_Timing_Diagrams.pdf

That help?

 

dougg3

Well-known member
Great (diseased?) minds think alike, or something.
LOL, that's the truth :)

Well, I think you *could* probably get away with using a couple of fast latches between your decoded bus port (assuming here you're using a microcontroller to handle the SD card and just using the SIMM-port for message passing) and the microcontroller.
That's an interesting idea! I think I get it, but I'm also not fully understanding how both the Mac and the microcontroller can access the latch considering the data bus might be in use for other purposes in the meantime when the microcontroller gets around to reading the latch. Also, how do you make a status register? Are you saying another latch could be used for that purpose? I don't know a lot about this stuff though, so forgive me if my mind's headed in the wrong direction. My SIMM project was just a simple "hook all of the pins up to where they have to go" project and this type of project is a lot more complicated than that :)

dougg3: for the timing, this is my understanding:
Thanks for the info about the memory cycles bbraun. I didn't realize it would do a bus error. So that must mean there isn't just a simple unlimited wait time even on a PDS card--I didn't realize that. It would definitely be interesting to see if a microcontroller was fast enough to handle access on an SE though...it would probably take some clever interrupt handling.

Nice link...I'll try to follow it later, but after a quick skim through, it looks very useful. Thanks!

 

volvo242gt

Well-known member
You cans till find 50 pin working SCSI drives cheaper then the cost of any 3rd party interface could be made for, so why bother? I get the feeling most of the people asking are too cheap to shell out $20 for a functional 50 pin SCSI drive and therefore would not bother spending more for an IDE interface let alone pay somebody to design/sell one with a profit.
That is true, but quite a few of the $20 working 60-pin drives have bad blocks these days. The $20 Apple ROM equipped Quantum 230MB drive that I have for my second IIci could not be formatted using HD SC Setup. APS PowerTools was able to format it, but I lost about 10MB of free space, due to the damaged blocks.

Hence the reason why we're so interested in finding alternatives.

-J

 

Gil

Well-known member
You cans till find 50 pin working SCSI drives cheaper then the cost of any 3rd party interface could be made for, so why bother? I get the feeling most of the people asking are too cheap to shell out $20 for a functional 50 pin SCSI drive and therefore would not bother spending more for an IDE interface let alone pay somebody to design/sell one with a profit.
Where are you finding these $20 SCSI drives? On eBay they are typically between $50-$100. No way I'd spend that kind of money on something that doesn't have much usable life left. Adapting modern storage technologies to work on older interfaces makes much more sense, in my opinion.

 

Gorgonops

Moderator
Staff member
That's an interesting idea! I think I get it, but I'm also not fully understanding how both the Mac and the microcontroller can access the latch considering the data bus might be in use for other purposes in the meantime when the microcontroller gets around to reading the latch. Also, how do you make a status register? Are you saying another latch could be used for that purpose? I don't know a lot about this stuff though, so forgive me if my mind's headed in the wrong direction. My SIMM project was just a simple "hook all of the pins up to where they have to go" project and this type of project is a lot more complicated than that :)
So... I was thinking about it myself after posting last night, and realized the part number for the latches that I tossed out would be inappropriate for the very reason you bring up, IE, unless you had a buffer/line driver like a 74LS244 in front of it that you can "open and close" it's going to be a problem that said part uses the same pins for parallel input and output. A little searching later and it looks like something like the 74ACT373/573 might do; it's 8 bits wide and has seperate input and ouput pins. For the "input" (from the Macintosh) buffer you'd have the D0-7 pins connected to A0-A7, while the "LE" pin would be activated by a combination of a chip select signal derived from your decoding logic (let's be lazy and use something like a 74138 on A8->A10, that will make your "disk device" occupy 2k of address space) and the "read" line. When the Mac reads a value somewhere inside the memory range decoded by the 74138 for this device should take a "snapshot" of the state of the address lines, which will be your data value. At some later point the microprocessor which is connected to the O0-O7 pins on the other side should be able to read that value out by triggering the OE line.

(I'm sure you can reverse this in your head for the "microprocessor writes data for the Mac" buffer.)

The trick of course is the "status register". Sort of what I'm thinking is another "memory device" linked via a few gates so when what's described above happens (the state change that triggers the LE pin on the buffer), a "1" gete written into one of the slots on said "flag device", which would be readable from both the Mac and the Microprocessor's side. Similar circuitry would reset it he buffer in question is emptied. The question is, what's an appropriate part? If we can limit ourselves to needing two flags (one for "Byte waiting for MCU" and one for "Byte ready for Mac") maybe we could use... a 74HCT75? That gives you two two-bit latches that behave like the '373s above. When a "write" operation is executed the same value gets written into both latches on the chip (you tie their input data lines together), but the two devices can *read* the statuses seperately on each latches' output lines. (Which are mapped to a memory location on the Mac's side, using another line from the 74138 decoder, and tied to a couple pins on the MCU on the other side.)

(Hrm. Come to think about it, you'll need two 7475s, one for each status flag, because otherwise the operation that updates that status code for one buffer will clobber the result for the other. Whee.)

Anyway, if you figure 4 chips for the buffer latches and status registers, one for the decoder, a few more 74xx gates for the glue, and then of course the AVR or whatever for the actual disk subsystem doing it all discretely would probably take about 10 or so ICs. (I haven't the foggiest where Technight gets his "500 chips" figure from. But yes, with a sufficiently large CPLD you could probably fit those buffers and gates into one package.)

Of course, that same latch-buffer system would work just as well if not better to interface a slow MCU to the PDS slot. Trying to find an affordable MCU that can bit-bang fast enough to follow a 16Mhz+ bus cycle itself is probably futile.

 

James1095

Well-known member
You cans till find 50 pin working SCSI drives cheaper then the cost of any 3rd party interface could be made for, so why bother? I get the feeling most of the people asking are too cheap to shell out $20 for a functional 50 pin SCSI drive and therefore would not bother spending more for an IDE interface let alone pay somebody to design/sell one with a profit.
Back when I could still find them in that price range, I also found that they would frequently get flaky or crap out all together after a while. It's also all too frequent that I put a machine away in perfect working condition, only to pull it out of the closet months/years later and discover that the hard drive has died. For me it's not a matter of profit, nor am I especially cheap, but I just can't bring myself to spend $130 on each of half a dozen vintage machines to replace the temperamental ancient hard drives with dependable, silent solid state disks. $50 is about the magic price point where I'd just buy something that would do what I want. Otherwise I'm more interested in a DIY solution. I just know what while the hardware I can do, it will die on the vine if I'm developing the firmware myself.

Another motivation is just the cool factor of seeing what interesting hacks people can come up with. I mean honestly why else do we play with these ancient computers but to have fun with them? It's not like they can actually *do* anything that can't be done by a modern $200 netbook.

 

volvo242gt

Well-known member
Where are you finding these $20 SCSI drives? On eBay they are typically between $50-$100. No way I'd spend that kind of money on something that doesn't have much usable life left. Adapting modern storage technologies to work on older interfaces makes much more sense, in my opinion.
In my case, it was a local place called 3R Technologies. They sometimes sell on eBay and had a couple 250's going for $50 on their eBay store. The 230 was in their display case. That said, I'd like to see something modern adapted to older computers, that way, if I want a nearly silent SE/30, I can have one.

-J

 

MinerAl

Well-known member
I have no technical expertise to offer, but I would like to encourage someone to pursue the SD interface.

IDE drives of a reasonable size for these machines (<2G) are only a few years younger than the SCSIs we're trying to replace. I would much prefer to use a no-moving-parts, inexpensive, plentiful, low-power, removable/replaceable solution like SD cards. (An SD or microSD reader could be positioned behind a vent slot in most any Mac, leaving it accessible without any aesthetic impact.)

Again I have no idea what the technicalities involve, but from an earlier comment in this thread it seems like this might be an achievable goal. I would happily spend twice what a failing SCSI drive would cost for an option with all the advantages of an SD interface

 

bbraun

Well-known member
Going over my 68000 machines, I haven't found any with a socketed CPU, which AFAICT means the ide68 style interfaces won't really work "out of the box". One could probably rig up some kind of solution soldering on top of the existing CPU or (shudder) killy clip or some other hack, but not really my thing.

FWIW, I know a lot of people following this thread are interested just in replacing their existing HDDs. Honestly, for that, there already are solutions. I'm more than happy with the products from artmix, and I'll gladly support someone producing new products for these old machines. I have no interest in trying to undermine one of the few people actually producing something for the community. From my perspective, there are too few people contributing to be duplicating efforts like that.

Areas where there aren't available solutions, like PDS, serial, etc. are way more interesting to spend time on.

 

Gorgonops

Moderator
Staff member
To be truthful, all that brainstorming about hanging IDE ports (or whatever) off PDS slots or ROM SIMMs aside my genuine opinion is for 90-whatever-percent of Ye Old Macintosh applications the "correct" solution is a bridge that hangs off the SCSI port. It's the one bus that all those machines have in common, it's a pretty least-common-denominator version of it (8 bit single ended, "Fast" mode optional), the drivers are finished, and while in principle it might be possible to eek *slightly* more performance out of one of those old boxes by cutting out the middleman and hanging something off a direct bus port... really, is it going to make a difference if your SE/30's disk performance is only 50-some-odd-times slower than a modern machine verses a hundred? It's still *amn slow, son.

There's one area, personally, where I think a direct bus port design would offer real value, and coincidentally it's also the area where the level of technological expertise required to achieve success is low enough that a relatively ham-fisted hobbyist-built design has a chance of working. That of course is something for the SCSI-less toaster Macs, IE, the 128k (although fitting a driver into 128k might be hopeless) through 512ke systems. If desoldering/piggybacking on the 68000 is too daunting there's still the ROM socket approach. (There's the documented John Bass SCSI design, and the Dove SCSI boards also worked that way.) This is something that fits into a small handful of TTL circuitry, doesn't require extensive modifications, and is a solution documented to work. (Minus the design change of replacing the SCSI chip with an IDE device, microcontroller, whatever, of course.) The only other options for those machines are Macintosh Plus upgrades (either literal or a combination of expansion boards that add up to one with the attendant need for a SCSI drive or suitable replacement *anyway*), or really unobtainable items like a working HD-20 or GCC Hyperdrive.

But, eh, you know it's *impossible* to do something like they did back in 1985 with a few TTL chips without resorting to an FPGA these days...

 

Unknown_K

Well-known member
I must be lucky then finding working SCSI 50 pin HDs for next to nothing. it might be because I am always on the lookout for cheap consumables for the hobby (and HD's and floppy drives are consumables because of moving parts). If you are going to look when you actually need a replacement drive then you are stuck with whatever is around at the time.

I lucked out years ago and purchased a whole box of 1 or 2GB 50 pin drives NOS (20 pcs) most with 0 hours and they work fine (price was $15 or 20 forget which). Even the used drives I find seems to be reliable, and I do test them for any bad sectors and dump the ones with any bad ones. I stocked up on old IDE drives for my old PCs from arecycler and paid something like $2 a drive that I kept (the bad ones went back at no charge). Stocking up on IDE laptop drives now as well (having a large laptop collection mans having tons of spares).

I have yet boot up a machine I redid and have the HD go bad. Some machines sit for a year before I get back to using them but none are stored where the temperature and humidity goes crazy up or down.

 
Top