From 67ea254871134d850e013ee72bd4275b40e8091b Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Fri, 3 Nov 2017 19:09:40 -0400 Subject: BG_CHAR_ADDR and BG_SCREEN_ADDR recast fixes --- include/gba/defines.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/gba') diff --git a/include/gba/defines.h b/include/gba/defines.h index 0f7f06755..2a0e6f7d8 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -29,8 +29,8 @@ #define BG_VRAM VRAM #define BG_VRAM_SIZE 0x10000 -#define BG_CHAR_ADDR(n) (BG_VRAM + (0x4000 * (n))) -#define BG_SCREEN_ADDR(n) (BG_VRAM + (0x800 * (n))) +#define BG_CHAR_ADDR(n) (void *)(BG_VRAM + (0x4000 * (n))) +#define BG_SCREEN_ADDR(n) (void *)(BG_VRAM + (0x800 * (n))) // text-mode BG #define OBJ_VRAM0 (VRAM + 0x10000) -- cgit v1.2.3 From 581bab1360d5544101b52c0b7616e7fb16ed8a5d Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sat, 4 Nov 2017 20:24:50 -0400 Subject: more fixes --- include/gba/defines.h | 5 +++-- include/gba/flash_internal.h | 10 +++++----- 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'include/gba') diff --git a/include/gba/defines.h b/include/gba/defines.h index 2a0e6f7d8..7fd429d9e 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -31,13 +31,14 @@ #define BG_VRAM_SIZE 0x10000 #define BG_CHAR_ADDR(n) (void *)(BG_VRAM + (0x4000 * (n))) #define BG_SCREEN_ADDR(n) (void *)(BG_VRAM + (0x800 * (n))) +#define BG_TILE_ADDR(n) (void *)(BG_VRAM + (0x80 * (n))) // text-mode BG -#define OBJ_VRAM0 (VRAM + 0x10000) +#define OBJ_VRAM0 (void *)(VRAM + 0x10000) #define OBJ_VRAM0_SIZE 0x8000 // bitmap-mode BG -#define OBJ_VRAM1 (VRAM + 0x14000) +#define OBJ_VRAM1 (void *)(VRAM + 0x14000) #define OBJ_VRAM1_SIZE 0x4000 #define OAM 0x7000000 diff --git a/include/gba/flash_internal.h b/include/gba/flash_internal.h index cbcfb5466..39e14ef73 100644 --- a/include/gba/flash_internal.h +++ b/include/gba/flash_internal.h @@ -35,7 +35,7 @@ struct FlashType { struct FlashSetupInfo { u16 (*programFlashByte)(u16, u32, u8); - u16 (*programFlashSector)(u16, u8 *); + u16 (*programFlashSector)(u16, void *); u16 (*eraseFlashChip)(void); u16 (*eraseFlashSector)(u16); u16 (*WaitForFlashWrite)(u8, u8 *, u8); @@ -46,7 +46,7 @@ struct FlashSetupInfo extern u16 gFlashNumRemainingBytes; extern u16 (*ProgramFlashByte)(u16, u32, u8); -extern u16 (*ProgramFlashSector)(u16, u8 *); +extern u16 (*ProgramFlashSector)(u16, void *); extern u16 (*EraseFlashChip)(void); extern u16 (*EraseFlashSector)(u16); extern u16 (*WaitForFlashWrite)(u8, u8 *, u8); @@ -67,15 +67,15 @@ void SetReadFlash1(u16 *dest); void StopFlashTimer(void); u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void)); u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src); -void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size); -u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, u8 *src, u32 n); +void ReadFlash(u16 sectorNum, u32 offset, void *dest, u32 size); +u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, void *dataSrc, u32 n); u16 WaitForFlashWrite_Common(u8 phase, u8 *addr, u8 lastData); u16 EraseFlashChip_MX(void); u16 EraseFlashSector_MX(u16 sectorNum); u16 ProgramFlashByte_MX(u16 sectorNum, u32 offset, u8 data); -u16 ProgramFlashSector_MX(u16 sectorNum, u8 *src); +u16 ProgramFlashSector_MX(u16 sectorNum, void *src); // agb_flash_1m u16 IdentifyFlash(void); -- cgit v1.2.3 From 37418d05c404aec70745e238796c11b464da33ef Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Sat, 25 Nov 2017 18:07:24 -0600 Subject: label and decompile more of field_weather_2 --- include/gba/io_reg.h | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'include/gba') diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index d483d4ddc..6dbe5e8ed 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -539,7 +539,28 @@ #define BGCNT_AFF1024x1024 0xC000 // BLDCNT - +// Bits 0-5 select layers for the 1st target +#define BLDCNT_TGT1_BG0 (1 << 0) +#define BLDCNT_TGT1_BG1 (1 << 1) +#define BLDCNT_TGT1_BG2 (1 << 2) +#define BLDCNT_TGT1_BG3 (1 << 3) +#define BLDCNT_TGT1_OBJ (1 << 4) +#define BLDCNT_TGT1_BD (1 << 5) +// Bits 6-7 select the special effect +#define BLDCNT_EFFECT_NONE (0 << 6) // no special effect +#define BLDCNT_EFFECT_BLEND (1 << 6) // 1st+2nd targets mixed (controlled by BLDALPHA) +#define BLDCNT_EFFECT_LIGHTEN (2 << 6) // 1st target becomes whiter (controlled by BLDY) +#define BLDCNT_EFFECT_DARKEN (3 << 6) // 1st target becomes blacker (controlled by BLDY) +// Bits 8-13 select layers for the 2nd target +#define BLDCNT_TGT2_BG0 (1 << 8) +#define BLDCNT_TGT2_BG1 (1 << 9) +#define BLDCNT_TGT2_BG2 (1 << 10) +#define BLDCNT_TGT2_BG3 (1 << 11) +#define BLDCNT_TGT2_OBJ (1 << 12) +#define BLDCNT_TGT2_BD (1 << 13) + +// BLDALPHA +#define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1)) // SOUNDCNT_H #define SOUND_CGB_MIX_QUARTER 0x0000 -- cgit v1.2.3 From 00f85341a6d769cc23c4dfbf5fca8ad02835956c Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 25 Nov 2017 14:40:48 -0800 Subject: Mostly done decompiling pokemon_summary_screen --- include/gba/macro.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'include/gba') diff --git a/include/gba/macro.h b/include/gba/macro.h index 1e0254806..a0edf2a49 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -103,6 +103,22 @@ } \ } +#define DmaClearLarge(dmaNum, dest, size, block, bit) \ +{ \ + u32 _size = size; \ + while (1) \ + { \ + DmaFill##bit(dmaNum, 0, dest, (block)); \ + dest += (block); \ + _size -= (block); \ + if (_size <= (block)) \ + { \ + DmaFill##bit(dmaNum, 0, dest, _size); \ + break; \ + } \ + } \ +} + #define DmaCopyLarge16(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 16) #define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32) -- cgit v1.2.3