[hatari-devel] MP2 question
LAURENT SALLAFRANQUE
laurent.sallafranque at arkea.com
Fri Jan 21 13:09:30 CET 2011
Hi Tomas,
I've spent some time on the DSP MPEG audio layer 2 player a few days ago to let it run under Hatari emulator.
Actually, it doesn't work because transfers between DMA and DSP (crossbar) are using a non documented function.
(A melt between handshake and non-handshake mode at the same time).
>From what I understand, datas are shifted while sent from the DMA play to the DSP receive transfer.
In the DSP code, I can read :
; Read 16 bits from DMA and
; perform special bit-shifting
; to compensate for read skewness.
bset #4,X:<<M_PCD ; Start frame sync.
_wait jclr #7,X:<<M_SR,_wait ; RDF
bclr #4,X:<<M_PCD ; Stop frame sync.
movep X:<<M_RX,A
lsr A
lsr A Y:DMA_r_state,x0
or x0,A #>$010000,x1
lsr A
move A1,x0
mpy x0,x1,A #>$ffff,x0
and x0,A A0,Y:DMA_r_state
move A1,x0
First 4 instructions are waiting a sync data on the SSI port.
Last 8 instructions "compensate" an undocumented function.
I'd like to implement this undocumented transfer into Hatari's emulator to have the player running.
Could anybody tell me (with an example if possible) what exactly happens on the real hardware for this transfer mode ?
For example, if I want to transfer 3 words :
$abcd
$1234
$9876
how are they received via the SSI port before the special bit shifting ?
I understand that "A1" register contains the original data which has just been decoded and DMA_r_state contains the "A0" part of the data which is used to decode the next transmitted data.
Thanks in advance.
PS : the one who wrote this is Tomas Berndtsson, <tomas at nocrew.org> from NoBrain/NoCrew
I've emailed him, but if you know him or if you think you can help me here, this would be great.
Thanks,
Regards
Laurent
--
Ce message et toutes les pieces jointes (ci-apres le "message") sont
confidentiels et etablis a l'intention exclusive de ses destinataires.
Toute utilisation ou diffusion non autorisee est interdite. Tout
message etant susceptible d'alteration, l'emetteur decline toute
responsabilite au titre de ce message s'il a ete altere, deforme ou
falsifie.
-----------------------------------
This message and any attachments (the "message") are confidential and
intended solely for the addressees. Any unauthorised use or
dissemination is prohibited. As e-mails are susceptible to alteration,
the issuer shall not be liable for the message if altered, changed
or falsified.
More information about the hatari-devel
mailing list