joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.81k stars 383 forks source link

Mounting Ys 3 (pc98) and trying to boot nada happens!? [Configuration GUI is unclear about changes to settings, state, and saving] #1279

Open Elrinth opened 5 years ago

Elrinth commented 5 years ago

Describe the bug Booting from drive A...

To Reproduce Steps to reproduce the behavior:

  1. copy ys3 program and data fdd to folder mounted for dosbox-x
  2. type: imgmount 0 ys31.fdd -fs none
  3. type: imgmount 1 ys32.fdd -fs none
  4. type: boot -l a

I also tried: boot ys31fdd ys32.fdd -l a

Expected behavior The game should start?

Screenshots image

Environment (please complete the following information): Windows 10 DOSBox-X 0.82.22, 3000 cyc/ms, Guest OS (latest release) No config

Additional context I'm trying to get proper audio with any emulator of Ys3, but I can't. Neko Project 2 would just play PC speaker single channel. :(

joncampbell123 commented 5 years ago

The copy I found boots and runs fine, though uses only the PC speaker. They are .D88 files designed for PC-98.

It's possible your copy is designed for PC-88, which (as far as I know) is Z80 based.

joncampbell123 commented 5 years ago

Try adding --debug to the BOOT command to break into the debugger at the entry point of the boot sector.

If the instructions look random and nonsensical, then the copy is not designed for 8086-based PC-98 systems and is designed for the 8-bit processor of the PC-88.

joncampbell123 commented 5 years ago

DOSBox-X does not emulate the PC-88.

yksoft1 commented 5 years ago

Try convert disk images to .D88 format. BTW: You should make a "User disk" before playing Ys 3. Boot the Program disk with "COPY" key down, Put an empty disk in Drive 2, choose settings (Display mode, FM sound board, memory size and difficulty), then choose the last option to write your User disk in Drive 2.

While playing, you should put the User disk in Drive 1 and the Data disk in Drive 2.

Elrinth commented 5 years ago

I tried converting it to d88 and loading into dosbox-x but it made no difference. I'll try to look around and see if I find a different copy.

Elrinth commented 5 years ago

I found a different copy, but seems to be the same. You guys seem to know alot so I'm going to ask a question: can I play Ys 3 Wanderers on a pc9821?

joncampbell123 commented 5 years ago

I am able to boot Ys3 with this boot command in my dosbox.conf:

boot program.d88 data.d88

joncampbell123 commented 5 years ago

The copy I test may have come from the Neo Kobe collection on The Internet Archive.

Elrinth commented 5 years ago

image tried with the neo kobe collection d88s.

but using the "Ys III - Wanderers from Ys [FD] [Set 1]" which is HDM files on Neko Project 2 gave me fm synthesis. <3

joncampbell123 commented 5 years ago

Ah.

If you boot the Neo Kobe copy like that, the game hangs trying to read from floppy drive #2 instead of #1 (can be seen in the debugger in a loop calling INT 1Bh).

It works (with FM) in DOSBox-X if you run like this:

[autoexec] imgmount 0 "Ys III - Wanderers from Ys [Set 1] (Program disk).hdm" -t floppy -fs none imgmount 1 "Ys III - Wanderers from Ys [Set 1] (Data disk).hdm" -t floppy -fs none boot -l a

joncampbell123 commented 5 years ago

Um... but that copy seems to start right at a boss battle.

Elrinth commented 5 years ago

hehe true... would set Ys III - Wanderers from Ys [Set 1] (User disk - FM+Easy).hdm in slot 1 and data disk in slot 2 and it'¨s from the beginning in neko atleast.

joncampbell123 commented 5 years ago

The "dd6" version does not have FM, but starts at the beginning of the game. It appears to be the same version I was testing from before this issue.

Elrinth commented 5 years ago

yeah it seems you need to make a user floppy in order to select FM sound if you read the manual to the game. so the game is really default horrible beepy sound.

but game iwll still not boot for me when I do: image

Ï also tried edit AUTOEXEC as you describe above... sameproblem. after having typed: "mount c c:\dosgames" and "c:"

joncampbell123 commented 5 years ago

I see what you mean, the user disks are in fact bootable and start from the start of the game.

There's introductory chatter and the title screen.

joncampbell123 commented 5 years ago

In fact the user disk for the dd6 set also offers FM music.

Elrinth commented 5 years ago

Well I tried my best with dosbox-x, and you tried your best to instruct me. it simply won't load on my computer. Thanks for taking your time. I wanted to compare your ambitious version of DosBox vs Neko Project 2, but guess I'll be only using that one.

Thank you for being patient with me. Keep up the great work!

joncampbell123 commented 5 years ago

Are you sure?

It works, starting from the beginning, with the "fd set 1" disks:

[dosbox] memsize=8 machine=pc98 pc-98 sound bios=true cascade interrupt ignore in service=true

[cpu] core=normal cputype=486 cycles=20000

[autoexec]

imgmount 0 "Ys III - Wanderers from Ys [Set 1] (Program disk).hdm" -t floppy -fs none

imgmount 0 "Ys III - Wanderers from Ys [Set 1] (User disk - FM+Normal).hdm" -t floppy -fs none imgmount 1 "Ys III - Wanderers from Ys [Set 1] (Data disk).hdm" -t floppy -fs none boot -l a

joncampbell123 commented 5 years ago

I don't think memsize=8 is necessary.

cascade interrupt ignore in service=true is an artifact of DOSBox-X before it became auto in recent commits.

Elrinth commented 5 years ago

I tried inputting the stuff you told me under Configuration GUI for DosBox and CPU. When I hit Reset GUI the program shuts off and all the settings I input are gone.

I tried building in visual studio and setting memsize 8 machine pc98 ticking pc98 sound bios checkbox writing true instead of auto in cascade intterupt ignore in service.

Then I hit reset guest.

but when all is written as you say... except the autoexec part... I am still doing the manual drive mount etc. because it's on c:\dosgames and not in z: . it will still just do nothing on booting from drive A:

oh and it still says 3000 cyc/ms in the top.

however, changing the CPU to 486 in the top menues will make it says 20000 cyc. but the game will still not boot.

am i supposed to write that stuff you wrote above into a configuration file or something? I'm on windows10, I don't find any DosBoxfolder in c:/Users/$MyUSer$/AppData/Local/

yksoft1 commented 5 years ago

You must click "Configuration - Save..." after changing anything in the Configuration GUI or no changes will be saved.

If DOSBox-X isn't running in PC-98 mode, PC-98 floppies won't boot at all.

it will still just do nothing on booting from drive A:

oh and it still says 3000 cyc/ms in the top.

however, changing the CPU to 486 in the top menues will make it says 20000 cyc. but the game will still not boot.

am i supposed to write that stuff you wrote above into a configuration file or something? I'm on windows10, I don't find any DosBoxfolder in c:/Users/$MyUSer$/AppData/Local/

joncampbell123 commented 5 years ago

Write the settings to dosbox.conf with NOTEPAD.EXE and then try it.

joncampbell123 commented 5 years ago

To be fair it does sound like there are some user issues that need to be resolved with the configuration GUI and saving settings.

Allofich commented 5 years ago

I'm on windows10, I don't find any DosBoxfolder in c:/Users/$MyUSer$/AppData/Local/

Regular DOSBox uses a .conf file in a user data folder like that, but DOSBox-X reads its configuration file (called "dosbox.conf") from within the same folder as wherever you have dosbox-x.exe.

joncampbell123 commented 5 years ago

The initial "BIOS screen" will have a very distinct PC-98-ish look when DOSBox-X starts up in PC-98 mode. Are you getting that?

dosbox_000 command_000

joncampbell123 commented 5 years ago

DOSBox-X is derived from DOSBox, and it inherits the default behavior of IBM PC/XT/AT emulation. You must set machine=pc98 to set the PC-98 mode instead of IBM PC/XT/AT mode.

IBM PC and PC-98 have very different hardware, I/O port layout and BIOS calls.

Elrinth commented 5 years ago

aha, so you need to restart the whole application after you saved the settings. simply saving configuration and resetting guest doesn't work. now it is working perfectly. thanx for help everyone!

IMO showing the target machine in the title could maybe be an improvement.

do you know how to insert a japanese font like they do for anex86 and project neko 2? cuz textboxes are all black only.

yksoft1 commented 5 years ago

Copy Anex86.bmp or FONT.ROM to where DOSBox-X executable is.

do you know how to insert a japanese font like they do for anex86 and project neko 2? cuz textboxes are all black only.

RNMB15 commented 5 years ago

Could you add it when trying to boot an NEC PC 98 Disk image into IBM PC / XT / AT, which will display the following ?: "In IBM PC / XT / AT mode, NEC PC 98 disk images can not be booted."

Elrinth commented 5 years ago

My issue has been solved, it was what we call here in Sweden: SBS -> Skit bakom spakarna ("shit behind the wheels" which basically means User error). But there is room for improvement in plenty of places to prevent this from happening for the next user.

Everything I asked for has been answered, and everyone has been very helpful!

RNMB15 that should be a separate issue, but I agree, if the system can somehow identify that it is indeed a PC98 floppy, then it should give a warning to the user that the user is trying to mount a floppy which isn't for IBM PC. Or as you say, whenever we try to boot it, rather than just showing forever "Booting from drive A..." we could be presented a Warning error/Error message that the floppy isn't IBM compatible. Or that it atleast times out after awhile :)

