joncampbell123 / dosbox-x

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

Some PC-98 games can't boot #4842

Open leoxxx opened 6 months ago

leoxxx commented 6 months ago

Question

Freeze when screen display "F-DOS16".

Hard Rank.zip

Have you checked that no similar question(s) exist?

Code of Conduct & Contributing Guidelines

joncampbell123 commented 6 months ago

Works fine here. Can you please try one of the nightly builds? Also, what dosbox.conf are you using?

https://github.com/joncampbell123/dosbox-x/assets/6245486/f03761d8-14ba-420e-af3e-5a382f7e88fc

leoxxx commented 6 months ago

I‘ll try nightly build.

Here is config. dosbox-x.zip

2024-02-25_182756 dosbox-x-mingw-win64-20240224202329 failed.

joncampbell123 commented 6 months ago

Ah, you're trying to run it directly under the DOSBox-X kernel?

Try booting the disk image instead:

[autoexec]
boot "Hard Rank.hdm"
joncampbell123 commented 6 months ago

Also the disk image features a more customized "F-DOS" and I do not think this game was designed to run under standard MS-DOS.

leoxxx commented 6 months ago
[autoexec]
boot "Hard Rank.hdm"

Still freeze. But why can you boot it? Which build do you use? I'll try the VS build. VS build is also failed.

Anex86 is failed,too. But it has a date. 2024-02-25_194724

joncampbell123 commented 6 months ago

Latest source code commit, 64-bit Linux.

joncampbell123 commented 6 months ago

I will be making a release March 1st, see if that fixes it. If you are able to compile from source, try it.

leoxxx commented 6 months ago

@joncampbell123 Night Gunner.zip This one can boot, but have a error screen about BIOS after anime. Only np21/w can run it.

maron2000 commented 6 months ago

The Night Gunner disk is corrupted. Create a new MS-DOS bootable disk and copy all the files, then you can boot it. You can also run from native DOSBox-X.

night

Edit: The image you provided doesn't run on other emulators such as Anex86, but if you prepare the disk properly, it can run as well. night_anex

leoxxx commented 6 months ago

I try copying all files from the image to ohter fine image, it is failed. So I said "Only np21/w can run it."

maron2000 commented 6 months ago

Very funny that you oppose to what I showed in a screenshot.

maron2000 commented 6 months ago

I add the screenshot for DOSBox-x (booted) and T98-Next. Both didn't work with the image you provided, but worked preparing the image I explained above.

night3 night4

leoxxx commented 6 months ago

Can you upload your fix image? I try 2 ways to copy all files. First, delete all flies from fine image, then, 1: convert it to fdi, then copy all files by anxdiet.exe. 2: copy all file by dosbox-x. Now I can run it. It must use a new format image. Why can't use fine image directly?

leoxxx commented 6 months ago

The Night Gunner disk is corrupted. Create a new MS-DOS bootable disk and copy all the files, then you can boot it. You can also run from native DOSBox-X.

night

Edit: The image you provided doesn't run on other emulators such as Anex86, but if you prepare the disk properly, it can run as well. night_anex

I think something wrong with the boot file for the image. I copy all files except boot files(io.sys, msdos.sys, command.com), then it can work fine. And I found copy all file to all files except boot files to a 2HD(1.23M) image will be insufficient space on a Japanese MS-DOS 6.2 bootable image, but freedos for PC-98 boot able image is O.K.(just 2 files, KERNEL.SYS & COMMAND.COM) I try copying the boot files to the error image, it is still error.

maron2000 commented 6 months ago

You need a DOS 3.3 if you want to boot genuine DOS on a 1.25MB floppy, otherwise you will not have enough space to put everything in a single drive. I haven't tried but I think you can use a 1.44MB floppy if you want to use DOS 5.0 or 6.2.

leoxxx commented 6 months ago

Test 1.44M is O.K. But np2w.exe doesn't support it, np21w.exe support it. I'll try dos 3.3 to fix the image. Thank you.

maron2000 commented 6 months ago

~~np2/w is PC-9801 emulator, which was never equipped with a 1.44MB floppy. You must use np21/w to use it.~~ You can use 1.44MB floppies on np2w with USE144FD=TRUE (it is always true on np21/w) 144fd

leoxxx commented 6 months ago

So strange. I fixed the image. Other emulator is O.K. But dosbox-x still error. release: 2023.10

fix.zip

GIF 2024-2-27 16-50-01 2024-02-27_165359 2024-02-27_165441

