From 58412b389a31a1b98e26704c511781c6f57b5b61 Mon Sep 17 00:00:00 2001 From: Phillip Stephens Date: Mon, 4 Apr 2022 03:20:15 -0700 Subject: [PATCH] Add missing files --- asm/musyx/iram_image.s | 423 ++++++++++++++++++++++++++++++ include/Dolphin/PPCArch.h | 30 +++ include/Dolphin/__ppc_eabi_init.h | 7 + rename.sh | 2 + src/musyx/iram_image.c | 215 +++++++++++++++ src/os/__ppc_eabi_init.c | 45 ++++ 6 files changed, 722 insertions(+) create mode 100644 asm/musyx/iram_image.s create mode 100644 include/Dolphin/PPCArch.h create mode 100644 include/Dolphin/__ppc_eabi_init.h create mode 100644 rename.sh create mode 100644 src/musyx/iram_image.c create mode 100644 src/os/__ppc_eabi_init.c diff --git a/asm/musyx/iram_image.s b/asm/musyx/iram_image.s new file mode 100644 index 00000000..5f9a766e --- /dev/null +++ b/asm/musyx/iram_image.s @@ -0,0 +1,423 @@ +.section .data, "wa" +.global dspSlave +dspSlave: + .byte 0, 0, 0, 0, 2,159, 12, 16, 2,159, 12, 31, 2,159, 12, 59 + .byte 2,159, 12, 74, 2,159, 12, 80, 2,159, 12,130, 2,159, 12,136 + .byte 19, 2, 19, 3, 18, 4, 19, 5, 19, 6,142, 0,140, 0,139, 0 + .byte 0,146, 0,255,129, 0,137, 0, 0,158, 14,128, 0,254, 14, 27 + .byte 129, 0, 0,254, 14, 49, 22,252,220,209, 22,253, 0, 0, 22,251 + .byte 0, 1, 38,252, 2,160,128, 0, 2,156, 0, 41, 2,159, 0, 69 + .byte 19, 2, 19, 3, 18, 4, 19, 5, 19, 6,142, 0,140, 0,139, 0 + .byte 0,146, 0,255, 22,252,220,209, 22,253, 0, 1, 22,251, 0, 1 + .byte 38,252, 2,160,128, 0, 2,156, 0, 64,142, 0,129, 0,137, 0 + .byte 0,159,186,190, 38,254, 2,192,128, 0, 2,156, 0, 74,130, 0 + .byte 2,148, 0, 74, 35,255,129, 0, 38,254, 2,192,128, 0, 2,156 + .byte 0, 84, 39,255, 2, 64,127,255, 46,206, 47,207, 22,205, 12, 0 + .byte 129, 0, 46,201, 31,251, 47,203, 2,191, 5, 92, 0,128, 12, 0 + .byte 142, 0,129, 0,137,112,177, 0, 2,145, 0,126, 10, 18,193, 0 + .byte 2,146, 0,126, 0,159, 10,255, 76, 0, 28,126, 2, 19, 28,126 + .byte 23,111, 22,252,251,173, 22,253,128,128, 0, 33, 22,252,186,173 + .byte 46,253, 0, 33,129, 0,137,112,142,120, 46,206, 47,207, 0,158 + .byte 14, 68, 46,205, 14, 0, 46,201, 0,158, 0, 64, 46,203, 0,129 + .byte 14, 68, 0,130, 0, 0, 0,155, 0,159, 0,154, 1, 64,129, 0 + .byte 137, 0,143, 0, 2,191, 5, 92, 25, 62, 25, 60,177, 0, 25, 63 + .byte 2,148, 0,166, 0, 90, 27, 94, 2,159, 0,174,153, 0, 27, 94 + .byte 27, 92, 0,123, 0,173, 76, 0, 27, 94, 27, 92, 25, 62, 25, 60 + .byte 177, 0, 25, 63, 2,148, 0,184, 0, 90, 27, 94, 2,159, 0,192 + .byte 153, 0, 27, 94, 27, 92, 0,123, 0,191, 76, 0, 27, 94, 27, 92 + .byte 25, 62, 25, 60,177, 0, 25, 63, 2,148, 0,202, 0, 90, 27, 94 + .byte 2,159, 0,210,153, 0, 27, 94, 27, 92, 0,123, 0,209, 76, 0 + .byte 27, 94, 27, 92, 0,130, 4, 0, 25, 62, 25, 60,177,121, 2,148 + .byte 0,221, 0, 90, 27, 94, 2,159, 0,229,153, 0, 27, 94, 27, 92 + .byte 0,123, 0,228, 76, 0, 27, 94, 27, 92, 25, 62, 25, 60,177,121 + .byte 2,148, 0,238, 0, 90, 27, 94, 2,159, 0,246,153, 0, 27, 94 + .byte 27, 92, 0,123, 0,245, 76, 0, 27, 94, 27, 92, 25, 62, 25, 60 + .byte 177,121, 2,148, 0,255, 0, 90, 27, 94, 2,159, 1, 7,153, 0 + .byte 27, 94, 27, 92, 0,123, 1, 6, 76, 0, 27, 94, 27, 92, 0,130 + .byte 7,192, 25, 62, 25, 60,177,121, 2,148, 1, 18, 0, 90, 27, 94 + .byte 2,159, 1, 26,153, 0, 27, 94, 27, 92, 0,123, 1, 25, 76, 0 + .byte 27, 94, 27, 92, 25, 62, 25, 60,177,121, 2,148, 1, 35, 0, 90 + .byte 27, 94, 2,159, 1, 43,153, 0, 27, 94, 27, 92, 0,123, 1, 42 + .byte 76, 0, 27, 94, 27, 92, 25, 62, 25, 60,177,121, 2,148, 1, 52 + .byte 0, 90, 27, 94, 2,159, 1, 60,153, 0, 27, 94, 27, 92, 0,123 + .byte 1, 59, 76, 0, 27, 94, 27, 92, 2,159, 0,104, 0,133,255,255 + .byte 129, 80,137, 64,142, 72, 0,250, 14, 23, 0,248, 14, 24, 0,129 + .byte 0, 0, 2,191, 4,241, 0,218, 14, 23, 0,216, 14, 24,137, 72 + .byte 0,129, 4, 0, 2,191, 4,241, 0,218, 14, 23, 0,216, 14, 24 + .byte 137, 72, 0,129, 7,192, 2,191, 4,241, 2,159, 0,104, 0,134 + .byte 7,192, 2,191, 4,132, 2,159, 0,104,129, 0,142, 0, 25, 30 + .byte 25, 28, 46,206, 44,207, 22,205, 0, 0, 22,201, 0, 1, 22,203 + .byte 7,128, 2,191, 5, 92, 2,159, 0,104,129, 0,137,112,142, 96 + .byte 46,206, 44,207, 22,205, 14, 68, 22,201, 0, 0,137, 0, 13, 32 + .byte 45,203, 76, 0, 28,128, 0,128, 2,128, 0,129, 0, 0, 0,130 + .byte 1, 64, 0,131, 14, 68, 10, 0, 39,201, 3,160, 0, 4, 2,156 + .byte 1,140, 46,206, 44,207, 22,205, 14, 84, 22,201, 0, 0, 22,203 + .byte 2, 96, 0,159, 0,160,143, 0, 0,127, 1,165, 25,126, 27, 26 + .byte 25,124, 27, 26, 27, 94,124, 34, 27, 62, 27, 60, 28, 4, 2,159 + .byte 0,104,142,112,137, 96, 25, 31, 46,206, 44,207, 22,205, 12, 0 + .byte 22,201, 0, 0, 5, 3, 3, 64,255,240, 47,203, 2,191, 5, 92 + .byte 0,128, 12, 0, 2,159, 0,104,129, 0,137,112,142,120, 46,206 + .byte 47,207, 22,205, 11,128, 22,201, 0, 0, 22,203, 0,192, 0,130 + .byte 14, 8, 0,159, 0, 0, 27, 95, 0,159, 1, 64, 27, 95, 0,159 + .byte 2,128, 27, 95, 0,159, 4, 0, 27, 95, 0,159, 5, 64, 27, 95 + .byte 0,159, 6,128, 27, 95, 0,159, 7,192, 27, 95, 0,159, 9, 0 + .byte 27, 95, 0,159, 10, 64, 27, 95, 2,191, 5, 92, 0,222, 11,167 + .byte 0,223, 11,168, 46,206, 47,207, 22,205, 3,192, 22,201, 0, 0 + .byte 22,203, 0,128,129, 0,137, 0, 0,222, 11,132, 0,159, 11, 49 + .byte 76, 0, 28,126, 2, 19, 0,254, 14, 21, 0,222, 11,133, 0,159 + .byte 11, 52, 76, 0, 28,126, 2, 19, 0,254, 14, 22, 0,222, 11,134 + .byte 0,159, 11, 17, 76, 0, 28,126, 2, 19, 0,254, 14, 20,129, 0 + .byte 0,222, 11,155,177, 0, 2,149, 2, 58,137, 0, 0,223, 11,158 + .byte 3, 0, 12,192, 0,255, 14, 64, 0,223, 11,159, 3, 0, 12,192 + .byte 0,255, 14, 65, 0,159, 12,224, 0,255, 14, 66, 0,255, 14, 67 + .byte 2,191, 5, 92, 0,222, 11,156, 46,206, 0,222, 11,157, 46,207 + .byte 22,205, 12,192, 22,201, 0, 0, 22,203, 0, 64, 2,191, 5, 92 + .byte 2,159, 0,104, 0,159, 12,224, 0,255, 14, 66, 0,255, 14, 64 + .byte 0,255, 14, 65, 0,255, 14, 67, 2,191, 5, 92, 2,159, 0,104 + .byte 142, 0, 0,224, 14, 7, 0,128, 11,162, 0,129, 3,192, 14, 5 + .byte 0,254, 14, 4,137, 0,129, 80, 0,159, 11,128, 0,122, 2, 91 + .byte 25, 62, 76, 73, 28, 94, 26, 89, 0,131, 14, 5, 27, 97, 27, 96 + .byte 0,222, 11,135, 6, 1, 2,149, 2,103, 2,159, 3, 50, 0,222 + .byte 14, 66, 0,254, 14, 28, 0,195, 14, 21, 23,127,142, 0,138, 0 + .byte 129, 0,137, 0, 0,222, 11,179, 0,223, 11,178, 31, 31, 77, 0 + .byte 20,129,141, 30, 31,216, 0,152,128, 0, 0,128, 14, 68,168, 48 + .byte 172, 56,173, 48,172, 56,173, 48,172, 56,173, 48,172, 56,173, 48 + .byte 172, 56,173, 48,172, 56,173, 48,172, 56,173, 48,172, 56,173, 48 + .byte 172, 56,173, 48,172, 56,173, 48,172, 56,173, 48,172, 56,173, 48 + .byte 172, 56,173, 48,172, 56,173, 48,172, 56,173, 48,172, 56, 0,254 + .byte 11,178,143, 0, 0,128, 14, 68, 0,193, 14, 67, 28, 97, 25, 58 + .byte 25, 24,144, 89, 25, 25,158, 81,128,128,151, 89,128,145,158, 81 + .byte 128,128,151, 89,128,145,158, 81,128,128,151, 89,128,145,158, 81 + .byte 128,128,151, 89,128,145,158, 81,128,128,151, 89,128,145,158, 81 + .byte 128,128,151, 89,128,145,158, 81,128,128,151, 89,128,145,158, 81 + .byte 128,128,151, 89,128,145,158, 81,128,128,151, 89,128,145,158, 81 + .byte 128,128,151, 89,128,145,158, 81,128,128,151, 89,128,145,158, 81 + .byte 128,128,151, 89,128,145,158, 81,128,128,151, 89,128,145,158, 81 + .byte 128,128,151, 89,128,145,158, 81,128,128,151, 89,128,145,158, 0 + .byte 111, 51, 27,127, 0,195, 14, 20,143, 0,141, 0,138, 0, 23,127 + .byte 129, 0, 0,222, 11,155,177, 0, 2,149, 3, 42, 0,222, 14, 66 + .byte 0,254, 14, 67,129, 0,137, 0, 0,222, 11,158, 0,223, 11,160 + .byte 130, 0, 2,147, 3, 6,120, 0, 2,159, 3, 9, 2,149, 3, 9 + .byte 116, 0, 0,254, 11,158, 0,223, 14, 67, 5,224, 76, 0, 0,254 + .byte 14, 64,129, 0,137, 0, 0,222, 11,159, 0,223, 11,161,130, 0 + .byte 2,147, 3, 29,120, 0, 2,159, 3, 32, 2,149, 3, 32,116, 0 + .byte 0,254, 11,159, 0,223, 14, 67, 5,224, 76, 0, 0,254, 14, 65 + .byte 2,159, 3, 50, 0,222, 14, 66, 0,254, 14, 64, 0,254, 14, 65 + .byte 0,254, 14, 67,129, 0,142, 0,132, 0,137, 0, 30,254, 14, 64 + .byte 30,190, 0,131, 14, 8, 28, 3, 31,245, 25, 26,248, 88,251,160 + .byte 248,177,251,160,248,177,251,160,248,177,251,160,248, 59, 27,126 + .byte 0,131, 14, 4,129, 0,137,115, 25, 97, 25, 96,120, 0, 0,254 + .byte 14, 4, 2,148, 2, 83,142, 0,129, 0, 0,222, 11,155,177, 0 + .byte 2,149, 3,106, 0,222, 11,156, 0,220, 11,157, 46,206, 44,207 + .byte 129, 0, 0,222, 14, 28, 46,205, 22,201, 0, 1, 22,203, 0, 64 + .byte 2,191, 5, 92,129, 0,137, 0, 0,222, 11,130, 0,223, 11,131 + .byte 46,206, 47,207, 22,205, 11,128, 22,201, 0, 1, 22,203, 0,192 + .byte 2,191, 5, 92,129, 0, 0,222, 11,128, 0,220, 11,129,177, 0 + .byte 2,148, 3,134, 0,192, 14, 7, 2,159, 0,104, 46,206, 44,207 + .byte 22,205, 11,128, 22,201, 0, 0, 22,203, 0,192, 0,130, 14, 8 + .byte 0,159, 0, 0, 27, 95, 0,159, 1, 64, 27, 95, 0,159, 2,128 + .byte 27, 95, 0,159, 4, 0, 27, 95, 0,159, 5, 64, 27, 95, 0,159 + .byte 6,128, 27, 95, 0,159, 7,192, 27, 95, 0,159, 9, 0, 27, 95 + .byte 0,159, 10, 64, 27, 95, 2,191, 5, 92, 0,222, 11,167, 0,223 + .byte 11,168, 46,206, 47,207, 22,205, 3,192, 22,201, 0, 0, 22,203 + .byte 0,128,129, 0,137, 0, 0,222, 11,132, 0,159, 11, 49, 76, 0 + .byte 28,126, 2, 19, 0,254, 14, 21, 0,222, 11,133, 0,159, 11, 52 + .byte 76, 0, 28,126, 2, 19, 0,254, 14, 22, 0,222, 11,134, 0,159 + .byte 11, 17, 76, 0, 28,126, 2, 19, 0,254, 14, 20,129, 0, 0,222 + .byte 11,155,177, 0, 2,149, 4, 3,137, 0, 0,223, 11,158, 3, 0 + .byte 12,192, 0,255, 14, 64, 0,223, 11,159, 3, 0, 12,192, 0,255 + .byte 14, 65, 0,159, 12,224, 0,255, 14, 66, 0,255, 14, 67, 2,191 + .byte 5, 92, 0,222, 11,156, 46,206, 0,222, 11,157, 46,207, 22,205 + .byte 12,192, 22,201, 0, 0, 22,203, 0, 64, 2,191, 5, 92, 0,192 + .byte 14, 7, 2,159, 2, 72, 0,159, 12,224, 0,255, 14, 66, 0,255 + .byte 14, 64, 0,255, 14, 65, 0,255, 14, 67, 2,191, 5, 92, 0,192 + .byte 14, 7, 2,159, 2, 72,142, 0, 0,134, 4, 0,129, 0,137,112 + .byte 25, 28, 46,206, 44,207, 31,198, 46,205, 22,201, 0, 1, 22,203 + .byte 7,128, 2,191, 5, 92, 2,191, 4,132, 2,159, 0,104,142, 0 + .byte 0,134, 7,192,129, 0,137,112, 25, 28, 46,206, 44,207, 31,198 + .byte 46,205, 22,201, 0, 1, 22,203, 7,128, 2,191, 5, 92, 2,191 + .byte 4,132, 2,159, 0,104,140, 0,138, 0,129, 0,137,112, 25, 31 + .byte 46,206, 47,207, 22,205, 2,128, 22,201, 0, 1, 22,203, 2,128 + .byte 143, 80,129, 64, 0,129, 4, 0, 0,131, 0, 0, 0,130, 1, 64 + .byte 0,153, 0,128, 2,191, 5, 92, 17, 5, 4,108, 31, 97, 17, 32 + .byte 4, 94,137,114, 25, 92,240,123, 25,125,241, 49,129, 57,137, 0 + .byte 104, 0, 46,206, 44,207, 31,251, 47,205, 15, 1, 47,201, 31,249 + .byte 47,203,114, 0, 31, 94, 31, 28,129, 0, 38,201, 2,160, 0, 4 + .byte 2,156, 4,109, 2,159, 0,104, 2,159, 0,104, 2,159, 0,104 + .byte 2,159, 0,104, 22,252,220,209, 22,253, 0, 2, 22,251, 0, 1 + .byte 2,159, 12,145, 2,159, 0, 69,142, 0, 25, 31, 25, 29, 31, 95 + .byte 31, 29, 47,206, 45,207,137, 0, 31,166, 45,205, 14, 0, 46,201 + .byte 129, 0, 0,156, 0,192, 44,203, 28,160, 0,129, 14, 68, 72, 0 + .byte 27, 62, 27, 60, 11, 0, 0,153, 0, 96, 75, 0, 27, 61, 0,129 + .byte 14, 68, 28, 6, 0,131, 0, 0, 28, 67, 39,201, 3,160, 0, 4 + .byte 2,156, 4,165, 17, 9, 4,218,142, 0, 25, 58, 25, 56,105, 0 + .byte 47,206, 45,207,137, 0, 25, 61, 45,205, 22,201, 0, 0,129, 0 + .byte 0,156, 0,192, 44,203, 0,129, 14, 68, 72, 0, 27, 62, 27, 60 + .byte 11, 0, 9, 96, 75, 0, 27, 61, 0,129, 14, 68,143, 0,128,240 + .byte 128,192,106, 0, 72, 0, 17, 23, 4,212,128,240,128,192,107, 50 + .byte 73, 34,128,240,128,192,106, 58, 72, 42,128,240,128,192,107, 50 + .byte 73, 34, 27, 95, 27, 93,128,240,128,192,106, 0, 72, 0, 17, 23 + .byte 4,232,128,240,128,192,107, 50, 73, 34,128,240,128,192,106, 58 + .byte 72, 42,128,240,128,192,107, 50, 73, 34, 27, 95, 27, 93, 28, 5 + .byte 2,223,142, 0, 0,155, 14, 68, 0,157, 0,192, 2,191, 5, 65 + .byte 73, 0, 0,255, 14, 29, 0,253, 14, 30,137, 0, 2,191, 5, 92 + .byte 17, 4, 5, 44, 0,218, 14, 29, 0,216, 14, 30, 0,155, 14,164 + .byte 0,157, 0,192, 2,191, 5, 65, 73, 0, 0,255, 14, 29, 0,253 + .byte 14, 30, 0,131, 14, 68, 2,191, 5, 76,137, 0, 0,218, 14, 29 + .byte 0,216, 14, 30, 0,155, 14, 68, 0,157, 0,192, 2,191, 5, 65 + .byte 73, 0, 0,255, 14, 29, 0,253, 14, 30, 0,131, 14,164, 2,191 + .byte 5, 76, 0, 0, 0, 0,142, 0,137, 0, 0,218, 14, 29, 0,216 + .byte 14, 30, 0,155, 14,164, 0,157, 0,192, 2,191, 5, 65, 73, 0 + .byte 0,131, 14, 68, 2,191, 5, 76, 0,131, 14,164, 2,191, 5, 76 + .byte 2,223,142, 0, 0,250,255,206, 0,248,255,207, 0,251,255,205 + .byte 22,201, 0, 0, 45,203, 2,223,143, 0,141, 0,138, 0, 25,122 + .byte 25,120,160, 0,182, 0, 17, 48, 5, 90,145,121, 78,109, 25,122 + .byte 77, 67,160, 57,182, 41, 2,223, 38,201, 2,160, 0, 4, 2,156 + .byte 5, 92, 2,223, 38,254, 2,192,128, 0, 2,156, 5, 98, 2,223 + .byte 38,252, 2,160,128, 0, 2,156, 5,104, 2,223, 38,252, 2,160 + .byte 128, 0, 2,156, 5,110, 2,223,129, 0,137,112,142, 96, 46,206 + .byte 44,207, 22,205, 14, 68, 22,201, 0, 0,137, 0, 13, 32, 45,203 + .byte 76, 0, 28,128, 0,128, 2,128, 0,129, 0, 0, 0,130, 1, 64 + .byte 0,131, 14, 68, 10, 0, 39,201, 3,160, 0, 4, 2,156, 5,139 + .byte 46,206, 44,207, 22,205, 14, 84, 22,201, 0, 0, 22,203, 2, 96 + .byte 0,159, 0,160,143, 0, 0,127, 5,164, 25,126, 27, 26, 25,124 + .byte 27, 26, 27, 94, 27, 92, 27, 62, 27, 60, 28, 4, 2,159, 0,104 + .byte 0,130, 11,184, 25, 94, 46,209, 25, 94, 46,212, 25, 94, 46,213 + .byte 25, 94, 46,214, 25, 94, 46,215, 25, 94, 46,216, 25, 94, 46,217 + .byte 25, 94, 46,160, 25, 94, 46,161, 25, 94, 46,162, 25, 94, 46,163 + .byte 25, 94, 46,164, 25, 94, 46,165, 25, 94, 46,166, 25, 94, 46,167 + .byte 25, 94, 46,168, 25, 94, 46,169, 25, 94, 46,170, 25, 94, 46,171 + .byte 25, 94, 46,172, 25, 94, 46,173, 25, 94, 46,174, 25, 94, 46,175 + .byte 25, 94, 46,222, 25, 94, 46,218, 25, 94, 46,219, 25, 94, 46,220 + .byte 140, 0,138, 0,142, 0, 0,216, 14, 22, 25, 91, 25, 89,129, 0 + .byte 25, 92, 0,128, 14, 68, 25, 95, 27, 31, 25, 95, 27, 31, 25, 95 + .byte 27, 31, 24, 95, 27, 31,107, 0, 21, 5, 77, 0, 21,126, 28,159 + .byte 28,189, 5,224,153, 0,125, 0, 28,221,137, 0, 31,165, 21, 2 + .byte 28,191, 0,154, 1,252, 0,158, 14, 68, 0,129,255,221, 0,131 + .byte 13,128, 0,100, 6, 26, 24, 39, 27, 7, 74, 0, 31,252, 24, 39 + .byte 27, 7, 21,121, 53, 0, 24, 39, 27, 7, 65, 0, 27,126, 24, 39 + .byte 27, 7, 27,127, 0, 0, 0,101, 6, 32, 24, 39, 27, 7, 0, 0 + .byte 0, 0, 0, 7, 24,127, 0,102, 6, 41, 74, 59, 31,252, 21,121 + .byte 53, 51, 65, 0, 27,127, 0, 4, 24,159, 26,223, 24,159, 26,223 + .byte 24,159, 26,223, 24,159, 26,223, 26,220, 0,130, 11,210, 39,220 + .byte 26,223, 39,219, 26,223, 39,218, 26,223, 0,130, 11,190, 39,217 + .byte 26,223, 39,216, 26,223,143, 0, 0,193, 14, 66, 0,130, 13,128 + .byte 25, 64, 25, 67,128,240,184,192, 17, 31, 6, 84,166,240,188,240 + .byte 25, 64, 25, 67,188,240, 78,192,184, 49,166,240,188,240,188, 0 + .byte 78, 0, 27, 62, 0,225, 14, 66, 2,223, 0,130, 11,184, 25, 94 + .byte 46,209, 25, 94, 46,212, 25, 94, 46,213, 25, 94, 46,214, 25, 94 + .byte 46,215, 25, 94, 46,216, 25, 94, 46,217, 25, 94, 46,160, 25, 94 + .byte 46,161, 25, 94, 46,162, 25, 94, 46,163, 25, 94, 46,164, 25, 94 + .byte 46,165, 25, 94, 46,166, 25, 94, 46,167, 25, 94, 46,168, 25, 94 + .byte 46,169, 25, 94, 46,170, 25, 94, 46,171, 25, 94, 46,172, 25, 94 + .byte 46,173, 25, 94, 46,174, 25, 94, 46,175, 25, 94, 46,222, 25, 94 + .byte 46,218, 25, 94, 46,219, 25, 94, 46,220,140, 0,138, 0,142, 0 + .byte 25, 91, 25, 89,129, 0, 25, 92, 0,128, 14, 68, 25, 95, 25, 95 + .byte 25, 95, 27, 31, 24, 95, 27, 31,107, 0, 21, 5, 77, 0, 21,126 + .byte 28,159, 28,189, 5,224,153, 0,125, 0, 28,221,137, 0, 31,165 + .byte 21, 2, 28,191, 0,154, 1,252, 0,158, 14, 69, 0,129,255,221 + .byte 0,131, 13,128, 0,100, 6,203, 24, 39, 27, 7, 74, 0, 27,126 + .byte 24, 39, 27, 7, 27,124, 0, 0, 24, 39, 27, 7, 0, 0, 0, 0 + .byte 24, 39, 27, 7, 0, 0, 0, 0, 0,101, 6,209, 24, 39, 27, 7 + .byte 0, 0, 0, 0, 0,102, 6,214, 74, 0, 27,126, 27,124, 0, 4 + .byte 24,159, 26,223, 24,159, 26,223, 24,159, 26,223, 24,159, 26,223 + .byte 26,220, 0,130, 11,210, 39,220, 26,223, 39,219, 26,223, 39,218 + .byte 26,223, 0,130, 11,190, 39,217, 26,223, 39,216, 26,223,141, 0 + .byte 139, 0,143, 0, 0,193, 14, 66, 0,130, 13,128,129, 0, 17, 32 + .byte 7, 3,137, 0, 25, 64, 24,158, 24, 27, 25,154, 84, 0, 31, 94 + .byte 25, 89,176, 0,251, 0,129, 57, 0,225, 14, 66, 2,223, 0,130 + .byte 11,184, 25, 94, 46,209, 25, 94, 46,212, 25, 94, 46,213, 25, 94 + .byte 46,214, 25, 94, 46,215, 25, 94, 46,216, 25, 94, 46,217, 25, 94 + .byte 46,160, 25, 94, 46,161, 25, 94, 46,162, 25, 94, 46,163, 25, 94 + .byte 46,164, 25, 94, 46,165, 25, 94, 46,166, 25, 94, 46,167, 25, 94 + .byte 46,168, 25, 94, 46,169, 25, 94, 46,170, 25, 94, 46,171, 25, 94 + .byte 46,172, 25, 94, 46,173, 25, 94, 46,174, 25, 94, 46,175, 25, 94 + .byte 46,222, 25, 94, 46,218, 25, 94, 46,219, 25, 94, 46,220, 0,192 + .byte 14, 66, 0,129,255,221, 17, 32, 7, 72, 24, 36, 27, 4, 0, 0 + .byte 0, 0, 0,224, 14, 66, 0,130, 11,217, 0, 4, 24,159, 26,223 + .byte 24,159, 26,223, 24,159, 26,223, 24,159, 26,223,137, 0, 26,220 + .byte 39,220, 0,255, 11,210, 39,219, 0,255, 11,209, 39,218, 0,255 + .byte 11,208, 39,217, 0,255, 11,190, 39,216, 0,255, 11,189, 2,223 + .byte 0,192, 14, 64, 0,129, 11,137, 0,194, 14, 8, 28, 98, 0,196 + .byte 14, 65, 0,197, 14, 9, 2,191,128,231, 0,248, 11,169, 0,251 + .byte 11,172, 2,223, 0,192, 14, 64, 0,129, 11,137, 0,194, 14, 8 + .byte 28, 98, 0,196, 14, 65, 0,197, 14, 9, 2,191,128,231, 0,248 + .byte 11,169, 0,251, 11,172, 0,192, 14, 64, 0,129, 11,141, 0,194 + .byte 14, 11, 28, 98, 0,196, 14, 65, 0,197, 14, 12, 2,191,128,231 + .byte 0,248, 11,170, 0,251, 11,173, 2,223, 0,192, 14, 64, 0,129 + .byte 11,137, 0,194, 14, 8, 28, 98, 0,196, 14, 65, 0,197, 14, 9 + .byte 2,191,128,231, 0,248, 11,169, 0,251, 11,172, 0,192, 14, 64 + .byte 0,129, 11,145, 0,194, 14, 14, 28, 98, 0,196, 14, 65, 0,197 + .byte 14, 15, 2,191,128,231, 0,248, 11,171, 0,251, 11,174, 2,223 + .byte 0,192, 14, 64, 0,129, 11,137, 0,194, 14, 8, 28, 98, 0,196 + .byte 14, 65, 0,197, 14, 9, 2,191,128,231, 0,248, 11,169, 0,251 + .byte 11,172, 0,192, 14, 64, 0,129, 11,141, 0,194, 14, 11, 28, 98 + .byte 0,196, 14, 65, 0,197, 14, 12, 2,191,128,231, 0,248, 11,170 + .byte 0,251, 11,173, 0,192, 14, 64, 0,129, 11,145, 0,194, 14, 14 + .byte 28, 98, 0,196, 14, 65, 0,197, 14, 15, 2,191,128,231, 0,248 + .byte 11,171, 0,251, 11,174, 2,223, 0,192, 14, 64, 0,129, 11,137 + .byte 0,194, 14, 8, 28, 98, 0,196, 14, 65, 0,197, 14, 9, 2,191 + .byte 128,231, 0,248, 11,169, 0,251, 11,172, 0,192, 14, 67, 0,129 + .byte 11,151, 0,194, 14, 10, 28, 98, 2,191,129,249, 0,248, 11,175 + .byte 2,223, 0,192, 14, 64, 0,129, 11,137, 0,194, 14, 8, 28, 98 + .byte 0,196, 14, 65, 0,197, 14, 9, 2,191,128,231, 0,248, 11,169 + .byte 0,251, 11,172, 0,192, 14, 64, 0,129, 11,141, 0,194, 14, 11 + .byte 28, 98, 0,196, 14, 65, 0,197, 14, 12, 2,191,128,231, 0,248 + .byte 11,170, 0,251, 11,173, 0,192, 14, 67, 0,129, 11,151, 0,194 + .byte 14, 10, 28, 98, 28,128, 0,197, 14, 13, 2,191,128,231, 0,248 + .byte 11,175, 0,251, 11,176, 2,223, 0,192, 14, 64, 0,129, 11,137 + .byte 0,194, 14, 8, 28, 98, 0,196, 14, 65, 0,197, 14, 9, 2,191 + .byte 128,231, 0,248, 11,169, 0,251, 11,172, 0,192, 14, 64, 0,129 + .byte 11,145, 0,194, 14, 14, 28, 98, 0,196, 14, 65, 0,197, 14, 15 + .byte 2,191,128,231, 0,248, 11,171, 0,251, 11,174, 0,192, 14, 67 + .byte 0,129, 11,149, 0,194, 14, 16, 28, 98, 28,128, 0,197, 14, 10 + .byte 2,191,128,231, 0,248, 11,177, 0,251, 11,175, 2,223, 0,192 + .byte 14, 64, 0,129, 11,137, 0,194, 14, 8, 28, 98, 0,196, 14, 65 + .byte 0,197, 14, 9, 2,191,128,231, 0,248, 11,169, 0,251, 11,172 + .byte 0,192, 14, 64, 0,129, 11,141, 0,194, 14, 11, 28, 98, 0,196 + .byte 14, 65, 0,197, 14, 12, 2,191,128,231, 0,248, 11,170, 0,251 + .byte 11,173, 0,192, 14, 64, 0,129, 11,145, 0,194, 14, 14, 28, 98 + .byte 0,196, 14, 65, 0,197, 14, 15, 2,191,128,231, 0,248, 11,171 + .byte 0,251, 11,174, 0,192, 14, 67, 0,129, 11,151, 0,194, 14, 10 + .byte 28, 98, 28,128, 0,197, 14, 13, 2,191,128,231, 0,248, 11,175 + .byte 0,251, 11,176, 0,192, 14, 67, 0,129, 11,149, 0,194, 14, 16 + .byte 28, 98, 2,191,129,249, 0,248, 11,177, 2,223, 0,192, 14, 64 + .byte 0,129, 11,137, 0,194, 14, 8, 0,131, 14, 68, 0,196, 14, 65 + .byte 0,197, 14, 9, 2,191,130,130, 0,248, 11,169, 0,251, 11,172 + .byte 2,223, 0,192, 14, 64, 0,129, 11,137, 0,194, 14, 8, 0,131 + .byte 14, 68, 0,196, 14, 65, 0,197, 14, 9, 2,191,130,130, 0,248 + .byte 11,169, 0,251, 11,172, 0,192, 14, 64, 0,129, 11,141, 0,194 + .byte 14, 11, 0,131, 14, 68, 0,196, 14, 65, 0,197, 14, 12, 2,191 + .byte 130,130, 0,248, 11,170, 0,251, 11,173, 2,223, 0,192, 14, 64 + .byte 0,129, 11,137, 0,194, 14, 8, 0,131, 14, 68, 0,196, 14, 65 + .byte 0,197, 14, 9, 2,191,130,130, 0,248, 11,169, 0,251, 11,172 + .byte 0,192, 14, 64, 0,129, 11,145, 0,194, 14, 14, 0,131, 14, 68 + .byte 0,196, 14, 65, 0,197, 14, 15, 2,191,130,130, 0,248, 11,171 + .byte 0,251, 11,174, 2,223, 0,192, 14, 64, 0,129, 11,137, 0,194 + .byte 14, 8, 0,131, 14, 68, 0,196, 14, 65, 0,197, 14, 9, 2,191 + .byte 130,130, 0,248, 11,169, 0,251, 11,172, 0,192, 14, 64, 0,129 + .byte 11,141, 0,194, 14, 11, 0,131, 14, 68, 0,196, 14, 65, 0,197 + .byte 14, 12, 2,191,130,130, 0,248, 11,170, 0,251, 11,173, 0,192 + .byte 14, 64, 0,129, 11,145, 0,194, 14, 14, 0,131, 14, 68, 0,196 + .byte 14, 65, 0,197, 14, 15, 2,191,130,130, 0,248, 11,171, 0,251 + .byte 11,174, 2,223, 0,192, 14, 64, 0,129, 11,137, 0,194, 14, 8 + .byte 0,131, 14, 68, 0,196, 14, 65, 0,197, 14, 9, 2,191,130,130 + .byte 0,248, 11,169, 0,251, 11,172, 0,192, 14, 67, 0,129, 11,151 + .byte 0,194, 14, 10, 0,131, 14, 68, 2,191,132, 93, 0,248, 11,175 + .byte 2,223, 0,192, 14, 64, 0,129, 11,137, 0,194, 14, 8, 0,131 + .byte 14, 68, 0,196, 14, 65, 0,197, 14, 9, 2,191,130,130, 0,248 + .byte 11,169, 0,251, 11,172, 0,192, 14, 64, 0,129, 11,141, 0,194 + .byte 14, 11, 0,131, 14, 68, 0,196, 14, 65, 0,197, 14, 12, 2,191 + .byte 130,130, 0,248, 11,170, 0,251, 11,173, 0,192, 14, 67, 0,129 + .byte 11,151, 0,194, 14, 10, 0,131, 14, 68, 28,128, 0,197, 14, 13 + .byte 2,191,130,130, 0,248, 11,175, 0,251, 11,176, 2,223, 0,192 + .byte 14, 64, 0,129, 11,137, 0,194, 14, 8, 0,131, 14, 68, 0,196 + .byte 14, 65, 0,197, 14, 9, 2,191,130,130, 0,248, 11,169, 0,251 + .byte 11,172, 0,192, 14, 64, 0,129, 11,145, 0,194, 14, 14, 0,131 + .byte 14, 68, 0,196, 14, 65, 0,197, 14, 15, 2,191,130,130, 0,248 + .byte 11,171, 0,251, 11,174, 0,192, 14, 67, 0,129, 11,149, 0,194 + .byte 14, 16, 0,131, 14, 68, 28,128, 0,197, 14, 10, 2,191,130,130 + .byte 0,248, 11,177, 0,251, 11,175, 2,223, 0,192, 14, 64, 0,129 + .byte 11,137, 0,194, 14, 8, 0,131, 14, 68, 0,196, 14, 65, 0,197 + .byte 14, 9, 2,191,130,130, 0,248, 11,169, 0,251, 11,172, 0,192 + .byte 14, 64, 0,129, 11,141, 0,194, 14, 11, 0,131, 14, 68, 0,192 + .byte 14, 65, 0,197, 14, 12, 2,191,130,130, 0,248, 11,170, 0,251 + .byte 11,173, 0,192, 14, 64, 0,129, 11,145, 0,194, 14, 14, 0,131 + .byte 14, 68, 0,196, 14, 65, 0,197, 14, 15, 2,191,130,130, 0,248 + .byte 11,171, 0,251, 11,174, 0,192, 14, 67, 0,129, 11,151, 0,194 + .byte 14, 10, 0,131, 14, 68, 28,128, 0,197, 14, 13, 2,191,130,130 + .byte 0,248, 11,175, 0,251, 11,176, 0,192, 14, 67, 0,129, 11,149 + .byte 0,194, 14, 16, 0,131, 14, 68, 2,191,132, 93, 0,248, 11,177 + .byte 2,223, 0,192, 14, 64, 0,129, 11,137, 0,194, 14, 8, 28, 98 + .byte 0,196, 14, 65, 0,197, 14, 9, 2,191,128,231, 0,248, 11,169 + .byte 0,251, 11,172, 0,192, 14, 67, 0,129, 11,145, 0,194, 14, 14 + .byte 28, 98, 28,128, 0,197, 14, 15, 2,191,128,231, 0,248, 11,171 + .byte 0,251, 11,174, 2,223, 0,192, 14, 64, 0,129, 11,137, 0,194 + .byte 14, 8, 28, 98, 0,196, 14, 65, 0,197, 14, 9, 2,191,128,231 + .byte 0,248, 11,169, 0,251, 11,172, 0,192, 14, 67, 0,129, 11,145 + .byte 0,194, 14, 14, 28, 98, 28,128, 0,197, 14, 15, 2,191,128,231 + .byte 0,248, 11,171, 0,251, 11,174, 0,192, 14, 64, 0,129, 11,141 + .byte 0,194, 14, 11, 28, 98, 0,196, 14, 65, 0,197, 14, 12, 2,191 + .byte 128,231, 0,248, 11,170, 0,251, 11,173, 0,192, 14, 67, 0,129 + .byte 11,153, 0,194, 14, 13, 28, 98, 2,191,129,249, 0,248, 11,176 + .byte 2,223, 0,192, 14, 64, 0,129, 11,137, 0,194, 14, 8, 0,131 + .byte 14, 68, 0,196, 14, 65, 0,197, 14, 9, 2,191,130,130, 0,248 + .byte 11,169, 0,251, 11,172, 0,192, 14, 67, 0,129, 11,145, 0,194 + .byte 14, 14, 0,131, 14, 68, 28,128, 0,197, 14, 15, 2,191,130,130 + .byte 0,248, 11,171, 0,251, 11,174, 2,223, 0,192, 14, 64, 0,129 + .byte 11,137, 0,194, 14, 8, 0,131, 14, 68, 0,196, 14, 65, 0,197 + .byte 14, 9, 2,191,130,130, 0,248, 11,169, 0,251, 11,172, 0,192 + .byte 14, 67, 0,129, 11,145, 0,194, 14, 14, 0,131, 14, 68, 28,128 + .byte 0,197, 14, 15, 2,191,130,130, 0,248, 11,171, 0,251, 11,174 + .byte 0,192, 14, 64, 0,129, 11,141, 0,194, 14, 11, 0,131, 14, 68 + .byte 0,196, 14, 65, 0,197, 14, 12, 2,191,130,130, 0,248, 11,170 + .byte 0,251, 11,173, 0,192, 14, 67, 0,129, 11,153, 0,194, 14, 13 + .byte 0,131, 14, 68, 2,191,132, 93, 0,248, 11,176, 2,223, 0,130 + .byte 1, 62, 1,188, 2, 72, 4, 19, 4, 39, 1,101, 5,116, 11, 55 + .byte 1, 95, 4,120, 4,116, 4,118, 1,169, 4, 59, 4,122, 11,177 + .byte 1,117, 7,104, 7,122, 7,157, 7,192, 7,244, 8, 17, 8, 68 + .byte 8,119, 8,198, 8,217, 8,254, 9, 35, 9, 90, 9,121, 9,175 + .byte 9,229, 10, 57, 10, 91, 7,104, 7,104, 7,104, 7,104, 7,104 + .byte 7,104, 10,153, 10,189, 7,104, 7,104, 7,104, 7,104, 7,104 + .byte 7,104, 5,168, 6, 93, 7, 7, 16, 0, 18, 0, 20, 0,142, 0 + .byte 129, 0,137,112, 25, 28, 46,206, 44,207, 22,205, 14,128, 22,201 + .byte 0, 0, 22,203, 1, 0, 31,126, 31, 60,129, 0, 38,201, 2,160 + .byte 0, 4, 2,156, 11, 70, 25, 30, 25, 28, 46,206, 44,207, 22,205 + .byte 2,128, 22,201, 0, 0, 22,203, 2,128, 28,128, 0,128, 2,128 + .byte 0,193, 14, 27, 0,133, 0, 0, 0,137, 0,127, 0,130, 15, 0 + .byte 0,131, 22,180, 28,227,129, 0, 38,201, 2,160, 0, 4, 2,156 + .byte 11,100,143, 0,138,120,140,104,241, 0, 26, 63,132,227, 16,126 + .byte 242,227,242,231,242,120,110,104,241, 50, 26, 63, 17,158, 11,128 + .byte 28,103,132,227, 16,126,242,227,242,231,242,120,110,104,241, 50 + .byte 26, 63, 28,103,132,227, 16,126,242,227,242,231,242, 0,110, 0 + .byte 27, 94, 0,225, 14, 27, 0,128, 2,128, 0,131, 15, 0, 0,129 + .byte 0, 0, 0,130, 1, 64, 0,137,255,255,137, 0,129, 0,143, 0 + .byte 17,160, 11,160, 25,127,153, 48, 27, 30, 27, 63,125, 41, 27, 95 + .byte 27, 93,142, 0, 31,219, 31,153, 46,206, 44,207, 22,205, 14,128 + .byte 22,201, 0, 1, 22,203, 1, 0, 2,191, 5, 92, 28, 4, 2,159 + .byte 0,104,142, 0,129, 0,137,112, 25, 28, 46,206, 44,207, 22,205 + .byte 7,192, 22,201, 0, 1, 22,203, 5, 0, 2,191, 5, 92,129, 0 + .byte 137,112, 25, 28, 46,206, 44,207, 22,205, 7,192, 22,201, 0, 0 + .byte 137, 0, 13, 32, 45,203, 76, 0, 28,128, 0,128, 7,192, 0,131 + .byte 0, 0, 28, 67, 10, 0, 39,201, 3,160, 0, 4, 2,156, 11,211 + .byte 46,206, 44,207, 22,205, 7,208, 22,201, 0, 0, 22,203, 4,224 + .byte 143, 0,128,240,128,192,106, 0, 72, 0, 17, 79, 11,238,128,240 + .byte 128,192,107, 50, 73, 34,128,240,128,192,106, 58, 72, 42,128,240 + .byte 128,192,107, 50, 73, 34, 27, 95, 27, 93,128,240,128,192,104, 0 + .byte 124, 0, 74, 0, 17, 79, 12, 5,128,240,128,192,105, 50,125, 0 + .byte 75, 34,128,240,128,192,104, 58,124, 0, 74, 42,128,240,128,192 + .byte 105, 50,125, 0, 75, 34, 27, 95, 27, 93, 28, 4, 2,159, 0,104 + .byte 142, 0, 22,252,236,192, 31,204, 29,158, 46,253, 38,252, 2,160 + .byte 128, 0, 2,156, 12, 22, 0, 0, 0, 0, 0, 0, 2,255,142, 0 + .byte 0,240, 14, 23, 0,254, 14, 24, 0,252, 14, 25, 31,204, 29,158 + .byte 22,252,254,237, 46,253, 38,252, 2,160,128, 0, 2,156, 12, 43 + .byte 0,208, 14, 23, 0,222, 14, 24, 0,220, 14, 25, 0, 0, 0, 0 + .byte 0, 0, 0, 0, 2,255,142, 0, 29,188, 29,190,129, 0, 0,222 + .byte 11,183, 6, 1, 2,149, 12, 71, 14, 0, 0,254, 11,135, 31,205 + .byte 31,141, 2,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,255 + .byte 142, 0, 29,188, 29,190,129, 0, 0,222, 11,183, 6, 1, 2,149 + .byte 12, 95, 14, 0, 0,254, 11,135, 31,205, 31,141, 2,255,129, 0 + .byte 0,222, 11,136, 6, 1, 2,149, 12,113, 0,222, 11,218, 46,218 + .byte 0,222, 11,219, 46,219, 0,222, 11,220, 46,220, 31,205, 31,141 + .byte 2,255, 0,222, 11,218, 46,218, 38,219, 46,219, 38,220, 46,220 + .byte 129, 0, 0,220, 11,221,118, 0, 0,252, 11,221,129, 0, 31,205 + .byte 31,141, 2,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,255 + .byte 0, 0, 0, 0, 0, 0, 0, 0, 2,255, 12,159, 12,162, 12,218 + .byte 12,221,142, 0,129, 0,137, 0, 2,191, 12,224, 39,255, 0,158 + .byte 12,141, 76, 0, 28,126, 3, 19, 28,127, 23,111, 0, 33, 2,159 + .byte 0, 48, 0, 33,129, 0,137, 0, 2,191, 12,224, 36,255, 2,191 + .byte 12,230, 37,255, 2,191, 12,230, 39,255, 46,206, 44,207, 22,201 + .byte 0, 1, 47,205, 45,203,129, 0,137, 0, 2,191, 12,224, 36,255 + .byte 28,158, 28,188, 2,191, 12,230, 37,255, 2,191, 12,230, 39,255 + .byte 28,223, 28,253,129, 0, 2,191, 12,224, 38,255, 28, 30,137, 0 + .byte 2,191, 12,230, 32,255, 31, 95, 2,191, 12,224, 33,255, 2,191 + .byte 12,224, 35,255, 38,201, 2,160, 0, 4, 2,156, 12,210, 2,159 + .byte 128,181, 0, 33, 2,159,128, 0, 0, 33, 2,159, 0, 69, 0, 33 + .byte 38,254, 2,192,128, 0, 2,156, 12,224, 2,223, 39,254, 3,192 + .byte 128, 0, 2,156, 12,230, 2,223, 0, 0, 0, 0, 0, 0, 0, 0 + +.section .sdata, "wa" +.global dspSlaveLength +dspSlaveLength: + .2byte 0x19E0 + .balign 4 diff --git a/include/Dolphin/PPCArch.h b/include/Dolphin/PPCArch.h new file mode 100644 index 00000000..a4c604e9 --- /dev/null +++ b/include/Dolphin/PPCArch.h @@ -0,0 +1,30 @@ +#include "types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +u32 PPCMfmsr(); +void PPCMtmsr(u32 newMSR); +u32 PPCOrMsr(u32 value); +u32 PPCMfhid0(); +void PPCMthid0(u32 newHID0); +u32 PPCMfl2cr(); +void PPCMtl2cr(u32 newL2cr); +void PPCMtdec(u32 newDec); +void PPCSync(); +void PPCHalt(); +u32 PPCMffpscr(); +void PPCMtfpscr(u32 newFPSCR); +u32 PPCMfhid2(); +void PPCMthid2(u32 newhid2); +u32 PPCMfwpar(); +void PPCMtwpar(u32 newwpar); +void PPCEnableSpeculation(); +void PPCDisableSpeculation(); +void PPCSetFpIEEEMode(); +void PPCSetFpNonIEEEMode(); + +#ifdef __cplusplus +} +#endif diff --git a/include/Dolphin/__ppc_eabi_init.h b/include/Dolphin/__ppc_eabi_init.h new file mode 100644 index 00000000..cab0db60 --- /dev/null +++ b/include/Dolphin/__ppc_eabi_init.h @@ -0,0 +1,7 @@ +#include "types.h" + + +__declspec(section ".init") extern void __init_hardware(void); +__declspec(section ".init") extern void __flush_cache(register void* address, register unsigned int size); + +extern void __init_cpp(void); diff --git a/rename.sh b/rename.sh new file mode 100644 index 00000000..2ef6bf7a --- /dev/null +++ b/rename.sh @@ -0,0 +1,2 @@ +echo "$1 -> $2" +find . -type f -name '*.s' | xargs sed -i "s/$1/$2/g" diff --git a/src/musyx/iram_image.c b/src/musyx/iram_image.c new file mode 100644 index 00000000..d6fbc3e1 --- /dev/null +++ b/src/musyx/iram_image.c @@ -0,0 +1,215 @@ + +__declspec(section ".data") +const char dspSlave[] = +{ + 0x00, 0x00, 0x00, 0x00, 0x02, 0x9F, 0x0C, 0x10, 0x02, 0x9F, 0x0C, 0x1F, 0x02, 0x9F, 0x0C, 0x3B, 0x02, 0x9F, 0x0C, 0x4A, 0x02, 0x9F, 0x0C, 0x50, 0x02, 0x9F, 0x0C, 0x82, 0x02, 0x9F, 0x0C, 0x88, + 0x13, 0x02, 0x13, 0x03, 0x12, 0x04, 0x13, 0x05, 0x13, 0x06, 0x8E, 0x00, 0x8C, 0x00, 0x8B, 0x00, 0x00, 0x92, 0x00, 0xFF, 0x81, 0x00, 0x89, 0x00, 0x00, 0x9E, 0x0E, 0x80, 0x00, 0xFE, 0x0E, 0x1B, + 0x81, 0x00, 0x00, 0xFE, 0x0E, 0x31, 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x00, 0x16, 0xFB, 0x00, 0x01, 0x26, 0xFC, 0x02, 0xA0, 0x80, 0x00, 0x02, 0x9C, 0x00, 0x29, 0x02, 0x9F, 0x00, 0x45, + 0x13, 0x02, 0x13, 0x03, 0x12, 0x04, 0x13, 0x05, 0x13, 0x06, 0x8E, 0x00, 0x8C, 0x00, 0x8B, 0x00, 0x00, 0x92, 0x00, 0xFF, 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x01, 0x16, 0xFB, 0x00, 0x01, + 0x26, 0xFC, 0x02, 0xA0, 0x80, 0x00, 0x02, 0x9C, 0x00, 0x40, 0x8E, 0x00, 0x81, 0x00, 0x89, 0x00, 0x00, 0x9F, 0xBA, 0xBE, 0x26, 0xFE, 0x02, 0xC0, 0x80, 0x00, 0x02, 0x9C, 0x00, 0x4A, 0x82, 0x00, + 0x02, 0x94, 0x00, 0x4A, 0x23, 0xFF, 0x81, 0x00, 0x26, 0xFE, 0x02, 0xC0, 0x80, 0x00, 0x02, 0x9C, 0x00, 0x54, 0x27, 0xFF, 0x02, 0x40, 0x7F, 0xFF, 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, 0x0C, 0x00, + 0x81, 0x00, 0x2E, 0xC9, 0x1F, 0xFB, 0x2F, 0xCB, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0x80, 0x0C, 0x00, 0x8E, 0x00, 0x81, 0x00, 0x89, 0x70, 0xB1, 0x00, 0x02, 0x91, 0x00, 0x7E, 0x0A, 0x12, 0xC1, 0x00, + 0x02, 0x92, 0x00, 0x7E, 0x00, 0x9F, 0x0A, 0xFF, 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x1C, 0x7E, 0x17, 0x6F, 0x16, 0xFC, 0xFB, 0xAD, 0x16, 0xFD, 0x80, 0x80, 0x00, 0x21, 0x16, 0xFC, 0xBA, 0xAD, + 0x2E, 0xFD, 0x00, 0x21, 0x81, 0x00, 0x89, 0x70, 0x8E, 0x78, 0x2E, 0xCE, 0x2F, 0xCF, 0x00, 0x9E, 0x0E, 0x44, 0x2E, 0xCD, 0x0E, 0x00, 0x2E, 0xC9, 0x00, 0x9E, 0x00, 0x40, 0x2E, 0xCB, 0x00, 0x81, + 0x0E, 0x44, 0x00, 0x82, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x9F, 0x00, 0x9A, 0x01, 0x40, 0x81, 0x00, 0x89, 0x00, 0x8F, 0x00, 0x02, 0xBF, 0x05, 0x5C, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x00, 0x19, 0x3F, + 0x02, 0x94, 0x00, 0xA6, 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xAE, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, 0x00, 0xAD, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x19, 0x3E, 0x19, 0x3C, + 0xB1, 0x00, 0x19, 0x3F, 0x02, 0x94, 0x00, 0xB8, 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xC0, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, 0x00, 0xBF, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, + 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x00, 0x19, 0x3F, 0x02, 0x94, 0x00, 0xCA, 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xD2, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, 0x00, 0xD1, 0x4C, 0x00, + 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x82, 0x04, 0x00, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x00, 0xDD, 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xE5, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, + 0x00, 0x7B, 0x00, 0xE4, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x00, 0xEE, 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x00, 0xF6, 0x99, 0x00, 0x1B, 0x5E, + 0x1B, 0x5C, 0x00, 0x7B, 0x00, 0xF5, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x00, 0xFF, 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x01, 0x07, 0x99, 0x00, + 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, 0x01, 0x06, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x82, 0x07, 0xC0, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x01, 0x12, 0x00, 0x5A, 0x1B, 0x5E, + 0x02, 0x9F, 0x01, 0x1A, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, 0x01, 0x19, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x01, 0x23, 0x00, 0x5A, + 0x1B, 0x5E, 0x02, 0x9F, 0x01, 0x2B, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, 0x01, 0x2A, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x19, 0x3E, 0x19, 0x3C, 0xB1, 0x79, 0x02, 0x94, 0x01, 0x34, + 0x00, 0x5A, 0x1B, 0x5E, 0x02, 0x9F, 0x01, 0x3C, 0x99, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x00, 0x7B, 0x01, 0x3B, 0x4C, 0x00, 0x1B, 0x5E, 0x1B, 0x5C, 0x02, 0x9F, 0x00, 0x68, 0x00, 0x85, 0xFF, 0xFF, + 0x81, 0x50, 0x89, 0x40, 0x8E, 0x48, 0x00, 0xFA, 0x0E, 0x17, 0x00, 0xF8, 0x0E, 0x18, 0x00, 0x81, 0x00, 0x00, 0x02, 0xBF, 0x04, 0xF1, 0x00, 0xDA, 0x0E, 0x17, 0x00, 0xD8, 0x0E, 0x18, 0x89, 0x48, + 0x00, 0x81, 0x04, 0x00, 0x02, 0xBF, 0x04, 0xF1, 0x00, 0xDA, 0x0E, 0x17, 0x00, 0xD8, 0x0E, 0x18, 0x89, 0x48, 0x00, 0x81, 0x07, 0xC0, 0x02, 0xBF, 0x04, 0xF1, 0x02, 0x9F, 0x00, 0x68, 0x00, 0x86, + 0x07, 0xC0, 0x02, 0xBF, 0x04, 0x84, 0x02, 0x9F, 0x00, 0x68, 0x81, 0x00, 0x8E, 0x00, 0x19, 0x1E, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x00, 0x00, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, + 0x07, 0x80, 0x02, 0xBF, 0x05, 0x5C, 0x02, 0x9F, 0x00, 0x68, 0x81, 0x00, 0x89, 0x70, 0x8E, 0x60, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x44, 0x16, 0xC9, 0x00, 0x00, 0x89, 0x00, 0x0D, 0x20, + 0x2D, 0xCB, 0x4C, 0x00, 0x1C, 0x80, 0x00, 0x80, 0x02, 0x80, 0x00, 0x81, 0x00, 0x00, 0x00, 0x82, 0x01, 0x40, 0x00, 0x83, 0x0E, 0x44, 0x0A, 0x00, 0x27, 0xC9, 0x03, 0xA0, 0x00, 0x04, 0x02, 0x9C, + 0x01, 0x8C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x54, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x02, 0x60, 0x00, 0x9F, 0x00, 0xA0, 0x8F, 0x00, 0x00, 0x7F, 0x01, 0xA5, 0x19, 0x7E, 0x1B, 0x1A, + 0x19, 0x7C, 0x1B, 0x1A, 0x1B, 0x5E, 0x7C, 0x22, 0x1B, 0x3E, 0x1B, 0x3C, 0x1C, 0x04, 0x02, 0x9F, 0x00, 0x68, 0x8E, 0x70, 0x89, 0x60, 0x19, 0x1F, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0C, 0x00, + 0x16, 0xC9, 0x00, 0x00, 0x05, 0x03, 0x03, 0x40, 0xFF, 0xF0, 0x2F, 0xCB, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0x80, 0x0C, 0x00, 0x02, 0x9F, 0x00, 0x68, 0x81, 0x00, 0x89, 0x70, 0x8E, 0x78, 0x2E, 0xCE, + 0x2F, 0xCF, 0x16, 0xCD, 0x0B, 0x80, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x00, 0xC0, 0x00, 0x82, 0x0E, 0x08, 0x00, 0x9F, 0x00, 0x00, 0x1B, 0x5F, 0x00, 0x9F, 0x01, 0x40, 0x1B, 0x5F, 0x00, 0x9F, + 0x02, 0x80, 0x1B, 0x5F, 0x00, 0x9F, 0x04, 0x00, 0x1B, 0x5F, 0x00, 0x9F, 0x05, 0x40, 0x1B, 0x5F, 0x00, 0x9F, 0x06, 0x80, 0x1B, 0x5F, 0x00, 0x9F, 0x07, 0xC0, 0x1B, 0x5F, 0x00, 0x9F, 0x09, 0x00, + 0x1B, 0x5F, 0x00, 0x9F, 0x0A, 0x40, 0x1B, 0x5F, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0xDE, 0x0B, 0xA7, 0x00, 0xDF, 0x0B, 0xA8, 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, 0x03, 0xC0, 0x16, 0xC9, 0x00, 0x00, + 0x16, 0xCB, 0x00, 0x80, 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x84, 0x00, 0x9F, 0x0B, 0x31, 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x15, 0x00, 0xDE, 0x0B, 0x85, 0x00, 0x9F, + 0x0B, 0x34, 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x16, 0x00, 0xDE, 0x0B, 0x86, 0x00, 0x9F, 0x0B, 0x11, 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x14, 0x81, 0x00, + 0x00, 0xDE, 0x0B, 0x9B, 0xB1, 0x00, 0x02, 0x95, 0x02, 0x3A, 0x89, 0x00, 0x00, 0xDF, 0x0B, 0x9E, 0x03, 0x00, 0x0C, 0xC0, 0x00, 0xFF, 0x0E, 0x40, 0x00, 0xDF, 0x0B, 0x9F, 0x03, 0x00, 0x0C, 0xC0, + 0x00, 0xFF, 0x0E, 0x41, 0x00, 0x9F, 0x0C, 0xE0, 0x00, 0xFF, 0x0E, 0x42, 0x00, 0xFF, 0x0E, 0x43, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0xDE, 0x0B, 0x9C, 0x2E, 0xCE, 0x00, 0xDE, 0x0B, 0x9D, 0x2E, 0xCF, + 0x16, 0xCD, 0x0C, 0xC0, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x00, 0x40, 0x02, 0xBF, 0x05, 0x5C, 0x02, 0x9F, 0x00, 0x68, 0x00, 0x9F, 0x0C, 0xE0, 0x00, 0xFF, 0x0E, 0x42, 0x00, 0xFF, 0x0E, 0x40, + 0x00, 0xFF, 0x0E, 0x41, 0x00, 0xFF, 0x0E, 0x43, 0x02, 0xBF, 0x05, 0x5C, 0x02, 0x9F, 0x00, 0x68, 0x8E, 0x00, 0x00, 0xE0, 0x0E, 0x07, 0x00, 0x80, 0x0B, 0xA2, 0x00, 0x81, 0x03, 0xC0, 0x0E, 0x05, + 0x00, 0xFE, 0x0E, 0x04, 0x89, 0x00, 0x81, 0x50, 0x00, 0x9F, 0x0B, 0x80, 0x00, 0x7A, 0x02, 0x5B, 0x19, 0x3E, 0x4C, 0x49, 0x1C, 0x5E, 0x1A, 0x59, 0x00, 0x83, 0x0E, 0x05, 0x1B, 0x61, 0x1B, 0x60, + 0x00, 0xDE, 0x0B, 0x87, 0x06, 0x01, 0x02, 0x95, 0x02, 0x67, 0x02, 0x9F, 0x03, 0x32, 0x00, 0xDE, 0x0E, 0x42, 0x00, 0xFE, 0x0E, 0x1C, 0x00, 0xC3, 0x0E, 0x15, 0x17, 0x7F, 0x8E, 0x00, 0x8A, 0x00, + 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0xB3, 0x00, 0xDF, 0x0B, 0xB2, 0x1F, 0x1F, 0x4D, 0x00, 0x14, 0x81, 0x8D, 0x1E, 0x1F, 0xD8, 0x00, 0x98, 0x80, 0x00, 0x00, 0x80, 0x0E, 0x44, 0xA8, 0x30, + 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, + 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0xAD, 0x30, 0xAC, 0x38, 0x00, 0xFE, + 0x0B, 0xB2, 0x8F, 0x00, 0x00, 0x80, 0x0E, 0x44, 0x00, 0xC1, 0x0E, 0x43, 0x1C, 0x61, 0x19, 0x3A, 0x19, 0x18, 0x90, 0x59, 0x19, 0x19, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, + 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, + 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, + 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, + 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x51, 0x80, 0x80, 0x97, 0x59, 0x80, 0x91, 0x9E, 0x00, 0x6F, 0x33, 0x1B, 0x7F, 0x00, 0xC3, 0x0E, 0x14, 0x8F, 0x00, 0x8D, 0x00, 0x8A, 0x00, 0x17, 0x7F, + 0x81, 0x00, 0x00, 0xDE, 0x0B, 0x9B, 0xB1, 0x00, 0x02, 0x95, 0x03, 0x2A, 0x00, 0xDE, 0x0E, 0x42, 0x00, 0xFE, 0x0E, 0x43, 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x9E, 0x00, 0xDF, 0x0B, 0xA0, + 0x82, 0x00, 0x02, 0x93, 0x03, 0x06, 0x78, 0x00, 0x02, 0x9F, 0x03, 0x09, 0x02, 0x95, 0x03, 0x09, 0x74, 0x00, 0x00, 0xFE, 0x0B, 0x9E, 0x00, 0xDF, 0x0E, 0x43, 0x05, 0xE0, 0x4C, 0x00, 0x00, 0xFE, + 0x0E, 0x40, 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x9F, 0x00, 0xDF, 0x0B, 0xA1, 0x82, 0x00, 0x02, 0x93, 0x03, 0x1D, 0x78, 0x00, 0x02, 0x9F, 0x03, 0x20, 0x02, 0x95, 0x03, 0x20, 0x74, 0x00, + 0x00, 0xFE, 0x0B, 0x9F, 0x00, 0xDF, 0x0E, 0x43, 0x05, 0xE0, 0x4C, 0x00, 0x00, 0xFE, 0x0E, 0x41, 0x02, 0x9F, 0x03, 0x32, 0x00, 0xDE, 0x0E, 0x42, 0x00, 0xFE, 0x0E, 0x40, 0x00, 0xFE, 0x0E, 0x41, + 0x00, 0xFE, 0x0E, 0x43, 0x81, 0x00, 0x8E, 0x00, 0x84, 0x00, 0x89, 0x00, 0x1E, 0xFE, 0x0E, 0x40, 0x1E, 0xBE, 0x00, 0x83, 0x0E, 0x08, 0x1C, 0x03, 0x1F, 0xF5, 0x19, 0x1A, 0xF8, 0x58, 0xFB, 0xA0, + 0xF8, 0xB1, 0xFB, 0xA0, 0xF8, 0xB1, 0xFB, 0xA0, 0xF8, 0xB1, 0xFB, 0xA0, 0xF8, 0x3B, 0x1B, 0x7E, 0x00, 0x83, 0x0E, 0x04, 0x81, 0x00, 0x89, 0x73, 0x19, 0x61, 0x19, 0x60, 0x78, 0x00, 0x00, 0xFE, + 0x0E, 0x04, 0x02, 0x94, 0x02, 0x53, 0x8E, 0x00, 0x81, 0x00, 0x00, 0xDE, 0x0B, 0x9B, 0xB1, 0x00, 0x02, 0x95, 0x03, 0x6A, 0x00, 0xDE, 0x0B, 0x9C, 0x00, 0xDC, 0x0B, 0x9D, 0x2E, 0xCE, 0x2C, 0xCF, + 0x81, 0x00, 0x00, 0xDE, 0x0E, 0x1C, 0x2E, 0xCD, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x00, 0x40, 0x02, 0xBF, 0x05, 0x5C, 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x82, 0x00, 0xDF, 0x0B, 0x83, + 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, 0x0B, 0x80, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x00, 0xC0, 0x02, 0xBF, 0x05, 0x5C, 0x81, 0x00, 0x00, 0xDE, 0x0B, 0x80, 0x00, 0xDC, 0x0B, 0x81, 0xB1, 0x00, + 0x02, 0x94, 0x03, 0x86, 0x00, 0xC0, 0x0E, 0x07, 0x02, 0x9F, 0x00, 0x68, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0B, 0x80, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x00, 0xC0, 0x00, 0x82, 0x0E, 0x08, + 0x00, 0x9F, 0x00, 0x00, 0x1B, 0x5F, 0x00, 0x9F, 0x01, 0x40, 0x1B, 0x5F, 0x00, 0x9F, 0x02, 0x80, 0x1B, 0x5F, 0x00, 0x9F, 0x04, 0x00, 0x1B, 0x5F, 0x00, 0x9F, 0x05, 0x40, 0x1B, 0x5F, 0x00, 0x9F, + 0x06, 0x80, 0x1B, 0x5F, 0x00, 0x9F, 0x07, 0xC0, 0x1B, 0x5F, 0x00, 0x9F, 0x09, 0x00, 0x1B, 0x5F, 0x00, 0x9F, 0x0A, 0x40, 0x1B, 0x5F, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0xDE, 0x0B, 0xA7, 0x00, 0xDF, + 0x0B, 0xA8, 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, 0x03, 0xC0, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x00, 0x80, 0x81, 0x00, 0x89, 0x00, 0x00, 0xDE, 0x0B, 0x84, 0x00, 0x9F, 0x0B, 0x31, 0x4C, 0x00, + 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x15, 0x00, 0xDE, 0x0B, 0x85, 0x00, 0x9F, 0x0B, 0x34, 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x16, 0x00, 0xDE, 0x0B, 0x86, 0x00, 0x9F, + 0x0B, 0x11, 0x4C, 0x00, 0x1C, 0x7E, 0x02, 0x13, 0x00, 0xFE, 0x0E, 0x14, 0x81, 0x00, 0x00, 0xDE, 0x0B, 0x9B, 0xB1, 0x00, 0x02, 0x95, 0x04, 0x03, 0x89, 0x00, 0x00, 0xDF, 0x0B, 0x9E, 0x03, 0x00, + 0x0C, 0xC0, 0x00, 0xFF, 0x0E, 0x40, 0x00, 0xDF, 0x0B, 0x9F, 0x03, 0x00, 0x0C, 0xC0, 0x00, 0xFF, 0x0E, 0x41, 0x00, 0x9F, 0x0C, 0xE0, 0x00, 0xFF, 0x0E, 0x42, 0x00, 0xFF, 0x0E, 0x43, 0x02, 0xBF, + 0x05, 0x5C, 0x00, 0xDE, 0x0B, 0x9C, 0x2E, 0xCE, 0x00, 0xDE, 0x0B, 0x9D, 0x2E, 0xCF, 0x16, 0xCD, 0x0C, 0xC0, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x00, 0x40, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0xC0, + 0x0E, 0x07, 0x02, 0x9F, 0x02, 0x48, 0x00, 0x9F, 0x0C, 0xE0, 0x00, 0xFF, 0x0E, 0x42, 0x00, 0xFF, 0x0E, 0x40, 0x00, 0xFF, 0x0E, 0x41, 0x00, 0xFF, 0x0E, 0x43, 0x02, 0xBF, 0x05, 0x5C, 0x00, 0xC0, + 0x0E, 0x07, 0x02, 0x9F, 0x02, 0x48, 0x8E, 0x00, 0x00, 0x86, 0x04, 0x00, 0x81, 0x00, 0x89, 0x70, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x1F, 0xC6, 0x2E, 0xCD, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, + 0x07, 0x80, 0x02, 0xBF, 0x05, 0x5C, 0x02, 0xBF, 0x04, 0x84, 0x02, 0x9F, 0x00, 0x68, 0x8E, 0x00, 0x00, 0x86, 0x07, 0xC0, 0x81, 0x00, 0x89, 0x70, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x1F, 0xC6, + 0x2E, 0xCD, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x07, 0x80, 0x02, 0xBF, 0x05, 0x5C, 0x02, 0xBF, 0x04, 0x84, 0x02, 0x9F, 0x00, 0x68, 0x8C, 0x00, 0x8A, 0x00, 0x81, 0x00, 0x89, 0x70, 0x19, 0x1F, + 0x2E, 0xCE, 0x2F, 0xCF, 0x16, 0xCD, 0x02, 0x80, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x02, 0x80, 0x8F, 0x50, 0x81, 0x40, 0x00, 0x81, 0x04, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x82, 0x01, 0x40, + 0x00, 0x99, 0x00, 0x80, 0x02, 0xBF, 0x05, 0x5C, 0x11, 0x05, 0x04, 0x6C, 0x1F, 0x61, 0x11, 0x20, 0x04, 0x5E, 0x89, 0x72, 0x19, 0x5C, 0xF0, 0x7B, 0x19, 0x7D, 0xF1, 0x31, 0x81, 0x39, 0x89, 0x00, + 0x68, 0x00, 0x2E, 0xCE, 0x2C, 0xCF, 0x1F, 0xFB, 0x2F, 0xCD, 0x0F, 0x01, 0x2F, 0xC9, 0x1F, 0xF9, 0x2F, 0xCB, 0x72, 0x00, 0x1F, 0x5E, 0x1F, 0x1C, 0x81, 0x00, 0x26, 0xC9, 0x02, 0xA0, 0x00, 0x04, + 0x02, 0x9C, 0x04, 0x6D, 0x02, 0x9F, 0x00, 0x68, 0x02, 0x9F, 0x00, 0x68, 0x02, 0x9F, 0x00, 0x68, 0x02, 0x9F, 0x00, 0x68, 0x16, 0xFC, 0xDC, 0xD1, 0x16, 0xFD, 0x00, 0x02, 0x16, 0xFB, 0x00, 0x01, + 0x02, 0x9F, 0x0C, 0x91, 0x02, 0x9F, 0x00, 0x45, 0x8E, 0x00, 0x19, 0x1F, 0x19, 0x1D, 0x1F, 0x5F, 0x1F, 0x1D, 0x2F, 0xCE, 0x2D, 0xCF, 0x89, 0x00, 0x1F, 0xA6, 0x2D, 0xCD, 0x0E, 0x00, 0x2E, 0xC9, + 0x81, 0x00, 0x00, 0x9C, 0x00, 0xC0, 0x2C, 0xCB, 0x1C, 0xA0, 0x00, 0x81, 0x0E, 0x44, 0x48, 0x00, 0x1B, 0x3E, 0x1B, 0x3C, 0x0B, 0x00, 0x00, 0x99, 0x00, 0x60, 0x4B, 0x00, 0x1B, 0x3D, 0x00, 0x81, + 0x0E, 0x44, 0x1C, 0x06, 0x00, 0x83, 0x00, 0x00, 0x1C, 0x43, 0x27, 0xC9, 0x03, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x04, 0xA5, 0x11, 0x09, 0x04, 0xDA, 0x8E, 0x00, 0x19, 0x3A, 0x19, 0x38, 0x69, 0x00, + 0x2F, 0xCE, 0x2D, 0xCF, 0x89, 0x00, 0x19, 0x3D, 0x2D, 0xCD, 0x16, 0xC9, 0x00, 0x00, 0x81, 0x00, 0x00, 0x9C, 0x00, 0xC0, 0x2C, 0xCB, 0x00, 0x81, 0x0E, 0x44, 0x48, 0x00, 0x1B, 0x3E, 0x1B, 0x3C, + 0x0B, 0x00, 0x09, 0x60, 0x4B, 0x00, 0x1B, 0x3D, 0x00, 0x81, 0x0E, 0x44, 0x8F, 0x00, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x00, 0x48, 0x00, 0x11, 0x17, 0x04, 0xD4, 0x80, 0xF0, 0x80, 0xC0, 0x6B, 0x32, + 0x49, 0x22, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x3A, 0x48, 0x2A, 0x80, 0xF0, 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x1B, 0x5F, 0x1B, 0x5D, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x00, 0x48, 0x00, 0x11, 0x17, + 0x04, 0xE8, 0x80, 0xF0, 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x3A, 0x48, 0x2A, 0x80, 0xF0, 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x1B, 0x5F, 0x1B, 0x5D, 0x1C, 0x05, + 0x02, 0xDF, 0x8E, 0x00, 0x00, 0x9B, 0x0E, 0x44, 0x00, 0x9D, 0x00, 0xC0, 0x02, 0xBF, 0x05, 0x41, 0x49, 0x00, 0x00, 0xFF, 0x0E, 0x1D, 0x00, 0xFD, 0x0E, 0x1E, 0x89, 0x00, 0x02, 0xBF, 0x05, 0x5C, + 0x11, 0x04, 0x05, 0x2C, 0x00, 0xDA, 0x0E, 0x1D, 0x00, 0xD8, 0x0E, 0x1E, 0x00, 0x9B, 0x0E, 0xA4, 0x00, 0x9D, 0x00, 0xC0, 0x02, 0xBF, 0x05, 0x41, 0x49, 0x00, 0x00, 0xFF, 0x0E, 0x1D, 0x00, 0xFD, + 0x0E, 0x1E, 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x05, 0x4C, 0x89, 0x00, 0x00, 0xDA, 0x0E, 0x1D, 0x00, 0xD8, 0x0E, 0x1E, 0x00, 0x9B, 0x0E, 0x44, 0x00, 0x9D, 0x00, 0xC0, 0x02, 0xBF, 0x05, 0x41, + 0x49, 0x00, 0x00, 0xFF, 0x0E, 0x1D, 0x00, 0xFD, 0x0E, 0x1E, 0x00, 0x83, 0x0E, 0xA4, 0x02, 0xBF, 0x05, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x89, 0x00, 0x00, 0xDA, 0x0E, 0x1D, 0x00, 0xD8, + 0x0E, 0x1E, 0x00, 0x9B, 0x0E, 0xA4, 0x00, 0x9D, 0x00, 0xC0, 0x02, 0xBF, 0x05, 0x41, 0x49, 0x00, 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x05, 0x4C, 0x00, 0x83, 0x0E, 0xA4, 0x02, 0xBF, 0x05, 0x4C, + 0x02, 0xDF, 0x8E, 0x00, 0x00, 0xFA, 0xFF, 0xCE, 0x00, 0xF8, 0xFF, 0xCF, 0x00, 0xFB, 0xFF, 0xCD, 0x16, 0xC9, 0x00, 0x00, 0x2D, 0xCB, 0x02, 0xDF, 0x8F, 0x00, 0x8D, 0x00, 0x8A, 0x00, 0x19, 0x7A, + 0x19, 0x78, 0xA0, 0x00, 0xB6, 0x00, 0x11, 0x30, 0x05, 0x5A, 0x91, 0x79, 0x4E, 0x6D, 0x19, 0x7A, 0x4D, 0x43, 0xA0, 0x39, 0xB6, 0x29, 0x02, 0xDF, 0x26, 0xC9, 0x02, 0xA0, 0x00, 0x04, 0x02, 0x9C, + 0x05, 0x5C, 0x02, 0xDF, 0x26, 0xFE, 0x02, 0xC0, 0x80, 0x00, 0x02, 0x9C, 0x05, 0x62, 0x02, 0xDF, 0x26, 0xFC, 0x02, 0xA0, 0x80, 0x00, 0x02, 0x9C, 0x05, 0x68, 0x02, 0xDF, 0x26, 0xFC, 0x02, 0xA0, + 0x80, 0x00, 0x02, 0x9C, 0x05, 0x6E, 0x02, 0xDF, 0x81, 0x00, 0x89, 0x70, 0x8E, 0x60, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x44, 0x16, 0xC9, 0x00, 0x00, 0x89, 0x00, 0x0D, 0x20, 0x2D, 0xCB, + 0x4C, 0x00, 0x1C, 0x80, 0x00, 0x80, 0x02, 0x80, 0x00, 0x81, 0x00, 0x00, 0x00, 0x82, 0x01, 0x40, 0x00, 0x83, 0x0E, 0x44, 0x0A, 0x00, 0x27, 0xC9, 0x03, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x05, 0x8B, + 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x54, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x02, 0x60, 0x00, 0x9F, 0x00, 0xA0, 0x8F, 0x00, 0x00, 0x7F, 0x05, 0xA4, 0x19, 0x7E, 0x1B, 0x1A, 0x19, 0x7C, + 0x1B, 0x1A, 0x1B, 0x5E, 0x1B, 0x5C, 0x1B, 0x3E, 0x1B, 0x3C, 0x1C, 0x04, 0x02, 0x9F, 0x00, 0x68, 0x00, 0x82, 0x0B, 0xB8, 0x19, 0x5E, 0x2E, 0xD1, 0x19, 0x5E, 0x2E, 0xD4, 0x19, 0x5E, 0x2E, 0xD5, + 0x19, 0x5E, 0x2E, 0xD6, 0x19, 0x5E, 0x2E, 0xD7, 0x19, 0x5E, 0x2E, 0xD8, 0x19, 0x5E, 0x2E, 0xD9, 0x19, 0x5E, 0x2E, 0xA0, 0x19, 0x5E, 0x2E, 0xA1, 0x19, 0x5E, 0x2E, 0xA2, 0x19, 0x5E, 0x2E, 0xA3, + 0x19, 0x5E, 0x2E, 0xA4, 0x19, 0x5E, 0x2E, 0xA5, 0x19, 0x5E, 0x2E, 0xA6, 0x19, 0x5E, 0x2E, 0xA7, 0x19, 0x5E, 0x2E, 0xA8, 0x19, 0x5E, 0x2E, 0xA9, 0x19, 0x5E, 0x2E, 0xAA, 0x19, 0x5E, 0x2E, 0xAB, + 0x19, 0x5E, 0x2E, 0xAC, 0x19, 0x5E, 0x2E, 0xAD, 0x19, 0x5E, 0x2E, 0xAE, 0x19, 0x5E, 0x2E, 0xAF, 0x19, 0x5E, 0x2E, 0xDE, 0x19, 0x5E, 0x2E, 0xDA, 0x19, 0x5E, 0x2E, 0xDB, 0x19, 0x5E, 0x2E, 0xDC, + 0x8C, 0x00, 0x8A, 0x00, 0x8E, 0x00, 0x00, 0xD8, 0x0E, 0x16, 0x19, 0x5B, 0x19, 0x59, 0x81, 0x00, 0x19, 0x5C, 0x00, 0x80, 0x0E, 0x44, 0x19, 0x5F, 0x1B, 0x1F, 0x19, 0x5F, 0x1B, 0x1F, 0x19, 0x5F, + 0x1B, 0x1F, 0x18, 0x5F, 0x1B, 0x1F, 0x6B, 0x00, 0x15, 0x05, 0x4D, 0x00, 0x15, 0x7E, 0x1C, 0x9F, 0x1C, 0xBD, 0x05, 0xE0, 0x99, 0x00, 0x7D, 0x00, 0x1C, 0xDD, 0x89, 0x00, 0x1F, 0xA5, 0x15, 0x02, + 0x1C, 0xBF, 0x00, 0x9A, 0x01, 0xFC, 0x00, 0x9E, 0x0E, 0x44, 0x00, 0x81, 0xFF, 0xDD, 0x00, 0x83, 0x0D, 0x80, 0x00, 0x64, 0x06, 0x1A, 0x18, 0x27, 0x1B, 0x07, 0x4A, 0x00, 0x1F, 0xFC, 0x18, 0x27, + 0x1B, 0x07, 0x15, 0x79, 0x35, 0x00, 0x18, 0x27, 0x1B, 0x07, 0x41, 0x00, 0x1B, 0x7E, 0x18, 0x27, 0x1B, 0x07, 0x1B, 0x7F, 0x00, 0x00, 0x00, 0x65, 0x06, 0x20, 0x18, 0x27, 0x1B, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x18, 0x7F, 0x00, 0x66, 0x06, 0x29, 0x4A, 0x3B, 0x1F, 0xFC, 0x15, 0x79, 0x35, 0x33, 0x41, 0x00, 0x1B, 0x7F, 0x00, 0x04, 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, + 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, 0x1A, 0xDC, 0x00, 0x82, 0x0B, 0xD2, 0x27, 0xDC, 0x1A, 0xDF, 0x27, 0xDB, 0x1A, 0xDF, 0x27, 0xDA, 0x1A, 0xDF, 0x00, 0x82, 0x0B, 0xBE, 0x27, 0xD9, + 0x1A, 0xDF, 0x27, 0xD8, 0x1A, 0xDF, 0x8F, 0x00, 0x00, 0xC1, 0x0E, 0x42, 0x00, 0x82, 0x0D, 0x80, 0x19, 0x40, 0x19, 0x43, 0x80, 0xF0, 0xB8, 0xC0, 0x11, 0x1F, 0x06, 0x54, 0xA6, 0xF0, 0xBC, 0xF0, + 0x19, 0x40, 0x19, 0x43, 0xBC, 0xF0, 0x4E, 0xC0, 0xB8, 0x31, 0xA6, 0xF0, 0xBC, 0xF0, 0xBC, 0x00, 0x4E, 0x00, 0x1B, 0x3E, 0x00, 0xE1, 0x0E, 0x42, 0x02, 0xDF, 0x00, 0x82, 0x0B, 0xB8, 0x19, 0x5E, + 0x2E, 0xD1, 0x19, 0x5E, 0x2E, 0xD4, 0x19, 0x5E, 0x2E, 0xD5, 0x19, 0x5E, 0x2E, 0xD6, 0x19, 0x5E, 0x2E, 0xD7, 0x19, 0x5E, 0x2E, 0xD8, 0x19, 0x5E, 0x2E, 0xD9, 0x19, 0x5E, 0x2E, 0xA0, 0x19, 0x5E, + 0x2E, 0xA1, 0x19, 0x5E, 0x2E, 0xA2, 0x19, 0x5E, 0x2E, 0xA3, 0x19, 0x5E, 0x2E, 0xA4, 0x19, 0x5E, 0x2E, 0xA5, 0x19, 0x5E, 0x2E, 0xA6, 0x19, 0x5E, 0x2E, 0xA7, 0x19, 0x5E, 0x2E, 0xA8, 0x19, 0x5E, + 0x2E, 0xA9, 0x19, 0x5E, 0x2E, 0xAA, 0x19, 0x5E, 0x2E, 0xAB, 0x19, 0x5E, 0x2E, 0xAC, 0x19, 0x5E, 0x2E, 0xAD, 0x19, 0x5E, 0x2E, 0xAE, 0x19, 0x5E, 0x2E, 0xAF, 0x19, 0x5E, 0x2E, 0xDE, 0x19, 0x5E, + 0x2E, 0xDA, 0x19, 0x5E, 0x2E, 0xDB, 0x19, 0x5E, 0x2E, 0xDC, 0x8C, 0x00, 0x8A, 0x00, 0x8E, 0x00, 0x19, 0x5B, 0x19, 0x59, 0x81, 0x00, 0x19, 0x5C, 0x00, 0x80, 0x0E, 0x44, 0x19, 0x5F, 0x19, 0x5F, + 0x19, 0x5F, 0x1B, 0x1F, 0x18, 0x5F, 0x1B, 0x1F, 0x6B, 0x00, 0x15, 0x05, 0x4D, 0x00, 0x15, 0x7E, 0x1C, 0x9F, 0x1C, 0xBD, 0x05, 0xE0, 0x99, 0x00, 0x7D, 0x00, 0x1C, 0xDD, 0x89, 0x00, 0x1F, 0xA5, + 0x15, 0x02, 0x1C, 0xBF, 0x00, 0x9A, 0x01, 0xFC, 0x00, 0x9E, 0x0E, 0x45, 0x00, 0x81, 0xFF, 0xDD, 0x00, 0x83, 0x0D, 0x80, 0x00, 0x64, 0x06, 0xCB, 0x18, 0x27, 0x1B, 0x07, 0x4A, 0x00, 0x1B, 0x7E, + 0x18, 0x27, 0x1B, 0x07, 0x1B, 0x7C, 0x00, 0x00, 0x18, 0x27, 0x1B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x18, 0x27, 0x1B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x06, 0xD1, 0x18, 0x27, 0x1B, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x06, 0xD6, 0x4A, 0x00, 0x1B, 0x7E, 0x1B, 0x7C, 0x00, 0x04, 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, + 0x1A, 0xDC, 0x00, 0x82, 0x0B, 0xD2, 0x27, 0xDC, 0x1A, 0xDF, 0x27, 0xDB, 0x1A, 0xDF, 0x27, 0xDA, 0x1A, 0xDF, 0x00, 0x82, 0x0B, 0xBE, 0x27, 0xD9, 0x1A, 0xDF, 0x27, 0xD8, 0x1A, 0xDF, 0x8D, 0x00, + 0x8B, 0x00, 0x8F, 0x00, 0x00, 0xC1, 0x0E, 0x42, 0x00, 0x82, 0x0D, 0x80, 0x81, 0x00, 0x11, 0x20, 0x07, 0x03, 0x89, 0x00, 0x19, 0x40, 0x18, 0x9E, 0x18, 0x1B, 0x19, 0x9A, 0x54, 0x00, 0x1F, 0x5E, + 0x19, 0x59, 0xB0, 0x00, 0xFB, 0x00, 0x81, 0x39, 0x00, 0xE1, 0x0E, 0x42, 0x02, 0xDF, 0x00, 0x82, 0x0B, 0xB8, 0x19, 0x5E, 0x2E, 0xD1, 0x19, 0x5E, 0x2E, 0xD4, 0x19, 0x5E, 0x2E, 0xD5, 0x19, 0x5E, + 0x2E, 0xD6, 0x19, 0x5E, 0x2E, 0xD7, 0x19, 0x5E, 0x2E, 0xD8, 0x19, 0x5E, 0x2E, 0xD9, 0x19, 0x5E, 0x2E, 0xA0, 0x19, 0x5E, 0x2E, 0xA1, 0x19, 0x5E, 0x2E, 0xA2, 0x19, 0x5E, 0x2E, 0xA3, 0x19, 0x5E, + 0x2E, 0xA4, 0x19, 0x5E, 0x2E, 0xA5, 0x19, 0x5E, 0x2E, 0xA6, 0x19, 0x5E, 0x2E, 0xA7, 0x19, 0x5E, 0x2E, 0xA8, 0x19, 0x5E, 0x2E, 0xA9, 0x19, 0x5E, 0x2E, 0xAA, 0x19, 0x5E, 0x2E, 0xAB, 0x19, 0x5E, + 0x2E, 0xAC, 0x19, 0x5E, 0x2E, 0xAD, 0x19, 0x5E, 0x2E, 0xAE, 0x19, 0x5E, 0x2E, 0xAF, 0x19, 0x5E, 0x2E, 0xDE, 0x19, 0x5E, 0x2E, 0xDA, 0x19, 0x5E, 0x2E, 0xDB, 0x19, 0x5E, 0x2E, 0xDC, 0x00, 0xC0, + 0x0E, 0x42, 0x00, 0x81, 0xFF, 0xDD, 0x11, 0x20, 0x07, 0x48, 0x18, 0x24, 0x1B, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0E, 0x42, 0x00, 0x82, 0x0B, 0xD9, 0x00, 0x04, 0x18, 0x9F, 0x1A, 0xDF, + 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, 0x18, 0x9F, 0x1A, 0xDF, 0x89, 0x00, 0x1A, 0xDC, 0x27, 0xDC, 0x00, 0xFF, 0x0B, 0xD2, 0x27, 0xDB, 0x00, 0xFF, 0x0B, 0xD1, 0x27, 0xDA, 0x00, 0xFF, + 0x0B, 0xD0, 0x27, 0xD9, 0x00, 0xFF, 0x0B, 0xBE, 0x27, 0xD8, 0x00, 0xFF, 0x0B, 0xBD, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, + 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, + 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, + 0x0E, 0x0B, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, + 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, + 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, + 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, + 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAA, + 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, + 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, + 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, 0x00, 0xC2, 0x0E, 0x0A, 0x1C, 0x62, 0x02, 0xBF, 0x81, 0xF9, 0x00, 0xF8, 0x0B, 0xAF, + 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, + 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, + 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, 0x00, 0xC2, 0x0E, 0x0A, 0x1C, 0x62, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0D, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, + 0x0B, 0xAF, 0x00, 0xFB, 0x0B, 0xB0, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, + 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, + 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x95, 0x00, 0xC2, 0x0E, 0x10, 0x1C, 0x62, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0A, + 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xB1, 0x00, 0xFB, 0x0B, 0xAF, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, + 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x1C, 0x62, 0x00, 0xC4, + 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, + 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, 0x00, 0xC2, 0x0E, 0x0A, + 0x1C, 0x62, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0D, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAF, 0x00, 0xFB, 0x0B, 0xB0, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x95, 0x00, 0xC2, 0x0E, 0x10, + 0x1C, 0x62, 0x02, 0xBF, 0x81, 0xF9, 0x00, 0xF8, 0x0B, 0xB1, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, + 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, + 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, + 0x0E, 0x0B, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, + 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, + 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAB, + 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, + 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, + 0x0E, 0x0C, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, + 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, + 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, + 0x00, 0xC2, 0x0E, 0x0A, 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x84, 0x5D, 0x00, 0xF8, 0x0B, 0xAF, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, + 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, + 0x0E, 0x0B, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, + 0x0B, 0x97, 0x00, 0xC2, 0x0E, 0x0A, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0D, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAF, 0x00, 0xFB, 0x0B, 0xB0, 0x02, 0xDF, 0x00, 0xC0, + 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, + 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, + 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x95, 0x00, 0xC2, 0x0E, 0x10, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0A, 0x02, 0xBF, 0x82, 0x82, + 0x00, 0xF8, 0x0B, 0xB1, 0x00, 0xFB, 0x0B, 0xAF, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, + 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC0, + 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x00, 0x83, + 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x97, 0x00, 0xC2, + 0x0E, 0x0A, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0D, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAF, 0x00, 0xFB, 0x0B, 0xB0, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x95, + 0x00, 0xC2, 0x0E, 0x10, 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x84, 0x5D, 0x00, 0xF8, 0x0B, 0xB1, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x1C, 0x62, + 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, + 0x1C, 0x62, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, + 0x0E, 0x08, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x91, + 0x00, 0xC2, 0x0E, 0x0E, 0x1C, 0x62, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, + 0x00, 0xC2, 0x0E, 0x0B, 0x1C, 0x62, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x80, 0xE7, 0x00, 0xF8, 0x0B, 0xAA, 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, + 0x0B, 0x99, 0x00, 0xC2, 0x0E, 0x0D, 0x1C, 0x62, 0x02, 0xBF, 0x81, 0xF9, 0x00, 0xF8, 0x0B, 0xB0, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, + 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, + 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, 0x02, 0xDF, 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, + 0x0B, 0x89, 0x00, 0xC2, 0x0E, 0x08, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x09, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xA9, 0x00, 0xFB, 0x0B, 0xAC, 0x00, 0xC0, + 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x91, 0x00, 0xC2, 0x0E, 0x0E, 0x00, 0x83, 0x0E, 0x44, 0x1C, 0x80, 0x00, 0xC5, 0x0E, 0x0F, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAB, 0x00, 0xFB, 0x0B, 0xAE, + 0x00, 0xC0, 0x0E, 0x40, 0x00, 0x81, 0x0B, 0x8D, 0x00, 0xC2, 0x0E, 0x0B, 0x00, 0x83, 0x0E, 0x44, 0x00, 0xC4, 0x0E, 0x41, 0x00, 0xC5, 0x0E, 0x0C, 0x02, 0xBF, 0x82, 0x82, 0x00, 0xF8, 0x0B, 0xAA, + 0x00, 0xFB, 0x0B, 0xAD, 0x00, 0xC0, 0x0E, 0x43, 0x00, 0x81, 0x0B, 0x99, 0x00, 0xC2, 0x0E, 0x0D, 0x00, 0x83, 0x0E, 0x44, 0x02, 0xBF, 0x84, 0x5D, 0x00, 0xF8, 0x0B, 0xB0, 0x02, 0xDF, 0x00, 0x82, + 0x01, 0x3E, 0x01, 0xBC, 0x02, 0x48, 0x04, 0x13, 0x04, 0x27, 0x01, 0x65, 0x05, 0x74, 0x0B, 0x37, 0x01, 0x5F, 0x04, 0x78, 0x04, 0x74, 0x04, 0x76, 0x01, 0xA9, 0x04, 0x3B, 0x04, 0x7A, 0x0B, 0xB1, + 0x01, 0x75, 0x07, 0x68, 0x07, 0x7A, 0x07, 0x9D, 0x07, 0xC0, 0x07, 0xF4, 0x08, 0x11, 0x08, 0x44, 0x08, 0x77, 0x08, 0xC6, 0x08, 0xD9, 0x08, 0xFE, 0x09, 0x23, 0x09, 0x5A, 0x09, 0x79, 0x09, 0xAF, + 0x09, 0xE5, 0x0A, 0x39, 0x0A, 0x5B, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, 0x0A, 0x99, 0x0A, 0xBD, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, 0x07, 0x68, + 0x07, 0x68, 0x05, 0xA8, 0x06, 0x5D, 0x07, 0x07, 0x10, 0x00, 0x12, 0x00, 0x14, 0x00, 0x8E, 0x00, 0x81, 0x00, 0x89, 0x70, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x80, 0x16, 0xC9, + 0x00, 0x00, 0x16, 0xCB, 0x01, 0x00, 0x1F, 0x7E, 0x1F, 0x3C, 0x81, 0x00, 0x26, 0xC9, 0x02, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x0B, 0x46, 0x19, 0x1E, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, + 0x02, 0x80, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x02, 0x80, 0x1C, 0x80, 0x00, 0x80, 0x02, 0x80, 0x00, 0xC1, 0x0E, 0x1B, 0x00, 0x85, 0x00, 0x00, 0x00, 0x89, 0x00, 0x7F, 0x00, 0x82, 0x0F, 0x00, + 0x00, 0x83, 0x16, 0xB4, 0x1C, 0xE3, 0x81, 0x00, 0x26, 0xC9, 0x02, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x0B, 0x64, 0x8F, 0x00, 0x8A, 0x78, 0x8C, 0x68, 0xF1, 0x00, 0x1A, 0x3F, 0x84, 0xE3, 0x10, 0x7E, + 0xF2, 0xE3, 0xF2, 0xE7, 0xF2, 0x78, 0x6E, 0x68, 0xF1, 0x32, 0x1A, 0x3F, 0x11, 0x9E, 0x0B, 0x80, 0x1C, 0x67, 0x84, 0xE3, 0x10, 0x7E, 0xF2, 0xE3, 0xF2, 0xE7, 0xF2, 0x78, 0x6E, 0x68, 0xF1, 0x32, + 0x1A, 0x3F, 0x1C, 0x67, 0x84, 0xE3, 0x10, 0x7E, 0xF2, 0xE3, 0xF2, 0xE7, 0xF2, 0x00, 0x6E, 0x00, 0x1B, 0x5E, 0x00, 0xE1, 0x0E, 0x1B, 0x00, 0x80, 0x02, 0x80, 0x00, 0x83, 0x0F, 0x00, 0x00, 0x81, + 0x00, 0x00, 0x00, 0x82, 0x01, 0x40, 0x00, 0x89, 0xFF, 0xFF, 0x89, 0x00, 0x81, 0x00, 0x8F, 0x00, 0x11, 0xA0, 0x0B, 0xA0, 0x19, 0x7F, 0x99, 0x30, 0x1B, 0x1E, 0x1B, 0x3F, 0x7D, 0x29, 0x1B, 0x5F, + 0x1B, 0x5D, 0x8E, 0x00, 0x1F, 0xDB, 0x1F, 0x99, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x0E, 0x80, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x01, 0x00, 0x02, 0xBF, 0x05, 0x5C, 0x1C, 0x04, 0x02, 0x9F, + 0x00, 0x68, 0x8E, 0x00, 0x81, 0x00, 0x89, 0x70, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x07, 0xC0, 0x16, 0xC9, 0x00, 0x01, 0x16, 0xCB, 0x05, 0x00, 0x02, 0xBF, 0x05, 0x5C, 0x81, 0x00, + 0x89, 0x70, 0x19, 0x1C, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x07, 0xC0, 0x16, 0xC9, 0x00, 0x00, 0x89, 0x00, 0x0D, 0x20, 0x2D, 0xCB, 0x4C, 0x00, 0x1C, 0x80, 0x00, 0x80, 0x07, 0xC0, 0x00, 0x83, + 0x00, 0x00, 0x1C, 0x43, 0x0A, 0x00, 0x27, 0xC9, 0x03, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x0B, 0xD3, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xCD, 0x07, 0xD0, 0x16, 0xC9, 0x00, 0x00, 0x16, 0xCB, 0x04, 0xE0, + 0x8F, 0x00, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x00, 0x48, 0x00, 0x11, 0x4F, 0x0B, 0xEE, 0x80, 0xF0, 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x80, 0xF0, 0x80, 0xC0, 0x6A, 0x3A, 0x48, 0x2A, 0x80, 0xF0, + 0x80, 0xC0, 0x6B, 0x32, 0x49, 0x22, 0x1B, 0x5F, 0x1B, 0x5D, 0x80, 0xF0, 0x80, 0xC0, 0x68, 0x00, 0x7C, 0x00, 0x4A, 0x00, 0x11, 0x4F, 0x0C, 0x05, 0x80, 0xF0, 0x80, 0xC0, 0x69, 0x32, 0x7D, 0x00, + 0x4B, 0x22, 0x80, 0xF0, 0x80, 0xC0, 0x68, 0x3A, 0x7C, 0x00, 0x4A, 0x2A, 0x80, 0xF0, 0x80, 0xC0, 0x69, 0x32, 0x7D, 0x00, 0x4B, 0x22, 0x1B, 0x5F, 0x1B, 0x5D, 0x1C, 0x04, 0x02, 0x9F, 0x00, 0x68, + 0x8E, 0x00, 0x16, 0xFC, 0xEC, 0xC0, 0x1F, 0xCC, 0x1D, 0x9E, 0x2E, 0xFD, 0x26, 0xFC, 0x02, 0xA0, 0x80, 0x00, 0x02, 0x9C, 0x0C, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0x8E, 0x00, + 0x00, 0xF0, 0x0E, 0x17, 0x00, 0xFE, 0x0E, 0x18, 0x00, 0xFC, 0x0E, 0x19, 0x1F, 0xCC, 0x1D, 0x9E, 0x16, 0xFC, 0xFE, 0xED, 0x2E, 0xFD, 0x26, 0xFC, 0x02, 0xA0, 0x80, 0x00, 0x02, 0x9C, 0x0C, 0x2B, + 0x00, 0xD0, 0x0E, 0x17, 0x00, 0xDE, 0x0E, 0x18, 0x00, 0xDC, 0x0E, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0x8E, 0x00, 0x1D, 0xBC, 0x1D, 0xBE, 0x81, 0x00, 0x00, 0xDE, + 0x0B, 0xB7, 0x06, 0x01, 0x02, 0x95, 0x0C, 0x47, 0x0E, 0x00, 0x00, 0xFE, 0x0B, 0x87, 0x1F, 0xCD, 0x1F, 0x8D, 0x02, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, + 0x8E, 0x00, 0x1D, 0xBC, 0x1D, 0xBE, 0x81, 0x00, 0x00, 0xDE, 0x0B, 0xB7, 0x06, 0x01, 0x02, 0x95, 0x0C, 0x5F, 0x0E, 0x00, 0x00, 0xFE, 0x0B, 0x87, 0x1F, 0xCD, 0x1F, 0x8D, 0x02, 0xFF, 0x81, 0x00, + 0x00, 0xDE, 0x0B, 0x88, 0x06, 0x01, 0x02, 0x95, 0x0C, 0x71, 0x00, 0xDE, 0x0B, 0xDA, 0x2E, 0xDA, 0x00, 0xDE, 0x0B, 0xDB, 0x2E, 0xDB, 0x00, 0xDE, 0x0B, 0xDC, 0x2E, 0xDC, 0x1F, 0xCD, 0x1F, 0x8D, + 0x02, 0xFF, 0x00, 0xDE, 0x0B, 0xDA, 0x2E, 0xDA, 0x26, 0xDB, 0x2E, 0xDB, 0x26, 0xDC, 0x2E, 0xDC, 0x81, 0x00, 0x00, 0xDC, 0x0B, 0xDD, 0x76, 0x00, 0x00, 0xFC, 0x0B, 0xDD, 0x81, 0x00, 0x1F, 0xCD, + 0x1F, 0x8D, 0x02, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0x0C, 0x9F, 0x0C, 0xA2, 0x0C, 0xDA, + 0x0C, 0xDD, 0x8E, 0x00, 0x81, 0x00, 0x89, 0x00, 0x02, 0xBF, 0x0C, 0xE0, 0x27, 0xFF, 0x00, 0x9E, 0x0C, 0x8D, 0x4C, 0x00, 0x1C, 0x7E, 0x03, 0x13, 0x1C, 0x7F, 0x17, 0x6F, 0x00, 0x21, 0x02, 0x9F, + 0x00, 0x30, 0x00, 0x21, 0x81, 0x00, 0x89, 0x00, 0x02, 0xBF, 0x0C, 0xE0, 0x24, 0xFF, 0x02, 0xBF, 0x0C, 0xE6, 0x25, 0xFF, 0x02, 0xBF, 0x0C, 0xE6, 0x27, 0xFF, 0x2E, 0xCE, 0x2C, 0xCF, 0x16, 0xC9, + 0x00, 0x01, 0x2F, 0xCD, 0x2D, 0xCB, 0x81, 0x00, 0x89, 0x00, 0x02, 0xBF, 0x0C, 0xE0, 0x24, 0xFF, 0x1C, 0x9E, 0x1C, 0xBC, 0x02, 0xBF, 0x0C, 0xE6, 0x25, 0xFF, 0x02, 0xBF, 0x0C, 0xE6, 0x27, 0xFF, + 0x1C, 0xDF, 0x1C, 0xFD, 0x81, 0x00, 0x02, 0xBF, 0x0C, 0xE0, 0x26, 0xFF, 0x1C, 0x1E, 0x89, 0x00, 0x02, 0xBF, 0x0C, 0xE6, 0x20, 0xFF, 0x1F, 0x5F, 0x02, 0xBF, 0x0C, 0xE0, 0x21, 0xFF, 0x02, 0xBF, + 0x0C, 0xE0, 0x23, 0xFF, 0x26, 0xC9, 0x02, 0xA0, 0x00, 0x04, 0x02, 0x9C, 0x0C, 0xD2, 0x02, 0x9F, 0x80, 0xB5, 0x00, 0x21, 0x02, 0x9F, 0x80, 0x00, 0x00, 0x21, 0x02, 0x9F, 0x00, 0x45, 0x00, 0x21, + 0x26, 0xFE, 0x02, 0xC0, 0x80, 0x00, 0x02, 0x9C, 0x0C, 0xE0, 0x02, 0xDF, 0x27, 0xFE, 0x03, 0xC0, 0x80, 0x00, 0x02, 0x9C, 0x0C, 0xE6, 0x02, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0 +}; + +__declspec(section ".sdata") const int dspSlaveLength = 6624; diff --git a/src/os/__ppc_eabi_init.c b/src/os/__ppc_eabi_init.c new file mode 100644 index 00000000..b1f70af4 --- /dev/null +++ b/src/os/__ppc_eabi_init.c @@ -0,0 +1,45 @@ +#include "Dolphin/__ppc_eabi_init.h" + +extern void __OSPSInit(); +extern void __OSCacheInit(); + +asm void __init_hardware(void) { + nofralloc; + mfmsr r0 + ori r0, r0, 0x2000 + mtmsr r0 + + mflr r31 + bl __OSPSInit + bl __OSCacheInit + mtlr r31 + blr +} + +asm void __flush_cache(register void* address, register unsigned int size) { + nofralloc; + lis r5, 0xFFFF + ori r5, r5, 0xFFF1 + and r5, r5, r3 + subf r3, r5, r3 + add r4, r4, r3 + +loop: + dcbst 0, r5 + sync + icbi 0, r5 + addic r5, r5, 8 + subic. r4, r4, 8 + bge loop + isync + blr +} + +#if 0 +extern void __init_cpp(void); + +#pragma scheduling off +void __init_user(void) { + __init_cpp(); +} +#endif