add QFT-draw.s
This commit is contained in:
parent
408e468f91
commit
62cd98deb6
2 changed files with 98 additions and 0 deletions
5
src/QFT-draw.ld
Normal file
5
src/QFT-draw.ld
Normal file
|
@ -0,0 +1,5 @@
|
|||
$$ = 0;
|
||||
/* $C2$.drawQFT = drawWater - 0x2c8; */
|
||||
$C2$.drawQFT = drawWater - 0x20;
|
||||
|
||||
drawText = 0x817f0238;
|
93
src/QFT-draw.s
Normal file
93
src/QFT-draw.s
Normal file
|
@ -0,0 +1,93 @@
|
|||
.include "./addrs.s"
|
||||
|
||||
/**
|
||||
* 817F0110 (x, y)
|
||||
* 817F0114 fontSize
|
||||
* 817F0118 colorTop
|
||||
* 817F011C colorBot
|
||||
* 817F0120 bgColor
|
||||
*/
|
||||
|
||||
.drawQFT:
|
||||
## fill rect
|
||||
lis r3, 0x817F
|
||||
ori r4, r3, 0x120
|
||||
addi r3, r3, 0x94
|
||||
lis r12, fill_rect@ha
|
||||
la r12, fill_rect@l(r12)
|
||||
mtlr r12
|
||||
blrl
|
||||
## load time
|
||||
lis r3, 0x817F
|
||||
lbz r4, 0xB2(r3)
|
||||
### r8 = stopped time
|
||||
lwz r8, 0xB4(r3)
|
||||
cmpwi r4, 0
|
||||
### if not stopped
|
||||
bne+ .loadTime.done
|
||||
lwz r4, 0xBC(r3)
|
||||
cmpwi r4, 0
|
||||
### if not freezed
|
||||
bne+ .updateFreezeCounter
|
||||
### r8 = current time
|
||||
lwz r8, gpMarDirector$r13(r13)
|
||||
lwz r8, 0x5C(r8)
|
||||
b .cumulateTime
|
||||
|
||||
.updateFreezeCounter:
|
||||
subi r4, r4, 0x1
|
||||
stw r4, 0xBC(r3)
|
||||
### r8 = freezed time
|
||||
lwz r8, 0xB8(r3)
|
||||
|
||||
.cumulateTime:
|
||||
### r8 += cumulated time
|
||||
lwz r0, 0xB4(r3)
|
||||
add r8, r8, r0
|
||||
|
||||
.loadTime.done:
|
||||
.capTimer:
|
||||
lis r7, 0xA
|
||||
ori r7, r7, 0xF9B0
|
||||
cmpw r7, r8
|
||||
bge+ .capTimer.done
|
||||
mr r8, r7
|
||||
stb r7, 0xB2(r3)
|
||||
stw r7, 0xB4(r3)
|
||||
|
||||
.capTimer.done:
|
||||
/**
|
||||
* r3 = &opt = 817F0110
|
||||
* r4 = &fmt = 817F00A4
|
||||
* r5 = m
|
||||
* r6 = s
|
||||
* r7 = ms
|
||||
*/
|
||||
.drawText:
|
||||
mulli r8, r8, 1001
|
||||
li r0, 120
|
||||
divwu r8, r8, r0
|
||||
li r0, 1000
|
||||
divwu r9, r8, r0
|
||||
mullw r0, r9, r0
|
||||
sub r7, r8, r0 # ms
|
||||
li r0, 60
|
||||
divwu r5, r9, r0 # m
|
||||
mullw r0, r5, r0
|
||||
sub r6, r9, r0 # s
|
||||
lis r12, drawText@h
|
||||
ori r12, r12, drawText@l
|
||||
mtlr r12
|
||||
addi r4, r3, 0xA4
|
||||
addi r3, r3, 0x110
|
||||
blrl
|
||||
|
||||
.restore.setup2D:
|
||||
addi r3, r1, ctxSpOff
|
||||
lis r12, setup2D@ha
|
||||
la r12, setup2D@l(r12)
|
||||
mtlr r12
|
||||
blrl
|
||||
|
||||
.done:
|
||||
#lbz r0, 0x46(r31)
|
Loading…
Reference in a new issue