Fast! CompactFlash for Macintosh PDS/NuBus

zigzagjoe

Well-known member
Insane benchmarks. Love it
Do you already have an idea for a Quadra PDS version? :)


A LED header for the SE/30 would also be supercool

Thanks for those benchmarks @jmacz. Who needs DMA when you're 4x faster? :p

The same PCBs are used for all 3 machines, so they've all got the points to put a header at or solder a LED to. JLC got the last remaining parts I was waiting on so I should have the qualifying run of production cards going soon!

No plans to do a quadra PDS version - the connectors are a PITA. Though, it wouldn't be impossible to do something like this silly socket version I made to try. (No plans for this to become a production product!). A 040 socket version would need a redesign of the logic and more complex design to makes sense / benefit from additional bandwidth. Maybe someday, but it's at least a possibility.

1743173367554.png

Next goal after the production PDS boards is to get a NuBus proof of concept working, but I've been sidetracked by an unexpected NeXT development so haven't touched that yet.
 
Last edited:

Trash80toHP_Mini

NIGHT STALKER
Socketed SE/30 version would be outstanding. That'd leave the full length/cubic of the expansion card chimney open and view less blocked in a clear case as well as reduction of loading on the PDS for a "three" card stack.

edit: Socketed version would make for @Bolle NIC/Accelerator Adapter and a max size VidCard/GS Card stack using all three interrupts without electrical loading complications. ;)
 
Last edited:

jmacz

Well-known member
Socketed SE/30 version would be outstanding. That'd leave the full length/cubic of the expansion card chimney open and view less blocked in a clear case as well as reduction of loading on the PDS for a "three" card stack.

One down side would be the ease of pulling the CF card. Probably not a common thing, but still would require removing all PDS cards and sliding out the logic board to remove the card?
 

Trash80toHP_Mini

NIGHT STALKER
Mentioned CF->SD adapter upthread. @zigzagjoe said there were requirements that need to be met for adapter to work.

51gxL1C-LvL._AC_SL1100_.jpg
+

61FsovEfS1L._AC_SL1500_.jpg
=
Micro SD slot on the backplane?


edit: throw socketed CF adapter onto a reloaded logic board with new build PDS card stack into a clear case? 😁

All brand new (aside from proprietary chips) build boards without overloading the PDS electrically? Bonus points for all BLACK PCBs!
 
Last edited:

zigzagjoe

Well-known member
I don't intend to do a socket version for general availability - it's mechanically fraught and the design I made for my own use has specific limitations that work for me, but would be a problem for general users. No buffering and other issues, it's simplified to the max, not optimized for assembly, and using EOL parts to clear out some of my stock. It's meant to go into my testbench-IIcx. It'd require removal of the LB and removal of the card in order to change the CF card in SE/30. I'm approaching the NuCF stuff as it'll primarily be used as a fixed-disk HDD replacement, but that might not align with most folks use cases.

It also precludes the use of an accelerator which is a better purpose for the CPU socket in SE/30. A socket is installed and soldered in the holes in order to allow placing the CPU there, but the 9-10ish mm it adds eats all the space available in that area on the SE/30. Stock CPU would be the only option most likely.

Note that use of the CPU socket doesn't fix electrical loading issues, those are a constant no matter how things are arranged. It ever so slightly helps the system clock line if the original CPU is eliminated (such as with one of my Boosters), but that's about all.
 

olePigeon

Well-known member
@zigzagjoe Holy cow, that CPU version is cool. Any guesses as to whether it'd work hanging off a Daystar Turbo in a IIci? Or would it only work in a Quadra?
 

zigzagjoe

Well-known member
@zigzagjoe Holy cow, that CPU version is cool. Any guesses as to whether it'd work hanging off a Daystar Turbo in a IIci? Or would it only work in a Quadra?

It's a 68030 socket, so it'd only work in IIfx/IIcx/IIx/SE30 where allowed by mechanical constraints and configuration. However, it'd be possible to use the cache slot, possibly a little dual-slot riser could be done. I'm planning to focus on an eventual nubus version though as I think I'll be able to get reasonable performance there too.

