summaryrefslogtreecommitdiff
path: root/berry_fix
diff options
context:
space:
mode:
Diffstat (limited to 'berry_fix')
-rw-r--r--berry_fix/asm/loader.s2
-rw-r--r--berry_fix/payload/include/gba/m4a_internal.h34
-rw-r--r--berry_fix/payload/src/flash.c2
3 files changed, 19 insertions, 19 deletions
diff --git a/berry_fix/asm/loader.s b/berry_fix/asm/loader.s
index 24eb2df55..a78014078 100644
--- a/berry_fix/asm/loader.s
+++ b/berry_fix/asm/loader.s
@@ -109,7 +109,7 @@ _1a0:
strh r1, [r0, 0xa] @ SIOMLT_SEND
ldr r0, =_data_2f0
ldr r1, =gCode
- svc 0x11 << 16
+ swi 0x11 << 16
ldr lr, =gCode
bx lr
.pool
diff --git a/berry_fix/payload/include/gba/m4a_internal.h b/berry_fix/payload/include/gba/m4a_internal.h
index 494d31f93..339a0774e 100644
--- a/berry_fix/payload/include/gba/m4a_internal.h
+++ b/berry_fix/payload/include/gba/m4a_internal.h
@@ -100,12 +100,12 @@ struct CgbChannel
u8 le;
u8 sw;
u32 fr;
- u32 *wp;
- u32 *cp;
- void *tp;
- void *pp;
- void *np;
- u32 d4[2];
+ u32 wp;
+ u32 cp;
+ u32 tp;
+ u32 pp;
+ u32 np;
+ u8 d4[8];
};
struct MusicPlayerTrack;
@@ -138,10 +138,10 @@ struct SoundChannel
u32 fw;
u32 freq;
struct WaveData *wav;
- s8 *cp;
+ u32 cp;
struct MusicPlayerTrack *track;
- void *pp;
- void *np;
+ u32 pp;
+ u32 np;
u32 d4;
u16 xpi;
u16 xpc;
@@ -172,11 +172,11 @@ struct SoundInfo
u8 pcmDmaPeriod; // number of V-blanks per PCM DMA
u8 maxLines;
u8 gap[3];
- u32 pcmSamplesPerVBlank;
- u32 pcmFreq;
- u32 divFreq;
+ s32 pcmSamplesPerVBlank;
+ s32 pcmFreq;
+ s32 divFreq;
struct CgbChannel *cgbChans;
- void (*func)();
+ u32 func;
u32 intp;
void (*CgbSound)(void);
void (*CgbOscOff)(u8);
@@ -184,7 +184,7 @@ struct SoundInfo
u32 MPlayJumpTable;
u32 plynote;
u32 ExtVolPit;
- u32 gap2[4];
+ u8 gap2[16];
struct SoundChannel chans[MAX_DIRECTSOUND_CHANNELS];
s8 pcmBuffer[PCM_DMA_BUF_SIZE * 2];
};
@@ -248,7 +248,7 @@ struct MusicPlayerTrack
u8 key;
u8 velocity;
u8 runningStatus;
- s8 keyM;
+ u8 keyM;
u8 pitM;
s8 keyShift;
s8 keyShiftX;
@@ -312,7 +312,7 @@ struct MusicPlayerInfo
struct MusicPlayerTrack *tracks;
struct ToneData *tone;
u32 ident;
- void (*func)();
+ u32 func;
u32 intp;
};
@@ -447,7 +447,7 @@ void ply_tune(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
void ply_port(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
void ply_xcmd(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
void ply_endtie(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_note(u8, struct MusicPlayerInfo *, struct MusicPlayerTrack *);
+void ply_note(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
// extended sound command handler functions
void ply_xxx(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
diff --git a/berry_fix/payload/src/flash.c b/berry_fix/payload/src/flash.c
index 499a1f971..1f09d0b8f 100644
--- a/berry_fix/payload/src/flash.c
+++ b/berry_fix/payload/src/flash.c
@@ -296,7 +296,7 @@ u8 HandleWriteSectorNBytes(u8 sectorNum, u8 *data, u16 size)
u8 TryWriteSector(u8 sectorNum, u8 *data)
{
- if (ProgramFlashSectorAndVerify(sectorNum, data)) // is damaged?
+ if (ProgramFlashSectorAndVerify(sectorNum, data) != 0) // is damaged?
{
SetSectorDamagedStatus(SECTOR_DAMAGED, sectorNum); // set damaged sector bits.
return SAVE_STATUS_ERROR;