minor cleanup
This commit is contained in:
parent
551d4f153f
commit
a2212d6ca6
3 changed files with 28 additions and 12 deletions
|
@ -40,7 +40,7 @@ Start:
|
||||||
|
|
||||||
// enable CPU interrupts.
|
// enable CPU interrupts.
|
||||||
mfc0 t1, CP0_Status
|
mfc0 t1, CP0_Status
|
||||||
ori t1, t1, CP0_STATUS_IM_ALL | CP0_STATUS_IE
|
ori t1, CP0_STATUS_IM_ALL | CP0_STATUS_IE
|
||||||
mtc0 t1, CP0_Status
|
mtc0 t1, CP0_Status
|
||||||
|
|
||||||
// enable even more interrupts.
|
// enable even more interrupts.
|
||||||
|
@ -74,7 +74,7 @@ Start:
|
||||||
|
|
||||||
// SP defaults to RSP instruction memory: 0xA4001FF0
|
// SP defaults to RSP instruction memory: 0xA4001FF0
|
||||||
// we can do better than that.
|
// we can do better than that.
|
||||||
li sp, K_STACK_INIT
|
la sp, K_STACK_INIT
|
||||||
// SP should always be 8-byte aligned
|
// SP should always be 8-byte aligned
|
||||||
// so that SD and LD instructions don't fail on it.
|
// so that SD and LD instructions don't fail on it.
|
||||||
// we also need 4 empty words for storing
|
// we also need 4 empty words for storing
|
||||||
|
|
30
main.asm
30
main.asm
|
@ -23,9 +23,11 @@ if origin() != 0x1000 {
|
||||||
include "kernel.asm"
|
include "kernel.asm"
|
||||||
|
|
||||||
Main:
|
Main:
|
||||||
lui s0, MAIN_BASE
|
|
||||||
|
|
||||||
if 0 {
|
if 0 {
|
||||||
|
DecompImage:
|
||||||
|
lui s0, MAIN_BASE
|
||||||
|
|
||||||
nop; nop; nop; nop
|
nop; nop; nop; nop
|
||||||
mfc0 t0, CP0_Count
|
mfc0 t0, CP0_Count
|
||||||
sw t0, MAIN_COUNTS+0(s0)
|
sw t0, MAIN_COUNTS+0(s0)
|
||||||
|
@ -48,14 +50,11 @@ if 0 {
|
||||||
|
|
||||||
jal PokeDataCache
|
jal PokeDataCache
|
||||||
nop
|
nop
|
||||||
}
|
|
||||||
|
|
||||||
lui a0, MAIN_BASE
|
lui a0, MAIN_BASE
|
||||||
|
jal MainDumpWrite
|
||||||
lli a1, 0x20
|
lli a1, 0x20
|
||||||
ori a2, a0, MAIN_XXD
|
}
|
||||||
jal DumpAndWrite
|
|
||||||
lli a3, 0x20 * 4
|
|
||||||
WriteString(KS_Newline)
|
|
||||||
|
|
||||||
Test3D:
|
Test3D:
|
||||||
// write the jump to our actual commands
|
// write the jump to our actual commands
|
||||||
|
@ -107,7 +106,6 @@ Start3D:
|
||||||
lui a0, SP_BASE
|
lui a0, SP_BASE
|
||||||
lli t0, SP_INT_ON_BREAK_SET | SP_SINGLE_STEP_CLR | SP_BREAK_CLR | SP_HALT_CLR
|
lli t0, SP_INT_ON_BREAK_SET | SP_SINGLE_STEP_CLR | SP_BREAK_CLR | SP_HALT_CLR
|
||||||
sw t0, SP_STATUS(a0)
|
sw t0, SP_STATUS(a0)
|
||||||
nop
|
|
||||||
|
|
||||||
SetIntMask()
|
SetIntMask()
|
||||||
|
|
||||||
|
@ -154,6 +152,24 @@ if HICOLOR {
|
||||||
jr ra
|
jr ra
|
||||||
nop
|
nop
|
||||||
|
|
||||||
|
MainDumpWrite:
|
||||||
|
subiu sp, 0x18
|
||||||
|
sw ra, 0x10(sp)
|
||||||
|
|
||||||
|
lui a2, MAIN_BASE
|
||||||
|
ori a2, MAIN_XXD
|
||||||
|
jal DumpAndWrite // a0,a1 passthru
|
||||||
|
lli a3, 0x200
|
||||||
|
WriteString(KS_Newline)
|
||||||
|
|
||||||
|
lw ra, 0x10(sp)
|
||||||
|
jr ra
|
||||||
|
addiu sp, 0x18
|
||||||
|
|
||||||
|
Die:
|
||||||
|
j Die
|
||||||
|
nop
|
||||||
|
|
||||||
include "lzss.baku.unsafe.asm"
|
include "lzss.baku.unsafe.asm"
|
||||||
include "dlist.asm"
|
include "dlist.asm"
|
||||||
include "task.asm"
|
include "task.asm"
|
||||||
|
|
6
task.asm
6
task.asm
|
@ -1,6 +1,6 @@
|
||||||
PushVideoTask:
|
PushVideoTask:
|
||||||
// a0: Task RDRAM Pointer (size: 0x40) (should probably be row-aligned)
|
// a0: Task RDRAM Pointer (size: 0x40) (should probably be row-aligned)
|
||||||
subiu sp, sp, 0x18
|
subiu sp, 0x18
|
||||||
sw ra, 0x10(sp)
|
sw ra, 0x10(sp)
|
||||||
|
|
||||||
lli t0, 1 // mode: video
|
lli t0, 1 // mode: video
|
||||||
|
@ -46,11 +46,11 @@ PushVideoTask:
|
||||||
|
|
||||||
li t9, ADDR_MASK
|
li t9, ADDR_MASK
|
||||||
jal PushRSPTask
|
jal PushRSPTask
|
||||||
and a0, a0, t9
|
and a0, t9
|
||||||
|
|
||||||
lw ra, 0x10(sp)
|
lw ra, 0x10(sp)
|
||||||
jr ra
|
jr ra
|
||||||
addiu sp, sp, 0x18
|
addiu sp, 0x18
|
||||||
|
|
||||||
PushRSPTask:
|
PushRSPTask:
|
||||||
lli t3, 0x40 - 1 // DMA quirk
|
lli t3, 0x40 - 1 // DMA quirk
|
||||||
|
|
Loading…
Add table
Reference in a new issue