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

Serious proposal: accelerator and peripheral expansion system

ZaneKaminski

Well-known member
The proprietary Apollo core does much better than 1 IPC
Yeah, I looked at it a few days ago. It's really impressive though its use in later Macs is maybe questionable since there are no plans for an MMU. I have to find out how System 6 and 7 use the MMU on 68030 systems to see exactly how detailed the MMU implementation has to be.


Tantalum caps can go bad as well... best to use ceramic where you can.
Yeah, most of mine are ceramic: 10 nF, 100 nF, 1 uF, 10 uF. But the bulk ones are all tantalum 68 uF caps, quite expensive honestly. I may go up to 100 uF or so, not sure if I really need more bulk capacitance. 68uF was chosen so two of them can achieve the requisite USB 2.0 host Vbus capacitance of 120 uF.



 
Last edited by a moderator:

ZaneKaminski

Well-known member
When the emulator is executing code on the virtual 68000 (i.e. doing the algorithm I described above), a special register usage convention will need to be maintained. Rather than the traditional ARMv7-M ABI, we will use our own convention for the emulator kernel.

Certain important variables/pointers will be assigned to fixed registers, including the 68000's PC, a pointer to the root table of the memory tree thingy, and a pointer to the 68000 state structure.

There will be a special calling convention for calling the load/store/execute routines for a region of memory (found by traversing the memory tree thing). For load, store, and execute routines, the destination address will be stored in a fixed register. For load routines, a register will be assigned in which to return the value read from memory. The same register will be used and preserved by store routines to pass the data to store.

The rest of the registers can be either caller- and caller- save depending on how the code turns out.

 

ZaneKaminski

Well-known member
Yes!! Emphatically so. In the past year, I’ve been getting my home lab up and running, working on my other electronic product, and figuring out how to develop a US-based factory to assembly my circuit boards.

I am still adamant about my direction of the project, emulating the 68k code on an ARM processor. I still think that the performance can rival and in some cases exceed a similarly priced FPGA-based solution. And I think the “switch to ARM” is a funny thing to make.

Technology and prices have changed in the past year. I posted pictures of a board with an STM32H7 processor running at 400 MHz and costing over $20. Now an iMXRT1050 at 600 MHz can be had for just $5.60. The iMXRT1050 also integrates two USB PHYs, further reducing cost over the old design. So I am going for this processor now.

I finished my lab, and I’m quite pleased with it:

A06064CC-D1A9-4365-8DF2-FE19F6E45724.jpeg

D2554469-E86E-4D01-B931-8433D8C0A5B4.jpeg

I have also realized that in addition to a lab, what I need is a factory space with a robotic pick-and-place machine in which to do the assembly of not just my Mac products but also my other products. Hand assembly and contract assembly in China both did not meet my requirements in terms of cost and volume and my oversight. So I am working on the factory currently. My best friend will be running it. We are going to try selling audio products, test equipment, and vintage computer products, all of our own design. I think that with one or two very skilled operators and some new, cheaper-than-ever machinery, we can achieve lower assembly costs than anyone else offers for low-volume boards with many component placements (100+, mostly resistors and capacitors). 

Now the bad news is that the setup cost for the board I want to make for the Maccelerator is some $500. This new cheaper processor is very small and requires a more expensive board. But the cost of the components in the design and the unit cost of each board are still low, and I think I can get the board design right on the first try.

Since all of this stuff is quite expensive, I will be offering up for sale much of my Mac and Apple II collection once I finish restoring it (using my lab of course) to try and eke back some of the costs. I have too many of some models, like I have 4 SEs and 4 LC IIs. IIgs machines are really going for a lot these days too and I have 3 of these. I also have a lot of Tektronix oscilloscopes which I will be selling once restored. 

Talking about board design, another important topic I’ve been studying is signal integrity, and I think I’ve absorbed enough information on this subject to design boards with great performance and electromagnetic compatibility. This is really important. 

So so that’s my progress in the past year in a nutshell. 

 
Top