If no one has anything more to add, I think we can close this issue and we can create Issues for improving the UX. Ok? I will leave this issue for a bit longer, then I will close it. OK?

joncampbell123 commented 5 years ago

If you boot PC-98 DOS on an IBM PC, you get the same effect just as if you boot IBM PC DOS on PC-98. You're seeing what happens when PC-98 boot code is run on IBM PC. So DOSBox-X is accurate here about the issue :)

joncampbell123 commented 5 years ago

However both are DOS and I'm not sure it's possible without a lot of guessing to autodetect like that, especially considering some of the booter games that either do not use DOS or use their own custom DOS.

I'm also concerned about adding checks that might add spurious complaints when someone somewhere wants to play with x86 ASM and write their own floppy boot sector code and homebrew OS.

Elrinth commented 5 years ago

I think part that the configuration save part can be handled better and that you don't need to restart the whole program for settings to actually be used.

I also think that there should be a added big fat green blinking save button (it can be grey when no changes have been made) indicating that settings have been changed, maybe you should click this button to save and apply your settings where all the other buttons are, instead of under the dropdown menues.

Also I think in the title of the program it should be saying what machine you are emulating.

Shall I create issues for this?

joncampbell123 commented 5 years ago

Not yet. Discuss it here first. DOSBox-X development is slow right now because my professional work is coming up to a deadline.

