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

New BOOT -bios option #774

Open
joncampbell123 opened this issue Jun 20, 2018 · 2 comments
Open

New BOOT -bios option #774

joncampbell123 opened this issue Jun 20, 2018 · 2 comments

Comments

@joncampbell123
Copy link
Owner

@joncampbell123 joncampbell123 commented Jun 20, 2018

I just added initial code to support booting to a ROM BIOS image using the BOOT command.

Initial test results so far below.

IBM PC/AT mode (using ROM images from the PCem project):

  • AMI 286 BIOS does not display anything, issues morse code to PC speaker indicating a problem
  • AMI 386 and AMI 486 just make "buzzing" noises to the PC speaker, no progress
  • IBM PC (5150) BIOS from 1982 fails to set up a stack, jumps to zeros, and then to some arbitrary code following the zeros. I don't think it's supposed to do that. It does poke at CGA registers at some point which suggests that getting it to work would have visible results when machine=cga.

PC-98 mode:

  • PC-9821 ROM BIOS image spins in an endless loop, checking some I/O ports, writing an opcode (OUT DX,AL + JMP FFFF:0000) to RAM, loading DX=43Dh and AL=00h and then JMPing to that opcode. One I/O write is issued, and then jumps to FFFF:0000 to begin execution of the BIOS from the start again. According to the webtech undocumented PC-98 I/O port list, port 43Dh controls bank switching of PC-98 ROM BIOS. Writing 00h to that port is supposed to bring in the contents of ITF.ROM to F8000-FFFFF which apparently contains the actual reset vector and startup code.

DOSBox-X won't be able to support running N88 BASIC without the ability to run the PC-98 ROM BIOS, which is the reason for this addition.

A bonus is that booting ROM BIOS images (in either IBM or NEC mode) enables analysis of the boot process.

@J1mbo
Copy link

@J1mbo J1mbo commented Jan 6, 2019

@joncampbell123 Thanks for this mod - exactly what I'm looking for. The BIOS file causes DosBox-X to apparently hang in my case, but how do you produce that diagnostic output?

@joncampbell123
Copy link
Owner Author

@joncampbell123 joncampbell123 commented Jan 7, 2019

@J1mbo Run it with --debug for extra information.

You may also want to run with -break-start to make DOSBox-X break into the debugger before it executes the first instruction in the BIOS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants