Menu

#473 MIDI problem(Astonisha story)

SVN
open
nobody
None
1
2018-03-29
2018-03-26
sang heon
No

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.

1 Attachments

Discussion

  • sang heon

    sang heon - 2018-03-29

    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

     
  • ripsaw8080

    ripsaw8080 - 2018-03-29

    Try changing the default setting "mpu401=intelligent" to "mpu401=uart" in dosbox.conf

     
    • sang heon

      sang heon - 2018-03-29

      I tried to change "mpu401=uart" in dosbox.conf.But It takes no Effect..

       
  • ripsaw8080

    ripsaw8080 - 2018-03-29

    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.

     
    • sang heon

      sang heon - 2018-03-30

      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
    • sang heon

      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

Log in to post a comment.