36 lines
775 B
PHP
36 lines
775 B
PHP
#include "SynthCore.h"
|
|
#include "Player.h"
|
|
#include "AsmCommon.h"
|
|
|
|
.section .text
|
|
|
|
// if (player->decoder.status == STATUS_DECODING)
|
|
// player->decoder.currentTick++;
|
|
// if (player->synthesizer.decayGenTick < 200)
|
|
// player->synthesizer.decayGenTick += 1;
|
|
|
|
UpdateTick:
|
|
ptrSoundUnit .req r0
|
|
ptrScoreDecoder .req r1
|
|
ldr r5,=#pStatus
|
|
add r5,r5,ptrScoreDecoder
|
|
ldr r5,[r5]
|
|
cmp r5,#constSTATUS_DECODING
|
|
bne currentTickUpdateEnd
|
|
ldr r5,=#pCurrentTick
|
|
add r5,r5,ptrScoreDecoder
|
|
ldr r6,[r5]
|
|
adds r6,r6,#1
|
|
str r6,[r5]
|
|
currentTickUpdateEnd:
|
|
|
|
ldr r5,=#pDecayGenTick
|
|
add r5,r5,ptrSoundUnit
|
|
ldr r6,[r5]
|
|
ldr r4,=#DECAY_TIME_FACTOR
|
|
cmp r6,r4
|
|
bhs updateDecayGenTickEnd //bhs Branch if Same or Higher (Unsigned)
|
|
adds r6,r6,#1
|
|
str r6,[r5]
|
|
updateDecayGenTickEnd:
|