gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
commit b96ad9e01e9731047e702174c0dfcd141df19e69 parent af8d0559704aea78096b565e61d8225c6f744284 Author: Toxa <untoxa@mail.ru> Date: Mon, 1 May 2023 13:36:14 +0300 EXAMPLES: improve lcd_isr_wobble example Diffstat:
| M | gbdk-lib/examples/ap/lcd_isr_wobble/lcd_isr_wobble.c | 11 | ++++++----- |
| M | gbdk-lib/examples/gb/lcd_isr_wobble/Makefile | 2 | +- |
| M | gbdk-lib/examples/gb/lcd_isr_wobble/lcd_isr_wobble.c | 11 | ++++++----- |
3 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/gbdk-lib/examples/ap/lcd_isr_wobble/lcd_isr_wobble.c b/gbdk-lib/examples/ap/lcd_isr_wobble/lcd_isr_wobble.c @@ -8,7 +8,7 @@ const uint8_t scanline_offsets_tbl[] = {0, 1, 2, 3, 3, 2, 1, 0, 0, 1, 2, 3, 3, 2 const uint8_t * scanline_offsets = scanline_offsets_tbl; void scanline_isr() { - SCX_REG = scanline_offsets[LY_REG & (uint8_t)7]; + SCX_REG = scanline_offsets[(uint8_t)(LY_REG & 0x07u)]; } @@ -16,13 +16,14 @@ void main() { printf("This is\na wobble\ntest\nfor DMG\n|\n|\n|\n|\n|"); CRITICAL { - STAT_REG = STATF_MODE01 | STATF_MODE00; + STAT_REG = STATF_MODE00; add_LCD(scanline_isr); + add_LCD(nowait_int_handler); } - set_interrupts(VBL_IFLAG | LCD_IFLAG); + set_interrupts(IE_REG | LCD_IFLAG); - while (1) { + while (TRUE) { vsync(); - scanline_offsets = &scanline_offsets_tbl[(uint8_t)(sys_time >> 2) & 0x07u]; + scanline_offsets = scanline_offsets_tbl + ((sys_time >> 2) & 0x07u); } } diff --git a/gbdk-lib/examples/gb/lcd_isr_wobble/Makefile b/gbdk-lib/examples/gb/lcd_isr_wobble/Makefile @@ -1,4 +1,4 @@ -CC = ../../../bin/lcc -Wa-l -Wl-m -Wl-j +CC = ../../../bin/lcc -Wl-j -Wm-yS BINS = lcd_isr_wobble.gb diff --git a/gbdk-lib/examples/gb/lcd_isr_wobble/lcd_isr_wobble.c b/gbdk-lib/examples/gb/lcd_isr_wobble/lcd_isr_wobble.c @@ -8,7 +8,7 @@ const uint8_t scanline_offsets_tbl[] = {0, 1, 2, 3, 3, 2, 1, 0, 0, 1, 2, 3, 3, 2 const uint8_t * scanline_offsets = scanline_offsets_tbl; void scanline_isr() { - SCX_REG = scanline_offsets[LY_REG & (uint8_t)7]; + SCX_REG = scanline_offsets[(uint8_t)(LY_REG & 0x07u)]; } @@ -16,13 +16,14 @@ void main() { printf("This is\na wobble\ntest\nfor DMG\n|\n|\n|\n|\n|"); CRITICAL { - STAT_REG = STATF_MODE01 | STATF_MODE00; + STAT_REG = STATF_MODE00; add_LCD(scanline_isr); + add_LCD(nowait_int_handler); } - set_interrupts(VBL_IFLAG | LCD_IFLAG); + set_interrupts(IE_REG | LCD_IFLAG); - while (1) { + while (TRUE) { vsync(); - scanline_offsets = &scanline_offsets_tbl[(uint8_t)(sys_time >> 2) & 0x07u]; + scanline_offsets = scanline_offsets_tbl + ((sys_time >> 2) & 0x07u); } }
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.