General Category > LisaList2
Cameo/Aphid selector
stepleton:
Well... Xenix 3.0 works with the emulator with the modifications Ray mentioned in place --- I have to admit that I didn't take a very close look at those mods before, and I see now that there's more to it than just speed. And since there's a fine workaround in the modified disk, that's probably too much to try to accommodate for the time being.
And that's because it's time to forget about Xenix for now, since I have MacWorks problems! I seldom run MacWorks, and an installation of XL 3.0 proceeds normally. MacWorks also boots without trouble. Unfortunately, it's a bit flaky once it does, with occasional crashes. And it gets even worse... MacWorks XL 4.5 (the HFS-modded version of XL that you can find on Macintosh Garden) will give a bomb error when you try to install it onto the drive, and while MacWorks Plus 1.1 will install, it'll start raising errors (and crash eventually) if you try to copy the System Folder onto the simulated hard drive.
So, it looks like it's back to Logic Analyser Land for me. I suspect it's another handshaking hiccup, similar to what the problem was with the upper parallel port.
rayarachelian:
--- Quote from: stepleton on February 06, 2021, 09:06:42 pm ---And that's because it's time to forget about Xenix for now, since I have MacWorks problems! I seldom run MacWorks, and an installation of XL 3.0 proceeds normally. MacWorks also boots without trouble. Unfortunately, it's a bit flaky once it does, with occasional crashes. And it gets even worse... MacWorks XL 4.5 (the HFS-modded version of XL that you can find on Macintosh Garden) will give a bomb error when you try to install it onto the drive, and while MacWorks Plus 1.1 will install, it'll start raising errors (and crash eventually) if you try to copy the System Folder onto the simulated hard drive.
--- End quote ---
Meh, I wonder if the MacWorks issues LisaEm has are timing related too. Hmmmm.
stepleton:
Ray, do you find that the problems mostly come around when you try to work with the hard drive? In other words, does it run fine from a floppy drive?
rayarachelian:
--- Quote from: stepleton on February 07, 2021, 03:40:48 pm ---Ray, do you find that the problems mostly come around when you try to work with the hard drive? In other words, does it run fine from a floppy drive?
--- End quote ---
With MacWorks, yes, absolutely. There was some bug introduced shortly after the 1.0 release, where upon returning to the Finder, it would crash, but that was fixed recently back around August with all the CPU fixes.
It now mostly works, though sometimes after installing to the hard drive, it shows a sad mac and other times it works. But not issues with the floppy.
Edit: For 1.2.8, I'm leaning towards rewriting profile.c and that widget.c code that rolled back as a FSM. I found some GPL C Finite State Machine generators on github, there's a few that take a yaml file that describes the states, inputs, and outputs for each state, and generate C code, since profile.c is a big ball of switch/case statements and annoying to debug. I'll likely reuse the code in profile.c in those states after generation, but it will be a bit cleaner.
If it turns out to be a timing thing where the guest OS wants to wait at minimum X ms, I'll likely patch the guest OS to get around the waiting and let it run at full speed.
But yeah, plans for 2.0 or possibly 1.2.8 is to use HLE to bypass all the block read/writes, but that will require more disassembly and reverse engineering.
stepleton:
It miiiiiiight be the case that my firmware is timing out too soon waiting for MacWorks to toggle the ~PSTRB line during reads and writes (e.g. here). If I had to guess, I'd say that MacWorks is more aggressive than some other operating environments about servicing interrupts while it's sending bytes to and from the drive.
If this hypothesis is right, then when my code gave up on ~PSTRB, it would stop sending bytes, but MacWorks would keep reading from the parallel port data lines. The nonsense values it would read would then have been what caused such a variety of trouble, especially if the values were code that it would then go on to try to execute.
Bumping up the amount of time my code waits on PSTRB seems to improve the stability of MacWorks Plus 1.1 quite a bit.
I'm not certain it's 100% fixed yet, but I think I've made progress.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version