Re: [hatari-devel] Chambers of Shaolin |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Le 28/11/2021 à 12:13, Grazey a écrit :
Hi guys,
I am in the process of fixing some Automation menus & cracks for the
forthcoming official site. Currently I am fixing menu 450 which contains
Thalion's Chambers of Shaolin.
The crack has 4 code paths :-
ST 1/2 meg
ST > 1/2 meg
STe 1/2 meg
STe > 1/2 Meg
For both half meg code paths the game plays standard YM chip music in
the intro (after the generic Thalion intro). On the ST if you have at
least 1 meg you can select to see the sample intro, this features a YM
digi routine. Similarly on the STe for 1 meg it will play sample music
using DMA.
Both ST code paths work fine under Hatari, as does the half meg STe code
path (YM). However the STe digi music does not play correctly, the intro
music can be heard for a couple of seconds then silence.
The MSA I'm using can be found here
http://d-bug.me/shw/A_450v2.msa
I also ripped the STe music for the SNDH archive :
http://sndh.atari.org/sndh/sndh_sf/mad_max/games/cos_ste.snd
This exhibits the same behaviour through SND-Player and Hatari.
I'm using Hatari 2.31 but also tried 2.4 development version.
Any ideas?
Hi
from a quick look at the STX version (to be sure the problem is not due
to a bad crack), I can hear the same problem under Hatari.
but looking at the traces for dma sound, I see this when intro music
starts :
DMA snd frame start low: 0xb0 at pos 0/0 video_cyc=23332 292@45 pc=4368
instr_cycle 12
DMA snd frame start med: 0x02 at pos 0/0 video_cyc=23368 328@45 pc=436e
instr_cycle 12
DMA snd frame start high: 0x08 at pos 0/0 video_cyc=23404 364@45 pc=4374
instr_cycle 12
DMA snd frame end low: 0xd3 at pos 0/0 video_cyc=23420 380@45 pc=437a
instr_cycle 12
DMA snd frame end med: 0x62 at pos 0/0 video_cyc=23456 416@45 pc=4380
instr_cycle 12
DMA snd frame end high: 0x08 at pos 0/0 video_cyc=23492 452@45 pc=4386
instr_cycle 12
DMA snd control write: 0x0001 video_cyc=23504 464@45 pc=438a instr_cycle 12
DMA snd control write: starting dma sound output
DMA snd new frame start=802b0 end=862d2
[.. then lots of dma sound reading until current address reaches dma end...]
DMA snd fifo pull pos 0 nb 8 fc
DMA snd fifo pull pos 1 nb 7 fa
DMA snd fifo refill adr=862d0 pos 2 nb 6 fa fb
DMA snd end of frame
So, it seems the sound replay sets dma start/end only once, not using
loop mode, which explains why sound stops just after a few seconds. At
first sight it doesn't look like an emulation issue.
does it works on real STE with 1MB RAM or more ?
Nicolas