Another one, the same issue. But this one np21/w and T98-Next are O.K. Void Vanity Fleet.zip Void Vanity Fleet FIX.zip

maron2000 commented 6 months ago

Both works fine. A bug in internal mouse driver was fixed, so try the latest nightly for games using mouse.

Night Gunner running on native DOSBox-X (123.hdm you provided)

https://github.com/joncampbell123/dosbox-x/assets/68574602/da887735-4826-4629-82ad-261ea1fd2c17

Night Gunner booted as guest (123.hdm you provided)

https://github.com/joncampbell123/dosbox-x/assets/68574602/84e1668d-d9c8-4c07-b008-59afe2bf0bf2

Void Vanity Fleet booted as guest (I prepared myself, but your image worked as well)

https://github.com/joncampbell123/dosbox-x/assets/68574602/b8846d0d-48e8-4bcd-a9bd-b103f6a9f1e4

leoxxx commented 6 months ago

I'll try the release.

leoxxx commented 6 months ago

I will be making a release March 1st, see if that fixes it. If you are able to compile from source, try it.

@joncampbell123 Still error.

Both works fine. A bug in internal mouse driver was fixed, so try the latest nightly for games using mouse.

@maron2000 Still error. Maybe I will try the VSbuild. XP build is also failed. I found only "boot a:" can run these games, "autoexec" still have error.

Private School.zip

All emulator can't run. B disk seem to work. guest os_000

maron2000 commented 6 months ago

I see no difference in booting 123.hdm from the nightly to the latest release.

https://github.com/joncampbell123/dosbox-x/assets/68574602/764988fa-c00d-4c69-8e3e-7f97083b624f

maron2000 commented 6 months ago

Hard rank still doesn't boot successfully here as well. dosbox-x -defaultconf -set machine=pc98

hardrank

maron2000 commented 6 months ago

Private school didn't work till quite recently. np2fmgen, SL9821 is known to work. private_school

Edit: DOSBox-X failed as you mentioned,

leoxxx commented 6 months ago

I am not using np2fmgen & SL9821. So I not try Private school on them.

I see no difference in booting 123.hdm from the nightly to the latest release.

Try mounting 123.hdm, then input " a:\ autoexec". It must be error.

np2fmgen has garbled characters, need font. I copy np21/w font.tmp, then it's O.K.

maron2000 commented 6 months ago

About 123.hdm I already mentioned that it worked on native DOSBox-X with the nightly builds above. Works fine with the 2024.03.01 release as well.

https://github.com/joncampbell123/dosbox-x/assets/68574602/c54f6e48-3fd9-4263-8eea-3809c664f17b

leoxxx commented 6 months ago

dosbox-x.zip config file.

I still failed. 1

pc-98 mode can boot, but still error. 2

pc98.zip pc98 config file.

You click mouse key or push down a key on keyboard, it will be error.

maron2000 commented 6 months ago

It's a truely a pain to find what is wrong with someone else's conf file. Always try launching default configuration, which is what I do first before reporting anything. dosbox-x -defaultconf -set machine=pc98

leoxxx commented 6 months ago

You are right. I will find which option is caused the error. I found it. It's caused by dos version. ver= 7.1 It can't be set 7.0 and after,6.22 and before are O.K.

leoxxx commented 6 months ago

AIDS.zip So surprise! This one is O.K. only on dosbox-x. Other emualators are failed.

maron2000 commented 6 months ago

Nothing to discuss here since it's working on DOSBox-X, but just FYI the screenshot of np21/w. np21w

leoxxx commented 6 months ago

How do you run it on 21/w? I still can't run after deleting the ini. 2024-03-05_172239

maron2000 commented 6 months ago

I reset the ini file as well, so I don't know. Maybe some difference in the BIOS file you use.

leoxxx commented 6 months ago

I delete the bios, still failed.

leoxxx commented 6 months ago

Another strange issue. Trouble Outsiders Failed.zip This one on emulators which I using is failed. Dosbox-x is failed,too sshot-1 This is the failed picture. It will end soon.

Trouble Outsiders.zip This one is fixed. I reinstall from hdm image. sshot-2 This is the successed picture. But dosbox-x has an issue. If mounting the hdi as drive A or B, it will be failed. Other emulators no this issue.

joncampbell123 commented 6 months ago

Private school didn't work till quite recently. np2fmgen, SL9821 is known to work. private_school

Edit: DOSBox-X failed as you mentioned,

Boot sector loads disk sectors to segment 0x1000 until the boot code at 0x1FC0:0x0000 overwrites itself that way and the CPU is left executing a bunch of 0x00 0x00 (ADD [BX+SI],AL opcodes).

