1087 lines
28 KiB
C
1087 lines
28 KiB
C
![]() |
#include "libultra_internal.h"
|
||
|
|
||
|
OSViMode osViModeTable[] = {
|
||
|
/*osViModeNtscLpn1*/
|
||
|
{ /*type*/ 0,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12814,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 525,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 640,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 640,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModeNtscLpf1*/
|
||
|
{ /*type*/ 1,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12878,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 640,
|
||
|
/*yScale*/ 16778240,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 640,
|
||
|
/*yScale*/ 50332672,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModeNtscLan1*/
|
||
|
{ /*type*/ 2,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12574,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 525,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 640,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 640,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModeNtscLaf1*/
|
||
|
{ /*type*/ 3,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12382,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 640,
|
||
|
/*yScale*/ 16778240,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 640,
|
||
|
/*yScale*/ 50332672,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModeNtscLpn2*/
|
||
|
{ /*type*/ 4,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 13071,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 525,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModeNtscLpf2*/
|
||
|
{ /*type*/ 5,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12879,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 16778240,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 1280,
|
||
|
/*yScale*/ 50332672,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModeNtscLan2*/
|
||
|
{ /*type*/ 6,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12319,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 525,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModeNtscLaf2*/
|
||
|
{ /*type*/ 7,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12383,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 16778240,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 1280,
|
||
|
/*yScale*/ 50332672,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModeNtscHpn1*/
|
||
|
{ /*type*/ 8,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12878,
|
||
|
/*width*/ 1280,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 2560,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModeNtscHpf1*/
|
||
|
{ /*type*/ 9,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12878,
|
||
|
/*width*/ 640,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 2560,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModeNtscHan1*/
|
||
|
{ /*type*/ 10,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12382,
|
||
|
/*width*/ 1280,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 2560,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModeNtscHaf1*/
|
||
|
{ /*type*/ 11,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12382,
|
||
|
/*width*/ 640,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 2560,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModeNtscHpn2*/
|
||
|
{ /*type*/ 12,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 13135,
|
||
|
/*width*/ 1280,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 2560,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 5120,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModeNtscHpf2*/
|
||
|
{ /*type*/ 13,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12879,
|
||
|
/*width*/ 640,
|
||
|
/*burst*/ 65348153,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3093,
|
||
|
/*leap*/ 202705941,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 2560,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 5120,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
|
||
|
#ifdef VERSION_JP
|
||
|
/*osViModePalLpn1*/
|
||
|
{ /*type*/ 14,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12814,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 625,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 640,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 640,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLpf1*/
|
||
|
{ /*type*/ 15,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12878,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 624,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 640,
|
||
|
/*yScale*/ 16778240,
|
||
|
/*vStart*/ 6095415,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 640,
|
||
|
/*yScale*/ 50332672,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 852585,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLan1*/
|
||
|
{ /*type*/ 16,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12574,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 625,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 640,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 640,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLaf1*/
|
||
|
{ /*type*/ 17,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12382,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 624,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 640,
|
||
|
/*yScale*/ 16778240,
|
||
|
/*vStart*/ 6095415,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 640,
|
||
|
/*yScale*/ 50332672,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 852585,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLpn2*/
|
||
|
{ /*type*/ 18,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 13071,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 625,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLpf2*/
|
||
|
{ /*type*/ 19,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12879,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 624,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 16778240,
|
||
|
/*vStart*/ 6095415,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 1280,
|
||
|
/*yScale*/ 50332672,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 852585,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLan2*/
|
||
|
{ /*type*/ 20,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12319,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 625,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLaf2*/
|
||
|
{ /*type*/ 21,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12383,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 624,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 16778240,
|
||
|
/*vStart*/ 6095415,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 1280,
|
||
|
/*yScale*/ 50332672,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 852585,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalHpn1*/
|
||
|
{ /*type*/ 22,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12878,
|
||
|
/*width*/ 1280,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 624,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6095415,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 2560,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 852585,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalHpf1*/
|
||
|
{ /*type*/ 23,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12878,
|
||
|
/*width*/ 640,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 624,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 6095415,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 2560,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 852585,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalHan1*/
|
||
|
{ /*type*/ 24,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12382,
|
||
|
/*width*/ 1280,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 624,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6095415,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 2560,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 852585,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalHaf1*/
|
||
|
{ /*type*/ 25,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12382,
|
||
|
/*width*/ 640,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 624,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 6095415,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 2560,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 852585,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalHpn2*/
|
||
|
{ /*type*/ 26,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 13135,
|
||
|
/*width*/ 1280,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 624,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 2560,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6095415,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 5120,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 852585,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalHpf2*/
|
||
|
{ /*type*/ 27,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12879,
|
||
|
/*width*/ 640,
|
||
|
/*burst*/ 67380026,
|
||
|
/*vSync*/ 624,
|
||
|
/*hSync*/ 1379433,
|
||
|
/*leap*/ 208604270,
|
||
|
/*hStart*/ 8389376,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 2560,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 6095415,
|
||
|
/*vBurst*/ 590443,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 5120,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 6226489,
|
||
|
/*vBurst*/ 852585,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
#else
|
||
|
/*osViModePalLpn1*/
|
||
|
{ /*type*/ 28,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12814,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 525,
|
||
|
/*hSync*/ 265233,
|
||
|
/*leap*/ 202968090,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 640,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 640,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLpf1*/
|
||
|
{ /*type*/ 29,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12878,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3088,
|
||
|
/*leap*/ 203164700,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 640,
|
||
|
/*yScale*/ 16778240,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 721410,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 640,
|
||
|
/*yScale*/ 50332672,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLan1*/
|
||
|
{ /*type*/ 30,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12574,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 525,
|
||
|
/*hSync*/ 265233,
|
||
|
/*leap*/ 202968090,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 640,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 640,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLaf1*/
|
||
|
{ /*type*/ 31,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12382,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3088,
|
||
|
/*leap*/ 203164700,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 640,
|
||
|
/*yScale*/ 16778240,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 721410,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 640,
|
||
|
/*yScale*/ 50332672,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLpn2*/
|
||
|
{ /*type*/ 32,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 13071,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 525,
|
||
|
/*hSync*/ 265233,
|
||
|
/*leap*/ 202968090,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLpf2*/
|
||
|
{ /*type*/ 33,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12879,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3088,
|
||
|
/*leap*/ 203164700,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 16778240,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 721410,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 1280,
|
||
|
/*yScale*/ 50332672,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLan2*/
|
||
|
{ /*type*/ 34,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12319,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 525,
|
||
|
/*hSync*/ 265233,
|
||
|
/*leap*/ 202968090,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalLaf2*/
|
||
|
{ /*type*/ 35,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12383,
|
||
|
/*width*/ 320,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3088,
|
||
|
/*leap*/ 203164700,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 512,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 16778240,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 721410,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 1280,
|
||
|
/*yScale*/ 50332672,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalHpn1*/
|
||
|
{ /*type*/ 36,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12878,
|
||
|
/*width*/ 1280,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3088,
|
||
|
/*leap*/ 203164700,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 721410,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 2560,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalHpf1*/
|
||
|
{ /*type*/ 37,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12878,
|
||
|
/*width*/ 640,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3088,
|
||
|
/*leap*/ 203164700,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 721410,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 2560,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalHan1*/
|
||
|
{ /*type*/ 38,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12382,
|
||
|
/*width*/ 1280,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3088,
|
||
|
/*leap*/ 203164700,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 721410,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 2560,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalHaf1*/
|
||
|
{ /*type*/ 39,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12382,
|
||
|
/*width*/ 640,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3088,
|
||
|
/*leap*/ 203164700,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 1280,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 721410,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 2560,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalHpn2*/
|
||
|
{ /*type*/ 40,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 13135,
|
||
|
/*width*/ 1280,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3088,
|
||
|
/*leap*/ 203164700,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 2560,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 721410,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 5120,
|
||
|
/*yScale*/ 1024,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } },
|
||
|
/*osViModePalHpf2*/
|
||
|
{ /*type*/ 41,
|
||
|
/*comRegs*/
|
||
|
{ /*ctrl*/ 12879,
|
||
|
/*width*/ 640,
|
||
|
/*burst*/ 73735737,
|
||
|
/*vSync*/ 524,
|
||
|
/*hSync*/ 3088,
|
||
|
/*leap*/ 203164700,
|
||
|
/*hStart*/ 7078636,
|
||
|
/*xScale*/ 1024,
|
||
|
/*vCurrent*/ 0 },
|
||
|
/*fldRegs*/
|
||
|
{ { /*origin*/ 2560,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 2294269,
|
||
|
/*vBurst*/ 721410,
|
||
|
/*vIntr*/ 2 },
|
||
|
{ /*origin*/ 5120,
|
||
|
/*yScale*/ 33556480,
|
||
|
/*vStart*/ 2425343,
|
||
|
/*vBurst*/ 918020,
|
||
|
/*vIntr*/ 2 } } }
|
||
|
#endif
|
||
|
};
|
||
|
|
||
|
#define OS_VI_MANAGER_MESSAGE_BUFF_SIZE 5
|
||
|
|
||
|
OSMgrArgs viMgrMainArgs = { 0 };
|
||
|
OSThread viMgrThread;
|
||
|
u32 viMgrStack[0x400]; // stack bottom
|
||
|
OSMesgQueue __osViMesgQueue;
|
||
|
OSMesg viMgrMesgBuff[OS_VI_MANAGER_MESSAGE_BUFF_SIZE + 1];
|
||
|
|
||
|
typedef struct {
|
||
|
u16 unk00;
|
||
|
u8 unk02;
|
||
|
u32 unk04;
|
||
|
u8 pad[0xc];
|
||
|
u16 unk14;
|
||
|
u16 unk16;
|
||
|
} viMesgStruct;
|
||
|
|
||
|
viMesgStruct viEventViMesg;
|
||
|
viMesgStruct viEventCounterMesg;
|
||
|
|
||
|
extern void __osTimerServicesInit(void);
|
||
|
extern void __osTimerInterrupt(void);
|
||
|
extern OSTime _osCurrentTime;
|
||
|
extern u32 D_80365DA8;
|
||
|
extern u32 D_80365DAC;
|
||
|
void viMgrMain(void *);
|
||
|
|
||
|
void osCreateViManager(OSPri pri) {
|
||
|
u32 int_disabled;
|
||
|
OSPri newPri;
|
||
|
OSPri currentPri;
|
||
|
if (!viMgrMainArgs.initialized) {
|
||
|
__osTimerServicesInit();
|
||
|
osCreateMesgQueue(&__osViMesgQueue, &viMgrMesgBuff[0], OS_VI_MANAGER_MESSAGE_BUFF_SIZE);
|
||
|
viEventViMesg.unk00 = 13;
|
||
|
viEventViMesg.unk02 = 0;
|
||
|
viEventViMesg.unk04 = 0;
|
||
|
viEventCounterMesg.unk00 = 14;
|
||
|
viEventCounterMesg.unk02 = 0;
|
||
|
viEventCounterMesg.unk04 = 0;
|
||
|
osSetEventMesg(OS_EVENT_VI, &__osViMesgQueue, &viEventViMesg);
|
||
|
osSetEventMesg(OS_EVENT_COUNTER, &__osViMesgQueue, &viEventCounterMesg);
|
||
|
newPri = -1;
|
||
|
currentPri = osGetThreadPri(NULL);
|
||
|
if (currentPri < pri) {
|
||
|
newPri = currentPri;
|
||
|
osSetThreadPri(NULL, pri);
|
||
|
}
|
||
|
int_disabled = __osDisableInt();
|
||
|
viMgrMainArgs.initialized = TRUE;
|
||
|
viMgrMainArgs.mgrThread = &viMgrThread;
|
||
|
viMgrMainArgs.unk08 = &__osViMesgQueue;
|
||
|
viMgrMainArgs.unk0c = &__osViMesgQueue;
|
||
|
viMgrMainArgs.unk10 = NULL;
|
||
|
viMgrMainArgs.dma_func = NULL;
|
||
|
osCreateThread(&viMgrThread, 0, viMgrMain, (void *) &viMgrMainArgs, &viMgrStack[0x400], pri);
|
||
|
__osViInit();
|
||
|
osStartThread(&viMgrThread);
|
||
|
__osRestoreInt(int_disabled);
|
||
|
if (newPri != -1) {
|
||
|
osSetThreadPri(NULL, newPri);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void viMgrMain(void *vargs) {
|
||
|
OSViContext *context;
|
||
|
OSMgrArgs *args;
|
||
|
OSMesg mesg;
|
||
|
u32 sp28; // always 0
|
||
|
u32 sp24; // time related
|
||
|
mesg = NULL;
|
||
|
sp28 = FALSE;
|
||
|
context = __osViGetCurrentContext();
|
||
|
|
||
|
if ((viEventCounterMesg.unk14 = context->retraceCount) == 0) {
|
||
|
viEventCounterMesg.unk14 = 1;
|
||
|
}
|
||
|
|
||
|
args = (OSMgrArgs *) vargs;
|
||
|
|
||
|
while (1) {
|
||
|
osRecvMesg(args->unk0c, &mesg, OS_MESG_BLOCK);
|
||
|
switch (*(u16 *) mesg) {
|
||
|
case 13:
|
||
|
__osViSwapContext();
|
||
|
if (!--viEventCounterMesg.unk14) {
|
||
|
context = __osViGetCurrentContext();
|
||
|
if (context->mq != NULL) {
|
||
|
osSendMesg(context->mq, context->msg, OS_MESG_NOBLOCK);
|
||
|
}
|
||
|
viEventCounterMesg.unk14 = context->retraceCount;
|
||
|
}
|
||
|
D_80365DAC++;
|
||
|
if (sp28) {
|
||
|
sp24 = osGetCount();
|
||
|
_osCurrentTime = sp24;
|
||
|
sp28 = 0;
|
||
|
}
|
||
|
sp24 = D_80365DA8;
|
||
|
D_80365DA8 = osGetCount();
|
||
|
sp24 = D_80365DA8 - sp24;
|
||
|
_osCurrentTime = _osCurrentTime + sp24;
|
||
|
break;
|
||
|
|
||
|
case 14:
|
||
|
__osTimerInterrupt();
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|