mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
315 lines
5.6 KiB
Plaintext
315 lines
5.6 KiB
Plaintext
|
; This test checks the effect of the index looping registers (R8-R11)
|
||
|
incdir "tests"
|
||
|
include "dsp_base.inc"
|
||
|
|
||
|
; Tests done using AR1 = 0x0010, IX1 = 0. LP1 means R09.
|
||
|
; LP1 = 0
|
||
|
; 10, 10, 10, 10,
|
||
|
; LP1 = 1
|
||
|
; 10, 11, 10, 11,
|
||
|
; LP1 = 2
|
||
|
; 10, 12, 11, 13, 12, 11, 13, 12, 11, 13, 12, 11
|
||
|
; LP1 = 3
|
||
|
; 10, 13, 12, 11, 10, 13, 12...
|
||
|
; LP1 = 4
|
||
|
; 10, 14, 13, 17, 16, 15, 14, 13, 17, 16, 15, 14, 13, ...
|
||
|
; LP1 = 5
|
||
|
; 10, 15, 14, 13, 12, 17, 16, 15, 14, 13, 12, 17,
|
||
|
; LP1 = 6
|
||
|
; 10, 16, 15, 14, 13, 12, 11, 17, 16, 15, 14, 13
|
||
|
; LP1 = 7
|
||
|
; 10, 17, 16, 15, .. normal
|
||
|
; LP1 = 8
|
||
|
; 10, 18, 17, 1f, 1e, 1d, 1c, 1b, 1a, 19, 18, 17, 1f, 1e, .....
|
||
|
|
||
|
|
||
|
; I really don't know how the above could possibly be efficiently implemented in hardware.
|
||
|
; And thus it's tricky to implement in software too :p
|
||
|
|
||
|
; test using indexing register 1 - 0 is used in send_back
|
||
|
lri $AR1, #16
|
||
|
lri $IX1, #32
|
||
|
lri $R09, #0
|
||
|
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
|
||
|
lri $AR1, #16
|
||
|
lri $R09, #1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
|
||
|
lri $AR1, #16
|
||
|
lri $R09, #2
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
|
||
|
lri $AR1, #16
|
||
|
lri $R09, #3
|
||
|
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
|
||
|
lri $AR1, #16
|
||
|
lri $R09, #4
|
||
|
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
|
||
|
lri $AR1, #16
|
||
|
lri $R09, #5
|
||
|
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
|
||
|
lri $AR1, #16
|
||
|
lri $R09, #6
|
||
|
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
|
||
|
lri $AR1, #16
|
||
|
lri $R09, #7
|
||
|
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
|
||
|
lri $AR1, #16
|
||
|
lri $R09, #8
|
||
|
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
nx'dr : $AR1
|
||
|
call send_back ; 1
|
||
|
|
||
|
|
||
|
lri $R09, #0xFFFF
|
||
|
|
||
|
; We're done, DO NOT DELETE THIS LINE
|
||
|
jmp end_of_test
|