From cf7ffa568a2a09c761bae6aa4c70b8d8913c3e81 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Tue, 9 Jan 2018 23:37:26 -0600 Subject: rename unknown_task to scanline_effect --- include/scanline_effect.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 include/scanline_effect.h (limited to 'include/scanline_effect.h') diff --git a/include/scanline_effect.h b/include/scanline_effect.h new file mode 100644 index 000000000..011e5f5b5 --- /dev/null +++ b/include/scanline_effect.h @@ -0,0 +1,42 @@ +#ifndef GUARD_UNKNOWN_TASK_H +#define GUARD_UNKNOWN_TASK_H + +struct UnknownTaskStruct +{ + volatile void *dest; + u32 control; + u8 unk8; + u8 unk9; +}; + +struct UnknownTaskStruct2 +{ + void *src[2]; + volatile void *dest; + u32 unkC; + void (*unk10)(void); + u8 srcBank; + u8 unk15; + u8 unk16; + u8 unk17; + u8 taskId; + u8 filler19[0x7]; +}; + +extern struct UnknownTaskStruct2 gUnknown_03004DC0; + +extern u16 gUnknown_03004DE0[][0x3C0]; + +void remove_some_task(void); +void remove_some_task(void); +void dp12_8087EA4(void); +void dp12_8087EA4(void); +//void sub_80895F8(u32 i, u32 i1, u32 i2); +//void sub_80895F8(); +void sub_80895F8(struct UnknownTaskStruct unk); +void sub_8089668(void); +void sub_8089668(); +//void sub_8089944(int i, int i1, int i2, int i3, int i4, int i5, int i6); +u8 sub_8089944(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7); + +#endif // GUARD_UNKNOWN_TASK_H -- cgit v1.2.3 From f9f0e84b70f1b313200acd6f0d180413e34517da Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Tue, 9 Jan 2018 23:55:03 -0600 Subject: label some scanline_effect functions --- include/scanline_effect.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'include/scanline_effect.h') diff --git a/include/scanline_effect.h b/include/scanline_effect.h index 011e5f5b5..b28973eb3 100644 --- a/include/scanline_effect.h +++ b/include/scanline_effect.h @@ -1,5 +1,5 @@ -#ifndef GUARD_UNKNOWN_TASK_H -#define GUARD_UNKNOWN_TASK_H +#ifndef GUARD_SCANLINE_EFFECT_H +#define GUARD_SCANLINE_EFFECT_H struct UnknownTaskStruct { @@ -9,7 +9,7 @@ struct UnknownTaskStruct u8 unk9; }; -struct UnknownTaskStruct2 +struct ScanlineEffect { void *src[2]; volatile void *dest; @@ -23,20 +23,20 @@ struct UnknownTaskStruct2 u8 filler19[0x7]; }; -extern struct UnknownTaskStruct2 gUnknown_03004DC0; +extern struct ScanlineEffect gScanlineEffect; extern u16 gUnknown_03004DE0[][0x3C0]; -void remove_some_task(void); -void remove_some_task(void); +void ScanlineEffect_Stop(void); +void ScanlineEffect_Stop(void); void dp12_8087EA4(void); void dp12_8087EA4(void); //void sub_80895F8(u32 i, u32 i1, u32 i2); //void sub_80895F8(); void sub_80895F8(struct UnknownTaskStruct unk); -void sub_8089668(void); -void sub_8089668(); -//void sub_8089944(int i, int i1, int i2, int i3, int i4, int i5, int i6); -u8 sub_8089944(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7); +void ScanlineEffect_TransferDma(void); +void ScanlineEffect_TransferDma(); +//void ScanlineEffect_InitWave(int i, int i1, int i2, int i3, int i4, int i5, int i6); +u8 ScanlineEffect_InitWave(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7); -#endif // GUARD_UNKNOWN_TASK_H +#endif // GUARD_SCANLINE_EFFECT_H -- cgit v1.2.3 From beac14a9a0ab072186fa99afcfcc0d844b77a68d Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Wed, 10 Jan 2018 12:12:55 -0600 Subject: label more of scanline_effect.c --- include/scanline_effect.h | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'include/scanline_effect.h') diff --git a/include/scanline_effect.h b/include/scanline_effect.h index b28973eb3..242b35448 100644 --- a/include/scanline_effect.h +++ b/include/scanline_effect.h @@ -1,10 +1,13 @@ #ifndef GUARD_SCANLINE_EFFECT_H #define GUARD_SCANLINE_EFFECT_H -struct UnknownTaskStruct +// DMA control value to ransfer a single 16-bit value at HBlank +#define SCANLINE_EFFECT_DMACNT_16BIT (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_SRC_INC | DMA_DEST_INC | DMA_16BIT | DMA_DEST_RELOAD) << 16) | 1) + +struct ScanlineEffectParams { - volatile void *dest; - u32 control; + volatile void *dmaDest; + u32 dmaControl; u8 unk8; u8 unk9; }; @@ -12,9 +15,9 @@ struct UnknownTaskStruct struct ScanlineEffect { void *src[2]; - volatile void *dest; - u32 unkC; - void (*unk10)(void); + volatile void *dmaDest; + u32 dmaControl; + void (*setFirstScanlineReg)(void); u8 srcBank; u8 unk15; u8 unk16; @@ -25,17 +28,17 @@ struct ScanlineEffect extern struct ScanlineEffect gScanlineEffect; -extern u16 gUnknown_03004DE0[][0x3C0]; +extern u16 gScanlineEffectRegBuffers[][0x3C0]; void ScanlineEffect_Stop(void); void ScanlineEffect_Stop(void); void dp12_8087EA4(void); void dp12_8087EA4(void); -//void sub_80895F8(u32 i, u32 i1, u32 i2); -//void sub_80895F8(); -void sub_80895F8(struct UnknownTaskStruct unk); -void ScanlineEffect_TransferDma(void); -void ScanlineEffect_TransferDma(); +//void ScanlineEffect_SetParams(u32 i, u32 i1, u32 i2); +//void ScanlineEffect_SetParams(); +void ScanlineEffect_SetParams(struct ScanlineEffectParams unk); +void ScanlineEffect_InitHBlankDmaTransfer(void); +void ScanlineEffect_InitHBlankDmaTransfer(); //void ScanlineEffect_InitWave(int i, int i1, int i2, int i3, int i4, int i5, int i6); u8 ScanlineEffect_InitWave(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7); -- cgit v1.2.3 From bb2c758e8fa730b2bd19b92119a2bd7e37af57f8 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Wed, 10 Jan 2018 13:18:31 -0600 Subject: finish labeling scanline_effect.c --- include/scanline_effect.h | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) (limited to 'include/scanline_effect.h') diff --git a/include/scanline_effect.h b/include/scanline_effect.h index 242b35448..314a856fa 100644 --- a/include/scanline_effect.h +++ b/include/scanline_effect.h @@ -4,25 +4,34 @@ // DMA control value to ransfer a single 16-bit value at HBlank #define SCANLINE_EFFECT_DMACNT_16BIT (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_SRC_INC | DMA_DEST_INC | DMA_16BIT | DMA_DEST_RELOAD) << 16) | 1) +#define SCANLINE_EFFECT_REG_BG0HOFS (REG_ADDR_BG0HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG0VOFS (REG_ADDR_BG0VOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG1HOFS (REG_ADDR_BG1HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG1VOFS (REG_ADDR_BG1VOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG2HOFS (REG_ADDR_BG2HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG2VOFS (REG_ADDR_BG2VOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG3HOFS (REG_ADDR_BG3HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG3VOFS (REG_ADDR_BG3VOFS - REG_ADDR_BG0HOFS) + struct ScanlineEffectParams { volatile void *dmaDest; u32 dmaControl; - u8 unk8; - u8 unk9; + u8 initState; + u8 unused9; }; struct ScanlineEffect { - void *src[2]; + void *dmaSrcBuffers[2]; volatile void *dmaDest; u32 dmaControl; void (*setFirstScanlineReg)(void); - u8 srcBank; - u8 unk15; - u8 unk16; - u8 unk17; - u8 taskId; + u8 srcBuffer; + u8 state; + u8 unused16; + u8 unused17; + u8 waveTaskId; u8 filler19[0x7]; }; @@ -31,15 +40,9 @@ extern struct ScanlineEffect gScanlineEffect; extern u16 gScanlineEffectRegBuffers[][0x3C0]; void ScanlineEffect_Stop(void); -void ScanlineEffect_Stop(void); -void dp12_8087EA4(void); -void dp12_8087EA4(void); -//void ScanlineEffect_SetParams(u32 i, u32 i1, u32 i2); -//void ScanlineEffect_SetParams(); -void ScanlineEffect_SetParams(struct ScanlineEffectParams unk); +void ScanlineEffect_Clear(void); +void ScanlineEffect_SetParams(struct ScanlineEffectParams); void ScanlineEffect_InitHBlankDmaTransfer(void); -void ScanlineEffect_InitHBlankDmaTransfer(); -//void ScanlineEffect_InitWave(int i, int i1, int i2, int i3, int i4, int i5, int i6); -u8 ScanlineEffect_InitWave(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7); +u8 ScanlineEffect_InitWave(u8 startLine, u8 endLine, u8 frequency, u8 amplitude, u8 delayInterval, u8 regOffset, bool8 a7); #endif // GUARD_SCANLINE_EFFECT_H -- cgit v1.2.3