some changes in the DSP Docs

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@829 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
fires.gc 2008-10-10 15:07:56 +00:00
parent a20bc0a426
commit 223a77db49
3 changed files with 80 additions and 147 deletions

View File

@ -20,8 +20,8 @@
// addresses to buffers
0x0E08 // initialized to 0x0000
0x0E09 // initialized to 0x0140
0x0E08 // BufferLeft
0x0E09 // BufferRight
0x0E0A //
0x0E0B
0x0E0C
@ -1658,10 +1658,10 @@ Main()
0768 00c0 0e40 LR $0, @0x0e40 // PB->PBInitialTimeDelay->offsetLeft
076a 0081 0b89 LRI $1, #0x0b89 // PB->Mixer... struct offset
076c 00c2 0e08 LR $2, @0x0e08 // Buffer1 (0x0000 all the time)
076c 00c2 0e08 LR $2, @0x0e08 // Buffer1 (0x0000 all the time - Left Channel)
076e 1c62 MRR $3, $2 // Buffer2
076f 00c4 0e41 LR $4, @0x0e41 // PB->PBInitialTimeDelay->offsetRight
0771 00c5 0e09 LR $5, @0x0e09 // Buffer3 (0x0140 all the time)
0771 00c5 0e09 LR $5, @0x0e09 // Buffer3 (0x0140 all the time - Right Channel)
0773 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0775 00f8 0ba9 SR @0x0ba9, $24 // mixer return value1
0777 00fb 0bac SR @0x0bac, $27 // mixer return value2
@ -1669,12 +1669,12 @@ Main()
// fn1
077a 00c0 0e40 LR $0, @0x0e40
077c 0081 0b89 LRI $1, #0x0b89 // PB mixer settings // PB mixer settings
077c 0081 0b89 LRI $1, #0x0b89 // PB mixer settings // PB mixer settings
077e 00c2 0e08 LR $2, @0x0e08
0780 1c62 MRR $3, $2
0781 00c4 0e41 LR $4, @0x0e41
0783 00c5 0e09 LR $5, @0x0e09
0785 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0785 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0787 00f8 0ba9 SR @0x0ba9, $24
0789 00fb 0bac SR @0x0bac, $27
078b 00c0 0e40 LR $0, @0x0e40
@ -1683,19 +1683,19 @@ Main()
0791 1c62 MRR $3, $2
0792 00c4 0e41 LR $4, @0x0e41
0794 00c5 0e0c LR $5, @0x0e0c
0796 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0796 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0798 00f8 0baa SR @0x0baa, $24
079a 00fb 0bad SR @0x0bad, $27
079c 02df RET
// fn2
079d 00c0 0e40 LR $0, @0x0e40
079f 0081 0b89 LRI $1, #0x0b89 // PB mixer settings // PB mixer settings
079f 0081 0b89 LRI $1, #0x0b89 // PB mixer settings
07a1 00c2 0e08 LR $2, @0x0e08
07a3 1c62 MRR $3, $2
07a4 00c4 0e41 LR $4, @0x0e41
07a6 00c5 0e09 LR $5, @0x0e09
07a8 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
07a8 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
07aa 00f8 0ba9 SR @0x0ba9, $24
07ac 00fb 0bac SR @0x0bac, $27
07ae 00c0 0e40 LR $0, @0x0e40
@ -1704,7 +1704,7 @@ Main()
07b4 1c62 MRR $3, $2
07b5 00c4 0e41 LR $4, @0x0e41
07b7 00c5 0e0f LR $5, @0x0e0f
07b9 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
07b9 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
07bb 00f8 0bab SR @0x0bab, $24
07bd 00fb 0bae SR @0x0bae, $27
07bf 02df RET
@ -1716,7 +1716,7 @@ Main()
07c6 1c62 MRR $3, $2
07c7 00c4 0e41 LR $4, @0x0e41
07c9 00c5 0e09 LR $5, @0x0e09
07cb 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
07cb 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
07cd 00f8 0ba9 SR @0x0ba9, $24
07cf 00fb 0bac SR @0x0bac, $27
07d1 00c0 0e40 LR $0, @0x0e40
@ -1725,7 +1725,7 @@ Main()
07d7 1c62 MRR $3, $2
07d8 00c4 0e41 LR $4, @0x0e41
07da 00c5 0e0c LR $5, @0x0e0c
07dc 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
07dc 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
07de 00f8 0baa SR @0x0baa, $24
07e0 00fb 0bad SR @0x0bad, $27
07e2 00c0 0e40 LR $0, @0x0e40
@ -1734,7 +1734,7 @@ Main()
07e8 1c62 MRR $3, $2
07e9 00c4 0e41 LR $4, @0x0e41
07eb 00c5 0e0f LR $5, @0x0e0f
07ed 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
07ed 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
07ef 00f8 0bab SR @0x0bab, $24
07f1 00fb 0bae SR @0x0bae, $27
07f3 02df RET
@ -1746,14 +1746,14 @@ Main()
07fa 1c62 MRR $3, $2
07fb 00c4 0e41 LR $4, @0x0e41
07fd 00c5 0e09 LR $5, @0x0e09
07ff 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
07ff 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0801 00f8 0ba9 SR @0x0ba9, $24
0803 00fb 0bac SR @0x0bac, $27
0805 00c0 0e43 LR $0, @0x0e43
0807 0081 0b97 LRI $1, #0x0b97
0809 00c2 0e0a LR $2, @0x0e0a
080b 1c62 MRR $3, $2
080c 02bf 81f9 CALL 0x81f9 // Call second ROM mixer function
080c 02bf 81f9 CALL 0x81f9 // Call second ROM mixer function
080e 00f8 0baf SR @0x0baf, $24
0810 02df RET
@ -1764,7 +1764,7 @@ Main()
0817 1c62 MRR $3, $2
0818 00c4 0e41 LR $4, @0x0e41
081a 00c5 0e09 LR $5, @0x0e09
081c 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
081c 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
081e 00f8 0ba9 SR @0x0ba9, $24
0820 00fb 0bac SR @0x0bac, $27
0822 00c0 0e40 LR $0, @0x0e40
@ -1773,7 +1773,7 @@ Main()
0828 1c62 MRR $3, $2
0829 00c4 0e41 LR $4, @0x0e41
082b 00c5 0e0c LR $5, @0x0e0c
082d 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
082d 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
082f 00f8 0baa SR @0x0baa, $24
0831 00fb 0bad SR @0x0bad, $27
0833 00c0 0e43 LR $0, @0x0e43
@ -1782,7 +1782,7 @@ Main()
0839 1c62 MRR $3, $2
083a 1c80 MRR $4, $0
083b 00c5 0e0d LR $5, @0x0e0d
083d 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
083d 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
083f 00f8 0baf SR @0x0baf, $24
0841 00fb 0bb0 SR @0x0bb0, $27
0843 02df RET
@ -1795,7 +1795,7 @@ Main()
084a 1c62 MRR $3, $2
084b 00c4 0e41 LR $4, @0x0e41
084d 00c5 0e09 LR $5, @0x0e09
084f 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
084f 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0851 00f8 0ba9 SR @0x0ba9, $24
0853 00fb 0bac SR @0x0bac, $27
0855 00c0 0e40 LR $0, @0x0e40
@ -1804,7 +1804,7 @@ Main()
085b 1c62 MRR $3, $2
085c 00c4 0e41 LR $4, @0x0e41
085e 00c5 0e0f LR $5, @0x0e0f
0860 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0860 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0862 00f8 0bab SR @0x0bab, $24
0864 00fb 0bae SR @0x0bae, $27
0866 00c0 0e43 LR $0, @0x0e43
@ -1813,7 +1813,7 @@ Main()
086c 1c62 MRR $3, $2
086d 1c80 MRR $4, $0
086e 00c5 0e0a LR $5, @0x0e0a
0870 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0870 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0872 00f8 0bb1 SR @0x0bb1, $24
0874 00fb 0baf SR @0x0baf, $27
0876 02df RET
@ -1826,7 +1826,7 @@ Main()
087d 1c62 MRR $3, $2
087e 00c4 0e41 LR $4, @0x0e41
0880 00c5 0e09 LR $5, @0x0e09
0882 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0882 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0884 00f8 0ba9 SR @0x0ba9, $24
0886 00fb 0bac SR @0x0bac, $27
0888 00c0 0e40 LR $0, @0x0e40
@ -1835,7 +1835,7 @@ Main()
088e 1c62 MRR $3, $2
088f 00c4 0e41 LR $4, @0x0e41
0891 00c5 0e0c LR $5, @0x0e0c
0893 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0893 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
0895 00f8 0baa SR @0x0baa, $24
0897 00fb 0bad SR @0x0bad, $27
0899 00c0 0e40 LR $0, @0x0e40
@ -1844,7 +1844,7 @@ Main()
089f 1c62 MRR $3, $2
08a0 00c4 0e41 LR $4, @0x0e41
08a2 00c5 0e0f LR $5, @0x0e0f
08a4 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
08a4 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
08a6 00f8 0bab SR @0x0bab, $24
08a8 00fb 0bae SR @0x0bae, $27
08aa 00c0 0e43 LR $0, @0x0e43
@ -1853,7 +1853,7 @@ Main()
08b0 1c62 MRR $3, $2
08b1 1c80 MRR $4, $0
08b2 00c5 0e0d LR $5, @0x0e0d
08b4 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
08b4 02bf 80e7 CALL 0x80e7 // Call ROM mixer function
08b6 00f8 0baf SR @0x0baf, $24
08b8 00fb 0bb0 SR @0x0bb0, $27
08ba 00c0 0e43 LR $0, @0x0e43

