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

Booting from hard disk fails if floppy drives are disabled after installation #21

Closed
andrewbird opened this issue Oct 29, 2017 · 1 comment

Comments

@andrewbird
Copy link
Contributor

If PC-MOS is installed from floppy disk to hard disk after which the floppy disks are disabled, booting from the hard disk is no longer possible as the boot process becomes confused about the location of command.com. There's a long discussion over at dosemu2/dosemu2#502, where it seems that although $MOS.SYS wants to open C:\COMMAND.COM, C: is no longer deemed valid as in the MOS BDB linked list the only drive is number '00'. This is the result:
pcmos-no-floppy-with-bootblk

stsp added a commit to stsp/pcmos386v501 that referenced this issue Nov 5, 2017
This is a quick-fix that prevents HDD from moving to A:.
It is not clear why HDD does not work on A:, maybe it should?
Maybe someone else can code up the more intrusive fix.
stsp added a commit to stsp/pcmos386v501 that referenced this issue Nov 5, 2017
This is a quick-fix that prevents HDD from moving to A:.
It is not clear why HDD does not work on A:, maybe it should?
Maybe someone else can code up the more intrusive fix.
@roelandjansen
Copy link
Owner

thanks for the feedback

roelandjansen added a commit that referenced this issue Nov 14, 2017
MOSDDBLK: always reserve 2 drives for floppies [fixes #21]
the-grue added a commit to the-grue/pcmos386v501 that referenced this issue Aug 10, 2019
If no floppies are installed, MOS should invalidate first 2
drives, see roelandjansen#23

Re-applied as it was removed as part of code audit.  Discovered
in v5.02 GA.  Original fix by @stas.
the-grue added a commit to the-grue/pcmos386v501 that referenced this issue Aug 10, 2019
    This patch extends e543c1f3 to allow any boot HDD from A to C.
    It unhardcodes the value "2" for boot HDD in MOSINIT2.ASM.
    This change does not affect the floppy boot because of:

    test al,80h ; hard drive?
    jz doflpy   ; no

    in boot code.
    The number of floppies is saved into "sbcflops" var, and is
    currently not used anywhere. This is for further extensions.
    I had no success in booting from drives past C but this is
    unlikely being of any importance.

    Re-applied as it was removed as part of code audit.  Discovered
    in v5.02 GA.  Original fix by @stsp.

Also includes fix:

   MOSDDINT: invalidate 2 drives if no floppies [fixes roelandjansen#21]
    If no floppies are installed, MOS should invalidate first 2
    drives, see roelandjansen#23

    Re-applied as it was removed as part of code audit.  Discovered
    in v5.02 GA.  Original fix by @stsp.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants