Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UNIX 3.51 hangs on second boot after install due to lack of modem emulation #13

Open
philpem opened this issue Nov 28, 2019 · 6 comments
Labels
bug Something isn't working critical This is a really big deal.

Comments

@philpem
Copy link
Owner

philpem commented Nov 28, 2019

UNIX 3.51 boots fine after installation. After shutting down and rebooting, however, the UNIX PC hangs on the "waiting" screen.

This is due to the modem port and UART not being emulated.

This lack of emulation also causes several error messages during installation:

  • /dev/ph0 can not be opened. Touch any key to continue.
  • Failed to open modem port. Error return= 19
@philpem philpem added bug Something isn't working critical This is a really big deal. labels Nov 28, 2019
@philpem
Copy link
Owner Author

philpem commented Nov 28, 2019

This commit is probably worth a look: 013bd8e

8274 UART and modem/phone control registers aren't emulated yet (#1 and #3 respectively)

Printer status/data aren't really handled either.

@philpem
Copy link
Owner Author

philpem commented Nov 28, 2019

This has previously been reported by Robert Masterson on Mon, May 12, 2014 at 10:18 PM -- along with a workaround.

  1. Leaving .lpstartsched in /etc/rc does not cause UNIX to hang on boot, but with .phinit and .modeminit in /etc/rc, UNIX does hang on boot.

@philpem philpem changed the title UNIX 3.51 hangs on second boot UNIX 3.51 hangs on second boot after install due to lack of modem emulation Nov 28, 2019
@philpem philpem mentioned this issue Nov 28, 2019
@agentbooth
Copy link
Contributor

My investigation of the issue is that .phinit (which calls .phclr) is the culprit which hangs installation. I modified 08_Foundation_Set_Ver_3.51.IMD to remove .phinit from the rc file (hexediting to spaces) and was able to install successfully. I have not otherwise been able to get .phclr to run cleanly. .phclr doesn't attempt to read or write any regs so I don't know what the issue is.

@agentbooth
Copy link
Contributor

hey @philpem -- did you get my email with the modified disk 08? I was hoping maybe you could host it on your website? Or alternatively I could check it into the github. I've attached it here for reference.
08_no_phinit.zip

@philpem
Copy link
Owner Author

philpem commented Nov 15, 2020

I did, yes. I've been really busy this past week and it slipped my mind...!

I think a better fix would be to emulate enough of the modem hardware to get these scripts to run. But it's good to have the workaround for now.

@agentbooth
Copy link
Contributor

Ok, no problem -- I figured you must be busy!

Yes, definitely would like to get it to advance naturally (even if there was still an error). When running .phinit, no regs are written to so it seems like something at the OS level with one of the /dev devices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working critical This is a really big deal.
Projects
None yet
Development

No branches or pull requests

2 participants