Not many socketed accelerators around and none in 040. Thinking about load on the PDS for the most part. ;)

We can't technically say none, but instead one ;) Doesn't change loading any though. Number of loads on the bus is the bigger issue with PDS cards, trace length does contribute to capacitance issues specifically affecting reset but drive becomes a bigger problem.

1743181530158.jpeg
 

Trash80toHP_Mini

NIGHT STALKER
It'd require removal of the LB and removal of the card in order to change the CF card in SE/30.
Coupled with a SCSI/SD you'd never need to remove the CF card, no? I'll be quiet now. ;)


edit: nice comeback! Didn't know. Again, thinking about limiting the PDS to only two cards, which relates to the "million dollar question" upthread.
 

jmacz

Well-known member
61FsovEfS1L._AC_SL1500_.jpg

I've never really had good luck with these type of extenders. I bought a bunch of different ones and each one had reliability issues with the part that mimics the actual card. For some reason they aren't meeting specs and so I found random IO failures that go away when putting pressure on that end of the cable, etc. Or part of it might be some degradation in the signal over the length of the cable. Or shielding issues and depends on how you route the cable. But never had luck.

What's interesting though is the one you pictured above, I just recently picked up that exact one. It has that weird clamping mechanism for the actual micro SD card. I thought I'd give it another try for my PowerBook Duo. That one seems to be holding up ok. But again, could be because it's shorter and/or I'm routing it through an open area with no interference. 🤷‍♂️
 

Callan

Well-known member
Again, thinking about limiting the PDS to only two cards, which relates to the "million dollar question" upthread.
I can vouch for the fact that the pds slot isn't limited to two cards. I've been running Bolles 040 setup and a 30v grayscale for at least 6 months with no issue, and here is a pic of the 'stack' running with the cf card as well.
 

Attachments

  • 20250315_222110.jpg
    20250315_222110.jpg
    1.5 MB · Views: 57

Trash80toHP_Mini

NIGHT STALKER
Yep, never said id doesn't work. But three cards on the PDS is running it on the ragged edge electrically.

 

Callan

Well-known member
In actuality it's four cards, but I get what your trying to say. It speaks volumes to how well these newer cards were designed by their creators.
 

Trash80toHP_Mini

NIGHT STALKER
Yep, amazing stuff goin' on in this new age of development for Paleolithic Macs. 😁

Your fourth card is a Carrera, accelerators don't require an interrupt, cards interrupt them! Loading on the PDS for the three available interrupt lines/expansion cards and capacitance of the stack would be the concerns from what little I understand of it? ;)
 

zigzagjoe

Well-known member
Yep, amazing stuff goin' on in this new age of development for Paleolithic Macs. 😁

Your fourth card is a Carrera, accelerators don't require an interrupt, cards interrupt them! Loading on the PDS for the three available interrupt lines/expansion cards and capacitance of the stack would be the concerns from what little I understand of it? ;)
Interrupt lines don't have an issue and are unimportant for the overall function of the bus. Loading/capacitance/noise on strobes, reset, acknowledge lines and all the other control signals are the problematic part. And to a lesser degree on the data and address busses. Some of this can be mitigated, some cannot.

A small qualification run of boards is on order now! If all goes well I'm hoping to have general availability probably in May.
 

Trash80toHP_Mini

NIGHT STALKER
Ah, thanks for the explanation! Wasn't clear, clumsily tried to describe the full loadout of three expansion cards the interrupt on the 030 PDS support. That was within the context of the "fourth card" being an accelerator in the pictured stack

The "million dollar question" fitment/interface sidebar got me to wondering if having an accelerator within the stack might mitigate the signalling problems as you've described to some extent?

- Accelerator would be interacting with all expansion devices right there within the stack.
- Logic board is reduced to something akin to the bridged, slow side bus of a PowerBook?