I did a test on real hardware to determine the memory address that boot code is loaded to and I determined it was 0x1FC0:0x0000 according to PC-9821 hardware. Is that always true? Maybe this game was written for an older BIOS that loaded it somewhere else? The game seems to assume 0x1000:0x0100 is safe to load some 64KB of data so maybe it was 0x0FC0:0x0000 on older hardware?

The disk image obviously contains a very customized MS-DOS kernel.

EDIT: I am able to boot this game perfectly fine if I direct the BOOT command to load to a lower memory address like 0x0FC0:0x0000 instead of 0x1FC0:0x0000.

I am testing with:

[cpu]
core=normal
cputype=8086
cycles=4000

[autoexec]
boot --load-seg 0x0FC0 "Private School (Disk A).hdm" "Private School (Disk B).hdm"

I just added --load-seg in the latest commit, it's not there prior to any commit from this morning.

maron2000 commented 6 months ago

I delete the bios, still failed.

I have no intension to further discuss about other emulators. I'm not a support member.

maron2000 commented 6 months ago

This page did some analysis and says that boot code of floppies are loaded at 0x1FC0:0x0000, just as you mentioned. (Seems different for 1.44MB floppies, which is 0x1FE0)

https://bauxite.sakura.ne.jp/wiki/mypad.cgi?p=PC-98x1%2Fdisk%2Fbootstrap

maron2000 commented 6 months ago

Information about bootstrap can be found in the Technical Databook Hardware version. It mentions 0x1FC0 as well, and since the book targets PC9801, whether the machine is old shouldn't matter.

leoxxx commented 6 months ago

Another surprise. Crystal Quest.zip T98-Next & dosbox-x are O.K. Anex86 & np21/w have error.

2024-03-06_123045 Hint at beginnig.

2 Then hero can't leave the castle.

leoxxx commented 6 months ago

Starship Rendezvous.zip No sound. Only Anex86 is O.K.

maron2000 commented 6 months ago

Starship Rendezvous.zip No sound. Only Anex86 is O.K.

try dosbox-x -defaultconf -set machine=pc98 -set "pc-98 sound bios=true" Other emulators, this is a FAQ.

Q. 一部のDOSゲームでサウンドが鳴りません
    A1. 実機SOUND BIOSを用意して下さい。
    A2. 内蔵システムセットアップメニューの「メモリスイッチの設定」にある拡張ボード→サウンドボードを「使う」にして下さい。
          メモリスイッチを「保持する」にするのも忘れずに。

Q. Sound does not play in some DOS games
    A1. please prepare the SOUND BIOS dumped from actual machine.
    A2. Please set the expansion board(拡張ボード) -> sound board(サウンドボード) in the
          "Memory Switch Settings(メモリスイッチの設定)" in the built-in system setup menu to
          "Use(使う)". Do not forget to set the memory switch to "Keep(保持する)".

https://github.com/joncampbell123/dosbox-x/assets/68574602/d8879077-de2f-42b8-aac2-a71e5e73fbd9

leoxxx commented 6 months ago

Thank you very much.

pc-98 fm board                  = auto
pc-98 sound bios                = true
pc-98 enable 256-color          = true

Add middle line to dosbox-x.conf, then it's O.K. No need SOUND BIOS (sound.rom?). Just change MEM SW4-4 and DIP SW2-5 to ON. Now other emulators have sound.

leoxxx commented 6 months ago

Sente Hisshou.zip

sshot-1 Dosbox-x can skip it. I want to know what does dosbox-x handle it?

leoxxx commented 6 months ago

Lime.zip Only T98-Next is O.K. np21/w copy copyright protection? Dosbox-x can't boot.

leoxxx commented 6 months ago

VIPER-V6 Turbo RS.zip This one is a VCPI error. Other emulators are O.K. sgs_000

maron2000 commented 6 months ago

It's a known issue for other emulators that you have to disable EMS/XMS for some of VIPER series. Try VIPER V8 RS or V10 RS for instance.

maron2000 commented 6 months ago

dosbox-x -defaultconf -set machine=pc98 -set "pc-98 sound bios=true" works fine. Both booting guest, and native DOSBox-X.

sente

leoxxx commented 6 months ago

Dosbox-x is O.K. So I said "Dosbox-x can skip it." Becasue other emulators are failed. I try changing MEM SW4-4 and DIP SW2-5 to ON, still failed. I want to know how to hadle this game on dosbox-x.

maron2000 commented 6 months ago

sente