View File

@ -137,11 +137,11 @@
009a 0081 0382 LRI $R01, #0x0382
009c 009f 0000 LRI $AC1.M, #0x0000
009e 0080 0280 LRI $R00, #0x0280
00a0 02bf 0523 CALL 0x0523 // DMAtoRAM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
00a0 02bf 0523 CALL 0x0523 // RAMtoDMEM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
00a2 0081 0384 LRI $R01, #0x0384
00a4 009f 0300 LRI $AC1.M, #0x0300
00a6 0080 0020 LRI $R00, #0x0020
00a8 02bf 0523 CALL 0x0523 // DMAtoRAM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
00a8 02bf 0523 CALL 0x0523 // RAMtoDMEM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
00aa 00de 0345 LR $AC0.M, @0x0345
00ac 00fe 0342 SR @0x0342, $AC0.M
00ae 02bf 0bec CALL 0x0bec
@ -161,7 +161,7 @@
00c1 0081 034c LRI $R01, #0x034c
00c3 009f 0400 LRI $AC1.M, #0x0400
00c5 0080 00c0 LRI $R00, #0x00c0
00c7 02bf 0523 CALL 0x0523 // DMAtoRAM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
00c7 02bf 0523 CALL 0x0523 // RAMtoDMEM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
00c9 02df RET
@ -173,19 +173,19 @@
00d3 193c LRRI $AC0.L, @$R01
00d4 0098 0000 LRI $AX0.L, #0x0000
00d6 7000 ADDAXL $AC0.M, $AX0.L
00d7 02bf 0532 CALL 0x0532 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
00d7 02bf 0532 CALL 0x0532 // DMEMtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
00d9 02df RET
// Called a lot, don't know what it does. Memset?
// CopyMemory(LEN=$AC1.M, *R00=SRC, *R03=DEST)
00da 191e LRRI $AC0.M, @$R00
00db 191a LRRI $AX0.H, @$R00
00dc 005f LOOP $AC1.M
00dd 64a0 MOVR.LS $AC0.M, $AX0.H : $AX0.H, $AC0.M
00dd 64a0 MOVR.LS $AC0.M, $AX0.H : $AX0.H, $AC0.M // ??? Does the .LS makes any sense? shouldnt it be just a load?
00de 1b7e SRRI @$R03, $AC0.M
00df 1b7a SRRI @$R03, $AX0.H
00e0 02df RET
// Noone seems to call this. Memswap?
00e1 191e LRRI $AC0.M, @$R00
00e2 191a LRRI $AX0.H, @$R00
00e3 007f 00e8 BLOOP $AC1.M, 0x00e8
@ -196,7 +196,7 @@
00e9 0000 NOP
00ea 02df RET
// Multiply utility? Called a lot. Don't really know what it does.
00eb 8a00 M2
00ec 157f LSR $ACC1, #0x3f
00ed 1c20 MRR $R01, $R00
@ -212,7 +212,7 @@
00f8 8b00 M0
00f9 02df RET
// Multiply utility 2? Called a lot. Don't really know what it does.
00fa 8a00 M2
00fb 191a LRRI $AX0.H, @$R00
00fc 9050 MUL.L $AX0.L, $AX0.H : $AX0.H, @$R00
@ -222,8 +222,6 @@
0100 8b00 M0
0101 02df RET
// Clear some memory (called by op2)
0102 8100 CLR $AC0.M
0103 8900 CLR $AC1.M
@ -267,7 +265,7 @@
0132 bc00 MULXAC $AX0.H, $AX1.H, $AC0.M
0133 0080 0050 LRI $R00, #0x0050
0135 0508 ADDIS $ACC1, #0x08
0136 02bf 0525 CALL 0x0525 // DMAtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0136 02bf 0525 CALL 0x0525 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0138 00de 0390 LR $AC0.M, @0x0390
013a 02a0 0001 ANDCF $AC0.M, #0x0001
013c 029d 0145 JNZ 0x0145
@ -312,7 +310,7 @@
017b 00c0 03a2 LR $R00, @0x03a2
017d 0083 0390 LRI $R03, #0x0390
017f 0f0e LRIS $AC1.M, #0x0e
0180 02bf 00da CALL 0x00da
0180 02bf 00da CALL 0x00da // CopyMemory(LEN=$AC1.M, *R00=SRC, *R03=DEST)
0182 00da 0390 LR $AX0.H, @0x0390
0184 8600 TSTAXH $AX0.H
0185 0295 0191 JEQ 0x0191
@ -321,7 +319,7 @@
018a 0550 ADDIS $ACC1, #0x50
018b 1c1f MRR $R00, $AC1.M
018c 0f06 LRIS $AC1.M, #0x06
018d 02bf 00da CALL 0x00da
018d 02bf 00da CALL 0x00da // CopyMemory(LEN=$AC1.M, *R00=SRC, *R03=DEST)
018f 02bf 0127 CALL 0x0127
0191 00de 03a2 LR $AC0.M, @0x03a2
0193 0410 ADDIS $ACC0, #0x10
@ -382,7 +380,7 @@
01e3 b871 MULX.L $AX0.H, $AX1.H : $AC0.M, @$R01
01e4 bc00 MULXAC $AX0.H, $AX1.H, $AC0.M
01e5 0080 0050 LRI $R00, #0x0050
01e7 02bf 0532 CALL 0x0532 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
01e7 02bf 0532 CALL 0x0532 // DMEMtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
01e9 02df RET
@ -409,7 +407,7 @@
020c 00c0 03a2 LR $R00, @0x03a2
020e 0083 0390 LRI $R03, #0x0390
0210 0f0e LRIS $AC1.M, #0x0e
0211 02bf 00da CALL 0x00da
0211 02bf 00da CALL 0x00da // CopyMemory(LEN=$AC1.M, *R00=SRC, *R03=DEST)
0213 00da 0390 LR $AX0.H, @0x0390
0215 8600 TSTAXH $AX0.H
0216 0295 021a JEQ 0x021a
@ -430,7 +428,7 @@
022a 0081 0386 LRI $R01, #0x0386
022c 009f 03a8 LRI $AC1.M, #0x03a8
022e 0080 0040 LRI $R00, #0x0040
0230 02bf 0523 CALL 0x0523 // DMAtoRAM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
0230 02bf 0523 CALL 0x0523 // RAMtoDMEM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
0232 02df RET
@ -561,7 +559,7 @@
02f2 1c7e MRR $R03, $AC0.M
02f3 0080 0440 LRI $R00, #0x0440
02f5 05fe ADDIS $ACC1, #0xfe
02f6 02bf 00da CALL 0x00da
02f6 02bf 00da CALL 0x00da // CopyMemory(LEN=$AC1.M, *R00=SRC, *R03=DEST)
02f8 0080 0490 LRI $R00, #0x0490
02fa 00c1 038f LR $R01, @0x038f
02fc 8900 CLR $AC1.M
@ -576,7 +574,7 @@
030a 00df 0484 LR $AC1.M, @0x0484
030c 0340 001f ANDI $ACC1, #0x001f
030e 05fe ADDIS $ACC1, #0xfe
030f 02bf 00da CALL 0x00da
030f 02bf 00da CALL 0x00da // CopyMemory(LEN=$AC1.M, *R00=SRC, *R03=DEST)
0311 00de 0484 LR $AC0.M, @0x0484
0313 0240 0020 ANDI $ACC0, #0x0020
0315 0295 0333 JEQ 0x0333
@ -727,7 +725,7 @@
03ec 0081 0388 LRI $R01, #0x0388
03ee 009f 0d00 LRI $AC1.M, #0x0d00
03f0 0080 0050 LRI $R00, #0x0050
03f2 02bf 0530 CALL 0x0530 // RAMtoDMEM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
03f2 02bf 0530 CALL 0x0530 // DMEMtoRAM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
03f4 0080 0fa0 LRI $R00, #0x0fa0
03f6 0083 0d60 LRI $R03, #0x0d60
03f8 0f50 LRIS $AC1.M, #0x50
@ -738,7 +736,7 @@
0401 0081 038a LRI $R01, #0x038a
0403 009f 0d60 LRI $AC1.M, #0x0d60
0405 0080 0050 LRI $R00, #0x0050
0407 02bf 0530 CALL 0x0530 // RAMtoDMEM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
0407 02bf 0530 CALL 0x0530 // DMEMtoRAM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
0409 009a 0000 LRI $AX0.H, #0x0000
040b 0098 00a0 LRI $AX0.L, #0x00a0
040d 0080 0388 LRI $R00, #0x0388
@ -760,25 +758,25 @@
0426 193c LRRI $AC0.L, @$R01
0427 009f 0400 LRI $AC1.M, #0x0400
0429 00c0 0345 LR $R00, @0x0345
042b 02bf 0525 CALL 0x0525 // DMAtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
042b 02bf 0525 CALL 0x0525 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
042d 0081 0348 LRI $R01, #0x0348
042f 193e LRRI $AC0.M, @$R01
0430 193c LRRI $AC0.L, @$R01
0431 009f 0800 LRI $AC1.M, #0x0800
0433 00c0 0345 LR $R00, @0x0345
0435 02bf 0525 CALL 0x0525 // DMAtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0435 02bf 0525 CALL 0x0525 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0437 0081 0346 LRI $R01, #0x0346
0439 193e LRRI $AC0.M, @$R01
043a 193c LRRI $AC0.L, @$R01
043b 009f 0800 LRI $AC1.M, #0x0800
043d 00c0 0345 LR $R00, @0x0345
043f 02bf 0532 CALL 0x0532 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
043f 02bf 0532 CALL 0x0532 // DMEMtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0441 0081 0348 LRI $R01, #0x0348
0443 193e LRRI $AC0.M, @$R01
0444 193c LRRI $AC0.L, @$R01
0445 009f 0400 LRI $AC1.M, #0x0400
0447 00c0 0345 LR $R00, @0x0345
0449 02bf 0532 CALL 0x0532 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0449 02bf 0532 CALL 0x0532 // DMEMtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
044b 029f 0043 JMP 0x0043
@ -791,13 +789,13 @@
0456 193c LRRI $AC0.L, @$R01
0457 009f 0400 LRI $AC1.M, #0x0400
0459 00c0 0345 LR $R00, @0x0345
045b 02bf 0525 CALL 0x0525 // DMAtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
045b 02bf 0525 CALL 0x0525 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
045d 0081 0348 LRI $R01, #0x0348
045f 193e LRRI $AC0.M, @$R01
0460 193c LRRI $AC0.L, @$R01
0461 009f 0400 LRI $AC1.M, #0x0400
0463 00c0 0345 LR $R00, @0x0345
0465 02bf 0532 CALL 0x0532 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0465 02bf 0532 CALL 0x0532 // DMEMtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0467 029f 0043 JMP 0x0043
// Opcode_06()
@ -815,7 +813,7 @@
047c 193c LRRI $AC0.L, @$R01
047d 009f 0400 LRI $AC1.M, #0x0400
047f 00c0 0345 LR $R00, @0x0345
0481 02bf 0532 CALL 0x0532 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0481 02bf 0532 CALL 0x0532 // DMEMtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0483 029f 0043 JMP 0x0043
@ -828,13 +826,13 @@
048e 193c LRRI $AC0.L, @$R01
048f 009f 0400 LRI $AC1.M, #0x0400
0491 00c0 0344 LR $R00, @0x0344
0493 02bf 0525 CALL 0x0525 // DMAtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0493 02bf 0525 CALL 0x0525 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0495 0081 0348 LRI $R01, #0x0348
0497 193e LRRI $AC0.M, @$R01
0498 193c LRRI $AC0.L, @$R01
0499 009f 0800 LRI $AC1.M, #0x0800
049b 00c0 0344 LR $R00, @0x0344
049d 02bf 0525 CALL 0x0525 // DMAtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
049d 02bf 0525 CALL 0x0525 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
049f 0080 0400 LRI $R00, #0x0400
04a1 0083 0800 LRI $R03, #0x0800
04a3 0084 0000 LRI $R04, #0x0000
@ -855,7 +853,7 @@
04b7 193c LRRI $AC0.L, @$R01
04b8 009f 0400 LRI $AC1.M, #0x0400
04ba 00c0 0344 LR $R00, @0x0344
04bc 02bf 0532 CALL 0x0532 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
04bc 02bf 0532 CALL 0x0532 // DMEMtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
04be 029f 0043 JMP 0x0043
@ -931,10 +929,10 @@
0520 02bf 04ea CALL 0x04ea
0522 02df RET
// DMAtoRAM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
// RAMtoDMEM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
0523 193e LRRI $AC0.M, @$R01
0524 193c LRRI $AC0.L, @$R01
// DMAtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
// RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0525 2fcd SRS @DSPA, $AC1.M
0526 0f00 LRIS $AC1.M, #0x00
0527 2fc9 SRS @DSCR, $AC1.M
@ -947,10 +945,10 @@
052f 02df RET
// RAMtoDMEM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
// DMEMtoRAM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
0530 193e LRRI $AC0.M, @$R01
0531 193c LRRI $AC0.L, @$R01
// RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
// DMEMtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0532 2fcd SRS @DSPA, $AC1.M
0533 0f01 LRIS $AC1.M, #0x01
0534 029f 0527 JMP 0x0527
@ -1029,7 +1027,7 @@
0588 00df 0349 LR $AC1.M, @0x0349
058a 0340 ffff ANDI $ACC1, #0xffff
058c 00c0 0345 LR $R00, @0x0345
058e 02bf 0523 CALL 0x0523 // DMAtoRAM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
058e 02bf 0523 CALL 0x0523 // RAMtoDMEM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
0590 029f 0043 JMP 0x0043
// Opcode_05()
@ -1040,7 +1038,7 @@
059a 00df 0349 LR $AC1.M, @0x0349
059c 0340 ffff ANDI $ACC1, #0xffff
059e 00c0 0345 LR $R00, @0x0345
05a0 02bf 0530 CALL 0x0530 // RAMtoDMEM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
05a0 02bf 0530 CALL 0x0530 // DMEMtoRAM(DMEM=$AC1.M, *R01=MEMADDR, R00=Len)
05a2 029f 0043 JMP 0x0043
// ClearAccelerator()
@ -1611,9 +1609,6 @@
086b 8900 CLR $AC1.M
086c 00df 0360 LR $AC1.M, @0x0360
086e 02df RET
086f b100 TST $AC0.M
0870 02d5 RETEQ
0871 04fe ADDIS $ACC0, #0xfe
@ -1626,8 +1621,6 @@
0879 6433 MOVR.S $AC0.M, $AX0.H : @$R03, $AC0.M
087a 1b7e SRRI @$R03, $AC0.M
087b 02df RET
087c 8100 CLR $AC0.M
087d 1f5e MRR $AX0.H, $AC0.M
087e 00d8 0402 LR $AX0.L, @0x0402
@ -1640,27 +1633,24 @@
088b 1c5f MRR $R02, $AC1.M
088c 175f CALLR $R02
088d 00fc 0430 SR @0x0430, $AC0.L
088f 029f 02d8 JMP 0x02d8 // 0
0891 029f 08b2 JMP 0x08b2 // 1
0893 029f 08ed JMP 0x08ed // 2
0895 029f 08d5 JMP 0x08d5 // 3
0897 029f 08c2 JMP 0x08c2 // 4
0899 029f 08fb JMP 0x08fb // 5
089b 029f 08b1 JMP 0x08b1 // 6, 9, 10, 14, 15, 16
089d 029f 0919 JMP 0x0919 // 7
089f 029f 091c JMP 0x091c // 8
08a1 029f 08b1 JMP 0x08b1 // 9
08a3 029f 08b1 JMP 0x08b1 // 10
08a5 029f 093a JMP 0x093a // 11
08a7 029f 08f3 JMP 0x08f3 // 12
08a9 029f 08f7 JMP 0x08f7 // 13
08ab 029f 08b1 JMP 0x08b1 // 14
08ad 029f 08b1 JMP 0x08b1 // 15
08af 029f 08b1 JMP 0x08b1 // 16
// Op2 - 6, 9, 10, 14, 15, 16
088f 029f 02d8 JMP 0x02d8
0891 029f 08b2 JMP 0x08b2
0893 029f 08ed JMP 0x08ed
0895 029f 08d5 JMP 0x08d5
0897 029f 08c2 JMP 0x08c2
0899 029f 08fb JMP 0x08fb
089b 029f 08b1 JMP 0x08b1
089d 029f 0919 JMP 0x0919
089f 029f 091c JMP 0x091c
08a1 029f 08b1 JMP 0x08b1
08a3 029f 08b1 JMP 0x08b1
08a5 029f 093a JMP 0x093a
08a7 029f 08f3 JMP 0x08f3
08a9 029f 08f7 JMP 0x08f7
08ab 029f 08b1 JMP 0x08b1
08ad 029f 08b1 JMP 0x08b1
08af 029f 08b1 JMP 0x08b1
08b1 02df RET
08b2 1401 LSL $ACC0, #0x01
08b3 009b c000 LRI $AX1.H, #0xc000
08b5 0099 4000 LRI $AX1.L, #0x4000
@ -1673,8 +1663,6 @@
08bf 4800 ADDAX $AC0.M, $AX0.L
08c0 147f LSR $ACC0, #0x3f
08c1 02df RET
// Op2 - 4
08c2 1402 LSL $ACC0, #0x02
08c3 8900 CLR $AC1.M
08c4 1fb8 MRR $AC1.L, $AX0.L
@ -1690,8 +1678,6 @@
08d2 4c00 ADD $AC0.M, $AC1.M
08d3 147e LSR $ACC0, #0x3e
08d4 02df RET
// Op2 - 3
08d5 1401 LSL $ACC0, #0x01
08d6 0081 0ca0 LRI $R01, #0x0ca0
08d8 009b c000 LRI $AX1.H, #0xc000
@ -1710,16 +1696,12 @@
08ea 4c39 ADD.S $AC0.M, $AC1.M : @$R01, $AC1.M
08eb 147f LSR $ACC0, #0x3f
08ec 02df RET
// Op2 - 2
08ed 8900 CLR $AC1.M
08ee 1fb8 MRR $AC1.L, $AX0.L
08ef 157f LSR $ACC1, #0x3f
08f0 1050 LOOPI #0x50
08f1 4c20 ADD.S $AC0.M, $AC1.M : @$R00, $AC0.L
08f2 02df RET
// Op2 - 12
08f3 0082 0180 LRI $R02, #0x0180
08f5 029f 08fd JMP 0x08fd
08f7 0082 01c0 LRI $R02, #0x01c0
@ -1747,13 +1729,9 @@
0915 147a LSR $ACC0, #0x3a
0916 008a ffff LRI $R10, #0xffff
0918 02df RET
0919 1050 LOOPI #0x50
091a 1b18 SRRI @$R00, $AX0.L
091b 02df RET
091c 0082 0100 LRI $R02, #0x0100
091e 008a 003f LRI $R10, #0x003f
0920 0086 0000 LRI $R06, #0x0000
@ -1777,9 +1755,6 @@
0936 147a LSR $ACC0, #0x3a
0937 008a ffff LRI $R10, #0xffff
0939 02df RET
093a 0082 0100 LRI $R02, #0x0100
093c 008a 003f LRI $R10, #0x003f
093e 0086 0000 LRI $R06, #0x0000
@ -1809,9 +1784,6 @@
095b 147a LSR $ACC0, #0x3a
095c 008a ffff LRI $R10, #0xffff
095e 02df RET
095f 0080 01be LRI $R00, #0x01be
0961 1918 LRRI $AX0.L, @$R00
0962 191a LRRI $AX0.H, @$R00
@ -1838,9 +1810,6 @@
097e 0260 2000 ORI $ACC0, #0x2000
0980 02bf 0983 CALL 0x0983
0982 02df RET
0983 b900 TST $AC1.M
0984 0272 IF_2
0985 7c00 NEG $AC0.M
@ -1852,9 +1821,6 @@
098c 473b ADDR.S $AC1.M, $AX1.H : @$R03, $AC1.M
098d 473b ADDR.S $AC1.M, $AX1.H : @$R03, $AC1.M
098e 02df RET
098f 0092 0004 LRI $CR, #0x0004
0991 2002 LRS $AX0.L, @0x0002
0992 8100 CLR $AC0.M
@ -2171,7 +2137,7 @@
0b0b 1c1f MRR $R00, $AC1.M
0b0c 009f 0b00 LRI $AC1.M, #0x0b00
0b0e 0092 00ff LRI $CR, #0x00ff
0b10 02bf 0525 CALL 0x0525 // DMAtoRAM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0b10 02bf 0525 CALL 0x0525 // RAMtoDMEM(DMEM=$AC1.M, AC0=MEMADDR, R00=Len)
0b12 0092 0004 LRI $CR, #0x0004
0b14 2734 LRS $AC1.M, @0x0034
0b15 1f61 MRR $AX1.H, $R01
@ -2223,8 +2189,6 @@
0b49 0088 ffff LRI $R08, #0xffff
0b4b 8b00 M0
0b4c 02df RET
0b4d 8a00 M2
0b4e 05fe ADDIS $ACC1, #0xfe
0b4f 0083 03e8 LRI $R03, #0x03e8
@ -2248,9 +2212,6 @@
0b64 0088 ffff LRI $R08, #0xffff
0b66 8b00 M0
0b67 02df RET
0b68 0083 03e8 LRI $R03, #0x03e8
0b6a 191e LRRI $AC0.M, @$R00
0b6b 191a LRRI $AX0.H, @$R00
@ -2304,8 +2265,6 @@
0ba1 1b5f SRRI @$R02, $AC1.M
0ba2 1b5e SRRI @$R02, $AC0.M
0ba3 02df RET
0ba4 0083 03e8 LRI $R03, #0x03e8
0ba6 191e LRRI $AC0.M, @$R00
0ba7 191a LRRI $AX0.H, @$R00
@ -2406,7 +2365,7 @@
0c15 0200 0a60 ADDI $ACC0, #0x0a60
0c17 1c7e MRR $R03, $AC0.M
0c18 0f4e LRIS $AC1.M, #0x4e
0c19 02bf 00da CALL 0x00da
0c19 02bf 00da CALL 0x00da // CopyMemory(LEN=$AC1.M, *R00=SRC, *R03=DEST)
0c1b 02df RET
0c1c 00de 03f1 LR $AC0.M, @0x03f1
0c1e 0200 0a60 ADDI $ACC0, #0x0a60
@ -2465,8 +2424,6 @@
0c6c 00fc 03f6 SR @0x03f6, $AC0.L
0c6e 008b ffff LRI $R11, #0xffff
0c70 02df RET
0c71 0f50 LRIS $AC1.M, #0x50
0c72 0080 0a00 LRI $R00, #0x0a00
0c74 0083 0d60 LRI $R03, #0x0d60
@ -2478,8 +2435,6 @@
0c7f 0098 3fff LRI $AX0.L, #0x3fff
0c81 02bf 00eb CALL 0x00eb
0c83 02df RET
0c84 8a00 M2
0c85 8f00 S16
0c86 8100 CLR $AC0.M
@ -2507,13 +2462,11 @@
0ca6 8b00 M0
0ca7 8e00 S40
0ca8 02df RET
0ca9 b900 TST $AC1.M
0caa 0294 0caf JNE 0x0caf
0cac 6800 MOVAX $AC0.M, $AX0.L
0cad b100 TST $AC0.M
0cae 02d5 RETEQ // Return if equal ?
0cae 02d5 RETEQ
0caf 1c23 MRR $R01, $R03
0cb0 197e LRRI $AC0.M, @$R03
0cb1 191b LRRI $AX1.H, @$R00
@ -2530,9 +2483,6 @@
0cbe dcd3 MULCAC.LD $AX1.H, $AC1.M, $AC0.M : $AX0.L, $AX1.H, @$R03
0cbf 6231 MOVR.S $AC0.M, $AX1.L : @$R01, $AC0.M
0cc0 02df RET
0cc1 8f00 S16
0cc2 8d00 SET15
0cc3 1c03 MRR $R00, $R03
@ -2549,9 +2499,6 @@
0cd0 8c00 CLR15
0cd1 8e00 S40
0cd2 02df RET
0cd3 00da 0485 LR $AX0.H, @0x0485
0cd5 8600 TSTAXH $AX0.H
0cd6 0295 0ce5 JEQ 0x0ce5
@ -2650,8 +2597,6 @@
0d5f 0000 NOP
0d60 8e00 S40
0d61 02df RET
0d62 191f LRRI $AC1.M, @$R00
0d63 d078 MULC.L $AX0.H, $AC1.M : $AC1.M, @$R00
0d64 d678 MULCMV.L $AX0.H, $AC1.M, $AC0.M : $AC1.M, @$R00
@ -2661,9 +2606,6 @@
0d68 6e31 MOVP.S $AC0.M : @$R01, $AC0.M
0d69 1b3e SRRI @$R01, $AC0.M
0d6a 02df RET
0d6b 8d00 SET15
0d6c 1f7e MRR $AX1.H, $AC0.M
0d6d 1918 LRRI $AX0.L, @$R00
@ -2676,8 +2618,6 @@
0d74 1b3e SRRI @$R01, $AC0.M
0d75 8c00 CLR15
0d76 02df RET
0d77 0d00 LRIS $AC1.L, #0x00
0d78 0d60 LRIS $AC1.L, #0x60
0d79 0f40 LRIS $AC1.M, #0x40
@ -2780,8 +2720,6 @@
0df0 6533 MOVR.S $AC1.M, $AX0.H : @$R03, $AC0.M
0df1 1b7f SRRI @$R03, $AC1.M
0df2 02df RET
0df3 1fe0 MRR $AC1.M, $R00
0df4 1c1f MRR $R00, $AC1.M
0df5 1128 0dfc BLOOPI #0x28, 0x0dfc
@ -2810,8 +2748,6 @@
0e12 1a5b SRR @$R02, $AX1.H
0e13 02df RET
// called by init code
{
a_04e8[0]=0x8240;
@ -2897,9 +2833,6 @@
0e87 0098 8001 LRI $AX0.L, #0x8001
0e89 02bf 00eb CALL 0x00eb
0e8b 02df RET
0e8c 0000 NOP
0e8d 0000 NOP
0e8e 0000 NOP

BIN
Docs/DSP/GC DSP.pdf Normal file

Binary file not shown.