joncampbell123 / dosbox-x

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

pc-98 game, The Literary Fragment, hangs at the OP #2551

Open crashGG opened 3 years ago

crashGG commented 3 years ago

pc-98 game, The Literary Fragment, hangs at the OP

I have tried 83.10 83.11 83.12 83.13 versions

here is the game:

https://mega.nz/file/lswwwZJD#GF5evK6Z9WKch4_jRwFCgbDMEfHhz_Kho-Q8GUNaZB4

maron2000 commented 3 years ago

The following seems to work. Tried with 0.83.13 Windows SDL2, 64bit.

IMGMOUNT c: kuro.hdi
boot c:

(Renamed the hdi file of the provided link to kuro.hdi.)

crashGG commented 3 years ago

It works, but always hungs at the Opening.When you clicks on the new game, after 5 seconds, the screen will freeze,only the music continues。But if you load the save files and skip the op, everything will be fine

joncampbell123 commented 3 years ago

It works just fine for me. The game seems to require the mouse to interact, so do capture the mouse to do so. Tested with latest commit, Linux SDL1, 64-bit.

maron2000 commented 3 years ago

I think you're missing the font settings. Make sure you have at least a FREECG98.BMP or font.rom. (consult the Dosbox-x PC-98 wiki page for details) If you don't, you'll see a blank screen for a while because the opening scene shows only text. If you leave it, the graphics shows up but no text without the above mentioned file(s). Hope this helps you.

crashGG commented 3 years ago
2021-05-27_130944

I tested it carefully. In fact, the program did not hang, but the graphics and subtitles were very slow, so slow that I thought it was hanged. When I switched to the non-public version of 83.14, the situation was a little better, but it was still very slow. (Compared with other simulator Anex86 or NP21). Then a large number of font-related errors were found in the log file (if dosbox is not closed, the log file can even accumulate to a size of 900K) dosbox-x.log

Allofich commented 3 years ago

It works fine for me as well. Tested with latest commit (https://github.com/joncampbell123/dosbox-x/commit/f6544aa2aaf161f01c56a2ff88849d4d1ff9c1c8), Windows 10 SDL1, 64-bit. Using the FREECG98.BMP file.

I tried with my usual config, as well as one that was completely default except for machine=pc98, taking a log file, and having IMGMOUNT and boot commands like those mentioned above in the autoexec. Both worked, even though I got the same font-related messages as you did.

A1 port attempt to write FONT ROM char 0x4805 A1 port attempt to write FONT ROM char 0x2301

The game appeared to be working (only tested through the intro sequence) and it was not very slow, it was normal speed.

Something about your log file I noticed: Your screenshot says DOSBox-X 0.83.14, but the log file you attached says "DOSBox-X version 0.83.13 (Windows SDL1)". My log file said 0.83.14. Was the attached log file made with 0.83.13?

Also I saw a message about Glide in there, so I guess you have Glide emulation enabled, which is not a default setting. Have you tried the game with a minimal config file (just machine=pc98 and the IMGMOUNT and boot commands) to see if that works?

crashGG commented 3 years ago

After constant testing, I know where the problem is. Usually I set cpu cycles = 10000, because this is enough for most pc-98 games (excessive cpu cycles will cause the cpu to overheat, which is not environmentally friendly), at the opening of this game needs to set cpu cycles = auto or max. Otherwise, it will hangs. This is weird, because other emulators don't have too high CPU requirements here.

yksoft1 commented 3 years ago

I could see that the opening (with some text effects) runs very slowly, though after that the game runs with no problems even in default 3000 cycles.

yksoft1 commented 3 years ago

I could see that the opening (with some text effects) runs very slowly, though after that the game runs with no problems even in default 3000 cycles.

crashGG commented 3 years ago

I finally found the reason. When "pc-98 fm board" set to "board26k", even if the cpu cycles = 10000, everything is fine. But when using the default settings "auto,board86 or board86c"., the cpu cycles must set to auto/max to pass slowly. If it is not a game compatibility issue, then it must be dosbox's simulation of board86 and board86c.