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

ROMBUS - 64 MB flash interface for Mac Plus

ZaneKaminski

Well-known member
@maceffects Oops, somehow I missed your comment. I don't wanna be paid anything upfront... I don't like doing business that way. It would be much better to collaborate on a gizmo and then we can split the profits. Does the PDS card you are trying to run do DMA? If not, you can unidirectionally invert a single address bit so as to change the slot address using a 74HCT04 (or AHCT04, avoid 74HC04, 74AHC04, 74AC04, 74ACT04, 74LVC04).

If the card does DMA, that is to say that it drives an address onto the bus, thus commanding an access to memory in the Mac, you must send the address back to the Mac unchanged. You can do this and the inversion very easily with a GAL, I think. Well, the so-called GAL has been discontinued by Lattice, but you can get another version of the same thing, ATF16V8, from most IC suppliers and this will solve your problem if you can manage to write some logic equations to describe the functionality I just described. Use PALASM in DOSBox to do this. I'll make the board, assemble it, and program the GAL for you if you do the design work.

@Gorgonops I read your comment again and maybe now I see what you mean about the 32-bits per cycle. One access to the flash register location generates a single clock pulse (low-high-low), so the only limitation is that you can only begin reading on 32-bit-aligned boundaries. There is no PLL or anything like that, so you can send the clock pulses as irregularly or far away as you want, as long as you keep to the 5ns or so minimum clock high time. So if you wanna load an odd 16-bit word from the flash, you twiddle the bits in software to send the command and address the same way as for reading the preceding even 16-bit word. The difference is that you must perform one additional read and discard the result, thus ignoring the even word. Then the 68000 can read data out of the same register location at 16 bits per one read access to the ROM, same as in the 16-bit-even/32-bit-aligned case. It's all bit-banging, but insofar as the command and address are short compared to a 512-byte sector, it's as fast as ROM.

 
Last edited by a moderator:

maceffects

Well-known member
@ZaneKaminski Thanks for your reply.  I'd also be interested in a collaboration with sharing of the sales of the part.  The reason I suggested a direct pay was that in addition to wanting to develop such a card I have 1,500 (you read that right) brand new LC Ethernet cards.  But I'm sure some arrangement could be made to make it great for everyone.  With SE/30 Ethernet cards alone bringing $150, it would be a really good place to start.  Unfortunately, I don't have much electrical engineering knowledge, I'm more on the business and hobbyist side of things.  @Bolle created a SE/30 > Cache/Pass-though card already so we just need to figure out how to make it work with LC PDS Pass-though.  @Trash80toHP_Mini has been doing much of the technical work including mapping.  @Trash80toHP_Mini what do you think of the method he mentioned regarding our issue?  I do have an electrical engineer who can actually do the design work once we have on paper what we need.  Unfortunately, I'm stuck at this point.

I read and replied in AppleFriter the WiFi & Bluetooth Card would be amazing I'd buy some of this.  The SE ROM replacement sounded interesting as well, especially if it can be programmed.  If that is possible, I'd like to buy a whole pile of those!  You guys have some really great designs!  Places like Reactive Micro can also be distributors for the Apple II cards if you reach a deal with them.  That could allow more sales for your cars if that's what your interested in.  Anyway, keep up the great work. 

 

Trash80toHP_Mini

NIGHT STALKER
@Bolle created a SE/30 > Cache/Pass-though card already so we just need to figure out how to make it work with LC PDS Pass-though.  @Trash80toHP_Mini has been doing much of the technical work including mapping.  @Trash80toHP_Mini what do you think of the method he mentioned regarding our issue?  I do have an electrical engineer who can actually do the design work once we have on paper what we need.  Unfortunately, I'm stuck at this point.
PCB sounds good, but I only need to wrap a little over 60 connections. There's a technically oriented thread about the project that I haven't located. If the boffins figure out which lines go where to the inverter I'm good to go. currently I'm looking at integrating a second jumper block to let me feed the addressing from either direction to the inverter socket.

@ZaneKaminski Have boards large enough for a 120 pin connector come down to the pricing levels you're quoting? 10cmx10cm is cheap, but you need a bare minimum of 12cm width for the 030 PDS connector. I threw together a wire wrap version because I have everything on hand from a previous project. Once I have the directional spec for the address signals I can complete my prototype in a couple of hours, three with testing.

Curious about ROMBUS, could you do it on a ROM SIMM for the SE/30? If we're doing an LC PDS NIC to 030 PDS adapter, you could easily jumper R/W and any number of signals from LC NIC adapter to ROMBUS SIMM? With an oscillator a/o GAL on board the NIC adapter you phase in whatever clock you'd like for the internal workings of a ROMBUS SIMM. Overcoming lame disk I/O over SCSI is the last frontier for SE/30 exploration.

 
Last edited by a moderator:

olePigeon

Well-known member
@ZaneKaminski Could I entice you to adopt my Mac Homebrew Hardware pirate logo?  dougg3 and bbraun utilized it to great effect, especially when using 2 red LEDs for the eyes.  My IIci's custom ROM is my favorite part about it with its glowing red eyes Jolly Roger. :D

http://wreckcenter.com/68k/Pirate/

 
Last edited by a moderator:

ZaneKaminski

Well-known member
@olePigeon Certainly there can be some software to change the boot icon in the ROM. As for on the board, maybe, but I have been trying to pursue a really sparse visual style for the boards I've been making. The #1 rule is no URLs, since that basically ruins any hope of making the board look like it's from the right timer period. I will consider the pirate logo.