Only controllers for FDD, HDD, I/O Ports and unfortunately, RAM and whatnot run across the PDS connector with accelerator on board.

Signalling for all expansion cards in the stack run across the 030 PDS in a socketed accelerator or unaccelerated setup. Might that make a three expansion card stack less problematic with accelerator on board as opposed to those socketed accelerator or unaccelerated machine states?

I'll try to be quiet now. :oops:
 
Last edited:

zigzagjoe

Well-known member
With some feline assistance I've got a working nubus prototype.

1743911483762.jpeg

Unfortunately, it's proven (unsurprisingly) that nubus is a bit crap, especially in the early machines with system busses that don't divide cleanly into 10mhz. On the IIcx I've tested with, the max practical data rate with my prototype is about 2.5 MB/s over nubus. Theoretical maximum of 5MB/s if I were doing 32 bit transfers (currently 16 due to card design). So, this is what an unaccelerated nubus video card has to work with. Eeek! Compare to ~21MB/s on 15.66mhz PDS.

Practically, maximum throughput is about 2.1 MB/s. It still beats a scsi emulator badly (3x) at random access and <16K transfers, but past that point it's merely faster than SCSI rather than a massive improvement. The random/small block access is responsible for much of the practical speedup, so there's still a point, but it's less exciting than the 3x and 4x across the board the SE/30 and IIfx/Iisi manage. A 32 bit card would be somewhere around 1.6x faster on sequential performance, at a guess, so that'd be kind of the bare minimum for a viable design.

Nubus cycle time is essentially limited to about 1.25 MHZ maximum on Mac II/IIx/IIcx assuming each nubus transfer completes in the minimum two cycles. @Jockelill found an interesting document that confirms these findings. On Quadra 650, it's a bit better as that can do 3.33 MHZ owing to it being able to issue 3 cycle nubus cycles forever. That works out to 13.3MB/s hypothetical bandwidth without block transfers or 2x clock mode (both of which are unavailable on the earlier nubus implementations). I've got someone set to measure what a IIci can manage as I view that as kind of the median case for a nubus application. Of course, IIci could also have a hypothetical cache slot splitter that does CF which would eliminate the need for NuBus on that particular machine.

NuBus is also problematic to implement due to using inverted signalling - the multiplexing isn't a problem, but inverted is as almost all of the handy chips that'll deal with the inversion are obsolete. Practically, I'd need to use a CPLD to demultiplex, invert, and act as registers as well as control logic... and the ATF15xx CPLD don't have enough drive strength to do nubus directly. Unless I do as the bluescsi v1 does and drive the chip out of spec, anyways (nope). So, that makes the "minimum viable" implementation already a rather complicated affair requiring around 8 TTL chips worth of glue. I'll have to keep chewing on it, but a hypothetical nubus version is on the backburner for now.

The qualification batch of the PDS cards is due soon. Unfortunately, I don't know that I'll be able to get an actual production batch done before the criminal in chief's tariffs and de minimus removal take effect, so the price point may vary depending on how badly I get hit by tariffs :(

On the programming front, don't do quickdraw at SecondaryInit / second BootRec time; only 7.5 seems to have a valid QD state here. Other versions of the OS will crash, understandably enough.

I took a video of what the "quick start" first time setup for one of these cards looks like:

Some preliminary documentation here.
 

Joopmac

Well-known member
i'd settle for that 650 nubus @ 13MB/sec :eek:

how rewarding that first boot & initialisation!
 

CC_333

Well-known member
Unfortunately, I don't know that I'll be able to get an actual production batch done before the criminal in chief's tariffs and de minimus removal take effect, so the price point may vary depending on how badly I get hit by tariffs :(
This stinks. I was looking forward to possibly investing in one of these once done, as it seems to be one of the first genuinely outstanding developments I've seen in quite some time. It's on par with @dougg3 's custom ROM SIMM and @bigmessowires ' FloppyEMU (both of which were first developed almost 15 years ago and 12 years ago, respectively). In other words, very exciting stuff!

c
 
Top