General Category > Lisa Project Ideas

LOS Compatible Accelerator

(1/2) > >>

sigma7:
When the Query Engineering Inc. / Sigma Seven Systems Ltd. XLerators were designed, Lisa users/purchasers were almost exclusively interested in using MacWorks Plus/II to run Macintosh applications. As a result, these accelerators were not designed to be used with the Lisa Office System and Programmer's Workshop.

The Lisa Office System uses the custom MMU design in the Lisa, which makes an accelerator design more challenging.

Now that FPGAs have become more affordable, along with the advent of "68000 core" designs (FX68K & TG68K) that can be implemented in an FPGA, I think the possibility of an accelerator that works in LOS is now a practical project.

My current thought is that this would involve a new CPU board, with the 68000 and MMU implemented in the FPGA, along with possibly all of the other CPU board logic, and with main memory on the same board to avoid the slot memory speed bottleneck. Perhaps the 32k of video memory would be separate to minimize the potential slow-down from sharing memory. Features to integrate software debugging would also be very beneficial as using a logic analyzer with the Lisa's 68k is limited without major equipment.

The potential for additional high speed hardware is there as well, such as a fast parallel port that (with a modified driver) might reach the limits of the DMA designs of the Apple ProFile and Patrick's IDEfile.

I see a post at www.atari-forum.com that describes the TG68K core running in an FPGA at 32MHz as being significantly faster than a real 68000 at 40 MHz. LOS running 10 times faster would be nice.

However, maybe such a project is of little interest with an equivalent or better emulator?

ried:
I would personally be interested in 3-5 units. I wonder if this approach would make them compatible with all Lisa hardware + software variants, from a Lisa 1 running LOS 1.2 all the way through the 2/10 running LOS 3.1?

bmwcyclist:
Depending on price I would be interested.

stepleton:
I would probably have interest if it retained full compatibility with other Lisa OSs and programs.

My recollection is that the Lisa MMU is limited to being able to handle only 2 MiB of physical memory. Would the idea be just to accept this as a fundamental limitation (if I'm right)? It might be reasonable as no original Lisa OS would have been written with the expectation of having more.

sigma7:

--- Quote from: stepleton on March 17, 2025, 04:59:16 am ---... if it retained full compatibility

--- End quote ---

That is what I would suggest aiming for. Perhaps something smart enough (and programmable/updateable as new requirements are discovered) so that things like adjusting speed to emulate exact original behaviour when reading the serial number and whatever other quirks require something other than full speed are done automatically.


--- Quote ---is .. the Lisa MMU .. limited to being able to handle only 2 MiB of physical memory

--- End quote ---

The MMU covers the entire 16 MB logical address space of the 68000. The 2 MB limitation of a stock Lisa is the physical slot memory circuitry. The MMU controls the mapping of chunks of the 16 MB logical address space to physical memory, the I/O board, and expansion cards.

I haven't carefully studied how LOS uses the MMU, but imagine a scheme such as this: putting the OS in one area, and different apps in other differing areas, and then swapping pages in/out from the hard disk to the limited physical memory which is moved from area to area as required.

If the emulated MMU were smart enough to know that memory didn't always need to be purged and moved (because there is more than enough), and so the swap operations didn't need to be used as much, further performance gains would result. This may require changes to the OS memory management in some cases, but there may be others where the hardware can provide some improvement by itself.

eg. it may be the memory manager doesn't keep careful track of which pages are where, instead it checks if there is memory in the space that it needs to access, and only if there isn't memory there it sacrifices some other address space to move memory and reloads from disk. It may not know, or be easily fooled that there is memory everywhere it is needed and doesn't notice that it hasn't needed to relocate any.

Navigation

[0] Message Index

[#] Next page

Go to full version