I cannot hear any midi sound from Opening Credits of Astonisha story(old school korean SRPG game) .
(When you execute asto in cmd, the screen change to display spinning large red S and T character,and there is "Sof Try Game producition"in below.It is first screen of Opening Credits in Astonisha story)
excepting Opening Credits , I can heard all of midi sound during gameplay flawlessly.
I heard from korean gamer that When They execute astonisha story in real machine of 486 or pentium cpu ,It surely play midi sound on Opening Credits.But it is impossible to hear midi sound at openning credits in dosbox of any version(from old 0.63 to current 0.74 version)
You can download atteched file("astonisha.rar") and confirm whether midi sound really cannot heard by exectracting it and execute "asto.bat"
I hope thisproblem would be fixed in the future update of dosbox.
I executed DOSBox debugger and it created a log file which contains below message.
I found that After executing demo sonnori(this induce Opening Credits), it doesn't initialize MPU-401 at all.
In contrast,After executing ASTONISH.EXE(it induce game's menu title(save,load,new game))
there is a command which initialize MPU-401("MISC:MPU-401:Reset FF") and Since then I can hear decent midi sound.
I think if there is any method to insert "MISC:MPU-401:Reset FF" between command line of "Parsing command line: demo sonnori" and "MISC:MPU-401:Set UART mode 3F",
it would be possible to hear midi sound in openning credits.
Is there anyone who can help me with this problems?
83450597: FILES:Special file open command 80 file C:\AST\ASTO.BAT
83450597: FILES:Special file open command 80 file C:\AST\ASTO.BAT
83450597: EXEC:Parsing command line: @echo off
83450597: FILES:Special file open command 80 file C:\AST\ASTO.BAT
83450597: EXEC:Parsing command line: demo sonnori
83450600: EXEC:Execute demo.EXE 0
83450600: FILES:file open command 0 file demo.EXE
83456482: FILES:file open command 0 file astonish.cfg
83457294: MISC:MPU-401:Set UART mode 3F
83458360: SBLASTER:DSP:Reset
83589636: SBLASTER:Unhandled read from SB Port 22B
83589861: PIC:0 mask 78
83590060: FILES:file open command 0 file pcm.dat
83591741: FILES:file open command 0 file pcm.dat
83595114: INT10:Set Video Mode 13
83595114: VGA:Blinking 0
83595583: FILES:file open command 0 file bgmmidi.son
83595966: ALL:Sysex message size 11
83597630: PIT:PIT 0 Timer at 18.2065 Hz mode 3
83686375: FILES:file open command 0 file mme.dat
83986586: VGA:h total 100 end 80 blank (80/98) retrace (84/96)
83986586: VGA:v total 449 end 400 blank (407/442) retrace (412/414)
83986586: VGA:h total 0.03178 (31.47kHz) blank(0.02542/0.03114) retrace(0.02669/0.03051)
83986586: VGA:v total 14.26806 (70.09Hz) blank(12.93347/14.04568) retrace(13.09235/13.15591)
83986586: VGA:Width 320, Height 200, fps 70.086303
83986586: VGA:double width, double height aspect 1.200000
131131734: PIT:PIT 0 Timer at 18.2065 Hz mode 3
131132947: PIC:0 mask F8
131133032: INT10:Set Video Mode 3
131133032: VGA:Blinking 8
131133676: FILES:Special file open command 80 file C:\AST\ASTO.BAT
131133676: EXEC:Parsing command line: addkey p100 enter
131133676: FILES:Special file open command 80 file C:\AST\ASTO.BAT
131133676: EXEC:Parsing command line: asto-crk
131133679: EXEC:Execute asto-crk.EXE 0
131133679: FILES:file open command 0 file asto-crk.EXE
132536597: VGA:h total 100 end 80 blank (80/98) retrace (85/97)
132536597: VGA:v total 449 end 400 blank (407/442) retrace (412/414)
132536597: VGA:h total 0.03178 (31.47kHz) blank(0.02542/0.03114) retrace(0.02701/0.03082)
132536597: VGA:v total 14.26806 (70.09Hz) blank(12.93341/14.04562) retrace(13.09230/13.15585)
132536597: VGA:Width 640, Height 400, fps 70.086592
132536597: VGA:normal width, normal height aspect 1.000000
187913188: EXEC:Execute ASTONISH.EXE 0
187913188: FILES:file open command 0 file ASTONISH.EXE
187932670: FILES:file open command 0 file astonish.cfg
187933607: DOSMISC:DOS:Get Disk serial number
187933742: MISC:MPU-401:Reset FF
187937857: MISC:MPU-401:Set UART mode 3F
187944652: ALL:Sysex message size 11
187944774: PIT:PIT 0 Timer at 18.2065 Hz mode 3
187944993: FILES:file open command 0 file bgmmidi.son
187945125: SBLASTER:DSP:Reset
188076411: SBLASTER:Unhandled read from SB Port 22B
188076498: PIC:0 mask 78
188076701: FILES:file open command 0 file pcm.dat
188077095: FILES:file open command 0 file allfxd.fxd
188077381: FILES:file open command 0 file allsgm.sgm
188077672: FILES:file open command 0 file people.hum
188077968: FILES:file open command 0 file sfx.son
188078269: FILES:file open command 0 file event.scp
188078575: FILES:file open command 0 file astonish.ini
188078886: FILES:file open command 0 file etc.son
188082126: FILES:file open command 0 file items.par
188158964: FILES:file open command 0 file magic.par
188171829: FILES:file open command 0 file asto.pal
188172818: FILES:file open command 0 file asto0.sav
188174751: FILES:file open command 0 file asto1.sav
188176700: FILES:file open command 0 file asto2.sav
188178683: FILES:file open command 0 file asto3.sav
188180622: FILES:file open command 0 file asto4.sav
188189769: INT10:Set Video Mode 13
188189769: VGA:Blinking 0
188198429: PIT:PIT 0 Timer at 18.2065 Hz mode 3
188355387: VGA:h total 100 end 80 blank (80/98) retrace (84/96)
188355387: VGA:v total 449 end 400 blank (407/442) retrace (412/414)
188355387: VGA:h total 0.03178 (31.47kHz) blank(0.02542/0.03114) retrace(0.02669/0.03051)
188355387: VGA:v total 14.26806 (70.09Hz) blank(12.93347/14.04568) retrace(13.09235/13.15591)
188355387: VGA:Width 320, Height 200, fps 70.086303
188355387: VGA:double width, double height aspect 1.200000
188386275: PIT:PIT 0 Timer at 239.8356 Hz mode 3
193210555: SBLASTER:DMA unmasked,starting output, auto 0 block 1067
193210555: SBLASTER:DMA Transfer:8-bits PCM Mono Single-Cycle freq 8000 rate 8000 size 1068
196167368: SBLASTER:Single cycle transfer ended
196167368: SBLASTER:Raising IRQ
197226066: SBLASTER:DMA unmasked,starting output, auto 0 block 1067
197226066: SBLASTER:DMA Transfer:8-bits PCM Mono Single-Cycle freq 8000 rate 8000 size 1068
200277428: SBLASTER:Single cycle transfer ended
200277428: SBLASTER:Raising IRQ
215775604: SBLASTER:DMA unmasked,starting output, auto 0 block 1224
215775604: SBLASTER:DMA Transfer:8-bits PCM Mono Single-Cycle freq 8000 rate 8000 size 1225
216365191: SBLASTER:Single cycle transfer ended
216365191: SBLASTER:Raising IRQ
218687995: PIT:PIT 0 Timer at 18.2065 Hz mode 3
218689407: ALL:Sysex message size 11
218690691: PIT:PIT 0 Timer at 18.2065 Hz mode 3
218690812: PIC:0 mask F8
218692714: INT10:Set Video Mode 3
218692714: VGA:Blinking 8
218693368: FILES:Special file open command 80 file C:\AST\ASTO.BAT
219530047: VGA:h total 100 end 80 blank (80/98) retrace (85/97)
219530047: VGA:v total 449 end 400 blank (407/442) retrace (412/414)
219530047: VGA:h total 0.03178 (31.47kHz) blank(0.02542/0.03114) retrace(0.02701/0.03082)
219530047: VGA:v total 14.26806 (70.09Hz) blank(12.93341/14.04562) retrace(13.09230/13.15585)
219530047: VGA:Width 640, Height 400, fps 70.086592
219530047: VGA:normal width, normal height aspect 1.000000
227853023: SBLASTER:DSP:Reset
Try changing the default setting "mpu401=intelligent" to "mpu401=uart" in dosbox.conf
I tried to change "mpu401=uart" in dosbox.conf.But It takes no Effect..
The intro program waits for the MPU to signal "busy" after writing the command to switch to UART mode (0x3F) before reading the reply (ACK); however, the normal and correct thing to do is to wait for the MPU to signal "data available" before trying to read.
I suspect that it manages to work on real systems only by chance rather than by design; but in any case it doesn't work in DOSBox because the emulated MPU processes commands instantly and thus does not indicate a busy status.
It is possible to fix the intro program with a small modification: in DEMO.EXE change the bytes at offset 0x7C9C from 0x40 0x75 to 0x80 0x74. Then it will use the correct method of waiting for available data before reading, which works in DOSBox as well as on real systems.
It is Fantastic!!!! :D
I finally heard midi sound of Opening Credits of original Astonisha story!!!
I heard from a korean gamer, who has real hardware of sc-55 sound module and pentium1, that in order to hear midi sound of Opening Credits of Asto in pentium1 CPU computer, you should disable any of CPU cache option in Bios or Cmos setup.
By the way,I also fixed staff.exe, which induce ending Credits and has the same problem with demo.exe, as you taught me,and Of course I can heard midi sound of ending Credits as well as opening Credits,
Thank you again very much for your reply which really solve this annoying problem which harassed me many many years!
Last edit: sang heon 2018-03-30
BTW, Would you show me how you can fix this problem very briefly?(or just show me any link which guide a way to solution similar problems?)
I'm really interested in learning a way to fix any bug of Dos games like you've done in this thread..
Thank you inadvance.
Last edit: sang heon 2018-03-30