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

Any appetite for a math co-processor board for Classic-II?

All,

For various reasons I ended up designing a co-processor board for the Classic-II. It seems to be working fine, so I'm wondering if there's any appetite for it in the community and should I order a (small) run of the boards.

I'm not looking to get rich on this project (i.e. I'm sane), so I'm looking at selling them at around the cost of the manufacturing. This is of course somewhat dependent on the volume, but would be on the order of $80-$100 for a 68882-based board and about $30-$50 for a 68881-based version.

I've also tried to get a ROM extension on the same board, but that doesn't seem to be easy: it's of course was simple enough to get the FLASH parts on the board, but the MAC doesn't decode the write bus-transactions to this address range, which means that programming the content would require an external device, which I think is too much expense and is simply not worth it.

At any rate, I would love to hear what anyone has to say about this project and - especially - if they are potentially interested in shelling some money out for such a board. Obviously no commitments, I'm just looking for feedback.

Thanks,
Andras Tantos
 

Attachments

  • board.jpg
    board.jpg
    787.9 KB · Views: 36
  • screenshot.jpg
    screenshot.jpg
    903.1 KB · Views: 35

LaPorta

Well-known member
Well, seeing as the legit FPU boards are hard to come by, this should garner some interest. I'd take one.
 

joshc

Well-known member
Already exists: https://www.ebay.co.uk/itm/311802161974

I think the gebers and BOM are out there for the above version, so it's also relatively easy for people to build their own. Can't remember the username of the person who made it but they did post here.

But, don't let that stop you if you still want to make a different version! I think there would be some demand for it, but probably not a massive amount. The SE/30 is still a hot potato compared with the Classic II so I think most people get that instead.
 
Last edited:
Already exists: https://www.ebay.co.uk/itm/311802161974

I think the gebers and BOM are out there for the above version, so it's also relatively easy for people to build their own. Can't rmember the username of the person who made it but they did post here.

But, don't let that stop you if you still want to make a different version! I think there would be some demand for it, but probably not a massive amount. The SE/30 is still a hot potato compared with the Classic II so I think most people get that instead.
Yes, I'm aware of that board. I guess there's no functional difference (as far as FPU goes), but I would look at bulk-buy the chips as well to save money for everyone. i.e. this board is $100 + $xxx for the FPU itself. I *think* I can get that cheaper. Could be wrong of course...

Andras
 

bdurbrow

Well-known member
$99 with NO chips?!?! Seems rather steep for three connectors soldered to a rather small PCB…

but the MAC doesn't decode the write bus-transactions to this address range,

How about putting an inexpensive, easy to program (Arduino IDE compatible would be good) USB-capable microcontroller on the board (like a SAMD21 or STM32); and holding /RESET down while writing to the flash chips? While in reset; I think all the bus lines should be un-driven, so you should be able to just switch the MCU’s port bits out of high-z mode to access the flash chips. Depending on the MCU used, you might need to add a serial-in, parallel-out shift register or two to get enough IO lines.

The USB cable to update the flash should be able to snake thru the security lock slot.
 

360alaska

Well-known member
$99 with NO chips?!?! Seems rather steep for three connectors soldered to a rather small PCB…

4 Layer boards are expensive. It could be cheaper if I removed the rom connections and made a two layer board. Perhaps I'll do that once my current stock is sold out?

Oh and that connector is 15$ not including shipping: https://www.digikey.com/en/products/detail/te-connectivity-amp-connectors/5-532955-8/1126724

Basically at 50$ not including assembly, perhaps it might be best to add up the cost before offering any critique.
 
Last edited:

bdurbrow

Well-known member
OK, lemme roll back one thing: when I first saw the ebay listing, I thought it was from a chinese cloner, who was getting parts and shipping for almost no $$$. Being from a US person who's hand assembling them does change the dynamics somewhat.

However, I still think you're paying too much for your parts. That $15 AMP connector I believe (from a quick look at the datasheet and photos of the Classic II logic board) can be replaced with regular 0.100 female header sockets. I'm finding the PLCC socket on eBay for about $0.60 each (order qty 10) and the DIP socket for under $0.15 each (order qty 100). That includes the shipping to you.

There appear to be tantalum caps on the board; these can be replaced with ceramic MLCCs for less $$$; possibly a lot less.

Being in the US, there's not much you can do about the outbound shipping (i.e, to your customers). I might not offer "free" shipping, though - psychologically I think it will play better to have a lower base price, and then have the shipping cost added on during checkout (many people don't actually factor that into the decision to buy; rather a bit like 9.99 sells better than 10.00).

🤔
 

karrots

Well-known member
Standard right angle header would work possibly until after you bend them getting a good fit. Also not having the key things would be wobbly.
 

bdurbrow

Well-known member
I don't have a Classic II logic board to test with; so I'm just going by other experience and intuition; but...

