Okay, after some more testing I don't actually think it's a problem with ESProFile.
I went back and tried it with my original parallel card again, and it doesn't work with that one either. I think I had just never tried switching images to LOS in the Selector on that one before, so I never saw the problem and thought it was working fine. So my guess is that the parallel card itself isn't the problem either.
I'm now thinking that the issue might have something to do with the way that the Selector boots from slot devices. I went through and double-checked that the entire first block is being read from ESProFile into the Lisa's RAM properly, and it's a perfect match, so it has to be something on the Lisa side of things. And the only thing I can really think of on that end would be the Selector itself.
When the Lisa ROM boots from the parallel card, it loads and executes the parallel card ROM code, which handles loading that first block from the disk, whereas the Selector doesn't use the parallel card ROM at all and just loads the block directly into RAM itself. It makes sure to load a copy of the parallel card ROM into the proper place too, but I don't believe this ever gets executed; the Selector just bypasses it and jumps straight to the boot block code anyway. So it's probably that something isn't being configured properly thanks to the parallel card ROM never being executed.
I went back and tried it with my original parallel card again, and it doesn't work with that one either. I think I had just never tried switching images to LOS in the Selector on that one before, so I never saw the problem and thought it was working fine. So my guess is that the parallel card itself isn't the problem either.
I'm now thinking that the issue might have something to do with the way that the Selector boots from slot devices. I went through and double-checked that the entire first block is being read from ESProFile into the Lisa's RAM properly, and it's a perfect match, so it has to be something on the Lisa side of things. And the only thing I can really think of on that end would be the Selector itself.
When the Lisa ROM boots from the parallel card, it loads and executes the parallel card ROM code, which handles loading that first block from the disk, whereas the Selector doesn't use the parallel card ROM at all and just loads the block directly into RAM itself. It makes sure to load a copy of the parallel card ROM into the proper place too, but I don't believe this ever gets executed; the Selector just bypasses it and jumps straight to the boot block code anyway. So it's probably that something isn't being configured properly thanks to the parallel card ROM never being executed.