GBDK 2020 Docs
API Documentation for GBDK 2020
|
Go to the documentation of this file.
7 #define __GBDK_VERSION 402
28 #define J_SELECT 0x40U
40 #define M_DRAWING 0x01U
41 #define M_TEXT_OUT 0x02U
42 #define M_TEXT_INOUT 0x03U
48 #define M_NO_SCROLL 0x04U
52 #define M_NO_INTERP 0x08U
58 #define S_PALETTE 0x10U
71 #define S_PRIORITY 0x80U
79 #define VBL_IFLAG 0x01U
83 #define LCD_IFLAG 0x02U
87 #define TIM_IFLAG 0x04U
91 #define SIO_IFLAG 0x08U
95 #define JOY_IFLAG 0x10U
100 #define SCREENWIDTH 0xA0U
103 #define SCREENHEIGHT 0x90U
106 #define MINWNDPOSX 0x07U
109 #define MINWNDPOSY 0x00U
112 #define MAXWNDPOSX 0xA6U
115 #define MAXWNDPOSY 0x8FU
288 #define DMG_TYPE 0x01
291 #define MGB_TYPE 0xFF
294 #define CGB_TYPE 0x11
337 #define IO_IDLE 0x00U
339 #define IO_SENDING 0x01U
341 #define IO_RECEIVING 0x02U
343 #define IO_ERROR 0x04U
356 #define SWITCH_ROM_MBC1(b) \
357 _current_bank = (b), *(unsigned char *)0x2000 = (b)
362 #define SWITCH_RAM_MBC1(b) \
363 *(unsigned char *)0x4000 = (b)
367 #define ENABLE_RAM_MBC1 \
368 *(unsigned char *)0x0000 = 0x0A
372 #define DISABLE_RAM_MBC1 \
373 *(unsigned char *)0x0000 = 0x00
375 #define SWITCH_16_8_MODE_MBC1 \
376 *(unsigned char *)0x6000 = 0x00
378 #define SWITCH_4_32_MODE_MBC1 \
379 *(unsigned char *)0x6000 = 0x01
386 #define SWITCH_ROM_MBC5(b) \
387 _current_bank = (b), \
388 *(unsigned char *)0x3000 = 0, \
389 *(unsigned char *)0x2000 = (b)
397 #define SWITCH_ROM_MBC5_8M(b) \
398 *(unsigned char *)0x3000 = ((UINT16)(b) >> 8), \
399 *(unsigned char *)0x2000 = (b)
404 #define SWITCH_RAM_MBC5(b) \
405 *(unsigned char *)0x4000 = (b)
409 #define ENABLE_RAM_MBC5 \
410 *(unsigned char *)0x0000 = 0x0A
414 #define DISABLE_RAM_MBC5 \
415 *(unsigned char *)0x0000 = 0x00
559 #define DISPLAY_OFF \
589 #define SHOW_SPRITES \
595 #define HIDE_SPRITES \
601 #define SPRITES_8x16 \
607 #define SPRITES_8x8 \
629 unsigned char *data)
NONBANKED __preserves_regs(
b,
c);
670 unsigned char *data)
NONBANKED __preserves_regs(
b,
c);
721 unsigned char *tiles)
NONBANKED __preserves_regs(
b,
c);
744 unsigned char *tiles)
NONBANKED __preserves_regs(
b,
c);
795 unsigned char *data)
NONBANKED __preserves_regs(
b,
c);
811 unsigned char *data)
NONBANKED __preserves_regs(
b,
c);
827 unsigned char *data)
NONBANKED __preserves_regs(
b,
c);
856 unsigned char *tiles)
NONBANKED __preserves_regs(
b,
c);
878 unsigned char *tiles)
NONBANKED __preserves_regs(
b,
c);
929 unsigned char *data)
NONBANKED __preserves_regs(
b,
c);
949 unsigned char *data)
NONBANKED __preserves_regs(
b,
c);
966 unsigned char *data)
NONBANKED __preserves_regs(
b,
c);
992 #define DISABLE_OAM_DMA \
997 #define ENABLE_OAM_DMA \
998 _shadow_OAM_base = (UBYTE)((UWORD)&shadow_OAM >> 8)
1113 itm->
y+=
y, itm->
x+=
x;
1140 unsigned char *data,
1157 unsigned char *vram_addr,
1185 unsigned char *vram_addr,
1186 unsigned char *tiles)
NONBANKED __preserves_regs(
b,
c);
1211 unsigned char *tiles,
1212 unsigned char *vram_addr)
NONBANKED __preserves_regs(
b,
c);
unsigned char UINT8
Definition: types.h:21
void reset(void) NONBANKED
void get_bkg_tiles(UINT8 x, UINT8 y, UINT8 w, UINT8 h, unsigned char *tiles) NONBANKED __preserves_regs(b
void display_off(void) NONBANKED __preserves_regs(b
UINT8 tile
Definition: gb.h:977
void hide_sprite(UINT8 nb)
Definition: gb.h:1121
void remove_TIM(int_handler h) NONBANKED
UINT8 y
Definition: gb.h:976
UINT8 joypad(void) NONBANKED __preserves_regs(b
volatile struct OAM_item_t shadow_OAM[]
struct OAM_item_t OAM_item_t
__REG _current_bank
Definition: gb.h:351
unsigned int UINT16
Definition: types.h:27
__REG WY_REG
Definition: hardware.h:53
void scroll_win(INT8 x, INT8 y)
Definition: gb.h:906
void get_tiles(UINT8 x, UINT8 y, UINT8 w, UINT8 h, unsigned char *tiles, unsigned char *vram_addr) NONBANKED __preserves_regs(b
void fill_bkg_rect(UINT8 x, UINT8 y, UINT8 w, UINT8 h, UINT8 tile) NONBANKED __preserves_regs(b
void set_bkg_tiles(UINT8 x, UINT8 y, UINT8 w, UINT8 h, unsigned char *tiles) NONBANKED __preserves_regs(b
void fill_win_rect(UINT8 x, UINT8 y, UINT8 w, UINT8 h, UINT8 tile) NONBANKED __preserves_regs(b
void wait_int_handler(void) NONBANKED
void disable_interrupts(void) NONBANKED __preserves_regs(a
void set_data(unsigned char *vram_addr, unsigned char *data, UINT16 len) NONBANKED __preserves_regs(b
__REG _shadow_OAM_base
Definition: gb.h:988
void get_win_tiles(UINT8 x, UINT8 y, UINT8 w, UINT8 h, unsigned char *tiles) NONBANKED __preserves_regs(b
void set_win_1bit_data(UINT8 first_tile, UINT8 nb_tiles, unsigned char *data) NONBANKED __preserves_regs(b
void remove_LCD(int_handler h) NONBANKED
void remove_JOY(int_handler h) NONBANKED
void waitpadup(void) NONBANKED __preserves_regs(a
void set_interrupts(UINT8 flags) NONBANKED __preserves_regs(b
void mode(UINT8 m) NONBANKED
UINT8 joy3
Definition: gb.h:464
void add_TIM(int_handler h) NONBANKED
void get_data(unsigned char *data, unsigned char *vram_addr, UINT16 len) NONBANKED __preserves_regs(b
void move_sprite(UINT8 nb, UINT8 x, UINT8 y)
Definition: gb.h:1095
#define __REG
Definition: hardware.h:12
void nowait_int_handler(void) NONBANKED
void add_SIO(int_handler h) NONBANKED
UINT8 l
Definition: gb.h:432
UINT8 waitpad(UINT8 mask) NONBANKED __preserves_regs(b
void set_sprite_tile(UINT8 nb, UINT8 tile)
Definition: gb.h:1022
void set_sprite_1bit_data(UINT8 first_tile, UINT8 nb_tiles, unsigned char *data) NONBANKED __preserves_regs(b
void set_bkg_data(UINT8 first_tile, UINT8 nb_tiles, unsigned char *data) NONBANKED __preserves_regs(b
void remove_SIO(int_handler h) NONBANKED
void color(UINT8 forecolor, UINT8 backcolor, UINT8 mode)
UINT8 c
Definition: gb.h:278
UINT8 UBYTE
Definition: types.h:45
void set_win_data(UINT8 first_tile, UINT8 nb_tiles, unsigned char *data) NONBANKED __preserves_regs(b
void set_win_tiles(UINT8 x, UINT8 y, UINT8 w, UINT8 h, unsigned char *tiles) NONBANKED __preserves_regs(b
void enable_interrupts(void) NONBANKED __preserves_regs(a
void e
Definition: gb.h:453
void get_win_data(UINT8 first_tile, UINT8 nb_tiles, unsigned char *data) NONBANKED __preserves_regs(b
void set_tiles(UINT8 x, UINT8 y, UINT8 w, UINT8 h, unsigned char *vram_addr, unsigned char *tiles) NONBANKED __preserves_regs(b
void get_sprite_data(UINT8 first_tile, UINT8 nb_tiles, unsigned char *data) NONBANKED __preserves_regs(b
__REG SCX_REG
Definition: hardware.h:46
void remove_VBL(int_handler h) NONBANKED
void move_win(UINT8 x, UINT8 y)
Definition: gb.h:892
void SET_SHADOW_OAM_ADDRESS(void *address)
Definition: gb.h:1002
UINT8 get_sprite_tile(UINT8 nb)
Definition: gb.h:1033
void(* int_handler)(void) NONBANKED
Definition: gb.h:120
UINT8 prop
Definition: gb.h:978
UINT8 npads
Definition: gb.h:461
void set_bkg_1bit_data(UINT8 first_tile, UINT8 nb_tiles, unsigned char *data, UINT8 color) NONBANKED __preserves_regs(b
void b
Definition: gb.h:453
UINT8 h
Definition: gb.h:432
void set_sprite_data(UINT8 first_tile, UINT8 nb_tiles, unsigned char *data) NONBANKED __preserves_regs(b
void d
Definition: gb.h:453
volatile UINT8 _io_status
UINT8 get_mode(void) NONBANKED __preserves_regs(b
void vmemset(void *s, UINT8 c, size_t n) NONBANKED __preserves_regs(b
#define NONBANKED
Definition: types.h:11
void init_bkg(UINT8 c) NONBANKED __preserves_regs(b
void add_VBL(int_handler h) NONBANKED
void scroll_sprite(UINT8 nb, INT8 x, INT8 y)
Definition: gb.h:1111
void get_bkg_data(UINT8 first_tile, UINT8 nb_tiles, unsigned char *data) NONBANKED __preserves_regs(b
void set_sprite_prop(UINT8 nb, UINT8 prop)
Definition: gb.h:1068
void init_win(UINT8 c) NONBANKED __preserves_regs(b
void scroll_bkg(INT8 x, INT8 y)
Definition: gb.h:774
void add_JOY(int_handler h) NONBANKED
UINT16 UWORD
Definition: types.h:49
UINT8 x
Definition: gb.h:976
void delay(UINT16 d) NONBANKED
void hiramcpy(UINT8 dst, const void *src, UINT8 n) NONBANKED __preserves_regs(b
void wait_vbl_done(void) NONBANKED __preserves_regs(b
void joypad_ex(joypads_t *joypads)
__REG WX_REG
Definition: hardware.h:54
UINT8 get_sprite_prop(UINT8 nb)
Definition: gb.h:1078
signed char INT8
Definition: types.h:18
void move_bkg(UINT8 x, UINT8 y)
Definition: gb.h:760
UINT8 joypad_init(UINT8 npads, joypads_t *joypads)
void add_LCD(int_handler h) NONBANKED
__REG SCY_REG
Definition: hardware.h:45