My experience is that 50 pins of headers; especially in a dual row; are rather stiff - even without any plastic shroud or key. Smaller connectors are seen all the time on PCs with nothing but bare pins (floppy, IDE, and proprietary CD-ROM drive connectors on the motherboard or controller card comes to mind).

Also; there is a card holder stamped into the case above the slot on the logic board where the FPU/ROM card goes. I think it's worth it to experiment and see if a standard right-angle female header would work (I'd do it myself but I don't have a Classic II).
 
$99 with NO chips?!?! Seems rather steep for three connectors soldered to a rather small PCB…



How about putting an inexpensive, easy to program (Arduino IDE compatible would be good) USB-capable microcontroller on the board (like a SAMD21 or STM32); and holding /RESET down while writing to the flash chips? While in reset; I think all the bus lines should be un-driven, so you should be able to just switch the MCU’s port bits out of high-z mode to access the flash chips. Depending on the MCU used, you might need to add a serial-in, parallel-out shift register or two to get enough IO lines.

The USB cable to update the flash should be able to snake thru the security lock slot.
I thought about that. This certainly can be done, but it would make the board more complex (=expensive) and would add a largish FW project into the mix (not to mention the SW running on some host). Of course I also hoped that in-place programming would be possible within the Mac and only realized it not to be the case after building the board and trying.

At any rate, I'm also not sure about the value of the ROM extension: what would you do with it? It certainly seems that the Mac doesn't even try to access these chips during the normal boot process (I haven't seen the chip-select going active during boot) so they can't be used to 'extend' the OS or something. One would need some sort of a 'driver' to make any use of it, at which point, it's pretty pointless.

To put it in other terms: what do people use the ROM extension for? I certainly don't know...

Andras
 

joshc

Well-known member
I think so far the ROM stuff on these has been purely experimental? If you want to make some of these, I'd focus on something that just does a good/simple job of the FPU and leave it at that.
 

cheesestraws

Well-known member
It certainly seems that the Mac doesn't even try to access these chips during the normal boot process (I haven't seen the chip-select going active during boot)

That's interesting. Do you know where they're mapped to in memory? I always assumed that you'd just stick a declrom in the extended ROM because that would be the sane way of doing it, but I suppose this is Apple we're talking about ;-)
 
That's interesting. Do you know where they're mapped to in memory? I always assumed that you'd just stick a declrom in the extended ROM because that would be the sane way of doing it, but I suppose this is Apple we're talking about ;-)
Yes I do. The full memory map is here: http://members.optusnet.com.au/eviltim/macmp3/Mac_Classic_II.pdf, but the expansion ROM is mapped right above the on-board ROM in the region $40B0_0000–$40DF_FFFF (or $40C0_0000–$40DF_FFFF for 2MB mode).
 
I think so far the ROM stuff on these has been purely experimental? If you want to make some of these, I'd focus on something that just does a good/simple job of the FPU and leave it at that.
That was my conclusion as well: leave the ROM alone and do just the FPU thing.

Andras
 

cheesestraws

Well-known member
Probably a good plan. Even if it were being looked at as a declrom during boot or similar, the number of people who can actually write software that runs in that context is reasonably low at this point...
 

bdurbrow

Well-known member
Hmm... depends on what you want it to do. I'm thinking that you'd probably need to write an interface/setup section in assembler; but then you could just stick code resources written in C up there and call them similar to calling an XCMD.
 

cheesestraws

Well-known member
I think you're misreading me here. Note that I said "in this context", not "at this level".

All the stuff one needs to do is documented (at least, for some things), and none of it is particularly difficult, in theory. Cards and Drivers contains how declroms work, including all the data structures, and essentially a worked example of how to build your own video card including the driver ROM. IM: Devices enlarges upon parts of it, omits other parts. Documentation on writing network drivers has gone totally walkies, but other documentation is thoroughly available.

And yet, we find that the actual number of fresh extension ROMs written from scratch in the community is zero or only non-zero through a technicality; and this leads me to my previous statement, that people have not developed the skills to write declroms, especially to write the code that executes in the preboot environment. This is, admittedly, largely because it's pointless unless you're also developing cards; but even those who are (like those people who built a new SE/30 NIC then ran suddenly aground on the unexpected notion that they might have to have software for it) haven't managed to really produce anything.

Now, I haven't really tried; I've hacked existing declroms for various projects with some success, but I've never tried seriously writing new code for one. So I can't speak with certainty: and yet, the lack of new declroms suggests that there are wrinkles in the execution environment that perhaps are not obvious from just reading the documentation.

Feel free, however, to prove me wrong, here: this is a skill I would like to see people develop.

Outside of declroms, non slot manager managed ROMs would require either to totally replace the existing ROM or would require drivers to be loaded from disc, which is pointless, as the OP pointed out upthread.
 
Last edited:
Top