@Dog Cow I appreciate the interest. I'm afraid the ROMBUS won't work on your Mac 512k though. Is that okay? Do you have a Plus? At the very least, to work with the 128 and 512, I would need to do a new board with the correct pin spacing for the 128/512's ROM sockets. That's easy. The more difficult thing is the way I envisioned the ROMBUS driver working. In my driver design, there are 256kbytes of RAM spent on a table to store the block mapping between logical and physical sectors. This is required to maintain the endurance of the flash and to erase flash sectors in bulk, minimizing erase time overhead and speeding up write operations. This same algorithm was first conceived for a yet-unannounced Apple II card I am working on which incorporates flash storage. That card has some dedicated RAM on it to store the block mapping. Maybe I can come up with a different algorithm more suited to the Mac 128/512 and ROMBUS that takes less RAM to store the block mapping. Let me think about it more. Anyway, unless someone comes along and starts developing it, the ROMBUS driver has to wait for me to finalize hardware for some other projects. I have the 5 new Apple II cards I mentioned earlier which I am trying to get released so that others can help with the drivers, plus some gizmos for Game Boy and Commodore 64.

Source will be on GitHub in a few days.

 
Last edited by a moderator:

olePigeon

Well-known member
@ZaneKaminski I designed the logo for anyone who wants to use it.  No strings attached.  No web sites, nothing.  It's just a Jolly Roger that I thought would be fun for people to use on their homebrew products.  An homage to the 1980s homebrew & pirate scene.

 

Dog Cow

Well-known member
@Dog Cow I appreciate the interest. I'm afraid the ROMBUS won't work on your Mac 512k though. Is that okay? Do you have a Plus? At the very least, to work with the 128 and 512, I would need to do a new board with the correct pin spacing for the 128/512's ROM sockets.
Ah, good point. I do have a Macintosh Plus, but as I occasionally say in my blog, "this is the Mac 512K Blog, not the Mac Plus blog!" ;-)

So I will wait for a 128K/512K version, should you ever produce one.

 

Solvalou

Well-known member
I'd definitely be interested in this if you can post it to the UK. $40 seems very reasonable.

 

JT737

Well-known member
Hello all!  I've been a long time lurker on this forum, but I haven't posted much.  But I plan to change that!

Hi Zane!   I have a Mac Plus I'd love to try out with this, so count me in as well.

Also, does anyone know whatever happened to Twinspark SE/30 adapter project? I'd love to offer to help get the project going again if no one else is working on it.  I own several different cards and accelerators to test a possible adapter with, including a daystar powercache 030, daystar powercache 040, Carrera040, and a Sonnet 040.    For the most part I'm just a bench tech, but I have a brother who is an electrical engineer and has some ideas as to how to put it into production. (I also have a small army of old Macs, including about half a dozen SE/30's!)

Additionally, I bought myself a copy of the Macintosh programming starter kit-complete with a copy of code warrior- and have been (pathetically) trying to teach myself how to program in C for the Macintosh 68k architecture.

 

Crutch

Well-known member
@JT737 I am really excited with the number of people lately looking to learn 68k programming. That’s awesome! Multiple people around here who can help with that if you get stuck with anything. CodeWarrior is a very nice platform, congrats. (I admit I still have a certain fondness for the brilliant THINK Pascal IDE though... I just bought a complete Mac Pascal box set on eBay for $20 and it’s amazing what THINK Technologies could do in 1983.)

 

JT737

Well-known member
@Crutch-Thanks!  I probably will need some help at some point.  I'm slowly going through the entirety of the "Programming Starter Kit" book- I'm currently on page 100.  At least I now have a better understanding of what Heaps and Stacks are...kind of.

I set up one of my laptops with Basilisk II specifically so I could work on this stuff anywhere.  So far, so good!

 

ZaneKaminski

Well-known member
I have resolved to scrap the current ROMBUS boards and layout and do a new revision of which should be compatible with the Mac 512k. I have switched to a physically smaller CPLD (the somewhat ancient MACH5LV, but I can source 1000+ of them for cheap) and switched the ROMs to surface-mount to make room for two 128k x 8 SRAM memories, providing extra room for the Mac 512k driver to store tables and other information.

Here is a shot of the board, unfinished. I am currently laying it out and I will be sending it to production with my next batch of gizmos in a month or two:Screen Shot 2019-09-19 at 8.20.57 PM.png

This picture of the board still has the socket spacing for a Mac Plus, but it will be trivially easy to stretch out the right side of the board so as to fit in the wider socket spacing of the Mac 512k.

There is only one gotcha. the Mac 512k has the ability to address 128kB of ROM, and the Mac 512k has only 64kB, so we have an extra 64kB to store the ROMBUS driver. But the Mac 512ke has a 128kB ROM, and there is no provision to address 256kB of ROM like in the Mac Plus. If we intend to present the enhanced 128kB ROM to the Mac 512k, we will have to do some very careful ROM mods and use bank-switching to access the ROMBUS driver. Otherwise we will have to basically downgrade to the 64kB non-"e" ROM, which would really suck since there is no 800k disk support.

@Dog Cow With the potential for Mac 512k compatibility, would you interested in developing the driver?

 

Dog Cow

Well-known member
@Dog Cow With the potential for Mac 512k compatibility, would you interested in developing the driver?
I would be interested, so long as I had a specification to refer to. I have a Mac 512K, 512Ke, and Plus, so it would be easy for me to test all three machines for compatibility.

 
Last edited by a moderator:

ZaneKaminski

Well-known member
@Dog Cow Great. The new layout is approaching completion:

Screen Shot 2019-09-24 at 3.18.42 PM.png

My goal is to have the board finished in the next day or two, but it will be another 2-3 weeks until I have boards fabricated, and then another week or two to receive the boards. While the board fabrication is being done, I will prepare a datasheet to describe how software on the Mac is to interact with the card and its serial flash memory.

 
Top