mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 13:27:45 -07:00
Zelda UCode clarifications and cleanup
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3556 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
46b0fd3c96
commit
aa63c8cf8d
@ -467,7 +467,7 @@ void 00da_CopyBuffer(_src($AR0), _dest($AR3), _LenInDWORDs(_AC1.M))
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void 00fa_XorBuffer( .., _LenInDWORDs(_AC1.M)) {
|
void 00e1_XorBuffer( .., _LenInDWORDs(_AC1.M)) {
|
||||||
00e1 191e lrri $AC0.M, @$AR0
|
00e1 191e lrri $AC0.M, @$AR0
|
||||||
00e2 191a lrri $AX0.H, @$AR0
|
00e2 191a lrri $AX0.H, @$AR0
|
||||||
// 00e3 007f 00e8 bloop $AC1.M, 0x00e8
|
// 00e3 007f 00e8 bloop $AC1.M, 0x00e8
|
||||||
@ -504,16 +504,17 @@ void 00eb_Unk_BufferMultWithDest(_Src=($AR0), _Dest($AR3), _size($AC1.M), _facto
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void 00fa_Unk()
|
||||||
00fa 8a00 m2
|
{
|
||||||
00fb 191a lrri $AX0.H, @$AR0
|
00fa 8a00 m2
|
||||||
00fc 9050 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR0
|
00fb 191a lrri $AX0.H, @$AR0
|
||||||
00fd 9250 mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX0.H, @$AR0
|
00fc 9050 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR0
|
||||||
00fe 005f loop $AC1.M
|
00fd 9250 mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX0.H, @$AR0
|
||||||
00ff 92a0 mulmvz'ls $AX0.L, $AX0.H, $ACC0 : $AX0.H, $AC0.M
|
00fe 005f loop $AC1.M
|
||||||
0100 8b00 m0
|
00ff 92a0 mulmvz'ls $AX0.L, $AX0.H, $ACC0 : $AX0.H, $AC0.M
|
||||||
0101 02df ret
|
0100 8b00 m0
|
||||||
|
0101 02df ret
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Clears the 0d00 and 0d60 buffers, plus a lot of other intermediate buffers.
|
// Clears the 0d00 and 0d60 buffers, plus a lot of other intermediate buffers.
|
||||||
@ -1932,7 +1933,11 @@ void 05f0_HaltUCode()
|
|||||||
05f0 009a 0002 lri $AX0.H, #0x0002
|
05f0 009a 0002 lri $AX0.H, #0x0002
|
||||||
05f2 00fa 03a3 sr @0x03a3, $AX0.H
|
05f2 00fa 03a3 sr @0x03a3, $AX0.H
|
||||||
05f4 00e0 03f9 sr @0x03f9, $AR0
|
05f4 00e0 03f9 sr @0x03f9, $AR0
|
||||||
05f6 02bf 067c call 0x067c
|
/*
|
||||||
|
05f6 02bf 067c call 0x067c
|
||||||
|
*/
|
||||||
|
067c_Unk()
|
||||||
|
|
||||||
05f8 16fc dcd1 si @DMBH, #0xdcd1
|
05f8 16fc dcd1 si @DMBH, #0xdcd1
|
||||||
05fa 16fd 0002 si @DMBL, #0x0002
|
05fa 16fd 0002 si @DMBL, #0x0002
|
||||||
05fc 16fb 0001 si @DIRQ, #0x0001
|
05fc 16fb 0001 si @DIRQ, #0x0001
|
||||||
@ -1993,11 +1998,19 @@ void 0618_Unk() {
|
|||||||
061a 00fa 03a3 sr @0x03a3, $AX0.H
|
061a 00fa 03a3 sr @0x03a3, $AX0.H
|
||||||
061c 8100 clr $ACC0
|
061c 8100 clr $ACC0
|
||||||
061d 8900 clr $ACC1
|
061d 8900 clr $ACC1
|
||||||
061e 02bf 065e call 0x065e
|
//061e 02bf 065e call 0x065e
|
||||||
|
065e_WaitForCPUMailBox_AC0()
|
||||||
|
|
||||||
0620 24ff lrs $AC0.L, @CMBL
|
0620 24ff lrs $AC0.L, @CMBL
|
||||||
0621 02bf 0664 call 0x0664
|
|
||||||
|
//0621 02bf 0664 call 0x0664
|
||||||
|
0664_WaitForCPUMailBox_AC1()
|
||||||
|
|
||||||
0623 25ff lrs $AC1.L, @CMBL
|
0623 25ff lrs $AC1.L, @CMBL
|
||||||
0624 02bf 0664 call 0x0664
|
|
||||||
|
//0624 02bf 0664 call 0x0664
|
||||||
|
0664_WaitForCPUMailBox_AC1()
|
||||||
|
|
||||||
0626 27ff lrs $AC1.M, @CMBL
|
0626 27ff lrs $AC1.M, @CMBL
|
||||||
0627 2ece srs @DSMAH, $AC0.M
|
0627 2ece srs @DSMAH, $AC0.M
|
||||||
0628 2ccf srs @DSMAL, $AC0.L
|
0628 2ccf srs @DSMAL, $AC0.L
|
||||||
@ -2006,28 +2019,46 @@ void 0618_Unk() {
|
|||||||
062c 2dcb srs @DSBL, $AC1.L
|
062c 2dcb srs @DSBL, $AC1.L
|
||||||
062d 8100 clr $ACC0
|
062d 8100 clr $ACC0
|
||||||
062e 8900 clr $ACC1
|
062e 8900 clr $ACC1
|
||||||
062f 02bf 065e call 0x065e
|
|
||||||
|
//062f 02bf 065e call 0x065e
|
||||||
|
065e_WaitForCPUMailBox_AC0()
|
||||||
|
|
||||||
0631 24ff lrs $AC0.L, @CMBL
|
0631 24ff lrs $AC0.L, @CMBL
|
||||||
0632 1c9e mrr $IX0, $AC0.M
|
0632 1c9e mrr $IX0, $AC0.M
|
||||||
0633 1cbc mrr $IX1, $AC0.L
|
0633 1cbc mrr $IX1, $AC0.L
|
||||||
0634 02bf 0664 call 0x0664
|
//0634 02bf 0664 call 0x0664
|
||||||
|
0664_WaitForCPUMailBox_AC1()
|
||||||
|
|
||||||
0636 25ff lrs $AC1.L, @CMBL
|
0636 25ff lrs $AC1.L, @CMBL
|
||||||
0637 02bf 0664 call 0x0664
|
|
||||||
0639 27ff lrs $AC1.M, @CMBL
|
//0637 02bf 0664 call 0x0664
|
||||||
|
0664_WaitForCPUMailBox_AC1()
|
||||||
|
|
||||||
|
0639 27ff lrs $AC1.M, @CMBL
|
||||||
063a 1cdf mrr $IX2, $AC1.M
|
063a 1cdf mrr $IX2, $AC1.M
|
||||||
063b 1cfd mrr $IX3, $AC1.L
|
063b 1cfd mrr $IX3, $AC1.L
|
||||||
063c 8100 clr $ACC0
|
063c 8100 clr $ACC0
|
||||||
063d 02bf 065e call 0x065e
|
|
||||||
063f 26ff lrs $AC0.M, @CMBL
|
//063d 02bf 065e call 0x065e
|
||||||
|
065e_WaitForCPUMailBox_AC0()
|
||||||
|
|
||||||
|
063f 26ff lrs $AC0.M, @CMBL
|
||||||
0640 1c1e mrr $AR0, $AC0.M
|
0640 1c1e mrr $AR0, $AC0.M
|
||||||
0641 8900 clr $ACC1
|
0641 8900 clr $ACC1
|
||||||
0642 02bf 0664 call 0x0664
|
//0642 02bf 0664 call 0x0664
|
||||||
|
0664_WaitForCPUMailBox_AC1()
|
||||||
|
|
||||||
0644 20ff lrs $AX0.L, @CMBL
|
0644 20ff lrs $AX0.L, @CMBL
|
||||||
0645 1f5f mrr $AX0.H, $AC1.M
|
0645 1f5f mrr $AX0.H, $AC1.M
|
||||||
0646 02bf 065e call 0x065e
|
//0646 02bf 065e call 0x065e
|
||||||
|
065e_WaitForCPUMailBox_AC0()
|
||||||
|
|
||||||
0648 21ff lrs $AX1.L, @CMBL
|
0648 21ff lrs $AX1.L, @CMBL
|
||||||
0649 02bf 065e call 0x065e
|
|
||||||
064b 23ff lrs $AX1.H, @CMBL
|
//0649 02bf 065e call 0x065e
|
||||||
|
065e_WaitForCPUMailBox_AC0()
|
||||||
|
|
||||||
|
064b 23ff lrs $AX1.H, @CMBL
|
||||||
064c 26c9 lrs $AC0.M, @DSCR
|
064c 26c9 lrs $AC0.M, @DSCR
|
||||||
064d 02a0 0004 andf $AC0.M, #0x0004
|
064d 02a0 0004 andf $AC0.M, #0x0004
|
||||||
064f 029c 064c jlnz 0x064c
|
064f 029c 064c jlnz 0x064c
|
||||||
@ -2061,12 +2092,13 @@ void 065e_WaitForCPUMailBox_AC0()
|
|||||||
0663 02df ret
|
0663 02df ret
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void 0664_WaitForCPUMailBox_AC1()
|
||||||
0664 27fe lrs $AC1.M, @CMBH
|
{
|
||||||
0665 03c0 8000 andcf $AC1.M, #0x8000
|
0664 27fe lrs $AC1.M, @CMBH
|
||||||
0667 029c 0664 jlnz 0x0664
|
0665 03c0 8000 andcf $AC1.M, #0x8000
|
||||||
0669 02df ret
|
0667 029c 0664 jlnz 0x0664
|
||||||
|
0669 02df ret
|
||||||
|
}
|
||||||
void SendMB_DCD1(_low)
|
void SendMB_DCD1(_low)
|
||||||
{
|
{
|
||||||
// 066a 02bf 0682 call 0x0682
|
// 066a 02bf 0682 call 0x0682
|
||||||
@ -2105,10 +2137,13 @@ void SendMB_F355(_low)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
067c 26fc lrs $AC0.M, @DMBH
|
void 067c_Unk()
|
||||||
067d 02c0 8000 andcf $AC0.M, #0x8000
|
{
|
||||||
067f 029d 067c jlz 0x067c
|
067c 26fc lrs $AC0.M, @DMBH
|
||||||
0681 02df ret
|
067d 02c0 8000 andcf $AC0.M, #0x8000
|
||||||
|
067f 029d 067c jlz 0x067c
|
||||||
|
0681 02df ret
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void WaitForEmptyDSPMailBox_ovAC1.M()
|
void WaitForEmptyDSPMailBox_ovAC1.M()
|
||||||
@ -2802,7 +2837,7 @@ void 07eb_AFCDecoder(_numberOfSample(AC0.M))
|
|||||||
//////////////////////////////////////////// DEFAULT DECODER
|
//////////////////////////////////////////// DEFAULT DECODER
|
||||||
void 087c_DefaultDecoder()
|
void 087c_DefaultDecoder()
|
||||||
{
|
{
|
||||||
087c 8100 clr $ACC0
|
087c 8100 clr $ACC0
|
||||||
087d 1f5e mrr $AX0.H, $AC0.M
|
087d 1f5e mrr $AX0.H, $AC0.M
|
||||||
087e 00d8 0402 lr $AX0.L, @0x0402
|
087e 00d8 0402 lr $AX0.L, @0x0402
|
||||||
0880 00dc 0430 lr $AC0.L, @0x0430
|
0880 00dc 0430 lr $AC0.L, @0x0430
|
||||||
@ -4270,7 +4305,8 @@ void 0e3f_UnknownProcess()
|
|||||||
0e43 8900 clr $ACC1
|
0e43 8900 clr $ACC1
|
||||||
0e44 0f50 lris $AC1.M, #0x50
|
0e44 0f50 lris $AC1.M, #0x50
|
||||||
0e45 0098 6784 lri $AX0.L, #0x6784
|
0e45 0098 6784 lri $AX0.L, #0x6784
|
||||||
0e47 02bf 00fa call 0x00fa // XorBuffer
|
//0e47 02bf 00fa call 0x00fa // XorBuffer
|
||||||
|
00fa_Unk()
|
||||||
|
|
||||||
0e49 0080 04e8 lri $AR0, #0x04e8
|
0e49 0080 04e8 lri $AR0, #0x04e8
|
||||||
0e4b 0082 04ec lri $AR2, #0x04ec
|
0e4b 0082 04ec lri $AR2, #0x04ec
|
||||||
@ -4299,6 +4335,7 @@ void 0e3f_UnknownProcess()
|
|||||||
0e6a 0f50 lris $AC1.M, #0x50
|
0e6a 0f50 lris $AC1.M, #0x50
|
||||||
0e6b 0098 6784 lri $AX0.L, #0x6784
|
0e6b 0098 6784 lri $AX0.L, #0x6784
|
||||||
// 0e6d 02bf 00fa call 0x00fa // XorBuffer
|
// 0e6d 02bf 00fa call 0x00fa // XorBuffer
|
||||||
|
00fa_Unk()
|
||||||
|
|
||||||
0e6f 0080 04e8 lri $AR0, #0x04e8
|
0e6f 0080 04e8 lri $AR0, #0x04e8
|
||||||
0e71 0082 04f4 lri $AR2, #0x04f4
|
0e71 0082 04f4 lri $AR2, #0x04f4
|
||||||
|
Loading…
Reference in New Issue
Block a user