News:

I've successfully built LOS from source!: https://lisalist2.com/index.php/topic,644.0.html

Main Menu

A Lisa Inside An FPGA

Started by AlexTheCat123, September 04, 2025, 05:20:35 PM

Previous topic - Next topic

AlexTheCat123

Quote from: stepleton on August 13, 2026, 06:45:44 PMI'm guessing you can't rename the "Espressif USB JTAG/serial debug unit" that you find in an `lsusb` listing, but I wonder if there's a way to match the corresponding bus and device addresses in the listing to a /dev/ device without involving the hub.

There wasn't any way I could come up with to discriminate between the two ESP32s that didn't involve looking at the hub. They look indistinguishable from each other, and any method of changing the device's name (which I'm not even sure you can do on an ESP32) would require you to know which is which so that you know what device needs to be named what in the first place.

Quote from: stepleton on August 13, 2026, 07:13:51 PMI mention this because LisaFPGA rejects this form of Marxism by pitching an Error 75 when attempting to boot one of these Monitor drive images, or at least it does for me. I'm not sure why this would happen, and it's possible the problem is on my end, so I wonder: does it happen for anyone else?

Wow, that's not good! Come to think of it, I'm not sure that I ever tested the Monitor on it, which is a huge oversight on my part. I'll take a look once I'm done with ESFloppy and see if I can replicate those problems.

AlexTheCat123

Okay, as part of my ESFloppy testing, I just booted several of the Twiggy Monitor images, both versions 11 and 12, and they all worked great. I was even able to start up Smalltalk. So whatever your problem is, it probably has something to do with the ProFile mod.

One other thing though: have you tried running with 1MB of RAM instead of 2MB? Smalltalk refused to load until I downgraded to 1MB, so perhaps you're having the same problem (just with more extreme symptoms) on your setup?

stepleton

Quote from: AlexTheCat123 on August 13, 2026, 10:19:44 PMThere wasn't any way I could come up with to discriminate between the two ESP32s that didn't involve looking at the hub. They look indistinguishable from each other, and any method of changing the device's name (which I'm not even sure you can do on an ESP32) would require you to know which is which so that you know what device needs to be named what in the first place.

I wonder if you could change the ESProFile and ESFloppy firmware so that each device identifies itself on the serial port, perhaps in response to a challenge byte. The script could then connect to each /dev/ttyACM* device in order, trying to find one that says "how do you do I am an ESProFile on a LisaFPGA".

It would be a bit impolite if people had other serial port devices on their computer, but since the script is already somewhat brash, maybe it's okay. As a conservative choice of challenge byte, how about $11, the "XON" byte for serial port software flow control. It's one that literally means "go ahead and send data", and if I were writing a serial port program, I'd avoid giving the XON and XOFF bytes any other interpretation. So it seems more likely to be harmless if you send it to some bystander device.

One question: my YOLO assumption that it's not the end of the world if the ESProFile gets ESFloppy firmware or vice versa --- is this actually a safe assumption or could it break things? (Assume no real ProFile or floppy drives are connected to the LisaFPGA.)

QuoteOne other thing though: have you tried running with 1MB of RAM instead of 2MB? Smalltalk refused to load until I downgraded to 1MB, so perhaps you're having the same problem (just with more extreme symptoms) on your setup?

Good thought... I gave it a try (on both 01 and 10 RAM jumper settings) and no dice, unfortunately!

AlexTheCat123

Quote from: stepleton on Yesterday at 04:02:18 AMI wonder if you could change the ESProFile and ESFloppy firmware so that each device identifies itself on the serial port, perhaps in response to a challenge byte. The script could then connect to each /dev/ttyACM* device in order, trying to find one that says "how do you do I am an ESProFile on a LisaFPGA".

That's an option, but it doesn't solve identification of the devices when they're still fresh from the factory and haven't been programmed with anything yet. In that situation you're still stuck with the hub, and while some people will be using the script to upgrade existing firmware, many others will be using it to install firmware for the first time. And in the event that you have to hold the BOOT button to get your ESP32 to program (which happens from time to time on ESP32s for inexplicable reasons), it wouldn't output that identity data anyway, even if it IS properly programmed.

Quote from: stepleton on Yesterday at 04:02:18 AMGood thought... I gave it a try (on both 01 and 10 RAM jumper settings) and no dice, unfortunately!

Darn! So clearly whatever it is, it's something to do with the ProFile version in particular. Can you attach or email me the exact image you're using so I can test with an identical config?

I guess one other thing you can try too if you haven't already: mess with the clock speed and see if it works at certain speeds and not others. Perhaps it's incompatible with the overclock for some reason but works fine at stock speed...

stepleton

Quote from: AlexTheCat123 on Yesterday at 04:18:59 PMThat's an option, but it doesn't solve identification of the devices when they're still fresh from the factory and haven't been programmed with anything yet.

I'll live with just YOLOing port assignments as described provided you think it's low-risk. If I accidentally put ESFloppy firmware on the ESProFile or vice versa, is there any chance of bricking the board or causing hardware damage?

Quote from: AlexTheCat123 on Yesterday at 04:18:59 PMI guess one other thing you can try too if you haven't already: mess with the clock speed and see if it works at certain speeds and not others. Perhaps it's incompatible with the overclock for some reason but works fine at stock speed...

My experiments were all at stock speed, unfortunately! I wanted to remove acceleration as a factor.

AlexTheCat123

Quote from: stepleton on Yesterday at 04:33:09 PMI'll live with just YOLOing port assignments as described provided you think it's low-risk. If I accidentally put ESFloppy firmware on the ESProFile or vice versa, is there any chance of bricking the board or causing hardware damage?

Yeah, you should be fine. I've accidentally uploaded the wrong one to the wrong chip several times and nothing bad has happened. Although there is a trick you can use to identify which is which. Just press and hold the RESET button of one of the ESP32s and check to see which port disappears on your computer. The one that vanished is the one whose button you're holding down.

Quote from: stepleton on Yesterday at 04:33:09 PMMy experiments were all at stock speed, unfortunately! I wanted to remove acceleration as a factor.

That's a shame! Send me the image and I'll take a look as soon as I have time.