Allofich commented 5 years ago

Improvements to the GUI are something else, but I like the idea that DOSBox-X does whatever a real machine does if you try to run PC-98 code on an IBM PC or vice-versa. I like the accurate-to-the-real-thing approach as it gives a steady goal that everyone can more or else be happy with, provides a consistent answer for how to go forward as long as it is kept to, and it might even be useful for emulation somehow to be able to recreate errant behavior on the PC-98 or IBM PC when running incompatible programs.

RNMB15 commented 5 years ago

In the configuration GUI you can add three buttons, like the picture.

Bild 1

The picture is just a model.

The left (OK) button closes the window and saves the changed settings, the middle button (Cancel) closes the window without saving the changed settings, the right button (Apply) saves the changed setting, the window remains open and the button is only active if one or more settings are changed.

yksoft1 commented 5 years ago

Improvements to the GUI are something else, but I like the idea that DOSBox-X does whatever a real machine does if you try to run PC-98 code on an IBM PC or vice-versa. I like the accurate-to-the-real-thing approach as it gives a steady goal that everyone can more or else be happy with, provides a consistent answer for how to go forward as long as it is kept to, and it might even be useful for emulation somehow to be able to recreate errant behavior on the PC-98 or IBM PC when running incompatible programs.

However I don't think regular PCs will even try to boot from 1024-bytes per sector floppy disks even if BIOS and floppy disk controller supports 3-mode.

joncampbell123 commented 5 years ago

No they can't, but a realistic action is to try to read 512 bytes/sector and fail in IBM PC mode.

RNMB15 commented 5 years ago

I tried Windows 95 __.fdi from the page:

https://winworldpc.com/download/3fe280a6-c39c-c39f-18c3-9a11c3a4efbf To boot but then the following error message appears. guest os_000

did I do something wrong? I have in the dosbox config at the (cputype = pentium_mmx) indicated. und dass eingegeben: imgmount 0 Win95.fdi -t floppy -fs none

I have that prepared: Bild 2

joncampbell123 commented 5 years ago

Just to confirm, Windows 95 is not convinced DOSBox-X is a 386?

Try setting CPU type to 386 instead of auto.

RNMB15 commented 5 years ago

I changed the CPU type to 386 with dosbox Config. but the same error message appears. Bild 3

joncampbell123 commented 5 years ago

Try giving it a fixed cycle count, like 20000.

RNMB15 commented 5 years ago

I have set the cycles to 20000 in the dosbox config. but the error message still appears. Bild 2

yksoft1 commented 5 years ago

So it means that PC-98 Windows 9x DOS detects 386 differently from how IBM versions do?

joncampbell123 commented 5 years ago

I don't have a bootable image of Windows 95 but is it using BIOS calls or looking for BIOS signatures to detect CPU?

RNMB15 commented 5 years ago

This is the download link:

https://drive.google.com/open?id=12IjuK6mT-JQ1I_Vc3wjYVg8OH7L0hKpo

jackson2k2 commented 2 years ago

This problem with Windows 95 still persists nearly three years later. I am not sure what it is.

Wengier commented 2 years ago

The problem with PC-98 Windows 95 is hopefully fixed in #3654.