Advanced search  


2022.06.03 added links to LisaList1 and LisaFAQ to the General Category

Pages: [1]   Go Down

Author Topic: Lisa PiStorm - possibly the ultimate upgrade  (Read 5323 times)


  • Administrator
  • Hero Member
  • *****
  • Karma: +104/-0
  • Offline Offline
  • Posts: 772
  • writing the code,writing the code,writing the code
    • LisaEm
Lisa PiStorm - possibly the ultimate upgrade
« on: October 26, 2022, 04:29:47 pm »

The PiStorm project is a Raspberry Pi 3A (or 3B with riser) with an FPGA attached to the GPIO pins, which directly replaces the M68000 CPU, it has been used in a Mac SE as well as originally various Amiga models.
It does not work with Lisa hardware, likely because the FC0, FC1, FC2 lines are not accessible from the PiStorm. It's possible that just either grounding FC2 (supervisor mode) or tying it to +5V will make it work, if not perhaps FC0 or FC1 would need to be pulsed properly.

It runs an emulator on the RPi itself, but the more interesting bit is that it can be used to directly access the Lisa's hardware. This can allow us to use the Lisa's hardware as a terminal. i.e. CRT+keyboard+mouse, and possibly all the I/O ports and expansion slots from Linux on the Pi, if we build a bunch of device drivers that Linux understands.
So first thing that's needed to be written is a memory driver similar to /dev/mem to allow random access to the Lisa's hardware memory I/O - this would be set to 2MB or so. Next, we'll need to initialize this driver by setting the Lisa's MMU to map all memory, including I/O space the same way as the "H" ROM does, but then set the video page memory to a fixed address, as low as possible.  (We can even download the Lisa Boot ROM from the Lisa's memory space and use it for the emulator later.)

Next we'll need to write several drivers, one of the Lisa Frame Buffer, but on the Linux side ofc, same for the keyboard, and mouse. We could also add drivers for the Z8530 and possibly VIA6522s to allow access to printers/ProFile hard drives, a floppy driver, etc.
Next we'll need to set up X11 to mirror from the RPI's HDMI output and the Lisa's 1 bit output.
This will allow us to use the RPi in the Lisa and access the desktop/etc. You could then use the Lisa's hardware as a console for Linux, and run whatever software, even "abominations" such as DOSBox, etc.
The RPi's sound output could be connected with an amplifier to the Lisa's sound output, likely on the I/O board, though there's a SPKR line on the expansion slots that could also be used. Or, sound could be snaked out the back to a pair of amplified speakers. I'd also use low profile USB and ethernet extenders to come out of the back of the Lisa. These are important to remote control the RPi incase of issues, but also, to allow you to use a standard USB keyboard and mouse incase your Lisa doesn't have working keyboards, etc.

LisaEm will need to be started in Kiosk mode with raw video, and also modified to allow you to use passthrough for I/O. Passthrough for I/O will allow LisaEm to reroute memory access to some device, say the Z8530 directly the hardware Z8530, and same thing for various expansion slots, etc. as the user decides. Otherwise devices such as the floppy or ProFile hard drives can be virtualized and disk images used from the SDXC card slot on the RPi3.
We also need some way to detect IRQs, not sure if the PiStorm allows for that at this time, but that might not be a blocker if we don't allow passthrough I/O and use polling to see if a device needs attention.
You don't know what it's like, you don't have a clue, if you did you'd find yourselves doing the same thing, too, Writing the code, Writing the code
Pages: [1]   Go Up