gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
commit 3e55472fbc5bf61e6567b0503c9bc83659b2e2a0 parent f5848d32fb247a14c48c3e2b13afc81554f7421b Author: Toxa <untoxa@mail.ru> Date: Tue, 1 Feb 2022 16:29:58 +0300 update docs Diffstat:
| M | docs/api/01__getting__started_8md.html | 1 | + |
| M | docs/api/02__links__and__tools_8md.html | 1 | + |
| M | docs/api/03__using__gbdk_8md.html | 1 | + |
| M | docs/api/04__coding__guidelines_8md.html | 1 | + |
| M | docs/api/05__banking__mbcs_8md.html | 1 | + |
| M | docs/api/06__toolchain_8md.html | 1 | + |
| M | docs/api/06b__supported__consoles_8md.html | 1 | + |
| M | docs/api/07__sample__programs_8md.html | 1 | + |
| M | docs/api/08__faq_8md.html | 1 | + |
| M | docs/api/09__migrating__new__versions_8md.html | 1 | + |
| M | docs/api/10__release__notes_8md.html | 1 | + |
| M | docs/api/20__toolchain__settings_8md.html | 1 | + |
| M | docs/api/annotated.html | 1 | + |
| M | docs/api/asm_2gbz80_2stdarg_8h.html | 1 | + |
| M | docs/api/asm_2gbz80_2stdarg_8h_source.html | 1 | + |
| M | docs/api/asm_2gbz80_2string_8h.html | 115 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------- |
| M | docs/api/asm_2gbz80_2string_8h.js | 13 | +++++++------ |
| M | docs/api/asm_2gbz80_2string_8h_source.html | 43 | ++++++++++++++++++++++++------------------- |
| M | docs/api/asm_2gbz80_2types_8h.html | 95 | ++++++++++--------------------------------------------------------------------- |
| M | docs/api/asm_2gbz80_2types_8h.js | 8 | ++------ |
| M | docs/api/asm_2gbz80_2types_8h_source.html | 63 | ++++++++++++++++++++++++++++++++++----------------------------- |
| M | docs/api/asm_2types_8h.html | 73 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| M | docs/api/asm_2types_8h.js | 4 | ++++ |
| M | docs/api/asm_2types_8h_source.html | 163 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
| M | docs/api/asm_2z80_2stdarg_8h.html | 1 | + |
| M | docs/api/asm_2z80_2stdarg_8h_source.html | 1 | + |
| M | docs/api/asm_2z80_2string_8h.html | 79 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------- |
| M | docs/api/asm_2z80_2string_8h.js | 5 | +++-- |
| M | docs/api/asm_2z80_2string_8h_source.html | 43 | ++++++++++++++++++++++++------------------- |
| M | docs/api/asm_2z80_2types_8h.html | 75 | ++++++++++++++++++++++----------------------------------------------------- |
| M | docs/api/asm_2z80_2types_8h.js | 10 | ++++------ |
| M | docs/api/asm_2z80_2types_8h_source.html | 68 | +++++++++++++++++++++++++++++++++++++++++--------------------------- |
| M | docs/api/assert_8h.html | 1 | + |
| M | docs/api/assert_8h_source.html | 1 | + |
| M | docs/api/bcd_8h.html | 3 | ++- |
| M | docs/api/bcd_8h_source.html | 3 | ++- |
| M | docs/api/bgb__emu_8h.html | 225 | ++----------------------------------------------------------------------------- |
| D | docs/api/bgb__emu_8h.js | 11 | ----------- |
| M | docs/api/bgb__emu_8h_source.html | 62 | ++++++++------------------------------------------------------ |
| M | docs/api/cgb_8h.html | 1 | + |
| M | docs/api/cgb_8h_source.html | 3 | ++- |
| M | docs/api/classes.html | 1 | + |
| M | docs/api/console_8h.html | 1 | + |
| M | docs/api/console_8h_source.html | 3 | ++- |
| M | docs/api/crash__handler_8h.html | 1 | + |
| M | docs/api/crash__handler_8h_source.html | 7 | ++++--- |
| M | docs/api/ctype_8h.html | 1 | + |
| M | docs/api/ctype_8h_source.html | 1 | + |
| M | docs/api/dir_287c0c0afb5e0fce0a7974866b95ef94.html | 1 | + |
| M | docs/api/dir_49e56c817e5e54854c35e136979f97ca.html | 1 | + |
| M | docs/api/dir_68ce43fa3f06453c3f79ef8becebb3b2.html | 1 | + |
| M | docs/api/dir_7a84f275fead463a4aefdc90fba00235.html | 1 | + |
| M | docs/api/dir_9a64cddab8e5f6fe5be80d8f39cb6a1f.html | 1 | + |
| M | docs/api/dir_aedcfcf321a7f13aa34b51e3093299b2.html | 1 | + |
| M | docs/api/dir_bdfe001eb73b667f67d57fb851301eb1.html | 3 | +++ |
| M | docs/api/dir_bdfe001eb73b667f67d57fb851301eb1.js | 3 | ++- |
| M | docs/api/dir_ef3b2545113449f8f25e623a543d64e3.html | 1 | + |
| M | docs/api/docs__index_8md.html | 1 | + |
| M | docs/api/docs_coding_guidelines.html | 43 | ++++++++++++++++++++++--------------------- |
| M | docs/api/docs_example_programs.html | 47 | ++++++++++++++++++++++++----------------------- |
| M | docs/api/docs_faq.html | 39 | ++++++++++++++++++++++++++++++++------- |
| M | docs/api/docs_getting_started.html | 88 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------- |
| M | docs/api/docs_links_and_tools.html | 29 | ++++++++++++++++------------- |
| M | docs/api/docs_migrating_versions.html | 35 | ++++++++++++++++++++++------------- |
| M | docs/api/docs_releases.html | 142 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------- |
| M | docs/api/docs_rombanking_mbcs.html | 57 | ++++++++++++++++++++++++++++++++------------------------- |
| M | docs/api/docs_supported_consoles.html | 79 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------- |
| M | docs/api/docs_toolchain.html | 61 | +++++++++++++++++++++++++++++++++++++------------------------ |
| M | docs/api/docs_toolchain_settings.html | 37 | ++++++++++++++++++++----------------- |
| M | docs/api/docs_using_gbdk.html | 42 | ++++++++++++++++++++++-------------------- |
| M | docs/api/drawing_8h.html | 9 | +++++---- |
| M | docs/api/drawing_8h_source.html | 13 | +++++++------ |
| A | docs/api/emu__debug_8h.html | 457 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/api/emu__debug_8h.js | 18 | ++++++++++++++++++ |
| A | docs/api/emu__debug_8h_source.html | 164 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| M | docs/api/far__ptr_8h.html | 1 | + |
| M | docs/api/far__ptr_8h_source.html | 3 | ++- |
| M | docs/api/files.html | 82 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
| M | docs/api/font_8h.html | 1 | + |
| M | docs/api/font_8h_source.html | 3 | ++- |
| M | docs/api/functions.html | 1 | + |
| M | docs/api/functions_vars.html | 1 | + |
| M | docs/api/gb_2gbdecompress_8h.html | 46 | ++++++++++++++++++++++++---------------------- |
| M | docs/api/gb_2gbdecompress_8h.js | 8 | ++++---- |
| M | docs/api/gb_2gbdecompress_8h_source.html | 39 | +++++++++++++++++++++------------------ |
| M | docs/api/gb_2hardware_8h.html | 21 | +++++++++++++++++++-- |
| M | docs/api/gb_2hardware_8h.js | 1 | + |
| M | docs/api/gb_2hardware_8h_source.html | 542 | ++++++++++++++++++++++++++++++++++++++++++------------------------------------- |
| M | docs/api/gb_2metasprites_8h.html | 31 | ++++++++++++++++++------------- |
| M | docs/api/gb_2metasprites_8h.js | 2 | +- |
| M | docs/api/gb_2metasprites_8h_source.html | 152 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
| M | docs/api/gb_8h.html | 943 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------- |
| M | docs/api/gb_8h.js | 96 | +++++++++++++++++++++++++++++++++++++++++++------------------------------------ |
| M | docs/api/gb_8h_source.html | 1171 | +++++++++++++++++++++++++++++++++++++++++-------------------------------------- |
| M | docs/api/gbdk-lib_8h.html | 1 | + |
| M | docs/api/gbdk-lib_8h_source.html | 1 | + |
| M | docs/api/gbdk_2gbdecompress_8h.html | 1 | + |
| M | docs/api/gbdk_2gbdecompress_8h_source.html | 3 | ++- |
| M | docs/api/gbdk_2metasprites_8h.html | 1 | + |
| M | docs/api/gbdk_2metasprites_8h_source.html | 3 | ++- |
| M | docs/api/gbz80_2provides_8h.html | 1 | + |
| M | docs/api/gbz80_2provides_8h_source.html | 1 | + |
| M | docs/api/globals.html | 16 | ++++++++++++++-- |
| M | docs/api/globals_a.html | 21 | ++++++++++++++------- |
| M | docs/api/globals_b.html | 21 | +++++++++++---------- |
| M | docs/api/globals_c.html | 11 | ++++++----- |
| M | docs/api/globals_d.html | 15 | ++++++++------- |
| M | docs/api/globals_defs.html | 1 | + |
| M | docs/api/globals_defs.js | 3 | ++- |
| M | docs/api/globals_defs_a.html | 4 | ++++ |
| M | docs/api/globals_defs_b.html | 27 | +++++++++++++++++---------- |
| M | docs/api/globals_defs_c.html | 5 | +++-- |
| M | docs/api/globals_defs_d.html | 1 | + |
| M | docs/api/globals_defs_e.html | 16 | ++++++++++++++++ |
| M | docs/api/globals_defs_f.html | 7 | ++++--- |
| M | docs/api/globals_defs_g.html | 1 | + |
| M | docs/api/globals_defs_h.html | 1 | + |
| M | docs/api/globals_defs_i.html | 3 | ++- |
| M | docs/api/globals_defs_j.html | 1 | + |
| M | docs/api/globals_defs_k.html | 1 | + |
| M | docs/api/globals_defs_l.html | 1 | + |
| M | docs/api/globals_defs_m.html | 1 | + |
| M | docs/api/globals_defs_n.html | 6 | +++++- |
| M | docs/api/globals_defs_o.html | 1 | + |
| M | docs/api/globals_defs_p.html | 22 | ++++++++++++++++++++++ |
| M | docs/api/globals_defs_r.html | 7 | +++++++ |
| M | docs/api/globals_defs_s.html | 15 | +++++++++++---- |
| M | docs/api/globals_defs_t.html | 7 | ++++--- |
| M | docs/api/globals_defs_u.html | 1 | + |
| M | docs/api/globals_defs_v.html | 1 | + |
| M | docs/api/globals_defs_w.html | 1 | + |
| M | docs/api/globals_defs_x.html | 1 | + |
| A | docs/api/globals_defs_z.html | 106 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| M | docs/api/globals_dup.js | 3 | ++- |
| M | docs/api/globals_e.html | 28 | +++++++++++++++++++++++++--- |
| M | docs/api/globals_f.html | 15 | ++++++++------- |
| M | docs/api/globals_func.html | 1 | + |
| M | docs/api/globals_func_a.html | 18 | +++++++++++------- |
| M | docs/api/globals_func_b.html | 7 | +------ |
| M | docs/api/globals_func_c.html | 3 | ++- |
| M | docs/api/globals_func_d.html | 7 | ++++--- |
| M | docs/api/globals_func_e.html | 9 | ++++++++- |
| M | docs/api/globals_func_f.html | 9 | +++++---- |
| M | docs/api/globals_func_g.html | 37 | +++++++++++++++++++------------------ |
| M | docs/api/globals_func_h.html | 5 | +++-- |
| M | docs/api/globals_func_i.html | 5 | +++-- |
| M | docs/api/globals_func_j.html | 11 | ++++++----- |
| M | docs/api/globals_func_l.html | 1 | + |
| M | docs/api/globals_func_m.html | 14 | +++++++++----- |
| M | docs/api/globals_func_n.html | 1 | + |
| M | docs/api/globals_func_p.html | 1 | + |
| M | docs/api/globals_func_q.html | 1 | + |
| M | docs/api/globals_func_r.html | 15 | ++++++++------- |
| M | docs/api/globals_func_s.html | 93 | +++++++++++++++++++++++++++++++++++++++++++++++-------------------------------- |
| M | docs/api/globals_func_t.html | 1 | + |
| M | docs/api/globals_func_u.html | 1 | + |
| M | docs/api/globals_func_v.html | 7 | ++++--- |
| M | docs/api/globals_func_w.html | 17 | +++++++++-------- |
| M | docs/api/globals_g.html | 37 | +++++++++++++++++++------------------ |
| M | docs/api/globals_h.html | 5 | +++-- |
| M | docs/api/globals_i.html | 15 | ++++++++------- |
| M | docs/api/globals_j.html | 11 | ++++++----- |
| M | docs/api/globals_k.html | 1 | + |
| M | docs/api/globals_l.html | 1 | + |
| M | docs/api/globals_m.html | 24 | ++++++++++++++---------- |
| M | docs/api/globals_n.html | 6 | +++++- |
| M | docs/api/globals_o.html | 1 | + |
| M | docs/api/globals_p.html | 25 | +++++++++++++++++++++++++ |
| M | docs/api/globals_q.html | 1 | + |
| M | docs/api/globals_r.html | 23 | +++++++++++++++-------- |
| M | docs/api/globals_s.html | 135 | ++++++++++++++++++++++++++++++++++++++++++++++--------------------------------- |
| M | docs/api/globals_t.html | 7 | ++++--- |
| M | docs/api/globals_type.html | 7 | ++++--- |
| M | docs/api/globals_u.html | 1 | + |
| M | docs/api/globals_v.html | 7 | ++++--- |
| M | docs/api/globals_vars.html | 15 | +++++++++++++++ |
| M | docs/api/globals_w.html | 17 | +++++++++-------- |
| M | docs/api/globals_x.html | 1 | + |
| A | docs/api/globals_z.html | 106 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| M | docs/api/group__gbdk__fonts.html | 1 | + |
| M | docs/api/incbin_8h.html | 1 | + |
| M | docs/api/incbin_8h_source.html | 1 | + |
| M | docs/api/index.html | 13 | +++++++------ |
| M | docs/api/index.js | 438 | ++++++++++++++++++++++++++++++++++++++++++------------------------------------- |
| M | docs/api/isr_8h.html | 16 | +++++++++------- |
| M | docs/api/isr_8h_source.html | 58 | ++++++++++++++++++++++++++++++---------------------------- |
| M | docs/api/k_2bcd_8h.html | 1 | + |
| M | docs/api/k_2bcd_8h_source.html | 3 | ++- |
| M | docs/api/limits_8h.html | 1 | + |
| M | docs/api/limits_8h_source.html | 1 | + |
| M | docs/api/menudata.js | 6 | ++++-- |
| M | docs/api/modules.html | 1 | + |
| M | docs/api/navtreedata.js | 12 | ++++++------ |
| M | docs/api/navtreeindex0.js | 252 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
| M | docs/api/navtreeindex1.js | 366 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
| M | docs/api/navtreeindex2.js | 500 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
| M | docs/api/navtreeindex3.js | 432 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
| M | docs/api/navtreeindex4.js | 328 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
| M | docs/api/navtreeindex5.js | 232 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
| M | docs/api/navtreeindex6.js | 57 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- |
| M | docs/api/pages.html | 1 | + |
| M | docs/api/platform_8h.html | 1 | + |
| M | docs/api/platform_8h_source.html | 3 | ++- |
| M | docs/api/rand_8h.html | 111 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------- |
| M | docs/api/rand_8h.js | 7 | +++++-- |
| M | docs/api/rand_8h_source.html | 54 | +++++++++++++++++++++++++++++++----------------------- |
| M | docs/api/rledecompress_8h.html | 1 | + |
| M | docs/api/rledecompress_8h_source.html | 11 | +++++++---- |
| M | docs/api/search/all_10.js | 91 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
| M | docs/api/search/all_11.js | 55 | ++++++++++++++++++++++++++++--------------------------- |
| M | docs/api/search/all_12.js | 54 | +++++++++++++++++++++++++++--------------------------- |
| M | docs/api/search/all_13.js | 68 | ++++++++++++++++++++++++++++++++++++++------------------------------ |
| M | docs/api/search/all_14.js | 2 | +- |
| M | docs/api/search/all_15.js | 306 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
| M | docs/api/search/all_16.js | 390 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
| M | docs/api/search/all_17.js | 86 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
| M | docs/api/search/all_18.js | 96 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
| M | docs/api/search/all_19.js | 60 | ++++++++++++++++++++++++++++++------------------------------ |
| M | docs/api/search/all_1a.js | 34 | +++++++++++++++++----------------- |
| M | docs/api/search/all_1b.js | 4 | ++-- |
| M | docs/api/search/all_1c.js | 2 | +- |
| A | docs/api/search/all_1d.html | 36 | ++++++++++++++++++++++++++++++++++++ |
| A | docs/api/search/all_1d.js | 5 | +++++ |
| M | docs/api/search/all_3.js | 71 | +++++++++++++++++++++++++++++++++++++---------------------------------- |
| M | docs/api/search/all_4.js | 98 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
| M | docs/api/search/all_5.js | 62 | +++++++++++++++++++++++++++++++------------------------------- |
| M | docs/api/search/all_6.js | 48 | ++++++++++++++++++++++++------------------------ |
| M | docs/api/search/all_7.js | 76 | ++++++++++++++++++++++++++++++++++++++-------------------------------------- |
| M | docs/api/search/all_8.js | 28 | ++++++++++++++++++---------- |
| M | docs/api/search/all_9.js | 68 | ++++++++++++++++++++++++++++++++++---------------------------------- |
| M | docs/api/search/all_a.js | 80 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
| M | docs/api/search/all_b.js | 36 | ++++++++++++++++++------------------ |
| M | docs/api/search/all_c.js | 152 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
| M | docs/api/search/all_d.js | 76 | ++++++++++++++++++++++++++++++++++++++-------------------------------------- |
| M | docs/api/search/all_e.js | 6 | +++--- |
| M | docs/api/search/all_f.js | 80 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
| M | docs/api/search/classes_0.js | 4 | ++-- |
| M | docs/api/search/classes_1.js | 2 | +- |
| M | docs/api/search/classes_2.js | 4 | ++-- |
| M | docs/api/search/classes_3.js | 2 | +- |
| M | docs/api/search/classes_4.js | 2 | +- |
| M | docs/api/search/classes_5.js | 2 | +- |
| M | docs/api/search/classes_6.js | 2 | +- |
| M | docs/api/search/defines_0.js | 24 | ++++++++++++------------ |
| M | docs/api/search/defines_1.js | 69 | +++++++++++++++++++++++++++++++++++---------------------------------- |
| M | docs/api/search/defines_10.js | 29 | ++++++++++++++++++----------- |
| M | docs/api/search/defines_11.js | 262 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
| M | docs/api/search/defines_12.js | 214 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
| M | docs/api/search/defines_13.js | 60 | ++++++++++++++++++++++++++++++------------------------------ |
| M | docs/api/search/defines_14.js | 52 | ++++++++++++++++++++++++++-------------------------- |
| M | docs/api/search/defines_15.js | 50 | +++++++++++++++++++++++++------------------------- |
| M | docs/api/search/defines_16.js | 10 | +++++----- |
| M | docs/api/search/defines_17.js | 2 | +- |
| A | docs/api/search/defines_18.html | 36 | ++++++++++++++++++++++++++++++++++++ |
| A | docs/api/search/defines_18.js | 5 | +++++ |
| M | docs/api/search/defines_2.js | 32 | +++++++++++++++++--------------- |
| M | docs/api/search/defines_3.js | 16 | ++++++++-------- |
| M | docs/api/search/defines_4.js | 52 | ++++++++++++++++++++++++++-------------------------- |
| M | docs/api/search/defines_5.js | 17 | +++++++++++------ |
| M | docs/api/search/defines_6.js | 24 | ++++++++++++------------ |
| M | docs/api/search/defines_7.js | 12 | ++++++------ |
| M | docs/api/search/defines_8.js | 14 | +++++++------- |
| M | docs/api/search/defines_9.js | 86 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
| M | docs/api/search/defines_a.js | 56 | ++++++++++++++++++++++++++++---------------------------- |
| M | docs/api/search/defines_b.js | 4 | ++-- |
| M | docs/api/search/defines_c.js | 56 | ++++++++++++++++++++++++++++---------------------------- |
| M | docs/api/search/defines_d.js | 58 | +++++++++++++++++++++++++++++----------------------------- |
| M | docs/api/search/defines_e.js | 9 | +++++---- |
| M | docs/api/search/defines_f.js | 40 | ++++++++++++++++++++-------------------- |
| M | docs/api/search/files_0.js | 20 | ++++++++++---------- |
| M | docs/api/search/files_1.js | 2 | +- |
| M | docs/api/search/files_10.js | 15 | ++++++++++++--- |
| M | docs/api/search/files_11.js | 4 | +++- |
| A | docs/api/search/files_12.html | 36 | ++++++++++++++++++++++++++++++++++++ |
| A | docs/api/search/files_12.js | 4 | ++++ |
| M | docs/api/search/files_2.js | 2 | +- |
| M | docs/api/search/files_3.js | 2 | +- |
| M | docs/api/search/files_4.js | 4 | ++-- |
| M | docs/api/search/files_5.js | 8 | ++++---- |
| M | docs/api/search/files_6.js | 4 | ++-- |
| M | docs/api/search/files_7.js | 3 | +-- |
| M | docs/api/search/files_8.js | 5 | ++--- |
| M | docs/api/search/files_9.js | 4 | +++- |
| M | docs/api/search/files_a.js | 3 | +-- |
| M | docs/api/search/files_b.js | 3 | ++- |
| M | docs/api/search/files_c.js | 2 | +- |
| M | docs/api/search/files_d.js | 3 | +-- |
| M | docs/api/search/files_e.js | 4 | ++-- |
| M | docs/api/search/files_f.js | 14 | ++------------ |
| M | docs/api/search/functions_0.js | 8 | ++++---- |
| M | docs/api/search/functions_1.js | 23 | ++++++++++++----------- |
| M | docs/api/search/functions_10.js | 28 | ++++++++++++++-------------- |
| M | docs/api/search/functions_11.js | 122 | +++++++++++++++++++++++++++++++++++++++++-------------------------------------- |
| M | docs/api/search/functions_12.js | 8 | ++++---- |
| M | docs/api/search/functions_13.js | 6 | +++--- |
| M | docs/api/search/functions_14.js | 4 | ++-- |
| M | docs/api/search/functions_15.js | 14 | +++++++------- |
| M | docs/api/search/functions_2.js | 12 | +++++------- |
| M | docs/api/search/functions_3.js | 18 | +++++++++--------- |
| M | docs/api/search/functions_4.js | 8 | ++++---- |
| M | docs/api/search/functions_5.js | 6 | ++++-- |
| M | docs/api/search/functions_6.js | 18 | +++++++++--------- |
| M | docs/api/search/functions_7.js | 56 | ++++++++++++++++++++++++++++---------------------------- |
| M | docs/api/search/functions_8.js | 8 | ++++---- |
| M | docs/api/search/functions_9.js | 20 | ++++++++++---------- |
| M | docs/api/search/functions_a.js | 6 | +++--- |
| M | docs/api/search/functions_b.js | 8 | ++++---- |
| M | docs/api/search/functions_c.js | 25 | +++++++++++++------------ |
| M | docs/api/search/functions_d.js | 2 | +- |
| M | docs/api/search/functions_e.js | 14 | +++++++------- |
| M | docs/api/search/functions_f.js | 2 | +- |
| M | docs/api/search/groups_0.js | 2 | +- |
| M | docs/api/search/pages_0.js | 2 | +- |
| M | docs/api/search/pages_1.js | 2 | +- |
| M | docs/api/search/pages_2.js | 2 | +- |
| M | docs/api/search/pages_3.js | 8 | ++++---- |
| M | docs/api/search/pages_4.js | 2 | +- |
| M | docs/api/search/pages_5.js | 2 | +- |
| M | docs/api/search/pages_6.js | 2 | +- |
| M | docs/api/search/pages_7.js | 2 | +- |
| M | docs/api/search/pages_8.js | 4 | ++-- |
| M | docs/api/search/pages_9.js | 2 | +- |
| M | docs/api/search/searchdata.js | 6 | +++--- |
| M | docs/api/search/typedefs_0.js | 6 | +++--- |
| M | docs/api/search/typedefs_1.js | 2 | +- |
| M | docs/api/search/typedefs_2.js | 2 | +- |
| M | docs/api/search/typedefs_3.js | 6 | +++--- |
| M | docs/api/search/typedefs_4.js | 34 | +++++++++++++++++----------------- |
| M | docs/api/search/typedefs_5.js | 2 | +- |
| M | docs/api/search/typedefs_6.js | 2 | +- |
| M | docs/api/search/typedefs_7.js | 4 | ++-- |
| M | docs/api/search/typedefs_8.js | 2 | +- |
| M | docs/api/search/typedefs_9.js | 8 | ++++---- |
| M | docs/api/search/typedefs_a.js | 2 | +- |
| M | docs/api/search/typedefs_b.js | 2 | +- |
| M | docs/api/search/typedefs_c.js | 36 | ++++++++++++++++++------------------ |
| M | docs/api/search/typedefs_d.js | 2 | +- |
| M | docs/api/search/typedefs_e.js | 4 | ++-- |
| M | docs/api/search/variables_0.js | 65 | ++++++++++++++++++++++++++++++++++------------------------------- |
| M | docs/api/search/variables_1.js | 2 | +- |
| M | docs/api/search/variables_10.js | 50 | +++++++++++++++++++++++++------------------------- |
| M | docs/api/search/variables_11.js | 8 | ++++---- |
| M | docs/api/search/variables_12.js | 4 | ++-- |
| M | docs/api/search/variables_13.js | 6 | +++--- |
| M | docs/api/search/variables_14.js | 2 | +- |
| M | docs/api/search/variables_15.js | 2 | +- |
| M | docs/api/search/variables_2.js | 8 | ++++---- |
| M | docs/api/search/variables_3.js | 2 | +- |
| M | docs/api/search/variables_4.js | 12 | ++++++------ |
| M | docs/api/search/variables_5.js | 2 | +- |
| M | docs/api/search/variables_6.js | 20 | ++++++++++---------- |
| M | docs/api/search/variables_7.js | 12 | ++++++------ |
| M | docs/api/search/variables_8.js | 8 | ++++---- |
| M | docs/api/search/variables_9.js | 10 | +++++----- |
| M | docs/api/search/variables_a.js | 2 | +- |
| M | docs/api/search/variables_b.js | 8 | ++++---- |
| M | docs/api/search/variables_c.js | 44 | ++++++++++++++++++++++---------------------- |
| M | docs/api/search/variables_d.js | 12 | ++++++------ |
| M | docs/api/search/variables_e.js | 13 | +++++++------ |
| M | docs/api/search/variables_f.js | 10 | +++++----- |
| M | docs/api/setjmp_8h.html | 1 | + |
| M | docs/api/setjmp_8h_source.html | 3 | ++- |
| M | docs/api/sgb_8h.html | 25 | ++++++++++++++++--------- |
| M | docs/api/sgb_8h.js | 4 | ++-- |
| M | docs/api/sgb_8h_source.html | 16 | +++++++++------- |
| M | docs/api/sms_2gbdecompress_8h.html | 14 | ++++++++------ |
| M | docs/api/sms_2gbdecompress_8h.js | 2 | +- |
| M | docs/api/sms_2gbdecompress_8h_source.html | 20 | ++++++++++++-------- |
| M | docs/api/sms_2hardware_8h.html | 97 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| M | docs/api/sms_2hardware_8h.js | 6 | ++++++ |
| M | docs/api/sms_2hardware_8h_source.html | 350 | +++++++++++++++++++++++++++++++++++++++++-------------------------------------- |
| M | docs/api/sms_2metasprites_8h.html | 10 | ++++++---- |
| M | docs/api/sms_2metasprites_8h.js | 2 | +- |
| M | docs/api/sms_2metasprites_8h_source.html | 87 | ++++++++++++++++++++++++++++++++++++++++++------------------------------------- |
| M | docs/api/sms_8h.html | 698 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------- |
| M | docs/api/sms_8h.js | 80 | ++++++++++++++++++++++++++++++++++++++++++------------------------------------- |
| M | docs/api/sms_8h_source.html | 382 | +++++++++++++++++++++++++++++++++++++++++++------------------------------------ |
| M | docs/api/stdarg_8h.html | 1 | + |
| M | docs/api/stdarg_8h_source.html | 1 | + |
| M | docs/api/stdatomic_8h.html | 1 | + |
| M | docs/api/stdatomic_8h_source.html | 3 | ++- |
| M | docs/api/stdbool_8h.html | 1 | + |
| M | docs/api/stdbool_8h_source.html | 1 | + |
| M | docs/api/stddef_8h.html | 3 | ++- |
| M | docs/api/stddef_8h_source.html | 1 | + |
| M | docs/api/stdint_8h.html | 1 | + |
| M | docs/api/stdint_8h_source.html | 1 | + |
| M | docs/api/stdio_8h.html | 1 | + |
| M | docs/api/stdio_8h_source.html | 3 | ++- |
| M | docs/api/stdlib_8h.html | 29 | +++++++++++++++-------------- |
| M | docs/api/stdlib_8h_source.html | 3 | ++- |
| M | docs/api/stdnoreturn_8h.html | 1 | + |
| M | docs/api/stdnoreturn_8h_source.html | 1 | + |
| M | docs/api/string_8h.html | 1 | + |
| M | docs/api/string_8h_source.html | 1 | + |
| M | docs/api/struct_o_a_m__item__t.html | 1 | + |
| M | docs/api/structatomic__flag.html | 1 | + |
| M | docs/api/structisr__nested__vector__t.html | 1 | + |
| M | docs/api/structisr__vector__t.html | 1 | + |
| M | docs/api/structjoypads__t.html | 3 | ++- |
| M | docs/api/structmetasprite__t.html | 1 | + |
| M | docs/api/structsfont__handle.html | 1 | + |
| M | docs/api/time_8h.html | 19 | ++++++++++--------- |
| M | docs/api/time_8h.js | 2 | +- |
| M | docs/api/time_8h_source.html | 8 | +++++--- |
| M | docs/api/todo.html | 1 | + |
| M | docs/api/typeof_8h.html | 1 | + |
| M | docs/api/typeof_8h_source.html | 1 | + |
| M | docs/api/types_8h.html | 1 | + |
| M | docs/api/types_8h_source.html | 1 | + |
| M | docs/api/union____far__ptr.html | 1 | + |
| M | docs/api/union__fixed.html | 1 | + |
| M | docs/api/version_8h.html | 1 | + |
| M | docs/api/version_8h_source.html | 1 | + |
| M | docs/api/z80_2provides_8h.html | 1 | + |
| M | docs/api/z80_2provides_8h_source.html | 1 | + |
| A | docs/latex/01__getting__started_8md.tex | 2 | ++ |
| A | docs/latex/02__links__and__tools_8md.tex | 2 | ++ |
| A | docs/latex/03__using__gbdk_8md.tex | 2 | ++ |
| A | docs/latex/04__coding__guidelines_8md.tex | 2 | ++ |
| A | docs/latex/05__banking__mbcs_8md.tex | 2 | ++ |
| A | docs/latex/06__toolchain_8md.tex | 2 | ++ |
| A | docs/latex/06b__supported__consoles_8md.tex | 2 | ++ |
| A | docs/latex/07__sample__programs_8md.tex | 2 | ++ |
| A | docs/latex/08__faq_8md.tex | 2 | ++ |
| A | docs/latex/09__migrating__new__versions_8md.tex | 2 | ++ |
| A | docs/latex/10__release__notes_8md.tex | 2 | ++ |
| A | docs/latex/20__toolchain__settings_8md.tex | 2 | ++ |
| A | docs/latex/Makefile | 23 | +++++++++++++++++++++++ |
| A | docs/latex/annotated.tex | 12 | ++++++++++++ |
| A | docs/latex/asm_2gbz80_2stdarg_8h.tex | 46 | ++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/asm_2gbz80_2string_8h.tex | 260 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/asm_2gbz80_2types_8h.tex | 98 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/asm_2types_8h.tex | 183 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/asm_2z80_2stdarg_8h.tex | 46 | ++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/asm_2z80_2string_8h.tex | 242 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/asm_2z80_2types_8h.tex | 105 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/assert_8h.tex | 30 | ++++++++++++++++++++++++++++++ |
| A | docs/latex/bcd_8h.tex | 121 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/bgb__emu_8h.tex | 10 | ++++++++++ |
| A | docs/latex/cgb_8h.tex | 429 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/console_8h.tex | 79 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/crash__handler_8h.tex | 31 | +++++++++++++++++++++++++++++++ |
| A | docs/latex/ctype_8h.tex | 104 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/dir_287c0c0afb5e0fce0a7974866b95ef94.tex | 13 | +++++++++++++ |
| A | docs/latex/dir_49e56c817e5e54854c35e136979f97ca.tex | 7 | +++++++ |
| A | docs/latex/dir_68ce43fa3f06453c3f79ef8becebb3b2.tex | 13 | +++++++++++++ |
| A | docs/latex/dir_7a84f275fead463a4aefdc90fba00235.tex | 13 | +++++++++++++ |
| A | docs/latex/dir_9a64cddab8e5f6fe5be80d8f39cb6a1f.tex | 14 | ++++++++++++++ |
| A | docs/latex/dir_aedcfcf321a7f13aa34b51e3093299b2.tex | 27 | +++++++++++++++++++++++++++ |
| A | docs/latex/dir_bdfe001eb73b667f67d57fb851301eb1.tex | 29 | +++++++++++++++++++++++++++++ |
| A | docs/latex/dir_ef3b2545113449f8f25e623a543d64e3.tex | 2 | ++ |
| A | docs/latex/docs__index_8md.tex | 2 | ++ |
| A | docs/latex/docs_coding_guidelines.tex | 183 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/docs_example_programs.tex | 64 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/docs_faq.tex | 160 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/docs_getting_started.tex | 109 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/docs_links_and_tools.tex | 191 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/docs_migrating_versions.tex | 102 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/docs_releases.tex | 507 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/docs_rombanking_mbcs.tex | 259 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/docs_supported_consoles.tex | 267 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/docs_toolchain.tex | 311 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/docs_toolchain_settings.tex | 501 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/docs_using_gbdk.tex | 166 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/doxygen.sty | 576 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/drawing_8h.tex | 317 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/emu__debug_8h.tex | 207 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/far__ptr_8h.tex | 194 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/files.tex | 56 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/font_8h.tex | 155 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/gb_2gbdecompress_8h.tex | 118 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/gb_2hardware_8h.tex | 2249 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/gb_2metasprites_8h.tex | 328 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/gb_8h.tex | 2934 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/gbdk-lib_8h.tex | 8 | ++++++++ |
| A | docs/latex/gbdk_2gbdecompress_8h.tex | 3 | +++ |
| A | docs/latex/gbdk_2metasprites_8h.tex | 3 | +++ |
| A | docs/latex/gbz80_2provides_8h.tex | 32 | ++++++++++++++++++++++++++++++++ |
| A | docs/latex/group__gbdk__fonts.tex | 53 | +++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/incbin_8h.tex | 119 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/index.tex | 52 | ++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/isr_8h.tex | 134 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/k_2bcd_8h.tex | 3 | +++ |
| A | docs/latex/limits_8h.tex | 152 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/longtable_doxygen.sty | 448 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/modules.tex | 4 | ++++ |
| A | docs/latex/platform_8h.tex | 5 | +++++ |
| A | docs/latex/rand_8h.tex | 140 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/refman.tex | 319 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/rledecompress_8h.tex | 71 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/setjmp_8h.tex | 92 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/sgb_8h.tex | 275 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/sms_2gbdecompress_8h.tex | 47 | +++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/sms_2hardware_8h.tex | 986 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/sms_2metasprites_8h.tex | 185 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/sms_8h.tex | 1666 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/stdarg_8h.tex | 3 | +++ |
| A | docs/latex/stdatomic_8h.tex | 30 | ++++++++++++++++++++++++++++++ |
| A | docs/latex/stdbool_8h.tex | 40 | ++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/stddef_8h.tex | 78 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/stdint_8h.tex | 590 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/stdio_8h.tex | 98 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/stdlib_8h.tex | 238 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/stdnoreturn_8h.tex | 16 | ++++++++++++++++ |
| A | docs/latex/string_8h.tex | 8 | ++++++++ |
| A | docs/latex/struct_o_a_m__item__t.tex | 63 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/structatomic__flag.tex | 25 | +++++++++++++++++++++++++ |
| A | docs/latex/structisr__nested__vector__t.tex | 33 | +++++++++++++++++++++++++++++++++ |
| A | docs/latex/structisr__vector__t.tex | 33 | +++++++++++++++++++++++++++++++++ |
| A | docs/latex/structjoypads__t.tex | 78 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/structmetasprite__t.tex | 78 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/structsfont__handle.tex | 36 | ++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/tabu_doxygen.sty | 2557 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/time_8h.tex | 80 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/todo.tex | 28 | ++++++++++++++++++++++++++++ |
| A | docs/latex/typeof_8h.tex | 176 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/types_8h.tex | 53 | +++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/union____far__ptr.tex | 74 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/union__fixed.tex | 70 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | docs/latex/version_8h.tex | 16 | ++++++++++++++++ |
| A | docs/latex/z80_2provides_8h.tex | 32 | ++++++++++++++++++++++++++++++++ |
522 files changed, 30642 insertions(+), 6711 deletions(-)
diff --git a/docs/api/01__getting__started_8md.html b/docs/api/01__getting__started_8md.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/02__links__and__tools_8md.html b/docs/api/02__links__and__tools_8md.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/03__using__gbdk_8md.html b/docs/api/03__using__gbdk_8md.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/04__coding__guidelines_8md.html b/docs/api/04__coding__guidelines_8md.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/05__banking__mbcs_8md.html b/docs/api/05__banking__mbcs_8md.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/06__toolchain_8md.html b/docs/api/06__toolchain_8md.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/06b__supported__consoles_8md.html b/docs/api/06b__supported__consoles_8md.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/07__sample__programs_8md.html b/docs/api/07__sample__programs_8md.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/08__faq_8md.html b/docs/api/08__faq_8md.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/09__migrating__new__versions_8md.html b/docs/api/09__migrating__new__versions_8md.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/10__release__notes_8md.html b/docs/api/10__release__notes_8md.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/20__toolchain__settings_8md.html b/docs/api/20__toolchain__settings_8md.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/annotated.html b/docs/api/annotated.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/asm_2gbz80_2stdarg_8h.html b/docs/api/asm_2gbz80_2stdarg_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/asm_2gbz80_2stdarg_8h_source.html b/docs/api/asm_2gbz80_2stdarg_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/asm_2gbz80_2string_8h.html b/docs/api/asm_2gbz80_2string_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -98,28 +99,30 @@ $(document).ready(function(){initNavTree('asm_2gbz80_2string_8h.html',''); initR <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:a8d21cab0520a18493e48dab450288f31"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a8d21cab0520a18493e48dab450288f31">strcpy</a> (char *dest, const char *src) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a8d21cab0520a18493e48dab450288f31"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a125908e664d4b65f55a49c8faf14784b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a125908e664d4b65f55a49c8faf14784b">strcmp</a> (const char *s1, const char *s2) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a125908e664d4b65f55a49c8faf14784b"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a36e8e03da711f0d862ca1d62a001a627"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627">memcpy</a> (void *dest, const void *src, <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> len) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a36e8e03da711f0d862ca1d62a001a627"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a802c986820d3866639922b6bc9484f90"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90">memmove</a> (void *dest, const void *src, <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> n)</td></tr> +<tr class="memitem:ada128b5ed545214bb397d1399615ec9e"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#ada128b5ed545214bb397d1399615ec9e">strcpy</a> (char *dest, const char *src) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:ada128b5ed545214bb397d1399615ec9e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a7172770a053aa1fe0ab46a97ab43a5fa"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a7172770a053aa1fe0ab46a97ab43a5fa">strcmp</a> (const char *s1, const char *s2) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a7172770a053aa1fe0ab46a97ab43a5fa"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6a1a6cbe7fb6102819098340a4986574"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574">memcpy</a> (void *dest, const void *src, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> len) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a6a1a6cbe7fb6102819098340a4986574"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a802c986820d3866639922b6bc9484f90"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90">memmove</a> (void *dest, const void *src, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> n)</td></tr> <tr class="separator:a802c986820d3866639922b6bc9484f90"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:af2fcd4c99b3b490e6db059e741676274"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#af2fcd4c99b3b490e6db059e741676274">memset</a> (void *s, int <a class="el" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> n) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:af2fcd4c99b3b490e6db059e741676274"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a31e56ae6ad0e9bd961633507ec1aef6c"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a31e56ae6ad0e9bd961633507ec1aef6c">reverse</a> (char *s) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a31e56ae6ad0e9bd961633507ec1aef6c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a4bc4146b1a053fc4ec10f1377bb21a4f"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a4bc4146b1a053fc4ec10f1377bb21a4f">memset</a> (void *s, int <a class="el" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> n) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a4bc4146b1a053fc4ec10f1377bb21a4f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a476b2b37367c65c6cb36037bfc16b19f"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a476b2b37367c65c6cb36037bfc16b19f">reverse</a> (char *s) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a476b2b37367c65c6cb36037bfc16b19f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8908188ae9fc2f05d993257ef001d553"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553">strcat</a> (char *s1, const char *s2)</td></tr> <tr class="separator:a8908188ae9fc2f05d993257ef001d553"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a2db4b83fd1a2889db33d4e0798d33fe2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a2db4b83fd1a2889db33d4e0798d33fe2">strlen</a> (const char *s) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a2db4b83fd1a2889db33d4e0798d33fe2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5e4982e9d2fd4ec328abfda6b1a3f7e5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a5e4982e9d2fd4ec328abfda6b1a3f7e5">strlen</a> (const char *s) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a5e4982e9d2fd4ec328abfda6b1a3f7e5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af70714f788819be9dbf368a969be23f7"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#af70714f788819be9dbf368a969be23f7">strncat</a> (char *s1, const char *s2, int n)</td></tr> <tr class="separator:af70714f788819be9dbf368a969be23f7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab745ed93c0024648f33dc1d553e9fdcc"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc">strncmp</a> (const char *s1, const char *s2, int n)</td></tr> <tr class="separator:ab745ed93c0024648f33dc1d553e9fdcc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a21ae87d60fcc456369668093c57db61f"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f">strncpy</a> (char *s1, const char *s2, int n)</td></tr> <tr class="separator:a21ae87d60fcc456369668093c57db61f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a52701f453c97403ec1b12d286484259b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2string_8h.html#a52701f453c97403ec1b12d286484259b">memcmp</a> (const void *buf1, const void *buf2, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> count) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> +<tr class="separator:a52701f453c97403ec1b12d286484259b"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> @@ -129,8 +132,8 @@ Variables</h2></td></tr> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Generic string functions. </p> </div><h2 class="groupheader">Function Documentation</h2> -<a id="a8d21cab0520a18493e48dab450288f31"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a8d21cab0520a18493e48dab450288f31">◆ </a></span>strcpy()</h2> +<a id="ada128b5ed545214bb397d1399615ec9e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ada128b5ed545214bb397d1399615ec9e">◆ </a></span>strcpy()</h2> <div class="memitem"> <div class="memproto"> @@ -167,8 +170,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a125908e664d4b65f55a49c8faf14784b"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a125908e664d4b65f55a49c8faf14784b">◆ </a></span>strcmp()</h2> +<a id="a7172770a053aa1fe0ab46a97ab43a5fa"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a7172770a053aa1fe0ab46a97ab43a5fa">◆ </a></span>strcmp()</h2> <div class="memitem"> <div class="memproto"> @@ -208,8 +211,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a36e8e03da711f0d862ca1d62a001a627"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a36e8e03da711f0d862ca1d62a001a627">◆ </a></span>memcpy()</h2> +<a id="a6a1a6cbe7fb6102819098340a4986574"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6a1a6cbe7fb6102819098340a4986574">◆ </a></span>memcpy()</h2> <div class="memitem"> <div class="memproto"> @@ -229,7 +232,7 @@ Variables</h2></td></tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>len</em> </td> </tr> <tr> @@ -273,7 +276,7 @@ Variables</h2></td></tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>n</em> </td> </tr> <tr> @@ -287,8 +290,8 @@ Variables</h2></td></tr> </div> </div> -<a id="af2fcd4c99b3b490e6db059e741676274"></a> -<h2 class="memtitle"><span class="permalink"><a href="#af2fcd4c99b3b490e6db059e741676274">◆ </a></span>memset()</h2> +<a id="a4bc4146b1a053fc4ec10f1377bb21a4f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a4bc4146b1a053fc4ec10f1377bb21a4f">◆ </a></span>memset()</h2> <div class="memitem"> <div class="memproto"> @@ -308,7 +311,7 @@ Variables</h2></td></tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>n</em> </td> </tr> <tr> @@ -330,8 +333,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a31e56ae6ad0e9bd961633507ec1aef6c"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a31e56ae6ad0e9bd961633507ec1aef6c">◆ </a></span>reverse()</h2> +<a id="a476b2b37367c65c6cb36037bfc16b19f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a476b2b37367c65c6cb36037bfc16b19f">◆ </a></span>reverse()</h2> <div class="memitem"> <div class="memproto"> @@ -397,8 +400,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a2db4b83fd1a2889db33d4e0798d33fe2"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a2db4b83fd1a2889db33d4e0798d33fe2">◆ </a></span>strlen()</h2> +<a id="a5e4982e9d2fd4ec328abfda6b1a3f7e5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a5e4982e9d2fd4ec328abfda6b1a3f7e5">◆ </a></span>strlen()</h2> <div class="memitem"> <div class="memproto"> @@ -499,7 +502,7 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Compare strings (at most n characters):</p> +<p>Compare strings (at most <b>n</b> characters):</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">s1</td><td>First string to compare </td></tr> @@ -508,10 +511,11 @@ Variables</h2></td></tr> </table> </dd> </dl> +<p>Returns zero if the strings are identical, or non-zero if they are not (see below).</p> <p>Returns: </p><ul> -<li>> 0 if <b>s1</b> > <b>s2</b> </li> +<li>> 0 if <b>s1</b> > <b>s2</b> (at first non-matching byte) </li> <li>0 if <b>s1</b> == <b>s2</b> </li> -<li>< 0 if <b>s1</b> < <b>s2</b> </li> +<li>< 0 if <b>s1</b> < <b>s2</b> (at first non-matching byte) </li> </ul> </div> @@ -562,6 +566,55 @@ Variables</h2></td></tr> </div> </div> +<a id="a52701f453c97403ec1b12d286484259b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a52701f453c97403ec1b12d286484259b">◆ </a></span>memcmp()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int memcmp </td> + <td>(</td> + <td class="paramtype">const void * </td> + <td class="paramname"><em>buf1</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const void * </td> + <td class="paramname"><em>buf2</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> + <td class="paramname"><em>count</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Compare up to <b>count</b> bytes in buffers <b>buf1</b> and <b>buf2</b></p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">buf1</td><td>Pointer to First buffer to compare </td></tr> + <tr><td class="paramname">buf2</td><td>Pointer to Second buffer to compare </td></tr> + <tr><td class="paramname">count</td><td>Max number of bytes to compare</td></tr> + </table> + </dd> +</dl> +<p>Returns zero if the buffers are identical, or non-zero if they are not (see below).</p> +<p>Returns: </p><ul> +<li>> 0 if <b>buf1</b> > <b>buf2</b> (at first non-matching byte) </li> +<li>0 if <b>buf1</b> == <b>buf2</b> </li> +<li>< 0 if <b>buf1</b> < <b>buf2</b> (at first non-matching byte) </li> +</ul> + +</div> +</div> <h2 class="groupheader">Variable Documentation</h2> <a id="a0b3366755f3276b0243c1e0497471b7a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0b3366755f3276b0243c1e0497471b7a">◆ </a></span>c</h2> diff --git a/docs/api/asm_2gbz80_2string_8h.js b/docs/api/asm_2gbz80_2string_8h.js @@ -1,15 +1,16 @@ var asm_2gbz80_2string_8h = [ - [ "strcpy", "asm_2gbz80_2string_8h.html#a8d21cab0520a18493e48dab450288f31", null ], - [ "strcmp", "asm_2gbz80_2string_8h.html#a125908e664d4b65f55a49c8faf14784b", null ], - [ "memcpy", "asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627", null ], + [ "strcpy", "asm_2gbz80_2string_8h.html#ada128b5ed545214bb397d1399615ec9e", null ], + [ "strcmp", "asm_2gbz80_2string_8h.html#a7172770a053aa1fe0ab46a97ab43a5fa", null ], + [ "memcpy", "asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574", null ], [ "memmove", "asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90", null ], - [ "memset", "asm_2gbz80_2string_8h.html#af2fcd4c99b3b490e6db059e741676274", null ], - [ "reverse", "asm_2gbz80_2string_8h.html#a31e56ae6ad0e9bd961633507ec1aef6c", null ], + [ "memset", "asm_2gbz80_2string_8h.html#a4bc4146b1a053fc4ec10f1377bb21a4f", null ], + [ "reverse", "asm_2gbz80_2string_8h.html#a476b2b37367c65c6cb36037bfc16b19f", null ], [ "strcat", "asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553", null ], - [ "strlen", "asm_2gbz80_2string_8h.html#a2db4b83fd1a2889db33d4e0798d33fe2", null ], + [ "strlen", "asm_2gbz80_2string_8h.html#a5e4982e9d2fd4ec328abfda6b1a3f7e5", null ], [ "strncat", "asm_2gbz80_2string_8h.html#af70714f788819be9dbf368a969be23f7", null ], [ "strncmp", "asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc", null ], [ "strncpy", "asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f", null ], + [ "memcmp", "asm_2gbz80_2string_8h.html#a52701f453c97403ec1b12d286484259b", null ], [ "c", "asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a", null ] ]; diff --git a/docs/api/asm_2gbz80_2string_8h_source.html b/docs/api/asm_2gbz80_2string_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -95,46 +96,50 @@ $(document).ready(function(){initNavTree('asm_2gbz80_2string_8h_source.html','') <div class="line"><a name="l00006"></a><span class="lineno"> 6</span>  </div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include <<a class="code" href="types_8h.html">types.h</a>></span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span>  </div> -<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a8d21cab0520a18493e48dab450288f31"> 20</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a8d21cab0520a18493e48dab450288f31">strcpy</a>(<span class="keywordtype">char</span> *dest, <span class="keyword">const</span> <span class="keywordtype">char</span> *src) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#ada128b5ed545214bb397d1399615ec9e"> 20</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#ada128b5ed545214bb397d1399615ec9e">strcpy</a>(<span class="keywordtype">char</span> *dest, <span class="keyword">const</span> <span class="keywordtype">char</span> *src) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  </div> -<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a125908e664d4b65f55a49c8faf14784b"> 32</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a125908e664d4b65f55a49c8faf14784b">strcmp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a7172770a053aa1fe0ab46a97ab43a5fa"> 32</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a7172770a053aa1fe0ab46a97ab43a5fa">strcmp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  </div> -<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627"> 42</a></span> <span class="keywordtype">void</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627">memcpy</a>(<span class="keywordtype">void</span> *dest, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <span class="keywordtype">size_t</span> len) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574"> 42</a></span> <span class="keywordtype">void</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574">memcpy</a>(<span class="keywordtype">void</span> *dest, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <span class="keywordtype">size_t</span> len) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  </div> <div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90"> 46</a></span> <span class="keywordtype">void</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90">memmove</a> (<span class="keywordtype">void</span> *dest, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <span class="keywordtype">size_t</span> n);</div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  </div> -<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#af2fcd4c99b3b490e6db059e741676274"> 54</a></span> <span class="keywordtype">void</span> *<a class="code" href="asm_2gbz80_2string_8h.html#af2fcd4c99b3b490e6db059e741676274">memset</a> (<span class="keywordtype">void</span> *s, <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <span class="keywordtype">size_t</span> n) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a4bc4146b1a053fc4ec10f1377bb21a4f"> 54</a></span> <span class="keywordtype">void</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a4bc4146b1a053fc4ec10f1377bb21a4f">memset</a> (<span class="keywordtype">void</span> *s, <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <span class="keywordtype">size_t</span> n) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  </div> -<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a31e56ae6ad0e9bd961633507ec1aef6c"> 66</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a31e56ae6ad0e9bd961633507ec1aef6c">reverse</a>(<span class="keywordtype">char</span> *s) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a476b2b37367c65c6cb36037bfc16b19f"> 66</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a476b2b37367c65c6cb36037bfc16b19f">reverse</a>(<span class="keywordtype">char</span> *s) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  </div> <div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553"> 79</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553">strcat</a>(<span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2);</div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  </div> -<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a2db4b83fd1a2889db33d4e0798d33fe2"> 87</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a2db4b83fd1a2889db33d4e0798d33fe2">strlen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a5e4982e9d2fd4ec328abfda6b1a3f7e5"> 87</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a5e4982e9d2fd4ec328abfda6b1a3f7e5">strlen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  </div> <div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#af70714f788819be9dbf368a969be23f7"> 99</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#af70714f788819be9dbf368a969be23f7">strncat</a>(<span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n);</div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div> -<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc"> 112</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc">strncmp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n);</div> -<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  </div> -<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f"> 129</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f">strncpy</a>(<span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n);</div> -<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  </div> -<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc"> 115</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc">strncmp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n);</div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  </div> +<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f"> 132</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f">strncpy</a>(<span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n);</div> +<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  </div> +<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="asm_2gbz80_2string_8h.html#a52701f453c97403ec1b12d286484259b"> 148</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a52701f453c97403ec1b12d286484259b">memcmp</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *buf1, <span class="keyword">const</span> <span class="keywordtype">void</span> *buf2, <span class="keywordtype">size_t</span> count) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  </div> +<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="aasm_2gbz80_2string_8h_html_a36e8e03da711f0d862ca1d62a001a627"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627">memcpy</a></div><div class="ttdeci">void * memcpy(void *dest, const void *src, size_t len) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_ada128b5ed545214bb397d1399615ec9e"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#ada128b5ed545214bb397d1399615ec9e">strcpy</a></div><div class="ttdeci">char * strcpy(char *dest, const char *src) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="atypes_8h_html"><div class="ttname"><a href="types_8h.html">types.h</a></div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_a476b2b37367c65c6cb36037bfc16b19f"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a476b2b37367c65c6cb36037bfc16b19f">reverse</a></div><div class="ttdeci">char * reverse(char *s) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_a52701f453c97403ec1b12d286484259b"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a52701f453c97403ec1b12d286484259b">memcmp</a></div><div class="ttdeci">int memcmp(const void *buf1, const void *buf2, size_t count) OLDCALL</div></div> <div class="ttc" id="aasm_2gbz80_2string_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">char c</div><div class="ttdef"><b>Definition:</b> string.h:20</div></div> -<div class="ttc" id="aasm_2gbz80_2string_8h_html_a2db4b83fd1a2889db33d4e0798d33fe2"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a2db4b83fd1a2889db33d4e0798d33fe2">strlen</a></div><div class="ttdeci">int strlen(const char *s) OLDCALL __preserves_regs(b</div></div> <div class="ttc" id="aasm_2gbz80_2string_8h_html_af70714f788819be9dbf368a969be23f7"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#af70714f788819be9dbf368a969be23f7">strncat</a></div><div class="ttdeci">char * strncat(char *s1, const char *s2, int n)</div></div> -<div class="ttc" id="aasm_2gbz80_2string_8h_html_a31e56ae6ad0e9bd961633507ec1aef6c"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a31e56ae6ad0e9bd961633507ec1aef6c">reverse</a></div><div class="ttdeci">char * reverse(char *s) OLDCALL __preserves_regs(b</div></div> <div class="ttc" id="aasm_2gbz80_2string_8h_html_a802c986820d3866639922b6bc9484f90"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90">memmove</a></div><div class="ttdeci">void * memmove(void *dest, const void *src, size_t n)</div></div> -<div class="ttc" id="aasm_2gbz80_2string_8h_html_a125908e664d4b65f55a49c8faf14784b"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a125908e664d4b65f55a49c8faf14784b">strcmp</a></div><div class="ttdeci">int strcmp(const char *s1, const char *s2) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_a4bc4146b1a053fc4ec10f1377bb21a4f"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a4bc4146b1a053fc4ec10f1377bb21a4f">memset</a></div><div class="ttdeci">void * memset(void *s, int c, size_t n) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_a6a1a6cbe7fb6102819098340a4986574"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574">memcpy</a></div><div class="ttdeci">void * memcpy(void *dest, const void *src, size_t len) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="aasm_2gbz80_2string_8h_html_ab745ed93c0024648f33dc1d553e9fdcc"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc">strncmp</a></div><div class="ttdeci">int strncmp(const char *s1, const char *s2, int n)</div></div> -<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:585</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:608</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> <div class="ttc" id="aasm_2gbz80_2string_8h_html_a8908188ae9fc2f05d993257ef001d553"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553">strcat</a></div><div class="ttdeci">char * strcat(char *s1, const char *s2)</div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_a7172770a053aa1fe0ab46a97ab43a5fa"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a7172770a053aa1fe0ab46a97ab43a5fa">strcmp</a></div><div class="ttdeci">int strcmp(const char *s1, const char *s2) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="aasm_2gbz80_2string_8h_html_a21ae87d60fcc456369668093c57db61f"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f">strncpy</a></div><div class="ttdeci">char * strncpy(char *s1, const char *s2, int n)</div></div> -<div class="ttc" id="aasm_2gbz80_2string_8h_html_a8d21cab0520a18493e48dab450288f31"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a8d21cab0520a18493e48dab450288f31">strcpy</a></div><div class="ttdeci">char * strcpy(char *dest, const char *src) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="aasm_2gbz80_2string_8h_html_af2fcd4c99b3b490e6db059e741676274"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#af2fcd4c99b3b490e6db059e741676274">memset</a></div><div class="ttdeci">void * memset(void *s, int c, size_t n) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="aasm_2types_8h_html_acb825e83a33fcc06482c59b4ab2cf961"><div class="ttname"><a href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a></div><div class="ttdeci">#define PRESERVES_REGS(...)</div><div class="ttdef"><b>Definition:</b> types.h:29</div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_a5e4982e9d2fd4ec328abfda6b1a3f7e5"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a5e4982e9d2fd4ec328abfda6b1a3f7e5">strlen</a></div><div class="ttdeci">int strlen(const char *s) OLDCALL PRESERVES_REGS(b</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/asm_2gbz80_2types_8h.html b/docs/api/asm_2gbz80_2types_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -97,14 +98,6 @@ $(document).ready(function(){initNavTree('asm_2gbz80_2types_8h.html',''); initRe <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> -<tr class="memitem:a7ed081d8dfb6902784b2fc730bbb7f96"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>   __nonbanked</td></tr> -<tr class="separator:a7ed081d8dfb6902784b2fc730bbb7f96"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aa8480aed89a168ec484727f5ac985cd0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0">BANKED</a>   __banked</td></tr> -<tr class="separator:aa8480aed89a168ec484727f5ac985cd0"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ae0233515480e60d29bcc731469976e02"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a>   __critical</td></tr> -<tr class="separator:ae0233515480e60d29bcc731469976e02"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ac950c0db046e2f86d15e7ae1f558b017"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017">INTERRUPT</a>   __interrupt</td></tr> -<tr class="separator:ac950c0db046e2f86d15e7ae1f558b017"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8de3167f7b52ff5a2f538858cb5e32d3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3">__SIZE_T_DEFINED</a></td></tr> <tr class="separator:a8de3167f7b52ff5a2f538858cb5e32d3"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> @@ -122,79 +115,15 @@ Typedefs</h2></td></tr> <tr class="separator:a516ea33686d40a7f91f5644851ce7b5d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0b39d6d754cb24c708b0f2bdbe88130e"><td class="memItemLeft" align="right" valign="top">typedef unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a></td></tr> <tr class="separator:a0b39d6d754cb24c708b0f2bdbe88130e"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a7619b847aeded8a6d14cbfa212b2cdfb"><td class="memItemLeft" align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a></td></tr> -<tr class="separator:a7619b847aeded8a6d14cbfa212b2cdfb"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ad666a63cb94701b620ce999f84629d23"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">clock_t</a></td></tr> -<tr class="separator:ad666a63cb94701b620ce999f84629d23"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a7c94ea6f8948649f8d181ae55911eeaf"><td class="memItemLeft" align="right" valign="top">typedef unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a></td></tr> +<tr class="separator:a7c94ea6f8948649f8d181ae55911eeaf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aeb756bd89bf86769edbefdef8135109f"><td class="memItemLeft" align="right" valign="top">typedef unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">clock_t</a></td></tr> +<tr class="separator:aeb756bd89bf86769edbefdef8135109f"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p><a class="anchor" id="file_asm_gbz80_types_h"></a>Types definitions for the gb.</p> <p><a class="anchor" id="file_asm_z80_types_h"></a>Types definitions for the gb. </p> </div><h2 class="groupheader">Macro Definition Documentation</h2> -<a id="a7ed081d8dfb6902784b2fc730bbb7f96"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a7ed081d8dfb6902784b2fc730bbb7f96">◆ </a></span>NONBANKED</h2> - -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define NONBANKED   __nonbanked</td> - </tr> - </table> -</div><div class="memdoc"> -<p>Placed in the non-banked lower 16K region (bank 0), regardless of the bank selected by it's source file. </p> - -</div> -</div> -<a id="aa8480aed89a168ec484727f5ac985cd0"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aa8480aed89a168ec484727f5ac985cd0">◆ </a></span>BANKED</h2> - -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define BANKED   __banked</td> - </tr> - </table> -</div><div class="memdoc"> -<p>The function will use banked sdcc calls, and is placed in the bank selected by it's source file (or compiler switches). </p> - -</div> -</div> -<a id="ae0233515480e60d29bcc731469976e02"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ae0233515480e60d29bcc731469976e02">◆ </a></span>CRITICAL</h2> - -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define CRITICAL   __critical</td> - </tr> - </table> -</div><div class="memdoc"> -<p>Use to create a block of of code which should execute with interrupts temporarily turned off.</p> -<p><b>Do not</b> use <a class="el" href="asm_2z80_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> and <a class="el" href="asm_2z80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017">INTERRUPT</a> attributes for a function added via <a class="el" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">add_VBL()</a> (or LCD, etc). The attributes are only required when constructing a bare jump from the interrupt vector itself.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef">enable_interrupts</a>, <a class="el" href="gb_8h.html#a8a71c706c3eb1343196adf77f5825747">disable_interrupts</a> </dd></dl> - -</div> -</div> -<a id="ac950c0db046e2f86d15e7ae1f558b017"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ac950c0db046e2f86d15e7ae1f558b017">◆ </a></span>INTERRUPT</h2> - -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define INTERRUPT   __interrupt</td> - </tr> - </table> -</div><div class="memdoc"> -<p>Indicate to the compiler the function will be used as an interrupt handler.</p> -<p><b>Do not</b> use <a class="el" href="asm_2z80_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> and <a class="el" href="asm_2z80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017">INTERRUPT</a> attributes for a function added via <a class="el" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">add_VBL()</a> (or LCD, etc). The attributes are only required when constructing a bare jump from the interrupt vector itself.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="isr_8h.html#a73769fed9338af86fdb7df35d7b82620">ISR_VECTOR()</a>, <a class="el" href="isr_8h.html#a78f9ef588aaf221023e48899898d566b">ISR_NESTED_VECTOR()</a> </dd></dl> - -</div> -</div> <a id="a8de3167f7b52ff5a2f538858cb5e32d3"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8de3167f7b52ff5a2f538858cb5e32d3">◆ </a></span>__SIZE_T_DEFINED</h2> @@ -300,32 +229,32 @@ Typedefs</h2></td></tr> </div> </div> -<a id="a7619b847aeded8a6d14cbfa212b2cdfb"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a7619b847aeded8a6d14cbfa212b2cdfb">◆ </a></span>size_t</h2> +<a id="a7c94ea6f8948649f8d181ae55911eeaf"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a7c94ea6f8948649f8d181ae55911eeaf">◆ </a></span>size_t</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef int <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a></td> + <td class="memname">typedef unsigned int <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a></td> </tr> </table> </div><div class="memdoc"> </div> </div> -<a id="ad666a63cb94701b620ce999f84629d23"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ad666a63cb94701b620ce999f84629d23">◆ </a></span>clock_t</h2> +<a id="aeb756bd89bf86769edbefdef8135109f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aeb756bd89bf86769edbefdef8135109f">◆ </a></span>clock_t</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef <a class="el" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a> <a class="el" href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">clock_t</a></td> + <td class="memname">typedef unsigned int <a class="el" href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">clock_t</a></td> </tr> </table> </div><div class="memdoc"> -<p>Returned from clock </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="time_8h.html#a9e660b4ddc93c500ce46593917de2bbf">clock</a> </dd></dl> +<p>Returned from clock </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="time_8h.html#acc1f88818af5706d57262377382ae4ac">clock</a> </dd></dl> </div> </div> diff --git a/docs/api/asm_2gbz80_2types_8h.js b/docs/api/asm_2gbz80_2types_8h.js @@ -1,9 +1,5 @@ var asm_2gbz80_2types_8h = [ - [ "NONBANKED", "asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96", null ], - [ "BANKED", "asm_2gbz80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0", null ], - [ "CRITICAL", "asm_2gbz80_2types_8h.html#ae0233515480e60d29bcc731469976e02", null ], - [ "INTERRUPT", "asm_2gbz80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017", null ], [ "__SIZE_T_DEFINED", "asm_2gbz80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3", null ], [ "INT8", "asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d", null ], [ "UINT8", "asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a", null ], @@ -11,6 +7,6 @@ var asm_2gbz80_2types_8h = [ "UINT16", "asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b", null ], [ "INT32", "asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d", null ], [ "UINT32", "asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e", null ], - [ "size_t", "asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb", null ], - [ "clock_t", "asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23", null ] + [ "size_t", "asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf", null ], + [ "clock_t", "asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f", null ] ]; diff --git a/docs/api/asm_2gbz80_2types_8h_source.html b/docs/api/asm_2gbz80_2types_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -97,37 +98,41 @@ $(document).ready(function(){initNavTree('asm_2gbz80_2types_8h_source.html',''); <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor"> #error gbz80 only.</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  </div> -<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96"> 12</a></span> <span class="preprocessor">#define NONBANKED __nonbanked </span></div> -<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0"> 13</a></span> <span class="preprocessor">#define BANKED __banked </span></div> -<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#ae0233515480e60d29bcc731469976e02"> 25</a></span> <span class="preprocessor">#define CRITICAL __critical</span></div> -<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  </div> -<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017"> 36</a></span> <span class="preprocessor">#define INTERRUPT __interrupt</span></div> -<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  </div> -<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d"> 40</a></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> <a class="code" href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a>;</div> -<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a"> 43</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a>;</div> -<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d"> 46</a></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d">INT16</a>;</div> -<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b"> 49</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a>;</div> -<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d"> 52</a></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <a class="code" href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a>;</div> -<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e"> 55</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a>;</div> -<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  </div> -<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#ifndef __SIZE_T_DEFINED</span></div> -<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3"> 58</a></span> <span class="preprocessor">#define __SIZE_T_DEFINED</span></div> -<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb"> 59</a></span> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a>;</div> -<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  </div> -<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23"> 65</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a> <a class="code" href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">clock_t</a>;</div> -<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  </div> -<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifdef __SDCC</span></div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  </div> +<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#define NONBANKED __nonbanked </span></div> +<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#define BANKED __banked </span></div> +<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#define CRITICAL __critical</span></div> +<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  </div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#define INTERRUPT __interrupt</span></div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  </div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  </div> +<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d"> 43</a></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> <a class="code" href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a>;</div> +<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a"> 46</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a>;</div> +<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d"> 49</a></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d">INT16</a>;</div> +<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b"> 52</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a>;</div> +<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d"> 55</a></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <a class="code" href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a>;</div> +<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e"> 58</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a>;</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  </div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#ifndef __SIZE_T_DEFINED</span></div> +<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3"> 61</a></span> <span class="preprocessor">#define __SIZE_T_DEFINED</span></div> +<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf"> 62</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a>;</div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  </div> +<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f"> 68</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">clock_t</a>;</div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  </div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_ab27e9918b538ce9d8ca692479b375b6a"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a></div><div class="ttdeci">unsigned char UINT8</div><div class="ttdef"><b>Definition:</b> types.h:43</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a18f1c7ce6c452edd933189d52294af8d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d">INT16</a></div><div class="ttdeci">signed int INT16</div><div class="ttdef"><b>Definition:</b> types.h:46</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a805c2c164bdd38d72a30c46e84fb568b"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a></div><div class="ttdeci">unsigned int UINT16</div><div class="ttdef"><b>Definition:</b> types.h:49</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a516ea33686d40a7f91f5644851ce7b5d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a></div><div class="ttdeci">signed long INT32</div><div class="ttdef"><b>Definition:</b> types.h:52</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a0b39d6d754cb24c708b0f2bdbe88130e"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a></div><div class="ttdeci">unsigned long UINT32</div><div class="ttdef"><b>Definition:</b> types.h:55</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_ad666a63cb94701b620ce999f84629d23"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">clock_t</a></div><div class="ttdeci">UINT16 clock_t</div><div class="ttdef"><b>Definition:</b> types.h:65</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7619b847aeded8a6d14cbfa212b2cdfb"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a></div><div class="ttdeci">int size_t</div><div class="ttdef"><b>Definition:</b> types.h:59</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7ebe70ceca856797319175e30bcf003d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a></div><div class="ttdeci">signed char INT8</div><div class="ttdef"><b>Definition:</b> types.h:40</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_ab27e9918b538ce9d8ca692479b375b6a"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a></div><div class="ttdeci">unsigned char UINT8</div><div class="ttdef"><b>Definition:</b> types.h:46</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a18f1c7ce6c452edd933189d52294af8d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d">INT16</a></div><div class="ttdeci">signed int INT16</div><div class="ttdef"><b>Definition:</b> types.h:49</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a805c2c164bdd38d72a30c46e84fb568b"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a></div><div class="ttdeci">unsigned int UINT16</div><div class="ttdef"><b>Definition:</b> types.h:52</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a516ea33686d40a7f91f5644851ce7b5d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a></div><div class="ttdeci">signed long INT32</div><div class="ttdef"><b>Definition:</b> types.h:55</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7c94ea6f8948649f8d181ae55911eeaf"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a></div><div class="ttdeci">unsigned int size_t</div><div class="ttdef"><b>Definition:</b> types.h:62</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a0b39d6d754cb24c708b0f2bdbe88130e"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a></div><div class="ttdeci">unsigned long UINT32</div><div class="ttdef"><b>Definition:</b> types.h:58</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7ebe70ceca856797319175e30bcf003d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a></div><div class="ttdeci">signed char INT8</div><div class="ttdef"><b>Definition:</b> types.h:43</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_aeb756bd89bf86769edbefdef8135109f"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">clock_t</a></div><div class="ttdeci">unsigned int clock_t</div><div class="ttdef"><b>Definition:</b> types.h:68</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/asm_2types_8h.html b/docs/api/asm_2types_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -106,6 +107,14 @@ Data Structures</h2></td></tr> Macros</h2></td></tr> <tr class="memitem:a0971918860055db2e50dacea4da8f3bc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:a0971918860055db2e50dacea4da8f3bc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acb825e83a33fcc06482c59b4ab2cf961"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(...)</td></tr> +<tr class="separator:acb825e83a33fcc06482c59b4ab2cf961"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a7a18c4884994b9b520ae535b6d9579d3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2types_8h.html#a7a18c4884994b9b520ae535b6d9579d3">NAKED</a></td></tr> +<tr class="separator:a7a18c4884994b9b520ae535b6d9579d3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:afb3731986211fded0a874086c98ffcc4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a></td></tr> +<tr class="separator:afb3731986211fded0a874086c98ffcc4"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a66d3e9555a86fa871932c5f60834c67e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(A)</td></tr> +<tr class="separator:a66d3e9555a86fa871932c5f60834c67e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7ed081d8dfb6902784b2fc730bbb7f96"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> <tr class="separator:a7ed081d8dfb6902784b2fc730bbb7f96"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa8480aed89a168ec484727f5ac985cd0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0">BANKED</a></td></tr> @@ -155,6 +164,70 @@ Typedefs</h2></td></tr> </div> </div> +<a id="acb825e83a33fcc06482c59b4ab2cf961"></a> +<h2 class="memtitle"><span class="permalink"><a href="#acb825e83a33fcc06482c59b4ab2cf961">◆ </a></span>PRESERVES_REGS</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define PRESERVES_REGS</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="a7a18c4884994b9b520ae535b6d9579d3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a7a18c4884994b9b520ae535b6d9579d3">◆ </a></span>NAKED</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define NAKED</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="afb3731986211fded0a874086c98ffcc4"></a> +<h2 class="memtitle"><span class="permalink"><a href="#afb3731986211fded0a874086c98ffcc4">◆ </a></span>SFR</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define SFR</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="a66d3e9555a86fa871932c5f60834c67e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a66d3e9555a86fa871932c5f60834c67e">◆ </a></span>AT</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define AT</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">A</td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> <a id="a7ed081d8dfb6902784b2fc730bbb7f96"></a> <h2 class="memtitle"><span class="permalink"><a href="#a7ed081d8dfb6902784b2fc730bbb7f96">◆ </a></span>NONBANKED</h2> diff --git a/docs/api/asm_2types_8h.js b/docs/api/asm_2types_8h.js @@ -2,6 +2,10 @@ var asm_2types_8h = [ [ "_fixed", "union__fixed.html", "union__fixed" ], [ "OLDCALL", "asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc", null ], + [ "PRESERVES_REGS", "asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961", null ], + [ "NAKED", "asm_2types_8h.html#a7a18c4884994b9b520ae535b6d9579d3", null ], + [ "SFR", "asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4", null ], + [ "AT", "asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e", null ], [ "NONBANKED", "asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96", null ], [ "BANKED", "asm_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0", null ], [ "CRITICAL", "asm_2types_8h.html#ae0233515480e60d29bcc731469976e02", null ], diff --git a/docs/api/asm_2types_8h_source.html b/docs/api/asm_2types_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -93,96 +94,96 @@ $(document).ready(function(){initNavTree('asm_2types_8h_source.html',''); initRe <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#ifndef ASM_TYPES_INCLUDE</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#define ASM_TYPES_INCLUDE</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span>  </div> -<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#ifdef __PORT_gbz80</span></div> -<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor"> #include <<a class="code" href="asm_2gbz80_2types_8h.html">asm/gbz80/types.h</a>></span></div> -<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#else</span></div> -<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor"> #ifdef __PORT_z80</span></div> -<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor"> #include <<a class="code" href="asm_2z80_2types_8h.html">asm/z80/types.h</a>></span></div> -<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor"> #else</span></div> -<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor"> #error Unrecognised port</span></div> -<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor"> #endif</span></div> -<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  </div> -<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#ifndef OLDCALL</span></div> -<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#if __SDCC_REVISION >= 12608</span></div> -<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#define OLDCALL __sdcccall(0)</span></div> -<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#else</span></div> -<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc"> 21</a></span> <span class="preprocessor">#define OLDCALL</span></div> -<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  </div> -<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#ifndef NONBANKED</span></div> -<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96"> 26</a></span> <span class="preprocessor">#define NONBANKED</span></div> -<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef BANKED</span></div> -<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0"> 29</a></span> <span class="preprocessor">#define BANKED</span></div> -<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifndef CRITICAL</span></div> -<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02"> 32</a></span> <span class="preprocessor">#define CRITICAL</span></div> +<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#if defined(__PORT_gbz80)</span></div> +<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include <<a class="code" href="asm_2gbz80_2types_8h.html">asm/gbz80/types.h</a>></span></div> +<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#elif defined(__PORT_z80)</span></div> +<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include <<a class="code" href="asm_2z80_2types_8h.html">asm/z80/types.h</a>></span></div> +<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#else</span></div> +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#error Unrecognised port</span></div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  </div> +<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#ifndef OLDCALL</span></div> +<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#if __SDCC_REVISION >= 12608</span></div> +<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#define OLDCALL __sdcccall(0)</span></div> +<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#else</span></div> +<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc"> 19</a></span> <span class="preprocessor">#define OLDCALL</span></div> +<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  </div> +<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#ifdef __SDCC</span></div> +<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#define PRESERVES_REGS(...) __preserves_regs(__VA_ARGS__)</span></div> +<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#define NAKED __naked</span></div> +<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#define SFR __sfr</span></div> +<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#define AT(A) __at(A)</span></div> +<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#else</span></div> +<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961"> 29</a></span> <span class="preprocessor">#define PRESERVES_REGS(...)</span></div> +<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a7a18c4884994b9b520ae535b6d9579d3"> 30</a></span> <span class="preprocessor">#define NAKED</span></div> +<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4"> 31</a></span> <span class="preprocessor">#define SFR</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e"> 32</a></span> <span class="preprocessor">#define AT(A)</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#ifndef INTERRUPT</span></div> -<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017"> 35</a></span> <span class="preprocessor">#define INTERRUPT</span></div> -<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  </div> -<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a5e2fb030036b42012a298e24aca66071"> 41</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a> <a class="code" href="asm_2types_8h.html#a5e2fb030036b42012a298e24aca66071">BOOLEAN</a>;</div> -<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  </div> -<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#if BYTE_IS_UNSIGNED</span></div> -<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  </div> -<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> <a class="code" href="asm_2types_8h.html#a0059ccf0a32e1f146ef70ce970908bf6">BYTE</a>;</div> -<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a> <a class="code" href="asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd">WORD</a>;</div> -<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a> <a class="code" href="asm_2types_8h.html#ad4ab93994d05960e2f96e83b4c45c1cf">DWORD</a>;</div> -<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  </div> -<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#else</span></div> -<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  </div> -<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a0059ccf0a32e1f146ef70ce970908bf6"> 53</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a> <a class="code" href="asm_2types_8h.html#a0059ccf0a32e1f146ef70ce970908bf6">BYTE</a>;</div> -<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95"> 56</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a>;</div> -<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd"> 58</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d">INT16</a> <a class="code" href="asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd">WORD</a>;</div> -<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75"> 60</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a> <a class="code" href="asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75">UWORD</a>;</div> -<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a6c3850eca7373a470eb6e5a7c6278215"> 62</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a> <a class="code" href="asm_2types_8h.html#a6c3850eca7373a470eb6e5a7c6278215">LWORD</a>;</div> -<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a91374712e986ede0145415318d88fbd8"> 64</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a> <a class="code" href="asm_2types_8h.html#a91374712e986ede0145415318d88fbd8">ULWORD</a>;</div> -<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#ad4ab93994d05960e2f96e83b4c45c1cf"> 66</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a> <a class="code" href="asm_2types_8h.html#ad4ab93994d05960e2f96e83b4c45c1cf">DWORD</a>;</div> -<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a332730c89876a91d3c98a6c9a764e23e"> 68</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a> <a class="code" href="asm_2types_8h.html#a332730c89876a91d3c98a6c9a764e23e">UDWORD</a>;</div> -<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  </div> -<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="union__fixed.html"> 76</a></span> <span class="keyword">typedef</span> <span class="keyword">union </span><a class="code" href="union__fixed.html">_fixed</a> {</div> -<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keyword">struct </span>{</div> -<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="union__fixed.html#ac44ac5f62ed7369c444b6f13d9e1d9bc"> 78</a></span>  <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="union__fixed.html#ac44ac5f62ed7369c444b6f13d9e1d9bc">l</a>;</div> -<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="union__fixed.html#acd5ac56a5ed6650d5797e89b278a972f"> 79</a></span>  <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="union__fixed.html#acd5ac56a5ed6650d5797e89b278a972f">h</a>;</div> -<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  };</div> -<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keyword">struct </span>{</div> -<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="union__fixed.html#ac44ac5f62ed7369c444b6f13d9e1d9bc">l</a>;</div> -<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="union__fixed.html#acd5ac56a5ed6650d5797e89b278a972f">h</a>;</div> -<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="union__fixed.html#ac0efdf5ee7302ad64dbc51cabc3659d3"> 84</a></span>  } <a class="code" href="union__fixed.html#ac0efdf5ee7302ad64dbc51cabc3659d3">b</a>;</div> -<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="union__fixed.html#ab16f9fd51f817308d109b9b35866f310"> 85</a></span>  <a class="code" href="asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75">UWORD</a> <a class="code" href="union__fixed.html#ab16f9fd51f817308d109b9b35866f310">w</a>;</div> -<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#ab61f8ff6a444351a91fc9a67c8e6145f"> 86</a></span> } <a class="code" href="asm_2types_8h.html#ab61f8ff6a444351a91fc9a67c8e6145f">fixed</a>;</div> -<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  </div> -<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  </div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#ifndef NONBANKED</span></div> +<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96"> 36</a></span> <span class="preprocessor">#define NONBANKED</span></div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#ifndef BANKED</span></div> +<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0"> 39</a></span> <span class="preprocessor">#define BANKED</span></div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#ifndef CRITICAL</span></div> +<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02"> 42</a></span> <span class="preprocessor">#define CRITICAL</span></div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#ifndef INTERRUPT</span></div> +<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017"> 45</a></span> <span class="preprocessor">#define INTERRUPT</span></div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  </div> +<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a5e2fb030036b42012a298e24aca66071"> 51</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a> <a class="code" href="asm_2types_8h.html#a5e2fb030036b42012a298e24aca66071">BOOLEAN</a>;</div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  </div> +<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a0059ccf0a32e1f146ef70ce970908bf6"> 55</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a> <a class="code" href="asm_2types_8h.html#a0059ccf0a32e1f146ef70ce970908bf6">BYTE</a>;</div> +<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95"> 58</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a>;</div> +<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd"> 60</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d">INT16</a> <a class="code" href="asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd">WORD</a>;</div> +<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75"> 62</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a> <a class="code" href="asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75">UWORD</a>;</div> +<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a6c3850eca7373a470eb6e5a7c6278215"> 64</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a> <a class="code" href="asm_2types_8h.html#a6c3850eca7373a470eb6e5a7c6278215">LWORD</a>;</div> +<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a91374712e986ede0145415318d88fbd8"> 66</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a> <a class="code" href="asm_2types_8h.html#a91374712e986ede0145415318d88fbd8">ULWORD</a>;</div> +<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#ad4ab93994d05960e2f96e83b4c45c1cf"> 68</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a> <a class="code" href="asm_2types_8h.html#ad4ab93994d05960e2f96e83b4c45c1cf">DWORD</a>;</div> +<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#a332730c89876a91d3c98a6c9a764e23e"> 70</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a> <a class="code" href="asm_2types_8h.html#a332730c89876a91d3c98a6c9a764e23e">UDWORD</a>;</div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  </div> +<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="union__fixed.html"> 78</a></span> <span class="keyword">typedef</span> <span class="keyword">union </span><a class="code" href="union__fixed.html">_fixed</a> {</div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">struct </span>{</div> +<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="union__fixed.html#ac44ac5f62ed7369c444b6f13d9e1d9bc"> 80</a></span>  <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="union__fixed.html#ac44ac5f62ed7369c444b6f13d9e1d9bc">l</a>;</div> +<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="union__fixed.html#acd5ac56a5ed6650d5797e89b278a972f"> 81</a></span>  <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="union__fixed.html#acd5ac56a5ed6650d5797e89b278a972f">h</a>;</div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  };</div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">struct </span>{</div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="union__fixed.html#ac44ac5f62ed7369c444b6f13d9e1d9bc">l</a>;</div> +<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="union__fixed.html#acd5ac56a5ed6650d5797e89b278a972f">h</a>;</div> +<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="union__fixed.html#ac0efdf5ee7302ad64dbc51cabc3659d3"> 86</a></span>  } <a class="code" href="union__fixed.html#ac0efdf5ee7302ad64dbc51cabc3659d3">b</a>;</div> +<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="union__fixed.html#ab16f9fd51f817308d109b9b35866f310"> 87</a></span>  <a class="code" href="asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75">UWORD</a> <a class="code" href="union__fixed.html#ab16f9fd51f817308d109b9b35866f310">w</a>;</div> +<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="asm_2types_8h.html#ab61f8ff6a444351a91fc9a67c8e6145f"> 88</a></span> } <a class="code" href="asm_2types_8h.html#ab61f8ff6a444351a91fc9a67c8e6145f">fixed</a>;</div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  </div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_ab27e9918b538ce9d8ca692479b375b6a"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a></div><div class="ttdeci">unsigned char UINT8</div><div class="ttdef"><b>Definition:</b> types.h:43</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a18f1c7ce6c452edd933189d52294af8d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d">INT16</a></div><div class="ttdeci">signed int INT16</div><div class="ttdef"><b>Definition:</b> types.h:46</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a805c2c164bdd38d72a30c46e84fb568b"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a></div><div class="ttdeci">unsigned int UINT16</div><div class="ttdef"><b>Definition:</b> types.h:49</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_ab27e9918b538ce9d8ca692479b375b6a"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a></div><div class="ttdeci">unsigned char UINT8</div><div class="ttdef"><b>Definition:</b> types.h:46</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a18f1c7ce6c452edd933189d52294af8d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d">INT16</a></div><div class="ttdeci">signed int INT16</div><div class="ttdef"><b>Definition:</b> types.h:49</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a805c2c164bdd38d72a30c46e84fb568b"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a></div><div class="ttdeci">unsigned int UINT16</div><div class="ttdef"><b>Definition:</b> types.h:52</div></div> <div class="ttc" id="aasm_2types_8h_html_ab61f8ff6a444351a91fc9a67c8e6145f"><div class="ttname"><a href="asm_2types_8h.html#ab61f8ff6a444351a91fc9a67c8e6145f">fixed</a></div><div class="ttdeci">union _fixed fixed</div></div> -<div class="ttc" id="aasm_2types_8h_html_ad4ab93994d05960e2f96e83b4c45c1cf"><div class="ttname"><a href="asm_2types_8h.html#ad4ab93994d05960e2f96e83b4c45c1cf">DWORD</a></div><div class="ttdeci">INT32 DWORD</div><div class="ttdef"><b>Definition:</b> types.h:66</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0059ccf0a32e1f146ef70ce970908bf6"><div class="ttname"><a href="asm_2types_8h.html#a0059ccf0a32e1f146ef70ce970908bf6">BYTE</a></div><div class="ttdeci">INT8 BYTE</div><div class="ttdef"><b>Definition:</b> types.h:53</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a516ea33686d40a7f91f5644851ce7b5d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a></div><div class="ttdeci">signed long INT32</div><div class="ttdef"><b>Definition:</b> types.h:52</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a0b39d6d754cb24c708b0f2bdbe88130e"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a></div><div class="ttdeci">unsigned long UINT32</div><div class="ttdef"><b>Definition:</b> types.h:55</div></div> -<div class="ttc" id="aasm_2types_8h_html_a91374712e986ede0145415318d88fbd8"><div class="ttname"><a href="asm_2types_8h.html#a91374712e986ede0145415318d88fbd8">ULWORD</a></div><div class="ttdeci">UINT32 ULWORD</div><div class="ttdef"><b>Definition:</b> types.h:64</div></div> +<div class="ttc" id="aasm_2types_8h_html_ad4ab93994d05960e2f96e83b4c45c1cf"><div class="ttname"><a href="asm_2types_8h.html#ad4ab93994d05960e2f96e83b4c45c1cf">DWORD</a></div><div class="ttdeci">INT32 DWORD</div><div class="ttdef"><b>Definition:</b> types.h:68</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0059ccf0a32e1f146ef70ce970908bf6"><div class="ttname"><a href="asm_2types_8h.html#a0059ccf0a32e1f146ef70ce970908bf6">BYTE</a></div><div class="ttdeci">INT8 BYTE</div><div class="ttdef"><b>Definition:</b> types.h:55</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a516ea33686d40a7f91f5644851ce7b5d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a></div><div class="ttdeci">signed long INT32</div><div class="ttdef"><b>Definition:</b> types.h:55</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a0b39d6d754cb24c708b0f2bdbe88130e"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a></div><div class="ttdeci">unsigned long UINT32</div><div class="ttdef"><b>Definition:</b> types.h:58</div></div> +<div class="ttc" id="aasm_2types_8h_html_a91374712e986ede0145415318d88fbd8"><div class="ttname"><a href="asm_2types_8h.html#a91374712e986ede0145415318d88fbd8">ULWORD</a></div><div class="ttdeci">UINT32 ULWORD</div><div class="ttdef"><b>Definition:</b> types.h:66</div></div> <div class="ttc" id="aasm_2gbz80_2types_8h_html"><div class="ttname"><a href="asm_2gbz80_2types_8h.html">types.h</a></div></div> -<div class="ttc" id="aunion__fixed_html_ab16f9fd51f817308d109b9b35866f310"><div class="ttname"><a href="union__fixed.html#ab16f9fd51f817308d109b9b35866f310">_fixed::w</a></div><div class="ttdeci">UWORD w</div><div class="ttdef"><b>Definition:</b> types.h:85</div></div> +<div class="ttc" id="aunion__fixed_html_ab16f9fd51f817308d109b9b35866f310"><div class="ttname"><a href="union__fixed.html#ab16f9fd51f817308d109b9b35866f310">_fixed::w</a></div><div class="ttdeci">UWORD w</div><div class="ttdef"><b>Definition:</b> types.h:87</div></div> <div class="ttc" id="aasm_2z80_2types_8h_html"><div class="ttname"><a href="asm_2z80_2types_8h.html">types.h</a></div></div> -<div class="ttc" id="aasm_2types_8h_html_a280213815420791851f7e59bdc8a3c95"><div class="ttname"><a href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a></div><div class="ttdeci">UINT8 UBYTE</div><div class="ttdef"><b>Definition:</b> types.h:56</div></div> -<div class="ttc" id="aasm_2types_8h_html_a332730c89876a91d3c98a6c9a764e23e"><div class="ttname"><a href="asm_2types_8h.html#a332730c89876a91d3c98a6c9a764e23e">UDWORD</a></div><div class="ttdeci">UINT32 UDWORD</div><div class="ttdef"><b>Definition:</b> types.h:68</div></div> -<div class="ttc" id="aasm_2types_8h_html_ac1b71367b1b0eae6718d17b4fd07aecd"><div class="ttname"><a href="asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd">WORD</a></div><div class="ttdeci">INT16 WORD</div><div class="ttdef"><b>Definition:</b> types.h:58</div></div> -<div class="ttc" id="aunion__fixed_html_ac44ac5f62ed7369c444b6f13d9e1d9bc"><div class="ttname"><a href="union__fixed.html#ac44ac5f62ed7369c444b6f13d9e1d9bc">_fixed::l</a></div><div class="ttdeci">UBYTE l</div><div class="ttdef"><b>Definition:</b> types.h:78</div></div> -<div class="ttc" id="aasm_2types_8h_html_a5e2fb030036b42012a298e24aca66071"><div class="ttname"><a href="asm_2types_8h.html#a5e2fb030036b42012a298e24aca66071">BOOLEAN</a></div><div class="ttdeci">INT8 BOOLEAN</div><div class="ttdef"><b>Definition:</b> types.h:41</div></div> -<div class="ttc" id="aunion__fixed_html_acd5ac56a5ed6650d5797e89b278a972f"><div class="ttname"><a href="union__fixed.html#acd5ac56a5ed6650d5797e89b278a972f">_fixed::h</a></div><div class="ttdeci">UBYTE h</div><div class="ttdef"><b>Definition:</b> types.h:79</div></div> -<div class="ttc" id="aasm_2types_8h_html_a6c3850eca7373a470eb6e5a7c6278215"><div class="ttname"><a href="asm_2types_8h.html#a6c3850eca7373a470eb6e5a7c6278215">LWORD</a></div><div class="ttdeci">INT32 LWORD</div><div class="ttdef"><b>Definition:</b> types.h:62</div></div> -<div class="ttc" id="aasm_2types_8h_html_a9e551e7c1bd8feb51e8eefd109966f75"><div class="ttname"><a href="asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75">UWORD</a></div><div class="ttdeci">UINT16 UWORD</div><div class="ttdef"><b>Definition:</b> types.h:60</div></div> +<div class="ttc" id="aasm_2types_8h_html_a280213815420791851f7e59bdc8a3c95"><div class="ttname"><a href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a></div><div class="ttdeci">UINT8 UBYTE</div><div class="ttdef"><b>Definition:</b> types.h:58</div></div> +<div class="ttc" id="aasm_2types_8h_html_a332730c89876a91d3c98a6c9a764e23e"><div class="ttname"><a href="asm_2types_8h.html#a332730c89876a91d3c98a6c9a764e23e">UDWORD</a></div><div class="ttdeci">UINT32 UDWORD</div><div class="ttdef"><b>Definition:</b> types.h:70</div></div> +<div class="ttc" id="aasm_2types_8h_html_ac1b71367b1b0eae6718d17b4fd07aecd"><div class="ttname"><a href="asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd">WORD</a></div><div class="ttdeci">INT16 WORD</div><div class="ttdef"><b>Definition:</b> types.h:60</div></div> +<div class="ttc" id="aunion__fixed_html_ac44ac5f62ed7369c444b6f13d9e1d9bc"><div class="ttname"><a href="union__fixed.html#ac44ac5f62ed7369c444b6f13d9e1d9bc">_fixed::l</a></div><div class="ttdeci">UBYTE l</div><div class="ttdef"><b>Definition:</b> types.h:80</div></div> +<div class="ttc" id="aasm_2types_8h_html_a5e2fb030036b42012a298e24aca66071"><div class="ttname"><a href="asm_2types_8h.html#a5e2fb030036b42012a298e24aca66071">BOOLEAN</a></div><div class="ttdeci">INT8 BOOLEAN</div><div class="ttdef"><b>Definition:</b> types.h:51</div></div> +<div class="ttc" id="aunion__fixed_html_acd5ac56a5ed6650d5797e89b278a972f"><div class="ttname"><a href="union__fixed.html#acd5ac56a5ed6650d5797e89b278a972f">_fixed::h</a></div><div class="ttdeci">UBYTE h</div><div class="ttdef"><b>Definition:</b> types.h:81</div></div> +<div class="ttc" id="aasm_2types_8h_html_a6c3850eca7373a470eb6e5a7c6278215"><div class="ttname"><a href="asm_2types_8h.html#a6c3850eca7373a470eb6e5a7c6278215">LWORD</a></div><div class="ttdeci">INT32 LWORD</div><div class="ttdef"><b>Definition:</b> types.h:64</div></div> +<div class="ttc" id="aasm_2types_8h_html_a9e551e7c1bd8feb51e8eefd109966f75"><div class="ttname"><a href="asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75">UWORD</a></div><div class="ttdeci">UINT16 UWORD</div><div class="ttdef"><b>Definition:</b> types.h:62</div></div> <div class="ttc" id="aunion__fixed_html_ac0efdf5ee7302ad64dbc51cabc3659d3"><div class="ttname"><a href="union__fixed.html#ac0efdf5ee7302ad64dbc51cabc3659d3">_fixed::b</a></div><div class="ttdeci">struct _fixed::@2 b</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7ebe70ceca856797319175e30bcf003d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a></div><div class="ttdeci">signed char INT8</div><div class="ttdef"><b>Definition:</b> types.h:40</div></div> -<div class="ttc" id="aunion__fixed_html"><div class="ttname"><a href="union__fixed.html">_fixed</a></div><div class="ttdef"><b>Definition:</b> types.h:76</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7ebe70ceca856797319175e30bcf003d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a></div><div class="ttdeci">signed char INT8</div><div class="ttdef"><b>Definition:</b> types.h:43</div></div> +<div class="ttc" id="aunion__fixed_html"><div class="ttname"><a href="union__fixed.html">_fixed</a></div><div class="ttdef"><b>Definition:</b> types.h:78</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/asm_2z80_2stdarg_8h.html b/docs/api/asm_2z80_2stdarg_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/asm_2z80_2stdarg_8h_source.html b/docs/api/asm_2z80_2stdarg_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/asm_2z80_2string_8h.html b/docs/api/asm_2z80_2string_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -101,24 +102,26 @@ Functions</h2></td></tr> <tr class="separator:af5b1fe1ca3f2aca8ad215962460d15a6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a11bd144d7d44914099a3aeddf1c8567d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a11bd144d7d44914099a3aeddf1c8567d">strcmp</a> (const char *s1, const char *s2)</td></tr> <tr class="separator:a11bd144d7d44914099a3aeddf1c8567d"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:abec66c0a707472b9090ea4cd0402d648"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#abec66c0a707472b9090ea4cd0402d648">memcpy</a> (void *dest, const void *src, <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> len) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> +<tr class="memitem:abec66c0a707472b9090ea4cd0402d648"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#abec66c0a707472b9090ea4cd0402d648">memcpy</a> (void *dest, const void *src, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> len) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:abec66c0a707472b9090ea4cd0402d648"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a854ba725a4e429439ccf93b1f5ad7b3a"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a854ba725a4e429439ccf93b1f5ad7b3a">memmove</a> (void *dest, const void *src, <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> n) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> +<tr class="memitem:a854ba725a4e429439ccf93b1f5ad7b3a"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a854ba725a4e429439ccf93b1f5ad7b3a">memmove</a> (void *dest, const void *src, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> n) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:a854ba725a4e429439ccf93b1f5ad7b3a"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a558614036595364d1ddea9e8a4d6d475"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a558614036595364d1ddea9e8a4d6d475">memset</a> (void *s, int <a class="el" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> n) __z88dk_callee</td></tr> -<tr class="separator:a558614036595364d1ddea9e8a4d6d475"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a81863156a28fd2eefeee6859d768bdb1"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a81863156a28fd2eefeee6859d768bdb1">reverse</a> (char *s) <a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> +<tr class="memitem:a6491121b0087a8848354d9de3aa2444b"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a6491121b0087a8848354d9de3aa2444b">memset</a> (void *s, int <a class="el" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> n) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></td></tr> +<tr class="separator:a6491121b0087a8848354d9de3aa2444b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a81863156a28fd2eefeee6859d768bdb1"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a81863156a28fd2eefeee6859d768bdb1">reverse</a> (char *s) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> <tr class="separator:a81863156a28fd2eefeee6859d768bdb1"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a13c88f5a8475fd7de5d81553cb29724a"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a13c88f5a8475fd7de5d81553cb29724a">strcat</a> (char *s1, const char *s2) <a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> +<tr class="memitem:a13c88f5a8475fd7de5d81553cb29724a"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a13c88f5a8475fd7de5d81553cb29724a">strcat</a> (char *s1, const char *s2) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> <tr class="separator:a13c88f5a8475fd7de5d81553cb29724a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac952c3ccec84a458a4d385c5273c1ca0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#ac952c3ccec84a458a4d385c5273c1ca0">strlen</a> (const char *s) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:ac952c3ccec84a458a4d385c5273c1ca0"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a168580a0ddcb7fe754a711309966c99d"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a168580a0ddcb7fe754a711309966c99d">strncat</a> (char *s1, const char *s2, int n) <a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> +<tr class="memitem:a168580a0ddcb7fe754a711309966c99d"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a168580a0ddcb7fe754a711309966c99d">strncat</a> (char *s1, const char *s2, int n) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> <tr class="separator:a168580a0ddcb7fe754a711309966c99d"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a861dba2d93de82f087707bb795f5c602"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a861dba2d93de82f087707bb795f5c602">strncmp</a> (const char *s1, const char *s2, int n) <a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> +<tr class="memitem:a861dba2d93de82f087707bb795f5c602"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a861dba2d93de82f087707bb795f5c602">strncmp</a> (const char *s1, const char *s2, int n) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> <tr class="separator:a861dba2d93de82f087707bb795f5c602"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a796a9459c4f362e51c00307044c40ed5"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a796a9459c4f362e51c00307044c40ed5">strncpy</a> (char *s1, const char *s2, int n) <a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> +<tr class="memitem:a796a9459c4f362e51c00307044c40ed5"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#a796a9459c4f362e51c00307044c40ed5">strncpy</a> (char *s1, const char *s2, int n) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> <tr class="separator:a796a9459c4f362e51c00307044c40ed5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:add78645dba711c548ab16d056fb83b7e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2string_8h.html#add78645dba711c548ab16d056fb83b7e">memcmp</a> (const void *buf1, const void *buf2, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> count) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></td></tr> +<tr class="separator:add78645dba711c548ab16d056fb83b7e"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Generic string functions. </p> @@ -223,7 +226,7 @@ Functions</h2></td></tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>len</em> </td> </tr> <tr> @@ -267,7 +270,7 @@ Functions</h2></td></tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>n</em> </td> </tr> <tr> @@ -281,8 +284,8 @@ Functions</h2></td></tr> </div> </div> -<a id="a558614036595364d1ddea9e8a4d6d475"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a558614036595364d1ddea9e8a4d6d475">◆ </a></span>memset()</h2> +<a id="a6491121b0087a8848354d9de3aa2444b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6491121b0087a8848354d9de3aa2444b">◆ </a></span>memset()</h2> <div class="memitem"> <div class="memproto"> @@ -302,7 +305,7 @@ Functions</h2></td></tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>n</em> </td> </tr> <tr> @@ -556,6 +559,54 @@ Functions</h2></td></tr> </div> </div> +<a id="add78645dba711c548ab16d056fb83b7e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#add78645dba711c548ab16d056fb83b7e">◆ </a></span>memcmp()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int memcmp </td> + <td>(</td> + <td class="paramtype">const void * </td> + <td class="paramname"><em>buf1</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const void * </td> + <td class="paramname"><em>buf2</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> + <td class="paramname"><em>count</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Compares buffers</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">buf1</td><td>First buffer to compare </td></tr> + <tr><td class="paramname">buf2</td><td>Second buffer to compare </td></tr> + <tr><td class="paramname">count</td><td>Buffer length</td></tr> + </table> + </dd> +</dl> +<p>Returns: </p><ul> +<li>> 0 if <b>buf1</b> > <b>buf2</b> </li> +<li>0 if <b>buf1</b> == <b>buf2</b> </li> +<li>< 0 if <b>buf1</b> < <b>buf2</b> </li> +</ul> + +</div> +</div> </div><!-- contents --> </div><!-- doc-content --> <!-- HTML footer for doxygen 1.8.14--> diff --git a/docs/api/asm_2z80_2string_8h.js b/docs/api/asm_2z80_2string_8h.js @@ -4,11 +4,12 @@ var asm_2z80_2string_8h = [ "strcmp", "asm_2z80_2string_8h.html#a11bd144d7d44914099a3aeddf1c8567d", null ], [ "memcpy", "asm_2z80_2string_8h.html#abec66c0a707472b9090ea4cd0402d648", null ], [ "memmove", "asm_2z80_2string_8h.html#a854ba725a4e429439ccf93b1f5ad7b3a", null ], - [ "memset", "asm_2z80_2string_8h.html#a558614036595364d1ddea9e8a4d6d475", null ], + [ "memset", "asm_2z80_2string_8h.html#a6491121b0087a8848354d9de3aa2444b", null ], [ "reverse", "asm_2z80_2string_8h.html#a81863156a28fd2eefeee6859d768bdb1", null ], [ "strcat", "asm_2z80_2string_8h.html#a13c88f5a8475fd7de5d81553cb29724a", null ], [ "strlen", "asm_2z80_2string_8h.html#ac952c3ccec84a458a4d385c5273c1ca0", null ], [ "strncat", "asm_2z80_2string_8h.html#a168580a0ddcb7fe754a711309966c99d", null ], [ "strncmp", "asm_2z80_2string_8h.html#a861dba2d93de82f087707bb795f5c602", null ], - [ "strncpy", "asm_2z80_2string_8h.html#a796a9459c4f362e51c00307044c40ed5", null ] + [ "strncpy", "asm_2z80_2string_8h.html#a796a9459c4f362e51c00307044c40ed5", null ], + [ "memcmp", "asm_2z80_2string_8h.html#add78645dba711c548ab16d056fb83b7e", null ] ]; diff --git a/docs/api/asm_2z80_2string_8h_source.html b/docs/api/asm_2z80_2string_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -95,46 +96,50 @@ $(document).ready(function(){initNavTree('asm_2z80_2string_8h_source.html',''); <div class="line"><a name="l00006"></a><span class="lineno"> 6</span>  </div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include <<a class="code" href="types_8h.html">types.h</a>></span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span>  </div> -<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#af5b1fe1ca3f2aca8ad215962460d15a6"> 20</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a8d21cab0520a18493e48dab450288f31">strcpy</a>(<span class="keywordtype">char</span> *dest, <span class="keyword">const</span> <span class="keywordtype">char</span> *src) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#af5b1fe1ca3f2aca8ad215962460d15a6"> 20</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#ada128b5ed545214bb397d1399615ec9e">strcpy</a>(<span class="keywordtype">char</span> *dest, <span class="keyword">const</span> <span class="keywordtype">char</span> *src) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  </div> -<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a11bd144d7d44914099a3aeddf1c8567d"> 32</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a125908e664d4b65f55a49c8faf14784b">strcmp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2);</div> +<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a11bd144d7d44914099a3aeddf1c8567d"> 32</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a7172770a053aa1fe0ab46a97ab43a5fa">strcmp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2);</div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  </div> -<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#abec66c0a707472b9090ea4cd0402d648"> 42</a></span> <span class="keywordtype">void</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627">memcpy</a>(<span class="keywordtype">void</span> *dest, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <span class="keywordtype">size_t</span> len) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#abec66c0a707472b9090ea4cd0402d648"> 42</a></span> <span class="keywordtype">void</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574">memcpy</a>(<span class="keywordtype">void</span> *dest, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <span class="keywordtype">size_t</span> len) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  </div> <div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a854ba725a4e429439ccf93b1f5ad7b3a"> 46</a></span> <span class="keywordtype">void</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90">memmove</a> (<span class="keywordtype">void</span> *dest, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <span class="keywordtype">size_t</span> n) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  </div> -<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a558614036595364d1ddea9e8a4d6d475"> 54</a></span> <span class="keywordtype">void</span> *<a class="code" href="asm_2gbz80_2string_8h.html#af2fcd4c99b3b490e6db059e741676274">memset</a> (<span class="keywordtype">void</span> *s, <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <span class="keywordtype">size_t</span> n) __z88dk_callee;</div> +<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a6491121b0087a8848354d9de3aa2444b"> 54</a></span> <span class="keywordtype">void</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a4bc4146b1a053fc4ec10f1377bb21a4f">memset</a> (<span class="keywordtype">void</span> *s, <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <span class="keywordtype">size_t</span> n) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a>;</div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  </div> -<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a81863156a28fd2eefeee6859d768bdb1"> 66</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a31e56ae6ad0e9bd961633507ec1aef6c">reverse</a>(<span class="keywordtype">char</span> *s) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> +<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a81863156a28fd2eefeee6859d768bdb1"> 66</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a476b2b37367c65c6cb36037bfc16b19f">reverse</a>(<span class="keywordtype">char</span> *s) <a class="code" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  </div> -<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a13c88f5a8475fd7de5d81553cb29724a"> 79</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553">strcat</a>(<span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> +<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a13c88f5a8475fd7de5d81553cb29724a"> 79</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553">strcat</a>(<span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2) <a class="code" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  </div> -<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#ac952c3ccec84a458a4d385c5273c1ca0"> 87</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a2db4b83fd1a2889db33d4e0798d33fe2">strlen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#ac952c3ccec84a458a4d385c5273c1ca0"> 87</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a5e4982e9d2fd4ec328abfda6b1a3f7e5">strlen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  </div> -<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a168580a0ddcb7fe754a711309966c99d"> 99</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#af70714f788819be9dbf368a969be23f7">strncat</a>(<span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> +<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a168580a0ddcb7fe754a711309966c99d"> 99</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#af70714f788819be9dbf368a969be23f7">strncat</a>(<span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n) <a class="code" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div> -<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a861dba2d93de82f087707bb795f5c602"> 112</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc">strncmp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> +<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a861dba2d93de82f087707bb795f5c602"> 112</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc">strncmp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n) <a class="code" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  </div> -<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a796a9459c4f362e51c00307044c40ed5"> 129</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f">strncpy</a>(<span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> +<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#a796a9459c4f362e51c00307044c40ed5"> 129</a></span> <span class="keywordtype">char</span> *<a class="code" href="asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f">strncpy</a>(<span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n) <a class="code" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  </div> -<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="asm_2z80_2string_8h.html#add78645dba711c548ab16d056fb83b7e"> 142</a></span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2string_8h.html#a52701f453c97403ec1b12d286484259b">memcmp</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *buf1, <span class="keyword">const</span> <span class="keywordtype">void</span> *buf2, <span class="keywordtype">size_t</span> count) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a>;</div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  </div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="aasm_2gbz80_2string_8h_html_a36e8e03da711f0d862ca1d62a001a627"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627">memcpy</a></div><div class="ttdeci">void * memcpy(void *dest, const void *src, size_t len) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_ada128b5ed545214bb397d1399615ec9e"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#ada128b5ed545214bb397d1399615ec9e">strcpy</a></div><div class="ttdeci">char * strcpy(char *dest, const char *src) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="atypes_8h_html"><div class="ttname"><a href="types_8h.html">types.h</a></div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_a476b2b37367c65c6cb36037bfc16b19f"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a476b2b37367c65c6cb36037bfc16b19f">reverse</a></div><div class="ttdeci">char * reverse(char *s) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_a52701f453c97403ec1b12d286484259b"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a52701f453c97403ec1b12d286484259b">memcmp</a></div><div class="ttdeci">int memcmp(const void *buf1, const void *buf2, size_t count) OLDCALL</div></div> <div class="ttc" id="aasm_2gbz80_2string_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">char c</div><div class="ttdef"><b>Definition:</b> string.h:20</div></div> -<div class="ttc" id="aasm_2gbz80_2string_8h_html_a2db4b83fd1a2889db33d4e0798d33fe2"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a2db4b83fd1a2889db33d4e0798d33fe2">strlen</a></div><div class="ttdeci">int strlen(const char *s) OLDCALL __preserves_regs(b</div></div> <div class="ttc" id="aasm_2gbz80_2string_8h_html_af70714f788819be9dbf368a969be23f7"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#af70714f788819be9dbf368a969be23f7">strncat</a></div><div class="ttdeci">char * strncat(char *s1, const char *s2, int n)</div></div> -<div class="ttc" id="aasm_2gbz80_2string_8h_html_a31e56ae6ad0e9bd961633507ec1aef6c"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a31e56ae6ad0e9bd961633507ec1aef6c">reverse</a></div><div class="ttdeci">char * reverse(char *s) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="aasm_2z80_2types_8h_html_aa19670cfef9fe1cc31f28fafb0e1000a"><div class="ttname"><a href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></div><div class="ttdeci">#define Z88DK_CALLEE</div><div class="ttdef"><b>Definition:</b> types.h:42</div></div> <div class="ttc" id="aasm_2gbz80_2string_8h_html_a802c986820d3866639922b6bc9484f90"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90">memmove</a></div><div class="ttdeci">void * memmove(void *dest, const void *src, size_t n)</div></div> -<div class="ttc" id="aasm_2gbz80_2string_8h_html_a125908e664d4b65f55a49c8faf14784b"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a125908e664d4b65f55a49c8faf14784b">strcmp</a></div><div class="ttdeci">int strcmp(const char *s1, const char *s2) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_a4bc4146b1a053fc4ec10f1377bb21a4f"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a4bc4146b1a053fc4ec10f1377bb21a4f">memset</a></div><div class="ttdeci">void * memset(void *s, int c, size_t n) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_a6a1a6cbe7fb6102819098340a4986574"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574">memcpy</a></div><div class="ttdeci">void * memcpy(void *dest, const void *src, size_t len) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="aasm_2gbz80_2string_8h_html_ab745ed93c0024648f33dc1d553e9fdcc"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc">strncmp</a></div><div class="ttdeci">int strncmp(const char *s1, const char *s2, int n)</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> <div class="ttc" id="aasm_2gbz80_2string_8h_html_a8908188ae9fc2f05d993257ef001d553"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553">strcat</a></div><div class="ttdeci">char * strcat(char *s1, const char *s2)</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7ed081d8dfb6902784b2fc730bbb7f96"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></div><div class="ttdeci">#define NONBANKED</div><div class="ttdef"><b>Definition:</b> types.h:12</div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_a7172770a053aa1fe0ab46a97ab43a5fa"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a7172770a053aa1fe0ab46a97ab43a5fa">strcmp</a></div><div class="ttdeci">int strcmp(const char *s1, const char *s2) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="aasm_2gbz80_2string_8h_html_a21ae87d60fcc456369668093c57db61f"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f">strncpy</a></div><div class="ttdeci">char * strncpy(char *s1, const char *s2, int n)</div></div> -<div class="ttc" id="aasm_2gbz80_2string_8h_html_a8d21cab0520a18493e48dab450288f31"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a8d21cab0520a18493e48dab450288f31">strcpy</a></div><div class="ttdeci">char * strcpy(char *dest, const char *src) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="aasm_2gbz80_2string_8h_html_af2fcd4c99b3b490e6db059e741676274"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#af2fcd4c99b3b490e6db059e741676274">memset</a></div><div class="ttdeci">void * memset(void *s, int c, size_t n) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="aasm_2types_8h_html_a7ed081d8dfb6902784b2fc730bbb7f96"><div class="ttname"><a href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></div><div class="ttdeci">#define NONBANKED</div><div class="ttdef"><b>Definition:</b> types.h:36</div></div> +<div class="ttc" id="aasm_2gbz80_2string_8h_html_a5e4982e9d2fd4ec328abfda6b1a3f7e5"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a5e4982e9d2fd4ec328abfda6b1a3f7e5">strlen</a></div><div class="ttdeci">int strlen(const char *s) OLDCALL PRESERVES_REGS(b</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/asm_2z80_2types_8h.html b/docs/api/asm_2z80_2types_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -97,14 +98,10 @@ $(document).ready(function(){initNavTree('asm_2z80_2types_8h.html',''); initResi <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> -<tr class="memitem:a7ed081d8dfb6902784b2fc730bbb7f96"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>   __nonbanked</td></tr> -<tr class="separator:a7ed081d8dfb6902784b2fc730bbb7f96"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aa8480aed89a168ec484727f5ac985cd0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0">BANKED</a>   __banked</td></tr> -<tr class="separator:aa8480aed89a168ec484727f5ac985cd0"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ae0233515480e60d29bcc731469976e02"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a>   __critical</td></tr> -<tr class="separator:ae0233515480e60d29bcc731469976e02"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ac950c0db046e2f86d15e7ae1f558b017"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017">INTERRUPT</a>   __interrupt</td></tr> -<tr class="separator:ac950c0db046e2f86d15e7ae1f558b017"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa19670cfef9fe1cc31f28fafb0e1000a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></td></tr> +<tr class="separator:aa19670cfef9fe1cc31f28fafb0e1000a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af45e54cf59a5202abc9125c07b64abf1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr> +<tr class="separator:af45e54cf59a5202abc9125c07b64abf1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8de3167f7b52ff5a2f538858cb5e32d3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3">__SIZE_T_DEFINED</a></td></tr> <tr class="separator:a8de3167f7b52ff5a2f538858cb5e32d3"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> @@ -122,62 +119,34 @@ Typedefs</h2></td></tr> <tr class="separator:a516ea33686d40a7f91f5644851ce7b5d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0b39d6d754cb24c708b0f2bdbe88130e"><td class="memItemLeft" align="right" valign="top">typedef unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a></td></tr> <tr class="separator:a0b39d6d754cb24c708b0f2bdbe88130e"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a7619b847aeded8a6d14cbfa212b2cdfb"><td class="memItemLeft" align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a></td></tr> -<tr class="separator:a7619b847aeded8a6d14cbfa212b2cdfb"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ad666a63cb94701b620ce999f84629d23"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">clock_t</a></td></tr> -<tr class="separator:ad666a63cb94701b620ce999f84629d23"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a7c94ea6f8948649f8d181ae55911eeaf"><td class="memItemLeft" align="right" valign="top">typedef unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a></td></tr> +<tr class="separator:a7c94ea6f8948649f8d181ae55911eeaf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aeb756bd89bf86769edbefdef8135109f"><td class="memItemLeft" align="right" valign="top">typedef unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="asm_2z80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">clock_t</a></td></tr> +<tr class="separator:aeb756bd89bf86769edbefdef8135109f"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Macro Definition Documentation</h2> -<a id="a7ed081d8dfb6902784b2fc730bbb7f96"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a7ed081d8dfb6902784b2fc730bbb7f96">◆ </a></span>NONBANKED</h2> +<a id="aa19670cfef9fe1cc31f28fafb0e1000a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa19670cfef9fe1cc31f28fafb0e1000a">◆ </a></span>Z88DK_CALLEE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define NONBANKED   __nonbanked</td> + <td class="memname">#define Z88DK_CALLEE</td> </tr> </table> </div><div class="memdoc"> </div> </div> -<a id="aa8480aed89a168ec484727f5ac985cd0"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aa8480aed89a168ec484727f5ac985cd0">◆ </a></span>BANKED</h2> +<a id="af45e54cf59a5202abc9125c07b64abf1"></a> +<h2 class="memtitle"><span class="permalink"><a href="#af45e54cf59a5202abc9125c07b64abf1">◆ </a></span>Z88DK_FASTCALL</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define BANKED   __banked</td> - </tr> - </table> -</div><div class="memdoc"> - -</div> -</div> -<a id="ae0233515480e60d29bcc731469976e02"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ae0233515480e60d29bcc731469976e02">◆ </a></span>CRITICAL</h2> - -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define CRITICAL   __critical</td> - </tr> - </table> -</div><div class="memdoc"> - -</div> -</div> -<a id="ac950c0db046e2f86d15e7ae1f558b017"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ac950c0db046e2f86d15e7ae1f558b017">◆ </a></span>INTERRUPT</h2> - -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define INTERRUPT   __interrupt</td> + <td class="memname">#define Z88DK_FASTCALL</td> </tr> </table> </div><div class="memdoc"> @@ -289,32 +258,32 @@ Typedefs</h2></td></tr> </div> </div> -<a id="a7619b847aeded8a6d14cbfa212b2cdfb"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a7619b847aeded8a6d14cbfa212b2cdfb">◆ </a></span>size_t</h2> +<a id="a7c94ea6f8948649f8d181ae55911eeaf"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a7c94ea6f8948649f8d181ae55911eeaf">◆ </a></span>size_t</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef int <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a></td> + <td class="memname">typedef unsigned int <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a></td> </tr> </table> </div><div class="memdoc"> </div> </div> -<a id="ad666a63cb94701b620ce999f84629d23"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ad666a63cb94701b620ce999f84629d23">◆ </a></span>clock_t</h2> +<a id="aeb756bd89bf86769edbefdef8135109f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aeb756bd89bf86769edbefdef8135109f">◆ </a></span>clock_t</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef <a class="el" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a> <a class="el" href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">clock_t</a></td> + <td class="memname">typedef unsigned int <a class="el" href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">clock_t</a></td> </tr> </table> </div><div class="memdoc"> -<p>Returned from clock </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="time_8h.html#a9e660b4ddc93c500ce46593917de2bbf">clock</a> </dd></dl> +<p>Returned from clock </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="time_8h.html#acc1f88818af5706d57262377382ae4ac">clock</a> </dd></dl> </div> </div> diff --git a/docs/api/asm_2z80_2types_8h.js b/docs/api/asm_2z80_2types_8h.js @@ -1,9 +1,7 @@ var asm_2z80_2types_8h = [ - [ "NONBANKED", "asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96", null ], - [ "BANKED", "asm_2z80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0", null ], - [ "CRITICAL", "asm_2z80_2types_8h.html#ae0233515480e60d29bcc731469976e02", null ], - [ "INTERRUPT", "asm_2z80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017", null ], + [ "Z88DK_CALLEE", "asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a", null ], + [ "Z88DK_FASTCALL", "asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1", null ], [ "__SIZE_T_DEFINED", "asm_2z80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3", null ], [ "INT8", "asm_2z80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d", null ], [ "UINT8", "asm_2z80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a", null ], @@ -11,6 +9,6 @@ var asm_2z80_2types_8h = [ "UINT16", "asm_2z80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b", null ], [ "INT32", "asm_2z80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d", null ], [ "UINT32", "asm_2z80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e", null ], - [ "size_t", "asm_2z80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb", null ], - [ "clock_t", "asm_2z80_2types_8h.html#ad666a63cb94701b620ce999f84629d23", null ] + [ "size_t", "asm_2z80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf", null ], + [ "clock_t", "asm_2z80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f", null ] ]; diff --git a/docs/api/asm_2z80_2types_8h_source.html b/docs/api/asm_2z80_2types_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -97,36 +98,49 @@ $(document).ready(function(){initNavTree('asm_2z80_2types_8h_source.html',''); i <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor"> #error z80 only.</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  </div> -<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96"> 12</a></span> <span class="preprocessor">#define NONBANKED __nonbanked</span></div> -<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0"> 13</a></span> <span class="preprocessor">#define BANKED __banked</span></div> -<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#ae0233515480e60d29bcc731469976e02"> 14</a></span> <span class="preprocessor">#define CRITICAL __critical</span></div> -<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017"> 15</a></span> <span class="preprocessor">#define INTERRUPT __interrupt</span></div> +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifdef __SDCC</span></div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  </div> +<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#define Z88DK_CALLEE __z88dk_callee</span></div> +<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#define Z88DK_FASTCALL __z88dk_fastcall</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  </div> -<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d"> 19</a></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> <a class="code" href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a>;</div> -<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a"> 22</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a>;</div> -<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d"> 25</a></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d">INT16</a>;</div> -<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b"> 28</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a>;</div> -<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d"> 31</a></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <a class="code" href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a>;</div> -<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e"> 34</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a>;</div> -<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  </div> -<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#ifndef __SIZE_T_DEFINED</span></div> -<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3"> 37</a></span> <span class="preprocessor">#define __SIZE_T_DEFINED</span></div> -<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb"> 38</a></span> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a>;</div> -<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  </div> -<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#ad666a63cb94701b620ce999f84629d23"> 44</a></span> <span class="keyword">typedef</span> <a class="code" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a> <a class="code" href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">clock_t</a>;</div> -<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  </div> -<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#define NONBANKED __nonbanked </span></div> +<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#define BANKED __banked </span></div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#define CRITICAL __critical</span></div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  </div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#define INTERRUPT __interrupt</span></div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  </div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#else</span></div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  </div> +<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a"> 42</a></span> <span class="preprocessor">#define Z88DK_CALLEE</span></div> +<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1"> 43</a></span> <span class="preprocessor">#define Z88DK_FASTCALL</span></div> +<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  </div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  </div> +<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d"> 49</a></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> <a class="code" href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a>;</div> +<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a"> 52</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a>;</div> +<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d"> 55</a></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d">INT16</a>;</div> +<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b"> 58</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a>;</div> +<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d"> 61</a></span> <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <a class="code" href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a>;</div> +<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e"> 64</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a>;</div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  </div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#ifndef __SIZE_T_DEFINED</span></div> +<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3"> 67</a></span> <span class="preprocessor">#define __SIZE_T_DEFINED</span></div> +<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf"> 68</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a>;</div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  </div> +<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="asm_2z80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f"> 74</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">clock_t</a>;</div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  </div> +<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_ab27e9918b538ce9d8ca692479b375b6a"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a></div><div class="ttdeci">unsigned char UINT8</div><div class="ttdef"><b>Definition:</b> types.h:43</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a18f1c7ce6c452edd933189d52294af8d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d">INT16</a></div><div class="ttdeci">signed int INT16</div><div class="ttdef"><b>Definition:</b> types.h:46</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a805c2c164bdd38d72a30c46e84fb568b"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a></div><div class="ttdeci">unsigned int UINT16</div><div class="ttdef"><b>Definition:</b> types.h:49</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a516ea33686d40a7f91f5644851ce7b5d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a></div><div class="ttdeci">signed long INT32</div><div class="ttdef"><b>Definition:</b> types.h:52</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a0b39d6d754cb24c708b0f2bdbe88130e"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a></div><div class="ttdeci">unsigned long UINT32</div><div class="ttdef"><b>Definition:</b> types.h:55</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_ad666a63cb94701b620ce999f84629d23"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">clock_t</a></div><div class="ttdeci">UINT16 clock_t</div><div class="ttdef"><b>Definition:</b> types.h:65</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7619b847aeded8a6d14cbfa212b2cdfb"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a></div><div class="ttdeci">int size_t</div><div class="ttdef"><b>Definition:</b> types.h:59</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7ebe70ceca856797319175e30bcf003d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a></div><div class="ttdeci">signed char INT8</div><div class="ttdef"><b>Definition:</b> types.h:40</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_ab27e9918b538ce9d8ca692479b375b6a"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a></div><div class="ttdeci">unsigned char UINT8</div><div class="ttdef"><b>Definition:</b> types.h:46</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a18f1c7ce6c452edd933189d52294af8d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d">INT16</a></div><div class="ttdeci">signed int INT16</div><div class="ttdef"><b>Definition:</b> types.h:49</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a805c2c164bdd38d72a30c46e84fb568b"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b">UINT16</a></div><div class="ttdeci">unsigned int UINT16</div><div class="ttdef"><b>Definition:</b> types.h:52</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a516ea33686d40a7f91f5644851ce7b5d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d">INT32</a></div><div class="ttdeci">signed long INT32</div><div class="ttdef"><b>Definition:</b> types.h:55</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7c94ea6f8948649f8d181ae55911eeaf"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a></div><div class="ttdeci">unsigned int size_t</div><div class="ttdef"><b>Definition:</b> types.h:62</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a0b39d6d754cb24c708b0f2bdbe88130e"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e">UINT32</a></div><div class="ttdeci">unsigned long UINT32</div><div class="ttdef"><b>Definition:</b> types.h:58</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7ebe70ceca856797319175e30bcf003d"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d">INT8</a></div><div class="ttdeci">signed char INT8</div><div class="ttdef"><b>Definition:</b> types.h:43</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_aeb756bd89bf86769edbefdef8135109f"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">clock_t</a></div><div class="ttdeci">unsigned int clock_t</div><div class="ttdef"><b>Definition:</b> types.h:68</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/assert_8h.html b/docs/api/assert_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/assert_8h_source.html b/docs/api/assert_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/bcd_8h.html b/docs/api/bcd_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -326,7 +327,7 @@ Functions</h2></td></tr> <p>Returns: Length in characters (always 8)</p> <p><b>buffer</b> should be large enough to store the converted string (9 bytes: 8 characters + 1 for terminator)</p> <p>There are a couple different ways to use <b>tile_offset</b>. For example: </p><ul> -<li>It can be the Index of the Font Tile '0' in VRAM to allow the buffer to be used directly with <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a>. </li> +<li>It can be the Index of the Font Tile '0' in VRAM to allow the buffer to be used directly with <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>. </li> <li>It can also be set to the ascii value for character '0' so that the buffer is a normal string that can be passed to <a class="el" href="stdio_8h.html#ab403fa700816f08631ba75bc536f74d4">printf</a>. </li> </ul> diff --git a/docs/api/bcd_8h_source.html b/docs/api/bcd_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -120,7 +121,7 @@ $(document).ready(function(){initNavTree('bcd_8h_source.html',''); initResizable <div class="ttc" id="astdint_8h_html_adf4d876453337156dde61095e1f20223"><div class="ttname"><a href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a></div><div class="ttdeci">unsigned short int uint16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:52</div></div> <div class="ttc" id="abcd_8h_html_a0b14c76afa669863ed43c080f5baca98"><div class="ttname"><a href="bcd_8h.html#a0b14c76afa669863ed43c080f5baca98">bcd_add</a></div><div class="ttdeci">void bcd_add(BCD *sour, const BCD *value) OLDCALL</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> <div class="ttc" id="abcd_8h_html_aec09ce7373727160488408c65fc8a91e"><div class="ttname"><a href="bcd_8h.html#aec09ce7373727160488408c65fc8a91e">bcd2text</a></div><div class="ttdeci">uint8_t bcd2text(const BCD *bcd, uint8_t tile_offset, uint8_t *buffer) OLDCALL</div></div> <div class="ttc" id="abcd_8h_html_af3d125e9dbb48d630cf7e2f7d1343ba1"><div class="ttname"><a href="bcd_8h.html#af3d125e9dbb48d630cf7e2f7d1343ba1">uint2bcd</a></div><div class="ttdeci">void uint2bcd(uint16_t i, BCD *value) OLDCALL</div></div> <!-- HTML footer for doxygen 1.8.14--> diff --git a/docs/api/bgb__emu_8h.html b/docs/api/bgb__emu_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -85,234 +86,18 @@ $(document).ready(function(){initNavTree('bgb__emu_8h.html',''); initResizable() </div> <div class="header"> - <div class="summary"> -<a href="#define-members">Macros</a> | -<a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">bgb_emu.h File Reference</div> </div> </div><!--header--> <div class="contents"> -<div class="textblock"><code>#include <types.h></code><br /> +<div class="textblock"><code>#include <<a class="el" href="emu__debug_8h_source.html">gb/emu_debug.h</a>></code><br /> </div> <p><a href="bgb__emu_8h_source.html">Go to the source code of this file.</a></p> -<table class="memberdecls"> -<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> -Macros</h2></td></tr> -<tr class="memitem:aabd48c83af8f69ed624bb8a83347fa39"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39">BGB_MESSAGE</a>(message_text)   BGB_MESSAGE1(BGB_MACRONAME(__LINE__), message_text)</td></tr> -<tr class="separator:aabd48c83af8f69ed624bb8a83347fa39"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ab5b05deda52856c84f274fb28578b6ee"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bgb__emu_8h.html#ab5b05deda52856c84f274fb28578b6ee">BGB_PROFILE_BEGIN</a>(MSG)   BGB_MESSAGE_SUFFIX(MSG, "%ZEROCLKS%");</td></tr> -<tr class="separator:ab5b05deda52856c84f274fb28578b6ee"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ab43f94064dc523e99c4aefb440e2c3ed"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bgb__emu_8h.html#ab43f94064dc523e99c4aefb440e2c3ed">BGB_PROFILE_END</a>(MSG)   BGB_MESSAGE_SUFFIX(MSG,"%-8+LASTCLKS%");</td></tr> -<tr class="separator:ab43f94064dc523e99c4aefb440e2c3ed"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a6afa665bd7d093e7ca2d310cc92b08a9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bgb__emu_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9">BGB_TEXT</a>(MSG)   <a class="el" href="bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39">BGB_MESSAGE</a>(MSG)</td></tr> -<tr class="separator:a6afa665bd7d093e7ca2d310cc92b08a9"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a95c9ae3faadfe6f93a3cac87085b3481"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="bgb__emu_8h.html#a95c9ae3faadfe6f93a3cac87085b3481">BGB_BREAKPOINT</a>   __asm__("ld <a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>");</td></tr> -<tr class="separator:a95c9ae3faadfe6f93a3cac87085b3481"><td class="memSeparator" colspan="2"> </td></tr> -</table><table class="memberdecls"> -<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> -Functions</h2></td></tr> -<tr class="memitem:a219a24aebe0bddc535ba4abc81cee30c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="bgb__emu_8h.html#a219a24aebe0bddc535ba4abc81cee30c">BGB_profiler_message</a> ()</td></tr> -<tr class="separator:a219a24aebe0bddc535ba4abc81cee30c"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a2b2f53166550341e0b1297dd5aa5a2c3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="bgb__emu_8h.html#a2b2f53166550341e0b1297dd5aa5a2c3">BGB_printf</a> (const char *format,...) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> -<tr class="separator:a2b2f53166550341e0b1297dd5aa5a2c3"><td class="memSeparator" colspan="2"> </td></tr> -</table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> -<div class="textblock"><p>Debug window logging and profiling support for the BGB emulator.</p> -<p>Also see the <code>bgb_debug</code> example project included with gbdk.</p> -<p>See the BGB Manual for more information ("expressions, breakpoint conditions, and debug messages") <a href="http://bgb.bircd.org/manual.html#expressions">http://bgb.bircd.org/manual.html#expressions</a> </p> -</div><h2 class="groupheader">Macro Definition Documentation</h2> -<a id="aabd48c83af8f69ed624bb8a83347fa39"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aabd48c83af8f69ed624bb8a83347fa39">◆ </a></span>BGB_MESSAGE</h2> - -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define BGB_MESSAGE</td> - <td>(</td> - <td class="paramtype"> </td> - <td class="paramname">message_text</td><td>)</td> - <td>   BGB_MESSAGE1(BGB_MACRONAME(__LINE__), message_text)</td> - </tr> - </table> -</div><div class="memdoc"> -<p>Macro to display a message in the BGB emulator debug message window</p> -<dl class="params"><dt>Parameters</dt><dd> - <table class="params"> - <tr><td class="paramname">message_text</td><td>Quoted text string to display in the debug message window</td></tr> - </table> - </dd> -</dl> -<p>The following special parameters can be used when bracketed with "%" characters. </p><ul> -<li>CPU registers: AF, BC, DE, HL, SP, PC, B, C, D, E, H, L, A, ZERO, ZF, Z, CARRY, CY, IME, ALLREGS </li> -<li>Other state values: ROMBANK, XRAMBANK, SRAMBANK, WRAMBANK, VRAMBANK, TOTALCLKS, LASTCLKS, CLKS2VBLANK</li> -</ul> -<p>Example: print a message along with the currently active ROM bank. </p><div class="fragment"><div class="line"><a class="code" href="bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39">BGB_MESSAGE</a>(<span class="stringliteral">"Current ROM Bank is: %ROMBANK%"</span>);</div> -</div><!-- fragment --><p>See the BGB Manual for more information ("expressions, breakpoint conditions, and debug messages") <a href="http://bgb.bircd.org/manual.html#expressions">http://bgb.bircd.org/manual.html#expressions</a></p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="bgb__emu_8h.html#ab5b05deda52856c84f274fb28578b6ee">BGB_PROFILE_BEGIN()</a>, <a class="el" href="bgb__emu_8h.html#ab43f94064dc523e99c4aefb440e2c3ed">BGB_PROFILE_END()</a> </dd></dl> - -</div> -</div> -<a id="ab5b05deda52856c84f274fb28578b6ee"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ab5b05deda52856c84f274fb28578b6ee">◆ </a></span>BGB_PROFILE_BEGIN</h2> - -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define BGB_PROFILE_BEGIN</td> - <td>(</td> - <td class="paramtype"> </td> - <td class="paramname">MSG</td><td>)</td> - <td>   BGB_MESSAGE_SUFFIX(MSG, "%ZEROCLKS%");</td> - </tr> - </table> -</div><div class="memdoc"> -<p>Macro to <b>Start</b> a profiling block for the BGB emulator</p> -<dl class="params"><dt>Parameters</dt><dd> - <table class="params"> - <tr><td class="paramname">MSG</td><td>Quoted text string to display in the debug message window along with the result</td></tr> - </table> - </dd> -</dl> -<p>To complete the profiling block and print the result call <a class="el" href="bgb__emu_8h.html#ab43f94064dc523e99c4aefb440e2c3ed">BGB_PROFILE_END</a>.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="bgb__emu_8h.html#ab43f94064dc523e99c4aefb440e2c3ed">BGB_PROFILE_END()</a>, <a class="el" href="bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39">BGB_MESSAGE()</a> </dd></dl> - -</div> -</div> -<a id="ab43f94064dc523e99c4aefb440e2c3ed"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ab43f94064dc523e99c4aefb440e2c3ed">◆ </a></span>BGB_PROFILE_END</h2> - -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define BGB_PROFILE_END</td> - <td>(</td> - <td class="paramtype"> </td> - <td class="paramname">MSG</td><td>)</td> - <td>   BGB_MESSAGE_SUFFIX(MSG,"%-8+LASTCLKS%");</td> - </tr> - </table> -</div><div class="memdoc"> -<p>Macro to <b>End</b> a profiling block and print the results in the BGB emulator debug message window</p> -<dl class="params"><dt>Parameters</dt><dd> - <table class="params"> - <tr><td class="paramname">MSG</td><td>Quoted text string to display in the debug message window along with the result</td></tr> - </table> - </dd> -</dl> -<p>This should only be called after a previous call to <a class="el" href="bgb__emu_8h.html#ab5b05deda52856c84f274fb28578b6ee">BGB_PROFILE_BEGIN()</a></p> -<p>The results are in BGB clock units, which are "1 nop in [CGB] doublespeed mode".</p> -<p>So when running in Normal Speed mode (i.e. non-CGB doublespeed) the printed result should be <b>divided by 2</b> to get the actual ellapsed cycle count.</p> -<p>If running in CB Double Speed mode use the below call instead, it correctly compensates for the speed difference. In this scenario, the result does <b>not need to be divided by 2</b> to get the ellapsed cycle count. </p><div class="fragment"><div class="line"><a class="code" href="bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39">BGB_MESSAGE</a>(<span class="stringliteral">"NOP TIME: %-4+LASTCLKS%"</span>);</div> -</div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="bgb__emu_8h.html#ab5b05deda52856c84f274fb28578b6ee">BGB_PROFILE_BEGIN()</a>, <a class="el" href="bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39">BGB_MESSAGE()</a> </dd></dl> - -</div> -</div> -<a id="a6afa665bd7d093e7ca2d310cc92b08a9"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a6afa665bd7d093e7ca2d310cc92b08a9">◆ </a></span>BGB_TEXT</h2> - -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define BGB_TEXT</td> - <td>(</td> - <td class="paramtype"> </td> - <td class="paramname">MSG</td><td>)</td> - <td>   <a class="el" href="bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39">BGB_MESSAGE</a>(MSG)</td> - </tr> - </table> -</div><div class="memdoc"> - -</div> -</div> -<a id="a95c9ae3faadfe6f93a3cac87085b3481"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a95c9ae3faadfe6f93a3cac87085b3481">◆ </a></span>BGB_BREAKPOINT</h2> - -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">#define BGB_BREAKPOINT   __asm__("ld <a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>");</td> - </tr> - </table> -</div><div class="memdoc"> -<p>BGB will break into debugger when encounters this line </p> - -</div> -</div> -<h2 class="groupheader">Function Documentation</h2> -<a id="a219a24aebe0bddc535ba4abc81cee30c"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a219a24aebe0bddc535ba4abc81cee30c">◆ </a></span>BGB_profiler_message()</h2> - -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">void BGB_profiler_message </td> - <td>(</td> - <td class="paramname"></td><td>)</td> - <td></td> - </tr> - </table> -</div><div class="memdoc"> -<p>Display preset debug information in the BGB debug messages window.</p> -<p>This function is equivalent to: </p><div class="fragment"><div class="line"><a class="code" href="bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39">BGB_MESSAGE</a>(<span class="stringliteral">"PROFILE,%(SP+$0)%,%(SP+$1)%,%A%,%TOTALCLKS%,%ROMBANK%,%WRAMBANK%"</span>);</div> -</div><!-- fragment --> -</div> -</div> -<a id="a2b2f53166550341e0b1297dd5aa5a2c3"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a2b2f53166550341e0b1297dd5aa5a2c3">◆ </a></span>BGB_printf()</h2> - -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">void BGB_printf </td> - <td>(</td> - <td class="paramtype">const char * </td> - <td class="paramname"><em>format</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype"> </td> - <td class="paramname"><em>...</em> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td> - </tr> - </table> -</div><div class="memdoc"> -<p>Print the string and arguments given by format to the BGB emulator debug message window</p> -<dl class="params"><dt>Parameters</dt><dd> - <table class="params"> - <tr><td class="paramname">format</td><td>The format string as per printf</td></tr> - </table> - </dd> -</dl> -<p>Does not return the number of characters printed. Result string MUST BE LESS OR EQUAL THAN 128 BYTES LONG, INCLUDING THE TRAILIG ZERO BYTE!</p> -<p>Currently supported: </p><ul> -<li>%hx (char as hex) </li> -<li>%hu (unsigned char) </li> -<li>%hd (signed char) </li> -<li>%c (character) </li> -<li>%u (unsigned int) </li> -<li>%d (signed int) </li> -<li>%x (unsigned int as hex) </li> -<li>%s (string)</li> -</ul> -<p>Warning: to correctly pass chars for printing as chars, they <em>must</em> be explicitly re-cast as such when calling the function. See <a class="el" href="docs_coding_guidelines.html#docs_chars_varargs">docs_chars_varargs</a> for more details. </p> - -</div> -</div> -</div><!-- contents --> +<div class="textblock"><p>Shim for legacy use of <a class="el" href="bgb__emu_8h.html">bgb_emu.h</a> which has been migrated to <a class="el" href="emu__debug_8h.html">emu_debug.h</a></p> +<p>See the <code>emu_debug</code> example project included with gbdk. </p> +</div></div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="abgb__emu_8h_html_aabd48c83af8f69ed624bb8a83347fa39"><div class="ttname"><a href="bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39">BGB_MESSAGE</a></div><div class="ttdeci">#define BGB_MESSAGE(message_text)</div><div class="ttdef"><b>Definition:</b> bgb_emu.h:40</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/bgb__emu_8h.js b/docs/api/bgb__emu_8h.js @@ -1,10 +0,0 @@ -var bgb__emu_8h = -[ - [ "BGB_MESSAGE", "bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39", null ], - [ "BGB_PROFILE_BEGIN", "bgb__emu_8h.html#ab5b05deda52856c84f274fb28578b6ee", null ], - [ "BGB_PROFILE_END", "bgb__emu_8h.html#ab43f94064dc523e99c4aefb440e2c3ed", null ], - [ "BGB_TEXT", "bgb__emu_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9", null ], - [ "BGB_BREAKPOINT", "bgb__emu_8h.html#a95c9ae3faadfe6f93a3cac87085b3481", null ], - [ "BGB_profiler_message", "bgb__emu_8h.html#a219a24aebe0bddc535ba4abc81cee30c", null ], - [ "BGB_printf", "bgb__emu_8h.html#a2b2f53166550341e0b1297dd5aa5a2c3", null ] -]; - diff --git a/docs/api/bgb__emu_8h_source.html b/docs/api/bgb__emu_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -90,62 +91,15 @@ $(document).ready(function(){initNavTree('bgb__emu_8h_source.html',''); initResi </div><!--header--> <div class="contents"> <a href="bgb__emu_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>  </div> -<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifndef __BGB_EMU_INCLUDE</span></div> -<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define __BGB_EMU_INCLUDE</span></div> -<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  </div> -<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <types.h></span></div> -<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  </div> -<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39"> 40</a></span> <span class="preprocessor">#define BGB_MESSAGE(message_text) BGB_MESSAGE1(BGB_MACRONAME(__LINE__), message_text)</span></div> -<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#define BGB_MACRONAME(A) BGB_MACRONAME1(A)</span></div> -<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define BGB_MACRONAME1(A) BGBLOG##A</span></div> -<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  </div> -<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#define BGB_MESSAGE1(name, message_text) \</span></div> -<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">__asm \</span></div> -<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">.MACRO name msg_t, ?llbl\</span></div> -<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"> ld d, d \</span></div> -<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"> jr llbl \</span></div> -<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"> .dw 0x6464 \</span></div> -<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"> .dw 0x0000 \</span></div> -<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"> .ascii msg_t \</span></div> -<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">llbl: \</span></div> -<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">.ENDM \</span></div> -<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">name ^/message_text/ \</span></div> -<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">__endasm</span></div> -<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  </div> -<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#define BGB_MESSAGE_SUFFIX(message_text, message_suffix) BGB_MESSAGE3(BGB_MACRONAME(__LINE__), message_text, message_suffix)</span></div> -<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#define BGB_MESSAGE3(name, message_text, message_suffix) \</span></div> -<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">__asm \</span></div> -<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">.MACRO name msg_t, msg_s, ?llbl\</span></div> -<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"> ld d, d \</span></div> -<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"> jr llbl \</span></div> -<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"> .dw 0x6464 \</span></div> -<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"> .dw 0x0000 \</span></div> -<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"> .ascii msg_t \</span></div> -<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"> .ascii msg_s \</span></div> -<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">llbl: \</span></div> -<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">.ENDM \</span></div> -<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">name ^/message_text/, ^/message_suffix/ \</span></div> -<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">__endasm</span></div> -<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  </div> -<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="bgb__emu_8h.html#ab5b05deda52856c84f274fb28578b6ee"> 84</a></span> <span class="preprocessor">#define BGB_PROFILE_BEGIN(MSG) BGB_MESSAGE_SUFFIX(MSG, "%ZEROCLKS%");</span></div> -<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  </div> -<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="bgb__emu_8h.html#ab43f94064dc523e99c4aefb440e2c3ed"> 110</a></span> <span class="preprocessor">#define BGB_PROFILE_END(MSG) BGB_MESSAGE_SUFFIX(MSG,"%-8+LASTCLKS%");</span></div> -<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="bgb__emu_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9"> 111</a></span> <span class="preprocessor">#define BGB_TEXT(MSG) BGB_MESSAGE(MSG)</span></div> -<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  </div> -<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="bgb__emu_8h.html#a219a24aebe0bddc535ba4abc81cee30c"> 121</a></span> <span class="keywordtype">void</span> <a class="code" href="bgb__emu_8h.html#a219a24aebe0bddc535ba4abc81cee30c">BGB_profiler_message</a>();</div> -<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  </div> -<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="bgb__emu_8h.html#a2b2f53166550341e0b1297dd5aa5a2c3"> 144</a></span> <span class="keywordtype">void</span> <a class="code" href="bgb__emu_8h.html#a2b2f53166550341e0b1297dd5aa5a2c3">BGB_printf</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  </div> -<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> static <span class="keywordtype">void</span> * __BGB_PROFILER_INIT = &<a class="code" href="bgb__emu_8h.html#a219a24aebe0bddc535ba4abc81cee30c">BGB_profiler_message</a>;</div> -<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  </div> -<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="bgb__emu_8h.html#a95c9ae3faadfe6f93a3cac87085b3481"> 150</a></span> <span class="preprocessor">#define BGB_BREAKPOINT __asm__("ld b, b");</span></div> -<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  </div> -<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef __BGB_EMU_INCLUDE</span></div> +<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define __BGB_EMU_INCLUDE</span></div> +<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>  </div> +<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <<a class="code" href="emu__debug_8h.html">gb/emu_debug.h</a>></span></div> +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  </div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> -<div class="ttc" id="abgb__emu_8h_html_a2b2f53166550341e0b1297dd5aa5a2c3"><div class="ttname"><a href="bgb__emu_8h.html#a2b2f53166550341e0b1297dd5aa5a2c3">BGB_printf</a></div><div class="ttdeci">void BGB_printf(const char *format,...) OLDCALL</div></div> -<div class="ttc" id="abgb__emu_8h_html_a219a24aebe0bddc535ba4abc81cee30c"><div class="ttname"><a href="bgb__emu_8h.html#a219a24aebe0bddc535ba4abc81cee30c">BGB_profiler_message</a></div><div class="ttdeci">void BGB_profiler_message()</div></div> +<div class="ttc" id="aemu__debug_8h_html"><div class="ttname"><a href="emu__debug_8h.html">emu_debug.h</a></div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/cgb_8h.html b/docs/api/cgb_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/cgb_8h_source.html b/docs/api/cgb_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -153,7 +154,7 @@ $(document).ready(function(){initNavTree('cgb_8h_source.html',''); initResizable <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> <div class="ttc" id="acgb_8h_html_af868d7cdbd052c6b972ef137e02f6495"><div class="ttname"><a href="cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495">palette_color_t</a></div><div class="ttdeci">uint16_t palette_color_t</div><div class="ttdef"><b>Definition:</b> cgb.h:85</div></div> <div class="ttc" id="acgb_8h_html_a884a743919b234cd9c37789380784d08"><div class="ttname"><a href="cgb_8h.html#a884a743919b234cd9c37789380784d08">cpu_fast</a></div><div class="ttdeci">void cpu_fast()</div><div class="ttdef"><b>Definition:</b> sms.h:506</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> <div class="ttc" id="acgb_8h_html_aa8881ff123f364f2e7d1e88c18f9fbca"><div class="ttname"><a href="cgb_8h.html#aa8881ff123f364f2e7d1e88c18f9fbca">set_bkg_palette_entry</a></div><div class="ttdeci">void set_bkg_palette_entry(uint8_t palette, uint8_t entry, uint16_t rgb_data) OLDCALL</div></div> <div class="ttc" id="acgb_8h_html_a9ca9f825284da0db522d15aa2e42a4af"><div class="ttname"><a href="cgb_8h.html#a9ca9f825284da0db522d15aa2e42a4af">set_sprite_palette</a></div><div class="ttdeci">void set_sprite_palette(uint8_t first_palette, uint8_t nb_palettes, palette_color_t *rgb_data) OLDCALL</div></div> <div class="ttc" id="acgb_8h_html_abd34836339579013c097ae4dea10c014"><div class="ttname"><a href="cgb_8h.html#abd34836339579013c097ae4dea10c014">set_default_palette</a></div><div class="ttdeci">void set_default_palette()</div></div> diff --git a/docs/api/classes.html b/docs/api/classes.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/console_8h.html b/docs/api/console_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/console_8h_source.html b/docs/api/console_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -117,7 +118,7 @@ $(document).ready(function(){initNavTree('console_8h_source.html',''); initResiz <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> <div class="ttc" id="aconsole_8h_html_a1e39e68fcb61161e1855b06ad5782be9"><div class="ttname"><a href="console_8h.html#a1e39e68fcb61161e1855b06ad5782be9">posy</a></div><div class="ttdeci">uint8_t posy() OLDCALL</div></div> <div class="ttc" id="aconsole_8h_html_a6ce1d0ff40a295e36bcb6d495947c8dc"><div class="ttname"><a href="console_8h.html#a6ce1d0ff40a295e36bcb6d495947c8dc">setchar</a></div><div class="ttdeci">void setchar(char c) OLDCALL</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> <div class="ttc" id="aconsole_8h_html_a8b4f3b427a9c6d87a09e1983df077e58"><div class="ttname"><a href="console_8h.html#a8b4f3b427a9c6d87a09e1983df077e58">gotoxy</a></div><div class="ttdeci">void gotoxy(uint8_t x, uint8_t y) OLDCALL</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> diff --git a/docs/api/crash__handler_8h.html b/docs/api/crash__handler_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/crash__handler_8h_source.html b/docs/api/crash__handler_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -90,11 +91,11 @@ $(document).ready(function(){initNavTree('crash__handler_8h_source.html',''); in </div><!--header--> <div class="contents"> <a href="crash__handler_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>  </div> -<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#ifndef __CRASH_HEANDLER_INCLUDE</span></div> -<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#define __CRASH_HEANDLER_INCLUDE</span></div> +<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#ifndef __CRASH_HANDLER_INCLUDE</span></div> +<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#define __CRASH_HANDLER_INCLUDE</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  </div> <div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="crash__handler_8h.html#a95aa98ab16e49eac55dcdfe42f4610cc"> 22</a></span> <span class="keywordtype">void</span> <a class="code" href="crash__handler_8h.html#a95aa98ab16e49eac55dcdfe42f4610cc">__HandleCrash</a>();</div> -<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">static</span> <span class="keywordtype">void</span> * __CRASH_HEANDLER_INIT = &<a class="code" href="crash__handler_8h.html#a95aa98ab16e49eac55dcdfe42f4610cc">__HandleCrash</a>;</div> +<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">static</span> <span class="keywordtype">void</span> * __CRASH_HANDLER_INIT = &<a class="code" href="crash__handler_8h.html#a95aa98ab16e49eac55dcdfe42f4610cc">__HandleCrash</a>;</div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  </div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> diff --git a/docs/api/ctype_8h.html b/docs/api/ctype_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/ctype_8h_source.html b/docs/api/ctype_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/dir_287c0c0afb5e0fce0a7974866b95ef94.html b/docs/api/dir_287c0c0afb5e0fce0a7974866b95ef94.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/dir_49e56c817e5e54854c35e136979f97ca.html b/docs/api/dir_49e56c817e5e54854c35e136979f97ca.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/dir_68ce43fa3f06453c3f79ef8becebb3b2.html b/docs/api/dir_68ce43fa3f06453c3f79ef8becebb3b2.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/dir_7a84f275fead463a4aefdc90fba00235.html b/docs/api/dir_7a84f275fead463a4aefdc90fba00235.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/dir_9a64cddab8e5f6fe5be80d8f39cb6a1f.html b/docs/api/dir_9a64cddab8e5f6fe5be80d8f39cb6a1f.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/dir_aedcfcf321a7f13aa34b51e3093299b2.html b/docs/api/dir_aedcfcf321a7f13aa34b51e3093299b2.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/dir_bdfe001eb73b667f67d57fb851301eb1.html b/docs/api/dir_bdfe001eb73b667f67d57fb851301eb1.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -102,6 +103,8 @@ Files</h2></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:drawing_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="drawing_8h.html">drawing.h</a> <a href="drawing_8h_source.html">[code]</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:emu__debug_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html">emu_debug.h</a> <a href="emu__debug_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gb_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html">gb.h</a> <a href="gb_8h_source.html">[code]</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gb_2gbdecompress_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2gbdecompress_8h.html">gbdecompress.h</a> <a href="gb_2gbdecompress_8h_source.html">[code]</a></td></tr> diff --git a/docs/api/dir_bdfe001eb73b667f67d57fb851301eb1.js b/docs/api/dir_bdfe001eb73b667f67d57fb851301eb1.js @@ -1,10 +1,11 @@ var dir_bdfe001eb73b667f67d57fb851301eb1 = [ [ "bcd.h", "bcd_8h.html", "bcd_8h" ], - [ "bgb_emu.h", "bgb__emu_8h.html", "bgb__emu_8h" ], + [ "bgb_emu.h", "bgb__emu_8h.html", null ], [ "cgb.h", "cgb_8h.html", "cgb_8h" ], [ "crash_handler.h", "crash__handler_8h.html", "crash__handler_8h" ], [ "drawing.h", "drawing_8h.html", "drawing_8h" ], + [ "emu_debug.h", "emu__debug_8h.html", "emu__debug_8h" ], [ "gb.h", "gb_8h.html", "gb_8h" ], [ "gbdecompress.h", "gb_2gbdecompress_8h.html", "gb_2gbdecompress_8h" ], [ "hardware.h", "gb_2hardware_8h.html", "gb_2hardware_8h" ], diff --git a/docs/api/dir_ef3b2545113449f8f25e623a543d64e3.html b/docs/api/dir_ef3b2545113449f8f25e623a543d64e3.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/docs__index_8md.html b/docs/api/docs__index_8md.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/docs_coding_guidelines.html b/docs/api/docs_coding_guidelines.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -89,42 +90,42 @@ $(document).ready(function(){initNavTree('docs_coding_guidelines.html',''); init <div class="title">Coding Guidelines </div> </div> </div><!--header--> <div class="contents"> -<div class="textblock"><h1><a class="anchor" id="autotoc_md43"></a> +<div class="textblock"><h1><a class="anchor" id="autotoc_md56"></a> Learning C / C fundamentals</h1> <p>Writing games and other programs with GBDK will be much easier with a basic understanding of the C language. In particular, understanding how to use C on "Embedded Platforms" (small computing systems, such as the Game Boy) can help you write better code (smaller, faster, less error prone) and avoid common pitfals.</p> <p><a class="anchor" id="docs_c_tutorials"></a></p> -<h2><a class="anchor" id="autotoc_md44"></a> +<h2><a class="anchor" id="autotoc_md57"></a> General C tutorials</h2> <ul> <li><a href="https://www.learn-c.org/">https://www.learn-c.org/</a></li> <li><a href="https://www.tutorialspoint.com/cprogramming/index.htm">https://www.tutorialspoint.com/cprogramming/index.htm</a></li> </ul> -<h2><a class="anchor" id="autotoc_md45"></a> +<h2><a class="anchor" id="autotoc_md58"></a> Embedded C introductions</h2> <ul> <li><a href="http://dsp-book.narod.ru/CPES.pdf">http://dsp-book.narod.ru/CPES.pdf</a></li> <li><a href="https://www.phaedsys.com/principals/bytecraft/bytecraftdata/bcfirststeps.pdf">https://www.phaedsys.com/principals/bytecraft/bytecraftdata/bcfirststeps.pdf</a></li> </ul> -<h2><a class="anchor" id="autotoc_md46"></a> +<h2><a class="anchor" id="autotoc_md59"></a> Game Boy games in C</h2> <ul> <li><a href="https://gbdev.io/list.html#c">https://gbdev.io/list.html#c</a></li> </ul> -<h1><a class="anchor" id="autotoc_md47"></a> +<h1><a class="anchor" id="autotoc_md60"></a> Understanding the hardware</h1> <p>In addition to understanding the C language it's important to learn how the Game Boy hardware works. What it is capable of doing, what it isn't able to do, and what resources are available to work with. A good way to do this is by reading the <a class="el" href="docs_links_and_tools.html#Pandocs">Pandocs</a> and checking out the <a class="el" href="docs_links_and_tools.html#awesome_gb">awesome_gb</a> list.</p> -<h1><a class="anchor" id="autotoc_md48"></a> +<h1><a class="anchor" id="autotoc_md61"></a> Writing optimal C code for the Game Boy and SDCC</h1> <p>The following guidelines can result in better code for the Game Boy, even though some of the guidance may be contrary to typical advice for general purpose computers that have more resources and speed.</p> -<h2><a class="anchor" id="autotoc_md49"></a> +<h2><a class="anchor" id="autotoc_md62"></a> Tools</h2> <p><a class="anchor" id="const_gbtd_gbmb"></a></p> -<h3><a class="anchor" id="autotoc_md50"></a> +<h3><a class="anchor" id="autotoc_md63"></a> GBTD / GBMB, Arrays and the "const" keyword</h3> <p><b>Important</b>: The old <a class="el" href="docs_links_and_tools.html#gbtd_gbmb">GBTD/GBMB</a> fails to include the <code>const</code> keyword when exporting to C source files for GBDK. That causes arrays to be created in RAM instead of ROM, which wastes RAM, uses a lot of ROM to initialize the RAM arrays and slows the compiler down a lot.</p> <p>__Use of <a class="el" href="docs_links_and_tools.html#toxa_gbtd_gbmb">toxa's updated GBTD/GBMB</a> is highly recommended.__</p> <p>If you wish to use the original tools, you must add the <code>const</code> keyword every time the graphics are re-exported to C source files.</p> -<h2><a class="anchor" id="autotoc_md51"></a> +<h2><a class="anchor" id="autotoc_md64"></a> Variables</h2> <ul> <li>Use 8-bit values as much as possible. They will be much more efficient and compact than 16 and 32 bit types.</li> @@ -162,12 +163,12 @@ Variables</h2> ... // Use only the upper 8 bits for setting the sprite position move_sprite(0, player[0].h ,player[1].h); -</pre><h2><a class="anchor" id="autotoc_md52"></a> +</pre><h2><a class="anchor" id="autotoc_md65"></a> Code structure</h2> <ul> <li>Do not <code>#include</code> <code>.c</code> source files into other <code>.c</code> source files. Instead create <code>.h</code> header files for them and include those. <a href="https://www.tutorialspoint.com/cprogramming/c_header_files.htm">https://www.tutorialspoint.com/cprogramming/c_header_files.htm</a></li> <li>Instead of using a blocking <a class="el" href="gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d">delay()</a> for things such as sprite animations/etc (which can prevent the rest of the game from continuing) many times it's better to use a counter which performs an action once every N frames. <a class="el" href="sms_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a> may be useful in these cases.</li> -<li>When processing for a given frame is done and it is time to wait before starting the next frame, <a class="el" href="gb_8h.html#a68346350199018249bdf8019b7131514">wait_vbl_done()</a> can be used. It uses HALT to put the CPU into a low power state until processing resumes. The CPU will wake up and resume processing at the end of the current frame when the Vertical Blanking interrupt is triggered.</li> +<li>When processing for a given frame is done and it is time to wait before starting the next frame, <a class="el" href="gb_8h.html#acd186eb292d441f9389e77b545a55619">wait_vbl_done()</a> can be used. It uses HALT to put the CPU into a low power state until processing resumes. The CPU will wake up and resume processing at the end of the current frame when the Vertical Blanking interrupt is triggered.</li> <li>Minimize use of multiplication, modulo with non-powers of 2, and division with non-powers of 2. These operations have no corresponding CPU instructions (software functions), and hence are time costly.<ul> <li>SDCC has some optimizations for:<ul> <li>Division by powers of 2. For example <code>n /= 4u</code> will be optimized to <code>n >>= 2</code>.</li> @@ -181,15 +182,15 @@ Code structure</h2> <li>Use inline functions if the function is short. (with the <code>inline</code> keyword, such as <code>inline uint8_t myFunction() { ... }</code>)</li> <li>Do not use recursive functions</li> </ul> -<h2><a class="anchor" id="autotoc_md53"></a> +<h2><a class="anchor" id="autotoc_md66"></a> GBDK API/Library</h2> <ul> <li>stdio.h: If you have other ways of printing text, avoid including <a class="el" href="stdio_8h.html">stdio.h</a> and using functions such as <a class="el" href="stdio_8h.html#ab403fa700816f08631ba75bc536f74d4">printf()</a>. Including it will use a large number of the background tiles for font characters. If stdio.h is not included then that space will be available for use with other tiles instead.</li> <li>drawing.h: The Game Boy graphics hardware is not well suited to frame-buffer style graphics such as the kind provided in <a class="el" href="drawing_8h.html">drawing.h</a>. Due to that, most drawing functions (rectangles, circles, etc) will be slow . When possible it's much faster and more efficient to work with the tiles and tile maps that the Game Boy hardware is built around.</li> -<li><a class="el" href="gb_8h.html#ac4f9e19d2834988ff005106b3f5b2f05">waitpad()</a> and <a class="el" href="sms_8h.html#a35fbfcc0bffc93a47217caff66ca36a7">waitpadup</a> check for input in a loop that doesn't HALT at all, so the CPU will be maxed out until it returns. One alternative is to write a function with a loop that checks input with <a class="el" href="gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad()</a> and then waits a frame using <a class="el" href="gb_8h.html#a68346350199018249bdf8019b7131514">wait_vbl_done()</a> (which idles the CPU while waiting) before checking input again.</li> -<li><a class="el" href="gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad()</a>: When testing for multiple different buttons, it's best to read the joypad state <em>once</em> into a variable and then test using that variable (instead of making multiple calls).</li> +<li><a class="el" href="gb_8h.html#aae433db7d8e3ee4c095c254b8abd7b8b">waitpad()</a> and <a class="el" href="sms_8h.html#a955d3733e5018f18b17a572aff45cf26">waitpadup</a> check for input in a loop that doesn't HALT at all, so the CPU will be maxed out until it returns. One alternative is to write a function with a loop that checks input with <a class="el" href="gb_8h.html#a176c477d759b814664785f3a0ad5e253">joypad()</a> and then waits a frame using <a class="el" href="gb_8h.html#acd186eb292d441f9389e77b545a55619">wait_vbl_done()</a> (which idles the CPU while waiting) before checking input again.</li> +<li><a class="el" href="gb_8h.html#a176c477d759b814664785f3a0ad5e253">joypad()</a>: When testing for multiple different buttons, it's best to read the joypad state <em>once</em> into a variable and then test using that variable (instead of making multiple calls).</li> </ul> -<h2><a class="anchor" id="autotoc_md54"></a> +<h2><a class="anchor" id="autotoc_md67"></a> Toolchain</h2> <ul> <li>See SDCC optimizations: <a href="http://sdcc.sourceforge.net/doc/sdccman.pdf#section.8.1">http://sdcc.sourceforge.net/doc/sdccman.pdf#section.8.1</a></li> @@ -205,7 +206,7 @@ Toolchain</h2> <li>Learn some ASM and inspect the compiler output to understand what the compiler is doing and how your code gets translated. This can help with writing better C code and with debugging.</li> </ul> <p><a class="anchor" id="docs_chars_varargs"></a></p> -<h2><a class="anchor" id="autotoc_md55"></a> +<h2><a class="anchor" id="autotoc_md68"></a> chars and vararg functions</h2> <p>In standard C when <code>chars</code> are passed to a function with variadic arguments (varargs, those delcared with <code>...</code> as a parameter), such as <a class="el" href="stdio_8h.html#ab403fa700816f08631ba75bc536f74d4">printf()</a>, those <code>chars</code> get automatically promoted to <code>ints</code>. For an 8 bit cpu such as the Game Boy's, this is not as efficient or desireable in most cases. So the default SDCC behavior, which GBDK-2020 expects, is that chars will remain chars and <em>not</em> get promoted to ints when <b>explicitly cast as chars while calling a varargs function</b>.</p> <ul> @@ -227,16 +228,16 @@ printf("%hx %hx", i, i); // The output will be: 5A 5A printf("%hx %hx", (unsigned char)i, (unsigned char)i); </pre><p>Some functions that accept varargs:</p><ul> -<li><a class="el" href="bgb__emu_8h.html#a2b2f53166550341e0b1297dd5aa5a2c3">BGB_printf</a>, <a class="el" href="drawing_8h.html#a5f7a0ed309f9526e9be285146559848c">gprintf()</a>, <a class="el" href="stdio_8h.html#ab403fa700816f08631ba75bc536f74d4">printf()</a>, <a class="el" href="stdio_8h.html#a31913a297ee18548c81d482ef6bdbe0f">sprintf()</a></li> +<li><a class="el" href="emu__debug_8h.html#a586ce1ddfba9c35726887ca31f933963">EMU_printf</a>, <a class="el" href="drawing_8h.html#a5f7a0ed309f9526e9be285146559848c">gprintf()</a>, <a class="el" href="stdio_8h.html#ab403fa700816f08631ba75bc536f74d4">printf()</a>, <a class="el" href="stdio_8h.html#a31913a297ee18548c81d482ef6bdbe0f">sprintf()</a></li> </ul> <p>Also See:</p><ul> <li>Other cases of char to int promotion: <a href="http://sdcc.sourceforge.net/doc/sdccman.pdf#chapter.6">http://sdcc.sourceforge.net/doc/sdccman.pdf#chapter.6</a></li> </ul> -<h1><a class="anchor" id="autotoc_md56"></a> +<h1><a class="anchor" id="autotoc_md69"></a> When C isn't fast enough</h1> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>Update and verify this section for the modernized SDCC and toolchain</dd></dl> <p>For many applications C is fast enough but in intensive functions are sometimes better written in assembler. This section deals with interfacing your core C program with fast assembly sub routines.</p> -<h2><a class="anchor" id="autotoc_md57"></a> +<h2><a class="anchor" id="autotoc_md70"></a> Calling convention</h2> <p>sdcc in common with almost all C compilers prepends a '_' to any function names. For example the function printf(...) begins at the label _printf::. Note that all functions are declared global.</p> <p>The parameters to a function are pushed in right to left order with no aligning - so a byte takes up a byte on the stack instead of the more natural word. So for example the function int store_byte( uint16_t addr, uint8_t byte) would push 'byte' onto the stack first then addr using a total of three bytes. As the return address is also pushed, the stack would contain: </p><pre class="fragment"> At SP+0 - the return address @@ -246,11 +247,11 @@ Calling convention</h2> At SP+4 - byte </pre><p>Note that the arguments that are pushed first are highest in the stack due to how the Game Boy's stack grows downwards.</p> <p>The function returns in DE.</p> -<h2><a class="anchor" id="autotoc_md58"></a> +<h2><a class="anchor" id="autotoc_md71"></a> Variables and registers</h2> <p>C normally expects registers to be preserved across a function call. However in the case above as DE is used as the return value and HL is used for anything, only BC needs to be preserved.</p> <p>Getting at C variables is slightly tricky due to how local variables are allocated on the stack. However you shouldn't be using the local variables of a calling function in any case. Global variables can be accessed by name by adding an underscore.</p> -<h2><a class="anchor" id="autotoc_md59"></a> +<h2><a class="anchor" id="autotoc_md72"></a> Segments</h2> <p>The use of segments for code, data and variables is more noticeable in assembler. GBDK and SDCC define a number of default segments - <code>_CODE</code>, <code>_DATA</code> and <code>_BSS</code>. Two extra segments <code>_HEADER</code> and <code>_HEAP</code> exist for the Game Boy header and malloc heap respectively.</p> <p>The order these segments are linked together is determined by crt0.s and is currently <code>_CODE</code> in ROM, then <code>_DATA</code>, <code>_BSS</code>, <code>_HEAP</code> in WRAM, with <code>STACK</code> at the top of WRAM. <code>_HEAP</code> is placed after <code>_BSS</code> so that all spare memory is available for the malloc routines. To place code in other than the first two banks, use the segments <code>_CODE_x</code> where x is the 16kB bank number.</p> diff --git a/docs/api/docs_example_programs.html b/docs/api/docs_example_programs.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -90,19 +91,19 @@ $(document).ready(function(){initNavTree('docs_example_programs.html',''); initR </div><!--header--> <div class="contents"> <div class="textblock"><p>GBDK includes several example programs both in C and in assembly. They are located in the examples directory, and in its subdirectories. They can be built by typing <code>make</code> in the correnponding directory.</p> -<h1><a class="anchor" id="autotoc_md122"></a> +<h1><a class="anchor" id="autotoc_md139"></a> banks (various projects)</h1> <p>There are several different projects showing how to use ROM banking with GBDK.</p> -<h1><a class="anchor" id="autotoc_md123"></a> +<h1><a class="anchor" id="autotoc_md140"></a> comm</h1> <p>Illustrates how to use communication routines.</p> -<h1><a class="anchor" id="autotoc_md124"></a> +<h1><a class="anchor" id="autotoc_md141"></a> crash</h1> <p>Demonstrates how to use the optional GBDK crash handler which dumps debug info to the Game Boy screen in the event of a program crash.</p> -<h1><a class="anchor" id="autotoc_md125"></a> +<h1><a class="anchor" id="autotoc_md142"></a> colorbar</h1> <p>The colorbar program, written by Mr. N.U. of TeamKNOx, illustrates the use of colors on a Color GameBoy.</p> -<h1><a class="anchor" id="autotoc_md126"></a> +<h1><a class="anchor" id="autotoc_md143"></a> dscan</h1> <p>Deep Scan is a game written by Mr. N.U. of TeamKNOx that supports the Color GameBoy. Your aim is to destroy the submarines from your boat, and to avoid the projectiles that they send to you. The game should be self-explanatory. The following keys are used: </p><pre class="fragment">RIGHT/LEFT : Move your boat A/B : Send a bomb from one side of your boat @@ -113,28 +114,28 @@ When game is paused: SELECT : Invert A and B buttons RIGHT/LEFT : Change speed UP/DOWN : Change level -</pre><h1><a class="anchor" id="autotoc_md127"></a> +</pre><h1><a class="anchor" id="autotoc_md144"></a> filltest</h1> <p>Demonstrates various graphics routines.</p> -<h1><a class="anchor" id="autotoc_md128"></a> +<h1><a class="anchor" id="autotoc_md145"></a> fonts</h1> <p>Examples of how to work with the built in font and printing features.</p> -<h1><a class="anchor" id="autotoc_md129"></a> +<h1><a class="anchor" id="autotoc_md146"></a> galaxy</h1> <p>A C translation of the space.s assembly program.</p> -<h1><a class="anchor" id="autotoc_md130"></a> +<h1><a class="anchor" id="autotoc_md147"></a> gb-dtmf</h1> <p>The gb-dtmf, written by Osamu Ohashi, is a Dual Tone Multi-Frequency (DTMF) generator.</p> -<h1><a class="anchor" id="autotoc_md131"></a> +<h1><a class="anchor" id="autotoc_md148"></a> gbdecompress</h1> <p>Demonstrates using gbdecompress to load a compressed tile set into vram.</p> -<h1><a class="anchor" id="autotoc_md132"></a> +<h1><a class="anchor" id="autotoc_md149"></a> irq</h1> <p>Illustrates how to install interrupt handlers.</p> -<h1><a class="anchor" id="autotoc_md133"></a> +<h1><a class="anchor" id="autotoc_md150"></a> large map</h1> <p>Shows how to scroll with maps larger than 32 x 32 tiles using <a class="el" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap()</a>. It fills rows and columns at the edges of the visible viewport (of the hardware Background Map) with the desired sub-region of the large map as it scrolls.</p> -<h1><a class="anchor" id="autotoc_md134"></a> +<h1><a class="anchor" id="autotoc_md151"></a> metasprites</h1> <p>Demonstrates using the metasprite features to move and animate a large sprite.</p><ul> <li>Press A button to show / hide the metasprite</li> @@ -142,31 +143,31 @@ metasprites</h1> <li>Press SELECT button to cycle the metasprite through Normal / Flip-Y / Flip-XY / Flip-X</li> <li>Up / Down / Left / Right to move the metasprite</li> </ul> -<h1><a class="anchor" id="autotoc_md135"></a> +<h1><a class="anchor" id="autotoc_md152"></a> lcd isr wobble</h1> <p>An example of how to use the LCD ISR for visual special effects</p> -<h1><a class="anchor" id="autotoc_md136"></a> +<h1><a class="anchor" id="autotoc_md153"></a> paint</h1> <p>The paint example is a painting program. It supports different painting tools, drawing modes, and colors. At the moment, it only paints individual pixels. This program illustrates the use of the full-screen drawing library. It also illustrates the use of generic structures and big sprites. </p><pre class="fragment">Arrow keys : Move the cursor SELECT : Display/hide the tools palette A : Select tool -</pre><h1><a class="anchor" id="autotoc_md137"></a> +</pre><h1><a class="anchor" id="autotoc_md154"></a> rand</h1> <p>The rand program, written by Luc Van den Borre, illustrates the use of the GBDK random generator.</p> -<h1><a class="anchor" id="autotoc_md138"></a> +<h1><a class="anchor" id="autotoc_md155"></a> ram_fn</h1> <p>The ram_fn example illustrates how to copy functions to RAM or HIRAM, and how to call them from C.</p> -<h1><a class="anchor" id="autotoc_md139"></a> +<h1><a class="anchor" id="autotoc_md156"></a> rpn</h1> <p>A basic RPN calculator. Try entering expressions like 12 134* and then 1789+.</p> -<h1><a class="anchor" id="autotoc_md140"></a> +<h1><a class="anchor" id="autotoc_md157"></a> samptest</h1> <p>Demonstration of playing a sound sample.</p> -<h1><a class="anchor" id="autotoc_md141"></a> +<h1><a class="anchor" id="autotoc_md158"></a> sgb (various)</h1> <p>A collection of examples showing how to use the Super Game Boy API features.</p> <p><a class="anchor" id="examples_sound_sample"></a></p> -<h1><a class="anchor" id="autotoc_md142"></a> +<h1><a class="anchor" id="autotoc_md159"></a> sound</h1> <p>The sound example is meant for experimenting with the soung generator of the GameBoy (to use on a real GameBoy). The four different sound modes of the GameBoy are available. It also demonstrates the use of bit fields in C (it's a quick hack, so don't expect too much from the code). The following keys are used: </p><pre class="fragment">UP/DOWN : Move the cursor RIGHT/LEFT : Increment/decrement the value @@ -176,14 +177,14 @@ START : Play the current mode's sound (or all modes if in control screen) START+A : Play a little music with the current mode's sound SELECT : Change the sound mode (1, 2, 3, 4 and control) SELECT+A : Dump the sound registers to the screen -</pre><h1><a class="anchor" id="autotoc_md143"></a> +</pre><h1><a class="anchor" id="autotoc_md160"></a> space</h1> <p>The space example is an assembly program that demonstrates the use of sprites, window, background, fixed-point values and more. The following keys are used: </p><pre class="fragment">Arrow keys : Change the speed (and direction) of the sprite Arrow keys + A : Change the speed (and direction) of the window Arrow keys + B : Change the speed (and direction) of the background START : Open/close the door SELECT : Basic fading effect -</pre><h1><a class="anchor" id="autotoc_md144"></a> +</pre><h1><a class="anchor" id="autotoc_md161"></a> templates</h1> <p>Two basic template examples are provided as a starting place for writing your GBDK programs. </p> </div></div><!-- contents --> diff --git a/docs/api/docs_faq.html b/docs/api/docs_faq.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -90,17 +91,30 @@ $(document).ready(function(){initNavTree('docs_faq.html',''); initResizable(); } </div><!--header--> <div class="contents"> <div class="textblock"><p><a class="anchor" id="toolchain_faq"></a></p> -<h1><a class="anchor" id="autotoc_md145"></a> +<h1><a class="anchor" id="autotoc_md162"></a> General</h1> <ul> <li>How can sound effects be made?<ul> <li>The simplest way is to use the Game Boy sound hardware directly. See the <a class="el" href="docs_example_programs.html#examples_sound_sample">Sound Example</a> for a way to test out sounds on the hardware.</li> -<li>Further discussion on using the Sound Example rom can be found in the ZGB wiki. Note that some example code there is ZGB specific and not part of the base GBDK API: <a href="https://github.com/Zal0/ZGB/wiki/Sounds">https://github.com/Zal0/ZGB/wiki/Sounds</a> <br /> +<li>Further discussion on using the Sound Example rom can be found in the ZGB wiki. Note that some example code there is ZGB specific and not part of the base GBDK API: <a href="https://github.com/Zal0/ZGB/wiki/Sounds">https://github.com/Zal0/ZGB/wiki/Sounds</a></li> +</ul> +</li> +</ul> +<h1><a class="anchor" id="autotoc_md163"></a> +Graphics and Resources</h1> +<ul> +<li>How do I use a tile map when it's tiles don't start at index zero?<ul> +<li>The two main options are:<ul> +<li>Use <a class="el" href="gb_8h.html#a811c386cac0df2d260aacb5a43608be5">set_bkg_based_tiles()</a>, <a class="el" href="gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0">set_bkg_based_submap()</a>, <a class="el" href="gb_8h.html#a739a212609ae60c9c56c095f96b4ea80">set_win_based_tiles()</a>, <a class="el" href="gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">set_win_based_submap()</a> and provide a tile origin offset.</li> +<li>Use <a class="el" href="docs_toolchain.html#utility_png2asset">utility_png2asset</a> with <code>-tile_origin</code> to create a map with the tile index offsets built in.</li> +</ul> </li> </ul> </li> </ul> -<h1><a class="anchor" id="autotoc_md146"></a> +<p><br /> +</p> +<h1><a class="anchor" id="autotoc_md164"></a> ROM Header Settings</h1> <ul> <li>How do I set the ROM's title?<ul> @@ -121,13 +135,13 @@ ROM Header Settings</h1> </li> </ul> </li> -<li>How do I set the ROM <a class="el" href="docs_rombanking_mbcs.html#MBC">MBC</a> type?<ul> +<li>How do I set the ROM <a class="el" href="docs_rombanking_mbcs.html#MBC">MBC</a> type, and what MBC values are available to use with the <code>-yt</code> <a class="el" href="docs_toolchain.html#makebin">makebin</a> flag?<ul> <li>See <a class="el" href="docs_rombanking_mbcs.html#setting_mbc_and_rom_ram_banks">setting_mbc_and_rom_ram_banks</a> <br /> </li> </ul> </li> </ul> -<h1><a class="anchor" id="autotoc_md147"></a> +<h1><a class="anchor" id="autotoc_md165"></a> Errors / Compiling / Toolchain</h1> <p><a class="anchor" id="faq_sdcc_peephole_instruction_error"></a></p><ul> <li>What does <code>z80instructionSize() failed to parse line node, assuming 999 bytes</code> mean?<ul> @@ -168,8 +182,19 @@ Errors / Compiling / Toolchain</h1> </li> </ul> </li> +<li>How do I move the start of the <code>DATA</code> section and the <code>Shadow OAM</code> location?<ul> +<li>The default locations are: <code>_shadow_OAM=0xC000</code> and 240 bytes after it <code>_DATA=0xC0A0</code></li> +<li>So, for example, if you wanted to move them both to start 256(0x100) bytes later, use these command line arguments for LCC:<ul> +<li>To change the Shadow OAM address: <code>-Wl-g_shadow_OAM=0xC100</code></li> +<li>To change the DATA address (again, 240 bytes after the Shadow OAM): <code>-Wl-b_DATA=0xc1a0</code></li> </ul> -<h1><a class="anchor" id="autotoc_md148"></a> +</li> +</ul> +</li> +</ul> +<p><br /> +</p> +<h1><a class="anchor" id="autotoc_md166"></a> API / Utilities</h1> <ul> <li>Is there a list of all functions in the API?<ul> @@ -189,7 +214,7 @@ API / Utilities</h1> </li> </ul> </li> -<li>How can maps larger than 32x32 tiles be scrolled? & Why is the map wrapping around to the left side when setting a map wider than 32 tiles with <a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data()</a>?<ul> +<li>How can maps larger than 32x32 tiles be scrolled? & Why is the map wrapping around to the left side when setting a map wider than 32 tiles with <a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data()</a>?<ul> <li>The hardware Background map is 32 x 32 tiles. The screen viewport that can be scrolled around that map is 20 x 18 tiles. In order to scroll around within a much larger map, new tiles must be loaded at the edges of the screen viewport in the direction that it is being scrolled. <a class="el" href="sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298">set_bkg_submap</a> can be used to load those rows and columns of tiles from the desired sub-region of the large map.</li> <li>See the "Large Map" example program and <a class="el" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap()</a></li> <li>Writes that exceed coordinate 31 of the Background tile map on the x or y axis will wrap around to the Left and Top edges. <br /> diff --git a/docs/api/docs_getting_started.html b/docs/api/docs_getting_started.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -96,10 +97,17 @@ $(document).ready(function(){initNavTree('docs_getting_started.html',''); initRe <h1><a class="anchor" id="autotoc_md7"></a> 2. Compile Example projects</h1> <p>Make sure your GBDK-2020 installation is working correctly by compiling some of the included <a class="el" href="docs_example_programs.html">example projects</a>.</p> +<p>If everything in works in the steps below and there are no errors reported then each project that was build should have it's on .gb ROM file (or suitable extension for the other supported targets).</p> +<h2><a class="anchor" id="autotoc_md8"></a> +Windows (without Make installed):</h2> +<p>Navigate to a project within the example projects folder (<code>"examples\gb\"</code> under your GBDK-2020 install folder) and open a command line. Then type: </p><pre class="fragment">compile +</pre><p>or </p><pre class="fragment">compile.bat +</pre><p>This should build the example project. You can also navigate into other example project folders and build in the same way.</p> +<h2><a class="anchor" id="autotoc_md9"></a> +Linux / MacOS / Windows with Make installed:</h2> <p>Navigate to the example projects folder (<code>"examples/gb/"</code> under your GBDK-2020 install folder) and open a command line. Then type: </p><pre class="fragment">make </pre><p>This should build all of the examples sequentially. You can also navigate into an individual example project's folder and build it by typing <code>make</code>.</p> -<p>If everything works and there are no errors reported each example sub-folder should have it's on .gb ROM file.</p> -<h1><a class="anchor" id="autotoc_md8"></a> +<h1><a class="anchor" id="autotoc_md10"></a> 3. Use a Template</h1> <p><b>To create a new project use a template!</b></p> <p>There are template projects included in the <a class="el" href="docs_example_programs.html">GBDK example projects</a> to help you get up and running. Their folder names start with <code>template_</code>.</p> @@ -109,14 +117,14 @@ $(document).ready(function(){initNavTree('docs_getting_started.html',''); initRe <li>Type <code>make</code> on the command line in that folder to verify it still builds.</li> <li>Open main.c to start making changes.</li> </ol> -<h1><a class="anchor" id="autotoc_md9"></a> +<h1><a class="anchor" id="autotoc_md11"></a> 4. If you use GBTD / GBMB, get the fixed version</h1> <p>If you plan to use GBTD / GBMB for making graphics, make sure to get the version with the <code>const</code> fix and other improvements. See <a class="el" href="docs_coding_guidelines.html#const_gbtd_gbmb">const_gbtd_gbmb</a>.</p> -<h1><a class="anchor" id="autotoc_md10"></a> +<h1><a class="anchor" id="autotoc_md12"></a> 5. Review Coding Guidelines</h1> <p>Take a look at the <a class="el" href="docs_coding_guidelines.html">coding guidelines</a>, even if you have experience writing software for other platforms. There is important information to help you get good results and performance on the Game Boy.</p> <p>If you haven't written programs in C before, check the <a class="el" href="docs_coding_guidelines.html#docs_c_tutorials">C tutorials section</a>.</p> -<h1><a class="anchor" id="autotoc_md11"></a> +<h1><a class="anchor" id="autotoc_md13"></a> 6. Hardware and Resources</h1> <p>If you have a specific project in mind, consider what hardware want to target. It isn't something that has to be decided up front, but it can influence design and implementation.</p> <p>What size will your game or program be?</p><ul> @@ -124,30 +132,88 @@ $(document).ready(function(){initNavTree('docs_getting_started.html',''); initRe <li>Larger than 32K (MBC required)</li> <li>See more details about <a class="el" href="docs_rombanking_mbcs.html">ROM Banking and MBCs</a>.</li> </ul> -<p>What hardware will it run on?</p><ul> +<p>What console platform(s) will it run on?</p><ul> +<li>Game Boy (GB/GBC)</li> +<li>Analogue Pocket (AP)</li> +<li>Sega Master System (SMS)</li> +<li>Game Gear (GG)</li> +<li>Mega Duck (DUCK)</li> +<li>See <a class="el" href="docs_supported_consoles.html">Supported Consoles & Cross Compiling</a></li> +</ul> +<p>If targeting the Game Boy, what hardware will it run on?</p><ul> <li>Game Boy (& Game Boy Color)</li> <li>Game Boy Color only</li> <li>Game Boy & Super Game Boy</li> <li>See how to <a class="el" href="docs_faq.html#faq_gb_type_header_setting">set the compatibility type in the cartridge header</a>. Read more about hardware differences in the <a class="el" href="docs_links_and_tools.html#Pandocs">Pandocs</a></li> </ul> -<h1><a class="anchor" id="autotoc_md12"></a> +<h1><a class="anchor" id="autotoc_md14"></a> 7. Set up C Source debugging</h1> <p>Tracking down problems in code is easier with a debugger. Emulicious has a <a class="el" href="docs_links_and_tools.html#Emulicious_debug">debug adapter</a> that provides C source debugging with GBDK-2020.</p> -<h1><a class="anchor" id="autotoc_md13"></a> +<h1><a class="anchor" id="autotoc_md15"></a> 8. Try a GBDK Tutorial</h1> <p>You might want to start off with a guided GBDK tutorial from the <a class="el" href="docs_links_and_tools.html#links_gbdk_tutorials">GBDK Tutorials section</a>.</p> <ul> <li><b>Note:</b> Tutorials (or parts of them) may be based on the older GBDK from the 2000's before it was updated to be GBDK-2020. The general principals are all the same, but the setup and parts of the <a class="el" href="docs_toolchain.html">toolchain</a> (compiler/etc) may be somewhat different and some links may be outdated (pointing to the old GBDK or old tools).</li> </ul> -<h1><a class="anchor" id="autotoc_md14"></a> +<h1><a class="anchor" id="autotoc_md16"></a> 9. Read up!</h1> <ul> <li>It is strongly encouraged to read more <a class="el" href="index.html#docs_index">GBDK-2020 General Documentation</a>.</li> <li>Learn about the Game Boy hardware by reading through the <a class="el" href="docs_links_and_tools.html#Pandocs">Pandocs</a> technical reference.</li> </ul> -<h1><a class="anchor" id="autotoc_md15"></a> +<h1><a class="anchor" id="autotoc_md17"></a> 10. Need help?</h1> -<p>Check out the links for <a class="el" href="docs_links_and_tools.html#links_help_and_community">online community and support</a> and read the <a class="el" href="docs_faq.html">FAQ</a>. </p> +<p>Check out the links for <a class="el" href="docs_links_and_tools.html#links_help_and_community">online community and support</a> and read the <a class="el" href="docs_faq.html">FAQ</a>.</p> +<h1><a class="anchor" id="autotoc_md18"></a> +Migrating From Pre-GBDK-2020 Tutorials</h1> +<p>Several popular GBDK Tutorials, Videos and How-to's were made before GBDK-2020 was available, as a result some information they include is outdated or incompatible. The following summarizes changes that should be made for best results.</p> +<h2><a class="anchor" id="autotoc_md19"></a> +Also see:</h2> +<ul> +<li><a class="el" href="docs_migrating_versions.html">Migrating to new GBDK Versions</a></li> +<li><a class="el" href="docs_coding_guidelines.html">Coding Guidelines</a></li> +<li><a class="el" href="docs_getting_started.html">Getting Started</a> (the section above this)</li> +</ul> +<h2><a class="anchor" id="autotoc_md20"></a> +Use auto-banking</h2> +<p>GBDK-2020 now supports auto-banking (<a class="el" href="docs_rombanking_mbcs.html#rom_autobanking">rom_autobanking</a>). In most cases using auto-banking will be easier and less error prone than manually assigning source and assets to banks.</p><ul> +<li>There is a source example <code>banks_autobank</code> project.</li> +</ul> +<h2><a class="anchor" id="autotoc_md21"></a> +Non-standard types (UINT8, etc)</h2> +<p>The old GBDK types <code>UINT8</code>, <code>INT8</code>, <code>UINT16</code>, <code>INT16</code> are non-standard and less portable.</p> +<p>The following should be used instead: <code>uint8_t</code>, <code>int16_t</code>, <code>uint16_t</code>, <code>int32_t</code>, <code>uint32_t</code> and <code>bool</code>.</p> +<p>These are standard types defined in <code>stdint.h</code> (<code>#include <stdint.h></code>) and <code>stdbool.h</code> (<code>#include <stdbool.h></code>).</p> +<h2><a class="anchor" id="autotoc_md22"></a> +If using GBTD / GBMB, get the fixed version</h2> +<p>If you plan to use GBTD / GBMB for making graphics, make sure to get the version with the <code>const</code> fix and other improvements. See <a class="el" href="docs_coding_guidelines.html#const_gbtd_gbmb">const_gbtd_gbmb</a>.</p> +<h2><a class="anchor" id="autotoc_md23"></a> +LCC and SDCC flags that are not needed</h2> +<p>The following flag is no longer needed with <a class="el" href="docs_toolchain.html#lcc">lcc</a> and <a class="el" href="docs_toolchain.html#sdcc">sdcc</a>, it can be removed without any loss of performance.</p><ul> +<li><code>-DUSE_SFR</code><ul> +<li>Behavior formerly enabled by USE_SFR_FOR_REG is on by default now (no need to specify it, it isn't a tested <code>#ifdef</code> anymore). check here why: <a href="https://gbdev.gg8.se/forums/viewtopic.php?id=697">https://gbdev.gg8.se/forums/viewtopic.php?id=697</a></li> +</ul> +</li> +</ul> +<h2><a class="anchor" id="autotoc_md24"></a> +ROM Header Settings (such as Color, SGB, etc)</h2> +<p>Setting ROM bytes directly with <code>-Wl-yp0x<address>=0x<value></code> is no longer supported. Instead use <a class="el" href="docs_toolchain.html#makebin">makebin</a> flags. For example, use <code>-Wm-yC</code> instead of <code>-Wl-yp0x143=0xC0</code>. See <a class="el" href="docs_faq.html#faq_gb_type_header_setting">faq_gb_type_header_setting</a>.</p> +<h2><a class="anchor" id="autotoc_md25"></a> +GBDK Header include changes</h2> +<p>The following header files which are now cross platform were moved from <code>gb/</code> to <code>gbdk/</code>: <code>bcd.h</code>, <code>console.h</code>, <code>far_ptr.h</code>, <code>font.h</code>, <code>gbdecompress.h</code>, <code>gbdk-lib.h</code>, <code>incbin.h</code>, <code>metasprites.h</code>, <code>platform.h</code>, <code>version.h</code></p><ul> +<li>When including them use <code>#include <gbdk/...></code> instead of <code>#include <gb/></code></li> +</ul> +<h2><a class="anchor" id="autotoc_md26"></a> +Include .h headers, not .c source files</h2> +<p>Do not <code>#include</code> <code>.c</code> source files into other <code>.c</code> source files. Instead create <code>.h</code> header files for them and include those.</p><ul> +<li><a href="https://www.tutorialspoint.com/cprogramming/c_header_files.htm">https://www.tutorialspoint.com/cprogramming/c_header_files.htm</a></li> +</ul> +<h2><a class="anchor" id="autotoc_md27"></a> +Use the Template Projects</h2> +<p>Modern project templates are included with GBDK-2020. Using them (and their Makefile or compile.bat) as a starting point for projects is recommended and can help ensure better default settings and project organization.</p> +<h2><a class="anchor" id="autotoc_md28"></a> +Use hUGEtracker instead of gbt_player</h2> +<p>hUGEtracker and it's driver <a class="el" href="docs_links_and_tools.html#hUGEdriver">hUGEdriver</a> are smaller, more efficient and more versatile than gbt_player. </p> </div></div><!-- contents --> </div><!-- PageDoc --> </div><!-- doc-content --> diff --git a/docs/api/docs_links_and_tools.html b/docs/api/docs_links_and_tools.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -91,7 +92,7 @@ $(document).ready(function(){initNavTree('docs_links_and_tools.html',''); initRe <div class="contents"> <div class="textblock"><p>This is a brief list of useful tools and information. It is not meant to be complete or exhaustive, for a larger list see the <a class="el" href="docs_links_and_tools.html#awesome_gb">Awesome Game Boy Development</a> list.</p> <p><a class="anchor" id="links_sdcc_docs"></a></p> -<h1><a class="anchor" id="autotoc_md16"></a> +<h1><a class="anchor" id="autotoc_md29"></a> SDCC Compiler Suite User Manual</h1> <ul> <li>GBDK-2020 uses the SDCC compiler and related tools. The SDCC manual goes into much more detail about available features and how to use them. <br /> @@ -99,7 +100,7 @@ SDCC Compiler Suite User Manual</h1> <a href="http://sdcc.sourceforge.net">http://sdcc.sourceforge.net</a></li> </ul> <p><a class="anchor" id="links_help_and_community"></a></p> -<h1><a class="anchor" id="autotoc_md17"></a> +<h1><a class="anchor" id="autotoc_md30"></a> Getting Help</h1> <ul> <li>GBDK Discord community: <br /> @@ -108,7 +109,7 @@ Getting Help</h1> <a href="https://gbdev.gg8.se/forums/">https://gbdev.gg8.se/forums/</a></li> </ul> <p><a class="anchor" id="links_gameboy_docs"></a></p> -<h1><a class="anchor" id="autotoc_md18"></a> +<h1><a class="anchor" id="autotoc_md31"></a> Game Boy Documentation</h1> <ul> <li><a class="anchor" id="Pandocs"></a> <b>Pandocs</b> <br /> @@ -119,16 +120,18 @@ Game Boy Documentation</h1> <a href="https://gbdev.io/list.html">https://gbdev.io/list.html</a></li> </ul> <p><a class="anchor" id="links_sms_gg_docs"></a></p> -<h1><a class="anchor" id="autotoc_md19"></a> +<h1><a class="anchor" id="autotoc_md32"></a> Sega Master System / Game Gear Documentation</h1> <ul> <li><a class="anchor" id="smspower"></a> <b>SMS Power!</b> <br /> Community site with technical documentation, reviews and other content related to the Sega 8-bit systems. <a href="https://www.smspower.org/">https://www.smspower.org/</a></li> </ul> <p><a class="anchor" id="links_gbdk_tutorials"></a></p> -<h1><a class="anchor" id="autotoc_md20"></a> +<h1><a class="anchor" id="autotoc_md33"></a> Tutorials</h1> <ul> +<li><a class="anchor" id="tutorials_larolds"></a> <b>Larold's Jubilant Junkyard Tutorials</b> <br /> + Several walk throughs about the fundamentals of developing for the Game Boy with GBDK-2020. There are simple examples with source code. <a href="https://laroldsjubilantjunkyard.com/tutorials/">https://laroldsjubilantjunkyard.com/tutorials/</a></li> <li><a class="anchor" id="tutorials_gamingmonsters"></a> <b>Gaming Monsters Tutorials</b> <br /> Several video tutorials and code for making games with GBDK/GBDK-2020. <br /> <a href="https://www.youtube.com/playlist?list=PLeEj4c2zF7PaFv5MPYhNAkBGrkx4iPGJo">https://www.youtube.com/playlist?list=PLeEj4c2zF7PaFv5MPYhNAkBGrkx4iPGJo</a> <br /> @@ -137,14 +140,14 @@ Tutorials</h1> <a href="https://blog.ty-porter.dev/development/2021/04/04/writing-a-gameboy-game-in-2021-pt-0.html">https://blog.ty-porter.dev/development/2021/04/04/writing-a-gameboy-game-in-2021-pt-0.html</a></li> </ul> <p><a class="anchor" id="link_examples"></a></p> -<h1><a class="anchor" id="autotoc_md21"></a> +<h1><a class="anchor" id="autotoc_md34"></a> Example code</h1> <ul> <li><a class="anchor" id="examples_gbdk_playground"></a> <b>Simplified GBDK examples</b> <br /> <a href="https://github.com/mrombout/gbdk_playground/commits/master">https://github.com/mrombout/gbdk_playground/commits/master</a></li> </ul> <p><a class="anchor" id="links_graphic"></a></p> -<h1><a class="anchor" id="autotoc_md22"></a> +<h1><a class="anchor" id="autotoc_md35"></a> Graphics Tools</h1> <ul> <li><a class="anchor" id="gbtd_gbmb"></a><a class="anchor" id="gbmb"></a><a class="anchor" id="gbtd"></a> <br /> @@ -163,21 +166,21 @@ Graphics Tools</h1> <a href="https://github.com/Rangi42/tilemap-studio/">https://github.com/Rangi42/tilemap-studio/</a></li> </ul> <p><a class="anchor" id="tools_music"></a></p> -<h1><a class="anchor" id="autotoc_md23"></a> +<h1><a class="anchor" id="autotoc_md36"></a> Music drivers and tools</h1> <ul> <li><a class="anchor" id="gbt-player"></a> <b>GBT Player</b> <br /> A .mod converter and music driver that works with GBDK and RGBDS. <br /> <a href="https://github.com/AntonioND/gbt-player">https://github.com/AntonioND/gbt-player</a> <br /> Docs from GBStudio that should mostly apply: <a href="https://www.gbstudio.dev/docs/music/">https://www.gbstudio.dev/docs/music/</a></li> -<li><a class="anchor" id="hUGEdriver"></a> <b>hUGEdriver</b> <br /> - A tracker and music driver that works with GBDK and RGBDS. It is smaller, more efficient and more versatile than gbt_player. <br /> +<li><a class="anchor" id="hUGEdriver"></a> <b>hUGEtracker</b> and <b>hUGEdriver</b> <br /> + A tracker and music driver that work with GBDK and RGBDS. It is smaller, more efficient and more versatile than gbt_player. <br /> <a href="https://github.com/untoxa/hUGEBuild">https://github.com/untoxa/hUGEBuild</a> <br /> <a href="https://github.com/SuperDisk/hUGEDriver">https://github.com/SuperDisk/hUGEDriver</a> <br /> <a href="https://github.com/SuperDisk/hUGETracker">https://github.com/SuperDisk/hUGETracker</a></li> </ul> <p><a class="anchor" id="tools_emulators"></a></p> -<h1><a class="anchor" id="autotoc_md24"></a> +<h1><a class="anchor" id="autotoc_md37"></a> Emulators</h1> <ul> <li><a class="anchor" id="bgb"></a> <b>BGB</b> <br /> @@ -188,7 +191,7 @@ Emulators</h1> <a href="https://emulicious.net/">https://emulicious.net/</a></li> </ul> <p><a class="anchor" id="tools_debug"></a></p> -<h1><a class="anchor" id="autotoc_md25"></a> +<h1><a class="anchor" id="autotoc_md38"></a> Debugging tools</h1> <ul> <li><a class="anchor" id="Emulicious_debug"></a> <b>Emulicious debug adapter</b> <br /> @@ -207,7 +210,7 @@ Debugging tools</h1> Add line-by-line C source code to the main symbol file in a BGB compatible format. This allows for C source-like debugging in BGB in a limited way. <a href="https://gbdev.gg8.se/forums/viewtopic.php?id=710">https://gbdev.gg8.se/forums/viewtopic.php?id=710</a></li> </ul> <p><a class="anchor" id="tools_build_ci_cd"></a></p> -<h1><a class="anchor" id="autotoc_md26"></a> +<h1><a class="anchor" id="autotoc_md39"></a> Continuous Integration and Deployment</h1> <ul> <li><a class="anchor" id="GBDK_GitHub_Action_Builder"></a> <b>GBDK GitHub Action Builder</b> A Github Action which provides basic CI/CD for building projects based on GBDK (not for building GBDK itself). <br /> diff --git a/docs/api/docs_migrating_versions.html b/docs/api/docs_migrating_versions.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -90,9 +91,17 @@ $(document).ready(function(){initNavTree('docs_migrating_versions.html',''); ini </div><!--header--> <div class="contents"> <div class="textblock"><p>This section contains information that may be useful to know or important when upgrading to a newer GBDK release.</p> -<h1><a class="anchor" id="autotoc_md149"></a> +<h1><a class="anchor" id="autotoc_md167"></a> GBDK 2020 versions</h1> -<h2><a class="anchor" id="autotoc_md150"></a> +<h2><a class="anchor" id="autotoc_md168"></a> +Porting to GBDK 2020 4.0.6</h2> +<ul> +<li>Renamed <code>bgb_emu.h</code> to <code>emu_debug.h</code> and BGB_* functions to EMU_*<ul> +<li>Aliases for the BGB_* ones and a <code>bgb_emu.h</code> shim are present for backward compatibility, but updating to the new naming is recommended</li> +</ul> +</li> +</ul> +<h2><a class="anchor" id="autotoc_md169"></a> Porting to GBDK 2020 4.0.5</h2> <ul> <li>GBDK now requires SDCC 12259 or higher with GBDK-2020 patches</li> @@ -108,18 +117,18 @@ Porting to GBDK 2020 4.0.5</h2> </ul> </li> </ul> -<h2><a class="anchor" id="autotoc_md151"></a> +<h2><a class="anchor" id="autotoc_md170"></a> Porting to GBDK 2020 4.0.4</h2> <ul> <li>GBDK now requires SDCC 12238 or higher</li> <li>Made sample.h, cgb.h and sgb.h independent from gb.h</li> </ul> -<h2><a class="anchor" id="autotoc_md152"></a> +<h2><a class="anchor" id="autotoc_md171"></a> Porting to GBDK 2020 4.0.3</h2> <ul> <li>No significant changes required</li> </ul> -<h2><a class="anchor" id="autotoc_md153"></a> +<h2><a class="anchor" id="autotoc_md172"></a> Porting to GBDK 2020 4.0.2</h2> <ul> <li>The default font has been reduced from 256 to 96 characters.<ul> @@ -128,7 +137,7 @@ Porting to GBDK 2020 4.0.2</h2> </ul> </li> </ul> -<h2><a class="anchor" id="autotoc_md154"></a> +<h2><a class="anchor" id="autotoc_md173"></a> Porting to GBDK 2020 4.0.1</h2> <ul> <li><b>Important!</b> : The <code>WRAM</code> memory region is no longer automatically initialized to zeros during startup.<ul> @@ -140,7 +149,7 @@ Porting to GBDK 2020 4.0.1</h2> <li>In .ihx files, multiple writes to the same ROM address are now warned about using <a class="el" href="docs_toolchain.html#ihxcheck">ihxcheck</a>.</li> <li><code>set_*_tiles()</code> now wrap maps around horizontal and vertical boundaries correctly. Code relying on it not wrapping correctly may be affected.</li> </ul> -<h2><a class="anchor" id="autotoc_md155"></a> +<h2><a class="anchor" id="autotoc_md174"></a> Porting to GBDK 2020 4.0</h2> <ul> <li>GBDK now requires SDCC 4.0.3 or higher</li> @@ -152,22 +161,22 @@ Porting to GBDK 2020 4.0</h2> <li>Setting ROM bytes directly with <code>-Wl-yp0x<address>=0x<value></code> is no longer supported. Instead use <a class="el" href="docs_toolchain.html#makebin">makebin</a> flags. For example, use <code>-Wm-yC</code> instead of <code>-Wl-yp0x143=0xC0</code>. See <a class="el" href="docs_faq.html#faq_gb_type_header_setting">faq_gb_type_header_setting</a>.</li> <li>OAM symbol has been renamed to <code>_shadow_OAM</code>, that allows accessing shadow OAM directly from C code</li> </ul> -<h2><a class="anchor" id="autotoc_md156"></a> +<h2><a class="anchor" id="autotoc_md175"></a> Porting to GBDK 2020 3.2</h2> <ul> <li>No significant changes required</li> </ul> -<h2><a class="anchor" id="autotoc_md157"></a> +<h2><a class="anchor" id="autotoc_md176"></a> Porting to GBDK 2020 3.1.1</h2> <ul> <li>No significant changes required</li> </ul> -<h2><a class="anchor" id="autotoc_md158"></a> +<h2><a class="anchor" id="autotoc_md177"></a> Porting to GBDK 2020 3.1</h2> <ul> <li>Behavior formerly enabled by USE_SFR_FOR_REG is on by default now (no need to specify it, it isn't a tested <code>#ifdef</code> anymore). check here why: <a href="https://gbdev.gg8.se/forums/viewtopic.php?id=697">https://gbdev.gg8.se/forums/viewtopic.php?id=697</a></li> </ul> -<h2><a class="anchor" id="autotoc_md159"></a> +<h2><a class="anchor" id="autotoc_md178"></a> Porting to GBDK 2020 3.0.1</h2> <ul> <li>LCC was upgraded to use SDCC v4.0. Makefile changes may be required<ul> @@ -184,9 +193,9 @@ Porting to GBDK 2020 3.0.1</h2> </li> </ul> <hr /> -<h1><a class="anchor" id="autotoc_md161"></a> +<h1><a class="anchor" id="autotoc_md180"></a> Historical GBDK versions</h1> -<h2><a class="anchor" id="autotoc_md162"></a> +<h2><a class="anchor" id="autotoc_md181"></a> GBDK 1.1 to GBDK 2.0</h2> <ul> <li>Change your int variables to long if they have to be bigger than 255. If they should only contain values between 0 and 255, use an unsigned int.</li> diff --git a/docs/api/docs_releases.html b/docs/api/docs_releases.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -90,9 +91,80 @@ $(document).ready(function(){initNavTree('docs_releases.html',''); initResizable </div><!--header--> <div class="contents"> <div class="textblock"><p>The GBDK 2020 releases can be found on Github: <a href="https://github.com/gbdk-2020/gbdk-2020/releases">https://github.com/gbdk-2020/gbdk-2020/releases</a></p> -<h1><a class="anchor" id="autotoc_md163"></a> +<h1><a class="anchor" id="autotoc_md182"></a> GBDK 2020 Release Notes</h1> -<h2><a class="anchor" id="autotoc_md164"></a> +<h2><a class="anchor" id="autotoc_md183"></a> +GBDK 2020 4.0.6</h2> +<p>2022/xx</p><ul> +<li>Building GBDK<ul> +<li>Changed to target older version of macOS (10.10) when building for better compatibility</li> +</ul> +</li> +<li>Platforms<ul> +<li>Added support for Mega Duck / Cougar Boy (<code>duck</code>). See <a class="el" href="docs_supported_consoles.html">Supported Consoles & Cross Compiling</a></li> +</ul> +</li> +<li>Library<ul> +<li>Added <a class="el" href="asm_2gbz80_2string_8h.html#a52701f453c97403ec1b12d286484259b">memcmp()</a></li> +<li>Added <a class="el" href="gb_8h.html#a970f18857533e062f4780f6e1c407d69">add_low_priority_TIM()</a> function for timer interrupts which allow nesting for GB/CGB</li> +<li>Added <a class="el" href="gb_8h.html#a811c386cac0df2d260aacb5a43608be5">set_bkg_based_tiles()</a>, <a class="el" href="gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0">set_bkg_based_submap()</a>, <a class="el" href="gb_8h.html#a739a212609ae60c9c56c095f96b4ea80">set_win_based_tiles()</a>, <a class="el" href="gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">set_win_based_submap()</a> for when a map's tiles don't start at VRAM index zero</li> +<li>Added <a class="el" href="time_8h.html#acc1f88818af5706d57262377382ae4ac">clock()</a> for SMS/GG</li> +<li>Added macro definitions for SDCC features:<ul> +<li><code>#define SFR __sfr</code></li> +<li><code>#define <a class="el" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT(A)</a> __at(A)</code></li> +</ul> +</li> +<li>Added check for OAM overflow to metasprite calls for GB/CGB</li> +<li>Added constant definitions <a class="el" href="sms_2hardware_8h.html#a6777f1ed2475b5ba6aa60b9a16fa02d3">PSG_LATCH</a>, <a class="el" href="sms_2hardware_8h.html#ad8a903de6b38e08e1591fc5ef278381c">PSG_CH0</a>, <a class="el" href="sms_2hardware_8h.html#addc12c4ee03ea787b826e337f1acd317">PSG_CH1</a>, <a class="el" href="sms_2hardware_8h.html#aaeefb1ac1fb4d0d2324b8ee7f4953226">PSG_CH2</a>, <a class="el" href="sms_2hardware_8h.html#ac760259fb86ee72abb5922018ae0db42">PSG_CH3</a>, <a class="el" href="sms_2hardware_8h.html#a3d806ff027bffa67c4dfc5967f87c1d1">PSG_VOLUME</a> for SMS/GG</li> +<li>Renamed <code>bgb_emu.h</code> to <code>emu_debug.h</code> and BGB_* functions to EMU_*.<ul> +<li>Aliases for the BGB_* ones and a <code>bgb_emu.h</code> shim are present for backward compatibility</li> +</ul> +</li> +<li>Changed headers to wrap SDCC specific features (such as <code>NONBANKED</code>) with <code>#ifdef __SDCC</code></li> +<li>Changed <a class="el" href="rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a">rand()</a> and <a class="el" href="rand_8h.html#a67415330a1c7984e4537dac753306804">arand()</a> to return <code>uint8_t</code> instead of <code>int8_t</code> (closer to the standard)</li> +<li>Fixed declaration for <a class="el" href="gb_2hardware_8h.html#a271367a0bf840e5422b3a7ed541776f8">PCM_SAMPLE</a> and definition for <a class="el" href="gb_2hardware_8h.html#a2fe41a6e0abb211cc00a8fca90543966">AUD3WAVE</a></li> +<li>Fixed definition of <code>size_t</code> to be <code>unsigned int</code> instead of <code>int</code></li> +<li>Fixed <a class="el" href="gb_8h.html#a36f9e5d95c2d7d58f203b5ac358e25e7">vmemcpy()</a> and <a class="el" href="asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90">memmove()</a> for SMS/GG</li> +<li>Fixed random number generation for SMS/GG</li> +<li>Fixed letter <code>U</code> appearing as <code>K</code> for min font</li> +<li>Fixed define name in crash_handler.h</li> +<li>Exposed <a class="el" href="rand_8h.html#a7aab2f4a234108a5eae48e0d26380ae7">__rand_seed</a></li> +</ul> +</li> +<li>Toolchain / Utilities<ul> +<li><a class="el" href="docs_toolchain.html#utility_png2asset">png2asset</a><ul> +<li>Added SMS/GG graphics format support</li> +<li>Added 4bpp and SGB borders</li> +<li>Added warning when image size is not an even multiple of tile size</li> +<li>Added <code>-tile_origin</code> offset option for when map tiles do not start at tile 0 in VRAM</li> +<li>Added <code>*_TILE_COUNT</code> definition to output</li> +<li>Fixed CGB <code>...s_map_attributes</code> type definition in output</li> +<li>Fixed values for <code>num_palettes</code> in output</li> +<li>Fixed incorrect <code>TILE_COUNT</code> value when not <code>-using_structs</code></li> +</ul> +</li> +<li><a class="el" href="docs_toolchain.html#lcc">lcc</a><ul> +<li>Changed <a class="el" href="docs_toolchain.html#makebin">makebin</a> flags to turn off Nintendo logo copy for GB/CGB (use version in crt instead)</li> +<li>Fixed lcc handling of makebin <code>-x*</code> arguments</li> +</ul> +</li> +</ul> +</li> +<li>Examples<ul> +<li>Added logo example (cross-platform)</li> +<li>Added <a class="el" href="isr_8h.html#a73769fed9338af86fdb7df35d7b82620">ISR_VECTOR</a> example of a raw ISR vector with no dispatcher for GB/CGB</li> +<li>Changed sgb_border example to use png2asset for graphics</li> +<li>Changed use of <a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts()</a> in examples so it's outside critical sections (since it disables/enables interrupts)</li> +<li>Changed cross-platform auto-banks example to use .h header files</li> +<li>Changed SGB border example to also work with SGB on PAL SNES</li> +</ul> +</li> +<li>Docs<ul> +<li>Added new section: Migrating From Pre-GBDK-2020 Tutorials</li> +</ul> +</li> +</ul> +<h2><a class="anchor" id="autotoc_md184"></a> GBDK 2020 4.0.5</h2> <p>2021/09</p><ul> <li>Includes SDCC version 12539 with GBDK-2020 patches for Z80</li> @@ -121,8 +193,8 @@ GBDK 2020 4.0.5</h2> <li>Added <a class="el" href="gb_8h.html#a42705001e2b9897f5167b67fb36c69dd">BANK()</a>, <a class="el" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3">BANKREF()</a>, <a class="el" href="gb_8h.html#a261bba55a07b802baf99346feadd9852">BANKREF_EXTERN()</a></li> <li>Added <a class="el" href="incbin_8h.html#af34047ed60abd6453f819c2a5230cd2b">INCBIN()</a>, <a class="el" href="gb_8h.html#a42705001e2b9897f5167b67fb36c69dd">BANK()</a>, <a class="el" href="incbin_8h.html#aeacb5370285c0d4308d0fe5f29da8d15">INCBIN_SIZE()</a>, <a class="el" href="incbin_8h.html#a51ab79f8ee37368158b1887b65ef97ec">INCBIN_EXTERN()</a></li> <li>Added generic <a class="el" href="gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc">SWITCH_ROM()</a> and <a class="el" href="gb_8h.html#a6e40dcc763efd953181c7400642a9f69">SWITCH_RAM()</a></li> -<li>Added <a class="el" href="bgb__emu_8h.html#a2b2f53166550341e0b1297dd5aa5a2c3">BGB_printf()</a> and updated bgb debug output.</li> -<li>Added <a class="el" href="gb_8h.html#a68651e50243349b48164a8ad983dca4e">set_native_tile_data()</a>, <a class="el" href="gb_8h.html#a55f82ff980398dd97036fd936ebd727e">set_tile_map()</a>, <a class="el" href="sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad">set_1bpp_colors</a>, <a class="el" href="sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04">set_bkg_1bpp_data</a>, <a class="el" href="sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97">set_sprite_1bpp_data</a>, <a class="el" href="sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a>, <a class="el" href="sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023">set_bkg_2bpp_data</a>, <a class="el" href="sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a">set_sprite_2bpp_data</a>, <a class="el" href="sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979">set_tile_2bpp_data</a> (sms/gg only), <a class="el" href="sms_8h.html#aeff13dca11be49e8c159820c616016ec">set_bkg_4bpp_data</a> (sms/gg only), <a class="el" href="sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432">set_sprite_4bpp_data</a> (sms/gg only)</li> +<li>Added <a class="el" href="emu__debug_8h.html#a892ddea0cd396141c1ae05e384303cbf">BGB_printf()</a> and updated emulator debug output.</li> +<li>Added <a class="el" href="gb_8h.html#a68651e50243349b48164a8ad983dca4e">set_native_tile_data()</a>, <a class="el" href="gb_8h.html#a55f82ff980398dd97036fd936ebd727e">set_tile_map()</a>, <a class="el" href="sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad">set_1bpp_colors</a>, <a class="el" href="sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04">set_bkg_1bpp_data</a>, <a class="el" href="sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97">set_sprite_1bpp_data</a>, <a class="el" href="sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a>, <a class="el" href="sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023">set_bkg_2bpp_data</a>, <a class="el" href="sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a">set_sprite_2bpp_data</a>, <a class="el" href="sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8">set_tile_2bpp_data</a> (sms/gg only), <a class="el" href="sms_8h.html#aeff13dca11be49e8c159820c616016ec">set_bkg_4bpp_data</a> (sms/gg only), <a class="el" href="sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432">set_sprite_4bpp_data</a> (sms/gg only)</li> <li>Added RLE decompression support: <a class="el" href="rledecompress_8h.html#a95560a74a89bab26cb6265dcc2bf54f6">rle_init()</a>, <a class="el" href="rledecompress_8h.html#ad60bf95ddad142d8d81e5e1f0a0bb6e0">rle_decompress()</a>,</li> <li>Changed <a class="el" href="stdlib_8h.html#aac2ea595a9ea8f5ebd883a0bc05eba5c">itoa()</a>, <a class="el" href="stdlib_8h.html#a38c070016cb06132360cfa5bacc2ed19">uitoa()</a>, <a class="el" href="stdlib_8h.html#a6374e62474a5a76c7ace9a59fb1cc829">ltoa()</a>, <a class="el" href="stdlib_8h.html#ac22b79fe0c1279eabc3daf57328008d2">ultoa()</a> to now require a radix value (base) argument to be passed. On the Game Boy and Analogue Pocket the parameter is required but not utilized.</li> </ul> @@ -177,16 +249,16 @@ GBDK 2020 4.0.5</h2> </ul> </li> </ul> -<h2><a class="anchor" id="autotoc_md165"></a> +<h2><a class="anchor" id="autotoc_md185"></a> GBDK 2020 4.0.4</h2> <p>2021/06</p><ul> <li>Library<ul> <li>Support SDCC INITIALIZER area (SDCC ~12207+)</li> -<li>Added <a class="el" href="gb_8h.html#a6558dad88815aa73fb81fae2ae90473d">get_vram_byte()</a> / <a class="el" href="gb_8h.html#a82582e006a955d2c934786e9d7c29623">get_win_tile_xy()</a> / <a class="el" href="gb_8h.html#a1a485dfade1a8f07232cbe669a1c1939">get_bkg_tile_xy()</a></li> -<li>Added <a class="el" href="gb_8h.html#a0756c9c45dcf042a146d2a54290e9f6a">set_tile_data()</a></li> +<li>Added <a class="el" href="gb_8h.html#aa33ba8b8d381df76edf15ea251ccb675">get_vram_byte()</a> / <a class="el" href="gb_8h.html#a2e29fdca81c28c627c2591029722e71c">get_win_tile_xy()</a> / <a class="el" href="gb_8h.html#a55c6581dbe9300dc6df41730f090af51">get_bkg_tile_xy()</a></li> +<li>Added <a class="el" href="gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30">set_tile_data()</a></li> <li>Fixed SGB detection</li> -<li>Fixed broken <a class="el" href="gb_8h.html#afdc3ad3ac77ec32609195ae125b919e1">get_tiles()</a> / <a class="el" href="gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b">set_tiles()</a></li> -<li>Fixed broken token handling in <a class="el" href="gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d">gb_decompress_sprite_data()</a> / <a class="el" href="gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544">gb_decompress_bkg_data()</a> / <a class="el" href="gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78">gb_decompress_win_data()</a></li> +<li>Fixed broken <a class="el" href="gb_8h.html#a728b9440accedc5fb3477be3d150323a">get_tiles()</a> / <a class="el" href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c">set_tiles()</a></li> +<li>Fixed broken token handling in <a class="el" href="gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff">gb_decompress_sprite_data()</a> / <a class="el" href="gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8">gb_decompress_bkg_data()</a> / <a class="el" href="gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284">gb_decompress_win_data()</a></li> <li>Changed all headers to use standard <code>stdint.h</code> types (ex: <code>uint8_t</code> instead of <code>UINT8</code>/<code>UBYTE</code>)</li> <li>Made sample.h, cgb.h and sgb.h independent from gb.h</li> </ul> @@ -230,13 +302,13 @@ GBDK 2020 4.0.4</h2> </ul> </li> </ul> -<h2><a class="anchor" id="autotoc_md166"></a> +<h2><a class="anchor" id="autotoc_md186"></a> GBDK 2020 4.0.3</h2> <p>2021/03</p><ul> <li>Library<ul> -<li>Added <a class="el" href="gb_8h.html#a84e320d3c0b1eca4d0b81b848d096582">set_vram_byte()</a></li> +<li>Added <a class="el" href="gb_8h.html#a7080649e10765996c581e5b618e603b8">set_vram_byte()</a></li> <li>Added <a class="el" href="sms_8h.html#adcd40a58f7c7d348d506cc400cd94739">set_bkg_tile_xy()</a> / <a class="el" href="sms_8h.html#a95d929d964d9988f4dc5a25ed399ae08">set_win_tile_xy()</a></li> -<li>Added <a class="el" href="gb_8h.html#a194b27b9e852e93ae0a4b55fae7fee6d">get_bkg_xy_addr()</a> / <a class="el" href="sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412">get_win_xy_addr()</a></li> +<li>Added <a class="el" href="gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f">get_bkg_xy_addr()</a> / <a class="el" href="sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412">get_win_xy_addr()</a></li> <li>Added <a class="el" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap()</a> / <a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap()</a></li> <li>Added metasprite api support</li> <li>Added gb_decompress support</li> @@ -247,7 +319,7 @@ GBDK 2020 4.0.3</h2> </li> <li>Examples<ul> <li>Added large_map: showing how to use <a class="el" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap()</a></li> -<li>Added scroller: showing use of <a class="el" href="gb_8h.html#a194b27b9e852e93ae0a4b55fae7fee6d">get_bkg_xy_addr()</a>, <a class="el" href="sms_8h.html#adcd40a58f7c7d348d506cc400cd94739">set_bkg_tile_xy()</a> and <a class="el" href="sms_8h.html#a18ce02bf91fd93098176b5bcc94cdf4a">set_vram_byte</a></li> +<li>Added scroller: showing use of <a class="el" href="gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f">get_bkg_xy_addr()</a>, <a class="el" href="sms_8h.html#adcd40a58f7c7d348d506cc400cd94739">set_bkg_tile_xy()</a> and <a class="el" href="sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89">set_vram_byte</a></li> <li>Added gbdecompress: de-compressing tile data into vram</li> <li>Added metasprites: show creating a large sprite with the new metasprite api</li> <li>Added template projects</li> @@ -266,7 +338,7 @@ GBDK 2020 4.0.3</h2> </ul> </li> </ul> -<h2><a class="anchor" id="autotoc_md167"></a> +<h2><a class="anchor" id="autotoc_md187"></a> GBDK 2020 4.0.2</h2> <p>2021/01/17</p><ul> <li>Includes SDCC snapshot build version 12016 (has a fix for duplicate debug symbols generated from inlined header functions which GBDK 4.0+ uses)</li> @@ -279,7 +351,7 @@ GBDK 2020 4.0.2</h2> <li>safer copy-to-VRAM functions</li> <li>loading of 1bit data fixed, also now it is possible to specify pixel color</li> <li>Improved code generation for the GBDK Library with SDCC switch on by default: <code>--max-allocs-per-node 50000</code></li> -<li>fixed wrong parameter offsets in <a class="el" href="gb_8h.html#a08365da56dbc2a97c480818c0e6a62b9">hiramcpy()</a> (broken ram_function example)</li> +<li>fixed wrong parameter offsets in <a class="el" href="gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44">hiramcpy()</a> (broken ram_function example)</li> <li>Multiple minor improvements</li> </ul> </li> @@ -290,7 +362,7 @@ GBDK 2020 4.0.2</h2> </li> <li>Examples: Added bgb debug example</li> </ul> -<h2><a class="anchor" id="autotoc_md168"></a> +<h2><a class="anchor" id="autotoc_md188"></a> GBDK 2020 4.0.1</h2> <p>2020/11/14</p><ul> <li>Updated API documentation</li> @@ -300,7 +372,7 @@ GBDK 2020 4.0.1</h2> <li>new fill_*_rect() functions to clear rectangle areas</li> <li>runtime initialization code now does not initialize whole WRAM with zeros anymore, that allows BGB to raise exceptions when code tries to read WRAM that was not written before.</li> <li>enhanced SGB support<ul> -<li><a class="el" href="gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e">joypad_init()</a> / <a class="el" href="gb_8h.html#a5166ceebbaa646e2667df1a219c7b903">joypad_ex()</a> support for multiple joypads</li> +<li><a class="el" href="gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e">joypad_init()</a> / <a class="el" href="gb_8h.html#a6e6f8eb1de2ae1ec9adeafbd7b9884db">joypad_ex()</a> support for multiple joypads</li> <li>SGB border example</li> </ul> </li> @@ -316,7 +388,7 @@ GBDK 2020 4.0.1</h2> </ul> </li> </ul> -<h2><a class="anchor" id="autotoc_md169"></a> +<h2><a class="anchor" id="autotoc_md189"></a> GBDK 2020 4.0</h2> <p>2020/10/01</p><ul> <li>GBDK now requires SDCC 4.0.3 or higher, that has fully working toolchain. Old link-gbz80 linker is not used anymore, sdldgb and makebin are used to link objects and produce binary roms; maccer tool is no longer needed either<ul> @@ -345,19 +417,19 @@ GBDK 2020 4.0</h2> </ul> </li> </ul> -<h2><a class="anchor" id="autotoc_md170"></a> +<h2><a class="anchor" id="autotoc_md190"></a> GBDK 2020 3.2</h2> <p>2020/06/05</p><ul> <li>Fixed OAM initialization that was causing a bad access to VRAM</li> <li>Interrupt handlers now wait for lcd controller mode 0 or 1 by default to prevent access to inaccessible VRAM in several functions (like set_bkg_tiles)</li> <li>Several optimizations here and there</li> </ul> -<h2><a class="anchor" id="autotoc_md171"></a> +<h2><a class="anchor" id="autotoc_md191"></a> GBDK 2020 3.1.1</h2> <p>2020/05/17</p><ul> <li>Fixed issues with libgcc_s_dw2-1.dll</li> </ul> -<h2><a class="anchor" id="autotoc_md172"></a> +<h2><a class="anchor" id="autotoc_md192"></a> GBDK 2020 3.1</h2> <p>2020/05/16</p><ul> <li>Banked functions are working! The patcher is fully integrated in link-gbz80, no extra tools are needed. It is based on Toxa's work<ul> @@ -375,21 +447,21 @@ GBDK 2020 3.1</h2> </ul> </li> </ul> -<h2><a class="anchor" id="autotoc_md173"></a> +<h2><a class="anchor" id="autotoc_md193"></a> GBDK 2020 3.0.1</h2> <p>2020/04/12</p><ul> <li>Updated SDCC to v.4.0</li> <li>Updated LCC to work with the new compiler</li> </ul> -<h2><a class="anchor" id="autotoc_md174"></a> +<h2><a class="anchor" id="autotoc_md194"></a> GBDK 2020 3.0</h2> <p>2020/04/12</p><ul> <li>Initial GBDK 2020 release <br /> Updated SDCC to v4.0 The new linker is not working so the old version is still there There is an issue with sdagb compiling drawing.s (the JP in line 32 after ".org .MODE_TABLE+4*.G_MODE" it's writing more than 4 bytes invading some addresses required by input.s:41) Because of this, all .s files in libc have been assembled with the old as-gbz80 and that's why it is still included</li> </ul> -<h1><a class="anchor" id="autotoc_md175"></a> +<h1><a class="anchor" id="autotoc_md195"></a> Historical GBDK Release Notes</h1> -<h2><a class="anchor" id="autotoc_md176"></a> +<h2><a class="anchor" id="autotoc_md196"></a> GBDK 2.96</h2> <p>17 April, 2000 <br /> Many changes. <br /> @@ -399,7 +471,7 @@ GBDK 2.96</h2> <li>Added full 32 bit long support.</li> <li>Still no floating pt support.</li> </ul> -<h2><a class="anchor" id="autotoc_md177"></a> +<h2><a class="anchor" id="autotoc_md197"></a> GBDK 2.95-3</h2> <p>19th August, 2000 <br /> </p> @@ -411,7 +483,7 @@ GBDK 2.95-3</h2> </ul> <p>This is an experimental release for those who feel keen. The main change is a new lexer (the first part in the compilation process which recognises words and symbols like '!=' and 'char' and turns them into a token number) which speeds up compilation of large initialised arrays like tile data by a factor of three. Please report any bugs that show up - this is a big change.</p> <p>I have also included a 'minimal' release for win32 users which omits the documentation, library sources, and examples. If this is useful I will keep doing it.</p> -<h2><a class="anchor" id="autotoc_md178"></a> +<h2><a class="anchor" id="autotoc_md198"></a> GBDK 2.95-2</h2> <p>5th August, 2000 <br /> Just a small update. From the README:</p> @@ -421,7 +493,7 @@ GBDK 2.95-2</h2> <li>Changed the ways globals are exported, reducing the amount of extra junk linked in.</li> <li>Turned on the optimisations in flex. Large constant arrays like tile data should compile a bit faster.</li> </ul> -<h2><a class="anchor" id="autotoc_md179"></a> +<h2><a class="anchor" id="autotoc_md199"></a> GBDK 2.95</h2> <p>22nd July, 2000</p><ul> <li>Fixed 'a << c' for c = [9..15]</li> @@ -443,7 +515,7 @@ GBDK 2.95</h2> <p>7th July, 2000 <br /> Information on float and long support. Someone asked about the state of float/long support recently. Heres my reply:</p> <p>long support is partly there, as is float support. The compiler will correctly recognise the long and float keywords, and will generate the code for most basic ops (+, -, &, | etc) for longs correctly and will generate the function calls for floats and hard long operations (*, /, %) correctly. However it wont generate float constants in the correct format, nor will it 'return' a long or float - gbdk doesn't yet support returning types of 4 bytes. Unfortunately its not going to make it into 2.95 as there's too much else to do, but I should be able to complete long support for 2.96</p> -<h2><a class="anchor" id="autotoc_md180"></a> +<h2><a class="anchor" id="autotoc_md200"></a> GBDK 2.94</h2> <p>7th May, 2000 <br /> Many fixes - see the README for more.</p> @@ -460,7 +532,7 @@ GBDK 2.94</h2> </ul> </li> </ul> -<h2><a class="anchor" id="autotoc_md181"></a> +<h2><a class="anchor" id="autotoc_md201"></a> GBDK 2.93</h2> <p>6th April, 2000 <br /> From the README</p> @@ -473,7 +545,7 @@ GBDK 2.93</h2> <li>The dscan demo now fully works (with a hack :)</li> <li>There is a bug with cached computed values which are later used as pointers. When the value is first used as a BYTE arg, then later as a pointer the pointer fails as the high byte was never computed and is now missing. A temporary fix is to declare something appropriate as 'volatile' to stop the value being cached. See dscan.c/bombs() for an example.</li> </ul> -<h2><a class="anchor" id="autotoc_md182"></a> +<h2><a class="anchor" id="autotoc_md202"></a> GBDK 2.92-2 for win32</h2> <p>26th March, 2000 <br /> This is a maintenance release for win32 which fixes some of the niggly install problems, especially:</p><ul> @@ -492,7 +564,7 @@ GBDK 2.92-2 for win32</h2> Problems with the installer. It seems that the demo of InstallVISE has an unreasonably short time limit. I had planed to use the demo until the license key came through, but there's no sign of the key yet and the 3 day evaluation is up. If anyone knows of a free Windows installer with the ability to modify environment variables, please contact me. I hear that temporarily setting you clock back to the 15th works...</p> <p>18th March, 2000 <br /> libc5 version available / "Error creating temp file" Thanks to Rodrigo Couto there is now a Linux/libc5 version of gbdk3-2.92 available - follow the download link above. At least it will be there when the main sourceforge site comes back up... Also some people have reported a bug where the compiler reports '*** Error creating temp file'. Try typing "mkdir c: tmp" from a DOS prompt and see if that helps.</p> -<h2><a class="anchor" id="autotoc_md183"></a> +<h2><a class="anchor" id="autotoc_md203"></a> GBDK 2.92</h2> <p>8th March, 2000 <br /> Better than 2.91 :). Can now be installed anywhere. All the demos work. See the README for more.</p><ul> @@ -507,7 +579,7 @@ GBDK 2.92</h2> </ul> </li> </ul> -<h2><a class="anchor" id="autotoc_md184"></a> +<h2><a class="anchor" id="autotoc_md204"></a> GBDK 2.91</h2> <p>27th Feb, 2000 <br /> Better than 2.90 and includes Linux, win32 and a source tar ball. Some notes:</p> @@ -522,11 +594,11 @@ GBDK 2.91</h2> Icehawk wrote "I did write some rumble pack routines. Just make sure to remind people to add -Wl-yt0x1C or -Wl-yt0x1D or -Wl-yt0x1E depending on sram and battery usage. Find the routines on my site (as usual). =)"</p> <p>18th Oct, 1999 <br /> Bug tracking / FAQ up. Try the link on the left to report any bugs with GBDK. It's also the first place to look if your having problems.</p> -<h2><a class="anchor" id="autotoc_md185"></a> +<h2><a class="anchor" id="autotoc_md205"></a> GBDK 2.1.5</h2> <p>17th Oct, 1999 <br /> </p> -<p>The compiler is the same, but some of the libraries have been improved. <a class="el" href="asm_2gbz80_2string_8h.html#af2fcd4c99b3b490e6db059e741676274">memset()</a> and <a class="el" href="asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627">memcpy()</a> are much faster, <a class="el" href="stdlib_8h.html#a7ac38fce3243a7dcf448301ee9ffd392">malloc()</a> is fixed, and a high speed fixed block alternative <a class="el" href="stdlib_8h.html#a7ac38fce3243a7dcf448301ee9ffd392">malloc()</a> was added. </p> +<p>The compiler is the same, but some of the libraries have been improved. <a class="el" href="asm_2gbz80_2string_8h.html#a4bc4146b1a053fc4ec10f1377bb21a4f">memset()</a> and <a class="el" href="asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574">memcpy()</a> are much faster, <a class="el" href="stdlib_8h.html#a7ac38fce3243a7dcf448301ee9ffd392">malloc()</a> is fixed, and a high speed fixed block alternative <a class="el" href="stdlib_8h.html#a7ac38fce3243a7dcf448301ee9ffd392">malloc()</a> was added. </p> </div></div><!-- contents --> </div><!-- PageDoc --> </div><!-- doc-content --> diff --git a/docs/api/docs_rombanking_mbcs.html b/docs/api/docs_rombanking_mbcs.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -89,20 +90,20 @@ $(document).ready(function(){initNavTree('docs_rombanking_mbcs.html',''); initRe <div class="title">ROM/RAM Banking and MBCs </div> </div> </div><!--header--> <div class="contents"> -<div class="textblock"><h1><a class="anchor" id="autotoc_md60"></a> +<div class="textblock"><h1><a class="anchor" id="autotoc_md73"></a> ROM/RAM Banking and MBCs (Memory Bank Controllers)</h1> <p>The standard Game Boy cartridge with no MBC has a fixed 32K bytes of ROM. In order to make cartridges with larger ROM sizes (to store more code and graphics) MBCs can be used. They allow switching between multiple ROM banks that use the same memory region. Only one of the banks can be selected as active at a given time, while all the other banks are inactive (and so, inaccessible).</p> -<h2><a class="anchor" id="autotoc_md61"></a> +<h2><a class="anchor" id="autotoc_md74"></a> Non-banked cartridges</h2> <p>Cartridges with no MBC controller are non-banked, they have 32K bytes of fixed ROM space and no switchable banks. For these cartridges the ROM space between <code>0000h and 7FFFh</code> can be treated as a single large bank of 32K bytes, or as two contiguous banks of 16K bytes in Bank 0 at <code>0000h - 3FFFh</code> and Bank 1 at <code>4000h to 7FFFh</code>.</p> -<h2><a class="anchor" id="autotoc_md62"></a> +<h2><a class="anchor" id="autotoc_md75"></a> MBC Banked cartridges (Memory Bank Controllers)</h2> <p><a class="anchor" id="MBC"></a><a class="anchor" id="MBCS"></a>Cartridges with MBCs allow the the Game Boy to work with ROMS up to 8MB in size and with RAM up to 128kB. Each bank is 16K Bytes.</p><ul> <li>Bank 0 of the ROM is located in the region at <code>0000h - 3FFFh</code>. It is <em>usually</em> fixed (non-banked) and cannot be switched out for another bank.</li> <li>The higher region at <code>4000h to 7FFFh</code> is used for switching between different ROM banks.</li> </ul> <p>See the <a class="el" href="docs_links_and_tools.html#Pandocs">Pandocs</a> for more details about the individual MBCs and their capabilities.</p> -<h1><a class="anchor" id="autotoc_md63"></a> +<h1><a class="anchor" id="autotoc_md76"></a> Working with Banks</h1> <p>To assign code and constant data (such as graphics) to a ROM bank and use it:</p><ul> <li>Place the code for your ROM bank in one or several source files.</li> @@ -110,7 +111,7 @@ Working with Banks</h1> <li>Specify the number of banks and MBC type during link time.</li> <li>When the program is running and wants to use data or call a function that is in a given bank, manually or automatically set the desired bank to active.</li> </ul> -<h2><a class="anchor" id="autotoc_md64"></a> +<h2><a class="anchor" id="autotoc_md77"></a> Setting the ROM bank for a Source file</h2> <p>The ROM and RAM bank for a source file can be set in a couple different ways. Multiple different banks cannot be assigned inside the same source file (unless the <code>__addressmod</code> method is used), but multiple source files can share the same bank.</p> <p>If no ROM and RAM bank are speciied for a file then the default _CODE, _BSS and _DATA segments are used.</p> @@ -120,13 +121,13 @@ Setting the ROM bank for a Source file</h2> <li>Using <a class="el" href="docs_rombanking_mbcs.html#rom_autobanking">rom_autobanking</a></li> </ul> <p>Note: You can use the <code>NONBANKED</code> keyword to define a function as non-banked if it resides in a source file which has been assigned a bank.</p> -<h2><a class="anchor" id="autotoc_md65"></a> +<h2><a class="anchor" id="autotoc_md78"></a> Setting the RAM bank for a Source file</h2> <ul> <li>Using the lcc switch for RAM bank <code>-Wf-ba<N></code>. Example (ROM bank 3): <code>-Wf-bo3</code></li> </ul> <p><a class="anchor" id="setting_mbc_and_rom_ram_banks"></a></p> -<h2><a class="anchor" id="autotoc_md66"></a> +<h2><a class="anchor" id="autotoc_md79"></a> Setting the MBC and number of ROM & RAM banks available</h2> <p>At the link stage this is done with <a class="el" href="docs_toolchain.html#lcc">lcc</a> using pass-through switches for <a class="el" href="docs_toolchain.html#makebin">makebin</a>.</p><ul> <li><code>-Wl-yo<N></code> where <code><N></code> is the number of ROM banks. 2, 4, 8, 16, 32, 64, 128, 256, 512<ul> @@ -134,9 +135,14 @@ Setting the MBC and number of ROM & RAM banks available</h2> </ul> </li> <li><code>-Wl-ya<N></code> where <code><N></code> is the number of RAM banks. 2, 4, 8, 16, 32</li> -<li><code>-Wl-yt<N></code> where <code><N></code> is the type of MBC cartridge (see below).</li> +<li><code>-Wl-yt<N></code> where <code><N></code> is the type of MBC cartridge (see below).<ul> +<li>Example: <code>Wl-yt0x1A</code></li> +</ul> +</li> </ul> -<p>The following MBC settings are available when using the makebin MBC switch. </p><div class="fragment"><div class="line"># From Makebin source:</div> +<p>The MBC settings below are available when using the makebin MBC switch.</p> +<p>Additional details available at <a href="https://gbdev.io/pandocs/The_Cartridge_Header.html#0147---cartridge-type" title="Pandocs">Pandocs</a></p> +<div class="fragment"><div class="line"># From Makebin source:</div> <div class="line">#</div> <div class="line">#-Wl-yt<NN> where <NN> is one of the numbers below</div> <div class="line">#</div> @@ -155,17 +161,17 @@ Setting the MBC and number of ROM & RAM banks available</h2> <div class="line"># F-ROM+MBC3+TIMER+BATT FF - Hudson HuC-1</div> <div class="line"># 10-ROM+MBC3+TIMER+RAM+BATT</div> <div class="line"># 11-ROM+MBC3</div> -</div><!-- fragment --><h2><a class="anchor" id="autotoc_md67"></a> +</div><!-- fragment --><h2><a class="anchor" id="autotoc_md80"></a> Getting Bank Numbers</h2> <p>The bank number for a banked function, variable or source file can be stored and retrieved using the following macros:</p><ul> <li><a class="el" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3">BANKREF()</a>: Create a reference for retrieving the bank number of a variable or function</li> <li><a class="el" href="gb_8h.html#a42705001e2b9897f5167b67fb36c69dd">BANK()</a>: Retrieve a bank number using a reference created with <a class="el" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3">BANKREF()</a></li> <li><a class="el" href="gb_8h.html#a261bba55a07b802baf99346feadd9852">BANKREF_EXTERN()</a> - Make a <a class="el" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3">BANKREF()</a> reference residing in another source file accessible in the current file for use with <a class="el" href="gb_8h.html#a42705001e2b9897f5167b67fb36c69dd">BANK()</a>.</li> </ul> -<h2><a class="anchor" id="autotoc_md68"></a> +<h2><a class="anchor" id="autotoc_md81"></a> Banking and Functions</h2> <p><a class="anchor" id="banked_keywords"></a></p> -<h3><a class="anchor" id="autotoc_md69"></a> +<h3><a class="anchor" id="autotoc_md82"></a> BANKED/NONBANKED keywords</h3> <ul> <li><code>BANKED</code>:<ul> @@ -184,7 +190,7 @@ BANKED/NONBANKED keywords</h3> </li> </ul> <p><a class="anchor" id="banked_calls"></a></p> -<h3><a class="anchor" id="autotoc_md70"></a> +<h3><a class="anchor" id="autotoc_md83"></a> Banked Function Calls</h3> <p>Banked functions can be called as follows.</p><ul> <li>When defined with the <code>BANKED</code> keyword. Example: <code>void my_function() BANKED { do stuff }</code> in a source file which has had it's bank set (see above).</li> @@ -204,22 +210,22 @@ Banked Function Calls</h3> <p>Limitations:</p><ul> <li>SDCC banked calls and far_pointers in GBDK only save one byte for the ROM bank. So, for example, they are limtied to <b>bank 31</b> max for MBC1 and <b>bank 255</b> max for MBC5. This is due to the bank switching for those MBCs requiring a second, additional write to select the upper bits for more banks (banks 32+ in MBC1 and banks 256+ in MBC5).</li> </ul> -<h2><a class="anchor" id="autotoc_md71"></a> +<h2><a class="anchor" id="autotoc_md84"></a> Const Data (Variables in ROM)</h2> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>Const Data (Variables in ROM)</dd></dl> -<h2><a class="anchor" id="autotoc_md72"></a> +<h2><a class="anchor" id="autotoc_md85"></a> Variables in RAM</h2> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>Variables in RAM</dd></dl> -<h2><a class="anchor" id="autotoc_md73"></a> +<h2><a class="anchor" id="autotoc_md86"></a> Far Pointers</h2> <p><a class="anchor" id="far_pointers"></a>Far pointers include a segment (bank) selector so they are able to point to addresses (functions or data) outside of the current bank (unlike normal pointers which are not bank-aware). A set of macros is provided by GBDK 2020 for working with far pointers.</p> <p><b>Warning:</b> Do not call the far pointer function macros from inside interrupt routines (ISRs). The far pointer function macros use a global variable that would not get restored properly if a function called that way was interrupted by another one called the same way. However, they may be called recursively.</p> <p>See <a class="el" href="far__ptr_8h.html#a7f4ab1893ea392f8bf042a3b97de4730">FAR_CALL</a>, <a class="el" href="far__ptr_8h.html#a0c227677a96f9bf7e84a90922f2f8708">TO_FAR_PTR</a> and the <code>banks_farptr</code> example project.</p> -<h2><a class="anchor" id="autotoc_md74"></a> +<h2><a class="anchor" id="autotoc_md87"></a> Bank switching</h2> <p>You can manually switch banks using the <a class="el" href="gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc">SWITCH_ROM()</a>, <a class="el" href="gb_8h.html#a6e40dcc763efd953181c7400642a9f69">SWITCH_RAM()</a>, and other related macros. See <code>banks.c</code> project for an example.</p> <p>Note: You can only do a switch_rom_bank call from non-banked <code>_CODE</code> since otherwise you would switch out the code that was executing. Global routines that will be called without an expectation of bank switching should fit within the limited 16k of non-banked <code>_CODE</code>.</p> -<h2><a class="anchor" id="autotoc_md75"></a> +<h2><a class="anchor" id="autotoc_md88"></a> Restoring the current bank (after calling functions which change it without restoring)</h2> <p><a class="anchor" id="banking_current_bank"></a>If a function call is made (for example inside an ISR) which changes the bank <em>without</em> restoring it, then the <a class="el" href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a">_current_bank</a> variable should be saved and then restored.</p> <p>For example, <b>instead</b> of this code: </p><div class="fragment"><div class="line">void vbl_music_isr(void)</div> @@ -240,12 +246,13 @@ Restoring the current bank (after calling functions which change it without rest <div class="line"> // Now restore the current bank</div> <div class="line"> SWITCH_ROM(_saved_bank);</div> <div class="line">}</div> -</div><!-- fragment --><h2><a class="anchor" id="autotoc_md76"></a> +</div><!-- fragment --><h2><a class="anchor" id="autotoc_md89"></a> Currently active bank: _current_bank</h2> <p>The global variable <a class="el" href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a">_current_bank</a> is updated automatically when calling <a class="el" href="gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc">SWITCH_ROM()</a>, <a class="el" href="gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f">SWITCH_ROM_MBC1()</a> and <a class="el" href="gb_8h.html#a92d040284342702026eb19dab59b586e">SWITCH_ROM_MBC5</a>, or when a <code>BANKED</code> function is called.</p> -<h1><a class="anchor" id="autotoc_md77"></a> +<p><a class="anchor" id="rom_autobanking"></a></p> +<h1><a class="anchor" id="autotoc_md90"></a> Auto-Banking</h1> -<p><a class="anchor" id="rom_autobanking"></a>A ROM bank auto-assignment feature was added in GBDK 2020 4.0.2.</p> +<p>A ROM bank auto-assignment feature was added in GBDK 2020 4.0.2.</p> <p>Instead of having to manually specify which bank a source file will reside it, the banks can be assigned automatically to make the best use of space. The bank assignment operates on object files, after compiling/assembling and before linking.</p> <p>To turn on auto-banking, use the <code>-autobank</code> argument with lcc</p> <p>For a source example see the <code>banks_autobank</code> project.</p> @@ -279,20 +286,20 @@ Auto-Banking</h1> <li>For example consider a fixed-bank source file growing too large to share a bank with an auto-banked source file that was previously assigned to it. To avoid a bank overflow it would be important to have the auto-banked file check every time whether it can share that bank or not.</li> <li>See <a class="el" href="docs_toolchain.html#bankpack">bankpack</a> for more options and settings</li> </ul> -<h1><a class="anchor" id="autotoc_md78"></a> +<h1><a class="anchor" id="autotoc_md91"></a> Errors related to banking (overflow, multiple writes to same location)</h1> <p>A <em>bank overflow</em> during compile/link time (in <a class="el" href="docs_toolchain.html#makebin">makebin</a>) is when more code and data are allocated to a ROM bank than it has capacity for. The address for any overflowed data will be incorrect and the data is potentially unreachable since it now resides at the start of a different bank instead of the end of the expected bank.</p> <p>See the <a class="el" href="docs_faq.html#faq_bank_overflow_errors">FAQ entry about bank overflow errors</a>.</p> <p>The current toolchain can only detect and warn (using <a class="el" href="docs_toolchain.html#ihxcheck">ihxcheck</a>) when one bank overflows into another bank that has data at its start. It cannot warn if a bank overflows into an empty one. For more complete detection, you can use the third-party <a class="el" href="docs_links_and_tools.html#romusage">romusage</a> tool.</p> -<h1><a class="anchor" id="autotoc_md79"></a> +<h1><a class="anchor" id="autotoc_md92"></a> Bank space usage</h1> <p>In order to see how much space is used or remains available in a bank, you can use the third-party <a class="el" href="docs_links_and_tools.html#romusage">romusage</a> tool.</p> -<h2><a class="anchor" id="autotoc_md80"></a> +<h2><a class="anchor" id="autotoc_md93"></a> Other important notes</h2> <ul> <li>The <a class="el" href="gb_8h.html#a92d040284342702026eb19dab59b586e">SWITCH_ROM_MBC5</a> macro is not interrupt-safe. If using less than 256 banks you may always use SWITCH_ROM - that is faster. Even if you use mbc5 hardware chip in the cart.</li> </ul> -<h1><a class="anchor" id="autotoc_md81"></a> +<h1><a class="anchor" id="autotoc_md94"></a> Banking example projects</h1> <p>There are several projects in the GBDK 2020 examples folder which demonstrate different ways to use banking.</p><ul> <li><code>Banks</code>: A basic banking example</li> diff --git a/docs/api/docs_supported_consoles.html b/docs/api/docs_supported_consoles.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -90,23 +91,30 @@ $(document).ready(function(){initNavTree('docs_supported_consoles.html',''); ini </div><!--header--> <div class="contents"> <div class="textblock"><p><a class="anchor" id="docs_consoles_supported_list"></a></p> -<h1><a class="anchor" id="autotoc_md102"></a> +<h1><a class="anchor" id="autotoc_md116"></a> Consoles Supported by GBDK</h1> <p>As of version <code>4.0.5</code> GBDK includes support for other consoles in addition to the Game Boy.</p> <ul> +<li>Game Boy and related clones<ul> <li>Nintendo Game Boy / Game Boy Color (GB/GBC)</li> <li>Analogue Pocket (AP)</li> +<li>Mega Duck / Cougar Boy (DUCK)</li> +</ul> +</li> +<li>Sega Consoles<ul> <li>Sega Master System (SMS)</li> <li>Sega Game Gear (GG)</li> </ul> +</li> +</ul> <p>While the GBDK API has many convenience functions that work the same or similar across different consoles, it's important to keep their different capabilities in mind when writing code intended to run on more than one. Some (but not all) of the differences are screen sizes, color abilities, memory layouts, processor type (z80 vs gbz80/sm83) and speed.</p> <p><a class="anchor" id="docs_consoles_compiling"></a></p> -<h1><a class="anchor" id="autotoc_md103"></a> +<h1><a class="anchor" id="autotoc_md117"></a> Cross Compiling for Different Consoles</h1> -<h2><a class="anchor" id="autotoc_md104"></a> +<h2><a class="anchor" id="autotoc_md118"></a> lcc</h2> <p>When compiling and building through <a class="el" href="docs_toolchain.html#lcc">lcc</a> use the <code>-m<port>:<plat></code> flag to select the desired console via it's port and platform combination.</p> -<h2><a class="anchor" id="autotoc_md105"></a> +<h2><a class="anchor" id="autotoc_md119"></a> sdcc</h2> <p>When building directly with the sdcc toolchain, the following must be specified manually (when using <a class="el" href="docs_toolchain.html#lcc">lcc</a> it will populate these automatically based on <code>-m<port>:<plat></code>).</p> <p>When compiling with <a class="el" href="docs_toolchain_settings.html#sdcc-settings">sdcc</a>:</p><ul> @@ -120,7 +128,7 @@ sdcc</h2> <li>Include the appropriate library files <code>-l <port>.lib</code>, <code>-l <plat>.lib</code></li> <li>The crt will be under <code><gbdk-path>lib/small/asxxxx/<plat>/crt0.o</code></li> </ul> -<h2><a class="anchor" id="autotoc_md106"></a> +<h2><a class="anchor" id="autotoc_md120"></a> Console Port and Platform Settings</h2> <ul> <li>Nintendo Game Boy / Game Boy Color<ul> @@ -133,6 +141,11 @@ Console Port and Platform Settings</h2> <li>port:<code>gbz80</code>, plat:<code>ap</code></li> </ul> </li> +<li>Mega Duck / Cougar Boy<ul> +<li><a class="el" href="docs_toolchain.html#lcc">lcc</a> : <code>-mgbz80:duck</code></li> +<li>port:<code>gbz80</code>, plat:<code>duck</code></li> +</ul> +</li> <li>Sega Master System<ul> <li><a class="el" href="docs_toolchain.html#lcc">lcc</a> : <code>-mz80:sms</code></li> <li>port:<code>z80</code>, plat:<code>sms</code></li> @@ -144,10 +157,10 @@ Console Port and Platform Settings</h2> </ul> </li> </ul> -<h1><a class="anchor" id="autotoc_md107"></a> +<h1><a class="anchor" id="autotoc_md121"></a> Cross-Platform Constants</h1> <p>There are several constant #defines that can be used to help select console specific code during compile time (with <code>#ifdef</code>, <code>#ifndef</code>) .</p> -<h2><a class="anchor" id="autotoc_md108"></a> +<h2><a class="anchor" id="autotoc_md122"></a> Console Identifiers</h2> <ul> <li>When <code><gb/gb.h></code> is included (either directly or through <code><gbdk/platform.h></code>)<ul> @@ -161,6 +174,11 @@ Console Identifiers</h2> <li><code>ANALOGUEPOCKET</code> will be #defined</li> </ul> </li> +<li>When building for Mega Duck / Cougar Boy<ul> +<li><code>NINTENDO</code> will be #defined</li> +<li><code>MEGADUCK</code> will be #defined</li> +</ul> +</li> </ul> </li> <li>When <code><sms/sms.h ></code> is included (either directly or through <code><gbdk/platform.h></code>)<ul> @@ -177,7 +195,7 @@ Console Identifiers</h2> </ul> </li> </ul> -<h2><a class="anchor" id="autotoc_md109"></a> +<h2><a class="anchor" id="autotoc_md123"></a> Console Hardware Properties</h2> <p>Constants that describe properties of the console hardware are listed below. Their values will change to reflect the current console target that is being built.</p> <ul> @@ -188,7 +206,7 @@ Console Hardware Properties</h2> <li><a class="el" href="gb_2hardware_8h.html#af531e7ac0c0a58517fa3061631745c31">DEVICE_SPRITE_PX_OFFSET_X</a>, <a class="el" href="gb_2hardware_8h.html#a7f6c8420831388300bbec13ea4cb57a0">DEVICE_SPRITE_PX_OFFSET_Y</a></li> <li><a class="el" href="sms_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d">DEVICE_SCREEN_PX_WIDTH</a>, <a class="el" href="sms_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec">DEVICE_SCREEN_PX_HEIGHT</a></li> </ul> -<h1><a class="anchor" id="autotoc_md110"></a> +<h1><a class="anchor" id="autotoc_md124"></a> Using <gbdk/...> headers</h1> <p>Some include files under <code><gbdk/..></code> are cross platform and others allow the build process to auto-select the correct include file for the current target port and platform (console).</p> <p>For example, the following can be used </p><pre class="fragment">#include <gbdk/platform.h> @@ -198,14 +216,18 @@ Using <gbdk/...> headers</h1> </pre><p>and </p><pre class="fragment">#include <sms/sms.h> #include <sms/metasprites.h> </pre><p><a class="anchor" id="docs_consoles_cross_platform_examples"></a></p> -<h1><a class="anchor" id="autotoc_md111"></a> +<h1><a class="anchor" id="autotoc_md125"></a> Cross Platform Example Projects</h1> <p>GBDK includes an number of cross platform example projects. These projects show how to write code that can be compiled and run on multiple different consoles (for example Game Boy and Game Gear) with, in some cases, minimal differences.</p> <p>They also show how to build for multiple target consoles with a single build command and <code>Makefile</code>. The <code>Makefile.targets</code> allows selecting different <code>port</code> and <code>plat</code> settings when calling the build stages.</p> -<h1><a class="anchor" id="autotoc_md112"></a> +<h2><a class="anchor" id="autotoc_md126"></a> +Cross Platform Asset Example</h2> +<p>The cross-platform <code>Logo</code> example project shows how assets can be managed for multiple different console targets together.</p> +<p>In the example <a class="el" href="docs_toolchain.html#utility_png2asset">utility_png2asset</a> is used to generate assets in the native format for each console at compile-time from separate source PNG images. The Makefile is set to use the source PNG folder which matches the current console being compiled, and the source code uses <a class="el" href="gb_8h.html#a68651e50243349b48164a8ad983dca4e">set_native_tile_data()</a> to load the assets tiles in native format.</p> +<h1><a class="anchor" id="autotoc_md127"></a> Porting From Game Boy to Analogue Pocket</h1> <p>The Analogue Pocket is (for practical purposes) functionally identical to the Game Boy / Color, but has a couple altered register flag and address definitions and a different boot logo. In order for software to be easily ported to the Analogue Pocket, or to run on both, use the following practices.</p> -<h2><a class="anchor" id="autotoc_md113"></a> +<h2><a class="anchor" id="autotoc_md128"></a> Registers and Flags</h2> <p>Use API defined registers and register flags instead of hardwired ones</p><ul> <li>LCDC register: <a class="el" href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b">LCDC_REG</a> or <a class="el" href="gb_2hardware_8h.html#a8b576a1fe1473ac4aff8afecb28035cb">rLCDC</a></li> @@ -213,21 +235,32 @@ Registers and Flags</h2> <li>LCDC flags: -> LCDCF_... (example: <a class="el" href="gb_2hardware_8h.html#a1491fc03ed7f02e7309cc7b0c48b6c8a">LCDCF_ON</a>)</li> <li>STAT flags: -> STATF_... (example: <a class="el" href="gb_2hardware_8h.html#a3b53105cc5be896b48794ba82d2aeb4c">STATF_LYC</a>)</li> </ul> -<h2><a class="anchor" id="autotoc_md114"></a> +<h2><a class="anchor" id="autotoc_md129"></a> Boot logo</h2> <p>As long as the target console is <a class="el" href="docs_supported_consoles.html#docs_consoles_compiling">set during build time</a> then the correct boot logo will be automatically selected.</p> -<h1><a class="anchor" id="autotoc_md115"></a> +<h1><a class="anchor" id="autotoc_md130"></a> +Porting From Game Boy to Mega Duck / Cougar Boy</h1> +<p>The Mega Duck is fairly similar to the classic Game Boy. It has a couple altered register flag and address definitions, no boot logo and a different startup/entry-point address. In order for software to be easily ported to the Mega Duck, or to run on both, use the following practices.</p> +<h2><a class="anchor" id="autotoc_md131"></a> +Registers and Flags</h2> +<p>Use API defined registers and register flags instead of hardwired ones</p><ul> +<li>LCDC register: <a class="el" href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b">LCDC_REG</a> or <a class="el" href="gb_2hardware_8h.html#a8b576a1fe1473ac4aff8afecb28035cb">rLCDC</a></li> +<li>STAT register: <a class="el" href="gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b">STAT_REG</a> or <a class="el" href="gb_2hardware_8h.html#a338ec378453b4457efdb3008978c0f28">rSTAT</a></li> +<li>LCDC flags: -> LCDCF_... (example: <a class="el" href="gb_2hardware_8h.html#a1491fc03ed7f02e7309cc7b0c48b6c8a">LCDCF_ON</a>)</li> +<li>STAT flags: -> STATF_... (example: <a class="el" href="gb_2hardware_8h.html#a3b53105cc5be896b48794ba82d2aeb4c">STATF_LYC</a>)</li> +</ul> +<h1><a class="anchor" id="autotoc_md132"></a> Porting From Game Boy to SMS/GG</h1> -<h2><a class="anchor" id="autotoc_md116"></a> +<h2><a class="anchor" id="autotoc_md133"></a> Tile Data and Tile Map loading</h2> -<h3><a class="anchor" id="autotoc_md117"></a> +<h3><a class="anchor" id="autotoc_md134"></a> Tile and Map Data in 2bpp Game Boy Format</h3> <ul> -<li><a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data()</a> and <a class="el" href="gb_8h.html#ac40ffe4802ea41e5cee0ac3d4b254e08">set_sprite_data()</a> will load 2bpp tile data in "game boy" format on both GB and SMS/GG.</li> -<li>On the SMS/GG <a class="el" href="gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette()</a> sets 4 colors that will be used when loading 2bpp assets with <a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data()</a>. This allows GB assets to be easily colorized without changing the asset format. There is some performance penalty for using the conversion.</li> +<li><a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data()</a> and <a class="el" href="gb_8h.html#ae45b1c639698951b47e44fa8e89556f2">set_sprite_data()</a> will load 2bpp tile data in "game boy" format on both GB and SMS/GG.</li> +<li>On the SMS/GG <a class="el" href="gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette()</a> sets 4 colors that will be used when loading 2bpp assets with <a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data()</a>. This allows GB assets to be easily colorized without changing the asset format. There is some performance penalty for using the conversion.</li> <li><a class="el" href="sms_8h.html#a9a732aec1b7aec7d10a9d76ca4da2064">set_bkg_tiles()</a> loads 1-byte-per-tile tilemaps both for the GB and SMS/GG</li> </ul> -<h3><a class="anchor" id="autotoc_md118"></a> +<h3><a class="anchor" id="autotoc_md135"></a> Tile and Map Data in Native Format</h3> <p>Use the following api calls when assets are avaialble in the native format for each platform.</p> <p><a class="el" href="gb_8h.html#a68651e50243349b48164a8ad983dca4e">set_native_tile_data()</a></p><ul> @@ -240,15 +273,15 @@ Tile and Map Data in Native Format</h3> </ul> <p>There are also bit-depth specific API calls:</p><ul> <li>1bpp: <a class="el" href="sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad">set_1bpp_colors</a>, <a class="el" href="sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04">set_bkg_1bpp_data</a>, <a class="el" href="sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97">set_sprite_1bpp_data</a></li> -<li>2bpp: <a class="el" href="sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a>, <a class="el" href="sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023">set_bkg_2bpp_data</a>, <a class="el" href="sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a">set_sprite_2bpp_data</a>, <a class="el" href="sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979">set_tile_2bpp_data</a> (sms/gg only)</li> +<li>2bpp: <a class="el" href="sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a>, <a class="el" href="sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023">set_bkg_2bpp_data</a>, <a class="el" href="sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a">set_sprite_2bpp_data</a>, <a class="el" href="sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8">set_tile_2bpp_data</a> (sms/gg only)</li> <li>2bpp: <a class="el" href="sms_8h.html#aeff13dca11be49e8c159820c616016ec">set_bkg_4bpp_data</a> (sms/gg only), <a class="el" href="sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432">set_sprite_4bpp_data</a> (sms/gg only)</li> </ul> -<h3><a class="anchor" id="autotoc_md119"></a> +<h3><a class="anchor" id="autotoc_md136"></a> Emulated Game Boy Color map attributes on the SMS/Game Gear</h3> <p>On the Game Boy Color, <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a> is used to select between the regular background tile map and the background attribute tile map (for setting tile color palette and other properties).</p> <p>This behavior is emulated for the SMS/GG when using <a class="el" href="sms_8h.html#a9a732aec1b7aec7d10a9d76ca4da2064">set_bkg_tiles()</a> and <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a>. It allows writing a 1-byte tile map separately from a 1-byte attributes map.</p> <dl class="section note"><dt>Note</dt><dd>Tile map attributes on SMS/Game Gear use different control bits than the Game Boy Color, so a modified attribute map must be used.</dd></dl> -<h1><a class="anchor" id="autotoc_md120"></a> +<h1><a class="anchor" id="autotoc_md137"></a> Hardware Comparison</h1> <p>The specs below reflect the typical configuration of hardware when used with GBDK and is not meant as a complete list of their capabilities.</p> <p>GB/AP</p><ul> @@ -294,7 +327,7 @@ Hardware Comparison</h1> </li> </ul> <p><a class="anchor" id="docs_consoles_safe_display_controller_access"></a></p> -<h2><a class="anchor" id="autotoc_md121"></a> +<h2><a class="anchor" id="autotoc_md138"></a> Safe VRAM / Display Controller Access</h2> <p>GB/AP</p><ul> <li>VRAM / Display Controller (PPU)<ul> diff --git a/docs/api/docs_toolchain.html b/docs/api/docs_toolchain.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -90,7 +91,7 @@ $(document).ready(function(){initNavTree('docs_toolchain.html',''); initResizabl </div><!--header--> <div class="contents"> <div class="textblock"><p><a class="anchor" id="toolchain_overview"></a></p> -<h1><a class="anchor" id="autotoc_md82"></a> +<h1><a class="anchor" id="autotoc_md95"></a> Overview</h1> <p>GBDK 2020 uses the SDCC compiler along with some custom tools to build Game Boy ROMs.</p><ul> <li>All tools are located under <code>bin/</code></li> @@ -104,12 +105,12 @@ Overview</h1> </li> </ul> <p>To see individual arguments and options for a tool, run that tool from the command line with either no arguments or with <code>-h</code>.</p> -<h1><a class="anchor" id="autotoc_md83"></a> +<h1><a class="anchor" id="autotoc_md96"></a> Data Types</h1> <p>For data types and special C keywords, see <a class="el" href="asm_2gbz80_2types_8h.html#file_asm_gbz80_types_h">asm/gbz80/types.h</a> and <a class="el" href="asm_2types_8h.html#file_asm_types_h">asm/types.h</a>.</p> <p>Also see the SDCC manual (scroll down a little on the linked page): <a href="http://sdcc.sourceforge.net/doc/sdccman.pdf#section.1.1">http://sdcc.sourceforge.net/doc/sdccman.pdf#section.1.1</a></p> <p><a class="anchor" id="toolchain_changing_important_addresses"></a> </p> -<h1><a class="anchor" id="autotoc_md84"></a> +<h1><a class="anchor" id="autotoc_md97"></a> Changing Important Addresses</h1> <p>It is possible to change some of the important addresses used by the toolchain at link time using the -Wl-g XXX=YYY and =Wl-b XXX=YYY flags (where XXX is the name of the data, and YYY is the new address).</p> <p><a class="el" href="docs_toolchain.html#lcc">lcc</a> will include the following linker defaults for <a class="el" href="docs_toolchain.html#sdldgb">sdldgb</a> if they are not defined by the user.</p> @@ -141,7 +142,7 @@ Changing Important Addresses</h1> </li> </ul> <p><a class="anchor" id="toolchain_compiling_programs"></a></p> -<h1><a class="anchor" id="autotoc_md85"></a> +<h1><a class="anchor" id="autotoc_md98"></a> Compiling programs</h1> <p>The <a class="el" href="docs_toolchain.html#lcc">lcc</a> program is the front end compiler driver for the actual compiler, assembler and linker. It works out what you want to do based on command line options and the extensions of the files you give it, computes the order in which the various programs must be called and then executes them in order. Some examples are:</p> <ul> @@ -175,10 +176,10 @@ Makefiles</h2> <p>You may also want to read a tutorial on Makefiles. For example: <br /> <a href="https://makefiletutorial.com/">https://makefiletutorial.com/</a> <a href="https://www.tutorialspoint.com/makefile/index.htm">https://www.tutorialspoint.com/makefile/index.htm</a></p> <p><a class="anchor" id="build_tools"></a></p> -<h1><a class="anchor" id="autotoc_md86"></a> +<h1><a class="anchor" id="autotoc_md99"></a> Build Tools</h1> <p><a class="anchor" id="lcc"></a></p> -<h2><a class="anchor" id="autotoc_md87"></a> +<h2><a class="anchor" id="autotoc_md100"></a> lcc</h2> <p>lcc is the compiler driver (front end) for the GBDK/sdcc toolchain.</p> <p>For detailed settings see <a class="el" href="docs_toolchain_settings.html#lcc-settings">lcc-settings</a></p> @@ -193,7 +194,7 @@ lcc</h2> </li> </ul> <p><a class="anchor" id="sdcc"></a></p> -<h2><a class="anchor" id="autotoc_md88"></a> +<h2><a class="anchor" id="autotoc_md101"></a> sdcc</h2> <p>SDCC C Source compiler</p> <p>For detailed settings see <a class="el" href="docs_toolchain_settings.html#sdcc-settings">sdcc-settings</a></p> @@ -201,7 +202,7 @@ sdcc</h2> <li>Arguments can be passed to it through <a class="el" href="docs_toolchain.html#lcc">lcc</a> using <code>-Wf-<argument></code> and <code>-Wp-<argument></code> (pre-processor)</li> </ul> <p><a class="anchor" id="sdasgb"></a></p> -<h2><a class="anchor" id="autotoc_md89"></a> +<h2><a class="anchor" id="autotoc_md102"></a> sdasgb</h2> <p>SDCC Assembler for the gameboy</p> <p>For detailed settings see <a class="el" href="docs_toolchain_settings.html#sdasgb-settings">sdasgb-settings</a></p> @@ -209,7 +210,7 @@ sdasgb</h2> <li>Arguments can be passed to it through <a class="el" href="docs_toolchain.html#lcc">lcc</a> using <code>-Wa-<argument></code></li> </ul> <p><a class="anchor" id="bankpack"></a></p> -<h2><a class="anchor" id="autotoc_md90"></a> +<h2><a class="anchor" id="autotoc_md103"></a> bankpack</h2> <p>Automatic Bank packer</p> <p>For detailed settings see <a class="el" href="docs_toolchain_settings.html#bankpack-settings">bankpack-settings</a></p> @@ -219,7 +220,7 @@ bankpack</h2> <li>Arguments can be passed to it through <a class="el" href="docs_toolchain.html#lcc">lcc</a> using <code>-Wb-<argument></code></li> </ul> <p><a class="anchor" id="sdldgb"></a></p> -<h2><a class="anchor" id="autotoc_md91"></a> +<h2><a class="anchor" id="autotoc_md104"></a> sdldgb</h2> <p>The SDCC linker for the gameboy.</p> <p>For detailed settings see <a class="el" href="docs_toolchain_settings.html#sdldgb-settings">sdldgb-settings</a></p> @@ -227,7 +228,7 @@ sdldgb</h2> <li>Arguments can be passed to it through <a class="el" href="docs_toolchain.html#lcc">lcc</a> using <code>-Wl-<argument></code></li> </ul> <p><a class="anchor" id="ihxcheck"></a></p> -<h2><a class="anchor" id="autotoc_md92"></a> +<h2><a class="anchor" id="autotoc_md105"></a> ihxcheck</h2> <p>IHX file validator</p> <p>For detailed settings see <a class="el" href="docs_toolchain_settings.html#ihxcheck-settings">ihxcheck-settings</a></p> @@ -236,48 +237,52 @@ ihxcheck</h2> <li>Arguments can be passed to it through <a class="el" href="docs_toolchain.html#lcc">lcc</a> using <code>-Wi-<argument></code></li> </ul> <p><a class="anchor" id="makebin"></a></p> -<h2><a class="anchor" id="autotoc_md93"></a> +<h2><a class="anchor" id="autotoc_md106"></a> makebin</h2> <p>IHX to ROM converter</p> -<p>For detailed settings see <a class="el" href="docs_toolchain_settings.html#makebin-settings">makebin-settings</a></p> -<p>Converts .ihx files produced by <a class="el" href="docs_toolchain.html#sdldgb">sdldgb</a> into ROM files (.gb, .gbc).</p><ul> +<ul> +<li>For detailed settings see <a class="el" href="docs_toolchain_settings.html#makebin-settings">makebin-settings</a></li> +<li>For makebin <code>-yt</code> MBC values see <a class="el" href="docs_rombanking_mbcs.html#setting_mbc_and_rom_ram_banks">setting_mbc_and_rom_ram_banks</a></li> +</ul> +<p>Converts .ihx files produced by <a class="el" href="docs_toolchain.html#sdldgb">sdldgb</a> into ROM files (.gb, .gbc). Also used for setting some ROM header data.</p><ul> <li>Arguments can be passed to it through <a class="el" href="docs_toolchain.html#lcc">lcc</a> using <code>-Wm-<argument></code></li> </ul> <p><a class="anchor" id="gbdk_utilities"></a></p> -<h1><a class="anchor" id="autotoc_md94"></a> +<h1><a class="anchor" id="autotoc_md107"></a> GBDK Utilities</h1> <p><a class="anchor" id="utility_gbcompress"></a></p> -<h2><a class="anchor" id="autotoc_md95"></a> +<h2><a class="anchor" id="autotoc_md108"></a> GBCompress</h2> <p>Compresssion utility</p> <p>For detailed settings see <a class="el" href="docs_toolchain_settings.html#gbcompress-settings">gbcompress-settings</a></p> -<p>Compresses (and decompresses) binary file data with the gbcompress algorithm (also used in GBTD/GBMB). Decompression support is available in GBDK, see <a class="el" href="gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a">gb_decompress()</a>.</p> +<p>Compresses (and decompresses) binary file data with the gbcompress algorithm (also used in GBTD/GBMB). Decompression support is available in GBDK, see <a class="el" href="gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2">gb_decompress()</a>.</p> <p>Can also compress (and decompress) using block style rle encoding with the <code>--alg=rle</code> flag. Decompression support is available in GBDK, see <a class="el" href="rledecompress_8h.html#ad60bf95ddad142d8d81e5e1f0a0bb6e0">rle_decompress()</a>.</p> <p><a class="anchor" id="utility_png2asset"></a></p> -<h2><a class="anchor" id="autotoc_md96"></a> +<h2><a class="anchor" id="autotoc_md109"></a> png2asset</h2> <p>Tool for converting PNGs into GBDK format MetaSprites and Tile Maps</p> <ul> <li>Convert single or multiple frames of graphics into metasprite structured data for use with the ...metasprite...() functions.</li> <li>When <code>-map</code> is used, converts images into Tile Maps and matching Tile Sets</li> +<li>Supports Game Boy 2bpp, GBC 4bpp, SGB 4bpp, and SMS/GG 4bpp</li> </ul> <p>For detailed settings see <a class="el" href="docs_toolchain_settings.html#png2asset-settings">png2asset-settings</a> <br /> For working with sprite properties (including cgb palettes), see <a class="el" href="gb_2metasprites_8h.html#metasprite_and_sprite_properties">metasprite_and_sprite_properties</a> <br /> For API support see <a class="el" href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite()</a> and related functions in <a class="el" href="sms_2metasprites_8h.html">metasprites.h</a> <br /> </p> -<h3><a class="anchor" id="autotoc_md97"></a> +<h3><a class="anchor" id="autotoc_md110"></a> Working with png2asset</h3> <ul> <li>The origin (pivot) for the metasprite is not required to be in the upper left-hand corner as with regular hardware sprites. See <code>-px</code> and <code>-py</code>.</li> <li>The conversion process supports using both SPRITES_8x8 (<code>-spr8x8</code>) and SPRITES_8x16 mode (<code>-spr8x16</code>). If 8x16 mode is used then the height of the metasprite must be a multiple of 16.</li> </ul> -<h4><a class="anchor" id="autotoc_md98"></a> +<h4><a class="anchor" id="autotoc_md111"></a> Terminology</h4> <p>The following abbreviations are used in this section:</p><ul> <li>Original Game Boy and Game Boy Pocket style hardware: <code>DMG</code></li> <li>Game Boy Color: <code>CGB</code></li> </ul> -<h4><a class="anchor" id="autotoc_md99"></a> +<h4><a class="anchor" id="autotoc_md112"></a> Conversion Process</h4> <p>png2asset accepts any png as input, although that does not mean any image will be valid. The program will follow the next steps:</p><ul> <li>The image will be subdivided into tiles of 8x8 or 8x16</li> @@ -297,7 +302,7 @@ Conversion Process</h4> <li>Tiles will be matched without mirror, using vertical mirror, horizontal mirror or both (use <code>-noflip</code> to turn off matching mirrored tiles)</li> <li>The palette won't be taken into account for matching, only the pixel color order, meaning there will be a match between tiles using different palettes but looking identical on grayscale</li> </ul> -<h4><a class="anchor" id="autotoc_md100"></a> +<h4><a class="anchor" id="autotoc_md113"></a> Maps</h4> <p>Passing <code>-map</code> the png can be converted to a map that can be used in both the background and the window. In this case, png2asset will generate:</p><ul> <li>The palettes</li> @@ -312,7 +317,7 @@ Maps</h4> </ul> </li> </ul> -<h4><a class="anchor" id="autotoc_md101"></a> +<h4><a class="anchor" id="autotoc_md114"></a> Meta sprites</h4> <p>By default the png will be converted to metasprites. The image will be subdivided into meta sprites of <code>-sw</code> x <code>-sh</code>. In this case png2asset will generate:</p><ul> <li>The metasprites, containing an array of:<ul> @@ -322,8 +327,16 @@ Meta sprites</h4> <li>flags, containing the mirror info, the palettes for both DMG and GBC and the sprite priority</li> </ul> </li> -<li>The metasprites array </li> +<li>The metasprites array</li> +</ul> +<h4><a class="anchor" id="autotoc_md115"></a> +Super Game Boy Borders (SGB)</h4> +<p>Screen border assets for the Super Game Boy can be generated using png2asset.</p> +<p>The following flags should be used to perform the conversion:</p><ul> +<li><code><input_border_file.png> -map -bpp 4 -max_palettes 4 -pack_mode sgb -use_map_attributes -c <output_border_data.c></code></li> +<li>Where <code><input_border_file.png></code> is the image of the SGB border (256x224) and <code><output_border_data.c></code> is the name of the source file to write the assets out to.</li> </ul> +<p>See the <code>sgb_border</code> example project for more details. </p> </div></div><!-- contents --> </div><!-- PageDoc --> </div><!-- doc-content --> diff --git a/docs/api/docs_toolchain_settings.html b/docs/api/docs_toolchain_settings.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -90,7 +91,7 @@ $(document).ready(function(){initNavTree('docs_toolchain_settings.html',''); ini </div><!--header--> <div class="contents"> <div class="textblock"><p><a class="anchor" id="lcc-settings"></a></p> -<h1><a class="anchor" id="autotoc_md186"></a> +<h1><a class="anchor" id="autotoc_md206"></a> lcc settings</h1> <div class="fragment"><div class="line">./lcc [ option | file ]...</div> <div class="line"> except for -l, options are processed left-to-right before files</div> @@ -108,7 +109,7 @@ lcc settings</h1> <div class="line">-Idir add `dir' to the beginning of the list of #include directories</div> <div class="line">-K don't run ihxcheck test on linker ihx output</div> <div class="line">-lx search library `x'</div> -<div class="line">-m select port and platform: "-m[port]:[plat]" ports:gbz80,z80 plats:ap,gb,sms,gg</div> +<div class="line">-m select port and platform: "-m[port]:[plat]" ports:gbz80,z80 plats:ap,duck,gb,sms,gg</div> <div class="line">-N do not search the standard directories for #include files</div> <div class="line">-n emit code to check for dereferencing zero pointers</div> <div class="line">-no-crt do not auto-include the gbdk crt0.o runtime in linker list</div> @@ -129,7 +130,7 @@ lcc settings</h1> <div class="line">-Woarg specify system-specific `arg'</div> <div class="line">-W[pfablim]arg pass `arg' to the preprocessor, compiler, assembler, bankpack, linker, ihxcheck, or makebin</div> </div><!-- fragment --><p><a class="anchor" id="sdcc-settings"></a></p> -<h1><a class="anchor" id="autotoc_md187"></a> +<h1><a class="anchor" id="autotoc_md207"></a> sdcc settings</h1> <div class="fragment"><div class="line">SDCC : z80/gbz80 4.1.6 #12539 (Linux)</div> <div class="line">published under GNU General Public License (GPL)</div> @@ -244,8 +245,6 @@ sdcc settings</h1> <div class="line">Special options for the z80 port:</div> <div class="line"> --callee-saves-bc Force a called function to always save BC</div> <div class="line"> --portmode= Determine PORT I/O mode (z80/z180)</div> -<div class="line"> -bo <num> use code bank <num></div> -<div class="line"> -ba <num> use data bank <num></div> <div class="line"> --asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)</div> <div class="line"> --codeseg <name> use this name for the code segment</div> <div class="line"> --constseg <name> use this name for the const segment</div> @@ -269,7 +268,7 @@ sdcc settings</h1> <div class="line"> --no-std-crt0 For the z80/gbz80 do not link default crt0.rel</div> <div class="line"> --legacy-banking Use legacy method to call banked functions</div> </div><!-- fragment --><p><a class="anchor" id="sdasgb-settings"></a></p> -<h1><a class="anchor" id="autotoc_md188"></a> +<h1><a class="anchor" id="autotoc_md208"></a> sdasgb settings</h1> <div class="fragment"><div class="line">sdas Assembler V02.00 + NoICE + SDCC mods (GameBoy Z80-like CPU)</div> <div class="line"> </div> @@ -305,7 +304,7 @@ sdasgb settings</h1> <div class="line"> </div> <div class="line">removing </div> </div><!-- fragment --><p><a class="anchor" id="sdasz80-settings"></a></p> -<h1><a class="anchor" id="autotoc_md189"></a> +<h1><a class="anchor" id="autotoc_md209"></a> sdasz80 settings</h1> <div class="fragment"><div class="line">sdas Assembler V02.00 + NoICE + SDCC mods (GameBoy Z80-like CPU)</div> <div class="line"> </div> @@ -341,7 +340,7 @@ sdasz80 settings</h1> <div class="line"> </div> <div class="line">removing </div> </div><!-- fragment --><p><a class="anchor" id="bankpack-settings"></a></p> -<h1><a class="anchor" id="autotoc_md190"></a> +<h1><a class="anchor" id="autotoc_md210"></a> bankpack settings</h1> <div class="fragment"><div class="line">bankalloc [options] objfile1 objfile2 etc</div> <div class="line">Use: Read .o files and auto-assign areas with bank=255.</div> @@ -378,7 +377,7 @@ bankpack settings</h1> <div class="line">S ___bank_<const name> Def0000FF</div> <div class="line"> (Above can be made by: const void __at(255) __bank_<const name>;</div> </div><!-- fragment --><p><a class="anchor" id="sdldgb-settings"></a></p> -<h1><a class="anchor" id="autotoc_md191"></a> +<h1><a class="anchor" id="autotoc_md211"></a> sdldgb settings</h1> <div class="fragment"><div class="line">sdld Linker V03.00 + NoICE + sdld</div> <div class="line"> </div> @@ -415,7 +414,7 @@ sdldgb settings</h1> <div class="line">End:</div> <div class="line"> -e or null line terminates input</div> </div><!-- fragment --><p><a class="anchor" id="sdldz80-settings"></a></p> -<h1><a class="anchor" id="autotoc_md192"></a> +<h1><a class="anchor" id="autotoc_md212"></a> sdldz80 settings</h1> <div class="fragment"><div class="line">sdld Linker V03.00 + NoICE + sdld</div> <div class="line"> </div> @@ -452,7 +451,7 @@ sdldz80 settings</h1> <div class="line">End:</div> <div class="line"> -e or null line terminates input</div> </div><!-- fragment --><p><a class="anchor" id="ihxcheck-settings"></a></p> -<h1><a class="anchor" id="autotoc_md193"></a> +<h1><a class="anchor" id="autotoc_md213"></a> ihxcheck settings</h1> <div class="fragment"><div class="line">ihx_check input_file.ihx [options]</div> <div class="line"> </div> @@ -463,9 +462,9 @@ ihxcheck settings</h1> <div class="line">Use: Read a .ihx and warn about overlapped areas.</div> <div class="line">Example: "ihx_check build/MyProject.ihx"</div> </div><!-- fragment --><p><a class="anchor" id="makebin-settings"></a></p> -<h1><a class="anchor" id="autotoc_md194"></a> +<h1><a class="anchor" id="autotoc_md214"></a> makebin settings</h1> -<div class="fragment"><div class="line">makebin: convert a Intel IHX file to binary or GameBoy format binary.</div> +<p>Also see <a class="el" href="docs_rombanking_mbcs.html#setting_mbc_and_rom_ram_banks">setting_mbc_and_rom_ram_banks</a> </p><div class="fragment"><div class="line">makebin: convert a Intel IHX file to binary or GameBoy format binary.</div> <div class="line">Usage: makebin [options] [<in_file> [<out_file>]]</div> <div class="line">Options:</div> <div class="line"> -p pack mode: the binary file size will be truncated to the last occupied byte</div> @@ -494,7 +493,7 @@ makebin settings</h1> <div class="line"> <in_file> optional IHX input file, '-' means stdin. (default: stdin)</div> <div class="line"> <out_file> optional output file, '-' means stdout. (default: stdout)</div> </div><!-- fragment --><p><a class="anchor" id="gbcompress-settings"></a></p> -<h1><a class="anchor" id="autotoc_md195"></a> +<h1><a class="anchor" id="autotoc_md215"></a> gbcompress settings</h1> <div class="fragment"><div class="line">gbcompress [options] infile outfile</div> <div class="line">Use: compress a binary file and write it out.</div> @@ -506,7 +505,7 @@ gbcompress settings</h1> <div class="line">--cin : Read input as .c source format (8 bit char ONLY, uses first array found)</div> <div class="line">--cout : Write output in .c / .h source format (8 bit char ONLY) </div> <div class="line">--varname=<NAME> : specify variable name for c source output</div> -<div class="line">--alg=<type> : specify compression type. 'rle', 'gb' (default)</div> +<div class="line">--alg=<type> : specify compression type: 'rle', 'gb' (default)</div> <div class="line">Example: "gbcompress binaryfile.bin compressed.bin"</div> <div class="line">Example: "gbcompress -d compressedfile.bin decompressed.bin"</div> <div class="line">Example: "gbcompress --alg=rle binaryfile.bin compressed.bin"</div> @@ -514,7 +513,7 @@ gbcompress settings</h1> <div class="line">The default compression (gb) is the type used by gbtd/gbmb</div> <div class="line">The rle compression is Amiga IFF style</div> </div><!-- fragment --><p><a class="anchor" id="png2asset-settings"></a></p> -<h1><a class="anchor" id="autotoc_md196"></a> +<h1><a class="anchor" id="autotoc_md216"></a> png2asset settings</h1> <div class="fragment"><div class="line">usage: png2asset <file>.png [options]</div> <div class="line">-c ouput file (default: <png file>.c)</div> @@ -532,7 +531,11 @@ png2asset settings</h1> <div class="line">-noflip disable tile flip</div> <div class="line">-map Export as map (tileset + bg)</div> <div class="line">-use_map_attributes Use CGB BG Map attributes (default: palettes are stored for each tile in a separate array)</div> -<div class="line">-use_structs Group the exported info into structs (default: false)</div> +<div class="line">-use_structs Group the exported info into structs (default: false) (used by ZGB Game Engine)</div> +<div class="line">-bpp bits per pixel: 2, 4 (default: 2)</div> +<div class="line">-max_palettes maximum number of palettes allowed (default: 2)</div> +<div class="line">-pack_mode gb, sgb or sms (default:GB)</div> +<div class="line">-tile_origin tile index offset for maps (instead of zero)</div> </div><!-- fragment --> </div></div><!-- contents --> </div><!-- PageDoc --> </div><!-- doc-content --> diff --git a/docs/api/docs_using_gbdk.html b/docs/api/docs_using_gbdk.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -89,15 +90,15 @@ $(document).ready(function(){initNavTree('docs_using_gbdk.html',''); initResizab <div class="title">Using GBDK </div> </div> </div><!--header--> <div class="contents"> -<div class="textblock"><h1><a class="anchor" id="autotoc_md27"></a> +<div class="textblock"><h1><a class="anchor" id="autotoc_md40"></a> Interrupts</h1> <p>Interrupts allow execution to jump to a different part of your code as soon as an external event occurs - for example the LCD entering the vertical blank period, serial data arriving or the timer reaching its end count. For an example see the irq.c sample project.</p> -<p>Interrupts in GBDK are handled using the functions <a class="el" href="gb_8h.html#a8a71c706c3eb1343196adf77f5825747">disable_interrupts()</a>, <a class="el" href="gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef">enable_interrupts()</a>, <a class="el" href="sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849">set_interrupts(uint8_t ier)</a> and the interrupt service routine (ISR) linkers <a class="el" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">add_VBL()</a>, <a class="el" href="sms_8h.html#a17416b1bb39989e82948e3a97f23187f">add_TIM</a>, <a class="el" href="sms_8h.html#a99f5c1698cb6d3715690481d4e4b6da1">add_LCD</a>, <a class="el" href="sms_8h.html#adcbf35ca19c093d4565729fa7e868f5c">add_SIO</a> and <a class="el" href="sms_8h.html#a049c5d8c901a23cccf95b02a911f9212">add_JOY</a> which add interrupt handlers for the vertical blank, timer, LCD, serial link and joypad interrupts respectively.</p> +<p>Interrupts in GBDK are handled using the functions <a class="el" href="gb_8h.html#ad77796783b3a601b6f3781dfc3983499">disable_interrupts()</a>, <a class="el" href="gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867">enable_interrupts()</a>, <a class="el" href="sms_8h.html#aefda0091b2934571a11e07b512735f50">set_interrupts(uint8_t ier)</a> and the interrupt service routine (ISR) linkers <a class="el" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">add_VBL()</a>, <a class="el" href="sms_8h.html#a6c66a583a8f0744e3985c89725e3dc10">add_TIM</a>, <a class="el" href="sms_8h.html#a51add93356a25c71e8c37a73c9065c9d">add_LCD</a>, <a class="el" href="sms_8h.html#a3372d61a07e0466bdb909a27f3aaaca9">add_SIO</a> and <a class="el" href="sms_8h.html#a48163816121cd669526817d3e6266fd9">add_JOY</a> which add interrupt handlers for the vertical blank, timer, LCD, serial link and joypad interrupts respectively.</p> <p>Since an interrupt can occur at any time an Interrupt Service Request (ISR) cannot take any arguments or return anything. Its only way of communicating with the greater program is through the global variables. When interacting with those shared ISR global variables from main code outside the interrupt, it is a good idea to wrap them in a <code>critical {}</code> section in case the interrupt occurs and modifies the variable while it is being used.</p> <p>Interrupts should be disabled before adding ISRs. To use multiple interrupts, <em>logical OR</em> the relevant IFLAGs together.</p> <p>ISRs should be kept as small and short as possible, do not write an ISR so long that the Game Boy hardware spends all of its time servicing interrupts and has no time spare for the main code.</p> <p>For more detail on the Game Boy interrupts consider reading about them in the <a class="el" href="docs_links_and_tools.html#Pandocs">Pandocs</a>.</p> -<h2><a class="anchor" id="autotoc_md28"></a> +<h2><a class="anchor" id="autotoc_md41"></a> Available Interrupts</h2> <p>The GameBoy hardware can generate 5 types of interrupts. Custom Interrupt Service Routines (ISRs) can be added in addition to the built-in ones available in GBDK.</p> <ul> @@ -130,55 +131,56 @@ Available Interrupts</h2> </ul> </li> </ul> -<h2><a class="anchor" id="autotoc_md29"></a> +<h2><a class="anchor" id="autotoc_md42"></a> Adding your own interrupt handler</h2> <p>It is possible to install your own interrupt handlers (in C or in assembly) for any of these interrupts. Up to 4 chained handlers may be added, with the last added being called last. If the <a class="el" href="gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386">remove_VBL()</a> function is to be called, only three may be added for VBL.</p> <p>Interrupt handlers are called in sequence. To install a new interrupt handler, do the following:</p> <ol type="1"> <li>Write a function (say foo()) that takes no parameters, and that returns nothing. Remember that the code executed in an interrupt handler must be short.</li> <li>Inside a <code>__critical { ... }</code> section, install your interrupt handling routines using the add_XXX() function, where XXX is the interrupt that you want to handle.</li> -<li>Enable interrupts for the IRQ you want to handle, using the <a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts()</a> function. Note that the VBL interrupt is already enabled before the main() function is called. If you want to set the interrupts before main() is called, you must install an initialization routine.</li> +<li>Enable interrupts for the IRQ you want to handle, using the <a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts()</a> function. Note that the VBL interrupt is already enabled before the main() function is called. If you want to set the interrupts before main() is called, you must install an initialization routine.</li> </ol> <p>See the <code>irq</code> example project for additional details for a complete example.</p> -<h2><a class="anchor" id="autotoc_md30"></a> +<h2><a class="anchor" id="autotoc_md43"></a> Using your own Interrupt Dispatcher</h2> <p>If you want to use your own Interrupt Dispatcher instead of the GBDK chained dispatcher (for improved performance), then don't call the <code>add_...()</code> function for the respective interrupt and it's dispatcher won't be installed.</p><ul> <li>Exception: the VBL dispatcher will always be linked in at compile time.</li> <li>For the SIO interrupt, also do not make any standard SIO calls to avoid having it's dispatcher installed.</li> </ul> <p>Then, <a class="el" href="isr_8h.html#a73769fed9338af86fdb7df35d7b82620">ISR_VECTOR()</a> or <a class="el" href="isr_8h.html#a78f9ef588aaf221023e48899898d566b">ISR_NESTED_VECTOR()</a> can be used to install a custom ISR handler.</p> -<h2><a class="anchor" id="autotoc_md31"></a> +<h2><a class="anchor" id="autotoc_md44"></a> Returning from Interrupts and STAT mode</h2> <p>By default when an Interrupt handler completes and is ready to exit it will check STAT_REG and only return at the BEGINNING of either LCD Mode 0 or Mode 1. This helps prevent graphical glitches caused when an ISR interrupts a graphics operation in one mode but returns in a different mode for which that graphics operation is not allowed.</p> <p>You can change this behavior using <a class="el" href="gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9">nowait_int_handler()</a> which does not check <a class="el" href="gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b">STAT_REG</a> before returning. Also see <a class="el" href="gb_8h.html#acc9afd0cb72e763a1213d256b942a68f">wait_int_handler()</a>.</p> -<h1><a class="anchor" id="autotoc_md32"></a> +<h1><a class="anchor" id="autotoc_md45"></a> What GBDK does automatically and behind the scenes</h1> -<h2><a class="anchor" id="autotoc_md33"></a> +<h2><a class="anchor" id="autotoc_md46"></a> OAM (VRAM Sprite Attribute Table)</h2> <p>GBDK sets up a Shadow OAM which gets copied automatically to the hardware OAM by the default V-Blank ISR. The Shadow OAM allows updating sprites without worrying about whether it is safe to write to them or not based on the hardware LCD mode.</p> -<h2><a class="anchor" id="autotoc_md34"></a> +<h2><a class="anchor" id="autotoc_md47"></a> Font tiles when using stdio.h</h2> <p>Including <a class="el" href="stdio_8h.html">stdio.h</a> and using functions such as <a class="el" href="stdio_8h.html#ab403fa700816f08631ba75bc536f74d4">printf()</a> will use a large number of the background tiles for font characters. If stdio.h is not included then that space will be available for use with other tiles instead.</p> -<h2><a class="anchor" id="autotoc_md35"></a> +<h2><a class="anchor" id="autotoc_md48"></a> Default Interrupt Service Handlers (ISRs)</h2> <ul> <li>V-Blank: A default V-Blank ISR is installed on startup which copies the Shadow OAM to the hardware OAM and increments the global <a class="el" href="sms_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a> variable once per frame.</li> <li>Serial Link I/O: If any of the GBDK serial link functions are used such as <a class="el" href="gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964">send_byte()</a> and <a class="el" href="gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7">receive_byte()</a>, the default SIO serial link handler will be installed automatically at compile-time.</li> </ul> -<h1><a class="anchor" id="autotoc_md36"></a> +<h1><a class="anchor" id="autotoc_md49"></a> Copying Functions to RAM and HIRAM</h1> -<p>The <code>ram_function</code> example project included with GBDK demonstrates copying functions to RAM and HIRAM.</p> -<p>It is possible to copy functions to RAM and HIRAM (using the <a class="el" href="asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627">memcpy()</a> and <a class="el" href="gb_8h.html#a08365da56dbc2a97c480818c0e6a62b9">hiramcpy()</a> functions), and execute them from C. The compiler automatically generates two symbols for the start and the end of each function, named start_X and end_X (where X is the name of the function). This enables to calculate the length of a function when copying it to RAM. Ensure you have enough free space in RAM or HIRAM for copying a function.</p> +<p>See the <code>ram_function</code> example project included with GBDK demonstrates copying functions to RAM and HIRAM.</p> +<p><code>Warning!</code> Copying of functions is generally not safe since they may contain jumps to absolute addresses that will not be converted to match the new location.</p> +<p>It is possible to copy functions to RAM and HIRAM (using the <a class="el" href="asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574">memcpy()</a> and <a class="el" href="gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44">hiramcpy()</a> functions), and execute them from C. Ensure you have enough free space in RAM or HIRAM for copying a function.</p> <p>There are basically two ways for calling a function located in RAM, HIRAM, or ROM:</p> <ul> <li>Declare a pointer-to-function variable, and set it to the address of the function to call.</li> <li>Declare the function as extern, and set its address at link time using the -Wl-gXXX=# flag (where XXX is the name of the function, and # is its address).</li> </ul> <p>The second approach is slightly more efficient. Both approaches are demonstrated in the <code>ram_function.c</code> example.</p> -<h1><a class="anchor" id="autotoc_md37"></a> +<h1><a class="anchor" id="autotoc_md50"></a> Mixing C and Assembly</h1> <p>You can mix C and assembly (ASM) in two ways as described below. For additional detail see the <a class="el" href="docs_links_and_tools.html#links_sdcc_docs">links_sdcc_docs</a>.</p> -<h2><a class="anchor" id="autotoc_md38"></a> +<h2><a class="anchor" id="autotoc_md51"></a> Inline ASM within C source files</h2> <p>Example: <br /> </p><pre class="fragment"> __asm__("nop"); @@ -190,7 +192,7 @@ Inline ASM within C source files</h2> (ASM code goes here) __endasm; } -</pre><h2><a class="anchor" id="autotoc_md39"></a> +</pre><h2><a class="anchor" id="autotoc_md52"></a> In Separate ASM files</h2> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>This is from GBDK 2.x docs, verify it with GBDK-2020 and modern SDCC</dd></dl> <p>It is possible to assemble and link files written in ASM alongside files written in C.</p> @@ -230,13 +232,13 @@ LD D,H LD E,L ; There is no register to restore RET ; Return result in DE -</pre><h1><a class="anchor" id="autotoc_md40"></a> +</pre><h1><a class="anchor" id="autotoc_md53"></a> Including binary files in C source with incbin</h1> <p>Data from binary files can be included in C source files as a const array using the <a class="el" href="incbin_8h.html#af34047ed60abd6453f819c2a5230cd2b">INCBIN()</a> macro.</p> <p>See the <code>incbin</code> example project for a demo of how to use it.</p> -<h1><a class="anchor" id="autotoc_md41"></a> +<h1><a class="anchor" id="autotoc_md54"></a> Known Issues and Limitations</h1> -<h2><a class="anchor" id="autotoc_md42"></a> +<h2><a class="anchor" id="autotoc_md55"></a> SDCC</h2> <ul> <li>Const arrays declared with <code>somevar[n] = {x}</code> will <b>NOT</b> get initialized with value <code>x</code>. This may change when the SDCC RLE initializer is fixed. Use memset for now if you need it.</li> diff --git a/docs/api/drawing_8h.html b/docs/api/drawing_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -130,13 +131,13 @@ Macros</h2></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:aef65e5faa0adb82768fca06aafbe50e8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="drawing_8h.html#aef65e5faa0adb82768fca06aafbe50e8">gprint</a> (char *str) <a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> +<tr class="memitem:aef65e5faa0adb82768fca06aafbe50e8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="drawing_8h.html#aef65e5faa0adb82768fca06aafbe50e8">gprint</a> (char *str) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> <tr class="separator:aef65e5faa0adb82768fca06aafbe50e8"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:afeb7c0a887fe3d18659175de77a787a5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="drawing_8h.html#afeb7c0a887fe3d18659175de77a787a5">gprintln</a> (<a class="el" href="stdint_8h.html#a66634143db08bebe9b46ab4cb1fc6fd3">int16_t</a> number, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> radix, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> signed_value) <a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> +<tr class="memitem:afeb7c0a887fe3d18659175de77a787a5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="drawing_8h.html#afeb7c0a887fe3d18659175de77a787a5">gprintln</a> (<a class="el" href="stdint_8h.html#a66634143db08bebe9b46ab4cb1fc6fd3">int16_t</a> number, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> radix, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> signed_value) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> <tr class="separator:afeb7c0a887fe3d18659175de77a787a5"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a9d70278d1d09fdc24ea6bd9788dbd96a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="drawing_8h.html#a9d70278d1d09fdc24ea6bd9788dbd96a">gprintn</a> (<a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> number, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> radix, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> signed_value) <a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> +<tr class="memitem:a9d70278d1d09fdc24ea6bd9788dbd96a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="drawing_8h.html#a9d70278d1d09fdc24ea6bd9788dbd96a">gprintn</a> (<a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> number, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> radix, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> signed_value) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> <tr class="separator:a9d70278d1d09fdc24ea6bd9788dbd96a"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a5f7a0ed309f9526e9be285146559848c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="drawing_8h.html#a5f7a0ed309f9526e9be285146559848c">gprintf</a> (char *fmt,...) <a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> +<tr class="memitem:a5f7a0ed309f9526e9be285146559848c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="drawing_8h.html#a5f7a0ed309f9526e9be285146559848c">gprintf</a> (char *fmt,...) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> <tr class="separator:a5f7a0ed309f9526e9be285146559848c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac888c327137d7f00cb3af57af236602a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="drawing_8h.html#ac888c327137d7f00cb3af57af236602a">plot</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> colour, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a3ea524204d839377cf39842eec23e202">mode</a>) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:ac888c327137d7f00cb3af57af236602a"><td class="memSeparator" colspan="2"> </td></tr> diff --git a/docs/api/drawing_8h_source.html b/docs/api/drawing_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -117,13 +118,13 @@ $(document).ready(function(){initNavTree('drawing_8h_source.html',''); initResiz <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  </div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include <types.h></span></div> <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  </div> -<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="drawing_8h.html#aef65e5faa0adb82768fca06aafbe50e8"> 64</a></span> <span class="keywordtype">void</span> <a class="code" href="drawing_8h.html#aef65e5faa0adb82768fca06aafbe50e8">gprint</a>(<span class="keywordtype">char</span> *str) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> +<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="drawing_8h.html#aef65e5faa0adb82768fca06aafbe50e8"> 64</a></span> <span class="keywordtype">void</span> <a class="code" href="drawing_8h.html#aef65e5faa0adb82768fca06aafbe50e8">gprint</a>(<span class="keywordtype">char</span> *str) <a class="code" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  </div> -<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="drawing_8h.html#afeb7c0a887fe3d18659175de77a787a5"> 75</a></span> <span class="keywordtype">void</span> <a class="code" href="drawing_8h.html#afeb7c0a887fe3d18659175de77a787a5">gprintln</a>(<a class="code" href="stdint_8h.html#a66634143db08bebe9b46ab4cb1fc6fd3">int16_t</a> number, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> radix, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> signed_value) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> +<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="drawing_8h.html#afeb7c0a887fe3d18659175de77a787a5"> 75</a></span> <span class="keywordtype">void</span> <a class="code" href="drawing_8h.html#afeb7c0a887fe3d18659175de77a787a5">gprintln</a>(<a class="code" href="stdint_8h.html#a66634143db08bebe9b46ab4cb1fc6fd3">int16_t</a> number, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> radix, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> signed_value) <a class="code" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  </div> -<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="drawing_8h.html#a9d70278d1d09fdc24ea6bd9788dbd96a"> 81</a></span> <span class="keywordtype">void</span> <a class="code" href="drawing_8h.html#a9d70278d1d09fdc24ea6bd9788dbd96a">gprintn</a>(<a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> number, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> radix, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> signed_value) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> +<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="drawing_8h.html#a9d70278d1d09fdc24ea6bd9788dbd96a"> 81</a></span> <span class="keywordtype">void</span> <a class="code" href="drawing_8h.html#a9d70278d1d09fdc24ea6bd9788dbd96a">gprintn</a>(<a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> number, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> radix, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> signed_value) <a class="code" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  </div> -<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="drawing_8h.html#a5f7a0ed309f9526e9be285146559848c"> 99</a></span> <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="drawing_8h.html#a5f7a0ed309f9526e9be285146559848c">gprintf</a>(<span class="keywordtype">char</span> *fmt,...) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> +<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="drawing_8h.html#a5f7a0ed309f9526e9be285146559848c"> 99</a></span> <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="drawing_8h.html#a5f7a0ed309f9526e9be285146559848c">gprintf</a>(<span class="keywordtype">char</span> *fmt,...) <a class="code" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div> <div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="drawing_8h.html#ac888c327137d7f00cb3af57af236602a"> 102</a></span> <span class="keywordtype">void</span> <a class="code" href="drawing_8h.html#ac888c327137d7f00cb3af57af236602a">plot</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> colour, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a3ea524204d839377cf39842eec23e202">mode</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  </div> @@ -166,9 +167,9 @@ $(document).ready(function(){initNavTree('drawing_8h_source.html',''); initResiz <div class="ttc" id="adrawing_8h_html_a1e268a46a8151f9cc3b7b40100123d09"><div class="ttname"><a href="drawing_8h.html#a1e268a46a8151f9cc3b7b40100123d09">getpix</a></div><div class="ttdeci">uint8_t getpix(uint8_t x, uint8_t y) OLDCALL</div></div> <div class="ttc" id="adrawing_8h_html_a595c77bca15884c75fd85af84f373814"><div class="ttname"><a href="drawing_8h.html#a595c77bca15884c75fd85af84f373814">plot_point</a></div><div class="ttdeci">void plot_point(uint8_t x, uint8_t y) OLDCALL</div></div> <div class="ttc" id="adrawing_8h_html_a5f7a0ed309f9526e9be285146559848c"><div class="ttname"><a href="drawing_8h.html#a5f7a0ed309f9526e9be285146559848c">gprintf</a></div><div class="ttdeci">int8_t gprintf(char *fmt,...) NONBANKED</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7ed081d8dfb6902784b2fc730bbb7f96"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></div><div class="ttdeci">#define NONBANKED</div><div class="ttdef"><b>Definition:</b> types.h:12</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> <div class="ttc" id="adrawing_8h_html_a9fa68d25be92836a1b08a5e610b4f32f"><div class="ttname"><a href="drawing_8h.html#a9fa68d25be92836a1b08a5e610b4f32f">color</a></div><div class="ttdeci">void color(uint8_t forecolor, uint8_t backcolor, uint8_t mode) OLDCALL</div></div> +<div class="ttc" id="aasm_2types_8h_html_a7ed081d8dfb6902784b2fc730bbb7f96"><div class="ttname"><a href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></div><div class="ttdeci">#define NONBANKED</div><div class="ttdef"><b>Definition:</b> types.h:36</div></div> <div class="ttc" id="adrawing_8h_html_ac888c327137d7f00cb3af57af236602a"><div class="ttname"><a href="drawing_8h.html#ac888c327137d7f00cb3af57af236602a">plot</a></div><div class="ttdeci">void plot(uint8_t x, uint8_t y, uint8_t colour, uint8_t mode) OLDCALL</div></div> <div class="ttc" id="adrawing_8h_html_afeb7c0a887fe3d18659175de77a787a5"><div class="ttname"><a href="drawing_8h.html#afeb7c0a887fe3d18659175de77a787a5">gprintln</a></div><div class="ttdeci">void gprintln(int16_t number, int8_t radix, int8_t signed_value) NONBANKED</div></div> <div class="ttc" id="adrawing_8h_html_a9d70278d1d09fdc24ea6bd9788dbd96a"><div class="ttname"><a href="drawing_8h.html#a9d70278d1d09fdc24ea6bd9788dbd96a">gprintn</a></div><div class="ttdeci">void gprintn(int8_t number, int8_t radix, int8_t signed_value) NONBANKED</div></div> diff --git a/docs/api/emu__debug_8h.html b/docs/api/emu__debug_8h.html @@ -0,0 +1,457 @@ +<!-- HTML header for doxygen 1.8.14--> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="cache-control" content="max-age=86400"/> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.20"/> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>GBDK 2020 Docs: gb/emu_debug.h File Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtreedata.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="doxygen_extra.css" rel="stylesheet" type="text/css"/> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> + </div> + <div id="projectbrief">API Documentation for GBDK 2020</div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.20 --> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +/* @license-end */ +</script> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +$(function() { + initMenu('',true,false,'search.php','Search'); + $(document).ready(function() { init_search(); }); +}); +/* @license-end */</script> +<div id="main-nav"></div> +</div><!-- top --> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + <div id="nav-sync" class="sync"></div> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +$(document).ready(function(){initNavTree('emu__debug_8h.html',''); initResizable(); }); +/* @license-end */ +</script> +<div id="doc-content"> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="summary"> +<a href="#define-members">Macros</a> | +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">emu_debug.h File Reference</div> </div> +</div><!--header--> +<div class="contents"> +<div class="textblock"><code>#include <types.h></code><br /> +</div> +<p><a href="emu__debug_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> +Macros</h2></td></tr> +<tr class="memitem:a5624be3849bf5308c6cc05bc4a624557"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557">EMU_MESSAGE</a>(message_text)   EMU_MESSAGE1(EMU_MACRONAME(__LINE__), message_text)</td></tr> +<tr class="separator:a5624be3849bf5308c6cc05bc4a624557"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aabd48c83af8f69ed624bb8a83347fa39"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#aabd48c83af8f69ed624bb8a83347fa39">BGB_MESSAGE</a>(message_text)   <a class="el" href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557">EMU_MESSAGE</a>(message_text)</td></tr> +<tr class="separator:aabd48c83af8f69ed624bb8a83347fa39"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5359c3e6ddab89f41f1de770cc3640d4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#a5359c3e6ddab89f41f1de770cc3640d4">EMU_PROFILE_BEGIN</a>(MSG)   EMU_MESSAGE_SUFFIX(MSG, "%ZEROCLKS%");</td></tr> +<tr class="separator:a5359c3e6ddab89f41f1de770cc3640d4"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab5b05deda52856c84f274fb28578b6ee"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#ab5b05deda52856c84f274fb28578b6ee">BGB_PROFILE_BEGIN</a>(MSG)   <a class="el" href="emu__debug_8h.html#a5359c3e6ddab89f41f1de770cc3640d4">EMU_PROFILE_BEGIN</a>(MSG)</td></tr> +<tr class="separator:ab5b05deda52856c84f274fb28578b6ee"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acce78126775a7ca3c862459e28203aba"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#acce78126775a7ca3c862459e28203aba">EMU_PROFILE_END</a>(MSG)   EMU_MESSAGE_SUFFIX(MSG,"%-8+LASTCLKS%");</td></tr> +<tr class="separator:acce78126775a7ca3c862459e28203aba"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab43f94064dc523e99c4aefb440e2c3ed"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#ab43f94064dc523e99c4aefb440e2c3ed">BGB_PROFILE_END</a>(MSG)   <a class="el" href="emu__debug_8h.html#acce78126775a7ca3c862459e28203aba">EMU_PROFILE_END</a>(MSG)</td></tr> +<tr class="separator:ab43f94064dc523e99c4aefb440e2c3ed"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ad1ca656789d7d285b352afeaa4cc56bd"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#ad1ca656789d7d285b352afeaa4cc56bd">EMU_TEXT</a>(MSG)   <a class="el" href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557">EMU_MESSAGE</a>(MSG)</td></tr> +<tr class="separator:ad1ca656789d7d285b352afeaa4cc56bd"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6afa665bd7d093e7ca2d310cc92b08a9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9">BGB_TEXT</a>(MSG)   <a class="el" href="emu__debug_8h.html#ad1ca656789d7d285b352afeaa4cc56bd">EMU_TEXT</a>(MSG)</td></tr> +<tr class="separator:a6afa665bd7d093e7ca2d310cc92b08a9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a47c147586d9a21282ce72a83947508e9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#a47c147586d9a21282ce72a83947508e9">BGB_profiler_message</a>()   <a class="el" href="emu__debug_8h.html#a1e2adc0111203ce0f551bcb1d99395df">EMU_profiler_message</a>()</td></tr> +<tr class="separator:a47c147586d9a21282ce72a83947508e9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a892ddea0cd396141c1ae05e384303cbf"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#a892ddea0cd396141c1ae05e384303cbf">BGB_printf</a>(...)   <a class="el" href="emu__debug_8h.html#a586ce1ddfba9c35726887ca31f933963">EMU_printf</a>(__VA_ARGS__)</td></tr> +<tr class="separator:a892ddea0cd396141c1ae05e384303cbf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9e856b4691d63bb41c5148b9097bd2bb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#a9e856b4691d63bb41c5148b9097bd2bb">EMU_BREAKPOINT</a>   __asm__("ld <a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>");</td></tr> +<tr class="separator:a9e856b4691d63bb41c5148b9097bd2bb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a95c9ae3faadfe6f93a3cac87085b3481"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#a95c9ae3faadfe6f93a3cac87085b3481">BGB_BREAKPOINT</a>   <a class="el" href="emu__debug_8h.html#a9e856b4691d63bb41c5148b9097bd2bb">EMU_BREAKPOINT</a></td></tr> +<tr class="separator:a95c9ae3faadfe6f93a3cac87085b3481"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:a1e2adc0111203ce0f551bcb1d99395df"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#a1e2adc0111203ce0f551bcb1d99395df">EMU_profiler_message</a> ()</td></tr> +<tr class="separator:a1e2adc0111203ce0f551bcb1d99395df"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a586ce1ddfba9c35726887ca31f933963"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="emu__debug_8h.html#a586ce1ddfba9c35726887ca31f933963">EMU_printf</a> (const char *format,...) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> +<tr class="separator:a586ce1ddfba9c35726887ca31f933963"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>Debug window logging and profiling support for emulators (BGB, Emulicious, etc).</p> +<p>Also see the <code>emu_debug</code> example project included with gbdk.</p> +<p>See the BGB Manual for more information ("expressions, breakpoint conditions, and debug messages") <a href="http://bgb.bircd.org/manual.html#expressions">http://bgb.bircd.org/manual.html#expressions</a> </p> +</div><h2 class="groupheader">Macro Definition Documentation</h2> +<a id="a5624be3849bf5308c6cc05bc4a624557"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a5624be3849bf5308c6cc05bc4a624557">◆ </a></span>EMU_MESSAGE</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define EMU_MESSAGE</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">message_text</td><td>)</td> + <td>   EMU_MESSAGE1(EMU_MACRONAME(__LINE__), message_text)</td> + </tr> + </table> +</div><div class="memdoc"> +<p>Macro to display a message in the emulator debug message window</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">message_text</td><td>Quoted text string to display in the debug message window</td></tr> + </table> + </dd> +</dl> +<p>The following special parameters can be used when bracketed with "%" characters. </p><ul> +<li>CPU registers: AF, BC, DE, HL, SP, PC, B, C, D, E, H, L, A, ZERO, ZF, Z, CARRY, CY, IME, ALLREGS </li> +<li>Other state values: ROMBANK, XRAMBANK, SRAMBANK, WRAMBANK, VRAMBANK, TOTALCLKS, LASTCLKS, CLKS2VBLANK</li> +</ul> +<p>Example: print a message along with the currently active ROM bank. </p><div class="fragment"><div class="line"><a class="code" href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557">EMU_MESSAGE</a>(<span class="stringliteral">"Current ROM Bank is: %ROMBANK%"</span>);</div> +</div><!-- fragment --><p>See the BGB Manual for more information ("expressions, breakpoint conditions, and debug messages") <a href="http://bgb.bircd.org/manual.html#expressions">http://bgb.bircd.org/manual.html#expressions</a></p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="emu__debug_8h.html#a5359c3e6ddab89f41f1de770cc3640d4">EMU_PROFILE_BEGIN()</a>, <a class="el" href="emu__debug_8h.html#acce78126775a7ca3c862459e28203aba">EMU_PROFILE_END()</a> </dd></dl> + +</div> +</div> +<a id="aabd48c83af8f69ed624bb8a83347fa39"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aabd48c83af8f69ed624bb8a83347fa39">◆ </a></span>BGB_MESSAGE</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define BGB_MESSAGE</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">message_text</td><td>)</td> + <td>   <a class="el" href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557">EMU_MESSAGE</a>(message_text)</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="a5359c3e6ddab89f41f1de770cc3640d4"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a5359c3e6ddab89f41f1de770cc3640d4">◆ </a></span>EMU_PROFILE_BEGIN</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define EMU_PROFILE_BEGIN</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">MSG</td><td>)</td> + <td>   EMU_MESSAGE_SUFFIX(MSG, "%ZEROCLKS%");</td> + </tr> + </table> +</div><div class="memdoc"> +<p>Macro to <b>Start</b> a profiling block for the emulator (BGB, Emulicious, etc)</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">MSG</td><td>Quoted text string to display in the debug message window along with the result</td></tr> + </table> + </dd> +</dl> +<p>To complete the profiling block and print the result call <a class="el" href="emu__debug_8h.html#acce78126775a7ca3c862459e28203aba">EMU_PROFILE_END</a>.</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="emu__debug_8h.html#acce78126775a7ca3c862459e28203aba">EMU_PROFILE_END()</a>, <a class="el" href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557">EMU_MESSAGE()</a> </dd></dl> + +</div> +</div> +<a id="ab5b05deda52856c84f274fb28578b6ee"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ab5b05deda52856c84f274fb28578b6ee">◆ </a></span>BGB_PROFILE_BEGIN</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define BGB_PROFILE_BEGIN</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">MSG</td><td>)</td> + <td>   <a class="el" href="emu__debug_8h.html#a5359c3e6ddab89f41f1de770cc3640d4">EMU_PROFILE_BEGIN</a>(MSG)</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="acce78126775a7ca3c862459e28203aba"></a> +<h2 class="memtitle"><span class="permalink"><a href="#acce78126775a7ca3c862459e28203aba">◆ </a></span>EMU_PROFILE_END</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define EMU_PROFILE_END</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">MSG</td><td>)</td> + <td>   EMU_MESSAGE_SUFFIX(MSG,"%-8+LASTCLKS%");</td> + </tr> + </table> +</div><div class="memdoc"> +<p>Macro to <b>End</b> a profiling block and print the results in the emulator debug message window</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">MSG</td><td>Quoted text string to display in the debug message window along with the result</td></tr> + </table> + </dd> +</dl> +<p>This should only be called after a previous call to <a class="el" href="emu__debug_8h.html#a5359c3e6ddab89f41f1de770cc3640d4">EMU_PROFILE_BEGIN()</a></p> +<p>The results are in Emulator clock units, which are "1 nop in [CGB] doublespeed mode".</p> +<p>So when running in Normal Speed mode (i.e. non-CGB doublespeed) the printed result should be <b>divided by 2</b> to get the actual ellapsed cycle count.</p> +<p>If running in CB Double Speed mode use the below call instead, it correctly compensates for the speed difference. In this scenario, the result does <b>not need to be divided by 2</b> to get the ellapsed cycle count. </p><div class="fragment"><div class="line"><a class="code" href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557">EMU_MESSAGE</a>(<span class="stringliteral">"NOP TIME: %-4+LASTCLKS%"</span>);</div> +</div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="emu__debug_8h.html#a5359c3e6ddab89f41f1de770cc3640d4">EMU_PROFILE_BEGIN()</a>, <a class="el" href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557">EMU_MESSAGE()</a> </dd></dl> + +</div> +</div> +<a id="ab43f94064dc523e99c4aefb440e2c3ed"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ab43f94064dc523e99c4aefb440e2c3ed">◆ </a></span>BGB_PROFILE_END</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define BGB_PROFILE_END</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">MSG</td><td>)</td> + <td>   <a class="el" href="emu__debug_8h.html#acce78126775a7ca3c862459e28203aba">EMU_PROFILE_END</a>(MSG)</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="ad1ca656789d7d285b352afeaa4cc56bd"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ad1ca656789d7d285b352afeaa4cc56bd">◆ </a></span>EMU_TEXT</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define EMU_TEXT</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">MSG</td><td>)</td> + <td>   <a class="el" href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557">EMU_MESSAGE</a>(MSG)</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="a6afa665bd7d093e7ca2d310cc92b08a9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6afa665bd7d093e7ca2d310cc92b08a9">◆ </a></span>BGB_TEXT</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define BGB_TEXT</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">MSG</td><td>)</td> + <td>   <a class="el" href="emu__debug_8h.html#ad1ca656789d7d285b352afeaa4cc56bd">EMU_TEXT</a>(MSG)</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="a47c147586d9a21282ce72a83947508e9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a47c147586d9a21282ce72a83947508e9">◆ </a></span>BGB_profiler_message</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define BGB_profiler_message</td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td>   <a class="el" href="emu__debug_8h.html#a1e2adc0111203ce0f551bcb1d99395df">EMU_profiler_message</a>()</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="a892ddea0cd396141c1ae05e384303cbf"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a892ddea0cd396141c1ae05e384303cbf">◆ </a></span>BGB_printf</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define BGB_printf</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em></td><td>)</td> + <td>   <a class="el" href="emu__debug_8h.html#a586ce1ddfba9c35726887ca31f933963">EMU_printf</a>(__VA_ARGS__)</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="a9e856b4691d63bb41c5148b9097bd2bb"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a9e856b4691d63bb41c5148b9097bd2bb">◆ </a></span>EMU_BREAKPOINT</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define EMU_BREAKPOINT   __asm__("ld <a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>");</td> + </tr> + </table> +</div><div class="memdoc"> +<p>The Emulator will break into debugger when encounters this line </p> + +</div> +</div> +<a id="a95c9ae3faadfe6f93a3cac87085b3481"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a95c9ae3faadfe6f93a3cac87085b3481">◆ </a></span>BGB_BREAKPOINT</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define BGB_BREAKPOINT   <a class="el" href="emu__debug_8h.html#a9e856b4691d63bb41c5148b9097bd2bb">EMU_BREAKPOINT</a></td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<h2 class="groupheader">Function Documentation</h2> +<a id="a1e2adc0111203ce0f551bcb1d99395df"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a1e2adc0111203ce0f551bcb1d99395df">◆ </a></span>EMU_profiler_message()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void EMU_profiler_message </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Display preset debug information in the Emulator debug messages window.</p> +<p>This function is equivalent to: </p><div class="fragment"><div class="line"><a class="code" href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557">EMU_MESSAGE</a>(<span class="stringliteral">"PROFILE,%(SP+$0)%,%(SP+$1)%,%A%,%TOTALCLKS%,%ROMBANK%,%WRAMBANK%"</span>);</div> +</div><!-- fragment --> +</div> +</div> +<a id="a586ce1ddfba9c35726887ca31f933963"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a586ce1ddfba9c35726887ca31f933963">◆ </a></span>EMU_printf()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void EMU_printf </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>format</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Print the string and arguments given by format to the emulator debug message window</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">format</td><td>The format string as per printf</td></tr> + </table> + </dd> +</dl> +<p>Does not return the number of characters printed. Result string MUST BE LESS OR EQUAL THAN 128 BYTES LONG, INCLUDING THE TRAILIG ZERO BYTE!</p> +<p>Currently supported: </p><ul> +<li>%hx (char as hex) </li> +<li>%hu (unsigned char) </li> +<li>%hd (signed char) </li> +<li>%c (character) </li> +<li>%u (unsigned int) </li> +<li>%d (signed int) </li> +<li>%x (unsigned int as hex) </li> +<li>%s (string)</li> +</ul> +<p>Warning: to correctly pass chars for printing as chars, they <em>must</em> be explicitly re-cast as such when calling the function. See <a class="el" href="docs_coding_guidelines.html#docs_chars_varargs">docs_chars_varargs</a> for more details. </p> + +</div> +</div> +</div><!-- contents --> +</div><!-- doc-content --> +<div class="ttc" id="aemu__debug_8h_html_a5624be3849bf5308c6cc05bc4a624557"><div class="ttname"><a href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557">EMU_MESSAGE</a></div><div class="ttdeci">#define EMU_MESSAGE(message_text)</div><div class="ttdef"><b>Definition:</b> emu_debug.h:40</div></div> +<!-- HTML footer for doxygen 1.8.14--> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> +</div> +</body> +</html> diff --git a/docs/api/emu__debug_8h.js b/docs/api/emu__debug_8h.js @@ -0,0 +1,17 @@ +var emu__debug_8h = +[ + [ "EMU_MESSAGE", "emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557", null ], + [ "BGB_MESSAGE", "emu__debug_8h.html#aabd48c83af8f69ed624bb8a83347fa39", null ], + [ "EMU_PROFILE_BEGIN", "emu__debug_8h.html#a5359c3e6ddab89f41f1de770cc3640d4", null ], + [ "BGB_PROFILE_BEGIN", "emu__debug_8h.html#ab5b05deda52856c84f274fb28578b6ee", null ], + [ "EMU_PROFILE_END", "emu__debug_8h.html#acce78126775a7ca3c862459e28203aba", null ], + [ "BGB_PROFILE_END", "emu__debug_8h.html#ab43f94064dc523e99c4aefb440e2c3ed", null ], + [ "EMU_TEXT", "emu__debug_8h.html#ad1ca656789d7d285b352afeaa4cc56bd", null ], + [ "BGB_TEXT", "emu__debug_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9", null ], + [ "BGB_profiler_message", "emu__debug_8h.html#a47c147586d9a21282ce72a83947508e9", null ], + [ "BGB_printf", "emu__debug_8h.html#a892ddea0cd396141c1ae05e384303cbf", null ], + [ "EMU_BREAKPOINT", "emu__debug_8h.html#a9e856b4691d63bb41c5148b9097bd2bb", null ], + [ "BGB_BREAKPOINT", "emu__debug_8h.html#a95c9ae3faadfe6f93a3cac87085b3481", null ], + [ "EMU_profiler_message", "emu__debug_8h.html#a1e2adc0111203ce0f551bcb1d99395df", null ], + [ "EMU_printf", "emu__debug_8h.html#a586ce1ddfba9c35726887ca31f933963", null ] +]; + diff --git a/docs/api/emu__debug_8h_source.html b/docs/api/emu__debug_8h_source.html @@ -0,0 +1,164 @@ +<!-- HTML header for doxygen 1.8.14--> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="cache-control" content="max-age=86400"/> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.20"/> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>GBDK 2020 Docs: gb/emu_debug.h Source File</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtreedata.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="doxygen_extra.css" rel="stylesheet" type="text/css"/> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> + </div> + <div id="projectbrief">API Documentation for GBDK 2020</div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.20 --> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +/* @license-end */ +</script> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +$(function() { + initMenu('',true,false,'search.php','Search'); + $(document).ready(function() { init_search(); }); +}); +/* @license-end */</script> +<div id="main-nav"></div> +</div><!-- top --> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + <div id="nav-sync" class="sync"></div> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +$(document).ready(function(){initNavTree('emu__debug_8h_source.html',''); initResizable(); }); +/* @license-end */ +</script> +<div id="doc-content"> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="headertitle"> +<div class="title">emu_debug.h</div> </div> +</div><!--header--> +<div class="contents"> +<a href="emu__debug_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>  </div> +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifndef __EMU_DEBUG_INCLUDE</span></div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define __EMU_DEBUG_INCLUDE</span></div> +<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  </div> +<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <types.h></span></div> +<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  </div> +<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557"> 40</a></span> <span class="preprocessor">#define EMU_MESSAGE(message_text) EMU_MESSAGE1(EMU_MACRONAME(__LINE__), message_text)</span></div> +<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#aabd48c83af8f69ed624bb8a83347fa39"> 41</a></span> <span class="preprocessor">#define BGB_MESSAGE(message_text) EMU_MESSAGE(message_text)</span></div> +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  </div> +<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#define EMU_MACRONAME(A) EMU_MACRONAME1(A)</span></div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#define EMU_MACRONAME1(A) EMULOG##A</span></div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  </div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#define EMU_MESSAGE1(name, message_text) \</span></div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">__asm \</span></div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">.MACRO name msg_t, ?llbl\</span></div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"> ld d, d \</span></div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"> jr llbl \</span></div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"> .dw 0x6464 \</span></div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"> .dw 0x0000 \</span></div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"> .ascii msg_t \</span></div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">llbl: \</span></div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">.ENDM \</span></div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">name ^/message_text/ \</span></div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">__endasm</span></div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  </div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#define EMU_MESSAGE_SUFFIX(message_text, message_suffix) EMU_MESSAGE3(EMU_MACRONAME(__LINE__), message_text, message_suffix)</span></div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#define EMU_MESSAGE3(name, message_text, message_suffix) \</span></div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">__asm \</span></div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">.MACRO name msg_t, msg_s, ?llbl\</span></div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"> ld d, d \</span></div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"> jr llbl \</span></div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"> .dw 0x6464 \</span></div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"> .dw 0x0000 \</span></div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"> .ascii msg_t \</span></div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"> .ascii msg_s \</span></div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">llbl: \</span></div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">.ENDM \</span></div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">name ^/message_text/, ^/message_suffix/ \</span></div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">__endasm</span></div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  </div> +<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#a5359c3e6ddab89f41f1de770cc3640d4"> 86</a></span> <span class="preprocessor">#define EMU_PROFILE_BEGIN(MSG) EMU_MESSAGE_SUFFIX(MSG, "%ZEROCLKS%");</span></div> +<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#ab5b05deda52856c84f274fb28578b6ee"> 87</a></span> <span class="preprocessor">#define BGB_PROFILE_BEGIN(MSG) EMU_PROFILE_BEGIN(MSG)</span></div> +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  </div> +<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#acce78126775a7ca3c862459e28203aba"> 113</a></span> <span class="preprocessor">#define EMU_PROFILE_END(MSG) EMU_MESSAGE_SUFFIX(MSG,"%-8+LASTCLKS%");</span></div> +<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#ab43f94064dc523e99c4aefb440e2c3ed"> 114</a></span> <span class="preprocessor">#define BGB_PROFILE_END(MSG) EMU_PROFILE_END(MSG)</span></div> +<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  </div> +<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#ad1ca656789d7d285b352afeaa4cc56bd"> 116</a></span> <span class="preprocessor">#define EMU_TEXT(MSG) EMU_MESSAGE(MSG)</span></div> +<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9"> 117</a></span> <span class="preprocessor">#define BGB_TEXT(MSG) EMU_TEXT(MSG)</span></div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  </div> +<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#a1e2adc0111203ce0f551bcb1d99395df"> 127</a></span> <span class="keywordtype">void</span> <a class="code" href="emu__debug_8h.html#a1e2adc0111203ce0f551bcb1d99395df">EMU_profiler_message</a>();</div> +<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#a47c147586d9a21282ce72a83947508e9"> 128</a></span> <span class="preprocessor">#define BGB_profiler_message() EMU_profiler_message()</span></div> +<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  </div> +<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#a586ce1ddfba9c35726887ca31f933963"> 151</a></span> <span class="keywordtype">void</span> <a class="code" href="emu__debug_8h.html#a586ce1ddfba9c35726887ca31f933963">EMU_printf</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *format, ...) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#a892ddea0cd396141c1ae05e384303cbf"> 152</a></span> <span class="preprocessor">#define BGB_printf(...) EMU_printf(__VA_ARGS__)</span></div> +<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  </div> +<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keyword">static</span> <span class="keywordtype">void</span> * __EMU_PROFILER_INIT = &<a class="code" href="emu__debug_8h.html#a1e2adc0111203ce0f551bcb1d99395df">EMU_profiler_message</a>;</div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  </div> +<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#a9e856b4691d63bb41c5148b9097bd2bb"> 158</a></span> <span class="preprocessor">#define EMU_BREAKPOINT __asm__("ld b, b");</span></div> +<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="emu__debug_8h.html#a95c9ae3faadfe6f93a3cac87085b3481"> 159</a></span> <span class="preprocessor">#define BGB_BREAKPOINT EMU_BREAKPOINT</span></div> +<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  </div> +<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="preprocessor">#endif</span></div> +</div><!-- fragment --></div><!-- contents --> +</div><!-- doc-content --> +<div class="ttc" id="aemu__debug_8h_html_a586ce1ddfba9c35726887ca31f933963"><div class="ttname"><a href="emu__debug_8h.html#a586ce1ddfba9c35726887ca31f933963">EMU_printf</a></div><div class="ttdeci">void EMU_printf(const char *format,...) OLDCALL</div></div> +<div class="ttc" id="aemu__debug_8h_html_a1e2adc0111203ce0f551bcb1d99395df"><div class="ttname"><a href="emu__debug_8h.html#a1e2adc0111203ce0f551bcb1d99395df">EMU_profiler_message</a></div><div class="ttdeci">void EMU_profiler_message()</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> +<!-- HTML footer for doxygen 1.8.14--> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> +</div> +</body> +</html> diff --git a/docs/api/far__ptr_8h.html b/docs/api/far__ptr_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/far__ptr_8h_source.html b/docs/api/far__ptr_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -140,7 +141,7 @@ $(document).ready(function(){initNavTree('far__ptr_8h_source.html',''); initResi <div class="ttc" id="afar__ptr_8h_html_a1344c26ca298a9eadea4bcfea6442ae3"><div class="ttname"><a href="far__ptr_8h.html#a1344c26ca298a9eadea4bcfea6442ae3">__call_banked_addr</a></div><div class="ttdeci">volatile void * __call_banked_addr</div></div> <div class="ttc" id="astdint_8h_html_adf4d876453337156dde61095e1f20223"><div class="ttname"><a href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a></div><div class="ttdeci">unsigned short int uint16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:52</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> <div class="ttc" id="aunion____far__ptr_html_a90065c72477187e9f9c97c07c90f6af9"><div class="ttname"><a href="union____far__ptr.html#a90065c72477187e9f9c97c07c90f6af9">__far_ptr::fn</a></div><div class="ttdeci">void(* fn)()</div><div class="ttdef"><b>Definition:</b> far_ptr.h:80</div></div> <div class="ttc" id="aunion____far__ptr_html_a13c65a38be633a3ac219c3b5b3be5ce6"><div class="ttname"><a href="union____far__ptr.html#a13c65a38be633a3ac219c3b5b3be5ce6">__far_ptr::seg</a></div><div class="ttdeci">uint16_t seg</div><div class="ttdef"><b>Definition:</b> far_ptr.h:77</div></div> <div class="ttc" id="aunion____far__ptr_html"><div class="ttname"><a href="union____far__ptr.html">__far_ptr</a></div><div class="ttdef"><b>Definition:</b> far_ptr.h:73</div></div> diff --git a/docs/api/files.html b/docs/api/files.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -111,46 +112,47 @@ $(document).ready(function(){initNavTree('files.html',''); initResizable(); }); <tr id="row_2_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="cgb_8h_source.html"><span class="icondoc"></span></a><a class="el" href="cgb_8h.html" target="_self">cgb.h</a></td><td class="desc"></td></tr> <tr id="row_2_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="crash__handler_8h_source.html"><span class="icondoc"></span></a><a class="el" href="crash__handler_8h.html" target="_self">crash_handler.h</a></td><td class="desc"></td></tr> <tr id="row_2_4_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="drawing_8h_source.html"><span class="icondoc"></span></a><a class="el" href="drawing_8h.html" target="_self">drawing.h</a></td><td class="desc"></td></tr> -<tr id="row_2_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gb_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gb_8h.html" target="_self">gb.h</a></td><td class="desc"></td></tr> -<tr id="row_2_6_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gb_2gbdecompress_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gb_2gbdecompress_8h.html" target="_self">gbdecompress.h</a></td><td class="desc"></td></tr> -<tr id="row_2_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gb_2hardware_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gb_2hardware_8h.html" target="_self">hardware.h</a></td><td class="desc"></td></tr> -<tr id="row_2_8_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="isr_8h_source.html"><span class="icondoc"></span></a><a class="el" href="isr_8h.html" target="_self">isr.h</a></td><td class="desc"></td></tr> -<tr id="row_2_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gb_2metasprites_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gb_2metasprites_8h.html" target="_self">metasprites.h</a></td><td class="desc"></td></tr> -<tr id="row_2_10_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="sgb_8h_source.html"><span class="icondoc"></span></a><a class="el" href="sgb_8h.html" target="_self">sgb.h</a></td><td class="desc"></td></tr> -<tr id="row_3_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">▼</span><span id="img_3_" class="iconfopen" onclick="toggleFolder('3_')"> </span><a class="el" href="dir_aedcfcf321a7f13aa34b51e3093299b2.html" target="_self">gbdk</a></td><td class="desc"></td></tr> -<tr id="row_3_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="k_2bcd_8h_source.html"><span class="icondoc"></span></a><a class="el" href="k_2bcd_8h.html" target="_self">bcd.h</a></td><td class="desc"></td></tr> -<tr id="row_3_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="console_8h_source.html"><span class="icondoc"></span></a><a class="el" href="console_8h.html" target="_self">console.h</a></td><td class="desc"></td></tr> -<tr id="row_3_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="far__ptr_8h_source.html"><span class="icondoc"></span></a><a class="el" href="far__ptr_8h.html" target="_self">far_ptr.h</a></td><td class="desc"></td></tr> -<tr id="row_3_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="font_8h_source.html"><span class="icondoc"></span></a><a class="el" href="font_8h.html" target="_self">font.h</a></td><td class="desc"></td></tr> -<tr id="row_3_4_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gbdk_2gbdecompress_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gbdk_2gbdecompress_8h.html" target="_self">gbdecompress.h</a></td><td class="desc"></td></tr> -<tr id="row_3_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gbdk-lib_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gbdk-lib_8h.html" target="_self">gbdk-lib.h</a></td><td class="desc"></td></tr> -<tr id="row_3_6_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="incbin_8h_source.html"><span class="icondoc"></span></a><a class="el" href="incbin_8h.html" target="_self">incbin.h</a></td><td class="desc"></td></tr> -<tr id="row_3_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gbdk_2metasprites_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gbdk_2metasprites_8h.html" target="_self">metasprites.h</a></td><td class="desc"></td></tr> -<tr id="row_3_8_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="platform_8h_source.html"><span class="icondoc"></span></a><a class="el" href="platform_8h.html" target="_self">platform.h</a></td><td class="desc"></td></tr> -<tr id="row_3_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="rledecompress_8h_source.html"><span class="icondoc"></span></a><a class="el" href="rledecompress_8h.html" target="_self">rledecompress.h</a></td><td class="desc"></td></tr> -<tr id="row_3_10_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="version_8h_source.html"><span class="icondoc"></span></a><a class="el" href="version_8h.html" target="_self">version.h</a></td><td class="desc"></td></tr> -<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">▼</span><span id="img_4_" class="iconfopen" onclick="toggleFolder('4_')"> </span><a class="el" href="dir_7a84f275fead463a4aefdc90fba00235.html" target="_self">sms</a></td><td class="desc"></td></tr> -<tr id="row_4_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="sms_2gbdecompress_8h_source.html"><span class="icondoc"></span></a><a class="el" href="sms_2gbdecompress_8h.html" target="_self">gbdecompress.h</a></td><td class="desc"></td></tr> -<tr id="row_4_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="sms_2hardware_8h_source.html"><span class="icondoc"></span></a><a class="el" href="sms_2hardware_8h.html" target="_self">hardware.h</a></td><td class="desc"></td></tr> -<tr id="row_4_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="sms_2metasprites_8h_source.html"><span class="icondoc"></span></a><a class="el" href="sms_2metasprites_8h.html" target="_self">metasprites.h</a></td><td class="desc"></td></tr> -<tr id="row_4_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="sms_8h_source.html"><span class="icondoc"></span></a><a class="el" href="sms_8h.html" target="_self">sms.h</a></td><td class="desc"></td></tr> -<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdarg_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdarg_8h.html" target="_self">stdarg.h</a></td><td class="desc"></td></tr> -<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="string_8h_source.html"><span class="icondoc"></span></a><a class="el" href="string_8h.html" target="_self">string.h</a></td><td class="desc"></td></tr> -<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="types_8h_source.html"><span class="icondoc"></span></a><a class="el" href="types_8h.html" target="_self">types.h</a></td><td class="desc"></td></tr> -<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="assert_8h_source.html"><span class="icondoc"></span></a><a class="el" href="assert_8h.html" target="_self">assert.h</a></td><td class="desc"></td></tr> -<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="ctype_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ctype_8h.html" target="_self">ctype.h</a></td><td class="desc"></td></tr> -<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="limits_8h_source.html"><span class="icondoc"></span></a><a class="el" href="limits_8h.html" target="_self">limits.h</a></td><td class="desc"></td></tr> -<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="rand_8h_source.html"><span class="icondoc"></span></a><a class="el" href="rand_8h.html" target="_self">rand.h</a></td><td class="desc"></td></tr> -<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="setjmp_8h_source.html"><span class="icondoc"></span></a><a class="el" href="setjmp_8h.html" target="_self">setjmp.h</a></td><td class="desc"></td></tr> -<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdatomic_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdatomic_8h.html" target="_self">stdatomic.h</a></td><td class="desc"></td></tr> -<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdbool_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdbool_8h.html" target="_self">stdbool.h</a></td><td class="desc"></td></tr> -<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stddef_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stddef_8h.html" target="_self">stddef.h</a></td><td class="desc"></td></tr> -<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdint_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdint_8h.html" target="_self">stdint.h</a></td><td class="desc"></td></tr> -<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdio_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdio_8h.html" target="_self">stdio.h</a></td><td class="desc"></td></tr> -<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdlib_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdlib_8h.html" target="_self">stdlib.h</a></td><td class="desc"></td></tr> -<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdnoreturn_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdnoreturn_8h.html" target="_self">stdnoreturn.h</a></td><td class="desc"></td></tr> -<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="time_8h_source.html"><span class="icondoc"></span></a><a class="el" href="time_8h.html" target="_self">time.h</a></td><td class="desc"></td></tr> -<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="typeof_8h_source.html"><span class="icondoc"></span></a><a class="el" href="typeof_8h.html" target="_self">typeof.h</a></td><td class="desc"></td></tr> +<tr id="row_2_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="emu__debug_8h_source.html"><span class="icondoc"></span></a><a class="el" href="emu__debug_8h.html" target="_self">emu_debug.h</a></td><td class="desc"></td></tr> +<tr id="row_2_6_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gb_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gb_8h.html" target="_self">gb.h</a></td><td class="desc"></td></tr> +<tr id="row_2_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gb_2gbdecompress_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gb_2gbdecompress_8h.html" target="_self">gbdecompress.h</a></td><td class="desc"></td></tr> +<tr id="row_2_8_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gb_2hardware_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gb_2hardware_8h.html" target="_self">hardware.h</a></td><td class="desc"></td></tr> +<tr id="row_2_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="isr_8h_source.html"><span class="icondoc"></span></a><a class="el" href="isr_8h.html" target="_self">isr.h</a></td><td class="desc"></td></tr> +<tr id="row_2_10_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gb_2metasprites_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gb_2metasprites_8h.html" target="_self">metasprites.h</a></td><td class="desc"></td></tr> +<tr id="row_2_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="sgb_8h_source.html"><span class="icondoc"></span></a><a class="el" href="sgb_8h.html" target="_self">sgb.h</a></td><td class="desc"></td></tr> +<tr id="row_3_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">▼</span><span id="img_3_" class="iconfopen" onclick="toggleFolder('3_')"> </span><a class="el" href="dir_aedcfcf321a7f13aa34b51e3093299b2.html" target="_self">gbdk</a></td><td class="desc"></td></tr> +<tr id="row_3_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="k_2bcd_8h_source.html"><span class="icondoc"></span></a><a class="el" href="k_2bcd_8h.html" target="_self">bcd.h</a></td><td class="desc"></td></tr> +<tr id="row_3_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="console_8h_source.html"><span class="icondoc"></span></a><a class="el" href="console_8h.html" target="_self">console.h</a></td><td class="desc"></td></tr> +<tr id="row_3_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="far__ptr_8h_source.html"><span class="icondoc"></span></a><a class="el" href="far__ptr_8h.html" target="_self">far_ptr.h</a></td><td class="desc"></td></tr> +<tr id="row_3_3_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="font_8h_source.html"><span class="icondoc"></span></a><a class="el" href="font_8h.html" target="_self">font.h</a></td><td class="desc"></td></tr> +<tr id="row_3_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gbdk_2gbdecompress_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gbdk_2gbdecompress_8h.html" target="_self">gbdecompress.h</a></td><td class="desc"></td></tr> +<tr id="row_3_5_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gbdk-lib_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gbdk-lib_8h.html" target="_self">gbdk-lib.h</a></td><td class="desc"></td></tr> +<tr id="row_3_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="incbin_8h_source.html"><span class="icondoc"></span></a><a class="el" href="incbin_8h.html" target="_self">incbin.h</a></td><td class="desc"></td></tr> +<tr id="row_3_7_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="gbdk_2metasprites_8h_source.html"><span class="icondoc"></span></a><a class="el" href="gbdk_2metasprites_8h.html" target="_self">metasprites.h</a></td><td class="desc"></td></tr> +<tr id="row_3_8_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="platform_8h_source.html"><span class="icondoc"></span></a><a class="el" href="platform_8h.html" target="_self">platform.h</a></td><td class="desc"></td></tr> +<tr id="row_3_9_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="rledecompress_8h_source.html"><span class="icondoc"></span></a><a class="el" href="rledecompress_8h.html" target="_self">rledecompress.h</a></td><td class="desc"></td></tr> +<tr id="row_3_10_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="version_8h_source.html"><span class="icondoc"></span></a><a class="el" href="version_8h.html" target="_self">version.h</a></td><td class="desc"></td></tr> +<tr id="row_4_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">▼</span><span id="img_4_" class="iconfopen" onclick="toggleFolder('4_')"> </span><a class="el" href="dir_7a84f275fead463a4aefdc90fba00235.html" target="_self">sms</a></td><td class="desc"></td></tr> +<tr id="row_4_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="sms_2gbdecompress_8h_source.html"><span class="icondoc"></span></a><a class="el" href="sms_2gbdecompress_8h.html" target="_self">gbdecompress.h</a></td><td class="desc"></td></tr> +<tr id="row_4_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="sms_2hardware_8h_source.html"><span class="icondoc"></span></a><a class="el" href="sms_2hardware_8h.html" target="_self">hardware.h</a></td><td class="desc"></td></tr> +<tr id="row_4_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="sms_2metasprites_8h_source.html"><span class="icondoc"></span></a><a class="el" href="sms_2metasprites_8h.html" target="_self">metasprites.h</a></td><td class="desc"></td></tr> +<tr id="row_4_3_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="sms_8h_source.html"><span class="icondoc"></span></a><a class="el" href="sms_8h.html" target="_self">sms.h</a></td><td class="desc"></td></tr> +<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdarg_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdarg_8h.html" target="_self">stdarg.h</a></td><td class="desc"></td></tr> +<tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="string_8h_source.html"><span class="icondoc"></span></a><a class="el" href="string_8h.html" target="_self">string.h</a></td><td class="desc"></td></tr> +<tr id="row_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="types_8h_source.html"><span class="icondoc"></span></a><a class="el" href="types_8h.html" target="_self">types.h</a></td><td class="desc"></td></tr> +<tr id="row_8_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="assert_8h_source.html"><span class="icondoc"></span></a><a class="el" href="assert_8h.html" target="_self">assert.h</a></td><td class="desc"></td></tr> +<tr id="row_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="ctype_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ctype_8h.html" target="_self">ctype.h</a></td><td class="desc"></td></tr> +<tr id="row_10_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="limits_8h_source.html"><span class="icondoc"></span></a><a class="el" href="limits_8h.html" target="_self">limits.h</a></td><td class="desc"></td></tr> +<tr id="row_11_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="rand_8h_source.html"><span class="icondoc"></span></a><a class="el" href="rand_8h.html" target="_self">rand.h</a></td><td class="desc"></td></tr> +<tr id="row_12_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="setjmp_8h_source.html"><span class="icondoc"></span></a><a class="el" href="setjmp_8h.html" target="_self">setjmp.h</a></td><td class="desc"></td></tr> +<tr id="row_13_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdatomic_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdatomic_8h.html" target="_self">stdatomic.h</a></td><td class="desc"></td></tr> +<tr id="row_14_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdbool_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdbool_8h.html" target="_self">stdbool.h</a></td><td class="desc"></td></tr> +<tr id="row_15_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stddef_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stddef_8h.html" target="_self">stddef.h</a></td><td class="desc"></td></tr> +<tr id="row_16_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdint_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdint_8h.html" target="_self">stdint.h</a></td><td class="desc"></td></tr> +<tr id="row_17_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdio_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdio_8h.html" target="_self">stdio.h</a></td><td class="desc"></td></tr> +<tr id="row_18_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdlib_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdlib_8h.html" target="_self">stdlib.h</a></td><td class="desc"></td></tr> +<tr id="row_19_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="stdnoreturn_8h_source.html"><span class="icondoc"></span></a><a class="el" href="stdnoreturn_8h.html" target="_self">stdnoreturn.h</a></td><td class="desc"></td></tr> +<tr id="row_20_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="time_8h_source.html"><span class="icondoc"></span></a><a class="el" href="time_8h.html" target="_self">time.h</a></td><td class="desc"></td></tr> +<tr id="row_21_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="typeof_8h_source.html"><span class="icondoc"></span></a><a class="el" href="typeof_8h.html" target="_self">typeof.h</a></td><td class="desc"></td></tr> </table> </div><!-- directory --> </div><!-- contents --> diff --git a/docs/api/font_8h.html b/docs/api/font_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/font_8h_source.html b/docs/api/font_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -143,7 +144,7 @@ $(document).ready(function(){initNavTree('font_8h_source.html',''); initResizabl <div class="ttc" id="afont_8h_html_a7dee0ba7beb261727340b8cce7c5afcd"><div class="ttname"><a href="font_8h.html#a7dee0ba7beb261727340b8cce7c5afcd">font_set</a></div><div class="ttdeci">font_t font_set(font_t font_handle) OLDCALL</div></div> <div class="ttc" id="afont_8h_html_a7c6b54e58c41763c66f15ec4528a1d4a"><div class="ttname"><a href="font_8h.html#a7c6b54e58c41763c66f15ec4528a1d4a">font_t</a></div><div class="ttdeci">uint16_t font_t</div><div class="ttdef"><b>Definition:</b> font.h:24</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> <div class="ttc" id="astructsfont__handle_html_aa5a35bc92adbcfff5a531bf65da65630"><div class="ttname"><a href="structsfont__handle.html#aa5a35bc92adbcfff5a531bf65da65630">sfont_handle::first_tile</a></div><div class="ttdeci">uint8_t first_tile</div><div class="ttdef"><b>Definition:</b> font.h:71</div></div> <div class="ttc" id="agroup__gbdk__fonts_html_ga6dcb04fed78fc39b95171988b776e6bb"><div class="ttname"><a href="group__gbdk__fonts.html#ga6dcb04fed78fc39b95171988b776e6bb">font_ibm</a></div><div class="ttdeci">uint8_t font_ibm[]</div><div class="ttdef"><b>Definition:</b> font.h:32</div></div> <div class="ttc" id="afont_8h_html_a82e0e078fc8a8b6a18538131625dba3a"><div class="ttname"><a href="font_8h.html#a82e0e078fc8a8b6a18538131625dba3a">pmfont_handle</a></div><div class="ttdeci">struct sfont_handle * pmfont_handle</div><div class="ttdef"><b>Definition:</b> font.h:66</div></div> diff --git a/docs/api/functions.html b/docs/api/functions.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/functions_vars.html b/docs/api/functions_vars.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/gb_2gbdecompress_8h.html b/docs/api/gb_2gbdecompress_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -92,20 +93,21 @@ $(document).ready(function(){initNavTree('gb_2gbdecompress_8h.html',''); initRes <div class="title">gbdecompress.h File Reference</div> </div> </div><!--header--> <div class="contents"> -<div class="textblock"><code>#include <<a class="el" href="stdint_8h_source.html">stdint.h</a>></code><br /> +<div class="textblock"><code>#include <types.h></code><br /> +<code>#include <<a class="el" href="stdint_8h_source.html">stdint.h</a>></code><br /> </div> <p><a href="gb_2gbdecompress_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:a076bf72dee1edf05f7aaf542003f349a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a">gb_decompress</a> (const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *dest) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a076bf72dee1edf05f7aaf542003f349a"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:add300dcc2e13630d907441f3f0b78544"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544">gb_decompress_bkg_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:add300dcc2e13630d907441f3f0b78544"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:af81d6d4e6fa886f54ce77c26bea85d78"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78">gb_decompress_win_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:af81d6d4e6fa886f54ce77c26bea85d78"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a7a57b6a4ce5efc5e5f143844003b947d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d">gb_decompress_sprite_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a7a57b6a4ce5efc5e5f143844003b947d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a3370eefd9a88fdefed71eeb92e6861f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2">gb_decompress</a> (const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *dest) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a3370eefd9a88fdefed71eeb92e6861f2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aed0cb0f1604a80ca5e7fb771b04114d8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8">gb_decompress_bkg_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:aed0cb0f1604a80ca5e7fb771b04114d8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a85d2eaf4a7c268fe1496fa2b9c626284"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284">gb_decompress_win_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a85d2eaf4a7c268fe1496fa2b9c626284"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa4ac6ffb1dc949051e0e72e2aba8e6ff"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff">gb_decompress_sprite_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:aa4ac6ffb1dc949051e0e72e2aba8e6ff"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> @@ -116,8 +118,8 @@ Variables</h2></td></tr> <div class="textblock"><p>GB-Compress decompressor Compatible with the compression used in GBTD </p><dl class="section see"><dt>See also</dt><dd>utility_gbcompress "gbcompress"</dd></dl> <p>GB-Compress decompressor Compatible with the compression used in GBTD </p> </div><h2 class="groupheader">Function Documentation</h2> -<a id="a076bf72dee1edf05f7aaf542003f349a"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a076bf72dee1edf05f7aaf542003f349a">◆ </a></span>gb_decompress()</h2> +<a id="a3370eefd9a88fdefed71eeb92e6861f2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a3370eefd9a88fdefed71eeb92e6861f2">◆ </a></span>gb_decompress()</h2> <div class="memitem"> <div class="memproto"> @@ -149,12 +151,12 @@ Variables</h2></td></tr> </table> </dd> </dl> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544">gb_decompress_bkg_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78">gb_decompress_win_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d">gb_decompress_sprite_data</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8">gb_decompress_bkg_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284">gb_decompress_win_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff">gb_decompress_sprite_data</a> </dd></dl> </div> </div> -<a id="add300dcc2e13630d907441f3f0b78544"></a> -<h2 class="memtitle"><span class="permalink"><a href="#add300dcc2e13630d907441f3f0b78544">◆ </a></span>gb_decompress_bkg_data()</h2> +<a id="aed0cb0f1604a80ca5e7fb771b04114d8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aed0cb0f1604a80ca5e7fb771b04114d8">◆ </a></span>gb_decompress_bkg_data()</h2> <div class="memitem"> <div class="memproto"> @@ -187,12 +189,12 @@ Variables</h2></td></tr> </dd> </dl> <p>Note: This function avoids writes during modes 2 & 3</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544">gb_decompress_bkg_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78">gb_decompress_win_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d">gb_decompress_sprite_data</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8">gb_decompress_bkg_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284">gb_decompress_win_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff">gb_decompress_sprite_data</a> </dd></dl> </div> </div> -<a id="af81d6d4e6fa886f54ce77c26bea85d78"></a> -<h2 class="memtitle"><span class="permalink"><a href="#af81d6d4e6fa886f54ce77c26bea85d78">◆ </a></span>gb_decompress_win_data()</h2> +<a id="a85d2eaf4a7c268fe1496fa2b9c626284"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a85d2eaf4a7c268fe1496fa2b9c626284">◆ </a></span>gb_decompress_win_data()</h2> <div class="memitem"> <div class="memproto"> @@ -224,14 +226,14 @@ Variables</h2></td></tr> </table> </dd> </dl> -<p>This is the same as <a class="el" href="gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544">gb_decompress_bkg_data</a>, since the Window Layer and Background Layer share the same Tile pattern data.</p> +<p>This is the same as <a class="el" href="gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8">gb_decompress_bkg_data</a>, since the Window Layer and Background Layer share the same Tile pattern data.</p> <p>Note: This function avoids writes during modes 2 & 3</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a">gb_decompress</a>, <a class="el" href="gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544">gb_decompress_bkg_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d">gb_decompress_sprite_data</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2">gb_decompress</a>, <a class="el" href="gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8">gb_decompress_bkg_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff">gb_decompress_sprite_data</a> </dd></dl> </div> </div> -<a id="a7a57b6a4ce5efc5e5f143844003b947d"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a7a57b6a4ce5efc5e5f143844003b947d">◆ </a></span>gb_decompress_sprite_data()</h2> +<a id="aa4ac6ffb1dc949051e0e72e2aba8e6ff"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa4ac6ffb1dc949051e0e72e2aba8e6ff">◆ </a></span>gb_decompress_sprite_data()</h2> <div class="memitem"> <div class="memproto"> @@ -264,7 +266,7 @@ Variables</h2></td></tr> </dd> </dl> <p>Note: This function avoids writes during modes 2 & 3</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a">gb_decompress</a>, <a class="el" href="gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544">gb_decompress_bkg_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78">gb_decompress_win_data</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2">gb_decompress</a>, <a class="el" href="gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8">gb_decompress_bkg_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284">gb_decompress_win_data</a> </dd></dl> </div> </div> diff --git a/docs/api/gb_2gbdecompress_8h.js b/docs/api/gb_2gbdecompress_8h.js @@ -1,8 +1,8 @@ var gb_2gbdecompress_8h = [ - [ "gb_decompress", "gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a", null ], - [ "gb_decompress_bkg_data", "gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544", null ], - [ "gb_decompress_win_data", "gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78", null ], - [ "gb_decompress_sprite_data", "gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d", null ], + [ "gb_decompress", "gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2", null ], + [ "gb_decompress_bkg_data", "gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8", null ], + [ "gb_decompress_win_data", "gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284", null ], + [ "gb_decompress_sprite_data", "gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff", null ], [ "c", "gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a", null ] ]; diff --git a/docs/api/gb_2gbdecompress_8h_source.html b/docs/api/gb_2gbdecompress_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -93,32 +94,34 @@ $(document).ready(function(){initNavTree('gb_2gbdecompress_8h_source.html',''); <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef __GBDECOMPRESS_H_INCLUDE</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define __GBDECOMPRESS_H_INCLUDE</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span>  </div> -<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <<a class="code" href="stdint_8h.html">stdint.h</a>></span></div> -<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  </div> -<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a"> 20</a></span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a">gb_decompress</a>(<span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * sour, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * dest) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  </div> +<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <types.h></span></div> +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <<a class="code" href="stdint_8h.html">stdint.h</a>></span></div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  </div> +<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2"> 21</a></span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2">gb_decompress</a>(<span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * sour, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * dest) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  </div> -<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544"> 32</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544">gb_decompress_bkg_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * sour) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  </div> +<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  </div> +<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8"> 33</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8">gb_decompress_bkg_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * sour) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  </div> -<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78"> 47</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78">gb_decompress_win_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * sour) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  </div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  </div> +<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284"> 48</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284">gb_decompress_win_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * sour) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  </div> -<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d"> 59</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d">gb_decompress_sprite_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * sour) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  </div> -<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  </div> +<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff"> 60</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff">gb_decompress_sprite_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * sour) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  </div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div class="ttc" id="astdint_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div> +<div class="ttc" id="agb_2gbdecompress_8h_html_a85d2eaf4a7c268fe1496fa2b9c626284"><div class="ttname"><a href="gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284">gb_decompress_win_data</a></div><div class="ttdeci">void gb_decompress_win_data(uint8_t first_tile, const uint8_t *sour) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="astdint_8h_html_adf4d876453337156dde61095e1f20223"><div class="ttname"><a href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a></div><div class="ttdeci">unsigned short int uint16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:52</div></div> -<div class="ttc" id="agb_2gbdecompress_8h_html_a7a57b6a4ce5efc5e5f143844003b947d"><div class="ttname"><a href="gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d">gb_decompress_sprite_data</a></div><div class="ttdeci">void gb_decompress_sprite_data(uint8_t first_tile, const uint8_t *sour) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_2gbdecompress_8h_html_a076bf72dee1edf05f7aaf542003f349a"><div class="ttname"><a href="gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a">gb_decompress</a></div><div class="ttdeci">uint16_t gb_decompress(const uint8_t *sour, uint8_t *dest) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_2gbdecompress_8h_html_add300dcc2e13630d907441f3f0b78544"><div class="ttname"><a href="gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544">gb_decompress_bkg_data</a></div><div class="ttdeci">void gb_decompress_bkg_data(uint8_t first_tile, const uint8_t *sour) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="agb_2gbdecompress_8h_html_aed0cb0f1604a80ca5e7fb771b04114d8"><div class="ttname"><a href="gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8">gb_decompress_bkg_data</a></div><div class="ttdeci">void gb_decompress_bkg_data(uint8_t first_tile, const uint8_t *sour) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> -<div class="ttc" id="agb_2gbdecompress_8h_html_af81d6d4e6fa886f54ce77c26bea85d78"><div class="ttname"><a href="gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78">gb_decompress_win_data</a></div><div class="ttdeci">void gb_decompress_win_data(uint8_t first_tile, const uint8_t *sour) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:585</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> -<div class="ttc" id="agb_2gbdecompress_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">uint16_t c</div><div class="ttdef"><b>Definition:</b> gbdecompress.h:20</div></div> +<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:608</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> +<div class="ttc" id="agb_2gbdecompress_8h_html_a3370eefd9a88fdefed71eeb92e6861f2"><div class="ttname"><a href="gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2">gb_decompress</a></div><div class="ttdeci">uint16_t gb_decompress(const uint8_t *sour, uint8_t *dest) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_2gbdecompress_8h_html_aa4ac6ffb1dc949051e0e72e2aba8e6ff"><div class="ttname"><a href="gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff">gb_decompress_sprite_data</a></div><div class="ttdeci">void gb_decompress_sprite_data(uint8_t first_tile, const uint8_t *sour) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_2gbdecompress_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">uint16_t c</div><div class="ttdef"><b>Definition:</b> gbdecompress.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_acb825e83a33fcc06482c59b4ab2cf961"><div class="ttname"><a href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a></div><div class="ttdeci">#define PRESERVES_REGS(...)</div><div class="ttdef"><b>Definition:</b> types.h:29</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/gb_2hardware_8h.html b/docs/api/gb_2hardware_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -102,7 +103,7 @@ Macros</h2></td></tr> <tr class="separator:ab2767d5f8f0ad35d8c8ee0bb3f4c51c3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3b39604bdf93a32e9ff965c1a55f0df8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8">__BYTE_REG</a>   extern volatile <a class="el" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a></td></tr> <tr class="separator:a3b39604bdf93a32e9ff965c1a55f0df8"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a0b42e4dadd74c927e8b801b4f42c0e44"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a>   extern volatile __sfr</td></tr> +<tr class="memitem:a0b42e4dadd74c927e8b801b4f42c0e44"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a>   extern volatile <a class="el" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a></td></tr> <tr class="separator:a0b42e4dadd74c927e8b801b4f42c0e44"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae7eccdbd4f7b211074591866f515b760"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2hardware_8h.html#ae7eccdbd4f7b211074591866f515b760">rP1</a>   <a class="el" href="gb_2hardware_8h.html#a04f9a36ab04334fcd21d2f50c125d5d0">P1_REG</a></td></tr> <tr class="separator:ae7eccdbd4f7b211074591866f515b760"><td class="memSeparator" colspan="2"> </td></tr> @@ -599,6 +600,8 @@ Variables</h2></td></tr> <tr class="separator:ac429365dce851ca57d8fe4f7c54a1caa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2fe41a6e0abb211cc00a8fca90543966"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sms_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8">__BYTE_REG</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2hardware_8h.html#a2fe41a6e0abb211cc00a8fca90543966">AUD3WAVE</a> [16]</td></tr> <tr class="separator:a2fe41a6e0abb211cc00a8fca90543966"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a271367a0bf840e5422b3a7ed541776f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="sms_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8">__BYTE_REG</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2hardware_8h.html#a271367a0bf840e5422b3a7ed541776f8">PCM_SAMPLE</a> [16]</td></tr> +<tr class="separator:a271367a0bf840e5422b3a7ed541776f8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6515fdfaa50eeb7e63faeea54f77cd6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b">LCDC_REG</a></td></tr> <tr class="separator:a6515fdfaa50eeb7e63faeea54f77cd6b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad40ebf3b29add46cdd310a7e0802bc6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b">STAT_REG</a></td></tr> @@ -695,7 +698,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define __REG   extern volatile __sfr</td> + <td class="memname">#define __REG   extern volatile <a class="el" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a></td> </tr> </table> </div><div class="memdoc"> @@ -4281,6 +4284,20 @@ Variables</h2></td></tr> </div> </div> +<a id="a271367a0bf840e5422b3a7ed541776f8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a271367a0bf840e5422b3a7ed541776f8">◆ </a></span>PCM_SAMPLE</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="sms_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8">__BYTE_REG</a> PCM_SAMPLE[16]</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> <a id="a6515fdfaa50eeb7e63faeea54f77cd6b"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6515fdfaa50eeb7e63faeea54f77cd6b">◆ </a></span>LCDC_REG</h2> diff --git a/docs/api/gb_2hardware_8h.js b/docs/api/gb_2hardware_8h.js @@ -249,6 +249,7 @@ var gb_2hardware_8h = [ "NR51_REG", "gb_2hardware_8h.html#ab28f97eabd5f32d48ea27d97bd5dc64f", null ], [ "NR52_REG", "gb_2hardware_8h.html#ac429365dce851ca57d8fe4f7c54a1caa", null ], [ "AUD3WAVE", "gb_2hardware_8h.html#a2fe41a6e0abb211cc00a8fca90543966", null ], + [ "PCM_SAMPLE", "gb_2hardware_8h.html#a271367a0bf840e5422b3a7ed541776f8", null ], [ "LCDC_REG", "gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b", null ], [ "STAT_REG", "gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b", null ], [ "SCY_REG", "gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2", null ], diff --git a/docs/api/gb_2hardware_8h_source.html b/docs/api/gb_2hardware_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -97,7 +98,7 @@ $(document).ready(function(){initNavTree('gb_2hardware_8h_source.html',''); init <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  </div> <div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ab2767d5f8f0ad35d8c8ee0bb3f4c51c3"> 12</a></span> <span class="preprocessor">#define __BYTES extern UBYTE</span></div> <div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8"> 13</a></span> <span class="preprocessor">#define __BYTE_REG extern volatile UBYTE</span></div> -<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44"> 14</a></span> <span class="preprocessor">#define __REG extern volatile __sfr</span></div> +<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44"> 14</a></span> <span class="preprocessor">#define __REG extern volatile SFR</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  </div> <div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aea9200b29be90b58417787720cdf750b"> 18</a></span> <a class="code" href="gb_2hardware_8h.html#ab2767d5f8f0ad35d8c8ee0bb3f4c51c3">__BYTES</a> <a class="code" href="gb_2hardware_8h.html#aea9200b29be90b58417787720cdf750b">_VRAM</a>[];</div> <div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a73c94166161c33c61d63b3e4b5209cd0"> 19</a></span> <a class="code" href="gb_2hardware_8h.html#ab2767d5f8f0ad35d8c8ee0bb3f4c51c3">__BYTES</a> <a class="code" href="gb_2hardware_8h.html#a73c94166161c33c61d63b3e4b5209cd0">_VRAM8000</a>[];</div> @@ -237,317 +238,344 @@ $(document).ready(function(){initNavTree('gb_2hardware_8h_source.html',''); init <div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a1b424d8f8a7438d19261401a843263d2"> 157</a></span> <span class="preprocessor">#define AUDENA_OFF 0b00000000</span></div> <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  </div> <div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a2fe41a6e0abb211cc00a8fca90543966"> 159</a></span> <a class="code" href="gb_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8">__BYTE_REG</a> <a class="code" href="gb_2hardware_8h.html#a2fe41a6e0abb211cc00a8fca90543966">AUD3WAVE</a>[16];</div> -<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  </div> -<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b"> 161</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b">LCDC_REG</a>; </div> -<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a8b576a1fe1473ac4aff8afecb28035cb"> 162</a></span> <span class="preprocessor">#define rLCDC LCDC_REG</span></div> -<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  </div> -<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor">#ifdef __TARGET_ap</span></div> -<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor">#define LCDCF_OFF 0b00000000</span></div> -<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor">#define LCDCF_ON 0b00000001</span></div> -<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor">#define LCDCF_WIN9800 0b00000000</span></div> -<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="preprocessor">#define LCDCF_WIN9C00 0b00000010</span></div> -<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor">#define LCDCF_WINOFF 0b00000000</span></div> -<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor">#define LCDCF_WINON 0b00000100</span></div> -<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor">#define LCDCF_BG8800 0b00000000</span></div> -<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor">#define LCDCF_BG8000 0b00001000</span></div> -<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor">#define LCDCF_BG9800 0b00000000</span></div> -<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor">#define LCDCF_BG9C00 0b00010000</span></div> -<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor">#define LCDCF_OBJ8 0b00000000</span></div> -<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor">#define LCDCF_OBJ16 0b00100000</span></div> -<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor">#define LCDCF_OBJOFF 0b00000000</span></div> -<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor">#define LCDCF_OBJON 0b01000000</span></div> -<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor">#define LCDCF_BGOFF 0b00000000</span></div> -<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="preprocessor">#define LCDCF_BGON 0b10000000</span></div> -<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor">#define LCDCF_B_ON 0</span></div> -<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor">#define LCDCF_B_WIN9C00 1</span></div> -<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="preprocessor">#define LCDCF_B_WINON 2</span></div> -<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor">#define LCDCF_B_BG8000 3</span></div> -<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor">#define LCDCF_B_BG9C00 4</span></div> -<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor">#define LCDCF_B_OBJ16 5</span></div> -<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor">#define LCDCF_B_OBJON 6</span></div> -<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor">#define LCDCF_B_BGON 7</span></div> -<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor">#else</span></div> -<div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae9de9f58318f113afbc955986a502692"> 190</a></span> <span class="preprocessor">#define LCDCF_OFF 0b00000000 </span></div> -<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a1491fc03ed7f02e7309cc7b0c48b6c8a"> 191</a></span> <span class="preprocessor">#define LCDCF_ON 0b10000000 </span></div> -<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a178a111ffe8eb38a2875fcaf3bfeba3f"> 192</a></span> <span class="preprocessor">#define LCDCF_WIN9800 0b00000000 </span></div> -<div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a9d555b0c19019150db73ca245ca62a78"> 193</a></span> <span class="preprocessor">#define LCDCF_WIN9C00 0b01000000 </span></div> -<div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a582ece3b5f6cc49d47b2ad3e16d47374"> 194</a></span> <span class="preprocessor">#define LCDCF_WINOFF 0b00000000 </span></div> -<div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a13a5f08b9aae68f8fa57a8aa7705b732"> 195</a></span> <span class="preprocessor">#define LCDCF_WINON 0b00100000 </span></div> -<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a69a43daf29c680b3ab0fbcad3118cd48"> 196</a></span> <span class="preprocessor">#define LCDCF_BG8800 0b00000000 </span></div> -<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a731588b96fb8cdbeb7e68c089373e6f8"> 197</a></span> <span class="preprocessor">#define LCDCF_BG8000 0b00010000 </span></div> -<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae4e03124190c7f96586b75cb4470a210"> 198</a></span> <span class="preprocessor">#define LCDCF_BG9800 0b00000000 </span></div> -<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a2e2a68c3274055a06cf38d00f007d4bf"> 199</a></span> <span class="preprocessor">#define LCDCF_BG9C00 0b00001000 </span></div> -<div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a1452fbc14f59076347c4cd4864fbeb51"> 200</a></span> <span class="preprocessor">#define LCDCF_OBJ8 0b00000000 </span></div> -<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a14eddd3d53d8e649f1754bd455b4863d"> 201</a></span> <span class="preprocessor">#define LCDCF_OBJ16 0b00000100 </span></div> -<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af14334f65debf6ee02cc21b58729cfde"> 202</a></span> <span class="preprocessor">#define LCDCF_OBJOFF 0b00000000 </span></div> -<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a6aef42158c90e8025b8341cdea2e3918"> 203</a></span> <span class="preprocessor">#define LCDCF_OBJON 0b00000010 </span></div> -<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa8027f47983459c377169f57987b710c"> 204</a></span> <span class="preprocessor">#define LCDCF_BGOFF 0b00000000 </span></div> -<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a97ab19d938f05bffbcb4221824c3bfce"> 205</a></span> <span class="preprocessor">#define LCDCF_BGON 0b00000001 </span></div> -<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac112618942cb4719def91693616baaff"> 206</a></span> <span class="preprocessor">#define LCDCF_B_ON 7 </span></div> -<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac826fdb70a043ebb8f1b317b00db6ff3"> 207</a></span> <span class="preprocessor">#define LCDCF_B_WIN9C00 6 </span></div> -<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae1de721c95ddc8f29ba9b9deaee8d68c"> 208</a></span> <span class="preprocessor">#define LCDCF_B_WINON 5 </span></div> -<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa336ca1c8bd29763222fc011a6272bdf"> 209</a></span> <span class="preprocessor">#define LCDCF_B_BG8000 4 </span></div> -<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a4889bb882e956665069212c4c8aa623b"> 210</a></span> <span class="preprocessor">#define LCDCF_B_BG9C00 3 </span></div> -<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa8f5bcd5073aae5948a9647dcb76f779"> 211</a></span> <span class="preprocessor">#define LCDCF_B_OBJ16 2 </span></div> -<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a6f6852d0f1d295b03e1230d5d97cb3e9"> 212</a></span> <span class="preprocessor">#define LCDCF_B_OBJON 1 </span></div> -<div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa1f66868f63af2af6544e84122de3cc3"> 213</a></span> <span class="preprocessor">#define LCDCF_B_BGON 0 </span></div> -<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  </div> -<div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b"> 216</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b">STAT_REG</a>; </div> -<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a338ec378453b4457efdb3008978c0f28"> 217</a></span> <span class="preprocessor">#define rSTAT STAT_REG</span></div> -<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  </div> -<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="preprocessor">#ifdef __TARGET_ap</span></div> -<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor">#define STATF_LYC 0b00000010</span></div> -<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="preprocessor">#define STATF_MODE10 0b00000100</span></div> -<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="preprocessor">#define STATF_MODE01 0b00001000</span></div> -<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="preprocessor">#define STATF_MODE00 0b00010000</span></div> -<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="preprocessor">#define STATF_LYCF 0b00100000</span></div> -<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="preprocessor">#define STATF_HBL 0b00000000</span></div> -<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="preprocessor">#define STATF_VBL 0b10000000</span></div> -<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="preprocessor">#define STATF_OAM 0b01000000</span></div> -<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor">#define STATF_LCD 0b11000000</span></div> -<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="preprocessor">#define STATF_BUSY 0b01000000</span></div> -<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="preprocessor">#define STATF_B_LYC 1</span></div> -<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="preprocessor">#define STATF_B_MODE10 2</span></div> -<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor">#define STATF_B_MODE01 3</span></div> -<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="preprocessor">#define STATF_B_MODE00 4</span></div> -<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="preprocessor">#define STATF_B_LYCF 5</span></div> -<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="preprocessor">#define STATF_B_VBL 7</span></div> -<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor">#define STATF_B_OAM 6</span></div> -<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="preprocessor">#define STATF_B_BUSY 6</span></div> -<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="preprocessor">#else</span></div> -<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3b53105cc5be896b48794ba82d2aeb4c"> 239</a></span> <span class="preprocessor">#define STATF_LYC 0b01000000 </span></div> -<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a47b5bc2ec6afaf1d50a8db5f24415922"> 240</a></span> <span class="preprocessor">#define STATF_MODE10 0b00100000 </span></div> -<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad27f428fca89ea6b236ff3aa4769a05e"> 241</a></span> <span class="preprocessor">#define STATF_MODE01 0b00010000 </span></div> -<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a72b78d4d640033770be37d95bf8e1f9d"> 242</a></span> <span class="preprocessor">#define STATF_MODE00 0b00001000 </span></div> -<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a2b3637bad69da368c3d7136632963fb7"> 243</a></span> <span class="preprocessor">#define STATF_LYCF 0b00000100 </span></div> -<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ab04e468d2403bc69f761daa300bb999a"> 244</a></span> <span class="preprocessor">#define STATF_HBL 0b00000000 </span></div> -<div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#adb52e1f4b56ef259db300a187fe58fc9"> 245</a></span> <span class="preprocessor">#define STATF_VBL 0b00000001 </span></div> -<div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#acc45e1a4ea60d8248102a71c1658c5a3"> 246</a></span> <span class="preprocessor">#define STATF_OAM 0b00000010 </span></div> -<div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a6f5df560b791d2fc086c23f99dd03354"> 247</a></span> <span class="preprocessor">#define STATF_LCD 0b00000011 </span></div> -<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a92a063885caf6c6cda665da0309055ec"> 248</a></span> <span class="preprocessor">#define STATF_BUSY 0b00000010 </span></div> -<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac1e4b66204a5bff207be36fdfedd63d5"> 249</a></span> <span class="preprocessor">#define STATF_B_LYC 6 </span></div> -<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac75479aa0d34ac4344d80451276e97cc"> 250</a></span> <span class="preprocessor">#define STATF_B_MODE10 5 </span></div> -<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a5b683ff804221c6fc721b996fce65bda"> 251</a></span> <span class="preprocessor">#define STATF_B_MODE01 4 </span></div> -<div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#acdbf6b3217f6a5681df94c8b8992d1d6"> 252</a></span> <span class="preprocessor">#define STATF_B_MODE00 3 </span></div> -<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ab058c32e4ebf21b3beb06a0d7440e6ad"> 253</a></span> <span class="preprocessor">#define STATF_B_LYCF 2 </span></div> -<div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a55c4815aea004a9951606db7e7a1f0d7"> 254</a></span> <span class="preprocessor">#define STATF_B_VBL 0 </span></div> -<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a7393f505e4277af40167d72415c46fa5"> 255</a></span> <span class="preprocessor">#define STATF_B_OAM 1 </span></div> -<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3b0bf7449b517b3cda2a89428db6deb9"> 256</a></span> <span class="preprocessor">#define STATF_B_BUSY 1 </span></div> -<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  </div> -<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2"> 259</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a>; </div> -<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad2537c13699429afa59a68c6d6598632"> 260</a></span> <span class="preprocessor">#define rSCY</span></div> -<div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f"> 261</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a>; </div> -<div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a97932e023d96ece4715802b6c2565c43"> 262</a></span> <span class="preprocessor">#define rSCX SCX_REG</span></div> -<div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7"> 263</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7">LY_REG</a>; </div> -<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa851dae67d0bb80c17415774558d985f"> 264</a></span> <span class="preprocessor">#define rLY LY_REG</span></div> -<div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae"> 265</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae">LYC_REG</a>; </div> -<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a92083741d31c9b2206b403e97124cbdc"> 266</a></span> <span class="preprocessor">#define rLYC LYC_REG</span></div> -<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae13ce414d3fe7c98c1434918186dfc81"> 267</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#ae13ce414d3fe7c98c1434918186dfc81">DMA_REG</a>; </div> -<div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a4225227c2812c3e3e500441f5e90772a"> 268</a></span> <span class="preprocessor">#define rDMA DMA_REG</span></div> -<div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997"> 269</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997">BGP_REG</a>; </div> -<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a4fbcc4798c0721efcf4462c04a4566c1"> 270</a></span> <span class="preprocessor">#define rBGP BGP_REG</span></div> -<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a13f3e89f7b92258d825292e5058815c7"> 271</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a13f3e89f7b92258d825292e5058815c7">OBP0_REG</a>; </div> -<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae0a85bdedbbf1c79b5dbb5b23ca4bf79"> 272</a></span> <span class="preprocessor">#define rOBP0 OBP0_REG</span></div> -<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a9da545164e049ef773128f869daece13"> 273</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a9da545164e049ef773128f869daece13">OBP1_REG</a>; </div> -<div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a2a14470dca10f69c092d817a433383bd"> 274</a></span> <span class="preprocessor">#define rOBP1 OBP1_REG</span></div> -<div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850"> 275</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850">WY_REG</a>; </div> -<div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#afe84077234eb6e0520d7a6d0a9e903e7"> 276</a></span> <span class="preprocessor">#define rWY WY_REG</span></div> -<div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0"> 277</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0">WX_REG</a>; </div> -<div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aba3cbaeca5ad045fb27095c210b661b7"> 278</a></span> <span class="preprocessor">#define rWX WX_REG</span></div> -<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a7279430d110acf02fa176d5f427a6491"> 279</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a7279430d110acf02fa176d5f427a6491">KEY1_REG</a>; </div> -<div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad3f67013699d0d38c203e4e863c91c41"> 280</a></span> <span class="preprocessor">#define rKEY1 KEY1_REG</span></div> -<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a222d5e3cb366d5e720a832fc68ce3a13"> 281</a></span> <span class="preprocessor">#define rSPD KEY1_REG</span></div> -<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  </div> -<div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a793b667a76985934545f73268000371a"> 283</a></span> <span class="preprocessor">#define KEY1F_DBLSPEED 0b10000000</span></div> -<div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3205df57bc17c35df2924296341c6c69"> 284</a></span> <span class="preprocessor">#define KEY1F_PREPARE 0b00000001</span></div> -<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  </div> -<div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a"> 286</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a>; </div> -<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a09fa1caa91313e57dc2c3dd354104b00"> 287</a></span> <span class="preprocessor">#define rVBK VBK_REG</span></div> -<div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ab16e97796d675205a027b1b28b52956e"> 288</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#ab16e97796d675205a027b1b28b52956e">HDMA1_REG</a>; </div> -<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a5011196496193d80fc58cdb632fbab24"> 289</a></span> <span class="preprocessor">#define rHDMA1 HDMA1_REG</span></div> -<div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a801400d58ab7d862742e43b49fa68c8d"> 290</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a801400d58ab7d862742e43b49fa68c8d">HDMA2_REG</a>; </div> -<div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#abc4249f04a9081f45439f61dabf861e5"> 291</a></span> <span class="preprocessor">#define rHDMA2 HDMA2_REG</span></div> -<div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a57a94790cda8101a29c0d20086770f1b"> 292</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a57a94790cda8101a29c0d20086770f1b">HDMA3_REG</a>; </div> -<div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aca2df62463b4c3bc4a291e18f26f4ec5"> 293</a></span> <span class="preprocessor">#define rHDMA3 HDMA3_REG</span></div> -<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3a2e883779980c1c37e780f47da4dd69"> 294</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a3a2e883779980c1c37e780f47da4dd69">HDMA4_REG</a>; </div> -<div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#adee641ce3abf6b891e0e16bb56bdfcf7"> 295</a></span> <span class="preprocessor">#define rHDMA4 HDMA4_REG</span></div> -<div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a1454ad6d5d04273eae1288af86deadac"> 296</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a1454ad6d5d04273eae1288af86deadac">HDMA5_REG</a>; </div> -<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae7eecc25286b951a78ef0dfc97aab3a7"> 297</a></span> <span class="preprocessor">#define rHDMA5 HDMA5_REG</span></div> -<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  </div> -<div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a2a1acb31d2869997315be64bff66d24b"> 299</a></span> <span class="preprocessor">#define HDMA5F_MODE_GP 0b00000000</span></div> -<div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3c22f7324f09a14d666f9b21a9742789"> 300</a></span> <span class="preprocessor">#define HDMA5F_MODE_HBL 0b10000000</span></div> -<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  </div> -<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a37c8ee0ef95132fd22cd426868510834"> 302</a></span> <span class="preprocessor">#define HDMA5F_BUSY 0b10000000</span></div> -<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  </div> -<div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a76532f8742d9dd8cb26d2ccfd9c37bbf"> 304</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a76532f8742d9dd8cb26d2ccfd9c37bbf">RP_REG</a>; </div> -<div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a82c53e957d31d22c475e1629843bc12d"> 305</a></span> <span class="preprocessor">#define rRP RP_REG</span></div> -<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  </div> -<div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a092b2e33a050ac6ced4e897498ce9a2f"> 307</a></span> <span class="preprocessor">#define RPF_ENREAD 0b11000000</span></div> -<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aaffaea3512173f90b85bae710d40ba6c"> 308</a></span> <span class="preprocessor">#define RPF_DATAIN 0b00000010</span></div> -<div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac47b78eb2ffea207a8c7ac643555ba6c"> 309</a></span> <span class="preprocessor">#define RPF_WRITE_HI 0b00000001</span></div> -<div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ab0fe74a7c155ae95cbf20bbb5e1bf46b"> 310</a></span> <span class="preprocessor">#define RPF_WRITE_LO 0b00000000</span></div> +<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a271367a0bf840e5422b3a7ed541776f8"> 160</a></span> <a class="code" href="gb_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8">__BYTE_REG</a> <a class="code" href="gb_2hardware_8h.html#a271367a0bf840e5422b3a7ed541776f8">PCM_SAMPLE</a>[16];</div> +<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  </div> +<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b"> 162</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b">LCDC_REG</a>; </div> +<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a8b576a1fe1473ac4aff8afecb28035cb"> 163</a></span> <span class="preprocessor">#define rLCDC LCDC_REG</span></div> +<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  </div> +<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor">#if defined(__TARGET_ap)</span></div> +<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor">#define LCDCF_OFF 0b00000000</span></div> +<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor">#define LCDCF_ON 0b00000001</span></div> +<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="preprocessor">#define LCDCF_WIN9800 0b00000000</span></div> +<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor">#define LCDCF_WIN9C00 0b00000010</span></div> +<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor">#define LCDCF_WINOFF 0b00000000</span></div> +<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor">#define LCDCF_WINON 0b00000100</span></div> +<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor">#define LCDCF_BG8800 0b00000000</span></div> +<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor">#define LCDCF_BG8000 0b00001000</span></div> +<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor">#define LCDCF_BG9800 0b00000000</span></div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor">#define LCDCF_BG9C00 0b00010000</span></div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor">#define LCDCF_OBJ8 0b00000000</span></div> +<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor">#define LCDCF_OBJ16 0b00100000</span></div> +<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor">#define LCDCF_OBJOFF 0b00000000</span></div> +<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor">#define LCDCF_OBJON 0b01000000</span></div> +<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="preprocessor">#define LCDCF_BGOFF 0b00000000</span></div> +<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor">#define LCDCF_BGON 0b10000000</span></div> +<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor">#define LCDCF_B_ON 0</span></div> +<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="preprocessor">#define LCDCF_B_WIN9C00 1</span></div> +<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor">#define LCDCF_B_WINON 2</span></div> +<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor">#define LCDCF_B_BG8000 3</span></div> +<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor">#define LCDCF_B_BG9C00 4</span></div> +<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor">#define LCDCF_B_OBJ16 5</span></div> +<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor">#define LCDCF_B_OBJON 6</span></div> +<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor">#define LCDCF_B_BGON 7</span></div> +<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor">#elif defined(__TARGET_duck)</span></div> +<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor">#define LCDCF_OFF 0b00000000</span></div> +<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor">#define LCDCF_ON 0b10000000</span></div> +<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor">#define LCDCF_WIN9800 0b00000000</span></div> +<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="preprocessor">#define LCDCF_WIN9C00 0b00001000</span></div> +<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor">#define LCDCF_WINOFF 0b00000000</span></div> +<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor">#define LCDCF_WINON 0b00100000</span></div> +<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor">#define LCDCF_BG8800 0b00000000</span></div> +<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor">#define LCDCF_BG8000 0b00010000</span></div> +<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor">#define LCDCF_BG9800 0b00000000</span></div> +<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor">#define LCDCF_BG9C00 0b00000100</span></div> +<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor">#define LCDCF_OBJ8 0b00000000</span></div> +<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor">#define LCDCF_OBJ16 0b00000010</span></div> +<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor">#define LCDCF_OBJOFF 0b00000000</span></div> +<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor">#define LCDCF_OBJON 0b00000001</span></div> +<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor">#define LCDCF_BGOFF 0b00000000</span></div> +<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor">#define LCDCF_BGON 0b01000000</span></div> +<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor">#define LCDCF_B_ON 7</span></div> +<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="preprocessor">#define LCDCF_B_WIN9C00 3</span></div> +<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="preprocessor">#define LCDCF_B_WINON 5</span></div> +<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="preprocessor">#define LCDCF_B_BG8000 4</span></div> +<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="preprocessor">#define LCDCF_B_BG9C00 2</span></div> +<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="preprocessor">#define LCDCF_B_OBJ16 1</span></div> +<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor">#define LCDCF_B_OBJON 0</span></div> +<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor">#define LCDCF_B_BGON 6</span></div> +<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="preprocessor">#else</span></div> +<div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae9de9f58318f113afbc955986a502692"> 216</a></span> <span class="preprocessor">#define LCDCF_OFF 0b00000000 </span></div> +<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a1491fc03ed7f02e7309cc7b0c48b6c8a"> 217</a></span> <span class="preprocessor">#define LCDCF_ON 0b10000000 </span></div> +<div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a178a111ffe8eb38a2875fcaf3bfeba3f"> 218</a></span> <span class="preprocessor">#define LCDCF_WIN9800 0b00000000 </span></div> +<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a9d555b0c19019150db73ca245ca62a78"> 219</a></span> <span class="preprocessor">#define LCDCF_WIN9C00 0b01000000 </span></div> +<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a582ece3b5f6cc49d47b2ad3e16d47374"> 220</a></span> <span class="preprocessor">#define LCDCF_WINOFF 0b00000000 </span></div> +<div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a13a5f08b9aae68f8fa57a8aa7705b732"> 221</a></span> <span class="preprocessor">#define LCDCF_WINON 0b00100000 </span></div> +<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a69a43daf29c680b3ab0fbcad3118cd48"> 222</a></span> <span class="preprocessor">#define LCDCF_BG8800 0b00000000 </span></div> +<div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a731588b96fb8cdbeb7e68c089373e6f8"> 223</a></span> <span class="preprocessor">#define LCDCF_BG8000 0b00010000 </span></div> +<div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae4e03124190c7f96586b75cb4470a210"> 224</a></span> <span class="preprocessor">#define LCDCF_BG9800 0b00000000 </span></div> +<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a2e2a68c3274055a06cf38d00f007d4bf"> 225</a></span> <span class="preprocessor">#define LCDCF_BG9C00 0b00001000 </span></div> +<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a1452fbc14f59076347c4cd4864fbeb51"> 226</a></span> <span class="preprocessor">#define LCDCF_OBJ8 0b00000000 </span></div> +<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a14eddd3d53d8e649f1754bd455b4863d"> 227</a></span> <span class="preprocessor">#define LCDCF_OBJ16 0b00000100 </span></div> +<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af14334f65debf6ee02cc21b58729cfde"> 228</a></span> <span class="preprocessor">#define LCDCF_OBJOFF 0b00000000 </span></div> +<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a6aef42158c90e8025b8341cdea2e3918"> 229</a></span> <span class="preprocessor">#define LCDCF_OBJON 0b00000010 </span></div> +<div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa8027f47983459c377169f57987b710c"> 230</a></span> <span class="preprocessor">#define LCDCF_BGOFF 0b00000000 </span></div> +<div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a97ab19d938f05bffbcb4221824c3bfce"> 231</a></span> <span class="preprocessor">#define LCDCF_BGON 0b00000001 </span></div> +<div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac112618942cb4719def91693616baaff"> 232</a></span> <span class="preprocessor">#define LCDCF_B_ON 7 </span></div> +<div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac826fdb70a043ebb8f1b317b00db6ff3"> 233</a></span> <span class="preprocessor">#define LCDCF_B_WIN9C00 6 </span></div> +<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae1de721c95ddc8f29ba9b9deaee8d68c"> 234</a></span> <span class="preprocessor">#define LCDCF_B_WINON 5 </span></div> +<div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa336ca1c8bd29763222fc011a6272bdf"> 235</a></span> <span class="preprocessor">#define LCDCF_B_BG8000 4 </span></div> +<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a4889bb882e956665069212c4c8aa623b"> 236</a></span> <span class="preprocessor">#define LCDCF_B_BG9C00 3 </span></div> +<div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa8f5bcd5073aae5948a9647dcb76f779"> 237</a></span> <span class="preprocessor">#define LCDCF_B_OBJ16 2 </span></div> +<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a6f6852d0f1d295b03e1230d5d97cb3e9"> 238</a></span> <span class="preprocessor">#define LCDCF_B_OBJON 1 </span></div> +<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa1f66868f63af2af6544e84122de3cc3"> 239</a></span> <span class="preprocessor">#define LCDCF_B_BGON 0 </span></div> +<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  </div> +<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b"> 242</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b">STAT_REG</a>; </div> +<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a338ec378453b4457efdb3008978c0f28"> 243</a></span> <span class="preprocessor">#define rSTAT STAT_REG</span></div> +<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  </div> +<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor">#if defined(__TARGET_ap)</span></div> +<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="preprocessor">#define STATF_LYC 0b00000010</span></div> +<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="preprocessor">#define STATF_MODE10 0b00000100</span></div> +<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="preprocessor">#define STATF_MODE01 0b00001000</span></div> +<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="preprocessor">#define STATF_MODE00 0b00010000</span></div> +<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="preprocessor">#define STATF_LYCF 0b00100000</span></div> +<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor">#define STATF_HBL 0b00000000</span></div> +<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="preprocessor">#define STATF_VBL 0b10000000</span></div> +<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="preprocessor">#define STATF_OAM 0b01000000</span></div> +<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="preprocessor">#define STATF_LCD 0b11000000</span></div> +<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor">#define STATF_BUSY 0b01000000</span></div> +<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="preprocessor">#define STATF_B_LYC 1</span></div> +<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="preprocessor">#define STATF_B_MODE10 2</span></div> +<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor">#define STATF_B_MODE01 3</span></div> +<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="preprocessor">#define STATF_B_MODE00 4</span></div> +<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="preprocessor">#define STATF_B_LYCF 5</span></div> +<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor">#define STATF_B_VBL 7</span></div> +<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="preprocessor">#define STATF_B_OAM 6</span></div> +<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="preprocessor">#define STATF_B_BUSY 6</span></div> +<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="preprocessor">#else</span></div> +<div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3b53105cc5be896b48794ba82d2aeb4c"> 265</a></span> <span class="preprocessor">#define STATF_LYC 0b01000000 </span></div> +<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a47b5bc2ec6afaf1d50a8db5f24415922"> 266</a></span> <span class="preprocessor">#define STATF_MODE10 0b00100000 </span></div> +<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad27f428fca89ea6b236ff3aa4769a05e"> 267</a></span> <span class="preprocessor">#define STATF_MODE01 0b00010000 </span></div> +<div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a72b78d4d640033770be37d95bf8e1f9d"> 268</a></span> <span class="preprocessor">#define STATF_MODE00 0b00001000 </span></div> +<div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a2b3637bad69da368c3d7136632963fb7"> 269</a></span> <span class="preprocessor">#define STATF_LYCF 0b00000100 </span></div> +<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ab04e468d2403bc69f761daa300bb999a"> 270</a></span> <span class="preprocessor">#define STATF_HBL 0b00000000 </span></div> +<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#adb52e1f4b56ef259db300a187fe58fc9"> 271</a></span> <span class="preprocessor">#define STATF_VBL 0b00000001 </span></div> +<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#acc45e1a4ea60d8248102a71c1658c5a3"> 272</a></span> <span class="preprocessor">#define STATF_OAM 0b00000010 </span></div> +<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a6f5df560b791d2fc086c23f99dd03354"> 273</a></span> <span class="preprocessor">#define STATF_LCD 0b00000011 </span></div> +<div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a92a063885caf6c6cda665da0309055ec"> 274</a></span> <span class="preprocessor">#define STATF_BUSY 0b00000010 </span></div> +<div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac1e4b66204a5bff207be36fdfedd63d5"> 275</a></span> <span class="preprocessor">#define STATF_B_LYC 6 </span></div> +<div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac75479aa0d34ac4344d80451276e97cc"> 276</a></span> <span class="preprocessor">#define STATF_B_MODE10 5 </span></div> +<div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a5b683ff804221c6fc721b996fce65bda"> 277</a></span> <span class="preprocessor">#define STATF_B_MODE01 4 </span></div> +<div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#acdbf6b3217f6a5681df94c8b8992d1d6"> 278</a></span> <span class="preprocessor">#define STATF_B_MODE00 3 </span></div> +<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ab058c32e4ebf21b3beb06a0d7440e6ad"> 279</a></span> <span class="preprocessor">#define STATF_B_LYCF 2 </span></div> +<div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a55c4815aea004a9951606db7e7a1f0d7"> 280</a></span> <span class="preprocessor">#define STATF_B_VBL 0 </span></div> +<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a7393f505e4277af40167d72415c46fa5"> 281</a></span> <span class="preprocessor">#define STATF_B_OAM 1 </span></div> +<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3b0bf7449b517b3cda2a89428db6deb9"> 282</a></span> <span class="preprocessor">#define STATF_B_BUSY 1 </span></div> +<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  </div> +<div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2"> 285</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a>; </div> +<div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad2537c13699429afa59a68c6d6598632"> 286</a></span> <span class="preprocessor">#define rSCY</span></div> +<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f"> 287</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a>; </div> +<div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a97932e023d96ece4715802b6c2565c43"> 288</a></span> <span class="preprocessor">#define rSCX SCX_REG</span></div> +<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7"> 289</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7">LY_REG</a>; </div> +<div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa851dae67d0bb80c17415774558d985f"> 290</a></span> <span class="preprocessor">#define rLY LY_REG</span></div> +<div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae"> 291</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae">LYC_REG</a>; </div> +<div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a92083741d31c9b2206b403e97124cbdc"> 292</a></span> <span class="preprocessor">#define rLYC LYC_REG</span></div> +<div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae13ce414d3fe7c98c1434918186dfc81"> 293</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#ae13ce414d3fe7c98c1434918186dfc81">DMA_REG</a>; </div> +<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a4225227c2812c3e3e500441f5e90772a"> 294</a></span> <span class="preprocessor">#define rDMA DMA_REG</span></div> +<div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997"> 295</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997">BGP_REG</a>; </div> +<div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a4fbcc4798c0721efcf4462c04a4566c1"> 296</a></span> <span class="preprocessor">#define rBGP BGP_REG</span></div> +<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a13f3e89f7b92258d825292e5058815c7"> 297</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a13f3e89f7b92258d825292e5058815c7">OBP0_REG</a>; </div> +<div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae0a85bdedbbf1c79b5dbb5b23ca4bf79"> 298</a></span> <span class="preprocessor">#define rOBP0 OBP0_REG</span></div> +<div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a9da545164e049ef773128f869daece13"> 299</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a9da545164e049ef773128f869daece13">OBP1_REG</a>; </div> +<div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a2a14470dca10f69c092d817a433383bd"> 300</a></span> <span class="preprocessor">#define rOBP1 OBP1_REG</span></div> +<div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850"> 301</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850">WY_REG</a>; </div> +<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#afe84077234eb6e0520d7a6d0a9e903e7"> 302</a></span> <span class="preprocessor">#define rWY WY_REG</span></div> +<div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0"> 303</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0">WX_REG</a>; </div> +<div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aba3cbaeca5ad045fb27095c210b661b7"> 304</a></span> <span class="preprocessor">#define rWX WX_REG</span></div> +<div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a7279430d110acf02fa176d5f427a6491"> 305</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a7279430d110acf02fa176d5f427a6491">KEY1_REG</a>; </div> +<div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad3f67013699d0d38c203e4e863c91c41"> 306</a></span> <span class="preprocessor">#define rKEY1 KEY1_REG</span></div> +<div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a222d5e3cb366d5e720a832fc68ce3a13"> 307</a></span> <span class="preprocessor">#define rSPD KEY1_REG</span></div> +<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  </div> +<div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a793b667a76985934545f73268000371a"> 309</a></span> <span class="preprocessor">#define KEY1F_DBLSPEED 0b10000000</span></div> +<div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3205df57bc17c35df2924296341c6c69"> 310</a></span> <span class="preprocessor">#define KEY1F_PREPARE 0b00000001</span></div> <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  </div> -<div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a28fa1ca08ef1c8ed97280bc5e60bdd99"> 312</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a28fa1ca08ef1c8ed97280bc5e60bdd99">BCPS_REG</a>; </div> -<div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a4f1816144e0561ff4db1ad24f4ce847a"> 313</a></span> <span class="preprocessor">#define rBCPS BCPS_REG</span></div> -<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  </div> -<div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a88cceb86b8168f4c539e9612a81145a6"> 315</a></span> <span class="preprocessor">#define BCPSF_AUTOINC 0b10000000</span></div> -<div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a1fc8ff37ffe1c431364e1ef7c3961b30"> 316</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a1fc8ff37ffe1c431364e1ef7c3961b30">BCPD_REG</a>; </div> -<div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3dbfd7c3f4a62774fbc98caa73899e96"> 317</a></span> <span class="preprocessor">#define rBCPD BCPD_REG</span></div> -<div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a1686d2457eb4ad834bb75fb81c86aed8"> 318</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a1686d2457eb4ad834bb75fb81c86aed8">OCPS_REG</a>; </div> -<div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a056b789889ecf0691e54f721e015b873"> 319</a></span> <span class="preprocessor">#define rOCPS OCPS_REG</span></div> -<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  </div> -<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a0a6cc6543aa06c12b87e235c3d5da4ff"> 321</a></span> <span class="preprocessor">#define OCPSF_AUTOINC 0b10000000</span></div> -<div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae24d0e88a1e1b8367ac1f5709d3e500c"> 322</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#ae24d0e88a1e1b8367ac1f5709d3e500c">OCPD_REG</a>; </div> -<div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a723eb3e0c2c681a050e9a325e35c25ae"> 323</a></span> <span class="preprocessor">#define rOCPD OCPD_REG</span></div> -<div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa128832cecec4e609517fe3daf044e5e"> 324</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#aa128832cecec4e609517fe3daf044e5e">SVBK_REG</a>; </div> -<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a83e14896ee3ddf2a4201b534d8e5f398"> 325</a></span> <span class="preprocessor">#define rSVBK SVBK_REG</span></div> -<div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af93abe183851726958f27d979498032e"> 326</a></span> <span class="preprocessor">#define rSMBK SVBK_REG</span></div> +<div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a"> 312</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a>; </div> +<div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a09fa1caa91313e57dc2c3dd354104b00"> 313</a></span> <span class="preprocessor">#define rVBK VBK_REG</span></div> +<div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ab16e97796d675205a027b1b28b52956e"> 314</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#ab16e97796d675205a027b1b28b52956e">HDMA1_REG</a>; </div> +<div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a5011196496193d80fc58cdb632fbab24"> 315</a></span> <span class="preprocessor">#define rHDMA1 HDMA1_REG</span></div> +<div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a801400d58ab7d862742e43b49fa68c8d"> 316</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a801400d58ab7d862742e43b49fa68c8d">HDMA2_REG</a>; </div> +<div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#abc4249f04a9081f45439f61dabf861e5"> 317</a></span> <span class="preprocessor">#define rHDMA2 HDMA2_REG</span></div> +<div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a57a94790cda8101a29c0d20086770f1b"> 318</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a57a94790cda8101a29c0d20086770f1b">HDMA3_REG</a>; </div> +<div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aca2df62463b4c3bc4a291e18f26f4ec5"> 319</a></span> <span class="preprocessor">#define rHDMA3 HDMA3_REG</span></div> +<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3a2e883779980c1c37e780f47da4dd69"> 320</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a3a2e883779980c1c37e780f47da4dd69">HDMA4_REG</a>; </div> +<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#adee641ce3abf6b891e0e16bb56bdfcf7"> 321</a></span> <span class="preprocessor">#define rHDMA4 HDMA4_REG</span></div> +<div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a1454ad6d5d04273eae1288af86deadac"> 322</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a1454ad6d5d04273eae1288af86deadac">HDMA5_REG</a>; </div> +<div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae7eecc25286b951a78ef0dfc97aab3a7"> 323</a></span> <span class="preprocessor">#define rHDMA5 HDMA5_REG</span></div> +<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  </div> +<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a2a1acb31d2869997315be64bff66d24b"> 325</a></span> <span class="preprocessor">#define HDMA5F_MODE_GP 0b00000000</span></div> +<div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3c22f7324f09a14d666f9b21a9742789"> 326</a></span> <span class="preprocessor">#define HDMA5F_MODE_HBL 0b10000000</span></div> <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  </div> -<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a428894ca3fd0bb4527b03bed551ff04c"> 328</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a428894ca3fd0bb4527b03bed551ff04c">PCM12_REG</a>; </div> -<div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a28368838b9e270c301361a5f39c97154"> 329</a></span> <span class="preprocessor">#define rPCM12 PCM12_REG</span></div> -<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  </div> -<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0"> 331</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0">PCM34_REG</a>; </div> -<div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac1c402357ccc5f6c3c451450b30ca959"> 332</a></span> <span class="preprocessor">#define rPCM34 PCM34_REG</span></div> -<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  </div> -<div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aaef0dc6aab2f821ab406fdbc643af48e"> 334</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#aaef0dc6aab2f821ab406fdbc643af48e">IE_REG</a>; </div> -<div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a52e850e75483f64ca070a33ee4877d47"> 335</a></span> <span class="preprocessor">#define rIE IE_REG</span></div> -<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  </div> -<div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa7ce989df75547f190d33cc85dce0187"> 337</a></span> <span class="preprocessor">#define IEF_HILO 0b00010000</span></div> -<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a921bdc6c640b74c8c41e65f27882c68a"> 338</a></span> <span class="preprocessor">#define IEF_SERIAL 0b00001000</span></div> -<div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a7c06fa33152a235baf273f1828dfa0a4"> 339</a></span> <span class="preprocessor">#define IEF_TIMER 0b00000100</span></div> -<div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a2eec77ca1b8730b410a7075c5a9c189e"> 340</a></span> <span class="preprocessor">#define IEF_STAT 0b00000010</span></div> -<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3b8d7fece663511d5778136a5ca0070b"> 341</a></span> <span class="preprocessor">#define IEF_VBLANK 0b00000001</span></div> -<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  </div> -<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  </div> -<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment">/* Square wave duty cycle */</span></div> -<div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a8a88b504914eed6c0c4d2853689487ba"> 345</a></span> <span class="preprocessor">#define AUDLEN_DUTY_12_5 0b00000000</span></div> -<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a52e58c151c5910792e75f7eea7f7ddbb"> 346</a></span> <span class="preprocessor">#define AUDLEN_DUTY_25 0b01000000</span></div> -<div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#abd862604a105aa2475223b06abfa8bfe"> 347</a></span> <span class="preprocessor">#define AUDLEN_DUTY_50 0b10000000</span></div> -<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a194e3432f1e4d5d23d4ea096cef783e5"> 348</a></span> <span class="preprocessor">#define AUDLEN_DUTY_75 0b11000000</span></div> -<div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a367f10d1cfcc04fdbfcb88f09b230bd3"> 349</a></span> <span class="preprocessor">#define AUDLEN_LENGTH(x) (x)</span></div> -<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  </div> -<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment">/* Audio envelope flags */</span></div> -<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a7dab7d2ad1bf670875814d3029d54122"> 352</a></span> <span class="preprocessor">#define AUDENV_VOL(x) ((x) << 4)</span></div> -<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a9f069f19e8a05d1f1114aaabf531739e"> 353</a></span> <span class="preprocessor">#define AUDENV_UP 0b00001000</span></div> -<div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa58f52563d21d56e79d422c544eeb13f"> 354</a></span> <span class="preprocessor">#define AUDENV_DOWN 0b00000000</span></div> -<div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad07fa5e19e334eee03c2fcb8671b2ed3"> 355</a></span> <span class="preprocessor">#define AUDENV_LENGTH(x) (x)</span></div> +<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a37c8ee0ef95132fd22cd426868510834"> 328</a></span> <span class="preprocessor">#define HDMA5F_BUSY 0b10000000</span></div> +<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  </div> +<div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a76532f8742d9dd8cb26d2ccfd9c37bbf"> 330</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a76532f8742d9dd8cb26d2ccfd9c37bbf">RP_REG</a>; </div> +<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a82c53e957d31d22c475e1629843bc12d"> 331</a></span> <span class="preprocessor">#define rRP RP_REG</span></div> +<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  </div> +<div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a092b2e33a050ac6ced4e897498ce9a2f"> 333</a></span> <span class="preprocessor">#define RPF_ENREAD 0b11000000</span></div> +<div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aaffaea3512173f90b85bae710d40ba6c"> 334</a></span> <span class="preprocessor">#define RPF_DATAIN 0b00000010</span></div> +<div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac47b78eb2ffea207a8c7ac643555ba6c"> 335</a></span> <span class="preprocessor">#define RPF_WRITE_HI 0b00000001</span></div> +<div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ab0fe74a7c155ae95cbf20bbb5e1bf46b"> 336</a></span> <span class="preprocessor">#define RPF_WRITE_LO 0b00000000</span></div> +<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  </div> +<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a28fa1ca08ef1c8ed97280bc5e60bdd99"> 338</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a28fa1ca08ef1c8ed97280bc5e60bdd99">BCPS_REG</a>; </div> +<div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a4f1816144e0561ff4db1ad24f4ce847a"> 339</a></span> <span class="preprocessor">#define rBCPS BCPS_REG</span></div> +<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  </div> +<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a88cceb86b8168f4c539e9612a81145a6"> 341</a></span> <span class="preprocessor">#define BCPSF_AUTOINC 0b10000000</span></div> +<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a1fc8ff37ffe1c431364e1ef7c3961b30"> 342</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a1fc8ff37ffe1c431364e1ef7c3961b30">BCPD_REG</a>; </div> +<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3dbfd7c3f4a62774fbc98caa73899e96"> 343</a></span> <span class="preprocessor">#define rBCPD BCPD_REG</span></div> +<div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a1686d2457eb4ad834bb75fb81c86aed8"> 344</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a1686d2457eb4ad834bb75fb81c86aed8">OCPS_REG</a>; </div> +<div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a056b789889ecf0691e54f721e015b873"> 345</a></span> <span class="preprocessor">#define rOCPS OCPS_REG</span></div> +<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  </div> +<div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a0a6cc6543aa06c12b87e235c3d5da4ff"> 347</a></span> <span class="preprocessor">#define OCPSF_AUTOINC 0b10000000</span></div> +<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ae24d0e88a1e1b8367ac1f5709d3e500c"> 348</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#ae24d0e88a1e1b8367ac1f5709d3e500c">OCPD_REG</a>; </div> +<div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a723eb3e0c2c681a050e9a325e35c25ae"> 349</a></span> <span class="preprocessor">#define rOCPD OCPD_REG</span></div> +<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa128832cecec4e609517fe3daf044e5e"> 350</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#aa128832cecec4e609517fe3daf044e5e">SVBK_REG</a>; </div> +<div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a83e14896ee3ddf2a4201b534d8e5f398"> 351</a></span> <span class="preprocessor">#define rSVBK SVBK_REG</span></div> +<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af93abe183851726958f27d979498032e"> 352</a></span> <span class="preprocessor">#define rSMBK SVBK_REG</span></div> +<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  </div> +<div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a428894ca3fd0bb4527b03bed551ff04c"> 354</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#a428894ca3fd0bb4527b03bed551ff04c">PCM12_REG</a>; </div> +<div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a28368838b9e270c301361a5f39c97154"> 355</a></span> <span class="preprocessor">#define rPCM12 PCM12_REG</span></div> <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  </div> -<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment">/* Audio trigger flags */</span></div> -<div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a6d820a86bd30b531d5df5b27139ae92d"> 358</a></span> <span class="preprocessor">#define AUDHIGH_RESTART 0b10000000</span></div> -<div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ab3325578cf7f7f67610353a62aba274e"> 359</a></span> <span class="preprocessor">#define AUDHIGH_LENGTH_ON 0b01000000</span></div> -<div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#afe4927e6bc7efa57461e3c3b84d242da"> 360</a></span> <span class="preprocessor">#define AUDHIGH_LENGTH_OFF 0b00000000</span></div> -<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  </div> -<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment">/* OAM attributes flags */</span></div> -<div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a393866ca405b1023eec0e784bb88b026"> 363</a></span> <span class="preprocessor">#define OAMF_PRI 0b10000000 </span></div> -<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a820677d593625e8716c3b78f36feb805"> 364</a></span> <span class="preprocessor">#define OAMF_YFLIP 0b01000000 </span></div> -<div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3cd1c1a1291d43dd43b181ff07f8b0a7"> 365</a></span> <span class="preprocessor">#define OAMF_XFLIP 0b00100000 </span></div> -<div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a22b6b835de9ee737be73c4d252aac87c"> 366</a></span> <span class="preprocessor">#define OAMF_PAL0 0b00000000 </span></div> -<div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad92f3b2a1cc16700a4660c5821bcb15d"> 367</a></span> <span class="preprocessor">#define OAMF_PAL1 0b00010000 </span></div> -<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aade9a193ade9ff22ed6f6263d1a3549b"> 368</a></span> <span class="preprocessor">#define OAMF_BANK0 0b00000000 </span></div> -<div class="line"><a name="l00369"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad195d4be68ff54c3926c431fa5511de5"> 369</a></span> <span class="preprocessor">#define OAMF_BANK1 0b00001000 </span></div> -<div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a4ff8c8a7acb74ba54043596110091605"> 371</a></span> <span class="preprocessor">#define OAMF_CGB_PAL0 0b00000000 </span></div> -<div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a9dff52d03755812d3a5ee7ca971c2e83"> 372</a></span> <span class="preprocessor">#define OAMF_CGB_PAL1 0b00000001 </span></div> -<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a74744fb475532fa5d343e0818dcc6f88"> 373</a></span> <span class="preprocessor">#define OAMF_CGB_PAL2 0b00000010 </span></div> -<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a704ab20694793ea87aace8bfc29568bc"> 374</a></span> <span class="preprocessor">#define OAMF_CGB_PAL3 0b00000011 </span></div> -<div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a13d5cddfb4a05fa49fc794aeea675c7b"> 375</a></span> <span class="preprocessor">#define OAMF_CGB_PAL4 0b00000100 </span></div> -<div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af9284c71b8ebf10ef8b9e12268f2cce3"> 376</a></span> <span class="preprocessor">#define OAMF_CGB_PAL5 0b00000101 </span></div> -<div class="line"><a name="l00377"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad6f5b0d9ae958dee3d6dfa8f4273ff5a"> 377</a></span> <span class="preprocessor">#define OAMF_CGB_PAL6 0b00000110 </span></div> -<div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af4b27e8f3c3e14a4f91051fea4c64e4b"> 378</a></span> <span class="preprocessor">#define OAMF_CGB_PAL7 0b00000111 </span></div> -<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a5dc4d1ee47fe269761fe8fc46d56dabb"> 380</a></span> <span class="preprocessor">#define OAMF_PALMASK 0b00000111 </span></div> -<div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a519e327cac96f68a8ca9b77e0343672f"> 382</a></span> <span class="preprocessor">#define DEVICE_SCREEN_X_OFFSET 0 </span></div> -<div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af334c0e7dd6e434b3dbebd45bcdeb75a"> 383</a></span> <span class="preprocessor">#define DEVICE_SCREEN_Y_OFFSET 0 </span></div> -<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#add7f32ba868ef6517798f5fce337e4b2"> 384</a></span> <span class="preprocessor">#define DEVICE_SCREEN_WIDTH 20 </span></div> -<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad252264fdcf900e5fbf611f7a45962ed"> 385</a></span> <span class="preprocessor">#define DEVICE_SCREEN_HEIGHT 18 </span></div> -<div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a491dc081eae8c81e7ca88075ab806291"> 386</a></span> <span class="preprocessor">#define DEVICE_SCREEN_BUFFER_WIDTH 32 </span></div> -<div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a81fb56b6778772f829dab4c534e7749e"> 387</a></span> <span class="preprocessor">#define DEVICE_SCREEN_BUFFER_HEIGHT 32 </span></div> -<div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a4d682ed7a6158c5ba10afec739b17a8a"> 388</a></span> <span class="preprocessor">#define DEVICE_SCREEN_MAP_ENTRY_SIZE 1 </span></div> -<div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af531e7ac0c0a58517fa3061631745c31"> 389</a></span> <span class="preprocessor">#define DEVICE_SPRITE_PX_OFFSET_X 8 </span></div> -<div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a7f6c8420831388300bbec13ea4cb57a0"> 390</a></span> <span class="preprocessor">#define DEVICE_SPRITE_PX_OFFSET_Y 16 </span></div> -<div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d"> 391</a></span> <span class="preprocessor">#define DEVICE_SCREEN_PX_WIDTH (DEVICE_SCREEN_WIDTH * 8) </span></div> -<div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec"> 392</a></span> <span class="preprocessor">#define DEVICE_SCREEN_PX_HEIGHT (DEVICE_SCREEN_HEIGHT * 8) </span></div> -<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0"> 357</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0">PCM34_REG</a>; </div> +<div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ac1c402357ccc5f6c3c451450b30ca959"> 358</a></span> <span class="preprocessor">#define rPCM34 PCM34_REG</span></div> +<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  </div> +<div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aaef0dc6aab2f821ab406fdbc643af48e"> 360</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_2hardware_8h.html#aaef0dc6aab2f821ab406fdbc643af48e">IE_REG</a>; </div> +<div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a52e850e75483f64ca070a33ee4877d47"> 361</a></span> <span class="preprocessor">#define rIE IE_REG</span></div> +<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  </div> +<div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa7ce989df75547f190d33cc85dce0187"> 363</a></span> <span class="preprocessor">#define IEF_HILO 0b00010000</span></div> +<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a921bdc6c640b74c8c41e65f27882c68a"> 364</a></span> <span class="preprocessor">#define IEF_SERIAL 0b00001000</span></div> +<div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a7c06fa33152a235baf273f1828dfa0a4"> 365</a></span> <span class="preprocessor">#define IEF_TIMER 0b00000100</span></div> +<div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a2eec77ca1b8730b410a7075c5a9c189e"> 366</a></span> <span class="preprocessor">#define IEF_STAT 0b00000010</span></div> +<div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3b8d7fece663511d5778136a5ca0070b"> 367</a></span> <span class="preprocessor">#define IEF_VBLANK 0b00000001</span></div> +<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  </div> +<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  </div> +<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment">/* Square wave duty cycle */</span></div> +<div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a8a88b504914eed6c0c4d2853689487ba"> 371</a></span> <span class="preprocessor">#define AUDLEN_DUTY_12_5 0b00000000</span></div> +<div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a52e58c151c5910792e75f7eea7f7ddbb"> 372</a></span> <span class="preprocessor">#define AUDLEN_DUTY_25 0b01000000</span></div> +<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#abd862604a105aa2475223b06abfa8bfe"> 373</a></span> <span class="preprocessor">#define AUDLEN_DUTY_50 0b10000000</span></div> +<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a194e3432f1e4d5d23d4ea096cef783e5"> 374</a></span> <span class="preprocessor">#define AUDLEN_DUTY_75 0b11000000</span></div> +<div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a367f10d1cfcc04fdbfcb88f09b230bd3"> 375</a></span> <span class="preprocessor">#define AUDLEN_LENGTH(x) (x)</span></div> +<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  </div> +<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="comment">/* Audio envelope flags */</span></div> +<div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a7dab7d2ad1bf670875814d3029d54122"> 378</a></span> <span class="preprocessor">#define AUDENV_VOL(x) ((x) << 4)</span></div> +<div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a9f069f19e8a05d1f1114aaabf531739e"> 379</a></span> <span class="preprocessor">#define AUDENV_UP 0b00001000</span></div> +<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aa58f52563d21d56e79d422c544eeb13f"> 380</a></span> <span class="preprocessor">#define AUDENV_DOWN 0b00000000</span></div> +<div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad07fa5e19e334eee03c2fcb8671b2ed3"> 381</a></span> <span class="preprocessor">#define AUDENV_LENGTH(x) (x)</span></div> +<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  </div> +<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment">/* Audio trigger flags */</span></div> +<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a6d820a86bd30b531d5df5b27139ae92d"> 384</a></span> <span class="preprocessor">#define AUDHIGH_RESTART 0b10000000</span></div> +<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ab3325578cf7f7f67610353a62aba274e"> 385</a></span> <span class="preprocessor">#define AUDHIGH_LENGTH_ON 0b01000000</span></div> +<div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#afe4927e6bc7efa57461e3c3b84d242da"> 386</a></span> <span class="preprocessor">#define AUDHIGH_LENGTH_OFF 0b00000000</span></div> +<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  </div> +<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment">/* OAM attributes flags */</span></div> +<div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a393866ca405b1023eec0e784bb88b026"> 389</a></span> <span class="preprocessor">#define OAMF_PRI 0b10000000 </span></div> +<div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a820677d593625e8716c3b78f36feb805"> 390</a></span> <span class="preprocessor">#define OAMF_YFLIP 0b01000000 </span></div> +<div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a3cd1c1a1291d43dd43b181ff07f8b0a7"> 391</a></span> <span class="preprocessor">#define OAMF_XFLIP 0b00100000 </span></div> +<div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a22b6b835de9ee737be73c4d252aac87c"> 392</a></span> <span class="preprocessor">#define OAMF_PAL0 0b00000000 </span></div> +<div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad92f3b2a1cc16700a4660c5821bcb15d"> 393</a></span> <span class="preprocessor">#define OAMF_PAL1 0b00010000 </span></div> +<div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#aade9a193ade9ff22ed6f6263d1a3549b"> 394</a></span> <span class="preprocessor">#define OAMF_BANK0 0b00000000 </span></div> +<div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad195d4be68ff54c3926c431fa5511de5"> 395</a></span> <span class="preprocessor">#define OAMF_BANK1 0b00001000 </span></div> +<div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a4ff8c8a7acb74ba54043596110091605"> 397</a></span> <span class="preprocessor">#define OAMF_CGB_PAL0 0b00000000 </span></div> +<div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a9dff52d03755812d3a5ee7ca971c2e83"> 398</a></span> <span class="preprocessor">#define OAMF_CGB_PAL1 0b00000001 </span></div> +<div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a74744fb475532fa5d343e0818dcc6f88"> 399</a></span> <span class="preprocessor">#define OAMF_CGB_PAL2 0b00000010 </span></div> +<div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a704ab20694793ea87aace8bfc29568bc"> 400</a></span> <span class="preprocessor">#define OAMF_CGB_PAL3 0b00000011 </span></div> +<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a13d5cddfb4a05fa49fc794aeea675c7b"> 401</a></span> <span class="preprocessor">#define OAMF_CGB_PAL4 0b00000100 </span></div> +<div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af9284c71b8ebf10ef8b9e12268f2cce3"> 402</a></span> <span class="preprocessor">#define OAMF_CGB_PAL5 0b00000101 </span></div> +<div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad6f5b0d9ae958dee3d6dfa8f4273ff5a"> 403</a></span> <span class="preprocessor">#define OAMF_CGB_PAL6 0b00000110 </span></div> +<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af4b27e8f3c3e14a4f91051fea4c64e4b"> 404</a></span> <span class="preprocessor">#define OAMF_CGB_PAL7 0b00000111 </span></div> +<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a5dc4d1ee47fe269761fe8fc46d56dabb"> 406</a></span> <span class="preprocessor">#define OAMF_PALMASK 0b00000111 </span></div> +<div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a519e327cac96f68a8ca9b77e0343672f"> 408</a></span> <span class="preprocessor">#define DEVICE_SCREEN_X_OFFSET 0 </span></div> +<div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af334c0e7dd6e434b3dbebd45bcdeb75a"> 409</a></span> <span class="preprocessor">#define DEVICE_SCREEN_Y_OFFSET 0 </span></div> +<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#add7f32ba868ef6517798f5fce337e4b2"> 410</a></span> <span class="preprocessor">#define DEVICE_SCREEN_WIDTH 20 </span></div> +<div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad252264fdcf900e5fbf611f7a45962ed"> 411</a></span> <span class="preprocessor">#define DEVICE_SCREEN_HEIGHT 18 </span></div> +<div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a491dc081eae8c81e7ca88075ab806291"> 412</a></span> <span class="preprocessor">#define DEVICE_SCREEN_BUFFER_WIDTH 32 </span></div> +<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a81fb56b6778772f829dab4c534e7749e"> 413</a></span> <span class="preprocessor">#define DEVICE_SCREEN_BUFFER_HEIGHT 32 </span></div> +<div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a4d682ed7a6158c5ba10afec739b17a8a"> 414</a></span> <span class="preprocessor">#define DEVICE_SCREEN_MAP_ENTRY_SIZE 1 </span></div> +<div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#af531e7ac0c0a58517fa3061631745c31"> 415</a></span> <span class="preprocessor">#define DEVICE_SPRITE_PX_OFFSET_X 8 </span></div> +<div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a7f6c8420831388300bbec13ea4cb57a0"> 416</a></span> <span class="preprocessor">#define DEVICE_SPRITE_PX_OFFSET_Y 16 </span></div> +<div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d"> 417</a></span> <span class="preprocessor">#define DEVICE_SCREEN_PX_WIDTH (DEVICE_SCREEN_WIDTH * 8) </span></div> +<div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="gb_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec"> 418</a></span> <span class="preprocessor">#define DEVICE_SCREEN_PX_HEIGHT (DEVICE_SCREEN_HEIGHT * 8) </span></div> +<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div class="ttc" id="agb_2hardware_8h_html_ac1cf31cae6046360271ead6e8b7a6e87"><div class="ttname"><a href="gb_2hardware_8h.html#ac1cf31cae6046360271ead6e8b7a6e87">_RAM</a></div><div class="ttdeci">__BYTES _RAM[]</div><div class="ttdef"><b>Definition:</b> hardware.h:25</div></div> -<div class="ttc" id="agb_2hardware_8h_html_ac6d19ac313a99f41bd996e1ca5e43df0"><div class="ttname"><a href="gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0">PCM34_REG</a></div><div class="ttdeci">__REG PCM34_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:331</div></div> +<div class="ttc" id="agb_2hardware_8h_html_ac6d19ac313a99f41bd996e1ca5e43df0"><div class="ttname"><a href="gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0">PCM34_REG</a></div><div class="ttdeci">__REG PCM34_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:357</div></div> <div class="ttc" id="agb_2hardware_8h_html_a2f83a5f5daa6418c77756e32923aef5a"><div class="ttname"><a href="gb_2hardware_8h.html#a2f83a5f5daa6418c77756e32923aef5a">_RAMBANK</a></div><div class="ttdeci">__BYTES _RAMBANK[]</div><div class="ttdef"><b>Definition:</b> hardware.h:26</div></div> <div class="ttc" id="agb_2hardware_8h_html_a70db64bdd045a9df09b289fe9b28af22"><div class="ttname"><a href="gb_2hardware_8h.html#a70db64bdd045a9df09b289fe9b28af22">_AUD3WAVERAM</a></div><div class="ttdeci">__BYTE_REG _AUD3WAVERAM[]</div><div class="ttdef"><b>Definition:</b> hardware.h:29</div></div> <div class="ttc" id="agb_2hardware_8h_html_a0b42e4dadd74c927e8b801b4f42c0e44"><div class="ttname"><a href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a></div><div class="ttdeci">#define __REG</div><div class="ttdef"><b>Definition:</b> hardware.h:14</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a86cc170585319565195f2c163250be1f"><div class="ttname"><a href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a></div><div class="ttdeci">__REG SCX_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:261</div></div> -<div class="ttc" id="agb_2hardware_8h_html_ab16e97796d675205a027b1b28b52956e"><div class="ttname"><a href="gb_2hardware_8h.html#ab16e97796d675205a027b1b28b52956e">HDMA1_REG</a></div><div class="ttdeci">__REG HDMA1_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:288</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a3a2e883779980c1c37e780f47da4dd69"><div class="ttname"><a href="gb_2hardware_8h.html#a3a2e883779980c1c37e780f47da4dd69">HDMA4_REG</a></div><div class="ttdeci">__REG HDMA4_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:294</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a86cc170585319565195f2c163250be1f"><div class="ttname"><a href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a></div><div class="ttdeci">__REG SCX_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:287</div></div> +<div class="ttc" id="agb_2hardware_8h_html_ab16e97796d675205a027b1b28b52956e"><div class="ttname"><a href="gb_2hardware_8h.html#ab16e97796d675205a027b1b28b52956e">HDMA1_REG</a></div><div class="ttdeci">__REG HDMA1_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:314</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a3a2e883779980c1c37e780f47da4dd69"><div class="ttname"><a href="gb_2hardware_8h.html#a3a2e883779980c1c37e780f47da4dd69">HDMA4_REG</a></div><div class="ttdeci">__REG HDMA4_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:320</div></div> <div class="ttc" id="agb_2hardware_8h_html_ab6da3e2cdbac1331bef3f6de9c808ab1"><div class="ttname"><a href="gb_2hardware_8h.html#ab6da3e2cdbac1331bef3f6de9c808ab1">NR34_REG</a></div><div class="ttdeci">__REG NR34_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:119</div></div> <div class="ttc" id="agb_2hardware_8h_html_a659173ac2c8da7fd04bc77973eb95256"><div class="ttname"><a href="gb_2hardware_8h.html#a659173ac2c8da7fd04bc77973eb95256">TAC_REG</a></div><div class="ttdeci">__REG TAC_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:65</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a9da545164e049ef773128f869daece13"><div class="ttname"><a href="gb_2hardware_8h.html#a9da545164e049ef773128f869daece13">OBP1_REG</a></div><div class="ttdeci">__REG OBP1_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:273</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a9da545164e049ef773128f869daece13"><div class="ttname"><a href="gb_2hardware_8h.html#a9da545164e049ef773128f869daece13">OBP1_REG</a></div><div class="ttdeci">__REG OBP1_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:299</div></div> <div class="ttc" id="agb_2hardware_8h_html_a134e3f274c1e607b8c5ff5724860e288"><div class="ttname"><a href="gb_2hardware_8h.html#a134e3f274c1e607b8c5ff5724860e288">_IO</a></div><div class="ttdeci">__BYTE_REG _IO[]</div><div class="ttdef"><b>Definition:</b> hardware.h:28</div></div> <div class="ttc" id="agb_2hardware_8h_html_a73c94166161c33c61d63b3e4b5209cd0"><div class="ttname"><a href="gb_2hardware_8h.html#a73c94166161c33c61d63b3e4b5209cd0">_VRAM8000</a></div><div class="ttdeci">__BYTES _VRAM8000[]</div><div class="ttdef"><b>Definition:</b> hardware.h:19</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a57a94790cda8101a29c0d20086770f1b"><div class="ttname"><a href="gb_2hardware_8h.html#a57a94790cda8101a29c0d20086770f1b">HDMA3_REG</a></div><div class="ttdeci">__REG HDMA3_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:292</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a57a94790cda8101a29c0d20086770f1b"><div class="ttname"><a href="gb_2hardware_8h.html#a57a94790cda8101a29c0d20086770f1b">HDMA3_REG</a></div><div class="ttdeci">__REG HDMA3_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:318</div></div> <div class="ttc" id="agb_2hardware_8h_html_a04f9a36ab04334fcd21d2f50c125d5d0"><div class="ttname"><a href="gb_2hardware_8h.html#a04f9a36ab04334fcd21d2f50c125d5d0">P1_REG</a></div><div class="ttdeci">__REG P1_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:41</div></div> <div class="ttc" id="agb_2hardware_8h_html_a64dd59016e4f0e78672962fbc553a4b4"><div class="ttname"><a href="gb_2hardware_8h.html#a64dd59016e4f0e78672962fbc553a4b4">rRAMG</a></div><div class="ttdeci">__BYTE_REG rRAMG</div><div class="ttdef"><b>Definition:</b> hardware.h:34</div></div> <div class="ttc" id="agb_2hardware_8h_html_a849d2cff8df2655f86b294466bec40d6"><div class="ttname"><a href="gb_2hardware_8h.html#a849d2cff8df2655f86b294466bec40d6">NR44_REG</a></div><div class="ttdeci">__REG NR44_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:130</div></div> <div class="ttc" id="agb_2hardware_8h_html_ad859dc62b1df1584ade0cbb822a3e46f"><div class="ttname"><a href="gb_2hardware_8h.html#ad859dc62b1df1584ade0cbb822a3e46f">NR10_REG</a></div><div class="ttdeci">__REG NR10_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:87</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a28fa1ca08ef1c8ed97280bc5e60bdd99"><div class="ttname"><a href="gb_2hardware_8h.html#a28fa1ca08ef1c8ed97280bc5e60bdd99">BCPS_REG</a></div><div class="ttdeci">__REG BCPS_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:312</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a28fa1ca08ef1c8ed97280bc5e60bdd99"><div class="ttname"><a href="gb_2hardware_8h.html#a28fa1ca08ef1c8ed97280bc5e60bdd99">BCPS_REG</a></div><div class="ttdeci">__REG BCPS_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:338</div></div> <div class="ttc" id="agb_2hardware_8h_html_a0fb715973ee3edd1b525eb7f503e3b2a"><div class="ttname"><a href="gb_2hardware_8h.html#a0fb715973ee3edd1b525eb7f503e3b2a">SC_REG</a></div><div class="ttdeci">__REG SC_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:57</div></div> <div class="ttc" id="agb_2hardware_8h_html_a9d295bb437953de5ebcb3c12d65743aa"><div class="ttname"><a href="gb_2hardware_8h.html#a9d295bb437953de5ebcb3c12d65743aa">TIMA_REG</a></div><div class="ttdeci">__REG TIMA_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:61</div></div> <div class="ttc" id="agb_2hardware_8h_html_a014f3a9d7ce8f8026c9ac6c0410bb099"><div class="ttname"><a href="gb_2hardware_8h.html#a014f3a9d7ce8f8026c9ac6c0410bb099">rROMB1</a></div><div class="ttdeci">__BYTE_REG rROMB1</div><div class="ttdef"><b>Definition:</b> hardware.h:36</div></div> <div class="ttc" id="agb_2hardware_8h_html_a557833cc1671aa0bd71f33766b4e0f24"><div class="ttname"><a href="gb_2hardware_8h.html#a557833cc1671aa0bd71f33766b4e0f24">NR41_REG</a></div><div class="ttdeci">__REG NR41_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:122</div></div> -<div class="ttc" id="agb_2hardware_8h_html_aa128832cecec4e609517fe3daf044e5e"><div class="ttname"><a href="gb_2hardware_8h.html#aa128832cecec4e609517fe3daf044e5e">SVBK_REG</a></div><div class="ttdeci">__REG SVBK_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:324</div></div> +<div class="ttc" id="agb_2hardware_8h_html_aa128832cecec4e609517fe3daf044e5e"><div class="ttname"><a href="gb_2hardware_8h.html#aa128832cecec4e609517fe3daf044e5e">SVBK_REG</a></div><div class="ttdeci">__REG SVBK_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:350</div></div> <div class="ttc" id="agb_2hardware_8h_html_a52593a64863d51fbf5860b0d31448972"><div class="ttname"><a href="gb_2hardware_8h.html#a52593a64863d51fbf5860b0d31448972">NR43_REG</a></div><div class="ttdeci">__REG NR43_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:126</div></div> <div class="ttc" id="agb_2hardware_8h_html_a509a5d0f138b40830cb447a862573be5"><div class="ttname"><a href="gb_2hardware_8h.html#a509a5d0f138b40830cb447a862573be5">IF_REG</a></div><div class="ttdeci">__REG IF_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:84</div></div> <div class="ttc" id="agb_2hardware_8h_html_a85d8e680d4d40a918b4195d2a4fada2a"><div class="ttname"><a href="gb_2hardware_8h.html#a85d8e680d4d40a918b4195d2a4fada2a">NR30_REG</a></div><div class="ttdeci">__REG NR30_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:111</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a310aa43fbee2fd6b6b419df48acce1e0"><div class="ttname"><a href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0">WX_REG</a></div><div class="ttdeci">__REG WX_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:277</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a310aa43fbee2fd6b6b419df48acce1e0"><div class="ttname"><a href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0">WX_REG</a></div><div class="ttdeci">__REG WX_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:303</div></div> <div class="ttc" id="agb_2hardware_8h_html_a5f2da0d8200f44b6fd694c4a2bea820e"><div class="ttname"><a href="gb_2hardware_8h.html#a5f2da0d8200f44b6fd694c4a2bea820e">SB_REG</a></div><div class="ttdeci">__REG SB_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:55</div></div> <div class="ttc" id="agb_2hardware_8h_html_a6dd3af1c8e3c66409aa0bc889d98e171"><div class="ttname"><a href="gb_2hardware_8h.html#a6dd3af1c8e3c66409aa0bc889d98e171">NR21_REG</a></div><div class="ttdeci">__REG NR21_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:102</div></div> <div class="ttc" id="agb_2hardware_8h_html_a04c340d91842e8ee2b93922c2bcf39a4"><div class="ttname"><a href="gb_2hardware_8h.html#a04c340d91842e8ee2b93922c2bcf39a4">NR14_REG</a></div><div class="ttdeci">__REG NR14_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:99</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a5ccae0d556500e1055a0ec8de20c535a"><div class="ttname"><a href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a></div><div class="ttdeci">__REG VBK_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:286</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a5ccae0d556500e1055a0ec8de20c535a"><div class="ttname"><a href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a></div><div class="ttdeci">__REG VBK_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:312</div></div> <div class="ttc" id="agb_2hardware_8h_html_a3d30d4797321b403cd713d727fa3db6c"><div class="ttname"><a href="gb_2hardware_8h.html#a3d30d4797321b403cd713d727fa3db6c">NR13_REG</a></div><div class="ttdeci">__REG NR13_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:97</div></div> <div class="ttc" id="agb_2hardware_8h_html_ac429365dce851ca57d8fe4f7c54a1caa"><div class="ttname"><a href="gb_2hardware_8h.html#ac429365dce851ca57d8fe4f7c54a1caa">NR52_REG</a></div><div class="ttdeci">__REG NR52_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:153</div></div> <div class="ttc" id="agb_2hardware_8h_html_af1301c73bf93350045ba3a4887723ae8"><div class="ttname"><a href="gb_2hardware_8h.html#af1301c73bf93350045ba3a4887723ae8">NR22_REG</a></div><div class="ttdeci">__REG NR22_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:104</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a6515fdfaa50eeb7e63faeea54f77cd6b"><div class="ttname"><a href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b">LCDC_REG</a></div><div class="ttdeci">__REG LCDC_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:161</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a6515fdfaa50eeb7e63faeea54f77cd6b"><div class="ttname"><a href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b">LCDC_REG</a></div><div class="ttdeci">__REG LCDC_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:162</div></div> <div class="ttc" id="agb_2hardware_8h_html_a924fdf48f6ad020423f6309055314928"><div class="ttname"><a href="gb_2hardware_8h.html#a924fdf48f6ad020423f6309055314928">NR50_REG</a></div><div class="ttdeci">__REG NR50_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:133</div></div> -<div class="ttc" id="agb_2hardware_8h_html_aeb643bd4eac2e6e410cae2fae677c0a7"><div class="ttname"><a href="gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7">LY_REG</a></div><div class="ttdeci">__REG LY_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:263</div></div> +<div class="ttc" id="agb_2hardware_8h_html_aeb643bd4eac2e6e410cae2fae677c0a7"><div class="ttname"><a href="gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7">LY_REG</a></div><div class="ttdeci">__REG LY_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:289</div></div> <div class="ttc" id="agb_2hardware_8h_html_a7accf5feabd95a2d84c72f5915fff837"><div class="ttname"><a href="gb_2hardware_8h.html#a7accf5feabd95a2d84c72f5915fff837">NR12_REG</a></div><div class="ttdeci">__REG NR12_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:95</div></div> <div class="ttc" id="agb_2hardware_8h_html_a244ee6d8f6144be9b0f94602eddb6239"><div class="ttname"><a href="gb_2hardware_8h.html#a244ee6d8f6144be9b0f94602eddb6239">NR32_REG</a></div><div class="ttdeci">__REG NR32_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:115</div></div> <div class="ttc" id="agb_2hardware_8h_html_a7030908728e166877fba9065671deb02"><div class="ttname"><a href="gb_2hardware_8h.html#a7030908728e166877fba9065671deb02">_OAMRAM</a></div><div class="ttdeci">__BYTES _OAMRAM[]</div><div class="ttdef"><b>Definition:</b> hardware.h:27</div></div> <div class="ttc" id="agb_2hardware_8h_html_ab28f97eabd5f32d48ea27d97bd5dc64f"><div class="ttname"><a href="gb_2hardware_8h.html#ab28f97eabd5f32d48ea27d97bd5dc64f">NR51_REG</a></div><div class="ttdeci">__REG NR51_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:141</div></div> <div class="ttc" id="agb_2hardware_8h_html_ad53dc7f22b99fce195210a95f2749a72"><div class="ttname"><a href="gb_2hardware_8h.html#ad53dc7f22b99fce195210a95f2749a72">NR11_REG</a></div><div class="ttdeci">__REG NR11_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:93</div></div> -<div class="ttc" id="agb_2hardware_8h_html_ae13ce414d3fe7c98c1434918186dfc81"><div class="ttname"><a href="gb_2hardware_8h.html#ae13ce414d3fe7c98c1434918186dfc81">DMA_REG</a></div><div class="ttdeci">__REG DMA_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:267</div></div> -<div class="ttc" id="agb_2hardware_8h_html_af577ba87ec3d13d7415e4c4a53cdf997"><div class="ttname"><a href="gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997">BGP_REG</a></div><div class="ttdeci">__REG BGP_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:269</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a76532f8742d9dd8cb26d2ccfd9c37bbf"><div class="ttname"><a href="gb_2hardware_8h.html#a76532f8742d9dd8cb26d2ccfd9c37bbf">RP_REG</a></div><div class="ttdeci">__REG RP_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:304</div></div> +<div class="ttc" id="agb_2hardware_8h_html_ae13ce414d3fe7c98c1434918186dfc81"><div class="ttname"><a href="gb_2hardware_8h.html#ae13ce414d3fe7c98c1434918186dfc81">DMA_REG</a></div><div class="ttdeci">__REG DMA_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:293</div></div> +<div class="ttc" id="agb_2hardware_8h_html_af577ba87ec3d13d7415e4c4a53cdf997"><div class="ttname"><a href="gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997">BGP_REG</a></div><div class="ttdeci">__REG BGP_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:295</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a76532f8742d9dd8cb26d2ccfd9c37bbf"><div class="ttname"><a href="gb_2hardware_8h.html#a76532f8742d9dd8cb26d2ccfd9c37bbf">RP_REG</a></div><div class="ttdeci">__REG RP_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:330</div></div> <div class="ttc" id="agb_2hardware_8h_html_aea78f857e34370d7e1177a8bafe08148"><div class="ttname"><a href="gb_2hardware_8h.html#aea78f857e34370d7e1177a8bafe08148">NR31_REG</a></div><div class="ttdeci">__REG NR31_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:113</div></div> <div class="ttc" id="agb_2hardware_8h_html_a39e5a5b9afd2c2ca78de4aba7ccd071c"><div class="ttname"><a href="gb_2hardware_8h.html#a39e5a5b9afd2c2ca78de4aba7ccd071c">TMA_REG</a></div><div class="ttdeci">__REG TMA_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:63</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a428894ca3fd0bb4527b03bed551ff04c"><div class="ttname"><a href="gb_2hardware_8h.html#a428894ca3fd0bb4527b03bed551ff04c">PCM12_REG</a></div><div class="ttdeci">__REG PCM12_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:328</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a7279430d110acf02fa176d5f427a6491"><div class="ttname"><a href="gb_2hardware_8h.html#a7279430d110acf02fa176d5f427a6491">KEY1_REG</a></div><div class="ttdeci">__REG KEY1_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:279</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a428894ca3fd0bb4527b03bed551ff04c"><div class="ttname"><a href="gb_2hardware_8h.html#a428894ca3fd0bb4527b03bed551ff04c">PCM12_REG</a></div><div class="ttdeci">__REG PCM12_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:354</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a7279430d110acf02fa176d5f427a6491"><div class="ttname"><a href="gb_2hardware_8h.html#a7279430d110acf02fa176d5f427a6491">KEY1_REG</a></div><div class="ttdeci">__REG KEY1_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:305</div></div> <div class="ttc" id="agb_2hardware_8h_html_a09a4ae65605182c8b694197d3aea695e"><div class="ttname"><a href="gb_2hardware_8h.html#a09a4ae65605182c8b694197d3aea695e">_SRAM</a></div><div class="ttdeci">__BYTES _SRAM[]</div><div class="ttdef"><b>Definition:</b> hardware.h:24</div></div> -<div class="ttc" id="agb_2hardware_8h_html_ae24d0e88a1e1b8367ac1f5709d3e500c"><div class="ttname"><a href="gb_2hardware_8h.html#ae24d0e88a1e1b8367ac1f5709d3e500c">OCPD_REG</a></div><div class="ttdeci">__REG OCPD_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:322</div></div> +<div class="ttc" id="agb_2hardware_8h_html_ae24d0e88a1e1b8367ac1f5709d3e500c"><div class="ttname"><a href="gb_2hardware_8h.html#ae24d0e88a1e1b8367ac1f5709d3e500c">OCPD_REG</a></div><div class="ttdeci">__REG OCPD_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:348</div></div> <div class="ttc" id="agb_2hardware_8h_html_a668fd555c203361f5e4b835f05243102"><div class="ttname"><a href="gb_2hardware_8h.html#a668fd555c203361f5e4b835f05243102">_VRAM9000</a></div><div class="ttdeci">__BYTES _VRAM9000[]</div><div class="ttdef"><b>Definition:</b> hardware.h:21</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a1454ad6d5d04273eae1288af86deadac"><div class="ttname"><a href="gb_2hardware_8h.html#a1454ad6d5d04273eae1288af86deadac">HDMA5_REG</a></div><div class="ttdeci">__REG HDMA5_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:296</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a591084a506c33266b7d6cc3b4b8936ae"><div class="ttname"><a href="gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae">LYC_REG</a></div><div class="ttdeci">__REG LYC_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:265</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a1454ad6d5d04273eae1288af86deadac"><div class="ttname"><a href="gb_2hardware_8h.html#a1454ad6d5d04273eae1288af86deadac">HDMA5_REG</a></div><div class="ttdeci">__REG HDMA5_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:322</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a591084a506c33266b7d6cc3b4b8936ae"><div class="ttname"><a href="gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae">LYC_REG</a></div><div class="ttdeci">__REG LYC_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:291</div></div> <div class="ttc" id="agb_2hardware_8h_html_a01c768b60853c8eecdefc2cedfc8d672"><div class="ttname"><a href="gb_2hardware_8h.html#a01c768b60853c8eecdefc2cedfc8d672">NR33_REG</a></div><div class="ttdeci">__REG NR33_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:117</div></div> <div class="ttc" id="agb_2hardware_8h_html_afa1e18e47bf68ce68d7807fff6edf16b"><div class="ttname"><a href="gb_2hardware_8h.html#afa1e18e47bf68ce68d7807fff6edf16b">DIV_REG</a></div><div class="ttdeci">__REG DIV_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:59</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a13f3e89f7b92258d825292e5058815c7"><div class="ttname"><a href="gb_2hardware_8h.html#a13f3e89f7b92258d825292e5058815c7">OBP0_REG</a></div><div class="ttdeci">__REG OBP0_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:271</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a1fc8ff37ffe1c431364e1ef7c3961b30"><div class="ttname"><a href="gb_2hardware_8h.html#a1fc8ff37ffe1c431364e1ef7c3961b30">BCPD_REG</a></div><div class="ttdeci">__REG BCPD_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:316</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a13f3e89f7b92258d825292e5058815c7"><div class="ttname"><a href="gb_2hardware_8h.html#a13f3e89f7b92258d825292e5058815c7">OBP0_REG</a></div><div class="ttdeci">__REG OBP0_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:297</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a1fc8ff37ffe1c431364e1ef7c3961b30"><div class="ttname"><a href="gb_2hardware_8h.html#a1fc8ff37ffe1c431364e1ef7c3961b30">BCPD_REG</a></div><div class="ttdeci">__REG BCPD_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:342</div></div> <div class="ttc" id="agb_2hardware_8h_html_a3b39604bdf93a32e9ff965c1a55f0df8"><div class="ttname"><a href="gb_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8">__BYTE_REG</a></div><div class="ttdeci">#define __BYTE_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:13</div></div> <div class="ttc" id="agb_2hardware_8h_html_a6676e579a5e421adfb3d3e2d470d9ab6"><div class="ttname"><a href="gb_2hardware_8h.html#a6676e579a5e421adfb3d3e2d470d9ab6">NR24_REG</a></div><div class="ttdeci">__REG NR24_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:108</div></div> <div class="ttc" id="agb_2hardware_8h_html_a7bb32ac86e3fbf5f869410ba42620616"><div class="ttname"><a href="gb_2hardware_8h.html#a7bb32ac86e3fbf5f869410ba42620616">NR23_REG</a></div><div class="ttdeci">__REG NR23_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:106</div></div> -<div class="ttc" id="agb_2hardware_8h_html_aaef0dc6aab2f821ab406fdbc643af48e"><div class="ttname"><a href="gb_2hardware_8h.html#aaef0dc6aab2f821ab406fdbc643af48e">IE_REG</a></div><div class="ttdeci">__REG IE_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:334</div></div> +<div class="ttc" id="agb_2hardware_8h_html_aaef0dc6aab2f821ab406fdbc643af48e"><div class="ttname"><a href="gb_2hardware_8h.html#aaef0dc6aab2f821ab406fdbc643af48e">IE_REG</a></div><div class="ttdeci">__REG IE_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:360</div></div> <div class="ttc" id="agb_2hardware_8h_html_aea9200b29be90b58417787720cdf750b"><div class="ttname"><a href="gb_2hardware_8h.html#aea9200b29be90b58417787720cdf750b">_VRAM</a></div><div class="ttdeci">__BYTES _VRAM[]</div><div class="ttdef"><b>Definition:</b> hardware.h:18</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a1686d2457eb4ad834bb75fb81c86aed8"><div class="ttname"><a href="gb_2hardware_8h.html#a1686d2457eb4ad834bb75fb81c86aed8">OCPS_REG</a></div><div class="ttdeci">__REG OCPS_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:318</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a1686d2457eb4ad834bb75fb81c86aed8"><div class="ttname"><a href="gb_2hardware_8h.html#a1686d2457eb4ad834bb75fb81c86aed8">OCPS_REG</a></div><div class="ttdeci">__REG OCPS_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:344</div></div> <div class="ttc" id="agb_2hardware_8h_html_ae0976a29e341edc6ceb810e6eb0328f1"><div class="ttname"><a href="gb_2hardware_8h.html#ae0976a29e341edc6ceb810e6eb0328f1">rROMB0</a></div><div class="ttdeci">__BYTE_REG rROMB0</div><div class="ttdef"><b>Definition:</b> hardware.h:35</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a1c8d52607616ef37da335447e4cbe850"><div class="ttname"><a href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850">WY_REG</a></div><div class="ttdeci">__REG WY_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:275</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a1c8d52607616ef37da335447e4cbe850"><div class="ttname"><a href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850">WY_REG</a></div><div class="ttdeci">__REG WY_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:301</div></div> <div class="ttc" id="agb_2hardware_8h_html_a472e3b0909a2f0878f643e9968b871ef"><div class="ttname"><a href="gb_2hardware_8h.html#a472e3b0909a2f0878f643e9968b871ef">_HRAM</a></div><div class="ttdeci">__BYTE_REG _HRAM[]</div><div class="ttdef"><b>Definition:</b> hardware.h:30</div></div> <div class="ttc" id="agb_2hardware_8h_html_ac2985dbccb16c4c00381d6fbe9600aff"><div class="ttname"><a href="gb_2hardware_8h.html#ac2985dbccb16c4c00381d6fbe9600aff">rRAMB</a></div><div class="ttdeci">__BYTE_REG rRAMB</div><div class="ttdef"><b>Definition:</b> hardware.h:37</div></div> <div class="ttc" id="agb_2hardware_8h_html_a2fe41a6e0abb211cc00a8fca90543966"><div class="ttname"><a href="gb_2hardware_8h.html#a2fe41a6e0abb211cc00a8fca90543966">AUD3WAVE</a></div><div class="ttdeci">__BYTE_REG AUD3WAVE[16]</div><div class="ttdef"><b>Definition:</b> hardware.h:159</div></div> -<div class="ttc" id="agb_2hardware_8h_html_ad40ebf3b29add46cdd310a7e0802bc6b"><div class="ttname"><a href="gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b">STAT_REG</a></div><div class="ttdeci">__REG STAT_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:216</div></div> +<div class="ttc" id="agb_2hardware_8h_html_ad40ebf3b29add46cdd310a7e0802bc6b"><div class="ttname"><a href="gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b">STAT_REG</a></div><div class="ttdeci">__REG STAT_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:242</div></div> <div class="ttc" id="agb_2hardware_8h_html_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3"><div class="ttname"><a href="gb_2hardware_8h.html#ab2767d5f8f0ad35d8c8ee0bb3f4c51c3">__BYTES</a></div><div class="ttdeci">#define __BYTES</div><div class="ttdef"><b>Definition:</b> hardware.h:12</div></div> <div class="ttc" id="agb_2hardware_8h_html_ac5b9d1761bb972948fe10637dfaa94a7"><div class="ttname"><a href="gb_2hardware_8h.html#ac5b9d1761bb972948fe10637dfaa94a7">_SCRN0</a></div><div class="ttdeci">__BYTES _SCRN0[]</div><div class="ttdef"><b>Definition:</b> hardware.h:22</div></div> <div class="ttc" id="agb_2hardware_8h_html_afff31f511127bf7ba1bd3b6bc740aee8"><div class="ttname"><a href="gb_2hardware_8h.html#afff31f511127bf7ba1bd3b6bc740aee8">_SCRN1</a></div><div class="ttdeci">__BYTES _SCRN1[]</div><div class="ttdef"><b>Definition:</b> hardware.h:23</div></div> <div class="ttc" id="agb_2hardware_8h_html_aba3d9fb63552bc02ec879696b581adac"><div class="ttname"><a href="gb_2hardware_8h.html#aba3d9fb63552bc02ec879696b581adac">NR42_REG</a></div><div class="ttdeci">__REG NR42_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:124</div></div> <div class="ttc" id="agb_2hardware_8h_html_af763563b6123ef29d73931f616969049"><div class="ttname"><a href="gb_2hardware_8h.html#af763563b6123ef29d73931f616969049">_VRAM8800</a></div><div class="ttdeci">__BYTES _VRAM8800[]</div><div class="ttdef"><b>Definition:</b> hardware.h:20</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a244b162cf13bbcb4fe842d7e298b39c2"><div class="ttname"><a href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a></div><div class="ttdeci">__REG SCY_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:259</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a801400d58ab7d862742e43b49fa68c8d"><div class="ttname"><a href="gb_2hardware_8h.html#a801400d58ab7d862742e43b49fa68c8d">HDMA2_REG</a></div><div class="ttdeci">__REG HDMA2_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:290</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a271367a0bf840e5422b3a7ed541776f8"><div class="ttname"><a href="gb_2hardware_8h.html#a271367a0bf840e5422b3a7ed541776f8">PCM_SAMPLE</a></div><div class="ttdeci">__BYTE_REG PCM_SAMPLE[16]</div><div class="ttdef"><b>Definition:</b> hardware.h:160</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a244b162cf13bbcb4fe842d7e298b39c2"><div class="ttname"><a href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a></div><div class="ttdeci">__REG SCY_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:285</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a801400d58ab7d862742e43b49fa68c8d"><div class="ttname"><a href="gb_2hardware_8h.html#a801400d58ab7d862742e43b49fa68c8d">HDMA2_REG</a></div><div class="ttdeci">__REG HDMA2_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:316</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/gb_2metasprites_8h.html b/docs/api/gb_2metasprites_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -122,8 +123,8 @@ Typedefs</h2></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:aa01862cdcf50742c46c819668500b76b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2metasprites_8h.html#aa01862cdcf50742c46c819668500b76b">hide_sprites_range</a> (<a class="el" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> from, <a class="el" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> to) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:aa01862cdcf50742c46c819668500b76b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a77bb622fa362f2e04be1bafaa099a709"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2metasprites_8h.html#a77bb622fa362f2e04be1bafaa099a709">hide_sprites_range</a> (<a class="el" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> from, <a class="el" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> to) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a77bb622fa362f2e04be1bafaa099a709"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a77475e913bf0a19df28bdbf9d1cf392b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite</a> (const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *metasprite, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y)</td></tr> <tr class="separator:a77475e913bf0a19df28bdbf9d1cf392b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa8ff2df0679ebb0b6e0a8f6d83127e1a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a">move_metasprite_vflip</a> (const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *metasprite, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y)</td></tr> @@ -168,7 +169,12 @@ Metasprites and sprite properties (including cgb palette)</h1> <p>How to use sprite property flags with metasprites:</p><ul> <li>Metsaprite structures can be copied into RAM so their property flags can be modified at runtime.</li> <li>The metasprite structures can have the property flags modified before compilation (such as with <code>-sp <props></code> in the <a class="el" href="docs_toolchain.html#utility_png2asset">png2asset</a> tool).</li> -<li>Update properties for the affected sprites after calling a move_metasprite_*() function. </li> +<li>Update properties for the affected sprites after calling a move_metasprite_*() function.</li> +</ul> +<p>The following functions are only available for Game Boy and related clone consoles due to lack of hardware support for sprite flipping in other consoles. See <a class="el" href="docs_supported_consoles.html#docs_consoles_supported_list">docs_consoles_supported_list</a></p><ul> +<li><a class="el" href="gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a">move_metasprite_vflip()</a></li> +<li><a class="el" href="gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46">move_metasprite_hflip()</a></li> +<li><a class="el" href="gb_2metasprites_8h.html#a32a61acd4a76d1de5814f7b94c8bc23f">move_metasprite_hvflip()</a> </li> </ul> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a id="a9f9f390a57460914e27c7604b7d8379a"></a> @@ -266,8 +272,8 @@ Metasprites and sprite properties (including cgb palette)</h1> </div> </div> <h2 class="groupheader">Function Documentation</h2> -<a id="aa01862cdcf50742c46c819668500b76b"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aa01862cdcf50742c46c819668500b76b">◆ </a></span>hide_sprites_range()</h2> +<a id="a77bb622fa362f2e04be1bafaa099a709"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a77bb622fa362f2e04be1bafaa099a709">◆ </a></span>hide_sprites_range()</h2> <div class="memitem"> <div class="memproto"> @@ -357,8 +363,7 @@ Metasprites and sprite properties (including cgb palette)</h1> <table class="params"> <tr><td class="paramname">metasprite</td><td>Pointer to the first struct of the metasprite (for the desired frame) </td></tr> <tr><td class="paramname">base_tile</td><td>Number of the first tile where the metasprite's tiles start </td></tr> - <tr><td class="paramname">base_sprite</td><td>Number of the first hardware sprite to be used by the metasprite <br /> - </td></tr> + <tr><td class="paramname">base_sprite</td><td>Number of the first hardware sprite to be used by the metasprite </td></tr> <tr><td class="paramname">x</td><td>Absolute x coordinate of the sprite </td></tr> <tr><td class="paramname">y</td><td>Absolute y coordinate of the sprite</td></tr> </table> @@ -430,8 +435,7 @@ Metasprites and sprite properties (including cgb palette)</h1> <table class="params"> <tr><td class="paramname">metasprite</td><td>Pointer to the first struct of the metasprite (for the desired frame) </td></tr> <tr><td class="paramname">base_tile</td><td>Number of the first tile where the metasprite's tiles start </td></tr> - <tr><td class="paramname">base_sprite</td><td>Number of the first hardware sprite to be used by the metasprite <br /> - </td></tr> + <tr><td class="paramname">base_sprite</td><td>Number of the first hardware sprite to be used by the metasprite </td></tr> <tr><td class="paramname">x</td><td>Absolute x coordinate of the sprite </td></tr> <tr><td class="paramname">y</td><td>Absolute y coordinate of the sprite</td></tr> </table> @@ -443,6 +447,7 @@ Metasprites and sprite properties (including cgb palette)</h1> <li>__current_base_tile = base_tile;</li> </ul> <p>Note: Overwrites OAM sprite properties (such as CGB palette), see <a class="el" href="gb_2metasprites_8h.html#metasprite_and_sprite_properties">Metasprites and sprite properties</a>.</p> +<p>This function is only available on Game Boy and related clone consoles.</p> <dl class="section return"><dt>Returns</dt><dd>Number of hardware sprites used to draw this metasprite</dd></dl> <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite()</a> </dd></dl> @@ -504,8 +509,7 @@ Metasprites and sprite properties (including cgb palette)</h1> <table class="params"> <tr><td class="paramname">metasprite</td><td>Pointer to the first struct of the metasprite (for the desired frame) </td></tr> <tr><td class="paramname">base_tile</td><td>Number of the first tile where the metasprite's tiles start </td></tr> - <tr><td class="paramname">base_sprite</td><td>Number of the first hardware sprite to be used by the metasprite <br /> - </td></tr> + <tr><td class="paramname">base_sprite</td><td>Number of the first hardware sprite to be used by the metasprite </td></tr> <tr><td class="paramname">x</td><td>Absolute x coordinate of the sprite </td></tr> <tr><td class="paramname">y</td><td>Absolute y coordinate of the sprite</td></tr> </table> @@ -517,6 +521,7 @@ Metasprites and sprite properties (including cgb palette)</h1> <li>__current_base_tile = base_tile;</li> </ul> <p>Note: Overwrites OAM sprite properties (such as CGB palette), see <a class="el" href="gb_2metasprites_8h.html#metasprite_and_sprite_properties">Metasprites and sprite properties</a>.</p> +<p>This function is only available on Game Boy and related clone consoles.</p> <dl class="section return"><dt>Returns</dt><dd>Number of hardware sprites used to draw this metasprite</dd></dl> <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite()</a> </dd></dl> @@ -578,8 +583,7 @@ Metasprites and sprite properties (including cgb palette)</h1> <table class="params"> <tr><td class="paramname">metasprite</td><td>Pointer to the first struct of the metasprite (for the desired frame) </td></tr> <tr><td class="paramname">base_tile</td><td>Number of the first tile where the metasprite's tiles start </td></tr> - <tr><td class="paramname">base_sprite</td><td>Number of the first hardware sprite to be used by the metasprite <br /> - </td></tr> + <tr><td class="paramname">base_sprite</td><td>Number of the first hardware sprite to be used by the metasprite </td></tr> <tr><td class="paramname">x</td><td>Absolute x coordinate of the sprite </td></tr> <tr><td class="paramname">y</td><td>Absolute y coordinate of the sprite</td></tr> </table> @@ -591,6 +595,7 @@ Metasprites and sprite properties (including cgb palette)</h1> <li>__current_base_tile = base_tile;</li> </ul> <p>Note: Overwrites OAM sprite properties (such as CGB palette), see <a class="el" href="gb_2metasprites_8h.html#metasprite_and_sprite_properties">Metasprites and sprite properties</a>.</p> +<p>This function is only available on Game Boy and related clone consoles.</p> <dl class="section return"><dt>Returns</dt><dd>Number of hardware sprites used to draw this metasprite</dd></dl> <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite()</a> </dd></dl> diff --git a/docs/api/gb_2metasprites_8h.js b/docs/api/gb_2metasprites_8h.js @@ -5,7 +5,7 @@ var gb_2metasprites_8h = [ "METASPR_ITEM", "gb_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa", null ], [ "METASPR_TERM", "gb_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a", null ], [ "metasprite_t", "gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3", null ], - [ "hide_sprites_range", "gb_2metasprites_8h.html#aa01862cdcf50742c46c819668500b76b", null ], + [ "hide_sprites_range", "gb_2metasprites_8h.html#a77bb622fa362f2e04be1bafaa099a709", null ], [ "move_metasprite", "gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b", null ], [ "move_metasprite_vflip", "gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a", null ], [ "move_metasprite_hflip", "gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46", null ], diff --git a/docs/api/gb_2metasprites_8h_source.html b/docs/api/gb_2metasprites_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -90,92 +91,93 @@ $(document).ready(function(){initNavTree('gb_2metasprites_8h_source.html',''); i </div><!--header--> <div class="contents"> <a href="gb_2metasprites_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>  </div> -<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#ifndef _METASPRITES_H_INCLUDE</span></div> -<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#define _METASPRITES_H_INCLUDE</span></div> -<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  </div> -<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include <<a class="code" href="gb_2hardware_8h.html">gb/hardware.h</a>></span></div> -<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include <types.h></span></div> -<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include <<a class="code" href="stdint_8h.html">stdint.h</a>></span></div> -<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  </div> -<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="structmetasprite__t.html"> 80</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structmetasprite__t.html">metasprite_t</a> {</div> -<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb"> 81</a></span>  <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb">dy</a>, <a class="code" href="structmetasprite__t.html#a67d2a6fb62059da39b54e975c4fbb324">dx</a>;</div> -<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f"> 82</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f">dtile</a>;</div> -<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="structmetasprite__t.html#ab61e73a65c5e8cb30d0d81bb7845d615"> 83</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structmetasprite__t.html#ab61e73a65c5e8cb30d0d81bb7845d615">props</a>;</div> -<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3"> 84</a></span> } <a class="code" href="gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3">metasprite_t</a>;</div> -<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  </div> -<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a"> 86</a></span> <span class="preprocessor">#define metasprite_end -128 </span></div> -<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa"> 87</a></span> <span class="preprocessor">#define METASPR_ITEM(dy,dx,dt,a) {(dy),(dx),(dt),(a)}</span></div> -<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a"> 88</a></span> <span class="preprocessor">#define METASPR_TERM {metasprite_end}</span></div> -<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  </div> -<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">void</span> * <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a>;</div> -<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a>;</div> -<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39">__render_shadow_OAM</a>;</div> -<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  </div> -<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  </div> -<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">static</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> __move_metasprite(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">static</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> __move_metasprite_vflip(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">static</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> __move_metasprite_hflip(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">static</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> __move_metasprite_hvflip(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">static</span> <span class="keywordtype">void</span> __hide_metasprite(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#ifndef _METASPRITES_H_INCLUDE</span></div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#define _METASPRITES_H_INCLUDE</span></div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  </div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#include <<a class="code" href="gb_2hardware_8h.html">gb/hardware.h</a>></span></div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#include <types.h></span></div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#include <<a class="code" href="stdint_8h.html">stdint.h</a>></span></div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  </div> +<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structmetasprite__t.html"> 87</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structmetasprite__t.html">metasprite_t</a> {</div> +<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb"> 88</a></span>  <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb">dy</a>, <a class="code" href="structmetasprite__t.html#a67d2a6fb62059da39b54e975c4fbb324">dx</a>;</div> +<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f"> 89</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f">dtile</a>;</div> +<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="structmetasprite__t.html#ab61e73a65c5e8cb30d0d81bb7845d615"> 90</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structmetasprite__t.html#ab61e73a65c5e8cb30d0d81bb7845d615">props</a>;</div> +<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3"> 91</a></span> } <a class="code" href="gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3">metasprite_t</a>;</div> +<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  </div> +<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a"> 93</a></span> <span class="preprocessor">#define metasprite_end -128</span></div> +<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa"> 94</a></span> <span class="preprocessor">#define METASPR_ITEM(dy,dx,dt,a) {(dy),(dx),(dt),(a)}</span></div> +<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a"> 95</a></span> <span class="preprocessor">#define METASPR_TERM {metasprite_end}</span></div> +<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  </div> +<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">void</span> * <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a>;</div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a>;</div> +<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39">__render_shadow_OAM</a>;</div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div> -<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#aa01862cdcf50742c46c819668500b76b"> 106</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_2metasprites_8h.html#aa01862cdcf50742c46c819668500b76b">hide_sprites_range</a>(<a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> from, <a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> to) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_2metasprites_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  </div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">static</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> __move_metasprite(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">static</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> __move_metasprite_vflip(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">static</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> __move_metasprite_hflip(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">static</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> __move_metasprite_hvflip(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">static</span> <span class="keywordtype">void</span> __hide_metasprite(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  </div> -<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b"> 130</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> -<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite; </div> -<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a> = base_tile;</div> -<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">return</span> __move_metasprite(base_sprite, x, y); </div> -<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> }</div> -<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  </div> -<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a"> 157</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a">move_metasprite_vflip</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> -<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite; </div> -<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a> = base_tile;</div> -<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> __move_metasprite_vflip(base_sprite, x - 8, y); </div> -<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div> -<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  </div> -<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  </div> -<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46"> 185</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46">move_metasprite_hflip</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> -<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite; </div> -<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a> = base_tile;</div> -<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">return</span> __move_metasprite_hflip(base_sprite, x, y - ((<a class="code" href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b">LCDC_REG</a> & 0x04U) ? 16 : 8) ); </div> -<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> }</div> -<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  </div> -<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#a32a61acd4a76d1de5814f7b94c8bc23f"> 212</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a32a61acd4a76d1de5814f7b94c8bc23f">move_metasprite_hvflip</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> -<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite; </div> -<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a> = base_tile;</div> -<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">return</span> __move_metasprite_hvflip(base_sprite, x - 8, y - ((<a class="code" href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b">LCDC_REG</a> & 0x04U) ? 16 : 8)); </div> -<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> }</div> -<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  </div> -<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906"> 227</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906">hide_metasprite</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite) {</div> -<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite; </div> -<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  __hide_metasprite(base_sprite);</div> -<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> }</div> -<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  </div> -<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#a77bb622fa362f2e04be1bafaa099a709"> 113</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_2metasprites_8h.html#a77bb622fa362f2e04be1bafaa099a709">hide_sprites_range</a>(<a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> from, <a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> to) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_2metasprites_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  </div> +<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b"> 137</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite;</div> +<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a> = base_tile;</div> +<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">return</span> __move_metasprite(base_sprite, x, y);</div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> }</div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  </div> +<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a"> 166</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a">move_metasprite_vflip</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> +<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite;</div> +<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a> = base_tile;</div> +<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">return</span> __move_metasprite_vflip(base_sprite, x - 8, y);</div> +<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> }</div> +<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  </div> +<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  </div> +<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46"> 196</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46">move_metasprite_hflip</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> +<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite;</div> +<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a> = base_tile;</div> +<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">return</span> __move_metasprite_hflip(base_sprite, x, y - ((<a class="code" href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b">LCDC_REG</a> & 0x04U) ? 16 : 8) );</div> +<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> }</div> +<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  </div> +<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#a32a61acd4a76d1de5814f7b94c8bc23f"> 225</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a32a61acd4a76d1de5814f7b94c8bc23f">move_metasprite_hvflip</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> +<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite;</div> +<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a> = base_tile;</div> +<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">return</span> __move_metasprite_hvflip(base_sprite, x - 8, y - ((<a class="code" href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b">LCDC_REG</a> & 0x04U) ? 16 : 8));</div> +<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> }</div> +<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  </div> +<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906"> 240</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906">hide_metasprite</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite) {</div> +<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite;</div> +<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  __hide_metasprite(base_sprite);</div> +<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div> +<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  </div> +<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_ab27e9918b538ce9d8ca692479b375b6a"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a></div><div class="ttdeci">unsigned char UINT8</div><div class="ttdef"><b>Definition:</b> types.h:43</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_ab27e9918b538ce9d8ca692479b375b6a"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a></div><div class="ttdeci">unsigned char UINT8</div><div class="ttdef"><b>Definition:</b> types.h:46</div></div> <div class="ttc" id="astdint_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div> <div class="ttc" id="astdint_8h_html_aef44329758059c91c76d334e8fc09700"><div class="ttname"><a href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a></div><div class="ttdeci">signed char int8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:43</div></div> -<div class="ttc" id="astructmetasprite__t_html"><div class="ttname"><a href="structmetasprite__t.html">metasprite_t</a></div><div class="ttdef"><b>Definition:</b> metasprites.h:80</div></div> -<div class="ttc" id="astructmetasprite__t_html_ab61e73a65c5e8cb30d0d81bb7845d615"><div class="ttname"><a href="structmetasprite__t.html#ab61e73a65c5e8cb30d0d81bb7845d615">metasprite_t::props</a></div><div class="ttdeci">uint8_t props</div><div class="ttdef"><b>Definition:</b> metasprites.h:83</div></div> -<div class="ttc" id="astructmetasprite__t_html_a2c3fea1f6b3354352823320c69a3e4bb"><div class="ttname"><a href="structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb">metasprite_t::dy</a></div><div class="ttdeci">int8_t dy</div><div class="ttdef"><b>Definition:</b> metasprites.h:81</div></div> -<div class="ttc" id="agb_2metasprites_8h_html_a32a61acd4a76d1de5814f7b94c8bc23f"><div class="ttname"><a href="gb_2metasprites_8h.html#a32a61acd4a76d1de5814f7b94c8bc23f">move_metasprite_hvflip</a></div><div class="ttdeci">uint8_t move_metasprite_hvflip(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> metasprites.h:212</div></div> -<div class="ttc" id="agb_2metasprites_8h_html_a27e3bb17d0458b60b1f0433f66301f46"><div class="ttname"><a href="gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46">move_metasprite_hflip</a></div><div class="ttdeci">uint8_t move_metasprite_hflip(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> metasprites.h:185</div></div> +<div class="ttc" id="astructmetasprite__t_html"><div class="ttname"><a href="structmetasprite__t.html">metasprite_t</a></div><div class="ttdef"><b>Definition:</b> metasprites.h:87</div></div> +<div class="ttc" id="astructmetasprite__t_html_ab61e73a65c5e8cb30d0d81bb7845d615"><div class="ttname"><a href="structmetasprite__t.html#ab61e73a65c5e8cb30d0d81bb7845d615">metasprite_t::props</a></div><div class="ttdeci">uint8_t props</div><div class="ttdef"><b>Definition:</b> metasprites.h:90</div></div> +<div class="ttc" id="astructmetasprite__t_html_a2c3fea1f6b3354352823320c69a3e4bb"><div class="ttname"><a href="structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb">metasprite_t::dy</a></div><div class="ttdeci">int8_t dy</div><div class="ttdef"><b>Definition:</b> metasprites.h:88</div></div> +<div class="ttc" id="agb_2metasprites_8h_html_a32a61acd4a76d1de5814f7b94c8bc23f"><div class="ttname"><a href="gb_2metasprites_8h.html#a32a61acd4a76d1de5814f7b94c8bc23f">move_metasprite_hvflip</a></div><div class="ttdeci">uint8_t move_metasprite_hvflip(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> metasprites.h:225</div></div> +<div class="ttc" id="agb_2metasprites_8h_html_a27e3bb17d0458b60b1f0433f66301f46"><div class="ttname"><a href="gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46">move_metasprite_hflip</a></div><div class="ttdeci">uint8_t move_metasprite_hflip(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> metasprites.h:196</div></div> <div class="ttc" id="agb_2metasprites_8h_html_a345fa52509387bd18a4092178a18286f"><div class="ttname"><a href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a></div><div class="ttdeci">uint8_t __current_base_tile</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a6515fdfaa50eeb7e63faeea54f77cd6b"><div class="ttname"><a href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b">LCDC_REG</a></div><div class="ttdeci">__REG LCDC_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:161</div></div> -<div class="ttc" id="astructmetasprite__t_html_a67d2a6fb62059da39b54e975c4fbb324"><div class="ttname"><a href="structmetasprite__t.html#a67d2a6fb62059da39b54e975c4fbb324">metasprite_t::dx</a></div><div class="ttdeci">int8_t dx</div><div class="ttdef"><b>Definition:</b> metasprites.h:81</div></div> -<div class="ttc" id="agb_2metasprites_8h_html_a77475e913bf0a19df28bdbf9d1cf392b"><div class="ttname"><a href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite</a></div><div class="ttdeci">uint8_t move_metasprite(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> metasprites.h:130</div></div> -<div class="ttc" id="agb_2metasprites_8h_html_af8de5a888d65448b9d34027a0e1ce906"><div class="ttname"><a href="gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906">hide_metasprite</a></div><div class="ttdeci">void hide_metasprite(const metasprite_t *metasprite, uint8_t base_sprite)</div><div class="ttdef"><b>Definition:</b> metasprites.h:227</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a6515fdfaa50eeb7e63faeea54f77cd6b"><div class="ttname"><a href="gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b">LCDC_REG</a></div><div class="ttdeci">__REG LCDC_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:162</div></div> +<div class="ttc" id="astructmetasprite__t_html_a67d2a6fb62059da39b54e975c4fbb324"><div class="ttname"><a href="structmetasprite__t.html#a67d2a6fb62059da39b54e975c4fbb324">metasprite_t::dx</a></div><div class="ttdeci">int8_t dx</div><div class="ttdef"><b>Definition:</b> metasprites.h:88</div></div> +<div class="ttc" id="agb_2metasprites_8h_html_a77475e913bf0a19df28bdbf9d1cf392b"><div class="ttname"><a href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite</a></div><div class="ttdeci">uint8_t move_metasprite(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> metasprites.h:137</div></div> +<div class="ttc" id="agb_2metasprites_8h_html_af8de5a888d65448b9d34027a0e1ce906"><div class="ttname"><a href="gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906">hide_metasprite</a></div><div class="ttdeci">void hide_metasprite(const metasprite_t *metasprite, uint8_t base_sprite)</div><div class="ttdef"><b>Definition:</b> metasprites.h:240</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> +<div class="ttc" id="agb_2metasprites_8h_html_a77bb622fa362f2e04be1bafaa099a709"><div class="ttname"><a href="gb_2metasprites_8h.html#a77bb622fa362f2e04be1bafaa099a709">hide_sprites_range</a></div><div class="ttdeci">void hide_sprites_range(UINT8 from, UINT8 to) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="agb_2metasprites_8h_html_aba6401cc8173158a9f37ee22094c03d3"><div class="ttname"><a href="gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3">metasprite_t</a></div><div class="ttdeci">struct metasprite_t metasprite_t</div></div> -<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:585</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:608</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> <div class="ttc" id="agb_2hardware_8h_html"><div class="ttname"><a href="gb_2hardware_8h.html">hardware.h</a></div></div> -<div class="ttc" id="agb_2metasprites_8h_html_aa01862cdcf50742c46c819668500b76b"><div class="ttname"><a href="gb_2metasprites_8h.html#aa01862cdcf50742c46c819668500b76b">hide_sprites_range</a></div><div class="ttdeci">void hide_sprites_range(UINT8 from, UINT8 to) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_2metasprites_8h_html_aa8ff2df0679ebb0b6e0a8f6d83127e1a"><div class="ttname"><a href="gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a">move_metasprite_vflip</a></div><div class="ttdeci">uint8_t move_metasprite_vflip(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> metasprites.h:157</div></div> +<div class="ttc" id="agb_2metasprites_8h_html_aa8ff2df0679ebb0b6e0a8f6d83127e1a"><div class="ttname"><a href="gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a">move_metasprite_vflip</a></div><div class="ttdeci">uint8_t move_metasprite_vflip(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> metasprites.h:166</div></div> <div class="ttc" id="agb_2metasprites_8h_html_aae51f066cc5436457f62351847bfc64b"><div class="ttname"><a href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a></div><div class="ttdeci">const void * __current_metasprite</div></div> -<div class="ttc" id="astructmetasprite__t_html_ad68b2f80c08f2f7fc603c56af2e75a6f"><div class="ttname"><a href="structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f">metasprite_t::dtile</a></div><div class="ttdeci">uint8_t dtile</div><div class="ttdef"><b>Definition:</b> metasprites.h:82</div></div> -<div class="ttc" id="agb_2metasprites_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="gb_2metasprites_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">void c</div><div class="ttdef"><b>Definition:</b> metasprites.h:106</div></div> +<div class="ttc" id="astructmetasprite__t_html_ad68b2f80c08f2f7fc603c56af2e75a6f"><div class="ttname"><a href="structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f">metasprite_t::dtile</a></div><div class="ttdeci">uint8_t dtile</div><div class="ttdef"><b>Definition:</b> metasprites.h:89</div></div> +<div class="ttc" id="aasm_2types_8h_html_acb825e83a33fcc06482c59b4ab2cf961"><div class="ttname"><a href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a></div><div class="ttdeci">#define PRESERVES_REGS(...)</div><div class="ttdef"><b>Definition:</b> types.h:29</div></div> +<div class="ttc" id="agb_2metasprites_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="gb_2metasprites_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">void c</div><div class="ttdef"><b>Definition:</b> metasprites.h:113</div></div> <div class="ttc" id="agb_2metasprites_8h_html_a4bfe4d95031b67951cf6bc342110db39"><div class="ttname"><a href="gb_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39">__render_shadow_OAM</a></div><div class="ttdeci">uint8_t __render_shadow_OAM</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> diff --git a/docs/api/gb_8h.html b/docs/api/gb_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -211,6 +212,8 @@ Macros</h2></td></tr> <tr class="separator:a086293f2afb4c7945460a4496b20aea3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a261bba55a07b802baf99346feadd9852"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a261bba55a07b802baf99346feadd9852">BANKREF_EXTERN</a>(VARNAME)   extern const void __bank_ ## VARNAME;</td></tr> <tr class="separator:a261bba55a07b802baf99346feadd9852"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a3fca2d0a22aa2717e62fed659caf4743"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a3fca2d0a22aa2717e62fed659caf4743">SWITCH_ROM_MEGADUCK</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)    <a class="el" href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a">_current_bank</a> = (<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>), *(<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *)0x0001 = (<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)</td></tr> +<tr class="separator:a3fca2d0a22aa2717e62fed659caf4743"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a19558f5bbc9fea767f945001ae9cd13f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f">SWITCH_ROM_MBC1</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)    <a class="el" href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a">_current_bank</a> = (<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>), *(<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *)0x2000 = (<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)</td></tr> <tr class="separator:a19558f5bbc9fea767f945001ae9cd13f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1e22a3b60368bb5f3705d625ac2d09cc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc">SWITCH_ROM</a>   <a class="el" href="gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f">SWITCH_ROM_MBC1</a></td></tr> @@ -269,11 +272,11 @@ Macros</h2></td></tr> <tr class="separator:a67f80e65620470b55a4950e2966eb868"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab94bfec130df50d9cb808142f94603a5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ab94bfec130df50d9cb808142f94603a5">set_bkg_2bpp_data</a>   <a class="el" href="sms_8h.html#a8130306da1177f4fef89e699f8e2add4">set_bkg_data</a></td></tr> <tr class="separator:ab94bfec130df50d9cb808142f94603a5"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a55f82ff980398dd97036fd936ebd727e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a55f82ff980398dd97036fd936ebd727e">set_tile_map</a>   <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a></td></tr> +<tr class="memitem:a55f82ff980398dd97036fd936ebd727e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a55f82ff980398dd97036fd936ebd727e">set_tile_map</a>   <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a></td></tr> <tr class="separator:a55f82ff980398dd97036fd936ebd727e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adb5d0970167b81401113812773c90838"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#adb5d0970167b81401113812773c90838">set_tile_submap</a>   <a class="el" href="sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298">set_bkg_submap</a></td></tr> <tr class="separator:adb5d0970167b81401113812773c90838"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a3b235c526c517fb02d20cdea780ee2c5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a3b235c526c517fb02d20cdea780ee2c5">set_tile_xy</a>   <a class="el" href="gb_8h.html#afdacbb553ea16fd0a3a96698be7668f8">set_bkg_tile_xy</a></td></tr> +<tr class="memitem:a3b235c526c517fb02d20cdea780ee2c5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a3b235c526c517fb02d20cdea780ee2c5">set_tile_xy</a>   <a class="el" href="gb_8h.html#a74ee8f0a3495508c90de4ce246b81060">set_bkg_tile_xy</a></td></tr> <tr class="separator:a3b235c526c517fb02d20cdea780ee2c5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a43b4f0ba65856deef626c0d9e7e41ed4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4">set_sprite_2bpp_data</a>   <a class="el" href="sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39">set_sprite_data</a></td></tr> <tr class="separator:a43b4f0ba65856deef626c0d9e7e41ed4"><td class="memSeparator" colspan="2"> </td></tr> @@ -287,12 +290,12 @@ Macros</h2></td></tr> <tr class="separator:a77d516c9d3f86f100eddea5e0d133a76"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8b77608c87a9aef65a03531482b2163b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a8b77608c87a9aef65a03531482b2163b">MAX_HARDWARE_SPRITES</a>   40</td></tr> <tr class="separator:a8b77608c87a9aef65a03531482b2163b"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a47865835d7d007d71b4bc8ae5cefb73a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a47865835d7d007d71b4bc8ae5cefb73a">fill_rect</a>   <a class="el" href="gb_8h.html#ab22d0a3d624ff20198577c71aa755c19">fill_bkg_rect</a></td></tr> +<tr class="memitem:a47865835d7d007d71b4bc8ae5cefb73a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a47865835d7d007d71b4bc8ae5cefb73a">fill_rect</a>   <a class="el" href="gb_8h.html#a74c3f53fca019f7abcd1270650808849">fill_bkg_rect</a></td></tr> <tr class="separator:a47865835d7d007d71b4bc8ae5cefb73a"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> -<tr class="memitem:a9508f919d9482d1d51534ccac212454d"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>) (void) <a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> +<tr class="memitem:a9508f919d9482d1d51534ccac212454d"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>) (void) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> <tr class="separator:a9508f919d9482d1d51534ccac212454d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8e5ea12b86bdfc812448c2f5c4336c03"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_o_a_m__item__t.html">OAM_item_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03">OAM_item_t</a></td></tr> <tr class="separator:a8e5ea12b86bdfc812448c2f5c4336c03"><td class="memSeparator" colspan="2"> </td></tr> @@ -315,6 +318,8 @@ Functions</h2></td></tr> <tr class="separator:a9f9f77105099a34556247d5bb03368d1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a028d1a2e820951bb4f103d6469975ffb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a028d1a2e820951bb4f103d6469975ffb">add_TIM</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:a028d1a2e820951bb4f103d6469975ffb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a970f18857533e062f4780f6e1c407d69"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a970f18857533e062f4780f6e1c407d69">add_low_priority_TIM</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> +<tr class="separator:a970f18857533e062f4780f6e1c407d69"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa82422752016328ed0765879e286019f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#aa82422752016328ed0765879e286019f">add_SIO</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:aa82422752016328ed0765879e286019f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa2f0235e78da2d1d94d3628d7a1afc30"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30">add_JOY</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> @@ -327,100 +332,108 @@ Functions</h2></td></tr> <tr class="separator:ade5d4c955b871b0ed884273cc2b7215a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3ea524204d839377cf39842eec23e202"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a3ea524204d839377cf39842eec23e202">mode</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> m) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:a3ea524204d839377cf39842eec23e202"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a4ed6f21654895e40981802fdbe6b003d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a4ed6f21654895e40981802fdbe6b003d">get_mode</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a4ed6f21654895e40981802fdbe6b003d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a19969b36a6535fc6a966c0e5476baf9c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a19969b36a6535fc6a966c0e5476baf9c">get_mode</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a19969b36a6535fc6a966c0e5476baf9c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae339d7d8d7e0ebd6691b42608c416964"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964">send_byte</a> ()</td></tr> <tr class="separator:ae339d7d8d7e0ebd6691b42608c416964"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9a7fd7be44bb12bc85a144b732ce02f7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7">receive_byte</a> ()</td></tr> <tr class="separator:a9a7fd7be44bb12bc85a144b732ce02f7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2afae202a1f8ca59a12a6455bb909c5d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d">delay</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="el" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:a2afae202a1f8ca59a12a6455bb909c5d"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a15f46ef3d3443b452db0c38fc33bcfc1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a15f46ef3d3443b452db0c38fc33bcfc1"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ac4f9e19d2834988ff005106b3f5b2f05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ac4f9e19d2834988ff005106b3f5b2f05">waitpad</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> mask) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:ac4f9e19d2834988ff005106b3f5b2f05"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a7eeb5f1f697fefdcebd8e68355af4113"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a7eeb5f1f697fefdcebd8e68355af4113">waitpadup</a> () __preserves_regs(a</td></tr> -<tr class="separator:a7eeb5f1f697fefdcebd8e68355af4113"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a176c477d759b814664785f3a0ad5e253"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a176c477d759b814664785f3a0ad5e253">joypad</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a176c477d759b814664785f3a0ad5e253"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aae433db7d8e3ee4c095c254b8abd7b8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#aae433db7d8e3ee4c095c254b8abd7b8b">waitpad</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> mask) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:aae433db7d8e3ee4c095c254b8abd7b8b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a8484d346b788309ac702b7e0b1fca730"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a8484d346b788309ac702b7e0b1fca730">waitpadup</a> () <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(a</td></tr> +<tr class="separator:a8484d346b788309ac702b7e0b1fca730"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab7e35e1eff44ed78ad8f0015c6e85b4e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e">joypad_init</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> npads, <a class="el" href="structjoypads__t.html">joypads_t</a> *joypads) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:ab7e35e1eff44ed78ad8f0015c6e85b4e"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a5166ceebbaa646e2667df1a219c7b903"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a5166ceebbaa646e2667df1a219c7b903">joypad_ex</a> (<a class="el" href="structjoypads__t.html">joypads_t</a> *joypads) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a5166ceebbaa646e2667df1a219c7b903"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a8de3c5a1e5f74c380f2541dafc7b30ef"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef">enable_interrupts</a> () __preserves_regs(a</td></tr> -<tr class="separator:a8de3c5a1e5f74c380f2541dafc7b30ef"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a8a71c706c3eb1343196adf77f5825747"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a8a71c706c3eb1343196adf77f5825747">disable_interrupts</a> () __preserves_regs(a</td></tr> -<tr class="separator:a8a71c706c3eb1343196adf77f5825747"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a8d3bf80819fe94ed67b11bf85c7bfa54"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> flags) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a8d3bf80819fe94ed67b11bf85c7bfa54"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6e6f8eb1de2ae1ec9adeafbd7b9884db"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a6e6f8eb1de2ae1ec9adeafbd7b9884db">joypad_ex</a> (<a class="el" href="structjoypads__t.html">joypads_t</a> *joypads) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a6e6f8eb1de2ae1ec9adeafbd7b9884db"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ae0b13f17609b26c86fc33944aeb6e867"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867">enable_interrupts</a> () <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(a</td></tr> +<tr class="separator:ae0b13f17609b26c86fc33944aeb6e867"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ad77796783b3a601b6f3781dfc3983499"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ad77796783b3a601b6f3781dfc3983499">disable_interrupts</a> () <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(a</td></tr> +<tr class="separator:ad77796783b3a601b6f3781dfc3983499"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9312e7ec34162d6b6ed0875631fa6fe3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> flags) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a9312e7ec34162d6b6ed0875631fa6fe3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad20897c5c8bd47f5d4005989bead0e55"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55">reset</a> ()</td></tr> <tr class="separator:ad20897c5c8bd47f5d4005989bead0e55"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a68346350199018249bdf8019b7131514"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a68346350199018249bdf8019b7131514">wait_vbl_done</a> () __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a68346350199018249bdf8019b7131514"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a067f16eeb168f3ac9312a4766e7d2ff2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a067f16eeb168f3ac9312a4766e7d2ff2">display_off</a> () __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a067f16eeb168f3ac9312a4766e7d2ff2"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a7542d00af674e3c58b6c9887ab01919f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a7542d00af674e3c58b6c9887ab01919f">refresh_OAM</a> ()</td></tr> -<tr class="separator:a7542d00af674e3c58b6c9887ab01919f"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a08365da56dbc2a97c480818c0e6a62b9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a08365da56dbc2a97c480818c0e6a62b9">hiramcpy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> dst, const void *src, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> n) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a08365da56dbc2a97c480818c0e6a62b9"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a84e320d3c0b1eca4d0b81b848d096582"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a84e320d3c0b1eca4d0b81b848d096582">set_vram_byte</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *addr, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> v) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a84e320d3c0b1eca4d0b81b848d096582"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a6558dad88815aa73fb81fae2ae90473d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a6558dad88815aa73fb81fae2ae90473d">get_vram_byte</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *addr) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a6558dad88815aa73fb81fae2ae90473d"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a194b27b9e852e93ae0a4b55fae7fee6d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a194b27b9e852e93ae0a4b55fae7fee6d">get_bkg_xy_addr</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a194b27b9e852e93ae0a4b55fae7fee6d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acd186eb292d441f9389e77b545a55619"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#acd186eb292d441f9389e77b545a55619">wait_vbl_done</a> () <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:acd186eb292d441f9389e77b545a55619"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a04d57683cdd046dfa45e7e56d7c4ec4d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a04d57683cdd046dfa45e7e56d7c4ec4d">display_off</a> () <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a04d57683cdd046dfa45e7e56d7c4ec4d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a2550e7b6b9fd7e1fc495872502311dbb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a2550e7b6b9fd7e1fc495872502311dbb">refresh_OAM</a> () <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a2550e7b6b9fd7e1fc495872502311dbb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a97b9f2fc6ac7cae97656aca940d65d44"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44">hiramcpy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> dst, const void *src, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> n) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a97b9f2fc6ac7cae97656aca940d65d44"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a7080649e10765996c581e5b618e603b8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a7080649e10765996c581e5b618e603b8">set_vram_byte</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *addr, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> v) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a7080649e10765996c581e5b618e603b8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa33ba8b8d381df76edf15ea251ccb675"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#aa33ba8b8d381df76edf15ea251ccb675">get_vram_byte</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *addr) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:aa33ba8b8d381df76edf15ea251ccb675"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9005b80d3315f50f0fb0e1728e7ee60f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f">get_bkg_xy_addr</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a9005b80d3315f50f0fb0e1728e7ee60f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa224c9bac27c7fd268e62bdf33338a84"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> palette)</td></tr> <tr class="separator:aa224c9bac27c7fd268e62bdf33338a84"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1f00bd35cd56aac84c108f5a802c3f9c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c">set_1bpp_colors_ex</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> fgcolor, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> bgcolor, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a3ea524204d839377cf39842eec23e202">mode</a>) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:a1f00bd35cd56aac84c108f5a802c3f9c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adcb394299a1033616fc7d2faec8bd6ad"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad">set_1bpp_colors</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> fgcolor, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> bgcolor)</td></tr> <tr class="separator:adcb394299a1033616fc7d2faec8bd6ad"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a4d9b58a7682c3d9cbf4b974673c23d07"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a4d9b58a7682c3d9cbf4b974673c23d07"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a113055d93ba40767b676f172aa5cc996"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a113055d93ba40767b676f172aa5cc996">set_bkg_1bpp_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a113055d93ba40767b676f172aa5cc996"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a1207717410f1c9beb6a719eef400ffd7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a1207717410f1c9beb6a719eef400ffd7">get_bkg_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a1207717410f1c9beb6a719eef400ffd7"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a45cb12c6a672558e9a3792d11951707c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a45cb12c6a672558e9a3792d11951707c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a1f5101f2b7bb0123c26a3e257f843626"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a1f5101f2b7bb0123c26a3e257f843626"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a711fa26feecc76dc51482b0f77062859"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a711fa26feecc76dc51482b0f77062859">set_bkg_1bpp_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a711fa26feecc76dc51482b0f77062859"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5c13238dfec416439d75b133a272e6df"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a5c13238dfec416439d75b133a272e6df">get_bkg_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a5c13238dfec416439d75b133a272e6df"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6da9e2fa1bafd35363e84ee999909ec7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a6da9e2fa1bafd35363e84ee999909ec7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a811c386cac0df2d260aacb5a43608be5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a811c386cac0df2d260aacb5a43608be5">set_bkg_based_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile)</td></tr> +<tr class="separator:a811c386cac0df2d260aacb5a43608be5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adb21d1c7d533a7133bab36a845489780"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:adb21d1c7d533a7133bab36a845489780"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a68e4586e2401c1e39703571b5b8d934b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a68e4586e2401c1e39703571b5b8d934b">get_bkg_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a68e4586e2401c1e39703571b5b8d934b"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:afdacbb553ea16fd0a3a96698be7668f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#afdacbb553ea16fd0a3a96698be7668f8">set_bkg_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:afdacbb553ea16fd0a3a96698be7668f8"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a1a485dfade1a8f07232cbe669a1c1939"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a1a485dfade1a8f07232cbe669a1c1939">get_bkg_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a1a485dfade1a8f07232cbe669a1c1939"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:abc8bc5808620a9717263b8c9ec2237f0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0">set_bkg_based_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile)</td></tr> +<tr class="separator:abc8bc5808620a9717263b8c9ec2237f0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa6bcf24d97f93307b30f2906251f39a0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0">get_bkg_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:aa6bcf24d97f93307b30f2906251f39a0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a74ee8f0a3495508c90de4ce246b81060"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a74ee8f0a3495508c90de4ce246b81060">set_bkg_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a74ee8f0a3495508c90de4ce246b81060"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a55c6581dbe9300dc6df41730f090af51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a55c6581dbe9300dc6df41730f090af51">get_bkg_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a55c6581dbe9300dc6df41730f090af51"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6261537edc74068e3f7f057e6a3e8a57"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57">move_bkg</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y)</td></tr> <tr class="separator:a6261537edc74068e3f7f057e6a3e8a57"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1f583f7a880daa6145ca78b086a209d1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a1f583f7a880daa6145ca78b086a209d1">scroll_bkg</a> (<a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> x, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> y)</td></tr> <tr class="separator:a1f583f7a880daa6145ca78b086a209d1"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aea1d2b59419abf7c1a9b95bb278f7a6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#aea1d2b59419abf7c1a9b95bb278f7a6c">get_win_xy_addr</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:aea1d2b59419abf7c1a9b95bb278f7a6c"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a57879f3a7e7655a1bec4f44f5304f9dd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd">set_win_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a57879f3a7e7655a1bec4f44f5304f9dd"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a445fa9ede939ca486ae5268e826b3a44"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a445fa9ede939ca486ae5268e826b3a44">set_win_1bpp_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a445fa9ede939ca486ae5268e826b3a44"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ab6321884a3f9028ea0056851d4926919"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ab6321884a3f9028ea0056851d4926919">get_win_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:ab6321884a3f9028ea0056851d4926919"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aba807b33ddd5e18ecedc93b05338045e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#aba807b33ddd5e18ecedc93b05338045e">set_win_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:aba807b33ddd5e18ecedc93b05338045e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa8213cfad631865e3b6faec18e772cb4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#aa8213cfad631865e3b6faec18e772cb4">get_win_xy_addr</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:aa8213cfad631865e3b6faec18e772cb4"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ac2bf0c4919c30d322fa5853c896e710f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f">set_win_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:ac2bf0c4919c30d322fa5853c896e710f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acd5ee7a94059e6edbe9223f291bc2b46"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#acd5ee7a94059e6edbe9223f291bc2b46">set_win_1bpp_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:acd5ee7a94059e6edbe9223f291bc2b46"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a7ef32e7c1669aba48f235500a495baba"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a7ef32e7c1669aba48f235500a495baba">get_win_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a7ef32e7c1669aba48f235500a495baba"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5c59b4ee6323af9832998906d087266b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a5c59b4ee6323af9832998906d087266b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a739a212609ae60c9c56c095f96b4ea80"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a739a212609ae60c9c56c095f96b4ea80">set_win_based_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile)</td></tr> +<tr class="separator:a739a212609ae60c9c56c095f96b4ea80"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af80befa3cad9cae361c7cf4fffb3a8de"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:af80befa3cad9cae361c7cf4fffb3a8de"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a7cf5bd73a7493475e17f84995cf865bd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a7cf5bd73a7493475e17f84995cf865bd">get_win_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a7cf5bd73a7493475e17f84995cf865bd"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a78b307e0fde9289c2b1f4cd6aa0b763c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a78b307e0fde9289c2b1f4cd6aa0b763c">set_win_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a78b307e0fde9289c2b1f4cd6aa0b763c"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a82582e006a955d2c934786e9d7c29623"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a82582e006a955d2c934786e9d7c29623">get_win_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a82582e006a955d2c934786e9d7c29623"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a1b8a1026983cb2b2c0bd46334b4692a0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">set_win_based_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile)</td></tr> +<tr class="separator:a1b8a1026983cb2b2c0bd46334b4692a0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a8a469de4c6640f921254b336b5a6191a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a8a469de4c6640f921254b336b5a6191a">get_win_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a8a469de4c6640f921254b336b5a6191a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a0c70a53db1fbc0c99627da3f282befd8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a0c70a53db1fbc0c99627da3f282befd8">set_win_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a0c70a53db1fbc0c99627da3f282befd8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a2e29fdca81c28c627c2591029722e71c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a2e29fdca81c28c627c2591029722e71c">get_win_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a2e29fdca81c28c627c2591029722e71c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeef17768c494bcd6b67f7591329f7ff5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5">move_win</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y)</td></tr> <tr class="separator:aeef17768c494bcd6b67f7591329f7ff5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a12c2b5ac249d01caf1561cbbf3962044"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044">scroll_win</a> (<a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> x, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> y)</td></tr> <tr class="separator:a12c2b5ac249d01caf1561cbbf3962044"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ac40ffe4802ea41e5cee0ac3d4b254e08"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ac40ffe4802ea41e5cee0ac3d4b254e08">set_sprite_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:ac40ffe4802ea41e5cee0ac3d4b254e08"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a427965ccaaa956d51bf4e7f14cc39b0f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a427965ccaaa956d51bf4e7f14cc39b0f">set_sprite_1bpp_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a427965ccaaa956d51bf4e7f14cc39b0f"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:abc82930da7beb0611778f8644e90b5e9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#abc82930da7beb0611778f8644e90b5e9">get_sprite_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:abc82930da7beb0611778f8644e90b5e9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ae45b1c639698951b47e44fa8e89556f2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ae45b1c639698951b47e44fa8e89556f2">set_sprite_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:ae45b1c639698951b47e44fa8e89556f2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab3e60c92c9f8fbed855f8712187ea3ea"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ab3e60c92c9f8fbed855f8712187ea3ea">set_sprite_1bpp_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:ab3e60c92c9f8fbed855f8712187ea3ea"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:adcdec4034a14abc5be9bb88c29b947c9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#adcdec4034a14abc5be9bb88c29b947c9">get_sprite_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:adcdec4034a14abc5be9bb88c29b947c9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e0cdfd6b9a2ae1b7f30384f132d8687"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">SET_SHADOW_OAM_ADDRESS</a> (void *address)</td></tr> <tr class="separator:a7e0cdfd6b9a2ae1b7f30384f132d8687"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a05bf0b9f1328de7b568a19a2a428bcfe"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tile)</td></tr> @@ -437,30 +450,30 @@ Functions</h2></td></tr> <tr class="separator:a6c59aa9a4f9ea42bed6ca6940b2741fe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad22c51635d052399bbbe1777999c794d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb)</td></tr> <tr class="separator:ad22c51635d052399bbbe1777999c794d"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aa4dc1c2f6f54a564b719b2bd5a0b3c62"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#aa4dc1c2f6f54a564b719b2bd5a0b3c62">set_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:aa4dc1c2f6f54a564b719b2bd5a0b3c62"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a924aa554f639022be104392891e156cd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a924aa554f639022be104392891e156cd">get_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a924aa554f639022be104392891e156cd"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ac9f0aa82f8e34812a406263aad57d4d9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ac9f0aa82f8e34812a406263aad57d4d9">vmemcpy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *dest, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:ac9f0aa82f8e34812a406263aad57d4d9"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aeb241bfa1101cc1e40d26b5bd1aad96b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b">set_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:aeb241bfa1101cc1e40d26b5bd1aad96b"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a0756c9c45dcf042a146d2a54290e9f6a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a0756c9c45dcf042a146d2a54290e9f6a">set_tile_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a0756c9c45dcf042a146d2a54290e9f6a"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:afdc3ad3ac77ec32609195ae125b919e1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#afdc3ad3ac77ec32609195ae125b919e1">get_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:afdc3ad3ac77ec32609195ae125b919e1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a650d2df96e69a40b70548ab468e00f25"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a650d2df96e69a40b70548ab468e00f25">set_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a650d2df96e69a40b70548ab468e00f25"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:afd8fd71eaa36b0ddd54a2e8e516ed224"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#afd8fd71eaa36b0ddd54a2e8e516ed224">get_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:afd8fd71eaa36b0ddd54a2e8e516ed224"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a36f9e5d95c2d7d58f203b5ac358e25e7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a36f9e5d95c2d7d58f203b5ac358e25e7">vmemcpy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *dest, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a36f9e5d95c2d7d58f203b5ac358e25e7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9b205ee302f54cb96ee59aac6d53a91c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c">set_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a9b205ee302f54cb96ee59aac6d53a91c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:abe4846d4570b4880b0e54b9e503f4d30"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30">set_tile_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:abe4846d4570b4880b0e54b9e503f4d30"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a728b9440accedc5fb3477be3d150323a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a728b9440accedc5fb3477be3d150323a">get_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a728b9440accedc5fb3477be3d150323a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a68651e50243349b48164a8ad983dca4e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a68651e50243349b48164a8ad983dca4e">set_native_tile_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> first_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data)</td></tr> <tr class="separator:a68651e50243349b48164a8ad983dca4e"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a1df9458387eecf1a164098e90350e561"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a1df9458387eecf1a164098e90350e561">init_win</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a1df9458387eecf1a164098e90350e561"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ac7cc92070d07d5096e2ccef3ea54cade"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ac7cc92070d07d5096e2ccef3ea54cade">init_bkg</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:ac7cc92070d07d5096e2ccef3ea54cade"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:abb54953bdb190aa0bb76724ae3d5d214"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#abb54953bdb190aa0bb76724ae3d5d214">vmemset</a> (void *s, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> n) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:abb54953bdb190aa0bb76724ae3d5d214"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ab22d0a3d624ff20198577c71aa755c19"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ab22d0a3d624ff20198577c71aa755c19">fill_bkg_rect</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tile) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:ab22d0a3d624ff20198577c71aa755c19"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a9eac2f4130d55f411aad246658d046a9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a9eac2f4130d55f411aad246658d046a9">fill_win_rect</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tile) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a9eac2f4130d55f411aad246658d046a9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af6ac67037de041eb0141ba3725b1db83"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#af6ac67037de041eb0141ba3725b1db83">init_win</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:af6ac67037de041eb0141ba3725b1db83"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a46058204097dd305bf72bc20ea7f7a3b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a46058204097dd305bf72bc20ea7f7a3b">init_bkg</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a46058204097dd305bf72bc20ea7f7a3b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a97bab71effd5e4e386629cb6ca5816cf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a97bab71effd5e4e386629cb6ca5816cf">vmemset</a> (void *s, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> n) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a97bab71effd5e4e386629cb6ca5816cf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a74c3f53fca019f7abcd1270650808849"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a74c3f53fca019f7abcd1270650808849">fill_bkg_rect</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tile) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a74c3f53fca019f7abcd1270650808849"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ad5bc3dc922707507aa51ed7f5b4a21e3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ad5bc3dc922707507aa51ed7f5b4a21e3">fill_win_rect</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tile) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:ad5bc3dc922707507aa51ed7f5b4a21e3"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> @@ -492,6 +505,10 @@ Variables</h2></td></tr> <tr class="separator:aeda4515a31485c9688c4601ac5ce2d79"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a250f5339e05523912926be566e9eb8c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a></td></tr> <tr class="separator:a250f5339e05523912926be566e9eb8c0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa82205e9629f984d0b3dc8055c211522"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a></td></tr> +<tr class="separator:aa82205e9629f984d0b3dc8055c211522"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab472d9bbb1bcfd141374f5babc71934c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a></td></tr> +<tr class="separator:ab472d9bbb1bcfd141374f5babc71934c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3619f9cb1e3c92238a033ead79a0c551"><td class="memItemLeft" align="right" valign="top">volatile struct <a class="el" href="struct_o_a_m__item__t.html">OAM_item_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a> []</td></tr> <tr class="separator:a3619f9cb1e3c92238a033ead79a0c551"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7b662ae4d83f9837bacb9fd580673054"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="gb_8h.html#a7b662ae4d83f9837bacb9fd580673054">_shadow_OAM_base</a></td></tr> @@ -540,8 +557,8 @@ Variables</h2></td></tr> </table> </div><div class="memdoc"> <p>Joypad bits. A logical OR of these is used in the wait_pad and joypad functions. For example, to see if the B button is pressed try</p> -<p>uint8_t keys; keys = <a class="el" href="gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad()</a>; if (keys & J_B) { ... }</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad</a> </dd></dl> +<p>uint8_t keys; keys = <a class="el" href="gb_8h.html#a176c477d759b814664785f3a0ad5e253">joypad()</a>; if (keys & J_B) { ... }</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a176c477d759b814664785f3a0ad5e253">joypad</a> </dd></dl> </div> </div> @@ -804,7 +821,7 @@ Variables</h2></td></tr> </table> </div><div class="memdoc"> <p>VBlank Interrupt occurs at the start of the vertical blank.</p> -<p>During this period the video ram may be freely accessed. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts()</a>, </dd> +<p>During this period the video ram may be freely accessed. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts()</a>, </dd> <dd> <a class="el" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">add_VBL</a> </dd></dl> @@ -821,7 +838,7 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>LCD Interrupt when triggered by the STAT register. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts()</a>, </dd> +<p>LCD Interrupt when triggered by the STAT register. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts()</a>, </dd> <dd> <a class="el" href="gb_8h.html#a9f9f77105099a34556247d5bb03368d1">add_LCD</a> </dd></dl> @@ -838,7 +855,7 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Timer Interrupt when the timer <a class="el" href="gb_2hardware_8h.html#a9d295bb437953de5ebcb3c12d65743aa">TIMA_REG</a> overflows. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts()</a>, </dd> +<p>Timer Interrupt when the timer <a class="el" href="gb_2hardware_8h.html#a9d295bb437953de5ebcb3c12d65743aa">TIMA_REG</a> overflows. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts()</a>, </dd> <dd> <a class="el" href="gb_8h.html#a028d1a2e820951bb4f103d6469975ffb">add_TIM</a> </dd></dl> @@ -855,7 +872,7 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Serial Link Interrupt occurs when the serial transfer has completed. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts()</a>, </dd> +<p>Serial Link Interrupt occurs when the serial transfer has completed. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts()</a>, </dd> <dd> <a class="el" href="gb_8h.html#aa82422752016328ed0765879e286019f">add_SIO</a> </dd></dl> @@ -872,7 +889,7 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Joypad Interrupt occurs on a transition of the keypad. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts()</a>, </dd> +<p>Joypad Interrupt occurs on a transition of the keypad. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts()</a>, </dd> <dd> <a class="el" href="gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30">add_JOY</a> </dd></dl> @@ -983,7 +1000,7 @@ Variables</h2></td></tr> </dl> <p>The resulting format is four greyscale colors packed into a single unsigned byte.</p> <p>Example: </p><div class="fragment"><div class="line">REG_BGP = <a class="code" href="gb_8h.html#a9727caafc483ba6ec65e9344b033d684">DMG_PALETTE</a>(<a class="code" href="gb_8h.html#ab311e53739c992294ae07ca506a924ad">DMG_BLACK</a>, <a class="code" href="gb_8h.html#a45d13a674e169dd83df7e1f46513ccba">DMG_DARK_GRAY</a>, <a class="code" href="gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3">DMG_LITE_GRAY</a>, <a class="code" href="gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3">DMG_WHITE</a>);</div> -</div><!-- fragment --><dl class="section see"><dt>See also</dt><dd>REG_OBP0, REG_OBP1, REG_BGP </dd> +</div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2hardware_8h.html#a13f3e89f7b92258d825292e5058815c7">OBP0_REG</a>, <a class="el" href="gb_2hardware_8h.html#a9da545164e049ef773128f869daece13">OBP1_REG</a>, <a class="el" href="gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997">BGP_REG</a> </dd> <dd> <a class="el" href="gb_8h.html#ab311e53739c992294ae07ca506a924ad">DMG_BLACK</a>, <a class="el" href="gb_8h.html#a45d13a674e169dd83df7e1f46513ccba">DMG_DARK_GRAY</a>, <a class="el" href="gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3">DMG_LITE_GRAY</a>, <a class="el" href="gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3">DMG_WHITE</a> </dd></dl> @@ -1332,6 +1349,30 @@ Variables</h2></td></tr> </div> </div> +<a id="a3fca2d0a22aa2717e62fed659caf4743"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a3fca2d0a22aa2717e62fed659caf4743">◆ </a></span>SWITCH_ROM_MEGADUCK</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define SWITCH_ROM_MEGADUCK</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname"><a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td><td>)</td> + <td>    <a class="el" href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a">_current_bank</a> = (<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>), *(<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *)0x0001 = (<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)</td> + </tr> + </table> +</div><div class="memdoc"> +<p>Makes MEGADUCK MBC switch the active ROM bank </p><dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">b</td><td>ROM bank to switch to </td></tr> + </table> + </dd> +</dl> + +</div> +</div> <a id="a19558f5bbc9fea767f945001ae9cd13f"></a> <h2 class="memtitle"><span class="permalink"><a href="#a19558f5bbc9fea767f945001ae9cd13f">◆ </a></span>SWITCH_ROM_MBC1</h2> @@ -1367,13 +1408,13 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Makes MBC1, MBC5 (4M ROMs) and other compatible MBCs switch the active ROM bank </p><dl class="params"><dt>Parameters</dt><dd> +<p>Makes default platform MBC switch the active ROM bank </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">b</td><td>ROM bank to switch to (max 255)</td></tr> </table> </dd> </dl> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f">SWITCH_ROM_MBC1</a>, <a class="el" href="gb_8h.html#a92d040284342702026eb19dab59b586e">SWITCH_ROM_MBC5</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f">SWITCH_ROM_MBC1</a>, <a class="el" href="gb_8h.html#a92d040284342702026eb19dab59b586e">SWITCH_ROM_MBC5</a>, <a class="el" href="gb_8h.html#a3fca2d0a22aa2717e62fed659caf4743">SWITCH_ROM_MEGADUCK</a> </dd></dl> </div> </div> @@ -1630,7 +1671,7 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Turns the display back on. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a067f16eeb168f3ac9312a4766e7d2ff2">display_off</a>, <a class="el" href="gb_8h.html#ad2ec9831813c5e7069917aa4455af682">DISPLAY_OFF</a> </dd></dl> +<p>Turns the display back on. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a04d57683cdd046dfa45e7e56d7c4ec4d">display_off</a>, <a class="el" href="gb_8h.html#ad2ec9831813c5e7069917aa4455af682">DISPLAY_OFF</a> </dd></dl> </div> </div> @@ -1645,7 +1686,7 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Turns the display off immediately. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a067f16eeb168f3ac9312a4766e7d2ff2">display_off</a>, <a class="el" href="gb_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4">DISPLAY_ON</a> </dd></dl> +<p>Turns the display off immediately. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a04d57683cdd046dfa45e7e56d7c4ec4d">display_off</a>, <a class="el" href="gb_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4">DISPLAY_ON</a> </dd></dl> </div> </div> @@ -1860,7 +1901,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define set_tile_map   <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a></td> + <td class="memname">#define set_tile_map   <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a></td> </tr> </table> </div><div class="memdoc"> @@ -1888,7 +1929,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define set_tile_xy   <a class="el" href="gb_8h.html#afdacbb553ea16fd0a3a96698be7668f8">set_bkg_tile_xy</a></td> + <td class="memname">#define set_tile_xy   <a class="el" href="gb_8h.html#a74ee8f0a3495508c90de4ce246b81060">set_bkg_tile_xy</a></td> </tr> </table> </div><div class="memdoc"> @@ -1989,7 +2030,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define fill_rect   <a class="el" href="gb_8h.html#ab22d0a3d624ff20198577c71aa755c19">fill_bkg_rect</a></td> + <td class="memname">#define fill_rect   <a class="el" href="gb_8h.html#a74c3f53fca019f7abcd1270650808849">fill_bkg_rect</a></td> </tr> </table> </div><div class="memdoc"> @@ -2004,7 +2045,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef void(* int_handler) (void) <a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td> + <td class="memname">typedef void(* int_handler) (void) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td> </tr> </table> </div><div class="memdoc"> @@ -2053,8 +2094,8 @@ Variables</h2></td></tr> </div><div class="memdoc"> <p>The remove functions will remove any interrupt handler.</p> <p>A handler of NULL will cause bad things to happen if the given interrupt is enabled.</p> -<p>Removes the VBL interrupt handler. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6">add_VBL()</a></dd></dl> -<p>Removes the VBL interrupt handler. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6">add_VBL()</a> </dd></dl> +<p>Removes the VBL interrupt handler. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">add_VBL()</a></dd></dl> +<p>Removes the VBL interrupt handler. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">add_VBL()</a> </dd></dl> </div> </div> @@ -2160,8 +2201,8 @@ Variables</h2></td></tr> </table> </dd> </dl> -<p>Up to 4 handlers may be added, with the last added being called last. If the <a class="el" href="sms_8h.html#a9eeb134cad80f309ce86ab101a9e0026">remove_VBL</a> function is to be called, only three may be added.</p> -<p>Do not use <a class="el" href="asm_2z80_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> and <a class="el" href="asm_2z80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017">INTERRUPT</a> attributes for a function added via <a class="el" href="sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6">add_VBL()</a> (or LCD, etc). The attributes are only required when constructing a bare jump from the interrupt vector itself.</p> +<p>Up to 4 handlers may be added, with the last added being called last. If the <a class="el" href="sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0">remove_VBL</a> function is to be called, only three may be added.</p> +<p>Do not use <a class="el" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> and <a class="el" href="asm_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017">INTERRUPT</a> attributes for a function added via <a class="el" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">add_VBL()</a> (or LCD, etc). The attributes are only required when constructing a bare jump from the interrupt vector itself.</p> <p>Note: The default VBL is installed automatically.</p> <p>Adds a V-blank interrupt handler. </p> @@ -2184,8 +2225,8 @@ Variables</h2></td></tr> </div><div class="memdoc"> <p>Adds a LCD interrupt handler.</p> <p>Called when the LCD interrupt occurs, which is normally when <a class="el" href="gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7">LY_REG</a> == <a class="el" href="gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae">LYC_REG</a>.</p> -<p>From pan/k0Pa: There are various reasons for this interrupt to occur as described by the <a class="el" href="gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b">STAT_REG</a> register ($FF41). One very popular reason is to indicate to the user when the video hardware is about to redraw a given LCD line. This can be useful for dynamically controlling the <a class="el" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a> / <a class="el" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a> registers ($FF43/$FF42) to perform special video effects.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6">add_VBL</a></dd></dl> +<p>There are various reasons for this interrupt to occur as described by the <a class="el" href="gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b">STAT_REG</a> register ($FF41). One very popular reason is to indicate to the user when the video hardware is about to redraw a given LCD line. This can be useful for dynamically controlling the <a class="el" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a> / <a class="el" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a> registers ($FF43/$FF42) to perform special video effects.</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">add_VBL</a></dd></dl> <p>Adds a LCD interrupt handler. </p> </div> @@ -2206,10 +2247,35 @@ Variables</h2></td></tr> </table> </div><div class="memdoc"> <p>Adds a timer interrupt handler.</p> -<p>From pan/k0Pa: This interrupt occurs when the <a class="el" href="gb_2hardware_8h.html#a9d295bb437953de5ebcb3c12d65743aa">TIMA_REG</a> register ($FF05) changes from $FF to $00.</p> +<p>Can not be used together with <a class="el" href="gb_8h.html#a970f18857533e062f4780f6e1c407d69">add_low_priority_TIM</a></p> +<p>This interrupt occurs when the <a class="el" href="gb_2hardware_8h.html#a9d295bb437953de5ebcb3c12d65743aa">TIMA_REG</a> register ($FF05) changes from $FF to $00.</p> <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">add_VBL</a> </dd> <dd> -<a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts()</a> with <a class="el" href="gb_8h.html#a604256210ec5b90b68185e1a18efab49">TIM_IFLAG</a> </dd></dl> +<a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts()</a> with <a class="el" href="gb_8h.html#a604256210ec5b90b68185e1a18efab49">TIM_IFLAG</a> </dd></dl> + +</div> +</div> +<a id="a970f18857533e062f4780f6e1c407d69"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a970f18857533e062f4780f6e1c407d69">◆ </a></span>add_low_priority_TIM()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void add_low_priority_TIM </td> + <td>(</td> + <td class="paramtype"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> </td> + <td class="paramname"><em>h</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Adds a timer interrupt handler, that could be interrupted by the other interrupts, as well as itself, if it runs too slow.</p> +<p>Can not be used together with <a class="el" href="sms_8h.html#a6c66a583a8f0744e3985c89725e3dc10">add_TIM</a></p> +<p>This interrupt occurs when the <a class="el" href="gb_2hardware_8h.html#a9d295bb437953de5ebcb3c12d65743aa">TIMA_REG</a> register ($FF05) changes from $FF to $00.</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">add_VBL</a> </dd> +<dd> +<a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts()</a> with <a class="el" href="gb_8h.html#a604256210ec5b90b68185e1a18efab49">TIM_IFLAG</a> </dd></dl> </div> </div> @@ -2229,10 +2295,10 @@ Variables</h2></td></tr> </table> </div><div class="memdoc"> <p>Adds a Serial Link transmit complete interrupt handler.</p> -<p>From pan/k0Pa: This interrupt occurs when a serial transfer has completed on the game link port.</p> +<p>This interrupt occurs when a serial transfer has completed on the game link port.</p> <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964">send_byte</a>, <a class="el" href="gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7">receive_byte()</a>, <a class="el" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">add_VBL()</a> </dd> <dd> -<a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts()</a> with <a class="el" href="gb_8h.html#ad90564458646c5646b3880b93db3443e">SIO_IFLAG</a> </dd></dl> +<a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts()</a> with <a class="el" href="gb_8h.html#ad90564458646c5646b3880b93db3443e">SIO_IFLAG</a> </dd></dl> </div> </div> @@ -2252,8 +2318,8 @@ Variables</h2></td></tr> </table> </div><div class="memdoc"> <p>Adds a joypad button change interrupt handler.</p> -<p>From pan/k0Pa: This interrupt occurs on a transition of any of the keypad input lines from high to low. Due to the fact that keypad "bounce" is virtually always present, software should expect this interrupt to occur one or more times for every button press and one or more times for every button release.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad()</a>, <a class="el" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">add_VBL()</a> </dd></dl> +<p>This interrupt occurs on a transition of any of the keypad input lines from high to low. Due to the fact that keypad "bounce" is virtually always present, software should expect this interrupt to occur one or more times for every button press and one or more times for every button release.</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a176c477d759b814664785f3a0ad5e253">joypad()</a>, <a class="el" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">add_VBL()</a> </dd></dl> </div> </div> @@ -2273,7 +2339,7 @@ Variables</h2></td></tr> </div><div class="memdoc"> <p>Interrupt handler chain terminator that does <b>not</b> wait for .STAT</p> <p>You must add this handler last in every interrupt handler chain if you want to change the default interrupt handler behaviour that waits for LCD controller mode to become 1 or 0 before return from the interrupt.</p> -<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="asm_2gbz80_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> {</div> +<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> {</div> <div class="line"> <a class="code" href="gb_8h.html#aa82422752016328ed0765879e286019f">add_SIO</a>(<a class="code" href="gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9">nowait_int_handler</a>); <span class="comment">// Disable wait on VRAM state before returning from SIO interrupt</span></div> <div class="line">}</div> </div><!-- fragment --> <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#acc9afd0cb72e763a1213d256b942a68f">wait_int_handler()</a> </dd></dl> @@ -2347,8 +2413,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a4ed6f21654895e40981802fdbe6b003d"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a4ed6f21654895e40981802fdbe6b003d">◆ </a></span>get_mode()</h2> +<a id="a19969b36a6535fc6a966c0e5476baf9c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a19969b36a6535fc6a966c0e5476baf9c">◆ </a></span>get_mode()</h2> <div class="memitem"> <div class="memproto"> @@ -2383,7 +2449,7 @@ Variables</h2></td></tr> <p>Serial Link: Send the byte in <a class="el" href="gb_8h.html#acae13736da20f9fc53e8d38934aa2119">_io_out</a> out through the serial port</p> <p>Make sure to enable interrupts for the Serial Link before trying to transfer data. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#aa82422752016328ed0765879e286019f">add_SIO()</a>, <a class="el" href="gb_8h.html#a5b821b31215361265d8b7894a9ae7118">remove_SIO()</a> </dd> <dd> -<a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts()</a> with <a class="el" href="sms_8h.html#ad90564458646c5646b3880b93db3443e">SIO_IFLAG</a> </dd></dl> +<a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts()</a> with <a class="el" href="sms_8h.html#ad90564458646c5646b3880b93db3443e">SIO_IFLAG</a> </dd></dl> </div> </div> @@ -2404,7 +2470,7 @@ Variables</h2></td></tr> <p>Serial Link: Receive a byte from the serial port into <a class="el" href="gb_8h.html#a02f3a1585ae654444e628c1aa98ef0cf">_io_in</a></p> <p>Make sure to enable interrupts for the Serial Link before trying to transfer data. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#aa82422752016328ed0765879e286019f">add_SIO()</a>, <a class="el" href="gb_8h.html#a5b821b31215361265d8b7894a9ae7118">remove_SIO()</a> </dd> <dd> -<a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts()</a> with <a class="el" href="sms_8h.html#ad90564458646c5646b3880b93db3443e">SIO_IFLAG</a> </dd></dl> +<a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts()</a> with <a class="el" href="sms_8h.html#ad90564458646c5646b3880b93db3443e">SIO_IFLAG</a> </dd></dl> </div> </div> @@ -2427,8 +2493,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a15f46ef3d3443b452db0c38fc33bcfc1"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a15f46ef3d3443b452db0c38fc33bcfc1">◆ </a></span>joypad()</h2> +<a id="a176c477d759b814664785f3a0ad5e253"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a176c477d759b814664785f3a0ad5e253">◆ </a></span>joypad()</h2> <div class="memitem"> <div class="memproto"> @@ -2447,8 +2513,8 @@ Variables</h2></td></tr> </div> </div> -<a id="ac4f9e19d2834988ff005106b3f5b2f05"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ac4f9e19d2834988ff005106b3f5b2f05">◆ </a></span>waitpad()</h2> +<a id="aae433db7d8e3ee4c095c254b8abd7b8b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aae433db7d8e3ee4c095c254b8abd7b8b">◆ </a></span>waitpad()</h2> <div class="memitem"> <div class="memproto"> @@ -2470,14 +2536,14 @@ Variables</h2></td></tr> </dd> </dl> <p>Normally only used for checking one key, but it will support many, even J_LEFT at the same time as J_RIGHT. :)</p> -<p>Note: Checks in a loop that doesn't HALT at all, so the CPU will be maxed out until this call returns. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad</a> </dd> +<p>Note: Checks in a loop that doesn't HALT at all, so the CPU will be maxed out until this call returns. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a176c477d759b814664785f3a0ad5e253">joypad</a> </dd> <dd> <a class="el" href="gb_8h.html#ab769c6e20778298be8bc3321476ceb53">J_START</a>, <a class="el" href="gb_8h.html#ab416a9d96d1582490828f4bac78a8b5b">J_SELECT</a>, <a class="el" href="gb_8h.html#a31af766e3b598eb7a6b63f55a4988e7a">J_A</a>, <a class="el" href="gb_8h.html#ae47e59a309120f9420993f26816b5e6d">J_B</a>, <a class="el" href="gb_8h.html#a05ca817ab32f6da612c3ae26db5abf02">J_UP</a>, <a class="el" href="gb_8h.html#ae032c5c544196e37ec0432f6cfad7904">J_DOWN</a>, <a class="el" href="gb_8h.html#ac70894fecac30c1ca9917f07373cf81c">J_LEFT</a>, <a class="el" href="gb_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325">J_RIGHT</a> </dd></dl> </div> </div> -<a id="a7eeb5f1f697fefdcebd8e68355af4113"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a7eeb5f1f697fefdcebd8e68355af4113">◆ </a></span>waitpadup()</h2> +<a id="a8484d346b788309ac702b7e0b1fca730"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a8484d346b788309ac702b7e0b1fca730">◆ </a></span>waitpadup()</h2> <div class="memitem"> <div class="memproto"> @@ -2527,13 +2593,13 @@ Variables</h2></td></tr> </table> </dd> </dl> -<p>Only required for <a class="el" href="sms_8h.html#aec8e36355bb7381000606b1871db5977">joypad_ex</a>, not required for calls to regular <a class="el" href="gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad()</a> </p><dl class="section return"><dt>Returns</dt><dd>number of joypads avaliable </dd></dl> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a5166ceebbaa646e2667df1a219c7b903">joypad_ex()</a>, <a class="el" href="structjoypads__t.html">joypads_t</a> </dd></dl> +<p>Only required for <a class="el" href="sms_8h.html#a1d45c65829490c5ec98362f5e60edc20">joypad_ex</a>, not required for calls to regular <a class="el" href="gb_8h.html#a176c477d759b814664785f3a0ad5e253">joypad()</a> </p><dl class="section return"><dt>Returns</dt><dd>number of joypads avaliable </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a6e6f8eb1de2ae1ec9adeafbd7b9884db">joypad_ex()</a>, <a class="el" href="structjoypads__t.html">joypads_t</a> </dd></dl> </div> </div> -<a id="a5166ceebbaa646e2667df1a219c7b903"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a5166ceebbaa646e2667df1a219c7b903">◆ </a></span>joypad_ex()</h2> +<a id="a6e6f8eb1de2ae1ec9adeafbd7b9884db"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6e6f8eb1de2ae1ec9adeafbd7b9884db">◆ </a></span>joypad_ex()</h2> <div class="memitem"> <div class="memproto"> @@ -2557,8 +2623,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a8de3c5a1e5f74c380f2541dafc7b30ef"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a8de3c5a1e5f74c380f2541dafc7b30ef">◆ </a></span>enable_interrupts()</h2> +<a id="ae0b13f17609b26c86fc33944aeb6e867"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ae0b13f17609b26c86fc33944aeb6e867">◆ </a></span>enable_interrupts()</h2> <div class="memitem"> <div class="memproto"> @@ -2580,13 +2646,13 @@ Variables</h2></td></tr> </table> </div><div class="memdoc"> <p>Enables unmasked interrupts</p> -<dl class="section note"><dt>Note</dt><dd>Use <a class="el" href="asm_2z80_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> {...} instead for creating a block of of code which should execute with interrupts temporarily turned off.</dd></dl> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8a71c706c3eb1343196adf77f5825747">disable_interrupts</a>, <a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts</a>, <a class="el" href="asm_2z80_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> </dd></dl> +<dl class="section note"><dt>Note</dt><dd>Use <a class="el" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> {...} instead for creating a block of of code which should execute with interrupts temporarily turned off.</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ad77796783b3a601b6f3781dfc3983499">disable_interrupts</a>, <a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts</a>, <a class="el" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> </dd></dl> </div> </div> -<a id="a8a71c706c3eb1343196adf77f5825747"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a8a71c706c3eb1343196adf77f5825747">◆ </a></span>disable_interrupts()</h2> +<a id="ad77796783b3a601b6f3781dfc3983499"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ad77796783b3a601b6f3781dfc3983499">◆ </a></span>disable_interrupts()</h2> <div class="memitem"> <div class="memproto"> @@ -2608,14 +2674,14 @@ Variables</h2></td></tr> </table> </div><div class="memdoc"> <p>Disables interrupts</p> -<dl class="section note"><dt>Note</dt><dd>Use <a class="el" href="asm_2z80_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> {...} instead for creating a block of of code which should execute with interrupts temporarily turned off.</dd></dl> -<p>This function may be called as many times as you like; however the first call to <a class="el" href="gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef">enable_interrupts</a> will re-enable them.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef">enable_interrupts</a>, <a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts</a>, <a class="el" href="asm_2z80_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> </dd></dl> +<dl class="section note"><dt>Note</dt><dd>Use <a class="el" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> {...} instead for creating a block of of code which should execute with interrupts temporarily turned off.</dd></dl> +<p>This function may be called as many times as you like; however the first call to <a class="el" href="gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867">enable_interrupts</a> will re-enable them.</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867">enable_interrupts</a>, <a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts</a>, <a class="el" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> </dd></dl> </div> </div> -<a id="a8d3bf80819fe94ed67b11bf85c7bfa54"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a8d3bf80819fe94ed67b11bf85c7bfa54">◆ </a></span>set_interrupts()</h2> +<a id="a9312e7ec34162d6b6ed0875631fa6fe3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a9312e7ec34162d6b6ed0875631fa6fe3">◆ </a></span>set_interrupts()</h2> <div class="memitem"> <div class="memproto"> @@ -2631,11 +2697,12 @@ Variables</h2></td></tr> </div><div class="memdoc"> <p>Clears any pending interrupts and sets the interrupt mask register IO to flags. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> - <tr><td class="paramname">flags</td><td>A logical OR of *_IFLAGS </td></tr> + <tr><td class="paramname">flags</td><td>A logical OR of *_IFLAGS</td></tr> </table> </dd> </dl> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef">enable_interrupts()</a>, <a class="el" href="gb_8h.html#a8a71c706c3eb1343196adf77f5825747">disable_interrupts()</a> </dd> +<dl class="section note"><dt>Note</dt><dd>: This disables and then re-enables interrupts so it must be used outside of a critical section.</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867">enable_interrupts()</a>, <a class="el" href="gb_8h.html#ad77796783b3a601b6f3781dfc3983499">disable_interrupts()</a> </dd> <dd> <a class="el" href="gb_8h.html#a2ca7720b9a5da9b2173e1f74dba85541">VBL_IFLAG</a>, <a class="el" href="gb_8h.html#a61a9e2910380de6abb34df14ef634eb4">LCD_IFLAG</a>, <a class="el" href="gb_8h.html#a604256210ec5b90b68185e1a18efab49">TIM_IFLAG</a>, <a class="el" href="gb_8h.html#ad90564458646c5646b3880b93db3443e">SIO_IFLAG</a>, <a class="el" href="gb_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280">JOY_IFLAG</a> </dd></dl> @@ -2659,8 +2726,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a68346350199018249bdf8019b7131514"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a68346350199018249bdf8019b7131514">◆ </a></span>wait_vbl_done()</h2> +<a id="acd186eb292d441f9389e77b545a55619"></a> +<h2 class="memtitle"><span class="permalink"><a href="#acd186eb292d441f9389e77b545a55619">◆ </a></span>wait_vbl_done()</h2> <div class="memitem"> <div class="memproto"> @@ -2679,8 +2746,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a067f16eeb168f3ac9312a4766e7d2ff2"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a067f16eeb168f3ac9312a4766e7d2ff2">◆ </a></span>display_off()</h2> +<a id="a04d57683cdd046dfa45e7e56d7c4ec4d"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a04d57683cdd046dfa45e7e56d7c4ec4d">◆ </a></span>display_off()</h2> <div class="memitem"> <div class="memproto"> @@ -2698,8 +2765,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a7542d00af674e3c58b6c9887ab01919f"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a7542d00af674e3c58b6c9887ab01919f">◆ </a></span>refresh_OAM()</h2> +<a id="a2550e7b6b9fd7e1fc495872502311dbb"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a2550e7b6b9fd7e1fc495872502311dbb">◆ </a></span>refresh_OAM()</h2> <div class="memitem"> <div class="memproto"> @@ -2716,8 +2783,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a08365da56dbc2a97c480818c0e6a62b9"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a08365da56dbc2a97c480818c0e6a62b9">◆ </a></span>hiramcpy()</h2> +<a id="a97b9f2fc6ac7cae97656aca940d65d44"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a97b9f2fc6ac7cae97656aca940d65d44">◆ </a></span>hiramcpy()</h2> <div class="memitem"> <div class="memproto"> @@ -2758,8 +2825,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a84e320d3c0b1eca4d0b81b848d096582"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a84e320d3c0b1eca4d0b81b848d096582">◆ </a></span>set_vram_byte()</h2> +<a id="a7080649e10765996c581e5b618e603b8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a7080649e10765996c581e5b618e603b8">◆ </a></span>set_vram_byte()</h2> <div class="memitem"> <div class="memproto"> @@ -2794,8 +2861,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a6558dad88815aa73fb81fae2ae90473d"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a6558dad88815aa73fb81fae2ae90473d">◆ </a></span>get_vram_byte()</h2> +<a id="aa33ba8b8d381df76edf15ea251ccb675"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa33ba8b8d381df76edf15ea251ccb675">◆ </a></span>get_vram_byte()</h2> <div class="memitem"> <div class="memproto"> @@ -2820,8 +2887,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a194b27b9e852e93ae0a4b55fae7fee6d"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a194b27b9e852e93ae0a4b55fae7fee6d">◆ </a></span>get_bkg_xy_addr()</h2> +<a id="a9005b80d3315f50f0fb0e1728e7ee60f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a9005b80d3315f50f0fb0e1728e7ee60f">◆ </a></span>get_bkg_xy_addr()</h2> <div class="memitem"> <div class="memproto"> @@ -2946,8 +3013,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a4d9b58a7682c3d9cbf4b974673c23d07"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a4d9b58a7682c3d9cbf4b974673c23d07">◆ </a></span>set_bkg_data()</h2> +<a id="a1f5101f2b7bb0123c26a3e257f843626"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a1f5101f2b7bb0123c26a3e257f843626">◆ </a></span>set_bkg_data()</h2> <div class="memitem"> <div class="memproto"> @@ -2992,12 +3059,12 @@ Variables</h2></td></tr> <li>VBK_REG=0 indicates the first bank </li> <li>VBK_REG=1 indicates the second</li> </ul> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd">set_win_data</a>, <a class="el" href="gb_8h.html#a0756c9c45dcf042a146d2a54290e9f6a">set_tile_data</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f">set_win_data</a>, <a class="el" href="gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30">set_tile_data</a> </dd></dl> </div> </div> -<a id="a113055d93ba40767b676f172aa5cc996"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a113055d93ba40767b676f172aa5cc996">◆ </a></span>set_bkg_1bpp_data()</h2> +<a id="a711fa26feecc76dc51482b0f77062859"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a711fa26feecc76dc51482b0f77062859">◆ </a></span>set_bkg_1bpp_data()</h2> <div class="memitem"> <div class="memproto"> @@ -3041,12 +3108,12 @@ Variables</h2></td></tr> <li>0 will be expanded into color 0 </li> <li>1 will be expanded into color 1, 2 or 3 depending on color argument</li> </ul> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8e3f36aa68ac036695816757f2a1322c">SHOW_BKG</a>, <a class="el" href="gb_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141">HIDE_BKG</a>, <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8e3f36aa68ac036695816757f2a1322c">SHOW_BKG</a>, <a class="el" href="gb_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141">HIDE_BKG</a>, <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a> </dd></dl> </div> </div> -<a id="a1207717410f1c9beb6a719eef400ffd7"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a1207717410f1c9beb6a719eef400ffd7">◆ </a></span>get_bkg_data()</h2> +<a id="a5c13238dfec416439d75b133a272e6df"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a5c13238dfec416439d75b133a272e6df">◆ </a></span>get_bkg_data()</h2> <div class="memitem"> <div class="memproto"> @@ -3087,12 +3154,12 @@ Variables</h2></td></tr> </dl> <p>Copies <b>nb_tiles</b> tiles from VRAM starting at <b>first_tile</b>, Tile data is copied into <b>data</b>.</p> <p>Each Tile is 16 bytes, so the buffer pointed to by <b>data</b> should be at least <b>nb_tiles</b> x 16 bytes in size.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ab6321884a3f9028ea0056851d4926919">get_win_data</a>, <a class="el" href="gb_8h.html#a924aa554f639022be104392891e156cd">get_data</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a7ef32e7c1669aba48f235500a495baba">get_win_data</a>, <a class="el" href="gb_8h.html#afd8fd71eaa36b0ddd54a2e8e516ed224">get_data</a> </dd></dl> </div> </div> -<a id="a45cb12c6a672558e9a3792d11951707c"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a45cb12c6a672558e9a3792d11951707c">◆ </a></span>set_bkg_tiles()</h2> +<a id="a6da9e2fa1bafd35363e84ee999909ec7"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6da9e2fa1bafd35363e84ee999909ec7">◆ </a></span>set_bkg_tiles()</h2> <div class="memitem"> <div class="memproto"> @@ -3178,7 +3245,81 @@ Variables</h2></td></tr> </ul> <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8e3f36aa68ac036695816757f2a1322c">SHOW_BKG</a> </dd> <dd> -<a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a>, <a class="el" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a>, <a class="el" href="gb_8h.html#aba807b33ddd5e18ecedc93b05338045e">set_win_tiles</a>, <a class="el" href="gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b">set_tiles</a> </dd></dl> +<a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>, <a class="el" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a>, <a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a>, <a class="el" href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c">set_tiles</a> </dd></dl> + +</div> +</div> +<a id="a811c386cac0df2d260aacb5a43608be5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a811c386cac0df2d260aacb5a43608be5">◆ </a></span>set_bkg_based_tiles()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void set_bkg_based_tiles </td> + <td>(</td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>y</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>w</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>h</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td> + <td class="paramname"><em>tiles</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>base_tile</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> +<p>Sets a rectangular region of Background Tile Map. The offset value in <b>base_tile</b> is added to the tile ID for each map entry.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">x</td><td>X Start position in Background Map tile coordinates. Range 0 - 31 </td></tr> + <tr><td class="paramname">y</td><td>Y Start position in Background Map tile coordinates. Range 0 - 31 </td></tr> + <tr><td class="paramname">w</td><td>Width of area to set in tiles. Range 1 - 32 </td></tr> + <tr><td class="paramname">h</td><td>Height of area to set in tiles. Range 1 - 32 </td></tr> + <tr><td class="paramname">tiles</td><td>Pointer to source tile map data </td></tr> + <tr><td class="paramname">base_tile</td><td>Offset each tile ID entry of the source map by this value. Range 1 - 255</td></tr> + </table> + </dd> +</dl> +<p>This is identical to <a class="el" href="sms_8h.html#a9a732aec1b7aec7d10a9d76ca4da2064">set_bkg_tiles()</a> except that it adds the <b>base_tile</b> parameter for when a tile map's tiles don't start at index zero. (For example, the tiles used by the map range from 100 -> 120 in VRAM instead of 0 -> 20).</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a> for more details </dd></dl> </div> </div> @@ -3252,18 +3393,99 @@ Variables</h2></td></tr> </dd> </dl> <p>Entries are copied from <b>map</b> to the Background Tile Map starting at <b>x</b>, <b>y</b> writing across for <b>w</b> tiles and down for <b>h</b> tiles, using <b>map_w</b> as the rowstride for the source tile map.</p> -<p>Use this instead of <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a> when the source map is wider than 32 tiles or when writing a width that does not match the source map width.</p> +<p>Use this instead of <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a> when the source map is wider than 32 tiles or when writing a width that does not match the source map width.</p> <p>One byte per source tile map entry.</p> <p>Writes that exceed coordinate 31 on the x or y axis will wrap around to the Left and Top edges.</p> -<p>See <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a> for setting CGB attribute maps with <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a>.</p> +<p>See <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a> for setting CGB attribute maps with <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a>.</p> <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8e3f36aa68ac036695816757f2a1322c">SHOW_BKG</a> </dd> <dd> -<a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a>, <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a>, <a class="el" href="gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b">set_tiles</a> </dd></dl> +<a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>, <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a>, <a class="el" href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c">set_tiles</a> </dd></dl> + +</div> +</div> +<a id="abc8bc5808620a9717263b8c9ec2237f0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#abc8bc5808620a9717263b8c9ec2237f0">◆ </a></span>set_bkg_based_submap()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void set_bkg_based_submap </td> + <td>(</td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>y</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>w</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>h</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td> + <td class="paramname"><em>map</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>map_w</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>base_tile</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> +<p>Sets a rectangular area of the Background Tile Map using a sub-region from a source tile map. The offset value in <b>base_tile</b> is added to the tile ID for each map entry.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">x</td><td>X Start position in Background Map tile coordinates. Range 0 - 31 </td></tr> + <tr><td class="paramname">y</td><td>Y Start position in Background Map tile coordinates. Range 0 - 31 </td></tr> + <tr><td class="paramname">w</td><td>Width of area to set in tiles. Range 1 - 255 </td></tr> + <tr><td class="paramname">h</td><td>Height of area to set in tiles. Range 1 - 255 </td></tr> + <tr><td class="paramname">map</td><td>Pointer to source tile map data </td></tr> + <tr><td class="paramname">map_w</td><td>Width of source tile map in tiles. Range 1 - 255 </td></tr> + <tr><td class="paramname">base_tile</td><td>Offset each tile ID entry of the source map by this value. Range 1 - 255</td></tr> + </table> + </dd> +</dl> +<p>This is identical to <a class="el" href="gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0">set_bkg_based_submap()</a> except that it adds the <b>base_tile</b> parameter for when a tile map's tiles don't start at index zero. (For example, the tiles used by the map range from 100 -> 120 in VRAM instead of 0 -> 20).</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0">set_bkg_based_submap</a> for more details </dd></dl> </div> </div> -<a id="a68e4586e2401c1e39703571b5b8d934b"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a68e4586e2401c1e39703571b5b8d934b">◆ </a></span>get_bkg_tiles()</h2> +<a id="aa6bcf24d97f93307b30f2906251f39a0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa6bcf24d97f93307b30f2906251f39a0">◆ </a></span>get_bkg_tiles()</h2> <div class="memitem"> <div class="memproto"> @@ -3319,12 +3541,12 @@ Variables</h2></td></tr> <p>Entries are copied into <b>tiles</b> from the Background Tile Map starting at <b>x</b>, <b>y</b> reading across for <b>w</b> tiles and down for <b>h</b> tiles.</p> <p>One byte per tile.</p> <p>The buffer pointed to by <b>tiles</b> should be at least <b>x</b> x <b>y</b> bytes in size.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a7cf5bd73a7493475e17f84995cf865bd">get_win_tiles</a>, <a class="el" href="gb_8h.html#a1a485dfade1a8f07232cbe669a1c1939">get_bkg_tile_xy</a>, <a class="el" href="gb_8h.html#afdc3ad3ac77ec32609195ae125b919e1">get_tiles</a>, <a class="el" href="gb_8h.html#a6558dad88815aa73fb81fae2ae90473d">get_vram_byte</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8a469de4c6640f921254b336b5a6191a">get_win_tiles</a>, <a class="el" href="gb_8h.html#a55c6581dbe9300dc6df41730f090af51">get_bkg_tile_xy</a>, <a class="el" href="gb_8h.html#a728b9440accedc5fb3477be3d150323a">get_tiles</a>, <a class="el" href="gb_8h.html#aa33ba8b8d381df76edf15ea251ccb675">get_vram_byte</a> </dd></dl> </div> </div> -<a id="afdacbb553ea16fd0a3a96698be7668f8"></a> -<h2 class="memtitle"><span class="permalink"><a href="#afdacbb553ea16fd0a3a96698be7668f8">◆ </a></span>set_bkg_tile_xy()</h2> +<a id="a74ee8f0a3495508c90de4ce246b81060"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a74ee8f0a3495508c90de4ce246b81060">◆ </a></span>set_bkg_tile_xy()</h2> <div class="memitem"> <div class="memproto"> @@ -3362,12 +3584,12 @@ Variables</h2></td></tr> </table> </dd> </dl> -<dl class="section return"><dt>Returns</dt><dd>returns the address of tile, so you may use faster <a class="el" href="gb_8h.html#a84e320d3c0b1eca4d0b81b848d096582">set_vram_byte()</a> later </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>returns the address of tile, so you may use faster <a class="el" href="gb_8h.html#a7080649e10765996c581e5b618e603b8">set_vram_byte()</a> later </dd></dl> </div> </div> -<a id="a1a485dfade1a8f07232cbe669a1c1939"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a1a485dfade1a8f07232cbe669a1c1939">◆ </a></span>get_bkg_tile_xy()</h2> +<a id="a55c6581dbe9300dc6df41730f090af51"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a55c6581dbe9300dc6df41730f090af51">◆ </a></span>get_bkg_tile_xy()</h2> <div class="memitem"> <div class="memproto"> @@ -3496,8 +3718,8 @@ Variables</h2></td></tr> </div> </div> -<a id="aea1d2b59419abf7c1a9b95bb278f7a6c"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aea1d2b59419abf7c1a9b95bb278f7a6c">◆ </a></span>get_win_xy_addr()</h2> +<a id="aa8213cfad631865e3b6faec18e772cb4"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa8213cfad631865e3b6faec18e772cb4">◆ </a></span>get_win_xy_addr()</h2> <div class="memitem"> <div class="memproto"> @@ -3525,8 +3747,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a57879f3a7e7655a1bec4f44f5304f9dd"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a57879f3a7e7655a1bec4f44f5304f9dd">◆ </a></span>set_win_data()</h2> +<a id="ac2bf0c4919c30d322fa5853c896e710f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ac2bf0c4919c30d322fa5853c896e710f">◆ </a></span>set_win_data()</h2> <div class="memitem"> <div class="memproto"> @@ -3566,16 +3788,16 @@ Variables</h2></td></tr> </dd> </dl> <p>This is the same as <a class="el" href="sms_8h.html#a8130306da1177f4fef89e699f8e2add4">set_bkg_data</a>, since the Window Layer and Background Layer share the same Tile pattern data.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a> </dd> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a> </dd> <dd> -<a class="el" href="gb_8h.html#aba807b33ddd5e18ecedc93b05338045e">set_win_tiles</a>, <a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a>, <a class="el" href="gb_8h.html#aa4dc1c2f6f54a564b719b2bd5a0b3c62">set_data</a> </dd> +<a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a>, <a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>, <a class="el" href="gb_8h.html#a650d2df96e69a40b70548ab468e00f25">set_data</a> </dd> <dd> <a class="el" href="gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8">SHOW_WIN</a>, <a class="el" href="gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3">HIDE_WIN</a> </dd></dl> </div> </div> -<a id="a445fa9ede939ca486ae5268e826b3a44"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a445fa9ede939ca486ae5268e826b3a44">◆ </a></span>set_win_1bpp_data()</h2> +<a id="acd5ee7a94059e6edbe9223f291bc2b46"></a> +<h2 class="memtitle"><span class="permalink"><a href="#acd5ee7a94059e6edbe9223f291bc2b46">◆ </a></span>set_win_1bpp_data()</h2> <div class="memitem"> <div class="memproto"> @@ -3615,12 +3837,12 @@ Variables</h2></td></tr> </dd> </dl> <p>This is the same as <a class="el" href="sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04">set_bkg_1bpp_data</a>, since the Window Layer and Background Layer share the same Tile pattern data.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a>, <a class="el" href="gb_8h.html#a113055d93ba40767b676f172aa5cc996">set_bkg_1bpp_data</a>, <a class="el" href="gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd">set_win_data</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>, <a class="el" href="gb_8h.html#a711fa26feecc76dc51482b0f77062859">set_bkg_1bpp_data</a>, <a class="el" href="gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f">set_win_data</a> </dd></dl> </div> </div> -<a id="ab6321884a3f9028ea0056851d4926919"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ab6321884a3f9028ea0056851d4926919">◆ </a></span>get_win_data()</h2> +<a id="a7ef32e7c1669aba48f235500a495baba"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a7ef32e7c1669aba48f235500a495baba">◆ </a></span>get_win_data()</h2> <div class="memitem"> <div class="memproto"> @@ -3659,13 +3881,13 @@ Variables</h2></td></tr> </table> </dd> </dl> -<p>This is the same as <a class="el" href="gb_8h.html#a1207717410f1c9beb6a719eef400ffd7">get_bkg_data</a>, since the Window Layer and Background Layer share the same Tile pattern data.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a1207717410f1c9beb6a719eef400ffd7">get_bkg_data</a>, <a class="el" href="gb_8h.html#a924aa554f639022be104392891e156cd">get_data</a> </dd></dl> +<p>This is the same as <a class="el" href="gb_8h.html#a5c13238dfec416439d75b133a272e6df">get_bkg_data</a>, since the Window Layer and Background Layer share the same Tile pattern data.</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a5c13238dfec416439d75b133a272e6df">get_bkg_data</a>, <a class="el" href="gb_8h.html#afd8fd71eaa36b0ddd54a2e8e516ed224">get_data</a> </dd></dl> </div> </div> -<a id="aba807b33ddd5e18ecedc93b05338045e"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aba807b33ddd5e18ecedc93b05338045e">◆ </a></span>set_win_tiles()</h2> +<a id="a5c59b4ee6323af9832998906d087266b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a5c59b4ee6323af9832998906d087266b">◆ </a></span>set_win_tiles()</h2> <div class="memitem"> <div class="memproto"> @@ -3730,8 +3952,82 @@ Variables</h2></td></tr> <li>VBK_REG=0 Tile Numbers are written </li> <li>VBK_REG=1 Tile Attributes are written</li> </ul> -<p>For more details about GBC Tile Attributes see <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a>.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8">SHOW_WIN</a>, <a class="el" href="gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3">HIDE_WIN</a>, <a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a>, <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a>, <a class="el" href="gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b">set_tiles</a> </dd></dl> +<p>For more details about GBC Tile Attributes see <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>.</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8">SHOW_WIN</a>, <a class="el" href="gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3">HIDE_WIN</a>, <a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a>, <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>, <a class="el" href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c">set_tiles</a> </dd></dl> + +</div> +</div> +<a id="a739a212609ae60c9c56c095f96b4ea80"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a739a212609ae60c9c56c095f96b4ea80">◆ </a></span>set_win_based_tiles()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void set_win_based_tiles </td> + <td>(</td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>y</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>w</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>h</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td> + <td class="paramname"><em>tiles</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>base_tile</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> +<p>Sets a rectangular region of the Window Tile Map. The offset value in <b>base_tile</b> is added to the tile ID for each map entry.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">x</td><td>X Start position in Window Map tile coordinates. Range 0 - 31 </td></tr> + <tr><td class="paramname">y</td><td>Y Start position in Window Map tile coordinates. Range 0 - 31 </td></tr> + <tr><td class="paramname">w</td><td>Width of area to set in tiles. Range 1 - 32 </td></tr> + <tr><td class="paramname">h</td><td>Height of area to set in tiles. Range 1 - 32 </td></tr> + <tr><td class="paramname">tiles</td><td>Pointer to source tile map data </td></tr> + <tr><td class="paramname">base_tile</td><td>Offset each tile ID entry of the source map by this value. Range 1 - 255</td></tr> + </table> + </dd> +</dl> +<p>This is identical to <a class="el" href="sms_8h.html#a429db030287423012f40a6dca81ae7e3">set_win_tiles()</a> except that it adds the <b>base_tile</b> parameter for when a tile map's tiles don't start at index zero. (For example, the tiles used by the map range from 100 -> 120 in VRAM instead of 0 -> 20).</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a> for more details </dd></dl> </div> </div> @@ -3805,20 +4101,101 @@ Variables</h2></td></tr> </dd> </dl> <p>Entries are copied from <b>map</b> to the Window Tile Map starting at <b>x</b>, <b>y</b> writing across for <b>w</b> tiles and down for <b>h</b> tiles, using <b>map_w</b> as the rowstride for the source tile map.</p> -<p>Use this instead of <a class="el" href="gb_8h.html#aba807b33ddd5e18ecedc93b05338045e">set_win_tiles</a> when the source map is wider than 32 tiles or when writing a width that does not match the source map width.</p> +<p>Use this instead of <a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a> when the source map is wider than 32 tiles or when writing a width that does not match the source map width.</p> <p>One byte per source tile map entry.</p> <p>Writes that exceed coordinate 31 on the x or y axis will wrap around to the Left and Top edges.</p> <p>GBC only: <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a> determines whether Tile Numbers or Tile Attributes get set. </p><ul> <li>VBK_REG=0 Tile Numbers are written </li> <li>VBK_REG=1 Tile Attributes are written</li> </ul> -<p>See <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a> for details about CGB attribute maps with <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a>.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8">SHOW_WIN</a>, <a class="el" href="gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3">HIDE_WIN</a>, <a class="el" href="gb_8h.html#aba807b33ddd5e18ecedc93b05338045e">set_win_tiles</a>, <a class="el" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a>, <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a>, <a class="el" href="gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b">set_tiles</a> </dd></dl> +<p>See <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a> for details about CGB attribute maps with <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a>.</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8">SHOW_WIN</a>, <a class="el" href="gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3">HIDE_WIN</a>, <a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a>, <a class="el" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a>, <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>, <a class="el" href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c">set_tiles</a> </dd></dl> + +</div> +</div> +<a id="a1b8a1026983cb2b2c0bd46334b4692a0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a1b8a1026983cb2b2c0bd46334b4692a0">◆ </a></span>set_win_based_submap()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void set_win_based_submap </td> + <td>(</td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>y</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>w</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>h</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td> + <td class="paramname"><em>map</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>map_w</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>base_tile</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> +<p>Sets a rectangular area of the Window Tile Map using a sub-region from a source tile map. The offset value in <b>base_tile</b> is added to the tile ID for each map entry.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">x</td><td>X Start position in Window Map tile coordinates. Range 0 - 31 </td></tr> + <tr><td class="paramname">y</td><td>Y Start position in Wimdpw Map tile coordinates. Range 0 - 31 </td></tr> + <tr><td class="paramname">w</td><td>Width of area to set in tiles. Range 1 - 255 </td></tr> + <tr><td class="paramname">h</td><td>Height of area to set in tiles. Range 1 - 255 </td></tr> + <tr><td class="paramname">map</td><td>Pointer to source tile map data </td></tr> + <tr><td class="paramname">map_w</td><td>Width of source tile map in tiles. Range 1 - 255 </td></tr> + <tr><td class="paramname">base_tile</td><td>Offset each tile ID entry of the source map by this value. Range 1 - 255</td></tr> + </table> + </dd> +</dl> +<p>This is identical to <a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap()</a> except that it adds the <b>base_tile</b> parameter for when a tile map's tiles don't start at index zero. (For example, the tiles used by the map range from 100 -> 120 in VRAM instead of 0 -> 20).</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a> for more details </dd></dl> </div> </div> -<a id="a7cf5bd73a7493475e17f84995cf865bd"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a7cf5bd73a7493475e17f84995cf865bd">◆ </a></span>get_win_tiles()</h2> +<a id="a8a469de4c6640f921254b336b5a6191a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a8a469de4c6640f921254b336b5a6191a">◆ </a></span>get_win_tiles()</h2> <div class="memitem"> <div class="memproto"> @@ -3874,12 +4251,12 @@ Variables</h2></td></tr> <p>Entries are copied into <b>tiles</b> from the Window Tile Map starting at <b>x</b>, <b>y</b> reading across for <b>w</b> tiles and down for <b>h</b> tiles.</p> <p>One byte per tile.</p> <p>The buffer pointed to by <b>tiles</b> should be at least <b>x</b> x <b>y</b> bytes in size.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a68e4586e2401c1e39703571b5b8d934b">get_bkg_tiles</a>, <a class="el" href="gb_8h.html#a1a485dfade1a8f07232cbe669a1c1939">get_bkg_tile_xy</a>, <a class="el" href="gb_8h.html#afdc3ad3ac77ec32609195ae125b919e1">get_tiles</a>, <a class="el" href="gb_8h.html#a6558dad88815aa73fb81fae2ae90473d">get_vram_byte</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0">get_bkg_tiles</a>, <a class="el" href="gb_8h.html#a55c6581dbe9300dc6df41730f090af51">get_bkg_tile_xy</a>, <a class="el" href="gb_8h.html#a728b9440accedc5fb3477be3d150323a">get_tiles</a>, <a class="el" href="gb_8h.html#aa33ba8b8d381df76edf15ea251ccb675">get_vram_byte</a> </dd></dl> </div> </div> -<a id="a78b307e0fde9289c2b1f4cd6aa0b763c"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a78b307e0fde9289c2b1f4cd6aa0b763c">◆ </a></span>set_win_tile_xy()</h2> +<a id="a0c70a53db1fbc0c99627da3f282befd8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a0c70a53db1fbc0c99627da3f282befd8">◆ </a></span>set_win_tile_xy()</h2> <div class="memitem"> <div class="memproto"> @@ -3917,12 +4294,12 @@ Variables</h2></td></tr> </table> </dd> </dl> -<dl class="section return"><dt>Returns</dt><dd>returns the address of tile, so you may use faster <a class="el" href="gb_8h.html#a84e320d3c0b1eca4d0b81b848d096582">set_vram_byte()</a> later </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>returns the address of tile, so you may use faster <a class="el" href="gb_8h.html#a7080649e10765996c581e5b618e603b8">set_vram_byte()</a> later </dd></dl> </div> </div> -<a id="a82582e006a955d2c934786e9d7c29623"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a82582e006a955d2c934786e9d7c29623">◆ </a></span>get_win_tile_xy()</h2> +<a id="a2e29fdca81c28c627c2591029722e71c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a2e29fdca81c28c627c2591029722e71c">◆ </a></span>get_win_tile_xy()</h2> <div class="memitem"> <div class="memproto"> @@ -4051,8 +4428,8 @@ Variables</h2></td></tr> </div> </div> -<a id="ac40ffe4802ea41e5cee0ac3d4b254e08"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ac40ffe4802ea41e5cee0ac3d4b254e08">◆ </a></span>set_sprite_data()</h2> +<a id="ae45b1c639698951b47e44fa8e89556f2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ae45b1c639698951b47e44fa8e89556f2">◆ </a></span>set_sprite_data()</h2> <div class="memitem"> <div class="memproto"> @@ -4100,8 +4477,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a427965ccaaa956d51bf4e7f14cc39b0f"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a427965ccaaa956d51bf4e7f14cc39b0f">◆ </a></span>set_sprite_1bpp_data()</h2> +<a id="ab3e60c92c9f8fbed855f8712187ea3ea"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ab3e60c92c9f8fbed855f8712187ea3ea">◆ </a></span>set_sprite_1bpp_data()</h2> <div class="memitem"> <div class="memproto"> @@ -4149,8 +4526,8 @@ Variables</h2></td></tr> </div> </div> -<a id="abc82930da7beb0611778f8644e90b5e9"></a> -<h2 class="memtitle"><span class="permalink"><a href="#abc82930da7beb0611778f8644e90b5e9">◆ </a></span>get_sprite_data()</h2> +<a id="adcdec4034a14abc5be9bb88c29b947c9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#adcdec4034a14abc5be9bb88c29b947c9">◆ </a></span>get_sprite_data()</h2> <div class="memitem"> <div class="memproto"> @@ -4546,8 +4923,8 @@ Variables</h2></td></tr> </div> </div> -<a id="aa4dc1c2f6f54a564b719b2bd5a0b3c62"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aa4dc1c2f6f54a564b719b2bd5a0b3c62">◆ </a></span>set_data()</h2> +<a id="a650d2df96e69a40b70548ab468e00f25"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a650d2df96e69a40b70548ab468e00f25">◆ </a></span>set_data()</h2> <div class="memitem"> <div class="memproto"> @@ -4577,7 +4954,7 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Copies arbitrary data to an address in VRAM without taking into account the state of LCDC bit 4.</p> +<p>Copies arbitrary data to an address in VRAM without taking into account the state of LCDC bits 3 or 4.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">vram_addr</td><td>Pointer to destination VRAM Address </td></tr> @@ -4591,12 +4968,12 @@ Variables</h2></td></tr> <li>VBK_REG=0 indicates the first bank </li> <li>VBK_REG=1 indicates the second</li> </ul> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a>, <a class="el" href="gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd">set_win_data</a>, <a class="el" href="gb_8h.html#a0756c9c45dcf042a146d2a54290e9f6a">set_tile_data</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>, <a class="el" href="gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f">set_win_data</a>, <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a>, <a class="el" href="gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30">set_tile_data</a>, <a class="el" href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c">set_tiles</a> </dd></dl> </div> </div> -<a id="a924aa554f639022be104392891e156cd"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a924aa554f639022be104392891e156cd">◆ </a></span>get_data()</h2> +<a id="afd8fd71eaa36b0ddd54a2e8e516ed224"></a> +<h2 class="memtitle"><span class="permalink"><a href="#afd8fd71eaa36b0ddd54a2e8e516ed224">◆ </a></span>get_data()</h2> <div class="memitem"> <div class="memproto"> @@ -4626,7 +5003,7 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Copies arbitrary data from an address in VRAM into a buffer without taking into account the state of LCDC bit 4.</p> +<p>Copies arbitrary data from an address in VRAM into a buffer without taking into account the state of LCDC bits 3 or 4.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">vram_addr</td><td>Pointer to source VRAM Address </td></tr> @@ -4640,12 +5017,12 @@ Variables</h2></td></tr> <li>VBK_REG=0 indicates the first bank </li> <li>VBK_REG=1 indicates the second</li> </ul> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a1207717410f1c9beb6a719eef400ffd7">get_bkg_data</a>, <a class="el" href="gb_8h.html#ab6321884a3f9028ea0056851d4926919">get_win_data</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a5c13238dfec416439d75b133a272e6df">get_bkg_data</a>, <a class="el" href="gb_8h.html#a7ef32e7c1669aba48f235500a495baba">get_win_data</a>, <a class="el" href="gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0">get_bkg_tiles</a>, <a class="el" href="gb_8h.html#a8a469de4c6640f921254b336b5a6191a">get_win_tiles</a>, <a class="el" href="gb_8h.html#a728b9440accedc5fb3477be3d150323a">get_tiles</a> </dd></dl> </div> </div> -<a id="ac9f0aa82f8e34812a406263aad57d4d9"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ac9f0aa82f8e34812a406263aad57d4d9">◆ </a></span>vmemcpy()</h2> +<a id="a36f9e5d95c2d7d58f203b5ac358e25e7"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a36f9e5d95c2d7d58f203b5ac358e25e7">◆ </a></span>vmemcpy()</h2> <div class="memitem"> <div class="memproto"> @@ -4692,8 +5069,8 @@ Variables</h2></td></tr> </div> </div> -<a id="aeb241bfa1101cc1e40d26b5bd1aad96b"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aeb241bfa1101cc1e40d26b5bd1aad96b">◆ </a></span>set_tiles()</h2> +<a id="a9b205ee302f54cb96ee59aac6d53a91c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a9b205ee302f54cb96ee59aac6d53a91c">◆ </a></span>set_tiles()</h2> <div class="memitem"> <div class="memproto"> @@ -4741,7 +5118,7 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Sets a rectangular region of Tile Map entries at a given VRAM Address without taking into account the state of LCDC bit 4.</p> +<p>Sets a rectangular region of Tile Map entries at a given VRAM Address without taking into account the state of LCDC bit 3.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">x</td><td>X Start position in Map tile coordinates. Range 0 - 31 </td></tr> @@ -4760,12 +5137,12 @@ Variables</h2></td></tr> <li>VBK_REG=0 Tile Numbers are written </li> <li>VBK_REG=1 Tile Attributes are written</li> </ul> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#aba807b33ddd5e18ecedc93b05338045e">set_win_tiles</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a> </dd></dl> </div> </div> -<a id="a0756c9c45dcf042a146d2a54290e9f6a"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a0756c9c45dcf042a146d2a54290e9f6a">◆ </a></span>set_tile_data()</h2> +<a id="abe4846d4570b4880b0e54b9e503f4d30"></a> +<h2 class="memtitle"><span class="permalink"><a href="#abe4846d4570b4880b0e54b9e503f4d30">◆ </a></span>set_tile_data()</h2> <div class="memitem"> <div class="memproto"> @@ -4811,12 +5188,12 @@ Variables</h2></td></tr> </table> </dd> </dl> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a>, <a class="el" href="gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd">set_win_data</a>, <a class="el" href="gb_8h.html#aa4dc1c2f6f54a564b719b2bd5a0b3c62">set_data</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>, <a class="el" href="gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f">set_win_data</a>, <a class="el" href="gb_8h.html#a650d2df96e69a40b70548ab468e00f25">set_data</a> </dd></dl> </div> </div> -<a id="afdc3ad3ac77ec32609195ae125b919e1"></a> -<h2 class="memtitle"><span class="permalink"><a href="#afdc3ad3ac77ec32609195ae125b919e1">◆ </a></span>get_tiles()</h2> +<a id="a728b9440accedc5fb3477be3d150323a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a728b9440accedc5fb3477be3d150323a">◆ </a></span>get_tiles()</h2> <div class="memitem"> <div class="memproto"> @@ -4864,7 +5241,7 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Copies a rectangular region of Tile Map entries from a given VRAM Address into a buffer without taking into account the state of LCDC bit 4.</p> +<p>Copies a rectangular region of Tile Map entries from a given VRAM Address into a buffer without taking into account the state of LCDC bit 3.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">x</td><td>X Start position in Background Map tile coordinates. Range 0 - 31 </td></tr> @@ -4880,7 +5257,7 @@ Variables</h2></td></tr> <p>One byte per tile.</p> <p>There are two 32x32 Tile Maps in VRAM at addresses 9800h - 9BFFh and 9C00h - 9FFFh.</p> <p>The buffer pointed to by <b>tiles</b> should be at least <b>x</b> x <b>y</b> bytes in size.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a68e4586e2401c1e39703571b5b8d934b">get_bkg_tiles</a>, <a class="el" href="gb_8h.html#a7cf5bd73a7493475e17f84995cf865bd">get_win_tiles</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0">get_bkg_tiles</a>, <a class="el" href="gb_8h.html#a8a469de4c6640f921254b336b5a6191a">get_win_tiles</a> </dd></dl> </div> </div> @@ -4940,8 +5317,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a1df9458387eecf1a164098e90350e561"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a1df9458387eecf1a164098e90350e561">◆ </a></span>init_win()</h2> +<a id="af6ac67037de041eb0141ba3725b1db83"></a> +<h2 class="memtitle"><span class="permalink"><a href="#af6ac67037de041eb0141ba3725b1db83">◆ </a></span>init_win()</h2> <div class="memitem"> <div class="memproto"> @@ -4965,8 +5342,8 @@ Variables</h2></td></tr> </div> </div> -<a id="ac7cc92070d07d5096e2ccef3ea54cade"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ac7cc92070d07d5096e2ccef3ea54cade">◆ </a></span>init_bkg()</h2> +<a id="a46058204097dd305bf72bc20ea7f7a3b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a46058204097dd305bf72bc20ea7f7a3b">◆ </a></span>init_bkg()</h2> <div class="memitem"> <div class="memproto"> @@ -4990,8 +5367,8 @@ Variables</h2></td></tr> </div> </div> -<a id="abb54953bdb190aa0bb76724ae3d5d214"></a> -<h2 class="memtitle"><span class="permalink"><a href="#abb54953bdb190aa0bb76724ae3d5d214">◆ </a></span>vmemset()</h2> +<a id="a97bab71effd5e4e386629cb6ca5816cf"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a97bab71effd5e4e386629cb6ca5816cf">◆ </a></span>vmemset()</h2> <div class="memitem"> <div class="memproto"> @@ -5011,7 +5388,7 @@ Variables</h2></td></tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>n</em> </td> </tr> <tr> @@ -5033,8 +5410,8 @@ Variables</h2></td></tr> </div> </div> -<a id="ab22d0a3d624ff20198577c71aa755c19"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ab22d0a3d624ff20198577c71aa755c19">◆ </a></span>fill_bkg_rect()</h2> +<a id="a74c3f53fca019f7abcd1270650808849"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a74c3f53fca019f7abcd1270650808849">◆ </a></span>fill_bkg_rect()</h2> <div class="memitem"> <div class="memproto"> @@ -5090,8 +5467,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a9eac2f4130d55f411aad246658d046a9"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a9eac2f4130d55f411aad246658d046a9">◆ </a></span>fill_win_rect()</h2> +<a id="ad5bc3dc922707507aa51ed7f5b4a21e3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ad5bc3dc922707507aa51ed7f5b4a21e3">◆ </a></span>fill_win_rect()</h2> <div class="memitem"> <div class="memproto"> @@ -5315,7 +5692,7 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Tracks current active ROM bank </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f">SWITCH_ROM_MBC1()</a>, <a class="el" href="gb_8h.html#a92d040284342702026eb19dab59b586e">SWITCH_ROM_MBC5()</a> This variable is updated automatically when you call <a class="el" href="gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f">SWITCH_ROM_MBC1</a> or <a class="el" href="gb_8h.html#a92d040284342702026eb19dab59b586e">SWITCH_ROM_MBC5</a>, or call a <a class="el" href="asm_2z80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0">BANKED</a> function. </dd></dl> +<p>Tracks current active ROM bank </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f">SWITCH_ROM_MBC1()</a>, <a class="el" href="gb_8h.html#a92d040284342702026eb19dab59b586e">SWITCH_ROM_MBC5()</a> This variable is updated automatically when you call <a class="el" href="gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f">SWITCH_ROM_MBC1</a> or <a class="el" href="gb_8h.html#a92d040284342702026eb19dab59b586e">SWITCH_ROM_MBC5</a>, or call a <a class="el" href="asm_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0">BANKED</a> function. </dd></dl> </div> </div> @@ -5413,6 +5790,50 @@ Variables</h2></td></tr> </div> </div> +<a id="aa82205e9629f984d0b3dc8055c211522"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa82205e9629f984d0b3dc8055c211522">◆ </a></span>_map_tile_offset</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> _map_tile_offset</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">extern</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +</div> +</div> +<a id="ab472d9bbb1bcfd141374f5babc71934c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ab472d9bbb1bcfd141374f5babc71934c">◆ </a></span>_submap_tile_offset</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> _submap_tile_offset</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">extern</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +</div> +</div> <a id="a3619f9cb1e3c92238a033ead79a0c551"></a> <h2 class="memtitle"><span class="permalink"><a href="#a3619f9cb1e3c92238a033ead79a0c551">◆ </a></span>shadow_OAM</h2> @@ -5454,17 +5875,17 @@ Variables</h2></td></tr> </div><!-- contents --> </div><!-- doc-content --> <div class="ttc" id="astdint_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div> -<div class="ttc" id="agb_8h_html_a98b848953a95ce2fff6fda643575d74a"><div class="ttname"><a href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a">_current_bank</a></div><div class="ttdeci">__REG _current_bank</div><div class="ttdef"><b>Definition:</b> gb.h:414</div></div> +<div class="ttc" id="agb_8h_html_a98b848953a95ce2fff6fda643575d74a"><div class="ttname"><a href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a">_current_bank</a></div><div class="ttdeci">__REG _current_bank</div><div class="ttdef"><b>Definition:</b> gb.h:427</div></div> <div class="ttc" id="astdint_8h_html_adf4d876453337156dde61095e1f20223"><div class="ttname"><a href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a></div><div class="ttdeci">unsigned short int uint16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:52</div></div> -<div class="ttc" id="agb_8h_html_a9727caafc483ba6ec65e9344b033d684"><div class="ttname"><a href="gb_8h.html#a9727caafc483ba6ec65e9344b033d684">DMG_PALETTE</a></div><div class="ttdeci">#define DMG_PALETTE(C0, C1, C2, C3)</div><div class="ttdef"><b>Definition:</b> gb.h:134</div></div> +<div class="ttc" id="agb_8h_html_a9727caafc483ba6ec65e9344b033d684"><div class="ttname"><a href="gb_8h.html#a9727caafc483ba6ec65e9344b033d684">DMG_PALETTE</a></div><div class="ttdeci">#define DMG_PALETTE(C0, C1, C2, C3)</div><div class="ttdef"><b>Definition:</b> gb.h:136</div></div> <div class="ttc" id="agb_8h_html_a695c6d0e8fd7cf11dae0d4c67bc058f9"><div class="ttname"><a href="gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9">nowait_int_handler</a></div><div class="ttdeci">void nowait_int_handler()</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_ae0233515480e60d29bcc731469976e02"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a></div><div class="ttdeci">#define CRITICAL</div><div class="ttdef"><b>Definition:</b> types.h:25</div></div> -<div class="ttc" id="agb_8h_html_ab311e53739c992294ae07ca506a924ad"><div class="ttname"><a href="gb_8h.html#ab311e53739c992294ae07ca506a924ad">DMG_BLACK</a></div><div class="ttdeci">#define DMG_BLACK</div><div class="ttdef"><b>Definition:</b> gb.h:111</div></div> +<div class="ttc" id="agb_8h_html_ab311e53739c992294ae07ca506a924ad"><div class="ttname"><a href="gb_8h.html#ab311e53739c992294ae07ca506a924ad">DMG_BLACK</a></div><div class="ttdeci">#define DMG_BLACK</div><div class="ttdef"><b>Definition:</b> gb.h:113</div></div> <div class="ttc" id="agb_8h_html_aa82422752016328ed0765879e286019f"><div class="ttname"><a href="gb_8h.html#aa82422752016328ed0765879e286019f">add_SIO</a></div><div class="ttdeci">void add_SIO(int_handler h) OLDCALL</div></div> -<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:585</div></div> -<div class="ttc" id="agb_8h_html_a45d13a674e169dd83df7e1f46513ccba"><div class="ttname"><a href="gb_8h.html#a45d13a674e169dd83df7e1f46513ccba">DMG_DARK_GRAY</a></div><div class="ttdeci">#define DMG_DARK_GRAY</div><div class="ttdef"><b>Definition:</b> gb.h:112</div></div> -<div class="ttc" id="agb_8h_html_a11cedc2ee58acfbbfc48dfb2b9a551b3"><div class="ttname"><a href="gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3">DMG_WHITE</a></div><div class="ttdeci">#define DMG_WHITE</div><div class="ttdef"><b>Definition:</b> gb.h:114</div></div> -<div class="ttc" id="agb_8h_html_a8ccd6732d3bdf390cc0943e8567341f3"><div class="ttname"><a href="gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3">DMG_LITE_GRAY</a></div><div class="ttdeci">#define DMG_LITE_GRAY</div><div class="ttdef"><b>Definition:</b> gb.h:113</div></div> +<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:608</div></div> +<div class="ttc" id="agb_8h_html_a45d13a674e169dd83df7e1f46513ccba"><div class="ttname"><a href="gb_8h.html#a45d13a674e169dd83df7e1f46513ccba">DMG_DARK_GRAY</a></div><div class="ttdeci">#define DMG_DARK_GRAY</div><div class="ttdef"><b>Definition:</b> gb.h:114</div></div> +<div class="ttc" id="agb_8h_html_a11cedc2ee58acfbbfc48dfb2b9a551b3"><div class="ttname"><a href="gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3">DMG_WHITE</a></div><div class="ttdeci">#define DMG_WHITE</div><div class="ttdef"><b>Definition:</b> gb.h:116</div></div> +<div class="ttc" id="agb_8h_html_a8ccd6732d3bdf390cc0943e8567341f3"><div class="ttname"><a href="gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3">DMG_LITE_GRAY</a></div><div class="ttdeci">#define DMG_LITE_GRAY</div><div class="ttdef"><b>Definition:</b> gb.h:115</div></div> +<div class="ttc" id="aasm_2types_8h_html_ae0233515480e60d29bcc731469976e02"><div class="ttname"><a href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a></div><div class="ttdeci">#define CRITICAL</div><div class="ttdef"><b>Definition:</b> types.h:42</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/gb_8h.js b/docs/api/gb_8h.js @@ -52,6 +52,7 @@ var gb_8h = [ "BANK", "gb_8h.html#a42705001e2b9897f5167b67fb36c69dd", null ], [ "BANKREF", "gb_8h.html#a086293f2afb4c7945460a4496b20aea3", null ], [ "BANKREF_EXTERN", "gb_8h.html#a261bba55a07b802baf99346feadd9852", null ], + [ "SWITCH_ROM_MEGADUCK", "gb_8h.html#a3fca2d0a22aa2717e62fed659caf4743", null ], [ "SWITCH_ROM_MBC1", "gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f", null ], [ "SWITCH_ROM", "gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc", null ], [ "SWITCH_RAM_MBC1", "gb_8h.html#a38ea3e4dfe02b8eae70df27f39d4a951", null ], @@ -101,59 +102,64 @@ var gb_8h = [ "add_VBL", "gb_8h.html#a0d29659d08708143dd8bc720278e06b5", null ], [ "add_LCD", "gb_8h.html#a9f9f77105099a34556247d5bb03368d1", null ], [ "add_TIM", "gb_8h.html#a028d1a2e820951bb4f103d6469975ffb", null ], + [ "add_low_priority_TIM", "gb_8h.html#a970f18857533e062f4780f6e1c407d69", null ], [ "add_SIO", "gb_8h.html#aa82422752016328ed0765879e286019f", null ], [ "add_JOY", "gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30", null ], [ "nowait_int_handler", "gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9", null ], [ "wait_int_handler", "gb_8h.html#acc9afd0cb72e763a1213d256b942a68f", null ], [ "cancel_pending_interrupts", "gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a", null ], [ "mode", "gb_8h.html#a3ea524204d839377cf39842eec23e202", null ], - [ "get_mode", "gb_8h.html#a4ed6f21654895e40981802fdbe6b003d", null ], + [ "get_mode", "gb_8h.html#a19969b36a6535fc6a966c0e5476baf9c", null ], [ "send_byte", "gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964", null ], [ "receive_byte", "gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7", null ], [ "delay", "gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d", null ], - [ "joypad", "gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1", null ], - [ "waitpad", "gb_8h.html#ac4f9e19d2834988ff005106b3f5b2f05", null ], - [ "waitpadup", "gb_8h.html#a7eeb5f1f697fefdcebd8e68355af4113", null ], + [ "joypad", "gb_8h.html#a176c477d759b814664785f3a0ad5e253", null ], + [ "waitpad", "gb_8h.html#aae433db7d8e3ee4c095c254b8abd7b8b", null ], + [ "waitpadup", "gb_8h.html#a8484d346b788309ac702b7e0b1fca730", null ], [ "joypad_init", "gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e", null ], - [ "joypad_ex", "gb_8h.html#a5166ceebbaa646e2667df1a219c7b903", null ], - [ "enable_interrupts", "gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef", null ], - [ "disable_interrupts", "gb_8h.html#a8a71c706c3eb1343196adf77f5825747", null ], - [ "set_interrupts", "gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54", null ], + [ "joypad_ex", "gb_8h.html#a6e6f8eb1de2ae1ec9adeafbd7b9884db", null ], + [ "enable_interrupts", "gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867", null ], + [ "disable_interrupts", "gb_8h.html#ad77796783b3a601b6f3781dfc3983499", null ], + [ "set_interrupts", "gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3", null ], [ "reset", "gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55", null ], - [ "wait_vbl_done", "gb_8h.html#a68346350199018249bdf8019b7131514", null ], - [ "display_off", "gb_8h.html#a067f16eeb168f3ac9312a4766e7d2ff2", null ], - [ "refresh_OAM", "gb_8h.html#a7542d00af674e3c58b6c9887ab01919f", null ], - [ "hiramcpy", "gb_8h.html#a08365da56dbc2a97c480818c0e6a62b9", null ], - [ "set_vram_byte", "gb_8h.html#a84e320d3c0b1eca4d0b81b848d096582", null ], - [ "get_vram_byte", "gb_8h.html#a6558dad88815aa73fb81fae2ae90473d", null ], - [ "get_bkg_xy_addr", "gb_8h.html#a194b27b9e852e93ae0a4b55fae7fee6d", null ], + [ "wait_vbl_done", "gb_8h.html#acd186eb292d441f9389e77b545a55619", null ], + [ "display_off", "gb_8h.html#a04d57683cdd046dfa45e7e56d7c4ec4d", null ], + [ "refresh_OAM", "gb_8h.html#a2550e7b6b9fd7e1fc495872502311dbb", null ], + [ "hiramcpy", "gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44", null ], + [ "set_vram_byte", "gb_8h.html#a7080649e10765996c581e5b618e603b8", null ], + [ "get_vram_byte", "gb_8h.html#aa33ba8b8d381df76edf15ea251ccb675", null ], + [ "get_bkg_xy_addr", "gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f", null ], [ "set_2bpp_palette", "gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84", null ], [ "set_1bpp_colors_ex", "gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c", null ], [ "set_1bpp_colors", "gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad", null ], - [ "set_bkg_data", "gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07", null ], - [ "set_bkg_1bpp_data", "gb_8h.html#a113055d93ba40767b676f172aa5cc996", null ], - [ "get_bkg_data", "gb_8h.html#a1207717410f1c9beb6a719eef400ffd7", null ], - [ "set_bkg_tiles", "gb_8h.html#a45cb12c6a672558e9a3792d11951707c", null ], + [ "set_bkg_data", "gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626", null ], + [ "set_bkg_1bpp_data", "gb_8h.html#a711fa26feecc76dc51482b0f77062859", null ], + [ "get_bkg_data", "gb_8h.html#a5c13238dfec416439d75b133a272e6df", null ], + [ "set_bkg_tiles", "gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7", null ], + [ "set_bkg_based_tiles", "gb_8h.html#a811c386cac0df2d260aacb5a43608be5", null ], [ "set_bkg_submap", "gb_8h.html#adb21d1c7d533a7133bab36a845489780", null ], - [ "get_bkg_tiles", "gb_8h.html#a68e4586e2401c1e39703571b5b8d934b", null ], - [ "set_bkg_tile_xy", "gb_8h.html#afdacbb553ea16fd0a3a96698be7668f8", null ], - [ "get_bkg_tile_xy", "gb_8h.html#a1a485dfade1a8f07232cbe669a1c1939", null ], + [ "set_bkg_based_submap", "gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0", null ], + [ "get_bkg_tiles", "gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0", null ], + [ "set_bkg_tile_xy", "gb_8h.html#a74ee8f0a3495508c90de4ce246b81060", null ], + [ "get_bkg_tile_xy", "gb_8h.html#a55c6581dbe9300dc6df41730f090af51", null ], [ "move_bkg", "gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57", null ], [ "scroll_bkg", "gb_8h.html#a1f583f7a880daa6145ca78b086a209d1", null ], - [ "get_win_xy_addr", "gb_8h.html#aea1d2b59419abf7c1a9b95bb278f7a6c", null ], - [ "set_win_data", "gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd", null ], - [ "set_win_1bpp_data", "gb_8h.html#a445fa9ede939ca486ae5268e826b3a44", null ], - [ "get_win_data", "gb_8h.html#ab6321884a3f9028ea0056851d4926919", null ], - [ "set_win_tiles", "gb_8h.html#aba807b33ddd5e18ecedc93b05338045e", null ], + [ "get_win_xy_addr", "gb_8h.html#aa8213cfad631865e3b6faec18e772cb4", null ], + [ "set_win_data", "gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f", null ], + [ "set_win_1bpp_data", "gb_8h.html#acd5ee7a94059e6edbe9223f291bc2b46", null ], + [ "get_win_data", "gb_8h.html#a7ef32e7c1669aba48f235500a495baba", null ], + [ "set_win_tiles", "gb_8h.html#a5c59b4ee6323af9832998906d087266b", null ], + [ "set_win_based_tiles", "gb_8h.html#a739a212609ae60c9c56c095f96b4ea80", null ], [ "set_win_submap", "gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de", null ], - [ "get_win_tiles", "gb_8h.html#a7cf5bd73a7493475e17f84995cf865bd", null ], - [ "set_win_tile_xy", "gb_8h.html#a78b307e0fde9289c2b1f4cd6aa0b763c", null ], - [ "get_win_tile_xy", "gb_8h.html#a82582e006a955d2c934786e9d7c29623", null ], + [ "set_win_based_submap", "gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0", null ], + [ "get_win_tiles", "gb_8h.html#a8a469de4c6640f921254b336b5a6191a", null ], + [ "set_win_tile_xy", "gb_8h.html#a0c70a53db1fbc0c99627da3f282befd8", null ], + [ "get_win_tile_xy", "gb_8h.html#a2e29fdca81c28c627c2591029722e71c", null ], [ "move_win", "gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5", null ], [ "scroll_win", "gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044", null ], - [ "set_sprite_data", "gb_8h.html#ac40ffe4802ea41e5cee0ac3d4b254e08", null ], - [ "set_sprite_1bpp_data", "gb_8h.html#a427965ccaaa956d51bf4e7f14cc39b0f", null ], - [ "get_sprite_data", "gb_8h.html#abc82930da7beb0611778f8644e90b5e9", null ], + [ "set_sprite_data", "gb_8h.html#ae45b1c639698951b47e44fa8e89556f2", null ], + [ "set_sprite_1bpp_data", "gb_8h.html#ab3e60c92c9f8fbed855f8712187ea3ea", null ], + [ "get_sprite_data", "gb_8h.html#adcdec4034a14abc5be9bb88c29b947c9", null ], [ "SET_SHADOW_OAM_ADDRESS", "gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687", null ], [ "set_sprite_tile", "gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe", null ], [ "get_sprite_tile", "gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a", null ], @@ -162,18 +168,18 @@ var gb_8h = [ "move_sprite", "gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd", null ], [ "scroll_sprite", "gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe", null ], [ "hide_sprite", "gb_8h.html#ad22c51635d052399bbbe1777999c794d", null ], - [ "set_data", "gb_8h.html#aa4dc1c2f6f54a564b719b2bd5a0b3c62", null ], - [ "get_data", "gb_8h.html#a924aa554f639022be104392891e156cd", null ], - [ "vmemcpy", "gb_8h.html#ac9f0aa82f8e34812a406263aad57d4d9", null ], - [ "set_tiles", "gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b", null ], - [ "set_tile_data", "gb_8h.html#a0756c9c45dcf042a146d2a54290e9f6a", null ], - [ "get_tiles", "gb_8h.html#afdc3ad3ac77ec32609195ae125b919e1", null ], + [ "set_data", "gb_8h.html#a650d2df96e69a40b70548ab468e00f25", null ], + [ "get_data", "gb_8h.html#afd8fd71eaa36b0ddd54a2e8e516ed224", null ], + [ "vmemcpy", "gb_8h.html#a36f9e5d95c2d7d58f203b5ac358e25e7", null ], + [ "set_tiles", "gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c", null ], + [ "set_tile_data", "gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30", null ], + [ "get_tiles", "gb_8h.html#a728b9440accedc5fb3477be3d150323a", null ], [ "set_native_tile_data", "gb_8h.html#a68651e50243349b48164a8ad983dca4e", null ], - [ "init_win", "gb_8h.html#a1df9458387eecf1a164098e90350e561", null ], - [ "init_bkg", "gb_8h.html#ac7cc92070d07d5096e2ccef3ea54cade", null ], - [ "vmemset", "gb_8h.html#abb54953bdb190aa0bb76724ae3d5d214", null ], - [ "fill_bkg_rect", "gb_8h.html#ab22d0a3d624ff20198577c71aa755c19", null ], - [ "fill_win_rect", "gb_8h.html#a9eac2f4130d55f411aad246658d046a9", null ], + [ "init_win", "gb_8h.html#af6ac67037de041eb0141ba3725b1db83", null ], + [ "init_bkg", "gb_8h.html#a46058204097dd305bf72bc20ea7f7a3b", null ], + [ "vmemset", "gb_8h.html#a97bab71effd5e4e386629cb6ca5816cf", null ], + [ "fill_bkg_rect", "gb_8h.html#a74c3f53fca019f7abcd1270650808849", null ], + [ "fill_win_rect", "gb_8h.html#ad5bc3dc922707507aa51ed7f5b4a21e3", null ], [ "c", "gb_8h.html#a0b3366755f3276b0243c1e0497471b7a", null ], [ "_cpu", "gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45", null ], [ "_is_GBA", "gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36", null ], @@ -188,6 +194,8 @@ var gb_8h = [ "d", "gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e", null ], [ "e", "gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79", null ], [ "_current_1bpp_colors", "gb_8h.html#a250f5339e05523912926be566e9eb8c0", null ], + [ "_map_tile_offset", "gb_8h.html#aa82205e9629f984d0b3dc8055c211522", null ], + [ "_submap_tile_offset", "gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c", null ], [ "shadow_OAM", "gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551", null ], [ "_shadow_OAM_base", "gb_8h.html#a7b662ae4d83f9837bacb9fd580673054", null ] ]; diff --git a/docs/api/gb_8h_source.html b/docs/api/gb_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -106,623 +107,673 @@ $(document).ready(function(){initNavTree('gb_8h_source.html',''); initResizable( <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#define ANALOGUEPOCKET</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#elif defined(__TARGET_gb)</span></div> <div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="gb_8h.html#af10046e88cba47031142a763a94210df"> 19</a></span> <span class="preprocessor">#define GAMEBOY</span></div> -<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  </div> -<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  </div> -<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="gb_8h.html#a05ca817ab32f6da612c3ae26db5abf02"> 36</a></span> <span class="preprocessor">#define J_UP 0x04U</span></div> -<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="gb_8h.html#ae032c5c544196e37ec0432f6cfad7904"> 37</a></span> <span class="preprocessor">#define J_DOWN 0x08U</span></div> -<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="gb_8h.html#ac70894fecac30c1ca9917f07373cf81c"> 38</a></span> <span class="preprocessor">#define J_LEFT 0x02U</span></div> -<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="gb_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325"> 39</a></span> <span class="preprocessor">#define J_RIGHT 0x01U</span></div> -<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="gb_8h.html#a31af766e3b598eb7a6b63f55a4988e7a"> 40</a></span> <span class="preprocessor">#define J_A 0x10U</span></div> -<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="gb_8h.html#ae47e59a309120f9420993f26816b5e6d"> 41</a></span> <span class="preprocessor">#define J_B 0x20U</span></div> -<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="gb_8h.html#ab416a9d96d1582490828f4bac78a8b5b"> 42</a></span> <span class="preprocessor">#define J_SELECT 0x40U</span></div> -<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="gb_8h.html#ab769c6e20778298be8bc3321476ceb53"> 43</a></span> <span class="preprocessor">#define J_START 0x80U</span></div> -<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  </div> -<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="gb_8h.html#acc9798fc62b5d626c91c8b0f20b522ff"> 49</a></span> <span class="preprocessor">#define M_DRAWING 0x01U</span></div> -<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="gb_8h.html#af0e30d6af308ffe5a025fbe85da40f6f"> 50</a></span> <span class="preprocessor">#define M_TEXT_OUT 0x02U</span></div> -<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="gb_8h.html#a908826e7180f94a5988ceb8633313a2e"> 51</a></span> <span class="preprocessor">#define M_TEXT_INOUT 0x03U</span></div> -<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  </div> -<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="gb_8h.html#a04382de20738146fe873ddfb0585052b"> 57</a></span> <span class="preprocessor">#define M_NO_SCROLL 0x04U</span></div> -<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  </div> -<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="gb_8h.html#aca2855edd2d28f66be551a0f7ec23f07"> 61</a></span> <span class="preprocessor">#define M_NO_INTERP 0x08U</span></div> -<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  </div> -<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="gb_8h.html#a54572cf6791463b6d60623837e0bb5a6"> 67</a></span> <span class="preprocessor">#define S_PALETTE 0x10U</span></div> -<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  </div> -<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="gb_8h.html#ae97793b4039609f93b0f7f8bddb18011"> 71</a></span> <span class="preprocessor">#define S_FLIPX 0x20U</span></div> -<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  </div> -<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="gb_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b"> 75</a></span> <span class="preprocessor">#define S_FLIPY 0x40U</span></div> -<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  </div> -<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="gb_8h.html#a9506d04c2ec7d2442a52054f67d2b32f"> 80</a></span> <span class="preprocessor">#define S_PRIORITY 0x80U</span></div> -<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  </div> -<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/* Interrupt flags */</span></div> -<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="gb_8h.html#aa027abe630d44039f238034bcb2d2f36"> 85</a></span> <span class="preprocessor">#define EMPTY_IFLAG 0x00U</span></div> -<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  </div> -<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="gb_8h.html#a2ca7720b9a5da9b2173e1f74dba85541"> 91</a></span> <span class="preprocessor">#define VBL_IFLAG 0x01U</span></div> -<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  </div> -<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="gb_8h.html#a61a9e2910380de6abb34df14ef634eb4"> 95</a></span> <span class="preprocessor">#define LCD_IFLAG 0x02U</span></div> -<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  </div> -<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="gb_8h.html#a604256210ec5b90b68185e1a18efab49"> 99</a></span> <span class="preprocessor">#define TIM_IFLAG 0x04U</span></div> -<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div> -<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="gb_8h.html#ad90564458646c5646b3880b93db3443e"> 103</a></span> <span class="preprocessor">#define SIO_IFLAG 0x08U</span></div> -<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  </div> -<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="gb_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280"> 107</a></span> <span class="preprocessor">#define JOY_IFLAG 0x10U</span></div> -<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  </div> -<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  </div> -<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/* DMG Palettes */</span></div> -<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="gb_8h.html#ab311e53739c992294ae07ca506a924ad"> 111</a></span> <span class="preprocessor">#define DMG_BLACK 0x03</span></div> -<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="gb_8h.html#a45d13a674e169dd83df7e1f46513ccba"> 112</a></span> <span class="preprocessor">#define DMG_DARK_GRAY 0x02</span></div> -<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3"> 113</a></span> <span class="preprocessor">#define DMG_LITE_GRAY 0x01</span></div> -<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3"> 114</a></span> <span class="preprocessor">#define DMG_WHITE 0x00</span></div> -<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  </div> -<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="gb_8h.html#a9727caafc483ba6ec65e9344b033d684"> 134</a></span> <span class="preprocessor">#define DMG_PALETTE(C0, C1, C2, C3) ((uint8_t)((((C3) & 0x03) << 6) | (((C2) & 0x03) << 4) | (((C1) & 0x03) << 2) | ((C0) & 0x03)))</span></div> -<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  </div> -<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/* Limits */</span></div> -<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="gb_8h.html#ada0cc738d27aad251151e69cb8d250e1"> 139</a></span> <span class="preprocessor">#define SCREENWIDTH DEVICE_SCREEN_PX_WIDTH</span></div> -<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  </div> -<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="gb_8h.html#ae189e98d0ef9263c37869ce1ff3710a5"> 142</a></span> <span class="preprocessor">#define SCREENHEIGHT DEVICE_SCREEN_PX_HEIGHT</span></div> -<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  </div> -<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="gb_8h.html#a5a796bbf3e4347d914b83568350143a9"> 145</a></span> <span class="preprocessor">#define MINWNDPOSX 0x07U</span></div> -<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  </div> -<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="gb_8h.html#af3d632ba2d7cef6619df5dfea8730909"> 148</a></span> <span class="preprocessor">#define MINWNDPOSY 0x00U</span></div> -<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  </div> -<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="gb_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5"> 151</a></span> <span class="preprocessor">#define MAXWNDPOSX 0xA6U</span></div> -<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  </div> -<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="gb_8h.html#ad57f2f8c54204687f02801d8ab1bd150"> 154</a></span> <span class="preprocessor">#define MAXWNDPOSY 0x8FU</span></div> -<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  </div> -<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  </div> -<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d"> 159</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>)(void) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> -<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  </div> -<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386"> 168</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386">remove_VBL</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  </div> -<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="gb_8h.html#a32683767caa2a263a1f494b3605786e7"> 173</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a32683767caa2a263a1f494b3605786e7">remove_LCD</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  </div> -<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="gb_8h.html#a142f6c7755fce8b1148faf658d8ec147"> 178</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a142f6c7755fce8b1148faf658d8ec147">remove_TIM</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  </div> -<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="gb_8h.html#a5b821b31215361265d8b7894a9ae7118"> 192</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a5b821b31215361265d8b7894a9ae7118">remove_SIO</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  </div> -<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="gb_8h.html#a4a3e87e0917d5efb6bc7c94e9754fcd0"> 197</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a4a3e87e0917d5efb6bc7c94e9754fcd0">remove_JOY</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  </div> -<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5"> 215</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">add_VBL</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  </div> -<div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="gb_8h.html#a9f9f77105099a34556247d5bb03368d1"> 233</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a9f9f77105099a34556247d5bb03368d1">add_LCD</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  </div> -<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="gb_8h.html#a028d1a2e820951bb4f103d6469975ffb"> 244</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a028d1a2e820951bb4f103d6469975ffb">add_TIM</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  </div> -<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  </div> -<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="gb_8h.html#aa82422752016328ed0765879e286019f"> 256</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aa82422752016328ed0765879e286019f">add_SIO</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  </div> -<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  </div> -<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30"> 271</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30">add_JOY</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#elif defined(__TARGET_duck)</span></div> +<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#define MEGADUCK</span></div> +<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  </div> +<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  </div> +<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="gb_8h.html#a05ca817ab32f6da612c3ae26db5abf02"> 38</a></span> <span class="preprocessor">#define J_UP 0x04U</span></div> +<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="gb_8h.html#ae032c5c544196e37ec0432f6cfad7904"> 39</a></span> <span class="preprocessor">#define J_DOWN 0x08U</span></div> +<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="gb_8h.html#ac70894fecac30c1ca9917f07373cf81c"> 40</a></span> <span class="preprocessor">#define J_LEFT 0x02U</span></div> +<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="gb_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325"> 41</a></span> <span class="preprocessor">#define J_RIGHT 0x01U</span></div> +<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="gb_8h.html#a31af766e3b598eb7a6b63f55a4988e7a"> 42</a></span> <span class="preprocessor">#define J_A 0x10U</span></div> +<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="gb_8h.html#ae47e59a309120f9420993f26816b5e6d"> 43</a></span> <span class="preprocessor">#define J_B 0x20U</span></div> +<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="gb_8h.html#ab416a9d96d1582490828f4bac78a8b5b"> 44</a></span> <span class="preprocessor">#define J_SELECT 0x40U</span></div> +<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="gb_8h.html#ab769c6e20778298be8bc3321476ceb53"> 45</a></span> <span class="preprocessor">#define J_START 0x80U</span></div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  </div> +<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="gb_8h.html#acc9798fc62b5d626c91c8b0f20b522ff"> 51</a></span> <span class="preprocessor">#define M_DRAWING 0x01U</span></div> +<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="gb_8h.html#af0e30d6af308ffe5a025fbe85da40f6f"> 52</a></span> <span class="preprocessor">#define M_TEXT_OUT 0x02U</span></div> +<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="gb_8h.html#a908826e7180f94a5988ceb8633313a2e"> 53</a></span> <span class="preprocessor">#define M_TEXT_INOUT 0x03U</span></div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  </div> +<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="gb_8h.html#a04382de20738146fe873ddfb0585052b"> 59</a></span> <span class="preprocessor">#define M_NO_SCROLL 0x04U</span></div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  </div> +<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="gb_8h.html#aca2855edd2d28f66be551a0f7ec23f07"> 63</a></span> <span class="preprocessor">#define M_NO_INTERP 0x08U</span></div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  </div> +<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="gb_8h.html#a54572cf6791463b6d60623837e0bb5a6"> 69</a></span> <span class="preprocessor">#define S_PALETTE 0x10U</span></div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  </div> +<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="gb_8h.html#ae97793b4039609f93b0f7f8bddb18011"> 73</a></span> <span class="preprocessor">#define S_FLIPX 0x20U</span></div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  </div> +<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="gb_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b"> 77</a></span> <span class="preprocessor">#define S_FLIPY 0x40U</span></div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  </div> +<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="gb_8h.html#a9506d04c2ec7d2442a52054f67d2b32f"> 82</a></span> <span class="preprocessor">#define S_PRIORITY 0x80U</span></div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  </div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">/* Interrupt flags */</span></div> +<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="gb_8h.html#aa027abe630d44039f238034bcb2d2f36"> 87</a></span> <span class="preprocessor">#define EMPTY_IFLAG 0x00U</span></div> +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  </div> +<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="gb_8h.html#a2ca7720b9a5da9b2173e1f74dba85541"> 93</a></span> <span class="preprocessor">#define VBL_IFLAG 0x01U</span></div> +<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  </div> +<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="gb_8h.html#a61a9e2910380de6abb34df14ef634eb4"> 97</a></span> <span class="preprocessor">#define LCD_IFLAG 0x02U</span></div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  </div> +<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="gb_8h.html#a604256210ec5b90b68185e1a18efab49"> 101</a></span> <span class="preprocessor">#define TIM_IFLAG 0x04U</span></div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  </div> +<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="gb_8h.html#ad90564458646c5646b3880b93db3443e"> 105</a></span> <span class="preprocessor">#define SIO_IFLAG 0x08U</span></div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  </div> +<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="gb_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280"> 109</a></span> <span class="preprocessor">#define JOY_IFLAG 0x10U</span></div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  </div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  </div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/* DMG Palettes */</span></div> +<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="gb_8h.html#ab311e53739c992294ae07ca506a924ad"> 113</a></span> <span class="preprocessor">#define DMG_BLACK 0x03</span></div> +<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="gb_8h.html#a45d13a674e169dd83df7e1f46513ccba"> 114</a></span> <span class="preprocessor">#define DMG_DARK_GRAY 0x02</span></div> +<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3"> 115</a></span> <span class="preprocessor">#define DMG_LITE_GRAY 0x01</span></div> +<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3"> 116</a></span> <span class="preprocessor">#define DMG_WHITE 0x00</span></div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  </div> +<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="gb_8h.html#a9727caafc483ba6ec65e9344b033d684"> 136</a></span> <span class="preprocessor">#define DMG_PALETTE(C0, C1, C2, C3) ((uint8_t)((((C3) & 0x03) << 6) | (((C2) & 0x03) << 4) | (((C1) & 0x03) << 2) | ((C0) & 0x03)))</span></div> +<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  </div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/* Limits */</span></div> +<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="gb_8h.html#ada0cc738d27aad251151e69cb8d250e1"> 141</a></span> <span class="preprocessor">#define SCREENWIDTH DEVICE_SCREEN_PX_WIDTH</span></div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  </div> +<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="gb_8h.html#ae189e98d0ef9263c37869ce1ff3710a5"> 144</a></span> <span class="preprocessor">#define SCREENHEIGHT DEVICE_SCREEN_PX_HEIGHT</span></div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  </div> +<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="gb_8h.html#a5a796bbf3e4347d914b83568350143a9"> 147</a></span> <span class="preprocessor">#define MINWNDPOSX 0x07U</span></div> +<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  </div> +<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="gb_8h.html#af3d632ba2d7cef6619df5dfea8730909"> 150</a></span> <span class="preprocessor">#define MINWNDPOSY 0x00U</span></div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  </div> +<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="gb_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5"> 153</a></span> <span class="preprocessor">#define MAXWNDPOSX 0xA6U</span></div> +<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  </div> +<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="gb_8h.html#ad57f2f8c54204687f02801d8ab1bd150"> 156</a></span> <span class="preprocessor">#define MAXWNDPOSY 0x8FU</span></div> +<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  </div> +<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  </div> +<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d"> 161</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>)(void) <a class="code" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> +<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  </div> +<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386"> 170</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386">remove_VBL</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  </div> +<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="gb_8h.html#a32683767caa2a263a1f494b3605786e7"> 175</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a32683767caa2a263a1f494b3605786e7">remove_LCD</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  </div> +<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="gb_8h.html#a142f6c7755fce8b1148faf658d8ec147"> 180</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a142f6c7755fce8b1148faf658d8ec147">remove_TIM</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  </div> +<div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="gb_8h.html#a5b821b31215361265d8b7894a9ae7118"> 194</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a5b821b31215361265d8b7894a9ae7118">remove_SIO</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  </div> +<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="gb_8h.html#a4a3e87e0917d5efb6bc7c94e9754fcd0"> 199</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a4a3e87e0917d5efb6bc7c94e9754fcd0">remove_JOY</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  </div> +<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5"> 217</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">add_VBL</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  </div> +<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="gb_8h.html#a9f9f77105099a34556247d5bb03368d1"> 234</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a9f9f77105099a34556247d5bb03368d1">add_LCD</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  </div> +<div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="gb_8h.html#a028d1a2e820951bb4f103d6469975ffb"> 246</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a028d1a2e820951bb4f103d6469975ffb">add_TIM</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  </div> +<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="gb_8h.html#a970f18857533e062f4780f6e1c407d69"> 260</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a970f18857533e062f4780f6e1c407d69">add_low_priority_TIM</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  </div> +<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="gb_8h.html#aa82422752016328ed0765879e286019f"> 270</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aa82422752016328ed0765879e286019f">add_SIO</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  </div> <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  </div> -<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  </div> -<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9"> 289</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9">nowait_int_handler</a>();</div> -<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  </div> -<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  </div> -<div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="gb_8h.html#acc9afd0cb72e763a1213d256b942a68f"> 304</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#acc9afd0cb72e763a1213d256b942a68f">wait_int_handler</a>();</div> -<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  </div> -<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a"> 308</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a">cancel_pending_interrupts</a>() {</div> -<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordflow">return</span> <a class="code" href="gb_2hardware_8h.html#a509a5d0f138b40830cb447a862573be5">IF_REG</a> = 0;</div> -<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> }</div> -<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  </div> -<div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="gb_8h.html#a3ea524204d839377cf39842eec23e202"> 318</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a3ea524204d839377cf39842eec23e202">mode</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> m) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  </div> -<div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="gb_8h.html#a4ed6f21654895e40981802fdbe6b003d"> 324</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a4ed6f21654895e40981802fdbe6b003d">get_mode</a>() <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  </div> -<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> extern <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45">_cpu</a>;</div> -<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  </div> -<div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="gb_8h.html#a0031c07799247a6d6c1bfa3decac79d0"> 334</a></span> <span class="preprocessor">#define DMG_TYPE 0x01</span></div> -<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  </div> -<div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="gb_8h.html#ae996ed4fd8bb6b308b9c8708a91df06b"> 337</a></span> <span class="preprocessor">#define MGB_TYPE 0xFF</span></div> +<div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30"> 284</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30">add_JOY</a>(<a class="code" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  </div> +<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  </div> +<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9"> 302</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9">nowait_int_handler</a>();</div> +<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  </div> +<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  </div> +<div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="gb_8h.html#acc9afd0cb72e763a1213d256b942a68f"> 317</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#acc9afd0cb72e763a1213d256b942a68f">wait_int_handler</a>();</div> +<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  </div> +<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a"> 321</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a">cancel_pending_interrupts</a>() {</div> +<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">return</span> <a class="code" href="gb_2hardware_8h.html#a509a5d0f138b40830cb447a862573be5">IF_REG</a> = 0;</div> +<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> }</div> +<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  </div> +<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="gb_8h.html#a3ea524204d839377cf39842eec23e202"> 331</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a3ea524204d839377cf39842eec23e202">mode</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> m) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  </div> +<div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="gb_8h.html#a19969b36a6535fc6a966c0e5476baf9c"> 337</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a19969b36a6535fc6a966c0e5476baf9c">get_mode</a>() <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  </div> -<div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="gb_8h.html#aee435a3a0dde3dbd7b6112dbb456cde8"> 340</a></span> <span class="preprocessor">#define CGB_TYPE 0x11</span></div> -<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  </div> -<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36">_is_GBA</a>;</div> -<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  </div> -<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="gb_8h.html#aa311f84dd9fce6e136ba4881e7b0d98d"> 350</a></span> <span class="preprocessor">#define GBA_NOT_DETECTED 0x00</span></div> +<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> extern <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45">_cpu</a>;</div> +<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  </div> +<div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="gb_8h.html#a0031c07799247a6d6c1bfa3decac79d0"> 347</a></span> <span class="preprocessor">#define DMG_TYPE 0x01</span></div> +<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  </div> +<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="gb_8h.html#ae996ed4fd8bb6b308b9c8708a91df06b"> 350</a></span> <span class="preprocessor">#define MGB_TYPE 0xFF</span></div> <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  </div> -<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="gb_8h.html#a6ccf5d0f34fb0af0b6e73b9df0ccd745"> 353</a></span> <span class="preprocessor">#define GBA_DETECTED 0x01</span></div> +<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="gb_8h.html#aee435a3a0dde3dbd7b6112dbb456cde8"> 353</a></span> <span class="preprocessor">#define CGB_TYPE 0x11</span></div> <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  </div> -<div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="gb_8h.html#a231ec05679809190782e61c6e8aaaba4"> 357</a></span> <span class="preprocessor">#define DEVICE_SUPPORTS_COLOR (_cpu == CGB_TYPE)</span></div> -<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  </div> -<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="gb_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a>;</div> -<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  </div> +<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36">_is_GBA</a>;</div> +<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  </div> +<div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="gb_8h.html#aa311f84dd9fce6e136ba4881e7b0d98d"> 363</a></span> <span class="preprocessor">#define GBA_NOT_DETECTED 0x00</span></div> +<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  </div> +<div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="gb_8h.html#a6ccf5d0f34fb0af0b6e73b9df0ccd745"> 366</a></span> <span class="preprocessor">#define GBA_DETECTED 0x01</span></div> <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  </div> -<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  </div> -<div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964"> 376</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964">send_byte</a>();</div> -<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  </div> -<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7"> 385</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7">receive_byte</a>();</div> -<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  </div> -<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a2e3415ce2f7fb63427618bd9b9cb6635">_io_status</a>;</div> -<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  </div> -<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a02f3a1585ae654444e628c1aa98ef0cf">_io_in</a>;</div> -<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  </div> -<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#acae13736da20f9fc53e8d38934aa2119">_io_out</a>;</div> -<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  </div> -<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment">/* Status codes */</span></div> -<div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="gb_8h.html#a268cc6c704e16f3fa02dd1cf0e17070a"> 400</a></span> <span class="preprocessor">#define IO_IDLE 0x00U</span></div> -<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  </div> -<div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="gb_8h.html#ab69a3f7cd2c6b5eb4f518aefee099007"> 402</a></span> <span class="preprocessor">#define IO_SENDING 0x01U</span></div> -<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  </div> -<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="gb_8h.html#aee03efddee0f2f6fbcaec789301aaa9b"> 404</a></span> <span class="preprocessor">#define IO_RECEIVING 0x02U</span></div> -<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  </div> -<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="gb_8h.html#a5d4c9c7b61a0326a939f9109f96d7423"> 406</a></span> <span class="preprocessor">#define IO_ERROR 0x04U</span></div> -<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  </div> -<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  </div> -<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  </div> -<div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a"> 414</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a">_current_bank</a>;</div> -<div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="gb_8h.html#ae042588f20bf5a2349c8ad8716245233"> 415</a></span> <span class="preprocessor">#define CURRENT_BANK _current_bank</span></div> +<div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="gb_8h.html#a231ec05679809190782e61c6e8aaaba4"> 370</a></span> <span class="preprocessor">#define DEVICE_SUPPORTS_COLOR (_cpu == CGB_TYPE)</span></div> +<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  </div> +<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="gb_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a>;</div> +<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  </div> +<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  </div> +<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  </div> +<div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964"> 389</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964">send_byte</a>();</div> +<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  </div> +<div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7"> 398</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7">receive_byte</a>();</div> +<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  </div> +<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a2e3415ce2f7fb63427618bd9b9cb6635">_io_status</a>;</div> +<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  </div> +<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a02f3a1585ae654444e628c1aa98ef0cf">_io_in</a>;</div> +<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  </div> +<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#acae13736da20f9fc53e8d38934aa2119">_io_out</a>;</div> +<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  </div> +<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment">/* Status codes */</span></div> +<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="gb_8h.html#a268cc6c704e16f3fa02dd1cf0e17070a"> 413</a></span> <span class="preprocessor">#define IO_IDLE 0x00U</span></div> +<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  </div> +<div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="gb_8h.html#ab69a3f7cd2c6b5eb4f518aefee099007"> 415</a></span> <span class="preprocessor">#define IO_SENDING 0x01U</span></div> <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  </div> -<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="preprocessor">#ifndef BANK</span></div> -<div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="gb_8h.html#a42705001e2b9897f5167b67fb36c69dd"> 427</a></span> <span class="preprocessor">#define BANK(VARNAME) ( (uint8_t) & __bank_ ## VARNAME )</span></div> -<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="gb_8h.html#aee03efddee0f2f6fbcaec789301aaa9b"> 417</a></span> <span class="preprocessor">#define IO_RECEIVING 0x02U</span></div> +<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  </div> +<div class="line"><a name="l00419"></a><span class="lineno"><a class="line" href="gb_8h.html#a5d4c9c7b61a0326a939f9109f96d7423"> 419</a></span> <span class="preprocessor">#define IO_ERROR 0x04U</span></div> +<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  </div> +<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  </div> +<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  </div> +<div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a"> 427</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a">_current_bank</a>;</div> +<div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="gb_8h.html#ae042588f20bf5a2349c8ad8716245233"> 428</a></span> <span class="preprocessor">#define CURRENT_BANK _current_bank</span></div> <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  </div> -<div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3"> 442</a></span> <span class="preprocessor">#define BANKREF(VARNAME) void __func_ ## VARNAME() __banked __naked { \</span></div> -<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="preprocessor">__asm \</span></div> -<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="preprocessor"> .local b___func_ ## VARNAME \</span></div> -<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="preprocessor"> ___bank_ ## VARNAME = b___func_ ## VARNAME \</span></div> -<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="preprocessor"> .globl ___bank_ ## VARNAME \</span></div> -<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="preprocessor">__endasm; \</span></div> -<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="preprocessor">}</span></div> -<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  </div> -<div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="gb_8h.html#a261bba55a07b802baf99346feadd9852"> 459</a></span> <span class="preprocessor">#define BANKREF_EXTERN(VARNAME) extern const void __bank_ ## VARNAME;</span></div> -<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  </div> -<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  </div> -<div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f"> 465</a></span> <span class="preprocessor">#define SWITCH_ROM_MBC1(b) \</span></div> -<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="preprocessor"> _current_bank = (b), *(uint8_t *)0x2000 = (b)</span></div> -<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  </div> -<div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc"> 473</a></span> <span class="preprocessor">#define SWITCH_ROM SWITCH_ROM_MBC1</span></div> -<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  </div> -<div class="line"><a name="l00478"></a><span class="lineno"><a class="line" href="gb_8h.html#a38ea3e4dfe02b8eae70df27f39d4a951"> 478</a></span> <span class="preprocessor">#define SWITCH_RAM_MBC1(b) \</span></div> -<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="preprocessor"> *(uint8_t *)0x4000 = (b)</span></div> +<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="preprocessor">#ifndef BANK</span></div> +<div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="gb_8h.html#a42705001e2b9897f5167b67fb36c69dd"> 440</a></span> <span class="preprocessor">#define BANK(VARNAME) ( (uint8_t) & __bank_ ## VARNAME )</span></div> +<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  </div> +<div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3"> 455</a></span> <span class="preprocessor">#define BANKREF(VARNAME) void __func_ ## VARNAME() __banked __naked { \</span></div> +<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="preprocessor">__asm \</span></div> +<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="preprocessor"> .local b___func_ ## VARNAME \</span></div> +<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="preprocessor"> ___bank_ ## VARNAME = b___func_ ## VARNAME \</span></div> +<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="preprocessor"> .globl ___bank_ ## VARNAME \</span></div> +<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="preprocessor">__endasm; \</span></div> +<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="preprocessor">}</span></div> +<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  </div> +<div class="line"><a name="l00472"></a><span class="lineno"><a class="line" href="gb_8h.html#a261bba55a07b802baf99346feadd9852"> 472</a></span> <span class="preprocessor">#define BANKREF_EXTERN(VARNAME) extern const void __bank_ ## VARNAME;</span></div> +<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  </div> +<div class="line"><a name="l00477"></a><span class="lineno"><a class="line" href="gb_8h.html#a3fca2d0a22aa2717e62fed659caf4743"> 477</a></span> <span class="preprocessor">#define SWITCH_ROM_MEGADUCK(b) \</span></div> +<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="preprocessor"> _current_bank = (b), *(uint8_t *)0x0001 = (b)</span></div> +<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  </div> <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  </div> -<div class="line"><a name="l00486"></a><span class="lineno"><a class="line" href="gb_8h.html#a6e40dcc763efd953181c7400642a9f69"> 486</a></span> <span class="preprocessor">#define SWITCH_RAM SWITCH_RAM_MBC1</span></div> -<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  </div> -<div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="gb_8h.html#ae202f64307ec00f6970ef9225e54646c"> 490</a></span> <span class="preprocessor">#define ENABLE_RAM_MBC1 \</span></div> -<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="preprocessor"> *(uint8_t *)0x0000 = 0x0A</span></div> -<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  </div> -<div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="gb_8h.html#a0e9c88657beaac946231a4801481b97f"> 493</a></span> <span class="preprocessor">#define ENABLE_RAM ENABLE_RAM_MBC1</span></div> -<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  </div> -<div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="gb_8h.html#a177fadce938422926b186a8e42575d1d"> 497</a></span> <span class="preprocessor">#define DISABLE_RAM_MBC1 \</span></div> -<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="preprocessor"> *(uint8_t *)0x0000 = 0x00</span></div> -<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  </div> -<div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="gb_8h.html#a649d27b5587de16a66176e03a1b8ebd5"> 500</a></span> <span class="preprocessor">#define DISABLE_RAM DISABLE_RAM_MBC1</span></div> -<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  </div> -<div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="gb_8h.html#a0c689c5a814f1c347c4d98f28ed6c7d6"> 502</a></span> <span class="preprocessor">#define SWITCH_16_8_MODE_MBC1 \</span></div> -<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="preprocessor"> *(uint8_t *)0x6000 = 0x00</span></div> -<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  </div> -<div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="gb_8h.html#aa5d64e386a00b373f22ffdc5a152c7ba"> 505</a></span> <span class="preprocessor">#define SWITCH_4_32_MODE_MBC1 \</span></div> -<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="preprocessor"> *(uint8_t *)0x6000 = 0x01</span></div> -<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  </div> -<div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="gb_8h.html#a92d040284342702026eb19dab59b586e"> 513</a></span> <span class="preprocessor">#define SWITCH_ROM_MBC5(b) \</span></div> -<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="preprocessor"> _current_bank = (b), \</span></div> -<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="preprocessor"> *(uint8_t *)0x3000 = 0, \</span></div> -<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="preprocessor"> *(uint8_t *)0x2000 = (b)</span></div> +<div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f"> 484</a></span> <span class="preprocessor">#define SWITCH_ROM_MBC1(b) \</span></div> +<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="preprocessor"> _current_bank = (b), *(uint8_t *)0x2000 = (b)</span></div> +<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  </div> +<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="preprocessor">#if defined(__TARGET_duck)</span></div> +<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="preprocessor">#define SWITCH_ROM SWITCH_ROM_MEGADUCK</span></div> +<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="preprocessor">#else</span></div> +<div class="line"><a name="l00495"></a><span class="lineno"><a class="line" href="gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc"> 495</a></span> <span class="preprocessor">#define SWITCH_ROM SWITCH_ROM_MBC1</span></div> +<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  </div> +<div class="line"><a name="l00501"></a><span class="lineno"><a class="line" href="gb_8h.html#a38ea3e4dfe02b8eae70df27f39d4a951"> 501</a></span> <span class="preprocessor">#define SWITCH_RAM_MBC1(b) \</span></div> +<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="preprocessor"> *(uint8_t *)0x4000 = (b)</span></div> +<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  </div> +<div class="line"><a name="l00509"></a><span class="lineno"><a class="line" href="gb_8h.html#a6e40dcc763efd953181c7400642a9f69"> 509</a></span> <span class="preprocessor">#define SWITCH_RAM SWITCH_RAM_MBC1</span></div> +<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  </div> +<div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="gb_8h.html#ae202f64307ec00f6970ef9225e54646c"> 513</a></span> <span class="preprocessor">#define ENABLE_RAM_MBC1 \</span></div> +<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="preprocessor"> *(uint8_t *)0x0000 = 0x0A</span></div> +<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  </div> +<div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="gb_8h.html#a0e9c88657beaac946231a4801481b97f"> 516</a></span> <span class="preprocessor">#define ENABLE_RAM ENABLE_RAM_MBC1</span></div> <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  </div> -<div class="line"><a name="l00524"></a><span class="lineno"><a class="line" href="gb_8h.html#a6c15ebc660abd3a978137493ab63ffe9"> 524</a></span> <span class="preprocessor">#define SWITCH_ROM_MBC5_8M(b) \</span></div> -<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="preprocessor"> *(uint8_t *)0x3000 = ((uint16_t)(b) >> 8), \</span></div> -<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="preprocessor"> *(uint8_t *)0x2000 = (b)</span></div> +<div class="line"><a name="l00520"></a><span class="lineno"><a class="line" href="gb_8h.html#a177fadce938422926b186a8e42575d1d"> 520</a></span> <span class="preprocessor">#define DISABLE_RAM_MBC1 \</span></div> +<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="preprocessor"> *(uint8_t *)0x0000 = 0x00</span></div> +<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  </div> +<div class="line"><a name="l00523"></a><span class="lineno"><a class="line" href="gb_8h.html#a649d27b5587de16a66176e03a1b8ebd5"> 523</a></span> <span class="preprocessor">#define DISABLE_RAM DISABLE_RAM_MBC1</span></div> +<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  </div> +<div class="line"><a name="l00525"></a><span class="lineno"><a class="line" href="gb_8h.html#a0c689c5a814f1c347c4d98f28ed6c7d6"> 525</a></span> <span class="preprocessor">#define SWITCH_16_8_MODE_MBC1 \</span></div> +<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="preprocessor"> *(uint8_t *)0x6000 = 0x00</span></div> <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  </div> -<div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="gb_8h.html#a361d5055a7ae880fc1c9d6e0d1164fd6"> 531</a></span> <span class="preprocessor">#define SWITCH_RAM_MBC5(b) \</span></div> -<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="preprocessor"> *(uint8_t *)0x4000 = (b)</span></div> -<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  </div> -<div class="line"><a name="l00536"></a><span class="lineno"><a class="line" href="gb_8h.html#a3f033f00c8d781637f9a665b06750937"> 536</a></span> <span class="preprocessor">#define ENABLE_RAM_MBC5 \</span></div> -<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="preprocessor"> *(uint8_t *)0x0000 = 0x0A</span></div> -<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  </div> -<div class="line"><a name="l00541"></a><span class="lineno"><a class="line" href="gb_8h.html#a60191cdfa50ed9b88515f181747eaba2"> 541</a></span> <span class="preprocessor">#define DISABLE_RAM_MBC5 \</span></div> -<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="preprocessor"> *(uint8_t *)0x0000 = 0x00</span></div> -<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  </div> -<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  </div> -<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  </div> -<div class="line"><a name="l00550"></a><span class="lineno"><a class="line" href="gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d"> 550</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d">delay</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  </div> -<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  </div> -<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  </div> -<div class="line"><a name="l00564"></a><span class="lineno"><a class="line" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff"> 564</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad</a>() <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div> -<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  </div> -<div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="gb_8h.html#ac4f9e19d2834988ff005106b3f5b2f05"> 578</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#ac4f9e19d2834988ff005106b3f5b2f05">waitpad</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> mask) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  </div> -<div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="gb_8h.html#a7eeb5f1f697fefdcebd8e68355af4113"> 585</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a7eeb5f1f697fefdcebd8e68355af4113">waitpadup</a>() __preserves_regs(a, <a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div> -<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  </div> -<div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="structjoypads__t.html"> 592</a></span> typedef struct {</div> -<div class="line"><a name="l00593"></a><span class="lineno"><a class="line" href="structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5"> 593</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5">npads</a>;</div> -<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <span class="keyword">union </span>{</div> -<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keyword">struct </span>{</div> -<div class="line"><a name="l00596"></a><span class="lineno"><a class="line" href="structjoypads__t.html#ab281d26e5197e49633274f412b164295"> 596</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> joy0, joy1, joy2, <a class="code" href="structjoypads__t.html#ab281d26e5197e49633274f412b164295">joy3</a>;</div> -<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  };</div> -<div class="line"><a name="l00598"></a><span class="lineno"><a class="line" href="structjoypads__t.html#a8d181ece2d3db614ed6686cfba545238"> 598</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> joypads[4];</div> -<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  };</div> -<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> } <a class="code" href="structjoypads__t.html">joypads_t</a>;</div> -<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  </div> -<div class="line"><a name="l00611"></a><span class="lineno"><a class="line" href="gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e"> 611</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e">joypad_init</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> npads, <a class="code" href="structjoypads__t.html">joypads_t</a> * joypads) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  </div> -<div class="line"><a name="l00619"></a><span class="lineno"><a class="line" href="gb_8h.html#a5166ceebbaa646e2667df1a219c7b903"> 619</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a5166ceebbaa646e2667df1a219c7b903">joypad_ex</a>(<a class="code" href="structjoypads__t.html">joypads_t</a> * joypads) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  </div> -<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  </div> -<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  </div> -<div class="line"><a name="l00631"></a><span class="lineno"><a class="line" href="gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef"> 631</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef">enable_interrupts</a>() __preserves_regs(a, <a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>) {</div> -<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  __asm__(<span class="stringliteral">"ei"</span>);</div> -<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> }</div> -<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  </div> -<div class="line"><a name="l00647"></a><span class="lineno"><a class="line" href="gb_8h.html#a8a71c706c3eb1343196adf77f5825747"> 647</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a8a71c706c3eb1343196adf77f5825747">disable_interrupts</a>() __preserves_regs(a, <a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>) {</div> -<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  __asm__(<span class="stringliteral">"di"</span>);</div> -<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> }</div> -<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  </div> -<div class="line"><a name="l00657"></a><span class="lineno"><a class="line" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54"> 657</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> flags) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>);</div> -<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  </div> -<div class="line"><a name="l00662"></a><span class="lineno"><a class="line" href="gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55"> 662</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55">reset</a>();</div> -<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  </div> -<div class="line"><a name="l00674"></a><span class="lineno"><a class="line" href="gb_8h.html#a68346350199018249bdf8019b7131514"> 674</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a68346350199018249bdf8019b7131514">wait_vbl_done</a>() __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div> -<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  </div> -<div class="line"><a name="l00681"></a><span class="lineno"><a class="line" href="gb_8h.html#a067f16eeb168f3ac9312a4766e7d2ff2"> 681</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a067f16eeb168f3ac9312a4766e7d2ff2">display_off</a>() __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div> -<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  </div> -<div class="line"><a name="l00685"></a><span class="lineno"><a class="line" href="gb_8h.html#a7542d00af674e3c58b6c9887ab01919f"> 685</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a7542d00af674e3c58b6c9887ab01919f">refresh_OAM</a>();</div> -<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  </div> -<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  </div> -<div class="line"><a name="l00693"></a><span class="lineno"><a class="line" href="gb_8h.html#a08365da56dbc2a97c480818c0e6a62b9"> 693</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a08365da56dbc2a97c480818c0e6a62b9">hiramcpy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> dst, const <span class="keywordtype">void</span> *src, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> n) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  </div> -<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  </div> -<div class="line"><a name="l00699"></a><span class="lineno"><a class="line" href="gb_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4"> 699</a></span> <span class="preprocessor">#define DISPLAY_ON \</span></div> -<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="preprocessor"> LCDC_REG|=LCDCF_ON</span></div> -<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  </div> -<div class="line"><a name="l00705"></a><span class="lineno"><a class="line" href="gb_8h.html#ad2ec9831813c5e7069917aa4455af682"> 705</a></span> <span class="preprocessor">#define DISPLAY_OFF \</span></div> -<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="preprocessor"> display_off();</span></div> -<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  </div> -<div class="line"><a name="l00710"></a><span class="lineno"><a class="line" href="gb_8h.html#a0659212acd317ccdebc0ecf435df330f"> 710</a></span> <span class="preprocessor">#define HIDE_LEFT_COLUMN</span></div> -<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  </div> -<div class="line"><a name="l00714"></a><span class="lineno"><a class="line" href="gb_8h.html#a5497c2255a9474d397446710189eacbe"> 714</a></span> <span class="preprocessor">#define SHOW_LEFT_COLUMN</span></div> -<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  </div> -<div class="line"><a name="l00719"></a><span class="lineno"><a class="line" href="gb_8h.html#a8e3f36aa68ac036695816757f2a1322c"> 719</a></span> <span class="preprocessor">#define SHOW_BKG \</span></div> -<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="preprocessor"> LCDC_REG|=LCDCF_BGON</span></div> +<div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="gb_8h.html#aa5d64e386a00b373f22ffdc5a152c7ba"> 528</a></span> <span class="preprocessor">#define SWITCH_4_32_MODE_MBC1 \</span></div> +<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="preprocessor"> *(uint8_t *)0x6000 = 0x01</span></div> +<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  </div> +<div class="line"><a name="l00536"></a><span class="lineno"><a class="line" href="gb_8h.html#a92d040284342702026eb19dab59b586e"> 536</a></span> <span class="preprocessor">#define SWITCH_ROM_MBC5(b) \</span></div> +<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="preprocessor"> _current_bank = (b), \</span></div> +<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="preprocessor"> *(uint8_t *)0x3000 = 0, \</span></div> +<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="preprocessor"> *(uint8_t *)0x2000 = (b)</span></div> +<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  </div> +<div class="line"><a name="l00547"></a><span class="lineno"><a class="line" href="gb_8h.html#a6c15ebc660abd3a978137493ab63ffe9"> 547</a></span> <span class="preprocessor">#define SWITCH_ROM_MBC5_8M(b) \</span></div> +<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="preprocessor"> *(uint8_t *)0x3000 = ((uint16_t)(b) >> 8), \</span></div> +<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="preprocessor"> *(uint8_t *)0x2000 = (b)</span></div> +<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  </div> +<div class="line"><a name="l00554"></a><span class="lineno"><a class="line" href="gb_8h.html#a361d5055a7ae880fc1c9d6e0d1164fd6"> 554</a></span> <span class="preprocessor">#define SWITCH_RAM_MBC5(b) \</span></div> +<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="preprocessor"> *(uint8_t *)0x4000 = (b)</span></div> +<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  </div> +<div class="line"><a name="l00559"></a><span class="lineno"><a class="line" href="gb_8h.html#a3f033f00c8d781637f9a665b06750937"> 559</a></span> <span class="preprocessor">#define ENABLE_RAM_MBC5 \</span></div> +<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="preprocessor"> *(uint8_t *)0x0000 = 0x0A</span></div> +<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  </div> +<div class="line"><a name="l00564"></a><span class="lineno"><a class="line" href="gb_8h.html#a60191cdfa50ed9b88515f181747eaba2"> 564</a></span> <span class="preprocessor">#define DISABLE_RAM_MBC5 \</span></div> +<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="preprocessor"> *(uint8_t *)0x0000 = 0x00</span></div> +<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  </div> +<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  </div> +<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  </div> +<div class="line"><a name="l00573"></a><span class="lineno"><a class="line" href="gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d"> 573</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d">delay</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  </div> +<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  </div> +<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  </div> +<div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff"> 587</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a176c477d759b814664785f3a0ad5e253">joypad</a>() <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div> +<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  </div> +<div class="line"><a name="l00601"></a><span class="lineno"><a class="line" href="gb_8h.html#aae433db7d8e3ee4c095c254b8abd7b8b"> 601</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#aae433db7d8e3ee4c095c254b8abd7b8b">waitpad</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> mask) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  </div> +<div class="line"><a name="l00608"></a><span class="lineno"><a class="line" href="gb_8h.html#a8484d346b788309ac702b7e0b1fca730"> 608</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a8484d346b788309ac702b7e0b1fca730">waitpadup</a>() <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(a, <a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div> +<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  </div> +<div class="line"><a name="l00615"></a><span class="lineno"><a class="line" href="structjoypads__t.html"> 615</a></span> typedef struct {</div> +<div class="line"><a name="l00616"></a><span class="lineno"><a class="line" href="structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5"> 616</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5">npads</a>;</div> +<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keyword">union </span>{</div> +<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keyword">struct </span>{</div> +<div class="line"><a name="l00619"></a><span class="lineno"><a class="line" href="structjoypads__t.html#ab281d26e5197e49633274f412b164295"> 619</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> joy0, joy1, joy2, <a class="code" href="structjoypads__t.html#ab281d26e5197e49633274f412b164295">joy3</a>;</div> +<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  };</div> +<div class="line"><a name="l00621"></a><span class="lineno"><a class="line" href="structjoypads__t.html#a8d181ece2d3db614ed6686cfba545238"> 621</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> joypads[4];</div> +<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  };</div> +<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> } <a class="code" href="structjoypads__t.html">joypads_t</a>;</div> +<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  </div> +<div class="line"><a name="l00634"></a><span class="lineno"><a class="line" href="gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e"> 634</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e">joypad_init</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> npads, <a class="code" href="structjoypads__t.html">joypads_t</a> * joypads) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  </div> +<div class="line"><a name="l00642"></a><span class="lineno"><a class="line" href="gb_8h.html#a6e6f8eb1de2ae1ec9adeafbd7b9884db"> 642</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a6e6f8eb1de2ae1ec9adeafbd7b9884db">joypad_ex</a>(<a class="code" href="structjoypads__t.html">joypads_t</a> * joypads) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  </div> +<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  </div> +<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  </div> +<div class="line"><a name="l00654"></a><span class="lineno"><a class="line" href="gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867"> 654</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867">enable_interrupts</a>() <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(a, <a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>) {</div> +<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  __asm__(<span class="stringliteral">"ei"</span>);</div> +<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> }</div> +<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  </div> +<div class="line"><a name="l00670"></a><span class="lineno"><a class="line" href="gb_8h.html#ad77796783b3a601b6f3781dfc3983499"> 670</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ad77796783b3a601b6f3781dfc3983499">disable_interrupts</a>() <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(a, <a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>) {</div> +<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  __asm__(<span class="stringliteral">"di"</span>);</div> +<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> }</div> +<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  </div> +<div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3"> 684</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> flags) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>);</div> +<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  </div> +<div class="line"><a name="l00689"></a><span class="lineno"><a class="line" href="gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55"> 689</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55">reset</a>();</div> +<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  </div> +<div class="line"><a name="l00701"></a><span class="lineno"><a class="line" href="gb_8h.html#acd186eb292d441f9389e77b545a55619"> 701</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#acd186eb292d441f9389e77b545a55619">wait_vbl_done</a>() <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div> +<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  </div> +<div class="line"><a name="l00708"></a><span class="lineno"><a class="line" href="gb_8h.html#a04d57683cdd046dfa45e7e56d7c4ec4d"> 708</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a04d57683cdd046dfa45e7e56d7c4ec4d">display_off</a>() <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div> +<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  </div> +<div class="line"><a name="l00712"></a><span class="lineno"><a class="line" href="gb_8h.html#a2550e7b6b9fd7e1fc495872502311dbb"> 712</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a2550e7b6b9fd7e1fc495872502311dbb">refresh_OAM</a>() <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>);</div> +<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  </div> +<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  </div> +<div class="line"><a name="l00720"></a><span class="lineno"><a class="line" href="gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44"> 720</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44">hiramcpy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> dst, const <span class="keywordtype">void</span> *src, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> n) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  </div> -<div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="gb_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141"> 725</a></span> <span class="preprocessor">#define HIDE_BKG \</span></div> -<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="preprocessor"> LCDC_REG&=~LCDCF_BGON</span></div> -<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  </div> -<div class="line"><a name="l00731"></a><span class="lineno"><a class="line" href="gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8"> 731</a></span> <span class="preprocessor">#define SHOW_WIN \</span></div> -<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="preprocessor"> LCDC_REG|=LCDCF_WINON</span></div> -<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  </div> -<div class="line"><a name="l00737"></a><span class="lineno"><a class="line" href="gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3"> 737</a></span> <span class="preprocessor">#define HIDE_WIN \</span></div> -<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="preprocessor"> LCDC_REG&=~LCDCF_WINON</span></div> -<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  </div> -<div class="line"><a name="l00743"></a><span class="lineno"><a class="line" href="gb_8h.html#a495bc9f405f916f02ad5d97e6e730134"> 743</a></span> <span class="preprocessor">#define SHOW_SPRITES \</span></div> -<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="preprocessor"> LCDC_REG|=LCDCF_OBJON</span></div> -<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  </div> -<div class="line"><a name="l00749"></a><span class="lineno"><a class="line" href="gb_8h.html#a69ef98aee664b8abd8d1a3d45f016dda"> 749</a></span> <span class="preprocessor">#define HIDE_SPRITES \</span></div> -<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="preprocessor"> LCDC_REG&=~LCDCF_OBJON</span></div> -<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  </div> -<div class="line"><a name="l00755"></a><span class="lineno"><a class="line" href="gb_8h.html#af91d252f07f4764996154820f970c101"> 755</a></span> <span class="preprocessor">#define SPRITES_8x16 \</span></div> -<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="preprocessor"> LCDC_REG|=LCDCF_OBJ16</span></div> -<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  </div> -<div class="line"><a name="l00761"></a><span class="lineno"><a class="line" href="gb_8h.html#aa87bec0d134136fdb727f52cb773b792"> 761</a></span> <span class="preprocessor">#define SPRITES_8x8 \</span></div> -<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="preprocessor"> LCDC_REG&=~LCDCF_OBJ16</span></div> -<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  </div> -<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  </div> -<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  </div> -<div class="line"><a name="l00772"></a><span class="lineno"><a class="line" href="gb_8h.html#a84e320d3c0b1eca4d0b81b848d096582"> 772</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a84e320d3c0b1eca4d0b81b848d096582">set_vram_byte</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * addr, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> v) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  </div> -<div class="line"><a name="l00780"></a><span class="lineno"><a class="line" href="gb_8h.html#a6558dad88815aa73fb81fae2ae90473d"> 780</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a6558dad88815aa73fb81fae2ae90473d">get_vram_byte</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * addr) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  </div> -<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  </div> -<div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="gb_8h.html#a194b27b9e852e93ae0a4b55fae7fee6d"> 786</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#a194b27b9e852e93ae0a4b55fae7fee6d">get_bkg_xy_addr</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  </div> -<div class="line"><a name="l00788"></a><span class="lineno"><a class="line" href="gb_8h.html#a67f80e65620470b55a4950e2966eb868"> 788</a></span> <span class="preprocessor">#define COMPAT_PALETTE(C0,C1,C2,C3) ((uint8_t)(((C3) << 6) | ((C2) << 4) | ((C1) << 2) | (C0)))</span></div> -<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  </div> -<div class="line"><a name="l00792"></a><span class="lineno"><a class="line" href="gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84"> 792</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> palette) {</div> -<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  palette;</div> -<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> }</div> -<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  </div> -<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="gb_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a>;</div> -<div class="line"><a name="l00797"></a><span class="lineno"><a class="line" href="gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c"> 797</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c">set_1bpp_colors_ex</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> fgcolor, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> bgcolor, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a3ea524204d839377cf39842eec23e202">mode</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00798"></a><span class="lineno"><a class="line" href="gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad"> 798</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad">set_1bpp_colors</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> fgcolor, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> bgcolor) {</div> -<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <a class="code" href="gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c">set_1bpp_colors_ex</a>(fgcolor, bgcolor, 0);</div> -<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> }</div> -<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  </div> -<div class="line"><a name="l00819"></a><span class="lineno"><a class="line" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07"> 819</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00820"></a><span class="lineno"><a class="line" href="gb_8h.html#ab94bfec130df50d9cb808142f94603a5"> 820</a></span> <span class="preprocessor">#define set_bkg_2bpp_data set_bkg_data</span></div> -<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  </div> -<div class="line"><a name="l00837"></a><span class="lineno"><a class="line" href="gb_8h.html#a113055d93ba40767b676f172aa5cc996"> 837</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a113055d93ba40767b676f172aa5cc996">set_bkg_1bpp_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  </div> -<div class="line"><a name="l00853"></a><span class="lineno"><a class="line" href="gb_8h.html#a1207717410f1c9beb6a719eef400ffd7"> 853</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1207717410f1c9beb6a719eef400ffd7">get_bkg_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  </div> -<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  </div> -<div class="line"><a name="l00908"></a><span class="lineno"><a class="line" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c"> 908</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00909"></a><span class="lineno"><a class="line" href="gb_8h.html#a55f82ff980398dd97036fd936ebd727e"> 909</a></span> <span class="preprocessor">#define set_tile_map set_bkg_tiles</span></div> -<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  </div> -<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  </div> -<div class="line"><a name="l00940"></a><span class="lineno"> 940</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00941"></a><span class="lineno"><a class="line" href="gb_8h.html#adb5d0970167b81401113812773c90838"> 941</a></span> <span class="preprocessor">#define set_tile_submap set_bkg_submap</span></div> -<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  </div> -<div class="line"><a name="l00961"></a><span class="lineno"><a class="line" href="gb_8h.html#a68e4586e2401c1e39703571b5b8d934b"> 961</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a68e4586e2401c1e39703571b5b8d934b">get_bkg_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  </div> -<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  </div> -<div class="line"><a name="l00971"></a><span class="lineno"><a class="line" href="gb_8h.html#afdacbb553ea16fd0a3a96698be7668f8"> 971</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#afdacbb553ea16fd0a3a96698be7668f8">set_bkg_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00972"></a><span class="lineno"><a class="line" href="gb_8h.html#a3b235c526c517fb02d20cdea780ee2c5"> 972</a></span> <span class="preprocessor">#define set_tile_xy set_bkg_tile_xy</span></div> -<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  </div> -<div class="line"><a name="l00980"></a><span class="lineno"><a class="line" href="gb_8h.html#a1a485dfade1a8f07232cbe669a1c1939"> 980</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1a485dfade1a8f07232cbe669a1c1939">get_bkg_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  </div> -<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  </div> -<div class="line"><a name="l00996"></a><span class="lineno"><a class="line" href="gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57"> 996</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57">move_bkg</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> -<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  <a class="code" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a>=x, <a class="code" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a>=y;</div> -<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> }</div> +<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  </div> +<div class="line"><a name="l00726"></a><span class="lineno"><a class="line" href="gb_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4"> 726</a></span> <span class="preprocessor">#define DISPLAY_ON \</span></div> +<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="preprocessor"> LCDC_REG|=LCDCF_ON</span></div> +<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  </div> +<div class="line"><a name="l00732"></a><span class="lineno"><a class="line" href="gb_8h.html#ad2ec9831813c5e7069917aa4455af682"> 732</a></span> <span class="preprocessor">#define DISPLAY_OFF \</span></div> +<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="preprocessor"> display_off();</span></div> +<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  </div> +<div class="line"><a name="l00737"></a><span class="lineno"><a class="line" href="gb_8h.html#a0659212acd317ccdebc0ecf435df330f"> 737</a></span> <span class="preprocessor">#define HIDE_LEFT_COLUMN</span></div> +<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  </div> +<div class="line"><a name="l00741"></a><span class="lineno"><a class="line" href="gb_8h.html#a5497c2255a9474d397446710189eacbe"> 741</a></span> <span class="preprocessor">#define SHOW_LEFT_COLUMN</span></div> +<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  </div> +<div class="line"><a name="l00746"></a><span class="lineno"><a class="line" href="gb_8h.html#a8e3f36aa68ac036695816757f2a1322c"> 746</a></span> <span class="preprocessor">#define SHOW_BKG \</span></div> +<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="preprocessor"> LCDC_REG|=LCDCF_BGON</span></div> +<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  </div> +<div class="line"><a name="l00752"></a><span class="lineno"><a class="line" href="gb_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141"> 752</a></span> <span class="preprocessor">#define HIDE_BKG \</span></div> +<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="preprocessor"> LCDC_REG&=~LCDCF_BGON</span></div> +<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  </div> +<div class="line"><a name="l00758"></a><span class="lineno"><a class="line" href="gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8"> 758</a></span> <span class="preprocessor">#define SHOW_WIN \</span></div> +<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="preprocessor"> LCDC_REG|=LCDCF_WINON</span></div> +<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  </div> +<div class="line"><a name="l00764"></a><span class="lineno"><a class="line" href="gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3"> 764</a></span> <span class="preprocessor">#define HIDE_WIN \</span></div> +<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="preprocessor"> LCDC_REG&=~LCDCF_WINON</span></div> +<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  </div> +<div class="line"><a name="l00770"></a><span class="lineno"><a class="line" href="gb_8h.html#a495bc9f405f916f02ad5d97e6e730134"> 770</a></span> <span class="preprocessor">#define SHOW_SPRITES \</span></div> +<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="preprocessor"> LCDC_REG|=LCDCF_OBJON</span></div> +<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  </div> +<div class="line"><a name="l00776"></a><span class="lineno"><a class="line" href="gb_8h.html#a69ef98aee664b8abd8d1a3d45f016dda"> 776</a></span> <span class="preprocessor">#define HIDE_SPRITES \</span></div> +<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="preprocessor"> LCDC_REG&=~LCDCF_OBJON</span></div> +<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  </div> +<div class="line"><a name="l00782"></a><span class="lineno"><a class="line" href="gb_8h.html#af91d252f07f4764996154820f970c101"> 782</a></span> <span class="preprocessor">#define SPRITES_8x16 \</span></div> +<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="preprocessor"> LCDC_REG|=LCDCF_OBJ16</span></div> +<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  </div> +<div class="line"><a name="l00788"></a><span class="lineno"><a class="line" href="gb_8h.html#aa87bec0d134136fdb727f52cb773b792"> 788</a></span> <span class="preprocessor">#define SPRITES_8x8 \</span></div> +<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="preprocessor"> LCDC_REG&=~LCDCF_OBJ16</span></div> +<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  </div> +<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  </div> +<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  </div> +<div class="line"><a name="l00799"></a><span class="lineno"><a class="line" href="gb_8h.html#a7080649e10765996c581e5b618e603b8"> 799</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a7080649e10765996c581e5b618e603b8">set_vram_byte</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * addr, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> v) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  </div> +<div class="line"><a name="l00807"></a><span class="lineno"><a class="line" href="gb_8h.html#aa33ba8b8d381df76edf15ea251ccb675"> 807</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#aa33ba8b8d381df76edf15ea251ccb675">get_vram_byte</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * addr) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  </div> +<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  </div> +<div class="line"><a name="l00813"></a><span class="lineno"><a class="line" href="gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f"> 813</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f">get_bkg_xy_addr</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  </div> +<div class="line"><a name="l00815"></a><span class="lineno"><a class="line" href="gb_8h.html#a67f80e65620470b55a4950e2966eb868"> 815</a></span> <span class="preprocessor">#define COMPAT_PALETTE(C0,C1,C2,C3) ((uint8_t)(((C3) << 6) | ((C2) << 4) | ((C1) << 2) | (C0)))</span></div> +<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  </div> +<div class="line"><a name="l00819"></a><span class="lineno"><a class="line" href="gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84"> 819</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> palette) {</div> +<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  palette;</div> +<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> }</div> +<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  </div> +<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="gb_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a>;</div> +<div class="line"><a name="l00824"></a><span class="lineno"><a class="line" href="gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c"> 824</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c">set_1bpp_colors_ex</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> fgcolor, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> bgcolor, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a3ea524204d839377cf39842eec23e202">mode</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00825"></a><span class="lineno"><a class="line" href="gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad"> 825</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad">set_1bpp_colors</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> fgcolor, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> bgcolor) {</div> +<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  <a class="code" href="gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c">set_1bpp_colors_ex</a>(fgcolor, bgcolor, 0);</div> +<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> }</div> +<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  </div> +<div class="line"><a name="l00846"></a><span class="lineno"><a class="line" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626"> 846</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00847"></a><span class="lineno"><a class="line" href="gb_8h.html#ab94bfec130df50d9cb808142f94603a5"> 847</a></span> <span class="preprocessor">#define set_bkg_2bpp_data set_bkg_data</span></div> +<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  </div> +<div class="line"><a name="l00864"></a><span class="lineno"><a class="line" href="gb_8h.html#a711fa26feecc76dc51482b0f77062859"> 864</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a711fa26feecc76dc51482b0f77062859">set_bkg_1bpp_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  </div> +<div class="line"><a name="l00880"></a><span class="lineno"><a class="line" href="gb_8h.html#a5c13238dfec416439d75b133a272e6df"> 880</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a5c13238dfec416439d75b133a272e6df">get_bkg_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  </div> +<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  </div> +<div class="line"><a name="l00935"></a><span class="lineno"><a class="line" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7"> 935</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00936"></a><span class="lineno"><a class="line" href="gb_8h.html#a55f82ff980398dd97036fd936ebd727e"> 936</a></span> <span class="preprocessor">#define set_tile_map set_bkg_tiles</span></div> +<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  </div> +<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  </div> +<div class="line"><a name="l00939"></a><span class="lineno"> 939</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a>;</div> +<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  </div> +<div class="line"><a name="l00959"></a><span class="lineno"><a class="line" href="gb_8h.html#a811c386cac0df2d260aacb5a43608be5"> 959</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a811c386cac0df2d260aacb5a43608be5">set_bkg_based_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile) {</div> +<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  <a class="code" href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = base_tile;</div> +<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  <a class="code" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>(x, y, w, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, tiles);</div> +<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <a class="code" href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = 0;</div> +<div class="line"><a name="l00963"></a><span class="lineno"> 963</span> }</div> +<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  </div> +<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  </div> +<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00995"></a><span class="lineno"><a class="line" href="gb_8h.html#adb5d0970167b81401113812773c90838"> 995</a></span> <span class="preprocessor">#define set_tile_submap set_bkg_submap</span></div> +<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  </div> +<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  </div> +<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a>;</div> <div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  </div> -<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  </div> -<div class="line"><a name="l01010"></a><span class="lineno"><a class="line" href="gb_8h.html#a1f583f7a880daa6145ca78b086a209d1"> 1010</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1f583f7a880daa6145ca78b086a209d1">scroll_bkg</a>(<a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> x, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> y) {</div> -<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>  <a class="code" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a>+=x, <a class="code" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a>+=y;</div> -<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> }</div> -<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  </div> -<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>  </div> -<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  </div> -<div class="line"><a name="l01019"></a><span class="lineno"><a class="line" href="gb_8h.html#aea1d2b59419abf7c1a9b95bb278f7a6c"> 1019</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#aea1d2b59419abf7c1a9b95bb278f7a6c">get_win_xy_addr</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  </div> -<div class="line"><a name="l01034"></a><span class="lineno"><a class="line" href="gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd"> 1034</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd">set_win_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  </div> -<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  </div> -<div class="line"><a name="l01048"></a><span class="lineno"><a class="line" href="gb_8h.html#a445fa9ede939ca486ae5268e826b3a44"> 1048</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a445fa9ede939ca486ae5268e826b3a44">set_win_1bpp_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  </div> -<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  </div> -<div class="line"><a name="l01062"></a><span class="lineno"><a class="line" href="gb_8h.html#ab6321884a3f9028ea0056851d4926919"> 1062</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ab6321884a3f9028ea0056851d4926919">get_win_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>  </div> +<div class="line"><a name="l01019"></a><span class="lineno"><a class="line" href="gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0"> 1019</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0">set_bkg_based_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile) {</div> +<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  <a class="code" href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = base_tile;</div> +<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  <a class="code" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a>(x, y, w, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, map, map_w);</div> +<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>  <a class="code" href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = 0;</div> +<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span> }</div> +<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  </div> +<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  </div> +<div class="line"><a name="l01044"></a><span class="lineno"><a class="line" href="gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0"> 1044</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0">get_bkg_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  </div> +<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  </div> +<div class="line"><a name="l01054"></a><span class="lineno"><a class="line" href="gb_8h.html#a74ee8f0a3495508c90de4ce246b81060"> 1054</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#a74ee8f0a3495508c90de4ce246b81060">set_bkg_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01055"></a><span class="lineno"><a class="line" href="gb_8h.html#a3b235c526c517fb02d20cdea780ee2c5"> 1055</a></span> <span class="preprocessor">#define set_tile_xy set_bkg_tile_xy</span></div> +<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  </div> +<div class="line"><a name="l01063"></a><span class="lineno"><a class="line" href="gb_8h.html#a55c6581dbe9300dc6df41730f090af51"> 1063</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a55c6581dbe9300dc6df41730f090af51">get_bkg_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> <div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>  </div> -<div class="line"><a name="l01096"></a><span class="lineno"><a class="line" href="gb_8h.html#aba807b33ddd5e18ecedc93b05338045e"> 1096</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aba807b33ddd5e18ecedc93b05338045e">set_win_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  </div> +<div class="line"><a name="l01079"></a><span class="lineno"><a class="line" href="gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57"> 1079</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57">move_bkg</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> +<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>  <a class="code" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a>=x, <a class="code" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a>=y;</div> +<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> }</div> +<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  </div> +<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  </div> +<div class="line"><a name="l01093"></a><span class="lineno"><a class="line" href="gb_8h.html#a1f583f7a880daa6145ca78b086a209d1"> 1093</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1f583f7a880daa6145ca78b086a209d1">scroll_bkg</a>(<a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> x, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> y) {</div> +<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>  <a class="code" href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a>+=x, <a class="code" href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a>+=y;</div> +<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> }</div> +<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>  </div> <div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>  </div> <div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>  </div> -<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>  </div> -<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>  </div> -<div class="line"><a name="l01149"></a><span class="lineno"><a class="line" href="gb_8h.html#a7cf5bd73a7493475e17f84995cf865bd"> 1149</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a7cf5bd73a7493475e17f84995cf865bd">get_win_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  </div> -<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>  </div> -<div class="line"><a name="l01159"></a><span class="lineno"><a class="line" href="gb_8h.html#a78b307e0fde9289c2b1f4cd6aa0b763c"> 1159</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#a78b307e0fde9289c2b1f4cd6aa0b763c">set_win_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>  </div> -<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>  </div> -<div class="line"><a name="l01168"></a><span class="lineno"><a class="line" href="gb_8h.html#a82582e006a955d2c934786e9d7c29623"> 1168</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a82582e006a955d2c934786e9d7c29623">get_win_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>  </div> -<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>  </div> -<div class="line"><a name="l01182"></a><span class="lineno"><a class="line" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5"> 1182</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5">move_win</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> -<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>  <a class="code" href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0">WX_REG</a>=x, <a class="code" href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850">WY_REG</a>=y;</div> -<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> }</div> -<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>  </div> -<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>  </div> -<div class="line"><a name="l01196"></a><span class="lineno"><a class="line" href="gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044"> 1196</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044">scroll_win</a>(<a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> x, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> y) {</div> -<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>  <a class="code" href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0">WX_REG</a>+=x, <a class="code" href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850">WY_REG</a>+=y;</div> -<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> }</div> -<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>  </div> -<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>  </div> -<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>  </div> -<div class="line"><a name="l01217"></a><span class="lineno"><a class="line" href="gb_8h.html#ac40ffe4802ea41e5cee0ac3d4b254e08"> 1217</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ac40ffe4802ea41e5cee0ac3d4b254e08">set_sprite_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01218"></a><span class="lineno"><a class="line" href="gb_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4"> 1218</a></span> <span class="preprocessor">#define set_sprite_2bpp_data set_sprite_data</span></div> -<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>  </div> -<div class="line"><a name="l01235"></a><span class="lineno"><a class="line" href="gb_8h.html#a427965ccaaa956d51bf4e7f14cc39b0f"> 1235</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a427965ccaaa956d51bf4e7f14cc39b0f">set_sprite_1bpp_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>  </div> -<div class="line"><a name="l01249"></a><span class="lineno"><a class="line" href="gb_8h.html#abc82930da7beb0611778f8644e90b5e9"> 1249</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#abc82930da7beb0611778f8644e90b5e9">get_sprite_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>  </div> -<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>  </div> -<div class="line"><a name="l01258"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html"> 1258</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> {</div> -<div class="line"><a name="l01259"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18"> 1259</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>; <span class="comment">//< X, Y Coordinates of the sprite on screen</span></div> -<div class="line"><a name="l01260"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6"> 1260</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>; <span class="comment">//< Sprite tile number</span></div> -<div class="line"><a name="l01261"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9"> 1261</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>; <span class="comment">//< OAM Property Flags</span></div> -<div class="line"><a name="l01262"></a><span class="lineno"><a class="line" href="gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03"> 1262</a></span> } <a class="code" href="gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03">OAM_item_t</a>;</div> +<div class="line"><a name="l01102"></a><span class="lineno"><a class="line" href="gb_8h.html#aa8213cfad631865e3b6faec18e772cb4"> 1102</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#aa8213cfad631865e3b6faec18e772cb4">get_win_xy_addr</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>  </div> +<div class="line"><a name="l01117"></a><span class="lineno"><a class="line" href="gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f"> 1117</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f">set_win_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>  </div> +<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>  </div> +<div class="line"><a name="l01131"></a><span class="lineno"><a class="line" href="gb_8h.html#acd5ee7a94059e6edbe9223f291bc2b46"> 1131</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#acd5ee7a94059e6edbe9223f291bc2b46">set_win_1bpp_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>  </div> +<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>  </div> +<div class="line"><a name="l01145"></a><span class="lineno"><a class="line" href="gb_8h.html#a7ef32e7c1669aba48f235500a495baba"> 1145</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a7ef32e7c1669aba48f235500a495baba">get_win_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>  </div> +<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>  </div> +<div class="line"><a name="l01179"></a><span class="lineno"><a class="line" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b"> 1179</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>  </div> +<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>  </div> +<div class="line"><a name="l01200"></a><span class="lineno"><a class="line" href="gb_8h.html#a739a212609ae60c9c56c095f96b4ea80"> 1200</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a739a212609ae60c9c56c095f96b4ea80">set_win_based_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile) {</div> +<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>  <a class="code" href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = base_tile;</div> +<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>  <a class="code" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a>(x, y, w, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, tiles);</div> +<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>  <a class="code" href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = 0;</div> +<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> }</div> +<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>  </div> +<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>  </div> +<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>  </div> +<div class="line"><a name="l01258"></a><span class="lineno"><a class="line" href="gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0"> 1258</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">set_win_based_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile) {</div> +<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>  <a class="code" href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = base_tile;</div> +<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>  <a class="code" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a>(x, y, w, <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, map, map_w);</div> +<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>  <a class="code" href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = 0;</div> +<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> }</div> <div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>  </div> <div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>  </div> -<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <span class="keyword">struct </span><a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> <a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[];</div> -<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>  </div> -<div class="line"><a name="l01271"></a><span class="lineno"><a class="line" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49"> 1271</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_8h.html#a7b662ae4d83f9837bacb9fd580673054">_shadow_OAM_base</a>;</div> -<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>  </div> -<div class="line"><a name="l01273"></a><span class="lineno"><a class="line" href="gb_8h.html#a47607089a434dcda7a8583cfca03b604"> 1273</a></span> <span class="preprocessor">#define DISABLE_OAM_DMA \</span></div> -<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> <span class="preprocessor"> _shadow_OAM_base = 0</span></div> -<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>  </div> -<div class="line"><a name="l01278"></a><span class="lineno"><a class="line" href="gb_8h.html#abfd70bf31185a4900680977c9fb5a5ec"> 1278</a></span> <span class="preprocessor">#define DISABLE_VBL_TRANSFER DISABLE_OAM_DMA</span></div> -<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>  </div> -<div class="line"><a name="l01280"></a><span class="lineno"><a class="line" href="gb_8h.html#a20895d53fe9caacb08ce8b071d57ce53"> 1280</a></span> <span class="preprocessor">#define ENABLE_OAM_DMA \</span></div> -<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> <span class="preprocessor"> _shadow_OAM_base = (uint8_t)((uint16_t)&shadow_OAM >> 8)</span></div> -<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>  </div> -<div class="line"><a name="l01285"></a><span class="lineno"><a class="line" href="gb_8h.html#a77d516c9d3f86f100eddea5e0d133a76"> 1285</a></span> <span class="preprocessor">#define ENABLE_VBL_TRANSFER ENABLE_OAM_DMA</span></div> -<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>  </div> -<div class="line"><a name="l01289"></a><span class="lineno"><a class="line" href="gb_8h.html#a8b77608c87a9aef65a03531482b2163b"> 1289</a></span> <span class="preprocessor">#define MAX_HARDWARE_SPRITES 40</span></div> -<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>  </div> -<div class="line"><a name="l01293"></a><span class="lineno"><a class="line" href="gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687"> 1293</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">SET_SHADOW_OAM_ADDRESS</a>(<span class="keywordtype">void</span> * address) {</div> -<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>  <a class="code" href="gb_8h.html#a7b662ae4d83f9837bacb9fd580673054">_shadow_OAM_base</a> = (<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)((<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)address >> 8);</div> -<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> }</div> -<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>  </div> -<div class="line"><a name="l01313"></a><span class="lineno"><a class="line" href="gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe"> 1313</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>) {</div> -<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>  <a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>=<a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>;</div> -<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> }</div> -<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>  </div> -<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>  </div> -<div class="line"><a name="l01324"></a><span class="lineno"><a class="line" href="gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a"> 1324</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a">get_sprite_tile</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div> -<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>  <span class="keywordflow">return</span> <a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>;</div> -<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> }</div> -<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>  </div> -<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>  </div> -<div class="line"><a name="l01359"></a><span class="lineno"><a class="line" href="gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7"> 1359</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7">set_sprite_prop</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>) {</div> -<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>  <a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>=<a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>;</div> -<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> }</div> -<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>  </div> -<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>  </div> -<div class="line"><a name="l01369"></a><span class="lineno"><a class="line" href="gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88"> 1369</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88">get_sprite_prop</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div> -<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>  <span class="keywordflow">return</span> <a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>;</div> -<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> }</div> -<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>  </div> -<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>  </div> -<div class="line"><a name="l01386"></a><span class="lineno"><a class="line" href="gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd"> 1386</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">move_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>) {</div> -<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>  <a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> * itm = &<a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb];</div> -<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>  itm-><a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>=<a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, itm-><a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>=<a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>;</div> -<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> }</div> -<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>  </div> -<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>  </div> -<div class="line"><a name="l01402"></a><span class="lineno"><a class="line" href="gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe"> 1402</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe">scroll_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>) {</div> -<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>  <a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> * itm = &<a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb];</div> -<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>  itm-><a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>+=<a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, itm-><a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>+=<a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>;</div> -<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> }</div> -<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>  </div> -<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>  </div> -<div class="line"><a name="l01412"></a><span class="lineno"><a class="line" href="gb_8h.html#ad22c51635d052399bbbe1777999c794d"> 1412</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div> -<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>  <a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a> = 0;</div> -<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> }</div> +<div class="line"><a name="l01282"></a><span class="lineno"><a class="line" href="gb_8h.html#a8a469de4c6640f921254b336b5a6191a"> 1282</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a8a469de4c6640f921254b336b5a6191a">get_win_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>  </div> +<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>  </div> +<div class="line"><a name="l01292"></a><span class="lineno"><a class="line" href="gb_8h.html#a0c70a53db1fbc0c99627da3f282befd8"> 1292</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="gb_8h.html#a0c70a53db1fbc0c99627da3f282befd8">set_win_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>  </div> +<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>  </div> +<div class="line"><a name="l01301"></a><span class="lineno"><a class="line" href="gb_8h.html#a2e29fdca81c28c627c2591029722e71c"> 1301</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a2e29fdca81c28c627c2591029722e71c">get_win_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>  </div> +<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>  </div> +<div class="line"><a name="l01315"></a><span class="lineno"><a class="line" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5"> 1315</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5">move_win</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> +<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>  <a class="code" href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0">WX_REG</a>=x, <a class="code" href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850">WY_REG</a>=y;</div> +<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> }</div> +<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>  </div> +<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>  </div> +<div class="line"><a name="l01329"></a><span class="lineno"><a class="line" href="gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044"> 1329</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044">scroll_win</a>(<a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> x, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> y) {</div> +<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>  <a class="code" href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0">WX_REG</a>+=x, <a class="code" href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850">WY_REG</a>+=y;</div> +<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> }</div> +<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>  </div> +<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>  </div> +<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>  </div> +<div class="line"><a name="l01350"></a><span class="lineno"><a class="line" href="gb_8h.html#ae45b1c639698951b47e44fa8e89556f2"> 1350</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ae45b1c639698951b47e44fa8e89556f2">set_sprite_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01351"></a><span class="lineno"><a class="line" href="gb_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4"> 1351</a></span> <span class="preprocessor">#define set_sprite_2bpp_data set_sprite_data</span></div> +<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>  </div> +<div class="line"><a name="l01368"></a><span class="lineno"><a class="line" href="gb_8h.html#ab3e60c92c9f8fbed855f8712187ea3ea"> 1368</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ab3e60c92c9f8fbed855f8712187ea3ea">set_sprite_1bpp_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>  </div> +<div class="line"><a name="l01382"></a><span class="lineno"><a class="line" href="gb_8h.html#adcdec4034a14abc5be9bb88c29b947c9"> 1382</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#adcdec4034a14abc5be9bb88c29b947c9">get_sprite_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>  </div> +<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>  </div> +<div class="line"><a name="l01391"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html"> 1391</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> {</div> +<div class="line"><a name="l01392"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18"> 1392</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>; <span class="comment">//< X, Y Coordinates of the sprite on screen</span></div> +<div class="line"><a name="l01393"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6"> 1393</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>; <span class="comment">//< Sprite tile number</span></div> +<div class="line"><a name="l01394"></a><span class="lineno"><a class="line" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9"> 1394</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>; <span class="comment">//< OAM Property Flags</span></div> +<div class="line"><a name="l01395"></a><span class="lineno"><a class="line" href="gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03"> 1395</a></span> } <a class="code" href="gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03">OAM_item_t</a>;</div> +<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>  </div> +<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>  </div> +<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <span class="keyword">struct </span><a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> <a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[];</div> +<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>  </div> +<div class="line"><a name="l01404"></a><span class="lineno"><a class="line" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49"> 1404</a></span> <a class="code" href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a> <a class="code" href="gb_8h.html#a7b662ae4d83f9837bacb9fd580673054">_shadow_OAM_base</a>;</div> +<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>  </div> +<div class="line"><a name="l01406"></a><span class="lineno"><a class="line" href="gb_8h.html#a47607089a434dcda7a8583cfca03b604"> 1406</a></span> <span class="preprocessor">#define DISABLE_OAM_DMA \</span></div> +<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> <span class="preprocessor"> _shadow_OAM_base = 0</span></div> +<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>  </div> +<div class="line"><a name="l01411"></a><span class="lineno"><a class="line" href="gb_8h.html#abfd70bf31185a4900680977c9fb5a5ec"> 1411</a></span> <span class="preprocessor">#define DISABLE_VBL_TRANSFER DISABLE_OAM_DMA</span></div> +<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>  </div> +<div class="line"><a name="l01413"></a><span class="lineno"><a class="line" href="gb_8h.html#a20895d53fe9caacb08ce8b071d57ce53"> 1413</a></span> <span class="preprocessor">#define ENABLE_OAM_DMA \</span></div> +<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> <span class="preprocessor"> _shadow_OAM_base = (uint8_t)((uint16_t)&shadow_OAM >> 8)</span></div> <div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>  </div> -<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>  </div> -<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>  </div> -<div class="line"><a name="l01433"></a><span class="lineno"><a class="line" href="gb_8h.html#aa4dc1c2f6f54a564b719b2bd5a0b3c62"> 1433</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aa4dc1c2f6f54a564b719b2bd5a0b3c62">set_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>  </div> -<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>  </div> -<div class="line"><a name="l01451"></a><span class="lineno"><a class="line" href="gb_8h.html#a924aa554f639022be104392891e156cd"> 1451</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a924aa554f639022be104392891e156cd">get_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>  </div> -<div class="line"><a name="l01465"></a><span class="lineno"><a class="line" href="gb_8h.html#ac9f0aa82f8e34812a406263aad57d4d9"> 1465</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ac9f0aa82f8e34812a406263aad57d4d9">vmemcpy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *dest, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>  </div> -<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>  </div> -<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>  </div> -<div class="line"><a name="l01492"></a><span class="lineno"><a class="line" href="gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b"> 1492</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b">set_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>  </div> -<div class="line"><a name="l01504"></a><span class="lineno"><a class="line" href="gb_8h.html#a0756c9c45dcf042a146d2a54290e9f6a"> 1504</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a0756c9c45dcf042a146d2a54290e9f6a">set_tile_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01418"></a><span class="lineno"><a class="line" href="gb_8h.html#a77d516c9d3f86f100eddea5e0d133a76"> 1418</a></span> <span class="preprocessor">#define ENABLE_VBL_TRANSFER ENABLE_OAM_DMA</span></div> +<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>  </div> +<div class="line"><a name="l01422"></a><span class="lineno"><a class="line" href="gb_8h.html#a8b77608c87a9aef65a03531482b2163b"> 1422</a></span> <span class="preprocessor">#define MAX_HARDWARE_SPRITES 40</span></div> +<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>  </div> +<div class="line"><a name="l01426"></a><span class="lineno"><a class="line" href="gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687"> 1426</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">SET_SHADOW_OAM_ADDRESS</a>(<span class="keywordtype">void</span> * address) {</div> +<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>  <a class="code" href="gb_8h.html#a7b662ae4d83f9837bacb9fd580673054">_shadow_OAM_base</a> = (<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)((<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)address >> 8);</div> +<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> }</div> +<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>  </div> +<div class="line"><a name="l01446"></a><span class="lineno"><a class="line" href="gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe"> 1446</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>) {</div> +<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>  <a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>=<a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>;</div> +<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> }</div> +<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>  </div> +<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>  </div> +<div class="line"><a name="l01457"></a><span class="lineno"><a class="line" href="gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a"> 1457</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a">get_sprite_tile</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div> +<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>  <span class="keywordflow">return</span> <a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>;</div> +<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> }</div> +<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>  </div> +<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>  </div> +<div class="line"><a name="l01492"></a><span class="lineno"><a class="line" href="gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7"> 1492</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7">set_sprite_prop</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>) {</div> +<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>  <a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>=<a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>;</div> +<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> }</div> +<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>  </div> +<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>  </div> +<div class="line"><a name="l01502"></a><span class="lineno"><a class="line" href="gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88"> 1502</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88">get_sprite_prop</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div> +<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>  <span class="keywordflow">return</span> <a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">prop</a>;</div> +<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> }</div> <div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>  </div> -<div class="line"><a name="l01527"></a><span class="lineno"><a class="line" href="gb_8h.html#afdc3ad3ac77ec32609195ae125b919e1"> 1527</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#afdc3ad3ac77ec32609195ae125b919e1">get_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>  </div> -<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>  </div> -<div class="line"><a name="l01544"></a><span class="lineno"><a class="line" href="gb_8h.html#a68651e50243349b48164a8ad983dca4e"> 1544</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a68651e50243349b48164a8ad983dca4e">set_native_tile_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) {</div> -<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>  <span class="keywordflow">if</span> (first_tile < 256) {</div> -<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>  <a class="code" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a>(first_tile, nb_tiles, data);</div> -<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>  } <span class="keywordflow">else</span> {</div> -<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>  <a class="code" href="gb_8h.html#ac40ffe4802ea41e5cee0ac3d4b254e08">set_sprite_data</a>(first_tile - 256, nb_tiles, data);</div> -<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>  }</div> -<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span> }</div> -<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>  </div> -<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>  </div> -<div class="line"><a name="l01558"></a><span class="lineno"><a class="line" href="gb_8h.html#a1df9458387eecf1a164098e90350e561"> 1558</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a1df9458387eecf1a164098e90350e561">init_win</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>  </div> -<div class="line"><a name="l01565"></a><span class="lineno"><a class="line" href="gb_8h.html#ac7cc92070d07d5096e2ccef3ea54cade"> 1565</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ac7cc92070d07d5096e2ccef3ea54cade">init_bkg</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>  </div> -<div class="line"><a name="l01574"></a><span class="lineno"><a class="line" href="gb_8h.html#abb54953bdb190aa0bb76724ae3d5d214"> 1574</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#abb54953bdb190aa0bb76724ae3d5d214">vmemset</a> (<span class="keywordtype">void</span> *s, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <span class="keywordtype">size_t</span> n) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>  </div> -<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>  </div> -<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>  </div> -<div class="line"><a name="l01586"></a><span class="lineno"><a class="line" href="gb_8h.html#ab22d0a3d624ff20198577c71aa755c19"> 1586</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ab22d0a3d624ff20198577c71aa755c19">fill_bkg_rect</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01587"></a><span class="lineno"><a class="line" href="gb_8h.html#a47865835d7d007d71b4bc8ae5cefb73a"> 1587</a></span> <span class="preprocessor">#define fill_rect fill_bkg_rect</span></div> -<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>  </div> -<div class="line"><a name="l01597"></a><span class="lineno"><a class="line" href="gb_8h.html#a9eac2f4130d55f411aad246658d046a9"> 1597</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a9eac2f4130d55f411aad246658d046a9">fill_win_rect</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>  </div> -<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> <span class="preprocessor">#endif </span><span class="comment">/* _GB_H */</span><span class="preprocessor"></span></div> +<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>  </div> +<div class="line"><a name="l01519"></a><span class="lineno"><a class="line" href="gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd"> 1519</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">move_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>) {</div> +<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>  <a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> * itm = &<a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb];</div> +<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>  itm-><a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>=<a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, itm-><a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>=<a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>;</div> +<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> }</div> +<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>  </div> +<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>  </div> +<div class="line"><a name="l01535"></a><span class="lineno"><a class="line" href="gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe"> 1535</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe">scroll_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>) {</div> +<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>  <a class="code" href="struct_o_a_m__item__t.html">OAM_item_t</a> * itm = &<a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb];</div> +<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>  itm-><a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>+=<a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, itm-><a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>+=<a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>;</div> +<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span> }</div> +<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>  </div> +<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>  </div> +<div class="line"><a name="l01545"></a><span class="lineno"><a class="line" href="gb_8h.html#ad22c51635d052399bbbe1777999c794d"> 1545</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div> +<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>  <a class="code" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a>[nb].<a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a> = 0;</div> +<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> }</div> +<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>  </div> +<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>  </div> +<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>  </div> +<div class="line"><a name="l01566"></a><span class="lineno"><a class="line" href="gb_8h.html#a650d2df96e69a40b70548ab468e00f25"> 1566</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a650d2df96e69a40b70548ab468e00f25">set_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>  </div> +<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>  </div> +<div class="line"><a name="l01584"></a><span class="lineno"><a class="line" href="gb_8h.html#afd8fd71eaa36b0ddd54a2e8e516ed224"> 1584</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#afd8fd71eaa36b0ddd54a2e8e516ed224">get_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>  </div> +<div class="line"><a name="l01598"></a><span class="lineno"><a class="line" href="gb_8h.html#a36f9e5d95c2d7d58f203b5ac358e25e7"> 1598</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a36f9e5d95c2d7d58f203b5ac358e25e7">vmemcpy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *dest, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> len) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>  </div> +<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>  </div> +<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>  </div> +<div class="line"><a name="l01625"></a><span class="lineno"><a class="line" href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c"> 1625</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c">set_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>  </div> +<div class="line"><a name="l01637"></a><span class="lineno"><a class="line" href="gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30"> 1637</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30">set_tile_data</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>  </div> +<div class="line"><a name="l01660"></a><span class="lineno"><a class="line" href="gb_8h.html#a728b9440accedc5fb3477be3d150323a"> 1660</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a728b9440accedc5fb3477be3d150323a">get_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *vram_addr, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>  </div> +<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>  </div> +<div class="line"><a name="l01677"></a><span class="lineno"><a class="line" href="gb_8h.html#a68651e50243349b48164a8ad983dca4e"> 1677</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a68651e50243349b48164a8ad983dca4e">set_native_tile_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> first_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_tiles, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *data) {</div> +<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>  <span class="keywordflow">if</span> (first_tile < 256) {</div> +<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>  <a class="code" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>(first_tile, nb_tiles, data);</div> +<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>  } <span class="keywordflow">else</span> {</div> +<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>  <a class="code" href="gb_8h.html#ae45b1c639698951b47e44fa8e89556f2">set_sprite_data</a>(first_tile - 256, nb_tiles, data);</div> +<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>  }</div> +<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span> }</div> +<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>  </div> +<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>  </div> +<div class="line"><a name="l01691"></a><span class="lineno"><a class="line" href="gb_8h.html#af6ac67037de041eb0141ba3725b1db83"> 1691</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#af6ac67037de041eb0141ba3725b1db83">init_win</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>  </div> +<div class="line"><a name="l01698"></a><span class="lineno"><a class="line" href="gb_8h.html#a46058204097dd305bf72bc20ea7f7a3b"> 1698</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a46058204097dd305bf72bc20ea7f7a3b">init_bkg</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>  </div> +<div class="line"><a name="l01707"></a><span class="lineno"><a class="line" href="gb_8h.html#a97bab71effd5e4e386629cb6ca5816cf"> 1707</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a97bab71effd5e4e386629cb6ca5816cf">vmemset</a> (<span class="keywordtype">void</span> *s, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <span class="keywordtype">size_t</span> n) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>  </div> +<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>  </div> +<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>  </div> +<div class="line"><a name="l01719"></a><span class="lineno"><a class="line" href="gb_8h.html#a74c3f53fca019f7abcd1270650808849"> 1719</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#a74c3f53fca019f7abcd1270650808849">fill_bkg_rect</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01720"></a><span class="lineno"><a class="line" href="gb_8h.html#a47865835d7d007d71b4bc8ae5cefb73a"> 1720</a></span> <span class="preprocessor">#define fill_rect fill_bkg_rect</span></div> +<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>  </div> +<div class="line"><a name="l01730"></a><span class="lineno"><a class="line" href="gb_8h.html#ad5bc3dc922707507aa51ed7f5b4a21e3"> 1730</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_8h.html#ad5bc3dc922707507aa51ed7f5b4a21e3">fill_win_rect</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">x</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">y</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">tile</a>) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>  </div> +<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span> <span class="preprocessor">#endif </span><span class="comment">/* _GB_H */</span><span class="preprocessor"></span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="agb_8h_html_a6b873c807c9e2c90fb574951e85fdf88"><div class="ttname"><a href="gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88">get_sprite_prop</a></div><div class="ttdeci">uint8_t get_sprite_prop(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> gb.h:1369</div></div> +<div class="ttc" id="agb_8h_html_a6b873c807c9e2c90fb574951e85fdf88"><div class="ttname"><a href="gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88">get_sprite_prop</a></div><div class="ttdeci">uint8_t get_sprite_prop(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> gb.h:1502</div></div> +<div class="ttc" id="agb_8h_html_a811c386cac0df2d260aacb5a43608be5"><div class="ttname"><a href="gb_8h.html#a811c386cac0df2d260aacb5a43608be5">set_bkg_based_tiles</a></div><div class="ttdeci">void set_bkg_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> gb.h:959</div></div> <div class="ttc" id="agb_8h_html_a2e3415ce2f7fb63427618bd9b9cb6635"><div class="ttname"><a href="gb_8h.html#a2e3415ce2f7fb63427618bd9b9cb6635">_io_status</a></div><div class="ttdeci">volatile uint8_t _io_status</div></div> +<div class="ttc" id="agb_8h_html_a5c59b4ee6323af9832998906d087266b"><div class="ttname"><a href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a></div><div class="ttdeci">void set_win_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="astdint_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div> -<div class="ttc" id="agb_8h_html_a7eeb5f1f697fefdcebd8e68355af4113"><div class="ttname"><a href="gb_8h.html#a7eeb5f1f697fefdcebd8e68355af4113">waitpadup</a></div><div class="ttdeci">void waitpadup() __preserves_regs(a</div></div> -<div class="ttc" id="astruct_o_a_m__item__t_html_a3a13fb7441f8c431d9494cd2441c6c0b"><div class="ttname"><a href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">OAM_item_t::x</a></div><div class="ttdeci">uint8_t x</div><div class="ttdef"><b>Definition:</b> gb.h:1259</div></div> -<div class="ttc" id="agb_8h_html_a6261537edc74068e3f7f057e6a3e8a57"><div class="ttname"><a href="gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57">move_bkg</a></div><div class="ttdeci">void move_bkg(uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:996</div></div> +<div class="ttc" id="astruct_o_a_m__item__t_html_a3a13fb7441f8c431d9494cd2441c6c0b"><div class="ttname"><a href="struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b">OAM_item_t::x</a></div><div class="ttdeci">uint8_t x</div><div class="ttdef"><b>Definition:</b> gb.h:1392</div></div> +<div class="ttc" id="agb_8h_html_a6261537edc74068e3f7f057e6a3e8a57"><div class="ttname"><a href="gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57">move_bkg</a></div><div class="ttdeci">void move_bkg(uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:1079</div></div> <div class="ttc" id="agb_8h_html_a02f3a1585ae654444e628c1aa98ef0cf"><div class="ttname"><a href="gb_8h.html#a02f3a1585ae654444e628c1aa98ef0cf">_io_in</a></div><div class="ttdeci">volatile uint8_t _io_in</div></div> <div class="ttc" id="astdint_8h_html_aef44329758059c91c76d334e8fc09700"><div class="ttname"><a href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a></div><div class="ttdeci">signed char int8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:43</div></div> -<div class="ttc" id="agb_8h_html_ab22d0a3d624ff20198577c71aa755c19"><div class="ttname"><a href="gb_8h.html#ab22d0a3d624ff20198577c71aa755c19">fill_bkg_rect</a></div><div class="ttdeci">void fill_bkg_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t tile) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a08365da56dbc2a97c480818c0e6a62b9"><div class="ttname"><a href="gb_8h.html#a08365da56dbc2a97c480818c0e6a62b9">hiramcpy</a></div><div class="ttdeci">void hiramcpy(uint8_t dst, const void *src, uint8_t n) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="agb_8h_html_a8a469de4c6640f921254b336b5a6191a"><div class="ttname"><a href="gb_8h.html#a8a469de4c6640f921254b336b5a6191a">get_win_tiles</a></div><div class="ttdeci">void get_win_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t *tiles) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="agb_8h_html_a3619f9cb1e3c92238a033ead79a0c551"><div class="ttname"><a href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">shadow_OAM</a></div><div class="ttdeci">volatile struct OAM_item_t shadow_OAM[]</div></div> -<div class="ttc" id="astructjoypads__t_html_af84e3549a0708ee0e04295e5f853e9f5"><div class="ttname"><a href="structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5">joypads_t::npads</a></div><div class="ttdeci">uint8_t npads</div><div class="ttdef"><b>Definition:</b> gb.h:593</div></div> +<div class="ttc" id="astructjoypads__t_html_af84e3549a0708ee0e04295e5f853e9f5"><div class="ttname"><a href="structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5">joypads_t::npads</a></div><div class="ttdeci">uint8_t npads</div><div class="ttdef"><b>Definition:</b> gb.h:616</div></div> <div class="ttc" id="agb_8h_html_a8e5ea12b86bdfc812448c2f5c4336c03"><div class="ttname"><a href="gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03">OAM_item_t</a></div><div class="ttdeci">struct OAM_item_t OAM_item_t</div></div> -<div class="ttc" id="agb_8h_html_a7cf5bd73a7493475e17f84995cf865bd"><div class="ttname"><a href="gb_8h.html#a7cf5bd73a7493475e17f84995cf865bd">get_win_tiles</a></div><div class="ttdeci">void get_win_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t *tiles) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a98b848953a95ce2fff6fda643575d74a"><div class="ttname"><a href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a">_current_bank</a></div><div class="ttdeci">__REG _current_bank</div><div class="ttdef"><b>Definition:</b> gb.h:414</div></div> -<div class="ttc" id="agb_8h_html_a924aa554f639022be104392891e156cd"><div class="ttname"><a href="gb_8h.html#a924aa554f639022be104392891e156cd">get_data</a></div><div class="ttdeci">void get_data(uint8_t *data, uint8_t *vram_addr, uint16_t len) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="astructjoypads__t_html"><div class="ttname"><a href="structjoypads__t.html">joypads_t</a></div><div class="ttdef"><b>Definition:</b> gb.h:592</div></div> -<div class="ttc" id="agb_8h_html_a99ea3252469e3614e977cce2aa1d06f7"><div class="ttname"><a href="gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7">set_sprite_prop</a></div><div class="ttdeci">void set_sprite_prop(uint8_t nb, uint8_t prop)</div><div class="ttdef"><b>Definition:</b> gb.h:1359</div></div> +<div class="ttc" id="agb_8h_html_aae433db7d8e3ee4c095c254b8abd7b8b"><div class="ttname"><a href="gb_8h.html#aae433db7d8e3ee4c095c254b8abd7b8b">waitpad</a></div><div class="ttdeci">uint8_t waitpad(uint8_t mask) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a98b848953a95ce2fff6fda643575d74a"><div class="ttname"><a href="gb_8h.html#a98b848953a95ce2fff6fda643575d74a">_current_bank</a></div><div class="ttdeci">__REG _current_bank</div><div class="ttdef"><b>Definition:</b> gb.h:427</div></div> +<div class="ttc" id="agb_8h_html_a176c477d759b814664785f3a0ad5e253"><div class="ttname"><a href="gb_8h.html#a176c477d759b814664785f3a0ad5e253">joypad</a></div><div class="ttdeci">uint8_t joypad() OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a6da9e2fa1bafd35363e84ee999909ec7"><div class="ttname"><a href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a></div><div class="ttdeci">void set_bkg_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="astructjoypads__t_html"><div class="ttname"><a href="structjoypads__t.html">joypads_t</a></div><div class="ttdef"><b>Definition:</b> gb.h:615</div></div> +<div class="ttc" id="agb_8h_html_a1b8a1026983cb2b2c0bd46334b4692a0"><div class="ttname"><a href="gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">set_win_based_submap</a></div><div class="ttdeci">void set_win_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> gb.h:1258</div></div> +<div class="ttc" id="agb_8h_html_a99ea3252469e3614e977cce2aa1d06f7"><div class="ttname"><a href="gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7">set_sprite_prop</a></div><div class="ttdeci">void set_sprite_prop(uint8_t nb, uint8_t prop)</div><div class="ttdef"><b>Definition:</b> gb.h:1492</div></div> <div class="ttc" id="agb_2hardware_8h_html_a0b42e4dadd74c927e8b801b4f42c0e44"><div class="ttname"><a href="gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44">__REG</a></div><div class="ttdeci">#define __REG</div><div class="ttdef"><b>Definition:</b> hardware.h:14</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a86cc170585319565195f2c163250be1f"><div class="ttname"><a href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a></div><div class="ttdeci">__REG SCX_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:261</div></div> -<div class="ttc" id="agb_8h_html_a7542d00af674e3c58b6c9887ab01919f"><div class="ttname"><a href="gb_8h.html#a7542d00af674e3c58b6c9887ab01919f">refresh_OAM</a></div><div class="ttdeci">void refresh_OAM()</div></div> -<div class="ttc" id="agb_8h_html_a427965ccaaa956d51bf4e7f14cc39b0f"><div class="ttname"><a href="gb_8h.html#a427965ccaaa956d51bf4e7f14cc39b0f">set_sprite_1bpp_data</a></div><div class="ttdeci">void set_sprite_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_adb21d1c7d533a7133bab36a845489780"><div class="ttname"><a href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a></div><div class="ttdeci">void set_bkg_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) OLDCALL</div><div class="ttdef"><b>Definition:</b> sms.h:573</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a86cc170585319565195f2c163250be1f"><div class="ttname"><a href="gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f">SCX_REG</a></div><div class="ttdeci">__REG SCX_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:287</div></div> +<div class="ttc" id="agb_8h_html_ae0b13f17609b26c86fc33944aeb6e867"><div class="ttname"><a href="gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867">enable_interrupts</a></div><div class="ttdeci">void enable_interrupts() PRESERVES_REGS(a</div></div> +<div class="ttc" id="agb_8h_html_adb21d1c7d533a7133bab36a845489780"><div class="ttname"><a href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a></div><div class="ttdeci">void set_bkg_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) OLDCALL</div><div class="ttdef"><b>Definition:</b> sms.h:585</div></div> +<div class="ttc" id="agb_8h_html_abc8bc5808620a9717263b8c9ec2237f0"><div class="ttname"><a href="gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0">set_bkg_based_submap</a></div><div class="ttdeci">void set_bkg_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> gb.h:1019</div></div> +<div class="ttc" id="agb_8h_html_a55c6581dbe9300dc6df41730f090af51"><div class="ttname"><a href="gb_8h.html#a55c6581dbe9300dc6df41730f090af51">get_bkg_tile_xy</a></div><div class="ttdeci">uint8_t get_bkg_tile_xy(uint8_t x, uint8_t y) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_abe4846d4570b4880b0e54b9e503f4d30"><div class="ttname"><a href="gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30">set_tile_data</a></div><div class="ttdeci">void set_tile_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data, uint8_t base) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="agb_8h_html_acae13736da20f9fc53e8d38934aa2119"><div class="ttname"><a href="gb_8h.html#acae13736da20f9fc53e8d38934aa2119">_io_out</a></div><div class="ttdeci">volatile uint8_t _io_out</div></div> <div class="ttc" id="agb_8h_html_ab7e35e1eff44ed78ad8f0015c6e85b4e"><div class="ttname"><a href="gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e">joypad_init</a></div><div class="ttdeci">uint8_t joypad_init(uint8_t npads, joypads_t *joypads) OLDCALL</div></div> -<div class="ttc" id="agb_8h_html_afdacbb553ea16fd0a3a96698be7668f8"><div class="ttname"><a href="gb_8h.html#afdacbb553ea16fd0a3a96698be7668f8">set_bkg_tile_xy</a></div><div class="ttdeci">uint8_t * set_bkg_tile_xy(uint8_t x, uint8_t y, uint8_t t) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a7b662ae4d83f9837bacb9fd580673054"><div class="ttname"><a href="gb_8h.html#a7b662ae4d83f9837bacb9fd580673054">_shadow_OAM_base</a></div><div class="ttdeci">__REG _shadow_OAM_base</div><div class="ttdef"><b>Definition:</b> gb.h:1271</div></div> -<div class="ttc" id="agb_8h_html_ac4f9e19d2834988ff005106b3f5b2f05"><div class="ttname"><a href="gb_8h.html#ac4f9e19d2834988ff005106b3f5b2f05">waitpad</a></div><div class="ttdeci">uint8_t waitpad(uint8_t mask) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a1a485dfade1a8f07232cbe669a1c1939"><div class="ttname"><a href="gb_8h.html#a1a485dfade1a8f07232cbe669a1c1939">get_bkg_tile_xy</a></div><div class="ttdeci">uint8_t get_bkg_tile_xy(uint8_t x, uint8_t y) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_aba807b33ddd5e18ecedc93b05338045e"><div class="ttname"><a href="gb_8h.html#aba807b33ddd5e18ecedc93b05338045e">set_win_tiles</a></div><div class="ttdeci">void set_win_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="agb_8h_html_a7b662ae4d83f9837bacb9fd580673054"><div class="ttname"><a href="gb_8h.html#a7b662ae4d83f9837bacb9fd580673054">_shadow_OAM_base</a></div><div class="ttdeci">__REG _shadow_OAM_base</div><div class="ttdef"><b>Definition:</b> gb.h:1404</div></div> +<div class="ttc" id="agb_8h_html_a2550e7b6b9fd7e1fc495872502311dbb"><div class="ttname"><a href="gb_8h.html#a2550e7b6b9fd7e1fc495872502311dbb">refresh_OAM</a></div><div class="ttdeci">void refresh_OAM() PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_aa8213cfad631865e3b6faec18e772cb4"><div class="ttname"><a href="gb_8h.html#aa8213cfad631865e3b6faec18e772cb4">get_win_xy_addr</a></div><div class="ttdeci">uint8_t * get_win_xy_addr(uint8_t x, uint8_t y) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a04d57683cdd046dfa45e7e56d7c4ec4d"><div class="ttname"><a href="gb_8h.html#a04d57683cdd046dfa45e7e56d7c4ec4d">display_off</a></div><div class="ttdeci">void display_off() PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a1f5101f2b7bb0123c26a3e257f843626"><div class="ttname"><a href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a></div><div class="ttdeci">void set_bkg_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_ae45b1c639698951b47e44fa8e89556f2"><div class="ttname"><a href="gb_8h.html#ae45b1c639698951b47e44fa8e89556f2">set_sprite_data</a></div><div class="ttdeci">void set_sprite_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a5c13238dfec416439d75b133a272e6df"><div class="ttname"><a href="gb_8h.html#a5c13238dfec416439d75b133a272e6df">get_bkg_data</a></div><div class="ttdeci">void get_bkg_data(uint8_t first_tile, uint8_t nb_tiles, uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="agb_8h_html_a3ea524204d839377cf39842eec23e202"><div class="ttname"><a href="gb_8h.html#a3ea524204d839377cf39842eec23e202">mode</a></div><div class="ttdeci">void mode(uint8_t m) OLDCALL</div></div> -<div class="ttc" id="agb_8h_html_a8a71c706c3eb1343196adf77f5825747"><div class="ttname"><a href="gb_8h.html#a8a71c706c3eb1343196adf77f5825747">disable_interrupts</a></div><div class="ttdeci">void disable_interrupts() __preserves_regs(a</div></div> <div class="ttc" id="astdint_8h_html_adf4d876453337156dde61095e1f20223"><div class="ttname"><a href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a></div><div class="ttdeci">unsigned short int uint16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:52</div></div> -<div class="ttc" id="agb_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">uint8_t c</div><div class="ttdef"><b>Definition:</b> gb.h:324</div></div> -<div class="ttc" id="agb_8h_html_a6558dad88815aa73fb81fae2ae90473d"><div class="ttname"><a href="gb_8h.html#a6558dad88815aa73fb81fae2ae90473d">get_vram_byte</a></div><div class="ttdeci">uint8_t get_vram_byte(uint8_t *addr) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a45cb12c6a672558e9a3792d11951707c"><div class="ttname"><a href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a></div><div class="ttdeci">void set_bkg_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a15f46ef3d3443b452db0c38fc33bcfc1"><div class="ttname"><a href="gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad</a></div><div class="ttdeci">uint8_t joypad() OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="agb_8h_html_afd8fd71eaa36b0ddd54a2e8e516ed224"><div class="ttname"><a href="gb_8h.html#afd8fd71eaa36b0ddd54a2e8e516ed224">get_data</a></div><div class="ttdeci">void get_data(uint8_t *data, uint8_t *vram_addr, uint16_t len) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="gb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">uint8_t c</div><div class="ttdef"><b>Definition:</b> gb.h:337</div></div> <div class="ttc" id="aversion_8h_html"><div class="ttname"><a href="version_8h.html">version.h</a></div></div> <div class="ttc" id="agb_8h_html_a2afae202a1f8ca59a12a6455bb909c5d"><div class="ttname"><a href="gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d">delay</a></div><div class="ttdeci">void delay(uint16_t d) OLDCALL</div></div> <div class="ttc" id="agb_8h_html_a9f9f77105099a34556247d5bb03368d1"><div class="ttname"><a href="gb_8h.html#a9f9f77105099a34556247d5bb03368d1">add_LCD</a></div><div class="ttdeci">void add_LCD(int_handler h) OLDCALL</div></div> <div class="ttc" id="agb_2hardware_8h_html_a509a5d0f138b40830cb447a862573be5"><div class="ttname"><a href="gb_2hardware_8h.html#a509a5d0f138b40830cb447a862573be5">IF_REG</a></div><div class="ttdeci">__REG IF_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:84</div></div> -<div class="ttc" id="agb_8h_html_af79b920bcb642bba2e652874c4f7eeff"><div class="ttname"><a href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a></div><div class="ttdeci">uint8_t l</div><div class="ttdef"><b>Definition:</b> gb.h:564</div></div> +<div class="ttc" id="agb_8h_html_af79b920bcb642bba2e652874c4f7eeff"><div class="ttname"><a href="gb_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a></div><div class="ttdeci">uint8_t l</div><div class="ttdef"><b>Definition:</b> gb.h:587</div></div> <div class="ttc" id="agb_8h_html_a695c6d0e8fd7cf11dae0d4c67bc058f9"><div class="ttname"><a href="gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9">nowait_int_handler</a></div><div class="ttdeci">void nowait_int_handler()</div></div> -<div class="ttc" id="agb_8h_html_afdc3ad3ac77ec32609195ae125b919e1"><div class="ttname"><a href="gb_8h.html#afdc3ad3ac77ec32609195ae125b919e1">get_tiles</a></div><div class="ttdeci">void get_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t *vram_addr, uint8_t *tiles) OLDCALL __preserves_regs(b</div></div> <div class="ttc" id="agb_8h_html_aa2f0235e78da2d1d94d3628d7a1afc30"><div class="ttname"><a href="gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30">add_JOY</a></div><div class="ttdeci">void add_JOY(int_handler h) OLDCALL</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a310aa43fbee2fd6b6b419df48acce1e0"><div class="ttname"><a href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0">WX_REG</a></div><div class="ttdeci">__REG WX_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:277</div></div> -<div class="ttc" id="agb_8h_html_a9eac2f4130d55f411aad246658d046a9"><div class="ttname"><a href="gb_8h.html#a9eac2f4130d55f411aad246658d046a9">fill_win_rect</a></div><div class="ttdeci">void fill_win_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t tile) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a310aa43fbee2fd6b6b419df48acce1e0"><div class="ttname"><a href="gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0">WX_REG</a></div><div class="ttdeci">__REG WX_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:303</div></div> <div class="ttc" id="agb_8h_html_a5b821b31215361265d8b7894a9ae7118"><div class="ttname"><a href="gb_8h.html#a5b821b31215361265d8b7894a9ae7118">remove_SIO</a></div><div class="ttdeci">void remove_SIO(int_handler h) OLDCALL</div></div> -<div class="ttc" id="agb_8h_html_aea1d2b59419abf7c1a9b95bb278f7a6c"><div class="ttname"><a href="gb_8h.html#aea1d2b59419abf7c1a9b95bb278f7a6c">get_win_xy_addr</a></div><div class="ttdeci">uint8_t * get_win_xy_addr(uint8_t x, uint8_t y) OLDCALL __preserves_regs(b</div></div> <div class="ttc" id="agb_8h_html_a78d2fd18666afec116f176d46debb4e7"><div class="ttname"><a href="gb_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a></div><div class="ttdeci">volatile uint16_t sys_time</div></div> -<div class="ttc" id="agb_8h_html_a8de3c5a1e5f74c380f2541dafc7b30ef"><div class="ttname"><a href="gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef">enable_interrupts</a></div><div class="ttdeci">void enable_interrupts() __preserves_regs(a</div></div> +<div class="ttc" id="agb_8h_html_a36f9e5d95c2d7d58f203b5ac358e25e7"><div class="ttname"><a href="gb_8h.html#a36f9e5d95c2d7d58f203b5ac358e25e7">vmemcpy</a></div><div class="ttdeci">void vmemcpy(uint8_t *dest, uint8_t *sour, uint16_t len) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="agb_8h_html_ad20897c5c8bd47f5d4005989bead0e55"><div class="ttname"><a href="gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55">reset</a></div><div class="ttdeci">void reset()</div></div> -<div class="ttc" id="agb_8h_html_ade5d4c955b871b0ed884273cc2b7215a"><div class="ttname"><a href="gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a">cancel_pending_interrupts</a></div><div class="ttdeci">uint8_t cancel_pending_interrupts()</div><div class="ttdef"><b>Definition:</b> gb.h:308</div></div> -<div class="ttc" id="agb_8h_html_abc82930da7beb0611778f8644e90b5e9"><div class="ttname"><a href="gb_8h.html#abc82930da7beb0611778f8644e90b5e9">get_sprite_data</a></div><div class="ttdeci">void get_sprite_data(uint8_t first_tile, uint8_t nb_tiles, uint8_t *data) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a5166ceebbaa646e2667df1a219c7b903"><div class="ttname"><a href="gb_8h.html#a5166ceebbaa646e2667df1a219c7b903">joypad_ex</a></div><div class="ttdeci">void joypad_ex(joypads_t *joypads) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_abb54953bdb190aa0bb76724ae3d5d214"><div class="ttname"><a href="gb_8h.html#abb54953bdb190aa0bb76724ae3d5d214">vmemset</a></div><div class="ttdeci">void vmemset(void *s, uint8_t c, size_t n) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_ac7cc92070d07d5096e2ccef3ea54cade"><div class="ttname"><a href="gb_8h.html#ac7cc92070d07d5096e2ccef3ea54cade">init_bkg</a></div><div class="ttdeci">void init_bkg(uint8_t c) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_aeda4515a31485c9688c4601ac5ce2d79"><div class="ttname"><a href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a></div><div class="ttdeci">void e</div><div class="ttdef"><b>Definition:</b> gb.h:585</div></div> +<div class="ttc" id="agb_8h_html_af6ac67037de041eb0141ba3725b1db83"><div class="ttname"><a href="gb_8h.html#af6ac67037de041eb0141ba3725b1db83">init_win</a></div><div class="ttdeci">void init_win(uint8_t c) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_acd186eb292d441f9389e77b545a55619"><div class="ttname"><a href="gb_8h.html#acd186eb292d441f9389e77b545a55619">wait_vbl_done</a></div><div class="ttdeci">void wait_vbl_done() PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_ade5d4c955b871b0ed884273cc2b7215a"><div class="ttname"><a href="gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a">cancel_pending_interrupts</a></div><div class="ttdeci">uint8_t cancel_pending_interrupts()</div><div class="ttdef"><b>Definition:</b> gb.h:321</div></div> +<div class="ttc" id="agb_8h_html_ad5bc3dc922707507aa51ed7f5b4a21e3"><div class="ttname"><a href="gb_8h.html#ad5bc3dc922707507aa51ed7f5b4a21e3">fill_win_rect</a></div><div class="ttdeci">void fill_win_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t tile) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a7ef32e7c1669aba48f235500a495baba"><div class="ttname"><a href="gb_8h.html#a7ef32e7c1669aba48f235500a495baba">get_win_data</a></div><div class="ttdeci">void get_win_data(uint8_t first_tile, uint8_t nb_tiles, uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_aa82205e9629f984d0b3dc8055c211522"><div class="ttname"><a href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a></div><div class="ttdeci">uint8_t _map_tile_offset</div></div> +<div class="ttc" id="agb_8h_html_a728b9440accedc5fb3477be3d150323a"><div class="ttname"><a href="gb_8h.html#a728b9440accedc5fb3477be3d150323a">get_tiles</a></div><div class="ttdeci">void get_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t *vram_addr, uint8_t *tiles) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a650d2df96e69a40b70548ab468e00f25"><div class="ttname"><a href="gb_8h.html#a650d2df96e69a40b70548ab468e00f25">set_data</a></div><div class="ttdeci">void set_data(uint8_t *vram_addr, const uint8_t *data, uint16_t len) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a0c70a53db1fbc0c99627da3f282befd8"><div class="ttname"><a href="gb_8h.html#a0c70a53db1fbc0c99627da3f282befd8">set_win_tile_xy</a></div><div class="ttdeci">uint8_t * set_win_tile_xy(uint8_t x, uint8_t y, uint8_t t) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a9b205ee302f54cb96ee59aac6d53a91c"><div class="ttname"><a href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c">set_tiles</a></div><div class="ttdeci">void set_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t *vram_addr, const uint8_t *tiles) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_aeda4515a31485c9688c4601ac5ce2d79"><div class="ttname"><a href="gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a></div><div class="ttdeci">void e</div><div class="ttdef"><b>Definition:</b> gb.h:608</div></div> <div class="ttc" id="agb_8h_html_acc9afd0cb72e763a1213d256b942a68f"><div class="ttname"><a href="gb_8h.html#acc9afd0cb72e763a1213d256b942a68f">wait_int_handler</a></div><div class="ttdeci">void wait_int_handler()</div></div> -<div class="ttc" id="agb_8h_html_a4d9b58a7682c3d9cbf4b974673c23d07"><div class="ttname"><a href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a></div><div class="ttdeci">void set_bkg_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a82582e006a955d2c934786e9d7c29623"><div class="ttname"><a href="gb_8h.html#a82582e006a955d2c934786e9d7c29623">get_win_tile_xy</a></div><div class="ttdeci">uint8_t get_win_tile_xy(uint8_t x, uint8_t y) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a78b307e0fde9289c2b1f4cd6aa0b763c"><div class="ttname"><a href="gb_8h.html#a78b307e0fde9289c2b1f4cd6aa0b763c">set_win_tile_xy</a></div><div class="ttdeci">uint8_t * set_win_tile_xy(uint8_t x, uint8_t y, uint8_t t) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a68651e50243349b48164a8ad983dca4e"><div class="ttname"><a href="gb_8h.html#a68651e50243349b48164a8ad983dca4e">set_native_tile_data</a></div><div class="ttdeci">void set_native_tile_data(uint16_t first_tile, uint8_t nb_tiles, const uint8_t *data)</div><div class="ttdef"><b>Definition:</b> gb.h:1544</div></div> +<div class="ttc" id="agb_8h_html_aa6bcf24d97f93307b30f2906251f39a0"><div class="ttname"><a href="gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0">get_bkg_tiles</a></div><div class="ttdeci">void get_bkg_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t *tiles) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a68651e50243349b48164a8ad983dca4e"><div class="ttname"><a href="gb_8h.html#a68651e50243349b48164a8ad983dca4e">set_native_tile_data</a></div><div class="ttdeci">void set_native_tile_data(uint16_t first_tile, uint8_t nb_tiles, const uint8_t *data)</div><div class="ttdef"><b>Definition:</b> gb.h:1677</div></div> <div class="ttc" id="agb_8h_html_aa82422752016328ed0765879e286019f"><div class="ttname"><a href="gb_8h.html#aa82422752016328ed0765879e286019f">add_SIO</a></div><div class="ttdeci">void add_SIO(int_handler h) OLDCALL</div></div> -<div class="ttc" id="agb_8h_html_a113055d93ba40767b676f172aa5cc996"><div class="ttname"><a href="gb_8h.html#a113055d93ba40767b676f172aa5cc996">set_bkg_1bpp_data</a></div><div class="ttdeci">void set_bkg_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a7e0cdfd6b9a2ae1b7f30384f132d8687"><div class="ttname"><a href="gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">SET_SHADOW_OAM_ADDRESS</a></div><div class="ttdeci">void SET_SHADOW_OAM_ADDRESS(void *address)</div><div class="ttdef"><b>Definition:</b> gb.h:1293</div></div> +<div class="ttc" id="agb_8h_html_a7e0cdfd6b9a2ae1b7f30384f132d8687"><div class="ttname"><a href="gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">SET_SHADOW_OAM_ADDRESS</a></div><div class="ttdeci">void SET_SHADOW_OAM_ADDRESS(void *address)</div><div class="ttdef"><b>Definition:</b> gb.h:1426</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> +<div class="ttc" id="agb_8h_html_adcdec4034a14abc5be9bb88c29b947c9"><div class="ttname"><a href="gb_8h.html#adcdec4034a14abc5be9bb88c29b947c9">get_sprite_data</a></div><div class="ttdeci">void get_sprite_data(uint8_t first_tile, uint8_t nb_tiles, uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="agb_8h_html_a9a7fd7be44bb12bc85a144b732ce02f7"><div class="ttname"><a href="gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7">receive_byte</a></div><div class="ttdeci">void receive_byte()</div></div> -<div class="ttc" id="agb_8h_html_a1207717410f1c9beb6a719eef400ffd7"><div class="ttname"><a href="gb_8h.html#a1207717410f1c9beb6a719eef400ffd7">get_bkg_data</a></div><div class="ttdeci">void get_bkg_data(uint8_t first_tile, uint8_t nb_tiles, uint8_t *data) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a9508f919d9482d1d51534ccac212454d"><div class="ttname"><a href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a></div><div class="ttdeci">void(* int_handler)(void) NONBANKED</div><div class="ttdef"><b>Definition:</b> gb.h:159</div></div> +<div class="ttc" id="agb_8h_html_a739a212609ae60c9c56c095f96b4ea80"><div class="ttname"><a href="gb_8h.html#a739a212609ae60c9c56c095f96b4ea80">set_win_based_tiles</a></div><div class="ttdeci">void set_win_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> gb.h:1200</div></div> +<div class="ttc" id="agb_8h_html_a9005b80d3315f50f0fb0e1728e7ee60f"><div class="ttname"><a href="gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f">get_bkg_xy_addr</a></div><div class="ttdeci">uint8_t * get_bkg_xy_addr(uint8_t x, uint8_t y) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a9508f919d9482d1d51534ccac212454d"><div class="ttname"><a href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a></div><div class="ttdeci">void(* int_handler)(void) NONBANKED</div><div class="ttdef"><b>Definition:</b> gb.h:161</div></div> <div class="ttc" id="agb_8h_html_a874b9bd95b0a05d6a6072feabc879e45"><div class="ttname"><a href="gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45">_cpu</a></div><div class="ttdeci">uint8_t _cpu</div></div> -<div class="ttc" id="agb_8h_html_a067f16eeb168f3ac9312a4766e7d2ff2"><div class="ttname"><a href="gb_8h.html#a067f16eeb168f3ac9312a4766e7d2ff2">display_off</a></div><div class="ttdeci">void display_off() __preserves_regs(b</div></div> +<div class="ttc" id="agb_8h_html_ad77796783b3a601b6f3781dfc3983499"><div class="ttname"><a href="gb_8h.html#ad77796783b3a601b6f3781dfc3983499">disable_interrupts</a></div><div class="ttdeci">void disable_interrupts() PRESERVES_REGS(a</div></div> <div class="ttc" id="agb_8h_html_a250f5339e05523912926be566e9eb8c0"><div class="ttname"><a href="gb_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a></div><div class="ttdeci">uint16_t _current_1bpp_colors</div></div> -<div class="ttc" id="agb_8h_html_ab42c12c1d9aed3fd963248fbea9830cd"><div class="ttname"><a href="gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">move_sprite</a></div><div class="ttdeci">void move_sprite(uint8_t nb, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:1386</div></div> +<div class="ttc" id="agb_8h_html_ab42c12c1d9aed3fd963248fbea9830cd"><div class="ttname"><a href="gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">move_sprite</a></div><div class="ttdeci">void move_sprite(uint8_t nb, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:1519</div></div> +<div class="ttc" id="agb_8h_html_a711fa26feecc76dc51482b0f77062859"><div class="ttname"><a href="gb_8h.html#a711fa26feecc76dc51482b0f77062859">set_bkg_1bpp_data</a></div><div class="ttdeci">void set_bkg_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_aa33ba8b8d381df76edf15ea251ccb675"><div class="ttname"><a href="gb_8h.html#aa33ba8b8d381df76edf15ea251ccb675">get_vram_byte</a></div><div class="ttdeci">uint8_t get_vram_byte(uint8_t *addr) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="agb_8h_html_a1f00bd35cd56aac84c108f5a802c3f9c"><div class="ttname"><a href="gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c">set_1bpp_colors_ex</a></div><div class="ttdeci">void set_1bpp_colors_ex(uint8_t fgcolor, uint8_t bgcolor, uint8_t mode) OLDCALL</div></div> -<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:585</div></div> -<div class="ttc" id="agb_8h_html_a6c59aa9a4f9ea42bed6ca6940b2741fe"><div class="ttname"><a href="gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe">scroll_sprite</a></div><div class="ttdeci">void scroll_sprite(uint8_t nb, int8_t x, int8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:1402</div></div> +<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:608</div></div> +<div class="ttc" id="agb_8h_html_a6c59aa9a4f9ea42bed6ca6940b2741fe"><div class="ttname"><a href="gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe">scroll_sprite</a></div><div class="ttdeci">void scroll_sprite(uint8_t nb, int8_t x, int8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:1535</div></div> <div class="ttc" id="agb_8h_html_a539b7b45b1c2d6b2051553665c76fd36"><div class="ttname"><a href="gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36">_is_GBA</a></div><div class="ttdeci">uint8_t _is_GBA</div></div> -<div class="ttc" id="agb_8h_html_a57879f3a7e7655a1bec4f44f5304f9dd"><div class="ttname"><a href="gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd">set_win_data</a></div><div class="ttdeci">void set_win_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> -<div class="ttc" id="agb_8h_html_a1f1dfeb2f802fe99f37fe91867b84456"><div class="ttname"><a href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a></div><div class="ttdeci">uint8_t h</div><div class="ttdef"><b>Definition:</b> gb.h:564</div></div> -<div class="ttc" id="agb_8h_html_a0a3d95ad0ab8ad213016101d2e9c3d3e"><div class="ttname"><a href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a></div><div class="ttdeci">void d</div><div class="ttdef"><b>Definition:</b> gb.h:585</div></div> -<div class="ttc" id="agb_8h_html_aa4dc1c2f6f54a564b719b2bd5a0b3c62"><div class="ttname"><a href="gb_8h.html#aa4dc1c2f6f54a564b719b2bd5a0b3c62">set_data</a></div><div class="ttdeci">void set_data(uint8_t *vram_addr, const uint8_t *data, uint16_t len) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a12c2b5ac249d01caf1561cbbf3962044"><div class="ttname"><a href="gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044">scroll_win</a></div><div class="ttdeci">void scroll_win(int8_t x, int8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:1196</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> +<div class="ttc" id="agb_8h_html_a9312e7ec34162d6b6ed0875631fa6fe3"><div class="ttname"><a href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">set_interrupts</a></div><div class="ttdeci">void set_interrupts(uint8_t flags) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a1f1dfeb2f802fe99f37fe91867b84456"><div class="ttname"><a href="gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a></div><div class="ttdeci">uint8_t h</div><div class="ttdef"><b>Definition:</b> gb.h:587</div></div> +<div class="ttc" id="agb_8h_html_a0a3d95ad0ab8ad213016101d2e9c3d3e"><div class="ttname"><a href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a></div><div class="ttdeci">void d</div><div class="ttdef"><b>Definition:</b> gb.h:608</div></div> +<div class="ttc" id="agb_8h_html_a12c2b5ac249d01caf1561cbbf3962044"><div class="ttname"><a href="gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044">scroll_win</a></div><div class="ttdeci">void scroll_win(int8_t x, int8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:1329</div></div> <div class="ttc" id="agb_2hardware_8h_html"><div class="ttname"><a href="gb_2hardware_8h.html">hardware.h</a></div></div> -<div class="ttc" id="agb_8h_html_a68e4586e2401c1e39703571b5b8d934b"><div class="ttname"><a href="gb_8h.html#a68e4586e2401c1e39703571b5b8d934b">get_bkg_tiles</a></div><div class="ttdeci">void get_bkg_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t *tiles) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7ed081d8dfb6902784b2fc730bbb7f96"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></div><div class="ttdeci">#define NONBANKED</div><div class="ttdef"><b>Definition:</b> types.h:12</div></div> -<div class="ttc" id="agb_8h_html_a05bf0b9f1328de7b568a19a2a428bcfe"><div class="ttname"><a href="gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a></div><div class="ttdeci">void set_sprite_tile(uint8_t nb, uint8_t tile)</div><div class="ttdef"><b>Definition:</b> gb.h:1313</div></div> -<div class="ttc" id="astruct_o_a_m__item__t_html_a6c269ed01269d02bcf7e36e0de3696f6"><div class="ttname"><a href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">OAM_item_t::tile</a></div><div class="ttdeci">uint8_t tile</div><div class="ttdef"><b>Definition:</b> gb.h:1260</div></div> -<div class="ttc" id="agb_8h_html_a1f583f7a880daa6145ca78b086a209d1"><div class="ttname"><a href="gb_8h.html#a1f583f7a880daa6145ca78b086a209d1">scroll_bkg</a></div><div class="ttdeci">void scroll_bkg(int8_t x, int8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:1010</div></div> -<div class="ttc" id="agb_8h_html_a194b27b9e852e93ae0a4b55fae7fee6d"><div class="ttname"><a href="gb_8h.html#a194b27b9e852e93ae0a4b55fae7fee6d">get_bkg_xy_addr</a></div><div class="ttdeci">uint8_t * get_bkg_xy_addr(uint8_t x, uint8_t y) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="agb_8h_html_a74c3f53fca019f7abcd1270650808849"><div class="ttname"><a href="gb_8h.html#a74c3f53fca019f7abcd1270650808849">fill_bkg_rect</a></div><div class="ttdeci">void fill_bkg_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t tile) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a05bf0b9f1328de7b568a19a2a428bcfe"><div class="ttname"><a href="gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a></div><div class="ttdeci">void set_sprite_tile(uint8_t nb, uint8_t tile)</div><div class="ttdef"><b>Definition:</b> gb.h:1446</div></div> +<div class="ttc" id="astruct_o_a_m__item__t_html_a6c269ed01269d02bcf7e36e0de3696f6"><div class="ttname"><a href="struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6">OAM_item_t::tile</a></div><div class="ttdeci">uint8_t tile</div><div class="ttdef"><b>Definition:</b> gb.h:1393</div></div> +<div class="ttc" id="agb_8h_html_a1f583f7a880daa6145ca78b086a209d1"><div class="ttname"><a href="gb_8h.html#a1f583f7a880daa6145ca78b086a209d1">scroll_bkg</a></div><div class="ttdeci">void scroll_bkg(int8_t x, int8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:1093</div></div> <div class="ttc" id="agb_8h_html_a028d1a2e820951bb4f103d6469975ffb"><div class="ttname"><a href="gb_8h.html#a028d1a2e820951bb4f103d6469975ffb">add_TIM</a></div><div class="ttdeci">void add_TIM(int_handler h) OLDCALL</div></div> -<div class="ttc" id="agb_8h_html_a0756c9c45dcf042a146d2a54290e9f6a"><div class="ttname"><a href="gb_8h.html#a0756c9c45dcf042a146d2a54290e9f6a">set_tile_data</a></div><div class="ttdeci">void set_tile_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data, uint8_t base) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a68346350199018249bdf8019b7131514"><div class="ttname"><a href="gb_8h.html#a68346350199018249bdf8019b7131514">wait_vbl_done</a></div><div class="ttdeci">void wait_vbl_done() __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_af5c0beff7d7a7d8641b51fd95c811b2a"><div class="ttname"><a href="gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a">get_sprite_tile</a></div><div class="ttdeci">uint8_t get_sprite_tile(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> gb.h:1324</div></div> +<div class="ttc" id="agb_8h_html_a97b9f2fc6ac7cae97656aca940d65d44"><div class="ttname"><a href="gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44">hiramcpy</a></div><div class="ttdeci">void hiramcpy(uint8_t dst, const void *src, uint8_t n) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_af5c0beff7d7a7d8641b51fd95c811b2a"><div class="ttname"><a href="gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a">get_sprite_tile</a></div><div class="ttdeci">uint8_t get_sprite_tile(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> gb.h:1457</div></div> <div class="ttc" id="agb_8h_html_a0d29659d08708143dd8bc720278e06b5"><div class="ttname"><a href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">add_VBL</a></div><div class="ttdeci">void add_VBL(int_handler h) OLDCALL</div></div> -<div class="ttc" id="agb_8h_html_a8d3bf80819fe94ed67b11bf85c7bfa54"><div class="ttname"><a href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">set_interrupts</a></div><div class="ttdeci">void set_interrupts(uint8_t flags) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a1c8d52607616ef37da335447e4cbe850"><div class="ttname"><a href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850">WY_REG</a></div><div class="ttdeci">__REG WY_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:275</div></div> +<div class="ttc" id="agb_8h_html_a19969b36a6535fc6a966c0e5476baf9c"><div class="ttname"><a href="gb_8h.html#a19969b36a6535fc6a966c0e5476baf9c">get_mode</a></div><div class="ttdeci">uint8_t get_mode() OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a1c8d52607616ef37da335447e4cbe850"><div class="ttname"><a href="gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850">WY_REG</a></div><div class="ttdeci">__REG WY_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:301</div></div> +<div class="ttc" id="agb_8h_html_a2e29fdca81c28c627c2591029722e71c"><div class="ttname"><a href="gb_8h.html#a2e29fdca81c28c627c2591029722e71c">get_win_tile_xy</a></div><div class="ttdeci">uint8_t get_win_tile_xy(uint8_t x, uint8_t y) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="agb_8h_html_a32683767caa2a263a1f494b3605786e7"><div class="ttname"><a href="gb_8h.html#a32683767caa2a263a1f494b3605786e7">remove_LCD</a></div><div class="ttdeci">void remove_LCD(int_handler h) OLDCALL</div></div> -<div class="ttc" id="agb_8h_html_ac9f0aa82f8e34812a406263aad57d4d9"><div class="ttname"><a href="gb_8h.html#ac9f0aa82f8e34812a406263aad57d4d9">vmemcpy</a></div><div class="ttdeci">void vmemcpy(uint8_t *dest, uint8_t *sour, uint16_t len) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a84e320d3c0b1eca4d0b81b848d096582"><div class="ttname"><a href="gb_8h.html#a84e320d3c0b1eca4d0b81b848d096582">set_vram_byte</a></div><div class="ttdeci">void set_vram_byte(uint8_t *addr, uint8_t v) OLDCALL __preserves_regs(b</div></div> <div class="ttc" id="agb_8h_html_a142f6c7755fce8b1148faf658d8ec147"><div class="ttname"><a href="gb_8h.html#a142f6c7755fce8b1148faf658d8ec147">remove_TIM</a></div><div class="ttdeci">void remove_TIM(int_handler h) OLDCALL</div></div> -<div class="ttc" id="agb_8h_html_aeb241bfa1101cc1e40d26b5bd1aad96b"><div class="ttname"><a href="gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b">set_tiles</a></div><div class="ttdeci">void set_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t *vram_addr, const uint8_t *tiles) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="astruct_o_a_m__item__t_html"><div class="ttname"><a href="struct_o_a_m__item__t.html">OAM_item_t</a></div><div class="ttdef"><b>Definition:</b> gb.h:1258</div></div> -<div class="ttc" id="agb_8h_html_aa224c9bac27c7fd268e62bdf33338a84"><div class="ttname"><a href="gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a></div><div class="ttdeci">void set_2bpp_palette(uint16_t palette)</div><div class="ttdef"><b>Definition:</b> gb.h:792</div></div> -<div class="ttc" id="astruct_o_a_m__item__t_html_ad5ad9d3d300858bf0b1cd9e210366a18"><div class="ttname"><a href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">OAM_item_t::y</a></div><div class="ttdeci">uint8_t y</div><div class="ttdef"><b>Definition:</b> gb.h:1259</div></div> +<div class="ttc" id="aasm_2types_8h_html_a7ed081d8dfb6902784b2fc730bbb7f96"><div class="ttname"><a href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></div><div class="ttdeci">#define NONBANKED</div><div class="ttdef"><b>Definition:</b> types.h:36</div></div> +<div class="ttc" id="agb_8h_html_acd5ee7a94059e6edbe9223f291bc2b46"><div class="ttname"><a href="gb_8h.html#acd5ee7a94059e6edbe9223f291bc2b46">set_win_1bpp_data</a></div><div class="ttdeci">void set_win_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_ab472d9bbb1bcfd141374f5babc71934c"><div class="ttname"><a href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a></div><div class="ttdeci">uint8_t _submap_tile_offset</div></div> +<div class="ttc" id="astruct_o_a_m__item__t_html"><div class="ttname"><a href="struct_o_a_m__item__t.html">OAM_item_t</a></div><div class="ttdef"><b>Definition:</b> gb.h:1391</div></div> +<div class="ttc" id="agb_8h_html_aa224c9bac27c7fd268e62bdf33338a84"><div class="ttname"><a href="gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a></div><div class="ttdeci">void set_2bpp_palette(uint16_t palette)</div><div class="ttdef"><b>Definition:</b> gb.h:819</div></div> +<div class="ttc" id="astruct_o_a_m__item__t_html_ad5ad9d3d300858bf0b1cd9e210366a18"><div class="ttname"><a href="struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18">OAM_item_t::y</a></div><div class="ttdeci">uint8_t y</div><div class="ttdef"><b>Definition:</b> gb.h:1392</div></div> <div class="ttc" id="agb_8h_html_ae339d7d8d7e0ebd6691b42608c416964"><div class="ttname"><a href="gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964">send_byte</a></div><div class="ttdeci">void send_byte()</div></div> <div class="ttc" id="agb_8h_html_ad43fdfdb1e157b141f3fc48b78bf4386"><div class="ttname"><a href="gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386">remove_VBL</a></div><div class="ttdeci">void remove_VBL(int_handler h) OLDCALL</div></div> -<div class="ttc" id="agb_8h_html_aeef17768c494bcd6b67f7591329f7ff5"><div class="ttname"><a href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5">move_win</a></div><div class="ttdeci">void move_win(uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:1182</div></div> -<div class="ttc" id="astruct_o_a_m__item__t_html_a435e018f3bbc0ebaa9eaf96806d386d9"><div class="ttname"><a href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">OAM_item_t::prop</a></div><div class="ttdeci">uint8_t prop</div><div class="ttdef"><b>Definition:</b> gb.h:1261</div></div> +<div class="ttc" id="agb_8h_html_a970f18857533e062f4780f6e1c407d69"><div class="ttname"><a href="gb_8h.html#a970f18857533e062f4780f6e1c407d69">add_low_priority_TIM</a></div><div class="ttdeci">void add_low_priority_TIM(int_handler h) OLDCALL</div></div> +<div class="ttc" id="aasm_2types_8h_html_acb825e83a33fcc06482c59b4ab2cf961"><div class="ttname"><a href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a></div><div class="ttdeci">#define PRESERVES_REGS(...)</div><div class="ttdef"><b>Definition:</b> types.h:29</div></div> +<div class="ttc" id="agb_8h_html_a6e6f8eb1de2ae1ec9adeafbd7b9884db"><div class="ttname"><a href="gb_8h.html#a6e6f8eb1de2ae1ec9adeafbd7b9884db">joypad_ex</a></div><div class="ttdeci">void joypad_ex(joypads_t *joypads) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a7080649e10765996c581e5b618e603b8"><div class="ttname"><a href="gb_8h.html#a7080649e10765996c581e5b618e603b8">set_vram_byte</a></div><div class="ttdeci">void set_vram_byte(uint8_t *addr, uint8_t v) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_aeef17768c494bcd6b67f7591329f7ff5"><div class="ttname"><a href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5">move_win</a></div><div class="ttdeci">void move_win(uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> gb.h:1315</div></div> +<div class="ttc" id="astruct_o_a_m__item__t_html_a435e018f3bbc0ebaa9eaf96806d386d9"><div class="ttname"><a href="struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9">OAM_item_t::prop</a></div><div class="ttdeci">uint8_t prop</div><div class="ttdef"><b>Definition:</b> gb.h:1394</div></div> +<div class="ttc" id="agb_8h_html_ac2bf0c4919c30d322fa5853c896e710f"><div class="ttname"><a href="gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f">set_win_data</a></div><div class="ttdeci">void set_win_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_ab3e60c92c9f8fbed855f8712187ea3ea"><div class="ttname"><a href="gb_8h.html#ab3e60c92c9f8fbed855f8712187ea3ea">set_sprite_1bpp_data</a></div><div class="ttdeci">void set_sprite_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="agb_8h_html_a4a3e87e0917d5efb6bc7c94e9754fcd0"><div class="ttname"><a href="gb_8h.html#a4a3e87e0917d5efb6bc7c94e9754fcd0">remove_JOY</a></div><div class="ttdeci">void remove_JOY(int_handler h) OLDCALL</div></div> -<div class="ttc" id="agb_8h_html_ab6321884a3f9028ea0056851d4926919"><div class="ttname"><a href="gb_8h.html#ab6321884a3f9028ea0056851d4926919">get_win_data</a></div><div class="ttdeci">void get_win_data(uint8_t first_tile, uint8_t nb_tiles, uint8_t *data) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_af80befa3cad9cae361c7cf4fffb3a8de"><div class="ttname"><a href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a></div><div class="ttdeci">void set_win_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) OLDCALL</div><div class="ttdef"><b>Definition:</b> sms.h:576</div></div> -<div class="ttc" id="agb_2hardware_8h_html_a244b162cf13bbcb4fe842d7e298b39c2"><div class="ttname"><a href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a></div><div class="ttdeci">__REG SCY_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:259</div></div> -<div class="ttc" id="agb_8h_html_ac40ffe4802ea41e5cee0ac3d4b254e08"><div class="ttname"><a href="gb_8h.html#ac40ffe4802ea41e5cee0ac3d4b254e08">set_sprite_data</a></div><div class="ttdeci">void set_sprite_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_ad22c51635d052399bbbe1777999c794d"><div class="ttname"><a href="gb_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a></div><div class="ttdeci">void hide_sprite(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> gb.h:1412</div></div> -<div class="ttc" id="agb_8h_html_a4ed6f21654895e40981802fdbe6b003d"><div class="ttname"><a href="gb_8h.html#a4ed6f21654895e40981802fdbe6b003d">get_mode</a></div><div class="ttdeci">uint8_t get_mode() OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="agb_8h_html_a1df9458387eecf1a164098e90350e561"><div class="ttname"><a href="gb_8h.html#a1df9458387eecf1a164098e90350e561">init_win</a></div><div class="ttdeci">void init_win(uint8_t c) OLDCALL __preserves_regs(b</div></div> -<div class="ttc" id="astructjoypads__t_html_ab281d26e5197e49633274f412b164295"><div class="ttname"><a href="structjoypads__t.html#ab281d26e5197e49633274f412b164295">joypads_t::joy3</a></div><div class="ttdeci">uint8_t joy3</div><div class="ttdef"><b>Definition:</b> gb.h:596</div></div> -<div class="ttc" id="agb_8h_html_adcb394299a1033616fc7d2faec8bd6ad"><div class="ttname"><a href="gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad">set_1bpp_colors</a></div><div class="ttdeci">void set_1bpp_colors(uint8_t fgcolor, uint8_t bgcolor)</div><div class="ttdef"><b>Definition:</b> gb.h:798</div></div> -<div class="ttc" id="agb_8h_html_a445fa9ede939ca486ae5268e826b3a44"><div class="ttname"><a href="gb_8h.html#a445fa9ede939ca486ae5268e826b3a44">set_win_1bpp_data</a></div><div class="ttdeci">void set_win_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="agb_8h_html_a8484d346b788309ac702b7e0b1fca730"><div class="ttname"><a href="gb_8h.html#a8484d346b788309ac702b7e0b1fca730">waitpadup</a></div><div class="ttdeci">void waitpadup() PRESERVES_REGS(a</div></div> +<div class="ttc" id="agb_8h_html_af80befa3cad9cae361c7cf4fffb3a8de"><div class="ttname"><a href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a></div><div class="ttdeci">void set_win_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) OLDCALL</div><div class="ttdef"><b>Definition:</b> sms.h:588</div></div> +<div class="ttc" id="agb_8h_html_a97bab71effd5e4e386629cb6ca5816cf"><div class="ttname"><a href="gb_8h.html#a97bab71effd5e4e386629cb6ca5816cf">vmemset</a></div><div class="ttdeci">void vmemset(void *s, uint8_t c, size_t n) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_8h_html_a46058204097dd305bf72bc20ea7f7a3b"><div class="ttname"><a href="gb_8h.html#a46058204097dd305bf72bc20ea7f7a3b">init_bkg</a></div><div class="ttdeci">void init_bkg(uint8_t c) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_2hardware_8h_html_a244b162cf13bbcb4fe842d7e298b39c2"><div class="ttname"><a href="gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2">SCY_REG</a></div><div class="ttdeci">__REG SCY_REG</div><div class="ttdef"><b>Definition:</b> hardware.h:285</div></div> +<div class="ttc" id="agb_8h_html_ad22c51635d052399bbbe1777999c794d"><div class="ttname"><a href="gb_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a></div><div class="ttdeci">void hide_sprite(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> gb.h:1545</div></div> +<div class="ttc" id="agb_8h_html_a74ee8f0a3495508c90de4ce246b81060"><div class="ttname"><a href="gb_8h.html#a74ee8f0a3495508c90de4ce246b81060">set_bkg_tile_xy</a></div><div class="ttdeci">uint8_t * set_bkg_tile_xy(uint8_t x, uint8_t y, uint8_t t) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="astructjoypads__t_html_ab281d26e5197e49633274f412b164295"><div class="ttname"><a href="structjoypads__t.html#ab281d26e5197e49633274f412b164295">joypads_t::joy3</a></div><div class="ttdeci">uint8_t joy3</div><div class="ttdef"><b>Definition:</b> gb.h:619</div></div> +<div class="ttc" id="agb_8h_html_adcb394299a1033616fc7d2faec8bd6ad"><div class="ttname"><a href="gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad">set_1bpp_colors</a></div><div class="ttdeci">void set_1bpp_colors(uint8_t fgcolor, uint8_t bgcolor)</div><div class="ttdef"><b>Definition:</b> gb.h:825</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/gbdk-lib_8h.html b/docs/api/gbdk-lib_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/gbdk-lib_8h_source.html b/docs/api/gbdk-lib_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/gbdk_2gbdecompress_8h.html b/docs/api/gbdk_2gbdecompress_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/gbdk_2gbdecompress_8h_source.html b/docs/api/gbdk_2gbdecompress_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -92,7 +93,7 @@ $(document).ready(function(){initNavTree('gbdk_2gbdecompress_8h_source.html','') <a href="gbdk_2gbdecompress_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef __GB_DECOMPRESS_H_INCLUDE</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define __GB_DECOMPRESS_H_INCLUDE</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  </div> -<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#if defined(__TARGET_gb) || defined(__TARGET_ap)</span></div> +<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#if defined(__TARGET_gb) || defined(__TARGET_ap) || defined(__TARGET_duck)</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor"> #include <<a class="code" href="gb_2gbdecompress_8h.html">gb/gbdecompress.h</a>></span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#elif defined(__TARGET_sms) || defined(__TARGET_gg)</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor"> #include <<a class="code" href="sms_2gbdecompress_8h.html">sms/gbdecompress.h</a>></span></div> diff --git a/docs/api/gbdk_2metasprites_8h.html b/docs/api/gbdk_2metasprites_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/gbdk_2metasprites_8h_source.html b/docs/api/gbdk_2metasprites_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -92,7 +93,7 @@ $(document).ready(function(){initNavTree('gbdk_2metasprites_8h_source.html',''); <a href="gbdk_2metasprites_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef __PLAT_METASPRITES_H_INVCLUDE</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define __PLAT_METASPRITES_H_INVCLUDE</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  </div> -<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#if defined(__TARGET_gb) || defined(__TARGET_ap)</span></div> +<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#if defined(__TARGET_gb) || defined(__TARGET_ap) || defined(__TARGET_duck)</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor"> #include <<a class="code" href="gb_2metasprites_8h.html">gb/metasprites.h</a>></span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#elif defined(__TARGET_sms) || defined(__TARGET_gg)</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor"> #include <<a class="code" href="sms_2metasprites_8h.html">sms/metasprites.h</a>></span></div> diff --git a/docs/api/gbz80_2provides_8h.html b/docs/api/gbz80_2provides_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/gbz80_2provides_8h_source.html b/docs/api/gbz80_2provides_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals.html b/docs/api/globals.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -127,6 +128,9 @@ $(document).ready(function(){initNavTree('globals.html',''); initResizable(); }) <li>__PTRDIFF_T_DEFINED : <a class="el" href="stddef_8h.html#a9e3909fa823b8c4e3fc624d77fb946bf">stddef.h</a> </li> +<li>__rand_seed +: <a class="el" href="rand_8h.html#a7aab2f4a234108a5eae48e0d26380ae7">rand.h</a> +</li> <li>__READ_VDP_REG : <a class="el" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">sms.h</a> </li> @@ -190,6 +194,10 @@ $(document).ready(function(){initNavTree('globals.html',''); initResizable(); }) <li>_is_GBA : <a class="el" href="gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36">gb.h</a> </li> +<li>_map_tile_offset +: <a class="el" href="sms_8h.html#aa82205e9629f984d0b3dc8055c211522">sms.h</a> +, <a class="el" href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">gb.h</a> +</li> <li>_OAMRAM : <a class="el" href="gb_2hardware_8h.html#a7030908728e166877fba9065671deb02">hardware.h</a> </li> @@ -206,8 +214,8 @@ $(document).ready(function(){initNavTree('globals.html',''); initResizable(); }) : <a class="el" href="gb_2hardware_8h.html#afff31f511127bf7ba1bd3b6bc740aee8">hardware.h</a> </li> <li>_shadow_OAM_base -: <a class="el" href="gb_8h.html#a7b662ae4d83f9837bacb9fd580673054">gb.h</a> -, <a class="el" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">sms.h</a> +: <a class="el" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">sms.h</a> +, <a class="el" href="gb_8h.html#a7b662ae4d83f9837bacb9fd580673054">gb.h</a> </li> <li>_shadow_OAM_OFF : <a class="el" href="sms_8h.html#a388d1dff2698172ba8574e43f5c77c93">sms.h</a> @@ -215,6 +223,10 @@ $(document).ready(function(){initNavTree('globals.html',''); initResizable(); }) <li>_SRAM : <a class="el" href="gb_2hardware_8h.html#a09a4ae65605182c8b694197d3aea695e">hardware.h</a> </li> +<li>_submap_tile_offset +: <a class="el" href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">gb.h</a> +, <a class="el" href="sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c">sms.h</a> +</li> <li>_SYSTEM : <a class="el" href="sms_2hardware_8h.html#a7093bf38c5e663715f4efed44341502d">hardware.h</a> </li> diff --git a/docs/api/globals_a.html b/docs/api/globals_a.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -93,33 +94,39 @@ $(document).ready(function(){initNavTree('globals_a.html',''); initResizable(); </li> <li>add_JOY() : <a class="el" href="gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30">gb.h</a> -, <a class="el" href="sms_8h.html#a049c5d8c901a23cccf95b02a911f9212">sms.h</a> +, <a class="el" href="sms_8h.html#a48163816121cd669526817d3e6266fd9">sms.h</a> </li> <li>add_LCD() : <a class="el" href="gb_8h.html#a9f9f77105099a34556247d5bb03368d1">gb.h</a> -, <a class="el" href="sms_8h.html#a99f5c1698cb6d3715690481d4e4b6da1">sms.h</a> +, <a class="el" href="sms_8h.html#a51add93356a25c71e8c37a73c9065c9d">sms.h</a> +</li> +<li>add_low_priority_TIM() +: <a class="el" href="gb_8h.html#a970f18857533e062f4780f6e1c407d69">gb.h</a> </li> <li>add_SIO() -: <a class="el" href="gb_8h.html#aa82422752016328ed0765879e286019f">gb.h</a> -, <a class="el" href="sms_8h.html#adcbf35ca19c093d4565729fa7e868f5c">sms.h</a> +: <a class="el" href="sms_8h.html#a3372d61a07e0466bdb909a27f3aaaca9">sms.h</a> +, <a class="el" href="gb_8h.html#aa82422752016328ed0765879e286019f">gb.h</a> </li> <li>add_TIM() : <a class="el" href="gb_8h.html#a028d1a2e820951bb4f103d6469975ffb">gb.h</a> -, <a class="el" href="sms_8h.html#a17416b1bb39989e82948e3a97f23187f">sms.h</a> +, <a class="el" href="sms_8h.html#a6c66a583a8f0744e3985c89725e3dc10">sms.h</a> </li> <li>add_VBL() : <a class="el" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">gb.h</a> -, <a class="el" href="sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6">sms.h</a> +, <a class="el" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">sms.h</a> </li> <li>AND : <a class="el" href="drawing_8h.html#acd1b97556dfbbac61063a63031d2f91d">drawing.h</a> </li> <li>arand() -: <a class="el" href="rand_8h.html#ac3154758c17a5960a730a0a7c0fa7b0b">rand.h</a> +: <a class="el" href="rand_8h.html#a67415330a1c7984e4537dac753306804">rand.h</a> </li> <li>assert : <a class="el" href="assert_8h.html#af576bf8ffa22a44e53018c67095ffbf0">assert.h</a> </li> +<li>AT +: <a class="el" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">types.h</a> +</li> <li>atoi() : <a class="el" href="stdlib_8h.html#a30670a60464f77af17dfb353353d6df8">stdlib.h</a> </li> diff --git a/docs/api/globals_b.html b/docs/api/globals_b.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -97,7 +98,7 @@ $(document).ready(function(){initNavTree('globals_b.html',''); initResizable(); , <a class="el" href="incbin_8h.html#a42705001e2b9897f5167b67fb36c69dd">incbin.h</a> </li> <li>BANKED -: <a class="el" href="asm_2gbz80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0">types.h</a> +: <a class="el" href="asm_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0">types.h</a> </li> <li>BANKREF : <a class="el" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3">gb.h</a> @@ -132,25 +133,25 @@ $(document).ready(function(){initNavTree('globals_b.html',''); initResizable(); : <a class="el" href="gb_2hardware_8h.html#a88cceb86b8168f4c539e9612a81145a6">hardware.h</a> </li> <li>BGB_BREAKPOINT -: <a class="el" href="bgb__emu_8h.html#a95c9ae3faadfe6f93a3cac87085b3481">bgb_emu.h</a> +: <a class="el" href="emu__debug_8h.html#a95c9ae3faadfe6f93a3cac87085b3481">emu_debug.h</a> </li> <li>BGB_MESSAGE -: <a class="el" href="bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39">bgb_emu.h</a> +: <a class="el" href="emu__debug_8h.html#aabd48c83af8f69ed624bb8a83347fa39">emu_debug.h</a> </li> -<li>BGB_printf() -: <a class="el" href="bgb__emu_8h.html#a2b2f53166550341e0b1297dd5aa5a2c3">bgb_emu.h</a> +<li>BGB_printf +: <a class="el" href="emu__debug_8h.html#a892ddea0cd396141c1ae05e384303cbf">emu_debug.h</a> </li> <li>BGB_PROFILE_BEGIN -: <a class="el" href="bgb__emu_8h.html#ab5b05deda52856c84f274fb28578b6ee">bgb_emu.h</a> +: <a class="el" href="emu__debug_8h.html#ab5b05deda52856c84f274fb28578b6ee">emu_debug.h</a> </li> <li>BGB_PROFILE_END -: <a class="el" href="bgb__emu_8h.html#ab43f94064dc523e99c4aefb440e2c3ed">bgb_emu.h</a> +: <a class="el" href="emu__debug_8h.html#ab43f94064dc523e99c4aefb440e2c3ed">emu_debug.h</a> </li> -<li>BGB_profiler_message() -: <a class="el" href="bgb__emu_8h.html#a219a24aebe0bddc535ba4abc81cee30c">bgb_emu.h</a> +<li>BGB_profiler_message +: <a class="el" href="emu__debug_8h.html#a47c147586d9a21282ce72a83947508e9">emu_debug.h</a> </li> <li>BGB_TEXT -: <a class="el" href="bgb__emu_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9">bgb_emu.h</a> +: <a class="el" href="emu__debug_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9">emu_debug.h</a> </li> <li>BGP_REG : <a class="el" href="gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997">hardware.h</a> diff --git a/docs/api/globals_c.html b/docs/api/globals_c.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -122,10 +123,10 @@ $(document).ready(function(){initNavTree('globals_c.html',''); initResizable(); : <a class="el" href="drawing_8h.html#ad46c3bdc38dfc9b70214693390d404cb">drawing.h</a> </li> <li>clock() -: <a class="el" href="time_8h.html#a9e660b4ddc93c500ce46593917de2bbf">time.h</a> +: <a class="el" href="time_8h.html#acc1f88818af5706d57262377382ae4ac">time.h</a> </li> <li>clock_t -: <a class="el" href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">types.h</a> +: <a class="el" href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">types.h</a> </li> <li>CLOCKS_PER_SEC : <a class="el" href="time_8h.html#a3d9fc3c745d0880902fe3ea3d5d5f71e">time.h</a> @@ -148,11 +149,11 @@ $(document).ready(function(){initNavTree('globals_c.html',''); initResizable(); : <a class="el" href="cgb_8h.html#a6a36fb9584e4a123f6164530a3b1e5e2">cgb.h</a> </li> <li>CRITICAL -: <a class="el" href="asm_2gbz80_2types_8h.html#ae0233515480e60d29bcc731469976e02">types.h</a> +: <a class="el" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02">types.h</a> </li> <li>CURRENT_BANK -: <a class="el" href="sms_8h.html#ae042588f20bf5a2349c8ad8716245233">sms.h</a> -, <a class="el" href="gb_8h.html#ae042588f20bf5a2349c8ad8716245233">gb.h</a> +: <a class="el" href="gb_8h.html#ae042588f20bf5a2349c8ad8716245233">gb.h</a> +, <a class="el" href="sms_8h.html#ae042588f20bf5a2349c8ad8716245233">sms.h</a> </li> </ul> </div><!-- contents --> diff --git a/docs/api/globals_d.html b/docs/api/globals_d.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -93,7 +94,7 @@ $(document).ready(function(){initNavTree('globals_d.html',''); initResizable(); , <a class="el" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">sms.h</a> </li> <li>delay() -: <a class="el" href="sms_8h.html#aea03b5b22f0a798a7935dc7d18931924">sms.h</a> +: <a class="el" href="sms_8h.html#a217232c82eb5f99f7639b5786ce5abc6">sms.h</a> , <a class="el" href="gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d">gb.h</a> </li> <li>DEVICE_SCREEN_BUFFER_HEIGHT @@ -134,7 +135,7 @@ $(document).ready(function(){initNavTree('globals_d.html',''); initResizable(); , <a class="el" href="sms_8h.html#a231ec05679809190782e61c6e8aaaba4">sms.h</a> </li> <li>disable_interrupts() -: <a class="el" href="gb_8h.html#a8a71c706c3eb1343196adf77f5825747">gb.h</a> +: <a class="el" href="gb_8h.html#ad77796783b3a601b6f3781dfc3983499">gb.h</a> </li> <li>DISABLE_OAM_DMA : <a class="el" href="gb_8h.html#a47607089a434dcda7a8583cfca03b604">gb.h</a> @@ -153,15 +154,15 @@ $(document).ready(function(){initNavTree('globals_d.html',''); initResizable(); : <a class="el" href="sms_8h.html#abfd70bf31185a4900680977c9fb5a5ec">sms.h</a> , <a class="el" href="gb_8h.html#abfd70bf31185a4900680977c9fb5a5ec">gb.h</a> </li> +<li>DISPLAY_OFF +: <a class="el" href="sms_8h.html#ad2ec9831813c5e7069917aa4455af682">sms.h</a> +</li> <li>display_off() -: <a class="el" href="sms_8h.html#a7b09691f25fddd65f12ed199b3f88ef0">sms.h</a> +: <a class="el" href="gb_8h.html#a04d57683cdd046dfa45e7e56d7c4ec4d">gb.h</a> +, <a class="el" href="sms_8h.html#a7b09691f25fddd65f12ed199b3f88ef0">sms.h</a> </li> <li>DISPLAY_OFF : <a class="el" href="gb_8h.html#ad2ec9831813c5e7069917aa4455af682">gb.h</a> -, <a class="el" href="sms_8h.html#ad2ec9831813c5e7069917aa4455af682">sms.h</a> -</li> -<li>display_off() -: <a class="el" href="gb_8h.html#a067f16eeb168f3ac9312a4766e7d2ff2">gb.h</a> </li> <li>DISPLAY_ON : <a class="el" href="gb_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4">gb.h</a> diff --git a/docs/api/globals_defs.html b/docs/api/globals_defs.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_defs.js b/docs/api/globals_defs.js @@ -23,5 +23,6 @@ var globals_defs = [ "u", "globals_defs_u.html", null ], [ "v", "globals_defs_v.html", null ], [ "w", "globals_defs_w.html", null ], - [ "x", "globals_defs_x.html", null ] + [ "x", "globals_defs_x.html", null ], + [ "z", "globals_defs_z.html", null ] ]; diff --git a/docs/api/globals_defs_a.html b/docs/api/globals_defs_a.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -94,6 +95,9 @@ $(document).ready(function(){initNavTree('globals_defs_a.html',''); initResizabl <li>assert : <a class="el" href="assert_8h.html#af576bf8ffa22a44e53018c67095ffbf0">assert.h</a> </li> +<li>AT +: <a class="el" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">types.h</a> +</li> <li>AUD1SWEEP_DOWN : <a class="el" href="gb_2hardware_8h.html#a281569182e3edb53b7c78b95a4082971">hardware.h</a> </li> diff --git a/docs/api/globals_defs_b.html b/docs/api/globals_defs_b.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -94,15 +95,15 @@ $(document).ready(function(){initNavTree('globals_defs_b.html',''); initResizabl , <a class="el" href="sms_8h.html#a42705001e2b9897f5167b67fb36c69dd">sms.h</a> </li> <li>BANKED -: <a class="el" href="asm_2gbz80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0">types.h</a> +: <a class="el" href="asm_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0">types.h</a> </li> <li>BANKREF -: <a class="el" href="sms_8h.html#a086293f2afb4c7945460a4496b20aea3">sms.h</a> -, <a class="el" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3">gb.h</a> +: <a class="el" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3">gb.h</a> +, <a class="el" href="sms_8h.html#a086293f2afb4c7945460a4496b20aea3">sms.h</a> </li> <li>BANKREF_EXTERN -: <a class="el" href="gb_8h.html#a261bba55a07b802baf99346feadd9852">gb.h</a> -, <a class="el" href="sms_8h.html#a261bba55a07b802baf99346feadd9852">sms.h</a> +: <a class="el" href="sms_8h.html#a261bba55a07b802baf99346feadd9852">sms.h</a> +, <a class="el" href="gb_8h.html#a261bba55a07b802baf99346feadd9852">gb.h</a> </li> <li>BCD_HEX : <a class="el" href="bcd_8h.html#a5b336fcb3fc84fe505dc7e14d0ec17a7">bcd.h</a> @@ -111,19 +112,25 @@ $(document).ready(function(){initNavTree('globals_defs_b.html',''); initResizabl : <a class="el" href="gb_2hardware_8h.html#a88cceb86b8168f4c539e9612a81145a6">hardware.h</a> </li> <li>BGB_BREAKPOINT -: <a class="el" href="bgb__emu_8h.html#a95c9ae3faadfe6f93a3cac87085b3481">bgb_emu.h</a> +: <a class="el" href="emu__debug_8h.html#a95c9ae3faadfe6f93a3cac87085b3481">emu_debug.h</a> </li> <li>BGB_MESSAGE -: <a class="el" href="bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39">bgb_emu.h</a> +: <a class="el" href="emu__debug_8h.html#aabd48c83af8f69ed624bb8a83347fa39">emu_debug.h</a> +</li> +<li>BGB_printf +: <a class="el" href="emu__debug_8h.html#a892ddea0cd396141c1ae05e384303cbf">emu_debug.h</a> </li> <li>BGB_PROFILE_BEGIN -: <a class="el" href="bgb__emu_8h.html#ab5b05deda52856c84f274fb28578b6ee">bgb_emu.h</a> +: <a class="el" href="emu__debug_8h.html#ab5b05deda52856c84f274fb28578b6ee">emu_debug.h</a> </li> <li>BGB_PROFILE_END -: <a class="el" href="bgb__emu_8h.html#ab43f94064dc523e99c4aefb440e2c3ed">bgb_emu.h</a> +: <a class="el" href="emu__debug_8h.html#ab43f94064dc523e99c4aefb440e2c3ed">emu_debug.h</a> +</li> +<li>BGB_profiler_message +: <a class="el" href="emu__debug_8h.html#a47c147586d9a21282ce72a83947508e9">emu_debug.h</a> </li> <li>BGB_TEXT -: <a class="el" href="bgb__emu_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9">bgb_emu.h</a> +: <a class="el" href="emu__debug_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9">emu_debug.h</a> </li> <li>BLACK : <a class="el" href="drawing_8h.html#a7b3b25cba33b07c303f3060fe41887f6">drawing.h</a> diff --git a/docs/api/globals_defs_c.html b/docs/api/globals_defs_c.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -104,8 +105,8 @@ $(document).ready(function(){initNavTree('globals_defs_c.html',''); initResizabl : <a class="el" href="time_8h.html#a3d9fc3c745d0880902fe3ea3d5d5f71e">time.h</a> </li> <li>COMPAT_PALETTE -: <a class="el" href="gb_8h.html#a67f80e65620470b55a4950e2966eb868">gb.h</a> -, <a class="el" href="sms_8h.html#a67f80e65620470b55a4950e2966eb868">sms.h</a> +: <a class="el" href="sms_8h.html#a67f80e65620470b55a4950e2966eb868">sms.h</a> +, <a class="el" href="gb_8h.html#a67f80e65620470b55a4950e2966eb868">gb.h</a> </li> <li>CRITICAL : <a class="el" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02">types.h</a> diff --git a/docs/api/globals_defs_d.html b/docs/api/globals_defs_d.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_defs_e.html b/docs/api/globals_defs_e.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -92,6 +93,21 @@ $(document).ready(function(){initNavTree('globals_defs_e.html',''); initResizabl : <a class="el" href="gb_8h.html#aa027abe630d44039f238034bcb2d2f36">gb.h</a> , <a class="el" href="sms_8h.html#aa027abe630d44039f238034bcb2d2f36">sms.h</a> </li> +<li>EMU_BREAKPOINT +: <a class="el" href="emu__debug_8h.html#a9e856b4691d63bb41c5148b9097bd2bb">emu_debug.h</a> +</li> +<li>EMU_MESSAGE +: <a class="el" href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557">emu_debug.h</a> +</li> +<li>EMU_PROFILE_BEGIN +: <a class="el" href="emu__debug_8h.html#a5359c3e6ddab89f41f1de770cc3640d4">emu_debug.h</a> +</li> +<li>EMU_PROFILE_END +: <a class="el" href="emu__debug_8h.html#acce78126775a7ca3c862459e28203aba">emu_debug.h</a> +</li> +<li>EMU_TEXT +: <a class="el" href="emu__debug_8h.html#ad1ca656789d7d285b352afeaa4cc56bd">emu_debug.h</a> +</li> <li>ENABLE_OAM_DMA : <a class="el" href="gb_8h.html#a20895d53fe9caacb08ce8b071d57ce53">gb.h</a> </li> diff --git a/docs/api/globals_defs_f.html b/docs/api/globals_defs_f.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -88,12 +89,12 @@ $(document).ready(function(){initNavTree('globals_defs_f.html',''); initResizabl   <h3><a id="index_f"></a>- f -</h3><ul> -<li>false -: <a class="el" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">stdbool.h</a> -</li> <li>FALSE : <a class="el" href="types_8h.html#aa93f0eb578d23995850d61f7d61c55c1">types.h</a> </li> +<li>false +: <a class="el" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">stdbool.h</a> +</li> <li>FAR_CALL : <a class="el" href="far__ptr_8h.html#a7f4ab1893ea392f8bf042a3b97de4730">far_ptr.h</a> </li> diff --git a/docs/api/globals_defs_g.html b/docs/api/globals_defs_g.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_defs_h.html b/docs/api/globals_defs_h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_defs_i.html b/docs/api/globals_defs_i.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -182,7 +183,7 @@ $(document).ready(function(){initNavTree('globals_defs_i.html',''); initResizabl : <a class="el" href="limits_8h.html#a21658776274b3d146c674318b635a334">limits.h</a> </li> <li>INTERRUPT -: <a class="el" href="asm_2gbz80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017">types.h</a> +: <a class="el" href="asm_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017">types.h</a> </li> <li>INTMAX_C : <a class="el" href="stdint_8h.html#a1b955596bdc3e4b6ef339f16e468d55f">stdint.h</a> diff --git a/docs/api/globals_defs_j.html b/docs/api/globals_defs_j.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_defs_k.html b/docs/api/globals_defs_k.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_defs_l.html b/docs/api/globals_defs_l.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_defs_m.html b/docs/api/globals_defs_m.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_defs_n.html b/docs/api/globals_defs_n.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -88,11 +89,14 @@ $(document).ready(function(){initNavTree('globals_defs_n.html',''); initResizabl   <h3><a id="index_n"></a>- n -</h3><ul> +<li>NAKED +: <a class="el" href="asm_2types_8h.html#a7a18c4884994b9b520ae535b6d9579d3">types.h</a> +</li> <li>NINTENDO : <a class="el" href="gb_8h.html#a385397587c93683e8e11afb712e2960b">gb.h</a> </li> <li>NONBANKED -: <a class="el" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">types.h</a> +: <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">types.h</a> </li> <li>noreturn : <a class="el" href="stdnoreturn_8h.html#a4a453f3a748e55cbdac6fcc79357cfef">stdnoreturn.h</a> diff --git a/docs/api/globals_defs_o.html b/docs/api/globals_defs_o.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_defs_p.html b/docs/api/globals_defs_p.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -115,6 +116,27 @@ $(document).ready(function(){initNavTree('globals_defs_p.html',''); initResizabl <li>P1F_GET_NONE : <a class="el" href="gb_2hardware_8h.html#a5c97ffb0ee0a345ad31797da26410b5a">hardware.h</a> </li> +<li>PRESERVES_REGS +: <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">types.h</a> +</li> +<li>PSG_CH0 +: <a class="el" href="sms_2hardware_8h.html#ad8a903de6b38e08e1591fc5ef278381c">hardware.h</a> +</li> +<li>PSG_CH1 +: <a class="el" href="sms_2hardware_8h.html#addc12c4ee03ea787b826e337f1acd317">hardware.h</a> +</li> +<li>PSG_CH2 +: <a class="el" href="sms_2hardware_8h.html#aaeefb1ac1fb4d0d2324b8ee7f4953226">hardware.h</a> +</li> +<li>PSG_CH3 +: <a class="el" href="sms_2hardware_8h.html#ac760259fb86ee72abb5922018ae0db42">hardware.h</a> +</li> +<li>PSG_LATCH +: <a class="el" href="sms_2hardware_8h.html#a6777f1ed2475b5ba6aa60b9a16fa02d3">hardware.h</a> +</li> +<li>PSG_VOLUME +: <a class="el" href="sms_2hardware_8h.html#a3d806ff027bffa67c4dfc5967f87c1d1">hardware.h</a> +</li> <li>PTRDIFF_MAX : <a class="el" href="stdint_8h.html#add2ef7bffac19cfdd1f4b5495409672f">stdint.h</a> </li> diff --git a/docs/api/globals_defs_r.html b/docs/api/globals_defs_r.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -214,6 +215,12 @@ $(document).ready(function(){initNavTree('globals_defs_r.html',''); initResizabl <li>RAMCTL_ROM : <a class="el" href="sms_2hardware_8h.html#a0167c8f86de8ef1a327b806c8ed0c64c">hardware.h</a> </li> +<li>RAND_MAX +: <a class="el" href="rand_8h.html#a690f251553b39fd4f31894826141b61a">rand.h</a> +</li> +<li>RANDW_MAX +: <a class="el" href="rand_8h.html#a6dbd2f1a15221db40f456cf574a793b4">rand.h</a> +</li> <li>rAUD1ENV : <a class="el" href="gb_2hardware_8h.html#ae787a2c857fe8f3803ca353d5309fc85">hardware.h</a> </li> diff --git a/docs/api/globals_defs_s.html b/docs/api/globals_defs_s.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -163,6 +164,9 @@ $(document).ready(function(){initNavTree('globals_defs_s.html',''); initResizabl <li>setjmp : <a class="el" href="setjmp_8h.html#a27d1a255c7e0d69afec2367bb85b60b0">setjmp.h</a> </li> +<li>SFR +: <a class="el" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">types.h</a> +</li> <li>SGB_ATRC_EN : <a class="el" href="sgb_8h.html#a3d81b1e455d60d760ee58e2685953775">sgb.h</a> </li> @@ -311,8 +315,8 @@ $(document).ready(function(){initNavTree('globals_defs_s.html',''); initResizabl , <a class="el" href="sms_8h.html#af91d252f07f4764996154820f970c101">sms.h</a> </li> <li>SPRITES_8x8 -: <a class="el" href="gb_8h.html#aa87bec0d134136fdb727f52cb773b792">gb.h</a> -, <a class="el" href="sms_8h.html#aa87bec0d134136fdb727f52cb773b792">sms.h</a> +: <a class="el" href="sms_8h.html#aa87bec0d134136fdb727f52cb773b792">sms.h</a> +, <a class="el" href="gb_8h.html#aa87bec0d134136fdb727f52cb773b792">gb.h</a> </li> <li>SPX_SIZE : <a class="el" href="setjmp_8h.html#ad27470e8d39238686f96b46d5b9deb40">setjmp.h</a> @@ -397,8 +401,8 @@ $(document).ready(function(){initNavTree('globals_defs_s.html',''); initResizabl : <a class="el" href="gb_8h.html#a361d5055a7ae880fc1c9d6e0d1164fd6">gb.h</a> </li> <li>SWITCH_ROM -: <a class="el" href="sms_8h.html#af61262bbc05629f31020afce67e1b9ea">sms.h</a> -, <a class="el" href="gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc">gb.h</a> +: <a class="el" href="gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc">gb.h</a> +, <a class="el" href="sms_8h.html#af61262bbc05629f31020afce67e1b9ea">sms.h</a> </li> <li>SWITCH_ROM1 : <a class="el" href="sms_8h.html#a86d47feb2b999aaabbba9f63f4bb3567">sms.h</a> @@ -415,6 +419,9 @@ $(document).ready(function(){initNavTree('globals_defs_s.html',''); initResizabl <li>SWITCH_ROM_MBC5_8M : <a class="el" href="gb_8h.html#a6c15ebc660abd3a978137493ab63ffe9">gb.h</a> </li> +<li>SWITCH_ROM_MEGADUCK +: <a class="el" href="gb_8h.html#a3fca2d0a22aa2717e62fed659caf4743">gb.h</a> +</li> <li>SYSTEM_NTSC : <a class="el" href="sms_2hardware_8h.html#ae6888157a94fca2f1a1b5136494f2e07">hardware.h</a> </li> diff --git a/docs/api/globals_defs_t.html b/docs/api/globals_defs_t.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -113,12 +114,12 @@ $(document).ready(function(){initNavTree('globals_defs_t.html',''); initResizabl <li>TO_FAR_PTR : <a class="el" href="far__ptr_8h.html#a0c227677a96f9bf7e84a90922f2f8708">far_ptr.h</a> </li> -<li>true -: <a class="el" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">stdbool.h</a> -</li> <li>TRUE : <a class="el" href="types_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">types.h</a> </li> +<li>true +: <a class="el" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">stdbool.h</a> +</li> <li>TYPEOF_ARRAY : <a class="el" href="typeof_8h.html#ac627e9a5f9b283cb8904d73c941f1896">typeof.h</a> </li> diff --git a/docs/api/globals_defs_u.html b/docs/api/globals_defs_u.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_defs_v.html b/docs/api/globals_defs_v.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_defs_w.html b/docs/api/globals_defs_w.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_defs_x.html b/docs/api/globals_defs_x.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_defs_z.html b/docs/api/globals_defs_z.html @@ -0,0 +1,106 @@ +<!-- HTML header for doxygen 1.8.14--> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="cache-control" content="max-age=86400"/> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.20"/> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>GBDK 2020 Docs: Globals</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtreedata.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="doxygen_extra.css" rel="stylesheet" type="text/css"/> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> + </div> + <div id="projectbrief">API Documentation for GBDK 2020</div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.20 --> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +/* @license-end */ +</script> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +$(function() { + initMenu('',true,false,'search.php','Search'); + $(document).ready(function() { init_search(); }); +}); +/* @license-end */</script> +<div id="main-nav"></div> +</div><!-- top --> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + <div id="nav-sync" class="sync"></div> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +$(document).ready(function(){initNavTree('globals_defs_z.html',''); initResizable(); }); +/* @license-end */ +</script> +<div id="doc-content"> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="contents"> +  + +<h3><a id="index_z"></a>- z -</h3><ul> +<li>Z88DK_CALLEE +: <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">types.h</a> +</li> +<li>Z88DK_FASTCALL +: <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">types.h</a> +</li> +</ul> +</div><!-- contents --> +</div><!-- doc-content --> +<!-- HTML footer for doxygen 1.8.14--> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> +</div> +</body> +</html> diff --git a/docs/api/globals_dup.js b/docs/api/globals_dup.js @@ -24,5 +24,6 @@ var globals_dup = [ "u", "globals_u.html", null ], [ "v", "globals_v.html", null ], [ "w", "globals_w.html", null ], - [ "x", "globals_x.html", null ] + [ "x", "globals_x.html", null ], + [ "z", "globals_z.html", null ] ]; diff --git a/docs/api/globals_e.html b/docs/api/globals_e.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -96,8 +97,29 @@ $(document).ready(function(){initNavTree('globals_e.html',''); initResizable(); : <a class="el" href="sms_8h.html#aa027abe630d44039f238034bcb2d2f36">sms.h</a> , <a class="el" href="gb_8h.html#aa027abe630d44039f238034bcb2d2f36">gb.h</a> </li> +<li>EMU_BREAKPOINT +: <a class="el" href="emu__debug_8h.html#a9e856b4691d63bb41c5148b9097bd2bb">emu_debug.h</a> +</li> +<li>EMU_MESSAGE +: <a class="el" href="emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557">emu_debug.h</a> +</li> +<li>EMU_printf() +: <a class="el" href="emu__debug_8h.html#a586ce1ddfba9c35726887ca31f933963">emu_debug.h</a> +</li> +<li>EMU_PROFILE_BEGIN +: <a class="el" href="emu__debug_8h.html#a5359c3e6ddab89f41f1de770cc3640d4">emu_debug.h</a> +</li> +<li>EMU_PROFILE_END +: <a class="el" href="emu__debug_8h.html#acce78126775a7ca3c862459e28203aba">emu_debug.h</a> +</li> +<li>EMU_profiler_message() +: <a class="el" href="emu__debug_8h.html#a1e2adc0111203ce0f551bcb1d99395df">emu_debug.h</a> +</li> +<li>EMU_TEXT +: <a class="el" href="emu__debug_8h.html#ad1ca656789d7d285b352afeaa4cc56bd">emu_debug.h</a> +</li> <li>enable_interrupts() -: <a class="el" href="gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef">gb.h</a> +: <a class="el" href="gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867">gb.h</a> </li> <li>ENABLE_OAM_DMA : <a class="el" href="gb_8h.html#a20895d53fe9caacb08ce8b071d57ce53">gb.h</a> @@ -113,8 +135,8 @@ $(document).ready(function(){initNavTree('globals_e.html',''); initResizable(); : <a class="el" href="gb_8h.html#a3f033f00c8d781637f9a665b06750937">gb.h</a> </li> <li>ENABLE_VBL_TRANSFER -: <a class="el" href="gb_8h.html#a77d516c9d3f86f100eddea5e0d133a76">gb.h</a> -, <a class="el" href="sms_8h.html#a77d516c9d3f86f100eddea5e0d133a76">sms.h</a> +: <a class="el" href="sms_8h.html#a77d516c9d3f86f100eddea5e0d133a76">sms.h</a> +, <a class="el" href="gb_8h.html#a77d516c9d3f86f100eddea5e0d133a76">gb.h</a> </li> <li>exit() : <a class="el" href="stdlib_8h.html#a55e99c539cf7723ec15e856b7e0a8cee">stdlib.h</a> diff --git a/docs/api/globals_f.html b/docs/api/globals_f.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -88,12 +89,12 @@ $(document).ready(function(){initNavTree('globals_f.html',''); initResizable(); <div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div> <h3><a id="index_f"></a>- f -</h3><ul> -<li>false -: <a class="el" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">stdbool.h</a> -</li> <li>FALSE : <a class="el" href="types_8h.html#aa93f0eb578d23995850d61f7d61c55c1">types.h</a> </li> +<li>false +: <a class="el" href="stdbool_8h.html#a65e9886d74aaee76545e83dd09011727">stdbool.h</a> +</li> <li>FAR_CALL : <a class="el" href="far__ptr_8h.html#a7f4ab1893ea392f8bf042a3b97de4730">far_ptr.h</a> </li> @@ -111,18 +112,18 @@ $(document).ready(function(){initNavTree('globals_f.html',''); initResizable(); </li> <li>fill_bkg_rect : <a class="el" href="sms_8h.html#a3b7ffab8d64e2c345f03221145a935c0">sms.h</a> -, <a class="el" href="gb_8h.html#ab22d0a3d624ff20198577c71aa755c19">gb.h</a> +, <a class="el" href="gb_8h.html#a74c3f53fca019f7abcd1270650808849">gb.h</a> </li> <li>fill_rect : <a class="el" href="gb_8h.html#a47865835d7d007d71b4bc8ae5cefb73a">gb.h</a> -, <a class="el" href="sms_8h.html#ab380f3a45e943a45a4cd3189a99ca4df">sms.h</a> +, <a class="el" href="sms_8h.html#aba932d128338fb19644842565139a20d">sms.h</a> </li> <li>fill_rect_compat() -: <a class="el" href="sms_8h.html#aac998cb7f78186158ced5448dcfc3503">sms.h</a> +: <a class="el" href="sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8">sms.h</a> </li> <li>fill_win_rect : <a class="el" href="sms_8h.html#a5a69a3129f4faa99857a8b3d80db1d4a">sms.h</a> -, <a class="el" href="gb_8h.html#a9eac2f4130d55f411aad246658d046a9">gb.h</a> +, <a class="el" href="gb_8h.html#ad5bc3dc922707507aa51ed7f5b4a21e3">gb.h</a> </li> <li>fixed : <a class="el" href="asm_2types_8h.html#ab61f8ff6a444351a91fc9a67c8e6145f">types.h</a> diff --git a/docs/api/globals_func.html b/docs/api/globals_func.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_func_a.html b/docs/api/globals_func_a.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -93,26 +94,29 @@ $(document).ready(function(){initNavTree('globals_func_a.html',''); initResizabl </li> <li>add_JOY() : <a class="el" href="gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30">gb.h</a> -, <a class="el" href="sms_8h.html#a049c5d8c901a23cccf95b02a911f9212">sms.h</a> +, <a class="el" href="sms_8h.html#a48163816121cd669526817d3e6266fd9">sms.h</a> </li> <li>add_LCD() : <a class="el" href="gb_8h.html#a9f9f77105099a34556247d5bb03368d1">gb.h</a> -, <a class="el" href="sms_8h.html#a99f5c1698cb6d3715690481d4e4b6da1">sms.h</a> +, <a class="el" href="sms_8h.html#a51add93356a25c71e8c37a73c9065c9d">sms.h</a> +</li> +<li>add_low_priority_TIM() +: <a class="el" href="gb_8h.html#a970f18857533e062f4780f6e1c407d69">gb.h</a> </li> <li>add_SIO() -: <a class="el" href="gb_8h.html#aa82422752016328ed0765879e286019f">gb.h</a> -, <a class="el" href="sms_8h.html#adcbf35ca19c093d4565729fa7e868f5c">sms.h</a> +: <a class="el" href="sms_8h.html#a3372d61a07e0466bdb909a27f3aaaca9">sms.h</a> +, <a class="el" href="gb_8h.html#aa82422752016328ed0765879e286019f">gb.h</a> </li> <li>add_TIM() : <a class="el" href="gb_8h.html#a028d1a2e820951bb4f103d6469975ffb">gb.h</a> -, <a class="el" href="sms_8h.html#a17416b1bb39989e82948e3a97f23187f">sms.h</a> +, <a class="el" href="sms_8h.html#a6c66a583a8f0744e3985c89725e3dc10">sms.h</a> </li> <li>add_VBL() : <a class="el" href="gb_8h.html#a0d29659d08708143dd8bc720278e06b5">gb.h</a> -, <a class="el" href="sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6">sms.h</a> +, <a class="el" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">sms.h</a> </li> <li>arand() -: <a class="el" href="rand_8h.html#ac3154758c17a5960a730a0a7c0fa7b0b">rand.h</a> +: <a class="el" href="rand_8h.html#a67415330a1c7984e4537dac753306804">rand.h</a> </li> <li>atoi() : <a class="el" href="stdlib_8h.html#a30670a60464f77af17dfb353353d6df8">stdlib.h</a> diff --git a/docs/api/globals_func_b.html b/docs/api/globals_func_b.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -97,12 +98,6 @@ $(document).ready(function(){initNavTree('globals_func_b.html',''); initResizabl <li>bcd_sub() : <a class="el" href="bcd_8h.html#a743275b2ee21c93633a933a2d3073d4e">bcd.h</a> </li> -<li>BGB_printf() -: <a class="el" href="bgb__emu_8h.html#a2b2f53166550341e0b1297dd5aa5a2c3">bgb_emu.h</a> -</li> -<li>BGB_profiler_message() -: <a class="el" href="bgb__emu_8h.html#a219a24aebe0bddc535ba4abc81cee30c">bgb_emu.h</a> -</li> <li>box() : <a class="el" href="drawing_8h.html#ae1170230e5c9e61cc4321632e949e7ce">drawing.h</a> </li> diff --git a/docs/api/globals_func_c.html b/docs/api/globals_func_c.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -102,7 +103,7 @@ $(document).ready(function(){initNavTree('globals_func_c.html',''); initResizabl : <a class="el" href="drawing_8h.html#ad46c3bdc38dfc9b70214693390d404cb">drawing.h</a> </li> <li>clock() -: <a class="el" href="time_8h.html#a9e660b4ddc93c500ce46593917de2bbf">time.h</a> +: <a class="el" href="time_8h.html#acc1f88818af5706d57262377382ae4ac">time.h</a> </li> <li>cls() : <a class="el" href="console_8h.html#a4826277cc150ddc0f4de4bd464a34909">console.h</a> diff --git a/docs/api/globals_func_d.html b/docs/api/globals_func_d.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -90,13 +91,13 @@ $(document).ready(function(){initNavTree('globals_func_d.html',''); initResizabl <h3><a id="index_d"></a>- d -</h3><ul> <li>delay() : <a class="el" href="gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d">gb.h</a> -, <a class="el" href="sms_8h.html#aea03b5b22f0a798a7935dc7d18931924">sms.h</a> +, <a class="el" href="sms_8h.html#a217232c82eb5f99f7639b5786ce5abc6">sms.h</a> </li> <li>disable_interrupts() -: <a class="el" href="gb_8h.html#a8a71c706c3eb1343196adf77f5825747">gb.h</a> +: <a class="el" href="gb_8h.html#ad77796783b3a601b6f3781dfc3983499">gb.h</a> </li> <li>display_off() -: <a class="el" href="gb_8h.html#a067f16eeb168f3ac9312a4766e7d2ff2">gb.h</a> +: <a class="el" href="gb_8h.html#a04d57683cdd046dfa45e7e56d7c4ec4d">gb.h</a> , <a class="el" href="sms_8h.html#a7b09691f25fddd65f12ed199b3f88ef0">sms.h</a> </li> <li>draw_image() diff --git a/docs/api/globals_func_e.html b/docs/api/globals_func_e.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -88,8 +89,14 @@ $(document).ready(function(){initNavTree('globals_func_e.html',''); initResizabl   <h3><a id="index_e"></a>- e -</h3><ul> +<li>EMU_printf() +: <a class="el" href="emu__debug_8h.html#a586ce1ddfba9c35726887ca31f933963">emu_debug.h</a> +</li> +<li>EMU_profiler_message() +: <a class="el" href="emu__debug_8h.html#a1e2adc0111203ce0f551bcb1d99395df">emu_debug.h</a> +</li> <li>enable_interrupts() -: <a class="el" href="gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef">gb.h</a> +: <a class="el" href="gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867">gb.h</a> </li> <li>exit() : <a class="el" href="stdlib_8h.html#a55e99c539cf7723ec15e856b7e0a8cee">stdlib.h</a> diff --git a/docs/api/globals_func_f.html b/docs/api/globals_func_f.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -89,16 +90,16 @@ $(document).ready(function(){initNavTree('globals_func_f.html',''); initResizabl <h3><a id="index_f"></a>- f -</h3><ul> <li>fill_bkg_rect() -: <a class="el" href="gb_8h.html#ab22d0a3d624ff20198577c71aa755c19">gb.h</a> +: <a class="el" href="gb_8h.html#a74c3f53fca019f7abcd1270650808849">gb.h</a> </li> <li>fill_rect() -: <a class="el" href="sms_8h.html#ab380f3a45e943a45a4cd3189a99ca4df">sms.h</a> +: <a class="el" href="sms_8h.html#aba932d128338fb19644842565139a20d">sms.h</a> </li> <li>fill_rect_compat() -: <a class="el" href="sms_8h.html#aac998cb7f78186158ced5448dcfc3503">sms.h</a> +: <a class="el" href="sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8">sms.h</a> </li> <li>fill_win_rect() -: <a class="el" href="gb_8h.html#a9eac2f4130d55f411aad246658d046a9">gb.h</a> +: <a class="el" href="gb_8h.html#ad5bc3dc922707507aa51ed7f5b4a21e3">gb.h</a> </li> <li>font_color() : <a class="el" href="font_8h.html#a47b4964ef677dce9fdf1e9df29804721">font.h</a> diff --git a/docs/api/globals_func_g.html b/docs/api/globals_func_g.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -89,39 +90,39 @@ $(document).ready(function(){initNavTree('globals_func_g.html',''); initResizabl <h3><a id="index_g"></a>- g -</h3><ul> <li>gb_decompress() -: <a class="el" href="gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a">gbdecompress.h</a> +: <a class="el" href="gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2">gbdecompress.h</a> </li> <li>gb_decompress_bkg_data() -: <a class="el" href="gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544">gbdecompress.h</a> +: <a class="el" href="gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8">gbdecompress.h</a> </li> <li>gb_decompress_sprite_data() -: <a class="el" href="gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d">gbdecompress.h</a> +: <a class="el" href="gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff">gbdecompress.h</a> </li> <li>gb_decompress_win_data() -: <a class="el" href="gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78">gbdecompress.h</a> +: <a class="el" href="gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284">gbdecompress.h</a> </li> <li>get_bkg_data() -: <a class="el" href="gb_8h.html#a1207717410f1c9beb6a719eef400ffd7">gb.h</a> +: <a class="el" href="gb_8h.html#a5c13238dfec416439d75b133a272e6df">gb.h</a> </li> <li>get_bkg_tile_xy() -: <a class="el" href="gb_8h.html#a1a485dfade1a8f07232cbe669a1c1939">gb.h</a> +: <a class="el" href="gb_8h.html#a55c6581dbe9300dc6df41730f090af51">gb.h</a> </li> <li>get_bkg_tiles() -: <a class="el" href="gb_8h.html#a68e4586e2401c1e39703571b5b8d934b">gb.h</a> +: <a class="el" href="gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0">gb.h</a> </li> <li>get_bkg_xy_addr() -: <a class="el" href="gb_8h.html#a194b27b9e852e93ae0a4b55fae7fee6d">gb.h</a> -, <a class="el" href="sms_8h.html#af83d7fd4e4044ac6677f046f679bd7a9">sms.h</a> +: <a class="el" href="gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f">gb.h</a> +, <a class="el" href="sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63">sms.h</a> </li> <li>get_data() -: <a class="el" href="gb_8h.html#a924aa554f639022be104392891e156cd">gb.h</a> +: <a class="el" href="gb_8h.html#afd8fd71eaa36b0ddd54a2e8e516ed224">gb.h</a> </li> <li>get_mode() -: <a class="el" href="gb_8h.html#a4ed6f21654895e40981802fdbe6b003d">gb.h</a> +: <a class="el" href="gb_8h.html#a19969b36a6535fc6a966c0e5476baf9c">gb.h</a> , <a class="el" href="sms_8h.html#ad9a83378f5ec1f6444c879e4cf1e1a83">sms.h</a> </li> <li>get_sprite_data() -: <a class="el" href="gb_8h.html#abc82930da7beb0611778f8644e90b5e9">gb.h</a> +: <a class="el" href="gb_8h.html#adcdec4034a14abc5be9bb88c29b947c9">gb.h</a> </li> <li>get_sprite_prop() : <a class="el" href="sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88">sms.h</a> @@ -132,22 +133,22 @@ $(document).ready(function(){initNavTree('globals_func_g.html',''); initResizabl , <a class="el" href="sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a">sms.h</a> </li> <li>get_tiles() -: <a class="el" href="gb_8h.html#afdc3ad3ac77ec32609195ae125b919e1">gb.h</a> +: <a class="el" href="gb_8h.html#a728b9440accedc5fb3477be3d150323a">gb.h</a> </li> <li>get_vram_byte() -: <a class="el" href="gb_8h.html#a6558dad88815aa73fb81fae2ae90473d">gb.h</a> +: <a class="el" href="gb_8h.html#aa33ba8b8d381df76edf15ea251ccb675">gb.h</a> </li> <li>get_win_data() -: <a class="el" href="gb_8h.html#ab6321884a3f9028ea0056851d4926919">gb.h</a> +: <a class="el" href="gb_8h.html#a7ef32e7c1669aba48f235500a495baba">gb.h</a> </li> <li>get_win_tile_xy() -: <a class="el" href="gb_8h.html#a82582e006a955d2c934786e9d7c29623">gb.h</a> +: <a class="el" href="gb_8h.html#a2e29fdca81c28c627c2591029722e71c">gb.h</a> </li> <li>get_win_tiles() -: <a class="el" href="gb_8h.html#a7cf5bd73a7493475e17f84995cf865bd">gb.h</a> +: <a class="el" href="gb_8h.html#a8a469de4c6640f921254b336b5a6191a">gb.h</a> </li> <li>get_win_xy_addr() -: <a class="el" href="gb_8h.html#aea1d2b59419abf7c1a9b95bb278f7a6c">gb.h</a> +: <a class="el" href="gb_8h.html#aa8213cfad631865e3b6faec18e772cb4">gb.h</a> </li> <li>getchar() : <a class="el" href="stdio_8h.html#a2c79157c8bc2db72fbf1e34f291ff5d8">stdio.h</a> diff --git a/docs/api/globals_func_h.html b/docs/api/globals_func_h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -96,10 +97,10 @@ $(document).ready(function(){initNavTree('globals_func_h.html',''); initResizabl , <a class="el" href="gb_8h.html#ad22c51635d052399bbbe1777999c794d">gb.h</a> </li> <li>hide_sprites_range() -: <a class="el" href="sms_2metasprites_8h.html#a23abcd0a2eb5033abbb9dc0e2ea494d8">metasprites.h</a> +: <a class="el" href="sms_2metasprites_8h.html#a0c668f442b4764275a1dade597a59e20">metasprites.h</a> </li> <li>hiramcpy() -: <a class="el" href="gb_8h.html#a08365da56dbc2a97c480818c0e6a62b9">gb.h</a> +: <a class="el" href="gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44">gb.h</a> </li> </ul> </div><!-- contents --> diff --git a/docs/api/globals_func_i.html b/docs/api/globals_func_i.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -89,10 +90,10 @@ $(document).ready(function(){initNavTree('globals_func_i.html',''); initResizabl <h3><a id="index_i"></a>- i -</h3><ul> <li>init_bkg() -: <a class="el" href="gb_8h.html#ac7cc92070d07d5096e2ccef3ea54cade">gb.h</a> +: <a class="el" href="gb_8h.html#a46058204097dd305bf72bc20ea7f7a3b">gb.h</a> </li> <li>init_win() -: <a class="el" href="gb_8h.html#a1df9458387eecf1a164098e90350e561">gb.h</a> +: <a class="el" href="gb_8h.html#af6ac67037de041eb0141ba3725b1db83">gb.h</a> </li> <li>initarand() : <a class="el" href="rand_8h.html#a333400f85febd7e1360835955103db8b">rand.h</a> diff --git a/docs/api/globals_func_j.html b/docs/api/globals_func_j.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -89,15 +90,15 @@ $(document).ready(function(){initNavTree('globals_func_j.html',''); initResizabl <h3><a id="index_j"></a>- j -</h3><ul> <li>joypad() -: <a class="el" href="gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">gb.h</a> -, <a class="el" href="sms_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">sms.h</a> +: <a class="el" href="gb_8h.html#a176c477d759b814664785f3a0ad5e253">gb.h</a> +, <a class="el" href="sms_8h.html#a176c477d759b814664785f3a0ad5e253">sms.h</a> </li> <li>joypad_ex() -: <a class="el" href="sms_8h.html#aec8e36355bb7381000606b1871db5977">sms.h</a> -, <a class="el" href="gb_8h.html#a5166ceebbaa646e2667df1a219c7b903">gb.h</a> +: <a class="el" href="sms_8h.html#a1d45c65829490c5ec98362f5e60edc20">sms.h</a> +, <a class="el" href="gb_8h.html#a6e6f8eb1de2ae1ec9adeafbd7b9884db">gb.h</a> </li> <li>joypad_init() -: <a class="el" href="sms_8h.html#a294f858312544fa89bf17adbba51f145">sms.h</a> +: <a class="el" href="sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862">sms.h</a> , <a class="el" href="gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e">gb.h</a> </li> </ul> diff --git a/docs/api/globals_func_l.html b/docs/api/globals_func_l.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_func_m.html b/docs/api/globals_func_m.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -91,14 +92,17 @@ $(document).ready(function(){initNavTree('globals_func_m.html',''); initResizabl <li>malloc() : <a class="el" href="stdlib_8h.html#a7ac38fce3243a7dcf448301ee9ffd392">stdlib.h</a> </li> +<li>memcmp() +: <a class="el" href="asm_2gbz80_2string_8h.html#a52701f453c97403ec1b12d286484259b">string.h</a> +</li> <li>memcpy() -: <a class="el" href="asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627">string.h</a> +: <a class="el" href="asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574">string.h</a> </li> <li>memmove() : <a class="el" href="asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90">string.h</a> </li> <li>memset() -: <a class="el" href="asm_2gbz80_2string_8h.html#af2fcd4c99b3b490e6db059e741676274">string.h</a> +: <a class="el" href="asm_2gbz80_2string_8h.html#a4bc4146b1a053fc4ec10f1377bb21a4f">string.h</a> </li> <li>mode() : <a class="el" href="gb_8h.html#a3ea524204d839377cf39842eec23e202">gb.h</a> @@ -109,7 +113,7 @@ $(document).ready(function(){initNavTree('globals_func_m.html',''); initResizabl , <a class="el" href="sms_8h.html#a6261537edc74068e3f7f057e6a3e8a57">sms.h</a> </li> <li>move_metasprite() -: <a class="el" href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">metasprites.h</a> +: <a class="el" href="sms_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">metasprites.h</a> </li> <li>move_metasprite_hflip() : <a class="el" href="gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46">metasprites.h</a> @@ -121,8 +125,8 @@ $(document).ready(function(){initNavTree('globals_func_m.html',''); initResizabl : <a class="el" href="gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a">metasprites.h</a> </li> <li>move_sprite() -: <a class="el" href="sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">sms.h</a> -, <a class="el" href="gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">gb.h</a> +: <a class="el" href="gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">gb.h</a> +, <a class="el" href="sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">sms.h</a> </li> <li>move_win() : <a class="el" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5">gb.h</a> diff --git a/docs/api/globals_func_n.html b/docs/api/globals_func_n.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_func_p.html b/docs/api/globals_func_p.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_func_q.html b/docs/api/globals_func_q.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_func_r.html b/docs/api/globals_func_r.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -89,7 +90,7 @@ $(document).ready(function(){initNavTree('globals_func_r.html',''); initResizabl <h3><a id="index_r"></a>- r -</h3><ul> <li>rand() -: <a class="el" href="rand_8h.html#ad81c61515217f062f5872031a7761fef">rand.h</a> +: <a class="el" href="rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a">rand.h</a> </li> <li>randw() : <a class="el" href="rand_8h.html#ac659150eb39aae2f523bef6554b19b77">rand.h</a> @@ -101,27 +102,27 @@ $(document).ready(function(){initNavTree('globals_func_r.html',''); initResizabl : <a class="el" href="gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7">gb.h</a> </li> <li>refresh_OAM() -: <a class="el" href="gb_8h.html#a7542d00af674e3c58b6c9887ab01919f">gb.h</a> +: <a class="el" href="gb_8h.html#a2550e7b6b9fd7e1fc495872502311dbb">gb.h</a> , <a class="el" href="sms_8h.html#a7542d00af674e3c58b6c9887ab01919f">sms.h</a> </li> <li>remove_JOY() -: <a class="el" href="sms_8h.html#a10fc1ec5a17a7d25d95241db0f458eb9">sms.h</a> +: <a class="el" href="sms_8h.html#a35a3ff12ab34534b763517576afe38a6">sms.h</a> , <a class="el" href="gb_8h.html#a4a3e87e0917d5efb6bc7c94e9754fcd0">gb.h</a> </li> <li>remove_LCD() : <a class="el" href="gb_8h.html#a32683767caa2a263a1f494b3605786e7">gb.h</a> -, <a class="el" href="sms_8h.html#a0bd9fc648e26b8d494d082343f19d9ad">sms.h</a> +, <a class="el" href="sms_8h.html#aa8962b27b960bb0c8d3bb899246c690c">sms.h</a> </li> <li>remove_SIO() : <a class="el" href="gb_8h.html#a5b821b31215361265d8b7894a9ae7118">gb.h</a> -, <a class="el" href="sms_8h.html#ab052e48d56856c376379c3a9cc686c76">sms.h</a> +, <a class="el" href="sms_8h.html#a98de9141f407585801fcbf55bf6dcc4c">sms.h</a> </li> <li>remove_TIM() : <a class="el" href="gb_8h.html#a142f6c7755fce8b1148faf658d8ec147">gb.h</a> -, <a class="el" href="sms_8h.html#afe6f5ff8fbb632868cb41f2a4c5995ae">sms.h</a> +, <a class="el" href="sms_8h.html#a98785a1b0ddc91cd8e8c8fab8de1de20">sms.h</a> </li> <li>remove_VBL() -: <a class="el" href="sms_8h.html#a9eeb134cad80f309ce86ab101a9e0026">sms.h</a> +: <a class="el" href="sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0">sms.h</a> , <a class="el" href="gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386">gb.h</a> </li> <li>reset() diff --git a/docs/api/globals_func_s.html b/docs/api/globals_func_s.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -114,10 +115,10 @@ $(document).ready(function(){initNavTree('globals_func_s.html',''); initResizabl , <a class="el" href="sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84">sms.h</a> </li> <li>set_attributed_tile_xy() -: <a class="el" href="sms_8h.html#a968487c6f70c9e15de7af0efc0de0548">sms.h</a> +: <a class="el" href="sms_8h.html#a476f433ea736a1dd610490238f2a6250">sms.h</a> </li> <li>set_bkg_1bpp_data() -: <a class="el" href="gb_8h.html#a113055d93ba40767b676f172aa5cc996">gb.h</a> +: <a class="el" href="gb_8h.html#a711fa26feecc76dc51482b0f77062859">gb.h</a> , <a class="el" href="sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04">sms.h</a> </li> <li>set_bkg_2bpp_data() @@ -126,8 +127,16 @@ $(document).ready(function(){initNavTree('globals_func_s.html',''); initResizabl <li>set_bkg_4bpp_data() : <a class="el" href="sms_8h.html#aeff13dca11be49e8c159820c616016ec">sms.h</a> </li> +<li>set_bkg_based_submap() +: <a class="el" href="gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0">gb.h</a> +, <a class="el" href="sms_8h.html#abc8bc5808620a9717263b8c9ec2237f0">sms.h</a> +</li> +<li>set_bkg_based_tiles() +: <a class="el" href="gb_8h.html#a811c386cac0df2d260aacb5a43608be5">gb.h</a> +, <a class="el" href="sms_8h.html#a811c386cac0df2d260aacb5a43608be5">sms.h</a> +</li> <li>set_bkg_data() -: <a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">gb.h</a> +: <a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">gb.h</a> , <a class="el" href="sms_8h.html#a8130306da1177f4fef89e699f8e2add4">sms.h</a> </li> <li>set_bkg_palette() @@ -141,39 +150,39 @@ $(document).ready(function(){initNavTree('globals_func_s.html',''); initResizabl , <a class="el" href="sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298">sms.h</a> </li> <li>set_bkg_tile_xy() -: <a class="el" href="gb_8h.html#afdacbb553ea16fd0a3a96698be7668f8">gb.h</a> +: <a class="el" href="gb_8h.html#a74ee8f0a3495508c90de4ce246b81060">gb.h</a> </li> <li>set_bkg_tiles() -: <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">gb.h</a> +: <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">gb.h</a> </li> <li>set_data() -: <a class="el" href="gb_8h.html#aa4dc1c2f6f54a564b719b2bd5a0b3c62">gb.h</a> -, <a class="el" href="sms_8h.html#abe8c12f4c6675b2c671fe8ab32370533">sms.h</a> +: <a class="el" href="gb_8h.html#a650d2df96e69a40b70548ab468e00f25">gb.h</a> +, <a class="el" href="sms_8h.html#a8fe17423c7ef7c44f1ccff27d3afbebc">sms.h</a> </li> <li>set_default_palette() -: <a class="el" href="cgb_8h.html#abd34836339579013c097ae4dea10c014">cgb.h</a> -, <a class="el" href="sms_8h.html#abd34836339579013c097ae4dea10c014">sms.h</a> +: <a class="el" href="sms_8h.html#abd34836339579013c097ae4dea10c014">sms.h</a> +, <a class="el" href="cgb_8h.html#abd34836339579013c097ae4dea10c014">cgb.h</a> </li> <li>set_interrupts() -: <a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">gb.h</a> -, <a class="el" href="sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849">sms.h</a> +: <a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">gb.h</a> +, <a class="el" href="sms_8h.html#aefda0091b2934571a11e07b512735f50">sms.h</a> </li> <li>set_native_tile_data() -: <a class="el" href="sms_8h.html#a5e48fbbda171d4c466e1d0d96fa73b50">sms.h</a> -, <a class="el" href="gb_8h.html#a68651e50243349b48164a8ad983dca4e">gb.h</a> +: <a class="el" href="gb_8h.html#a68651e50243349b48164a8ad983dca4e">gb.h</a> +, <a class="el" href="sms_8h.html#a24764a152441b966ea04a83278c73207">sms.h</a> </li> <li>set_palette() -: <a class="el" href="sms_8h.html#a8668e421743bcba26411acaabe1af82d">sms.h</a> +: <a class="el" href="sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e">sms.h</a> </li> <li>set_palette_entry() -: <a class="el" href="sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9">sms.h</a> +: <a class="el" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">sms.h</a> </li> <li>SET_SHADOW_OAM_ADDRESS() : <a class="el" href="gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">gb.h</a> , <a class="el" href="sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">sms.h</a> </li> <li>set_sprite_1bpp_data() -: <a class="el" href="gb_8h.html#a427965ccaaa956d51bf4e7f14cc39b0f">gb.h</a> +: <a class="el" href="gb_8h.html#ab3e60c92c9f8fbed855f8712187ea3ea">gb.h</a> , <a class="el" href="sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97">sms.h</a> </li> <li>set_sprite_2bpp_data() @@ -183,7 +192,7 @@ $(document).ready(function(){initNavTree('globals_func_s.html',''); initResizabl : <a class="el" href="sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432">sms.h</a> </li> <li>set_sprite_data() -: <a class="el" href="gb_8h.html#ac40ffe4802ea41e5cee0ac3d4b254e08">gb.h</a> +: <a class="el" href="gb_8h.html#ae45b1c639698951b47e44fa8e89556f2">gb.h</a> , <a class="el" href="sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39">sms.h</a> </li> <li>set_sprite_palette() @@ -201,69 +210,77 @@ $(document).ready(function(){initNavTree('globals_func_s.html',''); initResizabl , <a class="el" href="sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">sms.h</a> </li> <li>set_tile_1bpp_data() -: <a class="el" href="sms_8h.html#a6afae83728b6651075f0af9d55d4b9e0">sms.h</a> +: <a class="el" href="sms_8h.html#a747033606e041b45ae09b38fdb06b871">sms.h</a> </li> <li>set_tile_2bpp_data() -: <a class="el" href="sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979">sms.h</a> +: <a class="el" href="sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8">sms.h</a> </li> <li>set_tile_data() -: <a class="el" href="gb_8h.html#a0756c9c45dcf042a146d2a54290e9f6a">gb.h</a> +: <a class="el" href="gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30">gb.h</a> </li> <li>set_tile_map() -: <a class="el" href="sms_8h.html#ad68f2f36b41febcc5f8ca23c3e379ec8">sms.h</a> +: <a class="el" href="sms_8h.html#a14fc41e69085b5aa3da2fae9a2aa3ef3">sms.h</a> </li> <li>set_tile_map_compat() -: <a class="el" href="sms_8h.html#a6a9877d413f96540712d408d865625c9">sms.h</a> +: <a class="el" href="sms_8h.html#a7c38b146f77eda84981c06c2271fe116">sms.h</a> </li> <li>set_tile_submap() -: <a class="el" href="sms_8h.html#ad7bf6d9629c0ee4e83c137a297aac169">sms.h</a> +: <a class="el" href="sms_8h.html#a84774e034fe0e70af62bd17ac716ba34">sms.h</a> </li> <li>set_tile_submap_compat() -: <a class="el" href="sms_8h.html#a35261bb6911ba7a123262efc32f4955a">sms.h</a> +: <a class="el" href="sms_8h.html#aba0308b5e8e154cc920f041a185ac770">sms.h</a> </li> <li>set_tile_xy() -: <a class="el" href="sms_8h.html#a256029356b8bc719e42ffafba844290f">sms.h</a> +: <a class="el" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">sms.h</a> </li> <li>set_tiles() -: <a class="el" href="gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b">gb.h</a> +: <a class="el" href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c">gb.h</a> </li> <li>set_vram_byte() -: <a class="el" href="gb_8h.html#a84e320d3c0b1eca4d0b81b848d096582">gb.h</a> -, <a class="el" href="sms_8h.html#a18ce02bf91fd93098176b5bcc94cdf4a">sms.h</a> +: <a class="el" href="sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89">sms.h</a> +, <a class="el" href="gb_8h.html#a7080649e10765996c581e5b618e603b8">gb.h</a> </li> <li>set_win_1bpp_data() -: <a class="el" href="gb_8h.html#a445fa9ede939ca486ae5268e826b3a44">gb.h</a> +: <a class="el" href="gb_8h.html#acd5ee7a94059e6edbe9223f291bc2b46">gb.h</a> +</li> +<li>set_win_based_submap() +: <a class="el" href="gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">gb.h</a> +, <a class="el" href="sms_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">sms.h</a> +</li> +<li>set_win_based_tiles() +: <a class="el" href="sms_8h.html#a739a212609ae60c9c56c095f96b4ea80">sms.h</a> +, <a class="el" href="gb_8h.html#a739a212609ae60c9c56c095f96b4ea80">gb.h</a> </li> <li>set_win_data() -: <a class="el" href="gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd">gb.h</a> +: <a class="el" href="gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f">gb.h</a> </li> <li>set_win_submap() -: <a class="el" href="sms_8h.html#abb50a392ca0d0419a080413287ee5d79">sms.h</a> -, <a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">gb.h</a> +: <a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">gb.h</a> +, <a class="el" href="sms_8h.html#abb50a392ca0d0419a080413287ee5d79">sms.h</a> </li> <li>set_win_tile_xy() -: <a class="el" href="gb_8h.html#a78b307e0fde9289c2b1f4cd6aa0b763c">gb.h</a> +: <a class="el" href="gb_8h.html#a0c70a53db1fbc0c99627da3f282befd8">gb.h</a> </li> <li>set_win_tiles() -: <a class="el" href="gb_8h.html#aba807b33ddd5e18ecedc93b05338045e">gb.h</a> +: <a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">gb.h</a> </li> <li>setchar() : <a class="el" href="console_8h.html#a6ce1d0ff40a295e36bcb6d495947c8dc">console.h</a> </li> <li>sgb_check() -: <a class="el" href="sgb_8h.html#ae15ee98a319dec8aa94a5ce6790056ee">sgb.h</a> +: <a class="el" href="sgb_8h.html#a48bc560ec2455bf97002e03c0a6055f0">sgb.h</a> </li> <li>sgb_transfer() -: <a class="el" href="sgb_8h.html#a45a1526789b51eea852adcfb3392fde0">sgb.h</a> +: <a class="el" href="sgb_8h.html#a84e1f2ab7dce1faabd3d271b6bf8df8c">sgb.h</a> </li> <li>sprintf() : <a class="el" href="stdio_8h.html#a31913a297ee18548c81d482ef6bdbe0f">stdio.h</a> </li> <li>strcat() -: <a class="el" href="asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553">string.h</a> +: <a class="el" href="asm_2z80_2string_8h.html#a13c88f5a8475fd7de5d81553cb29724a">string.h</a> </li> <li>strcmp() -: <a class="el" href="asm_2z80_2string_8h.html#a11bd144d7d44914099a3aeddf1c8567d">string.h</a> +: <a class="el" href="asm_2gbz80_2string_8h.html#a7172770a053aa1fe0ab46a97ab43a5fa">string.h</a> </li> <li>strcpy() : <a class="el" href="asm_2z80_2string_8h.html#af5b1fe1ca3f2aca8ad215962460d15a6">string.h</a> diff --git a/docs/api/globals_func_t.html b/docs/api/globals_func_t.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_func_u.html b/docs/api/globals_func_u.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_func_v.html b/docs/api/globals_func_v.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -89,11 +90,11 @@ $(document).ready(function(){initNavTree('globals_func_v.html',''); initResizabl <h3><a id="index_v"></a>- v -</h3><ul> <li>vmemcpy() -: <a class="el" href="gb_8h.html#ac9f0aa82f8e34812a406263aad57d4d9">gb.h</a> -, <a class="el" href="sms_8h.html#aee5c510efbda6e44f987088aa14d3482">sms.h</a> +: <a class="el" href="gb_8h.html#a36f9e5d95c2d7d58f203b5ac358e25e7">gb.h</a> +, <a class="el" href="sms_8h.html#a33a749b14dfbd203c460e8d7f3500636">sms.h</a> </li> <li>vmemset() -: <a class="el" href="gb_8h.html#abb54953bdb190aa0bb76724ae3d5d214">gb.h</a> +: <a class="el" href="gb_8h.html#a97bab71effd5e4e386629cb6ca5816cf">gb.h</a> </li> </ul> </div><!-- contents --> diff --git a/docs/api/globals_func_w.html b/docs/api/globals_func_w.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -92,22 +93,22 @@ $(document).ready(function(){initNavTree('globals_func_w.html',''); initResizabl : <a class="el" href="gb_8h.html#acc9afd0cb72e763a1213d256b942a68f">gb.h</a> </li> <li>wait_vbl_done() -: <a class="el" href="gb_8h.html#a68346350199018249bdf8019b7131514">gb.h</a> -, <a class="el" href="sms_8h.html#a68346350199018249bdf8019b7131514">sms.h</a> +: <a class="el" href="gb_8h.html#acd186eb292d441f9389e77b545a55619">gb.h</a> +, <a class="el" href="sms_8h.html#acd186eb292d441f9389e77b545a55619">sms.h</a> </li> <li>waitpad() -: <a class="el" href="gb_8h.html#ac4f9e19d2834988ff005106b3f5b2f05">gb.h</a> -, <a class="el" href="sms_8h.html#aec76b4ab16315eb97846be87b19fea10">sms.h</a> +: <a class="el" href="gb_8h.html#aae433db7d8e3ee4c095c254b8abd7b8b">gb.h</a> +, <a class="el" href="sms_8h.html#a79b565677967da5ef9bf1a00aa6776ce">sms.h</a> </li> <li>waitpadup() -: <a class="el" href="sms_8h.html#a35fbfcc0bffc93a47217caff66ca36a7">sms.h</a> -, <a class="el" href="gb_8h.html#a7eeb5f1f697fefdcebd8e68355af4113">gb.h</a> +: <a class="el" href="sms_8h.html#a955d3733e5018f18b17a572aff45cf26">sms.h</a> +, <a class="el" href="gb_8h.html#a8484d346b788309ac702b7e0b1fca730">gb.h</a> </li> <li>WRITE_VDP_CMD() -: <a class="el" href="sms_8h.html#a4b7af81fec48ca3bee04234b417abaa6">sms.h</a> +: <a class="el" href="sms_8h.html#a498b148efd22ab8ad9b844b2dc5e5bb8">sms.h</a> </li> <li>WRITE_VDP_DATA() -: <a class="el" href="sms_8h.html#af513fcb34dd2aa1e9bc9bf65cb589eee">sms.h</a> +: <a class="el" href="sms_8h.html#aa2ddf9662320c4a9d00fd4a94d347570">sms.h</a> </li> <li>wrtchr() : <a class="el" href="drawing_8h.html#a9178e678a17cb08653600f435093ae2a">drawing.h</a> diff --git a/docs/api/globals_g.html b/docs/api/globals_g.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -92,16 +93,16 @@ $(document).ready(function(){initNavTree('globals_g.html',''); initResizable(); : <a class="el" href="gb_8h.html#af10046e88cba47031142a763a94210df">gb.h</a> </li> <li>gb_decompress() -: <a class="el" href="gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a">gbdecompress.h</a> +: <a class="el" href="gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2">gbdecompress.h</a> </li> <li>gb_decompress_bkg_data() -: <a class="el" href="gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544">gbdecompress.h</a> +: <a class="el" href="gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8">gbdecompress.h</a> </li> <li>gb_decompress_sprite_data() -: <a class="el" href="gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d">gbdecompress.h</a> +: <a class="el" href="gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff">gbdecompress.h</a> </li> <li>gb_decompress_win_data() -: <a class="el" href="gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78">gbdecompress.h</a> +: <a class="el" href="gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284">gbdecompress.h</a> </li> <li>GBA_DETECTED : <a class="el" href="gb_8h.html#a6ccf5d0f34fb0af0b6e73b9df0ccd745">gb.h</a> @@ -110,27 +111,27 @@ $(document).ready(function(){initNavTree('globals_g.html',''); initResizable(); : <a class="el" href="gb_8h.html#aa311f84dd9fce6e136ba4881e7b0d98d">gb.h</a> </li> <li>get_bkg_data() -: <a class="el" href="gb_8h.html#a1207717410f1c9beb6a719eef400ffd7">gb.h</a> +: <a class="el" href="gb_8h.html#a5c13238dfec416439d75b133a272e6df">gb.h</a> </li> <li>get_bkg_tile_xy() -: <a class="el" href="gb_8h.html#a1a485dfade1a8f07232cbe669a1c1939">gb.h</a> +: <a class="el" href="gb_8h.html#a55c6581dbe9300dc6df41730f090af51">gb.h</a> </li> <li>get_bkg_tiles() -: <a class="el" href="gb_8h.html#a68e4586e2401c1e39703571b5b8d934b">gb.h</a> +: <a class="el" href="gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0">gb.h</a> </li> <li>get_bkg_xy_addr() -: <a class="el" href="gb_8h.html#a194b27b9e852e93ae0a4b55fae7fee6d">gb.h</a> -, <a class="el" href="sms_8h.html#af83d7fd4e4044ac6677f046f679bd7a9">sms.h</a> +: <a class="el" href="gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f">gb.h</a> +, <a class="el" href="sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63">sms.h</a> </li> <li>get_data() -: <a class="el" href="gb_8h.html#a924aa554f639022be104392891e156cd">gb.h</a> +: <a class="el" href="gb_8h.html#afd8fd71eaa36b0ddd54a2e8e516ed224">gb.h</a> </li> <li>get_mode() : <a class="el" href="sms_8h.html#ad9a83378f5ec1f6444c879e4cf1e1a83">sms.h</a> -, <a class="el" href="gb_8h.html#a4ed6f21654895e40981802fdbe6b003d">gb.h</a> +, <a class="el" href="gb_8h.html#a19969b36a6535fc6a966c0e5476baf9c">gb.h</a> </li> <li>get_sprite_data() -: <a class="el" href="gb_8h.html#abc82930da7beb0611778f8644e90b5e9">gb.h</a> +: <a class="el" href="gb_8h.html#adcdec4034a14abc5be9bb88c29b947c9">gb.h</a> </li> <li>get_sprite_prop() : <a class="el" href="gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88">gb.h</a> @@ -141,23 +142,23 @@ $(document).ready(function(){initNavTree('globals_g.html',''); initResizable(); , <a class="el" href="sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a">sms.h</a> </li> <li>get_tiles() -: <a class="el" href="gb_8h.html#afdc3ad3ac77ec32609195ae125b919e1">gb.h</a> +: <a class="el" href="gb_8h.html#a728b9440accedc5fb3477be3d150323a">gb.h</a> </li> <li>get_vram_byte() -: <a class="el" href="gb_8h.html#a6558dad88815aa73fb81fae2ae90473d">gb.h</a> +: <a class="el" href="gb_8h.html#aa33ba8b8d381df76edf15ea251ccb675">gb.h</a> </li> <li>get_win_data() -: <a class="el" href="gb_8h.html#ab6321884a3f9028ea0056851d4926919">gb.h</a> +: <a class="el" href="gb_8h.html#a7ef32e7c1669aba48f235500a495baba">gb.h</a> </li> <li>get_win_tile_xy() -: <a class="el" href="gb_8h.html#a82582e006a955d2c934786e9d7c29623">gb.h</a> +: <a class="el" href="gb_8h.html#a2e29fdca81c28c627c2591029722e71c">gb.h</a> </li> <li>get_win_tiles() -: <a class="el" href="gb_8h.html#a7cf5bd73a7493475e17f84995cf865bd">gb.h</a> +: <a class="el" href="gb_8h.html#a8a469de4c6640f921254b336b5a6191a">gb.h</a> </li> <li>get_win_xy_addr : <a class="el" href="sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412">sms.h</a> -, <a class="el" href="gb_8h.html#aea1d2b59419abf7c1a9b95bb278f7a6c">gb.h</a> +, <a class="el" href="gb_8h.html#aa8213cfad631865e3b6faec18e772cb4">gb.h</a> </li> <li>getchar() : <a class="el" href="stdio_8h.html#a2c79157c8bc2db72fbf1e34f291ff5d8">stdio.h</a> diff --git a/docs/api/globals_h.html b/docs/api/globals_h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -136,14 +137,14 @@ $(document).ready(function(){initNavTree('globals_h.html',''); initResizable(); , <a class="el" href="gb_8h.html#a69ef98aee664b8abd8d1a3d45f016dda">gb.h</a> </li> <li>hide_sprites_range() -: <a class="el" href="gb_2metasprites_8h.html#aa01862cdcf50742c46c819668500b76b">metasprites.h</a> +: <a class="el" href="gb_2metasprites_8h.html#a77bb622fa362f2e04be1bafaa099a709">metasprites.h</a> </li> <li>HIDE_WIN : <a class="el" href="sms_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3">sms.h</a> , <a class="el" href="gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3">gb.h</a> </li> <li>hiramcpy() -: <a class="el" href="gb_8h.html#a08365da56dbc2a97c480818c0e6a62b9">gb.h</a> +: <a class="el" href="gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44">gb.h</a> </li> </ul> </div><!-- contents --> diff --git a/docs/api/globals_i.html b/docs/api/globals_i.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -119,10 +120,10 @@ $(document).ready(function(){initNavTree('globals_i.html',''); initResizable(); : <a class="el" href="incbin_8h.html#aeacb5370285c0d4308d0fe5f29da8d15">incbin.h</a> </li> <li>init_bkg() -: <a class="el" href="gb_8h.html#ac7cc92070d07d5096e2ccef3ea54cade">gb.h</a> +: <a class="el" href="gb_8h.html#a46058204097dd305bf72bc20ea7f7a3b">gb.h</a> </li> <li>init_win() -: <a class="el" href="gb_8h.html#a1df9458387eecf1a164098e90350e561">gb.h</a> +: <a class="el" href="gb_8h.html#af6ac67037de041eb0141ba3725b1db83">gb.h</a> </li> <li>initarand() : <a class="el" href="rand_8h.html#a333400f85febd7e1360835955103db8b">rand.h</a> @@ -203,8 +204,8 @@ $(document).ready(function(){initNavTree('globals_i.html',''); initResizable(); : <a class="el" href="stdint_8h.html#afa981e0352f65c207364c9cb82246b53">stdint.h</a> </li> <li>int_handler -: <a class="el" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">gb.h</a> -, <a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">sms.h</a> +: <a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">sms.h</a> +, <a class="el" href="gb_8h.html#a9508f919d9482d1d51534ccac212454d">gb.h</a> </li> <li>INT_LEAST16_MAX : <a class="el" href="stdint_8h.html#a7eb2a8e2a1c65d6c9ad0f86154890baa">stdint.h</a> @@ -240,7 +241,7 @@ $(document).ready(function(){initNavTree('globals_i.html',''); initResizable(); : <a class="el" href="limits_8h.html#a21658776274b3d146c674318b635a334">limits.h</a> </li> <li>INTERRUPT -: <a class="el" href="asm_2z80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017">types.h</a> +: <a class="el" href="asm_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017">types.h</a> </li> <li>INTMAX_C : <a class="el" href="stdint_8h.html#a1b955596bdc3e4b6ef339f16e468d55f">stdint.h</a> @@ -309,8 +310,8 @@ $(document).ready(function(){initNavTree('globals_i.html',''); initResizable(); : <a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">sms.h</a> </li> <li>iyl -: <a class="el" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">sms.h</a> -, <a class="el" href="sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f">metasprites.h</a> +: <a class="el" href="sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f">metasprites.h</a> +, <a class="el" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">sms.h</a> </li> </ul> </div><!-- contents --> diff --git a/docs/api/globals_j.html b/docs/api/globals_j.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -183,16 +184,16 @@ $(document).ready(function(){initNavTree('globals_j.html',''); initResizable(); : <a class="el" href="sms_2hardware_8h.html#a5b3dff084cbb77646a337d94d16a1714">hardware.h</a> </li> <li>joypad() -: <a class="el" href="gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">gb.h</a> -, <a class="el" href="sms_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">sms.h</a> +: <a class="el" href="gb_8h.html#a176c477d759b814664785f3a0ad5e253">gb.h</a> +, <a class="el" href="sms_8h.html#a176c477d759b814664785f3a0ad5e253">sms.h</a> </li> <li>joypad_ex() -: <a class="el" href="gb_8h.html#a5166ceebbaa646e2667df1a219c7b903">gb.h</a> -, <a class="el" href="sms_8h.html#aec8e36355bb7381000606b1871db5977">sms.h</a> +: <a class="el" href="gb_8h.html#a6e6f8eb1de2ae1ec9adeafbd7b9884db">gb.h</a> +, <a class="el" href="sms_8h.html#a1d45c65829490c5ec98362f5e60edc20">sms.h</a> </li> <li>joypad_init() : <a class="el" href="gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e">gb.h</a> -, <a class="el" href="sms_8h.html#a294f858312544fa89bf17adbba51f145">sms.h</a> +, <a class="el" href="sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862">sms.h</a> </li> </ul> </div><!-- contents --> diff --git a/docs/api/globals_k.html b/docs/api/globals_k.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_l.html b/docs/api/globals_l.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_m.html b/docs/api/globals_m.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -131,8 +132,11 @@ $(document).ready(function(){initNavTree('globals_m.html',''); initResizable(); : <a class="el" href="gb_8h.html#ad57f2f8c54204687f02801d8ab1bd150">gb.h</a> , <a class="el" href="sms_8h.html#ad57f2f8c54204687f02801d8ab1bd150">sms.h</a> </li> +<li>memcmp() +: <a class="el" href="asm_2gbz80_2string_8h.html#a52701f453c97403ec1b12d286484259b">string.h</a> +</li> <li>memcpy() -: <a class="el" href="asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627">string.h</a> +: <a class="el" href="asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574">string.h</a> </li> <li>MEMCTL_BASEOFF : <a class="el" href="sms_2hardware_8h.html#a29d7c3b98f855f88d6bb3f380b301d64">hardware.h</a> @@ -174,7 +178,7 @@ $(document).ready(function(){initNavTree('globals_m.html',''); initResizable(); : <a class="el" href="asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90">string.h</a> </li> <li>memset() -: <a class="el" href="asm_2gbz80_2string_8h.html#af2fcd4c99b3b490e6db059e741676274">string.h</a> +: <a class="el" href="asm_2gbz80_2string_8h.html#a4bc4146b1a053fc4ec10f1377bb21a4f">string.h</a> </li> <li>METASPR_ITEM : <a class="el" href="gb_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa">metasprites.h</a> @@ -183,10 +187,10 @@ $(document).ready(function(){initNavTree('globals_m.html',''); initResizable(); : <a class="el" href="gb_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a">metasprites.h</a> </li> <li>metasprite_end -: <a class="el" href="sms_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a">metasprites.h</a> +: <a class="el" href="gb_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a">metasprites.h</a> </li> <li>metasprite_t -: <a class="el" href="sms_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3">metasprites.h</a> +: <a class="el" href="gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3">metasprites.h</a> </li> <li>mfont_handle : <a class="el" href="font_8h.html#aea1f63fe2ea8c7689b061ad93b485553">font.h</a> @@ -203,12 +207,12 @@ $(document).ready(function(){initNavTree('globals_m.html',''); initResizable(); , <a class="el" href="sms_8h.html#af3d632ba2d7cef6619df5dfea8730909">sms.h</a> </li> <li>mode() -: <a class="el" href="gb_8h.html#a3ea524204d839377cf39842eec23e202">gb.h</a> -, <a class="el" href="sms_8h.html#a3ea524204d839377cf39842eec23e202">sms.h</a> +: <a class="el" href="sms_8h.html#a3ea524204d839377cf39842eec23e202">sms.h</a> +, <a class="el" href="gb_8h.html#a3ea524204d839377cf39842eec23e202">gb.h</a> </li> <li>move_bkg() -: <a class="el" href="gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57">gb.h</a> -, <a class="el" href="sms_8h.html#a6261537edc74068e3f7f057e6a3e8a57">sms.h</a> +: <a class="el" href="sms_8h.html#a6261537edc74068e3f7f057e6a3e8a57">sms.h</a> +, <a class="el" href="gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57">gb.h</a> </li> <li>move_metasprite() : <a class="el" href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">metasprites.h</a> @@ -223,8 +227,8 @@ $(document).ready(function(){initNavTree('globals_m.html',''); initResizable(); : <a class="el" href="gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a">metasprites.h</a> </li> <li>move_sprite() -: <a class="el" href="sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">sms.h</a> -, <a class="el" href="gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">gb.h</a> +: <a class="el" href="gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">gb.h</a> +, <a class="el" href="sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">sms.h</a> </li> <li>move_win() : <a class="el" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5">gb.h</a> diff --git a/docs/api/globals_n.html b/docs/api/globals_n.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -88,11 +89,14 @@ $(document).ready(function(){initNavTree('globals_n.html',''); initResizable(); <div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div> <h3><a id="index_n"></a>- n -</h3><ul> +<li>NAKED +: <a class="el" href="asm_2types_8h.html#a7a18c4884994b9b520ae535b6d9579d3">types.h</a> +</li> <li>NINTENDO : <a class="el" href="gb_8h.html#a385397587c93683e8e11afb712e2960b">gb.h</a> </li> <li>NONBANKED -: <a class="el" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">types.h</a> +: <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">types.h</a> </li> <li>noreturn : <a class="el" href="stdnoreturn_8h.html#a4a453f3a748e55cbdac6fcc79357cfef">stdnoreturn.h</a> diff --git a/docs/api/globals_o.html b/docs/api/globals_o.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_p.html b/docs/api/globals_p.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -127,6 +128,9 @@ $(document).ready(function(){initNavTree('globals_p.html',''); initResizable(); <li>PCM34_REG : <a class="el" href="gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0">hardware.h</a> </li> +<li>PCM_SAMPLE +: <a class="el" href="gb_2hardware_8h.html#a271367a0bf840e5422b3a7ed541776f8">hardware.h</a> +</li> <li>plot() : <a class="el" href="drawing_8h.html#ac888c327137d7f00cb3af57af236602a">drawing.h</a> </li> @@ -145,9 +149,30 @@ $(document).ready(function(){initNavTree('globals_p.html',''); initResizable(); <li>posy() : <a class="el" href="console_8h.html#a1e39e68fcb61161e1855b06ad5782be9">console.h</a> </li> +<li>PRESERVES_REGS +: <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">types.h</a> +</li> <li>printf() : <a class="el" href="stdio_8h.html#ab403fa700816f08631ba75bc536f74d4">stdio.h</a> </li> +<li>PSG_CH0 +: <a class="el" href="sms_2hardware_8h.html#ad8a903de6b38e08e1591fc5ef278381c">hardware.h</a> +</li> +<li>PSG_CH1 +: <a class="el" href="sms_2hardware_8h.html#addc12c4ee03ea787b826e337f1acd317">hardware.h</a> +</li> +<li>PSG_CH2 +: <a class="el" href="sms_2hardware_8h.html#aaeefb1ac1fb4d0d2324b8ee7f4953226">hardware.h</a> +</li> +<li>PSG_CH3 +: <a class="el" href="sms_2hardware_8h.html#ac760259fb86ee72abb5922018ae0db42">hardware.h</a> +</li> +<li>PSG_LATCH +: <a class="el" href="sms_2hardware_8h.html#a6777f1ed2475b5ba6aa60b9a16fa02d3">hardware.h</a> +</li> +<li>PSG_VOLUME +: <a class="el" href="sms_2hardware_8h.html#a3d806ff027bffa67c4dfc5967f87c1d1">hardware.h</a> +</li> <li>PTRDIFF_MAX : <a class="el" href="stdint_8h.html#add2ef7bffac19cfdd1f4b5495409672f">stdint.h</a> </li> diff --git a/docs/api/globals_q.html b/docs/api/globals_q.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_r.html b/docs/api/globals_r.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -215,11 +216,17 @@ $(document).ready(function(){initNavTree('globals_r.html',''); initResizable(); : <a class="el" href="sms_2hardware_8h.html#a0167c8f86de8ef1a327b806c8ed0c64c">hardware.h</a> </li> <li>rand() -: <a class="el" href="rand_8h.html#ad81c61515217f062f5872031a7761fef">rand.h</a> +: <a class="el" href="rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a">rand.h</a> +</li> +<li>RAND_MAX +: <a class="el" href="rand_8h.html#a690f251553b39fd4f31894826141b61a">rand.h</a> </li> <li>randw() : <a class="el" href="rand_8h.html#ac659150eb39aae2f523bef6554b19b77">rand.h</a> </li> +<li>RANDW_MAX +: <a class="el" href="rand_8h.html#a6dbd2f1a15221db40f456cf574a793b4">rand.h</a> +</li> <li>rAUD1ENV : <a class="el" href="gb_2hardware_8h.html#ae787a2c857fe8f3803ca353d5309fc85">hardware.h</a> </li> @@ -305,28 +312,28 @@ $(document).ready(function(){initNavTree('globals_r.html',''); initResizable(); : <a class="el" href="gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7">gb.h</a> </li> <li>refresh_OAM() -: <a class="el" href="gb_8h.html#a7542d00af674e3c58b6c9887ab01919f">gb.h</a> +: <a class="el" href="gb_8h.html#a2550e7b6b9fd7e1fc495872502311dbb">gb.h</a> , <a class="el" href="sms_8h.html#a7542d00af674e3c58b6c9887ab01919f">sms.h</a> </li> <li>remove_JOY() : <a class="el" href="gb_8h.html#a4a3e87e0917d5efb6bc7c94e9754fcd0">gb.h</a> -, <a class="el" href="sms_8h.html#a10fc1ec5a17a7d25d95241db0f458eb9">sms.h</a> +, <a class="el" href="sms_8h.html#a35a3ff12ab34534b763517576afe38a6">sms.h</a> </li> <li>remove_LCD() : <a class="el" href="gb_8h.html#a32683767caa2a263a1f494b3605786e7">gb.h</a> -, <a class="el" href="sms_8h.html#a0bd9fc648e26b8d494d082343f19d9ad">sms.h</a> +, <a class="el" href="sms_8h.html#aa8962b27b960bb0c8d3bb899246c690c">sms.h</a> </li> <li>remove_SIO() : <a class="el" href="gb_8h.html#a5b821b31215361265d8b7894a9ae7118">gb.h</a> -, <a class="el" href="sms_8h.html#ab052e48d56856c376379c3a9cc686c76">sms.h</a> +, <a class="el" href="sms_8h.html#a98de9141f407585801fcbf55bf6dcc4c">sms.h</a> </li> <li>remove_TIM() : <a class="el" href="gb_8h.html#a142f6c7755fce8b1148faf658d8ec147">gb.h</a> -, <a class="el" href="sms_8h.html#afe6f5ff8fbb632868cb41f2a4c5995ae">sms.h</a> +, <a class="el" href="sms_8h.html#a98785a1b0ddc91cd8e8c8fab8de1de20">sms.h</a> </li> <li>remove_VBL() : <a class="el" href="gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386">gb.h</a> -, <a class="el" href="sms_8h.html#a9eeb134cad80f309ce86ab101a9e0026">sms.h</a> +, <a class="el" href="sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0">sms.h</a> </li> <li>reset() : <a class="el" href="gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55">gb.h</a> @@ -335,7 +342,7 @@ $(document).ready(function(){initNavTree('globals_r.html',''); initResizable(); : <a class="el" href="setjmp_8h.html#a61c5519ad23b4ddbcc77c45352aac913">setjmp.h</a> </li> <li>reverse() -: <a class="el" href="asm_2gbz80_2string_8h.html#a31e56ae6ad0e9bd961633507ec1aef6c">string.h</a> +: <a class="el" href="asm_2gbz80_2string_8h.html#a476b2b37367c65c6cb36037bfc16b19f">string.h</a> </li> <li>RGB : <a class="el" href="cgb_8h.html#a4a118ad3ee36468a3fa616977a64864e">cgb.h</a> diff --git a/docs/api/globals_s.html b/docs/api/globals_s.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -159,10 +160,10 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); , <a class="el" href="sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84">sms.h</a> </li> <li>set_attributed_tile_xy() -: <a class="el" href="sms_8h.html#a968487c6f70c9e15de7af0efc0de0548">sms.h</a> +: <a class="el" href="sms_8h.html#a476f433ea736a1dd610490238f2a6250">sms.h</a> </li> <li>set_bkg_1bpp_data() -: <a class="el" href="gb_8h.html#a113055d93ba40767b676f172aa5cc996">gb.h</a> +: <a class="el" href="gb_8h.html#a711fa26feecc76dc51482b0f77062859">gb.h</a> , <a class="el" href="sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04">sms.h</a> </li> <li>set_bkg_2bpp_data @@ -172,8 +173,16 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); <li>set_bkg_4bpp_data() : <a class="el" href="sms_8h.html#aeff13dca11be49e8c159820c616016ec">sms.h</a> </li> +<li>set_bkg_based_submap() +: <a class="el" href="gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0">gb.h</a> +, <a class="el" href="sms_8h.html#abc8bc5808620a9717263b8c9ec2237f0">sms.h</a> +</li> +<li>set_bkg_based_tiles() +: <a class="el" href="gb_8h.html#a811c386cac0df2d260aacb5a43608be5">gb.h</a> +, <a class="el" href="sms_8h.html#a811c386cac0df2d260aacb5a43608be5">sms.h</a> +</li> <li>set_bkg_data() -: <a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">gb.h</a> +: <a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">gb.h</a> , <a class="el" href="sms_8h.html#a8130306da1177f4fef89e699f8e2add4">sms.h</a> </li> <li>set_bkg_palette @@ -190,51 +199,51 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); </li> <li>set_bkg_tile_xy : <a class="el" href="sms_8h.html#adcd40a58f7c7d348d506cc400cd94739">sms.h</a> -, <a class="el" href="gb_8h.html#afdacbb553ea16fd0a3a96698be7668f8">gb.h</a> +, <a class="el" href="gb_8h.html#a74ee8f0a3495508c90de4ce246b81060">gb.h</a> </li> <li>set_bkg_tiles : <a class="el" href="sms_8h.html#a9a732aec1b7aec7d10a9d76ca4da2064">sms.h</a> -, <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">gb.h</a> +, <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">gb.h</a> </li> <li>set_data() -: <a class="el" href="gb_8h.html#aa4dc1c2f6f54a564b719b2bd5a0b3c62">gb.h</a> -, <a class="el" href="sms_8h.html#abe8c12f4c6675b2c671fe8ab32370533">sms.h</a> +: <a class="el" href="gb_8h.html#a650d2df96e69a40b70548ab468e00f25">gb.h</a> +, <a class="el" href="sms_8h.html#a8fe17423c7ef7c44f1ccff27d3afbebc">sms.h</a> </li> <li>set_default_palette() : <a class="el" href="cgb_8h.html#abd34836339579013c097ae4dea10c014">cgb.h</a> , <a class="el" href="sms_8h.html#abd34836339579013c097ae4dea10c014">sms.h</a> </li> <li>set_interrupts() -: <a class="el" href="gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54">gb.h</a> -, <a class="el" href="sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849">sms.h</a> +: <a class="el" href="gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3">gb.h</a> +, <a class="el" href="sms_8h.html#aefda0091b2934571a11e07b512735f50">sms.h</a> </li> <li>set_native_tile_data() : <a class="el" href="gb_8h.html#a68651e50243349b48164a8ad983dca4e">gb.h</a> -, <a class="el" href="sms_8h.html#a5e48fbbda171d4c466e1d0d96fa73b50">sms.h</a> +, <a class="el" href="sms_8h.html#a24764a152441b966ea04a83278c73207">sms.h</a> </li> <li>set_palette() -: <a class="el" href="sms_8h.html#a8668e421743bcba26411acaabe1af82d">sms.h</a> +: <a class="el" href="sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e">sms.h</a> </li> <li>set_palette_entry() -: <a class="el" href="sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9">sms.h</a> +: <a class="el" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">sms.h</a> </li> <li>SET_SHADOW_OAM_ADDRESS() -: <a class="el" href="gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">gb.h</a> -, <a class="el" href="sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">sms.h</a> +: <a class="el" href="sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">sms.h</a> +, <a class="el" href="gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">gb.h</a> </li> <li>set_sprite_1bpp_data() -: <a class="el" href="gb_8h.html#a427965ccaaa956d51bf4e7f14cc39b0f">gb.h</a> +: <a class="el" href="gb_8h.html#ab3e60c92c9f8fbed855f8712187ea3ea">gb.h</a> , <a class="el" href="sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97">sms.h</a> </li> -<li>set_sprite_2bpp_data() -: <a class="el" href="sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a">sms.h</a> -, <a class="el" href="gb_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4">gb.h</a> +<li>set_sprite_2bpp_data +: <a class="el" href="gb_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4">gb.h</a> +, <a class="el" href="sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a">sms.h</a> </li> <li>set_sprite_4bpp_data() : <a class="el" href="sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432">sms.h</a> </li> <li>set_sprite_data() -: <a class="el" href="gb_8h.html#ac40ffe4802ea41e5cee0ac3d4b254e08">gb.h</a> +: <a class="el" href="gb_8h.html#ae45b1c639698951b47e44fa8e89556f2">gb.h</a> , <a class="el" href="sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39">sms.h</a> </li> <li>set_sprite_palette @@ -254,44 +263,52 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); , <a class="el" href="sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">sms.h</a> </li> <li>set_tile_1bpp_data() -: <a class="el" href="sms_8h.html#a6afae83728b6651075f0af9d55d4b9e0">sms.h</a> +: <a class="el" href="sms_8h.html#a747033606e041b45ae09b38fdb06b871">sms.h</a> </li> <li>set_tile_2bpp_data() -: <a class="el" href="sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979">sms.h</a> +: <a class="el" href="sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8">sms.h</a> </li> <li>set_tile_data() -: <a class="el" href="gb_8h.html#a0756c9c45dcf042a146d2a54290e9f6a">gb.h</a> +: <a class="el" href="gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30">gb.h</a> </li> <li>set_tile_map : <a class="el" href="gb_8h.html#a55f82ff980398dd97036fd936ebd727e">gb.h</a> -, <a class="el" href="sms_8h.html#ad68f2f36b41febcc5f8ca23c3e379ec8">sms.h</a> +, <a class="el" href="sms_8h.html#a14fc41e69085b5aa3da2fae9a2aa3ef3">sms.h</a> </li> <li>set_tile_map_compat() -: <a class="el" href="sms_8h.html#a6a9877d413f96540712d408d865625c9">sms.h</a> +: <a class="el" href="sms_8h.html#a7c38b146f77eda84981c06c2271fe116">sms.h</a> </li> <li>set_tile_submap : <a class="el" href="gb_8h.html#adb5d0970167b81401113812773c90838">gb.h</a> -, <a class="el" href="sms_8h.html#ad7bf6d9629c0ee4e83c137a297aac169">sms.h</a> +, <a class="el" href="sms_8h.html#a84774e034fe0e70af62bd17ac716ba34">sms.h</a> </li> <li>set_tile_submap_compat() -: <a class="el" href="sms_8h.html#a35261bb6911ba7a123262efc32f4955a">sms.h</a> +: <a class="el" href="sms_8h.html#aba0308b5e8e154cc920f041a185ac770">sms.h</a> </li> <li>set_tile_xy : <a class="el" href="gb_8h.html#a3b235c526c517fb02d20cdea780ee2c5">gb.h</a> -, <a class="el" href="sms_8h.html#a256029356b8bc719e42ffafba844290f">sms.h</a> +, <a class="el" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">sms.h</a> </li> <li>set_tiles() -: <a class="el" href="gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b">gb.h</a> +: <a class="el" href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c">gb.h</a> </li> <li>set_vram_byte() -: <a class="el" href="gb_8h.html#a84e320d3c0b1eca4d0b81b848d096582">gb.h</a> -, <a class="el" href="sms_8h.html#a18ce02bf91fd93098176b5bcc94cdf4a">sms.h</a> +: <a class="el" href="gb_8h.html#a7080649e10765996c581e5b618e603b8">gb.h</a> +, <a class="el" href="sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89">sms.h</a> </li> <li>set_win_1bpp_data() -: <a class="el" href="gb_8h.html#a445fa9ede939ca486ae5268e826b3a44">gb.h</a> +: <a class="el" href="gb_8h.html#acd5ee7a94059e6edbe9223f291bc2b46">gb.h</a> +</li> +<li>set_win_based_submap() +: <a class="el" href="gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">gb.h</a> +, <a class="el" href="sms_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">sms.h</a> +</li> +<li>set_win_based_tiles() +: <a class="el" href="gb_8h.html#a739a212609ae60c9c56c095f96b4ea80">gb.h</a> +, <a class="el" href="sms_8h.html#a739a212609ae60c9c56c095f96b4ea80">sms.h</a> </li> <li>set_win_data() -: <a class="el" href="gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd">gb.h</a> +: <a class="el" href="gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f">gb.h</a> </li> <li>set_win_submap() : <a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">gb.h</a> @@ -299,11 +316,11 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); </li> <li>set_win_tile_xy : <a class="el" href="sms_8h.html#a95d929d964d9988f4dc5a25ed399ae08">sms.h</a> -, <a class="el" href="gb_8h.html#a78b307e0fde9289c2b1f4cd6aa0b763c">gb.h</a> +, <a class="el" href="gb_8h.html#a0c70a53db1fbc0c99627da3f282befd8">gb.h</a> </li> <li>set_win_tiles : <a class="el" href="sms_8h.html#a429db030287423012f40a6dca81ae7e3">sms.h</a> -, <a class="el" href="gb_8h.html#aba807b33ddd5e18ecedc93b05338045e">gb.h</a> +, <a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">gb.h</a> </li> <li>setchar() : <a class="el" href="console_8h.html#a6ce1d0ff40a295e36bcb6d495947c8dc">console.h</a> @@ -311,6 +328,9 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); <li>setjmp : <a class="el" href="setjmp_8h.html#a27d1a255c7e0d69afec2367bb85b60b0">setjmp.h</a> </li> +<li>SFR +: <a class="el" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">types.h</a> +</li> <li>SGB_ATRC_EN : <a class="el" href="sgb_8h.html#a3d81b1e455d60d760ee58e2685953775">sgb.h</a> </li> @@ -333,7 +353,7 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); : <a class="el" href="sgb_8h.html#a1762d2df2599cf864400bac4934a5d61">sgb.h</a> </li> <li>sgb_check() -: <a class="el" href="sgb_8h.html#ae15ee98a319dec8aa94a5ce6790056ee">sgb.h</a> +: <a class="el" href="sgb_8h.html#a48bc560ec2455bf97002e03c0a6055f0">sgb.h</a> </li> <li>SGB_CHR_TRN : <a class="el" href="sgb_8h.html#af4d8b611dfdda33039038375ee95f424">sgb.h</a> @@ -390,11 +410,11 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); : <a class="el" href="sgb_8h.html#a8e644a43af63932283e9c78a472881dc">sgb.h</a> </li> <li>sgb_transfer() -: <a class="el" href="sgb_8h.html#a45a1526789b51eea852adcfb3392fde0">sgb.h</a> +: <a class="el" href="sgb_8h.html#a84e1f2ab7dce1faabd3d271b6bf8df8c">sgb.h</a> </li> <li>shadow_OAM -: <a class="el" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">sms.h</a> -, <a class="el" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">gb.h</a> +: <a class="el" href="gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551">gb.h</a> +, <a class="el" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">sms.h</a> </li> <li>shadow_VDP_R0 : <a class="el" href="sms_2hardware_8h.html#aa80cb68338819c004095531d32b70e38">hardware.h</a> @@ -439,8 +459,8 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); : <a class="el" href="sms_2hardware_8h.html#a292b59055beb22b566b39462da3b7eba">hardware.h</a> </li> <li>SHOW_BKG -: <a class="el" href="sms_8h.html#a8e3f36aa68ac036695816757f2a1322c">sms.h</a> -, <a class="el" href="gb_8h.html#a8e3f36aa68ac036695816757f2a1322c">gb.h</a> +: <a class="el" href="gb_8h.html#a8e3f36aa68ac036695816757f2a1322c">gb.h</a> +, <a class="el" href="sms_8h.html#a8e3f36aa68ac036695816757f2a1322c">sms.h</a> </li> <li>SHOW_LEFT_COLUMN : <a class="el" href="gb_8h.html#a5497c2255a9474d397446710189eacbe">gb.h</a> @@ -470,8 +490,8 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); : <a class="el" href="drawing_8h.html#a4dec4d9b2bace4f5bc6e6337f4086837">drawing.h</a> </li> <li>SIO_IFLAG -: <a class="el" href="gb_8h.html#ad90564458646c5646b3880b93db3443e">gb.h</a> -, <a class="el" href="sms_8h.html#ad90564458646c5646b3880b93db3443e">sms.h</a> +: <a class="el" href="sms_8h.html#ad90564458646c5646b3880b93db3443e">sms.h</a> +, <a class="el" href="gb_8h.html#ad90564458646c5646b3880b93db3443e">gb.h</a> </li> <li>SIOF_B_CLOCK : <a class="el" href="gb_2hardware_8h.html#a19b35b0b21101a2782ce5bde4125db04">hardware.h</a> @@ -502,7 +522,7 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); </li> <li>size_t : <a class="el" href="stddef_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">stddef.h</a> -, <a class="el" href="asm_2z80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">types.h</a> +, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">types.h</a> </li> <li>SOLID : <a class="el" href="drawing_8h.html#aa8abfd58ea514228abd69d8f6330e91d">drawing.h</a> @@ -514,12 +534,12 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); : <a class="el" href="stdio_8h.html#a31913a297ee18548c81d482ef6bdbe0f">stdio.h</a> </li> <li>SPRITES_8x16 -: <a class="el" href="sms_8h.html#af91d252f07f4764996154820f970c101">sms.h</a> -, <a class="el" href="gb_8h.html#af91d252f07f4764996154820f970c101">gb.h</a> +: <a class="el" href="gb_8h.html#af91d252f07f4764996154820f970c101">gb.h</a> +, <a class="el" href="sms_8h.html#af91d252f07f4764996154820f970c101">sms.h</a> </li> <li>SPRITES_8x8 -: <a class="el" href="sms_8h.html#aa87bec0d134136fdb727f52cb773b792">sms.h</a> -, <a class="el" href="gb_8h.html#aa87bec0d134136fdb727f52cb773b792">gb.h</a> +: <a class="el" href="gb_8h.html#aa87bec0d134136fdb727f52cb773b792">gb.h</a> +, <a class="el" href="sms_8h.html#aa87bec0d134136fdb727f52cb773b792">sms.h</a> </li> <li>SPX_SIZE : <a class="el" href="setjmp_8h.html#ad27470e8d39238686f96b46d5b9deb40">setjmp.h</a> @@ -594,22 +614,22 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); : <a class="el" href="asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553">string.h</a> </li> <li>strcmp() -: <a class="el" href="asm_2gbz80_2string_8h.html#a125908e664d4b65f55a49c8faf14784b">string.h</a> +: <a class="el" href="asm_2z80_2string_8h.html#a11bd144d7d44914099a3aeddf1c8567d">string.h</a> </li> <li>strcpy() -: <a class="el" href="asm_2gbz80_2string_8h.html#a8d21cab0520a18493e48dab450288f31">string.h</a> +: <a class="el" href="asm_2z80_2string_8h.html#af5b1fe1ca3f2aca8ad215962460d15a6">string.h</a> </li> <li>strlen() -: <a class="el" href="asm_2gbz80_2string_8h.html#a2db4b83fd1a2889db33d4e0798d33fe2">string.h</a> +: <a class="el" href="asm_2z80_2string_8h.html#ac952c3ccec84a458a4d385c5273c1ca0">string.h</a> </li> <li>strncat() : <a class="el" href="asm_2z80_2string_8h.html#a168580a0ddcb7fe754a711309966c99d">string.h</a> </li> <li>strncmp() -: <a class="el" href="asm_2z80_2string_8h.html#a861dba2d93de82f087707bb795f5c602">string.h</a> +: <a class="el" href="asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc">string.h</a> </li> <li>strncpy() -: <a class="el" href="asm_2z80_2string_8h.html#a796a9459c4f362e51c00307044c40ed5">string.h</a> +: <a class="el" href="asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f">string.h</a> </li> <li>SVBK_REG : <a class="el" href="gb_2hardware_8h.html#aa128832cecec4e609517fe3daf044e5e">hardware.h</a> @@ -624,8 +644,8 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); : <a class="el" href="drawing_8h.html#a7b8f466ecc6be62f6c034e52f05e957a">drawing.h</a> </li> <li>SWITCH_RAM -: <a class="el" href="sms_8h.html#a121feb0c32d124562f52398aa9656e7b">sms.h</a> -, <a class="el" href="gb_8h.html#a6e40dcc763efd953181c7400642a9f69">gb.h</a> +: <a class="el" href="gb_8h.html#a6e40dcc763efd953181c7400642a9f69">gb.h</a> +, <a class="el" href="sms_8h.html#a121feb0c32d124562f52398aa9656e7b">sms.h</a> </li> <li>SWITCH_RAM_MBC1 : <a class="el" href="gb_8h.html#a38ea3e4dfe02b8eae70df27f39d4a951">gb.h</a> @@ -634,8 +654,8 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); : <a class="el" href="gb_8h.html#a361d5055a7ae880fc1c9d6e0d1164fd6">gb.h</a> </li> <li>SWITCH_ROM -: <a class="el" href="sms_8h.html#af61262bbc05629f31020afce67e1b9ea">sms.h</a> -, <a class="el" href="gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc">gb.h</a> +: <a class="el" href="gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc">gb.h</a> +, <a class="el" href="sms_8h.html#af61262bbc05629f31020afce67e1b9ea">sms.h</a> </li> <li>SWITCH_ROM1 : <a class="el" href="sms_8h.html#a86d47feb2b999aaabbba9f63f4bb3567">sms.h</a> @@ -652,6 +672,9 @@ $(document).ready(function(){initNavTree('globals_s.html',''); initResizable(); <li>SWITCH_ROM_MBC5_8M : <a class="el" href="gb_8h.html#a6c15ebc660abd3a978137493ab63ffe9">gb.h</a> </li> +<li>SWITCH_ROM_MEGADUCK +: <a class="el" href="gb_8h.html#a3fca2d0a22aa2717e62fed659caf4743">gb.h</a> +</li> <li>sys_time : <a class="el" href="gb_8h.html#a78d2fd18666afec116f176d46debb4e7">gb.h</a> , <a class="el" href="sms_8h.html#a78d2fd18666afec116f176d46debb4e7">sms.h</a> diff --git a/docs/api/globals_t.html b/docs/api/globals_t.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -137,12 +138,12 @@ $(document).ready(function(){initNavTree('globals_t.html',''); initResizable(); <li>toupper() : <a class="el" href="ctype_8h.html#a811b7a0d5194feaccfacf8a7f02bb9c3">ctype.h</a> </li> -<li>true -: <a class="el" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">stdbool.h</a> -</li> <li>TRUE : <a class="el" href="types_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">types.h</a> </li> +<li>true +: <a class="el" href="stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7">stdbool.h</a> +</li> <li>TYPEOF_ARRAY : <a class="el" href="typeof_8h.html#ac627e9a5f9b283cb8904d73c941f1896">typeof.h</a> </li> diff --git a/docs/api/globals_type.html b/docs/api/globals_type.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -102,7 +103,7 @@ $(document).ready(function(){initNavTree('globals_type.html',''); initResizable( <h3><a id="index_c"></a>- c -</h3><ul> <li>clock_t -: <a class="el" href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">types.h</a> +: <a class="el" href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">types.h</a> </li> </ul> @@ -232,9 +233,9 @@ $(document).ready(function(){initNavTree('globals_type.html',''); initResizable( <h3><a id="index_s"></a>- s -</h3><ul> <li>size_t -: <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">types.h</a> +: <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">types.h</a> , <a class="el" href="stddef_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">stddef.h</a> -, <a class="el" href="asm_2z80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">types.h</a> +, <a class="el" href="asm_2z80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">types.h</a> </li> </ul> diff --git a/docs/api/globals_u.html b/docs/api/globals_u.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_v.html b/docs/api/globals_v.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -172,11 +173,11 @@ $(document).ready(function(){initNavTree('globals_v.html',''); initResizable(); : <a class="el" href="isr_8h.html#a84ca82d76186433c1ec77fde7652b827">isr.h</a> </li> <li>vmemcpy() -: <a class="el" href="gb_8h.html#ac9f0aa82f8e34812a406263aad57d4d9">gb.h</a> -, <a class="el" href="sms_8h.html#aee5c510efbda6e44f987088aa14d3482">sms.h</a> +: <a class="el" href="gb_8h.html#a36f9e5d95c2d7d58f203b5ac358e25e7">gb.h</a> +, <a class="el" href="sms_8h.html#a33a749b14dfbd203c460e8d7f3500636">sms.h</a> </li> <li>vmemset() -: <a class="el" href="gb_8h.html#abb54953bdb190aa0bb76724ae3d5d214">gb.h</a> +: <a class="el" href="gb_8h.html#a97bab71effd5e4e386629cb6ca5816cf">gb.h</a> </li> </ul> </div><!-- contents --> diff --git a/docs/api/globals_vars.html b/docs/api/globals_vars.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -103,6 +104,9 @@ $(document).ready(function(){initNavTree('globals_vars.html',''); initResizable( <li>__current_metasprite : <a class="el" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">metasprites.h</a> </li> +<li>__rand_seed +: <a class="el" href="rand_8h.html#a7aab2f4a234108a5eae48e0d26380ae7">rand.h</a> +</li> <li>__render_shadow_OAM : <a class="el" href="gb_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39">metasprites.h</a> </li> @@ -143,6 +147,10 @@ $(document).ready(function(){initNavTree('globals_vars.html',''); initResizable( <li>_is_GBA : <a class="el" href="gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36">gb.h</a> </li> +<li>_map_tile_offset +: <a class="el" href="gb_8h.html#aa82205e9629f984d0b3dc8055c211522">gb.h</a> +, <a class="el" href="sms_8h.html#aa82205e9629f984d0b3dc8055c211522">sms.h</a> +</li> <li>_OAMRAM : <a class="el" href="gb_2hardware_8h.html#a7030908728e166877fba9065671deb02">hardware.h</a> </li> @@ -168,6 +176,10 @@ $(document).ready(function(){initNavTree('globals_vars.html',''); initResizable( <li>_SRAM : <a class="el" href="gb_2hardware_8h.html#a09a4ae65605182c8b694197d3aea695e">hardware.h</a> </li> +<li>_submap_tile_offset +: <a class="el" href="sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c">sms.h</a> +, <a class="el" href="gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c">gb.h</a> +</li> <li>_SYSTEM : <a class="el" href="sms_2hardware_8h.html#a7093bf38c5e663715f4efed44341502d">hardware.h</a> </li> @@ -420,6 +432,9 @@ $(document).ready(function(){initNavTree('globals_vars.html',''); initResizable( <li>PCM34_REG : <a class="el" href="gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0">hardware.h</a> </li> +<li>PCM_SAMPLE +: <a class="el" href="gb_2hardware_8h.html#a271367a0bf840e5422b3a7ed541776f8">hardware.h</a> +</li> </ul> diff --git a/docs/api/globals_w.html b/docs/api/globals_w.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -92,16 +93,16 @@ $(document).ready(function(){initNavTree('globals_w.html',''); initResizable(); : <a class="el" href="gb_8h.html#acc9afd0cb72e763a1213d256b942a68f">gb.h</a> </li> <li>wait_vbl_done() -: <a class="el" href="gb_8h.html#a68346350199018249bdf8019b7131514">gb.h</a> -, <a class="el" href="sms_8h.html#a68346350199018249bdf8019b7131514">sms.h</a> +: <a class="el" href="gb_8h.html#acd186eb292d441f9389e77b545a55619">gb.h</a> +, <a class="el" href="sms_8h.html#acd186eb292d441f9389e77b545a55619">sms.h</a> </li> <li>waitpad() -: <a class="el" href="gb_8h.html#ac4f9e19d2834988ff005106b3f5b2f05">gb.h</a> -, <a class="el" href="sms_8h.html#aec76b4ab16315eb97846be87b19fea10">sms.h</a> +: <a class="el" href="gb_8h.html#aae433db7d8e3ee4c095c254b8abd7b8b">gb.h</a> +, <a class="el" href="sms_8h.html#a79b565677967da5ef9bf1a00aa6776ce">sms.h</a> </li> <li>waitpadup() -: <a class="el" href="gb_8h.html#a7eeb5f1f697fefdcebd8e68355af4113">gb.h</a> -, <a class="el" href="sms_8h.html#a35fbfcc0bffc93a47217caff66ca36a7">sms.h</a> +: <a class="el" href="gb_8h.html#a8484d346b788309ac702b7e0b1fca730">gb.h</a> +, <a class="el" href="sms_8h.html#a955d3733e5018f18b17a572aff45cf26">sms.h</a> </li> <li>WCHAR_MAX : <a class="el" href="stdint_8h.html#a2a823f3ccf2306cfbaa34d8addf66010">stdint.h</a> @@ -125,10 +126,10 @@ $(document).ready(function(){initNavTree('globals_w.html',''); initResizable(); : <a class="el" href="asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd">types.h</a> </li> <li>WRITE_VDP_CMD() -: <a class="el" href="sms_8h.html#a4b7af81fec48ca3bee04234b417abaa6">sms.h</a> +: <a class="el" href="sms_8h.html#a498b148efd22ab8ad9b844b2dc5e5bb8">sms.h</a> </li> <li>WRITE_VDP_DATA() -: <a class="el" href="sms_8h.html#af513fcb34dd2aa1e9bc9bf65cb589eee">sms.h</a> +: <a class="el" href="sms_8h.html#aa2ddf9662320c4a9d00fd4a94d347570">sms.h</a> </li> <li>wrtchr() : <a class="el" href="drawing_8h.html#a9178e678a17cb08653600f435093ae2a">drawing.h</a> diff --git a/docs/api/globals_x.html b/docs/api/globals_x.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/globals_z.html b/docs/api/globals_z.html @@ -0,0 +1,106 @@ +<!-- HTML header for doxygen 1.8.14--> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="cache-control" content="max-age=86400"/> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.20"/> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>GBDK 2020 Docs: Globals</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtreedata.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/searchdata.js"></script> +<script type="text/javascript" src="search/search.js"></script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="doxygen_extra.css" rel="stylesheet" type="text/css"/> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> + </div> + <div id="projectbrief">API Documentation for GBDK 2020</div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.20 --> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +/* @license-end */ +</script> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +$(function() { + initMenu('',true,false,'search.php','Search'); + $(document).ready(function() { init_search(); }); +}); +/* @license-end */</script> +<div id="main-nav"></div> +</div><!-- top --> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + <div id="nav-sync" class="sync"></div> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +$(document).ready(function(){initNavTree('globals_z.html',''); initResizable(); }); +/* @license-end */ +</script> +<div id="doc-content"> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +</div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="contents"> +<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div> + +<h3><a id="index_z"></a>- z -</h3><ul> +<li>Z88DK_CALLEE +: <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">types.h</a> +</li> +<li>Z88DK_FASTCALL +: <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">types.h</a> +</li> +</ul> +</div><!-- contents --> +</div><!-- doc-content --> +<!-- HTML footer for doxygen 1.8.14--> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> +</div> +</body> +</html> diff --git a/docs/api/group__gbdk__fonts.html b/docs/api/group__gbdk__fonts.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/incbin_8h.html b/docs/api/incbin_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/incbin_8h_source.html b/docs/api/incbin_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/index.html b/docs/api/index.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -103,27 +104,27 @@ $(document).ready(function(){initNavTree('index.html',''); initResizable(); }); <li><a class="el" href="docs_releases.html">GBDK Releases</a></li> <li><a class="el" href="docs_toolchain_settings.html">Toolchain settings</a></li> </ul> -<h1><a class="anchor" id="autotoc_md197"></a> +<h1><a class="anchor" id="autotoc_md217"></a> Introduction</h1> <p>Welcome to GBDK-2020! The best thing to do is head over to the <a class="el" href="docs_getting_started.html">Getting Started</a> section to get up and running.</p> -<h1><a class="anchor" id="autotoc_md198"></a> +<h1><a class="anchor" id="autotoc_md218"></a> About the Documentation</h1> <p>This documentation is partially based on material written by the original GBDK authors in 1999 and updated for GBDK-2020. The API docs are automatically generated from the C header files using Doxygen.</p> <p>GBDK-2020 is an updated version of the original GBDK with a modernized SDCC toolchain and many API improvements and fixes. It can be found at: <a href="https://github.com/gbdk-2020/gbdk-2020/">https://github.com/gbdk-2020/gbdk-2020/</a>.</p> <p>The original GBDK sources, documentation and website are at: <a href="http://gbdk.sourceforge.net/">http://gbdk.sourceforge.net/</a></p> -<h1><a class="anchor" id="autotoc_md199"></a> +<h1><a class="anchor" id="autotoc_md219"></a> About GBDK</h1> <p>The GameBoy Developer's Kit (GBDK, GBDK-2020) is used to develop games and programs for the Nintendo Game Boy (and some other consoles) in C and assembly. GBDK includes a set of libraries for the most common requirements and generates image files for use with a real GameBoy or emulators.</p> <p>GBDK features:</p><ul> <li>C and ASM toolchain based on SDCC with some support utilities</li> <li>A set of libraries with source code</li> <li>Example programs in ASM and in C</li> -<li>Support for multiple ROM bank images</li> -<li>Support for multiple consoles: Game Boy, Analogue Pocket, Master System and Game Gear</li> +<li>Support for multiple ROM bank images and auto-banking</li> +<li>Support for multiple consoles: Game Boy, Analogue Pocket, Mega Duck, Master System and Game Gear</li> </ul> <p>GBDK is freeware. Most of the tooling code is under the GPL. The runtime libraries should be under the LGPL. Please consider mentioning GBDK in the credits of projects made with it.</p> <hr /> -<h1><a class="anchor" id="autotoc_md200"></a> +<h1><a class="anchor" id="autotoc_md220"></a> Historical Info and Links</h1> <p>Work on the original GBDK (pre-2020) was by:</p> <p>Pascal Felber, Lars Malmborg, Michael Hope, David Galloway (djmips), and others.</p> diff --git a/docs/api/index.js b/docs/api/index.js @@ -1,249 +1,273 @@ var index = [ - [ "Introduction", "index.html#autotoc_md197", null ], - [ "About the Documentation", "index.html#autotoc_md198", null ], - [ "About GBDK", "index.html#autotoc_md199", null ], - [ "Historical Info and Links", "index.html#autotoc_md200", null ], + [ "Introduction", "index.html#autotoc_md217", null ], + [ "About the Documentation", "index.html#autotoc_md218", null ], + [ "About GBDK", "index.html#autotoc_md219", null ], + [ "Historical Info and Links", "index.html#autotoc_md220", null ], [ "Getting Started", "docs_getting_started.html", [ [ "1. Download a Release and unzip it", "docs_getting_started.html#autotoc_md6", null ], - [ "2. Compile Example projects", "docs_getting_started.html#autotoc_md7", null ], - [ "3. Use a Template", "docs_getting_started.html#autotoc_md8", null ], - [ "4. If you use GBTD / GBMB, get the fixed version", "docs_getting_started.html#autotoc_md9", null ], - [ "5. Review Coding Guidelines", "docs_getting_started.html#autotoc_md10", null ], - [ "6. Hardware and Resources", "docs_getting_started.html#autotoc_md11", null ], - [ "7. Set up C Source debugging", "docs_getting_started.html#autotoc_md12", null ], - [ "8. Try a GBDK Tutorial", "docs_getting_started.html#autotoc_md13", null ], - [ "9. Read up!", "docs_getting_started.html#autotoc_md14", null ], - [ "10. Need help?", "docs_getting_started.html#autotoc_md15", null ] + [ "2. Compile Example projects", "docs_getting_started.html#autotoc_md7", [ + [ "Windows (without Make installed):", "docs_getting_started.html#autotoc_md8", null ], + [ "Linux / MacOS / Windows with Make installed:", "docs_getting_started.html#autotoc_md9", null ] + ] ], + [ "3. Use a Template", "docs_getting_started.html#autotoc_md10", null ], + [ "4. If you use GBTD / GBMB, get the fixed version", "docs_getting_started.html#autotoc_md11", null ], + [ "5. Review Coding Guidelines", "docs_getting_started.html#autotoc_md12", null ], + [ "6. Hardware and Resources", "docs_getting_started.html#autotoc_md13", null ], + [ "7. Set up C Source debugging", "docs_getting_started.html#autotoc_md14", null ], + [ "8. Try a GBDK Tutorial", "docs_getting_started.html#autotoc_md15", null ], + [ "9. Read up!", "docs_getting_started.html#autotoc_md16", null ], + [ "10. Need help?", "docs_getting_started.html#autotoc_md17", null ], + [ "Migrating From Pre-GBDK-2020 Tutorials", "docs_getting_started.html#autotoc_md18", [ + [ "Also see:", "docs_getting_started.html#autotoc_md19", null ], + [ "Use auto-banking", "docs_getting_started.html#autotoc_md20", null ], + [ "Non-standard types (UINT8, etc)", "docs_getting_started.html#autotoc_md21", null ], + [ "If using GBTD / GBMB, get the fixed version", "docs_getting_started.html#autotoc_md22", null ], + [ "LCC and SDCC flags that are not needed", "docs_getting_started.html#autotoc_md23", null ], + [ "ROM Header Settings (such as Color, SGB, etc)", "docs_getting_started.html#autotoc_md24", null ], + [ "GBDK Header include changes", "docs_getting_started.html#autotoc_md25", null ], + [ "Include .h headers, not .c source files", "docs_getting_started.html#autotoc_md26", null ], + [ "Use the Template Projects", "docs_getting_started.html#autotoc_md27", null ], + [ "Use hUGEtracker instead of gbt_player", "docs_getting_started.html#autotoc_md28", null ] + ] ] ] ], [ "Links and Third-Party Tools", "docs_links_and_tools.html", [ - [ "SDCC Compiler Suite User Manual", "docs_links_and_tools.html#autotoc_md16", null ], - [ "Getting Help", "docs_links_and_tools.html#autotoc_md17", null ], - [ "Game Boy Documentation", "docs_links_and_tools.html#autotoc_md18", null ], - [ "Sega Master System / Game Gear Documentation", "docs_links_and_tools.html#autotoc_md19", null ], - [ "Tutorials", "docs_links_and_tools.html#autotoc_md20", null ], - [ "Example code", "docs_links_and_tools.html#autotoc_md21", null ], - [ "Graphics Tools", "docs_links_and_tools.html#autotoc_md22", null ], - [ "Music drivers and tools", "docs_links_and_tools.html#autotoc_md23", null ], - [ "Emulators", "docs_links_and_tools.html#autotoc_md24", null ], - [ "Debugging tools", "docs_links_and_tools.html#autotoc_md25", null ], - [ "Continuous Integration and Deployment", "docs_links_and_tools.html#autotoc_md26", null ] + [ "SDCC Compiler Suite User Manual", "docs_links_and_tools.html#autotoc_md29", null ], + [ "Getting Help", "docs_links_and_tools.html#autotoc_md30", null ], + [ "Game Boy Documentation", "docs_links_and_tools.html#autotoc_md31", null ], + [ "Sega Master System / Game Gear Documentation", "docs_links_and_tools.html#autotoc_md32", null ], + [ "Tutorials", "docs_links_and_tools.html#autotoc_md33", null ], + [ "Example code", "docs_links_and_tools.html#autotoc_md34", null ], + [ "Graphics Tools", "docs_links_and_tools.html#autotoc_md35", null ], + [ "Music drivers and tools", "docs_links_and_tools.html#autotoc_md36", null ], + [ "Emulators", "docs_links_and_tools.html#autotoc_md37", null ], + [ "Debugging tools", "docs_links_and_tools.html#autotoc_md38", null ], + [ "Continuous Integration and Deployment", "docs_links_and_tools.html#autotoc_md39", null ] ] ], [ "Using GBDK", "docs_using_gbdk.html", [ - [ "Interrupts", "docs_using_gbdk.html#autotoc_md27", [ - [ "Available Interrupts", "docs_using_gbdk.html#autotoc_md28", null ], - [ "Adding your own interrupt handler", "docs_using_gbdk.html#autotoc_md29", null ], - [ "Using your own Interrupt Dispatcher", "docs_using_gbdk.html#autotoc_md30", null ], - [ "Returning from Interrupts and STAT mode", "docs_using_gbdk.html#autotoc_md31", null ] - ] ], - [ "What GBDK does automatically and behind the scenes", "docs_using_gbdk.html#autotoc_md32", [ - [ "OAM (VRAM Sprite Attribute Table)", "docs_using_gbdk.html#autotoc_md33", null ], - [ "Font tiles when using stdio.h", "docs_using_gbdk.html#autotoc_md34", null ], - [ "Default Interrupt Service Handlers (ISRs)", "docs_using_gbdk.html#autotoc_md35", null ] - ] ], - [ "Copying Functions to RAM and HIRAM", "docs_using_gbdk.html#autotoc_md36", null ], - [ "Mixing C and Assembly", "docs_using_gbdk.html#autotoc_md37", [ - [ "Inline ASM within C source files", "docs_using_gbdk.html#autotoc_md38", null ], - [ "In Separate ASM files", "docs_using_gbdk.html#autotoc_md39", null ] - ] ], - [ "Including binary files in C source with incbin", "docs_using_gbdk.html#autotoc_md40", null ], - [ "Known Issues and Limitations", "docs_using_gbdk.html#autotoc_md41", [ - [ "SDCC", "docs_using_gbdk.html#autotoc_md42", null ] + [ "Interrupts", "docs_using_gbdk.html#autotoc_md40", [ + [ "Available Interrupts", "docs_using_gbdk.html#autotoc_md41", null ], + [ "Adding your own interrupt handler", "docs_using_gbdk.html#autotoc_md42", null ], + [ "Using your own Interrupt Dispatcher", "docs_using_gbdk.html#autotoc_md43", null ], + [ "Returning from Interrupts and STAT mode", "docs_using_gbdk.html#autotoc_md44", null ] + ] ], + [ "What GBDK does automatically and behind the scenes", "docs_using_gbdk.html#autotoc_md45", [ + [ "OAM (VRAM Sprite Attribute Table)", "docs_using_gbdk.html#autotoc_md46", null ], + [ "Font tiles when using stdio.h", "docs_using_gbdk.html#autotoc_md47", null ], + [ "Default Interrupt Service Handlers (ISRs)", "docs_using_gbdk.html#autotoc_md48", null ] + ] ], + [ "Copying Functions to RAM and HIRAM", "docs_using_gbdk.html#autotoc_md49", null ], + [ "Mixing C and Assembly", "docs_using_gbdk.html#autotoc_md50", [ + [ "Inline ASM within C source files", "docs_using_gbdk.html#autotoc_md51", null ], + [ "In Separate ASM files", "docs_using_gbdk.html#autotoc_md52", null ] + ] ], + [ "Including binary files in C source with incbin", "docs_using_gbdk.html#autotoc_md53", null ], + [ "Known Issues and Limitations", "docs_using_gbdk.html#autotoc_md54", [ + [ "SDCC", "docs_using_gbdk.html#autotoc_md55", null ] ] ] ] ], [ "Coding Guidelines", "docs_coding_guidelines.html", [ - [ "Learning C / C fundamentals", "docs_coding_guidelines.html#autotoc_md43", [ - [ "General C tutorials", "docs_coding_guidelines.html#autotoc_md44", null ], - [ "Embedded C introductions", "docs_coding_guidelines.html#autotoc_md45", null ], - [ "Game Boy games in C", "docs_coding_guidelines.html#autotoc_md46", null ] - ] ], - [ "Understanding the hardware", "docs_coding_guidelines.html#autotoc_md47", null ], - [ "Writing optimal C code for the Game Boy and SDCC", "docs_coding_guidelines.html#autotoc_md48", [ - [ "Tools", "docs_coding_guidelines.html#autotoc_md49", [ - [ "GBTD / GBMB, Arrays and the \"const\" keyword", "docs_coding_guidelines.html#autotoc_md50", null ] + [ "Learning C / C fundamentals", "docs_coding_guidelines.html#autotoc_md56", [ + [ "General C tutorials", "docs_coding_guidelines.html#autotoc_md57", null ], + [ "Embedded C introductions", "docs_coding_guidelines.html#autotoc_md58", null ], + [ "Game Boy games in C", "docs_coding_guidelines.html#autotoc_md59", null ] + ] ], + [ "Understanding the hardware", "docs_coding_guidelines.html#autotoc_md60", null ], + [ "Writing optimal C code for the Game Boy and SDCC", "docs_coding_guidelines.html#autotoc_md61", [ + [ "Tools", "docs_coding_guidelines.html#autotoc_md62", [ + [ "GBTD / GBMB, Arrays and the \"const\" keyword", "docs_coding_guidelines.html#autotoc_md63", null ] ] ], - [ "Variables", "docs_coding_guidelines.html#autotoc_md51", null ], - [ "Code structure", "docs_coding_guidelines.html#autotoc_md52", null ], - [ "GBDK API/Library", "docs_coding_guidelines.html#autotoc_md53", null ], - [ "Toolchain", "docs_coding_guidelines.html#autotoc_md54", null ], - [ "chars and vararg functions", "docs_coding_guidelines.html#autotoc_md55", null ] - ] ], - [ "When C isn't fast enough", "docs_coding_guidelines.html#autotoc_md56", [ - [ "Calling convention", "docs_coding_guidelines.html#autotoc_md57", null ], - [ "Variables and registers", "docs_coding_guidelines.html#autotoc_md58", null ], - [ "Segments", "docs_coding_guidelines.html#autotoc_md59", null ] + [ "Variables", "docs_coding_guidelines.html#autotoc_md64", null ], + [ "Code structure", "docs_coding_guidelines.html#autotoc_md65", null ], + [ "GBDK API/Library", "docs_coding_guidelines.html#autotoc_md66", null ], + [ "Toolchain", "docs_coding_guidelines.html#autotoc_md67", null ], + [ "chars and vararg functions", "docs_coding_guidelines.html#autotoc_md68", null ] + ] ], + [ "When C isn't fast enough", "docs_coding_guidelines.html#autotoc_md69", [ + [ "Calling convention", "docs_coding_guidelines.html#autotoc_md70", null ], + [ "Variables and registers", "docs_coding_guidelines.html#autotoc_md71", null ], + [ "Segments", "docs_coding_guidelines.html#autotoc_md72", null ] ] ] ] ], [ "ROM/RAM Banking and MBCs", "docs_rombanking_mbcs.html", [ - [ "ROM/RAM Banking and MBCs (Memory Bank Controllers)", "docs_rombanking_mbcs.html#autotoc_md60", [ - [ "Non-banked cartridges", "docs_rombanking_mbcs.html#autotoc_md61", null ], - [ "MBC Banked cartridges (Memory Bank Controllers)", "docs_rombanking_mbcs.html#autotoc_md62", null ] - ] ], - [ "Working with Banks", "docs_rombanking_mbcs.html#autotoc_md63", [ - [ "Setting the ROM bank for a Source file", "docs_rombanking_mbcs.html#autotoc_md64", null ], - [ "Setting the RAM bank for a Source file", "docs_rombanking_mbcs.html#autotoc_md65", null ], - [ "Setting the MBC and number of ROM & RAM banks available", "docs_rombanking_mbcs.html#autotoc_md66", null ], - [ "Getting Bank Numbers", "docs_rombanking_mbcs.html#autotoc_md67", null ], - [ "Banking and Functions", "docs_rombanking_mbcs.html#autotoc_md68", [ - [ "BANKED/NONBANKED keywords", "docs_rombanking_mbcs.html#autotoc_md69", null ], - [ "Banked Function Calls", "docs_rombanking_mbcs.html#autotoc_md70", null ] + [ "ROM/RAM Banking and MBCs (Memory Bank Controllers)", "docs_rombanking_mbcs.html#autotoc_md73", [ + [ "Non-banked cartridges", "docs_rombanking_mbcs.html#autotoc_md74", null ], + [ "MBC Banked cartridges (Memory Bank Controllers)", "docs_rombanking_mbcs.html#autotoc_md75", null ] + ] ], + [ "Working with Banks", "docs_rombanking_mbcs.html#autotoc_md76", [ + [ "Setting the ROM bank for a Source file", "docs_rombanking_mbcs.html#autotoc_md77", null ], + [ "Setting the RAM bank for a Source file", "docs_rombanking_mbcs.html#autotoc_md78", null ], + [ "Setting the MBC and number of ROM & RAM banks available", "docs_rombanking_mbcs.html#autotoc_md79", null ], + [ "Getting Bank Numbers", "docs_rombanking_mbcs.html#autotoc_md80", null ], + [ "Banking and Functions", "docs_rombanking_mbcs.html#autotoc_md81", [ + [ "BANKED/NONBANKED keywords", "docs_rombanking_mbcs.html#autotoc_md82", null ], + [ "Banked Function Calls", "docs_rombanking_mbcs.html#autotoc_md83", null ] ] ], - [ "Const Data (Variables in ROM)", "docs_rombanking_mbcs.html#autotoc_md71", null ], - [ "Variables in RAM", "docs_rombanking_mbcs.html#autotoc_md72", null ], - [ "Far Pointers", "docs_rombanking_mbcs.html#autotoc_md73", null ], - [ "Bank switching", "docs_rombanking_mbcs.html#autotoc_md74", null ], - [ "Restoring the current bank (after calling functions which change it without restoring)", "docs_rombanking_mbcs.html#autotoc_md75", null ], - [ "Currently active bank: _current_bank", "docs_rombanking_mbcs.html#autotoc_md76", null ] - ] ], - [ "Auto-Banking", "docs_rombanking_mbcs.html#autotoc_md77", null ], - [ "Errors related to banking (overflow, multiple writes to same location)", "docs_rombanking_mbcs.html#autotoc_md78", null ], - [ "Bank space usage", "docs_rombanking_mbcs.html#autotoc_md79", [ - [ "Other important notes", "docs_rombanking_mbcs.html#autotoc_md80", null ] - ] ], - [ "Banking example projects", "docs_rombanking_mbcs.html#autotoc_md81", null ] + [ "Const Data (Variables in ROM)", "docs_rombanking_mbcs.html#autotoc_md84", null ], + [ "Variables in RAM", "docs_rombanking_mbcs.html#autotoc_md85", null ], + [ "Far Pointers", "docs_rombanking_mbcs.html#autotoc_md86", null ], + [ "Bank switching", "docs_rombanking_mbcs.html#autotoc_md87", null ], + [ "Restoring the current bank (after calling functions which change it without restoring)", "docs_rombanking_mbcs.html#autotoc_md88", null ], + [ "Currently active bank: _current_bank", "docs_rombanking_mbcs.html#autotoc_md89", null ] + ] ], + [ "Auto-Banking", "docs_rombanking_mbcs.html#autotoc_md90", null ], + [ "Errors related to banking (overflow, multiple writes to same location)", "docs_rombanking_mbcs.html#autotoc_md91", null ], + [ "Bank space usage", "docs_rombanking_mbcs.html#autotoc_md92", [ + [ "Other important notes", "docs_rombanking_mbcs.html#autotoc_md93", null ] + ] ], + [ "Banking example projects", "docs_rombanking_mbcs.html#autotoc_md94", null ] ] ], [ "Supported Consoles & Cross Compiling", "docs_supported_consoles.html", [ - [ "Consoles Supported by GBDK", "docs_supported_consoles.html#autotoc_md102", null ], - [ "Cross Compiling for Different Consoles", "docs_supported_consoles.html#autotoc_md103", [ - [ "lcc", "docs_supported_consoles.html#autotoc_md104", null ], - [ "sdcc", "docs_supported_consoles.html#autotoc_md105", null ], - [ "Console Port and Platform Settings", "docs_supported_consoles.html#autotoc_md106", null ] - ] ], - [ "Cross-Platform Constants", "docs_supported_consoles.html#autotoc_md107", [ - [ "Console Identifiers", "docs_supported_consoles.html#autotoc_md108", null ], - [ "Console Hardware Properties", "docs_supported_consoles.html#autotoc_md109", null ] - ] ], - [ "Using <gbdk/...> headers", "docs_supported_consoles.html#autotoc_md110", null ], - [ "Cross Platform Example Projects", "docs_supported_consoles.html#autotoc_md111", null ], - [ "Porting From Game Boy to Analogue Pocket", "docs_supported_consoles.html#autotoc_md112", [ - [ "Registers and Flags", "docs_supported_consoles.html#autotoc_md113", null ], - [ "Boot logo", "docs_supported_consoles.html#autotoc_md114", null ] - ] ], - [ "Porting From Game Boy to SMS/GG", "docs_supported_consoles.html#autotoc_md115", [ - [ "Tile Data and Tile Map loading", "docs_supported_consoles.html#autotoc_md116", [ - [ "Tile and Map Data in 2bpp Game Boy Format", "docs_supported_consoles.html#autotoc_md117", null ], - [ "Tile and Map Data in Native Format", "docs_supported_consoles.html#autotoc_md118", null ], - [ "Emulated Game Boy Color map attributes on the SMS/Game Gear", "docs_supported_consoles.html#autotoc_md119", null ] + [ "Consoles Supported by GBDK", "docs_supported_consoles.html#autotoc_md116", null ], + [ "Cross Compiling for Different Consoles", "docs_supported_consoles.html#autotoc_md117", [ + [ "lcc", "docs_supported_consoles.html#autotoc_md118", null ], + [ "sdcc", "docs_supported_consoles.html#autotoc_md119", null ], + [ "Console Port and Platform Settings", "docs_supported_consoles.html#autotoc_md120", null ] + ] ], + [ "Cross-Platform Constants", "docs_supported_consoles.html#autotoc_md121", [ + [ "Console Identifiers", "docs_supported_consoles.html#autotoc_md122", null ], + [ "Console Hardware Properties", "docs_supported_consoles.html#autotoc_md123", null ] + ] ], + [ "Using <gbdk/...> headers", "docs_supported_consoles.html#autotoc_md124", null ], + [ "Cross Platform Example Projects", "docs_supported_consoles.html#autotoc_md125", [ + [ "Cross Platform Asset Example", "docs_supported_consoles.html#autotoc_md126", null ] + ] ], + [ "Porting From Game Boy to Analogue Pocket", "docs_supported_consoles.html#autotoc_md127", [ + [ "Registers and Flags", "docs_supported_consoles.html#autotoc_md128", null ], + [ "Boot logo", "docs_supported_consoles.html#autotoc_md129", null ] + ] ], + [ "Porting From Game Boy to Mega Duck / Cougar Boy", "docs_supported_consoles.html#autotoc_md130", [ + [ "Registers and Flags", "docs_supported_consoles.html#autotoc_md131", null ] + ] ], + [ "Porting From Game Boy to SMS/GG", "docs_supported_consoles.html#autotoc_md132", [ + [ "Tile Data and Tile Map loading", "docs_supported_consoles.html#autotoc_md133", [ + [ "Tile and Map Data in 2bpp Game Boy Format", "docs_supported_consoles.html#autotoc_md134", null ], + [ "Tile and Map Data in Native Format", "docs_supported_consoles.html#autotoc_md135", null ], + [ "Emulated Game Boy Color map attributes on the SMS/Game Gear", "docs_supported_consoles.html#autotoc_md136", null ] ] ] ] ], - [ "Hardware Comparison", "docs_supported_consoles.html#autotoc_md120", [ - [ "Safe VRAM / Display Controller Access", "docs_supported_consoles.html#autotoc_md121", null ] + [ "Hardware Comparison", "docs_supported_consoles.html#autotoc_md137", [ + [ "Safe VRAM / Display Controller Access", "docs_supported_consoles.html#autotoc_md138", null ] ] ] ] ], [ "GBDK Toolchain", "docs_toolchain.html", [ - [ "Overview", "docs_toolchain.html#autotoc_md82", null ], - [ "Data Types", "docs_toolchain.html#autotoc_md83", null ], - [ "Changing Important Addresses", "docs_toolchain.html#autotoc_md84", null ], - [ "Compiling programs", "docs_toolchain.html#autotoc_md85", [ + [ "Overview", "docs_toolchain.html#autotoc_md95", null ], + [ "Data Types", "docs_toolchain.html#autotoc_md96", null ], + [ "Changing Important Addresses", "docs_toolchain.html#autotoc_md97", null ], + [ "Compiling programs", "docs_toolchain.html#autotoc_md98", [ [ "Makefiles", "docs_toolchain.html#Makefiles", null ] ] ], - [ "Build Tools", "docs_toolchain.html#autotoc_md86", [ - [ "lcc", "docs_toolchain.html#autotoc_md87", null ], - [ "sdcc", "docs_toolchain.html#autotoc_md88", null ], - [ "sdasgb", "docs_toolchain.html#autotoc_md89", null ], - [ "bankpack", "docs_toolchain.html#autotoc_md90", null ], - [ "sdldgb", "docs_toolchain.html#autotoc_md91", null ], - [ "ihxcheck", "docs_toolchain.html#autotoc_md92", null ], - [ "makebin", "docs_toolchain.html#autotoc_md93", null ] - ] ], - [ "GBDK Utilities", "docs_toolchain.html#autotoc_md94", [ - [ "GBCompress", "docs_toolchain.html#autotoc_md95", null ], - [ "png2asset", "docs_toolchain.html#autotoc_md96", [ - [ "Working with png2asset", "docs_toolchain.html#autotoc_md97", [ - [ "Terminology", "docs_toolchain.html#autotoc_md98", null ], - [ "Conversion Process", "docs_toolchain.html#autotoc_md99", null ], - [ "Maps", "docs_toolchain.html#autotoc_md100", null ], - [ "Meta sprites", "docs_toolchain.html#autotoc_md101", null ] + [ "Build Tools", "docs_toolchain.html#autotoc_md99", [ + [ "lcc", "docs_toolchain.html#autotoc_md100", null ], + [ "sdcc", "docs_toolchain.html#autotoc_md101", null ], + [ "sdasgb", "docs_toolchain.html#autotoc_md102", null ], + [ "bankpack", "docs_toolchain.html#autotoc_md103", null ], + [ "sdldgb", "docs_toolchain.html#autotoc_md104", null ], + [ "ihxcheck", "docs_toolchain.html#autotoc_md105", null ], + [ "makebin", "docs_toolchain.html#autotoc_md106", null ] + ] ], + [ "GBDK Utilities", "docs_toolchain.html#autotoc_md107", [ + [ "GBCompress", "docs_toolchain.html#autotoc_md108", null ], + [ "png2asset", "docs_toolchain.html#autotoc_md109", [ + [ "Working with png2asset", "docs_toolchain.html#autotoc_md110", [ + [ "Terminology", "docs_toolchain.html#autotoc_md111", null ], + [ "Conversion Process", "docs_toolchain.html#autotoc_md112", null ], + [ "Maps", "docs_toolchain.html#autotoc_md113", null ], + [ "Meta sprites", "docs_toolchain.html#autotoc_md114", null ], + [ "Super Game Boy Borders (SGB)", "docs_toolchain.html#autotoc_md115", null ] ] ] ] ] ] ] ] ], [ "Example Programs", "docs_example_programs.html", [ - [ "banks (various projects)", "docs_example_programs.html#autotoc_md122", null ], - [ "comm", "docs_example_programs.html#autotoc_md123", null ], - [ "crash", "docs_example_programs.html#autotoc_md124", null ], - [ "colorbar", "docs_example_programs.html#autotoc_md125", null ], - [ "dscan", "docs_example_programs.html#autotoc_md126", null ], - [ "filltest", "docs_example_programs.html#autotoc_md127", null ], - [ "fonts", "docs_example_programs.html#autotoc_md128", null ], - [ "galaxy", "docs_example_programs.html#autotoc_md129", null ], - [ "gb-dtmf", "docs_example_programs.html#autotoc_md130", null ], - [ "gbdecompress", "docs_example_programs.html#autotoc_md131", null ], - [ "irq", "docs_example_programs.html#autotoc_md132", null ], - [ "large map", "docs_example_programs.html#autotoc_md133", null ], - [ "metasprites", "docs_example_programs.html#autotoc_md134", null ], - [ "lcd isr wobble", "docs_example_programs.html#autotoc_md135", null ], - [ "paint", "docs_example_programs.html#autotoc_md136", null ], - [ "rand", "docs_example_programs.html#autotoc_md137", null ], - [ "ram_fn", "docs_example_programs.html#autotoc_md138", null ], - [ "rpn", "docs_example_programs.html#autotoc_md139", null ], - [ "samptest", "docs_example_programs.html#autotoc_md140", null ], - [ "sgb (various)", "docs_example_programs.html#autotoc_md141", null ], - [ "sound", "docs_example_programs.html#autotoc_md142", null ], - [ "space", "docs_example_programs.html#autotoc_md143", null ], - [ "templates", "docs_example_programs.html#autotoc_md144", null ] + [ "banks (various projects)", "docs_example_programs.html#autotoc_md139", null ], + [ "comm", "docs_example_programs.html#autotoc_md140", null ], + [ "crash", "docs_example_programs.html#autotoc_md141", null ], + [ "colorbar", "docs_example_programs.html#autotoc_md142", null ], + [ "dscan", "docs_example_programs.html#autotoc_md143", null ], + [ "filltest", "docs_example_programs.html#autotoc_md144", null ], + [ "fonts", "docs_example_programs.html#autotoc_md145", null ], + [ "galaxy", "docs_example_programs.html#autotoc_md146", null ], + [ "gb-dtmf", "docs_example_programs.html#autotoc_md147", null ], + [ "gbdecompress", "docs_example_programs.html#autotoc_md148", null ], + [ "irq", "docs_example_programs.html#autotoc_md149", null ], + [ "large map", "docs_example_programs.html#autotoc_md150", null ], + [ "metasprites", "docs_example_programs.html#autotoc_md151", null ], + [ "lcd isr wobble", "docs_example_programs.html#autotoc_md152", null ], + [ "paint", "docs_example_programs.html#autotoc_md153", null ], + [ "rand", "docs_example_programs.html#autotoc_md154", null ], + [ "ram_fn", "docs_example_programs.html#autotoc_md155", null ], + [ "rpn", "docs_example_programs.html#autotoc_md156", null ], + [ "samptest", "docs_example_programs.html#autotoc_md157", null ], + [ "sgb (various)", "docs_example_programs.html#autotoc_md158", null ], + [ "sound", "docs_example_programs.html#autotoc_md159", null ], + [ "space", "docs_example_programs.html#autotoc_md160", null ], + [ "templates", "docs_example_programs.html#autotoc_md161", null ] ] ], [ "Frequently Asked Questions (FAQ)", "docs_faq.html", [ - [ "General", "docs_faq.html#autotoc_md145", null ], - [ "ROM Header Settings", "docs_faq.html#autotoc_md146", null ], - [ "Errors / Compiling / Toolchain", "docs_faq.html#autotoc_md147", null ], - [ "API / Utilities", "docs_faq.html#autotoc_md148", null ] + [ "General", "docs_faq.html#autotoc_md162", null ], + [ "Graphics and Resources", "docs_faq.html#autotoc_md163", null ], + [ "ROM Header Settings", "docs_faq.html#autotoc_md164", null ], + [ "Errors / Compiling / Toolchain", "docs_faq.html#autotoc_md165", null ], + [ "API / Utilities", "docs_faq.html#autotoc_md166", null ] ] ], [ "Migrating to new GBDK Versions", "docs_migrating_versions.html", [ - [ "GBDK 2020 versions", "docs_migrating_versions.html#autotoc_md149", [ - [ "Porting to GBDK 2020 4.0.5", "docs_migrating_versions.html#autotoc_md150", null ], - [ "Porting to GBDK 2020 4.0.4", "docs_migrating_versions.html#autotoc_md151", null ], - [ "Porting to GBDK 2020 4.0.3", "docs_migrating_versions.html#autotoc_md152", null ], - [ "Porting to GBDK 2020 4.0.2", "docs_migrating_versions.html#autotoc_md153", null ], - [ "Porting to GBDK 2020 4.0.1", "docs_migrating_versions.html#autotoc_md154", null ], - [ "Porting to GBDK 2020 4.0", "docs_migrating_versions.html#autotoc_md155", null ], - [ "Porting to GBDK 2020 3.2", "docs_migrating_versions.html#autotoc_md156", null ], - [ "Porting to GBDK 2020 3.1.1", "docs_migrating_versions.html#autotoc_md157", null ], - [ "Porting to GBDK 2020 3.1", "docs_migrating_versions.html#autotoc_md158", null ], - [ "Porting to GBDK 2020 3.0.1", "docs_migrating_versions.html#autotoc_md159", null ] - ] ], - [ "Historical GBDK versions", "docs_migrating_versions.html#autotoc_md161", [ - [ "GBDK 1.1 to GBDK 2.0", "docs_migrating_versions.html#autotoc_md162", null ] + [ "GBDK 2020 versions", "docs_migrating_versions.html#autotoc_md167", [ + [ "Porting to GBDK 2020 4.0.6", "docs_migrating_versions.html#autotoc_md168", null ], + [ "Porting to GBDK 2020 4.0.5", "docs_migrating_versions.html#autotoc_md169", null ], + [ "Porting to GBDK 2020 4.0.4", "docs_migrating_versions.html#autotoc_md170", null ], + [ "Porting to GBDK 2020 4.0.3", "docs_migrating_versions.html#autotoc_md171", null ], + [ "Porting to GBDK 2020 4.0.2", "docs_migrating_versions.html#autotoc_md172", null ], + [ "Porting to GBDK 2020 4.0.1", "docs_migrating_versions.html#autotoc_md173", null ], + [ "Porting to GBDK 2020 4.0", "docs_migrating_versions.html#autotoc_md174", null ], + [ "Porting to GBDK 2020 3.2", "docs_migrating_versions.html#autotoc_md175", null ], + [ "Porting to GBDK 2020 3.1.1", "docs_migrating_versions.html#autotoc_md176", null ], + [ "Porting to GBDK 2020 3.1", "docs_migrating_versions.html#autotoc_md177", null ], + [ "Porting to GBDK 2020 3.0.1", "docs_migrating_versions.html#autotoc_md178", null ] + ] ], + [ "Historical GBDK versions", "docs_migrating_versions.html#autotoc_md180", [ + [ "GBDK 1.1 to GBDK 2.0", "docs_migrating_versions.html#autotoc_md181", null ] ] ] ] ], [ "GBDK Releases", "docs_releases.html", [ - [ "GBDK 2020 Release Notes", "docs_releases.html#autotoc_md163", [ - [ "GBDK 2020 4.0.5", "docs_releases.html#autotoc_md164", null ], - [ "GBDK 2020 4.0.4", "docs_releases.html#autotoc_md165", null ], - [ "GBDK 2020 4.0.3", "docs_releases.html#autotoc_md166", null ], - [ "GBDK 2020 4.0.2", "docs_releases.html#autotoc_md167", null ], - [ "GBDK 2020 4.0.1", "docs_releases.html#autotoc_md168", null ], - [ "GBDK 2020 4.0", "docs_releases.html#autotoc_md169", null ], - [ "GBDK 2020 3.2", "docs_releases.html#autotoc_md170", null ], - [ "GBDK 2020 3.1.1", "docs_releases.html#autotoc_md171", null ], - [ "GBDK 2020 3.1", "docs_releases.html#autotoc_md172", null ], - [ "GBDK 2020 3.0.1", "docs_releases.html#autotoc_md173", null ], - [ "GBDK 2020 3.0", "docs_releases.html#autotoc_md174", null ] - ] ], - [ "Historical GBDK Release Notes", "docs_releases.html#autotoc_md175", [ - [ "GBDK 2.96", "docs_releases.html#autotoc_md176", null ], - [ "GBDK 2.95-3", "docs_releases.html#autotoc_md177", null ], - [ "GBDK 2.95-2", "docs_releases.html#autotoc_md178", null ], - [ "GBDK 2.95", "docs_releases.html#autotoc_md179", null ], - [ "GBDK 2.94", "docs_releases.html#autotoc_md180", null ], - [ "GBDK 2.93", "docs_releases.html#autotoc_md181", null ], - [ "GBDK 2.92-2 for win32", "docs_releases.html#autotoc_md182", null ], - [ "GBDK 2.92", "docs_releases.html#autotoc_md183", null ], - [ "GBDK 2.91", "docs_releases.html#autotoc_md184", null ], - [ "GBDK 2.1.5", "docs_releases.html#autotoc_md185", null ] + [ "GBDK 2020 Release Notes", "docs_releases.html#autotoc_md182", [ + [ "GBDK 2020 4.0.6", "docs_releases.html#autotoc_md183", null ], + [ "GBDK 2020 4.0.5", "docs_releases.html#autotoc_md184", null ], + [ "GBDK 2020 4.0.4", "docs_releases.html#autotoc_md185", null ], + [ "GBDK 2020 4.0.3", "docs_releases.html#autotoc_md186", null ], + [ "GBDK 2020 4.0.2", "docs_releases.html#autotoc_md187", null ], + [ "GBDK 2020 4.0.1", "docs_releases.html#autotoc_md188", null ], + [ "GBDK 2020 4.0", "docs_releases.html#autotoc_md189", null ], + [ "GBDK 2020 3.2", "docs_releases.html#autotoc_md190", null ], + [ "GBDK 2020 3.1.1", "docs_releases.html#autotoc_md191", null ], + [ "GBDK 2020 3.1", "docs_releases.html#autotoc_md192", null ], + [ "GBDK 2020 3.0.1", "docs_releases.html#autotoc_md193", null ], + [ "GBDK 2020 3.0", "docs_releases.html#autotoc_md194", null ] + ] ], + [ "Historical GBDK Release Notes", "docs_releases.html#autotoc_md195", [ + [ "GBDK 2.96", "docs_releases.html#autotoc_md196", null ], + [ "GBDK 2.95-3", "docs_releases.html#autotoc_md197", null ], + [ "GBDK 2.95-2", "docs_releases.html#autotoc_md198", null ], + [ "GBDK 2.95", "docs_releases.html#autotoc_md199", null ], + [ "GBDK 2.94", "docs_releases.html#autotoc_md200", null ], + [ "GBDK 2.93", "docs_releases.html#autotoc_md201", null ], + [ "GBDK 2.92-2 for win32", "docs_releases.html#autotoc_md202", null ], + [ "GBDK 2.92", "docs_releases.html#autotoc_md203", null ], + [ "GBDK 2.91", "docs_releases.html#autotoc_md204", null ], + [ "GBDK 2.1.5", "docs_releases.html#autotoc_md205", null ] ] ] ] ], [ "Toolchain settings", "docs_toolchain_settings.html", [ - [ "lcc settings", "docs_toolchain_settings.html#autotoc_md186", null ], - [ "sdcc settings", "docs_toolchain_settings.html#autotoc_md187", null ], - [ "sdasgb settings", "docs_toolchain_settings.html#autotoc_md188", null ], - [ "sdasz80 settings", "docs_toolchain_settings.html#autotoc_md189", null ], - [ "bankpack settings", "docs_toolchain_settings.html#autotoc_md190", null ], - [ "sdldgb settings", "docs_toolchain_settings.html#autotoc_md191", null ], - [ "sdldz80 settings", "docs_toolchain_settings.html#autotoc_md192", null ], - [ "ihxcheck settings", "docs_toolchain_settings.html#autotoc_md193", null ], - [ "makebin settings", "docs_toolchain_settings.html#autotoc_md194", null ], - [ "gbcompress settings", "docs_toolchain_settings.html#autotoc_md195", null ], - [ "png2asset settings", "docs_toolchain_settings.html#autotoc_md196", null ] + [ "lcc settings", "docs_toolchain_settings.html#autotoc_md206", null ], + [ "sdcc settings", "docs_toolchain_settings.html#autotoc_md207", null ], + [ "sdasgb settings", "docs_toolchain_settings.html#autotoc_md208", null ], + [ "sdasz80 settings", "docs_toolchain_settings.html#autotoc_md209", null ], + [ "bankpack settings", "docs_toolchain_settings.html#autotoc_md210", null ], + [ "sdldgb settings", "docs_toolchain_settings.html#autotoc_md211", null ], + [ "sdldz80 settings", "docs_toolchain_settings.html#autotoc_md212", null ], + [ "ihxcheck settings", "docs_toolchain_settings.html#autotoc_md213", null ], + [ "makebin settings", "docs_toolchain_settings.html#autotoc_md214", null ], + [ "gbcompress settings", "docs_toolchain_settings.html#autotoc_md215", null ], + [ "png2asset settings", "docs_toolchain_settings.html#autotoc_md216", null ] ] ] ]; diff --git a/docs/api/isr_8h.html b/docs/api/isr_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -94,6 +95,7 @@ $(document).ready(function(){initNavTree('isr_8h.html',''); initResizable(); }); </div><!--header--> <div class="contents"> <div class="textblock"><code>#include <<a class="el" href="stdint_8h_source.html">stdint.h</a>></code><br /> +<code>#include <types.h></code><br /> </div> <p><a href="isr_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> @@ -114,9 +116,9 @@ Macros</h2></td></tr> <tr class="separator:a9c51a56a79576c33fcc98579bf7153a1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac93f10ff354ca76f4030f64a8496303f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="isr_8h.html#ac93f10ff354ca76f4030f64a8496303f">VECTOR_JOYPAD</a>   0x60</td></tr> <tr class="separator:ac93f10ff354ca76f4030f64a8496303f"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a73769fed9338af86fdb7df35d7b82620"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="isr_8h.html#a73769fed9338af86fdb7df35d7b82620">ISR_VECTOR</a>(ADDR, FUNC)   static const <a class="el" href="structisr__vector__t.html">isr_vector_t</a> __at((ADDR)) __ISR_ ## ADDR = {0xc3, (void *)&(FUNC)};</td></tr> +<tr class="memitem:a73769fed9338af86fdb7df35d7b82620"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="isr_8h.html#a73769fed9338af86fdb7df35d7b82620">ISR_VECTOR</a>(ADDR, FUNC)   static const <a class="el" href="structisr__vector__t.html">isr_vector_t</a> <a class="el" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>((ADDR)) __ISR_ ## ADDR = {0xc3, (void *)&(FUNC)};</td></tr> <tr class="separator:a73769fed9338af86fdb7df35d7b82620"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a78f9ef588aaf221023e48899898d566b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="isr_8h.html#a78f9ef588aaf221023e48899898d566b">ISR_NESTED_VECTOR</a>(ADDR, FUNC)   static const <a class="el" href="structisr__nested__vector__t.html">isr_nested_vector_t</a> __at((ADDR)) __ISR_ ## ADDR = {{0xfb, 0xc3}, (void *)&(FUNC)};</td></tr> +<tr class="memitem:a78f9ef588aaf221023e48899898d566b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="isr_8h.html#a78f9ef588aaf221023e48899898d566b">ISR_NESTED_VECTOR</a>(ADDR, FUNC)   static const <a class="el" href="structisr__nested__vector__t.html">isr_nested_vector_t</a> <a class="el" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>((ADDR)) __ISR_ ## ADDR = {{0xfb, 0xc3}, (void *)&(FUNC)};</td></tr> <tr class="separator:a78f9ef588aaf221023e48899898d566b"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> @@ -211,7 +213,7 @@ Typedefs</h2></td></tr> <tr> <td></td> <td>)</td> - <td></td><td>   static const <a class="el" href="structisr__vector__t.html">isr_vector_t</a> __at((ADDR)) __ISR_ ## ADDR = {0xc3, (void *)&(FUNC)};</td> + <td></td><td>   static const <a class="el" href="structisr__vector__t.html">isr_vector_t</a> <a class="el" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>((ADDR)) __ISR_ ## ADDR = {0xc3, (void *)&(FUNC)};</td> </tr> </table> </div><div class="memdoc"> @@ -232,7 +234,7 @@ Typedefs</h2></td></tr> <div class="line">}</div> <div class="line"> </div> <div class="line"><a class="code" href="isr_8h.html#a73769fed9338af86fdb7df35d7b82620">ISR_VECTOR</a>(<a class="code" href="isr_8h.html#a84ca82d76186433c1ec77fde7652b827">VECTOR_TIMER</a>, TimerISR)</div> -</div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="isr_8h.html#a78f9ef588aaf221023e48899898d566b">ISR_NESTED_VECTOR</a>, <a class="el" href="sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849">set_interrupts</a> </dd></dl> +</div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="isr_8h.html#a78f9ef588aaf221023e48899898d566b">ISR_NESTED_VECTOR</a>, <a class="el" href="sms_8h.html#aefda0091b2934571a11e07b512735f50">set_interrupts</a> </dd></dl> </div> </div> @@ -257,7 +259,7 @@ Typedefs</h2></td></tr> <tr> <td></td> <td>)</td> - <td></td><td>   static const <a class="el" href="structisr__nested__vector__t.html">isr_nested_vector_t</a> __at((ADDR)) __ISR_ ## ADDR = {{0xfb, 0xc3}, (void *)&(FUNC)};</td> + <td></td><td>   static const <a class="el" href="structisr__nested__vector__t.html">isr_nested_vector_t</a> <a class="el" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>((ADDR)) __ISR_ ## ADDR = {{0xfb, 0xc3}, (void *)&(FUNC)};</td> </tr> </table> </div><div class="memdoc"> @@ -305,8 +307,8 @@ Typedefs</h2></td></tr> </div> </div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="aisr_8h_html_a84ca82d76186433c1ec77fde7652b827"><div class="ttname"><a href="isr_8h.html#a84ca82d76186433c1ec77fde7652b827">VECTOR_TIMER</a></div><div class="ttdeci">#define VECTOR_TIMER</div><div class="ttdef"><b>Definition:</b> isr.h:16</div></div> -<div class="ttc" id="aisr_8h_html_a73769fed9338af86fdb7df35d7b82620"><div class="ttname"><a href="isr_8h.html#a73769fed9338af86fdb7df35d7b82620">ISR_VECTOR</a></div><div class="ttdeci">#define ISR_VECTOR(ADDR, FUNC)</div><div class="ttdef"><b>Definition:</b> isr.h:51</div></div> +<div class="ttc" id="aisr_8h_html_a84ca82d76186433c1ec77fde7652b827"><div class="ttname"><a href="isr_8h.html#a84ca82d76186433c1ec77fde7652b827">VECTOR_TIMER</a></div><div class="ttdeci">#define VECTOR_TIMER</div><div class="ttdef"><b>Definition:</b> isr.h:17</div></div> +<div class="ttc" id="aisr_8h_html_a73769fed9338af86fdb7df35d7b82620"><div class="ttname"><a href="isr_8h.html#a73769fed9338af86fdb7df35d7b82620">ISR_VECTOR</a></div><div class="ttdeci">#define ISR_VECTOR(ADDR, FUNC)</div><div class="ttdef"><b>Definition:</b> isr.h:52</div></div> <div class="ttc" id="aisr_8h_html"><div class="ttname"><a href="isr_8h.html">isr.h</a></div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> diff --git a/docs/api/isr_8h_source.html b/docs/api/isr_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -94,41 +95,42 @@ $(document).ready(function(){initNavTree('isr_8h_source.html',''); initResizable <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#define _ISR_H_INCLUDE_</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  </div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <<a class="code" href="stdint_8h.html">stdint.h</a>></span></div> -<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  </div> -<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// #define VECTOR_VBL 0x40 // you can not define raw vector for VBlank interrupt</span></div> -<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="isr_8h.html#a2cf2cba8468992868fe1f6b6448ffae2"> 15</a></span> <span class="preprocessor">#define VECTOR_STAT 0x48 </span></div> -<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="isr_8h.html#a84ca82d76186433c1ec77fde7652b827"> 16</a></span> <span class="preprocessor">#define VECTOR_TIMER 0x50 </span></div> -<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="isr_8h.html#a9c51a56a79576c33fcc98579bf7153a1"> 17</a></span> <span class="preprocessor">#define VECTOR_SERIAL 0x58 </span></div> -<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="isr_8h.html#ac93f10ff354ca76f4030f64a8496303f"> 18</a></span> <span class="preprocessor">#define VECTOR_JOYPAD 0x60 </span></div> -<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="structisr__vector__t.html"> 20</a></span> <span class="preprocessor">typedef struct isr_vector_t {</span></div> -<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="structisr__vector__t.html#a43f6e622239ba42a25d2d9624c0d8f0b"> 21</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structisr__vector__t.html#a43f6e622239ba42a25d2d9624c0d8f0b">opcode</a>;</div> -<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="structisr__vector__t.html#a978f0092183f75d20a0f7de7add24b50"> 22</a></span>  <span class="keywordtype">void</span> * <a class="code" href="structisr__vector__t.html#a978f0092183f75d20a0f7de7add24b50">func</a>;</div> -<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="isr_8h.html#a40dca48ca391581d7f67d8697533cf30"> 23</a></span> } <a class="code" href="isr_8h.html#a40dca48ca391581d7f67d8697533cf30">isr_vector_t</a>;</div> -<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  </div> -<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="isr_8h.html#a73769fed9338af86fdb7df35d7b82620"> 51</a></span> <span class="preprocessor">#define ISR_VECTOR(ADDR, FUNC) \</span></div> -<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">static const isr_vector_t __at((ADDR)) __ISR_ ## ADDR = {0xc3, (void *)&(FUNC)};</span></div> -<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  </div> -<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structisr__nested__vector__t.html"> 54</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structisr__nested__vector__t.html">isr_nested_vector_t</a> {</div> -<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structisr__nested__vector__t.html#a097ce850c38d6045af8f419a07a34b66"> 55</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structisr__nested__vector__t.html#a097ce850c38d6045af8f419a07a34b66">opcode</a>[2];</div> -<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structisr__nested__vector__t.html#a4009f14b9912d9a852873e2019044d0c"> 56</a></span>  <span class="keywordtype">void</span> * <a class="code" href="structisr__nested__vector__t.html#a4009f14b9912d9a852873e2019044d0c">func</a>;</div> -<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="isr_8h.html#a99e64ac886740db0eb63d8ed0235b5c7"> 57</a></span> } <a class="code" href="isr_8h.html#a99e64ac886740db0eb63d8ed0235b5c7">isr_nested_vector_t</a>;</div> -<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  </div> -<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="isr_8h.html#a78f9ef588aaf221023e48899898d566b"> 69</a></span> <span class="preprocessor">#define ISR_NESTED_VECTOR(ADDR, FUNC) \</span></div> -<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">static const isr_nested_vector_t __at((ADDR)) __ISR_ ## ADDR = {{0xfb, 0xc3}, (void *)&(FUNC)};</span></div> -<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  </div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include <types.h></span></div> +<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  </div> +<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// #define VECTOR_VBL 0x40 // you can not define raw vector for VBlank interrupt</span></div> +<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="isr_8h.html#a2cf2cba8468992868fe1f6b6448ffae2"> 16</a></span> <span class="preprocessor">#define VECTOR_STAT 0x48 </span></div> +<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="isr_8h.html#a84ca82d76186433c1ec77fde7652b827"> 17</a></span> <span class="preprocessor">#define VECTOR_TIMER 0x50 </span></div> +<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="isr_8h.html#a9c51a56a79576c33fcc98579bf7153a1"> 18</a></span> <span class="preprocessor">#define VECTOR_SERIAL 0x58 </span></div> +<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="isr_8h.html#ac93f10ff354ca76f4030f64a8496303f"> 19</a></span> <span class="preprocessor">#define VECTOR_JOYPAD 0x60 </span></div> +<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="structisr__vector__t.html"> 21</a></span> <span class="preprocessor">typedef struct isr_vector_t {</span></div> +<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="structisr__vector__t.html#a43f6e622239ba42a25d2d9624c0d8f0b"> 22</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structisr__vector__t.html#a43f6e622239ba42a25d2d9624c0d8f0b">opcode</a>;</div> +<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="structisr__vector__t.html#a978f0092183f75d20a0f7de7add24b50"> 23</a></span>  <span class="keywordtype">void</span> * <a class="code" href="structisr__vector__t.html#a978f0092183f75d20a0f7de7add24b50">func</a>;</div> +<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="isr_8h.html#a40dca48ca391581d7f67d8697533cf30"> 24</a></span> } <a class="code" href="isr_8h.html#a40dca48ca391581d7f67d8697533cf30">isr_vector_t</a>;</div> +<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  </div> +<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="isr_8h.html#a73769fed9338af86fdb7df35d7b82620"> 52</a></span> <span class="preprocessor">#define ISR_VECTOR(ADDR, FUNC) \</span></div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">static const isr_vector_t AT((ADDR)) __ISR_ ## ADDR = {0xc3, (void *)&(FUNC)};</span></div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  </div> +<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structisr__nested__vector__t.html"> 55</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structisr__nested__vector__t.html">isr_nested_vector_t</a> {</div> +<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structisr__nested__vector__t.html#a097ce850c38d6045af8f419a07a34b66"> 56</a></span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structisr__nested__vector__t.html#a097ce850c38d6045af8f419a07a34b66">opcode</a>[2];</div> +<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structisr__nested__vector__t.html#a4009f14b9912d9a852873e2019044d0c"> 57</a></span>  <span class="keywordtype">void</span> * <a class="code" href="structisr__nested__vector__t.html#a4009f14b9912d9a852873e2019044d0c">func</a>;</div> +<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="isr_8h.html#a99e64ac886740db0eb63d8ed0235b5c7"> 58</a></span> } <a class="code" href="isr_8h.html#a99e64ac886740db0eb63d8ed0235b5c7">isr_nested_vector_t</a>;</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  </div> +<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="isr_8h.html#a78f9ef588aaf221023e48899898d566b"> 70</a></span> <span class="preprocessor">#define ISR_NESTED_VECTOR(ADDR, FUNC) \</span></div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">static const isr_nested_vector_t AT((ADDR)) __ISR_ ## ADDR = {{0xfb, 0xc3}, (void *)&(FUNC)};</span></div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  </div> -<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#endif // _ISR_H_INCLUDE_</span></div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  </div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#endif // _ISR_H_INCLUDE_</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div class="ttc" id="astdint_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div> <div class="ttc" id="aisr_8h_html_a99e64ac886740db0eb63d8ed0235b5c7"><div class="ttname"><a href="isr_8h.html#a99e64ac886740db0eb63d8ed0235b5c7">isr_nested_vector_t</a></div><div class="ttdeci">struct isr_nested_vector_t isr_nested_vector_t</div></div> -<div class="ttc" id="astructisr__nested__vector__t_html_a097ce850c38d6045af8f419a07a34b66"><div class="ttname"><a href="structisr__nested__vector__t.html#a097ce850c38d6045af8f419a07a34b66">isr_nested_vector_t::opcode</a></div><div class="ttdeci">uint8_t opcode[2]</div><div class="ttdef"><b>Definition:</b> isr.h:55</div></div> -<div class="ttc" id="astructisr__vector__t_html_a978f0092183f75d20a0f7de7add24b50"><div class="ttname"><a href="structisr__vector__t.html#a978f0092183f75d20a0f7de7add24b50">isr_vector_t::func</a></div><div class="ttdeci">void * func</div><div class="ttdef"><b>Definition:</b> isr.h:22</div></div> +<div class="ttc" id="astructisr__nested__vector__t_html_a097ce850c38d6045af8f419a07a34b66"><div class="ttname"><a href="structisr__nested__vector__t.html#a097ce850c38d6045af8f419a07a34b66">isr_nested_vector_t::opcode</a></div><div class="ttdeci">uint8_t opcode[2]</div><div class="ttdef"><b>Definition:</b> isr.h:56</div></div> +<div class="ttc" id="astructisr__vector__t_html_a978f0092183f75d20a0f7de7add24b50"><div class="ttname"><a href="structisr__vector__t.html#a978f0092183f75d20a0f7de7add24b50">isr_vector_t::func</a></div><div class="ttdeci">void * func</div><div class="ttdef"><b>Definition:</b> isr.h:23</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> -<div class="ttc" id="astructisr__nested__vector__t_html_a4009f14b9912d9a852873e2019044d0c"><div class="ttname"><a href="structisr__nested__vector__t.html#a4009f14b9912d9a852873e2019044d0c">isr_nested_vector_t::func</a></div><div class="ttdeci">void * func</div><div class="ttdef"><b>Definition:</b> isr.h:56</div></div> +<div class="ttc" id="astructisr__nested__vector__t_html_a4009f14b9912d9a852873e2019044d0c"><div class="ttname"><a href="structisr__nested__vector__t.html#a4009f14b9912d9a852873e2019044d0c">isr_nested_vector_t::func</a></div><div class="ttdeci">void * func</div><div class="ttdef"><b>Definition:</b> isr.h:57</div></div> <div class="ttc" id="aisr_8h_html_a40dca48ca391581d7f67d8697533cf30"><div class="ttname"><a href="isr_8h.html#a40dca48ca391581d7f67d8697533cf30">isr_vector_t</a></div><div class="ttdeci">struct isr_vector_t isr_vector_t</div></div> -<div class="ttc" id="astructisr__nested__vector__t_html"><div class="ttname"><a href="structisr__nested__vector__t.html">isr_nested_vector_t</a></div><div class="ttdef"><b>Definition:</b> isr.h:54</div></div> -<div class="ttc" id="astructisr__vector__t_html_a43f6e622239ba42a25d2d9624c0d8f0b"><div class="ttname"><a href="structisr__vector__t.html#a43f6e622239ba42a25d2d9624c0d8f0b">isr_vector_t::opcode</a></div><div class="ttdeci">uint8_t opcode</div><div class="ttdef"><b>Definition:</b> isr.h:21</div></div> +<div class="ttc" id="astructisr__nested__vector__t_html"><div class="ttname"><a href="structisr__nested__vector__t.html">isr_nested_vector_t</a></div><div class="ttdef"><b>Definition:</b> isr.h:55</div></div> +<div class="ttc" id="astructisr__vector__t_html_a43f6e622239ba42a25d2d9624c0d8f0b"><div class="ttname"><a href="structisr__vector__t.html#a43f6e622239ba42a25d2d9624c0d8f0b">isr_vector_t::opcode</a></div><div class="ttdeci">uint8_t opcode</div><div class="ttdef"><b>Definition:</b> isr.h:22</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/k_2bcd_8h.html b/docs/api/k_2bcd_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/k_2bcd_8h_source.html b/docs/api/k_2bcd_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -92,7 +93,7 @@ $(document).ready(function(){initNavTree('k_2bcd_8h_source.html',''); initResiza <a href="k_2bcd_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef __GBDK_BCD_H_INCLUDE</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define __GBDK_BCD_H_INCLUDE</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  </div> -<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#if defined(__TARGET_gb) || defined(__TARGET_ap)</span></div> +<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#if defined(__TARGET_gb) || defined(__TARGET_ap) || defined(__TARGET_duck)</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor"> #include <<a class="code" href="bcd_8h.html">gb/bcd.h</a>></span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#elif defined(__TARGET_sms) || defined(__TARGET_gg)</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor"> #error Not implemented yet</span></div> diff --git a/docs/api/limits_8h.html b/docs/api/limits_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/limits_8h_source.html b/docs/api/limits_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/menudata.js b/docs/api/menudata.js @@ -88,7 +88,8 @@ var menudata={children:[ {text:"u",url:"globals_u.html#index_u"}, {text:"v",url:"globals_v.html#index_v"}, {text:"w",url:"globals_w.html#index_w"}, -{text:"x",url:"globals_x.html#index_x"}]}, +{text:"x",url:"globals_x.html#index_x"}, +{text:"z",url:"globals_z.html#index_z"}]}, {text:"Functions",url:"globals_func.html",children:[ {text:"_",url:"globals_func.html#index__5F"}, {text:"a",url:"globals_func_a.html#index_a"}, @@ -172,4 +173,5 @@ var menudata={children:[ {text:"u",url:"globals_defs_u.html#index_u"}, {text:"v",url:"globals_defs_v.html#index_v"}, {text:"w",url:"globals_defs_w.html#index_w"}, -{text:"x",url:"globals_defs_x.html#index_x"}]}]}]}]} +{text:"x",url:"globals_defs_x.html#index_x"}, +{text:"z",url:"globals_defs_z.html#index_z"}]}]}]}]} diff --git a/docs/api/modules.html b/docs/api/modules.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/navtreedata.js b/docs/api/navtreedata.js @@ -52,12 +52,12 @@ var NAVTREE = var NAVTREEINDEX = [ "annotated.html", -"docs_migrating_versions.html#autotoc_md157", -"gb_2hardware_8h.html#a37c8ee0ef95132fd22cd426868510834", -"gb_8h.html#a0c689c5a814f1c347c4d98f28ed6c7d6", -"globals_n.html", -"sms_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b", -"stdint_8h.html#aef44329758059c91c76d334e8fc09700" +"docs_migrating_versions.html#autotoc_md168", +"gb_2hardware_8h.html#a19dce313b521aad75756abfc19bc9e78", +"gb_2metasprites_8h.html", +"globals_defs_s.html", +"sms_2hardware_8h.html#aa1a024a7dc26ef40663fe283565bcf50", +"stdint_8h.html#a21649560c6e8dce6de2fb6a95f1bf802" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/api/navtreeindex0.js b/docs/api/navtreeindex0.js @@ -8,50 +8,51 @@ var NAVTREEINDEX0 = "asm_2gbz80_2stdarg_8h.html#af4d89980b2bdeb5b37bbaa323d108bbc":[4,0,0,0,1,1], "asm_2gbz80_2stdarg_8h_source.html":[4,0,0,0,1], "asm_2gbz80_2string_8h.html":[4,0,0,0,2], -"asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a":[4,0,0,0,2,11], -"asm_2gbz80_2string_8h.html#a125908e664d4b65f55a49c8faf14784b":[4,0,0,0,2,1], +"asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a":[4,0,0,0,2,12], "asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f":[4,0,0,0,2,10], -"asm_2gbz80_2string_8h.html#a2db4b83fd1a2889db33d4e0798d33fe2":[4,0,0,0,2,7], -"asm_2gbz80_2string_8h.html#a31e56ae6ad0e9bd961633507ec1aef6c":[4,0,0,0,2,5], -"asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627":[4,0,0,0,2,2], +"asm_2gbz80_2string_8h.html#a476b2b37367c65c6cb36037bfc16b19f":[4,0,0,0,2,5], +"asm_2gbz80_2string_8h.html#a4bc4146b1a053fc4ec10f1377bb21a4f":[4,0,0,0,2,4], +"asm_2gbz80_2string_8h.html#a52701f453c97403ec1b12d286484259b":[4,0,0,0,2,11], +"asm_2gbz80_2string_8h.html#a5e4982e9d2fd4ec328abfda6b1a3f7e5":[4,0,0,0,2,7], +"asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574":[4,0,0,0,2,2], +"asm_2gbz80_2string_8h.html#a7172770a053aa1fe0ab46a97ab43a5fa":[4,0,0,0,2,1], "asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90":[4,0,0,0,2,3], "asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553":[4,0,0,0,2,6], -"asm_2gbz80_2string_8h.html#a8d21cab0520a18493e48dab450288f31":[4,0,0,0,2,0], "asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc":[4,0,0,0,2,9], -"asm_2gbz80_2string_8h.html#af2fcd4c99b3b490e6db059e741676274":[4,0,0,0,2,4], +"asm_2gbz80_2string_8h.html#ada128b5ed545214bb397d1399615ec9e":[4,0,0,0,2,0], "asm_2gbz80_2string_8h.html#af70714f788819be9dbf368a969be23f7":[4,0,0,0,2,8], "asm_2gbz80_2string_8h_source.html":[4,0,0,0,2], "asm_2gbz80_2types_8h.html":[4,0,0,0,3], -"asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e":[4,0,0,0,3,10], -"asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d":[4,0,0,0,3,7], -"asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d":[4,0,0,0,3,9], -"asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb":[4,0,0,0,3,11], -"asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d":[4,0,0,0,3,5], -"asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96":[4,0,0,0,3,0], -"asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b":[4,0,0,0,3,8], -"asm_2gbz80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3":[4,0,0,0,3,4], -"asm_2gbz80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0":[4,0,0,0,3,1], -"asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a":[4,0,0,0,3,6], -"asm_2gbz80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017":[4,0,0,0,3,3], -"asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23":[4,0,0,0,3,12], -"asm_2gbz80_2types_8h.html#ae0233515480e60d29bcc731469976e02":[4,0,0,0,3,2], +"asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e":[4,0,0,0,3,6], +"asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d":[4,0,0,0,3,3], +"asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d":[4,0,0,0,3,5], +"asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf":[4,0,0,0,3,7], +"asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d":[4,0,0,0,3,1], +"asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b":[4,0,0,0,3,4], +"asm_2gbz80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3":[4,0,0,0,3,0], +"asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a":[4,0,0,0,3,2], +"asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f":[4,0,0,0,3,8], "asm_2gbz80_2types_8h_source.html":[4,0,0,0,3], "asm_2types_8h.html":[4,0,0,2], -"asm_2types_8h.html#a0059ccf0a32e1f146ef70ce970908bf6":[4,0,0,2,7], +"asm_2types_8h.html#a0059ccf0a32e1f146ef70ce970908bf6":[4,0,0,2,11], "asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc":[4,0,0,2,1], -"asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95":[4,0,0,2,8], -"asm_2types_8h.html#a332730c89876a91d3c98a6c9a764e23e":[4,0,0,2,14], -"asm_2types_8h.html#a5e2fb030036b42012a298e24aca66071":[4,0,0,2,6], -"asm_2types_8h.html#a6c3850eca7373a470eb6e5a7c6278215":[4,0,0,2,11], -"asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96":[4,0,0,2,2], -"asm_2types_8h.html#a91374712e986ede0145415318d88fbd8":[4,0,0,2,12], -"asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75":[4,0,0,2,10], -"asm_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0":[4,0,0,2,3], -"asm_2types_8h.html#ab61f8ff6a444351a91fc9a67c8e6145f":[4,0,0,2,15], -"asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd":[4,0,0,2,9], -"asm_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017":[4,0,0,2,5], -"asm_2types_8h.html#ad4ab93994d05960e2f96e83b4c45c1cf":[4,0,0,2,13], -"asm_2types_8h.html#ae0233515480e60d29bcc731469976e02":[4,0,0,2,4], +"asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95":[4,0,0,2,12], +"asm_2types_8h.html#a332730c89876a91d3c98a6c9a764e23e":[4,0,0,2,18], +"asm_2types_8h.html#a5e2fb030036b42012a298e24aca66071":[4,0,0,2,10], +"asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e":[4,0,0,2,5], +"asm_2types_8h.html#a6c3850eca7373a470eb6e5a7c6278215":[4,0,0,2,15], +"asm_2types_8h.html#a7a18c4884994b9b520ae535b6d9579d3":[4,0,0,2,3], +"asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96":[4,0,0,2,6], +"asm_2types_8h.html#a91374712e986ede0145415318d88fbd8":[4,0,0,2,16], +"asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75":[4,0,0,2,14], +"asm_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0":[4,0,0,2,7], +"asm_2types_8h.html#ab61f8ff6a444351a91fc9a67c8e6145f":[4,0,0,2,19], +"asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd":[4,0,0,2,13], +"asm_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017":[4,0,0,2,9], +"asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961":[4,0,0,2,2], +"asm_2types_8h.html#ad4ab93994d05960e2f96e83b4c45c1cf":[4,0,0,2,17], +"asm_2types_8h.html#ae0233515480e60d29bcc731469976e02":[4,0,0,2,8], +"asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4":[4,0,0,2,4], "asm_2types_8h_source.html":[4,0,0,2], "asm_2z80_2stdarg_8h.html":[4,0,0,1,1], "asm_2z80_2stdarg_8h.html#a90f5a53cfeaf133c17cd213633060737":[4,0,0,1,1,3], @@ -63,29 +64,28 @@ var NAVTREEINDEX0 = "asm_2z80_2string_8h.html#a11bd144d7d44914099a3aeddf1c8567d":[4,0,0,1,2,1], "asm_2z80_2string_8h.html#a13c88f5a8475fd7de5d81553cb29724a":[4,0,0,1,2,6], "asm_2z80_2string_8h.html#a168580a0ddcb7fe754a711309966c99d":[4,0,0,1,2,8], -"asm_2z80_2string_8h.html#a558614036595364d1ddea9e8a4d6d475":[4,0,0,1,2,4], +"asm_2z80_2string_8h.html#a6491121b0087a8848354d9de3aa2444b":[4,0,0,1,2,4], "asm_2z80_2string_8h.html#a796a9459c4f362e51c00307044c40ed5":[4,0,0,1,2,10], "asm_2z80_2string_8h.html#a81863156a28fd2eefeee6859d768bdb1":[4,0,0,1,2,5], "asm_2z80_2string_8h.html#a854ba725a4e429439ccf93b1f5ad7b3a":[4,0,0,1,2,3], "asm_2z80_2string_8h.html#a861dba2d93de82f087707bb795f5c602":[4,0,0,1,2,9], "asm_2z80_2string_8h.html#abec66c0a707472b9090ea4cd0402d648":[4,0,0,1,2,2], "asm_2z80_2string_8h.html#ac952c3ccec84a458a4d385c5273c1ca0":[4,0,0,1,2,7], +"asm_2z80_2string_8h.html#add78645dba711c548ab16d056fb83b7e":[4,0,0,1,2,11], "asm_2z80_2string_8h.html#af5b1fe1ca3f2aca8ad215962460d15a6":[4,0,0,1,2,0], "asm_2z80_2string_8h_source.html":[4,0,0,1,2], "asm_2z80_2types_8h.html":[4,0,0,1,3], -"asm_2z80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e":[4,0,0,1,3,10], -"asm_2z80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d":[4,0,0,1,3,7], -"asm_2z80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d":[4,0,0,1,3,9], -"asm_2z80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb":[4,0,0,1,3,11], -"asm_2z80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d":[4,0,0,1,3,5], -"asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96":[4,0,0,1,3,0], -"asm_2z80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b":[4,0,0,1,3,8], -"asm_2z80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3":[4,0,0,1,3,4], -"asm_2z80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0":[4,0,0,1,3,1], -"asm_2z80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a":[4,0,0,1,3,6], -"asm_2z80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017":[4,0,0,1,3,3], -"asm_2z80_2types_8h.html#ad666a63cb94701b620ce999f84629d23":[4,0,0,1,3,12], -"asm_2z80_2types_8h.html#ae0233515480e60d29bcc731469976e02":[4,0,0,1,3,2], +"asm_2z80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e":[4,0,0,1,3,8], +"asm_2z80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d":[4,0,0,1,3,5], +"asm_2z80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d":[4,0,0,1,3,7], +"asm_2z80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf":[4,0,0,1,3,9], +"asm_2z80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d":[4,0,0,1,3,3], +"asm_2z80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b":[4,0,0,1,3,6], +"asm_2z80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3":[4,0,0,1,3,2], +"asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a":[4,0,0,1,3,0], +"asm_2z80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a":[4,0,0,1,3,4], +"asm_2z80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f":[4,0,0,1,3,10], +"asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1":[4,0,0,1,3,1], "asm_2z80_2types_8h_source.html":[4,0,0,1,3], "assert_8h.html":[4,0,8], "assert_8h.html#ad21a069a92c53643b2e3eaaa73a742fd":[4,0,8,1], @@ -101,13 +101,6 @@ var NAVTREEINDEX0 = "bcd_8h.html#af3d125e9dbb48d630cf7e2f7d1343ba1":[4,0,2,0,3], "bcd_8h_source.html":[4,0,2,0], "bgb__emu_8h.html":[4,0,2,1], -"bgb__emu_8h.html#a219a24aebe0bddc535ba4abc81cee30c":[4,0,2,1,5], -"bgb__emu_8h.html#a2b2f53166550341e0b1297dd5aa5a2c3":[4,0,2,1,6], -"bgb__emu_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9":[4,0,2,1,3], -"bgb__emu_8h.html#a95c9ae3faadfe6f93a3cac87085b3481":[4,0,2,1,4], -"bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39":[4,0,2,1,0], -"bgb__emu_8h.html#ab43f94064dc523e99c4aefb440e2c3ed":[4,0,2,1,2], -"bgb__emu_8h.html#ab5b05deda52856c84f274fb28578b6ee":[4,0,2,1,1], "bgb__emu_8h_source.html":[4,0,2,1], "cgb_8h.html":[4,0,2,2], "cgb_8h.html#a0a85d8d0da8edc5cce98f48701f903f7":[4,0,2,2,21], @@ -172,82 +165,89 @@ var NAVTREEINDEX0 = "dir_bdfe001eb73b667f67d57fb851301eb1.html":[4,0,2], "dir_ef3b2545113449f8f25e623a543d64e3.html":[4,0,1,0], "docs_coding_guidelines.html":[0,7], -"docs_coding_guidelines.html#autotoc_md43":[0,7,0], -"docs_coding_guidelines.html#autotoc_md44":[0,7,0,0], -"docs_coding_guidelines.html#autotoc_md45":[0,7,0,1], -"docs_coding_guidelines.html#autotoc_md46":[0,7,0,2], -"docs_coding_guidelines.html#autotoc_md47":[0,7,1], -"docs_coding_guidelines.html#autotoc_md48":[0,7,2], -"docs_coding_guidelines.html#autotoc_md49":[0,7,2,0], -"docs_coding_guidelines.html#autotoc_md50":[0,7,2,0,0], -"docs_coding_guidelines.html#autotoc_md51":[0,7,2,1], -"docs_coding_guidelines.html#autotoc_md52":[0,7,2,2], -"docs_coding_guidelines.html#autotoc_md53":[0,7,2,3], -"docs_coding_guidelines.html#autotoc_md54":[0,7,2,4], -"docs_coding_guidelines.html#autotoc_md55":[0,7,2,5], -"docs_coding_guidelines.html#autotoc_md56":[0,7,3], -"docs_coding_guidelines.html#autotoc_md57":[0,7,3,0], -"docs_coding_guidelines.html#autotoc_md58":[0,7,3,1], -"docs_coding_guidelines.html#autotoc_md59":[0,7,3,2], +"docs_coding_guidelines.html#autotoc_md56":[0,7,0], +"docs_coding_guidelines.html#autotoc_md57":[0,7,0,0], +"docs_coding_guidelines.html#autotoc_md58":[0,7,0,1], +"docs_coding_guidelines.html#autotoc_md59":[0,7,0,2], +"docs_coding_guidelines.html#autotoc_md60":[0,7,1], +"docs_coding_guidelines.html#autotoc_md61":[0,7,2], +"docs_coding_guidelines.html#autotoc_md62":[0,7,2,0], +"docs_coding_guidelines.html#autotoc_md63":[0,7,2,0,0], +"docs_coding_guidelines.html#autotoc_md64":[0,7,2,1], +"docs_coding_guidelines.html#autotoc_md65":[0,7,2,2], +"docs_coding_guidelines.html#autotoc_md66":[0,7,2,3], +"docs_coding_guidelines.html#autotoc_md67":[0,7,2,4], +"docs_coding_guidelines.html#autotoc_md68":[0,7,2,5], +"docs_coding_guidelines.html#autotoc_md69":[0,7,3], +"docs_coding_guidelines.html#autotoc_md70":[0,7,3,0], +"docs_coding_guidelines.html#autotoc_md71":[0,7,3,1], +"docs_coding_guidelines.html#autotoc_md72":[0,7,3,2], "docs_example_programs.html":[0,11], -"docs_example_programs.html#autotoc_md122":[0,11,0], -"docs_example_programs.html#autotoc_md123":[0,11,1], -"docs_example_programs.html#autotoc_md124":[0,11,2], -"docs_example_programs.html#autotoc_md125":[0,11,3], -"docs_example_programs.html#autotoc_md126":[0,11,4], -"docs_example_programs.html#autotoc_md127":[0,11,5], -"docs_example_programs.html#autotoc_md128":[0,11,6], -"docs_example_programs.html#autotoc_md129":[0,11,7], -"docs_example_programs.html#autotoc_md130":[0,11,8], -"docs_example_programs.html#autotoc_md131":[0,11,9], -"docs_example_programs.html#autotoc_md132":[0,11,10], -"docs_example_programs.html#autotoc_md133":[0,11,11], -"docs_example_programs.html#autotoc_md134":[0,11,12], -"docs_example_programs.html#autotoc_md135":[0,11,13], -"docs_example_programs.html#autotoc_md136":[0,11,14], -"docs_example_programs.html#autotoc_md137":[0,11,15], -"docs_example_programs.html#autotoc_md138":[0,11,16], -"docs_example_programs.html#autotoc_md139":[0,11,17], -"docs_example_programs.html#autotoc_md140":[0,11,18], -"docs_example_programs.html#autotoc_md141":[0,11,19], -"docs_example_programs.html#autotoc_md142":[0,11,20], -"docs_example_programs.html#autotoc_md143":[0,11,21], -"docs_example_programs.html#autotoc_md144":[0,11,22], +"docs_example_programs.html#autotoc_md139":[0,11,0], +"docs_example_programs.html#autotoc_md140":[0,11,1], +"docs_example_programs.html#autotoc_md141":[0,11,2], +"docs_example_programs.html#autotoc_md142":[0,11,3], +"docs_example_programs.html#autotoc_md143":[0,11,4], +"docs_example_programs.html#autotoc_md144":[0,11,5], +"docs_example_programs.html#autotoc_md145":[0,11,6], +"docs_example_programs.html#autotoc_md146":[0,11,7], +"docs_example_programs.html#autotoc_md147":[0,11,8], +"docs_example_programs.html#autotoc_md148":[0,11,9], +"docs_example_programs.html#autotoc_md149":[0,11,10], +"docs_example_programs.html#autotoc_md150":[0,11,11], +"docs_example_programs.html#autotoc_md151":[0,11,12], +"docs_example_programs.html#autotoc_md152":[0,11,13], +"docs_example_programs.html#autotoc_md153":[0,11,14], +"docs_example_programs.html#autotoc_md154":[0,11,15], +"docs_example_programs.html#autotoc_md155":[0,11,16], +"docs_example_programs.html#autotoc_md156":[0,11,17], +"docs_example_programs.html#autotoc_md157":[0,11,18], +"docs_example_programs.html#autotoc_md158":[0,11,19], +"docs_example_programs.html#autotoc_md159":[0,11,20], +"docs_example_programs.html#autotoc_md160":[0,11,21], +"docs_example_programs.html#autotoc_md161":[0,11,22], "docs_faq.html":[0,12], -"docs_faq.html#autotoc_md145":[0,12,0], -"docs_faq.html#autotoc_md146":[0,12,1], -"docs_faq.html#autotoc_md147":[0,12,2], -"docs_faq.html#autotoc_md148":[0,12,3], +"docs_faq.html#autotoc_md162":[0,12,0], +"docs_faq.html#autotoc_md163":[0,12,1], +"docs_faq.html#autotoc_md164":[0,12,2], +"docs_faq.html#autotoc_md165":[0,12,3], +"docs_faq.html#autotoc_md166":[0,12,4], "docs_getting_started.html":[0,4], -"docs_getting_started.html#autotoc_md10":[0,4,4], -"docs_getting_started.html#autotoc_md11":[0,4,5], -"docs_getting_started.html#autotoc_md12":[0,4,6], -"docs_getting_started.html#autotoc_md13":[0,4,7], -"docs_getting_started.html#autotoc_md14":[0,4,8], -"docs_getting_started.html#autotoc_md15":[0,4,9], +"docs_getting_started.html#autotoc_md10":[0,4,2], +"docs_getting_started.html#autotoc_md11":[0,4,3], +"docs_getting_started.html#autotoc_md12":[0,4,4], +"docs_getting_started.html#autotoc_md13":[0,4,5], +"docs_getting_started.html#autotoc_md14":[0,4,6], +"docs_getting_started.html#autotoc_md15":[0,4,7], +"docs_getting_started.html#autotoc_md16":[0,4,8], +"docs_getting_started.html#autotoc_md17":[0,4,9], +"docs_getting_started.html#autotoc_md18":[0,4,10], +"docs_getting_started.html#autotoc_md19":[0,4,10,0], +"docs_getting_started.html#autotoc_md20":[0,4,10,1], +"docs_getting_started.html#autotoc_md21":[0,4,10,2], +"docs_getting_started.html#autotoc_md22":[0,4,10,3], +"docs_getting_started.html#autotoc_md23":[0,4,10,4], +"docs_getting_started.html#autotoc_md24":[0,4,10,5], +"docs_getting_started.html#autotoc_md25":[0,4,10,6], +"docs_getting_started.html#autotoc_md26":[0,4,10,7], +"docs_getting_started.html#autotoc_md27":[0,4,10,8], +"docs_getting_started.html#autotoc_md28":[0,4,10,9], "docs_getting_started.html#autotoc_md6":[0,4,0], "docs_getting_started.html#autotoc_md7":[0,4,1], -"docs_getting_started.html#autotoc_md8":[0,4,2], -"docs_getting_started.html#autotoc_md9":[0,4,3], +"docs_getting_started.html#autotoc_md8":[0,4,1,0], +"docs_getting_started.html#autotoc_md9":[0,4,1,1], "docs_links_and_tools.html":[0,5], -"docs_links_and_tools.html#autotoc_md16":[0,5,0], -"docs_links_and_tools.html#autotoc_md17":[0,5,1], -"docs_links_and_tools.html#autotoc_md18":[0,5,2], -"docs_links_and_tools.html#autotoc_md19":[0,5,3], -"docs_links_and_tools.html#autotoc_md20":[0,5,4], -"docs_links_and_tools.html#autotoc_md21":[0,5,5], -"docs_links_and_tools.html#autotoc_md22":[0,5,6], -"docs_links_and_tools.html#autotoc_md23":[0,5,7], -"docs_links_and_tools.html#autotoc_md24":[0,5,8], -"docs_links_and_tools.html#autotoc_md25":[0,5,9], -"docs_links_and_tools.html#autotoc_md26":[0,5,10], +"docs_links_and_tools.html#autotoc_md29":[0,5,0], +"docs_links_and_tools.html#autotoc_md30":[0,5,1], +"docs_links_and_tools.html#autotoc_md31":[0,5,2], +"docs_links_and_tools.html#autotoc_md32":[0,5,3], +"docs_links_and_tools.html#autotoc_md33":[0,5,4], +"docs_links_and_tools.html#autotoc_md34":[0,5,5], +"docs_links_and_tools.html#autotoc_md35":[0,5,6], +"docs_links_and_tools.html#autotoc_md36":[0,5,7], +"docs_links_and_tools.html#autotoc_md37":[0,5,8], +"docs_links_and_tools.html#autotoc_md38":[0,5,9], +"docs_links_and_tools.html#autotoc_md39":[0,5,10], "docs_migrating_versions.html":[0,13], -"docs_migrating_versions.html#autotoc_md149":[0,13,0], -"docs_migrating_versions.html#autotoc_md150":[0,13,0,0], -"docs_migrating_versions.html#autotoc_md151":[0,13,0,1], -"docs_migrating_versions.html#autotoc_md152":[0,13,0,2], -"docs_migrating_versions.html#autotoc_md153":[0,13,0,3], -"docs_migrating_versions.html#autotoc_md154":[0,13,0,4], -"docs_migrating_versions.html#autotoc_md155":[0,13,0,5], -"docs_migrating_versions.html#autotoc_md156":[0,13,0,6] +"docs_migrating_versions.html#autotoc_md167":[0,13,0] }; diff --git a/docs/api/navtreeindex1.js b/docs/api/navtreeindex1.js @@ -1,129 +1,142 @@ var NAVTREEINDEX1 = { -"docs_migrating_versions.html#autotoc_md157":[0,13,0,7], -"docs_migrating_versions.html#autotoc_md158":[0,13,0,8], -"docs_migrating_versions.html#autotoc_md159":[0,13,0,9], -"docs_migrating_versions.html#autotoc_md161":[0,13,1], -"docs_migrating_versions.html#autotoc_md162":[0,13,1,0], +"docs_migrating_versions.html#autotoc_md168":[0,13,0,0], +"docs_migrating_versions.html#autotoc_md169":[0,13,0,1], +"docs_migrating_versions.html#autotoc_md170":[0,13,0,2], +"docs_migrating_versions.html#autotoc_md171":[0,13,0,3], +"docs_migrating_versions.html#autotoc_md172":[0,13,0,4], +"docs_migrating_versions.html#autotoc_md173":[0,13,0,5], +"docs_migrating_versions.html#autotoc_md174":[0,13,0,6], +"docs_migrating_versions.html#autotoc_md175":[0,13,0,7], +"docs_migrating_versions.html#autotoc_md176":[0,13,0,8], +"docs_migrating_versions.html#autotoc_md177":[0,13,0,9], +"docs_migrating_versions.html#autotoc_md178":[0,13,0,10], +"docs_migrating_versions.html#autotoc_md180":[0,13,1], +"docs_migrating_versions.html#autotoc_md181":[0,13,1,0], "docs_releases.html":[0,14], -"docs_releases.html#autotoc_md163":[0,14,0], -"docs_releases.html#autotoc_md164":[0,14,0,0], -"docs_releases.html#autotoc_md165":[0,14,0,1], -"docs_releases.html#autotoc_md166":[0,14,0,2], -"docs_releases.html#autotoc_md167":[0,14,0,3], -"docs_releases.html#autotoc_md168":[0,14,0,4], -"docs_releases.html#autotoc_md169":[0,14,0,5], -"docs_releases.html#autotoc_md170":[0,14,0,6], -"docs_releases.html#autotoc_md171":[0,14,0,7], -"docs_releases.html#autotoc_md172":[0,14,0,8], -"docs_releases.html#autotoc_md173":[0,14,0,9], -"docs_releases.html#autotoc_md174":[0,14,0,10], -"docs_releases.html#autotoc_md175":[0,14,1], -"docs_releases.html#autotoc_md176":[0,14,1,0], -"docs_releases.html#autotoc_md177":[0,14,1,1], -"docs_releases.html#autotoc_md178":[0,14,1,2], -"docs_releases.html#autotoc_md179":[0,14,1,3], -"docs_releases.html#autotoc_md180":[0,14,1,4], -"docs_releases.html#autotoc_md181":[0,14,1,5], -"docs_releases.html#autotoc_md182":[0,14,1,6], -"docs_releases.html#autotoc_md183":[0,14,1,7], -"docs_releases.html#autotoc_md184":[0,14,1,8], -"docs_releases.html#autotoc_md185":[0,14,1,9], +"docs_releases.html#autotoc_md182":[0,14,0], +"docs_releases.html#autotoc_md183":[0,14,0,0], +"docs_releases.html#autotoc_md184":[0,14,0,1], +"docs_releases.html#autotoc_md185":[0,14,0,2], +"docs_releases.html#autotoc_md186":[0,14,0,3], +"docs_releases.html#autotoc_md187":[0,14,0,4], +"docs_releases.html#autotoc_md188":[0,14,0,5], +"docs_releases.html#autotoc_md189":[0,14,0,6], +"docs_releases.html#autotoc_md190":[0,14,0,7], +"docs_releases.html#autotoc_md191":[0,14,0,8], +"docs_releases.html#autotoc_md192":[0,14,0,9], +"docs_releases.html#autotoc_md193":[0,14,0,10], +"docs_releases.html#autotoc_md194":[0,14,0,11], +"docs_releases.html#autotoc_md195":[0,14,1], +"docs_releases.html#autotoc_md196":[0,14,1,0], +"docs_releases.html#autotoc_md197":[0,14,1,1], +"docs_releases.html#autotoc_md198":[0,14,1,2], +"docs_releases.html#autotoc_md199":[0,14,1,3], +"docs_releases.html#autotoc_md200":[0,14,1,4], +"docs_releases.html#autotoc_md201":[0,14,1,5], +"docs_releases.html#autotoc_md202":[0,14,1,6], +"docs_releases.html#autotoc_md203":[0,14,1,7], +"docs_releases.html#autotoc_md204":[0,14,1,8], +"docs_releases.html#autotoc_md205":[0,14,1,9], "docs_rombanking_mbcs.html":[0,8], -"docs_rombanking_mbcs.html#autotoc_md60":[0,8,0], -"docs_rombanking_mbcs.html#autotoc_md61":[0,8,0,0], -"docs_rombanking_mbcs.html#autotoc_md62":[0,8,0,1], -"docs_rombanking_mbcs.html#autotoc_md63":[0,8,1], -"docs_rombanking_mbcs.html#autotoc_md64":[0,8,1,0], -"docs_rombanking_mbcs.html#autotoc_md65":[0,8,1,1], -"docs_rombanking_mbcs.html#autotoc_md66":[0,8,1,2], -"docs_rombanking_mbcs.html#autotoc_md67":[0,8,1,3], -"docs_rombanking_mbcs.html#autotoc_md68":[0,8,1,4], -"docs_rombanking_mbcs.html#autotoc_md69":[0,8,1,4,0], -"docs_rombanking_mbcs.html#autotoc_md70":[0,8,1,4,1], -"docs_rombanking_mbcs.html#autotoc_md71":[0,8,1,5], -"docs_rombanking_mbcs.html#autotoc_md72":[0,8,1,6], -"docs_rombanking_mbcs.html#autotoc_md73":[0,8,1,7], -"docs_rombanking_mbcs.html#autotoc_md74":[0,8,1,8], -"docs_rombanking_mbcs.html#autotoc_md75":[0,8,1,9], -"docs_rombanking_mbcs.html#autotoc_md76":[0,8,1,10], -"docs_rombanking_mbcs.html#autotoc_md77":[0,8,2], -"docs_rombanking_mbcs.html#autotoc_md78":[0,8,3], -"docs_rombanking_mbcs.html#autotoc_md79":[0,8,4], -"docs_rombanking_mbcs.html#autotoc_md80":[0,8,4,0], -"docs_rombanking_mbcs.html#autotoc_md81":[0,8,5], +"docs_rombanking_mbcs.html#autotoc_md73":[0,8,0], +"docs_rombanking_mbcs.html#autotoc_md74":[0,8,0,0], +"docs_rombanking_mbcs.html#autotoc_md75":[0,8,0,1], +"docs_rombanking_mbcs.html#autotoc_md76":[0,8,1], +"docs_rombanking_mbcs.html#autotoc_md77":[0,8,1,0], +"docs_rombanking_mbcs.html#autotoc_md78":[0,8,1,1], +"docs_rombanking_mbcs.html#autotoc_md79":[0,8,1,2], +"docs_rombanking_mbcs.html#autotoc_md80":[0,8,1,3], +"docs_rombanking_mbcs.html#autotoc_md81":[0,8,1,4], +"docs_rombanking_mbcs.html#autotoc_md82":[0,8,1,4,0], +"docs_rombanking_mbcs.html#autotoc_md83":[0,8,1,4,1], +"docs_rombanking_mbcs.html#autotoc_md84":[0,8,1,5], +"docs_rombanking_mbcs.html#autotoc_md85":[0,8,1,6], +"docs_rombanking_mbcs.html#autotoc_md86":[0,8,1,7], +"docs_rombanking_mbcs.html#autotoc_md87":[0,8,1,8], +"docs_rombanking_mbcs.html#autotoc_md88":[0,8,1,9], +"docs_rombanking_mbcs.html#autotoc_md89":[0,8,1,10], +"docs_rombanking_mbcs.html#autotoc_md90":[0,8,2], +"docs_rombanking_mbcs.html#autotoc_md91":[0,8,3], +"docs_rombanking_mbcs.html#autotoc_md92":[0,8,4], +"docs_rombanking_mbcs.html#autotoc_md93":[0,8,4,0], +"docs_rombanking_mbcs.html#autotoc_md94":[0,8,5], "docs_supported_consoles.html":[0,9], -"docs_supported_consoles.html#autotoc_md102":[0,9,0], -"docs_supported_consoles.html#autotoc_md103":[0,9,1], -"docs_supported_consoles.html#autotoc_md104":[0,9,1,0], -"docs_supported_consoles.html#autotoc_md105":[0,9,1,1], -"docs_supported_consoles.html#autotoc_md106":[0,9,1,2], -"docs_supported_consoles.html#autotoc_md107":[0,9,2], -"docs_supported_consoles.html#autotoc_md108":[0,9,2,0], -"docs_supported_consoles.html#autotoc_md109":[0,9,2,1], -"docs_supported_consoles.html#autotoc_md110":[0,9,3], -"docs_supported_consoles.html#autotoc_md111":[0,9,4], -"docs_supported_consoles.html#autotoc_md112":[0,9,5], -"docs_supported_consoles.html#autotoc_md113":[0,9,5,0], -"docs_supported_consoles.html#autotoc_md114":[0,9,5,1], -"docs_supported_consoles.html#autotoc_md115":[0,9,6], -"docs_supported_consoles.html#autotoc_md116":[0,9,6,0], -"docs_supported_consoles.html#autotoc_md117":[0,9,6,0,0], -"docs_supported_consoles.html#autotoc_md118":[0,9,6,0,1], -"docs_supported_consoles.html#autotoc_md119":[0,9,6,0,2], -"docs_supported_consoles.html#autotoc_md120":[0,9,7], -"docs_supported_consoles.html#autotoc_md121":[0,9,7,0], +"docs_supported_consoles.html#autotoc_md116":[0,9,0], +"docs_supported_consoles.html#autotoc_md117":[0,9,1], +"docs_supported_consoles.html#autotoc_md118":[0,9,1,0], +"docs_supported_consoles.html#autotoc_md119":[0,9,1,1], +"docs_supported_consoles.html#autotoc_md120":[0,9,1,2], +"docs_supported_consoles.html#autotoc_md121":[0,9,2], +"docs_supported_consoles.html#autotoc_md122":[0,9,2,0], +"docs_supported_consoles.html#autotoc_md123":[0,9,2,1], +"docs_supported_consoles.html#autotoc_md124":[0,9,3], +"docs_supported_consoles.html#autotoc_md125":[0,9,4], +"docs_supported_consoles.html#autotoc_md126":[0,9,4,0], +"docs_supported_consoles.html#autotoc_md127":[0,9,5], +"docs_supported_consoles.html#autotoc_md128":[0,9,5,0], +"docs_supported_consoles.html#autotoc_md129":[0,9,5,1], +"docs_supported_consoles.html#autotoc_md130":[0,9,6], +"docs_supported_consoles.html#autotoc_md131":[0,9,6,0], +"docs_supported_consoles.html#autotoc_md132":[0,9,7], +"docs_supported_consoles.html#autotoc_md133":[0,9,7,0], +"docs_supported_consoles.html#autotoc_md134":[0,9,7,0,0], +"docs_supported_consoles.html#autotoc_md135":[0,9,7,0,1], +"docs_supported_consoles.html#autotoc_md136":[0,9,7,0,2], +"docs_supported_consoles.html#autotoc_md137":[0,9,8], +"docs_supported_consoles.html#autotoc_md138":[0,9,8,0], "docs_toolchain.html":[0,10], "docs_toolchain.html#Makefiles":[0,10,3,0], -"docs_toolchain.html#autotoc_md100":[0,10,5,1,0,2], -"docs_toolchain.html#autotoc_md101":[0,10,5,1,0,3], -"docs_toolchain.html#autotoc_md82":[0,10,0], -"docs_toolchain.html#autotoc_md83":[0,10,1], -"docs_toolchain.html#autotoc_md84":[0,10,2], -"docs_toolchain.html#autotoc_md85":[0,10,3], -"docs_toolchain.html#autotoc_md86":[0,10,4], -"docs_toolchain.html#autotoc_md87":[0,10,4,0], -"docs_toolchain.html#autotoc_md88":[0,10,4,1], -"docs_toolchain.html#autotoc_md89":[0,10,4,2], -"docs_toolchain.html#autotoc_md90":[0,10,4,3], -"docs_toolchain.html#autotoc_md91":[0,10,4,4], -"docs_toolchain.html#autotoc_md92":[0,10,4,5], -"docs_toolchain.html#autotoc_md93":[0,10,4,6], -"docs_toolchain.html#autotoc_md94":[0,10,5], -"docs_toolchain.html#autotoc_md95":[0,10,5,0], -"docs_toolchain.html#autotoc_md96":[0,10,5,1], -"docs_toolchain.html#autotoc_md97":[0,10,5,1,0], -"docs_toolchain.html#autotoc_md98":[0,10,5,1,0,0], -"docs_toolchain.html#autotoc_md99":[0,10,5,1,0,1], +"docs_toolchain.html#autotoc_md100":[0,10,4,0], +"docs_toolchain.html#autotoc_md101":[0,10,4,1], +"docs_toolchain.html#autotoc_md102":[0,10,4,2], +"docs_toolchain.html#autotoc_md103":[0,10,4,3], +"docs_toolchain.html#autotoc_md104":[0,10,4,4], +"docs_toolchain.html#autotoc_md105":[0,10,4,5], +"docs_toolchain.html#autotoc_md106":[0,10,4,6], +"docs_toolchain.html#autotoc_md107":[0,10,5], +"docs_toolchain.html#autotoc_md108":[0,10,5,0], +"docs_toolchain.html#autotoc_md109":[0,10,5,1], +"docs_toolchain.html#autotoc_md110":[0,10,5,1,0], +"docs_toolchain.html#autotoc_md111":[0,10,5,1,0,0], +"docs_toolchain.html#autotoc_md112":[0,10,5,1,0,1], +"docs_toolchain.html#autotoc_md113":[0,10,5,1,0,2], +"docs_toolchain.html#autotoc_md114":[0,10,5,1,0,3], +"docs_toolchain.html#autotoc_md115":[0,10,5,1,0,4], +"docs_toolchain.html#autotoc_md95":[0,10,0], +"docs_toolchain.html#autotoc_md96":[0,10,1], +"docs_toolchain.html#autotoc_md97":[0,10,2], +"docs_toolchain.html#autotoc_md98":[0,10,3], +"docs_toolchain.html#autotoc_md99":[0,10,4], "docs_toolchain_settings.html":[0,15], -"docs_toolchain_settings.html#autotoc_md186":[0,15,0], -"docs_toolchain_settings.html#autotoc_md187":[0,15,1], -"docs_toolchain_settings.html#autotoc_md188":[0,15,2], -"docs_toolchain_settings.html#autotoc_md189":[0,15,3], -"docs_toolchain_settings.html#autotoc_md190":[0,15,4], -"docs_toolchain_settings.html#autotoc_md191":[0,15,5], -"docs_toolchain_settings.html#autotoc_md192":[0,15,6], -"docs_toolchain_settings.html#autotoc_md193":[0,15,7], -"docs_toolchain_settings.html#autotoc_md194":[0,15,8], -"docs_toolchain_settings.html#autotoc_md195":[0,15,9], -"docs_toolchain_settings.html#autotoc_md196":[0,15,10], +"docs_toolchain_settings.html#autotoc_md206":[0,15,0], +"docs_toolchain_settings.html#autotoc_md207":[0,15,1], +"docs_toolchain_settings.html#autotoc_md208":[0,15,2], +"docs_toolchain_settings.html#autotoc_md209":[0,15,3], +"docs_toolchain_settings.html#autotoc_md210":[0,15,4], +"docs_toolchain_settings.html#autotoc_md211":[0,15,5], +"docs_toolchain_settings.html#autotoc_md212":[0,15,6], +"docs_toolchain_settings.html#autotoc_md213":[0,15,7], +"docs_toolchain_settings.html#autotoc_md214":[0,15,8], +"docs_toolchain_settings.html#autotoc_md215":[0,15,9], +"docs_toolchain_settings.html#autotoc_md216":[0,15,10], "docs_using_gbdk.html":[0,6], -"docs_using_gbdk.html#autotoc_md27":[0,6,0], -"docs_using_gbdk.html#autotoc_md28":[0,6,0,0], -"docs_using_gbdk.html#autotoc_md29":[0,6,0,1], -"docs_using_gbdk.html#autotoc_md30":[0,6,0,2], -"docs_using_gbdk.html#autotoc_md31":[0,6,0,3], -"docs_using_gbdk.html#autotoc_md32":[0,6,1], -"docs_using_gbdk.html#autotoc_md33":[0,6,1,0], -"docs_using_gbdk.html#autotoc_md34":[0,6,1,1], -"docs_using_gbdk.html#autotoc_md35":[0,6,1,2], -"docs_using_gbdk.html#autotoc_md36":[0,6,2], -"docs_using_gbdk.html#autotoc_md37":[0,6,3], -"docs_using_gbdk.html#autotoc_md38":[0,6,3,0], -"docs_using_gbdk.html#autotoc_md39":[0,6,3,1], -"docs_using_gbdk.html#autotoc_md40":[0,6,4], -"docs_using_gbdk.html#autotoc_md41":[0,6,5], -"docs_using_gbdk.html#autotoc_md42":[0,6,5,0], +"docs_using_gbdk.html#autotoc_md40":[0,6,0], +"docs_using_gbdk.html#autotoc_md41":[0,6,0,0], +"docs_using_gbdk.html#autotoc_md42":[0,6,0,1], +"docs_using_gbdk.html#autotoc_md43":[0,6,0,2], +"docs_using_gbdk.html#autotoc_md44":[0,6,0,3], +"docs_using_gbdk.html#autotoc_md45":[0,6,1], +"docs_using_gbdk.html#autotoc_md46":[0,6,1,0], +"docs_using_gbdk.html#autotoc_md47":[0,6,1,1], +"docs_using_gbdk.html#autotoc_md48":[0,6,1,2], +"docs_using_gbdk.html#autotoc_md49":[0,6,2], +"docs_using_gbdk.html#autotoc_md50":[0,6,3], +"docs_using_gbdk.html#autotoc_md51":[0,6,3,0], +"docs_using_gbdk.html#autotoc_md52":[0,6,3,1], +"docs_using_gbdk.html#autotoc_md53":[0,6,4], +"docs_using_gbdk.html#autotoc_md54":[0,6,5], +"docs_using_gbdk.html#autotoc_md55":[0,6,5,0], "drawing_8h.html":[4,0,2,4], "drawing_8h.html#a08cbc66092284f7da94279f986a0aae9":[4,0,2,4,13], "drawing_8h.html#a0ffe2221c8690dc80b5f9553474dd096":[4,0,2,4,7], @@ -155,6 +168,22 @@ var NAVTREEINDEX1 = "drawing_8h.html#afe0ad8959a2867c4b60829d065660f1b":[4,0,2,4,22], "drawing_8h.html#afeb7c0a887fe3d18659175de77a787a5":[4,0,2,4,15], "drawing_8h_source.html":[4,0,2,4], +"emu__debug_8h.html":[4,0,2,5], +"emu__debug_8h.html#a1e2adc0111203ce0f551bcb1d99395df":[4,0,2,5,12], +"emu__debug_8h.html#a47c147586d9a21282ce72a83947508e9":[4,0,2,5,8], +"emu__debug_8h.html#a5359c3e6ddab89f41f1de770cc3640d4":[4,0,2,5,2], +"emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557":[4,0,2,5,0], +"emu__debug_8h.html#a586ce1ddfba9c35726887ca31f933963":[4,0,2,5,13], +"emu__debug_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9":[4,0,2,5,7], +"emu__debug_8h.html#a892ddea0cd396141c1ae05e384303cbf":[4,0,2,5,9], +"emu__debug_8h.html#a95c9ae3faadfe6f93a3cac87085b3481":[4,0,2,5,11], +"emu__debug_8h.html#a9e856b4691d63bb41c5148b9097bd2bb":[4,0,2,5,10], +"emu__debug_8h.html#aabd48c83af8f69ed624bb8a83347fa39":[4,0,2,5,1], +"emu__debug_8h.html#ab43f94064dc523e99c4aefb440e2c3ed":[4,0,2,5,5], +"emu__debug_8h.html#ab5b05deda52856c84f274fb28578b6ee":[4,0,2,5,3], +"emu__debug_8h.html#acce78126775a7ca3c862459e28203aba":[4,0,2,5,4], +"emu__debug_8h.html#ad1ca656789d7d285b352afeaa4cc56bd":[4,0,2,5,6], +"emu__debug_8h_source.html":[4,0,2,5], "far__ptr_8h.html":[4,0,3,2], "far__ptr_8h.html#a048cfacb5d37ab758a74f44e86c1dbc6":[4,0,3,2,4], "far__ptr_8h.html#a0c227677a96f9bf7e84a90922f2f8708":[4,0,3,2,1], @@ -184,70 +213,41 @@ var NAVTREEINDEX1 = "font_8h_source.html":[4,0,3,3], "functions.html":[3,2,0], "functions_vars.html":[3,2,1], -"gb_2gbdecompress_8h.html":[4,0,2,6], -"gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a":[4,0,2,6,0], -"gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a":[4,0,2,6,4], -"gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d":[4,0,2,6,3], -"gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544":[4,0,2,6,1], -"gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78":[4,0,2,6,2], -"gb_2gbdecompress_8h_source.html":[4,0,2,6], -"gb_2hardware_8h.html":[4,0,2,7], -"gb_2hardware_8h.html#a014f3a9d7ce8f8026c9ac6c0410bb099":[4,0,2,7,217], -"gb_2hardware_8h.html#a01c768b60853c8eecdefc2cedfc8d672":[4,0,2,7,239], -"gb_2hardware_8h.html#a03aaffc30c9ff81d86502c1f6b3dbaea":[4,0,2,7,32], -"gb_2hardware_8h.html#a04c340d91842e8ee2b93922c2bcf39a4":[4,0,2,7,231], -"gb_2hardware_8h.html#a04f9a36ab04334fcd21d2f50c125d5d0":[4,0,2,7,219], -"gb_2hardware_8h.html#a056b789889ecf0691e54f721e015b873":[4,0,2,7,150], -"gb_2hardware_8h.html#a07863a535e0aaa11b73608d7430dbc0a":[4,0,2,7,19], -"gb_2hardware_8h.html#a092b2e33a050ac6ced4e897498ce9a2f":[4,0,2,7,143], -"gb_2hardware_8h.html#a09a4ae65605182c8b694197d3aea695e":[4,0,2,7,208], -"gb_2hardware_8h.html#a09fa1caa91313e57dc2c3dd354104b00":[4,0,2,7,133], -"gb_2hardware_8h.html#a0a6cc6543aa06c12b87e235c3d5da4ff":[4,0,2,7,151], -"gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44":[4,0,2,7,2], -"gb_2hardware_8h.html#a0dc3f482441d4e13828aebdf396c3be9":[4,0,2,7,59], -"gb_2hardware_8h.html#a0fb715973ee3edd1b525eb7f503e3b2a":[4,0,2,7,221], -"gb_2hardware_8h.html#a12ba1f984c585c57163f214f8829d569":[4,0,2,7,15], -"gb_2hardware_8h.html#a12f01b21d08249800571c6e0f26beeae":[4,0,2,7,43], -"gb_2hardware_8h.html#a134e3f274c1e607b8c5ff5724860e288":[4,0,2,7,212], -"gb_2hardware_8h.html#a13a5f08b9aae68f8fa57a8aa7705b732":[4,0,2,7,81], -"gb_2hardware_8h.html#a13d5cddfb4a05fa49fc794aeea675c7b":[4,0,2,7,186], -"gb_2hardware_8h.html#a13e230a0d2979e0b9ca9582f6010162b":[4,0,2,7,47], -"gb_2hardware_8h.html#a13f3e89f7b92258d825292e5058815c7":[4,0,2,7,257], -"gb_2hardware_8h.html#a1452fbc14f59076347c4cd4864fbeb51":[4,0,2,7,86], -"gb_2hardware_8h.html#a1454ad6d5d04273eae1288af86deadac":[4,0,2,7,267], -"gb_2hardware_8h.html#a1491fc03ed7f02e7309cc7b0c48b6c8a":[4,0,2,7,77], -"gb_2hardware_8h.html#a14eddd3d53d8e649f1754bd455b4863d":[4,0,2,7,87], -"gb_2hardware_8h.html#a1686d2457eb4ad834bb75fb81c86aed8":[4,0,2,7,271], -"gb_2hardware_8h.html#a178a111ffe8eb38a2875fcaf3bfeba3f":[4,0,2,7,78], -"gb_2hardware_8h.html#a194e3432f1e4d5d23d4ea096cef783e5":[4,0,2,7,166], -"gb_2hardware_8h.html#a19b35b0b21101a2782ce5bde4125db04":[4,0,2,7,30], -"gb_2hardware_8h.html#a19dce313b521aad75756abfc19bc9e78":[4,0,2,7,21], -"gb_2hardware_8h.html#a1b424d8f8a7438d19261401a843263d2":[4,0,2,7,74], -"gb_2hardware_8h.html#a1bfe644bf343abd66c790c2758e7c0bb":[4,0,2,7,55], -"gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850":[4,0,2,7,259], -"gb_2hardware_8h.html#a1fc8ff37ffe1c431364e1ef7c3961b30":[4,0,2,7,270], -"gb_2hardware_8h.html#a21a6e935e8a3ac591905429874ccbe84":[4,0,2,7,29], -"gb_2hardware_8h.html#a222d5e3cb366d5e720a832fc68ce3a13":[4,0,2,7,130], -"gb_2hardware_8h.html#a22b6b835de9ee737be73c4d252aac87c":[4,0,2,7,178], -"gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2":[4,0,2,7,251], -"gb_2hardware_8h.html#a244ee6d8f6144be9b0f94602eddb6239":[4,0,2,7,238], -"gb_2hardware_8h.html#a281569182e3edb53b7c78b95a4082971":[4,0,2,7,36], -"gb_2hardware_8h.html#a28368838b9e270c301361a5f39c97154":[4,0,2,7,155], -"gb_2hardware_8h.html#a28fa1ca08ef1c8ed97280bc5e60bdd99":[4,0,2,7,269], -"gb_2hardware_8h.html#a298bccebea918c63aed36c811e02333d":[4,0,2,7,49], -"gb_2hardware_8h.html#a2a14470dca10f69c092d817a433383bd":[4,0,2,7,126], -"gb_2hardware_8h.html#a2a1acb31d2869997315be64bff66d24b":[4,0,2,7,139], -"gb_2hardware_8h.html#a2b3637bad69da368c3d7136632963fb7":[4,0,2,7,105], -"gb_2hardware_8h.html#a2ba607e94d30ae8eeb1933c9dabbf68d":[4,0,2,7,68], -"gb_2hardware_8h.html#a2e2a68c3274055a06cf38d00f007d4bf":[4,0,2,7,85], -"gb_2hardware_8h.html#a2eec77ca1b8730b410a7075c5a9c189e":[4,0,2,7,161], -"gb_2hardware_8h.html#a2f83a5f5daa6418c77756e32923aef5a":[4,0,2,7,210], -"gb_2hardware_8h.html#a2fe41a6e0abb211cc00a8fca90543966":[4,0,2,7,248], -"gb_2hardware_8h.html#a309d26015522c2de1cff39ba6e6e6a04":[4,0,2,7,66], -"gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0":[4,0,2,7,260], -"gb_2hardware_8h.html#a31d1d4441749e90c2895fc8750b2234c":[4,0,2,7,50], -"gb_2hardware_8h.html#a3205df57bc17c35df2924296341c6c69":[4,0,2,7,132], -"gb_2hardware_8h.html#a32b7b11b2ca90ffb52ce19e7279ea973":[4,0,2,7,31], -"gb_2hardware_8h.html#a338ec378453b4457efdb3008978c0f28":[4,0,2,7,100], -"gb_2hardware_8h.html#a367f10d1cfcc04fdbfcb88f09b230bd3":[4,0,2,7,167] +"gb_2gbdecompress_8h.html":[4,0,2,7], +"gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a":[4,0,2,7,4], +"gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2":[4,0,2,7,0], +"gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284":[4,0,2,7,2], +"gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff":[4,0,2,7,3], +"gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8":[4,0,2,7,1], +"gb_2gbdecompress_8h_source.html":[4,0,2,7], +"gb_2hardware_8h.html":[4,0,2,8], +"gb_2hardware_8h.html#a014f3a9d7ce8f8026c9ac6c0410bb099":[4,0,2,8,217], +"gb_2hardware_8h.html#a01c768b60853c8eecdefc2cedfc8d672":[4,0,2,8,239], +"gb_2hardware_8h.html#a03aaffc30c9ff81d86502c1f6b3dbaea":[4,0,2,8,32], +"gb_2hardware_8h.html#a04c340d91842e8ee2b93922c2bcf39a4":[4,0,2,8,231], +"gb_2hardware_8h.html#a04f9a36ab04334fcd21d2f50c125d5d0":[4,0,2,8,219], +"gb_2hardware_8h.html#a056b789889ecf0691e54f721e015b873":[4,0,2,8,150], +"gb_2hardware_8h.html#a07863a535e0aaa11b73608d7430dbc0a":[4,0,2,8,19], +"gb_2hardware_8h.html#a092b2e33a050ac6ced4e897498ce9a2f":[4,0,2,8,143], +"gb_2hardware_8h.html#a09a4ae65605182c8b694197d3aea695e":[4,0,2,8,208], +"gb_2hardware_8h.html#a09fa1caa91313e57dc2c3dd354104b00":[4,0,2,8,133], +"gb_2hardware_8h.html#a0a6cc6543aa06c12b87e235c3d5da4ff":[4,0,2,8,151], +"gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44":[4,0,2,8,2], +"gb_2hardware_8h.html#a0dc3f482441d4e13828aebdf396c3be9":[4,0,2,8,59], +"gb_2hardware_8h.html#a0fb715973ee3edd1b525eb7f503e3b2a":[4,0,2,8,221], +"gb_2hardware_8h.html#a12ba1f984c585c57163f214f8829d569":[4,0,2,8,15], +"gb_2hardware_8h.html#a12f01b21d08249800571c6e0f26beeae":[4,0,2,8,43], +"gb_2hardware_8h.html#a134e3f274c1e607b8c5ff5724860e288":[4,0,2,8,212], +"gb_2hardware_8h.html#a13a5f08b9aae68f8fa57a8aa7705b732":[4,0,2,8,81], +"gb_2hardware_8h.html#a13d5cddfb4a05fa49fc794aeea675c7b":[4,0,2,8,186], +"gb_2hardware_8h.html#a13e230a0d2979e0b9ca9582f6010162b":[4,0,2,8,47], +"gb_2hardware_8h.html#a13f3e89f7b92258d825292e5058815c7":[4,0,2,8,258], +"gb_2hardware_8h.html#a1452fbc14f59076347c4cd4864fbeb51":[4,0,2,8,86], +"gb_2hardware_8h.html#a1454ad6d5d04273eae1288af86deadac":[4,0,2,8,268], +"gb_2hardware_8h.html#a1491fc03ed7f02e7309cc7b0c48b6c8a":[4,0,2,8,77], +"gb_2hardware_8h.html#a14eddd3d53d8e649f1754bd455b4863d":[4,0,2,8,87], +"gb_2hardware_8h.html#a1686d2457eb4ad834bb75fb81c86aed8":[4,0,2,8,272], +"gb_2hardware_8h.html#a178a111ffe8eb38a2875fcaf3bfeba3f":[4,0,2,8,78], +"gb_2hardware_8h.html#a194e3432f1e4d5d23d4ea096cef783e5":[4,0,2,8,166], +"gb_2hardware_8h.html#a19b35b0b21101a2782ce5bde4125db04":[4,0,2,8,30] }; diff --git a/docs/api/navtreeindex2.js b/docs/api/navtreeindex2.js @@ -1,253 +1,253 @@ var NAVTREEINDEX2 = { -"gb_2hardware_8h.html#a37c8ee0ef95132fd22cd426868510834":[4,0,2,7,141], -"gb_2hardware_8h.html#a393866ca405b1023eec0e784bb88b026":[4,0,2,7,175], -"gb_2hardware_8h.html#a39e5a5b9afd2c2ca78de4aba7ccd071c":[4,0,2,7,224], -"gb_2hardware_8h.html#a3a2e883779980c1c37e780f47da4dd69":[4,0,2,7,266], -"gb_2hardware_8h.html#a3b0bf7449b517b3cda2a89428db6deb9":[4,0,2,7,118], -"gb_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8":[4,0,2,7,1], -"gb_2hardware_8h.html#a3b53105cc5be896b48794ba82d2aeb4c":[4,0,2,7,101], -"gb_2hardware_8h.html#a3b8d7fece663511d5778136a5ca0070b":[4,0,2,7,162], -"gb_2hardware_8h.html#a3c22f7324f09a14d666f9b21a9742789":[4,0,2,7,140], -"gb_2hardware_8h.html#a3cd1c1a1291d43dd43b181ff07f8b0a7":[4,0,2,7,177], -"gb_2hardware_8h.html#a3d30d4797321b403cd713d727fa3db6c":[4,0,2,7,230], -"gb_2hardware_8h.html#a3dbfd7c3f4a62774fbc98caa73899e96":[4,0,2,7,149], -"gb_2hardware_8h.html#a4225227c2812c3e3e500441f5e90772a":[4,0,2,7,123], -"gb_2hardware_8h.html#a428894ca3fd0bb4527b03bed551ff04c":[4,0,2,7,274], -"gb_2hardware_8h.html#a44f550e55e7154388748e7c330929c63":[4,0,2,7,28], -"gb_2hardware_8h.html#a472e3b0909a2f0878f643e9968b871ef":[4,0,2,7,214], -"gb_2hardware_8h.html#a47b5bc2ec6afaf1d50a8db5f24415922":[4,0,2,7,102], -"gb_2hardware_8h.html#a4889bb882e956665069212c4c8aa623b":[4,0,2,7,96], -"gb_2hardware_8h.html#a491dc081eae8c81e7ca88075ab806291":[4,0,2,7,195], -"gb_2hardware_8h.html#a4a73d9c15883b576fa0a5b4cc4ac2d08":[4,0,2,7,34], -"gb_2hardware_8h.html#a4d682ed7a6158c5ba10afec739b17a8a":[4,0,2,7,197], -"gb_2hardware_8h.html#a4f1816144e0561ff4db1ad24f4ce847a":[4,0,2,7,147], -"gb_2hardware_8h.html#a4fbcc4798c0721efcf4462c04a4566c1":[4,0,2,7,124], -"gb_2hardware_8h.html#a4ff8c8a7acb74ba54043596110091605":[4,0,2,7,182], -"gb_2hardware_8h.html#a5011196496193d80fc58cdb632fbab24":[4,0,2,7,134], -"gb_2hardware_8h.html#a509a5d0f138b40830cb447a862573be5":[4,0,2,7,226], -"gb_2hardware_8h.html#a51594891b388d60d6917a6ff64542b66":[4,0,2,7,16], -"gb_2hardware_8h.html#a519e327cac96f68a8ca9b77e0343672f":[4,0,2,7,191], -"gb_2hardware_8h.html#a521466a7650d60b464991ebf68112114":[4,0,2,7,45], -"gb_2hardware_8h.html#a52593a64863d51fbf5860b0d31448972":[4,0,2,7,243], -"gb_2hardware_8h.html#a52e58c151c5910792e75f7eea7f7ddbb":[4,0,2,7,164], -"gb_2hardware_8h.html#a52e850e75483f64ca070a33ee4877d47":[4,0,2,7,157], -"gb_2hardware_8h.html#a534fa3f905e37ac434537af23847d89a":[4,0,2,7,58], -"gb_2hardware_8h.html#a557833cc1671aa0bd71f33766b4e0f24":[4,0,2,7,241], -"gb_2hardware_8h.html#a55ab8a9eb853e9bcfd72a2bf7e2c524b":[4,0,2,7,26], -"gb_2hardware_8h.html#a55c4815aea004a9951606db7e7a1f0d7":[4,0,2,7,116], -"gb_2hardware_8h.html#a57a94790cda8101a29c0d20086770f1b":[4,0,2,7,265], -"gb_2hardware_8h.html#a582ece3b5f6cc49d47b2ad3e16d47374":[4,0,2,7,80], -"gb_2hardware_8h.html#a588d681dc33d9da3a899863b42980e18":[4,0,2,7,17], -"gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae":[4,0,2,7,254], -"gb_2hardware_8h.html#a5b683ff804221c6fc721b996fce65bda":[4,0,2,7,113], -"gb_2hardware_8h.html#a5c97ffb0ee0a345ad31797da26410b5a":[4,0,2,7,12], -"gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a":[4,0,2,7,262], -"gb_2hardware_8h.html#a5dc4d1ee47fe269761fe8fc46d56dabb":[4,0,2,7,190], -"gb_2hardware_8h.html#a5f2da0d8200f44b6fd694c4a2bea820e":[4,0,2,7,220], -"gb_2hardware_8h.html#a627044263543a1074dc9f4570aa8c915":[4,0,2,7,72], -"gb_2hardware_8h.html#a64dd59016e4f0e78672962fbc553a4b4":[4,0,2,7,215], -"gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b":[4,0,2,7,249], -"gb_2hardware_8h.html#a659173ac2c8da7fd04bc77973eb95256":[4,0,2,7,225], -"gb_2hardware_8h.html#a6676e579a5e421adfb3d3e2d470d9ab6":[4,0,2,7,235], -"gb_2hardware_8h.html#a668fd555c203361f5e4b835f05243102":[4,0,2,7,205], -"gb_2hardware_8h.html#a6963ef598339e1163d30e57a962e5278":[4,0,2,7,4], -"gb_2hardware_8h.html#a69a43daf29c680b3ab0fbcad3118cd48":[4,0,2,7,82], -"gb_2hardware_8h.html#a6aef42158c90e8025b8341cdea2e3918":[4,0,2,7,89], -"gb_2hardware_8h.html#a6d820a86bd30b531d5df5b27139ae92d":[4,0,2,7,172], -"gb_2hardware_8h.html#a6dd3af1c8e3c66409aa0bc889d98e171":[4,0,2,7,232], -"gb_2hardware_8h.html#a6f5df560b791d2fc086c23f99dd03354":[4,0,2,7,109], -"gb_2hardware_8h.html#a6f6852d0f1d295b03e1230d5d97cb3e9":[4,0,2,7,98], -"gb_2hardware_8h.html#a6fb64712b06118cad702691f2aa18cd4":[4,0,2,7,70], -"gb_2hardware_8h.html#a7030908728e166877fba9065671deb02":[4,0,2,7,211], -"gb_2hardware_8h.html#a704ab20694793ea87aace8bfc29568bc":[4,0,2,7,185], -"gb_2hardware_8h.html#a70db64bdd045a9df09b289fe9b28af22":[4,0,2,7,213], -"gb_2hardware_8h.html#a723eb3e0c2c681a050e9a325e35c25ae":[4,0,2,7,152], -"gb_2hardware_8h.html#a7279430d110acf02fa176d5f427a6491":[4,0,2,7,261], -"gb_2hardware_8h.html#a72a900117cdee0fbec10a278d9de0876":[4,0,2,7,25], -"gb_2hardware_8h.html#a72b78d4d640033770be37d95bf8e1f9d":[4,0,2,7,104], -"gb_2hardware_8h.html#a731588b96fb8cdbeb7e68c089373e6f8":[4,0,2,7,83], -"gb_2hardware_8h.html#a7393f505e4277af40167d72415c46fa5":[4,0,2,7,117], -"gb_2hardware_8h.html#a73c94166161c33c61d63b3e4b5209cd0":[4,0,2,7,203], -"gb_2hardware_8h.html#a74744fb475532fa5d343e0818dcc6f88":[4,0,2,7,184], -"gb_2hardware_8h.html#a750bc82ab34a8929a5bba10f2336abe6":[4,0,2,7,11], -"gb_2hardware_8h.html#a76532f8742d9dd8cb26d2ccfd9c37bbf":[4,0,2,7,268], -"gb_2hardware_8h.html#a7780d3a9b0fcc42499ed2451d7ab2ec5":[4,0,2,7,14], -"gb_2hardware_8h.html#a793b667a76985934545f73268000371a":[4,0,2,7,131], -"gb_2hardware_8h.html#a7accf5feabd95a2d84c72f5915fff837":[4,0,2,7,229], -"gb_2hardware_8h.html#a7bb32ac86e3fbf5f869410ba42620616":[4,0,2,7,234], -"gb_2hardware_8h.html#a7bbcf10e7a2b69127cd2f9e598bf601f":[4,0,2,7,73], -"gb_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec":[4,0,2,7,201], -"gb_2hardware_8h.html#a7c06fa33152a235baf273f1828dfa0a4":[4,0,2,7,160], -"gb_2hardware_8h.html#a7d2c165347d3bb3e3a54fad73e1f363e":[4,0,2,7,22], -"gb_2hardware_8h.html#a7dab7d2ad1bf670875814d3029d54122":[4,0,2,7,168], -"gb_2hardware_8h.html#a7f6c8420831388300bbec13ea4cb57a0":[4,0,2,7,199], -"gb_2hardware_8h.html#a801400d58ab7d862742e43b49fa68c8d":[4,0,2,7,264], -"gb_2hardware_8h.html#a81fb56b6778772f829dab4c534e7749e":[4,0,2,7,196], -"gb_2hardware_8h.html#a820677d593625e8716c3b78f36feb805":[4,0,2,7,176], -"gb_2hardware_8h.html#a82c53e957d31d22c475e1629843bc12d":[4,0,2,7,142], -"gb_2hardware_8h.html#a83e14896ee3ddf2a4201b534d8e5f398":[4,0,2,7,153], -"gb_2hardware_8h.html#a8492c6d9cb38fbb4a2bf9f5caa426578":[4,0,2,7,57], -"gb_2hardware_8h.html#a849d2cff8df2655f86b294466bec40d6":[4,0,2,7,244], -"gb_2hardware_8h.html#a85d8e680d4d40a918b4195d2a4fada2a":[4,0,2,7,236], -"gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f":[4,0,2,7,252], -"gb_2hardware_8h.html#a88cceb86b8168f4c539e9612a81145a6":[4,0,2,7,148], -"gb_2hardware_8h.html#a8a88b504914eed6c0c4d2853689487ba":[4,0,2,7,163], -"gb_2hardware_8h.html#a8b576a1fe1473ac4aff8afecb28035cb":[4,0,2,7,75], -"gb_2hardware_8h.html#a8be2b577af91deed7b8946b500e73319":[4,0,2,7,23], -"gb_2hardware_8h.html#a8cb754b63b073abf30af3fd6f0052832":[4,0,2,7,61], -"gb_2hardware_8h.html#a9120d2c7cd8800e302e76f525d332d6c":[4,0,2,7,56], -"gb_2hardware_8h.html#a9179fd1ba4626627567b9478f691e653":[4,0,2,7,20], -"gb_2hardware_8h.html#a92083741d31c9b2206b403e97124cbdc":[4,0,2,7,122], -"gb_2hardware_8h.html#a921bdc6c640b74c8c41e65f27882c68a":[4,0,2,7,159], -"gb_2hardware_8h.html#a924fdf48f6ad020423f6309055314928":[4,0,2,7,245], -"gb_2hardware_8h.html#a92a063885caf6c6cda665da0309055ec":[4,0,2,7,110], -"gb_2hardware_8h.html#a9534175911f7a54fa550318b275c4cc3":[4,0,2,7,33], -"gb_2hardware_8h.html#a97932e023d96ece4715802b6c2565c43":[4,0,2,7,120], -"gb_2hardware_8h.html#a97ab19d938f05bffbcb4221824c3bfce":[4,0,2,7,91], -"gb_2hardware_8h.html#a9d295bb437953de5ebcb3c12d65743aa":[4,0,2,7,223], -"gb_2hardware_8h.html#a9d555b0c19019150db73ca245ca62a78":[4,0,2,7,79], -"gb_2hardware_8h.html#a9da545164e049ef773128f869daece13":[4,0,2,7,258], -"gb_2hardware_8h.html#a9dff52d03755812d3a5ee7ca971c2e83":[4,0,2,7,183], -"gb_2hardware_8h.html#a9f069f19e8a05d1f1114aaabf531739e":[4,0,2,7,169], -"gb_2hardware_8h.html#aa128832cecec4e609517fe3daf044e5e":[4,0,2,7,273], -"gb_2hardware_8h.html#aa1f66868f63af2af6544e84122de3cc3":[4,0,2,7,99], -"gb_2hardware_8h.html#aa257f1e89f6782714cbc76ffc71d0fe7":[4,0,2,7,62], -"gb_2hardware_8h.html#aa336ca1c8bd29763222fc011a6272bdf":[4,0,2,7,95], -"gb_2hardware_8h.html#aa3cdccfb4b6b42cdee682bdb6e4fc310":[4,0,2,7,71], -"gb_2hardware_8h.html#aa58f52563d21d56e79d422c544eeb13f":[4,0,2,7,170], -"gb_2hardware_8h.html#aa7ce989df75547f190d33cc85dce0187":[4,0,2,7,158], -"gb_2hardware_8h.html#aa8027f47983459c377169f57987b710c":[4,0,2,7,90], -"gb_2hardware_8h.html#aa851dae67d0bb80c17415774558d985f":[4,0,2,7,121], -"gb_2hardware_8h.html#aa8b5c841c97ae090724a910040f8dd2d":[4,0,2,7,35], -"gb_2hardware_8h.html#aa8f5bcd5073aae5948a9647dcb76f779":[4,0,2,7,97], -"gb_2hardware_8h.html#aabac77131d22297a246a3cfb0e443605":[4,0,2,7,60], -"gb_2hardware_8h.html#aad20c4bf5115b40c9118a484808f4b92":[4,0,2,7,8], -"gb_2hardware_8h.html#aad3ccece4257429e82186f7b4d72b220":[4,0,2,7,67], -"gb_2hardware_8h.html#aade9a193ade9ff22ed6f6263d1a3549b":[4,0,2,7,180], -"gb_2hardware_8h.html#aaeb899eb6bd0593ffb4e90a2f762b18f":[4,0,2,7,39], -"gb_2hardware_8h.html#aaed4a07f441ddeecae520e76eb7b7e27":[4,0,2,7,38], -"gb_2hardware_8h.html#aaef0dc6aab2f821ab406fdbc643af48e":[4,0,2,7,276], -"gb_2hardware_8h.html#aaffaea3512173f90b85bae710d40ba6c":[4,0,2,7,144], -"gb_2hardware_8h.html#ab042aa7a7fae75f94d8fb3e08004c797":[4,0,2,7,42], -"gb_2hardware_8h.html#ab04e468d2403bc69f761daa300bb999a":[4,0,2,7,106], -"gb_2hardware_8h.html#ab058c32e4ebf21b3beb06a0d7440e6ad":[4,0,2,7,115], -"gb_2hardware_8h.html#ab0fe74a7c155ae95cbf20bbb5e1bf46b":[4,0,2,7,146], -"gb_2hardware_8h.html#ab16e97796d675205a027b1b28b52956e":[4,0,2,7,263], -"gb_2hardware_8h.html#ab2767d5f8f0ad35d8c8ee0bb3f4c51c3":[4,0,2,7,0], -"gb_2hardware_8h.html#ab28f97eabd5f32d48ea27d97bd5dc64f":[4,0,2,7,246], -"gb_2hardware_8h.html#ab3325578cf7f7f67610353a62aba274e":[4,0,2,7,173], -"gb_2hardware_8h.html#ab6da3e2cdbac1331bef3f6de9c808ab1":[4,0,2,7,240], -"gb_2hardware_8h.html#aba3cbaeca5ad045fb27095c210b661b7":[4,0,2,7,128], -"gb_2hardware_8h.html#aba3d9fb63552bc02ec879696b581adac":[4,0,2,7,242], -"gb_2hardware_8h.html#abb35a844f228403a96e28da7633344e1":[4,0,2,7,41], -"gb_2hardware_8h.html#abba6cc1819ea73d36a389fd99807dac5":[4,0,2,7,53], -"gb_2hardware_8h.html#abc4249f04a9081f45439f61dabf861e5":[4,0,2,7,135], -"gb_2hardware_8h.html#abd820b2f5c18efb43548f64862d38f05":[4,0,2,7,52], -"gb_2hardware_8h.html#abd862604a105aa2475223b06abfa8bfe":[4,0,2,7,165], -"gb_2hardware_8h.html#abf3efd42adced218237283156dbae055":[4,0,2,7,44], -"gb_2hardware_8h.html#ac00b1e90d257b756845da578f4c3f3ba":[4,0,2,7,24], -"gb_2hardware_8h.html#ac112618942cb4719def91693616baaff":[4,0,2,7,92], -"gb_2hardware_8h.html#ac1470febab4adcff88b31a465d480f72":[4,0,2,7,65], -"gb_2hardware_8h.html#ac1c402357ccc5f6c3c451450b30ca959":[4,0,2,7,156], -"gb_2hardware_8h.html#ac1cf31cae6046360271ead6e8b7a6e87":[4,0,2,7,209], -"gb_2hardware_8h.html#ac1e4b66204a5bff207be36fdfedd63d5":[4,0,2,7,111], -"gb_2hardware_8h.html#ac2985dbccb16c4c00381d6fbe9600aff":[4,0,2,7,218], -"gb_2hardware_8h.html#ac429365dce851ca57d8fe4f7c54a1caa":[4,0,2,7,247], -"gb_2hardware_8h.html#ac47b78eb2ffea207a8c7ac643555ba6c":[4,0,2,7,145], -"gb_2hardware_8h.html#ac4cbf03d9c2d64cddaf348e003780cf8":[4,0,2,7,37], -"gb_2hardware_8h.html#ac5b9d1761bb972948fe10637dfaa94a7":[4,0,2,7,206], -"gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0":[4,0,2,7,275], -"gb_2hardware_8h.html#ac75479aa0d34ac4344d80451276e97cc":[4,0,2,7,112], -"gb_2hardware_8h.html#ac826fdb70a043ebb8f1b317b00db6ff3":[4,0,2,7,93], -"gb_2hardware_8h.html#aca2df62463b4c3bc4a291e18f26f4ec5":[4,0,2,7,136], -"gb_2hardware_8h.html#acc45e1a4ea60d8248102a71c1658c5a3":[4,0,2,7,108], -"gb_2hardware_8h.html#acd0b3763f8599ed65e2d060b159bd91c":[4,0,2,7,51], -"gb_2hardware_8h.html#acdbf6b3217f6a5681df94c8b8992d1d6":[4,0,2,7,114], -"gb_2hardware_8h.html#ad07fa5e19e334eee03c2fcb8671b2ed3":[4,0,2,7,171], -"gb_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d":[4,0,2,7,200], -"gb_2hardware_8h.html#ad195d4be68ff54c3926c431fa5511de5":[4,0,2,7,181], -"gb_2hardware_8h.html#ad215dbfc83c9486ead2f28510366f40b":[4,0,2,7,5], -"gb_2hardware_8h.html#ad252264fdcf900e5fbf611f7a45962ed":[4,0,2,7,194], -"gb_2hardware_8h.html#ad2537c13699429afa59a68c6d6598632":[4,0,2,7,119], -"gb_2hardware_8h.html#ad27f428fca89ea6b236ff3aa4769a05e":[4,0,2,7,103], -"gb_2hardware_8h.html#ad2891216d025f44b02350f2ae2612b1e":[4,0,2,7,63], -"gb_2hardware_8h.html#ad3f67013699d0d38c203e4e863c91c41":[4,0,2,7,129], -"gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b":[4,0,2,7,250], -"gb_2hardware_8h.html#ad53dc7f22b99fce195210a95f2749a72":[4,0,2,7,228], -"gb_2hardware_8h.html#ad6f5b0d9ae958dee3d6dfa8f4273ff5a":[4,0,2,7,188], -"gb_2hardware_8h.html#ad859dc62b1df1584ade0cbb822a3e46f":[4,0,2,7,227], -"gb_2hardware_8h.html#ad92f3b2a1cc16700a4660c5821bcb15d":[4,0,2,7,179], -"gb_2hardware_8h.html#adb52e1f4b56ef259db300a187fe58fc9":[4,0,2,7,107], -"gb_2hardware_8h.html#adc74cebc6671c48bd502667f21d24da4":[4,0,2,7,69], -"gb_2hardware_8h.html#add7f32ba868ef6517798f5fce337e4b2":[4,0,2,7,193], -"gb_2hardware_8h.html#adee641ce3abf6b891e0e16bb56bdfcf7":[4,0,2,7,137], -"gb_2hardware_8h.html#ae0976a29e341edc6ceb810e6eb0328f1":[4,0,2,7,216], -"gb_2hardware_8h.html#ae0a85bdedbbf1c79b5dbb5b23ca4bf79":[4,0,2,7,125], -"gb_2hardware_8h.html#ae13ce414d3fe7c98c1434918186dfc81":[4,0,2,7,255], -"gb_2hardware_8h.html#ae168529ead90f90c28f75d57ba4d28e2":[4,0,2,7,48], -"gb_2hardware_8h.html#ae1de721c95ddc8f29ba9b9deaee8d68c":[4,0,2,7,94], -"gb_2hardware_8h.html#ae21217e822a66e77c15a4df4fa0cf1e9":[4,0,2,7,54], -"gb_2hardware_8h.html#ae24d0e88a1e1b8367ac1f5709d3e500c":[4,0,2,7,272], -"gb_2hardware_8h.html#ae4e03124190c7f96586b75cb4470a210":[4,0,2,7,84], -"gb_2hardware_8h.html#ae787a2c857fe8f3803ca353d5309fc85":[4,0,2,7,40], -"gb_2hardware_8h.html#ae7eccdbd4f7b211074591866f515b760":[4,0,2,7,3], -"gb_2hardware_8h.html#ae7eecc25286b951a78ef0dfc97aab3a7":[4,0,2,7,138], -"gb_2hardware_8h.html#ae8e325a01af1c20935a0c73ea6465a0e":[4,0,2,7,6], -"gb_2hardware_8h.html#ae9c948fad514ac440b7c6cc037384ec2":[4,0,2,7,27], -"gb_2hardware_8h.html#ae9de9f58318f113afbc955986a502692":[4,0,2,7,76], -"gb_2hardware_8h.html#aea78f857e34370d7e1177a8bafe08148":[4,0,2,7,237], -"gb_2hardware_8h.html#aea9200b29be90b58417787720cdf750b":[4,0,2,7,202], -"gb_2hardware_8h.html#aeaabebe6a36d9e59a01dfceceb7b37d0":[4,0,2,7,10], -"gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7":[4,0,2,7,253], -"gb_2hardware_8h.html#aeddc90947f6a6a3a3fd1e1db3751c988":[4,0,2,7,18], -"gb_2hardware_8h.html#aedf8627c42ccf0aad5025ef629f4395a":[4,0,2,7,9], -"gb_2hardware_8h.html#af1301c73bf93350045ba3a4887723ae8":[4,0,2,7,233], -"gb_2hardware_8h.html#af14334f65debf6ee02cc21b58729cfde":[4,0,2,7,88], -"gb_2hardware_8h.html#af334c0e7dd6e434b3dbebd45bcdeb75a":[4,0,2,7,192], -"gb_2hardware_8h.html#af35c8012bca7a164f0910d55cdf6030f":[4,0,2,7,13], -"gb_2hardware_8h.html#af4b27e8f3c3e14a4f91051fea4c64e4b":[4,0,2,7,189], -"gb_2hardware_8h.html#af531e7ac0c0a58517fa3061631745c31":[4,0,2,7,198], -"gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997":[4,0,2,7,256], -"gb_2hardware_8h.html#af59d0dd661ea73965101294d30111385":[4,0,2,7,7], -"gb_2hardware_8h.html#af763563b6123ef29d73931f616969049":[4,0,2,7,204], -"gb_2hardware_8h.html#af9284c71b8ebf10ef8b9e12268f2cce3":[4,0,2,7,187], -"gb_2hardware_8h.html#af93abe183851726958f27d979498032e":[4,0,2,7,154], -"gb_2hardware_8h.html#af9a0eee23057665604c258abc667939d":[4,0,2,7,64], -"gb_2hardware_8h.html#afa1e18e47bf68ce68d7807fff6edf16b":[4,0,2,7,222], -"gb_2hardware_8h.html#afc3684b8215221942a0cddc5960cf8a9":[4,0,2,7,46], -"gb_2hardware_8h.html#afe4927e6bc7efa57461e3c3b84d242da":[4,0,2,7,174], -"gb_2hardware_8h.html#afe84077234eb6e0520d7a6d0a9e903e7":[4,0,2,7,127], -"gb_2hardware_8h.html#afff31f511127bf7ba1bd3b6bc740aee8":[4,0,2,7,207], -"gb_2hardware_8h_source.html":[4,0,2,7], -"gb_2metasprites_8h.html":[4,0,2,9], -"gb_2metasprites_8h.html#a0b3366755f3276b0243c1e0497471b7a":[4,0,2,9,14], -"gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46":[4,0,2,9,8], -"gb_2metasprites_8h.html#a32a61acd4a76d1de5814f7b94c8bc23f":[4,0,2,9,9], -"gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f":[4,0,2,9,12], -"gb_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39":[4,0,2,9,13], -"gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b":[4,0,2,9,6], -"gb_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a":[4,0,2,9,1], -"gb_2metasprites_8h.html#aa01862cdcf50742c46c819668500b76b":[4,0,2,9,5], -"gb_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a":[4,0,2,9,3], -"gb_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa":[4,0,2,9,2], -"gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a":[4,0,2,9,7], -"gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b":[4,0,2,9,11], -"gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3":[4,0,2,9,4], -"gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906":[4,0,2,9,10], -"gb_2metasprites_8h_source.html":[4,0,2,9], -"gb_8h.html":[4,0,2,5], -"gb_8h.html#a0031c07799247a6d6c1bfa3decac79d0":[4,0,2,5,38], -"gb_8h.html#a028d1a2e820951bb4f103d6469975ffb":[4,0,2,5,100], -"gb_8h.html#a02f3a1585ae654444e628c1aa98ef0cf":[4,0,2,5,179], -"gb_8h.html#a04382de20738146fe873ddfb0585052b":[4,0,2,5,15], -"gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe":[4,0,2,5,155], -"gb_8h.html#a05ca817ab32f6da612c3ae26db5abf02":[4,0,2,5,4], -"gb_8h.html#a0659212acd317ccdebc0ecf435df330f":[4,0,2,5,69], -"gb_8h.html#a067f16eeb168f3ac9312a4766e7d2ff2":[4,0,2,5,121], -"gb_8h.html#a0756c9c45dcf042a146d2a54290e9f6a":[4,0,2,5,166], -"gb_8h.html#a08365da56dbc2a97c480818c0e6a62b9":[4,0,2,5,123], -"gb_8h.html#a086293f2afb4c7945460a4496b20aea3":[4,0,2,5,50], -"gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e":[4,0,2,5,185], -"gb_8h.html#a0b3366755f3276b0243c1e0497471b7a":[4,0,2,5,174] +"gb_2hardware_8h.html#a19dce313b521aad75756abfc19bc9e78":[4,0,2,8,21], +"gb_2hardware_8h.html#a1b424d8f8a7438d19261401a843263d2":[4,0,2,8,74], +"gb_2hardware_8h.html#a1bfe644bf343abd66c790c2758e7c0bb":[4,0,2,8,55], +"gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850":[4,0,2,8,260], +"gb_2hardware_8h.html#a1fc8ff37ffe1c431364e1ef7c3961b30":[4,0,2,8,271], +"gb_2hardware_8h.html#a21a6e935e8a3ac591905429874ccbe84":[4,0,2,8,29], +"gb_2hardware_8h.html#a222d5e3cb366d5e720a832fc68ce3a13":[4,0,2,8,130], +"gb_2hardware_8h.html#a22b6b835de9ee737be73c4d252aac87c":[4,0,2,8,178], +"gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2":[4,0,2,8,252], +"gb_2hardware_8h.html#a244ee6d8f6144be9b0f94602eddb6239":[4,0,2,8,238], +"gb_2hardware_8h.html#a271367a0bf840e5422b3a7ed541776f8":[4,0,2,8,249], +"gb_2hardware_8h.html#a281569182e3edb53b7c78b95a4082971":[4,0,2,8,36], +"gb_2hardware_8h.html#a28368838b9e270c301361a5f39c97154":[4,0,2,8,155], +"gb_2hardware_8h.html#a28fa1ca08ef1c8ed97280bc5e60bdd99":[4,0,2,8,270], +"gb_2hardware_8h.html#a298bccebea918c63aed36c811e02333d":[4,0,2,8,49], +"gb_2hardware_8h.html#a2a14470dca10f69c092d817a433383bd":[4,0,2,8,126], +"gb_2hardware_8h.html#a2a1acb31d2869997315be64bff66d24b":[4,0,2,8,139], +"gb_2hardware_8h.html#a2b3637bad69da368c3d7136632963fb7":[4,0,2,8,105], +"gb_2hardware_8h.html#a2ba607e94d30ae8eeb1933c9dabbf68d":[4,0,2,8,68], +"gb_2hardware_8h.html#a2e2a68c3274055a06cf38d00f007d4bf":[4,0,2,8,85], +"gb_2hardware_8h.html#a2eec77ca1b8730b410a7075c5a9c189e":[4,0,2,8,161], +"gb_2hardware_8h.html#a2f83a5f5daa6418c77756e32923aef5a":[4,0,2,8,210], +"gb_2hardware_8h.html#a2fe41a6e0abb211cc00a8fca90543966":[4,0,2,8,248], +"gb_2hardware_8h.html#a309d26015522c2de1cff39ba6e6e6a04":[4,0,2,8,66], +"gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0":[4,0,2,8,261], +"gb_2hardware_8h.html#a31d1d4441749e90c2895fc8750b2234c":[4,0,2,8,50], +"gb_2hardware_8h.html#a3205df57bc17c35df2924296341c6c69":[4,0,2,8,132], +"gb_2hardware_8h.html#a32b7b11b2ca90ffb52ce19e7279ea973":[4,0,2,8,31], +"gb_2hardware_8h.html#a338ec378453b4457efdb3008978c0f28":[4,0,2,8,100], +"gb_2hardware_8h.html#a367f10d1cfcc04fdbfcb88f09b230bd3":[4,0,2,8,167], +"gb_2hardware_8h.html#a37c8ee0ef95132fd22cd426868510834":[4,0,2,8,141], +"gb_2hardware_8h.html#a393866ca405b1023eec0e784bb88b026":[4,0,2,8,175], +"gb_2hardware_8h.html#a39e5a5b9afd2c2ca78de4aba7ccd071c":[4,0,2,8,224], +"gb_2hardware_8h.html#a3a2e883779980c1c37e780f47da4dd69":[4,0,2,8,267], +"gb_2hardware_8h.html#a3b0bf7449b517b3cda2a89428db6deb9":[4,0,2,8,118], +"gb_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8":[4,0,2,8,1], +"gb_2hardware_8h.html#a3b53105cc5be896b48794ba82d2aeb4c":[4,0,2,8,101], +"gb_2hardware_8h.html#a3b8d7fece663511d5778136a5ca0070b":[4,0,2,8,162], +"gb_2hardware_8h.html#a3c22f7324f09a14d666f9b21a9742789":[4,0,2,8,140], +"gb_2hardware_8h.html#a3cd1c1a1291d43dd43b181ff07f8b0a7":[4,0,2,8,177], +"gb_2hardware_8h.html#a3d30d4797321b403cd713d727fa3db6c":[4,0,2,8,230], +"gb_2hardware_8h.html#a3dbfd7c3f4a62774fbc98caa73899e96":[4,0,2,8,149], +"gb_2hardware_8h.html#a4225227c2812c3e3e500441f5e90772a":[4,0,2,8,123], +"gb_2hardware_8h.html#a428894ca3fd0bb4527b03bed551ff04c":[4,0,2,8,275], +"gb_2hardware_8h.html#a44f550e55e7154388748e7c330929c63":[4,0,2,8,28], +"gb_2hardware_8h.html#a472e3b0909a2f0878f643e9968b871ef":[4,0,2,8,214], +"gb_2hardware_8h.html#a47b5bc2ec6afaf1d50a8db5f24415922":[4,0,2,8,102], +"gb_2hardware_8h.html#a4889bb882e956665069212c4c8aa623b":[4,0,2,8,96], +"gb_2hardware_8h.html#a491dc081eae8c81e7ca88075ab806291":[4,0,2,8,195], +"gb_2hardware_8h.html#a4a73d9c15883b576fa0a5b4cc4ac2d08":[4,0,2,8,34], +"gb_2hardware_8h.html#a4d682ed7a6158c5ba10afec739b17a8a":[4,0,2,8,197], +"gb_2hardware_8h.html#a4f1816144e0561ff4db1ad24f4ce847a":[4,0,2,8,147], +"gb_2hardware_8h.html#a4fbcc4798c0721efcf4462c04a4566c1":[4,0,2,8,124], +"gb_2hardware_8h.html#a4ff8c8a7acb74ba54043596110091605":[4,0,2,8,182], +"gb_2hardware_8h.html#a5011196496193d80fc58cdb632fbab24":[4,0,2,8,134], +"gb_2hardware_8h.html#a509a5d0f138b40830cb447a862573be5":[4,0,2,8,226], +"gb_2hardware_8h.html#a51594891b388d60d6917a6ff64542b66":[4,0,2,8,16], +"gb_2hardware_8h.html#a519e327cac96f68a8ca9b77e0343672f":[4,0,2,8,191], +"gb_2hardware_8h.html#a521466a7650d60b464991ebf68112114":[4,0,2,8,45], +"gb_2hardware_8h.html#a52593a64863d51fbf5860b0d31448972":[4,0,2,8,243], +"gb_2hardware_8h.html#a52e58c151c5910792e75f7eea7f7ddbb":[4,0,2,8,164], +"gb_2hardware_8h.html#a52e850e75483f64ca070a33ee4877d47":[4,0,2,8,157], +"gb_2hardware_8h.html#a534fa3f905e37ac434537af23847d89a":[4,0,2,8,58], +"gb_2hardware_8h.html#a557833cc1671aa0bd71f33766b4e0f24":[4,0,2,8,241], +"gb_2hardware_8h.html#a55ab8a9eb853e9bcfd72a2bf7e2c524b":[4,0,2,8,26], +"gb_2hardware_8h.html#a55c4815aea004a9951606db7e7a1f0d7":[4,0,2,8,116], +"gb_2hardware_8h.html#a57a94790cda8101a29c0d20086770f1b":[4,0,2,8,266], +"gb_2hardware_8h.html#a582ece3b5f6cc49d47b2ad3e16d47374":[4,0,2,8,80], +"gb_2hardware_8h.html#a588d681dc33d9da3a899863b42980e18":[4,0,2,8,17], +"gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae":[4,0,2,8,255], +"gb_2hardware_8h.html#a5b683ff804221c6fc721b996fce65bda":[4,0,2,8,113], +"gb_2hardware_8h.html#a5c97ffb0ee0a345ad31797da26410b5a":[4,0,2,8,12], +"gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a":[4,0,2,8,263], +"gb_2hardware_8h.html#a5dc4d1ee47fe269761fe8fc46d56dabb":[4,0,2,8,190], +"gb_2hardware_8h.html#a5f2da0d8200f44b6fd694c4a2bea820e":[4,0,2,8,220], +"gb_2hardware_8h.html#a627044263543a1074dc9f4570aa8c915":[4,0,2,8,72], +"gb_2hardware_8h.html#a64dd59016e4f0e78672962fbc553a4b4":[4,0,2,8,215], +"gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b":[4,0,2,8,250], +"gb_2hardware_8h.html#a659173ac2c8da7fd04bc77973eb95256":[4,0,2,8,225], +"gb_2hardware_8h.html#a6676e579a5e421adfb3d3e2d470d9ab6":[4,0,2,8,235], +"gb_2hardware_8h.html#a668fd555c203361f5e4b835f05243102":[4,0,2,8,205], +"gb_2hardware_8h.html#a6963ef598339e1163d30e57a962e5278":[4,0,2,8,4], +"gb_2hardware_8h.html#a69a43daf29c680b3ab0fbcad3118cd48":[4,0,2,8,82], +"gb_2hardware_8h.html#a6aef42158c90e8025b8341cdea2e3918":[4,0,2,8,89], +"gb_2hardware_8h.html#a6d820a86bd30b531d5df5b27139ae92d":[4,0,2,8,172], +"gb_2hardware_8h.html#a6dd3af1c8e3c66409aa0bc889d98e171":[4,0,2,8,232], +"gb_2hardware_8h.html#a6f5df560b791d2fc086c23f99dd03354":[4,0,2,8,109], +"gb_2hardware_8h.html#a6f6852d0f1d295b03e1230d5d97cb3e9":[4,0,2,8,98], +"gb_2hardware_8h.html#a6fb64712b06118cad702691f2aa18cd4":[4,0,2,8,70], +"gb_2hardware_8h.html#a7030908728e166877fba9065671deb02":[4,0,2,8,211], +"gb_2hardware_8h.html#a704ab20694793ea87aace8bfc29568bc":[4,0,2,8,185], +"gb_2hardware_8h.html#a70db64bdd045a9df09b289fe9b28af22":[4,0,2,8,213], +"gb_2hardware_8h.html#a723eb3e0c2c681a050e9a325e35c25ae":[4,0,2,8,152], +"gb_2hardware_8h.html#a7279430d110acf02fa176d5f427a6491":[4,0,2,8,262], +"gb_2hardware_8h.html#a72a900117cdee0fbec10a278d9de0876":[4,0,2,8,25], +"gb_2hardware_8h.html#a72b78d4d640033770be37d95bf8e1f9d":[4,0,2,8,104], +"gb_2hardware_8h.html#a731588b96fb8cdbeb7e68c089373e6f8":[4,0,2,8,83], +"gb_2hardware_8h.html#a7393f505e4277af40167d72415c46fa5":[4,0,2,8,117], +"gb_2hardware_8h.html#a73c94166161c33c61d63b3e4b5209cd0":[4,0,2,8,203], +"gb_2hardware_8h.html#a74744fb475532fa5d343e0818dcc6f88":[4,0,2,8,184], +"gb_2hardware_8h.html#a750bc82ab34a8929a5bba10f2336abe6":[4,0,2,8,11], +"gb_2hardware_8h.html#a76532f8742d9dd8cb26d2ccfd9c37bbf":[4,0,2,8,269], +"gb_2hardware_8h.html#a7780d3a9b0fcc42499ed2451d7ab2ec5":[4,0,2,8,14], +"gb_2hardware_8h.html#a793b667a76985934545f73268000371a":[4,0,2,8,131], +"gb_2hardware_8h.html#a7accf5feabd95a2d84c72f5915fff837":[4,0,2,8,229], +"gb_2hardware_8h.html#a7bb32ac86e3fbf5f869410ba42620616":[4,0,2,8,234], +"gb_2hardware_8h.html#a7bbcf10e7a2b69127cd2f9e598bf601f":[4,0,2,8,73], +"gb_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec":[4,0,2,8,201], +"gb_2hardware_8h.html#a7c06fa33152a235baf273f1828dfa0a4":[4,0,2,8,160], +"gb_2hardware_8h.html#a7d2c165347d3bb3e3a54fad73e1f363e":[4,0,2,8,22], +"gb_2hardware_8h.html#a7dab7d2ad1bf670875814d3029d54122":[4,0,2,8,168], +"gb_2hardware_8h.html#a7f6c8420831388300bbec13ea4cb57a0":[4,0,2,8,199], +"gb_2hardware_8h.html#a801400d58ab7d862742e43b49fa68c8d":[4,0,2,8,265], +"gb_2hardware_8h.html#a81fb56b6778772f829dab4c534e7749e":[4,0,2,8,196], +"gb_2hardware_8h.html#a820677d593625e8716c3b78f36feb805":[4,0,2,8,176], +"gb_2hardware_8h.html#a82c53e957d31d22c475e1629843bc12d":[4,0,2,8,142], +"gb_2hardware_8h.html#a83e14896ee3ddf2a4201b534d8e5f398":[4,0,2,8,153], +"gb_2hardware_8h.html#a8492c6d9cb38fbb4a2bf9f5caa426578":[4,0,2,8,57], +"gb_2hardware_8h.html#a849d2cff8df2655f86b294466bec40d6":[4,0,2,8,244], +"gb_2hardware_8h.html#a85d8e680d4d40a918b4195d2a4fada2a":[4,0,2,8,236], +"gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f":[4,0,2,8,253], +"gb_2hardware_8h.html#a88cceb86b8168f4c539e9612a81145a6":[4,0,2,8,148], +"gb_2hardware_8h.html#a8a88b504914eed6c0c4d2853689487ba":[4,0,2,8,163], +"gb_2hardware_8h.html#a8b576a1fe1473ac4aff8afecb28035cb":[4,0,2,8,75], +"gb_2hardware_8h.html#a8be2b577af91deed7b8946b500e73319":[4,0,2,8,23], +"gb_2hardware_8h.html#a8cb754b63b073abf30af3fd6f0052832":[4,0,2,8,61], +"gb_2hardware_8h.html#a9120d2c7cd8800e302e76f525d332d6c":[4,0,2,8,56], +"gb_2hardware_8h.html#a9179fd1ba4626627567b9478f691e653":[4,0,2,8,20], +"gb_2hardware_8h.html#a92083741d31c9b2206b403e97124cbdc":[4,0,2,8,122], +"gb_2hardware_8h.html#a921bdc6c640b74c8c41e65f27882c68a":[4,0,2,8,159], +"gb_2hardware_8h.html#a924fdf48f6ad020423f6309055314928":[4,0,2,8,245], +"gb_2hardware_8h.html#a92a063885caf6c6cda665da0309055ec":[4,0,2,8,110], +"gb_2hardware_8h.html#a9534175911f7a54fa550318b275c4cc3":[4,0,2,8,33], +"gb_2hardware_8h.html#a97932e023d96ece4715802b6c2565c43":[4,0,2,8,120], +"gb_2hardware_8h.html#a97ab19d938f05bffbcb4221824c3bfce":[4,0,2,8,91], +"gb_2hardware_8h.html#a9d295bb437953de5ebcb3c12d65743aa":[4,0,2,8,223], +"gb_2hardware_8h.html#a9d555b0c19019150db73ca245ca62a78":[4,0,2,8,79], +"gb_2hardware_8h.html#a9da545164e049ef773128f869daece13":[4,0,2,8,259], +"gb_2hardware_8h.html#a9dff52d03755812d3a5ee7ca971c2e83":[4,0,2,8,183], +"gb_2hardware_8h.html#a9f069f19e8a05d1f1114aaabf531739e":[4,0,2,8,169], +"gb_2hardware_8h.html#aa128832cecec4e609517fe3daf044e5e":[4,0,2,8,274], +"gb_2hardware_8h.html#aa1f66868f63af2af6544e84122de3cc3":[4,0,2,8,99], +"gb_2hardware_8h.html#aa257f1e89f6782714cbc76ffc71d0fe7":[4,0,2,8,62], +"gb_2hardware_8h.html#aa336ca1c8bd29763222fc011a6272bdf":[4,0,2,8,95], +"gb_2hardware_8h.html#aa3cdccfb4b6b42cdee682bdb6e4fc310":[4,0,2,8,71], +"gb_2hardware_8h.html#aa58f52563d21d56e79d422c544eeb13f":[4,0,2,8,170], +"gb_2hardware_8h.html#aa7ce989df75547f190d33cc85dce0187":[4,0,2,8,158], +"gb_2hardware_8h.html#aa8027f47983459c377169f57987b710c":[4,0,2,8,90], +"gb_2hardware_8h.html#aa851dae67d0bb80c17415774558d985f":[4,0,2,8,121], +"gb_2hardware_8h.html#aa8b5c841c97ae090724a910040f8dd2d":[4,0,2,8,35], +"gb_2hardware_8h.html#aa8f5bcd5073aae5948a9647dcb76f779":[4,0,2,8,97], +"gb_2hardware_8h.html#aabac77131d22297a246a3cfb0e443605":[4,0,2,8,60], +"gb_2hardware_8h.html#aad20c4bf5115b40c9118a484808f4b92":[4,0,2,8,8], +"gb_2hardware_8h.html#aad3ccece4257429e82186f7b4d72b220":[4,0,2,8,67], +"gb_2hardware_8h.html#aade9a193ade9ff22ed6f6263d1a3549b":[4,0,2,8,180], +"gb_2hardware_8h.html#aaeb899eb6bd0593ffb4e90a2f762b18f":[4,0,2,8,39], +"gb_2hardware_8h.html#aaed4a07f441ddeecae520e76eb7b7e27":[4,0,2,8,38], +"gb_2hardware_8h.html#aaef0dc6aab2f821ab406fdbc643af48e":[4,0,2,8,277], +"gb_2hardware_8h.html#aaffaea3512173f90b85bae710d40ba6c":[4,0,2,8,144], +"gb_2hardware_8h.html#ab042aa7a7fae75f94d8fb3e08004c797":[4,0,2,8,42], +"gb_2hardware_8h.html#ab04e468d2403bc69f761daa300bb999a":[4,0,2,8,106], +"gb_2hardware_8h.html#ab058c32e4ebf21b3beb06a0d7440e6ad":[4,0,2,8,115], +"gb_2hardware_8h.html#ab0fe74a7c155ae95cbf20bbb5e1bf46b":[4,0,2,8,146], +"gb_2hardware_8h.html#ab16e97796d675205a027b1b28b52956e":[4,0,2,8,264], +"gb_2hardware_8h.html#ab2767d5f8f0ad35d8c8ee0bb3f4c51c3":[4,0,2,8,0], +"gb_2hardware_8h.html#ab28f97eabd5f32d48ea27d97bd5dc64f":[4,0,2,8,246], +"gb_2hardware_8h.html#ab3325578cf7f7f67610353a62aba274e":[4,0,2,8,173], +"gb_2hardware_8h.html#ab6da3e2cdbac1331bef3f6de9c808ab1":[4,0,2,8,240], +"gb_2hardware_8h.html#aba3cbaeca5ad045fb27095c210b661b7":[4,0,2,8,128], +"gb_2hardware_8h.html#aba3d9fb63552bc02ec879696b581adac":[4,0,2,8,242], +"gb_2hardware_8h.html#abb35a844f228403a96e28da7633344e1":[4,0,2,8,41], +"gb_2hardware_8h.html#abba6cc1819ea73d36a389fd99807dac5":[4,0,2,8,53], +"gb_2hardware_8h.html#abc4249f04a9081f45439f61dabf861e5":[4,0,2,8,135], +"gb_2hardware_8h.html#abd820b2f5c18efb43548f64862d38f05":[4,0,2,8,52], +"gb_2hardware_8h.html#abd862604a105aa2475223b06abfa8bfe":[4,0,2,8,165], +"gb_2hardware_8h.html#abf3efd42adced218237283156dbae055":[4,0,2,8,44], +"gb_2hardware_8h.html#ac00b1e90d257b756845da578f4c3f3ba":[4,0,2,8,24], +"gb_2hardware_8h.html#ac112618942cb4719def91693616baaff":[4,0,2,8,92], +"gb_2hardware_8h.html#ac1470febab4adcff88b31a465d480f72":[4,0,2,8,65], +"gb_2hardware_8h.html#ac1c402357ccc5f6c3c451450b30ca959":[4,0,2,8,156], +"gb_2hardware_8h.html#ac1cf31cae6046360271ead6e8b7a6e87":[4,0,2,8,209], +"gb_2hardware_8h.html#ac1e4b66204a5bff207be36fdfedd63d5":[4,0,2,8,111], +"gb_2hardware_8h.html#ac2985dbccb16c4c00381d6fbe9600aff":[4,0,2,8,218], +"gb_2hardware_8h.html#ac429365dce851ca57d8fe4f7c54a1caa":[4,0,2,8,247], +"gb_2hardware_8h.html#ac47b78eb2ffea207a8c7ac643555ba6c":[4,0,2,8,145], +"gb_2hardware_8h.html#ac4cbf03d9c2d64cddaf348e003780cf8":[4,0,2,8,37], +"gb_2hardware_8h.html#ac5b9d1761bb972948fe10637dfaa94a7":[4,0,2,8,206], +"gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0":[4,0,2,8,276], +"gb_2hardware_8h.html#ac75479aa0d34ac4344d80451276e97cc":[4,0,2,8,112], +"gb_2hardware_8h.html#ac826fdb70a043ebb8f1b317b00db6ff3":[4,0,2,8,93], +"gb_2hardware_8h.html#aca2df62463b4c3bc4a291e18f26f4ec5":[4,0,2,8,136], +"gb_2hardware_8h.html#acc45e1a4ea60d8248102a71c1658c5a3":[4,0,2,8,108], +"gb_2hardware_8h.html#acd0b3763f8599ed65e2d060b159bd91c":[4,0,2,8,51], +"gb_2hardware_8h.html#acdbf6b3217f6a5681df94c8b8992d1d6":[4,0,2,8,114], +"gb_2hardware_8h.html#ad07fa5e19e334eee03c2fcb8671b2ed3":[4,0,2,8,171], +"gb_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d":[4,0,2,8,200], +"gb_2hardware_8h.html#ad195d4be68ff54c3926c431fa5511de5":[4,0,2,8,181], +"gb_2hardware_8h.html#ad215dbfc83c9486ead2f28510366f40b":[4,0,2,8,5], +"gb_2hardware_8h.html#ad252264fdcf900e5fbf611f7a45962ed":[4,0,2,8,194], +"gb_2hardware_8h.html#ad2537c13699429afa59a68c6d6598632":[4,0,2,8,119], +"gb_2hardware_8h.html#ad27f428fca89ea6b236ff3aa4769a05e":[4,0,2,8,103], +"gb_2hardware_8h.html#ad2891216d025f44b02350f2ae2612b1e":[4,0,2,8,63], +"gb_2hardware_8h.html#ad3f67013699d0d38c203e4e863c91c41":[4,0,2,8,129], +"gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b":[4,0,2,8,251], +"gb_2hardware_8h.html#ad53dc7f22b99fce195210a95f2749a72":[4,0,2,8,228], +"gb_2hardware_8h.html#ad6f5b0d9ae958dee3d6dfa8f4273ff5a":[4,0,2,8,188], +"gb_2hardware_8h.html#ad859dc62b1df1584ade0cbb822a3e46f":[4,0,2,8,227], +"gb_2hardware_8h.html#ad92f3b2a1cc16700a4660c5821bcb15d":[4,0,2,8,179], +"gb_2hardware_8h.html#adb52e1f4b56ef259db300a187fe58fc9":[4,0,2,8,107], +"gb_2hardware_8h.html#adc74cebc6671c48bd502667f21d24da4":[4,0,2,8,69], +"gb_2hardware_8h.html#add7f32ba868ef6517798f5fce337e4b2":[4,0,2,8,193], +"gb_2hardware_8h.html#adee641ce3abf6b891e0e16bb56bdfcf7":[4,0,2,8,137], +"gb_2hardware_8h.html#ae0976a29e341edc6ceb810e6eb0328f1":[4,0,2,8,216], +"gb_2hardware_8h.html#ae0a85bdedbbf1c79b5dbb5b23ca4bf79":[4,0,2,8,125], +"gb_2hardware_8h.html#ae13ce414d3fe7c98c1434918186dfc81":[4,0,2,8,256], +"gb_2hardware_8h.html#ae168529ead90f90c28f75d57ba4d28e2":[4,0,2,8,48], +"gb_2hardware_8h.html#ae1de721c95ddc8f29ba9b9deaee8d68c":[4,0,2,8,94], +"gb_2hardware_8h.html#ae21217e822a66e77c15a4df4fa0cf1e9":[4,0,2,8,54], +"gb_2hardware_8h.html#ae24d0e88a1e1b8367ac1f5709d3e500c":[4,0,2,8,273], +"gb_2hardware_8h.html#ae4e03124190c7f96586b75cb4470a210":[4,0,2,8,84], +"gb_2hardware_8h.html#ae787a2c857fe8f3803ca353d5309fc85":[4,0,2,8,40], +"gb_2hardware_8h.html#ae7eccdbd4f7b211074591866f515b760":[4,0,2,8,3], +"gb_2hardware_8h.html#ae7eecc25286b951a78ef0dfc97aab3a7":[4,0,2,8,138], +"gb_2hardware_8h.html#ae8e325a01af1c20935a0c73ea6465a0e":[4,0,2,8,6], +"gb_2hardware_8h.html#ae9c948fad514ac440b7c6cc037384ec2":[4,0,2,8,27], +"gb_2hardware_8h.html#ae9de9f58318f113afbc955986a502692":[4,0,2,8,76], +"gb_2hardware_8h.html#aea78f857e34370d7e1177a8bafe08148":[4,0,2,8,237], +"gb_2hardware_8h.html#aea9200b29be90b58417787720cdf750b":[4,0,2,8,202], +"gb_2hardware_8h.html#aeaabebe6a36d9e59a01dfceceb7b37d0":[4,0,2,8,10], +"gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7":[4,0,2,8,254], +"gb_2hardware_8h.html#aeddc90947f6a6a3a3fd1e1db3751c988":[4,0,2,8,18], +"gb_2hardware_8h.html#aedf8627c42ccf0aad5025ef629f4395a":[4,0,2,8,9], +"gb_2hardware_8h.html#af1301c73bf93350045ba3a4887723ae8":[4,0,2,8,233], +"gb_2hardware_8h.html#af14334f65debf6ee02cc21b58729cfde":[4,0,2,8,88], +"gb_2hardware_8h.html#af334c0e7dd6e434b3dbebd45bcdeb75a":[4,0,2,8,192], +"gb_2hardware_8h.html#af35c8012bca7a164f0910d55cdf6030f":[4,0,2,8,13], +"gb_2hardware_8h.html#af4b27e8f3c3e14a4f91051fea4c64e4b":[4,0,2,8,189], +"gb_2hardware_8h.html#af531e7ac0c0a58517fa3061631745c31":[4,0,2,8,198], +"gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997":[4,0,2,8,257], +"gb_2hardware_8h.html#af59d0dd661ea73965101294d30111385":[4,0,2,8,7], +"gb_2hardware_8h.html#af763563b6123ef29d73931f616969049":[4,0,2,8,204], +"gb_2hardware_8h.html#af9284c71b8ebf10ef8b9e12268f2cce3":[4,0,2,8,187], +"gb_2hardware_8h.html#af93abe183851726958f27d979498032e":[4,0,2,8,154], +"gb_2hardware_8h.html#af9a0eee23057665604c258abc667939d":[4,0,2,8,64], +"gb_2hardware_8h.html#afa1e18e47bf68ce68d7807fff6edf16b":[4,0,2,8,222], +"gb_2hardware_8h.html#afc3684b8215221942a0cddc5960cf8a9":[4,0,2,8,46], +"gb_2hardware_8h.html#afe4927e6bc7efa57461e3c3b84d242da":[4,0,2,8,174], +"gb_2hardware_8h.html#afe84077234eb6e0520d7a6d0a9e903e7":[4,0,2,8,127], +"gb_2hardware_8h.html#afff31f511127bf7ba1bd3b6bc740aee8":[4,0,2,8,207], +"gb_2hardware_8h_source.html":[4,0,2,8] }; diff --git a/docs/api/navtreeindex3.js b/docs/api/navtreeindex3.js @@ -1,181 +1,219 @@ var NAVTREEINDEX3 = { -"gb_8h.html#a0c689c5a814f1c347c4d98f28ed6c7d6":[4,0,2,5,60], -"gb_8h.html#a0d29659d08708143dd8bc720278e06b5":[4,0,2,5,98], -"gb_8h.html#a0e9c88657beaac946231a4801481b97f":[4,0,2,5,57], -"gb_8h.html#a113055d93ba40767b676f172aa5cc996":[4,0,2,5,131], -"gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3":[4,0,2,5,30], -"gb_8h.html#a1207717410f1c9beb6a719eef400ffd7":[4,0,2,5,132], -"gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044":[4,0,2,5,150], -"gb_8h.html#a142f6c7755fce8b1148faf658d8ec147":[4,0,2,5,95], -"gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1":[4,0,2,5,111], -"gb_8h.html#a177fadce938422926b186a8e42575d1d":[4,0,2,5,58], -"gb_8h.html#a194b27b9e852e93ae0a4b55fae7fee6d":[4,0,2,5,126], -"gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f":[4,0,2,5,52], -"gb_8h.html#a1a485dfade1a8f07232cbe669a1c1939":[4,0,2,5,137], -"gb_8h.html#a1df9458387eecf1a164098e90350e561":[4,0,2,5,169], -"gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc":[4,0,2,5,53], -"gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c":[4,0,2,5,128], -"gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456":[4,0,2,5,182], -"gb_8h.html#a1f583f7a880daa6145ca78b086a209d1":[4,0,2,5,139], -"gb_8h.html#a20895d53fe9caacb08ce8b071d57ce53":[4,0,2,5,87], -"gb_8h.html#a231ec05679809190782e61c6e8aaaba4":[4,0,2,5,43], -"gb_8h.html#a250f5339e05523912926be566e9eb8c0":[4,0,2,5,187], -"gb_8h.html#a261bba55a07b802baf99346feadd9852":[4,0,2,5,51], -"gb_8h.html#a268cc6c704e16f3fa02dd1cf0e17070a":[4,0,2,5,44], -"gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d":[4,0,2,5,110], -"gb_8h.html#a2ca7720b9a5da9b2173e1f74dba85541":[4,0,2,5,22], -"gb_8h.html#a2e3415ce2f7fb63427618bd9b9cb6635":[4,0,2,5,178], -"gb_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280":[4,0,2,5,26], -"gb_8h.html#a31af766e3b598eb7a6b63f55a4988e7a":[4,0,2,5,8], -"gb_8h.html#a32683767caa2a263a1f494b3605786e7":[4,0,2,5,94], -"gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551":[4,0,2,5,188], -"gb_8h.html#a361d5055a7ae880fc1c9d6e0d1164fd6":[4,0,2,5,64], -"gb_8h.html#a385397587c93683e8e11afb712e2960b":[4,0,2,5,2], -"gb_8h.html#a38ea3e4dfe02b8eae70df27f39d4a951":[4,0,2,5,54], -"gb_8h.html#a3b235c526c517fb02d20cdea780ee2c5":[4,0,2,5,83], -"gb_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325":[4,0,2,5,7], -"gb_8h.html#a3ea524204d839377cf39842eec23e202":[4,0,2,5,106], -"gb_8h.html#a3f033f00c8d781637f9a665b06750937":[4,0,2,5,65], -"gb_8h.html#a42705001e2b9897f5167b67fb36c69dd":[4,0,2,5,49], -"gb_8h.html#a427965ccaaa956d51bf4e7f14cc39b0f":[4,0,2,5,152], -"gb_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4":[4,0,2,5,84], -"gb_8h.html#a445fa9ede939ca486ae5268e826b3a44":[4,0,2,5,142], -"gb_8h.html#a45cb12c6a672558e9a3792d11951707c":[4,0,2,5,133], -"gb_8h.html#a45d13a674e169dd83df7e1f46513ccba":[4,0,2,5,28], -"gb_8h.html#a47607089a434dcda7a8583cfca03b604":[4,0,2,5,85], -"gb_8h.html#a47865835d7d007d71b4bc8ae5cefb73a":[4,0,2,5,90], -"gb_8h.html#a495bc9f405f916f02ad5d97e6e730134":[4,0,2,5,75], -"gb_8h.html#a4a3e87e0917d5efb6bc7c94e9754fcd0":[4,0,2,5,97], -"gb_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b":[4,0,2,5,19], -"gb_8h.html#a4c2e4adef74067fdbb49005bc73de937":[4,0,2,5,184], -"gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07":[4,0,2,5,130], -"gb_8h.html#a4ed6f21654895e40981802fdbe6b003d":[4,0,2,5,107], -"gb_8h.html#a5166ceebbaa646e2667df1a219c7b903":[4,0,2,5,115], -"gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36":[4,0,2,5,176], -"gb_8h.html#a54572cf6791463b6d60623837e0bb5a6":[4,0,2,5,17], -"gb_8h.html#a5497c2255a9474d397446710189eacbe":[4,0,2,5,70], -"gb_8h.html#a55f82ff980398dd97036fd936ebd727e":[4,0,2,5,81], -"gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd":[4,0,2,5,141], -"gb_8h.html#a5a796bbf3e4347d914b83568350143a9":[4,0,2,5,34], -"gb_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4":[4,0,2,5,67], -"gb_8h.html#a5b821b31215361265d8b7894a9ae7118":[4,0,2,5,96], -"gb_8h.html#a5d4c9c7b61a0326a939f9109f96d7423":[4,0,2,5,47], -"gb_8h.html#a60191cdfa50ed9b88515f181747eaba2":[4,0,2,5,66], -"gb_8h.html#a604256210ec5b90b68185e1a18efab49":[4,0,2,5,24], -"gb_8h.html#a61a9e2910380de6abb34df14ef634eb4":[4,0,2,5,23], -"gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57":[4,0,2,5,138], -"gb_8h.html#a649d27b5587de16a66176e03a1b8ebd5":[4,0,2,5,59], -"gb_8h.html#a6558dad88815aa73fb81fae2ae90473d":[4,0,2,5,125], -"gb_8h.html#a67f80e65620470b55a4950e2966eb868":[4,0,2,5,79], -"gb_8h.html#a68346350199018249bdf8019b7131514":[4,0,2,5,120], -"gb_8h.html#a68651e50243349b48164a8ad983dca4e":[4,0,2,5,168], -"gb_8h.html#a68e4586e2401c1e39703571b5b8d934b":[4,0,2,5,135], -"gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9":[4,0,2,5,103], -"gb_8h.html#a69ef98aee664b8abd8d1a3d45f016dda":[4,0,2,5,76], -"gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88":[4,0,2,5,158], -"gb_8h.html#a6c15ebc660abd3a978137493ab63ffe9":[4,0,2,5,63], -"gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe":[4,0,2,5,160], -"gb_8h.html#a6ccf5d0f34fb0af0b6e73b9df0ccd745":[4,0,2,5,42], -"gb_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141":[4,0,2,5,72], -"gb_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5":[4,0,2,5,36], -"gb_8h.html#a6e40dcc763efd953181c7400642a9f69":[4,0,2,5,55], -"gb_8h.html#a7542d00af674e3c58b6c9887ab01919f":[4,0,2,5,122], -"gb_8h.html#a77d516c9d3f86f100eddea5e0d133a76":[4,0,2,5,88], -"gb_8h.html#a78b307e0fde9289c2b1f4cd6aa0b763c":[4,0,2,5,147], -"gb_8h.html#a78d2fd18666afec116f176d46debb4e7":[4,0,2,5,177], -"gb_8h.html#a7b662ae4d83f9837bacb9fd580673054":[4,0,2,5,189], -"gb_8h.html#a7cf5bd73a7493475e17f84995cf865bd":[4,0,2,5,146], -"gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687":[4,0,2,5,154], -"gb_8h.html#a7eeb5f1f697fefdcebd8e68355af4113":[4,0,2,5,113], -"gb_8h.html#a82582e006a955d2c934786e9d7c29623":[4,0,2,5,148], -"gb_8h.html#a84e320d3c0b1eca4d0b81b848d096582":[4,0,2,5,124], -"gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45":[4,0,2,5,175], -"gb_8h.html#a8a71c706c3eb1343196adf77f5825747":[4,0,2,5,117], -"gb_8h.html#a8b77608c87a9aef65a03531482b2163b":[4,0,2,5,89], -"gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3":[4,0,2,5,29], -"gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54":[4,0,2,5,118], -"gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef":[4,0,2,5,116], -"gb_8h.html#a8e3f36aa68ac036695816757f2a1322c":[4,0,2,5,71], -"gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03":[4,0,2,5,92], -"gb_8h.html#a908826e7180f94a5988ceb8633313a2e":[4,0,2,5,14], -"gb_8h.html#a924aa554f639022be104392891e156cd":[4,0,2,5,163], -"gb_8h.html#a92d040284342702026eb19dab59b586e":[4,0,2,5,62], -"gb_8h.html#a9506d04c2ec7d2442a52054f67d2b32f":[4,0,2,5,20], -"gb_8h.html#a9508f919d9482d1d51534ccac212454d":[4,0,2,5,91], -"gb_8h.html#a9727caafc483ba6ec65e9344b033d684":[4,0,2,5,31], -"gb_8h.html#a98b848953a95ce2fff6fda643575d74a":[4,0,2,5,181], -"gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7":[4,0,2,5,157], -"gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7":[4,0,2,5,109], -"gb_8h.html#a9eac2f4130d55f411aad246658d046a9":[4,0,2,5,173], -"gb_8h.html#a9f9f77105099a34556247d5bb03368d1":[4,0,2,5,99], -"gb_8h.html#aa027abe630d44039f238034bcb2d2f36":[4,0,2,5,21], -"gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84":[4,0,2,5,127], -"gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30":[4,0,2,5,102], -"gb_8h.html#aa311f84dd9fce6e136ba4881e7b0d98d":[4,0,2,5,41], -"gb_8h.html#aa4dc1c2f6f54a564b719b2bd5a0b3c62":[4,0,2,5,162], -"gb_8h.html#aa5d64e386a00b373f22ffdc5a152c7ba":[4,0,2,5,61], -"gb_8h.html#aa82422752016328ed0765879e286019f":[4,0,2,5,101], -"gb_8h.html#aa87bec0d134136fdb727f52cb773b792":[4,0,2,5,78], -"gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8":[4,0,2,5,73], -"gb_8h.html#ab22d0a3d624ff20198577c71aa755c19":[4,0,2,5,172], -"gb_8h.html#ab311e53739c992294ae07ca506a924ad":[4,0,2,5,27], -"gb_8h.html#ab416a9d96d1582490828f4bac78a8b5b":[4,0,2,5,10], -"gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd":[4,0,2,5,159], -"gb_8h.html#ab6321884a3f9028ea0056851d4926919":[4,0,2,5,143], -"gb_8h.html#ab69a3f7cd2c6b5eb4f518aefee099007":[4,0,2,5,45], -"gb_8h.html#ab769c6e20778298be8bc3321476ceb53":[4,0,2,5,11], -"gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e":[4,0,2,5,114], -"gb_8h.html#ab94bfec130df50d9cb808142f94603a5":[4,0,2,5,80], -"gb_8h.html#aba807b33ddd5e18ecedc93b05338045e":[4,0,2,5,144], -"gb_8h.html#abb54953bdb190aa0bb76724ae3d5d214":[4,0,2,5,171], -"gb_8h.html#abc82930da7beb0611778f8644e90b5e9":[4,0,2,5,153], -"gb_8h.html#abfd70bf31185a4900680977c9fb5a5ec":[4,0,2,5,86], -"gb_8h.html#ac40ffe4802ea41e5cee0ac3d4b254e08":[4,0,2,5,151], -"gb_8h.html#ac4f9e19d2834988ff005106b3f5b2f05":[4,0,2,5,112], -"gb_8h.html#ac70894fecac30c1ca9917f07373cf81c":[4,0,2,5,6], -"gb_8h.html#ac7cc92070d07d5096e2ccef3ea54cade":[4,0,2,5,170], -"gb_8h.html#ac9f0aa82f8e34812a406263aad57d4d9":[4,0,2,5,164], -"gb_8h.html#aca2855edd2d28f66be551a0f7ec23f07":[4,0,2,5,16], -"gb_8h.html#acae13736da20f9fc53e8d38934aa2119":[4,0,2,5,180], -"gb_8h.html#acc9798fc62b5d626c91c8b0f20b522ff":[4,0,2,5,12], -"gb_8h.html#acc9afd0cb72e763a1213d256b942a68f":[4,0,2,5,104], -"gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55":[4,0,2,5,119], -"gb_8h.html#ad22c51635d052399bbbe1777999c794d":[4,0,2,5,161], -"gb_8h.html#ad2ec9831813c5e7069917aa4455af682":[4,0,2,5,68], -"gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386":[4,0,2,5,93], -"gb_8h.html#ad57f2f8c54204687f02801d8ab1bd150":[4,0,2,5,37], -"gb_8h.html#ad90564458646c5646b3880b93db3443e":[4,0,2,5,25], -"gb_8h.html#ada0cc738d27aad251151e69cb8d250e1":[4,0,2,5,32], -"gb_8h.html#adb21d1c7d533a7133bab36a845489780":[4,0,2,5,134], -"gb_8h.html#adb5d0970167b81401113812773c90838":[4,0,2,5,82], -"gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad":[4,0,2,5,129], -"gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a":[4,0,2,5,105], -"gb_8h.html#ae032c5c544196e37ec0432f6cfad7904":[4,0,2,5,5], -"gb_8h.html#ae042588f20bf5a2349c8ad8716245233":[4,0,2,5,48], -"gb_8h.html#ae189e98d0ef9263c37869ce1ff3710a5":[4,0,2,5,33], -"gb_8h.html#ae202f64307ec00f6970ef9225e54646c":[4,0,2,5,56], -"gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964":[4,0,2,5,108], -"gb_8h.html#ae47e59a309120f9420993f26816b5e6d":[4,0,2,5,9], -"gb_8h.html#ae97793b4039609f93b0f7f8bddb18011":[4,0,2,5,18], -"gb_8h.html#ae996ed4fd8bb6b308b9c8708a91df06b":[4,0,2,5,39], -"gb_8h.html#aea1d2b59419abf7c1a9b95bb278f7a6c":[4,0,2,5,140], -"gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b":[4,0,2,5,165], -"gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79":[4,0,2,5,186], -"gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3":[4,0,2,5,74], -"gb_8h.html#aee03efddee0f2f6fbcaec789301aaa9b":[4,0,2,5,46], -"gb_8h.html#aee435a3a0dde3dbd7b6112dbb456cde8":[4,0,2,5,40], -"gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5":[4,0,2,5,149], -"gb_8h.html#af0e30d6af308ffe5a025fbe85da40f6f":[4,0,2,5,13], -"gb_8h.html#af10046e88cba47031142a763a94210df":[4,0,2,5,3], -"gb_8h.html#af3d632ba2d7cef6619df5dfea8730909":[4,0,2,5,35], -"gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a":[4,0,2,5,156], -"gb_8h.html#af79b920bcb642bba2e652874c4f7eeff":[4,0,2,5,183], -"gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de":[4,0,2,5,145], -"gb_8h.html#af91d252f07f4764996154820f970c101":[4,0,2,5,77], -"gb_8h.html#afdacbb553ea16fd0a3a96698be7668f8":[4,0,2,5,136], -"gb_8h.html#afdc3ad3ac77ec32609195ae125b919e1":[4,0,2,5,167], -"gb_8h_source.html":[4,0,2,5], +"gb_2metasprites_8h.html":[4,0,2,10], +"gb_2metasprites_8h.html#a0b3366755f3276b0243c1e0497471b7a":[4,0,2,10,14], +"gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46":[4,0,2,10,8], +"gb_2metasprites_8h.html#a32a61acd4a76d1de5814f7b94c8bc23f":[4,0,2,10,9], +"gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f":[4,0,2,10,12], +"gb_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39":[4,0,2,10,13], +"gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b":[4,0,2,10,6], +"gb_2metasprites_8h.html#a77bb622fa362f2e04be1bafaa099a709":[4,0,2,10,5], +"gb_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a":[4,0,2,10,1], +"gb_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a":[4,0,2,10,3], +"gb_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa":[4,0,2,10,2], +"gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a":[4,0,2,10,7], +"gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b":[4,0,2,10,11], +"gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3":[4,0,2,10,4], +"gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906":[4,0,2,10,10], +"gb_2metasprites_8h_source.html":[4,0,2,10], +"gb_8h.html":[4,0,2,6], +"gb_8h.html#a0031c07799247a6d6c1bfa3decac79d0":[4,0,2,6,38], +"gb_8h.html#a028d1a2e820951bb4f103d6469975ffb":[4,0,2,6,101], +"gb_8h.html#a02f3a1585ae654444e628c1aa98ef0cf":[4,0,2,6,185], +"gb_8h.html#a04382de20738146fe873ddfb0585052b":[4,0,2,6,15], +"gb_8h.html#a04d57683cdd046dfa45e7e56d7c4ec4d":[4,0,2,6,123], +"gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe":[4,0,2,6,161], +"gb_8h.html#a05ca817ab32f6da612c3ae26db5abf02":[4,0,2,6,4], +"gb_8h.html#a0659212acd317ccdebc0ecf435df330f":[4,0,2,6,70], +"gb_8h.html#a086293f2afb4c7945460a4496b20aea3":[4,0,2,6,50], +"gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e":[4,0,2,6,191], +"gb_8h.html#a0b3366755f3276b0243c1e0497471b7a":[4,0,2,6,180], +"gb_8h.html#a0c689c5a814f1c347c4d98f28ed6c7d6":[4,0,2,6,61], +"gb_8h.html#a0c70a53db1fbc0c99627da3f282befd8":[4,0,2,6,153], +"gb_8h.html#a0d29659d08708143dd8bc720278e06b5":[4,0,2,6,99], +"gb_8h.html#a0e9c88657beaac946231a4801481b97f":[4,0,2,6,58], +"gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3":[4,0,2,6,30], +"gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044":[4,0,2,6,156], +"gb_8h.html#a142f6c7755fce8b1148faf658d8ec147":[4,0,2,6,96], +"gb_8h.html#a176c477d759b814664785f3a0ad5e253":[4,0,2,6,113], +"gb_8h.html#a177fadce938422926b186a8e42575d1d":[4,0,2,6,59], +"gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f":[4,0,2,6,53], +"gb_8h.html#a19969b36a6535fc6a966c0e5476baf9c":[4,0,2,6,109], +"gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0":[4,0,2,6,151], +"gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc":[4,0,2,6,54], +"gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c":[4,0,2,6,130], +"gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456":[4,0,2,6,188], +"gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626":[4,0,2,6,132], +"gb_8h.html#a1f583f7a880daa6145ca78b086a209d1":[4,0,2,6,143], +"gb_8h.html#a20895d53fe9caacb08ce8b071d57ce53":[4,0,2,6,88], +"gb_8h.html#a231ec05679809190782e61c6e8aaaba4":[4,0,2,6,43], +"gb_8h.html#a250f5339e05523912926be566e9eb8c0":[4,0,2,6,193], +"gb_8h.html#a2550e7b6b9fd7e1fc495872502311dbb":[4,0,2,6,124], +"gb_8h.html#a261bba55a07b802baf99346feadd9852":[4,0,2,6,51], +"gb_8h.html#a268cc6c704e16f3fa02dd1cf0e17070a":[4,0,2,6,44], +"gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d":[4,0,2,6,112], +"gb_8h.html#a2ca7720b9a5da9b2173e1f74dba85541":[4,0,2,6,22], +"gb_8h.html#a2e29fdca81c28c627c2591029722e71c":[4,0,2,6,154], +"gb_8h.html#a2e3415ce2f7fb63427618bd9b9cb6635":[4,0,2,6,184], +"gb_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280":[4,0,2,6,26], +"gb_8h.html#a31af766e3b598eb7a6b63f55a4988e7a":[4,0,2,6,8], +"gb_8h.html#a32683767caa2a263a1f494b3605786e7":[4,0,2,6,95], +"gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551":[4,0,2,6,196], +"gb_8h.html#a361d5055a7ae880fc1c9d6e0d1164fd6":[4,0,2,6,65], +"gb_8h.html#a36f9e5d95c2d7d58f203b5ac358e25e7":[4,0,2,6,170], +"gb_8h.html#a385397587c93683e8e11afb712e2960b":[4,0,2,6,2], +"gb_8h.html#a38ea3e4dfe02b8eae70df27f39d4a951":[4,0,2,6,55], +"gb_8h.html#a3b235c526c517fb02d20cdea780ee2c5":[4,0,2,6,84], +"gb_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325":[4,0,2,6,7], +"gb_8h.html#a3ea524204d839377cf39842eec23e202":[4,0,2,6,108], +"gb_8h.html#a3f033f00c8d781637f9a665b06750937":[4,0,2,6,66], +"gb_8h.html#a3fca2d0a22aa2717e62fed659caf4743":[4,0,2,6,52], +"gb_8h.html#a42705001e2b9897f5167b67fb36c69dd":[4,0,2,6,49], +"gb_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4":[4,0,2,6,85], +"gb_8h.html#a45d13a674e169dd83df7e1f46513ccba":[4,0,2,6,28], +"gb_8h.html#a46058204097dd305bf72bc20ea7f7a3b":[4,0,2,6,176], +"gb_8h.html#a47607089a434dcda7a8583cfca03b604":[4,0,2,6,86], +"gb_8h.html#a47865835d7d007d71b4bc8ae5cefb73a":[4,0,2,6,91], +"gb_8h.html#a495bc9f405f916f02ad5d97e6e730134":[4,0,2,6,76], +"gb_8h.html#a4a3e87e0917d5efb6bc7c94e9754fcd0":[4,0,2,6,98], +"gb_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b":[4,0,2,6,19], +"gb_8h.html#a4c2e4adef74067fdbb49005bc73de937":[4,0,2,6,190], +"gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36":[4,0,2,6,182], +"gb_8h.html#a54572cf6791463b6d60623837e0bb5a6":[4,0,2,6,17], +"gb_8h.html#a5497c2255a9474d397446710189eacbe":[4,0,2,6,71], +"gb_8h.html#a55c6581dbe9300dc6df41730f090af51":[4,0,2,6,141], +"gb_8h.html#a55f82ff980398dd97036fd936ebd727e":[4,0,2,6,82], +"gb_8h.html#a5a796bbf3e4347d914b83568350143a9":[4,0,2,6,34], +"gb_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4":[4,0,2,6,68], +"gb_8h.html#a5b821b31215361265d8b7894a9ae7118":[4,0,2,6,97], +"gb_8h.html#a5c13238dfec416439d75b133a272e6df":[4,0,2,6,134], +"gb_8h.html#a5c59b4ee6323af9832998906d087266b":[4,0,2,6,148], +"gb_8h.html#a5d4c9c7b61a0326a939f9109f96d7423":[4,0,2,6,47], +"gb_8h.html#a60191cdfa50ed9b88515f181747eaba2":[4,0,2,6,67], +"gb_8h.html#a604256210ec5b90b68185e1a18efab49":[4,0,2,6,24], +"gb_8h.html#a61a9e2910380de6abb34df14ef634eb4":[4,0,2,6,23], +"gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57":[4,0,2,6,142], +"gb_8h.html#a649d27b5587de16a66176e03a1b8ebd5":[4,0,2,6,60], +"gb_8h.html#a650d2df96e69a40b70548ab468e00f25":[4,0,2,6,168], +"gb_8h.html#a67f80e65620470b55a4950e2966eb868":[4,0,2,6,80], +"gb_8h.html#a68651e50243349b48164a8ad983dca4e":[4,0,2,6,174], +"gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9":[4,0,2,6,105], +"gb_8h.html#a69ef98aee664b8abd8d1a3d45f016dda":[4,0,2,6,77], +"gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88":[4,0,2,6,164], +"gb_8h.html#a6c15ebc660abd3a978137493ab63ffe9":[4,0,2,6,64], +"gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe":[4,0,2,6,166], +"gb_8h.html#a6ccf5d0f34fb0af0b6e73b9df0ccd745":[4,0,2,6,42], +"gb_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141":[4,0,2,6,73], +"gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7":[4,0,2,6,135], +"gb_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5":[4,0,2,6,36], +"gb_8h.html#a6e40dcc763efd953181c7400642a9f69":[4,0,2,6,56], +"gb_8h.html#a6e6f8eb1de2ae1ec9adeafbd7b9884db":[4,0,2,6,117], +"gb_8h.html#a7080649e10765996c581e5b618e603b8":[4,0,2,6,126], +"gb_8h.html#a711fa26feecc76dc51482b0f77062859":[4,0,2,6,133], +"gb_8h.html#a728b9440accedc5fb3477be3d150323a":[4,0,2,6,173], +"gb_8h.html#a739a212609ae60c9c56c095f96b4ea80":[4,0,2,6,149], +"gb_8h.html#a74c3f53fca019f7abcd1270650808849":[4,0,2,6,178], +"gb_8h.html#a74ee8f0a3495508c90de4ce246b81060":[4,0,2,6,140], +"gb_8h.html#a77d516c9d3f86f100eddea5e0d133a76":[4,0,2,6,89], +"gb_8h.html#a78d2fd18666afec116f176d46debb4e7":[4,0,2,6,183], +"gb_8h.html#a7b662ae4d83f9837bacb9fd580673054":[4,0,2,6,197], +"gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687":[4,0,2,6,160], +"gb_8h.html#a7ef32e7c1669aba48f235500a495baba":[4,0,2,6,147], +"gb_8h.html#a811c386cac0df2d260aacb5a43608be5":[4,0,2,6,136], +"gb_8h.html#a8484d346b788309ac702b7e0b1fca730":[4,0,2,6,115], +"gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45":[4,0,2,6,181], +"gb_8h.html#a8a469de4c6640f921254b336b5a6191a":[4,0,2,6,152], +"gb_8h.html#a8b77608c87a9aef65a03531482b2163b":[4,0,2,6,90], +"gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3":[4,0,2,6,29], +"gb_8h.html#a8e3f36aa68ac036695816757f2a1322c":[4,0,2,6,72], +"gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03":[4,0,2,6,93], +"gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f":[4,0,2,6,128], +"gb_8h.html#a908826e7180f94a5988ceb8633313a2e":[4,0,2,6,14], +"gb_8h.html#a92d040284342702026eb19dab59b586e":[4,0,2,6,63], +"gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3":[4,0,2,6,120], +"gb_8h.html#a9506d04c2ec7d2442a52054f67d2b32f":[4,0,2,6,20], +"gb_8h.html#a9508f919d9482d1d51534ccac212454d":[4,0,2,6,92], +"gb_8h.html#a970f18857533e062f4780f6e1c407d69":[4,0,2,6,102], +"gb_8h.html#a9727caafc483ba6ec65e9344b033d684":[4,0,2,6,31], +"gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44":[4,0,2,6,125], +"gb_8h.html#a97bab71effd5e4e386629cb6ca5816cf":[4,0,2,6,177], +"gb_8h.html#a98b848953a95ce2fff6fda643575d74a":[4,0,2,6,187], +"gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7":[4,0,2,6,163], +"gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7":[4,0,2,6,111], +"gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c":[4,0,2,6,171], +"gb_8h.html#a9f9f77105099a34556247d5bb03368d1":[4,0,2,6,100], +"gb_8h.html#aa027abe630d44039f238034bcb2d2f36":[4,0,2,6,21], +"gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84":[4,0,2,6,129], +"gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30":[4,0,2,6,104], +"gb_8h.html#aa311f84dd9fce6e136ba4881e7b0d98d":[4,0,2,6,41], +"gb_8h.html#aa33ba8b8d381df76edf15ea251ccb675":[4,0,2,6,127], +"gb_8h.html#aa5d64e386a00b373f22ffdc5a152c7ba":[4,0,2,6,62], +"gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0":[4,0,2,6,139], +"gb_8h.html#aa8213cfad631865e3b6faec18e772cb4":[4,0,2,6,144], +"gb_8h.html#aa82205e9629f984d0b3dc8055c211522":[4,0,2,6,194], +"gb_8h.html#aa82422752016328ed0765879e286019f":[4,0,2,6,103], +"gb_8h.html#aa87bec0d134136fdb727f52cb773b792":[4,0,2,6,79], +"gb_8h.html#aae433db7d8e3ee4c095c254b8abd7b8b":[4,0,2,6,114], +"gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8":[4,0,2,6,74], +"gb_8h.html#ab311e53739c992294ae07ca506a924ad":[4,0,2,6,27], +"gb_8h.html#ab3e60c92c9f8fbed855f8712187ea3ea":[4,0,2,6,158], +"gb_8h.html#ab416a9d96d1582490828f4bac78a8b5b":[4,0,2,6,10], +"gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd":[4,0,2,6,165], +"gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c":[4,0,2,6,195], +"gb_8h.html#ab69a3f7cd2c6b5eb4f518aefee099007":[4,0,2,6,45], +"gb_8h.html#ab769c6e20778298be8bc3321476ceb53":[4,0,2,6,11], +"gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e":[4,0,2,6,116], +"gb_8h.html#ab94bfec130df50d9cb808142f94603a5":[4,0,2,6,81], +"gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0":[4,0,2,6,138], +"gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30":[4,0,2,6,172], +"gb_8h.html#abfd70bf31185a4900680977c9fb5a5ec":[4,0,2,6,87], +"gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f":[4,0,2,6,145], +"gb_8h.html#ac70894fecac30c1ca9917f07373cf81c":[4,0,2,6,6], +"gb_8h.html#aca2855edd2d28f66be551a0f7ec23f07":[4,0,2,6,16], +"gb_8h.html#acae13736da20f9fc53e8d38934aa2119":[4,0,2,6,186], +"gb_8h.html#acc9798fc62b5d626c91c8b0f20b522ff":[4,0,2,6,12], +"gb_8h.html#acc9afd0cb72e763a1213d256b942a68f":[4,0,2,6,106], +"gb_8h.html#acd186eb292d441f9389e77b545a55619":[4,0,2,6,122], +"gb_8h.html#acd5ee7a94059e6edbe9223f291bc2b46":[4,0,2,6,146], +"gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55":[4,0,2,6,121], +"gb_8h.html#ad22c51635d052399bbbe1777999c794d":[4,0,2,6,167], +"gb_8h.html#ad2ec9831813c5e7069917aa4455af682":[4,0,2,6,69], +"gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386":[4,0,2,6,94], +"gb_8h.html#ad57f2f8c54204687f02801d8ab1bd150":[4,0,2,6,37], +"gb_8h.html#ad5bc3dc922707507aa51ed7f5b4a21e3":[4,0,2,6,179], +"gb_8h.html#ad77796783b3a601b6f3781dfc3983499":[4,0,2,6,119], +"gb_8h.html#ad90564458646c5646b3880b93db3443e":[4,0,2,6,25], +"gb_8h.html#ada0cc738d27aad251151e69cb8d250e1":[4,0,2,6,32], +"gb_8h.html#adb21d1c7d533a7133bab36a845489780":[4,0,2,6,137], +"gb_8h.html#adb5d0970167b81401113812773c90838":[4,0,2,6,83], +"gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad":[4,0,2,6,131], +"gb_8h.html#adcdec4034a14abc5be9bb88c29b947c9":[4,0,2,6,159], +"gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a":[4,0,2,6,107], +"gb_8h.html#ae032c5c544196e37ec0432f6cfad7904":[4,0,2,6,5], +"gb_8h.html#ae042588f20bf5a2349c8ad8716245233":[4,0,2,6,48], +"gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867":[4,0,2,6,118], +"gb_8h.html#ae189e98d0ef9263c37869ce1ff3710a5":[4,0,2,6,33], +"gb_8h.html#ae202f64307ec00f6970ef9225e54646c":[4,0,2,6,57], +"gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964":[4,0,2,6,110], +"gb_8h.html#ae45b1c639698951b47e44fa8e89556f2":[4,0,2,6,157], +"gb_8h.html#ae47e59a309120f9420993f26816b5e6d":[4,0,2,6,9], +"gb_8h.html#ae97793b4039609f93b0f7f8bddb18011":[4,0,2,6,18], +"gb_8h.html#ae996ed4fd8bb6b308b9c8708a91df06b":[4,0,2,6,39], +"gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79":[4,0,2,6,192], +"gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3":[4,0,2,6,75], +"gb_8h.html#aee03efddee0f2f6fbcaec789301aaa9b":[4,0,2,6,46], +"gb_8h.html#aee435a3a0dde3dbd7b6112dbb456cde8":[4,0,2,6,40], +"gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5":[4,0,2,6,155], +"gb_8h.html#af0e30d6af308ffe5a025fbe85da40f6f":[4,0,2,6,13], +"gb_8h.html#af10046e88cba47031142a763a94210df":[4,0,2,6,3], +"gb_8h.html#af3d632ba2d7cef6619df5dfea8730909":[4,0,2,6,35], +"gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a":[4,0,2,6,162], +"gb_8h.html#af6ac67037de041eb0141ba3725b1db83":[4,0,2,6,175], +"gb_8h.html#af79b920bcb642bba2e652874c4f7eeff":[4,0,2,6,189], +"gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de":[4,0,2,6,150], +"gb_8h.html#af91d252f07f4764996154820f970c101":[4,0,2,6,78], +"gb_8h.html#afd8fd71eaa36b0ddd54a2e8e516ed224":[4,0,2,6,169], +"gb_8h_source.html":[4,0,2,6], "gbdk-lib_8h.html":[4,0,3,5], "gbdk-lib_8h_source.html":[4,0,3,5], "gbdk_2gbdecompress_8h.html":[4,0,3,4], @@ -187,8 +225,8 @@ var NAVTREEINDEX3 = "gbz80_2provides_8h.html#a9dd4f1ec2939e7beb7ef40e350cbba47":[4,0,0,0,0,0], "gbz80_2provides_8h.html#ac6678abba8f5929bc8b33f3202e568f0":[4,0,0,0,0,1], "gbz80_2provides_8h_source.html":[4,0,0,0,0], -"globals.html":[4,1,0,0], "globals.html":[4,1,0], +"globals.html":[4,1,0,0], "globals_a.html":[4,1,0,1], "globals_b.html":[4,1,0,2], "globals_c.html":[4,1,0,3], @@ -211,43 +249,5 @@ var NAVTREEINDEX3 = "globals_defs_n.html":[4,1,4,14], "globals_defs_o.html":[4,1,4,15], "globals_defs_p.html":[4,1,4,16], -"globals_defs_r.html":[4,1,4,17], -"globals_defs_s.html":[4,1,4,18], -"globals_defs_t.html":[4,1,4,19], -"globals_defs_u.html":[4,1,4,20], -"globals_defs_v.html":[4,1,4,21], -"globals_defs_w.html":[4,1,4,22], -"globals_defs_x.html":[4,1,4,23], -"globals_e.html":[4,1,0,5], -"globals_f.html":[4,1,0,6], -"globals_func.html":[4,1,1], -"globals_func.html":[4,1,1,0], -"globals_func_a.html":[4,1,1,1], -"globals_func_b.html":[4,1,1,2], -"globals_func_c.html":[4,1,1,3], -"globals_func_d.html":[4,1,1,4], -"globals_func_e.html":[4,1,1,5], -"globals_func_f.html":[4,1,1,6], -"globals_func_g.html":[4,1,1,7], -"globals_func_h.html":[4,1,1,8], -"globals_func_i.html":[4,1,1,9], -"globals_func_j.html":[4,1,1,10], -"globals_func_l.html":[4,1,1,11], -"globals_func_m.html":[4,1,1,12], -"globals_func_n.html":[4,1,1,13], -"globals_func_p.html":[4,1,1,14], -"globals_func_q.html":[4,1,1,15], -"globals_func_r.html":[4,1,1,16], -"globals_func_s.html":[4,1,1,17], -"globals_func_t.html":[4,1,1,18], -"globals_func_u.html":[4,1,1,19], -"globals_func_v.html":[4,1,1,20], -"globals_func_w.html":[4,1,1,21], -"globals_g.html":[4,1,0,7], -"globals_h.html":[4,1,0,8], -"globals_i.html":[4,1,0,9], -"globals_j.html":[4,1,0,10], -"globals_k.html":[4,1,0,11], -"globals_l.html":[4,1,0,12], -"globals_m.html":[4,1,0,13] +"globals_defs_r.html":[4,1,4,17] }; diff --git a/docs/api/navtreeindex4.js b/docs/api/navtreeindex4.js @@ -1,5 +1,44 @@ var NAVTREEINDEX4 = { +"globals_defs_s.html":[4,1,4,18], +"globals_defs_t.html":[4,1,4,19], +"globals_defs_u.html":[4,1,4,20], +"globals_defs_v.html":[4,1,4,21], +"globals_defs_w.html":[4,1,4,22], +"globals_defs_x.html":[4,1,4,23], +"globals_defs_z.html":[4,1,4,24], +"globals_e.html":[4,1,0,5], +"globals_f.html":[4,1,0,6], +"globals_func.html":[4,1,1], +"globals_func.html":[4,1,1,0], +"globals_func_a.html":[4,1,1,1], +"globals_func_b.html":[4,1,1,2], +"globals_func_c.html":[4,1,1,3], +"globals_func_d.html":[4,1,1,4], +"globals_func_e.html":[4,1,1,5], +"globals_func_f.html":[4,1,1,6], +"globals_func_g.html":[4,1,1,7], +"globals_func_h.html":[4,1,1,8], +"globals_func_i.html":[4,1,1,9], +"globals_func_j.html":[4,1,1,10], +"globals_func_l.html":[4,1,1,11], +"globals_func_m.html":[4,1,1,12], +"globals_func_n.html":[4,1,1,13], +"globals_func_p.html":[4,1,1,14], +"globals_func_q.html":[4,1,1,15], +"globals_func_r.html":[4,1,1,16], +"globals_func_s.html":[4,1,1,17], +"globals_func_t.html":[4,1,1,18], +"globals_func_u.html":[4,1,1,19], +"globals_func_v.html":[4,1,1,20], +"globals_func_w.html":[4,1,1,21], +"globals_g.html":[4,1,0,7], +"globals_h.html":[4,1,0,8], +"globals_i.html":[4,1,0,9], +"globals_j.html":[4,1,0,10], +"globals_k.html":[4,1,0,11], +"globals_l.html":[4,1,0,12], +"globals_m.html":[4,1,0,13], "globals_n.html":[4,1,0,14], "globals_o.html":[4,1,0,15], "globals_p.html":[4,1,0,16], @@ -13,17 +52,18 @@ var NAVTREEINDEX4 = "globals_vars.html":[4,1,2], "globals_w.html":[4,1,0,23], "globals_x.html":[4,1,0,24], +"globals_z.html":[4,1,0,25], "group__gbdk__fonts.html":[2,0], "group__gbdk__fonts.html#ga17e825a65ba38f34a658fe0a2c99d8d4":[2,0,1], "group__gbdk__fonts.html#ga17e825a65ba38f34a658fe0a2c99d8d4":[4,0,3,3,13], "group__gbdk__fonts.html#ga1b59bbd85c12436eeef52d4c32c7345d":[4,0,3,3,12], "group__gbdk__fonts.html#ga1b59bbd85c12436eeef52d4c32c7345d":[2,0,0], -"group__gbdk__fonts.html#ga6dcb04fed78fc39b95171988b776e6bb":[2,0,2], "group__gbdk__fonts.html#ga6dcb04fed78fc39b95171988b776e6bb":[4,0,3,3,14], +"group__gbdk__fonts.html#ga6dcb04fed78fc39b95171988b776e6bb":[2,0,2], "group__gbdk__fonts.html#gab8c52bed73e745f1ee910f2da60ddb4c":[4,0,3,3,16], "group__gbdk__fonts.html#gab8c52bed73e745f1ee910f2da60ddb4c":[2,0,4], -"group__gbdk__fonts.html#gad8497ecbd9d845fc24a56688f157aad8":[2,0,3], "group__gbdk__fonts.html#gad8497ecbd9d845fc24a56688f157aad8":[4,0,3,3,15], +"group__gbdk__fonts.html#gad8497ecbd9d845fc24a56688f157aad8":[2,0,3], "incbin_8h.html":[4,0,3,6], "incbin_8h.html#a42705001e2b9897f5167b67fb36c69dd":[4,0,3,6,2], "incbin_8h.html#a51ab79f8ee37368158b1887b65ef97ec":[4,0,3,6,0], @@ -32,20 +72,20 @@ var NAVTREEINDEX4 = "incbin_8h_source.html":[4,0,3,6], "index.html":[], "index.html":[0], -"index.html#autotoc_md197":[0,0], -"index.html#autotoc_md198":[0,1], -"index.html#autotoc_md199":[0,2], -"index.html#autotoc_md200":[0,3], -"isr_8h.html":[4,0,2,8], -"isr_8h.html#a2cf2cba8468992868fe1f6b6448ffae2":[4,0,2,8,2], -"isr_8h.html#a40dca48ca391581d7f67d8697533cf30":[4,0,2,8,8], -"isr_8h.html#a73769fed9338af86fdb7df35d7b82620":[4,0,2,8,6], -"isr_8h.html#a78f9ef588aaf221023e48899898d566b":[4,0,2,8,7], -"isr_8h.html#a84ca82d76186433c1ec77fde7652b827":[4,0,2,8,3], -"isr_8h.html#a99e64ac886740db0eb63d8ed0235b5c7":[4,0,2,8,9], -"isr_8h.html#a9c51a56a79576c33fcc98579bf7153a1":[4,0,2,8,4], -"isr_8h.html#ac93f10ff354ca76f4030f64a8496303f":[4,0,2,8,5], -"isr_8h_source.html":[4,0,2,8], +"index.html#autotoc_md217":[0,0], +"index.html#autotoc_md218":[0,1], +"index.html#autotoc_md219":[0,2], +"index.html#autotoc_md220":[0,3], +"isr_8h.html":[4,0,2,9], +"isr_8h.html#a2cf2cba8468992868fe1f6b6448ffae2":[4,0,2,9,2], +"isr_8h.html#a40dca48ca391581d7f67d8697533cf30":[4,0,2,9,8], +"isr_8h.html#a73769fed9338af86fdb7df35d7b82620":[4,0,2,9,6], +"isr_8h.html#a78f9ef588aaf221023e48899898d566b":[4,0,2,9,7], +"isr_8h.html#a84ca82d76186433c1ec77fde7652b827":[4,0,2,9,3], +"isr_8h.html#a99e64ac886740db0eb63d8ed0235b5c7":[4,0,2,9,9], +"isr_8h.html#a9c51a56a79576c33fcc98579bf7153a1":[4,0,2,9,4], +"isr_8h.html#ac93f10ff354ca76f4030f64a8496303f":[4,0,2,9,5], +"isr_8h_source.html":[4,0,2,9], "k_2bcd_8h.html":[4,0,3,0], "k_2bcd_8h_source.html":[4,0,3,0], "limits_8h.html":[4,0,10], @@ -73,11 +113,14 @@ var NAVTREEINDEX4 = "platform_8h.html":[4,0,3,8], "platform_8h_source.html":[4,0,3,8], "rand_8h.html":[4,0,11], -"rand_8h.html#a333400f85febd7e1360835955103db8b":[4,0,11,3], -"rand_8h.html#a964538799843c0ba5bd01151ef7e2640":[4,0,11,0], -"rand_8h.html#ac3154758c17a5960a730a0a7c0fa7b0b":[4,0,11,4], -"rand_8h.html#ac659150eb39aae2f523bef6554b19b77":[4,0,11,2], -"rand_8h.html#ad81c61515217f062f5872031a7761fef":[4,0,11,1], +"rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a":[4,0,11,3], +"rand_8h.html#a333400f85febd7e1360835955103db8b":[4,0,11,5], +"rand_8h.html#a67415330a1c7984e4537dac753306804":[4,0,11,6], +"rand_8h.html#a690f251553b39fd4f31894826141b61a":[4,0,11,0], +"rand_8h.html#a6dbd2f1a15221db40f456cf574a793b4":[4,0,11,1], +"rand_8h.html#a7aab2f4a234108a5eae48e0d26380ae7":[4,0,11,7], +"rand_8h.html#a964538799843c0ba5bd01151ef7e2640":[4,0,11,2], +"rand_8h.html#ac659150eb39aae2f523bef6554b19b77":[4,0,11,4], "rand_8h_source.html":[4,0,11], "rledecompress_8h.html":[4,0,3,9], "rledecompress_8h.html#a2b4967f6970ecd99478db3807c68d955":[4,0,3,9,0], @@ -95,159 +138,116 @@ var NAVTREEINDEX4 = "setjmp_8h.html#aebec2c4d6fc67c86fbb297bd79efb27c":[4,0,12,0], "setjmp_8h.html#af04f5d4b814aaac060bca4e9dea7c2a1":[4,0,12,7], "setjmp_8h_source.html":[4,0,12], -"sgb_8h.html":[4,0,2,10], -"sgb_8h.html#a0b3366755f3276b0243c1e0497471b7a":[4,0,2,10,27], -"sgb_8h.html#a1762d2df2599cf864400bac4934a5d61":[4,0,2,10,21], -"sgb_8h.html#a20477d5772564b63de2d151e062dd5a7":[4,0,2,10,23], -"sgb_8h.html#a3b76bf1e9ac81da97c533fa3ab12096c":[4,0,2,10,24], -"sgb_8h.html#a3d81b1e455d60d760ee58e2685953775":[4,0,2,10,12], -"sgb_8h.html#a41981a213b67bdc45bf8ed78f07e7bba":[4,0,2,10,7], -"sgb_8h.html#a42e0fbc58e65874e0a76d7f33a322ce8":[4,0,2,10,8], -"sgb_8h.html#a45a1526789b51eea852adcfb3392fde0":[4,0,2,10,26], -"sgb_8h.html#a46440df1df1597852a286d56c1a68a48":[4,0,2,10,14], -"sgb_8h.html#a6437bd5982922fffdbc7c5d8c643e357":[4,0,2,10,4], -"sgb_8h.html#a70aad9e5786ca8a4753c47583e88f8a2":[4,0,2,10,17], -"sgb_8h.html#a70bdb512d109fbcaeb95efa32e9dcaf5":[4,0,2,10,0], -"sgb_8h.html#a82a976ea6a32ae0078a27e3c06143bcf":[4,0,2,10,9], -"sgb_8h.html#a862a450451cfccf138311089b85292fc":[4,0,2,10,16], -"sgb_8h.html#a8d633d52d4a7adfaef516953d5e8552a":[4,0,2,10,3], -"sgb_8h.html#a8e644a43af63932283e9c78a472881dc":[4,0,2,10,13], -"sgb_8h.html#aac4217b88053614f70af5b1f32e72870":[4,0,2,10,18], -"sgb_8h.html#abf8d94c42e97e1ce640340657df70640":[4,0,2,10,22], -"sgb_8h.html#ac0bf9d5dc54d711fd14f44bf58eaa5db":[4,0,2,10,20], -"sgb_8h.html#ac490ce8566f869727e8b00fabb1c9fc6":[4,0,2,10,11], -"sgb_8h.html#acaa2f1ac9949189896582fc5ad0823b1":[4,0,2,10,1], -"sgb_8h.html#ad9023ed1d8dd4a2eebc55a376207f3d2":[4,0,2,10,10], -"sgb_8h.html#adcb3f50616813637283f88bfd4d53e22":[4,0,2,10,6], -"sgb_8h.html#ade5ba9723a9964e55cff72108149037a":[4,0,2,10,5], -"sgb_8h.html#ae15ee98a319dec8aa94a5ce6790056ee":[4,0,2,10,25], -"sgb_8h.html#ae4fe10a0c9eca38d126f3a8701e3c9a2":[4,0,2,10,15], -"sgb_8h.html#af4d8b611dfdda33039038375ee95f424":[4,0,2,10,19], -"sgb_8h.html#af9e1ca804555fad619db3f38b62a49e8":[4,0,2,10,2], -"sgb_8h_source.html":[4,0,2,10], +"sgb_8h.html":[4,0,2,11], +"sgb_8h.html#a0b3366755f3276b0243c1e0497471b7a":[4,0,2,11,27], +"sgb_8h.html#a1762d2df2599cf864400bac4934a5d61":[4,0,2,11,21], +"sgb_8h.html#a20477d5772564b63de2d151e062dd5a7":[4,0,2,11,23], +"sgb_8h.html#a3b76bf1e9ac81da97c533fa3ab12096c":[4,0,2,11,24], +"sgb_8h.html#a3d81b1e455d60d760ee58e2685953775":[4,0,2,11,12], +"sgb_8h.html#a41981a213b67bdc45bf8ed78f07e7bba":[4,0,2,11,7], +"sgb_8h.html#a42e0fbc58e65874e0a76d7f33a322ce8":[4,0,2,11,8], +"sgb_8h.html#a46440df1df1597852a286d56c1a68a48":[4,0,2,11,14], +"sgb_8h.html#a48bc560ec2455bf97002e03c0a6055f0":[4,0,2,11,25], +"sgb_8h.html#a6437bd5982922fffdbc7c5d8c643e357":[4,0,2,11,4], +"sgb_8h.html#a70aad9e5786ca8a4753c47583e88f8a2":[4,0,2,11,17], +"sgb_8h.html#a70bdb512d109fbcaeb95efa32e9dcaf5":[4,0,2,11,0], +"sgb_8h.html#a82a976ea6a32ae0078a27e3c06143bcf":[4,0,2,11,9], +"sgb_8h.html#a84e1f2ab7dce1faabd3d271b6bf8df8c":[4,0,2,11,26], +"sgb_8h.html#a862a450451cfccf138311089b85292fc":[4,0,2,11,16], +"sgb_8h.html#a8d633d52d4a7adfaef516953d5e8552a":[4,0,2,11,3], +"sgb_8h.html#a8e644a43af63932283e9c78a472881dc":[4,0,2,11,13], +"sgb_8h.html#aac4217b88053614f70af5b1f32e72870":[4,0,2,11,18], +"sgb_8h.html#abf8d94c42e97e1ce640340657df70640":[4,0,2,11,22], +"sgb_8h.html#ac0bf9d5dc54d711fd14f44bf58eaa5db":[4,0,2,11,20], +"sgb_8h.html#ac490ce8566f869727e8b00fabb1c9fc6":[4,0,2,11,11], +"sgb_8h.html#acaa2f1ac9949189896582fc5ad0823b1":[4,0,2,11,1], +"sgb_8h.html#ad9023ed1d8dd4a2eebc55a376207f3d2":[4,0,2,11,10], +"sgb_8h.html#adcb3f50616813637283f88bfd4d53e22":[4,0,2,11,6], +"sgb_8h.html#ade5ba9723a9964e55cff72108149037a":[4,0,2,11,5], +"sgb_8h.html#ae4fe10a0c9eca38d126f3a8701e3c9a2":[4,0,2,11,15], +"sgb_8h.html#af4d8b611dfdda33039038375ee95f424":[4,0,2,11,19], +"sgb_8h.html#af9e1ca804555fad619db3f38b62a49e8":[4,0,2,11,2], +"sgb_8h_source.html":[4,0,2,11], "sms_2gbdecompress_8h.html":[4,0,4,0], -"sms_2gbdecompress_8h.html#a4f181b96c71ce66abdd46928b3975ade":[4,0,4,0,0], +"sms_2gbdecompress_8h.html#a9cd1564f78842562c450becf22002db2":[4,0,4,0,0], "sms_2gbdecompress_8h.html#add06ad5d8520e7cff4ff84b2811c0982":[4,0,4,0,1], "sms_2gbdecompress_8h_source.html":[4,0,4,0], "sms_2hardware_8h.html":[4,0,4,1], -"sms_2hardware_8h.html#a0167c8f86de8ef1a327b806c8ed0c64c":[4,0,4,1,89], -"sms_2hardware_8h.html#a019bf78a6d586c987aec03af8d20e02f":[4,0,4,1,114], -"sms_2hardware_8h.html#a07d8e5a18c957c482218804ab764dab9":[4,0,4,1,33], -"sms_2hardware_8h.html#a086bde6bcc92e5f4d3e9ae45f0de475e":[4,0,4,1,71], -"sms_2hardware_8h.html#a08fade3bc2afb94785b0ac50d6959faa":[4,0,4,1,47], -"sms_2hardware_8h.html#a1049d2a3f634380f4dffff619334a504":[4,0,4,1,68], -"sms_2hardware_8h.html#a10e6ffa0580e9956440f4259a3e79a38":[4,0,4,1,29], -"sms_2hardware_8h.html#a143660061646a3f502d03a2251575588":[4,0,4,1,36], -"sms_2hardware_8h.html#a16dac3d386b8bc0da50c6c814952472d":[4,0,4,1,81], -"sms_2hardware_8h.html#a1aba84d3beebe43e641766525630d0ad":[4,0,4,1,57], -"sms_2hardware_8h.html#a1ac4bf5582e0754ea814c3f51c99a91a":[4,0,4,1,93], -"sms_2hardware_8h.html#a1ccce1e3f8acb76170fb752ee40ae659":[4,0,4,1,109], -"sms_2hardware_8h.html#a1efece9134651ad4d2bd1836c1d1d6d6":[4,0,4,1,74], -"sms_2hardware_8h.html#a20a977182f6f5f60ee6464e15f05aed0":[4,0,4,1,106], -"sms_2hardware_8h.html#a2121cb75e0d570b0f92c7630bc1af25f":[4,0,4,1,80], -"sms_2hardware_8h.html#a221db76cb39200a948234330ed309af7":[4,0,4,1,103], +"sms_2hardware_8h.html#a0167c8f86de8ef1a327b806c8ed0c64c":[4,0,4,1,95], +"sms_2hardware_8h.html#a019bf78a6d586c987aec03af8d20e02f":[4,0,4,1,120], +"sms_2hardware_8h.html#a07d8e5a18c957c482218804ab764dab9":[4,0,4,1,39], +"sms_2hardware_8h.html#a086bde6bcc92e5f4d3e9ae45f0de475e":[4,0,4,1,77], +"sms_2hardware_8h.html#a08fade3bc2afb94785b0ac50d6959faa":[4,0,4,1,53], +"sms_2hardware_8h.html#a1049d2a3f634380f4dffff619334a504":[4,0,4,1,74], +"sms_2hardware_8h.html#a10e6ffa0580e9956440f4259a3e79a38":[4,0,4,1,35], +"sms_2hardware_8h.html#a143660061646a3f502d03a2251575588":[4,0,4,1,42], +"sms_2hardware_8h.html#a16dac3d386b8bc0da50c6c814952472d":[4,0,4,1,87], +"sms_2hardware_8h.html#a1aba84d3beebe43e641766525630d0ad":[4,0,4,1,63], +"sms_2hardware_8h.html#a1ac4bf5582e0754ea814c3f51c99a91a":[4,0,4,1,99], +"sms_2hardware_8h.html#a1ccce1e3f8acb76170fb752ee40ae659":[4,0,4,1,115], +"sms_2hardware_8h.html#a1efece9134651ad4d2bd1836c1d1d6d6":[4,0,4,1,80], +"sms_2hardware_8h.html#a20a977182f6f5f60ee6464e15f05aed0":[4,0,4,1,112], +"sms_2hardware_8h.html#a2121cb75e0d570b0f92c7630bc1af25f":[4,0,4,1,86], +"sms_2hardware_8h.html#a221db76cb39200a948234330ed309af7":[4,0,4,1,109], "sms_2hardware_8h.html#a25882a19ebfb78cd09158a5f743a6409":[4,0,4,1,11], "sms_2hardware_8h.html#a27b47b593a0d021ab342dfc744403b86":[4,0,4,1,10], -"sms_2hardware_8h.html#a283c5cad8b93ee7e72ad07aabb9bf522":[4,0,4,1,21], -"sms_2hardware_8h.html#a292b59055beb22b566b39462da3b7eba":[4,0,4,1,110], -"sms_2hardware_8h.html#a294388f3d14b6fec1f1bbeafc7d0f91e":[4,0,4,1,66], -"sms_2hardware_8h.html#a29a2945a9e77ba1f003a2305b7500568":[4,0,4,1,39], +"sms_2hardware_8h.html#a283c5cad8b93ee7e72ad07aabb9bf522":[4,0,4,1,27], +"sms_2hardware_8h.html#a292b59055beb22b566b39462da3b7eba":[4,0,4,1,116], +"sms_2hardware_8h.html#a294388f3d14b6fec1f1bbeafc7d0f91e":[4,0,4,1,72], +"sms_2hardware_8h.html#a29a2945a9e77ba1f003a2305b7500568":[4,0,4,1,45], "sms_2hardware_8h.html#a29d7c3b98f855f88d6bb3f380b301d64":[4,0,4,1,5], -"sms_2hardware_8h.html#a2a58ae82037e16756404df4820a23f47":[4,0,4,1,51], +"sms_2hardware_8h.html#a2a58ae82037e16756404df4820a23f47":[4,0,4,1,57], "sms_2hardware_8h.html#a2a98128eb9ca41477c139988da9d803f":[4,0,4,1,4], -"sms_2hardware_8h.html#a2c9f91fcf2aad494a80e967f0c4bb414":[4,0,4,1,42], +"sms_2hardware_8h.html#a2c9f91fcf2aad494a80e967f0c4bb414":[4,0,4,1,48], "sms_2hardware_8h.html#a2cfa517650949a89a7ebabf0253fcdf7":[4,0,4,1,15], -"sms_2hardware_8h.html#a307ba8e12d9273a99aa4830c5e0a3c88":[4,0,4,1,78], -"sms_2hardware_8h.html#a33b3e7c120a579cb729caf588ba1d9a8":[4,0,4,1,105], +"sms_2hardware_8h.html#a307ba8e12d9273a99aa4830c5e0a3c88":[4,0,4,1,84], +"sms_2hardware_8h.html#a33b3e7c120a579cb729caf588ba1d9a8":[4,0,4,1,111], "sms_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8":[4,0,4,1,1], -"sms_2hardware_8h.html#a3cb38487469808e023fcb331c180c4b9":[4,0,4,1,64], -"sms_2hardware_8h.html#a3cce162b45d638126c478c5b6f7bcbc7":[4,0,4,1,67], -"sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d":[4,0,4,1,34], +"sms_2hardware_8h.html#a3cb38487469808e023fcb331c180c4b9":[4,0,4,1,70], +"sms_2hardware_8h.html#a3cce162b45d638126c478c5b6f7bcbc7":[4,0,4,1,73], +"sms_2hardware_8h.html#a3d806ff027bffa67c4dfc5967f87c1d1":[4,0,4,1,21], +"sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d":[4,0,4,1,40], "sms_2hardware_8h.html#a41654dd6b42ebdd213edc44494855caf":[4,0,4,1,12], -"sms_2hardware_8h.html#a42ded04442bd4fb4acf5333b248423fa":[4,0,4,1,87], -"sms_2hardware_8h.html#a43a631b4692a370b2db6b9d5fc2512e1":[4,0,4,1,48], -"sms_2hardware_8h.html#a43ae738f82e8c6e84d30a96fb9c2c792":[4,0,4,1,45], -"sms_2hardware_8h.html#a4702e74fffdc57d60c3835e63c665cc1":[4,0,4,1,16], -"sms_2hardware_8h.html#a490562a6e4b57d7bf25e8fed3b3f6905":[4,0,4,1,35], -"sms_2hardware_8h.html#a4985d6df1031afe8efb993f9c480ca12":[4,0,4,1,41], -"sms_2hardware_8h.html#a4a7b807e5e5987302a5315fe5c815ce8":[4,0,4,1,17], -"sms_2hardware_8h.html#a542cb696f242df44b0d8e9225d532ef4":[4,0,4,1,99], -"sms_2hardware_8h.html#a56819f822caf1e545ff803d41cac3ede":[4,0,4,1,27], -"sms_2hardware_8h.html#a5b3dff084cbb77646a337d94d16a1714":[4,0,4,1,85], -"sms_2hardware_8h.html#a5c238a0b81716020b92cf851b2498b96":[4,0,4,1,24], -"sms_2hardware_8h.html#a5d1f215594c86a9e3d670f5a7f89e301":[4,0,4,1,52], -"sms_2hardware_8h.html#a61143072ad490ff0050177e7b4b2dd40":[4,0,4,1,23], -"sms_2hardware_8h.html#a64cfebfe759bacd1424ad147931ff5a3":[4,0,4,1,49], -"sms_2hardware_8h.html#a65fa6547c2cd80b353a0b266cd834ff0":[4,0,4,1,22], -"sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6":[4,0,4,1,20], -"sms_2hardware_8h.html#a6d181ce63ff84bd559d13f4423a336b3":[4,0,4,1,84], -"sms_2hardware_8h.html#a6d4129d670d421656f5e9a1f4b68a7f4":[4,0,4,1,79], -"sms_2hardware_8h.html#a6fdd982d805d5af6de0417e24faf027d":[4,0,4,1,18], -"sms_2hardware_8h.html#a7093bf38c5e663715f4efed44341502d":[4,0,4,1,113], -"sms_2hardware_8h.html#a725647b41b3c8083a7ae8db762ffc880":[4,0,4,1,44], -"sms_2hardware_8h.html#a735fc9fb4f089391a584293f2dff1008":[4,0,4,1,112], -"sms_2hardware_8h.html#a75e2c9878fe4cc7c86f71d8e8fa09924":[4,0,4,1,53], -"sms_2hardware_8h.html#a772c8def7b33ad4fd3cbfc74d84441de":[4,0,4,1,86], +"sms_2hardware_8h.html#a42ded04442bd4fb4acf5333b248423fa":[4,0,4,1,93], +"sms_2hardware_8h.html#a43a631b4692a370b2db6b9d5fc2512e1":[4,0,4,1,54], +"sms_2hardware_8h.html#a43ae738f82e8c6e84d30a96fb9c2c792":[4,0,4,1,51], +"sms_2hardware_8h.html#a4702e74fffdc57d60c3835e63c665cc1":[4,0,4,1,22], +"sms_2hardware_8h.html#a490562a6e4b57d7bf25e8fed3b3f6905":[4,0,4,1,41], +"sms_2hardware_8h.html#a4985d6df1031afe8efb993f9c480ca12":[4,0,4,1,47], +"sms_2hardware_8h.html#a4a7b807e5e5987302a5315fe5c815ce8":[4,0,4,1,23], +"sms_2hardware_8h.html#a542cb696f242df44b0d8e9225d532ef4":[4,0,4,1,105], +"sms_2hardware_8h.html#a56819f822caf1e545ff803d41cac3ede":[4,0,4,1,33], +"sms_2hardware_8h.html#a5b3dff084cbb77646a337d94d16a1714":[4,0,4,1,91], +"sms_2hardware_8h.html#a5c238a0b81716020b92cf851b2498b96":[4,0,4,1,30], +"sms_2hardware_8h.html#a5d1f215594c86a9e3d670f5a7f89e301":[4,0,4,1,58], +"sms_2hardware_8h.html#a61143072ad490ff0050177e7b4b2dd40":[4,0,4,1,29], +"sms_2hardware_8h.html#a64cfebfe759bacd1424ad147931ff5a3":[4,0,4,1,55], +"sms_2hardware_8h.html#a65fa6547c2cd80b353a0b266cd834ff0":[4,0,4,1,28], +"sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6":[4,0,4,1,26], +"sms_2hardware_8h.html#a6777f1ed2475b5ba6aa60b9a16fa02d3":[4,0,4,1,16], +"sms_2hardware_8h.html#a6d181ce63ff84bd559d13f4423a336b3":[4,0,4,1,90], +"sms_2hardware_8h.html#a6d4129d670d421656f5e9a1f4b68a7f4":[4,0,4,1,85], +"sms_2hardware_8h.html#a6fdd982d805d5af6de0417e24faf027d":[4,0,4,1,24], +"sms_2hardware_8h.html#a7093bf38c5e663715f4efed44341502d":[4,0,4,1,119], +"sms_2hardware_8h.html#a725647b41b3c8083a7ae8db762ffc880":[4,0,4,1,50], +"sms_2hardware_8h.html#a735fc9fb4f089391a584293f2dff1008":[4,0,4,1,118], +"sms_2hardware_8h.html#a75e2c9878fe4cc7c86f71d8e8fa09924":[4,0,4,1,59], +"sms_2hardware_8h.html#a772c8def7b33ad4fd3cbfc74d84441de":[4,0,4,1,92], "sms_2hardware_8h.html#a79ca0cc4a9979b2eeaeda61b043b36ae":[4,0,4,1,9], -"sms_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec":[4,0,4,1,97], -"sms_2hardware_8h.html#a7d709160cbd7b369109bf40161ae8ccd":[4,0,4,1,73], -"sms_2hardware_8h.html#a7f7fa2c0e33c6d515332a50c2acb54e7":[4,0,4,1,100], -"sms_2hardware_8h.html#a81289f179bb00ade9e4f7221ddff0e46":[4,0,4,1,58], -"sms_2hardware_8h.html#a81ae7462829d0fcc65c3c99194a68772":[4,0,4,1,56], -"sms_2hardware_8h.html#a83088549f6d87bf5ccb8bf51dfe7ea7b":[4,0,4,1,26], -"sms_2hardware_8h.html#a8728acabf97eae3322439bc3cb41b02d":[4,0,4,1,90], -"sms_2hardware_8h.html#a8afbdaaf8c6dee4e7482a341351344b4":[4,0,4,1,104], -"sms_2hardware_8h.html#a8ce8807a3666fa8c7c93d4834ab22fe3":[4,0,4,1,43], -"sms_2hardware_8h.html#a8f4dbe8a2e6389c78b9f6fb9a3ff1dca":[4,0,4,1,88], -"sms_2hardware_8h.html#a942e3ecdef267100c84a36f6e0dc0b51":[4,0,4,1,82], -"sms_2hardware_8h.html#a97eb5adb5f29e17ce5766728447317f5":[4,0,4,1,92], -"sms_2hardware_8h.html#a98d635ed568cfe9f853eaf7e1707dec4":[4,0,4,1,69], -"sms_2hardware_8h.html#a99ca7572e3708ffed188359799045b19":[4,0,4,1,19], -"sms_2hardware_8h.html#a9ab9954d0c66751a154f7824e344806b":[4,0,4,1,77], -"sms_2hardware_8h.html#a9c49833bc96a70b8972027d28c816d2f":[4,0,4,1,65], -"sms_2hardware_8h.html#aa1a024a7dc26ef40663fe283565bcf50":[4,0,4,1,63], -"sms_2hardware_8h.html#aa2c53c6a4d12fb0614c1a18c015e39af":[4,0,4,1,46], -"sms_2hardware_8h.html#aa4062707b9b0f9ff5d1ee982ccc42fe7":[4,0,4,1,40], -"sms_2hardware_8h.html#aa80cb68338819c004095531d32b70e38":[4,0,4,1,98], -"sms_2hardware_8h.html#aa82ab1c04cff3363327f3309d09ae638":[4,0,4,1,61], -"sms_2hardware_8h.html#aa8e128eeff1d58f674cebdbacc413f3c":[4,0,4,1,14], -"sms_2hardware_8h.html#aacc8667a6d5d9683ed4876e52aba2d33":[4,0,4,1,75], -"sms_2hardware_8h.html#ab0ea6874bcc910239b098025c9761c01":[4,0,4,1,55], -"sms_2hardware_8h.html#ab2767d5f8f0ad35d8c8ee0bb3f4c51c3":[4,0,4,1,0], -"sms_2hardware_8h.html#ab4dd6ee624c6d9e5fe5820ce925ffb20":[4,0,4,1,72], -"sms_2hardware_8h.html#ab984056ff9eb011fbd84abdafb3a8bce":[4,0,4,1,101], -"sms_2hardware_8h.html#abef00e3cae6f12d97973b318ebbf9737":[4,0,4,1,62], -"sms_2hardware_8h.html#ac4c1790dd7397ef1005190dc01b3e808":[4,0,4,1,13], -"sms_2hardware_8h.html#ac59ac38e5ec2e23e511f854403d7cbe4":[4,0,4,1,60], -"sms_2hardware_8h.html#acdd680365862fb618641818646edeb7e":[4,0,4,1,25], -"sms_2hardware_8h.html#acf804b73635a1bfeb04b7dbeafb7fd9f":[4,0,4,1,50], -"sms_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d":[4,0,4,1,96], -"sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c":[4,0,4,1,95], -"sms_2hardware_8h.html#ad729a51cb551d9ee8bfb57c50c9dfd11":[4,0,4,1,8], -"sms_2hardware_8h.html#ad8b8ecb5a71567cabc47af43da5dadf1":[4,0,4,1,3], -"sms_2hardware_8h.html#ada8068942691b363f9004ccfd0cb8e82":[4,0,4,1,30], -"sms_2hardware_8h.html#adbfdd7c42539613c371820dffd14906f":[4,0,4,1,37], -"sms_2hardware_8h.html#adbfef6bdd2da5ba3901e91062390bb68":[4,0,4,1,7], -"sms_2hardware_8h.html#adcc51095e67b158df848367761d735a4":[4,0,4,1,59], -"sms_2hardware_8h.html#add65b8e5f0b806e563ce27de7348ba31":[4,0,4,1,107], -"sms_2hardware_8h.html#adf542fd9d2bf9affc6016718e3885473":[4,0,4,1,38], -"sms_2hardware_8h.html#adf9e7ec5362058df23e1c0e4c06ad5d6":[4,0,4,1,70], -"sms_2hardware_8h.html#ae6888157a94fca2f1a1b5136494f2e07":[4,0,4,1,94], -"sms_2hardware_8h.html#ae973ce797203f9e4bebc10f5010a8fdd":[4,0,4,1,54], -"sms_2hardware_8h.html#ae9ab439a46f9918cc24453cd65f95202":[4,0,4,1,28], -"sms_2hardware_8h.html#aebdf04065a0abf79ae8e1016d03caa1f":[4,0,4,1,32], -"sms_2hardware_8h.html#af29f72f4cc7c94deae5fb9c29b1cc94f":[4,0,4,1,76], -"sms_2hardware_8h.html#af310a900e3b4b5b5032f4ffd6fa309b0":[4,0,4,1,111], -"sms_2hardware_8h.html#af4522efccaecbb6ce47a337f6dbada24":[4,0,4,1,6], -"sms_2hardware_8h.html#af4607245a47e34bd6af5d2d43d7fb30f":[4,0,4,1,2], -"sms_2hardware_8h.html#af69775608c5d3218fb769c4fb370685f":[4,0,4,1,31], -"sms_2hardware_8h.html#af6a84b0288b045560f83a1944a8c1c3b":[4,0,4,1,108], -"sms_2hardware_8h.html#af9a30a728fedbe7e4c660c448c262e2c":[4,0,4,1,102], -"sms_2hardware_8h.html#afa9ebb221cf9cd92038131ab588679bf":[4,0,4,1,91], -"sms_2hardware_8h.html#afe5ec4ca4d413ae5388be131d9c4f93b":[4,0,4,1,83], -"sms_2hardware_8h_source.html":[4,0,4,1], -"sms_2metasprites_8h.html":[4,0,4,2], -"sms_2metasprites_8h.html#a23abcd0a2eb5033abbb9dc0e2ea494d8":[4,0,4,2,5], -"sms_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f":[4,0,4,2,9], -"sms_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39":[4,0,4,2,10] +"sms_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec":[4,0,4,1,103], +"sms_2hardware_8h.html#a7d709160cbd7b369109bf40161ae8ccd":[4,0,4,1,79], +"sms_2hardware_8h.html#a7f7fa2c0e33c6d515332a50c2acb54e7":[4,0,4,1,106], +"sms_2hardware_8h.html#a81289f179bb00ade9e4f7221ddff0e46":[4,0,4,1,64], +"sms_2hardware_8h.html#a81ae7462829d0fcc65c3c99194a68772":[4,0,4,1,62], +"sms_2hardware_8h.html#a83088549f6d87bf5ccb8bf51dfe7ea7b":[4,0,4,1,32], +"sms_2hardware_8h.html#a8728acabf97eae3322439bc3cb41b02d":[4,0,4,1,96], +"sms_2hardware_8h.html#a8afbdaaf8c6dee4e7482a341351344b4":[4,0,4,1,110], +"sms_2hardware_8h.html#a8ce8807a3666fa8c7c93d4834ab22fe3":[4,0,4,1,49], +"sms_2hardware_8h.html#a8f4dbe8a2e6389c78b9f6fb9a3ff1dca":[4,0,4,1,94], +"sms_2hardware_8h.html#a942e3ecdef267100c84a36f6e0dc0b51":[4,0,4,1,88], +"sms_2hardware_8h.html#a97eb5adb5f29e17ce5766728447317f5":[4,0,4,1,98], +"sms_2hardware_8h.html#a98d635ed568cfe9f853eaf7e1707dec4":[4,0,4,1,75], +"sms_2hardware_8h.html#a99ca7572e3708ffed188359799045b19":[4,0,4,1,25], +"sms_2hardware_8h.html#a9ab9954d0c66751a154f7824e344806b":[4,0,4,1,83], +"sms_2hardware_8h.html#a9c49833bc96a70b8972027d28c816d2f":[4,0,4,1,71] }; diff --git a/docs/api/navtreeindex5.js b/docs/api/navtreeindex5.js @@ -1,5 +1,54 @@ var NAVTREEINDEX5 = { +"sms_2hardware_8h.html#aa1a024a7dc26ef40663fe283565bcf50":[4,0,4,1,69], +"sms_2hardware_8h.html#aa2c53c6a4d12fb0614c1a18c015e39af":[4,0,4,1,52], +"sms_2hardware_8h.html#aa4062707b9b0f9ff5d1ee982ccc42fe7":[4,0,4,1,46], +"sms_2hardware_8h.html#aa80cb68338819c004095531d32b70e38":[4,0,4,1,104], +"sms_2hardware_8h.html#aa82ab1c04cff3363327f3309d09ae638":[4,0,4,1,67], +"sms_2hardware_8h.html#aa8e128eeff1d58f674cebdbacc413f3c":[4,0,4,1,14], +"sms_2hardware_8h.html#aacc8667a6d5d9683ed4876e52aba2d33":[4,0,4,1,81], +"sms_2hardware_8h.html#aaeefb1ac1fb4d0d2324b8ee7f4953226":[4,0,4,1,19], +"sms_2hardware_8h.html#ab0ea6874bcc910239b098025c9761c01":[4,0,4,1,61], +"sms_2hardware_8h.html#ab2767d5f8f0ad35d8c8ee0bb3f4c51c3":[4,0,4,1,0], +"sms_2hardware_8h.html#ab4dd6ee624c6d9e5fe5820ce925ffb20":[4,0,4,1,78], +"sms_2hardware_8h.html#ab984056ff9eb011fbd84abdafb3a8bce":[4,0,4,1,107], +"sms_2hardware_8h.html#abef00e3cae6f12d97973b318ebbf9737":[4,0,4,1,68], +"sms_2hardware_8h.html#ac4c1790dd7397ef1005190dc01b3e808":[4,0,4,1,13], +"sms_2hardware_8h.html#ac59ac38e5ec2e23e511f854403d7cbe4":[4,0,4,1,66], +"sms_2hardware_8h.html#ac760259fb86ee72abb5922018ae0db42":[4,0,4,1,20], +"sms_2hardware_8h.html#acdd680365862fb618641818646edeb7e":[4,0,4,1,31], +"sms_2hardware_8h.html#acf804b73635a1bfeb04b7dbeafb7fd9f":[4,0,4,1,56], +"sms_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d":[4,0,4,1,102], +"sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c":[4,0,4,1,101], +"sms_2hardware_8h.html#ad729a51cb551d9ee8bfb57c50c9dfd11":[4,0,4,1,8], +"sms_2hardware_8h.html#ad8a903de6b38e08e1591fc5ef278381c":[4,0,4,1,17], +"sms_2hardware_8h.html#ad8b8ecb5a71567cabc47af43da5dadf1":[4,0,4,1,3], +"sms_2hardware_8h.html#ada8068942691b363f9004ccfd0cb8e82":[4,0,4,1,36], +"sms_2hardware_8h.html#adbfdd7c42539613c371820dffd14906f":[4,0,4,1,43], +"sms_2hardware_8h.html#adbfef6bdd2da5ba3901e91062390bb68":[4,0,4,1,7], +"sms_2hardware_8h.html#adcc51095e67b158df848367761d735a4":[4,0,4,1,65], +"sms_2hardware_8h.html#add65b8e5f0b806e563ce27de7348ba31":[4,0,4,1,113], +"sms_2hardware_8h.html#addc12c4ee03ea787b826e337f1acd317":[4,0,4,1,18], +"sms_2hardware_8h.html#adf542fd9d2bf9affc6016718e3885473":[4,0,4,1,44], +"sms_2hardware_8h.html#adf9e7ec5362058df23e1c0e4c06ad5d6":[4,0,4,1,76], +"sms_2hardware_8h.html#ae6888157a94fca2f1a1b5136494f2e07":[4,0,4,1,100], +"sms_2hardware_8h.html#ae973ce797203f9e4bebc10f5010a8fdd":[4,0,4,1,60], +"sms_2hardware_8h.html#ae9ab439a46f9918cc24453cd65f95202":[4,0,4,1,34], +"sms_2hardware_8h.html#aebdf04065a0abf79ae8e1016d03caa1f":[4,0,4,1,38], +"sms_2hardware_8h.html#af29f72f4cc7c94deae5fb9c29b1cc94f":[4,0,4,1,82], +"sms_2hardware_8h.html#af310a900e3b4b5b5032f4ffd6fa309b0":[4,0,4,1,117], +"sms_2hardware_8h.html#af4522efccaecbb6ce47a337f6dbada24":[4,0,4,1,6], +"sms_2hardware_8h.html#af4607245a47e34bd6af5d2d43d7fb30f":[4,0,4,1,2], +"sms_2hardware_8h.html#af69775608c5d3218fb769c4fb370685f":[4,0,4,1,37], +"sms_2hardware_8h.html#af6a84b0288b045560f83a1944a8c1c3b":[4,0,4,1,114], +"sms_2hardware_8h.html#af9a30a728fedbe7e4c660c448c262e2c":[4,0,4,1,108], +"sms_2hardware_8h.html#afa9ebb221cf9cd92038131ab588679bf":[4,0,4,1,97], +"sms_2hardware_8h.html#afe5ec4ca4d413ae5388be131d9c4f93b":[4,0,4,1,89], +"sms_2hardware_8h_source.html":[4,0,4,1], +"sms_2metasprites_8h.html":[4,0,4,2], +"sms_2metasprites_8h.html#a0c668f442b4764275a1dade597a59e20":[4,0,4,2,5], +"sms_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f":[4,0,4,2,9], +"sms_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39":[4,0,4,2,10], "sms_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b":[4,0,4,2,6], "sms_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a":[4,0,4,2,1], "sms_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a":[4,0,4,2,3], @@ -11,154 +60,160 @@ var NAVTREEINDEX5 = "sms_2metasprites_8h_source.html":[4,0,4,2], "sms_8h.html":[4,0,4,3], "sms_8h.html#a04382de20738146fe873ddfb0585052b":[4,0,4,3,11], -"sms_8h.html#a049c5d8c901a23cccf95b02a911f9212":[4,0,4,3,85], -"sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe":[4,0,4,3,126], +"sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe":[4,0,4,3,130], "sms_8h.html#a05ca817ab32f6da612c3ae26db5abf02":[4,0,4,3,3], "sms_8h.html#a0659212acd317ccdebc0ecf435df330f":[4,0,4,3,33], "sms_8h.html#a086293f2afb4c7945460a4496b20aea3":[4,0,4,3,47], -"sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e":[4,0,4,3,138], -"sms_8h.html#a0b3366755f3276b0243c1e0497471b7a":[4,0,4,3,137], -"sms_8h.html#a0bd9fc648e26b8d494d082343f19d9ad":[4,0,4,3,77], -"sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298":[4,0,4,3,121], +"sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e":[4,0,4,3,142], +"sms_8h.html#a0b3366755f3276b0243c1e0497471b7a":[4,0,4,3,141], +"sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298":[4,0,4,3,123], "sms_8h.html#a0e9c88657beaac946231a4801481b97f":[4,0,4,3,53], "sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a":[4,0,4,3,110], -"sms_8h.html#a10fc1ec5a17a7d25d95241db0f458eb9":[4,0,4,3,80], "sms_8h.html#a121feb0c32d124562f52398aa9656e7b":[4,0,4,3,52], -"sms_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1":[4,0,4,3,93], -"sms_8h.html#a17416b1bb39989e82948e3a97f23187f":[4,0,4,3,83], -"sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6":[4,0,4,3,81], -"sms_8h.html#a18ce02bf91fd93098176b5bcc94cdf4a":[4,0,4,3,133], +"sms_8h.html#a14fc41e69085b5aa3da2fae9a2aa3ef3":[4,0,4,3,117], +"sms_8h.html#a176c477d759b814664785f3a0ad5e253":[4,0,4,3,93], "sms_8h.html#a19e5fbd76b85bf708ec31d55905fc537":[4,0,4,3,1], -"sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456":[4,0,4,3,142], +"sms_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0":[4,0,4,3,126], +"sms_8h.html#a1d45c65829490c5ec98362f5e60edc20":[4,0,4,3,97], +"sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456":[4,0,4,3,146], "sms_8h.html#a1f583f7a880daa6145ca78b086a209d1":[4,0,4,3,88], "sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39":[4,0,4,3,108], +"sms_8h.html#a217232c82eb5f99f7639b5786ce5abc6":[4,0,4,3,92], "sms_8h.html#a2215732f2ba2ec6406b65d3cca56a200":[4,0,4,3,55], -"sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f":[4,0,4,3,145], +"sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f":[4,0,4,3,149], "sms_8h.html#a231ec05679809190782e61c6e8aaaba4":[4,0,4,3,43], +"sms_8h.html#a24764a152441b966ea04a83278c73207":[4,0,4,3,102], "sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432":[4,0,4,3,104], -"sms_8h.html#a250f5339e05523912926be566e9eb8c0":[4,0,4,3,146], -"sms_8h.html#a256029356b8bc719e42ffafba844290f":[4,0,4,3,135], +"sms_8h.html#a250f5339e05523912926be566e9eb8c0":[4,0,4,3,150], "sms_8h.html#a261bba55a07b802baf99346feadd9852":[4,0,4,3,48], -"sms_8h.html#a294f858312544fa89bf17adbba51f145":[4,0,4,3,96], +"sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164":[4,0,4,3,100], "sms_8h.html#a2ca7720b9a5da9b2173e1f74dba85541":[4,0,4,3,20], "sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97":[4,0,4,3,114], "sms_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280":[4,0,4,3,24], -"sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979":[4,0,4,3,106], "sms_8h.html#a31af766e3b598eb7a6b63f55a4988e7a":[4,0,4,3,7], -"sms_8h.html#a35261bb6911ba7a123262efc32f4955a":[4,0,4,3,120], -"sms_8h.html#a35fbfcc0bffc93a47217caff66ca36a7":[4,0,4,3,95], -"sms_8h.html#a388d1dff2698172ba8574e43f5c77c93":[4,0,4,3,149], +"sms_8h.html#a3372d61a07e0466bdb909a27f3aaaca9":[4,0,4,3,84], +"sms_8h.html#a33a749b14dfbd203c460e8d7f3500636":[4,0,4,3,116], +"sms_8h.html#a35a3ff12ab34534b763517576afe38a6":[4,0,4,3,80], +"sms_8h.html#a388d1dff2698172ba8574e43f5c77c93":[4,0,4,3,155], "sms_8h.html#a3b7ffab8d64e2c345f03221145a935c0":[4,0,4,3,62], "sms_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325":[4,0,4,3,6], "sms_8h.html#a3ea524204d839377cf39842eec23e202":[4,0,4,3,73], "sms_8h.html#a42705001e2b9897f5167b67fb36c69dd":[4,0,4,3,46], "sms_8h.html#a429db030287423012f40a6dca81ae7e3":[4,0,4,3,61], -"sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849":[4,0,4,3,75], +"sms_8h.html#a476f433ea736a1dd610490238f2a6250":[4,0,4,3,138], +"sms_8h.html#a48163816121cd669526817d3e6266fd9":[4,0,4,3,85], "sms_8h.html#a495bc9f405f916f02ad5d97e6e730134":[4,0,4,3,39], -"sms_8h.html#a4b7af81fec48ca3bee04234b417abaa6":[4,0,4,3,71], +"sms_8h.html#a498b148efd22ab8ad9b844b2dc5e5bb8":[4,0,4,3,71], "sms_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b":[4,0,4,3,14], "sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04":[4,0,4,3,113], -"sms_8h.html#a5435fd985412934e96a490e103c6bc49":[4,0,4,3,148], +"sms_8h.html#a51add93356a25c71e8c37a73c9065c9d":[4,0,4,3,82], +"sms_8h.html#a5435fd985412934e96a490e103c6bc49":[4,0,4,3,154], "sms_8h.html#a54572cf6791463b6d60623837e0bb5a6":[4,0,4,3,15], "sms_8h.html#a5497c2255a9474d397446710189eacbe":[4,0,4,3,34], +"sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7":[4,0,4,3,139], "sms_8h.html#a5a69a3129f4faa99857a8b3d80db1d4a":[4,0,4,3,63], "sms_8h.html#a5a796bbf3e4347d914b83568350143a9":[4,0,4,3,27], "sms_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4":[4,0,4,3,31], -"sms_8h.html#a5e48fbbda171d4c466e1d0d96fa73b50":[4,0,4,3,102], "sms_8h.html#a604256210ec5b90b68185e1a18efab49":[4,0,4,3,22], "sms_8h.html#a61a9e2910380de6abb34df14ef634eb4":[4,0,4,3,21], "sms_8h.html#a6261537edc74068e3f7f057e6a3e8a57":[4,0,4,3,87], "sms_8h.html#a649d27b5587de16a66176e03a1b8ebd5":[4,0,4,3,54], -"sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9":[4,0,4,3,100], +"sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63":[4,0,4,3,140], "sms_8h.html#a67f80e65620470b55a4950e2966eb868":[4,0,4,3,59], -"sms_8h.html#a68346350199018249bdf8019b7131514":[4,0,4,3,89], "sms_8h.html#a69ef98aee664b8abd8d1a3d45f016dda":[4,0,4,3,40], -"sms_8h.html#a6a9877d413f96540712d408d865625c9":[4,0,4,3,118], -"sms_8h.html#a6afae83728b6651075f0af9d55d4b9e0":[4,0,4,3,112], -"sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88":[4,0,4,3,129], +"sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88":[4,0,4,3,133], "sms_8h.html#a6bc34abf062d8e3be88170ac106f197f":[4,0,4,3,2], -"sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe":[4,0,4,3,131], +"sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe":[4,0,4,3,135], +"sms_8h.html#a6c66a583a8f0744e3985c89725e3dc10":[4,0,4,3,83], "sms_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141":[4,0,4,3,36], "sms_8h.html#a6d40a15ff27c2a1c8269d3dbe67eae65":[4,0,4,3,51], "sms_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5":[4,0,4,3,29], "sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412":[4,0,4,3,69], +"sms_8h.html#a739a212609ae60c9c56c095f96b4ea80":[4,0,4,3,120], +"sms_8h.html#a747033606e041b45ae09b38fdb06b871":[4,0,4,3,112], "sms_8h.html#a7542d00af674e3c58b6c9887ab01919f":[4,0,4,3,91], "sms_8h.html#a77d516c9d3f86f100eddea5e0d133a76":[4,0,4,3,65], -"sms_8h.html#a78d2fd18666afec116f176d46debb4e7":[4,0,4,3,144], +"sms_8h.html#a78d2fd18666afec116f176d46debb4e7":[4,0,4,3,148], +"sms_8h.html#a79b565677967da5ef9bf1a00aa6776ce":[4,0,4,3,94], "sms_8h.html#a7b09691f25fddd65f12ed199b3f88ef0":[4,0,4,3,90], +"sms_8h.html#a7c38b146f77eda84981c06c2271fe116":[4,0,4,3,118], "sms_8h.html#a7d5ed1aed79d8fd2894893d7f6f9b835":[4,0,4,3,58], -"sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687":[4,0,4,3,125], +"sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687":[4,0,4,3,129], +"sms_8h.html#a811c386cac0df2d260aacb5a43608be5":[4,0,4,3,119], "sms_8h.html#a8130306da1177f4fef89e699f8e2add4":[4,0,4,3,107], -"sms_8h.html#a8668e421743bcba26411acaabe1af82d":[4,0,4,3,101], +"sms_8h.html#a84774e034fe0e70af62bd17ac716ba34":[4,0,4,3,121], "sms_8h.html#a86d47feb2b999aaabbba9f63f4bb3567":[4,0,4,3,50], "sms_8h.html#a884a743919b234cd9c37789380784d08":[4,0,4,3,99], "sms_8h.html#a8b5c17235a3f65af70492e109a25f237":[4,0,4,3,56], "sms_8h.html#a8b77608c87a9aef65a03531482b2163b":[4,0,4,3,66], "sms_8h.html#a8e3f36aa68ac036695816757f2a1322c":[4,0,4,3,35], +"sms_8h.html#a8fe17423c7ef7c44f1ccff27d3afbebc":[4,0,4,3,115], "sms_8h.html#a908826e7180f94a5988ceb8633313a2e":[4,0,4,3,10], +"sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e":[4,0,4,3,101], "sms_8h.html#a9506d04c2ec7d2442a52054f67d2b32f":[4,0,4,3,16], "sms_8h.html#a9508f919d9482d1d51534ccac212454d":[4,0,4,3,70], +"sms_8h.html#a955d3733e5018f18b17a572aff45cf26":[4,0,4,3,95], "sms_8h.html#a95d929d964d9988f4dc5a25ed399ae08":[4,0,4,3,68], "sms_8h.html#a964e713cb2535d7464d0d6ca7677049a":[4,0,4,3,18], -"sms_8h.html#a968487c6f70c9e15de7af0efc0de0548":[4,0,4,3,134], -"sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7":[4,0,4,3,128], -"sms_8h.html#a99f5c1698cb6d3715690481d4e4b6da1":[4,0,4,3,82], +"sms_8h.html#a98785a1b0ddc91cd8e8c8fab8de1de20":[4,0,4,3,78], +"sms_8h.html#a98de9141f407585801fcbf55bf6dcc4c":[4,0,4,3,79], +"sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0":[4,0,4,3,76], +"sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7":[4,0,4,3,132], "sms_8h.html#a9a732aec1b7aec7d10a9d76ca4da2064":[4,0,4,3,60], -"sms_8h.html#a9eeb134cad80f309ce86ab101a9e0026":[4,0,4,3,76], "sms_8h.html#a9f879bd31899f7989f887b6238de24e3":[4,0,4,3,57], "sms_8h.html#aa027abe630d44039f238034bcb2d2f36":[4,0,4,3,19], "sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84":[4,0,4,3,105], +"sms_8h.html#aa2ddf9662320c4a9d00fd4a94d347570":[4,0,4,3,72], "sms_8h.html#aa34282113397af810be737df1acec36c":[4,0,4,3,17], "sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023":[4,0,4,3,109], +"sms_8h.html#aa82205e9629f984d0b3dc8055c211522":[4,0,4,3,151], "sms_8h.html#aa87bec0d134136fdb727f52cb773b792":[4,0,4,3,42], -"sms_8h.html#aac998cb7f78186158ced5448dcfc3503":[4,0,4,3,124], -"sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0":[4,0,4,3,140], -"sms_8h.html#ab052e48d56856c376379c3a9cc686c76":[4,0,4,3,79], +"sms_8h.html#aa8962b27b960bb0c8d3bb899246c690c":[4,0,4,3,77], +"sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0":[4,0,4,3,144], "sms_8h.html#ab19da2ab719bb8897bc0843a84af28f8":[4,0,4,3,37], -"sms_8h.html#ab380f3a45e943a45a4cd3189a99ca4df":[4,0,4,3,123], -"sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd":[4,0,4,3,130], -"sms_8h.html#abb50a392ca0d0419a080413287ee5d79":[4,0,4,3,122], +"sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd":[4,0,4,3,134], +"sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c":[4,0,4,3,152], +"sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8":[4,0,4,3,106], +"sms_8h.html#aba0308b5e8e154cc920f041a185ac770":[4,0,4,3,122], +"sms_8h.html#aba932d128338fb19644842565139a20d":[4,0,4,3,127], +"sms_8h.html#abb50a392ca0d0419a080413287ee5d79":[4,0,4,3,124], +"sms_8h.html#abc8bc5808620a9717263b8c9ec2237f0":[4,0,4,3,125], "sms_8h.html#abd34836339579013c097ae4dea10c014":[4,0,4,3,98], -"sms_8h.html#abe8c12f4c6675b2c671fe8ab32370533":[4,0,4,3,115], +"sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862":[4,0,4,3,96], "sms_8h.html#abfd70bf31185a4900680977c9fb5a5ec":[4,0,4,3,64], "sms_8h.html#ac70894fecac30c1ca9917f07373cf81c":[4,0,4,3,5], "sms_8h.html#aca2855edd2d28f66be551a0f7ec23f07":[4,0,4,3,12], -"sms_8h.html#ad22c51635d052399bbbe1777999c794d":[4,0,4,3,132], +"sms_8h.html#acd186eb292d441f9389e77b545a55619":[4,0,4,3,89], +"sms_8h.html#ad22c51635d052399bbbe1777999c794d":[4,0,4,3,136], "sms_8h.html#ad2ec9831813c5e7069917aa4455af682":[4,0,4,3,32], "sms_8h.html#ad57f2f8c54204687f02801d8ab1bd150":[4,0,4,3,30], -"sms_8h.html#ad68f2f36b41febcc5f8ca23c3e379ec8":[4,0,4,3,117], -"sms_8h.html#ad7bf6d9629c0ee4e83c137a297aac169":[4,0,4,3,119], "sms_8h.html#ad90564458646c5646b3880b93db3443e":[4,0,4,3,23], "sms_8h.html#ad9a83378f5ec1f6444c879e4cf1e1a83":[4,0,4,3,74], "sms_8h.html#ada0cc738d27aad251151e69cb8d250e1":[4,0,4,3,25], "sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad":[4,0,4,3,111], -"sms_8h.html#adcbf35ca19c093d4565729fa7e868f5c":[4,0,4,3,84], "sms_8h.html#adcd40a58f7c7d348d506cc400cd94739":[4,0,4,3,67], "sms_8h.html#ade5d4c955b871b0ed884273cc2b7215a":[4,0,4,3,86], "sms_8h.html#ae032c5c544196e37ec0432f6cfad7904":[4,0,4,3,4], "sms_8h.html#ae042588f20bf5a2349c8ad8716245233":[4,0,4,3,45], "sms_8h.html#ae189e98d0ef9263c37869ce1ff3710a5":[4,0,4,3,26], "sms_8h.html#ae47e59a309120f9420993f26816b5e6d":[4,0,4,3,8], +"sms_8h.html#ae59628e2237f301df1341e22bfc8296e":[4,0,4,3,81], "sms_8h.html#ae97793b4039609f93b0f7f8bddb18011":[4,0,4,3,13], -"sms_8h.html#aea03b5b22f0a798a7935dc7d18931924":[4,0,4,3,92], -"sms_8h.html#aec76b4ab16315eb97846be87b19fea10":[4,0,4,3,94], -"sms_8h.html#aec8e36355bb7381000606b1871db5977":[4,0,4,3,97], -"sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79":[4,0,4,3,139], +"sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79":[4,0,4,3,143], "sms_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3":[4,0,4,3,38], -"sms_8h.html#aee5c510efbda6e44f987088aa14d3482":[4,0,4,3,116], +"sms_8h.html#aefda0091b2934571a11e07b512735f50":[4,0,4,3,75], "sms_8h.html#aeff13dca11be49e8c159820c616016ec":[4,0,4,3,103], -"sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d":[4,0,4,3,147], +"sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d":[4,0,4,3,153], "sms_8h.html#af0d15cf2a26924d2ef00ac4017e6b1d8":[4,0,4,3,44], "sms_8h.html#af0e30d6af308ffe5a025fbe85da40f6f":[4,0,4,3,9], -"sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f":[4,0,4,3,141], +"sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f":[4,0,4,3,145], +"sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8":[4,0,4,3,128], "sms_8h.html#af3d632ba2d7cef6619df5dfea8730909":[4,0,4,3,28], -"sms_8h.html#af513fcb34dd2aa1e9bc9bf65cb589eee":[4,0,4,3,72], -"sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a":[4,0,4,3,127], +"sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a":[4,0,4,3,131], "sms_8h.html#af61262bbc05629f31020afce67e1b9ea":[4,0,4,3,49], -"sms_8h.html#af79b920bcb642bba2e652874c4f7eeff":[4,0,4,3,143], -"sms_8h.html#af83d7fd4e4044ac6677f046f679bd7a9":[4,0,4,3,136], +"sms_8h.html#af79b920bcb642bba2e652874c4f7eeff":[4,0,4,3,147], "sms_8h.html#af91d252f07f4764996154820f970c101":[4,0,4,3,41], -"sms_8h.html#afe6f5ff8fbb632868cb41f2a4c5995ae":[4,0,4,3,78], +"sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89":[4,0,4,3,137], "sms_8h_source.html":[4,0,4,3], "stdarg_8h.html":[4,0,5], "stdarg_8h_source.html":[4,0,5], @@ -194,60 +249,5 @@ var NAVTREEINDEX5 = "stdint_8h.html#a1c0bb513299dbdffa1cce4277593b3ce":[4,0,16,61], "stdint_8h.html#a1f5fe9445d0ad0bee21bab1de4cc3e58":[4,0,16,36], "stdint_8h.html#a1f91bfd5820c2f27af3d260fc75813e1":[4,0,16,10], -"stdint_8h.html#a21402dabb3274e5161a34a27ccff50db":[4,0,16,64], -"stdint_8h.html#a21649560c6e8dce6de2fb6a95f1bf802":[4,0,16,71], -"stdint_8h.html#a21e605b9ac3a03b6de93cdf5a69e129f":[4,0,16,35], -"stdint_8h.html#a226d967fb6d06433caf43f20dc876aae":[4,0,16,66], -"stdint_8h.html#a2360a536116dd734820a6b5b3d560ce7":[4,0,16,11], -"stdint_8h.html#a2a80bde77ee1698d0f42f334adad4f2b":[4,0,16,15], -"stdint_8h.html#a2a823f3ccf2306cfbaa34d8addf66010":[4,0,16,45], -"stdint_8h.html#a2aaa6d3aa1d7d1e0e326955aa24db752":[4,0,16,27], -"stdint_8h.html#a2b0a3edfc672154f606dc3ad26277b61":[4,0,16,30], -"stdint_8h.html#a2c6f97ea2d76d0cf6260c84046cdb44e":[4,0,16,24], -"stdint_8h.html#a2d31063fef649c85396fb28130ef9795":[4,0,16,65], -"stdint_8h.html#a2fd35d0ea091e04caec504ff0042cf00":[4,0,16,22], -"stdint_8h.html#a33594304e786b158f3fb30289278f5af":[4,0,16,55], -"stdint_8h.html#a3379485af1661b4f36ac1c311832253b":[4,0,16,57], -"stdint_8h.html#a3c75bb398badb69c7577b21486f9963f":[4,0,16,37], -"stdint_8h.html#a3e986cad833f63f420962ff60eda87e5":[4,0,16,9], -"stdint_8h.html#a3ea490c9b3617d4479bd80ef93cd5602":[4,0,16,7], -"stdint_8h.html#a50d1c7c0834558a78588e1d6d0f62a1d":[4,0,16,58], -"stdint_8h.html#a5285bc55170ae1701e599decacc7f001":[4,0,16,46], -"stdint_8h.html#a5391a63e4d2c8c8a39b3c6f8fdbd8763":[4,0,16,40], -"stdint_8h.html#a5618711a0a54f722190a3a1219e278c2":[4,0,16,14], -"stdint_8h.html#a66634143db08bebe9b46ab4cb1fc6fd3":[4,0,16,51], -"stdint_8h.html#a688eb21a22db27c2b2bd5836943cdcbe":[4,0,16,2], -"stdint_8h.html#a6b76c8f233c61e6ea05b19b59a6e3549":[4,0,16,38], -"stdint_8h.html#a6ef6a1a518bbf516ca8b0180b11c358f":[4,0,16,16], -"stdint_8h.html#a70cad8bacc9a6db301e1cdc86cc8d571":[4,0,16,17], -"stdint_8h.html#a728e973c799f206f0151c8a3bd1e5699":[4,0,16,69], -"stdint_8h.html#a7cf4a942912b990a96c39f9a2b81aa32":[4,0,16,52], -"stdint_8h.html#a7eb2a8e2a1c65d6c9ad0f86154890baa":[4,0,16,13], -"stdint_8h.html#a87b9ec7df1524edf020b074bbae32d6d":[4,0,16,43], -"stdint_8h.html#a8a5d6c5353ff297fd0797e654772361b":[4,0,16,67], -"stdint_8h.html#a9e5742f2bae4a5283431a3c03499e3a9":[4,0,16,28], -"stdint_8h.html#aa05109908fb2770f632d2b646b9f85bf":[4,0,16,12], -"stdint_8h.html#aa54fd5210434219e9027bfa0f0e325c8":[4,0,16,32], -"stdint_8h.html#aa8722f97ae26d6aeff0fd4ebba7de7e4":[4,0,16,70], -"stdint_8h.html#aad8fb982cb19143efd5ee9a1a7a89390":[4,0,16,18], -"stdint_8h.html#aadcf2a81af243df333b31efa6461ab8e":[4,0,16,0], -"stdint_8h.html#aaf7f29f45f1a513b4748a4e5014ddf6a":[4,0,16,3], -"stdint_8h.html#ab0fdd2a9dc9606590ecccc0a5d8b5b7c":[4,0,16,59], -"stdint_8h.html#ab2355300ea19395357e62d780f4dd073":[4,0,16,29], -"stdint_8h.html#ab5eb23180f7cc12b7d6c04a8ec067fdd":[4,0,16,8], -"stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5":[4,0,16,53], -"stdint_8h.html#ac58f2c111cc9989c86db2a7dc4fd84ca":[4,0,16,4], -"stdint_8h.html#ac96fa0f41b19e89f109e4f9913ca6635":[4,0,16,23], -"stdint_8h.html#acbcdb3bee0f5f904da5df8de69a80ca3":[4,0,16,21], -"stdint_8h.html#ad3f7b6bb8aa7d619017a91d3b2edc1ee":[4,0,16,47], -"stdint_8h.html#ad4e9955955b27624963643eac448118a":[4,0,16,1], -"stdint_8h.html#ad51246a178143208b2db3315efd21c45":[4,0,16,26], -"stdint_8h.html#ad93df1652ed0635513d5efe4f1219926":[4,0,16,20], -"stdint_8h.html#ad9b88ba2fb858f98b50b38e49875d90e":[4,0,16,33], -"stdint_8h.html#add2ef7bffac19cfdd1f4b5495409672f":[4,0,16,34], -"stdint_8h.html#adf4d876453337156dde61095e1f20223":[4,0,16,54], -"stdint_8h.html#ae04fa5ea5ad475bfe428842a986fbf28":[4,0,16,56], -"stdint_8h.html#ae80ec61658b3f58afc31ee67ccd27805":[4,0,16,39], -"stdint_8h.html#aeb4e270a084ee26fe73e799861bd0252":[4,0,16,6], -"stdint_8h.html#aed28ca63d9b222f6f1377358fe73a183":[4,0,16,25] +"stdint_8h.html#a21402dabb3274e5161a34a27ccff50db":[4,0,16,64] }; diff --git a/docs/api/navtreeindex6.js b/docs/api/navtreeindex6.js @@ -1,5 +1,60 @@ var NAVTREEINDEX6 = { +"stdint_8h.html#a21649560c6e8dce6de2fb6a95f1bf802":[4,0,16,71], +"stdint_8h.html#a21e605b9ac3a03b6de93cdf5a69e129f":[4,0,16,35], +"stdint_8h.html#a226d967fb6d06433caf43f20dc876aae":[4,0,16,66], +"stdint_8h.html#a2360a536116dd734820a6b5b3d560ce7":[4,0,16,11], +"stdint_8h.html#a2a80bde77ee1698d0f42f334adad4f2b":[4,0,16,15], +"stdint_8h.html#a2a823f3ccf2306cfbaa34d8addf66010":[4,0,16,45], +"stdint_8h.html#a2aaa6d3aa1d7d1e0e326955aa24db752":[4,0,16,27], +"stdint_8h.html#a2b0a3edfc672154f606dc3ad26277b61":[4,0,16,30], +"stdint_8h.html#a2c6f97ea2d76d0cf6260c84046cdb44e":[4,0,16,24], +"stdint_8h.html#a2d31063fef649c85396fb28130ef9795":[4,0,16,65], +"stdint_8h.html#a2fd35d0ea091e04caec504ff0042cf00":[4,0,16,22], +"stdint_8h.html#a33594304e786b158f3fb30289278f5af":[4,0,16,55], +"stdint_8h.html#a3379485af1661b4f36ac1c311832253b":[4,0,16,57], +"stdint_8h.html#a3c75bb398badb69c7577b21486f9963f":[4,0,16,37], +"stdint_8h.html#a3e986cad833f63f420962ff60eda87e5":[4,0,16,9], +"stdint_8h.html#a3ea490c9b3617d4479bd80ef93cd5602":[4,0,16,7], +"stdint_8h.html#a50d1c7c0834558a78588e1d6d0f62a1d":[4,0,16,58], +"stdint_8h.html#a5285bc55170ae1701e599decacc7f001":[4,0,16,46], +"stdint_8h.html#a5391a63e4d2c8c8a39b3c6f8fdbd8763":[4,0,16,40], +"stdint_8h.html#a5618711a0a54f722190a3a1219e278c2":[4,0,16,14], +"stdint_8h.html#a66634143db08bebe9b46ab4cb1fc6fd3":[4,0,16,51], +"stdint_8h.html#a688eb21a22db27c2b2bd5836943cdcbe":[4,0,16,2], +"stdint_8h.html#a6b76c8f233c61e6ea05b19b59a6e3549":[4,0,16,38], +"stdint_8h.html#a6ef6a1a518bbf516ca8b0180b11c358f":[4,0,16,16], +"stdint_8h.html#a70cad8bacc9a6db301e1cdc86cc8d571":[4,0,16,17], +"stdint_8h.html#a728e973c799f206f0151c8a3bd1e5699":[4,0,16,69], +"stdint_8h.html#a7cf4a942912b990a96c39f9a2b81aa32":[4,0,16,52], +"stdint_8h.html#a7eb2a8e2a1c65d6c9ad0f86154890baa":[4,0,16,13], +"stdint_8h.html#a87b9ec7df1524edf020b074bbae32d6d":[4,0,16,43], +"stdint_8h.html#a8a5d6c5353ff297fd0797e654772361b":[4,0,16,67], +"stdint_8h.html#a9e5742f2bae4a5283431a3c03499e3a9":[4,0,16,28], +"stdint_8h.html#aa05109908fb2770f632d2b646b9f85bf":[4,0,16,12], +"stdint_8h.html#aa54fd5210434219e9027bfa0f0e325c8":[4,0,16,32], +"stdint_8h.html#aa8722f97ae26d6aeff0fd4ebba7de7e4":[4,0,16,70], +"stdint_8h.html#aad8fb982cb19143efd5ee9a1a7a89390":[4,0,16,18], +"stdint_8h.html#aadcf2a81af243df333b31efa6461ab8e":[4,0,16,0], +"stdint_8h.html#aaf7f29f45f1a513b4748a4e5014ddf6a":[4,0,16,3], +"stdint_8h.html#ab0fdd2a9dc9606590ecccc0a5d8b5b7c":[4,0,16,59], +"stdint_8h.html#ab2355300ea19395357e62d780f4dd073":[4,0,16,29], +"stdint_8h.html#ab5eb23180f7cc12b7d6c04a8ec067fdd":[4,0,16,8], +"stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5":[4,0,16,53], +"stdint_8h.html#ac58f2c111cc9989c86db2a7dc4fd84ca":[4,0,16,4], +"stdint_8h.html#ac96fa0f41b19e89f109e4f9913ca6635":[4,0,16,23], +"stdint_8h.html#acbcdb3bee0f5f904da5df8de69a80ca3":[4,0,16,21], +"stdint_8h.html#ad3f7b6bb8aa7d619017a91d3b2edc1ee":[4,0,16,47], +"stdint_8h.html#ad4e9955955b27624963643eac448118a":[4,0,16,1], +"stdint_8h.html#ad51246a178143208b2db3315efd21c45":[4,0,16,26], +"stdint_8h.html#ad93df1652ed0635513d5efe4f1219926":[4,0,16,20], +"stdint_8h.html#ad9b88ba2fb858f98b50b38e49875d90e":[4,0,16,33], +"stdint_8h.html#add2ef7bffac19cfdd1f4b5495409672f":[4,0,16,34], +"stdint_8h.html#adf4d876453337156dde61095e1f20223":[4,0,16,54], +"stdint_8h.html#ae04fa5ea5ad475bfe428842a986fbf28":[4,0,16,56], +"stdint_8h.html#ae80ec61658b3f58afc31ee67ccd27805":[4,0,16,39], +"stdint_8h.html#aeb4e270a084ee26fe73e799861bd0252":[4,0,16,6], +"stdint_8h.html#aed28ca63d9b222f6f1377358fe73a183":[4,0,16,25], "stdint_8h.html#aef44329758059c91c76d334e8fc09700":[4,0,16,50], "stdint_8h.html#af525dddf7f072ee85c953107123ff1f6":[4,0,16,42], "stdint_8h.html#af77373faf472a16283aad2014724192d":[4,0,16,41], @@ -67,8 +122,8 @@ var NAVTREEINDEX6 = "structsfont__handle.html#afa826a9e7aa0dc456bd342717eea1f89":[3,0,8,1], "time_8h.html":[4,0,20], "time_8h.html#a3d9fc3c745d0880902fe3ea3d5d5f71e":[4,0,20,0], -"time_8h.html#a9e660b4ddc93c500ce46593917de2bbf":[4,0,20,2], "time_8h.html#ac84921d4d15eedac7d7b8051a7944c84":[4,0,20,1], +"time_8h.html#acc1f88818af5706d57262377382ae4ac":[4,0,20,2], "time_8h.html#ae7841e681c8c9d59818568d39553642c":[4,0,20,3], "time_8h_source.html":[4,0,20], "todo.html":[1], diff --git a/docs/api/pages.html b/docs/api/pages.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/platform_8h.html b/docs/api/platform_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/platform_8h_source.html b/docs/api/platform_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -92,7 +93,7 @@ $(document).ready(function(){initNavTree('platform_8h_source.html',''); initResi <a href="platform_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef __PLATFORM_H_INCLUDE</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define __PLATFORM_H_INCLUDE</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  </div> -<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#if defined(__TARGET_gb) || defined(__TARGET_ap)</span></div> +<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#if defined(__TARGET_gb) || defined(__TARGET_ap) || defined(__TARGET_duck)</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor"> #include <<a class="code" href="gb_8h.html">gb/gb.h</a>></span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor"> #include <<a class="code" href="cgb_8h.html">gb/cgb.h</a>></span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor"> #include <<a class="code" href="sgb_8h.html">gb/sgb.h</a>></span></div> diff --git a/docs/api/rand_8h.html b/docs/api/rand_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -86,7 +87,9 @@ $(document).ready(function(){initNavTree('rand_8h.html',''); initResizable(); }) <div class="header"> <div class="summary"> -<a href="#func-members">Functions</a> </div> +<a href="#define-members">Macros</a> | +<a href="#func-members">Functions</a> | +<a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">rand.h File Reference</div> </div> </div><!--header--> @@ -96,23 +99,64 @@ $(document).ready(function(){initNavTree('rand_8h.html',''); initResizable(); }) </div> <p><a href="rand_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> +Macros</h2></td></tr> +<tr class="memitem:a690f251553b39fd4f31894826141b61a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="rand_8h.html#a690f251553b39fd4f31894826141b61a">RAND_MAX</a>   255</td></tr> +<tr class="separator:a690f251553b39fd4f31894826141b61a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6dbd2f1a15221db40f456cf574a793b4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="rand_8h.html#a6dbd2f1a15221db40f456cf574a793b4">RANDW_MAX</a>   65535</td></tr> +<tr class="separator:a6dbd2f1a15221db40f456cf574a793b4"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a964538799843c0ba5bd01151ef7e2640"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> seed) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:a964538799843c0ba5bd01151ef7e2640"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ad81c61515217f062f5872031a7761fef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rand_8h.html#ad81c61515217f062f5872031a7761fef">rand</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> -<tr class="separator:ad81c61515217f062f5872031a7761fef"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a21e0cee33278952c044f27d02c0b0d1a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a">rand</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> +<tr class="separator:a21e0cee33278952c044f27d02c0b0d1a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac659150eb39aae2f523bef6554b19b77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rand_8h.html#ac659150eb39aae2f523bef6554b19b77">randw</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:ac659150eb39aae2f523bef6554b19b77"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a333400f85febd7e1360835955103db8b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rand_8h.html#a333400f85febd7e1360835955103db8b">initarand</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> seed) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:a333400f85febd7e1360835955103db8b"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ac3154758c17a5960a730a0a7c0fa7b0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rand_8h.html#ac3154758c17a5960a730a0a7c0fa7b0b">arand</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> -<tr class="separator:ac3154758c17a5960a730a0a7c0fa7b0b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a67415330a1c7984e4537dac753306804"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rand_8h.html#a67415330a1c7984e4537dac753306804">arand</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> +<tr class="separator:a67415330a1c7984e4537dac753306804"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> +Variables</h2></td></tr> +<tr class="memitem:a7aab2f4a234108a5eae48e0d26380ae7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rand_8h.html#a7aab2f4a234108a5eae48e0d26380ae7">__rand_seed</a></td></tr> +<tr class="separator:a7aab2f4a234108a5eae48e0d26380ae7"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Random generator using the linear congruential method</p> <dl class="section author"><dt>Author</dt><dd>Luc Van den Borre </dd></dl> -</div><h2 class="groupheader">Function Documentation</h2> +</div><h2 class="groupheader">Macro Definition Documentation</h2> +<a id="a690f251553b39fd4f31894826141b61a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a690f251553b39fd4f31894826141b61a">◆ </a></span>RAND_MAX</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define RAND_MAX   255</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="a6dbd2f1a15221db40f456cf574a793b4"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6dbd2f1a15221db40f456cf574a793b4">◆ </a></span>RANDW_MAX</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define RANDW_MAX   65535</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<h2 class="groupheader">Function Documentation</h2> <a id="a964538799843c0ba5bd01151ef7e2640"></a> <h2 class="memtitle"><span class="permalink"><a href="#a964538799843c0ba5bd01151ef7e2640">◆ </a></span>initrand()</h2> @@ -137,18 +181,19 @@ Functions</h2></td></tr> </dl> <p>The seed should be different each time, otherwise the same pseudo-random sequence will be generated.</p> <p>The DIV Register (<a class="el" href="gb_2hardware_8h.html#afa1e18e47bf68ce68d7807fff6edf16b">DIV_REG</a>) is sometimes used as a seed, particularly if read at some variable point in time (such as when the player presses a button).</p> -<p>Only needs to be called once to initialize, buy may be called again to re-initialize with the same or a different seed. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="rand_8h.html#ad81c61515217f062f5872031a7761fef">rand()</a>, <a class="el" href="rand_8h.html#ac659150eb39aae2f523bef6554b19b77">randw()</a> </dd></dl> +<p>Only needs to be called once to initialize, but may be called again to re-initialize with the same or a different seed.</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a">rand()</a>, <a class="el" href="rand_8h.html#ac659150eb39aae2f523bef6554b19b77">randw()</a> </dd></dl> </div> </div> -<a id="ad81c61515217f062f5872031a7761fef"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ad81c61515217f062f5872031a7761fef">◆ </a></span>rand()</h2> +<a id="a21e0cee33278952c044f27d02c0b0d1a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a21e0cee33278952c044f27d02c0b0d1a">◆ </a></span>rand()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> rand </td> + <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> rand </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> @@ -156,7 +201,7 @@ Functions</h2></td></tr> </table> </div><div class="memdoc"> <p>Returns a random byte (8 bit) value.</p> -<p><a class="el" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand()</a> should be used to initialize the random number generator before using <a class="el" href="rand_8h.html#ad81c61515217f062f5872031a7761fef">rand()</a> </p> +<p><a class="el" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand()</a> should be used to initialize the random number generator before using <a class="el" href="rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a">rand()</a> </p> </div> </div> @@ -175,7 +220,7 @@ Functions</h2></td></tr> </table> </div><div class="memdoc"> <p>Returns a random word (16 bit) value.</p> -<p><a class="el" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand()</a> should be used to initialize the random number generator before using <a class="el" href="rand_8h.html#ad81c61515217f062f5872031a7761fef">rand()</a> </p> +<p><a class="el" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand()</a> should be used to initialize the random number generator before using <a class="el" href="rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a">rand()</a> </p> </div> </div> @@ -201,19 +246,19 @@ Functions</h2></td></tr> </table> </dd> </dl> -<p>Note: <a class="el" href="rand_8h.html#a333400f85febd7e1360835955103db8b">initarand()</a> calls <a class="el" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand()</a> with the same seed value, and uses <a class="el" href="rand_8h.html#ad81c61515217f062f5872031a7761fef">rand()</a> to initialize the random generator.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand()</a> for suggestions about seed values, <a class="el" href="rand_8h.html#ac3154758c17a5960a730a0a7c0fa7b0b">arand()</a> </dd></dl> +<p>Note: <a class="el" href="rand_8h.html#a333400f85febd7e1360835955103db8b">initarand()</a> calls <a class="el" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand()</a> with the same seed value, and uses <a class="el" href="rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a">rand()</a> to initialize the random generator.</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand()</a> for suggestions about seed values, <a class="el" href="rand_8h.html#a67415330a1c7984e4537dac753306804">arand()</a> </dd></dl> </div> </div> -<a id="ac3154758c17a5960a730a0a7c0fa7b0b"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ac3154758c17a5960a730a0a7c0fa7b0b">◆ </a></span>arand()</h2> +<a id="a67415330a1c7984e4537dac753306804"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a67415330a1c7984e4537dac753306804">◆ </a></span>arand()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> arand </td> + <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> arand </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> @@ -221,12 +266,42 @@ Functions</h2></td></tr> </table> </div><div class="memdoc"> <p>Returns a random number generated with the linear lagged additive method.</p> -<p><a class="el" href="rand_8h.html#a333400f85febd7e1360835955103db8b">initarand()</a> should be used to initialize the random number generator before using <a class="el" href="rand_8h.html#ac3154758c17a5960a730a0a7c0fa7b0b">arand()</a> </p> +<p><a class="el" href="rand_8h.html#a333400f85febd7e1360835955103db8b">initarand()</a> should be used to initialize the random number generator before using <a class="el" href="rand_8h.html#a67415330a1c7984e4537dac753306804">arand()</a> </p> </div> </div> +<h2 class="groupheader">Variable Documentation</h2> +<a id="a7aab2f4a234108a5eae48e0d26380ae7"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a7aab2f4a234108a5eae48e0d26380ae7">◆ </a></span>__rand_seed</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> __rand_seed</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">extern</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> +<p>The random number seed is stored in __rand_seed and can be saved and restored if needed.</p> +<div class="fragment"><div class="line"><span class="comment">// Save</span></div> +<div class="line">some_uint16 = <a class="code" href="rand_8h.html#a7aab2f4a234108a5eae48e0d26380ae7">__rand_seed</a>;</div> +<div class="line">...</div> +<div class="line"><span class="comment">// Restore</span></div> +<div class="line">__rand_seed = some_uint16;</div> +</div><!-- fragment --> +</div> +</div> </div><!-- contents --> </div><!-- doc-content --> +<div class="ttc" id="arand_8h_html_a7aab2f4a234108a5eae48e0d26380ae7"><div class="ttname"><a href="rand_8h.html#a7aab2f4a234108a5eae48e0d26380ae7">__rand_seed</a></div><div class="ttdeci">uint16_t __rand_seed</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/rand_8h.js b/docs/api/rand_8h.js @@ -1,8 +1,11 @@ var rand_8h = [ + [ "RAND_MAX", "rand_8h.html#a690f251553b39fd4f31894826141b61a", null ], + [ "RANDW_MAX", "rand_8h.html#a6dbd2f1a15221db40f456cf574a793b4", null ], [ "initrand", "rand_8h.html#a964538799843c0ba5bd01151ef7e2640", null ], - [ "rand", "rand_8h.html#ad81c61515217f062f5872031a7761fef", null ], + [ "rand", "rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a", null ], [ "randw", "rand_8h.html#ac659150eb39aae2f523bef6554b19b77", null ], [ "initarand", "rand_8h.html#a333400f85febd7e1360835955103db8b", null ], - [ "arand", "rand_8h.html#ac3154758c17a5960a730a0a7c0fa7b0b", null ] + [ "arand", "rand_8h.html#a67415330a1c7984e4537dac753306804", null ], + [ "__rand_seed", "rand_8h.html#a7aab2f4a234108a5eae48e0d26380ae7", null ] ]; diff --git a/docs/api/rand_8h_source.html b/docs/api/rand_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -96,37 +97,44 @@ $(document).ready(function(){initNavTree('rand_8h_source.html',''); initResizabl <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include <<a class="code" href="types_8h.html">types.h</a>></span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include <<a class="code" href="stdint_8h.html">stdint.h</a>></span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  </div> -<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#if defined(__PORT_gbz80)</span></div> -<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640"> 28</a></span> <span class="keywordtype">void</span> <a class="code" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> seed) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#elif defined(__PORT_z80)</span></div> -<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keywordtype">void</span> <a class="code" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> seed) __z88dk_fastcall;</div> -<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  </div> -<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="rand_8h.html#ad81c61515217f062f5872031a7761fef"> 37</a></span> <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="rand_8h.html#ad81c61515217f062f5872031a7761fef">rand</a>() <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  </div> -<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="rand_8h.html#ac659150eb39aae2f523bef6554b19b77"> 43</a></span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="rand_8h.html#ac659150eb39aae2f523bef6554b19b77">randw</a>() <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  </div> -<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#if defined(__PORT_gbz80)</span></div> -<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="rand_8h.html#a333400f85febd7e1360835955103db8b"> 55</a></span> <span class="keywordtype">void</span> <a class="code" href="rand_8h.html#a333400f85febd7e1360835955103db8b">initarand</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> seed) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#elif defined(__PORT_z80)</span></div> -<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">void</span> <a class="code" href="rand_8h.html#a333400f85febd7e1360835955103db8b">initarand</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> seed) __z88dk_fastcall;</div> -<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  </div> -<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="rand_8h.html#ac3154758c17a5960a730a0a7c0fa7b0b"> 64</a></span> <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="rand_8h.html#ac3154758c17a5960a730a0a7c0fa7b0b">arand</a>() <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> -<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  </div> -<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#if defined(__PORT_gbz80)</span></div> +<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640"> 29</a></span> <span class="keywordtype">void</span> <a class="code" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> seed) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#elif defined(__PORT_z80)</span></div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keywordtype">void</span> <a class="code" href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> seed) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a>;</div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  </div> +<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="rand_8h.html#a690f251553b39fd4f31894826141b61a"> 34</a></span> <span class="preprocessor">#define RAND_MAX 255</span></div> +<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="rand_8h.html#a6dbd2f1a15221db40f456cf574a793b4"> 35</a></span> <span class="preprocessor">#define RANDW_MAX 65535</span></div> +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  </div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="rand_8h.html#a7aab2f4a234108a5eae48e0d26380ae7">__rand_seed</a>;</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  </div> +<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a"> 54</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a">rand</a>() <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  </div> +<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="rand_8h.html#ac659150eb39aae2f523bef6554b19b77"> 60</a></span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="rand_8h.html#ac659150eb39aae2f523bef6554b19b77">randw</a>() <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  </div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#if defined(__PORT_gbz80)</span></div> +<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="rand_8h.html#a333400f85febd7e1360835955103db8b"> 72</a></span> <span class="keywordtype">void</span> <a class="code" href="rand_8h.html#a333400f85febd7e1360835955103db8b">initarand</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> seed) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#elif defined(__PORT_z80)</span></div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">void</span> <a class="code" href="rand_8h.html#a333400f85febd7e1360835955103db8b">initarand</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> seed) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a>;</div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  </div> +<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="rand_8h.html#a67415330a1c7984e4537dac753306804"> 81</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="rand_8h.html#a67415330a1c7984e4537dac753306804">arand</a>() <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  </div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="astdint_8h_html_aef44329758059c91c76d334e8fc09700"><div class="ttname"><a href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a></div><div class="ttdeci">signed char int8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:43</div></div> +<div class="ttc" id="astdint_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div> <div class="ttc" id="atypes_8h_html"><div class="ttname"><a href="types_8h.html">types.h</a></div></div> -<div class="ttc" id="arand_8h_html_ac3154758c17a5960a730a0a7c0fa7b0b"><div class="ttname"><a href="rand_8h.html#ac3154758c17a5960a730a0a7c0fa7b0b">arand</a></div><div class="ttdeci">int8_t arand() OLDCALL</div></div> <div class="ttc" id="astdint_8h_html_adf4d876453337156dde61095e1f20223"><div class="ttname"><a href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a></div><div class="ttdeci">unsigned short int uint16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:52</div></div> -<div class="ttc" id="arand_8h_html_ad81c61515217f062f5872031a7761fef"><div class="ttname"><a href="rand_8h.html#ad81c61515217f062f5872031a7761fef">rand</a></div><div class="ttdeci">int8_t rand() OLDCALL</div></div> <div class="ttc" id="arand_8h_html_ac659150eb39aae2f523bef6554b19b77"><div class="ttname"><a href="rand_8h.html#ac659150eb39aae2f523bef6554b19b77">randw</a></div><div class="ttdeci">uint16_t randw() OLDCALL</div></div> +<div class="ttc" id="arand_8h_html_a7aab2f4a234108a5eae48e0d26380ae7"><div class="ttname"><a href="rand_8h.html#a7aab2f4a234108a5eae48e0d26380ae7">__rand_seed</a></div><div class="ttdeci">uint16_t __rand_seed</div></div> +<div class="ttc" id="arand_8h_html_a67415330a1c7984e4537dac753306804"><div class="ttname"><a href="rand_8h.html#a67415330a1c7984e4537dac753306804">arand</a></div><div class="ttdeci">uint8_t arand() OLDCALL</div></div> <div class="ttc" id="arand_8h_html_a964538799843c0ba5bd01151ef7e2640"><div class="ttname"><a href="rand_8h.html#a964538799843c0ba5bd01151ef7e2640">initrand</a></div><div class="ttdeci">void initrand(uint16_t seed) OLDCALL</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> +<div class="ttc" id="aasm_2z80_2types_8h_html_af45e54cf59a5202abc9125c07b64abf1"><div class="ttname"><a href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></div><div class="ttdeci">#define Z88DK_FASTCALL</div><div class="ttdef"><b>Definition:</b> types.h:43</div></div> <div class="ttc" id="arand_8h_html_a333400f85febd7e1360835955103db8b"><div class="ttname"><a href="rand_8h.html#a333400f85febd7e1360835955103db8b">initarand</a></div><div class="ttdeci">void initarand(uint16_t seed) OLDCALL</div></div> +<div class="ttc" id="arand_8h_html_a21e0cee33278952c044f27d02c0b0d1a"><div class="ttname"><a href="rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a">rand</a></div><div class="ttdeci">uint8_t rand() OLDCALL</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/rledecompress_8h.html b/docs/api/rledecompress_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/rledecompress_8h_source.html b/docs/api/rledecompress_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -98,14 +99,14 @@ $(document).ready(function(){initNavTree('rledecompress_8h_source.html',''); ini <div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  </div> <div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="rledecompress_8h.html#a2b4967f6970ecd99478db3807c68d955"> 15</a></span> <span class="preprocessor">#define RLE_STOP 0</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  </div> -<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#if defined(__TARGET_gb) || defined(__TARGET_ap)</span></div> +<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#if defined(__TARGET_gb) || defined(__TARGET_ap) || defined(__TARGET_duck)</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  </div> <div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="rledecompress_8h.html#a95560a74a89bab26cb6265dcc2bf54f6"> 24</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="rledecompress_8h.html#a95560a74a89bab26cb6265dcc2bf54f6">rle_init</a>(<span class="keywordtype">void</span> * data) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  </div> <div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="rledecompress_8h.html#ad60bf95ddad142d8d81e5e1f0a0bb6e0"> 39</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="rledecompress_8h.html#ad60bf95ddad142d8d81e5e1f0a0bb6e0">rle_decompress</a>(<span class="keywordtype">void</span> * dest, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> len) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#elif defined(__TARGET_sms) || defined(__TARGET_gg)</span></div> -<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="rledecompress_8h.html#a95560a74a89bab26cb6265dcc2bf54f6">rle_init</a>(<span class="keywordtype">void</span> * data) __z88dk_fastcall;</div> -<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="rledecompress_8h.html#ad60bf95ddad142d8d81e5e1f0a0bb6e0">rle_decompress</a>(<span class="keywordtype">void</span> * dest, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> len) __z88dk_callee;</div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="rledecompress_8h.html#a95560a74a89bab26cb6265dcc2bf54f6">rle_init</a>(<span class="keywordtype">void</span> * data) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a>;</div> +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="rledecompress_8h.html#ad60bf95ddad142d8d81e5e1f0a0bb6e0">rle_decompress</a>(<span class="keywordtype">void</span> * dest, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> len) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a>;</div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#else</span></div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"> #error Unrecognized port</span></div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#endif</span></div> @@ -115,9 +116,11 @@ $(document).ready(function(){initNavTree('rledecompress_8h_source.html',''); ini </div><!-- doc-content --> <div class="ttc" id="astdint_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div> <div class="ttc" id="arledecompress_8h_html_a95560a74a89bab26cb6265dcc2bf54f6"><div class="ttname"><a href="rledecompress_8h.html#a95560a74a89bab26cb6265dcc2bf54f6">rle_init</a></div><div class="ttdeci">uint8_t rle_init(void *data) OLDCALL</div></div> +<div class="ttc" id="aasm_2z80_2types_8h_html_aa19670cfef9fe1cc31f28fafb0e1000a"><div class="ttname"><a href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></div><div class="ttdeci">#define Z88DK_CALLEE</div><div class="ttdef"><b>Definition:</b> types.h:42</div></div> <div class="ttc" id="arledecompress_8h_html_ad60bf95ddad142d8d81e5e1f0a0bb6e0"><div class="ttname"><a href="rledecompress_8h.html#ad60bf95ddad142d8d81e5e1f0a0bb6e0">rle_decompress</a></div><div class="ttdeci">uint8_t rle_decompress(void *dest, uint8_t len) OLDCALL</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> +<div class="ttc" id="aasm_2z80_2types_8h_html_af45e54cf59a5202abc9125c07b64abf1"><div class="ttname"><a href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></div><div class="ttdeci">#define Z88DK_FASTCALL</div><div class="ttdef"><b>Definition:</b> types.h:43</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/search/all_10.js b/docs/api/search/all_10.js @@ -1,48 +1,49 @@ var searchData= [ - ['migrating_20to_20new_20gbdk_20versions_460',['Migrating to new GBDK Versions',['../docs_migrating_versions.html',1,'index']]], - ['m_5fdrawing_461',['M_DRAWING',['../gb_8h.html#acc9798fc62b5d626c91c8b0f20b522ff',1,'gb.h']]], - ['m_5ffill_462',['M_FILL',['../drawing_8h.html#aad3d180e0f12d6a6e5278fe0163f4c3e',1,'drawing.h']]], - ['m_5fno_5finterp_463',['M_NO_INTERP',['../gb_8h.html#aca2855edd2d28f66be551a0f7ec23f07',1,'M_NO_INTERP(): gb.h'],['../sms_8h.html#aca2855edd2d28f66be551a0f7ec23f07',1,'M_NO_INTERP(): sms.h']]], - ['m_5fno_5fscroll_464',['M_NO_SCROLL',['../gb_8h.html#a04382de20738146fe873ddfb0585052b',1,'M_NO_SCROLL(): gb.h'],['../sms_8h.html#a04382de20738146fe873ddfb0585052b',1,'M_NO_SCROLL(): sms.h']]], - ['m_5fnofill_465',['M_NOFILL',['../drawing_8h.html#a91d52443c77ee105bd68cb0b47a8ee49',1,'drawing.h']]], - ['m_5ftext_5finout_466',['M_TEXT_INOUT',['../gb_8h.html#a908826e7180f94a5988ceb8633313a2e',1,'M_TEXT_INOUT(): gb.h'],['../sms_8h.html#a908826e7180f94a5988ceb8633313a2e',1,'M_TEXT_INOUT(): sms.h']]], - ['m_5ftext_5fout_467',['M_TEXT_OUT',['../gb_8h.html#af0e30d6af308ffe5a025fbe85da40f6f',1,'M_TEXT_OUT(): gb.h'],['../sms_8h.html#af0e30d6af308ffe5a025fbe85da40f6f',1,'M_TEXT_OUT(): sms.h']]], - ['make_5fbcd_468',['MAKE_BCD',['../bcd_8h.html#a8a3023920aa103a74c7d59007bcc7b6f',1,'bcd.h']]], - ['malloc_469',['malloc',['../stdlib_8h.html#a7ac38fce3243a7dcf448301ee9ffd392',1,'stdlib.h']]], - ['max_5fhardware_5fsprites_470',['MAX_HARDWARE_SPRITES',['../gb_8h.html#a8b77608c87a9aef65a03531482b2163b',1,'MAX_HARDWARE_SPRITES(): gb.h'],['../sms_8h.html#a8b77608c87a9aef65a03531482b2163b',1,'MAX_HARDWARE_SPRITES(): sms.h']]], - ['maxwndposx_471',['MAXWNDPOSX',['../gb_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5',1,'MAXWNDPOSX(): gb.h'],['../sms_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5',1,'MAXWNDPOSX(): sms.h']]], - ['maxwndposy_472',['MAXWNDPOSY',['../gb_8h.html#ad57f2f8c54204687f02801d8ab1bd150',1,'MAXWNDPOSY(): gb.h'],['../sms_8h.html#ad57f2f8c54204687f02801d8ab1bd150',1,'MAXWNDPOSY(): sms.h']]], - ['memcpy_473',['memcpy',['../asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627',1,'memcpy(void *dest, const void *src, size_t len) OLDCALL __preserves_regs(b: string.h'],['../asm_2z80_2string_8h.html#abec66c0a707472b9090ea4cd0402d648',1,'memcpy(void *dest, const void *src, size_t len) OLDCALL: string.h']]], - ['memctl_5fbaseoff_474',['MEMCTL_BASEOFF',['../sms_2hardware_8h.html#a29d7c3b98f855f88d6bb3f380b301d64',1,'hardware.h']]], - ['memctl_5fbaseon_475',['MEMCTL_BASEON',['../sms_2hardware_8h.html#a2a98128eb9ca41477c139988da9d803f',1,'hardware.h']]], - ['memctl_5fcromoff_476',['MEMCTL_CROMOFF',['../sms_2hardware_8h.html#a79ca0cc4a9979b2eeaeda61b043b36ae',1,'hardware.h']]], - ['memctl_5fcromon_477',['MEMCTL_CROMON',['../sms_2hardware_8h.html#ad729a51cb551d9ee8bfb57c50c9dfd11',1,'hardware.h']]], - ['memctl_5fextoff_478',['MEMCTL_EXTOFF',['../sms_2hardware_8h.html#ac4c1790dd7397ef1005190dc01b3e808',1,'hardware.h']]], - ['memctl_5fexton_479',['MEMCTL_EXTON',['../sms_2hardware_8h.html#a41654dd6b42ebdd213edc44494855caf',1,'hardware.h']]], - ['memctl_5fjoyoff_480',['MEMCTL_JOYOFF',['../sms_2hardware_8h.html#ad8b8ecb5a71567cabc47af43da5dadf1',1,'hardware.h']]], - ['memctl_5fjoyon_481',['MEMCTL_JOYON',['../sms_2hardware_8h.html#af4607245a47e34bd6af5d2d43d7fb30f',1,'hardware.h']]], - ['memctl_5framoff_482',['MEMCTL_RAMOFF',['../sms_2hardware_8h.html#adbfef6bdd2da5ba3901e91062390bb68',1,'hardware.h']]], - ['memctl_5framon_483',['MEMCTL_RAMON',['../sms_2hardware_8h.html#af4522efccaecbb6ce47a337f6dbada24',1,'hardware.h']]], - ['memctl_5fromoff_484',['MEMCTL_ROMOFF',['../sms_2hardware_8h.html#a25882a19ebfb78cd09158a5f743a6409',1,'hardware.h']]], - ['memctl_5fromon_485',['MEMCTL_ROMON',['../sms_2hardware_8h.html#a27b47b593a0d021ab342dfc744403b86',1,'hardware.h']]], - ['memmove_486',['memmove',['../asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90',1,'memmove(void *dest, const void *src, size_t n): string.h'],['../asm_2z80_2string_8h.html#a854ba725a4e429439ccf93b1f5ad7b3a',1,'memmove(void *dest, const void *src, size_t n) OLDCALL: string.h']]], - ['memset_487',['memset',['../asm_2gbz80_2string_8h.html#af2fcd4c99b3b490e6db059e741676274',1,'memset(void *s, int c, size_t n) OLDCALL __preserves_regs(b: string.h'],['../asm_2z80_2string_8h.html#a558614036595364d1ddea9e8a4d6d475',1,'memset(void *s, int c, size_t n) __z88dk_callee: string.h']]], - ['metaspr_5fitem_488',['METASPR_ITEM',['../gb_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa',1,'METASPR_ITEM(): metasprites.h'],['../sms_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa',1,'METASPR_ITEM(): metasprites.h']]], - ['metaspr_5fterm_489',['METASPR_TERM',['../gb_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a',1,'METASPR_TERM(): metasprites.h'],['../sms_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a',1,'METASPR_TERM(): metasprites.h']]], - ['metasprite_5fend_490',['metasprite_end',['../gb_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a',1,'metasprite_end(): metasprites.h'],['../sms_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a',1,'metasprite_end(): metasprites.h']]], - ['metasprite_5ft_491',['metasprite_t',['../structmetasprite__t.html',1,'metasprite_t'],['../gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3',1,'metasprite_t(): metasprites.h'],['../sms_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3',1,'metasprite_t(): metasprites.h']]], - ['metasprites_2eh_492',['metasprites.h',['../gb_2metasprites_8h.html',1,'(Global Namespace)'],['../gbdk_2metasprites_8h.html',1,'(Global Namespace)'],['../sms_2metasprites_8h.html',1,'(Global Namespace)']]], - ['mfont_5fhandle_493',['mfont_handle',['../font_8h.html#aea1f63fe2ea8c7689b061ad93b485553',1,'font.h']]], - ['mgb_5ftype_494',['MGB_TYPE',['../gb_8h.html#ae996ed4fd8bb6b308b9c8708a91df06b',1,'gb.h']]], - ['minwndposx_495',['MINWNDPOSX',['../gb_8h.html#a5a796bbf3e4347d914b83568350143a9',1,'MINWNDPOSX(): gb.h'],['../sms_8h.html#a5a796bbf3e4347d914b83568350143a9',1,'MINWNDPOSX(): sms.h']]], - ['minwndposy_496',['MINWNDPOSY',['../gb_8h.html#af3d632ba2d7cef6619df5dfea8730909',1,'MINWNDPOSY(): gb.h'],['../sms_8h.html#af3d632ba2d7cef6619df5dfea8730909',1,'MINWNDPOSY(): sms.h']]], - ['mode_497',['mode',['../gb_8h.html#a3ea524204d839377cf39842eec23e202',1,'mode(uint8_t m) OLDCALL: gb.h'],['../sms_8h.html#a3ea524204d839377cf39842eec23e202',1,'mode(uint8_t m) OLDCALL: sms.h']]], - ['move_5fbkg_498',['move_bkg',['../gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57',1,'move_bkg(uint8_t x, uint8_t y): gb.h'],['../sms_8h.html#a6261537edc74068e3f7f057e6a3e8a57',1,'move_bkg(uint8_t x, uint8_t y): sms.h']]], - ['move_5fmetasprite_499',['move_metasprite',['../gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b',1,'move_metasprite(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y): metasprites.h'],['../sms_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b',1,'move_metasprite(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y): metasprites.h']]], - ['move_5fmetasprite_5fhflip_500',['move_metasprite_hflip',['../gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46',1,'metasprites.h']]], - ['move_5fmetasprite_5fhvflip_501',['move_metasprite_hvflip',['../gb_2metasprites_8h.html#a32a61acd4a76d1de5814f7b94c8bc23f',1,'metasprites.h']]], - ['move_5fmetasprite_5fvflip_502',['move_metasprite_vflip',['../gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a',1,'metasprites.h']]], - ['move_5fsprite_503',['move_sprite',['../gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd',1,'move_sprite(uint8_t nb, uint8_t x, uint8_t y): gb.h'],['../sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd',1,'move_sprite(uint8_t nb, uint8_t x, uint8_t y): sms.h']]], - ['move_5fwin_504',['move_win',['../gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5',1,'gb.h']]] + ['migrating_20to_20new_20gbdk_20versions_473',['Migrating to new GBDK Versions',['../docs_migrating_versions.html',1,'index']]], + ['m_5fdrawing_474',['M_DRAWING',['../gb_8h.html#acc9798fc62b5d626c91c8b0f20b522ff',1,'gb.h']]], + ['m_5ffill_475',['M_FILL',['../drawing_8h.html#aad3d180e0f12d6a6e5278fe0163f4c3e',1,'drawing.h']]], + ['m_5fno_5finterp_476',['M_NO_INTERP',['../gb_8h.html#aca2855edd2d28f66be551a0f7ec23f07',1,'M_NO_INTERP(): gb.h'],['../sms_8h.html#aca2855edd2d28f66be551a0f7ec23f07',1,'M_NO_INTERP(): sms.h']]], + ['m_5fno_5fscroll_477',['M_NO_SCROLL',['../gb_8h.html#a04382de20738146fe873ddfb0585052b',1,'M_NO_SCROLL(): gb.h'],['../sms_8h.html#a04382de20738146fe873ddfb0585052b',1,'M_NO_SCROLL(): sms.h']]], + ['m_5fnofill_478',['M_NOFILL',['../drawing_8h.html#a91d52443c77ee105bd68cb0b47a8ee49',1,'drawing.h']]], + ['m_5ftext_5finout_479',['M_TEXT_INOUT',['../gb_8h.html#a908826e7180f94a5988ceb8633313a2e',1,'M_TEXT_INOUT(): gb.h'],['../sms_8h.html#a908826e7180f94a5988ceb8633313a2e',1,'M_TEXT_INOUT(): sms.h']]], + ['m_5ftext_5fout_480',['M_TEXT_OUT',['../gb_8h.html#af0e30d6af308ffe5a025fbe85da40f6f',1,'M_TEXT_OUT(): gb.h'],['../sms_8h.html#af0e30d6af308ffe5a025fbe85da40f6f',1,'M_TEXT_OUT(): sms.h']]], + ['make_5fbcd_481',['MAKE_BCD',['../bcd_8h.html#a8a3023920aa103a74c7d59007bcc7b6f',1,'bcd.h']]], + ['malloc_482',['malloc',['../stdlib_8h.html#a7ac38fce3243a7dcf448301ee9ffd392',1,'stdlib.h']]], + ['max_5fhardware_5fsprites_483',['MAX_HARDWARE_SPRITES',['../gb_8h.html#a8b77608c87a9aef65a03531482b2163b',1,'MAX_HARDWARE_SPRITES(): gb.h'],['../sms_8h.html#a8b77608c87a9aef65a03531482b2163b',1,'MAX_HARDWARE_SPRITES(): sms.h']]], + ['maxwndposx_484',['MAXWNDPOSX',['../gb_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5',1,'MAXWNDPOSX(): gb.h'],['../sms_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5',1,'MAXWNDPOSX(): sms.h']]], + ['maxwndposy_485',['MAXWNDPOSY',['../gb_8h.html#ad57f2f8c54204687f02801d8ab1bd150',1,'MAXWNDPOSY(): gb.h'],['../sms_8h.html#ad57f2f8c54204687f02801d8ab1bd150',1,'MAXWNDPOSY(): sms.h']]], + ['memcmp_486',['memcmp',['../asm_2gbz80_2string_8h.html#a52701f453c97403ec1b12d286484259b',1,'memcmp(const void *buf1, const void *buf2, size_t count) OLDCALL: string.h'],['../asm_2z80_2string_8h.html#add78645dba711c548ab16d056fb83b7e',1,'memcmp(const void *buf1, const void *buf2, size_t count) Z88DK_CALLEE: string.h']]], + ['memcpy_487',['memcpy',['../asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574',1,'memcpy(void *dest, const void *src, size_t len) OLDCALL PRESERVES_REGS(b: string.h'],['../asm_2z80_2string_8h.html#abec66c0a707472b9090ea4cd0402d648',1,'memcpy(void *dest, const void *src, size_t len) OLDCALL: string.h']]], + ['memctl_5fbaseoff_488',['MEMCTL_BASEOFF',['../sms_2hardware_8h.html#a29d7c3b98f855f88d6bb3f380b301d64',1,'hardware.h']]], + ['memctl_5fbaseon_489',['MEMCTL_BASEON',['../sms_2hardware_8h.html#a2a98128eb9ca41477c139988da9d803f',1,'hardware.h']]], + ['memctl_5fcromoff_490',['MEMCTL_CROMOFF',['../sms_2hardware_8h.html#a79ca0cc4a9979b2eeaeda61b043b36ae',1,'hardware.h']]], + ['memctl_5fcromon_491',['MEMCTL_CROMON',['../sms_2hardware_8h.html#ad729a51cb551d9ee8bfb57c50c9dfd11',1,'hardware.h']]], + ['memctl_5fextoff_492',['MEMCTL_EXTOFF',['../sms_2hardware_8h.html#ac4c1790dd7397ef1005190dc01b3e808',1,'hardware.h']]], + ['memctl_5fexton_493',['MEMCTL_EXTON',['../sms_2hardware_8h.html#a41654dd6b42ebdd213edc44494855caf',1,'hardware.h']]], + ['memctl_5fjoyoff_494',['MEMCTL_JOYOFF',['../sms_2hardware_8h.html#ad8b8ecb5a71567cabc47af43da5dadf1',1,'hardware.h']]], + ['memctl_5fjoyon_495',['MEMCTL_JOYON',['../sms_2hardware_8h.html#af4607245a47e34bd6af5d2d43d7fb30f',1,'hardware.h']]], + ['memctl_5framoff_496',['MEMCTL_RAMOFF',['../sms_2hardware_8h.html#adbfef6bdd2da5ba3901e91062390bb68',1,'hardware.h']]], + ['memctl_5framon_497',['MEMCTL_RAMON',['../sms_2hardware_8h.html#af4522efccaecbb6ce47a337f6dbada24',1,'hardware.h']]], + ['memctl_5fromoff_498',['MEMCTL_ROMOFF',['../sms_2hardware_8h.html#a25882a19ebfb78cd09158a5f743a6409',1,'hardware.h']]], + ['memctl_5fromon_499',['MEMCTL_ROMON',['../sms_2hardware_8h.html#a27b47b593a0d021ab342dfc744403b86',1,'hardware.h']]], + ['memmove_500',['memmove',['../asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90',1,'memmove(void *dest, const void *src, size_t n): string.h'],['../asm_2z80_2string_8h.html#a854ba725a4e429439ccf93b1f5ad7b3a',1,'memmove(void *dest, const void *src, size_t n) OLDCALL: string.h']]], + ['memset_501',['memset',['../asm_2gbz80_2string_8h.html#a4bc4146b1a053fc4ec10f1377bb21a4f',1,'memset(void *s, int c, size_t n) OLDCALL PRESERVES_REGS(b: string.h'],['../asm_2z80_2string_8h.html#a6491121b0087a8848354d9de3aa2444b',1,'memset(void *s, int c, size_t n) Z88DK_CALLEE: string.h']]], + ['metaspr_5fitem_502',['METASPR_ITEM',['../gb_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa',1,'METASPR_ITEM(): metasprites.h'],['../sms_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa',1,'METASPR_ITEM(): metasprites.h']]], + ['metaspr_5fterm_503',['METASPR_TERM',['../gb_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a',1,'METASPR_TERM(): metasprites.h'],['../sms_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a',1,'METASPR_TERM(): metasprites.h']]], + ['metasprite_5fend_504',['metasprite_end',['../gb_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a',1,'metasprite_end(): metasprites.h'],['../sms_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a',1,'metasprite_end(): metasprites.h']]], + ['metasprite_5ft_505',['metasprite_t',['../structmetasprite__t.html',1,'metasprite_t'],['../gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3',1,'metasprite_t(): metasprites.h'],['../sms_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3',1,'metasprite_t(): metasprites.h']]], + ['metasprites_2eh_506',['metasprites.h',['../gb_2metasprites_8h.html',1,'(Global Namespace)'],['../gbdk_2metasprites_8h.html',1,'(Global Namespace)'],['../sms_2metasprites_8h.html',1,'(Global Namespace)']]], + ['mfont_5fhandle_507',['mfont_handle',['../font_8h.html#aea1f63fe2ea8c7689b061ad93b485553',1,'font.h']]], + ['mgb_5ftype_508',['MGB_TYPE',['../gb_8h.html#ae996ed4fd8bb6b308b9c8708a91df06b',1,'gb.h']]], + ['minwndposx_509',['MINWNDPOSX',['../gb_8h.html#a5a796bbf3e4347d914b83568350143a9',1,'MINWNDPOSX(): gb.h'],['../sms_8h.html#a5a796bbf3e4347d914b83568350143a9',1,'MINWNDPOSX(): sms.h']]], + ['minwndposy_510',['MINWNDPOSY',['../gb_8h.html#af3d632ba2d7cef6619df5dfea8730909',1,'MINWNDPOSY(): gb.h'],['../sms_8h.html#af3d632ba2d7cef6619df5dfea8730909',1,'MINWNDPOSY(): sms.h']]], + ['mode_511',['mode',['../gb_8h.html#a3ea524204d839377cf39842eec23e202',1,'mode(uint8_t m) OLDCALL: gb.h'],['../sms_8h.html#a3ea524204d839377cf39842eec23e202',1,'mode(uint8_t m) OLDCALL: sms.h']]], + ['move_5fbkg_512',['move_bkg',['../gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57',1,'move_bkg(uint8_t x, uint8_t y): gb.h'],['../sms_8h.html#a6261537edc74068e3f7f057e6a3e8a57',1,'move_bkg(uint8_t x, uint8_t y): sms.h']]], + ['move_5fmetasprite_513',['move_metasprite',['../gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b',1,'move_metasprite(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y): metasprites.h'],['../sms_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b',1,'move_metasprite(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y): metasprites.h']]], + ['move_5fmetasprite_5fhflip_514',['move_metasprite_hflip',['../gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46',1,'metasprites.h']]], + ['move_5fmetasprite_5fhvflip_515',['move_metasprite_hvflip',['../gb_2metasprites_8h.html#a32a61acd4a76d1de5814f7b94c8bc23f',1,'metasprites.h']]], + ['move_5fmetasprite_5fvflip_516',['move_metasprite_vflip',['../gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a',1,'metasprites.h']]], + ['move_5fsprite_517',['move_sprite',['../gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd',1,'move_sprite(uint8_t nb, uint8_t x, uint8_t y): gb.h'],['../sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd',1,'move_sprite(uint8_t nb, uint8_t x, uint8_t y): sms.h']]], + ['move_5fwin_518',['move_win',['../gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5',1,'gb.h']]] ]; diff --git a/docs/api/search/all_11.js b/docs/api/search/all_11.js @@ -1,30 +1,31 @@ var searchData= [ - ['nintendo_505',['NINTENDO',['../gb_8h.html#a385397587c93683e8e11afb712e2960b',1,'gb.h']]], - ['nonbanked_506',['NONBANKED',['../asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96',1,'NONBANKED(): types.h'],['../asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96',1,'NONBANKED(): types.h'],['../asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96',1,'NONBANKED(): types.h']]], - ['noreturn_507',['noreturn',['../stdnoreturn_8h.html#a4a453f3a748e55cbdac6fcc79357cfef',1,'stdnoreturn.h']]], - ['nowait_5fint_5fhandler_508',['nowait_int_handler',['../gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9',1,'gb.h']]], - ['npads_509',['npads',['../structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5',1,'joypads_t']]], - ['nr10_5freg_510',['NR10_REG',['../gb_2hardware_8h.html#ad859dc62b1df1584ade0cbb822a3e46f',1,'hardware.h']]], - ['nr11_5freg_511',['NR11_REG',['../gb_2hardware_8h.html#ad53dc7f22b99fce195210a95f2749a72',1,'hardware.h']]], - ['nr12_5freg_512',['NR12_REG',['../gb_2hardware_8h.html#a7accf5feabd95a2d84c72f5915fff837',1,'hardware.h']]], - ['nr13_5freg_513',['NR13_REG',['../gb_2hardware_8h.html#a3d30d4797321b403cd713d727fa3db6c',1,'hardware.h']]], - ['nr14_5freg_514',['NR14_REG',['../gb_2hardware_8h.html#a04c340d91842e8ee2b93922c2bcf39a4',1,'hardware.h']]], - ['nr21_5freg_515',['NR21_REG',['../gb_2hardware_8h.html#a6dd3af1c8e3c66409aa0bc889d98e171',1,'hardware.h']]], - ['nr22_5freg_516',['NR22_REG',['../gb_2hardware_8h.html#af1301c73bf93350045ba3a4887723ae8',1,'hardware.h']]], - ['nr23_5freg_517',['NR23_REG',['../gb_2hardware_8h.html#a7bb32ac86e3fbf5f869410ba42620616',1,'hardware.h']]], - ['nr24_5freg_518',['NR24_REG',['../gb_2hardware_8h.html#a6676e579a5e421adfb3d3e2d470d9ab6',1,'hardware.h']]], - ['nr30_5freg_519',['NR30_REG',['../gb_2hardware_8h.html#a85d8e680d4d40a918b4195d2a4fada2a',1,'hardware.h']]], - ['nr31_5freg_520',['NR31_REG',['../gb_2hardware_8h.html#aea78f857e34370d7e1177a8bafe08148',1,'hardware.h']]], - ['nr32_5freg_521',['NR32_REG',['../gb_2hardware_8h.html#a244ee6d8f6144be9b0f94602eddb6239',1,'hardware.h']]], - ['nr33_5freg_522',['NR33_REG',['../gb_2hardware_8h.html#a01c768b60853c8eecdefc2cedfc8d672',1,'hardware.h']]], - ['nr34_5freg_523',['NR34_REG',['../gb_2hardware_8h.html#ab6da3e2cdbac1331bef3f6de9c808ab1',1,'hardware.h']]], - ['nr41_5freg_524',['NR41_REG',['../gb_2hardware_8h.html#a557833cc1671aa0bd71f33766b4e0f24',1,'hardware.h']]], - ['nr42_5freg_525',['NR42_REG',['../gb_2hardware_8h.html#aba3d9fb63552bc02ec879696b581adac',1,'hardware.h']]], - ['nr43_5freg_526',['NR43_REG',['../gb_2hardware_8h.html#a52593a64863d51fbf5860b0d31448972',1,'hardware.h']]], - ['nr44_5freg_527',['NR44_REG',['../gb_2hardware_8h.html#a849d2cff8df2655f86b294466bec40d6',1,'hardware.h']]], - ['nr50_5freg_528',['NR50_REG',['../gb_2hardware_8h.html#a924fdf48f6ad020423f6309055314928',1,'hardware.h']]], - ['nr51_5freg_529',['NR51_REG',['../gb_2hardware_8h.html#ab28f97eabd5f32d48ea27d97bd5dc64f',1,'hardware.h']]], - ['nr52_5freg_530',['NR52_REG',['../gb_2hardware_8h.html#ac429365dce851ca57d8fe4f7c54a1caa',1,'hardware.h']]], - ['null_531',['NULL',['../stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4',1,'NULL(): stddef.h'],['../types_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4',1,'NULL(): types.h']]] + ['naked_519',['NAKED',['../asm_2types_8h.html#a7a18c4884994b9b520ae535b6d9579d3',1,'types.h']]], + ['nintendo_520',['NINTENDO',['../gb_8h.html#a385397587c93683e8e11afb712e2960b',1,'gb.h']]], + ['nonbanked_521',['NONBANKED',['../asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96',1,'types.h']]], + ['noreturn_522',['noreturn',['../stdnoreturn_8h.html#a4a453f3a748e55cbdac6fcc79357cfef',1,'stdnoreturn.h']]], + ['nowait_5fint_5fhandler_523',['nowait_int_handler',['../gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9',1,'gb.h']]], + ['npads_524',['npads',['../structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5',1,'joypads_t']]], + ['nr10_5freg_525',['NR10_REG',['../gb_2hardware_8h.html#ad859dc62b1df1584ade0cbb822a3e46f',1,'hardware.h']]], + ['nr11_5freg_526',['NR11_REG',['../gb_2hardware_8h.html#ad53dc7f22b99fce195210a95f2749a72',1,'hardware.h']]], + ['nr12_5freg_527',['NR12_REG',['../gb_2hardware_8h.html#a7accf5feabd95a2d84c72f5915fff837',1,'hardware.h']]], + ['nr13_5freg_528',['NR13_REG',['../gb_2hardware_8h.html#a3d30d4797321b403cd713d727fa3db6c',1,'hardware.h']]], + ['nr14_5freg_529',['NR14_REG',['../gb_2hardware_8h.html#a04c340d91842e8ee2b93922c2bcf39a4',1,'hardware.h']]], + ['nr21_5freg_530',['NR21_REG',['../gb_2hardware_8h.html#a6dd3af1c8e3c66409aa0bc889d98e171',1,'hardware.h']]], + ['nr22_5freg_531',['NR22_REG',['../gb_2hardware_8h.html#af1301c73bf93350045ba3a4887723ae8',1,'hardware.h']]], + ['nr23_5freg_532',['NR23_REG',['../gb_2hardware_8h.html#a7bb32ac86e3fbf5f869410ba42620616',1,'hardware.h']]], + ['nr24_5freg_533',['NR24_REG',['../gb_2hardware_8h.html#a6676e579a5e421adfb3d3e2d470d9ab6',1,'hardware.h']]], + ['nr30_5freg_534',['NR30_REG',['../gb_2hardware_8h.html#a85d8e680d4d40a918b4195d2a4fada2a',1,'hardware.h']]], + ['nr31_5freg_535',['NR31_REG',['../gb_2hardware_8h.html#aea78f857e34370d7e1177a8bafe08148',1,'hardware.h']]], + ['nr32_5freg_536',['NR32_REG',['../gb_2hardware_8h.html#a244ee6d8f6144be9b0f94602eddb6239',1,'hardware.h']]], + ['nr33_5freg_537',['NR33_REG',['../gb_2hardware_8h.html#a01c768b60853c8eecdefc2cedfc8d672',1,'hardware.h']]], + ['nr34_5freg_538',['NR34_REG',['../gb_2hardware_8h.html#ab6da3e2cdbac1331bef3f6de9c808ab1',1,'hardware.h']]], + ['nr41_5freg_539',['NR41_REG',['../gb_2hardware_8h.html#a557833cc1671aa0bd71f33766b4e0f24',1,'hardware.h']]], + ['nr42_5freg_540',['NR42_REG',['../gb_2hardware_8h.html#aba3d9fb63552bc02ec879696b581adac',1,'hardware.h']]], + ['nr43_5freg_541',['NR43_REG',['../gb_2hardware_8h.html#a52593a64863d51fbf5860b0d31448972',1,'hardware.h']]], + ['nr44_5freg_542',['NR44_REG',['../gb_2hardware_8h.html#a849d2cff8df2655f86b294466bec40d6',1,'hardware.h']]], + ['nr50_5freg_543',['NR50_REG',['../gb_2hardware_8h.html#a924fdf48f6ad020423f6309055314928',1,'hardware.h']]], + ['nr51_5freg_544',['NR51_REG',['../gb_2hardware_8h.html#ab28f97eabd5f32d48ea27d97bd5dc64f',1,'hardware.h']]], + ['nr52_5freg_545',['NR52_REG',['../gb_2hardware_8h.html#ac429365dce851ca57d8fe4f7c54a1caa',1,'hardware.h']]], + ['null_546',['NULL',['../stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4',1,'NULL(): stddef.h'],['../types_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4',1,'NULL(): types.h']]] ]; diff --git a/docs/api/search/all_12.js b/docs/api/search/all_12.js @@ -1,30 +1,30 @@ var searchData= [ - ['oam_5fitem_5ft_532',['OAM_item_t',['../struct_o_a_m__item__t.html',1,'OAM_item_t'],['../gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03',1,'OAM_item_t(): gb.h']]], - ['oamf_5fbank0_533',['OAMF_BANK0',['../gb_2hardware_8h.html#aade9a193ade9ff22ed6f6263d1a3549b',1,'hardware.h']]], - ['oamf_5fbank1_534',['OAMF_BANK1',['../gb_2hardware_8h.html#ad195d4be68ff54c3926c431fa5511de5',1,'hardware.h']]], - ['oamf_5fcgb_5fpal0_535',['OAMF_CGB_PAL0',['../gb_2hardware_8h.html#a4ff8c8a7acb74ba54043596110091605',1,'hardware.h']]], - ['oamf_5fcgb_5fpal1_536',['OAMF_CGB_PAL1',['../gb_2hardware_8h.html#a9dff52d03755812d3a5ee7ca971c2e83',1,'hardware.h']]], - ['oamf_5fcgb_5fpal2_537',['OAMF_CGB_PAL2',['../gb_2hardware_8h.html#a74744fb475532fa5d343e0818dcc6f88',1,'hardware.h']]], - ['oamf_5fcgb_5fpal3_538',['OAMF_CGB_PAL3',['../gb_2hardware_8h.html#a704ab20694793ea87aace8bfc29568bc',1,'hardware.h']]], - ['oamf_5fcgb_5fpal4_539',['OAMF_CGB_PAL4',['../gb_2hardware_8h.html#a13d5cddfb4a05fa49fc794aeea675c7b',1,'hardware.h']]], - ['oamf_5fcgb_5fpal5_540',['OAMF_CGB_PAL5',['../gb_2hardware_8h.html#af9284c71b8ebf10ef8b9e12268f2cce3',1,'hardware.h']]], - ['oamf_5fcgb_5fpal6_541',['OAMF_CGB_PAL6',['../gb_2hardware_8h.html#ad6f5b0d9ae958dee3d6dfa8f4273ff5a',1,'hardware.h']]], - ['oamf_5fcgb_5fpal7_542',['OAMF_CGB_PAL7',['../gb_2hardware_8h.html#af4b27e8f3c3e14a4f91051fea4c64e4b',1,'hardware.h']]], - ['oamf_5fpal0_543',['OAMF_PAL0',['../gb_2hardware_8h.html#a22b6b835de9ee737be73c4d252aac87c',1,'hardware.h']]], - ['oamf_5fpal1_544',['OAMF_PAL1',['../gb_2hardware_8h.html#ad92f3b2a1cc16700a4660c5821bcb15d',1,'hardware.h']]], - ['oamf_5fpalmask_545',['OAMF_PALMASK',['../gb_2hardware_8h.html#a5dc4d1ee47fe269761fe8fc46d56dabb',1,'hardware.h']]], - ['oamf_5fpri_546',['OAMF_PRI',['../gb_2hardware_8h.html#a393866ca405b1023eec0e784bb88b026',1,'hardware.h']]], - ['oamf_5fxflip_547',['OAMF_XFLIP',['../gb_2hardware_8h.html#a3cd1c1a1291d43dd43b181ff07f8b0a7',1,'hardware.h']]], - ['oamf_5fyflip_548',['OAMF_YFLIP',['../gb_2hardware_8h.html#a820677d593625e8716c3b78f36feb805',1,'hardware.h']]], - ['obp0_5freg_549',['OBP0_REG',['../gb_2hardware_8h.html#a13f3e89f7b92258d825292e5058815c7',1,'hardware.h']]], - ['obp1_5freg_550',['OBP1_REG',['../gb_2hardware_8h.html#a9da545164e049ef773128f869daece13',1,'hardware.h']]], - ['ocpd_5freg_551',['OCPD_REG',['../gb_2hardware_8h.html#ae24d0e88a1e1b8367ac1f5709d3e500c',1,'hardware.h']]], - ['ocps_5freg_552',['OCPS_REG',['../gb_2hardware_8h.html#a1686d2457eb4ad834bb75fb81c86aed8',1,'hardware.h']]], - ['ocpsf_5fautoinc_553',['OCPSF_AUTOINC',['../gb_2hardware_8h.html#a0a6cc6543aa06c12b87e235c3d5da4ff',1,'hardware.h']]], - ['offsetof_554',['offsetof',['../stddef_8h.html#ad89ebe5fe5ad08c683f0871118ea8e2f',1,'stddef.h']]], - ['ofs_555',['ofs',['../union____far__ptr.html#a60fef2b4efac12d73fd609373631ac4e',1,'__far_ptr']]], - ['oldcall_556',['OLDCALL',['../asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc',1,'types.h']]], - ['opcode_557',['opcode',['../structisr__vector__t.html#a43f6e622239ba42a25d2d9624c0d8f0b',1,'isr_vector_t::opcode()'],['../structisr__nested__vector__t.html#a097ce850c38d6045af8f419a07a34b66',1,'isr_nested_vector_t::opcode()']]], - ['or_558',['OR',['../drawing_8h.html#a3363ca4d6d3cc0230b2804280591c991',1,'drawing.h']]] + ['oam_5fitem_5ft_547',['OAM_item_t',['../struct_o_a_m__item__t.html',1,'OAM_item_t'],['../gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03',1,'OAM_item_t(): gb.h']]], + ['oamf_5fbank0_548',['OAMF_BANK0',['../gb_2hardware_8h.html#aade9a193ade9ff22ed6f6263d1a3549b',1,'hardware.h']]], + ['oamf_5fbank1_549',['OAMF_BANK1',['../gb_2hardware_8h.html#ad195d4be68ff54c3926c431fa5511de5',1,'hardware.h']]], + ['oamf_5fcgb_5fpal0_550',['OAMF_CGB_PAL0',['../gb_2hardware_8h.html#a4ff8c8a7acb74ba54043596110091605',1,'hardware.h']]], + ['oamf_5fcgb_5fpal1_551',['OAMF_CGB_PAL1',['../gb_2hardware_8h.html#a9dff52d03755812d3a5ee7ca971c2e83',1,'hardware.h']]], + ['oamf_5fcgb_5fpal2_552',['OAMF_CGB_PAL2',['../gb_2hardware_8h.html#a74744fb475532fa5d343e0818dcc6f88',1,'hardware.h']]], + ['oamf_5fcgb_5fpal3_553',['OAMF_CGB_PAL3',['../gb_2hardware_8h.html#a704ab20694793ea87aace8bfc29568bc',1,'hardware.h']]], + ['oamf_5fcgb_5fpal4_554',['OAMF_CGB_PAL4',['../gb_2hardware_8h.html#a13d5cddfb4a05fa49fc794aeea675c7b',1,'hardware.h']]], + ['oamf_5fcgb_5fpal5_555',['OAMF_CGB_PAL5',['../gb_2hardware_8h.html#af9284c71b8ebf10ef8b9e12268f2cce3',1,'hardware.h']]], + ['oamf_5fcgb_5fpal6_556',['OAMF_CGB_PAL6',['../gb_2hardware_8h.html#ad6f5b0d9ae958dee3d6dfa8f4273ff5a',1,'hardware.h']]], + ['oamf_5fcgb_5fpal7_557',['OAMF_CGB_PAL7',['../gb_2hardware_8h.html#af4b27e8f3c3e14a4f91051fea4c64e4b',1,'hardware.h']]], + ['oamf_5fpal0_558',['OAMF_PAL0',['../gb_2hardware_8h.html#a22b6b835de9ee737be73c4d252aac87c',1,'hardware.h']]], + ['oamf_5fpal1_559',['OAMF_PAL1',['../gb_2hardware_8h.html#ad92f3b2a1cc16700a4660c5821bcb15d',1,'hardware.h']]], + ['oamf_5fpalmask_560',['OAMF_PALMASK',['../gb_2hardware_8h.html#a5dc4d1ee47fe269761fe8fc46d56dabb',1,'hardware.h']]], + ['oamf_5fpri_561',['OAMF_PRI',['../gb_2hardware_8h.html#a393866ca405b1023eec0e784bb88b026',1,'hardware.h']]], + ['oamf_5fxflip_562',['OAMF_XFLIP',['../gb_2hardware_8h.html#a3cd1c1a1291d43dd43b181ff07f8b0a7',1,'hardware.h']]], + ['oamf_5fyflip_563',['OAMF_YFLIP',['../gb_2hardware_8h.html#a820677d593625e8716c3b78f36feb805',1,'hardware.h']]], + ['obp0_5freg_564',['OBP0_REG',['../gb_2hardware_8h.html#a13f3e89f7b92258d825292e5058815c7',1,'hardware.h']]], + ['obp1_5freg_565',['OBP1_REG',['../gb_2hardware_8h.html#a9da545164e049ef773128f869daece13',1,'hardware.h']]], + ['ocpd_5freg_566',['OCPD_REG',['../gb_2hardware_8h.html#ae24d0e88a1e1b8367ac1f5709d3e500c',1,'hardware.h']]], + ['ocps_5freg_567',['OCPS_REG',['../gb_2hardware_8h.html#a1686d2457eb4ad834bb75fb81c86aed8',1,'hardware.h']]], + ['ocpsf_5fautoinc_568',['OCPSF_AUTOINC',['../gb_2hardware_8h.html#a0a6cc6543aa06c12b87e235c3d5da4ff',1,'hardware.h']]], + ['offsetof_569',['offsetof',['../stddef_8h.html#ad89ebe5fe5ad08c683f0871118ea8e2f',1,'stddef.h']]], + ['ofs_570',['ofs',['../union____far__ptr.html#a60fef2b4efac12d73fd609373631ac4e',1,'__far_ptr']]], + ['oldcall_571',['OLDCALL',['../asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc',1,'types.h']]], + ['opcode_572',['opcode',['../structisr__vector__t.html#a43f6e622239ba42a25d2d9624c0d8f0b',1,'isr_vector_t::opcode()'],['../structisr__nested__vector__t.html#a097ce850c38d6045af8f419a07a34b66',1,'isr_nested_vector_t::opcode()']]], + ['or_573',['OR',['../drawing_8h.html#a3363ca4d6d3cc0230b2804280591c991',1,'drawing.h']]] ]; diff --git a/docs/api/search/all_13.js b/docs/api/search/all_13.js @@ -1,33 +1,41 @@ var searchData= [ - ['p1_5freg_559',['P1_REG',['../gb_2hardware_8h.html#a04f9a36ab04334fcd21d2f50c125d5d0',1,'hardware.h']]], - ['p1f_5f0_560',['P1F_0',['../gb_2hardware_8h.html#aedf8627c42ccf0aad5025ef629f4395a',1,'hardware.h']]], - ['p1f_5f1_561',['P1F_1',['../gb_2hardware_8h.html#aad20c4bf5115b40c9118a484808f4b92',1,'hardware.h']]], - ['p1f_5f2_562',['P1F_2',['../gb_2hardware_8h.html#af59d0dd661ea73965101294d30111385',1,'hardware.h']]], - ['p1f_5f3_563',['P1F_3',['../gb_2hardware_8h.html#ae8e325a01af1c20935a0c73ea6465a0e',1,'hardware.h']]], - ['p1f_5f4_564',['P1F_4',['../gb_2hardware_8h.html#ad215dbfc83c9486ead2f28510366f40b',1,'hardware.h']]], - ['p1f_5f5_565',['P1F_5',['../gb_2hardware_8h.html#a6963ef598339e1163d30e57a962e5278',1,'hardware.h']]], - ['p1f_5fget_5fbtn_566',['P1F_GET_BTN',['../gb_2hardware_8h.html#a750bc82ab34a8929a5bba10f2336abe6',1,'hardware.h']]], - ['p1f_5fget_5fdpad_567',['P1F_GET_DPAD',['../gb_2hardware_8h.html#aeaabebe6a36d9e59a01dfceceb7b37d0',1,'hardware.h']]], - ['p1f_5fget_5fnone_568',['P1F_GET_NONE',['../gb_2hardware_8h.html#a5c97ffb0ee0a345ad31797da26410b5a',1,'hardware.h']]], - ['palette_5fcolor_5ft_569',['palette_color_t',['../cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495',1,'cgb.h']]], - ['pcm12_5freg_570',['PCM12_REG',['../gb_2hardware_8h.html#a428894ca3fd0bb4527b03bed551ff04c',1,'hardware.h']]], - ['pcm34_5freg_571',['PCM34_REG',['../gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0',1,'hardware.h']]], - ['platform_2eh_572',['platform.h',['../platform_8h.html',1,'']]], - ['plot_573',['plot',['../drawing_8h.html#ac888c327137d7f00cb3af57af236602a',1,'drawing.h']]], - ['plot_5fpoint_574',['plot_point',['../drawing_8h.html#a595c77bca15884c75fd85af84f373814',1,'drawing.h']]], - ['pmfont_5fhandle_575',['pmfont_handle',['../font_8h.html#a82e0e078fc8a8b6a18538131625dba3a',1,'font.h']]], - ['pointer_576',['POINTER',['../types_8h.html#ae51a81000f343b8ec43bca1f6a723d7b',1,'types.h']]], - ['posx_577',['posx',['../console_8h.html#a03528dec6542c497a3645dec3e8f0770',1,'console.h']]], - ['posy_578',['posy',['../console_8h.html#a1e39e68fcb61161e1855b06ad5782be9',1,'console.h']]], - ['printf_579',['printf',['../stdio_8h.html#ab403fa700816f08631ba75bc536f74d4',1,'stdio.h']]], - ['prop_580',['prop',['../struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9',1,'OAM_item_t']]], - ['props_581',['props',['../structmetasprite__t.html#ab61e73a65c5e8cb30d0d81bb7845d615',1,'metasprite_t']]], - ['provides_2eh_582',['provides.h',['../gbz80_2provides_8h.html',1,'(Global Namespace)'],['../z80_2provides_8h.html',1,'(Global Namespace)']]], - ['ptr_583',['ptr',['../union____far__ptr.html#afabdeeef2b4056bc9c2d2e34b030f348',1,'__far_ptr']]], - ['ptrdiff_5fmax_584',['PTRDIFF_MAX',['../stdint_8h.html#add2ef7bffac19cfdd1f4b5495409672f',1,'stdint.h']]], - ['ptrdiff_5fmin_585',['PTRDIFF_MIN',['../stdint_8h.html#ad9b88ba2fb858f98b50b38e49875d90e',1,'stdint.h']]], - ['ptrdiff_5ft_586',['ptrdiff_t',['../stddef_8h.html#afbe679a40a36da5983ebc5b39754c065',1,'stddef.h']]], - ['putchar_587',['putchar',['../stdio_8h.html#a9bc92fb9f23c72a66d030d4028dda72d',1,'stdio.h']]], - ['puts_588',['puts',['../stdio_8h.html#a299d0f9cb9e7b14e1278a4ed21e4d76f',1,'stdio.h']]] + ['p1_5freg_574',['P1_REG',['../gb_2hardware_8h.html#a04f9a36ab04334fcd21d2f50c125d5d0',1,'hardware.h']]], + ['p1f_5f0_575',['P1F_0',['../gb_2hardware_8h.html#aedf8627c42ccf0aad5025ef629f4395a',1,'hardware.h']]], + ['p1f_5f1_576',['P1F_1',['../gb_2hardware_8h.html#aad20c4bf5115b40c9118a484808f4b92',1,'hardware.h']]], + ['p1f_5f2_577',['P1F_2',['../gb_2hardware_8h.html#af59d0dd661ea73965101294d30111385',1,'hardware.h']]], + ['p1f_5f3_578',['P1F_3',['../gb_2hardware_8h.html#ae8e325a01af1c20935a0c73ea6465a0e',1,'hardware.h']]], + ['p1f_5f4_579',['P1F_4',['../gb_2hardware_8h.html#ad215dbfc83c9486ead2f28510366f40b',1,'hardware.h']]], + ['p1f_5f5_580',['P1F_5',['../gb_2hardware_8h.html#a6963ef598339e1163d30e57a962e5278',1,'hardware.h']]], + ['p1f_5fget_5fbtn_581',['P1F_GET_BTN',['../gb_2hardware_8h.html#a750bc82ab34a8929a5bba10f2336abe6',1,'hardware.h']]], + ['p1f_5fget_5fdpad_582',['P1F_GET_DPAD',['../gb_2hardware_8h.html#aeaabebe6a36d9e59a01dfceceb7b37d0',1,'hardware.h']]], + ['p1f_5fget_5fnone_583',['P1F_GET_NONE',['../gb_2hardware_8h.html#a5c97ffb0ee0a345ad31797da26410b5a',1,'hardware.h']]], + ['palette_5fcolor_5ft_584',['palette_color_t',['../cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495',1,'cgb.h']]], + ['pcm12_5freg_585',['PCM12_REG',['../gb_2hardware_8h.html#a428894ca3fd0bb4527b03bed551ff04c',1,'hardware.h']]], + ['pcm34_5freg_586',['PCM34_REG',['../gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0',1,'hardware.h']]], + ['pcm_5fsample_587',['PCM_SAMPLE',['../gb_2hardware_8h.html#a271367a0bf840e5422b3a7ed541776f8',1,'hardware.h']]], + ['platform_2eh_588',['platform.h',['../platform_8h.html',1,'']]], + ['plot_589',['plot',['../drawing_8h.html#ac888c327137d7f00cb3af57af236602a',1,'drawing.h']]], + ['plot_5fpoint_590',['plot_point',['../drawing_8h.html#a595c77bca15884c75fd85af84f373814',1,'drawing.h']]], + ['pmfont_5fhandle_591',['pmfont_handle',['../font_8h.html#a82e0e078fc8a8b6a18538131625dba3a',1,'font.h']]], + ['pointer_592',['POINTER',['../types_8h.html#ae51a81000f343b8ec43bca1f6a723d7b',1,'types.h']]], + ['posx_593',['posx',['../console_8h.html#a03528dec6542c497a3645dec3e8f0770',1,'console.h']]], + ['posy_594',['posy',['../console_8h.html#a1e39e68fcb61161e1855b06ad5782be9',1,'console.h']]], + ['preserves_5fregs_595',['PRESERVES_REGS',['../asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961',1,'types.h']]], + ['printf_596',['printf',['../stdio_8h.html#ab403fa700816f08631ba75bc536f74d4',1,'stdio.h']]], + ['prop_597',['prop',['../struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9',1,'OAM_item_t']]], + ['props_598',['props',['../structmetasprite__t.html#ab61e73a65c5e8cb30d0d81bb7845d615',1,'metasprite_t']]], + ['provides_2eh_599',['provides.h',['../gbz80_2provides_8h.html',1,'(Global Namespace)'],['../z80_2provides_8h.html',1,'(Global Namespace)']]], + ['psg_5fch0_600',['PSG_CH0',['../sms_2hardware_8h.html#ad8a903de6b38e08e1591fc5ef278381c',1,'hardware.h']]], + ['psg_5fch1_601',['PSG_CH1',['../sms_2hardware_8h.html#addc12c4ee03ea787b826e337f1acd317',1,'hardware.h']]], + ['psg_5fch2_602',['PSG_CH2',['../sms_2hardware_8h.html#aaeefb1ac1fb4d0d2324b8ee7f4953226',1,'hardware.h']]], + ['psg_5fch3_603',['PSG_CH3',['../sms_2hardware_8h.html#ac760259fb86ee72abb5922018ae0db42',1,'hardware.h']]], + ['psg_5flatch_604',['PSG_LATCH',['../sms_2hardware_8h.html#a6777f1ed2475b5ba6aa60b9a16fa02d3',1,'hardware.h']]], + ['psg_5fvolume_605',['PSG_VOLUME',['../sms_2hardware_8h.html#a3d806ff027bffa67c4dfc5967f87c1d1',1,'hardware.h']]], + ['ptr_606',['ptr',['../union____far__ptr.html#afabdeeef2b4056bc9c2d2e34b030f348',1,'__far_ptr']]], + ['ptrdiff_5fmax_607',['PTRDIFF_MAX',['../stdint_8h.html#add2ef7bffac19cfdd1f4b5495409672f',1,'stdint.h']]], + ['ptrdiff_5fmin_608',['PTRDIFF_MIN',['../stdint_8h.html#ad9b88ba2fb858f98b50b38e49875d90e',1,'stdint.h']]], + ['ptrdiff_5ft_609',['ptrdiff_t',['../stddef_8h.html#afbe679a40a36da5983ebc5b39754c065',1,'stddef.h']]], + ['putchar_610',['putchar',['../stdio_8h.html#a9bc92fb9f23c72a66d030d4028dda72d',1,'stdio.h']]], + ['puts_611',['puts',['../stdio_8h.html#a299d0f9cb9e7b14e1278a4ed21e4d76f',1,'stdio.h']]] ]; diff --git a/docs/api/search/all_14.js b/docs/api/search/all_14.js @@ -1,4 +1,4 @@ var searchData= [ - ['qsort_589',['qsort',['../stdlib_8h.html#a02d9d6443b9e613802b2e9c5c71caf59',1,'stdlib.h']]] + ['qsort_612',['qsort',['../stdlib_8h.html#a02d9d6443b9e613802b2e9c5c71caf59',1,'stdlib.h']]] ]; diff --git a/docs/api/search/all_15.js b/docs/api/search/all_15.js @@ -1,155 +1,157 @@ var searchData= [ - ['rom_2fram_20banking_20and_20mbcs_590',['ROM/RAM Banking and MBCs',['../docs_rombanking_mbcs.html',1,'index']]], - ['r0_5fdefault_591',['R0_DEFAULT',['../sms_2hardware_8h.html#af69775608c5d3218fb769c4fb370685f',1,'hardware.h']]], - ['r0_5fes_592',['R0_ES',['../sms_2hardware_8h.html#a07d8e5a18c957c482218804ab764dab9',1,'hardware.h']]], - ['r0_5fes_5foff_593',['R0_ES_OFF',['../sms_2hardware_8h.html#aebdf04065a0abf79ae8e1016d03caa1f',1,'hardware.h']]], - ['r0_5fhscrl_594',['R0_HSCRL',['../sms_2hardware_8h.html#a61143072ad490ff0050177e7b4b2dd40',1,'hardware.h']]], - ['r0_5fhscrl_5finh_595',['R0_HSCRL_INH',['../sms_2hardware_8h.html#a5c238a0b81716020b92cf851b2498b96',1,'hardware.h']]], - ['r0_5fie1_596',['R0_IE1',['../sms_2hardware_8h.html#ae9ab439a46f9918cc24453cd65f95202',1,'hardware.h']]], - ['r0_5fie1_5foff_597',['R0_IE1_OFF',['../sms_2hardware_8h.html#a56819f822caf1e545ff803d41cac3ede',1,'hardware.h']]], - ['r0_5flcb_598',['R0_LCB',['../sms_2hardware_8h.html#a83088549f6d87bf5ccb8bf51dfe7ea7b',1,'hardware.h']]], - ['r0_5fno_5flcb_599',['R0_NO_LCB',['../sms_2hardware_8h.html#acdd680365862fb618641818646edeb7e',1,'hardware.h']]], - ['r0_5fss_600',['R0_SS',['../sms_2hardware_8h.html#ada8068942691b363f9004ccfd0cb8e82',1,'hardware.h']]], - ['r0_5fss_5foff_601',['R0_SS_OFF',['../sms_2hardware_8h.html#a10e6ffa0580e9956440f4259a3e79a38',1,'hardware.h']]], - ['r0_5fvscrl_602',['R0_VSCRL',['../sms_2hardware_8h.html#a283c5cad8b93ee7e72ad07aabb9bf522',1,'hardware.h']]], - ['r0_5fvscrl_5finh_603',['R0_VSCRL_INH',['../sms_2hardware_8h.html#a65fa6547c2cd80b353a0b266cd834ff0',1,'hardware.h']]], - ['r10_5fint_5fevery_604',['R10_INT_EVERY',['../sms_2hardware_8h.html#adf9e7ec5362058df23e1c0e4c06ad5d6',1,'hardware.h']]], - ['r10_5fint_5foff_605',['R10_INT_OFF',['../sms_2hardware_8h.html#a98d635ed568cfe9f853eaf7e1707dec4',1,'hardware.h']]], - ['r1_5fdefault_606',['R1_DEFAULT',['../sms_2hardware_8h.html#a490562a6e4b57d7bf25e8fed3b3f6905',1,'hardware.h']]], - ['r1_5fdisp_5foff_607',['R1_DISP_OFF',['../sms_2hardware_8h.html#a143660061646a3f502d03a2251575588',1,'hardware.h']]], - ['r1_5fdisp_5fon_608',['R1_DISP_ON',['../sms_2hardware_8h.html#adbfdd7c42539613c371820dffd14906f',1,'hardware.h']]], - ['r1_5fie_609',['R1_IE',['../sms_2hardware_8h.html#a29a2945a9e77ba1f003a2305b7500568',1,'hardware.h']]], - ['r1_5fie_5foff_610',['R1_IE_OFF',['../sms_2hardware_8h.html#adf542fd9d2bf9affc6016718e3885473',1,'hardware.h']]], - ['r1_5fspr_5f8x16_611',['R1_SPR_8X16',['../sms_2hardware_8h.html#a4985d6df1031afe8efb993f9c480ca12',1,'hardware.h']]], - ['r1_5fspr_5f8x8_612',['R1_SPR_8X8',['../sms_2hardware_8h.html#aa4062707b9b0f9ff5d1ee982ccc42fe7',1,'hardware.h']]], - ['r2_5fmap_5f0x0000_613',['R2_MAP_0x0000',['../sms_2hardware_8h.html#acf804b73635a1bfeb04b7dbeafb7fd9f',1,'hardware.h']]], - ['r2_5fmap_5f0x0800_614',['R2_MAP_0x0800',['../sms_2hardware_8h.html#a64cfebfe759bacd1424ad147931ff5a3',1,'hardware.h']]], - ['r2_5fmap_5f0x1000_615',['R2_MAP_0x1000',['../sms_2hardware_8h.html#a43a631b4692a370b2db6b9d5fc2512e1',1,'hardware.h']]], - ['r2_5fmap_5f0x1800_616',['R2_MAP_0x1800',['../sms_2hardware_8h.html#a08fade3bc2afb94785b0ac50d6959faa',1,'hardware.h']]], - ['r2_5fmap_5f0x2000_617',['R2_MAP_0x2000',['../sms_2hardware_8h.html#aa2c53c6a4d12fb0614c1a18c015e39af',1,'hardware.h']]], - ['r2_5fmap_5f0x2800_618',['R2_MAP_0x2800',['../sms_2hardware_8h.html#a43ae738f82e8c6e84d30a96fb9c2c792',1,'hardware.h']]], - ['r2_5fmap_5f0x3000_619',['R2_MAP_0x3000',['../sms_2hardware_8h.html#a725647b41b3c8083a7ae8db762ffc880',1,'hardware.h']]], - ['r2_5fmap_5f0x3800_620',['R2_MAP_0x3800',['../sms_2hardware_8h.html#a8ce8807a3666fa8c7c93d4834ab22fe3',1,'hardware.h']]], - ['r5_5fsat_5f0x3f00_621',['R5_SAT_0x3F00',['../sms_2hardware_8h.html#ae973ce797203f9e4bebc10f5010a8fdd',1,'hardware.h']]], - ['r5_5fsat_5fmask_622',['R5_SAT_MASK',['../sms_2hardware_8h.html#ab0ea6874bcc910239b098025c9761c01',1,'hardware.h']]], - ['r6_5fbank0_623',['R6_BANK0',['../sms_2hardware_8h.html#a1aba84d3beebe43e641766525630d0ad',1,'hardware.h']]], - ['r6_5fbank1_624',['R6_BANK1',['../sms_2hardware_8h.html#adcc51095e67b158df848367761d735a4',1,'hardware.h']]], - ['r6_5fdata_5f0x0000_625',['R6_DATA_0x0000',['../sms_2hardware_8h.html#a81289f179bb00ade9e4f7221ddff0e46',1,'hardware.h']]], - ['r6_5fdata_5f0x2000_626',['R6_DATA_0x2000',['../sms_2hardware_8h.html#ac59ac38e5ec2e23e511f854403d7cbe4',1,'hardware.h']]], - ['r7_5fcolor_5fmask_627',['R7_COLOR_MASK',['../sms_2hardware_8h.html#aa1a024a7dc26ef40663fe283565bcf50',1,'hardware.h']]], - ['ramctl_5fbank_628',['RAMCTL_BANK',['../sms_2hardware_8h.html#a8f4dbe8a2e6389c78b9f6fb9a3ff1dca',1,'hardware.h']]], - ['ramctl_5fprot_629',['RAMCTL_PROT',['../sms_2hardware_8h.html#a97eb5adb5f29e17ce5766728447317f5',1,'hardware.h']]], - ['ramctl_5fram_630',['RAMCTL_RAM',['../sms_2hardware_8h.html#a8728acabf97eae3322439bc3cb41b02d',1,'hardware.h']]], - ['ramctl_5fro_631',['RAMCTL_RO',['../sms_2hardware_8h.html#afa9ebb221cf9cd92038131ab588679bf',1,'hardware.h']]], - ['ramctl_5from_632',['RAMCTL_ROM',['../sms_2hardware_8h.html#a0167c8f86de8ef1a327b806c8ed0c64c',1,'hardware.h']]], - ['rand_633',['rand',['../rand_8h.html#ad81c61515217f062f5872031a7761fef',1,'rand.h']]], - ['rand_2eh_634',['rand.h',['../rand_8h.html',1,'']]], - ['randw_635',['randw',['../rand_8h.html#ac659150eb39aae2f523bef6554b19b77',1,'rand.h']]], - ['raud1env_636',['rAUD1ENV',['../gb_2hardware_8h.html#ae787a2c857fe8f3803ca353d5309fc85',1,'hardware.h']]], - ['raud1high_637',['rAUD1HIGH',['../gb_2hardware_8h.html#ab042aa7a7fae75f94d8fb3e08004c797',1,'hardware.h']]], - ['raud1len_638',['rAUD1LEN',['../gb_2hardware_8h.html#aaeb899eb6bd0593ffb4e90a2f762b18f',1,'hardware.h']]], - ['raud1low_639',['rAUD1LOW',['../gb_2hardware_8h.html#abb35a844f228403a96e28da7633344e1',1,'hardware.h']]], - ['raud1sweep_640',['rAUD1SWEEP',['../gb_2hardware_8h.html#a4a73d9c15883b576fa0a5b4cc4ac2d08',1,'hardware.h']]], - ['raud2env_641',['rAUD2ENV',['../gb_2hardware_8h.html#abf3efd42adced218237283156dbae055',1,'hardware.h']]], - ['raud2high_642',['rAUD2HIGH',['../gb_2hardware_8h.html#afc3684b8215221942a0cddc5960cf8a9',1,'hardware.h']]], - ['raud2len_643',['rAUD2LEN',['../gb_2hardware_8h.html#a12f01b21d08249800571c6e0f26beeae',1,'hardware.h']]], - ['raud2low_644',['rAUD2LOW',['../gb_2hardware_8h.html#a521466a7650d60b464991ebf68112114',1,'hardware.h']]], - ['raud3ena_645',['rAUD3ENA',['../gb_2hardware_8h.html#a13e230a0d2979e0b9ca9582f6010162b',1,'hardware.h']]], - ['raud3high_646',['rAUD3HIGH',['../gb_2hardware_8h.html#acd0b3763f8599ed65e2d060b159bd91c',1,'hardware.h']]], - ['raud3len_647',['rAUD3LEN',['../gb_2hardware_8h.html#ae168529ead90f90c28f75d57ba4d28e2',1,'hardware.h']]], - ['raud3level_648',['rAUD3LEVEL',['../gb_2hardware_8h.html#a298bccebea918c63aed36c811e02333d',1,'hardware.h']]], - ['raud3low_649',['rAUD3LOW',['../gb_2hardware_8h.html#a31d1d4441749e90c2895fc8750b2234c',1,'hardware.h']]], - ['raud4env_650',['rAUD4ENV',['../gb_2hardware_8h.html#abba6cc1819ea73d36a389fd99807dac5',1,'hardware.h']]], - ['raud4go_651',['rAUD4GO',['../gb_2hardware_8h.html#a8492c6d9cb38fbb4a2bf9f5caa426578',1,'hardware.h']]], - ['raud4len_652',['rAUD4LEN',['../gb_2hardware_8h.html#abd820b2f5c18efb43548f64862d38f05',1,'hardware.h']]], - ['raud4poly_653',['rAUD4POLY',['../gb_2hardware_8h.html#ae21217e822a66e77c15a4df4fa0cf1e9',1,'hardware.h']]], - ['raudena_654',['rAUDENA',['../gb_2hardware_8h.html#a627044263543a1074dc9f4570aa8c915',1,'hardware.h']]], - ['raudterm_655',['rAUDTERM',['../gb_2hardware_8h.html#ad2891216d025f44b02350f2ae2612b1e',1,'hardware.h']]], - ['raudvol_656',['rAUDVOL',['../gb_2hardware_8h.html#a534fa3f905e37ac434537af23847d89a',1,'hardware.h']]], - ['rbcpd_657',['rBCPD',['../gb_2hardware_8h.html#a3dbfd7c3f4a62774fbc98caa73899e96',1,'hardware.h']]], - ['rbcps_658',['rBCPS',['../gb_2hardware_8h.html#a4f1816144e0561ff4db1ad24f4ce847a',1,'hardware.h']]], - ['rbgp_659',['rBGP',['../gb_2hardware_8h.html#a4fbcc4798c0721efcf4462c04a4566c1',1,'hardware.h']]], - ['rdiv_660',['rDIV',['../gb_2hardware_8h.html#a12ba1f984c585c57163f214f8829d569',1,'hardware.h']]], - ['rdma_661',['rDMA',['../gb_2hardware_8h.html#a4225227c2812c3e3e500441f5e90772a',1,'hardware.h']]], - ['realloc_662',['realloc',['../stdlib_8h.html#a1a6b5e8d2f1c37e5b43e4345586075be',1,'stdlib.h']]], - ['receive_5fbyte_663',['receive_byte',['../gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7',1,'gb.h']]], - ['refresh_5foam_664',['refresh_OAM',['../gb_8h.html#a7542d00af674e3c58b6c9887ab01919f',1,'refresh_OAM(): gb.h'],['../sms_8h.html#a7542d00af674e3c58b6c9887ab01919f',1,'refresh_OAM(): sms.h']]], - ['remove_5fjoy_665',['remove_JOY',['../gb_8h.html#a4a3e87e0917d5efb6bc7c94e9754fcd0',1,'remove_JOY(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a10fc1ec5a17a7d25d95241db0f458eb9',1,'remove_JOY(int_handler h) __z88dk_fastcall: sms.h']]], - ['remove_5flcd_666',['remove_LCD',['../gb_8h.html#a32683767caa2a263a1f494b3605786e7',1,'remove_LCD(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a0bd9fc648e26b8d494d082343f19d9ad',1,'remove_LCD(int_handler h) __z88dk_fastcall __preserves_regs(b: sms.h']]], - ['remove_5fsio_667',['remove_SIO',['../gb_8h.html#a5b821b31215361265d8b7894a9ae7118',1,'remove_SIO(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#ab052e48d56856c376379c3a9cc686c76',1,'remove_SIO(int_handler h) __z88dk_fastcall: sms.h']]], - ['remove_5ftim_668',['remove_TIM',['../gb_8h.html#a142f6c7755fce8b1148faf658d8ec147',1,'remove_TIM(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#afe6f5ff8fbb632868cb41f2a4c5995ae',1,'remove_TIM(int_handler h) __z88dk_fastcall: sms.h']]], - ['remove_5fvbl_669',['remove_VBL',['../gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386',1,'remove_VBL(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a9eeb134cad80f309ce86ab101a9e0026',1,'remove_VBL(int_handler h) __z88dk_fastcall __preserves_regs(iyh: sms.h']]], - ['reset_670',['reset',['../gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55',1,'gb.h']]], - ['ret_5fsize_671',['RET_SIZE',['../setjmp_8h.html#a61c5519ad23b4ddbcc77c45352aac913',1,'setjmp.h']]], - ['reverse_672',['reverse',['../asm_2gbz80_2string_8h.html#a31e56ae6ad0e9bd961633507ec1aef6c',1,'reverse(char *s) OLDCALL __preserves_regs(b: string.h'],['../asm_2z80_2string_8h.html#a81863156a28fd2eefeee6859d768bdb1',1,'reverse(char *s) NONBANKED: string.h']]], - ['rgb_673',['RGB',['../cgb_8h.html#a4a118ad3ee36468a3fa616977a64864e',1,'cgb.h']]], - ['rgb8_674',['RGB8',['../cgb_8h.html#a7d2ed0f10b2b74123a544327bbfd7564',1,'cgb.h']]], - ['rgb_5faqua_675',['RGB_AQUA',['../cgb_8h.html#ae4fe0c6cfa46b0c4804425f23bb48f4c',1,'cgb.h']]], - ['rgb_5fblack_676',['RGB_BLACK',['../cgb_8h.html#ae168f0f9864d4ed4be7807b9783f17f1',1,'cgb.h']]], - ['rgb_5fblue_677',['RGB_BLUE',['../cgb_8h.html#a0eff802f1ca228046476209dc01c76ad',1,'cgb.h']]], - ['rgb_5fbrown_678',['RGB_BROWN',['../cgb_8h.html#a7c2a437dfb89d663a1c2f0a7a9256474',1,'cgb.h']]], - ['rgb_5fcyan_679',['RGB_CYAN',['../cgb_8h.html#a2ce30ac984869b55594447722b9d0579',1,'cgb.h']]], - ['rgb_5fdarkblue_680',['RGB_DARKBLUE',['../cgb_8h.html#ad44385fc245bbabf6da787dcc8930385',1,'cgb.h']]], - ['rgb_5fdarkgray_681',['RGB_DARKGRAY',['../cgb_8h.html#a29b47e2361025eabcdc3bcbff2308044',1,'cgb.h']]], - ['rgb_5fdarkgreen_682',['RGB_DARKGREEN',['../cgb_8h.html#a1ee7a5d8fd635e9132a2820a60f9789d',1,'cgb.h']]], - ['rgb_5fdarkred_683',['RGB_DARKRED',['../cgb_8h.html#ae29b6947ac7dca7db513e59f1cfcbf51',1,'cgb.h']]], - ['rgb_5fdarkyellow_684',['RGB_DARKYELLOW',['../cgb_8h.html#a2727da9f8c0b09a67375575a00186e2a',1,'cgb.h']]], - ['rgb_5fgreen_685',['RGB_GREEN',['../cgb_8h.html#ab6c97468034c02fe204fd37036d9be15',1,'cgb.h']]], - ['rgb_5flightflesh_686',['RGB_LIGHTFLESH',['../cgb_8h.html#a90ef6e9a3d95516b1fef15076b1b4999',1,'cgb.h']]], - ['rgb_5flightgray_687',['RGB_LIGHTGRAY',['../cgb_8h.html#a80efbf7b13421922fb174f3e6a3e235c',1,'cgb.h']]], - ['rgb_5forange_688',['RGB_ORANGE',['../cgb_8h.html#a0a85d8d0da8edc5cce98f48701f903f7',1,'cgb.h']]], - ['rgb_5fpink_689',['RGB_PINK',['../cgb_8h.html#a59fb596d3d65cfc4d3cb7e5044b8b10a',1,'cgb.h']]], - ['rgb_5fpurple_690',['RGB_PURPLE',['../cgb_8h.html#a9d5a5f880df6bd4b64e6546839d41101',1,'cgb.h']]], - ['rgb_5fred_691',['RGB_RED',['../cgb_8h.html#aa039288455af8a3812a35aa1e7b903e4',1,'cgb.h']]], - ['rgb_5fteal_692',['RGB_TEAL',['../cgb_8h.html#a9c8c3710151b2258ea8269850498703f',1,'cgb.h']]], - ['rgb_5fwhite_693',['RGB_WHITE',['../cgb_8h.html#ac1771f95d9887118764bd8a074e537e1',1,'cgb.h']]], - ['rgb_5fyellow_694',['RGB_YELLOW',['../cgb_8h.html#ad74a18fca945f257dc9d1b99f9edbd40',1,'cgb.h']]], - ['rgbhtml_695',['RGBHTML',['../cgb_8h.html#ab5a6e450fcf10402278fe585a421dbbd',1,'cgb.h']]], - ['rhdma1_696',['rHDMA1',['../gb_2hardware_8h.html#a5011196496193d80fc58cdb632fbab24',1,'hardware.h']]], - ['rhdma2_697',['rHDMA2',['../gb_2hardware_8h.html#abc4249f04a9081f45439f61dabf861e5',1,'hardware.h']]], - ['rhdma3_698',['rHDMA3',['../gb_2hardware_8h.html#aca2df62463b4c3bc4a291e18f26f4ec5',1,'hardware.h']]], - ['rhdma4_699',['rHDMA4',['../gb_2hardware_8h.html#adee641ce3abf6b891e0e16bb56bdfcf7',1,'hardware.h']]], - ['rhdma5_700',['rHDMA5',['../gb_2hardware_8h.html#ae7eecc25286b951a78ef0dfc97aab3a7',1,'hardware.h']]], - ['rie_701',['rIE',['../gb_2hardware_8h.html#a52e850e75483f64ca070a33ee4877d47',1,'hardware.h']]], - ['rif_702',['rIF',['../gb_2hardware_8h.html#a9534175911f7a54fa550318b275c4cc3',1,'hardware.h']]], - ['rkey1_703',['rKEY1',['../gb_2hardware_8h.html#ad3f67013699d0d38c203e4e863c91c41',1,'hardware.h']]], - ['rlcdc_704',['rLCDC',['../gb_2hardware_8h.html#a8b576a1fe1473ac4aff8afecb28035cb',1,'hardware.h']]], - ['rle_5fdecompress_705',['rle_decompress',['../rledecompress_8h.html#ad60bf95ddad142d8d81e5e1f0a0bb6e0',1,'rledecompress.h']]], - ['rle_5finit_706',['rle_init',['../rledecompress_8h.html#a95560a74a89bab26cb6265dcc2bf54f6',1,'rledecompress.h']]], - ['rle_5fstop_707',['RLE_STOP',['../rledecompress_8h.html#a2b4967f6970ecd99478db3807c68d955',1,'rledecompress.h']]], - ['rledecompress_2eh_708',['rledecompress.h',['../rledecompress_8h.html',1,'']]], - ['rly_709',['rLY',['../gb_2hardware_8h.html#aa851dae67d0bb80c17415774558d985f',1,'hardware.h']]], - ['rlyc_710',['rLYC',['../gb_2hardware_8h.html#a92083741d31c9b2206b403e97124cbdc',1,'hardware.h']]], - ['robp0_711',['rOBP0',['../gb_2hardware_8h.html#ae0a85bdedbbf1c79b5dbb5b23ca4bf79',1,'hardware.h']]], - ['robp1_712',['rOBP1',['../gb_2hardware_8h.html#a2a14470dca10f69c092d817a433383bd',1,'hardware.h']]], - ['rocpd_713',['rOCPD',['../gb_2hardware_8h.html#a723eb3e0c2c681a050e9a325e35c25ae',1,'hardware.h']]], - ['rocps_714',['rOCPS',['../gb_2hardware_8h.html#a056b789889ecf0691e54f721e015b873',1,'hardware.h']]], - ['rp1_715',['rP1',['../gb_2hardware_8h.html#ae7eccdbd4f7b211074591866f515b760',1,'hardware.h']]], - ['rp_5freg_716',['RP_REG',['../gb_2hardware_8h.html#a76532f8742d9dd8cb26d2ccfd9c37bbf',1,'hardware.h']]], - ['rpcm12_717',['rPCM12',['../gb_2hardware_8h.html#a28368838b9e270c301361a5f39c97154',1,'hardware.h']]], - ['rpcm34_718',['rPCM34',['../gb_2hardware_8h.html#ac1c402357ccc5f6c3c451450b30ca959',1,'hardware.h']]], - ['rpf_5fdatain_719',['RPF_DATAIN',['../gb_2hardware_8h.html#aaffaea3512173f90b85bae710d40ba6c',1,'hardware.h']]], - ['rpf_5fenread_720',['RPF_ENREAD',['../gb_2hardware_8h.html#a092b2e33a050ac6ced4e897498ce9a2f',1,'hardware.h']]], - ['rpf_5fwrite_5fhi_721',['RPF_WRITE_HI',['../gb_2hardware_8h.html#ac47b78eb2ffea207a8c7ac643555ba6c',1,'hardware.h']]], - ['rpf_5fwrite_5flo_722',['RPF_WRITE_LO',['../gb_2hardware_8h.html#ab0fe74a7c155ae95cbf20bbb5e1bf46b',1,'hardware.h']]], - ['rramb_723',['rRAMB',['../gb_2hardware_8h.html#ac2985dbccb16c4c00381d6fbe9600aff',1,'hardware.h']]], - ['rramg_724',['rRAMG',['../gb_2hardware_8h.html#a64dd59016e4f0e78672962fbc553a4b4',1,'hardware.h']]], - ['rromb0_725',['rROMB0',['../gb_2hardware_8h.html#ae0976a29e341edc6ceb810e6eb0328f1',1,'hardware.h']]], - ['rromb1_726',['rROMB1',['../gb_2hardware_8h.html#a014f3a9d7ce8f8026c9ac6c0410bb099',1,'hardware.h']]], - ['rrp_727',['rRP',['../gb_2hardware_8h.html#a82c53e957d31d22c475e1629843bc12d',1,'hardware.h']]], - ['rsb_728',['rSB',['../gb_2hardware_8h.html#af35c8012bca7a164f0910d55cdf6030f',1,'hardware.h']]], - ['rsc_729',['rSC',['../gb_2hardware_8h.html#a7780d3a9b0fcc42499ed2451d7ab2ec5',1,'hardware.h']]], - ['rscx_730',['rSCX',['../gb_2hardware_8h.html#a97932e023d96ece4715802b6c2565c43',1,'hardware.h']]], - ['rscy_731',['rSCY',['../gb_2hardware_8h.html#ad2537c13699429afa59a68c6d6598632',1,'hardware.h']]], - ['rsmbk_732',['rSMBK',['../gb_2hardware_8h.html#af93abe183851726958f27d979498032e',1,'hardware.h']]], - ['rspd_733',['rSPD',['../gb_2hardware_8h.html#a222d5e3cb366d5e720a832fc68ce3a13',1,'hardware.h']]], - ['rstat_734',['rSTAT',['../gb_2hardware_8h.html#a338ec378453b4457efdb3008978c0f28',1,'hardware.h']]], - ['rsvbk_735',['rSVBK',['../gb_2hardware_8h.html#a83e14896ee3ddf2a4201b534d8e5f398',1,'hardware.h']]], - ['rtac_736',['rTAC',['../gb_2hardware_8h.html#aeddc90947f6a6a3a3fd1e1db3751c988',1,'hardware.h']]], - ['rtima_737',['rTIMA',['../gb_2hardware_8h.html#a51594891b388d60d6917a6ff64542b66',1,'hardware.h']]], - ['rtma_738',['rTMA',['../gb_2hardware_8h.html#a588d681dc33d9da3a899863b42980e18',1,'hardware.h']]], - ['rvbk_739',['rVBK',['../gb_2hardware_8h.html#a09fa1caa91313e57dc2c3dd354104b00',1,'hardware.h']]], - ['rwx_740',['rWX',['../gb_2hardware_8h.html#aba3cbaeca5ad045fb27095c210b661b7',1,'hardware.h']]], - ['rwy_741',['rWY',['../gb_2hardware_8h.html#afe84077234eb6e0520d7a6d0a9e903e7',1,'hardware.h']]] + ['rom_2fram_20banking_20and_20mbcs_613',['ROM/RAM Banking and MBCs',['../docs_rombanking_mbcs.html',1,'index']]], + ['r0_5fdefault_614',['R0_DEFAULT',['../sms_2hardware_8h.html#af69775608c5d3218fb769c4fb370685f',1,'hardware.h']]], + ['r0_5fes_615',['R0_ES',['../sms_2hardware_8h.html#a07d8e5a18c957c482218804ab764dab9',1,'hardware.h']]], + ['r0_5fes_5foff_616',['R0_ES_OFF',['../sms_2hardware_8h.html#aebdf04065a0abf79ae8e1016d03caa1f',1,'hardware.h']]], + ['r0_5fhscrl_617',['R0_HSCRL',['../sms_2hardware_8h.html#a61143072ad490ff0050177e7b4b2dd40',1,'hardware.h']]], + ['r0_5fhscrl_5finh_618',['R0_HSCRL_INH',['../sms_2hardware_8h.html#a5c238a0b81716020b92cf851b2498b96',1,'hardware.h']]], + ['r0_5fie1_619',['R0_IE1',['../sms_2hardware_8h.html#ae9ab439a46f9918cc24453cd65f95202',1,'hardware.h']]], + ['r0_5fie1_5foff_620',['R0_IE1_OFF',['../sms_2hardware_8h.html#a56819f822caf1e545ff803d41cac3ede',1,'hardware.h']]], + ['r0_5flcb_621',['R0_LCB',['../sms_2hardware_8h.html#a83088549f6d87bf5ccb8bf51dfe7ea7b',1,'hardware.h']]], + ['r0_5fno_5flcb_622',['R0_NO_LCB',['../sms_2hardware_8h.html#acdd680365862fb618641818646edeb7e',1,'hardware.h']]], + ['r0_5fss_623',['R0_SS',['../sms_2hardware_8h.html#ada8068942691b363f9004ccfd0cb8e82',1,'hardware.h']]], + ['r0_5fss_5foff_624',['R0_SS_OFF',['../sms_2hardware_8h.html#a10e6ffa0580e9956440f4259a3e79a38',1,'hardware.h']]], + ['r0_5fvscrl_625',['R0_VSCRL',['../sms_2hardware_8h.html#a283c5cad8b93ee7e72ad07aabb9bf522',1,'hardware.h']]], + ['r0_5fvscrl_5finh_626',['R0_VSCRL_INH',['../sms_2hardware_8h.html#a65fa6547c2cd80b353a0b266cd834ff0',1,'hardware.h']]], + ['r10_5fint_5fevery_627',['R10_INT_EVERY',['../sms_2hardware_8h.html#adf9e7ec5362058df23e1c0e4c06ad5d6',1,'hardware.h']]], + ['r10_5fint_5foff_628',['R10_INT_OFF',['../sms_2hardware_8h.html#a98d635ed568cfe9f853eaf7e1707dec4',1,'hardware.h']]], + ['r1_5fdefault_629',['R1_DEFAULT',['../sms_2hardware_8h.html#a490562a6e4b57d7bf25e8fed3b3f6905',1,'hardware.h']]], + ['r1_5fdisp_5foff_630',['R1_DISP_OFF',['../sms_2hardware_8h.html#a143660061646a3f502d03a2251575588',1,'hardware.h']]], + ['r1_5fdisp_5fon_631',['R1_DISP_ON',['../sms_2hardware_8h.html#adbfdd7c42539613c371820dffd14906f',1,'hardware.h']]], + ['r1_5fie_632',['R1_IE',['../sms_2hardware_8h.html#a29a2945a9e77ba1f003a2305b7500568',1,'hardware.h']]], + ['r1_5fie_5foff_633',['R1_IE_OFF',['../sms_2hardware_8h.html#adf542fd9d2bf9affc6016718e3885473',1,'hardware.h']]], + ['r1_5fspr_5f8x16_634',['R1_SPR_8X16',['../sms_2hardware_8h.html#a4985d6df1031afe8efb993f9c480ca12',1,'hardware.h']]], + ['r1_5fspr_5f8x8_635',['R1_SPR_8X8',['../sms_2hardware_8h.html#aa4062707b9b0f9ff5d1ee982ccc42fe7',1,'hardware.h']]], + ['r2_5fmap_5f0x0000_636',['R2_MAP_0x0000',['../sms_2hardware_8h.html#acf804b73635a1bfeb04b7dbeafb7fd9f',1,'hardware.h']]], + ['r2_5fmap_5f0x0800_637',['R2_MAP_0x0800',['../sms_2hardware_8h.html#a64cfebfe759bacd1424ad147931ff5a3',1,'hardware.h']]], + ['r2_5fmap_5f0x1000_638',['R2_MAP_0x1000',['../sms_2hardware_8h.html#a43a631b4692a370b2db6b9d5fc2512e1',1,'hardware.h']]], + ['r2_5fmap_5f0x1800_639',['R2_MAP_0x1800',['../sms_2hardware_8h.html#a08fade3bc2afb94785b0ac50d6959faa',1,'hardware.h']]], + ['r2_5fmap_5f0x2000_640',['R2_MAP_0x2000',['../sms_2hardware_8h.html#aa2c53c6a4d12fb0614c1a18c015e39af',1,'hardware.h']]], + ['r2_5fmap_5f0x2800_641',['R2_MAP_0x2800',['../sms_2hardware_8h.html#a43ae738f82e8c6e84d30a96fb9c2c792',1,'hardware.h']]], + ['r2_5fmap_5f0x3000_642',['R2_MAP_0x3000',['../sms_2hardware_8h.html#a725647b41b3c8083a7ae8db762ffc880',1,'hardware.h']]], + ['r2_5fmap_5f0x3800_643',['R2_MAP_0x3800',['../sms_2hardware_8h.html#a8ce8807a3666fa8c7c93d4834ab22fe3',1,'hardware.h']]], + ['r5_5fsat_5f0x3f00_644',['R5_SAT_0x3F00',['../sms_2hardware_8h.html#ae973ce797203f9e4bebc10f5010a8fdd',1,'hardware.h']]], + ['r5_5fsat_5fmask_645',['R5_SAT_MASK',['../sms_2hardware_8h.html#ab0ea6874bcc910239b098025c9761c01',1,'hardware.h']]], + ['r6_5fbank0_646',['R6_BANK0',['../sms_2hardware_8h.html#a1aba84d3beebe43e641766525630d0ad',1,'hardware.h']]], + ['r6_5fbank1_647',['R6_BANK1',['../sms_2hardware_8h.html#adcc51095e67b158df848367761d735a4',1,'hardware.h']]], + ['r6_5fdata_5f0x0000_648',['R6_DATA_0x0000',['../sms_2hardware_8h.html#a81289f179bb00ade9e4f7221ddff0e46',1,'hardware.h']]], + ['r6_5fdata_5f0x2000_649',['R6_DATA_0x2000',['../sms_2hardware_8h.html#ac59ac38e5ec2e23e511f854403d7cbe4',1,'hardware.h']]], + ['r7_5fcolor_5fmask_650',['R7_COLOR_MASK',['../sms_2hardware_8h.html#aa1a024a7dc26ef40663fe283565bcf50',1,'hardware.h']]], + ['ramctl_5fbank_651',['RAMCTL_BANK',['../sms_2hardware_8h.html#a8f4dbe8a2e6389c78b9f6fb9a3ff1dca',1,'hardware.h']]], + ['ramctl_5fprot_652',['RAMCTL_PROT',['../sms_2hardware_8h.html#a97eb5adb5f29e17ce5766728447317f5',1,'hardware.h']]], + ['ramctl_5fram_653',['RAMCTL_RAM',['../sms_2hardware_8h.html#a8728acabf97eae3322439bc3cb41b02d',1,'hardware.h']]], + ['ramctl_5fro_654',['RAMCTL_RO',['../sms_2hardware_8h.html#afa9ebb221cf9cd92038131ab588679bf',1,'hardware.h']]], + ['ramctl_5from_655',['RAMCTL_ROM',['../sms_2hardware_8h.html#a0167c8f86de8ef1a327b806c8ed0c64c',1,'hardware.h']]], + ['rand_656',['rand',['../rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a',1,'rand.h']]], + ['rand_2eh_657',['rand.h',['../rand_8h.html',1,'']]], + ['rand_5fmax_658',['RAND_MAX',['../rand_8h.html#a690f251553b39fd4f31894826141b61a',1,'rand.h']]], + ['randw_659',['randw',['../rand_8h.html#ac659150eb39aae2f523bef6554b19b77',1,'rand.h']]], + ['randw_5fmax_660',['RANDW_MAX',['../rand_8h.html#a6dbd2f1a15221db40f456cf574a793b4',1,'rand.h']]], + ['raud1env_661',['rAUD1ENV',['../gb_2hardware_8h.html#ae787a2c857fe8f3803ca353d5309fc85',1,'hardware.h']]], + ['raud1high_662',['rAUD1HIGH',['../gb_2hardware_8h.html#ab042aa7a7fae75f94d8fb3e08004c797',1,'hardware.h']]], + ['raud1len_663',['rAUD1LEN',['../gb_2hardware_8h.html#aaeb899eb6bd0593ffb4e90a2f762b18f',1,'hardware.h']]], + ['raud1low_664',['rAUD1LOW',['../gb_2hardware_8h.html#abb35a844f228403a96e28da7633344e1',1,'hardware.h']]], + ['raud1sweep_665',['rAUD1SWEEP',['../gb_2hardware_8h.html#a4a73d9c15883b576fa0a5b4cc4ac2d08',1,'hardware.h']]], + ['raud2env_666',['rAUD2ENV',['../gb_2hardware_8h.html#abf3efd42adced218237283156dbae055',1,'hardware.h']]], + ['raud2high_667',['rAUD2HIGH',['../gb_2hardware_8h.html#afc3684b8215221942a0cddc5960cf8a9',1,'hardware.h']]], + ['raud2len_668',['rAUD2LEN',['../gb_2hardware_8h.html#a12f01b21d08249800571c6e0f26beeae',1,'hardware.h']]], + ['raud2low_669',['rAUD2LOW',['../gb_2hardware_8h.html#a521466a7650d60b464991ebf68112114',1,'hardware.h']]], + ['raud3ena_670',['rAUD3ENA',['../gb_2hardware_8h.html#a13e230a0d2979e0b9ca9582f6010162b',1,'hardware.h']]], + ['raud3high_671',['rAUD3HIGH',['../gb_2hardware_8h.html#acd0b3763f8599ed65e2d060b159bd91c',1,'hardware.h']]], + ['raud3len_672',['rAUD3LEN',['../gb_2hardware_8h.html#ae168529ead90f90c28f75d57ba4d28e2',1,'hardware.h']]], + ['raud3level_673',['rAUD3LEVEL',['../gb_2hardware_8h.html#a298bccebea918c63aed36c811e02333d',1,'hardware.h']]], + ['raud3low_674',['rAUD3LOW',['../gb_2hardware_8h.html#a31d1d4441749e90c2895fc8750b2234c',1,'hardware.h']]], + ['raud4env_675',['rAUD4ENV',['../gb_2hardware_8h.html#abba6cc1819ea73d36a389fd99807dac5',1,'hardware.h']]], + ['raud4go_676',['rAUD4GO',['../gb_2hardware_8h.html#a8492c6d9cb38fbb4a2bf9f5caa426578',1,'hardware.h']]], + ['raud4len_677',['rAUD4LEN',['../gb_2hardware_8h.html#abd820b2f5c18efb43548f64862d38f05',1,'hardware.h']]], + ['raud4poly_678',['rAUD4POLY',['../gb_2hardware_8h.html#ae21217e822a66e77c15a4df4fa0cf1e9',1,'hardware.h']]], + ['raudena_679',['rAUDENA',['../gb_2hardware_8h.html#a627044263543a1074dc9f4570aa8c915',1,'hardware.h']]], + ['raudterm_680',['rAUDTERM',['../gb_2hardware_8h.html#ad2891216d025f44b02350f2ae2612b1e',1,'hardware.h']]], + ['raudvol_681',['rAUDVOL',['../gb_2hardware_8h.html#a534fa3f905e37ac434537af23847d89a',1,'hardware.h']]], + ['rbcpd_682',['rBCPD',['../gb_2hardware_8h.html#a3dbfd7c3f4a62774fbc98caa73899e96',1,'hardware.h']]], + ['rbcps_683',['rBCPS',['../gb_2hardware_8h.html#a4f1816144e0561ff4db1ad24f4ce847a',1,'hardware.h']]], + ['rbgp_684',['rBGP',['../gb_2hardware_8h.html#a4fbcc4798c0721efcf4462c04a4566c1',1,'hardware.h']]], + ['rdiv_685',['rDIV',['../gb_2hardware_8h.html#a12ba1f984c585c57163f214f8829d569',1,'hardware.h']]], + ['rdma_686',['rDMA',['../gb_2hardware_8h.html#a4225227c2812c3e3e500441f5e90772a',1,'hardware.h']]], + ['realloc_687',['realloc',['../stdlib_8h.html#a1a6b5e8d2f1c37e5b43e4345586075be',1,'stdlib.h']]], + ['receive_5fbyte_688',['receive_byte',['../gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7',1,'gb.h']]], + ['refresh_5foam_689',['refresh_OAM',['../gb_8h.html#a2550e7b6b9fd7e1fc495872502311dbb',1,'refresh_OAM() PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a7542d00af674e3c58b6c9887ab01919f',1,'refresh_OAM(): sms.h']]], + ['remove_5fjoy_690',['remove_JOY',['../gb_8h.html#a4a3e87e0917d5efb6bc7c94e9754fcd0',1,'remove_JOY(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a35a3ff12ab34534b763517576afe38a6',1,'remove_JOY(int_handler h) Z88DK_FASTCALL: sms.h']]], + ['remove_5flcd_691',['remove_LCD',['../gb_8h.html#a32683767caa2a263a1f494b3605786e7',1,'remove_LCD(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#aa8962b27b960bb0c8d3bb899246c690c',1,'remove_LCD(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(b: sms.h']]], + ['remove_5fsio_692',['remove_SIO',['../gb_8h.html#a5b821b31215361265d8b7894a9ae7118',1,'remove_SIO(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a98de9141f407585801fcbf55bf6dcc4c',1,'remove_SIO(int_handler h) Z88DK_FASTCALL: sms.h']]], + ['remove_5ftim_693',['remove_TIM',['../gb_8h.html#a142f6c7755fce8b1148faf658d8ec147',1,'remove_TIM(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a98785a1b0ddc91cd8e8c8fab8de1de20',1,'remove_TIM(int_handler h) Z88DK_FASTCALL: sms.h']]], + ['remove_5fvbl_694',['remove_VBL',['../gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386',1,'remove_VBL(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0',1,'remove_VBL(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(iyh: sms.h']]], + ['reset_695',['reset',['../gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55',1,'gb.h']]], + ['ret_5fsize_696',['RET_SIZE',['../setjmp_8h.html#a61c5519ad23b4ddbcc77c45352aac913',1,'setjmp.h']]], + ['reverse_697',['reverse',['../asm_2gbz80_2string_8h.html#a476b2b37367c65c6cb36037bfc16b19f',1,'reverse(char *s) OLDCALL PRESERVES_REGS(b: string.h'],['../asm_2z80_2string_8h.html#a81863156a28fd2eefeee6859d768bdb1',1,'reverse(char *s) NONBANKED: string.h']]], + ['rgb_698',['RGB',['../cgb_8h.html#a4a118ad3ee36468a3fa616977a64864e',1,'cgb.h']]], + ['rgb8_699',['RGB8',['../cgb_8h.html#a7d2ed0f10b2b74123a544327bbfd7564',1,'cgb.h']]], + ['rgb_5faqua_700',['RGB_AQUA',['../cgb_8h.html#ae4fe0c6cfa46b0c4804425f23bb48f4c',1,'cgb.h']]], + ['rgb_5fblack_701',['RGB_BLACK',['../cgb_8h.html#ae168f0f9864d4ed4be7807b9783f17f1',1,'cgb.h']]], + ['rgb_5fblue_702',['RGB_BLUE',['../cgb_8h.html#a0eff802f1ca228046476209dc01c76ad',1,'cgb.h']]], + ['rgb_5fbrown_703',['RGB_BROWN',['../cgb_8h.html#a7c2a437dfb89d663a1c2f0a7a9256474',1,'cgb.h']]], + ['rgb_5fcyan_704',['RGB_CYAN',['../cgb_8h.html#a2ce30ac984869b55594447722b9d0579',1,'cgb.h']]], + ['rgb_5fdarkblue_705',['RGB_DARKBLUE',['../cgb_8h.html#ad44385fc245bbabf6da787dcc8930385',1,'cgb.h']]], + ['rgb_5fdarkgray_706',['RGB_DARKGRAY',['../cgb_8h.html#a29b47e2361025eabcdc3bcbff2308044',1,'cgb.h']]], + ['rgb_5fdarkgreen_707',['RGB_DARKGREEN',['../cgb_8h.html#a1ee7a5d8fd635e9132a2820a60f9789d',1,'cgb.h']]], + ['rgb_5fdarkred_708',['RGB_DARKRED',['../cgb_8h.html#ae29b6947ac7dca7db513e59f1cfcbf51',1,'cgb.h']]], + ['rgb_5fdarkyellow_709',['RGB_DARKYELLOW',['../cgb_8h.html#a2727da9f8c0b09a67375575a00186e2a',1,'cgb.h']]], + ['rgb_5fgreen_710',['RGB_GREEN',['../cgb_8h.html#ab6c97468034c02fe204fd37036d9be15',1,'cgb.h']]], + ['rgb_5flightflesh_711',['RGB_LIGHTFLESH',['../cgb_8h.html#a90ef6e9a3d95516b1fef15076b1b4999',1,'cgb.h']]], + ['rgb_5flightgray_712',['RGB_LIGHTGRAY',['../cgb_8h.html#a80efbf7b13421922fb174f3e6a3e235c',1,'cgb.h']]], + ['rgb_5forange_713',['RGB_ORANGE',['../cgb_8h.html#a0a85d8d0da8edc5cce98f48701f903f7',1,'cgb.h']]], + ['rgb_5fpink_714',['RGB_PINK',['../cgb_8h.html#a59fb596d3d65cfc4d3cb7e5044b8b10a',1,'cgb.h']]], + ['rgb_5fpurple_715',['RGB_PURPLE',['../cgb_8h.html#a9d5a5f880df6bd4b64e6546839d41101',1,'cgb.h']]], + ['rgb_5fred_716',['RGB_RED',['../cgb_8h.html#aa039288455af8a3812a35aa1e7b903e4',1,'cgb.h']]], + ['rgb_5fteal_717',['RGB_TEAL',['../cgb_8h.html#a9c8c3710151b2258ea8269850498703f',1,'cgb.h']]], + ['rgb_5fwhite_718',['RGB_WHITE',['../cgb_8h.html#ac1771f95d9887118764bd8a074e537e1',1,'cgb.h']]], + ['rgb_5fyellow_719',['RGB_YELLOW',['../cgb_8h.html#ad74a18fca945f257dc9d1b99f9edbd40',1,'cgb.h']]], + ['rgbhtml_720',['RGBHTML',['../cgb_8h.html#ab5a6e450fcf10402278fe585a421dbbd',1,'cgb.h']]], + ['rhdma1_721',['rHDMA1',['../gb_2hardware_8h.html#a5011196496193d80fc58cdb632fbab24',1,'hardware.h']]], + ['rhdma2_722',['rHDMA2',['../gb_2hardware_8h.html#abc4249f04a9081f45439f61dabf861e5',1,'hardware.h']]], + ['rhdma3_723',['rHDMA3',['../gb_2hardware_8h.html#aca2df62463b4c3bc4a291e18f26f4ec5',1,'hardware.h']]], + ['rhdma4_724',['rHDMA4',['../gb_2hardware_8h.html#adee641ce3abf6b891e0e16bb56bdfcf7',1,'hardware.h']]], + ['rhdma5_725',['rHDMA5',['../gb_2hardware_8h.html#ae7eecc25286b951a78ef0dfc97aab3a7',1,'hardware.h']]], + ['rie_726',['rIE',['../gb_2hardware_8h.html#a52e850e75483f64ca070a33ee4877d47',1,'hardware.h']]], + ['rif_727',['rIF',['../gb_2hardware_8h.html#a9534175911f7a54fa550318b275c4cc3',1,'hardware.h']]], + ['rkey1_728',['rKEY1',['../gb_2hardware_8h.html#ad3f67013699d0d38c203e4e863c91c41',1,'hardware.h']]], + ['rlcdc_729',['rLCDC',['../gb_2hardware_8h.html#a8b576a1fe1473ac4aff8afecb28035cb',1,'hardware.h']]], + ['rle_5fdecompress_730',['rle_decompress',['../rledecompress_8h.html#ad60bf95ddad142d8d81e5e1f0a0bb6e0',1,'rledecompress.h']]], + ['rle_5finit_731',['rle_init',['../rledecompress_8h.html#a95560a74a89bab26cb6265dcc2bf54f6',1,'rledecompress.h']]], + ['rle_5fstop_732',['RLE_STOP',['../rledecompress_8h.html#a2b4967f6970ecd99478db3807c68d955',1,'rledecompress.h']]], + ['rledecompress_2eh_733',['rledecompress.h',['../rledecompress_8h.html',1,'']]], + ['rly_734',['rLY',['../gb_2hardware_8h.html#aa851dae67d0bb80c17415774558d985f',1,'hardware.h']]], + ['rlyc_735',['rLYC',['../gb_2hardware_8h.html#a92083741d31c9b2206b403e97124cbdc',1,'hardware.h']]], + ['robp0_736',['rOBP0',['../gb_2hardware_8h.html#ae0a85bdedbbf1c79b5dbb5b23ca4bf79',1,'hardware.h']]], + ['robp1_737',['rOBP1',['../gb_2hardware_8h.html#a2a14470dca10f69c092d817a433383bd',1,'hardware.h']]], + ['rocpd_738',['rOCPD',['../gb_2hardware_8h.html#a723eb3e0c2c681a050e9a325e35c25ae',1,'hardware.h']]], + ['rocps_739',['rOCPS',['../gb_2hardware_8h.html#a056b789889ecf0691e54f721e015b873',1,'hardware.h']]], + ['rp1_740',['rP1',['../gb_2hardware_8h.html#ae7eccdbd4f7b211074591866f515b760',1,'hardware.h']]], + ['rp_5freg_741',['RP_REG',['../gb_2hardware_8h.html#a76532f8742d9dd8cb26d2ccfd9c37bbf',1,'hardware.h']]], + ['rpcm12_742',['rPCM12',['../gb_2hardware_8h.html#a28368838b9e270c301361a5f39c97154',1,'hardware.h']]], + ['rpcm34_743',['rPCM34',['../gb_2hardware_8h.html#ac1c402357ccc5f6c3c451450b30ca959',1,'hardware.h']]], + ['rpf_5fdatain_744',['RPF_DATAIN',['../gb_2hardware_8h.html#aaffaea3512173f90b85bae710d40ba6c',1,'hardware.h']]], + ['rpf_5fenread_745',['RPF_ENREAD',['../gb_2hardware_8h.html#a092b2e33a050ac6ced4e897498ce9a2f',1,'hardware.h']]], + ['rpf_5fwrite_5fhi_746',['RPF_WRITE_HI',['../gb_2hardware_8h.html#ac47b78eb2ffea207a8c7ac643555ba6c',1,'hardware.h']]], + ['rpf_5fwrite_5flo_747',['RPF_WRITE_LO',['../gb_2hardware_8h.html#ab0fe74a7c155ae95cbf20bbb5e1bf46b',1,'hardware.h']]], + ['rramb_748',['rRAMB',['../gb_2hardware_8h.html#ac2985dbccb16c4c00381d6fbe9600aff',1,'hardware.h']]], + ['rramg_749',['rRAMG',['../gb_2hardware_8h.html#a64dd59016e4f0e78672962fbc553a4b4',1,'hardware.h']]], + ['rromb0_750',['rROMB0',['../gb_2hardware_8h.html#ae0976a29e341edc6ceb810e6eb0328f1',1,'hardware.h']]], + ['rromb1_751',['rROMB1',['../gb_2hardware_8h.html#a014f3a9d7ce8f8026c9ac6c0410bb099',1,'hardware.h']]], + ['rrp_752',['rRP',['../gb_2hardware_8h.html#a82c53e957d31d22c475e1629843bc12d',1,'hardware.h']]], + ['rsb_753',['rSB',['../gb_2hardware_8h.html#af35c8012bca7a164f0910d55cdf6030f',1,'hardware.h']]], + ['rsc_754',['rSC',['../gb_2hardware_8h.html#a7780d3a9b0fcc42499ed2451d7ab2ec5',1,'hardware.h']]], + ['rscx_755',['rSCX',['../gb_2hardware_8h.html#a97932e023d96ece4715802b6c2565c43',1,'hardware.h']]], + ['rscy_756',['rSCY',['../gb_2hardware_8h.html#ad2537c13699429afa59a68c6d6598632',1,'hardware.h']]], + ['rsmbk_757',['rSMBK',['../gb_2hardware_8h.html#af93abe183851726958f27d979498032e',1,'hardware.h']]], + ['rspd_758',['rSPD',['../gb_2hardware_8h.html#a222d5e3cb366d5e720a832fc68ce3a13',1,'hardware.h']]], + ['rstat_759',['rSTAT',['../gb_2hardware_8h.html#a338ec378453b4457efdb3008978c0f28',1,'hardware.h']]], + ['rsvbk_760',['rSVBK',['../gb_2hardware_8h.html#a83e14896ee3ddf2a4201b534d8e5f398',1,'hardware.h']]], + ['rtac_761',['rTAC',['../gb_2hardware_8h.html#aeddc90947f6a6a3a3fd1e1db3751c988',1,'hardware.h']]], + ['rtima_762',['rTIMA',['../gb_2hardware_8h.html#a51594891b388d60d6917a6ff64542b66',1,'hardware.h']]], + ['rtma_763',['rTMA',['../gb_2hardware_8h.html#a588d681dc33d9da3a899863b42980e18',1,'hardware.h']]], + ['rvbk_764',['rVBK',['../gb_2hardware_8h.html#a09fa1caa91313e57dc2c3dd354104b00',1,'hardware.h']]], + ['rwx_765',['rWX',['../gb_2hardware_8h.html#aba3cbaeca5ad045fb27095c210b661b7',1,'hardware.h']]], + ['rwy_766',['rWY',['../gb_2hardware_8h.html#afe84077234eb6e0520d7a6d0a9e903e7',1,'hardware.h']]] ]; diff --git a/docs/api/search/all_16.js b/docs/api/search/all_16.js @@ -1,195 +1,201 @@ var searchData= [ - ['supported_20consoles_20_26_20cross_20compiling_742',['Supported Consoles & Cross Compiling',['../docs_supported_consoles.html',1,'index']]], - ['s_5fflipx_743',['S_FLIPX',['../gb_8h.html#ae97793b4039609f93b0f7f8bddb18011',1,'S_FLIPX(): gb.h'],['../sms_8h.html#ae97793b4039609f93b0f7f8bddb18011',1,'S_FLIPX(): sms.h']]], - ['s_5fflipy_744',['S_FLIPY',['../gb_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b',1,'S_FLIPY(): gb.h'],['../sms_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b',1,'S_FLIPY(): sms.h']]], - ['s_5fpalette_745',['S_PALETTE',['../gb_8h.html#a54572cf6791463b6d60623837e0bb5a6',1,'S_PALETTE(): gb.h'],['../sms_8h.html#a54572cf6791463b6d60623837e0bb5a6',1,'S_PALETTE(): sms.h']]], - ['s_5fpriority_746',['S_PRIORITY',['../gb_8h.html#a9506d04c2ec7d2442a52054f67d2b32f',1,'S_PRIORITY(): gb.h'],['../sms_8h.html#a9506d04c2ec7d2442a52054f67d2b32f',1,'S_PRIORITY(): sms.h']]], - ['sb_5freg_747',['SB_REG',['../gb_2hardware_8h.html#a5f2da0d8200f44b6fd694c4a2bea820e',1,'hardware.h']]], - ['sc_5freg_748',['SC_REG',['../gb_2hardware_8h.html#a0fb715973ee3edd1b525eb7f503e3b2a',1,'hardware.h']]], - ['schar_5fmax_749',['SCHAR_MAX',['../limits_8h.html#a8c13fdd8c2840edf0cb04a65297037bb',1,'limits.h']]], - ['schar_5fmin_750',['SCHAR_MIN',['../limits_8h.html#aa05d197000ad5c143ada0fcd9379b236',1,'limits.h']]], - ['screenheight_751',['SCREENHEIGHT',['../gb_8h.html#ae189e98d0ef9263c37869ce1ff3710a5',1,'SCREENHEIGHT(): gb.h'],['../sms_8h.html#ae189e98d0ef9263c37869ce1ff3710a5',1,'SCREENHEIGHT(): sms.h']]], - ['screenwidth_752',['SCREENWIDTH',['../gb_8h.html#ada0cc738d27aad251151e69cb8d250e1',1,'SCREENWIDTH(): gb.h'],['../sms_8h.html#ada0cc738d27aad251151e69cb8d250e1',1,'SCREENWIDTH(): sms.h']]], - ['scroll_5fbkg_753',['scroll_bkg',['../gb_8h.html#a1f583f7a880daa6145ca78b086a209d1',1,'scroll_bkg(int8_t x, int8_t y): gb.h'],['../sms_8h.html#a1f583f7a880daa6145ca78b086a209d1',1,'scroll_bkg(int8_t x, int8_t y): sms.h']]], - ['scroll_5fsprite_754',['scroll_sprite',['../gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe',1,'scroll_sprite(uint8_t nb, int8_t x, int8_t y): gb.h'],['../sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe',1,'scroll_sprite(uint8_t nb, int8_t x, int8_t y): sms.h']]], - ['scroll_5fwin_755',['scroll_win',['../gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044',1,'gb.h']]], - ['scx_5freg_756',['SCX_REG',['../gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f',1,'hardware.h']]], - ['scy_5freg_757',['SCY_REG',['../gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2',1,'hardware.h']]], - ['seg_758',['seg',['../union____far__ptr.html#a13c65a38be633a3ac219c3b5b3be5ce6',1,'__far_ptr']]], - ['sega_759',['SEGA',['../sms_8h.html#a19e5fbd76b85bf708ec31d55905fc537',1,'sms.h']]], - ['segfn_760',['segfn',['../union____far__ptr.html#a8c6e2345a04a58dc76339923baffcbe3',1,'__far_ptr']]], - ['segofs_761',['segofs',['../union____far__ptr.html#ab77baeba835fa23f6d96c641e7ee2b06',1,'__far_ptr']]], - ['send_5fbyte_762',['send_byte',['../gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964',1,'gb.h']]], - ['set_5f1bpp_5fcolors_763',['set_1bpp_colors',['../gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad',1,'set_1bpp_colors(uint8_t fgcolor, uint8_t bgcolor): gb.h'],['../sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad',1,'set_1bpp_colors(uint8_t fgcolor, uint8_t bgcolor): sms.h']]], - ['set_5f1bpp_5fcolors_5fex_764',['set_1bpp_colors_ex',['../gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c',1,'gb.h']]], - ['set_5f2bpp_5fpalette_765',['set_2bpp_palette',['../gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84',1,'set_2bpp_palette(uint16_t palette): gb.h'],['../sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84',1,'set_2bpp_palette(uint16_t palette): sms.h']]], - ['set_5fattributed_5ftile_5fxy_766',['set_attributed_tile_xy',['../sms_8h.html#a968487c6f70c9e15de7af0efc0de0548',1,'sms.h']]], - ['set_5fbkg_5f1bpp_5fdata_767',['set_bkg_1bpp_data',['../gb_8h.html#a113055d93ba40767b676f172aa5cc996',1,'set_bkg_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04',1,'set_bkg_1bpp_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], - ['set_5fbkg_5f2bpp_5fdata_768',['set_bkg_2bpp_data',['../gb_8h.html#ab94bfec130df50d9cb808142f94603a5',1,'set_bkg_2bpp_data(): gb.h'],['../sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023',1,'set_bkg_2bpp_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], - ['set_5fbkg_5f4bpp_5fdata_769',['set_bkg_4bpp_data',['../sms_8h.html#aeff13dca11be49e8c159820c616016ec',1,'sms.h']]], - ['set_5fbkg_5fdata_770',['set_bkg_data',['../gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07',1,'set_bkg_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a8130306da1177f4fef89e699f8e2add4',1,'set_bkg_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], - ['set_5fbkg_5fpalette_771',['set_bkg_palette',['../sms_8h.html#a9f879bd31899f7989f887b6238de24e3',1,'set_bkg_palette(): sms.h'],['../cgb_8h.html#aa8851ca1f515ca55cbf9f6ff53b08e8a',1,'set_bkg_palette(uint8_t first_palette, uint8_t nb_palettes, palette_color_t *rgb_data) OLDCALL: cgb.h']]], - ['set_5fbkg_5fpalette_5fentry_772',['set_bkg_palette_entry',['../sms_8h.html#a2215732f2ba2ec6406b65d3cca56a200',1,'set_bkg_palette_entry(): sms.h'],['../cgb_8h.html#aa8881ff123f364f2e7d1e88c18f9fbca',1,'set_bkg_palette_entry(uint8_t palette, uint8_t entry, uint16_t rgb_data) OLDCALL: cgb.h']]], - ['set_5fbkg_5fsubmap_773',['set_bkg_submap',['../gb_8h.html#adb21d1c7d533a7133bab36a845489780',1,'set_bkg_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) OLDCALL: sms.h'],['../sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298',1,'set_bkg_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w): sms.h']]], - ['set_5fbkg_5ftile_5fxy_774',['set_bkg_tile_xy',['../sms_8h.html#adcd40a58f7c7d348d506cc400cd94739',1,'set_bkg_tile_xy(): sms.h'],['../gb_8h.html#afdacbb553ea16fd0a3a96698be7668f8',1,'set_bkg_tile_xy(uint8_t x, uint8_t y, uint8_t t) OLDCALL __preserves_regs(b: gb.h']]], - ['set_5fbkg_5ftiles_775',['set_bkg_tiles',['../sms_8h.html#a9a732aec1b7aec7d10a9d76ca4da2064',1,'set_bkg_tiles(): sms.h'],['../gb_8h.html#a45cb12c6a672558e9a3792d11951707c',1,'set_bkg_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) OLDCALL __preserves_regs(b: gb.h']]], - ['set_5fdata_776',['set_data',['../gb_8h.html#aa4dc1c2f6f54a564b719b2bd5a0b3c62',1,'set_data(uint8_t *vram_addr, const uint8_t *data, uint16_t len) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#abe8c12f4c6675b2c671fe8ab32370533',1,'set_data(uint16_t dst, const void *src, uint16_t size) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['set_5fdefault_5fpalette_777',['set_default_palette',['../cgb_8h.html#abd34836339579013c097ae4dea10c014',1,'set_default_palette(): cgb.h'],['../sms_8h.html#abd34836339579013c097ae4dea10c014',1,'set_default_palette(): sms.h']]], - ['set_5finterrupts_778',['set_interrupts',['../gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54',1,'set_interrupts(uint8_t flags) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849',1,'set_interrupts(uint8_t flags) __z88dk_fastcall: sms.h']]], - ['set_5fnative_5ftile_5fdata_779',['set_native_tile_data',['../gb_8h.html#a68651e50243349b48164a8ad983dca4e',1,'set_native_tile_data(uint16_t first_tile, uint8_t nb_tiles, const uint8_t *data): gb.h'],['../sms_8h.html#a5e48fbbda171d4c466e1d0d96fa73b50',1,'set_native_tile_data(uint16_t start, uint16_t ntiles, const void *src) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['set_5fpalette_780',['set_palette',['../sms_8h.html#a8668e421743bcba26411acaabe1af82d',1,'sms.h']]], - ['set_5fpalette_5fentry_781',['set_palette_entry',['../sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9',1,'sms.h']]], - ['set_5fshadow_5foam_5faddress_782',['SET_SHADOW_OAM_ADDRESS',['../gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687',1,'SET_SHADOW_OAM_ADDRESS(void *address): gb.h'],['../sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687',1,'SET_SHADOW_OAM_ADDRESS(void *address): sms.h']]], - ['set_5fsprite_5f1bpp_5fdata_783',['set_sprite_1bpp_data',['../gb_8h.html#a427965ccaaa956d51bf4e7f14cc39b0f',1,'set_sprite_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97',1,'set_sprite_1bpp_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], - ['set_5fsprite_5f2bpp_5fdata_784',['set_sprite_2bpp_data',['../gb_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4',1,'set_sprite_2bpp_data(): gb.h'],['../sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a',1,'set_sprite_2bpp_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], - ['set_5fsprite_5f4bpp_5fdata_785',['set_sprite_4bpp_data',['../sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432',1,'sms.h']]], - ['set_5fsprite_5fdata_786',['set_sprite_data',['../gb_8h.html#ac40ffe4802ea41e5cee0ac3d4b254e08',1,'set_sprite_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39',1,'set_sprite_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], - ['set_5fsprite_5fpalette_787',['set_sprite_palette',['../sms_8h.html#a7d5ed1aed79d8fd2894893d7f6f9b835',1,'set_sprite_palette(): sms.h'],['../cgb_8h.html#a9ca9f825284da0db522d15aa2e42a4af',1,'set_sprite_palette(uint8_t first_palette, uint8_t nb_palettes, palette_color_t *rgb_data) OLDCALL: cgb.h']]], - ['set_5fsprite_5fpalette_5fentry_788',['set_sprite_palette_entry',['../sms_8h.html#a8b5c17235a3f65af70492e109a25f237',1,'set_sprite_palette_entry(): sms.h'],['../cgb_8h.html#aebeb7431ebd400baed34796a8f50ea58',1,'set_sprite_palette_entry(uint8_t palette, uint8_t entry, uint16_t rgb_data) OLDCALL: cgb.h']]], - ['set_5fsprite_5fprop_789',['set_sprite_prop',['../gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7',1,'set_sprite_prop(uint8_t nb, uint8_t prop): gb.h'],['../sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7',1,'set_sprite_prop(uint8_t nb, uint8_t prop): sms.h']]], - ['set_5fsprite_5ftile_790',['set_sprite_tile',['../gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe',1,'set_sprite_tile(uint8_t nb, uint8_t tile): gb.h'],['../sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe',1,'set_sprite_tile(uint8_t nb, uint8_t tile): sms.h']]], - ['set_5ftile_5f1bpp_5fdata_791',['set_tile_1bpp_data',['../sms_8h.html#a6afae83728b6651075f0af9d55d4b9e0',1,'sms.h']]], - ['set_5ftile_5f2bpp_5fdata_792',['set_tile_2bpp_data',['../sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979',1,'sms.h']]], - ['set_5ftile_5fdata_793',['set_tile_data',['../gb_8h.html#a0756c9c45dcf042a146d2a54290e9f6a',1,'gb.h']]], - ['set_5ftile_5fmap_794',['set_tile_map',['../gb_8h.html#a55f82ff980398dd97036fd936ebd727e',1,'set_tile_map(): gb.h'],['../sms_8h.html#ad68f2f36b41febcc5f8ca23c3e379ec8',1,'set_tile_map(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['set_5ftile_5fmap_5fcompat_795',['set_tile_map_compat',['../sms_8h.html#a6a9877d413f96540712d408d865625c9',1,'sms.h']]], - ['set_5ftile_5fsubmap_796',['set_tile_submap',['../gb_8h.html#adb5d0970167b81401113812773c90838',1,'set_tile_submap(): gb.h'],['../sms_8h.html#ad7bf6d9629c0ee4e83c137a297aac169',1,'set_tile_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t map_w, const uint8_t *map) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['set_5ftile_5fsubmap_5fcompat_797',['set_tile_submap_compat',['../sms_8h.html#a35261bb6911ba7a123262efc32f4955a',1,'sms.h']]], - ['set_5ftile_5fxy_798',['set_tile_xy',['../gb_8h.html#a3b235c526c517fb02d20cdea780ee2c5',1,'set_tile_xy(): gb.h'],['../sms_8h.html#a256029356b8bc719e42ffafba844290f',1,'set_tile_xy(uint8_t x, uint8_t y, uint8_t t) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['set_5ftiles_799',['set_tiles',['../gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b',1,'gb.h']]], - ['set_5fvram_5fbyte_800',['set_vram_byte',['../gb_8h.html#a84e320d3c0b1eca4d0b81b848d096582',1,'set_vram_byte(uint8_t *addr, uint8_t v) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a18ce02bf91fd93098176b5bcc94cdf4a',1,'set_vram_byte(uint8_t *addr, uint8_t v) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['set_5fwin_5f1bpp_5fdata_801',['set_win_1bpp_data',['../gb_8h.html#a445fa9ede939ca486ae5268e826b3a44',1,'gb.h']]], - ['set_5fwin_5fdata_802',['set_win_data',['../gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd',1,'gb.h']]], - ['set_5fwin_5fsubmap_803',['set_win_submap',['../gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de',1,'set_win_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) OLDCALL: sms.h'],['../sms_8h.html#abb50a392ca0d0419a080413287ee5d79',1,'set_win_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w): sms.h']]], - ['set_5fwin_5ftile_5fxy_804',['set_win_tile_xy',['../sms_8h.html#a95d929d964d9988f4dc5a25ed399ae08',1,'set_win_tile_xy(): sms.h'],['../gb_8h.html#a78b307e0fde9289c2b1f4cd6aa0b763c',1,'set_win_tile_xy(uint8_t x, uint8_t y, uint8_t t) OLDCALL __preserves_regs(b: gb.h']]], - ['set_5fwin_5ftiles_805',['set_win_tiles',['../sms_8h.html#a429db030287423012f40a6dca81ae7e3',1,'set_win_tiles(): sms.h'],['../gb_8h.html#aba807b33ddd5e18ecedc93b05338045e',1,'set_win_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) OLDCALL __preserves_regs(b: gb.h']]], - ['setchar_806',['setchar',['../console_8h.html#a6ce1d0ff40a295e36bcb6d495947c8dc',1,'console.h']]], - ['setjmp_807',['setjmp',['../setjmp_8h.html#a27d1a255c7e0d69afec2367bb85b60b0',1,'setjmp.h']]], - ['setjmp_2eh_808',['setjmp.h',['../setjmp_8h.html',1,'']]], - ['sfont_5fhandle_809',['sfont_handle',['../structsfont__handle.html',1,'']]], - ['sgb_2eh_810',['sgb.h',['../sgb_8h.html',1,'']]], - ['sgb_5fatrc_5fen_811',['SGB_ATRC_EN',['../sgb_8h.html#a3d81b1e455d60d760ee58e2685953775',1,'sgb.h']]], - ['sgb_5fattr_5fblk_812',['SGB_ATTR_BLK',['../sgb_8h.html#a6437bd5982922fffdbc7c5d8c643e357',1,'sgb.h']]], - ['sgb_5fattr_5fchr_813',['SGB_ATTR_CHR',['../sgb_8h.html#a41981a213b67bdc45bf8ed78f07e7bba',1,'sgb.h']]], - ['sgb_5fattr_5fdiv_814',['SGB_ATTR_DIV',['../sgb_8h.html#adcb3f50616813637283f88bfd4d53e22',1,'sgb.h']]], - ['sgb_5fattr_5flin_815',['SGB_ATTR_LIN',['../sgb_8h.html#ade5ba9723a9964e55cff72108149037a',1,'sgb.h']]], - ['sgb_5fattr_5fset_816',['SGB_ATTR_SET',['../sgb_8h.html#abf8d94c42e97e1ce640340657df70640',1,'sgb.h']]], - ['sgb_5fattr_5ftrn_817',['SGB_ATTR_TRN',['../sgb_8h.html#a1762d2df2599cf864400bac4934a5d61',1,'sgb.h']]], - ['sgb_5fcheck_818',['sgb_check',['../sgb_8h.html#ae15ee98a319dec8aa94a5ce6790056ee',1,'sgb.h']]], - ['sgb_5fchr_5ftrn_819',['SGB_CHR_TRN',['../sgb_8h.html#af4d8b611dfdda33039038375ee95f424',1,'sgb.h']]], - ['sgb_5fdata_5fsnd_820',['SGB_DATA_SND',['../sgb_8h.html#ae4fe10a0c9eca38d126f3a8701e3c9a2',1,'sgb.h']]], - ['sgb_5fdata_5ftrn_821',['SGB_DATA_TRN',['../sgb_8h.html#a862a450451cfccf138311089b85292fc',1,'sgb.h']]], - ['sgb_5ficon_5fen_822',['SGB_ICON_EN',['../sgb_8h.html#a46440df1df1597852a286d56c1a68a48',1,'sgb.h']]], - ['sgb_5fjump_823',['SGB_JUMP',['../sgb_8h.html#aac4217b88053614f70af5b1f32e72870',1,'sgb.h']]], - ['sgb_5fmask_5fen_824',['SGB_MASK_EN',['../sgb_8h.html#a20477d5772564b63de2d151e062dd5a7',1,'sgb.h']]], - ['sgb_5fmlt_5freq_825',['SGB_MLT_REQ',['../sgb_8h.html#a70aad9e5786ca8a4753c47583e88f8a2',1,'sgb.h']]], - ['sgb_5fobj_5ftrn_826',['SGB_OBJ_TRN',['../sgb_8h.html#a3b76bf1e9ac81da97c533fa3ab12096c',1,'sgb.h']]], - ['sgb_5fpal_5f01_827',['SGB_PAL_01',['../sgb_8h.html#a70bdb512d109fbcaeb95efa32e9dcaf5',1,'sgb.h']]], - ['sgb_5fpal_5f03_828',['SGB_PAL_03',['../sgb_8h.html#af9e1ca804555fad619db3f38b62a49e8',1,'sgb.h']]], - ['sgb_5fpal_5f12_829',['SGB_PAL_12',['../sgb_8h.html#a8d633d52d4a7adfaef516953d5e8552a',1,'sgb.h']]], - ['sgb_5fpal_5f23_830',['SGB_PAL_23',['../sgb_8h.html#acaa2f1ac9949189896582fc5ad0823b1',1,'sgb.h']]], - ['sgb_5fpal_5fset_831',['SGB_PAL_SET',['../sgb_8h.html#ad9023ed1d8dd4a2eebc55a376207f3d2',1,'sgb.h']]], - ['sgb_5fpal_5ftrn_832',['SGB_PAL_TRN',['../sgb_8h.html#ac490ce8566f869727e8b00fabb1c9fc6',1,'sgb.h']]], - ['sgb_5fpct_5ftrn_833',['SGB_PCT_TRN',['../sgb_8h.html#ac0bf9d5dc54d711fd14f44bf58eaa5db',1,'sgb.h']]], - ['sgb_5fsou_5ftrn_834',['SGB_SOU_TRN',['../sgb_8h.html#a82a976ea6a32ae0078a27e3c06143bcf',1,'sgb.h']]], - ['sgb_5fsound_835',['SGB_SOUND',['../sgb_8h.html#a42e0fbc58e65874e0a76d7f33a322ce8',1,'sgb.h']]], - ['sgb_5ftest_5fen_836',['SGB_TEST_EN',['../sgb_8h.html#a8e644a43af63932283e9c78a472881dc',1,'sgb.h']]], - ['sgb_5ftransfer_837',['sgb_transfer',['../sgb_8h.html#a45a1526789b51eea852adcfb3392fde0',1,'sgb.h']]], - ['shadow_5foam_838',['shadow_OAM',['../gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551',1,'shadow_OAM(): gb.h'],['../sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d',1,'shadow_OAM(): sms.h']]], - ['shadow_5fvdp_5fr0_839',['shadow_VDP_R0',['../sms_2hardware_8h.html#aa80cb68338819c004095531d32b70e38',1,'hardware.h']]], - ['shadow_5fvdp_5fr1_840',['shadow_VDP_R1',['../sms_2hardware_8h.html#a542cb696f242df44b0d8e9225d532ef4',1,'hardware.h']]], - ['shadow_5fvdp_5fr10_841',['shadow_VDP_R10',['../sms_2hardware_8h.html#af310a900e3b4b5b5032f4ffd6fa309b0',1,'hardware.h']]], - ['shadow_5fvdp_5fr2_842',['shadow_VDP_R2',['../sms_2hardware_8h.html#a7f7fa2c0e33c6d515332a50c2acb54e7',1,'hardware.h']]], - ['shadow_5fvdp_5fr3_843',['shadow_VDP_R3',['../sms_2hardware_8h.html#ab984056ff9eb011fbd84abdafb3a8bce',1,'hardware.h']]], - ['shadow_5fvdp_5fr4_844',['shadow_VDP_R4',['../sms_2hardware_8h.html#af9a30a728fedbe7e4c660c448c262e2c',1,'hardware.h']]], - ['shadow_5fvdp_5fr5_845',['shadow_VDP_R5',['../sms_2hardware_8h.html#a221db76cb39200a948234330ed309af7',1,'hardware.h']]], - ['shadow_5fvdp_5fr6_846',['shadow_VDP_R6',['../sms_2hardware_8h.html#a8afbdaaf8c6dee4e7482a341351344b4',1,'hardware.h']]], - ['shadow_5fvdp_5fr7_847',['shadow_VDP_R7',['../sms_2hardware_8h.html#a33b3e7c120a579cb729caf588ba1d9a8',1,'hardware.h']]], - ['shadow_5fvdp_5fr8_848',['shadow_VDP_R8',['../sms_2hardware_8h.html#add65b8e5f0b806e563ce27de7348ba31',1,'hardware.h']]], - ['shadow_5fvdp_5fr9_849',['shadow_VDP_R9',['../sms_2hardware_8h.html#a1ccce1e3f8acb76170fb752ee40ae659',1,'hardware.h']]], - ['shadow_5fvdp_5frborder_850',['shadow_VDP_RBORDER',['../sms_2hardware_8h.html#a20a977182f6f5f60ee6464e15f05aed0',1,'hardware.h']]], - ['shadow_5fvdp_5frscx_851',['shadow_VDP_RSCX',['../sms_2hardware_8h.html#af6a84b0288b045560f83a1944a8c1c3b',1,'hardware.h']]], - ['shadow_5fvdp_5frscy_852',['shadow_VDP_RSCY',['../sms_2hardware_8h.html#a292b59055beb22b566b39462da3b7eba',1,'hardware.h']]], - ['show_5fbkg_853',['SHOW_BKG',['../gb_8h.html#a8e3f36aa68ac036695816757f2a1322c',1,'SHOW_BKG(): gb.h'],['../sms_8h.html#a8e3f36aa68ac036695816757f2a1322c',1,'SHOW_BKG(): sms.h']]], - ['show_5fleft_5fcolumn_854',['SHOW_LEFT_COLUMN',['../gb_8h.html#a5497c2255a9474d397446710189eacbe',1,'SHOW_LEFT_COLUMN(): gb.h'],['../sms_8h.html#a5497c2255a9474d397446710189eacbe',1,'SHOW_LEFT_COLUMN(): sms.h']]], - ['show_5fsprites_855',['SHOW_SPRITES',['../gb_8h.html#a495bc9f405f916f02ad5d97e6e730134',1,'SHOW_SPRITES(): gb.h'],['../sms_8h.html#a495bc9f405f916f02ad5d97e6e730134',1,'SHOW_SPRITES(): sms.h']]], - ['show_5fwin_856',['SHOW_WIN',['../gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8',1,'SHOW_WIN(): gb.h'],['../sms_8h.html#ab19da2ab719bb8897bc0843a84af28f8',1,'SHOW_WIN(): sms.h']]], - ['shrt_5fmax_857',['SHRT_MAX',['../limits_8h.html#a1f758438cb1c7bcf55da2431f5e319e6',1,'limits.h']]], - ['shrt_5fmin_858',['SHRT_MIN',['../limits_8h.html#ae59de266aceffa1c258ac13f45fe0d18',1,'limits.h']]], - ['sig_5fatomic_5fmax_859',['SIG_ATOMIC_MAX',['../stdint_8h.html#a1f5fe9445d0ad0bee21bab1de4cc3e58',1,'stdint.h']]], - ['sig_5fatomic_5fmin_860',['SIG_ATOMIC_MIN',['../stdint_8h.html#a21e605b9ac3a03b6de93cdf5a69e129f',1,'stdint.h']]], - ['signed_861',['SIGNED',['../drawing_8h.html#a4dec4d9b2bace4f5bc6e6337f4086837',1,'drawing.h']]], - ['sio_5fiflag_862',['SIO_IFLAG',['../gb_8h.html#ad90564458646c5646b3880b93db3443e',1,'SIO_IFLAG(): gb.h'],['../sms_8h.html#ad90564458646c5646b3880b93db3443e',1,'SIO_IFLAG(): sms.h']]], - ['siof_5fb_5fclock_863',['SIOF_B_CLOCK',['../gb_2hardware_8h.html#a19b35b0b21101a2782ce5bde4125db04',1,'hardware.h']]], - ['siof_5fb_5fspeed_864',['SIOF_B_SPEED',['../gb_2hardware_8h.html#a32b7b11b2ca90ffb52ce19e7279ea973',1,'hardware.h']]], - ['siof_5fb_5fxfer_5fstart_865',['SIOF_B_XFER_START',['../gb_2hardware_8h.html#a03aaffc30c9ff81d86502c1f6b3dbaea',1,'hardware.h']]], - ['siof_5fclock_5fext_866',['SIOF_CLOCK_EXT',['../gb_2hardware_8h.html#a72a900117cdee0fbec10a278d9de0876',1,'hardware.h']]], - ['siof_5fclock_5fint_867',['SIOF_CLOCK_INT',['../gb_2hardware_8h.html#a55ab8a9eb853e9bcfd72a2bf7e2c524b',1,'hardware.h']]], - ['siof_5fspeed_5f1x_868',['SIOF_SPEED_1X',['../gb_2hardware_8h.html#ae9c948fad514ac440b7c6cc037384ec2',1,'hardware.h']]], - ['siof_5fspeed_5f32x_869',['SIOF_SPEED_32X',['../gb_2hardware_8h.html#a44f550e55e7154388748e7c330929c63',1,'hardware.h']]], - ['siof_5fxfer_5fstart_870',['SIOF_XFER_START',['../gb_2hardware_8h.html#a21a6e935e8a3ac591905429874ccbe84',1,'hardware.h']]], - ['size_5fmax_871',['SIZE_MAX',['../stdint_8h.html#a3c75bb398badb69c7577b21486f9963f',1,'stdint.h']]], - ['size_5ft_872',['size_t',['../asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb',1,'size_t(): types.h'],['../asm_2z80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb',1,'size_t(): types.h'],['../stddef_8h.html#a7c94ea6f8948649f8d181ae55911eeaf',1,'size_t(): stddef.h']]], - ['sms_2eh_873',['sms.h',['../sms_8h.html',1,'']]], - ['solid_874',['SOLID',['../drawing_8h.html#aa8abfd58ea514228abd69d8f6330e91d',1,'drawing.h']]], - ['sp_5fsize_875',['SP_SIZE',['../setjmp_8h.html#aebec2c4d6fc67c86fbb297bd79efb27c',1,'setjmp.h']]], - ['sprintf_876',['sprintf',['../stdio_8h.html#a31913a297ee18548c81d482ef6bdbe0f',1,'stdio.h']]], - ['sprites_5f8x16_877',['SPRITES_8x16',['../gb_8h.html#af91d252f07f4764996154820f970c101',1,'SPRITES_8x16(): gb.h'],['../sms_8h.html#af91d252f07f4764996154820f970c101',1,'SPRITES_8x16(): sms.h']]], - ['sprites_5f8x8_878',['SPRITES_8x8',['../gb_8h.html#aa87bec0d134136fdb727f52cb773b792',1,'SPRITES_8x8(): gb.h'],['../sms_8h.html#aa87bec0d134136fdb727f52cb773b792',1,'SPRITES_8x8(): sms.h']]], - ['spx_5fsize_879',['SPX_SIZE',['../setjmp_8h.html#ad27470e8d39238686f96b46d5b9deb40',1,'setjmp.h']]], - ['stat_5freg_880',['STAT_REG',['../gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b',1,'hardware.h']]], - ['statf_5f9_5fspr_881',['STATF_9_SPR',['../sms_2hardware_8h.html#a4a7b807e5e5987302a5315fe5c815ce8',1,'hardware.h']]], - ['statf_5fb_5fbusy_882',['STATF_B_BUSY',['../gb_2hardware_8h.html#a3b0bf7449b517b3cda2a89428db6deb9',1,'hardware.h']]], - ['statf_5fb_5flyc_883',['STATF_B_LYC',['../gb_2hardware_8h.html#ac1e4b66204a5bff207be36fdfedd63d5',1,'hardware.h']]], - ['statf_5fb_5flycf_884',['STATF_B_LYCF',['../gb_2hardware_8h.html#ab058c32e4ebf21b3beb06a0d7440e6ad',1,'hardware.h']]], - ['statf_5fb_5fmode00_885',['STATF_B_MODE00',['../gb_2hardware_8h.html#acdbf6b3217f6a5681df94c8b8992d1d6',1,'hardware.h']]], - ['statf_5fb_5fmode01_886',['STATF_B_MODE01',['../gb_2hardware_8h.html#a5b683ff804221c6fc721b996fce65bda',1,'hardware.h']]], - ['statf_5fb_5fmode10_887',['STATF_B_MODE10',['../gb_2hardware_8h.html#ac75479aa0d34ac4344d80451276e97cc',1,'hardware.h']]], - ['statf_5fb_5foam_888',['STATF_B_OAM',['../gb_2hardware_8h.html#a7393f505e4277af40167d72415c46fa5',1,'hardware.h']]], - ['statf_5fb_5fvbl_889',['STATF_B_VBL',['../gb_2hardware_8h.html#a55c4815aea004a9951606db7e7a1f0d7',1,'hardware.h']]], - ['statf_5fbusy_890',['STATF_BUSY',['../gb_2hardware_8h.html#a92a063885caf6c6cda665da0309055ec',1,'hardware.h']]], - ['statf_5fhbl_891',['STATF_HBL',['../gb_2hardware_8h.html#ab04e468d2403bc69f761daa300bb999a',1,'hardware.h']]], - ['statf_5fint_5fvbl_892',['STATF_INT_VBL',['../sms_2hardware_8h.html#a4702e74fffdc57d60c3835e63c665cc1',1,'hardware.h']]], - ['statf_5flcd_893',['STATF_LCD',['../gb_2hardware_8h.html#a6f5df560b791d2fc086c23f99dd03354',1,'hardware.h']]], - ['statf_5flyc_894',['STATF_LYC',['../gb_2hardware_8h.html#a3b53105cc5be896b48794ba82d2aeb4c',1,'hardware.h']]], - ['statf_5flycf_895',['STATF_LYCF',['../gb_2hardware_8h.html#a2b3637bad69da368c3d7136632963fb7',1,'hardware.h']]], - ['statf_5fmode00_896',['STATF_MODE00',['../gb_2hardware_8h.html#a72b78d4d640033770be37d95bf8e1f9d',1,'hardware.h']]], - ['statf_5fmode01_897',['STATF_MODE01',['../gb_2hardware_8h.html#ad27f428fca89ea6b236ff3aa4769a05e',1,'hardware.h']]], - ['statf_5fmode10_898',['STATF_MODE10',['../gb_2hardware_8h.html#a47b5bc2ec6afaf1d50a8db5f24415922',1,'hardware.h']]], - ['statf_5foam_899',['STATF_OAM',['../gb_2hardware_8h.html#acc45e1a4ea60d8248102a71c1658c5a3',1,'hardware.h']]], - ['statf_5fspr_5fcoll_900',['STATF_SPR_COLL',['../sms_2hardware_8h.html#a6fdd982d805d5af6de0417e24faf027d',1,'hardware.h']]], - ['statf_5fvbl_901',['STATF_VBL',['../gb_2hardware_8h.html#adb52e1f4b56ef259db300a187fe58fc9',1,'hardware.h']]], - ['stdarg_2eh_902',['stdarg.h',['../asm_2gbz80_2stdarg_8h.html',1,'(Global Namespace)'],['../asm_2z80_2stdarg_8h.html',1,'(Global Namespace)'],['../stdarg_8h.html',1,'(Global Namespace)']]], - ['stdatomic_2eh_903',['stdatomic.h',['../stdatomic_8h.html',1,'']]], - ['stdbool_2eh_904',['stdbool.h',['../stdbool_8h.html',1,'']]], - ['stddef_2eh_905',['stddef.h',['../stddef_8h.html',1,'']]], - ['stdint_2eh_906',['stdint.h',['../stdint_8h.html',1,'']]], - ['stdio_2eh_907',['stdio.h',['../stdio_8h.html',1,'']]], - ['stdlib_2eh_908',['stdlib.h',['../stdlib_8h.html',1,'']]], - ['stdnoreturn_2eh_909',['stdnoreturn.h',['../stdnoreturn_8h.html',1,'']]], - ['strcat_910',['strcat',['../asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553',1,'strcat(char *s1, const char *s2): string.h'],['../asm_2z80_2string_8h.html#a13c88f5a8475fd7de5d81553cb29724a',1,'strcat(char *s1, const char *s2) NONBANKED: string.h']]], - ['strcmp_911',['strcmp',['../asm_2gbz80_2string_8h.html#a125908e664d4b65f55a49c8faf14784b',1,'strcmp(const char *s1, const char *s2) OLDCALL __preserves_regs(b: string.h'],['../asm_2z80_2string_8h.html#a11bd144d7d44914099a3aeddf1c8567d',1,'strcmp(const char *s1, const char *s2): string.h']]], - ['strcpy_912',['strcpy',['../asm_2gbz80_2string_8h.html#a8d21cab0520a18493e48dab450288f31',1,'strcpy(char *dest, const char *src) OLDCALL __preserves_regs(b: string.h'],['../asm_2z80_2string_8h.html#af5b1fe1ca3f2aca8ad215962460d15a6',1,'strcpy(char *dest, const char *src) OLDCALL: string.h']]], - ['string_2eh_913',['string.h',['../asm_2gbz80_2string_8h.html',1,'(Global Namespace)'],['../asm_2z80_2string_8h.html',1,'(Global Namespace)'],['../string_8h.html',1,'(Global Namespace)']]], - ['strlen_914',['strlen',['../asm_2gbz80_2string_8h.html#a2db4b83fd1a2889db33d4e0798d33fe2',1,'strlen(const char *s) OLDCALL __preserves_regs(b: string.h'],['../asm_2z80_2string_8h.html#ac952c3ccec84a458a4d385c5273c1ca0',1,'strlen(const char *s) OLDCALL: string.h']]], - ['strncat_915',['strncat',['../asm_2gbz80_2string_8h.html#af70714f788819be9dbf368a969be23f7',1,'strncat(char *s1, const char *s2, int n): string.h'],['../asm_2z80_2string_8h.html#a168580a0ddcb7fe754a711309966c99d',1,'strncat(char *s1, const char *s2, int n) NONBANKED: string.h']]], - ['strncmp_916',['strncmp',['../asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc',1,'strncmp(const char *s1, const char *s2, int n): string.h'],['../asm_2z80_2string_8h.html#a861dba2d93de82f087707bb795f5c602',1,'strncmp(const char *s1, const char *s2, int n) NONBANKED: string.h']]], - ['strncpy_917',['strncpy',['../asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f',1,'strncpy(char *s1, const char *s2, int n): string.h'],['../asm_2z80_2string_8h.html#a796a9459c4f362e51c00307044c40ed5',1,'strncpy(char *s1, const char *s2, int n) NONBANKED: string.h']]], - ['svbk_5freg_918',['SVBK_REG',['../gb_2hardware_8h.html#aa128832cecec4e609517fe3daf044e5e',1,'hardware.h']]], - ['switch_5f16_5f8_5fmode_5fmbc1_919',['SWITCH_16_8_MODE_MBC1',['../gb_8h.html#a0c689c5a814f1c347c4d98f28ed6c7d6',1,'gb.h']]], - ['switch_5f4_5f32_5fmode_5fmbc1_920',['SWITCH_4_32_MODE_MBC1',['../gb_8h.html#aa5d64e386a00b373f22ffdc5a152c7ba',1,'gb.h']]], - ['switch_5fdata_921',['switch_data',['../drawing_8h.html#a7b8f466ecc6be62f6c034e52f05e957a',1,'drawing.h']]], - ['switch_5fram_922',['SWITCH_RAM',['../gb_8h.html#a6e40dcc763efd953181c7400642a9f69',1,'SWITCH_RAM(): gb.h'],['../sms_8h.html#a121feb0c32d124562f52398aa9656e7b',1,'SWITCH_RAM(): sms.h']]], - ['switch_5fram_5fmbc1_923',['SWITCH_RAM_MBC1',['../gb_8h.html#a38ea3e4dfe02b8eae70df27f39d4a951',1,'gb.h']]], - ['switch_5fram_5fmbc5_924',['SWITCH_RAM_MBC5',['../gb_8h.html#a361d5055a7ae880fc1c9d6e0d1164fd6',1,'gb.h']]], - ['switch_5from_925',['SWITCH_ROM',['../gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc',1,'SWITCH_ROM(): gb.h'],['../sms_8h.html#af61262bbc05629f31020afce67e1b9ea',1,'SWITCH_ROM(): sms.h']]], - ['switch_5from1_926',['SWITCH_ROM1',['../sms_8h.html#a86d47feb2b999aaabbba9f63f4bb3567',1,'sms.h']]], - ['switch_5from2_927',['SWITCH_ROM2',['../sms_8h.html#a6d40a15ff27c2a1c8269d3dbe67eae65',1,'sms.h']]], - ['switch_5from_5fmbc1_928',['SWITCH_ROM_MBC1',['../gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f',1,'gb.h']]], - ['switch_5from_5fmbc5_929',['SWITCH_ROM_MBC5',['../gb_8h.html#a92d040284342702026eb19dab59b586e',1,'gb.h']]], - ['switch_5from_5fmbc5_5f8m_930',['SWITCH_ROM_MBC5_8M',['../gb_8h.html#a6c15ebc660abd3a978137493ab63ffe9',1,'gb.h']]], - ['sys_5ftime_931',['sys_time',['../gb_8h.html#a78d2fd18666afec116f176d46debb4e7',1,'sys_time(): gb.h'],['../sms_8h.html#a78d2fd18666afec116f176d46debb4e7',1,'sys_time(): sms.h']]], - ['system_5fntsc_932',['SYSTEM_NTSC',['../sms_2hardware_8h.html#ae6888157a94fca2f1a1b5136494f2e07',1,'hardware.h']]], - ['system_5fpal_933',['SYSTEM_PAL',['../sms_2hardware_8h.html#a1ac4bf5582e0754ea814c3f51c99a91a',1,'hardware.h']]] + ['supported_20consoles_20_26_20cross_20compiling_767',['Supported Consoles & Cross Compiling',['../docs_supported_consoles.html',1,'index']]], + ['s_5fflipx_768',['S_FLIPX',['../gb_8h.html#ae97793b4039609f93b0f7f8bddb18011',1,'S_FLIPX(): gb.h'],['../sms_8h.html#ae97793b4039609f93b0f7f8bddb18011',1,'S_FLIPX(): sms.h']]], + ['s_5fflipy_769',['S_FLIPY',['../gb_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b',1,'S_FLIPY(): gb.h'],['../sms_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b',1,'S_FLIPY(): sms.h']]], + ['s_5fpalette_770',['S_PALETTE',['../gb_8h.html#a54572cf6791463b6d60623837e0bb5a6',1,'S_PALETTE(): gb.h'],['../sms_8h.html#a54572cf6791463b6d60623837e0bb5a6',1,'S_PALETTE(): sms.h']]], + ['s_5fpriority_771',['S_PRIORITY',['../gb_8h.html#a9506d04c2ec7d2442a52054f67d2b32f',1,'S_PRIORITY(): gb.h'],['../sms_8h.html#a9506d04c2ec7d2442a52054f67d2b32f',1,'S_PRIORITY(): sms.h']]], + ['sb_5freg_772',['SB_REG',['../gb_2hardware_8h.html#a5f2da0d8200f44b6fd694c4a2bea820e',1,'hardware.h']]], + ['sc_5freg_773',['SC_REG',['../gb_2hardware_8h.html#a0fb715973ee3edd1b525eb7f503e3b2a',1,'hardware.h']]], + ['schar_5fmax_774',['SCHAR_MAX',['../limits_8h.html#a8c13fdd8c2840edf0cb04a65297037bb',1,'limits.h']]], + ['schar_5fmin_775',['SCHAR_MIN',['../limits_8h.html#aa05d197000ad5c143ada0fcd9379b236',1,'limits.h']]], + ['screenheight_776',['SCREENHEIGHT',['../gb_8h.html#ae189e98d0ef9263c37869ce1ff3710a5',1,'SCREENHEIGHT(): gb.h'],['../sms_8h.html#ae189e98d0ef9263c37869ce1ff3710a5',1,'SCREENHEIGHT(): sms.h']]], + ['screenwidth_777',['SCREENWIDTH',['../gb_8h.html#ada0cc738d27aad251151e69cb8d250e1',1,'SCREENWIDTH(): gb.h'],['../sms_8h.html#ada0cc738d27aad251151e69cb8d250e1',1,'SCREENWIDTH(): sms.h']]], + ['scroll_5fbkg_778',['scroll_bkg',['../gb_8h.html#a1f583f7a880daa6145ca78b086a209d1',1,'scroll_bkg(int8_t x, int8_t y): gb.h'],['../sms_8h.html#a1f583f7a880daa6145ca78b086a209d1',1,'scroll_bkg(int8_t x, int8_t y): sms.h']]], + ['scroll_5fsprite_779',['scroll_sprite',['../gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe',1,'scroll_sprite(uint8_t nb, int8_t x, int8_t y): gb.h'],['../sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe',1,'scroll_sprite(uint8_t nb, int8_t x, int8_t y): sms.h']]], + ['scroll_5fwin_780',['scroll_win',['../gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044',1,'gb.h']]], + ['scx_5freg_781',['SCX_REG',['../gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f',1,'hardware.h']]], + ['scy_5freg_782',['SCY_REG',['../gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2',1,'hardware.h']]], + ['seg_783',['seg',['../union____far__ptr.html#a13c65a38be633a3ac219c3b5b3be5ce6',1,'__far_ptr']]], + ['sega_784',['SEGA',['../sms_8h.html#a19e5fbd76b85bf708ec31d55905fc537',1,'sms.h']]], + ['segfn_785',['segfn',['../union____far__ptr.html#a8c6e2345a04a58dc76339923baffcbe3',1,'__far_ptr']]], + ['segofs_786',['segofs',['../union____far__ptr.html#ab77baeba835fa23f6d96c641e7ee2b06',1,'__far_ptr']]], + ['send_5fbyte_787',['send_byte',['../gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964',1,'gb.h']]], + ['set_5f1bpp_5fcolors_788',['set_1bpp_colors',['../gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad',1,'set_1bpp_colors(uint8_t fgcolor, uint8_t bgcolor): gb.h'],['../sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad',1,'set_1bpp_colors(uint8_t fgcolor, uint8_t bgcolor): sms.h']]], + ['set_5f1bpp_5fcolors_5fex_789',['set_1bpp_colors_ex',['../gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c',1,'gb.h']]], + ['set_5f2bpp_5fpalette_790',['set_2bpp_palette',['../gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84',1,'set_2bpp_palette(uint16_t palette): gb.h'],['../sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84',1,'set_2bpp_palette(uint16_t palette): sms.h']]], + ['set_5fattributed_5ftile_5fxy_791',['set_attributed_tile_xy',['../sms_8h.html#a476f433ea736a1dd610490238f2a6250',1,'sms.h']]], + ['set_5fbkg_5f1bpp_5fdata_792',['set_bkg_1bpp_data',['../gb_8h.html#a711fa26feecc76dc51482b0f77062859',1,'set_bkg_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04',1,'set_bkg_1bpp_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], + ['set_5fbkg_5f2bpp_5fdata_793',['set_bkg_2bpp_data',['../gb_8h.html#ab94bfec130df50d9cb808142f94603a5',1,'set_bkg_2bpp_data(): gb.h'],['../sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023',1,'set_bkg_2bpp_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], + ['set_5fbkg_5f4bpp_5fdata_794',['set_bkg_4bpp_data',['../sms_8h.html#aeff13dca11be49e8c159820c616016ec',1,'sms.h']]], + ['set_5fbkg_5fbased_5fsubmap_795',['set_bkg_based_submap',['../gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0',1,'set_bkg_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile): gb.h'],['../sms_8h.html#abc8bc5808620a9717263b8c9ec2237f0',1,'set_bkg_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile): sms.h']]], + ['set_5fbkg_5fbased_5ftiles_796',['set_bkg_based_tiles',['../gb_8h.html#a811c386cac0df2d260aacb5a43608be5',1,'set_bkg_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile): gb.h'],['../sms_8h.html#a811c386cac0df2d260aacb5a43608be5',1,'set_bkg_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile): sms.h']]], + ['set_5fbkg_5fdata_797',['set_bkg_data',['../gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626',1,'set_bkg_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a8130306da1177f4fef89e699f8e2add4',1,'set_bkg_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], + ['set_5fbkg_5fpalette_798',['set_bkg_palette',['../sms_8h.html#a9f879bd31899f7989f887b6238de24e3',1,'set_bkg_palette(): sms.h'],['../cgb_8h.html#aa8851ca1f515ca55cbf9f6ff53b08e8a',1,'set_bkg_palette(uint8_t first_palette, uint8_t nb_palettes, palette_color_t *rgb_data) OLDCALL: cgb.h']]], + ['set_5fbkg_5fpalette_5fentry_799',['set_bkg_palette_entry',['../sms_8h.html#a2215732f2ba2ec6406b65d3cca56a200',1,'set_bkg_palette_entry(): sms.h'],['../cgb_8h.html#aa8881ff123f364f2e7d1e88c18f9fbca',1,'set_bkg_palette_entry(uint8_t palette, uint8_t entry, uint16_t rgb_data) OLDCALL: cgb.h']]], + ['set_5fbkg_5fsubmap_800',['set_bkg_submap',['../gb_8h.html#adb21d1c7d533a7133bab36a845489780',1,'set_bkg_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) OLDCALL: sms.h'],['../sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298',1,'set_bkg_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w): sms.h']]], + ['set_5fbkg_5ftile_5fxy_801',['set_bkg_tile_xy',['../sms_8h.html#adcd40a58f7c7d348d506cc400cd94739',1,'set_bkg_tile_xy(): sms.h'],['../gb_8h.html#a74ee8f0a3495508c90de4ce246b81060',1,'set_bkg_tile_xy(uint8_t x, uint8_t y, uint8_t t) OLDCALL PRESERVES_REGS(b: gb.h']]], + ['set_5fbkg_5ftiles_802',['set_bkg_tiles',['../sms_8h.html#a9a732aec1b7aec7d10a9d76ca4da2064',1,'set_bkg_tiles(): sms.h'],['../gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7',1,'set_bkg_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) OLDCALL PRESERVES_REGS(b: gb.h']]], + ['set_5fdata_803',['set_data',['../gb_8h.html#a650d2df96e69a40b70548ab468e00f25',1,'set_data(uint8_t *vram_addr, const uint8_t *data, uint16_t len) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a8fe17423c7ef7c44f1ccff27d3afbebc',1,'set_data(uint16_t dst, const void *src, uint16_t size) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['set_5fdefault_5fpalette_804',['set_default_palette',['../cgb_8h.html#abd34836339579013c097ae4dea10c014',1,'set_default_palette(): cgb.h'],['../sms_8h.html#abd34836339579013c097ae4dea10c014',1,'set_default_palette(): sms.h']]], + ['set_5finterrupts_805',['set_interrupts',['../gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3',1,'set_interrupts(uint8_t flags) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#aefda0091b2934571a11e07b512735f50',1,'set_interrupts(uint8_t flags) Z88DK_FASTCALL: sms.h']]], + ['set_5fnative_5ftile_5fdata_806',['set_native_tile_data',['../gb_8h.html#a68651e50243349b48164a8ad983dca4e',1,'set_native_tile_data(uint16_t first_tile, uint8_t nb_tiles, const uint8_t *data): gb.h'],['../sms_8h.html#a24764a152441b966ea04a83278c73207',1,'set_native_tile_data(uint16_t start, uint16_t ntiles, const void *src) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['set_5fpalette_807',['set_palette',['../sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e',1,'sms.h']]], + ['set_5fpalette_5fentry_808',['set_palette_entry',['../sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164',1,'sms.h']]], + ['set_5fshadow_5foam_5faddress_809',['SET_SHADOW_OAM_ADDRESS',['../gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687',1,'SET_SHADOW_OAM_ADDRESS(void *address): gb.h'],['../sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687',1,'SET_SHADOW_OAM_ADDRESS(void *address): sms.h']]], + ['set_5fsprite_5f1bpp_5fdata_810',['set_sprite_1bpp_data',['../gb_8h.html#ab3e60c92c9f8fbed855f8712187ea3ea',1,'set_sprite_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97',1,'set_sprite_1bpp_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], + ['set_5fsprite_5f2bpp_5fdata_811',['set_sprite_2bpp_data',['../gb_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4',1,'set_sprite_2bpp_data(): gb.h'],['../sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a',1,'set_sprite_2bpp_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], + ['set_5fsprite_5f4bpp_5fdata_812',['set_sprite_4bpp_data',['../sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432',1,'sms.h']]], + ['set_5fsprite_5fdata_813',['set_sprite_data',['../gb_8h.html#ae45b1c639698951b47e44fa8e89556f2',1,'set_sprite_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39',1,'set_sprite_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], + ['set_5fsprite_5fpalette_814',['set_sprite_palette',['../sms_8h.html#a7d5ed1aed79d8fd2894893d7f6f9b835',1,'set_sprite_palette(): sms.h'],['../cgb_8h.html#a9ca9f825284da0db522d15aa2e42a4af',1,'set_sprite_palette(uint8_t first_palette, uint8_t nb_palettes, palette_color_t *rgb_data) OLDCALL: cgb.h']]], + ['set_5fsprite_5fpalette_5fentry_815',['set_sprite_palette_entry',['../sms_8h.html#a8b5c17235a3f65af70492e109a25f237',1,'set_sprite_palette_entry(): sms.h'],['../cgb_8h.html#aebeb7431ebd400baed34796a8f50ea58',1,'set_sprite_palette_entry(uint8_t palette, uint8_t entry, uint16_t rgb_data) OLDCALL: cgb.h']]], + ['set_5fsprite_5fprop_816',['set_sprite_prop',['../gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7',1,'set_sprite_prop(uint8_t nb, uint8_t prop): gb.h'],['../sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7',1,'set_sprite_prop(uint8_t nb, uint8_t prop): sms.h']]], + ['set_5fsprite_5ftile_817',['set_sprite_tile',['../gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe',1,'set_sprite_tile(uint8_t nb, uint8_t tile): gb.h'],['../sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe',1,'set_sprite_tile(uint8_t nb, uint8_t tile): sms.h']]], + ['set_5ftile_5f1bpp_5fdata_818',['set_tile_1bpp_data',['../sms_8h.html#a747033606e041b45ae09b38fdb06b871',1,'sms.h']]], + ['set_5ftile_5f2bpp_5fdata_819',['set_tile_2bpp_data',['../sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8',1,'sms.h']]], + ['set_5ftile_5fdata_820',['set_tile_data',['../gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30',1,'gb.h']]], + ['set_5ftile_5fmap_821',['set_tile_map',['../gb_8h.html#a55f82ff980398dd97036fd936ebd727e',1,'set_tile_map(): gb.h'],['../sms_8h.html#a14fc41e69085b5aa3da2fae9a2aa3ef3',1,'set_tile_map(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['set_5ftile_5fmap_5fcompat_822',['set_tile_map_compat',['../sms_8h.html#a7c38b146f77eda84981c06c2271fe116',1,'sms.h']]], + ['set_5ftile_5fsubmap_823',['set_tile_submap',['../gb_8h.html#adb5d0970167b81401113812773c90838',1,'set_tile_submap(): gb.h'],['../sms_8h.html#a84774e034fe0e70af62bd17ac716ba34',1,'set_tile_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t map_w, const uint8_t *map) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['set_5ftile_5fsubmap_5fcompat_824',['set_tile_submap_compat',['../sms_8h.html#aba0308b5e8e154cc920f041a185ac770',1,'sms.h']]], + ['set_5ftile_5fxy_825',['set_tile_xy',['../gb_8h.html#a3b235c526c517fb02d20cdea780ee2c5',1,'set_tile_xy(): gb.h'],['../sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7',1,'set_tile_xy(uint8_t x, uint8_t y, uint8_t t) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['set_5ftiles_826',['set_tiles',['../gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c',1,'gb.h']]], + ['set_5fvram_5fbyte_827',['set_vram_byte',['../gb_8h.html#a7080649e10765996c581e5b618e603b8',1,'set_vram_byte(uint8_t *addr, uint8_t v) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89',1,'set_vram_byte(uint8_t *addr, uint8_t v) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['set_5fwin_5f1bpp_5fdata_828',['set_win_1bpp_data',['../gb_8h.html#acd5ee7a94059e6edbe9223f291bc2b46',1,'gb.h']]], + ['set_5fwin_5fbased_5fsubmap_829',['set_win_based_submap',['../gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0',1,'set_win_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile): gb.h'],['../sms_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0',1,'set_win_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile): sms.h']]], + ['set_5fwin_5fbased_5ftiles_830',['set_win_based_tiles',['../gb_8h.html#a739a212609ae60c9c56c095f96b4ea80',1,'set_win_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile): gb.h'],['../sms_8h.html#a739a212609ae60c9c56c095f96b4ea80',1,'set_win_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile): sms.h']]], + ['set_5fwin_5fdata_831',['set_win_data',['../gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f',1,'gb.h']]], + ['set_5fwin_5fsubmap_832',['set_win_submap',['../gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de',1,'set_win_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) OLDCALL: sms.h'],['../sms_8h.html#abb50a392ca0d0419a080413287ee5d79',1,'set_win_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w): sms.h']]], + ['set_5fwin_5ftile_5fxy_833',['set_win_tile_xy',['../sms_8h.html#a95d929d964d9988f4dc5a25ed399ae08',1,'set_win_tile_xy(): sms.h'],['../gb_8h.html#a0c70a53db1fbc0c99627da3f282befd8',1,'set_win_tile_xy(uint8_t x, uint8_t y, uint8_t t) OLDCALL PRESERVES_REGS(b: gb.h']]], + ['set_5fwin_5ftiles_834',['set_win_tiles',['../sms_8h.html#a429db030287423012f40a6dca81ae7e3',1,'set_win_tiles(): sms.h'],['../gb_8h.html#a5c59b4ee6323af9832998906d087266b',1,'set_win_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) OLDCALL PRESERVES_REGS(b: gb.h']]], + ['setchar_835',['setchar',['../console_8h.html#a6ce1d0ff40a295e36bcb6d495947c8dc',1,'console.h']]], + ['setjmp_836',['setjmp',['../setjmp_8h.html#a27d1a255c7e0d69afec2367bb85b60b0',1,'setjmp.h']]], + ['setjmp_2eh_837',['setjmp.h',['../setjmp_8h.html',1,'']]], + ['sfont_5fhandle_838',['sfont_handle',['../structsfont__handle.html',1,'']]], + ['sfr_839',['SFR',['../asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4',1,'types.h']]], + ['sgb_2eh_840',['sgb.h',['../sgb_8h.html',1,'']]], + ['sgb_5fatrc_5fen_841',['SGB_ATRC_EN',['../sgb_8h.html#a3d81b1e455d60d760ee58e2685953775',1,'sgb.h']]], + ['sgb_5fattr_5fblk_842',['SGB_ATTR_BLK',['../sgb_8h.html#a6437bd5982922fffdbc7c5d8c643e357',1,'sgb.h']]], + ['sgb_5fattr_5fchr_843',['SGB_ATTR_CHR',['../sgb_8h.html#a41981a213b67bdc45bf8ed78f07e7bba',1,'sgb.h']]], + ['sgb_5fattr_5fdiv_844',['SGB_ATTR_DIV',['../sgb_8h.html#adcb3f50616813637283f88bfd4d53e22',1,'sgb.h']]], + ['sgb_5fattr_5flin_845',['SGB_ATTR_LIN',['../sgb_8h.html#ade5ba9723a9964e55cff72108149037a',1,'sgb.h']]], + ['sgb_5fattr_5fset_846',['SGB_ATTR_SET',['../sgb_8h.html#abf8d94c42e97e1ce640340657df70640',1,'sgb.h']]], + ['sgb_5fattr_5ftrn_847',['SGB_ATTR_TRN',['../sgb_8h.html#a1762d2df2599cf864400bac4934a5d61',1,'sgb.h']]], + ['sgb_5fcheck_848',['sgb_check',['../sgb_8h.html#a48bc560ec2455bf97002e03c0a6055f0',1,'sgb.h']]], + ['sgb_5fchr_5ftrn_849',['SGB_CHR_TRN',['../sgb_8h.html#af4d8b611dfdda33039038375ee95f424',1,'sgb.h']]], + ['sgb_5fdata_5fsnd_850',['SGB_DATA_SND',['../sgb_8h.html#ae4fe10a0c9eca38d126f3a8701e3c9a2',1,'sgb.h']]], + ['sgb_5fdata_5ftrn_851',['SGB_DATA_TRN',['../sgb_8h.html#a862a450451cfccf138311089b85292fc',1,'sgb.h']]], + ['sgb_5ficon_5fen_852',['SGB_ICON_EN',['../sgb_8h.html#a46440df1df1597852a286d56c1a68a48',1,'sgb.h']]], + ['sgb_5fjump_853',['SGB_JUMP',['../sgb_8h.html#aac4217b88053614f70af5b1f32e72870',1,'sgb.h']]], + ['sgb_5fmask_5fen_854',['SGB_MASK_EN',['../sgb_8h.html#a20477d5772564b63de2d151e062dd5a7',1,'sgb.h']]], + ['sgb_5fmlt_5freq_855',['SGB_MLT_REQ',['../sgb_8h.html#a70aad9e5786ca8a4753c47583e88f8a2',1,'sgb.h']]], + ['sgb_5fobj_5ftrn_856',['SGB_OBJ_TRN',['../sgb_8h.html#a3b76bf1e9ac81da97c533fa3ab12096c',1,'sgb.h']]], + ['sgb_5fpal_5f01_857',['SGB_PAL_01',['../sgb_8h.html#a70bdb512d109fbcaeb95efa32e9dcaf5',1,'sgb.h']]], + ['sgb_5fpal_5f03_858',['SGB_PAL_03',['../sgb_8h.html#af9e1ca804555fad619db3f38b62a49e8',1,'sgb.h']]], + ['sgb_5fpal_5f12_859',['SGB_PAL_12',['../sgb_8h.html#a8d633d52d4a7adfaef516953d5e8552a',1,'sgb.h']]], + ['sgb_5fpal_5f23_860',['SGB_PAL_23',['../sgb_8h.html#acaa2f1ac9949189896582fc5ad0823b1',1,'sgb.h']]], + ['sgb_5fpal_5fset_861',['SGB_PAL_SET',['../sgb_8h.html#ad9023ed1d8dd4a2eebc55a376207f3d2',1,'sgb.h']]], + ['sgb_5fpal_5ftrn_862',['SGB_PAL_TRN',['../sgb_8h.html#ac490ce8566f869727e8b00fabb1c9fc6',1,'sgb.h']]], + ['sgb_5fpct_5ftrn_863',['SGB_PCT_TRN',['../sgb_8h.html#ac0bf9d5dc54d711fd14f44bf58eaa5db',1,'sgb.h']]], + ['sgb_5fsou_5ftrn_864',['SGB_SOU_TRN',['../sgb_8h.html#a82a976ea6a32ae0078a27e3c06143bcf',1,'sgb.h']]], + ['sgb_5fsound_865',['SGB_SOUND',['../sgb_8h.html#a42e0fbc58e65874e0a76d7f33a322ce8',1,'sgb.h']]], + ['sgb_5ftest_5fen_866',['SGB_TEST_EN',['../sgb_8h.html#a8e644a43af63932283e9c78a472881dc',1,'sgb.h']]], + ['sgb_5ftransfer_867',['sgb_transfer',['../sgb_8h.html#a84e1f2ab7dce1faabd3d271b6bf8df8c',1,'sgb.h']]], + ['shadow_5foam_868',['shadow_OAM',['../gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551',1,'shadow_OAM(): gb.h'],['../sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d',1,'shadow_OAM(): sms.h']]], + ['shadow_5fvdp_5fr0_869',['shadow_VDP_R0',['../sms_2hardware_8h.html#aa80cb68338819c004095531d32b70e38',1,'hardware.h']]], + ['shadow_5fvdp_5fr1_870',['shadow_VDP_R1',['../sms_2hardware_8h.html#a542cb696f242df44b0d8e9225d532ef4',1,'hardware.h']]], + ['shadow_5fvdp_5fr10_871',['shadow_VDP_R10',['../sms_2hardware_8h.html#af310a900e3b4b5b5032f4ffd6fa309b0',1,'hardware.h']]], + ['shadow_5fvdp_5fr2_872',['shadow_VDP_R2',['../sms_2hardware_8h.html#a7f7fa2c0e33c6d515332a50c2acb54e7',1,'hardware.h']]], + ['shadow_5fvdp_5fr3_873',['shadow_VDP_R3',['../sms_2hardware_8h.html#ab984056ff9eb011fbd84abdafb3a8bce',1,'hardware.h']]], + ['shadow_5fvdp_5fr4_874',['shadow_VDP_R4',['../sms_2hardware_8h.html#af9a30a728fedbe7e4c660c448c262e2c',1,'hardware.h']]], + ['shadow_5fvdp_5fr5_875',['shadow_VDP_R5',['../sms_2hardware_8h.html#a221db76cb39200a948234330ed309af7',1,'hardware.h']]], + ['shadow_5fvdp_5fr6_876',['shadow_VDP_R6',['../sms_2hardware_8h.html#a8afbdaaf8c6dee4e7482a341351344b4',1,'hardware.h']]], + ['shadow_5fvdp_5fr7_877',['shadow_VDP_R7',['../sms_2hardware_8h.html#a33b3e7c120a579cb729caf588ba1d9a8',1,'hardware.h']]], + ['shadow_5fvdp_5fr8_878',['shadow_VDP_R8',['../sms_2hardware_8h.html#add65b8e5f0b806e563ce27de7348ba31',1,'hardware.h']]], + ['shadow_5fvdp_5fr9_879',['shadow_VDP_R9',['../sms_2hardware_8h.html#a1ccce1e3f8acb76170fb752ee40ae659',1,'hardware.h']]], + ['shadow_5fvdp_5frborder_880',['shadow_VDP_RBORDER',['../sms_2hardware_8h.html#a20a977182f6f5f60ee6464e15f05aed0',1,'hardware.h']]], + ['shadow_5fvdp_5frscx_881',['shadow_VDP_RSCX',['../sms_2hardware_8h.html#af6a84b0288b045560f83a1944a8c1c3b',1,'hardware.h']]], + ['shadow_5fvdp_5frscy_882',['shadow_VDP_RSCY',['../sms_2hardware_8h.html#a292b59055beb22b566b39462da3b7eba',1,'hardware.h']]], + ['show_5fbkg_883',['SHOW_BKG',['../gb_8h.html#a8e3f36aa68ac036695816757f2a1322c',1,'SHOW_BKG(): gb.h'],['../sms_8h.html#a8e3f36aa68ac036695816757f2a1322c',1,'SHOW_BKG(): sms.h']]], + ['show_5fleft_5fcolumn_884',['SHOW_LEFT_COLUMN',['../gb_8h.html#a5497c2255a9474d397446710189eacbe',1,'SHOW_LEFT_COLUMN(): gb.h'],['../sms_8h.html#a5497c2255a9474d397446710189eacbe',1,'SHOW_LEFT_COLUMN(): sms.h']]], + ['show_5fsprites_885',['SHOW_SPRITES',['../gb_8h.html#a495bc9f405f916f02ad5d97e6e730134',1,'SHOW_SPRITES(): gb.h'],['../sms_8h.html#a495bc9f405f916f02ad5d97e6e730134',1,'SHOW_SPRITES(): sms.h']]], + ['show_5fwin_886',['SHOW_WIN',['../gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8',1,'SHOW_WIN(): gb.h'],['../sms_8h.html#ab19da2ab719bb8897bc0843a84af28f8',1,'SHOW_WIN(): sms.h']]], + ['shrt_5fmax_887',['SHRT_MAX',['../limits_8h.html#a1f758438cb1c7bcf55da2431f5e319e6',1,'limits.h']]], + ['shrt_5fmin_888',['SHRT_MIN',['../limits_8h.html#ae59de266aceffa1c258ac13f45fe0d18',1,'limits.h']]], + ['sig_5fatomic_5fmax_889',['SIG_ATOMIC_MAX',['../stdint_8h.html#a1f5fe9445d0ad0bee21bab1de4cc3e58',1,'stdint.h']]], + ['sig_5fatomic_5fmin_890',['SIG_ATOMIC_MIN',['../stdint_8h.html#a21e605b9ac3a03b6de93cdf5a69e129f',1,'stdint.h']]], + ['signed_891',['SIGNED',['../drawing_8h.html#a4dec4d9b2bace4f5bc6e6337f4086837',1,'drawing.h']]], + ['sio_5fiflag_892',['SIO_IFLAG',['../gb_8h.html#ad90564458646c5646b3880b93db3443e',1,'SIO_IFLAG(): gb.h'],['../sms_8h.html#ad90564458646c5646b3880b93db3443e',1,'SIO_IFLAG(): sms.h']]], + ['siof_5fb_5fclock_893',['SIOF_B_CLOCK',['../gb_2hardware_8h.html#a19b35b0b21101a2782ce5bde4125db04',1,'hardware.h']]], + ['siof_5fb_5fspeed_894',['SIOF_B_SPEED',['../gb_2hardware_8h.html#a32b7b11b2ca90ffb52ce19e7279ea973',1,'hardware.h']]], + ['siof_5fb_5fxfer_5fstart_895',['SIOF_B_XFER_START',['../gb_2hardware_8h.html#a03aaffc30c9ff81d86502c1f6b3dbaea',1,'hardware.h']]], + ['siof_5fclock_5fext_896',['SIOF_CLOCK_EXT',['../gb_2hardware_8h.html#a72a900117cdee0fbec10a278d9de0876',1,'hardware.h']]], + ['siof_5fclock_5fint_897',['SIOF_CLOCK_INT',['../gb_2hardware_8h.html#a55ab8a9eb853e9bcfd72a2bf7e2c524b',1,'hardware.h']]], + ['siof_5fspeed_5f1x_898',['SIOF_SPEED_1X',['../gb_2hardware_8h.html#ae9c948fad514ac440b7c6cc037384ec2',1,'hardware.h']]], + ['siof_5fspeed_5f32x_899',['SIOF_SPEED_32X',['../gb_2hardware_8h.html#a44f550e55e7154388748e7c330929c63',1,'hardware.h']]], + ['siof_5fxfer_5fstart_900',['SIOF_XFER_START',['../gb_2hardware_8h.html#a21a6e935e8a3ac591905429874ccbe84',1,'hardware.h']]], + ['size_5fmax_901',['SIZE_MAX',['../stdint_8h.html#a3c75bb398badb69c7577b21486f9963f',1,'stdint.h']]], + ['size_5ft_902',['size_t',['../asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf',1,'size_t(): types.h'],['../asm_2z80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf',1,'size_t(): types.h'],['../stddef_8h.html#a7c94ea6f8948649f8d181ae55911eeaf',1,'size_t(): stddef.h']]], + ['sms_2eh_903',['sms.h',['../sms_8h.html',1,'']]], + ['solid_904',['SOLID',['../drawing_8h.html#aa8abfd58ea514228abd69d8f6330e91d',1,'drawing.h']]], + ['sp_5fsize_905',['SP_SIZE',['../setjmp_8h.html#aebec2c4d6fc67c86fbb297bd79efb27c',1,'setjmp.h']]], + ['sprintf_906',['sprintf',['../stdio_8h.html#a31913a297ee18548c81d482ef6bdbe0f',1,'stdio.h']]], + ['sprites_5f8x16_907',['SPRITES_8x16',['../gb_8h.html#af91d252f07f4764996154820f970c101',1,'SPRITES_8x16(): gb.h'],['../sms_8h.html#af91d252f07f4764996154820f970c101',1,'SPRITES_8x16(): sms.h']]], + ['sprites_5f8x8_908',['SPRITES_8x8',['../gb_8h.html#aa87bec0d134136fdb727f52cb773b792',1,'SPRITES_8x8(): gb.h'],['../sms_8h.html#aa87bec0d134136fdb727f52cb773b792',1,'SPRITES_8x8(): sms.h']]], + ['spx_5fsize_909',['SPX_SIZE',['../setjmp_8h.html#ad27470e8d39238686f96b46d5b9deb40',1,'setjmp.h']]], + ['stat_5freg_910',['STAT_REG',['../gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b',1,'hardware.h']]], + ['statf_5f9_5fspr_911',['STATF_9_SPR',['../sms_2hardware_8h.html#a4a7b807e5e5987302a5315fe5c815ce8',1,'hardware.h']]], + ['statf_5fb_5fbusy_912',['STATF_B_BUSY',['../gb_2hardware_8h.html#a3b0bf7449b517b3cda2a89428db6deb9',1,'hardware.h']]], + ['statf_5fb_5flyc_913',['STATF_B_LYC',['../gb_2hardware_8h.html#ac1e4b66204a5bff207be36fdfedd63d5',1,'hardware.h']]], + ['statf_5fb_5flycf_914',['STATF_B_LYCF',['../gb_2hardware_8h.html#ab058c32e4ebf21b3beb06a0d7440e6ad',1,'hardware.h']]], + ['statf_5fb_5fmode00_915',['STATF_B_MODE00',['../gb_2hardware_8h.html#acdbf6b3217f6a5681df94c8b8992d1d6',1,'hardware.h']]], + ['statf_5fb_5fmode01_916',['STATF_B_MODE01',['../gb_2hardware_8h.html#a5b683ff804221c6fc721b996fce65bda',1,'hardware.h']]], + ['statf_5fb_5fmode10_917',['STATF_B_MODE10',['../gb_2hardware_8h.html#ac75479aa0d34ac4344d80451276e97cc',1,'hardware.h']]], + ['statf_5fb_5foam_918',['STATF_B_OAM',['../gb_2hardware_8h.html#a7393f505e4277af40167d72415c46fa5',1,'hardware.h']]], + ['statf_5fb_5fvbl_919',['STATF_B_VBL',['../gb_2hardware_8h.html#a55c4815aea004a9951606db7e7a1f0d7',1,'hardware.h']]], + ['statf_5fbusy_920',['STATF_BUSY',['../gb_2hardware_8h.html#a92a063885caf6c6cda665da0309055ec',1,'hardware.h']]], + ['statf_5fhbl_921',['STATF_HBL',['../gb_2hardware_8h.html#ab04e468d2403bc69f761daa300bb999a',1,'hardware.h']]], + ['statf_5fint_5fvbl_922',['STATF_INT_VBL',['../sms_2hardware_8h.html#a4702e74fffdc57d60c3835e63c665cc1',1,'hardware.h']]], + ['statf_5flcd_923',['STATF_LCD',['../gb_2hardware_8h.html#a6f5df560b791d2fc086c23f99dd03354',1,'hardware.h']]], + ['statf_5flyc_924',['STATF_LYC',['../gb_2hardware_8h.html#a3b53105cc5be896b48794ba82d2aeb4c',1,'hardware.h']]], + ['statf_5flycf_925',['STATF_LYCF',['../gb_2hardware_8h.html#a2b3637bad69da368c3d7136632963fb7',1,'hardware.h']]], + ['statf_5fmode00_926',['STATF_MODE00',['../gb_2hardware_8h.html#a72b78d4d640033770be37d95bf8e1f9d',1,'hardware.h']]], + ['statf_5fmode01_927',['STATF_MODE01',['../gb_2hardware_8h.html#ad27f428fca89ea6b236ff3aa4769a05e',1,'hardware.h']]], + ['statf_5fmode10_928',['STATF_MODE10',['../gb_2hardware_8h.html#a47b5bc2ec6afaf1d50a8db5f24415922',1,'hardware.h']]], + ['statf_5foam_929',['STATF_OAM',['../gb_2hardware_8h.html#acc45e1a4ea60d8248102a71c1658c5a3',1,'hardware.h']]], + ['statf_5fspr_5fcoll_930',['STATF_SPR_COLL',['../sms_2hardware_8h.html#a6fdd982d805d5af6de0417e24faf027d',1,'hardware.h']]], + ['statf_5fvbl_931',['STATF_VBL',['../gb_2hardware_8h.html#adb52e1f4b56ef259db300a187fe58fc9',1,'hardware.h']]], + ['stdarg_2eh_932',['stdarg.h',['../asm_2gbz80_2stdarg_8h.html',1,'(Global Namespace)'],['../asm_2z80_2stdarg_8h.html',1,'(Global Namespace)'],['../stdarg_8h.html',1,'(Global Namespace)']]], + ['stdatomic_2eh_933',['stdatomic.h',['../stdatomic_8h.html',1,'']]], + ['stdbool_2eh_934',['stdbool.h',['../stdbool_8h.html',1,'']]], + ['stddef_2eh_935',['stddef.h',['../stddef_8h.html',1,'']]], + ['stdint_2eh_936',['stdint.h',['../stdint_8h.html',1,'']]], + ['stdio_2eh_937',['stdio.h',['../stdio_8h.html',1,'']]], + ['stdlib_2eh_938',['stdlib.h',['../stdlib_8h.html',1,'']]], + ['stdnoreturn_2eh_939',['stdnoreturn.h',['../stdnoreturn_8h.html',1,'']]], + ['strcat_940',['strcat',['../asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553',1,'strcat(char *s1, const char *s2): string.h'],['../asm_2z80_2string_8h.html#a13c88f5a8475fd7de5d81553cb29724a',1,'strcat(char *s1, const char *s2) NONBANKED: string.h']]], + ['strcmp_941',['strcmp',['../asm_2gbz80_2string_8h.html#a7172770a053aa1fe0ab46a97ab43a5fa',1,'strcmp(const char *s1, const char *s2) OLDCALL PRESERVES_REGS(b: string.h'],['../asm_2z80_2string_8h.html#a11bd144d7d44914099a3aeddf1c8567d',1,'strcmp(const char *s1, const char *s2): string.h']]], + ['strcpy_942',['strcpy',['../asm_2gbz80_2string_8h.html#ada128b5ed545214bb397d1399615ec9e',1,'strcpy(char *dest, const char *src) OLDCALL PRESERVES_REGS(b: string.h'],['../asm_2z80_2string_8h.html#af5b1fe1ca3f2aca8ad215962460d15a6',1,'strcpy(char *dest, const char *src) OLDCALL: string.h']]], + ['string_2eh_943',['string.h',['../asm_2gbz80_2string_8h.html',1,'(Global Namespace)'],['../asm_2z80_2string_8h.html',1,'(Global Namespace)'],['../string_8h.html',1,'(Global Namespace)']]], + ['strlen_944',['strlen',['../asm_2gbz80_2string_8h.html#a5e4982e9d2fd4ec328abfda6b1a3f7e5',1,'strlen(const char *s) OLDCALL PRESERVES_REGS(b: string.h'],['../asm_2z80_2string_8h.html#ac952c3ccec84a458a4d385c5273c1ca0',1,'strlen(const char *s) OLDCALL: string.h']]], + ['strncat_945',['strncat',['../asm_2gbz80_2string_8h.html#af70714f788819be9dbf368a969be23f7',1,'strncat(char *s1, const char *s2, int n): string.h'],['../asm_2z80_2string_8h.html#a168580a0ddcb7fe754a711309966c99d',1,'strncat(char *s1, const char *s2, int n) NONBANKED: string.h']]], + ['strncmp_946',['strncmp',['../asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc',1,'strncmp(const char *s1, const char *s2, int n): string.h'],['../asm_2z80_2string_8h.html#a861dba2d93de82f087707bb795f5c602',1,'strncmp(const char *s1, const char *s2, int n) NONBANKED: string.h']]], + ['strncpy_947',['strncpy',['../asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f',1,'strncpy(char *s1, const char *s2, int n): string.h'],['../asm_2z80_2string_8h.html#a796a9459c4f362e51c00307044c40ed5',1,'strncpy(char *s1, const char *s2, int n) NONBANKED: string.h']]], + ['svbk_5freg_948',['SVBK_REG',['../gb_2hardware_8h.html#aa128832cecec4e609517fe3daf044e5e',1,'hardware.h']]], + ['switch_5f16_5f8_5fmode_5fmbc1_949',['SWITCH_16_8_MODE_MBC1',['../gb_8h.html#a0c689c5a814f1c347c4d98f28ed6c7d6',1,'gb.h']]], + ['switch_5f4_5f32_5fmode_5fmbc1_950',['SWITCH_4_32_MODE_MBC1',['../gb_8h.html#aa5d64e386a00b373f22ffdc5a152c7ba',1,'gb.h']]], + ['switch_5fdata_951',['switch_data',['../drawing_8h.html#a7b8f466ecc6be62f6c034e52f05e957a',1,'drawing.h']]], + ['switch_5fram_952',['SWITCH_RAM',['../gb_8h.html#a6e40dcc763efd953181c7400642a9f69',1,'SWITCH_RAM(): gb.h'],['../sms_8h.html#a121feb0c32d124562f52398aa9656e7b',1,'SWITCH_RAM(): sms.h']]], + ['switch_5fram_5fmbc1_953',['SWITCH_RAM_MBC1',['../gb_8h.html#a38ea3e4dfe02b8eae70df27f39d4a951',1,'gb.h']]], + ['switch_5fram_5fmbc5_954',['SWITCH_RAM_MBC5',['../gb_8h.html#a361d5055a7ae880fc1c9d6e0d1164fd6',1,'gb.h']]], + ['switch_5from_955',['SWITCH_ROM',['../gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc',1,'SWITCH_ROM(): gb.h'],['../sms_8h.html#af61262bbc05629f31020afce67e1b9ea',1,'SWITCH_ROM(): sms.h']]], + ['switch_5from1_956',['SWITCH_ROM1',['../sms_8h.html#a86d47feb2b999aaabbba9f63f4bb3567',1,'sms.h']]], + ['switch_5from2_957',['SWITCH_ROM2',['../sms_8h.html#a6d40a15ff27c2a1c8269d3dbe67eae65',1,'sms.h']]], + ['switch_5from_5fmbc1_958',['SWITCH_ROM_MBC1',['../gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f',1,'gb.h']]], + ['switch_5from_5fmbc5_959',['SWITCH_ROM_MBC5',['../gb_8h.html#a92d040284342702026eb19dab59b586e',1,'gb.h']]], + ['switch_5from_5fmbc5_5f8m_960',['SWITCH_ROM_MBC5_8M',['../gb_8h.html#a6c15ebc660abd3a978137493ab63ffe9',1,'gb.h']]], + ['switch_5from_5fmegaduck_961',['SWITCH_ROM_MEGADUCK',['../gb_8h.html#a3fca2d0a22aa2717e62fed659caf4743',1,'gb.h']]], + ['sys_5ftime_962',['sys_time',['../gb_8h.html#a78d2fd18666afec116f176d46debb4e7',1,'sys_time(): gb.h'],['../sms_8h.html#a78d2fd18666afec116f176d46debb4e7',1,'sys_time(): sms.h']]], + ['system_5fntsc_963',['SYSTEM_NTSC',['../sms_2hardware_8h.html#ae6888157a94fca2f1a1b5136494f2e07',1,'hardware.h']]], + ['system_5fpal_964',['SYSTEM_PAL',['../sms_2hardware_8h.html#a1ac4bf5582e0754ea814c3f51c99a91a',1,'hardware.h']]] ]; diff --git a/docs/api/search/all_17.js b/docs/api/search/all_17.js @@ -1,46 +1,46 @@ var searchData= [ - ['toolchain_20settings_934',['Toolchain settings',['../docs_toolchain_settings.html',1,'index']]], - ['tac_5freg_935',['TAC_REG',['../gb_2hardware_8h.html#a659173ac2c8da7fd04bc77973eb95256',1,'hardware.h']]], - ['tacf_5f16khz_936',['TACF_16KHZ',['../gb_2hardware_8h.html#a7d2c165347d3bb3e3a54fad73e1f363e',1,'hardware.h']]], - ['tacf_5f262khz_937',['TACF_262KHZ',['../gb_2hardware_8h.html#ac00b1e90d257b756845da578f4c3f3ba',1,'hardware.h']]], - ['tacf_5f4khz_938',['TACF_4KHZ',['../gb_2hardware_8h.html#a19dce313b521aad75756abfc19bc9e78',1,'hardware.h']]], - ['tacf_5f65khz_939',['TACF_65KHZ',['../gb_2hardware_8h.html#a8be2b577af91deed7b8946b500e73319',1,'hardware.h']]], - ['tacf_5fstart_940',['TACF_START',['../gb_2hardware_8h.html#a07863a535e0aaa11b73608d7430dbc0a',1,'hardware.h']]], - ['tacf_5fstop_941',['TACF_STOP',['../gb_2hardware_8h.html#a9179fd1ba4626627567b9478f691e653',1,'hardware.h']]], - ['tile_942',['tile',['../struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6',1,'OAM_item_t']]], - ['tim_5fiflag_943',['TIM_IFLAG',['../gb_8h.html#a604256210ec5b90b68185e1a18efab49',1,'TIM_IFLAG(): gb.h'],['../sms_8h.html#a604256210ec5b90b68185e1a18efab49',1,'TIM_IFLAG(): sms.h']]], - ['tima_5freg_944',['TIMA_REG',['../gb_2hardware_8h.html#a9d295bb437953de5ebcb3c12d65743aa',1,'hardware.h']]], - ['time_945',['time',['../time_8h.html#ae7841e681c8c9d59818568d39553642c',1,'time.h']]], - ['time_2eh_946',['time.h',['../time_8h.html',1,'']]], - ['time_5ft_947',['time_t',['../time_8h.html#ac84921d4d15eedac7d7b8051a7944c84',1,'time.h']]], - ['tma_5freg_948',['TMA_REG',['../gb_2hardware_8h.html#a39e5a5b9afd2c2ca78de4aba7ccd071c',1,'hardware.h']]], - ['to_5ffar_5fptr_949',['to_far_ptr',['../far__ptr_8h.html#a23ab15f7eb85a48d72f717183badb110',1,'to_far_ptr(void *ofs, uint16_t seg) OLDCALL: far_ptr.h'],['../far__ptr_8h.html#a0c227677a96f9bf7e84a90922f2f8708',1,'TO_FAR_PTR(): far_ptr.h']]], - ['todo_20list_950',['Todo List',['../todo.html',1,'']]], - ['tolower_951',['tolower',['../ctype_8h.html#a207391fc2c5fa7786d5e0b9ef8ba5e80',1,'ctype.h']]], - ['toupper_952',['toupper',['../ctype_8h.html#a811b7a0d5194feaccfacf8a7f02bb9c3',1,'ctype.h']]], - ['true_953',['true',['../stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7',1,'true(): stdbool.h'],['../types_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d',1,'TRUE(): types.h']]], - ['typeof_2eh_954',['typeof.h',['../typeof_8h.html',1,'']]], - ['typeof_5farray_955',['TYPEOF_ARRAY',['../typeof_8h.html#ac627e9a5f9b283cb8904d73c941f1896',1,'typeof.h']]], - ['typeof_5fbit_956',['TYPEOF_BIT',['../typeof_8h.html#a5b91f9d826e3c5c6873bc86cdce3d517',1,'typeof.h']]], - ['typeof_5fbitfield_957',['TYPEOF_BITFIELD',['../typeof_8h.html#a5b9f605bb8dcac27ddfab4e9a8c9a2ca',1,'typeof.h']]], - ['typeof_5fchar_958',['TYPEOF_CHAR',['../typeof_8h.html#ae042a4e85033237ee9fbc1af3cac7025',1,'typeof.h']]], - ['typeof_5fcpointer_959',['TYPEOF_CPOINTER',['../typeof_8h.html#a6131cee0fe0abf1cf2fcfcec830535d4',1,'typeof.h']]], - ['typeof_5feeppointer_960',['TYPEOF_EEPPOINTER',['../typeof_8h.html#a73d0c1f1fc515b199acb5631f8a16898',1,'typeof.h']]], - ['typeof_5ffixed16x16_961',['TYPEOF_FIXED16X16',['../typeof_8h.html#a709c014873866243abc0275099f676f5',1,'typeof.h']]], - ['typeof_5ffloat_962',['TYPEOF_FLOAT',['../typeof_8h.html#a3d694a422fb7a54f15ddf1c9749567f7',1,'typeof.h']]], - ['typeof_5ffpointer_963',['TYPEOF_FPOINTER',['../typeof_8h.html#a5301fd3500fb9f9454a17f9d4c5d0e8c',1,'typeof.h']]], - ['typeof_5ffunction_964',['TYPEOF_FUNCTION',['../typeof_8h.html#a3adf36b394d11d9b35f45ad8c4544670',1,'typeof.h']]], - ['typeof_5fgpointer_965',['TYPEOF_GPOINTER',['../typeof_8h.html#adbec06ba3e6f0e2dcbefd788978f9ad6',1,'typeof.h']]], - ['typeof_5fint_966',['TYPEOF_INT',['../typeof_8h.html#a4bb94b94304a21b7bd462be44f9d197a',1,'typeof.h']]], - ['typeof_5fipointer_967',['TYPEOF_IPOINTER',['../typeof_8h.html#aa56dfc698692fb3f2d64c1a4b192f9c0',1,'typeof.h']]], - ['typeof_5flong_968',['TYPEOF_LONG',['../typeof_8h.html#ab4833544b1f4060806106baa0eb916e6',1,'typeof.h']]], - ['typeof_5fpointer_969',['TYPEOF_POINTER',['../typeof_8h.html#a2541fdaacae83bbcc99dcedf464c7c94',1,'typeof.h']]], - ['typeof_5fppointer_970',['TYPEOF_PPOINTER',['../typeof_8h.html#ad38c6e5ceee5c5fe3703690fc32b23ae',1,'typeof.h']]], - ['typeof_5fsbit_971',['TYPEOF_SBIT',['../typeof_8h.html#a09fcac98c1e69b32ea223eada74e30bd',1,'typeof.h']]], - ['typeof_5fsfr_972',['TYPEOF_SFR',['../typeof_8h.html#aae32132bbca6df6423182122d95b00cd',1,'typeof.h']]], - ['typeof_5fshort_973',['TYPEOF_SHORT',['../typeof_8h.html#a58af351d7955729a79e425a88bf86bab',1,'typeof.h']]], - ['typeof_5fstruct_974',['TYPEOF_STRUCT',['../typeof_8h.html#a4f9ce6ed9178ad58f706e74cd8c24e1f',1,'typeof.h']]], - ['typeof_5fvoid_975',['TYPEOF_VOID',['../typeof_8h.html#a03582306431a63d84cc721132ed683c8',1,'typeof.h']]], - ['types_2eh_976',['types.h',['../asm_2gbz80_2types_8h.html',1,'(Global Namespace)'],['../asm_2types_8h.html',1,'(Global Namespace)'],['../asm_2z80_2types_8h.html',1,'(Global Namespace)'],['../types_8h.html',1,'(Global Namespace)']]] + ['toolchain_20settings_965',['Toolchain settings',['../docs_toolchain_settings.html',1,'index']]], + ['tac_5freg_966',['TAC_REG',['../gb_2hardware_8h.html#a659173ac2c8da7fd04bc77973eb95256',1,'hardware.h']]], + ['tacf_5f16khz_967',['TACF_16KHZ',['../gb_2hardware_8h.html#a7d2c165347d3bb3e3a54fad73e1f363e',1,'hardware.h']]], + ['tacf_5f262khz_968',['TACF_262KHZ',['../gb_2hardware_8h.html#ac00b1e90d257b756845da578f4c3f3ba',1,'hardware.h']]], + ['tacf_5f4khz_969',['TACF_4KHZ',['../gb_2hardware_8h.html#a19dce313b521aad75756abfc19bc9e78',1,'hardware.h']]], + ['tacf_5f65khz_970',['TACF_65KHZ',['../gb_2hardware_8h.html#a8be2b577af91deed7b8946b500e73319',1,'hardware.h']]], + ['tacf_5fstart_971',['TACF_START',['../gb_2hardware_8h.html#a07863a535e0aaa11b73608d7430dbc0a',1,'hardware.h']]], + ['tacf_5fstop_972',['TACF_STOP',['../gb_2hardware_8h.html#a9179fd1ba4626627567b9478f691e653',1,'hardware.h']]], + ['tile_973',['tile',['../struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6',1,'OAM_item_t']]], + ['tim_5fiflag_974',['TIM_IFLAG',['../gb_8h.html#a604256210ec5b90b68185e1a18efab49',1,'TIM_IFLAG(): gb.h'],['../sms_8h.html#a604256210ec5b90b68185e1a18efab49',1,'TIM_IFLAG(): sms.h']]], + ['tima_5freg_975',['TIMA_REG',['../gb_2hardware_8h.html#a9d295bb437953de5ebcb3c12d65743aa',1,'hardware.h']]], + ['time_976',['time',['../time_8h.html#ae7841e681c8c9d59818568d39553642c',1,'time.h']]], + ['time_2eh_977',['time.h',['../time_8h.html',1,'']]], + ['time_5ft_978',['time_t',['../time_8h.html#ac84921d4d15eedac7d7b8051a7944c84',1,'time.h']]], + ['tma_5freg_979',['TMA_REG',['../gb_2hardware_8h.html#a39e5a5b9afd2c2ca78de4aba7ccd071c',1,'hardware.h']]], + ['to_5ffar_5fptr_980',['to_far_ptr',['../far__ptr_8h.html#a23ab15f7eb85a48d72f717183badb110',1,'to_far_ptr(void *ofs, uint16_t seg) OLDCALL: far_ptr.h'],['../far__ptr_8h.html#a0c227677a96f9bf7e84a90922f2f8708',1,'TO_FAR_PTR(): far_ptr.h']]], + ['todo_20list_981',['Todo List',['../todo.html',1,'']]], + ['tolower_982',['tolower',['../ctype_8h.html#a207391fc2c5fa7786d5e0b9ef8ba5e80',1,'ctype.h']]], + ['toupper_983',['toupper',['../ctype_8h.html#a811b7a0d5194feaccfacf8a7f02bb9c3',1,'ctype.h']]], + ['true_984',['TRUE',['../types_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d',1,'TRUE(): types.h'],['../stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7',1,'true(): stdbool.h']]], + ['typeof_2eh_985',['typeof.h',['../typeof_8h.html',1,'']]], + ['typeof_5farray_986',['TYPEOF_ARRAY',['../typeof_8h.html#ac627e9a5f9b283cb8904d73c941f1896',1,'typeof.h']]], + ['typeof_5fbit_987',['TYPEOF_BIT',['../typeof_8h.html#a5b91f9d826e3c5c6873bc86cdce3d517',1,'typeof.h']]], + ['typeof_5fbitfield_988',['TYPEOF_BITFIELD',['../typeof_8h.html#a5b9f605bb8dcac27ddfab4e9a8c9a2ca',1,'typeof.h']]], + ['typeof_5fchar_989',['TYPEOF_CHAR',['../typeof_8h.html#ae042a4e85033237ee9fbc1af3cac7025',1,'typeof.h']]], + ['typeof_5fcpointer_990',['TYPEOF_CPOINTER',['../typeof_8h.html#a6131cee0fe0abf1cf2fcfcec830535d4',1,'typeof.h']]], + ['typeof_5feeppointer_991',['TYPEOF_EEPPOINTER',['../typeof_8h.html#a73d0c1f1fc515b199acb5631f8a16898',1,'typeof.h']]], + ['typeof_5ffixed16x16_992',['TYPEOF_FIXED16X16',['../typeof_8h.html#a709c014873866243abc0275099f676f5',1,'typeof.h']]], + ['typeof_5ffloat_993',['TYPEOF_FLOAT',['../typeof_8h.html#a3d694a422fb7a54f15ddf1c9749567f7',1,'typeof.h']]], + ['typeof_5ffpointer_994',['TYPEOF_FPOINTER',['../typeof_8h.html#a5301fd3500fb9f9454a17f9d4c5d0e8c',1,'typeof.h']]], + ['typeof_5ffunction_995',['TYPEOF_FUNCTION',['../typeof_8h.html#a3adf36b394d11d9b35f45ad8c4544670',1,'typeof.h']]], + ['typeof_5fgpointer_996',['TYPEOF_GPOINTER',['../typeof_8h.html#adbec06ba3e6f0e2dcbefd788978f9ad6',1,'typeof.h']]], + ['typeof_5fint_997',['TYPEOF_INT',['../typeof_8h.html#a4bb94b94304a21b7bd462be44f9d197a',1,'typeof.h']]], + ['typeof_5fipointer_998',['TYPEOF_IPOINTER',['../typeof_8h.html#aa56dfc698692fb3f2d64c1a4b192f9c0',1,'typeof.h']]], + ['typeof_5flong_999',['TYPEOF_LONG',['../typeof_8h.html#ab4833544b1f4060806106baa0eb916e6',1,'typeof.h']]], + ['typeof_5fpointer_1000',['TYPEOF_POINTER',['../typeof_8h.html#a2541fdaacae83bbcc99dcedf464c7c94',1,'typeof.h']]], + ['typeof_5fppointer_1001',['TYPEOF_PPOINTER',['../typeof_8h.html#ad38c6e5ceee5c5fe3703690fc32b23ae',1,'typeof.h']]], + ['typeof_5fsbit_1002',['TYPEOF_SBIT',['../typeof_8h.html#a09fcac98c1e69b32ea223eada74e30bd',1,'typeof.h']]], + ['typeof_5fsfr_1003',['TYPEOF_SFR',['../typeof_8h.html#aae32132bbca6df6423182122d95b00cd',1,'typeof.h']]], + ['typeof_5fshort_1004',['TYPEOF_SHORT',['../typeof_8h.html#a58af351d7955729a79e425a88bf86bab',1,'typeof.h']]], + ['typeof_5fstruct_1005',['TYPEOF_STRUCT',['../typeof_8h.html#a4f9ce6ed9178ad58f706e74cd8c24e1f',1,'typeof.h']]], + ['typeof_5fvoid_1006',['TYPEOF_VOID',['../typeof_8h.html#a03582306431a63d84cc721132ed683c8',1,'typeof.h']]], + ['types_2eh_1007',['types.h',['../asm_2gbz80_2types_8h.html',1,'(Global Namespace)'],['../asm_2types_8h.html',1,'(Global Namespace)'],['../asm_2z80_2types_8h.html',1,'(Global Namespace)'],['../types_8h.html',1,'(Global Namespace)']]] ]; diff --git a/docs/api/search/all_18.js b/docs/api/search/all_18.js @@ -1,51 +1,51 @@ var searchData= [ - ['using_20gbdk_977',['Using GBDK',['../docs_using_gbdk.html',1,'index']]], - ['ubyte_978',['UBYTE',['../asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95',1,'types.h']]], - ['uchar_5fmax_979',['UCHAR_MAX',['../limits_8h.html#a4066e640ee269d5d8f83ff6643b7af5f',1,'limits.h']]], - ['udword_980',['UDWORD',['../asm_2types_8h.html#a332730c89876a91d3c98a6c9a764e23e',1,'types.h']]], - ['uint16_981',['UINT16',['../asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b',1,'UINT16(): types.h'],['../asm_2z80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b',1,'UINT16(): types.h']]], - ['uint16_5fc_982',['UINT16_C',['../stdint_8h.html#af525dddf7f072ee85c953107123ff1f6',1,'stdint.h']]], - ['uint16_5fmax_983',['UINT16_MAX',['../stdint_8h.html#a3ea490c9b3617d4479bd80ef93cd5602',1,'stdint.h']]], - ['uint16_5ft_984',['uint16_t',['../stdint_8h.html#adf4d876453337156dde61095e1f20223',1,'stdint.h']]], - ['uint2bcd_985',['uint2bcd',['../bcd_8h.html#af3d125e9dbb48d630cf7e2f7d1343ba1',1,'bcd.h']]], - ['uint32_986',['UINT32',['../asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e',1,'UINT32(): types.h'],['../asm_2z80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e',1,'UINT32(): types.h']]], - ['uint32_5fc_987',['UINT32_C',['../stdint_8h.html#a87b9ec7df1524edf020b074bbae32d6d',1,'stdint.h']]], - ['uint32_5fmax_988',['UINT32_MAX',['../stdint_8h.html#ab5eb23180f7cc12b7d6c04a8ec067fdd',1,'stdint.h']]], - ['uint32_5ft_989',['uint32_t',['../stdint_8h.html#a33594304e786b158f3fb30289278f5af',1,'stdint.h']]], - ['uint8_990',['UINT8',['../asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a',1,'UINT8(): types.h'],['../asm_2z80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a',1,'UINT8(): types.h']]], - ['uint8_5fc_991',['UINT8_C',['../stdint_8h.html#af77373faf472a16283aad2014724192d',1,'stdint.h']]], - ['uint8_5fmax_992',['UINT8_MAX',['../stdint_8h.html#aeb4e270a084ee26fe73e799861bd0252',1,'stdint.h']]], - ['uint8_5ft_993',['uint8_t',['../stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5',1,'stdint.h']]], - ['uint_5ffast16_5fmax_994',['UINT_FAST16_MAX',['../stdint_8h.html#aed28ca63d9b222f6f1377358fe73a183',1,'stdint.h']]], - ['uint_5ffast16_5ft_995',['uint_fast16_t',['../stdint_8h.html#a226d967fb6d06433caf43f20dc876aae',1,'stdint.h']]], - ['uint_5ffast32_5fmax_996',['UINT_FAST32_MAX',['../stdint_8h.html#ad51246a178143208b2db3315efd21c45',1,'stdint.h']]], - ['uint_5ffast32_5ft_997',['uint_fast32_t',['../stdint_8h.html#a8a5d6c5353ff297fd0797e654772361b',1,'stdint.h']]], - ['uint_5ffast8_5fmax_998',['UINT_FAST8_MAX',['../stdint_8h.html#a2c6f97ea2d76d0cf6260c84046cdb44e',1,'stdint.h']]], - ['uint_5ffast8_5ft_999',['uint_fast8_t',['../stdint_8h.html#a2d31063fef649c85396fb28130ef9795',1,'stdint.h']]], - ['uint_5fleast16_5fmax_1000',['UINT_LEAST16_MAX',['../stdint_8h.html#a6ef6a1a518bbf516ca8b0180b11c358f',1,'stdint.h']]], - ['uint_5fleast16_5ft_1001',['uint_least16_t',['../stdint_8h.html#a1bae72af13d35bac8eb9424db7e27bf1',1,'stdint.h']]], - ['uint_5fleast32_5fmax_1002',['UINT_LEAST32_MAX',['../stdint_8h.html#a70cad8bacc9a6db301e1cdc86cc8d571',1,'stdint.h']]], - ['uint_5fleast32_5ft_1003',['uint_least32_t',['../stdint_8h.html#a1c0bb513299dbdffa1cce4277593b3ce',1,'stdint.h']]], - ['uint_5fleast8_5fmax_1004',['UINT_LEAST8_MAX',['../stdint_8h.html#a2a80bde77ee1698d0f42f334adad4f2b',1,'stdint.h']]], - ['uint_5fleast8_5ft_1005',['uint_least8_t',['../stdint_8h.html#ab0fdd2a9dc9606590ecccc0a5d8b5b7c',1,'stdint.h']]], - ['uint_5fmax_1006',['UINT_MAX',['../limits_8h.html#ac998ea02fbd821fc123d60445ce76f38',1,'limits.h']]], - ['uint_5fmin_1007',['UINT_MIN',['../limits_8h.html#a4c5cca78586f61bea3640a1563a43819',1,'limits.h']]], - ['uintmax_5fc_1008',['UINTMAX_C',['../stdint_8h.html#a00d3f5dd8a8cbd9433d74390bfb2ecef',1,'stdint.h']]], - ['uintmax_5fmax_1009',['UINTMAX_MAX',['../stdint_8h.html#aa54fd5210434219e9027bfa0f0e325c8',1,'stdint.h']]], - ['uintmax_5ft_1010',['uintmax_t',['../stdint_8h.html#a21649560c6e8dce6de2fb6a95f1bf802',1,'stdint.h']]], - ['uintptr_5fmax_1011',['UINTPTR_MAX',['../stdint_8h.html#ab2355300ea19395357e62d780f4dd073',1,'stdint.h']]], - ['uintptr_5ft_1012',['uintptr_t',['../stdint_8h.html#a728e973c799f206f0151c8a3bd1e5699',1,'stdint.h']]], - ['uitoa_1013',['uitoa',['../stdlib_8h.html#a38c070016cb06132360cfa5bacc2ed19',1,'stdlib.h']]], - ['ulong_5fmax_1014',['ULONG_MAX',['../limits_8h.html#a41c51926a1997aab3503f9083935e06c',1,'limits.h']]], - ['ulong_5fmin_1015',['ULONG_MIN',['../limits_8h.html#a174a3b1d61499b676a2ad2efc8f224c5',1,'limits.h']]], - ['ultoa_1016',['ultoa',['../stdlib_8h.html#ac22b79fe0c1279eabc3daf57328008d2',1,'stdlib.h']]], - ['ulword_1017',['ULWORD',['../asm_2types_8h.html#a91374712e986ede0145415318d88fbd8',1,'types.h']]], - ['unsigned_1018',['UNSIGNED',['../drawing_8h.html#a08cbc66092284f7da94279f986a0aae9',1,'drawing.h']]], - ['use_5fc_5fmemcpy_1019',['USE_C_MEMCPY',['../gbz80_2provides_8h.html#a9dd4f1ec2939e7beb7ef40e350cbba47',1,'USE_C_MEMCPY(): provides.h'],['../z80_2provides_8h.html#a9dd4f1ec2939e7beb7ef40e350cbba47',1,'USE_C_MEMCPY(): provides.h']]], - ['use_5fc_5fstrcmp_1020',['USE_C_STRCMP',['../gbz80_2provides_8h.html#a809a7bd0afcfb7500b5108a9e976b85c',1,'USE_C_STRCMP(): provides.h'],['../z80_2provides_8h.html#a809a7bd0afcfb7500b5108a9e976b85c',1,'USE_C_STRCMP(): provides.h']]], - ['use_5fc_5fstrcpy_1021',['USE_C_STRCPY',['../gbz80_2provides_8h.html#ac6678abba8f5929bc8b33f3202e568f0',1,'USE_C_STRCPY(): provides.h'],['../z80_2provides_8h.html#ac6678abba8f5929bc8b33f3202e568f0',1,'USE_C_STRCPY(): provides.h']]], - ['ushrt_5fmax_1022',['USHRT_MAX',['../limits_8h.html#a689b119da994dece91d44b5aeac643ed',1,'limits.h']]], - ['ushrt_5fmin_1023',['USHRT_MIN',['../limits_8h.html#a57f617d9cf5cce12e8499f7512ebd948',1,'limits.h']]], - ['uword_1024',['UWORD',['../asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75',1,'types.h']]] + ['using_20gbdk_1008',['Using GBDK',['../docs_using_gbdk.html',1,'index']]], + ['ubyte_1009',['UBYTE',['../asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95',1,'types.h']]], + ['uchar_5fmax_1010',['UCHAR_MAX',['../limits_8h.html#a4066e640ee269d5d8f83ff6643b7af5f',1,'limits.h']]], + ['udword_1011',['UDWORD',['../asm_2types_8h.html#a332730c89876a91d3c98a6c9a764e23e',1,'types.h']]], + ['uint16_1012',['UINT16',['../asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b',1,'UINT16(): types.h'],['../asm_2z80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b',1,'UINT16(): types.h']]], + ['uint16_5fc_1013',['UINT16_C',['../stdint_8h.html#af525dddf7f072ee85c953107123ff1f6',1,'stdint.h']]], + ['uint16_5fmax_1014',['UINT16_MAX',['../stdint_8h.html#a3ea490c9b3617d4479bd80ef93cd5602',1,'stdint.h']]], + ['uint16_5ft_1015',['uint16_t',['../stdint_8h.html#adf4d876453337156dde61095e1f20223',1,'stdint.h']]], + ['uint2bcd_1016',['uint2bcd',['../bcd_8h.html#af3d125e9dbb48d630cf7e2f7d1343ba1',1,'bcd.h']]], + ['uint32_1017',['UINT32',['../asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e',1,'UINT32(): types.h'],['../asm_2z80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e',1,'UINT32(): types.h']]], + ['uint32_5fc_1018',['UINT32_C',['../stdint_8h.html#a87b9ec7df1524edf020b074bbae32d6d',1,'stdint.h']]], + ['uint32_5fmax_1019',['UINT32_MAX',['../stdint_8h.html#ab5eb23180f7cc12b7d6c04a8ec067fdd',1,'stdint.h']]], + ['uint32_5ft_1020',['uint32_t',['../stdint_8h.html#a33594304e786b158f3fb30289278f5af',1,'stdint.h']]], + ['uint8_1021',['UINT8',['../asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a',1,'UINT8(): types.h'],['../asm_2z80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a',1,'UINT8(): types.h']]], + ['uint8_5fc_1022',['UINT8_C',['../stdint_8h.html#af77373faf472a16283aad2014724192d',1,'stdint.h']]], + ['uint8_5fmax_1023',['UINT8_MAX',['../stdint_8h.html#aeb4e270a084ee26fe73e799861bd0252',1,'stdint.h']]], + ['uint8_5ft_1024',['uint8_t',['../stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5',1,'stdint.h']]], + ['uint_5ffast16_5fmax_1025',['UINT_FAST16_MAX',['../stdint_8h.html#aed28ca63d9b222f6f1377358fe73a183',1,'stdint.h']]], + ['uint_5ffast16_5ft_1026',['uint_fast16_t',['../stdint_8h.html#a226d967fb6d06433caf43f20dc876aae',1,'stdint.h']]], + ['uint_5ffast32_5fmax_1027',['UINT_FAST32_MAX',['../stdint_8h.html#ad51246a178143208b2db3315efd21c45',1,'stdint.h']]], + ['uint_5ffast32_5ft_1028',['uint_fast32_t',['../stdint_8h.html#a8a5d6c5353ff297fd0797e654772361b',1,'stdint.h']]], + ['uint_5ffast8_5fmax_1029',['UINT_FAST8_MAX',['../stdint_8h.html#a2c6f97ea2d76d0cf6260c84046cdb44e',1,'stdint.h']]], + ['uint_5ffast8_5ft_1030',['uint_fast8_t',['../stdint_8h.html#a2d31063fef649c85396fb28130ef9795',1,'stdint.h']]], + ['uint_5fleast16_5fmax_1031',['UINT_LEAST16_MAX',['../stdint_8h.html#a6ef6a1a518bbf516ca8b0180b11c358f',1,'stdint.h']]], + ['uint_5fleast16_5ft_1032',['uint_least16_t',['../stdint_8h.html#a1bae72af13d35bac8eb9424db7e27bf1',1,'stdint.h']]], + ['uint_5fleast32_5fmax_1033',['UINT_LEAST32_MAX',['../stdint_8h.html#a70cad8bacc9a6db301e1cdc86cc8d571',1,'stdint.h']]], + ['uint_5fleast32_5ft_1034',['uint_least32_t',['../stdint_8h.html#a1c0bb513299dbdffa1cce4277593b3ce',1,'stdint.h']]], + ['uint_5fleast8_5fmax_1035',['UINT_LEAST8_MAX',['../stdint_8h.html#a2a80bde77ee1698d0f42f334adad4f2b',1,'stdint.h']]], + ['uint_5fleast8_5ft_1036',['uint_least8_t',['../stdint_8h.html#ab0fdd2a9dc9606590ecccc0a5d8b5b7c',1,'stdint.h']]], + ['uint_5fmax_1037',['UINT_MAX',['../limits_8h.html#ac998ea02fbd821fc123d60445ce76f38',1,'limits.h']]], + ['uint_5fmin_1038',['UINT_MIN',['../limits_8h.html#a4c5cca78586f61bea3640a1563a43819',1,'limits.h']]], + ['uintmax_5fc_1039',['UINTMAX_C',['../stdint_8h.html#a00d3f5dd8a8cbd9433d74390bfb2ecef',1,'stdint.h']]], + ['uintmax_5fmax_1040',['UINTMAX_MAX',['../stdint_8h.html#aa54fd5210434219e9027bfa0f0e325c8',1,'stdint.h']]], + ['uintmax_5ft_1041',['uintmax_t',['../stdint_8h.html#a21649560c6e8dce6de2fb6a95f1bf802',1,'stdint.h']]], + ['uintptr_5fmax_1042',['UINTPTR_MAX',['../stdint_8h.html#ab2355300ea19395357e62d780f4dd073',1,'stdint.h']]], + ['uintptr_5ft_1043',['uintptr_t',['../stdint_8h.html#a728e973c799f206f0151c8a3bd1e5699',1,'stdint.h']]], + ['uitoa_1044',['uitoa',['../stdlib_8h.html#a38c070016cb06132360cfa5bacc2ed19',1,'stdlib.h']]], + ['ulong_5fmax_1045',['ULONG_MAX',['../limits_8h.html#a41c51926a1997aab3503f9083935e06c',1,'limits.h']]], + ['ulong_5fmin_1046',['ULONG_MIN',['../limits_8h.html#a174a3b1d61499b676a2ad2efc8f224c5',1,'limits.h']]], + ['ultoa_1047',['ultoa',['../stdlib_8h.html#ac22b79fe0c1279eabc3daf57328008d2',1,'stdlib.h']]], + ['ulword_1048',['ULWORD',['../asm_2types_8h.html#a91374712e986ede0145415318d88fbd8',1,'types.h']]], + ['unsigned_1049',['UNSIGNED',['../drawing_8h.html#a08cbc66092284f7da94279f986a0aae9',1,'drawing.h']]], + ['use_5fc_5fmemcpy_1050',['USE_C_MEMCPY',['../gbz80_2provides_8h.html#a9dd4f1ec2939e7beb7ef40e350cbba47',1,'USE_C_MEMCPY(): provides.h'],['../z80_2provides_8h.html#a9dd4f1ec2939e7beb7ef40e350cbba47',1,'USE_C_MEMCPY(): provides.h']]], + ['use_5fc_5fstrcmp_1051',['USE_C_STRCMP',['../gbz80_2provides_8h.html#a809a7bd0afcfb7500b5108a9e976b85c',1,'USE_C_STRCMP(): provides.h'],['../z80_2provides_8h.html#a809a7bd0afcfb7500b5108a9e976b85c',1,'USE_C_STRCMP(): provides.h']]], + ['use_5fc_5fstrcpy_1052',['USE_C_STRCPY',['../gbz80_2provides_8h.html#ac6678abba8f5929bc8b33f3202e568f0',1,'USE_C_STRCPY(): provides.h'],['../z80_2provides_8h.html#ac6678abba8f5929bc8b33f3202e568f0',1,'USE_C_STRCPY(): provides.h']]], + ['ushrt_5fmax_1053',['USHRT_MAX',['../limits_8h.html#a689b119da994dece91d44b5aeac643ed',1,'limits.h']]], + ['ushrt_5fmin_1054',['USHRT_MIN',['../limits_8h.html#a57f617d9cf5cce12e8499f7512ebd948',1,'limits.h']]], + ['uword_1055',['UWORD',['../asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75',1,'types.h']]] ]; diff --git a/docs/api/search/all_19.js b/docs/api/search/all_19.js @@ -1,33 +1,33 @@ var searchData= [ - ['va_5farg_1025',['va_arg',['../asm_2gbz80_2stdarg_8h.html#af4d89980b2bdeb5b37bbaa323d108bbc',1,'va_arg(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#af4d89980b2bdeb5b37bbaa323d108bbc',1,'va_arg(): stdarg.h']]], - ['va_5fend_1026',['va_end',['../asm_2gbz80_2stdarg_8h.html#aa042dbf8cc345b3a522d6f706a78ddbd',1,'va_end(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#aa042dbf8cc345b3a522d6f706a78ddbd',1,'va_end(): stdarg.h']]], - ['va_5flist_1027',['va_list',['../asm_2gbz80_2stdarg_8h.html#a90f5a53cfeaf133c17cd213633060737',1,'va_list(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#a90f5a53cfeaf133c17cd213633060737',1,'va_list(): stdarg.h']]], - ['va_5fstart_1028',['va_start',['../asm_2gbz80_2stdarg_8h.html#aa385efb7a67df5acc5e06cf3bdc8802f',1,'va_start(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#aa385efb7a67df5acc5e06cf3bdc8802f',1,'va_start(): stdarg.h']]], - ['vbk_5freg_1029',['VBK_REG',['../sms_8h.html#a6bc34abf062d8e3be88170ac106f197f',1,'VBK_REG(): sms.h'],['../gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a',1,'VBK_REG(): hardware.h']]], - ['vbl_5fiflag_1030',['VBL_IFLAG',['../gb_8h.html#a2ca7720b9a5da9b2173e1f74dba85541',1,'VBL_IFLAG(): gb.h'],['../sms_8h.html#a2ca7720b9a5da9b2173e1f74dba85541',1,'VBL_IFLAG(): sms.h']]], - ['vdp_5fattr_5fshift_1031',['VDP_ATTR_SHIFT',['../sms_2hardware_8h.html#a019bf78a6d586c987aec03af8d20e02f',1,'hardware.h']]], - ['vdp_5fr0_1032',['VDP_R0',['../sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6',1,'hardware.h']]], - ['vdp_5fr1_1033',['VDP_R1',['../sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d',1,'hardware.h']]], - ['vdp_5fr10_1034',['VDP_R10',['../sms_2hardware_8h.html#a1049d2a3f634380f4dffff619334a504',1,'hardware.h']]], - ['vdp_5fr2_1035',['VDP_R2',['../sms_2hardware_8h.html#a2c9f91fcf2aad494a80e967f0c4bb414',1,'hardware.h']]], - ['vdp_5fr3_1036',['VDP_R3',['../sms_2hardware_8h.html#a2a58ae82037e16756404df4820a23f47',1,'hardware.h']]], - ['vdp_5fr4_1037',['VDP_R4',['../sms_2hardware_8h.html#a5d1f215594c86a9e3d670f5a7f89e301',1,'hardware.h']]], - ['vdp_5fr5_1038',['VDP_R5',['../sms_2hardware_8h.html#a75e2c9878fe4cc7c86f71d8e8fa09924',1,'hardware.h']]], - ['vdp_5fr6_1039',['VDP_R6',['../sms_2hardware_8h.html#a81ae7462829d0fcc65c3c99194a68772',1,'hardware.h']]], - ['vdp_5fr7_1040',['VDP_R7',['../sms_2hardware_8h.html#aa82ab1c04cff3363327f3309d09ae638',1,'hardware.h']]], - ['vdp_5fr8_1041',['VDP_R8',['../sms_2hardware_8h.html#a3cb38487469808e023fcb331c180c4b9',1,'hardware.h']]], - ['vdp_5fr9_1042',['VDP_R9',['../sms_2hardware_8h.html#a294388f3d14b6fec1f1bbeafc7d0f91e',1,'hardware.h']]], - ['vdp_5frborder_1043',['VDP_RBORDER',['../sms_2hardware_8h.html#abef00e3cae6f12d97973b318ebbf9737',1,'hardware.h']]], - ['vdp_5freg_5fmask_1044',['VDP_REG_MASK',['../sms_2hardware_8h.html#a99ca7572e3708ffed188359799045b19',1,'hardware.h']]], - ['vdp_5frscx_1045',['VDP_RSCX',['../sms_2hardware_8h.html#a9c49833bc96a70b8972027d28c816d2f',1,'hardware.h']]], - ['vdp_5frscy_1046',['VDP_RSCY',['../sms_2hardware_8h.html#a3cce162b45d638126c478c5b6f7bcbc7',1,'hardware.h']]], - ['vdp_5fsat_5fterm_1047',['VDP_SAT_TERM',['../sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c',1,'hardware.h']]], - ['vector_5fjoypad_1048',['VECTOR_JOYPAD',['../isr_8h.html#ac93f10ff354ca76f4030f64a8496303f',1,'isr.h']]], - ['vector_5fserial_1049',['VECTOR_SERIAL',['../isr_8h.html#a9c51a56a79576c33fcc98579bf7153a1',1,'isr.h']]], - ['vector_5fstat_1050',['VECTOR_STAT',['../isr_8h.html#a2cf2cba8468992868fe1f6b6448ffae2',1,'isr.h']]], - ['vector_5ftimer_1051',['VECTOR_TIMER',['../isr_8h.html#a84ca82d76186433c1ec77fde7652b827',1,'isr.h']]], - ['version_2eh_1052',['version.h',['../version_8h.html',1,'']]], - ['vmemcpy_1053',['vmemcpy',['../gb_8h.html#ac9f0aa82f8e34812a406263aad57d4d9',1,'vmemcpy(uint8_t *dest, uint8_t *sour, uint16_t len) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#aee5c510efbda6e44f987088aa14d3482',1,'vmemcpy(uint16_t dst, const void *src, uint16_t size) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['vmemset_1054',['vmemset',['../gb_8h.html#abb54953bdb190aa0bb76724ae3d5d214',1,'gb.h']]] + ['va_5farg_1056',['va_arg',['../asm_2gbz80_2stdarg_8h.html#af4d89980b2bdeb5b37bbaa323d108bbc',1,'va_arg(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#af4d89980b2bdeb5b37bbaa323d108bbc',1,'va_arg(): stdarg.h']]], + ['va_5fend_1057',['va_end',['../asm_2gbz80_2stdarg_8h.html#aa042dbf8cc345b3a522d6f706a78ddbd',1,'va_end(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#aa042dbf8cc345b3a522d6f706a78ddbd',1,'va_end(): stdarg.h']]], + ['va_5flist_1058',['va_list',['../asm_2gbz80_2stdarg_8h.html#a90f5a53cfeaf133c17cd213633060737',1,'va_list(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#a90f5a53cfeaf133c17cd213633060737',1,'va_list(): stdarg.h']]], + ['va_5fstart_1059',['va_start',['../asm_2gbz80_2stdarg_8h.html#aa385efb7a67df5acc5e06cf3bdc8802f',1,'va_start(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#aa385efb7a67df5acc5e06cf3bdc8802f',1,'va_start(): stdarg.h']]], + ['vbk_5freg_1060',['VBK_REG',['../sms_8h.html#a6bc34abf062d8e3be88170ac106f197f',1,'VBK_REG(): sms.h'],['../gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a',1,'VBK_REG(): hardware.h']]], + ['vbl_5fiflag_1061',['VBL_IFLAG',['../gb_8h.html#a2ca7720b9a5da9b2173e1f74dba85541',1,'VBL_IFLAG(): gb.h'],['../sms_8h.html#a2ca7720b9a5da9b2173e1f74dba85541',1,'VBL_IFLAG(): sms.h']]], + ['vdp_5fattr_5fshift_1062',['VDP_ATTR_SHIFT',['../sms_2hardware_8h.html#a019bf78a6d586c987aec03af8d20e02f',1,'hardware.h']]], + ['vdp_5fr0_1063',['VDP_R0',['../sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6',1,'hardware.h']]], + ['vdp_5fr1_1064',['VDP_R1',['../sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d',1,'hardware.h']]], + ['vdp_5fr10_1065',['VDP_R10',['../sms_2hardware_8h.html#a1049d2a3f634380f4dffff619334a504',1,'hardware.h']]], + ['vdp_5fr2_1066',['VDP_R2',['../sms_2hardware_8h.html#a2c9f91fcf2aad494a80e967f0c4bb414',1,'hardware.h']]], + ['vdp_5fr3_1067',['VDP_R3',['../sms_2hardware_8h.html#a2a58ae82037e16756404df4820a23f47',1,'hardware.h']]], + ['vdp_5fr4_1068',['VDP_R4',['../sms_2hardware_8h.html#a5d1f215594c86a9e3d670f5a7f89e301',1,'hardware.h']]], + ['vdp_5fr5_1069',['VDP_R5',['../sms_2hardware_8h.html#a75e2c9878fe4cc7c86f71d8e8fa09924',1,'hardware.h']]], + ['vdp_5fr6_1070',['VDP_R6',['../sms_2hardware_8h.html#a81ae7462829d0fcc65c3c99194a68772',1,'hardware.h']]], + ['vdp_5fr7_1071',['VDP_R7',['../sms_2hardware_8h.html#aa82ab1c04cff3363327f3309d09ae638',1,'hardware.h']]], + ['vdp_5fr8_1072',['VDP_R8',['../sms_2hardware_8h.html#a3cb38487469808e023fcb331c180c4b9',1,'hardware.h']]], + ['vdp_5fr9_1073',['VDP_R9',['../sms_2hardware_8h.html#a294388f3d14b6fec1f1bbeafc7d0f91e',1,'hardware.h']]], + ['vdp_5frborder_1074',['VDP_RBORDER',['../sms_2hardware_8h.html#abef00e3cae6f12d97973b318ebbf9737',1,'hardware.h']]], + ['vdp_5freg_5fmask_1075',['VDP_REG_MASK',['../sms_2hardware_8h.html#a99ca7572e3708ffed188359799045b19',1,'hardware.h']]], + ['vdp_5frscx_1076',['VDP_RSCX',['../sms_2hardware_8h.html#a9c49833bc96a70b8972027d28c816d2f',1,'hardware.h']]], + ['vdp_5frscy_1077',['VDP_RSCY',['../sms_2hardware_8h.html#a3cce162b45d638126c478c5b6f7bcbc7',1,'hardware.h']]], + ['vdp_5fsat_5fterm_1078',['VDP_SAT_TERM',['../sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c',1,'hardware.h']]], + ['vector_5fjoypad_1079',['VECTOR_JOYPAD',['../isr_8h.html#ac93f10ff354ca76f4030f64a8496303f',1,'isr.h']]], + ['vector_5fserial_1080',['VECTOR_SERIAL',['../isr_8h.html#a9c51a56a79576c33fcc98579bf7153a1',1,'isr.h']]], + ['vector_5fstat_1081',['VECTOR_STAT',['../isr_8h.html#a2cf2cba8468992868fe1f6b6448ffae2',1,'isr.h']]], + ['vector_5ftimer_1082',['VECTOR_TIMER',['../isr_8h.html#a84ca82d76186433c1ec77fde7652b827',1,'isr.h']]], + ['version_2eh_1083',['version.h',['../version_8h.html',1,'']]], + ['vmemcpy_1084',['vmemcpy',['../gb_8h.html#a36f9e5d95c2d7d58f203b5ac358e25e7',1,'vmemcpy(uint8_t *dest, uint8_t *sour, uint16_t len) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a33a749b14dfbd203c460e8d7f3500636',1,'vmemcpy(uint16_t dst, const void *src, uint16_t size) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['vmemset_1085',['vmemset',['../gb_8h.html#a97bab71effd5e4e386629cb6ca5816cf',1,'gb.h']]] ]; diff --git a/docs/api/search/all_1a.js b/docs/api/search/all_1a.js @@ -1,20 +1,20 @@ var searchData= [ - ['w_1055',['w',['../union__fixed.html#ab16f9fd51f817308d109b9b35866f310',1,'_fixed']]], - ['wait_5fint_5fhandler_1056',['wait_int_handler',['../gb_8h.html#acc9afd0cb72e763a1213d256b942a68f',1,'gb.h']]], - ['wait_5fvbl_5fdone_1057',['wait_vbl_done',['../gb_8h.html#a68346350199018249bdf8019b7131514',1,'wait_vbl_done() __preserves_regs(b: gb.h'],['../sms_8h.html#a68346350199018249bdf8019b7131514',1,'wait_vbl_done() __preserves_regs(b: sms.h']]], - ['waitpad_1058',['waitpad',['../gb_8h.html#ac4f9e19d2834988ff005106b3f5b2f05',1,'waitpad(uint8_t mask) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#aec76b4ab16315eb97846be87b19fea10',1,'waitpad(uint8_t mask) __z88dk_fastcall __preserves_regs(b: sms.h']]], - ['waitpadup_1059',['waitpadup',['../gb_8h.html#a7eeb5f1f697fefdcebd8e68355af4113',1,'waitpadup() __preserves_regs(a: gb.h'],['../sms_8h.html#a35fbfcc0bffc93a47217caff66ca36a7',1,'waitpadup() __preserves_regs(b: sms.h']]], - ['wchar_5fmax_1060',['WCHAR_MAX',['../stdint_8h.html#a2a823f3ccf2306cfbaa34d8addf66010',1,'stdint.h']]], - ['wchar_5fmin_1061',['WCHAR_MIN',['../stdint_8h.html#a051084d5ebcabf282d9ca9bb2b891a78',1,'stdint.h']]], - ['wchar_5ft_1062',['wchar_t',['../stddef_8h.html#a88ca3e0156f8101475a589ae3cbd98c8',1,'stddef.h']]], - ['white_1063',['WHITE',['../drawing_8h.html#a87b537f5fa5c109d3c05c13d6b18f382',1,'drawing.h']]], - ['wint_5fmax_1064',['WINT_MAX',['../stdint_8h.html#ad3f7b6bb8aa7d619017a91d3b2edc1ee',1,'stdint.h']]], - ['wint_5fmin_1065',['WINT_MIN',['../stdint_8h.html#a5285bc55170ae1701e599decacc7f001',1,'stdint.h']]], - ['word_1066',['WORD',['../asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd',1,'types.h']]], - ['write_5fvdp_5fcmd_1067',['WRITE_VDP_CMD',['../sms_8h.html#a4b7af81fec48ca3bee04234b417abaa6',1,'sms.h']]], - ['write_5fvdp_5fdata_1068',['WRITE_VDP_DATA',['../sms_8h.html#af513fcb34dd2aa1e9bc9bf65cb589eee',1,'sms.h']]], - ['wrtchr_1069',['wrtchr',['../drawing_8h.html#a9178e678a17cb08653600f435093ae2a',1,'drawing.h']]], - ['wx_5freg_1070',['WX_REG',['../gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0',1,'hardware.h']]], - ['wy_5freg_1071',['WY_REG',['../gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850',1,'hardware.h']]] + ['w_1086',['w',['../union__fixed.html#ab16f9fd51f817308d109b9b35866f310',1,'_fixed']]], + ['wait_5fint_5fhandler_1087',['wait_int_handler',['../gb_8h.html#acc9afd0cb72e763a1213d256b942a68f',1,'gb.h']]], + ['wait_5fvbl_5fdone_1088',['wait_vbl_done',['../gb_8h.html#acd186eb292d441f9389e77b545a55619',1,'wait_vbl_done() PRESERVES_REGS(b: gb.h'],['../sms_8h.html#acd186eb292d441f9389e77b545a55619',1,'wait_vbl_done() PRESERVES_REGS(b: sms.h']]], + ['waitpad_1089',['waitpad',['../gb_8h.html#aae433db7d8e3ee4c095c254b8abd7b8b',1,'waitpad(uint8_t mask) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a79b565677967da5ef9bf1a00aa6776ce',1,'waitpad(uint8_t mask) Z88DK_FASTCALL PRESERVES_REGS(b: sms.h']]], + ['waitpadup_1090',['waitpadup',['../gb_8h.html#a8484d346b788309ac702b7e0b1fca730',1,'waitpadup() PRESERVES_REGS(a: gb.h'],['../sms_8h.html#a955d3733e5018f18b17a572aff45cf26',1,'waitpadup() PRESERVES_REGS(b: sms.h']]], + ['wchar_5fmax_1091',['WCHAR_MAX',['../stdint_8h.html#a2a823f3ccf2306cfbaa34d8addf66010',1,'stdint.h']]], + ['wchar_5fmin_1092',['WCHAR_MIN',['../stdint_8h.html#a051084d5ebcabf282d9ca9bb2b891a78',1,'stdint.h']]], + ['wchar_5ft_1093',['wchar_t',['../stddef_8h.html#a88ca3e0156f8101475a589ae3cbd98c8',1,'stddef.h']]], + ['white_1094',['WHITE',['../drawing_8h.html#a87b537f5fa5c109d3c05c13d6b18f382',1,'drawing.h']]], + ['wint_5fmax_1095',['WINT_MAX',['../stdint_8h.html#ad3f7b6bb8aa7d619017a91d3b2edc1ee',1,'stdint.h']]], + ['wint_5fmin_1096',['WINT_MIN',['../stdint_8h.html#a5285bc55170ae1701e599decacc7f001',1,'stdint.h']]], + ['word_1097',['WORD',['../asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd',1,'types.h']]], + ['write_5fvdp_5fcmd_1098',['WRITE_VDP_CMD',['../sms_8h.html#a498b148efd22ab8ad9b844b2dc5e5bb8',1,'sms.h']]], + ['write_5fvdp_5fdata_1099',['WRITE_VDP_DATA',['../sms_8h.html#aa2ddf9662320c4a9d00fd4a94d347570',1,'sms.h']]], + ['wrtchr_1100',['wrtchr',['../drawing_8h.html#a9178e678a17cb08653600f435093ae2a',1,'drawing.h']]], + ['wx_5freg_1101',['WX_REG',['../gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0',1,'hardware.h']]], + ['wy_5freg_1102',['WY_REG',['../gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850',1,'hardware.h']]] ]; diff --git a/docs/api/search/all_1b.js b/docs/api/search/all_1b.js @@ -1,5 +1,5 @@ var searchData= [ - ['x_1072',['x',['../struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b',1,'OAM_item_t']]], - ['xor_1073',['XOR',['../drawing_8h.html#a45cd11034d1a7d86c3a88d36f5e7f1ab',1,'drawing.h']]] + ['x_1103',['x',['../struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b',1,'OAM_item_t']]], + ['xor_1104',['XOR',['../drawing_8h.html#a45cd11034d1a7d86c3a88d36f5e7f1ab',1,'drawing.h']]] ]; diff --git a/docs/api/search/all_1c.js b/docs/api/search/all_1c.js @@ -1,4 +1,4 @@ var searchData= [ - ['y_1074',['y',['../struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18',1,'OAM_item_t']]] + ['y_1105',['y',['../struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18',1,'OAM_item_t']]] ]; diff --git a/docs/api/search/all_1d.html b/docs/api/search/all_1d.html @@ -0,0 +1,36 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.20"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="all_1d.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +createResults(); +/* @license-end */ +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +window.addEventListener("message", function(event) { + if (event.data == "take_focus") { + var elem = searchResults.NavNext(0); + if (elem) elem.focus(); + } +}); +/* @license-end */ +--></script> +</div> +</body> +</html> diff --git a/docs/api/search/all_1d.js b/docs/api/search/all_1d.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['z88dk_5fcallee_1106',['Z88DK_CALLEE',['../asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a',1,'types.h']]], + ['z88dk_5ffastcall_1107',['Z88DK_FASTCALL',['../asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1',1,'types.h']]] +]; diff --git a/docs/api/search/all_3.js b/docs/api/search/all_3.js @@ -14,38 +14,41 @@ var searchData= ['_5f_5fgbdk_5fversion_23',['__GBDK_VERSION',['../version_8h.html#a459449876dfba6299bf055c882d78334',1,'version.h']]], ['_5f_5fhandlecrash_24',['__HandleCrash',['../crash__handler_8h.html#a95aa98ab16e49eac55dcdfe42f4610cc',1,'crash_handler.h']]], ['_5f_5fptrdiff_5ft_5fdefined_25',['__PTRDIFF_T_DEFINED',['../stddef_8h.html#a9e3909fa823b8c4e3fc624d77fb946bf',1,'stddef.h']]], - ['_5f_5fread_5fvdp_5freg_26',['__READ_VDP_REG',['../sms_8h.html#a964e713cb2535d7464d0d6ca7677049a',1,'sms.h']]], - ['_5f_5freentrant_27',['__reentrant',['../stdlib_8h.html#a83798998ad669e85a8f75d6490191760',1,'stdlib.h']]], - ['_5f_5freg_28',['__REG',['../gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44',1,'hardware.h']]], - ['_5f_5frender_5fshadow_5foam_29',['__render_shadow_OAM',['../gb_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39',1,'__render_shadow_OAM(): metasprites.h'],['../sms_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39',1,'__render_shadow_OAM(): metasprites.h']]], - ['_5f_5fsetjmp_30',['__setjmp',['../setjmp_8h.html#af04f5d4b814aaac060bca4e9dea7c2a1',1,'setjmp.h']]], - ['_5f_5fsize_5ft_5fdefined_31',['__SIZE_T_DEFINED',['../asm_2gbz80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3',1,'__SIZE_T_DEFINED(): types.h'],['../asm_2z80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3',1,'__SIZE_T_DEFINED(): types.h'],['../stddef_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3',1,'__SIZE_T_DEFINED(): stddef.h']]], - ['_5f_5fwchar_5ft_5fdefined_32',['__WCHAR_T_DEFINED',['../stddef_8h.html#a4aa39aaff620f750e11ece0766b185fd',1,'stddef.h']]], - ['_5f_5fwrite_5fvdp_5freg_33',['__WRITE_VDP_REG',['../sms_8h.html#aa34282113397af810be737df1acec36c',1,'sms.h']]], - ['_5faud3waveram_34',['_AUD3WAVERAM',['../gb_2hardware_8h.html#a70db64bdd045a9df09b289fe9b28af22',1,'hardware.h']]], - ['_5fbios_35',['_BIOS',['../sms_2hardware_8h.html#a735fc9fb4f089391a584293f2dff1008',1,'hardware.h']]], - ['_5fcpu_36',['_cpu',['../gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45',1,'gb.h']]], - ['_5fcurrent_5f1bpp_5fcolors_37',['_current_1bpp_colors',['../gb_8h.html#a250f5339e05523912926be566e9eb8c0',1,'_current_1bpp_colors(): gb.h'],['../sms_8h.html#a250f5339e05523912926be566e9eb8c0',1,'_current_1bpp_colors(): sms.h']]], - ['_5fcurrent_5f2bpp_5fpalette_38',['_current_2bpp_palette',['../sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f',1,'sms.h']]], - ['_5fcurrent_5fbank_39',['_current_bank',['../sms_8h.html#af0d15cf2a26924d2ef00ac4017e6b1d8',1,'_current_bank(): sms.h'],['../gb_8h.html#a98b848953a95ce2fff6fda643575d74a',1,'_current_bank(): gb.h']]], - ['_5ffixed_40',['_fixed',['../union__fixed.html',1,'']]], - ['_5fhram_41',['_HRAM',['../gb_2hardware_8h.html#a472e3b0909a2f0878f643e9968b871ef',1,'hardware.h']]], - ['_5fio_42',['_IO',['../gb_2hardware_8h.html#a134e3f274c1e607b8c5ff5724860e288',1,'hardware.h']]], - ['_5fio_5fin_43',['_io_in',['../gb_8h.html#a02f3a1585ae654444e628c1aa98ef0cf',1,'gb.h']]], - ['_5fio_5fout_44',['_io_out',['../gb_8h.html#acae13736da20f9fc53e8d38934aa2119',1,'gb.h']]], - ['_5fio_5fstatus_45',['_io_status',['../gb_8h.html#a2e3415ce2f7fb63427618bd9b9cb6635',1,'gb.h']]], - ['_5fis_5fgba_46',['_is_GBA',['../gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36',1,'gb.h']]], - ['_5foamram_47',['_OAMRAM',['../gb_2hardware_8h.html#a7030908728e166877fba9065671deb02',1,'hardware.h']]], - ['_5fram_48',['_RAM',['../gb_2hardware_8h.html#ac1cf31cae6046360271ead6e8b7a6e87',1,'hardware.h']]], - ['_5frambank_49',['_RAMBANK',['../gb_2hardware_8h.html#a2f83a5f5daa6418c77756e32923aef5a',1,'hardware.h']]], - ['_5fscrn0_50',['_SCRN0',['../gb_2hardware_8h.html#ac5b9d1761bb972948fe10637dfaa94a7',1,'hardware.h']]], - ['_5fscrn1_51',['_SCRN1',['../gb_2hardware_8h.html#afff31f511127bf7ba1bd3b6bc740aee8',1,'hardware.h']]], - ['_5fshadow_5foam_5fbase_52',['_shadow_OAM_base',['../gb_8h.html#a7b662ae4d83f9837bacb9fd580673054',1,'_shadow_OAM_base(): gb.h'],['../sms_8h.html#a5435fd985412934e96a490e103c6bc49',1,'_shadow_OAM_base(): gb.h']]], - ['_5fshadow_5foam_5foff_53',['_shadow_OAM_OFF',['../sms_8h.html#a388d1dff2698172ba8574e43f5c77c93',1,'sms.h']]], - ['_5fsram_54',['_SRAM',['../gb_2hardware_8h.html#a09a4ae65605182c8b694197d3aea695e',1,'hardware.h']]], - ['_5fsystem_55',['_SYSTEM',['../sms_2hardware_8h.html#a7093bf38c5e663715f4efed44341502d',1,'hardware.h']]], - ['_5fvram_56',['_VRAM',['../gb_2hardware_8h.html#aea9200b29be90b58417787720cdf750b',1,'hardware.h']]], - ['_5fvram8000_57',['_VRAM8000',['../gb_2hardware_8h.html#a73c94166161c33c61d63b3e4b5209cd0',1,'hardware.h']]], - ['_5fvram8800_58',['_VRAM8800',['../gb_2hardware_8h.html#af763563b6123ef29d73931f616969049',1,'hardware.h']]], - ['_5fvram9000_59',['_VRAM9000',['../gb_2hardware_8h.html#a668fd555c203361f5e4b835f05243102',1,'hardware.h']]] + ['_5f_5frand_5fseed_26',['__rand_seed',['../rand_8h.html#a7aab2f4a234108a5eae48e0d26380ae7',1,'rand.h']]], + ['_5f_5fread_5fvdp_5freg_27',['__READ_VDP_REG',['../sms_8h.html#a964e713cb2535d7464d0d6ca7677049a',1,'sms.h']]], + ['_5f_5freentrant_28',['__reentrant',['../stdlib_8h.html#a83798998ad669e85a8f75d6490191760',1,'stdlib.h']]], + ['_5f_5freg_29',['__REG',['../gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44',1,'hardware.h']]], + ['_5f_5frender_5fshadow_5foam_30',['__render_shadow_OAM',['../gb_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39',1,'__render_shadow_OAM(): metasprites.h'],['../sms_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39',1,'__render_shadow_OAM(): metasprites.h']]], + ['_5f_5fsetjmp_31',['__setjmp',['../setjmp_8h.html#af04f5d4b814aaac060bca4e9dea7c2a1',1,'setjmp.h']]], + ['_5f_5fsize_5ft_5fdefined_32',['__SIZE_T_DEFINED',['../asm_2gbz80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3',1,'__SIZE_T_DEFINED(): types.h'],['../asm_2z80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3',1,'__SIZE_T_DEFINED(): types.h'],['../stddef_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3',1,'__SIZE_T_DEFINED(): stddef.h']]], + ['_5f_5fwchar_5ft_5fdefined_33',['__WCHAR_T_DEFINED',['../stddef_8h.html#a4aa39aaff620f750e11ece0766b185fd',1,'stddef.h']]], + ['_5f_5fwrite_5fvdp_5freg_34',['__WRITE_VDP_REG',['../sms_8h.html#aa34282113397af810be737df1acec36c',1,'sms.h']]], + ['_5faud3waveram_35',['_AUD3WAVERAM',['../gb_2hardware_8h.html#a70db64bdd045a9df09b289fe9b28af22',1,'hardware.h']]], + ['_5fbios_36',['_BIOS',['../sms_2hardware_8h.html#a735fc9fb4f089391a584293f2dff1008',1,'hardware.h']]], + ['_5fcpu_37',['_cpu',['../gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45',1,'gb.h']]], + ['_5fcurrent_5f1bpp_5fcolors_38',['_current_1bpp_colors',['../gb_8h.html#a250f5339e05523912926be566e9eb8c0',1,'_current_1bpp_colors(): gb.h'],['../sms_8h.html#a250f5339e05523912926be566e9eb8c0',1,'_current_1bpp_colors(): sms.h']]], + ['_5fcurrent_5f2bpp_5fpalette_39',['_current_2bpp_palette',['../sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f',1,'sms.h']]], + ['_5fcurrent_5fbank_40',['_current_bank',['../sms_8h.html#af0d15cf2a26924d2ef00ac4017e6b1d8',1,'_current_bank(): sms.h'],['../gb_8h.html#a98b848953a95ce2fff6fda643575d74a',1,'_current_bank(): gb.h']]], + ['_5ffixed_41',['_fixed',['../union__fixed.html',1,'']]], + ['_5fhram_42',['_HRAM',['../gb_2hardware_8h.html#a472e3b0909a2f0878f643e9968b871ef',1,'hardware.h']]], + ['_5fio_43',['_IO',['../gb_2hardware_8h.html#a134e3f274c1e607b8c5ff5724860e288',1,'hardware.h']]], + ['_5fio_5fin_44',['_io_in',['../gb_8h.html#a02f3a1585ae654444e628c1aa98ef0cf',1,'gb.h']]], + ['_5fio_5fout_45',['_io_out',['../gb_8h.html#acae13736da20f9fc53e8d38934aa2119',1,'gb.h']]], + ['_5fio_5fstatus_46',['_io_status',['../gb_8h.html#a2e3415ce2f7fb63427618bd9b9cb6635',1,'gb.h']]], + ['_5fis_5fgba_47',['_is_GBA',['../gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36',1,'gb.h']]], + ['_5fmap_5ftile_5foffset_48',['_map_tile_offset',['../gb_8h.html#aa82205e9629f984d0b3dc8055c211522',1,'_map_tile_offset(): gb.h'],['../sms_8h.html#aa82205e9629f984d0b3dc8055c211522',1,'_map_tile_offset(): sms.h']]], + ['_5foamram_49',['_OAMRAM',['../gb_2hardware_8h.html#a7030908728e166877fba9065671deb02',1,'hardware.h']]], + ['_5fram_50',['_RAM',['../gb_2hardware_8h.html#ac1cf31cae6046360271ead6e8b7a6e87',1,'hardware.h']]], + ['_5frambank_51',['_RAMBANK',['../gb_2hardware_8h.html#a2f83a5f5daa6418c77756e32923aef5a',1,'hardware.h']]], + ['_5fscrn0_52',['_SCRN0',['../gb_2hardware_8h.html#ac5b9d1761bb972948fe10637dfaa94a7',1,'hardware.h']]], + ['_5fscrn1_53',['_SCRN1',['../gb_2hardware_8h.html#afff31f511127bf7ba1bd3b6bc740aee8',1,'hardware.h']]], + ['_5fshadow_5foam_5fbase_54',['_shadow_OAM_base',['../gb_8h.html#a7b662ae4d83f9837bacb9fd580673054',1,'_shadow_OAM_base(): gb.h'],['../sms_8h.html#a5435fd985412934e96a490e103c6bc49',1,'_shadow_OAM_base(): gb.h']]], + ['_5fshadow_5foam_5foff_55',['_shadow_OAM_OFF',['../sms_8h.html#a388d1dff2698172ba8574e43f5c77c93',1,'sms.h']]], + ['_5fsram_56',['_SRAM',['../gb_2hardware_8h.html#a09a4ae65605182c8b694197d3aea695e',1,'hardware.h']]], + ['_5fsubmap_5ftile_5foffset_57',['_submap_tile_offset',['../gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c',1,'_submap_tile_offset(): gb.h'],['../sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c',1,'_submap_tile_offset(): sms.h']]], + ['_5fsystem_58',['_SYSTEM',['../sms_2hardware_8h.html#a7093bf38c5e663715f4efed44341502d',1,'hardware.h']]], + ['_5fvram_59',['_VRAM',['../gb_2hardware_8h.html#aea9200b29be90b58417787720cdf750b',1,'hardware.h']]], + ['_5fvram8000_60',['_VRAM8000',['../gb_2hardware_8h.html#a73c94166161c33c61d63b3e4b5209cd0',1,'hardware.h']]], + ['_5fvram8800_61',['_VRAM8800',['../gb_2hardware_8h.html#af763563b6123ef29d73931f616969049',1,'hardware.h']]], + ['_5fvram9000_62',['_VRAM9000',['../gb_2hardware_8h.html#a668fd555c203361f5e4b835f05243102',1,'hardware.h']]] ]; diff --git a/docs/api/search/all_4.js b/docs/api/search/all_4.js @@ -1,51 +1,53 @@ var searchData= [ - ['abs_60',['abs',['../stdlib_8h.html#a3bb2d2cacc5535004757ebbc640079fb',1,'stdlib.h']]], - ['add_5fjoy_61',['add_JOY',['../gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30',1,'add_JOY(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a049c5d8c901a23cccf95b02a911f9212',1,'add_JOY(int_handler h) __z88dk_fastcall: sms.h']]], - ['add_5flcd_62',['add_LCD',['../gb_8h.html#a9f9f77105099a34556247d5bb03368d1',1,'add_LCD(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a99f5c1698cb6d3715690481d4e4b6da1',1,'add_LCD(int_handler h) __z88dk_fastcall __preserves_regs(b: sms.h']]], - ['add_5fsio_63',['add_SIO',['../gb_8h.html#aa82422752016328ed0765879e286019f',1,'add_SIO(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#adcbf35ca19c093d4565729fa7e868f5c',1,'add_SIO(int_handler h) __z88dk_fastcall: sms.h']]], - ['add_5ftim_64',['add_TIM',['../gb_8h.html#a028d1a2e820951bb4f103d6469975ffb',1,'add_TIM(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a17416b1bb39989e82948e3a97f23187f',1,'add_TIM(int_handler h) __z88dk_fastcall: sms.h']]], - ['add_5fvbl_65',['add_VBL',['../gb_8h.html#a0d29659d08708143dd8bc720278e06b5',1,'add_VBL(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6',1,'add_VBL(int_handler h) __z88dk_fastcall __preserves_regs(d: sms.h']]], - ['and_66',['AND',['../drawing_8h.html#acd1b97556dfbbac61063a63031d2f91d',1,'drawing.h']]], - ['arand_67',['arand',['../rand_8h.html#ac3154758c17a5960a730a0a7c0fa7b0b',1,'rand.h']]], - ['assert_68',['assert',['../assert_8h.html#af576bf8ffa22a44e53018c67095ffbf0',1,'assert.h']]], - ['assert_2eh_69',['assert.h',['../assert_8h.html',1,'']]], - ['atoi_70',['atoi',['../stdlib_8h.html#a30670a60464f77af17dfb353353d6df8',1,'stdlib.h']]], - ['atol_71',['atol',['../stdlib_8h.html#a825c37450147a643edbcb1a435518307',1,'stdlib.h']]], - ['atomic_5fflag_72',['atomic_flag',['../structatomic__flag.html',1,'']]], - ['atomic_5fflag_5fclear_73',['atomic_flag_clear',['../stdatomic_8h.html#a281cc77096d886b0cf2c6ab7dfbe900c',1,'stdatomic.h']]], - ['atomic_5fflag_5ftest_5fand_5fset_74',['atomic_flag_test_and_set',['../stdatomic_8h.html#ad301ff71d8b03b0fa2a9207ed00c4ded',1,'stdatomic.h']]], - ['aud1sweep_5fdown_75',['AUD1SWEEP_DOWN',['../gb_2hardware_8h.html#a281569182e3edb53b7c78b95a4082971',1,'hardware.h']]], - ['aud1sweep_5flength_76',['AUD1SWEEP_LENGTH',['../gb_2hardware_8h.html#aaed4a07f441ddeecae520e76eb7b7e27',1,'hardware.h']]], - ['aud1sweep_5ftime_77',['AUD1SWEEP_TIME',['../gb_2hardware_8h.html#ac4cbf03d9c2d64cddaf348e003780cf8',1,'hardware.h']]], - ['aud1sweep_5fup_78',['AUD1SWEEP_UP',['../gb_2hardware_8h.html#aa8b5c841c97ae090724a910040f8dd2d',1,'hardware.h']]], - ['aud3wave_79',['AUD3WAVE',['../gb_2hardware_8h.html#a2fe41a6e0abb211cc00a8fca90543966',1,'hardware.h']]], - ['aud4poly_5fwidth_5f15bit_80',['AUD4POLY_WIDTH_15BIT',['../gb_2hardware_8h.html#a1bfe644bf343abd66c790c2758e7c0bb',1,'hardware.h']]], - ['aud4poly_5fwidth_5f7bit_81',['AUD4POLY_WIDTH_7BIT',['../gb_2hardware_8h.html#a9120d2c7cd8800e302e76f525d332d6c',1,'hardware.h']]], - ['audena_5foff_82',['AUDENA_OFF',['../gb_2hardware_8h.html#a1b424d8f8a7438d19261401a843263d2',1,'hardware.h']]], - ['audena_5fon_83',['AUDENA_ON',['../gb_2hardware_8h.html#a7bbcf10e7a2b69127cd2f9e598bf601f',1,'hardware.h']]], - ['audenv_5fdown_84',['AUDENV_DOWN',['../gb_2hardware_8h.html#aa58f52563d21d56e79d422c544eeb13f',1,'hardware.h']]], - ['audenv_5flength_85',['AUDENV_LENGTH',['../gb_2hardware_8h.html#ad07fa5e19e334eee03c2fcb8671b2ed3',1,'hardware.h']]], - ['audenv_5fup_86',['AUDENV_UP',['../gb_2hardware_8h.html#a9f069f19e8a05d1f1114aaabf531739e',1,'hardware.h']]], - ['audenv_5fvol_87',['AUDENV_VOL',['../gb_2hardware_8h.html#a7dab7d2ad1bf670875814d3029d54122',1,'hardware.h']]], - ['audhigh_5flength_5foff_88',['AUDHIGH_LENGTH_OFF',['../gb_2hardware_8h.html#afe4927e6bc7efa57461e3c3b84d242da',1,'hardware.h']]], - ['audhigh_5flength_5fon_89',['AUDHIGH_LENGTH_ON',['../gb_2hardware_8h.html#ab3325578cf7f7f67610353a62aba274e',1,'hardware.h']]], - ['audhigh_5frestart_90',['AUDHIGH_RESTART',['../gb_2hardware_8h.html#a6d820a86bd30b531d5df5b27139ae92d',1,'hardware.h']]], - ['audlen_5fduty_5f12_5f5_91',['AUDLEN_DUTY_12_5',['../gb_2hardware_8h.html#a8a88b504914eed6c0c4d2853689487ba',1,'hardware.h']]], - ['audlen_5fduty_5f25_92',['AUDLEN_DUTY_25',['../gb_2hardware_8h.html#a52e58c151c5910792e75f7eea7f7ddbb',1,'hardware.h']]], - ['audlen_5fduty_5f50_93',['AUDLEN_DUTY_50',['../gb_2hardware_8h.html#abd862604a105aa2475223b06abfa8bfe',1,'hardware.h']]], - ['audlen_5fduty_5f75_94',['AUDLEN_DUTY_75',['../gb_2hardware_8h.html#a194e3432f1e4d5d23d4ea096cef783e5',1,'hardware.h']]], - ['audlen_5flength_95',['AUDLEN_LENGTH',['../gb_2hardware_8h.html#a367f10d1cfcc04fdbfcb88f09b230bd3',1,'hardware.h']]], - ['audterm_5f1_5fleft_96',['AUDTERM_1_LEFT',['../gb_2hardware_8h.html#aad3ccece4257429e82186f7b4d72b220',1,'hardware.h']]], - ['audterm_5f1_5fright_97',['AUDTERM_1_RIGHT',['../gb_2hardware_8h.html#aa3cdccfb4b6b42cdee682bdb6e4fc310',1,'hardware.h']]], - ['audterm_5f2_5fleft_98',['AUDTERM_2_LEFT',['../gb_2hardware_8h.html#a309d26015522c2de1cff39ba6e6e6a04',1,'hardware.h']]], - ['audterm_5f2_5fright_99',['AUDTERM_2_RIGHT',['../gb_2hardware_8h.html#a6fb64712b06118cad702691f2aa18cd4',1,'hardware.h']]], - ['audterm_5f3_5fleft_100',['AUDTERM_3_LEFT',['../gb_2hardware_8h.html#ac1470febab4adcff88b31a465d480f72',1,'hardware.h']]], - ['audterm_5f3_5fright_101',['AUDTERM_3_RIGHT',['../gb_2hardware_8h.html#adc74cebc6671c48bd502667f21d24da4',1,'hardware.h']]], - ['audterm_5f4_5fleft_102',['AUDTERM_4_LEFT',['../gb_2hardware_8h.html#af9a0eee23057665604c258abc667939d',1,'hardware.h']]], - ['audterm_5f4_5fright_103',['AUDTERM_4_RIGHT',['../gb_2hardware_8h.html#a2ba607e94d30ae8eeb1933c9dabbf68d',1,'hardware.h']]], - ['audvol_5fvin_5fleft_104',['AUDVOL_VIN_LEFT',['../gb_2hardware_8h.html#a8cb754b63b073abf30af3fd6f0052832',1,'hardware.h']]], - ['audvol_5fvin_5fright_105',['AUDVOL_VIN_RIGHT',['../gb_2hardware_8h.html#aa257f1e89f6782714cbc76ffc71d0fe7',1,'hardware.h']]], - ['audvol_5fvol_5fleft_106',['AUDVOL_VOL_LEFT',['../gb_2hardware_8h.html#a0dc3f482441d4e13828aebdf396c3be9',1,'hardware.h']]], - ['audvol_5fvol_5fright_107',['AUDVOL_VOL_RIGHT',['../gb_2hardware_8h.html#aabac77131d22297a246a3cfb0e443605',1,'hardware.h']]] + ['abs_63',['abs',['../stdlib_8h.html#a3bb2d2cacc5535004757ebbc640079fb',1,'stdlib.h']]], + ['add_5fjoy_64',['add_JOY',['../gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30',1,'add_JOY(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a48163816121cd669526817d3e6266fd9',1,'add_JOY(int_handler h) Z88DK_FASTCALL: sms.h']]], + ['add_5flcd_65',['add_LCD',['../gb_8h.html#a9f9f77105099a34556247d5bb03368d1',1,'add_LCD(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a51add93356a25c71e8c37a73c9065c9d',1,'add_LCD(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(b: sms.h']]], + ['add_5flow_5fpriority_5ftim_66',['add_low_priority_TIM',['../gb_8h.html#a970f18857533e062f4780f6e1c407d69',1,'gb.h']]], + ['add_5fsio_67',['add_SIO',['../gb_8h.html#aa82422752016328ed0765879e286019f',1,'add_SIO(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a3372d61a07e0466bdb909a27f3aaaca9',1,'add_SIO(int_handler h) Z88DK_FASTCALL: sms.h']]], + ['add_5ftim_68',['add_TIM',['../gb_8h.html#a028d1a2e820951bb4f103d6469975ffb',1,'add_TIM(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a6c66a583a8f0744e3985c89725e3dc10',1,'add_TIM(int_handler h) Z88DK_FASTCALL: sms.h']]], + ['add_5fvbl_69',['add_VBL',['../gb_8h.html#a0d29659d08708143dd8bc720278e06b5',1,'add_VBL(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#ae59628e2237f301df1341e22bfc8296e',1,'add_VBL(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(d: sms.h']]], + ['and_70',['AND',['../drawing_8h.html#acd1b97556dfbbac61063a63031d2f91d',1,'drawing.h']]], + ['arand_71',['arand',['../rand_8h.html#a67415330a1c7984e4537dac753306804',1,'rand.h']]], + ['assert_72',['assert',['../assert_8h.html#af576bf8ffa22a44e53018c67095ffbf0',1,'assert.h']]], + ['assert_2eh_73',['assert.h',['../assert_8h.html',1,'']]], + ['at_74',['AT',['../asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e',1,'types.h']]], + ['atoi_75',['atoi',['../stdlib_8h.html#a30670a60464f77af17dfb353353d6df8',1,'stdlib.h']]], + ['atol_76',['atol',['../stdlib_8h.html#a825c37450147a643edbcb1a435518307',1,'stdlib.h']]], + ['atomic_5fflag_77',['atomic_flag',['../structatomic__flag.html',1,'']]], + ['atomic_5fflag_5fclear_78',['atomic_flag_clear',['../stdatomic_8h.html#a281cc77096d886b0cf2c6ab7dfbe900c',1,'stdatomic.h']]], + ['atomic_5fflag_5ftest_5fand_5fset_79',['atomic_flag_test_and_set',['../stdatomic_8h.html#ad301ff71d8b03b0fa2a9207ed00c4ded',1,'stdatomic.h']]], + ['aud1sweep_5fdown_80',['AUD1SWEEP_DOWN',['../gb_2hardware_8h.html#a281569182e3edb53b7c78b95a4082971',1,'hardware.h']]], + ['aud1sweep_5flength_81',['AUD1SWEEP_LENGTH',['../gb_2hardware_8h.html#aaed4a07f441ddeecae520e76eb7b7e27',1,'hardware.h']]], + ['aud1sweep_5ftime_82',['AUD1SWEEP_TIME',['../gb_2hardware_8h.html#ac4cbf03d9c2d64cddaf348e003780cf8',1,'hardware.h']]], + ['aud1sweep_5fup_83',['AUD1SWEEP_UP',['../gb_2hardware_8h.html#aa8b5c841c97ae090724a910040f8dd2d',1,'hardware.h']]], + ['aud3wave_84',['AUD3WAVE',['../gb_2hardware_8h.html#a2fe41a6e0abb211cc00a8fca90543966',1,'hardware.h']]], + ['aud4poly_5fwidth_5f15bit_85',['AUD4POLY_WIDTH_15BIT',['../gb_2hardware_8h.html#a1bfe644bf343abd66c790c2758e7c0bb',1,'hardware.h']]], + ['aud4poly_5fwidth_5f7bit_86',['AUD4POLY_WIDTH_7BIT',['../gb_2hardware_8h.html#a9120d2c7cd8800e302e76f525d332d6c',1,'hardware.h']]], + ['audena_5foff_87',['AUDENA_OFF',['../gb_2hardware_8h.html#a1b424d8f8a7438d19261401a843263d2',1,'hardware.h']]], + ['audena_5fon_88',['AUDENA_ON',['../gb_2hardware_8h.html#a7bbcf10e7a2b69127cd2f9e598bf601f',1,'hardware.h']]], + ['audenv_5fdown_89',['AUDENV_DOWN',['../gb_2hardware_8h.html#aa58f52563d21d56e79d422c544eeb13f',1,'hardware.h']]], + ['audenv_5flength_90',['AUDENV_LENGTH',['../gb_2hardware_8h.html#ad07fa5e19e334eee03c2fcb8671b2ed3',1,'hardware.h']]], + ['audenv_5fup_91',['AUDENV_UP',['../gb_2hardware_8h.html#a9f069f19e8a05d1f1114aaabf531739e',1,'hardware.h']]], + ['audenv_5fvol_92',['AUDENV_VOL',['../gb_2hardware_8h.html#a7dab7d2ad1bf670875814d3029d54122',1,'hardware.h']]], + ['audhigh_5flength_5foff_93',['AUDHIGH_LENGTH_OFF',['../gb_2hardware_8h.html#afe4927e6bc7efa57461e3c3b84d242da',1,'hardware.h']]], + ['audhigh_5flength_5fon_94',['AUDHIGH_LENGTH_ON',['../gb_2hardware_8h.html#ab3325578cf7f7f67610353a62aba274e',1,'hardware.h']]], + ['audhigh_5frestart_95',['AUDHIGH_RESTART',['../gb_2hardware_8h.html#a6d820a86bd30b531d5df5b27139ae92d',1,'hardware.h']]], + ['audlen_5fduty_5f12_5f5_96',['AUDLEN_DUTY_12_5',['../gb_2hardware_8h.html#a8a88b504914eed6c0c4d2853689487ba',1,'hardware.h']]], + ['audlen_5fduty_5f25_97',['AUDLEN_DUTY_25',['../gb_2hardware_8h.html#a52e58c151c5910792e75f7eea7f7ddbb',1,'hardware.h']]], + ['audlen_5fduty_5f50_98',['AUDLEN_DUTY_50',['../gb_2hardware_8h.html#abd862604a105aa2475223b06abfa8bfe',1,'hardware.h']]], + ['audlen_5fduty_5f75_99',['AUDLEN_DUTY_75',['../gb_2hardware_8h.html#a194e3432f1e4d5d23d4ea096cef783e5',1,'hardware.h']]], + ['audlen_5flength_100',['AUDLEN_LENGTH',['../gb_2hardware_8h.html#a367f10d1cfcc04fdbfcb88f09b230bd3',1,'hardware.h']]], + ['audterm_5f1_5fleft_101',['AUDTERM_1_LEFT',['../gb_2hardware_8h.html#aad3ccece4257429e82186f7b4d72b220',1,'hardware.h']]], + ['audterm_5f1_5fright_102',['AUDTERM_1_RIGHT',['../gb_2hardware_8h.html#aa3cdccfb4b6b42cdee682bdb6e4fc310',1,'hardware.h']]], + ['audterm_5f2_5fleft_103',['AUDTERM_2_LEFT',['../gb_2hardware_8h.html#a309d26015522c2de1cff39ba6e6e6a04',1,'hardware.h']]], + ['audterm_5f2_5fright_104',['AUDTERM_2_RIGHT',['../gb_2hardware_8h.html#a6fb64712b06118cad702691f2aa18cd4',1,'hardware.h']]], + ['audterm_5f3_5fleft_105',['AUDTERM_3_LEFT',['../gb_2hardware_8h.html#ac1470febab4adcff88b31a465d480f72',1,'hardware.h']]], + ['audterm_5f3_5fright_106',['AUDTERM_3_RIGHT',['../gb_2hardware_8h.html#adc74cebc6671c48bd502667f21d24da4',1,'hardware.h']]], + ['audterm_5f4_5fleft_107',['AUDTERM_4_LEFT',['../gb_2hardware_8h.html#af9a0eee23057665604c258abc667939d',1,'hardware.h']]], + ['audterm_5f4_5fright_108',['AUDTERM_4_RIGHT',['../gb_2hardware_8h.html#a2ba607e94d30ae8eeb1933c9dabbf68d',1,'hardware.h']]], + ['audvol_5fvin_5fleft_109',['AUDVOL_VIN_LEFT',['../gb_2hardware_8h.html#a8cb754b63b073abf30af3fd6f0052832',1,'hardware.h']]], + ['audvol_5fvin_5fright_110',['AUDVOL_VIN_RIGHT',['../gb_2hardware_8h.html#aa257f1e89f6782714cbc76ffc71d0fe7',1,'hardware.h']]], + ['audvol_5fvol_5fleft_111',['AUDVOL_VOL_LEFT',['../gb_2hardware_8h.html#a0dc3f482441d4e13828aebdf396c3be9',1,'hardware.h']]], + ['audvol_5fvol_5fright_112',['AUDVOL_VOL_RIGHT',['../gb_2hardware_8h.html#aabac77131d22297a246a3cfb0e443605',1,'hardware.h']]] ]; diff --git a/docs/api/search/all_5.js b/docs/api/search/all_5.js @@ -1,34 +1,34 @@ var searchData= [ - ['b_108',['b',['../union__fixed.html#ac0efdf5ee7302ad64dbc51cabc3659d3',1,'_fixed::b()'],['../gb_8h.html#a4c2e4adef74067fdbb49005bc73de937',1,'b(): gb.h']]], - ['bank_109',['BANK',['../gb_8h.html#a42705001e2b9897f5167b67fb36c69dd',1,'BANK(): gb.h'],['../incbin_8h.html#a42705001e2b9897f5167b67fb36c69dd',1,'BANK(): incbin.h'],['../sms_8h.html#a42705001e2b9897f5167b67fb36c69dd',1,'BANK(): sms.h']]], - ['banked_110',['BANKED',['../asm_2gbz80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0',1,'BANKED(): types.h'],['../asm_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0',1,'BANKED(): types.h'],['../asm_2z80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0',1,'BANKED(): types.h']]], - ['bankref_111',['BANKREF',['../gb_8h.html#a086293f2afb4c7945460a4496b20aea3',1,'BANKREF(): gb.h'],['../sms_8h.html#a086293f2afb4c7945460a4496b20aea3',1,'BANKREF(): sms.h']]], - ['bankref_5fextern_112',['BANKREF_EXTERN',['../gb_8h.html#a261bba55a07b802baf99346feadd9852',1,'BANKREF_EXTERN(): gb.h'],['../sms_8h.html#a261bba55a07b802baf99346feadd9852',1,'BANKREF_EXTERN(): sms.h']]], - ['bcd_113',['BCD',['../bcd_8h.html#a4813acd7f1852dd32b67175ca6aca2eb',1,'bcd.h']]], - ['bcd_2eh_114',['bcd.h',['../bcd_8h.html',1,'(Global Namespace)'],['../k_2bcd_8h.html',1,'(Global Namespace)']]], - ['bcd2text_115',['bcd2text',['../bcd_8h.html#aec09ce7373727160488408c65fc8a91e',1,'bcd.h']]], - ['bcd_5fadd_116',['bcd_add',['../bcd_8h.html#a0b14c76afa669863ed43c080f5baca98',1,'bcd.h']]], - ['bcd_5fhex_117',['BCD_HEX',['../bcd_8h.html#a5b336fcb3fc84fe505dc7e14d0ec17a7',1,'bcd.h']]], - ['bcd_5fsub_118',['bcd_sub',['../bcd_8h.html#a743275b2ee21c93633a933a2d3073d4e',1,'bcd.h']]], - ['bcpd_5freg_119',['BCPD_REG',['../gb_2hardware_8h.html#a1fc8ff37ffe1c431364e1ef7c3961b30',1,'hardware.h']]], - ['bcps_5freg_120',['BCPS_REG',['../gb_2hardware_8h.html#a28fa1ca08ef1c8ed97280bc5e60bdd99',1,'hardware.h']]], - ['bcpsf_5fautoinc_121',['BCPSF_AUTOINC',['../gb_2hardware_8h.html#a88cceb86b8168f4c539e9612a81145a6',1,'hardware.h']]], - ['bgb_5fbreakpoint_122',['BGB_BREAKPOINT',['../bgb__emu_8h.html#a95c9ae3faadfe6f93a3cac87085b3481',1,'bgb_emu.h']]], - ['bgb_5femu_2eh_123',['bgb_emu.h',['../bgb__emu_8h.html',1,'']]], - ['bgb_5fmessage_124',['BGB_MESSAGE',['../bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39',1,'bgb_emu.h']]], - ['bgb_5fprintf_125',['BGB_printf',['../bgb__emu_8h.html#a2b2f53166550341e0b1297dd5aa5a2c3',1,'bgb_emu.h']]], - ['bgb_5fprofile_5fbegin_126',['BGB_PROFILE_BEGIN',['../bgb__emu_8h.html#ab5b05deda52856c84f274fb28578b6ee',1,'bgb_emu.h']]], - ['bgb_5fprofile_5fend_127',['BGB_PROFILE_END',['../bgb__emu_8h.html#ab43f94064dc523e99c4aefb440e2c3ed',1,'bgb_emu.h']]], - ['bgb_5fprofiler_5fmessage_128',['BGB_profiler_message',['../bgb__emu_8h.html#a219a24aebe0bddc535ba4abc81cee30c',1,'bgb_emu.h']]], - ['bgb_5ftext_129',['BGB_TEXT',['../bgb__emu_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9',1,'bgb_emu.h']]], - ['bgp_5freg_130',['BGP_REG',['../gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997',1,'hardware.h']]], - ['black_131',['BLACK',['../drawing_8h.html#a7b3b25cba33b07c303f3060fe41887f6',1,'drawing.h']]], - ['bool_132',['bool',['../stdbool_8h.html#abb452686968e48b67397da5f97445f5b',1,'stdbool.h']]], - ['boolean_133',['BOOLEAN',['../asm_2types_8h.html#a5e2fb030036b42012a298e24aca66071',1,'types.h']]], - ['box_134',['box',['../drawing_8h.html#ae1170230e5c9e61cc4321632e949e7ce',1,'drawing.h']]], - ['bp_5fsize_135',['BP_SIZE',['../setjmp_8h.html#ae02ec77c070126e75761ab85226b62a7',1,'setjmp.h']]], - ['bpx_5fsize_136',['BPX_SIZE',['../setjmp_8h.html#a0239bfe1e2b75fa5757c32a90d0c140d',1,'setjmp.h']]], - ['bsearch_137',['bsearch',['../stdlib_8h.html#ab0ace018fe7dfa1720930d2dce0c45e3',1,'stdlib.h']]], - ['byte_138',['BYTE',['../asm_2types_8h.html#a0059ccf0a32e1f146ef70ce970908bf6',1,'types.h']]] + ['b_113',['b',['../union__fixed.html#ac0efdf5ee7302ad64dbc51cabc3659d3',1,'_fixed::b()'],['../gb_8h.html#a4c2e4adef74067fdbb49005bc73de937',1,'b(): gb.h']]], + ['bank_114',['BANK',['../gb_8h.html#a42705001e2b9897f5167b67fb36c69dd',1,'BANK(): gb.h'],['../incbin_8h.html#a42705001e2b9897f5167b67fb36c69dd',1,'BANK(): incbin.h'],['../sms_8h.html#a42705001e2b9897f5167b67fb36c69dd',1,'BANK(): sms.h']]], + ['banked_115',['BANKED',['../asm_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0',1,'types.h']]], + ['bankref_116',['BANKREF',['../gb_8h.html#a086293f2afb4c7945460a4496b20aea3',1,'BANKREF(): gb.h'],['../sms_8h.html#a086293f2afb4c7945460a4496b20aea3',1,'BANKREF(): sms.h']]], + ['bankref_5fextern_117',['BANKREF_EXTERN',['../gb_8h.html#a261bba55a07b802baf99346feadd9852',1,'BANKREF_EXTERN(): gb.h'],['../sms_8h.html#a261bba55a07b802baf99346feadd9852',1,'BANKREF_EXTERN(): sms.h']]], + ['bcd_118',['BCD',['../bcd_8h.html#a4813acd7f1852dd32b67175ca6aca2eb',1,'bcd.h']]], + ['bcd_2eh_119',['bcd.h',['../bcd_8h.html',1,'(Global Namespace)'],['../k_2bcd_8h.html',1,'(Global Namespace)']]], + ['bcd2text_120',['bcd2text',['../bcd_8h.html#aec09ce7373727160488408c65fc8a91e',1,'bcd.h']]], + ['bcd_5fadd_121',['bcd_add',['../bcd_8h.html#a0b14c76afa669863ed43c080f5baca98',1,'bcd.h']]], + ['bcd_5fhex_122',['BCD_HEX',['../bcd_8h.html#a5b336fcb3fc84fe505dc7e14d0ec17a7',1,'bcd.h']]], + ['bcd_5fsub_123',['bcd_sub',['../bcd_8h.html#a743275b2ee21c93633a933a2d3073d4e',1,'bcd.h']]], + ['bcpd_5freg_124',['BCPD_REG',['../gb_2hardware_8h.html#a1fc8ff37ffe1c431364e1ef7c3961b30',1,'hardware.h']]], + ['bcps_5freg_125',['BCPS_REG',['../gb_2hardware_8h.html#a28fa1ca08ef1c8ed97280bc5e60bdd99',1,'hardware.h']]], + ['bcpsf_5fautoinc_126',['BCPSF_AUTOINC',['../gb_2hardware_8h.html#a88cceb86b8168f4c539e9612a81145a6',1,'hardware.h']]], + ['bgb_5fbreakpoint_127',['BGB_BREAKPOINT',['../emu__debug_8h.html#a95c9ae3faadfe6f93a3cac87085b3481',1,'emu_debug.h']]], + ['bgb_5femu_2eh_128',['bgb_emu.h',['../bgb__emu_8h.html',1,'']]], + ['bgb_5fmessage_129',['BGB_MESSAGE',['../emu__debug_8h.html#aabd48c83af8f69ed624bb8a83347fa39',1,'emu_debug.h']]], + ['bgb_5fprintf_130',['BGB_printf',['../emu__debug_8h.html#a892ddea0cd396141c1ae05e384303cbf',1,'emu_debug.h']]], + ['bgb_5fprofile_5fbegin_131',['BGB_PROFILE_BEGIN',['../emu__debug_8h.html#ab5b05deda52856c84f274fb28578b6ee',1,'emu_debug.h']]], + ['bgb_5fprofile_5fend_132',['BGB_PROFILE_END',['../emu__debug_8h.html#ab43f94064dc523e99c4aefb440e2c3ed',1,'emu_debug.h']]], + ['bgb_5fprofiler_5fmessage_133',['BGB_profiler_message',['../emu__debug_8h.html#a47c147586d9a21282ce72a83947508e9',1,'emu_debug.h']]], + ['bgb_5ftext_134',['BGB_TEXT',['../emu__debug_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9',1,'emu_debug.h']]], + ['bgp_5freg_135',['BGP_REG',['../gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997',1,'hardware.h']]], + ['black_136',['BLACK',['../drawing_8h.html#a7b3b25cba33b07c303f3060fe41887f6',1,'drawing.h']]], + ['bool_137',['bool',['../stdbool_8h.html#abb452686968e48b67397da5f97445f5b',1,'stdbool.h']]], + ['boolean_138',['BOOLEAN',['../asm_2types_8h.html#a5e2fb030036b42012a298e24aca66071',1,'types.h']]], + ['box_139',['box',['../drawing_8h.html#ae1170230e5c9e61cc4321632e949e7ce',1,'drawing.h']]], + ['bp_5fsize_140',['BP_SIZE',['../setjmp_8h.html#ae02ec77c070126e75761ab85226b62a7',1,'setjmp.h']]], + ['bpx_5fsize_141',['BPX_SIZE',['../setjmp_8h.html#a0239bfe1e2b75fa5757c32a90d0c140d',1,'setjmp.h']]], + ['bsearch_142',['bsearch',['../stdlib_8h.html#ab0ace018fe7dfa1720930d2dce0c45e3',1,'stdlib.h']]], + ['byte_143',['BYTE',['../asm_2types_8h.html#a0059ccf0a32e1f146ef70ce970908bf6',1,'types.h']]] ]; diff --git a/docs/api/search/all_6.js b/docs/api/search/all_6.js @@ -1,27 +1,27 @@ var searchData= [ - ['c_139',['c',['../asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): string.h'],['../gb_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): gb.h'],['../gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): gbdecompress.h'],['../gb_2metasprites_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): metasprites.h'],['../sgb_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): sgb.h'],['../sms_2gbdecompress_8h.html#add06ad5d8520e7cff4ff84b2811c0982',1,'c(): gbdecompress.h'],['../sms_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): sms.h']]], - ['calloc_140',['calloc',['../stdlib_8h.html#a62b7798461bd461da64c5f9d35feddf7',1,'stdlib.h']]], - ['cancel_5fpending_5finterrupts_141',['cancel_pending_interrupts',['../gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a',1,'cancel_pending_interrupts(): gb.h'],['../sms_8h.html#ade5d4c955b871b0ed884273cc2b7215a',1,'cancel_pending_interrupts(): sms.h']]], - ['cgb_2eh_142',['cgb.h',['../cgb_8h.html',1,'']]], - ['cgb_5fcompatibility_143',['cgb_compatibility',['../cgb_8h.html#ac2dd234782ac786758952496b017ab97',1,'cgb.h']]], - ['cgb_5ftype_144',['CGB_TYPE',['../gb_8h.html#aee435a3a0dde3dbd7b6112dbb456cde8',1,'gb.h']]], - ['char_5fbit_145',['CHAR_BIT',['../limits_8h.html#a308d9dd2c0028ddb184b455bbd7865de',1,'limits.h']]], - ['char_5fmax_146',['CHAR_MAX',['../limits_8h.html#a778eefd6535a9d4b752fca5dd0af58db',1,'limits.h']]], - ['char_5fmin_147',['CHAR_MIN',['../limits_8h.html#a5d707bd32338557ced18c6ac76ca1b3a',1,'limits.h']]], - ['circle_148',['circle',['../drawing_8h.html#ad46c3bdc38dfc9b70214693390d404cb',1,'drawing.h']]], - ['clock_149',['clock',['../time_8h.html#a9e660b4ddc93c500ce46593917de2bbf',1,'time.h']]], - ['clock_5ft_150',['clock_t',['../asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23',1,'clock_t(): types.h'],['../asm_2z80_2types_8h.html#ad666a63cb94701b620ce999f84629d23',1,'clock_t(): types.h']]], - ['clocks_5fper_5fsec_151',['CLOCKS_PER_SEC',['../time_8h.html#a3d9fc3c745d0880902fe3ea3d5d5f71e',1,'time.h']]], - ['cls_152',['cls',['../console_8h.html#a4826277cc150ddc0f4de4bd464a34909',1,'console.h']]], - ['color_153',['color',['../drawing_8h.html#a9fa68d25be92836a1b08a5e610b4f32f',1,'drawing.h']]], - ['compat_5fpalette_154',['COMPAT_PALETTE',['../gb_8h.html#a67f80e65620470b55a4950e2966eb868',1,'COMPAT_PALETTE(): gb.h'],['../sms_8h.html#a67f80e65620470b55a4950e2966eb868',1,'COMPAT_PALETTE(): sms.h']]], - ['console_2eh_155',['console.h',['../console_8h.html',1,'']]], - ['cpu_5ffast_156',['cpu_fast',['../cgb_8h.html#a884a743919b234cd9c37789380784d08',1,'cpu_fast(): sms.h'],['../sms_8h.html#a884a743919b234cd9c37789380784d08',1,'cpu_fast(): sms.h']]], - ['cpu_5fslow_157',['cpu_slow',['../cgb_8h.html#a6a36fb9584e4a123f6164530a3b1e5e2',1,'cgb.h']]], - ['crash_5fhandler_2eh_158',['crash_handler.h',['../crash__handler_8h.html',1,'']]], - ['critical_159',['CRITICAL',['../asm_2gbz80_2types_8h.html#ae0233515480e60d29bcc731469976e02',1,'CRITICAL(): types.h'],['../asm_2types_8h.html#ae0233515480e60d29bcc731469976e02',1,'CRITICAL(): types.h'],['../asm_2z80_2types_8h.html#ae0233515480e60d29bcc731469976e02',1,'CRITICAL(): types.h']]], - ['ctype_2eh_160',['ctype.h',['../ctype_8h.html',1,'']]], - ['current_5fbank_161',['CURRENT_BANK',['../gb_8h.html#ae042588f20bf5a2349c8ad8716245233',1,'CURRENT_BANK(): gb.h'],['../sms_8h.html#ae042588f20bf5a2349c8ad8716245233',1,'CURRENT_BANK(): sms.h']]], - ['coding_20guidelines_162',['Coding Guidelines',['../docs_coding_guidelines.html',1,'index']]] + ['c_144',['c',['../asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): string.h'],['../gb_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): gb.h'],['../gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): gbdecompress.h'],['../gb_2metasprites_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): metasprites.h'],['../sgb_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): sgb.h'],['../sms_2gbdecompress_8h.html#add06ad5d8520e7cff4ff84b2811c0982',1,'c(): gbdecompress.h'],['../sms_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): sms.h']]], + ['calloc_145',['calloc',['../stdlib_8h.html#a62b7798461bd461da64c5f9d35feddf7',1,'stdlib.h']]], + ['cancel_5fpending_5finterrupts_146',['cancel_pending_interrupts',['../gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a',1,'cancel_pending_interrupts(): gb.h'],['../sms_8h.html#ade5d4c955b871b0ed884273cc2b7215a',1,'cancel_pending_interrupts(): sms.h']]], + ['cgb_2eh_147',['cgb.h',['../cgb_8h.html',1,'']]], + ['cgb_5fcompatibility_148',['cgb_compatibility',['../cgb_8h.html#ac2dd234782ac786758952496b017ab97',1,'cgb.h']]], + ['cgb_5ftype_149',['CGB_TYPE',['../gb_8h.html#aee435a3a0dde3dbd7b6112dbb456cde8',1,'gb.h']]], + ['char_5fbit_150',['CHAR_BIT',['../limits_8h.html#a308d9dd2c0028ddb184b455bbd7865de',1,'limits.h']]], + ['char_5fmax_151',['CHAR_MAX',['../limits_8h.html#a778eefd6535a9d4b752fca5dd0af58db',1,'limits.h']]], + ['char_5fmin_152',['CHAR_MIN',['../limits_8h.html#a5d707bd32338557ced18c6ac76ca1b3a',1,'limits.h']]], + ['circle_153',['circle',['../drawing_8h.html#ad46c3bdc38dfc9b70214693390d404cb',1,'drawing.h']]], + ['clock_154',['clock',['../time_8h.html#acc1f88818af5706d57262377382ae4ac',1,'time.h']]], + ['clock_5ft_155',['clock_t',['../asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f',1,'clock_t(): types.h'],['../asm_2z80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f',1,'clock_t(): types.h']]], + ['clocks_5fper_5fsec_156',['CLOCKS_PER_SEC',['../time_8h.html#a3d9fc3c745d0880902fe3ea3d5d5f71e',1,'time.h']]], + ['cls_157',['cls',['../console_8h.html#a4826277cc150ddc0f4de4bd464a34909',1,'console.h']]], + ['color_158',['color',['../drawing_8h.html#a9fa68d25be92836a1b08a5e610b4f32f',1,'drawing.h']]], + ['compat_5fpalette_159',['COMPAT_PALETTE',['../gb_8h.html#a67f80e65620470b55a4950e2966eb868',1,'COMPAT_PALETTE(): gb.h'],['../sms_8h.html#a67f80e65620470b55a4950e2966eb868',1,'COMPAT_PALETTE(): sms.h']]], + ['console_2eh_160',['console.h',['../console_8h.html',1,'']]], + ['cpu_5ffast_161',['cpu_fast',['../cgb_8h.html#a884a743919b234cd9c37789380784d08',1,'cpu_fast(): sms.h'],['../sms_8h.html#a884a743919b234cd9c37789380784d08',1,'cpu_fast(): sms.h']]], + ['cpu_5fslow_162',['cpu_slow',['../cgb_8h.html#a6a36fb9584e4a123f6164530a3b1e5e2',1,'cgb.h']]], + ['crash_5fhandler_2eh_163',['crash_handler.h',['../crash__handler_8h.html',1,'']]], + ['critical_164',['CRITICAL',['../asm_2types_8h.html#ae0233515480e60d29bcc731469976e02',1,'types.h']]], + ['ctype_2eh_165',['ctype.h',['../ctype_8h.html',1,'']]], + ['current_5fbank_166',['CURRENT_BANK',['../gb_8h.html#ae042588f20bf5a2349c8ad8716245233',1,'CURRENT_BANK(): gb.h'],['../sms_8h.html#ae042588f20bf5a2349c8ad8716245233',1,'CURRENT_BANK(): sms.h']]], + ['coding_20guidelines_167',['Coding Guidelines',['../docs_coding_guidelines.html',1,'index']]] ]; diff --git a/docs/api/search/all_7.js b/docs/api/search/all_7.js @@ -1,41 +1,41 @@ var searchData= [ - ['d_163',['d',['../gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e',1,'d(): gb.h'],['../sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e',1,'d(): sms.h']]], - ['delay_164',['delay',['../gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d',1,'delay(uint16_t d) OLDCALL: gb.h'],['../sms_8h.html#aea03b5b22f0a798a7935dc7d18931924',1,'delay(uint16_t d) __z88dk_fastcall: sms.h']]], - ['device_5fscreen_5fbuffer_5fheight_165',['DEVICE_SCREEN_BUFFER_HEIGHT',['../gb_2hardware_8h.html#a81fb56b6778772f829dab4c534e7749e',1,'hardware.h']]], - ['device_5fscreen_5fbuffer_5fwidth_166',['DEVICE_SCREEN_BUFFER_WIDTH',['../gb_2hardware_8h.html#a491dc081eae8c81e7ca88075ab806291',1,'hardware.h']]], - ['device_5fscreen_5fheight_167',['DEVICE_SCREEN_HEIGHT',['../gb_2hardware_8h.html#ad252264fdcf900e5fbf611f7a45962ed',1,'hardware.h']]], - ['device_5fscreen_5fmap_5fentry_5fsize_168',['DEVICE_SCREEN_MAP_ENTRY_SIZE',['../gb_2hardware_8h.html#a4d682ed7a6158c5ba10afec739b17a8a',1,'hardware.h']]], - ['device_5fscreen_5fpx_5fheight_169',['DEVICE_SCREEN_PX_HEIGHT',['../gb_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec',1,'DEVICE_SCREEN_PX_HEIGHT(): hardware.h'],['../sms_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec',1,'DEVICE_SCREEN_PX_HEIGHT(): hardware.h']]], - ['device_5fscreen_5fpx_5fwidth_170',['DEVICE_SCREEN_PX_WIDTH',['../gb_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d',1,'DEVICE_SCREEN_PX_WIDTH(): hardware.h'],['../sms_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d',1,'DEVICE_SCREEN_PX_WIDTH(): hardware.h']]], - ['device_5fscreen_5fwidth_171',['DEVICE_SCREEN_WIDTH',['../gb_2hardware_8h.html#add7f32ba868ef6517798f5fce337e4b2',1,'hardware.h']]], - ['device_5fscreen_5fx_5foffset_172',['DEVICE_SCREEN_X_OFFSET',['../gb_2hardware_8h.html#a519e327cac96f68a8ca9b77e0343672f',1,'hardware.h']]], - ['device_5fscreen_5fy_5foffset_173',['DEVICE_SCREEN_Y_OFFSET',['../gb_2hardware_8h.html#af334c0e7dd6e434b3dbebd45bcdeb75a',1,'hardware.h']]], - ['device_5fsprite_5fpx_5foffset_5fx_174',['DEVICE_SPRITE_PX_OFFSET_X',['../gb_2hardware_8h.html#af531e7ac0c0a58517fa3061631745c31',1,'hardware.h']]], - ['device_5fsprite_5fpx_5foffset_5fy_175',['DEVICE_SPRITE_PX_OFFSET_Y',['../gb_2hardware_8h.html#a7f6c8420831388300bbec13ea4cb57a0',1,'hardware.h']]], - ['device_5fsupports_5fcolor_176',['DEVICE_SUPPORTS_COLOR',['../gb_8h.html#a231ec05679809190782e61c6e8aaaba4',1,'DEVICE_SUPPORTS_COLOR(): gb.h'],['../sms_8h.html#a231ec05679809190782e61c6e8aaaba4',1,'DEVICE_SUPPORTS_COLOR(): sms.h']]], - ['disable_5finterrupts_177',['disable_interrupts',['../gb_8h.html#a8a71c706c3eb1343196adf77f5825747',1,'gb.h']]], - ['disable_5foam_5fdma_178',['DISABLE_OAM_DMA',['../gb_8h.html#a47607089a434dcda7a8583cfca03b604',1,'gb.h']]], - ['disable_5fram_179',['DISABLE_RAM',['../gb_8h.html#a649d27b5587de16a66176e03a1b8ebd5',1,'DISABLE_RAM(): gb.h'],['../sms_8h.html#a649d27b5587de16a66176e03a1b8ebd5',1,'DISABLE_RAM(): sms.h']]], - ['disable_5fram_5fmbc1_180',['DISABLE_RAM_MBC1',['../gb_8h.html#a177fadce938422926b186a8e42575d1d',1,'gb.h']]], - ['disable_5fram_5fmbc5_181',['DISABLE_RAM_MBC5',['../gb_8h.html#a60191cdfa50ed9b88515f181747eaba2',1,'gb.h']]], - ['disable_5fvbl_5ftransfer_182',['DISABLE_VBL_TRANSFER',['../gb_8h.html#abfd70bf31185a4900680977c9fb5a5ec',1,'DISABLE_VBL_TRANSFER(): gb.h'],['../sms_8h.html#abfd70bf31185a4900680977c9fb5a5ec',1,'DISABLE_VBL_TRANSFER(): sms.h']]], - ['display_5foff_183',['DISPLAY_OFF',['../gb_8h.html#ad2ec9831813c5e7069917aa4455af682',1,'DISPLAY_OFF(): gb.h'],['../sms_8h.html#ad2ec9831813c5e7069917aa4455af682',1,'DISPLAY_OFF(): sms.h'],['../gb_8h.html#a067f16eeb168f3ac9312a4766e7d2ff2',1,'display_off() __preserves_regs(b: gb.h'],['../sms_8h.html#a7b09691f25fddd65f12ed199b3f88ef0',1,'display_off(): sms.h']]], - ['display_5fon_184',['DISPLAY_ON',['../gb_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4',1,'DISPLAY_ON(): gb.h'],['../sms_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4',1,'DISPLAY_ON(): sms.h']]], - ['div_5freg_185',['DIV_REG',['../gb_2hardware_8h.html#afa1e18e47bf68ce68d7807fff6edf16b',1,'hardware.h']]], - ['dkgrey_186',['DKGREY',['../drawing_8h.html#a4dad87d91b9201be3b4ede372f31ae8a',1,'drawing.h']]], - ['dma_5freg_187',['DMA_REG',['../gb_2hardware_8h.html#ae13ce414d3fe7c98c1434918186dfc81',1,'hardware.h']]], - ['dmg_5fblack_188',['DMG_BLACK',['../gb_8h.html#ab311e53739c992294ae07ca506a924ad',1,'gb.h']]], - ['dmg_5fdark_5fgray_189',['DMG_DARK_GRAY',['../gb_8h.html#a45d13a674e169dd83df7e1f46513ccba',1,'gb.h']]], - ['dmg_5flite_5fgray_190',['DMG_LITE_GRAY',['../gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3',1,'gb.h']]], - ['dmg_5fpalette_191',['DMG_PALETTE',['../gb_8h.html#a9727caafc483ba6ec65e9344b033d684',1,'gb.h']]], - ['dmg_5ftype_192',['DMG_TYPE',['../gb_8h.html#a0031c07799247a6d6c1bfa3decac79d0',1,'gb.h']]], - ['dmg_5fwhite_193',['DMG_WHITE',['../gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3',1,'gb.h']]], - ['docs_5findex_2emd_194',['docs_index.md',['../docs__index_8md.html',1,'']]], - ['draw_5fimage_195',['draw_image',['../drawing_8h.html#ab2c383d3e1541fae40cf5174e22166c6',1,'drawing.h']]], - ['drawing_2eh_196',['drawing.h',['../drawing_8h.html',1,'']]], - ['dtile_197',['dtile',['../structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f',1,'metasprite_t']]], - ['dword_198',['DWORD',['../asm_2types_8h.html#ad4ab93994d05960e2f96e83b4c45c1cf',1,'types.h']]], - ['dx_199',['dx',['../structmetasprite__t.html#a67d2a6fb62059da39b54e975c4fbb324',1,'metasprite_t']]], - ['dy_200',['dy',['../structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb',1,'metasprite_t']]] + ['d_168',['d',['../gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e',1,'d(): gb.h'],['../sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e',1,'d(): sms.h']]], + ['delay_169',['delay',['../gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d',1,'delay(uint16_t d) OLDCALL: gb.h'],['../sms_8h.html#a217232c82eb5f99f7639b5786ce5abc6',1,'delay(uint16_t d) Z88DK_FASTCALL: sms.h']]], + ['device_5fscreen_5fbuffer_5fheight_170',['DEVICE_SCREEN_BUFFER_HEIGHT',['../gb_2hardware_8h.html#a81fb56b6778772f829dab4c534e7749e',1,'hardware.h']]], + ['device_5fscreen_5fbuffer_5fwidth_171',['DEVICE_SCREEN_BUFFER_WIDTH',['../gb_2hardware_8h.html#a491dc081eae8c81e7ca88075ab806291',1,'hardware.h']]], + ['device_5fscreen_5fheight_172',['DEVICE_SCREEN_HEIGHT',['../gb_2hardware_8h.html#ad252264fdcf900e5fbf611f7a45962ed',1,'hardware.h']]], + ['device_5fscreen_5fmap_5fentry_5fsize_173',['DEVICE_SCREEN_MAP_ENTRY_SIZE',['../gb_2hardware_8h.html#a4d682ed7a6158c5ba10afec739b17a8a',1,'hardware.h']]], + ['device_5fscreen_5fpx_5fheight_174',['DEVICE_SCREEN_PX_HEIGHT',['../gb_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec',1,'DEVICE_SCREEN_PX_HEIGHT(): hardware.h'],['../sms_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec',1,'DEVICE_SCREEN_PX_HEIGHT(): hardware.h']]], + ['device_5fscreen_5fpx_5fwidth_175',['DEVICE_SCREEN_PX_WIDTH',['../gb_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d',1,'DEVICE_SCREEN_PX_WIDTH(): hardware.h'],['../sms_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d',1,'DEVICE_SCREEN_PX_WIDTH(): hardware.h']]], + ['device_5fscreen_5fwidth_176',['DEVICE_SCREEN_WIDTH',['../gb_2hardware_8h.html#add7f32ba868ef6517798f5fce337e4b2',1,'hardware.h']]], + ['device_5fscreen_5fx_5foffset_177',['DEVICE_SCREEN_X_OFFSET',['../gb_2hardware_8h.html#a519e327cac96f68a8ca9b77e0343672f',1,'hardware.h']]], + ['device_5fscreen_5fy_5foffset_178',['DEVICE_SCREEN_Y_OFFSET',['../gb_2hardware_8h.html#af334c0e7dd6e434b3dbebd45bcdeb75a',1,'hardware.h']]], + ['device_5fsprite_5fpx_5foffset_5fx_179',['DEVICE_SPRITE_PX_OFFSET_X',['../gb_2hardware_8h.html#af531e7ac0c0a58517fa3061631745c31',1,'hardware.h']]], + ['device_5fsprite_5fpx_5foffset_5fy_180',['DEVICE_SPRITE_PX_OFFSET_Y',['../gb_2hardware_8h.html#a7f6c8420831388300bbec13ea4cb57a0',1,'hardware.h']]], + ['device_5fsupports_5fcolor_181',['DEVICE_SUPPORTS_COLOR',['../gb_8h.html#a231ec05679809190782e61c6e8aaaba4',1,'DEVICE_SUPPORTS_COLOR(): gb.h'],['../sms_8h.html#a231ec05679809190782e61c6e8aaaba4',1,'DEVICE_SUPPORTS_COLOR(): sms.h']]], + ['disable_5finterrupts_182',['disable_interrupts',['../gb_8h.html#ad77796783b3a601b6f3781dfc3983499',1,'gb.h']]], + ['disable_5foam_5fdma_183',['DISABLE_OAM_DMA',['../gb_8h.html#a47607089a434dcda7a8583cfca03b604',1,'gb.h']]], + ['disable_5fram_184',['DISABLE_RAM',['../gb_8h.html#a649d27b5587de16a66176e03a1b8ebd5',1,'DISABLE_RAM(): gb.h'],['../sms_8h.html#a649d27b5587de16a66176e03a1b8ebd5',1,'DISABLE_RAM(): sms.h']]], + ['disable_5fram_5fmbc1_185',['DISABLE_RAM_MBC1',['../gb_8h.html#a177fadce938422926b186a8e42575d1d',1,'gb.h']]], + ['disable_5fram_5fmbc5_186',['DISABLE_RAM_MBC5',['../gb_8h.html#a60191cdfa50ed9b88515f181747eaba2',1,'gb.h']]], + ['disable_5fvbl_5ftransfer_187',['DISABLE_VBL_TRANSFER',['../gb_8h.html#abfd70bf31185a4900680977c9fb5a5ec',1,'DISABLE_VBL_TRANSFER(): gb.h'],['../sms_8h.html#abfd70bf31185a4900680977c9fb5a5ec',1,'DISABLE_VBL_TRANSFER(): sms.h']]], + ['display_5foff_188',['display_off',['../gb_8h.html#a04d57683cdd046dfa45e7e56d7c4ec4d',1,'display_off() PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a7b09691f25fddd65f12ed199b3f88ef0',1,'display_off(): sms.h'],['../gb_8h.html#ad2ec9831813c5e7069917aa4455af682',1,'DISPLAY_OFF(): gb.h'],['../sms_8h.html#ad2ec9831813c5e7069917aa4455af682',1,'DISPLAY_OFF(): sms.h']]], + ['display_5fon_189',['DISPLAY_ON',['../gb_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4',1,'DISPLAY_ON(): gb.h'],['../sms_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4',1,'DISPLAY_ON(): sms.h']]], + ['div_5freg_190',['DIV_REG',['../gb_2hardware_8h.html#afa1e18e47bf68ce68d7807fff6edf16b',1,'hardware.h']]], + ['dkgrey_191',['DKGREY',['../drawing_8h.html#a4dad87d91b9201be3b4ede372f31ae8a',1,'drawing.h']]], + ['dma_5freg_192',['DMA_REG',['../gb_2hardware_8h.html#ae13ce414d3fe7c98c1434918186dfc81',1,'hardware.h']]], + ['dmg_5fblack_193',['DMG_BLACK',['../gb_8h.html#ab311e53739c992294ae07ca506a924ad',1,'gb.h']]], + ['dmg_5fdark_5fgray_194',['DMG_DARK_GRAY',['../gb_8h.html#a45d13a674e169dd83df7e1f46513ccba',1,'gb.h']]], + ['dmg_5flite_5fgray_195',['DMG_LITE_GRAY',['../gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3',1,'gb.h']]], + ['dmg_5fpalette_196',['DMG_PALETTE',['../gb_8h.html#a9727caafc483ba6ec65e9344b033d684',1,'gb.h']]], + ['dmg_5ftype_197',['DMG_TYPE',['../gb_8h.html#a0031c07799247a6d6c1bfa3decac79d0',1,'gb.h']]], + ['dmg_5fwhite_198',['DMG_WHITE',['../gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3',1,'gb.h']]], + ['docs_5findex_2emd_199',['docs_index.md',['../docs__index_8md.html',1,'']]], + ['draw_5fimage_200',['draw_image',['../drawing_8h.html#ab2c383d3e1541fae40cf5174e22166c6',1,'drawing.h']]], + ['drawing_2eh_201',['drawing.h',['../drawing_8h.html',1,'']]], + ['dtile_202',['dtile',['../structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f',1,'metasprite_t']]], + ['dword_203',['DWORD',['../asm_2types_8h.html#ad4ab93994d05960e2f96e83b4c45c1cf',1,'types.h']]], + ['dx_204',['dx',['../structmetasprite__t.html#a67d2a6fb62059da39b54e975c4fbb324',1,'metasprite_t']]], + ['dy_205',['dy',['../structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb',1,'metasprite_t']]] ]; diff --git a/docs/api/search/all_8.js b/docs/api/search/all_8.js @@ -1,13 +1,21 @@ var searchData= [ - ['example_20programs_201',['Example Programs',['../docs_example_programs.html',1,'index']]], - ['e_202',['e',['../gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79',1,'e(): gb.h'],['../sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79',1,'e(): sms.h']]], - ['empty_5fiflag_203',['EMPTY_IFLAG',['../gb_8h.html#aa027abe630d44039f238034bcb2d2f36',1,'EMPTY_IFLAG(): gb.h'],['../sms_8h.html#aa027abe630d44039f238034bcb2d2f36',1,'EMPTY_IFLAG(): sms.h']]], - ['enable_5finterrupts_204',['enable_interrupts',['../gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef',1,'gb.h']]], - ['enable_5foam_5fdma_205',['ENABLE_OAM_DMA',['../gb_8h.html#a20895d53fe9caacb08ce8b071d57ce53',1,'gb.h']]], - ['enable_5fram_206',['ENABLE_RAM',['../gb_8h.html#a0e9c88657beaac946231a4801481b97f',1,'ENABLE_RAM(): gb.h'],['../sms_8h.html#a0e9c88657beaac946231a4801481b97f',1,'ENABLE_RAM(): sms.h']]], - ['enable_5fram_5fmbc1_207',['ENABLE_RAM_MBC1',['../gb_8h.html#ae202f64307ec00f6970ef9225e54646c',1,'gb.h']]], - ['enable_5fram_5fmbc5_208',['ENABLE_RAM_MBC5',['../gb_8h.html#a3f033f00c8d781637f9a665b06750937',1,'gb.h']]], - ['enable_5fvbl_5ftransfer_209',['ENABLE_VBL_TRANSFER',['../gb_8h.html#a77d516c9d3f86f100eddea5e0d133a76',1,'ENABLE_VBL_TRANSFER(): gb.h'],['../sms_8h.html#a77d516c9d3f86f100eddea5e0d133a76',1,'ENABLE_VBL_TRANSFER(): sms.h']]], - ['exit_210',['exit',['../stdlib_8h.html#a55e99c539cf7723ec15e856b7e0a8cee',1,'stdlib.h']]] + ['example_20programs_206',['Example Programs',['../docs_example_programs.html',1,'index']]], + ['e_207',['e',['../gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79',1,'e(): gb.h'],['../sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79',1,'e(): sms.h']]], + ['empty_5fiflag_208',['EMPTY_IFLAG',['../gb_8h.html#aa027abe630d44039f238034bcb2d2f36',1,'EMPTY_IFLAG(): gb.h'],['../sms_8h.html#aa027abe630d44039f238034bcb2d2f36',1,'EMPTY_IFLAG(): sms.h']]], + ['emu_5fbreakpoint_209',['EMU_BREAKPOINT',['../emu__debug_8h.html#a9e856b4691d63bb41c5148b9097bd2bb',1,'emu_debug.h']]], + ['emu_5fdebug_2eh_210',['emu_debug.h',['../emu__debug_8h.html',1,'']]], + ['emu_5fmessage_211',['EMU_MESSAGE',['../emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557',1,'emu_debug.h']]], + ['emu_5fprintf_212',['EMU_printf',['../emu__debug_8h.html#a586ce1ddfba9c35726887ca31f933963',1,'emu_debug.h']]], + ['emu_5fprofile_5fbegin_213',['EMU_PROFILE_BEGIN',['../emu__debug_8h.html#a5359c3e6ddab89f41f1de770cc3640d4',1,'emu_debug.h']]], + ['emu_5fprofile_5fend_214',['EMU_PROFILE_END',['../emu__debug_8h.html#acce78126775a7ca3c862459e28203aba',1,'emu_debug.h']]], + ['emu_5fprofiler_5fmessage_215',['EMU_profiler_message',['../emu__debug_8h.html#a1e2adc0111203ce0f551bcb1d99395df',1,'emu_debug.h']]], + ['emu_5ftext_216',['EMU_TEXT',['../emu__debug_8h.html#ad1ca656789d7d285b352afeaa4cc56bd',1,'emu_debug.h']]], + ['enable_5finterrupts_217',['enable_interrupts',['../gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867',1,'gb.h']]], + ['enable_5foam_5fdma_218',['ENABLE_OAM_DMA',['../gb_8h.html#a20895d53fe9caacb08ce8b071d57ce53',1,'gb.h']]], + ['enable_5fram_219',['ENABLE_RAM',['../gb_8h.html#a0e9c88657beaac946231a4801481b97f',1,'ENABLE_RAM(): gb.h'],['../sms_8h.html#a0e9c88657beaac946231a4801481b97f',1,'ENABLE_RAM(): sms.h']]], + ['enable_5fram_5fmbc1_220',['ENABLE_RAM_MBC1',['../gb_8h.html#ae202f64307ec00f6970ef9225e54646c',1,'gb.h']]], + ['enable_5fram_5fmbc5_221',['ENABLE_RAM_MBC5',['../gb_8h.html#a3f033f00c8d781637f9a665b06750937',1,'gb.h']]], + ['enable_5fvbl_5ftransfer_222',['ENABLE_VBL_TRANSFER',['../gb_8h.html#a77d516c9d3f86f100eddea5e0d133a76',1,'ENABLE_VBL_TRANSFER(): gb.h'],['../sms_8h.html#a77d516c9d3f86f100eddea5e0d133a76',1,'ENABLE_VBL_TRANSFER(): sms.h']]], + ['exit_223',['exit',['../stdlib_8h.html#a55e99c539cf7723ec15e856b7e0a8cee',1,'stdlib.h']]] ]; diff --git a/docs/api/search/all_9.js b/docs/api/search/all_9.js @@ -1,37 +1,37 @@ var searchData= [ - ['frequently_20asked_20questions_20_28faq_29_211',['Frequently Asked Questions (FAQ)',['../docs_faq.html',1,'index']]], - ['false_212',['false',['../stdbool_8h.html#a65e9886d74aaee76545e83dd09011727',1,'false(): stdbool.h'],['../types_8h.html#aa93f0eb578d23995850d61f7d61c55c1',1,'FALSE(): types.h']]], - ['far_5fcall_213',['FAR_CALL',['../far__ptr_8h.html#a7f4ab1893ea392f8bf042a3b97de4730',1,'far_ptr.h']]], - ['far_5ffunc_214',['FAR_FUNC',['../far__ptr_8h.html#a048cfacb5d37ab758a74f44e86c1dbc6',1,'far_ptr.h']]], - ['far_5fofs_215',['FAR_OFS',['../far__ptr_8h.html#ab79586d8cc3cb926f363f4d0cf7143d5',1,'far_ptr.h']]], - ['far_5fptr_216',['FAR_PTR',['../far__ptr_8h.html#a7c6f52121dd07af29b477f4e64314842',1,'far_ptr.h']]], - ['far_5fptr_2eh_217',['far_ptr.h',['../far__ptr_8h.html',1,'']]], - ['far_5fseg_218',['FAR_SEG',['../far__ptr_8h.html#a5bebc5322a1bba1c60c8d60e9b58be14',1,'far_ptr.h']]], - ['fill_5fbkg_5frect_219',['fill_bkg_rect',['../sms_8h.html#a3b7ffab8d64e2c345f03221145a935c0',1,'fill_bkg_rect(): sms.h'],['../gb_8h.html#ab22d0a3d624ff20198577c71aa755c19',1,'fill_bkg_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t tile) OLDCALL __preserves_regs(b: gb.h']]], - ['fill_5frect_220',['fill_rect',['../gb_8h.html#a47865835d7d007d71b4bc8ae5cefb73a',1,'fill_rect(): gb.h'],['../sms_8h.html#ab380f3a45e943a45a4cd3189a99ca4df',1,'fill_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint16_t tile) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['fill_5frect_5fcompat_221',['fill_rect_compat',['../sms_8h.html#aac998cb7f78186158ced5448dcfc3503',1,'sms.h']]], - ['fill_5fwin_5frect_222',['fill_win_rect',['../sms_8h.html#a5a69a3129f4faa99857a8b3d80db1d4a',1,'fill_win_rect(): sms.h'],['../gb_8h.html#a9eac2f4130d55f411aad246658d046a9',1,'fill_win_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t tile) OLDCALL __preserves_regs(b: gb.h']]], - ['first_5ftile_223',['first_tile',['../structsfont__handle.html#aa5a35bc92adbcfff5a531bf65da65630',1,'sfont_handle']]], - ['fixed_224',['fixed',['../asm_2types_8h.html#ab61f8ff6a444351a91fc9a67c8e6145f',1,'types.h']]], - ['flag_225',['flag',['../structatomic__flag.html#a4fe9312fe0abb35e9f3626dc06c89bc4',1,'atomic_flag']]], - ['fn_226',['fn',['../union____far__ptr.html#a90065c72477187e9f9c97c07c90f6af9',1,'__far_ptr']]], - ['font_227',['font',['../structsfont__handle.html#afa826a9e7aa0dc456bd342717eea1f89',1,'sfont_handle']]], - ['font_2eh_228',['font.h',['../font_8h.html',1,'']]], - ['font_5f128encoding_229',['FONT_128ENCODING',['../font_8h.html#a305ee4387ba051bd0e372b8a6dfb6905',1,'font.h']]], - ['font_5f256encoding_230',['FONT_256ENCODING',['../font_8h.html#a63b93b85724b26151ddc2f0fc8050bd8',1,'font.h']]], - ['font_5fcolor_231',['font_color',['../font_8h.html#a47b4964ef677dce9fdf1e9df29804721',1,'font.h']]], - ['font_5fcompressed_232',['FONT_COMPRESSED',['../font_8h.html#a7c5452979723b3535d17e253beb5d604',1,'font.h']]], - ['font_5fibm_233',['font_ibm',['../group__gbdk__fonts.html#ga6dcb04fed78fc39b95171988b776e6bb',1,'font.h']]], - ['font_5fibm_5ffixed_234',['font_ibm_fixed',['../group__gbdk__fonts.html#gab8c52bed73e745f1ee910f2da60ddb4c',1,'font.h']]], - ['font_5finit_235',['font_init',['../font_8h.html#a6b0459241994d549ae90776cdacede2d',1,'font.h']]], - ['font_5fitalic_236',['font_italic',['../group__gbdk__fonts.html#ga17e825a65ba38f34a658fe0a2c99d8d4',1,'font.h']]], - ['font_5fload_237',['font_load',['../font_8h.html#ad089c09492dbd0423f4dd28f1a49a995',1,'font.h']]], - ['font_5fmin_238',['font_min',['../group__gbdk__fonts.html#gad8497ecbd9d845fc24a56688f157aad8',1,'font.h']]], - ['font_5fnoencoding_239',['FONT_NOENCODING',['../font_8h.html#a80d0f581e17313b62dd7824653462b55',1,'font.h']]], - ['font_5fset_240',['font_set',['../font_8h.html#a7dee0ba7beb261727340b8cce7c5afcd',1,'font.h']]], - ['font_5fspect_241',['font_spect',['../group__gbdk__fonts.html#ga1b59bbd85c12436eeef52d4c32c7345d',1,'font.h']]], - ['font_5ft_242',['font_t',['../font_8h.html#a7c6b54e58c41763c66f15ec4528a1d4a',1,'font.h']]], - ['free_243',['free',['../stdlib_8h.html#afbedc913aa4651b3c3b4b3aecd9b4711',1,'stdlib.h']]], - ['func_244',['func',['../structisr__vector__t.html#a978f0092183f75d20a0f7de7add24b50',1,'isr_vector_t::func()'],['../structisr__nested__vector__t.html#a4009f14b9912d9a852873e2019044d0c',1,'isr_nested_vector_t::func()']]] + ['frequently_20asked_20questions_20_28faq_29_224',['Frequently Asked Questions (FAQ)',['../docs_faq.html',1,'index']]], + ['false_225',['FALSE',['../types_8h.html#aa93f0eb578d23995850d61f7d61c55c1',1,'FALSE(): types.h'],['../stdbool_8h.html#a65e9886d74aaee76545e83dd09011727',1,'false(): stdbool.h']]], + ['far_5fcall_226',['FAR_CALL',['../far__ptr_8h.html#a7f4ab1893ea392f8bf042a3b97de4730',1,'far_ptr.h']]], + ['far_5ffunc_227',['FAR_FUNC',['../far__ptr_8h.html#a048cfacb5d37ab758a74f44e86c1dbc6',1,'far_ptr.h']]], + ['far_5fofs_228',['FAR_OFS',['../far__ptr_8h.html#ab79586d8cc3cb926f363f4d0cf7143d5',1,'far_ptr.h']]], + ['far_5fptr_229',['FAR_PTR',['../far__ptr_8h.html#a7c6f52121dd07af29b477f4e64314842',1,'far_ptr.h']]], + ['far_5fptr_2eh_230',['far_ptr.h',['../far__ptr_8h.html',1,'']]], + ['far_5fseg_231',['FAR_SEG',['../far__ptr_8h.html#a5bebc5322a1bba1c60c8d60e9b58be14',1,'far_ptr.h']]], + ['fill_5fbkg_5frect_232',['fill_bkg_rect',['../sms_8h.html#a3b7ffab8d64e2c345f03221145a935c0',1,'fill_bkg_rect(): sms.h'],['../gb_8h.html#a74c3f53fca019f7abcd1270650808849',1,'fill_bkg_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t tile) OLDCALL PRESERVES_REGS(b: gb.h']]], + ['fill_5frect_233',['fill_rect',['../gb_8h.html#a47865835d7d007d71b4bc8ae5cefb73a',1,'fill_rect(): gb.h'],['../sms_8h.html#aba932d128338fb19644842565139a20d',1,'fill_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint16_t tile) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['fill_5frect_5fcompat_234',['fill_rect_compat',['../sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8',1,'sms.h']]], + ['fill_5fwin_5frect_235',['fill_win_rect',['../sms_8h.html#a5a69a3129f4faa99857a8b3d80db1d4a',1,'fill_win_rect(): sms.h'],['../gb_8h.html#ad5bc3dc922707507aa51ed7f5b4a21e3',1,'fill_win_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t tile) OLDCALL PRESERVES_REGS(b: gb.h']]], + ['first_5ftile_236',['first_tile',['../structsfont__handle.html#aa5a35bc92adbcfff5a531bf65da65630',1,'sfont_handle']]], + ['fixed_237',['fixed',['../asm_2types_8h.html#ab61f8ff6a444351a91fc9a67c8e6145f',1,'types.h']]], + ['flag_238',['flag',['../structatomic__flag.html#a4fe9312fe0abb35e9f3626dc06c89bc4',1,'atomic_flag']]], + ['fn_239',['fn',['../union____far__ptr.html#a90065c72477187e9f9c97c07c90f6af9',1,'__far_ptr']]], + ['font_240',['font',['../structsfont__handle.html#afa826a9e7aa0dc456bd342717eea1f89',1,'sfont_handle']]], + ['font_2eh_241',['font.h',['../font_8h.html',1,'']]], + ['font_5f128encoding_242',['FONT_128ENCODING',['../font_8h.html#a305ee4387ba051bd0e372b8a6dfb6905',1,'font.h']]], + ['font_5f256encoding_243',['FONT_256ENCODING',['../font_8h.html#a63b93b85724b26151ddc2f0fc8050bd8',1,'font.h']]], + ['font_5fcolor_244',['font_color',['../font_8h.html#a47b4964ef677dce9fdf1e9df29804721',1,'font.h']]], + ['font_5fcompressed_245',['FONT_COMPRESSED',['../font_8h.html#a7c5452979723b3535d17e253beb5d604',1,'font.h']]], + ['font_5fibm_246',['font_ibm',['../group__gbdk__fonts.html#ga6dcb04fed78fc39b95171988b776e6bb',1,'font.h']]], + ['font_5fibm_5ffixed_247',['font_ibm_fixed',['../group__gbdk__fonts.html#gab8c52bed73e745f1ee910f2da60ddb4c',1,'font.h']]], + ['font_5finit_248',['font_init',['../font_8h.html#a6b0459241994d549ae90776cdacede2d',1,'font.h']]], + ['font_5fitalic_249',['font_italic',['../group__gbdk__fonts.html#ga17e825a65ba38f34a658fe0a2c99d8d4',1,'font.h']]], + ['font_5fload_250',['font_load',['../font_8h.html#ad089c09492dbd0423f4dd28f1a49a995',1,'font.h']]], + ['font_5fmin_251',['font_min',['../group__gbdk__fonts.html#gad8497ecbd9d845fc24a56688f157aad8',1,'font.h']]], + ['font_5fnoencoding_252',['FONT_NOENCODING',['../font_8h.html#a80d0f581e17313b62dd7824653462b55',1,'font.h']]], + ['font_5fset_253',['font_set',['../font_8h.html#a7dee0ba7beb261727340b8cce7c5afcd',1,'font.h']]], + ['font_5fspect_254',['font_spect',['../group__gbdk__fonts.html#ga1b59bbd85c12436eeef52d4c32c7345d',1,'font.h']]], + ['font_5ft_255',['font_t',['../font_8h.html#a7c6b54e58c41763c66f15ec4528a1d4a',1,'font.h']]], + ['free_256',['free',['../stdlib_8h.html#afbedc913aa4651b3c3b4b3aecd9b4711',1,'stdlib.h']]], + ['func_257',['func',['../structisr__vector__t.html#a978f0092183f75d20a0f7de7add24b50',1,'isr_vector_t::func()'],['../structisr__nested__vector__t.html#a4009f14b9912d9a852873e2019044d0c',1,'isr_nested_vector_t::func()']]] ]; diff --git a/docs/api/search/all_a.js b/docs/api/search/all_a.js @@ -1,43 +1,43 @@ var searchData= [ - ['getting_20started_245',['Getting Started',['../docs_getting_started.html',1,'index']]], - ['gbdk_20releases_246',['GBDK Releases',['../docs_releases.html',1,'index']]], - ['gbdk_20toolchain_247',['GBDK Toolchain',['../docs_toolchain.html',1,'index']]], - ['gameboy_248',['GAMEBOY',['../gb_8h.html#af10046e88cba47031142a763a94210df',1,'gb.h']]], - ['gb_2eh_249',['gb.h',['../gb_8h.html',1,'']]], - ['gb_5fdecompress_250',['gb_decompress',['../gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a',1,'gb_decompress(const uint8_t *sour, uint8_t *dest) OLDCALL __preserves_regs(b: gbdecompress.h'],['../sms_2gbdecompress_8h.html#a4f181b96c71ce66abdd46928b3975ade',1,'gb_decompress(const uint8_t *sour, uint8_t *dest) __z88dk_callee __preserves_regs(b: gbdecompress.h']]], - ['gb_5fdecompress_5fbkg_5fdata_251',['gb_decompress_bkg_data',['../gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544',1,'gbdecompress.h']]], - ['gb_5fdecompress_5fsprite_5fdata_252',['gb_decompress_sprite_data',['../gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d',1,'gbdecompress.h']]], - ['gb_5fdecompress_5fwin_5fdata_253',['gb_decompress_win_data',['../gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78',1,'gbdecompress.h']]], - ['gba_5fdetected_254',['GBA_DETECTED',['../gb_8h.html#a6ccf5d0f34fb0af0b6e73b9df0ccd745',1,'gb.h']]], - ['gba_5fnot_5fdetected_255',['GBA_NOT_DETECTED',['../gb_8h.html#aa311f84dd9fce6e136ba4881e7b0d98d',1,'gb.h']]], - ['gbdecompress_2eh_256',['gbdecompress.h',['../gb_2gbdecompress_8h.html',1,'(Global Namespace)'],['../gbdk_2gbdecompress_8h.html',1,'(Global Namespace)'],['../sms_2gbdecompress_8h.html',1,'(Global Namespace)']]], - ['gbdk_2dlib_2eh_257',['gbdk-lib.h',['../gbdk-lib_8h.html',1,'']]], - ['get_5fbkg_5fdata_258',['get_bkg_data',['../gb_8h.html#a1207717410f1c9beb6a719eef400ffd7',1,'gb.h']]], - ['get_5fbkg_5ftile_5fxy_259',['get_bkg_tile_xy',['../gb_8h.html#a1a485dfade1a8f07232cbe669a1c1939',1,'gb.h']]], - ['get_5fbkg_5ftiles_260',['get_bkg_tiles',['../gb_8h.html#a68e4586e2401c1e39703571b5b8d934b',1,'gb.h']]], - ['get_5fbkg_5fxy_5faddr_261',['get_bkg_xy_addr',['../gb_8h.html#a194b27b9e852e93ae0a4b55fae7fee6d',1,'get_bkg_xy_addr(uint8_t x, uint8_t y) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#af83d7fd4e4044ac6677f046f679bd7a9',1,'get_bkg_xy_addr(uint8_t x, uint8_t y) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['get_5fdata_262',['get_data',['../gb_8h.html#a924aa554f639022be104392891e156cd',1,'gb.h']]], - ['get_5fmode_263',['get_mode',['../gb_8h.html#a4ed6f21654895e40981802fdbe6b003d',1,'get_mode() OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#ad9a83378f5ec1f6444c879e4cf1e1a83',1,'get_mode() OLDCALL: sms.h']]], - ['get_5fsprite_5fdata_264',['get_sprite_data',['../gb_8h.html#abc82930da7beb0611778f8644e90b5e9',1,'gb.h']]], - ['get_5fsprite_5fprop_265',['get_sprite_prop',['../gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88',1,'get_sprite_prop(uint8_t nb): gb.h'],['../sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88',1,'get_sprite_prop(uint8_t nb): sms.h']]], - ['get_5fsprite_5ftile_266',['get_sprite_tile',['../gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a',1,'get_sprite_tile(uint8_t nb): gb.h'],['../sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a',1,'get_sprite_tile(uint8_t nb): sms.h']]], - ['get_5ftiles_267',['get_tiles',['../gb_8h.html#afdc3ad3ac77ec32609195ae125b919e1',1,'gb.h']]], - ['get_5fvram_5fbyte_268',['get_vram_byte',['../gb_8h.html#a6558dad88815aa73fb81fae2ae90473d',1,'gb.h']]], - ['get_5fwin_5fdata_269',['get_win_data',['../gb_8h.html#ab6321884a3f9028ea0056851d4926919',1,'gb.h']]], - ['get_5fwin_5ftile_5fxy_270',['get_win_tile_xy',['../gb_8h.html#a82582e006a955d2c934786e9d7c29623',1,'gb.h']]], - ['get_5fwin_5ftiles_271',['get_win_tiles',['../gb_8h.html#a7cf5bd73a7493475e17f84995cf865bd',1,'gb.h']]], - ['get_5fwin_5fxy_5faddr_272',['get_win_xy_addr',['../sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412',1,'get_win_xy_addr(): sms.h'],['../gb_8h.html#aea1d2b59419abf7c1a9b95bb278f7a6c',1,'get_win_xy_addr(uint8_t x, uint8_t y) OLDCALL __preserves_regs(b: gb.h']]], - ['getchar_273',['getchar',['../stdio_8h.html#a2c79157c8bc2db72fbf1e34f291ff5d8',1,'stdio.h']]], - ['getpix_274',['getpix',['../drawing_8h.html#a1e268a46a8151f9cc3b7b40100123d09',1,'drawing.h']]], - ['gets_275',['gets',['../stdio_8h.html#a00a5b27bc2e5280952b02c304d7b27bc',1,'stdio.h']]], - ['gotogxy_276',['gotogxy',['../drawing_8h.html#a2d6cbdc9528ec11ac54bd3dbe754ab74',1,'drawing.h']]], - ['gotoxy_277',['gotoxy',['../console_8h.html#a8b4f3b427a9c6d87a09e1983df077e58',1,'console.h']]], - ['gprint_278',['gprint',['../drawing_8h.html#aef65e5faa0adb82768fca06aafbe50e8',1,'drawing.h']]], - ['gprintf_279',['gprintf',['../drawing_8h.html#a5f7a0ed309f9526e9be285146559848c',1,'drawing.h']]], - ['gprintln_280',['gprintln',['../drawing_8h.html#afeb7c0a887fe3d18659175de77a787a5',1,'drawing.h']]], - ['gprintn_281',['gprintn',['../drawing_8h.html#a9d70278d1d09fdc24ea6bd9788dbd96a',1,'drawing.h']]], - ['graphics_5fheight_282',['GRAPHICS_HEIGHT',['../drawing_8h.html#aa9909ac8ecb03cbb763258a8f98f4170',1,'drawing.h']]], - ['graphics_5fwidth_283',['GRAPHICS_WIDTH',['../drawing_8h.html#a9a07c448b4d721dbec2715f51727e099',1,'drawing.h']]], - ['general_20documentation_284',['General Documentation',['../index.html',1,'']]] + ['getting_20started_258',['Getting Started',['../docs_getting_started.html',1,'index']]], + ['gbdk_20releases_259',['GBDK Releases',['../docs_releases.html',1,'index']]], + ['gbdk_20toolchain_260',['GBDK Toolchain',['../docs_toolchain.html',1,'index']]], + ['gameboy_261',['GAMEBOY',['../gb_8h.html#af10046e88cba47031142a763a94210df',1,'gb.h']]], + ['gb_2eh_262',['gb.h',['../gb_8h.html',1,'']]], + ['gb_5fdecompress_263',['gb_decompress',['../gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2',1,'gb_decompress(const uint8_t *sour, uint8_t *dest) OLDCALL PRESERVES_REGS(b: gbdecompress.h'],['../sms_2gbdecompress_8h.html#a9cd1564f78842562c450becf22002db2',1,'gb_decompress(const uint8_t *sour, uint8_t *dest) Z88DK_CALLEE PRESERVES_REGS(b: gbdecompress.h']]], + ['gb_5fdecompress_5fbkg_5fdata_264',['gb_decompress_bkg_data',['../gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8',1,'gbdecompress.h']]], + ['gb_5fdecompress_5fsprite_5fdata_265',['gb_decompress_sprite_data',['../gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff',1,'gbdecompress.h']]], + ['gb_5fdecompress_5fwin_5fdata_266',['gb_decompress_win_data',['../gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284',1,'gbdecompress.h']]], + ['gba_5fdetected_267',['GBA_DETECTED',['../gb_8h.html#a6ccf5d0f34fb0af0b6e73b9df0ccd745',1,'gb.h']]], + ['gba_5fnot_5fdetected_268',['GBA_NOT_DETECTED',['../gb_8h.html#aa311f84dd9fce6e136ba4881e7b0d98d',1,'gb.h']]], + ['gbdecompress_2eh_269',['gbdecompress.h',['../gb_2gbdecompress_8h.html',1,'(Global Namespace)'],['../gbdk_2gbdecompress_8h.html',1,'(Global Namespace)'],['../sms_2gbdecompress_8h.html',1,'(Global Namespace)']]], + ['gbdk_2dlib_2eh_270',['gbdk-lib.h',['../gbdk-lib_8h.html',1,'']]], + ['get_5fbkg_5fdata_271',['get_bkg_data',['../gb_8h.html#a5c13238dfec416439d75b133a272e6df',1,'gb.h']]], + ['get_5fbkg_5ftile_5fxy_272',['get_bkg_tile_xy',['../gb_8h.html#a55c6581dbe9300dc6df41730f090af51',1,'gb.h']]], + ['get_5fbkg_5ftiles_273',['get_bkg_tiles',['../gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0',1,'gb.h']]], + ['get_5fbkg_5fxy_5faddr_274',['get_bkg_xy_addr',['../gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f',1,'get_bkg_xy_addr(uint8_t x, uint8_t y) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63',1,'get_bkg_xy_addr(uint8_t x, uint8_t y) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['get_5fdata_275',['get_data',['../gb_8h.html#afd8fd71eaa36b0ddd54a2e8e516ed224',1,'gb.h']]], + ['get_5fmode_276',['get_mode',['../gb_8h.html#a19969b36a6535fc6a966c0e5476baf9c',1,'get_mode() OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#ad9a83378f5ec1f6444c879e4cf1e1a83',1,'get_mode() OLDCALL: sms.h']]], + ['get_5fsprite_5fdata_277',['get_sprite_data',['../gb_8h.html#adcdec4034a14abc5be9bb88c29b947c9',1,'gb.h']]], + ['get_5fsprite_5fprop_278',['get_sprite_prop',['../gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88',1,'get_sprite_prop(uint8_t nb): gb.h'],['../sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88',1,'get_sprite_prop(uint8_t nb): sms.h']]], + ['get_5fsprite_5ftile_279',['get_sprite_tile',['../gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a',1,'get_sprite_tile(uint8_t nb): gb.h'],['../sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a',1,'get_sprite_tile(uint8_t nb): sms.h']]], + ['get_5ftiles_280',['get_tiles',['../gb_8h.html#a728b9440accedc5fb3477be3d150323a',1,'gb.h']]], + ['get_5fvram_5fbyte_281',['get_vram_byte',['../gb_8h.html#aa33ba8b8d381df76edf15ea251ccb675',1,'gb.h']]], + ['get_5fwin_5fdata_282',['get_win_data',['../gb_8h.html#a7ef32e7c1669aba48f235500a495baba',1,'gb.h']]], + ['get_5fwin_5ftile_5fxy_283',['get_win_tile_xy',['../gb_8h.html#a2e29fdca81c28c627c2591029722e71c',1,'gb.h']]], + ['get_5fwin_5ftiles_284',['get_win_tiles',['../gb_8h.html#a8a469de4c6640f921254b336b5a6191a',1,'gb.h']]], + ['get_5fwin_5fxy_5faddr_285',['get_win_xy_addr',['../sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412',1,'get_win_xy_addr(): sms.h'],['../gb_8h.html#aa8213cfad631865e3b6faec18e772cb4',1,'get_win_xy_addr(uint8_t x, uint8_t y) OLDCALL PRESERVES_REGS(b: gb.h']]], + ['getchar_286',['getchar',['../stdio_8h.html#a2c79157c8bc2db72fbf1e34f291ff5d8',1,'stdio.h']]], + ['getpix_287',['getpix',['../drawing_8h.html#a1e268a46a8151f9cc3b7b40100123d09',1,'drawing.h']]], + ['gets_288',['gets',['../stdio_8h.html#a00a5b27bc2e5280952b02c304d7b27bc',1,'stdio.h']]], + ['gotogxy_289',['gotogxy',['../drawing_8h.html#a2d6cbdc9528ec11ac54bd3dbe754ab74',1,'drawing.h']]], + ['gotoxy_290',['gotoxy',['../console_8h.html#a8b4f3b427a9c6d87a09e1983df077e58',1,'console.h']]], + ['gprint_291',['gprint',['../drawing_8h.html#aef65e5faa0adb82768fca06aafbe50e8',1,'drawing.h']]], + ['gprintf_292',['gprintf',['../drawing_8h.html#a5f7a0ed309f9526e9be285146559848c',1,'drawing.h']]], + ['gprintln_293',['gprintln',['../drawing_8h.html#afeb7c0a887fe3d18659175de77a787a5',1,'drawing.h']]], + ['gprintn_294',['gprintn',['../drawing_8h.html#a9d70278d1d09fdc24ea6bd9788dbd96a',1,'drawing.h']]], + ['graphics_5fheight_295',['GRAPHICS_HEIGHT',['../drawing_8h.html#aa9909ac8ecb03cbb763258a8f98f4170',1,'drawing.h']]], + ['graphics_5fwidth_296',['GRAPHICS_WIDTH',['../drawing_8h.html#a9a07c448b4d721dbec2715f51727e099',1,'drawing.h']]], + ['general_20documentation_297',['General Documentation',['../index.html',1,'']]] ]; diff --git a/docs/api/search/all_b.js b/docs/api/search/all_b.js @@ -1,21 +1,21 @@ var searchData= [ - ['h_285',['h',['../union__fixed.html#acd5ac56a5ed6650d5797e89b278a972f',1,'_fixed::h()'],['../gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456',1,'h(): gb.h'],['../sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456',1,'h(): sms.h']]], - ['hardware_2eh_286',['hardware.h',['../gb_2hardware_8h.html',1,'(Global Namespace)'],['../sms_2hardware_8h.html',1,'(Global Namespace)']]], - ['hdma1_5freg_287',['HDMA1_REG',['../gb_2hardware_8h.html#ab16e97796d675205a027b1b28b52956e',1,'hardware.h']]], - ['hdma2_5freg_288',['HDMA2_REG',['../gb_2hardware_8h.html#a801400d58ab7d862742e43b49fa68c8d',1,'hardware.h']]], - ['hdma3_5freg_289',['HDMA3_REG',['../gb_2hardware_8h.html#a57a94790cda8101a29c0d20086770f1b',1,'hardware.h']]], - ['hdma4_5freg_290',['HDMA4_REG',['../gb_2hardware_8h.html#a3a2e883779980c1c37e780f47da4dd69',1,'hardware.h']]], - ['hdma5_5freg_291',['HDMA5_REG',['../gb_2hardware_8h.html#a1454ad6d5d04273eae1288af86deadac',1,'hardware.h']]], - ['hdma5f_5fbusy_292',['HDMA5F_BUSY',['../gb_2hardware_8h.html#a37c8ee0ef95132fd22cd426868510834',1,'hardware.h']]], - ['hdma5f_5fmode_5fgp_293',['HDMA5F_MODE_GP',['../gb_2hardware_8h.html#a2a1acb31d2869997315be64bff66d24b',1,'hardware.h']]], - ['hdma5f_5fmode_5fhbl_294',['HDMA5F_MODE_HBL',['../gb_2hardware_8h.html#a3c22f7324f09a14d666f9b21a9742789',1,'hardware.h']]], - ['hide_5fbkg_295',['HIDE_BKG',['../gb_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141',1,'HIDE_BKG(): gb.h'],['../sms_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141',1,'HIDE_BKG(): sms.h']]], - ['hide_5fleft_5fcolumn_296',['HIDE_LEFT_COLUMN',['../gb_8h.html#a0659212acd317ccdebc0ecf435df330f',1,'HIDE_LEFT_COLUMN(): gb.h'],['../sms_8h.html#a0659212acd317ccdebc0ecf435df330f',1,'HIDE_LEFT_COLUMN(): sms.h']]], - ['hide_5fmetasprite_297',['hide_metasprite',['../gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906',1,'hide_metasprite(const metasprite_t *metasprite, uint8_t base_sprite): metasprites.h'],['../sms_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906',1,'hide_metasprite(const metasprite_t *metasprite, uint8_t base_sprite): metasprites.h']]], - ['hide_5fsprite_298',['hide_sprite',['../gb_8h.html#ad22c51635d052399bbbe1777999c794d',1,'hide_sprite(uint8_t nb): gb.h'],['../sms_8h.html#ad22c51635d052399bbbe1777999c794d',1,'hide_sprite(uint8_t nb): sms.h']]], - ['hide_5fsprites_299',['HIDE_SPRITES',['../gb_8h.html#a69ef98aee664b8abd8d1a3d45f016dda',1,'HIDE_SPRITES(): gb.h'],['../sms_8h.html#a69ef98aee664b8abd8d1a3d45f016dda',1,'HIDE_SPRITES(): sms.h']]], - ['hide_5fsprites_5frange_300',['hide_sprites_range',['../gb_2metasprites_8h.html#aa01862cdcf50742c46c819668500b76b',1,'hide_sprites_range(UINT8 from, UINT8 to) OLDCALL __preserves_regs(b: metasprites.h'],['../sms_2metasprites_8h.html#a23abcd0a2eb5033abbb9dc0e2ea494d8',1,'hide_sprites_range(UINT8 from, UINT8 to) __z88dk_callee __preserves_regs(iyh: metasprites.h']]], - ['hide_5fwin_301',['HIDE_WIN',['../gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3',1,'HIDE_WIN(): gb.h'],['../sms_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3',1,'HIDE_WIN(): sms.h']]], - ['hiramcpy_302',['hiramcpy',['../gb_8h.html#a08365da56dbc2a97c480818c0e6a62b9',1,'gb.h']]] + ['h_298',['h',['../union__fixed.html#acd5ac56a5ed6650d5797e89b278a972f',1,'_fixed::h()'],['../gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456',1,'h(): gb.h'],['../sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456',1,'h(): sms.h']]], + ['hardware_2eh_299',['hardware.h',['../gb_2hardware_8h.html',1,'(Global Namespace)'],['../sms_2hardware_8h.html',1,'(Global Namespace)']]], + ['hdma1_5freg_300',['HDMA1_REG',['../gb_2hardware_8h.html#ab16e97796d675205a027b1b28b52956e',1,'hardware.h']]], + ['hdma2_5freg_301',['HDMA2_REG',['../gb_2hardware_8h.html#a801400d58ab7d862742e43b49fa68c8d',1,'hardware.h']]], + ['hdma3_5freg_302',['HDMA3_REG',['../gb_2hardware_8h.html#a57a94790cda8101a29c0d20086770f1b',1,'hardware.h']]], + ['hdma4_5freg_303',['HDMA4_REG',['../gb_2hardware_8h.html#a3a2e883779980c1c37e780f47da4dd69',1,'hardware.h']]], + ['hdma5_5freg_304',['HDMA5_REG',['../gb_2hardware_8h.html#a1454ad6d5d04273eae1288af86deadac',1,'hardware.h']]], + ['hdma5f_5fbusy_305',['HDMA5F_BUSY',['../gb_2hardware_8h.html#a37c8ee0ef95132fd22cd426868510834',1,'hardware.h']]], + ['hdma5f_5fmode_5fgp_306',['HDMA5F_MODE_GP',['../gb_2hardware_8h.html#a2a1acb31d2869997315be64bff66d24b',1,'hardware.h']]], + ['hdma5f_5fmode_5fhbl_307',['HDMA5F_MODE_HBL',['../gb_2hardware_8h.html#a3c22f7324f09a14d666f9b21a9742789',1,'hardware.h']]], + ['hide_5fbkg_308',['HIDE_BKG',['../gb_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141',1,'HIDE_BKG(): gb.h'],['../sms_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141',1,'HIDE_BKG(): sms.h']]], + ['hide_5fleft_5fcolumn_309',['HIDE_LEFT_COLUMN',['../gb_8h.html#a0659212acd317ccdebc0ecf435df330f',1,'HIDE_LEFT_COLUMN(): gb.h'],['../sms_8h.html#a0659212acd317ccdebc0ecf435df330f',1,'HIDE_LEFT_COLUMN(): sms.h']]], + ['hide_5fmetasprite_310',['hide_metasprite',['../gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906',1,'hide_metasprite(const metasprite_t *metasprite, uint8_t base_sprite): metasprites.h'],['../sms_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906',1,'hide_metasprite(const metasprite_t *metasprite, uint8_t base_sprite): metasprites.h']]], + ['hide_5fsprite_311',['hide_sprite',['../gb_8h.html#ad22c51635d052399bbbe1777999c794d',1,'hide_sprite(uint8_t nb): gb.h'],['../sms_8h.html#ad22c51635d052399bbbe1777999c794d',1,'hide_sprite(uint8_t nb): sms.h']]], + ['hide_5fsprites_312',['HIDE_SPRITES',['../gb_8h.html#a69ef98aee664b8abd8d1a3d45f016dda',1,'HIDE_SPRITES(): gb.h'],['../sms_8h.html#a69ef98aee664b8abd8d1a3d45f016dda',1,'HIDE_SPRITES(): sms.h']]], + ['hide_5fsprites_5frange_313',['hide_sprites_range',['../gb_2metasprites_8h.html#a77bb622fa362f2e04be1bafaa099a709',1,'hide_sprites_range(UINT8 from, UINT8 to) OLDCALL PRESERVES_REGS(b: metasprites.h'],['../sms_2metasprites_8h.html#a0c668f442b4764275a1dade597a59e20',1,'hide_sprites_range(UINT8 from, UINT8 to) Z88DK_CALLEE PRESERVES_REGS(iyh: metasprites.h']]], + ['hide_5fwin_314',['HIDE_WIN',['../gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3',1,'HIDE_WIN(): gb.h'],['../sms_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3',1,'HIDE_WIN(): sms.h']]], + ['hiramcpy_315',['hiramcpy',['../gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44',1,'gb.h']]] ]; diff --git a/docs/api/search/all_c.js b/docs/api/search/all_c.js @@ -1,79 +1,79 @@ var searchData= [ - ['ie_5freg_303',['IE_REG',['../gb_2hardware_8h.html#aaef0dc6aab2f821ab406fdbc643af48e',1,'hardware.h']]], - ['ief_5fhilo_304',['IEF_HILO',['../gb_2hardware_8h.html#aa7ce989df75547f190d33cc85dce0187',1,'hardware.h']]], - ['ief_5fserial_305',['IEF_SERIAL',['../gb_2hardware_8h.html#a921bdc6c640b74c8c41e65f27882c68a',1,'hardware.h']]], - ['ief_5fstat_306',['IEF_STAT',['../gb_2hardware_8h.html#a2eec77ca1b8730b410a7075c5a9c189e',1,'hardware.h']]], - ['ief_5ftimer_307',['IEF_TIMER',['../gb_2hardware_8h.html#a7c06fa33152a235baf273f1828dfa0a4',1,'hardware.h']]], - ['ief_5fvblank_308',['IEF_VBLANK',['../gb_2hardware_8h.html#a3b8d7fece663511d5778136a5ca0070b',1,'hardware.h']]], - ['if_5freg_309',['IF_REG',['../gb_2hardware_8h.html#a509a5d0f138b40830cb447a862573be5',1,'hardware.h']]], - ['incbin_310',['INCBIN',['../incbin_8h.html#af34047ed60abd6453f819c2a5230cd2b',1,'incbin.h']]], - ['incbin_2eh_311',['incbin.h',['../incbin_8h.html',1,'']]], - ['incbin_5fextern_312',['INCBIN_EXTERN',['../incbin_8h.html#a51ab79f8ee37368158b1887b65ef97ec',1,'incbin.h']]], - ['incbin_5fsize_313',['INCBIN_SIZE',['../incbin_8h.html#aeacb5370285c0d4308d0fe5f29da8d15',1,'incbin.h']]], - ['init_5fbkg_314',['init_bkg',['../gb_8h.html#ac7cc92070d07d5096e2ccef3ea54cade',1,'gb.h']]], - ['init_5fwin_315',['init_win',['../gb_8h.html#a1df9458387eecf1a164098e90350e561',1,'gb.h']]], - ['initarand_316',['initarand',['../rand_8h.html#a333400f85febd7e1360835955103db8b',1,'rand.h']]], - ['initrand_317',['initrand',['../rand_8h.html#a964538799843c0ba5bd01151ef7e2640',1,'rand.h']]], - ['int16_318',['INT16',['../asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d',1,'INT16(): types.h'],['../asm_2z80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d',1,'INT16(): types.h']]], - ['int16_5fc_319',['INT16_C',['../stdint_8h.html#ae80ec61658b3f58afc31ee67ccd27805',1,'stdint.h']]], - ['int16_5fmax_320',['INT16_MAX',['../stdint_8h.html#ac58f2c111cc9989c86db2a7dc4fd84ca',1,'stdint.h']]], - ['int16_5fmin_321',['INT16_MIN',['../stdint_8h.html#ad4e9955955b27624963643eac448118a',1,'stdint.h']]], - ['int16_5ft_322',['int16_t',['../stdint_8h.html#a66634143db08bebe9b46ab4cb1fc6fd3',1,'stdint.h']]], - ['int32_323',['INT32',['../asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d',1,'INT32(): types.h'],['../asm_2z80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d',1,'INT32(): types.h']]], - ['int32_5fc_324',['INT32_C',['../stdint_8h.html#a5391a63e4d2c8c8a39b3c6f8fdbd8763',1,'stdint.h']]], - ['int32_5fmax_325',['INT32_MAX',['../stdint_8h.html#a181807730d4a375f848ba139813ce04f',1,'stdint.h']]], - ['int32_5fmin_326',['INT32_MIN',['../stdint_8h.html#a688eb21a22db27c2b2bd5836943cdcbe',1,'stdint.h']]], - ['int32_5ft_327',['int32_t',['../stdint_8h.html#a7cf4a942912b990a96c39f9a2b81aa32',1,'stdint.h']]], - ['int8_328',['INT8',['../asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d',1,'INT8(): types.h'],['../asm_2z80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d',1,'INT8(): types.h']]], - ['int8_5fc_329',['INT8_C',['../stdint_8h.html#a6b76c8f233c61e6ea05b19b59a6e3549',1,'stdint.h']]], - ['int8_5fmax_330',['INT8_MAX',['../stdint_8h.html#aaf7f29f45f1a513b4748a4e5014ddf6a',1,'stdint.h']]], - ['int8_5fmin_331',['INT8_MIN',['../stdint_8h.html#aadcf2a81af243df333b31efa6461ab8e',1,'stdint.h']]], - ['int8_5ft_332',['int8_t',['../stdint_8h.html#aef44329758059c91c76d334e8fc09700',1,'stdint.h']]], - ['int_5ffast16_5fmax_333',['INT_FAST16_MAX',['../stdint_8h.html#a2fd35d0ea091e04caec504ff0042cf00',1,'stdint.h']]], - ['int_5ffast16_5fmin_334',['INT_FAST16_MIN',['../stdint_8h.html#a169460a4e2a79138723d68d99372d958',1,'stdint.h']]], - ['int_5ffast16_5ft_335',['int_fast16_t',['../stdint_8h.html#afc08556e35ad5fc42968cf164e7852d4',1,'stdint.h']]], - ['int_5ffast32_5fmax_336',['INT_FAST32_MAX',['../stdint_8h.html#ac96fa0f41b19e89f109e4f9913ca6635',1,'stdint.h']]], - ['int_5ffast32_5fmin_337',['INT_FAST32_MIN',['../stdint_8h.html#ad93df1652ed0635513d5efe4f1219926',1,'stdint.h']]], - ['int_5ffast32_5ft_338',['int_fast32_t',['../stdint_8h.html#a21402dabb3274e5161a34a27ccff50db',1,'stdint.h']]], - ['int_5ffast8_5fmax_339',['INT_FAST8_MAX',['../stdint_8h.html#acbcdb3bee0f5f904da5df8de69a80ca3',1,'stdint.h']]], - ['int_5ffast8_5fmin_340',['INT_FAST8_MIN',['../stdint_8h.html#aad8fb982cb19143efd5ee9a1a7a89390',1,'stdint.h']]], - ['int_5ffast8_5ft_341',['int_fast8_t',['../stdint_8h.html#afa981e0352f65c207364c9cb82246b53',1,'stdint.h']]], - ['int_5fhandler_342',['int_handler',['../gb_8h.html#a9508f919d9482d1d51534ccac212454d',1,'int_handler(): gb.h'],['../sms_8h.html#a9508f919d9482d1d51534ccac212454d',1,'int_handler(): sms.h']]], - ['int_5fleast16_5fmax_343',['INT_LEAST16_MAX',['../stdint_8h.html#a7eb2a8e2a1c65d6c9ad0f86154890baa',1,'stdint.h']]], - ['int_5fleast16_5fmin_344',['INT_LEAST16_MIN',['../stdint_8h.html#a1f91bfd5820c2f27af3d260fc75813e1',1,'stdint.h']]], - ['int_5fleast16_5ft_345',['int_least16_t',['../stdint_8h.html#a3379485af1661b4f36ac1c311832253b',1,'stdint.h']]], - ['int_5fleast32_5fmax_346',['INT_LEAST32_MAX',['../stdint_8h.html#a5618711a0a54f722190a3a1219e278c2',1,'stdint.h']]], - ['int_5fleast32_5fmin_347',['INT_LEAST32_MIN',['../stdint_8h.html#a2360a536116dd734820a6b5b3d560ce7',1,'stdint.h']]], - ['int_5fleast32_5ft_348',['int_least32_t',['../stdint_8h.html#a50d1c7c0834558a78588e1d6d0f62a1d',1,'stdint.h']]], - ['int_5fleast8_5fmax_349',['INT_LEAST8_MAX',['../stdint_8h.html#aa05109908fb2770f632d2b646b9f85bf',1,'stdint.h']]], - ['int_5fleast8_5fmin_350',['INT_LEAST8_MIN',['../stdint_8h.html#a3e986cad833f63f420962ff60eda87e5',1,'stdint.h']]], - ['int_5fleast8_5ft_351',['int_least8_t',['../stdint_8h.html#ae04fa5ea5ad475bfe428842a986fbf28',1,'stdint.h']]], - ['int_5fmax_352',['INT_MAX',['../limits_8h.html#a9ec306f36d50c7375e74f0d1c55a3a67',1,'limits.h']]], - ['int_5fmin_353',['INT_MIN',['../limits_8h.html#a21658776274b3d146c674318b635a334',1,'limits.h']]], - ['interrupt_354',['INTERRUPT',['../asm_2gbz80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017',1,'INTERRUPT(): types.h'],['../asm_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017',1,'INTERRUPT(): types.h'],['../asm_2z80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017',1,'INTERRUPT(): types.h']]], - ['intmax_5fc_355',['INTMAX_C',['../stdint_8h.html#a1b955596bdc3e4b6ef339f16e468d55f',1,'stdint.h']]], - ['intmax_5fmax_356',['INTMAX_MAX',['../stdint_8h.html#a022b9b0a3564d786244a4631847c37a3',1,'stdint.h']]], - ['intmax_5fmin_357',['INTMAX_MIN',['../stdint_8h.html#a2b0a3edfc672154f606dc3ad26277b61',1,'stdint.h']]], - ['intmax_5ft_358',['intmax_t',['../stdint_8h.html#aa8722f97ae26d6aeff0fd4ebba7de7e4',1,'stdint.h']]], - ['intptr_5fmax_359',['INTPTR_MAX',['../stdint_8h.html#a9e5742f2bae4a5283431a3c03499e3a9',1,'stdint.h']]], - ['intptr_5fmin_360',['INTPTR_MIN',['../stdint_8h.html#a2aaa6d3aa1d7d1e0e326955aa24db752',1,'stdint.h']]], - ['intptr_5ft_361',['intptr_t',['../stdint_8h.html#a0fbe4a4f8dd857ee04923a901f27465f',1,'stdint.h']]], - ['io_5ferror_362',['IO_ERROR',['../gb_8h.html#a5d4c9c7b61a0326a939f9109f96d7423',1,'gb.h']]], - ['io_5fidle_363',['IO_IDLE',['../gb_8h.html#a268cc6c704e16f3fa02dd1cf0e17070a',1,'gb.h']]], - ['io_5freceiving_364',['IO_RECEIVING',['../gb_8h.html#aee03efddee0f2f6fbcaec789301aaa9b',1,'gb.h']]], - ['io_5fsending_365',['IO_SENDING',['../gb_8h.html#ab69a3f7cd2c6b5eb4f518aefee099007',1,'gb.h']]], - ['isalpha_366',['isalpha',['../ctype_8h.html#aa08b907b413d5f156b6214e72d0612bb',1,'ctype.h']]], - ['isdigit_367',['isdigit',['../ctype_8h.html#af3380cc4b95d21a135cd1b35fc9a09cc',1,'ctype.h']]], - ['islower_368',['islower',['../ctype_8h.html#a0b70d87c74367a00d03702a44da39614',1,'ctype.h']]], - ['isr_2eh_369',['isr.h',['../isr_8h.html',1,'']]], - ['isr_5fnested_5fvector_370',['ISR_NESTED_VECTOR',['../isr_8h.html#a78f9ef588aaf221023e48899898d566b',1,'isr.h']]], - ['isr_5fnested_5fvector_5ft_371',['isr_nested_vector_t',['../structisr__nested__vector__t.html',1,'isr_nested_vector_t'],['../isr_8h.html#a99e64ac886740db0eb63d8ed0235b5c7',1,'isr_nested_vector_t(): isr.h']]], - ['isr_5fvector_372',['ISR_VECTOR',['../isr_8h.html#a73769fed9338af86fdb7df35d7b82620',1,'isr.h']]], - ['isr_5fvector_5ft_373',['isr_vector_t',['../structisr__vector__t.html',1,'isr_vector_t'],['../isr_8h.html#a40dca48ca391581d7f67d8697533cf30',1,'isr_vector_t(): isr.h']]], - ['isspace_374',['isspace',['../ctype_8h.html#a48644b2a9c138472af0e1c83f688bd58',1,'ctype.h']]], - ['isupper_375',['isupper',['../ctype_8h.html#a31e9b95a4c8bca65d901dca5c0c95c1f',1,'ctype.h']]], - ['itoa_376',['itoa',['../stdlib_8h.html#aac2ea595a9ea8f5ebd883a0bc05eba5c',1,'stdlib.h']]], - ['iyh_377',['iyh',['../sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0',1,'sms.h']]], - ['iyl_378',['iyl',['../sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f',1,'iyl(): metasprites.h'],['../sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f',1,'iyl(): sms.h']]] + ['ie_5freg_316',['IE_REG',['../gb_2hardware_8h.html#aaef0dc6aab2f821ab406fdbc643af48e',1,'hardware.h']]], + ['ief_5fhilo_317',['IEF_HILO',['../gb_2hardware_8h.html#aa7ce989df75547f190d33cc85dce0187',1,'hardware.h']]], + ['ief_5fserial_318',['IEF_SERIAL',['../gb_2hardware_8h.html#a921bdc6c640b74c8c41e65f27882c68a',1,'hardware.h']]], + ['ief_5fstat_319',['IEF_STAT',['../gb_2hardware_8h.html#a2eec77ca1b8730b410a7075c5a9c189e',1,'hardware.h']]], + ['ief_5ftimer_320',['IEF_TIMER',['../gb_2hardware_8h.html#a7c06fa33152a235baf273f1828dfa0a4',1,'hardware.h']]], + ['ief_5fvblank_321',['IEF_VBLANK',['../gb_2hardware_8h.html#a3b8d7fece663511d5778136a5ca0070b',1,'hardware.h']]], + ['if_5freg_322',['IF_REG',['../gb_2hardware_8h.html#a509a5d0f138b40830cb447a862573be5',1,'hardware.h']]], + ['incbin_323',['INCBIN',['../incbin_8h.html#af34047ed60abd6453f819c2a5230cd2b',1,'incbin.h']]], + ['incbin_2eh_324',['incbin.h',['../incbin_8h.html',1,'']]], + ['incbin_5fextern_325',['INCBIN_EXTERN',['../incbin_8h.html#a51ab79f8ee37368158b1887b65ef97ec',1,'incbin.h']]], + ['incbin_5fsize_326',['INCBIN_SIZE',['../incbin_8h.html#aeacb5370285c0d4308d0fe5f29da8d15',1,'incbin.h']]], + ['init_5fbkg_327',['init_bkg',['../gb_8h.html#a46058204097dd305bf72bc20ea7f7a3b',1,'gb.h']]], + ['init_5fwin_328',['init_win',['../gb_8h.html#af6ac67037de041eb0141ba3725b1db83',1,'gb.h']]], + ['initarand_329',['initarand',['../rand_8h.html#a333400f85febd7e1360835955103db8b',1,'rand.h']]], + ['initrand_330',['initrand',['../rand_8h.html#a964538799843c0ba5bd01151ef7e2640',1,'rand.h']]], + ['int16_331',['INT16',['../asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d',1,'INT16(): types.h'],['../asm_2z80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d',1,'INT16(): types.h']]], + ['int16_5fc_332',['INT16_C',['../stdint_8h.html#ae80ec61658b3f58afc31ee67ccd27805',1,'stdint.h']]], + ['int16_5fmax_333',['INT16_MAX',['../stdint_8h.html#ac58f2c111cc9989c86db2a7dc4fd84ca',1,'stdint.h']]], + ['int16_5fmin_334',['INT16_MIN',['../stdint_8h.html#ad4e9955955b27624963643eac448118a',1,'stdint.h']]], + ['int16_5ft_335',['int16_t',['../stdint_8h.html#a66634143db08bebe9b46ab4cb1fc6fd3',1,'stdint.h']]], + ['int32_336',['INT32',['../asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d',1,'INT32(): types.h'],['../asm_2z80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d',1,'INT32(): types.h']]], + ['int32_5fc_337',['INT32_C',['../stdint_8h.html#a5391a63e4d2c8c8a39b3c6f8fdbd8763',1,'stdint.h']]], + ['int32_5fmax_338',['INT32_MAX',['../stdint_8h.html#a181807730d4a375f848ba139813ce04f',1,'stdint.h']]], + ['int32_5fmin_339',['INT32_MIN',['../stdint_8h.html#a688eb21a22db27c2b2bd5836943cdcbe',1,'stdint.h']]], + ['int32_5ft_340',['int32_t',['../stdint_8h.html#a7cf4a942912b990a96c39f9a2b81aa32',1,'stdint.h']]], + ['int8_341',['INT8',['../asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d',1,'INT8(): types.h'],['../asm_2z80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d',1,'INT8(): types.h']]], + ['int8_5fc_342',['INT8_C',['../stdint_8h.html#a6b76c8f233c61e6ea05b19b59a6e3549',1,'stdint.h']]], + ['int8_5fmax_343',['INT8_MAX',['../stdint_8h.html#aaf7f29f45f1a513b4748a4e5014ddf6a',1,'stdint.h']]], + ['int8_5fmin_344',['INT8_MIN',['../stdint_8h.html#aadcf2a81af243df333b31efa6461ab8e',1,'stdint.h']]], + ['int8_5ft_345',['int8_t',['../stdint_8h.html#aef44329758059c91c76d334e8fc09700',1,'stdint.h']]], + ['int_5ffast16_5fmax_346',['INT_FAST16_MAX',['../stdint_8h.html#a2fd35d0ea091e04caec504ff0042cf00',1,'stdint.h']]], + ['int_5ffast16_5fmin_347',['INT_FAST16_MIN',['../stdint_8h.html#a169460a4e2a79138723d68d99372d958',1,'stdint.h']]], + ['int_5ffast16_5ft_348',['int_fast16_t',['../stdint_8h.html#afc08556e35ad5fc42968cf164e7852d4',1,'stdint.h']]], + ['int_5ffast32_5fmax_349',['INT_FAST32_MAX',['../stdint_8h.html#ac96fa0f41b19e89f109e4f9913ca6635',1,'stdint.h']]], + ['int_5ffast32_5fmin_350',['INT_FAST32_MIN',['../stdint_8h.html#ad93df1652ed0635513d5efe4f1219926',1,'stdint.h']]], + ['int_5ffast32_5ft_351',['int_fast32_t',['../stdint_8h.html#a21402dabb3274e5161a34a27ccff50db',1,'stdint.h']]], + ['int_5ffast8_5fmax_352',['INT_FAST8_MAX',['../stdint_8h.html#acbcdb3bee0f5f904da5df8de69a80ca3',1,'stdint.h']]], + ['int_5ffast8_5fmin_353',['INT_FAST8_MIN',['../stdint_8h.html#aad8fb982cb19143efd5ee9a1a7a89390',1,'stdint.h']]], + ['int_5ffast8_5ft_354',['int_fast8_t',['../stdint_8h.html#afa981e0352f65c207364c9cb82246b53',1,'stdint.h']]], + ['int_5fhandler_355',['int_handler',['../gb_8h.html#a9508f919d9482d1d51534ccac212454d',1,'int_handler(): gb.h'],['../sms_8h.html#a9508f919d9482d1d51534ccac212454d',1,'int_handler(): sms.h']]], + ['int_5fleast16_5fmax_356',['INT_LEAST16_MAX',['../stdint_8h.html#a7eb2a8e2a1c65d6c9ad0f86154890baa',1,'stdint.h']]], + ['int_5fleast16_5fmin_357',['INT_LEAST16_MIN',['../stdint_8h.html#a1f91bfd5820c2f27af3d260fc75813e1',1,'stdint.h']]], + ['int_5fleast16_5ft_358',['int_least16_t',['../stdint_8h.html#a3379485af1661b4f36ac1c311832253b',1,'stdint.h']]], + ['int_5fleast32_5fmax_359',['INT_LEAST32_MAX',['../stdint_8h.html#a5618711a0a54f722190a3a1219e278c2',1,'stdint.h']]], + ['int_5fleast32_5fmin_360',['INT_LEAST32_MIN',['../stdint_8h.html#a2360a536116dd734820a6b5b3d560ce7',1,'stdint.h']]], + ['int_5fleast32_5ft_361',['int_least32_t',['../stdint_8h.html#a50d1c7c0834558a78588e1d6d0f62a1d',1,'stdint.h']]], + ['int_5fleast8_5fmax_362',['INT_LEAST8_MAX',['../stdint_8h.html#aa05109908fb2770f632d2b646b9f85bf',1,'stdint.h']]], + ['int_5fleast8_5fmin_363',['INT_LEAST8_MIN',['../stdint_8h.html#a3e986cad833f63f420962ff60eda87e5',1,'stdint.h']]], + ['int_5fleast8_5ft_364',['int_least8_t',['../stdint_8h.html#ae04fa5ea5ad475bfe428842a986fbf28',1,'stdint.h']]], + ['int_5fmax_365',['INT_MAX',['../limits_8h.html#a9ec306f36d50c7375e74f0d1c55a3a67',1,'limits.h']]], + ['int_5fmin_366',['INT_MIN',['../limits_8h.html#a21658776274b3d146c674318b635a334',1,'limits.h']]], + ['interrupt_367',['INTERRUPT',['../asm_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017',1,'types.h']]], + ['intmax_5fc_368',['INTMAX_C',['../stdint_8h.html#a1b955596bdc3e4b6ef339f16e468d55f',1,'stdint.h']]], + ['intmax_5fmax_369',['INTMAX_MAX',['../stdint_8h.html#a022b9b0a3564d786244a4631847c37a3',1,'stdint.h']]], + ['intmax_5fmin_370',['INTMAX_MIN',['../stdint_8h.html#a2b0a3edfc672154f606dc3ad26277b61',1,'stdint.h']]], + ['intmax_5ft_371',['intmax_t',['../stdint_8h.html#aa8722f97ae26d6aeff0fd4ebba7de7e4',1,'stdint.h']]], + ['intptr_5fmax_372',['INTPTR_MAX',['../stdint_8h.html#a9e5742f2bae4a5283431a3c03499e3a9',1,'stdint.h']]], + ['intptr_5fmin_373',['INTPTR_MIN',['../stdint_8h.html#a2aaa6d3aa1d7d1e0e326955aa24db752',1,'stdint.h']]], + ['intptr_5ft_374',['intptr_t',['../stdint_8h.html#a0fbe4a4f8dd857ee04923a901f27465f',1,'stdint.h']]], + ['io_5ferror_375',['IO_ERROR',['../gb_8h.html#a5d4c9c7b61a0326a939f9109f96d7423',1,'gb.h']]], + ['io_5fidle_376',['IO_IDLE',['../gb_8h.html#a268cc6c704e16f3fa02dd1cf0e17070a',1,'gb.h']]], + ['io_5freceiving_377',['IO_RECEIVING',['../gb_8h.html#aee03efddee0f2f6fbcaec789301aaa9b',1,'gb.h']]], + ['io_5fsending_378',['IO_SENDING',['../gb_8h.html#ab69a3f7cd2c6b5eb4f518aefee099007',1,'gb.h']]], + ['isalpha_379',['isalpha',['../ctype_8h.html#aa08b907b413d5f156b6214e72d0612bb',1,'ctype.h']]], + ['isdigit_380',['isdigit',['../ctype_8h.html#af3380cc4b95d21a135cd1b35fc9a09cc',1,'ctype.h']]], + ['islower_381',['islower',['../ctype_8h.html#a0b70d87c74367a00d03702a44da39614',1,'ctype.h']]], + ['isr_2eh_382',['isr.h',['../isr_8h.html',1,'']]], + ['isr_5fnested_5fvector_383',['ISR_NESTED_VECTOR',['../isr_8h.html#a78f9ef588aaf221023e48899898d566b',1,'isr.h']]], + ['isr_5fnested_5fvector_5ft_384',['isr_nested_vector_t',['../structisr__nested__vector__t.html',1,'isr_nested_vector_t'],['../isr_8h.html#a99e64ac886740db0eb63d8ed0235b5c7',1,'isr_nested_vector_t(): isr.h']]], + ['isr_5fvector_385',['ISR_VECTOR',['../isr_8h.html#a73769fed9338af86fdb7df35d7b82620',1,'isr.h']]], + ['isr_5fvector_5ft_386',['isr_vector_t',['../structisr__vector__t.html',1,'isr_vector_t'],['../isr_8h.html#a40dca48ca391581d7f67d8697533cf30',1,'isr_vector_t(): isr.h']]], + ['isspace_387',['isspace',['../ctype_8h.html#a48644b2a9c138472af0e1c83f688bd58',1,'ctype.h']]], + ['isupper_388',['isupper',['../ctype_8h.html#a31e9b95a4c8bca65d901dca5c0c95c1f',1,'ctype.h']]], + ['itoa_389',['itoa',['../stdlib_8h.html#aac2ea595a9ea8f5ebd883a0bc05eba5c',1,'stdlib.h']]], + ['iyh_390',['iyh',['../sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0',1,'sms.h']]], + ['iyl_391',['iyl',['../sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f',1,'iyl(): metasprites.h'],['../sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f',1,'iyl(): sms.h']]] ]; diff --git a/docs/api/search/all_d.js b/docs/api/search/all_d.js @@ -1,41 +1,41 @@ var searchData= [ - ['j_5fa_379',['J_A',['../gb_8h.html#a31af766e3b598eb7a6b63f55a4988e7a',1,'J_A(): gb.h'],['../sms_8h.html#a31af766e3b598eb7a6b63f55a4988e7a',1,'J_A(): sms.h']]], - ['j_5fb_380',['J_B',['../gb_8h.html#ae47e59a309120f9420993f26816b5e6d',1,'J_B(): gb.h'],['../sms_8h.html#ae47e59a309120f9420993f26816b5e6d',1,'J_B(): sms.h']]], - ['j_5fdown_381',['J_DOWN',['../gb_8h.html#ae032c5c544196e37ec0432f6cfad7904',1,'J_DOWN(): gb.h'],['../sms_8h.html#ae032c5c544196e37ec0432f6cfad7904',1,'J_DOWN(): sms.h']]], - ['j_5fleft_382',['J_LEFT',['../gb_8h.html#ac70894fecac30c1ca9917f07373cf81c',1,'J_LEFT(): gb.h'],['../sms_8h.html#ac70894fecac30c1ca9917f07373cf81c',1,'J_LEFT(): sms.h']]], - ['j_5fright_383',['J_RIGHT',['../gb_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325',1,'J_RIGHT(): gb.h'],['../sms_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325',1,'J_RIGHT(): sms.h']]], - ['j_5fselect_384',['J_SELECT',['../gb_8h.html#ab416a9d96d1582490828f4bac78a8b5b',1,'gb.h']]], - ['j_5fstart_385',['J_START',['../gb_8h.html#ab769c6e20778298be8bc3321476ceb53',1,'gb.h']]], - ['j_5fup_386',['J_UP',['../gb_8h.html#a05ca817ab32f6da612c3ae26db5abf02',1,'J_UP(): gb.h'],['../sms_8h.html#a05ca817ab32f6da612c3ae26db5abf02',1,'J_UP(): sms.h']]], - ['jmp_5fbuf_387',['jmp_buf',['../setjmp_8h.html#a88bdd5a73c39b334f254a3ef5488880d',1,'setjmp.h']]], - ['joy0_388',['joy0',['../structjoypads__t.html#a5e953c63dfb5148ba29f5735a735035f',1,'joypads_t']]], - ['joy1_389',['joy1',['../structjoypads__t.html#a032a279cf42e2737d6ce9893239d238e',1,'joypads_t']]], - ['joy2_390',['joy2',['../structjoypads__t.html#a5741138c91e93ea3203ee9e0d5d9413d',1,'joypads_t']]], - ['joy3_391',['joy3',['../structjoypads__t.html#ab281d26e5197e49633274f412b164295',1,'joypads_t']]], - ['joy_5fiflag_392',['JOY_IFLAG',['../gb_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280',1,'JOY_IFLAG(): gb.h'],['../sms_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280',1,'JOY_IFLAG(): sms.h']]], - ['joy_5fp1_5fdown_393',['JOY_P1_DOWN',['../sms_2hardware_8h.html#ab4dd6ee624c6d9e5fe5820ce925ffb20',1,'hardware.h']]], - ['joy_5fp1_5flatch_394',['JOY_P1_LATCH',['../sms_2hardware_8h.html#aa8e128eeff1d58f674cebdbacc413f3c',1,'hardware.h']]], - ['joy_5fp1_5fleft_395',['JOY_P1_LEFT',['../sms_2hardware_8h.html#a7d709160cbd7b369109bf40161ae8ccd',1,'hardware.h']]], - ['joy_5fp1_5flight_396',['JOY_P1_LIGHT',['../sms_2hardware_8h.html#a772c8def7b33ad4fd3cbfc74d84441de',1,'hardware.h']]], - ['joy_5fp1_5fright_397',['JOY_P1_RIGHT',['../sms_2hardware_8h.html#a1efece9134651ad4d2bd1836c1d1d6d6',1,'hardware.h']]], - ['joy_5fp1_5fsw1_398',['JOY_P1_SW1',['../sms_2hardware_8h.html#aacc8667a6d5d9683ed4876e52aba2d33',1,'hardware.h']]], - ['joy_5fp1_5fsw2_399',['JOY_P1_SW2',['../sms_2hardware_8h.html#a9ab9954d0c66751a154f7824e344806b',1,'hardware.h']]], - ['joy_5fp1_5ftrigger_400',['JOY_P1_TRIGGER',['../sms_2hardware_8h.html#af29f72f4cc7c94deae5fb9c29b1cc94f',1,'hardware.h']]], - ['joy_5fp1_5fup_401',['JOY_P1_UP',['../sms_2hardware_8h.html#a086bde6bcc92e5f4d3e9ae45f0de475e',1,'hardware.h']]], - ['joy_5fp2_5fdown_402',['JOY_P2_DOWN',['../sms_2hardware_8h.html#a6d4129d670d421656f5e9a1f4b68a7f4',1,'hardware.h']]], - ['joy_5fp2_5flatch_403',['JOY_P2_LATCH',['../sms_2hardware_8h.html#a2cfa517650949a89a7ebabf0253fcdf7',1,'hardware.h']]], - ['joy_5fp2_5fleft_404',['JOY_P2_LEFT',['../sms_2hardware_8h.html#a2121cb75e0d570b0f92c7630bc1af25f',1,'hardware.h']]], - ['joy_5fp2_5flight_405',['JOY_P2_LIGHT',['../sms_2hardware_8h.html#a42ded04442bd4fb4acf5333b248423fa',1,'hardware.h']]], - ['joy_5fp2_5fright_406',['JOY_P2_RIGHT',['../sms_2hardware_8h.html#a16dac3d386b8bc0da50c6c814952472d',1,'hardware.h']]], - ['joy_5fp2_5fsw1_407',['JOY_P2_SW1',['../sms_2hardware_8h.html#a942e3ecdef267100c84a36f6e0dc0b51',1,'hardware.h']]], - ['joy_5fp2_5fsw2_408',['JOY_P2_SW2',['../sms_2hardware_8h.html#a6d181ce63ff84bd559d13f4423a336b3',1,'hardware.h']]], - ['joy_5fp2_5ftrigger_409',['JOY_P2_TRIGGER',['../sms_2hardware_8h.html#afe5ec4ca4d413ae5388be131d9c4f93b',1,'hardware.h']]], - ['joy_5fp2_5fup_410',['JOY_P2_UP',['../sms_2hardware_8h.html#a307ba8e12d9273a99aa4830c5e0a3c88',1,'hardware.h']]], - ['joy_5freset_411',['JOY_RESET',['../sms_2hardware_8h.html#a5b3dff084cbb77646a337d94d16a1714',1,'hardware.h']]], - ['joypad_412',['joypad',['../gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1',1,'joypad() OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1',1,'joypad() OLDCALL __preserves_regs(b: sms.h']]], - ['joypad_5fex_413',['joypad_ex',['../gb_8h.html#a5166ceebbaa646e2667df1a219c7b903',1,'joypad_ex(joypads_t *joypads) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#aec8e36355bb7381000606b1871db5977',1,'joypad_ex(joypads_t *joypads) __z88dk_fastcall __preserves_regs(iyh: sms.h']]], - ['joypad_5finit_414',['joypad_init',['../gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e',1,'joypad_init(uint8_t npads, joypads_t *joypads) OLDCALL: gb.h'],['../sms_8h.html#a294f858312544fa89bf17adbba51f145',1,'joypad_init(uint8_t npads, joypads_t *joypads) __z88dk_callee: sms.h']]], - ['joypads_415',['joypads',['../structjoypads__t.html#a8d181ece2d3db614ed6686cfba545238',1,'joypads_t']]], - ['joypads_5ft_416',['joypads_t',['../structjoypads__t.html',1,'']]] + ['j_5fa_392',['J_A',['../gb_8h.html#a31af766e3b598eb7a6b63f55a4988e7a',1,'J_A(): gb.h'],['../sms_8h.html#a31af766e3b598eb7a6b63f55a4988e7a',1,'J_A(): sms.h']]], + ['j_5fb_393',['J_B',['../gb_8h.html#ae47e59a309120f9420993f26816b5e6d',1,'J_B(): gb.h'],['../sms_8h.html#ae47e59a309120f9420993f26816b5e6d',1,'J_B(): sms.h']]], + ['j_5fdown_394',['J_DOWN',['../gb_8h.html#ae032c5c544196e37ec0432f6cfad7904',1,'J_DOWN(): gb.h'],['../sms_8h.html#ae032c5c544196e37ec0432f6cfad7904',1,'J_DOWN(): sms.h']]], + ['j_5fleft_395',['J_LEFT',['../gb_8h.html#ac70894fecac30c1ca9917f07373cf81c',1,'J_LEFT(): gb.h'],['../sms_8h.html#ac70894fecac30c1ca9917f07373cf81c',1,'J_LEFT(): sms.h']]], + ['j_5fright_396',['J_RIGHT',['../gb_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325',1,'J_RIGHT(): gb.h'],['../sms_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325',1,'J_RIGHT(): sms.h']]], + ['j_5fselect_397',['J_SELECT',['../gb_8h.html#ab416a9d96d1582490828f4bac78a8b5b',1,'gb.h']]], + ['j_5fstart_398',['J_START',['../gb_8h.html#ab769c6e20778298be8bc3321476ceb53',1,'gb.h']]], + ['j_5fup_399',['J_UP',['../gb_8h.html#a05ca817ab32f6da612c3ae26db5abf02',1,'J_UP(): gb.h'],['../sms_8h.html#a05ca817ab32f6da612c3ae26db5abf02',1,'J_UP(): sms.h']]], + ['jmp_5fbuf_400',['jmp_buf',['../setjmp_8h.html#a88bdd5a73c39b334f254a3ef5488880d',1,'setjmp.h']]], + ['joy0_401',['joy0',['../structjoypads__t.html#a5e953c63dfb5148ba29f5735a735035f',1,'joypads_t']]], + ['joy1_402',['joy1',['../structjoypads__t.html#a032a279cf42e2737d6ce9893239d238e',1,'joypads_t']]], + ['joy2_403',['joy2',['../structjoypads__t.html#a5741138c91e93ea3203ee9e0d5d9413d',1,'joypads_t']]], + ['joy3_404',['joy3',['../structjoypads__t.html#ab281d26e5197e49633274f412b164295',1,'joypads_t']]], + ['joy_5fiflag_405',['JOY_IFLAG',['../gb_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280',1,'JOY_IFLAG(): gb.h'],['../sms_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280',1,'JOY_IFLAG(): sms.h']]], + ['joy_5fp1_5fdown_406',['JOY_P1_DOWN',['../sms_2hardware_8h.html#ab4dd6ee624c6d9e5fe5820ce925ffb20',1,'hardware.h']]], + ['joy_5fp1_5flatch_407',['JOY_P1_LATCH',['../sms_2hardware_8h.html#aa8e128eeff1d58f674cebdbacc413f3c',1,'hardware.h']]], + ['joy_5fp1_5fleft_408',['JOY_P1_LEFT',['../sms_2hardware_8h.html#a7d709160cbd7b369109bf40161ae8ccd',1,'hardware.h']]], + ['joy_5fp1_5flight_409',['JOY_P1_LIGHT',['../sms_2hardware_8h.html#a772c8def7b33ad4fd3cbfc74d84441de',1,'hardware.h']]], + ['joy_5fp1_5fright_410',['JOY_P1_RIGHT',['../sms_2hardware_8h.html#a1efece9134651ad4d2bd1836c1d1d6d6',1,'hardware.h']]], + ['joy_5fp1_5fsw1_411',['JOY_P1_SW1',['../sms_2hardware_8h.html#aacc8667a6d5d9683ed4876e52aba2d33',1,'hardware.h']]], + ['joy_5fp1_5fsw2_412',['JOY_P1_SW2',['../sms_2hardware_8h.html#a9ab9954d0c66751a154f7824e344806b',1,'hardware.h']]], + ['joy_5fp1_5ftrigger_413',['JOY_P1_TRIGGER',['../sms_2hardware_8h.html#af29f72f4cc7c94deae5fb9c29b1cc94f',1,'hardware.h']]], + ['joy_5fp1_5fup_414',['JOY_P1_UP',['../sms_2hardware_8h.html#a086bde6bcc92e5f4d3e9ae45f0de475e',1,'hardware.h']]], + ['joy_5fp2_5fdown_415',['JOY_P2_DOWN',['../sms_2hardware_8h.html#a6d4129d670d421656f5e9a1f4b68a7f4',1,'hardware.h']]], + ['joy_5fp2_5flatch_416',['JOY_P2_LATCH',['../sms_2hardware_8h.html#a2cfa517650949a89a7ebabf0253fcdf7',1,'hardware.h']]], + ['joy_5fp2_5fleft_417',['JOY_P2_LEFT',['../sms_2hardware_8h.html#a2121cb75e0d570b0f92c7630bc1af25f',1,'hardware.h']]], + ['joy_5fp2_5flight_418',['JOY_P2_LIGHT',['../sms_2hardware_8h.html#a42ded04442bd4fb4acf5333b248423fa',1,'hardware.h']]], + ['joy_5fp2_5fright_419',['JOY_P2_RIGHT',['../sms_2hardware_8h.html#a16dac3d386b8bc0da50c6c814952472d',1,'hardware.h']]], + ['joy_5fp2_5fsw1_420',['JOY_P2_SW1',['../sms_2hardware_8h.html#a942e3ecdef267100c84a36f6e0dc0b51',1,'hardware.h']]], + ['joy_5fp2_5fsw2_421',['JOY_P2_SW2',['../sms_2hardware_8h.html#a6d181ce63ff84bd559d13f4423a336b3',1,'hardware.h']]], + ['joy_5fp2_5ftrigger_422',['JOY_P2_TRIGGER',['../sms_2hardware_8h.html#afe5ec4ca4d413ae5388be131d9c4f93b',1,'hardware.h']]], + ['joy_5fp2_5fup_423',['JOY_P2_UP',['../sms_2hardware_8h.html#a307ba8e12d9273a99aa4830c5e0a3c88',1,'hardware.h']]], + ['joy_5freset_424',['JOY_RESET',['../sms_2hardware_8h.html#a5b3dff084cbb77646a337d94d16a1714',1,'hardware.h']]], + ['joypad_425',['joypad',['../gb_8h.html#a176c477d759b814664785f3a0ad5e253',1,'joypad() OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a176c477d759b814664785f3a0ad5e253',1,'joypad() OLDCALL PRESERVES_REGS(b: sms.h']]], + ['joypad_5fex_426',['joypad_ex',['../gb_8h.html#a6e6f8eb1de2ae1ec9adeafbd7b9884db',1,'joypad_ex(joypads_t *joypads) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a1d45c65829490c5ec98362f5e60edc20',1,'joypad_ex(joypads_t *joypads) Z88DK_FASTCALL PRESERVES_REGS(iyh: sms.h']]], + ['joypad_5finit_427',['joypad_init',['../gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e',1,'joypad_init(uint8_t npads, joypads_t *joypads) OLDCALL: gb.h'],['../sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862',1,'joypad_init(uint8_t npads, joypads_t *joypads) Z88DK_CALLEE: sms.h']]], + ['joypads_428',['joypads',['../structjoypads__t.html#a8d181ece2d3db614ed6686cfba545238',1,'joypads_t']]], + ['joypads_5ft_429',['joypads_t',['../structjoypads__t.html',1,'']]] ]; diff --git a/docs/api/search/all_e.js b/docs/api/search/all_e.js @@ -1,6 +1,6 @@ var searchData= [ - ['key1_5freg_417',['KEY1_REG',['../gb_2hardware_8h.html#a7279430d110acf02fa176d5f427a6491',1,'hardware.h']]], - ['key1f_5fdblspeed_418',['KEY1F_DBLSPEED',['../gb_2hardware_8h.html#a793b667a76985934545f73268000371a',1,'hardware.h']]], - ['key1f_5fprepare_419',['KEY1F_PREPARE',['../gb_2hardware_8h.html#a3205df57bc17c35df2924296341c6c69',1,'hardware.h']]] + ['key1_5freg_430',['KEY1_REG',['../gb_2hardware_8h.html#a7279430d110acf02fa176d5f427a6491',1,'hardware.h']]], + ['key1f_5fdblspeed_431',['KEY1F_DBLSPEED',['../gb_2hardware_8h.html#a793b667a76985934545f73268000371a',1,'hardware.h']]], + ['key1f_5fprepare_432',['KEY1F_PREPARE',['../gb_2hardware_8h.html#a3205df57bc17c35df2924296341c6c69',1,'hardware.h']]] ]; diff --git a/docs/api/search/all_f.js b/docs/api/search/all_f.js @@ -1,43 +1,43 @@ var searchData= [ - ['links_20and_20third_2dparty_20tools_420',['Links and Third-Party Tools',['../docs_links_and_tools.html',1,'index']]], - ['list_20of_20gbdk_20fonts_421',['List of gbdk fonts',['../group__gbdk__fonts.html',1,'']]], - ['l_422',['l',['../union__fixed.html#ac44ac5f62ed7369c444b6f13d9e1d9bc',1,'_fixed::l()'],['../gb_8h.html#af79b920bcb642bba2e652874c4f7eeff',1,'l(): gb.h'],['../sms_8h.html#af79b920bcb642bba2e652874c4f7eeff',1,'l(): sms.h']]], - ['labs_423',['labs',['../stdlib_8h.html#a8b7210ba18f750970a2db3c73a841a22',1,'stdlib.h']]], - ['lcd_5fiflag_424',['LCD_IFLAG',['../gb_8h.html#a61a9e2910380de6abb34df14ef634eb4',1,'LCD_IFLAG(): gb.h'],['../sms_8h.html#a61a9e2910380de6abb34df14ef634eb4',1,'LCD_IFLAG(): sms.h']]], - ['lcdc_5freg_425',['LCDC_REG',['../gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b',1,'hardware.h']]], - ['lcdcf_5fb_5fbg8000_426',['LCDCF_B_BG8000',['../gb_2hardware_8h.html#aa336ca1c8bd29763222fc011a6272bdf',1,'hardware.h']]], - ['lcdcf_5fb_5fbg9c00_427',['LCDCF_B_BG9C00',['../gb_2hardware_8h.html#a4889bb882e956665069212c4c8aa623b',1,'hardware.h']]], - ['lcdcf_5fb_5fbgon_428',['LCDCF_B_BGON',['../gb_2hardware_8h.html#aa1f66868f63af2af6544e84122de3cc3',1,'hardware.h']]], - ['lcdcf_5fb_5fobj16_429',['LCDCF_B_OBJ16',['../gb_2hardware_8h.html#aa8f5bcd5073aae5948a9647dcb76f779',1,'hardware.h']]], - ['lcdcf_5fb_5fobjon_430',['LCDCF_B_OBJON',['../gb_2hardware_8h.html#a6f6852d0f1d295b03e1230d5d97cb3e9',1,'hardware.h']]], - ['lcdcf_5fb_5fon_431',['LCDCF_B_ON',['../gb_2hardware_8h.html#ac112618942cb4719def91693616baaff',1,'hardware.h']]], - ['lcdcf_5fb_5fwin9c00_432',['LCDCF_B_WIN9C00',['../gb_2hardware_8h.html#ac826fdb70a043ebb8f1b317b00db6ff3',1,'hardware.h']]], - ['lcdcf_5fb_5fwinon_433',['LCDCF_B_WINON',['../gb_2hardware_8h.html#ae1de721c95ddc8f29ba9b9deaee8d68c',1,'hardware.h']]], - ['lcdcf_5fbg8000_434',['LCDCF_BG8000',['../gb_2hardware_8h.html#a731588b96fb8cdbeb7e68c089373e6f8',1,'hardware.h']]], - ['lcdcf_5fbg8800_435',['LCDCF_BG8800',['../gb_2hardware_8h.html#a69a43daf29c680b3ab0fbcad3118cd48',1,'hardware.h']]], - ['lcdcf_5fbg9800_436',['LCDCF_BG9800',['../gb_2hardware_8h.html#ae4e03124190c7f96586b75cb4470a210',1,'hardware.h']]], - ['lcdcf_5fbg9c00_437',['LCDCF_BG9C00',['../gb_2hardware_8h.html#a2e2a68c3274055a06cf38d00f007d4bf',1,'hardware.h']]], - ['lcdcf_5fbgoff_438',['LCDCF_BGOFF',['../gb_2hardware_8h.html#aa8027f47983459c377169f57987b710c',1,'hardware.h']]], - ['lcdcf_5fbgon_439',['LCDCF_BGON',['../gb_2hardware_8h.html#a97ab19d938f05bffbcb4221824c3bfce',1,'hardware.h']]], - ['lcdcf_5fobj16_440',['LCDCF_OBJ16',['../gb_2hardware_8h.html#a14eddd3d53d8e649f1754bd455b4863d',1,'hardware.h']]], - ['lcdcf_5fobj8_441',['LCDCF_OBJ8',['../gb_2hardware_8h.html#a1452fbc14f59076347c4cd4864fbeb51',1,'hardware.h']]], - ['lcdcf_5fobjoff_442',['LCDCF_OBJOFF',['../gb_2hardware_8h.html#af14334f65debf6ee02cc21b58729cfde',1,'hardware.h']]], - ['lcdcf_5fobjon_443',['LCDCF_OBJON',['../gb_2hardware_8h.html#a6aef42158c90e8025b8341cdea2e3918',1,'hardware.h']]], - ['lcdcf_5foff_444',['LCDCF_OFF',['../gb_2hardware_8h.html#ae9de9f58318f113afbc955986a502692',1,'hardware.h']]], - ['lcdcf_5fon_445',['LCDCF_ON',['../gb_2hardware_8h.html#a1491fc03ed7f02e7309cc7b0c48b6c8a',1,'hardware.h']]], - ['lcdcf_5fwin9800_446',['LCDCF_WIN9800',['../gb_2hardware_8h.html#a178a111ffe8eb38a2875fcaf3bfeba3f',1,'hardware.h']]], - ['lcdcf_5fwin9c00_447',['LCDCF_WIN9C00',['../gb_2hardware_8h.html#a9d555b0c19019150db73ca245ca62a78',1,'hardware.h']]], - ['lcdcf_5fwinoff_448',['LCDCF_WINOFF',['../gb_2hardware_8h.html#a582ece3b5f6cc49d47b2ad3e16d47374',1,'hardware.h']]], - ['lcdcf_5fwinon_449',['LCDCF_WINON',['../gb_2hardware_8h.html#a13a5f08b9aae68f8fa57a8aa7705b732',1,'hardware.h']]], - ['limits_2eh_450',['limits.h',['../limits_8h.html',1,'']]], - ['line_451',['line',['../drawing_8h.html#afe0ad8959a2867c4b60829d065660f1b',1,'drawing.h']]], - ['long_5fmax_452',['LONG_MAX',['../limits_8h.html#a50fece4db74f09568b2938db583c5655',1,'limits.h']]], - ['long_5fmin_453',['LONG_MIN',['../limits_8h.html#ae8a44c5a7436466221e0f3859d02420f',1,'limits.h']]], - ['longjmp_454',['longjmp',['../setjmp_8h.html#ae8f437ea759f560a09affd1bab9acb74',1,'setjmp.h']]], - ['ltgrey_455',['LTGREY',['../drawing_8h.html#a0ffe2221c8690dc80b5f9553474dd096',1,'drawing.h']]], - ['ltoa_456',['ltoa',['../stdlib_8h.html#a6374e62474a5a76c7ace9a59fb1cc829',1,'stdlib.h']]], - ['lword_457',['LWORD',['../asm_2types_8h.html#a6c3850eca7373a470eb6e5a7c6278215',1,'types.h']]], - ['ly_5freg_458',['LY_REG',['../gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7',1,'hardware.h']]], - ['lyc_5freg_459',['LYC_REG',['../gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae',1,'hardware.h']]] + ['links_20and_20third_2dparty_20tools_433',['Links and Third-Party Tools',['../docs_links_and_tools.html',1,'index']]], + ['list_20of_20gbdk_20fonts_434',['List of gbdk fonts',['../group__gbdk__fonts.html',1,'']]], + ['l_435',['l',['../union__fixed.html#ac44ac5f62ed7369c444b6f13d9e1d9bc',1,'_fixed::l()'],['../gb_8h.html#af79b920bcb642bba2e652874c4f7eeff',1,'l(): gb.h'],['../sms_8h.html#af79b920bcb642bba2e652874c4f7eeff',1,'l(): sms.h']]], + ['labs_436',['labs',['../stdlib_8h.html#a8b7210ba18f750970a2db3c73a841a22',1,'stdlib.h']]], + ['lcd_5fiflag_437',['LCD_IFLAG',['../gb_8h.html#a61a9e2910380de6abb34df14ef634eb4',1,'LCD_IFLAG(): gb.h'],['../sms_8h.html#a61a9e2910380de6abb34df14ef634eb4',1,'LCD_IFLAG(): sms.h']]], + ['lcdc_5freg_438',['LCDC_REG',['../gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b',1,'hardware.h']]], + ['lcdcf_5fb_5fbg8000_439',['LCDCF_B_BG8000',['../gb_2hardware_8h.html#aa336ca1c8bd29763222fc011a6272bdf',1,'hardware.h']]], + ['lcdcf_5fb_5fbg9c00_440',['LCDCF_B_BG9C00',['../gb_2hardware_8h.html#a4889bb882e956665069212c4c8aa623b',1,'hardware.h']]], + ['lcdcf_5fb_5fbgon_441',['LCDCF_B_BGON',['../gb_2hardware_8h.html#aa1f66868f63af2af6544e84122de3cc3',1,'hardware.h']]], + ['lcdcf_5fb_5fobj16_442',['LCDCF_B_OBJ16',['../gb_2hardware_8h.html#aa8f5bcd5073aae5948a9647dcb76f779',1,'hardware.h']]], + ['lcdcf_5fb_5fobjon_443',['LCDCF_B_OBJON',['../gb_2hardware_8h.html#a6f6852d0f1d295b03e1230d5d97cb3e9',1,'hardware.h']]], + ['lcdcf_5fb_5fon_444',['LCDCF_B_ON',['../gb_2hardware_8h.html#ac112618942cb4719def91693616baaff',1,'hardware.h']]], + ['lcdcf_5fb_5fwin9c00_445',['LCDCF_B_WIN9C00',['../gb_2hardware_8h.html#ac826fdb70a043ebb8f1b317b00db6ff3',1,'hardware.h']]], + ['lcdcf_5fb_5fwinon_446',['LCDCF_B_WINON',['../gb_2hardware_8h.html#ae1de721c95ddc8f29ba9b9deaee8d68c',1,'hardware.h']]], + ['lcdcf_5fbg8000_447',['LCDCF_BG8000',['../gb_2hardware_8h.html#a731588b96fb8cdbeb7e68c089373e6f8',1,'hardware.h']]], + ['lcdcf_5fbg8800_448',['LCDCF_BG8800',['../gb_2hardware_8h.html#a69a43daf29c680b3ab0fbcad3118cd48',1,'hardware.h']]], + ['lcdcf_5fbg9800_449',['LCDCF_BG9800',['../gb_2hardware_8h.html#ae4e03124190c7f96586b75cb4470a210',1,'hardware.h']]], + ['lcdcf_5fbg9c00_450',['LCDCF_BG9C00',['../gb_2hardware_8h.html#a2e2a68c3274055a06cf38d00f007d4bf',1,'hardware.h']]], + ['lcdcf_5fbgoff_451',['LCDCF_BGOFF',['../gb_2hardware_8h.html#aa8027f47983459c377169f57987b710c',1,'hardware.h']]], + ['lcdcf_5fbgon_452',['LCDCF_BGON',['../gb_2hardware_8h.html#a97ab19d938f05bffbcb4221824c3bfce',1,'hardware.h']]], + ['lcdcf_5fobj16_453',['LCDCF_OBJ16',['../gb_2hardware_8h.html#a14eddd3d53d8e649f1754bd455b4863d',1,'hardware.h']]], + ['lcdcf_5fobj8_454',['LCDCF_OBJ8',['../gb_2hardware_8h.html#a1452fbc14f59076347c4cd4864fbeb51',1,'hardware.h']]], + ['lcdcf_5fobjoff_455',['LCDCF_OBJOFF',['../gb_2hardware_8h.html#af14334f65debf6ee02cc21b58729cfde',1,'hardware.h']]], + ['lcdcf_5fobjon_456',['LCDCF_OBJON',['../gb_2hardware_8h.html#a6aef42158c90e8025b8341cdea2e3918',1,'hardware.h']]], + ['lcdcf_5foff_457',['LCDCF_OFF',['../gb_2hardware_8h.html#ae9de9f58318f113afbc955986a502692',1,'hardware.h']]], + ['lcdcf_5fon_458',['LCDCF_ON',['../gb_2hardware_8h.html#a1491fc03ed7f02e7309cc7b0c48b6c8a',1,'hardware.h']]], + ['lcdcf_5fwin9800_459',['LCDCF_WIN9800',['../gb_2hardware_8h.html#a178a111ffe8eb38a2875fcaf3bfeba3f',1,'hardware.h']]], + ['lcdcf_5fwin9c00_460',['LCDCF_WIN9C00',['../gb_2hardware_8h.html#a9d555b0c19019150db73ca245ca62a78',1,'hardware.h']]], + ['lcdcf_5fwinoff_461',['LCDCF_WINOFF',['../gb_2hardware_8h.html#a582ece3b5f6cc49d47b2ad3e16d47374',1,'hardware.h']]], + ['lcdcf_5fwinon_462',['LCDCF_WINON',['../gb_2hardware_8h.html#a13a5f08b9aae68f8fa57a8aa7705b732',1,'hardware.h']]], + ['limits_2eh_463',['limits.h',['../limits_8h.html',1,'']]], + ['line_464',['line',['../drawing_8h.html#afe0ad8959a2867c4b60829d065660f1b',1,'drawing.h']]], + ['long_5fmax_465',['LONG_MAX',['../limits_8h.html#a50fece4db74f09568b2938db583c5655',1,'limits.h']]], + ['long_5fmin_466',['LONG_MIN',['../limits_8h.html#ae8a44c5a7436466221e0f3859d02420f',1,'limits.h']]], + ['longjmp_467',['longjmp',['../setjmp_8h.html#ae8f437ea759f560a09affd1bab9acb74',1,'setjmp.h']]], + ['ltgrey_468',['LTGREY',['../drawing_8h.html#a0ffe2221c8690dc80b5f9553474dd096',1,'drawing.h']]], + ['ltoa_469',['ltoa',['../stdlib_8h.html#a6374e62474a5a76c7ace9a59fb1cc829',1,'stdlib.h']]], + ['lword_470',['LWORD',['../asm_2types_8h.html#a6c3850eca7373a470eb6e5a7c6278215',1,'types.h']]], + ['ly_5freg_471',['LY_REG',['../gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7',1,'hardware.h']]], + ['lyc_5freg_472',['LYC_REG',['../gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae',1,'hardware.h']]] ]; diff --git a/docs/api/search/classes_0.js b/docs/api/search/classes_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['_5f_5ffar_5fptr_1075',['__far_ptr',['../union____far__ptr.html',1,'']]], - ['_5ffixed_1076',['_fixed',['../union__fixed.html',1,'']]] + ['_5f_5ffar_5fptr_1108',['__far_ptr',['../union____far__ptr.html',1,'']]], + ['_5ffixed_1109',['_fixed',['../union__fixed.html',1,'']]] ]; diff --git a/docs/api/search/classes_1.js b/docs/api/search/classes_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['atomic_5fflag_1077',['atomic_flag',['../structatomic__flag.html',1,'']]] + ['atomic_5fflag_1110',['atomic_flag',['../structatomic__flag.html',1,'']]] ]; diff --git a/docs/api/search/classes_2.js b/docs/api/search/classes_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['isr_5fnested_5fvector_5ft_1078',['isr_nested_vector_t',['../structisr__nested__vector__t.html',1,'']]], - ['isr_5fvector_5ft_1079',['isr_vector_t',['../structisr__vector__t.html',1,'']]] + ['isr_5fnested_5fvector_5ft_1111',['isr_nested_vector_t',['../structisr__nested__vector__t.html',1,'']]], + ['isr_5fvector_5ft_1112',['isr_vector_t',['../structisr__vector__t.html',1,'']]] ]; diff --git a/docs/api/search/classes_3.js b/docs/api/search/classes_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['joypads_5ft_1080',['joypads_t',['../structjoypads__t.html',1,'']]] + ['joypads_5ft_1113',['joypads_t',['../structjoypads__t.html',1,'']]] ]; diff --git a/docs/api/search/classes_4.js b/docs/api/search/classes_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['metasprite_5ft_1081',['metasprite_t',['../structmetasprite__t.html',1,'']]] + ['metasprite_5ft_1114',['metasprite_t',['../structmetasprite__t.html',1,'']]] ]; diff --git a/docs/api/search/classes_5.js b/docs/api/search/classes_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['oam_5fitem_5ft_1082',['OAM_item_t',['../struct_o_a_m__item__t.html',1,'']]] + ['oam_5fitem_5ft_1115',['OAM_item_t',['../struct_o_a_m__item__t.html',1,'']]] ]; diff --git a/docs/api/search/classes_6.js b/docs/api/search/classes_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['sfont_5fhandle_1083',['sfont_handle',['../structsfont__handle.html',1,'']]] + ['sfont_5fhandle_1116',['sfont_handle',['../structsfont__handle.html',1,'']]] ]; diff --git a/docs/api/search/defines_0.js b/docs/api/search/defines_0.js @@ -1,15 +1,15 @@ var searchData= [ - ['_5f_5fbool_5ftrue_5ffalse_5fare_5fdefined_1546',['__bool_true_false_are_defined',['../stdbool_8h.html#a665b0cc9ee2ced31785321d55cde349e',1,'stdbool.h']]], - ['_5f_5fbyte_5freg_1547',['__BYTE_REG',['../gb_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8',1,'__BYTE_REG(): hardware.h'],['../sms_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8',1,'__BYTE_REG(): hardware.h']]], - ['_5f_5fbytes_1548',['__BYTES',['../gb_2hardware_8h.html#ab2767d5f8f0ad35d8c8ee0bb3f4c51c3',1,'__BYTES(): hardware.h'],['../sms_2hardware_8h.html#ab2767d5f8f0ad35d8c8ee0bb3f4c51c3',1,'__BYTES(): hardware.h']]], - ['_5f_5fgbdk_5fversion_1549',['__GBDK_VERSION',['../version_8h.html#a459449876dfba6299bf055c882d78334',1,'version.h']]], - ['_5f_5fptrdiff_5ft_5fdefined_1550',['__PTRDIFF_T_DEFINED',['../stddef_8h.html#a9e3909fa823b8c4e3fc624d77fb946bf',1,'stddef.h']]], - ['_5f_5fread_5fvdp_5freg_1551',['__READ_VDP_REG',['../sms_8h.html#a964e713cb2535d7464d0d6ca7677049a',1,'sms.h']]], - ['_5f_5freentrant_1552',['__reentrant',['../stdlib_8h.html#a83798998ad669e85a8f75d6490191760',1,'stdlib.h']]], - ['_5f_5freg_1553',['__REG',['../gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44',1,'hardware.h']]], - ['_5f_5fsize_5ft_5fdefined_1554',['__SIZE_T_DEFINED',['../asm_2gbz80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3',1,'__SIZE_T_DEFINED(): types.h'],['../asm_2z80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3',1,'__SIZE_T_DEFINED(): types.h'],['../stddef_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3',1,'__SIZE_T_DEFINED(): stddef.h']]], - ['_5f_5fwchar_5ft_5fdefined_1555',['__WCHAR_T_DEFINED',['../stddef_8h.html#a4aa39aaff620f750e11ece0766b185fd',1,'stddef.h']]], - ['_5f_5fwrite_5fvdp_5freg_1556',['__WRITE_VDP_REG',['../sms_8h.html#aa34282113397af810be737df1acec36c',1,'sms.h']]], - ['_5fcurrent_5fbank_1557',['_current_bank',['../sms_8h.html#af0d15cf2a26924d2ef00ac4017e6b1d8',1,'sms.h']]] + ['_5f_5fbool_5ftrue_5ffalse_5fare_5fdefined_1590',['__bool_true_false_are_defined',['../stdbool_8h.html#a665b0cc9ee2ced31785321d55cde349e',1,'stdbool.h']]], + ['_5f_5fbyte_5freg_1591',['__BYTE_REG',['../gb_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8',1,'__BYTE_REG(): hardware.h'],['../sms_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8',1,'__BYTE_REG(): hardware.h']]], + ['_5f_5fbytes_1592',['__BYTES',['../gb_2hardware_8h.html#ab2767d5f8f0ad35d8c8ee0bb3f4c51c3',1,'__BYTES(): hardware.h'],['../sms_2hardware_8h.html#ab2767d5f8f0ad35d8c8ee0bb3f4c51c3',1,'__BYTES(): hardware.h']]], + ['_5f_5fgbdk_5fversion_1593',['__GBDK_VERSION',['../version_8h.html#a459449876dfba6299bf055c882d78334',1,'version.h']]], + ['_5f_5fptrdiff_5ft_5fdefined_1594',['__PTRDIFF_T_DEFINED',['../stddef_8h.html#a9e3909fa823b8c4e3fc624d77fb946bf',1,'stddef.h']]], + ['_5f_5fread_5fvdp_5freg_1595',['__READ_VDP_REG',['../sms_8h.html#a964e713cb2535d7464d0d6ca7677049a',1,'sms.h']]], + ['_5f_5freentrant_1596',['__reentrant',['../stdlib_8h.html#a83798998ad669e85a8f75d6490191760',1,'stdlib.h']]], + ['_5f_5freg_1597',['__REG',['../gb_2hardware_8h.html#a0b42e4dadd74c927e8b801b4f42c0e44',1,'hardware.h']]], + ['_5f_5fsize_5ft_5fdefined_1598',['__SIZE_T_DEFINED',['../asm_2gbz80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3',1,'__SIZE_T_DEFINED(): types.h'],['../asm_2z80_2types_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3',1,'__SIZE_T_DEFINED(): types.h'],['../stddef_8h.html#a8de3167f7b52ff5a2f538858cb5e32d3',1,'__SIZE_T_DEFINED(): stddef.h']]], + ['_5f_5fwchar_5ft_5fdefined_1599',['__WCHAR_T_DEFINED',['../stddef_8h.html#a4aa39aaff620f750e11ece0766b185fd',1,'stddef.h']]], + ['_5f_5fwrite_5fvdp_5freg_1600',['__WRITE_VDP_REG',['../sms_8h.html#aa34282113397af810be737df1acec36c',1,'sms.h']]], + ['_5fcurrent_5fbank_1601',['_current_bank',['../sms_8h.html#af0d15cf2a26924d2ef00ac4017e6b1d8',1,'sms.h']]] ]; diff --git a/docs/api/search/defines_1.js b/docs/api/search/defines_1.js @@ -1,37 +1,38 @@ var searchData= [ - ['and_1558',['AND',['../drawing_8h.html#acd1b97556dfbbac61063a63031d2f91d',1,'drawing.h']]], - ['assert_1559',['assert',['../assert_8h.html#af576bf8ffa22a44e53018c67095ffbf0',1,'assert.h']]], - ['aud1sweep_5fdown_1560',['AUD1SWEEP_DOWN',['../gb_2hardware_8h.html#a281569182e3edb53b7c78b95a4082971',1,'hardware.h']]], - ['aud1sweep_5flength_1561',['AUD1SWEEP_LENGTH',['../gb_2hardware_8h.html#aaed4a07f441ddeecae520e76eb7b7e27',1,'hardware.h']]], - ['aud1sweep_5ftime_1562',['AUD1SWEEP_TIME',['../gb_2hardware_8h.html#ac4cbf03d9c2d64cddaf348e003780cf8',1,'hardware.h']]], - ['aud1sweep_5fup_1563',['AUD1SWEEP_UP',['../gb_2hardware_8h.html#aa8b5c841c97ae090724a910040f8dd2d',1,'hardware.h']]], - ['aud4poly_5fwidth_5f15bit_1564',['AUD4POLY_WIDTH_15BIT',['../gb_2hardware_8h.html#a1bfe644bf343abd66c790c2758e7c0bb',1,'hardware.h']]], - ['aud4poly_5fwidth_5f7bit_1565',['AUD4POLY_WIDTH_7BIT',['../gb_2hardware_8h.html#a9120d2c7cd8800e302e76f525d332d6c',1,'hardware.h']]], - ['audena_5foff_1566',['AUDENA_OFF',['../gb_2hardware_8h.html#a1b424d8f8a7438d19261401a843263d2',1,'hardware.h']]], - ['audena_5fon_1567',['AUDENA_ON',['../gb_2hardware_8h.html#a7bbcf10e7a2b69127cd2f9e598bf601f',1,'hardware.h']]], - ['audenv_5fdown_1568',['AUDENV_DOWN',['../gb_2hardware_8h.html#aa58f52563d21d56e79d422c544eeb13f',1,'hardware.h']]], - ['audenv_5flength_1569',['AUDENV_LENGTH',['../gb_2hardware_8h.html#ad07fa5e19e334eee03c2fcb8671b2ed3',1,'hardware.h']]], - ['audenv_5fup_1570',['AUDENV_UP',['../gb_2hardware_8h.html#a9f069f19e8a05d1f1114aaabf531739e',1,'hardware.h']]], - ['audenv_5fvol_1571',['AUDENV_VOL',['../gb_2hardware_8h.html#a7dab7d2ad1bf670875814d3029d54122',1,'hardware.h']]], - ['audhigh_5flength_5foff_1572',['AUDHIGH_LENGTH_OFF',['../gb_2hardware_8h.html#afe4927e6bc7efa57461e3c3b84d242da',1,'hardware.h']]], - ['audhigh_5flength_5fon_1573',['AUDHIGH_LENGTH_ON',['../gb_2hardware_8h.html#ab3325578cf7f7f67610353a62aba274e',1,'hardware.h']]], - ['audhigh_5frestart_1574',['AUDHIGH_RESTART',['../gb_2hardware_8h.html#a6d820a86bd30b531d5df5b27139ae92d',1,'hardware.h']]], - ['audlen_5fduty_5f12_5f5_1575',['AUDLEN_DUTY_12_5',['../gb_2hardware_8h.html#a8a88b504914eed6c0c4d2853689487ba',1,'hardware.h']]], - ['audlen_5fduty_5f25_1576',['AUDLEN_DUTY_25',['../gb_2hardware_8h.html#a52e58c151c5910792e75f7eea7f7ddbb',1,'hardware.h']]], - ['audlen_5fduty_5f50_1577',['AUDLEN_DUTY_50',['../gb_2hardware_8h.html#abd862604a105aa2475223b06abfa8bfe',1,'hardware.h']]], - ['audlen_5fduty_5f75_1578',['AUDLEN_DUTY_75',['../gb_2hardware_8h.html#a194e3432f1e4d5d23d4ea096cef783e5',1,'hardware.h']]], - ['audlen_5flength_1579',['AUDLEN_LENGTH',['../gb_2hardware_8h.html#a367f10d1cfcc04fdbfcb88f09b230bd3',1,'hardware.h']]], - ['audterm_5f1_5fleft_1580',['AUDTERM_1_LEFT',['../gb_2hardware_8h.html#aad3ccece4257429e82186f7b4d72b220',1,'hardware.h']]], - ['audterm_5f1_5fright_1581',['AUDTERM_1_RIGHT',['../gb_2hardware_8h.html#aa3cdccfb4b6b42cdee682bdb6e4fc310',1,'hardware.h']]], - ['audterm_5f2_5fleft_1582',['AUDTERM_2_LEFT',['../gb_2hardware_8h.html#a309d26015522c2de1cff39ba6e6e6a04',1,'hardware.h']]], - ['audterm_5f2_5fright_1583',['AUDTERM_2_RIGHT',['../gb_2hardware_8h.html#a6fb64712b06118cad702691f2aa18cd4',1,'hardware.h']]], - ['audterm_5f3_5fleft_1584',['AUDTERM_3_LEFT',['../gb_2hardware_8h.html#ac1470febab4adcff88b31a465d480f72',1,'hardware.h']]], - ['audterm_5f3_5fright_1585',['AUDTERM_3_RIGHT',['../gb_2hardware_8h.html#adc74cebc6671c48bd502667f21d24da4',1,'hardware.h']]], - ['audterm_5f4_5fleft_1586',['AUDTERM_4_LEFT',['../gb_2hardware_8h.html#af9a0eee23057665604c258abc667939d',1,'hardware.h']]], - ['audterm_5f4_5fright_1587',['AUDTERM_4_RIGHT',['../gb_2hardware_8h.html#a2ba607e94d30ae8eeb1933c9dabbf68d',1,'hardware.h']]], - ['audvol_5fvin_5fleft_1588',['AUDVOL_VIN_LEFT',['../gb_2hardware_8h.html#a8cb754b63b073abf30af3fd6f0052832',1,'hardware.h']]], - ['audvol_5fvin_5fright_1589',['AUDVOL_VIN_RIGHT',['../gb_2hardware_8h.html#aa257f1e89f6782714cbc76ffc71d0fe7',1,'hardware.h']]], - ['audvol_5fvol_5fleft_1590',['AUDVOL_VOL_LEFT',['../gb_2hardware_8h.html#a0dc3f482441d4e13828aebdf396c3be9',1,'hardware.h']]], - ['audvol_5fvol_5fright_1591',['AUDVOL_VOL_RIGHT',['../gb_2hardware_8h.html#aabac77131d22297a246a3cfb0e443605',1,'hardware.h']]] + ['and_1602',['AND',['../drawing_8h.html#acd1b97556dfbbac61063a63031d2f91d',1,'drawing.h']]], + ['assert_1603',['assert',['../assert_8h.html#af576bf8ffa22a44e53018c67095ffbf0',1,'assert.h']]], + ['at_1604',['AT',['../asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e',1,'types.h']]], + ['aud1sweep_5fdown_1605',['AUD1SWEEP_DOWN',['../gb_2hardware_8h.html#a281569182e3edb53b7c78b95a4082971',1,'hardware.h']]], + ['aud1sweep_5flength_1606',['AUD1SWEEP_LENGTH',['../gb_2hardware_8h.html#aaed4a07f441ddeecae520e76eb7b7e27',1,'hardware.h']]], + ['aud1sweep_5ftime_1607',['AUD1SWEEP_TIME',['../gb_2hardware_8h.html#ac4cbf03d9c2d64cddaf348e003780cf8',1,'hardware.h']]], + ['aud1sweep_5fup_1608',['AUD1SWEEP_UP',['../gb_2hardware_8h.html#aa8b5c841c97ae090724a910040f8dd2d',1,'hardware.h']]], + ['aud4poly_5fwidth_5f15bit_1609',['AUD4POLY_WIDTH_15BIT',['../gb_2hardware_8h.html#a1bfe644bf343abd66c790c2758e7c0bb',1,'hardware.h']]], + ['aud4poly_5fwidth_5f7bit_1610',['AUD4POLY_WIDTH_7BIT',['../gb_2hardware_8h.html#a9120d2c7cd8800e302e76f525d332d6c',1,'hardware.h']]], + ['audena_5foff_1611',['AUDENA_OFF',['../gb_2hardware_8h.html#a1b424d8f8a7438d19261401a843263d2',1,'hardware.h']]], + ['audena_5fon_1612',['AUDENA_ON',['../gb_2hardware_8h.html#a7bbcf10e7a2b69127cd2f9e598bf601f',1,'hardware.h']]], + ['audenv_5fdown_1613',['AUDENV_DOWN',['../gb_2hardware_8h.html#aa58f52563d21d56e79d422c544eeb13f',1,'hardware.h']]], + ['audenv_5flength_1614',['AUDENV_LENGTH',['../gb_2hardware_8h.html#ad07fa5e19e334eee03c2fcb8671b2ed3',1,'hardware.h']]], + ['audenv_5fup_1615',['AUDENV_UP',['../gb_2hardware_8h.html#a9f069f19e8a05d1f1114aaabf531739e',1,'hardware.h']]], + ['audenv_5fvol_1616',['AUDENV_VOL',['../gb_2hardware_8h.html#a7dab7d2ad1bf670875814d3029d54122',1,'hardware.h']]], + ['audhigh_5flength_5foff_1617',['AUDHIGH_LENGTH_OFF',['../gb_2hardware_8h.html#afe4927e6bc7efa57461e3c3b84d242da',1,'hardware.h']]], + ['audhigh_5flength_5fon_1618',['AUDHIGH_LENGTH_ON',['../gb_2hardware_8h.html#ab3325578cf7f7f67610353a62aba274e',1,'hardware.h']]], + ['audhigh_5frestart_1619',['AUDHIGH_RESTART',['../gb_2hardware_8h.html#a6d820a86bd30b531d5df5b27139ae92d',1,'hardware.h']]], + ['audlen_5fduty_5f12_5f5_1620',['AUDLEN_DUTY_12_5',['../gb_2hardware_8h.html#a8a88b504914eed6c0c4d2853689487ba',1,'hardware.h']]], + ['audlen_5fduty_5f25_1621',['AUDLEN_DUTY_25',['../gb_2hardware_8h.html#a52e58c151c5910792e75f7eea7f7ddbb',1,'hardware.h']]], + ['audlen_5fduty_5f50_1622',['AUDLEN_DUTY_50',['../gb_2hardware_8h.html#abd862604a105aa2475223b06abfa8bfe',1,'hardware.h']]], + ['audlen_5fduty_5f75_1623',['AUDLEN_DUTY_75',['../gb_2hardware_8h.html#a194e3432f1e4d5d23d4ea096cef783e5',1,'hardware.h']]], + ['audlen_5flength_1624',['AUDLEN_LENGTH',['../gb_2hardware_8h.html#a367f10d1cfcc04fdbfcb88f09b230bd3',1,'hardware.h']]], + ['audterm_5f1_5fleft_1625',['AUDTERM_1_LEFT',['../gb_2hardware_8h.html#aad3ccece4257429e82186f7b4d72b220',1,'hardware.h']]], + ['audterm_5f1_5fright_1626',['AUDTERM_1_RIGHT',['../gb_2hardware_8h.html#aa3cdccfb4b6b42cdee682bdb6e4fc310',1,'hardware.h']]], + ['audterm_5f2_5fleft_1627',['AUDTERM_2_LEFT',['../gb_2hardware_8h.html#a309d26015522c2de1cff39ba6e6e6a04',1,'hardware.h']]], + ['audterm_5f2_5fright_1628',['AUDTERM_2_RIGHT',['../gb_2hardware_8h.html#a6fb64712b06118cad702691f2aa18cd4',1,'hardware.h']]], + ['audterm_5f3_5fleft_1629',['AUDTERM_3_LEFT',['../gb_2hardware_8h.html#ac1470febab4adcff88b31a465d480f72',1,'hardware.h']]], + ['audterm_5f3_5fright_1630',['AUDTERM_3_RIGHT',['../gb_2hardware_8h.html#adc74cebc6671c48bd502667f21d24da4',1,'hardware.h']]], + ['audterm_5f4_5fleft_1631',['AUDTERM_4_LEFT',['../gb_2hardware_8h.html#af9a0eee23057665604c258abc667939d',1,'hardware.h']]], + ['audterm_5f4_5fright_1632',['AUDTERM_4_RIGHT',['../gb_2hardware_8h.html#a2ba607e94d30ae8eeb1933c9dabbf68d',1,'hardware.h']]], + ['audvol_5fvin_5fleft_1633',['AUDVOL_VIN_LEFT',['../gb_2hardware_8h.html#a8cb754b63b073abf30af3fd6f0052832',1,'hardware.h']]], + ['audvol_5fvin_5fright_1634',['AUDVOL_VIN_RIGHT',['../gb_2hardware_8h.html#aa257f1e89f6782714cbc76ffc71d0fe7',1,'hardware.h']]], + ['audvol_5fvol_5fleft_1635',['AUDVOL_VOL_LEFT',['../gb_2hardware_8h.html#a0dc3f482441d4e13828aebdf396c3be9',1,'hardware.h']]], + ['audvol_5fvol_5fright_1636',['AUDVOL_VOL_RIGHT',['../gb_2hardware_8h.html#aabac77131d22297a246a3cfb0e443605',1,'hardware.h']]] ]; diff --git a/docs/api/search/defines_10.js b/docs/api/search/defines_10.js @@ -1,14 +1,21 @@ var searchData= [ - ['p1f_5f0_1826',['P1F_0',['../gb_2hardware_8h.html#aedf8627c42ccf0aad5025ef629f4395a',1,'hardware.h']]], - ['p1f_5f1_1827',['P1F_1',['../gb_2hardware_8h.html#aad20c4bf5115b40c9118a484808f4b92',1,'hardware.h']]], - ['p1f_5f2_1828',['P1F_2',['../gb_2hardware_8h.html#af59d0dd661ea73965101294d30111385',1,'hardware.h']]], - ['p1f_5f3_1829',['P1F_3',['../gb_2hardware_8h.html#ae8e325a01af1c20935a0c73ea6465a0e',1,'hardware.h']]], - ['p1f_5f4_1830',['P1F_4',['../gb_2hardware_8h.html#ad215dbfc83c9486ead2f28510366f40b',1,'hardware.h']]], - ['p1f_5f5_1831',['P1F_5',['../gb_2hardware_8h.html#a6963ef598339e1163d30e57a962e5278',1,'hardware.h']]], - ['p1f_5fget_5fbtn_1832',['P1F_GET_BTN',['../gb_2hardware_8h.html#a750bc82ab34a8929a5bba10f2336abe6',1,'hardware.h']]], - ['p1f_5fget_5fdpad_1833',['P1F_GET_DPAD',['../gb_2hardware_8h.html#aeaabebe6a36d9e59a01dfceceb7b37d0',1,'hardware.h']]], - ['p1f_5fget_5fnone_1834',['P1F_GET_NONE',['../gb_2hardware_8h.html#a5c97ffb0ee0a345ad31797da26410b5a',1,'hardware.h']]], - ['ptrdiff_5fmax_1835',['PTRDIFF_MAX',['../stdint_8h.html#add2ef7bffac19cfdd1f4b5495409672f',1,'stdint.h']]], - ['ptrdiff_5fmin_1836',['PTRDIFF_MIN',['../stdint_8h.html#ad9b88ba2fb858f98b50b38e49875d90e',1,'stdint.h']]] + ['p1f_5f0_1879',['P1F_0',['../gb_2hardware_8h.html#aedf8627c42ccf0aad5025ef629f4395a',1,'hardware.h']]], + ['p1f_5f1_1880',['P1F_1',['../gb_2hardware_8h.html#aad20c4bf5115b40c9118a484808f4b92',1,'hardware.h']]], + ['p1f_5f2_1881',['P1F_2',['../gb_2hardware_8h.html#af59d0dd661ea73965101294d30111385',1,'hardware.h']]], + ['p1f_5f3_1882',['P1F_3',['../gb_2hardware_8h.html#ae8e325a01af1c20935a0c73ea6465a0e',1,'hardware.h']]], + ['p1f_5f4_1883',['P1F_4',['../gb_2hardware_8h.html#ad215dbfc83c9486ead2f28510366f40b',1,'hardware.h']]], + ['p1f_5f5_1884',['P1F_5',['../gb_2hardware_8h.html#a6963ef598339e1163d30e57a962e5278',1,'hardware.h']]], + ['p1f_5fget_5fbtn_1885',['P1F_GET_BTN',['../gb_2hardware_8h.html#a750bc82ab34a8929a5bba10f2336abe6',1,'hardware.h']]], + ['p1f_5fget_5fdpad_1886',['P1F_GET_DPAD',['../gb_2hardware_8h.html#aeaabebe6a36d9e59a01dfceceb7b37d0',1,'hardware.h']]], + ['p1f_5fget_5fnone_1887',['P1F_GET_NONE',['../gb_2hardware_8h.html#a5c97ffb0ee0a345ad31797da26410b5a',1,'hardware.h']]], + ['preserves_5fregs_1888',['PRESERVES_REGS',['../asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961',1,'types.h']]], + ['psg_5fch0_1889',['PSG_CH0',['../sms_2hardware_8h.html#ad8a903de6b38e08e1591fc5ef278381c',1,'hardware.h']]], + ['psg_5fch1_1890',['PSG_CH1',['../sms_2hardware_8h.html#addc12c4ee03ea787b826e337f1acd317',1,'hardware.h']]], + ['psg_5fch2_1891',['PSG_CH2',['../sms_2hardware_8h.html#aaeefb1ac1fb4d0d2324b8ee7f4953226',1,'hardware.h']]], + ['psg_5fch3_1892',['PSG_CH3',['../sms_2hardware_8h.html#ac760259fb86ee72abb5922018ae0db42',1,'hardware.h']]], + ['psg_5flatch_1893',['PSG_LATCH',['../sms_2hardware_8h.html#a6777f1ed2475b5ba6aa60b9a16fa02d3',1,'hardware.h']]], + ['psg_5fvolume_1894',['PSG_VOLUME',['../sms_2hardware_8h.html#a3d806ff027bffa67c4dfc5967f87c1d1',1,'hardware.h']]], + ['ptrdiff_5fmax_1895',['PTRDIFF_MAX',['../stdint_8h.html#add2ef7bffac19cfdd1f4b5495409672f',1,'stdint.h']]], + ['ptrdiff_5fmin_1896',['PTRDIFF_MIN',['../stdint_8h.html#ad9b88ba2fb858f98b50b38e49875d90e',1,'stdint.h']]] ]; diff --git a/docs/api/search/defines_11.js b/docs/api/search/defines_11.js @@ -1,133 +1,135 @@ var searchData= [ - ['r0_5fdefault_1837',['R0_DEFAULT',['../sms_2hardware_8h.html#af69775608c5d3218fb769c4fb370685f',1,'hardware.h']]], - ['r0_5fes_1838',['R0_ES',['../sms_2hardware_8h.html#a07d8e5a18c957c482218804ab764dab9',1,'hardware.h']]], - ['r0_5fes_5foff_1839',['R0_ES_OFF',['../sms_2hardware_8h.html#aebdf04065a0abf79ae8e1016d03caa1f',1,'hardware.h']]], - ['r0_5fhscrl_1840',['R0_HSCRL',['../sms_2hardware_8h.html#a61143072ad490ff0050177e7b4b2dd40',1,'hardware.h']]], - ['r0_5fhscrl_5finh_1841',['R0_HSCRL_INH',['../sms_2hardware_8h.html#a5c238a0b81716020b92cf851b2498b96',1,'hardware.h']]], - ['r0_5fie1_1842',['R0_IE1',['../sms_2hardware_8h.html#ae9ab439a46f9918cc24453cd65f95202',1,'hardware.h']]], - ['r0_5fie1_5foff_1843',['R0_IE1_OFF',['../sms_2hardware_8h.html#a56819f822caf1e545ff803d41cac3ede',1,'hardware.h']]], - ['r0_5flcb_1844',['R0_LCB',['../sms_2hardware_8h.html#a83088549f6d87bf5ccb8bf51dfe7ea7b',1,'hardware.h']]], - ['r0_5fno_5flcb_1845',['R0_NO_LCB',['../sms_2hardware_8h.html#acdd680365862fb618641818646edeb7e',1,'hardware.h']]], - ['r0_5fss_1846',['R0_SS',['../sms_2hardware_8h.html#ada8068942691b363f9004ccfd0cb8e82',1,'hardware.h']]], - ['r0_5fss_5foff_1847',['R0_SS_OFF',['../sms_2hardware_8h.html#a10e6ffa0580e9956440f4259a3e79a38',1,'hardware.h']]], - ['r0_5fvscrl_1848',['R0_VSCRL',['../sms_2hardware_8h.html#a283c5cad8b93ee7e72ad07aabb9bf522',1,'hardware.h']]], - ['r0_5fvscrl_5finh_1849',['R0_VSCRL_INH',['../sms_2hardware_8h.html#a65fa6547c2cd80b353a0b266cd834ff0',1,'hardware.h']]], - ['r10_5fint_5fevery_1850',['R10_INT_EVERY',['../sms_2hardware_8h.html#adf9e7ec5362058df23e1c0e4c06ad5d6',1,'hardware.h']]], - ['r10_5fint_5foff_1851',['R10_INT_OFF',['../sms_2hardware_8h.html#a98d635ed568cfe9f853eaf7e1707dec4',1,'hardware.h']]], - ['r1_5fdefault_1852',['R1_DEFAULT',['../sms_2hardware_8h.html#a490562a6e4b57d7bf25e8fed3b3f6905',1,'hardware.h']]], - ['r1_5fdisp_5foff_1853',['R1_DISP_OFF',['../sms_2hardware_8h.html#a143660061646a3f502d03a2251575588',1,'hardware.h']]], - ['r1_5fdisp_5fon_1854',['R1_DISP_ON',['../sms_2hardware_8h.html#adbfdd7c42539613c371820dffd14906f',1,'hardware.h']]], - ['r1_5fie_1855',['R1_IE',['../sms_2hardware_8h.html#a29a2945a9e77ba1f003a2305b7500568',1,'hardware.h']]], - ['r1_5fie_5foff_1856',['R1_IE_OFF',['../sms_2hardware_8h.html#adf542fd9d2bf9affc6016718e3885473',1,'hardware.h']]], - ['r1_5fspr_5f8x16_1857',['R1_SPR_8X16',['../sms_2hardware_8h.html#a4985d6df1031afe8efb993f9c480ca12',1,'hardware.h']]], - ['r1_5fspr_5f8x8_1858',['R1_SPR_8X8',['../sms_2hardware_8h.html#aa4062707b9b0f9ff5d1ee982ccc42fe7',1,'hardware.h']]], - ['r2_5fmap_5f0x0000_1859',['R2_MAP_0x0000',['../sms_2hardware_8h.html#acf804b73635a1bfeb04b7dbeafb7fd9f',1,'hardware.h']]], - ['r2_5fmap_5f0x0800_1860',['R2_MAP_0x0800',['../sms_2hardware_8h.html#a64cfebfe759bacd1424ad147931ff5a3',1,'hardware.h']]], - ['r2_5fmap_5f0x1000_1861',['R2_MAP_0x1000',['../sms_2hardware_8h.html#a43a631b4692a370b2db6b9d5fc2512e1',1,'hardware.h']]], - ['r2_5fmap_5f0x1800_1862',['R2_MAP_0x1800',['../sms_2hardware_8h.html#a08fade3bc2afb94785b0ac50d6959faa',1,'hardware.h']]], - ['r2_5fmap_5f0x2000_1863',['R2_MAP_0x2000',['../sms_2hardware_8h.html#aa2c53c6a4d12fb0614c1a18c015e39af',1,'hardware.h']]], - ['r2_5fmap_5f0x2800_1864',['R2_MAP_0x2800',['../sms_2hardware_8h.html#a43ae738f82e8c6e84d30a96fb9c2c792',1,'hardware.h']]], - ['r2_5fmap_5f0x3000_1865',['R2_MAP_0x3000',['../sms_2hardware_8h.html#a725647b41b3c8083a7ae8db762ffc880',1,'hardware.h']]], - ['r2_5fmap_5f0x3800_1866',['R2_MAP_0x3800',['../sms_2hardware_8h.html#a8ce8807a3666fa8c7c93d4834ab22fe3',1,'hardware.h']]], - ['r5_5fsat_5f0x3f00_1867',['R5_SAT_0x3F00',['../sms_2hardware_8h.html#ae973ce797203f9e4bebc10f5010a8fdd',1,'hardware.h']]], - ['r5_5fsat_5fmask_1868',['R5_SAT_MASK',['../sms_2hardware_8h.html#ab0ea6874bcc910239b098025c9761c01',1,'hardware.h']]], - ['r6_5fbank0_1869',['R6_BANK0',['../sms_2hardware_8h.html#a1aba84d3beebe43e641766525630d0ad',1,'hardware.h']]], - ['r6_5fbank1_1870',['R6_BANK1',['../sms_2hardware_8h.html#adcc51095e67b158df848367761d735a4',1,'hardware.h']]], - ['r6_5fdata_5f0x0000_1871',['R6_DATA_0x0000',['../sms_2hardware_8h.html#a81289f179bb00ade9e4f7221ddff0e46',1,'hardware.h']]], - ['r6_5fdata_5f0x2000_1872',['R6_DATA_0x2000',['../sms_2hardware_8h.html#ac59ac38e5ec2e23e511f854403d7cbe4',1,'hardware.h']]], - ['r7_5fcolor_5fmask_1873',['R7_COLOR_MASK',['../sms_2hardware_8h.html#aa1a024a7dc26ef40663fe283565bcf50',1,'hardware.h']]], - ['ramctl_5fbank_1874',['RAMCTL_BANK',['../sms_2hardware_8h.html#a8f4dbe8a2e6389c78b9f6fb9a3ff1dca',1,'hardware.h']]], - ['ramctl_5fprot_1875',['RAMCTL_PROT',['../sms_2hardware_8h.html#a97eb5adb5f29e17ce5766728447317f5',1,'hardware.h']]], - ['ramctl_5fram_1876',['RAMCTL_RAM',['../sms_2hardware_8h.html#a8728acabf97eae3322439bc3cb41b02d',1,'hardware.h']]], - ['ramctl_5fro_1877',['RAMCTL_RO',['../sms_2hardware_8h.html#afa9ebb221cf9cd92038131ab588679bf',1,'hardware.h']]], - ['ramctl_5from_1878',['RAMCTL_ROM',['../sms_2hardware_8h.html#a0167c8f86de8ef1a327b806c8ed0c64c',1,'hardware.h']]], - ['raud1env_1879',['rAUD1ENV',['../gb_2hardware_8h.html#ae787a2c857fe8f3803ca353d5309fc85',1,'hardware.h']]], - ['raud1high_1880',['rAUD1HIGH',['../gb_2hardware_8h.html#ab042aa7a7fae75f94d8fb3e08004c797',1,'hardware.h']]], - ['raud1len_1881',['rAUD1LEN',['../gb_2hardware_8h.html#aaeb899eb6bd0593ffb4e90a2f762b18f',1,'hardware.h']]], - ['raud1low_1882',['rAUD1LOW',['../gb_2hardware_8h.html#abb35a844f228403a96e28da7633344e1',1,'hardware.h']]], - ['raud1sweep_1883',['rAUD1SWEEP',['../gb_2hardware_8h.html#a4a73d9c15883b576fa0a5b4cc4ac2d08',1,'hardware.h']]], - ['raud2env_1884',['rAUD2ENV',['../gb_2hardware_8h.html#abf3efd42adced218237283156dbae055',1,'hardware.h']]], - ['raud2high_1885',['rAUD2HIGH',['../gb_2hardware_8h.html#afc3684b8215221942a0cddc5960cf8a9',1,'hardware.h']]], - ['raud2len_1886',['rAUD2LEN',['../gb_2hardware_8h.html#a12f01b21d08249800571c6e0f26beeae',1,'hardware.h']]], - ['raud2low_1887',['rAUD2LOW',['../gb_2hardware_8h.html#a521466a7650d60b464991ebf68112114',1,'hardware.h']]], - ['raud3ena_1888',['rAUD3ENA',['../gb_2hardware_8h.html#a13e230a0d2979e0b9ca9582f6010162b',1,'hardware.h']]], - ['raud3high_1889',['rAUD3HIGH',['../gb_2hardware_8h.html#acd0b3763f8599ed65e2d060b159bd91c',1,'hardware.h']]], - ['raud3len_1890',['rAUD3LEN',['../gb_2hardware_8h.html#ae168529ead90f90c28f75d57ba4d28e2',1,'hardware.h']]], - ['raud3level_1891',['rAUD3LEVEL',['../gb_2hardware_8h.html#a298bccebea918c63aed36c811e02333d',1,'hardware.h']]], - ['raud3low_1892',['rAUD3LOW',['../gb_2hardware_8h.html#a31d1d4441749e90c2895fc8750b2234c',1,'hardware.h']]], - ['raud4env_1893',['rAUD4ENV',['../gb_2hardware_8h.html#abba6cc1819ea73d36a389fd99807dac5',1,'hardware.h']]], - ['raud4go_1894',['rAUD4GO',['../gb_2hardware_8h.html#a8492c6d9cb38fbb4a2bf9f5caa426578',1,'hardware.h']]], - ['raud4len_1895',['rAUD4LEN',['../gb_2hardware_8h.html#abd820b2f5c18efb43548f64862d38f05',1,'hardware.h']]], - ['raud4poly_1896',['rAUD4POLY',['../gb_2hardware_8h.html#ae21217e822a66e77c15a4df4fa0cf1e9',1,'hardware.h']]], - ['raudena_1897',['rAUDENA',['../gb_2hardware_8h.html#a627044263543a1074dc9f4570aa8c915',1,'hardware.h']]], - ['raudterm_1898',['rAUDTERM',['../gb_2hardware_8h.html#ad2891216d025f44b02350f2ae2612b1e',1,'hardware.h']]], - ['raudvol_1899',['rAUDVOL',['../gb_2hardware_8h.html#a534fa3f905e37ac434537af23847d89a',1,'hardware.h']]], - ['rbcpd_1900',['rBCPD',['../gb_2hardware_8h.html#a3dbfd7c3f4a62774fbc98caa73899e96',1,'hardware.h']]], - ['rbcps_1901',['rBCPS',['../gb_2hardware_8h.html#a4f1816144e0561ff4db1ad24f4ce847a',1,'hardware.h']]], - ['rbgp_1902',['rBGP',['../gb_2hardware_8h.html#a4fbcc4798c0721efcf4462c04a4566c1',1,'hardware.h']]], - ['rdiv_1903',['rDIV',['../gb_2hardware_8h.html#a12ba1f984c585c57163f214f8829d569',1,'hardware.h']]], - ['rdma_1904',['rDMA',['../gb_2hardware_8h.html#a4225227c2812c3e3e500441f5e90772a',1,'hardware.h']]], - ['ret_5fsize_1905',['RET_SIZE',['../setjmp_8h.html#a61c5519ad23b4ddbcc77c45352aac913',1,'setjmp.h']]], - ['rgb_1906',['RGB',['../cgb_8h.html#a4a118ad3ee36468a3fa616977a64864e',1,'cgb.h']]], - ['rgb8_1907',['RGB8',['../cgb_8h.html#a7d2ed0f10b2b74123a544327bbfd7564',1,'cgb.h']]], - ['rgb_5faqua_1908',['RGB_AQUA',['../cgb_8h.html#ae4fe0c6cfa46b0c4804425f23bb48f4c',1,'cgb.h']]], - ['rgb_5fblack_1909',['RGB_BLACK',['../cgb_8h.html#ae168f0f9864d4ed4be7807b9783f17f1',1,'cgb.h']]], - ['rgb_5fblue_1910',['RGB_BLUE',['../cgb_8h.html#a0eff802f1ca228046476209dc01c76ad',1,'cgb.h']]], - ['rgb_5fbrown_1911',['RGB_BROWN',['../cgb_8h.html#a7c2a437dfb89d663a1c2f0a7a9256474',1,'cgb.h']]], - ['rgb_5fcyan_1912',['RGB_CYAN',['../cgb_8h.html#a2ce30ac984869b55594447722b9d0579',1,'cgb.h']]], - ['rgb_5fdarkblue_1913',['RGB_DARKBLUE',['../cgb_8h.html#ad44385fc245bbabf6da787dcc8930385',1,'cgb.h']]], - ['rgb_5fdarkgray_1914',['RGB_DARKGRAY',['../cgb_8h.html#a29b47e2361025eabcdc3bcbff2308044',1,'cgb.h']]], - ['rgb_5fdarkgreen_1915',['RGB_DARKGREEN',['../cgb_8h.html#a1ee7a5d8fd635e9132a2820a60f9789d',1,'cgb.h']]], - ['rgb_5fdarkred_1916',['RGB_DARKRED',['../cgb_8h.html#ae29b6947ac7dca7db513e59f1cfcbf51',1,'cgb.h']]], - ['rgb_5fdarkyellow_1917',['RGB_DARKYELLOW',['../cgb_8h.html#a2727da9f8c0b09a67375575a00186e2a',1,'cgb.h']]], - ['rgb_5fgreen_1918',['RGB_GREEN',['../cgb_8h.html#ab6c97468034c02fe204fd37036d9be15',1,'cgb.h']]], - ['rgb_5flightflesh_1919',['RGB_LIGHTFLESH',['../cgb_8h.html#a90ef6e9a3d95516b1fef15076b1b4999',1,'cgb.h']]], - ['rgb_5flightgray_1920',['RGB_LIGHTGRAY',['../cgb_8h.html#a80efbf7b13421922fb174f3e6a3e235c',1,'cgb.h']]], - ['rgb_5forange_1921',['RGB_ORANGE',['../cgb_8h.html#a0a85d8d0da8edc5cce98f48701f903f7',1,'cgb.h']]], - ['rgb_5fpink_1922',['RGB_PINK',['../cgb_8h.html#a59fb596d3d65cfc4d3cb7e5044b8b10a',1,'cgb.h']]], - ['rgb_5fpurple_1923',['RGB_PURPLE',['../cgb_8h.html#a9d5a5f880df6bd4b64e6546839d41101',1,'cgb.h']]], - ['rgb_5fred_1924',['RGB_RED',['../cgb_8h.html#aa039288455af8a3812a35aa1e7b903e4',1,'cgb.h']]], - ['rgb_5fteal_1925',['RGB_TEAL',['../cgb_8h.html#a9c8c3710151b2258ea8269850498703f',1,'cgb.h']]], - ['rgb_5fwhite_1926',['RGB_WHITE',['../cgb_8h.html#ac1771f95d9887118764bd8a074e537e1',1,'cgb.h']]], - ['rgb_5fyellow_1927',['RGB_YELLOW',['../cgb_8h.html#ad74a18fca945f257dc9d1b99f9edbd40',1,'cgb.h']]], - ['rgbhtml_1928',['RGBHTML',['../cgb_8h.html#ab5a6e450fcf10402278fe585a421dbbd',1,'cgb.h']]], - ['rhdma1_1929',['rHDMA1',['../gb_2hardware_8h.html#a5011196496193d80fc58cdb632fbab24',1,'hardware.h']]], - ['rhdma2_1930',['rHDMA2',['../gb_2hardware_8h.html#abc4249f04a9081f45439f61dabf861e5',1,'hardware.h']]], - ['rhdma3_1931',['rHDMA3',['../gb_2hardware_8h.html#aca2df62463b4c3bc4a291e18f26f4ec5',1,'hardware.h']]], - ['rhdma4_1932',['rHDMA4',['../gb_2hardware_8h.html#adee641ce3abf6b891e0e16bb56bdfcf7',1,'hardware.h']]], - ['rhdma5_1933',['rHDMA5',['../gb_2hardware_8h.html#ae7eecc25286b951a78ef0dfc97aab3a7',1,'hardware.h']]], - ['rie_1934',['rIE',['../gb_2hardware_8h.html#a52e850e75483f64ca070a33ee4877d47',1,'hardware.h']]], - ['rif_1935',['rIF',['../gb_2hardware_8h.html#a9534175911f7a54fa550318b275c4cc3',1,'hardware.h']]], - ['rkey1_1936',['rKEY1',['../gb_2hardware_8h.html#ad3f67013699d0d38c203e4e863c91c41',1,'hardware.h']]], - ['rlcdc_1937',['rLCDC',['../gb_2hardware_8h.html#a8b576a1fe1473ac4aff8afecb28035cb',1,'hardware.h']]], - ['rle_5fstop_1938',['RLE_STOP',['../rledecompress_8h.html#a2b4967f6970ecd99478db3807c68d955',1,'rledecompress.h']]], - ['rly_1939',['rLY',['../gb_2hardware_8h.html#aa851dae67d0bb80c17415774558d985f',1,'hardware.h']]], - ['rlyc_1940',['rLYC',['../gb_2hardware_8h.html#a92083741d31c9b2206b403e97124cbdc',1,'hardware.h']]], - ['robp0_1941',['rOBP0',['../gb_2hardware_8h.html#ae0a85bdedbbf1c79b5dbb5b23ca4bf79',1,'hardware.h']]], - ['robp1_1942',['rOBP1',['../gb_2hardware_8h.html#a2a14470dca10f69c092d817a433383bd',1,'hardware.h']]], - ['rocpd_1943',['rOCPD',['../gb_2hardware_8h.html#a723eb3e0c2c681a050e9a325e35c25ae',1,'hardware.h']]], - ['rocps_1944',['rOCPS',['../gb_2hardware_8h.html#a056b789889ecf0691e54f721e015b873',1,'hardware.h']]], - ['rp1_1945',['rP1',['../gb_2hardware_8h.html#ae7eccdbd4f7b211074591866f515b760',1,'hardware.h']]], - ['rpcm12_1946',['rPCM12',['../gb_2hardware_8h.html#a28368838b9e270c301361a5f39c97154',1,'hardware.h']]], - ['rpcm34_1947',['rPCM34',['../gb_2hardware_8h.html#ac1c402357ccc5f6c3c451450b30ca959',1,'hardware.h']]], - ['rpf_5fdatain_1948',['RPF_DATAIN',['../gb_2hardware_8h.html#aaffaea3512173f90b85bae710d40ba6c',1,'hardware.h']]], - ['rpf_5fenread_1949',['RPF_ENREAD',['../gb_2hardware_8h.html#a092b2e33a050ac6ced4e897498ce9a2f',1,'hardware.h']]], - ['rpf_5fwrite_5fhi_1950',['RPF_WRITE_HI',['../gb_2hardware_8h.html#ac47b78eb2ffea207a8c7ac643555ba6c',1,'hardware.h']]], - ['rpf_5fwrite_5flo_1951',['RPF_WRITE_LO',['../gb_2hardware_8h.html#ab0fe74a7c155ae95cbf20bbb5e1bf46b',1,'hardware.h']]], - ['rrp_1952',['rRP',['../gb_2hardware_8h.html#a82c53e957d31d22c475e1629843bc12d',1,'hardware.h']]], - ['rsb_1953',['rSB',['../gb_2hardware_8h.html#af35c8012bca7a164f0910d55cdf6030f',1,'hardware.h']]], - ['rsc_1954',['rSC',['../gb_2hardware_8h.html#a7780d3a9b0fcc42499ed2451d7ab2ec5',1,'hardware.h']]], - ['rscx_1955',['rSCX',['../gb_2hardware_8h.html#a97932e023d96ece4715802b6c2565c43',1,'hardware.h']]], - ['rscy_1956',['rSCY',['../gb_2hardware_8h.html#ad2537c13699429afa59a68c6d6598632',1,'hardware.h']]], - ['rsmbk_1957',['rSMBK',['../gb_2hardware_8h.html#af93abe183851726958f27d979498032e',1,'hardware.h']]], - ['rspd_1958',['rSPD',['../gb_2hardware_8h.html#a222d5e3cb366d5e720a832fc68ce3a13',1,'hardware.h']]], - ['rstat_1959',['rSTAT',['../gb_2hardware_8h.html#a338ec378453b4457efdb3008978c0f28',1,'hardware.h']]], - ['rsvbk_1960',['rSVBK',['../gb_2hardware_8h.html#a83e14896ee3ddf2a4201b534d8e5f398',1,'hardware.h']]], - ['rtac_1961',['rTAC',['../gb_2hardware_8h.html#aeddc90947f6a6a3a3fd1e1db3751c988',1,'hardware.h']]], - ['rtima_1962',['rTIMA',['../gb_2hardware_8h.html#a51594891b388d60d6917a6ff64542b66',1,'hardware.h']]], - ['rtma_1963',['rTMA',['../gb_2hardware_8h.html#a588d681dc33d9da3a899863b42980e18',1,'hardware.h']]], - ['rvbk_1964',['rVBK',['../gb_2hardware_8h.html#a09fa1caa91313e57dc2c3dd354104b00',1,'hardware.h']]], - ['rwx_1965',['rWX',['../gb_2hardware_8h.html#aba3cbaeca5ad045fb27095c210b661b7',1,'hardware.h']]], - ['rwy_1966',['rWY',['../gb_2hardware_8h.html#afe84077234eb6e0520d7a6d0a9e903e7',1,'hardware.h']]] + ['r0_5fdefault_1897',['R0_DEFAULT',['../sms_2hardware_8h.html#af69775608c5d3218fb769c4fb370685f',1,'hardware.h']]], + ['r0_5fes_1898',['R0_ES',['../sms_2hardware_8h.html#a07d8e5a18c957c482218804ab764dab9',1,'hardware.h']]], + ['r0_5fes_5foff_1899',['R0_ES_OFF',['../sms_2hardware_8h.html#aebdf04065a0abf79ae8e1016d03caa1f',1,'hardware.h']]], + ['r0_5fhscrl_1900',['R0_HSCRL',['../sms_2hardware_8h.html#a61143072ad490ff0050177e7b4b2dd40',1,'hardware.h']]], + ['r0_5fhscrl_5finh_1901',['R0_HSCRL_INH',['../sms_2hardware_8h.html#a5c238a0b81716020b92cf851b2498b96',1,'hardware.h']]], + ['r0_5fie1_1902',['R0_IE1',['../sms_2hardware_8h.html#ae9ab439a46f9918cc24453cd65f95202',1,'hardware.h']]], + ['r0_5fie1_5foff_1903',['R0_IE1_OFF',['../sms_2hardware_8h.html#a56819f822caf1e545ff803d41cac3ede',1,'hardware.h']]], + ['r0_5flcb_1904',['R0_LCB',['../sms_2hardware_8h.html#a83088549f6d87bf5ccb8bf51dfe7ea7b',1,'hardware.h']]], + ['r0_5fno_5flcb_1905',['R0_NO_LCB',['../sms_2hardware_8h.html#acdd680365862fb618641818646edeb7e',1,'hardware.h']]], + ['r0_5fss_1906',['R0_SS',['../sms_2hardware_8h.html#ada8068942691b363f9004ccfd0cb8e82',1,'hardware.h']]], + ['r0_5fss_5foff_1907',['R0_SS_OFF',['../sms_2hardware_8h.html#a10e6ffa0580e9956440f4259a3e79a38',1,'hardware.h']]], + ['r0_5fvscrl_1908',['R0_VSCRL',['../sms_2hardware_8h.html#a283c5cad8b93ee7e72ad07aabb9bf522',1,'hardware.h']]], + ['r0_5fvscrl_5finh_1909',['R0_VSCRL_INH',['../sms_2hardware_8h.html#a65fa6547c2cd80b353a0b266cd834ff0',1,'hardware.h']]], + ['r10_5fint_5fevery_1910',['R10_INT_EVERY',['../sms_2hardware_8h.html#adf9e7ec5362058df23e1c0e4c06ad5d6',1,'hardware.h']]], + ['r10_5fint_5foff_1911',['R10_INT_OFF',['../sms_2hardware_8h.html#a98d635ed568cfe9f853eaf7e1707dec4',1,'hardware.h']]], + ['r1_5fdefault_1912',['R1_DEFAULT',['../sms_2hardware_8h.html#a490562a6e4b57d7bf25e8fed3b3f6905',1,'hardware.h']]], + ['r1_5fdisp_5foff_1913',['R1_DISP_OFF',['../sms_2hardware_8h.html#a143660061646a3f502d03a2251575588',1,'hardware.h']]], + ['r1_5fdisp_5fon_1914',['R1_DISP_ON',['../sms_2hardware_8h.html#adbfdd7c42539613c371820dffd14906f',1,'hardware.h']]], + ['r1_5fie_1915',['R1_IE',['../sms_2hardware_8h.html#a29a2945a9e77ba1f003a2305b7500568',1,'hardware.h']]], + ['r1_5fie_5foff_1916',['R1_IE_OFF',['../sms_2hardware_8h.html#adf542fd9d2bf9affc6016718e3885473',1,'hardware.h']]], + ['r1_5fspr_5f8x16_1917',['R1_SPR_8X16',['../sms_2hardware_8h.html#a4985d6df1031afe8efb993f9c480ca12',1,'hardware.h']]], + ['r1_5fspr_5f8x8_1918',['R1_SPR_8X8',['../sms_2hardware_8h.html#aa4062707b9b0f9ff5d1ee982ccc42fe7',1,'hardware.h']]], + ['r2_5fmap_5f0x0000_1919',['R2_MAP_0x0000',['../sms_2hardware_8h.html#acf804b73635a1bfeb04b7dbeafb7fd9f',1,'hardware.h']]], + ['r2_5fmap_5f0x0800_1920',['R2_MAP_0x0800',['../sms_2hardware_8h.html#a64cfebfe759bacd1424ad147931ff5a3',1,'hardware.h']]], + ['r2_5fmap_5f0x1000_1921',['R2_MAP_0x1000',['../sms_2hardware_8h.html#a43a631b4692a370b2db6b9d5fc2512e1',1,'hardware.h']]], + ['r2_5fmap_5f0x1800_1922',['R2_MAP_0x1800',['../sms_2hardware_8h.html#a08fade3bc2afb94785b0ac50d6959faa',1,'hardware.h']]], + ['r2_5fmap_5f0x2000_1923',['R2_MAP_0x2000',['../sms_2hardware_8h.html#aa2c53c6a4d12fb0614c1a18c015e39af',1,'hardware.h']]], + ['r2_5fmap_5f0x2800_1924',['R2_MAP_0x2800',['../sms_2hardware_8h.html#a43ae738f82e8c6e84d30a96fb9c2c792',1,'hardware.h']]], + ['r2_5fmap_5f0x3000_1925',['R2_MAP_0x3000',['../sms_2hardware_8h.html#a725647b41b3c8083a7ae8db762ffc880',1,'hardware.h']]], + ['r2_5fmap_5f0x3800_1926',['R2_MAP_0x3800',['../sms_2hardware_8h.html#a8ce8807a3666fa8c7c93d4834ab22fe3',1,'hardware.h']]], + ['r5_5fsat_5f0x3f00_1927',['R5_SAT_0x3F00',['../sms_2hardware_8h.html#ae973ce797203f9e4bebc10f5010a8fdd',1,'hardware.h']]], + ['r5_5fsat_5fmask_1928',['R5_SAT_MASK',['../sms_2hardware_8h.html#ab0ea6874bcc910239b098025c9761c01',1,'hardware.h']]], + ['r6_5fbank0_1929',['R6_BANK0',['../sms_2hardware_8h.html#a1aba84d3beebe43e641766525630d0ad',1,'hardware.h']]], + ['r6_5fbank1_1930',['R6_BANK1',['../sms_2hardware_8h.html#adcc51095e67b158df848367761d735a4',1,'hardware.h']]], + ['r6_5fdata_5f0x0000_1931',['R6_DATA_0x0000',['../sms_2hardware_8h.html#a81289f179bb00ade9e4f7221ddff0e46',1,'hardware.h']]], + ['r6_5fdata_5f0x2000_1932',['R6_DATA_0x2000',['../sms_2hardware_8h.html#ac59ac38e5ec2e23e511f854403d7cbe4',1,'hardware.h']]], + ['r7_5fcolor_5fmask_1933',['R7_COLOR_MASK',['../sms_2hardware_8h.html#aa1a024a7dc26ef40663fe283565bcf50',1,'hardware.h']]], + ['ramctl_5fbank_1934',['RAMCTL_BANK',['../sms_2hardware_8h.html#a8f4dbe8a2e6389c78b9f6fb9a3ff1dca',1,'hardware.h']]], + ['ramctl_5fprot_1935',['RAMCTL_PROT',['../sms_2hardware_8h.html#a97eb5adb5f29e17ce5766728447317f5',1,'hardware.h']]], + ['ramctl_5fram_1936',['RAMCTL_RAM',['../sms_2hardware_8h.html#a8728acabf97eae3322439bc3cb41b02d',1,'hardware.h']]], + ['ramctl_5fro_1937',['RAMCTL_RO',['../sms_2hardware_8h.html#afa9ebb221cf9cd92038131ab588679bf',1,'hardware.h']]], + ['ramctl_5from_1938',['RAMCTL_ROM',['../sms_2hardware_8h.html#a0167c8f86de8ef1a327b806c8ed0c64c',1,'hardware.h']]], + ['rand_5fmax_1939',['RAND_MAX',['../rand_8h.html#a690f251553b39fd4f31894826141b61a',1,'rand.h']]], + ['randw_5fmax_1940',['RANDW_MAX',['../rand_8h.html#a6dbd2f1a15221db40f456cf574a793b4',1,'rand.h']]], + ['raud1env_1941',['rAUD1ENV',['../gb_2hardware_8h.html#ae787a2c857fe8f3803ca353d5309fc85',1,'hardware.h']]], + ['raud1high_1942',['rAUD1HIGH',['../gb_2hardware_8h.html#ab042aa7a7fae75f94d8fb3e08004c797',1,'hardware.h']]], + ['raud1len_1943',['rAUD1LEN',['../gb_2hardware_8h.html#aaeb899eb6bd0593ffb4e90a2f762b18f',1,'hardware.h']]], + ['raud1low_1944',['rAUD1LOW',['../gb_2hardware_8h.html#abb35a844f228403a96e28da7633344e1',1,'hardware.h']]], + ['raud1sweep_1945',['rAUD1SWEEP',['../gb_2hardware_8h.html#a4a73d9c15883b576fa0a5b4cc4ac2d08',1,'hardware.h']]], + ['raud2env_1946',['rAUD2ENV',['../gb_2hardware_8h.html#abf3efd42adced218237283156dbae055',1,'hardware.h']]], + ['raud2high_1947',['rAUD2HIGH',['../gb_2hardware_8h.html#afc3684b8215221942a0cddc5960cf8a9',1,'hardware.h']]], + ['raud2len_1948',['rAUD2LEN',['../gb_2hardware_8h.html#a12f01b21d08249800571c6e0f26beeae',1,'hardware.h']]], + ['raud2low_1949',['rAUD2LOW',['../gb_2hardware_8h.html#a521466a7650d60b464991ebf68112114',1,'hardware.h']]], + ['raud3ena_1950',['rAUD3ENA',['../gb_2hardware_8h.html#a13e230a0d2979e0b9ca9582f6010162b',1,'hardware.h']]], + ['raud3high_1951',['rAUD3HIGH',['../gb_2hardware_8h.html#acd0b3763f8599ed65e2d060b159bd91c',1,'hardware.h']]], + ['raud3len_1952',['rAUD3LEN',['../gb_2hardware_8h.html#ae168529ead90f90c28f75d57ba4d28e2',1,'hardware.h']]], + ['raud3level_1953',['rAUD3LEVEL',['../gb_2hardware_8h.html#a298bccebea918c63aed36c811e02333d',1,'hardware.h']]], + ['raud3low_1954',['rAUD3LOW',['../gb_2hardware_8h.html#a31d1d4441749e90c2895fc8750b2234c',1,'hardware.h']]], + ['raud4env_1955',['rAUD4ENV',['../gb_2hardware_8h.html#abba6cc1819ea73d36a389fd99807dac5',1,'hardware.h']]], + ['raud4go_1956',['rAUD4GO',['../gb_2hardware_8h.html#a8492c6d9cb38fbb4a2bf9f5caa426578',1,'hardware.h']]], + ['raud4len_1957',['rAUD4LEN',['../gb_2hardware_8h.html#abd820b2f5c18efb43548f64862d38f05',1,'hardware.h']]], + ['raud4poly_1958',['rAUD4POLY',['../gb_2hardware_8h.html#ae21217e822a66e77c15a4df4fa0cf1e9',1,'hardware.h']]], + ['raudena_1959',['rAUDENA',['../gb_2hardware_8h.html#a627044263543a1074dc9f4570aa8c915',1,'hardware.h']]], + ['raudterm_1960',['rAUDTERM',['../gb_2hardware_8h.html#ad2891216d025f44b02350f2ae2612b1e',1,'hardware.h']]], + ['raudvol_1961',['rAUDVOL',['../gb_2hardware_8h.html#a534fa3f905e37ac434537af23847d89a',1,'hardware.h']]], + ['rbcpd_1962',['rBCPD',['../gb_2hardware_8h.html#a3dbfd7c3f4a62774fbc98caa73899e96',1,'hardware.h']]], + ['rbcps_1963',['rBCPS',['../gb_2hardware_8h.html#a4f1816144e0561ff4db1ad24f4ce847a',1,'hardware.h']]], + ['rbgp_1964',['rBGP',['../gb_2hardware_8h.html#a4fbcc4798c0721efcf4462c04a4566c1',1,'hardware.h']]], + ['rdiv_1965',['rDIV',['../gb_2hardware_8h.html#a12ba1f984c585c57163f214f8829d569',1,'hardware.h']]], + ['rdma_1966',['rDMA',['../gb_2hardware_8h.html#a4225227c2812c3e3e500441f5e90772a',1,'hardware.h']]], + ['ret_5fsize_1967',['RET_SIZE',['../setjmp_8h.html#a61c5519ad23b4ddbcc77c45352aac913',1,'setjmp.h']]], + ['rgb_1968',['RGB',['../cgb_8h.html#a4a118ad3ee36468a3fa616977a64864e',1,'cgb.h']]], + ['rgb8_1969',['RGB8',['../cgb_8h.html#a7d2ed0f10b2b74123a544327bbfd7564',1,'cgb.h']]], + ['rgb_5faqua_1970',['RGB_AQUA',['../cgb_8h.html#ae4fe0c6cfa46b0c4804425f23bb48f4c',1,'cgb.h']]], + ['rgb_5fblack_1971',['RGB_BLACK',['../cgb_8h.html#ae168f0f9864d4ed4be7807b9783f17f1',1,'cgb.h']]], + ['rgb_5fblue_1972',['RGB_BLUE',['../cgb_8h.html#a0eff802f1ca228046476209dc01c76ad',1,'cgb.h']]], + ['rgb_5fbrown_1973',['RGB_BROWN',['../cgb_8h.html#a7c2a437dfb89d663a1c2f0a7a9256474',1,'cgb.h']]], + ['rgb_5fcyan_1974',['RGB_CYAN',['../cgb_8h.html#a2ce30ac984869b55594447722b9d0579',1,'cgb.h']]], + ['rgb_5fdarkblue_1975',['RGB_DARKBLUE',['../cgb_8h.html#ad44385fc245bbabf6da787dcc8930385',1,'cgb.h']]], + ['rgb_5fdarkgray_1976',['RGB_DARKGRAY',['../cgb_8h.html#a29b47e2361025eabcdc3bcbff2308044',1,'cgb.h']]], + ['rgb_5fdarkgreen_1977',['RGB_DARKGREEN',['../cgb_8h.html#a1ee7a5d8fd635e9132a2820a60f9789d',1,'cgb.h']]], + ['rgb_5fdarkred_1978',['RGB_DARKRED',['../cgb_8h.html#ae29b6947ac7dca7db513e59f1cfcbf51',1,'cgb.h']]], + ['rgb_5fdarkyellow_1979',['RGB_DARKYELLOW',['../cgb_8h.html#a2727da9f8c0b09a67375575a00186e2a',1,'cgb.h']]], + ['rgb_5fgreen_1980',['RGB_GREEN',['../cgb_8h.html#ab6c97468034c02fe204fd37036d9be15',1,'cgb.h']]], + ['rgb_5flightflesh_1981',['RGB_LIGHTFLESH',['../cgb_8h.html#a90ef6e9a3d95516b1fef15076b1b4999',1,'cgb.h']]], + ['rgb_5flightgray_1982',['RGB_LIGHTGRAY',['../cgb_8h.html#a80efbf7b13421922fb174f3e6a3e235c',1,'cgb.h']]], + ['rgb_5forange_1983',['RGB_ORANGE',['../cgb_8h.html#a0a85d8d0da8edc5cce98f48701f903f7',1,'cgb.h']]], + ['rgb_5fpink_1984',['RGB_PINK',['../cgb_8h.html#a59fb596d3d65cfc4d3cb7e5044b8b10a',1,'cgb.h']]], + ['rgb_5fpurple_1985',['RGB_PURPLE',['../cgb_8h.html#a9d5a5f880df6bd4b64e6546839d41101',1,'cgb.h']]], + ['rgb_5fred_1986',['RGB_RED',['../cgb_8h.html#aa039288455af8a3812a35aa1e7b903e4',1,'cgb.h']]], + ['rgb_5fteal_1987',['RGB_TEAL',['../cgb_8h.html#a9c8c3710151b2258ea8269850498703f',1,'cgb.h']]], + ['rgb_5fwhite_1988',['RGB_WHITE',['../cgb_8h.html#ac1771f95d9887118764bd8a074e537e1',1,'cgb.h']]], + ['rgb_5fyellow_1989',['RGB_YELLOW',['../cgb_8h.html#ad74a18fca945f257dc9d1b99f9edbd40',1,'cgb.h']]], + ['rgbhtml_1990',['RGBHTML',['../cgb_8h.html#ab5a6e450fcf10402278fe585a421dbbd',1,'cgb.h']]], + ['rhdma1_1991',['rHDMA1',['../gb_2hardware_8h.html#a5011196496193d80fc58cdb632fbab24',1,'hardware.h']]], + ['rhdma2_1992',['rHDMA2',['../gb_2hardware_8h.html#abc4249f04a9081f45439f61dabf861e5',1,'hardware.h']]], + ['rhdma3_1993',['rHDMA3',['../gb_2hardware_8h.html#aca2df62463b4c3bc4a291e18f26f4ec5',1,'hardware.h']]], + ['rhdma4_1994',['rHDMA4',['../gb_2hardware_8h.html#adee641ce3abf6b891e0e16bb56bdfcf7',1,'hardware.h']]], + ['rhdma5_1995',['rHDMA5',['../gb_2hardware_8h.html#ae7eecc25286b951a78ef0dfc97aab3a7',1,'hardware.h']]], + ['rie_1996',['rIE',['../gb_2hardware_8h.html#a52e850e75483f64ca070a33ee4877d47',1,'hardware.h']]], + ['rif_1997',['rIF',['../gb_2hardware_8h.html#a9534175911f7a54fa550318b275c4cc3',1,'hardware.h']]], + ['rkey1_1998',['rKEY1',['../gb_2hardware_8h.html#ad3f67013699d0d38c203e4e863c91c41',1,'hardware.h']]], + ['rlcdc_1999',['rLCDC',['../gb_2hardware_8h.html#a8b576a1fe1473ac4aff8afecb28035cb',1,'hardware.h']]], + ['rle_5fstop_2000',['RLE_STOP',['../rledecompress_8h.html#a2b4967f6970ecd99478db3807c68d955',1,'rledecompress.h']]], + ['rly_2001',['rLY',['../gb_2hardware_8h.html#aa851dae67d0bb80c17415774558d985f',1,'hardware.h']]], + ['rlyc_2002',['rLYC',['../gb_2hardware_8h.html#a92083741d31c9b2206b403e97124cbdc',1,'hardware.h']]], + ['robp0_2003',['rOBP0',['../gb_2hardware_8h.html#ae0a85bdedbbf1c79b5dbb5b23ca4bf79',1,'hardware.h']]], + ['robp1_2004',['rOBP1',['../gb_2hardware_8h.html#a2a14470dca10f69c092d817a433383bd',1,'hardware.h']]], + ['rocpd_2005',['rOCPD',['../gb_2hardware_8h.html#a723eb3e0c2c681a050e9a325e35c25ae',1,'hardware.h']]], + ['rocps_2006',['rOCPS',['../gb_2hardware_8h.html#a056b789889ecf0691e54f721e015b873',1,'hardware.h']]], + ['rp1_2007',['rP1',['../gb_2hardware_8h.html#ae7eccdbd4f7b211074591866f515b760',1,'hardware.h']]], + ['rpcm12_2008',['rPCM12',['../gb_2hardware_8h.html#a28368838b9e270c301361a5f39c97154',1,'hardware.h']]], + ['rpcm34_2009',['rPCM34',['../gb_2hardware_8h.html#ac1c402357ccc5f6c3c451450b30ca959',1,'hardware.h']]], + ['rpf_5fdatain_2010',['RPF_DATAIN',['../gb_2hardware_8h.html#aaffaea3512173f90b85bae710d40ba6c',1,'hardware.h']]], + ['rpf_5fenread_2011',['RPF_ENREAD',['../gb_2hardware_8h.html#a092b2e33a050ac6ced4e897498ce9a2f',1,'hardware.h']]], + ['rpf_5fwrite_5fhi_2012',['RPF_WRITE_HI',['../gb_2hardware_8h.html#ac47b78eb2ffea207a8c7ac643555ba6c',1,'hardware.h']]], + ['rpf_5fwrite_5flo_2013',['RPF_WRITE_LO',['../gb_2hardware_8h.html#ab0fe74a7c155ae95cbf20bbb5e1bf46b',1,'hardware.h']]], + ['rrp_2014',['rRP',['../gb_2hardware_8h.html#a82c53e957d31d22c475e1629843bc12d',1,'hardware.h']]], + ['rsb_2015',['rSB',['../gb_2hardware_8h.html#af35c8012bca7a164f0910d55cdf6030f',1,'hardware.h']]], + ['rsc_2016',['rSC',['../gb_2hardware_8h.html#a7780d3a9b0fcc42499ed2451d7ab2ec5',1,'hardware.h']]], + ['rscx_2017',['rSCX',['../gb_2hardware_8h.html#a97932e023d96ece4715802b6c2565c43',1,'hardware.h']]], + ['rscy_2018',['rSCY',['../gb_2hardware_8h.html#ad2537c13699429afa59a68c6d6598632',1,'hardware.h']]], + ['rsmbk_2019',['rSMBK',['../gb_2hardware_8h.html#af93abe183851726958f27d979498032e',1,'hardware.h']]], + ['rspd_2020',['rSPD',['../gb_2hardware_8h.html#a222d5e3cb366d5e720a832fc68ce3a13',1,'hardware.h']]], + ['rstat_2021',['rSTAT',['../gb_2hardware_8h.html#a338ec378453b4457efdb3008978c0f28',1,'hardware.h']]], + ['rsvbk_2022',['rSVBK',['../gb_2hardware_8h.html#a83e14896ee3ddf2a4201b534d8e5f398',1,'hardware.h']]], + ['rtac_2023',['rTAC',['../gb_2hardware_8h.html#aeddc90947f6a6a3a3fd1e1db3751c988',1,'hardware.h']]], + ['rtima_2024',['rTIMA',['../gb_2hardware_8h.html#a51594891b388d60d6917a6ff64542b66',1,'hardware.h']]], + ['rtma_2025',['rTMA',['../gb_2hardware_8h.html#a588d681dc33d9da3a899863b42980e18',1,'hardware.h']]], + ['rvbk_2026',['rVBK',['../gb_2hardware_8h.html#a09fa1caa91313e57dc2c3dd354104b00',1,'hardware.h']]], + ['rwx_2027',['rWX',['../gb_2hardware_8h.html#aba3cbaeca5ad045fb27095c210b661b7',1,'hardware.h']]], + ['rwy_2028',['rWY',['../gb_2hardware_8h.html#afe84077234eb6e0520d7a6d0a9e903e7',1,'hardware.h']]] ]; diff --git a/docs/api/search/defines_12.js b/docs/api/search/defines_12.js @@ -1,109 +1,111 @@ var searchData= [ - ['s_5fflipx_1967',['S_FLIPX',['../gb_8h.html#ae97793b4039609f93b0f7f8bddb18011',1,'S_FLIPX(): gb.h'],['../sms_8h.html#ae97793b4039609f93b0f7f8bddb18011',1,'S_FLIPX(): sms.h']]], - ['s_5fflipy_1968',['S_FLIPY',['../gb_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b',1,'S_FLIPY(): gb.h'],['../sms_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b',1,'S_FLIPY(): sms.h']]], - ['s_5fpalette_1969',['S_PALETTE',['../gb_8h.html#a54572cf6791463b6d60623837e0bb5a6',1,'S_PALETTE(): gb.h'],['../sms_8h.html#a54572cf6791463b6d60623837e0bb5a6',1,'S_PALETTE(): sms.h']]], - ['s_5fpriority_1970',['S_PRIORITY',['../gb_8h.html#a9506d04c2ec7d2442a52054f67d2b32f',1,'S_PRIORITY(): gb.h'],['../sms_8h.html#a9506d04c2ec7d2442a52054f67d2b32f',1,'S_PRIORITY(): sms.h']]], - ['schar_5fmax_1971',['SCHAR_MAX',['../limits_8h.html#a8c13fdd8c2840edf0cb04a65297037bb',1,'limits.h']]], - ['schar_5fmin_1972',['SCHAR_MIN',['../limits_8h.html#aa05d197000ad5c143ada0fcd9379b236',1,'limits.h']]], - ['screenheight_1973',['SCREENHEIGHT',['../gb_8h.html#ae189e98d0ef9263c37869ce1ff3710a5',1,'SCREENHEIGHT(): gb.h'],['../sms_8h.html#ae189e98d0ef9263c37869ce1ff3710a5',1,'SCREENHEIGHT(): sms.h']]], - ['screenwidth_1974',['SCREENWIDTH',['../gb_8h.html#ada0cc738d27aad251151e69cb8d250e1',1,'SCREENWIDTH(): gb.h'],['../sms_8h.html#ada0cc738d27aad251151e69cb8d250e1',1,'SCREENWIDTH(): sms.h']]], - ['sega_1975',['SEGA',['../sms_8h.html#a19e5fbd76b85bf708ec31d55905fc537',1,'sms.h']]], - ['set_5fbkg_5f2bpp_5fdata_1976',['set_bkg_2bpp_data',['../gb_8h.html#ab94bfec130df50d9cb808142f94603a5',1,'gb.h']]], - ['set_5fbkg_5fpalette_1977',['set_bkg_palette',['../sms_8h.html#a9f879bd31899f7989f887b6238de24e3',1,'sms.h']]], - ['set_5fbkg_5fpalette_5fentry_1978',['set_bkg_palette_entry',['../sms_8h.html#a2215732f2ba2ec6406b65d3cca56a200',1,'sms.h']]], - ['set_5fbkg_5ftile_5fxy_1979',['set_bkg_tile_xy',['../sms_8h.html#adcd40a58f7c7d348d506cc400cd94739',1,'sms.h']]], - ['set_5fbkg_5ftiles_1980',['set_bkg_tiles',['../sms_8h.html#a9a732aec1b7aec7d10a9d76ca4da2064',1,'sms.h']]], - ['set_5fsprite_5f2bpp_5fdata_1981',['set_sprite_2bpp_data',['../gb_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4',1,'gb.h']]], - ['set_5fsprite_5fpalette_1982',['set_sprite_palette',['../sms_8h.html#a7d5ed1aed79d8fd2894893d7f6f9b835',1,'sms.h']]], - ['set_5fsprite_5fpalette_5fentry_1983',['set_sprite_palette_entry',['../sms_8h.html#a8b5c17235a3f65af70492e109a25f237',1,'sms.h']]], - ['set_5ftile_5fmap_1984',['set_tile_map',['../gb_8h.html#a55f82ff980398dd97036fd936ebd727e',1,'gb.h']]], - ['set_5ftile_5fsubmap_1985',['set_tile_submap',['../gb_8h.html#adb5d0970167b81401113812773c90838',1,'gb.h']]], - ['set_5ftile_5fxy_1986',['set_tile_xy',['../gb_8h.html#a3b235c526c517fb02d20cdea780ee2c5',1,'gb.h']]], - ['set_5fwin_5ftile_5fxy_1987',['set_win_tile_xy',['../sms_8h.html#a95d929d964d9988f4dc5a25ed399ae08',1,'sms.h']]], - ['set_5fwin_5ftiles_1988',['set_win_tiles',['../sms_8h.html#a429db030287423012f40a6dca81ae7e3',1,'sms.h']]], - ['setjmp_1989',['setjmp',['../setjmp_8h.html#a27d1a255c7e0d69afec2367bb85b60b0',1,'setjmp.h']]], - ['sgb_5fatrc_5fen_1990',['SGB_ATRC_EN',['../sgb_8h.html#a3d81b1e455d60d760ee58e2685953775',1,'sgb.h']]], - ['sgb_5fattr_5fblk_1991',['SGB_ATTR_BLK',['../sgb_8h.html#a6437bd5982922fffdbc7c5d8c643e357',1,'sgb.h']]], - ['sgb_5fattr_5fchr_1992',['SGB_ATTR_CHR',['../sgb_8h.html#a41981a213b67bdc45bf8ed78f07e7bba',1,'sgb.h']]], - ['sgb_5fattr_5fdiv_1993',['SGB_ATTR_DIV',['../sgb_8h.html#adcb3f50616813637283f88bfd4d53e22',1,'sgb.h']]], - ['sgb_5fattr_5flin_1994',['SGB_ATTR_LIN',['../sgb_8h.html#ade5ba9723a9964e55cff72108149037a',1,'sgb.h']]], - ['sgb_5fattr_5fset_1995',['SGB_ATTR_SET',['../sgb_8h.html#abf8d94c42e97e1ce640340657df70640',1,'sgb.h']]], - ['sgb_5fattr_5ftrn_1996',['SGB_ATTR_TRN',['../sgb_8h.html#a1762d2df2599cf864400bac4934a5d61',1,'sgb.h']]], - ['sgb_5fchr_5ftrn_1997',['SGB_CHR_TRN',['../sgb_8h.html#af4d8b611dfdda33039038375ee95f424',1,'sgb.h']]], - ['sgb_5fdata_5fsnd_1998',['SGB_DATA_SND',['../sgb_8h.html#ae4fe10a0c9eca38d126f3a8701e3c9a2',1,'sgb.h']]], - ['sgb_5fdata_5ftrn_1999',['SGB_DATA_TRN',['../sgb_8h.html#a862a450451cfccf138311089b85292fc',1,'sgb.h']]], - ['sgb_5ficon_5fen_2000',['SGB_ICON_EN',['../sgb_8h.html#a46440df1df1597852a286d56c1a68a48',1,'sgb.h']]], - ['sgb_5fjump_2001',['SGB_JUMP',['../sgb_8h.html#aac4217b88053614f70af5b1f32e72870',1,'sgb.h']]], - ['sgb_5fmask_5fen_2002',['SGB_MASK_EN',['../sgb_8h.html#a20477d5772564b63de2d151e062dd5a7',1,'sgb.h']]], - ['sgb_5fmlt_5freq_2003',['SGB_MLT_REQ',['../sgb_8h.html#a70aad9e5786ca8a4753c47583e88f8a2',1,'sgb.h']]], - ['sgb_5fobj_5ftrn_2004',['SGB_OBJ_TRN',['../sgb_8h.html#a3b76bf1e9ac81da97c533fa3ab12096c',1,'sgb.h']]], - ['sgb_5fpal_5f01_2005',['SGB_PAL_01',['../sgb_8h.html#a70bdb512d109fbcaeb95efa32e9dcaf5',1,'sgb.h']]], - ['sgb_5fpal_5f03_2006',['SGB_PAL_03',['../sgb_8h.html#af9e1ca804555fad619db3f38b62a49e8',1,'sgb.h']]], - ['sgb_5fpal_5f12_2007',['SGB_PAL_12',['../sgb_8h.html#a8d633d52d4a7adfaef516953d5e8552a',1,'sgb.h']]], - ['sgb_5fpal_5f23_2008',['SGB_PAL_23',['../sgb_8h.html#acaa2f1ac9949189896582fc5ad0823b1',1,'sgb.h']]], - ['sgb_5fpal_5fset_2009',['SGB_PAL_SET',['../sgb_8h.html#ad9023ed1d8dd4a2eebc55a376207f3d2',1,'sgb.h']]], - ['sgb_5fpal_5ftrn_2010',['SGB_PAL_TRN',['../sgb_8h.html#ac490ce8566f869727e8b00fabb1c9fc6',1,'sgb.h']]], - ['sgb_5fpct_5ftrn_2011',['SGB_PCT_TRN',['../sgb_8h.html#ac0bf9d5dc54d711fd14f44bf58eaa5db',1,'sgb.h']]], - ['sgb_5fsou_5ftrn_2012',['SGB_SOU_TRN',['../sgb_8h.html#a82a976ea6a32ae0078a27e3c06143bcf',1,'sgb.h']]], - ['sgb_5fsound_2013',['SGB_SOUND',['../sgb_8h.html#a42e0fbc58e65874e0a76d7f33a322ce8',1,'sgb.h']]], - ['sgb_5ftest_5fen_2014',['SGB_TEST_EN',['../sgb_8h.html#a8e644a43af63932283e9c78a472881dc',1,'sgb.h']]], - ['show_5fbkg_2015',['SHOW_BKG',['../gb_8h.html#a8e3f36aa68ac036695816757f2a1322c',1,'SHOW_BKG(): gb.h'],['../sms_8h.html#a8e3f36aa68ac036695816757f2a1322c',1,'SHOW_BKG(): sms.h']]], - ['show_5fleft_5fcolumn_2016',['SHOW_LEFT_COLUMN',['../gb_8h.html#a5497c2255a9474d397446710189eacbe',1,'SHOW_LEFT_COLUMN(): gb.h'],['../sms_8h.html#a5497c2255a9474d397446710189eacbe',1,'SHOW_LEFT_COLUMN(): sms.h']]], - ['show_5fsprites_2017',['SHOW_SPRITES',['../gb_8h.html#a495bc9f405f916f02ad5d97e6e730134',1,'SHOW_SPRITES(): gb.h'],['../sms_8h.html#a495bc9f405f916f02ad5d97e6e730134',1,'SHOW_SPRITES(): sms.h']]], - ['show_5fwin_2018',['SHOW_WIN',['../gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8',1,'SHOW_WIN(): gb.h'],['../sms_8h.html#ab19da2ab719bb8897bc0843a84af28f8',1,'SHOW_WIN(): sms.h']]], - ['shrt_5fmax_2019',['SHRT_MAX',['../limits_8h.html#a1f758438cb1c7bcf55da2431f5e319e6',1,'limits.h']]], - ['shrt_5fmin_2020',['SHRT_MIN',['../limits_8h.html#ae59de266aceffa1c258ac13f45fe0d18',1,'limits.h']]], - ['sig_5fatomic_5fmax_2021',['SIG_ATOMIC_MAX',['../stdint_8h.html#a1f5fe9445d0ad0bee21bab1de4cc3e58',1,'stdint.h']]], - ['sig_5fatomic_5fmin_2022',['SIG_ATOMIC_MIN',['../stdint_8h.html#a21e605b9ac3a03b6de93cdf5a69e129f',1,'stdint.h']]], - ['signed_2023',['SIGNED',['../drawing_8h.html#a4dec4d9b2bace4f5bc6e6337f4086837',1,'drawing.h']]], - ['sio_5fiflag_2024',['SIO_IFLAG',['../gb_8h.html#ad90564458646c5646b3880b93db3443e',1,'SIO_IFLAG(): gb.h'],['../sms_8h.html#ad90564458646c5646b3880b93db3443e',1,'SIO_IFLAG(): sms.h']]], - ['siof_5fb_5fclock_2025',['SIOF_B_CLOCK',['../gb_2hardware_8h.html#a19b35b0b21101a2782ce5bde4125db04',1,'hardware.h']]], - ['siof_5fb_5fspeed_2026',['SIOF_B_SPEED',['../gb_2hardware_8h.html#a32b7b11b2ca90ffb52ce19e7279ea973',1,'hardware.h']]], - ['siof_5fb_5fxfer_5fstart_2027',['SIOF_B_XFER_START',['../gb_2hardware_8h.html#a03aaffc30c9ff81d86502c1f6b3dbaea',1,'hardware.h']]], - ['siof_5fclock_5fext_2028',['SIOF_CLOCK_EXT',['../gb_2hardware_8h.html#a72a900117cdee0fbec10a278d9de0876',1,'hardware.h']]], - ['siof_5fclock_5fint_2029',['SIOF_CLOCK_INT',['../gb_2hardware_8h.html#a55ab8a9eb853e9bcfd72a2bf7e2c524b',1,'hardware.h']]], - ['siof_5fspeed_5f1x_2030',['SIOF_SPEED_1X',['../gb_2hardware_8h.html#ae9c948fad514ac440b7c6cc037384ec2',1,'hardware.h']]], - ['siof_5fspeed_5f32x_2031',['SIOF_SPEED_32X',['../gb_2hardware_8h.html#a44f550e55e7154388748e7c330929c63',1,'hardware.h']]], - ['siof_5fxfer_5fstart_2032',['SIOF_XFER_START',['../gb_2hardware_8h.html#a21a6e935e8a3ac591905429874ccbe84',1,'hardware.h']]], - ['size_5fmax_2033',['SIZE_MAX',['../stdint_8h.html#a3c75bb398badb69c7577b21486f9963f',1,'stdint.h']]], - ['solid_2034',['SOLID',['../drawing_8h.html#aa8abfd58ea514228abd69d8f6330e91d',1,'drawing.h']]], - ['sp_5fsize_2035',['SP_SIZE',['../setjmp_8h.html#aebec2c4d6fc67c86fbb297bd79efb27c',1,'setjmp.h']]], - ['sprites_5f8x16_2036',['SPRITES_8x16',['../gb_8h.html#af91d252f07f4764996154820f970c101',1,'SPRITES_8x16(): gb.h'],['../sms_8h.html#af91d252f07f4764996154820f970c101',1,'SPRITES_8x16(): sms.h']]], - ['sprites_5f8x8_2037',['SPRITES_8x8',['../gb_8h.html#aa87bec0d134136fdb727f52cb773b792',1,'SPRITES_8x8(): gb.h'],['../sms_8h.html#aa87bec0d134136fdb727f52cb773b792',1,'SPRITES_8x8(): sms.h']]], - ['spx_5fsize_2038',['SPX_SIZE',['../setjmp_8h.html#ad27470e8d39238686f96b46d5b9deb40',1,'setjmp.h']]], - ['statf_5f9_5fspr_2039',['STATF_9_SPR',['../sms_2hardware_8h.html#a4a7b807e5e5987302a5315fe5c815ce8',1,'hardware.h']]], - ['statf_5fb_5fbusy_2040',['STATF_B_BUSY',['../gb_2hardware_8h.html#a3b0bf7449b517b3cda2a89428db6deb9',1,'hardware.h']]], - ['statf_5fb_5flyc_2041',['STATF_B_LYC',['../gb_2hardware_8h.html#ac1e4b66204a5bff207be36fdfedd63d5',1,'hardware.h']]], - ['statf_5fb_5flycf_2042',['STATF_B_LYCF',['../gb_2hardware_8h.html#ab058c32e4ebf21b3beb06a0d7440e6ad',1,'hardware.h']]], - ['statf_5fb_5fmode00_2043',['STATF_B_MODE00',['../gb_2hardware_8h.html#acdbf6b3217f6a5681df94c8b8992d1d6',1,'hardware.h']]], - ['statf_5fb_5fmode01_2044',['STATF_B_MODE01',['../gb_2hardware_8h.html#a5b683ff804221c6fc721b996fce65bda',1,'hardware.h']]], - ['statf_5fb_5fmode10_2045',['STATF_B_MODE10',['../gb_2hardware_8h.html#ac75479aa0d34ac4344d80451276e97cc',1,'hardware.h']]], - ['statf_5fb_5foam_2046',['STATF_B_OAM',['../gb_2hardware_8h.html#a7393f505e4277af40167d72415c46fa5',1,'hardware.h']]], - ['statf_5fb_5fvbl_2047',['STATF_B_VBL',['../gb_2hardware_8h.html#a55c4815aea004a9951606db7e7a1f0d7',1,'hardware.h']]], - ['statf_5fbusy_2048',['STATF_BUSY',['../gb_2hardware_8h.html#a92a063885caf6c6cda665da0309055ec',1,'hardware.h']]], - ['statf_5fhbl_2049',['STATF_HBL',['../gb_2hardware_8h.html#ab04e468d2403bc69f761daa300bb999a',1,'hardware.h']]], - ['statf_5fint_5fvbl_2050',['STATF_INT_VBL',['../sms_2hardware_8h.html#a4702e74fffdc57d60c3835e63c665cc1',1,'hardware.h']]], - ['statf_5flcd_2051',['STATF_LCD',['../gb_2hardware_8h.html#a6f5df560b791d2fc086c23f99dd03354',1,'hardware.h']]], - ['statf_5flyc_2052',['STATF_LYC',['../gb_2hardware_8h.html#a3b53105cc5be896b48794ba82d2aeb4c',1,'hardware.h']]], - ['statf_5flycf_2053',['STATF_LYCF',['../gb_2hardware_8h.html#a2b3637bad69da368c3d7136632963fb7',1,'hardware.h']]], - ['statf_5fmode00_2054',['STATF_MODE00',['../gb_2hardware_8h.html#a72b78d4d640033770be37d95bf8e1f9d',1,'hardware.h']]], - ['statf_5fmode01_2055',['STATF_MODE01',['../gb_2hardware_8h.html#ad27f428fca89ea6b236ff3aa4769a05e',1,'hardware.h']]], - ['statf_5fmode10_2056',['STATF_MODE10',['../gb_2hardware_8h.html#a47b5bc2ec6afaf1d50a8db5f24415922',1,'hardware.h']]], - ['statf_5foam_2057',['STATF_OAM',['../gb_2hardware_8h.html#acc45e1a4ea60d8248102a71c1658c5a3',1,'hardware.h']]], - ['statf_5fspr_5fcoll_2058',['STATF_SPR_COLL',['../sms_2hardware_8h.html#a6fdd982d805d5af6de0417e24faf027d',1,'hardware.h']]], - ['statf_5fvbl_2059',['STATF_VBL',['../gb_2hardware_8h.html#adb52e1f4b56ef259db300a187fe58fc9',1,'hardware.h']]], - ['switch_5f16_5f8_5fmode_5fmbc1_2060',['SWITCH_16_8_MODE_MBC1',['../gb_8h.html#a0c689c5a814f1c347c4d98f28ed6c7d6',1,'gb.h']]], - ['switch_5f4_5f32_5fmode_5fmbc1_2061',['SWITCH_4_32_MODE_MBC1',['../gb_8h.html#aa5d64e386a00b373f22ffdc5a152c7ba',1,'gb.h']]], - ['switch_5fram_2062',['SWITCH_RAM',['../gb_8h.html#a6e40dcc763efd953181c7400642a9f69',1,'SWITCH_RAM(): gb.h'],['../sms_8h.html#a121feb0c32d124562f52398aa9656e7b',1,'SWITCH_RAM(): sms.h']]], - ['switch_5fram_5fmbc1_2063',['SWITCH_RAM_MBC1',['../gb_8h.html#a38ea3e4dfe02b8eae70df27f39d4a951',1,'gb.h']]], - ['switch_5fram_5fmbc5_2064',['SWITCH_RAM_MBC5',['../gb_8h.html#a361d5055a7ae880fc1c9d6e0d1164fd6',1,'gb.h']]], - ['switch_5from_2065',['SWITCH_ROM',['../gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc',1,'SWITCH_ROM(): gb.h'],['../sms_8h.html#af61262bbc05629f31020afce67e1b9ea',1,'SWITCH_ROM(): sms.h']]], - ['switch_5from1_2066',['SWITCH_ROM1',['../sms_8h.html#a86d47feb2b999aaabbba9f63f4bb3567',1,'sms.h']]], - ['switch_5from2_2067',['SWITCH_ROM2',['../sms_8h.html#a6d40a15ff27c2a1c8269d3dbe67eae65',1,'sms.h']]], - ['switch_5from_5fmbc1_2068',['SWITCH_ROM_MBC1',['../gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f',1,'gb.h']]], - ['switch_5from_5fmbc5_2069',['SWITCH_ROM_MBC5',['../gb_8h.html#a92d040284342702026eb19dab59b586e',1,'gb.h']]], - ['switch_5from_5fmbc5_5f8m_2070',['SWITCH_ROM_MBC5_8M',['../gb_8h.html#a6c15ebc660abd3a978137493ab63ffe9',1,'gb.h']]], - ['system_5fntsc_2071',['SYSTEM_NTSC',['../sms_2hardware_8h.html#ae6888157a94fca2f1a1b5136494f2e07',1,'hardware.h']]], - ['system_5fpal_2072',['SYSTEM_PAL',['../sms_2hardware_8h.html#a1ac4bf5582e0754ea814c3f51c99a91a',1,'hardware.h']]] + ['s_5fflipx_2029',['S_FLIPX',['../gb_8h.html#ae97793b4039609f93b0f7f8bddb18011',1,'S_FLIPX(): gb.h'],['../sms_8h.html#ae97793b4039609f93b0f7f8bddb18011',1,'S_FLIPX(): sms.h']]], + ['s_5fflipy_2030',['S_FLIPY',['../gb_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b',1,'S_FLIPY(): gb.h'],['../sms_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b',1,'S_FLIPY(): sms.h']]], + ['s_5fpalette_2031',['S_PALETTE',['../gb_8h.html#a54572cf6791463b6d60623837e0bb5a6',1,'S_PALETTE(): gb.h'],['../sms_8h.html#a54572cf6791463b6d60623837e0bb5a6',1,'S_PALETTE(): sms.h']]], + ['s_5fpriority_2032',['S_PRIORITY',['../gb_8h.html#a9506d04c2ec7d2442a52054f67d2b32f',1,'S_PRIORITY(): gb.h'],['../sms_8h.html#a9506d04c2ec7d2442a52054f67d2b32f',1,'S_PRIORITY(): sms.h']]], + ['schar_5fmax_2033',['SCHAR_MAX',['../limits_8h.html#a8c13fdd8c2840edf0cb04a65297037bb',1,'limits.h']]], + ['schar_5fmin_2034',['SCHAR_MIN',['../limits_8h.html#aa05d197000ad5c143ada0fcd9379b236',1,'limits.h']]], + ['screenheight_2035',['SCREENHEIGHT',['../gb_8h.html#ae189e98d0ef9263c37869ce1ff3710a5',1,'SCREENHEIGHT(): gb.h'],['../sms_8h.html#ae189e98d0ef9263c37869ce1ff3710a5',1,'SCREENHEIGHT(): sms.h']]], + ['screenwidth_2036',['SCREENWIDTH',['../gb_8h.html#ada0cc738d27aad251151e69cb8d250e1',1,'SCREENWIDTH(): gb.h'],['../sms_8h.html#ada0cc738d27aad251151e69cb8d250e1',1,'SCREENWIDTH(): sms.h']]], + ['sega_2037',['SEGA',['../sms_8h.html#a19e5fbd76b85bf708ec31d55905fc537',1,'sms.h']]], + ['set_5fbkg_5f2bpp_5fdata_2038',['set_bkg_2bpp_data',['../gb_8h.html#ab94bfec130df50d9cb808142f94603a5',1,'gb.h']]], + ['set_5fbkg_5fpalette_2039',['set_bkg_palette',['../sms_8h.html#a9f879bd31899f7989f887b6238de24e3',1,'sms.h']]], + ['set_5fbkg_5fpalette_5fentry_2040',['set_bkg_palette_entry',['../sms_8h.html#a2215732f2ba2ec6406b65d3cca56a200',1,'sms.h']]], + ['set_5fbkg_5ftile_5fxy_2041',['set_bkg_tile_xy',['../sms_8h.html#adcd40a58f7c7d348d506cc400cd94739',1,'sms.h']]], + ['set_5fbkg_5ftiles_2042',['set_bkg_tiles',['../sms_8h.html#a9a732aec1b7aec7d10a9d76ca4da2064',1,'sms.h']]], + ['set_5fsprite_5f2bpp_5fdata_2043',['set_sprite_2bpp_data',['../gb_8h.html#a43b4f0ba65856deef626c0d9e7e41ed4',1,'gb.h']]], + ['set_5fsprite_5fpalette_2044',['set_sprite_palette',['../sms_8h.html#a7d5ed1aed79d8fd2894893d7f6f9b835',1,'sms.h']]], + ['set_5fsprite_5fpalette_5fentry_2045',['set_sprite_palette_entry',['../sms_8h.html#a8b5c17235a3f65af70492e109a25f237',1,'sms.h']]], + ['set_5ftile_5fmap_2046',['set_tile_map',['../gb_8h.html#a55f82ff980398dd97036fd936ebd727e',1,'gb.h']]], + ['set_5ftile_5fsubmap_2047',['set_tile_submap',['../gb_8h.html#adb5d0970167b81401113812773c90838',1,'gb.h']]], + ['set_5ftile_5fxy_2048',['set_tile_xy',['../gb_8h.html#a3b235c526c517fb02d20cdea780ee2c5',1,'gb.h']]], + ['set_5fwin_5ftile_5fxy_2049',['set_win_tile_xy',['../sms_8h.html#a95d929d964d9988f4dc5a25ed399ae08',1,'sms.h']]], + ['set_5fwin_5ftiles_2050',['set_win_tiles',['../sms_8h.html#a429db030287423012f40a6dca81ae7e3',1,'sms.h']]], + ['setjmp_2051',['setjmp',['../setjmp_8h.html#a27d1a255c7e0d69afec2367bb85b60b0',1,'setjmp.h']]], + ['sfr_2052',['SFR',['../asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4',1,'types.h']]], + ['sgb_5fatrc_5fen_2053',['SGB_ATRC_EN',['../sgb_8h.html#a3d81b1e455d60d760ee58e2685953775',1,'sgb.h']]], + ['sgb_5fattr_5fblk_2054',['SGB_ATTR_BLK',['../sgb_8h.html#a6437bd5982922fffdbc7c5d8c643e357',1,'sgb.h']]], + ['sgb_5fattr_5fchr_2055',['SGB_ATTR_CHR',['../sgb_8h.html#a41981a213b67bdc45bf8ed78f07e7bba',1,'sgb.h']]], + ['sgb_5fattr_5fdiv_2056',['SGB_ATTR_DIV',['../sgb_8h.html#adcb3f50616813637283f88bfd4d53e22',1,'sgb.h']]], + ['sgb_5fattr_5flin_2057',['SGB_ATTR_LIN',['../sgb_8h.html#ade5ba9723a9964e55cff72108149037a',1,'sgb.h']]], + ['sgb_5fattr_5fset_2058',['SGB_ATTR_SET',['../sgb_8h.html#abf8d94c42e97e1ce640340657df70640',1,'sgb.h']]], + ['sgb_5fattr_5ftrn_2059',['SGB_ATTR_TRN',['../sgb_8h.html#a1762d2df2599cf864400bac4934a5d61',1,'sgb.h']]], + ['sgb_5fchr_5ftrn_2060',['SGB_CHR_TRN',['../sgb_8h.html#af4d8b611dfdda33039038375ee95f424',1,'sgb.h']]], + ['sgb_5fdata_5fsnd_2061',['SGB_DATA_SND',['../sgb_8h.html#ae4fe10a0c9eca38d126f3a8701e3c9a2',1,'sgb.h']]], + ['sgb_5fdata_5ftrn_2062',['SGB_DATA_TRN',['../sgb_8h.html#a862a450451cfccf138311089b85292fc',1,'sgb.h']]], + ['sgb_5ficon_5fen_2063',['SGB_ICON_EN',['../sgb_8h.html#a46440df1df1597852a286d56c1a68a48',1,'sgb.h']]], + ['sgb_5fjump_2064',['SGB_JUMP',['../sgb_8h.html#aac4217b88053614f70af5b1f32e72870',1,'sgb.h']]], + ['sgb_5fmask_5fen_2065',['SGB_MASK_EN',['../sgb_8h.html#a20477d5772564b63de2d151e062dd5a7',1,'sgb.h']]], + ['sgb_5fmlt_5freq_2066',['SGB_MLT_REQ',['../sgb_8h.html#a70aad9e5786ca8a4753c47583e88f8a2',1,'sgb.h']]], + ['sgb_5fobj_5ftrn_2067',['SGB_OBJ_TRN',['../sgb_8h.html#a3b76bf1e9ac81da97c533fa3ab12096c',1,'sgb.h']]], + ['sgb_5fpal_5f01_2068',['SGB_PAL_01',['../sgb_8h.html#a70bdb512d109fbcaeb95efa32e9dcaf5',1,'sgb.h']]], + ['sgb_5fpal_5f03_2069',['SGB_PAL_03',['../sgb_8h.html#af9e1ca804555fad619db3f38b62a49e8',1,'sgb.h']]], + ['sgb_5fpal_5f12_2070',['SGB_PAL_12',['../sgb_8h.html#a8d633d52d4a7adfaef516953d5e8552a',1,'sgb.h']]], + ['sgb_5fpal_5f23_2071',['SGB_PAL_23',['../sgb_8h.html#acaa2f1ac9949189896582fc5ad0823b1',1,'sgb.h']]], + ['sgb_5fpal_5fset_2072',['SGB_PAL_SET',['../sgb_8h.html#ad9023ed1d8dd4a2eebc55a376207f3d2',1,'sgb.h']]], + ['sgb_5fpal_5ftrn_2073',['SGB_PAL_TRN',['../sgb_8h.html#ac490ce8566f869727e8b00fabb1c9fc6',1,'sgb.h']]], + ['sgb_5fpct_5ftrn_2074',['SGB_PCT_TRN',['../sgb_8h.html#ac0bf9d5dc54d711fd14f44bf58eaa5db',1,'sgb.h']]], + ['sgb_5fsou_5ftrn_2075',['SGB_SOU_TRN',['../sgb_8h.html#a82a976ea6a32ae0078a27e3c06143bcf',1,'sgb.h']]], + ['sgb_5fsound_2076',['SGB_SOUND',['../sgb_8h.html#a42e0fbc58e65874e0a76d7f33a322ce8',1,'sgb.h']]], + ['sgb_5ftest_5fen_2077',['SGB_TEST_EN',['../sgb_8h.html#a8e644a43af63932283e9c78a472881dc',1,'sgb.h']]], + ['show_5fbkg_2078',['SHOW_BKG',['../gb_8h.html#a8e3f36aa68ac036695816757f2a1322c',1,'SHOW_BKG(): gb.h'],['../sms_8h.html#a8e3f36aa68ac036695816757f2a1322c',1,'SHOW_BKG(): sms.h']]], + ['show_5fleft_5fcolumn_2079',['SHOW_LEFT_COLUMN',['../gb_8h.html#a5497c2255a9474d397446710189eacbe',1,'SHOW_LEFT_COLUMN(): gb.h'],['../sms_8h.html#a5497c2255a9474d397446710189eacbe',1,'SHOW_LEFT_COLUMN(): sms.h']]], + ['show_5fsprites_2080',['SHOW_SPRITES',['../gb_8h.html#a495bc9f405f916f02ad5d97e6e730134',1,'SHOW_SPRITES(): gb.h'],['../sms_8h.html#a495bc9f405f916f02ad5d97e6e730134',1,'SHOW_SPRITES(): sms.h']]], + ['show_5fwin_2081',['SHOW_WIN',['../gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8',1,'SHOW_WIN(): gb.h'],['../sms_8h.html#ab19da2ab719bb8897bc0843a84af28f8',1,'SHOW_WIN(): sms.h']]], + ['shrt_5fmax_2082',['SHRT_MAX',['../limits_8h.html#a1f758438cb1c7bcf55da2431f5e319e6',1,'limits.h']]], + ['shrt_5fmin_2083',['SHRT_MIN',['../limits_8h.html#ae59de266aceffa1c258ac13f45fe0d18',1,'limits.h']]], + ['sig_5fatomic_5fmax_2084',['SIG_ATOMIC_MAX',['../stdint_8h.html#a1f5fe9445d0ad0bee21bab1de4cc3e58',1,'stdint.h']]], + ['sig_5fatomic_5fmin_2085',['SIG_ATOMIC_MIN',['../stdint_8h.html#a21e605b9ac3a03b6de93cdf5a69e129f',1,'stdint.h']]], + ['signed_2086',['SIGNED',['../drawing_8h.html#a4dec4d9b2bace4f5bc6e6337f4086837',1,'drawing.h']]], + ['sio_5fiflag_2087',['SIO_IFLAG',['../gb_8h.html#ad90564458646c5646b3880b93db3443e',1,'SIO_IFLAG(): gb.h'],['../sms_8h.html#ad90564458646c5646b3880b93db3443e',1,'SIO_IFLAG(): sms.h']]], + ['siof_5fb_5fclock_2088',['SIOF_B_CLOCK',['../gb_2hardware_8h.html#a19b35b0b21101a2782ce5bde4125db04',1,'hardware.h']]], + ['siof_5fb_5fspeed_2089',['SIOF_B_SPEED',['../gb_2hardware_8h.html#a32b7b11b2ca90ffb52ce19e7279ea973',1,'hardware.h']]], + ['siof_5fb_5fxfer_5fstart_2090',['SIOF_B_XFER_START',['../gb_2hardware_8h.html#a03aaffc30c9ff81d86502c1f6b3dbaea',1,'hardware.h']]], + ['siof_5fclock_5fext_2091',['SIOF_CLOCK_EXT',['../gb_2hardware_8h.html#a72a900117cdee0fbec10a278d9de0876',1,'hardware.h']]], + ['siof_5fclock_5fint_2092',['SIOF_CLOCK_INT',['../gb_2hardware_8h.html#a55ab8a9eb853e9bcfd72a2bf7e2c524b',1,'hardware.h']]], + ['siof_5fspeed_5f1x_2093',['SIOF_SPEED_1X',['../gb_2hardware_8h.html#ae9c948fad514ac440b7c6cc037384ec2',1,'hardware.h']]], + ['siof_5fspeed_5f32x_2094',['SIOF_SPEED_32X',['../gb_2hardware_8h.html#a44f550e55e7154388748e7c330929c63',1,'hardware.h']]], + ['siof_5fxfer_5fstart_2095',['SIOF_XFER_START',['../gb_2hardware_8h.html#a21a6e935e8a3ac591905429874ccbe84',1,'hardware.h']]], + ['size_5fmax_2096',['SIZE_MAX',['../stdint_8h.html#a3c75bb398badb69c7577b21486f9963f',1,'stdint.h']]], + ['solid_2097',['SOLID',['../drawing_8h.html#aa8abfd58ea514228abd69d8f6330e91d',1,'drawing.h']]], + ['sp_5fsize_2098',['SP_SIZE',['../setjmp_8h.html#aebec2c4d6fc67c86fbb297bd79efb27c',1,'setjmp.h']]], + ['sprites_5f8x16_2099',['SPRITES_8x16',['../gb_8h.html#af91d252f07f4764996154820f970c101',1,'SPRITES_8x16(): gb.h'],['../sms_8h.html#af91d252f07f4764996154820f970c101',1,'SPRITES_8x16(): sms.h']]], + ['sprites_5f8x8_2100',['SPRITES_8x8',['../gb_8h.html#aa87bec0d134136fdb727f52cb773b792',1,'SPRITES_8x8(): gb.h'],['../sms_8h.html#aa87bec0d134136fdb727f52cb773b792',1,'SPRITES_8x8(): sms.h']]], + ['spx_5fsize_2101',['SPX_SIZE',['../setjmp_8h.html#ad27470e8d39238686f96b46d5b9deb40',1,'setjmp.h']]], + ['statf_5f9_5fspr_2102',['STATF_9_SPR',['../sms_2hardware_8h.html#a4a7b807e5e5987302a5315fe5c815ce8',1,'hardware.h']]], + ['statf_5fb_5fbusy_2103',['STATF_B_BUSY',['../gb_2hardware_8h.html#a3b0bf7449b517b3cda2a89428db6deb9',1,'hardware.h']]], + ['statf_5fb_5flyc_2104',['STATF_B_LYC',['../gb_2hardware_8h.html#ac1e4b66204a5bff207be36fdfedd63d5',1,'hardware.h']]], + ['statf_5fb_5flycf_2105',['STATF_B_LYCF',['../gb_2hardware_8h.html#ab058c32e4ebf21b3beb06a0d7440e6ad',1,'hardware.h']]], + ['statf_5fb_5fmode00_2106',['STATF_B_MODE00',['../gb_2hardware_8h.html#acdbf6b3217f6a5681df94c8b8992d1d6',1,'hardware.h']]], + ['statf_5fb_5fmode01_2107',['STATF_B_MODE01',['../gb_2hardware_8h.html#a5b683ff804221c6fc721b996fce65bda',1,'hardware.h']]], + ['statf_5fb_5fmode10_2108',['STATF_B_MODE10',['../gb_2hardware_8h.html#ac75479aa0d34ac4344d80451276e97cc',1,'hardware.h']]], + ['statf_5fb_5foam_2109',['STATF_B_OAM',['../gb_2hardware_8h.html#a7393f505e4277af40167d72415c46fa5',1,'hardware.h']]], + ['statf_5fb_5fvbl_2110',['STATF_B_VBL',['../gb_2hardware_8h.html#a55c4815aea004a9951606db7e7a1f0d7',1,'hardware.h']]], + ['statf_5fbusy_2111',['STATF_BUSY',['../gb_2hardware_8h.html#a92a063885caf6c6cda665da0309055ec',1,'hardware.h']]], + ['statf_5fhbl_2112',['STATF_HBL',['../gb_2hardware_8h.html#ab04e468d2403bc69f761daa300bb999a',1,'hardware.h']]], + ['statf_5fint_5fvbl_2113',['STATF_INT_VBL',['../sms_2hardware_8h.html#a4702e74fffdc57d60c3835e63c665cc1',1,'hardware.h']]], + ['statf_5flcd_2114',['STATF_LCD',['../gb_2hardware_8h.html#a6f5df560b791d2fc086c23f99dd03354',1,'hardware.h']]], + ['statf_5flyc_2115',['STATF_LYC',['../gb_2hardware_8h.html#a3b53105cc5be896b48794ba82d2aeb4c',1,'hardware.h']]], + ['statf_5flycf_2116',['STATF_LYCF',['../gb_2hardware_8h.html#a2b3637bad69da368c3d7136632963fb7',1,'hardware.h']]], + ['statf_5fmode00_2117',['STATF_MODE00',['../gb_2hardware_8h.html#a72b78d4d640033770be37d95bf8e1f9d',1,'hardware.h']]], + ['statf_5fmode01_2118',['STATF_MODE01',['../gb_2hardware_8h.html#ad27f428fca89ea6b236ff3aa4769a05e',1,'hardware.h']]], + ['statf_5fmode10_2119',['STATF_MODE10',['../gb_2hardware_8h.html#a47b5bc2ec6afaf1d50a8db5f24415922',1,'hardware.h']]], + ['statf_5foam_2120',['STATF_OAM',['../gb_2hardware_8h.html#acc45e1a4ea60d8248102a71c1658c5a3',1,'hardware.h']]], + ['statf_5fspr_5fcoll_2121',['STATF_SPR_COLL',['../sms_2hardware_8h.html#a6fdd982d805d5af6de0417e24faf027d',1,'hardware.h']]], + ['statf_5fvbl_2122',['STATF_VBL',['../gb_2hardware_8h.html#adb52e1f4b56ef259db300a187fe58fc9',1,'hardware.h']]], + ['switch_5f16_5f8_5fmode_5fmbc1_2123',['SWITCH_16_8_MODE_MBC1',['../gb_8h.html#a0c689c5a814f1c347c4d98f28ed6c7d6',1,'gb.h']]], + ['switch_5f4_5f32_5fmode_5fmbc1_2124',['SWITCH_4_32_MODE_MBC1',['../gb_8h.html#aa5d64e386a00b373f22ffdc5a152c7ba',1,'gb.h']]], + ['switch_5fram_2125',['SWITCH_RAM',['../gb_8h.html#a6e40dcc763efd953181c7400642a9f69',1,'SWITCH_RAM(): gb.h'],['../sms_8h.html#a121feb0c32d124562f52398aa9656e7b',1,'SWITCH_RAM(): sms.h']]], + ['switch_5fram_5fmbc1_2126',['SWITCH_RAM_MBC1',['../gb_8h.html#a38ea3e4dfe02b8eae70df27f39d4a951',1,'gb.h']]], + ['switch_5fram_5fmbc5_2127',['SWITCH_RAM_MBC5',['../gb_8h.html#a361d5055a7ae880fc1c9d6e0d1164fd6',1,'gb.h']]], + ['switch_5from_2128',['SWITCH_ROM',['../gb_8h.html#a1e22a3b60368bb5f3705d625ac2d09cc',1,'SWITCH_ROM(): gb.h'],['../sms_8h.html#af61262bbc05629f31020afce67e1b9ea',1,'SWITCH_ROM(): sms.h']]], + ['switch_5from1_2129',['SWITCH_ROM1',['../sms_8h.html#a86d47feb2b999aaabbba9f63f4bb3567',1,'sms.h']]], + ['switch_5from2_2130',['SWITCH_ROM2',['../sms_8h.html#a6d40a15ff27c2a1c8269d3dbe67eae65',1,'sms.h']]], + ['switch_5from_5fmbc1_2131',['SWITCH_ROM_MBC1',['../gb_8h.html#a19558f5bbc9fea767f945001ae9cd13f',1,'gb.h']]], + ['switch_5from_5fmbc5_2132',['SWITCH_ROM_MBC5',['../gb_8h.html#a92d040284342702026eb19dab59b586e',1,'gb.h']]], + ['switch_5from_5fmbc5_5f8m_2133',['SWITCH_ROM_MBC5_8M',['../gb_8h.html#a6c15ebc660abd3a978137493ab63ffe9',1,'gb.h']]], + ['switch_5from_5fmegaduck_2134',['SWITCH_ROM_MEGADUCK',['../gb_8h.html#a3fca2d0a22aa2717e62fed659caf4743',1,'gb.h']]], + ['system_5fntsc_2135',['SYSTEM_NTSC',['../sms_2hardware_8h.html#ae6888157a94fca2f1a1b5136494f2e07',1,'hardware.h']]], + ['system_5fpal_2136',['SYSTEM_PAL',['../sms_2hardware_8h.html#a1ac4bf5582e0754ea814c3f51c99a91a',1,'hardware.h']]] ]; diff --git a/docs/api/search/defines_13.js b/docs/api/search/defines_13.js @@ -1,33 +1,33 @@ var searchData= [ - ['tacf_5f16khz_2073',['TACF_16KHZ',['../gb_2hardware_8h.html#a7d2c165347d3bb3e3a54fad73e1f363e',1,'hardware.h']]], - ['tacf_5f262khz_2074',['TACF_262KHZ',['../gb_2hardware_8h.html#ac00b1e90d257b756845da578f4c3f3ba',1,'hardware.h']]], - ['tacf_5f4khz_2075',['TACF_4KHZ',['../gb_2hardware_8h.html#a19dce313b521aad75756abfc19bc9e78',1,'hardware.h']]], - ['tacf_5f65khz_2076',['TACF_65KHZ',['../gb_2hardware_8h.html#a8be2b577af91deed7b8946b500e73319',1,'hardware.h']]], - ['tacf_5fstart_2077',['TACF_START',['../gb_2hardware_8h.html#a07863a535e0aaa11b73608d7430dbc0a',1,'hardware.h']]], - ['tacf_5fstop_2078',['TACF_STOP',['../gb_2hardware_8h.html#a9179fd1ba4626627567b9478f691e653',1,'hardware.h']]], - ['tim_5fiflag_2079',['TIM_IFLAG',['../gb_8h.html#a604256210ec5b90b68185e1a18efab49',1,'TIM_IFLAG(): gb.h'],['../sms_8h.html#a604256210ec5b90b68185e1a18efab49',1,'TIM_IFLAG(): sms.h']]], - ['to_5ffar_5fptr_2080',['TO_FAR_PTR',['../far__ptr_8h.html#a0c227677a96f9bf7e84a90922f2f8708',1,'far_ptr.h']]], - ['true_2081',['true',['../stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7',1,'true(): stdbool.h'],['../types_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d',1,'TRUE(): types.h']]], - ['typeof_5farray_2082',['TYPEOF_ARRAY',['../typeof_8h.html#ac627e9a5f9b283cb8904d73c941f1896',1,'typeof.h']]], - ['typeof_5fbit_2083',['TYPEOF_BIT',['../typeof_8h.html#a5b91f9d826e3c5c6873bc86cdce3d517',1,'typeof.h']]], - ['typeof_5fbitfield_2084',['TYPEOF_BITFIELD',['../typeof_8h.html#a5b9f605bb8dcac27ddfab4e9a8c9a2ca',1,'typeof.h']]], - ['typeof_5fchar_2085',['TYPEOF_CHAR',['../typeof_8h.html#ae042a4e85033237ee9fbc1af3cac7025',1,'typeof.h']]], - ['typeof_5fcpointer_2086',['TYPEOF_CPOINTER',['../typeof_8h.html#a6131cee0fe0abf1cf2fcfcec830535d4',1,'typeof.h']]], - ['typeof_5feeppointer_2087',['TYPEOF_EEPPOINTER',['../typeof_8h.html#a73d0c1f1fc515b199acb5631f8a16898',1,'typeof.h']]], - ['typeof_5ffixed16x16_2088',['TYPEOF_FIXED16X16',['../typeof_8h.html#a709c014873866243abc0275099f676f5',1,'typeof.h']]], - ['typeof_5ffloat_2089',['TYPEOF_FLOAT',['../typeof_8h.html#a3d694a422fb7a54f15ddf1c9749567f7',1,'typeof.h']]], - ['typeof_5ffpointer_2090',['TYPEOF_FPOINTER',['../typeof_8h.html#a5301fd3500fb9f9454a17f9d4c5d0e8c',1,'typeof.h']]], - ['typeof_5ffunction_2091',['TYPEOF_FUNCTION',['../typeof_8h.html#a3adf36b394d11d9b35f45ad8c4544670',1,'typeof.h']]], - ['typeof_5fgpointer_2092',['TYPEOF_GPOINTER',['../typeof_8h.html#adbec06ba3e6f0e2dcbefd788978f9ad6',1,'typeof.h']]], - ['typeof_5fint_2093',['TYPEOF_INT',['../typeof_8h.html#a4bb94b94304a21b7bd462be44f9d197a',1,'typeof.h']]], - ['typeof_5fipointer_2094',['TYPEOF_IPOINTER',['../typeof_8h.html#aa56dfc698692fb3f2d64c1a4b192f9c0',1,'typeof.h']]], - ['typeof_5flong_2095',['TYPEOF_LONG',['../typeof_8h.html#ab4833544b1f4060806106baa0eb916e6',1,'typeof.h']]], - ['typeof_5fpointer_2096',['TYPEOF_POINTER',['../typeof_8h.html#a2541fdaacae83bbcc99dcedf464c7c94',1,'typeof.h']]], - ['typeof_5fppointer_2097',['TYPEOF_PPOINTER',['../typeof_8h.html#ad38c6e5ceee5c5fe3703690fc32b23ae',1,'typeof.h']]], - ['typeof_5fsbit_2098',['TYPEOF_SBIT',['../typeof_8h.html#a09fcac98c1e69b32ea223eada74e30bd',1,'typeof.h']]], - ['typeof_5fsfr_2099',['TYPEOF_SFR',['../typeof_8h.html#aae32132bbca6df6423182122d95b00cd',1,'typeof.h']]], - ['typeof_5fshort_2100',['TYPEOF_SHORT',['../typeof_8h.html#a58af351d7955729a79e425a88bf86bab',1,'typeof.h']]], - ['typeof_5fstruct_2101',['TYPEOF_STRUCT',['../typeof_8h.html#a4f9ce6ed9178ad58f706e74cd8c24e1f',1,'typeof.h']]], - ['typeof_5fvoid_2102',['TYPEOF_VOID',['../typeof_8h.html#a03582306431a63d84cc721132ed683c8',1,'typeof.h']]] + ['tacf_5f16khz_2137',['TACF_16KHZ',['../gb_2hardware_8h.html#a7d2c165347d3bb3e3a54fad73e1f363e',1,'hardware.h']]], + ['tacf_5f262khz_2138',['TACF_262KHZ',['../gb_2hardware_8h.html#ac00b1e90d257b756845da578f4c3f3ba',1,'hardware.h']]], + ['tacf_5f4khz_2139',['TACF_4KHZ',['../gb_2hardware_8h.html#a19dce313b521aad75756abfc19bc9e78',1,'hardware.h']]], + ['tacf_5f65khz_2140',['TACF_65KHZ',['../gb_2hardware_8h.html#a8be2b577af91deed7b8946b500e73319',1,'hardware.h']]], + ['tacf_5fstart_2141',['TACF_START',['../gb_2hardware_8h.html#a07863a535e0aaa11b73608d7430dbc0a',1,'hardware.h']]], + ['tacf_5fstop_2142',['TACF_STOP',['../gb_2hardware_8h.html#a9179fd1ba4626627567b9478f691e653',1,'hardware.h']]], + ['tim_5fiflag_2143',['TIM_IFLAG',['../gb_8h.html#a604256210ec5b90b68185e1a18efab49',1,'TIM_IFLAG(): gb.h'],['../sms_8h.html#a604256210ec5b90b68185e1a18efab49',1,'TIM_IFLAG(): sms.h']]], + ['to_5ffar_5fptr_2144',['TO_FAR_PTR',['../far__ptr_8h.html#a0c227677a96f9bf7e84a90922f2f8708',1,'far_ptr.h']]], + ['true_2145',['TRUE',['../types_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d',1,'TRUE(): types.h'],['../stdbool_8h.html#a41f9c5fb8b08eb5dc3edce4dcb37fee7',1,'true(): stdbool.h']]], + ['typeof_5farray_2146',['TYPEOF_ARRAY',['../typeof_8h.html#ac627e9a5f9b283cb8904d73c941f1896',1,'typeof.h']]], + ['typeof_5fbit_2147',['TYPEOF_BIT',['../typeof_8h.html#a5b91f9d826e3c5c6873bc86cdce3d517',1,'typeof.h']]], + ['typeof_5fbitfield_2148',['TYPEOF_BITFIELD',['../typeof_8h.html#a5b9f605bb8dcac27ddfab4e9a8c9a2ca',1,'typeof.h']]], + ['typeof_5fchar_2149',['TYPEOF_CHAR',['../typeof_8h.html#ae042a4e85033237ee9fbc1af3cac7025',1,'typeof.h']]], + ['typeof_5fcpointer_2150',['TYPEOF_CPOINTER',['../typeof_8h.html#a6131cee0fe0abf1cf2fcfcec830535d4',1,'typeof.h']]], + ['typeof_5feeppointer_2151',['TYPEOF_EEPPOINTER',['../typeof_8h.html#a73d0c1f1fc515b199acb5631f8a16898',1,'typeof.h']]], + ['typeof_5ffixed16x16_2152',['TYPEOF_FIXED16X16',['../typeof_8h.html#a709c014873866243abc0275099f676f5',1,'typeof.h']]], + ['typeof_5ffloat_2153',['TYPEOF_FLOAT',['../typeof_8h.html#a3d694a422fb7a54f15ddf1c9749567f7',1,'typeof.h']]], + ['typeof_5ffpointer_2154',['TYPEOF_FPOINTER',['../typeof_8h.html#a5301fd3500fb9f9454a17f9d4c5d0e8c',1,'typeof.h']]], + ['typeof_5ffunction_2155',['TYPEOF_FUNCTION',['../typeof_8h.html#a3adf36b394d11d9b35f45ad8c4544670',1,'typeof.h']]], + ['typeof_5fgpointer_2156',['TYPEOF_GPOINTER',['../typeof_8h.html#adbec06ba3e6f0e2dcbefd788978f9ad6',1,'typeof.h']]], + ['typeof_5fint_2157',['TYPEOF_INT',['../typeof_8h.html#a4bb94b94304a21b7bd462be44f9d197a',1,'typeof.h']]], + ['typeof_5fipointer_2158',['TYPEOF_IPOINTER',['../typeof_8h.html#aa56dfc698692fb3f2d64c1a4b192f9c0',1,'typeof.h']]], + ['typeof_5flong_2159',['TYPEOF_LONG',['../typeof_8h.html#ab4833544b1f4060806106baa0eb916e6',1,'typeof.h']]], + ['typeof_5fpointer_2160',['TYPEOF_POINTER',['../typeof_8h.html#a2541fdaacae83bbcc99dcedf464c7c94',1,'typeof.h']]], + ['typeof_5fppointer_2161',['TYPEOF_PPOINTER',['../typeof_8h.html#ad38c6e5ceee5c5fe3703690fc32b23ae',1,'typeof.h']]], + ['typeof_5fsbit_2162',['TYPEOF_SBIT',['../typeof_8h.html#a09fcac98c1e69b32ea223eada74e30bd',1,'typeof.h']]], + ['typeof_5fsfr_2163',['TYPEOF_SFR',['../typeof_8h.html#aae32132bbca6df6423182122d95b00cd',1,'typeof.h']]], + ['typeof_5fshort_2164',['TYPEOF_SHORT',['../typeof_8h.html#a58af351d7955729a79e425a88bf86bab',1,'typeof.h']]], + ['typeof_5fstruct_2165',['TYPEOF_STRUCT',['../typeof_8h.html#a4f9ce6ed9178ad58f706e74cd8c24e1f',1,'typeof.h']]], + ['typeof_5fvoid_2166',['TYPEOF_VOID',['../typeof_8h.html#a03582306431a63d84cc721132ed683c8',1,'typeof.h']]] ]; diff --git a/docs/api/search/defines_14.js b/docs/api/search/defines_14.js @@ -1,29 +1,29 @@ var searchData= [ - ['uchar_5fmax_2103',['UCHAR_MAX',['../limits_8h.html#a4066e640ee269d5d8f83ff6643b7af5f',1,'limits.h']]], - ['uint16_5fc_2104',['UINT16_C',['../stdint_8h.html#af525dddf7f072ee85c953107123ff1f6',1,'stdint.h']]], - ['uint16_5fmax_2105',['UINT16_MAX',['../stdint_8h.html#a3ea490c9b3617d4479bd80ef93cd5602',1,'stdint.h']]], - ['uint32_5fc_2106',['UINT32_C',['../stdint_8h.html#a87b9ec7df1524edf020b074bbae32d6d',1,'stdint.h']]], - ['uint32_5fmax_2107',['UINT32_MAX',['../stdint_8h.html#ab5eb23180f7cc12b7d6c04a8ec067fdd',1,'stdint.h']]], - ['uint8_5fc_2108',['UINT8_C',['../stdint_8h.html#af77373faf472a16283aad2014724192d',1,'stdint.h']]], - ['uint8_5fmax_2109',['UINT8_MAX',['../stdint_8h.html#aeb4e270a084ee26fe73e799861bd0252',1,'stdint.h']]], - ['uint_5ffast16_5fmax_2110',['UINT_FAST16_MAX',['../stdint_8h.html#aed28ca63d9b222f6f1377358fe73a183',1,'stdint.h']]], - ['uint_5ffast32_5fmax_2111',['UINT_FAST32_MAX',['../stdint_8h.html#ad51246a178143208b2db3315efd21c45',1,'stdint.h']]], - ['uint_5ffast8_5fmax_2112',['UINT_FAST8_MAX',['../stdint_8h.html#a2c6f97ea2d76d0cf6260c84046cdb44e',1,'stdint.h']]], - ['uint_5fleast16_5fmax_2113',['UINT_LEAST16_MAX',['../stdint_8h.html#a6ef6a1a518bbf516ca8b0180b11c358f',1,'stdint.h']]], - ['uint_5fleast32_5fmax_2114',['UINT_LEAST32_MAX',['../stdint_8h.html#a70cad8bacc9a6db301e1cdc86cc8d571',1,'stdint.h']]], - ['uint_5fleast8_5fmax_2115',['UINT_LEAST8_MAX',['../stdint_8h.html#a2a80bde77ee1698d0f42f334adad4f2b',1,'stdint.h']]], - ['uint_5fmax_2116',['UINT_MAX',['../limits_8h.html#ac998ea02fbd821fc123d60445ce76f38',1,'limits.h']]], - ['uint_5fmin_2117',['UINT_MIN',['../limits_8h.html#a4c5cca78586f61bea3640a1563a43819',1,'limits.h']]], - ['uintmax_5fc_2118',['UINTMAX_C',['../stdint_8h.html#a00d3f5dd8a8cbd9433d74390bfb2ecef',1,'stdint.h']]], - ['uintmax_5fmax_2119',['UINTMAX_MAX',['../stdint_8h.html#aa54fd5210434219e9027bfa0f0e325c8',1,'stdint.h']]], - ['uintptr_5fmax_2120',['UINTPTR_MAX',['../stdint_8h.html#ab2355300ea19395357e62d780f4dd073',1,'stdint.h']]], - ['ulong_5fmax_2121',['ULONG_MAX',['../limits_8h.html#a41c51926a1997aab3503f9083935e06c',1,'limits.h']]], - ['ulong_5fmin_2122',['ULONG_MIN',['../limits_8h.html#a174a3b1d61499b676a2ad2efc8f224c5',1,'limits.h']]], - ['unsigned_2123',['UNSIGNED',['../drawing_8h.html#a08cbc66092284f7da94279f986a0aae9',1,'drawing.h']]], - ['use_5fc_5fmemcpy_2124',['USE_C_MEMCPY',['../gbz80_2provides_8h.html#a9dd4f1ec2939e7beb7ef40e350cbba47',1,'USE_C_MEMCPY(): provides.h'],['../z80_2provides_8h.html#a9dd4f1ec2939e7beb7ef40e350cbba47',1,'USE_C_MEMCPY(): provides.h']]], - ['use_5fc_5fstrcmp_2125',['USE_C_STRCMP',['../gbz80_2provides_8h.html#a809a7bd0afcfb7500b5108a9e976b85c',1,'USE_C_STRCMP(): provides.h'],['../z80_2provides_8h.html#a809a7bd0afcfb7500b5108a9e976b85c',1,'USE_C_STRCMP(): provides.h']]], - ['use_5fc_5fstrcpy_2126',['USE_C_STRCPY',['../gbz80_2provides_8h.html#ac6678abba8f5929bc8b33f3202e568f0',1,'USE_C_STRCPY(): provides.h'],['../z80_2provides_8h.html#ac6678abba8f5929bc8b33f3202e568f0',1,'USE_C_STRCPY(): provides.h']]], - ['ushrt_5fmax_2127',['USHRT_MAX',['../limits_8h.html#a689b119da994dece91d44b5aeac643ed',1,'limits.h']]], - ['ushrt_5fmin_2128',['USHRT_MIN',['../limits_8h.html#a57f617d9cf5cce12e8499f7512ebd948',1,'limits.h']]] + ['uchar_5fmax_2167',['UCHAR_MAX',['../limits_8h.html#a4066e640ee269d5d8f83ff6643b7af5f',1,'limits.h']]], + ['uint16_5fc_2168',['UINT16_C',['../stdint_8h.html#af525dddf7f072ee85c953107123ff1f6',1,'stdint.h']]], + ['uint16_5fmax_2169',['UINT16_MAX',['../stdint_8h.html#a3ea490c9b3617d4479bd80ef93cd5602',1,'stdint.h']]], + ['uint32_5fc_2170',['UINT32_C',['../stdint_8h.html#a87b9ec7df1524edf020b074bbae32d6d',1,'stdint.h']]], + ['uint32_5fmax_2171',['UINT32_MAX',['../stdint_8h.html#ab5eb23180f7cc12b7d6c04a8ec067fdd',1,'stdint.h']]], + ['uint8_5fc_2172',['UINT8_C',['../stdint_8h.html#af77373faf472a16283aad2014724192d',1,'stdint.h']]], + ['uint8_5fmax_2173',['UINT8_MAX',['../stdint_8h.html#aeb4e270a084ee26fe73e799861bd0252',1,'stdint.h']]], + ['uint_5ffast16_5fmax_2174',['UINT_FAST16_MAX',['../stdint_8h.html#aed28ca63d9b222f6f1377358fe73a183',1,'stdint.h']]], + ['uint_5ffast32_5fmax_2175',['UINT_FAST32_MAX',['../stdint_8h.html#ad51246a178143208b2db3315efd21c45',1,'stdint.h']]], + ['uint_5ffast8_5fmax_2176',['UINT_FAST8_MAX',['../stdint_8h.html#a2c6f97ea2d76d0cf6260c84046cdb44e',1,'stdint.h']]], + ['uint_5fleast16_5fmax_2177',['UINT_LEAST16_MAX',['../stdint_8h.html#a6ef6a1a518bbf516ca8b0180b11c358f',1,'stdint.h']]], + ['uint_5fleast32_5fmax_2178',['UINT_LEAST32_MAX',['../stdint_8h.html#a70cad8bacc9a6db301e1cdc86cc8d571',1,'stdint.h']]], + ['uint_5fleast8_5fmax_2179',['UINT_LEAST8_MAX',['../stdint_8h.html#a2a80bde77ee1698d0f42f334adad4f2b',1,'stdint.h']]], + ['uint_5fmax_2180',['UINT_MAX',['../limits_8h.html#ac998ea02fbd821fc123d60445ce76f38',1,'limits.h']]], + ['uint_5fmin_2181',['UINT_MIN',['../limits_8h.html#a4c5cca78586f61bea3640a1563a43819',1,'limits.h']]], + ['uintmax_5fc_2182',['UINTMAX_C',['../stdint_8h.html#a00d3f5dd8a8cbd9433d74390bfb2ecef',1,'stdint.h']]], + ['uintmax_5fmax_2183',['UINTMAX_MAX',['../stdint_8h.html#aa54fd5210434219e9027bfa0f0e325c8',1,'stdint.h']]], + ['uintptr_5fmax_2184',['UINTPTR_MAX',['../stdint_8h.html#ab2355300ea19395357e62d780f4dd073',1,'stdint.h']]], + ['ulong_5fmax_2185',['ULONG_MAX',['../limits_8h.html#a41c51926a1997aab3503f9083935e06c',1,'limits.h']]], + ['ulong_5fmin_2186',['ULONG_MIN',['../limits_8h.html#a174a3b1d61499b676a2ad2efc8f224c5',1,'limits.h']]], + ['unsigned_2187',['UNSIGNED',['../drawing_8h.html#a08cbc66092284f7da94279f986a0aae9',1,'drawing.h']]], + ['use_5fc_5fmemcpy_2188',['USE_C_MEMCPY',['../gbz80_2provides_8h.html#a9dd4f1ec2939e7beb7ef40e350cbba47',1,'USE_C_MEMCPY(): provides.h'],['../z80_2provides_8h.html#a9dd4f1ec2939e7beb7ef40e350cbba47',1,'USE_C_MEMCPY(): provides.h']]], + ['use_5fc_5fstrcmp_2189',['USE_C_STRCMP',['../gbz80_2provides_8h.html#a809a7bd0afcfb7500b5108a9e976b85c',1,'USE_C_STRCMP(): provides.h'],['../z80_2provides_8h.html#a809a7bd0afcfb7500b5108a9e976b85c',1,'USE_C_STRCMP(): provides.h']]], + ['use_5fc_5fstrcpy_2190',['USE_C_STRCPY',['../gbz80_2provides_8h.html#ac6678abba8f5929bc8b33f3202e568f0',1,'USE_C_STRCPY(): provides.h'],['../z80_2provides_8h.html#ac6678abba8f5929bc8b33f3202e568f0',1,'USE_C_STRCPY(): provides.h']]], + ['ushrt_5fmax_2191',['USHRT_MAX',['../limits_8h.html#a689b119da994dece91d44b5aeac643ed',1,'limits.h']]], + ['ushrt_5fmin_2192',['USHRT_MIN',['../limits_8h.html#a57f617d9cf5cce12e8499f7512ebd948',1,'limits.h']]] ]; diff --git a/docs/api/search/defines_15.js b/docs/api/search/defines_15.js @@ -1,28 +1,28 @@ var searchData= [ - ['va_5farg_2129',['va_arg',['../asm_2gbz80_2stdarg_8h.html#af4d89980b2bdeb5b37bbaa323d108bbc',1,'va_arg(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#af4d89980b2bdeb5b37bbaa323d108bbc',1,'va_arg(): stdarg.h']]], - ['va_5fend_2130',['va_end',['../asm_2gbz80_2stdarg_8h.html#aa042dbf8cc345b3a522d6f706a78ddbd',1,'va_end(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#aa042dbf8cc345b3a522d6f706a78ddbd',1,'va_end(): stdarg.h']]], - ['va_5fstart_2131',['va_start',['../asm_2gbz80_2stdarg_8h.html#aa385efb7a67df5acc5e06cf3bdc8802f',1,'va_start(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#aa385efb7a67df5acc5e06cf3bdc8802f',1,'va_start(): stdarg.h']]], - ['vbk_5freg_2132',['VBK_REG',['../sms_8h.html#a6bc34abf062d8e3be88170ac106f197f',1,'sms.h']]], - ['vbl_5fiflag_2133',['VBL_IFLAG',['../gb_8h.html#a2ca7720b9a5da9b2173e1f74dba85541',1,'VBL_IFLAG(): gb.h'],['../sms_8h.html#a2ca7720b9a5da9b2173e1f74dba85541',1,'VBL_IFLAG(): sms.h']]], - ['vdp_5fr0_2134',['VDP_R0',['../sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6',1,'hardware.h']]], - ['vdp_5fr1_2135',['VDP_R1',['../sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d',1,'hardware.h']]], - ['vdp_5fr10_2136',['VDP_R10',['../sms_2hardware_8h.html#a1049d2a3f634380f4dffff619334a504',1,'hardware.h']]], - ['vdp_5fr2_2137',['VDP_R2',['../sms_2hardware_8h.html#a2c9f91fcf2aad494a80e967f0c4bb414',1,'hardware.h']]], - ['vdp_5fr3_2138',['VDP_R3',['../sms_2hardware_8h.html#a2a58ae82037e16756404df4820a23f47',1,'hardware.h']]], - ['vdp_5fr4_2139',['VDP_R4',['../sms_2hardware_8h.html#a5d1f215594c86a9e3d670f5a7f89e301',1,'hardware.h']]], - ['vdp_5fr5_2140',['VDP_R5',['../sms_2hardware_8h.html#a75e2c9878fe4cc7c86f71d8e8fa09924',1,'hardware.h']]], - ['vdp_5fr6_2141',['VDP_R6',['../sms_2hardware_8h.html#a81ae7462829d0fcc65c3c99194a68772',1,'hardware.h']]], - ['vdp_5fr7_2142',['VDP_R7',['../sms_2hardware_8h.html#aa82ab1c04cff3363327f3309d09ae638',1,'hardware.h']]], - ['vdp_5fr8_2143',['VDP_R8',['../sms_2hardware_8h.html#a3cb38487469808e023fcb331c180c4b9',1,'hardware.h']]], - ['vdp_5fr9_2144',['VDP_R9',['../sms_2hardware_8h.html#a294388f3d14b6fec1f1bbeafc7d0f91e',1,'hardware.h']]], - ['vdp_5frborder_2145',['VDP_RBORDER',['../sms_2hardware_8h.html#abef00e3cae6f12d97973b318ebbf9737',1,'hardware.h']]], - ['vdp_5freg_5fmask_2146',['VDP_REG_MASK',['../sms_2hardware_8h.html#a99ca7572e3708ffed188359799045b19',1,'hardware.h']]], - ['vdp_5frscx_2147',['VDP_RSCX',['../sms_2hardware_8h.html#a9c49833bc96a70b8972027d28c816d2f',1,'hardware.h']]], - ['vdp_5frscy_2148',['VDP_RSCY',['../sms_2hardware_8h.html#a3cce162b45d638126c478c5b6f7bcbc7',1,'hardware.h']]], - ['vdp_5fsat_5fterm_2149',['VDP_SAT_TERM',['../sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c',1,'hardware.h']]], - ['vector_5fjoypad_2150',['VECTOR_JOYPAD',['../isr_8h.html#ac93f10ff354ca76f4030f64a8496303f',1,'isr.h']]], - ['vector_5fserial_2151',['VECTOR_SERIAL',['../isr_8h.html#a9c51a56a79576c33fcc98579bf7153a1',1,'isr.h']]], - ['vector_5fstat_2152',['VECTOR_STAT',['../isr_8h.html#a2cf2cba8468992868fe1f6b6448ffae2',1,'isr.h']]], - ['vector_5ftimer_2153',['VECTOR_TIMER',['../isr_8h.html#a84ca82d76186433c1ec77fde7652b827',1,'isr.h']]] + ['va_5farg_2193',['va_arg',['../asm_2gbz80_2stdarg_8h.html#af4d89980b2bdeb5b37bbaa323d108bbc',1,'va_arg(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#af4d89980b2bdeb5b37bbaa323d108bbc',1,'va_arg(): stdarg.h']]], + ['va_5fend_2194',['va_end',['../asm_2gbz80_2stdarg_8h.html#aa042dbf8cc345b3a522d6f706a78ddbd',1,'va_end(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#aa042dbf8cc345b3a522d6f706a78ddbd',1,'va_end(): stdarg.h']]], + ['va_5fstart_2195',['va_start',['../asm_2gbz80_2stdarg_8h.html#aa385efb7a67df5acc5e06cf3bdc8802f',1,'va_start(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#aa385efb7a67df5acc5e06cf3bdc8802f',1,'va_start(): stdarg.h']]], + ['vbk_5freg_2196',['VBK_REG',['../sms_8h.html#a6bc34abf062d8e3be88170ac106f197f',1,'sms.h']]], + ['vbl_5fiflag_2197',['VBL_IFLAG',['../gb_8h.html#a2ca7720b9a5da9b2173e1f74dba85541',1,'VBL_IFLAG(): gb.h'],['../sms_8h.html#a2ca7720b9a5da9b2173e1f74dba85541',1,'VBL_IFLAG(): sms.h']]], + ['vdp_5fr0_2198',['VDP_R0',['../sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6',1,'hardware.h']]], + ['vdp_5fr1_2199',['VDP_R1',['../sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d',1,'hardware.h']]], + ['vdp_5fr10_2200',['VDP_R10',['../sms_2hardware_8h.html#a1049d2a3f634380f4dffff619334a504',1,'hardware.h']]], + ['vdp_5fr2_2201',['VDP_R2',['../sms_2hardware_8h.html#a2c9f91fcf2aad494a80e967f0c4bb414',1,'hardware.h']]], + ['vdp_5fr3_2202',['VDP_R3',['../sms_2hardware_8h.html#a2a58ae82037e16756404df4820a23f47',1,'hardware.h']]], + ['vdp_5fr4_2203',['VDP_R4',['../sms_2hardware_8h.html#a5d1f215594c86a9e3d670f5a7f89e301',1,'hardware.h']]], + ['vdp_5fr5_2204',['VDP_R5',['../sms_2hardware_8h.html#a75e2c9878fe4cc7c86f71d8e8fa09924',1,'hardware.h']]], + ['vdp_5fr6_2205',['VDP_R6',['../sms_2hardware_8h.html#a81ae7462829d0fcc65c3c99194a68772',1,'hardware.h']]], + ['vdp_5fr7_2206',['VDP_R7',['../sms_2hardware_8h.html#aa82ab1c04cff3363327f3309d09ae638',1,'hardware.h']]], + ['vdp_5fr8_2207',['VDP_R8',['../sms_2hardware_8h.html#a3cb38487469808e023fcb331c180c4b9',1,'hardware.h']]], + ['vdp_5fr9_2208',['VDP_R9',['../sms_2hardware_8h.html#a294388f3d14b6fec1f1bbeafc7d0f91e',1,'hardware.h']]], + ['vdp_5frborder_2209',['VDP_RBORDER',['../sms_2hardware_8h.html#abef00e3cae6f12d97973b318ebbf9737',1,'hardware.h']]], + ['vdp_5freg_5fmask_2210',['VDP_REG_MASK',['../sms_2hardware_8h.html#a99ca7572e3708ffed188359799045b19',1,'hardware.h']]], + ['vdp_5frscx_2211',['VDP_RSCX',['../sms_2hardware_8h.html#a9c49833bc96a70b8972027d28c816d2f',1,'hardware.h']]], + ['vdp_5frscy_2212',['VDP_RSCY',['../sms_2hardware_8h.html#a3cce162b45d638126c478c5b6f7bcbc7',1,'hardware.h']]], + ['vdp_5fsat_5fterm_2213',['VDP_SAT_TERM',['../sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c',1,'hardware.h']]], + ['vector_5fjoypad_2214',['VECTOR_JOYPAD',['../isr_8h.html#ac93f10ff354ca76f4030f64a8496303f',1,'isr.h']]], + ['vector_5fserial_2215',['VECTOR_SERIAL',['../isr_8h.html#a9c51a56a79576c33fcc98579bf7153a1',1,'isr.h']]], + ['vector_5fstat_2216',['VECTOR_STAT',['../isr_8h.html#a2cf2cba8468992868fe1f6b6448ffae2',1,'isr.h']]], + ['vector_5ftimer_2217',['VECTOR_TIMER',['../isr_8h.html#a84ca82d76186433c1ec77fde7652b827',1,'isr.h']]] ]; diff --git a/docs/api/search/defines_16.js b/docs/api/search/defines_16.js @@ -1,8 +1,8 @@ var searchData= [ - ['wchar_5fmax_2154',['WCHAR_MAX',['../stdint_8h.html#a2a823f3ccf2306cfbaa34d8addf66010',1,'stdint.h']]], - ['wchar_5fmin_2155',['WCHAR_MIN',['../stdint_8h.html#a051084d5ebcabf282d9ca9bb2b891a78',1,'stdint.h']]], - ['white_2156',['WHITE',['../drawing_8h.html#a87b537f5fa5c109d3c05c13d6b18f382',1,'drawing.h']]], - ['wint_5fmax_2157',['WINT_MAX',['../stdint_8h.html#ad3f7b6bb8aa7d619017a91d3b2edc1ee',1,'stdint.h']]], - ['wint_5fmin_2158',['WINT_MIN',['../stdint_8h.html#a5285bc55170ae1701e599decacc7f001',1,'stdint.h']]] + ['wchar_5fmax_2218',['WCHAR_MAX',['../stdint_8h.html#a2a823f3ccf2306cfbaa34d8addf66010',1,'stdint.h']]], + ['wchar_5fmin_2219',['WCHAR_MIN',['../stdint_8h.html#a051084d5ebcabf282d9ca9bb2b891a78',1,'stdint.h']]], + ['white_2220',['WHITE',['../drawing_8h.html#a87b537f5fa5c109d3c05c13d6b18f382',1,'drawing.h']]], + ['wint_5fmax_2221',['WINT_MAX',['../stdint_8h.html#ad3f7b6bb8aa7d619017a91d3b2edc1ee',1,'stdint.h']]], + ['wint_5fmin_2222',['WINT_MIN',['../stdint_8h.html#a5285bc55170ae1701e599decacc7f001',1,'stdint.h']]] ]; diff --git a/docs/api/search/defines_17.js b/docs/api/search/defines_17.js @@ -1,4 +1,4 @@ var searchData= [ - ['xor_2159',['XOR',['../drawing_8h.html#a45cd11034d1a7d86c3a88d36f5e7f1ab',1,'drawing.h']]] + ['xor_2223',['XOR',['../drawing_8h.html#a45cd11034d1a7d86c3a88d36f5e7f1ab',1,'drawing.h']]] ]; diff --git a/docs/api/search/defines_18.html b/docs/api/search/defines_18.html @@ -0,0 +1,36 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.20"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="defines_18.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +createResults(); +/* @license-end */ +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +window.addEventListener("message", function(event) { + if (event.data == "take_focus") { + var elem = searchResults.NavNext(0); + if (elem) elem.focus(); + } +}); +/* @license-end */ +--></script> +</div> +</body> +</html> diff --git a/docs/api/search/defines_18.js b/docs/api/search/defines_18.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['z88dk_5fcallee_2224',['Z88DK_CALLEE',['../asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a',1,'types.h']]], + ['z88dk_5ffastcall_2225',['Z88DK_FASTCALL',['../asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1',1,'types.h']]] +]; diff --git a/docs/api/search/defines_2.js b/docs/api/search/defines_2.js @@ -1,18 +1,20 @@ var searchData= [ - ['bank_1592',['BANK',['../gb_8h.html#a42705001e2b9897f5167b67fb36c69dd',1,'BANK(): gb.h'],['../incbin_8h.html#a42705001e2b9897f5167b67fb36c69dd',1,'BANK(): incbin.h'],['../sms_8h.html#a42705001e2b9897f5167b67fb36c69dd',1,'BANK(): sms.h']]], - ['banked_1593',['BANKED',['../asm_2gbz80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0',1,'BANKED(): types.h'],['../asm_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0',1,'BANKED(): types.h'],['../asm_2z80_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0',1,'BANKED(): types.h']]], - ['bankref_1594',['BANKREF',['../gb_8h.html#a086293f2afb4c7945460a4496b20aea3',1,'BANKREF(): gb.h'],['../sms_8h.html#a086293f2afb4c7945460a4496b20aea3',1,'BANKREF(): sms.h']]], - ['bankref_5fextern_1595',['BANKREF_EXTERN',['../gb_8h.html#a261bba55a07b802baf99346feadd9852',1,'BANKREF_EXTERN(): gb.h'],['../sms_8h.html#a261bba55a07b802baf99346feadd9852',1,'BANKREF_EXTERN(): sms.h']]], - ['bcd_5fhex_1596',['BCD_HEX',['../bcd_8h.html#a5b336fcb3fc84fe505dc7e14d0ec17a7',1,'bcd.h']]], - ['bcpsf_5fautoinc_1597',['BCPSF_AUTOINC',['../gb_2hardware_8h.html#a88cceb86b8168f4c539e9612a81145a6',1,'hardware.h']]], - ['bgb_5fbreakpoint_1598',['BGB_BREAKPOINT',['../bgb__emu_8h.html#a95c9ae3faadfe6f93a3cac87085b3481',1,'bgb_emu.h']]], - ['bgb_5fmessage_1599',['BGB_MESSAGE',['../bgb__emu_8h.html#aabd48c83af8f69ed624bb8a83347fa39',1,'bgb_emu.h']]], - ['bgb_5fprofile_5fbegin_1600',['BGB_PROFILE_BEGIN',['../bgb__emu_8h.html#ab5b05deda52856c84f274fb28578b6ee',1,'bgb_emu.h']]], - ['bgb_5fprofile_5fend_1601',['BGB_PROFILE_END',['../bgb__emu_8h.html#ab43f94064dc523e99c4aefb440e2c3ed',1,'bgb_emu.h']]], - ['bgb_5ftext_1602',['BGB_TEXT',['../bgb__emu_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9',1,'bgb_emu.h']]], - ['black_1603',['BLACK',['../drawing_8h.html#a7b3b25cba33b07c303f3060fe41887f6',1,'drawing.h']]], - ['bool_1604',['bool',['../stdbool_8h.html#abb452686968e48b67397da5f97445f5b',1,'stdbool.h']]], - ['bp_5fsize_1605',['BP_SIZE',['../setjmp_8h.html#ae02ec77c070126e75761ab85226b62a7',1,'setjmp.h']]], - ['bpx_5fsize_1606',['BPX_SIZE',['../setjmp_8h.html#a0239bfe1e2b75fa5757c32a90d0c140d',1,'setjmp.h']]] + ['bank_1637',['BANK',['../gb_8h.html#a42705001e2b9897f5167b67fb36c69dd',1,'BANK(): gb.h'],['../incbin_8h.html#a42705001e2b9897f5167b67fb36c69dd',1,'BANK(): incbin.h'],['../sms_8h.html#a42705001e2b9897f5167b67fb36c69dd',1,'BANK(): sms.h']]], + ['banked_1638',['BANKED',['../asm_2types_8h.html#aa8480aed89a168ec484727f5ac985cd0',1,'types.h']]], + ['bankref_1639',['BANKREF',['../gb_8h.html#a086293f2afb4c7945460a4496b20aea3',1,'BANKREF(): gb.h'],['../sms_8h.html#a086293f2afb4c7945460a4496b20aea3',1,'BANKREF(): sms.h']]], + ['bankref_5fextern_1640',['BANKREF_EXTERN',['../gb_8h.html#a261bba55a07b802baf99346feadd9852',1,'BANKREF_EXTERN(): gb.h'],['../sms_8h.html#a261bba55a07b802baf99346feadd9852',1,'BANKREF_EXTERN(): sms.h']]], + ['bcd_5fhex_1641',['BCD_HEX',['../bcd_8h.html#a5b336fcb3fc84fe505dc7e14d0ec17a7',1,'bcd.h']]], + ['bcpsf_5fautoinc_1642',['BCPSF_AUTOINC',['../gb_2hardware_8h.html#a88cceb86b8168f4c539e9612a81145a6',1,'hardware.h']]], + ['bgb_5fbreakpoint_1643',['BGB_BREAKPOINT',['../emu__debug_8h.html#a95c9ae3faadfe6f93a3cac87085b3481',1,'emu_debug.h']]], + ['bgb_5fmessage_1644',['BGB_MESSAGE',['../emu__debug_8h.html#aabd48c83af8f69ed624bb8a83347fa39',1,'emu_debug.h']]], + ['bgb_5fprintf_1645',['BGB_printf',['../emu__debug_8h.html#a892ddea0cd396141c1ae05e384303cbf',1,'emu_debug.h']]], + ['bgb_5fprofile_5fbegin_1646',['BGB_PROFILE_BEGIN',['../emu__debug_8h.html#ab5b05deda52856c84f274fb28578b6ee',1,'emu_debug.h']]], + ['bgb_5fprofile_5fend_1647',['BGB_PROFILE_END',['../emu__debug_8h.html#ab43f94064dc523e99c4aefb440e2c3ed',1,'emu_debug.h']]], + ['bgb_5fprofiler_5fmessage_1648',['BGB_profiler_message',['../emu__debug_8h.html#a47c147586d9a21282ce72a83947508e9',1,'emu_debug.h']]], + ['bgb_5ftext_1649',['BGB_TEXT',['../emu__debug_8h.html#a6afa665bd7d093e7ca2d310cc92b08a9',1,'emu_debug.h']]], + ['black_1650',['BLACK',['../drawing_8h.html#a7b3b25cba33b07c303f3060fe41887f6',1,'drawing.h']]], + ['bool_1651',['bool',['../stdbool_8h.html#abb452686968e48b67397da5f97445f5b',1,'stdbool.h']]], + ['bp_5fsize_1652',['BP_SIZE',['../setjmp_8h.html#ae02ec77c070126e75761ab85226b62a7',1,'setjmp.h']]], + ['bpx_5fsize_1653',['BPX_SIZE',['../setjmp_8h.html#a0239bfe1e2b75fa5757c32a90d0c140d',1,'setjmp.h']]] ]; diff --git a/docs/api/search/defines_3.js b/docs/api/search/defines_3.js @@ -1,11 +1,11 @@ var searchData= [ - ['cgb_5ftype_1607',['CGB_TYPE',['../gb_8h.html#aee435a3a0dde3dbd7b6112dbb456cde8',1,'gb.h']]], - ['char_5fbit_1608',['CHAR_BIT',['../limits_8h.html#a308d9dd2c0028ddb184b455bbd7865de',1,'limits.h']]], - ['char_5fmax_1609',['CHAR_MAX',['../limits_8h.html#a778eefd6535a9d4b752fca5dd0af58db',1,'limits.h']]], - ['char_5fmin_1610',['CHAR_MIN',['../limits_8h.html#a5d707bd32338557ced18c6ac76ca1b3a',1,'limits.h']]], - ['clocks_5fper_5fsec_1611',['CLOCKS_PER_SEC',['../time_8h.html#a3d9fc3c745d0880902fe3ea3d5d5f71e',1,'time.h']]], - ['compat_5fpalette_1612',['COMPAT_PALETTE',['../gb_8h.html#a67f80e65620470b55a4950e2966eb868',1,'COMPAT_PALETTE(): gb.h'],['../sms_8h.html#a67f80e65620470b55a4950e2966eb868',1,'COMPAT_PALETTE(): sms.h']]], - ['critical_1613',['CRITICAL',['../asm_2gbz80_2types_8h.html#ae0233515480e60d29bcc731469976e02',1,'CRITICAL(): types.h'],['../asm_2types_8h.html#ae0233515480e60d29bcc731469976e02',1,'CRITICAL(): types.h'],['../asm_2z80_2types_8h.html#ae0233515480e60d29bcc731469976e02',1,'CRITICAL(): types.h']]], - ['current_5fbank_1614',['CURRENT_BANK',['../gb_8h.html#ae042588f20bf5a2349c8ad8716245233',1,'CURRENT_BANK(): gb.h'],['../sms_8h.html#ae042588f20bf5a2349c8ad8716245233',1,'CURRENT_BANK(): sms.h']]] + ['cgb_5ftype_1654',['CGB_TYPE',['../gb_8h.html#aee435a3a0dde3dbd7b6112dbb456cde8',1,'gb.h']]], + ['char_5fbit_1655',['CHAR_BIT',['../limits_8h.html#a308d9dd2c0028ddb184b455bbd7865de',1,'limits.h']]], + ['char_5fmax_1656',['CHAR_MAX',['../limits_8h.html#a778eefd6535a9d4b752fca5dd0af58db',1,'limits.h']]], + ['char_5fmin_1657',['CHAR_MIN',['../limits_8h.html#a5d707bd32338557ced18c6ac76ca1b3a',1,'limits.h']]], + ['clocks_5fper_5fsec_1658',['CLOCKS_PER_SEC',['../time_8h.html#a3d9fc3c745d0880902fe3ea3d5d5f71e',1,'time.h']]], + ['compat_5fpalette_1659',['COMPAT_PALETTE',['../gb_8h.html#a67f80e65620470b55a4950e2966eb868',1,'COMPAT_PALETTE(): gb.h'],['../sms_8h.html#a67f80e65620470b55a4950e2966eb868',1,'COMPAT_PALETTE(): sms.h']]], + ['critical_1660',['CRITICAL',['../asm_2types_8h.html#ae0233515480e60d29bcc731469976e02',1,'types.h']]], + ['current_5fbank_1661',['CURRENT_BANK',['../gb_8h.html#ae042588f20bf5a2349c8ad8716245233',1,'CURRENT_BANK(): gb.h'],['../sms_8h.html#ae042588f20bf5a2349c8ad8716245233',1,'CURRENT_BANK(): sms.h']]] ]; diff --git a/docs/api/search/defines_4.js b/docs/api/search/defines_4.js @@ -1,29 +1,29 @@ var searchData= [ - ['device_5fscreen_5fbuffer_5fheight_1615',['DEVICE_SCREEN_BUFFER_HEIGHT',['../gb_2hardware_8h.html#a81fb56b6778772f829dab4c534e7749e',1,'hardware.h']]], - ['device_5fscreen_5fbuffer_5fwidth_1616',['DEVICE_SCREEN_BUFFER_WIDTH',['../gb_2hardware_8h.html#a491dc081eae8c81e7ca88075ab806291',1,'hardware.h']]], - ['device_5fscreen_5fheight_1617',['DEVICE_SCREEN_HEIGHT',['../gb_2hardware_8h.html#ad252264fdcf900e5fbf611f7a45962ed',1,'hardware.h']]], - ['device_5fscreen_5fmap_5fentry_5fsize_1618',['DEVICE_SCREEN_MAP_ENTRY_SIZE',['../gb_2hardware_8h.html#a4d682ed7a6158c5ba10afec739b17a8a',1,'hardware.h']]], - ['device_5fscreen_5fpx_5fheight_1619',['DEVICE_SCREEN_PX_HEIGHT',['../gb_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec',1,'DEVICE_SCREEN_PX_HEIGHT(): hardware.h'],['../sms_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec',1,'DEVICE_SCREEN_PX_HEIGHT(): hardware.h']]], - ['device_5fscreen_5fpx_5fwidth_1620',['DEVICE_SCREEN_PX_WIDTH',['../gb_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d',1,'DEVICE_SCREEN_PX_WIDTH(): hardware.h'],['../sms_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d',1,'DEVICE_SCREEN_PX_WIDTH(): hardware.h']]], - ['device_5fscreen_5fwidth_1621',['DEVICE_SCREEN_WIDTH',['../gb_2hardware_8h.html#add7f32ba868ef6517798f5fce337e4b2',1,'hardware.h']]], - ['device_5fscreen_5fx_5foffset_1622',['DEVICE_SCREEN_X_OFFSET',['../gb_2hardware_8h.html#a519e327cac96f68a8ca9b77e0343672f',1,'hardware.h']]], - ['device_5fscreen_5fy_5foffset_1623',['DEVICE_SCREEN_Y_OFFSET',['../gb_2hardware_8h.html#af334c0e7dd6e434b3dbebd45bcdeb75a',1,'hardware.h']]], - ['device_5fsprite_5fpx_5foffset_5fx_1624',['DEVICE_SPRITE_PX_OFFSET_X',['../gb_2hardware_8h.html#af531e7ac0c0a58517fa3061631745c31',1,'hardware.h']]], - ['device_5fsprite_5fpx_5foffset_5fy_1625',['DEVICE_SPRITE_PX_OFFSET_Y',['../gb_2hardware_8h.html#a7f6c8420831388300bbec13ea4cb57a0',1,'hardware.h']]], - ['device_5fsupports_5fcolor_1626',['DEVICE_SUPPORTS_COLOR',['../gb_8h.html#a231ec05679809190782e61c6e8aaaba4',1,'DEVICE_SUPPORTS_COLOR(): gb.h'],['../sms_8h.html#a231ec05679809190782e61c6e8aaaba4',1,'DEVICE_SUPPORTS_COLOR(): sms.h']]], - ['disable_5foam_5fdma_1627',['DISABLE_OAM_DMA',['../gb_8h.html#a47607089a434dcda7a8583cfca03b604',1,'gb.h']]], - ['disable_5fram_1628',['DISABLE_RAM',['../gb_8h.html#a649d27b5587de16a66176e03a1b8ebd5',1,'DISABLE_RAM(): gb.h'],['../sms_8h.html#a649d27b5587de16a66176e03a1b8ebd5',1,'DISABLE_RAM(): sms.h']]], - ['disable_5fram_5fmbc1_1629',['DISABLE_RAM_MBC1',['../gb_8h.html#a177fadce938422926b186a8e42575d1d',1,'gb.h']]], - ['disable_5fram_5fmbc5_1630',['DISABLE_RAM_MBC5',['../gb_8h.html#a60191cdfa50ed9b88515f181747eaba2',1,'gb.h']]], - ['disable_5fvbl_5ftransfer_1631',['DISABLE_VBL_TRANSFER',['../gb_8h.html#abfd70bf31185a4900680977c9fb5a5ec',1,'DISABLE_VBL_TRANSFER(): gb.h'],['../sms_8h.html#abfd70bf31185a4900680977c9fb5a5ec',1,'DISABLE_VBL_TRANSFER(): sms.h']]], - ['display_5foff_1632',['DISPLAY_OFF',['../gb_8h.html#ad2ec9831813c5e7069917aa4455af682',1,'DISPLAY_OFF(): gb.h'],['../sms_8h.html#ad2ec9831813c5e7069917aa4455af682',1,'DISPLAY_OFF(): sms.h']]], - ['display_5fon_1633',['DISPLAY_ON',['../gb_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4',1,'DISPLAY_ON(): gb.h'],['../sms_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4',1,'DISPLAY_ON(): sms.h']]], - ['dkgrey_1634',['DKGREY',['../drawing_8h.html#a4dad87d91b9201be3b4ede372f31ae8a',1,'drawing.h']]], - ['dmg_5fblack_1635',['DMG_BLACK',['../gb_8h.html#ab311e53739c992294ae07ca506a924ad',1,'gb.h']]], - ['dmg_5fdark_5fgray_1636',['DMG_DARK_GRAY',['../gb_8h.html#a45d13a674e169dd83df7e1f46513ccba',1,'gb.h']]], - ['dmg_5flite_5fgray_1637',['DMG_LITE_GRAY',['../gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3',1,'gb.h']]], - ['dmg_5fpalette_1638',['DMG_PALETTE',['../gb_8h.html#a9727caafc483ba6ec65e9344b033d684',1,'gb.h']]], - ['dmg_5ftype_1639',['DMG_TYPE',['../gb_8h.html#a0031c07799247a6d6c1bfa3decac79d0',1,'gb.h']]], - ['dmg_5fwhite_1640',['DMG_WHITE',['../gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3',1,'gb.h']]] + ['device_5fscreen_5fbuffer_5fheight_1662',['DEVICE_SCREEN_BUFFER_HEIGHT',['../gb_2hardware_8h.html#a81fb56b6778772f829dab4c534e7749e',1,'hardware.h']]], + ['device_5fscreen_5fbuffer_5fwidth_1663',['DEVICE_SCREEN_BUFFER_WIDTH',['../gb_2hardware_8h.html#a491dc081eae8c81e7ca88075ab806291',1,'hardware.h']]], + ['device_5fscreen_5fheight_1664',['DEVICE_SCREEN_HEIGHT',['../gb_2hardware_8h.html#ad252264fdcf900e5fbf611f7a45962ed',1,'hardware.h']]], + ['device_5fscreen_5fmap_5fentry_5fsize_1665',['DEVICE_SCREEN_MAP_ENTRY_SIZE',['../gb_2hardware_8h.html#a4d682ed7a6158c5ba10afec739b17a8a',1,'hardware.h']]], + ['device_5fscreen_5fpx_5fheight_1666',['DEVICE_SCREEN_PX_HEIGHT',['../gb_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec',1,'DEVICE_SCREEN_PX_HEIGHT(): hardware.h'],['../sms_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec',1,'DEVICE_SCREEN_PX_HEIGHT(): hardware.h']]], + ['device_5fscreen_5fpx_5fwidth_1667',['DEVICE_SCREEN_PX_WIDTH',['../gb_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d',1,'DEVICE_SCREEN_PX_WIDTH(): hardware.h'],['../sms_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d',1,'DEVICE_SCREEN_PX_WIDTH(): hardware.h']]], + ['device_5fscreen_5fwidth_1668',['DEVICE_SCREEN_WIDTH',['../gb_2hardware_8h.html#add7f32ba868ef6517798f5fce337e4b2',1,'hardware.h']]], + ['device_5fscreen_5fx_5foffset_1669',['DEVICE_SCREEN_X_OFFSET',['../gb_2hardware_8h.html#a519e327cac96f68a8ca9b77e0343672f',1,'hardware.h']]], + ['device_5fscreen_5fy_5foffset_1670',['DEVICE_SCREEN_Y_OFFSET',['../gb_2hardware_8h.html#af334c0e7dd6e434b3dbebd45bcdeb75a',1,'hardware.h']]], + ['device_5fsprite_5fpx_5foffset_5fx_1671',['DEVICE_SPRITE_PX_OFFSET_X',['../gb_2hardware_8h.html#af531e7ac0c0a58517fa3061631745c31',1,'hardware.h']]], + ['device_5fsprite_5fpx_5foffset_5fy_1672',['DEVICE_SPRITE_PX_OFFSET_Y',['../gb_2hardware_8h.html#a7f6c8420831388300bbec13ea4cb57a0',1,'hardware.h']]], + ['device_5fsupports_5fcolor_1673',['DEVICE_SUPPORTS_COLOR',['../gb_8h.html#a231ec05679809190782e61c6e8aaaba4',1,'DEVICE_SUPPORTS_COLOR(): gb.h'],['../sms_8h.html#a231ec05679809190782e61c6e8aaaba4',1,'DEVICE_SUPPORTS_COLOR(): sms.h']]], + ['disable_5foam_5fdma_1674',['DISABLE_OAM_DMA',['../gb_8h.html#a47607089a434dcda7a8583cfca03b604',1,'gb.h']]], + ['disable_5fram_1675',['DISABLE_RAM',['../gb_8h.html#a649d27b5587de16a66176e03a1b8ebd5',1,'DISABLE_RAM(): gb.h'],['../sms_8h.html#a649d27b5587de16a66176e03a1b8ebd5',1,'DISABLE_RAM(): sms.h']]], + ['disable_5fram_5fmbc1_1676',['DISABLE_RAM_MBC1',['../gb_8h.html#a177fadce938422926b186a8e42575d1d',1,'gb.h']]], + ['disable_5fram_5fmbc5_1677',['DISABLE_RAM_MBC5',['../gb_8h.html#a60191cdfa50ed9b88515f181747eaba2',1,'gb.h']]], + ['disable_5fvbl_5ftransfer_1678',['DISABLE_VBL_TRANSFER',['../gb_8h.html#abfd70bf31185a4900680977c9fb5a5ec',1,'DISABLE_VBL_TRANSFER(): gb.h'],['../sms_8h.html#abfd70bf31185a4900680977c9fb5a5ec',1,'DISABLE_VBL_TRANSFER(): sms.h']]], + ['display_5foff_1679',['DISPLAY_OFF',['../gb_8h.html#ad2ec9831813c5e7069917aa4455af682',1,'DISPLAY_OFF(): gb.h'],['../sms_8h.html#ad2ec9831813c5e7069917aa4455af682',1,'DISPLAY_OFF(): sms.h']]], + ['display_5fon_1680',['DISPLAY_ON',['../gb_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4',1,'DISPLAY_ON(): gb.h'],['../sms_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4',1,'DISPLAY_ON(): sms.h']]], + ['dkgrey_1681',['DKGREY',['../drawing_8h.html#a4dad87d91b9201be3b4ede372f31ae8a',1,'drawing.h']]], + ['dmg_5fblack_1682',['DMG_BLACK',['../gb_8h.html#ab311e53739c992294ae07ca506a924ad',1,'gb.h']]], + ['dmg_5fdark_5fgray_1683',['DMG_DARK_GRAY',['../gb_8h.html#a45d13a674e169dd83df7e1f46513ccba',1,'gb.h']]], + ['dmg_5flite_5fgray_1684',['DMG_LITE_GRAY',['../gb_8h.html#a8ccd6732d3bdf390cc0943e8567341f3',1,'gb.h']]], + ['dmg_5fpalette_1685',['DMG_PALETTE',['../gb_8h.html#a9727caafc483ba6ec65e9344b033d684',1,'gb.h']]], + ['dmg_5ftype_1686',['DMG_TYPE',['../gb_8h.html#a0031c07799247a6d6c1bfa3decac79d0',1,'gb.h']]], + ['dmg_5fwhite_1687',['DMG_WHITE',['../gb_8h.html#a11cedc2ee58acfbbfc48dfb2b9a551b3',1,'gb.h']]] ]; diff --git a/docs/api/search/defines_5.js b/docs/api/search/defines_5.js @@ -1,9 +1,14 @@ var searchData= [ - ['empty_5fiflag_1641',['EMPTY_IFLAG',['../gb_8h.html#aa027abe630d44039f238034bcb2d2f36',1,'EMPTY_IFLAG(): gb.h'],['../sms_8h.html#aa027abe630d44039f238034bcb2d2f36',1,'EMPTY_IFLAG(): sms.h']]], - ['enable_5foam_5fdma_1642',['ENABLE_OAM_DMA',['../gb_8h.html#a20895d53fe9caacb08ce8b071d57ce53',1,'gb.h']]], - ['enable_5fram_1643',['ENABLE_RAM',['../gb_8h.html#a0e9c88657beaac946231a4801481b97f',1,'ENABLE_RAM(): gb.h'],['../sms_8h.html#a0e9c88657beaac946231a4801481b97f',1,'ENABLE_RAM(): sms.h']]], - ['enable_5fram_5fmbc1_1644',['ENABLE_RAM_MBC1',['../gb_8h.html#ae202f64307ec00f6970ef9225e54646c',1,'gb.h']]], - ['enable_5fram_5fmbc5_1645',['ENABLE_RAM_MBC5',['../gb_8h.html#a3f033f00c8d781637f9a665b06750937',1,'gb.h']]], - ['enable_5fvbl_5ftransfer_1646',['ENABLE_VBL_TRANSFER',['../gb_8h.html#a77d516c9d3f86f100eddea5e0d133a76',1,'ENABLE_VBL_TRANSFER(): gb.h'],['../sms_8h.html#a77d516c9d3f86f100eddea5e0d133a76',1,'ENABLE_VBL_TRANSFER(): sms.h']]] + ['empty_5fiflag_1688',['EMPTY_IFLAG',['../gb_8h.html#aa027abe630d44039f238034bcb2d2f36',1,'EMPTY_IFLAG(): gb.h'],['../sms_8h.html#aa027abe630d44039f238034bcb2d2f36',1,'EMPTY_IFLAG(): sms.h']]], + ['emu_5fbreakpoint_1689',['EMU_BREAKPOINT',['../emu__debug_8h.html#a9e856b4691d63bb41c5148b9097bd2bb',1,'emu_debug.h']]], + ['emu_5fmessage_1690',['EMU_MESSAGE',['../emu__debug_8h.html#a5624be3849bf5308c6cc05bc4a624557',1,'emu_debug.h']]], + ['emu_5fprofile_5fbegin_1691',['EMU_PROFILE_BEGIN',['../emu__debug_8h.html#a5359c3e6ddab89f41f1de770cc3640d4',1,'emu_debug.h']]], + ['emu_5fprofile_5fend_1692',['EMU_PROFILE_END',['../emu__debug_8h.html#acce78126775a7ca3c862459e28203aba',1,'emu_debug.h']]], + ['emu_5ftext_1693',['EMU_TEXT',['../emu__debug_8h.html#ad1ca656789d7d285b352afeaa4cc56bd',1,'emu_debug.h']]], + ['enable_5foam_5fdma_1694',['ENABLE_OAM_DMA',['../gb_8h.html#a20895d53fe9caacb08ce8b071d57ce53',1,'gb.h']]], + ['enable_5fram_1695',['ENABLE_RAM',['../gb_8h.html#a0e9c88657beaac946231a4801481b97f',1,'ENABLE_RAM(): gb.h'],['../sms_8h.html#a0e9c88657beaac946231a4801481b97f',1,'ENABLE_RAM(): sms.h']]], + ['enable_5fram_5fmbc1_1696',['ENABLE_RAM_MBC1',['../gb_8h.html#ae202f64307ec00f6970ef9225e54646c',1,'gb.h']]], + ['enable_5fram_5fmbc5_1697',['ENABLE_RAM_MBC5',['../gb_8h.html#a3f033f00c8d781637f9a665b06750937',1,'gb.h']]], + ['enable_5fvbl_5ftransfer_1698',['ENABLE_VBL_TRANSFER',['../gb_8h.html#a77d516c9d3f86f100eddea5e0d133a76',1,'ENABLE_VBL_TRANSFER(): gb.h'],['../sms_8h.html#a77d516c9d3f86f100eddea5e0d133a76',1,'ENABLE_VBL_TRANSFER(): sms.h']]] ]; diff --git a/docs/api/search/defines_6.js b/docs/api/search/defines_6.js @@ -1,15 +1,15 @@ var searchData= [ - ['false_1647',['false',['../stdbool_8h.html#a65e9886d74aaee76545e83dd09011727',1,'false(): stdbool.h'],['../types_8h.html#aa93f0eb578d23995850d61f7d61c55c1',1,'FALSE(): types.h']]], - ['far_5fcall_1648',['FAR_CALL',['../far__ptr_8h.html#a7f4ab1893ea392f8bf042a3b97de4730',1,'far_ptr.h']]], - ['far_5ffunc_1649',['FAR_FUNC',['../far__ptr_8h.html#a048cfacb5d37ab758a74f44e86c1dbc6',1,'far_ptr.h']]], - ['far_5fofs_1650',['FAR_OFS',['../far__ptr_8h.html#ab79586d8cc3cb926f363f4d0cf7143d5',1,'far_ptr.h']]], - ['far_5fseg_1651',['FAR_SEG',['../far__ptr_8h.html#a5bebc5322a1bba1c60c8d60e9b58be14',1,'far_ptr.h']]], - ['fill_5fbkg_5frect_1652',['fill_bkg_rect',['../sms_8h.html#a3b7ffab8d64e2c345f03221145a935c0',1,'sms.h']]], - ['fill_5frect_1653',['fill_rect',['../gb_8h.html#a47865835d7d007d71b4bc8ae5cefb73a',1,'gb.h']]], - ['fill_5fwin_5frect_1654',['fill_win_rect',['../sms_8h.html#a5a69a3129f4faa99857a8b3d80db1d4a',1,'sms.h']]], - ['font_5f128encoding_1655',['FONT_128ENCODING',['../font_8h.html#a305ee4387ba051bd0e372b8a6dfb6905',1,'font.h']]], - ['font_5f256encoding_1656',['FONT_256ENCODING',['../font_8h.html#a63b93b85724b26151ddc2f0fc8050bd8',1,'font.h']]], - ['font_5fcompressed_1657',['FONT_COMPRESSED',['../font_8h.html#a7c5452979723b3535d17e253beb5d604',1,'font.h']]], - ['font_5fnoencoding_1658',['FONT_NOENCODING',['../font_8h.html#a80d0f581e17313b62dd7824653462b55',1,'font.h']]] + ['false_1699',['FALSE',['../types_8h.html#aa93f0eb578d23995850d61f7d61c55c1',1,'FALSE(): types.h'],['../stdbool_8h.html#a65e9886d74aaee76545e83dd09011727',1,'false(): stdbool.h']]], + ['far_5fcall_1700',['FAR_CALL',['../far__ptr_8h.html#a7f4ab1893ea392f8bf042a3b97de4730',1,'far_ptr.h']]], + ['far_5ffunc_1701',['FAR_FUNC',['../far__ptr_8h.html#a048cfacb5d37ab758a74f44e86c1dbc6',1,'far_ptr.h']]], + ['far_5fofs_1702',['FAR_OFS',['../far__ptr_8h.html#ab79586d8cc3cb926f363f4d0cf7143d5',1,'far_ptr.h']]], + ['far_5fseg_1703',['FAR_SEG',['../far__ptr_8h.html#a5bebc5322a1bba1c60c8d60e9b58be14',1,'far_ptr.h']]], + ['fill_5fbkg_5frect_1704',['fill_bkg_rect',['../sms_8h.html#a3b7ffab8d64e2c345f03221145a935c0',1,'sms.h']]], + ['fill_5frect_1705',['fill_rect',['../gb_8h.html#a47865835d7d007d71b4bc8ae5cefb73a',1,'gb.h']]], + ['fill_5fwin_5frect_1706',['fill_win_rect',['../sms_8h.html#a5a69a3129f4faa99857a8b3d80db1d4a',1,'sms.h']]], + ['font_5f128encoding_1707',['FONT_128ENCODING',['../font_8h.html#a305ee4387ba051bd0e372b8a6dfb6905',1,'font.h']]], + ['font_5f256encoding_1708',['FONT_256ENCODING',['../font_8h.html#a63b93b85724b26151ddc2f0fc8050bd8',1,'font.h']]], + ['font_5fcompressed_1709',['FONT_COMPRESSED',['../font_8h.html#a7c5452979723b3535d17e253beb5d604',1,'font.h']]], + ['font_5fnoencoding_1710',['FONT_NOENCODING',['../font_8h.html#a80d0f581e17313b62dd7824653462b55',1,'font.h']]] ]; diff --git a/docs/api/search/defines_7.js b/docs/api/search/defines_7.js @@ -1,9 +1,9 @@ var searchData= [ - ['gameboy_1659',['GAMEBOY',['../gb_8h.html#af10046e88cba47031142a763a94210df',1,'gb.h']]], - ['gba_5fdetected_1660',['GBA_DETECTED',['../gb_8h.html#a6ccf5d0f34fb0af0b6e73b9df0ccd745',1,'gb.h']]], - ['gba_5fnot_5fdetected_1661',['GBA_NOT_DETECTED',['../gb_8h.html#aa311f84dd9fce6e136ba4881e7b0d98d',1,'gb.h']]], - ['get_5fwin_5fxy_5faddr_1662',['get_win_xy_addr',['../sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412',1,'sms.h']]], - ['graphics_5fheight_1663',['GRAPHICS_HEIGHT',['../drawing_8h.html#aa9909ac8ecb03cbb763258a8f98f4170',1,'drawing.h']]], - ['graphics_5fwidth_1664',['GRAPHICS_WIDTH',['../drawing_8h.html#a9a07c448b4d721dbec2715f51727e099',1,'drawing.h']]] + ['gameboy_1711',['GAMEBOY',['../gb_8h.html#af10046e88cba47031142a763a94210df',1,'gb.h']]], + ['gba_5fdetected_1712',['GBA_DETECTED',['../gb_8h.html#a6ccf5d0f34fb0af0b6e73b9df0ccd745',1,'gb.h']]], + ['gba_5fnot_5fdetected_1713',['GBA_NOT_DETECTED',['../gb_8h.html#aa311f84dd9fce6e136ba4881e7b0d98d',1,'gb.h']]], + ['get_5fwin_5fxy_5faddr_1714',['get_win_xy_addr',['../sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412',1,'sms.h']]], + ['graphics_5fheight_1715',['GRAPHICS_HEIGHT',['../drawing_8h.html#aa9909ac8ecb03cbb763258a8f98f4170',1,'drawing.h']]], + ['graphics_5fwidth_1716',['GRAPHICS_WIDTH',['../drawing_8h.html#a9a07c448b4d721dbec2715f51727e099',1,'drawing.h']]] ]; diff --git a/docs/api/search/defines_8.js b/docs/api/search/defines_8.js @@ -1,10 +1,10 @@ var searchData= [ - ['hdma5f_5fbusy_1665',['HDMA5F_BUSY',['../gb_2hardware_8h.html#a37c8ee0ef95132fd22cd426868510834',1,'hardware.h']]], - ['hdma5f_5fmode_5fgp_1666',['HDMA5F_MODE_GP',['../gb_2hardware_8h.html#a2a1acb31d2869997315be64bff66d24b',1,'hardware.h']]], - ['hdma5f_5fmode_5fhbl_1667',['HDMA5F_MODE_HBL',['../gb_2hardware_8h.html#a3c22f7324f09a14d666f9b21a9742789',1,'hardware.h']]], - ['hide_5fbkg_1668',['HIDE_BKG',['../gb_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141',1,'HIDE_BKG(): gb.h'],['../sms_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141',1,'HIDE_BKG(): sms.h']]], - ['hide_5fleft_5fcolumn_1669',['HIDE_LEFT_COLUMN',['../gb_8h.html#a0659212acd317ccdebc0ecf435df330f',1,'HIDE_LEFT_COLUMN(): gb.h'],['../sms_8h.html#a0659212acd317ccdebc0ecf435df330f',1,'HIDE_LEFT_COLUMN(): sms.h']]], - ['hide_5fsprites_1670',['HIDE_SPRITES',['../gb_8h.html#a69ef98aee664b8abd8d1a3d45f016dda',1,'HIDE_SPRITES(): gb.h'],['../sms_8h.html#a69ef98aee664b8abd8d1a3d45f016dda',1,'HIDE_SPRITES(): sms.h']]], - ['hide_5fwin_1671',['HIDE_WIN',['../gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3',1,'HIDE_WIN(): gb.h'],['../sms_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3',1,'HIDE_WIN(): sms.h']]] + ['hdma5f_5fbusy_1717',['HDMA5F_BUSY',['../gb_2hardware_8h.html#a37c8ee0ef95132fd22cd426868510834',1,'hardware.h']]], + ['hdma5f_5fmode_5fgp_1718',['HDMA5F_MODE_GP',['../gb_2hardware_8h.html#a2a1acb31d2869997315be64bff66d24b',1,'hardware.h']]], + ['hdma5f_5fmode_5fhbl_1719',['HDMA5F_MODE_HBL',['../gb_2hardware_8h.html#a3c22f7324f09a14d666f9b21a9742789',1,'hardware.h']]], + ['hide_5fbkg_1720',['HIDE_BKG',['../gb_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141',1,'HIDE_BKG(): gb.h'],['../sms_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141',1,'HIDE_BKG(): sms.h']]], + ['hide_5fleft_5fcolumn_1721',['HIDE_LEFT_COLUMN',['../gb_8h.html#a0659212acd317ccdebc0ecf435df330f',1,'HIDE_LEFT_COLUMN(): gb.h'],['../sms_8h.html#a0659212acd317ccdebc0ecf435df330f',1,'HIDE_LEFT_COLUMN(): sms.h']]], + ['hide_5fsprites_1722',['HIDE_SPRITES',['../gb_8h.html#a69ef98aee664b8abd8d1a3d45f016dda',1,'HIDE_SPRITES(): gb.h'],['../sms_8h.html#a69ef98aee664b8abd8d1a3d45f016dda',1,'HIDE_SPRITES(): sms.h']]], + ['hide_5fwin_1723',['HIDE_WIN',['../gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3',1,'HIDE_WIN(): gb.h'],['../sms_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3',1,'HIDE_WIN(): sms.h']]] ]; diff --git a/docs/api/search/defines_9.js b/docs/api/search/defines_9.js @@ -1,46 +1,46 @@ var searchData= [ - ['ief_5fhilo_1672',['IEF_HILO',['../gb_2hardware_8h.html#aa7ce989df75547f190d33cc85dce0187',1,'hardware.h']]], - ['ief_5fserial_1673',['IEF_SERIAL',['../gb_2hardware_8h.html#a921bdc6c640b74c8c41e65f27882c68a',1,'hardware.h']]], - ['ief_5fstat_1674',['IEF_STAT',['../gb_2hardware_8h.html#a2eec77ca1b8730b410a7075c5a9c189e',1,'hardware.h']]], - ['ief_5ftimer_1675',['IEF_TIMER',['../gb_2hardware_8h.html#a7c06fa33152a235baf273f1828dfa0a4',1,'hardware.h']]], - ['ief_5fvblank_1676',['IEF_VBLANK',['../gb_2hardware_8h.html#a3b8d7fece663511d5778136a5ca0070b',1,'hardware.h']]], - ['incbin_1677',['INCBIN',['../incbin_8h.html#af34047ed60abd6453f819c2a5230cd2b',1,'incbin.h']]], - ['incbin_5fextern_1678',['INCBIN_EXTERN',['../incbin_8h.html#a51ab79f8ee37368158b1887b65ef97ec',1,'incbin.h']]], - ['incbin_5fsize_1679',['INCBIN_SIZE',['../incbin_8h.html#aeacb5370285c0d4308d0fe5f29da8d15',1,'incbin.h']]], - ['int16_5fc_1680',['INT16_C',['../stdint_8h.html#ae80ec61658b3f58afc31ee67ccd27805',1,'stdint.h']]], - ['int16_5fmax_1681',['INT16_MAX',['../stdint_8h.html#ac58f2c111cc9989c86db2a7dc4fd84ca',1,'stdint.h']]], - ['int16_5fmin_1682',['INT16_MIN',['../stdint_8h.html#ad4e9955955b27624963643eac448118a',1,'stdint.h']]], - ['int32_5fc_1683',['INT32_C',['../stdint_8h.html#a5391a63e4d2c8c8a39b3c6f8fdbd8763',1,'stdint.h']]], - ['int32_5fmax_1684',['INT32_MAX',['../stdint_8h.html#a181807730d4a375f848ba139813ce04f',1,'stdint.h']]], - ['int32_5fmin_1685',['INT32_MIN',['../stdint_8h.html#a688eb21a22db27c2b2bd5836943cdcbe',1,'stdint.h']]], - ['int8_5fc_1686',['INT8_C',['../stdint_8h.html#a6b76c8f233c61e6ea05b19b59a6e3549',1,'stdint.h']]], - ['int8_5fmax_1687',['INT8_MAX',['../stdint_8h.html#aaf7f29f45f1a513b4748a4e5014ddf6a',1,'stdint.h']]], - ['int8_5fmin_1688',['INT8_MIN',['../stdint_8h.html#aadcf2a81af243df333b31efa6461ab8e',1,'stdint.h']]], - ['int_5ffast16_5fmax_1689',['INT_FAST16_MAX',['../stdint_8h.html#a2fd35d0ea091e04caec504ff0042cf00',1,'stdint.h']]], - ['int_5ffast16_5fmin_1690',['INT_FAST16_MIN',['../stdint_8h.html#a169460a4e2a79138723d68d99372d958',1,'stdint.h']]], - ['int_5ffast32_5fmax_1691',['INT_FAST32_MAX',['../stdint_8h.html#ac96fa0f41b19e89f109e4f9913ca6635',1,'stdint.h']]], - ['int_5ffast32_5fmin_1692',['INT_FAST32_MIN',['../stdint_8h.html#ad93df1652ed0635513d5efe4f1219926',1,'stdint.h']]], - ['int_5ffast8_5fmax_1693',['INT_FAST8_MAX',['../stdint_8h.html#acbcdb3bee0f5f904da5df8de69a80ca3',1,'stdint.h']]], - ['int_5ffast8_5fmin_1694',['INT_FAST8_MIN',['../stdint_8h.html#aad8fb982cb19143efd5ee9a1a7a89390',1,'stdint.h']]], - ['int_5fleast16_5fmax_1695',['INT_LEAST16_MAX',['../stdint_8h.html#a7eb2a8e2a1c65d6c9ad0f86154890baa',1,'stdint.h']]], - ['int_5fleast16_5fmin_1696',['INT_LEAST16_MIN',['../stdint_8h.html#a1f91bfd5820c2f27af3d260fc75813e1',1,'stdint.h']]], - ['int_5fleast32_5fmax_1697',['INT_LEAST32_MAX',['../stdint_8h.html#a5618711a0a54f722190a3a1219e278c2',1,'stdint.h']]], - ['int_5fleast32_5fmin_1698',['INT_LEAST32_MIN',['../stdint_8h.html#a2360a536116dd734820a6b5b3d560ce7',1,'stdint.h']]], - ['int_5fleast8_5fmax_1699',['INT_LEAST8_MAX',['../stdint_8h.html#aa05109908fb2770f632d2b646b9f85bf',1,'stdint.h']]], - ['int_5fleast8_5fmin_1700',['INT_LEAST8_MIN',['../stdint_8h.html#a3e986cad833f63f420962ff60eda87e5',1,'stdint.h']]], - ['int_5fmax_1701',['INT_MAX',['../limits_8h.html#a9ec306f36d50c7375e74f0d1c55a3a67',1,'limits.h']]], - ['int_5fmin_1702',['INT_MIN',['../limits_8h.html#a21658776274b3d146c674318b635a334',1,'limits.h']]], - ['interrupt_1703',['INTERRUPT',['../asm_2gbz80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017',1,'INTERRUPT(): types.h'],['../asm_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017',1,'INTERRUPT(): types.h'],['../asm_2z80_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017',1,'INTERRUPT(): types.h']]], - ['intmax_5fc_1704',['INTMAX_C',['../stdint_8h.html#a1b955596bdc3e4b6ef339f16e468d55f',1,'stdint.h']]], - ['intmax_5fmax_1705',['INTMAX_MAX',['../stdint_8h.html#a022b9b0a3564d786244a4631847c37a3',1,'stdint.h']]], - ['intmax_5fmin_1706',['INTMAX_MIN',['../stdint_8h.html#a2b0a3edfc672154f606dc3ad26277b61',1,'stdint.h']]], - ['intptr_5fmax_1707',['INTPTR_MAX',['../stdint_8h.html#a9e5742f2bae4a5283431a3c03499e3a9',1,'stdint.h']]], - ['intptr_5fmin_1708',['INTPTR_MIN',['../stdint_8h.html#a2aaa6d3aa1d7d1e0e326955aa24db752',1,'stdint.h']]], - ['io_5ferror_1709',['IO_ERROR',['../gb_8h.html#a5d4c9c7b61a0326a939f9109f96d7423',1,'gb.h']]], - ['io_5fidle_1710',['IO_IDLE',['../gb_8h.html#a268cc6c704e16f3fa02dd1cf0e17070a',1,'gb.h']]], - ['io_5freceiving_1711',['IO_RECEIVING',['../gb_8h.html#aee03efddee0f2f6fbcaec789301aaa9b',1,'gb.h']]], - ['io_5fsending_1712',['IO_SENDING',['../gb_8h.html#ab69a3f7cd2c6b5eb4f518aefee099007',1,'gb.h']]], - ['isr_5fnested_5fvector_1713',['ISR_NESTED_VECTOR',['../isr_8h.html#a78f9ef588aaf221023e48899898d566b',1,'isr.h']]], - ['isr_5fvector_1714',['ISR_VECTOR',['../isr_8h.html#a73769fed9338af86fdb7df35d7b82620',1,'isr.h']]] + ['ief_5fhilo_1724',['IEF_HILO',['../gb_2hardware_8h.html#aa7ce989df75547f190d33cc85dce0187',1,'hardware.h']]], + ['ief_5fserial_1725',['IEF_SERIAL',['../gb_2hardware_8h.html#a921bdc6c640b74c8c41e65f27882c68a',1,'hardware.h']]], + ['ief_5fstat_1726',['IEF_STAT',['../gb_2hardware_8h.html#a2eec77ca1b8730b410a7075c5a9c189e',1,'hardware.h']]], + ['ief_5ftimer_1727',['IEF_TIMER',['../gb_2hardware_8h.html#a7c06fa33152a235baf273f1828dfa0a4',1,'hardware.h']]], + ['ief_5fvblank_1728',['IEF_VBLANK',['../gb_2hardware_8h.html#a3b8d7fece663511d5778136a5ca0070b',1,'hardware.h']]], + ['incbin_1729',['INCBIN',['../incbin_8h.html#af34047ed60abd6453f819c2a5230cd2b',1,'incbin.h']]], + ['incbin_5fextern_1730',['INCBIN_EXTERN',['../incbin_8h.html#a51ab79f8ee37368158b1887b65ef97ec',1,'incbin.h']]], + ['incbin_5fsize_1731',['INCBIN_SIZE',['../incbin_8h.html#aeacb5370285c0d4308d0fe5f29da8d15',1,'incbin.h']]], + ['int16_5fc_1732',['INT16_C',['../stdint_8h.html#ae80ec61658b3f58afc31ee67ccd27805',1,'stdint.h']]], + ['int16_5fmax_1733',['INT16_MAX',['../stdint_8h.html#ac58f2c111cc9989c86db2a7dc4fd84ca',1,'stdint.h']]], + ['int16_5fmin_1734',['INT16_MIN',['../stdint_8h.html#ad4e9955955b27624963643eac448118a',1,'stdint.h']]], + ['int32_5fc_1735',['INT32_C',['../stdint_8h.html#a5391a63e4d2c8c8a39b3c6f8fdbd8763',1,'stdint.h']]], + ['int32_5fmax_1736',['INT32_MAX',['../stdint_8h.html#a181807730d4a375f848ba139813ce04f',1,'stdint.h']]], + ['int32_5fmin_1737',['INT32_MIN',['../stdint_8h.html#a688eb21a22db27c2b2bd5836943cdcbe',1,'stdint.h']]], + ['int8_5fc_1738',['INT8_C',['../stdint_8h.html#a6b76c8f233c61e6ea05b19b59a6e3549',1,'stdint.h']]], + ['int8_5fmax_1739',['INT8_MAX',['../stdint_8h.html#aaf7f29f45f1a513b4748a4e5014ddf6a',1,'stdint.h']]], + ['int8_5fmin_1740',['INT8_MIN',['../stdint_8h.html#aadcf2a81af243df333b31efa6461ab8e',1,'stdint.h']]], + ['int_5ffast16_5fmax_1741',['INT_FAST16_MAX',['../stdint_8h.html#a2fd35d0ea091e04caec504ff0042cf00',1,'stdint.h']]], + ['int_5ffast16_5fmin_1742',['INT_FAST16_MIN',['../stdint_8h.html#a169460a4e2a79138723d68d99372d958',1,'stdint.h']]], + ['int_5ffast32_5fmax_1743',['INT_FAST32_MAX',['../stdint_8h.html#ac96fa0f41b19e89f109e4f9913ca6635',1,'stdint.h']]], + ['int_5ffast32_5fmin_1744',['INT_FAST32_MIN',['../stdint_8h.html#ad93df1652ed0635513d5efe4f1219926',1,'stdint.h']]], + ['int_5ffast8_5fmax_1745',['INT_FAST8_MAX',['../stdint_8h.html#acbcdb3bee0f5f904da5df8de69a80ca3',1,'stdint.h']]], + ['int_5ffast8_5fmin_1746',['INT_FAST8_MIN',['../stdint_8h.html#aad8fb982cb19143efd5ee9a1a7a89390',1,'stdint.h']]], + ['int_5fleast16_5fmax_1747',['INT_LEAST16_MAX',['../stdint_8h.html#a7eb2a8e2a1c65d6c9ad0f86154890baa',1,'stdint.h']]], + ['int_5fleast16_5fmin_1748',['INT_LEAST16_MIN',['../stdint_8h.html#a1f91bfd5820c2f27af3d260fc75813e1',1,'stdint.h']]], + ['int_5fleast32_5fmax_1749',['INT_LEAST32_MAX',['../stdint_8h.html#a5618711a0a54f722190a3a1219e278c2',1,'stdint.h']]], + ['int_5fleast32_5fmin_1750',['INT_LEAST32_MIN',['../stdint_8h.html#a2360a536116dd734820a6b5b3d560ce7',1,'stdint.h']]], + ['int_5fleast8_5fmax_1751',['INT_LEAST8_MAX',['../stdint_8h.html#aa05109908fb2770f632d2b646b9f85bf',1,'stdint.h']]], + ['int_5fleast8_5fmin_1752',['INT_LEAST8_MIN',['../stdint_8h.html#a3e986cad833f63f420962ff60eda87e5',1,'stdint.h']]], + ['int_5fmax_1753',['INT_MAX',['../limits_8h.html#a9ec306f36d50c7375e74f0d1c55a3a67',1,'limits.h']]], + ['int_5fmin_1754',['INT_MIN',['../limits_8h.html#a21658776274b3d146c674318b635a334',1,'limits.h']]], + ['interrupt_1755',['INTERRUPT',['../asm_2types_8h.html#ac950c0db046e2f86d15e7ae1f558b017',1,'types.h']]], + ['intmax_5fc_1756',['INTMAX_C',['../stdint_8h.html#a1b955596bdc3e4b6ef339f16e468d55f',1,'stdint.h']]], + ['intmax_5fmax_1757',['INTMAX_MAX',['../stdint_8h.html#a022b9b0a3564d786244a4631847c37a3',1,'stdint.h']]], + ['intmax_5fmin_1758',['INTMAX_MIN',['../stdint_8h.html#a2b0a3edfc672154f606dc3ad26277b61',1,'stdint.h']]], + ['intptr_5fmax_1759',['INTPTR_MAX',['../stdint_8h.html#a9e5742f2bae4a5283431a3c03499e3a9',1,'stdint.h']]], + ['intptr_5fmin_1760',['INTPTR_MIN',['../stdint_8h.html#a2aaa6d3aa1d7d1e0e326955aa24db752',1,'stdint.h']]], + ['io_5ferror_1761',['IO_ERROR',['../gb_8h.html#a5d4c9c7b61a0326a939f9109f96d7423',1,'gb.h']]], + ['io_5fidle_1762',['IO_IDLE',['../gb_8h.html#a268cc6c704e16f3fa02dd1cf0e17070a',1,'gb.h']]], + ['io_5freceiving_1763',['IO_RECEIVING',['../gb_8h.html#aee03efddee0f2f6fbcaec789301aaa9b',1,'gb.h']]], + ['io_5fsending_1764',['IO_SENDING',['../gb_8h.html#ab69a3f7cd2c6b5eb4f518aefee099007',1,'gb.h']]], + ['isr_5fnested_5fvector_1765',['ISR_NESTED_VECTOR',['../isr_8h.html#a78f9ef588aaf221023e48899898d566b',1,'isr.h']]], + ['isr_5fvector_1766',['ISR_VECTOR',['../isr_8h.html#a73769fed9338af86fdb7df35d7b82620',1,'isr.h']]] ]; diff --git a/docs/api/search/defines_a.js b/docs/api/search/defines_a.js @@ -1,31 +1,31 @@ var searchData= [ - ['j_5fa_1715',['J_A',['../gb_8h.html#a31af766e3b598eb7a6b63f55a4988e7a',1,'J_A(): gb.h'],['../sms_8h.html#a31af766e3b598eb7a6b63f55a4988e7a',1,'J_A(): sms.h']]], - ['j_5fb_1716',['J_B',['../gb_8h.html#ae47e59a309120f9420993f26816b5e6d',1,'J_B(): gb.h'],['../sms_8h.html#ae47e59a309120f9420993f26816b5e6d',1,'J_B(): sms.h']]], - ['j_5fdown_1717',['J_DOWN',['../gb_8h.html#ae032c5c544196e37ec0432f6cfad7904',1,'J_DOWN(): gb.h'],['../sms_8h.html#ae032c5c544196e37ec0432f6cfad7904',1,'J_DOWN(): sms.h']]], - ['j_5fleft_1718',['J_LEFT',['../gb_8h.html#ac70894fecac30c1ca9917f07373cf81c',1,'J_LEFT(): gb.h'],['../sms_8h.html#ac70894fecac30c1ca9917f07373cf81c',1,'J_LEFT(): sms.h']]], - ['j_5fright_1719',['J_RIGHT',['../gb_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325',1,'J_RIGHT(): gb.h'],['../sms_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325',1,'J_RIGHT(): sms.h']]], - ['j_5fselect_1720',['J_SELECT',['../gb_8h.html#ab416a9d96d1582490828f4bac78a8b5b',1,'gb.h']]], - ['j_5fstart_1721',['J_START',['../gb_8h.html#ab769c6e20778298be8bc3321476ceb53',1,'gb.h']]], - ['j_5fup_1722',['J_UP',['../gb_8h.html#a05ca817ab32f6da612c3ae26db5abf02',1,'J_UP(): gb.h'],['../sms_8h.html#a05ca817ab32f6da612c3ae26db5abf02',1,'J_UP(): sms.h']]], - ['joy_5fiflag_1723',['JOY_IFLAG',['../gb_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280',1,'JOY_IFLAG(): gb.h'],['../sms_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280',1,'JOY_IFLAG(): sms.h']]], - ['joy_5fp1_5fdown_1724',['JOY_P1_DOWN',['../sms_2hardware_8h.html#ab4dd6ee624c6d9e5fe5820ce925ffb20',1,'hardware.h']]], - ['joy_5fp1_5flatch_1725',['JOY_P1_LATCH',['../sms_2hardware_8h.html#aa8e128eeff1d58f674cebdbacc413f3c',1,'hardware.h']]], - ['joy_5fp1_5fleft_1726',['JOY_P1_LEFT',['../sms_2hardware_8h.html#a7d709160cbd7b369109bf40161ae8ccd',1,'hardware.h']]], - ['joy_5fp1_5flight_1727',['JOY_P1_LIGHT',['../sms_2hardware_8h.html#a772c8def7b33ad4fd3cbfc74d84441de',1,'hardware.h']]], - ['joy_5fp1_5fright_1728',['JOY_P1_RIGHT',['../sms_2hardware_8h.html#a1efece9134651ad4d2bd1836c1d1d6d6',1,'hardware.h']]], - ['joy_5fp1_5fsw1_1729',['JOY_P1_SW1',['../sms_2hardware_8h.html#aacc8667a6d5d9683ed4876e52aba2d33',1,'hardware.h']]], - ['joy_5fp1_5fsw2_1730',['JOY_P1_SW2',['../sms_2hardware_8h.html#a9ab9954d0c66751a154f7824e344806b',1,'hardware.h']]], - ['joy_5fp1_5ftrigger_1731',['JOY_P1_TRIGGER',['../sms_2hardware_8h.html#af29f72f4cc7c94deae5fb9c29b1cc94f',1,'hardware.h']]], - ['joy_5fp1_5fup_1732',['JOY_P1_UP',['../sms_2hardware_8h.html#a086bde6bcc92e5f4d3e9ae45f0de475e',1,'hardware.h']]], - ['joy_5fp2_5fdown_1733',['JOY_P2_DOWN',['../sms_2hardware_8h.html#a6d4129d670d421656f5e9a1f4b68a7f4',1,'hardware.h']]], - ['joy_5fp2_5flatch_1734',['JOY_P2_LATCH',['../sms_2hardware_8h.html#a2cfa517650949a89a7ebabf0253fcdf7',1,'hardware.h']]], - ['joy_5fp2_5fleft_1735',['JOY_P2_LEFT',['../sms_2hardware_8h.html#a2121cb75e0d570b0f92c7630bc1af25f',1,'hardware.h']]], - ['joy_5fp2_5flight_1736',['JOY_P2_LIGHT',['../sms_2hardware_8h.html#a42ded04442bd4fb4acf5333b248423fa',1,'hardware.h']]], - ['joy_5fp2_5fright_1737',['JOY_P2_RIGHT',['../sms_2hardware_8h.html#a16dac3d386b8bc0da50c6c814952472d',1,'hardware.h']]], - ['joy_5fp2_5fsw1_1738',['JOY_P2_SW1',['../sms_2hardware_8h.html#a942e3ecdef267100c84a36f6e0dc0b51',1,'hardware.h']]], - ['joy_5fp2_5fsw2_1739',['JOY_P2_SW2',['../sms_2hardware_8h.html#a6d181ce63ff84bd559d13f4423a336b3',1,'hardware.h']]], - ['joy_5fp2_5ftrigger_1740',['JOY_P2_TRIGGER',['../sms_2hardware_8h.html#afe5ec4ca4d413ae5388be131d9c4f93b',1,'hardware.h']]], - ['joy_5fp2_5fup_1741',['JOY_P2_UP',['../sms_2hardware_8h.html#a307ba8e12d9273a99aa4830c5e0a3c88',1,'hardware.h']]], - ['joy_5freset_1742',['JOY_RESET',['../sms_2hardware_8h.html#a5b3dff084cbb77646a337d94d16a1714',1,'hardware.h']]] + ['j_5fa_1767',['J_A',['../gb_8h.html#a31af766e3b598eb7a6b63f55a4988e7a',1,'J_A(): gb.h'],['../sms_8h.html#a31af766e3b598eb7a6b63f55a4988e7a',1,'J_A(): sms.h']]], + ['j_5fb_1768',['J_B',['../gb_8h.html#ae47e59a309120f9420993f26816b5e6d',1,'J_B(): gb.h'],['../sms_8h.html#ae47e59a309120f9420993f26816b5e6d',1,'J_B(): sms.h']]], + ['j_5fdown_1769',['J_DOWN',['../gb_8h.html#ae032c5c544196e37ec0432f6cfad7904',1,'J_DOWN(): gb.h'],['../sms_8h.html#ae032c5c544196e37ec0432f6cfad7904',1,'J_DOWN(): sms.h']]], + ['j_5fleft_1770',['J_LEFT',['../gb_8h.html#ac70894fecac30c1ca9917f07373cf81c',1,'J_LEFT(): gb.h'],['../sms_8h.html#ac70894fecac30c1ca9917f07373cf81c',1,'J_LEFT(): sms.h']]], + ['j_5fright_1771',['J_RIGHT',['../gb_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325',1,'J_RIGHT(): gb.h'],['../sms_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325',1,'J_RIGHT(): sms.h']]], + ['j_5fselect_1772',['J_SELECT',['../gb_8h.html#ab416a9d96d1582490828f4bac78a8b5b',1,'gb.h']]], + ['j_5fstart_1773',['J_START',['../gb_8h.html#ab769c6e20778298be8bc3321476ceb53',1,'gb.h']]], + ['j_5fup_1774',['J_UP',['../gb_8h.html#a05ca817ab32f6da612c3ae26db5abf02',1,'J_UP(): gb.h'],['../sms_8h.html#a05ca817ab32f6da612c3ae26db5abf02',1,'J_UP(): sms.h']]], + ['joy_5fiflag_1775',['JOY_IFLAG',['../gb_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280',1,'JOY_IFLAG(): gb.h'],['../sms_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280',1,'JOY_IFLAG(): sms.h']]], + ['joy_5fp1_5fdown_1776',['JOY_P1_DOWN',['../sms_2hardware_8h.html#ab4dd6ee624c6d9e5fe5820ce925ffb20',1,'hardware.h']]], + ['joy_5fp1_5flatch_1777',['JOY_P1_LATCH',['../sms_2hardware_8h.html#aa8e128eeff1d58f674cebdbacc413f3c',1,'hardware.h']]], + ['joy_5fp1_5fleft_1778',['JOY_P1_LEFT',['../sms_2hardware_8h.html#a7d709160cbd7b369109bf40161ae8ccd',1,'hardware.h']]], + ['joy_5fp1_5flight_1779',['JOY_P1_LIGHT',['../sms_2hardware_8h.html#a772c8def7b33ad4fd3cbfc74d84441de',1,'hardware.h']]], + ['joy_5fp1_5fright_1780',['JOY_P1_RIGHT',['../sms_2hardware_8h.html#a1efece9134651ad4d2bd1836c1d1d6d6',1,'hardware.h']]], + ['joy_5fp1_5fsw1_1781',['JOY_P1_SW1',['../sms_2hardware_8h.html#aacc8667a6d5d9683ed4876e52aba2d33',1,'hardware.h']]], + ['joy_5fp1_5fsw2_1782',['JOY_P1_SW2',['../sms_2hardware_8h.html#a9ab9954d0c66751a154f7824e344806b',1,'hardware.h']]], + ['joy_5fp1_5ftrigger_1783',['JOY_P1_TRIGGER',['../sms_2hardware_8h.html#af29f72f4cc7c94deae5fb9c29b1cc94f',1,'hardware.h']]], + ['joy_5fp1_5fup_1784',['JOY_P1_UP',['../sms_2hardware_8h.html#a086bde6bcc92e5f4d3e9ae45f0de475e',1,'hardware.h']]], + ['joy_5fp2_5fdown_1785',['JOY_P2_DOWN',['../sms_2hardware_8h.html#a6d4129d670d421656f5e9a1f4b68a7f4',1,'hardware.h']]], + ['joy_5fp2_5flatch_1786',['JOY_P2_LATCH',['../sms_2hardware_8h.html#a2cfa517650949a89a7ebabf0253fcdf7',1,'hardware.h']]], + ['joy_5fp2_5fleft_1787',['JOY_P2_LEFT',['../sms_2hardware_8h.html#a2121cb75e0d570b0f92c7630bc1af25f',1,'hardware.h']]], + ['joy_5fp2_5flight_1788',['JOY_P2_LIGHT',['../sms_2hardware_8h.html#a42ded04442bd4fb4acf5333b248423fa',1,'hardware.h']]], + ['joy_5fp2_5fright_1789',['JOY_P2_RIGHT',['../sms_2hardware_8h.html#a16dac3d386b8bc0da50c6c814952472d',1,'hardware.h']]], + ['joy_5fp2_5fsw1_1790',['JOY_P2_SW1',['../sms_2hardware_8h.html#a942e3ecdef267100c84a36f6e0dc0b51',1,'hardware.h']]], + ['joy_5fp2_5fsw2_1791',['JOY_P2_SW2',['../sms_2hardware_8h.html#a6d181ce63ff84bd559d13f4423a336b3',1,'hardware.h']]], + ['joy_5fp2_5ftrigger_1792',['JOY_P2_TRIGGER',['../sms_2hardware_8h.html#afe5ec4ca4d413ae5388be131d9c4f93b',1,'hardware.h']]], + ['joy_5fp2_5fup_1793',['JOY_P2_UP',['../sms_2hardware_8h.html#a307ba8e12d9273a99aa4830c5e0a3c88',1,'hardware.h']]], + ['joy_5freset_1794',['JOY_RESET',['../sms_2hardware_8h.html#a5b3dff084cbb77646a337d94d16a1714',1,'hardware.h']]] ]; diff --git a/docs/api/search/defines_b.js b/docs/api/search/defines_b.js @@ -1,5 +1,5 @@ var searchData= [ - ['key1f_5fdblspeed_1743',['KEY1F_DBLSPEED',['../gb_2hardware_8h.html#a793b667a76985934545f73268000371a',1,'hardware.h']]], - ['key1f_5fprepare_1744',['KEY1F_PREPARE',['../gb_2hardware_8h.html#a3205df57bc17c35df2924296341c6c69',1,'hardware.h']]] + ['key1f_5fdblspeed_1795',['KEY1F_DBLSPEED',['../gb_2hardware_8h.html#a793b667a76985934545f73268000371a',1,'hardware.h']]], + ['key1f_5fprepare_1796',['KEY1F_PREPARE',['../gb_2hardware_8h.html#a3205df57bc17c35df2924296341c6c69',1,'hardware.h']]] ]; diff --git a/docs/api/search/defines_c.js b/docs/api/search/defines_c.js @@ -1,31 +1,31 @@ var searchData= [ - ['lcd_5fiflag_1745',['LCD_IFLAG',['../gb_8h.html#a61a9e2910380de6abb34df14ef634eb4',1,'LCD_IFLAG(): gb.h'],['../sms_8h.html#a61a9e2910380de6abb34df14ef634eb4',1,'LCD_IFLAG(): sms.h']]], - ['lcdcf_5fb_5fbg8000_1746',['LCDCF_B_BG8000',['../gb_2hardware_8h.html#aa336ca1c8bd29763222fc011a6272bdf',1,'hardware.h']]], - ['lcdcf_5fb_5fbg9c00_1747',['LCDCF_B_BG9C00',['../gb_2hardware_8h.html#a4889bb882e956665069212c4c8aa623b',1,'hardware.h']]], - ['lcdcf_5fb_5fbgon_1748',['LCDCF_B_BGON',['../gb_2hardware_8h.html#aa1f66868f63af2af6544e84122de3cc3',1,'hardware.h']]], - ['lcdcf_5fb_5fobj16_1749',['LCDCF_B_OBJ16',['../gb_2hardware_8h.html#aa8f5bcd5073aae5948a9647dcb76f779',1,'hardware.h']]], - ['lcdcf_5fb_5fobjon_1750',['LCDCF_B_OBJON',['../gb_2hardware_8h.html#a6f6852d0f1d295b03e1230d5d97cb3e9',1,'hardware.h']]], - ['lcdcf_5fb_5fon_1751',['LCDCF_B_ON',['../gb_2hardware_8h.html#ac112618942cb4719def91693616baaff',1,'hardware.h']]], - ['lcdcf_5fb_5fwin9c00_1752',['LCDCF_B_WIN9C00',['../gb_2hardware_8h.html#ac826fdb70a043ebb8f1b317b00db6ff3',1,'hardware.h']]], - ['lcdcf_5fb_5fwinon_1753',['LCDCF_B_WINON',['../gb_2hardware_8h.html#ae1de721c95ddc8f29ba9b9deaee8d68c',1,'hardware.h']]], - ['lcdcf_5fbg8000_1754',['LCDCF_BG8000',['../gb_2hardware_8h.html#a731588b96fb8cdbeb7e68c089373e6f8',1,'hardware.h']]], - ['lcdcf_5fbg8800_1755',['LCDCF_BG8800',['../gb_2hardware_8h.html#a69a43daf29c680b3ab0fbcad3118cd48',1,'hardware.h']]], - ['lcdcf_5fbg9800_1756',['LCDCF_BG9800',['../gb_2hardware_8h.html#ae4e03124190c7f96586b75cb4470a210',1,'hardware.h']]], - ['lcdcf_5fbg9c00_1757',['LCDCF_BG9C00',['../gb_2hardware_8h.html#a2e2a68c3274055a06cf38d00f007d4bf',1,'hardware.h']]], - ['lcdcf_5fbgoff_1758',['LCDCF_BGOFF',['../gb_2hardware_8h.html#aa8027f47983459c377169f57987b710c',1,'hardware.h']]], - ['lcdcf_5fbgon_1759',['LCDCF_BGON',['../gb_2hardware_8h.html#a97ab19d938f05bffbcb4221824c3bfce',1,'hardware.h']]], - ['lcdcf_5fobj16_1760',['LCDCF_OBJ16',['../gb_2hardware_8h.html#a14eddd3d53d8e649f1754bd455b4863d',1,'hardware.h']]], - ['lcdcf_5fobj8_1761',['LCDCF_OBJ8',['../gb_2hardware_8h.html#a1452fbc14f59076347c4cd4864fbeb51',1,'hardware.h']]], - ['lcdcf_5fobjoff_1762',['LCDCF_OBJOFF',['../gb_2hardware_8h.html#af14334f65debf6ee02cc21b58729cfde',1,'hardware.h']]], - ['lcdcf_5fobjon_1763',['LCDCF_OBJON',['../gb_2hardware_8h.html#a6aef42158c90e8025b8341cdea2e3918',1,'hardware.h']]], - ['lcdcf_5foff_1764',['LCDCF_OFF',['../gb_2hardware_8h.html#ae9de9f58318f113afbc955986a502692',1,'hardware.h']]], - ['lcdcf_5fon_1765',['LCDCF_ON',['../gb_2hardware_8h.html#a1491fc03ed7f02e7309cc7b0c48b6c8a',1,'hardware.h']]], - ['lcdcf_5fwin9800_1766',['LCDCF_WIN9800',['../gb_2hardware_8h.html#a178a111ffe8eb38a2875fcaf3bfeba3f',1,'hardware.h']]], - ['lcdcf_5fwin9c00_1767',['LCDCF_WIN9C00',['../gb_2hardware_8h.html#a9d555b0c19019150db73ca245ca62a78',1,'hardware.h']]], - ['lcdcf_5fwinoff_1768',['LCDCF_WINOFF',['../gb_2hardware_8h.html#a582ece3b5f6cc49d47b2ad3e16d47374',1,'hardware.h']]], - ['lcdcf_5fwinon_1769',['LCDCF_WINON',['../gb_2hardware_8h.html#a13a5f08b9aae68f8fa57a8aa7705b732',1,'hardware.h']]], - ['long_5fmax_1770',['LONG_MAX',['../limits_8h.html#a50fece4db74f09568b2938db583c5655',1,'limits.h']]], - ['long_5fmin_1771',['LONG_MIN',['../limits_8h.html#ae8a44c5a7436466221e0f3859d02420f',1,'limits.h']]], - ['ltgrey_1772',['LTGREY',['../drawing_8h.html#a0ffe2221c8690dc80b5f9553474dd096',1,'drawing.h']]] + ['lcd_5fiflag_1797',['LCD_IFLAG',['../gb_8h.html#a61a9e2910380de6abb34df14ef634eb4',1,'LCD_IFLAG(): gb.h'],['../sms_8h.html#a61a9e2910380de6abb34df14ef634eb4',1,'LCD_IFLAG(): sms.h']]], + ['lcdcf_5fb_5fbg8000_1798',['LCDCF_B_BG8000',['../gb_2hardware_8h.html#aa336ca1c8bd29763222fc011a6272bdf',1,'hardware.h']]], + ['lcdcf_5fb_5fbg9c00_1799',['LCDCF_B_BG9C00',['../gb_2hardware_8h.html#a4889bb882e956665069212c4c8aa623b',1,'hardware.h']]], + ['lcdcf_5fb_5fbgon_1800',['LCDCF_B_BGON',['../gb_2hardware_8h.html#aa1f66868f63af2af6544e84122de3cc3',1,'hardware.h']]], + ['lcdcf_5fb_5fobj16_1801',['LCDCF_B_OBJ16',['../gb_2hardware_8h.html#aa8f5bcd5073aae5948a9647dcb76f779',1,'hardware.h']]], + ['lcdcf_5fb_5fobjon_1802',['LCDCF_B_OBJON',['../gb_2hardware_8h.html#a6f6852d0f1d295b03e1230d5d97cb3e9',1,'hardware.h']]], + ['lcdcf_5fb_5fon_1803',['LCDCF_B_ON',['../gb_2hardware_8h.html#ac112618942cb4719def91693616baaff',1,'hardware.h']]], + ['lcdcf_5fb_5fwin9c00_1804',['LCDCF_B_WIN9C00',['../gb_2hardware_8h.html#ac826fdb70a043ebb8f1b317b00db6ff3',1,'hardware.h']]], + ['lcdcf_5fb_5fwinon_1805',['LCDCF_B_WINON',['../gb_2hardware_8h.html#ae1de721c95ddc8f29ba9b9deaee8d68c',1,'hardware.h']]], + ['lcdcf_5fbg8000_1806',['LCDCF_BG8000',['../gb_2hardware_8h.html#a731588b96fb8cdbeb7e68c089373e6f8',1,'hardware.h']]], + ['lcdcf_5fbg8800_1807',['LCDCF_BG8800',['../gb_2hardware_8h.html#a69a43daf29c680b3ab0fbcad3118cd48',1,'hardware.h']]], + ['lcdcf_5fbg9800_1808',['LCDCF_BG9800',['../gb_2hardware_8h.html#ae4e03124190c7f96586b75cb4470a210',1,'hardware.h']]], + ['lcdcf_5fbg9c00_1809',['LCDCF_BG9C00',['../gb_2hardware_8h.html#a2e2a68c3274055a06cf38d00f007d4bf',1,'hardware.h']]], + ['lcdcf_5fbgoff_1810',['LCDCF_BGOFF',['../gb_2hardware_8h.html#aa8027f47983459c377169f57987b710c',1,'hardware.h']]], + ['lcdcf_5fbgon_1811',['LCDCF_BGON',['../gb_2hardware_8h.html#a97ab19d938f05bffbcb4221824c3bfce',1,'hardware.h']]], + ['lcdcf_5fobj16_1812',['LCDCF_OBJ16',['../gb_2hardware_8h.html#a14eddd3d53d8e649f1754bd455b4863d',1,'hardware.h']]], + ['lcdcf_5fobj8_1813',['LCDCF_OBJ8',['../gb_2hardware_8h.html#a1452fbc14f59076347c4cd4864fbeb51',1,'hardware.h']]], + ['lcdcf_5fobjoff_1814',['LCDCF_OBJOFF',['../gb_2hardware_8h.html#af14334f65debf6ee02cc21b58729cfde',1,'hardware.h']]], + ['lcdcf_5fobjon_1815',['LCDCF_OBJON',['../gb_2hardware_8h.html#a6aef42158c90e8025b8341cdea2e3918',1,'hardware.h']]], + ['lcdcf_5foff_1816',['LCDCF_OFF',['../gb_2hardware_8h.html#ae9de9f58318f113afbc955986a502692',1,'hardware.h']]], + ['lcdcf_5fon_1817',['LCDCF_ON',['../gb_2hardware_8h.html#a1491fc03ed7f02e7309cc7b0c48b6c8a',1,'hardware.h']]], + ['lcdcf_5fwin9800_1818',['LCDCF_WIN9800',['../gb_2hardware_8h.html#a178a111ffe8eb38a2875fcaf3bfeba3f',1,'hardware.h']]], + ['lcdcf_5fwin9c00_1819',['LCDCF_WIN9C00',['../gb_2hardware_8h.html#a9d555b0c19019150db73ca245ca62a78',1,'hardware.h']]], + ['lcdcf_5fwinoff_1820',['LCDCF_WINOFF',['../gb_2hardware_8h.html#a582ece3b5f6cc49d47b2ad3e16d47374',1,'hardware.h']]], + ['lcdcf_5fwinon_1821',['LCDCF_WINON',['../gb_2hardware_8h.html#a13a5f08b9aae68f8fa57a8aa7705b732',1,'hardware.h']]], + ['long_5fmax_1822',['LONG_MAX',['../limits_8h.html#a50fece4db74f09568b2938db583c5655',1,'limits.h']]], + ['long_5fmin_1823',['LONG_MIN',['../limits_8h.html#ae8a44c5a7436466221e0f3859d02420f',1,'limits.h']]], + ['ltgrey_1824',['LTGREY',['../drawing_8h.html#a0ffe2221c8690dc80b5f9553474dd096',1,'drawing.h']]] ]; diff --git a/docs/api/search/defines_d.js b/docs/api/search/defines_d.js @@ -1,32 +1,32 @@ var searchData= [ - ['m_5fdrawing_1773',['M_DRAWING',['../gb_8h.html#acc9798fc62b5d626c91c8b0f20b522ff',1,'gb.h']]], - ['m_5ffill_1774',['M_FILL',['../drawing_8h.html#aad3d180e0f12d6a6e5278fe0163f4c3e',1,'drawing.h']]], - ['m_5fno_5finterp_1775',['M_NO_INTERP',['../gb_8h.html#aca2855edd2d28f66be551a0f7ec23f07',1,'M_NO_INTERP(): gb.h'],['../sms_8h.html#aca2855edd2d28f66be551a0f7ec23f07',1,'M_NO_INTERP(): sms.h']]], - ['m_5fno_5fscroll_1776',['M_NO_SCROLL',['../gb_8h.html#a04382de20738146fe873ddfb0585052b',1,'M_NO_SCROLL(): gb.h'],['../sms_8h.html#a04382de20738146fe873ddfb0585052b',1,'M_NO_SCROLL(): sms.h']]], - ['m_5fnofill_1777',['M_NOFILL',['../drawing_8h.html#a91d52443c77ee105bd68cb0b47a8ee49',1,'drawing.h']]], - ['m_5ftext_5finout_1778',['M_TEXT_INOUT',['../gb_8h.html#a908826e7180f94a5988ceb8633313a2e',1,'M_TEXT_INOUT(): gb.h'],['../sms_8h.html#a908826e7180f94a5988ceb8633313a2e',1,'M_TEXT_INOUT(): sms.h']]], - ['m_5ftext_5fout_1779',['M_TEXT_OUT',['../gb_8h.html#af0e30d6af308ffe5a025fbe85da40f6f',1,'M_TEXT_OUT(): gb.h'],['../sms_8h.html#af0e30d6af308ffe5a025fbe85da40f6f',1,'M_TEXT_OUT(): sms.h']]], - ['make_5fbcd_1780',['MAKE_BCD',['../bcd_8h.html#a8a3023920aa103a74c7d59007bcc7b6f',1,'bcd.h']]], - ['max_5fhardware_5fsprites_1781',['MAX_HARDWARE_SPRITES',['../gb_8h.html#a8b77608c87a9aef65a03531482b2163b',1,'MAX_HARDWARE_SPRITES(): gb.h'],['../sms_8h.html#a8b77608c87a9aef65a03531482b2163b',1,'MAX_HARDWARE_SPRITES(): sms.h']]], - ['maxwndposx_1782',['MAXWNDPOSX',['../gb_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5',1,'MAXWNDPOSX(): gb.h'],['../sms_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5',1,'MAXWNDPOSX(): sms.h']]], - ['maxwndposy_1783',['MAXWNDPOSY',['../gb_8h.html#ad57f2f8c54204687f02801d8ab1bd150',1,'MAXWNDPOSY(): gb.h'],['../sms_8h.html#ad57f2f8c54204687f02801d8ab1bd150',1,'MAXWNDPOSY(): sms.h']]], - ['memctl_5fbaseoff_1784',['MEMCTL_BASEOFF',['../sms_2hardware_8h.html#a29d7c3b98f855f88d6bb3f380b301d64',1,'hardware.h']]], - ['memctl_5fbaseon_1785',['MEMCTL_BASEON',['../sms_2hardware_8h.html#a2a98128eb9ca41477c139988da9d803f',1,'hardware.h']]], - ['memctl_5fcromoff_1786',['MEMCTL_CROMOFF',['../sms_2hardware_8h.html#a79ca0cc4a9979b2eeaeda61b043b36ae',1,'hardware.h']]], - ['memctl_5fcromon_1787',['MEMCTL_CROMON',['../sms_2hardware_8h.html#ad729a51cb551d9ee8bfb57c50c9dfd11',1,'hardware.h']]], - ['memctl_5fextoff_1788',['MEMCTL_EXTOFF',['../sms_2hardware_8h.html#ac4c1790dd7397ef1005190dc01b3e808',1,'hardware.h']]], - ['memctl_5fexton_1789',['MEMCTL_EXTON',['../sms_2hardware_8h.html#a41654dd6b42ebdd213edc44494855caf',1,'hardware.h']]], - ['memctl_5fjoyoff_1790',['MEMCTL_JOYOFF',['../sms_2hardware_8h.html#ad8b8ecb5a71567cabc47af43da5dadf1',1,'hardware.h']]], - ['memctl_5fjoyon_1791',['MEMCTL_JOYON',['../sms_2hardware_8h.html#af4607245a47e34bd6af5d2d43d7fb30f',1,'hardware.h']]], - ['memctl_5framoff_1792',['MEMCTL_RAMOFF',['../sms_2hardware_8h.html#adbfef6bdd2da5ba3901e91062390bb68',1,'hardware.h']]], - ['memctl_5framon_1793',['MEMCTL_RAMON',['../sms_2hardware_8h.html#af4522efccaecbb6ce47a337f6dbada24',1,'hardware.h']]], - ['memctl_5fromoff_1794',['MEMCTL_ROMOFF',['../sms_2hardware_8h.html#a25882a19ebfb78cd09158a5f743a6409',1,'hardware.h']]], - ['memctl_5fromon_1795',['MEMCTL_ROMON',['../sms_2hardware_8h.html#a27b47b593a0d021ab342dfc744403b86',1,'hardware.h']]], - ['metaspr_5fitem_1796',['METASPR_ITEM',['../gb_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa',1,'METASPR_ITEM(): metasprites.h'],['../sms_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa',1,'METASPR_ITEM(): metasprites.h']]], - ['metaspr_5fterm_1797',['METASPR_TERM',['../gb_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a',1,'METASPR_TERM(): metasprites.h'],['../sms_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a',1,'METASPR_TERM(): metasprites.h']]], - ['metasprite_5fend_1798',['metasprite_end',['../gb_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a',1,'metasprite_end(): metasprites.h'],['../sms_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a',1,'metasprite_end(): metasprites.h']]], - ['mgb_5ftype_1799',['MGB_TYPE',['../gb_8h.html#ae996ed4fd8bb6b308b9c8708a91df06b',1,'gb.h']]], - ['minwndposx_1800',['MINWNDPOSX',['../gb_8h.html#a5a796bbf3e4347d914b83568350143a9',1,'MINWNDPOSX(): gb.h'],['../sms_8h.html#a5a796bbf3e4347d914b83568350143a9',1,'MINWNDPOSX(): sms.h']]], - ['minwndposy_1801',['MINWNDPOSY',['../gb_8h.html#af3d632ba2d7cef6619df5dfea8730909',1,'MINWNDPOSY(): gb.h'],['../sms_8h.html#af3d632ba2d7cef6619df5dfea8730909',1,'MINWNDPOSY(): sms.h']]] + ['m_5fdrawing_1825',['M_DRAWING',['../gb_8h.html#acc9798fc62b5d626c91c8b0f20b522ff',1,'gb.h']]], + ['m_5ffill_1826',['M_FILL',['../drawing_8h.html#aad3d180e0f12d6a6e5278fe0163f4c3e',1,'drawing.h']]], + ['m_5fno_5finterp_1827',['M_NO_INTERP',['../gb_8h.html#aca2855edd2d28f66be551a0f7ec23f07',1,'M_NO_INTERP(): gb.h'],['../sms_8h.html#aca2855edd2d28f66be551a0f7ec23f07',1,'M_NO_INTERP(): sms.h']]], + ['m_5fno_5fscroll_1828',['M_NO_SCROLL',['../gb_8h.html#a04382de20738146fe873ddfb0585052b',1,'M_NO_SCROLL(): gb.h'],['../sms_8h.html#a04382de20738146fe873ddfb0585052b',1,'M_NO_SCROLL(): sms.h']]], + ['m_5fnofill_1829',['M_NOFILL',['../drawing_8h.html#a91d52443c77ee105bd68cb0b47a8ee49',1,'drawing.h']]], + ['m_5ftext_5finout_1830',['M_TEXT_INOUT',['../gb_8h.html#a908826e7180f94a5988ceb8633313a2e',1,'M_TEXT_INOUT(): gb.h'],['../sms_8h.html#a908826e7180f94a5988ceb8633313a2e',1,'M_TEXT_INOUT(): sms.h']]], + ['m_5ftext_5fout_1831',['M_TEXT_OUT',['../gb_8h.html#af0e30d6af308ffe5a025fbe85da40f6f',1,'M_TEXT_OUT(): gb.h'],['../sms_8h.html#af0e30d6af308ffe5a025fbe85da40f6f',1,'M_TEXT_OUT(): sms.h']]], + ['make_5fbcd_1832',['MAKE_BCD',['../bcd_8h.html#a8a3023920aa103a74c7d59007bcc7b6f',1,'bcd.h']]], + ['max_5fhardware_5fsprites_1833',['MAX_HARDWARE_SPRITES',['../gb_8h.html#a8b77608c87a9aef65a03531482b2163b',1,'MAX_HARDWARE_SPRITES(): gb.h'],['../sms_8h.html#a8b77608c87a9aef65a03531482b2163b',1,'MAX_HARDWARE_SPRITES(): sms.h']]], + ['maxwndposx_1834',['MAXWNDPOSX',['../gb_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5',1,'MAXWNDPOSX(): gb.h'],['../sms_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5',1,'MAXWNDPOSX(): sms.h']]], + ['maxwndposy_1835',['MAXWNDPOSY',['../gb_8h.html#ad57f2f8c54204687f02801d8ab1bd150',1,'MAXWNDPOSY(): gb.h'],['../sms_8h.html#ad57f2f8c54204687f02801d8ab1bd150',1,'MAXWNDPOSY(): sms.h']]], + ['memctl_5fbaseoff_1836',['MEMCTL_BASEOFF',['../sms_2hardware_8h.html#a29d7c3b98f855f88d6bb3f380b301d64',1,'hardware.h']]], + ['memctl_5fbaseon_1837',['MEMCTL_BASEON',['../sms_2hardware_8h.html#a2a98128eb9ca41477c139988da9d803f',1,'hardware.h']]], + ['memctl_5fcromoff_1838',['MEMCTL_CROMOFF',['../sms_2hardware_8h.html#a79ca0cc4a9979b2eeaeda61b043b36ae',1,'hardware.h']]], + ['memctl_5fcromon_1839',['MEMCTL_CROMON',['../sms_2hardware_8h.html#ad729a51cb551d9ee8bfb57c50c9dfd11',1,'hardware.h']]], + ['memctl_5fextoff_1840',['MEMCTL_EXTOFF',['../sms_2hardware_8h.html#ac4c1790dd7397ef1005190dc01b3e808',1,'hardware.h']]], + ['memctl_5fexton_1841',['MEMCTL_EXTON',['../sms_2hardware_8h.html#a41654dd6b42ebdd213edc44494855caf',1,'hardware.h']]], + ['memctl_5fjoyoff_1842',['MEMCTL_JOYOFF',['../sms_2hardware_8h.html#ad8b8ecb5a71567cabc47af43da5dadf1',1,'hardware.h']]], + ['memctl_5fjoyon_1843',['MEMCTL_JOYON',['../sms_2hardware_8h.html#af4607245a47e34bd6af5d2d43d7fb30f',1,'hardware.h']]], + ['memctl_5framoff_1844',['MEMCTL_RAMOFF',['../sms_2hardware_8h.html#adbfef6bdd2da5ba3901e91062390bb68',1,'hardware.h']]], + ['memctl_5framon_1845',['MEMCTL_RAMON',['../sms_2hardware_8h.html#af4522efccaecbb6ce47a337f6dbada24',1,'hardware.h']]], + ['memctl_5fromoff_1846',['MEMCTL_ROMOFF',['../sms_2hardware_8h.html#a25882a19ebfb78cd09158a5f743a6409',1,'hardware.h']]], + ['memctl_5fromon_1847',['MEMCTL_ROMON',['../sms_2hardware_8h.html#a27b47b593a0d021ab342dfc744403b86',1,'hardware.h']]], + ['metaspr_5fitem_1848',['METASPR_ITEM',['../gb_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa',1,'METASPR_ITEM(): metasprites.h'],['../sms_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa',1,'METASPR_ITEM(): metasprites.h']]], + ['metaspr_5fterm_1849',['METASPR_TERM',['../gb_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a',1,'METASPR_TERM(): metasprites.h'],['../sms_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a',1,'METASPR_TERM(): metasprites.h']]], + ['metasprite_5fend_1850',['metasprite_end',['../gb_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a',1,'metasprite_end(): metasprites.h'],['../sms_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a',1,'metasprite_end(): metasprites.h']]], + ['mgb_5ftype_1851',['MGB_TYPE',['../gb_8h.html#ae996ed4fd8bb6b308b9c8708a91df06b',1,'gb.h']]], + ['minwndposx_1852',['MINWNDPOSX',['../gb_8h.html#a5a796bbf3e4347d914b83568350143a9',1,'MINWNDPOSX(): gb.h'],['../sms_8h.html#a5a796bbf3e4347d914b83568350143a9',1,'MINWNDPOSX(): sms.h']]], + ['minwndposy_1853',['MINWNDPOSY',['../gb_8h.html#af3d632ba2d7cef6619df5dfea8730909',1,'MINWNDPOSY(): gb.h'],['../sms_8h.html#af3d632ba2d7cef6619df5dfea8730909',1,'MINWNDPOSY(): sms.h']]] ]; diff --git a/docs/api/search/defines_e.js b/docs/api/search/defines_e.js @@ -1,7 +1,8 @@ var searchData= [ - ['nintendo_1802',['NINTENDO',['../gb_8h.html#a385397587c93683e8e11afb712e2960b',1,'gb.h']]], - ['nonbanked_1803',['NONBANKED',['../asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96',1,'NONBANKED(): types.h'],['../asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96',1,'NONBANKED(): types.h'],['../asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96',1,'NONBANKED(): types.h']]], - ['noreturn_1804',['noreturn',['../stdnoreturn_8h.html#a4a453f3a748e55cbdac6fcc79357cfef',1,'stdnoreturn.h']]], - ['null_1805',['NULL',['../stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4',1,'NULL(): stddef.h'],['../types_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4',1,'NULL(): types.h']]] + ['naked_1854',['NAKED',['../asm_2types_8h.html#a7a18c4884994b9b520ae535b6d9579d3',1,'types.h']]], + ['nintendo_1855',['NINTENDO',['../gb_8h.html#a385397587c93683e8e11afb712e2960b',1,'gb.h']]], + ['nonbanked_1856',['NONBANKED',['../asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96',1,'types.h']]], + ['noreturn_1857',['noreturn',['../stdnoreturn_8h.html#a4a453f3a748e55cbdac6fcc79357cfef',1,'stdnoreturn.h']]], + ['null_1858',['NULL',['../stddef_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4',1,'NULL(): stddef.h'],['../types_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4',1,'NULL(): types.h']]] ]; diff --git a/docs/api/search/defines_f.js b/docs/api/search/defines_f.js @@ -1,23 +1,23 @@ var searchData= [ - ['oamf_5fbank0_1806',['OAMF_BANK0',['../gb_2hardware_8h.html#aade9a193ade9ff22ed6f6263d1a3549b',1,'hardware.h']]], - ['oamf_5fbank1_1807',['OAMF_BANK1',['../gb_2hardware_8h.html#ad195d4be68ff54c3926c431fa5511de5',1,'hardware.h']]], - ['oamf_5fcgb_5fpal0_1808',['OAMF_CGB_PAL0',['../gb_2hardware_8h.html#a4ff8c8a7acb74ba54043596110091605',1,'hardware.h']]], - ['oamf_5fcgb_5fpal1_1809',['OAMF_CGB_PAL1',['../gb_2hardware_8h.html#a9dff52d03755812d3a5ee7ca971c2e83',1,'hardware.h']]], - ['oamf_5fcgb_5fpal2_1810',['OAMF_CGB_PAL2',['../gb_2hardware_8h.html#a74744fb475532fa5d343e0818dcc6f88',1,'hardware.h']]], - ['oamf_5fcgb_5fpal3_1811',['OAMF_CGB_PAL3',['../gb_2hardware_8h.html#a704ab20694793ea87aace8bfc29568bc',1,'hardware.h']]], - ['oamf_5fcgb_5fpal4_1812',['OAMF_CGB_PAL4',['../gb_2hardware_8h.html#a13d5cddfb4a05fa49fc794aeea675c7b',1,'hardware.h']]], - ['oamf_5fcgb_5fpal5_1813',['OAMF_CGB_PAL5',['../gb_2hardware_8h.html#af9284c71b8ebf10ef8b9e12268f2cce3',1,'hardware.h']]], - ['oamf_5fcgb_5fpal6_1814',['OAMF_CGB_PAL6',['../gb_2hardware_8h.html#ad6f5b0d9ae958dee3d6dfa8f4273ff5a',1,'hardware.h']]], - ['oamf_5fcgb_5fpal7_1815',['OAMF_CGB_PAL7',['../gb_2hardware_8h.html#af4b27e8f3c3e14a4f91051fea4c64e4b',1,'hardware.h']]], - ['oamf_5fpal0_1816',['OAMF_PAL0',['../gb_2hardware_8h.html#a22b6b835de9ee737be73c4d252aac87c',1,'hardware.h']]], - ['oamf_5fpal1_1817',['OAMF_PAL1',['../gb_2hardware_8h.html#ad92f3b2a1cc16700a4660c5821bcb15d',1,'hardware.h']]], - ['oamf_5fpalmask_1818',['OAMF_PALMASK',['../gb_2hardware_8h.html#a5dc4d1ee47fe269761fe8fc46d56dabb',1,'hardware.h']]], - ['oamf_5fpri_1819',['OAMF_PRI',['../gb_2hardware_8h.html#a393866ca405b1023eec0e784bb88b026',1,'hardware.h']]], - ['oamf_5fxflip_1820',['OAMF_XFLIP',['../gb_2hardware_8h.html#a3cd1c1a1291d43dd43b181ff07f8b0a7',1,'hardware.h']]], - ['oamf_5fyflip_1821',['OAMF_YFLIP',['../gb_2hardware_8h.html#a820677d593625e8716c3b78f36feb805',1,'hardware.h']]], - ['ocpsf_5fautoinc_1822',['OCPSF_AUTOINC',['../gb_2hardware_8h.html#a0a6cc6543aa06c12b87e235c3d5da4ff',1,'hardware.h']]], - ['offsetof_1823',['offsetof',['../stddef_8h.html#ad89ebe5fe5ad08c683f0871118ea8e2f',1,'stddef.h']]], - ['oldcall_1824',['OLDCALL',['../asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc',1,'types.h']]], - ['or_1825',['OR',['../drawing_8h.html#a3363ca4d6d3cc0230b2804280591c991',1,'drawing.h']]] + ['oamf_5fbank0_1859',['OAMF_BANK0',['../gb_2hardware_8h.html#aade9a193ade9ff22ed6f6263d1a3549b',1,'hardware.h']]], + ['oamf_5fbank1_1860',['OAMF_BANK1',['../gb_2hardware_8h.html#ad195d4be68ff54c3926c431fa5511de5',1,'hardware.h']]], + ['oamf_5fcgb_5fpal0_1861',['OAMF_CGB_PAL0',['../gb_2hardware_8h.html#a4ff8c8a7acb74ba54043596110091605',1,'hardware.h']]], + ['oamf_5fcgb_5fpal1_1862',['OAMF_CGB_PAL1',['../gb_2hardware_8h.html#a9dff52d03755812d3a5ee7ca971c2e83',1,'hardware.h']]], + ['oamf_5fcgb_5fpal2_1863',['OAMF_CGB_PAL2',['../gb_2hardware_8h.html#a74744fb475532fa5d343e0818dcc6f88',1,'hardware.h']]], + ['oamf_5fcgb_5fpal3_1864',['OAMF_CGB_PAL3',['../gb_2hardware_8h.html#a704ab20694793ea87aace8bfc29568bc',1,'hardware.h']]], + ['oamf_5fcgb_5fpal4_1865',['OAMF_CGB_PAL4',['../gb_2hardware_8h.html#a13d5cddfb4a05fa49fc794aeea675c7b',1,'hardware.h']]], + ['oamf_5fcgb_5fpal5_1866',['OAMF_CGB_PAL5',['../gb_2hardware_8h.html#af9284c71b8ebf10ef8b9e12268f2cce3',1,'hardware.h']]], + ['oamf_5fcgb_5fpal6_1867',['OAMF_CGB_PAL6',['../gb_2hardware_8h.html#ad6f5b0d9ae958dee3d6dfa8f4273ff5a',1,'hardware.h']]], + ['oamf_5fcgb_5fpal7_1868',['OAMF_CGB_PAL7',['../gb_2hardware_8h.html#af4b27e8f3c3e14a4f91051fea4c64e4b',1,'hardware.h']]], + ['oamf_5fpal0_1869',['OAMF_PAL0',['../gb_2hardware_8h.html#a22b6b835de9ee737be73c4d252aac87c',1,'hardware.h']]], + ['oamf_5fpal1_1870',['OAMF_PAL1',['../gb_2hardware_8h.html#ad92f3b2a1cc16700a4660c5821bcb15d',1,'hardware.h']]], + ['oamf_5fpalmask_1871',['OAMF_PALMASK',['../gb_2hardware_8h.html#a5dc4d1ee47fe269761fe8fc46d56dabb',1,'hardware.h']]], + ['oamf_5fpri_1872',['OAMF_PRI',['../gb_2hardware_8h.html#a393866ca405b1023eec0e784bb88b026',1,'hardware.h']]], + ['oamf_5fxflip_1873',['OAMF_XFLIP',['../gb_2hardware_8h.html#a3cd1c1a1291d43dd43b181ff07f8b0a7',1,'hardware.h']]], + ['oamf_5fyflip_1874',['OAMF_YFLIP',['../gb_2hardware_8h.html#a820677d593625e8716c3b78f36feb805',1,'hardware.h']]], + ['ocpsf_5fautoinc_1875',['OCPSF_AUTOINC',['../gb_2hardware_8h.html#a0a6cc6543aa06c12b87e235c3d5da4ff',1,'hardware.h']]], + ['offsetof_1876',['offsetof',['../stddef_8h.html#ad89ebe5fe5ad08c683f0871118ea8e2f',1,'stddef.h']]], + ['oldcall_1877',['OLDCALL',['../asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc',1,'types.h']]], + ['or_1878',['OR',['../drawing_8h.html#a3363ca4d6d3cc0230b2804280591c991',1,'drawing.h']]] ]; diff --git a/docs/api/search/files_0.js b/docs/api/search/files_0.js @@ -1,13 +1,13 @@ var searchData= [ - ['01_5fgetting_5fstarted_2emd_1084',['01_getting_started.md',['../01__getting__started_8md.html',1,'']]], - ['02_5flinks_5fand_5ftools_2emd_1085',['02_links_and_tools.md',['../02__links__and__tools_8md.html',1,'']]], - ['03_5fusing_5fgbdk_2emd_1086',['03_using_gbdk.md',['../03__using__gbdk_8md.html',1,'']]], - ['04_5fcoding_5fguidelines_2emd_1087',['04_coding_guidelines.md',['../04__coding__guidelines_8md.html',1,'']]], - ['05_5fbanking_5fmbcs_2emd_1088',['05_banking_mbcs.md',['../05__banking__mbcs_8md.html',1,'']]], - ['06_5ftoolchain_2emd_1089',['06_toolchain.md',['../06__toolchain_8md.html',1,'']]], - ['06b_5fsupported_5fconsoles_2emd_1090',['06b_supported_consoles.md',['../06b__supported__consoles_8md.html',1,'']]], - ['07_5fsample_5fprograms_2emd_1091',['07_sample_programs.md',['../07__sample__programs_8md.html',1,'']]], - ['08_5ffaq_2emd_1092',['08_faq.md',['../08__faq_8md.html',1,'']]], - ['09_5fmigrating_5fnew_5fversions_2emd_1093',['09_migrating_new_versions.md',['../09__migrating__new__versions_8md.html',1,'']]] + ['01_5fgetting_5fstarted_2emd_1117',['01_getting_started.md',['../01__getting__started_8md.html',1,'']]], + ['02_5flinks_5fand_5ftools_2emd_1118',['02_links_and_tools.md',['../02__links__and__tools_8md.html',1,'']]], + ['03_5fusing_5fgbdk_2emd_1119',['03_using_gbdk.md',['../03__using__gbdk_8md.html',1,'']]], + ['04_5fcoding_5fguidelines_2emd_1120',['04_coding_guidelines.md',['../04__coding__guidelines_8md.html',1,'']]], + ['05_5fbanking_5fmbcs_2emd_1121',['05_banking_mbcs.md',['../05__banking__mbcs_8md.html',1,'']]], + ['06_5ftoolchain_2emd_1122',['06_toolchain.md',['../06__toolchain_8md.html',1,'']]], + ['06b_5fsupported_5fconsoles_2emd_1123',['06b_supported_consoles.md',['../06b__supported__consoles_8md.html',1,'']]], + ['07_5fsample_5fprograms_2emd_1124',['07_sample_programs.md',['../07__sample__programs_8md.html',1,'']]], + ['08_5ffaq_2emd_1125',['08_faq.md',['../08__faq_8md.html',1,'']]], + ['09_5fmigrating_5fnew_5fversions_2emd_1126',['09_migrating_new_versions.md',['../09__migrating__new__versions_8md.html',1,'']]] ]; diff --git a/docs/api/search/files_1.js b/docs/api/search/files_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['10_5frelease_5fnotes_2emd_1094',['10_release_notes.md',['../10__release__notes_8md.html',1,'']]] + ['10_5frelease_5fnotes_2emd_1127',['10_release_notes.md',['../10__release__notes_8md.html',1,'']]] ]; diff --git a/docs/api/search/files_10.js b/docs/api/search/files_10.js @@ -1,6 +1,15 @@ var searchData= [ - ['time_2eh_1131',['time.h',['../time_8h.html',1,'']]], - ['typeof_2eh_1132',['typeof.h',['../typeof_8h.html',1,'']]], - ['types_2eh_1133',['types.h',['../asm_2gbz80_2types_8h.html',1,'(Global Namespace)'],['../asm_2types_8h.html',1,'(Global Namespace)'],['../asm_2z80_2types_8h.html',1,'(Global Namespace)'],['../types_8h.html',1,'(Global Namespace)']]] + ['setjmp_2eh_1153',['setjmp.h',['../setjmp_8h.html',1,'']]], + ['sgb_2eh_1154',['sgb.h',['../sgb_8h.html',1,'']]], + ['sms_2eh_1155',['sms.h',['../sms_8h.html',1,'']]], + ['stdarg_2eh_1156',['stdarg.h',['../asm_2gbz80_2stdarg_8h.html',1,'(Global Namespace)'],['../asm_2z80_2stdarg_8h.html',1,'(Global Namespace)'],['../stdarg_8h.html',1,'(Global Namespace)']]], + ['stdatomic_2eh_1157',['stdatomic.h',['../stdatomic_8h.html',1,'']]], + ['stdbool_2eh_1158',['stdbool.h',['../stdbool_8h.html',1,'']]], + ['stddef_2eh_1159',['stddef.h',['../stddef_8h.html',1,'']]], + ['stdint_2eh_1160',['stdint.h',['../stdint_8h.html',1,'']]], + ['stdio_2eh_1161',['stdio.h',['../stdio_8h.html',1,'']]], + ['stdlib_2eh_1162',['stdlib.h',['../stdlib_8h.html',1,'']]], + ['stdnoreturn_2eh_1163',['stdnoreturn.h',['../stdnoreturn_8h.html',1,'']]], + ['string_2eh_1164',['string.h',['../asm_2gbz80_2string_8h.html',1,'(Global Namespace)'],['../asm_2z80_2string_8h.html',1,'(Global Namespace)'],['../string_8h.html',1,'(Global Namespace)']]] ]; diff --git a/docs/api/search/files_11.js b/docs/api/search/files_11.js @@ -1,4 +1,6 @@ var searchData= [ - ['version_2eh_1134',['version.h',['../version_8h.html',1,'']]] + ['time_2eh_1165',['time.h',['../time_8h.html',1,'']]], + ['typeof_2eh_1166',['typeof.h',['../typeof_8h.html',1,'']]], + ['types_2eh_1167',['types.h',['../asm_2gbz80_2types_8h.html',1,'(Global Namespace)'],['../asm_2types_8h.html',1,'(Global Namespace)'],['../asm_2z80_2types_8h.html',1,'(Global Namespace)'],['../types_8h.html',1,'(Global Namespace)']]] ]; diff --git a/docs/api/search/files_12.html b/docs/api/search/files_12.html @@ -0,0 +1,36 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.20"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="files_12.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +createResults(); +/* @license-end */ +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +window.addEventListener("message", function(event) { + if (event.data == "take_focus") { + var elem = searchResults.NavNext(0); + if (elem) elem.focus(); + } +}); +/* @license-end */ +--></script> +</div> +</body> +</html> diff --git a/docs/api/search/files_12.js b/docs/api/search/files_12.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['version_2eh_1168',['version.h',['../version_8h.html',1,'']]] +]; diff --git a/docs/api/search/files_2.js b/docs/api/search/files_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['20_5ftoolchain_5fsettings_2emd_1095',['20_toolchain_settings.md',['../20__toolchain__settings_8md.html',1,'']]] + ['20_5ftoolchain_5fsettings_2emd_1128',['20_toolchain_settings.md',['../20__toolchain__settings_8md.html',1,'']]] ]; diff --git a/docs/api/search/files_3.js b/docs/api/search/files_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['assert_2eh_1096',['assert.h',['../assert_8h.html',1,'']]] + ['assert_2eh_1129',['assert.h',['../assert_8h.html',1,'']]] ]; diff --git a/docs/api/search/files_4.js b/docs/api/search/files_4.js @@ -1,5 +1,5 @@ var searchData= [ - ['bcd_2eh_1097',['bcd.h',['../bcd_8h.html',1,'(Global Namespace)'],['../k_2bcd_8h.html',1,'(Global Namespace)']]], - ['bgb_5femu_2eh_1098',['bgb_emu.h',['../bgb__emu_8h.html',1,'']]] + ['bcd_2eh_1130',['bcd.h',['../bcd_8h.html',1,'(Global Namespace)'],['../k_2bcd_8h.html',1,'(Global Namespace)']]], + ['bgb_5femu_2eh_1131',['bgb_emu.h',['../bgb__emu_8h.html',1,'']]] ]; diff --git a/docs/api/search/files_5.js b/docs/api/search/files_5.js @@ -1,7 +1,7 @@ var searchData= [ - ['cgb_2eh_1099',['cgb.h',['../cgb_8h.html',1,'']]], - ['console_2eh_1100',['console.h',['../console_8h.html',1,'']]], - ['crash_5fhandler_2eh_1101',['crash_handler.h',['../crash__handler_8h.html',1,'']]], - ['ctype_2eh_1102',['ctype.h',['../ctype_8h.html',1,'']]] + ['cgb_2eh_1132',['cgb.h',['../cgb_8h.html',1,'']]], + ['console_2eh_1133',['console.h',['../console_8h.html',1,'']]], + ['crash_5fhandler_2eh_1134',['crash_handler.h',['../crash__handler_8h.html',1,'']]], + ['ctype_2eh_1135',['ctype.h',['../ctype_8h.html',1,'']]] ]; diff --git a/docs/api/search/files_6.js b/docs/api/search/files_6.js @@ -1,5 +1,5 @@ var searchData= [ - ['docs_5findex_2emd_1103',['docs_index.md',['../docs__index_8md.html',1,'']]], - ['drawing_2eh_1104',['drawing.h',['../drawing_8h.html',1,'']]] + ['docs_5findex_2emd_1136',['docs_index.md',['../docs__index_8md.html',1,'']]], + ['drawing_2eh_1137',['drawing.h',['../drawing_8h.html',1,'']]] ]; diff --git a/docs/api/search/files_7.js b/docs/api/search/files_7.js @@ -1,5 +1,4 @@ var searchData= [ - ['far_5fptr_2eh_1105',['far_ptr.h',['../far__ptr_8h.html',1,'']]], - ['font_2eh_1106',['font.h',['../font_8h.html',1,'']]] + ['emu_5fdebug_2eh_1138',['emu_debug.h',['../emu__debug_8h.html',1,'']]] ]; diff --git a/docs/api/search/files_8.js b/docs/api/search/files_8.js @@ -1,6 +1,5 @@ var searchData= [ - ['gb_2eh_1107',['gb.h',['../gb_8h.html',1,'']]], - ['gbdecompress_2eh_1108',['gbdecompress.h',['../gb_2gbdecompress_8h.html',1,'(Global Namespace)'],['../gbdk_2gbdecompress_8h.html',1,'(Global Namespace)'],['../sms_2gbdecompress_8h.html',1,'(Global Namespace)']]], - ['gbdk_2dlib_2eh_1109',['gbdk-lib.h',['../gbdk-lib_8h.html',1,'']]] + ['far_5fptr_2eh_1139',['far_ptr.h',['../far__ptr_8h.html',1,'']]], + ['font_2eh_1140',['font.h',['../font_8h.html',1,'']]] ]; diff --git a/docs/api/search/files_9.js b/docs/api/search/files_9.js @@ -1,4 +1,6 @@ var searchData= [ - ['hardware_2eh_1110',['hardware.h',['../gb_2hardware_8h.html',1,'(Global Namespace)'],['../sms_2hardware_8h.html',1,'(Global Namespace)']]] + ['gb_2eh_1141',['gb.h',['../gb_8h.html',1,'']]], + ['gbdecompress_2eh_1142',['gbdecompress.h',['../gb_2gbdecompress_8h.html',1,'(Global Namespace)'],['../gbdk_2gbdecompress_8h.html',1,'(Global Namespace)'],['../sms_2gbdecompress_8h.html',1,'(Global Namespace)']]], + ['gbdk_2dlib_2eh_1143',['gbdk-lib.h',['../gbdk-lib_8h.html',1,'']]] ]; diff --git a/docs/api/search/files_a.js b/docs/api/search/files_a.js @@ -1,5 +1,4 @@ var searchData= [ - ['incbin_2eh_1111',['incbin.h',['../incbin_8h.html',1,'']]], - ['isr_2eh_1112',['isr.h',['../isr_8h.html',1,'']]] + ['hardware_2eh_1144',['hardware.h',['../gb_2hardware_8h.html',1,'(Global Namespace)'],['../sms_2hardware_8h.html',1,'(Global Namespace)']]] ]; diff --git a/docs/api/search/files_b.js b/docs/api/search/files_b.js @@ -1,4 +1,5 @@ var searchData= [ - ['limits_2eh_1113',['limits.h',['../limits_8h.html',1,'']]] + ['incbin_2eh_1145',['incbin.h',['../incbin_8h.html',1,'']]], + ['isr_2eh_1146',['isr.h',['../isr_8h.html',1,'']]] ]; diff --git a/docs/api/search/files_c.js b/docs/api/search/files_c.js @@ -1,4 +1,4 @@ var searchData= [ - ['metasprites_2eh_1114',['metasprites.h',['../gb_2metasprites_8h.html',1,'(Global Namespace)'],['../gbdk_2metasprites_8h.html',1,'(Global Namespace)'],['../sms_2metasprites_8h.html',1,'(Global Namespace)']]] + ['limits_2eh_1147',['limits.h',['../limits_8h.html',1,'']]] ]; diff --git a/docs/api/search/files_d.js b/docs/api/search/files_d.js @@ -1,5 +1,4 @@ var searchData= [ - ['platform_2eh_1115',['platform.h',['../platform_8h.html',1,'']]], - ['provides_2eh_1116',['provides.h',['../gbz80_2provides_8h.html',1,'(Global Namespace)'],['../z80_2provides_8h.html',1,'(Global Namespace)']]] + ['metasprites_2eh_1148',['metasprites.h',['../gb_2metasprites_8h.html',1,'(Global Namespace)'],['../gbdk_2metasprites_8h.html',1,'(Global Namespace)'],['../sms_2metasprites_8h.html',1,'(Global Namespace)']]] ]; diff --git a/docs/api/search/files_e.js b/docs/api/search/files_e.js @@ -1,5 +1,5 @@ var searchData= [ - ['rand_2eh_1117',['rand.h',['../rand_8h.html',1,'']]], - ['rledecompress_2eh_1118',['rledecompress.h',['../rledecompress_8h.html',1,'']]] + ['platform_2eh_1149',['platform.h',['../platform_8h.html',1,'']]], + ['provides_2eh_1150',['provides.h',['../gbz80_2provides_8h.html',1,'(Global Namespace)'],['../z80_2provides_8h.html',1,'(Global Namespace)']]] ]; diff --git a/docs/api/search/files_f.js b/docs/api/search/files_f.js @@ -1,15 +1,5 @@ var searchData= [ - ['setjmp_2eh_1119',['setjmp.h',['../setjmp_8h.html',1,'']]], - ['sgb_2eh_1120',['sgb.h',['../sgb_8h.html',1,'']]], - ['sms_2eh_1121',['sms.h',['../sms_8h.html',1,'']]], - ['stdarg_2eh_1122',['stdarg.h',['../asm_2gbz80_2stdarg_8h.html',1,'(Global Namespace)'],['../asm_2z80_2stdarg_8h.html',1,'(Global Namespace)'],['../stdarg_8h.html',1,'(Global Namespace)']]], - ['stdatomic_2eh_1123',['stdatomic.h',['../stdatomic_8h.html',1,'']]], - ['stdbool_2eh_1124',['stdbool.h',['../stdbool_8h.html',1,'']]], - ['stddef_2eh_1125',['stddef.h',['../stddef_8h.html',1,'']]], - ['stdint_2eh_1126',['stdint.h',['../stdint_8h.html',1,'']]], - ['stdio_2eh_1127',['stdio.h',['../stdio_8h.html',1,'']]], - ['stdlib_2eh_1128',['stdlib.h',['../stdlib_8h.html',1,'']]], - ['stdnoreturn_2eh_1129',['stdnoreturn.h',['../stdnoreturn_8h.html',1,'']]], - ['string_2eh_1130',['string.h',['../asm_2gbz80_2string_8h.html',1,'(Global Namespace)'],['../asm_2z80_2string_8h.html',1,'(Global Namespace)'],['../string_8h.html',1,'(Global Namespace)']]] + ['rand_2eh_1151',['rand.h',['../rand_8h.html',1,'']]], + ['rledecompress_2eh_1152',['rledecompress.h',['../rledecompress_8h.html',1,'']]] ]; diff --git a/docs/api/search/functions_0.js b/docs/api/search/functions_0.js @@ -1,7 +1,7 @@ var searchData= [ - ['_5f_5fassert_1135',['__assert',['../assert_8h.html#ad21a069a92c53643b2e3eaaa73a742fd',1,'assert.h']]], - ['_5f_5fcall_5f_5fbanked_1136',['__call__banked',['../far__ptr_8h.html#aa45a2312a2584abb8733a052f66b4a90',1,'far_ptr.h']]], - ['_5f_5fhandlecrash_1137',['__HandleCrash',['../crash__handler_8h.html#a95aa98ab16e49eac55dcdfe42f4610cc',1,'crash_handler.h']]], - ['_5f_5fsetjmp_1138',['__setjmp',['../setjmp_8h.html#af04f5d4b814aaac060bca4e9dea7c2a1',1,'setjmp.h']]] + ['_5f_5fassert_1169',['__assert',['../assert_8h.html#ad21a069a92c53643b2e3eaaa73a742fd',1,'assert.h']]], + ['_5f_5fcall_5f_5fbanked_1170',['__call__banked',['../far__ptr_8h.html#aa45a2312a2584abb8733a052f66b4a90',1,'far_ptr.h']]], + ['_5f_5fhandlecrash_1171',['__HandleCrash',['../crash__handler_8h.html#a95aa98ab16e49eac55dcdfe42f4610cc',1,'crash_handler.h']]], + ['_5f_5fsetjmp_1172',['__setjmp',['../setjmp_8h.html#af04f5d4b814aaac060bca4e9dea7c2a1',1,'setjmp.h']]] ]; diff --git a/docs/api/search/functions_1.js b/docs/api/search/functions_1.js @@ -1,14 +1,15 @@ var searchData= [ - ['abs_1139',['abs',['../stdlib_8h.html#a3bb2d2cacc5535004757ebbc640079fb',1,'stdlib.h']]], - ['add_5fjoy_1140',['add_JOY',['../gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30',1,'add_JOY(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a049c5d8c901a23cccf95b02a911f9212',1,'add_JOY(int_handler h) __z88dk_fastcall: sms.h']]], - ['add_5flcd_1141',['add_LCD',['../gb_8h.html#a9f9f77105099a34556247d5bb03368d1',1,'add_LCD(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a99f5c1698cb6d3715690481d4e4b6da1',1,'add_LCD(int_handler h) __z88dk_fastcall __preserves_regs(b: sms.h']]], - ['add_5fsio_1142',['add_SIO',['../gb_8h.html#aa82422752016328ed0765879e286019f',1,'add_SIO(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#adcbf35ca19c093d4565729fa7e868f5c',1,'add_SIO(int_handler h) __z88dk_fastcall: sms.h']]], - ['add_5ftim_1143',['add_TIM',['../gb_8h.html#a028d1a2e820951bb4f103d6469975ffb',1,'add_TIM(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a17416b1bb39989e82948e3a97f23187f',1,'add_TIM(int_handler h) __z88dk_fastcall: sms.h']]], - ['add_5fvbl_1144',['add_VBL',['../gb_8h.html#a0d29659d08708143dd8bc720278e06b5',1,'add_VBL(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6',1,'add_VBL(int_handler h) __z88dk_fastcall __preserves_regs(d: sms.h']]], - ['arand_1145',['arand',['../rand_8h.html#ac3154758c17a5960a730a0a7c0fa7b0b',1,'rand.h']]], - ['atoi_1146',['atoi',['../stdlib_8h.html#a30670a60464f77af17dfb353353d6df8',1,'stdlib.h']]], - ['atol_1147',['atol',['../stdlib_8h.html#a825c37450147a643edbcb1a435518307',1,'stdlib.h']]], - ['atomic_5fflag_5fclear_1148',['atomic_flag_clear',['../stdatomic_8h.html#a281cc77096d886b0cf2c6ab7dfbe900c',1,'stdatomic.h']]], - ['atomic_5fflag_5ftest_5fand_5fset_1149',['atomic_flag_test_and_set',['../stdatomic_8h.html#ad301ff71d8b03b0fa2a9207ed00c4ded',1,'stdatomic.h']]] + ['abs_1173',['abs',['../stdlib_8h.html#a3bb2d2cacc5535004757ebbc640079fb',1,'stdlib.h']]], + ['add_5fjoy_1174',['add_JOY',['../gb_8h.html#aa2f0235e78da2d1d94d3628d7a1afc30',1,'add_JOY(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a48163816121cd669526817d3e6266fd9',1,'add_JOY(int_handler h) Z88DK_FASTCALL: sms.h']]], + ['add_5flcd_1175',['add_LCD',['../gb_8h.html#a9f9f77105099a34556247d5bb03368d1',1,'add_LCD(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a51add93356a25c71e8c37a73c9065c9d',1,'add_LCD(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(b: sms.h']]], + ['add_5flow_5fpriority_5ftim_1176',['add_low_priority_TIM',['../gb_8h.html#a970f18857533e062f4780f6e1c407d69',1,'gb.h']]], + ['add_5fsio_1177',['add_SIO',['../gb_8h.html#aa82422752016328ed0765879e286019f',1,'add_SIO(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a3372d61a07e0466bdb909a27f3aaaca9',1,'add_SIO(int_handler h) Z88DK_FASTCALL: sms.h']]], + ['add_5ftim_1178',['add_TIM',['../gb_8h.html#a028d1a2e820951bb4f103d6469975ffb',1,'add_TIM(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a6c66a583a8f0744e3985c89725e3dc10',1,'add_TIM(int_handler h) Z88DK_FASTCALL: sms.h']]], + ['add_5fvbl_1179',['add_VBL',['../gb_8h.html#a0d29659d08708143dd8bc720278e06b5',1,'add_VBL(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#ae59628e2237f301df1341e22bfc8296e',1,'add_VBL(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(d: sms.h']]], + ['arand_1180',['arand',['../rand_8h.html#a67415330a1c7984e4537dac753306804',1,'rand.h']]], + ['atoi_1181',['atoi',['../stdlib_8h.html#a30670a60464f77af17dfb353353d6df8',1,'stdlib.h']]], + ['atol_1182',['atol',['../stdlib_8h.html#a825c37450147a643edbcb1a435518307',1,'stdlib.h']]], + ['atomic_5fflag_5fclear_1183',['atomic_flag_clear',['../stdatomic_8h.html#a281cc77096d886b0cf2c6ab7dfbe900c',1,'stdatomic.h']]], + ['atomic_5fflag_5ftest_5fand_5fset_1184',['atomic_flag_test_and_set',['../stdatomic_8h.html#ad301ff71d8b03b0fa2a9207ed00c4ded',1,'stdatomic.h']]] ]; diff --git a/docs/api/search/functions_10.js b/docs/api/search/functions_10.js @@ -1,17 +1,17 @@ var searchData= [ - ['rand_1251',['rand',['../rand_8h.html#ad81c61515217f062f5872031a7761fef',1,'rand.h']]], - ['randw_1252',['randw',['../rand_8h.html#ac659150eb39aae2f523bef6554b19b77',1,'rand.h']]], - ['realloc_1253',['realloc',['../stdlib_8h.html#a1a6b5e8d2f1c37e5b43e4345586075be',1,'stdlib.h']]], - ['receive_5fbyte_1254',['receive_byte',['../gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7',1,'gb.h']]], - ['refresh_5foam_1255',['refresh_OAM',['../gb_8h.html#a7542d00af674e3c58b6c9887ab01919f',1,'refresh_OAM(): gb.h'],['../sms_8h.html#a7542d00af674e3c58b6c9887ab01919f',1,'refresh_OAM(): sms.h']]], - ['remove_5fjoy_1256',['remove_JOY',['../gb_8h.html#a4a3e87e0917d5efb6bc7c94e9754fcd0',1,'remove_JOY(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a10fc1ec5a17a7d25d95241db0f458eb9',1,'remove_JOY(int_handler h) __z88dk_fastcall: sms.h']]], - ['remove_5flcd_1257',['remove_LCD',['../gb_8h.html#a32683767caa2a263a1f494b3605786e7',1,'remove_LCD(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a0bd9fc648e26b8d494d082343f19d9ad',1,'remove_LCD(int_handler h) __z88dk_fastcall __preserves_regs(b: sms.h']]], - ['remove_5fsio_1258',['remove_SIO',['../gb_8h.html#a5b821b31215361265d8b7894a9ae7118',1,'remove_SIO(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#ab052e48d56856c376379c3a9cc686c76',1,'remove_SIO(int_handler h) __z88dk_fastcall: sms.h']]], - ['remove_5ftim_1259',['remove_TIM',['../gb_8h.html#a142f6c7755fce8b1148faf658d8ec147',1,'remove_TIM(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#afe6f5ff8fbb632868cb41f2a4c5995ae',1,'remove_TIM(int_handler h) __z88dk_fastcall: sms.h']]], - ['remove_5fvbl_1260',['remove_VBL',['../gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386',1,'remove_VBL(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a9eeb134cad80f309ce86ab101a9e0026',1,'remove_VBL(int_handler h) __z88dk_fastcall __preserves_regs(iyh: sms.h']]], - ['reset_1261',['reset',['../gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55',1,'gb.h']]], - ['reverse_1262',['reverse',['../asm_2gbz80_2string_8h.html#a31e56ae6ad0e9bd961633507ec1aef6c',1,'reverse(char *s) OLDCALL __preserves_regs(b: string.h'],['../asm_2z80_2string_8h.html#a81863156a28fd2eefeee6859d768bdb1',1,'reverse(char *s) NONBANKED: string.h']]], - ['rle_5fdecompress_1263',['rle_decompress',['../rledecompress_8h.html#ad60bf95ddad142d8d81e5e1f0a0bb6e0',1,'rledecompress.h']]], - ['rle_5finit_1264',['rle_init',['../rledecompress_8h.html#a95560a74a89bab26cb6265dcc2bf54f6',1,'rledecompress.h']]] + ['rand_1287',['rand',['../rand_8h.html#a21e0cee33278952c044f27d02c0b0d1a',1,'rand.h']]], + ['randw_1288',['randw',['../rand_8h.html#ac659150eb39aae2f523bef6554b19b77',1,'rand.h']]], + ['realloc_1289',['realloc',['../stdlib_8h.html#a1a6b5e8d2f1c37e5b43e4345586075be',1,'stdlib.h']]], + ['receive_5fbyte_1290',['receive_byte',['../gb_8h.html#a9a7fd7be44bb12bc85a144b732ce02f7',1,'gb.h']]], + ['refresh_5foam_1291',['refresh_OAM',['../gb_8h.html#a2550e7b6b9fd7e1fc495872502311dbb',1,'refresh_OAM() PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a7542d00af674e3c58b6c9887ab01919f',1,'refresh_OAM(): sms.h']]], + ['remove_5fjoy_1292',['remove_JOY',['../gb_8h.html#a4a3e87e0917d5efb6bc7c94e9754fcd0',1,'remove_JOY(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a35a3ff12ab34534b763517576afe38a6',1,'remove_JOY(int_handler h) Z88DK_FASTCALL: sms.h']]], + ['remove_5flcd_1293',['remove_LCD',['../gb_8h.html#a32683767caa2a263a1f494b3605786e7',1,'remove_LCD(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#aa8962b27b960bb0c8d3bb899246c690c',1,'remove_LCD(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(b: sms.h']]], + ['remove_5fsio_1294',['remove_SIO',['../gb_8h.html#a5b821b31215361265d8b7894a9ae7118',1,'remove_SIO(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a98de9141f407585801fcbf55bf6dcc4c',1,'remove_SIO(int_handler h) Z88DK_FASTCALL: sms.h']]], + ['remove_5ftim_1295',['remove_TIM',['../gb_8h.html#a142f6c7755fce8b1148faf658d8ec147',1,'remove_TIM(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a98785a1b0ddc91cd8e8c8fab8de1de20',1,'remove_TIM(int_handler h) Z88DK_FASTCALL: sms.h']]], + ['remove_5fvbl_1296',['remove_VBL',['../gb_8h.html#ad43fdfdb1e157b141f3fc48b78bf4386',1,'remove_VBL(int_handler h) OLDCALL: gb.h'],['../sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0',1,'remove_VBL(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(iyh: sms.h']]], + ['reset_1297',['reset',['../gb_8h.html#ad20897c5c8bd47f5d4005989bead0e55',1,'gb.h']]], + ['reverse_1298',['reverse',['../asm_2gbz80_2string_8h.html#a476b2b37367c65c6cb36037bfc16b19f',1,'reverse(char *s) OLDCALL PRESERVES_REGS(b: string.h'],['../asm_2z80_2string_8h.html#a81863156a28fd2eefeee6859d768bdb1',1,'reverse(char *s) NONBANKED: string.h']]], + ['rle_5fdecompress_1299',['rle_decompress',['../rledecompress_8h.html#ad60bf95ddad142d8d81e5e1f0a0bb6e0',1,'rledecompress.h']]], + ['rle_5finit_1300',['rle_init',['../rledecompress_8h.html#a95560a74a89bab26cb6265dcc2bf54f6',1,'rledecompress.h']]] ]; diff --git a/docs/api/search/functions_11.js b/docs/api/search/functions_11.js @@ -1,62 +1,66 @@ var searchData= [ - ['scroll_5fbkg_1265',['scroll_bkg',['../gb_8h.html#a1f583f7a880daa6145ca78b086a209d1',1,'scroll_bkg(int8_t x, int8_t y): gb.h'],['../sms_8h.html#a1f583f7a880daa6145ca78b086a209d1',1,'scroll_bkg(int8_t x, int8_t y): sms.h']]], - ['scroll_5fsprite_1266',['scroll_sprite',['../gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe',1,'scroll_sprite(uint8_t nb, int8_t x, int8_t y): gb.h'],['../sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe',1,'scroll_sprite(uint8_t nb, int8_t x, int8_t y): sms.h']]], - ['scroll_5fwin_1267',['scroll_win',['../gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044',1,'gb.h']]], - ['send_5fbyte_1268',['send_byte',['../gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964',1,'gb.h']]], - ['set_5f1bpp_5fcolors_1269',['set_1bpp_colors',['../gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad',1,'set_1bpp_colors(uint8_t fgcolor, uint8_t bgcolor): gb.h'],['../sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad',1,'set_1bpp_colors(uint8_t fgcolor, uint8_t bgcolor): sms.h']]], - ['set_5f1bpp_5fcolors_5fex_1270',['set_1bpp_colors_ex',['../gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c',1,'gb.h']]], - ['set_5f2bpp_5fpalette_1271',['set_2bpp_palette',['../gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84',1,'set_2bpp_palette(uint16_t palette): gb.h'],['../sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84',1,'set_2bpp_palette(uint16_t palette): sms.h']]], - ['set_5fattributed_5ftile_5fxy_1272',['set_attributed_tile_xy',['../sms_8h.html#a968487c6f70c9e15de7af0efc0de0548',1,'sms.h']]], - ['set_5fbkg_5f1bpp_5fdata_1273',['set_bkg_1bpp_data',['../gb_8h.html#a113055d93ba40767b676f172aa5cc996',1,'set_bkg_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04',1,'set_bkg_1bpp_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], - ['set_5fbkg_5f2bpp_5fdata_1274',['set_bkg_2bpp_data',['../sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023',1,'sms.h']]], - ['set_5fbkg_5f4bpp_5fdata_1275',['set_bkg_4bpp_data',['../sms_8h.html#aeff13dca11be49e8c159820c616016ec',1,'sms.h']]], - ['set_5fbkg_5fdata_1276',['set_bkg_data',['../gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07',1,'set_bkg_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a8130306da1177f4fef89e699f8e2add4',1,'set_bkg_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], - ['set_5fbkg_5fpalette_1277',['set_bkg_palette',['../cgb_8h.html#aa8851ca1f515ca55cbf9f6ff53b08e8a',1,'cgb.h']]], - ['set_5fbkg_5fpalette_5fentry_1278',['set_bkg_palette_entry',['../cgb_8h.html#aa8881ff123f364f2e7d1e88c18f9fbca',1,'cgb.h']]], - ['set_5fbkg_5fsubmap_1279',['set_bkg_submap',['../gb_8h.html#adb21d1c7d533a7133bab36a845489780',1,'set_bkg_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) OLDCALL: sms.h'],['../sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298',1,'set_bkg_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w): sms.h']]], - ['set_5fbkg_5ftile_5fxy_1280',['set_bkg_tile_xy',['../gb_8h.html#afdacbb553ea16fd0a3a96698be7668f8',1,'gb.h']]], - ['set_5fbkg_5ftiles_1281',['set_bkg_tiles',['../gb_8h.html#a45cb12c6a672558e9a3792d11951707c',1,'gb.h']]], - ['set_5fdata_1282',['set_data',['../gb_8h.html#aa4dc1c2f6f54a564b719b2bd5a0b3c62',1,'set_data(uint8_t *vram_addr, const uint8_t *data, uint16_t len) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#abe8c12f4c6675b2c671fe8ab32370533',1,'set_data(uint16_t dst, const void *src, uint16_t size) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['set_5fdefault_5fpalette_1283',['set_default_palette',['../cgb_8h.html#abd34836339579013c097ae4dea10c014',1,'set_default_palette(): cgb.h'],['../sms_8h.html#abd34836339579013c097ae4dea10c014',1,'set_default_palette(): sms.h']]], - ['set_5finterrupts_1284',['set_interrupts',['../gb_8h.html#a8d3bf80819fe94ed67b11bf85c7bfa54',1,'set_interrupts(uint8_t flags) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849',1,'set_interrupts(uint8_t flags) __z88dk_fastcall: sms.h']]], - ['set_5fnative_5ftile_5fdata_1285',['set_native_tile_data',['../gb_8h.html#a68651e50243349b48164a8ad983dca4e',1,'set_native_tile_data(uint16_t first_tile, uint8_t nb_tiles, const uint8_t *data): gb.h'],['../sms_8h.html#a5e48fbbda171d4c466e1d0d96fa73b50',1,'set_native_tile_data(uint16_t start, uint16_t ntiles, const void *src) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['set_5fpalette_1286',['set_palette',['../sms_8h.html#a8668e421743bcba26411acaabe1af82d',1,'sms.h']]], - ['set_5fpalette_5fentry_1287',['set_palette_entry',['../sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9',1,'sms.h']]], - ['set_5fshadow_5foam_5faddress_1288',['SET_SHADOW_OAM_ADDRESS',['../gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687',1,'SET_SHADOW_OAM_ADDRESS(void *address): gb.h'],['../sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687',1,'SET_SHADOW_OAM_ADDRESS(void *address): sms.h']]], - ['set_5fsprite_5f1bpp_5fdata_1289',['set_sprite_1bpp_data',['../gb_8h.html#a427965ccaaa956d51bf4e7f14cc39b0f',1,'set_sprite_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97',1,'set_sprite_1bpp_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], - ['set_5fsprite_5f2bpp_5fdata_1290',['set_sprite_2bpp_data',['../sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a',1,'sms.h']]], - ['set_5fsprite_5f4bpp_5fdata_1291',['set_sprite_4bpp_data',['../sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432',1,'sms.h']]], - ['set_5fsprite_5fdata_1292',['set_sprite_data',['../gb_8h.html#ac40ffe4802ea41e5cee0ac3d4b254e08',1,'set_sprite_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39',1,'set_sprite_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], - ['set_5fsprite_5fpalette_1293',['set_sprite_palette',['../cgb_8h.html#a9ca9f825284da0db522d15aa2e42a4af',1,'cgb.h']]], - ['set_5fsprite_5fpalette_5fentry_1294',['set_sprite_palette_entry',['../cgb_8h.html#aebeb7431ebd400baed34796a8f50ea58',1,'cgb.h']]], - ['set_5fsprite_5fprop_1295',['set_sprite_prop',['../gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7',1,'set_sprite_prop(uint8_t nb, uint8_t prop): gb.h'],['../sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7',1,'set_sprite_prop(uint8_t nb, uint8_t prop): sms.h']]], - ['set_5fsprite_5ftile_1296',['set_sprite_tile',['../gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe',1,'set_sprite_tile(uint8_t nb, uint8_t tile): gb.h'],['../sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe',1,'set_sprite_tile(uint8_t nb, uint8_t tile): sms.h']]], - ['set_5ftile_5f1bpp_5fdata_1297',['set_tile_1bpp_data',['../sms_8h.html#a6afae83728b6651075f0af9d55d4b9e0',1,'sms.h']]], - ['set_5ftile_5f2bpp_5fdata_1298',['set_tile_2bpp_data',['../sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979',1,'sms.h']]], - ['set_5ftile_5fdata_1299',['set_tile_data',['../gb_8h.html#a0756c9c45dcf042a146d2a54290e9f6a',1,'gb.h']]], - ['set_5ftile_5fmap_1300',['set_tile_map',['../sms_8h.html#ad68f2f36b41febcc5f8ca23c3e379ec8',1,'sms.h']]], - ['set_5ftile_5fmap_5fcompat_1301',['set_tile_map_compat',['../sms_8h.html#a6a9877d413f96540712d408d865625c9',1,'sms.h']]], - ['set_5ftile_5fsubmap_1302',['set_tile_submap',['../sms_8h.html#ad7bf6d9629c0ee4e83c137a297aac169',1,'sms.h']]], - ['set_5ftile_5fsubmap_5fcompat_1303',['set_tile_submap_compat',['../sms_8h.html#a35261bb6911ba7a123262efc32f4955a',1,'sms.h']]], - ['set_5ftile_5fxy_1304',['set_tile_xy',['../sms_8h.html#a256029356b8bc719e42ffafba844290f',1,'sms.h']]], - ['set_5ftiles_1305',['set_tiles',['../gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b',1,'gb.h']]], - ['set_5fvram_5fbyte_1306',['set_vram_byte',['../gb_8h.html#a84e320d3c0b1eca4d0b81b848d096582',1,'set_vram_byte(uint8_t *addr, uint8_t v) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a18ce02bf91fd93098176b5bcc94cdf4a',1,'set_vram_byte(uint8_t *addr, uint8_t v) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['set_5fwin_5f1bpp_5fdata_1307',['set_win_1bpp_data',['../gb_8h.html#a445fa9ede939ca486ae5268e826b3a44',1,'gb.h']]], - ['set_5fwin_5fdata_1308',['set_win_data',['../gb_8h.html#a57879f3a7e7655a1bec4f44f5304f9dd',1,'gb.h']]], - ['set_5fwin_5fsubmap_1309',['set_win_submap',['../gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de',1,'set_win_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) OLDCALL: sms.h'],['../sms_8h.html#abb50a392ca0d0419a080413287ee5d79',1,'set_win_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w): sms.h']]], - ['set_5fwin_5ftile_5fxy_1310',['set_win_tile_xy',['../gb_8h.html#a78b307e0fde9289c2b1f4cd6aa0b763c',1,'gb.h']]], - ['set_5fwin_5ftiles_1311',['set_win_tiles',['../gb_8h.html#aba807b33ddd5e18ecedc93b05338045e',1,'gb.h']]], - ['setchar_1312',['setchar',['../console_8h.html#a6ce1d0ff40a295e36bcb6d495947c8dc',1,'console.h']]], - ['sgb_5fcheck_1313',['sgb_check',['../sgb_8h.html#ae15ee98a319dec8aa94a5ce6790056ee',1,'sgb.h']]], - ['sgb_5ftransfer_1314',['sgb_transfer',['../sgb_8h.html#a45a1526789b51eea852adcfb3392fde0',1,'sgb.h']]], - ['sprintf_1315',['sprintf',['../stdio_8h.html#a31913a297ee18548c81d482ef6bdbe0f',1,'stdio.h']]], - ['strcat_1316',['strcat',['../asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553',1,'strcat(char *s1, const char *s2): string.h'],['../asm_2z80_2string_8h.html#a13c88f5a8475fd7de5d81553cb29724a',1,'strcat(char *s1, const char *s2) NONBANKED: string.h']]], - ['strcmp_1317',['strcmp',['../asm_2gbz80_2string_8h.html#a125908e664d4b65f55a49c8faf14784b',1,'strcmp(const char *s1, const char *s2) OLDCALL __preserves_regs(b: string.h'],['../asm_2z80_2string_8h.html#a11bd144d7d44914099a3aeddf1c8567d',1,'strcmp(const char *s1, const char *s2): string.h']]], - ['strcpy_1318',['strcpy',['../asm_2gbz80_2string_8h.html#a8d21cab0520a18493e48dab450288f31',1,'strcpy(char *dest, const char *src) OLDCALL __preserves_regs(b: string.h'],['../asm_2z80_2string_8h.html#af5b1fe1ca3f2aca8ad215962460d15a6',1,'strcpy(char *dest, const char *src) OLDCALL: string.h']]], - ['strlen_1319',['strlen',['../asm_2gbz80_2string_8h.html#a2db4b83fd1a2889db33d4e0798d33fe2',1,'strlen(const char *s) OLDCALL __preserves_regs(b: string.h'],['../asm_2z80_2string_8h.html#ac952c3ccec84a458a4d385c5273c1ca0',1,'strlen(const char *s) OLDCALL: string.h']]], - ['strncat_1320',['strncat',['../asm_2gbz80_2string_8h.html#af70714f788819be9dbf368a969be23f7',1,'strncat(char *s1, const char *s2, int n): string.h'],['../asm_2z80_2string_8h.html#a168580a0ddcb7fe754a711309966c99d',1,'strncat(char *s1, const char *s2, int n) NONBANKED: string.h']]], - ['strncmp_1321',['strncmp',['../asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc',1,'strncmp(const char *s1, const char *s2, int n): string.h'],['../asm_2z80_2string_8h.html#a861dba2d93de82f087707bb795f5c602',1,'strncmp(const char *s1, const char *s2, int n) NONBANKED: string.h']]], - ['strncpy_1322',['strncpy',['../asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f',1,'strncpy(char *s1, const char *s2, int n): string.h'],['../asm_2z80_2string_8h.html#a796a9459c4f362e51c00307044c40ed5',1,'strncpy(char *s1, const char *s2, int n) NONBANKED: string.h']]], - ['switch_5fdata_1323',['switch_data',['../drawing_8h.html#a7b8f466ecc6be62f6c034e52f05e957a',1,'drawing.h']]] + ['scroll_5fbkg_1301',['scroll_bkg',['../gb_8h.html#a1f583f7a880daa6145ca78b086a209d1',1,'scroll_bkg(int8_t x, int8_t y): gb.h'],['../sms_8h.html#a1f583f7a880daa6145ca78b086a209d1',1,'scroll_bkg(int8_t x, int8_t y): sms.h']]], + ['scroll_5fsprite_1302',['scroll_sprite',['../gb_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe',1,'scroll_sprite(uint8_t nb, int8_t x, int8_t y): gb.h'],['../sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe',1,'scroll_sprite(uint8_t nb, int8_t x, int8_t y): sms.h']]], + ['scroll_5fwin_1303',['scroll_win',['../gb_8h.html#a12c2b5ac249d01caf1561cbbf3962044',1,'gb.h']]], + ['send_5fbyte_1304',['send_byte',['../gb_8h.html#ae339d7d8d7e0ebd6691b42608c416964',1,'gb.h']]], + ['set_5f1bpp_5fcolors_1305',['set_1bpp_colors',['../gb_8h.html#adcb394299a1033616fc7d2faec8bd6ad',1,'set_1bpp_colors(uint8_t fgcolor, uint8_t bgcolor): gb.h'],['../sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad',1,'set_1bpp_colors(uint8_t fgcolor, uint8_t bgcolor): sms.h']]], + ['set_5f1bpp_5fcolors_5fex_1306',['set_1bpp_colors_ex',['../gb_8h.html#a1f00bd35cd56aac84c108f5a802c3f9c',1,'gb.h']]], + ['set_5f2bpp_5fpalette_1307',['set_2bpp_palette',['../gb_8h.html#aa224c9bac27c7fd268e62bdf33338a84',1,'set_2bpp_palette(uint16_t palette): gb.h'],['../sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84',1,'set_2bpp_palette(uint16_t palette): sms.h']]], + ['set_5fattributed_5ftile_5fxy_1308',['set_attributed_tile_xy',['../sms_8h.html#a476f433ea736a1dd610490238f2a6250',1,'sms.h']]], + ['set_5fbkg_5f1bpp_5fdata_1309',['set_bkg_1bpp_data',['../gb_8h.html#a711fa26feecc76dc51482b0f77062859',1,'set_bkg_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04',1,'set_bkg_1bpp_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], + ['set_5fbkg_5f2bpp_5fdata_1310',['set_bkg_2bpp_data',['../sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023',1,'sms.h']]], + ['set_5fbkg_5f4bpp_5fdata_1311',['set_bkg_4bpp_data',['../sms_8h.html#aeff13dca11be49e8c159820c616016ec',1,'sms.h']]], + ['set_5fbkg_5fbased_5fsubmap_1312',['set_bkg_based_submap',['../gb_8h.html#abc8bc5808620a9717263b8c9ec2237f0',1,'set_bkg_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile): gb.h'],['../sms_8h.html#abc8bc5808620a9717263b8c9ec2237f0',1,'set_bkg_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile): sms.h']]], + ['set_5fbkg_5fbased_5ftiles_1313',['set_bkg_based_tiles',['../gb_8h.html#a811c386cac0df2d260aacb5a43608be5',1,'set_bkg_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile): gb.h'],['../sms_8h.html#a811c386cac0df2d260aacb5a43608be5',1,'set_bkg_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile): sms.h']]], + ['set_5fbkg_5fdata_1314',['set_bkg_data',['../gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626',1,'set_bkg_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a8130306da1177f4fef89e699f8e2add4',1,'set_bkg_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], + ['set_5fbkg_5fpalette_1315',['set_bkg_palette',['../cgb_8h.html#aa8851ca1f515ca55cbf9f6ff53b08e8a',1,'cgb.h']]], + ['set_5fbkg_5fpalette_5fentry_1316',['set_bkg_palette_entry',['../cgb_8h.html#aa8881ff123f364f2e7d1e88c18f9fbca',1,'cgb.h']]], + ['set_5fbkg_5fsubmap_1317',['set_bkg_submap',['../gb_8h.html#adb21d1c7d533a7133bab36a845489780',1,'set_bkg_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) OLDCALL: sms.h'],['../sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298',1,'set_bkg_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w): sms.h']]], + ['set_5fbkg_5ftile_5fxy_1318',['set_bkg_tile_xy',['../gb_8h.html#a74ee8f0a3495508c90de4ce246b81060',1,'gb.h']]], + ['set_5fbkg_5ftiles_1319',['set_bkg_tiles',['../gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7',1,'gb.h']]], + ['set_5fdata_1320',['set_data',['../gb_8h.html#a650d2df96e69a40b70548ab468e00f25',1,'set_data(uint8_t *vram_addr, const uint8_t *data, uint16_t len) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a8fe17423c7ef7c44f1ccff27d3afbebc',1,'set_data(uint16_t dst, const void *src, uint16_t size) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['set_5fdefault_5fpalette_1321',['set_default_palette',['../cgb_8h.html#abd34836339579013c097ae4dea10c014',1,'set_default_palette(): cgb.h'],['../sms_8h.html#abd34836339579013c097ae4dea10c014',1,'set_default_palette(): sms.h']]], + ['set_5finterrupts_1322',['set_interrupts',['../gb_8h.html#a9312e7ec34162d6b6ed0875631fa6fe3',1,'set_interrupts(uint8_t flags) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#aefda0091b2934571a11e07b512735f50',1,'set_interrupts(uint8_t flags) Z88DK_FASTCALL: sms.h']]], + ['set_5fnative_5ftile_5fdata_1323',['set_native_tile_data',['../gb_8h.html#a68651e50243349b48164a8ad983dca4e',1,'set_native_tile_data(uint16_t first_tile, uint8_t nb_tiles, const uint8_t *data): gb.h'],['../sms_8h.html#a24764a152441b966ea04a83278c73207',1,'set_native_tile_data(uint16_t start, uint16_t ntiles, const void *src) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['set_5fpalette_1324',['set_palette',['../sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e',1,'sms.h']]], + ['set_5fpalette_5fentry_1325',['set_palette_entry',['../sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164',1,'sms.h']]], + ['set_5fshadow_5foam_5faddress_1326',['SET_SHADOW_OAM_ADDRESS',['../gb_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687',1,'SET_SHADOW_OAM_ADDRESS(void *address): gb.h'],['../sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687',1,'SET_SHADOW_OAM_ADDRESS(void *address): sms.h']]], + ['set_5fsprite_5f1bpp_5fdata_1327',['set_sprite_1bpp_data',['../gb_8h.html#ab3e60c92c9f8fbed855f8712187ea3ea',1,'set_sprite_1bpp_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97',1,'set_sprite_1bpp_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], + ['set_5fsprite_5f2bpp_5fdata_1328',['set_sprite_2bpp_data',['../sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a',1,'sms.h']]], + ['set_5fsprite_5f4bpp_5fdata_1329',['set_sprite_4bpp_data',['../sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432',1,'sms.h']]], + ['set_5fsprite_5fdata_1330',['set_sprite_data',['../gb_8h.html#ae45b1c639698951b47e44fa8e89556f2',1,'set_sprite_data(uint8_t first_tile, uint8_t nb_tiles, const uint8_t *data) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39',1,'set_sprite_data(uint16_t start, uint16_t ntiles, const void *src): sms.h']]], + ['set_5fsprite_5fpalette_1331',['set_sprite_palette',['../cgb_8h.html#a9ca9f825284da0db522d15aa2e42a4af',1,'cgb.h']]], + ['set_5fsprite_5fpalette_5fentry_1332',['set_sprite_palette_entry',['../cgb_8h.html#aebeb7431ebd400baed34796a8f50ea58',1,'cgb.h']]], + ['set_5fsprite_5fprop_1333',['set_sprite_prop',['../gb_8h.html#a99ea3252469e3614e977cce2aa1d06f7',1,'set_sprite_prop(uint8_t nb, uint8_t prop): gb.h'],['../sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7',1,'set_sprite_prop(uint8_t nb, uint8_t prop): sms.h']]], + ['set_5fsprite_5ftile_1334',['set_sprite_tile',['../gb_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe',1,'set_sprite_tile(uint8_t nb, uint8_t tile): gb.h'],['../sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe',1,'set_sprite_tile(uint8_t nb, uint8_t tile): sms.h']]], + ['set_5ftile_5f1bpp_5fdata_1335',['set_tile_1bpp_data',['../sms_8h.html#a747033606e041b45ae09b38fdb06b871',1,'sms.h']]], + ['set_5ftile_5f2bpp_5fdata_1336',['set_tile_2bpp_data',['../sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8',1,'sms.h']]], + ['set_5ftile_5fdata_1337',['set_tile_data',['../gb_8h.html#abe4846d4570b4880b0e54b9e503f4d30',1,'gb.h']]], + ['set_5ftile_5fmap_1338',['set_tile_map',['../sms_8h.html#a14fc41e69085b5aa3da2fae9a2aa3ef3',1,'sms.h']]], + ['set_5ftile_5fmap_5fcompat_1339',['set_tile_map_compat',['../sms_8h.html#a7c38b146f77eda84981c06c2271fe116',1,'sms.h']]], + ['set_5ftile_5fsubmap_1340',['set_tile_submap',['../sms_8h.html#a84774e034fe0e70af62bd17ac716ba34',1,'sms.h']]], + ['set_5ftile_5fsubmap_5fcompat_1341',['set_tile_submap_compat',['../sms_8h.html#aba0308b5e8e154cc920f041a185ac770',1,'sms.h']]], + ['set_5ftile_5fxy_1342',['set_tile_xy',['../sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7',1,'sms.h']]], + ['set_5ftiles_1343',['set_tiles',['../gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c',1,'gb.h']]], + ['set_5fvram_5fbyte_1344',['set_vram_byte',['../gb_8h.html#a7080649e10765996c581e5b618e603b8',1,'set_vram_byte(uint8_t *addr, uint8_t v) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89',1,'set_vram_byte(uint8_t *addr, uint8_t v) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['set_5fwin_5f1bpp_5fdata_1345',['set_win_1bpp_data',['../gb_8h.html#acd5ee7a94059e6edbe9223f291bc2b46',1,'gb.h']]], + ['set_5fwin_5fbased_5fsubmap_1346',['set_win_based_submap',['../gb_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0',1,'set_win_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile): gb.h'],['../sms_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0',1,'set_win_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile): sms.h']]], + ['set_5fwin_5fbased_5ftiles_1347',['set_win_based_tiles',['../gb_8h.html#a739a212609ae60c9c56c095f96b4ea80',1,'set_win_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile): gb.h'],['../sms_8h.html#a739a212609ae60c9c56c095f96b4ea80',1,'set_win_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile): sms.h']]], + ['set_5fwin_5fdata_1348',['set_win_data',['../gb_8h.html#ac2bf0c4919c30d322fa5853c896e710f',1,'gb.h']]], + ['set_5fwin_5fsubmap_1349',['set_win_submap',['../gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de',1,'set_win_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w) OLDCALL: sms.h'],['../sms_8h.html#abb50a392ca0d0419a080413287ee5d79',1,'set_win_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w): sms.h']]], + ['set_5fwin_5ftile_5fxy_1350',['set_win_tile_xy',['../gb_8h.html#a0c70a53db1fbc0c99627da3f282befd8',1,'gb.h']]], + ['set_5fwin_5ftiles_1351',['set_win_tiles',['../gb_8h.html#a5c59b4ee6323af9832998906d087266b',1,'gb.h']]], + ['setchar_1352',['setchar',['../console_8h.html#a6ce1d0ff40a295e36bcb6d495947c8dc',1,'console.h']]], + ['sgb_5fcheck_1353',['sgb_check',['../sgb_8h.html#a48bc560ec2455bf97002e03c0a6055f0',1,'sgb.h']]], + ['sgb_5ftransfer_1354',['sgb_transfer',['../sgb_8h.html#a84e1f2ab7dce1faabd3d271b6bf8df8c',1,'sgb.h']]], + ['sprintf_1355',['sprintf',['../stdio_8h.html#a31913a297ee18548c81d482ef6bdbe0f',1,'stdio.h']]], + ['strcat_1356',['strcat',['../asm_2gbz80_2string_8h.html#a8908188ae9fc2f05d993257ef001d553',1,'strcat(char *s1, const char *s2): string.h'],['../asm_2z80_2string_8h.html#a13c88f5a8475fd7de5d81553cb29724a',1,'strcat(char *s1, const char *s2) NONBANKED: string.h']]], + ['strcmp_1357',['strcmp',['../asm_2gbz80_2string_8h.html#a7172770a053aa1fe0ab46a97ab43a5fa',1,'strcmp(const char *s1, const char *s2) OLDCALL PRESERVES_REGS(b: string.h'],['../asm_2z80_2string_8h.html#a11bd144d7d44914099a3aeddf1c8567d',1,'strcmp(const char *s1, const char *s2): string.h']]], + ['strcpy_1358',['strcpy',['../asm_2gbz80_2string_8h.html#ada128b5ed545214bb397d1399615ec9e',1,'strcpy(char *dest, const char *src) OLDCALL PRESERVES_REGS(b: string.h'],['../asm_2z80_2string_8h.html#af5b1fe1ca3f2aca8ad215962460d15a6',1,'strcpy(char *dest, const char *src) OLDCALL: string.h']]], + ['strlen_1359',['strlen',['../asm_2gbz80_2string_8h.html#a5e4982e9d2fd4ec328abfda6b1a3f7e5',1,'strlen(const char *s) OLDCALL PRESERVES_REGS(b: string.h'],['../asm_2z80_2string_8h.html#ac952c3ccec84a458a4d385c5273c1ca0',1,'strlen(const char *s) OLDCALL: string.h']]], + ['strncat_1360',['strncat',['../asm_2gbz80_2string_8h.html#af70714f788819be9dbf368a969be23f7',1,'strncat(char *s1, const char *s2, int n): string.h'],['../asm_2z80_2string_8h.html#a168580a0ddcb7fe754a711309966c99d',1,'strncat(char *s1, const char *s2, int n) NONBANKED: string.h']]], + ['strncmp_1361',['strncmp',['../asm_2gbz80_2string_8h.html#ab745ed93c0024648f33dc1d553e9fdcc',1,'strncmp(const char *s1, const char *s2, int n): string.h'],['../asm_2z80_2string_8h.html#a861dba2d93de82f087707bb795f5c602',1,'strncmp(const char *s1, const char *s2, int n) NONBANKED: string.h']]], + ['strncpy_1362',['strncpy',['../asm_2gbz80_2string_8h.html#a21ae87d60fcc456369668093c57db61f',1,'strncpy(char *s1, const char *s2, int n): string.h'],['../asm_2z80_2string_8h.html#a796a9459c4f362e51c00307044c40ed5',1,'strncpy(char *s1, const char *s2, int n) NONBANKED: string.h']]], + ['switch_5fdata_1363',['switch_data',['../drawing_8h.html#a7b8f466ecc6be62f6c034e52f05e957a',1,'drawing.h']]] ]; diff --git a/docs/api/search/functions_12.js b/docs/api/search/functions_12.js @@ -1,7 +1,7 @@ var searchData= [ - ['time_1324',['time',['../time_8h.html#ae7841e681c8c9d59818568d39553642c',1,'time.h']]], - ['to_5ffar_5fptr_1325',['to_far_ptr',['../far__ptr_8h.html#a23ab15f7eb85a48d72f717183badb110',1,'far_ptr.h']]], - ['tolower_1326',['tolower',['../ctype_8h.html#a207391fc2c5fa7786d5e0b9ef8ba5e80',1,'ctype.h']]], - ['toupper_1327',['toupper',['../ctype_8h.html#a811b7a0d5194feaccfacf8a7f02bb9c3',1,'ctype.h']]] + ['time_1364',['time',['../time_8h.html#ae7841e681c8c9d59818568d39553642c',1,'time.h']]], + ['to_5ffar_5fptr_1365',['to_far_ptr',['../far__ptr_8h.html#a23ab15f7eb85a48d72f717183badb110',1,'far_ptr.h']]], + ['tolower_1366',['tolower',['../ctype_8h.html#a207391fc2c5fa7786d5e0b9ef8ba5e80',1,'ctype.h']]], + ['toupper_1367',['toupper',['../ctype_8h.html#a811b7a0d5194feaccfacf8a7f02bb9c3',1,'ctype.h']]] ]; diff --git a/docs/api/search/functions_13.js b/docs/api/search/functions_13.js @@ -1,6 +1,6 @@ var searchData= [ - ['uint2bcd_1328',['uint2bcd',['../bcd_8h.html#af3d125e9dbb48d630cf7e2f7d1343ba1',1,'bcd.h']]], - ['uitoa_1329',['uitoa',['../stdlib_8h.html#a38c070016cb06132360cfa5bacc2ed19',1,'stdlib.h']]], - ['ultoa_1330',['ultoa',['../stdlib_8h.html#ac22b79fe0c1279eabc3daf57328008d2',1,'stdlib.h']]] + ['uint2bcd_1368',['uint2bcd',['../bcd_8h.html#af3d125e9dbb48d630cf7e2f7d1343ba1',1,'bcd.h']]], + ['uitoa_1369',['uitoa',['../stdlib_8h.html#a38c070016cb06132360cfa5bacc2ed19',1,'stdlib.h']]], + ['ultoa_1370',['ultoa',['../stdlib_8h.html#ac22b79fe0c1279eabc3daf57328008d2',1,'stdlib.h']]] ]; diff --git a/docs/api/search/functions_14.js b/docs/api/search/functions_14.js @@ -1,5 +1,5 @@ var searchData= [ - ['vmemcpy_1331',['vmemcpy',['../gb_8h.html#ac9f0aa82f8e34812a406263aad57d4d9',1,'vmemcpy(uint8_t *dest, uint8_t *sour, uint16_t len) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#aee5c510efbda6e44f987088aa14d3482',1,'vmemcpy(uint16_t dst, const void *src, uint16_t size) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['vmemset_1332',['vmemset',['../gb_8h.html#abb54953bdb190aa0bb76724ae3d5d214',1,'gb.h']]] + ['vmemcpy_1371',['vmemcpy',['../gb_8h.html#a36f9e5d95c2d7d58f203b5ac358e25e7',1,'vmemcpy(uint8_t *dest, uint8_t *sour, uint16_t len) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a33a749b14dfbd203c460e8d7f3500636',1,'vmemcpy(uint16_t dst, const void *src, uint16_t size) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['vmemset_1372',['vmemset',['../gb_8h.html#a97bab71effd5e4e386629cb6ca5816cf',1,'gb.h']]] ]; diff --git a/docs/api/search/functions_15.js b/docs/api/search/functions_15.js @@ -1,10 +1,10 @@ var searchData= [ - ['wait_5fint_5fhandler_1333',['wait_int_handler',['../gb_8h.html#acc9afd0cb72e763a1213d256b942a68f',1,'gb.h']]], - ['wait_5fvbl_5fdone_1334',['wait_vbl_done',['../gb_8h.html#a68346350199018249bdf8019b7131514',1,'wait_vbl_done() __preserves_regs(b: gb.h'],['../sms_8h.html#a68346350199018249bdf8019b7131514',1,'wait_vbl_done() __preserves_regs(b: sms.h']]], - ['waitpad_1335',['waitpad',['../gb_8h.html#ac4f9e19d2834988ff005106b3f5b2f05',1,'waitpad(uint8_t mask) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#aec76b4ab16315eb97846be87b19fea10',1,'waitpad(uint8_t mask) __z88dk_fastcall __preserves_regs(b: sms.h']]], - ['waitpadup_1336',['waitpadup',['../gb_8h.html#a7eeb5f1f697fefdcebd8e68355af4113',1,'waitpadup() __preserves_regs(a: gb.h'],['../sms_8h.html#a35fbfcc0bffc93a47217caff66ca36a7',1,'waitpadup() __preserves_regs(b: sms.h']]], - ['write_5fvdp_5fcmd_1337',['WRITE_VDP_CMD',['../sms_8h.html#a4b7af81fec48ca3bee04234b417abaa6',1,'sms.h']]], - ['write_5fvdp_5fdata_1338',['WRITE_VDP_DATA',['../sms_8h.html#af513fcb34dd2aa1e9bc9bf65cb589eee',1,'sms.h']]], - ['wrtchr_1339',['wrtchr',['../drawing_8h.html#a9178e678a17cb08653600f435093ae2a',1,'drawing.h']]] + ['wait_5fint_5fhandler_1373',['wait_int_handler',['../gb_8h.html#acc9afd0cb72e763a1213d256b942a68f',1,'gb.h']]], + ['wait_5fvbl_5fdone_1374',['wait_vbl_done',['../gb_8h.html#acd186eb292d441f9389e77b545a55619',1,'wait_vbl_done() PRESERVES_REGS(b: gb.h'],['../sms_8h.html#acd186eb292d441f9389e77b545a55619',1,'wait_vbl_done() PRESERVES_REGS(b: sms.h']]], + ['waitpad_1375',['waitpad',['../gb_8h.html#aae433db7d8e3ee4c095c254b8abd7b8b',1,'waitpad(uint8_t mask) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a79b565677967da5ef9bf1a00aa6776ce',1,'waitpad(uint8_t mask) Z88DK_FASTCALL PRESERVES_REGS(b: sms.h']]], + ['waitpadup_1376',['waitpadup',['../gb_8h.html#a8484d346b788309ac702b7e0b1fca730',1,'waitpadup() PRESERVES_REGS(a: gb.h'],['../sms_8h.html#a955d3733e5018f18b17a572aff45cf26',1,'waitpadup() PRESERVES_REGS(b: sms.h']]], + ['write_5fvdp_5fcmd_1377',['WRITE_VDP_CMD',['../sms_8h.html#a498b148efd22ab8ad9b844b2dc5e5bb8',1,'sms.h']]], + ['write_5fvdp_5fdata_1378',['WRITE_VDP_DATA',['../sms_8h.html#aa2ddf9662320c4a9d00fd4a94d347570',1,'sms.h']]], + ['wrtchr_1379',['wrtchr',['../drawing_8h.html#a9178e678a17cb08653600f435093ae2a',1,'drawing.h']]] ]; diff --git a/docs/api/search/functions_2.js b/docs/api/search/functions_2.js @@ -1,10 +1,8 @@ var searchData= [ - ['bcd2text_1150',['bcd2text',['../bcd_8h.html#aec09ce7373727160488408c65fc8a91e',1,'bcd.h']]], - ['bcd_5fadd_1151',['bcd_add',['../bcd_8h.html#a0b14c76afa669863ed43c080f5baca98',1,'bcd.h']]], - ['bcd_5fsub_1152',['bcd_sub',['../bcd_8h.html#a743275b2ee21c93633a933a2d3073d4e',1,'bcd.h']]], - ['bgb_5fprintf_1153',['BGB_printf',['../bgb__emu_8h.html#a2b2f53166550341e0b1297dd5aa5a2c3',1,'bgb_emu.h']]], - ['bgb_5fprofiler_5fmessage_1154',['BGB_profiler_message',['../bgb__emu_8h.html#a219a24aebe0bddc535ba4abc81cee30c',1,'bgb_emu.h']]], - ['box_1155',['box',['../drawing_8h.html#ae1170230e5c9e61cc4321632e949e7ce',1,'drawing.h']]], - ['bsearch_1156',['bsearch',['../stdlib_8h.html#ab0ace018fe7dfa1720930d2dce0c45e3',1,'stdlib.h']]] + ['bcd2text_1185',['bcd2text',['../bcd_8h.html#aec09ce7373727160488408c65fc8a91e',1,'bcd.h']]], + ['bcd_5fadd_1186',['bcd_add',['../bcd_8h.html#a0b14c76afa669863ed43c080f5baca98',1,'bcd.h']]], + ['bcd_5fsub_1187',['bcd_sub',['../bcd_8h.html#a743275b2ee21c93633a933a2d3073d4e',1,'bcd.h']]], + ['box_1188',['box',['../drawing_8h.html#ae1170230e5c9e61cc4321632e949e7ce',1,'drawing.h']]], + ['bsearch_1189',['bsearch',['../stdlib_8h.html#ab0ace018fe7dfa1720930d2dce0c45e3',1,'stdlib.h']]] ]; diff --git a/docs/api/search/functions_3.js b/docs/api/search/functions_3.js @@ -1,12 +1,12 @@ var searchData= [ - ['calloc_1157',['calloc',['../stdlib_8h.html#a62b7798461bd461da64c5f9d35feddf7',1,'stdlib.h']]], - ['cancel_5fpending_5finterrupts_1158',['cancel_pending_interrupts',['../gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a',1,'cancel_pending_interrupts(): gb.h'],['../sms_8h.html#ade5d4c955b871b0ed884273cc2b7215a',1,'cancel_pending_interrupts(): sms.h']]], - ['cgb_5fcompatibility_1159',['cgb_compatibility',['../cgb_8h.html#ac2dd234782ac786758952496b017ab97',1,'cgb.h']]], - ['circle_1160',['circle',['../drawing_8h.html#ad46c3bdc38dfc9b70214693390d404cb',1,'drawing.h']]], - ['clock_1161',['clock',['../time_8h.html#a9e660b4ddc93c500ce46593917de2bbf',1,'time.h']]], - ['cls_1162',['cls',['../console_8h.html#a4826277cc150ddc0f4de4bd464a34909',1,'console.h']]], - ['color_1163',['color',['../drawing_8h.html#a9fa68d25be92836a1b08a5e610b4f32f',1,'drawing.h']]], - ['cpu_5ffast_1164',['cpu_fast',['../cgb_8h.html#a884a743919b234cd9c37789380784d08',1,'cpu_fast(): sms.h'],['../sms_8h.html#a884a743919b234cd9c37789380784d08',1,'cpu_fast(): sms.h']]], - ['cpu_5fslow_1165',['cpu_slow',['../cgb_8h.html#a6a36fb9584e4a123f6164530a3b1e5e2',1,'cgb.h']]] + ['calloc_1190',['calloc',['../stdlib_8h.html#a62b7798461bd461da64c5f9d35feddf7',1,'stdlib.h']]], + ['cancel_5fpending_5finterrupts_1191',['cancel_pending_interrupts',['../gb_8h.html#ade5d4c955b871b0ed884273cc2b7215a',1,'cancel_pending_interrupts(): gb.h'],['../sms_8h.html#ade5d4c955b871b0ed884273cc2b7215a',1,'cancel_pending_interrupts(): sms.h']]], + ['cgb_5fcompatibility_1192',['cgb_compatibility',['../cgb_8h.html#ac2dd234782ac786758952496b017ab97',1,'cgb.h']]], + ['circle_1193',['circle',['../drawing_8h.html#ad46c3bdc38dfc9b70214693390d404cb',1,'drawing.h']]], + ['clock_1194',['clock',['../time_8h.html#acc1f88818af5706d57262377382ae4ac',1,'time.h']]], + ['cls_1195',['cls',['../console_8h.html#a4826277cc150ddc0f4de4bd464a34909',1,'console.h']]], + ['color_1196',['color',['../drawing_8h.html#a9fa68d25be92836a1b08a5e610b4f32f',1,'drawing.h']]], + ['cpu_5ffast_1197',['cpu_fast',['../cgb_8h.html#a884a743919b234cd9c37789380784d08',1,'cpu_fast(): sms.h'],['../sms_8h.html#a884a743919b234cd9c37789380784d08',1,'cpu_fast(): sms.h']]], + ['cpu_5fslow_1198',['cpu_slow',['../cgb_8h.html#a6a36fb9584e4a123f6164530a3b1e5e2',1,'cgb.h']]] ]; diff --git a/docs/api/search/functions_4.js b/docs/api/search/functions_4.js @@ -1,7 +1,7 @@ var searchData= [ - ['delay_1166',['delay',['../gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d',1,'delay(uint16_t d) OLDCALL: gb.h'],['../sms_8h.html#aea03b5b22f0a798a7935dc7d18931924',1,'delay(uint16_t d) __z88dk_fastcall: sms.h']]], - ['disable_5finterrupts_1167',['disable_interrupts',['../gb_8h.html#a8a71c706c3eb1343196adf77f5825747',1,'gb.h']]], - ['display_5foff_1168',['display_off',['../gb_8h.html#a067f16eeb168f3ac9312a4766e7d2ff2',1,'display_off() __preserves_regs(b: gb.h'],['../sms_8h.html#a7b09691f25fddd65f12ed199b3f88ef0',1,'display_off(): sms.h']]], - ['draw_5fimage_1169',['draw_image',['../drawing_8h.html#ab2c383d3e1541fae40cf5174e22166c6',1,'drawing.h']]] + ['delay_1199',['delay',['../gb_8h.html#a2afae202a1f8ca59a12a6455bb909c5d',1,'delay(uint16_t d) OLDCALL: gb.h'],['../sms_8h.html#a217232c82eb5f99f7639b5786ce5abc6',1,'delay(uint16_t d) Z88DK_FASTCALL: sms.h']]], + ['disable_5finterrupts_1200',['disable_interrupts',['../gb_8h.html#ad77796783b3a601b6f3781dfc3983499',1,'gb.h']]], + ['display_5foff_1201',['display_off',['../gb_8h.html#a04d57683cdd046dfa45e7e56d7c4ec4d',1,'display_off() PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a7b09691f25fddd65f12ed199b3f88ef0',1,'display_off(): sms.h']]], + ['draw_5fimage_1202',['draw_image',['../drawing_8h.html#ab2c383d3e1541fae40cf5174e22166c6',1,'drawing.h']]] ]; diff --git a/docs/api/search/functions_5.js b/docs/api/search/functions_5.js @@ -1,5 +1,7 @@ var searchData= [ - ['enable_5finterrupts_1170',['enable_interrupts',['../gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef',1,'gb.h']]], - ['exit_1171',['exit',['../stdlib_8h.html#a55e99c539cf7723ec15e856b7e0a8cee',1,'stdlib.h']]] + ['emu_5fprintf_1203',['EMU_printf',['../emu__debug_8h.html#a586ce1ddfba9c35726887ca31f933963',1,'emu_debug.h']]], + ['emu_5fprofiler_5fmessage_1204',['EMU_profiler_message',['../emu__debug_8h.html#a1e2adc0111203ce0f551bcb1d99395df',1,'emu_debug.h']]], + ['enable_5finterrupts_1205',['enable_interrupts',['../gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867',1,'gb.h']]], + ['exit_1206',['exit',['../stdlib_8h.html#a55e99c539cf7723ec15e856b7e0a8cee',1,'stdlib.h']]] ]; diff --git a/docs/api/search/functions_6.js b/docs/api/search/functions_6.js @@ -1,12 +1,12 @@ var searchData= [ - ['fill_5fbkg_5frect_1172',['fill_bkg_rect',['../gb_8h.html#ab22d0a3d624ff20198577c71aa755c19',1,'gb.h']]], - ['fill_5frect_1173',['fill_rect',['../sms_8h.html#ab380f3a45e943a45a4cd3189a99ca4df',1,'sms.h']]], - ['fill_5frect_5fcompat_1174',['fill_rect_compat',['../sms_8h.html#aac998cb7f78186158ced5448dcfc3503',1,'sms.h']]], - ['fill_5fwin_5frect_1175',['fill_win_rect',['../gb_8h.html#a9eac2f4130d55f411aad246658d046a9',1,'gb.h']]], - ['font_5fcolor_1176',['font_color',['../font_8h.html#a47b4964ef677dce9fdf1e9df29804721',1,'font.h']]], - ['font_5finit_1177',['font_init',['../font_8h.html#a6b0459241994d549ae90776cdacede2d',1,'font.h']]], - ['font_5fload_1178',['font_load',['../font_8h.html#ad089c09492dbd0423f4dd28f1a49a995',1,'font.h']]], - ['font_5fset_1179',['font_set',['../font_8h.html#a7dee0ba7beb261727340b8cce7c5afcd',1,'font.h']]], - ['free_1180',['free',['../stdlib_8h.html#afbedc913aa4651b3c3b4b3aecd9b4711',1,'stdlib.h']]] + ['fill_5fbkg_5frect_1207',['fill_bkg_rect',['../gb_8h.html#a74c3f53fca019f7abcd1270650808849',1,'gb.h']]], + ['fill_5frect_1208',['fill_rect',['../sms_8h.html#aba932d128338fb19644842565139a20d',1,'sms.h']]], + ['fill_5frect_5fcompat_1209',['fill_rect_compat',['../sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8',1,'sms.h']]], + ['fill_5fwin_5frect_1210',['fill_win_rect',['../gb_8h.html#ad5bc3dc922707507aa51ed7f5b4a21e3',1,'gb.h']]], + ['font_5fcolor_1211',['font_color',['../font_8h.html#a47b4964ef677dce9fdf1e9df29804721',1,'font.h']]], + ['font_5finit_1212',['font_init',['../font_8h.html#a6b0459241994d549ae90776cdacede2d',1,'font.h']]], + ['font_5fload_1213',['font_load',['../font_8h.html#ad089c09492dbd0423f4dd28f1a49a995',1,'font.h']]], + ['font_5fset_1214',['font_set',['../font_8h.html#a7dee0ba7beb261727340b8cce7c5afcd',1,'font.h']]], + ['free_1215',['free',['../stdlib_8h.html#afbedc913aa4651b3c3b4b3aecd9b4711',1,'stdlib.h']]] ]; diff --git a/docs/api/search/functions_7.js b/docs/api/search/functions_7.js @@ -1,31 +1,31 @@ var searchData= [ - ['gb_5fdecompress_1181',['gb_decompress',['../gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a',1,'gb_decompress(const uint8_t *sour, uint8_t *dest) OLDCALL __preserves_regs(b: gbdecompress.h'],['../sms_2gbdecompress_8h.html#a4f181b96c71ce66abdd46928b3975ade',1,'gb_decompress(const uint8_t *sour, uint8_t *dest) __z88dk_callee __preserves_regs(b: gbdecompress.h']]], - ['gb_5fdecompress_5fbkg_5fdata_1182',['gb_decompress_bkg_data',['../gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544',1,'gbdecompress.h']]], - ['gb_5fdecompress_5fsprite_5fdata_1183',['gb_decompress_sprite_data',['../gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d',1,'gbdecompress.h']]], - ['gb_5fdecompress_5fwin_5fdata_1184',['gb_decompress_win_data',['../gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78',1,'gbdecompress.h']]], - ['get_5fbkg_5fdata_1185',['get_bkg_data',['../gb_8h.html#a1207717410f1c9beb6a719eef400ffd7',1,'gb.h']]], - ['get_5fbkg_5ftile_5fxy_1186',['get_bkg_tile_xy',['../gb_8h.html#a1a485dfade1a8f07232cbe669a1c1939',1,'gb.h']]], - ['get_5fbkg_5ftiles_1187',['get_bkg_tiles',['../gb_8h.html#a68e4586e2401c1e39703571b5b8d934b',1,'gb.h']]], - ['get_5fbkg_5fxy_5faddr_1188',['get_bkg_xy_addr',['../gb_8h.html#a194b27b9e852e93ae0a4b55fae7fee6d',1,'get_bkg_xy_addr(uint8_t x, uint8_t y) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#af83d7fd4e4044ac6677f046f679bd7a9',1,'get_bkg_xy_addr(uint8_t x, uint8_t y) __z88dk_callee __preserves_regs(iyh: sms.h']]], - ['get_5fdata_1189',['get_data',['../gb_8h.html#a924aa554f639022be104392891e156cd',1,'gb.h']]], - ['get_5fmode_1190',['get_mode',['../gb_8h.html#a4ed6f21654895e40981802fdbe6b003d',1,'get_mode() OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#ad9a83378f5ec1f6444c879e4cf1e1a83',1,'get_mode() OLDCALL: sms.h']]], - ['get_5fsprite_5fdata_1191',['get_sprite_data',['../gb_8h.html#abc82930da7beb0611778f8644e90b5e9',1,'gb.h']]], - ['get_5fsprite_5fprop_1192',['get_sprite_prop',['../gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88',1,'get_sprite_prop(uint8_t nb): gb.h'],['../sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88',1,'get_sprite_prop(uint8_t nb): sms.h']]], - ['get_5fsprite_5ftile_1193',['get_sprite_tile',['../gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a',1,'get_sprite_tile(uint8_t nb): gb.h'],['../sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a',1,'get_sprite_tile(uint8_t nb): sms.h']]], - ['get_5ftiles_1194',['get_tiles',['../gb_8h.html#afdc3ad3ac77ec32609195ae125b919e1',1,'gb.h']]], - ['get_5fvram_5fbyte_1195',['get_vram_byte',['../gb_8h.html#a6558dad88815aa73fb81fae2ae90473d',1,'gb.h']]], - ['get_5fwin_5fdata_1196',['get_win_data',['../gb_8h.html#ab6321884a3f9028ea0056851d4926919',1,'gb.h']]], - ['get_5fwin_5ftile_5fxy_1197',['get_win_tile_xy',['../gb_8h.html#a82582e006a955d2c934786e9d7c29623',1,'gb.h']]], - ['get_5fwin_5ftiles_1198',['get_win_tiles',['../gb_8h.html#a7cf5bd73a7493475e17f84995cf865bd',1,'gb.h']]], - ['get_5fwin_5fxy_5faddr_1199',['get_win_xy_addr',['../gb_8h.html#aea1d2b59419abf7c1a9b95bb278f7a6c',1,'gb.h']]], - ['getchar_1200',['getchar',['../stdio_8h.html#a2c79157c8bc2db72fbf1e34f291ff5d8',1,'stdio.h']]], - ['getpix_1201',['getpix',['../drawing_8h.html#a1e268a46a8151f9cc3b7b40100123d09',1,'drawing.h']]], - ['gets_1202',['gets',['../stdio_8h.html#a00a5b27bc2e5280952b02c304d7b27bc',1,'stdio.h']]], - ['gotogxy_1203',['gotogxy',['../drawing_8h.html#a2d6cbdc9528ec11ac54bd3dbe754ab74',1,'drawing.h']]], - ['gotoxy_1204',['gotoxy',['../console_8h.html#a8b4f3b427a9c6d87a09e1983df077e58',1,'console.h']]], - ['gprint_1205',['gprint',['../drawing_8h.html#aef65e5faa0adb82768fca06aafbe50e8',1,'drawing.h']]], - ['gprintf_1206',['gprintf',['../drawing_8h.html#a5f7a0ed309f9526e9be285146559848c',1,'drawing.h']]], - ['gprintln_1207',['gprintln',['../drawing_8h.html#afeb7c0a887fe3d18659175de77a787a5',1,'drawing.h']]], - ['gprintn_1208',['gprintn',['../drawing_8h.html#a9d70278d1d09fdc24ea6bd9788dbd96a',1,'drawing.h']]] + ['gb_5fdecompress_1216',['gb_decompress',['../gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2',1,'gb_decompress(const uint8_t *sour, uint8_t *dest) OLDCALL PRESERVES_REGS(b: gbdecompress.h'],['../sms_2gbdecompress_8h.html#a9cd1564f78842562c450becf22002db2',1,'gb_decompress(const uint8_t *sour, uint8_t *dest) Z88DK_CALLEE PRESERVES_REGS(b: gbdecompress.h']]], + ['gb_5fdecompress_5fbkg_5fdata_1217',['gb_decompress_bkg_data',['../gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8',1,'gbdecompress.h']]], + ['gb_5fdecompress_5fsprite_5fdata_1218',['gb_decompress_sprite_data',['../gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff',1,'gbdecompress.h']]], + ['gb_5fdecompress_5fwin_5fdata_1219',['gb_decompress_win_data',['../gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284',1,'gbdecompress.h']]], + ['get_5fbkg_5fdata_1220',['get_bkg_data',['../gb_8h.html#a5c13238dfec416439d75b133a272e6df',1,'gb.h']]], + ['get_5fbkg_5ftile_5fxy_1221',['get_bkg_tile_xy',['../gb_8h.html#a55c6581dbe9300dc6df41730f090af51',1,'gb.h']]], + ['get_5fbkg_5ftiles_1222',['get_bkg_tiles',['../gb_8h.html#aa6bcf24d97f93307b30f2906251f39a0',1,'gb.h']]], + ['get_5fbkg_5fxy_5faddr_1223',['get_bkg_xy_addr',['../gb_8h.html#a9005b80d3315f50f0fb0e1728e7ee60f',1,'get_bkg_xy_addr(uint8_t x, uint8_t y) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63',1,'get_bkg_xy_addr(uint8_t x, uint8_t y) Z88DK_CALLEE PRESERVES_REGS(iyh: sms.h']]], + ['get_5fdata_1224',['get_data',['../gb_8h.html#afd8fd71eaa36b0ddd54a2e8e516ed224',1,'gb.h']]], + ['get_5fmode_1225',['get_mode',['../gb_8h.html#a19969b36a6535fc6a966c0e5476baf9c',1,'get_mode() OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#ad9a83378f5ec1f6444c879e4cf1e1a83',1,'get_mode() OLDCALL: sms.h']]], + ['get_5fsprite_5fdata_1226',['get_sprite_data',['../gb_8h.html#adcdec4034a14abc5be9bb88c29b947c9',1,'gb.h']]], + ['get_5fsprite_5fprop_1227',['get_sprite_prop',['../gb_8h.html#a6b873c807c9e2c90fb574951e85fdf88',1,'get_sprite_prop(uint8_t nb): gb.h'],['../sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88',1,'get_sprite_prop(uint8_t nb): sms.h']]], + ['get_5fsprite_5ftile_1228',['get_sprite_tile',['../gb_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a',1,'get_sprite_tile(uint8_t nb): gb.h'],['../sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a',1,'get_sprite_tile(uint8_t nb): sms.h']]], + ['get_5ftiles_1229',['get_tiles',['../gb_8h.html#a728b9440accedc5fb3477be3d150323a',1,'gb.h']]], + ['get_5fvram_5fbyte_1230',['get_vram_byte',['../gb_8h.html#aa33ba8b8d381df76edf15ea251ccb675',1,'gb.h']]], + ['get_5fwin_5fdata_1231',['get_win_data',['../gb_8h.html#a7ef32e7c1669aba48f235500a495baba',1,'gb.h']]], + ['get_5fwin_5ftile_5fxy_1232',['get_win_tile_xy',['../gb_8h.html#a2e29fdca81c28c627c2591029722e71c',1,'gb.h']]], + ['get_5fwin_5ftiles_1233',['get_win_tiles',['../gb_8h.html#a8a469de4c6640f921254b336b5a6191a',1,'gb.h']]], + ['get_5fwin_5fxy_5faddr_1234',['get_win_xy_addr',['../gb_8h.html#aa8213cfad631865e3b6faec18e772cb4',1,'gb.h']]], + ['getchar_1235',['getchar',['../stdio_8h.html#a2c79157c8bc2db72fbf1e34f291ff5d8',1,'stdio.h']]], + ['getpix_1236',['getpix',['../drawing_8h.html#a1e268a46a8151f9cc3b7b40100123d09',1,'drawing.h']]], + ['gets_1237',['gets',['../stdio_8h.html#a00a5b27bc2e5280952b02c304d7b27bc',1,'stdio.h']]], + ['gotogxy_1238',['gotogxy',['../drawing_8h.html#a2d6cbdc9528ec11ac54bd3dbe754ab74',1,'drawing.h']]], + ['gotoxy_1239',['gotoxy',['../console_8h.html#a8b4f3b427a9c6d87a09e1983df077e58',1,'console.h']]], + ['gprint_1240',['gprint',['../drawing_8h.html#aef65e5faa0adb82768fca06aafbe50e8',1,'drawing.h']]], + ['gprintf_1241',['gprintf',['../drawing_8h.html#a5f7a0ed309f9526e9be285146559848c',1,'drawing.h']]], + ['gprintln_1242',['gprintln',['../drawing_8h.html#afeb7c0a887fe3d18659175de77a787a5',1,'drawing.h']]], + ['gprintn_1243',['gprintn',['../drawing_8h.html#a9d70278d1d09fdc24ea6bd9788dbd96a',1,'drawing.h']]] ]; diff --git a/docs/api/search/functions_8.js b/docs/api/search/functions_8.js @@ -1,7 +1,7 @@ var searchData= [ - ['hide_5fmetasprite_1209',['hide_metasprite',['../gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906',1,'hide_metasprite(const metasprite_t *metasprite, uint8_t base_sprite): metasprites.h'],['../sms_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906',1,'hide_metasprite(const metasprite_t *metasprite, uint8_t base_sprite): metasprites.h']]], - ['hide_5fsprite_1210',['hide_sprite',['../gb_8h.html#ad22c51635d052399bbbe1777999c794d',1,'hide_sprite(uint8_t nb): gb.h'],['../sms_8h.html#ad22c51635d052399bbbe1777999c794d',1,'hide_sprite(uint8_t nb): sms.h']]], - ['hide_5fsprites_5frange_1211',['hide_sprites_range',['../gb_2metasprites_8h.html#aa01862cdcf50742c46c819668500b76b',1,'hide_sprites_range(UINT8 from, UINT8 to) OLDCALL __preserves_regs(b: metasprites.h'],['../sms_2metasprites_8h.html#a23abcd0a2eb5033abbb9dc0e2ea494d8',1,'hide_sprites_range(UINT8 from, UINT8 to) __z88dk_callee __preserves_regs(iyh: metasprites.h']]], - ['hiramcpy_1212',['hiramcpy',['../gb_8h.html#a08365da56dbc2a97c480818c0e6a62b9',1,'gb.h']]] + ['hide_5fmetasprite_1244',['hide_metasprite',['../gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906',1,'hide_metasprite(const metasprite_t *metasprite, uint8_t base_sprite): metasprites.h'],['../sms_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906',1,'hide_metasprite(const metasprite_t *metasprite, uint8_t base_sprite): metasprites.h']]], + ['hide_5fsprite_1245',['hide_sprite',['../gb_8h.html#ad22c51635d052399bbbe1777999c794d',1,'hide_sprite(uint8_t nb): gb.h'],['../sms_8h.html#ad22c51635d052399bbbe1777999c794d',1,'hide_sprite(uint8_t nb): sms.h']]], + ['hide_5fsprites_5frange_1246',['hide_sprites_range',['../gb_2metasprites_8h.html#a77bb622fa362f2e04be1bafaa099a709',1,'hide_sprites_range(UINT8 from, UINT8 to) OLDCALL PRESERVES_REGS(b: metasprites.h'],['../sms_2metasprites_8h.html#a0c668f442b4764275a1dade597a59e20',1,'hide_sprites_range(UINT8 from, UINT8 to) Z88DK_CALLEE PRESERVES_REGS(iyh: metasprites.h']]], + ['hiramcpy_1247',['hiramcpy',['../gb_8h.html#a97b9f2fc6ac7cae97656aca940d65d44',1,'gb.h']]] ]; diff --git a/docs/api/search/functions_9.js b/docs/api/search/functions_9.js @@ -1,13 +1,13 @@ var searchData= [ - ['init_5fbkg_1213',['init_bkg',['../gb_8h.html#ac7cc92070d07d5096e2ccef3ea54cade',1,'gb.h']]], - ['init_5fwin_1214',['init_win',['../gb_8h.html#a1df9458387eecf1a164098e90350e561',1,'gb.h']]], - ['initarand_1215',['initarand',['../rand_8h.html#a333400f85febd7e1360835955103db8b',1,'rand.h']]], - ['initrand_1216',['initrand',['../rand_8h.html#a964538799843c0ba5bd01151ef7e2640',1,'rand.h']]], - ['isalpha_1217',['isalpha',['../ctype_8h.html#aa08b907b413d5f156b6214e72d0612bb',1,'ctype.h']]], - ['isdigit_1218',['isdigit',['../ctype_8h.html#af3380cc4b95d21a135cd1b35fc9a09cc',1,'ctype.h']]], - ['islower_1219',['islower',['../ctype_8h.html#a0b70d87c74367a00d03702a44da39614',1,'ctype.h']]], - ['isspace_1220',['isspace',['../ctype_8h.html#a48644b2a9c138472af0e1c83f688bd58',1,'ctype.h']]], - ['isupper_1221',['isupper',['../ctype_8h.html#a31e9b95a4c8bca65d901dca5c0c95c1f',1,'ctype.h']]], - ['itoa_1222',['itoa',['../stdlib_8h.html#aac2ea595a9ea8f5ebd883a0bc05eba5c',1,'stdlib.h']]] + ['init_5fbkg_1248',['init_bkg',['../gb_8h.html#a46058204097dd305bf72bc20ea7f7a3b',1,'gb.h']]], + ['init_5fwin_1249',['init_win',['../gb_8h.html#af6ac67037de041eb0141ba3725b1db83',1,'gb.h']]], + ['initarand_1250',['initarand',['../rand_8h.html#a333400f85febd7e1360835955103db8b',1,'rand.h']]], + ['initrand_1251',['initrand',['../rand_8h.html#a964538799843c0ba5bd01151ef7e2640',1,'rand.h']]], + ['isalpha_1252',['isalpha',['../ctype_8h.html#aa08b907b413d5f156b6214e72d0612bb',1,'ctype.h']]], + ['isdigit_1253',['isdigit',['../ctype_8h.html#af3380cc4b95d21a135cd1b35fc9a09cc',1,'ctype.h']]], + ['islower_1254',['islower',['../ctype_8h.html#a0b70d87c74367a00d03702a44da39614',1,'ctype.h']]], + ['isspace_1255',['isspace',['../ctype_8h.html#a48644b2a9c138472af0e1c83f688bd58',1,'ctype.h']]], + ['isupper_1256',['isupper',['../ctype_8h.html#a31e9b95a4c8bca65d901dca5c0c95c1f',1,'ctype.h']]], + ['itoa_1257',['itoa',['../stdlib_8h.html#aac2ea595a9ea8f5ebd883a0bc05eba5c',1,'stdlib.h']]] ]; diff --git a/docs/api/search/functions_a.js b/docs/api/search/functions_a.js @@ -1,6 +1,6 @@ var searchData= [ - ['joypad_1223',['joypad',['../gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1',1,'joypad() OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1',1,'joypad() OLDCALL __preserves_regs(b: sms.h']]], - ['joypad_5fex_1224',['joypad_ex',['../gb_8h.html#a5166ceebbaa646e2667df1a219c7b903',1,'joypad_ex(joypads_t *joypads) OLDCALL __preserves_regs(b: gb.h'],['../sms_8h.html#aec8e36355bb7381000606b1871db5977',1,'joypad_ex(joypads_t *joypads) __z88dk_fastcall __preserves_regs(iyh: sms.h']]], - ['joypad_5finit_1225',['joypad_init',['../gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e',1,'joypad_init(uint8_t npads, joypads_t *joypads) OLDCALL: gb.h'],['../sms_8h.html#a294f858312544fa89bf17adbba51f145',1,'joypad_init(uint8_t npads, joypads_t *joypads) __z88dk_callee: sms.h']]] + ['joypad_1258',['joypad',['../gb_8h.html#a176c477d759b814664785f3a0ad5e253',1,'joypad() OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a176c477d759b814664785f3a0ad5e253',1,'joypad() OLDCALL PRESERVES_REGS(b: sms.h']]], + ['joypad_5fex_1259',['joypad_ex',['../gb_8h.html#a6e6f8eb1de2ae1ec9adeafbd7b9884db',1,'joypad_ex(joypads_t *joypads) OLDCALL PRESERVES_REGS(b: gb.h'],['../sms_8h.html#a1d45c65829490c5ec98362f5e60edc20',1,'joypad_ex(joypads_t *joypads) Z88DK_FASTCALL PRESERVES_REGS(iyh: sms.h']]], + ['joypad_5finit_1260',['joypad_init',['../gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e',1,'joypad_init(uint8_t npads, joypads_t *joypads) OLDCALL: gb.h'],['../sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862',1,'joypad_init(uint8_t npads, joypads_t *joypads) Z88DK_CALLEE: sms.h']]] ]; diff --git a/docs/api/search/functions_b.js b/docs/api/search/functions_b.js @@ -1,7 +1,7 @@ var searchData= [ - ['labs_1226',['labs',['../stdlib_8h.html#a8b7210ba18f750970a2db3c73a841a22',1,'stdlib.h']]], - ['line_1227',['line',['../drawing_8h.html#afe0ad8959a2867c4b60829d065660f1b',1,'drawing.h']]], - ['longjmp_1228',['longjmp',['../setjmp_8h.html#ae8f437ea759f560a09affd1bab9acb74',1,'setjmp.h']]], - ['ltoa_1229',['ltoa',['../stdlib_8h.html#a6374e62474a5a76c7ace9a59fb1cc829',1,'stdlib.h']]] + ['labs_1261',['labs',['../stdlib_8h.html#a8b7210ba18f750970a2db3c73a841a22',1,'stdlib.h']]], + ['line_1262',['line',['../drawing_8h.html#afe0ad8959a2867c4b60829d065660f1b',1,'drawing.h']]], + ['longjmp_1263',['longjmp',['../setjmp_8h.html#ae8f437ea759f560a09affd1bab9acb74',1,'setjmp.h']]], + ['ltoa_1264',['ltoa',['../stdlib_8h.html#a6374e62474a5a76c7ace9a59fb1cc829',1,'stdlib.h']]] ]; diff --git a/docs/api/search/functions_c.js b/docs/api/search/functions_c.js @@ -1,15 +1,16 @@ var searchData= [ - ['malloc_1230',['malloc',['../stdlib_8h.html#a7ac38fce3243a7dcf448301ee9ffd392',1,'stdlib.h']]], - ['memcpy_1231',['memcpy',['../asm_2gbz80_2string_8h.html#a36e8e03da711f0d862ca1d62a001a627',1,'memcpy(void *dest, const void *src, size_t len) OLDCALL __preserves_regs(b: string.h'],['../asm_2z80_2string_8h.html#abec66c0a707472b9090ea4cd0402d648',1,'memcpy(void *dest, const void *src, size_t len) OLDCALL: string.h']]], - ['memmove_1232',['memmove',['../asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90',1,'memmove(void *dest, const void *src, size_t n): string.h'],['../asm_2z80_2string_8h.html#a854ba725a4e429439ccf93b1f5ad7b3a',1,'memmove(void *dest, const void *src, size_t n) OLDCALL: string.h']]], - ['memset_1233',['memset',['../asm_2gbz80_2string_8h.html#af2fcd4c99b3b490e6db059e741676274',1,'memset(void *s, int c, size_t n) OLDCALL __preserves_regs(b: string.h'],['../asm_2z80_2string_8h.html#a558614036595364d1ddea9e8a4d6d475',1,'memset(void *s, int c, size_t n) __z88dk_callee: string.h']]], - ['mode_1234',['mode',['../gb_8h.html#a3ea524204d839377cf39842eec23e202',1,'mode(uint8_t m) OLDCALL: gb.h'],['../sms_8h.html#a3ea524204d839377cf39842eec23e202',1,'mode(uint8_t m) OLDCALL: sms.h']]], - ['move_5fbkg_1235',['move_bkg',['../gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57',1,'move_bkg(uint8_t x, uint8_t y): gb.h'],['../sms_8h.html#a6261537edc74068e3f7f057e6a3e8a57',1,'move_bkg(uint8_t x, uint8_t y): sms.h']]], - ['move_5fmetasprite_1236',['move_metasprite',['../gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b',1,'move_metasprite(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y): metasprites.h'],['../sms_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b',1,'move_metasprite(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y): metasprites.h']]], - ['move_5fmetasprite_5fhflip_1237',['move_metasprite_hflip',['../gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46',1,'metasprites.h']]], - ['move_5fmetasprite_5fhvflip_1238',['move_metasprite_hvflip',['../gb_2metasprites_8h.html#a32a61acd4a76d1de5814f7b94c8bc23f',1,'metasprites.h']]], - ['move_5fmetasprite_5fvflip_1239',['move_metasprite_vflip',['../gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a',1,'metasprites.h']]], - ['move_5fsprite_1240',['move_sprite',['../gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd',1,'move_sprite(uint8_t nb, uint8_t x, uint8_t y): gb.h'],['../sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd',1,'move_sprite(uint8_t nb, uint8_t x, uint8_t y): sms.h']]], - ['move_5fwin_1241',['move_win',['../gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5',1,'gb.h']]] + ['malloc_1265',['malloc',['../stdlib_8h.html#a7ac38fce3243a7dcf448301ee9ffd392',1,'stdlib.h']]], + ['memcmp_1266',['memcmp',['../asm_2gbz80_2string_8h.html#a52701f453c97403ec1b12d286484259b',1,'memcmp(const void *buf1, const void *buf2, size_t count) OLDCALL: string.h'],['../asm_2z80_2string_8h.html#add78645dba711c548ab16d056fb83b7e',1,'memcmp(const void *buf1, const void *buf2, size_t count) Z88DK_CALLEE: string.h']]], + ['memcpy_1267',['memcpy',['../asm_2gbz80_2string_8h.html#a6a1a6cbe7fb6102819098340a4986574',1,'memcpy(void *dest, const void *src, size_t len) OLDCALL PRESERVES_REGS(b: string.h'],['../asm_2z80_2string_8h.html#abec66c0a707472b9090ea4cd0402d648',1,'memcpy(void *dest, const void *src, size_t len) OLDCALL: string.h']]], + ['memmove_1268',['memmove',['../asm_2gbz80_2string_8h.html#a802c986820d3866639922b6bc9484f90',1,'memmove(void *dest, const void *src, size_t n): string.h'],['../asm_2z80_2string_8h.html#a854ba725a4e429439ccf93b1f5ad7b3a',1,'memmove(void *dest, const void *src, size_t n) OLDCALL: string.h']]], + ['memset_1269',['memset',['../asm_2gbz80_2string_8h.html#a4bc4146b1a053fc4ec10f1377bb21a4f',1,'memset(void *s, int c, size_t n) OLDCALL PRESERVES_REGS(b: string.h'],['../asm_2z80_2string_8h.html#a6491121b0087a8848354d9de3aa2444b',1,'memset(void *s, int c, size_t n) Z88DK_CALLEE: string.h']]], + ['mode_1270',['mode',['../gb_8h.html#a3ea524204d839377cf39842eec23e202',1,'mode(uint8_t m) OLDCALL: gb.h'],['../sms_8h.html#a3ea524204d839377cf39842eec23e202',1,'mode(uint8_t m) OLDCALL: sms.h']]], + ['move_5fbkg_1271',['move_bkg',['../gb_8h.html#a6261537edc74068e3f7f057e6a3e8a57',1,'move_bkg(uint8_t x, uint8_t y): gb.h'],['../sms_8h.html#a6261537edc74068e3f7f057e6a3e8a57',1,'move_bkg(uint8_t x, uint8_t y): sms.h']]], + ['move_5fmetasprite_1272',['move_metasprite',['../gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b',1,'move_metasprite(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y): metasprites.h'],['../sms_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b',1,'move_metasprite(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y): metasprites.h']]], + ['move_5fmetasprite_5fhflip_1273',['move_metasprite_hflip',['../gb_2metasprites_8h.html#a27e3bb17d0458b60b1f0433f66301f46',1,'metasprites.h']]], + ['move_5fmetasprite_5fhvflip_1274',['move_metasprite_hvflip',['../gb_2metasprites_8h.html#a32a61acd4a76d1de5814f7b94c8bc23f',1,'metasprites.h']]], + ['move_5fmetasprite_5fvflip_1275',['move_metasprite_vflip',['../gb_2metasprites_8h.html#aa8ff2df0679ebb0b6e0a8f6d83127e1a',1,'metasprites.h']]], + ['move_5fsprite_1276',['move_sprite',['../gb_8h.html#ab42c12c1d9aed3fd963248fbea9830cd',1,'move_sprite(uint8_t nb, uint8_t x, uint8_t y): gb.h'],['../sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd',1,'move_sprite(uint8_t nb, uint8_t x, uint8_t y): sms.h']]], + ['move_5fwin_1277',['move_win',['../gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5',1,'gb.h']]] ]; diff --git a/docs/api/search/functions_d.js b/docs/api/search/functions_d.js @@ -1,4 +1,4 @@ var searchData= [ - ['nowait_5fint_5fhandler_1242',['nowait_int_handler',['../gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9',1,'gb.h']]] + ['nowait_5fint_5fhandler_1278',['nowait_int_handler',['../gb_8h.html#a695c6d0e8fd7cf11dae0d4c67bc058f9',1,'gb.h']]] ]; diff --git a/docs/api/search/functions_e.js b/docs/api/search/functions_e.js @@ -1,10 +1,10 @@ var searchData= [ - ['plot_1243',['plot',['../drawing_8h.html#ac888c327137d7f00cb3af57af236602a',1,'drawing.h']]], - ['plot_5fpoint_1244',['plot_point',['../drawing_8h.html#a595c77bca15884c75fd85af84f373814',1,'drawing.h']]], - ['posx_1245',['posx',['../console_8h.html#a03528dec6542c497a3645dec3e8f0770',1,'console.h']]], - ['posy_1246',['posy',['../console_8h.html#a1e39e68fcb61161e1855b06ad5782be9',1,'console.h']]], - ['printf_1247',['printf',['../stdio_8h.html#ab403fa700816f08631ba75bc536f74d4',1,'stdio.h']]], - ['putchar_1248',['putchar',['../stdio_8h.html#a9bc92fb9f23c72a66d030d4028dda72d',1,'stdio.h']]], - ['puts_1249',['puts',['../stdio_8h.html#a299d0f9cb9e7b14e1278a4ed21e4d76f',1,'stdio.h']]] + ['plot_1279',['plot',['../drawing_8h.html#ac888c327137d7f00cb3af57af236602a',1,'drawing.h']]], + ['plot_5fpoint_1280',['plot_point',['../drawing_8h.html#a595c77bca15884c75fd85af84f373814',1,'drawing.h']]], + ['posx_1281',['posx',['../console_8h.html#a03528dec6542c497a3645dec3e8f0770',1,'console.h']]], + ['posy_1282',['posy',['../console_8h.html#a1e39e68fcb61161e1855b06ad5782be9',1,'console.h']]], + ['printf_1283',['printf',['../stdio_8h.html#ab403fa700816f08631ba75bc536f74d4',1,'stdio.h']]], + ['putchar_1284',['putchar',['../stdio_8h.html#a9bc92fb9f23c72a66d030d4028dda72d',1,'stdio.h']]], + ['puts_1285',['puts',['../stdio_8h.html#a299d0f9cb9e7b14e1278a4ed21e4d76f',1,'stdio.h']]] ]; diff --git a/docs/api/search/functions_f.js b/docs/api/search/functions_f.js @@ -1,4 +1,4 @@ var searchData= [ - ['qsort_1250',['qsort',['../stdlib_8h.html#a02d9d6443b9e613802b2e9c5c71caf59',1,'stdlib.h']]] + ['qsort_1286',['qsort',['../stdlib_8h.html#a02d9d6443b9e613802b2e9c5c71caf59',1,'stdlib.h']]] ]; diff --git a/docs/api/search/groups_0.js b/docs/api/search/groups_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['list_20of_20gbdk_20fonts_2160',['List of gbdk fonts',['../group__gbdk__fonts.html',1,'']]] + ['list_20of_20gbdk_20fonts_2226',['List of gbdk fonts',['../group__gbdk__fonts.html',1,'']]] ]; diff --git a/docs/api/search/pages_0.js b/docs/api/search/pages_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['coding_20guidelines_2161',['Coding Guidelines',['../docs_coding_guidelines.html',1,'index']]] + ['coding_20guidelines_2227',['Coding Guidelines',['../docs_coding_guidelines.html',1,'index']]] ]; diff --git a/docs/api/search/pages_1.js b/docs/api/search/pages_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['example_20programs_2162',['Example Programs',['../docs_example_programs.html',1,'index']]] + ['example_20programs_2228',['Example Programs',['../docs_example_programs.html',1,'index']]] ]; diff --git a/docs/api/search/pages_2.js b/docs/api/search/pages_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['frequently_20asked_20questions_20_28faq_29_2163',['Frequently Asked Questions (FAQ)',['../docs_faq.html',1,'index']]] + ['frequently_20asked_20questions_20_28faq_29_2229',['Frequently Asked Questions (FAQ)',['../docs_faq.html',1,'index']]] ]; diff --git a/docs/api/search/pages_3.js b/docs/api/search/pages_3.js @@ -1,7 +1,7 @@ var searchData= [ - ['getting_20started_2164',['Getting Started',['../docs_getting_started.html',1,'index']]], - ['gbdk_20releases_2165',['GBDK Releases',['../docs_releases.html',1,'index']]], - ['gbdk_20toolchain_2166',['GBDK Toolchain',['../docs_toolchain.html',1,'index']]], - ['general_20documentation_2167',['General Documentation',['../index.html',1,'']]] + ['getting_20started_2230',['Getting Started',['../docs_getting_started.html',1,'index']]], + ['gbdk_20releases_2231',['GBDK Releases',['../docs_releases.html',1,'index']]], + ['gbdk_20toolchain_2232',['GBDK Toolchain',['../docs_toolchain.html',1,'index']]], + ['general_20documentation_2233',['General Documentation',['../index.html',1,'']]] ]; diff --git a/docs/api/search/pages_4.js b/docs/api/search/pages_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['links_20and_20third_2dparty_20tools_2168',['Links and Third-Party Tools',['../docs_links_and_tools.html',1,'index']]] + ['links_20and_20third_2dparty_20tools_2234',['Links and Third-Party Tools',['../docs_links_and_tools.html',1,'index']]] ]; diff --git a/docs/api/search/pages_5.js b/docs/api/search/pages_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['migrating_20to_20new_20gbdk_20versions_2169',['Migrating to new GBDK Versions',['../docs_migrating_versions.html',1,'index']]] + ['migrating_20to_20new_20gbdk_20versions_2235',['Migrating to new GBDK Versions',['../docs_migrating_versions.html',1,'index']]] ]; diff --git a/docs/api/search/pages_6.js b/docs/api/search/pages_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['rom_2fram_20banking_20and_20mbcs_2170',['ROM/RAM Banking and MBCs',['../docs_rombanking_mbcs.html',1,'index']]] + ['rom_2fram_20banking_20and_20mbcs_2236',['ROM/RAM Banking and MBCs',['../docs_rombanking_mbcs.html',1,'index']]] ]; diff --git a/docs/api/search/pages_7.js b/docs/api/search/pages_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['supported_20consoles_20_26_20cross_20compiling_2171',['Supported Consoles & Cross Compiling',['../docs_supported_consoles.html',1,'index']]] + ['supported_20consoles_20_26_20cross_20compiling_2237',['Supported Consoles & Cross Compiling',['../docs_supported_consoles.html',1,'index']]] ]; diff --git a/docs/api/search/pages_8.js b/docs/api/search/pages_8.js @@ -1,5 +1,5 @@ var searchData= [ - ['toolchain_20settings_2172',['Toolchain settings',['../docs_toolchain_settings.html',1,'index']]], - ['todo_20list_2173',['Todo List',['../todo.html',1,'']]] + ['toolchain_20settings_2238',['Toolchain settings',['../docs_toolchain_settings.html',1,'index']]], + ['todo_20list_2239',['Todo List',['../todo.html',1,'']]] ]; diff --git a/docs/api/search/pages_9.js b/docs/api/search/pages_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['using_20gbdk_2174',['Using GBDK',['../docs_using_gbdk.html',1,'index']]] + ['using_20gbdk_2240',['Using GBDK',['../docs_using_gbdk.html',1,'index']]] ]; diff --git a/docs/api/search/searchdata.js b/docs/api/search/searchdata.js @@ -1,12 +1,12 @@ var indexSectionsWithContent = { - 0: "012_abcdefghijklmnopqrstuvwxy", + 0: "012_abcdefghijklmnopqrstuvwxyz", 1: "_aijmos", - 2: "012abcdfghilmprstv", + 2: "012abcdefghilmprstv", 3: "_abcdefghijlmnpqrstuvw", 4: "_abcdefhijklnoprstvwxy", 5: "bcdfijlmopstuvw", - 6: "_abcdefghijklmnoprstuvwx", + 6: "_abcdefghijklmnoprstuvwxz", 7: "l", 8: "cefglmrstu" }; diff --git a/docs/api/search/typedefs_0.js b/docs/api/search/typedefs_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['bcd_1489',['BCD',['../bcd_8h.html#a4813acd7f1852dd32b67175ca6aca2eb',1,'bcd.h']]], - ['boolean_1490',['BOOLEAN',['../asm_2types_8h.html#a5e2fb030036b42012a298e24aca66071',1,'types.h']]], - ['byte_1491',['BYTE',['../asm_2types_8h.html#a0059ccf0a32e1f146ef70ce970908bf6',1,'types.h']]] + ['bcd_1533',['BCD',['../bcd_8h.html#a4813acd7f1852dd32b67175ca6aca2eb',1,'bcd.h']]], + ['boolean_1534',['BOOLEAN',['../asm_2types_8h.html#a5e2fb030036b42012a298e24aca66071',1,'types.h']]], + ['byte_1535',['BYTE',['../asm_2types_8h.html#a0059ccf0a32e1f146ef70ce970908bf6',1,'types.h']]] ]; diff --git a/docs/api/search/typedefs_1.js b/docs/api/search/typedefs_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['clock_5ft_1492',['clock_t',['../asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23',1,'clock_t(): types.h'],['../asm_2z80_2types_8h.html#ad666a63cb94701b620ce999f84629d23',1,'clock_t(): types.h']]] + ['clock_5ft_1536',['clock_t',['../asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f',1,'clock_t(): types.h'],['../asm_2z80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f',1,'clock_t(): types.h']]] ]; diff --git a/docs/api/search/typedefs_2.js b/docs/api/search/typedefs_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['dword_1493',['DWORD',['../asm_2types_8h.html#ad4ab93994d05960e2f96e83b4c45c1cf',1,'types.h']]] + ['dword_1537',['DWORD',['../asm_2types_8h.html#ad4ab93994d05960e2f96e83b4c45c1cf',1,'types.h']]] ]; diff --git a/docs/api/search/typedefs_3.js b/docs/api/search/typedefs_3.js @@ -1,6 +1,6 @@ var searchData= [ - ['far_5fptr_1494',['FAR_PTR',['../far__ptr_8h.html#a7c6f52121dd07af29b477f4e64314842',1,'far_ptr.h']]], - ['fixed_1495',['fixed',['../asm_2types_8h.html#ab61f8ff6a444351a91fc9a67c8e6145f',1,'types.h']]], - ['font_5ft_1496',['font_t',['../font_8h.html#a7c6b54e58c41763c66f15ec4528a1d4a',1,'font.h']]] + ['far_5fptr_1538',['FAR_PTR',['../far__ptr_8h.html#a7c6f52121dd07af29b477f4e64314842',1,'far_ptr.h']]], + ['fixed_1539',['fixed',['../asm_2types_8h.html#ab61f8ff6a444351a91fc9a67c8e6145f',1,'types.h']]], + ['font_5ft_1540',['font_t',['../font_8h.html#a7c6b54e58c41763c66f15ec4528a1d4a',1,'font.h']]] ]; diff --git a/docs/api/search/typedefs_4.js b/docs/api/search/typedefs_4.js @@ -1,20 +1,20 @@ var searchData= [ - ['int16_1497',['INT16',['../asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d',1,'INT16(): types.h'],['../asm_2z80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d',1,'INT16(): types.h']]], - ['int16_5ft_1498',['int16_t',['../stdint_8h.html#a66634143db08bebe9b46ab4cb1fc6fd3',1,'stdint.h']]], - ['int32_1499',['INT32',['../asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d',1,'INT32(): types.h'],['../asm_2z80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d',1,'INT32(): types.h']]], - ['int32_5ft_1500',['int32_t',['../stdint_8h.html#a7cf4a942912b990a96c39f9a2b81aa32',1,'stdint.h']]], - ['int8_1501',['INT8',['../asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d',1,'INT8(): types.h'],['../asm_2z80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d',1,'INT8(): types.h']]], - ['int8_5ft_1502',['int8_t',['../stdint_8h.html#aef44329758059c91c76d334e8fc09700',1,'stdint.h']]], - ['int_5ffast16_5ft_1503',['int_fast16_t',['../stdint_8h.html#afc08556e35ad5fc42968cf164e7852d4',1,'stdint.h']]], - ['int_5ffast32_5ft_1504',['int_fast32_t',['../stdint_8h.html#a21402dabb3274e5161a34a27ccff50db',1,'stdint.h']]], - ['int_5ffast8_5ft_1505',['int_fast8_t',['../stdint_8h.html#afa981e0352f65c207364c9cb82246b53',1,'stdint.h']]], - ['int_5fhandler_1506',['int_handler',['../gb_8h.html#a9508f919d9482d1d51534ccac212454d',1,'int_handler(): gb.h'],['../sms_8h.html#a9508f919d9482d1d51534ccac212454d',1,'int_handler(): sms.h']]], - ['int_5fleast16_5ft_1507',['int_least16_t',['../stdint_8h.html#a3379485af1661b4f36ac1c311832253b',1,'stdint.h']]], - ['int_5fleast32_5ft_1508',['int_least32_t',['../stdint_8h.html#a50d1c7c0834558a78588e1d6d0f62a1d',1,'stdint.h']]], - ['int_5fleast8_5ft_1509',['int_least8_t',['../stdint_8h.html#ae04fa5ea5ad475bfe428842a986fbf28',1,'stdint.h']]], - ['intmax_5ft_1510',['intmax_t',['../stdint_8h.html#aa8722f97ae26d6aeff0fd4ebba7de7e4',1,'stdint.h']]], - ['intptr_5ft_1511',['intptr_t',['../stdint_8h.html#a0fbe4a4f8dd857ee04923a901f27465f',1,'stdint.h']]], - ['isr_5fnested_5fvector_5ft_1512',['isr_nested_vector_t',['../isr_8h.html#a99e64ac886740db0eb63d8ed0235b5c7',1,'isr.h']]], - ['isr_5fvector_5ft_1513',['isr_vector_t',['../isr_8h.html#a40dca48ca391581d7f67d8697533cf30',1,'isr.h']]] + ['int16_1541',['INT16',['../asm_2gbz80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d',1,'INT16(): types.h'],['../asm_2z80_2types_8h.html#a18f1c7ce6c452edd933189d52294af8d',1,'INT16(): types.h']]], + ['int16_5ft_1542',['int16_t',['../stdint_8h.html#a66634143db08bebe9b46ab4cb1fc6fd3',1,'stdint.h']]], + ['int32_1543',['INT32',['../asm_2gbz80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d',1,'INT32(): types.h'],['../asm_2z80_2types_8h.html#a516ea33686d40a7f91f5644851ce7b5d',1,'INT32(): types.h']]], + ['int32_5ft_1544',['int32_t',['../stdint_8h.html#a7cf4a942912b990a96c39f9a2b81aa32',1,'stdint.h']]], + ['int8_1545',['INT8',['../asm_2gbz80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d',1,'INT8(): types.h'],['../asm_2z80_2types_8h.html#a7ebe70ceca856797319175e30bcf003d',1,'INT8(): types.h']]], + ['int8_5ft_1546',['int8_t',['../stdint_8h.html#aef44329758059c91c76d334e8fc09700',1,'stdint.h']]], + ['int_5ffast16_5ft_1547',['int_fast16_t',['../stdint_8h.html#afc08556e35ad5fc42968cf164e7852d4',1,'stdint.h']]], + ['int_5ffast32_5ft_1548',['int_fast32_t',['../stdint_8h.html#a21402dabb3274e5161a34a27ccff50db',1,'stdint.h']]], + ['int_5ffast8_5ft_1549',['int_fast8_t',['../stdint_8h.html#afa981e0352f65c207364c9cb82246b53',1,'stdint.h']]], + ['int_5fhandler_1550',['int_handler',['../gb_8h.html#a9508f919d9482d1d51534ccac212454d',1,'int_handler(): gb.h'],['../sms_8h.html#a9508f919d9482d1d51534ccac212454d',1,'int_handler(): sms.h']]], + ['int_5fleast16_5ft_1551',['int_least16_t',['../stdint_8h.html#a3379485af1661b4f36ac1c311832253b',1,'stdint.h']]], + ['int_5fleast32_5ft_1552',['int_least32_t',['../stdint_8h.html#a50d1c7c0834558a78588e1d6d0f62a1d',1,'stdint.h']]], + ['int_5fleast8_5ft_1553',['int_least8_t',['../stdint_8h.html#ae04fa5ea5ad475bfe428842a986fbf28',1,'stdint.h']]], + ['intmax_5ft_1554',['intmax_t',['../stdint_8h.html#aa8722f97ae26d6aeff0fd4ebba7de7e4',1,'stdint.h']]], + ['intptr_5ft_1555',['intptr_t',['../stdint_8h.html#a0fbe4a4f8dd857ee04923a901f27465f',1,'stdint.h']]], + ['isr_5fnested_5fvector_5ft_1556',['isr_nested_vector_t',['../isr_8h.html#a99e64ac886740db0eb63d8ed0235b5c7',1,'isr.h']]], + ['isr_5fvector_5ft_1557',['isr_vector_t',['../isr_8h.html#a40dca48ca391581d7f67d8697533cf30',1,'isr.h']]] ]; diff --git a/docs/api/search/typedefs_5.js b/docs/api/search/typedefs_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['jmp_5fbuf_1514',['jmp_buf',['../setjmp_8h.html#a88bdd5a73c39b334f254a3ef5488880d',1,'setjmp.h']]] + ['jmp_5fbuf_1558',['jmp_buf',['../setjmp_8h.html#a88bdd5a73c39b334f254a3ef5488880d',1,'setjmp.h']]] ]; diff --git a/docs/api/search/typedefs_6.js b/docs/api/search/typedefs_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['lword_1515',['LWORD',['../asm_2types_8h.html#a6c3850eca7373a470eb6e5a7c6278215',1,'types.h']]] + ['lword_1559',['LWORD',['../asm_2types_8h.html#a6c3850eca7373a470eb6e5a7c6278215',1,'types.h']]] ]; diff --git a/docs/api/search/typedefs_7.js b/docs/api/search/typedefs_7.js @@ -1,5 +1,5 @@ var searchData= [ - ['metasprite_5ft_1516',['metasprite_t',['../gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3',1,'metasprite_t(): metasprites.h'],['../sms_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3',1,'metasprite_t(): metasprites.h']]], - ['mfont_5fhandle_1517',['mfont_handle',['../font_8h.html#aea1f63fe2ea8c7689b061ad93b485553',1,'font.h']]] + ['metasprite_5ft_1560',['metasprite_t',['../gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3',1,'metasprite_t(): metasprites.h'],['../sms_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3',1,'metasprite_t(): metasprites.h']]], + ['mfont_5fhandle_1561',['mfont_handle',['../font_8h.html#aea1f63fe2ea8c7689b061ad93b485553',1,'font.h']]] ]; diff --git a/docs/api/search/typedefs_8.js b/docs/api/search/typedefs_8.js @@ -1,4 +1,4 @@ var searchData= [ - ['oam_5fitem_5ft_1518',['OAM_item_t',['../gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03',1,'gb.h']]] + ['oam_5fitem_5ft_1562',['OAM_item_t',['../gb_8h.html#a8e5ea12b86bdfc812448c2f5c4336c03',1,'gb.h']]] ]; diff --git a/docs/api/search/typedefs_9.js b/docs/api/search/typedefs_9.js @@ -1,7 +1,7 @@ var searchData= [ - ['palette_5fcolor_5ft_1519',['palette_color_t',['../cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495',1,'cgb.h']]], - ['pmfont_5fhandle_1520',['pmfont_handle',['../font_8h.html#a82e0e078fc8a8b6a18538131625dba3a',1,'font.h']]], - ['pointer_1521',['POINTER',['../types_8h.html#ae51a81000f343b8ec43bca1f6a723d7b',1,'types.h']]], - ['ptrdiff_5ft_1522',['ptrdiff_t',['../stddef_8h.html#afbe679a40a36da5983ebc5b39754c065',1,'stddef.h']]] + ['palette_5fcolor_5ft_1563',['palette_color_t',['../cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495',1,'cgb.h']]], + ['pmfont_5fhandle_1564',['pmfont_handle',['../font_8h.html#a82e0e078fc8a8b6a18538131625dba3a',1,'font.h']]], + ['pointer_1565',['POINTER',['../types_8h.html#ae51a81000f343b8ec43bca1f6a723d7b',1,'types.h']]], + ['ptrdiff_5ft_1566',['ptrdiff_t',['../stddef_8h.html#afbe679a40a36da5983ebc5b39754c065',1,'stddef.h']]] ]; diff --git a/docs/api/search/typedefs_a.js b/docs/api/search/typedefs_a.js @@ -1,4 +1,4 @@ var searchData= [ - ['size_5ft_1523',['size_t',['../asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb',1,'size_t(): types.h'],['../asm_2z80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb',1,'size_t(): types.h'],['../stddef_8h.html#a7c94ea6f8948649f8d181ae55911eeaf',1,'size_t(): stddef.h']]] + ['size_5ft_1567',['size_t',['../asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf',1,'size_t(): types.h'],['../asm_2z80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf',1,'size_t(): types.h'],['../stddef_8h.html#a7c94ea6f8948649f8d181ae55911eeaf',1,'size_t(): stddef.h']]] ]; diff --git a/docs/api/search/typedefs_b.js b/docs/api/search/typedefs_b.js @@ -1,4 +1,4 @@ var searchData= [ - ['time_5ft_1524',['time_t',['../time_8h.html#ac84921d4d15eedac7d7b8051a7944c84',1,'time.h']]] + ['time_5ft_1568',['time_t',['../time_8h.html#ac84921d4d15eedac7d7b8051a7944c84',1,'time.h']]] ]; diff --git a/docs/api/search/typedefs_c.js b/docs/api/search/typedefs_c.js @@ -1,21 +1,21 @@ var searchData= [ - ['ubyte_1525',['UBYTE',['../asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95',1,'types.h']]], - ['udword_1526',['UDWORD',['../asm_2types_8h.html#a332730c89876a91d3c98a6c9a764e23e',1,'types.h']]], - ['uint16_1527',['UINT16',['../asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b',1,'UINT16(): types.h'],['../asm_2z80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b',1,'UINT16(): types.h']]], - ['uint16_5ft_1528',['uint16_t',['../stdint_8h.html#adf4d876453337156dde61095e1f20223',1,'stdint.h']]], - ['uint32_1529',['UINT32',['../asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e',1,'UINT32(): types.h'],['../asm_2z80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e',1,'UINT32(): types.h']]], - ['uint32_5ft_1530',['uint32_t',['../stdint_8h.html#a33594304e786b158f3fb30289278f5af',1,'stdint.h']]], - ['uint8_1531',['UINT8',['../asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a',1,'UINT8(): types.h'],['../asm_2z80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a',1,'UINT8(): types.h']]], - ['uint8_5ft_1532',['uint8_t',['../stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5',1,'stdint.h']]], - ['uint_5ffast16_5ft_1533',['uint_fast16_t',['../stdint_8h.html#a226d967fb6d06433caf43f20dc876aae',1,'stdint.h']]], - ['uint_5ffast32_5ft_1534',['uint_fast32_t',['../stdint_8h.html#a8a5d6c5353ff297fd0797e654772361b',1,'stdint.h']]], - ['uint_5ffast8_5ft_1535',['uint_fast8_t',['../stdint_8h.html#a2d31063fef649c85396fb28130ef9795',1,'stdint.h']]], - ['uint_5fleast16_5ft_1536',['uint_least16_t',['../stdint_8h.html#a1bae72af13d35bac8eb9424db7e27bf1',1,'stdint.h']]], - ['uint_5fleast32_5ft_1537',['uint_least32_t',['../stdint_8h.html#a1c0bb513299dbdffa1cce4277593b3ce',1,'stdint.h']]], - ['uint_5fleast8_5ft_1538',['uint_least8_t',['../stdint_8h.html#ab0fdd2a9dc9606590ecccc0a5d8b5b7c',1,'stdint.h']]], - ['uintmax_5ft_1539',['uintmax_t',['../stdint_8h.html#a21649560c6e8dce6de2fb6a95f1bf802',1,'stdint.h']]], - ['uintptr_5ft_1540',['uintptr_t',['../stdint_8h.html#a728e973c799f206f0151c8a3bd1e5699',1,'stdint.h']]], - ['ulword_1541',['ULWORD',['../asm_2types_8h.html#a91374712e986ede0145415318d88fbd8',1,'types.h']]], - ['uword_1542',['UWORD',['../asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75',1,'types.h']]] + ['ubyte_1569',['UBYTE',['../asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95',1,'types.h']]], + ['udword_1570',['UDWORD',['../asm_2types_8h.html#a332730c89876a91d3c98a6c9a764e23e',1,'types.h']]], + ['uint16_1571',['UINT16',['../asm_2gbz80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b',1,'UINT16(): types.h'],['../asm_2z80_2types_8h.html#a805c2c164bdd38d72a30c46e84fb568b',1,'UINT16(): types.h']]], + ['uint16_5ft_1572',['uint16_t',['../stdint_8h.html#adf4d876453337156dde61095e1f20223',1,'stdint.h']]], + ['uint32_1573',['UINT32',['../asm_2gbz80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e',1,'UINT32(): types.h'],['../asm_2z80_2types_8h.html#a0b39d6d754cb24c708b0f2bdbe88130e',1,'UINT32(): types.h']]], + ['uint32_5ft_1574',['uint32_t',['../stdint_8h.html#a33594304e786b158f3fb30289278f5af',1,'stdint.h']]], + ['uint8_1575',['UINT8',['../asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a',1,'UINT8(): types.h'],['../asm_2z80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a',1,'UINT8(): types.h']]], + ['uint8_5ft_1576',['uint8_t',['../stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5',1,'stdint.h']]], + ['uint_5ffast16_5ft_1577',['uint_fast16_t',['../stdint_8h.html#a226d967fb6d06433caf43f20dc876aae',1,'stdint.h']]], + ['uint_5ffast32_5ft_1578',['uint_fast32_t',['../stdint_8h.html#a8a5d6c5353ff297fd0797e654772361b',1,'stdint.h']]], + ['uint_5ffast8_5ft_1579',['uint_fast8_t',['../stdint_8h.html#a2d31063fef649c85396fb28130ef9795',1,'stdint.h']]], + ['uint_5fleast16_5ft_1580',['uint_least16_t',['../stdint_8h.html#a1bae72af13d35bac8eb9424db7e27bf1',1,'stdint.h']]], + ['uint_5fleast32_5ft_1581',['uint_least32_t',['../stdint_8h.html#a1c0bb513299dbdffa1cce4277593b3ce',1,'stdint.h']]], + ['uint_5fleast8_5ft_1582',['uint_least8_t',['../stdint_8h.html#ab0fdd2a9dc9606590ecccc0a5d8b5b7c',1,'stdint.h']]], + ['uintmax_5ft_1583',['uintmax_t',['../stdint_8h.html#a21649560c6e8dce6de2fb6a95f1bf802',1,'stdint.h']]], + ['uintptr_5ft_1584',['uintptr_t',['../stdint_8h.html#a728e973c799f206f0151c8a3bd1e5699',1,'stdint.h']]], + ['ulword_1585',['ULWORD',['../asm_2types_8h.html#a91374712e986ede0145415318d88fbd8',1,'types.h']]], + ['uword_1586',['UWORD',['../asm_2types_8h.html#a9e551e7c1bd8feb51e8eefd109966f75',1,'types.h']]] ]; diff --git a/docs/api/search/typedefs_d.js b/docs/api/search/typedefs_d.js @@ -1,4 +1,4 @@ var searchData= [ - ['va_5flist_1543',['va_list',['../asm_2gbz80_2stdarg_8h.html#a90f5a53cfeaf133c17cd213633060737',1,'va_list(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#a90f5a53cfeaf133c17cd213633060737',1,'va_list(): stdarg.h']]] + ['va_5flist_1587',['va_list',['../asm_2gbz80_2stdarg_8h.html#a90f5a53cfeaf133c17cd213633060737',1,'va_list(): stdarg.h'],['../asm_2z80_2stdarg_8h.html#a90f5a53cfeaf133c17cd213633060737',1,'va_list(): stdarg.h']]] ]; diff --git a/docs/api/search/typedefs_e.js b/docs/api/search/typedefs_e.js @@ -1,5 +1,5 @@ var searchData= [ - ['wchar_5ft_1544',['wchar_t',['../stddef_8h.html#a88ca3e0156f8101475a589ae3cbd98c8',1,'stddef.h']]], - ['word_1545',['WORD',['../asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd',1,'types.h']]] + ['wchar_5ft_1588',['wchar_t',['../stddef_8h.html#a88ca3e0156f8101475a589ae3cbd98c8',1,'stddef.h']]], + ['word_1589',['WORD',['../asm_2types_8h.html#ac1b71367b1b0eae6718d17b4fd07aecd',1,'types.h']]] ]; diff --git a/docs/api/search/variables_0.js b/docs/api/search/variables_0.js @@ -1,34 +1,37 @@ var searchData= [ - ['_5f_5fcall_5fbanked_5faddr_1340',['__call_banked_addr',['../far__ptr_8h.html#a1344c26ca298a9eadea4bcfea6442ae3',1,'far_ptr.h']]], - ['_5f_5fcall_5fbanked_5fbank_1341',['__call_banked_bank',['../far__ptr_8h.html#a892433d652420445a9a6aebf1a256623',1,'far_ptr.h']]], - ['_5f_5fcall_5fbanked_5fptr_1342',['__call_banked_ptr',['../far__ptr_8h.html#a27792b7fc3796a1e1828d4c5812e5b21',1,'far_ptr.h']]], - ['_5f_5fcurrent_5fbase_5ftile_1343',['__current_base_tile',['../gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f',1,'__current_base_tile(): metasprites.h'],['../sms_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f',1,'__current_base_tile(): metasprites.h']]], - ['_5f_5fcurrent_5fmetasprite_1344',['__current_metasprite',['../gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b',1,'__current_metasprite(): metasprites.h'],['../sms_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b',1,'__current_metasprite(): metasprites.h']]], - ['_5f_5frender_5fshadow_5foam_1345',['__render_shadow_OAM',['../gb_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39',1,'__render_shadow_OAM(): metasprites.h'],['../sms_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39',1,'__render_shadow_OAM(): metasprites.h']]], - ['_5faud3waveram_1346',['_AUD3WAVERAM',['../gb_2hardware_8h.html#a70db64bdd045a9df09b289fe9b28af22',1,'hardware.h']]], - ['_5fbios_1347',['_BIOS',['../sms_2hardware_8h.html#a735fc9fb4f089391a584293f2dff1008',1,'hardware.h']]], - ['_5fcpu_1348',['_cpu',['../gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45',1,'gb.h']]], - ['_5fcurrent_5f1bpp_5fcolors_1349',['_current_1bpp_colors',['../gb_8h.html#a250f5339e05523912926be566e9eb8c0',1,'_current_1bpp_colors(): gb.h'],['../sms_8h.html#a250f5339e05523912926be566e9eb8c0',1,'_current_1bpp_colors(): sms.h']]], - ['_5fcurrent_5f2bpp_5fpalette_1350',['_current_2bpp_palette',['../sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f',1,'sms.h']]], - ['_5fcurrent_5fbank_1351',['_current_bank',['../gb_8h.html#a98b848953a95ce2fff6fda643575d74a',1,'gb.h']]], - ['_5fhram_1352',['_HRAM',['../gb_2hardware_8h.html#a472e3b0909a2f0878f643e9968b871ef',1,'hardware.h']]], - ['_5fio_1353',['_IO',['../gb_2hardware_8h.html#a134e3f274c1e607b8c5ff5724860e288',1,'hardware.h']]], - ['_5fio_5fin_1354',['_io_in',['../gb_8h.html#a02f3a1585ae654444e628c1aa98ef0cf',1,'gb.h']]], - ['_5fio_5fout_1355',['_io_out',['../gb_8h.html#acae13736da20f9fc53e8d38934aa2119',1,'gb.h']]], - ['_5fio_5fstatus_1356',['_io_status',['../gb_8h.html#a2e3415ce2f7fb63427618bd9b9cb6635',1,'gb.h']]], - ['_5fis_5fgba_1357',['_is_GBA',['../gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36',1,'gb.h']]], - ['_5foamram_1358',['_OAMRAM',['../gb_2hardware_8h.html#a7030908728e166877fba9065671deb02',1,'hardware.h']]], - ['_5fram_1359',['_RAM',['../gb_2hardware_8h.html#ac1cf31cae6046360271ead6e8b7a6e87',1,'hardware.h']]], - ['_5frambank_1360',['_RAMBANK',['../gb_2hardware_8h.html#a2f83a5f5daa6418c77756e32923aef5a',1,'hardware.h']]], - ['_5fscrn0_1361',['_SCRN0',['../gb_2hardware_8h.html#ac5b9d1761bb972948fe10637dfaa94a7',1,'hardware.h']]], - ['_5fscrn1_1362',['_SCRN1',['../gb_2hardware_8h.html#afff31f511127bf7ba1bd3b6bc740aee8',1,'hardware.h']]], - ['_5fshadow_5foam_5fbase_1363',['_shadow_OAM_base',['../gb_8h.html#a7b662ae4d83f9837bacb9fd580673054',1,'_shadow_OAM_base(): gb.h'],['../sms_8h.html#a5435fd985412934e96a490e103c6bc49',1,'_shadow_OAM_base(): gb.h']]], - ['_5fshadow_5foam_5foff_1364',['_shadow_OAM_OFF',['../sms_8h.html#a388d1dff2698172ba8574e43f5c77c93',1,'sms.h']]], - ['_5fsram_1365',['_SRAM',['../gb_2hardware_8h.html#a09a4ae65605182c8b694197d3aea695e',1,'hardware.h']]], - ['_5fsystem_1366',['_SYSTEM',['../sms_2hardware_8h.html#a7093bf38c5e663715f4efed44341502d',1,'hardware.h']]], - ['_5fvram_1367',['_VRAM',['../gb_2hardware_8h.html#aea9200b29be90b58417787720cdf750b',1,'hardware.h']]], - ['_5fvram8000_1368',['_VRAM8000',['../gb_2hardware_8h.html#a73c94166161c33c61d63b3e4b5209cd0',1,'hardware.h']]], - ['_5fvram8800_1369',['_VRAM8800',['../gb_2hardware_8h.html#af763563b6123ef29d73931f616969049',1,'hardware.h']]], - ['_5fvram9000_1370',['_VRAM9000',['../gb_2hardware_8h.html#a668fd555c203361f5e4b835f05243102',1,'hardware.h']]] + ['_5f_5fcall_5fbanked_5faddr_1380',['__call_banked_addr',['../far__ptr_8h.html#a1344c26ca298a9eadea4bcfea6442ae3',1,'far_ptr.h']]], + ['_5f_5fcall_5fbanked_5fbank_1381',['__call_banked_bank',['../far__ptr_8h.html#a892433d652420445a9a6aebf1a256623',1,'far_ptr.h']]], + ['_5f_5fcall_5fbanked_5fptr_1382',['__call_banked_ptr',['../far__ptr_8h.html#a27792b7fc3796a1e1828d4c5812e5b21',1,'far_ptr.h']]], + ['_5f_5fcurrent_5fbase_5ftile_1383',['__current_base_tile',['../gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f',1,'__current_base_tile(): metasprites.h'],['../sms_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f',1,'__current_base_tile(): metasprites.h']]], + ['_5f_5fcurrent_5fmetasprite_1384',['__current_metasprite',['../gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b',1,'__current_metasprite(): metasprites.h'],['../sms_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b',1,'__current_metasprite(): metasprites.h']]], + ['_5f_5frand_5fseed_1385',['__rand_seed',['../rand_8h.html#a7aab2f4a234108a5eae48e0d26380ae7',1,'rand.h']]], + ['_5f_5frender_5fshadow_5foam_1386',['__render_shadow_OAM',['../gb_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39',1,'__render_shadow_OAM(): metasprites.h'],['../sms_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39',1,'__render_shadow_OAM(): metasprites.h']]], + ['_5faud3waveram_1387',['_AUD3WAVERAM',['../gb_2hardware_8h.html#a70db64bdd045a9df09b289fe9b28af22',1,'hardware.h']]], + ['_5fbios_1388',['_BIOS',['../sms_2hardware_8h.html#a735fc9fb4f089391a584293f2dff1008',1,'hardware.h']]], + ['_5fcpu_1389',['_cpu',['../gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45',1,'gb.h']]], + ['_5fcurrent_5f1bpp_5fcolors_1390',['_current_1bpp_colors',['../gb_8h.html#a250f5339e05523912926be566e9eb8c0',1,'_current_1bpp_colors(): gb.h'],['../sms_8h.html#a250f5339e05523912926be566e9eb8c0',1,'_current_1bpp_colors(): sms.h']]], + ['_5fcurrent_5f2bpp_5fpalette_1391',['_current_2bpp_palette',['../sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f',1,'sms.h']]], + ['_5fcurrent_5fbank_1392',['_current_bank',['../gb_8h.html#a98b848953a95ce2fff6fda643575d74a',1,'gb.h']]], + ['_5fhram_1393',['_HRAM',['../gb_2hardware_8h.html#a472e3b0909a2f0878f643e9968b871ef',1,'hardware.h']]], + ['_5fio_1394',['_IO',['../gb_2hardware_8h.html#a134e3f274c1e607b8c5ff5724860e288',1,'hardware.h']]], + ['_5fio_5fin_1395',['_io_in',['../gb_8h.html#a02f3a1585ae654444e628c1aa98ef0cf',1,'gb.h']]], + ['_5fio_5fout_1396',['_io_out',['../gb_8h.html#acae13736da20f9fc53e8d38934aa2119',1,'gb.h']]], + ['_5fio_5fstatus_1397',['_io_status',['../gb_8h.html#a2e3415ce2f7fb63427618bd9b9cb6635',1,'gb.h']]], + ['_5fis_5fgba_1398',['_is_GBA',['../gb_8h.html#a539b7b45b1c2d6b2051553665c76fd36',1,'gb.h']]], + ['_5fmap_5ftile_5foffset_1399',['_map_tile_offset',['../gb_8h.html#aa82205e9629f984d0b3dc8055c211522',1,'_map_tile_offset(): gb.h'],['../sms_8h.html#aa82205e9629f984d0b3dc8055c211522',1,'_map_tile_offset(): sms.h']]], + ['_5foamram_1400',['_OAMRAM',['../gb_2hardware_8h.html#a7030908728e166877fba9065671deb02',1,'hardware.h']]], + ['_5fram_1401',['_RAM',['../gb_2hardware_8h.html#ac1cf31cae6046360271ead6e8b7a6e87',1,'hardware.h']]], + ['_5frambank_1402',['_RAMBANK',['../gb_2hardware_8h.html#a2f83a5f5daa6418c77756e32923aef5a',1,'hardware.h']]], + ['_5fscrn0_1403',['_SCRN0',['../gb_2hardware_8h.html#ac5b9d1761bb972948fe10637dfaa94a7',1,'hardware.h']]], + ['_5fscrn1_1404',['_SCRN1',['../gb_2hardware_8h.html#afff31f511127bf7ba1bd3b6bc740aee8',1,'hardware.h']]], + ['_5fshadow_5foam_5fbase_1405',['_shadow_OAM_base',['../gb_8h.html#a7b662ae4d83f9837bacb9fd580673054',1,'_shadow_OAM_base(): gb.h'],['../sms_8h.html#a5435fd985412934e96a490e103c6bc49',1,'_shadow_OAM_base(): gb.h']]], + ['_5fshadow_5foam_5foff_1406',['_shadow_OAM_OFF',['../sms_8h.html#a388d1dff2698172ba8574e43f5c77c93',1,'sms.h']]], + ['_5fsram_1407',['_SRAM',['../gb_2hardware_8h.html#a09a4ae65605182c8b694197d3aea695e',1,'hardware.h']]], + ['_5fsubmap_5ftile_5foffset_1408',['_submap_tile_offset',['../gb_8h.html#ab472d9bbb1bcfd141374f5babc71934c',1,'_submap_tile_offset(): gb.h'],['../sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c',1,'_submap_tile_offset(): sms.h']]], + ['_5fsystem_1409',['_SYSTEM',['../sms_2hardware_8h.html#a7093bf38c5e663715f4efed44341502d',1,'hardware.h']]], + ['_5fvram_1410',['_VRAM',['../gb_2hardware_8h.html#aea9200b29be90b58417787720cdf750b',1,'hardware.h']]], + ['_5fvram8000_1411',['_VRAM8000',['../gb_2hardware_8h.html#a73c94166161c33c61d63b3e4b5209cd0',1,'hardware.h']]], + ['_5fvram8800_1412',['_VRAM8800',['../gb_2hardware_8h.html#af763563b6123ef29d73931f616969049',1,'hardware.h']]], + ['_5fvram9000_1413',['_VRAM9000',['../gb_2hardware_8h.html#a668fd555c203361f5e4b835f05243102',1,'hardware.h']]] ]; diff --git a/docs/api/search/variables_1.js b/docs/api/search/variables_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['aud3wave_1371',['AUD3WAVE',['../gb_2hardware_8h.html#a2fe41a6e0abb211cc00a8fca90543966',1,'hardware.h']]] + ['aud3wave_1414',['AUD3WAVE',['../gb_2hardware_8h.html#a2fe41a6e0abb211cc00a8fca90543966',1,'hardware.h']]] ]; diff --git a/docs/api/search/variables_10.js b/docs/api/search/variables_10.js @@ -1,28 +1,28 @@ var searchData= [ - ['sb_5freg_1453',['SB_REG',['../gb_2hardware_8h.html#a5f2da0d8200f44b6fd694c4a2bea820e',1,'hardware.h']]], - ['sc_5freg_1454',['SC_REG',['../gb_2hardware_8h.html#a0fb715973ee3edd1b525eb7f503e3b2a',1,'hardware.h']]], - ['scx_5freg_1455',['SCX_REG',['../gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f',1,'hardware.h']]], - ['scy_5freg_1456',['SCY_REG',['../gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2',1,'hardware.h']]], - ['seg_1457',['seg',['../union____far__ptr.html#a13c65a38be633a3ac219c3b5b3be5ce6',1,'__far_ptr']]], - ['segfn_1458',['segfn',['../union____far__ptr.html#a8c6e2345a04a58dc76339923baffcbe3',1,'__far_ptr']]], - ['segofs_1459',['segofs',['../union____far__ptr.html#ab77baeba835fa23f6d96c641e7ee2b06',1,'__far_ptr']]], - ['shadow_5foam_1460',['shadow_OAM',['../gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551',1,'shadow_OAM(): gb.h'],['../sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d',1,'shadow_OAM(): sms.h']]], - ['shadow_5fvdp_5fr0_1461',['shadow_VDP_R0',['../sms_2hardware_8h.html#aa80cb68338819c004095531d32b70e38',1,'hardware.h']]], - ['shadow_5fvdp_5fr1_1462',['shadow_VDP_R1',['../sms_2hardware_8h.html#a542cb696f242df44b0d8e9225d532ef4',1,'hardware.h']]], - ['shadow_5fvdp_5fr10_1463',['shadow_VDP_R10',['../sms_2hardware_8h.html#af310a900e3b4b5b5032f4ffd6fa309b0',1,'hardware.h']]], - ['shadow_5fvdp_5fr2_1464',['shadow_VDP_R2',['../sms_2hardware_8h.html#a7f7fa2c0e33c6d515332a50c2acb54e7',1,'hardware.h']]], - ['shadow_5fvdp_5fr3_1465',['shadow_VDP_R3',['../sms_2hardware_8h.html#ab984056ff9eb011fbd84abdafb3a8bce',1,'hardware.h']]], - ['shadow_5fvdp_5fr4_1466',['shadow_VDP_R4',['../sms_2hardware_8h.html#af9a30a728fedbe7e4c660c448c262e2c',1,'hardware.h']]], - ['shadow_5fvdp_5fr5_1467',['shadow_VDP_R5',['../sms_2hardware_8h.html#a221db76cb39200a948234330ed309af7',1,'hardware.h']]], - ['shadow_5fvdp_5fr6_1468',['shadow_VDP_R6',['../sms_2hardware_8h.html#a8afbdaaf8c6dee4e7482a341351344b4',1,'hardware.h']]], - ['shadow_5fvdp_5fr7_1469',['shadow_VDP_R7',['../sms_2hardware_8h.html#a33b3e7c120a579cb729caf588ba1d9a8',1,'hardware.h']]], - ['shadow_5fvdp_5fr8_1470',['shadow_VDP_R8',['../sms_2hardware_8h.html#add65b8e5f0b806e563ce27de7348ba31',1,'hardware.h']]], - ['shadow_5fvdp_5fr9_1471',['shadow_VDP_R9',['../sms_2hardware_8h.html#a1ccce1e3f8acb76170fb752ee40ae659',1,'hardware.h']]], - ['shadow_5fvdp_5frborder_1472',['shadow_VDP_RBORDER',['../sms_2hardware_8h.html#a20a977182f6f5f60ee6464e15f05aed0',1,'hardware.h']]], - ['shadow_5fvdp_5frscx_1473',['shadow_VDP_RSCX',['../sms_2hardware_8h.html#af6a84b0288b045560f83a1944a8c1c3b',1,'hardware.h']]], - ['shadow_5fvdp_5frscy_1474',['shadow_VDP_RSCY',['../sms_2hardware_8h.html#a292b59055beb22b566b39462da3b7eba',1,'hardware.h']]], - ['stat_5freg_1475',['STAT_REG',['../gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b',1,'hardware.h']]], - ['svbk_5freg_1476',['SVBK_REG',['../gb_2hardware_8h.html#aa128832cecec4e609517fe3daf044e5e',1,'hardware.h']]], - ['sys_5ftime_1477',['sys_time',['../gb_8h.html#a78d2fd18666afec116f176d46debb4e7',1,'sys_time(): gb.h'],['../sms_8h.html#a78d2fd18666afec116f176d46debb4e7',1,'sys_time(): sms.h']]] + ['sb_5freg_1497',['SB_REG',['../gb_2hardware_8h.html#a5f2da0d8200f44b6fd694c4a2bea820e',1,'hardware.h']]], + ['sc_5freg_1498',['SC_REG',['../gb_2hardware_8h.html#a0fb715973ee3edd1b525eb7f503e3b2a',1,'hardware.h']]], + ['scx_5freg_1499',['SCX_REG',['../gb_2hardware_8h.html#a86cc170585319565195f2c163250be1f',1,'hardware.h']]], + ['scy_5freg_1500',['SCY_REG',['../gb_2hardware_8h.html#a244b162cf13bbcb4fe842d7e298b39c2',1,'hardware.h']]], + ['seg_1501',['seg',['../union____far__ptr.html#a13c65a38be633a3ac219c3b5b3be5ce6',1,'__far_ptr']]], + ['segfn_1502',['segfn',['../union____far__ptr.html#a8c6e2345a04a58dc76339923baffcbe3',1,'__far_ptr']]], + ['segofs_1503',['segofs',['../union____far__ptr.html#ab77baeba835fa23f6d96c641e7ee2b06',1,'__far_ptr']]], + ['shadow_5foam_1504',['shadow_OAM',['../gb_8h.html#a3619f9cb1e3c92238a033ead79a0c551',1,'shadow_OAM(): gb.h'],['../sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d',1,'shadow_OAM(): sms.h']]], + ['shadow_5fvdp_5fr0_1505',['shadow_VDP_R0',['../sms_2hardware_8h.html#aa80cb68338819c004095531d32b70e38',1,'hardware.h']]], + ['shadow_5fvdp_5fr1_1506',['shadow_VDP_R1',['../sms_2hardware_8h.html#a542cb696f242df44b0d8e9225d532ef4',1,'hardware.h']]], + ['shadow_5fvdp_5fr10_1507',['shadow_VDP_R10',['../sms_2hardware_8h.html#af310a900e3b4b5b5032f4ffd6fa309b0',1,'hardware.h']]], + ['shadow_5fvdp_5fr2_1508',['shadow_VDP_R2',['../sms_2hardware_8h.html#a7f7fa2c0e33c6d515332a50c2acb54e7',1,'hardware.h']]], + ['shadow_5fvdp_5fr3_1509',['shadow_VDP_R3',['../sms_2hardware_8h.html#ab984056ff9eb011fbd84abdafb3a8bce',1,'hardware.h']]], + ['shadow_5fvdp_5fr4_1510',['shadow_VDP_R4',['../sms_2hardware_8h.html#af9a30a728fedbe7e4c660c448c262e2c',1,'hardware.h']]], + ['shadow_5fvdp_5fr5_1511',['shadow_VDP_R5',['../sms_2hardware_8h.html#a221db76cb39200a948234330ed309af7',1,'hardware.h']]], + ['shadow_5fvdp_5fr6_1512',['shadow_VDP_R6',['../sms_2hardware_8h.html#a8afbdaaf8c6dee4e7482a341351344b4',1,'hardware.h']]], + ['shadow_5fvdp_5fr7_1513',['shadow_VDP_R7',['../sms_2hardware_8h.html#a33b3e7c120a579cb729caf588ba1d9a8',1,'hardware.h']]], + ['shadow_5fvdp_5fr8_1514',['shadow_VDP_R8',['../sms_2hardware_8h.html#add65b8e5f0b806e563ce27de7348ba31',1,'hardware.h']]], + ['shadow_5fvdp_5fr9_1515',['shadow_VDP_R9',['../sms_2hardware_8h.html#a1ccce1e3f8acb76170fb752ee40ae659',1,'hardware.h']]], + ['shadow_5fvdp_5frborder_1516',['shadow_VDP_RBORDER',['../sms_2hardware_8h.html#a20a977182f6f5f60ee6464e15f05aed0',1,'hardware.h']]], + ['shadow_5fvdp_5frscx_1517',['shadow_VDP_RSCX',['../sms_2hardware_8h.html#af6a84b0288b045560f83a1944a8c1c3b',1,'hardware.h']]], + ['shadow_5fvdp_5frscy_1518',['shadow_VDP_RSCY',['../sms_2hardware_8h.html#a292b59055beb22b566b39462da3b7eba',1,'hardware.h']]], + ['stat_5freg_1519',['STAT_REG',['../gb_2hardware_8h.html#ad40ebf3b29add46cdd310a7e0802bc6b',1,'hardware.h']]], + ['svbk_5freg_1520',['SVBK_REG',['../gb_2hardware_8h.html#aa128832cecec4e609517fe3daf044e5e',1,'hardware.h']]], + ['sys_5ftime_1521',['sys_time',['../gb_8h.html#a78d2fd18666afec116f176d46debb4e7',1,'sys_time(): gb.h'],['../sms_8h.html#a78d2fd18666afec116f176d46debb4e7',1,'sys_time(): sms.h']]] ]; diff --git a/docs/api/search/variables_11.js b/docs/api/search/variables_11.js @@ -1,7 +1,7 @@ var searchData= [ - ['tac_5freg_1478',['TAC_REG',['../gb_2hardware_8h.html#a659173ac2c8da7fd04bc77973eb95256',1,'hardware.h']]], - ['tile_1479',['tile',['../struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6',1,'OAM_item_t']]], - ['tima_5freg_1480',['TIMA_REG',['../gb_2hardware_8h.html#a9d295bb437953de5ebcb3c12d65743aa',1,'hardware.h']]], - ['tma_5freg_1481',['TMA_REG',['../gb_2hardware_8h.html#a39e5a5b9afd2c2ca78de4aba7ccd071c',1,'hardware.h']]] + ['tac_5freg_1522',['TAC_REG',['../gb_2hardware_8h.html#a659173ac2c8da7fd04bc77973eb95256',1,'hardware.h']]], + ['tile_1523',['tile',['../struct_o_a_m__item__t.html#a6c269ed01269d02bcf7e36e0de3696f6',1,'OAM_item_t']]], + ['tima_5freg_1524',['TIMA_REG',['../gb_2hardware_8h.html#a9d295bb437953de5ebcb3c12d65743aa',1,'hardware.h']]], + ['tma_5freg_1525',['TMA_REG',['../gb_2hardware_8h.html#a39e5a5b9afd2c2ca78de4aba7ccd071c',1,'hardware.h']]] ]; diff --git a/docs/api/search/variables_12.js b/docs/api/search/variables_12.js @@ -1,5 +1,5 @@ var searchData= [ - ['vbk_5freg_1482',['VBK_REG',['../gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a',1,'hardware.h']]], - ['vdp_5fattr_5fshift_1483',['VDP_ATTR_SHIFT',['../sms_2hardware_8h.html#a019bf78a6d586c987aec03af8d20e02f',1,'hardware.h']]] + ['vbk_5freg_1526',['VBK_REG',['../gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a',1,'hardware.h']]], + ['vdp_5fattr_5fshift_1527',['VDP_ATTR_SHIFT',['../sms_2hardware_8h.html#a019bf78a6d586c987aec03af8d20e02f',1,'hardware.h']]] ]; diff --git a/docs/api/search/variables_13.js b/docs/api/search/variables_13.js @@ -1,6 +1,6 @@ var searchData= [ - ['w_1484',['w',['../union__fixed.html#ab16f9fd51f817308d109b9b35866f310',1,'_fixed']]], - ['wx_5freg_1485',['WX_REG',['../gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0',1,'hardware.h']]], - ['wy_5freg_1486',['WY_REG',['../gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850',1,'hardware.h']]] + ['w_1528',['w',['../union__fixed.html#ab16f9fd51f817308d109b9b35866f310',1,'_fixed']]], + ['wx_5freg_1529',['WX_REG',['../gb_2hardware_8h.html#a310aa43fbee2fd6b6b419df48acce1e0',1,'hardware.h']]], + ['wy_5freg_1530',['WY_REG',['../gb_2hardware_8h.html#a1c8d52607616ef37da335447e4cbe850',1,'hardware.h']]] ]; diff --git a/docs/api/search/variables_14.js b/docs/api/search/variables_14.js @@ -1,4 +1,4 @@ var searchData= [ - ['x_1487',['x',['../struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b',1,'OAM_item_t']]] + ['x_1531',['x',['../struct_o_a_m__item__t.html#a3a13fb7441f8c431d9494cd2441c6c0b',1,'OAM_item_t']]] ]; diff --git a/docs/api/search/variables_15.js b/docs/api/search/variables_15.js @@ -1,4 +1,4 @@ var searchData= [ - ['y_1488',['y',['../struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18',1,'OAM_item_t']]] + ['y_1532',['y',['../struct_o_a_m__item__t.html#ad5ad9d3d300858bf0b1cd9e210366a18',1,'OAM_item_t']]] ]; diff --git a/docs/api/search/variables_2.js b/docs/api/search/variables_2.js @@ -1,7 +1,7 @@ var searchData= [ - ['b_1372',['b',['../union__fixed.html#ac0efdf5ee7302ad64dbc51cabc3659d3',1,'_fixed::b()'],['../gb_8h.html#a4c2e4adef74067fdbb49005bc73de937',1,'b(): gb.h']]], - ['bcpd_5freg_1373',['BCPD_REG',['../gb_2hardware_8h.html#a1fc8ff37ffe1c431364e1ef7c3961b30',1,'hardware.h']]], - ['bcps_5freg_1374',['BCPS_REG',['../gb_2hardware_8h.html#a28fa1ca08ef1c8ed97280bc5e60bdd99',1,'hardware.h']]], - ['bgp_5freg_1375',['BGP_REG',['../gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997',1,'hardware.h']]] + ['b_1415',['b',['../union__fixed.html#ac0efdf5ee7302ad64dbc51cabc3659d3',1,'_fixed::b()'],['../gb_8h.html#a4c2e4adef74067fdbb49005bc73de937',1,'b(): gb.h']]], + ['bcpd_5freg_1416',['BCPD_REG',['../gb_2hardware_8h.html#a1fc8ff37ffe1c431364e1ef7c3961b30',1,'hardware.h']]], + ['bcps_5freg_1417',['BCPS_REG',['../gb_2hardware_8h.html#a28fa1ca08ef1c8ed97280bc5e60bdd99',1,'hardware.h']]], + ['bgp_5freg_1418',['BGP_REG',['../gb_2hardware_8h.html#af577ba87ec3d13d7415e4c4a53cdf997',1,'hardware.h']]] ]; diff --git a/docs/api/search/variables_3.js b/docs/api/search/variables_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['c_1376',['c',['../asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): string.h'],['../gb_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): gb.h'],['../gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): gbdecompress.h'],['../gb_2metasprites_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): metasprites.h'],['../sgb_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): sgb.h'],['../sms_2gbdecompress_8h.html#add06ad5d8520e7cff4ff84b2811c0982',1,'c(): gbdecompress.h'],['../sms_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): sms.h']]] + ['c_1419',['c',['../asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): string.h'],['../gb_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): gb.h'],['../gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): gbdecompress.h'],['../gb_2metasprites_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): metasprites.h'],['../sgb_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): sgb.h'],['../sms_2gbdecompress_8h.html#add06ad5d8520e7cff4ff84b2811c0982',1,'c(): gbdecompress.h'],['../sms_8h.html#a0b3366755f3276b0243c1e0497471b7a',1,'c(): sms.h']]] ]; diff --git a/docs/api/search/variables_4.js b/docs/api/search/variables_4.js @@ -1,9 +1,9 @@ var searchData= [ - ['d_1377',['d',['../gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e',1,'d(): gb.h'],['../sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e',1,'d(): sms.h']]], - ['div_5freg_1378',['DIV_REG',['../gb_2hardware_8h.html#afa1e18e47bf68ce68d7807fff6edf16b',1,'hardware.h']]], - ['dma_5freg_1379',['DMA_REG',['../gb_2hardware_8h.html#ae13ce414d3fe7c98c1434918186dfc81',1,'hardware.h']]], - ['dtile_1380',['dtile',['../structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f',1,'metasprite_t']]], - ['dx_1381',['dx',['../structmetasprite__t.html#a67d2a6fb62059da39b54e975c4fbb324',1,'metasprite_t']]], - ['dy_1382',['dy',['../structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb',1,'metasprite_t']]] + ['d_1420',['d',['../gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e',1,'d(): gb.h'],['../sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e',1,'d(): sms.h']]], + ['div_5freg_1421',['DIV_REG',['../gb_2hardware_8h.html#afa1e18e47bf68ce68d7807fff6edf16b',1,'hardware.h']]], + ['dma_5freg_1422',['DMA_REG',['../gb_2hardware_8h.html#ae13ce414d3fe7c98c1434918186dfc81',1,'hardware.h']]], + ['dtile_1423',['dtile',['../structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f',1,'metasprite_t']]], + ['dx_1424',['dx',['../structmetasprite__t.html#a67d2a6fb62059da39b54e975c4fbb324',1,'metasprite_t']]], + ['dy_1425',['dy',['../structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb',1,'metasprite_t']]] ]; diff --git a/docs/api/search/variables_5.js b/docs/api/search/variables_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['e_1383',['e',['../gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79',1,'e(): gb.h'],['../sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79',1,'e(): sms.h']]] + ['e_1426',['e',['../gb_8h.html#aeda4515a31485c9688c4601ac5ce2d79',1,'e(): gb.h'],['../sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79',1,'e(): sms.h']]] ]; diff --git a/docs/api/search/variables_6.js b/docs/api/search/variables_6.js @@ -1,13 +1,13 @@ var searchData= [ - ['first_5ftile_1384',['first_tile',['../structsfont__handle.html#aa5a35bc92adbcfff5a531bf65da65630',1,'sfont_handle']]], - ['flag_1385',['flag',['../structatomic__flag.html#a4fe9312fe0abb35e9f3626dc06c89bc4',1,'atomic_flag']]], - ['fn_1386',['fn',['../union____far__ptr.html#a90065c72477187e9f9c97c07c90f6af9',1,'__far_ptr']]], - ['font_1387',['font',['../structsfont__handle.html#afa826a9e7aa0dc456bd342717eea1f89',1,'sfont_handle']]], - ['font_5fibm_1388',['font_ibm',['../group__gbdk__fonts.html#ga6dcb04fed78fc39b95171988b776e6bb',1,'font.h']]], - ['font_5fibm_5ffixed_1389',['font_ibm_fixed',['../group__gbdk__fonts.html#gab8c52bed73e745f1ee910f2da60ddb4c',1,'font.h']]], - ['font_5fitalic_1390',['font_italic',['../group__gbdk__fonts.html#ga17e825a65ba38f34a658fe0a2c99d8d4',1,'font.h']]], - ['font_5fmin_1391',['font_min',['../group__gbdk__fonts.html#gad8497ecbd9d845fc24a56688f157aad8',1,'font.h']]], - ['font_5fspect_1392',['font_spect',['../group__gbdk__fonts.html#ga1b59bbd85c12436eeef52d4c32c7345d',1,'font.h']]], - ['func_1393',['func',['../structisr__vector__t.html#a978f0092183f75d20a0f7de7add24b50',1,'isr_vector_t::func()'],['../structisr__nested__vector__t.html#a4009f14b9912d9a852873e2019044d0c',1,'isr_nested_vector_t::func()']]] + ['first_5ftile_1427',['first_tile',['../structsfont__handle.html#aa5a35bc92adbcfff5a531bf65da65630',1,'sfont_handle']]], + ['flag_1428',['flag',['../structatomic__flag.html#a4fe9312fe0abb35e9f3626dc06c89bc4',1,'atomic_flag']]], + ['fn_1429',['fn',['../union____far__ptr.html#a90065c72477187e9f9c97c07c90f6af9',1,'__far_ptr']]], + ['font_1430',['font',['../structsfont__handle.html#afa826a9e7aa0dc456bd342717eea1f89',1,'sfont_handle']]], + ['font_5fibm_1431',['font_ibm',['../group__gbdk__fonts.html#ga6dcb04fed78fc39b95171988b776e6bb',1,'font.h']]], + ['font_5fibm_5ffixed_1432',['font_ibm_fixed',['../group__gbdk__fonts.html#gab8c52bed73e745f1ee910f2da60ddb4c',1,'font.h']]], + ['font_5fitalic_1433',['font_italic',['../group__gbdk__fonts.html#ga17e825a65ba38f34a658fe0a2c99d8d4',1,'font.h']]], + ['font_5fmin_1434',['font_min',['../group__gbdk__fonts.html#gad8497ecbd9d845fc24a56688f157aad8',1,'font.h']]], + ['font_5fspect_1435',['font_spect',['../group__gbdk__fonts.html#ga1b59bbd85c12436eeef52d4c32c7345d',1,'font.h']]], + ['func_1436',['func',['../structisr__vector__t.html#a978f0092183f75d20a0f7de7add24b50',1,'isr_vector_t::func()'],['../structisr__nested__vector__t.html#a4009f14b9912d9a852873e2019044d0c',1,'isr_nested_vector_t::func()']]] ]; diff --git a/docs/api/search/variables_7.js b/docs/api/search/variables_7.js @@ -1,9 +1,9 @@ var searchData= [ - ['h_1394',['h',['../union__fixed.html#acd5ac56a5ed6650d5797e89b278a972f',1,'_fixed::h()'],['../gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456',1,'h(): gb.h'],['../sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456',1,'h(): sms.h']]], - ['hdma1_5freg_1395',['HDMA1_REG',['../gb_2hardware_8h.html#ab16e97796d675205a027b1b28b52956e',1,'hardware.h']]], - ['hdma2_5freg_1396',['HDMA2_REG',['../gb_2hardware_8h.html#a801400d58ab7d862742e43b49fa68c8d',1,'hardware.h']]], - ['hdma3_5freg_1397',['HDMA3_REG',['../gb_2hardware_8h.html#a57a94790cda8101a29c0d20086770f1b',1,'hardware.h']]], - ['hdma4_5freg_1398',['HDMA4_REG',['../gb_2hardware_8h.html#a3a2e883779980c1c37e780f47da4dd69',1,'hardware.h']]], - ['hdma5_5freg_1399',['HDMA5_REG',['../gb_2hardware_8h.html#a1454ad6d5d04273eae1288af86deadac',1,'hardware.h']]] + ['h_1437',['h',['../union__fixed.html#acd5ac56a5ed6650d5797e89b278a972f',1,'_fixed::h()'],['../gb_8h.html#a1f1dfeb2f802fe99f37fe91867b84456',1,'h(): gb.h'],['../sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456',1,'h(): sms.h']]], + ['hdma1_5freg_1438',['HDMA1_REG',['../gb_2hardware_8h.html#ab16e97796d675205a027b1b28b52956e',1,'hardware.h']]], + ['hdma2_5freg_1439',['HDMA2_REG',['../gb_2hardware_8h.html#a801400d58ab7d862742e43b49fa68c8d',1,'hardware.h']]], + ['hdma3_5freg_1440',['HDMA3_REG',['../gb_2hardware_8h.html#a57a94790cda8101a29c0d20086770f1b',1,'hardware.h']]], + ['hdma4_5freg_1441',['HDMA4_REG',['../gb_2hardware_8h.html#a3a2e883779980c1c37e780f47da4dd69',1,'hardware.h']]], + ['hdma5_5freg_1442',['HDMA5_REG',['../gb_2hardware_8h.html#a1454ad6d5d04273eae1288af86deadac',1,'hardware.h']]] ]; diff --git a/docs/api/search/variables_8.js b/docs/api/search/variables_8.js @@ -1,7 +1,7 @@ var searchData= [ - ['ie_5freg_1400',['IE_REG',['../gb_2hardware_8h.html#aaef0dc6aab2f821ab406fdbc643af48e',1,'hardware.h']]], - ['if_5freg_1401',['IF_REG',['../gb_2hardware_8h.html#a509a5d0f138b40830cb447a862573be5',1,'hardware.h']]], - ['iyh_1402',['iyh',['../sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0',1,'sms.h']]], - ['iyl_1403',['iyl',['../sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f',1,'iyl(): metasprites.h'],['../sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f',1,'iyl(): sms.h']]] + ['ie_5freg_1443',['IE_REG',['../gb_2hardware_8h.html#aaef0dc6aab2f821ab406fdbc643af48e',1,'hardware.h']]], + ['if_5freg_1444',['IF_REG',['../gb_2hardware_8h.html#a509a5d0f138b40830cb447a862573be5',1,'hardware.h']]], + ['iyh_1445',['iyh',['../sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0',1,'sms.h']]], + ['iyl_1446',['iyl',['../sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f',1,'iyl(): metasprites.h'],['../sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f',1,'iyl(): sms.h']]] ]; diff --git a/docs/api/search/variables_9.js b/docs/api/search/variables_9.js @@ -1,8 +1,8 @@ var searchData= [ - ['joy0_1404',['joy0',['../structjoypads__t.html#a5e953c63dfb5148ba29f5735a735035f',1,'joypads_t']]], - ['joy1_1405',['joy1',['../structjoypads__t.html#a032a279cf42e2737d6ce9893239d238e',1,'joypads_t']]], - ['joy2_1406',['joy2',['../structjoypads__t.html#a5741138c91e93ea3203ee9e0d5d9413d',1,'joypads_t']]], - ['joy3_1407',['joy3',['../structjoypads__t.html#ab281d26e5197e49633274f412b164295',1,'joypads_t']]], - ['joypads_1408',['joypads',['../structjoypads__t.html#a8d181ece2d3db614ed6686cfba545238',1,'joypads_t']]] + ['joy0_1447',['joy0',['../structjoypads__t.html#a5e953c63dfb5148ba29f5735a735035f',1,'joypads_t']]], + ['joy1_1448',['joy1',['../structjoypads__t.html#a032a279cf42e2737d6ce9893239d238e',1,'joypads_t']]], + ['joy2_1449',['joy2',['../structjoypads__t.html#a5741138c91e93ea3203ee9e0d5d9413d',1,'joypads_t']]], + ['joy3_1450',['joy3',['../structjoypads__t.html#ab281d26e5197e49633274f412b164295',1,'joypads_t']]], + ['joypads_1451',['joypads',['../structjoypads__t.html#a8d181ece2d3db614ed6686cfba545238',1,'joypads_t']]] ]; diff --git a/docs/api/search/variables_a.js b/docs/api/search/variables_a.js @@ -1,4 +1,4 @@ var searchData= [ - ['key1_5freg_1409',['KEY1_REG',['../gb_2hardware_8h.html#a7279430d110acf02fa176d5f427a6491',1,'hardware.h']]] + ['key1_5freg_1452',['KEY1_REG',['../gb_2hardware_8h.html#a7279430d110acf02fa176d5f427a6491',1,'hardware.h']]] ]; diff --git a/docs/api/search/variables_b.js b/docs/api/search/variables_b.js @@ -1,7 +1,7 @@ var searchData= [ - ['l_1410',['l',['../union__fixed.html#ac44ac5f62ed7369c444b6f13d9e1d9bc',1,'_fixed::l()'],['../gb_8h.html#af79b920bcb642bba2e652874c4f7eeff',1,'l(): gb.h'],['../sms_8h.html#af79b920bcb642bba2e652874c4f7eeff',1,'l(): sms.h']]], - ['lcdc_5freg_1411',['LCDC_REG',['../gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b',1,'hardware.h']]], - ['ly_5freg_1412',['LY_REG',['../gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7',1,'hardware.h']]], - ['lyc_5freg_1413',['LYC_REG',['../gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae',1,'hardware.h']]] + ['l_1453',['l',['../union__fixed.html#ac44ac5f62ed7369c444b6f13d9e1d9bc',1,'_fixed::l()'],['../gb_8h.html#af79b920bcb642bba2e652874c4f7eeff',1,'l(): gb.h'],['../sms_8h.html#af79b920bcb642bba2e652874c4f7eeff',1,'l(): sms.h']]], + ['lcdc_5freg_1454',['LCDC_REG',['../gb_2hardware_8h.html#a6515fdfaa50eeb7e63faeea54f77cd6b',1,'hardware.h']]], + ['ly_5freg_1455',['LY_REG',['../gb_2hardware_8h.html#aeb643bd4eac2e6e410cae2fae677c0a7',1,'hardware.h']]], + ['lyc_5freg_1456',['LYC_REG',['../gb_2hardware_8h.html#a591084a506c33266b7d6cc3b4b8936ae',1,'hardware.h']]] ]; diff --git a/docs/api/search/variables_c.js b/docs/api/search/variables_c.js @@ -1,25 +1,25 @@ var searchData= [ - ['npads_1414',['npads',['../structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5',1,'joypads_t']]], - ['nr10_5freg_1415',['NR10_REG',['../gb_2hardware_8h.html#ad859dc62b1df1584ade0cbb822a3e46f',1,'hardware.h']]], - ['nr11_5freg_1416',['NR11_REG',['../gb_2hardware_8h.html#ad53dc7f22b99fce195210a95f2749a72',1,'hardware.h']]], - ['nr12_5freg_1417',['NR12_REG',['../gb_2hardware_8h.html#a7accf5feabd95a2d84c72f5915fff837',1,'hardware.h']]], - ['nr13_5freg_1418',['NR13_REG',['../gb_2hardware_8h.html#a3d30d4797321b403cd713d727fa3db6c',1,'hardware.h']]], - ['nr14_5freg_1419',['NR14_REG',['../gb_2hardware_8h.html#a04c340d91842e8ee2b93922c2bcf39a4',1,'hardware.h']]], - ['nr21_5freg_1420',['NR21_REG',['../gb_2hardware_8h.html#a6dd3af1c8e3c66409aa0bc889d98e171',1,'hardware.h']]], - ['nr22_5freg_1421',['NR22_REG',['../gb_2hardware_8h.html#af1301c73bf93350045ba3a4887723ae8',1,'hardware.h']]], - ['nr23_5freg_1422',['NR23_REG',['../gb_2hardware_8h.html#a7bb32ac86e3fbf5f869410ba42620616',1,'hardware.h']]], - ['nr24_5freg_1423',['NR24_REG',['../gb_2hardware_8h.html#a6676e579a5e421adfb3d3e2d470d9ab6',1,'hardware.h']]], - ['nr30_5freg_1424',['NR30_REG',['../gb_2hardware_8h.html#a85d8e680d4d40a918b4195d2a4fada2a',1,'hardware.h']]], - ['nr31_5freg_1425',['NR31_REG',['../gb_2hardware_8h.html#aea78f857e34370d7e1177a8bafe08148',1,'hardware.h']]], - ['nr32_5freg_1426',['NR32_REG',['../gb_2hardware_8h.html#a244ee6d8f6144be9b0f94602eddb6239',1,'hardware.h']]], - ['nr33_5freg_1427',['NR33_REG',['../gb_2hardware_8h.html#a01c768b60853c8eecdefc2cedfc8d672',1,'hardware.h']]], - ['nr34_5freg_1428',['NR34_REG',['../gb_2hardware_8h.html#ab6da3e2cdbac1331bef3f6de9c808ab1',1,'hardware.h']]], - ['nr41_5freg_1429',['NR41_REG',['../gb_2hardware_8h.html#a557833cc1671aa0bd71f33766b4e0f24',1,'hardware.h']]], - ['nr42_5freg_1430',['NR42_REG',['../gb_2hardware_8h.html#aba3d9fb63552bc02ec879696b581adac',1,'hardware.h']]], - ['nr43_5freg_1431',['NR43_REG',['../gb_2hardware_8h.html#a52593a64863d51fbf5860b0d31448972',1,'hardware.h']]], - ['nr44_5freg_1432',['NR44_REG',['../gb_2hardware_8h.html#a849d2cff8df2655f86b294466bec40d6',1,'hardware.h']]], - ['nr50_5freg_1433',['NR50_REG',['../gb_2hardware_8h.html#a924fdf48f6ad020423f6309055314928',1,'hardware.h']]], - ['nr51_5freg_1434',['NR51_REG',['../gb_2hardware_8h.html#ab28f97eabd5f32d48ea27d97bd5dc64f',1,'hardware.h']]], - ['nr52_5freg_1435',['NR52_REG',['../gb_2hardware_8h.html#ac429365dce851ca57d8fe4f7c54a1caa',1,'hardware.h']]] + ['npads_1457',['npads',['../structjoypads__t.html#af84e3549a0708ee0e04295e5f853e9f5',1,'joypads_t']]], + ['nr10_5freg_1458',['NR10_REG',['../gb_2hardware_8h.html#ad859dc62b1df1584ade0cbb822a3e46f',1,'hardware.h']]], + ['nr11_5freg_1459',['NR11_REG',['../gb_2hardware_8h.html#ad53dc7f22b99fce195210a95f2749a72',1,'hardware.h']]], + ['nr12_5freg_1460',['NR12_REG',['../gb_2hardware_8h.html#a7accf5feabd95a2d84c72f5915fff837',1,'hardware.h']]], + ['nr13_5freg_1461',['NR13_REG',['../gb_2hardware_8h.html#a3d30d4797321b403cd713d727fa3db6c',1,'hardware.h']]], + ['nr14_5freg_1462',['NR14_REG',['../gb_2hardware_8h.html#a04c340d91842e8ee2b93922c2bcf39a4',1,'hardware.h']]], + ['nr21_5freg_1463',['NR21_REG',['../gb_2hardware_8h.html#a6dd3af1c8e3c66409aa0bc889d98e171',1,'hardware.h']]], + ['nr22_5freg_1464',['NR22_REG',['../gb_2hardware_8h.html#af1301c73bf93350045ba3a4887723ae8',1,'hardware.h']]], + ['nr23_5freg_1465',['NR23_REG',['../gb_2hardware_8h.html#a7bb32ac86e3fbf5f869410ba42620616',1,'hardware.h']]], + ['nr24_5freg_1466',['NR24_REG',['../gb_2hardware_8h.html#a6676e579a5e421adfb3d3e2d470d9ab6',1,'hardware.h']]], + ['nr30_5freg_1467',['NR30_REG',['../gb_2hardware_8h.html#a85d8e680d4d40a918b4195d2a4fada2a',1,'hardware.h']]], + ['nr31_5freg_1468',['NR31_REG',['../gb_2hardware_8h.html#aea78f857e34370d7e1177a8bafe08148',1,'hardware.h']]], + ['nr32_5freg_1469',['NR32_REG',['../gb_2hardware_8h.html#a244ee6d8f6144be9b0f94602eddb6239',1,'hardware.h']]], + ['nr33_5freg_1470',['NR33_REG',['../gb_2hardware_8h.html#a01c768b60853c8eecdefc2cedfc8d672',1,'hardware.h']]], + ['nr34_5freg_1471',['NR34_REG',['../gb_2hardware_8h.html#ab6da3e2cdbac1331bef3f6de9c808ab1',1,'hardware.h']]], + ['nr41_5freg_1472',['NR41_REG',['../gb_2hardware_8h.html#a557833cc1671aa0bd71f33766b4e0f24',1,'hardware.h']]], + ['nr42_5freg_1473',['NR42_REG',['../gb_2hardware_8h.html#aba3d9fb63552bc02ec879696b581adac',1,'hardware.h']]], + ['nr43_5freg_1474',['NR43_REG',['../gb_2hardware_8h.html#a52593a64863d51fbf5860b0d31448972',1,'hardware.h']]], + ['nr44_5freg_1475',['NR44_REG',['../gb_2hardware_8h.html#a849d2cff8df2655f86b294466bec40d6',1,'hardware.h']]], + ['nr50_5freg_1476',['NR50_REG',['../gb_2hardware_8h.html#a924fdf48f6ad020423f6309055314928',1,'hardware.h']]], + ['nr51_5freg_1477',['NR51_REG',['../gb_2hardware_8h.html#ab28f97eabd5f32d48ea27d97bd5dc64f',1,'hardware.h']]], + ['nr52_5freg_1478',['NR52_REG',['../gb_2hardware_8h.html#ac429365dce851ca57d8fe4f7c54a1caa',1,'hardware.h']]] ]; diff --git a/docs/api/search/variables_d.js b/docs/api/search/variables_d.js @@ -1,9 +1,9 @@ var searchData= [ - ['obp0_5freg_1436',['OBP0_REG',['../gb_2hardware_8h.html#a13f3e89f7b92258d825292e5058815c7',1,'hardware.h']]], - ['obp1_5freg_1437',['OBP1_REG',['../gb_2hardware_8h.html#a9da545164e049ef773128f869daece13',1,'hardware.h']]], - ['ocpd_5freg_1438',['OCPD_REG',['../gb_2hardware_8h.html#ae24d0e88a1e1b8367ac1f5709d3e500c',1,'hardware.h']]], - ['ocps_5freg_1439',['OCPS_REG',['../gb_2hardware_8h.html#a1686d2457eb4ad834bb75fb81c86aed8',1,'hardware.h']]], - ['ofs_1440',['ofs',['../union____far__ptr.html#a60fef2b4efac12d73fd609373631ac4e',1,'__far_ptr']]], - ['opcode_1441',['opcode',['../structisr__vector__t.html#a43f6e622239ba42a25d2d9624c0d8f0b',1,'isr_vector_t::opcode()'],['../structisr__nested__vector__t.html#a097ce850c38d6045af8f419a07a34b66',1,'isr_nested_vector_t::opcode()']]] + ['obp0_5freg_1479',['OBP0_REG',['../gb_2hardware_8h.html#a13f3e89f7b92258d825292e5058815c7',1,'hardware.h']]], + ['obp1_5freg_1480',['OBP1_REG',['../gb_2hardware_8h.html#a9da545164e049ef773128f869daece13',1,'hardware.h']]], + ['ocpd_5freg_1481',['OCPD_REG',['../gb_2hardware_8h.html#ae24d0e88a1e1b8367ac1f5709d3e500c',1,'hardware.h']]], + ['ocps_5freg_1482',['OCPS_REG',['../gb_2hardware_8h.html#a1686d2457eb4ad834bb75fb81c86aed8',1,'hardware.h']]], + ['ofs_1483',['ofs',['../union____far__ptr.html#a60fef2b4efac12d73fd609373631ac4e',1,'__far_ptr']]], + ['opcode_1484',['opcode',['../structisr__vector__t.html#a43f6e622239ba42a25d2d9624c0d8f0b',1,'isr_vector_t::opcode()'],['../structisr__nested__vector__t.html#a097ce850c38d6045af8f419a07a34b66',1,'isr_nested_vector_t::opcode()']]] ]; diff --git a/docs/api/search/variables_e.js b/docs/api/search/variables_e.js @@ -1,9 +1,10 @@ var searchData= [ - ['p1_5freg_1442',['P1_REG',['../gb_2hardware_8h.html#a04f9a36ab04334fcd21d2f50c125d5d0',1,'hardware.h']]], - ['pcm12_5freg_1443',['PCM12_REG',['../gb_2hardware_8h.html#a428894ca3fd0bb4527b03bed551ff04c',1,'hardware.h']]], - ['pcm34_5freg_1444',['PCM34_REG',['../gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0',1,'hardware.h']]], - ['prop_1445',['prop',['../struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9',1,'OAM_item_t']]], - ['props_1446',['props',['../structmetasprite__t.html#ab61e73a65c5e8cb30d0d81bb7845d615',1,'metasprite_t']]], - ['ptr_1447',['ptr',['../union____far__ptr.html#afabdeeef2b4056bc9c2d2e34b030f348',1,'__far_ptr']]] + ['p1_5freg_1485',['P1_REG',['../gb_2hardware_8h.html#a04f9a36ab04334fcd21d2f50c125d5d0',1,'hardware.h']]], + ['pcm12_5freg_1486',['PCM12_REG',['../gb_2hardware_8h.html#a428894ca3fd0bb4527b03bed551ff04c',1,'hardware.h']]], + ['pcm34_5freg_1487',['PCM34_REG',['../gb_2hardware_8h.html#ac6d19ac313a99f41bd996e1ca5e43df0',1,'hardware.h']]], + ['pcm_5fsample_1488',['PCM_SAMPLE',['../gb_2hardware_8h.html#a271367a0bf840e5422b3a7ed541776f8',1,'hardware.h']]], + ['prop_1489',['prop',['../struct_o_a_m__item__t.html#a435e018f3bbc0ebaa9eaf96806d386d9',1,'OAM_item_t']]], + ['props_1490',['props',['../structmetasprite__t.html#ab61e73a65c5e8cb30d0d81bb7845d615',1,'metasprite_t']]], + ['ptr_1491',['ptr',['../union____far__ptr.html#afabdeeef2b4056bc9c2d2e34b030f348',1,'__far_ptr']]] ]; diff --git a/docs/api/search/variables_f.js b/docs/api/search/variables_f.js @@ -1,8 +1,8 @@ var searchData= [ - ['rp_5freg_1448',['RP_REG',['../gb_2hardware_8h.html#a76532f8742d9dd8cb26d2ccfd9c37bbf',1,'hardware.h']]], - ['rramb_1449',['rRAMB',['../gb_2hardware_8h.html#ac2985dbccb16c4c00381d6fbe9600aff',1,'hardware.h']]], - ['rramg_1450',['rRAMG',['../gb_2hardware_8h.html#a64dd59016e4f0e78672962fbc553a4b4',1,'hardware.h']]], - ['rromb0_1451',['rROMB0',['../gb_2hardware_8h.html#ae0976a29e341edc6ceb810e6eb0328f1',1,'hardware.h']]], - ['rromb1_1452',['rROMB1',['../gb_2hardware_8h.html#a014f3a9d7ce8f8026c9ac6c0410bb099',1,'hardware.h']]] + ['rp_5freg_1492',['RP_REG',['../gb_2hardware_8h.html#a76532f8742d9dd8cb26d2ccfd9c37bbf',1,'hardware.h']]], + ['rramb_1493',['rRAMB',['../gb_2hardware_8h.html#ac2985dbccb16c4c00381d6fbe9600aff',1,'hardware.h']]], + ['rramg_1494',['rRAMG',['../gb_2hardware_8h.html#a64dd59016e4f0e78672962fbc553a4b4',1,'hardware.h']]], + ['rromb0_1495',['rROMB0',['../gb_2hardware_8h.html#ae0976a29e341edc6ceb810e6eb0328f1',1,'hardware.h']]], + ['rromb1_1496',['rROMB1',['../gb_2hardware_8h.html#a014f3a9d7ce8f8026c9ac6c0410bb099',1,'hardware.h']]] ]; diff --git a/docs/api/setjmp_8h.html b/docs/api/setjmp_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/setjmp_8h_source.html b/docs/api/setjmp_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -179,7 +180,7 @@ $(document).ready(function(){initNavTree('setjmp_8h_source.html',''); initResiza <div class="ttc" id="asetjmp_8h_html_ae02ec77c070126e75761ab85226b62a7"><div class="ttname"><a href="setjmp_8h.html#ae02ec77c070126e75761ab85226b62a7">BP_SIZE</a></div><div class="ttdeci">#define BP_SIZE</div><div class="ttdef"><b>Definition:</b> setjmp.h:37</div></div> <div class="ttc" id="asetjmp_8h_html_a61c5519ad23b4ddbcc77c45352aac913"><div class="ttname"><a href="setjmp_8h.html#a61c5519ad23b4ddbcc77c45352aac913">RET_SIZE</a></div><div class="ttdeci">#define RET_SIZE</div><div class="ttdef"><b>Definition:</b> setjmp.h:51</div></div> <div class="ttc" id="asetjmp_8h_html_a88bdd5a73c39b334f254a3ef5488880d"><div class="ttname"><a href="setjmp_8h.html#a88bdd5a73c39b334f254a3ef5488880d">jmp_buf</a></div><div class="ttdeci">unsigned char jmp_buf[RET_SIZE+SP_SIZE+BP_SIZE+SPX_SIZE+BPX_SIZE]</div><div class="ttdef"><b>Definition:</b> setjmp.h:63</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> <div class="ttc" id="asetjmp_8h_html_a0239bfe1e2b75fa5757c32a90d0c140d"><div class="ttname"><a href="setjmp_8h.html#a0239bfe1e2b75fa5757c32a90d0c140d">BPX_SIZE</a></div><div class="ttdeci">#define BPX_SIZE</div><div class="ttdef"><b>Definition:</b> setjmp.h:46</div></div> <div class="ttc" id="asetjmp_8h_html_ae8f437ea759f560a09affd1bab9acb74"><div class="ttname"><a href="setjmp_8h.html#ae8f437ea759f560a09affd1bab9acb74">longjmp</a></div><div class="ttdeci">_Noreturn void longjmp(jmp_buf, int) OLDCALL</div></div> <div class="ttc" id="asetjmp_8h_html_aebec2c4d6fc67c86fbb297bd79efb27c"><div class="ttname"><a href="setjmp_8h.html#aebec2c4d6fc67c86fbb297bd79efb27c">SP_SIZE</a></div><div class="ttdeci">#define SP_SIZE</div><div class="ttdef"><b>Definition:</b> setjmp.h:32</div></div> diff --git a/docs/api/sgb_8h.html b/docs/api/sgb_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -153,10 +154,10 @@ Macros</h2></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:ae15ee98a319dec8aa94a5ce6790056ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sgb_8h.html#ae15ee98a319dec8aa94a5ce6790056ee">sgb_check</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:ae15ee98a319dec8aa94a5ce6790056ee"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a45a1526789b51eea852adcfb3392fde0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sgb_8h.html#a45a1526789b51eea852adcfb3392fde0">sgb_transfer</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *packet) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a45a1526789b51eea852adcfb3392fde0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a48bc560ec2455bf97002e03c0a6055f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sgb_8h.html#a48bc560ec2455bf97002e03c0a6055f0">sgb_check</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a48bc560ec2455bf97002e03c0a6055f0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a84e1f2ab7dce1faabd3d271b6bf8df8c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sgb_8h.html#a84e1f2ab7dce1faabd3d271b6bf8df8c">sgb_transfer</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *packet) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a84e1f2ab7dce1faabd3d271b6bf8df8c"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> @@ -543,8 +544,8 @@ Variables</h2></td></tr> </div> </div> <h2 class="groupheader">Function Documentation</h2> -<a id="ae15ee98a319dec8aa94a5ce6790056ee"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ae15ee98a319dec8aa94a5ce6790056ee">◆ </a></span>sgb_check()</h2> +<a id="a48bc560ec2455bf97002e03c0a6055f0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a48bc560ec2455bf97002e03c0a6055f0">◆ </a></span>sgb_check()</h2> <div class="memitem"> <div class="memproto"> @@ -561,8 +562,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a45a1526789b51eea852adcfb3392fde0"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a45a1526789b51eea852adcfb3392fde0">◆ </a></span>sgb_transfer()</h2> +<a id="a84e1f2ab7dce1faabd3d271b6bf8df8c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a84e1f2ab7dce1faabd3d271b6bf8df8c">◆ </a></span>sgb_transfer()</h2> <div class="memitem"> <div class="memproto"> @@ -585,7 +586,11 @@ Variables</h2></td></tr> </dl> <p>The first byte of <b>packet</b> should be a SGB command, then up to 15 bytes of command parameter data.</p> <p>See the <code>sgb_border</code> GBDK example project for a demo of how to use these the sgb functions.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="sgb_8h.html#ae15ee98a319dec8aa94a5ce6790056ee">sgb_check()</a> </dd></dl> +<p>When using the SGB with a PAL SNES, a delay should be added just after program startup such as:</p> +<div class="fragment"><div class="line"><span class="comment">// Wait 4 frames</span></div> +<div class="line"><span class="comment">// For PAL SNES this delay is required on startup</span></div> +<div class="line"><span class="keywordflow">for</span> (<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> i = 4; i != 0; i--) <a class="code" href="gb_8h.html#acd186eb292d441f9389e77b545a55619">wait_vbl_done</a>();</div> +</div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="sgb_8h.html#a48bc560ec2455bf97002e03c0a6055f0">sgb_check()</a> </dd></dl> </div> </div> @@ -606,6 +611,8 @@ Variables</h2></td></tr> </div> </div><!-- contents --> </div><!-- doc-content --> +<div class="ttc" id="astdint_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div> +<div class="ttc" id="agb_8h_html_acd186eb292d441f9389e77b545a55619"><div class="ttname"><a href="gb_8h.html#acd186eb292d441f9389e77b545a55619">wait_vbl_done</a></div><div class="ttdeci">void wait_vbl_done() PRESERVES_REGS(b</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/sgb_8h.js b/docs/api/sgb_8h.js @@ -25,7 +25,7 @@ var sgb_8h = [ "SGB_ATTR_SET", "sgb_8h.html#abf8d94c42e97e1ce640340657df70640", null ], [ "SGB_MASK_EN", "sgb_8h.html#a20477d5772564b63de2d151e062dd5a7", null ], [ "SGB_OBJ_TRN", "sgb_8h.html#a3b76bf1e9ac81da97c533fa3ab12096c", null ], - [ "sgb_check", "sgb_8h.html#ae15ee98a319dec8aa94a5ce6790056ee", null ], - [ "sgb_transfer", "sgb_8h.html#a45a1526789b51eea852adcfb3392fde0", null ], + [ "sgb_check", "sgb_8h.html#a48bc560ec2455bf97002e03c0a6055f0", null ], + [ "sgb_transfer", "sgb_8h.html#a84e1f2ab7dce1faabd3d271b6bf8df8c", null ], [ "c", "sgb_8h.html#a0b3366755f3276b0243c1e0497471b7a", null ] ]; diff --git a/docs/api/sgb_8h_source.html b/docs/api/sgb_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -121,19 +122,20 @@ $(document).ready(function(){initNavTree('sgb_8h_source.html',''); initResizable <div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="sgb_8h.html#abf8d94c42e97e1ce640340657df70640"> 34</a></span> <span class="preprocessor">#define SGB_ATTR_SET 0x16U </span></div> <div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="sgb_8h.html#a20477d5772564b63de2d151e062dd5a7"> 35</a></span> <span class="preprocessor">#define SGB_MASK_EN 0x17U </span></div> <div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="sgb_8h.html#a3b76bf1e9ac81da97c533fa3ab12096c"> 36</a></span> <span class="preprocessor">#define SGB_OBJ_TRN 0x18U </span></div> -<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="sgb_8h.html#ae15ee98a319dec8aa94a5ce6790056ee"> 40</a></span> <span class="preprocessor">uint8_t sgb_check() OLDCALL __preserves_regs(b, c);</span></div> +<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="sgb_8h.html#a48bc560ec2455bf97002e03c0a6055f0"> 40</a></span> <span class="preprocessor">uint8_t sgb_check() OLDCALL PRESERVES_REGS(b, c);</span></div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  </div> -<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="sgb_8h.html#a45a1526789b51eea852adcfb3392fde0"> 54</a></span> <span class="keywordtype">void</span> <a class="code" href="sgb_8h.html#a45a1526789b51eea852adcfb3392fde0">sgb_transfer</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * packet) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sgb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  </div> -<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#endif </span><span class="comment">/* _SGB_H */</span><span class="preprocessor"></span></div> +<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="sgb_8h.html#a84e1f2ab7dce1faabd3d271b6bf8df8c"> 63</a></span> <span class="keywordtype">void</span> <a class="code" href="sgb_8h.html#a84e1f2ab7dce1faabd3d271b6bf8df8c">sgb_transfer</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * packet) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sgb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  </div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#endif </span><span class="comment">/* _SGB_H */</span><span class="preprocessor"></span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div class="ttc" id="astdint_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div> <div class="ttc" id="asgb_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="sgb_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">uint8_t c</div><div class="ttdef"><b>Definition:</b> sgb.h:40</div></div> +<div class="ttc" id="asgb_8h_html_a84e1f2ab7dce1faabd3d271b6bf8df8c"><div class="ttname"><a href="sgb_8h.html#a84e1f2ab7dce1faabd3d271b6bf8df8c">sgb_transfer</a></div><div class="ttdeci">void sgb_transfer(uint8_t *packet) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> -<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:585</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> -<div class="ttc" id="asgb_8h_html_a45a1526789b51eea852adcfb3392fde0"><div class="ttname"><a href="sgb_8h.html#a45a1526789b51eea852adcfb3392fde0">sgb_transfer</a></div><div class="ttdeci">void sgb_transfer(uint8_t *packet) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:608</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> +<div class="ttc" id="aasm_2types_8h_html_acb825e83a33fcc06482c59b4ab2cf961"><div class="ttname"><a href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a></div><div class="ttdeci">#define PRESERVES_REGS(...)</div><div class="ttdef"><b>Definition:</b> types.h:29</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/sms_2gbdecompress_8h.html b/docs/api/sms_2gbdecompress_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -92,14 +93,15 @@ $(document).ready(function(){initNavTree('sms_2gbdecompress_8h.html',''); initRe <div class="title">gbdecompress.h File Reference</div> </div> </div><!--header--> <div class="contents"> -<div class="textblock"><code>#include <<a class="el" href="stdint_8h_source.html">stdint.h</a>></code><br /> +<div class="textblock"><code>#include <types.h></code><br /> +<code>#include <<a class="el" href="stdint_8h_source.html">stdint.h</a>></code><br /> </div> <p><a href="sms_2gbdecompress_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:a4f181b96c71ce66abdd46928b3975ade"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2gbdecompress_8h.html#a4f181b96c71ce66abdd46928b3975ade">gb_decompress</a> (const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *dest) __z88dk_callee __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a4f181b96c71ce66abdd46928b3975ade"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9cd1564f78842562c450becf22002db2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2gbdecompress_8h.html#a9cd1564f78842562c450becf22002db2">gb_decompress</a> (const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *sour, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *dest) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a9cd1564f78842562c450becf22002db2"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> @@ -107,8 +109,8 @@ Variables</h2></td></tr> <tr class="separator:add06ad5d8520e7cff4ff84b2811c0982"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Function Documentation</h2> -<a id="a4f181b96c71ce66abdd46928b3975ade"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a4f181b96c71ce66abdd46928b3975ade">◆ </a></span>gb_decompress()</h2> +<a id="a9cd1564f78842562c450becf22002db2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a9cd1564f78842562c450becf22002db2">◆ </a></span>gb_decompress()</h2> <div class="memitem"> <div class="memproto"> @@ -141,7 +143,7 @@ Variables</h2></td></tr> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Return value is number of bytes decompressed</dd></dl> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2gbdecompress_8h.html#add300dcc2e13630d907441f3f0b78544">gb_decompress_bkg_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#af81d6d4e6fa886f54ce77c26bea85d78">gb_decompress_win_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#a7a57b6a4ce5efc5e5f143844003b947d">gb_decompress_sprite_data</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_2gbdecompress_8h.html#aed0cb0f1604a80ca5e7fb771b04114d8">gb_decompress_bkg_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#a85d2eaf4a7c268fe1496fa2b9c626284">gb_decompress_win_data</a>, <a class="el" href="gb_2gbdecompress_8h.html#aa4ac6ffb1dc949051e0e72e2aba8e6ff">gb_decompress_sprite_data</a> </dd></dl> </div> </div> diff --git a/docs/api/sms_2gbdecompress_8h.js b/docs/api/sms_2gbdecompress_8h.js @@ -1,5 +1,5 @@ var sms_2gbdecompress_8h = [ - [ "gb_decompress", "sms_2gbdecompress_8h.html#a4f181b96c71ce66abdd46928b3975ade", null ], + [ "gb_decompress", "sms_2gbdecompress_8h.html#a9cd1564f78842562c450becf22002db2", null ], [ "c", "sms_2gbdecompress_8h.html#add06ad5d8520e7cff4ff84b2811c0982", null ] ]; diff --git a/docs/api/sms_2gbdecompress_8h_source.html b/docs/api/sms_2gbdecompress_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -93,19 +94,22 @@ $(document).ready(function(){initNavTree('sms_2gbdecompress_8h_source.html',''); <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#ifndef __GBDECOMPRESS_H_INCLUDE</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#define __GBDECOMPRESS_H_INCLUDE</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span>  </div> -<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include <<a class="code" href="stdint_8h.html">stdint.h</a>></span></div> -<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  </div> -<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="sms_2gbdecompress_8h.html#a4f181b96c71ce66abdd46928b3975ade"> 21</a></span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a">gb_decompress</a>(<span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * sour, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * dest) __z88dk_callee __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> -<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  </div> -<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include <types.h></span></div> +<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <<a class="code" href="stdint_8h.html">stdint.h</a>></span></div> +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  </div> +<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="sms_2gbdecompress_8h.html#a9cd1564f78842562c450becf22002db2"> 22</a></span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2">gb_decompress</a>(<span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * sour, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * dest) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>);</div> +<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  </div> +<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div class="ttc" id="astdint_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div> <div class="ttc" id="astdint_8h_html_adf4d876453337156dde61095e1f20223"><div class="ttname"><a href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a></div><div class="ttdeci">unsigned short int uint16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:52</div></div> -<div class="ttc" id="agb_2gbdecompress_8h_html_a076bf72dee1edf05f7aaf542003f349a"><div class="ttname"><a href="gb_2gbdecompress_8h.html#a076bf72dee1edf05f7aaf542003f349a">gb_decompress</a></div><div class="ttdeci">uint16_t gb_decompress(const uint8_t *sour, uint8_t *dest) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="aasm_2z80_2types_8h_html_aa19670cfef9fe1cc31f28fafb0e1000a"><div class="ttname"><a href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></div><div class="ttdeci">#define Z88DK_CALLEE</div><div class="ttdef"><b>Definition:</b> types.h:42</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> -<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:585</div></div> -<div class="ttc" id="agb_2gbdecompress_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">uint16_t c</div><div class="ttdef"><b>Definition:</b> gbdecompress.h:20</div></div> +<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:608</div></div> +<div class="ttc" id="agb_2gbdecompress_8h_html_a3370eefd9a88fdefed71eeb92e6861f2"><div class="ttname"><a href="gb_2gbdecompress_8h.html#a3370eefd9a88fdefed71eeb92e6861f2">gb_decompress</a></div><div class="ttdeci">uint16_t gb_decompress(const uint8_t *sour, uint8_t *dest) OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="agb_2gbdecompress_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="gb_2gbdecompress_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">uint16_t c</div><div class="ttdef"><b>Definition:</b> gbdecompress.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_acb825e83a33fcc06482c59b4ab2cf961"><div class="ttname"><a href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a></div><div class="ttdeci">#define PRESERVES_REGS(...)</div><div class="ttdef"><b>Definition:</b> types.h:29</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/sms_2hardware_8h.html b/docs/api/sms_2hardware_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -130,6 +131,18 @@ Macros</h2></td></tr> <tr class="separator:aa8e128eeff1d58f674cebdbacc413f3c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2cfa517650949a89a7ebabf0253fcdf7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2hardware_8h.html#a2cfa517650949a89a7ebabf0253fcdf7">JOY_P2_LATCH</a>   0b00001000</td></tr> <tr class="separator:a2cfa517650949a89a7ebabf0253fcdf7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6777f1ed2475b5ba6aa60b9a16fa02d3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2hardware_8h.html#a6777f1ed2475b5ba6aa60b9a16fa02d3">PSG_LATCH</a>   0x80</td></tr> +<tr class="separator:a6777f1ed2475b5ba6aa60b9a16fa02d3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ad8a903de6b38e08e1591fc5ef278381c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2hardware_8h.html#ad8a903de6b38e08e1591fc5ef278381c">PSG_CH0</a>   0b00000000</td></tr> +<tr class="separator:ad8a903de6b38e08e1591fc5ef278381c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:addc12c4ee03ea787b826e337f1acd317"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2hardware_8h.html#addc12c4ee03ea787b826e337f1acd317">PSG_CH1</a>   0b00100000</td></tr> +<tr class="separator:addc12c4ee03ea787b826e337f1acd317"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aaeefb1ac1fb4d0d2324b8ee7f4953226"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2hardware_8h.html#aaeefb1ac1fb4d0d2324b8ee7f4953226">PSG_CH2</a>   0b01000000</td></tr> +<tr class="separator:aaeefb1ac1fb4d0d2324b8ee7f4953226"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ac760259fb86ee72abb5922018ae0db42"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2hardware_8h.html#ac760259fb86ee72abb5922018ae0db42">PSG_CH3</a>   0b01100000</td></tr> +<tr class="separator:ac760259fb86ee72abb5922018ae0db42"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a3d806ff027bffa67c4dfc5967f87c1d1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2hardware_8h.html#a3d806ff027bffa67c4dfc5967f87c1d1">PSG_VOLUME</a>   0b00010000</td></tr> +<tr class="separator:a3d806ff027bffa67c4dfc5967f87c1d1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4702e74fffdc57d60c3835e63c665cc1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2hardware_8h.html#a4702e74fffdc57d60c3835e63c665cc1">STATF_INT_VBL</a>   0b10000000</td></tr> <tr class="separator:a4702e74fffdc57d60c3835e63c665cc1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4a7b807e5e5987302a5315fe5c815ce8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2hardware_8h.html#a4a7b807e5e5987302a5315fe5c815ce8">STATF_9_SPR</a>   0b01000000</td></tr> @@ -559,6 +572,90 @@ Variables</h2></td></tr> </div> </div> +<a id="a6777f1ed2475b5ba6aa60b9a16fa02d3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6777f1ed2475b5ba6aa60b9a16fa02d3">◆ </a></span>PSG_LATCH</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define PSG_LATCH   0x80</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="ad8a903de6b38e08e1591fc5ef278381c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ad8a903de6b38e08e1591fc5ef278381c">◆ </a></span>PSG_CH0</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define PSG_CH0   0b00000000</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="addc12c4ee03ea787b826e337f1acd317"></a> +<h2 class="memtitle"><span class="permalink"><a href="#addc12c4ee03ea787b826e337f1acd317">◆ </a></span>PSG_CH1</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define PSG_CH1   0b00100000</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="aaeefb1ac1fb4d0d2324b8ee7f4953226"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aaeefb1ac1fb4d0d2324b8ee7f4953226">◆ </a></span>PSG_CH2</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define PSG_CH2   0b01000000</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="ac760259fb86ee72abb5922018ae0db42"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ac760259fb86ee72abb5922018ae0db42">◆ </a></span>PSG_CH3</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define PSG_CH3   0b01100000</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<a id="a3d806ff027bffa67c4dfc5967f87c1d1"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a3d806ff027bffa67c4dfc5967f87c1d1">◆ </a></span>PSG_VOLUME</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define PSG_VOLUME   0b00010000</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> <a id="a4702e74fffdc57d60c3835e63c665cc1"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4702e74fffdc57d60c3835e63c665cc1">◆ </a></span>STATF_INT_VBL</h2> diff --git a/docs/api/sms_2hardware_8h.js b/docs/api/sms_2hardware_8h.js @@ -16,6 +16,12 @@ var sms_2hardware_8h = [ "MEMCTL_EXTOFF", "sms_2hardware_8h.html#ac4c1790dd7397ef1005190dc01b3e808", null ], [ "JOY_P1_LATCH", "sms_2hardware_8h.html#aa8e128eeff1d58f674cebdbacc413f3c", null ], [ "JOY_P2_LATCH", "sms_2hardware_8h.html#a2cfa517650949a89a7ebabf0253fcdf7", null ], + [ "PSG_LATCH", "sms_2hardware_8h.html#a6777f1ed2475b5ba6aa60b9a16fa02d3", null ], + [ "PSG_CH0", "sms_2hardware_8h.html#ad8a903de6b38e08e1591fc5ef278381c", null ], + [ "PSG_CH1", "sms_2hardware_8h.html#addc12c4ee03ea787b826e337f1acd317", null ], + [ "PSG_CH2", "sms_2hardware_8h.html#aaeefb1ac1fb4d0d2324b8ee7f4953226", null ], + [ "PSG_CH3", "sms_2hardware_8h.html#ac760259fb86ee72abb5922018ae0db42", null ], + [ "PSG_VOLUME", "sms_2hardware_8h.html#a3d806ff027bffa67c4dfc5967f87c1d1", null ], [ "STATF_INT_VBL", "sms_2hardware_8h.html#a4702e74fffdc57d60c3835e63c665cc1", null ], [ "STATF_9_SPR", "sms_2hardware_8h.html#a4a7b807e5e5987302a5315fe5c815ce8", null ], [ "STATF_SPR_COLL", "sms_2hardware_8h.html#a6fdd982d805d5af6de0417e24faf027d", null ], diff --git a/docs/api/sms_2hardware_8h_source.html b/docs/api/sms_2hardware_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -98,7 +99,7 @@ $(document).ready(function(){initNavTree('sms_2hardware_8h_source.html',''); ini <div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ab2767d5f8f0ad35d8c8ee0bb3f4c51c3"> 10</a></span> <span class="preprocessor">#define __BYTES extern UBYTE</span></div> <div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a3b39604bdf93a32e9ff965c1a55f0df8"> 11</a></span> <span class="preprocessor">#define __BYTE_REG extern volatile UBYTE</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  </div> -<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="keyword">static</span> <span class="keyword">volatile</span> __sfr __at(0x3E) MEMORY_CTL;</div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0x3E) MEMORY_CTL;</div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  </div> <div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#af4607245a47e34bd6af5d2d43d7fb30f"> 15</a></span> <span class="preprocessor">#define MEMCTL_JOYON 0b00000000</span></div> <div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ad8b8ecb5a71567cabc47af43da5dadf1"> 16</a></span> <span class="preprocessor">#define MEMCTL_JOYOFF 0b00000100</span></div> @@ -113,193 +114,206 @@ $(document).ready(function(){initNavTree('sms_2hardware_8h_source.html',''); ini <div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a41654dd6b42ebdd213edc44494855caf"> 25</a></span> <span class="preprocessor">#define MEMCTL_EXTON 0b00000000</span></div> <div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ac4c1790dd7397ef1005190dc01b3e808"> 26</a></span> <span class="preprocessor">#define MEMCTL_EXTOFF 0b10000000</span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  </div> -<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">static</span> <span class="keyword">volatile</span> __sfr __at(0x3F) JOY_CTL;</div> +<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0x3F) JOY_CTL;</div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  </div> <div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aa8e128eeff1d58f674cebdbacc413f3c"> 30</a></span> <span class="preprocessor">#define JOY_P1_LATCH 0b00000010</span></div> <div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a2cfa517650949a89a7ebabf0253fcdf7"> 31</a></span> <span class="preprocessor">#define JOY_P2_LATCH 0b00001000</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  </div> -<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">static</span> <span class="keyword">volatile</span> __sfr __at(0x7E) VCOUNTER;</div> -<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">static</span> <span class="keyword">volatile</span> __sfr __at(0x7F) PSG;</div> -<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">static</span> <span class="keyword">volatile</span> __sfr __at(0x7F) HCOUNTER;</div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0x7E) VCOUNTER;</div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  </div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0x7F) PSG;</div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  </div> -<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">static</span> <span class="keyword">volatile</span> __sfr __at(0xBE) VDP_DATA;</div> -<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">static</span> <span class="keyword">volatile</span> __sfr __at(0xBF) VDP_CMD;</div> -<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">static</span> <span class="keyword">volatile</span> __sfr __at(0xBF) VDP_STATUS;</div> -<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  </div> -<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a4702e74fffdc57d60c3835e63c665cc1"> 41</a></span> <span class="preprocessor">#define STATF_INT_VBL 0b10000000</span></div> -<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a4a7b807e5e5987302a5315fe5c815ce8"> 42</a></span> <span class="preprocessor">#define STATF_9_SPR 0b01000000</span></div> -<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a6fdd982d805d5af6de0417e24faf027d"> 43</a></span> <span class="preprocessor">#define STATF_SPR_COLL 0b00100000</span></div> -<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  </div> -<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a99ca7572e3708ffed188359799045b19"> 45</a></span> <span class="preprocessor">#define VDP_REG_MASK 0b10000000</span></div> -<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6"> 46</a></span> <span class="preprocessor">#define VDP_R0 0b10000000</span></div> -<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#aa80cb68338819c004095531d32b70e38">shadow_VDP_R0</a>;</div> -<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  </div> -<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a283c5cad8b93ee7e72ad07aabb9bf522"> 49</a></span> <span class="preprocessor">#define R0_VSCRL 0b00000000</span></div> -<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a65fa6547c2cd80b353a0b266cd834ff0"> 50</a></span> <span class="preprocessor">#define R0_VSCRL_INH 0b10000000</span></div> -<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a61143072ad490ff0050177e7b4b2dd40"> 51</a></span> <span class="preprocessor">#define R0_HSCRL 0b00000000</span></div> -<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a5c238a0b81716020b92cf851b2498b96"> 52</a></span> <span class="preprocessor">#define R0_HSCRL_INH 0b01000000</span></div> -<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#acdd680365862fb618641818646edeb7e"> 53</a></span> <span class="preprocessor">#define R0_NO_LCB 0b00000000</span></div> -<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a83088549f6d87bf5ccb8bf51dfe7ea7b"> 54</a></span> <span class="preprocessor">#define R0_LCB 0b00100000</span></div> -<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a56819f822caf1e545ff803d41cac3ede"> 55</a></span> <span class="preprocessor">#define R0_IE1_OFF 0b00000000</span></div> -<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ae9ab439a46f9918cc24453cd65f95202"> 56</a></span> <span class="preprocessor">#define R0_IE1 0b00010000</span></div> -<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a10e6ffa0580e9956440f4259a3e79a38"> 57</a></span> <span class="preprocessor">#define R0_SS_OFF 0b00000000</span></div> -<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ada8068942691b363f9004ccfd0cb8e82"> 58</a></span> <span class="preprocessor">#define R0_SS 0b00001000</span></div> -<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#af69775608c5d3218fb769c4fb370685f"> 59</a></span> <span class="preprocessor">#define R0_DEFAULT 0b00000110</span></div> -<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aebdf04065a0abf79ae8e1016d03caa1f"> 60</a></span> <span class="preprocessor">#define R0_ES_OFF 0b00000000</span></div> -<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a07d8e5a18c957c482218804ab764dab9"> 61</a></span> <span class="preprocessor">#define R0_ES 0b00000001</span></div> -<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  </div> -<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d"> 63</a></span> <span class="preprocessor">#define VDP_R1 0b10000001</span></div> -<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a542cb696f242df44b0d8e9225d532ef4">shadow_VDP_R1</a>;</div> -<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  </div> -<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a490562a6e4b57d7bf25e8fed3b3f6905"> 66</a></span> <span class="preprocessor">#define R1_DEFAULT 0b10000000</span></div> -<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a143660061646a3f502d03a2251575588"> 67</a></span> <span class="preprocessor">#define R1_DISP_OFF 0b00000000</span></div> -<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#adbfdd7c42539613c371820dffd14906f"> 68</a></span> <span class="preprocessor">#define R1_DISP_ON 0b01000000</span></div> -<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#adf542fd9d2bf9affc6016718e3885473"> 69</a></span> <span class="preprocessor">#define R1_IE_OFF 0b00000000</span></div> -<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a29a2945a9e77ba1f003a2305b7500568"> 70</a></span> <span class="preprocessor">#define R1_IE 0b00100000</span></div> -<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aa4062707b9b0f9ff5d1ee982ccc42fe7"> 71</a></span> <span class="preprocessor">#define R1_SPR_8X8 0b00000000</span></div> -<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a4985d6df1031afe8efb993f9c480ca12"> 72</a></span> <span class="preprocessor">#define R1_SPR_8X16 0b00000010</span></div> +<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a6777f1ed2475b5ba6aa60b9a16fa02d3"> 37</a></span> <span class="preprocessor">#define PSG_LATCH 0x80</span></div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  </div> +<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ad8a903de6b38e08e1591fc5ef278381c"> 39</a></span> <span class="preprocessor">#define PSG_CH0 0b00000000</span></div> +<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#addc12c4ee03ea787b826e337f1acd317"> 40</a></span> <span class="preprocessor">#define PSG_CH1 0b00100000</span></div> +<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aaeefb1ac1fb4d0d2324b8ee7f4953226"> 41</a></span> <span class="preprocessor">#define PSG_CH2 0b01000000</span></div> +<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ac760259fb86ee72abb5922018ae0db42"> 42</a></span> <span class="preprocessor">#define PSG_CH3 0b01100000</span></div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  </div> +<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a3d806ff027bffa67c4dfc5967f87c1d1"> 44</a></span> <span class="preprocessor">#define PSG_VOLUME 0b00010000</span></div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  </div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0x7F) HCOUNTER;</div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  </div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0xBE) VDP_DATA;</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0xBF) VDP_CMD;</div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0xBF) VDP_STATUS;</div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  </div> +<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a4702e74fffdc57d60c3835e63c665cc1"> 52</a></span> <span class="preprocessor">#define STATF_INT_VBL 0b10000000</span></div> +<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a4a7b807e5e5987302a5315fe5c815ce8"> 53</a></span> <span class="preprocessor">#define STATF_9_SPR 0b01000000</span></div> +<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a6fdd982d805d5af6de0417e24faf027d"> 54</a></span> <span class="preprocessor">#define STATF_SPR_COLL 0b00100000</span></div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  </div> +<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a99ca7572e3708ffed188359799045b19"> 56</a></span> <span class="preprocessor">#define VDP_REG_MASK 0b10000000</span></div> +<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6"> 57</a></span> <span class="preprocessor">#define VDP_R0 0b10000000</span></div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#aa80cb68338819c004095531d32b70e38">shadow_VDP_R0</a>;</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  </div> +<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a283c5cad8b93ee7e72ad07aabb9bf522"> 60</a></span> <span class="preprocessor">#define R0_VSCRL 0b00000000</span></div> +<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a65fa6547c2cd80b353a0b266cd834ff0"> 61</a></span> <span class="preprocessor">#define R0_VSCRL_INH 0b10000000</span></div> +<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a61143072ad490ff0050177e7b4b2dd40"> 62</a></span> <span class="preprocessor">#define R0_HSCRL 0b00000000</span></div> +<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a5c238a0b81716020b92cf851b2498b96"> 63</a></span> <span class="preprocessor">#define R0_HSCRL_INH 0b01000000</span></div> +<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#acdd680365862fb618641818646edeb7e"> 64</a></span> <span class="preprocessor">#define R0_NO_LCB 0b00000000</span></div> +<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a83088549f6d87bf5ccb8bf51dfe7ea7b"> 65</a></span> <span class="preprocessor">#define R0_LCB 0b00100000</span></div> +<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a56819f822caf1e545ff803d41cac3ede"> 66</a></span> <span class="preprocessor">#define R0_IE1_OFF 0b00000000</span></div> +<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ae9ab439a46f9918cc24453cd65f95202"> 67</a></span> <span class="preprocessor">#define R0_IE1 0b00010000</span></div> +<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a10e6ffa0580e9956440f4259a3e79a38"> 68</a></span> <span class="preprocessor">#define R0_SS_OFF 0b00000000</span></div> +<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ada8068942691b363f9004ccfd0cb8e82"> 69</a></span> <span class="preprocessor">#define R0_SS 0b00001000</span></div> +<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#af69775608c5d3218fb769c4fb370685f"> 70</a></span> <span class="preprocessor">#define R0_DEFAULT 0b00000110</span></div> +<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aebdf04065a0abf79ae8e1016d03caa1f"> 71</a></span> <span class="preprocessor">#define R0_ES_OFF 0b00000000</span></div> +<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a07d8e5a18c957c482218804ab764dab9"> 72</a></span> <span class="preprocessor">#define R0_ES 0b00000001</span></div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  </div> -<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a2c9f91fcf2aad494a80e967f0c4bb414"> 74</a></span> <span class="preprocessor">#define VDP_R2 0b10000010</span></div> -<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a7f7fa2c0e33c6d515332a50c2acb54e7">shadow_VDP_R2</a>;</div> +<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d"> 74</a></span> <span class="preprocessor">#define VDP_R1 0b10000001</span></div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a542cb696f242df44b0d8e9225d532ef4">shadow_VDP_R1</a>;</div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  </div> -<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a8ce8807a3666fa8c7c93d4834ab22fe3"> 77</a></span> <span class="preprocessor">#define R2_MAP_0x3800 0xFF</span></div> -<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a725647b41b3c8083a7ae8db762ffc880"> 78</a></span> <span class="preprocessor">#define R2_MAP_0x3000 0xFD</span></div> -<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a43ae738f82e8c6e84d30a96fb9c2c792"> 79</a></span> <span class="preprocessor">#define R2_MAP_0x2800 0xFB</span></div> -<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aa2c53c6a4d12fb0614c1a18c015e39af"> 80</a></span> <span class="preprocessor">#define R2_MAP_0x2000 0xF9</span></div> -<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a08fade3bc2afb94785b0ac50d6959faa"> 81</a></span> <span class="preprocessor">#define R2_MAP_0x1800 0xF7</span></div> -<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a43a631b4692a370b2db6b9d5fc2512e1"> 82</a></span> <span class="preprocessor">#define R2_MAP_0x1000 0xF5</span></div> -<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a64cfebfe759bacd1424ad147931ff5a3"> 83</a></span> <span class="preprocessor">#define R2_MAP_0x0800 0xF3</span></div> -<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#acf804b73635a1bfeb04b7dbeafb7fd9f"> 84</a></span> <span class="preprocessor">#define R2_MAP_0x0000 0xF1</span></div> -<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  </div> -<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a2a58ae82037e16756404df4820a23f47"> 86</a></span> <span class="preprocessor">#define VDP_R3 0b10000011</span></div> -<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#ab984056ff9eb011fbd84abdafb3a8bce">shadow_VDP_R3</a>;</div> -<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a5d1f215594c86a9e3d670f5a7f89e301"> 88</a></span> <span class="preprocessor">#define VDP_R4 0b10000100</span></div> -<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#af9a30a728fedbe7e4c660c448c262e2c">shadow_VDP_R4</a>;</div> -<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a75e2c9878fe4cc7c86f71d8e8fa09924"> 90</a></span> <span class="preprocessor">#define VDP_R5 0b10000101</span></div> -<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a221db76cb39200a948234330ed309af7">shadow_VDP_R5</a>;</div> -<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  </div> -<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ae973ce797203f9e4bebc10f5010a8fdd"> 93</a></span> <span class="preprocessor">#define R5_SAT_0x3F00 0xFF</span></div> -<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ab0ea6874bcc910239b098025c9761c01"> 94</a></span> <span class="preprocessor">#define R5_SAT_MASK 0b10000001</span></div> -<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  </div> -<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a81ae7462829d0fcc65c3c99194a68772"> 96</a></span> <span class="preprocessor">#define VDP_R6 0b10000110</span></div> -<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a8afbdaaf8c6dee4e7482a341351344b4">shadow_VDP_R6</a>;</div> -<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  </div> -<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a1aba84d3beebe43e641766525630d0ad"> 99</a></span> <span class="preprocessor">#define R6_BANK0 0xFB</span></div> -<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a81289f179bb00ade9e4f7221ddff0e46"> 100</a></span> <span class="preprocessor">#define R6_DATA_0x0000 0xFB</span></div> -<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#adcc51095e67b158df848367761d735a4"> 101</a></span> <span class="preprocessor">#define R6_BANK1 0xFF</span></div> -<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ac59ac38e5ec2e23e511f854403d7cbe4"> 102</a></span> <span class="preprocessor">#define R6_DATA_0x2000 0xFF</span></div> +<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a490562a6e4b57d7bf25e8fed3b3f6905"> 77</a></span> <span class="preprocessor">#define R1_DEFAULT 0b10000000</span></div> +<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a143660061646a3f502d03a2251575588"> 78</a></span> <span class="preprocessor">#define R1_DISP_OFF 0b00000000</span></div> +<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#adbfdd7c42539613c371820dffd14906f"> 79</a></span> <span class="preprocessor">#define R1_DISP_ON 0b01000000</span></div> +<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#adf542fd9d2bf9affc6016718e3885473"> 80</a></span> <span class="preprocessor">#define R1_IE_OFF 0b00000000</span></div> +<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a29a2945a9e77ba1f003a2305b7500568"> 81</a></span> <span class="preprocessor">#define R1_IE 0b00100000</span></div> +<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aa4062707b9b0f9ff5d1ee982ccc42fe7"> 82</a></span> <span class="preprocessor">#define R1_SPR_8X8 0b00000000</span></div> +<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a4985d6df1031afe8efb993f9c480ca12"> 83</a></span> <span class="preprocessor">#define R1_SPR_8X16 0b00000010</span></div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  </div> +<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a2c9f91fcf2aad494a80e967f0c4bb414"> 85</a></span> <span class="preprocessor">#define VDP_R2 0b10000010</span></div> +<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a7f7fa2c0e33c6d515332a50c2acb54e7">shadow_VDP_R2</a>;</div> +<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  </div> +<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a8ce8807a3666fa8c7c93d4834ab22fe3"> 88</a></span> <span class="preprocessor">#define R2_MAP_0x3800 0xFF</span></div> +<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a725647b41b3c8083a7ae8db762ffc880"> 89</a></span> <span class="preprocessor">#define R2_MAP_0x3000 0xFD</span></div> +<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a43ae738f82e8c6e84d30a96fb9c2c792"> 90</a></span> <span class="preprocessor">#define R2_MAP_0x2800 0xFB</span></div> +<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aa2c53c6a4d12fb0614c1a18c015e39af"> 91</a></span> <span class="preprocessor">#define R2_MAP_0x2000 0xF9</span></div> +<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a08fade3bc2afb94785b0ac50d6959faa"> 92</a></span> <span class="preprocessor">#define R2_MAP_0x1800 0xF7</span></div> +<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a43a631b4692a370b2db6b9d5fc2512e1"> 93</a></span> <span class="preprocessor">#define R2_MAP_0x1000 0xF5</span></div> +<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a64cfebfe759bacd1424ad147931ff5a3"> 94</a></span> <span class="preprocessor">#define R2_MAP_0x0800 0xF3</span></div> +<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#acf804b73635a1bfeb04b7dbeafb7fd9f"> 95</a></span> <span class="preprocessor">#define R2_MAP_0x0000 0xF1</span></div> +<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  </div> +<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a2a58ae82037e16756404df4820a23f47"> 97</a></span> <span class="preprocessor">#define VDP_R3 0b10000011</span></div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#ab984056ff9eb011fbd84abdafb3a8bce">shadow_VDP_R3</a>;</div> +<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a5d1f215594c86a9e3d670f5a7f89e301"> 99</a></span> <span class="preprocessor">#define VDP_R4 0b10000100</span></div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#af9a30a728fedbe7e4c660c448c262e2c">shadow_VDP_R4</a>;</div> +<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a75e2c9878fe4cc7c86f71d8e8fa09924"> 101</a></span> <span class="preprocessor">#define VDP_R5 0b10000101</span></div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a221db76cb39200a948234330ed309af7">shadow_VDP_R5</a>;</div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  </div> -<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aa82ab1c04cff3363327f3309d09ae638"> 104</a></span> <span class="preprocessor">#define VDP_R7 0b10000111</span></div> -<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a33b3e7c120a579cb729caf588ba1d9a8">shadow_VDP_R7</a>;</div> -<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#abef00e3cae6f12d97973b318ebbf9737"> 106</a></span> <span class="preprocessor">#define VDP_RBORDER 0b10000111</span></div> -<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a20a977182f6f5f60ee6464e15f05aed0">shadow_VDP_RBORDER</a>;</div> -<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  </div> -<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aa1a024a7dc26ef40663fe283565bcf50"> 109</a></span> <span class="preprocessor">#define R7_COLOR_MASK 0b11110000</span></div> -<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  </div> -<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a3cb38487469808e023fcb331c180c4b9"> 111</a></span> <span class="preprocessor">#define VDP_R8 0b10001000</span></div> -<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#add65b8e5f0b806e563ce27de7348ba31">shadow_VDP_R8</a>;</div> -<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a9c49833bc96a70b8972027d28c816d2f"> 113</a></span> <span class="preprocessor">#define VDP_RSCX 0b10001000</span></div> -<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#af6a84b0288b045560f83a1944a8c1c3b">shadow_VDP_RSCX</a>;</div> -<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  </div> -<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a294388f3d14b6fec1f1bbeafc7d0f91e"> 116</a></span> <span class="preprocessor">#define VDP_R9 0b10001001</span></div> -<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a1ccce1e3f8acb76170fb752ee40ae659">shadow_VDP_R9</a>;</div> -<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a3cce162b45d638126c478c5b6f7bcbc7"> 118</a></span> <span class="preprocessor">#define VDP_RSCY 0b10001001</span></div> -<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a292b59055beb22b566b39462da3b7eba">shadow_VDP_RSCY</a>;</div> -<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  </div> -<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a1049d2a3f634380f4dffff619334a504"> 121</a></span> <span class="preprocessor">#define VDP_R10 0b10001010</span></div> -<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#af310a900e3b4b5b5032f4ffd6fa309b0">shadow_VDP_R10</a>;</div> -<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  </div> -<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a98d635ed568cfe9f853eaf7e1707dec4"> 124</a></span> <span class="preprocessor">#define R10_INT_OFF 0xFF</span></div> -<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#adf9e7ec5362058df23e1c0e4c06ad5d6"> 125</a></span> <span class="preprocessor">#define R10_INT_EVERY 0x00</span></div> +<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ae973ce797203f9e4bebc10f5010a8fdd"> 104</a></span> <span class="preprocessor">#define R5_SAT_0x3F00 0xFF</span></div> +<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ab0ea6874bcc910239b098025c9761c01"> 105</a></span> <span class="preprocessor">#define R5_SAT_MASK 0b10000001</span></div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  </div> +<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a81ae7462829d0fcc65c3c99194a68772"> 107</a></span> <span class="preprocessor">#define VDP_R6 0b10000110</span></div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a8afbdaaf8c6dee4e7482a341351344b4">shadow_VDP_R6</a>;</div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  </div> +<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a1aba84d3beebe43e641766525630d0ad"> 110</a></span> <span class="preprocessor">#define R6_BANK0 0xFB</span></div> +<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a81289f179bb00ade9e4f7221ddff0e46"> 111</a></span> <span class="preprocessor">#define R6_DATA_0x0000 0xFB</span></div> +<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#adcc51095e67b158df848367761d735a4"> 112</a></span> <span class="preprocessor">#define R6_BANK1 0xFF</span></div> +<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ac59ac38e5ec2e23e511f854403d7cbe4"> 113</a></span> <span class="preprocessor">#define R6_DATA_0x2000 0xFF</span></div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  </div> +<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aa82ab1c04cff3363327f3309d09ae638"> 115</a></span> <span class="preprocessor">#define VDP_R7 0b10000111</span></div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a33b3e7c120a579cb729caf588ba1d9a8">shadow_VDP_R7</a>;</div> +<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#abef00e3cae6f12d97973b318ebbf9737"> 117</a></span> <span class="preprocessor">#define VDP_RBORDER 0b10000111</span></div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a20a977182f6f5f60ee6464e15f05aed0">shadow_VDP_RBORDER</a>;</div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  </div> +<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aa1a024a7dc26ef40663fe283565bcf50"> 120</a></span> <span class="preprocessor">#define R7_COLOR_MASK 0b11110000</span></div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  </div> +<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a3cb38487469808e023fcb331c180c4b9"> 122</a></span> <span class="preprocessor">#define VDP_R8 0b10001000</span></div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#add65b8e5f0b806e563ce27de7348ba31">shadow_VDP_R8</a>;</div> +<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a9c49833bc96a70b8972027d28c816d2f"> 124</a></span> <span class="preprocessor">#define VDP_RSCX 0b10001000</span></div> +<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#af6a84b0288b045560f83a1944a8c1c3b">shadow_VDP_RSCX</a>;</div> <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  </div> -<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">static</span> <span class="keyword">volatile</span> __sfr __at(0xDC) JOY_PORT1;</div> -<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  </div> -<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a086bde6bcc92e5f4d3e9ae45f0de475e"> 129</a></span> <span class="preprocessor">#define JOY_P1_UP 0b00000001</span></div> -<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ab4dd6ee624c6d9e5fe5820ce925ffb20"> 130</a></span> <span class="preprocessor">#define JOY_P1_DOWN 0b00000010</span></div> -<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a7d709160cbd7b369109bf40161ae8ccd"> 131</a></span> <span class="preprocessor">#define JOY_P1_LEFT 0b00000100</span></div> -<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a1efece9134651ad4d2bd1836c1d1d6d6"> 132</a></span> <span class="preprocessor">#define JOY_P1_RIGHT 0b00001000</span></div> -<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aacc8667a6d5d9683ed4876e52aba2d33"> 133</a></span> <span class="preprocessor">#define JOY_P1_SW1 0b00010000</span></div> -<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#af29f72f4cc7c94deae5fb9c29b1cc94f"> 134</a></span> <span class="preprocessor">#define JOY_P1_TRIGGER 0b00010000</span></div> -<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a9ab9954d0c66751a154f7824e344806b"> 135</a></span> <span class="preprocessor">#define JOY_P1_SW2 0b00100000</span></div> -<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a307ba8e12d9273a99aa4830c5e0a3c88"> 136</a></span> <span class="preprocessor">#define JOY_P2_UP 0b01000000</span></div> -<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a6d4129d670d421656f5e9a1f4b68a7f4"> 137</a></span> <span class="preprocessor">#define JOY_P2_DOWN 0b10000000</span></div> -<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  </div> -<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">static</span> <span class="keyword">volatile</span> __sfr __at(0xDD) JOY_PORT2;</div> -<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  </div> -<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a2121cb75e0d570b0f92c7630bc1af25f"> 141</a></span> <span class="preprocessor">#define JOY_P2_LEFT 0b00000001</span></div> -<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a16dac3d386b8bc0da50c6c814952472d"> 142</a></span> <span class="preprocessor">#define JOY_P2_RIGHT 0b00000010</span></div> -<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a942e3ecdef267100c84a36f6e0dc0b51"> 143</a></span> <span class="preprocessor">#define JOY_P2_SW1 0b00000100</span></div> -<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#afe5ec4ca4d413ae5388be131d9c4f93b"> 144</a></span> <span class="preprocessor">#define JOY_P2_TRIGGER 0b00000100</span></div> -<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a6d181ce63ff84bd559d13f4423a336b3"> 145</a></span> <span class="preprocessor">#define JOY_P2_SW2 0b00001000</span></div> -<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a5b3dff084cbb77646a337d94d16a1714"> 146</a></span> <span class="preprocessor">#define JOY_RESET 0b00010000</span></div> -<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a772c8def7b33ad4fd3cbfc74d84441de"> 147</a></span> <span class="preprocessor">#define JOY_P1_LIGHT 0b01000000</span></div> -<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a42ded04442bd4fb4acf5333b248423fa"> 148</a></span> <span class="preprocessor">#define JOY_P2_LIGHT 0b10000000</span></div> +<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a294388f3d14b6fec1f1bbeafc7d0f91e"> 127</a></span> <span class="preprocessor">#define VDP_R9 0b10001001</span></div> +<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a1ccce1e3f8acb76170fb752ee40ae659">shadow_VDP_R9</a>;</div> +<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a3cce162b45d638126c478c5b6f7bcbc7"> 129</a></span> <span class="preprocessor">#define VDP_RSCY 0b10001001</span></div> +<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a292b59055beb22b566b39462da3b7eba">shadow_VDP_RSCY</a>;</div> +<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  </div> +<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a1049d2a3f634380f4dffff619334a504"> 132</a></span> <span class="preprocessor">#define VDP_R10 0b10001010</span></div> +<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">extern</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#af310a900e3b4b5b5032f4ffd6fa309b0">shadow_VDP_R10</a>;</div> +<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  </div> +<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a98d635ed568cfe9f853eaf7e1707dec4"> 135</a></span> <span class="preprocessor">#define R10_INT_OFF 0xFF</span></div> +<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#adf9e7ec5362058df23e1c0e4c06ad5d6"> 136</a></span> <span class="preprocessor">#define R10_INT_EVERY 0x00</span></div> +<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  </div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0xDC) JOY_PORT1;</div> +<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  </div> +<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a086bde6bcc92e5f4d3e9ae45f0de475e"> 140</a></span> <span class="preprocessor">#define JOY_P1_UP 0b00000001</span></div> +<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ab4dd6ee624c6d9e5fe5820ce925ffb20"> 141</a></span> <span class="preprocessor">#define JOY_P1_DOWN 0b00000010</span></div> +<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a7d709160cbd7b369109bf40161ae8ccd"> 142</a></span> <span class="preprocessor">#define JOY_P1_LEFT 0b00000100</span></div> +<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a1efece9134651ad4d2bd1836c1d1d6d6"> 143</a></span> <span class="preprocessor">#define JOY_P1_RIGHT 0b00001000</span></div> +<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#aacc8667a6d5d9683ed4876e52aba2d33"> 144</a></span> <span class="preprocessor">#define JOY_P1_SW1 0b00010000</span></div> +<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#af29f72f4cc7c94deae5fb9c29b1cc94f"> 145</a></span> <span class="preprocessor">#define JOY_P1_TRIGGER 0b00010000</span></div> +<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a9ab9954d0c66751a154f7824e344806b"> 146</a></span> <span class="preprocessor">#define JOY_P1_SW2 0b00100000</span></div> +<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a307ba8e12d9273a99aa4830c5e0a3c88"> 147</a></span> <span class="preprocessor">#define JOY_P2_UP 0b01000000</span></div> +<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a6d4129d670d421656f5e9a1f4b68a7f4"> 148</a></span> <span class="preprocessor">#define JOY_P2_DOWN 0b10000000</span></div> <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  </div> -<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">static</span> <span class="keyword">volatile</span> __sfr __at(0xF0) FMADDRESS;</div> -<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">static</span> <span class="keyword">volatile</span> __sfr __at(0xF1) FMDATA;</div> -<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keyword">static</span> <span class="keyword">volatile</span> __sfr __at(0xF2) AUDIOCTRL;</div> -<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  </div> -<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> __at(0xfffc) RAM_CONTROL;</div> -<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  </div> -<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a8f4dbe8a2e6389c78b9f6fb9a3ff1dca"> 156</a></span> <span class="preprocessor">#define RAMCTL_BANK 0b00000100</span></div> -<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a0167c8f86de8ef1a327b806c8ed0c64c"> 157</a></span> <span class="preprocessor">#define RAMCTL_ROM 0b00000000</span></div> -<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a8728acabf97eae3322439bc3cb41b02d"> 158</a></span> <span class="preprocessor">#define RAMCTL_RAM 0b00001000</span></div> -<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#afa9ebb221cf9cd92038131ab588679bf"> 159</a></span> <span class="preprocessor">#define RAMCTL_RO 0b00010000</span></div> -<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a97eb5adb5f29e17ce5766728447317f5"> 160</a></span> <span class="preprocessor">#define RAMCTL_PROT 0b10000000</span></div> -<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  </div> -<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> __at(0xfff8) GLASSES_3D;</div> -<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  </div> -<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> __at(0xfffd) MAP_FRAME0;</div> -<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> __at(0xfffe) MAP_FRAME1;</div> -<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> __at(0xffff) MAP_FRAME2;</div> -<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  </div> -<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a735fc9fb4f089391a584293f2dff1008">_BIOS</a>;</div> -<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  </div> -<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a7093bf38c5e663715f4efed44341502d">_SYSTEM</a>;</div> -<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  </div> -<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a1ac4bf5582e0754ea814c3f51c99a91a"> 172</a></span> <span class="preprocessor">#define SYSTEM_PAL 0x00</span></div> -<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ae6888157a94fca2f1a1b5136494f2e07"> 173</a></span> <span class="preprocessor">#define SYSTEM_NTSC 0x01</span></div> +<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0xDD) JOY_PORT2;</div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  </div> +<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a2121cb75e0d570b0f92c7630bc1af25f"> 152</a></span> <span class="preprocessor">#define JOY_P2_LEFT 0b00000001</span></div> +<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a16dac3d386b8bc0da50c6c814952472d"> 153</a></span> <span class="preprocessor">#define JOY_P2_RIGHT 0b00000010</span></div> +<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a942e3ecdef267100c84a36f6e0dc0b51"> 154</a></span> <span class="preprocessor">#define JOY_P2_SW1 0b00000100</span></div> +<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#afe5ec4ca4d413ae5388be131d9c4f93b"> 155</a></span> <span class="preprocessor">#define JOY_P2_TRIGGER 0b00000100</span></div> +<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a6d181ce63ff84bd559d13f4423a336b3"> 156</a></span> <span class="preprocessor">#define JOY_P2_SW2 0b00001000</span></div> +<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a5b3dff084cbb77646a337d94d16a1714"> 157</a></span> <span class="preprocessor">#define JOY_RESET 0b00010000</span></div> +<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a772c8def7b33ad4fd3cbfc74d84441de"> 158</a></span> <span class="preprocessor">#define JOY_P1_LIGHT 0b01000000</span></div> +<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a42ded04442bd4fb4acf5333b248423fa"> 159</a></span> <span class="preprocessor">#define JOY_P2_LIGHT 0b10000000</span></div> +<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  </div> +<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0xF0) FMADDRESS;</div> +<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0xF1) FMDATA;</div> +<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0xF2) AUDIOCTRL;</div> +<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  </div> +<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0xfffc) RAM_CONTROL;</div> +<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  </div> +<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a8f4dbe8a2e6389c78b9f6fb9a3ff1dca"> 167</a></span> <span class="preprocessor">#define RAMCTL_BANK 0b00000100</span></div> +<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a0167c8f86de8ef1a327b806c8ed0c64c"> 168</a></span> <span class="preprocessor">#define RAMCTL_ROM 0b00000000</span></div> +<div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a8728acabf97eae3322439bc3cb41b02d"> 169</a></span> <span class="preprocessor">#define RAMCTL_RAM 0b00001000</span></div> +<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#afa9ebb221cf9cd92038131ab588679bf"> 170</a></span> <span class="preprocessor">#define RAMCTL_RO 0b00010000</span></div> +<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a97eb5adb5f29e17ce5766728447317f5"> 171</a></span> <span class="preprocessor">#define RAMCTL_PROT 0b10000000</span></div> +<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  </div> +<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0xfff8) GLASSES_3D;</div> <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  </div> -<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a019bf78a6d586c987aec03af8d20e02f">VDP_ATTR_SHIFT</a>;</div> -<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  </div> -<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c"> 177</a></span> <span class="preprocessor">#define VDP_SAT_TERM 0xD0</span></div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0xfffd) MAP_FRAME0;</div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0xfffe) MAP_FRAME1;</div> +<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keyword">static</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a>(0xffff) MAP_FRAME2;</div> <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  </div> -<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor">#if defined(__TARGET_sms)</span></div> -<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="preprocessor">#define DEVICE_SCREEN_X_OFFSET 0</span></div> -<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor">#define DEVICE_SCREEN_Y_OFFSET 0</span></div> -<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor">#define DEVICE_SCREEN_WIDTH 32</span></div> -<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="preprocessor">#define DEVICE_SCREEN_HEIGHT 24</span></div> -<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor">#define DEVICE_SCREEN_BUFFER_WIDTH 32</span></div> -<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor">#define DEVICE_SCREEN_BUFFER_HEIGHT 28</span></div> -<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor">#define DEVICE_SCREEN_MAP_ENTRY_SIZE 2</span></div> -<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor">#define DEVICE_SPRITE_PX_OFFSET_X 0</span></div> -<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor">#define DEVICE_SPRITE_PX_OFFSET_Y -1</span></div> -<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor">#elif defined(__TARGET_gg)</span></div> -<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor">#define DEVICE_SCREEN_X_OFFSET 6</span></div> -<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor">#define DEVICE_SCREEN_Y_OFFSET 3</span></div> -<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor">#define DEVICE_SCREEN_WIDTH 20</span></div> -<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor">#define DEVICE_SCREEN_HEIGHT 18</span></div> -<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="preprocessor">#define DEVICE_SCREEN_BUFFER_WIDTH 32</span></div> -<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor">#define DEVICE_SCREEN_BUFFER_HEIGHT 28</span></div> -<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor">#define DEVICE_SCREEN_MAP_ENTRY_SIZE 2</span></div> -<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor">#define DEVICE_SPRITE_PX_OFFSET_X 48</span></div> -<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor">#define DEVICE_SPRITE_PX_OFFSET_Y 23</span></div> -<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor">#else</span></div> -<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor">#error Unrecognized port</span></div> -<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d"> 202</a></span> <span class="preprocessor">#define DEVICE_SCREEN_PX_WIDTH (DEVICE_SCREEN_WIDTH * 8)</span></div> -<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec"> 203</a></span> <span class="preprocessor">#define DEVICE_SCREEN_PX_HEIGHT (DEVICE_SCREEN_HEIGHT * 8)</span></div> -<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  </div> -<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a735fc9fb4f089391a584293f2dff1008">_BIOS</a>;</div> +<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  </div> +<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a7093bf38c5e663715f4efed44341502d">_SYSTEM</a>;</div> +<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  </div> +<div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a1ac4bf5582e0754ea814c3f51c99a91a"> 183</a></span> <span class="preprocessor">#define SYSTEM_PAL 0x00</span></div> +<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ae6888157a94fca2f1a1b5136494f2e07"> 184</a></span> <span class="preprocessor">#define SYSTEM_NTSC 0x01</span></div> +<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  </div> +<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> <a class="code" href="sms_2hardware_8h.html#a019bf78a6d586c987aec03af8d20e02f">VDP_ATTR_SHIFT</a>;</div> +<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  </div> +<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c"> 188</a></span> <span class="preprocessor">#define VDP_SAT_TERM 0xD0</span></div> +<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  </div> +<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor">#if defined(__TARGET_sms)</span></div> +<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor">#define DEVICE_SCREEN_X_OFFSET 0</span></div> +<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor">#define DEVICE_SCREEN_Y_OFFSET 0</span></div> +<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor">#define DEVICE_SCREEN_WIDTH 32</span></div> +<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="preprocessor">#define DEVICE_SCREEN_HEIGHT 24</span></div> +<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor">#define DEVICE_SCREEN_BUFFER_WIDTH 32</span></div> +<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor">#define DEVICE_SCREEN_BUFFER_HEIGHT 28</span></div> +<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor">#define DEVICE_SCREEN_MAP_ENTRY_SIZE 2</span></div> +<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor">#define DEVICE_SPRITE_PX_OFFSET_X 0</span></div> +<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor">#define DEVICE_SPRITE_PX_OFFSET_Y -1</span></div> +<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor">#elif defined(__TARGET_gg)</span></div> +<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor">#define DEVICE_SCREEN_X_OFFSET 6</span></div> +<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor">#define DEVICE_SCREEN_Y_OFFSET 3</span></div> +<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor">#define DEVICE_SCREEN_WIDTH 20</span></div> +<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor">#define DEVICE_SCREEN_HEIGHT 18</span></div> +<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor">#define DEVICE_SCREEN_BUFFER_WIDTH 32</span></div> +<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor">#define DEVICE_SCREEN_BUFFER_HEIGHT 28</span></div> +<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor">#define DEVICE_SCREEN_MAP_ENTRY_SIZE 2</span></div> +<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="preprocessor">#define DEVICE_SPRITE_PX_OFFSET_X 48</span></div> +<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="preprocessor">#define DEVICE_SPRITE_PX_OFFSET_Y 23</span></div> +<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="preprocessor">#else</span></div> +<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="preprocessor">#error Unrecognized port</span></div> +<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d"> 213</a></span> <span class="preprocessor">#define DEVICE_SCREEN_PX_WIDTH (DEVICE_SCREEN_WIDTH * 8)</span></div> +<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="sms_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec"> 214</a></span> <span class="preprocessor">#define DEVICE_SCREEN_PX_HEIGHT (DEVICE_SCREEN_HEIGHT * 8)</span></div> +<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  </div> +<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div class="ttc" id="asms_2hardware_8h_html_af310a900e3b4b5b5032f4ffd6fa309b0"><div class="ttname"><a href="sms_2hardware_8h.html#af310a900e3b4b5b5032f4ffd6fa309b0">shadow_VDP_R10</a></div><div class="ttdeci">UBYTE shadow_VDP_R10</div></div> +<div class="ttc" id="aasm_2types_8h_html_afb3731986211fded0a874086c98ffcc4"><div class="ttname"><a href="asm_2types_8h.html#afb3731986211fded0a874086c98ffcc4">SFR</a></div><div class="ttdeci">#define SFR</div><div class="ttdef"><b>Definition:</b> types.h:31</div></div> +<div class="ttc" id="aasm_2types_8h_html_a66d3e9555a86fa871932c5f60834c67e"><div class="ttname"><a href="asm_2types_8h.html#a66d3e9555a86fa871932c5f60834c67e">AT</a></div><div class="ttdeci">#define AT(A)</div><div class="ttdef"><b>Definition:</b> types.h:32</div></div> <div class="ttc" id="asms_2hardware_8h_html_a7f7fa2c0e33c6d515332a50c2acb54e7"><div class="ttname"><a href="sms_2hardware_8h.html#a7f7fa2c0e33c6d515332a50c2acb54e7">shadow_VDP_R2</a></div><div class="ttdeci">UBYTE shadow_VDP_R2</div></div> <div class="ttc" id="asms_2hardware_8h_html_a019bf78a6d586c987aec03af8d20e02f"><div class="ttname"><a href="sms_2hardware_8h.html#a019bf78a6d586c987aec03af8d20e02f">VDP_ATTR_SHIFT</a></div><div class="ttdeci">volatile UBYTE VDP_ATTR_SHIFT</div></div> <div class="ttc" id="asms_2hardware_8h_html_af9a30a728fedbe7e4c660c448c262e2c"><div class="ttname"><a href="sms_2hardware_8h.html#af9a30a728fedbe7e4c660c448c262e2c">shadow_VDP_R4</a></div><div class="ttdeci">UBYTE shadow_VDP_R4</div></div> <div class="ttc" id="asms_2hardware_8h_html_ab984056ff9eb011fbd84abdafb3a8bce"><div class="ttname"><a href="sms_2hardware_8h.html#ab984056ff9eb011fbd84abdafb3a8bce">shadow_VDP_R3</a></div><div class="ttdeci">UBYTE shadow_VDP_R3</div></div> <div class="ttc" id="asms_2hardware_8h_html_a8afbdaaf8c6dee4e7482a341351344b4"><div class="ttname"><a href="sms_2hardware_8h.html#a8afbdaaf8c6dee4e7482a341351344b4">shadow_VDP_R6</a></div><div class="ttdeci">UBYTE shadow_VDP_R6</div></div> -<div class="ttc" id="aasm_2types_8h_html_a280213815420791851f7e59bdc8a3c95"><div class="ttname"><a href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a></div><div class="ttdeci">UINT8 UBYTE</div><div class="ttdef"><b>Definition:</b> types.h:56</div></div> +<div class="ttc" id="aasm_2types_8h_html_a280213815420791851f7e59bdc8a3c95"><div class="ttname"><a href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a></div><div class="ttdeci">UINT8 UBYTE</div><div class="ttdef"><b>Definition:</b> types.h:58</div></div> <div class="ttc" id="asms_2hardware_8h_html_add65b8e5f0b806e563ce27de7348ba31"><div class="ttname"><a href="sms_2hardware_8h.html#add65b8e5f0b806e563ce27de7348ba31">shadow_VDP_R8</a></div><div class="ttdeci">UBYTE shadow_VDP_R8</div></div> <div class="ttc" id="asms_2hardware_8h_html_a735fc9fb4f089391a584293f2dff1008"><div class="ttname"><a href="sms_2hardware_8h.html#a735fc9fb4f089391a584293f2dff1008">_BIOS</a></div><div class="ttdeci">const UBYTE _BIOS</div></div> <div class="ttc" id="asms_2hardware_8h_html_af6a84b0288b045560f83a1944a8c1c3b"><div class="ttname"><a href="sms_2hardware_8h.html#af6a84b0288b045560f83a1944a8c1c3b">shadow_VDP_RSCX</a></div><div class="ttdeci">UBYTE shadow_VDP_RSCX</div></div> diff --git a/docs/api/sms_2metasprites_8h.html b/docs/api/sms_2metasprites_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -96,6 +97,7 @@ $(document).ready(function(){initNavTree('sms_2metasprites_8h.html',''); initRes </div><!--header--> <div class="contents"> <div class="textblock"><code>#include <<a class="el" href="sms_2hardware_8h_source.html">sms/hardware.h</a>></code><br /> +<code>#include <types.h></code><br /> <code>#include <<a class="el" href="stdint_8h_source.html">stdint.h</a>></code><br /> </div> <p><a href="sms_2metasprites_8h_source.html">Go to the source code of this file.</a></p> @@ -121,8 +123,8 @@ Typedefs</h2></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:a23abcd0a2eb5033abbb9dc0e2ea494d8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2metasprites_8h.html#a23abcd0a2eb5033abbb9dc0e2ea494d8">hide_sprites_range</a> (<a class="el" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> from, <a class="el" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> to) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:a23abcd0a2eb5033abbb9dc0e2ea494d8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a0c668f442b4764275a1dade597a59e20"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2metasprites_8h.html#a0c668f442b4764275a1dade597a59e20">hide_sprites_range</a> (<a class="el" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> from, <a class="el" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> to) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a0c668f442b4764275a1dade597a59e20"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a77475e913bf0a19df28bdbf9d1cf392b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite</a> (const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *metasprite, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y)</td></tr> <tr class="separator:a77475e913bf0a19df28bdbf9d1cf392b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af8de5a888d65448b9d34027a0e1ce906"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906">hide_metasprite</a> (const <a class="el" href="structmetasprite__t.html">metasprite_t</a> *metasprite, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite)</td></tr> @@ -244,8 +246,8 @@ Metasprites composed of variable numbers of sprites</h1> </div> </div> <h2 class="groupheader">Function Documentation</h2> -<a id="a23abcd0a2eb5033abbb9dc0e2ea494d8"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a23abcd0a2eb5033abbb9dc0e2ea494d8">◆ </a></span>hide_sprites_range()</h2> +<a id="a0c668f442b4764275a1dade597a59e20"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a0c668f442b4764275a1dade597a59e20">◆ </a></span>hide_sprites_range()</h2> <div class="memitem"> <div class="memproto"> diff --git a/docs/api/sms_2metasprites_8h.js b/docs/api/sms_2metasprites_8h.js @@ -5,7 +5,7 @@ var sms_2metasprites_8h = [ "METASPR_ITEM", "sms_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa", null ], [ "METASPR_TERM", "sms_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a", null ], [ "metasprite_t", "sms_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3", null ], - [ "hide_sprites_range", "sms_2metasprites_8h.html#a23abcd0a2eb5033abbb9dc0e2ea494d8", null ], + [ "hide_sprites_range", "sms_2metasprites_8h.html#a0c668f442b4764275a1dade597a59e20", null ], [ "move_metasprite", "sms_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b", null ], [ "hide_metasprite", "sms_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906", null ], [ "__current_metasprite", "sms_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b", null ], diff --git a/docs/api/sms_2metasprites_8h_source.html b/docs/api/sms_2metasprites_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -94,57 +95,61 @@ $(document).ready(function(){initNavTree('sms_2metasprites_8h_source.html',''); <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#define _METASPRITES_H_INCLUDE</span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  </div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <<a class="code" href="sms_2hardware_8h.html">sms/hardware.h</a>></span></div> -<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <<a class="code" href="stdint_8h.html">stdint.h</a>></span></div> -<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  </div> -<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structmetasprite__t.html">metasprite_t</a> {</div> -<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb">dy</a>, <a class="code" href="structmetasprite__t.html#a67d2a6fb62059da39b54e975c4fbb324">dx</a>;</div> -<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f">dtile</a>;</div> -<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3"> 55</a></span> } <a class="code" href="gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3">metasprite_t</a>;</div> -<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  </div> -<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a"> 57</a></span> <span class="preprocessor">#define metasprite_end -128 </span></div> -<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa"> 58</a></span> <span class="preprocessor">#define METASPR_ITEM(dy,dx,dt,a) {(dy),(dx),(dt)}</span></div> -<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a"> 59</a></span> <span class="preprocessor">#define METASPR_TERM {metasprite_end}</span></div> -<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  </div> -<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">void</span> * <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a>;</div> -<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a>;</div> -<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39">__render_shadow_OAM</a>;</div> -<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  </div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <types.h></span></div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <<a class="code" href="stdint_8h.html">stdint.h</a>></span></div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  </div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structmetasprite__t.html">metasprite_t</a> {</div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> <a class="code" href="structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb">dy</a>, <a class="code" href="structmetasprite__t.html#a67d2a6fb62059da39b54e975c4fbb324">dx</a>;</div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f">dtile</a>;</div> +<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3"> 56</a></span> } <a class="code" href="gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3">metasprite_t</a>;</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  </div> +<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#a9f9f390a57460914e27c7604b7d8379a"> 58</a></span> <span class="preprocessor">#define metasprite_end -128 </span></div> +<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#aa88dc4d5e35045509b8955a4a23a30aa"> 59</a></span> <span class="preprocessor">#define METASPR_ITEM(dy,dx,dt,a) {(dy),(dx),(dt)}</span></div> +<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#aa1d425dcce3cd104751744535b6a389a"> 60</a></span> <span class="preprocessor">#define METASPR_TERM {metasprite_end}</span></div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  </div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">void</span> * <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a>;</div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a>;</div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39">__render_shadow_OAM</a>;</div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  </div> -<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f"> 66</a></span> <span class="keyword">static</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> __move_metasprite(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>,<a class="code" href="sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">static</span> <span class="keywordtype">void</span> __hide_metasprite(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>) __z88dk_fastcall __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>,<a class="code" href="sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  </div> -<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#a23abcd0a2eb5033abbb9dc0e2ea494d8"> 74</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_2metasprites_8h.html#aa01862cdcf50742c46c819668500b76b">hide_sprites_range</a>(<a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> from, <a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> to) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>,<a class="code" href="sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  </div> -<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b"> 95</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> -<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite; </div> -<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a> = base_tile;</div> -<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">return</span> __move_metasprite(base_sprite, x, y); </div> -<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div> -<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div> -<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906"> 110</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906">hide_metasprite</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite) {</div> -<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite; </div> -<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  __hide_metasprite(base_sprite);</div> -<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }</div> -<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  </div> -<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  </div> +<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f"> 67</a></span> <span class="keyword">static</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> __move_metasprite(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">static</span> <span class="keywordtype">void</span> __hide_metasprite(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <span class="keywordtype">id</span>) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  </div> +<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#a0c668f442b4764275a1dade597a59e20"> 75</a></span> <span class="keywordtype">void</span> <a class="code" href="gb_2metasprites_8h.html#a77bb622fa362f2e04be1bafaa099a709">hide_sprites_range</a>(<a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> from, <a class="code" href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a> to) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  </div> +<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b"> 96</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> +<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite; </div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a> = base_tile;</div> +<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">return</span> __move_metasprite(base_sprite, x, y); </div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> }</div> +<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  </div> +<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="sms_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906"> 111</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906">hide_metasprite</a>(<span class="keyword">const</span> <a class="code" href="structmetasprite__t.html">metasprite_t</a> * metasprite, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_sprite) {</div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a> = metasprite; </div> +<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  __hide_metasprite(base_sprite);</div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div> +<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  </div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_ab27e9918b538ce9d8ca692479b375b6a"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a></div><div class="ttdeci">unsigned char UINT8</div><div class="ttdef"><b>Definition:</b> types.h:43</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_ab27e9918b538ce9d8ca692479b375b6a"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ab27e9918b538ce9d8ca692479b375b6a">UINT8</a></div><div class="ttdeci">unsigned char UINT8</div><div class="ttdef"><b>Definition:</b> types.h:46</div></div> <div class="ttc" id="astdint_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div> <div class="ttc" id="astdint_8h_html_aef44329758059c91c76d334e8fc09700"><div class="ttname"><a href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a></div><div class="ttdeci">signed char int8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:43</div></div> -<div class="ttc" id="astructmetasprite__t_html"><div class="ttname"><a href="structmetasprite__t.html">metasprite_t</a></div><div class="ttdef"><b>Definition:</b> metasprites.h:80</div></div> +<div class="ttc" id="astructmetasprite__t_html"><div class="ttname"><a href="structmetasprite__t.html">metasprite_t</a></div><div class="ttdef"><b>Definition:</b> metasprites.h:87</div></div> <div class="ttc" id="asms_2hardware_8h_html"><div class="ttname"><a href="sms_2hardware_8h.html">hardware.h</a></div></div> -<div class="ttc" id="astructmetasprite__t_html_a2c3fea1f6b3354352823320c69a3e4bb"><div class="ttname"><a href="structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb">metasprite_t::dy</a></div><div class="ttdeci">int8_t dy</div><div class="ttdef"><b>Definition:</b> metasprites.h:81</div></div> +<div class="ttc" id="astructmetasprite__t_html_a2c3fea1f6b3354352823320c69a3e4bb"><div class="ttname"><a href="structmetasprite__t.html#a2c3fea1f6b3354352823320c69a3e4bb">metasprite_t::dy</a></div><div class="ttdeci">int8_t dy</div><div class="ttdef"><b>Definition:</b> metasprites.h:88</div></div> +<div class="ttc" id="aasm_2z80_2types_8h_html_aa19670cfef9fe1cc31f28fafb0e1000a"><div class="ttname"><a href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></div><div class="ttdeci">#define Z88DK_CALLEE</div><div class="ttdef"><b>Definition:</b> types.h:42</div></div> <div class="ttc" id="agb_2metasprites_8h_html_a345fa52509387bd18a4092178a18286f"><div class="ttname"><a href="gb_2metasprites_8h.html#a345fa52509387bd18a4092178a18286f">__current_base_tile</a></div><div class="ttdeci">uint8_t __current_base_tile</div></div> -<div class="ttc" id="astructmetasprite__t_html_a67d2a6fb62059da39b54e975c4fbb324"><div class="ttname"><a href="structmetasprite__t.html#a67d2a6fb62059da39b54e975c4fbb324">metasprite_t::dx</a></div><div class="ttdeci">int8_t dx</div><div class="ttdef"><b>Definition:</b> metasprites.h:81</div></div> -<div class="ttc" id="agb_2metasprites_8h_html_a77475e913bf0a19df28bdbf9d1cf392b"><div class="ttname"><a href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite</a></div><div class="ttdeci">uint8_t move_metasprite(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> metasprites.h:130</div></div> -<div class="ttc" id="agb_2metasprites_8h_html_af8de5a888d65448b9d34027a0e1ce906"><div class="ttname"><a href="gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906">hide_metasprite</a></div><div class="ttdeci">void hide_metasprite(const metasprite_t *metasprite, uint8_t base_sprite)</div><div class="ttdef"><b>Definition:</b> metasprites.h:227</div></div> +<div class="ttc" id="astructmetasprite__t_html_a67d2a6fb62059da39b54e975c4fbb324"><div class="ttname"><a href="structmetasprite__t.html#a67d2a6fb62059da39b54e975c4fbb324">metasprite_t::dx</a></div><div class="ttdeci">int8_t dx</div><div class="ttdef"><b>Definition:</b> metasprites.h:88</div></div> +<div class="ttc" id="agb_2metasprites_8h_html_a77475e913bf0a19df28bdbf9d1cf392b"><div class="ttname"><a href="gb_2metasprites_8h.html#a77475e913bf0a19df28bdbf9d1cf392b">move_metasprite</a></div><div class="ttdeci">uint8_t move_metasprite(const metasprite_t *metasprite, uint8_t base_tile, uint8_t base_sprite, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> metasprites.h:137</div></div> +<div class="ttc" id="agb_2metasprites_8h_html_af8de5a888d65448b9d34027a0e1ce906"><div class="ttname"><a href="gb_2metasprites_8h.html#af8de5a888d65448b9d34027a0e1ce906">hide_metasprite</a></div><div class="ttdeci">void hide_metasprite(const metasprite_t *metasprite, uint8_t base_sprite)</div><div class="ttdef"><b>Definition:</b> metasprites.h:240</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> +<div class="ttc" id="agb_2metasprites_8h_html_a77bb622fa362f2e04be1bafaa099a709"><div class="ttname"><a href="gb_2metasprites_8h.html#a77bb622fa362f2e04be1bafaa099a709">hide_sprites_range</a></div><div class="ttdeci">void hide_sprites_range(UINT8 from, UINT8 to) OLDCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="agb_2metasprites_8h_html_aba6401cc8173158a9f37ee22094c03d3"><div class="ttname"><a href="gb_2metasprites_8h.html#aba6401cc8173158a9f37ee22094c03d3">metasprite_t</a></div><div class="ttdeci">struct metasprite_t metasprite_t</div></div> -<div class="ttc" id="asms_2metasprites_8h_html_af279c752a3b15c4bd5c67f54b92e553f"><div class="ttname"><a href="sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a></div><div class="ttdeci">static uint8_t iyl</div><div class="ttdef"><b>Definition:</b> metasprites.h:66</div></div> -<div class="ttc" id="agb_2metasprites_8h_html_aa01862cdcf50742c46c819668500b76b"><div class="ttname"><a href="gb_2metasprites_8h.html#aa01862cdcf50742c46c819668500b76b">hide_sprites_range</a></div><div class="ttdeci">void hide_sprites_range(UINT8 from, UINT8 to) OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="aasm_2z80_2types_8h_html_af45e54cf59a5202abc9125c07b64abf1"><div class="ttname"><a href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></div><div class="ttdeci">#define Z88DK_FASTCALL</div><div class="ttdef"><b>Definition:</b> types.h:43</div></div> +<div class="ttc" id="asms_2metasprites_8h_html_af279c752a3b15c4bd5c67f54b92e553f"><div class="ttname"><a href="sms_2metasprites_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a></div><div class="ttdeci">static uint8_t iyl</div><div class="ttdef"><b>Definition:</b> metasprites.h:67</div></div> <div class="ttc" id="agb_2metasprites_8h_html_aae51f066cc5436457f62351847bfc64b"><div class="ttname"><a href="gb_2metasprites_8h.html#aae51f066cc5436457f62351847bfc64b">__current_metasprite</a></div><div class="ttdeci">const void * __current_metasprite</div></div> -<div class="ttc" id="astructmetasprite__t_html_ad68b2f80c08f2f7fc603c56af2e75a6f"><div class="ttname"><a href="structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f">metasprite_t::dtile</a></div><div class="ttdeci">uint8_t dtile</div><div class="ttdef"><b>Definition:</b> metasprites.h:82</div></div> +<div class="ttc" id="astructmetasprite__t_html_ad68b2f80c08f2f7fc603c56af2e75a6f"><div class="ttname"><a href="structmetasprite__t.html#ad68b2f80c08f2f7fc603c56af2e75a6f">metasprite_t::dtile</a></div><div class="ttdeci">uint8_t dtile</div><div class="ttdef"><b>Definition:</b> metasprites.h:89</div></div> +<div class="ttc" id="aasm_2types_8h_html_acb825e83a33fcc06482c59b4ab2cf961"><div class="ttname"><a href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a></div><div class="ttdeci">#define PRESERVES_REGS(...)</div><div class="ttdef"><b>Definition:</b> types.h:29</div></div> <div class="ttc" id="asms_8h_html_aade844cba18122ad48cb2f92b1c87ab0"><div class="ttname"><a href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></div><div class="ttdeci">void iyh</div><div class="ttdef"><b>Definition:</b> sms.h:86</div></div> <div class="ttc" id="agb_2metasprites_8h_html_a4bfe4d95031b67951cf6bc342110db39"><div class="ttname"><a href="gb_2metasprites_8h.html#a4bfe4d95031b67951cf6bc342110db39">__render_shadow_OAM</a></div><div class="ttdeci">uint8_t __render_shadow_OAM</div></div> <!-- HTML footer for doxygen 1.8.14--> diff --git a/docs/api/sms_8h.html b/docs/api/sms_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -217,23 +218,23 @@ Macros</h2></td></tr> <tr class="separator:a0e9c88657beaac946231a4801481b97f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a649d27b5587de16a66176e03a1b8ebd5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a649d27b5587de16a66176e03a1b8ebd5">DISABLE_RAM</a>   RAM_CONTROL&=(~<a class="el" href="sms_2hardware_8h.html#a8728acabf97eae3322439bc3cb41b02d">RAMCTL_RAM</a>)</td></tr> <tr class="separator:a649d27b5587de16a66176e03a1b8ebd5"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a2215732f2ba2ec6406b65d3cca56a200"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a2215732f2ba2ec6406b65d3cca56a200">set_bkg_palette_entry</a>   <a class="el" href="sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9">set_palette_entry</a></td></tr> +<tr class="memitem:a2215732f2ba2ec6406b65d3cca56a200"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a2215732f2ba2ec6406b65d3cca56a200">set_bkg_palette_entry</a>   <a class="el" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">set_palette_entry</a></td></tr> <tr class="separator:a2215732f2ba2ec6406b65d3cca56a200"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a8b5c17235a3f65af70492e109a25f237"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a8b5c17235a3f65af70492e109a25f237">set_sprite_palette_entry</a>(palette, entry, rgb_data)   <a class="el" href="sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9">set_palette_entry</a>(1,entry,rgb_data)</td></tr> +<tr class="memitem:a8b5c17235a3f65af70492e109a25f237"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a8b5c17235a3f65af70492e109a25f237">set_sprite_palette_entry</a>(palette, entry, rgb_data)   <a class="el" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">set_palette_entry</a>(1,entry,rgb_data)</td></tr> <tr class="separator:a8b5c17235a3f65af70492e109a25f237"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a9f879bd31899f7989f887b6238de24e3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a9f879bd31899f7989f887b6238de24e3">set_bkg_palette</a>   <a class="el" href="sms_8h.html#a8668e421743bcba26411acaabe1af82d">set_palette</a></td></tr> +<tr class="memitem:a9f879bd31899f7989f887b6238de24e3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a9f879bd31899f7989f887b6238de24e3">set_bkg_palette</a>   <a class="el" href="sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e">set_palette</a></td></tr> <tr class="separator:a9f879bd31899f7989f887b6238de24e3"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a7d5ed1aed79d8fd2894893d7f6f9b835"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a7d5ed1aed79d8fd2894893d7f6f9b835">set_sprite_palette</a>(first_palette, nb_palettes, rgb_data)   <a class="el" href="sms_8h.html#a8668e421743bcba26411acaabe1af82d">set_palette</a>(1,1,rgb_data)</td></tr> +<tr class="memitem:a7d5ed1aed79d8fd2894893d7f6f9b835"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a7d5ed1aed79d8fd2894893d7f6f9b835">set_sprite_palette</a>(first_palette, nb_palettes, rgb_data)   <a class="el" href="sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e">set_palette</a>(1,1,rgb_data)</td></tr> <tr class="separator:a7d5ed1aed79d8fd2894893d7f6f9b835"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a67f80e65620470b55a4950e2966eb868"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a67f80e65620470b55a4950e2966eb868">COMPAT_PALETTE</a>(C0, C1, C2, C3)   (((<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)(C3) << 12) | ((<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)(C2) << 8) | ((<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)(C1) << 4) | (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)(C0))</td></tr> <tr class="separator:a67f80e65620470b55a4950e2966eb868"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a9a732aec1b7aec7d10a9d76ca4da2064"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a9a732aec1b7aec7d10a9d76ca4da2064">set_bkg_tiles</a>   <a class="el" href="sms_8h.html#a6a9877d413f96540712d408d865625c9">set_tile_map_compat</a></td></tr> +<tr class="memitem:a9a732aec1b7aec7d10a9d76ca4da2064"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a9a732aec1b7aec7d10a9d76ca4da2064">set_bkg_tiles</a>   <a class="el" href="sms_8h.html#a7c38b146f77eda84981c06c2271fe116">set_tile_map_compat</a></td></tr> <tr class="separator:a9a732aec1b7aec7d10a9d76ca4da2064"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a429db030287423012f40a6dca81ae7e3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a429db030287423012f40a6dca81ae7e3">set_win_tiles</a>   <a class="el" href="sms_8h.html#a6a9877d413f96540712d408d865625c9">set_tile_map_compat</a></td></tr> +<tr class="memitem:a429db030287423012f40a6dca81ae7e3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a429db030287423012f40a6dca81ae7e3">set_win_tiles</a>   <a class="el" href="sms_8h.html#a7c38b146f77eda84981c06c2271fe116">set_tile_map_compat</a></td></tr> <tr class="separator:a429db030287423012f40a6dca81ae7e3"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a3b7ffab8d64e2c345f03221145a935c0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a3b7ffab8d64e2c345f03221145a935c0">fill_bkg_rect</a>   <a class="el" href="sms_8h.html#aac998cb7f78186158ced5448dcfc3503">fill_rect_compat</a></td></tr> +<tr class="memitem:a3b7ffab8d64e2c345f03221145a935c0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a3b7ffab8d64e2c345f03221145a935c0">fill_bkg_rect</a>   <a class="el" href="sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8">fill_rect_compat</a></td></tr> <tr class="separator:a3b7ffab8d64e2c345f03221145a935c0"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a5a69a3129f4faa99857a8b3d80db1d4a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a5a69a3129f4faa99857a8b3d80db1d4a">fill_win_rect</a>   <a class="el" href="sms_8h.html#aac998cb7f78186158ced5448dcfc3503">fill_rect_compat</a></td></tr> +<tr class="memitem:a5a69a3129f4faa99857a8b3d80db1d4a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a5a69a3129f4faa99857a8b3d80db1d4a">fill_win_rect</a>   <a class="el" href="sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8">fill_rect_compat</a></td></tr> <tr class="separator:a5a69a3129f4faa99857a8b3d80db1d4a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abfd70bf31185a4900680977c9fb5a5ec"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#abfd70bf31185a4900680977c9fb5a5ec">DISABLE_VBL_TRANSFER</a>    <a class="el" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">_shadow_OAM_base</a> = 0</td></tr> <tr class="separator:abfd70bf31185a4900680977c9fb5a5ec"><td class="memSeparator" colspan="2"> </td></tr> @@ -241,92 +242,92 @@ Macros</h2></td></tr> <tr class="separator:a77d516c9d3f86f100eddea5e0d133a76"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8b77608c87a9aef65a03531482b2163b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a8b77608c87a9aef65a03531482b2163b">MAX_HARDWARE_SPRITES</a>   64</td></tr> <tr class="separator:a8b77608c87a9aef65a03531482b2163b"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:adcd40a58f7c7d348d506cc400cd94739"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#adcd40a58f7c7d348d506cc400cd94739">set_bkg_tile_xy</a>   <a class="el" href="sms_8h.html#a256029356b8bc719e42ffafba844290f">set_tile_xy</a></td></tr> +<tr class="memitem:adcd40a58f7c7d348d506cc400cd94739"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#adcd40a58f7c7d348d506cc400cd94739">set_bkg_tile_xy</a>   <a class="el" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">set_tile_xy</a></td></tr> <tr class="separator:adcd40a58f7c7d348d506cc400cd94739"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a95d929d964d9988f4dc5a25ed399ae08"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a95d929d964d9988f4dc5a25ed399ae08">set_win_tile_xy</a>   <a class="el" href="sms_8h.html#a256029356b8bc719e42ffafba844290f">set_tile_xy</a></td></tr> +<tr class="memitem:a95d929d964d9988f4dc5a25ed399ae08"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a95d929d964d9988f4dc5a25ed399ae08">set_win_tile_xy</a>   <a class="el" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">set_tile_xy</a></td></tr> <tr class="separator:a95d929d964d9988f4dc5a25ed399ae08"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a6eaafdbe6cf1695d30724ce75acb9412"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412">get_win_xy_addr</a>   <a class="el" href="sms_8h.html#af83d7fd4e4044ac6677f046f679bd7a9">get_bkg_xy_addr</a></td></tr> +<tr class="memitem:a6eaafdbe6cf1695d30724ce75acb9412"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412">get_win_xy_addr</a>   <a class="el" href="sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63">get_bkg_xy_addr</a></td></tr> <tr class="separator:a6eaafdbe6cf1695d30724ce75acb9412"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> -<tr class="memitem:a9508f919d9482d1d51534ccac212454d"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>) (void) <a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> +<tr class="memitem:a9508f919d9482d1d51534ccac212454d"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>) (void) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr> <tr class="separator:a9508f919d9482d1d51534ccac212454d"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:a4b7af81fec48ca3bee04234b417abaa6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a4b7af81fec48ca3bee04234b417abaa6">WRITE_VDP_CMD</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> cmd) __z88dk_fastcall __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a4b7af81fec48ca3bee04234b417abaa6"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:af513fcb34dd2aa1e9bc9bf65cb589eee"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af513fcb34dd2aa1e9bc9bf65cb589eee">WRITE_VDP_DATA</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> data) __z88dk_fastcall __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:af513fcb34dd2aa1e9bc9bf65cb589eee"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a498b148efd22ab8ad9b844b2dc5e5bb8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a498b148efd22ab8ad9b844b2dc5e5bb8">WRITE_VDP_CMD</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> cmd) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a498b148efd22ab8ad9b844b2dc5e5bb8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa2ddf9662320c4a9d00fd4a94d347570"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aa2ddf9662320c4a9d00fd4a94d347570">WRITE_VDP_DATA</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> data) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:aa2ddf9662320c4a9d00fd4a94d347570"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3ea524204d839377cf39842eec23e202"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a3ea524204d839377cf39842eec23e202">mode</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> m) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:a3ea524204d839377cf39842eec23e202"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad9a83378f5ec1f6444c879e4cf1e1a83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ad9a83378f5ec1f6444c879e4cf1e1a83">get_mode</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:ad9a83378f5ec1f6444c879e4cf1e1a83"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a46aa5fa208d6a58fe07a170db49a8849"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849">set_interrupts</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> flags) __z88dk_fastcall</td></tr> -<tr class="separator:a46aa5fa208d6a58fe07a170db49a8849"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a9eeb134cad80f309ce86ab101a9e0026"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a9eeb134cad80f309ce86ab101a9e0026">remove_VBL</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:a9eeb134cad80f309ce86ab101a9e0026"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a0bd9fc648e26b8d494d082343f19d9ad"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a0bd9fc648e26b8d494d082343f19d9ad">remove_LCD</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a0bd9fc648e26b8d494d082343f19d9ad"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:afe6f5ff8fbb632868cb41f2a4c5995ae"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#afe6f5ff8fbb632868cb41f2a4c5995ae">remove_TIM</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall</td></tr> -<tr class="separator:afe6f5ff8fbb632868cb41f2a4c5995ae"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ab052e48d56856c376379c3a9cc686c76"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ab052e48d56856c376379c3a9cc686c76">remove_SIO</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall</td></tr> -<tr class="separator:ab052e48d56856c376379c3a9cc686c76"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a10fc1ec5a17a7d25d95241db0f458eb9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a10fc1ec5a17a7d25d95241db0f458eb9">remove_JOY</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall</td></tr> -<tr class="separator:a10fc1ec5a17a7d25d95241db0f458eb9"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a1828aeec4b83ef499e18ca1a5ad3b6a6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6">add_VBL</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall __preserves_regs(<a class="el" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a></td></tr> -<tr class="separator:a1828aeec4b83ef499e18ca1a5ad3b6a6"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a99f5c1698cb6d3715690481d4e4b6da1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a99f5c1698cb6d3715690481d4e4b6da1">add_LCD</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a99f5c1698cb6d3715690481d4e4b6da1"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a17416b1bb39989e82948e3a97f23187f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a17416b1bb39989e82948e3a97f23187f">add_TIM</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall</td></tr> -<tr class="separator:a17416b1bb39989e82948e3a97f23187f"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:adcbf35ca19c093d4565729fa7e868f5c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#adcbf35ca19c093d4565729fa7e868f5c">add_SIO</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall</td></tr> -<tr class="separator:adcbf35ca19c093d4565729fa7e868f5c"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a049c5d8c901a23cccf95b02a911f9212"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a049c5d8c901a23cccf95b02a911f9212">add_JOY</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall</td></tr> -<tr class="separator:a049c5d8c901a23cccf95b02a911f9212"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aefda0091b2934571a11e07b512735f50"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aefda0091b2934571a11e07b512735f50">set_interrupts</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> flags) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr> +<tr class="separator:aefda0091b2934571a11e07b512735f50"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a98f7ef49e1758c601979bcb0ff19a1f0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0">remove_VBL</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a98f7ef49e1758c601979bcb0ff19a1f0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa8962b27b960bb0c8d3bb899246c690c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aa8962b27b960bb0c8d3bb899246c690c">remove_LCD</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:aa8962b27b960bb0c8d3bb899246c690c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a98785a1b0ddc91cd8e8c8fab8de1de20"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a98785a1b0ddc91cd8e8c8fab8de1de20">remove_TIM</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr> +<tr class="separator:a98785a1b0ddc91cd8e8c8fab8de1de20"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a98de9141f407585801fcbf55bf6dcc4c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a98de9141f407585801fcbf55bf6dcc4c">remove_SIO</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr> +<tr class="separator:a98de9141f407585801fcbf55bf6dcc4c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a35a3ff12ab34534b763517576afe38a6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a35a3ff12ab34534b763517576afe38a6">remove_JOY</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr> +<tr class="separator:a35a3ff12ab34534b763517576afe38a6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ae59628e2237f301df1341e22bfc8296e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">add_VBL</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a></td></tr> +<tr class="separator:ae59628e2237f301df1341e22bfc8296e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a51add93356a25c71e8c37a73c9065c9d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a51add93356a25c71e8c37a73c9065c9d">add_LCD</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a51add93356a25c71e8c37a73c9065c9d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6c66a583a8f0744e3985c89725e3dc10"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6c66a583a8f0744e3985c89725e3dc10">add_TIM</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr> +<tr class="separator:a6c66a583a8f0744e3985c89725e3dc10"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a3372d61a07e0466bdb909a27f3aaaca9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a3372d61a07e0466bdb909a27f3aaaca9">add_SIO</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr> +<tr class="separator:a3372d61a07e0466bdb909a27f3aaaca9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a48163816121cd669526817d3e6266fd9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a48163816121cd669526817d3e6266fd9">add_JOY</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr> +<tr class="separator:a48163816121cd669526817d3e6266fd9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ade5d4c955b871b0ed884273cc2b7215a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ade5d4c955b871b0ed884273cc2b7215a">cancel_pending_interrupts</a> ()</td></tr> <tr class="separator:ade5d4c955b871b0ed884273cc2b7215a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6261537edc74068e3f7f057e6a3e8a57"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6261537edc74068e3f7f057e6a3e8a57">move_bkg</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y)</td></tr> <tr class="separator:a6261537edc74068e3f7f057e6a3e8a57"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1f583f7a880daa6145ca78b086a209d1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a1f583f7a880daa6145ca78b086a209d1">scroll_bkg</a> (<a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> x, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> y)</td></tr> <tr class="separator:a1f583f7a880daa6145ca78b086a209d1"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a68346350199018249bdf8019b7131514"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a68346350199018249bdf8019b7131514">wait_vbl_done</a> () __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a68346350199018249bdf8019b7131514"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acd186eb292d441f9389e77b545a55619"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#acd186eb292d441f9389e77b545a55619">wait_vbl_done</a> () <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:acd186eb292d441f9389e77b545a55619"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7b09691f25fddd65f12ed199b3f88ef0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a7b09691f25fddd65f12ed199b3f88ef0">display_off</a> ()</td></tr> <tr class="separator:a7b09691f25fddd65f12ed199b3f88ef0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7542d00af674e3c58b6c9887ab01919f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a7542d00af674e3c58b6c9887ab01919f">refresh_OAM</a> ()</td></tr> <tr class="separator:a7542d00af674e3c58b6c9887ab01919f"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aea03b5b22f0a798a7935dc7d18931924"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aea03b5b22f0a798a7935dc7d18931924">delay</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="el" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>) __z88dk_fastcall</td></tr> -<tr class="separator:aea03b5b22f0a798a7935dc7d18931924"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a15f46ef3d3443b452db0c38fc33bcfc1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a15f46ef3d3443b452db0c38fc33bcfc1"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aec76b4ab16315eb97846be87b19fea10"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aec76b4ab16315eb97846be87b19fea10">waitpad</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> mask) __z88dk_fastcall __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:aec76b4ab16315eb97846be87b19fea10"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a35fbfcc0bffc93a47217caff66ca36a7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a35fbfcc0bffc93a47217caff66ca36a7">waitpadup</a> () __preserves_regs(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> -<tr class="separator:a35fbfcc0bffc93a47217caff66ca36a7"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a294f858312544fa89bf17adbba51f145"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a294f858312544fa89bf17adbba51f145">joypad_init</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> npads, <a class="el" href="structjoypads__t.html">joypads_t</a> *joypads) __z88dk_callee</td></tr> -<tr class="separator:a294f858312544fa89bf17adbba51f145"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aec8e36355bb7381000606b1871db5977"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aec8e36355bb7381000606b1871db5977">joypad_ex</a> (<a class="el" href="structjoypads__t.html">joypads_t</a> *joypads) __z88dk_fastcall __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:aec8e36355bb7381000606b1871db5977"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a217232c82eb5f99f7639b5786ce5abc6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a217232c82eb5f99f7639b5786ce5abc6">delay</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="el" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr> +<tr class="separator:a217232c82eb5f99f7639b5786ce5abc6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a176c477d759b814664785f3a0ad5e253"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a176c477d759b814664785f3a0ad5e253">joypad</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a176c477d759b814664785f3a0ad5e253"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a79b565677967da5ef9bf1a00aa6776ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a79b565677967da5ef9bf1a00aa6776ce">waitpad</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> mask) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a79b565677967da5ef9bf1a00aa6776ce"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a955d3733e5018f18b17a572aff45cf26"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a955d3733e5018f18b17a572aff45cf26">waitpadup</a> () <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr> +<tr class="separator:a955d3733e5018f18b17a572aff45cf26"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:abe90cc2b5bb10c0ed9e01e548ddf8862"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862">joypad_init</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> npads, <a class="el" href="structjoypads__t.html">joypads_t</a> *joypads) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></td></tr> +<tr class="separator:abe90cc2b5bb10c0ed9e01e548ddf8862"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a1d45c65829490c5ec98362f5e60edc20"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a1d45c65829490c5ec98362f5e60edc20">joypad_ex</a> (<a class="el" href="structjoypads__t.html">joypads_t</a> *joypads) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a1d45c65829490c5ec98362f5e60edc20"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abd34836339579013c097ae4dea10c014"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#abd34836339579013c097ae4dea10c014">set_default_palette</a> ()</td></tr> <tr class="separator:abd34836339579013c097ae4dea10c014"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a884a743919b234cd9c37789380784d08"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a884a743919b234cd9c37789380784d08">cpu_fast</a> ()</td></tr> <tr class="separator:a884a743919b234cd9c37789380784d08"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a675ad64b02d33ab3274f7fb54da14fa9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9">set_palette_entry</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> palette, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> entry, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> rgb_data) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:a675ad64b02d33ab3274f7fb54da14fa9"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a8668e421743bcba26411acaabe1af82d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a8668e421743bcba26411acaabe1af82d">set_palette</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_palette, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_palettes, <a class="el" href="cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495">palette_color_t</a> *rgb_data) __z88dk_callee</td></tr> -<tr class="separator:a8668e421743bcba26411acaabe1af82d"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a5e48fbbda171d4c466e1d0d96fa73b50"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a5e48fbbda171d4c466e1d0d96fa73b50">set_native_tile_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:a5e48fbbda171d4c466e1d0d96fa73b50"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a2c9aabf4519e01257b0d0e04e8108164"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">set_palette_entry</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> palette, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> entry, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> rgb_data) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a2c9aabf4519e01257b0d0e04e8108164"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a92109adcc20960f26e8bc5fbb141d27e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e">set_palette</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_palette, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_palettes, <a class="el" href="cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495">palette_color_t</a> *rgb_data) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></td></tr> +<tr class="separator:a92109adcc20960f26e8bc5fbb141d27e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a24764a152441b966ea04a83278c73207"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a24764a152441b966ea04a83278c73207">set_native_tile_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a24764a152441b966ea04a83278c73207"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeff13dca11be49e8c159820c616016ec"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aeff13dca11be49e8c159820c616016ec">set_bkg_4bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src)</td></tr> <tr class="separator:aeff13dca11be49e8c159820c616016ec"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a24f53cfe7e25c04fbb5dcb08cfb3b432"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432">set_sprite_4bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src)</td></tr> <tr class="separator:a24f53cfe7e25c04fbb5dcb08cfb3b432"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa224c9bac27c7fd268e62bdf33338a84"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> palette)</td></tr> <tr class="separator:aa224c9bac27c7fd268e62bdf33338a84"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a30e9f94cf4e5cf198bc54ce1e0ac5979"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979">set_tile_2bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> palette) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:a30e9f94cf4e5cf198bc54ce1e0ac5979"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab752b1bb0f58da2a6d52e9747c4b3dd8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8">set_tile_2bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> palette) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:ab752b1bb0f58da2a6d52e9747c4b3dd8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8130306da1177f4fef89e699f8e2add4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a8130306da1177f4fef89e699f8e2add4">set_bkg_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src)</td></tr> <tr class="separator:a8130306da1177f4fef89e699f8e2add4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a216a3e3d320ee4d8cf4845600487ae39"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39">set_sprite_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src)</td></tr> @@ -337,32 +338,40 @@ Functions</h2></td></tr> <tr class="separator:a10ee2919fcab7a5c482816ed718d1c4a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adcb394299a1033616fc7d2faec8bd6ad"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad">set_1bpp_colors</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> fgcolor, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> bgcolor)</td></tr> <tr class="separator:adcb394299a1033616fc7d2faec8bd6ad"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a6afae83728b6651075f0af9d55d4b9e0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6afae83728b6651075f0af9d55d4b9e0">set_tile_1bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> colors) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:a6afae83728b6651075f0af9d55d4b9e0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a747033606e041b45ae09b38fdb06b871"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a747033606e041b45ae09b38fdb06b871">set_tile_1bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> colors) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a747033606e041b45ae09b38fdb06b871"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4d5f74eed0489ebfdc2410ee3f9f7f04"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04">set_bkg_1bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src)</td></tr> <tr class="separator:a4d5f74eed0489ebfdc2410ee3f9f7f04"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2cc121fbeb5570248531b85a8f0b5b97"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97">set_sprite_1bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src)</td></tr> <tr class="separator:a2cc121fbeb5570248531b85a8f0b5b97"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:abe8c12f4c6675b2c671fe8ab32370533"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#abe8c12f4c6675b2c671fe8ab32370533">set_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> dst, const void *src, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> size) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:abe8c12f4c6675b2c671fe8ab32370533"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aee5c510efbda6e44f987088aa14d3482"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aee5c510efbda6e44f987088aa14d3482">vmemcpy</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> dst, const void *src, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> size) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:aee5c510efbda6e44f987088aa14d3482"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ad68f2f36b41febcc5f8ca23c3e379ec8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ad68f2f36b41febcc5f8ca23c3e379ec8">set_tile_map</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:ad68f2f36b41febcc5f8ca23c3e379ec8"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a6a9877d413f96540712d408d865625c9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6a9877d413f96540712d408d865625c9">set_tile_map_compat</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:a6a9877d413f96540712d408d865625c9"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ad7bf6d9629c0ee4e83c137a297aac169"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ad7bf6d9629c0ee4e83c137a297aac169">set_tile_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:ad7bf6d9629c0ee4e83c137a297aac169"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a35261bb6911ba7a123262efc32f4955a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a35261bb6911ba7a123262efc32f4955a">set_tile_submap_compat</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:a35261bb6911ba7a123262efc32f4955a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a8fe17423c7ef7c44f1ccff27d3afbebc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a8fe17423c7ef7c44f1ccff27d3afbebc">set_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> dst, const void *src, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> size) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a8fe17423c7ef7c44f1ccff27d3afbebc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a33a749b14dfbd203c460e8d7f3500636"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a33a749b14dfbd203c460e8d7f3500636">vmemcpy</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> dst, const void *src, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> size) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a33a749b14dfbd203c460e8d7f3500636"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a14fc41e69085b5aa3da2fae9a2aa3ef3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a14fc41e69085b5aa3da2fae9a2aa3ef3">set_tile_map</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a14fc41e69085b5aa3da2fae9a2aa3ef3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a7c38b146f77eda84981c06c2271fe116"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a7c38b146f77eda84981c06c2271fe116">set_tile_map_compat</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a7c38b146f77eda84981c06c2271fe116"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a811c386cac0df2d260aacb5a43608be5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a811c386cac0df2d260aacb5a43608be5">set_bkg_based_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile)</td></tr> +<tr class="separator:a811c386cac0df2d260aacb5a43608be5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a739a212609ae60c9c56c095f96b4ea80"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a739a212609ae60c9c56c095f96b4ea80">set_win_based_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile)</td></tr> +<tr class="separator:a739a212609ae60c9c56c095f96b4ea80"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a84774e034fe0e70af62bd17ac716ba34"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a84774e034fe0e70af62bd17ac716ba34">set_tile_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a84774e034fe0e70af62bd17ac716ba34"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aba0308b5e8e154cc920f041a185ac770"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aba0308b5e8e154cc920f041a185ac770">set_tile_submap_compat</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:aba0308b5e8e154cc920f041a185ac770"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0cfd261bc7a94b1f6093f423bad30298"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298">set_bkg_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w)</td></tr> <tr class="separator:a0cfd261bc7a94b1f6093f423bad30298"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abb50a392ca0d0419a080413287ee5d79"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#abb50a392ca0d0419a080413287ee5d79">set_win_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w)</td></tr> <tr class="separator:abb50a392ca0d0419a080413287ee5d79"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ab380f3a45e943a45a4cd3189a99ca4df"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ab380f3a45e943a45a4cd3189a99ca4df">fill_rect</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> tile) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:ab380f3a45e943a45a4cd3189a99ca4df"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aac998cb7f78186158ced5448dcfc3503"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aac998cb7f78186158ced5448dcfc3503">fill_rect_compat</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> tile) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:aac998cb7f78186158ced5448dcfc3503"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:abc8bc5808620a9717263b8c9ec2237f0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#abc8bc5808620a9717263b8c9ec2237f0">set_bkg_based_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile)</td></tr> +<tr class="separator:abc8bc5808620a9717263b8c9ec2237f0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a1b8a1026983cb2b2c0bd46334b4692a0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">set_win_based_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile)</td></tr> +<tr class="separator:a1b8a1026983cb2b2c0bd46334b4692a0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aba932d128338fb19644842565139a20d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aba932d128338fb19644842565139a20d">fill_rect</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> tile) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:aba932d128338fb19644842565139a20d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af2fc27409f907cfae9583b5ebf0c5ea8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8">fill_rect_compat</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, const <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> tile) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:af2fc27409f907cfae9583b5ebf0c5ea8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e0cdfd6b9a2ae1b7f30384f132d8687"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">SET_SHADOW_OAM_ADDRESS</a> (void *address)</td></tr> <tr class="separator:a7e0cdfd6b9a2ae1b7f30384f132d8687"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a05bf0b9f1328de7b568a19a2a428bcfe"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tile)</td></tr> @@ -379,14 +388,14 @@ Functions</h2></td></tr> <tr class="separator:a6c59aa9a4f9ea42bed6ca6940b2741fe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad22c51635d052399bbbe1777999c794d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb)</td></tr> <tr class="separator:ad22c51635d052399bbbe1777999c794d"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a18ce02bf91fd93098176b5bcc94cdf4a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a18ce02bf91fd93098176b5bcc94cdf4a">set_vram_byte</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *addr, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> v) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:a18ce02bf91fd93098176b5bcc94cdf4a"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a968487c6f70c9e15de7af0efc0de0548"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a968487c6f70c9e15de7af0efc0de0548">set_attributed_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> t) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:a968487c6f70c9e15de7af0efc0de0548"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a256029356b8bc719e42ffafba844290f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a256029356b8bc719e42ffafba844290f">set_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:a256029356b8bc719e42ffafba844290f"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:af83d7fd4e4044ac6677f046f679bd7a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af83d7fd4e4044ac6677f046f679bd7a9">get_bkg_xy_addr</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) __z88dk_callee __preserves_regs(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> -<tr class="separator:af83d7fd4e4044ac6677f046f679bd7a9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:afe1bc7117a68cd0939c2d03baaa06b89"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89">set_vram_byte</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *addr, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> v) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:afe1bc7117a68cd0939c2d03baaa06b89"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a476f433ea736a1dd610490238f2a6250"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a476f433ea736a1dd610490238f2a6250">set_attributed_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> t) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a476f433ea736a1dd610490238f2a6250"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5834057f6297c0fa8f8e9a6b714f1ff7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">set_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a5834057f6297c0fa8f8e9a6b714f1ff7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a66b4bfb8c1ea3005ff01ce040a778e63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63">get_bkg_xy_addr</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr> +<tr class="separator:a66b4bfb8c1ea3005ff01ce040a778e63"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> @@ -410,6 +419,10 @@ Variables</h2></td></tr> <tr class="separator:a22dc57e538f0f49e2dc7d1c73f67fc8f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a250f5339e05523912926be566e9eb8c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a></td></tr> <tr class="separator:a250f5339e05523912926be566e9eb8c0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa82205e9629f984d0b3dc8055c211522"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a></td></tr> +<tr class="separator:aa82205e9629f984d0b3dc8055c211522"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab472d9bbb1bcfd141374f5babc71934c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a></td></tr> +<tr class="separator:ab472d9bbb1bcfd141374f5babc71934c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af02f9e73bd894cc25e03aedb0a10a91d"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a> []</td></tr> <tr class="separator:af02f9e73bd894cc25e03aedb0a10a91d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5435fd985412934e96a490e103c6bc49"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">_shadow_OAM_base</a></td></tr> @@ -460,8 +473,8 @@ Variables</h2></td></tr> </table> </div><div class="memdoc"> <p>Joypad bits. A logical OR of these is used in the wait_pad and joypad functions. For example, to see if the B button is pressed try</p> -<p>uint8_t keys; keys = <a class="el" href="sms_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad()</a>; if (keys & J_B) { ... }</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad</a> </dd></dl> +<p>uint8_t keys; keys = <a class="el" href="sms_8h.html#a176c477d759b814664785f3a0ad5e253">joypad()</a>; if (keys & J_B) { ... }</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a176c477d759b814664785f3a0ad5e253">joypad</a> </dd></dl> </div> </div> @@ -728,9 +741,9 @@ Variables</h2></td></tr> </table> </div><div class="memdoc"> <p>VBlank Interrupt occurs at the start of the vertical blank.</p> -<p>During this period the video ram may be freely accessed. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849">set_interrupts()</a>, </dd> +<p>During this period the video ram may be freely accessed. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#aefda0091b2934571a11e07b512735f50">set_interrupts()</a>, </dd> <dd> -<a class="el" href="sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6">add_VBL</a> </dd></dl> +<a class="el" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">add_VBL</a> </dd></dl> </div> </div> @@ -745,9 +758,9 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>LCD Interrupt when triggered by the STAT register. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849">set_interrupts()</a>, </dd> +<p>LCD Interrupt when triggered by the STAT register. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#aefda0091b2934571a11e07b512735f50">set_interrupts()</a>, </dd> <dd> -<a class="el" href="sms_8h.html#a99f5c1698cb6d3715690481d4e4b6da1">add_LCD</a> </dd></dl> +<a class="el" href="sms_8h.html#a51add93356a25c71e8c37a73c9065c9d">add_LCD</a> </dd></dl> </div> </div> @@ -1322,7 +1335,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define set_bkg_palette_entry   <a class="el" href="sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9">set_palette_entry</a></td> + <td class="memname">#define set_bkg_palette_entry   <a class="el" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">set_palette_entry</a></td> </tr> </table> </div><div class="memdoc"> @@ -1356,7 +1369,7 @@ Variables</h2></td></tr> <tr> <td></td> <td>)</td> - <td></td><td>   <a class="el" href="sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9">set_palette_entry</a>(1,entry,rgb_data)</td> + <td></td><td>   <a class="el" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">set_palette_entry</a>(1,entry,rgb_data)</td> </tr> </table> </div><div class="memdoc"> @@ -1370,7 +1383,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define set_bkg_palette   <a class="el" href="sms_8h.html#a8668e421743bcba26411acaabe1af82d">set_palette</a></td> + <td class="memname">#define set_bkg_palette   <a class="el" href="sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e">set_palette</a></td> </tr> </table> </div><div class="memdoc"> @@ -1404,7 +1417,7 @@ Variables</h2></td></tr> <tr> <td></td> <td>)</td> - <td></td><td>   <a class="el" href="sms_8h.html#a8668e421743bcba26411acaabe1af82d">set_palette</a>(1,1,rgb_data)</td> + <td></td><td>   <a class="el" href="sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e">set_palette</a>(1,1,rgb_data)</td> </tr> </table> </div><div class="memdoc"> @@ -1458,7 +1471,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define set_bkg_tiles   <a class="el" href="sms_8h.html#a6a9877d413f96540712d408d865625c9">set_tile_map_compat</a></td> + <td class="memname">#define set_bkg_tiles   <a class="el" href="sms_8h.html#a7c38b146f77eda84981c06c2271fe116">set_tile_map_compat</a></td> </tr> </table> </div><div class="memdoc"> @@ -1472,7 +1485,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define set_win_tiles   <a class="el" href="sms_8h.html#a6a9877d413f96540712d408d865625c9">set_tile_map_compat</a></td> + <td class="memname">#define set_win_tiles   <a class="el" href="sms_8h.html#a7c38b146f77eda84981c06c2271fe116">set_tile_map_compat</a></td> </tr> </table> </div><div class="memdoc"> @@ -1486,7 +1499,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define fill_bkg_rect   <a class="el" href="sms_8h.html#aac998cb7f78186158ced5448dcfc3503">fill_rect_compat</a></td> + <td class="memname">#define fill_bkg_rect   <a class="el" href="sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8">fill_rect_compat</a></td> </tr> </table> </div><div class="memdoc"> @@ -1500,7 +1513,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define fill_win_rect   <a class="el" href="sms_8h.html#aac998cb7f78186158ced5448dcfc3503">fill_rect_compat</a></td> + <td class="memname">#define fill_win_rect   <a class="el" href="sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8">fill_rect_compat</a></td> </tr> </table> </div><div class="memdoc"> @@ -1559,7 +1572,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define set_bkg_tile_xy   <a class="el" href="sms_8h.html#a256029356b8bc719e42ffafba844290f">set_tile_xy</a></td> + <td class="memname">#define set_bkg_tile_xy   <a class="el" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">set_tile_xy</a></td> </tr> </table> </div><div class="memdoc"> @@ -1573,7 +1586,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define set_win_tile_xy   <a class="el" href="sms_8h.html#a256029356b8bc719e42ffafba844290f">set_tile_xy</a></td> + <td class="memname">#define set_win_tile_xy   <a class="el" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">set_tile_xy</a></td> </tr> </table> </div><div class="memdoc"> @@ -1587,7 +1600,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define get_win_xy_addr   <a class="el" href="sms_8h.html#af83d7fd4e4044ac6677f046f679bd7a9">get_bkg_xy_addr</a></td> + <td class="memname">#define get_win_xy_addr   <a class="el" href="sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63">get_bkg_xy_addr</a></td> </tr> </table> </div><div class="memdoc"> @@ -1602,7 +1615,7 @@ Variables</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef void(* int_handler) (void) <a class="el" href="asm_2z80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td> + <td class="memname">typedef void(* int_handler) (void) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td> </tr> </table> </div><div class="memdoc"> @@ -1611,8 +1624,8 @@ Variables</h2></td></tr> </div> </div> <h2 class="groupheader">Function Documentation</h2> -<a id="a4b7af81fec48ca3bee04234b417abaa6"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a4b7af81fec48ca3bee04234b417abaa6">◆ </a></span>WRITE_VDP_CMD()</h2> +<a id="a498b148efd22ab8ad9b844b2dc5e5bb8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a498b148efd22ab8ad9b844b2dc5e5bb8">◆ </a></span>WRITE_VDP_CMD()</h2> <div class="memitem"> <div class="memproto"> @@ -1629,8 +1642,8 @@ Variables</h2></td></tr> </div> </div> -<a id="af513fcb34dd2aa1e9bc9bf65cb589eee"></a> -<h2 class="memtitle"><span class="permalink"><a href="#af513fcb34dd2aa1e9bc9bf65cb589eee">◆ </a></span>WRITE_VDP_DATA()</h2> +<a id="aa2ddf9662320c4a9d00fd4a94d347570"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa2ddf9662320c4a9d00fd4a94d347570">◆ </a></span>WRITE_VDP_DATA()</h2> <div class="memitem"> <div class="memproto"> @@ -1689,8 +1702,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a46aa5fa208d6a58fe07a170db49a8849"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a46aa5fa208d6a58fe07a170db49a8849">◆ </a></span>set_interrupts()</h2> +<a id="aefda0091b2934571a11e07b512735f50"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aefda0091b2934571a11e07b512735f50">◆ </a></span>set_interrupts()</h2> <div class="memitem"> <div class="memproto"> @@ -1706,18 +1719,19 @@ Variables</h2></td></tr> </div><div class="memdoc"> <p>Clears any pending interrupts and sets the interrupt mask register IO to flags. </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> - <tr><td class="paramname">flags</td><td>A logical OR of *_IFLAGS </td></tr> + <tr><td class="paramname">flags</td><td>A logical OR of *_IFLAGS</td></tr> </table> </dd> </dl> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8de3c5a1e5f74c380f2541dafc7b30ef">enable_interrupts()</a>, <a class="el" href="gb_8h.html#a8a71c706c3eb1343196adf77f5825747">disable_interrupts()</a> </dd> +<dl class="section note"><dt>Note</dt><dd>: This disables and then re-enables interrupts so it must be used outside of a critical section.</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ae0b13f17609b26c86fc33944aeb6e867">enable_interrupts()</a>, <a class="el" href="gb_8h.html#ad77796783b3a601b6f3781dfc3983499">disable_interrupts()</a> </dd> <dd> <a class="el" href="gb_8h.html#a2ca7720b9a5da9b2173e1f74dba85541">VBL_IFLAG</a>, <a class="el" href="gb_8h.html#a61a9e2910380de6abb34df14ef634eb4">LCD_IFLAG</a>, <a class="el" href="gb_8h.html#a604256210ec5b90b68185e1a18efab49">TIM_IFLAG</a>, <a class="el" href="gb_8h.html#ad90564458646c5646b3880b93db3443e">SIO_IFLAG</a>, <a class="el" href="gb_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280">JOY_IFLAG</a> </dd></dl> </div> </div> -<a id="a9eeb134cad80f309ce86ab101a9e0026"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a9eeb134cad80f309ce86ab101a9e0026">◆ </a></span>remove_VBL()</h2> +<a id="a98f7ef49e1758c601979bcb0ff19a1f0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a98f7ef49e1758c601979bcb0ff19a1f0">◆ </a></span>remove_VBL()</h2> <div class="memitem"> <div class="memproto"> @@ -1731,12 +1745,12 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Removes the VBL interrupt handler. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6">add_VBL()</a> </dd></dl> +<p>Removes the VBL interrupt handler. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">add_VBL()</a> </dd></dl> </div> </div> -<a id="a0bd9fc648e26b8d494d082343f19d9ad"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a0bd9fc648e26b8d494d082343f19d9ad">◆ </a></span>remove_LCD()</h2> +<a id="aa8962b27b960bb0c8d3bb899246c690c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa8962b27b960bb0c8d3bb899246c690c">◆ </a></span>remove_LCD()</h2> <div class="memitem"> <div class="memproto"> @@ -1750,12 +1764,12 @@ Variables</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Removes the LCD interrupt handler. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a99f5c1698cb6d3715690481d4e4b6da1">add_LCD()</a>, <a class="el" href="sms_8h.html#a9eeb134cad80f309ce86ab101a9e0026">remove_VBL()</a> </dd></dl> +<p>Removes the LCD interrupt handler. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a51add93356a25c71e8c37a73c9065c9d">add_LCD()</a>, <a class="el" href="sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0">remove_VBL()</a> </dd></dl> </div> </div> -<a id="afe6f5ff8fbb632868cb41f2a4c5995ae"></a> -<h2 class="memtitle"><span class="permalink"><a href="#afe6f5ff8fbb632868cb41f2a4c5995ae">◆ </a></span>remove_TIM()</h2> +<a id="a98785a1b0ddc91cd8e8c8fab8de1de20"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a98785a1b0ddc91cd8e8c8fab8de1de20">◆ </a></span>remove_TIM()</h2> <div class="memitem"> <div class="memproto"> @@ -1772,8 +1786,8 @@ Variables</h2></td></tr> </div> </div> -<a id="ab052e48d56856c376379c3a9cc686c76"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ab052e48d56856c376379c3a9cc686c76">◆ </a></span>remove_SIO()</h2> +<a id="a98de9141f407585801fcbf55bf6dcc4c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a98de9141f407585801fcbf55bf6dcc4c">◆ </a></span>remove_SIO()</h2> <div class="memitem"> <div class="memproto"> @@ -1790,8 +1804,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a10fc1ec5a17a7d25d95241db0f458eb9"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a10fc1ec5a17a7d25d95241db0f458eb9">◆ </a></span>remove_JOY()</h2> +<a id="a35a3ff12ab34534b763517576afe38a6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a35a3ff12ab34534b763517576afe38a6">◆ </a></span>remove_JOY()</h2> <div class="memitem"> <div class="memproto"> @@ -1808,8 +1822,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a1828aeec4b83ef499e18ca1a5ad3b6a6"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a1828aeec4b83ef499e18ca1a5ad3b6a6">◆ </a></span>add_VBL()</h2> +<a id="ae59628e2237f301df1341e22bfc8296e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ae59628e2237f301df1341e22bfc8296e">◆ </a></span>add_VBL()</h2> <div class="memitem"> <div class="memproto"> @@ -1827,8 +1841,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a99f5c1698cb6d3715690481d4e4b6da1"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a99f5c1698cb6d3715690481d4e4b6da1">◆ </a></span>add_LCD()</h2> +<a id="a51add93356a25c71e8c37a73c9065c9d"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a51add93356a25c71e8c37a73c9065c9d">◆ </a></span>add_LCD()</h2> <div class="memitem"> <div class="memproto"> @@ -1846,8 +1860,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a17416b1bb39989e82948e3a97f23187f"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a17416b1bb39989e82948e3a97f23187f">◆ </a></span>add_TIM()</h2> +<a id="a6c66a583a8f0744e3985c89725e3dc10"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6c66a583a8f0744e3985c89725e3dc10">◆ </a></span>add_TIM()</h2> <div class="memitem"> <div class="memproto"> @@ -1865,8 +1879,8 @@ Variables</h2></td></tr> </div> </div> -<a id="adcbf35ca19c093d4565729fa7e868f5c"></a> -<h2 class="memtitle"><span class="permalink"><a href="#adcbf35ca19c093d4565729fa7e868f5c">◆ </a></span>add_SIO()</h2> +<a id="a3372d61a07e0466bdb909a27f3aaaca9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a3372d61a07e0466bdb909a27f3aaaca9">◆ </a></span>add_SIO()</h2> <div class="memitem"> <div class="memproto"> @@ -1884,8 +1898,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a049c5d8c901a23cccf95b02a911f9212"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a049c5d8c901a23cccf95b02a911f9212">◆ </a></span>add_JOY()</h2> +<a id="a48163816121cd669526817d3e6266fd9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a48163816121cd669526817d3e6266fd9">◆ </a></span>add_JOY()</h2> <div class="memitem"> <div class="memproto"> @@ -2001,8 +2015,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a68346350199018249bdf8019b7131514"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a68346350199018249bdf8019b7131514">◆ </a></span>wait_vbl_done()</h2> +<a id="acd186eb292d441f9389e77b545a55619"></a> +<h2 class="memtitle"><span class="permalink"><a href="#acd186eb292d441f9389e77b545a55619">◆ </a></span>wait_vbl_done()</h2> <div class="memitem"> <div class="memproto"> @@ -2066,8 +2080,8 @@ Variables</h2></td></tr> </div> </div> -<a id="aea03b5b22f0a798a7935dc7d18931924"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aea03b5b22f0a798a7935dc7d18931924">◆ </a></span>delay()</h2> +<a id="a217232c82eb5f99f7639b5786ce5abc6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a217232c82eb5f99f7639b5786ce5abc6">◆ </a></span>delay()</h2> <div class="memitem"> <div class="memproto"> @@ -2085,8 +2099,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a15f46ef3d3443b452db0c38fc33bcfc1"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a15f46ef3d3443b452db0c38fc33bcfc1">◆ </a></span>joypad()</h2> +<a id="a176c477d759b814664785f3a0ad5e253"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a176c477d759b814664785f3a0ad5e253">◆ </a></span>joypad()</h2> <div class="memitem"> <div class="memproto"> @@ -2103,8 +2117,8 @@ Variables</h2></td></tr> </div> </div> -<a id="aec76b4ab16315eb97846be87b19fea10"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aec76b4ab16315eb97846be87b19fea10">◆ </a></span>waitpad()</h2> +<a id="a79b565677967da5ef9bf1a00aa6776ce"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a79b565677967da5ef9bf1a00aa6776ce">◆ </a></span>waitpad()</h2> <div class="memitem"> <div class="memproto"> @@ -2122,8 +2136,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a35fbfcc0bffc93a47217caff66ca36a7"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a35fbfcc0bffc93a47217caff66ca36a7">◆ </a></span>waitpadup()</h2> +<a id="a955d3733e5018f18b17a572aff45cf26"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a955d3733e5018f18b17a572aff45cf26">◆ </a></span>waitpadup()</h2> <div class="memitem"> <div class="memproto"> @@ -2141,8 +2155,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a294f858312544fa89bf17adbba51f145"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a294f858312544fa89bf17adbba51f145">◆ </a></span>joypad_init()</h2> +<a id="abe90cc2b5bb10c0ed9e01e548ddf8862"></a> +<h2 class="memtitle"><span class="permalink"><a href="#abe90cc2b5bb10c0ed9e01e548ddf8862">◆ </a></span>joypad_init()</h2> <div class="memitem"> <div class="memproto"> @@ -2173,13 +2187,13 @@ Variables</h2></td></tr> </table> </dd> </dl> -<p>Only required for <a class="el" href="sms_8h.html#aec8e36355bb7381000606b1871db5977">joypad_ex</a>, not required for calls to regular <a class="el" href="gb_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad()</a> </p><dl class="section return"><dt>Returns</dt><dd>number of joypads avaliable </dd></dl> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#aec8e36355bb7381000606b1871db5977">joypad_ex()</a>, <a class="el" href="structjoypads__t.html">joypads_t</a> </dd></dl> +<p>Only required for <a class="el" href="sms_8h.html#a1d45c65829490c5ec98362f5e60edc20">joypad_ex</a>, not required for calls to regular <a class="el" href="gb_8h.html#a176c477d759b814664785f3a0ad5e253">joypad()</a> </p><dl class="section return"><dt>Returns</dt><dd>number of joypads avaliable </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a1d45c65829490c5ec98362f5e60edc20">joypad_ex()</a>, <a class="el" href="structjoypads__t.html">joypads_t</a> </dd></dl> </div> </div> -<a id="aec8e36355bb7381000606b1871db5977"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aec8e36355bb7381000606b1871db5977">◆ </a></span>joypad_ex()</h2> +<a id="a1d45c65829490c5ec98362f5e60edc20"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a1d45c65829490c5ec98362f5e60edc20">◆ </a></span>joypad_ex()</h2> <div class="memitem"> <div class="memproto"> @@ -2195,11 +2209,11 @@ Variables</h2></td></tr> </div><div class="memdoc"> <p>Polls all avaliable joypads </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> - <tr><td class="paramname">joypads</td><td>pointer to <a class="el" href="structjoypads__t.html">joypads_t</a> structure to be filled with joypad statuses, must be previously initialized with <a class="el" href="sms_8h.html#a294f858312544fa89bf17adbba51f145">joypad_init()</a></td></tr> + <tr><td class="paramname">joypads</td><td>pointer to <a class="el" href="structjoypads__t.html">joypads_t</a> structure to be filled with joypad statuses, must be previously initialized with <a class="el" href="sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862">joypad_init()</a></td></tr> </table> </dd> </dl> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a294f858312544fa89bf17adbba51f145">joypad_init()</a>, <a class="el" href="structjoypads__t.html">joypads_t</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862">joypad_init()</a>, <a class="el" href="structjoypads__t.html">joypads_t</a> </dd></dl> </div> </div> @@ -2252,8 +2266,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a675ad64b02d33ab3274f7fb54da14fa9"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a675ad64b02d33ab3274f7fb54da14fa9">◆ </a></span>set_palette_entry()</h2> +<a id="a2c9aabf4519e01257b0d0e04e8108164"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a2c9aabf4519e01257b0d0e04e8108164">◆ </a></span>set_palette_entry()</h2> <div class="memitem"> <div class="memproto"> @@ -2286,8 +2300,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a8668e421743bcba26411acaabe1af82d"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a8668e421743bcba26411acaabe1af82d">◆ </a></span>set_palette()</h2> +<a id="a92109adcc20960f26e8bc5fbb141d27e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a92109adcc20960f26e8bc5fbb141d27e">◆ </a></span>set_palette()</h2> <div class="memitem"> <div class="memproto"> @@ -2320,8 +2334,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a5e48fbbda171d4c466e1d0d96fa73b50"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a5e48fbbda171d4c466e1d0d96fa73b50">◆ </a></span>set_native_tile_data()</h2> +<a id="a24764a152441b966ea04a83278c73207"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a24764a152441b966ea04a83278c73207">◆ </a></span>set_native_tile_data()</h2> <div class="memitem"> <div class="memproto"> @@ -2464,8 +2478,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a30e9f94cf4e5cf198bc54ce1e0ac5979"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a30e9f94cf4e5cf198bc54ce1e0ac5979">◆ </a></span>set_tile_2bpp_data()</h2> +<a id="ab752b1bb0f58da2a6d52e9747c4b3dd8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ab752b1bb0f58da2a6d52e9747c4b3dd8">◆ </a></span>set_tile_2bpp_data()</h2> <div class="memitem"> <div class="memproto"> @@ -2708,8 +2722,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a6afae83728b6651075f0af9d55d4b9e0"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a6afae83728b6651075f0af9d55d4b9e0">◆ </a></span>set_tile_1bpp_data()</h2> +<a id="a747033606e041b45ae09b38fdb06b871"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a747033606e041b45ae09b38fdb06b871">◆ </a></span>set_tile_1bpp_data()</h2> <div class="memitem"> <div class="memproto"> @@ -2832,8 +2846,8 @@ Variables</h2></td></tr> </div> </div> -<a id="abe8c12f4c6675b2c671fe8ab32370533"></a> -<h2 class="memtitle"><span class="permalink"><a href="#abe8c12f4c6675b2c671fe8ab32370533">◆ </a></span>set_data()</h2> +<a id="a8fe17423c7ef7c44f1ccff27d3afbebc"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a8fe17423c7ef7c44f1ccff27d3afbebc">◆ </a></span>set_data()</h2> <div class="memitem"> <div class="memproto"> @@ -2876,8 +2890,8 @@ Variables</h2></td></tr> </div> </div> -<a id="aee5c510efbda6e44f987088aa14d3482"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aee5c510efbda6e44f987088aa14d3482">◆ </a></span>vmemcpy()</h2> +<a id="a33a749b14dfbd203c460e8d7f3500636"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a33a749b14dfbd203c460e8d7f3500636">◆ </a></span>vmemcpy()</h2> <div class="memitem"> <div class="memproto"> @@ -2910,8 +2924,8 @@ Variables</h2></td></tr> </div> </div> -<a id="ad68f2f36b41febcc5f8ca23c3e379ec8"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ad68f2f36b41febcc5f8ca23c3e379ec8">◆ </a></span>set_tile_map()</h2> +<a id="a14fc41e69085b5aa3da2fae9a2aa3ef3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a14fc41e69085b5aa3da2fae9a2aa3ef3">◆ </a></span>set_tile_map()</h2> <div class="memitem"> <div class="memproto"> @@ -2956,8 +2970,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a6a9877d413f96540712d408d865625c9"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a6a9877d413f96540712d408d865625c9">◆ </a></span>set_tile_map_compat()</h2> +<a id="a7c38b146f77eda84981c06c2271fe116"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a7c38b146f77eda84981c06c2271fe116">◆ </a></span>set_tile_map_compat()</h2> <div class="memitem"> <div class="memproto"> @@ -3002,8 +3016,128 @@ Variables</h2></td></tr> </div> </div> -<a id="ad7bf6d9629c0ee4e83c137a297aac169"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ad7bf6d9629c0ee4e83c137a297aac169">◆ </a></span>set_tile_submap()</h2> +<a id="a811c386cac0df2d260aacb5a43608be5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a811c386cac0df2d260aacb5a43608be5">◆ </a></span>set_bkg_based_tiles()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void set_bkg_based_tiles </td> + <td>(</td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>y</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>w</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>h</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td> + <td class="paramname"><em>tiles</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>base_tile</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +</div> +</div> +<a id="a739a212609ae60c9c56c095f96b4ea80"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a739a212609ae60c9c56c095f96b4ea80">◆ </a></span>set_win_based_tiles()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void set_win_based_tiles </td> + <td>(</td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>y</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>w</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>h</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td> + <td class="paramname"><em>tiles</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>base_tile</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +</div> +</div> +<a id="a84774e034fe0e70af62bd17ac716ba34"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a84774e034fe0e70af62bd17ac716ba34">◆ </a></span>set_tile_submap()</h2> <div class="memitem"> <div class="memproto"> @@ -3054,8 +3188,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a35261bb6911ba7a123262efc32f4955a"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a35261bb6911ba7a123262efc32f4955a">◆ </a></span>set_tile_submap_compat()</h2> +<a id="aba0308b5e8e154cc920f041a185ac770"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aba0308b5e8e154cc920f041a185ac770">◆ </a></span>set_tile_submap_compat()</h2> <div class="memitem"> <div class="memproto"> @@ -3176,13 +3310,13 @@ Variables</h2></td></tr> </dd> </dl> <p>Entries are copied from <b>map</b> to the Background Tile Map starting at <b>x</b>, <b>y</b> writing across for <b>w</b> tiles and down for <b>h</b> tiles, using <b>map_w</b> as the rowstride for the source tile map.</p> -<p>Use this instead of <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a> when the source map is wider than 32 tiles or when writing a width that does not match the source map width.</p> +<p>Use this instead of <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a> when the source map is wider than 32 tiles or when writing a width that does not match the source map width.</p> <p>One byte per source tile map entry.</p> <p>Writes that exceed coordinate 31 on the x or y axis will wrap around to the Left and Top edges.</p> -<p>See <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a> for setting CGB attribute maps with <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a>.</p> +<p>See <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a> for setting CGB attribute maps with <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a>.</p> <dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8e3f36aa68ac036695816757f2a1322c">SHOW_BKG</a> </dd> <dd> -<a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a>, <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a>, <a class="el" href="gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b">set_tiles</a> </dd></dl> +<a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>, <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a>, <a class="el" href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c">set_tiles</a> </dd></dl> </div> </div> @@ -3256,20 +3390,152 @@ Variables</h2></td></tr> </dd> </dl> <p>Entries are copied from <b>map</b> to the Window Tile Map starting at <b>x</b>, <b>y</b> writing across for <b>w</b> tiles and down for <b>h</b> tiles, using <b>map_w</b> as the rowstride for the source tile map.</p> -<p>Use this instead of <a class="el" href="gb_8h.html#aba807b33ddd5e18ecedc93b05338045e">set_win_tiles</a> when the source map is wider than 32 tiles or when writing a width that does not match the source map width.</p> +<p>Use this instead of <a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a> when the source map is wider than 32 tiles or when writing a width that does not match the source map width.</p> <p>One byte per source tile map entry.</p> <p>Writes that exceed coordinate 31 on the x or y axis will wrap around to the Left and Top edges.</p> <p>GBC only: <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a> determines whether Tile Numbers or Tile Attributes get set. </p><ul> <li>VBK_REG=0 Tile Numbers are written </li> <li>VBK_REG=1 Tile Attributes are written</li> </ul> -<p>See <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a> for details about CGB attribute maps with <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a>.</p> -<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8">SHOW_WIN</a>, <a class="el" href="gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3">HIDE_WIN</a>, <a class="el" href="gb_8h.html#aba807b33ddd5e18ecedc93b05338045e">set_win_tiles</a>, <a class="el" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a>, <a class="el" href="gb_8h.html#a45cb12c6a672558e9a3792d11951707c">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#a4d9b58a7682c3d9cbf4b974673c23d07">set_bkg_data</a>, <a class="el" href="gb_8h.html#aeb241bfa1101cc1e40d26b5bd1aad96b">set_tiles</a> </dd></dl> +<p>See <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a> for details about CGB attribute maps with <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a>.</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8">SHOW_WIN</a>, <a class="el" href="gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3">HIDE_WIN</a>, <a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a>, <a class="el" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a>, <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>, <a class="el" href="gb_8h.html#a9b205ee302f54cb96ee59aac6d53a91c">set_tiles</a> </dd></dl> + +</div> +</div> +<a id="abc8bc5808620a9717263b8c9ec2237f0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#abc8bc5808620a9717263b8c9ec2237f0">◆ </a></span>set_bkg_based_submap()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void set_bkg_based_submap </td> + <td>(</td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>y</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>w</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>h</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td> + <td class="paramname"><em>map</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>map_w</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>base_tile</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +</div> +</div> +<a id="a1b8a1026983cb2b2c0bd46334b4692a0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a1b8a1026983cb2b2c0bd46334b4692a0">◆ </a></span>set_win_based_submap()</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void set_win_based_submap </td> + <td>(</td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>x</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>y</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>w</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>h</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td> + <td class="paramname"><em>map</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>map_w</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td> + <td class="paramname"><em>base_tile</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> </div> </div> -<a id="ab380f3a45e943a45a4cd3189a99ca4df"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ab380f3a45e943a45a4cd3189a99ca4df">◆ </a></span>fill_rect()</h2> +<a id="aba932d128338fb19644842565139a20d"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aba932d128338fb19644842565139a20d">◆ </a></span>fill_rect()</h2> <div class="memitem"> <div class="memproto"> @@ -3314,8 +3580,8 @@ Variables</h2></td></tr> </div> </div> -<a id="aac998cb7f78186158ced5448dcfc3503"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aac998cb7f78186158ced5448dcfc3503">◆ </a></span>fill_rect_compat()</h2> +<a id="af2fc27409f907cfae9583b5ebf0c5ea8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#af2fc27409f907cfae9583b5ebf0c5ea8">◆ </a></span>fill_rect_compat()</h2> <div class="memitem"> <div class="memproto"> @@ -3676,8 +3942,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a18ce02bf91fd93098176b5bcc94cdf4a"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a18ce02bf91fd93098176b5bcc94cdf4a">◆ </a></span>set_vram_byte()</h2> +<a id="afe1bc7117a68cd0939c2d03baaa06b89"></a> +<h2 class="memtitle"><span class="permalink"><a href="#afe1bc7117a68cd0939c2d03baaa06b89">◆ </a></span>set_vram_byte()</h2> <div class="memitem"> <div class="memproto"> @@ -3712,8 +3978,8 @@ Variables</h2></td></tr> </div> </div> -<a id="a968487c6f70c9e15de7af0efc0de0548"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a968487c6f70c9e15de7af0efc0de0548">◆ </a></span>set_attributed_tile_xy()</h2> +<a id="a476f433ea736a1dd610490238f2a6250"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a476f433ea736a1dd610490238f2a6250">◆ </a></span>set_attributed_tile_xy()</h2> <div class="memitem"> <div class="memproto"> @@ -3751,12 +4017,12 @@ Variables</h2></td></tr> </table> </dd> </dl> -<dl class="section return"><dt>Returns</dt><dd>returns the address of tile, so you may use faster <a class="el" href="sms_8h.html#a18ce02bf91fd93098176b5bcc94cdf4a">set_vram_byte()</a> later </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>returns the address of tile, so you may use faster <a class="el" href="sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89">set_vram_byte()</a> later </dd></dl> </div> </div> -<a id="a256029356b8bc719e42ffafba844290f"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a256029356b8bc719e42ffafba844290f">◆ </a></span>set_tile_xy()</h2> +<a id="a5834057f6297c0fa8f8e9a6b714f1ff7"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a5834057f6297c0fa8f8e9a6b714f1ff7">◆ </a></span>set_tile_xy()</h2> <div class="memitem"> <div class="memproto"> @@ -3794,12 +4060,12 @@ Variables</h2></td></tr> </table> </dd> </dl> -<dl class="section return"><dt>Returns</dt><dd>returns the address of tile, so you may use faster <a class="el" href="sms_8h.html#a18ce02bf91fd93098176b5bcc94cdf4a">set_vram_byte()</a> later </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>returns the address of tile, so you may use faster <a class="el" href="sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89">set_vram_byte()</a> later </dd></dl> </div> </div> -<a id="af83d7fd4e4044ac6677f046f679bd7a9"></a> -<h2 class="memtitle"><span class="permalink"><a href="#af83d7fd4e4044ac6677f046f679bd7a9">◆ </a></span>get_bkg_xy_addr()</h2> +<a id="a66b4bfb8c1ea3005ff01ce040a778e63"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a66b4bfb8c1ea3005ff01ce040a778e63">◆ </a></span>get_bkg_xy_addr()</h2> <div class="memitem"> <div class="memproto"> @@ -3995,6 +4261,50 @@ Variables</h2></td></tr> </div> </div> +<a id="aa82205e9629f984d0b3dc8055c211522"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa82205e9629f984d0b3dc8055c211522">◆ </a></span>_map_tile_offset</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> _map_tile_offset</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">extern</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +</div> +</div> +<a id="ab472d9bbb1bcfd141374f5babc71934c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ab472d9bbb1bcfd141374f5babc71934c">◆ </a></span>_submap_tile_offset</h2> + +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> _submap_tile_offset</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">extern</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +</div> +</div> <a id="af02f9e73bd894cc25e03aedb0a10a91d"></a> <h2 class="memtitle"><span class="permalink"><a href="#af02f9e73bd894cc25e03aedb0a10a91d">◆ </a></span>shadow_OAM</h2> diff --git a/docs/api/sms_8h.js b/docs/api/sms_8h.js @@ -71,60 +71,64 @@ var sms_8h = [ "set_win_tile_xy", "sms_8h.html#a95d929d964d9988f4dc5a25ed399ae08", null ], [ "get_win_xy_addr", "sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412", null ], [ "int_handler", "sms_8h.html#a9508f919d9482d1d51534ccac212454d", null ], - [ "WRITE_VDP_CMD", "sms_8h.html#a4b7af81fec48ca3bee04234b417abaa6", null ], - [ "WRITE_VDP_DATA", "sms_8h.html#af513fcb34dd2aa1e9bc9bf65cb589eee", null ], + [ "WRITE_VDP_CMD", "sms_8h.html#a498b148efd22ab8ad9b844b2dc5e5bb8", null ], + [ "WRITE_VDP_DATA", "sms_8h.html#aa2ddf9662320c4a9d00fd4a94d347570", null ], [ "mode", "sms_8h.html#a3ea524204d839377cf39842eec23e202", null ], [ "get_mode", "sms_8h.html#ad9a83378f5ec1f6444c879e4cf1e1a83", null ], - [ "set_interrupts", "sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849", null ], - [ "remove_VBL", "sms_8h.html#a9eeb134cad80f309ce86ab101a9e0026", null ], - [ "remove_LCD", "sms_8h.html#a0bd9fc648e26b8d494d082343f19d9ad", null ], - [ "remove_TIM", "sms_8h.html#afe6f5ff8fbb632868cb41f2a4c5995ae", null ], - [ "remove_SIO", "sms_8h.html#ab052e48d56856c376379c3a9cc686c76", null ], - [ "remove_JOY", "sms_8h.html#a10fc1ec5a17a7d25d95241db0f458eb9", null ], - [ "add_VBL", "sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6", null ], - [ "add_LCD", "sms_8h.html#a99f5c1698cb6d3715690481d4e4b6da1", null ], - [ "add_TIM", "sms_8h.html#a17416b1bb39989e82948e3a97f23187f", null ], - [ "add_SIO", "sms_8h.html#adcbf35ca19c093d4565729fa7e868f5c", null ], - [ "add_JOY", "sms_8h.html#a049c5d8c901a23cccf95b02a911f9212", null ], + [ "set_interrupts", "sms_8h.html#aefda0091b2934571a11e07b512735f50", null ], + [ "remove_VBL", "sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0", null ], + [ "remove_LCD", "sms_8h.html#aa8962b27b960bb0c8d3bb899246c690c", null ], + [ "remove_TIM", "sms_8h.html#a98785a1b0ddc91cd8e8c8fab8de1de20", null ], + [ "remove_SIO", "sms_8h.html#a98de9141f407585801fcbf55bf6dcc4c", null ], + [ "remove_JOY", "sms_8h.html#a35a3ff12ab34534b763517576afe38a6", null ], + [ "add_VBL", "sms_8h.html#ae59628e2237f301df1341e22bfc8296e", null ], + [ "add_LCD", "sms_8h.html#a51add93356a25c71e8c37a73c9065c9d", null ], + [ "add_TIM", "sms_8h.html#a6c66a583a8f0744e3985c89725e3dc10", null ], + [ "add_SIO", "sms_8h.html#a3372d61a07e0466bdb909a27f3aaaca9", null ], + [ "add_JOY", "sms_8h.html#a48163816121cd669526817d3e6266fd9", null ], [ "cancel_pending_interrupts", "sms_8h.html#ade5d4c955b871b0ed884273cc2b7215a", null ], [ "move_bkg", "sms_8h.html#a6261537edc74068e3f7f057e6a3e8a57", null ], [ "scroll_bkg", "sms_8h.html#a1f583f7a880daa6145ca78b086a209d1", null ], - [ "wait_vbl_done", "sms_8h.html#a68346350199018249bdf8019b7131514", null ], + [ "wait_vbl_done", "sms_8h.html#acd186eb292d441f9389e77b545a55619", null ], [ "display_off", "sms_8h.html#a7b09691f25fddd65f12ed199b3f88ef0", null ], [ "refresh_OAM", "sms_8h.html#a7542d00af674e3c58b6c9887ab01919f", null ], - [ "delay", "sms_8h.html#aea03b5b22f0a798a7935dc7d18931924", null ], - [ "joypad", "sms_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1", null ], - [ "waitpad", "sms_8h.html#aec76b4ab16315eb97846be87b19fea10", null ], - [ "waitpadup", "sms_8h.html#a35fbfcc0bffc93a47217caff66ca36a7", null ], - [ "joypad_init", "sms_8h.html#a294f858312544fa89bf17adbba51f145", null ], - [ "joypad_ex", "sms_8h.html#aec8e36355bb7381000606b1871db5977", null ], + [ "delay", "sms_8h.html#a217232c82eb5f99f7639b5786ce5abc6", null ], + [ "joypad", "sms_8h.html#a176c477d759b814664785f3a0ad5e253", null ], + [ "waitpad", "sms_8h.html#a79b565677967da5ef9bf1a00aa6776ce", null ], + [ "waitpadup", "sms_8h.html#a955d3733e5018f18b17a572aff45cf26", null ], + [ "joypad_init", "sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862", null ], + [ "joypad_ex", "sms_8h.html#a1d45c65829490c5ec98362f5e60edc20", null ], [ "set_default_palette", "sms_8h.html#abd34836339579013c097ae4dea10c014", null ], [ "cpu_fast", "sms_8h.html#a884a743919b234cd9c37789380784d08", null ], - [ "set_palette_entry", "sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9", null ], - [ "set_palette", "sms_8h.html#a8668e421743bcba26411acaabe1af82d", null ], - [ "set_native_tile_data", "sms_8h.html#a5e48fbbda171d4c466e1d0d96fa73b50", null ], + [ "set_palette_entry", "sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164", null ], + [ "set_palette", "sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e", null ], + [ "set_native_tile_data", "sms_8h.html#a24764a152441b966ea04a83278c73207", null ], [ "set_bkg_4bpp_data", "sms_8h.html#aeff13dca11be49e8c159820c616016ec", null ], [ "set_sprite_4bpp_data", "sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432", null ], [ "set_2bpp_palette", "sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84", null ], - [ "set_tile_2bpp_data", "sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979", null ], + [ "set_tile_2bpp_data", "sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8", null ], [ "set_bkg_data", "sms_8h.html#a8130306da1177f4fef89e699f8e2add4", null ], [ "set_sprite_data", "sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39", null ], [ "set_bkg_2bpp_data", "sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023", null ], [ "set_sprite_2bpp_data", "sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a", null ], [ "set_1bpp_colors", "sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad", null ], - [ "set_tile_1bpp_data", "sms_8h.html#a6afae83728b6651075f0af9d55d4b9e0", null ], + [ "set_tile_1bpp_data", "sms_8h.html#a747033606e041b45ae09b38fdb06b871", null ], [ "set_bkg_1bpp_data", "sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04", null ], [ "set_sprite_1bpp_data", "sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97", null ], - [ "set_data", "sms_8h.html#abe8c12f4c6675b2c671fe8ab32370533", null ], - [ "vmemcpy", "sms_8h.html#aee5c510efbda6e44f987088aa14d3482", null ], - [ "set_tile_map", "sms_8h.html#ad68f2f36b41febcc5f8ca23c3e379ec8", null ], - [ "set_tile_map_compat", "sms_8h.html#a6a9877d413f96540712d408d865625c9", null ], - [ "set_tile_submap", "sms_8h.html#ad7bf6d9629c0ee4e83c137a297aac169", null ], - [ "set_tile_submap_compat", "sms_8h.html#a35261bb6911ba7a123262efc32f4955a", null ], + [ "set_data", "sms_8h.html#a8fe17423c7ef7c44f1ccff27d3afbebc", null ], + [ "vmemcpy", "sms_8h.html#a33a749b14dfbd203c460e8d7f3500636", null ], + [ "set_tile_map", "sms_8h.html#a14fc41e69085b5aa3da2fae9a2aa3ef3", null ], + [ "set_tile_map_compat", "sms_8h.html#a7c38b146f77eda84981c06c2271fe116", null ], + [ "set_bkg_based_tiles", "sms_8h.html#a811c386cac0df2d260aacb5a43608be5", null ], + [ "set_win_based_tiles", "sms_8h.html#a739a212609ae60c9c56c095f96b4ea80", null ], + [ "set_tile_submap", "sms_8h.html#a84774e034fe0e70af62bd17ac716ba34", null ], + [ "set_tile_submap_compat", "sms_8h.html#aba0308b5e8e154cc920f041a185ac770", null ], [ "set_bkg_submap", "sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298", null ], [ "set_win_submap", "sms_8h.html#abb50a392ca0d0419a080413287ee5d79", null ], - [ "fill_rect", "sms_8h.html#ab380f3a45e943a45a4cd3189a99ca4df", null ], - [ "fill_rect_compat", "sms_8h.html#aac998cb7f78186158ced5448dcfc3503", null ], + [ "set_bkg_based_submap", "sms_8h.html#abc8bc5808620a9717263b8c9ec2237f0", null ], + [ "set_win_based_submap", "sms_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0", null ], + [ "fill_rect", "sms_8h.html#aba932d128338fb19644842565139a20d", null ], + [ "fill_rect_compat", "sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8", null ], [ "SET_SHADOW_OAM_ADDRESS", "sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687", null ], [ "set_sprite_tile", "sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe", null ], [ "get_sprite_tile", "sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a", null ], @@ -133,10 +137,10 @@ var sms_8h = [ "move_sprite", "sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd", null ], [ "scroll_sprite", "sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe", null ], [ "hide_sprite", "sms_8h.html#ad22c51635d052399bbbe1777999c794d", null ], - [ "set_vram_byte", "sms_8h.html#a18ce02bf91fd93098176b5bcc94cdf4a", null ], - [ "set_attributed_tile_xy", "sms_8h.html#a968487c6f70c9e15de7af0efc0de0548", null ], - [ "set_tile_xy", "sms_8h.html#a256029356b8bc719e42ffafba844290f", null ], - [ "get_bkg_xy_addr", "sms_8h.html#af83d7fd4e4044ac6677f046f679bd7a9", null ], + [ "set_vram_byte", "sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89", null ], + [ "set_attributed_tile_xy", "sms_8h.html#a476f433ea736a1dd610490238f2a6250", null ], + [ "set_tile_xy", "sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7", null ], + [ "get_bkg_xy_addr", "sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63", null ], [ "c", "sms_8h.html#a0b3366755f3276b0243c1e0497471b7a", null ], [ "d", "sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e", null ], [ "e", "sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79", null ], @@ -147,6 +151,8 @@ var sms_8h = [ "sys_time", "sms_8h.html#a78d2fd18666afec116f176d46debb4e7", null ], [ "_current_2bpp_palette", "sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f", null ], [ "_current_1bpp_colors", "sms_8h.html#a250f5339e05523912926be566e9eb8c0", null ], + [ "_map_tile_offset", "sms_8h.html#aa82205e9629f984d0b3dc8055c211522", null ], + [ "_submap_tile_offset", "sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c", null ], [ "shadow_OAM", "sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d", null ], [ "_shadow_OAM_base", "sms_8h.html#a5435fd985412934e96a490e103c6bc49", null ], [ "_shadow_OAM_OFF", "sms_8h.html#a388d1dff2698172ba8574e43f5c77c93", null ] diff --git a/docs/api/sms_8h_source.html b/docs/api/sms_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -144,8 +145,8 @@ $(document).ready(function(){initNavTree('sms_8h_source.html',''); initResizable <div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="sms_8h.html#aa34282113397af810be737df1acec36c"> 83</a></span> <span class="preprocessor">#define __WRITE_VDP_REG(REG, v) shadow_##REG=(v);__critical{VDP_CMD=(shadow_##REG),VDP_CMD=REG;}</span></div> <div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a"> 84</a></span> <span class="preprocessor">#define __READ_VDP_REG(REG) shadow_##REG</span></div> <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  </div> -<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="sms_8h.html#a4b7af81fec48ca3bee04234b417abaa6"> 86</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a4b7af81fec48ca3bee04234b417abaa6">WRITE_VDP_CMD</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> cmd) __z88dk_fastcall __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="sms_8h.html#af513fcb34dd2aa1e9bc9bf65cb589eee"> 87</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#af513fcb34dd2aa1e9bc9bf65cb589eee">WRITE_VDP_DATA</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> data) __z88dk_fastcall __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="sms_8h.html#a498b148efd22ab8ad9b844b2dc5e5bb8"> 86</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a498b148efd22ab8ad9b844b2dc5e5bb8">WRITE_VDP_CMD</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> cmd) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="sms_8h.html#aa2ddf9662320c4a9d00fd4a94d347570"> 87</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#aa2ddf9662320c4a9d00fd4a94d347570">WRITE_VDP_DATA</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> data) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  </div> <div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="sms_8h.html#a3ea524204d839377cf39842eec23e202"> 95</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a3ea524204d839377cf39842eec23e202">mode</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> m) <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  </div> @@ -164,7 +165,7 @@ $(document).ready(function(){initNavTree('sms_8h_source.html',''); initResizable <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  </div> <div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="sms_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280"> 125</a></span> <span class="preprocessor">#define JOY_IFLAG 0x10U</span></div> <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  </div> -<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849"> 127</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849">set_interrupts</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> flags) __z88dk_fastcall;</div> +<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="sms_8h.html#aefda0091b2934571a11e07b512735f50"> 127</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#aefda0091b2934571a11e07b512735f50">set_interrupts</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> flags) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a>;</div> <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  </div> <div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">/* Limits */</span></div> <div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="sms_8h.html#ada0cc738d27aad251151e69cb8d250e1"> 132</a></span> <span class="preprocessor">#define SCREENWIDTH DEVICE_SCREEN_PX_WIDTH</span></div> @@ -180,25 +181,25 @@ $(document).ready(function(){initNavTree('sms_8h_source.html',''); initResizable <div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="sms_8h.html#ad57f2f8c54204687f02801d8ab1bd150"> 147</a></span> <span class="preprocessor">#define MAXWNDPOSY 0x00U</span></div> <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  </div> <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  </div> -<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d"> 152</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>)(void) <a class="code" href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> +<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d"> 152</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>)(void) <a class="code" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a>;</div> <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  </div> -<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="sms_8h.html#a9eeb134cad80f309ce86ab101a9e0026"> 157</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a9eeb134cad80f309ce86ab101a9e0026">remove_VBL</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0"> 157</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0">remove_VBL</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  </div> -<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="sms_8h.html#a0bd9fc648e26b8d494d082343f19d9ad"> 162</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a0bd9fc648e26b8d494d082343f19d9ad">remove_LCD</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="sms_8h.html#aa8962b27b960bb0c8d3bb899246c690c"> 162</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#aa8962b27b960bb0c8d3bb899246c690c">remove_LCD</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  </div> -<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="sms_8h.html#afe6f5ff8fbb632868cb41f2a4c5995ae"> 164</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#afe6f5ff8fbb632868cb41f2a4c5995ae">remove_TIM</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall;</div> -<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="sms_8h.html#ab052e48d56856c376379c3a9cc686c76"> 165</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#ab052e48d56856c376379c3a9cc686c76">remove_SIO</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall;</div> -<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="sms_8h.html#a10fc1ec5a17a7d25d95241db0f458eb9"> 166</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a10fc1ec5a17a7d25d95241db0f458eb9">remove_JOY</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall;</div> +<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="sms_8h.html#a98785a1b0ddc91cd8e8c8fab8de1de20"> 164</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a98785a1b0ddc91cd8e8c8fab8de1de20">remove_TIM</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a>;</div> +<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="sms_8h.html#a98de9141f407585801fcbf55bf6dcc4c"> 165</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a98de9141f407585801fcbf55bf6dcc4c">remove_SIO</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a>;</div> +<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="sms_8h.html#a35a3ff12ab34534b763517576afe38a6"> 166</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a35a3ff12ab34534b763517576afe38a6">remove_JOY</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a>;</div> <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  </div> -<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6"> 170</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6">add_VBL</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall __preserves_regs(<a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e"> 170</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">add_VBL</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  </div> -<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="sms_8h.html#a99f5c1698cb6d3715690481d4e4b6da1"> 174</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a99f5c1698cb6d3715690481d4e4b6da1">add_LCD</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="sms_8h.html#a51add93356a25c71e8c37a73c9065c9d"> 174</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a51add93356a25c71e8c37a73c9065c9d">add_LCD</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  </div> -<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="sms_8h.html#a17416b1bb39989e82948e3a97f23187f"> 178</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a17416b1bb39989e82948e3a97f23187f">add_TIM</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall;</div> +<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="sms_8h.html#a6c66a583a8f0744e3985c89725e3dc10"> 178</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a6c66a583a8f0744e3985c89725e3dc10">add_TIM</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a>;</div> <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  </div> -<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="sms_8h.html#adcbf35ca19c093d4565729fa7e868f5c"> 182</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#adcbf35ca19c093d4565729fa7e868f5c">add_SIO</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall;</div> +<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="sms_8h.html#a3372d61a07e0466bdb909a27f3aaaca9"> 182</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a3372d61a07e0466bdb909a27f3aaaca9">add_SIO</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a>;</div> <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  </div> -<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="sms_8h.html#a049c5d8c901a23cccf95b02a911f9212"> 186</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a049c5d8c901a23cccf95b02a911f9212">add_JOY</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) __z88dk_fastcall;</div> +<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="sms_8h.html#a48163816121cd669526817d3e6266fd9"> 186</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a48163816121cd669526817d3e6266fd9">add_JOY</a>(<a class="code" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a>;</div> <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  </div> <div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="sms_8h.html#ade5d4c955b871b0ed884273cc2b7215a"> 190</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#ade5d4c955b871b0ed884273cc2b7215a">cancel_pending_interrupts</a>() {</div> <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">return</span> VDP_STATUS;</div> @@ -215,7 +216,7 @@ $(document).ready(function(){initNavTree('sms_8h_source.html',''); initResizable <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <a class="code" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="code" href="sms_2hardware_8h.html#a3cce162b45d638126c478c5b6f7bcbc7">VDP_RSCY</a>, (tmp < 0) ? 224 + tmp : tmp % 224u);</div> <div class="line"><a name="l00203"></a><span class="lineno"> 203</span> }</div> <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  </div> -<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="sms_8h.html#a68346350199018249bdf8019b7131514"> 215</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a68346350199018249bdf8019b7131514">wait_vbl_done</a>() __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="sms_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="sms_8h.html#acd186eb292d441f9389e77b545a55619"> 215</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#acd186eb292d441f9389e77b545a55619">wait_vbl_done</a>() <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="sms_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  </div> <div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="sms_8h.html#a7b09691f25fddd65f12ed199b3f88ef0"> 221</a></span> inline <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a7b09691f25fddd65f12ed199b3f88ef0">display_off</a>() {</div> <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <a class="code" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="code" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>, <a class="code" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">__READ_VDP_REG</a>(<a class="code" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>) &= (~<a class="code" href="sms_2hardware_8h.html#adbfdd7c42539613c371820dffd14906f">R1_DISP_ON</a>));</div> @@ -287,14 +288,14 @@ $(document).ready(function(){initNavTree('sms_8h_source.html',''); initResizable <div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="sms_8h.html#a649d27b5587de16a66176e03a1b8ebd5"> 383</a></span> <span class="preprocessor">#define DISABLE_RAM RAM_CONTROL&=(~RAMCTL_RAM)</span></div> <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  </div> <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  </div> -<div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="sms_8h.html#aea03b5b22f0a798a7935dc7d18931924"> 390</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#aea03b5b22f0a798a7935dc7d18931924">delay</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>) __z88dk_fastcall;</div> +<div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="sms_8h.html#a217232c82eb5f99f7639b5786ce5abc6"> 390</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a217232c82eb5f99f7639b5786ce5abc6">delay</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a>;</div> <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  </div> <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  </div> -<div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="sms_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1"> 395</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad</a>() <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="sms_8h.html#a176c477d759b814664785f3a0ad5e253"> 395</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a176c477d759b814664785f3a0ad5e253">joypad</a>() <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  </div> -<div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="sms_8h.html#aec76b4ab16315eb97846be87b19fea10"> 399</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#aec76b4ab16315eb97846be87b19fea10">waitpad</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> mask) __z88dk_fastcall __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="sms_8h.html#a79b565677967da5ef9bf1a00aa6776ce"> 399</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a79b565677967da5ef9bf1a00aa6776ce">waitpad</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> mask) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  </div> -<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="sms_8h.html#a35fbfcc0bffc93a47217caff66ca36a7"> 406</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a35fbfcc0bffc93a47217caff66ca36a7">waitpadup</a>() __preserves_regs(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="sms_8h.html#a955d3733e5018f18b17a572aff45cf26"> 406</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a955d3733e5018f18b17a572aff45cf26">waitpadup</a>() <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>, <a class="code" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a>, <a class="code" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>, <a class="code" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a>, <a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  </div> <div class="line"><a name="l00413"></a><span class="lineno"> 413</span> typedef struct {</div> <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> npads;</div> @@ -306,9 +307,9 @@ $(document).ready(function(){initNavTree('sms_8h_source.html',''); initResizable <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  };</div> <div class="line"><a name="l00421"></a><span class="lineno"> 421</span> } <a class="code" href="structjoypads__t.html">joypads_t</a>;</div> <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  </div> -<div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="sms_8h.html#a294f858312544fa89bf17adbba51f145"> 431</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a294f858312544fa89bf17adbba51f145">joypad_init</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> npads, <a class="code" href="structjoypads__t.html">joypads_t</a> * joypads) __z88dk_callee;</div> +<div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862"> 431</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862">joypad_init</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> npads, <a class="code" href="structjoypads__t.html">joypads_t</a> * joypads) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a>;</div> <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  </div> -<div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="sms_8h.html#aec8e36355bb7381000606b1871db5977"> 439</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#aec8e36355bb7381000606b1871db5977">joypad_ex</a>(<a class="code" href="structjoypads__t.html">joypads_t</a> * joypads) __z88dk_fastcall __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="sms_8h.html#a1d45c65829490c5ec98362f5e60edc20"> 439</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a1d45c65829490c5ec98362f5e60edc20">joypad_ex</a>(<a class="code" href="structjoypads__t.html">joypads_t</a> * joypads) <a class="code" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  </div> <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  </div> <div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="preprocessor">#if defined(__TARGET_sms)</span></div> @@ -373,19 +374,19 @@ $(document).ready(function(){initNavTree('sms_8h_source.html',''); initResizable <div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="sms_8h.html#abd34836339579013c097ae4dea10c014"> 505</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#abd34836339579013c097ae4dea10c014">set_default_palette</a>();</div> <div class="line"><a name="l00506"></a><span class="lineno"><a class="line" href="sms_8h.html#a884a743919b234cd9c37789380784d08"> 506</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a884a743919b234cd9c37789380784d08">cpu_fast</a>() {}</div> <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  </div> -<div class="line"><a name="l00508"></a><span class="lineno"><a class="line" href="sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9"> 508</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9">set_palette_entry</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> palette, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> entry, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> rgb_data) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00508"></a><span class="lineno"><a class="line" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164"> 508</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">set_palette_entry</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> palette, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> entry, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> rgb_data) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00509"></a><span class="lineno"><a class="line" href="sms_8h.html#a2215732f2ba2ec6406b65d3cca56a200"> 509</a></span> <span class="preprocessor">#define set_bkg_palette_entry set_palette_entry</span></div> <div class="line"><a name="l00510"></a><span class="lineno"><a class="line" href="sms_8h.html#a8b5c17235a3f65af70492e109a25f237"> 510</a></span> <span class="preprocessor">#define set_sprite_palette_entry(palette,entry,rgb_data) set_palette_entry(1,entry,rgb_data)</span></div> -<div class="line"><a name="l00511"></a><span class="lineno"><a class="line" href="sms_8h.html#a8668e421743bcba26411acaabe1af82d"> 511</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a8668e421743bcba26411acaabe1af82d">set_palette</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_palette, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_palettes, <a class="code" href="cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495">palette_color_t</a> *rgb_data) __z88dk_callee;</div> +<div class="line"><a name="l00511"></a><span class="lineno"><a class="line" href="sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e"> 511</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e">set_palette</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_palette, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_palettes, <a class="code" href="cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495">palette_color_t</a> *rgb_data) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a>;</div> <div class="line"><a name="l00512"></a><span class="lineno"><a class="line" href="sms_8h.html#a9f879bd31899f7989f887b6238de24e3"> 512</a></span> <span class="preprocessor">#define set_bkg_palette set_palette</span></div> <div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="sms_8h.html#a7d5ed1aed79d8fd2894893d7f6f9b835"> 513</a></span> <span class="preprocessor">#define set_sprite_palette(first_palette,nb_palettes,rgb_data) set_palette(1,1,rgb_data)</span></div> <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  </div> -<div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="sms_8h.html#a5e48fbbda171d4c466e1d0d96fa73b50"> 515</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a5e48fbbda171d4c466e1d0d96fa73b50">set_native_tile_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>,<a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="sms_8h.html#a24764a152441b966ea04a83278c73207"> 515</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a24764a152441b966ea04a83278c73207">set_native_tile_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="sms_8h.html#aeff13dca11be49e8c159820c616016ec"> 516</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#aeff13dca11be49e8c159820c616016ec">set_bkg_4bpp_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div> -<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <a class="code" href="sms_8h.html#a5e48fbbda171d4c466e1d0d96fa73b50">set_native_tile_data</a>(start, ntiles, src);</div> +<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <a class="code" href="sms_8h.html#a24764a152441b966ea04a83278c73207">set_native_tile_data</a>(start, ntiles, src);</div> <div class="line"><a name="l00518"></a><span class="lineno"> 518</span> }</div> <div class="line"><a name="l00519"></a><span class="lineno"><a class="line" href="sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432"> 519</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432">set_sprite_4bpp_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div> -<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <a class="code" href="sms_8h.html#a5e48fbbda171d4c466e1d0d96fa73b50">set_native_tile_data</a>((<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(start) + 0x100u, ntiles, src);</div> +<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <a class="code" href="sms_8h.html#a24764a152441b966ea04a83278c73207">set_native_tile_data</a>((<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(start) + 0x100u, ntiles, src);</div> <div class="line"><a name="l00521"></a><span class="lineno"> 521</span> }</div> <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  </div> <div class="line"><a name="l00523"></a><span class="lineno"><a class="line" href="sms_8h.html#a67f80e65620470b55a4950e2966eb868"> 523</a></span> <span class="preprocessor">#define COMPAT_PALETTE(C0,C1,C2,C3) (((uint16_t)(C3) << 12) | ((uint16_t)(C2) << 8) | ((uint16_t)(C1) << 4) | (uint16_t)(C0))</span></div> @@ -393,221 +394,254 @@ $(document).ready(function(){initNavTree('sms_8h_source.html',''); initResizable <div class="line"><a name="l00525"></a><span class="lineno"><a class="line" href="sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84"> 525</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> palette) {</div> <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <a class="code" href="sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f">_current_2bpp_palette</a> = palette;</div> <div class="line"><a name="l00527"></a><span class="lineno"> 527</span> }</div> -<div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979"> 528</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979">set_tile_2bpp_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> palette) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>,<a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8"> 528</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8">set_tile_2bpp_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> palette) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="sms_8h.html#a8130306da1177f4fef89e699f8e2add4"> 529</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a8130306da1177f4fef89e699f8e2add4">set_bkg_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div> -<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <a class="code" href="sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979">set_tile_2bpp_data</a>(start, ntiles, src, <a class="code" href="sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f">_current_2bpp_palette</a>);</div> +<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <a class="code" href="sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8">set_tile_2bpp_data</a>(start, ntiles, src, <a class="code" href="sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f">_current_2bpp_palette</a>);</div> <div class="line"><a name="l00531"></a><span class="lineno"> 531</span> }</div> <div class="line"><a name="l00532"></a><span class="lineno"><a class="line" href="sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39"> 532</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39">set_sprite_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div> -<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <a class="code" href="sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979">set_tile_2bpp_data</a>((<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(start) + 0x100u, ntiles, src, <a class="code" href="sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f">_current_2bpp_palette</a>);</div> +<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <a class="code" href="sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8">set_tile_2bpp_data</a>((<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(start) + 0x100u, ntiles, src, <a class="code" href="sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f">_current_2bpp_palette</a>);</div> <div class="line"><a name="l00534"></a><span class="lineno"> 534</span> }</div> <div class="line"><a name="l00535"></a><span class="lineno"><a class="line" href="sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023"> 535</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023">set_bkg_2bpp_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div> -<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <a class="code" href="sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979">set_tile_2bpp_data</a>(start, ntiles, src, <a class="code" href="sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f">_current_2bpp_palette</a>);</div> +<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <a class="code" href="sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8">set_tile_2bpp_data</a>(start, ntiles, src, <a class="code" href="sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f">_current_2bpp_palette</a>);</div> <div class="line"><a name="l00537"></a><span class="lineno"> 537</span> }</div> <div class="line"><a name="l00538"></a><span class="lineno"><a class="line" href="sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a"> 538</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a">set_sprite_2bpp_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div> -<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <a class="code" href="sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979">set_tile_2bpp_data</a>((<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(start) + 0x100u, ntiles, src, <a class="code" href="sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f">_current_2bpp_palette</a>);</div> +<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <a class="code" href="sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8">set_tile_2bpp_data</a>((<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(start) + 0x100u, ntiles, src, <a class="code" href="sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f">_current_2bpp_palette</a>);</div> <div class="line"><a name="l00540"></a><span class="lineno"> 540</span> }</div> <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  </div> <div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="sms_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a>;</div> <div class="line"><a name="l00543"></a><span class="lineno"><a class="line" href="sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad"> 543</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad">set_1bpp_colors</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> fgcolor, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> bgcolor) {</div> <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <a class="code" href="sms_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a> = ((<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)bgcolor << 8) | fgcolor;</div> <div class="line"><a name="l00545"></a><span class="lineno"> 545</span> }</div> -<div class="line"><a name="l00546"></a><span class="lineno"><a class="line" href="sms_8h.html#a6afae83728b6651075f0af9d55d4b9e0"> 546</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a6afae83728b6651075f0af9d55d4b9e0">set_tile_1bpp_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> colors) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>,<a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00546"></a><span class="lineno"><a class="line" href="sms_8h.html#a747033606e041b45ae09b38fdb06b871"> 546</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a747033606e041b45ae09b38fdb06b871">set_tile_1bpp_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> colors) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00547"></a><span class="lineno"><a class="line" href="sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04"> 547</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04">set_bkg_1bpp_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div> -<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <a class="code" href="sms_8h.html#a6afae83728b6651075f0af9d55d4b9e0">set_tile_1bpp_data</a>(start, ntiles, src, <a class="code" href="sms_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a>);</div> +<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <a class="code" href="sms_8h.html#a747033606e041b45ae09b38fdb06b871">set_tile_1bpp_data</a>(start, ntiles, src, <a class="code" href="sms_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a>);</div> <div class="line"><a name="l00549"></a><span class="lineno"> 549</span> }</div> <div class="line"><a name="l00550"></a><span class="lineno"><a class="line" href="sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97"> 550</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97">set_sprite_1bpp_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, <span class="keyword">const</span> <span class="keywordtype">void</span> *src) {</div> -<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <a class="code" href="sms_8h.html#a6afae83728b6651075f0af9d55d4b9e0">set_tile_1bpp_data</a>((<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(start) + 0x100u, ntiles, src, <a class="code" href="sms_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a>);</div> +<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <a class="code" href="sms_8h.html#a747033606e041b45ae09b38fdb06b871">set_tile_1bpp_data</a>((<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)(start) + 0x100u, ntiles, src, <a class="code" href="sms_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a>);</div> <div class="line"><a name="l00552"></a><span class="lineno"> 552</span> }</div> <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  </div> <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  </div> -<div class="line"><a name="l00563"></a><span class="lineno"><a class="line" href="sms_8h.html#abe8c12f4c6675b2c671fe8ab32370533"> 563</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#abe8c12f4c6675b2c671fe8ab32370533">set_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> dst, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> size) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00564"></a><span class="lineno"><a class="line" href="sms_8h.html#aee5c510efbda6e44f987088aa14d3482"> 564</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#aee5c510efbda6e44f987088aa14d3482">vmemcpy</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> dst, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> size) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00563"></a><span class="lineno"><a class="line" href="sms_8h.html#a8fe17423c7ef7c44f1ccff27d3afbebc"> 563</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a8fe17423c7ef7c44f1ccff27d3afbebc">set_data</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> dst, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> size) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00564"></a><span class="lineno"><a class="line" href="sms_8h.html#a33a749b14dfbd203c460e8d7f3500636"> 564</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a33a749b14dfbd203c460e8d7f3500636">vmemcpy</a>(<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> dst, <span class="keyword">const</span> <span class="keywordtype">void</span> *src, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> size) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  </div> -<div class="line"><a name="l00566"></a><span class="lineno"><a class="line" href="sms_8h.html#ad68f2f36b41febcc5f8ca23c3e379ec8"> 566</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#ad68f2f36b41febcc5f8ca23c3e379ec8">set_tile_map</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00567"></a><span class="lineno"><a class="line" href="sms_8h.html#a6a9877d413f96540712d408d865625c9"> 567</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a6a9877d413f96540712d408d865625c9">set_tile_map_compat</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00566"></a><span class="lineno"><a class="line" href="sms_8h.html#a14fc41e69085b5aa3da2fae9a2aa3ef3"> 566</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a14fc41e69085b5aa3da2fae9a2aa3ef3">set_tile_map</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00567"></a><span class="lineno"><a class="line" href="sms_8h.html#a7c38b146f77eda84981c06c2271fe116"> 567</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a7c38b146f77eda84981c06c2271fe116">set_tile_map_compat</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> <div class="line"><a name="l00568"></a><span class="lineno"><a class="line" href="sms_8h.html#a9a732aec1b7aec7d10a9d76ca4da2064"> 568</a></span> <span class="preprocessor">#define set_bkg_tiles set_tile_map_compat</span></div> <div class="line"><a name="l00569"></a><span class="lineno"><a class="line" href="sms_8h.html#a429db030287423012f40a6dca81ae7e3"> 569</a></span> <span class="preprocessor">#define set_win_tiles set_tile_map_compat</span></div> <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  </div> -<div class="line"><a name="l00571"></a><span class="lineno"><a class="line" href="sms_8h.html#ad7bf6d9629c0ee4e83c137a297aac169"> 571</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#ad7bf6d9629c0ee4e83c137a297aac169">set_tile_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00572"></a><span class="lineno"><a class="line" href="sms_8h.html#a35261bb6911ba7a123262efc32f4955a"> 572</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a35261bb6911ba7a123262efc32f4955a">set_tile_submap_compat</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00573"></a><span class="lineno"><a class="line" href="sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298"> 573</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298">set_bkg_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w) {</div> -<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <a class="code" href="sms_8h.html#a35261bb6911ba7a123262efc32f4955a">set_tile_submap_compat</a>(x, y, w, <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, map_w, map);</div> -<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> }</div> -<div class="line"><a name="l00576"></a><span class="lineno"><a class="line" href="sms_8h.html#abb50a392ca0d0419a080413287ee5d79"> 576</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#abb50a392ca0d0419a080413287ee5d79">set_win_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w) {</div> -<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <a class="code" href="sms_8h.html#a35261bb6911ba7a123262efc32f4955a">set_tile_submap_compat</a>(x, y, w, <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, map_w, map);</div> -<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> }</div> -<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  </div> -<div class="line"><a name="l00580"></a><span class="lineno"><a class="line" href="sms_8h.html#ab380f3a45e943a45a4cd3189a99ca4df"> 580</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#ab380f3a45e943a45a4cd3189a99ca4df">fill_rect</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> tile) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00581"></a><span class="lineno"><a class="line" href="sms_8h.html#aac998cb7f78186158ced5448dcfc3503"> 581</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#aac998cb7f78186158ced5448dcfc3503">fill_rect_compat</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> tile) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00582"></a><span class="lineno"><a class="line" href="sms_8h.html#a3b7ffab8d64e2c345f03221145a935c0"> 582</a></span> <span class="preprocessor">#define fill_bkg_rect fill_rect_compat</span></div> -<div class="line"><a name="l00583"></a><span class="lineno"><a class="line" href="sms_8h.html#a5a69a3129f4faa99857a8b3d80db1d4a"> 583</a></span> <span class="preprocessor">#define fill_win_rect fill_rect_compat</span></div> -<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  </div> -<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[];</div> -<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  </div> -<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">_shadow_OAM_base</a>;</div> -<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  </div> -<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a388d1dff2698172ba8574e43f5c77c93">_shadow_OAM_OFF</a>;</div> -<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  </div> -<div class="line"><a name="l00621"></a><span class="lineno"><a class="line" href="sms_8h.html#abfd70bf31185a4900680977c9fb5a5ec"> 621</a></span> <span class="preprocessor">#define DISABLE_VBL_TRANSFER \</span></div> -<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="preprocessor"> _shadow_OAM_base = 0</span></div> -<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  </div> -<div class="line"><a name="l00626"></a><span class="lineno"><a class="line" href="sms_8h.html#a77d516c9d3f86f100eddea5e0d133a76"> 626</a></span> <span class="preprocessor">#define ENABLE_VBL_TRANSFER \</span></div> -<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="preprocessor"> _shadow_OAM_base = (uint8_t)((uint16_t)&shadow_OAM >> 8)</span></div> -<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  </div> -<div class="line"><a name="l00631"></a><span class="lineno"><a class="line" href="sms_8h.html#a8b77608c87a9aef65a03531482b2163b"> 631</a></span> <span class="preprocessor">#define MAX_HARDWARE_SPRITES 64</span></div> -<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  </div> -<div class="line"><a name="l00635"></a><span class="lineno"><a class="line" href="sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687"> 635</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">SET_SHADOW_OAM_ADDRESS</a>(<span class="keywordtype">void</span> * address) {</div> -<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <a class="code" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">_shadow_OAM_base</a> = (<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)((<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)address >> 8);</div> -<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> }</div> -<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  </div> -<div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe"> 655</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tile) {</div> -<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[0x41+(nb << 1)] = tile;</div> -<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> }</div> -<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  </div> -<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  </div> -<div class="line"><a name="l00666"></a><span class="lineno"><a class="line" href="sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a"> 666</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a">get_sprite_tile</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div> -<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">return</span> <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[0x41+(nb << 1)];</div> -<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> }</div> -<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  </div> -<div class="line"><a name="l00670"></a><span class="lineno"><a class="line" href="sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7"> 670</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7">set_sprite_prop</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> prop) {</div> -<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  nb; prop;</div> -<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> }</div> -<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  </div> -<div class="line"><a name="l00674"></a><span class="lineno"><a class="line" href="sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88"> 674</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88">get_sprite_prop</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div> -<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  nb;</div> -<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  <span class="keywordflow">return</span> 0;</div> -<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> }</div> -<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  </div> -<div class="line"><a name="l00691"></a><span class="lineno"><a class="line" href="sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd"> 691</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">move_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> -<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[nb] = (y < <a class="code" href="sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c">VDP_SAT_TERM</a>) ? y : 0xC0;</div> -<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[0x40+(nb << 1)] = x;</div> -<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> }</div> -<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  </div> -<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  </div> -<div class="line"><a name="l00707"></a><span class="lineno"><a class="line" href="sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe"> 707</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe">scroll_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> x, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> y) {</div> -<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> new_y = <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[nb] + y;</div> -<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[nb] = (new_y < <a class="code" href="sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c">VDP_SAT_TERM</a>) ? new_y : 0xC0;</div> -<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[0x40+(nb << 1)] = x;</div> -<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> }</div> -<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  </div> -<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  </div> -<div class="line"><a name="l00718"></a><span class="lineno"><a class="line" href="sms_8h.html#ad22c51635d052399bbbe1777999c794d"> 718</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div> -<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[nb] = 0xC0;</div> -<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> }</div> -<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  </div> -<div class="line"><a name="l00728"></a><span class="lineno"><a class="line" href="sms_8h.html#a18ce02bf91fd93098176b5bcc94cdf4a"> 728</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a18ce02bf91fd93098176b5bcc94cdf4a">set_vram_byte</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * addr, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> v) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  </div> -<div class="line"><a name="l00737"></a><span class="lineno"><a class="line" href="sms_8h.html#a968487c6f70c9e15de7af0efc0de0548"> 737</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="sms_8h.html#a968487c6f70c9e15de7af0efc0de0548">set_attributed_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> t) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  </div> -<div class="line"><a name="l00746"></a><span class="lineno"><a class="line" href="sms_8h.html#a256029356b8bc719e42ffafba844290f"> 746</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="sms_8h.html#a256029356b8bc719e42ffafba844290f">set_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00747"></a><span class="lineno"><a class="line" href="sms_8h.html#adcd40a58f7c7d348d506cc400cd94739"> 747</a></span> <span class="preprocessor">#define set_bkg_tile_xy set_tile_xy</span></div> -<div class="line"><a name="l00748"></a><span class="lineno"><a class="line" href="sms_8h.html#a95d929d964d9988f4dc5a25ed399ae08"> 748</a></span> <span class="preprocessor">#define set_win_tile_xy set_tile_xy</span></div> -<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  </div> -<div class="line"><a name="l00753"></a><span class="lineno"><a class="line" href="sms_8h.html#af83d7fd4e4044ac6677f046f679bd7a9"> 753</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="sms_8h.html#af83d7fd4e4044ac6677f046f679bd7a9">get_bkg_xy_addr</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) __z88dk_callee __preserves_regs(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> -<div class="line"><a name="l00754"></a><span class="lineno"><a class="line" href="sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412"> 754</a></span> <span class="preprocessor">#define get_win_xy_addr get_bkg_xy_addr</span></div> -<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  </div> -<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="preprocessor">#endif </span><span class="comment">/* _SMS_H */</span><span class="preprocessor"></span></div> +<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a>;</div> +<div class="line"><a name="l00572"></a><span class="lineno"><a class="line" href="sms_8h.html#a811c386cac0df2d260aacb5a43608be5"> 572</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a811c386cac0df2d260aacb5a43608be5">set_bkg_based_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile) {</div> +<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <a class="code" href="sms_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = base_tile;</div> +<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <a class="code" href="sms_8h.html#a7c38b146f77eda84981c06c2271fe116">set_tile_map_compat</a>(x, y, w, <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, tiles);</div> +<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <a class="code" href="sms_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = 0;</div> +<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> }</div> +<div class="line"><a name="l00577"></a><span class="lineno"><a class="line" href="sms_8h.html#a739a212609ae60c9c56c095f96b4ea80"> 577</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a739a212609ae60c9c56c095f96b4ea80">set_win_based_tiles</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile) {</div> +<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <a class="code" href="sms_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = base_tile;</div> +<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <a class="code" href="sms_8h.html#a7c38b146f77eda84981c06c2271fe116">set_tile_map_compat</a>(x, y, w, <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, tiles);</div> +<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <a class="code" href="sms_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a> = 0;</div> +<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> }</div> +<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  </div> +<div class="line"><a name="l00583"></a><span class="lineno"><a class="line" href="sms_8h.html#a84774e034fe0e70af62bd17ac716ba34"> 583</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a84774e034fe0e70af62bd17ac716ba34">set_tile_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00584"></a><span class="lineno"><a class="line" href="sms_8h.html#aba0308b5e8e154cc920f041a185ac770"> 584</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#aba0308b5e8e154cc920f041a185ac770">set_tile_submap_compat</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298"> 585</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298">set_bkg_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w) {</div> +<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <a class="code" href="sms_8h.html#aba0308b5e8e154cc920f041a185ac770">set_tile_submap_compat</a>(x, y, w, <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, map_w, map);</div> +<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> }</div> +<div class="line"><a name="l00588"></a><span class="lineno"><a class="line" href="sms_8h.html#abb50a392ca0d0419a080413287ee5d79"> 588</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#abb50a392ca0d0419a080413287ee5d79">set_win_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w) {</div> +<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <a class="code" href="sms_8h.html#aba0308b5e8e154cc920f041a185ac770">set_tile_submap_compat</a>(x, y, w, <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, map_w, map);</div> +<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> }</div> +<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  </div> +<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="keyword">extern</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a>;</div> +<div class="line"><a name="l00593"></a><span class="lineno"><a class="line" href="sms_8h.html#abc8bc5808620a9717263b8c9ec2237f0"> 593</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#abc8bc5808620a9717263b8c9ec2237f0">set_bkg_based_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile) {</div> +<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <a class="code" href="sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = base_tile;</div> +<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <a class="code" href="sms_8h.html#aba0308b5e8e154cc920f041a185ac770">set_tile_submap_compat</a>(x, y, w, <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, map_w, map);</div> +<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <a class="code" href="sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = 0;</div> +<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> }</div> +<div class="line"><a name="l00598"></a><span class="lineno"><a class="line" href="sms_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0"> 598</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">set_win_based_submap</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile) {</div> +<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <a class="code" href="sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = base_tile;</div> +<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <a class="code" href="sms_8h.html#aba0308b5e8e154cc920f041a185ac770">set_tile_submap_compat</a>(x, y, w, <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, map_w, map);</div> +<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <a class="code" href="sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a> = 0;</div> +<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> }</div> +<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  </div> +<div class="line"><a name="l00604"></a><span class="lineno"><a class="line" href="sms_8h.html#aba932d128338fb19644842565139a20d"> 604</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#aba932d128338fb19644842565139a20d">fill_rect</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> tile) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00605"></a><span class="lineno"><a class="line" href="sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8"> 605</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8">fill_rect_compat</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a>, <span class="keyword">const</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> tile) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00606"></a><span class="lineno"><a class="line" href="sms_8h.html#a3b7ffab8d64e2c345f03221145a935c0"> 606</a></span> <span class="preprocessor">#define fill_bkg_rect fill_rect_compat</span></div> +<div class="line"><a name="l00607"></a><span class="lineno"><a class="line" href="sms_8h.html#a5a69a3129f4faa99857a8b3d80db1d4a"> 607</a></span> <span class="preprocessor">#define fill_win_rect fill_rect_compat</span></div> +<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  </div> +<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[];</div> +<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  </div> +<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">_shadow_OAM_base</a>;</div> +<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  </div> +<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="keyword">extern</span> <span class="keyword">volatile</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a388d1dff2698172ba8574e43f5c77c93">_shadow_OAM_OFF</a>;</div> +<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  </div> +<div class="line"><a name="l00645"></a><span class="lineno"><a class="line" href="sms_8h.html#abfd70bf31185a4900680977c9fb5a5ec"> 645</a></span> <span class="preprocessor">#define DISABLE_VBL_TRANSFER \</span></div> +<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="preprocessor"> _shadow_OAM_base = 0</span></div> +<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  </div> +<div class="line"><a name="l00650"></a><span class="lineno"><a class="line" href="sms_8h.html#a77d516c9d3f86f100eddea5e0d133a76"> 650</a></span> <span class="preprocessor">#define ENABLE_VBL_TRANSFER \</span></div> +<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="preprocessor"> _shadow_OAM_base = (uint8_t)((uint16_t)&shadow_OAM >> 8)</span></div> +<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  </div> +<div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="sms_8h.html#a8b77608c87a9aef65a03531482b2163b"> 655</a></span> <span class="preprocessor">#define MAX_HARDWARE_SPRITES 64</span></div> +<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  </div> +<div class="line"><a name="l00659"></a><span class="lineno"><a class="line" href="sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687"> 659</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">SET_SHADOW_OAM_ADDRESS</a>(<span class="keywordtype">void</span> * address) {</div> +<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <a class="code" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">_shadow_OAM_base</a> = (<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)((<a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)address >> 8);</div> +<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> }</div> +<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  </div> +<div class="line"><a name="l00679"></a><span class="lineno"><a class="line" href="sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe"> 679</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tile) {</div> +<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[0x41+(nb << 1)] = tile;</div> +<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> }</div> +<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  </div> +<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  </div> +<div class="line"><a name="l00690"></a><span class="lineno"><a class="line" href="sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a"> 690</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a">get_sprite_tile</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div> +<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  <span class="keywordflow">return</span> <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[0x41+(nb << 1)];</div> +<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> }</div> +<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  </div> +<div class="line"><a name="l00694"></a><span class="lineno"><a class="line" href="sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7"> 694</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7">set_sprite_prop</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> prop) {</div> +<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  nb; prop;</div> +<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> }</div> +<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  </div> +<div class="line"><a name="l00698"></a><span class="lineno"><a class="line" href="sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88"> 698</a></span> <span class="keyword">inline</span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88">get_sprite_prop</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div> +<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  nb;</div> +<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> }</div> +<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  </div> +<div class="line"><a name="l00715"></a><span class="lineno"><a class="line" href="sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd"> 715</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">move_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) {</div> +<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[nb] = (y < <a class="code" href="sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c">VDP_SAT_TERM</a>) ? y : 0xC0;</div> +<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[0x40+(nb << 1)] = x;</div> +<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> }</div> +<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  </div> +<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  </div> +<div class="line"><a name="l00731"></a><span class="lineno"><a class="line" href="sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe"> 731</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe">scroll_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> x, <a class="code" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> y) {</div> +<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> new_y = <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[nb] + y;</div> +<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[nb] = (new_y < <a class="code" href="sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c">VDP_SAT_TERM</a>) ? new_y : 0xC0;</div> +<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[0x40+(nb << 1)] = x;</div> +<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> }</div> +<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  </div> +<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  </div> +<div class="line"><a name="l00742"></a><span class="lineno"><a class="line" href="sms_8h.html#ad22c51635d052399bbbe1777999c794d"> 742</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb) {</div> +<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <a class="code" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a>[nb] = 0xC0;</div> +<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> }</div> +<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  </div> +<div class="line"><a name="l00752"></a><span class="lineno"><a class="line" href="sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89"> 752</a></span> <span class="keywordtype">void</span> <a class="code" href="sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89">set_vram_byte</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * addr, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> v) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  </div> +<div class="line"><a name="l00761"></a><span class="lineno"><a class="line" href="sms_8h.html#a476f433ea736a1dd610490238f2a6250"> 761</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="sms_8h.html#a476f433ea736a1dd610490238f2a6250">set_attributed_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> t) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  </div> +<div class="line"><a name="l00770"></a><span class="lineno"><a class="line" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7"> 770</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">set_tile_xy</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00771"></a><span class="lineno"><a class="line" href="sms_8h.html#adcd40a58f7c7d348d506cc400cd94739"> 771</a></span> <span class="preprocessor">#define set_bkg_tile_xy set_tile_xy</span></div> +<div class="line"><a name="l00772"></a><span class="lineno"><a class="line" href="sms_8h.html#a95d929d964d9988f4dc5a25ed399ae08"> 772</a></span> <span class="preprocessor">#define set_win_tile_xy set_tile_xy</span></div> +<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  </div> +<div class="line"><a name="l00777"></a><span class="lineno"><a class="line" href="sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63"> 777</a></span> <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * <a class="code" href="sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63">get_bkg_xy_addr</a>(<a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="code" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="code" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="code" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="code" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a>, <a class="code" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a>);</div> +<div class="line"><a name="l00778"></a><span class="lineno"><a class="line" href="sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412"> 778</a></span> <span class="preprocessor">#define get_win_xy_addr get_bkg_xy_addr</span></div> +<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  </div> +<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="preprocessor">#endif </span><span class="comment">/* _SMS_H */</span><span class="preprocessor"></span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> +<div class="ttc" id="asms_8h_html_a8fe17423c7ef7c44f1ccff27d3afbebc"><div class="ttname"><a href="sms_8h.html#a8fe17423c7ef7c44f1ccff27d3afbebc">set_data</a></div><div class="ttdeci">void set_data(uint16_t dst, const void *src, uint16_t size) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> <div class="ttc" id="asms_8h_html_a10ee2919fcab7a5c482816ed718d1c4a"><div class="ttname"><a href="sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a">set_sprite_2bpp_data</a></div><div class="ttdeci">void set_sprite_2bpp_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:538</div></div> +<div class="ttc" id="asms_8h_html_a811c386cac0df2d260aacb5a43608be5"><div class="ttname"><a href="sms_8h.html#a811c386cac0df2d260aacb5a43608be5">set_bkg_based_tiles</a></div><div class="ttdeci">void set_bkg_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> sms.h:572</div></div> <div class="ttc" id="astdint_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:51</div></div> <div class="ttc" id="asms_8h_html_aa7ba76e4d44dbf19da351fd1ea8e3023"><div class="ttname"><a href="sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023">set_bkg_2bpp_data</a></div><div class="ttdeci">void set_bkg_2bpp_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:535</div></div> <div class="ttc" id="astdint_8h_html_aef44329758059c91c76d334e8fc09700"><div class="ttname"><a href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a></div><div class="ttdeci">signed char int8_t</div><div class="ttdef"><b>Definition:</b> stdint.h:43</div></div> +<div class="ttc" id="asms_8h_html_a51add93356a25c71e8c37a73c9065c9d"><div class="ttname"><a href="sms_8h.html#a51add93356a25c71e8c37a73c9065c9d">add_LCD</a></div><div class="ttdeci">void add_LCD(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="asms_8h_html_a6c66a583a8f0744e3985c89725e3dc10"><div class="ttname"><a href="sms_8h.html#a6c66a583a8f0744e3985c89725e3dc10">add_TIM</a></div><div class="ttdeci">void add_TIM(int_handler h) Z88DK_FASTCALL</div></div> +<div class="ttc" id="asms_8h_html_a14fc41e69085b5aa3da2fae9a2aa3ef3"><div class="ttname"><a href="sms_8h.html#a14fc41e69085b5aa3da2fae9a2aa3ef3">set_tile_map</a></div><div class="ttdeci">void set_tile_map(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> <div class="ttc" id="asms_8h_html_aeff13dca11be49e8c159820c616016ec"><div class="ttname"><a href="sms_8h.html#aeff13dca11be49e8c159820c616016ec">set_bkg_4bpp_data</a></div><div class="ttdeci">void set_bkg_4bpp_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:516</div></div> -<div class="ttc" id="asms_8h_html_a46aa5fa208d6a58fe07a170db49a8849"><div class="ttname"><a href="sms_8h.html#a46aa5fa208d6a58fe07a170db49a8849">set_interrupts</a></div><div class="ttdeci">void set_interrupts(uint8_t flags) __z88dk_fastcall</div></div> -<div class="ttc" id="astructjoypads__t_html"><div class="ttname"><a href="structjoypads__t.html">joypads_t</a></div><div class="ttdef"><b>Definition:</b> gb.h:592</div></div> +<div class="ttc" id="astructjoypads__t_html"><div class="ttname"><a href="structjoypads__t.html">joypads_t</a></div><div class="ttdef"><b>Definition:</b> gb.h:615</div></div> <div class="ttc" id="asms_8h_html_a7b09691f25fddd65f12ed199b3f88ef0"><div class="ttname"><a href="sms_8h.html#a7b09691f25fddd65f12ed199b3f88ef0">display_off</a></div><div class="ttdeci">void display_off()</div><div class="ttdef"><b>Definition:</b> sms.h:221</div></div> -<div class="ttc" id="asms_8h_html_a05bf0b9f1328de7b568a19a2a428bcfe"><div class="ttname"><a href="sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a></div><div class="ttdeci">void set_sprite_tile(uint8_t nb, uint8_t tile)</div><div class="ttdef"><b>Definition:</b> sms.h:655</div></div> +<div class="ttc" id="asms_8h_html_a955d3733e5018f18b17a572aff45cf26"><div class="ttname"><a href="sms_8h.html#a955d3733e5018f18b17a572aff45cf26">waitpadup</a></div><div class="ttdeci">void waitpadup() PRESERVES_REGS(b</div></div> +<div class="ttc" id="asms_8h_html_a05bf0b9f1328de7b568a19a2a428bcfe"><div class="ttname"><a href="sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a></div><div class="ttdeci">void set_sprite_tile(uint8_t nb, uint8_t tile)</div><div class="ttdef"><b>Definition:</b> sms.h:679</div></div> <div class="ttc" id="asms_8h_html_a0a3d95ad0ab8ad213016101d2e9c3d3e"><div class="ttname"><a href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a></div><div class="ttdeci">void d</div><div class="ttdef"><b>Definition:</b> sms.h:86</div></div> <div class="ttc" id="asms_2hardware_8h_html"><div class="ttname"><a href="sms_2hardware_8h.html">hardware.h</a></div></div> -<div class="ttc" id="asms_8h_html_ad22c51635d052399bbbe1777999c794d"><div class="ttname"><a href="sms_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a></div><div class="ttdeci">void hide_sprite(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> sms.h:718</div></div> -<div class="ttc" id="asms_8h_html_ab052e48d56856c376379c3a9cc686c76"><div class="ttname"><a href="sms_8h.html#ab052e48d56856c376379c3a9cc686c76">remove_SIO</a></div><div class="ttdeci">void remove_SIO(int_handler h) __z88dk_fastcall</div></div> -<div class="ttc" id="asms_8h_html_a1828aeec4b83ef499e18ca1a5ad3b6a6"><div class="ttname"><a href="sms_8h.html#a1828aeec4b83ef499e18ca1a5ad3b6a6">add_VBL</a></div><div class="ttdeci">void add_VBL(int_handler h) __z88dk_fastcall __preserves_regs(d</div></div> -<div class="ttc" id="asms_8h_html_a15f46ef3d3443b452db0c38fc33bcfc1"><div class="ttname"><a href="sms_8h.html#a15f46ef3d3443b452db0c38fc33bcfc1">joypad</a></div><div class="ttdeci">uint8_t joypad() OLDCALL __preserves_regs(b</div></div> +<div class="ttc" id="asms_8h_html_ad22c51635d052399bbbe1777999c794d"><div class="ttname"><a href="sms_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a></div><div class="ttdeci">void hide_sprite(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> sms.h:742</div></div> +<div class="ttc" id="asms_8h_html_a35a3ff12ab34534b763517576afe38a6"><div class="ttname"><a href="sms_8h.html#a35a3ff12ab34534b763517576afe38a6">remove_JOY</a></div><div class="ttdeci">void remove_JOY(int_handler h) Z88DK_FASTCALL</div></div> +<div class="ttc" id="asms_8h_html_ab472d9bbb1bcfd141374f5babc71934c"><div class="ttname"><a href="sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a></div><div class="ttdeci">uint8_t _submap_tile_offset</div></div> +<div class="ttc" id="asms_8h_html_a739a212609ae60c9c56c095f96b4ea80"><div class="ttname"><a href="sms_8h.html#a739a212609ae60c9c56c095f96b4ea80">set_win_based_tiles</a></div><div class="ttdeci">void set_win_based_tiles(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> sms.h:577</div></div> <div class="ttc" id="asms_8h_html_a4d5f74eed0489ebfdc2410ee3f9f7f04"><div class="ttname"><a href="sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04">set_bkg_1bpp_data</a></div><div class="ttdeci">void set_bkg_1bpp_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:547</div></div> -<div class="ttc" id="asms_8h_html_aec8e36355bb7381000606b1871db5977"><div class="ttname"><a href="sms_8h.html#aec8e36355bb7381000606b1871db5977">joypad_ex</a></div><div class="ttdeci">void joypad_ex(joypads_t *joypads) __z88dk_fastcall __preserves_regs(iyh</div></div> -<div class="ttc" id="asms_2hardware_8h_html_a413fdabdacfcda90cc73a04311a2ec6d"><div class="ttname"><a href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a></div><div class="ttdeci">#define VDP_R1</div><div class="ttdef"><b>Definition:</b> hardware.h:63</div></div> -<div class="ttc" id="asms_8h_html_a6a9877d413f96540712d408d865625c9"><div class="ttname"><a href="sms_8h.html#a6a9877d413f96540712d408d865625c9">set_tile_map_compat</a></div><div class="ttdeci">void set_tile_map_compat(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) __z88dk_callee __preserves_regs(iyh</div></div> -<div class="ttc" id="asms_8h_html_abb50a392ca0d0419a080413287ee5d79"><div class="ttname"><a href="sms_8h.html#abb50a392ca0d0419a080413287ee5d79">set_win_submap</a></div><div class="ttdeci">void set_win_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w)</div><div class="ttdef"><b>Definition:</b> sms.h:576</div></div> +<div class="ttc" id="asms_2hardware_8h_html_a413fdabdacfcda90cc73a04311a2ec6d"><div class="ttname"><a href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a></div><div class="ttdeci">#define VDP_R1</div><div class="ttdef"><b>Definition:</b> hardware.h:74</div></div> +<div class="ttc" id="asms_8h_html_abb50a392ca0d0419a080413287ee5d79"><div class="ttname"><a href="sms_8h.html#abb50a392ca0d0419a080413287ee5d79">set_win_submap</a></div><div class="ttdeci">void set_win_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w)</div><div class="ttdef"><b>Definition:</b> sms.h:588</div></div> <div class="ttc" id="asms_8h_html_a78d2fd18666afec116f176d46debb4e7"><div class="ttname"><a href="sms_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a></div><div class="ttdeci">volatile uint16_t sys_time</div></div> -<div class="ttc" id="asms_8h_html_a968487c6f70c9e15de7af0efc0de0548"><div class="ttname"><a href="sms_8h.html#a968487c6f70c9e15de7af0efc0de0548">set_attributed_tile_xy</a></div><div class="ttdeci">uint8_t * set_attributed_tile_xy(uint8_t x, uint8_t y, uint16_t t) __z88dk_callee __preserves_regs(iyh</div></div> -<div class="ttc" id="asms_8h_html_a0cfd261bc7a94b1f6093f423bad30298"><div class="ttname"><a href="sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298">set_bkg_submap</a></div><div class="ttdeci">void set_bkg_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w)</div><div class="ttdef"><b>Definition:</b> sms.h:573</div></div> +<div class="ttc" id="asms_8h_html_a0cfd261bc7a94b1f6093f423bad30298"><div class="ttname"><a href="sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298">set_bkg_submap</a></div><div class="ttdeci">void set_bkg_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w)</div><div class="ttdef"><b>Definition:</b> sms.h:585</div></div> <div class="ttc" id="asms_8h_html_af79b920bcb642bba2e652874c4f7eeff"><div class="ttname"><a href="sms_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a></div><div class="ttdeci">void l</div><div class="ttdef"><b>Definition:</b> sms.h:215</div></div> <div class="ttc" id="asms_8h_html_ade5d4c955b871b0ed884273cc2b7215a"><div class="ttname"><a href="sms_8h.html#ade5d4c955b871b0ed884273cc2b7215a">cancel_pending_interrupts</a></div><div class="ttdeci">uint8_t cancel_pending_interrupts()</div><div class="ttdef"><b>Definition:</b> sms.h:190</div></div> -<div class="ttc" id="asms_8h_html_aec76b4ab16315eb97846be87b19fea10"><div class="ttname"><a href="sms_8h.html#aec76b4ab16315eb97846be87b19fea10">waitpad</a></div><div class="ttdeci">uint8_t waitpad(uint8_t mask) __z88dk_fastcall __preserves_regs(b</div></div> +<div class="ttc" id="asms_8h_html_a79b565677967da5ef9bf1a00aa6776ce"><div class="ttname"><a href="sms_8h.html#a79b565677967da5ef9bf1a00aa6776ce">waitpad</a></div><div class="ttdeci">uint8_t waitpad(uint8_t mask) Z88DK_FASTCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="asms_8h_html_a1b8a1026983cb2b2c0bd46334b4692a0"><div class="ttname"><a href="sms_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">set_win_based_submap</a></div><div class="ttdeci">void set_win_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> sms.h:598</div></div> <div class="ttc" id="astdint_8h_html_adf4d876453337156dde61095e1f20223"><div class="ttname"><a href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a></div><div class="ttdeci">unsigned short int uint16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:52</div></div> -<div class="ttc" id="asms_8h_html_a4b7af81fec48ca3bee04234b417abaa6"><div class="ttname"><a href="sms_8h.html#a4b7af81fec48ca3bee04234b417abaa6">WRITE_VDP_CMD</a></div><div class="ttdeci">void WRITE_VDP_CMD(uint16_t cmd) __z88dk_fastcall __preserves_regs(b</div></div> +<div class="ttc" id="asms_8h_html_aa2ddf9662320c4a9d00fd4a94d347570"><div class="ttname"><a href="sms_8h.html#aa2ddf9662320c4a9d00fd4a94d347570">WRITE_VDP_DATA</a></div><div class="ttdeci">void WRITE_VDP_DATA(uint16_t data) Z88DK_FASTCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="asms_8h_html_ab752b1bb0f58da2a6d52e9747c4b3dd8"><div class="ttname"><a href="sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8">set_tile_2bpp_data</a></div><div class="ttdeci">void set_tile_2bpp_data(uint16_t start, uint16_t ntiles, const void *src, uint16_t palette) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> +<div class="ttc" id="asms_8h_html_afe1bc7117a68cd0939c2d03baaa06b89"><div class="ttname"><a href="sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89">set_vram_byte</a></div><div class="ttdeci">void set_vram_byte(uint8_t *addr, uint8_t v) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> <div class="ttc" id="aversion_8h_html"><div class="ttname"><a href="version_8h.html">version.h</a></div></div> <div class="ttc" id="asms_8h_html_a7542d00af674e3c58b6c9887ab01919f"><div class="ttname"><a href="sms_8h.html#a7542d00af674e3c58b6c9887ab01919f">refresh_OAM</a></div><div class="ttdeci">void refresh_OAM()</div></div> -<div class="ttc" id="asms_8h_html_abe8c12f4c6675b2c671fe8ab32370533"><div class="ttname"><a href="sms_8h.html#abe8c12f4c6675b2c671fe8ab32370533">set_data</a></div><div class="ttdeci">void set_data(uint16_t dst, const void *src, uint16_t size) __z88dk_callee __preserves_regs(iyh</div></div> -<div class="ttc" id="asms_2hardware_8h_html_adbfdd7c42539613c371820dffd14906f"><div class="ttname"><a href="sms_2hardware_8h.html#adbfdd7c42539613c371820dffd14906f">R1_DISP_ON</a></div><div class="ttdeci">#define R1_DISP_ON</div><div class="ttdef"><b>Definition:</b> hardware.h:68</div></div> -<div class="ttc" id="asms_8h_html_a30e9f94cf4e5cf198bc54ce1e0ac5979"><div class="ttname"><a href="sms_8h.html#a30e9f94cf4e5cf198bc54ce1e0ac5979">set_tile_2bpp_data</a></div><div class="ttdeci">void set_tile_2bpp_data(uint16_t start, uint16_t ntiles, const void *src, uint16_t palette) __z88dk_callee __preserves_regs(iyh</div></div> -<div class="ttc" id="asms_8h_html_af5c0beff7d7a7d8641b51fd95c811b2a"><div class="ttname"><a href="sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a">get_sprite_tile</a></div><div class="ttdeci">uint8_t get_sprite_tile(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> sms.h:666</div></div> +<div class="ttc" id="asms_8h_html_a48163816121cd669526817d3e6266fd9"><div class="ttname"><a href="sms_8h.html#a48163816121cd669526817d3e6266fd9">add_JOY</a></div><div class="ttdeci">void add_JOY(int_handler h) Z88DK_FASTCALL</div></div> +<div class="ttc" id="asms_2hardware_8h_html_adbfdd7c42539613c371820dffd14906f"><div class="ttname"><a href="sms_2hardware_8h.html#adbfdd7c42539613c371820dffd14906f">R1_DISP_ON</a></div><div class="ttdeci">#define R1_DISP_ON</div><div class="ttdef"><b>Definition:</b> hardware.h:79</div></div> +<div class="ttc" id="asms_8h_html_a5834057f6297c0fa8f8e9a6b714f1ff7"><div class="ttname"><a href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">set_tile_xy</a></div><div class="ttdeci">uint8_t * set_tile_xy(uint8_t x, uint8_t y, uint8_t t) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> +<div class="ttc" id="asms_8h_html_a66b4bfb8c1ea3005ff01ce040a778e63"><div class="ttname"><a href="sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63">get_bkg_xy_addr</a></div><div class="ttdeci">uint8_t * get_bkg_xy_addr(uint8_t x, uint8_t y) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> +<div class="ttc" id="asms_8h_html_af5c0beff7d7a7d8641b51fd95c811b2a"><div class="ttname"><a href="sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a">get_sprite_tile</a></div><div class="ttdeci">uint8_t get_sprite_tile(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> sms.h:690</div></div> +<div class="ttc" id="asms_8h_html_aba932d128338fb19644842565139a20d"><div class="ttname"><a href="sms_8h.html#aba932d128338fb19644842565139a20d">fill_rect</a></div><div class="ttdeci">void fill_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint16_t tile) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> <div class="ttc" id="asms_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">void c</div><div class="ttdef"><b>Definition:</b> sms.h:86</div></div> -<div class="ttc" id="asms_8h_html_a294f858312544fa89bf17adbba51f145"><div class="ttname"><a href="sms_8h.html#a294f858312544fa89bf17adbba51f145">joypad_init</a></div><div class="ttdeci">uint8_t joypad_init(uint8_t npads, joypads_t *joypads) __z88dk_callee</div></div> -<div class="ttc" id="asms_8h_html_aee5c510efbda6e44f987088aa14d3482"><div class="ttname"><a href="sms_8h.html#aee5c510efbda6e44f987088aa14d3482">vmemcpy</a></div><div class="ttdeci">void vmemcpy(uint16_t dst, const void *src, uint16_t size) __z88dk_callee __preserves_regs(iyh</div></div> -<div class="ttc" id="asms_8h_html_a68346350199018249bdf8019b7131514"><div class="ttname"><a href="sms_8h.html#a68346350199018249bdf8019b7131514">wait_vbl_done</a></div><div class="ttdeci">void wait_vbl_done() __preserves_regs(b</div></div> -<div class="ttc" id="asms_8h_html_ad7bf6d9629c0ee4e83c137a297aac169"><div class="ttname"><a href="sms_8h.html#ad7bf6d9629c0ee4e83c137a297aac169">set_tile_submap</a></div><div class="ttdeci">void set_tile_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t map_w, const uint8_t *map) __z88dk_callee __preserves_regs(iyh</div></div> -<div class="ttc" id="asms_8h_html_a8668e421743bcba26411acaabe1af82d"><div class="ttname"><a href="sms_8h.html#a8668e421743bcba26411acaabe1af82d">set_palette</a></div><div class="ttdeci">void set_palette(uint8_t first_palette, uint8_t nb_palettes, palette_color_t *rgb_data) __z88dk_callee</div></div> -<div class="ttc" id="asms_2hardware_8h_html_a9c49833bc96a70b8972027d28c816d2f"><div class="ttname"><a href="sms_2hardware_8h.html#a9c49833bc96a70b8972027d28c816d2f">VDP_RSCX</a></div><div class="ttdeci">#define VDP_RSCX</div><div class="ttdef"><b>Definition:</b> hardware.h:113</div></div> -<div class="ttc" id="asms_8h_html_a18ce02bf91fd93098176b5bcc94cdf4a"><div class="ttname"><a href="sms_8h.html#a18ce02bf91fd93098176b5bcc94cdf4a">set_vram_byte</a></div><div class="ttdeci">void set_vram_byte(uint8_t *addr, uint8_t v) __z88dk_callee __preserves_regs(iyh</div></div> +<div class="ttc" id="asms_8h_html_a3372d61a07e0466bdb909a27f3aaaca9"><div class="ttname"><a href="sms_8h.html#a3372d61a07e0466bdb909a27f3aaaca9">add_SIO</a></div><div class="ttdeci">void add_SIO(int_handler h) Z88DK_FASTCALL</div></div> +<div class="ttc" id="asms_8h_html_a747033606e041b45ae09b38fdb06b871"><div class="ttname"><a href="sms_8h.html#a747033606e041b45ae09b38fdb06b871">set_tile_1bpp_data</a></div><div class="ttdeci">void set_tile_1bpp_data(uint16_t start, uint16_t ntiles, const void *src, uint16_t colors) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> +<div class="ttc" id="aasm_2z80_2types_8h_html_aa19670cfef9fe1cc31f28fafb0e1000a"><div class="ttname"><a href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></div><div class="ttdeci">#define Z88DK_CALLEE</div><div class="ttdef"><b>Definition:</b> types.h:42</div></div> +<div class="ttc" id="asms_8h_html_aba0308b5e8e154cc920f041a185ac770"><div class="ttname"><a href="sms_8h.html#aba0308b5e8e154cc920f041a185ac770">set_tile_submap_compat</a></div><div class="ttdeci">void set_tile_submap_compat(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t map_w, const uint8_t *map) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> +<div class="ttc" id="asms_2hardware_8h_html_a9c49833bc96a70b8972027d28c816d2f"><div class="ttname"><a href="sms_2hardware_8h.html#a9c49833bc96a70b8972027d28c816d2f">VDP_RSCX</a></div><div class="ttdeci">#define VDP_RSCX</div><div class="ttdef"><b>Definition:</b> hardware.h:124</div></div> <div class="ttc" id="astdint_8h_html_a66634143db08bebe9b46ab4cb1fc6fd3"><div class="ttname"><a href="stdint_8h.html#a66634143db08bebe9b46ab4cb1fc6fd3">int16_t</a></div><div class="ttdeci">short int int16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:44</div></div> +<div class="ttc" id="asms_8h_html_af2fc27409f907cfae9583b5ebf0c5ea8"><div class="ttname"><a href="sms_8h.html#af2fc27409f907cfae9583b5ebf0c5ea8">fill_rect_compat</a></div><div class="ttdeci">void fill_rect_compat(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint16_t tile) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> <div class="ttc" id="asms_8h_html_a6261537edc74068e3f7f057e6a3e8a57"><div class="ttname"><a href="sms_8h.html#a6261537edc74068e3f7f057e6a3e8a57">move_bkg</a></div><div class="ttdeci">void move_bkg(uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> sms.h:194</div></div> -<div class="ttc" id="asms_8h_html_a99ea3252469e3614e977cce2aa1d06f7"><div class="ttname"><a href="sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7">set_sprite_prop</a></div><div class="ttdeci">void set_sprite_prop(uint8_t nb, uint8_t prop)</div><div class="ttdef"><b>Definition:</b> sms.h:670</div></div> -<div class="ttc" id="asms_8h_html_adcbf35ca19c093d4565729fa7e868f5c"><div class="ttname"><a href="sms_8h.html#adcbf35ca19c093d4565729fa7e868f5c">add_SIO</a></div><div class="ttdeci">void add_SIO(int_handler h) __z88dk_fastcall</div></div> -<div class="ttc" id="asms_8h_html_a0bd9fc648e26b8d494d082343f19d9ad"><div class="ttname"><a href="sms_8h.html#a0bd9fc648e26b8d494d082343f19d9ad">remove_LCD</a></div><div class="ttdeci">void remove_LCD(int_handler h) __z88dk_fastcall __preserves_regs(b</div></div> +<div class="ttc" id="asms_8h_html_a33a749b14dfbd203c460e8d7f3500636"><div class="ttname"><a href="sms_8h.html#a33a749b14dfbd203c460e8d7f3500636">vmemcpy</a></div><div class="ttdeci">void vmemcpy(uint16_t dst, const void *src, uint16_t size) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> +<div class="ttc" id="asms_8h_html_a99ea3252469e3614e977cce2aa1d06f7"><div class="ttname"><a href="sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7">set_sprite_prop</a></div><div class="ttdeci">void set_sprite_prop(uint8_t nb, uint8_t prop)</div><div class="ttdef"><b>Definition:</b> sms.h:694</div></div> +<div class="ttc" id="asms_8h_html_a92109adcc20960f26e8bc5fbb141d27e"><div class="ttname"><a href="sms_8h.html#a92109adcc20960f26e8bc5fbb141d27e">set_palette</a></div><div class="ttdeci">void set_palette(uint8_t first_palette, uint8_t nb_palettes, palette_color_t *rgb_data) Z88DK_CALLEE</div></div> +<div class="ttc" id="asms_8h_html_a498b148efd22ab8ad9b844b2dc5e5bb8"><div class="ttname"><a href="sms_8h.html#a498b148efd22ab8ad9b844b2dc5e5bb8">WRITE_VDP_CMD</a></div><div class="ttdeci">void WRITE_VDP_CMD(uint16_t cmd) Z88DK_FASTCALL PRESERVES_REGS(b</div></div> <div class="ttc" id="asms_8h_html_a964e713cb2535d7464d0d6ca7677049a"><div class="ttname"><a href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">__READ_VDP_REG</a></div><div class="ttdeci">#define __READ_VDP_REG(REG)</div><div class="ttdef"><b>Definition:</b> sms.h:84</div></div> <div class="ttc" id="asms_8h_html_a3ea524204d839377cf39842eec23e202"><div class="ttname"><a href="sms_8h.html#a3ea524204d839377cf39842eec23e202">mode</a></div><div class="ttdeci">void mode(uint8_t m) OLDCALL</div></div> -<div class="ttc" id="asms_8h_html_ab380f3a45e943a45a4cd3189a99ca4df"><div class="ttname"><a href="sms_8h.html#ab380f3a45e943a45a4cd3189a99ca4df">fill_rect</a></div><div class="ttdeci">void fill_rect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint16_t tile) __z88dk_callee __preserves_regs(iyh</div></div> +<div class="ttc" id="asms_8h_html_ae59628e2237f301df1341e22bfc8296e"><div class="ttname"><a href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">add_VBL</a></div><div class="ttdeci">void add_VBL(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(d</div></div> <div class="ttc" id="asms_8h_html_aa34282113397af810be737df1acec36c"><div class="ttname"><a href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a></div><div class="ttdeci">#define __WRITE_VDP_REG(REG, v)</div><div class="ttdef"><b>Definition:</b> sms.h:83</div></div> -<div class="ttc" id="asms_8h_html_aac998cb7f78186158ced5448dcfc3503"><div class="ttname"><a href="sms_8h.html#aac998cb7f78186158ced5448dcfc3503">fill_rect_compat</a></div><div class="ttdeci">void fill_rect_compat(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint16_t tile) __z88dk_callee __preserves_regs(iyh</div></div> <div class="ttc" id="asms_8h_html_ad9a83378f5ec1f6444c879e4cf1e1a83"><div class="ttname"><a href="sms_8h.html#ad9a83378f5ec1f6444c879e4cf1e1a83">get_mode</a></div><div class="ttdeci">uint8_t get_mode() OLDCALL</div></div> -<div class="ttc" id="asms_8h_html_a99f5c1698cb6d3715690481d4e4b6da1"><div class="ttname"><a href="sms_8h.html#a99f5c1698cb6d3715690481d4e4b6da1">add_LCD</a></div><div class="ttdeci">void add_LCD(int_handler h) __z88dk_fastcall __preserves_regs(b</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> -<div class="ttc" id="asms_2hardware_8h_html_a3cce162b45d638126c478c5b6f7bcbc7"><div class="ttname"><a href="sms_2hardware_8h.html#a3cce162b45d638126c478c5b6f7bcbc7">VDP_RSCY</a></div><div class="ttdeci">#define VDP_RSCY</div><div class="ttdef"><b>Definition:</b> hardware.h:118</div></div> -<div class="ttc" id="asms_8h_html_a6c59aa9a4f9ea42bed6ca6940b2741fe"><div class="ttname"><a href="sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe">scroll_sprite</a></div><div class="ttdeci">void scroll_sprite(uint8_t nb, int8_t x, int8_t y)</div><div class="ttdef"><b>Definition:</b> sms.h:707</div></div> +<div class="ttc" id="asms_2hardware_8h_html_a3cce162b45d638126c478c5b6f7bcbc7"><div class="ttname"><a href="sms_2hardware_8h.html#a3cce162b45d638126c478c5b6f7bcbc7">VDP_RSCY</a></div><div class="ttdeci">#define VDP_RSCY</div><div class="ttdef"><b>Definition:</b> hardware.h:129</div></div> +<div class="ttc" id="asms_8h_html_abc8bc5808620a9717263b8c9ec2237f0"><div class="ttname"><a href="sms_8h.html#abc8bc5808620a9717263b8c9ec2237f0">set_bkg_based_submap</a></div><div class="ttdeci">void set_bkg_based_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *map, uint8_t map_w, uint8_t base_tile)</div><div class="ttdef"><b>Definition:</b> sms.h:593</div></div> +<div class="ttc" id="asms_8h_html_a6c59aa9a4f9ea42bed6ca6940b2741fe"><div class="ttname"><a href="sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe">scroll_sprite</a></div><div class="ttdeci">void scroll_sprite(uint8_t nb, int8_t x, int8_t y)</div><div class="ttdef"><b>Definition:</b> sms.h:731</div></div> <div class="ttc" id="asms_8h_html_a884a743919b234cd9c37789380784d08"><div class="ttname"><a href="sms_8h.html#a884a743919b234cd9c37789380784d08">cpu_fast</a></div><div class="ttdeci">void cpu_fast()</div><div class="ttdef"><b>Definition:</b> sms.h:506</div></div> -<div class="ttc" id="asms_8h_html_aea03b5b22f0a798a7935dc7d18931924"><div class="ttname"><a href="sms_8h.html#aea03b5b22f0a798a7935dc7d18931924">delay</a></div><div class="ttdeci">void delay(uint16_t d) __z88dk_fastcall</div></div> <div class="ttc" id="asms_8h_html_adcb394299a1033616fc7d2faec8bd6ad"><div class="ttname"><a href="sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad">set_1bpp_colors</a></div><div class="ttdeci">void set_1bpp_colors(uint8_t fgcolor, uint8_t bgcolor)</div><div class="ttdef"><b>Definition:</b> sms.h:543</div></div> <div class="ttc" id="acgb_8h_html_af868d7cdbd052c6b972ef137e02f6495"><div class="ttname"><a href="cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495">palette_color_t</a></div><div class="ttdeci">uint16_t palette_color_t</div><div class="ttdef"><b>Definition:</b> cgb.h:85</div></div> -<div class="ttc" id="asms_8h_html_a5435fd985412934e96a490e103c6bc49"><div class="ttname"><a href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">_shadow_OAM_base</a></div><div class="ttdeci">volatile uint8_t _shadow_OAM_base</div><div class="ttdef"><b>Definition:</b> gb.h:1271</div></div> -<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:585</div></div> +<div class="ttc" id="asms_8h_html_a24764a152441b966ea04a83278c73207"><div class="ttname"><a href="sms_8h.html#a24764a152441b966ea04a83278c73207">set_native_tile_data</a></div><div class="ttdeci">void set_native_tile_data(uint16_t start, uint16_t ntiles, const void *src) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> +<div class="ttc" id="asms_8h_html_a5435fd985412934e96a490e103c6bc49"><div class="ttname"><a href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">_shadow_OAM_base</a></div><div class="ttdeci">volatile uint8_t _shadow_OAM_base</div><div class="ttdef"><b>Definition:</b> gb.h:1404</div></div> +<div class="ttc" id="agb_8h_html_a4c2e4adef74067fdbb49005bc73de937"><div class="ttname"><a href="gb_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></div><div class="ttdeci">void b</div><div class="ttdef"><b>Definition:</b> gb.h:608</div></div> <div class="ttc" id="asms_8h_html_a24f53cfe7e25c04fbb5dcb08cfb3b432"><div class="ttname"><a href="sms_8h.html#a24f53cfe7e25c04fbb5dcb08cfb3b432">set_sprite_4bpp_data</a></div><div class="ttdeci">void set_sprite_4bpp_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:519</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> +<div class="ttc" id="asms_8h_html_a476f433ea736a1dd610490238f2a6250"><div class="ttname"><a href="sms_8h.html#a476f433ea736a1dd610490238f2a6250">set_attributed_tile_xy</a></div><div class="ttdeci">uint8_t * set_attributed_tile_xy(uint8_t x, uint8_t y, uint16_t t) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> <div class="ttc" id="asms_8h_html_a216a3e3d320ee4d8cf4845600487ae39"><div class="ttname"><a href="sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39">set_sprite_data</a></div><div class="ttdeci">void set_sprite_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:532</div></div> -<div class="ttc" id="asms_8h_html_a35261bb6911ba7a123262efc32f4955a"><div class="ttname"><a href="sms_8h.html#a35261bb6911ba7a123262efc32f4955a">set_tile_submap_compat</a></div><div class="ttdeci">void set_tile_submap_compat(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t map_w, const uint8_t *map) __z88dk_callee __preserves_regs(iyh</div></div> -<div class="ttc" id="asms_8h_html_af83d7fd4e4044ac6677f046f679bd7a9"><div class="ttname"><a href="sms_8h.html#af83d7fd4e4044ac6677f046f679bd7a9">get_bkg_xy_addr</a></div><div class="ttdeci">uint8_t * get_bkg_xy_addr(uint8_t x, uint8_t y) __z88dk_callee __preserves_regs(iyh</div></div> +<div class="ttc" id="asms_8h_html_a1d45c65829490c5ec98362f5e60edc20"><div class="ttname"><a href="sms_8h.html#a1d45c65829490c5ec98362f5e60edc20">joypad_ex</a></div><div class="ttdeci">void joypad_ex(joypads_t *joypads) Z88DK_FASTCALL PRESERVES_REGS(iyh</div></div> +<div class="ttc" id="asms_8h_html_abe90cc2b5bb10c0ed9e01e548ddf8862"><div class="ttname"><a href="sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862">joypad_init</a></div><div class="ttdeci">uint8_t joypad_init(uint8_t npads, joypads_t *joypads) Z88DK_CALLEE</div></div> +<div class="ttc" id="aasm_2z80_2types_8h_html_af45e54cf59a5202abc9125c07b64abf1"><div class="ttname"><a href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></div><div class="ttdeci">#define Z88DK_FASTCALL</div><div class="ttdef"><b>Definition:</b> types.h:43</div></div> <div class="ttc" id="asms_8h_html_af02f9e73bd894cc25e03aedb0a10a91d"><div class="ttname"><a href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a></div><div class="ttdeci">volatile uint8_t shadow_OAM[]</div></div> <div class="ttc" id="asms_8h_html_a8130306da1177f4fef89e699f8e2add4"><div class="ttname"><a href="sms_8h.html#a8130306da1177f4fef89e699f8e2add4">set_bkg_data</a></div><div class="ttdeci">void set_bkg_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:529</div></div> -<div class="ttc" id="asms_8h_html_a9eeb134cad80f309ce86ab101a9e0026"><div class="ttname"><a href="sms_8h.html#a9eeb134cad80f309ce86ab101a9e0026">remove_VBL</a></div><div class="ttdeci">void remove_VBL(int_handler h) __z88dk_fastcall __preserves_regs(iyh</div></div> -<div class="ttc" id="asms_8h_html_a10fc1ec5a17a7d25d95241db0f458eb9"><div class="ttname"><a href="sms_8h.html#a10fc1ec5a17a7d25d95241db0f458eb9">remove_JOY</a></div><div class="ttdeci">void remove_JOY(int_handler h) __z88dk_fastcall</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_a7ed081d8dfb6902784b2fc730bbb7f96"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></div><div class="ttdeci">#define NONBANKED</div><div class="ttdef"><b>Definition:</b> types.h:12</div></div> -<div class="ttc" id="asms_8h_html_ad68f2f36b41febcc5f8ca23c3e379ec8"><div class="ttname"><a href="sms_8h.html#ad68f2f36b41febcc5f8ca23c3e379ec8">set_tile_map</a></div><div class="ttdeci">void set_tile_map(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) __z88dk_callee __preserves_regs(iyh</div></div> -<div class="ttc" id="asms_8h_html_a7e0cdfd6b9a2ae1b7f30384f132d8687"><div class="ttname"><a href="sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">SET_SHADOW_OAM_ADDRESS</a></div><div class="ttdeci">void SET_SHADOW_OAM_ADDRESS(void *address)</div><div class="ttdef"><b>Definition:</b> sms.h:635</div></div> +<div class="ttc" id="asms_8h_html_aa8962b27b960bb0c8d3bb899246c690c"><div class="ttname"><a href="sms_8h.html#aa8962b27b960bb0c8d3bb899246c690c">remove_LCD</a></div><div class="ttdeci">void remove_LCD(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="asms_8h_html_a7e0cdfd6b9a2ae1b7f30384f132d8687"><div class="ttname"><a href="sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">SET_SHADOW_OAM_ADDRESS</a></div><div class="ttdeci">void SET_SHADOW_OAM_ADDRESS(void *address)</div><div class="ttdef"><b>Definition:</b> sms.h:659</div></div> +<div class="ttc" id="asms_8h_html_a217232c82eb5f99f7639b5786ce5abc6"><div class="ttname"><a href="sms_8h.html#a217232c82eb5f99f7639b5786ce5abc6">delay</a></div><div class="ttdeci">void delay(uint16_t d) Z88DK_FASTCALL</div></div> +<div class="ttc" id="asms_8h_html_a98de9141f407585801fcbf55bf6dcc4c"><div class="ttname"><a href="sms_8h.html#a98de9141f407585801fcbf55bf6dcc4c">remove_SIO</a></div><div class="ttdeci">void remove_SIO(int_handler h) Z88DK_FASTCALL</div></div> <div class="ttc" id="asms_8h_html_a250f5339e05523912926be566e9eb8c0"><div class="ttname"><a href="sms_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a></div><div class="ttdeci">uint16_t _current_1bpp_colors</div></div> -<div class="ttc" id="asms_8h_html_ab42c12c1d9aed3fd963248fbea9830cd"><div class="ttname"><a href="sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">move_sprite</a></div><div class="ttdeci">void move_sprite(uint8_t nb, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> sms.h:691</div></div> -<div class="ttc" id="asms_8h_html_a6b873c807c9e2c90fb574951e85fdf88"><div class="ttname"><a href="sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88">get_sprite_prop</a></div><div class="ttdeci">uint8_t get_sprite_prop(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> sms.h:674</div></div> +<div class="ttc" id="asms_8h_html_ab42c12c1d9aed3fd963248fbea9830cd"><div class="ttname"><a href="sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">move_sprite</a></div><div class="ttdeci">void move_sprite(uint8_t nb, uint8_t x, uint8_t y)</div><div class="ttdef"><b>Definition:</b> sms.h:715</div></div> +<div class="ttc" id="asms_8h_html_a6b873c807c9e2c90fb574951e85fdf88"><div class="ttname"><a href="sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88">get_sprite_prop</a></div><div class="ttdeci">uint8_t get_sprite_prop(uint8_t nb)</div><div class="ttdef"><b>Definition:</b> sms.h:698</div></div> <div class="ttc" id="asms_8h_html_a22dc57e538f0f49e2dc7d1c73f67fc8f"><div class="ttname"><a href="sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f">_current_2bpp_palette</a></div><div class="ttdeci">uint16_t _current_2bpp_palette</div></div> -<div class="ttc" id="asms_2hardware_8h_html_ad3b833661b103edc2648258dd741c92c"><div class="ttname"><a href="sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c">VDP_SAT_TERM</a></div><div class="ttdeci">#define VDP_SAT_TERM</div><div class="ttdef"><b>Definition:</b> hardware.h:177</div></div> +<div class="ttc" id="asms_8h_html_a98f7ef49e1758c601979bcb0ff19a1f0"><div class="ttname"><a href="sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0">remove_VBL</a></div><div class="ttdeci">void remove_VBL(int_handler h) Z88DK_FASTCALL PRESERVES_REGS(iyh</div></div> +<div class="ttc" id="asms_2hardware_8h_html_ad3b833661b103edc2648258dd741c92c"><div class="ttname"><a href="sms_2hardware_8h.html#ad3b833661b103edc2648258dd741c92c">VDP_SAT_TERM</a></div><div class="ttdeci">#define VDP_SAT_TERM</div><div class="ttdef"><b>Definition:</b> hardware.h:188</div></div> <div class="ttc" id="asms_8h_html_aa224c9bac27c7fd268e62bdf33338a84"><div class="ttname"><a href="sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a></div><div class="ttdeci">void set_2bpp_palette(uint16_t palette)</div><div class="ttdef"><b>Definition:</b> sms.h:525</div></div> <div class="ttc" id="asms_8h_html_a388d1dff2698172ba8574e43f5c77c93"><div class="ttname"><a href="sms_8h.html#a388d1dff2698172ba8574e43f5c77c93">_shadow_OAM_OFF</a></div><div class="ttdeci">volatile uint8_t _shadow_OAM_OFF</div></div> <div class="ttc" id="asms_8h_html_af279c752a3b15c4bd5c67f54b92e553f"><div class="ttname"><a href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a></div><div class="ttdeci">void iyl</div><div class="ttdef"><b>Definition:</b> sms.h:86</div></div> -<div class="ttc" id="asms_8h_html_a256029356b8bc719e42ffafba844290f"><div class="ttname"><a href="sms_8h.html#a256029356b8bc719e42ffafba844290f">set_tile_xy</a></div><div class="ttdeci">uint8_t * set_tile_xy(uint8_t x, uint8_t y, uint8_t t) __z88dk_callee __preserves_regs(iyh</div></div> -<div class="ttc" id="asms_8h_html_a5e48fbbda171d4c466e1d0d96fa73b50"><div class="ttname"><a href="sms_8h.html#a5e48fbbda171d4c466e1d0d96fa73b50">set_native_tile_data</a></div><div class="ttdeci">void set_native_tile_data(uint16_t start, uint16_t ntiles, const void *src) __z88dk_callee __preserves_regs(iyh</div></div> -<div class="ttc" id="asms_8h_html_a17416b1bb39989e82948e3a97f23187f"><div class="ttname"><a href="sms_8h.html#a17416b1bb39989e82948e3a97f23187f">add_TIM</a></div><div class="ttdeci">void add_TIM(int_handler h) __z88dk_fastcall</div></div> +<div class="ttc" id="asms_8h_html_a176c477d759b814664785f3a0ad5e253"><div class="ttname"><a href="sms_8h.html#a176c477d759b814664785f3a0ad5e253">joypad</a></div><div class="ttdeci">uint8_t joypad() OLDCALL PRESERVES_REGS(b</div></div> +<div class="ttc" id="asms_8h_html_a7c38b146f77eda84981c06c2271fe116"><div class="ttname"><a href="sms_8h.html#a7c38b146f77eda84981c06c2271fe116">set_tile_map_compat</a></div><div class="ttdeci">void set_tile_map_compat(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *tiles) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> +<div class="ttc" id="aasm_2types_8h_html_a7ed081d8dfb6902784b2fc730bbb7f96"><div class="ttname"><a href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></div><div class="ttdeci">#define NONBANKED</div><div class="ttdef"><b>Definition:</b> types.h:36</div></div> <div class="ttc" id="asms_8h_html_abd34836339579013c097ae4dea10c014"><div class="ttname"><a href="sms_8h.html#abd34836339579013c097ae4dea10c014">set_default_palette</a></div><div class="ttdeci">void set_default_palette()</div></div> +<div class="ttc" id="asms_8h_html_acd186eb292d441f9389e77b545a55619"><div class="ttname"><a href="sms_8h.html#acd186eb292d441f9389e77b545a55619">wait_vbl_done</a></div><div class="ttdeci">void wait_vbl_done() PRESERVES_REGS(b</div></div> <div class="ttc" id="asms_8h_html_a1f583f7a880daa6145ca78b086a209d1"><div class="ttname"><a href="sms_8h.html#a1f583f7a880daa6145ca78b086a209d1">scroll_bkg</a></div><div class="ttdeci">void scroll_bkg(int8_t x, int8_t y)</div><div class="ttdef"><b>Definition:</b> sms.h:199</div></div> -<div class="ttc" id="asms_8h_html_a049c5d8c901a23cccf95b02a911f9212"><div class="ttname"><a href="sms_8h.html#a049c5d8c901a23cccf95b02a911f9212">add_JOY</a></div><div class="ttdeci">void add_JOY(int_handler h) __z88dk_fastcall</div></div> -<div class="ttc" id="asms_8h_html_af513fcb34dd2aa1e9bc9bf65cb589eee"><div class="ttname"><a href="sms_8h.html#af513fcb34dd2aa1e9bc9bf65cb589eee">WRITE_VDP_DATA</a></div><div class="ttdeci">void WRITE_VDP_DATA(uint16_t data) __z88dk_fastcall __preserves_regs(b</div></div> -<div class="ttc" id="asms_8h_html_a675ad64b02d33ab3274f7fb54da14fa9"><div class="ttname"><a href="sms_8h.html#a675ad64b02d33ab3274f7fb54da14fa9">set_palette_entry</a></div><div class="ttdeci">void set_palette_entry(uint8_t palette, uint8_t entry, uint16_t rgb_data) __z88dk_callee __preserves_regs(iyh</div></div> +<div class="ttc" id="asms_8h_html_a98785a1b0ddc91cd8e8c8fab8de1de20"><div class="ttname"><a href="sms_8h.html#a98785a1b0ddc91cd8e8c8fab8de1de20">remove_TIM</a></div><div class="ttdeci">void remove_TIM(int_handler h) Z88DK_FASTCALL</div></div> +<div class="ttc" id="aasm_2types_8h_html_acb825e83a33fcc06482c59b4ab2cf961"><div class="ttname"><a href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a></div><div class="ttdeci">#define PRESERVES_REGS(...)</div><div class="ttdef"><b>Definition:</b> types.h:29</div></div> +<div class="ttc" id="asms_8h_html_aa82205e9629f984d0b3dc8055c211522"><div class="ttname"><a href="sms_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a></div><div class="ttdeci">uint8_t _map_tile_offset</div></div> <div class="ttc" id="asms_8h_html_a2cc121fbeb5570248531b85a8f0b5b97"><div class="ttname"><a href="sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97">set_sprite_1bpp_data</a></div><div class="ttdeci">void set_sprite_1bpp_data(uint16_t start, uint16_t ntiles, const void *src)</div><div class="ttdef"><b>Definition:</b> sms.h:550</div></div> +<div class="ttc" id="asms_8h_html_a2c9aabf4519e01257b0d0e04e8108164"><div class="ttname"><a href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">set_palette_entry</a></div><div class="ttdeci">void set_palette_entry(uint8_t palette, uint8_t entry, uint16_t rgb_data) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> <div class="ttc" id="asms_8h_html_a1f1dfeb2f802fe99f37fe91867b84456"><div class="ttname"><a href="sms_8h.html#a1f1dfeb2f802fe99f37fe91867b84456">h</a></div><div class="ttdeci">void h</div><div class="ttdef"><b>Definition:</b> sms.h:215</div></div> <div class="ttc" id="asms_8h_html_aade844cba18122ad48cb2f92b1c87ab0"><div class="ttname"><a href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></div><div class="ttdeci">void iyh</div><div class="ttdef"><b>Definition:</b> sms.h:86</div></div> <div class="ttc" id="asms_8h_html_a9508f919d9482d1d51534ccac212454d"><div class="ttname"><a href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a></div><div class="ttdeci">void(* int_handler)(void) NONBANKED</div><div class="ttdef"><b>Definition:</b> sms.h:152</div></div> -<div class="ttc" id="asms_8h_html_a35fbfcc0bffc93a47217caff66ca36a7"><div class="ttname"><a href="sms_8h.html#a35fbfcc0bffc93a47217caff66ca36a7">waitpadup</a></div><div class="ttdeci">void waitpadup() __preserves_regs(b</div></div> +<div class="ttc" id="asms_8h_html_aefda0091b2934571a11e07b512735f50"><div class="ttname"><a href="sms_8h.html#aefda0091b2934571a11e07b512735f50">set_interrupts</a></div><div class="ttdeci">void set_interrupts(uint8_t flags) Z88DK_FASTCALL</div></div> +<div class="ttc" id="asms_8h_html_a84774e034fe0e70af62bd17ac716ba34"><div class="ttname"><a href="sms_8h.html#a84774e034fe0e70af62bd17ac716ba34">set_tile_submap</a></div><div class="ttdeci">void set_tile_submap(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t map_w, const uint8_t *map) Z88DK_CALLEE PRESERVES_REGS(iyh</div></div> <div class="ttc" id="asms_8h_html_aeda4515a31485c9688c4601ac5ce2d79"><div class="ttname"><a href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a></div><div class="ttdeci">void e</div><div class="ttdef"><b>Definition:</b> sms.h:86</div></div> -<div class="ttc" id="asms_8h_html_a6afae83728b6651075f0af9d55d4b9e0"><div class="ttname"><a href="sms_8h.html#a6afae83728b6651075f0af9d55d4b9e0">set_tile_1bpp_data</a></div><div class="ttdeci">void set_tile_1bpp_data(uint16_t start, uint16_t ntiles, const void *src, uint16_t colors) __z88dk_callee __preserves_regs(iyh</div></div> -<div class="ttc" id="asms_8h_html_afe6f5ff8fbb632868cb41f2a4c5995ae"><div class="ttname"><a href="sms_8h.html#afe6f5ff8fbb632868cb41f2a4c5995ae">remove_TIM</a></div><div class="ttdeci">void remove_TIM(int_handler h) __z88dk_fastcall</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/stdarg_8h.html b/docs/api/stdarg_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/stdarg_8h_source.html b/docs/api/stdarg_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/stdatomic_8h.html b/docs/api/stdatomic_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/stdatomic_8h_source.html b/docs/api/stdatomic_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -116,7 +117,7 @@ $(document).ready(function(){initNavTree('stdatomic_8h_source.html',''); initRes <div class="ttc" id="atypes_8h_html"><div class="ttname"><a href="types_8h.html">types.h</a></div></div> <div class="ttc" id="astructatomic__flag_html_a4fe9312fe0abb35e9f3626dc06c89bc4"><div class="ttname"><a href="structatomic__flag.html#a4fe9312fe0abb35e9f3626dc06c89bc4">atomic_flag::flag</a></div><div class="ttdeci">unsigned char flag</div><div class="ttdef"><b>Definition:</b> stdatomic.h:6</div></div> <div class="ttc" id="astdatomic_8h_html_ad301ff71d8b03b0fa2a9207ed00c4ded"><div class="ttname"><a href="stdatomic_8h.html#ad301ff71d8b03b0fa2a9207ed00c4ded">atomic_flag_test_and_set</a></div><div class="ttdeci">_Bool atomic_flag_test_and_set(volatile atomic_flag *object) OLDCALL</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> <div class="ttc" id="astdatomic_8h_html_a281cc77096d886b0cf2c6ab7dfbe900c"><div class="ttname"><a href="stdatomic_8h.html#a281cc77096d886b0cf2c6ab7dfbe900c">atomic_flag_clear</a></div><div class="ttdeci">void atomic_flag_clear(volatile atomic_flag *object)</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> diff --git a/docs/api/stdbool_8h.html b/docs/api/stdbool_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/stdbool_8h_source.html b/docs/api/stdbool_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/stddef_8h.html b/docs/api/stddef_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -224,7 +225,7 @@ Typedefs</h2></td></tr> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef unsigned int <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a></td> + <td class="memname">typedef unsigned int <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a></td> </tr> </table> </div><div class="memdoc"> diff --git a/docs/api/stddef_8h_source.html b/docs/api/stddef_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/stdint_8h.html b/docs/api/stdint_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/stdint_8h_source.html b/docs/api/stdint_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/stdio_8h.html b/docs/api/stdio_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/stdio_8h_source.html b/docs/api/stdio_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -115,7 +116,7 @@ $(document).ready(function(){initNavTree('stdio_8h_source.html',''); initResizab <div class="ttc" id="aasm_2gbz80_2string_8h_html_a0b3366755f3276b0243c1e0497471b7a"><div class="ttname"><a href="asm_2gbz80_2string_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></div><div class="ttdeci">char c</div><div class="ttdef"><b>Definition:</b> string.h:20</div></div> <div class="ttc" id="astdio_8h_html_a31913a297ee18548c81d482ef6bdbe0f"><div class="ttname"><a href="stdio_8h.html#a31913a297ee18548c81d482ef6bdbe0f">sprintf</a></div><div class="ttdeci">void sprintf(char *str, const char *format,...) OLDCALL</div></div> <div class="ttc" id="astdio_8h_html_ab403fa700816f08631ba75bc536f74d4"><div class="ttname"><a href="stdio_8h.html#ab403fa700816f08631ba75bc536f74d4">printf</a></div><div class="ttdeci">void printf(const char *format,...) OLDCALL</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> <div class="ttc" id="astdio_8h_html_a299d0f9cb9e7b14e1278a4ed21e4d76f"><div class="ttname"><a href="stdio_8h.html#a299d0f9cb9e7b14e1278a4ed21e4d76f">puts</a></div><div class="ttdeci">void puts(const char *s)</div></div> <div class="ttc" id="astdio_8h_html_a2c79157c8bc2db72fbf1e34f291ff5d8"><div class="ttname"><a href="stdio_8h.html#a2c79157c8bc2db72fbf1e34f291ff5d8">getchar</a></div><div class="ttdeci">char getchar() OLDCALL</div></div> <div class="ttc" id="astdio_8h_html_a9bc92fb9f23c72a66d030d4028dda72d"><div class="ttname"><a href="stdio_8h.html#a9bc92fb9f23c72a66d030d4028dda72d">putchar</a></div><div class="ttdeci">void putchar(char c) OLDCALL</div></div> diff --git a/docs/api/stdlib_8h.html b/docs/api/stdlib_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -121,17 +122,17 @@ Functions</h2></td></tr> <tr class="separator:a6374e62474a5a76c7ace9a59fb1cc829"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac22b79fe0c1279eabc3daf57328008d2"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="stdlib_8h.html#ac22b79fe0c1279eabc3daf57328008d2">ultoa</a> (unsigned long n, char *s, unsigned char radix) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> <tr class="separator:ac22b79fe0c1279eabc3daf57328008d2"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a62b7798461bd461da64c5f9d35feddf7"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="stdlib_8h.html#a62b7798461bd461da64c5f9d35feddf7">calloc</a> (<a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> nmemb, <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> size)</td></tr> +<tr class="memitem:a62b7798461bd461da64c5f9d35feddf7"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="stdlib_8h.html#a62b7798461bd461da64c5f9d35feddf7">calloc</a> (<a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> nmemb, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> size)</td></tr> <tr class="separator:a62b7798461bd461da64c5f9d35feddf7"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a7ac38fce3243a7dcf448301ee9ffd392"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="stdlib_8h.html#a7ac38fce3243a7dcf448301ee9ffd392">malloc</a> (<a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> size)</td></tr> +<tr class="memitem:a7ac38fce3243a7dcf448301ee9ffd392"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="stdlib_8h.html#a7ac38fce3243a7dcf448301ee9ffd392">malloc</a> (<a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> size)</td></tr> <tr class="separator:a7ac38fce3243a7dcf448301ee9ffd392"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a1a6b5e8d2f1c37e5b43e4345586075be"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="stdlib_8h.html#a1a6b5e8d2f1c37e5b43e4345586075be">realloc</a> (void *ptr, <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> size)</td></tr> +<tr class="memitem:a1a6b5e8d2f1c37e5b43e4345586075be"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="stdlib_8h.html#a1a6b5e8d2f1c37e5b43e4345586075be">realloc</a> (void *ptr, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> size)</td></tr> <tr class="separator:a1a6b5e8d2f1c37e5b43e4345586075be"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afbedc913aa4651b3c3b4b3aecd9b4711"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="stdlib_8h.html#afbedc913aa4651b3c3b4b3aecd9b4711">free</a> (void *ptr)</td></tr> <tr class="separator:afbedc913aa4651b3c3b4b3aecd9b4711"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ab0ace018fe7dfa1720930d2dce0c45e3"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="stdlib_8h.html#ab0ace018fe7dfa1720930d2dce0c45e3">bsearch</a> (const void *key, const void *base, <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> nmemb, <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> size, int(*compar)(const void *, const void *) <a class="el" href="stdlib_8h.html#a83798998ad669e85a8f75d6490191760">__reentrant</a>)</td></tr> +<tr class="memitem:ab0ace018fe7dfa1720930d2dce0c45e3"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="stdlib_8h.html#ab0ace018fe7dfa1720930d2dce0c45e3">bsearch</a> (const void *key, const void *base, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> nmemb, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> size, int(*compar)(const void *, const void *) <a class="el" href="stdlib_8h.html#a83798998ad669e85a8f75d6490191760">__reentrant</a>)</td></tr> <tr class="separator:ab0ace018fe7dfa1720930d2dce0c45e3"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a02d9d6443b9e613802b2e9c5c71caf59"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="stdlib_8h.html#a02d9d6443b9e613802b2e9c5c71caf59">qsort</a> (void *base, <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> nmemb, <a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> size, int(*compar)(const void *, const void *) <a class="el" href="stdlib_8h.html#a83798998ad669e85a8f75d6490191760">__reentrant</a>)</td></tr> +<tr class="memitem:a02d9d6443b9e613802b2e9c5c71caf59"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="stdlib_8h.html#a02d9d6443b9e613802b2e9c5c71caf59">qsort</a> (void *base, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> nmemb, <a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> size, int(*compar)(const void *, const void *) <a class="el" href="stdlib_8h.html#a83798998ad669e85a8f75d6490191760">__reentrant</a>)</td></tr> <tr class="separator:a02d9d6443b9e613802b2e9c5c71caf59"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Macro Definition Documentation</h2> @@ -456,13 +457,13 @@ Functions</h2></td></tr> <tr> <td class="memname">void* calloc </td> <td>(</td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>nmemb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>size</em> </td> </tr> <tr> @@ -485,7 +486,7 @@ Functions</h2></td></tr> <tr> <td class="memname">void* malloc </td> <td>(</td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>size</em></td><td>)</td> <td></td> </tr> @@ -509,7 +510,7 @@ Functions</h2></td></tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>size</em> </td> </tr> <tr> @@ -561,13 +562,13 @@ Functions</h2></td></tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>nmemb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>size</em>, </td> </tr> <tr> @@ -612,13 +613,13 @@ Functions</h2></td></tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>nmemb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> </td> + <td class="paramtype"><a class="el" href="asm_2gbz80_2types_8h.html#a7c94ea6f8948649f8d181ae55911eeaf">size_t</a> </td> <td class="paramname"><em>size</em>, </td> </tr> <tr> @@ -648,7 +649,7 @@ Functions</h2></td></tr> </div> </div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="agb_8h_html_a0a3d95ad0ab8ad213016101d2e9c3d3e"><div class="ttname"><a href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a></div><div class="ttdeci">void d</div><div class="ttdef"><b>Definition:</b> gb.h:585</div></div> +<div class="ttc" id="agb_8h_html_a0a3d95ad0ab8ad213016101d2e9c3d3e"><div class="ttname"><a href="gb_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a></div><div class="ttdeci">void d</div><div class="ttdef"><b>Definition:</b> gb.h:608</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/stdlib_8h_source.html b/docs/api/stdlib_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -157,7 +158,7 @@ $(document).ready(function(){initNavTree('stdlib_8h_source.html',''); initResiza <div class="ttc" id="astdlib_8h_html_a30670a60464f77af17dfb353353d6df8"><div class="ttname"><a href="stdlib_8h.html#a30670a60464f77af17dfb353353d6df8">atoi</a></div><div class="ttdeci">int atoi(const char *s)</div></div> <div class="ttc" id="astdlib_8h_html_ab0ace018fe7dfa1720930d2dce0c45e3"><div class="ttname"><a href="stdlib_8h.html#ab0ace018fe7dfa1720930d2dce0c45e3">bsearch</a></div><div class="ttdeci">void * bsearch(const void *key, const void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *) __reentrant)</div></div> <div class="ttc" id="astdlib_8h_html_a825c37450147a643edbcb1a435518307"><div class="ttname"><a href="stdlib_8h.html#a825c37450147a643edbcb1a435518307">atol</a></div><div class="ttdeci">long atol(const char *s)</div></div> -<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> <div class="ttc" id="astdlib_8h_html_a02d9d6443b9e613802b2e9c5c71caf59"><div class="ttname"><a href="stdlib_8h.html#a02d9d6443b9e613802b2e9c5c71caf59">qsort</a></div><div class="ttdeci">void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *) __reentrant)</div></div> <div class="ttc" id="astdlib_8h_html_a55e99c539cf7723ec15e856b7e0a8cee"><div class="ttname"><a href="stdlib_8h.html#a55e99c539cf7723ec15e856b7e0a8cee">exit</a></div><div class="ttdeci">void exit(int status)</div></div> <div class="ttc" id="astdlib_8h_html_aac2ea595a9ea8f5ebd883a0bc05eba5c"><div class="ttname"><a href="stdlib_8h.html#aac2ea595a9ea8f5ebd883a0bc05eba5c">itoa</a></div><div class="ttdeci">char * itoa(int n, char *s, unsigned char radix) OLDCALL</div></div> diff --git a/docs/api/stdnoreturn_8h.html b/docs/api/stdnoreturn_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/stdnoreturn_8h_source.html b/docs/api/stdnoreturn_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/string_8h.html b/docs/api/string_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/string_8h_source.html b/docs/api/string_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/struct_o_a_m__item__t.html b/docs/api/struct_o_a_m__item__t.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/structatomic__flag.html b/docs/api/structatomic__flag.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/structisr__nested__vector__t.html b/docs/api/structisr__nested__vector__t.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/structisr__vector__t.html b/docs/api/structisr__vector__t.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/structjoypads__t.html b/docs/api/structjoypads__t.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -117,7 +118,7 @@ Data Fields</h2></td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Multiplayer joypad structure.</p> -<p>Must be initialized with <a class="el" href="gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e">joypad_init()</a> first then it may be used to poll all avaliable joypads with <a class="el" href="gb_8h.html#a5166ceebbaa646e2667df1a219c7b903">joypad_ex()</a> </p> +<p>Must be initialized with <a class="el" href="gb_8h.html#ab7e35e1eff44ed78ad8f0015c6e85b4e">joypad_init()</a> first then it may be used to poll all avaliable joypads with <a class="el" href="gb_8h.html#a6e6f8eb1de2ae1ec9adeafbd7b9884db">joypad_ex()</a> </p> </div><h2 class="groupheader">Field Documentation</h2> <a id="af84e3549a0708ee0e04295e5f853e9f5"></a> <h2 class="memtitle"><span class="permalink"><a href="#af84e3549a0708ee0e04295e5f853e9f5">◆ </a></span>npads</h2> diff --git a/docs/api/structmetasprite__t.html b/docs/api/structmetasprite__t.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/structsfont__handle.html b/docs/api/structsfont__handle.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/time_8h.html b/docs/api/time_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -110,8 +111,8 @@ Typedefs</h2></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:a9e660b4ddc93c500ce46593917de2bbf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">clock_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="time_8h.html#a9e660b4ddc93c500ce46593917de2bbf">clock</a> ()</td></tr> -<tr class="separator:a9e660b4ddc93c500ce46593917de2bbf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acc1f88818af5706d57262377382ae4ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">clock_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="time_8h.html#acc1f88818af5706d57262377382ae4ac">clock</a> () <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr> +<tr class="separator:acc1f88818af5706d57262377382ae4ac"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae7841e681c8c9d59818568d39553642c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="time_8h.html#ac84921d4d15eedac7d7b8051a7944c84">time_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="time_8h.html#ae7841e681c8c9d59818568d39553642c">time</a> (<a class="el" href="time_8h.html#ac84921d4d15eedac7d7b8051a7944c84">time_t</a> *t)</td></tr> <tr class="separator:ae7841e681c8c9d59818568d39553642c"><td class="memSeparator" colspan="2"> </td></tr> </table> @@ -148,14 +149,14 @@ Functions</h2></td></tr> </div> </div> <h2 class="groupheader">Function Documentation</h2> -<a id="a9e660b4ddc93c500ce46593917de2bbf"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a9e660b4ddc93c500ce46593917de2bbf">◆ </a></span>clock()</h2> +<a id="acc1f88818af5706d57262377382ae4ac"></a> +<h2 class="memtitle"><span class="permalink"><a href="#acc1f88818af5706d57262377382ae4ac">◆ </a></span>clock()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">clock_t</a> clock </td> + <td class="memname"><a class="el" href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">clock_t</a> clock </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> @@ -163,7 +164,7 @@ Functions</h2></td></tr> </table> </div><div class="memdoc"> <p>Returns an approximation of processor time used by the program in Clocks</p> -<p>The value returned is the CPU time (ticks) used so far as a <a class="el" href="asm_2z80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">clock_t</a>.</p> +<p>The value returned is the CPU time (ticks) used so far as a <a class="el" href="asm_2z80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">clock_t</a>.</p> <p>To get the number of seconds used, divide by <a class="el" href="time_8h.html#a3d9fc3c745d0880902fe3ea3d5d5f71e">CLOCKS_PER_SEC</a>.</p> <p>This is based on <a class="el" href="sms_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a>, which will wrap around every ~18 minutes. (unsigned 16 bits = 65535 / 60 / 60 = 18.2)</p> <dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a>, <a class="el" href="time_8h.html#ae7841e681c8c9d59818568d39553642c">time()</a> </dd></dl> @@ -185,15 +186,15 @@ Functions</h2></td></tr> </tr> </table> </div><div class="memdoc"> -<p>Converts <a class="el" href="time_8h.html#a9e660b4ddc93c500ce46593917de2bbf">clock()</a> time to Seconds</p> +<p>Converts <a class="el" href="time_8h.html#acc1f88818af5706d57262377382ae4ac">clock()</a> time to Seconds</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">t</td><td>If pointer <b>t</b> is not NULL, it's value will be set to the same seconds calculation as returned by the function.</td></tr> </table> </dd> </dl> -<p>The calculation is <a class="el" href="time_8h.html#a9e660b4ddc93c500ce46593917de2bbf">clock()</a> / CLOCKS_PER_SEC</p> -<p>Returns: time in seconds </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a>, <a class="el" href="time_8h.html#a9e660b4ddc93c500ce46593917de2bbf">clock()</a> </dd></dl> +<p>The calculation is <a class="el" href="time_8h.html#acc1f88818af5706d57262377382ae4ac">clock()</a> / CLOCKS_PER_SEC</p> +<p>Returns: time in seconds </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a>, <a class="el" href="time_8h.html#acc1f88818af5706d57262377382ae4ac">clock()</a> </dd></dl> </div> </div> diff --git a/docs/api/time_8h.js b/docs/api/time_8h.js @@ -2,6 +2,6 @@ var time_8h = [ [ "CLOCKS_PER_SEC", "time_8h.html#a3d9fc3c745d0880902fe3ea3d5d5f71e", null ], [ "time_t", "time_8h.html#ac84921d4d15eedac7d7b8051a7944c84", null ], - [ "clock", "time_8h.html#a9e660b4ddc93c500ce46593917de2bbf", null ], + [ "clock", "time_8h.html#acc1f88818af5706d57262377382ae4ac", null ], [ "time", "time_8h.html#ae7841e681c8c9d59818568d39553642c", null ] ]; diff --git a/docs/api/time_8h_source.html b/docs/api/time_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> @@ -100,7 +101,7 @@ $(document).ready(function(){initNavTree('time_8h_source.html',''); initResizabl <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  </div> <div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="time_8h.html#ac84921d4d15eedac7d7b8051a7944c84"> 12</a></span> <span class="keyword">typedef</span> <a class="code" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="code" href="time_8h.html#ac84921d4d15eedac7d7b8051a7944c84">time_t</a>;</div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  </div> -<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="time_8h.html#a9e660b4ddc93c500ce46593917de2bbf"> 25</a></span> <a class="code" href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">clock_t</a> <a class="code" href="time_8h.html#a9e660b4ddc93c500ce46593917de2bbf">clock</a>();</div> +<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="time_8h.html#acc1f88818af5706d57262377382ae4ac"> 25</a></span> <a class="code" href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">clock_t</a> <a class="code" href="time_8h.html#acc1f88818af5706d57262377382ae4ac">clock</a>() <a class="code" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a>;</div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  </div> <div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="time_8h.html#ae7841e681c8c9d59818568d39553642c"> 36</a></span> <a class="code" href="time_8h.html#ac84921d4d15eedac7d7b8051a7944c84">time_t</a> <a class="code" href="time_8h.html#ae7841e681c8c9d59818568d39553642c">time</a>(<a class="code" href="time_8h.html#ac84921d4d15eedac7d7b8051a7944c84">time_t</a> *t);</div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  </div> @@ -110,10 +111,11 @@ $(document).ready(function(){initNavTree('time_8h_source.html',''); initResizabl <div class="ttc" id="atime_8h_html_ac84921d4d15eedac7d7b8051a7944c84"><div class="ttname"><a href="time_8h.html#ac84921d4d15eedac7d7b8051a7944c84">time_t</a></div><div class="ttdeci">uint16_t time_t</div><div class="ttdef"><b>Definition:</b> time.h:12</div></div> <div class="ttc" id="atypes_8h_html"><div class="ttname"><a href="types_8h.html">types.h</a></div></div> <div class="ttc" id="astdint_8h_html_adf4d876453337156dde61095e1f20223"><div class="ttname"><a href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a></div><div class="ttdeci">unsigned short int uint16_t</div><div class="ttdef"><b>Definition:</b> stdint.h:52</div></div> -<div class="ttc" id="atime_8h_html_a9e660b4ddc93c500ce46593917de2bbf"><div class="ttname"><a href="time_8h.html#a9e660b4ddc93c500ce46593917de2bbf">clock</a></div><div class="ttdeci">clock_t clock()</div></div> -<div class="ttc" id="aasm_2gbz80_2types_8h_html_ad666a63cb94701b620ce999f84629d23"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#ad666a63cb94701b620ce999f84629d23">clock_t</a></div><div class="ttdeci">UINT16 clock_t</div><div class="ttdef"><b>Definition:</b> types.h:65</div></div> <div class="ttc" id="atime_8h_html_ae7841e681c8c9d59818568d39553642c"><div class="ttname"><a href="time_8h.html#ae7841e681c8c9d59818568d39553642c">time</a></div><div class="ttdeci">time_t time(time_t *t)</div></div> <div class="ttc" id="astdint_8h_html"><div class="ttname"><a href="stdint_8h.html">stdint.h</a></div></div> +<div class="ttc" id="aasm_2types_8h_html_a0971918860055db2e50dacea4da8f3bc"><div class="ttname"><a href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></div><div class="ttdeci">#define OLDCALL</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div> +<div class="ttc" id="aasm_2gbz80_2types_8h_html_aeb756bd89bf86769edbefdef8135109f"><div class="ttname"><a href="asm_2gbz80_2types_8h.html#aeb756bd89bf86769edbefdef8135109f">clock_t</a></div><div class="ttdeci">unsigned int clock_t</div><div class="ttdef"><b>Definition:</b> types.h:68</div></div> +<div class="ttc" id="atime_8h_html_acc1f88818af5706d57262377382ae4ac"><div class="ttname"><a href="time_8h.html#acc1f88818af5706d57262377382ae4ac">clock</a></div><div class="ttdeci">clock_t clock() OLDCALL</div></div> <!-- HTML footer for doxygen 1.8.14--> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> diff --git a/docs/api/todo.html b/docs/api/todo.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/typeof_8h.html b/docs/api/typeof_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/typeof_8h_source.html b/docs/api/typeof_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/types_8h.html b/docs/api/types_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/types_8h_source.html b/docs/api/types_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/union____far__ptr.html b/docs/api/union____far__ptr.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/union__fixed.html b/docs/api/union__fixed.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/version_8h.html b/docs/api/version_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/version_8h_source.html b/docs/api/version_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/z80_2provides_8h.html b/docs/api/z80_2provides_8h.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/api/z80_2provides_8h_source.html b/docs/api/z80_2provides_8h_source.html @@ -29,6 +29,7 @@ <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">GBDK 2020 Docs +  <span id="projectnumber">4.0.6</span> </div> <div id="projectbrief">API Documentation for GBDK 2020</div> </td> diff --git a/docs/latex/01__getting__started_8md.tex b/docs/latex/01__getting__started_8md.tex @@ -0,0 +1,2 @@ +\hypertarget{01__getting__started_8md}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages/01\+\_\+getting\+\_\+started.md File Reference} +\label{01__getting__started_8md}\index{c:/gb/gbdk-\/2020/docs/pages/01\_getting\_started.md@{c:/gb/gbdk-\/2020/docs/pages/01\_getting\_started.md}} diff --git a/docs/latex/02__links__and__tools_8md.tex b/docs/latex/02__links__and__tools_8md.tex @@ -0,0 +1,2 @@ +\hypertarget{02__links__and__tools_8md}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages/02\+\_\+links\+\_\+and\+\_\+tools.md File Reference} +\label{02__links__and__tools_8md}\index{c:/gb/gbdk-\/2020/docs/pages/02\_links\_and\_tools.md@{c:/gb/gbdk-\/2020/docs/pages/02\_links\_and\_tools.md}} diff --git a/docs/latex/03__using__gbdk_8md.tex b/docs/latex/03__using__gbdk_8md.tex @@ -0,0 +1,2 @@ +\hypertarget{03__using__gbdk_8md}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages/03\+\_\+using\+\_\+gbdk.md File Reference} +\label{03__using__gbdk_8md}\index{c:/gb/gbdk-\/2020/docs/pages/03\_using\_gbdk.md@{c:/gb/gbdk-\/2020/docs/pages/03\_using\_gbdk.md}} diff --git a/docs/latex/04__coding__guidelines_8md.tex b/docs/latex/04__coding__guidelines_8md.tex @@ -0,0 +1,2 @@ +\hypertarget{04__coding__guidelines_8md}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages/04\+\_\+coding\+\_\+guidelines.md File Reference} +\label{04__coding__guidelines_8md}\index{c:/gb/gbdk-\/2020/docs/pages/04\_coding\_guidelines.md@{c:/gb/gbdk-\/2020/docs/pages/04\_coding\_guidelines.md}} diff --git a/docs/latex/05__banking__mbcs_8md.tex b/docs/latex/05__banking__mbcs_8md.tex @@ -0,0 +1,2 @@ +\hypertarget{05__banking__mbcs_8md}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages/05\+\_\+banking\+\_\+mbcs.md File Reference} +\label{05__banking__mbcs_8md}\index{c:/gb/gbdk-\/2020/docs/pages/05\_banking\_mbcs.md@{c:/gb/gbdk-\/2020/docs/pages/05\_banking\_mbcs.md}} diff --git a/docs/latex/06__toolchain_8md.tex b/docs/latex/06__toolchain_8md.tex @@ -0,0 +1,2 @@ +\hypertarget{06__toolchain_8md}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages/06\+\_\+toolchain.md File Reference} +\label{06__toolchain_8md}\index{c:/gb/gbdk-\/2020/docs/pages/06\_toolchain.md@{c:/gb/gbdk-\/2020/docs/pages/06\_toolchain.md}} diff --git a/docs/latex/06b__supported__consoles_8md.tex b/docs/latex/06b__supported__consoles_8md.tex @@ -0,0 +1,2 @@ +\hypertarget{06b__supported__consoles_8md}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages/06b\+\_\+supported\+\_\+consoles.md File Reference} +\label{06b__supported__consoles_8md}\index{c:/gb/gbdk-\/2020/docs/pages/06b\_supported\_consoles.md@{c:/gb/gbdk-\/2020/docs/pages/06b\_supported\_consoles.md}} diff --git a/docs/latex/07__sample__programs_8md.tex b/docs/latex/07__sample__programs_8md.tex @@ -0,0 +1,2 @@ +\hypertarget{07__sample__programs_8md}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages/07\+\_\+sample\+\_\+programs.md File Reference} +\label{07__sample__programs_8md}\index{c:/gb/gbdk-\/2020/docs/pages/07\_sample\_programs.md@{c:/gb/gbdk-\/2020/docs/pages/07\_sample\_programs.md}} diff --git a/docs/latex/08__faq_8md.tex b/docs/latex/08__faq_8md.tex @@ -0,0 +1,2 @@ +\hypertarget{08__faq_8md}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages/08\+\_\+faq.md File Reference} +\label{08__faq_8md}\index{c:/gb/gbdk-\/2020/docs/pages/08\_faq.md@{c:/gb/gbdk-\/2020/docs/pages/08\_faq.md}} diff --git a/docs/latex/09__migrating__new__versions_8md.tex b/docs/latex/09__migrating__new__versions_8md.tex @@ -0,0 +1,2 @@ +\hypertarget{09__migrating__new__versions_8md}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages/09\+\_\+migrating\+\_\+new\+\_\+versions.md File Reference} +\label{09__migrating__new__versions_8md}\index{c:/gb/gbdk-\/2020/docs/pages/09\_migrating\_new\_versions.md@{c:/gb/gbdk-\/2020/docs/pages/09\_migrating\_new\_versions.md}} diff --git a/docs/latex/10__release__notes_8md.tex b/docs/latex/10__release__notes_8md.tex @@ -0,0 +1,2 @@ +\hypertarget{10__release__notes_8md}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages/10\+\_\+release\+\_\+notes.md File Reference} +\label{10__release__notes_8md}\index{c:/gb/gbdk-\/2020/docs/pages/10\_release\_notes.md@{c:/gb/gbdk-\/2020/docs/pages/10\_release\_notes.md}} diff --git a/docs/latex/20__toolchain__settings_8md.tex b/docs/latex/20__toolchain__settings_8md.tex @@ -0,0 +1,2 @@ +\hypertarget{20__toolchain__settings_8md}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages/20\+\_\+toolchain\+\_\+settings.md File Reference} +\label{20__toolchain__settings_8md}\index{c:/gb/gbdk-\/2020/docs/pages/20\_toolchain\_settings.md@{c:/gb/gbdk-\/2020/docs/pages/20\_toolchain\_settings.md}} diff --git a/docs/latex/Makefile b/docs/latex/Makefile @@ -0,0 +1,23 @@ +LATEX_CMD=pdflatex + +all: refman.pdf + +pdf: refman.pdf + +refman.pdf: clean refman.tex + $(LATEX_CMD) refman + makeindex refman.idx + $(LATEX_CMD) refman + latex_count=8 ; \ + while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ + do \ + echo "Rerunning latex...." ;\ + $(LATEX_CMD) refman ;\ + latex_count=`expr $$latex_count - 1` ;\ + done + makeindex refman.idx + $(LATEX_CMD) refman + + +clean: + rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf diff --git a/docs/latex/annotated.tex b/docs/latex/annotated.tex @@ -0,0 +1,12 @@ +\doxysubsection{Data Structures} +Here are the data structures with brief descriptions\+:\begin{DoxyCompactList} +\item\contentsline{section}{\mbox{\hyperlink{union____far__ptr}{\+\_\+\+\_\+far\+\_\+ptr}} }{\pageref{union____far__ptr}}{} +\item\contentsline{section}{\mbox{\hyperlink{union__fixed}{\+\_\+fixed}} }{\pageref{union__fixed}}{} +\item\contentsline{section}{\mbox{\hyperlink{structatomic__flag}{atomic\+\_\+flag}} }{\pageref{structatomic__flag}}{} +\item\contentsline{section}{\mbox{\hyperlink{structisr__nested__vector__t}{isr\+\_\+nested\+\_\+vector\+\_\+t}} }{\pageref{structisr__nested__vector__t}}{} +\item\contentsline{section}{\mbox{\hyperlink{structisr__vector__t}{isr\+\_\+vector\+\_\+t}} }{\pageref{structisr__vector__t}}{} +\item\contentsline{section}{\mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} }{\pageref{structjoypads__t}}{} +\item\contentsline{section}{\mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} }{\pageref{structmetasprite__t}}{} +\item\contentsline{section}{\mbox{\hyperlink{struct_o_a_m__item__t}{O\+A\+M\+\_\+item\+\_\+t}} }{\pageref{struct_o_a_m__item__t}}{} +\item\contentsline{section}{\mbox{\hyperlink{structsfont__handle}{sfont\+\_\+handle}} }{\pageref{structsfont__handle}}{} +\end{DoxyCompactList} diff --git a/docs/latex/asm_2gbz80_2stdarg_8h.tex b/docs/latex/asm_2gbz80_2stdarg_8h.tex @@ -0,0 +1,46 @@ +\hypertarget{asm_2gbz80_2stdarg_8h}{}\doxysubsection{asm/gbz80/stdarg.h File Reference} +\label{asm_2gbz80_2stdarg_8h}\index{asm/gbz80/stdarg.h@{asm/gbz80/stdarg.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{asm_2gbz80_2stdarg_8h_aa385efb7a67df5acc5e06cf3bdc8802f}{va\+\_\+start}}(list, last)~list = (unsigned char $\ast$)\&last + sizeof(last) +\item +\#define \mbox{\hyperlink{asm_2gbz80_2stdarg_8h_af4d89980b2bdeb5b37bbaa323d108bbc}{va\+\_\+arg}}(list, type)~$\ast$((type $\ast$)((list += sizeof(type)) -\/ sizeof(type))) +\item +\#define \mbox{\hyperlink{asm_2gbz80_2stdarg_8h_aa042dbf8cc345b3a522d6f706a78ddbd}{va\+\_\+end}}(list) +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef unsigned char $\ast$ \mbox{\hyperlink{asm_2gbz80_2stdarg_8h_a90f5a53cfeaf133c17cd213633060737}{va\+\_\+list}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{asm_2gbz80_2stdarg_8h_aa385efb7a67df5acc5e06cf3bdc8802f}\label{asm_2gbz80_2stdarg_8h_aa385efb7a67df5acc5e06cf3bdc8802f}} +\index{stdarg.h@{stdarg.h}!va\_start@{va\_start}} +\index{va\_start@{va\_start}!stdarg.h@{stdarg.h}} +\doxyparagraph{\texorpdfstring{va\_start}{va\_start}} +{\footnotesize\ttfamily \#define va\+\_\+start(\begin{DoxyParamCaption}\item[{}]{list, }\item[{}]{last }\end{DoxyParamCaption})~list = (unsigned char $\ast$)\&last + sizeof(last)} + +\mbox{\Hypertarget{asm_2gbz80_2stdarg_8h_af4d89980b2bdeb5b37bbaa323d108bbc}\label{asm_2gbz80_2stdarg_8h_af4d89980b2bdeb5b37bbaa323d108bbc}} +\index{stdarg.h@{stdarg.h}!va\_arg@{va\_arg}} +\index{va\_arg@{va\_arg}!stdarg.h@{stdarg.h}} +\doxyparagraph{\texorpdfstring{va\_arg}{va\_arg}} +{\footnotesize\ttfamily \#define va\+\_\+arg(\begin{DoxyParamCaption}\item[{}]{list, }\item[{}]{type }\end{DoxyParamCaption})~$\ast$((type $\ast$)((list += sizeof(type)) -\/ sizeof(type)))} + +\mbox{\Hypertarget{asm_2gbz80_2stdarg_8h_aa042dbf8cc345b3a522d6f706a78ddbd}\label{asm_2gbz80_2stdarg_8h_aa042dbf8cc345b3a522d6f706a78ddbd}} +\index{stdarg.h@{stdarg.h}!va\_end@{va\_end}} +\index{va\_end@{va\_end}!stdarg.h@{stdarg.h}} +\doxyparagraph{\texorpdfstring{va\_end}{va\_end}} +{\footnotesize\ttfamily \#define va\+\_\+end(\begin{DoxyParamCaption}\item[{}]{list }\end{DoxyParamCaption})} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{asm_2gbz80_2stdarg_8h_a90f5a53cfeaf133c17cd213633060737}\label{asm_2gbz80_2stdarg_8h_a90f5a53cfeaf133c17cd213633060737}} +\index{stdarg.h@{stdarg.h}!va\_list@{va\_list}} +\index{va\_list@{va\_list}!stdarg.h@{stdarg.h}} +\doxyparagraph{\texorpdfstring{va\_list}{va\_list}} +{\footnotesize\ttfamily typedef unsigned char$\ast$ \mbox{\hyperlink{asm_2gbz80_2stdarg_8h_a90f5a53cfeaf133c17cd213633060737}{va\+\_\+list}}} + diff --git a/docs/latex/asm_2gbz80_2string_8h.tex b/docs/latex/asm_2gbz80_2string_8h.tex @@ -0,0 +1,260 @@ +\hypertarget{asm_2gbz80_2string_8h}{}\doxysubsection{asm/gbz80/string.h File Reference} +\label{asm_2gbz80_2string_8h}\index{asm/gbz80/string.h@{asm/gbz80/string.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +char $\ast$ \mbox{\hyperlink{asm_2gbz80_2string_8h_ada128b5ed545214bb397d1399615ec9e}{strcpy}} (char $\ast$dest, const char $\ast$src) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +int \mbox{\hyperlink{asm_2gbz80_2string_8h_a7172770a053aa1fe0ab46a97ab43a5fa}{strcmp}} (const char $\ast$s1, const char $\ast$s2) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void $\ast$ \mbox{\hyperlink{asm_2gbz80_2string_8h_a6a1a6cbe7fb6102819098340a4986574}{memcpy}} (void $\ast$dest, const void $\ast$src, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} len) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void $\ast$ \mbox{\hyperlink{asm_2gbz80_2string_8h_a802c986820d3866639922b6bc9484f90}{memmove}} (void $\ast$dest, const void $\ast$src, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} n) +\item +void $\ast$ \mbox{\hyperlink{asm_2gbz80_2string_8h_a4bc4146b1a053fc4ec10f1377bb21a4f}{memset}} (void $\ast$s, int \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} n) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +char $\ast$ \mbox{\hyperlink{asm_2gbz80_2string_8h_a476b2b37367c65c6cb36037bfc16b19f}{reverse}} (char $\ast$s) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +char $\ast$ \mbox{\hyperlink{asm_2gbz80_2string_8h_a8908188ae9fc2f05d993257ef001d553}{strcat}} (char $\ast$s1, const char $\ast$s2) +\item +int \mbox{\hyperlink{asm_2gbz80_2string_8h_a5e4982e9d2fd4ec328abfda6b1a3f7e5}{strlen}} (const char $\ast$s) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +char $\ast$ \mbox{\hyperlink{asm_2gbz80_2string_8h_af70714f788819be9dbf368a969be23f7}{strncat}} (char $\ast$s1, const char $\ast$s2, int n) +\item +int \mbox{\hyperlink{asm_2gbz80_2string_8h_ab745ed93c0024648f33dc1d553e9fdcc}{strncmp}} (const char $\ast$s1, const char $\ast$s2, int n) +\item +char $\ast$ \mbox{\hyperlink{asm_2gbz80_2string_8h_a21ae87d60fcc456369668093c57db61f}{strncpy}} (char $\ast$s1, const char $\ast$s2, int n) +\item +int \mbox{\hyperlink{asm_2gbz80_2string_8h_a52701f453c97403ec1b12d286484259b}{memcmp}} (const void $\ast$buf1, const void $\ast$buf2, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} count) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +char \mbox{\hyperlink{asm_2gbz80_2string_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Generic string functions. + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{asm_2gbz80_2string_8h_ada128b5ed545214bb397d1399615ec9e}\label{asm_2gbz80_2string_8h_ada128b5ed545214bb397d1399615ec9e}} +\index{string.h@{string.h}!strcpy@{strcpy}} +\index{strcpy@{strcpy}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strcpy()}{strcpy()}} +{\footnotesize\ttfamily char$\ast$ strcpy (\begin{DoxyParamCaption}\item[{char $\ast$}]{dest, }\item[{const char $\ast$}]{src }\end{DoxyParamCaption})} + +Copies the string pointed to by {\bfseries{src}} (including the terminating `\textbackslash{}0' character) to the array pointed to by {\bfseries{dest}}. + +The strings may not overlap, and the destination string dest must be large enough to receive the copy. + + +\begin{DoxyParams}{Parameters} +{\em dest} & Array to copy into \\ +\hline +{\em src} & Array to copy from\\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A pointer to dest +\end{DoxyReturn} +\mbox{\Hypertarget{asm_2gbz80_2string_8h_a7172770a053aa1fe0ab46a97ab43a5fa}\label{asm_2gbz80_2string_8h_a7172770a053aa1fe0ab46a97ab43a5fa}} +\index{string.h@{string.h}!strcmp@{strcmp}} +\index{strcmp@{strcmp}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strcmp()}{strcmp()}} +{\footnotesize\ttfamily int strcmp (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s1, }\item[{const char $\ast$}]{s2 }\end{DoxyParamCaption})} + +Compares strings + + +\begin{DoxyParams}{Parameters} +{\em s1} & First string to compare \\ +\hline +{\em s2} & Second string to compare\\ +\hline +\end{DoxyParams} +Returns\+: \begin{DoxyItemize} +\item $>$ 0 if {\bfseries{s1}} $>$ {\bfseries{s2}} \item 0 if {\bfseries{s1}} == {\bfseries{s2}} \item $<$ 0 if {\bfseries{s1}} $<$ {\bfseries{s2}} \end{DoxyItemize} +\mbox{\Hypertarget{asm_2gbz80_2string_8h_a6a1a6cbe7fb6102819098340a4986574}\label{asm_2gbz80_2string_8h_a6a1a6cbe7fb6102819098340a4986574}} +\index{string.h@{string.h}!memcpy@{memcpy}} +\index{memcpy@{memcpy}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{memcpy()}{memcpy()}} +{\footnotesize\ttfamily void$\ast$ memcpy (\begin{DoxyParamCaption}\item[{void $\ast$}]{dest, }\item[{const void $\ast$}]{src, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{len }\end{DoxyParamCaption})} + +Copies n bytes from memory area src to memory area dest. + +The memory areas may not overlap. + + +\begin{DoxyParams}{Parameters} +{\em dest} & Buffer to copy into \\ +\hline +{\em src} & Buffer to copy from \\ +\hline +{\em len} & Number of Bytes to copy \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{asm_2gbz80_2string_8h_a802c986820d3866639922b6bc9484f90}\label{asm_2gbz80_2string_8h_a802c986820d3866639922b6bc9484f90}} +\index{string.h@{string.h}!memmove@{memmove}} +\index{memmove@{memmove}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{memmove()}{memmove()}} +{\footnotesize\ttfamily void$\ast$ memmove (\begin{DoxyParamCaption}\item[{void $\ast$}]{dest, }\item[{const void $\ast$}]{src, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{n }\end{DoxyParamCaption})} + +Copies n bytes from memory area src to memory area dest, areas may overlap \mbox{\Hypertarget{asm_2gbz80_2string_8h_a4bc4146b1a053fc4ec10f1377bb21a4f}\label{asm_2gbz80_2string_8h_a4bc4146b1a053fc4ec10f1377bb21a4f}} +\index{string.h@{string.h}!memset@{memset}} +\index{memset@{memset}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{memset()}{memset()}} +{\footnotesize\ttfamily void$\ast$ memset (\begin{DoxyParamCaption}\item[{void $\ast$}]{s, }\item[{int}]{c, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{n }\end{DoxyParamCaption})} + +Fills the memory region {\bfseries{s}} with {\bfseries{n}} bytes using value {\bfseries{c}} + + +\begin{DoxyParams}{Parameters} +{\em s} & Buffer to fill \\ +\hline +{\em c} & char value to fill with (truncated from int) \\ +\hline +{\em n} & Number of bytes to fill \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{asm_2gbz80_2string_8h_a476b2b37367c65c6cb36037bfc16b19f}\label{asm_2gbz80_2string_8h_a476b2b37367c65c6cb36037bfc16b19f}} +\index{string.h@{string.h}!reverse@{reverse}} +\index{reverse@{reverse}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{reverse()}{reverse()}} +{\footnotesize\ttfamily char$\ast$ reverse (\begin{DoxyParamCaption}\item[{char $\ast$}]{s }\end{DoxyParamCaption})} + +Reverses the characters in a string + + +\begin{DoxyParams}{Parameters} +{\em s} & Pointer to string to reverse.\\ +\hline +\end{DoxyParams} +For example \textquotesingle{}abcdefg\textquotesingle{} will become \textquotesingle{}gfedcba\textquotesingle{}. + +Banked as the string must be modifiable. + +Returns\+: Pointer to {\bfseries{s}} \mbox{\Hypertarget{asm_2gbz80_2string_8h_a8908188ae9fc2f05d993257ef001d553}\label{asm_2gbz80_2string_8h_a8908188ae9fc2f05d993257ef001d553}} +\index{string.h@{string.h}!strcat@{strcat}} +\index{strcat@{strcat}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strcat()}{strcat()}} +{\footnotesize\ttfamily char$\ast$ strcat (\begin{DoxyParamCaption}\item[{char $\ast$}]{s1, }\item[{const char $\ast$}]{s2 }\end{DoxyParamCaption})} + +Concatenate Strings. Appends string {\bfseries{s2}} to the end of string {\bfseries{s1}} + + +\begin{DoxyParams}{Parameters} +{\em s1} & String to append onto \\ +\hline +{\em s2} & String to copy from\\ +\hline +\end{DoxyParams} +For example \textquotesingle{}abc\textquotesingle{} and \textquotesingle{}def\textquotesingle{} will become \textquotesingle{}abcdef\textquotesingle{}. + +String {\bfseries{s1}} must be large enough to store both {\bfseries{s1}} and {\bfseries{s2}}. + +Returns\+: Pointer to {\bfseries{s1}} \mbox{\Hypertarget{asm_2gbz80_2string_8h_a5e4982e9d2fd4ec328abfda6b1a3f7e5}\label{asm_2gbz80_2string_8h_a5e4982e9d2fd4ec328abfda6b1a3f7e5}} +\index{string.h@{string.h}!strlen@{strlen}} +\index{strlen@{strlen}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strlen()}{strlen()}} +{\footnotesize\ttfamily int strlen (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption})} + +Calculates the length of a string + + +\begin{DoxyParams}{Parameters} +{\em s} & String to calculate length of\\ +\hline +\end{DoxyParams} +Returns\+: Length of string not including the terminating `\textbackslash{}0' character. \mbox{\Hypertarget{asm_2gbz80_2string_8h_af70714f788819be9dbf368a969be23f7}\label{asm_2gbz80_2string_8h_af70714f788819be9dbf368a969be23f7}} +\index{string.h@{string.h}!strncat@{strncat}} +\index{strncat@{strncat}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strncat()}{strncat()}} +{\footnotesize\ttfamily char$\ast$ strncat (\begin{DoxyParamCaption}\item[{char $\ast$}]{s1, }\item[{const char $\ast$}]{s2, }\item[{int}]{n }\end{DoxyParamCaption})} + +Concatenate at most {\bfseries{n}} characters from string {\bfseries{s2}} onto the end of {\bfseries{s1}}. + + +\begin{DoxyParams}{Parameters} +{\em s1} & String to append onto \\ +\hline +{\em s2} & String to copy from \\ +\hline +{\em n} & Max number of characters to copy from {\bfseries{s2}}\\ +\hline +\end{DoxyParams} +String {\bfseries{s1}} must be large enough to store both {\bfseries{s1}} and {\bfseries{n}} characters of {\bfseries{s2}} + +Returns\+: Pointer to {\bfseries{s1}} \mbox{\Hypertarget{asm_2gbz80_2string_8h_ab745ed93c0024648f33dc1d553e9fdcc}\label{asm_2gbz80_2string_8h_ab745ed93c0024648f33dc1d553e9fdcc}} +\index{string.h@{string.h}!strncmp@{strncmp}} +\index{strncmp@{strncmp}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strncmp()}{strncmp()}} +{\footnotesize\ttfamily int strncmp (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s1, }\item[{const char $\ast$}]{s2, }\item[{int}]{n }\end{DoxyParamCaption})} + +Compare strings (at most {\bfseries{n}} characters)\+: + + +\begin{DoxyParams}{Parameters} +{\em s1} & First string to compare \\ +\hline +{\em s2} & Second string to compare \\ +\hline +{\em n} & Max number of characters to compare\\ +\hline +\end{DoxyParams} +Returns zero if the strings are identical, or non-\/zero if they are not (see below). + +Returns\+: \begin{DoxyItemize} +\item $>$ 0 if {\bfseries{s1}} $>$ {\bfseries{s2}} (at first non-\/matching byte) \item 0 if {\bfseries{s1}} == {\bfseries{s2}} \item $<$ 0 if {\bfseries{s1}} $<$ {\bfseries{s2}} (at first non-\/matching byte) \end{DoxyItemize} +\mbox{\Hypertarget{asm_2gbz80_2string_8h_a21ae87d60fcc456369668093c57db61f}\label{asm_2gbz80_2string_8h_a21ae87d60fcc456369668093c57db61f}} +\index{string.h@{string.h}!strncpy@{strncpy}} +\index{strncpy@{strncpy}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strncpy()}{strncpy()}} +{\footnotesize\ttfamily char$\ast$ strncpy (\begin{DoxyParamCaption}\item[{char $\ast$}]{s1, }\item[{const char $\ast$}]{s2, }\item[{int}]{n }\end{DoxyParamCaption})} + +Copy {\bfseries{n}} characters from string {\bfseries{s2}} to {\bfseries{s1}} + + +\begin{DoxyParams}{Parameters} +{\em s1} & String to copy into \\ +\hline +{\em s2} & String to copy from \\ +\hline +{\em n} & Max number of characters to copy from {\bfseries{s2}}\\ +\hline +\end{DoxyParams} +If {\bfseries{s2}} is shorter than {\bfseries{n}}, the remaining bytes in {\bfseries{s1}} are filled with \textbackslash{}0. + +Warning\+: If there is no \textbackslash{}0 in the first {\bfseries{n}} bytes of {\bfseries{s2}} then {\bfseries{s1}} will not be null terminated. + +Returns\+: Pointer to {\bfseries{s1}} \mbox{\Hypertarget{asm_2gbz80_2string_8h_a52701f453c97403ec1b12d286484259b}\label{asm_2gbz80_2string_8h_a52701f453c97403ec1b12d286484259b}} +\index{string.h@{string.h}!memcmp@{memcmp}} +\index{memcmp@{memcmp}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{memcmp()}{memcmp()}} +{\footnotesize\ttfamily int memcmp (\begin{DoxyParamCaption}\item[{const void $\ast$}]{buf1, }\item[{const void $\ast$}]{buf2, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{count }\end{DoxyParamCaption})} + +Compare up to {\bfseries{count}} bytes in buffers {\bfseries{buf1}} and {\bfseries{buf2}} + + +\begin{DoxyParams}{Parameters} +{\em buf1} & Pointer to First buffer to compare \\ +\hline +{\em buf2} & Pointer to Second buffer to compare \\ +\hline +{\em count} & Max number of bytes to compare\\ +\hline +\end{DoxyParams} +Returns zero if the buffers are identical, or non-\/zero if they are not (see below). + +Returns\+: \begin{DoxyItemize} +\item $>$ 0 if {\bfseries{buf1}} $>$ {\bfseries{buf2}} (at first non-\/matching byte) \item 0 if {\bfseries{buf1}} == {\bfseries{buf2}} \item $<$ 0 if {\bfseries{buf1}} $<$ {\bfseries{buf2}} (at first non-\/matching byte) \end{DoxyItemize} + + +\doxysubsubsection{Variable Documentation} +\mbox{\Hypertarget{asm_2gbz80_2string_8h_a0b3366755f3276b0243c1e0497471b7a}\label{asm_2gbz80_2string_8h_a0b3366755f3276b0243c1e0497471b7a}} +\index{string.h@{string.h}!c@{c}} +\index{c@{c}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{c}{c}} +{\footnotesize\ttfamily void c} + diff --git a/docs/latex/asm_2gbz80_2types_8h.tex b/docs/latex/asm_2gbz80_2types_8h.tex @@ -0,0 +1,98 @@ +\hypertarget{asm_2gbz80_2types_8h}{}\doxysubsection{asm/gbz80/types.h File Reference} +\label{asm_2gbz80_2types_8h}\index{asm/gbz80/types.h@{asm/gbz80/types.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{asm_2gbz80_2types_8h_a8de3167f7b52ff5a2f538858cb5e32d3}{\+\_\+\+\_\+\+S\+I\+Z\+E\+\_\+\+T\+\_\+\+D\+E\+F\+I\+N\+ED}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef signed char \mbox{\hyperlink{asm_2gbz80_2types_8h_a7ebe70ceca856797319175e30bcf003d}{I\+N\+T8}} +\item +typedef unsigned char \mbox{\hyperlink{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}} +\item +typedef signed int \mbox{\hyperlink{asm_2gbz80_2types_8h_a18f1c7ce6c452edd933189d52294af8d}{I\+N\+T16}} +\item +typedef unsigned int \mbox{\hyperlink{asm_2gbz80_2types_8h_a805c2c164bdd38d72a30c46e84fb568b}{U\+I\+N\+T16}} +\item +typedef signed long \mbox{\hyperlink{asm_2gbz80_2types_8h_a516ea33686d40a7f91f5644851ce7b5d}{I\+N\+T32}} +\item +typedef unsigned long \mbox{\hyperlink{asm_2gbz80_2types_8h_a0b39d6d754cb24c708b0f2bdbe88130e}{U\+I\+N\+T32}} +\item +typedef unsigned int \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} +\item +typedef unsigned int \mbox{\hyperlink{asm_2gbz80_2types_8h_aeb756bd89bf86769edbefdef8135109f}{clock\+\_\+t}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +\label{asm_2gbz80_2types_8h_file_asm_gbz80_types_h}% +\Hypertarget{asm_2gbz80_2types_8h_file_asm_gbz80_types_h}% +Types definitions for the gb. + +\label{asm_2gbz80_2types_8h_file_asm_z80_types_h}% +\Hypertarget{asm_2gbz80_2types_8h_file_asm_z80_types_h}% +Types definitions for the gb. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{asm_2gbz80_2types_8h_a8de3167f7b52ff5a2f538858cb5e32d3}\label{asm_2gbz80_2types_8h_a8de3167f7b52ff5a2f538858cb5e32d3}} +\index{types.h@{types.h}!\_\_SIZE\_T\_DEFINED@{\_\_SIZE\_T\_DEFINED}} +\index{\_\_SIZE\_T\_DEFINED@{\_\_SIZE\_T\_DEFINED}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{\_\_SIZE\_T\_DEFINED}{\_\_SIZE\_T\_DEFINED}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+S\+I\+Z\+E\+\_\+\+T\+\_\+\+D\+E\+F\+I\+N\+ED} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{asm_2gbz80_2types_8h_a7ebe70ceca856797319175e30bcf003d}\label{asm_2gbz80_2types_8h_a7ebe70ceca856797319175e30bcf003d}} +\index{types.h@{types.h}!INT8@{INT8}} +\index{INT8@{INT8}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{INT8}{INT8}} +{\footnotesize\ttfamily typedef signed char \mbox{\hyperlink{asm_2gbz80_2types_8h_a7ebe70ceca856797319175e30bcf003d}{I\+N\+T8}}} + +Signed eight bit. \mbox{\Hypertarget{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}\label{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}} +\index{types.h@{types.h}!UINT8@{UINT8}} +\index{UINT8@{UINT8}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{UINT8}{UINT8}} +{\footnotesize\ttfamily typedef unsigned char \mbox{\hyperlink{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}}} + +Unsigned eight bit. \mbox{\Hypertarget{asm_2gbz80_2types_8h_a18f1c7ce6c452edd933189d52294af8d}\label{asm_2gbz80_2types_8h_a18f1c7ce6c452edd933189d52294af8d}} +\index{types.h@{types.h}!INT16@{INT16}} +\index{INT16@{INT16}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{INT16}{INT16}} +{\footnotesize\ttfamily typedef signed int \mbox{\hyperlink{asm_2gbz80_2types_8h_a18f1c7ce6c452edd933189d52294af8d}{I\+N\+T16}}} + +Signed sixteen bit. \mbox{\Hypertarget{asm_2gbz80_2types_8h_a805c2c164bdd38d72a30c46e84fb568b}\label{asm_2gbz80_2types_8h_a805c2c164bdd38d72a30c46e84fb568b}} +\index{types.h@{types.h}!UINT16@{UINT16}} +\index{UINT16@{UINT16}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{UINT16}{UINT16}} +{\footnotesize\ttfamily typedef unsigned int \mbox{\hyperlink{asm_2gbz80_2types_8h_a805c2c164bdd38d72a30c46e84fb568b}{U\+I\+N\+T16}}} + +Unsigned sixteen bit. \mbox{\Hypertarget{asm_2gbz80_2types_8h_a516ea33686d40a7f91f5644851ce7b5d}\label{asm_2gbz80_2types_8h_a516ea33686d40a7f91f5644851ce7b5d}} +\index{types.h@{types.h}!INT32@{INT32}} +\index{INT32@{INT32}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{INT32}{INT32}} +{\footnotesize\ttfamily typedef signed long \mbox{\hyperlink{asm_2gbz80_2types_8h_a516ea33686d40a7f91f5644851ce7b5d}{I\+N\+T32}}} + +Signed 32 bit. \mbox{\Hypertarget{asm_2gbz80_2types_8h_a0b39d6d754cb24c708b0f2bdbe88130e}\label{asm_2gbz80_2types_8h_a0b39d6d754cb24c708b0f2bdbe88130e}} +\index{types.h@{types.h}!UINT32@{UINT32}} +\index{UINT32@{UINT32}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{UINT32}{UINT32}} +{\footnotesize\ttfamily typedef unsigned long \mbox{\hyperlink{asm_2gbz80_2types_8h_a0b39d6d754cb24c708b0f2bdbe88130e}{U\+I\+N\+T32}}} + +Unsigned 32 bit. \mbox{\Hypertarget{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}\label{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}} +\index{types.h@{types.h}!size\_t@{size\_t}} +\index{size\_t@{size\_t}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{size\_t}{size\_t}} +{\footnotesize\ttfamily typedef unsigned int \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}} + +\mbox{\Hypertarget{asm_2gbz80_2types_8h_aeb756bd89bf86769edbefdef8135109f}\label{asm_2gbz80_2types_8h_aeb756bd89bf86769edbefdef8135109f}} +\index{types.h@{types.h}!clock\_t@{clock\_t}} +\index{clock\_t@{clock\_t}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{clock\_t}{clock\_t}} +{\footnotesize\ttfamily typedef unsigned int \mbox{\hyperlink{asm_2gbz80_2types_8h_aeb756bd89bf86769edbefdef8135109f}{clock\+\_\+t}}} + +Returned from clock \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{time_8h_acc1f88818af5706d57262377382ae4ac}{clock}} +\end{DoxySeeAlso} diff --git a/docs/latex/asm_2types_8h.tex b/docs/latex/asm_2types_8h.tex @@ -0,0 +1,182 @@ +\hypertarget{asm_2types_8h}{}\doxysubsection{asm/types.h File Reference} +\label{asm_2types_8h}\index{asm/types.h@{asm/types.h}} +{\ttfamily \#include $<$asm/gbz80/types.\+h$>$}\newline +\doxysubsubsection*{Data Structures} +\begin{DoxyCompactItemize} +\item +union \mbox{\hyperlink{union__fixed}{\+\_\+fixed}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\#define \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(...) +\item +\#define \mbox{\hyperlink{asm_2types_8h_a7a18c4884994b9b520ae535b6d9579d3}{N\+A\+K\+ED}} +\item +\#define \mbox{\hyperlink{asm_2types_8h_afb3731986211fded0a874086c98ffcc4}{S\+FR}} +\item +\#define \mbox{\hyperlink{asm_2types_8h_a66d3e9555a86fa871932c5f60834c67e}{AT}}(A) +\item +\#define \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}} +\item +\#define \mbox{\hyperlink{asm_2types_8h_aa8480aed89a168ec484727f5ac985cd0}{B\+A\+N\+K\+ED}} +\item +\#define \mbox{\hyperlink{asm_2types_8h_ae0233515480e60d29bcc731469976e02}{C\+R\+I\+T\+I\+C\+AL}} +\item +\#define \mbox{\hyperlink{asm_2types_8h_ac950c0db046e2f86d15e7ae1f558b017}{I\+N\+T\+E\+R\+R\+U\+PT}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a7ebe70ceca856797319175e30bcf003d}{I\+N\+T8}} \mbox{\hyperlink{asm_2types_8h_a5e2fb030036b42012a298e24aca66071}{B\+O\+O\+L\+E\+AN}} +\item +typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a7ebe70ceca856797319175e30bcf003d}{I\+N\+T8}} \mbox{\hyperlink{asm_2types_8h_a0059ccf0a32e1f146ef70ce970908bf6}{B\+Y\+TE}} +\item +typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}} \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} +\item +typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a18f1c7ce6c452edd933189d52294af8d}{I\+N\+T16}} \mbox{\hyperlink{asm_2types_8h_ac1b71367b1b0eae6718d17b4fd07aecd}{W\+O\+RD}} +\item +typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a805c2c164bdd38d72a30c46e84fb568b}{U\+I\+N\+T16}} \mbox{\hyperlink{asm_2types_8h_a9e551e7c1bd8feb51e8eefd109966f75}{U\+W\+O\+RD}} +\item +typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a516ea33686d40a7f91f5644851ce7b5d}{I\+N\+T32}} \mbox{\hyperlink{asm_2types_8h_a6c3850eca7373a470eb6e5a7c6278215}{L\+W\+O\+RD}} +\item +typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a0b39d6d754cb24c708b0f2bdbe88130e}{U\+I\+N\+T32}} \mbox{\hyperlink{asm_2types_8h_a91374712e986ede0145415318d88fbd8}{U\+L\+W\+O\+RD}} +\item +typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a516ea33686d40a7f91f5644851ce7b5d}{I\+N\+T32}} \mbox{\hyperlink{asm_2types_8h_ad4ab93994d05960e2f96e83b4c45c1cf}{D\+W\+O\+RD}} +\item +typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a0b39d6d754cb24c708b0f2bdbe88130e}{U\+I\+N\+T32}} \mbox{\hyperlink{asm_2types_8h_a332730c89876a91d3c98a6c9a764e23e}{U\+D\+W\+O\+RD}} +\item +typedef union \mbox{\hyperlink{union__fixed}{\+\_\+fixed}} \mbox{\hyperlink{asm_2types_8h_ab61f8ff6a444351a91fc9a67c8e6145f}{fixed}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Shared types definitions. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}\label{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}} +\index{types.h@{types.h}!OLDCALL@{OLDCALL}} +\index{OLDCALL@{OLDCALL}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{OLDCALL}{OLDCALL}} +{\footnotesize\ttfamily \#define O\+L\+D\+C\+A\+LL} + +\mbox{\Hypertarget{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}\label{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}} +\index{types.h@{types.h}!PRESERVES\_REGS@{PRESERVES\_REGS}} +\index{PRESERVES\_REGS@{PRESERVES\_REGS}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{PRESERVES\_REGS}{PRESERVES\_REGS}} +{\footnotesize\ttfamily \#define P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS(\begin{DoxyParamCaption}\item[{}]{... }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{asm_2types_8h_a7a18c4884994b9b520ae535b6d9579d3}\label{asm_2types_8h_a7a18c4884994b9b520ae535b6d9579d3}} +\index{types.h@{types.h}!NAKED@{NAKED}} +\index{NAKED@{NAKED}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{NAKED}{NAKED}} +{\footnotesize\ttfamily \#define N\+A\+K\+ED} + +\mbox{\Hypertarget{asm_2types_8h_afb3731986211fded0a874086c98ffcc4}\label{asm_2types_8h_afb3731986211fded0a874086c98ffcc4}} +\index{types.h@{types.h}!SFR@{SFR}} +\index{SFR@{SFR}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{SFR}{SFR}} +{\footnotesize\ttfamily \#define S\+FR} + +\mbox{\Hypertarget{asm_2types_8h_a66d3e9555a86fa871932c5f60834c67e}\label{asm_2types_8h_a66d3e9555a86fa871932c5f60834c67e}} +\index{types.h@{types.h}!AT@{AT}} +\index{AT@{AT}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{AT}{AT}} +{\footnotesize\ttfamily \#define AT(\begin{DoxyParamCaption}\item[{}]{A }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}\label{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}} +\index{types.h@{types.h}!NONBANKED@{NONBANKED}} +\index{NONBANKED@{NONBANKED}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{NONBANKED}{NONBANKED}} +{\footnotesize\ttfamily \#define N\+O\+N\+B\+A\+N\+K\+ED} + +\mbox{\Hypertarget{asm_2types_8h_aa8480aed89a168ec484727f5ac985cd0}\label{asm_2types_8h_aa8480aed89a168ec484727f5ac985cd0}} +\index{types.h@{types.h}!BANKED@{BANKED}} +\index{BANKED@{BANKED}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{BANKED}{BANKED}} +{\footnotesize\ttfamily \#define B\+A\+N\+K\+ED} + +\mbox{\Hypertarget{asm_2types_8h_ae0233515480e60d29bcc731469976e02}\label{asm_2types_8h_ae0233515480e60d29bcc731469976e02}} +\index{types.h@{types.h}!CRITICAL@{CRITICAL}} +\index{CRITICAL@{CRITICAL}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{CRITICAL}{CRITICAL}} +{\footnotesize\ttfamily \#define C\+R\+I\+T\+I\+C\+AL} + +\mbox{\Hypertarget{asm_2types_8h_ac950c0db046e2f86d15e7ae1f558b017}\label{asm_2types_8h_ac950c0db046e2f86d15e7ae1f558b017}} +\index{types.h@{types.h}!INTERRUPT@{INTERRUPT}} +\index{INTERRUPT@{INTERRUPT}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{INTERRUPT}{INTERRUPT}} +{\footnotesize\ttfamily \#define I\+N\+T\+E\+R\+R\+U\+PT} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{asm_2types_8h_a5e2fb030036b42012a298e24aca66071}\label{asm_2types_8h_a5e2fb030036b42012a298e24aca66071}} +\index{types.h@{types.h}!BOOLEAN@{BOOLEAN}} +\index{BOOLEAN@{BOOLEAN}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{BOOLEAN}{BOOLEAN}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a7ebe70ceca856797319175e30bcf003d}{I\+N\+T8}} \mbox{\hyperlink{asm_2types_8h_a5e2fb030036b42012a298e24aca66071}{B\+O\+O\+L\+E\+AN}}} + +T\+R\+UE or F\+A\+L\+SE. \label{asm_2types_8h_file_asm_types_h}% +\Hypertarget{asm_2types_8h_file_asm_types_h}% +\mbox{\Hypertarget{asm_2types_8h_a0059ccf0a32e1f146ef70ce970908bf6}\label{asm_2types_8h_a0059ccf0a32e1f146ef70ce970908bf6}} +\index{types.h@{types.h}!BYTE@{BYTE}} +\index{BYTE@{BYTE}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{BYTE}{BYTE}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a7ebe70ceca856797319175e30bcf003d}{I\+N\+T8}} \mbox{\hyperlink{asm_2types_8h_a0059ccf0a32e1f146ef70ce970908bf6}{B\+Y\+TE}}} + +Signed 8 bit. \mbox{\Hypertarget{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}\label{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}} +\index{types.h@{types.h}!UBYTE@{UBYTE}} +\index{UBYTE@{UBYTE}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{UBYTE}{UBYTE}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}} \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}}} + +Unsigned 8 bit. \mbox{\Hypertarget{asm_2types_8h_ac1b71367b1b0eae6718d17b4fd07aecd}\label{asm_2types_8h_ac1b71367b1b0eae6718d17b4fd07aecd}} +\index{types.h@{types.h}!WORD@{WORD}} +\index{WORD@{WORD}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{WORD}{WORD}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a18f1c7ce6c452edd933189d52294af8d}{I\+N\+T16}} \mbox{\hyperlink{asm_2types_8h_ac1b71367b1b0eae6718d17b4fd07aecd}{W\+O\+RD}}} + +Signed 16 bit \mbox{\Hypertarget{asm_2types_8h_a9e551e7c1bd8feb51e8eefd109966f75}\label{asm_2types_8h_a9e551e7c1bd8feb51e8eefd109966f75}} +\index{types.h@{types.h}!UWORD@{UWORD}} +\index{UWORD@{UWORD}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{UWORD}{UWORD}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a805c2c164bdd38d72a30c46e84fb568b}{U\+I\+N\+T16}} \mbox{\hyperlink{asm_2types_8h_a9e551e7c1bd8feb51e8eefd109966f75}{U\+W\+O\+RD}}} + +Unsigned 16 bit \mbox{\Hypertarget{asm_2types_8h_a6c3850eca7373a470eb6e5a7c6278215}\label{asm_2types_8h_a6c3850eca7373a470eb6e5a7c6278215}} +\index{types.h@{types.h}!LWORD@{LWORD}} +\index{LWORD@{LWORD}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{LWORD}{LWORD}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a516ea33686d40a7f91f5644851ce7b5d}{I\+N\+T32}} \mbox{\hyperlink{asm_2types_8h_a6c3850eca7373a470eb6e5a7c6278215}{L\+W\+O\+RD}}} + +Signed 32 bit \mbox{\Hypertarget{asm_2types_8h_a91374712e986ede0145415318d88fbd8}\label{asm_2types_8h_a91374712e986ede0145415318d88fbd8}} +\index{types.h@{types.h}!ULWORD@{ULWORD}} +\index{ULWORD@{ULWORD}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{ULWORD}{ULWORD}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a0b39d6d754cb24c708b0f2bdbe88130e}{U\+I\+N\+T32}} \mbox{\hyperlink{asm_2types_8h_a91374712e986ede0145415318d88fbd8}{U\+L\+W\+O\+RD}}} + +Unsigned 32 bit \mbox{\Hypertarget{asm_2types_8h_ad4ab93994d05960e2f96e83b4c45c1cf}\label{asm_2types_8h_ad4ab93994d05960e2f96e83b4c45c1cf}} +\index{types.h@{types.h}!DWORD@{DWORD}} +\index{DWORD@{DWORD}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{DWORD}{DWORD}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a516ea33686d40a7f91f5644851ce7b5d}{I\+N\+T32}} \mbox{\hyperlink{asm_2types_8h_ad4ab93994d05960e2f96e83b4c45c1cf}{D\+W\+O\+RD}}} + +Signed 32 bit \mbox{\Hypertarget{asm_2types_8h_a332730c89876a91d3c98a6c9a764e23e}\label{asm_2types_8h_a332730c89876a91d3c98a6c9a764e23e}} +\index{types.h@{types.h}!UDWORD@{UDWORD}} +\index{UDWORD@{UDWORD}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{UDWORD}{UDWORD}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{asm_2gbz80_2types_8h_a0b39d6d754cb24c708b0f2bdbe88130e}{U\+I\+N\+T32}} \mbox{\hyperlink{asm_2types_8h_a332730c89876a91d3c98a6c9a764e23e}{U\+D\+W\+O\+RD}}} + +Unsigned 32 bit \mbox{\Hypertarget{asm_2types_8h_ab61f8ff6a444351a91fc9a67c8e6145f}\label{asm_2types_8h_ab61f8ff6a444351a91fc9a67c8e6145f}} +\index{types.h@{types.h}!fixed@{fixed}} +\index{fixed@{fixed}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{fixed}{fixed}} +{\footnotesize\ttfamily typedef union \mbox{\hyperlink{union__fixed}{\+\_\+fixed}} \mbox{\hyperlink{asm_2types_8h_ab61f8ff6a444351a91fc9a67c8e6145f}{fixed}}} + +Useful definition for working with 8 bit + 8 bit fixed point values + +Use {\ttfamily .w} to access the variable as unsigned 16 bit type. + +Use {\ttfamily .b.\+h} and {\ttfamily .b.\+l} (or just {\ttfamily .h} and {\ttfamily .l}) to directly access it\textquotesingle{}s high and low unsigned 8 bit values. + diff --git a/docs/latex/asm_2z80_2stdarg_8h.tex b/docs/latex/asm_2z80_2stdarg_8h.tex @@ -0,0 +1,46 @@ +\hypertarget{asm_2z80_2stdarg_8h}{}\doxysubsection{asm/z80/stdarg.h File Reference} +\label{asm_2z80_2stdarg_8h}\index{asm/z80/stdarg.h@{asm/z80/stdarg.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{asm_2z80_2stdarg_8h_aa385efb7a67df5acc5e06cf3bdc8802f}{va\+\_\+start}}(list, last)~list = (unsigned char $\ast$)\&last + sizeof(last) +\item +\#define \mbox{\hyperlink{asm_2z80_2stdarg_8h_af4d89980b2bdeb5b37bbaa323d108bbc}{va\+\_\+arg}}(list, type)~$\ast$((type $\ast$)((list += sizeof(type)) -\/ sizeof(type))) +\item +\#define \mbox{\hyperlink{asm_2z80_2stdarg_8h_aa042dbf8cc345b3a522d6f706a78ddbd}{va\+\_\+end}}(list) +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef unsigned char $\ast$ \mbox{\hyperlink{asm_2z80_2stdarg_8h_a90f5a53cfeaf133c17cd213633060737}{va\+\_\+list}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{asm_2z80_2stdarg_8h_aa385efb7a67df5acc5e06cf3bdc8802f}\label{asm_2z80_2stdarg_8h_aa385efb7a67df5acc5e06cf3bdc8802f}} +\index{stdarg.h@{stdarg.h}!va\_start@{va\_start}} +\index{va\_start@{va\_start}!stdarg.h@{stdarg.h}} +\doxyparagraph{\texorpdfstring{va\_start}{va\_start}} +{\footnotesize\ttfamily \#define va\+\_\+start(\begin{DoxyParamCaption}\item[{}]{list, }\item[{}]{last }\end{DoxyParamCaption})~list = (unsigned char $\ast$)\&last + sizeof(last)} + +\mbox{\Hypertarget{asm_2z80_2stdarg_8h_af4d89980b2bdeb5b37bbaa323d108bbc}\label{asm_2z80_2stdarg_8h_af4d89980b2bdeb5b37bbaa323d108bbc}} +\index{stdarg.h@{stdarg.h}!va\_arg@{va\_arg}} +\index{va\_arg@{va\_arg}!stdarg.h@{stdarg.h}} +\doxyparagraph{\texorpdfstring{va\_arg}{va\_arg}} +{\footnotesize\ttfamily \#define va\+\_\+arg(\begin{DoxyParamCaption}\item[{}]{list, }\item[{}]{type }\end{DoxyParamCaption})~$\ast$((type $\ast$)((list += sizeof(type)) -\/ sizeof(type)))} + +\mbox{\Hypertarget{asm_2z80_2stdarg_8h_aa042dbf8cc345b3a522d6f706a78ddbd}\label{asm_2z80_2stdarg_8h_aa042dbf8cc345b3a522d6f706a78ddbd}} +\index{stdarg.h@{stdarg.h}!va\_end@{va\_end}} +\index{va\_end@{va\_end}!stdarg.h@{stdarg.h}} +\doxyparagraph{\texorpdfstring{va\_end}{va\_end}} +{\footnotesize\ttfamily \#define va\+\_\+end(\begin{DoxyParamCaption}\item[{}]{list }\end{DoxyParamCaption})} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{asm_2z80_2stdarg_8h_a90f5a53cfeaf133c17cd213633060737}\label{asm_2z80_2stdarg_8h_a90f5a53cfeaf133c17cd213633060737}} +\index{stdarg.h@{stdarg.h}!va\_list@{va\_list}} +\index{va\_list@{va\_list}!stdarg.h@{stdarg.h}} +\doxyparagraph{\texorpdfstring{va\_list}{va\_list}} +{\footnotesize\ttfamily typedef unsigned char$\ast$ \mbox{\hyperlink{asm_2gbz80_2stdarg_8h_a90f5a53cfeaf133c17cd213633060737}{va\+\_\+list}}} + diff --git a/docs/latex/asm_2z80_2string_8h.tex b/docs/latex/asm_2z80_2string_8h.tex @@ -0,0 +1,242 @@ +\hypertarget{asm_2z80_2string_8h}{}\doxysubsection{asm/z80/string.h File Reference} +\label{asm_2z80_2string_8h}\index{asm/z80/string.h@{asm/z80/string.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +char $\ast$ \mbox{\hyperlink{asm_2z80_2string_8h_af5b1fe1ca3f2aca8ad215962460d15a6}{strcpy}} (char $\ast$dest, const char $\ast$src) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +int \mbox{\hyperlink{asm_2z80_2string_8h_a11bd144d7d44914099a3aeddf1c8567d}{strcmp}} (const char $\ast$s1, const char $\ast$s2) +\item +void $\ast$ \mbox{\hyperlink{asm_2z80_2string_8h_abec66c0a707472b9090ea4cd0402d648}{memcpy}} (void $\ast$dest, const void $\ast$src, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} len) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void $\ast$ \mbox{\hyperlink{asm_2z80_2string_8h_a854ba725a4e429439ccf93b1f5ad7b3a}{memmove}} (void $\ast$dest, const void $\ast$src, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} n) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void $\ast$ \mbox{\hyperlink{asm_2z80_2string_8h_a6491121b0087a8848354d9de3aa2444b}{memset}} (void $\ast$s, int \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} n) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} +\item +char $\ast$ \mbox{\hyperlink{asm_2z80_2string_8h_a81863156a28fd2eefeee6859d768bdb1}{reverse}} (char $\ast$s) \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}} +\item +char $\ast$ \mbox{\hyperlink{asm_2z80_2string_8h_a13c88f5a8475fd7de5d81553cb29724a}{strcat}} (char $\ast$s1, const char $\ast$s2) \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}} +\item +int \mbox{\hyperlink{asm_2z80_2string_8h_ac952c3ccec84a458a4d385c5273c1ca0}{strlen}} (const char $\ast$s) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +char $\ast$ \mbox{\hyperlink{asm_2z80_2string_8h_a168580a0ddcb7fe754a711309966c99d}{strncat}} (char $\ast$s1, const char $\ast$s2, int n) \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}} +\item +int \mbox{\hyperlink{asm_2z80_2string_8h_a861dba2d93de82f087707bb795f5c602}{strncmp}} (const char $\ast$s1, const char $\ast$s2, int n) \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}} +\item +char $\ast$ \mbox{\hyperlink{asm_2z80_2string_8h_a796a9459c4f362e51c00307044c40ed5}{strncpy}} (char $\ast$s1, const char $\ast$s2, int n) \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}} +\item +int \mbox{\hyperlink{asm_2z80_2string_8h_add78645dba711c548ab16d056fb83b7e}{memcmp}} (const void $\ast$buf1, const void $\ast$buf2, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} count) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Generic string functions. + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{asm_2z80_2string_8h_af5b1fe1ca3f2aca8ad215962460d15a6}\label{asm_2z80_2string_8h_af5b1fe1ca3f2aca8ad215962460d15a6}} +\index{string.h@{string.h}!strcpy@{strcpy}} +\index{strcpy@{strcpy}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strcpy()}{strcpy()}} +{\footnotesize\ttfamily char$\ast$ strcpy (\begin{DoxyParamCaption}\item[{char $\ast$}]{dest, }\item[{const char $\ast$}]{src }\end{DoxyParamCaption})} + +Copies the string pointed to by {\bfseries{src}} (including the terminating `\textbackslash{}0' character) to the array pointed to by {\bfseries{dest}}. + +The strings may not overlap, and the destination string dest must be large enough to receive the copy. + + +\begin{DoxyParams}{Parameters} +{\em dest} & Array to copy into \\ +\hline +{\em src} & Array to copy from\\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A pointer to dest +\end{DoxyReturn} +\mbox{\Hypertarget{asm_2z80_2string_8h_a11bd144d7d44914099a3aeddf1c8567d}\label{asm_2z80_2string_8h_a11bd144d7d44914099a3aeddf1c8567d}} +\index{string.h@{string.h}!strcmp@{strcmp}} +\index{strcmp@{strcmp}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strcmp()}{strcmp()}} +{\footnotesize\ttfamily int strcmp (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s1, }\item[{const char $\ast$}]{s2 }\end{DoxyParamCaption})} + +Compares strings + + +\begin{DoxyParams}{Parameters} +{\em s1} & First string to compare \\ +\hline +{\em s2} & Second string to compare\\ +\hline +\end{DoxyParams} +Returns\+: \begin{DoxyItemize} +\item $>$ 0 if {\bfseries{s1}} $>$ {\bfseries{s2}} \item 0 if {\bfseries{s1}} == {\bfseries{s2}} \item $<$ 0 if {\bfseries{s1}} $<$ {\bfseries{s2}} \end{DoxyItemize} +\mbox{\Hypertarget{asm_2z80_2string_8h_abec66c0a707472b9090ea4cd0402d648}\label{asm_2z80_2string_8h_abec66c0a707472b9090ea4cd0402d648}} +\index{string.h@{string.h}!memcpy@{memcpy}} +\index{memcpy@{memcpy}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{memcpy()}{memcpy()}} +{\footnotesize\ttfamily void$\ast$ memcpy (\begin{DoxyParamCaption}\item[{void $\ast$}]{dest, }\item[{const void $\ast$}]{src, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{len }\end{DoxyParamCaption})} + +Copies n bytes from memory area src to memory area dest. + +The memory areas may not overlap. + + +\begin{DoxyParams}{Parameters} +{\em dest} & Buffer to copy into \\ +\hline +{\em src} & Buffer to copy from \\ +\hline +{\em len} & Number of Bytes to copy \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{asm_2z80_2string_8h_a854ba725a4e429439ccf93b1f5ad7b3a}\label{asm_2z80_2string_8h_a854ba725a4e429439ccf93b1f5ad7b3a}} +\index{string.h@{string.h}!memmove@{memmove}} +\index{memmove@{memmove}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{memmove()}{memmove()}} +{\footnotesize\ttfamily void$\ast$ memmove (\begin{DoxyParamCaption}\item[{void $\ast$}]{dest, }\item[{const void $\ast$}]{src, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{n }\end{DoxyParamCaption})} + +Copies n bytes from memory area src to memory area dest, areas may overlap \mbox{\Hypertarget{asm_2z80_2string_8h_a6491121b0087a8848354d9de3aa2444b}\label{asm_2z80_2string_8h_a6491121b0087a8848354d9de3aa2444b}} +\index{string.h@{string.h}!memset@{memset}} +\index{memset@{memset}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{memset()}{memset()}} +{\footnotesize\ttfamily void$\ast$ memset (\begin{DoxyParamCaption}\item[{void $\ast$}]{s, }\item[{int}]{c, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{n }\end{DoxyParamCaption})} + +Fills the memory region {\bfseries{s}} with {\bfseries{n}} bytes using value {\bfseries{c}} + + +\begin{DoxyParams}{Parameters} +{\em s} & Buffer to fill \\ +\hline +{\em c} & char value to fill with (truncated from int) \\ +\hline +{\em n} & Number of bytes to fill \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{asm_2z80_2string_8h_a81863156a28fd2eefeee6859d768bdb1}\label{asm_2z80_2string_8h_a81863156a28fd2eefeee6859d768bdb1}} +\index{string.h@{string.h}!reverse@{reverse}} +\index{reverse@{reverse}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{reverse()}{reverse()}} +{\footnotesize\ttfamily char$\ast$ reverse (\begin{DoxyParamCaption}\item[{char $\ast$}]{s }\end{DoxyParamCaption})} + +Reverses the characters in a string + + +\begin{DoxyParams}{Parameters} +{\em s} & Pointer to string to reverse.\\ +\hline +\end{DoxyParams} +For example \textquotesingle{}abcdefg\textquotesingle{} will become \textquotesingle{}gfedcba\textquotesingle{}. + +Banked as the string must be modifiable. + +Returns\+: Pointer to {\bfseries{s}} \mbox{\Hypertarget{asm_2z80_2string_8h_a13c88f5a8475fd7de5d81553cb29724a}\label{asm_2z80_2string_8h_a13c88f5a8475fd7de5d81553cb29724a}} +\index{string.h@{string.h}!strcat@{strcat}} +\index{strcat@{strcat}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strcat()}{strcat()}} +{\footnotesize\ttfamily char$\ast$ strcat (\begin{DoxyParamCaption}\item[{char $\ast$}]{s1, }\item[{const char $\ast$}]{s2 }\end{DoxyParamCaption})} + +Concatenate Strings. Appends string {\bfseries{s2}} to the end of string {\bfseries{s1}} + + +\begin{DoxyParams}{Parameters} +{\em s1} & String to append onto \\ +\hline +{\em s2} & String to copy from\\ +\hline +\end{DoxyParams} +For example \textquotesingle{}abc\textquotesingle{} and \textquotesingle{}def\textquotesingle{} will become \textquotesingle{}abcdef\textquotesingle{}. + +String {\bfseries{s1}} must be large enough to store both {\bfseries{s1}} and {\bfseries{s2}}. + +Returns\+: Pointer to {\bfseries{s1}} \mbox{\Hypertarget{asm_2z80_2string_8h_ac952c3ccec84a458a4d385c5273c1ca0}\label{asm_2z80_2string_8h_ac952c3ccec84a458a4d385c5273c1ca0}} +\index{string.h@{string.h}!strlen@{strlen}} +\index{strlen@{strlen}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strlen()}{strlen()}} +{\footnotesize\ttfamily int strlen (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption})} + +Calculates the length of a string + + +\begin{DoxyParams}{Parameters} +{\em s} & String to calculate length of\\ +\hline +\end{DoxyParams} +Returns\+: Length of string not including the terminating `\textbackslash{}0' character. \mbox{\Hypertarget{asm_2z80_2string_8h_a168580a0ddcb7fe754a711309966c99d}\label{asm_2z80_2string_8h_a168580a0ddcb7fe754a711309966c99d}} +\index{string.h@{string.h}!strncat@{strncat}} +\index{strncat@{strncat}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strncat()}{strncat()}} +{\footnotesize\ttfamily char$\ast$ strncat (\begin{DoxyParamCaption}\item[{char $\ast$}]{s1, }\item[{const char $\ast$}]{s2, }\item[{int}]{n }\end{DoxyParamCaption})} + +Concatenate at most {\bfseries{n}} characters from string {\bfseries{s2}} onto the end of {\bfseries{s1}}. + + +\begin{DoxyParams}{Parameters} +{\em s1} & String to append onto \\ +\hline +{\em s2} & String to copy from \\ +\hline +{\em n} & Max number of characters to copy from {\bfseries{s2}}\\ +\hline +\end{DoxyParams} +String {\bfseries{s1}} must be large enough to store both {\bfseries{s1}} and {\bfseries{n}} characters of {\bfseries{s2}} + +Returns\+: Pointer to {\bfseries{s1}} \mbox{\Hypertarget{asm_2z80_2string_8h_a861dba2d93de82f087707bb795f5c602}\label{asm_2z80_2string_8h_a861dba2d93de82f087707bb795f5c602}} +\index{string.h@{string.h}!strncmp@{strncmp}} +\index{strncmp@{strncmp}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strncmp()}{strncmp()}} +{\footnotesize\ttfamily int strncmp (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s1, }\item[{const char $\ast$}]{s2, }\item[{int}]{n }\end{DoxyParamCaption})} + +Compare strings (at most n characters)\+: + + +\begin{DoxyParams}{Parameters} +{\em s1} & First string to compare \\ +\hline +{\em s2} & Second string to compare \\ +\hline +{\em n} & Max number of characters to compare\\ +\hline +\end{DoxyParams} +Returns\+: \begin{DoxyItemize} +\item $>$ 0 if {\bfseries{s1}} $>$ {\bfseries{s2}} \item 0 if {\bfseries{s1}} == {\bfseries{s2}} \item $<$ 0 if {\bfseries{s1}} $<$ {\bfseries{s2}} \end{DoxyItemize} +\mbox{\Hypertarget{asm_2z80_2string_8h_a796a9459c4f362e51c00307044c40ed5}\label{asm_2z80_2string_8h_a796a9459c4f362e51c00307044c40ed5}} +\index{string.h@{string.h}!strncpy@{strncpy}} +\index{strncpy@{strncpy}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{strncpy()}{strncpy()}} +{\footnotesize\ttfamily char$\ast$ strncpy (\begin{DoxyParamCaption}\item[{char $\ast$}]{s1, }\item[{const char $\ast$}]{s2, }\item[{int}]{n }\end{DoxyParamCaption})} + +Copy {\bfseries{n}} characters from string {\bfseries{s2}} to {\bfseries{s1}} + + +\begin{DoxyParams}{Parameters} +{\em s1} & String to copy into \\ +\hline +{\em s2} & String to copy from \\ +\hline +{\em n} & Max number of characters to copy from {\bfseries{s2}}\\ +\hline +\end{DoxyParams} +If {\bfseries{s2}} is shorter than {\bfseries{n}}, the remaining bytes in {\bfseries{s1}} are filled with \textbackslash{}0. + +Warning\+: If there is no \textbackslash{}0 in the first {\bfseries{n}} bytes of {\bfseries{s2}} then {\bfseries{s1}} will not be null terminated. + +Returns\+: Pointer to {\bfseries{s1}} \mbox{\Hypertarget{asm_2z80_2string_8h_add78645dba711c548ab16d056fb83b7e}\label{asm_2z80_2string_8h_add78645dba711c548ab16d056fb83b7e}} +\index{string.h@{string.h}!memcmp@{memcmp}} +\index{memcmp@{memcmp}!string.h@{string.h}} +\doxyparagraph{\texorpdfstring{memcmp()}{memcmp()}} +{\footnotesize\ttfamily int memcmp (\begin{DoxyParamCaption}\item[{const void $\ast$}]{buf1, }\item[{const void $\ast$}]{buf2, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{count }\end{DoxyParamCaption})} + +Compares buffers + + +\begin{DoxyParams}{Parameters} +{\em buf1} & First buffer to compare \\ +\hline +{\em buf2} & Second buffer to compare \\ +\hline +{\em count} & Buffer length\\ +\hline +\end{DoxyParams} +Returns\+: \begin{DoxyItemize} +\item $>$ 0 if {\bfseries{buf1}} $>$ {\bfseries{buf2}} \item 0 if {\bfseries{buf1}} == {\bfseries{buf2}} \item $<$ 0 if {\bfseries{buf1}} $<$ {\bfseries{buf2}} \end{DoxyItemize} diff --git a/docs/latex/asm_2z80_2types_8h.tex b/docs/latex/asm_2z80_2types_8h.tex @@ -0,0 +1,105 @@ +\hypertarget{asm_2z80_2types_8h}{}\doxysubsection{asm/z80/types.h File Reference} +\label{asm_2z80_2types_8h}\index{asm/z80/types.h@{asm/z80/types.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} +\item +\#define \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} +\item +\#define \mbox{\hyperlink{asm_2z80_2types_8h_a8de3167f7b52ff5a2f538858cb5e32d3}{\+\_\+\+\_\+\+S\+I\+Z\+E\+\_\+\+T\+\_\+\+D\+E\+F\+I\+N\+ED}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef signed char \mbox{\hyperlink{asm_2z80_2types_8h_a7ebe70ceca856797319175e30bcf003d}{I\+N\+T8}} +\item +typedef unsigned char \mbox{\hyperlink{asm_2z80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}} +\item +typedef signed int \mbox{\hyperlink{asm_2z80_2types_8h_a18f1c7ce6c452edd933189d52294af8d}{I\+N\+T16}} +\item +typedef unsigned int \mbox{\hyperlink{asm_2z80_2types_8h_a805c2c164bdd38d72a30c46e84fb568b}{U\+I\+N\+T16}} +\item +typedef signed long \mbox{\hyperlink{asm_2z80_2types_8h_a516ea33686d40a7f91f5644851ce7b5d}{I\+N\+T32}} +\item +typedef unsigned long \mbox{\hyperlink{asm_2z80_2types_8h_a0b39d6d754cb24c708b0f2bdbe88130e}{U\+I\+N\+T32}} +\item +typedef unsigned int \mbox{\hyperlink{asm_2z80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} +\item +typedef unsigned int \mbox{\hyperlink{asm_2z80_2types_8h_aeb756bd89bf86769edbefdef8135109f}{clock\+\_\+t}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}\label{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}} +\index{types.h@{types.h}!Z88DK\_CALLEE@{Z88DK\_CALLEE}} +\index{Z88DK\_CALLEE@{Z88DK\_CALLEE}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{Z88DK\_CALLEE}{Z88DK\_CALLEE}} +{\footnotesize\ttfamily \#define Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE} + +\mbox{\Hypertarget{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}\label{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}} +\index{types.h@{types.h}!Z88DK\_FASTCALL@{Z88DK\_FASTCALL}} +\index{Z88DK\_FASTCALL@{Z88DK\_FASTCALL}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{Z88DK\_FASTCALL}{Z88DK\_FASTCALL}} +{\footnotesize\ttfamily \#define Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL} + +\mbox{\Hypertarget{asm_2z80_2types_8h_a8de3167f7b52ff5a2f538858cb5e32d3}\label{asm_2z80_2types_8h_a8de3167f7b52ff5a2f538858cb5e32d3}} +\index{types.h@{types.h}!\_\_SIZE\_T\_DEFINED@{\_\_SIZE\_T\_DEFINED}} +\index{\_\_SIZE\_T\_DEFINED@{\_\_SIZE\_T\_DEFINED}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{\_\_SIZE\_T\_DEFINED}{\_\_SIZE\_T\_DEFINED}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+S\+I\+Z\+E\+\_\+\+T\+\_\+\+D\+E\+F\+I\+N\+ED} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{asm_2z80_2types_8h_a7ebe70ceca856797319175e30bcf003d}\label{asm_2z80_2types_8h_a7ebe70ceca856797319175e30bcf003d}} +\index{types.h@{types.h}!INT8@{INT8}} +\index{INT8@{INT8}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{INT8}{INT8}} +{\footnotesize\ttfamily typedef signed char \mbox{\hyperlink{asm_2gbz80_2types_8h_a7ebe70ceca856797319175e30bcf003d}{I\+N\+T8}}} + +Signed eight bit. \mbox{\Hypertarget{asm_2z80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}\label{asm_2z80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}} +\index{types.h@{types.h}!UINT8@{UINT8}} +\index{UINT8@{UINT8}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{UINT8}{UINT8}} +{\footnotesize\ttfamily typedef unsigned char \mbox{\hyperlink{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}}} + +Unsigned eight bit. \mbox{\Hypertarget{asm_2z80_2types_8h_a18f1c7ce6c452edd933189d52294af8d}\label{asm_2z80_2types_8h_a18f1c7ce6c452edd933189d52294af8d}} +\index{types.h@{types.h}!INT16@{INT16}} +\index{INT16@{INT16}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{INT16}{INT16}} +{\footnotesize\ttfamily typedef signed int \mbox{\hyperlink{asm_2gbz80_2types_8h_a18f1c7ce6c452edd933189d52294af8d}{I\+N\+T16}}} + +Signed sixteen bit. \mbox{\Hypertarget{asm_2z80_2types_8h_a805c2c164bdd38d72a30c46e84fb568b}\label{asm_2z80_2types_8h_a805c2c164bdd38d72a30c46e84fb568b}} +\index{types.h@{types.h}!UINT16@{UINT16}} +\index{UINT16@{UINT16}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{UINT16}{UINT16}} +{\footnotesize\ttfamily typedef unsigned int \mbox{\hyperlink{asm_2gbz80_2types_8h_a805c2c164bdd38d72a30c46e84fb568b}{U\+I\+N\+T16}}} + +Unsigned sixteen bit. \mbox{\Hypertarget{asm_2z80_2types_8h_a516ea33686d40a7f91f5644851ce7b5d}\label{asm_2z80_2types_8h_a516ea33686d40a7f91f5644851ce7b5d}} +\index{types.h@{types.h}!INT32@{INT32}} +\index{INT32@{INT32}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{INT32}{INT32}} +{\footnotesize\ttfamily typedef signed long \mbox{\hyperlink{asm_2gbz80_2types_8h_a516ea33686d40a7f91f5644851ce7b5d}{I\+N\+T32}}} + +Signed 32 bit. \mbox{\Hypertarget{asm_2z80_2types_8h_a0b39d6d754cb24c708b0f2bdbe88130e}\label{asm_2z80_2types_8h_a0b39d6d754cb24c708b0f2bdbe88130e}} +\index{types.h@{types.h}!UINT32@{UINT32}} +\index{UINT32@{UINT32}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{UINT32}{UINT32}} +{\footnotesize\ttfamily typedef unsigned long \mbox{\hyperlink{asm_2gbz80_2types_8h_a0b39d6d754cb24c708b0f2bdbe88130e}{U\+I\+N\+T32}}} + +Unsigned 32 bit. \mbox{\Hypertarget{asm_2z80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}\label{asm_2z80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}} +\index{types.h@{types.h}!size\_t@{size\_t}} +\index{size\_t@{size\_t}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{size\_t}{size\_t}} +{\footnotesize\ttfamily typedef unsigned int \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}} + +\mbox{\Hypertarget{asm_2z80_2types_8h_aeb756bd89bf86769edbefdef8135109f}\label{asm_2z80_2types_8h_aeb756bd89bf86769edbefdef8135109f}} +\index{types.h@{types.h}!clock\_t@{clock\_t}} +\index{clock\_t@{clock\_t}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{clock\_t}{clock\_t}} +{\footnotesize\ttfamily typedef unsigned int \mbox{\hyperlink{asm_2gbz80_2types_8h_aeb756bd89bf86769edbefdef8135109f}{clock\+\_\+t}}} + +Returned from clock \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{time_8h_acc1f88818af5706d57262377382ae4ac}{clock}} +\end{DoxySeeAlso} diff --git a/docs/latex/assert_8h.tex b/docs/latex/assert_8h.tex @@ -0,0 +1,30 @@ +\hypertarget{assert_8h}{}\doxysubsection{assert.\+h File Reference} +\label{assert_8h}\index{assert.h@{assert.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{assert_8h_af576bf8ffa22a44e53018c67095ffbf0}{assert}}(x)~((x) ? (void)0 \+: \mbox{\hyperlink{assert_8h_ad21a069a92c53643b2e3eaaa73a742fd}{\+\_\+\+\_\+assert}}(\#x, \+\_\+\+\_\+func\+\_\+\+\_\+, \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+)) +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{assert_8h_ad21a069a92c53643b2e3eaaa73a742fd}{\+\_\+\+\_\+assert}} (const char $\ast$expression, const char $\ast$functionname, const char $\ast$filename, unsigned int linenumber) +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{assert_8h_af576bf8ffa22a44e53018c67095ffbf0}\label{assert_8h_af576bf8ffa22a44e53018c67095ffbf0}} +\index{assert.h@{assert.h}!assert@{assert}} +\index{assert@{assert}!assert.h@{assert.h}} +\doxyparagraph{\texorpdfstring{assert}{assert}} +{\footnotesize\ttfamily \#define assert(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~((x) ? (void)0 \+: \mbox{\hyperlink{assert_8h_ad21a069a92c53643b2e3eaaa73a742fd}{\+\_\+\+\_\+assert}}(\#x, \+\_\+\+\_\+func\+\_\+\+\_\+, \+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+))} + + + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{assert_8h_ad21a069a92c53643b2e3eaaa73a742fd}\label{assert_8h_ad21a069a92c53643b2e3eaaa73a742fd}} +\index{assert.h@{assert.h}!\_\_assert@{\_\_assert}} +\index{\_\_assert@{\_\_assert}!assert.h@{assert.h}} +\doxyparagraph{\texorpdfstring{\_\_assert()}{\_\_assert()}} +{\footnotesize\ttfamily void \+\_\+\+\_\+assert (\begin{DoxyParamCaption}\item[{const char $\ast$}]{expression, }\item[{const char $\ast$}]{functionname, }\item[{const char $\ast$}]{filename, }\item[{unsigned int}]{linenumber }\end{DoxyParamCaption})} + diff --git a/docs/latex/bcd_8h.tex b/docs/latex/bcd_8h.tex @@ -0,0 +1,121 @@ +\hypertarget{bcd_8h}{}\doxysubsection{gb/bcd.h File Reference} +\label{bcd_8h}\index{gb/bcd.h@{gb/bcd.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{bcd_8h_a5b336fcb3fc84fe505dc7e14d0ec17a7}{B\+C\+D\+\_\+\+H\+EX}}(v)~((\mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}})(v)) +\item +\#define \mbox{\hyperlink{bcd_8h_a8a3023920aa103a74c7d59007bcc7b6f}{M\+A\+K\+E\+\_\+\+B\+CD}}(v)~\mbox{\hyperlink{bcd_8h_a5b336fcb3fc84fe505dc7e14d0ec17a7}{B\+C\+D\+\_\+\+H\+EX}}(0x \#\# v) +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef \mbox{\hyperlink{stdint_8h_a33594304e786b158f3fb30289278f5af}{uint32\+\_\+t}} \mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{bcd_8h_af3d125e9dbb48d630cf7e2f7d1343ba1}{uint2bcd}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} i, \mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}} $\ast$value) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{bcd_8h_a0b14c76afa669863ed43c080f5baca98}{bcd\+\_\+add}} (\mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}} $\ast$sour, const \mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}} $\ast$value) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{bcd_8h_a743275b2ee21c93633a933a2d3073d4e}{bcd\+\_\+sub}} (\mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}} $\ast$sour, const \mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}} $\ast$value) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{bcd_8h_aec09ce7373727160488408c65fc8a91e}{bcd2text}} (const \mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}} $\ast$bcd, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} tile\+\_\+offset, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$buffer) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Support for working with B\+CD (Binary Coded Decimal) + +See the example B\+CD project for additional details. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{bcd_8h_a5b336fcb3fc84fe505dc7e14d0ec17a7}\label{bcd_8h_a5b336fcb3fc84fe505dc7e14d0ec17a7}} +\index{bcd.h@{bcd.h}!BCD\_HEX@{BCD\_HEX}} +\index{BCD\_HEX@{BCD\_HEX}!bcd.h@{bcd.h}} +\doxyparagraph{\texorpdfstring{BCD\_HEX}{BCD\_HEX}} +{\footnotesize\ttfamily \#define B\+C\+D\+\_\+\+H\+EX(\begin{DoxyParamCaption}\item[{}]{v }\end{DoxyParamCaption})~((\mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}})(v))} + +\mbox{\Hypertarget{bcd_8h_a8a3023920aa103a74c7d59007bcc7b6f}\label{bcd_8h_a8a3023920aa103a74c7d59007bcc7b6f}} +\index{bcd.h@{bcd.h}!MAKE\_BCD@{MAKE\_BCD}} +\index{MAKE\_BCD@{MAKE\_BCD}!bcd.h@{bcd.h}} +\doxyparagraph{\texorpdfstring{MAKE\_BCD}{MAKE\_BCD}} +{\footnotesize\ttfamily \#define M\+A\+K\+E\+\_\+\+B\+CD(\begin{DoxyParamCaption}\item[{}]{v }\end{DoxyParamCaption})~\mbox{\hyperlink{bcd_8h_a5b336fcb3fc84fe505dc7e14d0ec17a7}{B\+C\+D\+\_\+\+H\+EX}}(0x \#\# v)} + +Converts an integer value into B\+CD format + +A maximum of 8 digits may be used + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}\label{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}} +\index{bcd.h@{bcd.h}!BCD@{BCD}} +\index{BCD@{BCD}!bcd.h@{bcd.h}} +\doxyparagraph{\texorpdfstring{BCD}{BCD}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{stdint_8h_a33594304e786b158f3fb30289278f5af}{uint32\+\_\+t}} \mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}}} + + + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{bcd_8h_af3d125e9dbb48d630cf7e2f7d1343ba1}\label{bcd_8h_af3d125e9dbb48d630cf7e2f7d1343ba1}} +\index{bcd.h@{bcd.h}!uint2bcd@{uint2bcd}} +\index{uint2bcd@{uint2bcd}!bcd.h@{bcd.h}} +\doxyparagraph{\texorpdfstring{uint2bcd()}{uint2bcd()}} +{\footnotesize\ttfamily void uint2bcd (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{i, }\item[{\mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}} $\ast$}]{value }\end{DoxyParamCaption})} + +Converts integer {\bfseries{i}} into B\+CD format (Binary Coded Decimal) +\begin{DoxyParams}{Parameters} +{\em i} & Numeric value to convert \\ +\hline +{\em value} & Pointer to a B\+CD variable to store the converted result \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{bcd_8h_a0b14c76afa669863ed43c080f5baca98}\label{bcd_8h_a0b14c76afa669863ed43c080f5baca98}} +\index{bcd.h@{bcd.h}!bcd\_add@{bcd\_add}} +\index{bcd\_add@{bcd\_add}!bcd.h@{bcd.h}} +\doxyparagraph{\texorpdfstring{bcd\_add()}{bcd\_add()}} +{\footnotesize\ttfamily void bcd\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}} $\ast$}]{sour, }\item[{const \mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}} $\ast$}]{value }\end{DoxyParamCaption})} + +Adds two numbers in B\+CD format\+: {\bfseries{sour}} += {\bfseries{value}} +\begin{DoxyParams}{Parameters} +{\em sour} & Pointer to a B\+CD value to add to (and where the result is stored) \\ +\hline +{\em value} & Pointer to the B\+CD value to add to {\bfseries{sour}} \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{bcd_8h_a743275b2ee21c93633a933a2d3073d4e}\label{bcd_8h_a743275b2ee21c93633a933a2d3073d4e}} +\index{bcd.h@{bcd.h}!bcd\_sub@{bcd\_sub}} +\index{bcd\_sub@{bcd\_sub}!bcd.h@{bcd.h}} +\doxyparagraph{\texorpdfstring{bcd\_sub()}{bcd\_sub()}} +{\footnotesize\ttfamily void bcd\+\_\+sub (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}} $\ast$}]{sour, }\item[{const \mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}} $\ast$}]{value }\end{DoxyParamCaption})} + +Subtracts two numbers in B\+CD format\+: {\bfseries{sour}} -\/= {\bfseries{value}} +\begin{DoxyParams}{Parameters} +{\em sour} & Pointer to a B\+CD value to subtract from (and where the result is stored) \\ +\hline +{\em value} & Pointer to the B\+CD value to subtract from {\bfseries{sour}} \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{bcd_8h_aec09ce7373727160488408c65fc8a91e}\label{bcd_8h_aec09ce7373727160488408c65fc8a91e}} +\index{bcd.h@{bcd.h}!bcd2text@{bcd2text}} +\index{bcd2text@{bcd2text}!bcd.h@{bcd.h}} +\doxyparagraph{\texorpdfstring{bcd2text()}{bcd2text()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} bcd2text (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{bcd_8h_a4813acd7f1852dd32b67175ca6aca2eb}{B\+CD}} $\ast$}]{bcd, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{tile\+\_\+offset, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{buffer }\end{DoxyParamCaption})} + +Convert a B\+CD number into an asciiz (null terminated) string and return the length +\begin{DoxyParams}{Parameters} +{\em bcd} & Pointer to B\+CD value to convert \\ +\hline +{\em tile\+\_\+offset} & Optional per-\/character offset value to add (use 0 for none) \\ +\hline +{\em buffer} & Buffer to store the result in\\ +\hline +\end{DoxyParams} +Returns\+: Length in characters (always 8) + +{\bfseries{buffer}} should be large enough to store the converted string (9 bytes\+: 8 characters + 1 for terminator) + +There are a couple different ways to use {\bfseries{tile\+\_\+offset}}. For example\+: \begin{DoxyItemize} +\item It can be the Index of the Font Tile \textquotesingle{}0\textquotesingle{} in V\+R\+AM to allow the buffer to be used directly with \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}}. \item It can also be set to the ascii value for character \textquotesingle{}0\textquotesingle{} so that the buffer is a normal string that can be passed to \mbox{\hyperlink{stdio_8h_ab403fa700816f08631ba75bc536f74d4}{printf}}. \end{DoxyItemize} diff --git a/docs/latex/bgb__emu_8h.tex b/docs/latex/bgb__emu_8h.tex @@ -0,0 +1,9 @@ +\hypertarget{bgb__emu_8h}{}\doxysubsection{gb/bgb\+\_\+emu.h File Reference} +\label{bgb__emu_8h}\index{gb/bgb\_emu.h@{gb/bgb\_emu.h}} +{\ttfamily \#include $<$gb/emu\+\_\+debug.\+h$>$}\newline + + +\doxysubsubsection{Detailed Description} +Shim for legacy use of \mbox{\hyperlink{bgb__emu_8h}{bgb\+\_\+emu.\+h}} which has been migrated to \mbox{\hyperlink{emu__debug_8h}{emu\+\_\+debug.\+h}} + +See the {\ttfamily emu\+\_\+debug} example project included with gbdk. + diff --git a/docs/latex/cgb_8h.tex b/docs/latex/cgb_8h.tex @@ -0,0 +1,428 @@ +\hypertarget{cgb_8h}{}\doxysubsection{gb/cgb.h File Reference} +\label{cgb_8h}\index{gb/cgb.h@{gb/cgb.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(r, g, \mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})~((((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}) \& 0x1f) $<$$<$ 10) $\vert$ (((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(g) \& 0x1f) $<$$<$ 5) $\vert$ (((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(r) \& 0x1f) $<$$<$ 0)) +\item +\#define \mbox{\hyperlink{cgb_8h_a7d2ed0f10b2b74123a544327bbfd7564}{R\+G\+B8}}(r, g, \mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})~((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})((r) $>$$>$ 3) $\vert$ ((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})((g) $>$$>$ 3) $<$$<$ 5) $\vert$ ((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})((\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}) $>$$>$ 3) $<$$<$ 10)) +\item +\#define \mbox{\hyperlink{cgb_8h_ab5a6e450fcf10402278fe585a421dbbd}{R\+G\+B\+H\+T\+ML}}(R\+G\+B24bit)~(\mbox{\hyperlink{cgb_8h_a7d2ed0f10b2b74123a544327bbfd7564}{R\+G\+B8}}((((R\+G\+B24bit) $>$$>$ 16) \& 0x\+FF), (((R\+G\+B24bit) $>$$>$ 8) \& 0x\+FF), ((R\+G\+B24bit) \& 0x\+FF))) +\item +\#define \mbox{\hyperlink{cgb_8h_aa039288455af8a3812a35aa1e7b903e4}{R\+G\+B\+\_\+\+R\+ED}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(31, 0, 0) +\item +\#define \mbox{\hyperlink{cgb_8h_ae29b6947ac7dca7db513e59f1cfcbf51}{R\+G\+B\+\_\+\+D\+A\+R\+K\+R\+ED}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(15, 0, 0) +\item +\#define \mbox{\hyperlink{cgb_8h_ab6c97468034c02fe204fd37036d9be15}{R\+G\+B\+\_\+\+G\+R\+E\+EN}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}( 0, 31, 0) +\item +\#define \mbox{\hyperlink{cgb_8h_a1ee7a5d8fd635e9132a2820a60f9789d}{R\+G\+B\+\_\+\+D\+A\+R\+K\+G\+R\+E\+EN}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}( 0, 15, 0) +\item +\#define \mbox{\hyperlink{cgb_8h_a0eff802f1ca228046476209dc01c76ad}{R\+G\+B\+\_\+\+B\+L\+UE}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}( 0, 0, 31) +\item +\#define \mbox{\hyperlink{cgb_8h_ad44385fc245bbabf6da787dcc8930385}{R\+G\+B\+\_\+\+D\+A\+R\+K\+B\+L\+UE}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}( 0, 0, 15) +\item +\#define \mbox{\hyperlink{cgb_8h_ad74a18fca945f257dc9d1b99f9edbd40}{R\+G\+B\+\_\+\+Y\+E\+L\+L\+OW}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(31, 31, 0) +\item +\#define \mbox{\hyperlink{cgb_8h_a2727da9f8c0b09a67375575a00186e2a}{R\+G\+B\+\_\+\+D\+A\+R\+K\+Y\+E\+L\+L\+OW}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(21, 21, 0) +\item +\#define \mbox{\hyperlink{cgb_8h_a2ce30ac984869b55594447722b9d0579}{R\+G\+B\+\_\+\+C\+Y\+AN}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}( 0, 31, 31) +\item +\#define \mbox{\hyperlink{cgb_8h_ae4fe0c6cfa46b0c4804425f23bb48f4c}{R\+G\+B\+\_\+\+A\+Q\+UA}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(28, 5, 22) +\item +\#define \mbox{\hyperlink{cgb_8h_a59fb596d3d65cfc4d3cb7e5044b8b10a}{R\+G\+B\+\_\+\+P\+I\+NK}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(31, 0, 31) +\item +\#define \mbox{\hyperlink{cgb_8h_a9d5a5f880df6bd4b64e6546839d41101}{R\+G\+B\+\_\+\+P\+U\+R\+P\+LE}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(21, 0, 21) +\item +\#define \mbox{\hyperlink{cgb_8h_ae168f0f9864d4ed4be7807b9783f17f1}{R\+G\+B\+\_\+\+B\+L\+A\+CK}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}( 0, 0, 0) +\item +\#define \mbox{\hyperlink{cgb_8h_a29b47e2361025eabcdc3bcbff2308044}{R\+G\+B\+\_\+\+D\+A\+R\+K\+G\+R\+AY}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(10, 10, 10) +\item +\#define \mbox{\hyperlink{cgb_8h_a80efbf7b13421922fb174f3e6a3e235c}{R\+G\+B\+\_\+\+L\+I\+G\+H\+T\+G\+R\+AY}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(21, 21, 21) +\item +\#define \mbox{\hyperlink{cgb_8h_ac1771f95d9887118764bd8a074e537e1}{R\+G\+B\+\_\+\+W\+H\+I\+TE}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(31, 31, 31) +\item +\#define \mbox{\hyperlink{cgb_8h_a90ef6e9a3d95516b1fef15076b1b4999}{R\+G\+B\+\_\+\+L\+I\+G\+H\+T\+F\+L\+E\+SH}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(30, 20, 15) +\item +\#define \mbox{\hyperlink{cgb_8h_a7c2a437dfb89d663a1c2f0a7a9256474}{R\+G\+B\+\_\+\+B\+R\+O\+WN}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(10, 10, 0) +\item +\#define \mbox{\hyperlink{cgb_8h_a0a85d8d0da8edc5cce98f48701f903f7}{R\+G\+B\+\_\+\+O\+R\+A\+N\+GE}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(30, 20, 0) +\item +\#define \mbox{\hyperlink{cgb_8h_a9c8c3710151b2258ea8269850498703f}{R\+G\+B\+\_\+\+T\+E\+AL}}~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(15, 15, 0) +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{cgb_8h_af868d7cdbd052c6b972ef137e02f6495}{palette\+\_\+color\+\_\+t}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{cgb_8h_aa8851ca1f515ca55cbf9f6ff53b08e8a}{set\+\_\+bkg\+\_\+palette}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+palette, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+palettes, \mbox{\hyperlink{cgb_8h_af868d7cdbd052c6b972ef137e02f6495}{palette\+\_\+color\+\_\+t}} $\ast$rgb\+\_\+data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{cgb_8h_a9ca9f825284da0db522d15aa2e42a4af}{set\+\_\+sprite\+\_\+palette}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+palette, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+palettes, \mbox{\hyperlink{cgb_8h_af868d7cdbd052c6b972ef137e02f6495}{palette\+\_\+color\+\_\+t}} $\ast$rgb\+\_\+data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{cgb_8h_aa8881ff123f364f2e7d1e88c18f9fbca}{set\+\_\+bkg\+\_\+palette\+\_\+entry}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} palette, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} entry, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} rgb\+\_\+data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{cgb_8h_aebeb7431ebd400baed34796a8f50ea58}{set\+\_\+sprite\+\_\+palette\+\_\+entry}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} palette, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} entry, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} rgb\+\_\+data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{cgb_8h_a6a36fb9584e4a123f6164530a3b1e5e2}{cpu\+\_\+slow}} () +\item +void \mbox{\hyperlink{cgb_8h_a884a743919b234cd9c37789380784d08}{cpu\+\_\+fast}} () +\item +void \mbox{\hyperlink{cgb_8h_abd34836339579013c097ae4dea10c014}{set\+\_\+default\+\_\+palette}} () +\item +void \mbox{\hyperlink{cgb_8h_ac2dd234782ac786758952496b017ab97}{cgb\+\_\+compatibility}} () +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Support for the Color Game\+Boy (C\+GB). + +{\bfseries{Enabling C\+GB features}} + +To unlock and use C\+GB features and registers you need to change byte 0143h in the cartridge header. Otherwise, the C\+GB will operate in monochrome \char`\"{}\+Non C\+G\+B\char`\"{} compatibility mode. \begin{DoxyItemize} +\item Use a value of {\bfseries{80h}} for games that support C\+GB and monochrome gameboys ~\newline + (with Lcc\+: {\bfseries{-\/Wm-\/yc}}, or makebin directly\+: {\bfseries{-\/yc}}) \item Use a value of {\bfseries{C0h}} for C\+GB only games. ~\newline + (with Lcc\+: {\bfseries{-\/Wm-\/yC}}, or makebin directly\+: {\bfseries{-\/yC}})\end{DoxyItemize} +See the Pan Docs for more information C\+GB features. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}\label{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}} +\index{cgb.h@{cgb.h}!RGB@{RGB}} +\index{RGB@{RGB}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB}{RGB}} +{\footnotesize\ttfamily \#define R\+GB(\begin{DoxyParamCaption}\item[{}]{r, }\item[{}]{g, }\item[{}]{\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} }\end{DoxyParamCaption})~((((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}) \& 0x1f) $<$$<$ 10) $\vert$ (((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(g) \& 0x1f) $<$$<$ 5) $\vert$ (((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(r) \& 0x1f) $<$$<$ 0))} + +Macro to create a C\+GB palette color entry out of 5-\/bit color components. + + +\begin{DoxyParams}{Parameters} +{\em r} & 5-\/bit Red Component, range 0 -\/ 31 (31 brightest) \\ +\hline +{\em g} & 5-\/bit Green Component, range 0 -\/ 31 (31 brightest) \\ +\hline +{\em b} & 5-\/bit Blue Component, range 0 -\/ 31 (31 brightest)\\ +\hline +\end{DoxyParams} +The resulting format is bitpacked B\+G\+R-\/555 in a uint16\+\_\+t. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{cgb_8h_aa8851ca1f515ca55cbf9f6ff53b08e8a}{set\+\_\+bkg\+\_\+palette()}}, \mbox{\hyperlink{cgb_8h_a9ca9f825284da0db522d15aa2e42a4af}{set\+\_\+sprite\+\_\+palette()}}, \mbox{\hyperlink{cgb_8h_a7d2ed0f10b2b74123a544327bbfd7564}{R\+G\+B8()}}, \mbox{\hyperlink{cgb_8h_ab5a6e450fcf10402278fe585a421dbbd}{R\+G\+B\+H\+T\+M\+L()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{cgb_8h_a7d2ed0f10b2b74123a544327bbfd7564}\label{cgb_8h_a7d2ed0f10b2b74123a544327bbfd7564}} +\index{cgb.h@{cgb.h}!RGB8@{RGB8}} +\index{RGB8@{RGB8}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB8}{RGB8}} +{\footnotesize\ttfamily \#define R\+G\+B8(\begin{DoxyParamCaption}\item[{}]{r, }\item[{}]{g, }\item[{}]{\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} }\end{DoxyParamCaption})~((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})((r) $>$$>$ 3) $\vert$ ((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})((g) $>$$>$ 3) $<$$<$ 5) $\vert$ ((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})((\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}) $>$$>$ 3) $<$$<$ 10))} + +Macro to create a C\+GB palette color entry out of 8-\/bit color components. + + +\begin{DoxyParams}{Parameters} +{\em r} & 8-\/bit Red Component, range 0 -\/ 255 (255 brightest) \\ +\hline +{\em g} & 8-\/bit Green Component, range 0 -\/ 255 (255 brightest) \\ +\hline +{\em b} & 8-\/bit Blue Component, range 0 -\/ 255 (255 brightest)\\ +\hline +\end{DoxyParams} +The resulting format is bitpacked B\+G\+R-\/555 in a uint16\+\_\+t. + +The lowest 3 bits of each color component are dropped during conversion. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{cgb_8h_aa8851ca1f515ca55cbf9f6ff53b08e8a}{set\+\_\+bkg\+\_\+palette()}}, \mbox{\hyperlink{cgb_8h_a9ca9f825284da0db522d15aa2e42a4af}{set\+\_\+sprite\+\_\+palette()}}, \mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+G\+B()}}, \mbox{\hyperlink{cgb_8h_ab5a6e450fcf10402278fe585a421dbbd}{R\+G\+B\+H\+T\+M\+L()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{cgb_8h_ab5a6e450fcf10402278fe585a421dbbd}\label{cgb_8h_ab5a6e450fcf10402278fe585a421dbbd}} +\index{cgb.h@{cgb.h}!RGBHTML@{RGBHTML}} +\index{RGBHTML@{RGBHTML}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGBHTML}{RGBHTML}} +{\footnotesize\ttfamily \#define R\+G\+B\+H\+T\+ML(\begin{DoxyParamCaption}\item[{}]{R\+G\+B24bit }\end{DoxyParamCaption})~(\mbox{\hyperlink{cgb_8h_a7d2ed0f10b2b74123a544327bbfd7564}{R\+G\+B8}}((((R\+G\+B24bit) $>$$>$ 16) \& 0x\+FF), (((R\+G\+B24bit) $>$$>$ 8) \& 0x\+FF), ((R\+G\+B24bit) \& 0x\+FF)))} + +Macro to convert a 24 Bit R\+GB color to a C\+GB palette color entry. + + +\begin{DoxyParams}{Parameters} +{\em R\+G\+B24bit} & Bit packed R\+G\+B-\/888 color (0-\/255 for each color component).\\ +\hline +\end{DoxyParams} +The resulting format is bitpacked B\+G\+R-\/555 in a uint16\+\_\+t. + +The lowest 3 bits of each color component are dropped during conversion. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{cgb_8h_aa8851ca1f515ca55cbf9f6ff53b08e8a}{set\+\_\+bkg\+\_\+palette()}}, \mbox{\hyperlink{cgb_8h_a9ca9f825284da0db522d15aa2e42a4af}{set\+\_\+sprite\+\_\+palette()}}, \mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+G\+B()}}, \mbox{\hyperlink{cgb_8h_a7d2ed0f10b2b74123a544327bbfd7564}{R\+G\+B8()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{cgb_8h_aa039288455af8a3812a35aa1e7b903e4}\label{cgb_8h_aa039288455af8a3812a35aa1e7b903e4}} +\index{cgb.h@{cgb.h}!RGB\_RED@{RGB\_RED}} +\index{RGB\_RED@{RGB\_RED}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_RED}{RGB\_RED}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+R\+ED~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(31, 0, 0)} + +Common colors based on the E\+GA default palette. \mbox{\Hypertarget{cgb_8h_ae29b6947ac7dca7db513e59f1cfcbf51}\label{cgb_8h_ae29b6947ac7dca7db513e59f1cfcbf51}} +\index{cgb.h@{cgb.h}!RGB\_DARKRED@{RGB\_DARKRED}} +\index{RGB\_DARKRED@{RGB\_DARKRED}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_DARKRED}{RGB\_DARKRED}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+D\+A\+R\+K\+R\+ED~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(15, 0, 0)} + +\mbox{\Hypertarget{cgb_8h_ab6c97468034c02fe204fd37036d9be15}\label{cgb_8h_ab6c97468034c02fe204fd37036d9be15}} +\index{cgb.h@{cgb.h}!RGB\_GREEN@{RGB\_GREEN}} +\index{RGB\_GREEN@{RGB\_GREEN}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_GREEN}{RGB\_GREEN}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+G\+R\+E\+EN~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}( 0, 31, 0)} + +\mbox{\Hypertarget{cgb_8h_a1ee7a5d8fd635e9132a2820a60f9789d}\label{cgb_8h_a1ee7a5d8fd635e9132a2820a60f9789d}} +\index{cgb.h@{cgb.h}!RGB\_DARKGREEN@{RGB\_DARKGREEN}} +\index{RGB\_DARKGREEN@{RGB\_DARKGREEN}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_DARKGREEN}{RGB\_DARKGREEN}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+D\+A\+R\+K\+G\+R\+E\+EN~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}( 0, 15, 0)} + +\mbox{\Hypertarget{cgb_8h_a0eff802f1ca228046476209dc01c76ad}\label{cgb_8h_a0eff802f1ca228046476209dc01c76ad}} +\index{cgb.h@{cgb.h}!RGB\_BLUE@{RGB\_BLUE}} +\index{RGB\_BLUE@{RGB\_BLUE}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_BLUE}{RGB\_BLUE}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+B\+L\+UE~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}( 0, 0, 31)} + +\mbox{\Hypertarget{cgb_8h_ad44385fc245bbabf6da787dcc8930385}\label{cgb_8h_ad44385fc245bbabf6da787dcc8930385}} +\index{cgb.h@{cgb.h}!RGB\_DARKBLUE@{RGB\_DARKBLUE}} +\index{RGB\_DARKBLUE@{RGB\_DARKBLUE}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_DARKBLUE}{RGB\_DARKBLUE}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+D\+A\+R\+K\+B\+L\+UE~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}( 0, 0, 15)} + +\mbox{\Hypertarget{cgb_8h_ad74a18fca945f257dc9d1b99f9edbd40}\label{cgb_8h_ad74a18fca945f257dc9d1b99f9edbd40}} +\index{cgb.h@{cgb.h}!RGB\_YELLOW@{RGB\_YELLOW}} +\index{RGB\_YELLOW@{RGB\_YELLOW}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_YELLOW}{RGB\_YELLOW}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+Y\+E\+L\+L\+OW~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(31, 31, 0)} + +\mbox{\Hypertarget{cgb_8h_a2727da9f8c0b09a67375575a00186e2a}\label{cgb_8h_a2727da9f8c0b09a67375575a00186e2a}} +\index{cgb.h@{cgb.h}!RGB\_DARKYELLOW@{RGB\_DARKYELLOW}} +\index{RGB\_DARKYELLOW@{RGB\_DARKYELLOW}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_DARKYELLOW}{RGB\_DARKYELLOW}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+D\+A\+R\+K\+Y\+E\+L\+L\+OW~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(21, 21, 0)} + +\mbox{\Hypertarget{cgb_8h_a2ce30ac984869b55594447722b9d0579}\label{cgb_8h_a2ce30ac984869b55594447722b9d0579}} +\index{cgb.h@{cgb.h}!RGB\_CYAN@{RGB\_CYAN}} +\index{RGB\_CYAN@{RGB\_CYAN}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_CYAN}{RGB\_CYAN}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+C\+Y\+AN~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}( 0, 31, 31)} + +\mbox{\Hypertarget{cgb_8h_ae4fe0c6cfa46b0c4804425f23bb48f4c}\label{cgb_8h_ae4fe0c6cfa46b0c4804425f23bb48f4c}} +\index{cgb.h@{cgb.h}!RGB\_AQUA@{RGB\_AQUA}} +\index{RGB\_AQUA@{RGB\_AQUA}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_AQUA}{RGB\_AQUA}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+A\+Q\+UA~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(28, 5, 22)} + +\mbox{\Hypertarget{cgb_8h_a59fb596d3d65cfc4d3cb7e5044b8b10a}\label{cgb_8h_a59fb596d3d65cfc4d3cb7e5044b8b10a}} +\index{cgb.h@{cgb.h}!RGB\_PINK@{RGB\_PINK}} +\index{RGB\_PINK@{RGB\_PINK}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_PINK}{RGB\_PINK}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+P\+I\+NK~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(31, 0, 31)} + +\mbox{\Hypertarget{cgb_8h_a9d5a5f880df6bd4b64e6546839d41101}\label{cgb_8h_a9d5a5f880df6bd4b64e6546839d41101}} +\index{cgb.h@{cgb.h}!RGB\_PURPLE@{RGB\_PURPLE}} +\index{RGB\_PURPLE@{RGB\_PURPLE}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_PURPLE}{RGB\_PURPLE}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+P\+U\+R\+P\+LE~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(21, 0, 21)} + +\mbox{\Hypertarget{cgb_8h_ae168f0f9864d4ed4be7807b9783f17f1}\label{cgb_8h_ae168f0f9864d4ed4be7807b9783f17f1}} +\index{cgb.h@{cgb.h}!RGB\_BLACK@{RGB\_BLACK}} +\index{RGB\_BLACK@{RGB\_BLACK}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_BLACK}{RGB\_BLACK}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+B\+L\+A\+CK~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}( 0, 0, 0)} + +\mbox{\Hypertarget{cgb_8h_a29b47e2361025eabcdc3bcbff2308044}\label{cgb_8h_a29b47e2361025eabcdc3bcbff2308044}} +\index{cgb.h@{cgb.h}!RGB\_DARKGRAY@{RGB\_DARKGRAY}} +\index{RGB\_DARKGRAY@{RGB\_DARKGRAY}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_DARKGRAY}{RGB\_DARKGRAY}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+D\+A\+R\+K\+G\+R\+AY~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(10, 10, 10)} + +\mbox{\Hypertarget{cgb_8h_a80efbf7b13421922fb174f3e6a3e235c}\label{cgb_8h_a80efbf7b13421922fb174f3e6a3e235c}} +\index{cgb.h@{cgb.h}!RGB\_LIGHTGRAY@{RGB\_LIGHTGRAY}} +\index{RGB\_LIGHTGRAY@{RGB\_LIGHTGRAY}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_LIGHTGRAY}{RGB\_LIGHTGRAY}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+L\+I\+G\+H\+T\+G\+R\+AY~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(21, 21, 21)} + +\mbox{\Hypertarget{cgb_8h_ac1771f95d9887118764bd8a074e537e1}\label{cgb_8h_ac1771f95d9887118764bd8a074e537e1}} +\index{cgb.h@{cgb.h}!RGB\_WHITE@{RGB\_WHITE}} +\index{RGB\_WHITE@{RGB\_WHITE}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_WHITE}{RGB\_WHITE}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+W\+H\+I\+TE~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(31, 31, 31)} + +\mbox{\Hypertarget{cgb_8h_a90ef6e9a3d95516b1fef15076b1b4999}\label{cgb_8h_a90ef6e9a3d95516b1fef15076b1b4999}} +\index{cgb.h@{cgb.h}!RGB\_LIGHTFLESH@{RGB\_LIGHTFLESH}} +\index{RGB\_LIGHTFLESH@{RGB\_LIGHTFLESH}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_LIGHTFLESH}{RGB\_LIGHTFLESH}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+L\+I\+G\+H\+T\+F\+L\+E\+SH~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(30, 20, 15)} + +\mbox{\Hypertarget{cgb_8h_a7c2a437dfb89d663a1c2f0a7a9256474}\label{cgb_8h_a7c2a437dfb89d663a1c2f0a7a9256474}} +\index{cgb.h@{cgb.h}!RGB\_BROWN@{RGB\_BROWN}} +\index{RGB\_BROWN@{RGB\_BROWN}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_BROWN}{RGB\_BROWN}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+B\+R\+O\+WN~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(10, 10, 0)} + +\mbox{\Hypertarget{cgb_8h_a0a85d8d0da8edc5cce98f48701f903f7}\label{cgb_8h_a0a85d8d0da8edc5cce98f48701f903f7}} +\index{cgb.h@{cgb.h}!RGB\_ORANGE@{RGB\_ORANGE}} +\index{RGB\_ORANGE@{RGB\_ORANGE}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_ORANGE}{RGB\_ORANGE}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+O\+R\+A\+N\+GE~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(30, 20, 0)} + +\mbox{\Hypertarget{cgb_8h_a9c8c3710151b2258ea8269850498703f}\label{cgb_8h_a9c8c3710151b2258ea8269850498703f}} +\index{cgb.h@{cgb.h}!RGB\_TEAL@{RGB\_TEAL}} +\index{RGB\_TEAL@{RGB\_TEAL}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{RGB\_TEAL}{RGB\_TEAL}} +{\footnotesize\ttfamily \#define R\+G\+B\+\_\+\+T\+E\+AL~\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+GB}}(15, 15, 0)} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{cgb_8h_af868d7cdbd052c6b972ef137e02f6495}\label{cgb_8h_af868d7cdbd052c6b972ef137e02f6495}} +\index{cgb.h@{cgb.h}!palette\_color\_t@{palette\_color\_t}} +\index{palette\_color\_t@{palette\_color\_t}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{palette\_color\_t}{palette\_color\_t}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{cgb_8h_af868d7cdbd052c6b972ef137e02f6495}{palette\+\_\+color\+\_\+t}}} + +16 bit color entry + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{cgb_8h_aa8851ca1f515ca55cbf9f6ff53b08e8a}\label{cgb_8h_aa8851ca1f515ca55cbf9f6ff53b08e8a}} +\index{cgb.h@{cgb.h}!set\_bkg\_palette@{set\_bkg\_palette}} +\index{set\_bkg\_palette@{set\_bkg\_palette}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_palette()}{set\_bkg\_palette()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+palette (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+palette, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+palettes, }\item[{\mbox{\hyperlink{cgb_8h_af868d7cdbd052c6b972ef137e02f6495}{palette\+\_\+color\+\_\+t}} $\ast$}]{rgb\+\_\+data }\end{DoxyParamCaption})} + +Set C\+GB background palette(s). + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+palette} & Index of the first palette to write (0-\/7) \\ +\hline +{\em nb\+\_\+palettes} & Number of palettes to write (1-\/8, max depends on first\+\_\+palette) \\ +\hline +{\em rgb\+\_\+data} & Pointer to source palette data\\ +\hline +\end{DoxyParams} +Writes {\bfseries{nb\+\_\+palettes}} to background palette data starting at {\bfseries{first\+\_\+palette}}, Palette data is sourced from {\bfseries{rgb\+\_\+data}}. + +\begin{DoxyItemize} +\item Each Palette is 8 bytes in size\+: 4 colors x 2 bytes per palette color entry. \item Each color (4 per palette) is packed as B\+G\+R-\/555 format (1\+:5\+:5\+:5, M\+S\+Bit \mbox{[}15\mbox{]} is unused). \item Each component (R, G, B) may have values from 0 -\/ 31 (5 bits), 31 is brightest.\end{DoxyItemize} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+G\+B()}}, \mbox{\hyperlink{cgb_8h_aa8881ff123f364f2e7d1e88c18f9fbca}{set\+\_\+bkg\+\_\+palette\+\_\+entry()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{cgb_8h_a9ca9f825284da0db522d15aa2e42a4af}\label{cgb_8h_a9ca9f825284da0db522d15aa2e42a4af}} +\index{cgb.h@{cgb.h}!set\_sprite\_palette@{set\_sprite\_palette}} +\index{set\_sprite\_palette@{set\_sprite\_palette}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_palette()}{set\_sprite\_palette()}} +{\footnotesize\ttfamily void set\+\_\+sprite\+\_\+palette (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+palette, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+palettes, }\item[{\mbox{\hyperlink{cgb_8h_af868d7cdbd052c6b972ef137e02f6495}{palette\+\_\+color\+\_\+t}} $\ast$}]{rgb\+\_\+data }\end{DoxyParamCaption})} + +Set C\+GB sprite palette(s). + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+palette} & Index of the first palette to write (0-\/7) \\ +\hline +{\em nb\+\_\+palettes} & Number of palettes to write (1-\/8, max depends on first\+\_\+palette) \\ +\hline +{\em rgb\+\_\+data} & Pointer to source palette data\\ +\hline +\end{DoxyParams} +Writes {\bfseries{nb\+\_\+palettes}} to sprite palette data starting at {\bfseries{first\+\_\+palette}}, Palette data is sourced from {\bfseries{rgb\+\_\+data}}. + +\begin{DoxyItemize} +\item Each Palette is 8 bytes in size\+: 4 colors x 2 bytes per palette color entry. \item Each color (4 per palette) is packed as B\+G\+R-\/555 format (1\+:5\+:5\+:5, M\+S\+Bit \mbox{[}15\mbox{]} is unused). \item Each component (R, G, B) may have values from 0 -\/ 31 (5 bits), 31 is brightest.\end{DoxyItemize} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+G\+B()}}, \mbox{\hyperlink{cgb_8h_aebeb7431ebd400baed34796a8f50ea58}{set\+\_\+sprite\+\_\+palette\+\_\+entry()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{cgb_8h_aa8881ff123f364f2e7d1e88c18f9fbca}\label{cgb_8h_aa8881ff123f364f2e7d1e88c18f9fbca}} +\index{cgb.h@{cgb.h}!set\_bkg\_palette\_entry@{set\_bkg\_palette\_entry}} +\index{set\_bkg\_palette\_entry@{set\_bkg\_palette\_entry}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_palette\_entry()}{set\_bkg\_palette\_entry()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+palette\+\_\+entry (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{palette, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{entry, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{rgb\+\_\+data }\end{DoxyParamCaption})} + +Sets a single color in the specified C\+GB background palette. + + +\begin{DoxyParams}{Parameters} +{\em palette} & Index of the palette to modify (0-\/7) \\ +\hline +{\em entry} & Index of color in palette to modify (0-\/3) \\ +\hline +{\em rgb\+\_\+data} & New color data in B\+GR 15bpp format.\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{cgb_8h_aa8851ca1f515ca55cbf9f6ff53b08e8a}{set\+\_\+bkg\+\_\+palette()}}, \mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+G\+B()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{cgb_8h_aebeb7431ebd400baed34796a8f50ea58}\label{cgb_8h_aebeb7431ebd400baed34796a8f50ea58}} +\index{cgb.h@{cgb.h}!set\_sprite\_palette\_entry@{set\_sprite\_palette\_entry}} +\index{set\_sprite\_palette\_entry@{set\_sprite\_palette\_entry}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_palette\_entry()}{set\_sprite\_palette\_entry()}} +{\footnotesize\ttfamily void set\+\_\+sprite\+\_\+palette\+\_\+entry (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{palette, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{entry, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{rgb\+\_\+data }\end{DoxyParamCaption})} + +Sets a single color in the specified C\+GB sprite palette. + + +\begin{DoxyParams}{Parameters} +{\em palette} & Index of the palette to modify (0-\/7) \\ +\hline +{\em entry} & Index of color in palette to modify (0-\/3) \\ +\hline +{\em rgb\+\_\+data} & New color data in B\+GR 15bpp format.\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{cgb_8h_a9ca9f825284da0db522d15aa2e42a4af}{set\+\_\+sprite\+\_\+palette()}}, \mbox{\hyperlink{cgb_8h_a4a118ad3ee36468a3fa616977a64864e}{R\+G\+B()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{cgb_8h_a6a36fb9584e4a123f6164530a3b1e5e2}\label{cgb_8h_a6a36fb9584e4a123f6164530a3b1e5e2}} +\index{cgb.h@{cgb.h}!cpu\_slow@{cpu\_slow}} +\index{cpu\_slow@{cpu\_slow}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{cpu\_slow()}{cpu\_slow()}} +{\footnotesize\ttfamily void cpu\+\_\+slow (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Set C\+PU speed to slow (Normal Speed) operation. + +Interrupts are temporarily disabled and then re-\/enabled during this call. + +In this mode the C\+GB operates at the same speed as the D\+M\+G/\+Pocket/\+S\+GB models. + +\begin{DoxyItemize} +\item You can check to see if \mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}} == \mbox{\hyperlink{gb_8h_aee435a3a0dde3dbd7b6112dbb456cde8}{C\+G\+B\+\_\+\+T\+Y\+PE}} before using this function.\end{DoxyItemize} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{cgb_8h_a884a743919b234cd9c37789380784d08}{cpu\+\_\+fast()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{cgb_8h_a884a743919b234cd9c37789380784d08}\label{cgb_8h_a884a743919b234cd9c37789380784d08}} +\index{cgb.h@{cgb.h}!cpu\_fast@{cpu\_fast}} +\index{cpu\_fast@{cpu\_fast}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{cpu\_fast()}{cpu\_fast()}} +{\footnotesize\ttfamily void cpu\+\_\+fast (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Set C\+PU speed to fast (C\+GB Double Speed) operation. + +On startup the C\+GB operates in Normal Speed Mode and can be switched into Double speed mode (faster processing but also higher power consumption). See the Pan Docs for more information about which hardware features operate faster and which remain at Normal Speed. + +\begin{DoxyItemize} +\item Interrupts are temporarily disabled and then re-\/enabled during this call. \item You can check to see if \mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}} == \mbox{\hyperlink{gb_8h_aee435a3a0dde3dbd7b6112dbb456cde8}{C\+G\+B\+\_\+\+T\+Y\+PE}} before using this function.\end{DoxyItemize} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{cgb_8h_a6a36fb9584e4a123f6164530a3b1e5e2}{cpu\+\_\+slow()}}, \mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{cgb_8h_abd34836339579013c097ae4dea10c014}\label{cgb_8h_abd34836339579013c097ae4dea10c014}} +\index{cgb.h@{cgb.h}!set\_default\_palette@{set\_default\_palette}} +\index{set\_default\_palette@{set\_default\_palette}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{set\_default\_palette()}{set\_default\_palette()}} +{\footnotesize\ttfamily void set\+\_\+default\+\_\+palette (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Set palette, compatible with the D\+M\+G/\+G\+BP. + +The default/first C\+GB palettes for sprites and backgrounds are set to a similar default appearance as on the D\+M\+G/\+Pocket/\+S\+GB models. (White, Light Gray, Dark Gray, Black) + +\begin{DoxyItemize} +\item You can check to see if \mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}} == \mbox{\hyperlink{gb_8h_aee435a3a0dde3dbd7b6112dbb456cde8}{C\+G\+B\+\_\+\+T\+Y\+PE}} before using this function. \end{DoxyItemize} +\mbox{\Hypertarget{cgb_8h_ac2dd234782ac786758952496b017ab97}\label{cgb_8h_ac2dd234782ac786758952496b017ab97}} +\index{cgb.h@{cgb.h}!cgb\_compatibility@{cgb\_compatibility}} +\index{cgb\_compatibility@{cgb\_compatibility}!cgb.h@{cgb.h}} +\doxyparagraph{\texorpdfstring{cgb\_compatibility()}{cgb\_compatibility()}} +{\footnotesize\ttfamily void cgb\+\_\+compatibility (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +This function is obsolete + diff --git a/docs/latex/console_8h.tex b/docs/latex/console_8h.tex @@ -0,0 +1,78 @@ +\hypertarget{console_8h}{}\doxysubsection{gbdk/console.h File Reference} +\label{console_8h}\index{gbdk/console.h@{gbdk/console.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{console_8h_a8b4f3b427a9c6d87a09e1983df077e58}{gotoxy}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{console_8h_a03528dec6542c497a3645dec3e8f0770}{posx}} () \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{console_8h_a1e39e68fcb61161e1855b06ad5782be9}{posy}} () \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{console_8h_a6ce1d0ff40a295e36bcb6d495947c8dc}{setchar}} (char \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{console_8h_a4826277cc150ddc0f4de4bd464a34909}{cls}} () +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Console functions that work like Turbo C\textquotesingle{}s. + +The font is 8x8, making the screen 20x18 characters. + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{console_8h_a8b4f3b427a9c6d87a09e1983df077e58}\label{console_8h_a8b4f3b427a9c6d87a09e1983df077e58}} +\index{console.h@{console.h}!gotoxy@{gotoxy}} +\index{gotoxy@{gotoxy}!console.h@{console.h}} +\doxyparagraph{\texorpdfstring{gotoxy()}{gotoxy()}} +{\footnotesize\ttfamily void gotoxy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})} + +Move the cursor to an absolute position at {\bfseries{x, y}}. + +{\bfseries{x}} and {\bfseries{y}} have units of tiles (8 pixels per unit) \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{console_8h_a6ce1d0ff40a295e36bcb6d495947c8dc}{setchar()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{console_8h_a03528dec6542c497a3645dec3e8f0770}\label{console_8h_a03528dec6542c497a3645dec3e8f0770}} +\index{console.h@{console.h}!posx@{posx}} +\index{posx@{posx}!console.h@{console.h}} +\doxyparagraph{\texorpdfstring{posx()}{posx()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} posx (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Returns the current X position of the cursor. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{console_8h_a8b4f3b427a9c6d87a09e1983df077e58}{gotoxy()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{console_8h_a1e39e68fcb61161e1855b06ad5782be9}\label{console_8h_a1e39e68fcb61161e1855b06ad5782be9}} +\index{console.h@{console.h}!posy@{posy}} +\index{posy@{posy}!console.h@{console.h}} +\doxyparagraph{\texorpdfstring{posy()}{posy()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} posy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Returns the current Y position of the cursor. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{console_8h_a8b4f3b427a9c6d87a09e1983df077e58}{gotoxy()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{console_8h_a6ce1d0ff40a295e36bcb6d495947c8dc}\label{console_8h_a6ce1d0ff40a295e36bcb6d495947c8dc}} +\index{console.h@{console.h}!setchar@{setchar}} +\index{setchar@{setchar}!console.h@{console.h}} +\doxyparagraph{\texorpdfstring{setchar()}{setchar()}} +{\footnotesize\ttfamily void setchar (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})} + +Writes out a single character at the current cursor position. + +Does not update the cursor or interpret the character. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{console_8h_a8b4f3b427a9c6d87a09e1983df077e58}{gotoxy()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{console_8h_a4826277cc150ddc0f4de4bd464a34909}\label{console_8h_a4826277cc150ddc0f4de4bd464a34909}} +\index{console.h@{console.h}!cls@{cls}} +\index{cls@{cls}!console.h@{console.h}} +\doxyparagraph{\texorpdfstring{cls()}{cls()}} +{\footnotesize\ttfamily void cls (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Clears the screen + diff --git a/docs/latex/crash__handler_8h.tex b/docs/latex/crash__handler_8h.tex @@ -0,0 +1,30 @@ +\hypertarget{crash__handler_8h}{}\doxysubsection{gb/crash\+\_\+handler.h File Reference} +\label{crash__handler_8h}\index{gb/crash\_handler.h@{gb/crash\_handler.h}} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{crash__handler_8h_a95aa98ab16e49eac55dcdfe42f4610cc}{\+\_\+\+\_\+\+Handle\+Crash}} () +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +When crash\+\_\+handler.\+h is included, a crash dump screen will be displayed if the C\+PU executes uninitalized memory (with a value of 0x\+FF, the opcode for R\+ST 38). A handler is installed for R\+ST 38 that calls \mbox{\hyperlink{crash__handler_8h_a95aa98ab16e49eac55dcdfe42f4610cc}{\+\_\+\+\_\+\+Handle\+Crash()}}. + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\textcolor{preprocessor}{\#include <\mbox{\hyperlink{crash__handler_8h}{gb/crash\_handler.h}}>}} +\end{DoxyCode} + + +Also see the {\ttfamily crash} example project included with gbdk. + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{crash__handler_8h_a95aa98ab16e49eac55dcdfe42f4610cc}\label{crash__handler_8h_a95aa98ab16e49eac55dcdfe42f4610cc}} +\index{crash\_handler.h@{crash\_handler.h}!\_\_HandleCrash@{\_\_HandleCrash}} +\index{\_\_HandleCrash@{\_\_HandleCrash}!crash\_handler.h@{crash\_handler.h}} +\doxyparagraph{\texorpdfstring{\_\_HandleCrash()}{\_\_HandleCrash()}} +{\footnotesize\ttfamily void \+\_\+\+\_\+\+Handle\+Crash (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Display the crash dump screen. + +See the intro for this file for more details. + diff --git a/docs/latex/ctype_8h.tex b/docs/latex/ctype_8h.tex @@ -0,0 +1,104 @@ +\hypertarget{ctype_8h}{}\doxysubsection{ctype.\+h File Reference} +\label{ctype_8h}\index{ctype.h@{ctype.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdbool.\+h$>$}\newline +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdbool_8h_abb452686968e48b67397da5f97445f5b}{bool}} \mbox{\hyperlink{ctype_8h_aa08b907b413d5f156b6214e72d0612bb}{isalpha}} (char \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}) +\item +\mbox{\hyperlink{stdbool_8h_abb452686968e48b67397da5f97445f5b}{bool}} \mbox{\hyperlink{ctype_8h_a31e9b95a4c8bca65d901dca5c0c95c1f}{isupper}} (char \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}) +\item +\mbox{\hyperlink{stdbool_8h_abb452686968e48b67397da5f97445f5b}{bool}} \mbox{\hyperlink{ctype_8h_a0b70d87c74367a00d03702a44da39614}{islower}} (char \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}) +\item +\mbox{\hyperlink{stdbool_8h_abb452686968e48b67397da5f97445f5b}{bool}} \mbox{\hyperlink{ctype_8h_af3380cc4b95d21a135cd1b35fc9a09cc}{isdigit}} (char \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}) +\item +\mbox{\hyperlink{stdbool_8h_abb452686968e48b67397da5f97445f5b}{bool}} \mbox{\hyperlink{ctype_8h_a48644b2a9c138472af0e1c83f688bd58}{isspace}} (char \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}) +\item +char \mbox{\hyperlink{ctype_8h_a811b7a0d5194feaccfacf8a7f02bb9c3}{toupper}} (char \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}) +\item +char \mbox{\hyperlink{ctype_8h_a207391fc2c5fa7786d5e0b9ef8ba5e80}{tolower}} (char \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}) +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Character type functions. + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{ctype_8h_aa08b907b413d5f156b6214e72d0612bb}\label{ctype_8h_aa08b907b413d5f156b6214e72d0612bb}} +\index{ctype.h@{ctype.h}!isalpha@{isalpha}} +\index{isalpha@{isalpha}!ctype.h@{ctype.h}} +\doxyparagraph{\texorpdfstring{isalpha()}{isalpha()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdbool_8h_abb452686968e48b67397da5f97445f5b}{bool}} isalpha (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})} + +Returns T\+R\+UE if the character {\bfseries{c}} is a letter (a-\/z, A-\/Z), otherwise F\+A\+L\+SE +\begin{DoxyParams}{Parameters} +{\em c} & Character to test \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{ctype_8h_a31e9b95a4c8bca65d901dca5c0c95c1f}\label{ctype_8h_a31e9b95a4c8bca65d901dca5c0c95c1f}} +\index{ctype.h@{ctype.h}!isupper@{isupper}} +\index{isupper@{isupper}!ctype.h@{ctype.h}} +\doxyparagraph{\texorpdfstring{isupper()}{isupper()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdbool_8h_abb452686968e48b67397da5f97445f5b}{bool}} isupper (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})} + +Returns T\+R\+UE if the character {\bfseries{c}} is an uppercase letter (A-\/Z), otherwise F\+A\+L\+SE +\begin{DoxyParams}{Parameters} +{\em c} & Character to test \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{ctype_8h_a0b70d87c74367a00d03702a44da39614}\label{ctype_8h_a0b70d87c74367a00d03702a44da39614}} +\index{ctype.h@{ctype.h}!islower@{islower}} +\index{islower@{islower}!ctype.h@{ctype.h}} +\doxyparagraph{\texorpdfstring{islower()}{islower()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdbool_8h_abb452686968e48b67397da5f97445f5b}{bool}} islower (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})} + +Returns T\+R\+UE if the character {\bfseries{c}} is a lowercase letter (a-\/z), otherwise F\+A\+L\+SE +\begin{DoxyParams}{Parameters} +{\em c} & Character to test \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{ctype_8h_af3380cc4b95d21a135cd1b35fc9a09cc}\label{ctype_8h_af3380cc4b95d21a135cd1b35fc9a09cc}} +\index{ctype.h@{ctype.h}!isdigit@{isdigit}} +\index{isdigit@{isdigit}!ctype.h@{ctype.h}} +\doxyparagraph{\texorpdfstring{isdigit()}{isdigit()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdbool_8h_abb452686968e48b67397da5f97445f5b}{bool}} isdigit (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})} + +Returns T\+R\+UE if the character {\bfseries{c}} is a digit (0-\/9), otherwise F\+A\+L\+SE +\begin{DoxyParams}{Parameters} +{\em c} & Character to test \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{ctype_8h_a48644b2a9c138472af0e1c83f688bd58}\label{ctype_8h_a48644b2a9c138472af0e1c83f688bd58}} +\index{ctype.h@{ctype.h}!isspace@{isspace}} +\index{isspace@{isspace}!ctype.h@{ctype.h}} +\doxyparagraph{\texorpdfstring{isspace()}{isspace()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdbool_8h_abb452686968e48b67397da5f97445f5b}{bool}} isspace (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})} + +Returns T\+R\+UE if the character {\bfseries{c}} is a space (\textquotesingle{} \textquotesingle{}), tab (\textbackslash{}t), or newline (\textbackslash{}n) character, otherwise F\+A\+L\+SE +\begin{DoxyParams}{Parameters} +{\em c} & Character to test \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{ctype_8h_a811b7a0d5194feaccfacf8a7f02bb9c3}\label{ctype_8h_a811b7a0d5194feaccfacf8a7f02bb9c3}} +\index{ctype.h@{ctype.h}!toupper@{toupper}} +\index{toupper@{toupper}!ctype.h@{ctype.h}} +\doxyparagraph{\texorpdfstring{toupper()}{toupper()}} +{\footnotesize\ttfamily char toupper (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})} + +Returns uppercase version of character {\bfseries{c}} if it is a letter (a-\/z), otherwise it returns the input value unchanged. +\begin{DoxyParams}{Parameters} +{\em c} & Character to test \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{ctype_8h_a207391fc2c5fa7786d5e0b9ef8ba5e80}\label{ctype_8h_a207391fc2c5fa7786d5e0b9ef8ba5e80}} +\index{ctype.h@{ctype.h}!tolower@{tolower}} +\index{tolower@{tolower}!ctype.h@{ctype.h}} +\doxyparagraph{\texorpdfstring{tolower()}{tolower()}} +{\footnotesize\ttfamily char tolower (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})} + +Returns lowercase version of character {\bfseries{c}} if it is a letter (A-\/Z), otherwise it returns the input value unchanged. +\begin{DoxyParams}{Parameters} +{\em c} & Character to test \\ +\hline +\end{DoxyParams} diff --git a/docs/latex/dir_287c0c0afb5e0fce0a7974866b95ef94.tex b/docs/latex/dir_287c0c0afb5e0fce0a7974866b95ef94.tex @@ -0,0 +1,13 @@ +\hypertarget{dir_287c0c0afb5e0fce0a7974866b95ef94}{}\doxysubsection{asm/gbz80 Directory Reference} +\label{dir_287c0c0afb5e0fce0a7974866b95ef94}\index{asm/gbz80 Directory Reference@{asm/gbz80 Directory Reference}} +\doxysubsubsection*{Files} +\begin{DoxyCompactItemize} +\item +file \mbox{\hyperlink{gbz80_2provides_8h}{provides.\+h}} +\item +file \mbox{\hyperlink{asm_2gbz80_2stdarg_8h}{stdarg.\+h}} +\item +file \mbox{\hyperlink{asm_2gbz80_2string_8h}{string.\+h}} +\item +file \mbox{\hyperlink{asm_2gbz80_2types_8h}{types.\+h}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dir_49e56c817e5e54854c35e136979f97ca.tex b/docs/latex/dir_49e56c817e5e54854c35e136979f97ca.tex @@ -0,0 +1,7 @@ +\hypertarget{dir_49e56c817e5e54854c35e136979f97ca}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs Directory Reference} +\label{dir_49e56c817e5e54854c35e136979f97ca}\index{c:/gb/gbdk-\/2020/docs Directory Reference@{c:/gb/gbdk-\/2020/docs Directory Reference}} +\doxysubsubsection*{Directories} +\begin{DoxyCompactItemize} +\item +directory \mbox{\hyperlink{dir_ef3b2545113449f8f25e623a543d64e3}{pages}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dir_68ce43fa3f06453c3f79ef8becebb3b2.tex b/docs/latex/dir_68ce43fa3f06453c3f79ef8becebb3b2.tex @@ -0,0 +1,13 @@ +\hypertarget{dir_68ce43fa3f06453c3f79ef8becebb3b2}{}\doxysubsection{asm/z80 Directory Reference} +\label{dir_68ce43fa3f06453c3f79ef8becebb3b2}\index{asm/z80 Directory Reference@{asm/z80 Directory Reference}} +\doxysubsubsection*{Files} +\begin{DoxyCompactItemize} +\item +file \mbox{\hyperlink{z80_2provides_8h}{provides.\+h}} +\item +file \mbox{\hyperlink{asm_2z80_2stdarg_8h}{stdarg.\+h}} +\item +file \mbox{\hyperlink{asm_2z80_2string_8h}{string.\+h}} +\item +file \mbox{\hyperlink{asm_2z80_2types_8h}{types.\+h}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dir_7a84f275fead463a4aefdc90fba00235.tex b/docs/latex/dir_7a84f275fead463a4aefdc90fba00235.tex @@ -0,0 +1,13 @@ +\hypertarget{dir_7a84f275fead463a4aefdc90fba00235}{}\doxysubsection{sms Directory Reference} +\label{dir_7a84f275fead463a4aefdc90fba00235}\index{sms Directory Reference@{sms Directory Reference}} +\doxysubsubsection*{Files} +\begin{DoxyCompactItemize} +\item +file \mbox{\hyperlink{sms_2gbdecompress_8h}{gbdecompress.\+h}} +\item +file \mbox{\hyperlink{sms_2hardware_8h}{hardware.\+h}} +\item +file \mbox{\hyperlink{sms_2metasprites_8h}{metasprites.\+h}} +\item +file \mbox{\hyperlink{sms_8h}{sms.\+h}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dir_9a64cddab8e5f6fe5be80d8f39cb6a1f.tex b/docs/latex/dir_9a64cddab8e5f6fe5be80d8f39cb6a1f.tex @@ -0,0 +1,14 @@ +\hypertarget{dir_9a64cddab8e5f6fe5be80d8f39cb6a1f}{}\doxysubsection{asm Directory Reference} +\label{dir_9a64cddab8e5f6fe5be80d8f39cb6a1f}\index{asm Directory Reference@{asm Directory Reference}} +\doxysubsubsection*{Directories} +\begin{DoxyCompactItemize} +\item +directory \mbox{\hyperlink{dir_287c0c0afb5e0fce0a7974866b95ef94}{gbz80}} +\item +directory \mbox{\hyperlink{dir_68ce43fa3f06453c3f79ef8becebb3b2}{z80}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Files} +\begin{DoxyCompactItemize} +\item +file \mbox{\hyperlink{asm_2types_8h}{types.\+h}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dir_aedcfcf321a7f13aa34b51e3093299b2.tex b/docs/latex/dir_aedcfcf321a7f13aa34b51e3093299b2.tex @@ -0,0 +1,27 @@ +\hypertarget{dir_aedcfcf321a7f13aa34b51e3093299b2}{}\doxysubsection{gbdk Directory Reference} +\label{dir_aedcfcf321a7f13aa34b51e3093299b2}\index{gbdk Directory Reference@{gbdk Directory Reference}} +\doxysubsubsection*{Files} +\begin{DoxyCompactItemize} +\item +file \mbox{\hyperlink{k_2bcd_8h}{bcd.\+h}} +\item +file \mbox{\hyperlink{console_8h}{console.\+h}} +\item +file \mbox{\hyperlink{far__ptr_8h}{far\+\_\+ptr.\+h}} +\item +file \mbox{\hyperlink{font_8h}{font.\+h}} +\item +file \mbox{\hyperlink{gbdk_2gbdecompress_8h}{gbdecompress.\+h}} +\item +file \mbox{\hyperlink{gbdk-lib_8h}{gbdk-\/lib.\+h}} +\item +file \mbox{\hyperlink{incbin_8h}{incbin.\+h}} +\item +file \mbox{\hyperlink{gbdk_2metasprites_8h}{metasprites.\+h}} +\item +file \mbox{\hyperlink{platform_8h}{platform.\+h}} +\item +file \mbox{\hyperlink{rledecompress_8h}{rledecompress.\+h}} +\item +file \mbox{\hyperlink{version_8h}{version.\+h}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dir_bdfe001eb73b667f67d57fb851301eb1.tex b/docs/latex/dir_bdfe001eb73b667f67d57fb851301eb1.tex @@ -0,0 +1,29 @@ +\hypertarget{dir_bdfe001eb73b667f67d57fb851301eb1}{}\doxysubsection{gb Directory Reference} +\label{dir_bdfe001eb73b667f67d57fb851301eb1}\index{gb Directory Reference@{gb Directory Reference}} +\doxysubsubsection*{Files} +\begin{DoxyCompactItemize} +\item +file \mbox{\hyperlink{bcd_8h}{bcd.\+h}} +\item +file \mbox{\hyperlink{bgb__emu_8h}{bgb\+\_\+emu.\+h}} +\item +file \mbox{\hyperlink{cgb_8h}{cgb.\+h}} +\item +file \mbox{\hyperlink{crash__handler_8h}{crash\+\_\+handler.\+h}} +\item +file \mbox{\hyperlink{drawing_8h}{drawing.\+h}} +\item +file \mbox{\hyperlink{emu__debug_8h}{emu\+\_\+debug.\+h}} +\item +file \mbox{\hyperlink{gb_8h}{gb.\+h}} +\item +file \mbox{\hyperlink{gb_2gbdecompress_8h}{gbdecompress.\+h}} +\item +file \mbox{\hyperlink{gb_2hardware_8h}{hardware.\+h}} +\item +file \mbox{\hyperlink{isr_8h}{isr.\+h}} +\item +file \mbox{\hyperlink{gb_2metasprites_8h}{metasprites.\+h}} +\item +file \mbox{\hyperlink{sgb_8h}{sgb.\+h}} +\end{DoxyCompactItemize} diff --git a/docs/latex/dir_ef3b2545113449f8f25e623a543d64e3.tex b/docs/latex/dir_ef3b2545113449f8f25e623a543d64e3.tex @@ -0,0 +1,2 @@ +\hypertarget{dir_ef3b2545113449f8f25e623a543d64e3}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages Directory Reference} +\label{dir_ef3b2545113449f8f25e623a543d64e3}\index{c:/gb/gbdk-\/2020/docs/pages Directory Reference@{c:/gb/gbdk-\/2020/docs/pages Directory Reference}} diff --git a/docs/latex/docs__index_8md.tex b/docs/latex/docs__index_8md.tex @@ -0,0 +1,2 @@ +\hypertarget{docs__index_8md}{}\doxysubsection{c\+:/gb/gbdk-\/2020/docs/pages/docs\+\_\+index.md File Reference} +\label{docs__index_8md}\index{c:/gb/gbdk-\/2020/docs/pages/docs\_index.md@{c:/gb/gbdk-\/2020/docs/pages/docs\_index.md}} diff --git a/docs/latex/docs_coding_guidelines.tex b/docs/latex/docs_coding_guidelines.tex @@ -0,0 +1,182 @@ +\hypertarget{docs_coding_guidelines_autotoc_md56}{}\doxysubsection{Learning C / C fundamentals}\label{docs_coding_guidelines_autotoc_md56} +Writing games and other programs with G\+B\+DK will be much easier with a basic understanding of the C language. In particular, understanding how to use C on \char`\"{}\+Embedded Platforms\char`\"{} (small computing systems, such as the Game Boy) can help you write better code (smaller, faster, less error prone) and avoid common pitfals. + +\label{docs_coding_guidelines_docs_c_tutorials}% +\Hypertarget{docs_coding_guidelines_docs_c_tutorials}% +\hypertarget{docs_coding_guidelines_autotoc_md57}{}\doxysubsubsection{General C tutorials}\label{docs_coding_guidelines_autotoc_md57} + +\begin{DoxyItemize} +\item \href{https://www.learn-c.org/}{\texttt{ https\+://www.\+learn-\/c.\+org/}} +\item \href{https://www.tutorialspoint.com/cprogramming/index.htm}{\texttt{ https\+://www.\+tutorialspoint.\+com/cprogramming/index.\+htm}} +\end{DoxyItemize}\hypertarget{docs_coding_guidelines_autotoc_md58}{}\doxysubsubsection{Embedded C introductions}\label{docs_coding_guidelines_autotoc_md58} + +\begin{DoxyItemize} +\item \href{http://dsp-book.narod.ru/CPES.pdf}{\texttt{ http\+://dsp-\/book.\+narod.\+ru/\+C\+P\+E\+S.\+pdf}} +\item \href{https://www.phaedsys.com/principals/bytecraft/bytecraftdata/bcfirststeps.pdf}{\texttt{ https\+://www.\+phaedsys.\+com/principals/bytecraft/bytecraftdata/bcfirststeps.\+pdf}} +\end{DoxyItemize}\hypertarget{docs_coding_guidelines_autotoc_md59}{}\doxysubsubsection{Game Boy games in C}\label{docs_coding_guidelines_autotoc_md59} + +\begin{DoxyItemize} +\item \href{https://gbdev.io/list.html\#c}{\texttt{ https\+://gbdev.\+io/list.\+html\#c}} +\end{DoxyItemize}\hypertarget{docs_coding_guidelines_autotoc_md60}{}\doxysubsection{Understanding the hardware}\label{docs_coding_guidelines_autotoc_md60} +In addition to understanding the C language it\textquotesingle{}s important to learn how the Game Boy hardware works. What it is capable of doing, what it isn\textquotesingle{}t able to do, and what resources are available to work with. A good way to do this is by reading the \mbox{\hyperlink{docs_links_and_tools_Pandocs}{Pandocs}} and checking out the \mbox{\hyperlink{docs_links_and_tools_awesome_gb}{awesome\+\_\+gb}} list.\hypertarget{docs_coding_guidelines_autotoc_md61}{}\doxysubsection{Writing optimal C code for the Game Boy and S\+D\+CC}\label{docs_coding_guidelines_autotoc_md61} +The following guidelines can result in better code for the Game Boy, even though some of the guidance may be contrary to typical advice for general purpose computers that have more resources and speed.\hypertarget{docs_coding_guidelines_autotoc_md62}{}\doxysubsubsection{Tools}\label{docs_coding_guidelines_autotoc_md62} +\label{docs_coding_guidelines_const_gbtd_gbmb}% +\Hypertarget{docs_coding_guidelines_const_gbtd_gbmb}% +\hypertarget{docs_coding_guidelines_autotoc_md63}{}\doxyparagraph{G\+B\+T\+D / G\+B\+M\+B, Arrays and the \char`\"{}const\char`\"{} keyword}\label{docs_coding_guidelines_autotoc_md63} +{\bfseries{Important}}\+: The old \mbox{\hyperlink{docs_links_and_tools_gbtd_gbmb}{G\+B\+T\+D/\+G\+B\+MB}} fails to include the {\ttfamily const} keyword when exporting to C source files for G\+B\+DK. That causes arrays to be created in R\+AM instead of R\+OM, which wastes R\+AM, uses a lot of R\+OM to initialize the R\+AM arrays and slows the compiler down a lot. + +\+\_\+\+\_\+\+Use of \mbox{\hyperlink{docs_links_and_tools_toxa_gbtd_gbmb}{toxa\textquotesingle{}s updated G\+B\+T\+D/\+G\+B\+MB}} is highly recommended.\+\_\+\+\_\+ + +If you wish to use the original tools, you must add the {\ttfamily const} keyword every time the graphics are re-\/exported to C source files.\hypertarget{docs_coding_guidelines_autotoc_md64}{}\doxysubsubsection{Variables}\label{docs_coding_guidelines_autotoc_md64} + +\begin{DoxyItemize} +\item Use 8-\/bit values as much as possible. They will be much more efficient and compact than 16 and 32 bit types. +\item Prefer unsigned variables to signed ones\+: The code generated will be generally more efficient, especially when comparing two values. +\item Use explicit types so you always know the size of your variables. {\ttfamily int8\+\_\+t, uint8\+\_\+t, int16\+\_\+t, uint16\+\_\+t, int32\+\_\+t, uint32\+\_\+t} and {\ttfamily bool}. These are standard types defined in {\ttfamily stdint.\+h} ({\ttfamily \#include $<$stdint.\+h$>$}) and {\ttfamily stdbool.\+h} ({\ttfamily \#include $<$stdbool.\+h$>$}). +\item Global and local static variables are generally more efficient than local non-\/static variables (which go on the stack and are slower and can result in slower code). +\item \label{docs_coding_guidelines_const_array_data}% +\Hypertarget{docs_coding_guidelines_const_array_data}% + {\ttfamily const} keyword\+: Use const for arrays, structs and variables with read-\/only (constant) data. It will reduce R\+OM, R\+AM and C\+PU usage significantly. Non-\/{\ttfamily const} values are loaded from R\+OM into R\+AM inefficiently, and there is no benefit in loading them into the limited available R\+AM if they aren\textquotesingle{}t going to be changed. +\item Here is how to delcare {\ttfamily const} pointers and variables\+: +\begin{DoxyItemize} +\item non-\/const pointer to a const variable\+: {\ttfamily const uint8\+\_\+t $\ast$ some\+\_\+pointer;} +\item const pointer to a non-\/const variable\+: {\ttfamily uint8\+\_\+t $\ast$ const some\+\_\+pointer;} +\item const pointer to a const variable\+: {\ttfamily const uint8\+\_\+t $\ast$ const some\+\_\+pointer;} +\item \href{https://codeforwin.org/2017/11/constant-pointer-and-pointer-to-constant-in-c.html}{\texttt{ https\+://codeforwin.\+org/2017/11/constant-\/pointer-\/and-\/pointer-\/to-\/constant-\/in-\/c.\+html}} +\item \href{https://stackoverflow.com/questions/21476869/constant-pointer-vs-pointer-to-constant}{\texttt{ https\+://stackoverflow.\+com/questions/21476869/constant-\/pointer-\/vs-\/pointer-\/to-\/constant}} +\end{DoxyItemize} +\item For calculated values that don\textquotesingle{}t change, pre-\/compute results once and store the result. Using lookup-\/tables and the like can improve speed and reduce code size. Macros can sometimes help. It may be beneficial to do the calculations with an outside tool and then include the result as C code in a const array. +\item Use an advancing pointer ({\ttfamily some\+Struct-\/$>$var = x; some\+Struct++}) to loop through arrays of structs instead of using indexing each time in the loop {\ttfamily some\+Struct\mbox{[}i\mbox{]}.var = x}. +\item When modifying variables that are also changed in an Interrupt Service Routine (I\+SR), wrap them the relevant code block in a {\ttfamily \+\_\+\+\_\+critical \{ \}} block. See \href{http://sdcc.sourceforge.net/doc/sdccman.pdf\#section.3.9}{\texttt{ http\+://sdcc.\+sourceforge.\+net/doc/sdccman.\+pdf\#section.\+3.\+9}} +\item When using constants and literals the {\ttfamily U}, {\ttfamily L} and {\ttfamily UL} postfixes can be used. +\begin{DoxyItemize} +\item {\ttfamily U} specifies that the constant is unsigned +\item {\ttfamily L} specifies that the constant is long. +\item N\+O\+TE\+: In S\+D\+CC 3.\+6.\+0, the default for char changed from signed to unsigned. The manual says to use {\ttfamily -\/-\/fsigned-\/char} for the old behavior, this option flag is included by default when compiling through \mbox{\hyperlink{docs_toolchain_lcc}{lcc}}. +\end{DoxyItemize} +\end{DoxyItemize} + +\label{docs_coding_guidelines_fixed_point_type}% +\Hypertarget{docs_coding_guidelines_fixed_point_type}% + +\begin{DoxyItemize} +\item A fixed point type ({\ttfamily fixed}) is included with G\+B\+DK when precision greater than whole numbers is required for 8 bit range values (since floating point is not included in G\+B\+DK). +\end{DoxyItemize} + +See the \char`\"{}\+Simple Physics\char`\"{} sub-\/pixel example project. + +Code example\+: \begin{DoxyVerb} fixed player[2]; + ... + // Modify player position using it's 16 bit representation + player[0].w += player_speed_x; + player[1].w += player_speed_y; + ... + // Use only the upper 8 bits for setting the sprite position + move_sprite(0, player[0].h ,player[1].h); +\end{DoxyVerb} +\hypertarget{docs_coding_guidelines_autotoc_md65}{}\doxysubsubsection{Code structure}\label{docs_coding_guidelines_autotoc_md65} + +\begin{DoxyItemize} +\item Do not {\ttfamily \#include} {\ttfamily .c} source files into other {\ttfamily .c} source files. Instead create {\ttfamily .h} header files for them and include those. \href{https://www.tutorialspoint.com/cprogramming/c_header_files.htm}{\texttt{ https\+://www.\+tutorialspoint.\+com/cprogramming/c\+\_\+header\+\_\+files.\+htm}} +\item Instead of using a blocking \mbox{\hyperlink{gb_8h_a2afae202a1f8ca59a12a6455bb909c5d}{delay()}} for things such as sprite animations/etc (which can prevent the rest of the game from continuing) many times it\textquotesingle{}s better to use a counter which performs an action once every N frames. \mbox{\hyperlink{sms_8h_a78d2fd18666afec116f176d46debb4e7}{sys\+\_\+time}} may be useful in these cases. +\item When processing for a given frame is done and it is time to wait before starting the next frame, \mbox{\hyperlink{gb_8h_acd186eb292d441f9389e77b545a55619}{wait\+\_\+vbl\+\_\+done()}} can be used. It uses H\+A\+LT to put the C\+PU into a low power state until processing resumes. The C\+PU will wake up and resume processing at the end of the current frame when the Vertical Blanking interrupt is triggered. +\item Minimize use of multiplication, modulo with non-\/powers of 2, and division with non-\/powers of 2. These operations have no corresponding C\+PU instructions (software functions), and hence are time costly. +\begin{DoxyItemize} +\item S\+D\+CC has some optimizations for\+: +\begin{DoxyItemize} +\item Division by powers of 2. For example {\ttfamily n /= 4u} will be optimized to {\ttfamily n $>$$>$= 2}. +\item Modulo by powers of 2. For example\+: {\ttfamily (n \% 8)} will be optimized to {\ttfamily (n \& 0x7)}. +\end{DoxyItemize} +\item If you need decimal numbers to count or display a score, you can use the G\+B\+DK B\+CD (\href{https://en.wikipedia.org/wiki/Binary-coded_decimal}{\texttt{ binary coded decimal}}) number functions. See\+: \mbox{\hyperlink{k_2bcd_8h}{bcd.\+h}} and the {\ttfamily B\+CD} example project included with G\+B\+DK. +\end{DoxyItemize} +\item Avoid long lists of function parameters. Passing many parameters can add overhead, especially if the function is called often. When applicable globals and local static vars can be used instead. +\item Use inline functions if the function is short. (with the {\ttfamily inline} keyword, such as {\ttfamily inline uint8\+\_\+t my\+Function() \{ ... \}}) +\item Do not use recursive functions +\end{DoxyItemize}\hypertarget{docs_coding_guidelines_autotoc_md66}{}\doxysubsubsection{G\+B\+D\+K A\+P\+I/\+Library}\label{docs_coding_guidelines_autotoc_md66} + +\begin{DoxyItemize} +\item stdio.\+h\+: If you have other ways of printing text, avoid including \mbox{\hyperlink{stdio_8h}{stdio.\+h}} and using functions such as \mbox{\hyperlink{stdio_8h_ab403fa700816f08631ba75bc536f74d4}{printf()}}. Including it will use a large number of the background tiles for font characters. If stdio.\+h is not included then that space will be available for use with other tiles instead. +\item drawing.\+h\+: The Game Boy graphics hardware is not well suited to frame-\/buffer style graphics such as the kind provided in \mbox{\hyperlink{drawing_8h}{drawing.\+h}}. Due to that, most drawing functions (rectangles, circles, etc) will be slow . When possible it\textquotesingle{}s much faster and more efficient to work with the tiles and tile maps that the Game Boy hardware is built around. +\item \mbox{\hyperlink{gb_8h_aae433db7d8e3ee4c095c254b8abd7b8b}{waitpad()}} and \mbox{\hyperlink{sms_8h_a955d3733e5018f18b17a572aff45cf26}{waitpadup}} check for input in a loop that doesn\textquotesingle{}t H\+A\+LT at all, so the C\+PU will be maxed out until it returns. One alternative is to write a function with a loop that checks input with \mbox{\hyperlink{gb_8h_a176c477d759b814664785f3a0ad5e253}{joypad()}} and then waits a frame using \mbox{\hyperlink{gb_8h_acd186eb292d441f9389e77b545a55619}{wait\+\_\+vbl\+\_\+done()}} (which idles the C\+PU while waiting) before checking input again. +\item \mbox{\hyperlink{gb_8h_a176c477d759b814664785f3a0ad5e253}{joypad()}}\+: When testing for multiple different buttons, it\textquotesingle{}s best to read the joypad state {\itshape once} into a variable and then test using that variable (instead of making multiple calls). +\end{DoxyItemize}\hypertarget{docs_coding_guidelines_autotoc_md67}{}\doxysubsubsection{Toolchain}\label{docs_coding_guidelines_autotoc_md67} + +\begin{DoxyItemize} +\item See S\+D\+CC optimizations\+: \href{http://sdcc.sourceforge.net/doc/sdccman.pdf\#section.8.1}{\texttt{ http\+://sdcc.\+sourceforge.\+net/doc/sdccman.\+pdf\#section.\+8.\+1}} +\item Use profiling. Look at the A\+SM generated by the compiler, write several versions of a function, compare them and choose the faster one. +\item Use the S\+D\+CC {\ttfamily -\/-\/max-\/allocs-\/per-\/node} flag with large values, such as {\ttfamily 50000}. {\ttfamily -\/-\/opt-\/code-\/speed} has a much smaller effect. +\begin{DoxyItemize} +\item G\+B\+D\+K-\/2020 (after v4.\+0.\+1) compiles the library with {\ttfamily -\/-\/max-\/allocs-\/per-\/node 50000}, but it must be turned on for your own code. ~\newline + (example\+: {\ttfamily lcc ... -\/Wf-\/-\/max-\/allocs-\/per-\/node50000} or {\ttfamily sdcc ... -\/-\/max-\/allocs-\/per-\/node 50000}). +\item The other code/speed flags are {\ttfamily -\/-\/opt-\/code-\/speed} or {\ttfamily -\/-\/opt-\/code-\/size}. +\end{DoxyItemize} +\item Use current S\+D\+CC builds from \href{http://sdcc.sourceforge.net/snap.php}{\texttt{ http\+://sdcc.\+sourceforge.\+net/snap.\+php}} ~\newline + The minimum required version of S\+D\+CC will depend on the G\+B\+D\+K-\/2020 release. See \mbox{\hyperlink{docs_releases}{G\+B\+DK Releases}} +\item Learn some A\+SM and inspect the compiler output to understand what the compiler is doing and how your code gets translated. This can help with writing better C code and with debugging. +\end{DoxyItemize} + +\label{docs_coding_guidelines_docs_chars_varargs}% +\Hypertarget{docs_coding_guidelines_docs_chars_varargs}% +\hypertarget{docs_coding_guidelines_autotoc_md68}{}\doxysubsubsection{chars and vararg functions}\label{docs_coding_guidelines_autotoc_md68} +In standard C when {\ttfamily chars} are passed to a function with variadic arguments (varargs, those delcared with {\ttfamily ...} as a parameter), such as \mbox{\hyperlink{stdio_8h_ab403fa700816f08631ba75bc536f74d4}{printf()}}, those {\ttfamily chars} get automatically promoted to {\ttfamily ints}. For an 8 bit cpu such as the Game Boy\textquotesingle{}s, this is not as efficient or desireable in most cases. So the default S\+D\+CC behavior, which G\+B\+D\+K-\/2020 expects, is that chars will remain chars and {\itshape not} get promoted to ints when {\bfseries{explicitly cast as chars while calling a varargs function}}. + + +\begin{DoxyItemize} +\item They must be explicitly re-\/cast when passing them to a varargs function, even though they are already declared as chars. +\item Discussion in S\+D\+CC manual\+: ~\newline + \href{http://sdcc.sourceforge.net/doc/sdccman.pdf\#section.1.5}{\texttt{ http\+://sdcc.\+sourceforge.\+net/doc/sdccman.\+pdf\#section.\+1.\+5}} ~\newline + \href{http://sdcc.sourceforge.net/doc/sdccman.pdf\#subsection.3.5.10}{\texttt{ http\+://sdcc.\+sourceforge.\+net/doc/sdccman.\+pdf\#subsection.\+3.\+5.\+10}} +\item If S\+D\+CC is invoked with -\/std-\/cxx (--std-\/c89, --std-\/c99, --std-\/c11, etc) then it will conform to standard C behavior and calling functions such as \mbox{\hyperlink{stdio_8h_ab403fa700816f08631ba75bc536f74d4}{printf()}} with chars may not work as expected. +\end{DoxyItemize} + +For example\+: \begin{DoxyVerb}unsigned char i = 0x5A; + +// NO: +// The char will get promoted to an int, producing incorrect printf output +// The output will be: 5A 00 +printf("%hx %hx", i, i); + +// YES: +// The char will remain a char and printf output will be as expected +// The output will be: 5A 5A +printf("%hx %hx", (unsigned char)i, (unsigned char)i); +\end{DoxyVerb} + + +Some functions that accept varargs\+: +\begin{DoxyItemize} +\item \mbox{\hyperlink{emu__debug_8h_a586ce1ddfba9c35726887ca31f933963}{E\+M\+U\+\_\+printf}}, \mbox{\hyperlink{drawing_8h_a5f7a0ed309f9526e9be285146559848c}{gprintf()}}, \mbox{\hyperlink{stdio_8h_ab403fa700816f08631ba75bc536f74d4}{printf()}}, \mbox{\hyperlink{stdio_8h_a31913a297ee18548c81d482ef6bdbe0f}{sprintf()}} +\end{DoxyItemize} + +Also See\+: +\begin{DoxyItemize} +\item Other cases of char to int promotion\+: \href{http://sdcc.sourceforge.net/doc/sdccman.pdf\#chapter.6}{\texttt{ http\+://sdcc.\+sourceforge.\+net/doc/sdccman.\+pdf\#chapter.\+6}} +\end{DoxyItemize}\hypertarget{docs_coding_guidelines_autotoc_md69}{}\doxysubsection{When C isn\textquotesingle{}t fast enough}\label{docs_coding_guidelines_autotoc_md69} +\begin{DoxyRefDesc}{Todo} +\item[\mbox{\hyperlink{todo__todo000003}{Todo}}]Update and verify this section for the modernized S\+D\+CC and toolchain\end{DoxyRefDesc} + + +For many applications C is fast enough but in intensive functions are sometimes better written in assembler. This section deals with interfacing your core C program with fast assembly sub routines.\hypertarget{docs_coding_guidelines_autotoc_md70}{}\doxysubsubsection{Calling convention}\label{docs_coding_guidelines_autotoc_md70} +sdcc in common with almost all C compilers prepends a \textquotesingle{}\+\_\+\textquotesingle{} to any function names. For example the function printf(...) begins at the label \+\_\+printf\+:\+:. Note that all functions are declared global. + +The parameters to a function are pushed in right to left order with no aligning -\/ so a byte takes up a byte on the stack instead of the more natural word. So for example the function int store\+\_\+byte( uint16\+\_\+t addr, uint8\+\_\+t byte) would push \textquotesingle{}byte\textquotesingle{} onto the stack first then addr using a total of three bytes. As the return address is also pushed, the stack would contain\+: \begin{DoxyVerb} At SP+0 - the return address + + At SP+2 - addr + + At SP+4 - byte +\end{DoxyVerb} + + +Note that the arguments that are pushed first are highest in the stack due to how the Game Boy\textquotesingle{}s stack grows downwards. + +The function returns in DE.\hypertarget{docs_coding_guidelines_autotoc_md71}{}\doxysubsubsection{Variables and registers}\label{docs_coding_guidelines_autotoc_md71} +C normally expects registers to be preserved across a function call. However in the case above as DE is used as the return value and HL is used for anything, only BC needs to be preserved. + +Getting at C variables is slightly tricky due to how local variables are allocated on the stack. However you shouldn\textquotesingle{}t be using the local variables of a calling function in any case. Global variables can be accessed by name by adding an underscore.\hypertarget{docs_coding_guidelines_autotoc_md72}{}\doxysubsubsection{Segments}\label{docs_coding_guidelines_autotoc_md72} +The use of segments for code, data and variables is more noticeable in assembler. G\+B\+DK and S\+D\+CC define a number of default segments -\/ {\ttfamily \+\_\+\+C\+O\+DE}, {\ttfamily \+\_\+\+D\+A\+TA} and {\ttfamily \+\_\+\+B\+SS}. Two extra segments {\ttfamily \+\_\+\+H\+E\+A\+D\+ER} and {\ttfamily \+\_\+\+H\+E\+AP} exist for the Game Boy header and malloc heap respectively. + +The order these segments are linked together is determined by crt0.\+s and is currently {\ttfamily \+\_\+\+C\+O\+DE} in R\+OM, then {\ttfamily \+\_\+\+D\+A\+TA}, {\ttfamily \+\_\+\+B\+SS}, {\ttfamily \+\_\+\+H\+E\+AP} in W\+R\+AM, with {\ttfamily S\+T\+A\+CK} at the top of W\+R\+AM. {\ttfamily \+\_\+\+H\+E\+AP} is placed after {\ttfamily \+\_\+\+B\+SS} so that all spare memory is available for the malloc routines. To place code in other than the first two banks, use the segments {\ttfamily \+\_\+\+C\+O\+D\+E\+\_\+x} where x is the 16kB bank number. + +As the {\ttfamily \+\_\+\+B\+SS} segment occurs outside the R\+OM area you can only use .ds to reserve space in it. + +While you don\textquotesingle{}t have to use the {\ttfamily \+\_\+\+C\+O\+DE} and {\ttfamily \+\_\+\+D\+A\+TA} distinctions in assembler you may wish to do so consistancy. + diff --git a/docs/latex/docs_example_programs.tex b/docs/latex/docs_example_programs.tex @@ -0,0 +1,63 @@ +G\+B\+DK includes several example programs both in C and in assembly. They are located in the examples directory, and in its subdirectories. They can be built by typing {\ttfamily make} in the correnponding directory.\hypertarget{docs_example_programs_autotoc_md139}{}\doxysubsection{banks (various projects)}\label{docs_example_programs_autotoc_md139} +There are several different projects showing how to use R\+OM banking with G\+B\+DK.\hypertarget{docs_example_programs_autotoc_md140}{}\doxysubsection{comm}\label{docs_example_programs_autotoc_md140} +Illustrates how to use communication routines.\hypertarget{docs_example_programs_autotoc_md141}{}\doxysubsection{crash}\label{docs_example_programs_autotoc_md141} +Demonstrates how to use the optional G\+B\+DK crash handler which dumps debug info to the Game Boy screen in the event of a program crash.\hypertarget{docs_example_programs_autotoc_md142}{}\doxysubsection{colorbar}\label{docs_example_programs_autotoc_md142} +The colorbar program, written by Mr. N.\+U. of Team\+K\+N\+Ox, illustrates the use of colors on a Color Game\+Boy.\hypertarget{docs_example_programs_autotoc_md143}{}\doxysubsection{dscan}\label{docs_example_programs_autotoc_md143} +Deep Scan is a game written by Mr. N.\+U. of Team\+K\+N\+Ox that supports the Color Game\+Boy. Your aim is to destroy the submarines from your boat, and to avoid the projectiles that they send to you. The game should be self-\/explanatory. The following keys are used\+: \begin{DoxyVerb}RIGHT/LEFT : Move your boat +A/B : Send a bomb from one side of your boat +START : Start game or pause game + +When game is paused: + +SELECT : Invert A and B buttons +RIGHT/LEFT : Change speed +UP/DOWN : Change level +\end{DoxyVerb} +\hypertarget{docs_example_programs_autotoc_md144}{}\doxysubsection{filltest}\label{docs_example_programs_autotoc_md144} +Demonstrates various graphics routines.\hypertarget{docs_example_programs_autotoc_md145}{}\doxysubsection{fonts}\label{docs_example_programs_autotoc_md145} +Examples of how to work with the built in font and printing features.\hypertarget{docs_example_programs_autotoc_md146}{}\doxysubsection{galaxy}\label{docs_example_programs_autotoc_md146} +A C translation of the space.\+s assembly program.\hypertarget{docs_example_programs_autotoc_md147}{}\doxysubsection{gb-\/dtmf}\label{docs_example_programs_autotoc_md147} +The gb-\/dtmf, written by Osamu Ohashi, is a Dual Tone Multi-\/\+Frequency (D\+T\+MF) generator.\hypertarget{docs_example_programs_autotoc_md148}{}\doxysubsection{gbdecompress}\label{docs_example_programs_autotoc_md148} +Demonstrates using gbdecompress to load a compressed tile set into vram.\hypertarget{docs_example_programs_autotoc_md149}{}\doxysubsection{irq}\label{docs_example_programs_autotoc_md149} +Illustrates how to install interrupt handlers.\hypertarget{docs_example_programs_autotoc_md150}{}\doxysubsection{large map}\label{docs_example_programs_autotoc_md150} +Shows how to scroll with maps larger than 32 x 32 tiles using \mbox{\hyperlink{gb_8h_adb21d1c7d533a7133bab36a845489780}{set\+\_\+bkg\+\_\+submap()}}. It fills rows and columns at the edges of the visible viewport (of the hardware Background Map) with the desired sub-\/region of the large map as it scrolls.\hypertarget{docs_example_programs_autotoc_md151}{}\doxysubsection{metasprites}\label{docs_example_programs_autotoc_md151} +Demonstrates using the metasprite features to move and animate a large sprite. +\begin{DoxyItemize} +\item Press A button to show / hide the metasprite +\item Press B button to cycle through the metasprite animations +\item Press S\+E\+L\+E\+CT button to cycle the metasprite through Normal / Flip-\/Y / Flip-\/\+XY / Flip-\/X +\item Up / Down / Left / Right to move the metasprite +\end{DoxyItemize}\hypertarget{docs_example_programs_autotoc_md152}{}\doxysubsection{lcd isr wobble}\label{docs_example_programs_autotoc_md152} +An example of how to use the L\+CD I\+SR for visual special effects\hypertarget{docs_example_programs_autotoc_md153}{}\doxysubsection{paint}\label{docs_example_programs_autotoc_md153} +The paint example is a painting program. It supports different painting tools, drawing modes, and colors. At the moment, it only paints individual pixels. This program illustrates the use of the full-\/screen drawing library. It also illustrates the use of generic structures and big sprites. \begin{DoxyVerb}Arrow keys : Move the cursor +SELECT : Display/hide the tools palette +A : Select tool +\end{DoxyVerb} +\hypertarget{docs_example_programs_autotoc_md154}{}\doxysubsection{rand}\label{docs_example_programs_autotoc_md154} +The rand program, written by Luc Van den Borre, illustrates the use of the G\+B\+DK random generator.\hypertarget{docs_example_programs_autotoc_md155}{}\doxysubsection{ram\+\_\+fn}\label{docs_example_programs_autotoc_md155} +The ram\+\_\+fn example illustrates how to copy functions to R\+AM or H\+I\+R\+AM, and how to call them from C.\hypertarget{docs_example_programs_autotoc_md156}{}\doxysubsection{rpn}\label{docs_example_programs_autotoc_md156} +A basic R\+PN calculator. Try entering expressions like 12 134$\ast$ and then 1789+.\hypertarget{docs_example_programs_autotoc_md157}{}\doxysubsection{samptest}\label{docs_example_programs_autotoc_md157} +Demonstration of playing a sound sample.\hypertarget{docs_example_programs_autotoc_md158}{}\doxysubsection{sgb (various)}\label{docs_example_programs_autotoc_md158} +A collection of examples showing how to use the Super Game Boy A\+PI features. + +\label{docs_example_programs_examples_sound_sample}% +\Hypertarget{docs_example_programs_examples_sound_sample}% +\hypertarget{docs_example_programs_autotoc_md159}{}\doxysubsection{sound}\label{docs_example_programs_autotoc_md159} +The sound example is meant for experimenting with the soung generator of the Game\+Boy (to use on a real Game\+Boy). The four different sound modes of the Game\+Boy are available. It also demonstrates the use of bit fields in C (it\textquotesingle{}s a quick hack, so don\textquotesingle{}t expect too much from the code). The following keys are used\+: \begin{DoxyVerb}UP/DOWN : Move the cursor +RIGHT/LEFT : Increment/decrement the value +RIGHT/LEFT+A : Increment/decrement the value by 10 +RIGHT/LEFT+B : Set the value to maximum/minimum +START : Play the current mode's sound (or all modes if in control screen) +START+A : Play a little music with the current mode's sound +SELECT : Change the sound mode (1, 2, 3, 4 and control) +SELECT+A : Dump the sound registers to the screen +\end{DoxyVerb} +\hypertarget{docs_example_programs_autotoc_md160}{}\doxysubsection{space}\label{docs_example_programs_autotoc_md160} +The space example is an assembly program that demonstrates the use of sprites, window, background, fixed-\/point values and more. The following keys are used\+: \begin{DoxyVerb}Arrow keys : Change the speed (and direction) of the sprite +Arrow keys + A : Change the speed (and direction) of the window +Arrow keys + B : Change the speed (and direction) of the background +START : Open/close the door +SELECT : Basic fading effect +\end{DoxyVerb} +\hypertarget{docs_example_programs_autotoc_md161}{}\doxysubsection{templates}\label{docs_example_programs_autotoc_md161} +Two basic template examples are provided as a starting place for writing your G\+B\+DK programs. + diff --git a/docs/latex/docs_faq.tex b/docs/latex/docs_faq.tex @@ -0,0 +1,159 @@ +\label{docs_faq_toolchain_faq}% +\Hypertarget{docs_faq_toolchain_faq}% +\hypertarget{docs_faq_autotoc_md162}{}\doxysubsection{General}\label{docs_faq_autotoc_md162} + +\begin{DoxyItemize} +\item How can sound effects be made? +\begin{DoxyItemize} +\item The simplest way is to use the Game Boy sound hardware directly. See the \mbox{\hyperlink{docs_example_programs_examples_sound_sample}{Sound Example}} for a way to test out sounds on the hardware. +\item Further discussion on using the Sound Example rom can be found in the Z\+GB wiki. Note that some example code there is Z\+GB specific and not part of the base G\+B\+DK A\+PI\+: \href{https://github.com/Zal0/ZGB/wiki/Sounds}{\texttt{ https\+://github.\+com/\+Zal0/\+Z\+G\+B/wiki/\+Sounds}} +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_faq_autotoc_md163}{}\doxysubsection{Graphics and Resources}\label{docs_faq_autotoc_md163} + +\begin{DoxyItemize} +\item How do I use a tile map when it\textquotesingle{}s tiles don\textquotesingle{}t start at index zero? +\begin{DoxyItemize} +\item The two main options are\+: +\begin{DoxyItemize} +\item Use \mbox{\hyperlink{gb_8h_a811c386cac0df2d260aacb5a43608be5}{set\+\_\+bkg\+\_\+based\+\_\+tiles()}}, \mbox{\hyperlink{gb_8h_abc8bc5808620a9717263b8c9ec2237f0}{set\+\_\+bkg\+\_\+based\+\_\+submap()}}, \mbox{\hyperlink{gb_8h_a739a212609ae60c9c56c095f96b4ea80}{set\+\_\+win\+\_\+based\+\_\+tiles()}}, \mbox{\hyperlink{gb_8h_a1b8a1026983cb2b2c0bd46334b4692a0}{set\+\_\+win\+\_\+based\+\_\+submap()}} and provide a tile origin offset. +\item Use \mbox{\hyperlink{docs_toolchain_utility_png2asset}{utility\+\_\+png2asset}} with {\ttfamily -\/tile\+\_\+origin} to create a map with the tile index offsets built in. +\end{DoxyItemize} +\end{DoxyItemize} +\end{DoxyItemize} + +~\newline +\hypertarget{docs_faq_autotoc_md164}{}\doxysubsection{R\+O\+M Header Settings}\label{docs_faq_autotoc_md164} + +\begin{DoxyItemize} +\item How do I set the R\+OM\textquotesingle{}s title? +\begin{DoxyItemize} +\item Use the \mbox{\hyperlink{docs_toolchain_makebin}{makebin}} {\ttfamily -\/yn} flag. For example with \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} {\ttfamily -\/Wm-\/yn\char`\"{}\+M\+Y\+T\+I\+T\+L\+E\char`\"{}} or with \mbox{\hyperlink{docs_toolchain_makebin}{makebin}} directly {\ttfamily -\/yn \char`\"{}\+M\+Y\+T\+I\+T\+L\+E\char`\"{}}. The maximum length is up to 15 characters, but may be shorter. +\item See \char`\"{}0134-\/0143 -\/ Title\char`\"{} in \mbox{\hyperlink{docs_links_and_tools_Pandocs}{Pandocs}} for more details. ~\newline + +\end{DoxyItemize} +\end{DoxyItemize} + +\label{docs_faq_faq_gb_type_header_setting}% +\Hypertarget{docs_faq_faq_gb_type_header_setting}% + +\begin{DoxyItemize} +\item How do I set S\+GB, Color only and Color compatibility in the R\+OM header? +\begin{DoxyItemize} +\item Use the following \mbox{\hyperlink{docs_toolchain_makebin}{makebin}} flags. Prefix them with {\ttfamily -\/Wm} if using \mbox{\hyperlink{docs_toolchain_lcc}{lcc}}. +\begin{DoxyItemize} +\item {\ttfamily -\/yc} \+: Game\+Boy Color compatible +\item {\ttfamily -\/yC} \+: Game\+Boy Color only +\item {\ttfamily -\/ys} \+: Super Game\+Boy compatible ~\newline + +\end{DoxyItemize} +\end{DoxyItemize} +\item How do I set the R\+OM \mbox{\hyperlink{docs_rombanking_mbcs_MBC}{M\+BC}} type, and what M\+BC values are available to use with the {\ttfamily -\/yt} \mbox{\hyperlink{docs_toolchain_makebin}{makebin}} flag? +\begin{DoxyItemize} +\item See \mbox{\hyperlink{docs_rombanking_mbcs_setting_mbc_and_rom_ram_banks}{setting\+\_\+mbc\+\_\+and\+\_\+rom\+\_\+ram\+\_\+banks}} ~\newline + +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_faq_autotoc_md165}{}\doxysubsection{Errors / Compiling / Toolchain}\label{docs_faq_autotoc_md165} +\label{docs_faq_faq_sdcc_peephole_instruction_error}% +\Hypertarget{docs_faq_faq_sdcc_peephole_instruction_error}% + +\begin{DoxyItemize} +\item What does {\ttfamily z80instruction\+Size() failed to parse line node, assuming 999 bytes} mean? +\begin{DoxyItemize} +\item This is a known issue with S\+D\+CC Peephole Optimizer parsing and can be ignored. A bug report has been filed for it. ~\newline + +\end{DoxyItemize} +\end{DoxyItemize} + +\label{docs_faq_faq_bank_overflow_errors}% +\Hypertarget{docs_faq_faq_bank_overflow_errors}% + +\begin{DoxyItemize} +\item What do these kinds of warnings / errors mean? {\ttfamily W\+A\+R\+N\+I\+NG\+: possibly wrote twice at addr 4000 (93-\/$>$3E)} {\ttfamily Warning\+: Write from one bank spans into the next. 7ff7 -\/$>$ 8016 (bank 1 -\/$>$ 2)} +\begin{DoxyItemize} +\item You may have a overflow in one of your R\+OM banks. If there is more data allocated to a bank than it can hold it then will spill over into the next bank. The warnings are generated by \mbox{\hyperlink{docs_toolchain_ihxcheck}{ihxcheck}} during conversion of an .ihx file into a R\+OM file. + +See the section \mbox{\hyperlink{docs_rombanking_mbcs}{R\+O\+M/\+R\+AM Banking and M\+B\+Cs}} for more details about how banks work and what their size is. You may want to use a tool such as \mbox{\hyperlink{docs_links_and_tools_romusage}{romusage}} to calculate the amount of free and used space. ~\newline + +\end{DoxyItemize} +\end{DoxyItemize} + +\label{docs_faq_faq_error_mbc_size}% +\Hypertarget{docs_faq_faq_error_mbc_size}% + +\begin{DoxyItemize} +\item What does {\ttfamily error\+: size of the buffer is too small} mean? +\begin{DoxyItemize} +\item Your program is using more banks than you have configured in the toolchain. Either the M\+BC type was not set, or the number of banks or M\+BC type should be changed to provide more banks. + +See the section \mbox{\hyperlink{docs_rombanking_mbcs_setting_mbc_and_rom_ram_banks}{setting\+\_\+mbc\+\_\+and\+\_\+rom\+\_\+ram\+\_\+banks}} for more details. ~\newline + +\end{DoxyItemize} +\item Why is the compiler so slow, or why did it suddenly get much slower? +\begin{DoxyItemize} +\item This may happen if you have large initialized arrays declared without the {\ttfamily const} keyword. It\textquotesingle{}s important to use the const keyword for read-\/only data. See \mbox{\hyperlink{docs_coding_guidelines_const_gbtd_gbmb}{const\+\_\+gbtd\+\_\+gbmb}} and \mbox{\hyperlink{docs_coding_guidelines_const_array_data}{const\+\_\+array\+\_\+data}} ~\newline + +\end{DoxyItemize} +\item What flags should be enabled for debugging? +\begin{DoxyItemize} +\item You can use the \mbox{\hyperlink{docs_toolchain_lcc_debug}{lcc debug flag}} ~\newline + +\end{DoxyItemize} +\item Is it possible to generate a debug symbol file ({\ttfamily .sym}) compatible with the \mbox{\hyperlink{docs_links_and_tools_bgb}{bgb}} emulator? +\begin{DoxyItemize} +\item Yes, turn on {\ttfamily .noi} output (L\+CC argument\+: {\ttfamily -\/Wl-\/j} or {\ttfamily -\/debug} and then use {\ttfamily -\/Wm-\/yS} with L\+CC (or {\ttfamily -\/yS} with makebin directly). ~\newline + +\end{DoxyItemize} +\item How do I move the start of the {\ttfamily D\+A\+TA} section and the {\ttfamily Shadow O\+AM} location? +\begin{DoxyItemize} +\item The default locations are\+: {\ttfamily \+\_\+shadow\+\_\+\+O\+AM=0x\+C000} and 240 bytes after it {\ttfamily \+\_\+\+D\+A\+TA=0x\+C0\+A0} +\item So, for example, if you wanted to move them both to start 256(0x100) bytes later, use these command line arguments for L\+CC\+: +\begin{DoxyItemize} +\item To change the Shadow O\+AM address\+: {\ttfamily -\/Wl-\/g\+\_\+shadow\+\_\+\+O\+AM=0x\+C100} +\item To change the D\+A\+TA address (again, 240 bytes after the Shadow O\+AM)\+: {\ttfamily -\/Wl-\/b\+\_\+\+D\+A\+TA=0xc1a0} +\end{DoxyItemize} +\end{DoxyItemize} +\end{DoxyItemize} + +~\newline +\hypertarget{docs_faq_autotoc_md166}{}\doxysubsection{A\+P\+I / Utilities}\label{docs_faq_autotoc_md166} + +\begin{DoxyItemize} +\item Is there a list of all functions in the A\+PI? +\begin{DoxyItemize} +\item \href{globals_func.html}{\texttt{ Functions}} +\item \href{globals_vars.html}{\texttt{ Variables}} ~\newline + +\end{DoxyItemize} +\item Can I use the {\ttfamily float} type to do floating point math? +\begin{DoxyItemize} +\item There is no support for \textquotesingle{}float\textquotesingle{} in G\+B\+D\+K-\/2020. +\item Instead consider some form of {\ttfamily fixed point} math (including the \mbox{\hyperlink{docs_coding_guidelines_fixed_point_type}{fixed}} type included in G\+B\+DK) ~\newline + +\end{DoxyItemize} +\item Why are 8 bit numbers not printing correctly with \mbox{\hyperlink{stdio_8h_ab403fa700816f08631ba75bc536f74d4}{printf()}}? +\begin{DoxyItemize} +\item To correctly pass chars/uint8s for printing, they must be explicitly re-\/cast as such when calling the function. See docs\+\_\+chars\+\_\+varargs for more details. ~\newline + +\end{DoxyItemize} +\item How can maps larger than 32x32 tiles be scrolled? \& Why is the map wrapping around to the left side when setting a map wider than 32 tiles with \mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data()}}? +\begin{DoxyItemize} +\item The hardware Background map is 32 x 32 tiles. The screen viewport that can be scrolled around that map is 20 x 18 tiles. In order to scroll around within a much larger map, new tiles must be loaded at the edges of the screen viewport in the direction that it is being scrolled. \mbox{\hyperlink{sms_8h_a0cfd261bc7a94b1f6093f423bad30298}{set\+\_\+bkg\+\_\+submap}} can be used to load those rows and columns of tiles from the desired sub-\/region of the large map. +\item See the \char`\"{}\+Large Map\char`\"{} example program and \mbox{\hyperlink{gb_8h_adb21d1c7d533a7133bab36a845489780}{set\+\_\+bkg\+\_\+submap()}} +\item Writes that exceed coordinate 31 of the Background tile map on the x or y axis will wrap around to the Left and Top edges. ~\newline + +\end{DoxyItemize} +\item When using gbt\+\_\+player with music in banks, how can the current bank be restored after calling gbt\+\_\+update()? (since it changes the currently active bank without restoring it). +\begin{DoxyItemize} +\item See \mbox{\hyperlink{docs_rombanking_mbcs_banking_current_bank}{restoring the current bank}} ~\newline + +\end{DoxyItemize} +\item How can C\+GB palettes and other sprite properties be used with metasprites? +\begin{DoxyItemize} +\item See \mbox{\hyperlink{gb_2metasprites_8h_metasprite_and_sprite_properties}{Metasprites and sprite properties}} ~\newline + +\end{DoxyItemize} +\item Weird things are happening to my sprite colors when I use png2asset and metasprites. What\textquotesingle{}s going on and how does it work? +\begin{DoxyItemize} +\item See \mbox{\hyperlink{docs_toolchain_utility_png2asset}{utility\+\_\+png2asset}} for details of how the conversion process works. +\end{DoxyItemize} +\end{DoxyItemize} + diff --git a/docs/latex/docs_getting_started.tex b/docs/latex/docs_getting_started.tex @@ -0,0 +1,108 @@ +Follow the steps in this section to start using G\+B\+D\+K-\/2020.\hypertarget{docs_getting_started_autotoc_md6}{}\doxysubsection{1. Download a Release and unzip it}\label{docs_getting_started_autotoc_md6} +You can get the latest releases from here\+: \href{https://github.com/gbdk-2020/gbdk-2020/releases}{\texttt{ https\+://github.\+com/gbdk-\/2020/gbdk-\/2020/releases}}\hypertarget{docs_getting_started_autotoc_md7}{}\doxysubsection{2. Compile Example projects}\label{docs_getting_started_autotoc_md7} +Make sure your G\+B\+D\+K-\/2020 installation is working correctly by compiling some of the included \mbox{\hyperlink{docs_example_programs}{example projects}}. + +If everything in works in the steps below and there are no errors reported then each project that was build should have it\textquotesingle{}s on .gb R\+OM file (or suitable extension for the other supported targets).\hypertarget{docs_getting_started_autotoc_md8}{}\doxysubsubsection{Windows (without Make installed)\+:}\label{docs_getting_started_autotoc_md8} +Navigate to a project within the example projects folder ({\ttfamily \char`\"{}examples\textbackslash{}gb\textbackslash{}\char`\"{}} under your G\+B\+D\+K-\/2020 install folder) and open a command line. Then type\+: \begin{DoxyVerb}compile +\end{DoxyVerb} + + +or \begin{DoxyVerb}compile.bat +\end{DoxyVerb} + + +This should build the example project. You can also navigate into other example project folders and build in the same way.\hypertarget{docs_getting_started_autotoc_md9}{}\doxysubsubsection{Linux / Mac\+O\+S / Windows with Make installed\+:}\label{docs_getting_started_autotoc_md9} +Navigate to the example projects folder ({\ttfamily \char`\"{}examples/gb/\char`\"{}} under your G\+B\+D\+K-\/2020 install folder) and open a command line. Then type\+: \begin{DoxyVerb}make +\end{DoxyVerb} + + +This should build all of the examples sequentially. You can also navigate into an individual example project\textquotesingle{}s folder and build it by typing {\ttfamily make}.\hypertarget{docs_getting_started_autotoc_md10}{}\doxysubsection{3. Use a Template}\label{docs_getting_started_autotoc_md10} +{\bfseries{To create a new project use a template!}} + +There are template projects included in the \mbox{\hyperlink{docs_example_programs}{G\+B\+DK example projects}} to help you get up and running. Their folder names start with {\ttfamily template\+\_\+}. + + +\begin{DoxyEnumerate} +\item Copy one of the template folders to a new folder name +\item If you moved the folder out of the G\+B\+DK examples then you {\bfseries{must}} update the {\ttfamily G\+B\+DK} path variable and/or the path to {\ttfamily L\+CC} in the {\ttfamily Makefile} or {\ttfamily compile.\+bat} so that it will still build correctly. +\item Type {\ttfamily make} on the command line in that folder to verify it still builds. +\item Open main.\+c to start making changes. +\end{DoxyEnumerate}\hypertarget{docs_getting_started_autotoc_md11}{}\doxysubsection{4. If you use G\+B\+T\+D / G\+B\+M\+B, get the fixed version}\label{docs_getting_started_autotoc_md11} +If you plan to use G\+B\+TD / G\+B\+MB for making graphics, make sure to get the version with the {\ttfamily const} fix and other improvements. See \mbox{\hyperlink{docs_coding_guidelines_const_gbtd_gbmb}{const\+\_\+gbtd\+\_\+gbmb}}.\hypertarget{docs_getting_started_autotoc_md12}{}\doxysubsection{5. Review Coding Guidelines}\label{docs_getting_started_autotoc_md12} +Take a look at the \mbox{\hyperlink{docs_coding_guidelines}{coding guidelines}}, even if you have experience writing software for other platforms. There is important information to help you get good results and performance on the Game Boy. + +If you haven\textquotesingle{}t written programs in C before, check the \mbox{\hyperlink{docs_coding_guidelines_docs_c_tutorials}{C tutorials section}}.\hypertarget{docs_getting_started_autotoc_md13}{}\doxysubsection{6. Hardware and Resources}\label{docs_getting_started_autotoc_md13} +If you have a specific project in mind, consider what hardware want to target. It isn\textquotesingle{}t something that has to be decided up front, but it can influence design and implementation. + +What size will your game or program be? +\begin{DoxyItemize} +\item 32K Cart (no-\/\+M\+BC required) +\item Larger than 32K (M\+BC required) +\item See more details about \mbox{\hyperlink{docs_rombanking_mbcs}{R\+OM Banking and M\+B\+Cs}}. +\end{DoxyItemize} + +What console platform(s) will it run on? +\begin{DoxyItemize} +\item Game Boy (G\+B/\+G\+BC) +\item Analogue Pocket (AP) +\item Sega Master System (S\+MS) +\item Game Gear (GG) +\item Mega Duck (D\+U\+CK) +\item See \mbox{\hyperlink{docs_supported_consoles}{Supported Consoles \& Cross Compiling}} +\end{DoxyItemize} + +If targeting the Game Boy, what hardware will it run on? +\begin{DoxyItemize} +\item Game Boy (\& Game Boy Color) +\item Game Boy Color only +\item Game Boy \& Super Game Boy +\item See how to \mbox{\hyperlink{docs_faq_faq_gb_type_header_setting}{set the compatibility type in the cartridge header}}. Read more about hardware differences in the \mbox{\hyperlink{docs_links_and_tools_Pandocs}{Pandocs}} +\end{DoxyItemize}\hypertarget{docs_getting_started_autotoc_md14}{}\doxysubsection{7. Set up C Source debugging}\label{docs_getting_started_autotoc_md14} +Tracking down problems in code is easier with a debugger. Emulicious has a \mbox{\hyperlink{docs_links_and_tools_Emulicious_debug}{debug adapter}} that provides C source debugging with G\+B\+D\+K-\/2020.\hypertarget{docs_getting_started_autotoc_md15}{}\doxysubsection{8. Try a G\+B\+D\+K Tutorial}\label{docs_getting_started_autotoc_md15} +You might want to start off with a guided G\+B\+DK tutorial from the \mbox{\hyperlink{docs_links_and_tools_links_gbdk_tutorials}{G\+B\+DK Tutorials section}}. + + +\begin{DoxyItemize} +\item {\bfseries{Note\+:}} Tutorials (or parts of them) may be based on the older G\+B\+DK from the 2000\textquotesingle{}s before it was updated to be G\+B\+D\+K-\/2020. The general principals are all the same, but the setup and parts of the \mbox{\hyperlink{docs_toolchain}{toolchain}} (compiler/etc) may be somewhat different and some links may be outdated (pointing to the old G\+B\+DK or old tools). +\end{DoxyItemize}\hypertarget{docs_getting_started_autotoc_md16}{}\doxysubsection{9. Read up!}\label{docs_getting_started_autotoc_md16} + +\begin{DoxyItemize} +\item It is strongly encouraged to read more \mbox{\hyperlink{index_docs_index}{G\+B\+D\+K-\/2020 General Documentation}}. +\item Learn about the Game Boy hardware by reading through the \mbox{\hyperlink{docs_links_and_tools_Pandocs}{Pandocs}} technical reference. +\end{DoxyItemize}\hypertarget{docs_getting_started_autotoc_md17}{}\doxysubsection{10. Need help?}\label{docs_getting_started_autotoc_md17} +Check out the links for \mbox{\hyperlink{docs_links_and_tools_links_help_and_community}{online community and support}} and read the \mbox{\hyperlink{docs_faq}{F\+AQ}}.\hypertarget{docs_getting_started_autotoc_md18}{}\doxysubsection{Migrating From Pre-\/\+G\+B\+D\+K-\/2020 Tutorials}\label{docs_getting_started_autotoc_md18} +Several popular G\+B\+DK Tutorials, Videos and How-\/to\textquotesingle{}s were made before G\+B\+D\+K-\/2020 was available, as a result some information they include is outdated or incompatible. The following summarizes changes that should be made for best results.\hypertarget{docs_getting_started_autotoc_md19}{}\doxysubsubsection{Also see\+:}\label{docs_getting_started_autotoc_md19} + +\begin{DoxyItemize} +\item \mbox{\hyperlink{docs_migrating_versions}{Migrating to new G\+B\+DK Versions}} +\item \mbox{\hyperlink{docs_coding_guidelines}{Coding Guidelines}} +\item \mbox{\hyperlink{docs_getting_started}{Getting Started}} (the section above this) +\end{DoxyItemize}\hypertarget{docs_getting_started_autotoc_md20}{}\doxysubsubsection{Use auto-\/banking}\label{docs_getting_started_autotoc_md20} +G\+B\+D\+K-\/2020 now supports auto-\/banking (\mbox{\hyperlink{docs_rombanking_mbcs_rom_autobanking}{rom\+\_\+autobanking}}). In most cases using auto-\/banking will be easier and less error prone than manually assigning source and assets to banks. +\begin{DoxyItemize} +\item There is a source example {\ttfamily banks\+\_\+autobank} project. +\end{DoxyItemize}\hypertarget{docs_getting_started_autotoc_md21}{}\doxysubsubsection{Non-\/standard types (\+U\+I\+N\+T8, etc)}\label{docs_getting_started_autotoc_md21} +The old G\+B\+DK types {\ttfamily U\+I\+N\+T8}, {\ttfamily I\+N\+T8}, {\ttfamily U\+I\+N\+T16}, {\ttfamily I\+N\+T16} are non-\/standard and less portable. + +The following should be used instead\+: {\ttfamily uint8\+\_\+t}, {\ttfamily int16\+\_\+t}, {\ttfamily uint16\+\_\+t}, {\ttfamily int32\+\_\+t}, {\ttfamily uint32\+\_\+t} and {\ttfamily bool}. + +These are standard types defined in {\ttfamily stdint.\+h} ({\ttfamily \#include $<$stdint.\+h$>$}) and {\ttfamily stdbool.\+h} ({\ttfamily \#include $<$stdbool.\+h$>$}).\hypertarget{docs_getting_started_autotoc_md22}{}\doxysubsubsection{If using G\+B\+T\+D / G\+B\+M\+B, get the fixed version}\label{docs_getting_started_autotoc_md22} +If you plan to use G\+B\+TD / G\+B\+MB for making graphics, make sure to get the version with the {\ttfamily const} fix and other improvements. See \mbox{\hyperlink{docs_coding_guidelines_const_gbtd_gbmb}{const\+\_\+gbtd\+\_\+gbmb}}.\hypertarget{docs_getting_started_autotoc_md23}{}\doxysubsubsection{L\+C\+C and S\+D\+C\+C flags that are not needed}\label{docs_getting_started_autotoc_md23} +The following flag is no longer needed with \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} and \mbox{\hyperlink{docs_toolchain_sdcc}{sdcc}}, it can be removed without any loss of performance. +\begin{DoxyItemize} +\item {\ttfamily -\/D\+U\+S\+E\+\_\+\+S\+FR} +\begin{DoxyItemize} +\item Behavior formerly enabled by U\+S\+E\+\_\+\+S\+F\+R\+\_\+\+F\+O\+R\+\_\+\+R\+EG is on by default now (no need to specify it, it isn\textquotesingle{}t a tested {\ttfamily \#ifdef} anymore). check here why\+: \href{https://gbdev.gg8.se/forums/viewtopic.php?id=697}{\texttt{ https\+://gbdev.\+gg8.\+se/forums/viewtopic.\+php?id=697}} +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_getting_started_autotoc_md24}{}\doxysubsubsection{R\+O\+M Header Settings (such as Color, S\+G\+B, etc)}\label{docs_getting_started_autotoc_md24} +Setting R\+OM bytes directly with {\ttfamily -\/Wl-\/yp0x$<$address$>$=0x$<$value$>$} is no longer supported. Instead use \mbox{\hyperlink{docs_toolchain_makebin}{makebin}} flags. For example, use {\ttfamily -\/Wm-\/yC} instead of {\ttfamily -\/Wl-\/yp0x143=0x\+C0}. See \mbox{\hyperlink{docs_faq_faq_gb_type_header_setting}{faq\+\_\+gb\+\_\+type\+\_\+header\+\_\+setting}}.\hypertarget{docs_getting_started_autotoc_md25}{}\doxysubsubsection{G\+B\+D\+K Header include changes}\label{docs_getting_started_autotoc_md25} +The following header files which are now cross platform were moved from {\ttfamily gb/} to {\ttfamily gbdk/}\+: {\ttfamily bcd.\+h}, {\ttfamily console.\+h}, {\ttfamily far\+\_\+ptr.\+h}, {\ttfamily font.\+h}, {\ttfamily gbdecompress.\+h}, {\ttfamily gbdk-\/lib.\+h}, {\ttfamily incbin.\+h}, {\ttfamily metasprites.\+h}, {\ttfamily platform.\+h}, {\ttfamily version.\+h} +\begin{DoxyItemize} +\item When including them use {\ttfamily \#include $<$gbdk/...$>$} instead of {\ttfamily \#include $<$gb/$>$} +\end{DoxyItemize}\hypertarget{docs_getting_started_autotoc_md26}{}\doxysubsubsection{Include .\+h headers, not .\+c source files}\label{docs_getting_started_autotoc_md26} +Do not {\ttfamily \#include} {\ttfamily .c} source files into other {\ttfamily .c} source files. Instead create {\ttfamily .h} header files for them and include those. +\begin{DoxyItemize} +\item \href{https://www.tutorialspoint.com/cprogramming/c_header_files.htm}{\texttt{ https\+://www.\+tutorialspoint.\+com/cprogramming/c\+\_\+header\+\_\+files.\+htm}} +\end{DoxyItemize}\hypertarget{docs_getting_started_autotoc_md27}{}\doxysubsubsection{Use the Template Projects}\label{docs_getting_started_autotoc_md27} +Modern project templates are included with G\+B\+D\+K-\/2020. Using them (and their Makefile or compile.\+bat) as a starting point for projects is recommended and can help ensure better default settings and project organization.\hypertarget{docs_getting_started_autotoc_md28}{}\doxysubsubsection{Use h\+U\+G\+Etracker instead of gbt\+\_\+player}\label{docs_getting_started_autotoc_md28} +h\+U\+G\+Etracker and it\textquotesingle{}s driver \mbox{\hyperlink{docs_links_and_tools_hUGEdriver}{h\+U\+G\+Edriver}} are smaller, more efficient and more versatile than gbt\+\_\+player. + diff --git a/docs/latex/docs_links_and_tools.tex b/docs/latex/docs_links_and_tools.tex @@ -0,0 +1,190 @@ +This is a brief list of useful tools and information. It is not meant to be complete or exhaustive, for a larger list see the \mbox{\hyperlink{docs_links_and_tools_awesome_gb}{Awesome Game Boy Development}} list. + +\label{docs_links_and_tools_links_sdcc_docs}% +\Hypertarget{docs_links_and_tools_links_sdcc_docs}% +\hypertarget{docs_links_and_tools_autotoc_md29}{}\doxysubsection{S\+D\+C\+C Compiler Suite User Manual}\label{docs_links_and_tools_autotoc_md29} + +\begin{DoxyItemize} +\item G\+B\+D\+K-\/2020 uses the S\+D\+CC compiler and related tools. The S\+D\+CC manual goes into much more detail about available features and how to use them. ~\newline + \href{http://sdcc.sourceforge.net/doc/sdccman.pdf}{\texttt{ http\+://sdcc.\+sourceforge.\+net/doc/sdccman.\+pdf}} ~\newline + \href{http://sdcc.sourceforge.net}{\texttt{ http\+://sdcc.\+sourceforge.\+net}} +\end{DoxyItemize} + +\label{docs_links_and_tools_links_help_and_community}% +\Hypertarget{docs_links_and_tools_links_help_and_community}% +\hypertarget{docs_links_and_tools_autotoc_md30}{}\doxysubsection{Getting Help}\label{docs_links_and_tools_autotoc_md30} + +\begin{DoxyItemize} +\item G\+B\+DK Discord community\+: ~\newline + \href{https://github.com/gbdk-2020/gbdk-2020/\#discord-servers}{\texttt{ https\+://github.\+com/gbdk-\/2020/gbdk-\/2020/\#discord-\/servers}} +\item Game Boy discussion forum\+: ~\newline + \href{https://gbdev.gg8.se/forums/}{\texttt{ https\+://gbdev.\+gg8.\+se/forums/}} +\end{DoxyItemize} + +\label{docs_links_and_tools_links_gameboy_docs}% +\Hypertarget{docs_links_and_tools_links_gameboy_docs}% +\hypertarget{docs_links_and_tools_autotoc_md31}{}\doxysubsection{Game Boy Documentation}\label{docs_links_and_tools_autotoc_md31} + +\begin{DoxyItemize} +\item \label{docs_links_and_tools_Pandocs}% +\Hypertarget{docs_links_and_tools_Pandocs}% + {\bfseries{Pandocs}} ~\newline + Extensive and up-\/to-\/date technical documentation about the Game Boy and related hardware. ~\newline + \href{https://gbdev.io/pandocs/}{\texttt{ https\+://gbdev.\+io/pandocs/}} +\item \label{docs_links_and_tools_awesome_gb}% +\Hypertarget{docs_links_and_tools_awesome_gb}% + {\bfseries{Awesome Game Boy Development list}} ~\newline + A list of Game Boy/\+Color development resources, tools, docs, related projects and homebrew. ~\newline + \href{https://gbdev.io/list.html}{\texttt{ https\+://gbdev.\+io/list.\+html}} +\end{DoxyItemize} + +\label{docs_links_and_tools_links_sms_gg_docs}% +\Hypertarget{docs_links_and_tools_links_sms_gg_docs}% +\hypertarget{docs_links_and_tools_autotoc_md32}{}\doxysubsection{Sega Master System / Game Gear Documentation}\label{docs_links_and_tools_autotoc_md32} + +\begin{DoxyItemize} +\item \label{docs_links_and_tools_smspower}% +\Hypertarget{docs_links_and_tools_smspower}% + {\bfseries{S\+MS Power!}} ~\newline + Community site with technical documentation, reviews and other content related to the Sega 8-\/bit systems. \href{https://www.smspower.org/}{\texttt{ https\+://www.\+smspower.\+org/}} +\end{DoxyItemize} + +\label{docs_links_and_tools_links_gbdk_tutorials}% +\Hypertarget{docs_links_and_tools_links_gbdk_tutorials}% +\hypertarget{docs_links_and_tools_autotoc_md33}{}\doxysubsection{Tutorials}\label{docs_links_and_tools_autotoc_md33} + +\begin{DoxyItemize} +\item \label{docs_links_and_tools_tutorials_larolds}% +\Hypertarget{docs_links_and_tools_tutorials_larolds}% + {\bfseries{Larold\textquotesingle{}s Jubilant Junkyard Tutorials}} ~\newline + Several walk throughs about the fundamentals of developing for the Game Boy with G\+B\+D\+K-\/2020. There are simple examples with source code. \href{https://laroldsjubilantjunkyard.com/tutorials/}{\texttt{ https\+://laroldsjubilantjunkyard.\+com/tutorials/}} +\item \label{docs_links_and_tools_tutorials_gamingmonsters}% +\Hypertarget{docs_links_and_tools_tutorials_gamingmonsters}% + {\bfseries{Gaming Monsters Tutorials}} ~\newline + Several video tutorials and code for making games with G\+B\+D\+K/\+G\+B\+D\+K-\/2020. ~\newline + \href{https://www.youtube.com/playlist?list=PLeEj4c2zF7PaFv5MPYhNAkBGrkx4iPGJo}{\texttt{ https\+://www.\+youtube.\+com/playlist?list=\+P\+Le\+Ej4c2z\+F7\+Pa\+Fv5\+M\+P\+Yh\+N\+Ak\+B\+Grkx4i\+P\+G\+Jo}} ~\newline + \href{https://github.com/gingemonster/GamingMonstersGameBoySampleCode}{\texttt{ https\+://github.\+com/gingemonster/\+Gaming\+Monsters\+Game\+Boy\+Sample\+Code}} +\item \label{docs_links_and_tools_tutorials_typorter}% +\Hypertarget{docs_links_and_tools_tutorials_typorter}% + {\bfseries{Pocket Leage Tutortial}} ~\newline + \href{https://blog.ty-porter.dev/development/2021/04/04/writing-a-gameboy-game-in-2021-pt-0.html}{\texttt{ https\+://blog.\+ty-\/porter.\+dev/development/2021/04/04/writing-\/a-\/gameboy-\/game-\/in-\/2021-\/pt-\/0.\+html}} +\end{DoxyItemize} + +\label{docs_links_and_tools_link_examples}% +\Hypertarget{docs_links_and_tools_link_examples}% +\hypertarget{docs_links_and_tools_autotoc_md34}{}\doxysubsection{Example code}\label{docs_links_and_tools_autotoc_md34} + +\begin{DoxyItemize} +\item \label{docs_links_and_tools_examples_gbdk_playground}% +\Hypertarget{docs_links_and_tools_examples_gbdk_playground}% + {\bfseries{Simplified G\+B\+DK examples}} ~\newline + \href{https://github.com/mrombout/gbdk_playground/commits/master}{\texttt{ https\+://github.\+com/mrombout/gbdk\+\_\+playground/commits/master}} +\end{DoxyItemize} + +\label{docs_links_and_tools_links_graphic}% +\Hypertarget{docs_links_and_tools_links_graphic}% +\hypertarget{docs_links_and_tools_autotoc_md35}{}\doxysubsection{Graphics Tools}\label{docs_links_and_tools_autotoc_md35} + +\begin{DoxyItemize} +\item \label{docs_links_and_tools_gbtd_gbmb}% +\Hypertarget{docs_links_and_tools_gbtd_gbmb}% +\label{docs_links_and_tools_gbmb}% +\Hypertarget{docs_links_and_tools_gbmb}% +\label{docs_links_and_tools_gbtd}% +\Hypertarget{docs_links_and_tools_gbtd}% + ~\newline + \label{docs_links_and_tools_toxa_gbtd_gbmb}% +\Hypertarget{docs_links_and_tools_toxa_gbtd_gbmb}% + {\bfseries{Game Boy Tile Designer and Map Builder (G\+B\+TD / G\+B\+MB)}} ~\newline + Sprite / Tile editor and Map Builder that can export to C that works with G\+B\+DK. ~\newline + This is an updated version with const export fixed and other improvments. ~\newline + \href{https://github.com/gbdk-2020/GBTD_GBMB}{\texttt{ https\+://github.\+com/gbdk-\/2020/\+G\+B\+T\+D\+\_\+\+G\+B\+MB}} +\begin{DoxyItemize} +\item A G\+I\+MP plugin to read/write G\+B\+R/\+G\+BM files and do map conversion\+: ~\newline + \href{https://github.com/bbbbbr/gimp-tilemap-gb}{\texttt{ https\+://github.\+com/bbbbbr/gimp-\/tilemap-\/gb}} +\item Command line version of the above tool that doesn\textquotesingle{}t require G\+I\+MP (png2gbtiles)\+: ~\newline + \href{https://github.com/bbbbbr/gimp-tilemap-gb/tree/master/console}{\texttt{ https\+://github.\+com/bbbbbr/gimp-\/tilemap-\/gb/tree/master/console}} +\end{DoxyItemize} +\item \label{docs_links_and_tools_Tilemap_Studio}% +\Hypertarget{docs_links_and_tools_Tilemap_Studio}% + {\bfseries{Tilemap Studio}} ~\newline + A tilemap editor for Game Boy, G\+BC, G\+BA, or S\+N\+ES projects. ~\newline + \href{https://github.com/Rangi42/tilemap-studio/}{\texttt{ https\+://github.\+com/\+Rangi42/tilemap-\/studio/}} +\end{DoxyItemize} + +\label{docs_links_and_tools_tools_music}% +\Hypertarget{docs_links_and_tools_tools_music}% +\hypertarget{docs_links_and_tools_autotoc_md36}{}\doxysubsection{Music drivers and tools}\label{docs_links_and_tools_autotoc_md36} + +\begin{DoxyItemize} +\item \label{docs_links_and_tools_gbt-player}% +\Hypertarget{docs_links_and_tools_gbt-player}% + {\bfseries{G\+BT Player}} ~\newline + A .mod converter and music driver that works with G\+B\+DK and R\+G\+B\+DS. ~\newline + \href{https://github.com/AntonioND/gbt-player}{\texttt{ https\+://github.\+com/\+Antonio\+N\+D/gbt-\/player}} ~\newline + Docs from G\+B\+Studio that should mostly apply\+: \href{https://www.gbstudio.dev/docs/music/}{\texttt{ https\+://www.\+gbstudio.\+dev/docs/music/}} +\item \label{docs_links_and_tools_hUGEdriver}% +\Hypertarget{docs_links_and_tools_hUGEdriver}% + {\bfseries{h\+U\+G\+Etracker}} and {\bfseries{h\+U\+G\+Edriver}} ~\newline + A tracker and music driver that work with G\+B\+DK and R\+G\+B\+DS. It is smaller, more efficient and more versatile than gbt\+\_\+player. ~\newline + \href{https://github.com/untoxa/hUGEBuild}{\texttt{ https\+://github.\+com/untoxa/h\+U\+G\+E\+Build}} ~\newline + \href{https://github.com/SuperDisk/hUGEDriver}{\texttt{ https\+://github.\+com/\+Super\+Disk/h\+U\+G\+E\+Driver}} ~\newline + \href{https://github.com/SuperDisk/hUGETracker}{\texttt{ https\+://github.\+com/\+Super\+Disk/h\+U\+G\+E\+Tracker}} +\end{DoxyItemize} + +\label{docs_links_and_tools_tools_emulators}% +\Hypertarget{docs_links_and_tools_tools_emulators}% +\hypertarget{docs_links_and_tools_autotoc_md37}{}\doxysubsection{Emulators}\label{docs_links_and_tools_autotoc_md37} + +\begin{DoxyItemize} +\item \label{docs_links_and_tools_bgb}% +\Hypertarget{docs_links_and_tools_bgb}% + {\bfseries{B\+GB}} ~\newline + Accurate emulator, has useful debugging tools. ~\newline + \href{http://bgb.bircd.org/}{\texttt{ http\+://bgb.\+bircd.\+org/}} +\item \label{docs_links_and_tools_emulicious}% +\Hypertarget{docs_links_and_tools_emulicious}% + {\bfseries{Emulicious}} ~\newline + An accurate emulator with extensive tools including source level debugging. ~\newline + \href{https://emulicious.net/}{\texttt{ https\+://emulicious.\+net/}} +\end{DoxyItemize} + +\label{docs_links_and_tools_tools_debug}% +\Hypertarget{docs_links_and_tools_tools_debug}% +\hypertarget{docs_links_and_tools_autotoc_md38}{}\doxysubsection{Debugging tools}\label{docs_links_and_tools_autotoc_md38} + +\begin{DoxyItemize} +\item \label{docs_links_and_tools_Emulicious_debug}% +\Hypertarget{docs_links_and_tools_Emulicious_debug}% + {\bfseries{Emulicious debug adapter}} ~\newline + Provides source-\/level debugging in VS Code that works with G\+B\+D\+K2020. ~\newline + \href{https://marketplace.visualstudio.com/items?itemName=emulicious.emulicious-debugger}{\texttt{ https\+://marketplace.\+visualstudio.\+com/items?item\+Name=emulicious.\+emulicious-\/debugger}} +\item \label{docs_links_and_tools_romusage}% +\Hypertarget{docs_links_and_tools_romusage}% + {\bfseries{romusage}} ~\newline + Calculate used and free space in banks (R\+O\+M/\+R\+AM) and warn about errors such as bank overflows. ~\newline + \href{https://github.com/bbbbbr/romusage}{\texttt{ https\+://github.\+com/bbbbbr/romusage}} +\item \label{docs_links_and_tools_bgb_symbol_conversion}% +\Hypertarget{docs_links_and_tools_bgb_symbol_conversion}% + {\bfseries{noi file to sym conversion for bgb}} ~\newline + Debug information in .noi files can be converted to a symbol format that \mbox{\hyperlink{docs_links_and_tools_bgb}{B\+GB}} recognizes using\+: +\begin{DoxyItemize} +\item \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} \+: {\ttfamily -\/Wm-\/yS} (with {\ttfamily -\/-\/debug}, or {\ttfamily -\/Wl-\/j} to create the .noi) +\item directly with \mbox{\hyperlink{docs_toolchain_makebin}{makebin}} \+: {\ttfamily -\/yS} (with {\ttfamily -\/j} passed to the linker) +\end{DoxyItemize} +\item \label{docs_links_and_tools_src2sym}% +\Hypertarget{docs_links_and_tools_src2sym}% + {\bfseries{src2sym.\+pl}} ~\newline + Add line-\/by-\/line C source code to the main symbol file in a B\+GB compatible format. This allows for C source-\/like debugging in B\+GB in a limited way. \href{https://gbdev.gg8.se/forums/viewtopic.php?id=710}{\texttt{ https\+://gbdev.\+gg8.\+se/forums/viewtopic.\+php?id=710}} +\end{DoxyItemize} + +\label{docs_links_and_tools_tools_build_ci_cd}% +\Hypertarget{docs_links_and_tools_tools_build_ci_cd}% +\hypertarget{docs_links_and_tools_autotoc_md39}{}\doxysubsection{Continuous Integration and Deployment}\label{docs_links_and_tools_autotoc_md39} + +\begin{DoxyItemize} +\item \label{docs_links_and_tools_GBDK_GitHub_Action_Builder}% +\Hypertarget{docs_links_and_tools_GBDK_GitHub_Action_Builder}% + {\bfseries{G\+B\+DK Git\+Hub Action Builder}} A Github Action which provides basic C\+I/\+CD for building projects based on G\+B\+DK (not for building G\+B\+DK itself). ~\newline + \href{https://github.com/wujood/gbdk-2020-github-builder}{\texttt{ https\+://github.\+com/wujood/gbdk-\/2020-\/github-\/builder}} +\end{DoxyItemize} + diff --git a/docs/latex/docs_migrating_versions.tex b/docs/latex/docs_migrating_versions.tex @@ -0,0 +1,101 @@ +This section contains information that may be useful to know or important when upgrading to a newer G\+B\+DK release.\hypertarget{docs_migrating_versions_autotoc_md167}{}\doxysubsection{G\+B\+D\+K 2020 versions}\label{docs_migrating_versions_autotoc_md167} +\hypertarget{docs_migrating_versions_autotoc_md168}{}\doxysubsubsection{Porting to G\+B\+D\+K 2020 4.\+0.\+6}\label{docs_migrating_versions_autotoc_md168} + +\begin{DoxyItemize} +\item Renamed {\ttfamily bgb\+\_\+emu.\+h} to {\ttfamily emu\+\_\+debug.\+h} and B\+G\+B\+\_\+$\ast$ functions to E\+M\+U\+\_\+$\ast$ +\begin{DoxyItemize} +\item Aliases for the B\+G\+B\+\_\+$\ast$ ones and a {\ttfamily bgb\+\_\+emu.\+h} shim are present for backward compatibility, but updating to the new naming is recommended +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_migrating_versions_autotoc_md169}{}\doxysubsubsection{Porting to G\+B\+D\+K 2020 4.\+0.\+5}\label{docs_migrating_versions_autotoc_md169} + +\begin{DoxyItemize} +\item G\+B\+DK now requires S\+D\+CC 12259 or higher with G\+B\+D\+K-\/2020 patches +\item \mbox{\hyperlink{docs_toolchain_utility_png2asset}{png2asset}} is the new name for the {\ttfamily png2mtspr} utility +\item \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} \+: Changed default output format when not specified from {\ttfamily .ihx} to {\ttfamily .gb} (or other active rom extension) +\item The {\ttfamily \+\_\+\+B\+SS} area is deprecated (use {\ttfamily \+\_\+\+D\+A\+TA} instead) +\item The {\ttfamily \+\_\+\+B\+A\+SE} area is renamed to {\ttfamily \+\_\+\+H\+O\+ME} +\item Variables in static storage are now initialized to zero per C standard (but remaining W\+R\+AM is not cleared) +\item \mbox{\hyperlink{stdlib_8h_aac2ea595a9ea8f5ebd883a0bc05eba5c}{itoa()}}, \mbox{\hyperlink{stdlib_8h_a38c070016cb06132360cfa5bacc2ed19}{uitoa()}}, \mbox{\hyperlink{stdlib_8h_a6374e62474a5a76c7ace9a59fb1cc829}{ltoa()}}, \mbox{\hyperlink{stdlib_8h_ac22b79fe0c1279eabc3daf57328008d2}{ultoa()}} all now require a radix value (base) argument to be passed. On the Game Boy and Analogue Pocket the parameter is required but not utilized. +\item set\+\_\+bkg\+\_\+1bit\+\_\+data has been renamed to \mbox{\hyperlink{sms_8h_a4d5f74eed0489ebfdc2410ee3f9f7f04}{set\+\_\+bkg\+\_\+1bpp\+\_\+data}} +\item The following header files which are now cross platform were moved from {\ttfamily gb/} to {\ttfamily gbdk/}\+: {\ttfamily bcd.\+h}, {\ttfamily console.\+h}, {\ttfamily far\+\_\+ptr.\+h}, {\ttfamily font.\+h}, {\ttfamily gbdecompress.\+h}, {\ttfamily gbdk-\/lib.\+h}, {\ttfamily incbin.\+h}, {\ttfamily metasprites.\+h}, {\ttfamily platform.\+h}, {\ttfamily version.\+h} +\begin{DoxyItemize} +\item When including them use {\ttfamily \#include $<$gbdk/...$>$} instead of {\ttfamily \#include $<$gb/$>$} +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_migrating_versions_autotoc_md170}{}\doxysubsubsection{Porting to G\+B\+D\+K 2020 4.\+0.\+4}\label{docs_migrating_versions_autotoc_md170} + +\begin{DoxyItemize} +\item G\+B\+DK now requires S\+D\+CC 12238 or higher +\item Made sample.\+h, cgb.\+h and sgb.\+h independent from gb.\+h +\end{DoxyItemize}\hypertarget{docs_migrating_versions_autotoc_md171}{}\doxysubsubsection{Porting to G\+B\+D\+K 2020 4.\+0.\+3}\label{docs_migrating_versions_autotoc_md171} + +\begin{DoxyItemize} +\item No significant changes required +\end{DoxyItemize}\hypertarget{docs_migrating_versions_autotoc_md172}{}\doxysubsubsection{Porting to G\+B\+D\+K 2020 4.\+0.\+2}\label{docs_migrating_versions_autotoc_md172} + +\begin{DoxyItemize} +\item The default font has been reduced from 256 to 96 characters. +\begin{DoxyItemize} +\item Code using special characters may need to be updated. +\item The off-\/by-\/1 character index offset was removed for fonts. Old fonts with the offset need to be re-\/adjusted. +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_migrating_versions_autotoc_md173}{}\doxysubsubsection{Porting to G\+B\+D\+K 2020 4.\+0.\+1}\label{docs_migrating_versions_autotoc_md173} + +\begin{DoxyItemize} +\item {\bfseries{Important!}} \+: The {\ttfamily W\+R\+AM} memory region is no longer automatically initialized to zeros during startup. +\begin{DoxyItemize} +\item Any variables which are declared without being initialized may have {\bfseries{indeterminate values instead of 0}} on startup. This might reveal previously hidden bugs in your code. +\item Check your code for variables that are not initialized before use. +\item In B\+GB you can turn on triggering exceptions (options panel) reading from unitialized R\+AM. This allows for some additional runtime detection of uninitialized vars. +\end{DoxyItemize} +\item In .ihx files, multiple writes to the same R\+OM address are now warned about using \mbox{\hyperlink{docs_toolchain_ihxcheck}{ihxcheck}}. +\item {\ttfamily set\+\_\+$\ast$\+\_\+tiles()} now wrap maps around horizontal and vertical boundaries correctly. Code relying on it not wrapping correctly may be affected. +\end{DoxyItemize}\hypertarget{docs_migrating_versions_autotoc_md174}{}\doxysubsubsection{Porting to G\+B\+D\+K 2020 4.\+0}\label{docs_migrating_versions_autotoc_md174} + +\begin{DoxyItemize} +\item G\+B\+DK now requires S\+D\+CC 4.\+0.\+3 or higher +\item The old linker {\ttfamily link-\/gbz80} has been R\+E\+M\+O\+V\+ED, the linker \mbox{\hyperlink{docs_toolchain_sdldgb}{sdldgb}} from S\+D\+CC is used. +\begin{DoxyItemize} +\item Due to the linker change, there are no longer warnings about multiple writes to the same R\+OM address. +\end{DoxyItemize} +\item G\+B\+DK now generates .ihx files, those are converted to a R\+OM using \mbox{\hyperlink{docs_toolchain_makebin}{makebin}} (lcc can do this automatically in some use cases) +\item Setting R\+OM bytes directly with {\ttfamily -\/Wl-\/yp0x$<$address$>$=0x$<$value$>$} is no longer supported. Instead use \mbox{\hyperlink{docs_toolchain_makebin}{makebin}} flags. For example, use {\ttfamily -\/Wm-\/yC} instead of {\ttfamily -\/Wl-\/yp0x143=0x\+C0}. See \mbox{\hyperlink{docs_faq_faq_gb_type_header_setting}{faq\+\_\+gb\+\_\+type\+\_\+header\+\_\+setting}}. +\item O\+AM symbol has been renamed to {\ttfamily \+\_\+shadow\+\_\+\+O\+AM}, that allows accessing shadow O\+AM directly from C code +\end{DoxyItemize}\hypertarget{docs_migrating_versions_autotoc_md175}{}\doxysubsubsection{Porting to G\+B\+D\+K 2020 3.\+2}\label{docs_migrating_versions_autotoc_md175} + +\begin{DoxyItemize} +\item No significant changes required +\end{DoxyItemize}\hypertarget{docs_migrating_versions_autotoc_md176}{}\doxysubsubsection{Porting to G\+B\+D\+K 2020 3.\+1.\+1}\label{docs_migrating_versions_autotoc_md176} + +\begin{DoxyItemize} +\item No significant changes required +\end{DoxyItemize}\hypertarget{docs_migrating_versions_autotoc_md177}{}\doxysubsubsection{Porting to G\+B\+D\+K 2020 3.\+1}\label{docs_migrating_versions_autotoc_md177} + +\begin{DoxyItemize} +\item Behavior formerly enabled by U\+S\+E\+\_\+\+S\+F\+R\+\_\+\+F\+O\+R\+\_\+\+R\+EG is on by default now (no need to specify it, it isn\textquotesingle{}t a tested {\ttfamily \#ifdef} anymore). check here why\+: \href{https://gbdev.gg8.se/forums/viewtopic.php?id=697}{\texttt{ https\+://gbdev.\+gg8.\+se/forums/viewtopic.\+php?id=697}} +\end{DoxyItemize}\hypertarget{docs_migrating_versions_autotoc_md178}{}\doxysubsubsection{Porting to G\+B\+D\+K 2020 3.\+0.\+1}\label{docs_migrating_versions_autotoc_md178} + +\begin{DoxyItemize} +\item L\+CC was upgraded to use S\+D\+CC v4.\+0. Makefile changes may be required +\begin{DoxyItemize} +\item The symbol format changed. To get bgb compatible symbols turn on {\ttfamily .noi} output (L\+CC argument\+: {\ttfamily -\/Wl-\/j} or {\ttfamily -\/debug}) and use {\ttfamily -\/Wm-\/yS} +\item ?? Suggested\+: With L\+CC argument\+: {\ttfamily -\/Wa-\/l} (sdasgb\+:{\ttfamily -\/a All user symbols made global}) +\item In S\+D\+CC 3.\+6.\+0, the default for char changed from signed to unsigned. +\begin{DoxyItemize} +\item If you want the old behavior use {\ttfamily -\/-\/fsigned-\/char}. +\item lcc includes {\ttfamily -\/-\/fsigned-\/char} by default +\item Explicit declaration of unsigned vars is encouraged (for example, \textquotesingle{}15U\textquotesingle{} instead of \textquotesingle{}15\textquotesingle{}) +\end{DoxyItemize} +\item {\ttfamily .init} address has been removed +\end{DoxyItemize} +\end{DoxyItemize} + +\DoxyHorRuler{0} +\hypertarget{docs_migrating_versions_autotoc_md180}{}\doxysubsection{Historical G\+B\+D\+K versions}\label{docs_migrating_versions_autotoc_md180} +\hypertarget{docs_migrating_versions_autotoc_md181}{}\doxysubsubsection{G\+B\+D\+K 1.\+1 to G\+B\+D\+K 2.\+0}\label{docs_migrating_versions_autotoc_md181} + +\begin{DoxyItemize} +\item Change your int variables to long if they have to be bigger than 255. If they should only contain values between 0 and 255, use an unsigned int. +\item If your application uses the delay function, you\textquotesingle{}ll have to adapt your delay values. +\item Several functions have new names. In particular some of them have been changed to macros (e.\+g. show\+\_\+bkg() is now S\+H\+O\+W\+\_\+\+B\+KG). +\item You will probably have to change the name of the header files that you include. +\end{DoxyItemize} + diff --git a/docs/latex/docs_releases.tex b/docs/latex/docs_releases.tex @@ -0,0 +1,506 @@ +The G\+B\+DK 2020 releases can be found on Github\+: \href{https://github.com/gbdk-2020/gbdk-2020/releases}{\texttt{ https\+://github.\+com/gbdk-\/2020/gbdk-\/2020/releases}}\hypertarget{docs_releases_autotoc_md182}{}\doxysubsection{G\+B\+D\+K 2020 Release Notes}\label{docs_releases_autotoc_md182} +\hypertarget{docs_releases_autotoc_md183}{}\doxysubsubsection{G\+B\+D\+K 2020 4.\+0.\+6}\label{docs_releases_autotoc_md183} +2022/xx +\begin{DoxyItemize} +\item Building G\+B\+DK +\begin{DoxyItemize} +\item Changed to target older version of mac\+OS (10.\+10) when building for better compatibility +\end{DoxyItemize} +\item Platforms +\begin{DoxyItemize} +\item Added support for Mega Duck / Cougar Boy ({\ttfamily duck}). See \mbox{\hyperlink{docs_supported_consoles}{Supported Consoles \& Cross Compiling}} +\end{DoxyItemize} +\item Library +\begin{DoxyItemize} +\item Added \mbox{\hyperlink{asm_2gbz80_2string_8h_a52701f453c97403ec1b12d286484259b}{memcmp()}} +\item Added \mbox{\hyperlink{gb_8h_a970f18857533e062f4780f6e1c407d69}{add\+\_\+low\+\_\+priority\+\_\+\+T\+I\+M()}} function for timer interrupts which allow nesting for G\+B/\+C\+GB +\item Added \mbox{\hyperlink{gb_8h_a811c386cac0df2d260aacb5a43608be5}{set\+\_\+bkg\+\_\+based\+\_\+tiles()}}, \mbox{\hyperlink{gb_8h_abc8bc5808620a9717263b8c9ec2237f0}{set\+\_\+bkg\+\_\+based\+\_\+submap()}}, \mbox{\hyperlink{gb_8h_a739a212609ae60c9c56c095f96b4ea80}{set\+\_\+win\+\_\+based\+\_\+tiles()}}, \mbox{\hyperlink{gb_8h_a1b8a1026983cb2b2c0bd46334b4692a0}{set\+\_\+win\+\_\+based\+\_\+submap()}} for when a map\textquotesingle{}s tiles don\textquotesingle{}t start at V\+R\+AM index zero +\item Added \mbox{\hyperlink{time_8h_acc1f88818af5706d57262377382ae4ac}{clock()}} for S\+M\+S/\+GG +\item Added macro definitions for S\+D\+CC features\+: +\begin{DoxyItemize} +\item {\ttfamily \#define S\+FR \+\_\+\+\_\+sfr} +\item {\ttfamily \#define \mbox{\hyperlink{asm_2types_8h_a66d3e9555a86fa871932c5f60834c67e}{A\+T(\+A)}} \+\_\+\+\_\+at(\+A)} +\end{DoxyItemize} +\item Added check for O\+AM overflow to metasprite calls for G\+B/\+C\+GB +\item Added constant definitions \mbox{\hyperlink{sms_2hardware_8h_a6777f1ed2475b5ba6aa60b9a16fa02d3}{P\+S\+G\+\_\+\+L\+A\+T\+CH}}, \mbox{\hyperlink{sms_2hardware_8h_ad8a903de6b38e08e1591fc5ef278381c}{P\+S\+G\+\_\+\+C\+H0}}, \mbox{\hyperlink{sms_2hardware_8h_addc12c4ee03ea787b826e337f1acd317}{P\+S\+G\+\_\+\+C\+H1}}, \mbox{\hyperlink{sms_2hardware_8h_aaeefb1ac1fb4d0d2324b8ee7f4953226}{P\+S\+G\+\_\+\+C\+H2}}, \mbox{\hyperlink{sms_2hardware_8h_ac760259fb86ee72abb5922018ae0db42}{P\+S\+G\+\_\+\+C\+H3}}, \mbox{\hyperlink{sms_2hardware_8h_a3d806ff027bffa67c4dfc5967f87c1d1}{P\+S\+G\+\_\+\+V\+O\+L\+U\+ME}} for S\+M\+S/\+GG +\item Renamed {\ttfamily bgb\+\_\+emu.\+h} to {\ttfamily emu\+\_\+debug.\+h} and B\+G\+B\+\_\+$\ast$ functions to E\+M\+U\+\_\+$\ast$. +\begin{DoxyItemize} +\item Aliases for the B\+G\+B\+\_\+$\ast$ ones and a {\ttfamily bgb\+\_\+emu.\+h} shim are present for backward compatibility +\end{DoxyItemize} +\item Changed headers to wrap S\+D\+CC specific features (such as {\ttfamily N\+O\+N\+B\+A\+N\+K\+ED}) with {\ttfamily \#ifdef \+\_\+\+\_\+\+S\+D\+CC} +\item Changed \mbox{\hyperlink{rand_8h_a21e0cee33278952c044f27d02c0b0d1a}{rand()}} and \mbox{\hyperlink{rand_8h_a67415330a1c7984e4537dac753306804}{arand()}} to return {\ttfamily uint8\+\_\+t} instead of {\ttfamily int8\+\_\+t} (closer to the standard) +\item Fixed declaration for \mbox{\hyperlink{gb_2hardware_8h_a271367a0bf840e5422b3a7ed541776f8}{P\+C\+M\+\_\+\+S\+A\+M\+P\+LE}} and definition for \mbox{\hyperlink{gb_2hardware_8h_a2fe41a6e0abb211cc00a8fca90543966}{A\+U\+D3\+W\+A\+VE}} +\item Fixed definition of {\ttfamily size\+\_\+t} to be {\ttfamily unsigned int} instead of {\ttfamily int} +\item Fixed \mbox{\hyperlink{gb_8h_a36f9e5d95c2d7d58f203b5ac358e25e7}{vmemcpy()}} and \mbox{\hyperlink{asm_2gbz80_2string_8h_a802c986820d3866639922b6bc9484f90}{memmove()}} for S\+M\+S/\+GG +\item Fixed random number generation for S\+M\+S/\+GG +\item Fixed letter {\ttfamily U} appearing as {\ttfamily K} for min font +\item Fixed define name in crash\+\_\+handler.\+h +\item Exposed \mbox{\hyperlink{rand_8h_a7aab2f4a234108a5eae48e0d26380ae7}{\+\_\+\+\_\+rand\+\_\+seed}} +\end{DoxyItemize} +\item Toolchain / Utilities +\begin{DoxyItemize} +\item \mbox{\hyperlink{docs_toolchain_utility_png2asset}{png2asset}} +\begin{DoxyItemize} +\item Added S\+M\+S/\+GG graphics format support +\item Added 4bpp and S\+GB borders +\item Added warning when image size is not an even multiple of tile size +\item Added {\ttfamily -\/tile\+\_\+origin} offset option for when map tiles do not start at tile 0 in V\+R\+AM +\item Added {\ttfamily $\ast$\+\_\+\+T\+I\+L\+E\+\_\+\+C\+O\+U\+NT} definition to output +\item Fixed C\+GB {\ttfamily ...s\+\_\+map\+\_\+attributes} type definition in output +\item Fixed values for {\ttfamily num\+\_\+palettes} in output +\item Fixed incorrect {\ttfamily T\+I\+L\+E\+\_\+\+C\+O\+U\+NT} value when not {\ttfamily -\/using\+\_\+structs} +\end{DoxyItemize} +\item \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} +\begin{DoxyItemize} +\item Changed \mbox{\hyperlink{docs_toolchain_makebin}{makebin}} flags to turn off Nintendo logo copy for G\+B/\+C\+GB (use version in crt instead) +\item Fixed lcc handling of makebin {\ttfamily -\/x$\ast$} arguments +\end{DoxyItemize} +\end{DoxyItemize} +\item Examples +\begin{DoxyItemize} +\item Added logo example (cross-\/platform) +\item Added \mbox{\hyperlink{isr_8h_a73769fed9338af86fdb7df35d7b82620}{I\+S\+R\+\_\+\+V\+E\+C\+T\+OR}} example of a raw I\+SR vector with no dispatcher for G\+B/\+C\+GB +\item Changed sgb\+\_\+border example to use png2asset for graphics +\item Changed use of \mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts()}} in examples so it\textquotesingle{}s outside critical sections (since it disables/enables interrupts) +\item Changed cross-\/platform auto-\/banks example to use .h header files +\item Changed S\+GB border example to also work with S\+GB on P\+AL S\+N\+ES +\end{DoxyItemize} +\item Docs +\begin{DoxyItemize} +\item Added new section\+: Migrating From Pre-\/\+G\+B\+D\+K-\/2020 Tutorials +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md184}{}\doxysubsubsection{G\+B\+D\+K 2020 4.\+0.\+5}\label{docs_releases_autotoc_md184} +2021/09 +\begin{DoxyItemize} +\item Includes S\+D\+CC version 12539 with G\+B\+D\+K-\/2020 patches for Z80 +\item Known Issues +\begin{DoxyItemize} +\item S\+D\+CC\+: {\ttfamily z80instruction\+Size() failed to parse line node, assuming 999 bytes} +\begin{DoxyItemize} +\item This is a known issue with the S\+D\+CC Peephole Optimizer parsing and can be ignored. +\end{DoxyItemize} +\item {\ttfamily -\/bo$<$n$>$} and {\ttfamily -\/ba$<$n$>$} are not supported by the Windows build of \mbox{\hyperlink{docs_toolchain_sdcc}{sdcc}} +\item On mac\+OS the cross platform {\ttfamily banks} example has problems parsing the filename based R\+OM and R\+AM bank assignments into {\ttfamily -\/bo$<$n$>$} and {\ttfamily -\/ba$<$n$>$} +\end{DoxyItemize} +\item Added support for new consoles. See \mbox{\hyperlink{docs_supported_consoles}{Supported Consoles \& Cross Compiling}} +\begin{DoxyItemize} +\item Analogue Pocket ({\ttfamily ap}) +\item Sega Master System ({\ttfamily sms}) and Game Gear ({\ttfamily gg}) +\end{DoxyItemize} +\item Library +\begin{DoxyItemize} +\item Fixed error when calling get\+\_\+bkg\+\_\+tile\+\_\+xy\+: `?A\+Slink-\/\+Warning-\/\+Undefined Global '.set\+\_\+tile\+\_\+xy\textquotesingle{} referenced by module \`{} ?A\+Slink-\/\+Warning-\/\+Byte P\+CR relocation error for symbol .set\+\_\+tile\+\_\+xy +\item Variables in static storage are now initialized to zero per C standard (but remaining W\+R\+AM is not cleared) +\item Added many new register flag constants and names. For example\+: +\begin{DoxyItemize} +\item \mbox{\hyperlink{gb_2hardware_8h_a8b576a1fe1473ac4aff8afecb28035cb}{r\+L\+C\+DC}} is a new alias for \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}} +\item \mbox{\hyperlink{gb_2hardware_8h_a13a5f08b9aae68f8fa57a8aa7705b732}{L\+C\+D\+C\+F\+\_\+\+W\+I\+N\+ON}}, \mbox{\hyperlink{gb_2hardware_8h_a582ece3b5f6cc49d47b2ad3e16d47374}{L\+C\+D\+C\+F\+\_\+\+W\+I\+N\+O\+FF}}, \mbox{\hyperlink{gb_2hardware_8h_ae1de721c95ddc8f29ba9b9deaee8d68c}{L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+W\+I\+N\+ON}} +\end{DoxyItemize} +\item Added \mbox{\hyperlink{gb_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+N\+K()}}, \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}}, \mbox{\hyperlink{gb_8h_a261bba55a07b802baf99346feadd9852}{B\+A\+N\+K\+R\+E\+F\+\_\+\+E\+X\+T\+E\+R\+N()}} +\item Added \mbox{\hyperlink{incbin_8h_af34047ed60abd6453f819c2a5230cd2b}{I\+N\+C\+B\+I\+N()}}, \mbox{\hyperlink{gb_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+N\+K()}}, \mbox{\hyperlink{incbin_8h_aeacb5370285c0d4308d0fe5f29da8d15}{I\+N\+C\+B\+I\+N\+\_\+\+S\+I\+Z\+E()}}, \mbox{\hyperlink{incbin_8h_a51ab79f8ee37368158b1887b65ef97ec}{I\+N\+C\+B\+I\+N\+\_\+\+E\+X\+T\+E\+R\+N()}} +\item Added generic \mbox{\hyperlink{gb_8h_a1e22a3b60368bb5f3705d625ac2d09cc}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M()}} and \mbox{\hyperlink{gb_8h_a6e40dcc763efd953181c7400642a9f69}{S\+W\+I\+T\+C\+H\+\_\+\+R\+A\+M()}} +\item Added \mbox{\hyperlink{emu__debug_8h_a892ddea0cd396141c1ae05e384303cbf}{B\+G\+B\+\_\+printf()}} and updated emulator debug output. +\item Added \mbox{\hyperlink{gb_8h_a68651e50243349b48164a8ad983dca4e}{set\+\_\+native\+\_\+tile\+\_\+data()}}, \mbox{\hyperlink{gb_8h_a55f82ff980398dd97036fd936ebd727e}{set\+\_\+tile\+\_\+map()}}, \mbox{\hyperlink{sms_8h_adcb394299a1033616fc7d2faec8bd6ad}{set\+\_\+1bpp\+\_\+colors}}, \mbox{\hyperlink{sms_8h_a4d5f74eed0489ebfdc2410ee3f9f7f04}{set\+\_\+bkg\+\_\+1bpp\+\_\+data}}, \mbox{\hyperlink{sms_8h_a2cc121fbeb5570248531b85a8f0b5b97}{set\+\_\+sprite\+\_\+1bpp\+\_\+data}}, \mbox{\hyperlink{sms_8h_aa224c9bac27c7fd268e62bdf33338a84}{set\+\_\+2bpp\+\_\+palette}}, \mbox{\hyperlink{sms_8h_aa7ba76e4d44dbf19da351fd1ea8e3023}{set\+\_\+bkg\+\_\+2bpp\+\_\+data}}, \mbox{\hyperlink{sms_8h_a10ee2919fcab7a5c482816ed718d1c4a}{set\+\_\+sprite\+\_\+2bpp\+\_\+data}}, \mbox{\hyperlink{sms_8h_ab752b1bb0f58da2a6d52e9747c4b3dd8}{set\+\_\+tile\+\_\+2bpp\+\_\+data}} (sms/gg only), \mbox{\hyperlink{sms_8h_aeff13dca11be49e8c159820c616016ec}{set\+\_\+bkg\+\_\+4bpp\+\_\+data}} (sms/gg only), \mbox{\hyperlink{sms_8h_a24f53cfe7e25c04fbb5dcb08cfb3b432}{set\+\_\+sprite\+\_\+4bpp\+\_\+data}} (sms/gg only) +\item Added R\+LE decompression support\+: \mbox{\hyperlink{rledecompress_8h_a95560a74a89bab26cb6265dcc2bf54f6}{rle\+\_\+init()}}, \mbox{\hyperlink{rledecompress_8h_ad60bf95ddad142d8d81e5e1f0a0bb6e0}{rle\+\_\+decompress()}}, +\item Changed \mbox{\hyperlink{stdlib_8h_aac2ea595a9ea8f5ebd883a0bc05eba5c}{itoa()}}, \mbox{\hyperlink{stdlib_8h_a38c070016cb06132360cfa5bacc2ed19}{uitoa()}}, \mbox{\hyperlink{stdlib_8h_a6374e62474a5a76c7ace9a59fb1cc829}{ltoa()}}, \mbox{\hyperlink{stdlib_8h_ac22b79fe0c1279eabc3daf57328008d2}{ultoa()}} to now require a radix value (base) argument to be passed. On the Game Boy and Analogue Pocket the parameter is required but not utilized. +\end{DoxyItemize} +\item Examples +\begin{DoxyItemize} +\item Added cross-\/platform examples (build for multiple consoles\+: gb, ap, sms, gg) +\item Added sms, gg, pocket(ap) examples +\item Added incbin example +\item Added simple physics sub-\/pixel / fixed point math example +\item Added rle decompression example +\item Changed windows make.\+bat files to compile.\+bat +\item Bug fixes and updates for existing examples ~\newline + +\end{DoxyItemize} +\item Toolchain / Utilities +\begin{DoxyItemize} +\item \mbox{\hyperlink{docs_toolchain_utility_png2asset}{png2asset}} +\begin{DoxyItemize} +\item \mbox{\hyperlink{docs_toolchain_utility_png2asset}{png2asset}} is the new name for the {\ttfamily png2mtspr} utility +\item Added collision rectangle width and height ({\ttfamily -\/pw}, {\ttfamily -\/ph}) +\item Added option to use the palette from the source png ({\ttfamily -\/keep\+\_\+palette\+\_\+order}) +\item Added option to disable tile flip ({\ttfamily -\/noflip}) +\item Added export as map\+: tileset + bg ({\ttfamily -\/map}) +\item Added option to use C\+GB BG Map attributes ({\ttfamily -\/use\+\_\+map\+\_\+attributes}) +\item Added option to group the exported info into structs ({\ttfamily -\/use\+\_\+structs}) +\end{DoxyItemize} +\item \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} +\begin{DoxyItemize} +\item Use {\ttfamily -\/m} to select target port and platform\+: \char`\"{}-\/m\mbox{[}port\mbox{]}\+:\mbox{[}plat\mbox{]}\char`\"{} ports\+:{\ttfamily gbz80,z80} plats\+:{\ttfamily ap,gb,sms,gg} +\item Changed default output format when not specified from {\ttfamily .ihx} to {\ttfamily .gb} (or other active rom extension) +\item Changed lcc to always use the linkerfile {\ttfamily -\/lkout=} option when calling bankpack +\item Fixed name generation crash when outfile lacks extension +\end{DoxyItemize} +\item \mbox{\hyperlink{docs_toolchain_bankpack}{bankpack}} +\begin{DoxyItemize} +\item Added linkerfile input and output\+: {\ttfamily -\/lkin=$<$file$>$}, {\ttfamily -\/lkout=$<$file$>$} +\item Added selector for platform specific behavior {\ttfamily plat=$<$plat$>$} (Default\+:gb, Avaialble\+:{\ttfamily gb,sms}). sms/gg targets prohibits packing {\ttfamily L\+I\+T\+\_\+N} areas in the same banks as {\ttfamily C\+O\+D\+E\+\_\+N} areas +\item Added randomization for auto-\/banks ({\ttfamily -\/random}) for debugging and testing +\end{DoxyItemize} +\item \mbox{\hyperlink{docs_toolchain_utility_gbcompress}{utility\+\_\+gbcompress}} +\begin{DoxyItemize} +\item Added C source array format output (--cout) (optional variable name argument --varname=) +\item Added C source array format input (--cin) (experimental) +\item Added block style rle compression and decompression mode\+: {\ttfamily -\/-\/alg=rle} +\item Fixed comrpession errors when input size was larger than 64k +\end{DoxyItemize} +\end{DoxyItemize} +\item Docs +\begin{DoxyItemize} +\item Added \mbox{\hyperlink{docs_supported_consoles}{Supported Consoles \& Cross Compiling}} section +\item Various doc updates and improvements +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md185}{}\doxysubsubsection{G\+B\+D\+K 2020 4.\+0.\+4}\label{docs_releases_autotoc_md185} +2021/06 +\begin{DoxyItemize} +\item Library +\begin{DoxyItemize} +\item Support S\+D\+CC I\+N\+I\+T\+I\+A\+L\+I\+Z\+ER area (S\+D\+CC $\sim$12207+) +\item Added \mbox{\hyperlink{gb_8h_aa33ba8b8d381df76edf15ea251ccb675}{get\+\_\+vram\+\_\+byte()}} / \mbox{\hyperlink{gb_8h_a2e29fdca81c28c627c2591029722e71c}{get\+\_\+win\+\_\+tile\+\_\+xy()}} / \mbox{\hyperlink{gb_8h_a55c6581dbe9300dc6df41730f090af51}{get\+\_\+bkg\+\_\+tile\+\_\+xy()}} +\item Added \mbox{\hyperlink{gb_8h_abe4846d4570b4880b0e54b9e503f4d30}{set\+\_\+tile\+\_\+data()}} +\item Fixed S\+GB detection +\item Fixed broken \mbox{\hyperlink{gb_8h_a728b9440accedc5fb3477be3d150323a}{get\+\_\+tiles()}} / \mbox{\hyperlink{gb_8h_a9b205ee302f54cb96ee59aac6d53a91c}{set\+\_\+tiles()}} +\item Fixed broken token handling in \mbox{\hyperlink{gb_2gbdecompress_8h_aa4ac6ffb1dc949051e0e72e2aba8e6ff}{gb\+\_\+decompress\+\_\+sprite\+\_\+data()}} / \mbox{\hyperlink{gb_2gbdecompress_8h_aed0cb0f1604a80ca5e7fb771b04114d8}{gb\+\_\+decompress\+\_\+bkg\+\_\+data()}} / \mbox{\hyperlink{gb_2gbdecompress_8h_a85d2eaf4a7c268fe1496fa2b9c626284}{gb\+\_\+decompress\+\_\+win\+\_\+data()}} +\item Changed all headers to use standard {\ttfamily stdint.\+h} types (ex\+: {\ttfamily uint8\+\_\+t} instead of {\ttfamily U\+I\+N\+T8}/{\ttfamily U\+B\+Y\+TE}) +\item Made sample.\+h, cgb.\+h and sgb.\+h independent from gb.\+h +\end{DoxyItemize} +\item Examples +\begin{DoxyItemize} +\item Added project using a .lk linkerfile +\item Changed all examples to use standard stdint.\+h types +\item Moved banks\+\_\+farptr and banks\+\_\+new examples to \char`\"{}broken\char`\"{} due to S\+D\+CC changes +\end{DoxyItemize} +\item Toolchain / Utilities +\begin{DoxyItemize} +\item png2mtspr +\begin{DoxyItemize} +\item Added option to change default value for sprite property/attributes in (allows C\+GB palette, B\+G/\+W\+IN priority, etc). +\item Improved\+: Turn off suppression of \char`\"{}blank\char`\"{} metasprite frames (composed of entirely transparent sprites) +\item Fixed endless loop for png files taller than 255 pixels +\end{DoxyItemize} +\item bankpack +\begin{DoxyItemize} +\item Fixed -\/yt mbc specifier to also accept Decimal +\item Improved\+: bank ID can be used in same file it is declared. Requires S\+D\+CC 12238+ with {\ttfamily -\/n} option to defer symbol resolution to link time. +\end{DoxyItemize} +\item gbcompress +\begin{DoxyItemize} +\item Added C source input (expirimental) and output +\item Added size {\ttfamily \#defines} +\end{DoxyItemize} +\item lcc +\begin{DoxyItemize} +\item Added {\ttfamily -\/no-\/libs} and {\ttfamily -\/no-\/crt} options +\item Added support for .lk linker files (useful when number of files on lcc command line exceeds max size on windows) +\item Added support for converting .ihx to .gb +\item Added rewrite .o files -\/$>$ .rel for linking when called with {\ttfamily -\/autobank} and {\ttfamily -\/Wb-\/ext=.rel} +\item Workaround \mbox{\hyperlink{docs_toolchain_makebin}{makebin}} {\ttfamily -\/Wl-\/yp} formatting segfault +\end{DoxyItemize} +\end{DoxyItemize} +\item Docs +\begin{DoxyItemize} +\item Improved utility\+\_\+png2mtspr documentation +\item Various doc updates and improvements +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md186}{}\doxysubsubsection{G\+B\+D\+K 2020 4.\+0.\+3}\label{docs_releases_autotoc_md186} +2021/03 +\begin{DoxyItemize} +\item Library +\begin{DoxyItemize} +\item Added \mbox{\hyperlink{gb_8h_a7080649e10765996c581e5b618e603b8}{set\+\_\+vram\+\_\+byte()}} +\item Added \mbox{\hyperlink{sms_8h_adcd40a58f7c7d348d506cc400cd94739}{set\+\_\+bkg\+\_\+tile\+\_\+xy()}} / \mbox{\hyperlink{sms_8h_a95d929d964d9988f4dc5a25ed399ae08}{set\+\_\+win\+\_\+tile\+\_\+xy()}} +\item Added \mbox{\hyperlink{gb_8h_a9005b80d3315f50f0fb0e1728e7ee60f}{get\+\_\+bkg\+\_\+xy\+\_\+addr()}} / \mbox{\hyperlink{sms_8h_a6eaafdbe6cf1695d30724ce75acb9412}{get\+\_\+win\+\_\+xy\+\_\+addr()}} +\item Added \mbox{\hyperlink{gb_8h_adb21d1c7d533a7133bab36a845489780}{set\+\_\+bkg\+\_\+submap()}} / \mbox{\hyperlink{gb_8h_af80befa3cad9cae361c7cf4fffb3a8de}{set\+\_\+win\+\_\+submap()}} +\item Added metasprite api support +\item Added gb\+\_\+decompress support +\item Added \mbox{\hyperlink{stdlib_8h_a62b7798461bd461da64c5f9d35feddf7}{calloc}} / \mbox{\hyperlink{stdlib_8h_a7ac38fce3243a7dcf448301ee9ffd392}{malloc}} / \mbox{\hyperlink{stdlib_8h_a1a6b5e8d2f1c37e5b43e4345586075be}{realloc}} / \mbox{\hyperlink{stdlib_8h_afbedc913aa4651b3c3b4b3aecd9b4711}{free}} and generic \mbox{\hyperlink{asm_2z80_2string_8h_a854ba725a4e429439ccf93b1f5ad7b3a}{memmove}} +\item Improved \mbox{\hyperlink{stdio_8h_ab403fa700816f08631ba75bc536f74d4}{printf()}}\+: ignore \%0 padding and \%1-\/9 width specifier instead of not printing, support upper case X +\item Fixed \mbox{\hyperlink{drawing_8h_afe0ad8959a2867c4b60829d065660f1b}{line()}}\+: handle drawing when x1 is less than x2 +\end{DoxyItemize} +\item Examples +\begin{DoxyItemize} +\item Added large\+\_\+map\+: showing how to use \mbox{\hyperlink{gb_8h_adb21d1c7d533a7133bab36a845489780}{set\+\_\+bkg\+\_\+submap()}} +\item Added scroller\+: showing use of \mbox{\hyperlink{gb_8h_a9005b80d3315f50f0fb0e1728e7ee60f}{get\+\_\+bkg\+\_\+xy\+\_\+addr()}}, \mbox{\hyperlink{sms_8h_adcd40a58f7c7d348d506cc400cd94739}{set\+\_\+bkg\+\_\+tile\+\_\+xy()}} and \mbox{\hyperlink{sms_8h_afe1bc7117a68cd0939c2d03baaa06b89}{set\+\_\+vram\+\_\+byte}} +\item Added gbdecompress\+: de-\/compressing tile data into vram +\item Added metasprites\+: show creating a large sprite with the new metasprite api +\item Added template projects +\item Fixed build issue with banks\+\_\+autobank example +\item Improved sgb\+\_\+border +\end{DoxyItemize} +\item Toolchain / Utilities +\begin{DoxyItemize} +\item Added \mbox{\hyperlink{docs_toolchain_utility_gbcompress}{utility\+\_\+gbcompress}} utility +\item Added utility\+\_\+png2mtspr metasprite utility +\end{DoxyItemize} +\item Docs +\begin{DoxyItemize} +\item Added extensive documentation (some of which is imported and updated from the old gbdk docs) +\item Added P\+DF version of docs +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md187}{}\doxysubsubsection{G\+B\+D\+K 2020 4.\+0.\+2}\label{docs_releases_autotoc_md187} +2021/01/17 +\begin{DoxyItemize} +\item Includes S\+D\+CC snapshot build version 12016 (has a fix for duplicate debug symbols generated from inlined header functions which G\+B\+DK 4.\+0+ uses) +\item Updated documentation +\item Library was improved +\begin{DoxyItemize} +\item Linking with stdio.\+h does not require that much R\+OM now +\item Default font is changed to the smaller one (102 characters), that leaves space for user tiles +\item Fixed broken support for multiplying longs +\item memset/memcpy minor enhancements +\item safer copy-\/to-\/\+V\+R\+AM functions +\item loading of 1bit data fixed, also now it is possible to specify pixel color +\item Improved code generation for the G\+B\+DK Library with S\+D\+CC switch on by default\+: {\ttfamily -\/-\/max-\/allocs-\/per-\/node 50000} +\item fixed wrong parameter offsets in \mbox{\hyperlink{gb_8h_a97b9f2fc6ac7cae97656aca940d65d44}{hiramcpy()}} (broken ram\+\_\+function example) +\item Multiple minor improvements +\end{DoxyItemize} +\item New bankpack feature, allows automatic bank allocation for data and code, see banks\+\_\+autobank example, feature is in beta state, use with care +\item Lcc improvements +\begin{DoxyItemize} +\item Fixed option to specify alternate base addresses for shadow\+\_\+\+O\+AM, etc +\end{DoxyItemize} +\item Examples\+: Added bgb debug example +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md188}{}\doxysubsubsection{G\+B\+D\+K 2020 4.\+0.\+1}\label{docs_releases_autotoc_md188} +2020/11/14 +\begin{DoxyItemize} +\item Updated A\+PI documentation +\item I\+HX is checked for correctness before the makebin stage. That allows to warn about overwriting the same R\+OM addresses (S\+D\+CC toolchain does not check this anymore). +\item Library was improved +\begin{DoxyItemize} +\item set\+\_\+$\ast$\+\_\+tiles() now wrap maps around horizontal and vertical boundaries correctly +\item new fill\+\_\+$\ast$\+\_\+rect() functions to clear rectangle areas +\item runtime initialization code now does not initialize whole W\+R\+AM with zeros anymore, that allows B\+GB to raise exceptions when code tries to read W\+R\+AM that was not written before. +\item enhanced S\+GB support +\begin{DoxyItemize} +\item \mbox{\hyperlink{gb_8h_ab7e35e1eff44ed78ad8f0015c6e85b4e}{joypad\+\_\+init()}} / \mbox{\hyperlink{gb_8h_a6e6f8eb1de2ae1ec9adeafbd7b9884db}{joypad\+\_\+ex()}} support for multiple joypads +\item S\+GB border example +\end{DoxyItemize} +\item \+\_\+current\+\_\+bank variable is updated when using bank switching macros +\item Reorganized examples\+: each example is in separate folder now, that simplifies understanding. +\item Lcc improvements +\begin{DoxyItemize} +\item Fix -\/S flag +\item Fix default stack location from 0x\+D\+E\+FF to 0x\+E000 (end of W\+R\+A\+M1) +\item Fix cleanup of .adb files with -\/Wf--debug flag +\item Fix output not working if target is -\/o some\+\_\+filename.\+ihx +\end{DoxyItemize} +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md189}{}\doxysubsubsection{G\+B\+D\+K 2020 4.\+0}\label{docs_releases_autotoc_md189} +2020/10/01 +\begin{DoxyItemize} +\item G\+B\+DK now requires S\+D\+CC 4.\+0.\+3 or higher, that has fully working toolchain. Old link-\/gbz80 linker is not used anymore, sdldgb and makebin are used to link objects and produce binary roms; maccer tool is no longer needed either +\begin{DoxyItemize} +\item S\+D\+CC 4.\+0.\+3 has much better code generator which produces smaller and faster code. Code is twice faster +\item S\+O\+U\+R\+CE L\+E\+V\+EL D\+E\+B\+U\+G\+G\+I\+NG is possible now! Native toolchain produces $\ast$.C\+DB files that contain detailed debug info. Look for E\+M\+U\+L\+I\+C\+I\+O\+US extension for vs.\+code. It supports breakpoints, watches, inspection of local variables, and more! +\item S\+D\+CC 4.\+0.\+4 has fixed R\+G\+B\+DS support; library is not updated to support that in full yet, but it is possible to assemble and link code emitted by S\+D\+CC with R\+G\+D\+BS +\item New banked trampolines are used, they are faster and smaller +\item New (old) initialization for non-\/constant arrays do N\+OT require 5 times larger rom space than initialized array itself, S\+D\+CC even tries to compress the data +\end{DoxyItemize} +\item Library was improved +\begin{DoxyItemize} +\item itoa/ltoa functions were rewritten, div/mod is not required now which is about 10 times faster +\item sprite functions are inline now, which is faster up to 12 times and produces the same or smaller code; .O\+AM symbol is renamed into \+\_\+shadow\+\_\+\+O\+AM that allows accessing shadow O\+AM directly from C code +\item interrupt handling was revised, it is now possible to make dedicated I\+SR\textquotesingle{}s, that is important for time-\/sensitive handlers such as H\+Blank. +\item printf/sprintf were rewritten and splitted, print functions are twice faster now and also requre less rom space if you use \mbox{\hyperlink{stdio_8h_a31913a297ee18548c81d482ef6bdbe0f}{sprintf()}} only, say, in bgb\+\_\+emu.\+h +\item crash\+\_\+handler.\+h -\/ crash handler that allows to detect problems with R\+O\+Ms after they are being released (adapted handler, originally written by I\+S\+S\+Otm) +\item improved and fixed string.\+h +\item many other improvements and fixes -\/ thanks to all contributors! +\end{DoxyItemize} +\item Revised examples +\item Improved linux support +\item Lcc has been updated +\begin{DoxyItemize} +\item it works with the latest version of sdcc +\item quoted paths with spaces are working now +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md190}{}\doxysubsubsection{G\+B\+D\+K 2020 3.\+2}\label{docs_releases_autotoc_md190} +2020/06/05 +\begin{DoxyItemize} +\item Fixed O\+AM initialization that was causing a bad access to V\+R\+AM +\item Interrupt handlers now wait for lcd controller mode 0 or 1 by default to prevent access to inaccessible V\+R\+AM in several functions (like set\+\_\+bkg\+\_\+tiles) +\item Several optimizations here and there +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md191}{}\doxysubsubsection{G\+B\+D\+K 2020 3.\+1.\+1}\label{docs_releases_autotoc_md191} +2020/05/17 +\begin{DoxyItemize} +\item Fixed issues with libgcc\+\_\+s\+\_\+dw2-\/1.\+dll +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md192}{}\doxysubsubsection{G\+B\+D\+K 2020 3.\+1}\label{docs_releases_autotoc_md192} +2020/05/16 +\begin{DoxyItemize} +\item Banked functions are working! The patcher is fully integrated in link-\/gbz80, no extra tools are needed. It is based on Toxa\textquotesingle{}s work +\begin{DoxyItemize} +\item Check this post for more info +\item Check the examples/gb/banked code for basic usage +\end{DoxyItemize} +\item Behavior formerly enabled by U\+S\+E\+\_\+\+S\+F\+R\+\_\+\+F\+O\+R\+\_\+\+R\+EG is on by default now (no need to specify it, it isn\textquotesingle{}t a tested {\ttfamily \#ifdef} anymore). check here why\+: \href{https://gbdev.gg8.se/forums/viewtopic.php?id=697}{\texttt{ https\+://gbdev.\+gg8.\+se/forums/viewtopic.\+php?id=697}} +\item Fixed examples that were not compiling in the previous version and some improvements in a few of them. Removed all warnings caused by changing to the new S\+D\+CC +\item Fixed bug in lcc that was causing some files in the temp folder not being deleted +\item Removed as-\/gbz80 (the lib is now compiled with sdasgb thanks to this workaround) \href{https://github.com/gbdk-2020/gbdk-2020/commit/d2caafa4a66eb08998a14b258cb66af041a0e5c8}{\texttt{ https\+://github.\+com/gbdk-\/2020/gbdk-\/2020/commit/d2caafa4a66eb08998a14b258cb66af041a0e5c8}} +\item Profile support with bgb emulator +\begin{DoxyItemize} +\item Basic support including $<$gb/bgb\+\_\+emu.\+h$>$ and using the macros B\+G\+B\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+B\+E\+G\+IN and B\+G\+B\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+E\+ND. More info in this post \href{https://gbdev.gg8.se/forums/viewtopic.php?id=703}{\texttt{ https\+://gbdev.\+gg8.\+se/forums/viewtopic.\+php?id=703}} +\item For full profiling check this repo and this post \href{https://github.com/untoxa/bgb_profiling_toolkit/blob/master/readme.md}{\texttt{ https\+://github.\+com/untoxa/bgb\+\_\+profiling\+\_\+toolkit/blob/master/readme.\+md}} \href{https://gbdev.gg8.se/forums/viewtopic.php?id=710}{\texttt{ https\+://gbdev.\+gg8.\+se/forums/viewtopic.\+php?id=710}} +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md193}{}\doxysubsubsection{G\+B\+D\+K 2020 3.\+0.\+1}\label{docs_releases_autotoc_md193} +2020/04/12 +\begin{DoxyItemize} +\item Updated S\+D\+CC to v.\+4.\+0 +\item Updated L\+CC to work with the new compiler +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md194}{}\doxysubsubsection{G\+B\+D\+K 2020 3.\+0}\label{docs_releases_autotoc_md194} +2020/04/12 +\begin{DoxyItemize} +\item Initial G\+B\+DK 2020 release ~\newline + Updated S\+D\+CC to v4.\+0 The new linker is not working so the old version is still there There is an issue with sdagb compiling drawing.\+s (the JP in line 32 after \char`\"{}.\+org .\+M\+O\+D\+E\+\_\+\+T\+A\+B\+L\+E+4$\ast$.\+G\+\_\+\+M\+O\+D\+E\char`\"{} it\textquotesingle{}s writing more than 4 bytes invading some addresses required by input.\+s\+:41) Because of this, all .s files in libc have been assembled with the old as-\/gbz80 and that\textquotesingle{}s why it is still included +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md195}{}\doxysubsection{Historical G\+B\+D\+K Release Notes}\label{docs_releases_autotoc_md195} +\hypertarget{docs_releases_autotoc_md196}{}\doxysubsubsection{G\+B\+D\+K 2.\+96}\label{docs_releases_autotoc_md196} +17 April, 2000 ~\newline + Many changes. ~\newline + +\begin{DoxyItemize} +\item Code generated is now much more reliable and passes all of sdcc\textquotesingle{}s regression suite. +\item Added support for large sets of local variables ($>$127 bytes). +\item Added full 32 bit long support. +\item Still no floating pt support. +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md197}{}\doxysubsubsection{G\+B\+D\+K 2.\+95-\/3}\label{docs_releases_autotoc_md197} +19th August, 2000 ~\newline + + + +\begin{DoxyItemize} +\item Stopped lcc with sdcc from leaking .cdb files all across /tmp. +\item Optimised $<$ and $>$ for 16 bit varibles. +\item Added a new lexer to sdcc. Compiling files with large initalised arrays takes 31\% of the time (well, at least samptest.\+c does \+:) ~\newline + +\end{DoxyItemize} + +This is an experimental release for those who feel keen. The main change is a new lexer (the first part in the compilation process which recognises words and symbols like \textquotesingle{}!=\textquotesingle{} and \textquotesingle{}char\textquotesingle{} and turns them into a token number) which speeds up compilation of large initialised arrays like tile data by a factor of three. Please report any bugs that show up -\/ this is a big change. + +I have also included a \textquotesingle{}minimal\textquotesingle{} release for win32 users which omits the documentation, library sources, and examples. If this is useful I will keep doing it.\hypertarget{docs_releases_autotoc_md198}{}\doxysubsubsection{G\+B\+D\+K 2.\+95-\/2}\label{docs_releases_autotoc_md198} +5th August, 2000 ~\newline + Just a small update. From the R\+E\+A\+D\+ME\+: + + +\begin{DoxyItemize} +\item Added model switching support --model-\/medium uses near (16 bit) pointers for data, and banked calls for anything not declared as \textquotesingle{}nonbanked\textquotesingle{} --model-\/small uses near (16 bit) pointers for data and calls. Nothing uses banked calls. \textquotesingle{}nonbanked\textquotesingle{} functions are still placed in H\+O\+ME. Libraries are under lib/medium and lib/small. +\item Added the gbdk version to \textquotesingle{}sdcc --version\textquotesingle{} +\item Changed the ways globals are exported, reducing the amount of extra junk linked in. +\item Turned on the optimisations in flex. Large constant arrays like tile data should compile a bit faster. +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md199}{}\doxysubsubsection{G\+B\+D\+K 2.\+95}\label{docs_releases_autotoc_md199} +22nd July, 2000 +\begin{DoxyItemize} +\item Fixed \textquotesingle{}a $<$$<$ c\textquotesingle{} for c = \mbox{[}9..15\mbox{]} +\item no\$gmb doesn\textquotesingle{}t support labels of $>$ 32 chars. The linker now trims all labels to 31 chars long. +\item Fixed wait\+\_\+vbl for the case where you miss a vbl +\item Fixed + and -\/ for any type where sizeof == 2 and one of the terms was on the stack. This includes pointers and ints. Fixes the text output bug in the examples. Should be faster now as well. Note that + and -\/ for longs is still broken. +\item Fixed the missing $\ast$/ in gb.\+h +\item Added basic far function support. Currently only works for isas and rgbasm. See examples/gb/far/$\ast$ +\item bc is now only pushed if the function uses it. i.\+e. something like\+: int silly(int i) \{ return i; \} ~\newline + will not have the push bc; pop bc around it. +\item Better rgbasm support. Basically\+: o Use \char`\"{}sdcc -\/mgbz80 -\/-\/asm=rgbds file.\+c\char`\"{} for each file.\+c o Use \char`\"{}sdcc -\/mgbz80 -\/-\/asm=rgbds crt0.\+o gbz80.\+lib gb.\+lib file1.\+o file2.\+o...\char`\"{} +\end{DoxyItemize} + +to link everything together. The .lib files are generated using astorgb.\+pl and sdcc to turn the gbdk libraries into something rgbds compatible. The libraries are {\itshape not} fully tested. Trust nothing. But give it a go \+:) +\begin{DoxyItemize} +\item Ran a spell checker across the R\+E\+A\+D\+ME and Change\+Log ~\newline + +\end{DoxyItemize} + +This is a recommended upgrade. Some of the big features are\+: + +Decent rgbds support. All the libraries and most of the examples can now compile with rgbds as the assembler. Banked function support. It is now easier to break the 32k barrier from within C. Functions can live in and be called transparently from any bank. Only works with rgbds Fixed some decent bugs with R\+SH, L\+SH, and a nasty bug with + and -\/ for int\textquotesingle{}s and pointers. Various optimisations in the code generator. + +7th July, 2000 ~\newline + Information on float and long support. Someone asked about the state of float/long support recently. Heres my reply\+: + +long support is partly there, as is float support. The compiler will correctly recognise the long and float keywords, and will generate the code for most basic ops (+, -\/, \&, $\vert$ etc) for longs correctly and will generate the function calls for floats and hard long operations ($\ast$, /, \%) correctly. However it wont generate float constants in the correct format, nor will it \textquotesingle{}return\textquotesingle{} a long or float -\/ gbdk doesn\textquotesingle{}t yet support returning types of 4 bytes. Unfortunately its not going to make it into 2.\+95 as there\textquotesingle{}s too much else to do, but I should be able to complete long support for 2.\+96\hypertarget{docs_releases_autotoc_md200}{}\doxysubsubsection{G\+B\+D\+K 2.\+94}\label{docs_releases_autotoc_md200} +7th May, 2000 ~\newline + Many fixes -\/ see the R\+E\+A\+D\+ME for more. + +7th May -\/ Library documentation up. A good size part of the libraries that go with gbdk have been documented -\/ follow the H\+T\+ML link above to have a look. Thanks to quang for a good chunk of the gb.\+h documentation. Please report any errors \+:) +\begin{DoxyItemize} +\item Fixed \#define B\+L\+AH 7 // Unterminated \textquotesingle{} error in sdcpp +\begin{DoxyItemize} +\item Fixed S\+C\+Y\+\_\+\+R\+EG += 2, S\+C\+Y\+\_\+\+R\+EG -\/= 5 (add and subtract in indirect space) as they were both quite broken. +\item externs and static\textquotesingle{}s now work as expected. +\item You can now specify which bank code should be put into using a \#pragma e.\+g\+: \#pragma bank=H\+O\+ME Under rgbds and asxxxx putting code in the H\+O\+ME bank will force the code into bank 0 -\/ useful for library functions. The most recent \#pragma bank= will be the one used for the whole file. +\item Fixed an interesting bug in the caching of lit addresses +\item Added support for accessing high registers directly using the \textquotesingle{}sfr\textquotesingle{} directive. See libc/gb/sfr.\+s and gb/hardware.\+h for an example. It should be possible with a bit of work to make high ram directly usable by the compiler; at the moment it is experimental. You can test sfr\textquotesingle{}s by enabling U\+S\+E\+\_\+\+S\+F\+R\+\_\+\+F\+O\+R\+\_\+\+R\+EG=1 +\item Added remove\+\_\+\+V\+BL etc functions. +\item Documented the libs -\/ see the gbdk-\/doc tarball distributed seperatly. +\item Two dimensional arrays seem to be broken. +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md201}{}\doxysubsubsection{G\+B\+D\+K 2.\+93}\label{docs_releases_autotoc_md201} +6th April, 2000 ~\newline + From the R\+E\+A\+D\+ME + + +\begin{DoxyItemize} +\item Added multi-\/bank support into the compiler -\/ The old -\/Wf-\/boxx and -\/Wf-\/baxx options now work +\item Has preliminary support for generating rgbds and I\+S\+AS compatible assembler. Try -\/W--asm=rgbds or -\/W--asm=isas. The I\+S\+AS code is untested as I dont have access to the real assembler. +\item R\+SH is fixed +\item A\+ND is fixed +\item The missing parts of 2.\+1.\+0\textquotesingle{}s libs are there. Note\+: They are untested. +\item The dscan demo now fully works (with a hack \+:) +\item There is a bug with cached computed values which are later used as pointers. When the value is first used as a B\+Y\+TE arg, then later as a pointer the pointer fails as the high byte was never computed and is now missing. A temporary fix is to declare something appropriate as \textquotesingle{}volatile\textquotesingle{} to stop the value being cached. See dscan.\+c/bombs() for an example. +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md202}{}\doxysubsubsection{G\+B\+D\+K 2.\+92-\/2 for win32}\label{docs_releases_autotoc_md202} +26th March, 2000 ~\newline + This is a maintenance release for win32 which fixes some of the niggly install problems, especially\+: +\begin{DoxyItemize} +\item win32 only. Takes care of some of the install bugs, including\+: +\begin{DoxyItemize} +\item Now auto detects where it is installed. This can be overridden using set G\+B\+D\+K\+D\+IR=... +\item Problems with the installer (now uses Win\+Zip) +\item Problems with the temp directory Now scans T\+MP, T\+E\+MP, T\+M\+P\+D\+IR and finally c\+: tmp +\item cygwin1.\+dll and \textquotesingle{}make\textquotesingle{} are no longer required gbdk is now built using mingw32 which is win32 native make.\+bat is automagically generated from the Makefile +\item I\textquotesingle{}ve reverted to using W\+O\+RD for signed 16 bit etc. G\+B\+D\+K\+\_\+2\+\_\+\+C\+O\+M\+P\+AT is no longer required. +\end{DoxyItemize} +\end{DoxyItemize} + +W\+O\+R\+DS are now back to signed. G\+B\+D\+K\+\_\+2\+\_\+\+C\+O\+M\+P\+AT is no longer needed. Temporary files are created in T\+MP, T\+E\+MP, or T\+M\+P\+D\+IR instead of c\+: tmp The installer is no more as it\textquotesingle{}s not needed. There is a Win\+Zip wrapped version for those with the extra bandwidth \+:). gbdk autodetects where it is installed -\/ no more environment variables. cygwin1.\+dll and make are no longer required -\/ gbdk is now compiled with mingw32. + +See the Change\+Log section in the R\+E\+A\+D\+ME for more information. + +21st March, 2000 ~\newline + Problems with the installer. It seems that the demo of Install\+V\+I\+SE has an unreasonably short time limit. I had planed to use the demo until the license key came through, but there\textquotesingle{}s no sign of the key yet and the 3 day evaluation is up. If anyone knows of a free Windows installer with the ability to modify environment variables, please contact me. I hear that temporarily setting you clock back to the 15th works... + +18th March, 2000 ~\newline + libc5 version available / \char`\"{}\+Error creating temp file\char`\"{} Thanks to Rodrigo Couto there is now a Linux/libc5 version of gbdk3-\/2.\+92 available -\/ follow the download link above. At least it will be there when the main sourceforge site comes back up... Also some people have reported a bug where the compiler reports \textquotesingle{}$\ast$$\ast$$\ast$ Error creating temp file\textquotesingle{}. Try typing \char`\"{}mkdir c\+: tmp\char`\"{} from a D\+OS prompt and see if that helps.\hypertarget{docs_releases_autotoc_md203}{}\doxysubsubsection{G\+B\+D\+K 2.\+92}\label{docs_releases_autotoc_md203} +8th March, 2000 ~\newline + Better than 2.\+91 \+:). Can now be installed anywhere. All the demos work. See the R\+E\+A\+D\+ME for more. +\begin{DoxyItemize} +\item All the examples now work (with a little bit of patching \+:) +\begin{DoxyItemize} +\item Fixed problem with registers being cached instead of being marked volatile. +\item More register packing -\/ should be a bit faster. +\item You can now install somewhere except c\+: gbdk $\vert$ /usr/lib/gbdk +\item Arrays initialised with constant addresses a\textquotesingle{}la galaxy.\+c now work. +\item Fixed minor bug with 104\$\+: labels in as. +\item Up to 167d/s... ~\newline + +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_releases_autotoc_md204}{}\doxysubsubsection{G\+B\+D\+K 2.\+91}\label{docs_releases_autotoc_md204} +27th Feb, 2000 ~\newline + Better than 2.\+90 and includes Linux, win32 and a source tar ball. Some notes\+: + +Read the R\+E\+A\+D\+ME first Linux users need libgc-\/4 or above. Debian users try apt-\/get install libgc5. All the types have changed. Again, please read the R\+E\+A\+D\+ME first. I prefer release early, release often. The idea is to get the bugs out there so that they can be squashed quickly. I\textquotesingle{}ve split up the libs so that they can be used on other platforms and so that the libs can be updated without updating the compiler. One side effect is that gb specific files have been shifted into their own directory i.\+e. gb.\+h is now gb/gb.\+h. + +23rd Feb, 2000 ~\newline + First release of gbdk/sdcc. This is an early release -\/ the only binary is for Linux and the source is only available through cvs. If your interested in the source, have a look at the cvs repository gbdk-\/support first, which will download all the rest of the code. Alternatively, look at gbdk-\/support and gbdk-\/lib at cvs.\+gbdk.\+sourceforge.\+net and sdcc at cvs.\+sdcc.\+sourceforge.\+net. I will be working on binaries for Win32 and a source tar ball soon. Please report any bugs through the bugs link above. + +31st Jan, 2000 ~\newline + Added Dermot\textquotesingle{}s far pointer spec. It\textquotesingle{}s mainly here for comment. If sdcc is ported to the Gameboy then I will be looking for some way to do far calls. + +8th Jan, 2000 ~\newline + Moved over to sourceforge.\+net. Thanks must go to David Pfeffer for gbdk\textquotesingle{}s previous resting place, www.\+gbdev.\+org. The transition is not complete, but cvs and web have been shifted. Note that the cvs download instructions are stale -\/ you should now look to cvs.\+gbdk.\+sourceforge.\+net. I am currently working on porting sdcc over to the Z80. David Nathan is looking at porting it to the GB. + +6th Jan, 2000 ~\newline + Icehawk wrote \char`\"{}\+I did write some rumble pack routines. Just make sure to remind people to add -\/\+Wl-\/yt0x1\+C or -\/\+Wl-\/yt0x1\+D or -\/\+Wl-\/yt0x1\+E depending on sram and battery usage. Find the routines on my site (as usual). =)\char`\"{} + +18th Oct, 1999 ~\newline + Bug tracking / F\+AQ up. Try the link on the left to report any bugs with G\+B\+DK. It\textquotesingle{}s also the first place to look if your having problems.\hypertarget{docs_releases_autotoc_md205}{}\doxysubsubsection{G\+B\+D\+K 2.\+1.\+5}\label{docs_releases_autotoc_md205} +17th Oct, 1999 ~\newline + + +The compiler is the same, but some of the libraries have been improved. \mbox{\hyperlink{asm_2gbz80_2string_8h_a4bc4146b1a053fc4ec10f1377bb21a4f}{memset()}} and \mbox{\hyperlink{asm_2gbz80_2string_8h_a6a1a6cbe7fb6102819098340a4986574}{memcpy()}} are much faster, \mbox{\hyperlink{stdlib_8h_a7ac38fce3243a7dcf448301ee9ffd392}{malloc()}} is fixed, and a high speed fixed block alternative \mbox{\hyperlink{stdlib_8h_a7ac38fce3243a7dcf448301ee9ffd392}{malloc()}} was added. + diff --git a/docs/latex/docs_rombanking_mbcs.tex b/docs/latex/docs_rombanking_mbcs.tex @@ -0,0 +1,258 @@ +\hypertarget{docs_rombanking_mbcs_autotoc_md73}{}\doxysubsection{R\+O\+M/\+R\+A\+M Banking and M\+B\+Cs (\+Memory Bank Controllers)}\label{docs_rombanking_mbcs_autotoc_md73} +The standard Game Boy cartridge with no M\+BC has a fixed 32K bytes of R\+OM. In order to make cartridges with larger R\+OM sizes (to store more code and graphics) M\+B\+Cs can be used. They allow switching between multiple R\+OM banks that use the same memory region. Only one of the banks can be selected as active at a given time, while all the other banks are inactive (and so, inaccessible).\hypertarget{docs_rombanking_mbcs_autotoc_md74}{}\doxysubsubsection{Non-\/banked cartridges}\label{docs_rombanking_mbcs_autotoc_md74} +Cartridges with no M\+BC controller are non-\/banked, they have 32K bytes of fixed R\+OM space and no switchable banks. For these cartridges the R\+OM space between {\ttfamily 0000h and 7F\+F\+Fh} can be treated as a single large bank of 32K bytes, or as two contiguous banks of 16K bytes in Bank 0 at {\ttfamily 0000h -\/ 3F\+F\+Fh} and Bank 1 at {\ttfamily 4000h to 7F\+F\+Fh}.\hypertarget{docs_rombanking_mbcs_autotoc_md75}{}\doxysubsubsection{M\+B\+C Banked cartridges (\+Memory Bank Controllers)}\label{docs_rombanking_mbcs_autotoc_md75} +\label{docs_rombanking_mbcs_MBC}% +\Hypertarget{docs_rombanking_mbcs_MBC}% +\label{docs_rombanking_mbcs_MBCS}% +\Hypertarget{docs_rombanking_mbcs_MBCS}% +Cartridges with M\+B\+Cs allow the the Game Boy to work with R\+O\+MS up to 8MB in size and with R\+AM up to 128kB. Each bank is 16K Bytes. +\begin{DoxyItemize} +\item Bank 0 of the R\+OM is located in the region at {\ttfamily 0000h -\/ 3F\+F\+Fh}. It is {\itshape usually} fixed (non-\/banked) and cannot be switched out for another bank. +\item The higher region at {\ttfamily 4000h to 7F\+F\+Fh} is used for switching between different R\+OM banks. +\end{DoxyItemize} + +See the \mbox{\hyperlink{docs_links_and_tools_Pandocs}{Pandocs}} for more details about the individual M\+B\+Cs and their capabilities.\hypertarget{docs_rombanking_mbcs_autotoc_md76}{}\doxysubsection{Working with Banks}\label{docs_rombanking_mbcs_autotoc_md76} +To assign code and constant data (such as graphics) to a R\+OM bank and use it\+: +\begin{DoxyItemize} +\item Place the code for your R\+OM bank in one or several source files. +\item Specify the R\+OM bank to use, either in the source file or at compile/link time. +\item Specify the number of banks and M\+BC type during link time. +\item When the program is running and wants to use data or call a function that is in a given bank, manually or automatically set the desired bank to active. +\end{DoxyItemize}\hypertarget{docs_rombanking_mbcs_autotoc_md77}{}\doxysubsubsection{Setting the R\+O\+M bank for a Source file}\label{docs_rombanking_mbcs_autotoc_md77} +The R\+OM and R\+AM bank for a source file can be set in a couple different ways. Multiple different banks cannot be assigned inside the same source file (unless the {\ttfamily \+\_\+\+\_\+addressmod} method is used), but multiple source files can share the same bank. + +If no R\+OM and R\+AM bank are speciied for a file then the default \+\_\+\+C\+O\+DE, \+\_\+\+B\+SS and \+\_\+\+D\+A\+TA segments are used. + +Ways to set the R\+OM bank for a Source file +\begin{DoxyItemize} +\item {\ttfamily \#pragma bank $<$N$>$} at the start of a source file. Example (R\+OM bank 2)\+: {\ttfamily \#pragma bank 2} +\item The lcc switch for R\+OM bank {\ttfamily -\/Wf-\/bo$<$N$>$}. Example (R\+OM bank 2)\+: {\ttfamily -\/Wf-\/bo2} +\item Using \mbox{\hyperlink{docs_rombanking_mbcs_rom_autobanking}{rom\+\_\+autobanking}} +\end{DoxyItemize} + +Note\+: You can use the {\ttfamily N\+O\+N\+B\+A\+N\+K\+ED} keyword to define a function as non-\/banked if it resides in a source file which has been assigned a bank.\hypertarget{docs_rombanking_mbcs_autotoc_md78}{}\doxysubsubsection{Setting the R\+A\+M bank for a Source file}\label{docs_rombanking_mbcs_autotoc_md78} + +\begin{DoxyItemize} +\item Using the lcc switch for R\+AM bank {\ttfamily -\/Wf-\/ba$<$N$>$}. Example (R\+OM bank 3)\+: {\ttfamily -\/Wf-\/bo3} +\end{DoxyItemize} + +\label{docs_rombanking_mbcs_setting_mbc_and_rom_ram_banks}% +\Hypertarget{docs_rombanking_mbcs_setting_mbc_and_rom_ram_banks}% +\hypertarget{docs_rombanking_mbcs_autotoc_md79}{}\doxysubsubsection{Setting the M\+B\+C and number of R\+O\+M \& R\+A\+M banks available}\label{docs_rombanking_mbcs_autotoc_md79} +At the link stage this is done with \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} using pass-\/through switches for \mbox{\hyperlink{docs_toolchain_makebin}{makebin}}. +\begin{DoxyItemize} +\item {\ttfamily -\/Wl-\/yo$<$N$>$} where {\ttfamily $<$N$>$} is the number of R\+OM banks. 2, 4, 8, 16, 32, 64, 128, 256, 512 +\begin{DoxyItemize} +\item {\ttfamily -\/Wl-\/yoA} may be used for automatic bank size. +\end{DoxyItemize} +\item {\ttfamily -\/Wl-\/ya$<$N$>$} where {\ttfamily $<$N$>$} is the number of R\+AM banks. 2, 4, 8, 16, 32 +\item {\ttfamily -\/Wl-\/yt$<$N$>$} where {\ttfamily $<$N$>$} is the type of M\+BC cartridge (see below). +\begin{DoxyItemize} +\item Example\+: {\ttfamily Wl-\/yt0x1A} +\end{DoxyItemize} +\end{DoxyItemize} + +The M\+BC settings below are available when using the makebin M\+BC switch. + +Additional details available at \href{https://gbdev.io/pandocs/The_Cartridge_Header.html\#0147---cartridge-type}{\texttt{ Pandocs}} + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\# From Makebin source:} +\DoxyCodeLine{\#} +\DoxyCodeLine{\#-\/Wl-\/yt<NN> where <NN> is one of the numbers below} +\DoxyCodeLine{\#} +\DoxyCodeLine{\# 0147: Cartridge type:} +\DoxyCodeLine{\# 0-\/ROM ONLY 12-\/ROM+MBC3+RAM} +\DoxyCodeLine{\# 1-\/ROM+MBC1 13-\/ROM+MBC3+RAM+BATT} +\DoxyCodeLine{\# 2-\/ROM+MBC1+RAM 19-\/ROM+MBC5} +\DoxyCodeLine{\# 3-\/ROM+MBC1+RAM+BATT 1A-\/ROM+MBC5+RAM} +\DoxyCodeLine{\# 5-\/ROM+MBC2 1B-\/ROM+MBC5+RAM+BATT} +\DoxyCodeLine{\# 6-\/ROM+MBC2+BATTERY 1C-\/ROM+MBC5+RUMBLE} +\DoxyCodeLine{\# 8-\/ROM+RAM 1D-\/ROM+MBC5+RUMBLE+SRAM} +\DoxyCodeLine{\# 9-\/ROM+RAM+BATTERY 1E-\/ROM+MBC5+RUMBLE+SRAM+BATT} +\DoxyCodeLine{\# B-\/ROM+MMM01 1F-\/Pocket Camera} +\DoxyCodeLine{\# C-\/ROM+MMM01+SRAM FD-\/Bandai TAMA5} +\DoxyCodeLine{\# D-\/ROM+MMM01+SRAM+BATT FE -\/ Hudson HuC-\/3} +\DoxyCodeLine{\# F-\/ROM+MBC3+TIMER+BATT FF -\/ Hudson HuC-\/1} +\DoxyCodeLine{\# 10-\/ROM+MBC3+TIMER+RAM+BATT} +\DoxyCodeLine{\# 11-\/ROM+MBC3} +\end{DoxyCode} +\hypertarget{docs_rombanking_mbcs_autotoc_md80}{}\doxysubsubsection{Getting Bank Numbers}\label{docs_rombanking_mbcs_autotoc_md80} +The bank number for a banked function, variable or source file can be stored and retrieved using the following macros\+: +\begin{DoxyItemize} +\item \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}}\+: Create a reference for retrieving the bank number of a variable or function +\item \mbox{\hyperlink{gb_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+N\+K()}}\+: Retrieve a bank number using a reference created with \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}} +\item \mbox{\hyperlink{gb_8h_a261bba55a07b802baf99346feadd9852}{B\+A\+N\+K\+R\+E\+F\+\_\+\+E\+X\+T\+E\+R\+N()}} -\/ Make a \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}} reference residing in another source file accessible in the current file for use with \mbox{\hyperlink{gb_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+N\+K()}}. +\end{DoxyItemize}\hypertarget{docs_rombanking_mbcs_autotoc_md81}{}\doxysubsubsection{Banking and Functions}\label{docs_rombanking_mbcs_autotoc_md81} +\label{docs_rombanking_mbcs_banked_keywords}% +\Hypertarget{docs_rombanking_mbcs_banked_keywords}% +\hypertarget{docs_rombanking_mbcs_autotoc_md82}{}\doxyparagraph{B\+A\+N\+K\+E\+D/\+N\+O\+N\+B\+A\+N\+K\+E\+D keywords}\label{docs_rombanking_mbcs_autotoc_md82} + +\begin{DoxyItemize} +\item {\ttfamily B\+A\+N\+K\+ED}\+: +\begin{DoxyItemize} +\item The function will use banked sdcc calls +\item Placed in the bank selected by it\textquotesingle{}s source file (or compiler switches) +\end{DoxyItemize} +\item {\ttfamily N\+O\+N\+B\+A\+N\+K\+ED}\+: +\begin{DoxyItemize} +\item Placed in the non-\/banked lower 16K region (bank 0), regardless of the bank selected by it\textquotesingle{}s source file. +\end{DoxyItemize} +\item {\ttfamily $<$not-\/specified$>$}\+: +\begin{DoxyItemize} +\item The function does not use sdcc banked calls ({\ttfamily near} instead of {\ttfamily far}) +\item Placed in the bank selected by it\textquotesingle{}s source file (or compiler switches) +\end{DoxyItemize} +\end{DoxyItemize} + +\label{docs_rombanking_mbcs_banked_calls}% +\Hypertarget{docs_rombanking_mbcs_banked_calls}% +\hypertarget{docs_rombanking_mbcs_autotoc_md83}{}\doxyparagraph{Banked Function Calls}\label{docs_rombanking_mbcs_autotoc_md83} +Banked functions can be called as follows. +\begin{DoxyItemize} +\item When defined with the {\ttfamily B\+A\+N\+K\+ED} keyword. Example\+: {\ttfamily void my\+\_\+function() B\+A\+N\+K\+ED \{ do stuff \}} in a source file which has had it\textquotesingle{}s bank set (see above). +\item Using \mbox{\hyperlink{docs_rombanking_mbcs_far_pointers}{far\+\_\+pointers}} +\item When defined with an area set up using the {\ttfamily \+\_\+\+\_\+addressmod} keyword (See the {\ttfamily banks\+\_\+new} example project and the S\+D\+CC manual for details) +\item Using \mbox{\hyperlink{gb_8h_a1e22a3b60368bb5f3705d625ac2d09cc}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M()}} (and related functions for other M\+B\+Cs) to manually switch in the required bank and then call the function. +\end{DoxyItemize} + +Non-\/banked functions (either in fixed Bank 0, or in an non-\/banked R\+OM with no M\+BC) +\begin{DoxyItemize} +\item May call functions in any bank\+: {\bfseries{Y\+ES}} +\item May use data in any bank\+: {\bfseries{Y\+ES}} +\end{DoxyItemize} + +\begin{DoxyRefDesc}{Todo} +\item[\mbox{\hyperlink{todo__todo000004}{Todo}}]Fill in this info for Banked Functions Banked functions (located in a switchable R\+OM bank) +\begin{DoxyItemize} +\item May call functions in any bank\+: ? +\item May use data in any bank\+: {\bfseries{NO}} (may only use data from currently active banks) +\end{DoxyItemize}\end{DoxyRefDesc} + + +Limitations\+: +\begin{DoxyItemize} +\item S\+D\+CC banked calls and far\+\_\+pointers in G\+B\+DK only save one byte for the R\+OM bank. So, for example, they are limtied to {\bfseries{bank 31}} max for M\+B\+C1 and {\bfseries{bank 255}} max for M\+B\+C5. This is due to the bank switching for those M\+B\+Cs requiring a second, additional write to select the upper bits for more banks (banks 32+ in M\+B\+C1 and banks 256+ in M\+B\+C5). +\end{DoxyItemize}\hypertarget{docs_rombanking_mbcs_autotoc_md84}{}\doxysubsubsection{Const Data (\+Variables in R\+O\+M)}\label{docs_rombanking_mbcs_autotoc_md84} +\begin{DoxyRefDesc}{Todo} +\item[\mbox{\hyperlink{todo__todo000005}{Todo}}]Const Data (Variables in R\+OM)\end{DoxyRefDesc} +\hypertarget{docs_rombanking_mbcs_autotoc_md85}{}\doxysubsubsection{Variables in R\+AM}\label{docs_rombanking_mbcs_autotoc_md85} +\begin{DoxyRefDesc}{Todo} +\item[\mbox{\hyperlink{todo__todo000006}{Todo}}]Variables in R\+AM\end{DoxyRefDesc} +\hypertarget{docs_rombanking_mbcs_autotoc_md86}{}\doxysubsubsection{Far Pointers}\label{docs_rombanking_mbcs_autotoc_md86} +\label{docs_rombanking_mbcs_far_pointers}% +\Hypertarget{docs_rombanking_mbcs_far_pointers}% +Far pointers include a segment (bank) selector so they are able to point to addresses (functions or data) outside of the current bank (unlike normal pointers which are not bank-\/aware). A set of macros is provided by G\+B\+DK 2020 for working with far pointers. + +{\bfseries{Warning\+:}} Do not call the far pointer function macros from inside interrupt routines (I\+S\+Rs). The far pointer function macros use a global variable that would not get restored properly if a function called that way was interrupted by another one called the same way. However, they may be called recursively. + +See \mbox{\hyperlink{far__ptr_8h_a7f4ab1893ea392f8bf042a3b97de4730}{F\+A\+R\+\_\+\+C\+A\+LL}}, \mbox{\hyperlink{far__ptr_8h_a0c227677a96f9bf7e84a90922f2f8708}{T\+O\+\_\+\+F\+A\+R\+\_\+\+P\+TR}} and the {\ttfamily banks\+\_\+farptr} example project.\hypertarget{docs_rombanking_mbcs_autotoc_md87}{}\doxysubsubsection{Bank switching}\label{docs_rombanking_mbcs_autotoc_md87} +You can manually switch banks using the \mbox{\hyperlink{gb_8h_a1e22a3b60368bb5f3705d625ac2d09cc}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M()}}, \mbox{\hyperlink{gb_8h_a6e40dcc763efd953181c7400642a9f69}{S\+W\+I\+T\+C\+H\+\_\+\+R\+A\+M()}}, and other related macros. See {\ttfamily banks.\+c} project for an example. + +Note\+: You can only do a switch\+\_\+rom\+\_\+bank call from non-\/banked {\ttfamily \+\_\+\+C\+O\+DE} since otherwise you would switch out the code that was executing. Global routines that will be called without an expectation of bank switching should fit within the limited 16k of non-\/banked {\ttfamily \+\_\+\+C\+O\+DE}.\hypertarget{docs_rombanking_mbcs_autotoc_md88}{}\doxysubsubsection{Restoring the current bank (after calling functions which change it without restoring)}\label{docs_rombanking_mbcs_autotoc_md88} +\label{docs_rombanking_mbcs_banking_current_bank}% +\Hypertarget{docs_rombanking_mbcs_banking_current_bank}% +If a function call is made (for example inside an I\+SR) which changes the bank {\itshape without} restoring it, then the \mbox{\hyperlink{gb_8h_a98b848953a95ce2fff6fda643575d74a}{\+\_\+current\+\_\+bank}} variable should be saved and then restored. + +For example, {\bfseries{instead}} of this code\+: +\begin{DoxyCode}{0} +\DoxyCodeLine{void vbl\_music\_isr(void)} +\DoxyCodeLine{\{} +\DoxyCodeLine{ // A function which changes the bank and} +\DoxyCodeLine{ // *doesn't* restore it after changing.} +\DoxyCodeLine{ some\_function();} +\DoxyCodeLine{\}} +\end{DoxyCode} + + +It should be\+: +\begin{DoxyCode}{0} +\DoxyCodeLine{void vbl\_music\_isr(void)} +\DoxyCodeLine{\{} +\DoxyCodeLine{ // Save the current bank} +\DoxyCodeLine{ uint8\_t \_saved\_bank = \_current\_bank;} +\DoxyCodeLine{} +\DoxyCodeLine{ // A function which changes the bank and} +\DoxyCodeLine{ // *doesn't* restore it after changing.} +\DoxyCodeLine{ some\_function();} +\DoxyCodeLine{} +\DoxyCodeLine{ // Now restore the current bank} +\DoxyCodeLine{ SWITCH\_ROM(\_saved\_bank);} +\DoxyCodeLine{\}} +\end{DoxyCode} +\hypertarget{docs_rombanking_mbcs_autotoc_md89}{}\doxysubsubsection{Currently active bank\+: \+\_\+current\+\_\+bank}\label{docs_rombanking_mbcs_autotoc_md89} +The global variable \mbox{\hyperlink{gb_8h_a98b848953a95ce2fff6fda643575d74a}{\+\_\+current\+\_\+bank}} is updated automatically when calling \mbox{\hyperlink{gb_8h_a1e22a3b60368bb5f3705d625ac2d09cc}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M()}}, \mbox{\hyperlink{gb_8h_a19558f5bbc9fea767f945001ae9cd13f}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C1()}} and \mbox{\hyperlink{gb_8h_a92d040284342702026eb19dab59b586e}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C5}}, or when a {\ttfamily B\+A\+N\+K\+ED} function is called. + +\label{docs_rombanking_mbcs_rom_autobanking}% +\Hypertarget{docs_rombanking_mbcs_rom_autobanking}% +\hypertarget{docs_rombanking_mbcs_autotoc_md90}{}\doxysubsection{Auto-\/\+Banking}\label{docs_rombanking_mbcs_autotoc_md90} +A R\+OM bank auto-\/assignment feature was added in G\+B\+DK 2020 4.\+0.\+2. + +Instead of having to manually specify which bank a source file will reside it, the banks can be assigned automatically to make the best use of space. The bank assignment operates on object files, after compiling/assembling and before linking. + +To turn on auto-\/banking, use the {\ttfamily -\/autobank} argument with lcc + +For a source example see the {\ttfamily banks\+\_\+autobank} project. + +In the source files you want auto-\/banked, do the following\+: +\begin{DoxyItemize} +\item Set the source file to be autobanked {\ttfamily \#pragma bank 255} (this sets the temporary bank to {\ttfamily 255}, which \mbox{\hyperlink{docs_toolchain_bankpack}{bankpack}} then updates when repacking) +\item Create a reference to store the bank number for that source file\+: {\ttfamily B\+A\+N\+K\+R\+EF($<$some-\/bank-\/reference-\/name$>$)}. +\begin{DoxyItemize} +\item More than one {\ttfamily \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}}} may be created per file, but they should always have unique names. +\end{DoxyItemize} +\end{DoxyItemize} + +In the other source files you want to access the banked data from, do the following\+: +\begin{DoxyItemize} +\item Create an extern so the bank reference in another file is accessible\+: {\ttfamily B\+A\+N\+K\+R\+E\+F\+\_\+\+E\+X\+T\+E\+RN($<$some-\/bank-\/reference-\/name$>$)}. +\item Obtain the bank number using {\ttfamily B\+A\+NK($<$some-\/bank-\/reference-\/name$>$)}. +\end{DoxyItemize} + +Example\+: level\+\_\+1\+\_\+map.\+c \begin{DoxyVerb} #pragma bank 255 + BANKREF(level_1_map) + ... + const uint8_t level_1_map[] = {... some map data here ...}; +\end{DoxyVerb} + + +Accessing that data\+: main.\+c \begin{DoxyVerb} BANKREF_EXTERN(level_1_map) + ... + SWITCH_ROM( BANK(level_1_map) ); + // Do something with level_1_map[] +\end{DoxyVerb} + + +Features and Notes\+: +\begin{DoxyItemize} +\item Fixed banked source files can be used in the same project as auto-\/banked source files. The bankpack tool will attempt to pack the auto-\/banked source files as efficiently as possible around the fixed-\/bank ones. +\end{DoxyItemize} + +Making sure bankpack checks all files\+: +\begin{DoxyItemize} +\item In order to correctly calculate the bank for all files every time, it is best to use the {\ttfamily -\/ext=} flag and save the auto-\/banked output to a different extension (such as {\ttfamily .rel}) and then pass the modified files to the linker. That way all object files will be processed each time the program is compiled. \begin{DoxyVerb}Recommended: +.c and .s -> (compiler) .o -> (bankpack) -> .rel -> (linker) ... -> .gb +\end{DoxyVerb} + +\item It is important because when bankpack assigns a bank for an autobanked (bank=255) object file (.o) it rewrites the bank and will then no longer see the file as one that needs to be auto-\/banked. That file will then remain in it\textquotesingle{}s previously assigned bank until a source change causes the compiler to rebuild it to an object file again which resets it\textquotesingle{}s bank to 255. +\item For example consider a fixed-\/bank source file growing too large to share a bank with an auto-\/banked source file that was previously assigned to it. To avoid a bank overflow it would be important to have the auto-\/banked file check every time whether it can share that bank or not. +\item See \mbox{\hyperlink{docs_toolchain_bankpack}{bankpack}} for more options and settings +\end{DoxyItemize}\hypertarget{docs_rombanking_mbcs_autotoc_md91}{}\doxysubsection{Errors related to banking (overflow, multiple writes to same location)}\label{docs_rombanking_mbcs_autotoc_md91} +A {\itshape bank overflow} during compile/link time (in \mbox{\hyperlink{docs_toolchain_makebin}{makebin}}) is when more code and data are allocated to a R\+OM bank than it has capacity for. The address for any overflowed data will be incorrect and the data is potentially unreachable since it now resides at the start of a different bank instead of the end of the expected bank. + +See the \mbox{\hyperlink{docs_faq_faq_bank_overflow_errors}{F\+AQ entry about bank overflow errors}}. + +The current toolchain can only detect and warn (using \mbox{\hyperlink{docs_toolchain_ihxcheck}{ihxcheck}}) when one bank overflows into another bank that has data at its start. It cannot warn if a bank overflows into an empty one. For more complete detection, you can use the third-\/party \mbox{\hyperlink{docs_links_and_tools_romusage}{romusage}} tool.\hypertarget{docs_rombanking_mbcs_autotoc_md92}{}\doxysubsection{Bank space usage}\label{docs_rombanking_mbcs_autotoc_md92} +In order to see how much space is used or remains available in a bank, you can use the third-\/party \mbox{\hyperlink{docs_links_and_tools_romusage}{romusage}} tool.\hypertarget{docs_rombanking_mbcs_autotoc_md93}{}\doxysubsubsection{Other important notes}\label{docs_rombanking_mbcs_autotoc_md93} + +\begin{DoxyItemize} +\item The \mbox{\hyperlink{gb_8h_a92d040284342702026eb19dab59b586e}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C5}} macro is not interrupt-\/safe. If using less than 256 banks you may always use S\+W\+I\+T\+C\+H\+\_\+\+R\+OM -\/ that is faster. Even if you use mbc5 hardware chip in the cart. +\end{DoxyItemize}\hypertarget{docs_rombanking_mbcs_autotoc_md94}{}\doxysubsection{Banking example projects}\label{docs_rombanking_mbcs_autotoc_md94} +There are several projects in the G\+B\+DK 2020 examples folder which demonstrate different ways to use banking. +\begin{DoxyItemize} +\item {\ttfamily Banks}\+: A basic banking example +\item {\ttfamily Banks\+\_\+new}\+: Examples of using new bank assignment and calling conventions available in G\+B\+DK 2020 and it\textquotesingle{}s updated S\+D\+CC version. +\item {\ttfamily Banks\+\_\+farptr}\+: Using far pointers which have the bank number built into the pointer. +\item {\ttfamily Banks\+\_\+autobank}\+: Shows how to use the bank auto-\/assignment feature of in G\+B\+DK 2020 4.\+0.\+2 or later, instead of having to manually specify which bank a source file will reside it. +\end{DoxyItemize} + diff --git a/docs/latex/docs_supported_consoles.tex b/docs/latex/docs_supported_consoles.tex @@ -0,0 +1,266 @@ +\label{docs_supported_consoles_docs_consoles_supported_list}% +\Hypertarget{docs_supported_consoles_docs_consoles_supported_list}% +\hypertarget{docs_supported_consoles_autotoc_md116}{}\doxysubsection{Consoles Supported by G\+B\+DK}\label{docs_supported_consoles_autotoc_md116} +As of version {\ttfamily 4.\+0.\+5} G\+B\+DK includes support for other consoles in addition to the Game Boy. + + +\begin{DoxyItemize} +\item Game Boy and related clones +\begin{DoxyItemize} +\item Nintendo Game Boy / Game Boy Color (G\+B/\+G\+BC) +\item Analogue Pocket (AP) +\item Mega Duck / Cougar Boy (D\+U\+CK) +\end{DoxyItemize} +\item Sega Consoles +\begin{DoxyItemize} +\item Sega Master System (S\+MS) +\item Sega Game Gear (GG) +\end{DoxyItemize} +\end{DoxyItemize} + +While the G\+B\+DK A\+PI has many convenience functions that work the same or similar across different consoles, it\textquotesingle{}s important to keep their different capabilities in mind when writing code intended to run on more than one. Some (but not all) of the differences are screen sizes, color abilities, memory layouts, processor type (z80 vs gbz80/sm83) and speed. + +\label{docs_supported_consoles_docs_consoles_compiling}% +\Hypertarget{docs_supported_consoles_docs_consoles_compiling}% +\hypertarget{docs_supported_consoles_autotoc_md117}{}\doxysubsection{Cross Compiling for Different Consoles}\label{docs_supported_consoles_autotoc_md117} +\hypertarget{docs_supported_consoles_autotoc_md118}{}\doxysubsubsection{lcc}\label{docs_supported_consoles_autotoc_md118} +When compiling and building through \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} use the {\ttfamily -\/m$<$port$>$\+:$<$plat$>$} flag to select the desired console via it\textquotesingle{}s port and platform combination.\hypertarget{docs_supported_consoles_autotoc_md119}{}\doxysubsubsection{sdcc}\label{docs_supported_consoles_autotoc_md119} +When building directly with the sdcc toolchain, the following must be specified manually (when using \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} it will populate these automatically based on {\ttfamily -\/m$<$port$>$\+:$<$plat$>$}). + +When compiling with \mbox{\hyperlink{docs_toolchain_settings_sdcc-settings}{sdcc}}\+: +\begin{DoxyItemize} +\item {\ttfamily -\/m$<$port$>$}, {\ttfamily -\/D\+\_\+\+\_\+\+P\+O\+R\+T\+\_\+$<$port$>$} and {\ttfamily -\/D\+\_\+\+\_\+\+T\+A\+R\+G\+E\+T\+\_\+$<$plat$>$} +\end{DoxyItemize} + +When assembling with \mbox{\hyperlink{docs_toolchain_settings_sdasgb-settings}{sdasgb}} (for G\+B/\+AP) and \mbox{\hyperlink{docs_toolchain_settings_sdasz80-settings}{sdasz80}} (for S\+M\+S/\+GG)\+: +\begin{DoxyItemize} +\item Select the appropriate include path\+: {\ttfamily -\/I$<$gbdk-\/path$>$lib/small/asxxxx/$<$plat$>$} +\end{DoxyItemize} + +When linking with \mbox{\hyperlink{docs_toolchain_settings_sdldgb-settings}{sdldgb}} (for G\+B/\+AP) and \mbox{\hyperlink{docs_toolchain_settings_sdldz80-settings}{sdldz80}} (for S\+M\+S/\+GG)\+: +\begin{DoxyItemize} +\item Select the appropriate include paths\+: {\ttfamily -\/k $<$gbdk-\/path$>$lib/small/asxxxx/$<$port$>$}, {\ttfamily -\/k $<$gbdk-\/path$>$lib/small/asxxxx/$<$plat$>$} +\item Include the appropriate library files {\ttfamily -\/l $<$port$>$.lib}, {\ttfamily -\/l $<$plat$>$.lib} +\item The crt will be under {\ttfamily $<$gbdk-\/path$>$lib/small/asxxxx/$<$plat$>$/crt0.o} +\end{DoxyItemize}\hypertarget{docs_supported_consoles_autotoc_md120}{}\doxysubsubsection{Console Port and Platform Settings}\label{docs_supported_consoles_autotoc_md120} + +\begin{DoxyItemize} +\item Nintendo Game Boy / Game Boy Color +\begin{DoxyItemize} +\item \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} \+: {\ttfamily -\/mgbz80\+:gb} +\item port\+:{\ttfamily gbz80}, plat\+:{\ttfamily gb} +\end{DoxyItemize} +\item Analogue Pocket +\begin{DoxyItemize} +\item \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} \+: {\ttfamily -\/mgbz80\+:ap} +\item port\+:{\ttfamily gbz80}, plat\+:{\ttfamily ap} +\end{DoxyItemize} +\item Mega Duck / Cougar Boy +\begin{DoxyItemize} +\item \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} \+: {\ttfamily -\/mgbz80\+:duck} +\item port\+:{\ttfamily gbz80}, plat\+:{\ttfamily duck} +\end{DoxyItemize} +\item Sega Master System +\begin{DoxyItemize} +\item \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} \+: {\ttfamily -\/mz80\+:sms} +\item port\+:{\ttfamily z80}, plat\+:{\ttfamily sms} +\end{DoxyItemize} +\item Sega Game Gear +\begin{DoxyItemize} +\item \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} \+: {\ttfamily -\/mz80\+:gg} +\item port\+:{\ttfamily z80}, plat\+:{\ttfamily gg} +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_supported_consoles_autotoc_md121}{}\doxysubsection{Cross-\/\+Platform Constants}\label{docs_supported_consoles_autotoc_md121} +There are several constant \#defines that can be used to help select console specific code during compile time (with {\ttfamily \#ifdef}, {\ttfamily \#ifndef}) .\hypertarget{docs_supported_consoles_autotoc_md122}{}\doxysubsubsection{Console Identifiers}\label{docs_supported_consoles_autotoc_md122} + +\begin{DoxyItemize} +\item When {\ttfamily $<$gb/gb.\+h$>$} is included (either directly or through {\ttfamily $<$gbdk/platform.\+h$>$}) +\begin{DoxyItemize} +\item When building for Game Boy\+: +\begin{DoxyItemize} +\item {\ttfamily N\+I\+N\+T\+E\+N\+DO} will be \#defined +\item {\ttfamily G\+A\+M\+E\+B\+OY} will be \#defined +\end{DoxyItemize} +\item When building for Analogue Pocket +\begin{DoxyItemize} +\item {\ttfamily N\+I\+N\+T\+E\+N\+DO} will be \#defined +\item {\ttfamily A\+N\+A\+L\+O\+G\+U\+E\+P\+O\+C\+K\+ET} will be \#defined +\end{DoxyItemize} +\item When building for Mega Duck / Cougar Boy +\begin{DoxyItemize} +\item {\ttfamily N\+I\+N\+T\+E\+N\+DO} will be \#defined +\item {\ttfamily M\+E\+G\+A\+D\+U\+CK} will be \#defined +\end{DoxyItemize} +\end{DoxyItemize} +\item When {\ttfamily $<$sms/sms.\+h $>$} is included (either directly or through {\ttfamily $<$gbdk/platform.\+h$>$}) +\begin{DoxyItemize} +\item When building for Master System +\begin{DoxyItemize} +\item {\ttfamily S\+E\+GA} will be \#defined +\item {\ttfamily M\+A\+S\+T\+E\+R\+S\+Y\+S\+T\+EM} will be \#defined +\end{DoxyItemize} +\item When building for Game Gear +\begin{DoxyItemize} +\item {\ttfamily S\+E\+GA} will be \#defined +\item {\ttfamily G\+A\+M\+E\+G\+E\+AR} will be \#defined +\end{DoxyItemize} +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_supported_consoles_autotoc_md123}{}\doxysubsubsection{Console Hardware Properties}\label{docs_supported_consoles_autotoc_md123} +Constants that describe properties of the console hardware are listed below. Their values will change to reflect the current console target that is being built. + + +\begin{DoxyItemize} +\item \mbox{\hyperlink{gb_2hardware_8h_a519e327cac96f68a8ca9b77e0343672f}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+X\+\_\+\+O\+F\+F\+S\+ET}}, \mbox{\hyperlink{gb_2hardware_8h_af334c0e7dd6e434b3dbebd45bcdeb75a}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+Y\+\_\+\+O\+F\+F\+S\+ET}} +\item \mbox{\hyperlink{gb_2hardware_8h_add7f32ba868ef6517798f5fce337e4b2}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+W\+I\+D\+TH}}, \mbox{\hyperlink{gb_2hardware_8h_ad252264fdcf900e5fbf611f7a45962ed}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+H\+E\+I\+G\+HT}} +\item \mbox{\hyperlink{gb_2hardware_8h_a491dc081eae8c81e7ca88075ab806291}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+W\+I\+D\+TH}}, \mbox{\hyperlink{gb_2hardware_8h_a81fb56b6778772f829dab4c534e7749e}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+H\+E\+I\+G\+HT}} +\item \mbox{\hyperlink{gb_2hardware_8h_a4d682ed7a6158c5ba10afec739b17a8a}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+M\+A\+P\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+S\+I\+ZE}} +\item \mbox{\hyperlink{gb_2hardware_8h_af531e7ac0c0a58517fa3061631745c31}{D\+E\+V\+I\+C\+E\+\_\+\+S\+P\+R\+I\+T\+E\+\_\+\+P\+X\+\_\+\+O\+F\+F\+S\+E\+T\+\_\+X}}, \mbox{\hyperlink{gb_2hardware_8h_a7f6c8420831388300bbec13ea4cb57a0}{D\+E\+V\+I\+C\+E\+\_\+\+S\+P\+R\+I\+T\+E\+\_\+\+P\+X\+\_\+\+O\+F\+F\+S\+E\+T\+\_\+Y}} +\item \mbox{\hyperlink{sms_2hardware_8h_ad14c51cdfb347c34c364f54e67dc978d}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+W\+I\+D\+TH}}, \mbox{\hyperlink{sms_2hardware_8h_a7bd450aa268b881257089cf8cd6697ec}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+H\+E\+I\+G\+HT}} +\end{DoxyItemize}\hypertarget{docs_supported_consoles_autotoc_md124}{}\doxysubsection{Using $<$gbdk/...$>$ headers}\label{docs_supported_consoles_autotoc_md124} +Some include files under {\ttfamily $<$gbdk/..$>$} are cross platform and others allow the build process to auto-\/select the correct include file for the current target port and platform (console). + +For example, the following can be used \begin{DoxyVerb}#include <gbdk/platform.h> +#include <gbdk/metasprites.h> +\end{DoxyVerb} + + +Instead of \begin{DoxyVerb}#include <gb/gb.h> +#include <gb/metasprites.h> +\end{DoxyVerb} + + +and \begin{DoxyVerb}#include <sms/sms.h> +#include <sms/metasprites.h> +\end{DoxyVerb} + + +\label{docs_supported_consoles_docs_consoles_cross_platform_examples}% +\Hypertarget{docs_supported_consoles_docs_consoles_cross_platform_examples}% +\hypertarget{docs_supported_consoles_autotoc_md125}{}\doxysubsection{Cross Platform Example Projects}\label{docs_supported_consoles_autotoc_md125} +G\+B\+DK includes an number of cross platform example projects. These projects show how to write code that can be compiled and run on multiple different consoles (for example Game Boy and Game Gear) with, in some cases, minimal differences. + +They also show how to build for multiple target consoles with a single build command and {\ttfamily Makefile}. The {\ttfamily Makefile.\+targets} allows selecting different {\ttfamily port} and {\ttfamily plat} settings when calling the build stages.\hypertarget{docs_supported_consoles_autotoc_md126}{}\doxysubsubsection{Cross Platform Asset Example}\label{docs_supported_consoles_autotoc_md126} +The cross-\/platform {\ttfamily Logo} example project shows how assets can be managed for multiple different console targets together. + +In the example \mbox{\hyperlink{docs_toolchain_utility_png2asset}{utility\+\_\+png2asset}} is used to generate assets in the native format for each console at compile-\/time from separate source P\+NG images. The Makefile is set to use the source P\+NG folder which matches the current console being compiled, and the source code uses \mbox{\hyperlink{gb_8h_a68651e50243349b48164a8ad983dca4e}{set\+\_\+native\+\_\+tile\+\_\+data()}} to load the assets tiles in native format.\hypertarget{docs_supported_consoles_autotoc_md127}{}\doxysubsection{Porting From Game Boy to Analogue Pocket}\label{docs_supported_consoles_autotoc_md127} +The Analogue Pocket is (for practical purposes) functionally identical to the Game Boy / Color, but has a couple altered register flag and address definitions and a different boot logo. In order for software to be easily ported to the Analogue Pocket, or to run on both, use the following practices.\hypertarget{docs_supported_consoles_autotoc_md128}{}\doxysubsubsection{Registers and Flags}\label{docs_supported_consoles_autotoc_md128} +Use A\+PI defined registers and register flags instead of hardwired ones +\begin{DoxyItemize} +\item L\+C\+DC register\+: \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}} or \mbox{\hyperlink{gb_2hardware_8h_a8b576a1fe1473ac4aff8afecb28035cb}{r\+L\+C\+DC}} +\item S\+T\+AT register\+: \mbox{\hyperlink{gb_2hardware_8h_ad40ebf3b29add46cdd310a7e0802bc6b}{S\+T\+A\+T\+\_\+\+R\+EG}} or \mbox{\hyperlink{gb_2hardware_8h_a338ec378453b4457efdb3008978c0f28}{r\+S\+T\+AT}} +\item L\+C\+DC flags\+: -\/$>$ L\+C\+D\+C\+F\+\_\+... (example\+: \mbox{\hyperlink{gb_2hardware_8h_a1491fc03ed7f02e7309cc7b0c48b6c8a}{L\+C\+D\+C\+F\+\_\+\+ON}}) +\item S\+T\+AT flags\+: -\/$>$ S\+T\+A\+T\+F\+\_\+... (example\+: \mbox{\hyperlink{gb_2hardware_8h_a3b53105cc5be896b48794ba82d2aeb4c}{S\+T\+A\+T\+F\+\_\+\+L\+YC}}) +\end{DoxyItemize}\hypertarget{docs_supported_consoles_autotoc_md129}{}\doxysubsubsection{Boot logo}\label{docs_supported_consoles_autotoc_md129} +As long as the target console is \mbox{\hyperlink{docs_supported_consoles_docs_consoles_compiling}{set during build time}} then the correct boot logo will be automatically selected.\hypertarget{docs_supported_consoles_autotoc_md130}{}\doxysubsection{Porting From Game Boy to Mega Duck / Cougar Boy}\label{docs_supported_consoles_autotoc_md130} +The Mega Duck is fairly similar to the classic Game Boy. It has a couple altered register flag and address definitions, no boot logo and a different startup/entry-\/point address. In order for software to be easily ported to the Mega Duck, or to run on both, use the following practices.\hypertarget{docs_supported_consoles_autotoc_md131}{}\doxysubsubsection{Registers and Flags}\label{docs_supported_consoles_autotoc_md131} +Use A\+PI defined registers and register flags instead of hardwired ones +\begin{DoxyItemize} +\item L\+C\+DC register\+: \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}} or \mbox{\hyperlink{gb_2hardware_8h_a8b576a1fe1473ac4aff8afecb28035cb}{r\+L\+C\+DC}} +\item S\+T\+AT register\+: \mbox{\hyperlink{gb_2hardware_8h_ad40ebf3b29add46cdd310a7e0802bc6b}{S\+T\+A\+T\+\_\+\+R\+EG}} or \mbox{\hyperlink{gb_2hardware_8h_a338ec378453b4457efdb3008978c0f28}{r\+S\+T\+AT}} +\item L\+C\+DC flags\+: -\/$>$ L\+C\+D\+C\+F\+\_\+... (example\+: \mbox{\hyperlink{gb_2hardware_8h_a1491fc03ed7f02e7309cc7b0c48b6c8a}{L\+C\+D\+C\+F\+\_\+\+ON}}) +\item S\+T\+AT flags\+: -\/$>$ S\+T\+A\+T\+F\+\_\+... (example\+: \mbox{\hyperlink{gb_2hardware_8h_a3b53105cc5be896b48794ba82d2aeb4c}{S\+T\+A\+T\+F\+\_\+\+L\+YC}}) +\end{DoxyItemize}\hypertarget{docs_supported_consoles_autotoc_md132}{}\doxysubsection{Porting From Game Boy to S\+M\+S/\+GG}\label{docs_supported_consoles_autotoc_md132} +\hypertarget{docs_supported_consoles_autotoc_md133}{}\doxysubsubsection{Tile Data and Tile Map loading}\label{docs_supported_consoles_autotoc_md133} +\hypertarget{docs_supported_consoles_autotoc_md134}{}\doxyparagraph{Tile and Map Data in 2bpp Game Boy Format}\label{docs_supported_consoles_autotoc_md134} + +\begin{DoxyItemize} +\item \mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data()}} and \mbox{\hyperlink{gb_8h_ae45b1c639698951b47e44fa8e89556f2}{set\+\_\+sprite\+\_\+data()}} will load 2bpp tile data in \char`\"{}game boy\char`\"{} format on both GB and S\+M\+S/\+GG. +\item On the S\+M\+S/\+GG \mbox{\hyperlink{gb_8h_aa224c9bac27c7fd268e62bdf33338a84}{set\+\_\+2bpp\+\_\+palette()}} sets 4 colors that will be used when loading 2bpp assets with \mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data()}}. This allows GB assets to be easily colorized without changing the asset format. There is some performance penalty for using the conversion. +\item \mbox{\hyperlink{sms_8h_a9a732aec1b7aec7d10a9d76ca4da2064}{set\+\_\+bkg\+\_\+tiles()}} loads 1-\/byte-\/per-\/tile tilemaps both for the GB and S\+M\+S/\+GG +\end{DoxyItemize}\hypertarget{docs_supported_consoles_autotoc_md135}{}\doxyparagraph{Tile and Map Data in Native Format}\label{docs_supported_consoles_autotoc_md135} +Use the following api calls when assets are avaialble in the native format for each platform. + +\mbox{\hyperlink{gb_8h_a68651e50243349b48164a8ad983dca4e}{set\+\_\+native\+\_\+tile\+\_\+data()}} +\begin{DoxyItemize} +\item G\+B/\+AP\+: loads 2bpp tiles data +\item S\+M\+S/\+GG\+: loads 4bpp tile data +\end{DoxyItemize} + +\mbox{\hyperlink{gb_8h_a55f82ff980398dd97036fd936ebd727e}{set\+\_\+tile\+\_\+map()}} +\begin{DoxyItemize} +\item G\+B/\+AP\+: loads 1-\/byte-\/per-\/tile tilemaps +\item S\+M\+S/\+GG\+: loads 2-\/byte-\/per-\/tile tilemaps +\end{DoxyItemize} + +There are also bit-\/depth specific A\+PI calls\+: +\begin{DoxyItemize} +\item 1bpp\+: \mbox{\hyperlink{sms_8h_adcb394299a1033616fc7d2faec8bd6ad}{set\+\_\+1bpp\+\_\+colors}}, \mbox{\hyperlink{sms_8h_a4d5f74eed0489ebfdc2410ee3f9f7f04}{set\+\_\+bkg\+\_\+1bpp\+\_\+data}}, \mbox{\hyperlink{sms_8h_a2cc121fbeb5570248531b85a8f0b5b97}{set\+\_\+sprite\+\_\+1bpp\+\_\+data}} +\item 2bpp\+: \mbox{\hyperlink{sms_8h_aa224c9bac27c7fd268e62bdf33338a84}{set\+\_\+2bpp\+\_\+palette}}, \mbox{\hyperlink{sms_8h_aa7ba76e4d44dbf19da351fd1ea8e3023}{set\+\_\+bkg\+\_\+2bpp\+\_\+data}}, \mbox{\hyperlink{sms_8h_a10ee2919fcab7a5c482816ed718d1c4a}{set\+\_\+sprite\+\_\+2bpp\+\_\+data}}, \mbox{\hyperlink{sms_8h_ab752b1bb0f58da2a6d52e9747c4b3dd8}{set\+\_\+tile\+\_\+2bpp\+\_\+data}} (sms/gg only) +\item 2bpp\+: \mbox{\hyperlink{sms_8h_aeff13dca11be49e8c159820c616016ec}{set\+\_\+bkg\+\_\+4bpp\+\_\+data}} (sms/gg only), \mbox{\hyperlink{sms_8h_a24f53cfe7e25c04fbb5dcb08cfb3b432}{set\+\_\+sprite\+\_\+4bpp\+\_\+data}} (sms/gg only) +\end{DoxyItemize}\hypertarget{docs_supported_consoles_autotoc_md136}{}\doxyparagraph{Emulated Game Boy Color map attributes on the S\+M\+S/\+Game Gear}\label{docs_supported_consoles_autotoc_md136} +On the Game Boy Color, \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}} is used to select between the regular background tile map and the background attribute tile map (for setting tile color palette and other properties). + +This behavior is emulated for the S\+M\+S/\+GG when using \mbox{\hyperlink{sms_8h_a9a732aec1b7aec7d10a9d76ca4da2064}{set\+\_\+bkg\+\_\+tiles()}} and \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}}. It allows writing a 1-\/byte tile map separately from a 1-\/byte attributes map. + +\begin{DoxyNote}{Note} +Tile map attributes on S\+M\+S/\+Game Gear use different control bits than the Game Boy Color, so a modified attribute map must be used. +\end{DoxyNote} +\hypertarget{docs_supported_consoles_autotoc_md137}{}\doxysubsection{Hardware Comparison}\label{docs_supported_consoles_autotoc_md137} +The specs below reflect the typical configuration of hardware when used with G\+B\+DK and is not meant as a complete list of their capabilities. + +G\+B/\+AP +\begin{DoxyItemize} +\item Sprites\+: +\begin{DoxyItemize} +\item 256 tiles (upper 128 are shared with background) (amount is doubled in C\+GB mode) +\item tile flipping/mirroring\+: yes +\item 40 total, max 10 per line +\item 2 x 4 color palette (color 0 transparent). 8 x 4 color palettes in C\+GB mode +\end{DoxyItemize} +\item Background\+: 256 tiles (typical setup\+: upper 128 are shared with sprites) (amount is doubled in C\+GB mode) +\begin{DoxyItemize} +\item tile flipping/mirroring\+: no (yes in C\+GB mode) +\item 1 x 4 color palette. 8 x 4 color palettes in C\+GB mode +\end{DoxyItemize} +\item Window \char`\"{}layer\char`\"{}\+: available +\item Screen\+: 160 x 144 +\item Hardware Map\+: 256 x 256 +\end{DoxyItemize} + +S\+M\+S/\+GG +\begin{DoxyItemize} +\item Sprites\+: +\begin{DoxyItemize} +\item 256 tiles (a bit less in the default setup) +\item tile flipping/mirroring\+: no +\item 64 total, max 8 per line +\item 1 x 16 color palette (color 0 transparent) +\end{DoxyItemize} +\item Background\+: 512 tiles (upper 256 are shared with sprites) +\begin{DoxyItemize} +\item tile flipping/mirroring\+: yes +\item 2 x 16 color palettes +\end{DoxyItemize} +\item Window \char`\"{}layer\char`\"{}\+: not available +\item S\+MS +\begin{DoxyItemize} +\item Screen\+: 256 x 192 +\item Hardware Map\+: 256 x 224 +\end{DoxyItemize} +\item GG +\begin{DoxyItemize} +\item Screen\+: 160 x 144 +\item Hardware Map\+: 256 x 224 +\end{DoxyItemize} +\end{DoxyItemize} + +\label{docs_supported_consoles_docs_consoles_safe_display_controller_access}% +\Hypertarget{docs_supported_consoles_docs_consoles_safe_display_controller_access}% +\hypertarget{docs_supported_consoles_autotoc_md138}{}\doxysubsubsection{Safe V\+R\+A\+M / Display Controller Access}\label{docs_supported_consoles_autotoc_md138} +G\+B/\+AP +\begin{DoxyItemize} +\item V\+R\+AM / Display Controller (P\+PU) +\begin{DoxyItemize} +\item V\+R\+AM and some other display data / registers should only be written to when the \mbox{\hyperlink{gb_2hardware_8h_a3b0bf7449b517b3cda2a89428db6deb9}{S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+B\+U\+SY}} bit of \mbox{\hyperlink{gb_2hardware_8h_ad40ebf3b29add46cdd310a7e0802bc6b}{S\+T\+A\+T\+\_\+\+R\+EG}} is off. Most G\+B\+DK A\+PI calls manage this automatically. +\end{DoxyItemize} +\end{DoxyItemize} + +S\+M\+S/\+GG +\begin{DoxyItemize} +\item Display Controller (V\+DP) +\begin{DoxyItemize} +\item Writing to the V\+DP should not be interrupted while an operation is already in progress (since that will interfere with the internal data pointer causing data to be written to the wrong location). +\item Recommended approach\+: Avoid writing to the V\+DP (tiles, map, scrolling, colors, etc) during an interrupt routine (I\+SR). +\item Alternative (requires careful implementation)\+: Make sure writes to the V\+DP during an I\+SR are only performed when the \mbox{\hyperlink{sms_8h_a388d1dff2698172ba8574e43f5c77c93}{\+\_\+shadow\+\_\+\+O\+A\+M\+\_\+\+O\+FF}} flag indicates it is safe to do so. +\end{DoxyItemize} +\end{DoxyItemize} + diff --git a/docs/latex/docs_toolchain.tex b/docs/latex/docs_toolchain.tex @@ -0,0 +1,310 @@ +\label{docs_toolchain_toolchain_overview}% +\Hypertarget{docs_toolchain_toolchain_overview}% +\hypertarget{docs_toolchain_autotoc_md95}{}\doxysubsection{Overview}\label{docs_toolchain_autotoc_md95} +G\+B\+DK 2020 uses the S\+D\+CC compiler along with some custom tools to build Game Boy R\+O\+Ms. +\begin{DoxyItemize} +\item All tools are located under {\ttfamily bin/} +\item The typical order of tools called is as follows. (When using lcc these steps are usually performed automatically.) +\begin{DoxyEnumerate} +\item Compile and assemble source files (.c, .s, .asm) with \mbox{\hyperlink{docs_toolchain_sdcc}{sdcc}} and \mbox{\hyperlink{docs_toolchain_sdasgb}{sdasgb}} +\item Optional\+: perform auto banking with \mbox{\hyperlink{docs_toolchain_bankpack}{bankpack}} on the object files +\item Link the object files into .ihx file with \mbox{\hyperlink{docs_toolchain_sdldgb}{sdldgb}} +\item Validate the .ihx file with \mbox{\hyperlink{docs_toolchain_ihxcheck}{ihxcheck}} +\item Convert the .ihx file to a R\+OM file (.gb, .gbc) with \mbox{\hyperlink{docs_toolchain_makebin}{makebin}} +\end{DoxyEnumerate} +\end{DoxyItemize} + +To see individual arguments and options for a tool, run that tool from the command line with either no arguments or with {\ttfamily -\/h}.\hypertarget{docs_toolchain_autotoc_md96}{}\doxysubsection{Data Types}\label{docs_toolchain_autotoc_md96} +For data types and special C keywords, see \mbox{\hyperlink{asm_2gbz80_2types_8h_file_asm_gbz80_types_h}{asm/gbz80/types.h}} and \mbox{\hyperlink{asm_2types_8h_file_asm_types_h}{asm/types.h}}. + +Also see the S\+D\+CC manual (scroll down a little on the linked page)\+: \href{http://sdcc.sourceforge.net/doc/sdccman.pdf\#section.1.1}{\texttt{ http\+://sdcc.\+sourceforge.\+net/doc/sdccman.\+pdf\#section.\+1.\+1}} + +\label{docs_toolchain_toolchain_changing_important_addresses}% +\Hypertarget{docs_toolchain_toolchain_changing_important_addresses}% + \hypertarget{docs_toolchain_autotoc_md97}{}\doxysubsection{Changing Important Addresses}\label{docs_toolchain_autotoc_md97} +It is possible to change some of the important addresses used by the toolchain at link time using the -\/Wl-\/g X\+XX=Y\+YY and =Wl-\/b X\+XX=Y\+YY flags (where X\+XX is the name of the data, and Y\+YY is the new address). + +\mbox{\hyperlink{docs_toolchain_lcc}{lcc}} will include the following linker defaults for \mbox{\hyperlink{docs_toolchain_sdldgb}{sdldgb}} if they are not defined by the user. + + +\begin{DoxyItemize} +\item {\ttfamily \+\_\+shadow\+\_\+\+O\+AM} +\begin{DoxyItemize} +\item Location of sprite ram (requires 0x\+A0 bytes). +\item Default {\ttfamily -\/Wl-\/g \+\_\+shadow\+\_\+\+O\+AM=0x\+C000} +\end{DoxyItemize} +\item {\ttfamily .S\+T\+A\+CK} +\begin{DoxyItemize} +\item Initial stack address +\item Default {\ttfamily -\/Wl-\/g .S\+T\+A\+CK=0x\+E000} +\end{DoxyItemize} +\item {\ttfamily .refresh\+\_\+\+O\+AM} +\begin{DoxyItemize} +\item Address to which the routine for refreshing O\+AM will be copied (must be in H\+I\+R\+AM). Default +\item Default {\ttfamily -\/Wl-\/g .refresh\+\_\+\+O\+AM=0x\+F\+F80} +\end{DoxyItemize} +\item {\ttfamily \+\_\+\+D\+A\+TA} +\begin{DoxyItemize} +\item Start of R\+AM section (starts after Shadow O\+AM) +\item Default {\ttfamily -\/Wl-\/b \+\_\+\+D\+A\+TA=0xc0\+A0} +\end{DoxyItemize} +\item {\ttfamily \+\_\+\+C\+O\+DE} +\begin{DoxyItemize} +\item Start of R\+OM section +\item Default {\ttfamily -\/Wl-\/b \+\_\+\+C\+O\+DE=0x0200} +\end{DoxyItemize} +\end{DoxyItemize} + +\label{docs_toolchain_toolchain_compiling_programs}% +\Hypertarget{docs_toolchain_toolchain_compiling_programs}% +\hypertarget{docs_toolchain_autotoc_md98}{}\doxysubsection{Compiling programs}\label{docs_toolchain_autotoc_md98} +The \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} program is the front end compiler driver for the actual compiler, assembler and linker. It works out what you want to do based on command line options and the extensions of the files you give it, computes the order in which the various programs must be called and then executes them in order. Some examples are\+: + + +\begin{DoxyItemize} +\item Compile the C source \textquotesingle{}source.\+c\textquotesingle{}, assemble and link it producing the Gameboy image \textquotesingle{}image.\+gb\textquotesingle{} \begin{DoxyVerb}lcc -o image.gb source.c +\end{DoxyVerb} + +\item Assemble the file \textquotesingle{}source.\+s\textquotesingle{} and link it producing the Gameboy image \textquotesingle{}image.\+gb\textquotesingle{} \begin{DoxyVerb}lcc -o image.gb source.s +\end{DoxyVerb} + +\item Compile the C program \textquotesingle{}source1.\+c\textquotesingle{} and assemble it producing the object file \textquotesingle{}object1.\+o\textquotesingle{} for later linking. \begin{DoxyVerb}lcc -c -o object1.o source1.c +\end{DoxyVerb} + +\item Assemble the file \textquotesingle{}source2.\+s\textquotesingle{} producing the object file \textquotesingle{}object2.\+o\textquotesingle{} for later linking \begin{DoxyVerb}lcc -c -o object2.o source2.s +\end{DoxyVerb} + +\item Link the two object files \textquotesingle{}object1.\+o\textquotesingle{} and \textquotesingle{}object2.\+o\textquotesingle{} and produce the Gameboy image \textquotesingle{}image.\+gb\textquotesingle{} \begin{DoxyVerb}lcc -o image.gb object1.o object2.o +\end{DoxyVerb} + +\item Do all sorts of clever stuff by compiling then assembling source1.\+c, assembling source2.\+s and then linking them together to produce image.\+gb. \begin{DoxyVerb}lcc -o image.gb source1.c source2.s +\end{DoxyVerb} + +\end{DoxyItemize} + +Arguments to the assembler etc can be passed via lcc using -\/Wp..., -\/Wf..., -\/Wa... and -\/Wl... to pass options to the pre-\/processor, compiler, assembler and linker respectivly. Some common options are\+: + + +\begin{DoxyItemize} +\item To generate an assembler listing file. \begin{DoxyVerb}-Wa-l +\end{DoxyVerb} + +\item To generate a linker map file. \begin{DoxyVerb}-Wl-m +\end{DoxyVerb} + +\item To bind var to address \textquotesingle{}addr\textquotesingle{} at link time. \begin{DoxyVerb}-Wl-gvar=addr +\end{DoxyVerb} + +\end{DoxyItemize} + +For example, to compile the example in the memory section and to generate a listing and map file you would use the following. Note the leading underscore that C adds to symbol names. \begin{DoxyVerb}lcc -Wa-l -Wl-m -Wl-g_snd_stat=0xff26 -o image.gb hardware.c +\end{DoxyVerb} +\hypertarget{docs_toolchain_Makefiles}{}\doxysubsubsection{Makefiles}\label{docs_toolchain_Makefiles} +Using Makefiles + +Please see the sample projects included with G\+B\+D\+K-\/2020 for a couple different examples of how to use Makefiles. + +You may also want to read a tutorial on Makefiles. For example\+: ~\newline + \href{https://makefiletutorial.com/}{\texttt{ https\+://makefiletutorial.\+com/}} \href{https://www.tutorialspoint.com/makefile/index.htm}{\texttt{ https\+://www.\+tutorialspoint.\+com/makefile/index.\+htm}} + +\label{docs_toolchain_build_tools}% +\Hypertarget{docs_toolchain_build_tools}% +\hypertarget{docs_toolchain_autotoc_md99}{}\doxysubsection{Build Tools}\label{docs_toolchain_autotoc_md99} +\label{docs_toolchain_lcc}% +\Hypertarget{docs_toolchain_lcc}% +\hypertarget{docs_toolchain_autotoc_md100}{}\doxysubsubsection{lcc}\label{docs_toolchain_autotoc_md100} +lcc is the compiler driver (front end) for the G\+B\+D\+K/sdcc toolchain. + +For detailed settings see \mbox{\hyperlink{docs_toolchain_settings_lcc-settings}{lcc-\/settings}} + +It can be used to invoke all the tools needed for building a rom. If preferred, the individual tools can be called directly. +\begin{DoxyItemize} +\item the {\ttfamily -\/v} flag can be used to show the exact steps lcc executes for a build +\item lcc can compile, link and generate a binary in a single pass\+: {\ttfamily lcc -\/o somerom.\+gb somesource.\+c} +\item \label{docs_toolchain_lcc_debug}% +\Hypertarget{docs_toolchain_lcc_debug}% + lcc now has a {\ttfamily -\/debug} flag that will turn on the following recommended flags for debugging +\begin{DoxyItemize} +\item {\ttfamily -\/-\/debug} for sdcc (lcc equiv\+: {\ttfamily -\/Wf-\/debug}) +\item {\ttfamily -\/y} enables .cdb output for \mbox{\hyperlink{docs_toolchain_sdldgb}{sdldgb}} (lcc equiv\+: {\ttfamily -\/Wl-\/y}) +\item {\ttfamily -\/j} enables .noi output for \mbox{\hyperlink{docs_toolchain_sdldgb}{sdldgb}} (lcc equiv\+: {\ttfamily -\/Wl-\/j}) +\end{DoxyItemize} +\end{DoxyItemize} + +\label{docs_toolchain_sdcc}% +\Hypertarget{docs_toolchain_sdcc}% +\hypertarget{docs_toolchain_autotoc_md101}{}\doxysubsubsection{sdcc}\label{docs_toolchain_autotoc_md101} +S\+D\+CC C Source compiler + +For detailed settings see \mbox{\hyperlink{docs_toolchain_settings_sdcc-settings}{sdcc-\/settings}} + + +\begin{DoxyItemize} +\item Arguments can be passed to it through \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} using {\ttfamily -\/Wf-\/$<$argument$>$} and {\ttfamily -\/Wp-\/$<$argument$>$} (pre-\/processor) +\end{DoxyItemize} + +\label{docs_toolchain_sdasgb}% +\Hypertarget{docs_toolchain_sdasgb}% +\hypertarget{docs_toolchain_autotoc_md102}{}\doxysubsubsection{sdasgb}\label{docs_toolchain_autotoc_md102} +S\+D\+CC Assembler for the gameboy + +For detailed settings see \mbox{\hyperlink{docs_toolchain_settings_sdasgb-settings}{sdasgb-\/settings}} + + +\begin{DoxyItemize} +\item Arguments can be passed to it through \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} using {\ttfamily -\/Wa-\/$<$argument$>$} +\end{DoxyItemize} + +\label{docs_toolchain_bankpack}% +\Hypertarget{docs_toolchain_bankpack}% +\hypertarget{docs_toolchain_autotoc_md103}{}\doxysubsubsection{bankpack}\label{docs_toolchain_autotoc_md103} +Automatic Bank packer + +For detailed settings see \mbox{\hyperlink{docs_toolchain_settings_bankpack-settings}{bankpack-\/settings}} + +When enabled, automatically assigns banks for object files where bank has been set to {\ttfamily 255}, see \mbox{\hyperlink{docs_rombanking_mbcs_rom_autobanking}{rom\+\_\+autobanking}}. Unless an alternative output is specified the given object files are updated with the new bank numbers. +\begin{DoxyItemize} +\item Can be enabled by using the {\ttfamily -\/autobank} argument with \mbox{\hyperlink{docs_toolchain_lcc}{lcc}}. +\item Must be called after compiling/assembling and before linking +\item Arguments can be passed to it through \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} using {\ttfamily -\/Wb-\/$<$argument$>$} +\end{DoxyItemize} + +\label{docs_toolchain_sdldgb}% +\Hypertarget{docs_toolchain_sdldgb}% +\hypertarget{docs_toolchain_autotoc_md104}{}\doxysubsubsection{sdldgb}\label{docs_toolchain_autotoc_md104} +The S\+D\+CC linker for the gameboy. + +For detailed settings see \mbox{\hyperlink{docs_toolchain_settings_sdldgb-settings}{sdldgb-\/settings}} + +Links object files (.o) into a .ihx file which can be processed by \mbox{\hyperlink{docs_toolchain_makebin}{makebin}} +\begin{DoxyItemize} +\item Arguments can be passed to it through \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} using {\ttfamily -\/Wl-\/$<$argument$>$} +\end{DoxyItemize} + +\label{docs_toolchain_ihxcheck}% +\Hypertarget{docs_toolchain_ihxcheck}% +\hypertarget{docs_toolchain_autotoc_md105}{}\doxysubsubsection{ihxcheck}\label{docs_toolchain_autotoc_md105} +I\+HX file validator + +For detailed settings see \mbox{\hyperlink{docs_toolchain_settings_ihxcheck-settings}{ihxcheck-\/settings}} + +Checks .ihx files produced by \mbox{\hyperlink{docs_toolchain_sdldgb}{sdldgb}} for correctness. +\begin{DoxyItemize} +\item It will warn if there are multiple writes to the same R\+OM address. This may indicate mistakes in the code or R\+OM bank overflows +\item Arguments can be passed to it through \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} using {\ttfamily -\/Wi-\/$<$argument$>$} +\end{DoxyItemize} + +\label{docs_toolchain_makebin}% +\Hypertarget{docs_toolchain_makebin}% +\hypertarget{docs_toolchain_autotoc_md106}{}\doxysubsubsection{makebin}\label{docs_toolchain_autotoc_md106} +I\+HX to R\+OM converter + + +\begin{DoxyItemize} +\item For detailed settings see \mbox{\hyperlink{docs_toolchain_settings_makebin-settings}{makebin-\/settings}} +\item For makebin {\ttfamily -\/yt} M\+BC values see \mbox{\hyperlink{docs_rombanking_mbcs_setting_mbc_and_rom_ram_banks}{setting\+\_\+mbc\+\_\+and\+\_\+rom\+\_\+ram\+\_\+banks}} +\end{DoxyItemize} + +Converts .ihx files produced by \mbox{\hyperlink{docs_toolchain_sdldgb}{sdldgb}} into R\+OM files (.gb, .gbc). Also used for setting some R\+OM header data. +\begin{DoxyItemize} +\item Arguments can be passed to it through \mbox{\hyperlink{docs_toolchain_lcc}{lcc}} using {\ttfamily -\/Wm-\/$<$argument$>$} +\end{DoxyItemize} + +\label{docs_toolchain_gbdk_utilities}% +\Hypertarget{docs_toolchain_gbdk_utilities}% +\hypertarget{docs_toolchain_autotoc_md107}{}\doxysubsection{G\+B\+D\+K Utilities}\label{docs_toolchain_autotoc_md107} +\label{docs_toolchain_utility_gbcompress}% +\Hypertarget{docs_toolchain_utility_gbcompress}% +\hypertarget{docs_toolchain_autotoc_md108}{}\doxysubsubsection{G\+B\+Compress}\label{docs_toolchain_autotoc_md108} +Compresssion utility + +For detailed settings see \mbox{\hyperlink{docs_toolchain_settings_gbcompress-settings}{gbcompress-\/settings}} + +Compresses (and decompresses) binary file data with the gbcompress algorithm (also used in G\+B\+T\+D/\+G\+B\+MB). Decompression support is available in G\+B\+DK, see \mbox{\hyperlink{gb_2gbdecompress_8h_a3370eefd9a88fdefed71eeb92e6861f2}{gb\+\_\+decompress()}}. + +Can also compress (and decompress) using block style rle encoding with the {\ttfamily -\/-\/alg=rle} flag. Decompression support is available in G\+B\+DK, see \mbox{\hyperlink{rledecompress_8h_ad60bf95ddad142d8d81e5e1f0a0bb6e0}{rle\+\_\+decompress()}}. + +\label{docs_toolchain_utility_png2asset}% +\Hypertarget{docs_toolchain_utility_png2asset}% +\hypertarget{docs_toolchain_autotoc_md109}{}\doxysubsubsection{png2asset}\label{docs_toolchain_autotoc_md109} +Tool for converting P\+N\+Gs into G\+B\+DK format Meta\+Sprites and Tile Maps + + +\begin{DoxyItemize} +\item Convert single or multiple frames of graphics into metasprite structured data for use with the ...metasprite...() functions. +\item When {\ttfamily -\/map} is used, converts images into Tile Maps and matching Tile Sets +\item Supports Game Boy 2bpp, G\+BC 4bpp, S\+GB 4bpp, and S\+M\+S/\+GG 4bpp +\end{DoxyItemize} + +For detailed settings see \mbox{\hyperlink{docs_toolchain_settings_png2asset-settings}{png2asset-\/settings}} ~\newline + For working with sprite properties (including cgb palettes), see \mbox{\hyperlink{gb_2metasprites_8h_metasprite_and_sprite_properties}{metasprite\+\_\+and\+\_\+sprite\+\_\+properties}} ~\newline + For A\+PI support see \mbox{\hyperlink{gb_2metasprites_8h_a77475e913bf0a19df28bdbf9d1cf392b}{move\+\_\+metasprite()}} and related functions in \mbox{\hyperlink{sms_2metasprites_8h}{metasprites.\+h}} ~\newline +\hypertarget{docs_toolchain_autotoc_md110}{}\doxyparagraph{Working with png2asset}\label{docs_toolchain_autotoc_md110} + +\begin{DoxyItemize} +\item The origin (pivot) for the metasprite is not required to be in the upper left-\/hand corner as with regular hardware sprites. See {\ttfamily -\/px} and {\ttfamily -\/py}. +\item The conversion process supports using both S\+P\+R\+I\+T\+E\+S\+\_\+8x8 ({\ttfamily -\/spr8x8}) and S\+P\+R\+I\+T\+E\+S\+\_\+8x16 mode ({\ttfamily -\/spr8x16}). If 8x16 mode is used then the height of the metasprite must be a multiple of 16. +\end{DoxyItemize}\hypertarget{docs_toolchain_autotoc_md111}{}\doxysubparagraph{Terminology}\label{docs_toolchain_autotoc_md111} +The following abbreviations are used in this section\+: +\begin{DoxyItemize} +\item Original Game Boy and Game Boy Pocket style hardware\+: {\ttfamily D\+MG} +\item Game Boy Color\+: {\ttfamily C\+GB} +\end{DoxyItemize}\hypertarget{docs_toolchain_autotoc_md112}{}\doxysubparagraph{Conversion Process}\label{docs_toolchain_autotoc_md112} +png2asset accepts any png as input, although that does not mean any image will be valid. The program will follow the next steps\+: +\begin{DoxyItemize} +\item The image will be subdivided into tiles of 8x8 or 8x16 +\item For each tile a palette will be generated +\item If there are more than 4 colors in the palette it will throw an error +\item The palette will be sorted from darkest to lightest. If there is a transparent color that will be the first one (this will create a palette that will also work with {\ttfamily D\+MG} devices) +\item If there are more than 8 palettes the program will throw an error +\end{DoxyItemize} + +With all this, the program will generate a new indexed image (with palette), where each 4 colors define a palette and all colors within a tile can only have colors from one of these palettes + +It is also posible to pass a indexed 8-\/bit png with the palette properly sorted out, using {\ttfamily -\/keep\+\_\+palette\+\_\+order} +\begin{DoxyItemize} +\item Palettes will be extracted from the image palette in groups of 4 colors. +\item Each tile can only have colors from one of these palettes per tile +\item The maximum number of colors is 32 +\end{DoxyItemize} + +Using this image a tileset will be created +\begin{DoxyItemize} +\item Duplicated tiles will be removed +\item Tiles will be matched without mirror, using vertical mirror, horizontal mirror or both (use {\ttfamily -\/noflip} to turn off matching mirrored tiles) +\item The palette won\textquotesingle{}t be taken into account for matching, only the pixel color order, meaning there will be a match between tiles using different palettes but looking identical on grayscale +\end{DoxyItemize}\hypertarget{docs_toolchain_autotoc_md113}{}\doxysubparagraph{Maps}\label{docs_toolchain_autotoc_md113} +Passing {\ttfamily -\/map} the png can be converted to a map that can be used in both the background and the window. In this case, png2asset will generate\+: +\begin{DoxyItemize} +\item The palettes +\item The tileset +\item The map +\item The color info +\begin{DoxyItemize} +\item By default, an array of palette index for each tile. This is not the way the hardware works but it takes less space and will create maps compatibles with both {\ttfamily D\+MG} and {\ttfamily C\+GB} devices. +\item Passing {\ttfamily -\/use\+\_\+map\+\_\+attributes} will create an array of map attributes. It will also add mirroring info for each tile and because of that maps created with this won\textquotesingle{}t be compatible with. +\begin{DoxyItemize} +\item Use {\ttfamily -\/noflip} to make background maps which are compatible with {\ttfamily D\+MG} devices. +\end{DoxyItemize} +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_toolchain_autotoc_md114}{}\doxysubparagraph{Meta sprites}\label{docs_toolchain_autotoc_md114} +By default the png will be converted to metasprites. The image will be subdivided into meta sprites of {\ttfamily -\/sw} x {\ttfamily -\/sh}. In this case png2asset will generate\+: +\begin{DoxyItemize} +\item The metasprites, containing an array of\+: +\begin{DoxyItemize} +\item tile index +\item y offset +\item x offset +\item flags, containing the mirror info, the palettes for both D\+MG and G\+BC and the sprite priority +\end{DoxyItemize} +\item The metasprites array +\end{DoxyItemize}\hypertarget{docs_toolchain_autotoc_md115}{}\doxysubparagraph{Super Game Boy Borders (\+S\+G\+B)}\label{docs_toolchain_autotoc_md115} +Screen border assets for the Super Game Boy can be generated using png2asset. + +The following flags should be used to perform the conversion\+: +\begin{DoxyItemize} +\item {\ttfamily $<$input\+\_\+border\+\_\+file.\+png$>$ -\/map -\/bpp 4 -\/max\+\_\+palettes 4 -\/pack\+\_\+mode sgb -\/use\+\_\+map\+\_\+attributes -\/c $<$output\+\_\+border\+\_\+data.\+c$>$} +\item Where {\ttfamily $<$input\+\_\+border\+\_\+file.\+png$>$} is the image of the S\+GB border (256x224) and {\ttfamily $<$output\+\_\+border\+\_\+data.\+c$>$} is the name of the source file to write the assets out to. +\end{DoxyItemize} + +See the {\ttfamily sgb\+\_\+border} example project for more details. + diff --git a/docs/latex/docs_toolchain_settings.tex b/docs/latex/docs_toolchain_settings.tex @@ -0,0 +1,500 @@ +\label{docs_toolchain_settings_lcc-settings}% +\Hypertarget{docs_toolchain_settings_lcc-settings}% +\hypertarget{docs_toolchain_settings_autotoc_md206}{}\doxysubsection{lcc settings}\label{docs_toolchain_settings_autotoc_md206} + +\begin{DoxyCode}{0} +\DoxyCodeLine{./lcc [ option | file ]...} +\DoxyCodeLine{ except for -\/l, options are processed left-\/to-\/right before files} +\DoxyCodeLine{ unrecognized options are taken to be linker options} +\DoxyCodeLine{-\/A warn about nonANSI usage; 2nd -\/A warns more} +\DoxyCodeLine{-\/b emit expression-\/level profiling code; see bprint(1)} +\DoxyCodeLine{-\/Bdir/ use the compiler named `dir/rcc'} +\DoxyCodeLine{-\/c compile only} +\DoxyCodeLine{-\/dn set switch statement density to `n'} +\DoxyCodeLine{-\/debug Turns on -\/-\/debug for compiler, -\/y (.cdb) and -\/j (.noi) for linker} +\DoxyCodeLine{-\/Dname -\/Dname=def define the preprocessor symbol `name'} +\DoxyCodeLine{-\/E run only the preprocessor on the named C programs and unsuffixed files} +\DoxyCodeLine{-\/g produce symbol table information for debuggers} +\DoxyCodeLine{-\/help or -\/? print this message} +\DoxyCodeLine{-\/Idir add `dir' to the beginning of the list of \#include directories} +\DoxyCodeLine{-\/K don't run ihxcheck test on linker ihx output} +\DoxyCodeLine{-\/lx search library `x'} +\DoxyCodeLine{-\/m select port and platform: "{}-\/m[port]:[plat]"{} ports:gbz80,z80 plats:ap,duck,gb,sms,gg} +\DoxyCodeLine{-\/N do not search the standard directories for \#include files} +\DoxyCodeLine{-\/n emit code to check for dereferencing zero pointers} +\DoxyCodeLine{-\/no-\/crt do not auto-\/include the gbdk crt0.o runtime in linker list} +\DoxyCodeLine{-\/no-\/libs do not auto-\/include the gbdk libs in linker list} +\DoxyCodeLine{-\/O is ignored} +\DoxyCodeLine{-\/o file leave the output in `file'} +\DoxyCodeLine{-\/P print ANSI-\/style declarations for globals} +\DoxyCodeLine{-\/p -\/pg emit profiling code; see prof(1) and gprof(1)} +\DoxyCodeLine{-\/S compile to assembly language} +\DoxyCodeLine{-\/autobank auto-\/assign banks set to 255 (bankpack)} +\DoxyCodeLine{-\/static specify static libraries (default is dynamic)} +\DoxyCodeLine{-\/t -\/tname emit function tracing calls to printf or to `name'} +\DoxyCodeLine{-\/target name is ignored} +\DoxyCodeLine{-\/tempdir=dir place temporary files in `dir/'; default=/tmp} +\DoxyCodeLine{-\/Uname undefine the preprocessor symbol `name'} +\DoxyCodeLine{-\/v show commands as they are executed; 2nd -\/v suppresses execution} +\DoxyCodeLine{-\/w suppress warnings} +\DoxyCodeLine{-\/Woarg specify system-\/specific `arg'} +\DoxyCodeLine{-\/W[pfablim]arg pass `arg' to the preprocessor, compiler, assembler, bankpack, linker, ihxcheck, or makebin} +\end{DoxyCode} + + +\label{docs_toolchain_settings_sdcc-settings}% +\Hypertarget{docs_toolchain_settings_sdcc-settings}% +\hypertarget{docs_toolchain_settings_autotoc_md207}{}\doxysubsection{sdcc settings}\label{docs_toolchain_settings_autotoc_md207} + +\begin{DoxyCode}{0} +\DoxyCodeLine{SDCC : z80/gbz80 4.1.6 \#12539 (Linux)} +\DoxyCodeLine{published under GNU General Public License (GPL)} +\DoxyCodeLine{Usage : sdcc [options] filename} +\DoxyCodeLine{Options :-\/} +\DoxyCodeLine{} +\DoxyCodeLine{General options:} +\DoxyCodeLine{ -\/-\/help Display this help} +\DoxyCodeLine{ -\/v -\/-\/version Display sdcc's version} +\DoxyCodeLine{ -\/-\/verbose Trace calls to the preprocessor, assembler, and linker} +\DoxyCodeLine{ -\/V Execute verbosely. Show sub commands as they are run} +\DoxyCodeLine{ -\/d Output list of macro definitions in effect. Use with -\/E} +\DoxyCodeLine{ -\/D Define macro as in -\/Dmacro} +\DoxyCodeLine{ -\/I Add to the include (*.h) path, as in -\/Ipath} +\DoxyCodeLine{ -\/A } +\DoxyCodeLine{ -\/U Undefine macro as in -\/Umacro} +\DoxyCodeLine{ -\/M Preprocessor option} +\DoxyCodeLine{ -\/W Pass through options to the pre-\/processor (p), assembler (a) or linker (l)} +\DoxyCodeLine{ -\/S Compile only; do not assemble or link} +\DoxyCodeLine{ -\/c -\/-\/compile-\/only Compile and assemble, but do not link} +\DoxyCodeLine{ -\/E -\/-\/preprocessonly Preprocess only, do not compile} +\DoxyCodeLine{ -\/-\/c1mode Act in c1 mode. The standard input is preprocessed code, the output is assembly code.} +\DoxyCodeLine{ -\/o Place the output into the given path resp. file} +\DoxyCodeLine{ -\/x Optional file type override (c, c-\/header or none), valid until the next -\/x} +\DoxyCodeLine{ -\/-\/print-\/search-\/dirs display the directories in the compiler's search path} +\DoxyCodeLine{ -\/-\/vc messages are compatible with Micro\$oft visual studio} +\DoxyCodeLine{ -\/-\/use-\/stdout send errors to stdout instead of stderr} +\DoxyCodeLine{ -\/-\/nostdlib Do not include the standard library directory in the search path} +\DoxyCodeLine{ -\/-\/nostdinc Do not include the standard include directory in the search path} +\DoxyCodeLine{ -\/-\/less-\/pedantic Disable some of the more pedantic warnings} +\DoxyCodeLine{ -\/-\/disable-\/warning <nnnn> Disable specific warning} +\DoxyCodeLine{ -\/-\/Werror Treat the warnings as errors} +\DoxyCodeLine{ -\/-\/debug Enable debugging symbol output} +\DoxyCodeLine{ -\/-\/cyclomatic Display complexity of compiled functions} +\DoxyCodeLine{ -\/-\/std-\/c89 Use ISO C90 (aka ANSI C89) standard (slightly incomplete)} +\DoxyCodeLine{ -\/-\/std-\/sdcc89 Use ISO C90 (aka ANSI C89) standard with SDCC extensions} +\DoxyCodeLine{ -\/-\/std-\/c95 Use ISO C95 (aka ISO C94) standard (slightly incomplete)} +\DoxyCodeLine{ -\/-\/std-\/c99 Use ISO C99 standard (incomplete)} +\DoxyCodeLine{ -\/-\/std-\/sdcc99 Use ISO C99 standard with SDCC extensions} +\DoxyCodeLine{ -\/-\/std-\/c11 Use ISO C11 standard (incomplete)} +\DoxyCodeLine{ -\/-\/std-\/sdcc11 Use ISO C11 standard with SDCC extensions (default)} +\DoxyCodeLine{ -\/-\/std-\/c2x Use ISO C2X standard (incomplete)} +\DoxyCodeLine{ -\/-\/std-\/sdcc2x Use ISO C2X standard with SDCC extensions} +\DoxyCodeLine{ -\/-\/fdollars-\/in-\/identifiers Permit '\$' as an identifier character} +\DoxyCodeLine{ -\/-\/fsigned-\/char Make "{}char"{} signed by default} +\DoxyCodeLine{ -\/-\/use-\/non-\/free Search / include non-\/free licensed libraries and header files} +\DoxyCodeLine{} +\DoxyCodeLine{Code generation options:} +\DoxyCodeLine{ -\/m Set the port to use e.g. -\/mz80.} +\DoxyCodeLine{ -\/p Select port specific processor e.g. -\/mpic14 -\/p16f84} +\DoxyCodeLine{ -\/-\/stack-\/auto Stack automatic variables} +\DoxyCodeLine{ -\/-\/xstack Use external stack} +\DoxyCodeLine{ -\/-\/int-\/long-\/reent Use reentrant calls on the int and long support functions} +\DoxyCodeLine{ -\/-\/float-\/reent Use reentrant calls on the float support functions} +\DoxyCodeLine{ -\/-\/xram-\/movc Use movc instead of movx to read xram (xdata)} +\DoxyCodeLine{ -\/-\/callee-\/saves <func[,func,...]> Cause the called function to save registers instead of the caller} +\DoxyCodeLine{ -\/-\/profile On supported ports, generate extra profiling information} +\DoxyCodeLine{ -\/-\/fomit-\/frame-\/pointer Leave out the frame pointer.} +\DoxyCodeLine{ -\/-\/all-\/callee-\/saves callee will always save registers used} +\DoxyCodeLine{ -\/-\/stack-\/probe insert call to function \_\_stack\_probe at each function prologue} +\DoxyCodeLine{ -\/-\/no-\/xinit-\/opt don't memcpy initialized xram from code} +\DoxyCodeLine{ -\/-\/no-\/c-\/code-\/in-\/asm don't include c-\/code as comments in the asm file} +\DoxyCodeLine{ -\/-\/no-\/peep-\/comments don't include peephole optimizer comments} +\DoxyCodeLine{ -\/-\/codeseg <name> use this name for the code segment} +\DoxyCodeLine{ -\/-\/constseg <name> use this name for the const segment} +\DoxyCodeLine{ -\/-\/dataseg <name> use this name for the data segment} +\DoxyCodeLine{} +\DoxyCodeLine{Optimization options:} +\DoxyCodeLine{ -\/-\/nooverlay Disable overlaying leaf function auto variables} +\DoxyCodeLine{ -\/-\/nogcse Disable the GCSE optimisation} +\DoxyCodeLine{ -\/-\/nolabelopt Disable label optimisation} +\DoxyCodeLine{ -\/-\/noinvariant Disable optimisation of invariants} +\DoxyCodeLine{ -\/-\/noinduction Disable loop variable induction} +\DoxyCodeLine{ -\/-\/noloopreverse Disable the loop reverse optimisation} +\DoxyCodeLine{ -\/-\/no-\/peep Disable the peephole assembly file optimisation} +\DoxyCodeLine{ -\/-\/no-\/reg-\/params On some ports, disable passing some parameters in registers} +\DoxyCodeLine{ -\/-\/peep-\/asm Enable peephole optimization on inline assembly} +\DoxyCodeLine{ -\/-\/peep-\/return Enable peephole optimization for return instructions} +\DoxyCodeLine{ -\/-\/no-\/peep-\/return Disable peephole optimization for return instructions} +\DoxyCodeLine{ -\/-\/peep-\/file <file> use this extra peephole file} +\DoxyCodeLine{ -\/-\/opt-\/code-\/speed Optimize for code speed rather than size} +\DoxyCodeLine{ -\/-\/opt-\/code-\/size Optimize for code size rather than speed} +\DoxyCodeLine{ -\/-\/max-\/allocs-\/per-\/node Maximum number of register assignments considered at each node of the tree decomposition} +\DoxyCodeLine{ -\/-\/nolospre Disable lospre} +\DoxyCodeLine{ -\/-\/allow-\/unsafe-\/read Allow optimizations to read any memory location anytime} +\DoxyCodeLine{ -\/-\/nostdlibcall Disable optimization of calls to standard library} +\DoxyCodeLine{} +\DoxyCodeLine{Internal debugging options:} +\DoxyCodeLine{ -\/-\/dump-\/ast Dump front-\/end AST before generating i-\/code} +\DoxyCodeLine{ -\/-\/dump-\/i-\/code Dump the i-\/code structure at all stages} +\DoxyCodeLine{ -\/-\/dump-\/graphs Dump graphs (control-\/flow, conflict, etc)} +\DoxyCodeLine{ -\/-\/i-\/code-\/in-\/asm Include i-\/code as comments in the asm file} +\DoxyCodeLine{ -\/-\/fverbose-\/asm Include code generator comments in the asm output} +\DoxyCodeLine{} +\DoxyCodeLine{Linker options:} +\DoxyCodeLine{ -\/l Include the given library in the link} +\DoxyCodeLine{ -\/L Add the next field to the library search path} +\DoxyCodeLine{ -\/-\/lib-\/path <path> use this path to search for libraries} +\DoxyCodeLine{ -\/-\/out-\/fmt-\/ihx Output in Intel hex format} +\DoxyCodeLine{ -\/-\/out-\/fmt-\/s19 Output in S19 hex format} +\DoxyCodeLine{ -\/-\/xram-\/loc <nnnn> External Ram start location} +\DoxyCodeLine{ -\/-\/xram-\/size <nnnn> External Ram size} +\DoxyCodeLine{ -\/-\/iram-\/size <nnnn> Internal Ram size} +\DoxyCodeLine{ -\/-\/xstack-\/loc <nnnn> External Stack start location} +\DoxyCodeLine{ -\/-\/code-\/loc <nnnn> Code Segment Location} +\DoxyCodeLine{ -\/-\/code-\/size <nnnn> Code Segment size} +\DoxyCodeLine{ -\/-\/stack-\/loc <nnnn> Stack pointer initial value} +\DoxyCodeLine{ -\/-\/data-\/loc <nnnn> Direct data start location} +\DoxyCodeLine{ -\/-\/idata-\/loc } +\DoxyCodeLine{ -\/-\/no-\/optsdcc-\/in-\/asm Do not emit .optsdcc in asm} +\DoxyCodeLine{} +\DoxyCodeLine{Special options for the z80 port:} +\DoxyCodeLine{ -\/-\/callee-\/saves-\/bc Force a called function to always save BC} +\DoxyCodeLine{ -\/-\/portmode= Determine PORT I/O mode (z80/z180)} +\DoxyCodeLine{ -\/-\/asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)} +\DoxyCodeLine{ -\/-\/codeseg <name> use this name for the code segment} +\DoxyCodeLine{ -\/-\/constseg <name> use this name for the const segment} +\DoxyCodeLine{ -\/-\/dataseg <name> use this name for the data segment} +\DoxyCodeLine{ -\/-\/no-\/std-\/crt0 For the z80/gbz80 do not link default crt0.rel} +\DoxyCodeLine{ -\/-\/reserve-\/regs-\/iy Do not use IY (incompatible with -\/-\/fomit-\/frame-\/pointer)} +\DoxyCodeLine{ -\/-\/oldralloc Use old register allocator (deprecated)} +\DoxyCodeLine{ -\/-\/fno-\/omit-\/frame-\/pointer Do not omit frame pointer} +\DoxyCodeLine{ -\/-\/emit-\/externs Emit externs list in generated asm} +\DoxyCodeLine{ -\/-\/legacy-\/banking Use legacy method to call banked functions} +\DoxyCodeLine{ -\/-\/nmos-\/z80 Generate workaround for NMOS Z80 when saving IFF2} +\DoxyCodeLine{} +\DoxyCodeLine{Special options for the gbz80 port:} +\DoxyCodeLine{ -\/bo <num> use code bank <num>} +\DoxyCodeLine{ -\/ba <num> use data bank <num>} +\DoxyCodeLine{ -\/-\/asm= Define assembler name (rgbds/asxxxx/isas/z80asm/gas)} +\DoxyCodeLine{ -\/-\/callee-\/saves-\/bc Force a called function to always save BC} +\DoxyCodeLine{ -\/-\/codeseg <name> use this name for the code segment} +\DoxyCodeLine{ -\/-\/constseg <name> use this name for the const segment} +\DoxyCodeLine{ -\/-\/dataseg <name> use this name for the data segment} +\DoxyCodeLine{ -\/-\/no-\/std-\/crt0 For the z80/gbz80 do not link default crt0.rel} +\DoxyCodeLine{ -\/-\/legacy-\/banking Use legacy method to call banked functions} +\end{DoxyCode} + + +\label{docs_toolchain_settings_sdasgb-settings}% +\Hypertarget{docs_toolchain_settings_sdasgb-settings}% +\hypertarget{docs_toolchain_settings_autotoc_md208}{}\doxysubsection{sdasgb settings}\label{docs_toolchain_settings_autotoc_md208} + +\begin{DoxyCode}{0} +\DoxyCodeLine{sdas Assembler V02.00 + NoICE + SDCC mods (GameBoy Z80-\/like CPU)} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{Copyright (C) 2012 Alan R. Baldwin} +\DoxyCodeLine{This program comes with ABSOLUTELY NO WARRANTY.} +\DoxyCodeLine{} +\DoxyCodeLine{Usage: [-\/Options] file} +\DoxyCodeLine{Usage: [-\/Options] outfile file1 [file2 file3 ...]} +\DoxyCodeLine{ -\/d Decimal listing} +\DoxyCodeLine{ -\/q Octal listing} +\DoxyCodeLine{ -\/x Hex listing (default)} +\DoxyCodeLine{ -\/g Undefined symbols made global} +\DoxyCodeLine{ -\/n Don't resolve global assigned value symbols} +\DoxyCodeLine{ -\/a All user symbols made global} +\DoxyCodeLine{ -\/b Display .define substitutions in listing} +\DoxyCodeLine{ -\/bb and display without .define substitutions} +\DoxyCodeLine{ -\/c Disable instruction cycle count in listing} +\DoxyCodeLine{ -\/j Enable NoICE Debug Symbols} +\DoxyCodeLine{ -\/y Enable SDCC Debug Symbols} +\DoxyCodeLine{ -\/l Create list file/outfile[.lst]} +\DoxyCodeLine{ -\/o Create object file/outfile[.rel]} +\DoxyCodeLine{ -\/s Create symbol file/outfile[.sym]} +\DoxyCodeLine{ -\/p Disable automatic listing pagination} +\DoxyCodeLine{ -\/u Disable .list/.nlist processing} +\DoxyCodeLine{ -\/w Wide listing format for symbol table} +\DoxyCodeLine{ -\/z Disable case sensitivity for symbols} +\DoxyCodeLine{ -\/f Flag relocatable references by ` in listing file} +\DoxyCodeLine{ -\/ff Flag relocatable references by mode in listing file} +\DoxyCodeLine{ -\/I Add the named directory to the include file} +\DoxyCodeLine{ search path. This option may be used more than once.} +\DoxyCodeLine{ Directories are searched in the order given.} +\DoxyCodeLine{} +\DoxyCodeLine{removing } +\end{DoxyCode} + + +\label{docs_toolchain_settings_sdasz80-settings}% +\Hypertarget{docs_toolchain_settings_sdasz80-settings}% +\hypertarget{docs_toolchain_settings_autotoc_md209}{}\doxysubsection{sdasz80 settings}\label{docs_toolchain_settings_autotoc_md209} + +\begin{DoxyCode}{0} +\DoxyCodeLine{sdas Assembler V02.00 + NoICE + SDCC mods (GameBoy Z80-\/like CPU)} +\DoxyCodeLine{} +\DoxyCodeLine{} +\DoxyCodeLine{Copyright (C) 2012 Alan R. Baldwin} +\DoxyCodeLine{This program comes with ABSOLUTELY NO WARRANTY.} +\DoxyCodeLine{} +\DoxyCodeLine{Usage: [-\/Options] file} +\DoxyCodeLine{Usage: [-\/Options] outfile file1 [file2 file3 ...]} +\DoxyCodeLine{ -\/d Decimal listing} +\DoxyCodeLine{ -\/q Octal listing} +\DoxyCodeLine{ -\/x Hex listing (default)} +\DoxyCodeLine{ -\/g Undefined symbols made global} +\DoxyCodeLine{ -\/n Don't resolve global assigned value symbols} +\DoxyCodeLine{ -\/a All user symbols made global} +\DoxyCodeLine{ -\/b Display .define substitutions in listing} +\DoxyCodeLine{ -\/bb and display without .define substitutions} +\DoxyCodeLine{ -\/c Disable instruction cycle count in listing} +\DoxyCodeLine{ -\/j Enable NoICE Debug Symbols} +\DoxyCodeLine{ -\/y Enable SDCC Debug Symbols} +\DoxyCodeLine{ -\/l Create list file/outfile[.lst]} +\DoxyCodeLine{ -\/o Create object file/outfile[.rel]} +\DoxyCodeLine{ -\/s Create symbol file/outfile[.sym]} +\DoxyCodeLine{ -\/p Disable automatic listing pagination} +\DoxyCodeLine{ -\/u Disable .list/.nlist processing} +\DoxyCodeLine{ -\/w Wide listing format for symbol table} +\DoxyCodeLine{ -\/z Disable case sensitivity for symbols} +\DoxyCodeLine{ -\/f Flag relocatable references by ` in listing file} +\DoxyCodeLine{ -\/ff Flag relocatable references by mode in listing file} +\DoxyCodeLine{ -\/I Add the named directory to the include file} +\DoxyCodeLine{ search path. This option may be used more than once.} +\DoxyCodeLine{ Directories are searched in the order given.} +\DoxyCodeLine{} +\DoxyCodeLine{removing } +\end{DoxyCode} + + +\label{docs_toolchain_settings_bankpack-settings}% +\Hypertarget{docs_toolchain_settings_bankpack-settings}% +\hypertarget{docs_toolchain_settings_autotoc_md210}{}\doxysubsection{bankpack settings}\label{docs_toolchain_settings_autotoc_md210} + +\begin{DoxyCode}{0} +\DoxyCodeLine{bankalloc [options] objfile1 objfile2 etc} +\DoxyCodeLine{Use: Read .o files and auto-\/assign areas with bank=255.} +\DoxyCodeLine{ Typically called by Lcc compiler driver before linker.} +\DoxyCodeLine{} +\DoxyCodeLine{Options} +\DoxyCodeLine{-\/h : Show this help} +\DoxyCodeLine{-\/lkin=<file> : Load object files specified in linker file <file>} +\DoxyCodeLine{-\/lkout=<file>: Write list of object files out to linker file <file>} +\DoxyCodeLine{-\/yt<mbctype> : Set MBC type per ROM byte 149 in Decimal or Hex (0xNN) (see pandocs)} +\DoxyCodeLine{-\/mbc=N : Similar to -\/yt, but sets MBC type directly to N instead} +\DoxyCodeLine{ of by intepreting ROM byte 149} +\DoxyCodeLine{ mbc1 will exclude banks \{0x20,0x40,0x60\} max=127, } +\DoxyCodeLine{ mbc2 max=15, mbc3 max=127, mbc5 max=255 (not 511!) } +\DoxyCodeLine{-\/min=N : Min assigned ROM bank is N (default 1)} +\DoxyCodeLine{-\/max=N : Max assigned ROM bank is N, error if exceeded} +\DoxyCodeLine{-\/ext=<.ext> : Write files out with <.ext> instead of source extension} +\DoxyCodeLine{-\/path=<path> : Write files out to <path> (<path> *MUST* already exist)} +\DoxyCodeLine{-\/sym=<prefix>: Add symbols starting with <prefix> to match + update list.} +\DoxyCodeLine{ Default entry is "{}\_\_\_bank\_"{} (see below)} +\DoxyCodeLine{-\/cartsize : Print min required cart size as "{}autocartsize:<NNN>"{}} +\DoxyCodeLine{-\/plat=<plat> : Select platform specific behavior (default:gb) (gb,sms)} +\DoxyCodeLine{-\/random : Distribute banks randomly for testing (honors -\/min/-\/max)} +\DoxyCodeLine{-\/v : Verbose output, show assignments} +\DoxyCodeLine{} +\DoxyCodeLine{Example: "{}bankpack -\/ext=.rel -\/path=some/newpath/ file1.o file2.o"{}} +\DoxyCodeLine{Unless -\/ext or -\/path specify otherwise, input files are overwritten.} +\DoxyCodeLine{} +\DoxyCodeLine{Default MBC type is not set. It *must* be specified by -\/mbc= or -\/yt!} +\DoxyCodeLine{} +\DoxyCodeLine{The following will have FF and 255 replaced with the assigned bank:} +\DoxyCodeLine{A \_CODE\_255 size <size> flags <flags> addr <address>} +\DoxyCodeLine{S b\_<function name> Def0000FF} +\DoxyCodeLine{S \_\_\_bank\_<const name> Def0000FF} +\DoxyCodeLine{ (Above can be made by: const void \_\_at(255) \_\_bank\_<const name>;} +\end{DoxyCode} + + +\label{docs_toolchain_settings_sdldgb-settings}% +\Hypertarget{docs_toolchain_settings_sdldgb-settings}% +\hypertarget{docs_toolchain_settings_autotoc_md211}{}\doxysubsection{sdldgb settings}\label{docs_toolchain_settings_autotoc_md211} + +\begin{DoxyCode}{0} +\DoxyCodeLine{sdld Linker V03.00 + NoICE + sdld} +\DoxyCodeLine{} +\DoxyCodeLine{Usage: [-\/Options] [-\/Option with arg] file} +\DoxyCodeLine{Usage: [-\/Options] [-\/Option with arg] outfile file1 [file2 ...]} +\DoxyCodeLine{Startup:} +\DoxyCodeLine{ -\/p Echo commands to stdout (default)} +\DoxyCodeLine{ -\/n No echo of commands to stdout} +\DoxyCodeLine{Alternates to Command Line Input:} +\DoxyCodeLine{ -\/c ASlink >> prompt input} +\DoxyCodeLine{ -\/f file[.lk] Command File input} +\DoxyCodeLine{Libraries:} +\DoxyCodeLine{ -\/k Library path specification, one per -\/k} +\DoxyCodeLine{ -\/l Library file specification, one per -\/l} +\DoxyCodeLine{Relocation:} +\DoxyCodeLine{ -\/b area base address = expression} +\DoxyCodeLine{ -\/g global symbol = expression} +\DoxyCodeLine{ -\/a (platform) Select platform specific virtual address translation} +\DoxyCodeLine{Map format:} +\DoxyCodeLine{ -\/m Map output generated as (out)file[.map]} +\DoxyCodeLine{ -\/w Wide listing format for map file} +\DoxyCodeLine{ -\/x Hexadecimal (default)} +\DoxyCodeLine{ -\/d Decimal} +\DoxyCodeLine{ -\/q Octal} +\DoxyCodeLine{Output:} +\DoxyCodeLine{ -\/i Intel Hex as (out)file[.ihx]} +\DoxyCodeLine{ -\/s Motorola S Record as (out)file[.s19]} +\DoxyCodeLine{ -\/j NoICE Debug output as (out)file[.noi]} +\DoxyCodeLine{ -\/y SDCDB Debug output as (out)file[.cdb]} +\DoxyCodeLine{List:} +\DoxyCodeLine{ -\/u Update listing file(s) with link data as file(s)[.rst]} +\DoxyCodeLine{Case Sensitivity:} +\DoxyCodeLine{ -\/z Disable Case Sensitivity for Symbols} +\DoxyCodeLine{End:} +\DoxyCodeLine{ -\/e or null line terminates input} +\end{DoxyCode} + + +\label{docs_toolchain_settings_sdldz80-settings}% +\Hypertarget{docs_toolchain_settings_sdldz80-settings}% +\hypertarget{docs_toolchain_settings_autotoc_md212}{}\doxysubsection{sdldz80 settings}\label{docs_toolchain_settings_autotoc_md212} + +\begin{DoxyCode}{0} +\DoxyCodeLine{sdld Linker V03.00 + NoICE + sdld} +\DoxyCodeLine{} +\DoxyCodeLine{Usage: [-\/Options] [-\/Option with arg] file} +\DoxyCodeLine{Usage: [-\/Options] [-\/Option with arg] outfile file1 [file2 ...]} +\DoxyCodeLine{Startup:} +\DoxyCodeLine{ -\/p Echo commands to stdout (default)} +\DoxyCodeLine{ -\/n No echo of commands to stdout} +\DoxyCodeLine{Alternates to Command Line Input:} +\DoxyCodeLine{ -\/c ASlink >> prompt input} +\DoxyCodeLine{ -\/f file[.lk] Command File input} +\DoxyCodeLine{Libraries:} +\DoxyCodeLine{ -\/k Library path specification, one per -\/k} +\DoxyCodeLine{ -\/l Library file specification, one per -\/l} +\DoxyCodeLine{Relocation:} +\DoxyCodeLine{ -\/b area base address = expression} +\DoxyCodeLine{ -\/g global symbol = expression} +\DoxyCodeLine{ -\/a (platform) Select platform specific virtual address translation} +\DoxyCodeLine{Map format:} +\DoxyCodeLine{ -\/m Map output generated as (out)file[.map]} +\DoxyCodeLine{ -\/w Wide listing format for map file} +\DoxyCodeLine{ -\/x Hexadecimal (default)} +\DoxyCodeLine{ -\/d Decimal} +\DoxyCodeLine{ -\/q Octal} +\DoxyCodeLine{Output:} +\DoxyCodeLine{ -\/i Intel Hex as (out)file[.ihx]} +\DoxyCodeLine{ -\/s Motorola S Record as (out)file[.s19]} +\DoxyCodeLine{ -\/j NoICE Debug output as (out)file[.noi]} +\DoxyCodeLine{ -\/y SDCDB Debug output as (out)file[.cdb]} +\DoxyCodeLine{List:} +\DoxyCodeLine{ -\/u Update listing file(s) with link data as file(s)[.rst]} +\DoxyCodeLine{Case Sensitivity:} +\DoxyCodeLine{ -\/z Disable Case Sensitivity for Symbols} +\DoxyCodeLine{End:} +\DoxyCodeLine{ -\/e or null line terminates input} +\end{DoxyCode} + + +\label{docs_toolchain_settings_ihxcheck-settings}% +\Hypertarget{docs_toolchain_settings_ihxcheck-settings}% +\hypertarget{docs_toolchain_settings_autotoc_md213}{}\doxysubsection{ihxcheck settings}\label{docs_toolchain_settings_autotoc_md213} + +\begin{DoxyCode}{0} +\DoxyCodeLine{ihx\_check input\_file.ihx [options]} +\DoxyCodeLine{} +\DoxyCodeLine{Options} +\DoxyCodeLine{-\/h : Show this help} +\DoxyCodeLine{-\/e : Treat warnings as errors} +\DoxyCodeLine{} +\DoxyCodeLine{Use: Read a .ihx and warn about overlapped areas.} +\DoxyCodeLine{Example: "{}ihx\_check build/MyProject.ihx"{}} +\end{DoxyCode} + + +\label{docs_toolchain_settings_makebin-settings}% +\Hypertarget{docs_toolchain_settings_makebin-settings}% +\hypertarget{docs_toolchain_settings_autotoc_md214}{}\doxysubsection{makebin settings}\label{docs_toolchain_settings_autotoc_md214} +Also see \mbox{\hyperlink{docs_rombanking_mbcs_setting_mbc_and_rom_ram_banks}{setting\+\_\+mbc\+\_\+and\+\_\+rom\+\_\+ram\+\_\+banks}} +\begin{DoxyCode}{0} +\DoxyCodeLine{makebin: convert a Intel IHX file to binary or GameBoy format binary.} +\DoxyCodeLine{Usage: makebin [options] [<in\_file> [<out\_file>]]} +\DoxyCodeLine{Options:} +\DoxyCodeLine{ -\/p pack mode: the binary file size will be truncated to the last occupied byte} +\DoxyCodeLine{ -\/s romsize size of the binary file (default: rom banks * 16384)} +\DoxyCodeLine{ -\/Z generate GameBoy format binary file} +\DoxyCodeLine{ -\/S generate Sega Master System format binary file} +\DoxyCodeLine{SMS format options (applicable only with -\/S option):} +\DoxyCodeLine{ -\/xo n rom size (0xa-\/0x2)} +\DoxyCodeLine{ -\/xj n set region code (3-\/7)} +\DoxyCodeLine{ -\/xv n version number (0-\/15)} +\DoxyCodeLine{GameBoy format options (applicable only with -\/Z option):} +\DoxyCodeLine{ -\/yo n number of rom banks (default: 2) (autosize: A)} +\DoxyCodeLine{ -\/ya n number of ram banks (default: 0)} +\DoxyCodeLine{ -\/yt n MBC type (default: no MBC)} +\DoxyCodeLine{ -\/yl n old licensee code (default: 0x33)} +\DoxyCodeLine{ -\/yk cc new licensee string (default: 00)} +\DoxyCodeLine{ -\/yn name cartridge name (default: none)} +\DoxyCodeLine{ -\/yc GameBoy Color compatible} +\DoxyCodeLine{ -\/yC GameBoy Color only} +\DoxyCodeLine{ -\/ys Super GameBoy} +\DoxyCodeLine{ -\/yS Convert .noi file named like input file to .sym} +\DoxyCodeLine{ -\/yj set non-\/Japanese region flag} +\DoxyCodeLine{ -\/yN do not copy big N validation logo into ROM header} +\DoxyCodeLine{ -\/yp addr=value Set address in ROM to given value (address 0x100-\/0x1FE)} +\DoxyCodeLine{Arguments:} +\DoxyCodeLine{ <in\_file> optional IHX input file, '-\/' means stdin. (default: stdin)} +\DoxyCodeLine{ <out\_file> optional output file, '-\/' means stdout. (default: stdout)} +\end{DoxyCode} + + +\label{docs_toolchain_settings_gbcompress-settings}% +\Hypertarget{docs_toolchain_settings_gbcompress-settings}% +\hypertarget{docs_toolchain_settings_autotoc_md215}{}\doxysubsection{gbcompress settings}\label{docs_toolchain_settings_autotoc_md215} + +\begin{DoxyCode}{0} +\DoxyCodeLine{gbcompress [options] infile outfile} +\DoxyCodeLine{Use: compress a binary file and write it out.} +\DoxyCodeLine{} +\DoxyCodeLine{Options} +\DoxyCodeLine{-\/h : Show this help screen} +\DoxyCodeLine{-\/d : Decompress (default is compress)} +\DoxyCodeLine{-\/v : Verbose output} +\DoxyCodeLine{-\/-\/cin : Read input as .c source format (8 bit char ONLY, uses first array found)} +\DoxyCodeLine{-\/-\/cout : Write output in .c / .h source format (8 bit char ONLY) } +\DoxyCodeLine{-\/-\/varname=<NAME> : specify variable name for c source output} +\DoxyCodeLine{-\/-\/alg=<type> : specify compression type: 'rle', 'gb' (default)} +\DoxyCodeLine{Example: "{}gbcompress binaryfile.bin compressed.bin"{}} +\DoxyCodeLine{Example: "{}gbcompress -\/d compressedfile.bin decompressed.bin"{}} +\DoxyCodeLine{Example: "{}gbcompress -\/-\/alg=rle binaryfile.bin compressed.bin"{}} +\DoxyCodeLine{} +\DoxyCodeLine{The default compression (gb) is the type used by gbtd/gbmb} +\DoxyCodeLine{The rle compression is Amiga IFF style} +\end{DoxyCode} + + +\label{docs_toolchain_settings_png2asset-settings}% +\Hypertarget{docs_toolchain_settings_png2asset-settings}% +\hypertarget{docs_toolchain_settings_autotoc_md216}{}\doxysubsection{png2asset settings}\label{docs_toolchain_settings_autotoc_md216} + +\begin{DoxyCode}{0} +\DoxyCodeLine{usage: png2asset <file>.png [options]} +\DoxyCodeLine{-\/c ouput file (default: <png file>.c)} +\DoxyCodeLine{-\/sw <width> metasprites width size (default: png width)} +\DoxyCodeLine{-\/sh <height> metasprites height size (default: png height)} +\DoxyCodeLine{-\/sp <props> change default for sprite OAM property bytes (in hex) (default: 0x00)} +\DoxyCodeLine{-\/px <x coord> metasprites pivot x coordinate (default: metasprites width / 2)} +\DoxyCodeLine{-\/py <y coord> metasprites pivot y coordinate (default: metasprites height / 2)} +\DoxyCodeLine{-\/pw <width> metasprites collision rect widht (default: metasprites width)} +\DoxyCodeLine{-\/ph <height> metasprites collision rect height (default: metasprites height)} +\DoxyCodeLine{-\/spr8x8 use SPRITES\_8x8 (default: SPRITES\_8x16)} +\DoxyCodeLine{-\/spr8x16 use SPRITES\_8x16 (default: SPRITES\_8x16)} +\DoxyCodeLine{-\/b <bank> bank (default 0)} +\DoxyCodeLine{-\/keep\_palette\_order use png palette} +\DoxyCodeLine{-\/noflip disable tile flip} +\DoxyCodeLine{-\/map Export as map (tileset + bg)} +\DoxyCodeLine{-\/use\_map\_attributes Use CGB BG Map attributes (default: palettes are stored for each tile in a separate array)} +\DoxyCodeLine{-\/use\_structs Group the exported info into structs (default: false) (used by ZGB Game Engine)} +\DoxyCodeLine{-\/bpp bits per pixel: 2, 4 (default: 2)} +\DoxyCodeLine{-\/max\_palettes maximum number of palettes allowed (default: 2)} +\DoxyCodeLine{-\/pack\_mode gb, sgb or sms (default:GB)} +\DoxyCodeLine{-\/tile\_origin tile index offset for maps (instead of zero)} +\end{DoxyCode} + + diff --git a/docs/latex/docs_using_gbdk.tex b/docs/latex/docs_using_gbdk.tex @@ -0,0 +1,165 @@ +\hypertarget{docs_using_gbdk_autotoc_md40}{}\doxysubsection{Interrupts}\label{docs_using_gbdk_autotoc_md40} +Interrupts allow execution to jump to a different part of your code as soon as an external event occurs -\/ for example the L\+CD entering the vertical blank period, serial data arriving or the timer reaching its end count. For an example see the irq.\+c sample project. + +Interrupts in G\+B\+DK are handled using the functions \mbox{\hyperlink{gb_8h_ad77796783b3a601b6f3781dfc3983499}{disable\+\_\+interrupts()}}, \mbox{\hyperlink{gb_8h_ae0b13f17609b26c86fc33944aeb6e867}{enable\+\_\+interrupts()}}, \mbox{\hyperlink{sms_8h_aefda0091b2934571a11e07b512735f50}{set\+\_\+interrupts(uint8\+\_\+t ier)}} and the interrupt service routine (I\+SR) linkers \mbox{\hyperlink{gb_8h_a0d29659d08708143dd8bc720278e06b5}{add\+\_\+\+V\+B\+L()}}, \mbox{\hyperlink{sms_8h_a6c66a583a8f0744e3985c89725e3dc10}{add\+\_\+\+T\+IM}}, \mbox{\hyperlink{sms_8h_a51add93356a25c71e8c37a73c9065c9d}{add\+\_\+\+L\+CD}}, \mbox{\hyperlink{sms_8h_a3372d61a07e0466bdb909a27f3aaaca9}{add\+\_\+\+S\+IO}} and \mbox{\hyperlink{sms_8h_a48163816121cd669526817d3e6266fd9}{add\+\_\+\+J\+OY}} which add interrupt handlers for the vertical blank, timer, L\+CD, serial link and joypad interrupts respectively. + +Since an interrupt can occur at any time an Interrupt Service Request (I\+SR) cannot take any arguments or return anything. Its only way of communicating with the greater program is through the global variables. When interacting with those shared I\+SR global variables from main code outside the interrupt, it is a good idea to wrap them in a {\ttfamily critical \{\}} section in case the interrupt occurs and modifies the variable while it is being used. + +Interrupts should be disabled before adding I\+S\+Rs. To use multiple interrupts, {\itshape logical OR} the relevant I\+F\+L\+A\+Gs together. + +I\+S\+Rs should be kept as small and short as possible, do not write an I\+SR so long that the Game Boy hardware spends all of its time servicing interrupts and has no time spare for the main code. + +For more detail on the Game Boy interrupts consider reading about them in the \mbox{\hyperlink{docs_links_and_tools_Pandocs}{Pandocs}}.\hypertarget{docs_using_gbdk_autotoc_md41}{}\doxysubsubsection{Available Interrupts}\label{docs_using_gbdk_autotoc_md41} +The Game\+Boy hardware can generate 5 types of interrupts. Custom Interrupt Service Routines (I\+S\+Rs) can be added in addition to the built-\/in ones available in G\+B\+DK. + + +\begin{DoxyItemize} +\item V\+BL \+: L\+CD Vertical Blanking period start +\begin{DoxyItemize} +\item The default V\+BL I\+SR is installed automatically. +\begin{DoxyItemize} +\item See \mbox{\hyperlink{gb_8h_a0d29659d08708143dd8bc720278e06b5}{add\+\_\+\+V\+B\+L()}} and \mbox{\hyperlink{gb_8h_ad43fdfdb1e157b141f3fc48b78bf4386}{remove\+\_\+\+V\+B\+L()}} +\end{DoxyItemize} +\end{DoxyItemize} +\item L\+CD \+: L\+C\+DC status (such as the start of a horizontal line) +\begin{DoxyItemize} +\item See \mbox{\hyperlink{gb_8h_a9f9f77105099a34556247d5bb03368d1}{add\+\_\+\+L\+C\+D()}} and \mbox{\hyperlink{gb_8h_a32683767caa2a263a1f494b3605786e7}{remove\+\_\+\+L\+C\+D()}} +\item Example project\+: {\ttfamily lcd\+\_\+isr\+\_\+wobble} +\end{DoxyItemize} +\item T\+IM \+: Timer overflow +\begin{DoxyItemize} +\item See \mbox{\hyperlink{gb_8h_a028d1a2e820951bb4f103d6469975ffb}{add\+\_\+\+T\+I\+M()}} and \mbox{\hyperlink{gb_8h_a142f6c7755fce8b1148faf658d8ec147}{remove\+\_\+\+T\+I\+M()}} +\item Example project\+: {\ttfamily tim} +\end{DoxyItemize} +\item S\+IO \+: Serial Link I/O transfer end +\begin{DoxyItemize} +\item The default S\+IO I\+SR gets installed automatically if any of the standard S\+IO calls are used. These calls include \mbox{\hyperlink{gb_8h_aa82422752016328ed0765879e286019f}{add\+\_\+\+S\+I\+O()}}, \mbox{\hyperlink{gb_8h_a5b821b31215361265d8b7894a9ae7118}{remove\+\_\+\+S\+I\+O()}}, \mbox{\hyperlink{gb_8h_ae339d7d8d7e0ebd6691b42608c416964}{send\+\_\+byte()}}, \mbox{\hyperlink{gb_8h_a9a7fd7be44bb12bc85a144b732ce02f7}{receive\+\_\+byte()}}. +\item The default S\+IO I\+SR cannot be removed once installed. Only secondary chained S\+IO I\+S\+Rs (added with \mbox{\hyperlink{gb_8h_aa82422752016328ed0765879e286019f}{add\+\_\+\+S\+I\+O()}} ) can be removed. +\item See \mbox{\hyperlink{gb_8h_aa82422752016328ed0765879e286019f}{add\+\_\+\+S\+I\+O()}} and \mbox{\hyperlink{gb_8h_a5b821b31215361265d8b7894a9ae7118}{remove\+\_\+\+S\+I\+O()}} +\item Example project\+: {\ttfamily comm} +\end{DoxyItemize} +\item J\+OY \+: Transition from high to low of a joypad button +\begin{DoxyItemize} +\item See \mbox{\hyperlink{gb_8h_aa2f0235e78da2d1d94d3628d7a1afc30}{add\+\_\+\+J\+O\+Y()}} and \mbox{\hyperlink{gb_8h_a4a3e87e0917d5efb6bc7c94e9754fcd0}{remove\+\_\+\+J\+O\+Y()}} +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{docs_using_gbdk_autotoc_md42}{}\doxysubsubsection{Adding your own interrupt handler}\label{docs_using_gbdk_autotoc_md42} +It is possible to install your own interrupt handlers (in C or in assembly) for any of these interrupts. Up to 4 chained handlers may be added, with the last added being called last. If the \mbox{\hyperlink{gb_8h_ad43fdfdb1e157b141f3fc48b78bf4386}{remove\+\_\+\+V\+B\+L()}} function is to be called, only three may be added for V\+BL. + +Interrupt handlers are called in sequence. To install a new interrupt handler, do the following\+: + + +\begin{DoxyEnumerate} +\item Write a function (say foo()) that takes no parameters, and that returns nothing. Remember that the code executed in an interrupt handler must be short. +\item Inside a {\ttfamily \+\_\+\+\_\+critical \{ ... \}} section, install your interrupt handling routines using the add\+\_\+\+X\+X\+X() function, where X\+XX is the interrupt that you want to handle. +\item Enable interrupts for the I\+RQ you want to handle, using the \mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts()}} function. Note that the V\+BL interrupt is already enabled before the main() function is called. If you want to set the interrupts before main() is called, you must install an initialization routine. +\end{DoxyEnumerate} + +See the {\ttfamily irq} example project for additional details for a complete example.\hypertarget{docs_using_gbdk_autotoc_md43}{}\doxysubsubsection{Using your own Interrupt Dispatcher}\label{docs_using_gbdk_autotoc_md43} +If you want to use your own Interrupt Dispatcher instead of the G\+B\+DK chained dispatcher (for improved performance), then don\textquotesingle{}t call the {\ttfamily add\+\_\+...()} function for the respective interrupt and it\textquotesingle{}s dispatcher won\textquotesingle{}t be installed. +\begin{DoxyItemize} +\item Exception\+: the V\+BL dispatcher will always be linked in at compile time. +\item For the S\+IO interrupt, also do not make any standard S\+IO calls to avoid having it\textquotesingle{}s dispatcher installed. +\end{DoxyItemize} + +Then, \mbox{\hyperlink{isr_8h_a73769fed9338af86fdb7df35d7b82620}{I\+S\+R\+\_\+\+V\+E\+C\+T\+O\+R()}} or \mbox{\hyperlink{isr_8h_a78f9ef588aaf221023e48899898d566b}{I\+S\+R\+\_\+\+N\+E\+S\+T\+E\+D\+\_\+\+V\+E\+C\+T\+O\+R()}} can be used to install a custom I\+SR handler.\hypertarget{docs_using_gbdk_autotoc_md44}{}\doxysubsubsection{Returning from Interrupts and S\+T\+A\+T mode}\label{docs_using_gbdk_autotoc_md44} +By default when an Interrupt handler completes and is ready to exit it will check S\+T\+A\+T\+\_\+\+R\+EG and only return at the B\+E\+G\+I\+N\+N\+I\+NG of either L\+CD Mode 0 or Mode 1. This helps prevent graphical glitches caused when an I\+SR interrupts a graphics operation in one mode but returns in a different mode for which that graphics operation is not allowed. + +You can change this behavior using \mbox{\hyperlink{gb_8h_a695c6d0e8fd7cf11dae0d4c67bc058f9}{nowait\+\_\+int\+\_\+handler()}} which does not check \mbox{\hyperlink{gb_2hardware_8h_ad40ebf3b29add46cdd310a7e0802bc6b}{S\+T\+A\+T\+\_\+\+R\+EG}} before returning. Also see \mbox{\hyperlink{gb_8h_acc9afd0cb72e763a1213d256b942a68f}{wait\+\_\+int\+\_\+handler()}}.\hypertarget{docs_using_gbdk_autotoc_md45}{}\doxysubsection{What G\+B\+D\+K does automatically and behind the scenes}\label{docs_using_gbdk_autotoc_md45} +\hypertarget{docs_using_gbdk_autotoc_md46}{}\doxysubsubsection{O\+A\+M (\+V\+R\+A\+M Sprite Attribute Table)}\label{docs_using_gbdk_autotoc_md46} +G\+B\+DK sets up a Shadow O\+AM which gets copied automatically to the hardware O\+AM by the default V-\/\+Blank I\+SR. The Shadow O\+AM allows updating sprites without worrying about whether it is safe to write to them or not based on the hardware L\+CD mode.\hypertarget{docs_using_gbdk_autotoc_md47}{}\doxysubsubsection{Font tiles when using stdio.\+h}\label{docs_using_gbdk_autotoc_md47} +Including \mbox{\hyperlink{stdio_8h}{stdio.\+h}} and using functions such as \mbox{\hyperlink{stdio_8h_ab403fa700816f08631ba75bc536f74d4}{printf()}} will use a large number of the background tiles for font characters. If stdio.\+h is not included then that space will be available for use with other tiles instead.\hypertarget{docs_using_gbdk_autotoc_md48}{}\doxysubsubsection{Default Interrupt Service Handlers (\+I\+S\+Rs)}\label{docs_using_gbdk_autotoc_md48} + +\begin{DoxyItemize} +\item V-\/\+Blank\+: A default V-\/\+Blank I\+SR is installed on startup which copies the Shadow O\+AM to the hardware O\+AM and increments the global \mbox{\hyperlink{sms_8h_a78d2fd18666afec116f176d46debb4e7}{sys\+\_\+time}} variable once per frame. +\item Serial Link I/O\+: If any of the G\+B\+DK serial link functions are used such as \mbox{\hyperlink{gb_8h_ae339d7d8d7e0ebd6691b42608c416964}{send\+\_\+byte()}} and \mbox{\hyperlink{gb_8h_a9a7fd7be44bb12bc85a144b732ce02f7}{receive\+\_\+byte()}}, the default S\+IO serial link handler will be installed automatically at compile-\/time. +\end{DoxyItemize}\hypertarget{docs_using_gbdk_autotoc_md49}{}\doxysubsection{Copying Functions to R\+A\+M and H\+I\+R\+AM}\label{docs_using_gbdk_autotoc_md49} +See the {\ttfamily ram\+\_\+function} example project included with G\+B\+DK demonstrates copying functions to R\+AM and H\+I\+R\+AM. + +{\ttfamily Warning!} Copying of functions is generally not safe since they may contain jumps to absolute addresses that will not be converted to match the new location. + +It is possible to copy functions to R\+AM and H\+I\+R\+AM (using the \mbox{\hyperlink{asm_2gbz80_2string_8h_a6a1a6cbe7fb6102819098340a4986574}{memcpy()}} and \mbox{\hyperlink{gb_8h_a97b9f2fc6ac7cae97656aca940d65d44}{hiramcpy()}} functions), and execute them from C. Ensure you have enough free space in R\+AM or H\+I\+R\+AM for copying a function. + +There are basically two ways for calling a function located in R\+AM, H\+I\+R\+AM, or R\+OM\+: + + +\begin{DoxyItemize} +\item Declare a pointer-\/to-\/function variable, and set it to the address of the function to call. +\item Declare the function as extern, and set its address at link time using the -\/Wl-\/g\+X\+XX=\# flag (where X\+XX is the name of the function, and \# is its address). +\end{DoxyItemize} + +The second approach is slightly more efficient. Both approaches are demonstrated in the {\ttfamily ram\+\_\+function.\+c} example.\hypertarget{docs_using_gbdk_autotoc_md50}{}\doxysubsection{Mixing C and Assembly}\label{docs_using_gbdk_autotoc_md50} +You can mix C and assembly (A\+SM) in two ways as described below. For additional detail see the \mbox{\hyperlink{docs_links_and_tools_links_sdcc_docs}{links\+\_\+sdcc\+\_\+docs}}.\hypertarget{docs_using_gbdk_autotoc_md51}{}\doxysubsubsection{Inline A\+S\+M within C source files}\label{docs_using_gbdk_autotoc_md51} +Example\+: ~\newline + \begin{DoxyVerb} __asm__("nop"); +\end{DoxyVerb} + + +Another Example\+: ~\newline + \begin{DoxyVerb} void some_c_function() + { + // Optionally do something + __asm + (ASM code goes here) + __endasm; + } +\end{DoxyVerb} +\hypertarget{docs_using_gbdk_autotoc_md52}{}\doxysubsubsection{In Separate A\+S\+M files}\label{docs_using_gbdk_autotoc_md52} +\begin{DoxyRefDesc}{Todo} +\item[\mbox{\hyperlink{todo__todo000002}{Todo}}]This is from G\+B\+DK 2.\+x docs, verify it with G\+B\+D\+K-\/2020 and modern S\+D\+CC\end{DoxyRefDesc} + + +It is possible to assemble and link files written in A\+SM alongside files written in C. + + +\begin{DoxyItemize} +\item A C identifier {\ttfamily i} will be called {\ttfamily \+\_\+i} in assembly. +\item Results are always returned into the {\ttfamily DE} register. +\item Parameters are passed on the stack (starting at {\ttfamily S\+P+2} because the return address is also saved on the stack). +\item Assembly identifier are exported using the {\ttfamily .globl} directive. +\item You can access Game\+Boy hardware registers using {\ttfamily \+\_\+reg\+\_\+0x\+XX} where {\ttfamily XX} is the register number (see {\ttfamily sound.\+c} for an example). +\item Registers must be preserved across function calls (you must store them at function begin, and restore them at the end), except {\ttfamily HL} (and {\ttfamily DE} when the function returns a result). +\end{DoxyItemize} + +Here is an example of how to mix assembly with C\+: + +{\ttfamily main.\+c} \begin{DoxyVerb}main() +{ + int16_t i; + int16_t add(int16_t, int16_t); + + i = add(1, 3); +} +\end{DoxyVerb} + + +{\ttfamily add.\+s} \begin{DoxyVerb}.globl _add +_add: ; int16_t add(int16_t a, int16_t b) + ; There is no register to save: + ; BC is not used + ; DE is the return register + ; HL needs never to be saved +LDA HL,2(SP) +LD E,(HL) ; Get a in DE +INC HL +LD D,(HL) +INC HL +LD A,(HL) ; Get b in HL +INC HL +LD H,(HL) +LD L,A +ADD HL,DE ; Add DE to HL +LD D,H +LD E,L + ; There is no register to restore +RET ; Return result in DE +\end{DoxyVerb} +\hypertarget{docs_using_gbdk_autotoc_md53}{}\doxysubsection{Including binary files in C source with incbin}\label{docs_using_gbdk_autotoc_md53} +Data from binary files can be included in C source files as a const array using the \mbox{\hyperlink{incbin_8h_af34047ed60abd6453f819c2a5230cd2b}{I\+N\+C\+B\+I\+N()}} macro. + +See the {\ttfamily incbin} example project for a demo of how to use it.\hypertarget{docs_using_gbdk_autotoc_md54}{}\doxysubsection{Known Issues and Limitations}\label{docs_using_gbdk_autotoc_md54} +\hypertarget{docs_using_gbdk_autotoc_md55}{}\doxysubsubsection{S\+D\+CC}\label{docs_using_gbdk_autotoc_md55} + +\begin{DoxyItemize} +\item Const arrays declared with {\ttfamily somevar\mbox{[}n\mbox{]} = \{x\}} will {\bfseries{N\+OT}} get initialized with value {\ttfamily x}. This may change when the S\+D\+CC R\+LE initializer is fixed. Use memset for now if you need it. +\item S\+D\+CC banked calls and \mbox{\hyperlink{docs_rombanking_mbcs_far_pointers}{far\+\_\+pointers}} in G\+B\+DK only save one byte for the R\+OM bank, so for example they are limtied to {\bfseries{bank 15}} max for M\+B\+C1 and {\bfseries{bank 255}} max for M\+B\+C5. See \mbox{\hyperlink{docs_rombanking_mbcs_banked_calls}{banked\+\_\+calls}} for more details. +\end{DoxyItemize} + diff --git a/docs/latex/doxygen.sty b/docs/latex/doxygen.sty @@ -0,0 +1,576 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{doxygen} + +% Packages used by this style file +\RequirePackage{alltt} +%%\RequirePackage{array} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package +\RequirePackage{calc} +\RequirePackage{float} +%%\RequirePackage{ifthen} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package +\RequirePackage{verbatim} +\RequirePackage[table]{xcolor} +\RequirePackage{longtable_doxygen} +\RequirePackage{tabu_doxygen} +\RequirePackage{fancyvrb} +\RequirePackage{tabularx} +\RequirePackage{multirow} +\RequirePackage{hanging} +\RequirePackage{ifpdf} +\RequirePackage{adjustbox} +\RequirePackage{amssymb} +\RequirePackage{stackengine} +\RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis + +%---------- Internal commands used in this style file ---------------- + +\newcommand{\ensurespace}[1]{% + \begingroup% + \setlength{\dimen@}{#1}% + \vskip\z@\@plus\dimen@% + \penalty -100\vskip\z@\@plus -\dimen@% + \vskip\dimen@% + \penalty 9999% + \vskip -\dimen@% + \vskip\z@skip% hide the previous |\vskip| from |\addvspace| + \endgroup% +} + +\newcommand{\DoxyHorRuler}[1]{% + \setlength{\parskip}{0ex plus 0ex minus 0ex}% + \ifthenelse{#1=0}% + {% + \hrule% + }% + {% + \hrulefilll% + }% +} +\newcommand{\DoxyLabelFont}{} +\newcommand{\entrylabel}[1]{% + {% + \parbox[b]{\labelwidth-4pt}{% + \makebox[0pt][l]{\DoxyLabelFont#1}% + \vspace{1.5\baselineskip}% + }% + }% +} + +\newenvironment{DoxyDesc}[1]{% + \ensurespace{4\baselineskip}% + \begin{list}{}{% + \settowidth{\labelwidth}{20pt}% + %\setlength{\parsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \renewcommand{\makelabel}{\entrylabel}% + }% + \item[#1]% +}{% + \end{list}% +} + +\newsavebox{\xrefbox} +\newlength{\xreflength} +\newcommand{\xreflabel}[1]{% + \sbox{\xrefbox}{#1}% + \setlength{\xreflength}{\wd\xrefbox}% + \ifthenelse{\xreflength>\labelwidth}{% + \begin{minipage}{\textwidth}% + \setlength{\parindent}{0pt}% + \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% + \end{minipage}% + }{% + \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% + }% +} + +%---------- Commands used by doxygen LaTeX output generator ---------- + +% Used by <pre> ... </pre> +\newenvironment{DoxyPre}{% + \small% + \begin{alltt}% +}{% + \end{alltt}% + \normalsize% +} +% Necessary for redefining not defined characters, i.e. "Replacement Character" in tex output. +\newlength{\CodeWidthChar} +\newlength{\CodeHeightChar} +\settowidth{\CodeWidthChar}{?} +\settoheight{\CodeHeightChar}{?} +% Necessary for hanging indent +\newlength{\DoxyCodeWidth} + +\newcommand\DoxyCodeLine[1]{\hangpara{\DoxyCodeWidth}{1}{#1}\par} + +\newcommand\NiceSpace{% + \discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}% +} + +% Used by @code ... @endcode +\newenvironment{DoxyCode}[1]{% + \par% + \scriptsize% + \normalfont\ttfamily% + \rightskip0pt plus 1fil% + \settowidth{\DoxyCodeWidth}{000000}% + \settowidth{\CodeWidthChar}{?}% + \settoheight{\CodeHeightChar}{?}% + \setlength{\parskip}{0ex plus 0ex minus 0ex}% + \ifthenelse{\equal{#1}{0}} + { + {\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces% + } + { + {\lccode`~32 \lowercase{\global\let~}}\obeyspaces% + } + +}{% + \normalfont% + \normalsize% + \settowidth{\CodeWidthChar}{?}% + \settoheight{\CodeHeightChar}{?}% +} + +% Redefining not defined characters, i.e. "Replacement Character" in tex output. +\def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{% + \textcolor{white}{\sffamily\bfseries\small ?}}{% + \rotatebox{45}{$\blacksquare$}}}} + +% Used by @example, @include, @includelineno and @dontinclude +\newenvironment{DoxyCodeInclude}[1]{% + \DoxyCode{#1}% +}{% + \endDoxyCode% +} + +% Used by @verbatim ... @endverbatim +\newenvironment{DoxyVerb}{% + \footnotesize% + \verbatim% +}{% + \endverbatim% + \normalsize% +} + +% Used by @verbinclude +\newenvironment{DoxyVerbInclude}{% + \DoxyVerb% +}{% + \endDoxyVerb% +} + +% Used by numbered lists (using '-#' or <ol> ... </ol>) +\newenvironment{DoxyEnumerate}{% + \enumerate% +}{% + \endenumerate% +} + +% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>) +\newenvironment{DoxyItemize}{% + \itemize% +}{% + \enditemize% +} + +% Used by description lists (using <dl> ... </dl>) +\newenvironment{DoxyDescription}{% + \description% +}{% + \enddescription% +} + +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% (only if caption is specified) +\newenvironment{DoxyImage}{% + \begin{figure}[H]% + \begin{center}% +}{% + \end{center}% + \end{figure}% +} + +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% (only if no caption is specified) +\newenvironment{DoxyImageNoCaption}{% + \begin{center}% +}{% + \end{center}% +} + +% Used by @image +% (only if inline is specified) +\newenvironment{DoxyInlineImage}{% +}{% +} + +% Used by @attention +\newenvironment{DoxyAttention}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @author and @authors +\newenvironment{DoxyAuthor}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @date +\newenvironment{DoxyDate}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @invariant +\newenvironment{DoxyInvariant}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @note +\newenvironment{DoxyNote}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @post +\newenvironment{DoxyPostcond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @pre +\newenvironment{DoxyPrecond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @copyright +\newenvironment{DoxyCopyright}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @remark +\newenvironment{DoxyRemark}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @return and @returns +\newenvironment{DoxyReturn}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @since +\newenvironment{DoxySince}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @see +\newenvironment{DoxySeeAlso}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @version +\newenvironment{DoxyVersion}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @warning +\newenvironment{DoxyWarning}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @internal +\newenvironment{DoxyInternal}[1]{% + \paragraph*{#1}% +}{% +} + +% Used by @par and @paragraph +\newenvironment{DoxyParagraph}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by parameter lists +\newenvironment{DoxyParams}[2][]{% + \tabulinesep=1mm% + \par% + \ifthenelse{\equal{#1}{}}% + {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description + {\ifthenelse{\equal{#1}{1}}% + {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc + {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc + } + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu*}% + \vspace{6pt}% +} + +% Used for fields of simple structs +\newenvironment{DoxyFields}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}% + \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu*}% + \vspace{6pt}% +} + +% Used for fields simple class style enums +\newenvironment{DoxyEnumFields}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu*}% + \vspace{6pt}% +} + +% Used for parameters within a detailed function description +\newenvironment{DoxyParamCaption}{% + \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}% +}{% +} + +% Used by return value lists +\newenvironment{DoxyRetVals}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu*}% + \vspace{6pt}% +} + +% Used by exception lists +\newenvironment{DoxyExceptions}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu*}% + \vspace{6pt}% +} + +% Used by template parameter lists +\newenvironment{DoxyTemplParams}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu*}% + \vspace{6pt}% +} + +% Used for member lists +\newenvironment{DoxyCompactItemize}{% + \begin{itemize}% + \setlength{\itemsep}{-3pt}% + \setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \setlength{\partopsep}{0pt}% +}{% + \end{itemize}% +} + +% Used for member descriptions +\newenvironment{DoxyCompactList}{% + \begin{list}{}{% + \setlength{\leftmargin}{0.5cm}% + \setlength{\itemsep}{0pt}% + \setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \renewcommand{\makelabel}{\hfill}% + }% +}{% + \end{list}% +} + +% Used for reference lists (@bug, @deprecated, @todo, etc.) +\newenvironment{DoxyRefList}{% + \begin{list}{}{% + \setlength{\labelwidth}{10pt}% + \setlength{\leftmargin}{\labelwidth}% + \addtolength{\leftmargin}{\labelsep}% + \renewcommand{\makelabel}{\xreflabel}% + }% +}{% + \end{list}% +} + +% Used by @bug, @deprecated, @todo, etc. +\newenvironment{DoxyRefDesc}[1]{% + \begin{list}{}{% + \renewcommand\makelabel[1]{\textbf{##1}}% + \settowidth\labelwidth{\makelabel{#1}}% + \setlength\leftmargin{\labelwidth+\labelsep}% + }% +}{% + \end{list}% +} + +% Used by parameter lists and simple sections +\newenvironment{Desc} +{\begin{list}{}{% + \settowidth{\labelwidth}{20pt}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \renewcommand{\makelabel}{\entrylabel}% + } +}{% + \end{list}% +} + +% Used by tables +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% +\newenvironment{TabularC}[1]% +{\tabulinesep=1mm +\begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}% +{\end{longtabu*}\par}% + +\newenvironment{TabularNC}[1]% +{\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}% +{\end{tabu}\par}% + +% Used for member group headers +\newenvironment{Indent}{% + \begin{list}{}{% + \setlength{\leftmargin}{0.5cm}% + }% + \item[]\ignorespaces% +}{% + \unskip% + \end{list}% +} + +% Used when hyperlinks are turned off +\newcommand{\doxyref}[3]{% + \textbf{#1} (\textnormal{#2}\,\pageref{#3})% +} + +% Used to link to a table when hyperlinks are turned on +\newcommand{\doxytablelink}[2]{% + \ref{#1}% +} + +% Used to link to a table when hyperlinks are turned off +\newcommand{\doxytableref}[3]{% + \ref{#3}% +} + +% Used by @addindex +\newcommand{\lcurly}{\{} +\newcommand{\rcurly}{\}} + +% Colors used for syntax highlighting +\definecolor{comment}{rgb}{0.5,0.0,0.0} +\definecolor{keyword}{rgb}{0.0,0.5,0.0} +\definecolor{keywordtype}{rgb}{0.38,0.25,0.125} +\definecolor{keywordflow}{rgb}{0.88,0.5,0.0} +\definecolor{preprocessor}{rgb}{0.5,0.38,0.125} +\definecolor{stringliteral}{rgb}{0.0,0.125,0.25} +\definecolor{charliteral}{rgb}{0.0,0.5,0.5} +\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} +\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} +\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} +\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} + +% Color used for table heading +\newcommand{\tableheadbgcolor}{lightgray}% + +% Version of hypertarget with correct landing location +\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}} + +% possibility to have sections etc. be within the margins +% unfortunately had to copy part of book.cls and add \raggedright +\makeatletter +\newcommand\doxysection{\@startsection {section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\raggedright\normalfont\Large\bfseries}} +\newcommand\doxysubsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\raggedright\normalfont\large\bfseries}} +\newcommand\doxysubsubsection{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\raggedright\normalfont\normalsize\bfseries}} +\newcommand\doxyparagraph{\@startsection{paragraph}{4}{\z@}% + {3.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\raggedright\normalfont\normalsize\bfseries}} +\newcommand\doxysubparagraph{\@startsection{subparagraph}{5}{\parindent}% + {3.25ex \@plus1ex \@minus .2ex}% + {-1em}% + {\raggedright\normalfont\normalsize\bfseries}} +\makeatother +% Define caption that is also suitable in a table +\makeatletter +\def\doxyfigcaption{% +\refstepcounter{figure}% +\@dblarg{\@caption{figure}}} +\makeatother diff --git a/docs/latex/drawing_8h.tex b/docs/latex/drawing_8h.tex @@ -0,0 +1,316 @@ +\hypertarget{drawing_8h}{}\doxysubsection{gb/drawing.h File Reference} +\label{drawing_8h}\index{gb/drawing.h@{gb/drawing.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{drawing_8h_a9a07c448b4d721dbec2715f51727e099}{G\+R\+A\+P\+H\+I\+C\+S\+\_\+\+W\+I\+D\+TH}}~160 +\item +\#define \mbox{\hyperlink{drawing_8h_aa9909ac8ecb03cbb763258a8f98f4170}{G\+R\+A\+P\+H\+I\+C\+S\+\_\+\+H\+E\+I\+G\+HT}}~144 +\item +\#define \mbox{\hyperlink{drawing_8h_aa8abfd58ea514228abd69d8f6330e91d}{S\+O\+L\+ID}}~0x00 /$\ast$ Overwrites the existing pixels $\ast$/ +\item +\#define \mbox{\hyperlink{drawing_8h_a3363ca4d6d3cc0230b2804280591c991}{OR}}~0x01 /$\ast$ Performs a logical OR $\ast$/ +\item +\#define \mbox{\hyperlink{drawing_8h_a45cd11034d1a7d86c3a88d36f5e7f1ab}{X\+OR}}~0x02 /$\ast$ Performs a logical X\+OR $\ast$/ +\item +\#define \mbox{\hyperlink{drawing_8h_acd1b97556dfbbac61063a63031d2f91d}{A\+ND}}~0x03 /$\ast$ Performs a logical A\+ND $\ast$/ +\item +\#define \mbox{\hyperlink{drawing_8h_a87b537f5fa5c109d3c05c13d6b18f382}{W\+H\+I\+TE}}~0 +\item +\#define \mbox{\hyperlink{drawing_8h_a0ffe2221c8690dc80b5f9553474dd096}{L\+T\+G\+R\+EY}}~1 +\item +\#define \mbox{\hyperlink{drawing_8h_a4dad87d91b9201be3b4ede372f31ae8a}{D\+K\+G\+R\+EY}}~2 +\item +\#define \mbox{\hyperlink{drawing_8h_a7b3b25cba33b07c303f3060fe41887f6}{B\+L\+A\+CK}}~3 +\item +\#define \mbox{\hyperlink{drawing_8h_a91d52443c77ee105bd68cb0b47a8ee49}{M\+\_\+\+N\+O\+F\+I\+LL}}~0 +\item +\#define \mbox{\hyperlink{drawing_8h_aad3d180e0f12d6a6e5278fe0163f4c3e}{M\+\_\+\+F\+I\+LL}}~1 +\item +\#define \mbox{\hyperlink{drawing_8h_a4dec4d9b2bace4f5bc6e6337f4086837}{S\+I\+G\+N\+ED}}~1 +\item +\#define \mbox{\hyperlink{drawing_8h_a08cbc66092284f7da94279f986a0aae9}{U\+N\+S\+I\+G\+N\+ED}}~0 +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{drawing_8h_aef65e5faa0adb82768fca06aafbe50e8}{gprint}} (char $\ast$str) \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}} +\item +void \mbox{\hyperlink{drawing_8h_afeb7c0a887fe3d18659175de77a787a5}{gprintln}} (\mbox{\hyperlink{stdint_8h_a66634143db08bebe9b46ab4cb1fc6fd3}{int16\+\_\+t}} number, \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} radix, \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} signed\+\_\+value) \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}} +\item +void \mbox{\hyperlink{drawing_8h_a9d70278d1d09fdc24ea6bd9788dbd96a}{gprintn}} (\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} number, \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} radix, \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} signed\+\_\+value) \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}} +\item +\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} \mbox{\hyperlink{drawing_8h_a5f7a0ed309f9526e9be285146559848c}{gprintf}} (char $\ast$fmt,...) \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}} +\item +void \mbox{\hyperlink{drawing_8h_ac888c327137d7f00cb3af57af236602a}{plot}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} colour, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a3ea524204d839377cf39842eec23e202}{mode}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{drawing_8h_a595c77bca15884c75fd85af84f373814}{plot\+\_\+point}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{drawing_8h_a7b8f466ecc6be62f6c034e52f05e957a}{switch\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$src, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$dst) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{drawing_8h_ab2c383d3e1541fae40cf5174e22166c6}{draw\+\_\+image}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{drawing_8h_afe0ad8959a2867c4b60829d065660f1b}{line}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x1, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y1, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x2, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y2) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{drawing_8h_ae1170230e5c9e61cc4321632e949e7ce}{box}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x1, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y1, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x2, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y2, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} style) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{drawing_8h_ad46c3bdc38dfc9b70214693390d404cb}{circle}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} radius, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} style) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{drawing_8h_a1e268a46a8151f9cc3b7b40100123d09}{getpix}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{drawing_8h_a9178e678a17cb08653600f435093ae2a}{wrtchr}} (char chr) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{drawing_8h_a2d6cbdc9528ec11ac54bd3dbe754ab74}{gotogxy}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{drawing_8h_a9fa68d25be92836a1b08a5e610b4f32f}{color}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} forecolor, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} backcolor, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a3ea524204d839377cf39842eec23e202}{mode}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +All Points Addressable (A\+PA) mode drawing library. + +Drawing routines originally by Pascal Felber Legendary overhall by Jon Fuge \href{mailto:jonny@q-continuum.demon.co.uk}{\texttt{ jonny@q-\/continuum.\+demon.\+co.\+uk}} Commenting by Michael Hope + +Note\+: The standard text \mbox{\hyperlink{stdio_8h_ab403fa700816f08631ba75bc536f74d4}{printf()}} and \mbox{\hyperlink{stdio_8h_a9bc92fb9f23c72a66d030d4028dda72d}{putchar()}} cannot be used in A\+PA mode -\/ use \mbox{\hyperlink{drawing_8h_a5f7a0ed309f9526e9be285146559848c}{gprintf()}} and \mbox{\hyperlink{drawing_8h_a9178e678a17cb08653600f435093ae2a}{wrtchr()}} instead. + +Note\+: Using drawing.\+h will cause it\textquotesingle{}s custom V\+BL and L\+CD I\+S\+Rs ({\ttfamily drawing\+\_\+vbl} and {\ttfamily drawing\+\_\+lcd}) to be installed. Changing the mode ({\ttfamily mode(\+M\+\_\+\+T\+E\+X\+T\+\_\+\+O\+U\+T);}) will cause them to be de-\/installed. + +The valid coordinate ranges are from (x,y) 0,0 to 159,143. There is no built-\/in clipping, so drawing outside valid coordinates will likely produce undesired results (wrapping/etc). + +\DoxyHorRuler{0} + + +{\bfseries{Important note for the drawing A\+PI \+:}} + +The Game Boy graphics hardware is not well suited to frame-\/buffer style graphics such as the kind provided in {\ttfamily drawing.\+h}. Due to that, {\bfseries{most drawing functions (rectangles, circles, etc) will be slow}} . When possible it\textquotesingle{}s much faster and more efficient to work with the tiles and tile maps that the Game Boy hardware is built around. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{drawing_8h_a9a07c448b4d721dbec2715f51727e099}\label{drawing_8h_a9a07c448b4d721dbec2715f51727e099}} +\index{drawing.h@{drawing.h}!GRAPHICS\_WIDTH@{GRAPHICS\_WIDTH}} +\index{GRAPHICS\_WIDTH@{GRAPHICS\_WIDTH}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{GRAPHICS\_WIDTH}{GRAPHICS\_WIDTH}} +{\footnotesize\ttfamily \#define G\+R\+A\+P\+H\+I\+C\+S\+\_\+\+W\+I\+D\+TH~160} + +Size of the screen in pixels \mbox{\Hypertarget{drawing_8h_aa9909ac8ecb03cbb763258a8f98f4170}\label{drawing_8h_aa9909ac8ecb03cbb763258a8f98f4170}} +\index{drawing.h@{drawing.h}!GRAPHICS\_HEIGHT@{GRAPHICS\_HEIGHT}} +\index{GRAPHICS\_HEIGHT@{GRAPHICS\_HEIGHT}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{GRAPHICS\_HEIGHT}{GRAPHICS\_HEIGHT}} +{\footnotesize\ttfamily \#define G\+R\+A\+P\+H\+I\+C\+S\+\_\+\+H\+E\+I\+G\+HT~144} + +\mbox{\Hypertarget{drawing_8h_aa8abfd58ea514228abd69d8f6330e91d}\label{drawing_8h_aa8abfd58ea514228abd69d8f6330e91d}} +\index{drawing.h@{drawing.h}!SOLID@{SOLID}} +\index{SOLID@{SOLID}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{SOLID}{SOLID}} +{\footnotesize\ttfamily \#define S\+O\+L\+ID~0x00 /$\ast$ Overwrites the existing pixels $\ast$/} + +\mbox{\Hypertarget{drawing_8h_a3363ca4d6d3cc0230b2804280591c991}\label{drawing_8h_a3363ca4d6d3cc0230b2804280591c991}} +\index{drawing.h@{drawing.h}!OR@{OR}} +\index{OR@{OR}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{OR}{OR}} +{\footnotesize\ttfamily \#define OR~0x01 /$\ast$ Performs a logical OR $\ast$/} + +\mbox{\Hypertarget{drawing_8h_a45cd11034d1a7d86c3a88d36f5e7f1ab}\label{drawing_8h_a45cd11034d1a7d86c3a88d36f5e7f1ab}} +\index{drawing.h@{drawing.h}!XOR@{XOR}} +\index{XOR@{XOR}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{XOR}{XOR}} +{\footnotesize\ttfamily \#define X\+OR~0x02 /$\ast$ Performs a logical X\+OR $\ast$/} + +\mbox{\Hypertarget{drawing_8h_acd1b97556dfbbac61063a63031d2f91d}\label{drawing_8h_acd1b97556dfbbac61063a63031d2f91d}} +\index{drawing.h@{drawing.h}!AND@{AND}} +\index{AND@{AND}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{AND}{AND}} +{\footnotesize\ttfamily \#define A\+ND~0x03 /$\ast$ Performs a logical A\+ND $\ast$/} + +\mbox{\Hypertarget{drawing_8h_a87b537f5fa5c109d3c05c13d6b18f382}\label{drawing_8h_a87b537f5fa5c109d3c05c13d6b18f382}} +\index{drawing.h@{drawing.h}!WHITE@{WHITE}} +\index{WHITE@{WHITE}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{WHITE}{WHITE}} +{\footnotesize\ttfamily \#define W\+H\+I\+TE~0} + +Possible drawing colours \mbox{\Hypertarget{drawing_8h_a0ffe2221c8690dc80b5f9553474dd096}\label{drawing_8h_a0ffe2221c8690dc80b5f9553474dd096}} +\index{drawing.h@{drawing.h}!LTGREY@{LTGREY}} +\index{LTGREY@{LTGREY}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{LTGREY}{LTGREY}} +{\footnotesize\ttfamily \#define L\+T\+G\+R\+EY~1} + +\mbox{\Hypertarget{drawing_8h_a4dad87d91b9201be3b4ede372f31ae8a}\label{drawing_8h_a4dad87d91b9201be3b4ede372f31ae8a}} +\index{drawing.h@{drawing.h}!DKGREY@{DKGREY}} +\index{DKGREY@{DKGREY}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{DKGREY}{DKGREY}} +{\footnotesize\ttfamily \#define D\+K\+G\+R\+EY~2} + +\mbox{\Hypertarget{drawing_8h_a7b3b25cba33b07c303f3060fe41887f6}\label{drawing_8h_a7b3b25cba33b07c303f3060fe41887f6}} +\index{drawing.h@{drawing.h}!BLACK@{BLACK}} +\index{BLACK@{BLACK}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{BLACK}{BLACK}} +{\footnotesize\ttfamily \#define B\+L\+A\+CK~3} + +\mbox{\Hypertarget{drawing_8h_a91d52443c77ee105bd68cb0b47a8ee49}\label{drawing_8h_a91d52443c77ee105bd68cb0b47a8ee49}} +\index{drawing.h@{drawing.h}!M\_NOFILL@{M\_NOFILL}} +\index{M\_NOFILL@{M\_NOFILL}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{M\_NOFILL}{M\_NOFILL}} +{\footnotesize\ttfamily \#define M\+\_\+\+N\+O\+F\+I\+LL~0} + +Possible fill styles for \mbox{\hyperlink{drawing_8h_ae1170230e5c9e61cc4321632e949e7ce}{box()}} and \mbox{\hyperlink{drawing_8h_ad46c3bdc38dfc9b70214693390d404cb}{circle()}} \mbox{\Hypertarget{drawing_8h_aad3d180e0f12d6a6e5278fe0163f4c3e}\label{drawing_8h_aad3d180e0f12d6a6e5278fe0163f4c3e}} +\index{drawing.h@{drawing.h}!M\_FILL@{M\_FILL}} +\index{M\_FILL@{M\_FILL}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{M\_FILL}{M\_FILL}} +{\footnotesize\ttfamily \#define M\+\_\+\+F\+I\+LL~1} + +\mbox{\Hypertarget{drawing_8h_a4dec4d9b2bace4f5bc6e6337f4086837}\label{drawing_8h_a4dec4d9b2bace4f5bc6e6337f4086837}} +\index{drawing.h@{drawing.h}!SIGNED@{SIGNED}} +\index{SIGNED@{SIGNED}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{SIGNED}{SIGNED}} +{\footnotesize\ttfamily \#define S\+I\+G\+N\+ED~1} + +Possible values for signed\+\_\+value in \mbox{\hyperlink{drawing_8h_afeb7c0a887fe3d18659175de77a787a5}{gprintln()}} and \mbox{\hyperlink{drawing_8h_a9d70278d1d09fdc24ea6bd9788dbd96a}{gprintn()}} \mbox{\Hypertarget{drawing_8h_a08cbc66092284f7da94279f986a0aae9}\label{drawing_8h_a08cbc66092284f7da94279f986a0aae9}} +\index{drawing.h@{drawing.h}!UNSIGNED@{UNSIGNED}} +\index{UNSIGNED@{UNSIGNED}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{UNSIGNED}{UNSIGNED}} +{\footnotesize\ttfamily \#define U\+N\+S\+I\+G\+N\+ED~0} + + + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{drawing_8h_aef65e5faa0adb82768fca06aafbe50e8}\label{drawing_8h_aef65e5faa0adb82768fca06aafbe50e8}} +\index{drawing.h@{drawing.h}!gprint@{gprint}} +\index{gprint@{gprint}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{gprint()}{gprint()}} +{\footnotesize\ttfamily void gprint (\begin{DoxyParamCaption}\item[{char $\ast$}]{str }\end{DoxyParamCaption})} + +Print the string \textquotesingle{}str\textquotesingle{} with no interpretation \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{drawing_8h_a2d6cbdc9528ec11ac54bd3dbe754ab74}{gotogxy()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{drawing_8h_afeb7c0a887fe3d18659175de77a787a5}\label{drawing_8h_afeb7c0a887fe3d18659175de77a787a5}} +\index{drawing.h@{drawing.h}!gprintln@{gprintln}} +\index{gprintln@{gprintln}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{gprintln()}{gprintln()}} +{\footnotesize\ttfamily void gprintln (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_a66634143db08bebe9b46ab4cb1fc6fd3}{int16\+\_\+t}}}]{number, }\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{radix, }\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{signed\+\_\+value }\end{DoxyParamCaption})} + +Print 16 bit {\bfseries{number}} in {\bfseries{radix}} (base) in the default font at the current text position. + + +\begin{DoxyParams}{Parameters} +{\em number} & number to print \\ +\hline +{\em radix} & radix (base) to print with \\ +\hline +{\em signed\+\_\+value} & should be set to S\+I\+G\+N\+ED or U\+N\+S\+I\+G\+N\+ED depending on whether the number is signed or not\\ +\hline +\end{DoxyParams} +The current position is advanced by the numer of characters printed. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{drawing_8h_a2d6cbdc9528ec11ac54bd3dbe754ab74}{gotogxy()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{drawing_8h_a9d70278d1d09fdc24ea6bd9788dbd96a}\label{drawing_8h_a9d70278d1d09fdc24ea6bd9788dbd96a}} +\index{drawing.h@{drawing.h}!gprintn@{gprintn}} +\index{gprintn@{gprintn}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{gprintn()}{gprintn()}} +{\footnotesize\ttfamily void gprintn (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{number, }\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{radix, }\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{signed\+\_\+value }\end{DoxyParamCaption})} + +Print 8 bit {\bfseries{number}} in {\bfseries{radix}} (base) in the default font at the current text position. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{drawing_8h_afeb7c0a887fe3d18659175de77a787a5}{gprintln()}}, \mbox{\hyperlink{drawing_8h_a2d6cbdc9528ec11ac54bd3dbe754ab74}{gotogxy()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{drawing_8h_a5f7a0ed309f9526e9be285146559848c}\label{drawing_8h_a5f7a0ed309f9526e9be285146559848c}} +\index{drawing.h@{drawing.h}!gprintf@{gprintf}} +\index{gprintf@{gprintf}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{gprintf()}{gprintf()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} gprintf (\begin{DoxyParamCaption}\item[{char $\ast$}]{fmt, }\item[{}]{... }\end{DoxyParamCaption})} + +Print the string and arguments given by {\bfseries{fmt}} with arguments \+\_\+\+\_\+...\+\_\+\+\_\+ + + +\begin{DoxyParams}{Parameters} +{\em fmt} & The format string as per printf \\ +\hline +{\em ...} & params\\ +\hline +\end{DoxyParams} +Currently supported\+: \begin{DoxyItemize} +\item \%c (character) \item \%u (int) \item \%d (int8\+\_\+t) \item \%o (int8\+\_\+t as octal) \item \%x (int8\+\_\+t as hex) \item \%s (string)\end{DoxyItemize} +\begin{DoxyReturn}{Returns} +Returns the number of items printed, or -\/1 if there was an error. +\end{DoxyReturn} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{drawing_8h_a2d6cbdc9528ec11ac54bd3dbe754ab74}{gotogxy()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{drawing_8h_ac888c327137d7f00cb3af57af236602a}\label{drawing_8h_ac888c327137d7f00cb3af57af236602a}} +\index{drawing.h@{drawing.h}!plot@{plot}} +\index{plot@{plot}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{plot()}{plot()}} +{\footnotesize\ttfamily void plot (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{colour, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{mode }\end{DoxyParamCaption})} + +Old style plot -\/ try \mbox{\hyperlink{drawing_8h_a595c77bca15884c75fd85af84f373814}{plot\+\_\+point()}} \mbox{\Hypertarget{drawing_8h_a595c77bca15884c75fd85af84f373814}\label{drawing_8h_a595c77bca15884c75fd85af84f373814}} +\index{drawing.h@{drawing.h}!plot\_point@{plot\_point}} +\index{plot\_point@{plot\_point}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{plot\_point()}{plot\_point()}} +{\footnotesize\ttfamily void plot\+\_\+point (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})} + +Plot a point in the current drawing mode and colour at {\bfseries{x,y}} \mbox{\Hypertarget{drawing_8h_a7b8f466ecc6be62f6c034e52f05e957a}\label{drawing_8h_a7b8f466ecc6be62f6c034e52f05e957a}} +\index{drawing.h@{drawing.h}!switch\_data@{switch\_data}} +\index{switch\_data@{switch\_data}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{switch\_data()}{switch\_data()}} +{\footnotesize\ttfamily void switch\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{src, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{dst }\end{DoxyParamCaption})} + +Exchanges the tile on screen at x,y with the tile pointed by src, original tile is saved in dst. Both src and dst may be N\+U\+LL -\/ saving or copying to screen is not performed in this case. \mbox{\Hypertarget{drawing_8h_ab2c383d3e1541fae40cf5174e22166c6}\label{drawing_8h_ab2c383d3e1541fae40cf5174e22166c6}} +\index{drawing.h@{drawing.h}!draw\_image@{draw\_image}} +\index{draw\_image@{draw\_image}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{draw\_image()}{draw\_image()}} +{\footnotesize\ttfamily void draw\+\_\+image (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data }\end{DoxyParamCaption})} + +Draw a full screen image at {\bfseries{data}} \mbox{\Hypertarget{drawing_8h_afe0ad8959a2867c4b60829d065660f1b}\label{drawing_8h_afe0ad8959a2867c4b60829d065660f1b}} +\index{drawing.h@{drawing.h}!line@{line}} +\index{line@{line}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{line()}{line()}} +{\footnotesize\ttfamily void line (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x1, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y1, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x2, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y2 }\end{DoxyParamCaption})} + +Draw a line in the current drawing mode and colour from {\bfseries{x1,y1}} to {\bfseries{x2,y2}} \mbox{\Hypertarget{drawing_8h_ae1170230e5c9e61cc4321632e949e7ce}\label{drawing_8h_ae1170230e5c9e61cc4321632e949e7ce}} +\index{drawing.h@{drawing.h}!box@{box}} +\index{box@{box}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{box()}{box()}} +{\footnotesize\ttfamily void box (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x1, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y1, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x2, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y2, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{style }\end{DoxyParamCaption})} + +Draw a box (rectangle) with corners {\bfseries{x1,y1}} and {\bfseries{x2,y2}} using fill mode {\bfseries{style}} (one of N\+O\+F\+I\+LL or F\+I\+LL) \mbox{\Hypertarget{drawing_8h_ad46c3bdc38dfc9b70214693390d404cb}\label{drawing_8h_ad46c3bdc38dfc9b70214693390d404cb}} +\index{drawing.h@{drawing.h}!circle@{circle}} +\index{circle@{circle}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{circle()}{circle()}} +{\footnotesize\ttfamily void circle (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{radius, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{style }\end{DoxyParamCaption})} + +Draw a circle with centre at {\bfseries{x,y}} and {\bfseries{radius}} using fill mode {\bfseries{style}} (one of N\+O\+F\+I\+LL or F\+I\+LL) \mbox{\Hypertarget{drawing_8h_a1e268a46a8151f9cc3b7b40100123d09}\label{drawing_8h_a1e268a46a8151f9cc3b7b40100123d09}} +\index{drawing.h@{drawing.h}!getpix@{getpix}} +\index{getpix@{getpix}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{getpix()}{getpix()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} getpix (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})} + +Returns the current colour of the pixel at {\bfseries{x,y}} \mbox{\Hypertarget{drawing_8h_a9178e678a17cb08653600f435093ae2a}\label{drawing_8h_a9178e678a17cb08653600f435093ae2a}} +\index{drawing.h@{drawing.h}!wrtchr@{wrtchr}} +\index{wrtchr@{wrtchr}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{wrtchr()}{wrtchr()}} +{\footnotesize\ttfamily void wrtchr (\begin{DoxyParamCaption}\item[{char}]{chr }\end{DoxyParamCaption})} + +Prints the character {\bfseries{chr}} in the default font at the current text position. + +The current position is advanced by 1 after the character is printed. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{drawing_8h_a2d6cbdc9528ec11ac54bd3dbe754ab74}{gotogxy()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{drawing_8h_a2d6cbdc9528ec11ac54bd3dbe754ab74}\label{drawing_8h_a2d6cbdc9528ec11ac54bd3dbe754ab74}} +\index{drawing.h@{drawing.h}!gotogxy@{gotogxy}} +\index{gotogxy@{gotogxy}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{gotogxy()}{gotogxy()}} +{\footnotesize\ttfamily void gotogxy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})} + +Sets the current text position to {\bfseries{x,y}}. + +Note\+: {\bfseries{x}} and {\bfseries{y}} have units of tiles (8 pixels per unit) \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{drawing_8h_a9178e678a17cb08653600f435093ae2a}{wrtchr()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{drawing_8h_a9fa68d25be92836a1b08a5e610b4f32f}\label{drawing_8h_a9fa68d25be92836a1b08a5e610b4f32f}} +\index{drawing.h@{drawing.h}!color@{color}} +\index{color@{color}!drawing.h@{drawing.h}} +\doxyparagraph{\texorpdfstring{color()}{color()}} +{\footnotesize\ttfamily void color (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{forecolor, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{backcolor, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{mode }\end{DoxyParamCaption})} + +Set the current {\bfseries{foreground}} colour (for pixels), {\bfseries{background}} colour, and draw {\bfseries{mode}} + diff --git a/docs/latex/emu__debug_8h.tex b/docs/latex/emu__debug_8h.tex @@ -0,0 +1,206 @@ +\hypertarget{emu__debug_8h}{}\doxysubsection{gb/emu\+\_\+debug.h File Reference} +\label{emu__debug_8h}\index{gb/emu\_debug.h@{gb/emu\_debug.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{emu__debug_8h_a5624be3849bf5308c6cc05bc4a624557}{E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+GE}}(message\+\_\+text)~E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+G\+E1(E\+M\+U\+\_\+\+M\+A\+C\+R\+O\+N\+A\+ME(\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+), message\+\_\+text) +\item +\#define \mbox{\hyperlink{emu__debug_8h_aabd48c83af8f69ed624bb8a83347fa39}{B\+G\+B\+\_\+\+M\+E\+S\+S\+A\+GE}}(message\+\_\+text)~\mbox{\hyperlink{emu__debug_8h_a5624be3849bf5308c6cc05bc4a624557}{E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+GE}}(message\+\_\+text) +\item +\#define \mbox{\hyperlink{emu__debug_8h_a5359c3e6ddab89f41f1de770cc3640d4}{E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+B\+E\+G\+IN}}(M\+SG)~E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+G\+E\+\_\+\+S\+U\+F\+F\+IX(M\+SG, \char`\"{}\%Z\+E\+R\+O\+C\+L\+KS\%\char`\"{}); +\item +\#define \mbox{\hyperlink{emu__debug_8h_ab5b05deda52856c84f274fb28578b6ee}{B\+G\+B\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+B\+E\+G\+IN}}(M\+SG)~\mbox{\hyperlink{emu__debug_8h_a5359c3e6ddab89f41f1de770cc3640d4}{E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+B\+E\+G\+IN}}(M\+SG) +\item +\#define \mbox{\hyperlink{emu__debug_8h_acce78126775a7ca3c862459e28203aba}{E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+E\+ND}}(M\+SG)~E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+G\+E\+\_\+\+S\+U\+F\+F\+IX(M\+SG,\char`\"{}\%-\/8+L\+A\+S\+T\+C\+L\+KS\%\char`\"{}); +\item +\#define \mbox{\hyperlink{emu__debug_8h_ab43f94064dc523e99c4aefb440e2c3ed}{B\+G\+B\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+E\+ND}}(M\+SG)~\mbox{\hyperlink{emu__debug_8h_acce78126775a7ca3c862459e28203aba}{E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+E\+ND}}(M\+SG) +\item +\#define \mbox{\hyperlink{emu__debug_8h_ad1ca656789d7d285b352afeaa4cc56bd}{E\+M\+U\+\_\+\+T\+E\+XT}}(M\+SG)~\mbox{\hyperlink{emu__debug_8h_a5624be3849bf5308c6cc05bc4a624557}{E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+GE}}(M\+SG) +\item +\#define \mbox{\hyperlink{emu__debug_8h_a6afa665bd7d093e7ca2d310cc92b08a9}{B\+G\+B\+\_\+\+T\+E\+XT}}(M\+SG)~\mbox{\hyperlink{emu__debug_8h_ad1ca656789d7d285b352afeaa4cc56bd}{E\+M\+U\+\_\+\+T\+E\+XT}}(M\+SG) +\item +\#define \mbox{\hyperlink{emu__debug_8h_a47c147586d9a21282ce72a83947508e9}{B\+G\+B\+\_\+profiler\+\_\+message}}()~\mbox{\hyperlink{emu__debug_8h_a1e2adc0111203ce0f551bcb1d99395df}{E\+M\+U\+\_\+profiler\+\_\+message}}() +\item +\#define \mbox{\hyperlink{emu__debug_8h_a892ddea0cd396141c1ae05e384303cbf}{B\+G\+B\+\_\+printf}}(...)~\mbox{\hyperlink{emu__debug_8h_a586ce1ddfba9c35726887ca31f933963}{E\+M\+U\+\_\+printf}}(\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+) +\item +\#define \mbox{\hyperlink{emu__debug_8h_a9e856b4691d63bb41c5148b9097bd2bb}{E\+M\+U\+\_\+\+B\+R\+E\+A\+K\+P\+O\+I\+NT}}~\+\_\+\+\_\+asm\+\_\+\+\_\+(\char`\"{}ld \mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}, \mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}\char`\"{}); +\item +\#define \mbox{\hyperlink{emu__debug_8h_a95c9ae3faadfe6f93a3cac87085b3481}{B\+G\+B\+\_\+\+B\+R\+E\+A\+K\+P\+O\+I\+NT}}~\mbox{\hyperlink{emu__debug_8h_a9e856b4691d63bb41c5148b9097bd2bb}{E\+M\+U\+\_\+\+B\+R\+E\+A\+K\+P\+O\+I\+NT}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{emu__debug_8h_a1e2adc0111203ce0f551bcb1d99395df}{E\+M\+U\+\_\+profiler\+\_\+message}} () +\item +void \mbox{\hyperlink{emu__debug_8h_a586ce1ddfba9c35726887ca31f933963}{E\+M\+U\+\_\+printf}} (const char $\ast$format,...) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Debug window logging and profiling support for emulators (B\+GB, Emulicious, etc). + +Also see the {\ttfamily emu\+\_\+debug} example project included with gbdk. + +See the B\+GB Manual for more information (\char`\"{}expressions, breakpoint conditions, and debug messages\char`\"{}) \href{http://bgb.bircd.org/manual.html\#expressions}{\texttt{ http\+://bgb.\+bircd.\+org/manual.\+html\#expressions}} + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{emu__debug_8h_a5624be3849bf5308c6cc05bc4a624557}\label{emu__debug_8h_a5624be3849bf5308c6cc05bc4a624557}} +\index{emu\_debug.h@{emu\_debug.h}!EMU\_MESSAGE@{EMU\_MESSAGE}} +\index{EMU\_MESSAGE@{EMU\_MESSAGE}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{EMU\_MESSAGE}{EMU\_MESSAGE}} +{\footnotesize\ttfamily \#define E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+GE(\begin{DoxyParamCaption}\item[{}]{message\+\_\+text }\end{DoxyParamCaption})~E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+G\+E1(E\+M\+U\+\_\+\+M\+A\+C\+R\+O\+N\+A\+ME(\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+), message\+\_\+text)} + +Macro to display a message in the emulator debug message window + + +\begin{DoxyParams}{Parameters} +{\em message\+\_\+text} & Quoted text string to display in the debug message window\\ +\hline +\end{DoxyParams} +The following special parameters can be used when bracketed with \char`\"{}\%\char`\"{} characters. \begin{DoxyItemize} +\item C\+PU registers\+: AF, BC, DE, HL, SP, PC, B, C, D, E, H, L, A, Z\+E\+RO, ZF, Z, C\+A\+R\+RY, CY, I\+ME, A\+L\+L\+R\+E\+GS \item Other state values\+: R\+O\+M\+B\+A\+NK, X\+R\+A\+M\+B\+A\+NK, S\+R\+A\+M\+B\+A\+NK, W\+R\+A\+M\+B\+A\+NK, V\+R\+A\+M\+B\+A\+NK, T\+O\+T\+A\+L\+C\+L\+KS, L\+A\+S\+T\+C\+L\+KS, C\+L\+K\+S2\+V\+B\+L\+A\+NK\end{DoxyItemize} +Example\+: print a message along with the currently active R\+OM bank. +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{emu__debug_8h_a5624be3849bf5308c6cc05bc4a624557}{EMU\_MESSAGE}}(\textcolor{stringliteral}{"{}Current ROM Bank is: \%ROMBANK\%"{}});} +\end{DoxyCode} + + +See the B\+GB Manual for more information (\char`\"{}expressions, breakpoint conditions, and debug messages\char`\"{}) \href{http://bgb.bircd.org/manual.html\#expressions}{\texttt{ http\+://bgb.\+bircd.\+org/manual.\+html\#expressions}} + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{emu__debug_8h_a5359c3e6ddab89f41f1de770cc3640d4}{E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+B\+E\+G\+I\+N()}}, \mbox{\hyperlink{emu__debug_8h_acce78126775a7ca3c862459e28203aba}{E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+E\+N\+D()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{emu__debug_8h_aabd48c83af8f69ed624bb8a83347fa39}\label{emu__debug_8h_aabd48c83af8f69ed624bb8a83347fa39}} +\index{emu\_debug.h@{emu\_debug.h}!BGB\_MESSAGE@{BGB\_MESSAGE}} +\index{BGB\_MESSAGE@{BGB\_MESSAGE}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{BGB\_MESSAGE}{BGB\_MESSAGE}} +{\footnotesize\ttfamily \#define B\+G\+B\+\_\+\+M\+E\+S\+S\+A\+GE(\begin{DoxyParamCaption}\item[{}]{message\+\_\+text }\end{DoxyParamCaption})~\mbox{\hyperlink{emu__debug_8h_a5624be3849bf5308c6cc05bc4a624557}{E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+GE}}(message\+\_\+text)} + +\mbox{\Hypertarget{emu__debug_8h_a5359c3e6ddab89f41f1de770cc3640d4}\label{emu__debug_8h_a5359c3e6ddab89f41f1de770cc3640d4}} +\index{emu\_debug.h@{emu\_debug.h}!EMU\_PROFILE\_BEGIN@{EMU\_PROFILE\_BEGIN}} +\index{EMU\_PROFILE\_BEGIN@{EMU\_PROFILE\_BEGIN}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{EMU\_PROFILE\_BEGIN}{EMU\_PROFILE\_BEGIN}} +{\footnotesize\ttfamily \#define E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+B\+E\+G\+IN(\begin{DoxyParamCaption}\item[{}]{M\+SG }\end{DoxyParamCaption})~E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+G\+E\+\_\+\+S\+U\+F\+F\+IX(M\+SG, \char`\"{}\%Z\+E\+R\+O\+C\+L\+KS\%\char`\"{});} + +Macro to {\bfseries{Start}} a profiling block for the emulator (B\+GB, Emulicious, etc) + + +\begin{DoxyParams}{Parameters} +{\em M\+SG} & Quoted text string to display in the debug message window along with the result\\ +\hline +\end{DoxyParams} +To complete the profiling block and print the result call \mbox{\hyperlink{emu__debug_8h_acce78126775a7ca3c862459e28203aba}{E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+E\+ND}}. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{emu__debug_8h_acce78126775a7ca3c862459e28203aba}{E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+E\+N\+D()}}, \mbox{\hyperlink{emu__debug_8h_a5624be3849bf5308c6cc05bc4a624557}{E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+G\+E()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{emu__debug_8h_ab5b05deda52856c84f274fb28578b6ee}\label{emu__debug_8h_ab5b05deda52856c84f274fb28578b6ee}} +\index{emu\_debug.h@{emu\_debug.h}!BGB\_PROFILE\_BEGIN@{BGB\_PROFILE\_BEGIN}} +\index{BGB\_PROFILE\_BEGIN@{BGB\_PROFILE\_BEGIN}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{BGB\_PROFILE\_BEGIN}{BGB\_PROFILE\_BEGIN}} +{\footnotesize\ttfamily \#define B\+G\+B\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+B\+E\+G\+IN(\begin{DoxyParamCaption}\item[{}]{M\+SG }\end{DoxyParamCaption})~\mbox{\hyperlink{emu__debug_8h_a5359c3e6ddab89f41f1de770cc3640d4}{E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+B\+E\+G\+IN}}(M\+SG)} + +\mbox{\Hypertarget{emu__debug_8h_acce78126775a7ca3c862459e28203aba}\label{emu__debug_8h_acce78126775a7ca3c862459e28203aba}} +\index{emu\_debug.h@{emu\_debug.h}!EMU\_PROFILE\_END@{EMU\_PROFILE\_END}} +\index{EMU\_PROFILE\_END@{EMU\_PROFILE\_END}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{EMU\_PROFILE\_END}{EMU\_PROFILE\_END}} +{\footnotesize\ttfamily \#define E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+E\+ND(\begin{DoxyParamCaption}\item[{}]{M\+SG }\end{DoxyParamCaption})~E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+G\+E\+\_\+\+S\+U\+F\+F\+IX(M\+SG,\char`\"{}\%-\/8+L\+A\+S\+T\+C\+L\+KS\%\char`\"{});} + +Macro to {\bfseries{End}} a profiling block and print the results in the emulator debug message window + + +\begin{DoxyParams}{Parameters} +{\em M\+SG} & Quoted text string to display in the debug message window along with the result\\ +\hline +\end{DoxyParams} +This should only be called after a previous call to \mbox{\hyperlink{emu__debug_8h_a5359c3e6ddab89f41f1de770cc3640d4}{E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+B\+E\+G\+I\+N()}} + +The results are in Emulator clock units, which are \char`\"{}1 nop in \mbox{[}\+C\+G\+B\mbox{]} doublespeed mode\char`\"{}. + +So when running in Normal Speed mode (i.\+e. non-\/\+C\+GB doublespeed) the printed result should be {\bfseries{divided by 2}} to get the actual ellapsed cycle count. + +If running in CB Double Speed mode use the below call instead, it correctly compensates for the speed difference. In this scenario, the result does {\bfseries{not need to be divided by 2}} to get the ellapsed cycle count. +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{emu__debug_8h_a5624be3849bf5308c6cc05bc4a624557}{EMU\_MESSAGE}}(\textcolor{stringliteral}{"{}NOP TIME: \%-\/4+LASTCLKS\%"{}});} +\end{DoxyCode} + + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{emu__debug_8h_a5359c3e6ddab89f41f1de770cc3640d4}{E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+B\+E\+G\+I\+N()}}, \mbox{\hyperlink{emu__debug_8h_a5624be3849bf5308c6cc05bc4a624557}{E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+G\+E()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{emu__debug_8h_ab43f94064dc523e99c4aefb440e2c3ed}\label{emu__debug_8h_ab43f94064dc523e99c4aefb440e2c3ed}} +\index{emu\_debug.h@{emu\_debug.h}!BGB\_PROFILE\_END@{BGB\_PROFILE\_END}} +\index{BGB\_PROFILE\_END@{BGB\_PROFILE\_END}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{BGB\_PROFILE\_END}{BGB\_PROFILE\_END}} +{\footnotesize\ttfamily \#define B\+G\+B\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+E\+ND(\begin{DoxyParamCaption}\item[{}]{M\+SG }\end{DoxyParamCaption})~\mbox{\hyperlink{emu__debug_8h_acce78126775a7ca3c862459e28203aba}{E\+M\+U\+\_\+\+P\+R\+O\+F\+I\+L\+E\+\_\+\+E\+ND}}(M\+SG)} + +\mbox{\Hypertarget{emu__debug_8h_ad1ca656789d7d285b352afeaa4cc56bd}\label{emu__debug_8h_ad1ca656789d7d285b352afeaa4cc56bd}} +\index{emu\_debug.h@{emu\_debug.h}!EMU\_TEXT@{EMU\_TEXT}} +\index{EMU\_TEXT@{EMU\_TEXT}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{EMU\_TEXT}{EMU\_TEXT}} +{\footnotesize\ttfamily \#define E\+M\+U\+\_\+\+T\+E\+XT(\begin{DoxyParamCaption}\item[{}]{M\+SG }\end{DoxyParamCaption})~\mbox{\hyperlink{emu__debug_8h_a5624be3849bf5308c6cc05bc4a624557}{E\+M\+U\+\_\+\+M\+E\+S\+S\+A\+GE}}(M\+SG)} + +\mbox{\Hypertarget{emu__debug_8h_a6afa665bd7d093e7ca2d310cc92b08a9}\label{emu__debug_8h_a6afa665bd7d093e7ca2d310cc92b08a9}} +\index{emu\_debug.h@{emu\_debug.h}!BGB\_TEXT@{BGB\_TEXT}} +\index{BGB\_TEXT@{BGB\_TEXT}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{BGB\_TEXT}{BGB\_TEXT}} +{\footnotesize\ttfamily \#define B\+G\+B\+\_\+\+T\+E\+XT(\begin{DoxyParamCaption}\item[{}]{M\+SG }\end{DoxyParamCaption})~\mbox{\hyperlink{emu__debug_8h_ad1ca656789d7d285b352afeaa4cc56bd}{E\+M\+U\+\_\+\+T\+E\+XT}}(M\+SG)} + +\mbox{\Hypertarget{emu__debug_8h_a47c147586d9a21282ce72a83947508e9}\label{emu__debug_8h_a47c147586d9a21282ce72a83947508e9}} +\index{emu\_debug.h@{emu\_debug.h}!BGB\_profiler\_message@{BGB\_profiler\_message}} +\index{BGB\_profiler\_message@{BGB\_profiler\_message}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{BGB\_profiler\_message}{BGB\_profiler\_message}} +{\footnotesize\ttfamily \#define B\+G\+B\+\_\+profiler\+\_\+message(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~\mbox{\hyperlink{emu__debug_8h_a1e2adc0111203ce0f551bcb1d99395df}{E\+M\+U\+\_\+profiler\+\_\+message}}()} + +\mbox{\Hypertarget{emu__debug_8h_a892ddea0cd396141c1ae05e384303cbf}\label{emu__debug_8h_a892ddea0cd396141c1ae05e384303cbf}} +\index{emu\_debug.h@{emu\_debug.h}!BGB\_printf@{BGB\_printf}} +\index{BGB\_printf@{BGB\_printf}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{BGB\_printf}{BGB\_printf}} +{\footnotesize\ttfamily \#define B\+G\+B\+\_\+printf(\begin{DoxyParamCaption}\item[{}]{... }\end{DoxyParamCaption})~\mbox{\hyperlink{emu__debug_8h_a586ce1ddfba9c35726887ca31f933963}{E\+M\+U\+\_\+printf}}(\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)} + +\mbox{\Hypertarget{emu__debug_8h_a9e856b4691d63bb41c5148b9097bd2bb}\label{emu__debug_8h_a9e856b4691d63bb41c5148b9097bd2bb}} +\index{emu\_debug.h@{emu\_debug.h}!EMU\_BREAKPOINT@{EMU\_BREAKPOINT}} +\index{EMU\_BREAKPOINT@{EMU\_BREAKPOINT}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{EMU\_BREAKPOINT}{EMU\_BREAKPOINT}} +{\footnotesize\ttfamily \#define E\+M\+U\+\_\+\+B\+R\+E\+A\+K\+P\+O\+I\+NT~\+\_\+\+\_\+asm\+\_\+\+\_\+(\char`\"{}ld \mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}, \mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}\char`\"{});} + +The Emulator will break into debugger when encounters this line \mbox{\Hypertarget{emu__debug_8h_a95c9ae3faadfe6f93a3cac87085b3481}\label{emu__debug_8h_a95c9ae3faadfe6f93a3cac87085b3481}} +\index{emu\_debug.h@{emu\_debug.h}!BGB\_BREAKPOINT@{BGB\_BREAKPOINT}} +\index{BGB\_BREAKPOINT@{BGB\_BREAKPOINT}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{BGB\_BREAKPOINT}{BGB\_BREAKPOINT}} +{\footnotesize\ttfamily \#define B\+G\+B\+\_\+\+B\+R\+E\+A\+K\+P\+O\+I\+NT~\mbox{\hyperlink{emu__debug_8h_a9e856b4691d63bb41c5148b9097bd2bb}{E\+M\+U\+\_\+\+B\+R\+E\+A\+K\+P\+O\+I\+NT}}} + + + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{emu__debug_8h_a1e2adc0111203ce0f551bcb1d99395df}\label{emu__debug_8h_a1e2adc0111203ce0f551bcb1d99395df}} +\index{emu\_debug.h@{emu\_debug.h}!EMU\_profiler\_message@{EMU\_profiler\_message}} +\index{EMU\_profiler\_message@{EMU\_profiler\_message}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{EMU\_profiler\_message()}{EMU\_profiler\_message()}} +{\footnotesize\ttfamily void E\+M\+U\+\_\+profiler\+\_\+message (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Display preset debug information in the Emulator debug messages window. + +This function is equivalent to\+: +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{emu__debug_8h_a5624be3849bf5308c6cc05bc4a624557}{EMU\_MESSAGE}}(\textcolor{stringliteral}{"{}PROFILE,\%(SP+\$0)\%,\%(SP+\$1)\%,\%A\%,\%TOTALCLKS\%,\%ROMBANK\%,\%WRAMBANK\%"{}});} +\end{DoxyCode} + \mbox{\Hypertarget{emu__debug_8h_a586ce1ddfba9c35726887ca31f933963}\label{emu__debug_8h_a586ce1ddfba9c35726887ca31f933963}} +\index{emu\_debug.h@{emu\_debug.h}!EMU\_printf@{EMU\_printf}} +\index{EMU\_printf@{EMU\_printf}!emu\_debug.h@{emu\_debug.h}} +\doxyparagraph{\texorpdfstring{EMU\_printf()}{EMU\_printf()}} +{\footnotesize\ttfamily void E\+M\+U\+\_\+printf (\begin{DoxyParamCaption}\item[{const char $\ast$}]{format, }\item[{}]{... }\end{DoxyParamCaption})} + +Print the string and arguments given by format to the emulator debug message window + + +\begin{DoxyParams}{Parameters} +{\em format} & The format string as per printf\\ +\hline +\end{DoxyParams} +Does not return the number of characters printed. Result string M\+U\+ST BE L\+E\+SS OR E\+Q\+U\+AL T\+H\+AN 128 B\+Y\+T\+ES L\+O\+NG, I\+N\+C\+L\+U\+D\+I\+NG T\+HE T\+R\+A\+I\+L\+IG Z\+E\+RO B\+Y\+T\+E! + +Currently supported\+: \begin{DoxyItemize} +\item \%hx (char as hex) \item \%hu (unsigned char) \item \%hd (signed char) \item \%c (character) \item \%u (unsigned int) \item \%d (signed int) \item \%x (unsigned int as hex) \item \%s (string)\end{DoxyItemize} +Warning\+: to correctly pass chars for printing as chars, they {\itshape must} be explicitly re-\/cast as such when calling the function. See \mbox{\hyperlink{docs_coding_guidelines_docs_chars_varargs}{docs\+\_\+chars\+\_\+varargs}} for more details. + diff --git a/docs/latex/far__ptr_8h.tex b/docs/latex/far__ptr_8h.tex @@ -0,0 +1,194 @@ +\hypertarget{far__ptr_8h}{}\doxysubsection{gbdk/far\+\_\+ptr.h File Reference} +\label{far__ptr_8h}\index{gbdk/far\_ptr.h@{gbdk/far\_ptr.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Data Structures} +\begin{DoxyCompactItemize} +\item +union \mbox{\hyperlink{union____far__ptr}{\+\_\+\+\_\+far\+\_\+ptr}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{far__ptr_8h_a0c227677a96f9bf7e84a90922f2f8708}{T\+O\+\_\+\+F\+A\+R\+\_\+\+P\+TR}}(ofs, seg)~(((\mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}})seg $<$$<$ 16) $\vert$ (\mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}})ofs) +\item +\#define \mbox{\hyperlink{far__ptr_8h_a5bebc5322a1bba1c60c8d60e9b58be14}{F\+A\+R\+\_\+\+S\+EG}}(ptr)~(((union \mbox{\hyperlink{union____far__ptr}{\+\_\+\+\_\+far\+\_\+ptr}} $\ast$)\&ptr)-\/$>$segofs.\+seg) +\item +\#define \mbox{\hyperlink{far__ptr_8h_ab79586d8cc3cb926f363f4d0cf7143d5}{F\+A\+R\+\_\+\+O\+FS}}(ptr)~(((union \mbox{\hyperlink{union____far__ptr}{\+\_\+\+\_\+far\+\_\+ptr}} $\ast$)\&ptr)-\/$>$segofs.\+ofs) +\item +\#define \mbox{\hyperlink{far__ptr_8h_a048cfacb5d37ab758a74f44e86c1dbc6}{F\+A\+R\+\_\+\+F\+U\+NC}}(ptr, typ)~((typ)(((union \mbox{\hyperlink{union____far__ptr}{\+\_\+\+\_\+far\+\_\+ptr}} $\ast$)\&ptr)-\/$>$segfn.\+fn)) +\item +\#define \mbox{\hyperlink{far__ptr_8h_a7f4ab1893ea392f8bf042a3b97de4730}{F\+A\+R\+\_\+\+C\+A\+LL}}(ptr, typ, ...)~(\mbox{\hyperlink{far__ptr_8h_a27792b7fc3796a1e1828d4c5812e5b21}{\+\_\+\+\_\+call\+\_\+banked\+\_\+ptr}}=ptr,((typ)(\&\mbox{\hyperlink{far__ptr_8h_aa45a2312a2584abb8733a052f66b4a90}{\+\_\+\+\_\+call\+\_\+\+\_\+banked}}))(\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)) +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef \mbox{\hyperlink{stdint_8h_a33594304e786b158f3fb30289278f5af}{uint32\+\_\+t}} \mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{far__ptr_8h_aa45a2312a2584abb8733a052f66b4a90}{\+\_\+\+\_\+call\+\_\+\+\_\+banked}} () +\item +\mbox{\hyperlink{stdint_8h_a33594304e786b158f3fb30289278f5af}{uint32\+\_\+t}} \mbox{\hyperlink{far__ptr_8h_a23ab15f7eb85a48d72f717183badb110}{to\+\_\+far\+\_\+ptr}} (void $\ast$ofs, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} seg) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +volatile \mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}} \mbox{\hyperlink{far__ptr_8h_a27792b7fc3796a1e1828d4c5812e5b21}{\+\_\+\+\_\+call\+\_\+banked\+\_\+ptr}} +\item +volatile void $\ast$ \mbox{\hyperlink{far__ptr_8h_a1344c26ca298a9eadea4bcfea6442ae3}{\+\_\+\+\_\+call\+\_\+banked\+\_\+addr}} +\item +volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{far__ptr_8h_a892433d652420445a9a6aebf1a256623}{\+\_\+\+\_\+call\+\_\+banked\+\_\+bank}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Far pointers include a segment (bank) selector so they are able to point to addresses (functions or data) outside of the current bank (unlike normal pointers which are not bank-\/aware). + +See the {\ttfamily banks\+\_\+farptr} example project included with gbdk. + +\begin{DoxyRefDesc}{Todo} +\item[\mbox{\hyperlink{todo__todo000001}{Todo}}]Add link to a discussion about banking (such as, how to assign code and variables to banks) \end{DoxyRefDesc} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{far__ptr_8h_a0c227677a96f9bf7e84a90922f2f8708}\label{far__ptr_8h_a0c227677a96f9bf7e84a90922f2f8708}} +\index{far\_ptr.h@{far\_ptr.h}!TO\_FAR\_PTR@{TO\_FAR\_PTR}} +\index{TO\_FAR\_PTR@{TO\_FAR\_PTR}!far\_ptr.h@{far\_ptr.h}} +\doxyparagraph{\texorpdfstring{TO\_FAR\_PTR}{TO\_FAR\_PTR}} +{\footnotesize\ttfamily \#define T\+O\+\_\+\+F\+A\+R\+\_\+\+P\+TR(\begin{DoxyParamCaption}\item[{}]{ofs, }\item[{}]{seg }\end{DoxyParamCaption})~(((\mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}})seg $<$$<$ 16) $\vert$ (\mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}})ofs)} + +Macro to obtain a far pointer at compile-\/time +\begin{DoxyParams}{Parameters} +{\em ofs} & Memory address within the given Segment (Bank) \\ +\hline +{\em seg} & Segment (Bank) number\\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A far pointer (type \mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}}) +\end{DoxyReturn} +\mbox{\Hypertarget{far__ptr_8h_a5bebc5322a1bba1c60c8d60e9b58be14}\label{far__ptr_8h_a5bebc5322a1bba1c60c8d60e9b58be14}} +\index{far\_ptr.h@{far\_ptr.h}!FAR\_SEG@{FAR\_SEG}} +\index{FAR\_SEG@{FAR\_SEG}!far\_ptr.h@{far\_ptr.h}} +\doxyparagraph{\texorpdfstring{FAR\_SEG}{FAR\_SEG}} +{\footnotesize\ttfamily \#define F\+A\+R\+\_\+\+S\+EG(\begin{DoxyParamCaption}\item[{}]{ptr }\end{DoxyParamCaption})~(((union \mbox{\hyperlink{union____far__ptr}{\+\_\+\+\_\+far\+\_\+ptr}} $\ast$)\&ptr)-\/$>$segofs.\+seg)} + +Macro to get the Segment (Bank) number of a far pointer +\begin{DoxyParams}{Parameters} +{\em ptr} & A far pointer (type \mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}})\\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +Segment (Bank) of the far pointer (type uint16\+\_\+t) +\end{DoxyReturn} +\mbox{\Hypertarget{far__ptr_8h_ab79586d8cc3cb926f363f4d0cf7143d5}\label{far__ptr_8h_ab79586d8cc3cb926f363f4d0cf7143d5}} +\index{far\_ptr.h@{far\_ptr.h}!FAR\_OFS@{FAR\_OFS}} +\index{FAR\_OFS@{FAR\_OFS}!far\_ptr.h@{far\_ptr.h}} +\doxyparagraph{\texorpdfstring{FAR\_OFS}{FAR\_OFS}} +{\footnotesize\ttfamily \#define F\+A\+R\+\_\+\+O\+FS(\begin{DoxyParamCaption}\item[{}]{ptr }\end{DoxyParamCaption})~(((union \mbox{\hyperlink{union____far__ptr}{\+\_\+\+\_\+far\+\_\+ptr}} $\ast$)\&ptr)-\/$>$segofs.\+ofs)} + +Macro to get the Offset (address) of a far pointer +\begin{DoxyParams}{Parameters} +{\em ptr} & A far pointer (type \mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}})\\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +Offset (address) of the far pointer (type void $\ast$) +\end{DoxyReturn} +\mbox{\Hypertarget{far__ptr_8h_a048cfacb5d37ab758a74f44e86c1dbc6}\label{far__ptr_8h_a048cfacb5d37ab758a74f44e86c1dbc6}} +\index{far\_ptr.h@{far\_ptr.h}!FAR\_FUNC@{FAR\_FUNC}} +\index{FAR\_FUNC@{FAR\_FUNC}!far\_ptr.h@{far\_ptr.h}} +\doxyparagraph{\texorpdfstring{FAR\_FUNC}{FAR\_FUNC}} +{\footnotesize\ttfamily \#define F\+A\+R\+\_\+\+F\+U\+NC(\begin{DoxyParamCaption}\item[{}]{ptr, }\item[{}]{typ }\end{DoxyParamCaption})~((typ)(((union \mbox{\hyperlink{union____far__ptr}{\+\_\+\+\_\+far\+\_\+ptr}} $\ast$)\&ptr)-\/$>$segfn.\+fn))} + +\mbox{\Hypertarget{far__ptr_8h_a7f4ab1893ea392f8bf042a3b97de4730}\label{far__ptr_8h_a7f4ab1893ea392f8bf042a3b97de4730}} +\index{far\_ptr.h@{far\_ptr.h}!FAR\_CALL@{FAR\_CALL}} +\index{FAR\_CALL@{FAR\_CALL}!far\_ptr.h@{far\_ptr.h}} +\doxyparagraph{\texorpdfstring{FAR\_CALL}{FAR\_CALL}} +{\footnotesize\ttfamily \#define F\+A\+R\+\_\+\+C\+A\+LL(\begin{DoxyParamCaption}\item[{}]{ptr, }\item[{}]{typ, }\item[{}]{... }\end{DoxyParamCaption})~(\mbox{\hyperlink{far__ptr_8h_a27792b7fc3796a1e1828d4c5812e5b21}{\+\_\+\+\_\+call\+\_\+banked\+\_\+ptr}}=ptr,((typ)(\&\mbox{\hyperlink{far__ptr_8h_aa45a2312a2584abb8733a052f66b4a90}{\+\_\+\+\_\+call\+\_\+\+\_\+banked}}))(\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+))} + +Macro to call a function at far pointer {\bfseries{ptr}} of type {\bfseries{typ}} +\begin{DoxyParams}{Parameters} +{\em ptr} & Far pointer of a function to call (type \mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}}) \\ +\hline +{\em typ} & Type to cast the function far pointer to. \\ +\hline +{\em ...} & VA Args list of parameters for the function\\ +\hline +\end{DoxyParams} +{\bfseries{type}} should match the definition of the function being called. For example\+: +\begin{DoxyCode}{0} +\DoxyCodeLine{\textcolor{comment}{// A function in bank 2}} +\DoxyCodeLine{\textcolor{preprocessor}{\#pragma bank 2}} +\DoxyCodeLine{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\_t}} some\_function(\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\_t}} param1, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\_t}} param2) \_\_banked \{ \textcolor{keywordflow}{return} 1; \};} +\DoxyCodeLine{} +\DoxyCodeLine{...} +\DoxyCodeLine{\textcolor{comment}{// Code elsewhere, such as unbanked main()}} +\DoxyCodeLine{\textcolor{comment}{// This type declaration should match the above function}} +\DoxyCodeLine{typedef \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\_t}} (*some\_function\_t)(\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\_t}}, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\_t}}) \_\_banked;} +\DoxyCodeLine{} +\DoxyCodeLine{\textcolor{comment}{// Using FAR\_CALL() with the above as *ptr*, *typ*, and two parameters.}} +\DoxyCodeLine{result = \mbox{\hyperlink{far__ptr_8h_a7f4ab1893ea392f8bf042a3b97de4730}{FAR\_CALL}}(some\_function, some\_function\_t, 100, 50);} +\end{DoxyCode} + + +\begin{DoxyReturn}{Returns} +Value returned by the function (if present) +\end{DoxyReturn} + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}\label{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}} +\index{far\_ptr.h@{far\_ptr.h}!FAR\_PTR@{FAR\_PTR}} +\index{FAR\_PTR@{FAR\_PTR}!far\_ptr.h@{far\_ptr.h}} +\doxyparagraph{\texorpdfstring{FAR\_PTR}{FAR\_PTR}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{stdint_8h_a33594304e786b158f3fb30289278f5af}{uint32\+\_\+t}} \mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}}} + +Type for storing a F\+A\+R\+\_\+\+P\+TR + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{far__ptr_8h_aa45a2312a2584abb8733a052f66b4a90}\label{far__ptr_8h_aa45a2312a2584abb8733a052f66b4a90}} +\index{far\_ptr.h@{far\_ptr.h}!\_\_call\_\_banked@{\_\_call\_\_banked}} +\index{\_\_call\_\_banked@{\_\_call\_\_banked}!far\_ptr.h@{far\_ptr.h}} +\doxyparagraph{\texorpdfstring{\_\_call\_\_banked()}{\_\_call\_\_banked()}} +{\footnotesize\ttfamily void \+\_\+\+\_\+call\+\_\+\+\_\+banked (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{far__ptr_8h_a23ab15f7eb85a48d72f717183badb110}\label{far__ptr_8h_a23ab15f7eb85a48d72f717183badb110}} +\index{far\_ptr.h@{far\_ptr.h}!to\_far\_ptr@{to\_far\_ptr}} +\index{to\_far\_ptr@{to\_far\_ptr}!far\_ptr.h@{far\_ptr.h}} +\doxyparagraph{\texorpdfstring{to\_far\_ptr()}{to\_far\_ptr()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_a33594304e786b158f3fb30289278f5af}{uint32\+\_\+t}} to\+\_\+far\+\_\+ptr (\begin{DoxyParamCaption}\item[{void $\ast$}]{ofs, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{seg }\end{DoxyParamCaption})} + +Obtain a far pointer at runtime +\begin{DoxyParams}{Parameters} +{\em ofs} & Memory address within the given Segment (Bank) \\ +\hline +{\em seg} & Segment (Bank) number\\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +A far pointer (type \mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}}) +\end{DoxyReturn} + + +\doxysubsubsection{Variable Documentation} +\mbox{\Hypertarget{far__ptr_8h_a27792b7fc3796a1e1828d4c5812e5b21}\label{far__ptr_8h_a27792b7fc3796a1e1828d4c5812e5b21}} +\index{far\_ptr.h@{far\_ptr.h}!\_\_call\_banked\_ptr@{\_\_call\_banked\_ptr}} +\index{\_\_call\_banked\_ptr@{\_\_call\_banked\_ptr}!far\_ptr.h@{far\_ptr.h}} +\doxyparagraph{\texorpdfstring{\_\_call\_banked\_ptr}{\_\_call\_banked\_ptr}} +{\footnotesize\ttfamily volatile \mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}} \+\_\+\+\_\+call\+\_\+banked\+\_\+ptr\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{far__ptr_8h_a1344c26ca298a9eadea4bcfea6442ae3}\label{far__ptr_8h_a1344c26ca298a9eadea4bcfea6442ae3}} +\index{far\_ptr.h@{far\_ptr.h}!\_\_call\_banked\_addr@{\_\_call\_banked\_addr}} +\index{\_\_call\_banked\_addr@{\_\_call\_banked\_addr}!far\_ptr.h@{far\_ptr.h}} +\doxyparagraph{\texorpdfstring{\_\_call\_banked\_addr}{\_\_call\_banked\_addr}} +{\footnotesize\ttfamily volatile void$\ast$ \+\_\+\+\_\+call\+\_\+banked\+\_\+addr\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{far__ptr_8h_a892433d652420445a9a6aebf1a256623}\label{far__ptr_8h_a892433d652420445a9a6aebf1a256623}} +\index{far\_ptr.h@{far\_ptr.h}!\_\_call\_banked\_bank@{\_\_call\_banked\_bank}} +\index{\_\_call\_banked\_bank@{\_\_call\_banked\_bank}!far\_ptr.h@{far\_ptr.h}} +\doxyparagraph{\texorpdfstring{\_\_call\_banked\_bank}{\_\_call\_banked\_bank}} +{\footnotesize\ttfamily volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+\+\_\+call\+\_\+banked\+\_\+bank\hspace{0.3cm}{\ttfamily [extern]}} + diff --git a/docs/latex/files.tex b/docs/latex/files.tex @@ -0,0 +1,56 @@ +\doxysubsection{File List} +Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList} +\item\contentsline{section}{\mbox{\hyperlink{assert_8h}{assert.\+h}} }{\pageref{assert_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{ctype_8h}{ctype.\+h}} }{\pageref{ctype_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{limits_8h}{limits.\+h}} }{\pageref{limits_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{rand_8h}{rand.\+h}} }{\pageref{rand_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{setjmp_8h}{setjmp.\+h}} }{\pageref{setjmp_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{stdarg_8h}{stdarg.\+h}} }{\pageref{stdarg_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{stdatomic_8h}{stdatomic.\+h}} }{\pageref{stdatomic_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{stdbool_8h}{stdbool.\+h}} }{\pageref{stdbool_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{stddef_8h}{stddef.\+h}} }{\pageref{stddef_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{stdint_8h}{stdint.\+h}} }{\pageref{stdint_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{stdio_8h}{stdio.\+h}} }{\pageref{stdio_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{stdlib_8h}{stdlib.\+h}} }{\pageref{stdlib_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{stdnoreturn_8h}{stdnoreturn.\+h}} }{\pageref{stdnoreturn_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{string_8h}{string.\+h}} }{\pageref{string_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{time_8h}{time.\+h}} }{\pageref{time_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{typeof_8h}{typeof.\+h}} }{\pageref{typeof_8h}}{} +\item\contentsline{section}{\mbox{\hyperlink{types_8h}{types.\+h}} }{\pageref{types_8h}}{} +\item\contentsline{section}{asm/\mbox{\hyperlink{asm_2types_8h}{types.\+h}} }{\pageref{asm_2types_8h}}{} +\item\contentsline{section}{asm/gbz80/\mbox{\hyperlink{gbz80_2provides_8h}{provides.\+h}} }{\pageref{gbz80_2provides_8h}}{} +\item\contentsline{section}{asm/gbz80/\mbox{\hyperlink{asm_2gbz80_2stdarg_8h}{stdarg.\+h}} }{\pageref{asm_2gbz80_2stdarg_8h}}{} +\item\contentsline{section}{asm/gbz80/\mbox{\hyperlink{asm_2gbz80_2string_8h}{string.\+h}} }{\pageref{asm_2gbz80_2string_8h}}{} +\item\contentsline{section}{asm/gbz80/\mbox{\hyperlink{asm_2gbz80_2types_8h}{types.\+h}} }{\pageref{asm_2gbz80_2types_8h}}{} +\item\contentsline{section}{asm/z80/\mbox{\hyperlink{z80_2provides_8h}{provides.\+h}} }{\pageref{z80_2provides_8h}}{} +\item\contentsline{section}{asm/z80/\mbox{\hyperlink{asm_2z80_2stdarg_8h}{stdarg.\+h}} }{\pageref{asm_2z80_2stdarg_8h}}{} +\item\contentsline{section}{asm/z80/\mbox{\hyperlink{asm_2z80_2string_8h}{string.\+h}} }{\pageref{asm_2z80_2string_8h}}{} +\item\contentsline{section}{asm/z80/\mbox{\hyperlink{asm_2z80_2types_8h}{types.\+h}} }{\pageref{asm_2z80_2types_8h}}{} +\item\contentsline{section}{gb/\mbox{\hyperlink{bcd_8h}{bcd.\+h}} }{\pageref{bcd_8h}}{} +\item\contentsline{section}{gb/\mbox{\hyperlink{bgb__emu_8h}{bgb\+\_\+emu.\+h}} }{\pageref{bgb__emu_8h}}{} +\item\contentsline{section}{gb/\mbox{\hyperlink{cgb_8h}{cgb.\+h}} }{\pageref{cgb_8h}}{} +\item\contentsline{section}{gb/\mbox{\hyperlink{crash__handler_8h}{crash\+\_\+handler.\+h}} }{\pageref{crash__handler_8h}}{} +\item\contentsline{section}{gb/\mbox{\hyperlink{drawing_8h}{drawing.\+h}} }{\pageref{drawing_8h}}{} +\item\contentsline{section}{gb/\mbox{\hyperlink{emu__debug_8h}{emu\+\_\+debug.\+h}} }{\pageref{emu__debug_8h}}{} +\item\contentsline{section}{gb/\mbox{\hyperlink{gb_8h}{gb.\+h}} }{\pageref{gb_8h}}{} +\item\contentsline{section}{gb/\mbox{\hyperlink{gb_2gbdecompress_8h}{gbdecompress.\+h}} }{\pageref{gb_2gbdecompress_8h}}{} +\item\contentsline{section}{gb/\mbox{\hyperlink{gb_2hardware_8h}{hardware.\+h}} }{\pageref{gb_2hardware_8h}}{} +\item\contentsline{section}{gb/\mbox{\hyperlink{isr_8h}{isr.\+h}} }{\pageref{isr_8h}}{} +\item\contentsline{section}{gb/\mbox{\hyperlink{gb_2metasprites_8h}{metasprites.\+h}} }{\pageref{gb_2metasprites_8h}}{} +\item\contentsline{section}{gb/\mbox{\hyperlink{sgb_8h}{sgb.\+h}} }{\pageref{sgb_8h}}{} +\item\contentsline{section}{gbdk/\mbox{\hyperlink{k_2bcd_8h}{bcd.\+h}} }{\pageref{k_2bcd_8h}}{} +\item\contentsline{section}{gbdk/\mbox{\hyperlink{console_8h}{console.\+h}} }{\pageref{console_8h}}{} +\item\contentsline{section}{gbdk/\mbox{\hyperlink{far__ptr_8h}{far\+\_\+ptr.\+h}} }{\pageref{far__ptr_8h}}{} +\item\contentsline{section}{gbdk/\mbox{\hyperlink{font_8h}{font.\+h}} }{\pageref{font_8h}}{} +\item\contentsline{section}{gbdk/\mbox{\hyperlink{gbdk_2gbdecompress_8h}{gbdecompress.\+h}} }{\pageref{gbdk_2gbdecompress_8h}}{} +\item\contentsline{section}{gbdk/\mbox{\hyperlink{gbdk-lib_8h}{gbdk-\/lib.\+h}} }{\pageref{gbdk-lib_8h}}{} +\item\contentsline{section}{gbdk/\mbox{\hyperlink{incbin_8h}{incbin.\+h}} }{\pageref{incbin_8h}}{} +\item\contentsline{section}{gbdk/\mbox{\hyperlink{gbdk_2metasprites_8h}{metasprites.\+h}} }{\pageref{gbdk_2metasprites_8h}}{} +\item\contentsline{section}{gbdk/\mbox{\hyperlink{platform_8h}{platform.\+h}} }{\pageref{platform_8h}}{} +\item\contentsline{section}{gbdk/\mbox{\hyperlink{rledecompress_8h}{rledecompress.\+h}} }{\pageref{rledecompress_8h}}{} +\item\contentsline{section}{gbdk/\mbox{\hyperlink{version_8h}{version.\+h}} }{\pageref{version_8h}}{} +\item\contentsline{section}{sms/\mbox{\hyperlink{sms_2gbdecompress_8h}{gbdecompress.\+h}} }{\pageref{sms_2gbdecompress_8h}}{} +\item\contentsline{section}{sms/\mbox{\hyperlink{sms_2hardware_8h}{hardware.\+h}} }{\pageref{sms_2hardware_8h}}{} +\item\contentsline{section}{sms/\mbox{\hyperlink{sms_2metasprites_8h}{metasprites.\+h}} }{\pageref{sms_2metasprites_8h}}{} +\item\contentsline{section}{sms/\mbox{\hyperlink{sms_8h}{sms.\+h}} }{\pageref{sms_8h}}{} +\end{DoxyCompactList} diff --git a/docs/latex/font_8h.tex b/docs/latex/font_8h.tex @@ -0,0 +1,154 @@ +\hypertarget{font_8h}{}\doxysubsection{gbdk/font.h File Reference} +\label{font_8h}\index{gbdk/font.h@{gbdk/font.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Data Structures} +\begin{DoxyCompactItemize} +\item +struct \mbox{\hyperlink{structsfont__handle}{sfont\+\_\+handle}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{font_8h_a63b93b85724b26151ddc2f0fc8050bd8}{F\+O\+N\+T\+\_\+256\+E\+N\+C\+O\+D\+I\+NG}}~0 +\item +\#define \mbox{\hyperlink{font_8h_a305ee4387ba051bd0e372b8a6dfb6905}{F\+O\+N\+T\+\_\+128\+E\+N\+C\+O\+D\+I\+NG}}~1 +\item +\#define \mbox{\hyperlink{font_8h_a80d0f581e17313b62dd7824653462b55}{F\+O\+N\+T\+\_\+\+N\+O\+E\+N\+C\+O\+D\+I\+NG}}~2 +\item +\#define \mbox{\hyperlink{font_8h_a7c5452979723b3535d17e253beb5d604}{F\+O\+N\+T\+\_\+\+C\+O\+M\+P\+R\+E\+S\+S\+ED}}~4 +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{font_8h_a7c6b54e58c41763c66f15ec4528a1d4a}{font\+\_\+t}} +\item +typedef struct \mbox{\hyperlink{structsfont__handle}{sfont\+\_\+handle}} \mbox{\hyperlink{font_8h_aea1f63fe2ea8c7689b061ad93b485553}{mfont\+\_\+handle}} +\item +typedef struct \mbox{\hyperlink{structsfont__handle}{sfont\+\_\+handle}} $\ast$ \mbox{\hyperlink{font_8h_a82e0e078fc8a8b6a18538131625dba3a}{pmfont\+\_\+handle}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{font_8h_a6b0459241994d549ae90776cdacede2d}{font\+\_\+init}} () +\item +\mbox{\hyperlink{font_8h_a7c6b54e58c41763c66f15ec4528a1d4a}{font\+\_\+t}} \mbox{\hyperlink{font_8h_ad089c09492dbd0423f4dd28f1a49a995}{font\+\_\+load}} (void $\ast$font) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\mbox{\hyperlink{font_8h_a7c6b54e58c41763c66f15ec4528a1d4a}{font\+\_\+t}} \mbox{\hyperlink{font_8h_a7dee0ba7beb261727340b8cce7c5afcd}{font\+\_\+set}} (\mbox{\hyperlink{font_8h_a7c6b54e58c41763c66f15ec4528a1d4a}{font\+\_\+t}} font\+\_\+handle) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{font_8h_a47b4964ef677dce9fdf1e9df29804721}{font\+\_\+color}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} forecolor, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} backcolor) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{group__gbdk__fonts_ga1b59bbd85c12436eeef52d4c32c7345d}{font\+\_\+spect}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{group__gbdk__fonts_ga17e825a65ba38f34a658fe0a2c99d8d4}{font\+\_\+italic}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{group__gbdk__fonts_ga6dcb04fed78fc39b95171988b776e6bb}{font\+\_\+ibm}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{group__gbdk__fonts_gad8497ecbd9d845fc24a56688f157aad8}{font\+\_\+min}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{group__gbdk__fonts_gab8c52bed73e745f1ee910f2da60ddb4c}{font\+\_\+ibm\+\_\+fixed}} \mbox{[}$\,$\mbox{]} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Multiple font support for the Game\+Boy Michael Hope, 1999 \href{mailto:michaelh@earthling.net}{\texttt{ michaelh@earthling.\+net}} + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{font_8h_a63b93b85724b26151ddc2f0fc8050bd8}\label{font_8h_a63b93b85724b26151ddc2f0fc8050bd8}} +\index{font.h@{font.h}!FONT\_256ENCODING@{FONT\_256ENCODING}} +\index{FONT\_256ENCODING@{FONT\_256ENCODING}!font.h@{font.h}} +\doxyparagraph{\texorpdfstring{FONT\_256ENCODING}{FONT\_256ENCODING}} +{\footnotesize\ttfamily \#define F\+O\+N\+T\+\_\+256\+E\+N\+C\+O\+D\+I\+NG~0} + +Various flags in the font header. \mbox{\Hypertarget{font_8h_a305ee4387ba051bd0e372b8a6dfb6905}\label{font_8h_a305ee4387ba051bd0e372b8a6dfb6905}} +\index{font.h@{font.h}!FONT\_128ENCODING@{FONT\_128ENCODING}} +\index{FONT\_128ENCODING@{FONT\_128ENCODING}!font.h@{font.h}} +\doxyparagraph{\texorpdfstring{FONT\_128ENCODING}{FONT\_128ENCODING}} +{\footnotesize\ttfamily \#define F\+O\+N\+T\+\_\+128\+E\+N\+C\+O\+D\+I\+NG~1} + +\mbox{\Hypertarget{font_8h_a80d0f581e17313b62dd7824653462b55}\label{font_8h_a80d0f581e17313b62dd7824653462b55}} +\index{font.h@{font.h}!FONT\_NOENCODING@{FONT\_NOENCODING}} +\index{FONT\_NOENCODING@{FONT\_NOENCODING}!font.h@{font.h}} +\doxyparagraph{\texorpdfstring{FONT\_NOENCODING}{FONT\_NOENCODING}} +{\footnotesize\ttfamily \#define F\+O\+N\+T\+\_\+\+N\+O\+E\+N\+C\+O\+D\+I\+NG~2} + +\mbox{\Hypertarget{font_8h_a7c5452979723b3535d17e253beb5d604}\label{font_8h_a7c5452979723b3535d17e253beb5d604}} +\index{font.h@{font.h}!FONT\_COMPRESSED@{FONT\_COMPRESSED}} +\index{FONT\_COMPRESSED@{FONT\_COMPRESSED}!font.h@{font.h}} +\doxyparagraph{\texorpdfstring{FONT\_COMPRESSED}{FONT\_COMPRESSED}} +{\footnotesize\ttfamily \#define F\+O\+N\+T\+\_\+\+C\+O\+M\+P\+R\+E\+S\+S\+ED~4} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{font_8h_a7c6b54e58c41763c66f15ec4528a1d4a}\label{font_8h_a7c6b54e58c41763c66f15ec4528a1d4a}} +\index{font.h@{font.h}!font\_t@{font\_t}} +\index{font\_t@{font\_t}!font.h@{font.h}} +\doxyparagraph{\texorpdfstring{font\_t}{font\_t}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{font_8h_a7c6b54e58c41763c66f15ec4528a1d4a}{font\+\_\+t}}} + +font\+\_\+t is a handle to a font loaded by \mbox{\hyperlink{font_8h_ad089c09492dbd0423f4dd28f1a49a995}{font\+\_\+load()}}. It can be used with \mbox{\hyperlink{font_8h_a7dee0ba7beb261727340b8cce7c5afcd}{font\+\_\+set()}} \mbox{\Hypertarget{font_8h_aea1f63fe2ea8c7689b061ad93b485553}\label{font_8h_aea1f63fe2ea8c7689b061ad93b485553}} +\index{font.h@{font.h}!mfont\_handle@{mfont\_handle}} +\index{mfont\_handle@{mfont\_handle}!font.h@{font.h}} +\doxyparagraph{\texorpdfstring{mfont\_handle}{mfont\_handle}} +{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structsfont__handle}{sfont\+\_\+handle}} \mbox{\hyperlink{font_8h_aea1f63fe2ea8c7689b061ad93b485553}{mfont\+\_\+handle}}} + +Internal representation of a font. What a font\+\_\+t really is \mbox{\Hypertarget{font_8h_a82e0e078fc8a8b6a18538131625dba3a}\label{font_8h_a82e0e078fc8a8b6a18538131625dba3a}} +\index{font.h@{font.h}!pmfont\_handle@{pmfont\_handle}} +\index{pmfont\_handle@{pmfont\_handle}!font.h@{font.h}} +\doxyparagraph{\texorpdfstring{pmfont\_handle}{pmfont\_handle}} +{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structsfont__handle}{sfont\+\_\+handle}}$\ast$ \mbox{\hyperlink{font_8h_a82e0e078fc8a8b6a18538131625dba3a}{pmfont\+\_\+handle}}} + + + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{font_8h_a6b0459241994d549ae90776cdacede2d}\label{font_8h_a6b0459241994d549ae90776cdacede2d}} +\index{font.h@{font.h}!font\_init@{font\_init}} +\index{font\_init@{font\_init}!font.h@{font.h}} +\doxyparagraph{\texorpdfstring{font\_init()}{font\_init()}} +{\footnotesize\ttfamily void font\+\_\+init (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Initializes the font system. Should be called before other font functions. \mbox{\Hypertarget{font_8h_ad089c09492dbd0423f4dd28f1a49a995}\label{font_8h_ad089c09492dbd0423f4dd28f1a49a995}} +\index{font.h@{font.h}!font\_load@{font\_load}} +\index{font\_load@{font\_load}!font.h@{font.h}} +\doxyparagraph{\texorpdfstring{font\_load()}{font\_load()}} +{\footnotesize\ttfamily \mbox{\hyperlink{font_8h_a7c6b54e58c41763c66f15ec4528a1d4a}{font\+\_\+t}} font\+\_\+load (\begin{DoxyParamCaption}\item[{void $\ast$}]{font }\end{DoxyParamCaption})} + +Load a font and set it as the current font. +\begin{DoxyParams}{Parameters} +{\em font} & Pointer to a font to load (usually a gbdk font)\\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +Handle to the loaded font, which can be used with \mbox{\hyperlink{font_8h_a7dee0ba7beb261727340b8cce7c5afcd}{font\+\_\+set()}} +\end{DoxyReturn} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{font_8h_a6b0459241994d549ae90776cdacede2d}{font\+\_\+init()}}, \mbox{\hyperlink{font_8h_a7dee0ba7beb261727340b8cce7c5afcd}{font\+\_\+set()}}, \mbox{\hyperlink{group__gbdk__fonts}{List of gbdk fonts}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{font_8h_a7dee0ba7beb261727340b8cce7c5afcd}\label{font_8h_a7dee0ba7beb261727340b8cce7c5afcd}} +\index{font.h@{font.h}!font\_set@{font\_set}} +\index{font\_set@{font\_set}!font.h@{font.h}} +\doxyparagraph{\texorpdfstring{font\_set()}{font\_set()}} +{\footnotesize\ttfamily \mbox{\hyperlink{font_8h_a7c6b54e58c41763c66f15ec4528a1d4a}{font\+\_\+t}} font\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{font_8h_a7c6b54e58c41763c66f15ec4528a1d4a}{font\+\_\+t}}}]{font\+\_\+handle }\end{DoxyParamCaption})} + +Set the current font. +\begin{DoxyParams}{Parameters} +{\em font\+\_\+handle} & handle of a font returned by \mbox{\hyperlink{font_8h_ad089c09492dbd0423f4dd28f1a49a995}{font\+\_\+load()}}\\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +The previously used font handle. +\end{DoxyReturn} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{font_8h_a6b0459241994d549ae90776cdacede2d}{font\+\_\+init()}}, \mbox{\hyperlink{font_8h_ad089c09492dbd0423f4dd28f1a49a995}{font\+\_\+load()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{font_8h_a47b4964ef677dce9fdf1e9df29804721}\label{font_8h_a47b4964ef677dce9fdf1e9df29804721}} +\index{font.h@{font.h}!font\_color@{font\_color}} +\index{font\_color@{font\_color}!font.h@{font.h}} +\doxyparagraph{\texorpdfstring{font\_color()}{font\_color()}} +{\footnotesize\ttfamily void font\+\_\+color (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{forecolor, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{backcolor }\end{DoxyParamCaption})} + +Set the current {\bfseries{foreground}} colour (for pixels), {\bfseries{background}} colour + diff --git a/docs/latex/gb_2gbdecompress_8h.tex b/docs/latex/gb_2gbdecompress_8h.tex @@ -0,0 +1,118 @@ +\hypertarget{gb_2gbdecompress_8h}{}\doxysubsection{gb/gbdecompress.h File Reference} +\label{gb_2gbdecompress_8h}\index{gb/gbdecompress.h@{gb/gbdecompress.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{gb_2gbdecompress_8h_a3370eefd9a88fdefed71eeb92e6861f2}{gb\+\_\+decompress}} (const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$sour, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$dest) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_2gbdecompress_8h_aed0cb0f1604a80ca5e7fb771b04114d8}{gb\+\_\+decompress\+\_\+bkg\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+tile, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$sour) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_2gbdecompress_8h_a85d2eaf4a7c268fe1496fa2b9c626284}{gb\+\_\+decompress\+\_\+win\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+tile, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$sour) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_2gbdecompress_8h_aa4ac6ffb1dc949051e0e72e2aba8e6ff}{gb\+\_\+decompress\+\_\+sprite\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+tile, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$sour) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{gb_2gbdecompress_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +G\+B-\/\+Compress decompressor Compatible with the compression used in G\+B\+TD \begin{DoxySeeAlso}{See also} +utility\+\_\+gbcompress \char`\"{}gbcompress\char`\"{} +\end{DoxySeeAlso} +G\+B-\/\+Compress decompressor Compatible with the compression used in G\+B\+TD + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{gb_2gbdecompress_8h_a3370eefd9a88fdefed71eeb92e6861f2}\label{gb_2gbdecompress_8h_a3370eefd9a88fdefed71eeb92e6861f2}} +\index{gbdecompress.h@{gbdecompress.h}!gb\_decompress@{gb\_decompress}} +\index{gb\_decompress@{gb\_decompress}!gbdecompress.h@{gbdecompress.h}} +\doxyparagraph{\texorpdfstring{gb\_decompress()}{gb\_decompress()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} gb\+\_\+decompress (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{sour, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{dest }\end{DoxyParamCaption})} + +gb-\/decompress data from sour into dest + + +\begin{DoxyParams}{Parameters} +{\em sour} & Pointer to source gb-\/compressed data \\ +\hline +{\em dest} & Pointer to destination buffer/address\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_2gbdecompress_8h_aed0cb0f1604a80ca5e7fb771b04114d8}{gb\+\_\+decompress\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_2gbdecompress_8h_a85d2eaf4a7c268fe1496fa2b9c626284}{gb\+\_\+decompress\+\_\+win\+\_\+data}}, \mbox{\hyperlink{gb_2gbdecompress_8h_aa4ac6ffb1dc949051e0e72e2aba8e6ff}{gb\+\_\+decompress\+\_\+sprite\+\_\+data}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_2gbdecompress_8h_aed0cb0f1604a80ca5e7fb771b04114d8}\label{gb_2gbdecompress_8h_aed0cb0f1604a80ca5e7fb771b04114d8}} +\index{gbdecompress.h@{gbdecompress.h}!gb\_decompress\_bkg\_data@{gb\_decompress\_bkg\_data}} +\index{gb\_decompress\_bkg\_data@{gb\_decompress\_bkg\_data}!gbdecompress.h@{gbdecompress.h}} +\doxyparagraph{\texorpdfstring{gb\_decompress\_bkg\_data()}{gb\_decompress\_bkg\_data()}} +{\footnotesize\ttfamily void gb\+\_\+decompress\+\_\+bkg\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+tile, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{sour }\end{DoxyParamCaption})} + +gb-\/decompress background tiles into V\+R\+AM + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first tile to write \\ +\hline +{\em sour} & Pointer to (gb-\/compressed 2 bpp) source Tile Pattern data.\\ +\hline +\end{DoxyParams} +Note\+: This function avoids writes during modes 2 \& 3 + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_2gbdecompress_8h_aed0cb0f1604a80ca5e7fb771b04114d8}{gb\+\_\+decompress\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_2gbdecompress_8h_a85d2eaf4a7c268fe1496fa2b9c626284}{gb\+\_\+decompress\+\_\+win\+\_\+data}}, \mbox{\hyperlink{gb_2gbdecompress_8h_aa4ac6ffb1dc949051e0e72e2aba8e6ff}{gb\+\_\+decompress\+\_\+sprite\+\_\+data}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_2gbdecompress_8h_a85d2eaf4a7c268fe1496fa2b9c626284}\label{gb_2gbdecompress_8h_a85d2eaf4a7c268fe1496fa2b9c626284}} +\index{gbdecompress.h@{gbdecompress.h}!gb\_decompress\_win\_data@{gb\_decompress\_win\_data}} +\index{gb\_decompress\_win\_data@{gb\_decompress\_win\_data}!gbdecompress.h@{gbdecompress.h}} +\doxyparagraph{\texorpdfstring{gb\_decompress\_win\_data()}{gb\_decompress\_win\_data()}} +{\footnotesize\ttfamily void gb\+\_\+decompress\+\_\+win\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+tile, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{sour }\end{DoxyParamCaption})} + +gb-\/decompress window tiles into V\+R\+AM + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first tile to write \\ +\hline +{\em sour} & Pointer to (gb-\/compressed 2 bpp) source Tile Pattern data.\\ +\hline +\end{DoxyParams} +This is the same as \mbox{\hyperlink{gb_2gbdecompress_8h_aed0cb0f1604a80ca5e7fb771b04114d8}{gb\+\_\+decompress\+\_\+bkg\+\_\+data}}, since the Window Layer and Background Layer share the same Tile pattern data. + +Note\+: This function avoids writes during modes 2 \& 3 + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_2gbdecompress_8h_a3370eefd9a88fdefed71eeb92e6861f2}{gb\+\_\+decompress}}, \mbox{\hyperlink{gb_2gbdecompress_8h_aed0cb0f1604a80ca5e7fb771b04114d8}{gb\+\_\+decompress\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_2gbdecompress_8h_aa4ac6ffb1dc949051e0e72e2aba8e6ff}{gb\+\_\+decompress\+\_\+sprite\+\_\+data}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_2gbdecompress_8h_aa4ac6ffb1dc949051e0e72e2aba8e6ff}\label{gb_2gbdecompress_8h_aa4ac6ffb1dc949051e0e72e2aba8e6ff}} +\index{gbdecompress.h@{gbdecompress.h}!gb\_decompress\_sprite\_data@{gb\_decompress\_sprite\_data}} +\index{gb\_decompress\_sprite\_data@{gb\_decompress\_sprite\_data}!gbdecompress.h@{gbdecompress.h}} +\doxyparagraph{\texorpdfstring{gb\_decompress\_sprite\_data()}{gb\_decompress\_sprite\_data()}} +{\footnotesize\ttfamily void gb\+\_\+decompress\+\_\+sprite\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+tile, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{sour }\end{DoxyParamCaption})} + +gb-\/decompress sprite tiles into V\+R\+AM + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first tile to write \\ +\hline +{\em sour} & Pointer to source compressed data\\ +\hline +\end{DoxyParams} +Note\+: This function avoids writes during modes 2 \& 3 + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_2gbdecompress_8h_a3370eefd9a88fdefed71eeb92e6861f2}{gb\+\_\+decompress}}, \mbox{\hyperlink{gb_2gbdecompress_8h_aed0cb0f1604a80ca5e7fb771b04114d8}{gb\+\_\+decompress\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_2gbdecompress_8h_a85d2eaf4a7c268fe1496fa2b9c626284}{gb\+\_\+decompress\+\_\+win\+\_\+data}} +\end{DoxySeeAlso} + + +\doxysubsubsection{Variable Documentation} +\mbox{\Hypertarget{gb_2gbdecompress_8h_a0b3366755f3276b0243c1e0497471b7a}\label{gb_2gbdecompress_8h_a0b3366755f3276b0243c1e0497471b7a}} +\index{gbdecompress.h@{gbdecompress.h}!c@{c}} +\index{c@{c}!gbdecompress.h@{gbdecompress.h}} +\doxyparagraph{\texorpdfstring{c}{c}} +{\footnotesize\ttfamily void c} + diff --git a/docs/latex/gb_2hardware_8h.tex b/docs/latex/gb_2hardware_8h.tex @@ -0,0 +1,2248 @@ +\hypertarget{gb_2hardware_8h}{}\doxysubsection{gb/hardware.h File Reference} +\label{gb_2hardware_8h}\index{gb/hardware.h@{gb/hardware.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}}~extern \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}}~extern volatile \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}}~extern volatile \mbox{\hyperlink{asm_2types_8h_afb3731986211fded0a874086c98ffcc4}{S\+FR}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ae7eccdbd4f7b211074591866f515b760}{r\+P1}}~\mbox{\hyperlink{gb_2hardware_8h_a04f9a36ab04334fcd21d2f50c125d5d0}{P1\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a6963ef598339e1163d30e57a962e5278}{P1\+F\+\_\+5}}~0b00100000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ad215dbfc83c9486ead2f28510366f40b}{P1\+F\+\_\+4}}~0b00010000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ae8e325a01af1c20935a0c73ea6465a0e}{P1\+F\+\_\+3}}~0b00001000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_af59d0dd661ea73965101294d30111385}{P1\+F\+\_\+2}}~0b00000100 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aad20c4bf5115b40c9118a484808f4b92}{P1\+F\+\_\+1}}~0b00000010 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aedf8627c42ccf0aad5025ef629f4395a}{P1\+F\+\_\+0}}~0b00000001 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aeaabebe6a36d9e59a01dfceceb7b37d0}{P1\+F\+\_\+\+G\+E\+T\+\_\+\+D\+P\+AD}}~\mbox{\hyperlink{gb_2hardware_8h_a6963ef598339e1163d30e57a962e5278}{P1\+F\+\_\+5}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a750bc82ab34a8929a5bba10f2336abe6}{P1\+F\+\_\+\+G\+E\+T\+\_\+\+B\+TN}}~\mbox{\hyperlink{gb_2hardware_8h_ad215dbfc83c9486ead2f28510366f40b}{P1\+F\+\_\+4}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a5c97ffb0ee0a345ad31797da26410b5a}{P1\+F\+\_\+\+G\+E\+T\+\_\+\+N\+O\+NE}}~(\mbox{\hyperlink{gb_2hardware_8h_ad215dbfc83c9486ead2f28510366f40b}{P1\+F\+\_\+4}} $\vert$ \mbox{\hyperlink{gb_2hardware_8h_a6963ef598339e1163d30e57a962e5278}{P1\+F\+\_\+5}}) +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_af35c8012bca7a164f0910d55cdf6030f}{r\+SB}}~\mbox{\hyperlink{gb_2hardware_8h_a5f2da0d8200f44b6fd694c4a2bea820e}{S\+B\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a7780d3a9b0fcc42499ed2451d7ab2ec5}{r\+SC}}~\mbox{\hyperlink{gb_2hardware_8h_a0fb715973ee3edd1b525eb7f503e3b2a}{S\+C\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a12ba1f984c585c57163f214f8829d569}{r\+D\+IV}}~\mbox{\hyperlink{gb_2hardware_8h_afa1e18e47bf68ce68d7807fff6edf16b}{D\+I\+V\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a51594891b388d60d6917a6ff64542b66}{r\+T\+I\+MA}}~\mbox{\hyperlink{gb_2hardware_8h_a9d295bb437953de5ebcb3c12d65743aa}{T\+I\+M\+A\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a588d681dc33d9da3a899863b42980e18}{r\+T\+MA}}~\mbox{\hyperlink{gb_2hardware_8h_a39e5a5b9afd2c2ca78de4aba7ccd071c}{T\+M\+A\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aeddc90947f6a6a3a3fd1e1db3751c988}{r\+T\+AC}}~\mbox{\hyperlink{gb_2hardware_8h_a659173ac2c8da7fd04bc77973eb95256}{T\+A\+C\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a07863a535e0aaa11b73608d7430dbc0a}{T\+A\+C\+F\+\_\+\+S\+T\+A\+RT}}~0b00000100 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a9179fd1ba4626627567b9478f691e653}{T\+A\+C\+F\+\_\+\+S\+T\+OP}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a19dce313b521aad75756abfc19bc9e78}{T\+A\+C\+F\+\_\+4\+K\+HZ}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a7d2c165347d3bb3e3a54fad73e1f363e}{T\+A\+C\+F\+\_\+16\+K\+HZ}}~0b00000011 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a8be2b577af91deed7b8946b500e73319}{T\+A\+C\+F\+\_\+65\+K\+HZ}}~0b00000010 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ac00b1e90d257b756845da578f4c3f3ba}{T\+A\+C\+F\+\_\+262\+K\+HZ}}~0b00000001 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a72a900117cdee0fbec10a278d9de0876}{S\+I\+O\+F\+\_\+\+C\+L\+O\+C\+K\+\_\+\+E\+XT}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a55ab8a9eb853e9bcfd72a2bf7e2c524b}{S\+I\+O\+F\+\_\+\+C\+L\+O\+C\+K\+\_\+\+I\+NT}}~0b00000001 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ae9c948fad514ac440b7c6cc037384ec2}{S\+I\+O\+F\+\_\+\+S\+P\+E\+E\+D\+\_\+1X}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a44f550e55e7154388748e7c330929c63}{S\+I\+O\+F\+\_\+\+S\+P\+E\+E\+D\+\_\+32X}}~0b00000010 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a21a6e935e8a3ac591905429874ccbe84}{S\+I\+O\+F\+\_\+\+X\+F\+E\+R\+\_\+\+S\+T\+A\+RT}}~0b10000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a19b35b0b21101a2782ce5bde4125db04}{S\+I\+O\+F\+\_\+\+B\+\_\+\+C\+L\+O\+CK}}~0 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a32b7b11b2ca90ffb52ce19e7279ea973}{S\+I\+O\+F\+\_\+\+B\+\_\+\+S\+P\+E\+ED}}~1 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a03aaffc30c9ff81d86502c1f6b3dbaea}{S\+I\+O\+F\+\_\+\+B\+\_\+\+X\+F\+E\+R\+\_\+\+S\+T\+A\+RT}}~7 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a9534175911f7a54fa550318b275c4cc3}{r\+IF}}~\mbox{\hyperlink{gb_2hardware_8h_a509a5d0f138b40830cb447a862573be5}{I\+F\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a4a73d9c15883b576fa0a5b4cc4ac2d08}{r\+A\+U\+D1\+S\+W\+E\+EP}}~\mbox{\hyperlink{gb_2hardware_8h_ad859dc62b1df1584ade0cbb822a3e46f}{N\+R10\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aa8b5c841c97ae090724a910040f8dd2d}{A\+U\+D1\+S\+W\+E\+E\+P\+\_\+\+UP}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a281569182e3edb53b7c78b95a4082971}{A\+U\+D1\+S\+W\+E\+E\+P\+\_\+\+D\+O\+WN}}~0b00001000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ac4cbf03d9c2d64cddaf348e003780cf8}{A\+U\+D1\+S\+W\+E\+E\+P\+\_\+\+T\+I\+ME}}(x)~((x) $<$$<$ 4) +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aaed4a07f441ddeecae520e76eb7b7e27}{A\+U\+D1\+S\+W\+E\+E\+P\+\_\+\+L\+E\+N\+G\+TH}}(x)~(x) +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aaeb899eb6bd0593ffb4e90a2f762b18f}{r\+A\+U\+D1\+L\+EN}}~\mbox{\hyperlink{gb_2hardware_8h_ad53dc7f22b99fce195210a95f2749a72}{N\+R11\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ae787a2c857fe8f3803ca353d5309fc85}{r\+A\+U\+D1\+E\+NV}}~\mbox{\hyperlink{gb_2hardware_8h_a7accf5feabd95a2d84c72f5915fff837}{N\+R12\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_abb35a844f228403a96e28da7633344e1}{r\+A\+U\+D1\+L\+OW}}~\mbox{\hyperlink{gb_2hardware_8h_a3d30d4797321b403cd713d727fa3db6c}{N\+R13\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ab042aa7a7fae75f94d8fb3e08004c797}{r\+A\+U\+D1\+H\+I\+GH}}~\mbox{\hyperlink{gb_2hardware_8h_a04c340d91842e8ee2b93922c2bcf39a4}{N\+R14\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a12f01b21d08249800571c6e0f26beeae}{r\+A\+U\+D2\+L\+EN}}~\mbox{\hyperlink{gb_2hardware_8h_a6dd3af1c8e3c66409aa0bc889d98e171}{N\+R21\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_abf3efd42adced218237283156dbae055}{r\+A\+U\+D2\+E\+NV}}~\mbox{\hyperlink{gb_2hardware_8h_af1301c73bf93350045ba3a4887723ae8}{N\+R22\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a521466a7650d60b464991ebf68112114}{r\+A\+U\+D2\+L\+OW}}~\mbox{\hyperlink{gb_2hardware_8h_a7bb32ac86e3fbf5f869410ba42620616}{N\+R23\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_afc3684b8215221942a0cddc5960cf8a9}{r\+A\+U\+D2\+H\+I\+GH}}~\mbox{\hyperlink{gb_2hardware_8h_a6676e579a5e421adfb3d3e2d470d9ab6}{N\+R24\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a13e230a0d2979e0b9ca9582f6010162b}{r\+A\+U\+D3\+E\+NA}}~\mbox{\hyperlink{gb_2hardware_8h_a85d8e680d4d40a918b4195d2a4fada2a}{N\+R30\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ae168529ead90f90c28f75d57ba4d28e2}{r\+A\+U\+D3\+L\+EN}}~\mbox{\hyperlink{gb_2hardware_8h_aea78f857e34370d7e1177a8bafe08148}{N\+R31\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a298bccebea918c63aed36c811e02333d}{r\+A\+U\+D3\+L\+E\+V\+EL}}~\mbox{\hyperlink{gb_2hardware_8h_a244ee6d8f6144be9b0f94602eddb6239}{N\+R32\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a31d1d4441749e90c2895fc8750b2234c}{r\+A\+U\+D3\+L\+OW}}~\mbox{\hyperlink{gb_2hardware_8h_a01c768b60853c8eecdefc2cedfc8d672}{N\+R33\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_acd0b3763f8599ed65e2d060b159bd91c}{r\+A\+U\+D3\+H\+I\+GH}}~\mbox{\hyperlink{gb_2hardware_8h_ab6da3e2cdbac1331bef3f6de9c808ab1}{N\+R34\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_abd820b2f5c18efb43548f64862d38f05}{r\+A\+U\+D4\+L\+EN}}~\mbox{\hyperlink{gb_2hardware_8h_a557833cc1671aa0bd71f33766b4e0f24}{N\+R41\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_abba6cc1819ea73d36a389fd99807dac5}{r\+A\+U\+D4\+E\+NV}}~\mbox{\hyperlink{gb_2hardware_8h_aba3d9fb63552bc02ec879696b581adac}{N\+R42\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ae21217e822a66e77c15a4df4fa0cf1e9}{r\+A\+U\+D4\+P\+O\+LY}}~\mbox{\hyperlink{gb_2hardware_8h_a52593a64863d51fbf5860b0d31448972}{N\+R43\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a1bfe644bf343abd66c790c2758e7c0bb}{A\+U\+D4\+P\+O\+L\+Y\+\_\+\+W\+I\+D\+T\+H\+\_\+15\+B\+IT}}~0x00 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a9120d2c7cd8800e302e76f525d332d6c}{A\+U\+D4\+P\+O\+L\+Y\+\_\+\+W\+I\+D\+T\+H\+\_\+7\+B\+IT}}~0x08 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a8492c6d9cb38fbb4a2bf9f5caa426578}{r\+A\+U\+D4\+GO}}~\mbox{\hyperlink{gb_2hardware_8h_a849d2cff8df2655f86b294466bec40d6}{N\+R44\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a534fa3f905e37ac434537af23847d89a}{r\+A\+U\+D\+V\+OL}}~\mbox{\hyperlink{gb_2hardware_8h_a924fdf48f6ad020423f6309055314928}{N\+R50\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a0dc3f482441d4e13828aebdf396c3be9}{A\+U\+D\+V\+O\+L\+\_\+\+V\+O\+L\+\_\+\+L\+E\+FT}}(x)~((x) $<$$<$ 4) +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aabac77131d22297a246a3cfb0e443605}{A\+U\+D\+V\+O\+L\+\_\+\+V\+O\+L\+\_\+\+R\+I\+G\+HT}}(x)~((x)) +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a8cb754b63b073abf30af3fd6f0052832}{A\+U\+D\+V\+O\+L\+\_\+\+V\+I\+N\+\_\+\+L\+E\+FT}}~0b10000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aa257f1e89f6782714cbc76ffc71d0fe7}{A\+U\+D\+V\+O\+L\+\_\+\+V\+I\+N\+\_\+\+R\+I\+G\+HT}}~0b00001000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ad2891216d025f44b02350f2ae2612b1e}{r\+A\+U\+D\+T\+E\+RM}}~\mbox{\hyperlink{gb_2hardware_8h_ab28f97eabd5f32d48ea27d97bd5dc64f}{N\+R51\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_af9a0eee23057665604c258abc667939d}{A\+U\+D\+T\+E\+R\+M\+\_\+4\+\_\+\+L\+E\+FT}}~0b10000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ac1470febab4adcff88b31a465d480f72}{A\+U\+D\+T\+E\+R\+M\+\_\+3\+\_\+\+L\+E\+FT}}~0b01000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a309d26015522c2de1cff39ba6e6e6a04}{A\+U\+D\+T\+E\+R\+M\+\_\+2\+\_\+\+L\+E\+FT}}~0b00100000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aad3ccece4257429e82186f7b4d72b220}{A\+U\+D\+T\+E\+R\+M\+\_\+1\+\_\+\+L\+E\+FT}}~0b00010000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a2ba607e94d30ae8eeb1933c9dabbf68d}{A\+U\+D\+T\+E\+R\+M\+\_\+4\+\_\+\+R\+I\+G\+HT}}~0b00001000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_adc74cebc6671c48bd502667f21d24da4}{A\+U\+D\+T\+E\+R\+M\+\_\+3\+\_\+\+R\+I\+G\+HT}}~0b00000100 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a6fb64712b06118cad702691f2aa18cd4}{A\+U\+D\+T\+E\+R\+M\+\_\+2\+\_\+\+R\+I\+G\+HT}}~0b00000010 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aa3cdccfb4b6b42cdee682bdb6e4fc310}{A\+U\+D\+T\+E\+R\+M\+\_\+1\+\_\+\+R\+I\+G\+HT}}~0b00000001 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a627044263543a1074dc9f4570aa8c915}{r\+A\+U\+D\+E\+NA}}~\mbox{\hyperlink{gb_2hardware_8h_ac429365dce851ca57d8fe4f7c54a1caa}{N\+R52\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a7bbcf10e7a2b69127cd2f9e598bf601f}{A\+U\+D\+E\+N\+A\+\_\+\+ON}}~0b10000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a1b424d8f8a7438d19261401a843263d2}{A\+U\+D\+E\+N\+A\+\_\+\+O\+FF}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a8b576a1fe1473ac4aff8afecb28035cb}{r\+L\+C\+DC}}~\mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ae9de9f58318f113afbc955986a502692}{L\+C\+D\+C\+F\+\_\+\+O\+FF}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a1491fc03ed7f02e7309cc7b0c48b6c8a}{L\+C\+D\+C\+F\+\_\+\+ON}}~0b10000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a178a111ffe8eb38a2875fcaf3bfeba3f}{L\+C\+D\+C\+F\+\_\+\+W\+I\+N9800}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a9d555b0c19019150db73ca245ca62a78}{L\+C\+D\+C\+F\+\_\+\+W\+I\+N9\+C00}}~0b01000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a582ece3b5f6cc49d47b2ad3e16d47374}{L\+C\+D\+C\+F\+\_\+\+W\+I\+N\+O\+FF}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a13a5f08b9aae68f8fa57a8aa7705b732}{L\+C\+D\+C\+F\+\_\+\+W\+I\+N\+ON}}~0b00100000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a69a43daf29c680b3ab0fbcad3118cd48}{L\+C\+D\+C\+F\+\_\+\+B\+G8800}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a731588b96fb8cdbeb7e68c089373e6f8}{L\+C\+D\+C\+F\+\_\+\+B\+G8000}}~0b00010000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ae4e03124190c7f96586b75cb4470a210}{L\+C\+D\+C\+F\+\_\+\+B\+G9800}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a2e2a68c3274055a06cf38d00f007d4bf}{L\+C\+D\+C\+F\+\_\+\+B\+G9\+C00}}~0b00001000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a1452fbc14f59076347c4cd4864fbeb51}{L\+C\+D\+C\+F\+\_\+\+O\+B\+J8}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a14eddd3d53d8e649f1754bd455b4863d}{L\+C\+D\+C\+F\+\_\+\+O\+B\+J16}}~0b00000100 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_af14334f65debf6ee02cc21b58729cfde}{L\+C\+D\+C\+F\+\_\+\+O\+B\+J\+O\+FF}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a6aef42158c90e8025b8341cdea2e3918}{L\+C\+D\+C\+F\+\_\+\+O\+B\+J\+ON}}~0b00000010 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aa8027f47983459c377169f57987b710c}{L\+C\+D\+C\+F\+\_\+\+B\+G\+O\+FF}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a97ab19d938f05bffbcb4221824c3bfce}{L\+C\+D\+C\+F\+\_\+\+B\+G\+ON}}~0b00000001 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ac112618942cb4719def91693616baaff}{L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+ON}}~7 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ac826fdb70a043ebb8f1b317b00db6ff3}{L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+W\+I\+N9\+C00}}~6 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ae1de721c95ddc8f29ba9b9deaee8d68c}{L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+W\+I\+N\+ON}}~5 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aa336ca1c8bd29763222fc011a6272bdf}{L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+B\+G8000}}~4 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a4889bb882e956665069212c4c8aa623b}{L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+B\+G9\+C00}}~3 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aa8f5bcd5073aae5948a9647dcb76f779}{L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+O\+B\+J16}}~2 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a6f6852d0f1d295b03e1230d5d97cb3e9}{L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+O\+B\+J\+ON}}~1 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aa1f66868f63af2af6544e84122de3cc3}{L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+B\+G\+ON}}~0 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a338ec378453b4457efdb3008978c0f28}{r\+S\+T\+AT}}~\mbox{\hyperlink{gb_2hardware_8h_ad40ebf3b29add46cdd310a7e0802bc6b}{S\+T\+A\+T\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a3b53105cc5be896b48794ba82d2aeb4c}{S\+T\+A\+T\+F\+\_\+\+L\+YC}}~0b01000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a47b5bc2ec6afaf1d50a8db5f24415922}{S\+T\+A\+T\+F\+\_\+\+M\+O\+D\+E10}}~0b00100000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ad27f428fca89ea6b236ff3aa4769a05e}{S\+T\+A\+T\+F\+\_\+\+M\+O\+D\+E01}}~0b00010000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a72b78d4d640033770be37d95bf8e1f9d}{S\+T\+A\+T\+F\+\_\+\+M\+O\+D\+E00}}~0b00001000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a2b3637bad69da368c3d7136632963fb7}{S\+T\+A\+T\+F\+\_\+\+L\+Y\+CF}}~0b00000100 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ab04e468d2403bc69f761daa300bb999a}{S\+T\+A\+T\+F\+\_\+\+H\+BL}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_adb52e1f4b56ef259db300a187fe58fc9}{S\+T\+A\+T\+F\+\_\+\+V\+BL}}~0b00000001 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_acc45e1a4ea60d8248102a71c1658c5a3}{S\+T\+A\+T\+F\+\_\+\+O\+AM}}~0b00000010 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a6f5df560b791d2fc086c23f99dd03354}{S\+T\+A\+T\+F\+\_\+\+L\+CD}}~0b00000011 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a92a063885caf6c6cda665da0309055ec}{S\+T\+A\+T\+F\+\_\+\+B\+U\+SY}}~0b00000010 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ac1e4b66204a5bff207be36fdfedd63d5}{S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+L\+YC}}~6 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ac75479aa0d34ac4344d80451276e97cc}{S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+M\+O\+D\+E10}}~5 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a5b683ff804221c6fc721b996fce65bda}{S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+M\+O\+D\+E01}}~4 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_acdbf6b3217f6a5681df94c8b8992d1d6}{S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+M\+O\+D\+E00}}~3 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ab058c32e4ebf21b3beb06a0d7440e6ad}{S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+L\+Y\+CF}}~2 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a55c4815aea004a9951606db7e7a1f0d7}{S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+V\+BL}}~0 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a7393f505e4277af40167d72415c46fa5}{S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+O\+AM}}~1 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a3b0bf7449b517b3cda2a89428db6deb9}{S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+B\+U\+SY}}~1 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ad2537c13699429afa59a68c6d6598632}{r\+S\+CY}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a97932e023d96ece4715802b6c2565c43}{r\+S\+CX}}~\mbox{\hyperlink{gb_2hardware_8h_a86cc170585319565195f2c163250be1f}{S\+C\+X\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aa851dae67d0bb80c17415774558d985f}{r\+LY}}~\mbox{\hyperlink{gb_2hardware_8h_aeb643bd4eac2e6e410cae2fae677c0a7}{L\+Y\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a92083741d31c9b2206b403e97124cbdc}{r\+L\+YC}}~\mbox{\hyperlink{gb_2hardware_8h_a591084a506c33266b7d6cc3b4b8936ae}{L\+Y\+C\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a4225227c2812c3e3e500441f5e90772a}{r\+D\+MA}}~\mbox{\hyperlink{gb_2hardware_8h_ae13ce414d3fe7c98c1434918186dfc81}{D\+M\+A\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a4fbcc4798c0721efcf4462c04a4566c1}{r\+B\+GP}}~\mbox{\hyperlink{gb_2hardware_8h_af577ba87ec3d13d7415e4c4a53cdf997}{B\+G\+P\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ae0a85bdedbbf1c79b5dbb5b23ca4bf79}{r\+O\+B\+P0}}~\mbox{\hyperlink{gb_2hardware_8h_a13f3e89f7b92258d825292e5058815c7}{O\+B\+P0\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a2a14470dca10f69c092d817a433383bd}{r\+O\+B\+P1}}~\mbox{\hyperlink{gb_2hardware_8h_a9da545164e049ef773128f869daece13}{O\+B\+P1\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_afe84077234eb6e0520d7a6d0a9e903e7}{r\+WY}}~\mbox{\hyperlink{gb_2hardware_8h_a1c8d52607616ef37da335447e4cbe850}{W\+Y\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aba3cbaeca5ad045fb27095c210b661b7}{r\+WX}}~\mbox{\hyperlink{gb_2hardware_8h_a310aa43fbee2fd6b6b419df48acce1e0}{W\+X\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ad3f67013699d0d38c203e4e863c91c41}{r\+K\+E\+Y1}}~\mbox{\hyperlink{gb_2hardware_8h_a7279430d110acf02fa176d5f427a6491}{K\+E\+Y1\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a222d5e3cb366d5e720a832fc68ce3a13}{r\+S\+PD}}~\mbox{\hyperlink{gb_2hardware_8h_a7279430d110acf02fa176d5f427a6491}{K\+E\+Y1\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a793b667a76985934545f73268000371a}{K\+E\+Y1\+F\+\_\+\+D\+B\+L\+S\+P\+E\+ED}}~0b10000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a3205df57bc17c35df2924296341c6c69}{K\+E\+Y1\+F\+\_\+\+P\+R\+E\+P\+A\+RE}}~0b00000001 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a09fa1caa91313e57dc2c3dd354104b00}{r\+V\+BK}}~\mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a5011196496193d80fc58cdb632fbab24}{r\+H\+D\+M\+A1}}~\mbox{\hyperlink{gb_2hardware_8h_ab16e97796d675205a027b1b28b52956e}{H\+D\+M\+A1\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_abc4249f04a9081f45439f61dabf861e5}{r\+H\+D\+M\+A2}}~\mbox{\hyperlink{gb_2hardware_8h_a801400d58ab7d862742e43b49fa68c8d}{H\+D\+M\+A2\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aca2df62463b4c3bc4a291e18f26f4ec5}{r\+H\+D\+M\+A3}}~\mbox{\hyperlink{gb_2hardware_8h_a57a94790cda8101a29c0d20086770f1b}{H\+D\+M\+A3\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_adee641ce3abf6b891e0e16bb56bdfcf7}{r\+H\+D\+M\+A4}}~\mbox{\hyperlink{gb_2hardware_8h_a3a2e883779980c1c37e780f47da4dd69}{H\+D\+M\+A4\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ae7eecc25286b951a78ef0dfc97aab3a7}{r\+H\+D\+M\+A5}}~\mbox{\hyperlink{gb_2hardware_8h_a1454ad6d5d04273eae1288af86deadac}{H\+D\+M\+A5\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a2a1acb31d2869997315be64bff66d24b}{H\+D\+M\+A5\+F\+\_\+\+M\+O\+D\+E\+\_\+\+GP}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a3c22f7324f09a14d666f9b21a9742789}{H\+D\+M\+A5\+F\+\_\+\+M\+O\+D\+E\+\_\+\+H\+BL}}~0b10000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a37c8ee0ef95132fd22cd426868510834}{H\+D\+M\+A5\+F\+\_\+\+B\+U\+SY}}~0b10000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a82c53e957d31d22c475e1629843bc12d}{r\+RP}}~\mbox{\hyperlink{gb_2hardware_8h_a76532f8742d9dd8cb26d2ccfd9c37bbf}{R\+P\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a092b2e33a050ac6ced4e897498ce9a2f}{R\+P\+F\+\_\+\+E\+N\+R\+E\+AD}}~0b11000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aaffaea3512173f90b85bae710d40ba6c}{R\+P\+F\+\_\+\+D\+A\+T\+A\+IN}}~0b00000010 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ac47b78eb2ffea207a8c7ac643555ba6c}{R\+P\+F\+\_\+\+W\+R\+I\+T\+E\+\_\+\+HI}}~0b00000001 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ab0fe74a7c155ae95cbf20bbb5e1bf46b}{R\+P\+F\+\_\+\+W\+R\+I\+T\+E\+\_\+\+LO}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a4f1816144e0561ff4db1ad24f4ce847a}{r\+B\+C\+PS}}~\mbox{\hyperlink{gb_2hardware_8h_a28fa1ca08ef1c8ed97280bc5e60bdd99}{B\+C\+P\+S\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a88cceb86b8168f4c539e9612a81145a6}{B\+C\+P\+S\+F\+\_\+\+A\+U\+T\+O\+I\+NC}}~0b10000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a3dbfd7c3f4a62774fbc98caa73899e96}{r\+B\+C\+PD}}~\mbox{\hyperlink{gb_2hardware_8h_a1fc8ff37ffe1c431364e1ef7c3961b30}{B\+C\+P\+D\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a056b789889ecf0691e54f721e015b873}{r\+O\+C\+PS}}~\mbox{\hyperlink{gb_2hardware_8h_a1686d2457eb4ad834bb75fb81c86aed8}{O\+C\+P\+S\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a0a6cc6543aa06c12b87e235c3d5da4ff}{O\+C\+P\+S\+F\+\_\+\+A\+U\+T\+O\+I\+NC}}~0b10000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a723eb3e0c2c681a050e9a325e35c25ae}{r\+O\+C\+PD}}~\mbox{\hyperlink{gb_2hardware_8h_ae24d0e88a1e1b8367ac1f5709d3e500c}{O\+C\+P\+D\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a83e14896ee3ddf2a4201b534d8e5f398}{r\+S\+V\+BK}}~\mbox{\hyperlink{gb_2hardware_8h_aa128832cecec4e609517fe3daf044e5e}{S\+V\+B\+K\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_af93abe183851726958f27d979498032e}{r\+S\+M\+BK}}~\mbox{\hyperlink{gb_2hardware_8h_aa128832cecec4e609517fe3daf044e5e}{S\+V\+B\+K\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a28368838b9e270c301361a5f39c97154}{r\+P\+C\+M12}}~\mbox{\hyperlink{gb_2hardware_8h_a428894ca3fd0bb4527b03bed551ff04c}{P\+C\+M12\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ac1c402357ccc5f6c3c451450b30ca959}{r\+P\+C\+M34}}~\mbox{\hyperlink{gb_2hardware_8h_ac6d19ac313a99f41bd996e1ca5e43df0}{P\+C\+M34\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a52e850e75483f64ca070a33ee4877d47}{r\+IE}}~\mbox{\hyperlink{gb_2hardware_8h_aaef0dc6aab2f821ab406fdbc643af48e}{I\+E\+\_\+\+R\+EG}} +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aa7ce989df75547f190d33cc85dce0187}{I\+E\+F\+\_\+\+H\+I\+LO}}~0b00010000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a921bdc6c640b74c8c41e65f27882c68a}{I\+E\+F\+\_\+\+S\+E\+R\+I\+AL}}~0b00001000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a7c06fa33152a235baf273f1828dfa0a4}{I\+E\+F\+\_\+\+T\+I\+M\+ER}}~0b00000100 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a2eec77ca1b8730b410a7075c5a9c189e}{I\+E\+F\+\_\+\+S\+T\+AT}}~0b00000010 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a3b8d7fece663511d5778136a5ca0070b}{I\+E\+F\+\_\+\+V\+B\+L\+A\+NK}}~0b00000001 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a8a88b504914eed6c0c4d2853689487ba}{A\+U\+D\+L\+E\+N\+\_\+\+D\+U\+T\+Y\+\_\+12\+\_\+5}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a52e58c151c5910792e75f7eea7f7ddbb}{A\+U\+D\+L\+E\+N\+\_\+\+D\+U\+T\+Y\+\_\+25}}~0b01000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_abd862604a105aa2475223b06abfa8bfe}{A\+U\+D\+L\+E\+N\+\_\+\+D\+U\+T\+Y\+\_\+50}}~0b10000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a194e3432f1e4d5d23d4ea096cef783e5}{A\+U\+D\+L\+E\+N\+\_\+\+D\+U\+T\+Y\+\_\+75}}~0b11000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a367f10d1cfcc04fdbfcb88f09b230bd3}{A\+U\+D\+L\+E\+N\+\_\+\+L\+E\+N\+G\+TH}}(x)~(x) +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a7dab7d2ad1bf670875814d3029d54122}{A\+U\+D\+E\+N\+V\+\_\+\+V\+OL}}(x)~((x) $<$$<$ 4) +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a9f069f19e8a05d1f1114aaabf531739e}{A\+U\+D\+E\+N\+V\+\_\+\+UP}}~0b00001000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aa58f52563d21d56e79d422c544eeb13f}{A\+U\+D\+E\+N\+V\+\_\+\+D\+O\+WN}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ad07fa5e19e334eee03c2fcb8671b2ed3}{A\+U\+D\+E\+N\+V\+\_\+\+L\+E\+N\+G\+TH}}(x)~(x) +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a6d820a86bd30b531d5df5b27139ae92d}{A\+U\+D\+H\+I\+G\+H\+\_\+\+R\+E\+S\+T\+A\+RT}}~0b10000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ab3325578cf7f7f67610353a62aba274e}{A\+U\+D\+H\+I\+G\+H\+\_\+\+L\+E\+N\+G\+T\+H\+\_\+\+ON}}~0b01000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_afe4927e6bc7efa57461e3c3b84d242da}{A\+U\+D\+H\+I\+G\+H\+\_\+\+L\+E\+N\+G\+T\+H\+\_\+\+O\+FF}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a393866ca405b1023eec0e784bb88b026}{O\+A\+M\+F\+\_\+\+P\+RI}}~0b10000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a820677d593625e8716c3b78f36feb805}{O\+A\+M\+F\+\_\+\+Y\+F\+L\+IP}}~0b01000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a3cd1c1a1291d43dd43b181ff07f8b0a7}{O\+A\+M\+F\+\_\+\+X\+F\+L\+IP}}~0b00100000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a22b6b835de9ee737be73c4d252aac87c}{O\+A\+M\+F\+\_\+\+P\+A\+L0}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ad92f3b2a1cc16700a4660c5821bcb15d}{O\+A\+M\+F\+\_\+\+P\+A\+L1}}~0b00010000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_aade9a193ade9ff22ed6f6263d1a3549b}{O\+A\+M\+F\+\_\+\+B\+A\+N\+K0}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ad195d4be68ff54c3926c431fa5511de5}{O\+A\+M\+F\+\_\+\+B\+A\+N\+K1}}~0b00001000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a4ff8c8a7acb74ba54043596110091605}{O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L0}}~0b00000000 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a9dff52d03755812d3a5ee7ca971c2e83}{O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L1}}~0b00000001 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a74744fb475532fa5d343e0818dcc6f88}{O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L2}}~0b00000010 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a704ab20694793ea87aace8bfc29568bc}{O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L3}}~0b00000011 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a13d5cddfb4a05fa49fc794aeea675c7b}{O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L4}}~0b00000100 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_af9284c71b8ebf10ef8b9e12268f2cce3}{O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L5}}~0b00000101 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ad6f5b0d9ae958dee3d6dfa8f4273ff5a}{O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L6}}~0b00000110 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_af4b27e8f3c3e14a4f91051fea4c64e4b}{O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L7}}~0b00000111 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a5dc4d1ee47fe269761fe8fc46d56dabb}{O\+A\+M\+F\+\_\+\+P\+A\+L\+M\+A\+SK}}~0b00000111 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a519e327cac96f68a8ca9b77e0343672f}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+X\+\_\+\+O\+F\+F\+S\+ET}}~0 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_af334c0e7dd6e434b3dbebd45bcdeb75a}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+Y\+\_\+\+O\+F\+F\+S\+ET}}~0 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_add7f32ba868ef6517798f5fce337e4b2}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+W\+I\+D\+TH}}~20 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ad252264fdcf900e5fbf611f7a45962ed}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+H\+E\+I\+G\+HT}}~18 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a491dc081eae8c81e7ca88075ab806291}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+W\+I\+D\+TH}}~32 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a81fb56b6778772f829dab4c534e7749e}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+H\+E\+I\+G\+HT}}~32 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a4d682ed7a6158c5ba10afec739b17a8a}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+M\+A\+P\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+S\+I\+ZE}}~1 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_af531e7ac0c0a58517fa3061631745c31}{D\+E\+V\+I\+C\+E\+\_\+\+S\+P\+R\+I\+T\+E\+\_\+\+P\+X\+\_\+\+O\+F\+F\+S\+E\+T\+\_\+X}}~8 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a7f6c8420831388300bbec13ea4cb57a0}{D\+E\+V\+I\+C\+E\+\_\+\+S\+P\+R\+I\+T\+E\+\_\+\+P\+X\+\_\+\+O\+F\+F\+S\+E\+T\+\_\+Y}}~16 +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_ad14c51cdfb347c34c364f54e67dc978d}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+W\+I\+D\+TH}}~(\mbox{\hyperlink{gb_2hardware_8h_add7f32ba868ef6517798f5fce337e4b2}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+W\+I\+D\+TH}} $\ast$ 8) +\item +\#define \mbox{\hyperlink{gb_2hardware_8h_a7bd450aa268b881257089cf8cd6697ec}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+H\+E\+I\+G\+HT}}~(\mbox{\hyperlink{gb_2hardware_8h_ad252264fdcf900e5fbf611f7a45962ed}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+H\+E\+I\+G\+HT}} $\ast$ 8) +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \mbox{\hyperlink{gb_2hardware_8h_aea9200b29be90b58417787720cdf750b}{\+\_\+\+V\+R\+AM}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \mbox{\hyperlink{gb_2hardware_8h_a73c94166161c33c61d63b3e4b5209cd0}{\+\_\+\+V\+R\+A\+M8000}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \mbox{\hyperlink{gb_2hardware_8h_af763563b6123ef29d73931f616969049}{\+\_\+\+V\+R\+A\+M8800}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \mbox{\hyperlink{gb_2hardware_8h_a668fd555c203361f5e4b835f05243102}{\+\_\+\+V\+R\+A\+M9000}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \mbox{\hyperlink{gb_2hardware_8h_ac5b9d1761bb972948fe10637dfaa94a7}{\+\_\+\+S\+C\+R\+N0}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \mbox{\hyperlink{gb_2hardware_8h_afff31f511127bf7ba1bd3b6bc740aee8}{\+\_\+\+S\+C\+R\+N1}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \mbox{\hyperlink{gb_2hardware_8h_a09a4ae65605182c8b694197d3aea695e}{\+\_\+\+S\+R\+AM}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \mbox{\hyperlink{gb_2hardware_8h_ac1cf31cae6046360271ead6e8b7a6e87}{\+\_\+\+R\+AM}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \mbox{\hyperlink{gb_2hardware_8h_a2f83a5f5daa6418c77756e32923aef5a}{\+\_\+\+R\+A\+M\+B\+A\+NK}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \mbox{\hyperlink{gb_2hardware_8h_a7030908728e166877fba9065671deb02}{\+\_\+\+O\+A\+M\+R\+AM}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a134e3f274c1e607b8c5ff5724860e288}{\+\_\+\+IO}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a70db64bdd045a9df09b289fe9b28af22}{\+\_\+\+A\+U\+D3\+W\+A\+V\+E\+R\+AM}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a472e3b0909a2f0878f643e9968b871ef}{\+\_\+\+H\+R\+AM}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a64dd59016e4f0e78672962fbc553a4b4}{r\+R\+A\+MG}} +\item +\mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_ae0976a29e341edc6ceb810e6eb0328f1}{r\+R\+O\+M\+B0}} +\item +\mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a014f3a9d7ce8f8026c9ac6c0410bb099}{r\+R\+O\+M\+B1}} +\item +\mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_ac2985dbccb16c4c00381d6fbe9600aff}{r\+R\+A\+MB}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a04f9a36ab04334fcd21d2f50c125d5d0}{P1\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a5f2da0d8200f44b6fd694c4a2bea820e}{S\+B\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a0fb715973ee3edd1b525eb7f503e3b2a}{S\+C\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_afa1e18e47bf68ce68d7807fff6edf16b}{D\+I\+V\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a9d295bb437953de5ebcb3c12d65743aa}{T\+I\+M\+A\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a39e5a5b9afd2c2ca78de4aba7ccd071c}{T\+M\+A\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a659173ac2c8da7fd04bc77973eb95256}{T\+A\+C\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a509a5d0f138b40830cb447a862573be5}{I\+F\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_ad859dc62b1df1584ade0cbb822a3e46f}{N\+R10\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_ad53dc7f22b99fce195210a95f2749a72}{N\+R11\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a7accf5feabd95a2d84c72f5915fff837}{N\+R12\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a3d30d4797321b403cd713d727fa3db6c}{N\+R13\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a04c340d91842e8ee2b93922c2bcf39a4}{N\+R14\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a6dd3af1c8e3c66409aa0bc889d98e171}{N\+R21\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_af1301c73bf93350045ba3a4887723ae8}{N\+R22\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a7bb32ac86e3fbf5f869410ba42620616}{N\+R23\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a6676e579a5e421adfb3d3e2d470d9ab6}{N\+R24\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a85d8e680d4d40a918b4195d2a4fada2a}{N\+R30\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_aea78f857e34370d7e1177a8bafe08148}{N\+R31\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a244ee6d8f6144be9b0f94602eddb6239}{N\+R32\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a01c768b60853c8eecdefc2cedfc8d672}{N\+R33\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_ab6da3e2cdbac1331bef3f6de9c808ab1}{N\+R34\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a557833cc1671aa0bd71f33766b4e0f24}{N\+R41\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_aba3d9fb63552bc02ec879696b581adac}{N\+R42\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a52593a64863d51fbf5860b0d31448972}{N\+R43\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a849d2cff8df2655f86b294466bec40d6}{N\+R44\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a924fdf48f6ad020423f6309055314928}{N\+R50\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_ab28f97eabd5f32d48ea27d97bd5dc64f}{N\+R51\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_ac429365dce851ca57d8fe4f7c54a1caa}{N\+R52\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a2fe41a6e0abb211cc00a8fca90543966}{A\+U\+D3\+W\+A\+VE}} \mbox{[}16\mbox{]} +\item +\mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a271367a0bf840e5422b3a7ed541776f8}{P\+C\+M\+\_\+\+S\+A\+M\+P\+LE}} \mbox{[}16\mbox{]} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_ad40ebf3b29add46cdd310a7e0802bc6b}{S\+T\+A\+T\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a244b162cf13bbcb4fe842d7e298b39c2}{S\+C\+Y\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a86cc170585319565195f2c163250be1f}{S\+C\+X\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_aeb643bd4eac2e6e410cae2fae677c0a7}{L\+Y\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a591084a506c33266b7d6cc3b4b8936ae}{L\+Y\+C\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_ae13ce414d3fe7c98c1434918186dfc81}{D\+M\+A\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_af577ba87ec3d13d7415e4c4a53cdf997}{B\+G\+P\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a13f3e89f7b92258d825292e5058815c7}{O\+B\+P0\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a9da545164e049ef773128f869daece13}{O\+B\+P1\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a1c8d52607616ef37da335447e4cbe850}{W\+Y\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a310aa43fbee2fd6b6b419df48acce1e0}{W\+X\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a7279430d110acf02fa176d5f427a6491}{K\+E\+Y1\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_ab16e97796d675205a027b1b28b52956e}{H\+D\+M\+A1\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a801400d58ab7d862742e43b49fa68c8d}{H\+D\+M\+A2\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a57a94790cda8101a29c0d20086770f1b}{H\+D\+M\+A3\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a3a2e883779980c1c37e780f47da4dd69}{H\+D\+M\+A4\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a1454ad6d5d04273eae1288af86deadac}{H\+D\+M\+A5\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a76532f8742d9dd8cb26d2ccfd9c37bbf}{R\+P\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a28fa1ca08ef1c8ed97280bc5e60bdd99}{B\+C\+P\+S\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a1fc8ff37ffe1c431364e1ef7c3961b30}{B\+C\+P\+D\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a1686d2457eb4ad834bb75fb81c86aed8}{O\+C\+P\+S\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_ae24d0e88a1e1b8367ac1f5709d3e500c}{O\+C\+P\+D\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_aa128832cecec4e609517fe3daf044e5e}{S\+V\+B\+K\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_a428894ca3fd0bb4527b03bed551ff04c}{P\+C\+M12\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_ac6d19ac313a99f41bd996e1ca5e43df0}{P\+C\+M34\+\_\+\+R\+EG}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_2hardware_8h_aaef0dc6aab2f821ab406fdbc643af48e}{I\+E\+\_\+\+R\+EG}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Defines that let the GB\textquotesingle{}s hardware registers be accessed from C. + +See the \mbox{\hyperlink{docs_links_and_tools_Pandocs}{Pandocs}} for more details on each register. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{gb_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}\label{gb_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}} +\index{hardware.h@{hardware.h}!\_\_BYTES@{\_\_BYTES}} +\index{\_\_BYTES@{\_\_BYTES}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_\_BYTES}{\_\_BYTES}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+B\+Y\+T\+ES~extern \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}\label{gb_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}} +\index{hardware.h@{hardware.h}!\_\_BYTE\_REG@{\_\_BYTE\_REG}} +\index{\_\_BYTE\_REG@{\_\_BYTE\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_\_BYTE\_REG}{\_\_BYTE\_REG}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG~extern volatile \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}\label{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}} +\index{hardware.h@{hardware.h}!\_\_REG@{\_\_REG}} +\index{\_\_REG@{\_\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_\_REG}{\_\_REG}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+R\+EG~extern volatile \mbox{\hyperlink{asm_2types_8h_afb3731986211fded0a874086c98ffcc4}{S\+FR}}} + +\mbox{\Hypertarget{gb_2hardware_8h_ae7eccdbd4f7b211074591866f515b760}\label{gb_2hardware_8h_ae7eccdbd4f7b211074591866f515b760}} +\index{hardware.h@{hardware.h}!rP1@{rP1}} +\index{rP1@{rP1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rP1}{rP1}} +{\footnotesize\ttfamily \#define r\+P1~\mbox{\hyperlink{gb_2hardware_8h_a04f9a36ab04334fcd21d2f50c125d5d0}{P1\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a6963ef598339e1163d30e57a962e5278}\label{gb_2hardware_8h_a6963ef598339e1163d30e57a962e5278}} +\index{hardware.h@{hardware.h}!P1F\_5@{P1F\_5}} +\index{P1F\_5@{P1F\_5}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{P1F\_5}{P1F\_5}} +{\footnotesize\ttfamily \#define P1\+F\+\_\+5~0b00100000} + +\mbox{\Hypertarget{gb_2hardware_8h_ad215dbfc83c9486ead2f28510366f40b}\label{gb_2hardware_8h_ad215dbfc83c9486ead2f28510366f40b}} +\index{hardware.h@{hardware.h}!P1F\_4@{P1F\_4}} +\index{P1F\_4@{P1F\_4}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{P1F\_4}{P1F\_4}} +{\footnotesize\ttfamily \#define P1\+F\+\_\+4~0b00010000} + +\mbox{\Hypertarget{gb_2hardware_8h_ae8e325a01af1c20935a0c73ea6465a0e}\label{gb_2hardware_8h_ae8e325a01af1c20935a0c73ea6465a0e}} +\index{hardware.h@{hardware.h}!P1F\_3@{P1F\_3}} +\index{P1F\_3@{P1F\_3}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{P1F\_3}{P1F\_3}} +{\footnotesize\ttfamily \#define P1\+F\+\_\+3~0b00001000} + +\mbox{\Hypertarget{gb_2hardware_8h_af59d0dd661ea73965101294d30111385}\label{gb_2hardware_8h_af59d0dd661ea73965101294d30111385}} +\index{hardware.h@{hardware.h}!P1F\_2@{P1F\_2}} +\index{P1F\_2@{P1F\_2}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{P1F\_2}{P1F\_2}} +{\footnotesize\ttfamily \#define P1\+F\+\_\+2~0b00000100} + +\mbox{\Hypertarget{gb_2hardware_8h_aad20c4bf5115b40c9118a484808f4b92}\label{gb_2hardware_8h_aad20c4bf5115b40c9118a484808f4b92}} +\index{hardware.h@{hardware.h}!P1F\_1@{P1F\_1}} +\index{P1F\_1@{P1F\_1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{P1F\_1}{P1F\_1}} +{\footnotesize\ttfamily \#define P1\+F\+\_\+1~0b00000010} + +\mbox{\Hypertarget{gb_2hardware_8h_aedf8627c42ccf0aad5025ef629f4395a}\label{gb_2hardware_8h_aedf8627c42ccf0aad5025ef629f4395a}} +\index{hardware.h@{hardware.h}!P1F\_0@{P1F\_0}} +\index{P1F\_0@{P1F\_0}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{P1F\_0}{P1F\_0}} +{\footnotesize\ttfamily \#define P1\+F\+\_\+0~0b00000001} + +\mbox{\Hypertarget{gb_2hardware_8h_aeaabebe6a36d9e59a01dfceceb7b37d0}\label{gb_2hardware_8h_aeaabebe6a36d9e59a01dfceceb7b37d0}} +\index{hardware.h@{hardware.h}!P1F\_GET\_DPAD@{P1F\_GET\_DPAD}} +\index{P1F\_GET\_DPAD@{P1F\_GET\_DPAD}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{P1F\_GET\_DPAD}{P1F\_GET\_DPAD}} +{\footnotesize\ttfamily \#define P1\+F\+\_\+\+G\+E\+T\+\_\+\+D\+P\+AD~\mbox{\hyperlink{gb_2hardware_8h_a6963ef598339e1163d30e57a962e5278}{P1\+F\+\_\+5}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a750bc82ab34a8929a5bba10f2336abe6}\label{gb_2hardware_8h_a750bc82ab34a8929a5bba10f2336abe6}} +\index{hardware.h@{hardware.h}!P1F\_GET\_BTN@{P1F\_GET\_BTN}} +\index{P1F\_GET\_BTN@{P1F\_GET\_BTN}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{P1F\_GET\_BTN}{P1F\_GET\_BTN}} +{\footnotesize\ttfamily \#define P1\+F\+\_\+\+G\+E\+T\+\_\+\+B\+TN~\mbox{\hyperlink{gb_2hardware_8h_ad215dbfc83c9486ead2f28510366f40b}{P1\+F\+\_\+4}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a5c97ffb0ee0a345ad31797da26410b5a}\label{gb_2hardware_8h_a5c97ffb0ee0a345ad31797da26410b5a}} +\index{hardware.h@{hardware.h}!P1F\_GET\_NONE@{P1F\_GET\_NONE}} +\index{P1F\_GET\_NONE@{P1F\_GET\_NONE}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{P1F\_GET\_NONE}{P1F\_GET\_NONE}} +{\footnotesize\ttfamily \#define P1\+F\+\_\+\+G\+E\+T\+\_\+\+N\+O\+NE~(\mbox{\hyperlink{gb_2hardware_8h_ad215dbfc83c9486ead2f28510366f40b}{P1\+F\+\_\+4}} $\vert$ \mbox{\hyperlink{gb_2hardware_8h_a6963ef598339e1163d30e57a962e5278}{P1\+F\+\_\+5}})} + +\mbox{\Hypertarget{gb_2hardware_8h_af35c8012bca7a164f0910d55cdf6030f}\label{gb_2hardware_8h_af35c8012bca7a164f0910d55cdf6030f}} +\index{hardware.h@{hardware.h}!rSB@{rSB}} +\index{rSB@{rSB}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rSB}{rSB}} +{\footnotesize\ttfamily \#define r\+SB~\mbox{\hyperlink{gb_2hardware_8h_a5f2da0d8200f44b6fd694c4a2bea820e}{S\+B\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a7780d3a9b0fcc42499ed2451d7ab2ec5}\label{gb_2hardware_8h_a7780d3a9b0fcc42499ed2451d7ab2ec5}} +\index{hardware.h@{hardware.h}!rSC@{rSC}} +\index{rSC@{rSC}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rSC}{rSC}} +{\footnotesize\ttfamily \#define r\+SC~\mbox{\hyperlink{gb_2hardware_8h_a0fb715973ee3edd1b525eb7f503e3b2a}{S\+C\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a12ba1f984c585c57163f214f8829d569}\label{gb_2hardware_8h_a12ba1f984c585c57163f214f8829d569}} +\index{hardware.h@{hardware.h}!rDIV@{rDIV}} +\index{rDIV@{rDIV}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rDIV}{rDIV}} +{\footnotesize\ttfamily \#define r\+D\+IV~\mbox{\hyperlink{gb_2hardware_8h_afa1e18e47bf68ce68d7807fff6edf16b}{D\+I\+V\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a51594891b388d60d6917a6ff64542b66}\label{gb_2hardware_8h_a51594891b388d60d6917a6ff64542b66}} +\index{hardware.h@{hardware.h}!rTIMA@{rTIMA}} +\index{rTIMA@{rTIMA}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rTIMA}{rTIMA}} +{\footnotesize\ttfamily \#define r\+T\+I\+MA~\mbox{\hyperlink{gb_2hardware_8h_a9d295bb437953de5ebcb3c12d65743aa}{T\+I\+M\+A\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a588d681dc33d9da3a899863b42980e18}\label{gb_2hardware_8h_a588d681dc33d9da3a899863b42980e18}} +\index{hardware.h@{hardware.h}!rTMA@{rTMA}} +\index{rTMA@{rTMA}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rTMA}{rTMA}} +{\footnotesize\ttfamily \#define r\+T\+MA~\mbox{\hyperlink{gb_2hardware_8h_a39e5a5b9afd2c2ca78de4aba7ccd071c}{T\+M\+A\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_aeddc90947f6a6a3a3fd1e1db3751c988}\label{gb_2hardware_8h_aeddc90947f6a6a3a3fd1e1db3751c988}} +\index{hardware.h@{hardware.h}!rTAC@{rTAC}} +\index{rTAC@{rTAC}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rTAC}{rTAC}} +{\footnotesize\ttfamily \#define r\+T\+AC~\mbox{\hyperlink{gb_2hardware_8h_a659173ac2c8da7fd04bc77973eb95256}{T\+A\+C\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a07863a535e0aaa11b73608d7430dbc0a}\label{gb_2hardware_8h_a07863a535e0aaa11b73608d7430dbc0a}} +\index{hardware.h@{hardware.h}!TACF\_START@{TACF\_START}} +\index{TACF\_START@{TACF\_START}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{TACF\_START}{TACF\_START}} +{\footnotesize\ttfamily \#define T\+A\+C\+F\+\_\+\+S\+T\+A\+RT~0b00000100} + +\mbox{\Hypertarget{gb_2hardware_8h_a9179fd1ba4626627567b9478f691e653}\label{gb_2hardware_8h_a9179fd1ba4626627567b9478f691e653}} +\index{hardware.h@{hardware.h}!TACF\_STOP@{TACF\_STOP}} +\index{TACF\_STOP@{TACF\_STOP}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{TACF\_STOP}{TACF\_STOP}} +{\footnotesize\ttfamily \#define T\+A\+C\+F\+\_\+\+S\+T\+OP~0b00000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a19dce313b521aad75756abfc19bc9e78}\label{gb_2hardware_8h_a19dce313b521aad75756abfc19bc9e78}} +\index{hardware.h@{hardware.h}!TACF\_4KHZ@{TACF\_4KHZ}} +\index{TACF\_4KHZ@{TACF\_4KHZ}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{TACF\_4KHZ}{TACF\_4KHZ}} +{\footnotesize\ttfamily \#define T\+A\+C\+F\+\_\+4\+K\+HZ~0b00000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a7d2c165347d3bb3e3a54fad73e1f363e}\label{gb_2hardware_8h_a7d2c165347d3bb3e3a54fad73e1f363e}} +\index{hardware.h@{hardware.h}!TACF\_16KHZ@{TACF\_16KHZ}} +\index{TACF\_16KHZ@{TACF\_16KHZ}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{TACF\_16KHZ}{TACF\_16KHZ}} +{\footnotesize\ttfamily \#define T\+A\+C\+F\+\_\+16\+K\+HZ~0b00000011} + +\mbox{\Hypertarget{gb_2hardware_8h_a8be2b577af91deed7b8946b500e73319}\label{gb_2hardware_8h_a8be2b577af91deed7b8946b500e73319}} +\index{hardware.h@{hardware.h}!TACF\_65KHZ@{TACF\_65KHZ}} +\index{TACF\_65KHZ@{TACF\_65KHZ}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{TACF\_65KHZ}{TACF\_65KHZ}} +{\footnotesize\ttfamily \#define T\+A\+C\+F\+\_\+65\+K\+HZ~0b00000010} + +\mbox{\Hypertarget{gb_2hardware_8h_ac00b1e90d257b756845da578f4c3f3ba}\label{gb_2hardware_8h_ac00b1e90d257b756845da578f4c3f3ba}} +\index{hardware.h@{hardware.h}!TACF\_262KHZ@{TACF\_262KHZ}} +\index{TACF\_262KHZ@{TACF\_262KHZ}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{TACF\_262KHZ}{TACF\_262KHZ}} +{\footnotesize\ttfamily \#define T\+A\+C\+F\+\_\+262\+K\+HZ~0b00000001} + +\mbox{\Hypertarget{gb_2hardware_8h_a72a900117cdee0fbec10a278d9de0876}\label{gb_2hardware_8h_a72a900117cdee0fbec10a278d9de0876}} +\index{hardware.h@{hardware.h}!SIOF\_CLOCK\_EXT@{SIOF\_CLOCK\_EXT}} +\index{SIOF\_CLOCK\_EXT@{SIOF\_CLOCK\_EXT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SIOF\_CLOCK\_EXT}{SIOF\_CLOCK\_EXT}} +{\footnotesize\ttfamily \#define S\+I\+O\+F\+\_\+\+C\+L\+O\+C\+K\+\_\+\+E\+XT~0b00000000} + +Serial IO\+: Use External clock \mbox{\Hypertarget{gb_2hardware_8h_a55ab8a9eb853e9bcfd72a2bf7e2c524b}\label{gb_2hardware_8h_a55ab8a9eb853e9bcfd72a2bf7e2c524b}} +\index{hardware.h@{hardware.h}!SIOF\_CLOCK\_INT@{SIOF\_CLOCK\_INT}} +\index{SIOF\_CLOCK\_INT@{SIOF\_CLOCK\_INT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SIOF\_CLOCK\_INT}{SIOF\_CLOCK\_INT}} +{\footnotesize\ttfamily \#define S\+I\+O\+F\+\_\+\+C\+L\+O\+C\+K\+\_\+\+I\+NT~0b00000001} + +Serial IO\+: Use Internal clock \mbox{\Hypertarget{gb_2hardware_8h_ae9c948fad514ac440b7c6cc037384ec2}\label{gb_2hardware_8h_ae9c948fad514ac440b7c6cc037384ec2}} +\index{hardware.h@{hardware.h}!SIOF\_SPEED\_1X@{SIOF\_SPEED\_1X}} +\index{SIOF\_SPEED\_1X@{SIOF\_SPEED\_1X}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SIOF\_SPEED\_1X}{SIOF\_SPEED\_1X}} +{\footnotesize\ttfamily \#define S\+I\+O\+F\+\_\+\+S\+P\+E\+E\+D\+\_\+1X~0b00000000} + +Serial IO\+: If internal clock then 8K\+Hz mode, 1K\+B/s (16Khz in C\+GB high-\/speed mode, 2K\+B/s) \mbox{\Hypertarget{gb_2hardware_8h_a44f550e55e7154388748e7c330929c63}\label{gb_2hardware_8h_a44f550e55e7154388748e7c330929c63}} +\index{hardware.h@{hardware.h}!SIOF\_SPEED\_32X@{SIOF\_SPEED\_32X}} +\index{SIOF\_SPEED\_32X@{SIOF\_SPEED\_32X}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SIOF\_SPEED\_32X}{SIOF\_SPEED\_32X}} +{\footnotesize\ttfamily \#define S\+I\+O\+F\+\_\+\+S\+P\+E\+E\+D\+\_\+32X~0b00000010} + +Serial IO\+: {\bfseries{C\+G\+B-\/\+Mode O\+N\+LY}} If internal clock then 256K\+Hz mode, 32K\+B/s (512K\+Hz in C\+GB high-\/speed mode, 64K\+B/s) \mbox{\Hypertarget{gb_2hardware_8h_a21a6e935e8a3ac591905429874ccbe84}\label{gb_2hardware_8h_a21a6e935e8a3ac591905429874ccbe84}} +\index{hardware.h@{hardware.h}!SIOF\_XFER\_START@{SIOF\_XFER\_START}} +\index{SIOF\_XFER\_START@{SIOF\_XFER\_START}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SIOF\_XFER\_START}{SIOF\_XFER\_START}} +{\footnotesize\ttfamily \#define S\+I\+O\+F\+\_\+\+X\+F\+E\+R\+\_\+\+S\+T\+A\+RT~0b10000000} + +Serial IO\+: Start Transfer. Automatically cleared at the end of transfer \mbox{\Hypertarget{gb_2hardware_8h_a19b35b0b21101a2782ce5bde4125db04}\label{gb_2hardware_8h_a19b35b0b21101a2782ce5bde4125db04}} +\index{hardware.h@{hardware.h}!SIOF\_B\_CLOCK@{SIOF\_B\_CLOCK}} +\index{SIOF\_B\_CLOCK@{SIOF\_B\_CLOCK}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SIOF\_B\_CLOCK}{SIOF\_B\_CLOCK}} +{\footnotesize\ttfamily \#define S\+I\+O\+F\+\_\+\+B\+\_\+\+C\+L\+O\+CK~0} + +\mbox{\Hypertarget{gb_2hardware_8h_a32b7b11b2ca90ffb52ce19e7279ea973}\label{gb_2hardware_8h_a32b7b11b2ca90ffb52ce19e7279ea973}} +\index{hardware.h@{hardware.h}!SIOF\_B\_SPEED@{SIOF\_B\_SPEED}} +\index{SIOF\_B\_SPEED@{SIOF\_B\_SPEED}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SIOF\_B\_SPEED}{SIOF\_B\_SPEED}} +{\footnotesize\ttfamily \#define S\+I\+O\+F\+\_\+\+B\+\_\+\+S\+P\+E\+ED~1} + +\mbox{\Hypertarget{gb_2hardware_8h_a03aaffc30c9ff81d86502c1f6b3dbaea}\label{gb_2hardware_8h_a03aaffc30c9ff81d86502c1f6b3dbaea}} +\index{hardware.h@{hardware.h}!SIOF\_B\_XFER\_START@{SIOF\_B\_XFER\_START}} +\index{SIOF\_B\_XFER\_START@{SIOF\_B\_XFER\_START}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SIOF\_B\_XFER\_START}{SIOF\_B\_XFER\_START}} +{\footnotesize\ttfamily \#define S\+I\+O\+F\+\_\+\+B\+\_\+\+X\+F\+E\+R\+\_\+\+S\+T\+A\+RT~7} + +\mbox{\Hypertarget{gb_2hardware_8h_a9534175911f7a54fa550318b275c4cc3}\label{gb_2hardware_8h_a9534175911f7a54fa550318b275c4cc3}} +\index{hardware.h@{hardware.h}!rIF@{rIF}} +\index{rIF@{rIF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rIF}{rIF}} +{\footnotesize\ttfamily \#define r\+IF~\mbox{\hyperlink{gb_2hardware_8h_a509a5d0f138b40830cb447a862573be5}{I\+F\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a4a73d9c15883b576fa0a5b4cc4ac2d08}\label{gb_2hardware_8h_a4a73d9c15883b576fa0a5b4cc4ac2d08}} +\index{hardware.h@{hardware.h}!rAUD1SWEEP@{rAUD1SWEEP}} +\index{rAUD1SWEEP@{rAUD1SWEEP}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD1SWEEP}{rAUD1SWEEP}} +{\footnotesize\ttfamily \#define r\+A\+U\+D1\+S\+W\+E\+EP~\mbox{\hyperlink{gb_2hardware_8h_ad859dc62b1df1584ade0cbb822a3e46f}{N\+R10\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_aa8b5c841c97ae090724a910040f8dd2d}\label{gb_2hardware_8h_aa8b5c841c97ae090724a910040f8dd2d}} +\index{hardware.h@{hardware.h}!AUD1SWEEP\_UP@{AUD1SWEEP\_UP}} +\index{AUD1SWEEP\_UP@{AUD1SWEEP\_UP}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUD1SWEEP\_UP}{AUD1SWEEP\_UP}} +{\footnotesize\ttfamily \#define A\+U\+D1\+S\+W\+E\+E\+P\+\_\+\+UP~0b00000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a281569182e3edb53b7c78b95a4082971}\label{gb_2hardware_8h_a281569182e3edb53b7c78b95a4082971}} +\index{hardware.h@{hardware.h}!AUD1SWEEP\_DOWN@{AUD1SWEEP\_DOWN}} +\index{AUD1SWEEP\_DOWN@{AUD1SWEEP\_DOWN}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUD1SWEEP\_DOWN}{AUD1SWEEP\_DOWN}} +{\footnotesize\ttfamily \#define A\+U\+D1\+S\+W\+E\+E\+P\+\_\+\+D\+O\+WN~0b00001000} + +\mbox{\Hypertarget{gb_2hardware_8h_ac4cbf03d9c2d64cddaf348e003780cf8}\label{gb_2hardware_8h_ac4cbf03d9c2d64cddaf348e003780cf8}} +\index{hardware.h@{hardware.h}!AUD1SWEEP\_TIME@{AUD1SWEEP\_TIME}} +\index{AUD1SWEEP\_TIME@{AUD1SWEEP\_TIME}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUD1SWEEP\_TIME}{AUD1SWEEP\_TIME}} +{\footnotesize\ttfamily \#define A\+U\+D1\+S\+W\+E\+E\+P\+\_\+\+T\+I\+ME(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~((x) $<$$<$ 4)} + +\mbox{\Hypertarget{gb_2hardware_8h_aaed4a07f441ddeecae520e76eb7b7e27}\label{gb_2hardware_8h_aaed4a07f441ddeecae520e76eb7b7e27}} +\index{hardware.h@{hardware.h}!AUD1SWEEP\_LENGTH@{AUD1SWEEP\_LENGTH}} +\index{AUD1SWEEP\_LENGTH@{AUD1SWEEP\_LENGTH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUD1SWEEP\_LENGTH}{AUD1SWEEP\_LENGTH}} +{\footnotesize\ttfamily \#define A\+U\+D1\+S\+W\+E\+E\+P\+\_\+\+L\+E\+N\+G\+TH(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(x)} + +\mbox{\Hypertarget{gb_2hardware_8h_aaeb899eb6bd0593ffb4e90a2f762b18f}\label{gb_2hardware_8h_aaeb899eb6bd0593ffb4e90a2f762b18f}} +\index{hardware.h@{hardware.h}!rAUD1LEN@{rAUD1LEN}} +\index{rAUD1LEN@{rAUD1LEN}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD1LEN}{rAUD1LEN}} +{\footnotesize\ttfamily \#define r\+A\+U\+D1\+L\+EN~\mbox{\hyperlink{gb_2hardware_8h_ad53dc7f22b99fce195210a95f2749a72}{N\+R11\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_ae787a2c857fe8f3803ca353d5309fc85}\label{gb_2hardware_8h_ae787a2c857fe8f3803ca353d5309fc85}} +\index{hardware.h@{hardware.h}!rAUD1ENV@{rAUD1ENV}} +\index{rAUD1ENV@{rAUD1ENV}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD1ENV}{rAUD1ENV}} +{\footnotesize\ttfamily \#define r\+A\+U\+D1\+E\+NV~\mbox{\hyperlink{gb_2hardware_8h_a7accf5feabd95a2d84c72f5915fff837}{N\+R12\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_abb35a844f228403a96e28da7633344e1}\label{gb_2hardware_8h_abb35a844f228403a96e28da7633344e1}} +\index{hardware.h@{hardware.h}!rAUD1LOW@{rAUD1LOW}} +\index{rAUD1LOW@{rAUD1LOW}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD1LOW}{rAUD1LOW}} +{\footnotesize\ttfamily \#define r\+A\+U\+D1\+L\+OW~\mbox{\hyperlink{gb_2hardware_8h_a3d30d4797321b403cd713d727fa3db6c}{N\+R13\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_ab042aa7a7fae75f94d8fb3e08004c797}\label{gb_2hardware_8h_ab042aa7a7fae75f94d8fb3e08004c797}} +\index{hardware.h@{hardware.h}!rAUD1HIGH@{rAUD1HIGH}} +\index{rAUD1HIGH@{rAUD1HIGH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD1HIGH}{rAUD1HIGH}} +{\footnotesize\ttfamily \#define r\+A\+U\+D1\+H\+I\+GH~\mbox{\hyperlink{gb_2hardware_8h_a04c340d91842e8ee2b93922c2bcf39a4}{N\+R14\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a12f01b21d08249800571c6e0f26beeae}\label{gb_2hardware_8h_a12f01b21d08249800571c6e0f26beeae}} +\index{hardware.h@{hardware.h}!rAUD2LEN@{rAUD2LEN}} +\index{rAUD2LEN@{rAUD2LEN}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD2LEN}{rAUD2LEN}} +{\footnotesize\ttfamily \#define r\+A\+U\+D2\+L\+EN~\mbox{\hyperlink{gb_2hardware_8h_a6dd3af1c8e3c66409aa0bc889d98e171}{N\+R21\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_abf3efd42adced218237283156dbae055}\label{gb_2hardware_8h_abf3efd42adced218237283156dbae055}} +\index{hardware.h@{hardware.h}!rAUD2ENV@{rAUD2ENV}} +\index{rAUD2ENV@{rAUD2ENV}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD2ENV}{rAUD2ENV}} +{\footnotesize\ttfamily \#define r\+A\+U\+D2\+E\+NV~\mbox{\hyperlink{gb_2hardware_8h_af1301c73bf93350045ba3a4887723ae8}{N\+R22\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a521466a7650d60b464991ebf68112114}\label{gb_2hardware_8h_a521466a7650d60b464991ebf68112114}} +\index{hardware.h@{hardware.h}!rAUD2LOW@{rAUD2LOW}} +\index{rAUD2LOW@{rAUD2LOW}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD2LOW}{rAUD2LOW}} +{\footnotesize\ttfamily \#define r\+A\+U\+D2\+L\+OW~\mbox{\hyperlink{gb_2hardware_8h_a7bb32ac86e3fbf5f869410ba42620616}{N\+R23\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_afc3684b8215221942a0cddc5960cf8a9}\label{gb_2hardware_8h_afc3684b8215221942a0cddc5960cf8a9}} +\index{hardware.h@{hardware.h}!rAUD2HIGH@{rAUD2HIGH}} +\index{rAUD2HIGH@{rAUD2HIGH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD2HIGH}{rAUD2HIGH}} +{\footnotesize\ttfamily \#define r\+A\+U\+D2\+H\+I\+GH~\mbox{\hyperlink{gb_2hardware_8h_a6676e579a5e421adfb3d3e2d470d9ab6}{N\+R24\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a13e230a0d2979e0b9ca9582f6010162b}\label{gb_2hardware_8h_a13e230a0d2979e0b9ca9582f6010162b}} +\index{hardware.h@{hardware.h}!rAUD3ENA@{rAUD3ENA}} +\index{rAUD3ENA@{rAUD3ENA}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD3ENA}{rAUD3ENA}} +{\footnotesize\ttfamily \#define r\+A\+U\+D3\+E\+NA~\mbox{\hyperlink{gb_2hardware_8h_a85d8e680d4d40a918b4195d2a4fada2a}{N\+R30\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_ae168529ead90f90c28f75d57ba4d28e2}\label{gb_2hardware_8h_ae168529ead90f90c28f75d57ba4d28e2}} +\index{hardware.h@{hardware.h}!rAUD3LEN@{rAUD3LEN}} +\index{rAUD3LEN@{rAUD3LEN}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD3LEN}{rAUD3LEN}} +{\footnotesize\ttfamily \#define r\+A\+U\+D3\+L\+EN~\mbox{\hyperlink{gb_2hardware_8h_aea78f857e34370d7e1177a8bafe08148}{N\+R31\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a298bccebea918c63aed36c811e02333d}\label{gb_2hardware_8h_a298bccebea918c63aed36c811e02333d}} +\index{hardware.h@{hardware.h}!rAUD3LEVEL@{rAUD3LEVEL}} +\index{rAUD3LEVEL@{rAUD3LEVEL}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD3LEVEL}{rAUD3LEVEL}} +{\footnotesize\ttfamily \#define r\+A\+U\+D3\+L\+E\+V\+EL~\mbox{\hyperlink{gb_2hardware_8h_a244ee6d8f6144be9b0f94602eddb6239}{N\+R32\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a31d1d4441749e90c2895fc8750b2234c}\label{gb_2hardware_8h_a31d1d4441749e90c2895fc8750b2234c}} +\index{hardware.h@{hardware.h}!rAUD3LOW@{rAUD3LOW}} +\index{rAUD3LOW@{rAUD3LOW}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD3LOW}{rAUD3LOW}} +{\footnotesize\ttfamily \#define r\+A\+U\+D3\+L\+OW~\mbox{\hyperlink{gb_2hardware_8h_a01c768b60853c8eecdefc2cedfc8d672}{N\+R33\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_acd0b3763f8599ed65e2d060b159bd91c}\label{gb_2hardware_8h_acd0b3763f8599ed65e2d060b159bd91c}} +\index{hardware.h@{hardware.h}!rAUD3HIGH@{rAUD3HIGH}} +\index{rAUD3HIGH@{rAUD3HIGH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD3HIGH}{rAUD3HIGH}} +{\footnotesize\ttfamily \#define r\+A\+U\+D3\+H\+I\+GH~\mbox{\hyperlink{gb_2hardware_8h_ab6da3e2cdbac1331bef3f6de9c808ab1}{N\+R34\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_abd820b2f5c18efb43548f64862d38f05}\label{gb_2hardware_8h_abd820b2f5c18efb43548f64862d38f05}} +\index{hardware.h@{hardware.h}!rAUD4LEN@{rAUD4LEN}} +\index{rAUD4LEN@{rAUD4LEN}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD4LEN}{rAUD4LEN}} +{\footnotesize\ttfamily \#define r\+A\+U\+D4\+L\+EN~\mbox{\hyperlink{gb_2hardware_8h_a557833cc1671aa0bd71f33766b4e0f24}{N\+R41\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_abba6cc1819ea73d36a389fd99807dac5}\label{gb_2hardware_8h_abba6cc1819ea73d36a389fd99807dac5}} +\index{hardware.h@{hardware.h}!rAUD4ENV@{rAUD4ENV}} +\index{rAUD4ENV@{rAUD4ENV}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD4ENV}{rAUD4ENV}} +{\footnotesize\ttfamily \#define r\+A\+U\+D4\+E\+NV~\mbox{\hyperlink{gb_2hardware_8h_aba3d9fb63552bc02ec879696b581adac}{N\+R42\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_ae21217e822a66e77c15a4df4fa0cf1e9}\label{gb_2hardware_8h_ae21217e822a66e77c15a4df4fa0cf1e9}} +\index{hardware.h@{hardware.h}!rAUD4POLY@{rAUD4POLY}} +\index{rAUD4POLY@{rAUD4POLY}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD4POLY}{rAUD4POLY}} +{\footnotesize\ttfamily \#define r\+A\+U\+D4\+P\+O\+LY~\mbox{\hyperlink{gb_2hardware_8h_a52593a64863d51fbf5860b0d31448972}{N\+R43\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a1bfe644bf343abd66c790c2758e7c0bb}\label{gb_2hardware_8h_a1bfe644bf343abd66c790c2758e7c0bb}} +\index{hardware.h@{hardware.h}!AUD4POLY\_WIDTH\_15BIT@{AUD4POLY\_WIDTH\_15BIT}} +\index{AUD4POLY\_WIDTH\_15BIT@{AUD4POLY\_WIDTH\_15BIT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUD4POLY\_WIDTH\_15BIT}{AUD4POLY\_WIDTH\_15BIT}} +{\footnotesize\ttfamily \#define A\+U\+D4\+P\+O\+L\+Y\+\_\+\+W\+I\+D\+T\+H\+\_\+15\+B\+IT~0x00} + +\mbox{\Hypertarget{gb_2hardware_8h_a9120d2c7cd8800e302e76f525d332d6c}\label{gb_2hardware_8h_a9120d2c7cd8800e302e76f525d332d6c}} +\index{hardware.h@{hardware.h}!AUD4POLY\_WIDTH\_7BIT@{AUD4POLY\_WIDTH\_7BIT}} +\index{AUD4POLY\_WIDTH\_7BIT@{AUD4POLY\_WIDTH\_7BIT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUD4POLY\_WIDTH\_7BIT}{AUD4POLY\_WIDTH\_7BIT}} +{\footnotesize\ttfamily \#define A\+U\+D4\+P\+O\+L\+Y\+\_\+\+W\+I\+D\+T\+H\+\_\+7\+B\+IT~0x08} + +\mbox{\Hypertarget{gb_2hardware_8h_a8492c6d9cb38fbb4a2bf9f5caa426578}\label{gb_2hardware_8h_a8492c6d9cb38fbb4a2bf9f5caa426578}} +\index{hardware.h@{hardware.h}!rAUD4GO@{rAUD4GO}} +\index{rAUD4GO@{rAUD4GO}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUD4GO}{rAUD4GO}} +{\footnotesize\ttfamily \#define r\+A\+U\+D4\+GO~\mbox{\hyperlink{gb_2hardware_8h_a849d2cff8df2655f86b294466bec40d6}{N\+R44\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a534fa3f905e37ac434537af23847d89a}\label{gb_2hardware_8h_a534fa3f905e37ac434537af23847d89a}} +\index{hardware.h@{hardware.h}!rAUDVOL@{rAUDVOL}} +\index{rAUDVOL@{rAUDVOL}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUDVOL}{rAUDVOL}} +{\footnotesize\ttfamily \#define r\+A\+U\+D\+V\+OL~\mbox{\hyperlink{gb_2hardware_8h_a924fdf48f6ad020423f6309055314928}{N\+R50\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a0dc3f482441d4e13828aebdf396c3be9}\label{gb_2hardware_8h_a0dc3f482441d4e13828aebdf396c3be9}} +\index{hardware.h@{hardware.h}!AUDVOL\_VOL\_LEFT@{AUDVOL\_VOL\_LEFT}} +\index{AUDVOL\_VOL\_LEFT@{AUDVOL\_VOL\_LEFT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDVOL\_VOL\_LEFT}{AUDVOL\_VOL\_LEFT}} +{\footnotesize\ttfamily \#define A\+U\+D\+V\+O\+L\+\_\+\+V\+O\+L\+\_\+\+L\+E\+FT(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~((x) $<$$<$ 4)} + +\mbox{\Hypertarget{gb_2hardware_8h_aabac77131d22297a246a3cfb0e443605}\label{gb_2hardware_8h_aabac77131d22297a246a3cfb0e443605}} +\index{hardware.h@{hardware.h}!AUDVOL\_VOL\_RIGHT@{AUDVOL\_VOL\_RIGHT}} +\index{AUDVOL\_VOL\_RIGHT@{AUDVOL\_VOL\_RIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDVOL\_VOL\_RIGHT}{AUDVOL\_VOL\_RIGHT}} +{\footnotesize\ttfamily \#define A\+U\+D\+V\+O\+L\+\_\+\+V\+O\+L\+\_\+\+R\+I\+G\+HT(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~((x))} + +\mbox{\Hypertarget{gb_2hardware_8h_a8cb754b63b073abf30af3fd6f0052832}\label{gb_2hardware_8h_a8cb754b63b073abf30af3fd6f0052832}} +\index{hardware.h@{hardware.h}!AUDVOL\_VIN\_LEFT@{AUDVOL\_VIN\_LEFT}} +\index{AUDVOL\_VIN\_LEFT@{AUDVOL\_VIN\_LEFT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDVOL\_VIN\_LEFT}{AUDVOL\_VIN\_LEFT}} +{\footnotesize\ttfamily \#define A\+U\+D\+V\+O\+L\+\_\+\+V\+I\+N\+\_\+\+L\+E\+FT~0b10000000} + +\mbox{\Hypertarget{gb_2hardware_8h_aa257f1e89f6782714cbc76ffc71d0fe7}\label{gb_2hardware_8h_aa257f1e89f6782714cbc76ffc71d0fe7}} +\index{hardware.h@{hardware.h}!AUDVOL\_VIN\_RIGHT@{AUDVOL\_VIN\_RIGHT}} +\index{AUDVOL\_VIN\_RIGHT@{AUDVOL\_VIN\_RIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDVOL\_VIN\_RIGHT}{AUDVOL\_VIN\_RIGHT}} +{\footnotesize\ttfamily \#define A\+U\+D\+V\+O\+L\+\_\+\+V\+I\+N\+\_\+\+R\+I\+G\+HT~0b00001000} + +\mbox{\Hypertarget{gb_2hardware_8h_ad2891216d025f44b02350f2ae2612b1e}\label{gb_2hardware_8h_ad2891216d025f44b02350f2ae2612b1e}} +\index{hardware.h@{hardware.h}!rAUDTERM@{rAUDTERM}} +\index{rAUDTERM@{rAUDTERM}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUDTERM}{rAUDTERM}} +{\footnotesize\ttfamily \#define r\+A\+U\+D\+T\+E\+RM~\mbox{\hyperlink{gb_2hardware_8h_ab28f97eabd5f32d48ea27d97bd5dc64f}{N\+R51\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_af9a0eee23057665604c258abc667939d}\label{gb_2hardware_8h_af9a0eee23057665604c258abc667939d}} +\index{hardware.h@{hardware.h}!AUDTERM\_4\_LEFT@{AUDTERM\_4\_LEFT}} +\index{AUDTERM\_4\_LEFT@{AUDTERM\_4\_LEFT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDTERM\_4\_LEFT}{AUDTERM\_4\_LEFT}} +{\footnotesize\ttfamily \#define A\+U\+D\+T\+E\+R\+M\+\_\+4\+\_\+\+L\+E\+FT~0b10000000} + +\mbox{\Hypertarget{gb_2hardware_8h_ac1470febab4adcff88b31a465d480f72}\label{gb_2hardware_8h_ac1470febab4adcff88b31a465d480f72}} +\index{hardware.h@{hardware.h}!AUDTERM\_3\_LEFT@{AUDTERM\_3\_LEFT}} +\index{AUDTERM\_3\_LEFT@{AUDTERM\_3\_LEFT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDTERM\_3\_LEFT}{AUDTERM\_3\_LEFT}} +{\footnotesize\ttfamily \#define A\+U\+D\+T\+E\+R\+M\+\_\+3\+\_\+\+L\+E\+FT~0b01000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a309d26015522c2de1cff39ba6e6e6a04}\label{gb_2hardware_8h_a309d26015522c2de1cff39ba6e6e6a04}} +\index{hardware.h@{hardware.h}!AUDTERM\_2\_LEFT@{AUDTERM\_2\_LEFT}} +\index{AUDTERM\_2\_LEFT@{AUDTERM\_2\_LEFT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDTERM\_2\_LEFT}{AUDTERM\_2\_LEFT}} +{\footnotesize\ttfamily \#define A\+U\+D\+T\+E\+R\+M\+\_\+2\+\_\+\+L\+E\+FT~0b00100000} + +\mbox{\Hypertarget{gb_2hardware_8h_aad3ccece4257429e82186f7b4d72b220}\label{gb_2hardware_8h_aad3ccece4257429e82186f7b4d72b220}} +\index{hardware.h@{hardware.h}!AUDTERM\_1\_LEFT@{AUDTERM\_1\_LEFT}} +\index{AUDTERM\_1\_LEFT@{AUDTERM\_1\_LEFT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDTERM\_1\_LEFT}{AUDTERM\_1\_LEFT}} +{\footnotesize\ttfamily \#define A\+U\+D\+T\+E\+R\+M\+\_\+1\+\_\+\+L\+E\+FT~0b00010000} + +\mbox{\Hypertarget{gb_2hardware_8h_a2ba607e94d30ae8eeb1933c9dabbf68d}\label{gb_2hardware_8h_a2ba607e94d30ae8eeb1933c9dabbf68d}} +\index{hardware.h@{hardware.h}!AUDTERM\_4\_RIGHT@{AUDTERM\_4\_RIGHT}} +\index{AUDTERM\_4\_RIGHT@{AUDTERM\_4\_RIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDTERM\_4\_RIGHT}{AUDTERM\_4\_RIGHT}} +{\footnotesize\ttfamily \#define A\+U\+D\+T\+E\+R\+M\+\_\+4\+\_\+\+R\+I\+G\+HT~0b00001000} + +\mbox{\Hypertarget{gb_2hardware_8h_adc74cebc6671c48bd502667f21d24da4}\label{gb_2hardware_8h_adc74cebc6671c48bd502667f21d24da4}} +\index{hardware.h@{hardware.h}!AUDTERM\_3\_RIGHT@{AUDTERM\_3\_RIGHT}} +\index{AUDTERM\_3\_RIGHT@{AUDTERM\_3\_RIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDTERM\_3\_RIGHT}{AUDTERM\_3\_RIGHT}} +{\footnotesize\ttfamily \#define A\+U\+D\+T\+E\+R\+M\+\_\+3\+\_\+\+R\+I\+G\+HT~0b00000100} + +\mbox{\Hypertarget{gb_2hardware_8h_a6fb64712b06118cad702691f2aa18cd4}\label{gb_2hardware_8h_a6fb64712b06118cad702691f2aa18cd4}} +\index{hardware.h@{hardware.h}!AUDTERM\_2\_RIGHT@{AUDTERM\_2\_RIGHT}} +\index{AUDTERM\_2\_RIGHT@{AUDTERM\_2\_RIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDTERM\_2\_RIGHT}{AUDTERM\_2\_RIGHT}} +{\footnotesize\ttfamily \#define A\+U\+D\+T\+E\+R\+M\+\_\+2\+\_\+\+R\+I\+G\+HT~0b00000010} + +\mbox{\Hypertarget{gb_2hardware_8h_aa3cdccfb4b6b42cdee682bdb6e4fc310}\label{gb_2hardware_8h_aa3cdccfb4b6b42cdee682bdb6e4fc310}} +\index{hardware.h@{hardware.h}!AUDTERM\_1\_RIGHT@{AUDTERM\_1\_RIGHT}} +\index{AUDTERM\_1\_RIGHT@{AUDTERM\_1\_RIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDTERM\_1\_RIGHT}{AUDTERM\_1\_RIGHT}} +{\footnotesize\ttfamily \#define A\+U\+D\+T\+E\+R\+M\+\_\+1\+\_\+\+R\+I\+G\+HT~0b00000001} + +\mbox{\Hypertarget{gb_2hardware_8h_a627044263543a1074dc9f4570aa8c915}\label{gb_2hardware_8h_a627044263543a1074dc9f4570aa8c915}} +\index{hardware.h@{hardware.h}!rAUDENA@{rAUDENA}} +\index{rAUDENA@{rAUDENA}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rAUDENA}{rAUDENA}} +{\footnotesize\ttfamily \#define r\+A\+U\+D\+E\+NA~\mbox{\hyperlink{gb_2hardware_8h_ac429365dce851ca57d8fe4f7c54a1caa}{N\+R52\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a7bbcf10e7a2b69127cd2f9e598bf601f}\label{gb_2hardware_8h_a7bbcf10e7a2b69127cd2f9e598bf601f}} +\index{hardware.h@{hardware.h}!AUDENA\_ON@{AUDENA\_ON}} +\index{AUDENA\_ON@{AUDENA\_ON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDENA\_ON}{AUDENA\_ON}} +{\footnotesize\ttfamily \#define A\+U\+D\+E\+N\+A\+\_\+\+ON~0b10000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a1b424d8f8a7438d19261401a843263d2}\label{gb_2hardware_8h_a1b424d8f8a7438d19261401a843263d2}} +\index{hardware.h@{hardware.h}!AUDENA\_OFF@{AUDENA\_OFF}} +\index{AUDENA\_OFF@{AUDENA\_OFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDENA\_OFF}{AUDENA\_OFF}} +{\footnotesize\ttfamily \#define A\+U\+D\+E\+N\+A\+\_\+\+O\+FF~0b00000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a8b576a1fe1473ac4aff8afecb28035cb}\label{gb_2hardware_8h_a8b576a1fe1473ac4aff8afecb28035cb}} +\index{hardware.h@{hardware.h}!rLCDC@{rLCDC}} +\index{rLCDC@{rLCDC}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rLCDC}{rLCDC}} +{\footnotesize\ttfamily \#define r\+L\+C\+DC~\mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_ae9de9f58318f113afbc955986a502692}\label{gb_2hardware_8h_ae9de9f58318f113afbc955986a502692}} +\index{hardware.h@{hardware.h}!LCDCF\_OFF@{LCDCF\_OFF}} +\index{LCDCF\_OFF@{LCDCF\_OFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_OFF}{LCDCF\_OFF}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+O\+FF~0b00000000} + +L\+CD Control\+: Off \mbox{\Hypertarget{gb_2hardware_8h_a1491fc03ed7f02e7309cc7b0c48b6c8a}\label{gb_2hardware_8h_a1491fc03ed7f02e7309cc7b0c48b6c8a}} +\index{hardware.h@{hardware.h}!LCDCF\_ON@{LCDCF\_ON}} +\index{LCDCF\_ON@{LCDCF\_ON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_ON}{LCDCF\_ON}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+ON~0b10000000} + +L\+CD Control\+: On \mbox{\Hypertarget{gb_2hardware_8h_a178a111ffe8eb38a2875fcaf3bfeba3f}\label{gb_2hardware_8h_a178a111ffe8eb38a2875fcaf3bfeba3f}} +\index{hardware.h@{hardware.h}!LCDCF\_WIN9800@{LCDCF\_WIN9800}} +\index{LCDCF\_WIN9800@{LCDCF\_WIN9800}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_WIN9800}{LCDCF\_WIN9800}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+W\+I\+N9800~0b00000000} + +Window Tile Map\+: Use 9800 Region \mbox{\Hypertarget{gb_2hardware_8h_a9d555b0c19019150db73ca245ca62a78}\label{gb_2hardware_8h_a9d555b0c19019150db73ca245ca62a78}} +\index{hardware.h@{hardware.h}!LCDCF\_WIN9C00@{LCDCF\_WIN9C00}} +\index{LCDCF\_WIN9C00@{LCDCF\_WIN9C00}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_WIN9C00}{LCDCF\_WIN9C00}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+W\+I\+N9\+C00~0b01000000} + +Window Tile Map\+: Use 9C00 Region \mbox{\Hypertarget{gb_2hardware_8h_a582ece3b5f6cc49d47b2ad3e16d47374}\label{gb_2hardware_8h_a582ece3b5f6cc49d47b2ad3e16d47374}} +\index{hardware.h@{hardware.h}!LCDCF\_WINOFF@{LCDCF\_WINOFF}} +\index{LCDCF\_WINOFF@{LCDCF\_WINOFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_WINOFF}{LCDCF\_WINOFF}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+W\+I\+N\+O\+FF~0b00000000} + +Window Display\+: Hidden \mbox{\Hypertarget{gb_2hardware_8h_a13a5f08b9aae68f8fa57a8aa7705b732}\label{gb_2hardware_8h_a13a5f08b9aae68f8fa57a8aa7705b732}} +\index{hardware.h@{hardware.h}!LCDCF\_WINON@{LCDCF\_WINON}} +\index{LCDCF\_WINON@{LCDCF\_WINON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_WINON}{LCDCF\_WINON}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+W\+I\+N\+ON~0b00100000} + +Window Display\+: Visible \mbox{\Hypertarget{gb_2hardware_8h_a69a43daf29c680b3ab0fbcad3118cd48}\label{gb_2hardware_8h_a69a43daf29c680b3ab0fbcad3118cd48}} +\index{hardware.h@{hardware.h}!LCDCF\_BG8800@{LCDCF\_BG8800}} +\index{LCDCF\_BG8800@{LCDCF\_BG8800}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_BG8800}{LCDCF\_BG8800}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+G8800~0b00000000} + +BG \& Window Tile Data\+: Use 8800 Region \mbox{\Hypertarget{gb_2hardware_8h_a731588b96fb8cdbeb7e68c089373e6f8}\label{gb_2hardware_8h_a731588b96fb8cdbeb7e68c089373e6f8}} +\index{hardware.h@{hardware.h}!LCDCF\_BG8000@{LCDCF\_BG8000}} +\index{LCDCF\_BG8000@{LCDCF\_BG8000}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_BG8000}{LCDCF\_BG8000}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+G8000~0b00010000} + +BG \& Window Tile Data\+: Use 8000 Region \mbox{\Hypertarget{gb_2hardware_8h_ae4e03124190c7f96586b75cb4470a210}\label{gb_2hardware_8h_ae4e03124190c7f96586b75cb4470a210}} +\index{hardware.h@{hardware.h}!LCDCF\_BG9800@{LCDCF\_BG9800}} +\index{LCDCF\_BG9800@{LCDCF\_BG9800}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_BG9800}{LCDCF\_BG9800}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+G9800~0b00000000} + +BG Tile Map\+: use 9800 Region \mbox{\Hypertarget{gb_2hardware_8h_a2e2a68c3274055a06cf38d00f007d4bf}\label{gb_2hardware_8h_a2e2a68c3274055a06cf38d00f007d4bf}} +\index{hardware.h@{hardware.h}!LCDCF\_BG9C00@{LCDCF\_BG9C00}} +\index{LCDCF\_BG9C00@{LCDCF\_BG9C00}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_BG9C00}{LCDCF\_BG9C00}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+G9\+C00~0b00001000} + +BG Tile Map\+: use 9C00 Region \mbox{\Hypertarget{gb_2hardware_8h_a1452fbc14f59076347c4cd4864fbeb51}\label{gb_2hardware_8h_a1452fbc14f59076347c4cd4864fbeb51}} +\index{hardware.h@{hardware.h}!LCDCF\_OBJ8@{LCDCF\_OBJ8}} +\index{LCDCF\_OBJ8@{LCDCF\_OBJ8}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_OBJ8}{LCDCF\_OBJ8}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+O\+B\+J8~0b00000000} + +Sprites Size\+: 8x8 pixels \mbox{\Hypertarget{gb_2hardware_8h_a14eddd3d53d8e649f1754bd455b4863d}\label{gb_2hardware_8h_a14eddd3d53d8e649f1754bd455b4863d}} +\index{hardware.h@{hardware.h}!LCDCF\_OBJ16@{LCDCF\_OBJ16}} +\index{LCDCF\_OBJ16@{LCDCF\_OBJ16}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_OBJ16}{LCDCF\_OBJ16}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+O\+B\+J16~0b00000100} + +Sprites Size\+: 8x16 pixels \mbox{\Hypertarget{gb_2hardware_8h_af14334f65debf6ee02cc21b58729cfde}\label{gb_2hardware_8h_af14334f65debf6ee02cc21b58729cfde}} +\index{hardware.h@{hardware.h}!LCDCF\_OBJOFF@{LCDCF\_OBJOFF}} +\index{LCDCF\_OBJOFF@{LCDCF\_OBJOFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_OBJOFF}{LCDCF\_OBJOFF}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+O\+B\+J\+O\+FF~0b00000000} + +Sprites Display\+: Hidden \mbox{\Hypertarget{gb_2hardware_8h_a6aef42158c90e8025b8341cdea2e3918}\label{gb_2hardware_8h_a6aef42158c90e8025b8341cdea2e3918}} +\index{hardware.h@{hardware.h}!LCDCF\_OBJON@{LCDCF\_OBJON}} +\index{LCDCF\_OBJON@{LCDCF\_OBJON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_OBJON}{LCDCF\_OBJON}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+O\+B\+J\+ON~0b00000010} + +Sprites Display\+: Visible \mbox{\Hypertarget{gb_2hardware_8h_aa8027f47983459c377169f57987b710c}\label{gb_2hardware_8h_aa8027f47983459c377169f57987b710c}} +\index{hardware.h@{hardware.h}!LCDCF\_BGOFF@{LCDCF\_BGOFF}} +\index{LCDCF\_BGOFF@{LCDCF\_BGOFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_BGOFF}{LCDCF\_BGOFF}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+G\+O\+FF~0b00000000} + +Background Display\+: Hidden \mbox{\Hypertarget{gb_2hardware_8h_a97ab19d938f05bffbcb4221824c3bfce}\label{gb_2hardware_8h_a97ab19d938f05bffbcb4221824c3bfce}} +\index{hardware.h@{hardware.h}!LCDCF\_BGON@{LCDCF\_BGON}} +\index{LCDCF\_BGON@{LCDCF\_BGON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_BGON}{LCDCF\_BGON}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+G\+ON~0b00000001} + +Background Display\+: Visible \mbox{\Hypertarget{gb_2hardware_8h_ac112618942cb4719def91693616baaff}\label{gb_2hardware_8h_ac112618942cb4719def91693616baaff}} +\index{hardware.h@{hardware.h}!LCDCF\_B\_ON@{LCDCF\_B\_ON}} +\index{LCDCF\_B\_ON@{LCDCF\_B\_ON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_B\_ON}{LCDCF\_B\_ON}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+ON~7} + +Bit for L\+CD On/\+Off Select \mbox{\Hypertarget{gb_2hardware_8h_ac826fdb70a043ebb8f1b317b00db6ff3}\label{gb_2hardware_8h_ac826fdb70a043ebb8f1b317b00db6ff3}} +\index{hardware.h@{hardware.h}!LCDCF\_B\_WIN9C00@{LCDCF\_B\_WIN9C00}} +\index{LCDCF\_B\_WIN9C00@{LCDCF\_B\_WIN9C00}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_B\_WIN9C00}{LCDCF\_B\_WIN9C00}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+W\+I\+N9\+C00~6} + +Bit for Window Tile Map Region Select \mbox{\Hypertarget{gb_2hardware_8h_ae1de721c95ddc8f29ba9b9deaee8d68c}\label{gb_2hardware_8h_ae1de721c95ddc8f29ba9b9deaee8d68c}} +\index{hardware.h@{hardware.h}!LCDCF\_B\_WINON@{LCDCF\_B\_WINON}} +\index{LCDCF\_B\_WINON@{LCDCF\_B\_WINON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_B\_WINON}{LCDCF\_B\_WINON}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+W\+I\+N\+ON~5} + +Bit for Window Display On/\+Off Control \mbox{\Hypertarget{gb_2hardware_8h_aa336ca1c8bd29763222fc011a6272bdf}\label{gb_2hardware_8h_aa336ca1c8bd29763222fc011a6272bdf}} +\index{hardware.h@{hardware.h}!LCDCF\_B\_BG8000@{LCDCF\_B\_BG8000}} +\index{LCDCF\_B\_BG8000@{LCDCF\_B\_BG8000}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_B\_BG8000}{LCDCF\_B\_BG8000}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+B\+G8000~4} + +Bit for BG \& Window Tile Data Region Select \mbox{\Hypertarget{gb_2hardware_8h_a4889bb882e956665069212c4c8aa623b}\label{gb_2hardware_8h_a4889bb882e956665069212c4c8aa623b}} +\index{hardware.h@{hardware.h}!LCDCF\_B\_BG9C00@{LCDCF\_B\_BG9C00}} +\index{LCDCF\_B\_BG9C00@{LCDCF\_B\_BG9C00}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_B\_BG9C00}{LCDCF\_B\_BG9C00}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+B\+G9\+C00~3} + +Bit for BG Tile Map Region Select \mbox{\Hypertarget{gb_2hardware_8h_aa8f5bcd5073aae5948a9647dcb76f779}\label{gb_2hardware_8h_aa8f5bcd5073aae5948a9647dcb76f779}} +\index{hardware.h@{hardware.h}!LCDCF\_B\_OBJ16@{LCDCF\_B\_OBJ16}} +\index{LCDCF\_B\_OBJ16@{LCDCF\_B\_OBJ16}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_B\_OBJ16}{LCDCF\_B\_OBJ16}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+O\+B\+J16~2} + +Bit for Sprites Size Select \mbox{\Hypertarget{gb_2hardware_8h_a6f6852d0f1d295b03e1230d5d97cb3e9}\label{gb_2hardware_8h_a6f6852d0f1d295b03e1230d5d97cb3e9}} +\index{hardware.h@{hardware.h}!LCDCF\_B\_OBJON@{LCDCF\_B\_OBJON}} +\index{LCDCF\_B\_OBJON@{LCDCF\_B\_OBJON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_B\_OBJON}{LCDCF\_B\_OBJON}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+O\+B\+J\+ON~1} + +Bit for Sprites Display Visible/\+Hidden Select \mbox{\Hypertarget{gb_2hardware_8h_aa1f66868f63af2af6544e84122de3cc3}\label{gb_2hardware_8h_aa1f66868f63af2af6544e84122de3cc3}} +\index{hardware.h@{hardware.h}!LCDCF\_B\_BGON@{LCDCF\_B\_BGON}} +\index{LCDCF\_B\_BGON@{LCDCF\_B\_BGON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDCF\_B\_BGON}{LCDCF\_B\_BGON}} +{\footnotesize\ttfamily \#define L\+C\+D\+C\+F\+\_\+\+B\+\_\+\+B\+G\+ON~0} + +Bit for Background Display Visible/\+Hidden Select \mbox{\Hypertarget{gb_2hardware_8h_a338ec378453b4457efdb3008978c0f28}\label{gb_2hardware_8h_a338ec378453b4457efdb3008978c0f28}} +\index{hardware.h@{hardware.h}!rSTAT@{rSTAT}} +\index{rSTAT@{rSTAT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rSTAT}{rSTAT}} +{\footnotesize\ttfamily \#define r\+S\+T\+AT~\mbox{\hyperlink{gb_2hardware_8h_ad40ebf3b29add46cdd310a7e0802bc6b}{S\+T\+A\+T\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a3b53105cc5be896b48794ba82d2aeb4c}\label{gb_2hardware_8h_a3b53105cc5be896b48794ba82d2aeb4c}} +\index{hardware.h@{hardware.h}!STATF\_LYC@{STATF\_LYC}} +\index{STATF\_LYC@{STATF\_LYC}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_LYC}{STATF\_LYC}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+L\+YC~0b01000000} + +S\+T\+AT Interrupt\+: L\+YC=LY Coincidence Source Enable \mbox{\Hypertarget{gb_2hardware_8h_a47b5bc2ec6afaf1d50a8db5f24415922}\label{gb_2hardware_8h_a47b5bc2ec6afaf1d50a8db5f24415922}} +\index{hardware.h@{hardware.h}!STATF\_MODE10@{STATF\_MODE10}} +\index{STATF\_MODE10@{STATF\_MODE10}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_MODE10}{STATF\_MODE10}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+M\+O\+D\+E10~0b00100000} + +S\+T\+AT Interrupt\+: Mode 2 O\+AM Source Enable \mbox{\Hypertarget{gb_2hardware_8h_ad27f428fca89ea6b236ff3aa4769a05e}\label{gb_2hardware_8h_ad27f428fca89ea6b236ff3aa4769a05e}} +\index{hardware.h@{hardware.h}!STATF\_MODE01@{STATF\_MODE01}} +\index{STATF\_MODE01@{STATF\_MODE01}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_MODE01}{STATF\_MODE01}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+M\+O\+D\+E01~0b00010000} + +S\+T\+AT Interrupt\+: Mode 1 V\+Blank Source Enable \mbox{\Hypertarget{gb_2hardware_8h_a72b78d4d640033770be37d95bf8e1f9d}\label{gb_2hardware_8h_a72b78d4d640033770be37d95bf8e1f9d}} +\index{hardware.h@{hardware.h}!STATF\_MODE00@{STATF\_MODE00}} +\index{STATF\_MODE00@{STATF\_MODE00}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_MODE00}{STATF\_MODE00}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+M\+O\+D\+E00~0b00001000} + +S\+T\+AT Interrupt\+: Mode 0 H\+Blank Source Enable ~\newline + \mbox{\Hypertarget{gb_2hardware_8h_a2b3637bad69da368c3d7136632963fb7}\label{gb_2hardware_8h_a2b3637bad69da368c3d7136632963fb7}} +\index{hardware.h@{hardware.h}!STATF\_LYCF@{STATF\_LYCF}} +\index{STATF\_LYCF@{STATF\_LYCF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_LYCF}{STATF\_LYCF}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+L\+Y\+CF~0b00000100} + +L\+YC=LY Coincidence Status Flag, Set when LY contains the same value as L\+YC \mbox{\Hypertarget{gb_2hardware_8h_ab04e468d2403bc69f761daa300bb999a}\label{gb_2hardware_8h_ab04e468d2403bc69f761daa300bb999a}} +\index{hardware.h@{hardware.h}!STATF\_HBL@{STATF\_HBL}} +\index{STATF\_HBL@{STATF\_HBL}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_HBL}{STATF\_HBL}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+H\+BL~0b00000000} + +Current L\+CD Mode is\+: 0, in H-\/\+Blank \mbox{\Hypertarget{gb_2hardware_8h_adb52e1f4b56ef259db300a187fe58fc9}\label{gb_2hardware_8h_adb52e1f4b56ef259db300a187fe58fc9}} +\index{hardware.h@{hardware.h}!STATF\_VBL@{STATF\_VBL}} +\index{STATF\_VBL@{STATF\_VBL}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_VBL}{STATF\_VBL}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+V\+BL~0b00000001} + +Current L\+CD Mode is\+: 1, in V-\/\+Blank \mbox{\Hypertarget{gb_2hardware_8h_acc45e1a4ea60d8248102a71c1658c5a3}\label{gb_2hardware_8h_acc45e1a4ea60d8248102a71c1658c5a3}} +\index{hardware.h@{hardware.h}!STATF\_OAM@{STATF\_OAM}} +\index{STATF\_OAM@{STATF\_OAM}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_OAM}{STATF\_OAM}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+O\+AM~0b00000010} + +Current L\+CD Mode is\+: 2, in O\+A\+M-\/\+R\+AM is used by system (Searching O\+AM) \mbox{\Hypertarget{gb_2hardware_8h_a6f5df560b791d2fc086c23f99dd03354}\label{gb_2hardware_8h_a6f5df560b791d2fc086c23f99dd03354}} +\index{hardware.h@{hardware.h}!STATF\_LCD@{STATF\_LCD}} +\index{STATF\_LCD@{STATF\_LCD}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_LCD}{STATF\_LCD}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+L\+CD~0b00000011} + +Current L\+CD Mode is\+: 3, both O\+AM and V\+R\+AM used by system (Transferring Data to L\+CD Controller) \mbox{\Hypertarget{gb_2hardware_8h_a92a063885caf6c6cda665da0309055ec}\label{gb_2hardware_8h_a92a063885caf6c6cda665da0309055ec}} +\index{hardware.h@{hardware.h}!STATF\_BUSY@{STATF\_BUSY}} +\index{STATF\_BUSY@{STATF\_BUSY}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_BUSY}{STATF\_BUSY}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+B\+U\+SY~0b00000010} + +When set, V\+R\+AM access is unsafe \mbox{\Hypertarget{gb_2hardware_8h_ac1e4b66204a5bff207be36fdfedd63d5}\label{gb_2hardware_8h_ac1e4b66204a5bff207be36fdfedd63d5}} +\index{hardware.h@{hardware.h}!STATF\_B\_LYC@{STATF\_B\_LYC}} +\index{STATF\_B\_LYC@{STATF\_B\_LYC}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_B\_LYC}{STATF\_B\_LYC}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+L\+YC~6} + +Bit for S\+T\+AT Interrupt\+: L\+YC=LY Coincidence Source Enable \mbox{\Hypertarget{gb_2hardware_8h_ac75479aa0d34ac4344d80451276e97cc}\label{gb_2hardware_8h_ac75479aa0d34ac4344d80451276e97cc}} +\index{hardware.h@{hardware.h}!STATF\_B\_MODE10@{STATF\_B\_MODE10}} +\index{STATF\_B\_MODE10@{STATF\_B\_MODE10}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_B\_MODE10}{STATF\_B\_MODE10}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+M\+O\+D\+E10~5} + +Bit for S\+T\+AT Interrupt\+: Mode 2 O\+AM Source Enable \mbox{\Hypertarget{gb_2hardware_8h_a5b683ff804221c6fc721b996fce65bda}\label{gb_2hardware_8h_a5b683ff804221c6fc721b996fce65bda}} +\index{hardware.h@{hardware.h}!STATF\_B\_MODE01@{STATF\_B\_MODE01}} +\index{STATF\_B\_MODE01@{STATF\_B\_MODE01}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_B\_MODE01}{STATF\_B\_MODE01}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+M\+O\+D\+E01~4} + +Bit for S\+T\+AT Interrupt\+: Mode 1 V\+Blank Source Enable \mbox{\Hypertarget{gb_2hardware_8h_acdbf6b3217f6a5681df94c8b8992d1d6}\label{gb_2hardware_8h_acdbf6b3217f6a5681df94c8b8992d1d6}} +\index{hardware.h@{hardware.h}!STATF\_B\_MODE00@{STATF\_B\_MODE00}} +\index{STATF\_B\_MODE00@{STATF\_B\_MODE00}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_B\_MODE00}{STATF\_B\_MODE00}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+M\+O\+D\+E00~3} + +Bit for S\+T\+AT Interrupt\+: Mode 0 H\+Blank Source Enable ~\newline + \mbox{\Hypertarget{gb_2hardware_8h_ab058c32e4ebf21b3beb06a0d7440e6ad}\label{gb_2hardware_8h_ab058c32e4ebf21b3beb06a0d7440e6ad}} +\index{hardware.h@{hardware.h}!STATF\_B\_LYCF@{STATF\_B\_LYCF}} +\index{STATF\_B\_LYCF@{STATF\_B\_LYCF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_B\_LYCF}{STATF\_B\_LYCF}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+L\+Y\+CF~2} + +Bit for L\+YC=LY Coincidence Status Flag \mbox{\Hypertarget{gb_2hardware_8h_a55c4815aea004a9951606db7e7a1f0d7}\label{gb_2hardware_8h_a55c4815aea004a9951606db7e7a1f0d7}} +\index{hardware.h@{hardware.h}!STATF\_B\_VBL@{STATF\_B\_VBL}} +\index{STATF\_B\_VBL@{STATF\_B\_VBL}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_B\_VBL}{STATF\_B\_VBL}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+V\+BL~0} + +\mbox{\Hypertarget{gb_2hardware_8h_a7393f505e4277af40167d72415c46fa5}\label{gb_2hardware_8h_a7393f505e4277af40167d72415c46fa5}} +\index{hardware.h@{hardware.h}!STATF\_B\_OAM@{STATF\_B\_OAM}} +\index{STATF\_B\_OAM@{STATF\_B\_OAM}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_B\_OAM}{STATF\_B\_OAM}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+O\+AM~1} + +\mbox{\Hypertarget{gb_2hardware_8h_a3b0bf7449b517b3cda2a89428db6deb9}\label{gb_2hardware_8h_a3b0bf7449b517b3cda2a89428db6deb9}} +\index{hardware.h@{hardware.h}!STATF\_B\_BUSY@{STATF\_B\_BUSY}} +\index{STATF\_B\_BUSY@{STATF\_B\_BUSY}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_B\_BUSY}{STATF\_B\_BUSY}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+B\+\_\+\+B\+U\+SY~1} + +Bit for when V\+R\+AM access is unsafe \mbox{\Hypertarget{gb_2hardware_8h_ad2537c13699429afa59a68c6d6598632}\label{gb_2hardware_8h_ad2537c13699429afa59a68c6d6598632}} +\index{hardware.h@{hardware.h}!rSCY@{rSCY}} +\index{rSCY@{rSCY}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rSCY}{rSCY}} +{\footnotesize\ttfamily \#define r\+S\+CY} + +\mbox{\Hypertarget{gb_2hardware_8h_a97932e023d96ece4715802b6c2565c43}\label{gb_2hardware_8h_a97932e023d96ece4715802b6c2565c43}} +\index{hardware.h@{hardware.h}!rSCX@{rSCX}} +\index{rSCX@{rSCX}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rSCX}{rSCX}} +{\footnotesize\ttfamily \#define r\+S\+CX~\mbox{\hyperlink{gb_2hardware_8h_a86cc170585319565195f2c163250be1f}{S\+C\+X\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_aa851dae67d0bb80c17415774558d985f}\label{gb_2hardware_8h_aa851dae67d0bb80c17415774558d985f}} +\index{hardware.h@{hardware.h}!rLY@{rLY}} +\index{rLY@{rLY}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rLY}{rLY}} +{\footnotesize\ttfamily \#define r\+LY~\mbox{\hyperlink{gb_2hardware_8h_aeb643bd4eac2e6e410cae2fae677c0a7}{L\+Y\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a92083741d31c9b2206b403e97124cbdc}\label{gb_2hardware_8h_a92083741d31c9b2206b403e97124cbdc}} +\index{hardware.h@{hardware.h}!rLYC@{rLYC}} +\index{rLYC@{rLYC}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rLYC}{rLYC}} +{\footnotesize\ttfamily \#define r\+L\+YC~\mbox{\hyperlink{gb_2hardware_8h_a591084a506c33266b7d6cc3b4b8936ae}{L\+Y\+C\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a4225227c2812c3e3e500441f5e90772a}\label{gb_2hardware_8h_a4225227c2812c3e3e500441f5e90772a}} +\index{hardware.h@{hardware.h}!rDMA@{rDMA}} +\index{rDMA@{rDMA}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rDMA}{rDMA}} +{\footnotesize\ttfamily \#define r\+D\+MA~\mbox{\hyperlink{gb_2hardware_8h_ae13ce414d3fe7c98c1434918186dfc81}{D\+M\+A\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a4fbcc4798c0721efcf4462c04a4566c1}\label{gb_2hardware_8h_a4fbcc4798c0721efcf4462c04a4566c1}} +\index{hardware.h@{hardware.h}!rBGP@{rBGP}} +\index{rBGP@{rBGP}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rBGP}{rBGP}} +{\footnotesize\ttfamily \#define r\+B\+GP~\mbox{\hyperlink{gb_2hardware_8h_af577ba87ec3d13d7415e4c4a53cdf997}{B\+G\+P\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_ae0a85bdedbbf1c79b5dbb5b23ca4bf79}\label{gb_2hardware_8h_ae0a85bdedbbf1c79b5dbb5b23ca4bf79}} +\index{hardware.h@{hardware.h}!rOBP0@{rOBP0}} +\index{rOBP0@{rOBP0}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rOBP0}{rOBP0}} +{\footnotesize\ttfamily \#define r\+O\+B\+P0~\mbox{\hyperlink{gb_2hardware_8h_a13f3e89f7b92258d825292e5058815c7}{O\+B\+P0\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a2a14470dca10f69c092d817a433383bd}\label{gb_2hardware_8h_a2a14470dca10f69c092d817a433383bd}} +\index{hardware.h@{hardware.h}!rOBP1@{rOBP1}} +\index{rOBP1@{rOBP1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rOBP1}{rOBP1}} +{\footnotesize\ttfamily \#define r\+O\+B\+P1~\mbox{\hyperlink{gb_2hardware_8h_a9da545164e049ef773128f869daece13}{O\+B\+P1\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_afe84077234eb6e0520d7a6d0a9e903e7}\label{gb_2hardware_8h_afe84077234eb6e0520d7a6d0a9e903e7}} +\index{hardware.h@{hardware.h}!rWY@{rWY}} +\index{rWY@{rWY}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rWY}{rWY}} +{\footnotesize\ttfamily \#define r\+WY~\mbox{\hyperlink{gb_2hardware_8h_a1c8d52607616ef37da335447e4cbe850}{W\+Y\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_aba3cbaeca5ad045fb27095c210b661b7}\label{gb_2hardware_8h_aba3cbaeca5ad045fb27095c210b661b7}} +\index{hardware.h@{hardware.h}!rWX@{rWX}} +\index{rWX@{rWX}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rWX}{rWX}} +{\footnotesize\ttfamily \#define r\+WX~\mbox{\hyperlink{gb_2hardware_8h_a310aa43fbee2fd6b6b419df48acce1e0}{W\+X\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_ad3f67013699d0d38c203e4e863c91c41}\label{gb_2hardware_8h_ad3f67013699d0d38c203e4e863c91c41}} +\index{hardware.h@{hardware.h}!rKEY1@{rKEY1}} +\index{rKEY1@{rKEY1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rKEY1}{rKEY1}} +{\footnotesize\ttfamily \#define r\+K\+E\+Y1~\mbox{\hyperlink{gb_2hardware_8h_a7279430d110acf02fa176d5f427a6491}{K\+E\+Y1\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a222d5e3cb366d5e720a832fc68ce3a13}\label{gb_2hardware_8h_a222d5e3cb366d5e720a832fc68ce3a13}} +\index{hardware.h@{hardware.h}!rSPD@{rSPD}} +\index{rSPD@{rSPD}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rSPD}{rSPD}} +{\footnotesize\ttfamily \#define r\+S\+PD~\mbox{\hyperlink{gb_2hardware_8h_a7279430d110acf02fa176d5f427a6491}{K\+E\+Y1\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a793b667a76985934545f73268000371a}\label{gb_2hardware_8h_a793b667a76985934545f73268000371a}} +\index{hardware.h@{hardware.h}!KEY1F\_DBLSPEED@{KEY1F\_DBLSPEED}} +\index{KEY1F\_DBLSPEED@{KEY1F\_DBLSPEED}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{KEY1F\_DBLSPEED}{KEY1F\_DBLSPEED}} +{\footnotesize\ttfamily \#define K\+E\+Y1\+F\+\_\+\+D\+B\+L\+S\+P\+E\+ED~0b10000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a3205df57bc17c35df2924296341c6c69}\label{gb_2hardware_8h_a3205df57bc17c35df2924296341c6c69}} +\index{hardware.h@{hardware.h}!KEY1F\_PREPARE@{KEY1F\_PREPARE}} +\index{KEY1F\_PREPARE@{KEY1F\_PREPARE}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{KEY1F\_PREPARE}{KEY1F\_PREPARE}} +{\footnotesize\ttfamily \#define K\+E\+Y1\+F\+\_\+\+P\+R\+E\+P\+A\+RE~0b00000001} + +\mbox{\Hypertarget{gb_2hardware_8h_a09fa1caa91313e57dc2c3dd354104b00}\label{gb_2hardware_8h_a09fa1caa91313e57dc2c3dd354104b00}} +\index{hardware.h@{hardware.h}!rVBK@{rVBK}} +\index{rVBK@{rVBK}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rVBK}{rVBK}} +{\footnotesize\ttfamily \#define r\+V\+BK~\mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a5011196496193d80fc58cdb632fbab24}\label{gb_2hardware_8h_a5011196496193d80fc58cdb632fbab24}} +\index{hardware.h@{hardware.h}!rHDMA1@{rHDMA1}} +\index{rHDMA1@{rHDMA1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rHDMA1}{rHDMA1}} +{\footnotesize\ttfamily \#define r\+H\+D\+M\+A1~\mbox{\hyperlink{gb_2hardware_8h_ab16e97796d675205a027b1b28b52956e}{H\+D\+M\+A1\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_abc4249f04a9081f45439f61dabf861e5}\label{gb_2hardware_8h_abc4249f04a9081f45439f61dabf861e5}} +\index{hardware.h@{hardware.h}!rHDMA2@{rHDMA2}} +\index{rHDMA2@{rHDMA2}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rHDMA2}{rHDMA2}} +{\footnotesize\ttfamily \#define r\+H\+D\+M\+A2~\mbox{\hyperlink{gb_2hardware_8h_a801400d58ab7d862742e43b49fa68c8d}{H\+D\+M\+A2\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_aca2df62463b4c3bc4a291e18f26f4ec5}\label{gb_2hardware_8h_aca2df62463b4c3bc4a291e18f26f4ec5}} +\index{hardware.h@{hardware.h}!rHDMA3@{rHDMA3}} +\index{rHDMA3@{rHDMA3}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rHDMA3}{rHDMA3}} +{\footnotesize\ttfamily \#define r\+H\+D\+M\+A3~\mbox{\hyperlink{gb_2hardware_8h_a57a94790cda8101a29c0d20086770f1b}{H\+D\+M\+A3\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_adee641ce3abf6b891e0e16bb56bdfcf7}\label{gb_2hardware_8h_adee641ce3abf6b891e0e16bb56bdfcf7}} +\index{hardware.h@{hardware.h}!rHDMA4@{rHDMA4}} +\index{rHDMA4@{rHDMA4}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rHDMA4}{rHDMA4}} +{\footnotesize\ttfamily \#define r\+H\+D\+M\+A4~\mbox{\hyperlink{gb_2hardware_8h_a3a2e883779980c1c37e780f47da4dd69}{H\+D\+M\+A4\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_ae7eecc25286b951a78ef0dfc97aab3a7}\label{gb_2hardware_8h_ae7eecc25286b951a78ef0dfc97aab3a7}} +\index{hardware.h@{hardware.h}!rHDMA5@{rHDMA5}} +\index{rHDMA5@{rHDMA5}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rHDMA5}{rHDMA5}} +{\footnotesize\ttfamily \#define r\+H\+D\+M\+A5~\mbox{\hyperlink{gb_2hardware_8h_a1454ad6d5d04273eae1288af86deadac}{H\+D\+M\+A5\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a2a1acb31d2869997315be64bff66d24b}\label{gb_2hardware_8h_a2a1acb31d2869997315be64bff66d24b}} +\index{hardware.h@{hardware.h}!HDMA5F\_MODE\_GP@{HDMA5F\_MODE\_GP}} +\index{HDMA5F\_MODE\_GP@{HDMA5F\_MODE\_GP}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{HDMA5F\_MODE\_GP}{HDMA5F\_MODE\_GP}} +{\footnotesize\ttfamily \#define H\+D\+M\+A5\+F\+\_\+\+M\+O\+D\+E\+\_\+\+GP~0b00000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a3c22f7324f09a14d666f9b21a9742789}\label{gb_2hardware_8h_a3c22f7324f09a14d666f9b21a9742789}} +\index{hardware.h@{hardware.h}!HDMA5F\_MODE\_HBL@{HDMA5F\_MODE\_HBL}} +\index{HDMA5F\_MODE\_HBL@{HDMA5F\_MODE\_HBL}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{HDMA5F\_MODE\_HBL}{HDMA5F\_MODE\_HBL}} +{\footnotesize\ttfamily \#define H\+D\+M\+A5\+F\+\_\+\+M\+O\+D\+E\+\_\+\+H\+BL~0b10000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a37c8ee0ef95132fd22cd426868510834}\label{gb_2hardware_8h_a37c8ee0ef95132fd22cd426868510834}} +\index{hardware.h@{hardware.h}!HDMA5F\_BUSY@{HDMA5F\_BUSY}} +\index{HDMA5F\_BUSY@{HDMA5F\_BUSY}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{HDMA5F\_BUSY}{HDMA5F\_BUSY}} +{\footnotesize\ttfamily \#define H\+D\+M\+A5\+F\+\_\+\+B\+U\+SY~0b10000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a82c53e957d31d22c475e1629843bc12d}\label{gb_2hardware_8h_a82c53e957d31d22c475e1629843bc12d}} +\index{hardware.h@{hardware.h}!rRP@{rRP}} +\index{rRP@{rRP}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rRP}{rRP}} +{\footnotesize\ttfamily \#define r\+RP~\mbox{\hyperlink{gb_2hardware_8h_a76532f8742d9dd8cb26d2ccfd9c37bbf}{R\+P\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a092b2e33a050ac6ced4e897498ce9a2f}\label{gb_2hardware_8h_a092b2e33a050ac6ced4e897498ce9a2f}} +\index{hardware.h@{hardware.h}!RPF\_ENREAD@{RPF\_ENREAD}} +\index{RPF\_ENREAD@{RPF\_ENREAD}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{RPF\_ENREAD}{RPF\_ENREAD}} +{\footnotesize\ttfamily \#define R\+P\+F\+\_\+\+E\+N\+R\+E\+AD~0b11000000} + +\mbox{\Hypertarget{gb_2hardware_8h_aaffaea3512173f90b85bae710d40ba6c}\label{gb_2hardware_8h_aaffaea3512173f90b85bae710d40ba6c}} +\index{hardware.h@{hardware.h}!RPF\_DATAIN@{RPF\_DATAIN}} +\index{RPF\_DATAIN@{RPF\_DATAIN}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{RPF\_DATAIN}{RPF\_DATAIN}} +{\footnotesize\ttfamily \#define R\+P\+F\+\_\+\+D\+A\+T\+A\+IN~0b00000010} + +\mbox{\Hypertarget{gb_2hardware_8h_ac47b78eb2ffea207a8c7ac643555ba6c}\label{gb_2hardware_8h_ac47b78eb2ffea207a8c7ac643555ba6c}} +\index{hardware.h@{hardware.h}!RPF\_WRITE\_HI@{RPF\_WRITE\_HI}} +\index{RPF\_WRITE\_HI@{RPF\_WRITE\_HI}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{RPF\_WRITE\_HI}{RPF\_WRITE\_HI}} +{\footnotesize\ttfamily \#define R\+P\+F\+\_\+\+W\+R\+I\+T\+E\+\_\+\+HI~0b00000001} + +\mbox{\Hypertarget{gb_2hardware_8h_ab0fe74a7c155ae95cbf20bbb5e1bf46b}\label{gb_2hardware_8h_ab0fe74a7c155ae95cbf20bbb5e1bf46b}} +\index{hardware.h@{hardware.h}!RPF\_WRITE\_LO@{RPF\_WRITE\_LO}} +\index{RPF\_WRITE\_LO@{RPF\_WRITE\_LO}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{RPF\_WRITE\_LO}{RPF\_WRITE\_LO}} +{\footnotesize\ttfamily \#define R\+P\+F\+\_\+\+W\+R\+I\+T\+E\+\_\+\+LO~0b00000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a4f1816144e0561ff4db1ad24f4ce847a}\label{gb_2hardware_8h_a4f1816144e0561ff4db1ad24f4ce847a}} +\index{hardware.h@{hardware.h}!rBCPS@{rBCPS}} +\index{rBCPS@{rBCPS}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rBCPS}{rBCPS}} +{\footnotesize\ttfamily \#define r\+B\+C\+PS~\mbox{\hyperlink{gb_2hardware_8h_a28fa1ca08ef1c8ed97280bc5e60bdd99}{B\+C\+P\+S\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a88cceb86b8168f4c539e9612a81145a6}\label{gb_2hardware_8h_a88cceb86b8168f4c539e9612a81145a6}} +\index{hardware.h@{hardware.h}!BCPSF\_AUTOINC@{BCPSF\_AUTOINC}} +\index{BCPSF\_AUTOINC@{BCPSF\_AUTOINC}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{BCPSF\_AUTOINC}{BCPSF\_AUTOINC}} +{\footnotesize\ttfamily \#define B\+C\+P\+S\+F\+\_\+\+A\+U\+T\+O\+I\+NC~0b10000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a3dbfd7c3f4a62774fbc98caa73899e96}\label{gb_2hardware_8h_a3dbfd7c3f4a62774fbc98caa73899e96}} +\index{hardware.h@{hardware.h}!rBCPD@{rBCPD}} +\index{rBCPD@{rBCPD}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rBCPD}{rBCPD}} +{\footnotesize\ttfamily \#define r\+B\+C\+PD~\mbox{\hyperlink{gb_2hardware_8h_a1fc8ff37ffe1c431364e1ef7c3961b30}{B\+C\+P\+D\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a056b789889ecf0691e54f721e015b873}\label{gb_2hardware_8h_a056b789889ecf0691e54f721e015b873}} +\index{hardware.h@{hardware.h}!rOCPS@{rOCPS}} +\index{rOCPS@{rOCPS}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rOCPS}{rOCPS}} +{\footnotesize\ttfamily \#define r\+O\+C\+PS~\mbox{\hyperlink{gb_2hardware_8h_a1686d2457eb4ad834bb75fb81c86aed8}{O\+C\+P\+S\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a0a6cc6543aa06c12b87e235c3d5da4ff}\label{gb_2hardware_8h_a0a6cc6543aa06c12b87e235c3d5da4ff}} +\index{hardware.h@{hardware.h}!OCPSF\_AUTOINC@{OCPSF\_AUTOINC}} +\index{OCPSF\_AUTOINC@{OCPSF\_AUTOINC}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OCPSF\_AUTOINC}{OCPSF\_AUTOINC}} +{\footnotesize\ttfamily \#define O\+C\+P\+S\+F\+\_\+\+A\+U\+T\+O\+I\+NC~0b10000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a723eb3e0c2c681a050e9a325e35c25ae}\label{gb_2hardware_8h_a723eb3e0c2c681a050e9a325e35c25ae}} +\index{hardware.h@{hardware.h}!rOCPD@{rOCPD}} +\index{rOCPD@{rOCPD}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rOCPD}{rOCPD}} +{\footnotesize\ttfamily \#define r\+O\+C\+PD~\mbox{\hyperlink{gb_2hardware_8h_ae24d0e88a1e1b8367ac1f5709d3e500c}{O\+C\+P\+D\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a83e14896ee3ddf2a4201b534d8e5f398}\label{gb_2hardware_8h_a83e14896ee3ddf2a4201b534d8e5f398}} +\index{hardware.h@{hardware.h}!rSVBK@{rSVBK}} +\index{rSVBK@{rSVBK}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rSVBK}{rSVBK}} +{\footnotesize\ttfamily \#define r\+S\+V\+BK~\mbox{\hyperlink{gb_2hardware_8h_aa128832cecec4e609517fe3daf044e5e}{S\+V\+B\+K\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_af93abe183851726958f27d979498032e}\label{gb_2hardware_8h_af93abe183851726958f27d979498032e}} +\index{hardware.h@{hardware.h}!rSMBK@{rSMBK}} +\index{rSMBK@{rSMBK}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rSMBK}{rSMBK}} +{\footnotesize\ttfamily \#define r\+S\+M\+BK~\mbox{\hyperlink{gb_2hardware_8h_aa128832cecec4e609517fe3daf044e5e}{S\+V\+B\+K\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a28368838b9e270c301361a5f39c97154}\label{gb_2hardware_8h_a28368838b9e270c301361a5f39c97154}} +\index{hardware.h@{hardware.h}!rPCM12@{rPCM12}} +\index{rPCM12@{rPCM12}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rPCM12}{rPCM12}} +{\footnotesize\ttfamily \#define r\+P\+C\+M12~\mbox{\hyperlink{gb_2hardware_8h_a428894ca3fd0bb4527b03bed551ff04c}{P\+C\+M12\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_ac1c402357ccc5f6c3c451450b30ca959}\label{gb_2hardware_8h_ac1c402357ccc5f6c3c451450b30ca959}} +\index{hardware.h@{hardware.h}!rPCM34@{rPCM34}} +\index{rPCM34@{rPCM34}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rPCM34}{rPCM34}} +{\footnotesize\ttfamily \#define r\+P\+C\+M34~\mbox{\hyperlink{gb_2hardware_8h_ac6d19ac313a99f41bd996e1ca5e43df0}{P\+C\+M34\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_a52e850e75483f64ca070a33ee4877d47}\label{gb_2hardware_8h_a52e850e75483f64ca070a33ee4877d47}} +\index{hardware.h@{hardware.h}!rIE@{rIE}} +\index{rIE@{rIE}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rIE}{rIE}} +{\footnotesize\ttfamily \#define r\+IE~\mbox{\hyperlink{gb_2hardware_8h_aaef0dc6aab2f821ab406fdbc643af48e}{I\+E\+\_\+\+R\+EG}}} + +\mbox{\Hypertarget{gb_2hardware_8h_aa7ce989df75547f190d33cc85dce0187}\label{gb_2hardware_8h_aa7ce989df75547f190d33cc85dce0187}} +\index{hardware.h@{hardware.h}!IEF\_HILO@{IEF\_HILO}} +\index{IEF\_HILO@{IEF\_HILO}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{IEF\_HILO}{IEF\_HILO}} +{\footnotesize\ttfamily \#define I\+E\+F\+\_\+\+H\+I\+LO~0b00010000} + +\mbox{\Hypertarget{gb_2hardware_8h_a921bdc6c640b74c8c41e65f27882c68a}\label{gb_2hardware_8h_a921bdc6c640b74c8c41e65f27882c68a}} +\index{hardware.h@{hardware.h}!IEF\_SERIAL@{IEF\_SERIAL}} +\index{IEF\_SERIAL@{IEF\_SERIAL}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{IEF\_SERIAL}{IEF\_SERIAL}} +{\footnotesize\ttfamily \#define I\+E\+F\+\_\+\+S\+E\+R\+I\+AL~0b00001000} + +\mbox{\Hypertarget{gb_2hardware_8h_a7c06fa33152a235baf273f1828dfa0a4}\label{gb_2hardware_8h_a7c06fa33152a235baf273f1828dfa0a4}} +\index{hardware.h@{hardware.h}!IEF\_TIMER@{IEF\_TIMER}} +\index{IEF\_TIMER@{IEF\_TIMER}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{IEF\_TIMER}{IEF\_TIMER}} +{\footnotesize\ttfamily \#define I\+E\+F\+\_\+\+T\+I\+M\+ER~0b00000100} + +\mbox{\Hypertarget{gb_2hardware_8h_a2eec77ca1b8730b410a7075c5a9c189e}\label{gb_2hardware_8h_a2eec77ca1b8730b410a7075c5a9c189e}} +\index{hardware.h@{hardware.h}!IEF\_STAT@{IEF\_STAT}} +\index{IEF\_STAT@{IEF\_STAT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{IEF\_STAT}{IEF\_STAT}} +{\footnotesize\ttfamily \#define I\+E\+F\+\_\+\+S\+T\+AT~0b00000010} + +\mbox{\Hypertarget{gb_2hardware_8h_a3b8d7fece663511d5778136a5ca0070b}\label{gb_2hardware_8h_a3b8d7fece663511d5778136a5ca0070b}} +\index{hardware.h@{hardware.h}!IEF\_VBLANK@{IEF\_VBLANK}} +\index{IEF\_VBLANK@{IEF\_VBLANK}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{IEF\_VBLANK}{IEF\_VBLANK}} +{\footnotesize\ttfamily \#define I\+E\+F\+\_\+\+V\+B\+L\+A\+NK~0b00000001} + +\mbox{\Hypertarget{gb_2hardware_8h_a8a88b504914eed6c0c4d2853689487ba}\label{gb_2hardware_8h_a8a88b504914eed6c0c4d2853689487ba}} +\index{hardware.h@{hardware.h}!AUDLEN\_DUTY\_12\_5@{AUDLEN\_DUTY\_12\_5}} +\index{AUDLEN\_DUTY\_12\_5@{AUDLEN\_DUTY\_12\_5}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDLEN\_DUTY\_12\_5}{AUDLEN\_DUTY\_12\_5}} +{\footnotesize\ttfamily \#define A\+U\+D\+L\+E\+N\+\_\+\+D\+U\+T\+Y\+\_\+12\+\_\+5~0b00000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a52e58c151c5910792e75f7eea7f7ddbb}\label{gb_2hardware_8h_a52e58c151c5910792e75f7eea7f7ddbb}} +\index{hardware.h@{hardware.h}!AUDLEN\_DUTY\_25@{AUDLEN\_DUTY\_25}} +\index{AUDLEN\_DUTY\_25@{AUDLEN\_DUTY\_25}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDLEN\_DUTY\_25}{AUDLEN\_DUTY\_25}} +{\footnotesize\ttfamily \#define A\+U\+D\+L\+E\+N\+\_\+\+D\+U\+T\+Y\+\_\+25~0b01000000} + +\mbox{\Hypertarget{gb_2hardware_8h_abd862604a105aa2475223b06abfa8bfe}\label{gb_2hardware_8h_abd862604a105aa2475223b06abfa8bfe}} +\index{hardware.h@{hardware.h}!AUDLEN\_DUTY\_50@{AUDLEN\_DUTY\_50}} +\index{AUDLEN\_DUTY\_50@{AUDLEN\_DUTY\_50}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDLEN\_DUTY\_50}{AUDLEN\_DUTY\_50}} +{\footnotesize\ttfamily \#define A\+U\+D\+L\+E\+N\+\_\+\+D\+U\+T\+Y\+\_\+50~0b10000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a194e3432f1e4d5d23d4ea096cef783e5}\label{gb_2hardware_8h_a194e3432f1e4d5d23d4ea096cef783e5}} +\index{hardware.h@{hardware.h}!AUDLEN\_DUTY\_75@{AUDLEN\_DUTY\_75}} +\index{AUDLEN\_DUTY\_75@{AUDLEN\_DUTY\_75}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDLEN\_DUTY\_75}{AUDLEN\_DUTY\_75}} +{\footnotesize\ttfamily \#define A\+U\+D\+L\+E\+N\+\_\+\+D\+U\+T\+Y\+\_\+75~0b11000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a367f10d1cfcc04fdbfcb88f09b230bd3}\label{gb_2hardware_8h_a367f10d1cfcc04fdbfcb88f09b230bd3}} +\index{hardware.h@{hardware.h}!AUDLEN\_LENGTH@{AUDLEN\_LENGTH}} +\index{AUDLEN\_LENGTH@{AUDLEN\_LENGTH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDLEN\_LENGTH}{AUDLEN\_LENGTH}} +{\footnotesize\ttfamily \#define A\+U\+D\+L\+E\+N\+\_\+\+L\+E\+N\+G\+TH(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(x)} + +\mbox{\Hypertarget{gb_2hardware_8h_a7dab7d2ad1bf670875814d3029d54122}\label{gb_2hardware_8h_a7dab7d2ad1bf670875814d3029d54122}} +\index{hardware.h@{hardware.h}!AUDENV\_VOL@{AUDENV\_VOL}} +\index{AUDENV\_VOL@{AUDENV\_VOL}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDENV\_VOL}{AUDENV\_VOL}} +{\footnotesize\ttfamily \#define A\+U\+D\+E\+N\+V\+\_\+\+V\+OL(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~((x) $<$$<$ 4)} + +\mbox{\Hypertarget{gb_2hardware_8h_a9f069f19e8a05d1f1114aaabf531739e}\label{gb_2hardware_8h_a9f069f19e8a05d1f1114aaabf531739e}} +\index{hardware.h@{hardware.h}!AUDENV\_UP@{AUDENV\_UP}} +\index{AUDENV\_UP@{AUDENV\_UP}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDENV\_UP}{AUDENV\_UP}} +{\footnotesize\ttfamily \#define A\+U\+D\+E\+N\+V\+\_\+\+UP~0b00001000} + +\mbox{\Hypertarget{gb_2hardware_8h_aa58f52563d21d56e79d422c544eeb13f}\label{gb_2hardware_8h_aa58f52563d21d56e79d422c544eeb13f}} +\index{hardware.h@{hardware.h}!AUDENV\_DOWN@{AUDENV\_DOWN}} +\index{AUDENV\_DOWN@{AUDENV\_DOWN}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDENV\_DOWN}{AUDENV\_DOWN}} +{\footnotesize\ttfamily \#define A\+U\+D\+E\+N\+V\+\_\+\+D\+O\+WN~0b00000000} + +\mbox{\Hypertarget{gb_2hardware_8h_ad07fa5e19e334eee03c2fcb8671b2ed3}\label{gb_2hardware_8h_ad07fa5e19e334eee03c2fcb8671b2ed3}} +\index{hardware.h@{hardware.h}!AUDENV\_LENGTH@{AUDENV\_LENGTH}} +\index{AUDENV\_LENGTH@{AUDENV\_LENGTH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDENV\_LENGTH}{AUDENV\_LENGTH}} +{\footnotesize\ttfamily \#define A\+U\+D\+E\+N\+V\+\_\+\+L\+E\+N\+G\+TH(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(x)} + +\mbox{\Hypertarget{gb_2hardware_8h_a6d820a86bd30b531d5df5b27139ae92d}\label{gb_2hardware_8h_a6d820a86bd30b531d5df5b27139ae92d}} +\index{hardware.h@{hardware.h}!AUDHIGH\_RESTART@{AUDHIGH\_RESTART}} +\index{AUDHIGH\_RESTART@{AUDHIGH\_RESTART}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDHIGH\_RESTART}{AUDHIGH\_RESTART}} +{\footnotesize\ttfamily \#define A\+U\+D\+H\+I\+G\+H\+\_\+\+R\+E\+S\+T\+A\+RT~0b10000000} + +\mbox{\Hypertarget{gb_2hardware_8h_ab3325578cf7f7f67610353a62aba274e}\label{gb_2hardware_8h_ab3325578cf7f7f67610353a62aba274e}} +\index{hardware.h@{hardware.h}!AUDHIGH\_LENGTH\_ON@{AUDHIGH\_LENGTH\_ON}} +\index{AUDHIGH\_LENGTH\_ON@{AUDHIGH\_LENGTH\_ON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDHIGH\_LENGTH\_ON}{AUDHIGH\_LENGTH\_ON}} +{\footnotesize\ttfamily \#define A\+U\+D\+H\+I\+G\+H\+\_\+\+L\+E\+N\+G\+T\+H\+\_\+\+ON~0b01000000} + +\mbox{\Hypertarget{gb_2hardware_8h_afe4927e6bc7efa57461e3c3b84d242da}\label{gb_2hardware_8h_afe4927e6bc7efa57461e3c3b84d242da}} +\index{hardware.h@{hardware.h}!AUDHIGH\_LENGTH\_OFF@{AUDHIGH\_LENGTH\_OFF}} +\index{AUDHIGH\_LENGTH\_OFF@{AUDHIGH\_LENGTH\_OFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUDHIGH\_LENGTH\_OFF}{AUDHIGH\_LENGTH\_OFF}} +{\footnotesize\ttfamily \#define A\+U\+D\+H\+I\+G\+H\+\_\+\+L\+E\+N\+G\+T\+H\+\_\+\+O\+FF~0b00000000} + +\mbox{\Hypertarget{gb_2hardware_8h_a393866ca405b1023eec0e784bb88b026}\label{gb_2hardware_8h_a393866ca405b1023eec0e784bb88b026}} +\index{hardware.h@{hardware.h}!OAMF\_PRI@{OAMF\_PRI}} +\index{OAMF\_PRI@{OAMF\_PRI}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_PRI}{OAMF\_PRI}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+P\+RI~0b10000000} + +BG and Window over Sprite Enabled \mbox{\Hypertarget{gb_2hardware_8h_a820677d593625e8716c3b78f36feb805}\label{gb_2hardware_8h_a820677d593625e8716c3b78f36feb805}} +\index{hardware.h@{hardware.h}!OAMF\_YFLIP@{OAMF\_YFLIP}} +\index{OAMF\_YFLIP@{OAMF\_YFLIP}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_YFLIP}{OAMF\_YFLIP}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+Y\+F\+L\+IP~0b01000000} + +Sprite Y axis flip\+: Vertically mirrored \mbox{\Hypertarget{gb_2hardware_8h_a3cd1c1a1291d43dd43b181ff07f8b0a7}\label{gb_2hardware_8h_a3cd1c1a1291d43dd43b181ff07f8b0a7}} +\index{hardware.h@{hardware.h}!OAMF\_XFLIP@{OAMF\_XFLIP}} +\index{OAMF\_XFLIP@{OAMF\_XFLIP}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_XFLIP}{OAMF\_XFLIP}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+X\+F\+L\+IP~0b00100000} + +Sprite X axis flip\+: Horizontally mirrored \mbox{\Hypertarget{gb_2hardware_8h_a22b6b835de9ee737be73c4d252aac87c}\label{gb_2hardware_8h_a22b6b835de9ee737be73c4d252aac87c}} +\index{hardware.h@{hardware.h}!OAMF\_PAL0@{OAMF\_PAL0}} +\index{OAMF\_PAL0@{OAMF\_PAL0}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_PAL0}{OAMF\_PAL0}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+P\+A\+L0~0b00000000} + +Sprite Palette number\+: use O\+B\+P0 (Non-\/\+C\+GB Mode Only) \mbox{\Hypertarget{gb_2hardware_8h_ad92f3b2a1cc16700a4660c5821bcb15d}\label{gb_2hardware_8h_ad92f3b2a1cc16700a4660c5821bcb15d}} +\index{hardware.h@{hardware.h}!OAMF\_PAL1@{OAMF\_PAL1}} +\index{OAMF\_PAL1@{OAMF\_PAL1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_PAL1}{OAMF\_PAL1}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+P\+A\+L1~0b00010000} + +Sprite Palette number\+: use O\+B\+P1 (Non-\/\+C\+GB Mode Only) \mbox{\Hypertarget{gb_2hardware_8h_aade9a193ade9ff22ed6f6263d1a3549b}\label{gb_2hardware_8h_aade9a193ade9ff22ed6f6263d1a3549b}} +\index{hardware.h@{hardware.h}!OAMF\_BANK0@{OAMF\_BANK0}} +\index{OAMF\_BANK0@{OAMF\_BANK0}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_BANK0}{OAMF\_BANK0}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+B\+A\+N\+K0~0b00000000} + +Sprite Tile V\+R\+A\+M-\/\+Bank\+: Use Bank 0 (C\+GB Mode Only) \mbox{\Hypertarget{gb_2hardware_8h_ad195d4be68ff54c3926c431fa5511de5}\label{gb_2hardware_8h_ad195d4be68ff54c3926c431fa5511de5}} +\index{hardware.h@{hardware.h}!OAMF\_BANK1@{OAMF\_BANK1}} +\index{OAMF\_BANK1@{OAMF\_BANK1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_BANK1}{OAMF\_BANK1}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+B\+A\+N\+K1~0b00001000} + +Sprite Tile V\+R\+A\+M-\/\+Bank\+: Use Bank 1 (C\+GB Mode Only) \mbox{\Hypertarget{gb_2hardware_8h_a4ff8c8a7acb74ba54043596110091605}\label{gb_2hardware_8h_a4ff8c8a7acb74ba54043596110091605}} +\index{hardware.h@{hardware.h}!OAMF\_CGB\_PAL0@{OAMF\_CGB\_PAL0}} +\index{OAMF\_CGB\_PAL0@{OAMF\_CGB\_PAL0}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_CGB\_PAL0}{OAMF\_CGB\_PAL0}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L0~0b00000000} + +Sprite C\+GB Palette number\+: use O\+C\+P0 (C\+GB Mode Only) \mbox{\Hypertarget{gb_2hardware_8h_a9dff52d03755812d3a5ee7ca971c2e83}\label{gb_2hardware_8h_a9dff52d03755812d3a5ee7ca971c2e83}} +\index{hardware.h@{hardware.h}!OAMF\_CGB\_PAL1@{OAMF\_CGB\_PAL1}} +\index{OAMF\_CGB\_PAL1@{OAMF\_CGB\_PAL1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_CGB\_PAL1}{OAMF\_CGB\_PAL1}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L1~0b00000001} + +Sprite C\+GB Palette number\+: use O\+C\+P1 (C\+GB Mode Only) \mbox{\Hypertarget{gb_2hardware_8h_a74744fb475532fa5d343e0818dcc6f88}\label{gb_2hardware_8h_a74744fb475532fa5d343e0818dcc6f88}} +\index{hardware.h@{hardware.h}!OAMF\_CGB\_PAL2@{OAMF\_CGB\_PAL2}} +\index{OAMF\_CGB\_PAL2@{OAMF\_CGB\_PAL2}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_CGB\_PAL2}{OAMF\_CGB\_PAL2}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L2~0b00000010} + +Sprite C\+GB Palette number\+: use O\+C\+P2 (C\+GB Mode Only) \mbox{\Hypertarget{gb_2hardware_8h_a704ab20694793ea87aace8bfc29568bc}\label{gb_2hardware_8h_a704ab20694793ea87aace8bfc29568bc}} +\index{hardware.h@{hardware.h}!OAMF\_CGB\_PAL3@{OAMF\_CGB\_PAL3}} +\index{OAMF\_CGB\_PAL3@{OAMF\_CGB\_PAL3}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_CGB\_PAL3}{OAMF\_CGB\_PAL3}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L3~0b00000011} + +Sprite C\+GB Palette number\+: use O\+C\+P3 (C\+GB Mode Only) \mbox{\Hypertarget{gb_2hardware_8h_a13d5cddfb4a05fa49fc794aeea675c7b}\label{gb_2hardware_8h_a13d5cddfb4a05fa49fc794aeea675c7b}} +\index{hardware.h@{hardware.h}!OAMF\_CGB\_PAL4@{OAMF\_CGB\_PAL4}} +\index{OAMF\_CGB\_PAL4@{OAMF\_CGB\_PAL4}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_CGB\_PAL4}{OAMF\_CGB\_PAL4}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L4~0b00000100} + +Sprite C\+GB Palette number\+: use O\+C\+P4 (C\+GB Mode Only) \mbox{\Hypertarget{gb_2hardware_8h_af9284c71b8ebf10ef8b9e12268f2cce3}\label{gb_2hardware_8h_af9284c71b8ebf10ef8b9e12268f2cce3}} +\index{hardware.h@{hardware.h}!OAMF\_CGB\_PAL5@{OAMF\_CGB\_PAL5}} +\index{OAMF\_CGB\_PAL5@{OAMF\_CGB\_PAL5}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_CGB\_PAL5}{OAMF\_CGB\_PAL5}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L5~0b00000101} + +Sprite C\+GB Palette number\+: use O\+C\+P5 (C\+GB Mode Only) \mbox{\Hypertarget{gb_2hardware_8h_ad6f5b0d9ae958dee3d6dfa8f4273ff5a}\label{gb_2hardware_8h_ad6f5b0d9ae958dee3d6dfa8f4273ff5a}} +\index{hardware.h@{hardware.h}!OAMF\_CGB\_PAL6@{OAMF\_CGB\_PAL6}} +\index{OAMF\_CGB\_PAL6@{OAMF\_CGB\_PAL6}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_CGB\_PAL6}{OAMF\_CGB\_PAL6}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L6~0b00000110} + +Sprite C\+GB Palette number\+: use O\+C\+P6 (C\+GB Mode Only) \mbox{\Hypertarget{gb_2hardware_8h_af4b27e8f3c3e14a4f91051fea4c64e4b}\label{gb_2hardware_8h_af4b27e8f3c3e14a4f91051fea4c64e4b}} +\index{hardware.h@{hardware.h}!OAMF\_CGB\_PAL7@{OAMF\_CGB\_PAL7}} +\index{OAMF\_CGB\_PAL7@{OAMF\_CGB\_PAL7}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_CGB\_PAL7}{OAMF\_CGB\_PAL7}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+C\+G\+B\+\_\+\+P\+A\+L7~0b00000111} + +Sprite C\+GB Palette number\+: use O\+C\+P7 (C\+GB Mode Only) \mbox{\Hypertarget{gb_2hardware_8h_a5dc4d1ee47fe269761fe8fc46d56dabb}\label{gb_2hardware_8h_a5dc4d1ee47fe269761fe8fc46d56dabb}} +\index{hardware.h@{hardware.h}!OAMF\_PALMASK@{OAMF\_PALMASK}} +\index{OAMF\_PALMASK@{OAMF\_PALMASK}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OAMF\_PALMASK}{OAMF\_PALMASK}} +{\footnotesize\ttfamily \#define O\+A\+M\+F\+\_\+\+P\+A\+L\+M\+A\+SK~0b00000111} + +Mask for Sprite C\+GB Palette number (C\+GB Mode Only) \mbox{\Hypertarget{gb_2hardware_8h_a519e327cac96f68a8ca9b77e0343672f}\label{gb_2hardware_8h_a519e327cac96f68a8ca9b77e0343672f}} +\index{hardware.h@{hardware.h}!DEVICE\_SCREEN\_X\_OFFSET@{DEVICE\_SCREEN\_X\_OFFSET}} +\index{DEVICE\_SCREEN\_X\_OFFSET@{DEVICE\_SCREEN\_X\_OFFSET}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SCREEN\_X\_OFFSET}{DEVICE\_SCREEN\_X\_OFFSET}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+X\+\_\+\+O\+F\+F\+S\+ET~0} + +Offset of visible screen (in tile units) from left edge of hardware map \mbox{\Hypertarget{gb_2hardware_8h_af334c0e7dd6e434b3dbebd45bcdeb75a}\label{gb_2hardware_8h_af334c0e7dd6e434b3dbebd45bcdeb75a}} +\index{hardware.h@{hardware.h}!DEVICE\_SCREEN\_Y\_OFFSET@{DEVICE\_SCREEN\_Y\_OFFSET}} +\index{DEVICE\_SCREEN\_Y\_OFFSET@{DEVICE\_SCREEN\_Y\_OFFSET}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SCREEN\_Y\_OFFSET}{DEVICE\_SCREEN\_Y\_OFFSET}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+Y\+\_\+\+O\+F\+F\+S\+ET~0} + +Offset of visible screen (in tile units) from top edge of hardware map \mbox{\Hypertarget{gb_2hardware_8h_add7f32ba868ef6517798f5fce337e4b2}\label{gb_2hardware_8h_add7f32ba868ef6517798f5fce337e4b2}} +\index{hardware.h@{hardware.h}!DEVICE\_SCREEN\_WIDTH@{DEVICE\_SCREEN\_WIDTH}} +\index{DEVICE\_SCREEN\_WIDTH@{DEVICE\_SCREEN\_WIDTH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SCREEN\_WIDTH}{DEVICE\_SCREEN\_WIDTH}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+W\+I\+D\+TH~20} + +Width of visible screen in tile units \mbox{\Hypertarget{gb_2hardware_8h_ad252264fdcf900e5fbf611f7a45962ed}\label{gb_2hardware_8h_ad252264fdcf900e5fbf611f7a45962ed}} +\index{hardware.h@{hardware.h}!DEVICE\_SCREEN\_HEIGHT@{DEVICE\_SCREEN\_HEIGHT}} +\index{DEVICE\_SCREEN\_HEIGHT@{DEVICE\_SCREEN\_HEIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SCREEN\_HEIGHT}{DEVICE\_SCREEN\_HEIGHT}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+H\+E\+I\+G\+HT~18} + +Height of visible screen in tile units \mbox{\Hypertarget{gb_2hardware_8h_a491dc081eae8c81e7ca88075ab806291}\label{gb_2hardware_8h_a491dc081eae8c81e7ca88075ab806291}} +\index{hardware.h@{hardware.h}!DEVICE\_SCREEN\_BUFFER\_WIDTH@{DEVICE\_SCREEN\_BUFFER\_WIDTH}} +\index{DEVICE\_SCREEN\_BUFFER\_WIDTH@{DEVICE\_SCREEN\_BUFFER\_WIDTH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SCREEN\_BUFFER\_WIDTH}{DEVICE\_SCREEN\_BUFFER\_WIDTH}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+W\+I\+D\+TH~32} + +Width of hardware map buffer in tile units \mbox{\Hypertarget{gb_2hardware_8h_a81fb56b6778772f829dab4c534e7749e}\label{gb_2hardware_8h_a81fb56b6778772f829dab4c534e7749e}} +\index{hardware.h@{hardware.h}!DEVICE\_SCREEN\_BUFFER\_HEIGHT@{DEVICE\_SCREEN\_BUFFER\_HEIGHT}} +\index{DEVICE\_SCREEN\_BUFFER\_HEIGHT@{DEVICE\_SCREEN\_BUFFER\_HEIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SCREEN\_BUFFER\_HEIGHT}{DEVICE\_SCREEN\_BUFFER\_HEIGHT}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+B\+U\+F\+F\+E\+R\+\_\+\+H\+E\+I\+G\+HT~32} + +Height of hardware map buffer in tile units \mbox{\Hypertarget{gb_2hardware_8h_a4d682ed7a6158c5ba10afec739b17a8a}\label{gb_2hardware_8h_a4d682ed7a6158c5ba10afec739b17a8a}} +\index{hardware.h@{hardware.h}!DEVICE\_SCREEN\_MAP\_ENTRY\_SIZE@{DEVICE\_SCREEN\_MAP\_ENTRY\_SIZE}} +\index{DEVICE\_SCREEN\_MAP\_ENTRY\_SIZE@{DEVICE\_SCREEN\_MAP\_ENTRY\_SIZE}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SCREEN\_MAP\_ENTRY\_SIZE}{DEVICE\_SCREEN\_MAP\_ENTRY\_SIZE}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+M\+A\+P\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+S\+I\+ZE~1} + +Number of bytes per hardware map entry \mbox{\Hypertarget{gb_2hardware_8h_af531e7ac0c0a58517fa3061631745c31}\label{gb_2hardware_8h_af531e7ac0c0a58517fa3061631745c31}} +\index{hardware.h@{hardware.h}!DEVICE\_SPRITE\_PX\_OFFSET\_X@{DEVICE\_SPRITE\_PX\_OFFSET\_X}} +\index{DEVICE\_SPRITE\_PX\_OFFSET\_X@{DEVICE\_SPRITE\_PX\_OFFSET\_X}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SPRITE\_PX\_OFFSET\_X}{DEVICE\_SPRITE\_PX\_OFFSET\_X}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+P\+R\+I\+T\+E\+\_\+\+P\+X\+\_\+\+O\+F\+F\+S\+E\+T\+\_\+X~8} + +Offset of sprite X coordinate origin (in pixels) from left edge of visible screen \mbox{\Hypertarget{gb_2hardware_8h_a7f6c8420831388300bbec13ea4cb57a0}\label{gb_2hardware_8h_a7f6c8420831388300bbec13ea4cb57a0}} +\index{hardware.h@{hardware.h}!DEVICE\_SPRITE\_PX\_OFFSET\_Y@{DEVICE\_SPRITE\_PX\_OFFSET\_Y}} +\index{DEVICE\_SPRITE\_PX\_OFFSET\_Y@{DEVICE\_SPRITE\_PX\_OFFSET\_Y}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SPRITE\_PX\_OFFSET\_Y}{DEVICE\_SPRITE\_PX\_OFFSET\_Y}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+P\+R\+I\+T\+E\+\_\+\+P\+X\+\_\+\+O\+F\+F\+S\+E\+T\+\_\+Y~16} + +Offset of sprite Y coordinate origin (in pixels) from top edge of visible screen \mbox{\Hypertarget{gb_2hardware_8h_ad14c51cdfb347c34c364f54e67dc978d}\label{gb_2hardware_8h_ad14c51cdfb347c34c364f54e67dc978d}} +\index{hardware.h@{hardware.h}!DEVICE\_SCREEN\_PX\_WIDTH@{DEVICE\_SCREEN\_PX\_WIDTH}} +\index{DEVICE\_SCREEN\_PX\_WIDTH@{DEVICE\_SCREEN\_PX\_WIDTH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SCREEN\_PX\_WIDTH}{DEVICE\_SCREEN\_PX\_WIDTH}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+W\+I\+D\+TH~(\mbox{\hyperlink{gb_2hardware_8h_add7f32ba868ef6517798f5fce337e4b2}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+W\+I\+D\+TH}} $\ast$ 8)} + +Width of visible screen in pixels \mbox{\Hypertarget{gb_2hardware_8h_a7bd450aa268b881257089cf8cd6697ec}\label{gb_2hardware_8h_a7bd450aa268b881257089cf8cd6697ec}} +\index{hardware.h@{hardware.h}!DEVICE\_SCREEN\_PX\_HEIGHT@{DEVICE\_SCREEN\_PX\_HEIGHT}} +\index{DEVICE\_SCREEN\_PX\_HEIGHT@{DEVICE\_SCREEN\_PX\_HEIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SCREEN\_PX\_HEIGHT}{DEVICE\_SCREEN\_PX\_HEIGHT}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+H\+E\+I\+G\+HT~(\mbox{\hyperlink{gb_2hardware_8h_ad252264fdcf900e5fbf611f7a45962ed}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+H\+E\+I\+G\+HT}} $\ast$ 8)} + +Height of visible screen in pixels + +\doxysubsubsection{Variable Documentation} +\mbox{\Hypertarget{gb_2hardware_8h_aea9200b29be90b58417787720cdf750b}\label{gb_2hardware_8h_aea9200b29be90b58417787720cdf750b}} +\index{hardware.h@{hardware.h}!\_VRAM@{\_VRAM}} +\index{\_VRAM@{\_VRAM}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_VRAM}{\_VRAM}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \+\_\+\+V\+R\+AM\mbox{[}$\,$\mbox{]}} + +Memoty map \mbox{\Hypertarget{gb_2hardware_8h_a73c94166161c33c61d63b3e4b5209cd0}\label{gb_2hardware_8h_a73c94166161c33c61d63b3e4b5209cd0}} +\index{hardware.h@{hardware.h}!\_VRAM8000@{\_VRAM8000}} +\index{\_VRAM8000@{\_VRAM8000}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_VRAM8000}{\_VRAM8000}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \+\_\+\+V\+R\+A\+M8000\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_af763563b6123ef29d73931f616969049}\label{gb_2hardware_8h_af763563b6123ef29d73931f616969049}} +\index{hardware.h@{hardware.h}!\_VRAM8800@{\_VRAM8800}} +\index{\_VRAM8800@{\_VRAM8800}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_VRAM8800}{\_VRAM8800}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \+\_\+\+V\+R\+A\+M8800\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_a668fd555c203361f5e4b835f05243102}\label{gb_2hardware_8h_a668fd555c203361f5e4b835f05243102}} +\index{hardware.h@{hardware.h}!\_VRAM9000@{\_VRAM9000}} +\index{\_VRAM9000@{\_VRAM9000}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_VRAM9000}{\_VRAM9000}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \+\_\+\+V\+R\+A\+M9000\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_ac5b9d1761bb972948fe10637dfaa94a7}\label{gb_2hardware_8h_ac5b9d1761bb972948fe10637dfaa94a7}} +\index{hardware.h@{hardware.h}!\_SCRN0@{\_SCRN0}} +\index{\_SCRN0@{\_SCRN0}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_SCRN0}{\_SCRN0}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \+\_\+\+S\+C\+R\+N0\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_afff31f511127bf7ba1bd3b6bc740aee8}\label{gb_2hardware_8h_afff31f511127bf7ba1bd3b6bc740aee8}} +\index{hardware.h@{hardware.h}!\_SCRN1@{\_SCRN1}} +\index{\_SCRN1@{\_SCRN1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_SCRN1}{\_SCRN1}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \+\_\+\+S\+C\+R\+N1\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_a09a4ae65605182c8b694197d3aea695e}\label{gb_2hardware_8h_a09a4ae65605182c8b694197d3aea695e}} +\index{hardware.h@{hardware.h}!\_SRAM@{\_SRAM}} +\index{\_SRAM@{\_SRAM}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_SRAM}{\_SRAM}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \+\_\+\+S\+R\+AM\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_ac1cf31cae6046360271ead6e8b7a6e87}\label{gb_2hardware_8h_ac1cf31cae6046360271ead6e8b7a6e87}} +\index{hardware.h@{hardware.h}!\_RAM@{\_RAM}} +\index{\_RAM@{\_RAM}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_RAM}{\_RAM}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \+\_\+\+R\+AM\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_a2f83a5f5daa6418c77756e32923aef5a}\label{gb_2hardware_8h_a2f83a5f5daa6418c77756e32923aef5a}} +\index{hardware.h@{hardware.h}!\_RAMBANK@{\_RAMBANK}} +\index{\_RAMBANK@{\_RAMBANK}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_RAMBANK}{\_RAMBANK}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \+\_\+\+R\+A\+M\+B\+A\+NK\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_a7030908728e166877fba9065671deb02}\label{gb_2hardware_8h_a7030908728e166877fba9065671deb02}} +\index{hardware.h@{hardware.h}!\_OAMRAM@{\_OAMRAM}} +\index{\_OAMRAM@{\_OAMRAM}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_OAMRAM}{\_OAMRAM}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}} \+\_\+\+O\+A\+M\+R\+AM\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_a134e3f274c1e607b8c5ff5724860e288}\label{gb_2hardware_8h_a134e3f274c1e607b8c5ff5724860e288}} +\index{hardware.h@{hardware.h}!\_IO@{\_IO}} +\index{\_IO@{\_IO}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_IO}{\_IO}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} \+\_\+\+IO\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_a70db64bdd045a9df09b289fe9b28af22}\label{gb_2hardware_8h_a70db64bdd045a9df09b289fe9b28af22}} +\index{hardware.h@{hardware.h}!\_AUD3WAVERAM@{\_AUD3WAVERAM}} +\index{\_AUD3WAVERAM@{\_AUD3WAVERAM}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_AUD3WAVERAM}{\_AUD3WAVERAM}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} \+\_\+\+A\+U\+D3\+W\+A\+V\+E\+R\+AM\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_a472e3b0909a2f0878f643e9968b871ef}\label{gb_2hardware_8h_a472e3b0909a2f0878f643e9968b871ef}} +\index{hardware.h@{hardware.h}!\_HRAM@{\_HRAM}} +\index{\_HRAM@{\_HRAM}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_HRAM}{\_HRAM}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} \+\_\+\+H\+R\+AM\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_a64dd59016e4f0e78672962fbc553a4b4}\label{gb_2hardware_8h_a64dd59016e4f0e78672962fbc553a4b4}} +\index{hardware.h@{hardware.h}!rRAMG@{rRAMG}} +\index{rRAMG@{rRAMG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rRAMG}{rRAMG}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} r\+R\+A\+MG} + +M\+B\+C5 registers \mbox{\Hypertarget{gb_2hardware_8h_ae0976a29e341edc6ceb810e6eb0328f1}\label{gb_2hardware_8h_ae0976a29e341edc6ceb810e6eb0328f1}} +\index{hardware.h@{hardware.h}!rROMB0@{rROMB0}} +\index{rROMB0@{rROMB0}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rROMB0}{rROMB0}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} r\+R\+O\+M\+B0} + +\mbox{\Hypertarget{gb_2hardware_8h_a014f3a9d7ce8f8026c9ac6c0410bb099}\label{gb_2hardware_8h_a014f3a9d7ce8f8026c9ac6c0410bb099}} +\index{hardware.h@{hardware.h}!rROMB1@{rROMB1}} +\index{rROMB1@{rROMB1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rROMB1}{rROMB1}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} r\+R\+O\+M\+B1} + +\mbox{\Hypertarget{gb_2hardware_8h_ac2985dbccb16c4c00381d6fbe9600aff}\label{gb_2hardware_8h_ac2985dbccb16c4c00381d6fbe9600aff}} +\index{hardware.h@{hardware.h}!rRAMB@{rRAMB}} +\index{rRAMB@{rRAMB}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{rRAMB}{rRAMB}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} r\+R\+A\+MB} + +\mbox{\Hypertarget{gb_2hardware_8h_a04f9a36ab04334fcd21d2f50c125d5d0}\label{gb_2hardware_8h_a04f9a36ab04334fcd21d2f50c125d5d0}} +\index{hardware.h@{hardware.h}!P1\_REG@{P1\_REG}} +\index{P1\_REG@{P1\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{P1\_REG}{P1\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} P1\+\_\+\+R\+EG} + +IO Registers Joystick\+: 1.\+1.\+P15.\+P14.\+P13.\+P12.\+P11.\+P10 \mbox{\Hypertarget{gb_2hardware_8h_a5f2da0d8200f44b6fd694c4a2bea820e}\label{gb_2hardware_8h_a5f2da0d8200f44b6fd694c4a2bea820e}} +\index{hardware.h@{hardware.h}!SB\_REG@{SB\_REG}} +\index{SB\_REG@{SB\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SB\_REG}{SB\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} S\+B\+\_\+\+R\+EG} + +Serial IO data buffer \mbox{\Hypertarget{gb_2hardware_8h_a0fb715973ee3edd1b525eb7f503e3b2a}\label{gb_2hardware_8h_a0fb715973ee3edd1b525eb7f503e3b2a}} +\index{hardware.h@{hardware.h}!SC\_REG@{SC\_REG}} +\index{SC\_REG@{SC\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SC\_REG}{SC\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} S\+C\+\_\+\+R\+EG} + +Serial IO control register \mbox{\Hypertarget{gb_2hardware_8h_afa1e18e47bf68ce68d7807fff6edf16b}\label{gb_2hardware_8h_afa1e18e47bf68ce68d7807fff6edf16b}} +\index{hardware.h@{hardware.h}!DIV\_REG@{DIV\_REG}} +\index{DIV\_REG@{DIV\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DIV\_REG}{DIV\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} D\+I\+V\+\_\+\+R\+EG} + +Divider register \mbox{\Hypertarget{gb_2hardware_8h_a9d295bb437953de5ebcb3c12d65743aa}\label{gb_2hardware_8h_a9d295bb437953de5ebcb3c12d65743aa}} +\index{hardware.h@{hardware.h}!TIMA\_REG@{TIMA\_REG}} +\index{TIMA\_REG@{TIMA\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{TIMA\_REG}{TIMA\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} T\+I\+M\+A\+\_\+\+R\+EG} + +Timer counter \mbox{\Hypertarget{gb_2hardware_8h_a39e5a5b9afd2c2ca78de4aba7ccd071c}\label{gb_2hardware_8h_a39e5a5b9afd2c2ca78de4aba7ccd071c}} +\index{hardware.h@{hardware.h}!TMA\_REG@{TMA\_REG}} +\index{TMA\_REG@{TMA\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{TMA\_REG}{TMA\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} T\+M\+A\+\_\+\+R\+EG} + +Timer modulo \mbox{\Hypertarget{gb_2hardware_8h_a659173ac2c8da7fd04bc77973eb95256}\label{gb_2hardware_8h_a659173ac2c8da7fd04bc77973eb95256}} +\index{hardware.h@{hardware.h}!TAC\_REG@{TAC\_REG}} +\index{TAC\_REG@{TAC\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{TAC\_REG}{TAC\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} T\+A\+C\+\_\+\+R\+EG} + +Timer control \mbox{\Hypertarget{gb_2hardware_8h_a509a5d0f138b40830cb447a862573be5}\label{gb_2hardware_8h_a509a5d0f138b40830cb447a862573be5}} +\index{hardware.h@{hardware.h}!IF\_REG@{IF\_REG}} +\index{IF\_REG@{IF\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{IF\_REG}{IF\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} I\+F\+\_\+\+R\+EG} + +Interrupt flags\+: 0.\+0.\+0.\+J\+O\+Y.\+S\+I\+O.\+T\+I\+M.\+L\+C\+D.\+V\+BL \mbox{\Hypertarget{gb_2hardware_8h_ad859dc62b1df1584ade0cbb822a3e46f}\label{gb_2hardware_8h_ad859dc62b1df1584ade0cbb822a3e46f}} +\index{hardware.h@{hardware.h}!NR10\_REG@{NR10\_REG}} +\index{NR10\_REG@{NR10\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR10\_REG}{NR10\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R10\+\_\+\+R\+EG} + +Sound Channel 1 Sweep \mbox{\Hypertarget{gb_2hardware_8h_ad53dc7f22b99fce195210a95f2749a72}\label{gb_2hardware_8h_ad53dc7f22b99fce195210a95f2749a72}} +\index{hardware.h@{hardware.h}!NR11\_REG@{NR11\_REG}} +\index{NR11\_REG@{NR11\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR11\_REG}{NR11\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R11\+\_\+\+R\+EG} + +Sound Channel 1 Sound length/\+Wave pattern duty \mbox{\Hypertarget{gb_2hardware_8h_a7accf5feabd95a2d84c72f5915fff837}\label{gb_2hardware_8h_a7accf5feabd95a2d84c72f5915fff837}} +\index{hardware.h@{hardware.h}!NR12\_REG@{NR12\_REG}} +\index{NR12\_REG@{NR12\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR12\_REG}{NR12\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R12\+\_\+\+R\+EG} + +Sound Channel 1 Volume Envelope \mbox{\Hypertarget{gb_2hardware_8h_a3d30d4797321b403cd713d727fa3db6c}\label{gb_2hardware_8h_a3d30d4797321b403cd713d727fa3db6c}} +\index{hardware.h@{hardware.h}!NR13\_REG@{NR13\_REG}} +\index{NR13\_REG@{NR13\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR13\_REG}{NR13\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R13\+\_\+\+R\+EG} + +Sound Channel 1 Frequency Low \mbox{\Hypertarget{gb_2hardware_8h_a04c340d91842e8ee2b93922c2bcf39a4}\label{gb_2hardware_8h_a04c340d91842e8ee2b93922c2bcf39a4}} +\index{hardware.h@{hardware.h}!NR14\_REG@{NR14\_REG}} +\index{NR14\_REG@{NR14\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR14\_REG}{NR14\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R14\+\_\+\+R\+EG} + +Sound Channel 1 Frequency High \mbox{\Hypertarget{gb_2hardware_8h_a6dd3af1c8e3c66409aa0bc889d98e171}\label{gb_2hardware_8h_a6dd3af1c8e3c66409aa0bc889d98e171}} +\index{hardware.h@{hardware.h}!NR21\_REG@{NR21\_REG}} +\index{NR21\_REG@{NR21\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR21\_REG}{NR21\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R21\+\_\+\+R\+EG} + +Sound Channel 2 Tone \mbox{\Hypertarget{gb_2hardware_8h_af1301c73bf93350045ba3a4887723ae8}\label{gb_2hardware_8h_af1301c73bf93350045ba3a4887723ae8}} +\index{hardware.h@{hardware.h}!NR22\_REG@{NR22\_REG}} +\index{NR22\_REG@{NR22\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR22\_REG}{NR22\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R22\+\_\+\+R\+EG} + +Sound Channel 2 Volume Envelope \mbox{\Hypertarget{gb_2hardware_8h_a7bb32ac86e3fbf5f869410ba42620616}\label{gb_2hardware_8h_a7bb32ac86e3fbf5f869410ba42620616}} +\index{hardware.h@{hardware.h}!NR23\_REG@{NR23\_REG}} +\index{NR23\_REG@{NR23\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR23\_REG}{NR23\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R23\+\_\+\+R\+EG} + +Sound Channel 2 Frequency data Low \mbox{\Hypertarget{gb_2hardware_8h_a6676e579a5e421adfb3d3e2d470d9ab6}\label{gb_2hardware_8h_a6676e579a5e421adfb3d3e2d470d9ab6}} +\index{hardware.h@{hardware.h}!NR24\_REG@{NR24\_REG}} +\index{NR24\_REG@{NR24\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR24\_REG}{NR24\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R24\+\_\+\+R\+EG} + +Sound Channel 2 Frequency data High \mbox{\Hypertarget{gb_2hardware_8h_a85d8e680d4d40a918b4195d2a4fada2a}\label{gb_2hardware_8h_a85d8e680d4d40a918b4195d2a4fada2a}} +\index{hardware.h@{hardware.h}!NR30\_REG@{NR30\_REG}} +\index{NR30\_REG@{NR30\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR30\_REG}{NR30\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R30\+\_\+\+R\+EG} + +Sound Channel 3 Sound on/off \mbox{\Hypertarget{gb_2hardware_8h_aea78f857e34370d7e1177a8bafe08148}\label{gb_2hardware_8h_aea78f857e34370d7e1177a8bafe08148}} +\index{hardware.h@{hardware.h}!NR31\_REG@{NR31\_REG}} +\index{NR31\_REG@{NR31\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR31\_REG}{NR31\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R31\+\_\+\+R\+EG} + +Sound Channel 3 Sound Length \mbox{\Hypertarget{gb_2hardware_8h_a244ee6d8f6144be9b0f94602eddb6239}\label{gb_2hardware_8h_a244ee6d8f6144be9b0f94602eddb6239}} +\index{hardware.h@{hardware.h}!NR32\_REG@{NR32\_REG}} +\index{NR32\_REG@{NR32\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR32\_REG}{NR32\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R32\+\_\+\+R\+EG} + +Sound Channel 3 Select output level \mbox{\Hypertarget{gb_2hardware_8h_a01c768b60853c8eecdefc2cedfc8d672}\label{gb_2hardware_8h_a01c768b60853c8eecdefc2cedfc8d672}} +\index{hardware.h@{hardware.h}!NR33\_REG@{NR33\_REG}} +\index{NR33\_REG@{NR33\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR33\_REG}{NR33\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R33\+\_\+\+R\+EG} + +Sound Channel 3 Frequency data Low \mbox{\Hypertarget{gb_2hardware_8h_ab6da3e2cdbac1331bef3f6de9c808ab1}\label{gb_2hardware_8h_ab6da3e2cdbac1331bef3f6de9c808ab1}} +\index{hardware.h@{hardware.h}!NR34\_REG@{NR34\_REG}} +\index{NR34\_REG@{NR34\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR34\_REG}{NR34\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R34\+\_\+\+R\+EG} + +Sound Channel 3 Frequency data High \mbox{\Hypertarget{gb_2hardware_8h_a557833cc1671aa0bd71f33766b4e0f24}\label{gb_2hardware_8h_a557833cc1671aa0bd71f33766b4e0f24}} +\index{hardware.h@{hardware.h}!NR41\_REG@{NR41\_REG}} +\index{NR41\_REG@{NR41\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR41\_REG}{NR41\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R41\+\_\+\+R\+EG} + +Sound Channel 4 Sound Length \mbox{\Hypertarget{gb_2hardware_8h_aba3d9fb63552bc02ec879696b581adac}\label{gb_2hardware_8h_aba3d9fb63552bc02ec879696b581adac}} +\index{hardware.h@{hardware.h}!NR42\_REG@{NR42\_REG}} +\index{NR42\_REG@{NR42\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR42\_REG}{NR42\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R42\+\_\+\+R\+EG} + +Sound Channel 4 Volume Envelope \mbox{\Hypertarget{gb_2hardware_8h_a52593a64863d51fbf5860b0d31448972}\label{gb_2hardware_8h_a52593a64863d51fbf5860b0d31448972}} +\index{hardware.h@{hardware.h}!NR43\_REG@{NR43\_REG}} +\index{NR43\_REG@{NR43\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR43\_REG}{NR43\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R43\+\_\+\+R\+EG} + +Sound Channel 4 Polynomial Counter \mbox{\Hypertarget{gb_2hardware_8h_a849d2cff8df2655f86b294466bec40d6}\label{gb_2hardware_8h_a849d2cff8df2655f86b294466bec40d6}} +\index{hardware.h@{hardware.h}!NR44\_REG@{NR44\_REG}} +\index{NR44\_REG@{NR44\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR44\_REG}{NR44\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R44\+\_\+\+R\+EG} + +Sound Channel 4 Counter / Consecutive and Inital ~\newline + \mbox{\Hypertarget{gb_2hardware_8h_a924fdf48f6ad020423f6309055314928}\label{gb_2hardware_8h_a924fdf48f6ad020423f6309055314928}} +\index{hardware.h@{hardware.h}!NR50\_REG@{NR50\_REG}} +\index{NR50\_REG@{NR50\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR50\_REG}{NR50\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R50\+\_\+\+R\+EG} + +Sound Channel control / O\+N-\/\+O\+FF / Volume \mbox{\Hypertarget{gb_2hardware_8h_ab28f97eabd5f32d48ea27d97bd5dc64f}\label{gb_2hardware_8h_ab28f97eabd5f32d48ea27d97bd5dc64f}} +\index{hardware.h@{hardware.h}!NR51\_REG@{NR51\_REG}} +\index{NR51\_REG@{NR51\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR51\_REG}{NR51\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R51\+\_\+\+R\+EG} + +Sound Selection of Sound output terminal \mbox{\Hypertarget{gb_2hardware_8h_ac429365dce851ca57d8fe4f7c54a1caa}\label{gb_2hardware_8h_ac429365dce851ca57d8fe4f7c54a1caa}} +\index{hardware.h@{hardware.h}!NR52\_REG@{NR52\_REG}} +\index{NR52\_REG@{NR52\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{NR52\_REG}{NR52\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} N\+R52\+\_\+\+R\+EG} + +Sound Master on/off \mbox{\Hypertarget{gb_2hardware_8h_a2fe41a6e0abb211cc00a8fca90543966}\label{gb_2hardware_8h_a2fe41a6e0abb211cc00a8fca90543966}} +\index{hardware.h@{hardware.h}!AUD3WAVE@{AUD3WAVE}} +\index{AUD3WAVE@{AUD3WAVE}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{AUD3WAVE}{AUD3WAVE}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} A\+U\+D3\+W\+A\+VE\mbox{[}16\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_a271367a0bf840e5422b3a7ed541776f8}\label{gb_2hardware_8h_a271367a0bf840e5422b3a7ed541776f8}} +\index{hardware.h@{hardware.h}!PCM\_SAMPLE@{PCM\_SAMPLE}} +\index{PCM\_SAMPLE@{PCM\_SAMPLE}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{PCM\_SAMPLE}{PCM\_SAMPLE}} +{\footnotesize\ttfamily \mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}} P\+C\+M\+\_\+\+S\+A\+M\+P\+LE\mbox{[}16\mbox{]}} + +\mbox{\Hypertarget{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}\label{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}} +\index{hardware.h@{hardware.h}!LCDC\_REG@{LCDC\_REG}} +\index{LCDC\_REG@{LCDC\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LCDC\_REG}{LCDC\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} L\+C\+D\+C\+\_\+\+R\+EG} + +L\+CD control \mbox{\Hypertarget{gb_2hardware_8h_ad40ebf3b29add46cdd310a7e0802bc6b}\label{gb_2hardware_8h_ad40ebf3b29add46cdd310a7e0802bc6b}} +\index{hardware.h@{hardware.h}!STAT\_REG@{STAT\_REG}} +\index{STAT\_REG@{STAT\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STAT\_REG}{STAT\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} S\+T\+A\+T\+\_\+\+R\+EG} + +L\+CD status \mbox{\Hypertarget{gb_2hardware_8h_a244b162cf13bbcb4fe842d7e298b39c2}\label{gb_2hardware_8h_a244b162cf13bbcb4fe842d7e298b39c2}} +\index{hardware.h@{hardware.h}!SCY\_REG@{SCY\_REG}} +\index{SCY\_REG@{SCY\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SCY\_REG}{SCY\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} S\+C\+Y\+\_\+\+R\+EG} + +Scroll Y \mbox{\Hypertarget{gb_2hardware_8h_a86cc170585319565195f2c163250be1f}\label{gb_2hardware_8h_a86cc170585319565195f2c163250be1f}} +\index{hardware.h@{hardware.h}!SCX\_REG@{SCX\_REG}} +\index{SCX\_REG@{SCX\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SCX\_REG}{SCX\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} S\+C\+X\+\_\+\+R\+EG} + +Scroll X \mbox{\Hypertarget{gb_2hardware_8h_aeb643bd4eac2e6e410cae2fae677c0a7}\label{gb_2hardware_8h_aeb643bd4eac2e6e410cae2fae677c0a7}} +\index{hardware.h@{hardware.h}!LY\_REG@{LY\_REG}} +\index{LY\_REG@{LY\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LY\_REG}{LY\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} L\+Y\+\_\+\+R\+EG} + +L\+C\+DC Y-\/coordinate \mbox{\Hypertarget{gb_2hardware_8h_a591084a506c33266b7d6cc3b4b8936ae}\label{gb_2hardware_8h_a591084a506c33266b7d6cc3b4b8936ae}} +\index{hardware.h@{hardware.h}!LYC\_REG@{LYC\_REG}} +\index{LYC\_REG@{LYC\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{LYC\_REG}{LYC\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} L\+Y\+C\+\_\+\+R\+EG} + +LY compare \mbox{\Hypertarget{gb_2hardware_8h_ae13ce414d3fe7c98c1434918186dfc81}\label{gb_2hardware_8h_ae13ce414d3fe7c98c1434918186dfc81}} +\index{hardware.h@{hardware.h}!DMA\_REG@{DMA\_REG}} +\index{DMA\_REG@{DMA\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DMA\_REG}{DMA\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} D\+M\+A\+\_\+\+R\+EG} + +D\+MA transfer \mbox{\Hypertarget{gb_2hardware_8h_af577ba87ec3d13d7415e4c4a53cdf997}\label{gb_2hardware_8h_af577ba87ec3d13d7415e4c4a53cdf997}} +\index{hardware.h@{hardware.h}!BGP\_REG@{BGP\_REG}} +\index{BGP\_REG@{BGP\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{BGP\_REG}{BGP\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} B\+G\+P\+\_\+\+R\+EG} + +BG palette data \mbox{\Hypertarget{gb_2hardware_8h_a13f3e89f7b92258d825292e5058815c7}\label{gb_2hardware_8h_a13f3e89f7b92258d825292e5058815c7}} +\index{hardware.h@{hardware.h}!OBP0\_REG@{OBP0\_REG}} +\index{OBP0\_REG@{OBP0\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OBP0\_REG}{OBP0\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} O\+B\+P0\+\_\+\+R\+EG} + +O\+BJ palette 0 data \mbox{\Hypertarget{gb_2hardware_8h_a9da545164e049ef773128f869daece13}\label{gb_2hardware_8h_a9da545164e049ef773128f869daece13}} +\index{hardware.h@{hardware.h}!OBP1\_REG@{OBP1\_REG}} +\index{OBP1\_REG@{OBP1\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OBP1\_REG}{OBP1\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} O\+B\+P1\+\_\+\+R\+EG} + +O\+BJ palette 1 data \mbox{\Hypertarget{gb_2hardware_8h_a1c8d52607616ef37da335447e4cbe850}\label{gb_2hardware_8h_a1c8d52607616ef37da335447e4cbe850}} +\index{hardware.h@{hardware.h}!WY\_REG@{WY\_REG}} +\index{WY\_REG@{WY\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{WY\_REG}{WY\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} W\+Y\+\_\+\+R\+EG} + +Window Y coordinate \mbox{\Hypertarget{gb_2hardware_8h_a310aa43fbee2fd6b6b419df48acce1e0}\label{gb_2hardware_8h_a310aa43fbee2fd6b6b419df48acce1e0}} +\index{hardware.h@{hardware.h}!WX\_REG@{WX\_REG}} +\index{WX\_REG@{WX\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{WX\_REG}{WX\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} W\+X\+\_\+\+R\+EG} + +Window X coordinate \mbox{\Hypertarget{gb_2hardware_8h_a7279430d110acf02fa176d5f427a6491}\label{gb_2hardware_8h_a7279430d110acf02fa176d5f427a6491}} +\index{hardware.h@{hardware.h}!KEY1\_REG@{KEY1\_REG}} +\index{KEY1\_REG@{KEY1\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{KEY1\_REG}{KEY1\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} K\+E\+Y1\+\_\+\+R\+EG} + +C\+PU speed \mbox{\Hypertarget{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}\label{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}} +\index{hardware.h@{hardware.h}!VBK\_REG@{VBK\_REG}} +\index{VBK\_REG@{VBK\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VBK\_REG}{VBK\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} V\+B\+K\+\_\+\+R\+EG} + +V\+R\+AM bank select \mbox{\Hypertarget{gb_2hardware_8h_ab16e97796d675205a027b1b28b52956e}\label{gb_2hardware_8h_ab16e97796d675205a027b1b28b52956e}} +\index{hardware.h@{hardware.h}!HDMA1\_REG@{HDMA1\_REG}} +\index{HDMA1\_REG@{HDMA1\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{HDMA1\_REG}{HDMA1\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} H\+D\+M\+A1\+\_\+\+R\+EG} + +D\+MA control 1 \mbox{\Hypertarget{gb_2hardware_8h_a801400d58ab7d862742e43b49fa68c8d}\label{gb_2hardware_8h_a801400d58ab7d862742e43b49fa68c8d}} +\index{hardware.h@{hardware.h}!HDMA2\_REG@{HDMA2\_REG}} +\index{HDMA2\_REG@{HDMA2\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{HDMA2\_REG}{HDMA2\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} H\+D\+M\+A2\+\_\+\+R\+EG} + +D\+MA control 2 \mbox{\Hypertarget{gb_2hardware_8h_a57a94790cda8101a29c0d20086770f1b}\label{gb_2hardware_8h_a57a94790cda8101a29c0d20086770f1b}} +\index{hardware.h@{hardware.h}!HDMA3\_REG@{HDMA3\_REG}} +\index{HDMA3\_REG@{HDMA3\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{HDMA3\_REG}{HDMA3\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} H\+D\+M\+A3\+\_\+\+R\+EG} + +D\+MA control 3 \mbox{\Hypertarget{gb_2hardware_8h_a3a2e883779980c1c37e780f47da4dd69}\label{gb_2hardware_8h_a3a2e883779980c1c37e780f47da4dd69}} +\index{hardware.h@{hardware.h}!HDMA4\_REG@{HDMA4\_REG}} +\index{HDMA4\_REG@{HDMA4\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{HDMA4\_REG}{HDMA4\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} H\+D\+M\+A4\+\_\+\+R\+EG} + +D\+MA control 4 \mbox{\Hypertarget{gb_2hardware_8h_a1454ad6d5d04273eae1288af86deadac}\label{gb_2hardware_8h_a1454ad6d5d04273eae1288af86deadac}} +\index{hardware.h@{hardware.h}!HDMA5\_REG@{HDMA5\_REG}} +\index{HDMA5\_REG@{HDMA5\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{HDMA5\_REG}{HDMA5\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} H\+D\+M\+A5\+\_\+\+R\+EG} + +D\+MA control 5 \mbox{\Hypertarget{gb_2hardware_8h_a76532f8742d9dd8cb26d2ccfd9c37bbf}\label{gb_2hardware_8h_a76532f8742d9dd8cb26d2ccfd9c37bbf}} +\index{hardware.h@{hardware.h}!RP\_REG@{RP\_REG}} +\index{RP\_REG@{RP\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{RP\_REG}{RP\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} R\+P\+\_\+\+R\+EG} + +IR port \mbox{\Hypertarget{gb_2hardware_8h_a28fa1ca08ef1c8ed97280bc5e60bdd99}\label{gb_2hardware_8h_a28fa1ca08ef1c8ed97280bc5e60bdd99}} +\index{hardware.h@{hardware.h}!BCPS\_REG@{BCPS\_REG}} +\index{BCPS\_REG@{BCPS\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{BCPS\_REG}{BCPS\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} B\+C\+P\+S\+\_\+\+R\+EG} + +BG color palette specification \mbox{\Hypertarget{gb_2hardware_8h_a1fc8ff37ffe1c431364e1ef7c3961b30}\label{gb_2hardware_8h_a1fc8ff37ffe1c431364e1ef7c3961b30}} +\index{hardware.h@{hardware.h}!BCPD\_REG@{BCPD\_REG}} +\index{BCPD\_REG@{BCPD\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{BCPD\_REG}{BCPD\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} B\+C\+P\+D\+\_\+\+R\+EG} + +BG color palette data \mbox{\Hypertarget{gb_2hardware_8h_a1686d2457eb4ad834bb75fb81c86aed8}\label{gb_2hardware_8h_a1686d2457eb4ad834bb75fb81c86aed8}} +\index{hardware.h@{hardware.h}!OCPS\_REG@{OCPS\_REG}} +\index{OCPS\_REG@{OCPS\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OCPS\_REG}{OCPS\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} O\+C\+P\+S\+\_\+\+R\+EG} + +O\+BJ color palette specification \mbox{\Hypertarget{gb_2hardware_8h_ae24d0e88a1e1b8367ac1f5709d3e500c}\label{gb_2hardware_8h_ae24d0e88a1e1b8367ac1f5709d3e500c}} +\index{hardware.h@{hardware.h}!OCPD\_REG@{OCPD\_REG}} +\index{OCPD\_REG@{OCPD\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{OCPD\_REG}{OCPD\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} O\+C\+P\+D\+\_\+\+R\+EG} + +O\+BJ color palette data \mbox{\Hypertarget{gb_2hardware_8h_aa128832cecec4e609517fe3daf044e5e}\label{gb_2hardware_8h_aa128832cecec4e609517fe3daf044e5e}} +\index{hardware.h@{hardware.h}!SVBK\_REG@{SVBK\_REG}} +\index{SVBK\_REG@{SVBK\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SVBK\_REG}{SVBK\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} S\+V\+B\+K\+\_\+\+R\+EG} + +W\+R\+AM bank \mbox{\Hypertarget{gb_2hardware_8h_a428894ca3fd0bb4527b03bed551ff04c}\label{gb_2hardware_8h_a428894ca3fd0bb4527b03bed551ff04c}} +\index{hardware.h@{hardware.h}!PCM12\_REG@{PCM12\_REG}} +\index{PCM12\_REG@{PCM12\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{PCM12\_REG}{PCM12\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} P\+C\+M12\+\_\+\+R\+EG} + +Sound channel 1\&2 P\+CM amplitude (R) \mbox{\Hypertarget{gb_2hardware_8h_ac6d19ac313a99f41bd996e1ca5e43df0}\label{gb_2hardware_8h_ac6d19ac313a99f41bd996e1ca5e43df0}} +\index{hardware.h@{hardware.h}!PCM34\_REG@{PCM34\_REG}} +\index{PCM34\_REG@{PCM34\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{PCM34\_REG}{PCM34\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} P\+C\+M34\+\_\+\+R\+EG} + +Sound channel 3\&4 P\+CM amplitude (R) \mbox{\Hypertarget{gb_2hardware_8h_aaef0dc6aab2f821ab406fdbc643af48e}\label{gb_2hardware_8h_aaef0dc6aab2f821ab406fdbc643af48e}} +\index{hardware.h@{hardware.h}!IE\_REG@{IE\_REG}} +\index{IE\_REG@{IE\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{IE\_REG}{IE\_REG}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} I\+E\+\_\+\+R\+EG} + +Interrupt enable + diff --git a/docs/latex/gb_2metasprites_8h.tex b/docs/latex/gb_2metasprites_8h.tex @@ -0,0 +1,328 @@ +\hypertarget{gb_2metasprites_8h}{}\doxysubsection{gb/metasprites.h File Reference} +\label{gb_2metasprites_8h}\index{gb/metasprites.h@{gb/metasprites.h}} +{\ttfamily \#include $<$gb/hardware.\+h$>$}\newline +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Data Structures} +\begin{DoxyCompactItemize} +\item +struct \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{gb_2metasprites_8h_a9f9f390a57460914e27c7604b7d8379a}{metasprite\+\_\+end}}~-\/128 +\item +\#define \mbox{\hyperlink{gb_2metasprites_8h_aa88dc4d5e35045509b8955a4a23a30aa}{M\+E\+T\+A\+S\+P\+R\+\_\+\+I\+T\+EM}}(dy, dx, dt, a)~\{(dy),(dx),(dt),(a)\} +\item +\#define \mbox{\hyperlink{gb_2metasprites_8h_aa1d425dcce3cd104751744535b6a389a}{M\+E\+T\+A\+S\+P\+R\+\_\+\+T\+E\+RM}}~\{\mbox{\hyperlink{sms_2metasprites_8h_a9f9f390a57460914e27c7604b7d8379a}{metasprite\+\_\+end}}\} +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef struct \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} \mbox{\hyperlink{gb_2metasprites_8h_aba6401cc8173158a9f37ee22094c03d3}{metasprite\+\_\+t}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{gb_2metasprites_8h_a77bb622fa362f2e04be1bafaa099a709}{hide\+\_\+sprites\+\_\+range}} (\mbox{\hyperlink{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}} from, \mbox{\hyperlink{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}} to) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_2metasprites_8h_a77475e913bf0a19df28bdbf9d1cf392b}{move\+\_\+metasprite}} (const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$metasprite, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+sprite, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_2metasprites_8h_aa8ff2df0679ebb0b6e0a8f6d83127e1a}{move\+\_\+metasprite\+\_\+vflip}} (const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$metasprite, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+sprite, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_2metasprites_8h_a27e3bb17d0458b60b1f0433f66301f46}{move\+\_\+metasprite\+\_\+hflip}} (const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$metasprite, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+sprite, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_2metasprites_8h_a32a61acd4a76d1de5814f7b94c8bc23f}{move\+\_\+metasprite\+\_\+hvflip}} (const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$metasprite, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+sprite, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) +\item +void \mbox{\hyperlink{gb_2metasprites_8h_af8de5a888d65448b9d34027a0e1ce906}{hide\+\_\+metasprite}} (const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$metasprite, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+sprite) +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +const void $\ast$ \mbox{\hyperlink{gb_2metasprites_8h_aae51f066cc5436457f62351847bfc64b}{\+\_\+\+\_\+current\+\_\+metasprite}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_2metasprites_8h_a345fa52509387bd18a4092178a18286f}{\+\_\+\+\_\+current\+\_\+base\+\_\+tile}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_2metasprites_8h_a4bfe4d95031b67951cf6bc342110db39}{\+\_\+\+\_\+render\+\_\+shadow\+\_\+\+O\+AM}} +\item +void \mbox{\hyperlink{gb_2metasprites_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +\hypertarget{gb_2metasprites_8h_autotoc_md1}{}\doxysubsubsection{Metasprite support}\label{gb_2metasprites_8h_autotoc_md1} +A metasprite is a larger sprite made up from a collection of smaller individual hardware sprites. Different frames of the same metasprites can share tile data. + +The api supports metasprites in both \mbox{\hyperlink{sms_8h_aa87bec0d134136fdb727f52cb773b792}{S\+P\+R\+I\+T\+E\+S\+\_\+8x8}} and \mbox{\hyperlink{sms_8h_af91d252f07f4764996154820f970c101}{S\+P\+R\+I\+T\+E\+S\+\_\+8x16}} mode. If 8x16 mode is used then the height of the metasprite must be a multiple of 16. + +The origin (pivot) for the metasprite is not required to be in the upper left-\/hand corner as with regular hardware sprites. + +Use the \mbox{\hyperlink{docs_toolchain_utility_png2asset}{utility\+\_\+png2asset}} tool to convert single or multiple frames of graphics into metasprite structured data for use with the ...metasprite...() functions.\hypertarget{gb_2metasprites_8h_autotoc_md2}{}\doxysubsubsection{Metasprites composed of variable numbers of sprites}\label{gb_2metasprites_8h_autotoc_md2} +When using png2asset, it\textquotesingle{}s common for the output of different frames to be composed of different numbers of hardware sprites (since it\textquotesingle{}s trying to create each frame as efficiently as possible). Due to that, it\textquotesingle{}s good practice to clear out (hide) unused sprites in the shadow\+\_\+\+O\+AM that have been set by previous frames. + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\textcolor{comment}{// Example:}} +\DoxyCodeLine{\textcolor{comment}{// Hide rest of the hardware sprites, because amount}} +\DoxyCodeLine{\textcolor{comment}{// of sprites differ between animation frames.}} +\DoxyCodeLine{\textcolor{comment}{// (where hiwater == last hardware sprite used + 1)}} +\DoxyCodeLine{\textcolor{keywordflow}{for} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\_t}} i = hiwater; i < 40; i++) \mbox{\hyperlink{gb_8h_a3619f9cb1e3c92238a033ead79a0c551}{shadow\_OAM}}[i].y = 0;} +\end{DoxyCode} + + +\label{gb_2metasprites_8h_metasprite_and_sprite_properties}% +\Hypertarget{gb_2metasprites_8h_metasprite_and_sprite_properties}% +\hypertarget{gb_2metasprites_8h_autotoc_md3}{}\doxysubsubsection{Metasprites and sprite properties (including cgb palette)}\label{gb_2metasprites_8h_autotoc_md3} +When the move\+\_\+metasprite\+\_\+$\ast$() functions are called they update all properties for the affected sprites in the Shadow O\+AM. This means any existing property flags set for a sprite (C\+GB palette, B\+G/\+W\+IN priority, Tile V\+R\+AM Bank) will get overwritten. + +How to use sprite property flags with metasprites\+: +\begin{DoxyItemize} +\item Metsaprite structures can be copied into R\+AM so their property flags can be modified at runtime. +\item The metasprite structures can have the property flags modified before compilation (such as with {\ttfamily -\/sp $<$props$>$} in the \mbox{\hyperlink{docs_toolchain_utility_png2asset}{png2asset}} tool). +\item Update properties for the affected sprites after calling a move\+\_\+metasprite\+\_\+$\ast$() function. +\end{DoxyItemize} + +The following functions are only available for Game Boy and related clone consoles due to lack of hardware support for sprite flipping in other consoles. See \mbox{\hyperlink{docs_supported_consoles_docs_consoles_supported_list}{docs\+\_\+consoles\+\_\+supported\+\_\+list}} +\begin{DoxyItemize} +\item \mbox{\hyperlink{gb_2metasprites_8h_aa8ff2df0679ebb0b6e0a8f6d83127e1a}{move\+\_\+metasprite\+\_\+vflip()}} +\item \mbox{\hyperlink{gb_2metasprites_8h_a27e3bb17d0458b60b1f0433f66301f46}{move\+\_\+metasprite\+\_\+hflip()}} +\item \mbox{\hyperlink{gb_2metasprites_8h_a32a61acd4a76d1de5814f7b94c8bc23f}{move\+\_\+metasprite\+\_\+hvflip()}} +\end{DoxyItemize} + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{gb_2metasprites_8h_a9f9f390a57460914e27c7604b7d8379a}\label{gb_2metasprites_8h_a9f9f390a57460914e27c7604b7d8379a}} +\index{metasprites.h@{metasprites.h}!metasprite\_end@{metasprite\_end}} +\index{metasprite\_end@{metasprite\_end}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{metasprite\_end}{metasprite\_end}} +{\footnotesize\ttfamily \#define metasprite\+\_\+end~-\/128} + +\mbox{\Hypertarget{gb_2metasprites_8h_aa88dc4d5e35045509b8955a4a23a30aa}\label{gb_2metasprites_8h_aa88dc4d5e35045509b8955a4a23a30aa}} +\index{metasprites.h@{metasprites.h}!METASPR\_ITEM@{METASPR\_ITEM}} +\index{METASPR\_ITEM@{METASPR\_ITEM}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{METASPR\_ITEM}{METASPR\_ITEM}} +{\footnotesize\ttfamily \#define M\+E\+T\+A\+S\+P\+R\+\_\+\+I\+T\+EM(\begin{DoxyParamCaption}\item[{}]{dy, }\item[{}]{dx, }\item[{}]{dt, }\item[{}]{a }\end{DoxyParamCaption})~\{(dy),(dx),(dt),(a)\}} + +\mbox{\Hypertarget{gb_2metasprites_8h_aa1d425dcce3cd104751744535b6a389a}\label{gb_2metasprites_8h_aa1d425dcce3cd104751744535b6a389a}} +\index{metasprites.h@{metasprites.h}!METASPR\_TERM@{METASPR\_TERM}} +\index{METASPR\_TERM@{METASPR\_TERM}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{METASPR\_TERM}{METASPR\_TERM}} +{\footnotesize\ttfamily \#define M\+E\+T\+A\+S\+P\+R\+\_\+\+T\+E\+RM~\{\mbox{\hyperlink{sms_2metasprites_8h_a9f9f390a57460914e27c7604b7d8379a}{metasprite\+\_\+end}}\}} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{gb_2metasprites_8h_aba6401cc8173158a9f37ee22094c03d3}\label{gb_2metasprites_8h_aba6401cc8173158a9f37ee22094c03d3}} +\index{metasprites.h@{metasprites.h}!metasprite\_t@{metasprite\_t}} +\index{metasprite\_t@{metasprite\_t}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{metasprite\_t}{metasprite\_t}} +{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}}} + +Metasprite sub-\/item structure +\begin{DoxyParams}{Parameters} +{\em dy} & (int8\+\_\+t) Y coordinate of the sprite relative to the metasprite origin (pivot) \\ +\hline +{\em dx} & (int8\+\_\+t) X coordinate of the sprite relative to the metasprite origin (pivot) \\ +\hline +{\em dtile} & (uint8\+\_\+t) Start tile relative to the metasprites own set of tiles \\ +\hline +{\em props} & (uint8\+\_\+t) Property Flags\\ +\hline +\end{DoxyParams} +Metasprites are built from multiple \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} items (one for each sub-\/sprite) and a pool of tiles they reference. If a metasprite has multiple frames then each frame will be built from some number of \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} items (which may vary based on how many sprites are required for that particular frame). + +A metasprite frame is terminated with a \{metasprite\+\_\+end\} entry. + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{gb_2metasprites_8h_a77bb622fa362f2e04be1bafaa099a709}\label{gb_2metasprites_8h_a77bb622fa362f2e04be1bafaa099a709}} +\index{metasprites.h@{metasprites.h}!hide\_sprites\_range@{hide\_sprites\_range}} +\index{hide\_sprites\_range@{hide\_sprites\_range}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{hide\_sprites\_range()}{hide\_sprites\_range()}} +{\footnotesize\ttfamily void hide\+\_\+sprites\+\_\+range (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}}}]{from, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}}}]{to }\end{DoxyParamCaption})} + +Hides all hardware sprites in range from $<$= X $<$ to +\begin{DoxyParams}{Parameters} +{\em from} & start O\+AM index \\ +\hline +{\em to} & finish O\+AM index \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{gb_2metasprites_8h_a77475e913bf0a19df28bdbf9d1cf392b}\label{gb_2metasprites_8h_a77475e913bf0a19df28bdbf9d1cf392b}} +\index{metasprites.h@{metasprites.h}!move\_metasprite@{move\_metasprite}} +\index{move\_metasprite@{move\_metasprite}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{move\_metasprite()}{move\_metasprite()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} move\+\_\+metasprite (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$}]{metasprite, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+sprite, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Moves metasprite to the absolute position x and y + + +\begin{DoxyParams}{Parameters} +{\em metasprite} & Pointer to the first struct of the metasprite (for the desired frame) \\ +\hline +{\em base\+\_\+tile} & Number of the first tile where the metasprite\textquotesingle{}s tiles start \\ +\hline +{\em base\+\_\+sprite} & Number of the first hardware sprite to be used by the metasprite \\ +\hline +{\em x} & Absolute x coordinate of the sprite \\ +\hline +{\em y} & Absolute y coordinate of the sprite\\ +\hline +\end{DoxyParams} +Moves {\bfseries{metasprite}} to the absolute position {\bfseries{x}} and {\bfseries{y}} (with {\bfseries{no flip}} on the X or Y axis). Hardware sprites are allocated starting from {\bfseries{base\+\_\+sprite}}, using tiles starting from {\bfseries{base\+\_\+tile}}. + +Sets\+: \begin{DoxyItemize} +\item \+\_\+\+\_\+current\+\_\+metasprite = metasprite; \item \+\_\+\+\_\+current\+\_\+base\+\_\+tile = base\+\_\+tile;\end{DoxyItemize} +Note\+: Overwrites O\+AM sprite properties (such as C\+GB Palette), see \mbox{\hyperlink{gb_2metasprites_8h_metasprite_and_sprite_properties}{Metasprites and sprite properties}}. + +\begin{DoxyReturn}{Returns} +Number of hardware sprites used to draw this metasprite +\end{DoxyReturn} +\mbox{\Hypertarget{gb_2metasprites_8h_aa8ff2df0679ebb0b6e0a8f6d83127e1a}\label{gb_2metasprites_8h_aa8ff2df0679ebb0b6e0a8f6d83127e1a}} +\index{metasprites.h@{metasprites.h}!move\_metasprite\_vflip@{move\_metasprite\_vflip}} +\index{move\_metasprite\_vflip@{move\_metasprite\_vflip}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{move\_metasprite\_vflip()}{move\_metasprite\_vflip()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} move\+\_\+metasprite\+\_\+vflip (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$}]{metasprite, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+sprite, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Moves metasprite to the absolute position x and y, {\bfseries{flipped on the Y axis}} + + +\begin{DoxyParams}{Parameters} +{\em metasprite} & Pointer to the first struct of the metasprite (for the desired frame) \\ +\hline +{\em base\+\_\+tile} & Number of the first tile where the metasprite\textquotesingle{}s tiles start \\ +\hline +{\em base\+\_\+sprite} & Number of the first hardware sprite to be used by the metasprite \\ +\hline +{\em x} & Absolute x coordinate of the sprite \\ +\hline +{\em y} & Absolute y coordinate of the sprite\\ +\hline +\end{DoxyParams} +Same as \mbox{\hyperlink{gb_2metasprites_8h_a77475e913bf0a19df28bdbf9d1cf392b}{move\+\_\+metasprite()}}, but with the metasprite flipped on the Y axis only. + +Sets\+: \begin{DoxyItemize} +\item \+\_\+\+\_\+current\+\_\+metasprite = metasprite; \item \+\_\+\+\_\+current\+\_\+base\+\_\+tile = base\+\_\+tile;\end{DoxyItemize} +Note\+: Overwrites O\+AM sprite properties (such as C\+GB palette), see \mbox{\hyperlink{gb_2metasprites_8h_metasprite_and_sprite_properties}{Metasprites and sprite properties}}. + +This function is only available on Game Boy and related clone consoles. + +\begin{DoxyReturn}{Returns} +Number of hardware sprites used to draw this metasprite +\end{DoxyReturn} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_2metasprites_8h_a77475e913bf0a19df28bdbf9d1cf392b}{move\+\_\+metasprite()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_2metasprites_8h_a27e3bb17d0458b60b1f0433f66301f46}\label{gb_2metasprites_8h_a27e3bb17d0458b60b1f0433f66301f46}} +\index{metasprites.h@{metasprites.h}!move\_metasprite\_hflip@{move\_metasprite\_hflip}} +\index{move\_metasprite\_hflip@{move\_metasprite\_hflip}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{move\_metasprite\_hflip()}{move\_metasprite\_hflip()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} move\+\_\+metasprite\+\_\+hflip (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$}]{metasprite, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+sprite, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Moves metasprite to the absolute position x and y, {\bfseries{flipped on the X axis}} + + +\begin{DoxyParams}{Parameters} +{\em metasprite} & Pointer to the first struct of the metasprite (for the desired frame) \\ +\hline +{\em base\+\_\+tile} & Number of the first tile where the metasprite\textquotesingle{}s tiles start \\ +\hline +{\em base\+\_\+sprite} & Number of the first hardware sprite to be used by the metasprite \\ +\hline +{\em x} & Absolute x coordinate of the sprite \\ +\hline +{\em y} & Absolute y coordinate of the sprite\\ +\hline +\end{DoxyParams} +Same as \mbox{\hyperlink{gb_2metasprites_8h_a77475e913bf0a19df28bdbf9d1cf392b}{move\+\_\+metasprite()}}, but with the metasprite flipped on the X axis only. + +Sets\+: \begin{DoxyItemize} +\item \+\_\+\+\_\+current\+\_\+metasprite = metasprite; \item \+\_\+\+\_\+current\+\_\+base\+\_\+tile = base\+\_\+tile;\end{DoxyItemize} +Note\+: Overwrites O\+AM sprite properties (such as C\+GB palette), see \mbox{\hyperlink{gb_2metasprites_8h_metasprite_and_sprite_properties}{Metasprites and sprite properties}}. + +This function is only available on Game Boy and related clone consoles. + +\begin{DoxyReturn}{Returns} +Number of hardware sprites used to draw this metasprite +\end{DoxyReturn} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_2metasprites_8h_a77475e913bf0a19df28bdbf9d1cf392b}{move\+\_\+metasprite()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_2metasprites_8h_a32a61acd4a76d1de5814f7b94c8bc23f}\label{gb_2metasprites_8h_a32a61acd4a76d1de5814f7b94c8bc23f}} +\index{metasprites.h@{metasprites.h}!move\_metasprite\_hvflip@{move\_metasprite\_hvflip}} +\index{move\_metasprite\_hvflip@{move\_metasprite\_hvflip}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{move\_metasprite\_hvflip()}{move\_metasprite\_hvflip()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} move\+\_\+metasprite\+\_\+hvflip (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$}]{metasprite, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+sprite, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Moves metasprite to the absolute position x and y, {\bfseries{flipped on the X and Y axis}} + + +\begin{DoxyParams}{Parameters} +{\em metasprite} & Pointer to the first struct of the metasprite (for the desired frame) \\ +\hline +{\em base\+\_\+tile} & Number of the first tile where the metasprite\textquotesingle{}s tiles start \\ +\hline +{\em base\+\_\+sprite} & Number of the first hardware sprite to be used by the metasprite \\ +\hline +{\em x} & Absolute x coordinate of the sprite \\ +\hline +{\em y} & Absolute y coordinate of the sprite\\ +\hline +\end{DoxyParams} +Same as \mbox{\hyperlink{gb_2metasprites_8h_a77475e913bf0a19df28bdbf9d1cf392b}{move\+\_\+metasprite()}}, but with the metasprite flipped on both the X and Y axis. + +Sets\+: \begin{DoxyItemize} +\item \+\_\+\+\_\+current\+\_\+metasprite = metasprite; \item \+\_\+\+\_\+current\+\_\+base\+\_\+tile = base\+\_\+tile;\end{DoxyItemize} +Note\+: Overwrites O\+AM sprite properties (such as C\+GB palette), see \mbox{\hyperlink{gb_2metasprites_8h_metasprite_and_sprite_properties}{Metasprites and sprite properties}}. + +This function is only available on Game Boy and related clone consoles. + +\begin{DoxyReturn}{Returns} +Number of hardware sprites used to draw this metasprite +\end{DoxyReturn} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_2metasprites_8h_a77475e913bf0a19df28bdbf9d1cf392b}{move\+\_\+metasprite()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_2metasprites_8h_af8de5a888d65448b9d34027a0e1ce906}\label{gb_2metasprites_8h_af8de5a888d65448b9d34027a0e1ce906}} +\index{metasprites.h@{metasprites.h}!hide\_metasprite@{hide\_metasprite}} +\index{hide\_metasprite@{hide\_metasprite}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{hide\_metasprite()}{hide\_metasprite()}} +{\footnotesize\ttfamily void hide\+\_\+metasprite (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$}]{metasprite, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+sprite }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Hides a metasprite from the screen + + +\begin{DoxyParams}{Parameters} +{\em metasprite} & Pointer to first struct of the desired metasprite frame \\ +\hline +{\em base\+\_\+sprite} & Number of hardware sprite to start with\\ +\hline +\end{DoxyParams} +Sets\+: \begin{DoxyItemize} +\item \+\_\+\+\_\+current\+\_\+metasprite = metasprite; \end{DoxyItemize} + + +\doxysubsubsection{Variable Documentation} +\mbox{\Hypertarget{gb_2metasprites_8h_aae51f066cc5436457f62351847bfc64b}\label{gb_2metasprites_8h_aae51f066cc5436457f62351847bfc64b}} +\index{metasprites.h@{metasprites.h}!\_\_current\_metasprite@{\_\_current\_metasprite}} +\index{\_\_current\_metasprite@{\_\_current\_metasprite}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{\_\_current\_metasprite}{\_\_current\_metasprite}} +{\footnotesize\ttfamily const void$\ast$ \+\_\+\+\_\+current\+\_\+metasprite\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{gb_2metasprites_8h_a345fa52509387bd18a4092178a18286f}\label{gb_2metasprites_8h_a345fa52509387bd18a4092178a18286f}} +\index{metasprites.h@{metasprites.h}!\_\_current\_base\_tile@{\_\_current\_base\_tile}} +\index{\_\_current\_base\_tile@{\_\_current\_base\_tile}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{\_\_current\_base\_tile}{\_\_current\_base\_tile}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+\+\_\+current\+\_\+base\+\_\+tile\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{gb_2metasprites_8h_a4bfe4d95031b67951cf6bc342110db39}\label{gb_2metasprites_8h_a4bfe4d95031b67951cf6bc342110db39}} +\index{metasprites.h@{metasprites.h}!\_\_render\_shadow\_OAM@{\_\_render\_shadow\_OAM}} +\index{\_\_render\_shadow\_OAM@{\_\_render\_shadow\_OAM}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{\_\_render\_shadow\_OAM}{\_\_render\_shadow\_OAM}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+\+\_\+render\+\_\+shadow\+\_\+\+O\+AM\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{gb_2metasprites_8h_a0b3366755f3276b0243c1e0497471b7a}\label{gb_2metasprites_8h_a0b3366755f3276b0243c1e0497471b7a}} +\index{metasprites.h@{metasprites.h}!c@{c}} +\index{c@{c}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{c}{c}} +{\footnotesize\ttfamily void c} + diff --git a/docs/latex/gb_8h.tex b/docs/latex/gb_8h.tex @@ -0,0 +1,2933 @@ +\hypertarget{gb_8h}{}\doxysubsection{gb/gb.h File Reference} +\label{gb_8h}\index{gb/gb.h@{gb/gb.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +{\ttfamily \#include $<$gbdk/version.\+h$>$}\newline +{\ttfamily \#include $<$gb/hardware.\+h$>$}\newline +\doxysubsubsection*{Data Structures} +\begin{DoxyCompactItemize} +\item +struct \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} +\item +struct \mbox{\hyperlink{struct_o_a_m__item__t}{O\+A\+M\+\_\+item\+\_\+t}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{gb_8h_a385397587c93683e8e11afb712e2960b}{N\+I\+N\+T\+E\+N\+DO}} +\item +\#define \mbox{\hyperlink{gb_8h_af10046e88cba47031142a763a94210df}{G\+A\+M\+E\+B\+OY}} +\item +\#define \mbox{\hyperlink{gb_8h_a05ca817ab32f6da612c3ae26db5abf02}{J\+\_\+\+UP}}~0x04U +\item +\#define \mbox{\hyperlink{gb_8h_ae032c5c544196e37ec0432f6cfad7904}{J\+\_\+\+D\+O\+WN}}~0x08U +\item +\#define \mbox{\hyperlink{gb_8h_ac70894fecac30c1ca9917f07373cf81c}{J\+\_\+\+L\+E\+FT}}~0x02U +\item +\#define \mbox{\hyperlink{gb_8h_a3bad91d11ae09ffcbb3cb0a81873d325}{J\+\_\+\+R\+I\+G\+HT}}~0x01U +\item +\#define \mbox{\hyperlink{gb_8h_a31af766e3b598eb7a6b63f55a4988e7a}{J\+\_\+A}}~0x10U +\item +\#define \mbox{\hyperlink{gb_8h_ae47e59a309120f9420993f26816b5e6d}{J\+\_\+B}}~0x20U +\item +\#define \mbox{\hyperlink{gb_8h_ab416a9d96d1582490828f4bac78a8b5b}{J\+\_\+\+S\+E\+L\+E\+CT}}~0x40U +\item +\#define \mbox{\hyperlink{gb_8h_ab769c6e20778298be8bc3321476ceb53}{J\+\_\+\+S\+T\+A\+RT}}~0x80U +\item +\#define \mbox{\hyperlink{gb_8h_acc9798fc62b5d626c91c8b0f20b522ff}{M\+\_\+\+D\+R\+A\+W\+I\+NG}}~0x01U +\item +\#define \mbox{\hyperlink{gb_8h_af0e30d6af308ffe5a025fbe85da40f6f}{M\+\_\+\+T\+E\+X\+T\+\_\+\+O\+UT}}~0x02U +\item +\#define \mbox{\hyperlink{gb_8h_a908826e7180f94a5988ceb8633313a2e}{M\+\_\+\+T\+E\+X\+T\+\_\+\+I\+N\+O\+UT}}~0x03U +\item +\#define \mbox{\hyperlink{gb_8h_a04382de20738146fe873ddfb0585052b}{M\+\_\+\+N\+O\+\_\+\+S\+C\+R\+O\+LL}}~0x04U +\item +\#define \mbox{\hyperlink{gb_8h_aca2855edd2d28f66be551a0f7ec23f07}{M\+\_\+\+N\+O\+\_\+\+I\+N\+T\+E\+RP}}~0x08U +\item +\#define \mbox{\hyperlink{gb_8h_a54572cf6791463b6d60623837e0bb5a6}{S\+\_\+\+P\+A\+L\+E\+T\+TE}}~0x10U +\item +\#define \mbox{\hyperlink{gb_8h_ae97793b4039609f93b0f7f8bddb18011}{S\+\_\+\+F\+L\+I\+PX}}~0x20U +\item +\#define \mbox{\hyperlink{gb_8h_a4bbb9cd6c38b2317de5256d1d889c63b}{S\+\_\+\+F\+L\+I\+PY}}~0x40U +\item +\#define \mbox{\hyperlink{gb_8h_a9506d04c2ec7d2442a52054f67d2b32f}{S\+\_\+\+P\+R\+I\+O\+R\+I\+TY}}~0x80U +\item +\#define \mbox{\hyperlink{gb_8h_aa027abe630d44039f238034bcb2d2f36}{E\+M\+P\+T\+Y\+\_\+\+I\+F\+L\+AG}}~0x00U +\item +\#define \mbox{\hyperlink{gb_8h_a2ca7720b9a5da9b2173e1f74dba85541}{V\+B\+L\+\_\+\+I\+F\+L\+AG}}~0x01U +\item +\#define \mbox{\hyperlink{gb_8h_a61a9e2910380de6abb34df14ef634eb4}{L\+C\+D\+\_\+\+I\+F\+L\+AG}}~0x02U +\item +\#define \mbox{\hyperlink{gb_8h_a604256210ec5b90b68185e1a18efab49}{T\+I\+M\+\_\+\+I\+F\+L\+AG}}~0x04U +\item +\#define \mbox{\hyperlink{gb_8h_ad90564458646c5646b3880b93db3443e}{S\+I\+O\+\_\+\+I\+F\+L\+AG}}~0x08U +\item +\#define \mbox{\hyperlink{gb_8h_a2f829cf27d6e3e24c875e9b82dfcb280}{J\+O\+Y\+\_\+\+I\+F\+L\+AG}}~0x10U +\item +\#define \mbox{\hyperlink{gb_8h_ab311e53739c992294ae07ca506a924ad}{D\+M\+G\+\_\+\+B\+L\+A\+CK}}~0x03 +\item +\#define \mbox{\hyperlink{gb_8h_a45d13a674e169dd83df7e1f46513ccba}{D\+M\+G\+\_\+\+D\+A\+R\+K\+\_\+\+G\+R\+AY}}~0x02 +\item +\#define \mbox{\hyperlink{gb_8h_a8ccd6732d3bdf390cc0943e8567341f3}{D\+M\+G\+\_\+\+L\+I\+T\+E\+\_\+\+G\+R\+AY}}~0x01 +\item +\#define \mbox{\hyperlink{gb_8h_a11cedc2ee58acfbbfc48dfb2b9a551b3}{D\+M\+G\+\_\+\+W\+H\+I\+TE}}~0x00 +\item +\#define \mbox{\hyperlink{gb_8h_a9727caafc483ba6ec65e9344b033d684}{D\+M\+G\+\_\+\+P\+A\+L\+E\+T\+TE}}(C0, C1, C2, C3)~((\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}})((((C3) \& 0x03) $<$$<$ 6) $\vert$ (((C2) \& 0x03) $<$$<$ 4) $\vert$ (((C1) \& 0x03) $<$$<$ 2) $\vert$ ((C0) \& 0x03))) +\item +\#define \mbox{\hyperlink{gb_8h_ada0cc738d27aad251151e69cb8d250e1}{S\+C\+R\+E\+E\+N\+W\+I\+D\+TH}}~\mbox{\hyperlink{sms_2hardware_8h_ad14c51cdfb347c34c364f54e67dc978d}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+W\+I\+D\+TH}} +\item +\#define \mbox{\hyperlink{gb_8h_ae189e98d0ef9263c37869ce1ff3710a5}{S\+C\+R\+E\+E\+N\+H\+E\+I\+G\+HT}}~\mbox{\hyperlink{sms_2hardware_8h_a7bd450aa268b881257089cf8cd6697ec}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+H\+E\+I\+G\+HT}} +\item +\#define \mbox{\hyperlink{gb_8h_a5a796bbf3e4347d914b83568350143a9}{M\+I\+N\+W\+N\+D\+P\+O\+SX}}~0x07U +\item +\#define \mbox{\hyperlink{gb_8h_af3d632ba2d7cef6619df5dfea8730909}{M\+I\+N\+W\+N\+D\+P\+O\+SY}}~0x00U +\item +\#define \mbox{\hyperlink{gb_8h_a6dffb66ec1b1d9bb380a1af52a601ec5}{M\+A\+X\+W\+N\+D\+P\+O\+SX}}~0x\+A6U +\item +\#define \mbox{\hyperlink{gb_8h_ad57f2f8c54204687f02801d8ab1bd150}{M\+A\+X\+W\+N\+D\+P\+O\+SY}}~0x8\+FU +\item +\#define \mbox{\hyperlink{gb_8h_a0031c07799247a6d6c1bfa3decac79d0}{D\+M\+G\+\_\+\+T\+Y\+PE}}~0x01 +\item +\#define \mbox{\hyperlink{gb_8h_ae996ed4fd8bb6b308b9c8708a91df06b}{M\+G\+B\+\_\+\+T\+Y\+PE}}~0x\+FF +\item +\#define \mbox{\hyperlink{gb_8h_aee435a3a0dde3dbd7b6112dbb456cde8}{C\+G\+B\+\_\+\+T\+Y\+PE}}~0x11 +\item +\#define \mbox{\hyperlink{gb_8h_aa311f84dd9fce6e136ba4881e7b0d98d}{G\+B\+A\+\_\+\+N\+O\+T\+\_\+\+D\+E\+T\+E\+C\+T\+ED}}~0x00 +\item +\#define \mbox{\hyperlink{gb_8h_a6ccf5d0f34fb0af0b6e73b9df0ccd745}{G\+B\+A\+\_\+\+D\+E\+T\+E\+C\+T\+ED}}~0x01 +\item +\#define \mbox{\hyperlink{gb_8h_a231ec05679809190782e61c6e8aaaba4}{D\+E\+V\+I\+C\+E\+\_\+\+S\+U\+P\+P\+O\+R\+T\+S\+\_\+\+C\+O\+L\+OR}}~(\mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}} == \mbox{\hyperlink{gb_8h_aee435a3a0dde3dbd7b6112dbb456cde8}{C\+G\+B\+\_\+\+T\+Y\+PE}}) +\item +\#define \mbox{\hyperlink{gb_8h_a268cc6c704e16f3fa02dd1cf0e17070a}{I\+O\+\_\+\+I\+D\+LE}}~0x00U +\item +\#define \mbox{\hyperlink{gb_8h_ab69a3f7cd2c6b5eb4f518aefee099007}{I\+O\+\_\+\+S\+E\+N\+D\+I\+NG}}~0x01U +\item +\#define \mbox{\hyperlink{gb_8h_aee03efddee0f2f6fbcaec789301aaa9b}{I\+O\+\_\+\+R\+E\+C\+E\+I\+V\+I\+NG}}~0x02U +\item +\#define \mbox{\hyperlink{gb_8h_a5d4c9c7b61a0326a939f9109f96d7423}{I\+O\+\_\+\+E\+R\+R\+OR}}~0x04U +\item +\#define \mbox{\hyperlink{gb_8h_ae042588f20bf5a2349c8ad8716245233}{C\+U\+R\+R\+E\+N\+T\+\_\+\+B\+A\+NK}}~\mbox{\hyperlink{gb_8h_a98b848953a95ce2fff6fda643575d74a}{\+\_\+current\+\_\+bank}} +\item +\#define \mbox{\hyperlink{gb_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+NK}}(V\+A\+R\+N\+A\+ME)~( (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}) \& \+\_\+\+\_\+bank\+\_\+ \#\# V\+A\+R\+N\+A\+ME ) +\item +\#define \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+EF}}(V\+A\+R\+N\+A\+ME) +\item +\#define \mbox{\hyperlink{gb_8h_a261bba55a07b802baf99346feadd9852}{B\+A\+N\+K\+R\+E\+F\+\_\+\+E\+X\+T\+E\+RN}}(V\+A\+R\+N\+A\+ME)~extern const void \+\_\+\+\_\+bank\+\_\+ \#\# V\+A\+R\+N\+A\+ME; +\item +\#define \mbox{\hyperlink{gb_8h_a3fca2d0a22aa2717e62fed659caf4743}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+E\+G\+A\+D\+U\+CK}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})~ \mbox{\hyperlink{gb_8h_a98b848953a95ce2fff6fda643575d74a}{\+\_\+current\+\_\+bank}} = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}), $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x0001 = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}) +\item +\#define \mbox{\hyperlink{gb_8h_a19558f5bbc9fea767f945001ae9cd13f}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C1}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})~ \mbox{\hyperlink{gb_8h_a98b848953a95ce2fff6fda643575d74a}{\+\_\+current\+\_\+bank}} = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}), $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x2000 = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}) +\item +\#define \mbox{\hyperlink{gb_8h_a1e22a3b60368bb5f3705d625ac2d09cc}{S\+W\+I\+T\+C\+H\+\_\+\+R\+OM}}~\mbox{\hyperlink{gb_8h_a19558f5bbc9fea767f945001ae9cd13f}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C1}} +\item +\#define \mbox{\hyperlink{gb_8h_a38ea3e4dfe02b8eae70df27f39d4a951}{S\+W\+I\+T\+C\+H\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C1}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x4000 = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}) +\item +\#define \mbox{\hyperlink{gb_8h_a6e40dcc763efd953181c7400642a9f69}{S\+W\+I\+T\+C\+H\+\_\+\+R\+AM}}~\mbox{\hyperlink{gb_8h_a38ea3e4dfe02b8eae70df27f39d4a951}{S\+W\+I\+T\+C\+H\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C1}} +\item +\#define \mbox{\hyperlink{gb_8h_ae202f64307ec00f6970ef9225e54646c}{E\+N\+A\+B\+L\+E\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C1}}~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x0000 = 0x0A +\item +\#define \mbox{\hyperlink{gb_8h_a0e9c88657beaac946231a4801481b97f}{E\+N\+A\+B\+L\+E\+\_\+\+R\+AM}}~\mbox{\hyperlink{gb_8h_ae202f64307ec00f6970ef9225e54646c}{E\+N\+A\+B\+L\+E\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C1}} +\item +\#define \mbox{\hyperlink{gb_8h_a177fadce938422926b186a8e42575d1d}{D\+I\+S\+A\+B\+L\+E\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C1}}~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x0000 = 0x00 +\item +\#define \mbox{\hyperlink{gb_8h_a649d27b5587de16a66176e03a1b8ebd5}{D\+I\+S\+A\+B\+L\+E\+\_\+\+R\+AM}}~\mbox{\hyperlink{gb_8h_a177fadce938422926b186a8e42575d1d}{D\+I\+S\+A\+B\+L\+E\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C1}} +\item +\#define \mbox{\hyperlink{gb_8h_a0c689c5a814f1c347c4d98f28ed6c7d6}{S\+W\+I\+T\+C\+H\+\_\+16\+\_\+8\+\_\+\+M\+O\+D\+E\+\_\+\+M\+B\+C1}}~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x6000 = 0x00 +\item +\#define \mbox{\hyperlink{gb_8h_aa5d64e386a00b373f22ffdc5a152c7ba}{S\+W\+I\+T\+C\+H\+\_\+4\+\_\+32\+\_\+\+M\+O\+D\+E\+\_\+\+M\+B\+C1}}~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x6000 = 0x01 +\item +\#define \mbox{\hyperlink{gb_8h_a92d040284342702026eb19dab59b586e}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C5}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}) +\item +\#define \mbox{\hyperlink{gb_8h_a6c15ebc660abd3a978137493ab63ffe9}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C5\+\_\+8M}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}) +\item +\#define \mbox{\hyperlink{gb_8h_a361d5055a7ae880fc1c9d6e0d1164fd6}{S\+W\+I\+T\+C\+H\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C5}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x4000 = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}) +\item +\#define \mbox{\hyperlink{gb_8h_a3f033f00c8d781637f9a665b06750937}{E\+N\+A\+B\+L\+E\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C5}}~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x0000 = 0x0A +\item +\#define \mbox{\hyperlink{gb_8h_a60191cdfa50ed9b88515f181747eaba2}{D\+I\+S\+A\+B\+L\+E\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C5}}~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x0000 = 0x00 +\item +\#define \mbox{\hyperlink{gb_8h_a5ae6b05b3e1559c97f0d1b2daaaa0ee4}{D\+I\+S\+P\+L\+A\+Y\+\_\+\+ON}}~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}$\vert$=\mbox{\hyperlink{gb_2hardware_8h_a1491fc03ed7f02e7309cc7b0c48b6c8a}{L\+C\+D\+C\+F\+\_\+\+ON}} +\item +\#define \mbox{\hyperlink{gb_8h_ad2ec9831813c5e7069917aa4455af682}{D\+I\+S\+P\+L\+A\+Y\+\_\+\+O\+FF}}~ \mbox{\hyperlink{sms_8h_a7b09691f25fddd65f12ed199b3f88ef0}{display\+\_\+off}}(); +\item +\#define \mbox{\hyperlink{gb_8h_a0659212acd317ccdebc0ecf435df330f}{H\+I\+D\+E\+\_\+\+L\+E\+F\+T\+\_\+\+C\+O\+L\+U\+MN}} +\item +\#define \mbox{\hyperlink{gb_8h_a5497c2255a9474d397446710189eacbe}{S\+H\+O\+W\+\_\+\+L\+E\+F\+T\+\_\+\+C\+O\+L\+U\+MN}} +\item +\#define \mbox{\hyperlink{gb_8h_a8e3f36aa68ac036695816757f2a1322c}{S\+H\+O\+W\+\_\+\+B\+KG}}~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}$\vert$=\mbox{\hyperlink{gb_2hardware_8h_a97ab19d938f05bffbcb4221824c3bfce}{L\+C\+D\+C\+F\+\_\+\+B\+G\+ON}} +\item +\#define \mbox{\hyperlink{gb_8h_a6d25f7c43b1cbbb48b95cda7ab2c3141}{H\+I\+D\+E\+\_\+\+B\+KG}}~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}\&=$\sim$\mbox{\hyperlink{gb_2hardware_8h_a97ab19d938f05bffbcb4221824c3bfce}{L\+C\+D\+C\+F\+\_\+\+B\+G\+ON}} +\item +\#define \mbox{\hyperlink{gb_8h_ab19da2ab719bb8897bc0843a84af28f8}{S\+H\+O\+W\+\_\+\+W\+IN}}~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}$\vert$=\mbox{\hyperlink{gb_2hardware_8h_a13a5f08b9aae68f8fa57a8aa7705b732}{L\+C\+D\+C\+F\+\_\+\+W\+I\+N\+ON}} +\item +\#define \mbox{\hyperlink{gb_8h_aedb6e32c42d4b1d25ad11adccd7100c3}{H\+I\+D\+E\+\_\+\+W\+IN}}~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}\&=$\sim$\mbox{\hyperlink{gb_2hardware_8h_a13a5f08b9aae68f8fa57a8aa7705b732}{L\+C\+D\+C\+F\+\_\+\+W\+I\+N\+ON}} +\item +\#define \mbox{\hyperlink{gb_8h_a495bc9f405f916f02ad5d97e6e730134}{S\+H\+O\+W\+\_\+\+S\+P\+R\+I\+T\+ES}}~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}$\vert$=\mbox{\hyperlink{gb_2hardware_8h_a6aef42158c90e8025b8341cdea2e3918}{L\+C\+D\+C\+F\+\_\+\+O\+B\+J\+ON}} +\item +\#define \mbox{\hyperlink{gb_8h_a69ef98aee664b8abd8d1a3d45f016dda}{H\+I\+D\+E\+\_\+\+S\+P\+R\+I\+T\+ES}}~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}\&=$\sim$\mbox{\hyperlink{gb_2hardware_8h_a6aef42158c90e8025b8341cdea2e3918}{L\+C\+D\+C\+F\+\_\+\+O\+B\+J\+ON}} +\item +\#define \mbox{\hyperlink{gb_8h_af91d252f07f4764996154820f970c101}{S\+P\+R\+I\+T\+E\+S\+\_\+8x16}}~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}$\vert$=\mbox{\hyperlink{gb_2hardware_8h_a14eddd3d53d8e649f1754bd455b4863d}{L\+C\+D\+C\+F\+\_\+\+O\+B\+J16}} +\item +\#define \mbox{\hyperlink{gb_8h_aa87bec0d134136fdb727f52cb773b792}{S\+P\+R\+I\+T\+E\+S\+\_\+8x8}}~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}\&=$\sim$\mbox{\hyperlink{gb_2hardware_8h_a14eddd3d53d8e649f1754bd455b4863d}{L\+C\+D\+C\+F\+\_\+\+O\+B\+J16}} +\item +\#define \mbox{\hyperlink{gb_8h_a67f80e65620470b55a4950e2966eb868}{C\+O\+M\+P\+A\+T\+\_\+\+P\+A\+L\+E\+T\+TE}}(C0, C1, C2, C3)~((\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}})(((C3) $<$$<$ 6) $\vert$ ((C2) $<$$<$ 4) $\vert$ ((C1) $<$$<$ 2) $\vert$ (C0))) +\item +\#define \mbox{\hyperlink{gb_8h_ab94bfec130df50d9cb808142f94603a5}{set\+\_\+bkg\+\_\+2bpp\+\_\+data}}~\mbox{\hyperlink{sms_8h_a8130306da1177f4fef89e699f8e2add4}{set\+\_\+bkg\+\_\+data}} +\item +\#define \mbox{\hyperlink{gb_8h_a55f82ff980398dd97036fd936ebd727e}{set\+\_\+tile\+\_\+map}}~\mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}} +\item +\#define \mbox{\hyperlink{gb_8h_adb5d0970167b81401113812773c90838}{set\+\_\+tile\+\_\+submap}}~\mbox{\hyperlink{sms_8h_a0cfd261bc7a94b1f6093f423bad30298}{set\+\_\+bkg\+\_\+submap}} +\item +\#define \mbox{\hyperlink{gb_8h_a3b235c526c517fb02d20cdea780ee2c5}{set\+\_\+tile\+\_\+xy}}~\mbox{\hyperlink{gb_8h_a74ee8f0a3495508c90de4ce246b81060}{set\+\_\+bkg\+\_\+tile\+\_\+xy}} +\item +\#define \mbox{\hyperlink{gb_8h_a43b4f0ba65856deef626c0d9e7e41ed4}{set\+\_\+sprite\+\_\+2bpp\+\_\+data}}~\mbox{\hyperlink{sms_8h_a216a3e3d320ee4d8cf4845600487ae39}{set\+\_\+sprite\+\_\+data}} +\item +\#define \mbox{\hyperlink{gb_8h_a47607089a434dcda7a8583cfca03b604}{D\+I\+S\+A\+B\+L\+E\+\_\+\+O\+A\+M\+\_\+\+D\+MA}}~ \mbox{\hyperlink{sms_8h_a5435fd985412934e96a490e103c6bc49}{\+\_\+shadow\+\_\+\+O\+A\+M\+\_\+base}} = 0 +\item +\#define \mbox{\hyperlink{gb_8h_abfd70bf31185a4900680977c9fb5a5ec}{D\+I\+S\+A\+B\+L\+E\+\_\+\+V\+B\+L\+\_\+\+T\+R\+A\+N\+S\+F\+ER}}~\mbox{\hyperlink{gb_8h_a47607089a434dcda7a8583cfca03b604}{D\+I\+S\+A\+B\+L\+E\+\_\+\+O\+A\+M\+\_\+\+D\+MA}} +\item +\#define \mbox{\hyperlink{gb_8h_a20895d53fe9caacb08ce8b071d57ce53}{E\+N\+A\+B\+L\+E\+\_\+\+O\+A\+M\+\_\+\+D\+MA}}~ \mbox{\hyperlink{sms_8h_a5435fd985412934e96a490e103c6bc49}{\+\_\+shadow\+\_\+\+O\+A\+M\+\_\+base}} = (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}})((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})\&\mbox{\hyperlink{sms_8h_af02f9e73bd894cc25e03aedb0a10a91d}{shadow\+\_\+\+O\+AM}} $>$$>$ 8) +\item +\#define \mbox{\hyperlink{gb_8h_a77d516c9d3f86f100eddea5e0d133a76}{E\+N\+A\+B\+L\+E\+\_\+\+V\+B\+L\+\_\+\+T\+R\+A\+N\+S\+F\+ER}}~\mbox{\hyperlink{gb_8h_a20895d53fe9caacb08ce8b071d57ce53}{E\+N\+A\+B\+L\+E\+\_\+\+O\+A\+M\+\_\+\+D\+MA}} +\item +\#define \mbox{\hyperlink{gb_8h_a8b77608c87a9aef65a03531482b2163b}{M\+A\+X\+\_\+\+H\+A\+R\+D\+W\+A\+R\+E\+\_\+\+S\+P\+R\+I\+T\+ES}}~40 +\item +\#define \mbox{\hyperlink{gb_8h_a47865835d7d007d71b4bc8ae5cefb73a}{fill\+\_\+rect}}~\mbox{\hyperlink{gb_8h_a74c3f53fca019f7abcd1270650808849}{fill\+\_\+bkg\+\_\+rect}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef void($\ast$ \mbox{\hyperlink{gb_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}) (void) \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}} +\item +typedef struct \mbox{\hyperlink{struct_o_a_m__item__t}{O\+A\+M\+\_\+item\+\_\+t}} \mbox{\hyperlink{gb_8h_a8e5ea12b86bdfc812448c2f5c4336c03}{O\+A\+M\+\_\+item\+\_\+t}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{gb_8h_ad43fdfdb1e157b141f3fc48b78bf4386}{remove\+\_\+\+V\+BL}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_a32683767caa2a263a1f494b3605786e7}{remove\+\_\+\+L\+CD}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_a142f6c7755fce8b1148faf658d8ec147}{remove\+\_\+\+T\+IM}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_a5b821b31215361265d8b7894a9ae7118}{remove\+\_\+\+S\+IO}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_a4a3e87e0917d5efb6bc7c94e9754fcd0}{remove\+\_\+\+J\+OY}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_a0d29659d08708143dd8bc720278e06b5}{add\+\_\+\+V\+BL}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_a9f9f77105099a34556247d5bb03368d1}{add\+\_\+\+L\+CD}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_a028d1a2e820951bb4f103d6469975ffb}{add\+\_\+\+T\+IM}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_a970f18857533e062f4780f6e1c407d69}{add\+\_\+low\+\_\+priority\+\_\+\+T\+IM}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_aa82422752016328ed0765879e286019f}{add\+\_\+\+S\+IO}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_aa2f0235e78da2d1d94d3628d7a1afc30}{add\+\_\+\+J\+OY}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_a695c6d0e8fd7cf11dae0d4c67bc058f9}{nowait\+\_\+int\+\_\+handler}} () +\item +void \mbox{\hyperlink{gb_8h_acc9afd0cb72e763a1213d256b942a68f}{wait\+\_\+int\+\_\+handler}} () +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_ade5d4c955b871b0ed884273cc2b7215a}{cancel\+\_\+pending\+\_\+interrupts}} () +\item +void \mbox{\hyperlink{gb_8h_a3ea524204d839377cf39842eec23e202}{mode}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} m) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_a19969b36a6535fc6a966c0e5476baf9c}{get\+\_\+mode}} () \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_ae339d7d8d7e0ebd6691b42608c416964}{send\+\_\+byte}} () +\item +void \mbox{\hyperlink{gb_8h_a9a7fd7be44bb12bc85a144b732ce02f7}{receive\+\_\+byte}} () +\item +void \mbox{\hyperlink{gb_8h_a2afae202a1f8ca59a12a6455bb909c5d}{delay}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{sms_8h_a0a3d95ad0ab8ad213016101d2e9c3d3e}{d}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_a176c477d759b814664785f3a0ad5e253}{joypad}} () \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_aae433db7d8e3ee4c095c254b8abd7b8b}{waitpad}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} mask) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a8484d346b788309ac702b7e0b1fca730}{waitpadup}} () \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(a +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_ab7e35e1eff44ed78ad8f0015c6e85b4e}{joypad\+\_\+init}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} npads, \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} $\ast$joypads) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_a6e6f8eb1de2ae1ec9adeafbd7b9884db}{joypad\+\_\+ex}} (\mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} $\ast$joypads) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_ae0b13f17609b26c86fc33944aeb6e867}{enable\+\_\+interrupts}} () \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(a +\item +void \mbox{\hyperlink{gb_8h_ad77796783b3a601b6f3781dfc3983499}{disable\+\_\+interrupts}} () \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(a +\item +void \mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} flags) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_ad20897c5c8bd47f5d4005989bead0e55}{reset}} () +\item +void \mbox{\hyperlink{gb_8h_acd186eb292d441f9389e77b545a55619}{wait\+\_\+vbl\+\_\+done}} () \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a04d57683cdd046dfa45e7e56d7c4ec4d}{display\+\_\+off}} () \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a2550e7b6b9fd7e1fc495872502311dbb}{refresh\+\_\+\+O\+AM}} () \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a97b9f2fc6ac7cae97656aca940d65d44}{hiramcpy}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} dst, const void $\ast$src, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} n) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a7080649e10765996c581e5b618e603b8}{set\+\_\+vram\+\_\+byte}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$addr, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} v) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_aa33ba8b8d381df76edf15ea251ccb675}{get\+\_\+vram\+\_\+byte}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$addr) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$ \mbox{\hyperlink{gb_8h_a9005b80d3315f50f0fb0e1728e7ee60f}{get\+\_\+bkg\+\_\+xy\+\_\+addr}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_aa224c9bac27c7fd268e62bdf33338a84}{set\+\_\+2bpp\+\_\+palette}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} palette) +\item +void \mbox{\hyperlink{gb_8h_a1f00bd35cd56aac84c108f5a802c3f9c}{set\+\_\+1bpp\+\_\+colors\+\_\+ex}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} fgcolor, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} bgcolor, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a3ea524204d839377cf39842eec23e202}{mode}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_adcb394299a1033616fc7d2faec8bd6ad}{set\+\_\+1bpp\+\_\+colors}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} fgcolor, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} bgcolor) +\item +void \mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+tiles, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a711fa26feecc76dc51482b0f77062859}{set\+\_\+bkg\+\_\+1bpp\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+tiles, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a5c13238dfec416439d75b133a272e6df}{get\+\_\+bkg\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+tiles, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$tiles) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a811c386cac0df2d260aacb5a43608be5}{set\+\_\+bkg\+\_\+based\+\_\+tiles}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$tiles, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+tile) +\item +void \mbox{\hyperlink{gb_8h_adb21d1c7d533a7133bab36a845489780}{set\+\_\+bkg\+\_\+submap}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$map, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} map\+\_\+w) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_abc8bc5808620a9717263b8c9ec2237f0}{set\+\_\+bkg\+\_\+based\+\_\+submap}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$map, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} map\+\_\+w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+tile) +\item +void \mbox{\hyperlink{gb_8h_aa6bcf24d97f93307b30f2906251f39a0}{get\+\_\+bkg\+\_\+tiles}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$tiles) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$ \mbox{\hyperlink{gb_8h_a74ee8f0a3495508c90de4ce246b81060}{set\+\_\+bkg\+\_\+tile\+\_\+xy}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} t) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_a55c6581dbe9300dc6df41730f090af51}{get\+\_\+bkg\+\_\+tile\+\_\+xy}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a6261537edc74068e3f7f057e6a3e8a57}{move\+\_\+bkg}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) +\item +void \mbox{\hyperlink{gb_8h_a1f583f7a880daa6145ca78b086a209d1}{scroll\+\_\+bkg}} (\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} y) +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$ \mbox{\hyperlink{gb_8h_aa8213cfad631865e3b6faec18e772cb4}{get\+\_\+win\+\_\+xy\+\_\+addr}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_ac2bf0c4919c30d322fa5853c896e710f}{set\+\_\+win\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+tiles, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_acd5ee7a94059e6edbe9223f291bc2b46}{set\+\_\+win\+\_\+1bpp\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+tiles, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a7ef32e7c1669aba48f235500a495baba}{get\+\_\+win\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+tiles, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a5c59b4ee6323af9832998906d087266b}{set\+\_\+win\+\_\+tiles}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$tiles) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a739a212609ae60c9c56c095f96b4ea80}{set\+\_\+win\+\_\+based\+\_\+tiles}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$tiles, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+tile) +\item +void \mbox{\hyperlink{gb_8h_af80befa3cad9cae361c7cf4fffb3a8de}{set\+\_\+win\+\_\+submap}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$map, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} map\+\_\+w) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{gb_8h_a1b8a1026983cb2b2c0bd46334b4692a0}{set\+\_\+win\+\_\+based\+\_\+submap}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$map, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} map\+\_\+w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+tile) +\item +void \mbox{\hyperlink{gb_8h_a8a469de4c6640f921254b336b5a6191a}{get\+\_\+win\+\_\+tiles}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$tiles) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$ \mbox{\hyperlink{gb_8h_a0c70a53db1fbc0c99627da3f282befd8}{set\+\_\+win\+\_\+tile\+\_\+xy}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} t) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_a2e29fdca81c28c627c2591029722e71c}{get\+\_\+win\+\_\+tile\+\_\+xy}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_aeef17768c494bcd6b67f7591329f7ff5}{move\+\_\+win}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) +\item +void \mbox{\hyperlink{gb_8h_a12c2b5ac249d01caf1561cbbf3962044}{scroll\+\_\+win}} (\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} y) +\item +void \mbox{\hyperlink{gb_8h_ae45b1c639698951b47e44fa8e89556f2}{set\+\_\+sprite\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+tiles, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_ab3e60c92c9f8fbed855f8712187ea3ea}{set\+\_\+sprite\+\_\+1bpp\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+tiles, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_adcdec4034a14abc5be9bb88c29b947c9}{get\+\_\+sprite\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+tiles, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a7e0cdfd6b9a2ae1b7f30384f132d8687}{S\+E\+T\+\_\+\+S\+H\+A\+D\+O\+W\+\_\+\+O\+A\+M\+\_\+\+A\+D\+D\+R\+E\+SS}} (void $\ast$address) +\item +void \mbox{\hyperlink{gb_8h_a05bf0b9f1328de7b568a19a2a428bcfe}{set\+\_\+sprite\+\_\+tile}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} tile) +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_af5c0beff7d7a7d8641b51fd95c811b2a}{get\+\_\+sprite\+\_\+tile}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb) +\item +void \mbox{\hyperlink{gb_8h_a99ea3252469e3614e977cce2aa1d06f7}{set\+\_\+sprite\+\_\+prop}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} prop) +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_a6b873c807c9e2c90fb574951e85fdf88}{get\+\_\+sprite\+\_\+prop}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb) +\item +void \mbox{\hyperlink{gb_8h_ab42c12c1d9aed3fd963248fbea9830cd}{move\+\_\+sprite}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) +\item +void \mbox{\hyperlink{gb_8h_a6c59aa9a4f9ea42bed6ca6940b2741fe}{scroll\+\_\+sprite}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb, \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} y) +\item +void \mbox{\hyperlink{gb_8h_ad22c51635d052399bbbe1777999c794d}{hide\+\_\+sprite}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb) +\item +void \mbox{\hyperlink{gb_8h_a650d2df96e69a40b70548ab468e00f25}{set\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$vram\+\_\+addr, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} len) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_afd8fd71eaa36b0ddd54a2e8e516ed224}{get\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$vram\+\_\+addr, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} len) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a36f9e5d95c2d7d58f203b5ac358e25e7}{vmemcpy}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$dest, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$sour, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} len) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a9b205ee302f54cb96ee59aac6d53a91c}{set\+\_\+tiles}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$vram\+\_\+addr, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$tiles) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_abe4846d4570b4880b0e54b9e503f4d30}{set\+\_\+tile\+\_\+data}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+tiles, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a728b9440accedc5fb3477be3d150323a}{get\+\_\+tiles}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$vram\+\_\+addr, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$tiles) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a68651e50243349b48164a8ad983dca4e}{set\+\_\+native\+\_\+tile\+\_\+data}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} first\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+tiles, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$data) +\item +void \mbox{\hyperlink{gb_8h_af6ac67037de041eb0141ba3725b1db83}{init\+\_\+win}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a46058204097dd305bf72bc20ea7f7a3b}{init\+\_\+bkg}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a97bab71effd5e4e386629cb6ca5816cf}{vmemset}} (void $\ast$s, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} n) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a74c3f53fca019f7abcd1270650808849}{fill\+\_\+bkg\+\_\+rect}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} tile) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_ad5bc3dc922707507aa51ed7f5b4a21e3}{fill\+\_\+win\+\_\+rect}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} tile) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_a539b7b45b1c2d6b2051553665c76fd36}{\+\_\+is\+\_\+\+G\+BA}} +\item +volatile \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{gb_8h_a78d2fd18666afec116f176d46debb4e7}{sys\+\_\+time}} +\item +volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_a2e3415ce2f7fb63427618bd9b9cb6635}{\+\_\+io\+\_\+status}} +\item +volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_a02f3a1585ae654444e628c1aa98ef0cf}{\+\_\+io\+\_\+in}} +\item +volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_acae13736da20f9fc53e8d38934aa2119}{\+\_\+io\+\_\+out}} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_8h_a98b848953a95ce2fff6fda643575d74a}{\+\_\+current\+\_\+bank}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_af79b920bcb642bba2e652874c4f7eeff}{l}} +\item +void \mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{gb_8h_a0a3d95ad0ab8ad213016101d2e9c3d3e}{d}} +\item +void \mbox{\hyperlink{gb_8h_aeda4515a31485c9688c4601ac5ce2d79}{e}} +\item +\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{gb_8h_a250f5339e05523912926be566e9eb8c0}{\+\_\+current\+\_\+1bpp\+\_\+colors}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_aa82205e9629f984d0b3dc8055c211522}{\+\_\+map\+\_\+tile\+\_\+offset}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{gb_8h_ab472d9bbb1bcfd141374f5babc71934c}{\+\_\+submap\+\_\+tile\+\_\+offset}} +\item +volatile struct \mbox{\hyperlink{struct_o_a_m__item__t}{O\+A\+M\+\_\+item\+\_\+t}} \mbox{\hyperlink{gb_8h_a3619f9cb1e3c92238a033ead79a0c551}{shadow\+\_\+\+O\+AM}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \mbox{\hyperlink{gb_8h_a7b662ae4d83f9837bacb9fd580673054}{\+\_\+shadow\+\_\+\+O\+A\+M\+\_\+base}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Gameboy specific functions. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{gb_8h_a385397587c93683e8e11afb712e2960b}\label{gb_8h_a385397587c93683e8e11afb712e2960b}} +\index{gb.h@{gb.h}!NINTENDO@{NINTENDO}} +\index{NINTENDO@{NINTENDO}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{NINTENDO}{NINTENDO}} +{\footnotesize\ttfamily \#define N\+I\+N\+T\+E\+N\+DO} + +\mbox{\Hypertarget{gb_8h_af10046e88cba47031142a763a94210df}\label{gb_8h_af10046e88cba47031142a763a94210df}} +\index{gb.h@{gb.h}!GAMEBOY@{GAMEBOY}} +\index{GAMEBOY@{GAMEBOY}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{GAMEBOY}{GAMEBOY}} +{\footnotesize\ttfamily \#define G\+A\+M\+E\+B\+OY} + +\mbox{\Hypertarget{gb_8h_a05ca817ab32f6da612c3ae26db5abf02}\label{gb_8h_a05ca817ab32f6da612c3ae26db5abf02}} +\index{gb.h@{gb.h}!J\_UP@{J\_UP}} +\index{J\_UP@{J\_UP}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{J\_UP}{J\_UP}} +{\footnotesize\ttfamily \#define J\+\_\+\+UP~0x04U} + +Joypad bits. A logical OR of these is used in the wait\+\_\+pad and joypad functions. For example, to see if the B button is pressed try + +uint8\+\_\+t keys; keys = \mbox{\hyperlink{gb_8h_a176c477d759b814664785f3a0ad5e253}{joypad()}}; if (keys \& J\+\_\+B) \{ ... \} + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a176c477d759b814664785f3a0ad5e253}{joypad}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ae032c5c544196e37ec0432f6cfad7904}\label{gb_8h_ae032c5c544196e37ec0432f6cfad7904}} +\index{gb.h@{gb.h}!J\_DOWN@{J\_DOWN}} +\index{J\_DOWN@{J\_DOWN}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{J\_DOWN}{J\_DOWN}} +{\footnotesize\ttfamily \#define J\+\_\+\+D\+O\+WN~0x08U} + +\mbox{\Hypertarget{gb_8h_ac70894fecac30c1ca9917f07373cf81c}\label{gb_8h_ac70894fecac30c1ca9917f07373cf81c}} +\index{gb.h@{gb.h}!J\_LEFT@{J\_LEFT}} +\index{J\_LEFT@{J\_LEFT}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{J\_LEFT}{J\_LEFT}} +{\footnotesize\ttfamily \#define J\+\_\+\+L\+E\+FT~0x02U} + +\mbox{\Hypertarget{gb_8h_a3bad91d11ae09ffcbb3cb0a81873d325}\label{gb_8h_a3bad91d11ae09ffcbb3cb0a81873d325}} +\index{gb.h@{gb.h}!J\_RIGHT@{J\_RIGHT}} +\index{J\_RIGHT@{J\_RIGHT}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{J\_RIGHT}{J\_RIGHT}} +{\footnotesize\ttfamily \#define J\+\_\+\+R\+I\+G\+HT~0x01U} + +\mbox{\Hypertarget{gb_8h_a31af766e3b598eb7a6b63f55a4988e7a}\label{gb_8h_a31af766e3b598eb7a6b63f55a4988e7a}} +\index{gb.h@{gb.h}!J\_A@{J\_A}} +\index{J\_A@{J\_A}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{J\_A}{J\_A}} +{\footnotesize\ttfamily \#define J\+\_\+A~0x10U} + +\mbox{\Hypertarget{gb_8h_ae47e59a309120f9420993f26816b5e6d}\label{gb_8h_ae47e59a309120f9420993f26816b5e6d}} +\index{gb.h@{gb.h}!J\_B@{J\_B}} +\index{J\_B@{J\_B}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{J\_B}{J\_B}} +{\footnotesize\ttfamily \#define J\+\_\+B~0x20U} + +\mbox{\Hypertarget{gb_8h_ab416a9d96d1582490828f4bac78a8b5b}\label{gb_8h_ab416a9d96d1582490828f4bac78a8b5b}} +\index{gb.h@{gb.h}!J\_SELECT@{J\_SELECT}} +\index{J\_SELECT@{J\_SELECT}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{J\_SELECT}{J\_SELECT}} +{\footnotesize\ttfamily \#define J\+\_\+\+S\+E\+L\+E\+CT~0x40U} + +\mbox{\Hypertarget{gb_8h_ab769c6e20778298be8bc3321476ceb53}\label{gb_8h_ab769c6e20778298be8bc3321476ceb53}} +\index{gb.h@{gb.h}!J\_START@{J\_START}} +\index{J\_START@{J\_START}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{J\_START}{J\_START}} +{\footnotesize\ttfamily \#define J\+\_\+\+S\+T\+A\+RT~0x80U} + +\mbox{\Hypertarget{gb_8h_acc9798fc62b5d626c91c8b0f20b522ff}\label{gb_8h_acc9798fc62b5d626c91c8b0f20b522ff}} +\index{gb.h@{gb.h}!M\_DRAWING@{M\_DRAWING}} +\index{M\_DRAWING@{M\_DRAWING}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{M\_DRAWING}{M\_DRAWING}} +{\footnotesize\ttfamily \#define M\+\_\+\+D\+R\+A\+W\+I\+NG~0x01U} + +Screen modes. Normally used by internal functions only. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a3ea524204d839377cf39842eec23e202}{mode()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_af0e30d6af308ffe5a025fbe85da40f6f}\label{gb_8h_af0e30d6af308ffe5a025fbe85da40f6f}} +\index{gb.h@{gb.h}!M\_TEXT\_OUT@{M\_TEXT\_OUT}} +\index{M\_TEXT\_OUT@{M\_TEXT\_OUT}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{M\_TEXT\_OUT}{M\_TEXT\_OUT}} +{\footnotesize\ttfamily \#define M\+\_\+\+T\+E\+X\+T\+\_\+\+O\+UT~0x02U} + +\mbox{\Hypertarget{gb_8h_a908826e7180f94a5988ceb8633313a2e}\label{gb_8h_a908826e7180f94a5988ceb8633313a2e}} +\index{gb.h@{gb.h}!M\_TEXT\_INOUT@{M\_TEXT\_INOUT}} +\index{M\_TEXT\_INOUT@{M\_TEXT\_INOUT}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{M\_TEXT\_INOUT}{M\_TEXT\_INOUT}} +{\footnotesize\ttfamily \#define M\+\_\+\+T\+E\+X\+T\+\_\+\+I\+N\+O\+UT~0x03U} + +\mbox{\Hypertarget{gb_8h_a04382de20738146fe873ddfb0585052b}\label{gb_8h_a04382de20738146fe873ddfb0585052b}} +\index{gb.h@{gb.h}!M\_NO\_SCROLL@{M\_NO\_SCROLL}} +\index{M\_NO\_SCROLL@{M\_NO\_SCROLL}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{M\_NO\_SCROLL}{M\_NO\_SCROLL}} +{\footnotesize\ttfamily \#define M\+\_\+\+N\+O\+\_\+\+S\+C\+R\+O\+LL~0x04U} + +Set this in addition to the others to disable scrolling + +If scrolling is disabled, the cursor returns to (0,0) \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a3ea524204d839377cf39842eec23e202}{mode()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_aca2855edd2d28f66be551a0f7ec23f07}\label{gb_8h_aca2855edd2d28f66be551a0f7ec23f07}} +\index{gb.h@{gb.h}!M\_NO\_INTERP@{M\_NO\_INTERP}} +\index{M\_NO\_INTERP@{M\_NO\_INTERP}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{M\_NO\_INTERP}{M\_NO\_INTERP}} +{\footnotesize\ttfamily \#define M\+\_\+\+N\+O\+\_\+\+I\+N\+T\+E\+RP~0x08U} + +Set this to disable interpretation \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a3ea524204d839377cf39842eec23e202}{mode()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a54572cf6791463b6d60623837e0bb5a6}\label{gb_8h_a54572cf6791463b6d60623837e0bb5a6}} +\index{gb.h@{gb.h}!S\_PALETTE@{S\_PALETTE}} +\index{S\_PALETTE@{S\_PALETTE}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{S\_PALETTE}{S\_PALETTE}} +{\footnotesize\ttfamily \#define S\+\_\+\+P\+A\+L\+E\+T\+TE~0x10U} + +If this is set, sprite colours come from O\+B\+J1\+P\+AL. Else they come from O\+B\+J0\+P\+AL \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a99ea3252469e3614e977cce2aa1d06f7}{set\+\_\+sprite\+\_\+prop()}}. +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ae97793b4039609f93b0f7f8bddb18011}\label{gb_8h_ae97793b4039609f93b0f7f8bddb18011}} +\index{gb.h@{gb.h}!S\_FLIPX@{S\_FLIPX}} +\index{S\_FLIPX@{S\_FLIPX}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{S\_FLIPX}{S\_FLIPX}} +{\footnotesize\ttfamily \#define S\+\_\+\+F\+L\+I\+PX~0x20U} + +If set the sprite will be flipped horizontally. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a99ea3252469e3614e977cce2aa1d06f7}{set\+\_\+sprite\+\_\+prop()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a4bbb9cd6c38b2317de5256d1d889c63b}\label{gb_8h_a4bbb9cd6c38b2317de5256d1d889c63b}} +\index{gb.h@{gb.h}!S\_FLIPY@{S\_FLIPY}} +\index{S\_FLIPY@{S\_FLIPY}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{S\_FLIPY}{S\_FLIPY}} +{\footnotesize\ttfamily \#define S\+\_\+\+F\+L\+I\+PY~0x40U} + +If set the sprite will be flipped vertically. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a99ea3252469e3614e977cce2aa1d06f7}{set\+\_\+sprite\+\_\+prop()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a9506d04c2ec7d2442a52054f67d2b32f}\label{gb_8h_a9506d04c2ec7d2442a52054f67d2b32f}} +\index{gb.h@{gb.h}!S\_PRIORITY@{S\_PRIORITY}} +\index{S\_PRIORITY@{S\_PRIORITY}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{S\_PRIORITY}{S\_PRIORITY}} +{\footnotesize\ttfamily \#define S\+\_\+\+P\+R\+I\+O\+R\+I\+TY~0x80U} + +If this bit is clear, then the sprite will be displayed on top of the background and window. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a99ea3252469e3614e977cce2aa1d06f7}{set\+\_\+sprite\+\_\+prop()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_aa027abe630d44039f238034bcb2d2f36}\label{gb_8h_aa027abe630d44039f238034bcb2d2f36}} +\index{gb.h@{gb.h}!EMPTY\_IFLAG@{EMPTY\_IFLAG}} +\index{EMPTY\_IFLAG@{EMPTY\_IFLAG}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{EMPTY\_IFLAG}{EMPTY\_IFLAG}} +{\footnotesize\ttfamily \#define E\+M\+P\+T\+Y\+\_\+\+I\+F\+L\+AG~0x00U} + +Disable calling of interrupt service routines \mbox{\Hypertarget{gb_8h_a2ca7720b9a5da9b2173e1f74dba85541}\label{gb_8h_a2ca7720b9a5da9b2173e1f74dba85541}} +\index{gb.h@{gb.h}!VBL\_IFLAG@{VBL\_IFLAG}} +\index{VBL\_IFLAG@{VBL\_IFLAG}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{VBL\_IFLAG}{VBL\_IFLAG}} +{\footnotesize\ttfamily \#define V\+B\+L\+\_\+\+I\+F\+L\+AG~0x01U} + +V\+Blank Interrupt occurs at the start of the vertical blank. + +During this period the video ram may be freely accessed. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts()}}, + +\mbox{\hyperlink{gb_8h_a0d29659d08708143dd8bc720278e06b5}{add\+\_\+\+V\+BL}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a61a9e2910380de6abb34df14ef634eb4}\label{gb_8h_a61a9e2910380de6abb34df14ef634eb4}} +\index{gb.h@{gb.h}!LCD\_IFLAG@{LCD\_IFLAG}} +\index{LCD\_IFLAG@{LCD\_IFLAG}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{LCD\_IFLAG}{LCD\_IFLAG}} +{\footnotesize\ttfamily \#define L\+C\+D\+\_\+\+I\+F\+L\+AG~0x02U} + +L\+CD Interrupt when triggered by the S\+T\+AT register. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts()}}, + +\mbox{\hyperlink{gb_8h_a9f9f77105099a34556247d5bb03368d1}{add\+\_\+\+L\+CD}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a604256210ec5b90b68185e1a18efab49}\label{gb_8h_a604256210ec5b90b68185e1a18efab49}} +\index{gb.h@{gb.h}!TIM\_IFLAG@{TIM\_IFLAG}} +\index{TIM\_IFLAG@{TIM\_IFLAG}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{TIM\_IFLAG}{TIM\_IFLAG}} +{\footnotesize\ttfamily \#define T\+I\+M\+\_\+\+I\+F\+L\+AG~0x04U} + +Timer Interrupt when the timer \mbox{\hyperlink{gb_2hardware_8h_a9d295bb437953de5ebcb3c12d65743aa}{T\+I\+M\+A\+\_\+\+R\+EG}} overflows. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts()}}, + +\mbox{\hyperlink{gb_8h_a028d1a2e820951bb4f103d6469975ffb}{add\+\_\+\+T\+IM}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ad90564458646c5646b3880b93db3443e}\label{gb_8h_ad90564458646c5646b3880b93db3443e}} +\index{gb.h@{gb.h}!SIO\_IFLAG@{SIO\_IFLAG}} +\index{SIO\_IFLAG@{SIO\_IFLAG}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SIO\_IFLAG}{SIO\_IFLAG}} +{\footnotesize\ttfamily \#define S\+I\+O\+\_\+\+I\+F\+L\+AG~0x08U} + +Serial Link Interrupt occurs when the serial transfer has completed. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts()}}, + +\mbox{\hyperlink{gb_8h_aa82422752016328ed0765879e286019f}{add\+\_\+\+S\+IO}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a2f829cf27d6e3e24c875e9b82dfcb280}\label{gb_8h_a2f829cf27d6e3e24c875e9b82dfcb280}} +\index{gb.h@{gb.h}!JOY\_IFLAG@{JOY\_IFLAG}} +\index{JOY\_IFLAG@{JOY\_IFLAG}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{JOY\_IFLAG}{JOY\_IFLAG}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+I\+F\+L\+AG~0x10U} + +Joypad Interrupt occurs on a transition of the keypad. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts()}}, + +\mbox{\hyperlink{gb_8h_aa2f0235e78da2d1d94d3628d7a1afc30}{add\+\_\+\+J\+OY}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ab311e53739c992294ae07ca506a924ad}\label{gb_8h_ab311e53739c992294ae07ca506a924ad}} +\index{gb.h@{gb.h}!DMG\_BLACK@{DMG\_BLACK}} +\index{DMG\_BLACK@{DMG\_BLACK}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DMG\_BLACK}{DMG\_BLACK}} +{\footnotesize\ttfamily \#define D\+M\+G\+\_\+\+B\+L\+A\+CK~0x03} + +\mbox{\Hypertarget{gb_8h_a45d13a674e169dd83df7e1f46513ccba}\label{gb_8h_a45d13a674e169dd83df7e1f46513ccba}} +\index{gb.h@{gb.h}!DMG\_DARK\_GRAY@{DMG\_DARK\_GRAY}} +\index{DMG\_DARK\_GRAY@{DMG\_DARK\_GRAY}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DMG\_DARK\_GRAY}{DMG\_DARK\_GRAY}} +{\footnotesize\ttfamily \#define D\+M\+G\+\_\+\+D\+A\+R\+K\+\_\+\+G\+R\+AY~0x02} + +\mbox{\Hypertarget{gb_8h_a8ccd6732d3bdf390cc0943e8567341f3}\label{gb_8h_a8ccd6732d3bdf390cc0943e8567341f3}} +\index{gb.h@{gb.h}!DMG\_LITE\_GRAY@{DMG\_LITE\_GRAY}} +\index{DMG\_LITE\_GRAY@{DMG\_LITE\_GRAY}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DMG\_LITE\_GRAY}{DMG\_LITE\_GRAY}} +{\footnotesize\ttfamily \#define D\+M\+G\+\_\+\+L\+I\+T\+E\+\_\+\+G\+R\+AY~0x01} + +\mbox{\Hypertarget{gb_8h_a11cedc2ee58acfbbfc48dfb2b9a551b3}\label{gb_8h_a11cedc2ee58acfbbfc48dfb2b9a551b3}} +\index{gb.h@{gb.h}!DMG\_WHITE@{DMG\_WHITE}} +\index{DMG\_WHITE@{DMG\_WHITE}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DMG\_WHITE}{DMG\_WHITE}} +{\footnotesize\ttfamily \#define D\+M\+G\+\_\+\+W\+H\+I\+TE~0x00} + +\mbox{\Hypertarget{gb_8h_a9727caafc483ba6ec65e9344b033d684}\label{gb_8h_a9727caafc483ba6ec65e9344b033d684}} +\index{gb.h@{gb.h}!DMG\_PALETTE@{DMG\_PALETTE}} +\index{DMG\_PALETTE@{DMG\_PALETTE}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DMG\_PALETTE}{DMG\_PALETTE}} +{\footnotesize\ttfamily \#define D\+M\+G\+\_\+\+P\+A\+L\+E\+T\+TE(\begin{DoxyParamCaption}\item[{}]{C0, }\item[{}]{C1, }\item[{}]{C2, }\item[{}]{C3 }\end{DoxyParamCaption})~((\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}})((((C3) \& 0x03) $<$$<$ 6) $\vert$ (((C2) \& 0x03) $<$$<$ 4) $\vert$ (((C1) \& 0x03) $<$$<$ 2) $\vert$ ((C0) \& 0x03)))} + +Macro to create a D\+MG palette from 4 colors + + +\begin{DoxyParams}{Parameters} +{\em C0} & Color for Index 0 \\ +\hline +{\em C1} & Color for Index 1 \\ +\hline +{\em C2} & Color for Index 2 \\ +\hline +{\em C3} & Color for Index 3\\ +\hline +\end{DoxyParams} +The resulting format is four greyscale colors packed into a single unsigned byte. + +Example\+: +\begin{DoxyCode}{0} +\DoxyCodeLine{REG\_BGP = \mbox{\hyperlink{gb_8h_a9727caafc483ba6ec65e9344b033d684}{DMG\_PALETTE}}(\mbox{\hyperlink{gb_8h_ab311e53739c992294ae07ca506a924ad}{DMG\_BLACK}}, \mbox{\hyperlink{gb_8h_a45d13a674e169dd83df7e1f46513ccba}{DMG\_DARK\_GRAY}}, \mbox{\hyperlink{gb_8h_a8ccd6732d3bdf390cc0943e8567341f3}{DMG\_LITE\_GRAY}}, \mbox{\hyperlink{gb_8h_a11cedc2ee58acfbbfc48dfb2b9a551b3}{DMG\_WHITE}});} +\end{DoxyCode} + + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_2hardware_8h_a13f3e89f7b92258d825292e5058815c7}{O\+B\+P0\+\_\+\+R\+EG}}, \mbox{\hyperlink{gb_2hardware_8h_a9da545164e049ef773128f869daece13}{O\+B\+P1\+\_\+\+R\+EG}}, \mbox{\hyperlink{gb_2hardware_8h_af577ba87ec3d13d7415e4c4a53cdf997}{B\+G\+P\+\_\+\+R\+EG}} + +\mbox{\hyperlink{gb_8h_ab311e53739c992294ae07ca506a924ad}{D\+M\+G\+\_\+\+B\+L\+A\+CK}}, \mbox{\hyperlink{gb_8h_a45d13a674e169dd83df7e1f46513ccba}{D\+M\+G\+\_\+\+D\+A\+R\+K\+\_\+\+G\+R\+AY}}, \mbox{\hyperlink{gb_8h_a8ccd6732d3bdf390cc0943e8567341f3}{D\+M\+G\+\_\+\+L\+I\+T\+E\+\_\+\+G\+R\+AY}}, \mbox{\hyperlink{gb_8h_a11cedc2ee58acfbbfc48dfb2b9a551b3}{D\+M\+G\+\_\+\+W\+H\+I\+TE}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ada0cc738d27aad251151e69cb8d250e1}\label{gb_8h_ada0cc738d27aad251151e69cb8d250e1}} +\index{gb.h@{gb.h}!SCREENWIDTH@{SCREENWIDTH}} +\index{SCREENWIDTH@{SCREENWIDTH}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SCREENWIDTH}{SCREENWIDTH}} +{\footnotesize\ttfamily \#define S\+C\+R\+E\+E\+N\+W\+I\+D\+TH~\mbox{\hyperlink{sms_2hardware_8h_ad14c51cdfb347c34c364f54e67dc978d}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+W\+I\+D\+TH}}} + +Width of the visible screen in pixels. \mbox{\Hypertarget{gb_8h_ae189e98d0ef9263c37869ce1ff3710a5}\label{gb_8h_ae189e98d0ef9263c37869ce1ff3710a5}} +\index{gb.h@{gb.h}!SCREENHEIGHT@{SCREENHEIGHT}} +\index{SCREENHEIGHT@{SCREENHEIGHT}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SCREENHEIGHT}{SCREENHEIGHT}} +{\footnotesize\ttfamily \#define S\+C\+R\+E\+E\+N\+H\+E\+I\+G\+HT~\mbox{\hyperlink{sms_2hardware_8h_a7bd450aa268b881257089cf8cd6697ec}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+H\+E\+I\+G\+HT}}} + +Height of the visible screen in pixels. \mbox{\Hypertarget{gb_8h_a5a796bbf3e4347d914b83568350143a9}\label{gb_8h_a5a796bbf3e4347d914b83568350143a9}} +\index{gb.h@{gb.h}!MINWNDPOSX@{MINWNDPOSX}} +\index{MINWNDPOSX@{MINWNDPOSX}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{MINWNDPOSX}{MINWNDPOSX}} +{\footnotesize\ttfamily \#define M\+I\+N\+W\+N\+D\+P\+O\+SX~0x07U} + +The Minimum X position of the Window Layer (Left edge of screen) \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aeef17768c494bcd6b67f7591329f7ff5}{move\+\_\+win()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_af3d632ba2d7cef6619df5dfea8730909}\label{gb_8h_af3d632ba2d7cef6619df5dfea8730909}} +\index{gb.h@{gb.h}!MINWNDPOSY@{MINWNDPOSY}} +\index{MINWNDPOSY@{MINWNDPOSY}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{MINWNDPOSY}{MINWNDPOSY}} +{\footnotesize\ttfamily \#define M\+I\+N\+W\+N\+D\+P\+O\+SY~0x00U} + +The Minimum Y position of the Window Layer (Top edge of screen) \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aeef17768c494bcd6b67f7591329f7ff5}{move\+\_\+win()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a6dffb66ec1b1d9bb380a1af52a601ec5}\label{gb_8h_a6dffb66ec1b1d9bb380a1af52a601ec5}} +\index{gb.h@{gb.h}!MAXWNDPOSX@{MAXWNDPOSX}} +\index{MAXWNDPOSX@{MAXWNDPOSX}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{MAXWNDPOSX}{MAXWNDPOSX}} +{\footnotesize\ttfamily \#define M\+A\+X\+W\+N\+D\+P\+O\+SX~0x\+A6U} + +The Maximum X position of the Window Layer (Right edge of screen) \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aeef17768c494bcd6b67f7591329f7ff5}{move\+\_\+win()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ad57f2f8c54204687f02801d8ab1bd150}\label{gb_8h_ad57f2f8c54204687f02801d8ab1bd150}} +\index{gb.h@{gb.h}!MAXWNDPOSY@{MAXWNDPOSY}} +\index{MAXWNDPOSY@{MAXWNDPOSY}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{MAXWNDPOSY}{MAXWNDPOSY}} +{\footnotesize\ttfamily \#define M\+A\+X\+W\+N\+D\+P\+O\+SY~0x8\+FU} + +The Maximum Y position of the Window Layer (Bottom edge of screen) \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aeef17768c494bcd6b67f7591329f7ff5}{move\+\_\+win()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a0031c07799247a6d6c1bfa3decac79d0}\label{gb_8h_a0031c07799247a6d6c1bfa3decac79d0}} +\index{gb.h@{gb.h}!DMG\_TYPE@{DMG\_TYPE}} +\index{DMG\_TYPE@{DMG\_TYPE}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DMG\_TYPE}{DMG\_TYPE}} +{\footnotesize\ttfamily \#define D\+M\+G\+\_\+\+T\+Y\+PE~0x01} + +Hardware Model\+: Original GB or Super GB. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ae996ed4fd8bb6b308b9c8708a91df06b}\label{gb_8h_ae996ed4fd8bb6b308b9c8708a91df06b}} +\index{gb.h@{gb.h}!MGB\_TYPE@{MGB\_TYPE}} +\index{MGB\_TYPE@{MGB\_TYPE}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{MGB\_TYPE}{MGB\_TYPE}} +{\footnotesize\ttfamily \#define M\+G\+B\+\_\+\+T\+Y\+PE~0x\+FF} + +Hardware Model\+: Pocket GB or Super GB 2. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_aee435a3a0dde3dbd7b6112dbb456cde8}\label{gb_8h_aee435a3a0dde3dbd7b6112dbb456cde8}} +\index{gb.h@{gb.h}!CGB\_TYPE@{CGB\_TYPE}} +\index{CGB\_TYPE@{CGB\_TYPE}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{CGB\_TYPE}{CGB\_TYPE}} +{\footnotesize\ttfamily \#define C\+G\+B\+\_\+\+T\+Y\+PE~0x11} + +Hardware Model\+: Color GB. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_aa311f84dd9fce6e136ba4881e7b0d98d}\label{gb_8h_aa311f84dd9fce6e136ba4881e7b0d98d}} +\index{gb.h@{gb.h}!GBA\_NOT\_DETECTED@{GBA\_NOT\_DETECTED}} +\index{GBA\_NOT\_DETECTED@{GBA\_NOT\_DETECTED}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{GBA\_NOT\_DETECTED}{GBA\_NOT\_DETECTED}} +{\footnotesize\ttfamily \#define G\+B\+A\+\_\+\+N\+O\+T\+\_\+\+D\+E\+T\+E\+C\+T\+ED~0x00} + +Hardware Model\+: D\+MG, C\+GB or M\+GB. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}}, \mbox{\hyperlink{gb_8h_a539b7b45b1c2d6b2051553665c76fd36}{\+\_\+is\+\_\+\+G\+BA}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a6ccf5d0f34fb0af0b6e73b9df0ccd745}\label{gb_8h_a6ccf5d0f34fb0af0b6e73b9df0ccd745}} +\index{gb.h@{gb.h}!GBA\_DETECTED@{GBA\_DETECTED}} +\index{GBA\_DETECTED@{GBA\_DETECTED}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{GBA\_DETECTED}{GBA\_DETECTED}} +{\footnotesize\ttfamily \#define G\+B\+A\+\_\+\+D\+E\+T\+E\+C\+T\+ED~0x01} + +Hardware Model\+: G\+BA. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}}, \mbox{\hyperlink{gb_8h_a539b7b45b1c2d6b2051553665c76fd36}{\+\_\+is\+\_\+\+G\+BA}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a231ec05679809190782e61c6e8aaaba4}\label{gb_8h_a231ec05679809190782e61c6e8aaaba4}} +\index{gb.h@{gb.h}!DEVICE\_SUPPORTS\_COLOR@{DEVICE\_SUPPORTS\_COLOR}} +\index{DEVICE\_SUPPORTS\_COLOR@{DEVICE\_SUPPORTS\_COLOR}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SUPPORTS\_COLOR}{DEVICE\_SUPPORTS\_COLOR}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+U\+P\+P\+O\+R\+T\+S\+\_\+\+C\+O\+L\+OR~(\mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}} == \mbox{\hyperlink{gb_8h_aee435a3a0dde3dbd7b6112dbb456cde8}{C\+G\+B\+\_\+\+T\+Y\+PE}})} + +Macro returns T\+R\+UE if device supports color \mbox{\Hypertarget{gb_8h_a268cc6c704e16f3fa02dd1cf0e17070a}\label{gb_8h_a268cc6c704e16f3fa02dd1cf0e17070a}} +\index{gb.h@{gb.h}!IO\_IDLE@{IO\_IDLE}} +\index{IO\_IDLE@{IO\_IDLE}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{IO\_IDLE}{IO\_IDLE}} +{\footnotesize\ttfamily \#define I\+O\+\_\+\+I\+D\+LE~0x00U} + +Serial Link IO is completed \mbox{\Hypertarget{gb_8h_ab69a3f7cd2c6b5eb4f518aefee099007}\label{gb_8h_ab69a3f7cd2c6b5eb4f518aefee099007}} +\index{gb.h@{gb.h}!IO\_SENDING@{IO\_SENDING}} +\index{IO\_SENDING@{IO\_SENDING}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{IO\_SENDING}{IO\_SENDING}} +{\footnotesize\ttfamily \#define I\+O\+\_\+\+S\+E\+N\+D\+I\+NG~0x01U} + +Serial Link Sending data \mbox{\Hypertarget{gb_8h_aee03efddee0f2f6fbcaec789301aaa9b}\label{gb_8h_aee03efddee0f2f6fbcaec789301aaa9b}} +\index{gb.h@{gb.h}!IO\_RECEIVING@{IO\_RECEIVING}} +\index{IO\_RECEIVING@{IO\_RECEIVING}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{IO\_RECEIVING}{IO\_RECEIVING}} +{\footnotesize\ttfamily \#define I\+O\+\_\+\+R\+E\+C\+E\+I\+V\+I\+NG~0x02U} + +Serial Link Receiving data \mbox{\Hypertarget{gb_8h_a5d4c9c7b61a0326a939f9109f96d7423}\label{gb_8h_a5d4c9c7b61a0326a939f9109f96d7423}} +\index{gb.h@{gb.h}!IO\_ERROR@{IO\_ERROR}} +\index{IO\_ERROR@{IO\_ERROR}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{IO\_ERROR}{IO\_ERROR}} +{\footnotesize\ttfamily \#define I\+O\+\_\+\+E\+R\+R\+OR~0x04U} + +Serial Link Error \mbox{\Hypertarget{gb_8h_ae042588f20bf5a2349c8ad8716245233}\label{gb_8h_ae042588f20bf5a2349c8ad8716245233}} +\index{gb.h@{gb.h}!CURRENT\_BANK@{CURRENT\_BANK}} +\index{CURRENT\_BANK@{CURRENT\_BANK}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{CURRENT\_BANK}{CURRENT\_BANK}} +{\footnotesize\ttfamily \#define C\+U\+R\+R\+E\+N\+T\+\_\+\+B\+A\+NK~\mbox{\hyperlink{gb_8h_a98b848953a95ce2fff6fda643575d74a}{\+\_\+current\+\_\+bank}}} + +\mbox{\Hypertarget{gb_8h_a42705001e2b9897f5167b67fb36c69dd}\label{gb_8h_a42705001e2b9897f5167b67fb36c69dd}} +\index{gb.h@{gb.h}!BANK@{BANK}} +\index{BANK@{BANK}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{BANK}{BANK}} +{\footnotesize\ttfamily \#define B\+A\+NK(\begin{DoxyParamCaption}\item[{}]{V\+A\+R\+N\+A\+ME }\end{DoxyParamCaption})~( (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}) \& \+\_\+\+\_\+bank\+\_\+ \#\# V\+A\+R\+N\+A\+ME )} + +Obtains the {\bfseries{bank number}} of V\+A\+R\+N\+A\+ME + + +\begin{DoxyParams}{Parameters} +{\em V\+A\+R\+N\+A\+ME} & Name of the variable which has a \+\_\+\+\_\+bank\+\_\+\+V\+A\+R\+N\+A\+ME companion symbol which is adjusted by bankpack\\ +\hline +\end{DoxyParams} +Use this to obtain the bank number from a bank reference created with \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}}. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a261bba55a07b802baf99346feadd9852}{B\+A\+N\+K\+R\+E\+F\+\_\+\+E\+X\+T\+E\+R\+N()}}, \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a086293f2afb4c7945460a4496b20aea3}\label{gb_8h_a086293f2afb4c7945460a4496b20aea3}} +\index{gb.h@{gb.h}!BANKREF@{BANKREF}} +\index{BANKREF@{BANKREF}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{BANKREF}{BANKREF}} +{\footnotesize\ttfamily \#define B\+A\+N\+K\+R\+EF(\begin{DoxyParamCaption}\item[{}]{V\+A\+R\+N\+A\+ME }\end{DoxyParamCaption})} + +{\bfseries Value\+:} +\begin{DoxyCode}{0} +\DoxyCodeLine{\textcolor{keywordtype}{void} \_\_func\_ \#\# VARNAME() \_\_banked \_\_naked \{ \(\backslash\)} +\DoxyCodeLine{\_\_asm \(\backslash\)} +\DoxyCodeLine{ .local b\_\_\_func\_ \#\# VARNAME \(\backslash\)} +\DoxyCodeLine{ \_\_\_bank\_ \#\# VARNAME = b\_\_\_func\_ \#\# VARNAME \(\backslash\)} +\DoxyCodeLine{ .globl \_\_\_bank\_ \#\# VARNAME \(\backslash\)} +\DoxyCodeLine{\_\_endasm; \(\backslash\)} +\DoxyCodeLine{\}} + +\end{DoxyCode} +Creates a reference for retrieving the bank number of a variable or function + + +\begin{DoxyParams}{Parameters} +{\em V\+A\+R\+N\+A\+ME} & Variable name to use, which may be an existing identifier\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+N\+K()}} for obtaining the bank number of the included data. +\end{DoxySeeAlso} +More than one {\ttfamily \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}}} may be created per file, but each call should always use a unique V\+A\+R\+N\+A\+ME. + +Use \mbox{\hyperlink{gb_8h_a261bba55a07b802baf99346feadd9852}{B\+A\+N\+K\+R\+E\+F\+\_\+\+E\+X\+T\+E\+R\+N()}} within another source file to make the variable and it\textquotesingle{}s data accesible there. \mbox{\Hypertarget{gb_8h_a261bba55a07b802baf99346feadd9852}\label{gb_8h_a261bba55a07b802baf99346feadd9852}} +\index{gb.h@{gb.h}!BANKREF\_EXTERN@{BANKREF\_EXTERN}} +\index{BANKREF\_EXTERN@{BANKREF\_EXTERN}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{BANKREF\_EXTERN}{BANKREF\_EXTERN}} +{\footnotesize\ttfamily \#define B\+A\+N\+K\+R\+E\+F\+\_\+\+E\+X\+T\+E\+RN(\begin{DoxyParamCaption}\item[{}]{V\+A\+R\+N\+A\+ME }\end{DoxyParamCaption})~extern const void \+\_\+\+\_\+bank\+\_\+ \#\# V\+A\+R\+N\+A\+ME;} + +Creates extern references for accessing a \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}} generated variable. + + +\begin{DoxyParams}{Parameters} +{\em V\+A\+R\+N\+A\+ME} & Name of the variable used with \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}}\\ +\hline +\end{DoxyParams} +This makes a \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}} reference in another source file accessible in the current file for use with \mbox{\hyperlink{gb_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+N\+K()}}. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}}, \mbox{\hyperlink{gb_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+N\+K()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a3fca2d0a22aa2717e62fed659caf4743}\label{gb_8h_a3fca2d0a22aa2717e62fed659caf4743}} +\index{gb.h@{gb.h}!SWITCH\_ROM\_MEGADUCK@{SWITCH\_ROM\_MEGADUCK}} +\index{SWITCH\_ROM\_MEGADUCK@{SWITCH\_ROM\_MEGADUCK}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_ROM\_MEGADUCK}{SWITCH\_ROM\_MEGADUCK}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+E\+G\+A\+D\+U\+CK(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} }\end{DoxyParamCaption})~ \mbox{\hyperlink{gb_8h_a98b848953a95ce2fff6fda643575d74a}{\+\_\+current\+\_\+bank}} = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}), $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x0001 = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})} + +Makes M\+E\+G\+A\+D\+U\+CK M\+BC switch the active R\+OM bank +\begin{DoxyParams}{Parameters} +{\em b} & R\+OM bank to switch to \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{gb_8h_a19558f5bbc9fea767f945001ae9cd13f}\label{gb_8h_a19558f5bbc9fea767f945001ae9cd13f}} +\index{gb.h@{gb.h}!SWITCH\_ROM\_MBC1@{SWITCH\_ROM\_MBC1}} +\index{SWITCH\_ROM\_MBC1@{SWITCH\_ROM\_MBC1}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_ROM\_MBC1}{SWITCH\_ROM\_MBC1}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C1(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} }\end{DoxyParamCaption})~ \mbox{\hyperlink{gb_8h_a98b848953a95ce2fff6fda643575d74a}{\+\_\+current\+\_\+bank}} = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}), $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x2000 = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})} + +Makes M\+B\+C1 and other compatible M\+B\+Cs switch the active R\+OM bank +\begin{DoxyParams}{Parameters} +{\em b} & R\+OM bank to switch to \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{gb_8h_a1e22a3b60368bb5f3705d625ac2d09cc}\label{gb_8h_a1e22a3b60368bb5f3705d625ac2d09cc}} +\index{gb.h@{gb.h}!SWITCH\_ROM@{SWITCH\_ROM}} +\index{SWITCH\_ROM@{SWITCH\_ROM}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_ROM}{SWITCH\_ROM}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+\+R\+OM~\mbox{\hyperlink{gb_8h_a19558f5bbc9fea767f945001ae9cd13f}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C1}}} + +Makes default platform M\+BC switch the active R\+OM bank +\begin{DoxyParams}{Parameters} +{\em b} & R\+OM bank to switch to (max 255)\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a19558f5bbc9fea767f945001ae9cd13f}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C1}}, \mbox{\hyperlink{gb_8h_a92d040284342702026eb19dab59b586e}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C5}}, \mbox{\hyperlink{gb_8h_a3fca2d0a22aa2717e62fed659caf4743}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+E\+G\+A\+D\+U\+CK}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a38ea3e4dfe02b8eae70df27f39d4a951}\label{gb_8h_a38ea3e4dfe02b8eae70df27f39d4a951}} +\index{gb.h@{gb.h}!SWITCH\_RAM\_MBC1@{SWITCH\_RAM\_MBC1}} +\index{SWITCH\_RAM\_MBC1@{SWITCH\_RAM\_MBC1}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_RAM\_MBC1}{SWITCH\_RAM\_MBC1}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C1(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} }\end{DoxyParamCaption})~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x4000 = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})} + +Switches S\+R\+AM bank on M\+B\+C1 and other compaticle M\+B\+Cs +\begin{DoxyParams}{Parameters} +{\em b} & S\+R\+AM bank to switch to \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{gb_8h_a6e40dcc763efd953181c7400642a9f69}\label{gb_8h_a6e40dcc763efd953181c7400642a9f69}} +\index{gb.h@{gb.h}!SWITCH\_RAM@{SWITCH\_RAM}} +\index{SWITCH\_RAM@{SWITCH\_RAM}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_RAM}{SWITCH\_RAM}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+\+R\+AM~\mbox{\hyperlink{gb_8h_a38ea3e4dfe02b8eae70df27f39d4a951}{S\+W\+I\+T\+C\+H\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C1}}} + +Switches S\+R\+AM bank on M\+B\+C1 and other compaticle M\+B\+Cs +\begin{DoxyParams}{Parameters} +{\em b} & S\+R\+AM bank to switch to\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a38ea3e4dfe02b8eae70df27f39d4a951}{S\+W\+I\+T\+C\+H\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C1}}, \mbox{\hyperlink{gb_8h_a361d5055a7ae880fc1c9d6e0d1164fd6}{S\+W\+I\+T\+C\+H\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C5}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ae202f64307ec00f6970ef9225e54646c}\label{gb_8h_ae202f64307ec00f6970ef9225e54646c}} +\index{gb.h@{gb.h}!ENABLE\_RAM\_MBC1@{ENABLE\_RAM\_MBC1}} +\index{ENABLE\_RAM\_MBC1@{ENABLE\_RAM\_MBC1}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{ENABLE\_RAM\_MBC1}{ENABLE\_RAM\_MBC1}} +{\footnotesize\ttfamily \#define E\+N\+A\+B\+L\+E\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C1~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x0000 = 0x0A} + +Enables S\+R\+AM on M\+B\+C1 \mbox{\Hypertarget{gb_8h_a0e9c88657beaac946231a4801481b97f}\label{gb_8h_a0e9c88657beaac946231a4801481b97f}} +\index{gb.h@{gb.h}!ENABLE\_RAM@{ENABLE\_RAM}} +\index{ENABLE\_RAM@{ENABLE\_RAM}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{ENABLE\_RAM}{ENABLE\_RAM}} +{\footnotesize\ttfamily \#define E\+N\+A\+B\+L\+E\+\_\+\+R\+AM~\mbox{\hyperlink{gb_8h_ae202f64307ec00f6970ef9225e54646c}{E\+N\+A\+B\+L\+E\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C1}}} + +\mbox{\Hypertarget{gb_8h_a177fadce938422926b186a8e42575d1d}\label{gb_8h_a177fadce938422926b186a8e42575d1d}} +\index{gb.h@{gb.h}!DISABLE\_RAM\_MBC1@{DISABLE\_RAM\_MBC1}} +\index{DISABLE\_RAM\_MBC1@{DISABLE\_RAM\_MBC1}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DISABLE\_RAM\_MBC1}{DISABLE\_RAM\_MBC1}} +{\footnotesize\ttfamily \#define D\+I\+S\+A\+B\+L\+E\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C1~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x0000 = 0x00} + +Disables S\+R\+AM on M\+B\+C1 \mbox{\Hypertarget{gb_8h_a649d27b5587de16a66176e03a1b8ebd5}\label{gb_8h_a649d27b5587de16a66176e03a1b8ebd5}} +\index{gb.h@{gb.h}!DISABLE\_RAM@{DISABLE\_RAM}} +\index{DISABLE\_RAM@{DISABLE\_RAM}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DISABLE\_RAM}{DISABLE\_RAM}} +{\footnotesize\ttfamily \#define D\+I\+S\+A\+B\+L\+E\+\_\+\+R\+AM~\mbox{\hyperlink{gb_8h_a177fadce938422926b186a8e42575d1d}{D\+I\+S\+A\+B\+L\+E\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C1}}} + +\mbox{\Hypertarget{gb_8h_a0c689c5a814f1c347c4d98f28ed6c7d6}\label{gb_8h_a0c689c5a814f1c347c4d98f28ed6c7d6}} +\index{gb.h@{gb.h}!SWITCH\_16\_8\_MODE\_MBC1@{SWITCH\_16\_8\_MODE\_MBC1}} +\index{SWITCH\_16\_8\_MODE\_MBC1@{SWITCH\_16\_8\_MODE\_MBC1}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_16\_8\_MODE\_MBC1}{SWITCH\_16\_8\_MODE\_MBC1}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+16\+\_\+8\+\_\+\+M\+O\+D\+E\+\_\+\+M\+B\+C1~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x6000 = 0x00} + +\mbox{\Hypertarget{gb_8h_aa5d64e386a00b373f22ffdc5a152c7ba}\label{gb_8h_aa5d64e386a00b373f22ffdc5a152c7ba}} +\index{gb.h@{gb.h}!SWITCH\_4\_32\_MODE\_MBC1@{SWITCH\_4\_32\_MODE\_MBC1}} +\index{SWITCH\_4\_32\_MODE\_MBC1@{SWITCH\_4\_32\_MODE\_MBC1}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_4\_32\_MODE\_MBC1}{SWITCH\_4\_32\_MODE\_MBC1}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+4\+\_\+32\+\_\+\+M\+O\+D\+E\+\_\+\+M\+B\+C1~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x6000 = 0x01} + +\mbox{\Hypertarget{gb_8h_a92d040284342702026eb19dab59b586e}\label{gb_8h_a92d040284342702026eb19dab59b586e}} +\index{gb.h@{gb.h}!SWITCH\_ROM\_MBC5@{SWITCH\_ROM\_MBC5}} +\index{SWITCH\_ROM\_MBC5@{SWITCH\_ROM\_MBC5}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_ROM\_MBC5}{SWITCH\_ROM\_MBC5}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C5(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} }\end{DoxyParamCaption})} + +{\bfseries Value\+:} +\begin{DoxyCode}{0} +\DoxyCodeLine{ \mbox{\hyperlink{gb_8h_a98b848953a95ce2fff6fda643575d74a}{\_current\_bank}} = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}), \(\backslash\)} +\DoxyCodeLine{ *(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\_t}} *)0x3000 = 0, \(\backslash\)} +\DoxyCodeLine{ *(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\_t}} *)0x2000 = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})} + +\end{DoxyCode} +Makes M\+B\+C5 switch to the active R\+OM bank; only 4M roms are supported, \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a6c15ebc660abd3a978137493ab63ffe9}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C5\+\_\+8\+M()}} +\end{DoxySeeAlso} + +\begin{DoxyParams}{Parameters} +{\em b} & R\+OM bank to switch to\\ +\hline +\end{DoxyParams} +Note the order used here. Writing the other way around on a M\+B\+C1 always selects bank 1 \mbox{\Hypertarget{gb_8h_a6c15ebc660abd3a978137493ab63ffe9}\label{gb_8h_a6c15ebc660abd3a978137493ab63ffe9}} +\index{gb.h@{gb.h}!SWITCH\_ROM\_MBC5\_8M@{SWITCH\_ROM\_MBC5\_8M}} +\index{SWITCH\_ROM\_MBC5\_8M@{SWITCH\_ROM\_MBC5\_8M}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_ROM\_MBC5\_8M}{SWITCH\_ROM\_MBC5\_8M}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C5\+\_\+8M(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} }\end{DoxyParamCaption})} + +{\bfseries Value\+:} +\begin{DoxyCode}{0} +\DoxyCodeLine{ *(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\_t}} *)0x3000 = ((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\_t}})(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}) >> 8), \(\backslash\)} +\DoxyCodeLine{ *(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\_t}} *)0x2000 = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})} + +\end{DoxyCode} +Makes M\+B\+C5 to switch the active R\+OM bank; active bank number is not tracked by \+\_\+current\+\_\+bank if you use this macro \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a98b848953a95ce2fff6fda643575d74a}{\+\_\+current\+\_\+bank}} +\end{DoxySeeAlso} + +\begin{DoxyParams}{Parameters} +{\em b} & R\+OM bank to switch to\\ +\hline +\end{DoxyParams} +Note the order used here. Writing the other way around on a M\+B\+C1 always selects bank 1 \mbox{\Hypertarget{gb_8h_a361d5055a7ae880fc1c9d6e0d1164fd6}\label{gb_8h_a361d5055a7ae880fc1c9d6e0d1164fd6}} +\index{gb.h@{gb.h}!SWITCH\_RAM\_MBC5@{SWITCH\_RAM\_MBC5}} +\index{SWITCH\_RAM\_MBC5@{SWITCH\_RAM\_MBC5}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_RAM\_MBC5}{SWITCH\_RAM\_MBC5}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C5(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} }\end{DoxyParamCaption})~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x4000 = (\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})} + +Switches S\+R\+AM bank on M\+B\+C5 +\begin{DoxyParams}{Parameters} +{\em b} & S\+R\+AM bank to switch to \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{gb_8h_a3f033f00c8d781637f9a665b06750937}\label{gb_8h_a3f033f00c8d781637f9a665b06750937}} +\index{gb.h@{gb.h}!ENABLE\_RAM\_MBC5@{ENABLE\_RAM\_MBC5}} +\index{ENABLE\_RAM\_MBC5@{ENABLE\_RAM\_MBC5}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{ENABLE\_RAM\_MBC5}{ENABLE\_RAM\_MBC5}} +{\footnotesize\ttfamily \#define E\+N\+A\+B\+L\+E\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C5~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x0000 = 0x0A} + +Enables S\+R\+AM on M\+B\+C5 \mbox{\Hypertarget{gb_8h_a60191cdfa50ed9b88515f181747eaba2}\label{gb_8h_a60191cdfa50ed9b88515f181747eaba2}} +\index{gb.h@{gb.h}!DISABLE\_RAM\_MBC5@{DISABLE\_RAM\_MBC5}} +\index{DISABLE\_RAM\_MBC5@{DISABLE\_RAM\_MBC5}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DISABLE\_RAM\_MBC5}{DISABLE\_RAM\_MBC5}} +{\footnotesize\ttfamily \#define D\+I\+S\+A\+B\+L\+E\+\_\+\+R\+A\+M\+\_\+\+M\+B\+C5~ $\ast$(\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$)0x0000 = 0x00} + +Disables S\+R\+AM on M\+B\+C5 \mbox{\Hypertarget{gb_8h_a5ae6b05b3e1559c97f0d1b2daaaa0ee4}\label{gb_8h_a5ae6b05b3e1559c97f0d1b2daaaa0ee4}} +\index{gb.h@{gb.h}!DISPLAY\_ON@{DISPLAY\_ON}} +\index{DISPLAY\_ON@{DISPLAY\_ON}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DISPLAY\_ON}{DISPLAY\_ON}} +{\footnotesize\ttfamily \#define D\+I\+S\+P\+L\+A\+Y\+\_\+\+ON~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}$\vert$=\mbox{\hyperlink{gb_2hardware_8h_a1491fc03ed7f02e7309cc7b0c48b6c8a}{L\+C\+D\+C\+F\+\_\+\+ON}}} + +Turns the display back on. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a04d57683cdd046dfa45e7e56d7c4ec4d}{display\+\_\+off}}, \mbox{\hyperlink{gb_8h_ad2ec9831813c5e7069917aa4455af682}{D\+I\+S\+P\+L\+A\+Y\+\_\+\+O\+FF}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ad2ec9831813c5e7069917aa4455af682}\label{gb_8h_ad2ec9831813c5e7069917aa4455af682}} +\index{gb.h@{gb.h}!DISPLAY\_OFF@{DISPLAY\_OFF}} +\index{DISPLAY\_OFF@{DISPLAY\_OFF}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DISPLAY\_OFF}{DISPLAY\_OFF}} +{\footnotesize\ttfamily \#define D\+I\+S\+P\+L\+A\+Y\+\_\+\+O\+FF~ \mbox{\hyperlink{sms_8h_a7b09691f25fddd65f12ed199b3f88ef0}{display\+\_\+off}}();} + +Turns the display off immediately. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a04d57683cdd046dfa45e7e56d7c4ec4d}{display\+\_\+off}}, \mbox{\hyperlink{gb_8h_a5ae6b05b3e1559c97f0d1b2daaaa0ee4}{D\+I\+S\+P\+L\+A\+Y\+\_\+\+ON}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a0659212acd317ccdebc0ecf435df330f}\label{gb_8h_a0659212acd317ccdebc0ecf435df330f}} +\index{gb.h@{gb.h}!HIDE\_LEFT\_COLUMN@{HIDE\_LEFT\_COLUMN}} +\index{HIDE\_LEFT\_COLUMN@{HIDE\_LEFT\_COLUMN}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{HIDE\_LEFT\_COLUMN}{HIDE\_LEFT\_COLUMN}} +{\footnotesize\ttfamily \#define H\+I\+D\+E\+\_\+\+L\+E\+F\+T\+\_\+\+C\+O\+L\+U\+MN} + +Does nothing for GB \mbox{\Hypertarget{gb_8h_a5497c2255a9474d397446710189eacbe}\label{gb_8h_a5497c2255a9474d397446710189eacbe}} +\index{gb.h@{gb.h}!SHOW\_LEFT\_COLUMN@{SHOW\_LEFT\_COLUMN}} +\index{SHOW\_LEFT\_COLUMN@{SHOW\_LEFT\_COLUMN}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SHOW\_LEFT\_COLUMN}{SHOW\_LEFT\_COLUMN}} +{\footnotesize\ttfamily \#define S\+H\+O\+W\+\_\+\+L\+E\+F\+T\+\_\+\+C\+O\+L\+U\+MN} + +Does nothing for GB \mbox{\Hypertarget{gb_8h_a8e3f36aa68ac036695816757f2a1322c}\label{gb_8h_a8e3f36aa68ac036695816757f2a1322c}} +\index{gb.h@{gb.h}!SHOW\_BKG@{SHOW\_BKG}} +\index{SHOW\_BKG@{SHOW\_BKG}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SHOW\_BKG}{SHOW\_BKG}} +{\footnotesize\ttfamily \#define S\+H\+O\+W\+\_\+\+B\+KG~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}$\vert$=\mbox{\hyperlink{gb_2hardware_8h_a97ab19d938f05bffbcb4221824c3bfce}{L\+C\+D\+C\+F\+\_\+\+B\+G\+ON}}} + +Turns on the background layer. Sets bit 0 of the L\+C\+DC register to 1. \mbox{\Hypertarget{gb_8h_a6d25f7c43b1cbbb48b95cda7ab2c3141}\label{gb_8h_a6d25f7c43b1cbbb48b95cda7ab2c3141}} +\index{gb.h@{gb.h}!HIDE\_BKG@{HIDE\_BKG}} +\index{HIDE\_BKG@{HIDE\_BKG}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{HIDE\_BKG}{HIDE\_BKG}} +{\footnotesize\ttfamily \#define H\+I\+D\+E\+\_\+\+B\+KG~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}\&=$\sim$\mbox{\hyperlink{gb_2hardware_8h_a97ab19d938f05bffbcb4221824c3bfce}{L\+C\+D\+C\+F\+\_\+\+B\+G\+ON}}} + +Turns off the background layer. Sets bit 0 of the L\+C\+DC register to 0. \mbox{\Hypertarget{gb_8h_ab19da2ab719bb8897bc0843a84af28f8}\label{gb_8h_ab19da2ab719bb8897bc0843a84af28f8}} +\index{gb.h@{gb.h}!SHOW\_WIN@{SHOW\_WIN}} +\index{SHOW\_WIN@{SHOW\_WIN}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SHOW\_WIN}{SHOW\_WIN}} +{\footnotesize\ttfamily \#define S\+H\+O\+W\+\_\+\+W\+IN~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}$\vert$=\mbox{\hyperlink{gb_2hardware_8h_a13a5f08b9aae68f8fa57a8aa7705b732}{L\+C\+D\+C\+F\+\_\+\+W\+I\+N\+ON}}} + +Turns on the window layer Sets bit 5 of the L\+C\+DC register to 1. \mbox{\Hypertarget{gb_8h_aedb6e32c42d4b1d25ad11adccd7100c3}\label{gb_8h_aedb6e32c42d4b1d25ad11adccd7100c3}} +\index{gb.h@{gb.h}!HIDE\_WIN@{HIDE\_WIN}} +\index{HIDE\_WIN@{HIDE\_WIN}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{HIDE\_WIN}{HIDE\_WIN}} +{\footnotesize\ttfamily \#define H\+I\+D\+E\+\_\+\+W\+IN~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}\&=$\sim$\mbox{\hyperlink{gb_2hardware_8h_a13a5f08b9aae68f8fa57a8aa7705b732}{L\+C\+D\+C\+F\+\_\+\+W\+I\+N\+ON}}} + +Turns off the window layer. Clears bit 5 of the L\+C\+DC register to 0. \mbox{\Hypertarget{gb_8h_a495bc9f405f916f02ad5d97e6e730134}\label{gb_8h_a495bc9f405f916f02ad5d97e6e730134}} +\index{gb.h@{gb.h}!SHOW\_SPRITES@{SHOW\_SPRITES}} +\index{SHOW\_SPRITES@{SHOW\_SPRITES}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SHOW\_SPRITES}{SHOW\_SPRITES}} +{\footnotesize\ttfamily \#define S\+H\+O\+W\+\_\+\+S\+P\+R\+I\+T\+ES~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}$\vert$=\mbox{\hyperlink{gb_2hardware_8h_a6aef42158c90e8025b8341cdea2e3918}{L\+C\+D\+C\+F\+\_\+\+O\+B\+J\+ON}}} + +Turns on the sprites layer. Sets bit 1 of the L\+C\+DC register to 1. \mbox{\Hypertarget{gb_8h_a69ef98aee664b8abd8d1a3d45f016dda}\label{gb_8h_a69ef98aee664b8abd8d1a3d45f016dda}} +\index{gb.h@{gb.h}!HIDE\_SPRITES@{HIDE\_SPRITES}} +\index{HIDE\_SPRITES@{HIDE\_SPRITES}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{HIDE\_SPRITES}{HIDE\_SPRITES}} +{\footnotesize\ttfamily \#define H\+I\+D\+E\+\_\+\+S\+P\+R\+I\+T\+ES~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}\&=$\sim$\mbox{\hyperlink{gb_2hardware_8h_a6aef42158c90e8025b8341cdea2e3918}{L\+C\+D\+C\+F\+\_\+\+O\+B\+J\+ON}}} + +Turns off the sprites layer. Clears bit 1 of the L\+C\+DC register to 0. \mbox{\Hypertarget{gb_8h_af91d252f07f4764996154820f970c101}\label{gb_8h_af91d252f07f4764996154820f970c101}} +\index{gb.h@{gb.h}!SPRITES\_8x16@{SPRITES\_8x16}} +\index{SPRITES\_8x16@{SPRITES\_8x16}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SPRITES\_8x16}{SPRITES\_8x16}} +{\footnotesize\ttfamily \#define S\+P\+R\+I\+T\+E\+S\+\_\+8x16~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}$\vert$=\mbox{\hyperlink{gb_2hardware_8h_a14eddd3d53d8e649f1754bd455b4863d}{L\+C\+D\+C\+F\+\_\+\+O\+B\+J16}}} + +Sets sprite size to 8x16 pixels, two tiles one above the other. Sets bit 2 of the L\+C\+DC register to 1. \mbox{\Hypertarget{gb_8h_aa87bec0d134136fdb727f52cb773b792}\label{gb_8h_aa87bec0d134136fdb727f52cb773b792}} +\index{gb.h@{gb.h}!SPRITES\_8x8@{SPRITES\_8x8}} +\index{SPRITES\_8x8@{SPRITES\_8x8}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SPRITES\_8x8}{SPRITES\_8x8}} +{\footnotesize\ttfamily \#define S\+P\+R\+I\+T\+E\+S\+\_\+8x8~ \mbox{\hyperlink{gb_2hardware_8h_a6515fdfaa50eeb7e63faeea54f77cd6b}{L\+C\+D\+C\+\_\+\+R\+EG}}\&=$\sim$\mbox{\hyperlink{gb_2hardware_8h_a14eddd3d53d8e649f1754bd455b4863d}{L\+C\+D\+C\+F\+\_\+\+O\+B\+J16}}} + +Sets sprite size to 8x8 pixels, one tile. Clears bit 2 of the L\+C\+DC register to 0. \mbox{\Hypertarget{gb_8h_a67f80e65620470b55a4950e2966eb868}\label{gb_8h_a67f80e65620470b55a4950e2966eb868}} +\index{gb.h@{gb.h}!COMPAT\_PALETTE@{COMPAT\_PALETTE}} +\index{COMPAT\_PALETTE@{COMPAT\_PALETTE}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{COMPAT\_PALETTE}{COMPAT\_PALETTE}} +{\footnotesize\ttfamily \#define C\+O\+M\+P\+A\+T\+\_\+\+P\+A\+L\+E\+T\+TE(\begin{DoxyParamCaption}\item[{}]{C0, }\item[{}]{C1, }\item[{}]{C2, }\item[{}]{C3 }\end{DoxyParamCaption})~((\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}})(((C3) $<$$<$ 6) $\vert$ ((C2) $<$$<$ 4) $\vert$ ((C1) $<$$<$ 2) $\vert$ (C0)))} + +\mbox{\Hypertarget{gb_8h_ab94bfec130df50d9cb808142f94603a5}\label{gb_8h_ab94bfec130df50d9cb808142f94603a5}} +\index{gb.h@{gb.h}!set\_bkg\_2bpp\_data@{set\_bkg\_2bpp\_data}} +\index{set\_bkg\_2bpp\_data@{set\_bkg\_2bpp\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_2bpp\_data}{set\_bkg\_2bpp\_data}} +{\footnotesize\ttfamily \#define set\+\_\+bkg\+\_\+2bpp\+\_\+data~\mbox{\hyperlink{sms_8h_a8130306da1177f4fef89e699f8e2add4}{set\+\_\+bkg\+\_\+data}}} + +\mbox{\Hypertarget{gb_8h_a55f82ff980398dd97036fd936ebd727e}\label{gb_8h_a55f82ff980398dd97036fd936ebd727e}} +\index{gb.h@{gb.h}!set\_tile\_map@{set\_tile\_map}} +\index{set\_tile\_map@{set\_tile\_map}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_tile\_map}{set\_tile\_map}} +{\footnotesize\ttfamily \#define set\+\_\+tile\+\_\+map~\mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}}} + +\mbox{\Hypertarget{gb_8h_adb5d0970167b81401113812773c90838}\label{gb_8h_adb5d0970167b81401113812773c90838}} +\index{gb.h@{gb.h}!set\_tile\_submap@{set\_tile\_submap}} +\index{set\_tile\_submap@{set\_tile\_submap}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_tile\_submap}{set\_tile\_submap}} +{\footnotesize\ttfamily \#define set\+\_\+tile\+\_\+submap~\mbox{\hyperlink{sms_8h_a0cfd261bc7a94b1f6093f423bad30298}{set\+\_\+bkg\+\_\+submap}}} + +\mbox{\Hypertarget{gb_8h_a3b235c526c517fb02d20cdea780ee2c5}\label{gb_8h_a3b235c526c517fb02d20cdea780ee2c5}} +\index{gb.h@{gb.h}!set\_tile\_xy@{set\_tile\_xy}} +\index{set\_tile\_xy@{set\_tile\_xy}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_tile\_xy}{set\_tile\_xy}} +{\footnotesize\ttfamily \#define set\+\_\+tile\+\_\+xy~\mbox{\hyperlink{gb_8h_a74ee8f0a3495508c90de4ce246b81060}{set\+\_\+bkg\+\_\+tile\+\_\+xy}}} + +\mbox{\Hypertarget{gb_8h_a43b4f0ba65856deef626c0d9e7e41ed4}\label{gb_8h_a43b4f0ba65856deef626c0d9e7e41ed4}} +\index{gb.h@{gb.h}!set\_sprite\_2bpp\_data@{set\_sprite\_2bpp\_data}} +\index{set\_sprite\_2bpp\_data@{set\_sprite\_2bpp\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_2bpp\_data}{set\_sprite\_2bpp\_data}} +{\footnotesize\ttfamily \#define set\+\_\+sprite\+\_\+2bpp\+\_\+data~\mbox{\hyperlink{sms_8h_a216a3e3d320ee4d8cf4845600487ae39}{set\+\_\+sprite\+\_\+data}}} + +\mbox{\Hypertarget{gb_8h_a47607089a434dcda7a8583cfca03b604}\label{gb_8h_a47607089a434dcda7a8583cfca03b604}} +\index{gb.h@{gb.h}!DISABLE\_OAM\_DMA@{DISABLE\_OAM\_DMA}} +\index{DISABLE\_OAM\_DMA@{DISABLE\_OAM\_DMA}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DISABLE\_OAM\_DMA}{DISABLE\_OAM\_DMA}} +{\footnotesize\ttfamily \#define D\+I\+S\+A\+B\+L\+E\+\_\+\+O\+A\+M\+\_\+\+D\+MA~ \mbox{\hyperlink{sms_8h_a5435fd985412934e96a490e103c6bc49}{\+\_\+shadow\+\_\+\+O\+A\+M\+\_\+base}} = 0} + +\mbox{\Hypertarget{gb_8h_abfd70bf31185a4900680977c9fb5a5ec}\label{gb_8h_abfd70bf31185a4900680977c9fb5a5ec}} +\index{gb.h@{gb.h}!DISABLE\_VBL\_TRANSFER@{DISABLE\_VBL\_TRANSFER}} +\index{DISABLE\_VBL\_TRANSFER@{DISABLE\_VBL\_TRANSFER}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{DISABLE\_VBL\_TRANSFER}{DISABLE\_VBL\_TRANSFER}} +{\footnotesize\ttfamily \#define D\+I\+S\+A\+B\+L\+E\+\_\+\+V\+B\+L\+\_\+\+T\+R\+A\+N\+S\+F\+ER~\mbox{\hyperlink{gb_8h_a47607089a434dcda7a8583cfca03b604}{D\+I\+S\+A\+B\+L\+E\+\_\+\+O\+A\+M\+\_\+\+D\+MA}}} + +Disable O\+AM D\+MA copy each V\+Blank \mbox{\Hypertarget{gb_8h_a20895d53fe9caacb08ce8b071d57ce53}\label{gb_8h_a20895d53fe9caacb08ce8b071d57ce53}} +\index{gb.h@{gb.h}!ENABLE\_OAM\_DMA@{ENABLE\_OAM\_DMA}} +\index{ENABLE\_OAM\_DMA@{ENABLE\_OAM\_DMA}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{ENABLE\_OAM\_DMA}{ENABLE\_OAM\_DMA}} +{\footnotesize\ttfamily \#define E\+N\+A\+B\+L\+E\+\_\+\+O\+A\+M\+\_\+\+D\+MA~ \mbox{\hyperlink{sms_8h_a5435fd985412934e96a490e103c6bc49}{\+\_\+shadow\+\_\+\+O\+A\+M\+\_\+base}} = (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}})((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})\&\mbox{\hyperlink{sms_8h_af02f9e73bd894cc25e03aedb0a10a91d}{shadow\+\_\+\+O\+AM}} $>$$>$ 8)} + +\mbox{\Hypertarget{gb_8h_a77d516c9d3f86f100eddea5e0d133a76}\label{gb_8h_a77d516c9d3f86f100eddea5e0d133a76}} +\index{gb.h@{gb.h}!ENABLE\_VBL\_TRANSFER@{ENABLE\_VBL\_TRANSFER}} +\index{ENABLE\_VBL\_TRANSFER@{ENABLE\_VBL\_TRANSFER}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{ENABLE\_VBL\_TRANSFER}{ENABLE\_VBL\_TRANSFER}} +{\footnotesize\ttfamily \#define E\+N\+A\+B\+L\+E\+\_\+\+V\+B\+L\+\_\+\+T\+R\+A\+N\+S\+F\+ER~\mbox{\hyperlink{gb_8h_a20895d53fe9caacb08ce8b071d57ce53}{E\+N\+A\+B\+L\+E\+\_\+\+O\+A\+M\+\_\+\+D\+MA}}} + +Enable O\+AM D\+MA copy each V\+Blank and set it to transfer default shadow\+\_\+\+O\+AM array \mbox{\Hypertarget{gb_8h_a8b77608c87a9aef65a03531482b2163b}\label{gb_8h_a8b77608c87a9aef65a03531482b2163b}} +\index{gb.h@{gb.h}!MAX\_HARDWARE\_SPRITES@{MAX\_HARDWARE\_SPRITES}} +\index{MAX\_HARDWARE\_SPRITES@{MAX\_HARDWARE\_SPRITES}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{MAX\_HARDWARE\_SPRITES}{MAX\_HARDWARE\_SPRITES}} +{\footnotesize\ttfamily \#define M\+A\+X\+\_\+\+H\+A\+R\+D\+W\+A\+R\+E\+\_\+\+S\+P\+R\+I\+T\+ES~40} + +Amount of hardware sprites in O\+AM \mbox{\Hypertarget{gb_8h_a47865835d7d007d71b4bc8ae5cefb73a}\label{gb_8h_a47865835d7d007d71b4bc8ae5cefb73a}} +\index{gb.h@{gb.h}!fill\_rect@{fill\_rect}} +\index{fill\_rect@{fill\_rect}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{fill\_rect}{fill\_rect}} +{\footnotesize\ttfamily \#define fill\+\_\+rect~\mbox{\hyperlink{gb_8h_a74c3f53fca019f7abcd1270650808849}{fill\+\_\+bkg\+\_\+rect}}} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{gb_8h_a9508f919d9482d1d51534ccac212454d}\label{gb_8h_a9508f919d9482d1d51534ccac212454d}} +\index{gb.h@{gb.h}!int\_handler@{int\_handler}} +\index{int\_handler@{int\_handler}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{int\_handler}{int\_handler}} +{\footnotesize\ttfamily typedef void($\ast$ int\+\_\+handler) (void) \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}}} + +Interrupt handlers \mbox{\Hypertarget{gb_8h_a8e5ea12b86bdfc812448c2f5c4336c03}\label{gb_8h_a8e5ea12b86bdfc812448c2f5c4336c03}} +\index{gb.h@{gb.h}!OAM\_item\_t@{OAM\_item\_t}} +\index{OAM\_item\_t@{OAM\_item\_t}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{OAM\_item\_t}{OAM\_item\_t}} +{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{struct_o_a_m__item__t}{O\+A\+M\+\_\+item\+\_\+t}} \mbox{\hyperlink{struct_o_a_m__item__t}{O\+A\+M\+\_\+item\+\_\+t}}} + +Sprite Attributes structure +\begin{DoxyParams}{Parameters} +{\em x} & X Coordinate of the sprite on screen \\ +\hline +{\em y} & Y Coordinate of the sprite on screen \\ +\hline +{\em tile} & Sprite tile number (see \mbox{\hyperlink{sms_8h_a05bf0b9f1328de7b568a19a2a428bcfe}{set\+\_\+sprite\+\_\+tile}}) \\ +\hline +{\em prop} & O\+AM Property Flags (see \mbox{\hyperlink{sms_8h_a99ea3252469e3614e977cce2aa1d06f7}{set\+\_\+sprite\+\_\+prop}}) \\ +\hline +\end{DoxyParams} + + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{gb_8h_ad43fdfdb1e157b141f3fc48b78bf4386}\label{gb_8h_ad43fdfdb1e157b141f3fc48b78bf4386}} +\index{gb.h@{gb.h}!remove\_VBL@{remove\_VBL}} +\index{remove\_VBL@{remove\_VBL}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{remove\_VBL()}{remove\_VBL()}} +{\footnotesize\ttfamily void remove\+\_\+\+V\+BL (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +The remove functions will remove any interrupt handler. + +A handler of N\+U\+LL will cause bad things to happen if the given interrupt is enabled. + +Removes the V\+BL interrupt handler. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_ae59628e2237f301df1341e22bfc8296e}{add\+\_\+\+V\+B\+L()}} +\end{DoxySeeAlso} +Removes the V\+BL interrupt handler. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_ae59628e2237f301df1341e22bfc8296e}{add\+\_\+\+V\+B\+L()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a32683767caa2a263a1f494b3605786e7}\label{gb_8h_a32683767caa2a263a1f494b3605786e7}} +\index{gb.h@{gb.h}!remove\_LCD@{remove\_LCD}} +\index{remove\_LCD@{remove\_LCD}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{remove\_LCD()}{remove\_LCD()}} +{\footnotesize\ttfamily void remove\+\_\+\+L\+CD (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Removes the L\+CD interrupt handler. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a9f9f77105099a34556247d5bb03368d1}{add\+\_\+\+L\+C\+D()}}, \mbox{\hyperlink{gb_8h_ad43fdfdb1e157b141f3fc48b78bf4386}{remove\+\_\+\+V\+B\+L()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a142f6c7755fce8b1148faf658d8ec147}\label{gb_8h_a142f6c7755fce8b1148faf658d8ec147}} +\index{gb.h@{gb.h}!remove\_TIM@{remove\_TIM}} +\index{remove\_TIM@{remove\_TIM}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{remove\_TIM()}{remove\_TIM()}} +{\footnotesize\ttfamily void remove\+\_\+\+T\+IM (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Removes the T\+IM interrupt handler. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a028d1a2e820951bb4f103d6469975ffb}{add\+\_\+\+T\+I\+M()}}, \mbox{\hyperlink{gb_8h_ad43fdfdb1e157b141f3fc48b78bf4386}{remove\+\_\+\+V\+B\+L()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a5b821b31215361265d8b7894a9ae7118}\label{gb_8h_a5b821b31215361265d8b7894a9ae7118}} +\index{gb.h@{gb.h}!remove\_SIO@{remove\_SIO}} +\index{remove\_SIO@{remove\_SIO}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{remove\_SIO()}{remove\_SIO()}} +{\footnotesize\ttfamily void remove\+\_\+\+S\+IO (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Removes the Serial Link / S\+IO interrupt handler. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aa82422752016328ed0765879e286019f}{add\+\_\+\+S\+I\+O()}}, + +\mbox{\hyperlink{gb_8h_ad43fdfdb1e157b141f3fc48b78bf4386}{remove\+\_\+\+V\+B\+L()}} +\end{DoxySeeAlso} +The default S\+IO I\+SR gets installed automatically if any of the standard S\+IO calls are used. These calls include \mbox{\hyperlink{gb_8h_aa82422752016328ed0765879e286019f}{add\+\_\+\+S\+I\+O()}}, \mbox{\hyperlink{gb_8h_a5b821b31215361265d8b7894a9ae7118}{remove\+\_\+\+S\+I\+O()}}, \mbox{\hyperlink{gb_8h_ae339d7d8d7e0ebd6691b42608c416964}{send\+\_\+byte()}}, \mbox{\hyperlink{gb_8h_a9a7fd7be44bb12bc85a144b732ce02f7}{receive\+\_\+byte()}}. + +The default S\+IO I\+SR cannot be removed once installed. Only secondary chained S\+IO I\+S\+Rs (added with \mbox{\hyperlink{gb_8h_aa82422752016328ed0765879e286019f}{add\+\_\+\+S\+I\+O()}} ) can be removed. \mbox{\Hypertarget{gb_8h_a4a3e87e0917d5efb6bc7c94e9754fcd0}\label{gb_8h_a4a3e87e0917d5efb6bc7c94e9754fcd0}} +\index{gb.h@{gb.h}!remove\_JOY@{remove\_JOY}} +\index{remove\_JOY@{remove\_JOY}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{remove\_JOY()}{remove\_JOY()}} +{\footnotesize\ttfamily void remove\+\_\+\+J\+OY (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Removes the J\+OY interrupt handler. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aa2f0235e78da2d1d94d3628d7a1afc30}{add\+\_\+\+J\+O\+Y()}}, \mbox{\hyperlink{gb_8h_ad43fdfdb1e157b141f3fc48b78bf4386}{remove\+\_\+\+V\+B\+L()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a0d29659d08708143dd8bc720278e06b5}\label{gb_8h_a0d29659d08708143dd8bc720278e06b5}} +\index{gb.h@{gb.h}!add\_VBL@{add\_VBL}} +\index{add\_VBL@{add\_VBL}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{add\_VBL()}{add\_VBL()}} +{\footnotesize\ttfamily void add\+\_\+\+V\+BL (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Adds a V-\/blank interrupt handler. + + +\begin{DoxyParams}{Parameters} +{\em h} & The handler to be called whenever a V-\/blank interrupt occurs.\\ +\hline +\end{DoxyParams} +Up to 4 handlers may be added, with the last added being called last. If the \mbox{\hyperlink{sms_8h_a98f7ef49e1758c601979bcb0ff19a1f0}{remove\+\_\+\+V\+BL}} function is to be called, only three may be added. + +Do not use \mbox{\hyperlink{asm_2types_8h_ae0233515480e60d29bcc731469976e02}{C\+R\+I\+T\+I\+C\+AL}} and \mbox{\hyperlink{asm_2types_8h_ac950c0db046e2f86d15e7ae1f558b017}{I\+N\+T\+E\+R\+R\+U\+PT}} attributes for a function added via \mbox{\hyperlink{sms_8h_ae59628e2237f301df1341e22bfc8296e}{add\+\_\+\+V\+B\+L()}} (or L\+CD, etc). The attributes are only required when constructing a bare jump from the interrupt vector itself. + +Note\+: The default V\+BL is installed automatically. + +Adds a V-\/blank interrupt handler. \mbox{\Hypertarget{gb_8h_a9f9f77105099a34556247d5bb03368d1}\label{gb_8h_a9f9f77105099a34556247d5bb03368d1}} +\index{gb.h@{gb.h}!add\_LCD@{add\_LCD}} +\index{add\_LCD@{add\_LCD}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{add\_LCD()}{add\_LCD()}} +{\footnotesize\ttfamily void add\+\_\+\+L\+CD (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Adds a L\+CD interrupt handler. + +Called when the L\+CD interrupt occurs, which is normally when \mbox{\hyperlink{gb_2hardware_8h_aeb643bd4eac2e6e410cae2fae677c0a7}{L\+Y\+\_\+\+R\+EG}} == \mbox{\hyperlink{gb_2hardware_8h_a591084a506c33266b7d6cc3b4b8936ae}{L\+Y\+C\+\_\+\+R\+EG}}. + +There are various reasons for this interrupt to occur as described by the \mbox{\hyperlink{gb_2hardware_8h_ad40ebf3b29add46cdd310a7e0802bc6b}{S\+T\+A\+T\+\_\+\+R\+EG}} register (\$\+F\+F41). One very popular reason is to indicate to the user when the video hardware is about to redraw a given L\+CD line. This can be useful for dynamically controlling the \mbox{\hyperlink{gb_2hardware_8h_a86cc170585319565195f2c163250be1f}{S\+C\+X\+\_\+\+R\+EG}} / \mbox{\hyperlink{gb_2hardware_8h_a244b162cf13bbcb4fe842d7e298b39c2}{S\+C\+Y\+\_\+\+R\+EG}} registers (\$\+F\+F43/\$\+F\+F42) to perform special video effects. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_ae59628e2237f301df1341e22bfc8296e}{add\+\_\+\+V\+BL}} +\end{DoxySeeAlso} +Adds a L\+CD interrupt handler. \mbox{\Hypertarget{gb_8h_a028d1a2e820951bb4f103d6469975ffb}\label{gb_8h_a028d1a2e820951bb4f103d6469975ffb}} +\index{gb.h@{gb.h}!add\_TIM@{add\_TIM}} +\index{add\_TIM@{add\_TIM}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{add\_TIM()}{add\_TIM()}} +{\footnotesize\ttfamily void add\+\_\+\+T\+IM (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Adds a timer interrupt handler. + +Can not be used together with \mbox{\hyperlink{gb_8h_a970f18857533e062f4780f6e1c407d69}{add\+\_\+low\+\_\+priority\+\_\+\+T\+IM}} + +This interrupt occurs when the \mbox{\hyperlink{gb_2hardware_8h_a9d295bb437953de5ebcb3c12d65743aa}{T\+I\+M\+A\+\_\+\+R\+EG}} register (\$\+F\+F05) changes from \$\+FF to \$00. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a0d29659d08708143dd8bc720278e06b5}{add\+\_\+\+V\+BL}} + +\mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts()}} with \mbox{\hyperlink{gb_8h_a604256210ec5b90b68185e1a18efab49}{T\+I\+M\+\_\+\+I\+F\+L\+AG}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a970f18857533e062f4780f6e1c407d69}\label{gb_8h_a970f18857533e062f4780f6e1c407d69}} +\index{gb.h@{gb.h}!add\_low\_priority\_TIM@{add\_low\_priority\_TIM}} +\index{add\_low\_priority\_TIM@{add\_low\_priority\_TIM}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{add\_low\_priority\_TIM()}{add\_low\_priority\_TIM()}} +{\footnotesize\ttfamily void add\+\_\+low\+\_\+priority\+\_\+\+T\+IM (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Adds a timer interrupt handler, that could be interrupted by the other interrupts, as well as itself, if it runs too slow. + +Can not be used together with \mbox{\hyperlink{sms_8h_a6c66a583a8f0744e3985c89725e3dc10}{add\+\_\+\+T\+IM}} + +This interrupt occurs when the \mbox{\hyperlink{gb_2hardware_8h_a9d295bb437953de5ebcb3c12d65743aa}{T\+I\+M\+A\+\_\+\+R\+EG}} register (\$\+F\+F05) changes from \$\+FF to \$00. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a0d29659d08708143dd8bc720278e06b5}{add\+\_\+\+V\+BL}} + +\mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts()}} with \mbox{\hyperlink{gb_8h_a604256210ec5b90b68185e1a18efab49}{T\+I\+M\+\_\+\+I\+F\+L\+AG}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_aa82422752016328ed0765879e286019f}\label{gb_8h_aa82422752016328ed0765879e286019f}} +\index{gb.h@{gb.h}!add\_SIO@{add\_SIO}} +\index{add\_SIO@{add\_SIO}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{add\_SIO()}{add\_SIO()}} +{\footnotesize\ttfamily void add\+\_\+\+S\+IO (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Adds a Serial Link transmit complete interrupt handler. + +This interrupt occurs when a serial transfer has completed on the game link port. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_ae339d7d8d7e0ebd6691b42608c416964}{send\+\_\+byte}}, \mbox{\hyperlink{gb_8h_a9a7fd7be44bb12bc85a144b732ce02f7}{receive\+\_\+byte()}}, \mbox{\hyperlink{gb_8h_a0d29659d08708143dd8bc720278e06b5}{add\+\_\+\+V\+B\+L()}} + +\mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts()}} with \mbox{\hyperlink{gb_8h_ad90564458646c5646b3880b93db3443e}{S\+I\+O\+\_\+\+I\+F\+L\+AG}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_aa2f0235e78da2d1d94d3628d7a1afc30}\label{gb_8h_aa2f0235e78da2d1d94d3628d7a1afc30}} +\index{gb.h@{gb.h}!add\_JOY@{add\_JOY}} +\index{add\_JOY@{add\_JOY}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{add\_JOY()}{add\_JOY()}} +{\footnotesize\ttfamily void add\+\_\+\+J\+OY (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Adds a joypad button change interrupt handler. + +This interrupt occurs on a transition of any of the keypad input lines from high to low. Due to the fact that keypad \char`\"{}bounce\char`\"{} is virtually always present, software should expect this interrupt to occur one or more times for every button press and one or more times for every button release. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a176c477d759b814664785f3a0ad5e253}{joypad()}}, \mbox{\hyperlink{gb_8h_a0d29659d08708143dd8bc720278e06b5}{add\+\_\+\+V\+B\+L()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a695c6d0e8fd7cf11dae0d4c67bc058f9}\label{gb_8h_a695c6d0e8fd7cf11dae0d4c67bc058f9}} +\index{gb.h@{gb.h}!nowait\_int\_handler@{nowait\_int\_handler}} +\index{nowait\_int\_handler@{nowait\_int\_handler}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{nowait\_int\_handler()}{nowait\_int\_handler()}} +{\footnotesize\ttfamily void nowait\+\_\+int\+\_\+handler (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Interrupt handler chain terminator that does {\bfseries{not}} wait for .S\+T\+AT + +You must add this handler last in every interrupt handler chain if you want to change the default interrupt handler behaviour that waits for L\+CD controller mode to become 1 or 0 before return from the interrupt. + +Example\+: +\begin{DoxyCode}{0} +\DoxyCodeLine{\mbox{\hyperlink{asm_2types_8h_ae0233515480e60d29bcc731469976e02}{CRITICAL}} \{} +\DoxyCodeLine{ \mbox{\hyperlink{gb_8h_aa82422752016328ed0765879e286019f}{add\_SIO}}(\mbox{\hyperlink{gb_8h_a695c6d0e8fd7cf11dae0d4c67bc058f9}{nowait\_int\_handler}}); \textcolor{comment}{// Disable wait on VRAM state before returning from SIO interrupt}} +\DoxyCodeLine{\}} +\end{DoxyCode} + \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_acc9afd0cb72e763a1213d256b942a68f}{wait\+\_\+int\+\_\+handler()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_acc9afd0cb72e763a1213d256b942a68f}\label{gb_8h_acc9afd0cb72e763a1213d256b942a68f}} +\index{gb.h@{gb.h}!wait\_int\_handler@{wait\_int\_handler}} +\index{wait\_int\_handler@{wait\_int\_handler}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{wait\_int\_handler()}{wait\_int\_handler()}} +{\footnotesize\ttfamily void wait\+\_\+int\+\_\+handler (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Default Interrupt handler chain terminator that waits for \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_2hardware_8h_ad40ebf3b29add46cdd310a7e0802bc6b}{S\+T\+A\+T\+\_\+\+R\+EG}} and {\bfseries{only}} returns at the B\+E\+G\+I\+N\+N\+I\+NG of either Mode 0 or Mode 1. +\end{DoxySeeAlso} +Used by default at the end of interrupt chains to help prevent graphical glitches. The glitches are caused when an I\+SR interrupts a graphics operation in one mode but returns in a different mode for which that graphics operation is not allowed. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a695c6d0e8fd7cf11dae0d4c67bc058f9}{nowait\+\_\+int\+\_\+handler()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ade5d4c955b871b0ed884273cc2b7215a}\label{gb_8h_ade5d4c955b871b0ed884273cc2b7215a}} +\index{gb.h@{gb.h}!cancel\_pending\_interrupts@{cancel\_pending\_interrupts}} +\index{cancel\_pending\_interrupts@{cancel\_pending\_interrupts}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{cancel\_pending\_interrupts()}{cancel\_pending\_interrupts()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} cancel\+\_\+pending\+\_\+interrupts (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Cancel pending interrupts \mbox{\Hypertarget{gb_8h_a3ea524204d839377cf39842eec23e202}\label{gb_8h_a3ea524204d839377cf39842eec23e202}} +\index{gb.h@{gb.h}!mode@{mode}} +\index{mode@{mode}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{mode()}{mode()}} +{\footnotesize\ttfamily void mode (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{m }\end{DoxyParamCaption})} + +Set the current screen mode -\/ one of M\+\_\+$\ast$ modes + +Normally used by internal functions only. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_acc9798fc62b5d626c91c8b0f20b522ff}{M\+\_\+\+D\+R\+A\+W\+I\+NG}}, \mbox{\hyperlink{gb_8h_af0e30d6af308ffe5a025fbe85da40f6f}{M\+\_\+\+T\+E\+X\+T\+\_\+\+O\+UT}}, \mbox{\hyperlink{gb_8h_a908826e7180f94a5988ceb8633313a2e}{M\+\_\+\+T\+E\+X\+T\+\_\+\+I\+N\+O\+UT}}, \mbox{\hyperlink{gb_8h_a04382de20738146fe873ddfb0585052b}{M\+\_\+\+N\+O\+\_\+\+S\+C\+R\+O\+LL}}, \mbox{\hyperlink{gb_8h_aca2855edd2d28f66be551a0f7ec23f07}{M\+\_\+\+N\+O\+\_\+\+I\+N\+T\+E\+RP}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a19969b36a6535fc6a966c0e5476baf9c}\label{gb_8h_a19969b36a6535fc6a966c0e5476baf9c}} +\index{gb.h@{gb.h}!get\_mode@{get\_mode}} +\index{get\_mode@{get\_mode}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_mode()}{get\_mode()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} get\+\_\+mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Returns the current mode + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_acc9798fc62b5d626c91c8b0f20b522ff}{M\+\_\+\+D\+R\+A\+W\+I\+NG}}, \mbox{\hyperlink{gb_8h_af0e30d6af308ffe5a025fbe85da40f6f}{M\+\_\+\+T\+E\+X\+T\+\_\+\+O\+UT}}, \mbox{\hyperlink{gb_8h_a908826e7180f94a5988ceb8633313a2e}{M\+\_\+\+T\+E\+X\+T\+\_\+\+I\+N\+O\+UT}}, \mbox{\hyperlink{gb_8h_a04382de20738146fe873ddfb0585052b}{M\+\_\+\+N\+O\+\_\+\+S\+C\+R\+O\+LL}}, \mbox{\hyperlink{gb_8h_aca2855edd2d28f66be551a0f7ec23f07}{M\+\_\+\+N\+O\+\_\+\+I\+N\+T\+E\+RP}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ae339d7d8d7e0ebd6691b42608c416964}\label{gb_8h_ae339d7d8d7e0ebd6691b42608c416964}} +\index{gb.h@{gb.h}!send\_byte@{send\_byte}} +\index{send\_byte@{send\_byte}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{send\_byte()}{send\_byte()}} +{\footnotesize\ttfamily void send\+\_\+byte (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Serial Link\+: Send the byte in \mbox{\hyperlink{gb_8h_acae13736da20f9fc53e8d38934aa2119}{\+\_\+io\+\_\+out}} out through the serial port + +Make sure to enable interrupts for the Serial Link before trying to transfer data. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aa82422752016328ed0765879e286019f}{add\+\_\+\+S\+I\+O()}}, \mbox{\hyperlink{gb_8h_a5b821b31215361265d8b7894a9ae7118}{remove\+\_\+\+S\+I\+O()}} + +\mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts()}} with \mbox{\hyperlink{sms_8h_ad90564458646c5646b3880b93db3443e}{S\+I\+O\+\_\+\+I\+F\+L\+AG}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a9a7fd7be44bb12bc85a144b732ce02f7}\label{gb_8h_a9a7fd7be44bb12bc85a144b732ce02f7}} +\index{gb.h@{gb.h}!receive\_byte@{receive\_byte}} +\index{receive\_byte@{receive\_byte}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{receive\_byte()}{receive\_byte()}} +{\footnotesize\ttfamily void receive\+\_\+byte (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Serial Link\+: Receive a byte from the serial port into \mbox{\hyperlink{gb_8h_a02f3a1585ae654444e628c1aa98ef0cf}{\+\_\+io\+\_\+in}} + +Make sure to enable interrupts for the Serial Link before trying to transfer data. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aa82422752016328ed0765879e286019f}{add\+\_\+\+S\+I\+O()}}, \mbox{\hyperlink{gb_8h_a5b821b31215361265d8b7894a9ae7118}{remove\+\_\+\+S\+I\+O()}} + +\mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts()}} with \mbox{\hyperlink{sms_8h_ad90564458646c5646b3880b93db3443e}{S\+I\+O\+\_\+\+I\+F\+L\+AG}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a2afae202a1f8ca59a12a6455bb909c5d}\label{gb_8h_a2afae202a1f8ca59a12a6455bb909c5d}} +\index{gb.h@{gb.h}!delay@{delay}} +\index{delay@{delay}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{delay()}{delay()}} +{\footnotesize\ttfamily void delay (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{d }\end{DoxyParamCaption})} + +Delays the given number of milliseconds. Uses no timers or interrupts, and can be called with interrupts disabled \mbox{\Hypertarget{gb_8h_a176c477d759b814664785f3a0ad5e253}\label{gb_8h_a176c477d759b814664785f3a0ad5e253}} +\index{gb.h@{gb.h}!joypad@{joypad}} +\index{joypad@{joypad}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{joypad()}{joypad()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} joypad (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Reads and returns the current state of the joypad. Follows Nintendo\textquotesingle{}s guidelines for reading the pad. Return value is an OR of J\+\_\+$\ast$ + +When testing for multiple different buttons, it\textquotesingle{}s best to read the joypad state {\itshape once} into a variable and then test using that variable. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_ab769c6e20778298be8bc3321476ceb53}{J\+\_\+\+S\+T\+A\+RT}}, \mbox{\hyperlink{gb_8h_ab416a9d96d1582490828f4bac78a8b5b}{J\+\_\+\+S\+E\+L\+E\+CT}}, \mbox{\hyperlink{gb_8h_a31af766e3b598eb7a6b63f55a4988e7a}{J\+\_\+A}}, \mbox{\hyperlink{gb_8h_ae47e59a309120f9420993f26816b5e6d}{J\+\_\+B}}, \mbox{\hyperlink{gb_8h_a05ca817ab32f6da612c3ae26db5abf02}{J\+\_\+\+UP}}, \mbox{\hyperlink{gb_8h_ae032c5c544196e37ec0432f6cfad7904}{J\+\_\+\+D\+O\+WN}}, \mbox{\hyperlink{gb_8h_ac70894fecac30c1ca9917f07373cf81c}{J\+\_\+\+L\+E\+FT}}, \mbox{\hyperlink{gb_8h_a3bad91d11ae09ffcbb3cb0a81873d325}{J\+\_\+\+R\+I\+G\+HT}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_aae433db7d8e3ee4c095c254b8abd7b8b}\label{gb_8h_aae433db7d8e3ee4c095c254b8abd7b8b}} +\index{gb.h@{gb.h}!waitpad@{waitpad}} +\index{waitpad@{waitpad}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{waitpad()}{waitpad()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} waitpad (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{mask }\end{DoxyParamCaption})} + +Waits until at least one of the buttons given in mask are pressed. + + +\begin{DoxyParams}{Parameters} +{\em mask} & Bitmask indicating which buttons to wait for\\ +\hline +\end{DoxyParams} +Normally only used for checking one key, but it will support many, even J\+\_\+\+L\+E\+FT at the same time as J\+\_\+\+R\+I\+G\+HT. \+:) + +Note\+: Checks in a loop that doesn\textquotesingle{}t H\+A\+LT at all, so the C\+PU will be maxed out until this call returns. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a176c477d759b814664785f3a0ad5e253}{joypad}} + +\mbox{\hyperlink{gb_8h_ab769c6e20778298be8bc3321476ceb53}{J\+\_\+\+S\+T\+A\+RT}}, \mbox{\hyperlink{gb_8h_ab416a9d96d1582490828f4bac78a8b5b}{J\+\_\+\+S\+E\+L\+E\+CT}}, \mbox{\hyperlink{gb_8h_a31af766e3b598eb7a6b63f55a4988e7a}{J\+\_\+A}}, \mbox{\hyperlink{gb_8h_ae47e59a309120f9420993f26816b5e6d}{J\+\_\+B}}, \mbox{\hyperlink{gb_8h_a05ca817ab32f6da612c3ae26db5abf02}{J\+\_\+\+UP}}, \mbox{\hyperlink{gb_8h_ae032c5c544196e37ec0432f6cfad7904}{J\+\_\+\+D\+O\+WN}}, \mbox{\hyperlink{gb_8h_ac70894fecac30c1ca9917f07373cf81c}{J\+\_\+\+L\+E\+FT}}, \mbox{\hyperlink{gb_8h_a3bad91d11ae09ffcbb3cb0a81873d325}{J\+\_\+\+R\+I\+G\+HT}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a8484d346b788309ac702b7e0b1fca730}\label{gb_8h_a8484d346b788309ac702b7e0b1fca730}} +\index{gb.h@{gb.h}!waitpadup@{waitpadup}} +\index{waitpadup@{waitpadup}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{waitpadup()}{waitpadup()}} +{\footnotesize\ttfamily void waitpadup (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Waits for the directional pad and all buttons to be released. + +Note\+: Checks in a loop that doesn\textquotesingle{}t H\+A\+LT at all, so the C\+PU will be maxed out until this call returns. \mbox{\Hypertarget{gb_8h_ab7e35e1eff44ed78ad8f0015c6e85b4e}\label{gb_8h_ab7e35e1eff44ed78ad8f0015c6e85b4e}} +\index{gb.h@{gb.h}!joypad\_init@{joypad\_init}} +\index{joypad\_init@{joypad\_init}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{joypad\_init()}{joypad\_init()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} joypad\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{npads, }\item[{\mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} $\ast$}]{joypads }\end{DoxyParamCaption})} + +Initializes \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} structure for polling multiple joypads (for the GB and ones connected via S\+GB) +\begin{DoxyParams}{Parameters} +{\em npads} & number of joypads requested (1, 2 or 4) \\ +\hline +{\em joypads} & pointer to \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} structure to be initialized\\ +\hline +\end{DoxyParams} +Only required for \mbox{\hyperlink{sms_8h_a1d45c65829490c5ec98362f5e60edc20}{joypad\+\_\+ex}}, not required for calls to regular \mbox{\hyperlink{gb_8h_a176c477d759b814664785f3a0ad5e253}{joypad()}} \begin{DoxyReturn}{Returns} +number of joypads avaliable +\end{DoxyReturn} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a6e6f8eb1de2ae1ec9adeafbd7b9884db}{joypad\+\_\+ex()}}, \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a6e6f8eb1de2ae1ec9adeafbd7b9884db}\label{gb_8h_a6e6f8eb1de2ae1ec9adeafbd7b9884db}} +\index{gb.h@{gb.h}!joypad\_ex@{joypad\_ex}} +\index{joypad\_ex@{joypad\_ex}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{joypad\_ex()}{joypad\_ex()}} +{\footnotesize\ttfamily void joypad\+\_\+ex (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} $\ast$}]{joypads }\end{DoxyParamCaption})} + +Polls all avaliable joypads (for the GB and ones connected via S\+GB) +\begin{DoxyParams}{Parameters} +{\em joypads} & pointer to \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} structure to be filled with joypad statuses, must be previously initialized with \mbox{\hyperlink{gb_8h_ab7e35e1eff44ed78ad8f0015c6e85b4e}{joypad\+\_\+init()}}\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_ab7e35e1eff44ed78ad8f0015c6e85b4e}{joypad\+\_\+init()}}, \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ae0b13f17609b26c86fc33944aeb6e867}\label{gb_8h_ae0b13f17609b26c86fc33944aeb6e867}} +\index{gb.h@{gb.h}!enable\_interrupts@{enable\_interrupts}} +\index{enable\_interrupts@{enable\_interrupts}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{enable\_interrupts()}{enable\_interrupts()}} +{\footnotesize\ttfamily void enable\+\_\+interrupts (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Enables unmasked interrupts + +\begin{DoxyNote}{Note} +Use \mbox{\hyperlink{asm_2types_8h_ae0233515480e60d29bcc731469976e02}{C\+R\+I\+T\+I\+C\+AL}} \{...\} instead for creating a block of of code which should execute with interrupts temporarily turned off. +\end{DoxyNote} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_ad77796783b3a601b6f3781dfc3983499}{disable\+\_\+interrupts}}, \mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts}}, \mbox{\hyperlink{asm_2types_8h_ae0233515480e60d29bcc731469976e02}{C\+R\+I\+T\+I\+C\+AL}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ad77796783b3a601b6f3781dfc3983499}\label{gb_8h_ad77796783b3a601b6f3781dfc3983499}} +\index{gb.h@{gb.h}!disable\_interrupts@{disable\_interrupts}} +\index{disable\_interrupts@{disable\_interrupts}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{disable\_interrupts()}{disable\_interrupts()}} +{\footnotesize\ttfamily void disable\+\_\+interrupts (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Disables interrupts + +\begin{DoxyNote}{Note} +Use \mbox{\hyperlink{asm_2types_8h_ae0233515480e60d29bcc731469976e02}{C\+R\+I\+T\+I\+C\+AL}} \{...\} instead for creating a block of of code which should execute with interrupts temporarily turned off. +\end{DoxyNote} +This function may be called as many times as you like; however the first call to \mbox{\hyperlink{gb_8h_ae0b13f17609b26c86fc33944aeb6e867}{enable\+\_\+interrupts}} will re-\/enable them. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_ae0b13f17609b26c86fc33944aeb6e867}{enable\+\_\+interrupts}}, \mbox{\hyperlink{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}{set\+\_\+interrupts}}, \mbox{\hyperlink{asm_2types_8h_ae0233515480e60d29bcc731469976e02}{C\+R\+I\+T\+I\+C\+AL}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}\label{gb_8h_a9312e7ec34162d6b6ed0875631fa6fe3}} +\index{gb.h@{gb.h}!set\_interrupts@{set\_interrupts}} +\index{set\_interrupts@{set\_interrupts}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_interrupts()}{set\_interrupts()}} +{\footnotesize\ttfamily void set\+\_\+interrupts (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{flags }\end{DoxyParamCaption})} + +Clears any pending interrupts and sets the interrupt mask register IO to flags. +\begin{DoxyParams}{Parameters} +{\em flags} & A logical OR of $\ast$\+\_\+\+I\+F\+L\+A\+GS\\ +\hline +\end{DoxyParams} +\begin{DoxyNote}{Note} +\+: This disables and then re-\/enables interrupts so it must be used outside of a critical section. +\end{DoxyNote} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_ae0b13f17609b26c86fc33944aeb6e867}{enable\+\_\+interrupts()}}, \mbox{\hyperlink{gb_8h_ad77796783b3a601b6f3781dfc3983499}{disable\+\_\+interrupts()}} + +\mbox{\hyperlink{gb_8h_a2ca7720b9a5da9b2173e1f74dba85541}{V\+B\+L\+\_\+\+I\+F\+L\+AG}}, \mbox{\hyperlink{gb_8h_a61a9e2910380de6abb34df14ef634eb4}{L\+C\+D\+\_\+\+I\+F\+L\+AG}}, \mbox{\hyperlink{gb_8h_a604256210ec5b90b68185e1a18efab49}{T\+I\+M\+\_\+\+I\+F\+L\+AG}}, \mbox{\hyperlink{gb_8h_ad90564458646c5646b3880b93db3443e}{S\+I\+O\+\_\+\+I\+F\+L\+AG}}, \mbox{\hyperlink{gb_8h_a2f829cf27d6e3e24c875e9b82dfcb280}{J\+O\+Y\+\_\+\+I\+F\+L\+AG}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ad20897c5c8bd47f5d4005989bead0e55}\label{gb_8h_ad20897c5c8bd47f5d4005989bead0e55}} +\index{gb.h@{gb.h}!reset@{reset}} +\index{reset@{reset}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{reset()}{reset()}} +{\footnotesize\ttfamily void reset (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Performs a warm reset by reloading the C\+PU value then jumping to the start of crt0 (0x0150) \mbox{\Hypertarget{gb_8h_acd186eb292d441f9389e77b545a55619}\label{gb_8h_acd186eb292d441f9389e77b545a55619}} +\index{gb.h@{gb.h}!wait\_vbl\_done@{wait\_vbl\_done}} +\index{wait\_vbl\_done@{wait\_vbl\_done}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{wait\_vbl\_done()}{wait\_vbl\_done()}} +{\footnotesize\ttfamily void wait\+\_\+vbl\+\_\+done (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +H\+A\+L\+Ts the C\+PU and waits for the vertical blank interrupt (V\+BL) to finish. + +This is often used in main loops to idle the C\+PU at low power until it\textquotesingle{}s time to start the next frame. It\textquotesingle{}s also useful for syncing animation with the screen re-\/draw. + +Warning\+: If the V\+BL interrupt is disabled, this function will never return. If the screen is off this function returns immediately. \mbox{\Hypertarget{gb_8h_a04d57683cdd046dfa45e7e56d7c4ec4d}\label{gb_8h_a04d57683cdd046dfa45e7e56d7c4ec4d}} +\index{gb.h@{gb.h}!display\_off@{display\_off}} +\index{display\_off@{display\_off}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{display\_off()}{display\_off()}} +{\footnotesize\ttfamily void display\+\_\+off (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Turns the display off. + +Waits until the V\+BL interrupt before turning the display off. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a5ae6b05b3e1559c97f0d1b2daaaa0ee4}{D\+I\+S\+P\+L\+A\+Y\+\_\+\+ON}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a2550e7b6b9fd7e1fc495872502311dbb}\label{gb_8h_a2550e7b6b9fd7e1fc495872502311dbb}} +\index{gb.h@{gb.h}!refresh\_OAM@{refresh\_OAM}} +\index{refresh\_OAM@{refresh\_OAM}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{refresh\_OAM()}{refresh\_OAM()}} +{\footnotesize\ttfamily void refresh\+\_\+\+O\+AM (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Copies data from shadow O\+AM to O\+AM \mbox{\Hypertarget{gb_8h_a97b9f2fc6ac7cae97656aca940d65d44}\label{gb_8h_a97b9f2fc6ac7cae97656aca940d65d44}} +\index{gb.h@{gb.h}!hiramcpy@{hiramcpy}} +\index{hiramcpy@{hiramcpy}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{hiramcpy()}{hiramcpy()}} +{\footnotesize\ttfamily void hiramcpy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{dst, }\item[{const void $\ast$}]{src, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{n }\end{DoxyParamCaption})} + +Copies data from somewhere in the lower address space to part of hi-\/ram. +\begin{DoxyParams}{Parameters} +{\em dst} & Offset in high ram (0x\+F\+F00 and above) to copy to. \\ +\hline +{\em src} & Area to copy from \\ +\hline +{\em n} & Number of bytes to copy. \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{gb_8h_a7080649e10765996c581e5b618e603b8}\label{gb_8h_a7080649e10765996c581e5b618e603b8}} +\index{gb.h@{gb.h}!set\_vram\_byte@{set\_vram\_byte}} +\index{set\_vram\_byte@{set\_vram\_byte}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_vram\_byte()}{set\_vram\_byte()}} +{\footnotesize\ttfamily void set\+\_\+vram\+\_\+byte (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{addr, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{v }\end{DoxyParamCaption})} + +Set byte in vram at given memory location + + +\begin{DoxyParams}{Parameters} +{\em addr} & address to write to \\ +\hline +{\em v} & value \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{gb_8h_aa33ba8b8d381df76edf15ea251ccb675}\label{gb_8h_aa33ba8b8d381df76edf15ea251ccb675}} +\index{gb.h@{gb.h}!get\_vram\_byte@{get\_vram\_byte}} +\index{get\_vram\_byte@{get\_vram\_byte}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_vram\_byte()}{get\_vram\_byte()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} get\+\_\+vram\+\_\+byte (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{addr }\end{DoxyParamCaption})} + +Get byte from vram at given memory location + + +\begin{DoxyParams}{Parameters} +{\em addr} & address to read from \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +read value +\end{DoxyReturn} +\mbox{\Hypertarget{gb_8h_a9005b80d3315f50f0fb0e1728e7ee60f}\label{gb_8h_a9005b80d3315f50f0fb0e1728e7ee60f}} +\index{gb.h@{gb.h}!get\_bkg\_xy\_addr@{get\_bkg\_xy\_addr}} +\index{get\_bkg\_xy\_addr@{get\_bkg\_xy\_addr}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_bkg\_xy\_addr()}{get\_bkg\_xy\_addr()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}$\ast$ get\+\_\+bkg\+\_\+xy\+\_\+addr (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})} + +Get address of X,Y tile of background map \mbox{\Hypertarget{gb_8h_aa224c9bac27c7fd268e62bdf33338a84}\label{gb_8h_aa224c9bac27c7fd268e62bdf33338a84}} +\index{gb.h@{gb.h}!set\_2bpp\_palette@{set\_2bpp\_palette}} +\index{set\_2bpp\_palette@{set\_2bpp\_palette}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_2bpp\_palette()}{set\_2bpp\_palette()}} +{\footnotesize\ttfamily void set\+\_\+2bpp\+\_\+palette (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{palette }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets palette for 2bpp color translation for G\+G/\+S\+MS, does nothing on GB \mbox{\Hypertarget{gb_8h_a1f00bd35cd56aac84c108f5a802c3f9c}\label{gb_8h_a1f00bd35cd56aac84c108f5a802c3f9c}} +\index{gb.h@{gb.h}!set\_1bpp\_colors\_ex@{set\_1bpp\_colors\_ex}} +\index{set\_1bpp\_colors\_ex@{set\_1bpp\_colors\_ex}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_1bpp\_colors\_ex()}{set\_1bpp\_colors\_ex()}} +{\footnotesize\ttfamily void set\+\_\+1bpp\+\_\+colors\+\_\+ex (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{fgcolor, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{bgcolor, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{mode }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{gb_8h_adcb394299a1033616fc7d2faec8bd6ad}\label{gb_8h_adcb394299a1033616fc7d2faec8bd6ad}} +\index{gb.h@{gb.h}!set\_1bpp\_colors@{set\_1bpp\_colors}} +\index{set\_1bpp\_colors@{set\_1bpp\_colors}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_1bpp\_colors()}{set\_1bpp\_colors()}} +{\footnotesize\ttfamily void set\+\_\+1bpp\+\_\+colors (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{fgcolor, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{bgcolor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}\label{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}} +\index{gb.h@{gb.h}!set\_bkg\_data@{set\_bkg\_data}} +\index{set\_bkg\_data@{set\_bkg\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_data()}{set\_bkg\_data()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+tiles, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data }\end{DoxyParamCaption})} + +Sets V\+R\+AM Tile Pattern data for the Background / Window + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first tile to write \\ +\hline +{\em nb\+\_\+tiles} & Number of tiles to write \\ +\hline +{\em data} & Pointer to (2 bpp) source tile data\\ +\hline +\end{DoxyParams} +Writes {\bfseries{nb\+\_\+tiles}} tiles to V\+R\+AM starting at {\bfseries{first\+\_\+tile}}, tile data is sourced from {\bfseries{data}}. Each Tile is 16 bytes in size (8x8 pixels, 2 bits-\/per-\/pixel). + +Note\+: Sprite Tiles 128-\/255 share the same memory region as Background Tiles 128-\/255. + +G\+BC only\+: \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}} determines which bank of Background tile patterns are written to. \begin{DoxyItemize} +\item V\+B\+K\+\_\+\+R\+EG=0 indicates the first bank \item V\+B\+K\+\_\+\+R\+EG=1 indicates the second\end{DoxyItemize} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_ac2bf0c4919c30d322fa5853c896e710f}{set\+\_\+win\+\_\+data}}, \mbox{\hyperlink{gb_8h_abe4846d4570b4880b0e54b9e503f4d30}{set\+\_\+tile\+\_\+data}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a711fa26feecc76dc51482b0f77062859}\label{gb_8h_a711fa26feecc76dc51482b0f77062859}} +\index{gb.h@{gb.h}!set\_bkg\_1bpp\_data@{set\_bkg\_1bpp\_data}} +\index{set\_bkg\_1bpp\_data@{set\_bkg\_1bpp\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_1bpp\_data()}{set\_bkg\_1bpp\_data()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+1bpp\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+tiles, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data }\end{DoxyParamCaption})} + +Sets V\+R\+AM Tile Pattern data for the Background / Window using 1bpp source data + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first Tile to write \\ +\hline +{\em nb\+\_\+tiles} & Number of Tiles to write \\ +\hline +{\em data} & Pointer to (1bpp) source Tile Pattern data\\ +\hline +\end{DoxyParams} +Similar to \mbox{\hyperlink{sms_8h_a8130306da1177f4fef89e699f8e2add4}{set\+\_\+bkg\+\_\+data}}, except source data is 1 bit-\/per-\/pixel which gets expanded into 2 bits-\/per-\/pixel. + +For a given bit that represent a pixel\+: \begin{DoxyItemize} +\item 0 will be expanded into color 0 \item 1 will be expanded into color 1, 2 or 3 depending on color argument\end{DoxyItemize} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a8e3f36aa68ac036695816757f2a1322c}{S\+H\+O\+W\+\_\+\+B\+KG}}, \mbox{\hyperlink{gb_8h_a6d25f7c43b1cbbb48b95cda7ab2c3141}{H\+I\+D\+E\+\_\+\+B\+KG}}, \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a5c13238dfec416439d75b133a272e6df}\label{gb_8h_a5c13238dfec416439d75b133a272e6df}} +\index{gb.h@{gb.h}!get\_bkg\_data@{get\_bkg\_data}} +\index{get\_bkg\_data@{get\_bkg\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_bkg\_data()}{get\_bkg\_data()}} +{\footnotesize\ttfamily void get\+\_\+bkg\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+tiles, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data }\end{DoxyParamCaption})} + +Copies from Background / Window V\+R\+AM Tile Pattern data into a buffer + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first Tile to read from \\ +\hline +{\em nb\+\_\+tiles} & Number of Tiles to read \\ +\hline +{\em data} & Pointer to destination buffer for Tile Pattern data\\ +\hline +\end{DoxyParams} +Copies {\bfseries{nb\+\_\+tiles}} tiles from V\+R\+AM starting at {\bfseries{first\+\_\+tile}}, Tile data is copied into {\bfseries{data}}. + +Each Tile is 16 bytes, so the buffer pointed to by {\bfseries{data}} should be at least {\bfseries{nb\+\_\+tiles}} x 16 bytes in size. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a7ef32e7c1669aba48f235500a495baba}{get\+\_\+win\+\_\+data}}, \mbox{\hyperlink{gb_8h_afd8fd71eaa36b0ddd54a2e8e516ed224}{get\+\_\+data}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}\label{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}} +\index{gb.h@{gb.h}!set\_bkg\_tiles@{set\_bkg\_tiles}} +\index{set\_bkg\_tiles@{set\_bkg\_tiles}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_tiles()}{set\_bkg\_tiles()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+tiles (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{tiles }\end{DoxyParamCaption})} + +Sets a rectangular region of Background Tile Map. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to set in tiles. Range 1 -\/ 32 \\ +\hline +{\em h} & Height of area to set in tiles. Range 1 -\/ 32 \\ +\hline +{\em tiles} & Pointer to source tile map data\\ +\hline +\end{DoxyParams} +Entries are copied from map at {\bfseries{tiles}} to the Background Tile Map starting at {\bfseries{x}}, {\bfseries{y}} writing across for {\bfseries{w}} tiles and down for {\bfseries{h}} tiles. + +Use \mbox{\hyperlink{gb_8h_adb21d1c7d533a7133bab36a845489780}{set\+\_\+bkg\+\_\+submap()}} instead when\+: \begin{DoxyItemize} +\item Source map is wider than 32 tiles. \item Writing a width that does not match the source map width {\bfseries{and}} more than one row high at a time.\end{DoxyItemize} +One byte per source tile map entry. + +Writes that exceed coordinate 31 on the x or y axis will wrap around to the Left and Top edges. + +Note\+: Patterns 128-\/255 overlap with patterns 128-\/255 of the sprite Tile Pattern table. + +G\+BC only\+: \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}} determines whether Tile Numbers or Tile Attributes get set. \begin{DoxyItemize} +\item V\+B\+K\+\_\+\+R\+EG=0 Tile Numbers are written \item V\+B\+K\+\_\+\+R\+EG=1 Tile Attributes are written\end{DoxyItemize} +G\+BC Tile Attributes are defined as\+: \begin{DoxyItemize} +\item Bit 7 -\/ Priority flag. When this is set, it puts the tile above the sprites with colour 0 being transparent. ~\newline + 0\+: Below sprites ~\newline + 1\+: Above sprites ~\newline + Note\+: \mbox{\hyperlink{sms_8h_a8e3f36aa68ac036695816757f2a1322c}{S\+H\+O\+W\+\_\+\+B\+KG}} needs to be set for these priorities to take place. \item Bit 6 -\/ Vertical flip. Dictates which way up the tile is drawn vertically. ~\newline + 0\+: Normal ~\newline + 1\+: Flipped Vertically \item Bit 5 -\/ Horizontal flip. Dictates which way up the tile is drawn horizontally. ~\newline + 0\+: Normal ~\newline + 1\+: Flipped Horizontally \item Bit 4 -\/ Not used \item Bit 3 -\/ Character Bank specification. Dictates from which bank of Background Tile Patterns the tile is taken. ~\newline + 0\+: Bank 0 ~\newline + 1\+: Bank 1 \item Bit 2 -\/ See bit 0. \item Bit 1 -\/ See bit 0. \item Bit 0 -\/ Bits 0-\/2 indicate which of the 7 B\+KG colour palettes the tile is assigned.\end{DoxyItemize} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a8e3f36aa68ac036695816757f2a1322c}{S\+H\+O\+W\+\_\+\+B\+KG}} + +\mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_8h_adb21d1c7d533a7133bab36a845489780}{set\+\_\+bkg\+\_\+submap}}, \mbox{\hyperlink{gb_8h_a5c59b4ee6323af9832998906d087266b}{set\+\_\+win\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_a9b205ee302f54cb96ee59aac6d53a91c}{set\+\_\+tiles}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a811c386cac0df2d260aacb5a43608be5}\label{gb_8h_a811c386cac0df2d260aacb5a43608be5}} +\index{gb.h@{gb.h}!set\_bkg\_based\_tiles@{set\_bkg\_based\_tiles}} +\index{set\_bkg\_based\_tiles@{set\_bkg\_based\_tiles}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_based\_tiles()}{set\_bkg\_based\_tiles()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+based\+\_\+tiles (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{tiles, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+tile }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets a rectangular region of Background Tile Map. The offset value in {\bfseries{base\+\_\+tile}} is added to the tile ID for each map entry. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to set in tiles. Range 1 -\/ 32 \\ +\hline +{\em h} & Height of area to set in tiles. Range 1 -\/ 32 \\ +\hline +{\em tiles} & Pointer to source tile map data \\ +\hline +{\em base\+\_\+tile} & Offset each tile ID entry of the source map by this value. Range 1 -\/ 255\\ +\hline +\end{DoxyParams} +This is identical to \mbox{\hyperlink{sms_8h_a9a732aec1b7aec7d10a9d76ca4da2064}{set\+\_\+bkg\+\_\+tiles()}} except that it adds the {\bfseries{base\+\_\+tile}} parameter for when a tile map\textquotesingle{}s tiles don\textquotesingle{}t start at index zero. (For example, the tiles used by the map range from 100 -\/$>$ 120 in V\+R\+AM instead of 0 -\/$>$ 20). + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}} for more details +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_adb21d1c7d533a7133bab36a845489780}\label{gb_8h_adb21d1c7d533a7133bab36a845489780}} +\index{gb.h@{gb.h}!set\_bkg\_submap@{set\_bkg\_submap}} +\index{set\_bkg\_submap@{set\_bkg\_submap}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_submap()}{set\_bkg\_submap()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+submap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{map, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{map\+\_\+w }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets a rectangular area of the Background Tile Map using a sub-\/region from a source tile map. Useful for scrolling implementations of maps larger than 32 x 32 tiles. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to set in tiles. Range 1 -\/ 255 \\ +\hline +{\em h} & Height of area to set in tiles. Range 1 -\/ 255 \\ +\hline +{\em map} & Pointer to source tile map data \\ +\hline +{\em map\+\_\+w} & Width of source tile map in tiles. Range 1 -\/ 255\\ +\hline +\end{DoxyParams} +Entries are copied from {\bfseries{map}} to the Background Tile Map starting at {\bfseries{x}}, {\bfseries{y}} writing across for {\bfseries{w}} tiles and down for {\bfseries{h}} tiles, using {\bfseries{map\+\_\+w}} as the rowstride for the source tile map. + +Use this instead of \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}} when the source map is wider than 32 tiles or when writing a width that does not match the source map width. + +One byte per source tile map entry. + +Writes that exceed coordinate 31 on the x or y axis will wrap around to the Left and Top edges. + +See \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}} for setting C\+GB attribute maps with \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}}. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a8e3f36aa68ac036695816757f2a1322c}{S\+H\+O\+W\+\_\+\+B\+KG}} + +\mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_af80befa3cad9cae361c7cf4fffb3a8de}{set\+\_\+win\+\_\+submap}}, \mbox{\hyperlink{gb_8h_a9b205ee302f54cb96ee59aac6d53a91c}{set\+\_\+tiles}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_abc8bc5808620a9717263b8c9ec2237f0}\label{gb_8h_abc8bc5808620a9717263b8c9ec2237f0}} +\index{gb.h@{gb.h}!set\_bkg\_based\_submap@{set\_bkg\_based\_submap}} +\index{set\_bkg\_based\_submap@{set\_bkg\_based\_submap}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_based\_submap()}{set\_bkg\_based\_submap()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+based\+\_\+submap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{map, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{map\+\_\+w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+tile }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets a rectangular area of the Background Tile Map using a sub-\/region from a source tile map. The offset value in {\bfseries{base\+\_\+tile}} is added to the tile ID for each map entry. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to set in tiles. Range 1 -\/ 255 \\ +\hline +{\em h} & Height of area to set in tiles. Range 1 -\/ 255 \\ +\hline +{\em map} & Pointer to source tile map data \\ +\hline +{\em map\+\_\+w} & Width of source tile map in tiles. Range 1 -\/ 255 \\ +\hline +{\em base\+\_\+tile} & Offset each tile ID entry of the source map by this value. Range 1 -\/ 255\\ +\hline +\end{DoxyParams} +This is identical to \mbox{\hyperlink{gb_8h_abc8bc5808620a9717263b8c9ec2237f0}{set\+\_\+bkg\+\_\+based\+\_\+submap()}} except that it adds the {\bfseries{base\+\_\+tile}} parameter for when a tile map\textquotesingle{}s tiles don\textquotesingle{}t start at index zero. (For example, the tiles used by the map range from 100 -\/$>$ 120 in V\+R\+AM instead of 0 -\/$>$ 20). + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_abc8bc5808620a9717263b8c9ec2237f0}{set\+\_\+bkg\+\_\+based\+\_\+submap}} for more details +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_aa6bcf24d97f93307b30f2906251f39a0}\label{gb_8h_aa6bcf24d97f93307b30f2906251f39a0}} +\index{gb.h@{gb.h}!get\_bkg\_tiles@{get\_bkg\_tiles}} +\index{get\_bkg\_tiles@{get\_bkg\_tiles}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_bkg\_tiles()}{get\_bkg\_tiles()}} +{\footnotesize\ttfamily void get\+\_\+bkg\+\_\+tiles (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{tiles }\end{DoxyParamCaption})} + +Copies a rectangular region of Background Tile Map entries into a buffer. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to copy in tiles. Range 0 -\/ 31 \\ +\hline +{\em h} & Height of area to copy in tiles. Range 0 -\/ 31 \\ +\hline +{\em tiles} & Pointer to destination buffer for Tile Map data\\ +\hline +\end{DoxyParams} +Entries are copied into {\bfseries{tiles}} from the Background Tile Map starting at {\bfseries{x}}, {\bfseries{y}} reading across for {\bfseries{w}} tiles and down for {\bfseries{h}} tiles. + +One byte per tile. + +The buffer pointed to by {\bfseries{tiles}} should be at least {\bfseries{x}} x {\bfseries{y}} bytes in size. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a8a469de4c6640f921254b336b5a6191a}{get\+\_\+win\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_a55c6581dbe9300dc6df41730f090af51}{get\+\_\+bkg\+\_\+tile\+\_\+xy}}, \mbox{\hyperlink{gb_8h_a728b9440accedc5fb3477be3d150323a}{get\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_aa33ba8b8d381df76edf15ea251ccb675}{get\+\_\+vram\+\_\+byte}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a74ee8f0a3495508c90de4ce246b81060}\label{gb_8h_a74ee8f0a3495508c90de4ce246b81060}} +\index{gb.h@{gb.h}!set\_bkg\_tile\_xy@{set\_bkg\_tile\_xy}} +\index{set\_bkg\_tile\_xy@{set\_bkg\_tile\_xy}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_tile\_xy()}{set\_bkg\_tile\_xy()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}$\ast$ set\+\_\+bkg\+\_\+tile\+\_\+xy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{t }\end{DoxyParamCaption})} + +Set single tile t on background layer at x,y +\begin{DoxyParams}{Parameters} +{\em x} & X-\/coordinate \\ +\hline +{\em y} & Y-\/coordinate \\ +\hline +{\em t} & tile index \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +returns the address of tile, so you may use faster \mbox{\hyperlink{gb_8h_a7080649e10765996c581e5b618e603b8}{set\+\_\+vram\+\_\+byte()}} later +\end{DoxyReturn} +\mbox{\Hypertarget{gb_8h_a55c6581dbe9300dc6df41730f090af51}\label{gb_8h_a55c6581dbe9300dc6df41730f090af51}} +\index{gb.h@{gb.h}!get\_bkg\_tile\_xy@{get\_bkg\_tile\_xy}} +\index{get\_bkg\_tile\_xy@{get\_bkg\_tile\_xy}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_bkg\_tile\_xy()}{get\_bkg\_tile\_xy()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} get\+\_\+bkg\+\_\+tile\+\_\+xy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})} + +Get single tile t on background layer at x,y +\begin{DoxyParams}{Parameters} +{\em x} & X-\/coordinate \\ +\hline +{\em y} & Y-\/coordinate \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +returns tile index +\end{DoxyReturn} +\mbox{\Hypertarget{gb_8h_a6261537edc74068e3f7f057e6a3e8a57}\label{gb_8h_a6261537edc74068e3f7f057e6a3e8a57}} +\index{gb.h@{gb.h}!move\_bkg@{move\_bkg}} +\index{move\_bkg@{move\_bkg}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{move\_bkg()}{move\_bkg()}} +{\footnotesize\ttfamily void move\+\_\+bkg (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Moves the Background Layer to the position specified in {\bfseries{x}} and {\bfseries{y}} in pixels. + + +\begin{DoxyParams}{Parameters} +{\em x} & X axis screen coordinate for Left edge of the Background \\ +\hline +{\em y} & Y axis screen coordinate for Top edge of the Background\\ +\hline +\end{DoxyParams} +0,0 is the top left corner of the GB screen. The Background Layer wraps around the screen, so when part of it goes off the screen it appears on the opposite side (factoring in the larger size of the Background Layer versus the screen size). + +The background layer is always under the Window Layer. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a8e3f36aa68ac036695816757f2a1322c}{S\+H\+O\+W\+\_\+\+B\+KG}}, \mbox{\hyperlink{gb_8h_a6d25f7c43b1cbbb48b95cda7ab2c3141}{H\+I\+D\+E\+\_\+\+B\+KG}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a1f583f7a880daa6145ca78b086a209d1}\label{gb_8h_a1f583f7a880daa6145ca78b086a209d1}} +\index{gb.h@{gb.h}!scroll\_bkg@{scroll\_bkg}} +\index{scroll\_bkg@{scroll\_bkg}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{scroll\_bkg()}{scroll\_bkg()}} +{\footnotesize\ttfamily void scroll\+\_\+bkg (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Moves the Background relative to it\textquotesingle{}s current position. + + +\begin{DoxyParams}{Parameters} +{\em x} & Number of pixels to move the Background on the {\bfseries{X axis}} ~\newline + Range\+: -\/128 -\/ 127 \\ +\hline +{\em y} & Number of pixels to move the Background on the {\bfseries{Y axis}} ~\newline + Range\+: -\/128 -\/ 127\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a6261537edc74068e3f7f057e6a3e8a57}{move\+\_\+bkg}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_aa8213cfad631865e3b6faec18e772cb4}\label{gb_8h_aa8213cfad631865e3b6faec18e772cb4}} +\index{gb.h@{gb.h}!get\_win\_xy\_addr@{get\_win\_xy\_addr}} +\index{get\_win\_xy\_addr@{get\_win\_xy\_addr}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_win\_xy\_addr()}{get\_win\_xy\_addr()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}$\ast$ get\+\_\+win\+\_\+xy\+\_\+addr (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})} + +Get address of X,Y tile of window map \mbox{\Hypertarget{gb_8h_ac2bf0c4919c30d322fa5853c896e710f}\label{gb_8h_ac2bf0c4919c30d322fa5853c896e710f}} +\index{gb.h@{gb.h}!set\_win\_data@{set\_win\_data}} +\index{set\_win\_data@{set\_win\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_win\_data()}{set\_win\_data()}} +{\footnotesize\ttfamily void set\+\_\+win\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+tiles, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data }\end{DoxyParamCaption})} + +Sets V\+R\+AM Tile Pattern data for the Window / Background + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first tile to write \\ +\hline +{\em nb\+\_\+tiles} & Number of tiles to write \\ +\hline +{\em data} & Pointer to (2 bpp) source Tile Pattern data.\\ +\hline +\end{DoxyParams} +This is the same as \mbox{\hyperlink{sms_8h_a8130306da1177f4fef89e699f8e2add4}{set\+\_\+bkg\+\_\+data}}, since the Window Layer and Background Layer share the same Tile pattern data. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data}} + +\mbox{\hyperlink{gb_8h_a5c59b4ee6323af9832998906d087266b}{set\+\_\+win\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_8h_a650d2df96e69a40b70548ab468e00f25}{set\+\_\+data}} + +\mbox{\hyperlink{gb_8h_ab19da2ab719bb8897bc0843a84af28f8}{S\+H\+O\+W\+\_\+\+W\+IN}}, \mbox{\hyperlink{gb_8h_aedb6e32c42d4b1d25ad11adccd7100c3}{H\+I\+D\+E\+\_\+\+W\+IN}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_acd5ee7a94059e6edbe9223f291bc2b46}\label{gb_8h_acd5ee7a94059e6edbe9223f291bc2b46}} +\index{gb.h@{gb.h}!set\_win\_1bpp\_data@{set\_win\_1bpp\_data}} +\index{set\_win\_1bpp\_data@{set\_win\_1bpp\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_win\_1bpp\_data()}{set\_win\_1bpp\_data()}} +{\footnotesize\ttfamily void set\+\_\+win\+\_\+1bpp\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+tiles, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data }\end{DoxyParamCaption})} + +Sets V\+R\+AM Tile Pattern data for the Window / Background using 1bpp source data + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first tile to write \\ +\hline +{\em nb\+\_\+tiles} & Number of tiles to write \\ +\hline +{\em data} & Pointer to (1bpp) source Tile Pattern data\\ +\hline +\end{DoxyParams} +This is the same as \mbox{\hyperlink{sms_8h_a4d5f74eed0489ebfdc2410ee3f9f7f04}{set\+\_\+bkg\+\_\+1bpp\+\_\+data}}, since the Window Layer and Background Layer share the same Tile pattern data. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_8h_a711fa26feecc76dc51482b0f77062859}{set\+\_\+bkg\+\_\+1bpp\+\_\+data}}, \mbox{\hyperlink{gb_8h_ac2bf0c4919c30d322fa5853c896e710f}{set\+\_\+win\+\_\+data}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a7ef32e7c1669aba48f235500a495baba}\label{gb_8h_a7ef32e7c1669aba48f235500a495baba}} +\index{gb.h@{gb.h}!get\_win\_data@{get\_win\_data}} +\index{get\_win\_data@{get\_win\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_win\_data()}{get\_win\_data()}} +{\footnotesize\ttfamily void get\+\_\+win\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+tiles, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data }\end{DoxyParamCaption})} + +Copies from Window / Background V\+R\+AM Tile Pattern data into a buffer + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first Tile to read from \\ +\hline +{\em nb\+\_\+tiles} & Number of Tiles to read \\ +\hline +{\em data} & Pointer to destination buffer for Tile Pattern Data\\ +\hline +\end{DoxyParams} +This is the same as \mbox{\hyperlink{gb_8h_a5c13238dfec416439d75b133a272e6df}{get\+\_\+bkg\+\_\+data}}, since the Window Layer and Background Layer share the same Tile pattern data. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a5c13238dfec416439d75b133a272e6df}{get\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_8h_afd8fd71eaa36b0ddd54a2e8e516ed224}{get\+\_\+data}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a5c59b4ee6323af9832998906d087266b}\label{gb_8h_a5c59b4ee6323af9832998906d087266b}} +\index{gb.h@{gb.h}!set\_win\_tiles@{set\_win\_tiles}} +\index{set\_win\_tiles@{set\_win\_tiles}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_win\_tiles()}{set\_win\_tiles()}} +{\footnotesize\ttfamily void set\+\_\+win\+\_\+tiles (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{tiles }\end{DoxyParamCaption})} + +Sets a rectangular region of the Window Tile Map. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Window Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Window Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to set in tiles. Range 1 -\/ 32 \\ +\hline +{\em h} & Height of area to set in tiles. Range 1 -\/ 32 \\ +\hline +{\em tiles} & Pointer to source tile map data\\ +\hline +\end{DoxyParams} +Entries are copied from map at {\bfseries{tiles}} to the Window Tile Map starting at {\bfseries{x}}, {\bfseries{y}} writing across for {\bfseries{w}} tiles and down for {\bfseries{h}} tiles. + +Use \mbox{\hyperlink{gb_8h_af80befa3cad9cae361c7cf4fffb3a8de}{set\+\_\+win\+\_\+submap()}} instead when\+: \begin{DoxyItemize} +\item Source map is wider than 32 tiles. \item Writing a width that does not match the source map width {\bfseries{and}} more than one row high at a time.\end{DoxyItemize} +One byte per source tile map entry. + +Writes that exceed coordinate 31 on the x or y axis will wrap around to the Left and Top edges. + +Note\+: Patterns 128-\/255 overlap with patterns 128-\/255 of the sprite Tile Pattern table. + +G\+BC only\+: \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}} determines whether Tile Numbers or Tile Attributes get set. \begin{DoxyItemize} +\item V\+B\+K\+\_\+\+R\+EG=0 Tile Numbers are written \item V\+B\+K\+\_\+\+R\+EG=1 Tile Attributes are written\end{DoxyItemize} +For more details about G\+BC Tile Attributes see \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}}. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_ab19da2ab719bb8897bc0843a84af28f8}{S\+H\+O\+W\+\_\+\+W\+IN}}, \mbox{\hyperlink{gb_8h_aedb6e32c42d4b1d25ad11adccd7100c3}{H\+I\+D\+E\+\_\+\+W\+IN}}, \mbox{\hyperlink{gb_8h_af80befa3cad9cae361c7cf4fffb3a8de}{set\+\_\+win\+\_\+submap}}, \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_8h_a9b205ee302f54cb96ee59aac6d53a91c}{set\+\_\+tiles}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a739a212609ae60c9c56c095f96b4ea80}\label{gb_8h_a739a212609ae60c9c56c095f96b4ea80}} +\index{gb.h@{gb.h}!set\_win\_based\_tiles@{set\_win\_based\_tiles}} +\index{set\_win\_based\_tiles@{set\_win\_based\_tiles}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_win\_based\_tiles()}{set\_win\_based\_tiles()}} +{\footnotesize\ttfamily void set\+\_\+win\+\_\+based\+\_\+tiles (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{tiles, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+tile }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets a rectangular region of the Window Tile Map. The offset value in {\bfseries{base\+\_\+tile}} is added to the tile ID for each map entry. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Window Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Window Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to set in tiles. Range 1 -\/ 32 \\ +\hline +{\em h} & Height of area to set in tiles. Range 1 -\/ 32 \\ +\hline +{\em tiles} & Pointer to source tile map data \\ +\hline +{\em base\+\_\+tile} & Offset each tile ID entry of the source map by this value. Range 1 -\/ 255\\ +\hline +\end{DoxyParams} +This is identical to \mbox{\hyperlink{sms_8h_a429db030287423012f40a6dca81ae7e3}{set\+\_\+win\+\_\+tiles()}} except that it adds the {\bfseries{base\+\_\+tile}} parameter for when a tile map\textquotesingle{}s tiles don\textquotesingle{}t start at index zero. (For example, the tiles used by the map range from 100 -\/$>$ 120 in V\+R\+AM instead of 0 -\/$>$ 20). + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a5c59b4ee6323af9832998906d087266b}{set\+\_\+win\+\_\+tiles}} for more details +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_af80befa3cad9cae361c7cf4fffb3a8de}\label{gb_8h_af80befa3cad9cae361c7cf4fffb3a8de}} +\index{gb.h@{gb.h}!set\_win\_submap@{set\_win\_submap}} +\index{set\_win\_submap@{set\_win\_submap}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_win\_submap()}{set\_win\_submap()}} +{\footnotesize\ttfamily void set\+\_\+win\+\_\+submap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{map, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{map\+\_\+w }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets a rectangular area of the Window Tile Map using a sub-\/region from a source tile map. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Window Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Wimdpw Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to set in tiles. Range 1 -\/ 255 \\ +\hline +{\em h} & Height of area to set in tiles. Range 1 -\/ 255 \\ +\hline +{\em map} & Pointer to source tile map data \\ +\hline +{\em map\+\_\+w} & Width of source tile map in tiles. Range 1 -\/ 255\\ +\hline +\end{DoxyParams} +Entries are copied from {\bfseries{map}} to the Window Tile Map starting at {\bfseries{x}}, {\bfseries{y}} writing across for {\bfseries{w}} tiles and down for {\bfseries{h}} tiles, using {\bfseries{map\+\_\+w}} as the rowstride for the source tile map. + +Use this instead of \mbox{\hyperlink{gb_8h_a5c59b4ee6323af9832998906d087266b}{set\+\_\+win\+\_\+tiles}} when the source map is wider than 32 tiles or when writing a width that does not match the source map width. + +One byte per source tile map entry. + +Writes that exceed coordinate 31 on the x or y axis will wrap around to the Left and Top edges. + +G\+BC only\+: \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}} determines whether Tile Numbers or Tile Attributes get set. \begin{DoxyItemize} +\item V\+B\+K\+\_\+\+R\+EG=0 Tile Numbers are written \item V\+B\+K\+\_\+\+R\+EG=1 Tile Attributes are written\end{DoxyItemize} +See \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}} for details about C\+GB attribute maps with \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}}. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_ab19da2ab719bb8897bc0843a84af28f8}{S\+H\+O\+W\+\_\+\+W\+IN}}, \mbox{\hyperlink{gb_8h_aedb6e32c42d4b1d25ad11adccd7100c3}{H\+I\+D\+E\+\_\+\+W\+IN}}, \mbox{\hyperlink{gb_8h_a5c59b4ee6323af9832998906d087266b}{set\+\_\+win\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_adb21d1c7d533a7133bab36a845489780}{set\+\_\+bkg\+\_\+submap}}, \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_8h_a9b205ee302f54cb96ee59aac6d53a91c}{set\+\_\+tiles}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a1b8a1026983cb2b2c0bd46334b4692a0}\label{gb_8h_a1b8a1026983cb2b2c0bd46334b4692a0}} +\index{gb.h@{gb.h}!set\_win\_based\_submap@{set\_win\_based\_submap}} +\index{set\_win\_based\_submap@{set\_win\_based\_submap}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_win\_based\_submap()}{set\_win\_based\_submap()}} +{\footnotesize\ttfamily void set\+\_\+win\+\_\+based\+\_\+submap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{map, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{map\+\_\+w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+tile }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets a rectangular area of the Window Tile Map using a sub-\/region from a source tile map. The offset value in {\bfseries{base\+\_\+tile}} is added to the tile ID for each map entry. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Window Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Wimdpw Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to set in tiles. Range 1 -\/ 255 \\ +\hline +{\em h} & Height of area to set in tiles. Range 1 -\/ 255 \\ +\hline +{\em map} & Pointer to source tile map data \\ +\hline +{\em map\+\_\+w} & Width of source tile map in tiles. Range 1 -\/ 255 \\ +\hline +{\em base\+\_\+tile} & Offset each tile ID entry of the source map by this value. Range 1 -\/ 255\\ +\hline +\end{DoxyParams} +This is identical to \mbox{\hyperlink{gb_8h_af80befa3cad9cae361c7cf4fffb3a8de}{set\+\_\+win\+\_\+submap()}} except that it adds the {\bfseries{base\+\_\+tile}} parameter for when a tile map\textquotesingle{}s tiles don\textquotesingle{}t start at index zero. (For example, the tiles used by the map range from 100 -\/$>$ 120 in V\+R\+AM instead of 0 -\/$>$ 20). + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_af80befa3cad9cae361c7cf4fffb3a8de}{set\+\_\+win\+\_\+submap}} for more details +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a8a469de4c6640f921254b336b5a6191a}\label{gb_8h_a8a469de4c6640f921254b336b5a6191a}} +\index{gb.h@{gb.h}!get\_win\_tiles@{get\_win\_tiles}} +\index{get\_win\_tiles@{get\_win\_tiles}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_win\_tiles()}{get\_win\_tiles()}} +{\footnotesize\ttfamily void get\+\_\+win\+\_\+tiles (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{tiles }\end{DoxyParamCaption})} + +Copies a rectangular region of Window Tile Map entries into a buffer. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Window Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Window Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to copy in tiles. Range 0 -\/ 31 \\ +\hline +{\em h} & Height of area to copy in tiles. Range 0 -\/ 31 \\ +\hline +{\em tiles} & Pointer to destination buffer for Tile Map data\\ +\hline +\end{DoxyParams} +Entries are copied into {\bfseries{tiles}} from the Window Tile Map starting at {\bfseries{x}}, {\bfseries{y}} reading across for {\bfseries{w}} tiles and down for {\bfseries{h}} tiles. + +One byte per tile. + +The buffer pointed to by {\bfseries{tiles}} should be at least {\bfseries{x}} x {\bfseries{y}} bytes in size. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aa6bcf24d97f93307b30f2906251f39a0}{get\+\_\+bkg\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_a55c6581dbe9300dc6df41730f090af51}{get\+\_\+bkg\+\_\+tile\+\_\+xy}}, \mbox{\hyperlink{gb_8h_a728b9440accedc5fb3477be3d150323a}{get\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_aa33ba8b8d381df76edf15ea251ccb675}{get\+\_\+vram\+\_\+byte}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a0c70a53db1fbc0c99627da3f282befd8}\label{gb_8h_a0c70a53db1fbc0c99627da3f282befd8}} +\index{gb.h@{gb.h}!set\_win\_tile\_xy@{set\_win\_tile\_xy}} +\index{set\_win\_tile\_xy@{set\_win\_tile\_xy}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_win\_tile\_xy()}{set\_win\_tile\_xy()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}$\ast$ set\+\_\+win\+\_\+tile\+\_\+xy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{t }\end{DoxyParamCaption})} + +Set single tile t on window layer at x,y +\begin{DoxyParams}{Parameters} +{\em x} & X-\/coordinate \\ +\hline +{\em y} & Y-\/coordinate \\ +\hline +{\em t} & tile index \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +returns the address of tile, so you may use faster \mbox{\hyperlink{gb_8h_a7080649e10765996c581e5b618e603b8}{set\+\_\+vram\+\_\+byte()}} later +\end{DoxyReturn} +\mbox{\Hypertarget{gb_8h_a2e29fdca81c28c627c2591029722e71c}\label{gb_8h_a2e29fdca81c28c627c2591029722e71c}} +\index{gb.h@{gb.h}!get\_win\_tile\_xy@{get\_win\_tile\_xy}} +\index{get\_win\_tile\_xy@{get\_win\_tile\_xy}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_win\_tile\_xy()}{get\_win\_tile\_xy()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} get\+\_\+win\+\_\+tile\+\_\+xy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})} + +Get single tile t on window layer at x,y +\begin{DoxyParams}{Parameters} +{\em x} & X-\/coordinate \\ +\hline +{\em y} & Y-\/coordinate \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +returns the tile index +\end{DoxyReturn} +\mbox{\Hypertarget{gb_8h_aeef17768c494bcd6b67f7591329f7ff5}\label{gb_8h_aeef17768c494bcd6b67f7591329f7ff5}} +\index{gb.h@{gb.h}!move\_win@{move\_win}} +\index{move\_win@{move\_win}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{move\_win()}{move\_win()}} +{\footnotesize\ttfamily void move\+\_\+win (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Moves the Window to the {\bfseries{x}}, {\bfseries{y}} position on the screen. + + +\begin{DoxyParams}{Parameters} +{\em x} & X coordinate for Left edge of the Window (actual displayed location will be X -\/ 7) \\ +\hline +{\em y} & Y coordinate for Top edge of the Window\\ +\hline +\end{DoxyParams} +7,0 is the top left corner of the screen in Window coordinates. The Window is locked to the bottom right corner. + +The Window is always over the Background layer. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_ab19da2ab719bb8897bc0843a84af28f8}{S\+H\+O\+W\+\_\+\+W\+IN}}, \mbox{\hyperlink{gb_8h_aedb6e32c42d4b1d25ad11adccd7100c3}{H\+I\+D\+E\+\_\+\+W\+IN}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a12c2b5ac249d01caf1561cbbf3962044}\label{gb_8h_a12c2b5ac249d01caf1561cbbf3962044}} +\index{gb.h@{gb.h}!scroll\_win@{scroll\_win}} +\index{scroll\_win@{scroll\_win}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{scroll\_win()}{scroll\_win()}} +{\footnotesize\ttfamily void scroll\+\_\+win (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Move the Window relative to its current position. + + +\begin{DoxyParams}{Parameters} +{\em x} & Number of pixels to move the window on the {\bfseries{X axis}} ~\newline + Range\+: -\/128 -\/ 127 \\ +\hline +{\em y} & Number of pixels to move the window on the {\bfseries{Y axis}} ~\newline + Range\+: -\/128 -\/ 127\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aeef17768c494bcd6b67f7591329f7ff5}{move\+\_\+win}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ae45b1c639698951b47e44fa8e89556f2}\label{gb_8h_ae45b1c639698951b47e44fa8e89556f2}} +\index{gb.h@{gb.h}!set\_sprite\_data@{set\_sprite\_data}} +\index{set\_sprite\_data@{set\_sprite\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_data()}{set\_sprite\_data()}} +{\footnotesize\ttfamily void set\+\_\+sprite\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+tiles, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data }\end{DoxyParamCaption})} + +Sets V\+R\+AM Tile Pattern data for Sprites + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first tile to write \\ +\hline +{\em nb\+\_\+tiles} & Number of tiles to write \\ +\hline +{\em data} & Pointer to (2 bpp) source Tile Pattern data\\ +\hline +\end{DoxyParams} +Writes {\bfseries{nb\+\_\+tiles}} tiles to V\+R\+AM starting at {\bfseries{first\+\_\+tile}}, tile data is sourced from {\bfseries{data}}. Each Tile is 16 bytes in size (8x8 pixels, 2 bits-\/per-\/pixel). + +Note\+: Sprite Tiles 128-\/255 share the same memory region as Background Tiles 128-\/255. + +G\+BC only\+: \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}} determines which bank of Background tile patterns are written to. \begin{DoxyItemize} +\item V\+B\+K\+\_\+\+R\+EG=0 indicates the first bank \item V\+B\+K\+\_\+\+R\+EG=1 indicates the second \end{DoxyItemize} +\mbox{\Hypertarget{gb_8h_ab3e60c92c9f8fbed855f8712187ea3ea}\label{gb_8h_ab3e60c92c9f8fbed855f8712187ea3ea}} +\index{gb.h@{gb.h}!set\_sprite\_1bpp\_data@{set\_sprite\_1bpp\_data}} +\index{set\_sprite\_1bpp\_data@{set\_sprite\_1bpp\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_1bpp\_data()}{set\_sprite\_1bpp\_data()}} +{\footnotesize\ttfamily void set\+\_\+sprite\+\_\+1bpp\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+tiles, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data }\end{DoxyParamCaption})} + +Sets V\+R\+AM Tile Pattern data for Sprites using 1bpp source data + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first tile to write \\ +\hline +{\em nb\+\_\+tiles} & Number of tiles to write \\ +\hline +{\em data} & Pointer to (1bpp) source Tile Pattern data\\ +\hline +\end{DoxyParams} +Similar to \mbox{\hyperlink{sms_8h_a216a3e3d320ee4d8cf4845600487ae39}{set\+\_\+sprite\+\_\+data}}, except source data is 1 bit-\/per-\/pixel which gets expanded into 2 bits-\/per-\/pixel. + +For a given bit that represent a pixel\+: \begin{DoxyItemize} +\item 0 will be expanded into color 0 \item 1 will be expanded into color 3\end{DoxyItemize} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a495bc9f405f916f02ad5d97e6e730134}{S\+H\+O\+W\+\_\+\+S\+P\+R\+I\+T\+ES}}, \mbox{\hyperlink{gb_8h_a69ef98aee664b8abd8d1a3d45f016dda}{H\+I\+D\+E\+\_\+\+S\+P\+R\+I\+T\+ES}}, \mbox{\hyperlink{gb_8h_a05bf0b9f1328de7b568a19a2a428bcfe}{set\+\_\+sprite\+\_\+tile}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_adcdec4034a14abc5be9bb88c29b947c9}\label{gb_8h_adcdec4034a14abc5be9bb88c29b947c9}} +\index{gb.h@{gb.h}!get\_sprite\_data@{get\_sprite\_data}} +\index{get\_sprite\_data@{get\_sprite\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_sprite\_data()}{get\_sprite\_data()}} +{\footnotesize\ttfamily void get\+\_\+sprite\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+tiles, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data }\end{DoxyParamCaption})} + +Copies from Sprite V\+R\+AM Tile Pattern data into a buffer + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first tile to read from \\ +\hline +{\em nb\+\_\+tiles} & Number of tiles to read \\ +\hline +{\em data} & Pointer to destination buffer for Tile Pattern data\\ +\hline +\end{DoxyParams} +Copies {\bfseries{nb\+\_\+tiles}} tiles from V\+R\+AM starting at {\bfseries{first\+\_\+tile}}, tile data is copied into {\bfseries{data}}. + +Each Tile is 16 bytes, so the buffer pointed to by {\bfseries{data}} should be at least {\bfseries{nb\+\_\+tiles}} x 16 bytes in size. \mbox{\Hypertarget{gb_8h_a7e0cdfd6b9a2ae1b7f30384f132d8687}\label{gb_8h_a7e0cdfd6b9a2ae1b7f30384f132d8687}} +\index{gb.h@{gb.h}!SET\_SHADOW\_OAM\_ADDRESS@{SET\_SHADOW\_OAM\_ADDRESS}} +\index{SET\_SHADOW\_OAM\_ADDRESS@{SET\_SHADOW\_OAM\_ADDRESS}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{SET\_SHADOW\_OAM\_ADDRESS()}{SET\_SHADOW\_OAM\_ADDRESS()}} +{\footnotesize\ttfamily void S\+E\+T\+\_\+\+S\+H\+A\+D\+O\+W\+\_\+\+O\+A\+M\+\_\+\+A\+D\+D\+R\+E\+SS (\begin{DoxyParamCaption}\item[{void $\ast$}]{address }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Enable O\+AM D\+MA copy each V\+Blank and set it to transfer any 256-\/byte aligned array \mbox{\Hypertarget{gb_8h_a05bf0b9f1328de7b568a19a2a428bcfe}\label{gb_8h_a05bf0b9f1328de7b568a19a2a428bcfe}} +\index{gb.h@{gb.h}!set\_sprite\_tile@{set\_sprite\_tile}} +\index{set\_sprite\_tile@{set\_sprite\_tile}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_tile()}{set\_sprite\_tile()}} +{\footnotesize\ttfamily void set\+\_\+sprite\+\_\+tile (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{tile }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets sprite number {\bfseries{nb\+\_\+\+\_\+in the O\+AM to display tile number \+\_\+\+\_\+tile}}. + + +\begin{DoxyParams}{Parameters} +{\em nb} & Sprite number, range 0 -\/ 39 \\ +\hline +{\em tile} & Selects a tile (0 -\/ 255) from memory at 8000h -\/ 8F\+F\+Fh ~\newline + In C\+GB Mode this could be either in V\+R\+AM Bank ~\newline + 0 or 1, depending on Bit 3 of the O\+AM Attribute Flag ~\newline + (see \mbox{\hyperlink{sms_8h_a99ea3252469e3614e977cce2aa1d06f7}{set\+\_\+sprite\+\_\+prop}})\\ +\hline +\end{DoxyParams} +In 8x16 mode\+: \begin{DoxyItemize} +\item The sprite will also display the next tile ({\bfseries{tile}} + 1) directly below (y + 8) the first tile. \item The lower bit of the tile number is ignored\+: the upper 8x8 tile is ({\bfseries{tile}} \& 0x\+FE), and the lower 8x8 tile is ({\bfseries{tile}} $\vert$ 0x01). \item See\+: \mbox{\hyperlink{sms_8h_af91d252f07f4764996154820f970c101}{S\+P\+R\+I\+T\+E\+S\+\_\+8x16}} \end{DoxyItemize} +\mbox{\Hypertarget{gb_8h_af5c0beff7d7a7d8641b51fd95c811b2a}\label{gb_8h_af5c0beff7d7a7d8641b51fd95c811b2a}} +\index{gb.h@{gb.h}!get\_sprite\_tile@{get\_sprite\_tile}} +\index{get\_sprite\_tile@{get\_sprite\_tile}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_sprite\_tile()}{get\_sprite\_tile()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} get\+\_\+sprite\+\_\+tile (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Returns the tile number of sprite number {\bfseries{nb}} in the O\+AM. + + +\begin{DoxyParams}{Parameters} +{\em nb} & Sprite number, range 0 -\/ 39\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a05bf0b9f1328de7b568a19a2a428bcfe}{set\+\_\+sprite\+\_\+tile}} for more details +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a99ea3252469e3614e977cce2aa1d06f7}\label{gb_8h_a99ea3252469e3614e977cce2aa1d06f7}} +\index{gb.h@{gb.h}!set\_sprite\_prop@{set\_sprite\_prop}} +\index{set\_sprite\_prop@{set\_sprite\_prop}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_prop()}{set\_sprite\_prop()}} +{\footnotesize\ttfamily void set\+\_\+sprite\+\_\+prop (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{prop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets the O\+AM Property Flags of sprite number {\bfseries{nb}} to those defined in {\bfseries{prop}}. + + +\begin{DoxyParams}{Parameters} +{\em nb} & Sprite number, range 0 -\/ 39 \\ +\hline +{\em prop} & Property setting (see bitfield description)\\ +\hline +\end{DoxyParams} +The bits in {\bfseries{prop}} represent\+: \begin{DoxyItemize} +\item Bit 7 -\/ Priority flag. When this is set the sprites appear behind the background and window layer. ~\newline + 0\+: infront ~\newline + 1\+: behind \item Bit 6 -\/ Vertical flip. Dictates which way up the sprite is drawn vertically. ~\newline + 0\+: normal ~\newline + 1\+:upside down \item Bit 5 -\/ Horizontal flip. Dictates which way up the sprite is drawn horizontally. ~\newline + 0\+: normal ~\newline + 1\+:back to front \item Bit 4 -\/ D\+M\+G/\+Non-\/\+C\+GB Mode Only. Assigns either one of the two b/w palettes to the sprite. ~\newline + 0\+: O\+BJ palette 0 ~\newline + 1\+: O\+BJ palette 1 \item Bit 3 -\/ G\+BC only. Dictates from which bank of Sprite Tile Patterns the tile is taken. ~\newline + 0\+: Bank 0 ~\newline + 1\+: Bank 1 \item Bit 2 -\/ See bit 0. \item Bit 1 -\/ See bit 0. \item Bit 0 -\/ G\+BC only. Bits 0-\/2 indicate which of the 7 O\+BJ colour palettes the sprite is assigned. \end{DoxyItemize} +\mbox{\Hypertarget{gb_8h_a6b873c807c9e2c90fb574951e85fdf88}\label{gb_8h_a6b873c807c9e2c90fb574951e85fdf88}} +\index{gb.h@{gb.h}!get\_sprite\_prop@{get\_sprite\_prop}} +\index{get\_sprite\_prop@{get\_sprite\_prop}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_sprite\_prop()}{get\_sprite\_prop()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} get\+\_\+sprite\+\_\+prop (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Returns the O\+AM Property Flags of sprite number {\bfseries{nb}}. + + +\begin{DoxyParams}{Parameters} +{\em nb} & Sprite number, range 0 -\/ 39 \\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a99ea3252469e3614e977cce2aa1d06f7}{set\+\_\+sprite\+\_\+prop}} for property bitfield settings +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ab42c12c1d9aed3fd963248fbea9830cd}\label{gb_8h_ab42c12c1d9aed3fd963248fbea9830cd}} +\index{gb.h@{gb.h}!move\_sprite@{move\_sprite}} +\index{move\_sprite@{move\_sprite}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{move\_sprite()}{move\_sprite()}} +{\footnotesize\ttfamily void move\+\_\+sprite (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Moves sprite number {\bfseries{nb}} to the {\bfseries{x}}, {\bfseries{y}} position on the screen. + + +\begin{DoxyParams}{Parameters} +{\em nb} & Sprite number, range 0 -\/ 39 \\ +\hline +{\em x} & X Position. Specifies the sprites horizontal position on the screen (minus 8). ~\newline + An offscreen value (X=0 or X$>$=168) hides the sprite, but the sprite still affects the priority ordering -\/ a better way to hide a sprite is to set its Y-\/coordinate offscreen. \\ +\hline +{\em y} & Y Position. Specifies the sprites vertical position on the screen (minus 16). ~\newline + An offscreen value (for example, Y=0 or Y$>$=160) hides the sprite.\\ +\hline +\end{DoxyParams} +Moving the sprite to 0,0 (or similar off-\/screen location) will hide it. \mbox{\Hypertarget{gb_8h_a6c59aa9a4f9ea42bed6ca6940b2741fe}\label{gb_8h_a6c59aa9a4f9ea42bed6ca6940b2741fe}} +\index{gb.h@{gb.h}!scroll\_sprite@{scroll\_sprite}} +\index{scroll\_sprite@{scroll\_sprite}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{scroll\_sprite()}{scroll\_sprite()}} +{\footnotesize\ttfamily void scroll\+\_\+sprite (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb, }\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Moves sprite number {\bfseries{nb}} relative to its current position. + + +\begin{DoxyParams}{Parameters} +{\em nb} & Sprite number, range 0 -\/ 39 \\ +\hline +{\em x} & Number of pixels to move the sprite on the {\bfseries{X axis}} ~\newline + Range\+: -\/128 -\/ 127 \\ +\hline +{\em y} & Number of pixels to move the sprite on the {\bfseries{Y axis}} ~\newline + Range\+: -\/128 -\/ 127\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_ab42c12c1d9aed3fd963248fbea9830cd}{move\+\_\+sprite}} for more details about the X and Y position +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_ad22c51635d052399bbbe1777999c794d}\label{gb_8h_ad22c51635d052399bbbe1777999c794d}} +\index{gb.h@{gb.h}!hide\_sprite@{hide\_sprite}} +\index{hide\_sprite@{hide\_sprite}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{hide\_sprite()}{hide\_sprite()}} +{\footnotesize\ttfamily void hide\+\_\+sprite (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Hides sprite number {\bfseries{nb}} by moving it to zero position by Y. + + +\begin{DoxyParams}{Parameters} +{\em nb} & Sprite number, range 0 -\/ 39 \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{gb_8h_a650d2df96e69a40b70548ab468e00f25}\label{gb_8h_a650d2df96e69a40b70548ab468e00f25}} +\index{gb.h@{gb.h}!set\_data@{set\_data}} +\index{set\_data@{set\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_data()}{set\_data()}} +{\footnotesize\ttfamily void set\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{vram\+\_\+addr, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{len }\end{DoxyParamCaption})} + +Copies arbitrary data to an address in V\+R\+AM without taking into account the state of L\+C\+DC bits 3 or 4. + + +\begin{DoxyParams}{Parameters} +{\em vram\+\_\+addr} & Pointer to destination V\+R\+AM Address \\ +\hline +{\em data} & Pointer to source buffer \\ +\hline +{\em len} & Number of bytes to copy\\ +\hline +\end{DoxyParams} +Copies {\bfseries{len}} bytes from a buffer at {\bfseries{data}} to V\+R\+AM starting at {\bfseries{vram\+\_\+addr}}. + +G\+BC only\+: \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}} determines which bank of Background tile patterns are written to. \begin{DoxyItemize} +\item V\+B\+K\+\_\+\+R\+EG=0 indicates the first bank \item V\+B\+K\+\_\+\+R\+EG=1 indicates the second\end{DoxyItemize} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_8h_ac2bf0c4919c30d322fa5853c896e710f}{set\+\_\+win\+\_\+data}}, \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_a5c59b4ee6323af9832998906d087266b}{set\+\_\+win\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_abe4846d4570b4880b0e54b9e503f4d30}{set\+\_\+tile\+\_\+data}}, \mbox{\hyperlink{gb_8h_a9b205ee302f54cb96ee59aac6d53a91c}{set\+\_\+tiles}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_afd8fd71eaa36b0ddd54a2e8e516ed224}\label{gb_8h_afd8fd71eaa36b0ddd54a2e8e516ed224}} +\index{gb.h@{gb.h}!get\_data@{get\_data}} +\index{get\_data@{get\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_data()}{get\_data()}} +{\footnotesize\ttfamily void get\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{vram\+\_\+addr, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{len }\end{DoxyParamCaption})} + +Copies arbitrary data from an address in V\+R\+AM into a buffer without taking into account the state of L\+C\+DC bits 3 or 4. + + +\begin{DoxyParams}{Parameters} +{\em vram\+\_\+addr} & Pointer to source V\+R\+AM Address \\ +\hline +{\em data} & Pointer to destination buffer \\ +\hline +{\em len} & Number of bytes to copy\\ +\hline +\end{DoxyParams} +Copies {\bfseries{len}} bytes from V\+R\+AM starting at {\bfseries{vram\+\_\+addr}} into a buffer at {\bfseries{data}}. + +G\+BC only\+: \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}} determines which bank of Background tile patterns are written to. \begin{DoxyItemize} +\item V\+B\+K\+\_\+\+R\+EG=0 indicates the first bank \item V\+B\+K\+\_\+\+R\+EG=1 indicates the second\end{DoxyItemize} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a5c13238dfec416439d75b133a272e6df}{get\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_8h_a7ef32e7c1669aba48f235500a495baba}{get\+\_\+win\+\_\+data}}, \mbox{\hyperlink{gb_8h_aa6bcf24d97f93307b30f2906251f39a0}{get\+\_\+bkg\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_a8a469de4c6640f921254b336b5a6191a}{get\+\_\+win\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_a728b9440accedc5fb3477be3d150323a}{get\+\_\+tiles}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a36f9e5d95c2d7d58f203b5ac358e25e7}\label{gb_8h_a36f9e5d95c2d7d58f203b5ac358e25e7}} +\index{gb.h@{gb.h}!vmemcpy@{vmemcpy}} +\index{vmemcpy@{vmemcpy}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{vmemcpy()}{vmemcpy()}} +{\footnotesize\ttfamily void vmemcpy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{dest, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{sour, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{len }\end{DoxyParamCaption})} + +Copies arbitrary data from an address in V\+R\+AM into a buffer + + +\begin{DoxyParams}{Parameters} +{\em dest} & Pointer to destination buffer (may be in V\+R\+AM) \\ +\hline +{\em sour} & Pointer to source buffer (may be in V\+R\+AM) \\ +\hline +{\em len} & Number of bytes to copy\\ +\hline +\end{DoxyParams} +Copies {\bfseries{len}} bytes from or to V\+R\+AM starting at {\bfseries{sour}} into a buffer or to V\+R\+AM at {\bfseries{dest}}. + +G\+BC only\+: \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}} determines which bank of Background tile patterns are written to. \begin{DoxyItemize} +\item V\+B\+K\+\_\+\+R\+EG=0 indicates the first bank \item V\+B\+K\+\_\+\+R\+EG=1 indicates the second \end{DoxyItemize} +\mbox{\Hypertarget{gb_8h_a9b205ee302f54cb96ee59aac6d53a91c}\label{gb_8h_a9b205ee302f54cb96ee59aac6d53a91c}} +\index{gb.h@{gb.h}!set\_tiles@{set\_tiles}} +\index{set\_tiles@{set\_tiles}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_tiles()}{set\_tiles()}} +{\footnotesize\ttfamily void set\+\_\+tiles (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{vram\+\_\+addr, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{tiles }\end{DoxyParamCaption})} + +Sets a rectangular region of Tile Map entries at a given V\+R\+AM Address without taking into account the state of L\+C\+DC bit 3. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to set in tiles. Range 1 -\/ 32 \\ +\hline +{\em h} & Height of area to set in tiles. Range 1 -\/ 32 \\ +\hline +{\em vram\+\_\+addr} & Pointer to destination V\+R\+AM Address \\ +\hline +{\em tiles} & Pointer to source Tile Map data\\ +\hline +\end{DoxyParams} +Entries are copied from {\bfseries{tiles}} to Tile Map at address vram\+\_\+addr starting at {\bfseries{x}}, {\bfseries{y}} writing across for {\bfseries{w}} tiles and down for {\bfseries{h}} tiles. + +One byte per source tile map entry. + +There are two 32x32 Tile Maps in V\+R\+AM at addresses 9800h-\/9\+B\+F\+Fh and 9C00h-\/9\+F\+F\+Fh. + +G\+BC only\+: \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}} determines whether Tile Numbers or Tile Attributes get set. \begin{DoxyItemize} +\item V\+B\+K\+\_\+\+R\+EG=0 Tile Numbers are written \item V\+B\+K\+\_\+\+R\+EG=1 Tile Attributes are written\end{DoxyItemize} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_a5c59b4ee6323af9832998906d087266b}{set\+\_\+win\+\_\+tiles}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_abe4846d4570b4880b0e54b9e503f4d30}\label{gb_8h_abe4846d4570b4880b0e54b9e503f4d30}} +\index{gb.h@{gb.h}!set\_tile\_data@{set\_tile\_data}} +\index{set\_tile\_data@{set\_tile\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_tile\_data()}{set\_tile\_data()}} +{\footnotesize\ttfamily void set\+\_\+tile\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+tiles, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base }\end{DoxyParamCaption})} + +Sets V\+R\+AM Tile Pattern data starting from given base address without taking into account the state of L\+C\+DC bit 4. + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first tile to write \\ +\hline +{\em nb\+\_\+tiles} & Number of tiles to write \\ +\hline +{\em data} & Pointer to (2 bpp) source Tile Pattern data. \\ +\hline +{\em base} & M\+SB of the destination address in V\+R\+AM (usually 0x80 or 0x90 which gives 0x8000 or 0x9000)\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_8h_ac2bf0c4919c30d322fa5853c896e710f}{set\+\_\+win\+\_\+data}}, \mbox{\hyperlink{gb_8h_a650d2df96e69a40b70548ab468e00f25}{set\+\_\+data}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a728b9440accedc5fb3477be3d150323a}\label{gb_8h_a728b9440accedc5fb3477be3d150323a}} +\index{gb.h@{gb.h}!get\_tiles@{get\_tiles}} +\index{get\_tiles@{get\_tiles}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{get\_tiles()}{get\_tiles()}} +{\footnotesize\ttfamily void get\+\_\+tiles (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{vram\+\_\+addr, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{tiles }\end{DoxyParamCaption})} + +Copies a rectangular region of Tile Map entries from a given V\+R\+AM Address into a buffer without taking into account the state of L\+C\+DC bit 3. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to copy in tiles. Range 0 -\/ 31 \\ +\hline +{\em h} & Height of area to copy in tiles. Range 0 -\/ 31 \\ +\hline +{\em vram\+\_\+addr} & Pointer to source V\+R\+AM Address \\ +\hline +{\em tiles} & Pointer to destination buffer for Tile Map data\\ +\hline +\end{DoxyParams} +Entries are copied into {\bfseries{tiles}} from the Background Tile Map starting at {\bfseries{x}}, {\bfseries{y}} reading across for {\bfseries{w}} tiles and down for {\bfseries{h}} tiles. + +One byte per tile. + +There are two 32x32 Tile Maps in V\+R\+AM at addresses 9800h -\/ 9B\+F\+Fh and 9C00h -\/ 9F\+F\+Fh. + +The buffer pointed to by {\bfseries{tiles}} should be at least {\bfseries{x}} x {\bfseries{y}} bytes in size. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aa6bcf24d97f93307b30f2906251f39a0}{get\+\_\+bkg\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_a8a469de4c6640f921254b336b5a6191a}{get\+\_\+win\+\_\+tiles}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a68651e50243349b48164a8ad983dca4e}\label{gb_8h_a68651e50243349b48164a8ad983dca4e}} +\index{gb.h@{gb.h}!set\_native\_tile\_data@{set\_native\_tile\_data}} +\index{set\_native\_tile\_data@{set\_native\_tile\_data}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{set\_native\_tile\_data()}{set\_native\_tile\_data()}} +{\footnotesize\ttfamily void set\+\_\+native\+\_\+tile\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{first\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+tiles, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets V\+R\+AM Tile Pattern data in the native format + + +\begin{DoxyParams}{Parameters} +{\em first\+\_\+tile} & Index of the first tile to write (0 -\/ 511) \\ +\hline +{\em nb\+\_\+tiles} & Number of tiles to write \\ +\hline +{\em data} & Pointer to source Tile Pattern data.\\ +\hline +\end{DoxyParams} +When {\ttfamily first\+\_\+tile} is larger than 256 on the G\+B/\+AP, it will write to sprite data instead of background data. + +The bit depth of the source Tile Pattern data depends on which console is being used\+: \begin{DoxyItemize} +\item Game Boy/\+Analogue Pocket\+: loads 2bpp tiles data \item S\+M\+S/\+GG\+: loads 4bpp tile data \end{DoxyItemize} +\mbox{\Hypertarget{gb_8h_af6ac67037de041eb0141ba3725b1db83}\label{gb_8h_af6ac67037de041eb0141ba3725b1db83}} +\index{gb.h@{gb.h}!init\_win@{init\_win}} +\index{init\_win@{init\_win}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{init\_win()}{init\_win()}} +{\footnotesize\ttfamily void init\+\_\+win (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{c }\end{DoxyParamCaption})} + +Initializes the entire Window Tile Map with Tile Number {\bfseries{c}} +\begin{DoxyParams}{Parameters} +{\em c} & Tile number to fill with\\ +\hline +\end{DoxyParams} +Note\+: This function avoids writes during modes 2 \& 3 \mbox{\Hypertarget{gb_8h_a46058204097dd305bf72bc20ea7f7a3b}\label{gb_8h_a46058204097dd305bf72bc20ea7f7a3b}} +\index{gb.h@{gb.h}!init\_bkg@{init\_bkg}} +\index{init\_bkg@{init\_bkg}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{init\_bkg()}{init\_bkg()}} +{\footnotesize\ttfamily void init\+\_\+bkg (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{c }\end{DoxyParamCaption})} + +Initializes the entire Background Tile Map with Tile Number {\bfseries{c}} +\begin{DoxyParams}{Parameters} +{\em c} & Tile number to fill with\\ +\hline +\end{DoxyParams} +Note\+: This function avoids writes during modes 2 \& 3 \mbox{\Hypertarget{gb_8h_a97bab71effd5e4e386629cb6ca5816cf}\label{gb_8h_a97bab71effd5e4e386629cb6ca5816cf}} +\index{gb.h@{gb.h}!vmemset@{vmemset}} +\index{vmemset@{vmemset}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{vmemset()}{vmemset()}} +{\footnotesize\ttfamily void vmemset (\begin{DoxyParamCaption}\item[{void $\ast$}]{s, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{c, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{n }\end{DoxyParamCaption})} + +Fills the V\+R\+AM memory region {\bfseries{s}} of size {\bfseries{n}} with Tile Number {\bfseries{c}} +\begin{DoxyParams}{Parameters} +{\em s} & Start address in V\+R\+AM \\ +\hline +{\em c} & Tile number to fill with \\ +\hline +{\em n} & Size of memory region (in bytes) to fill\\ +\hline +\end{DoxyParams} +Note\+: This function avoids writes during modes 2 \& 3 \mbox{\Hypertarget{gb_8h_a74c3f53fca019f7abcd1270650808849}\label{gb_8h_a74c3f53fca019f7abcd1270650808849}} +\index{gb.h@{gb.h}!fill\_bkg\_rect@{fill\_bkg\_rect}} +\index{fill\_bkg\_rect@{fill\_bkg\_rect}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{fill\_bkg\_rect()}{fill\_bkg\_rect()}} +{\footnotesize\ttfamily void fill\+\_\+bkg\+\_\+rect (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{tile }\end{DoxyParamCaption})} + +Fills a rectangular region of Tile Map entries for the Background layer with tile. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to set in tiles. Range 0 -\/ 31 \\ +\hline +{\em h} & Height of area to set in tiles. Range 0 -\/ 31 \\ +\hline +{\em tile} & Fill value \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{gb_8h_ad5bc3dc922707507aa51ed7f5b4a21e3}\label{gb_8h_ad5bc3dc922707507aa51ed7f5b4a21e3}} +\index{gb.h@{gb.h}!fill\_win\_rect@{fill\_win\_rect}} +\index{fill\_win\_rect@{fill\_win\_rect}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{fill\_win\_rect()}{fill\_win\_rect()}} +{\footnotesize\ttfamily void fill\+\_\+win\+\_\+rect (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{tile }\end{DoxyParamCaption})} + +Fills a rectangular region of Tile Map entries for the Window layer with tile. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Window Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Window Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to set in tiles. Range 0 -\/ 31 \\ +\hline +{\em h} & Height of area to set in tiles. Range 0 -\/ 31 \\ +\hline +{\em tile} & Fill value \\ +\hline +\end{DoxyParams} + + +\doxysubsubsection{Variable Documentation} +\mbox{\Hypertarget{gb_8h_a0b3366755f3276b0243c1e0497471b7a}\label{gb_8h_a0b3366755f3276b0243c1e0497471b7a}} +\index{gb.h@{gb.h}!c@{c}} +\index{c@{c}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{c}{c}} +{\footnotesize\ttfamily void c} + +\mbox{\Hypertarget{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}\label{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}} +\index{gb.h@{gb.h}!\_cpu@{\_cpu}} +\index{\_cpu@{\_cpu}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{\_cpu}{\_cpu}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+cpu\hspace{0.3cm}{\ttfamily [extern]}} + +GB C\+PU type + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a0031c07799247a6d6c1bfa3decac79d0}{D\+M\+G\+\_\+\+T\+Y\+PE}}, \mbox{\hyperlink{gb_8h_ae996ed4fd8bb6b308b9c8708a91df06b}{M\+G\+B\+\_\+\+T\+Y\+PE}}, \mbox{\hyperlink{gb_8h_aee435a3a0dde3dbd7b6112dbb456cde8}{C\+G\+B\+\_\+\+T\+Y\+PE}}, \mbox{\hyperlink{cgb_8h_a884a743919b234cd9c37789380784d08}{cpu\+\_\+fast()}}, \mbox{\hyperlink{cgb_8h_a6a36fb9584e4a123f6164530a3b1e5e2}{cpu\+\_\+slow()}}, \mbox{\hyperlink{gb_8h_a539b7b45b1c2d6b2051553665c76fd36}{\+\_\+is\+\_\+\+G\+BA}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a539b7b45b1c2d6b2051553665c76fd36}\label{gb_8h_a539b7b45b1c2d6b2051553665c76fd36}} +\index{gb.h@{gb.h}!\_is\_GBA@{\_is\_GBA}} +\index{\_is\_GBA@{\_is\_GBA}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{\_is\_GBA}{\_is\_GBA}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+is\+\_\+\+G\+BA\hspace{0.3cm}{\ttfamily [extern]}} + +G\+BA detection + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a6ccf5d0f34fb0af0b6e73b9df0ccd745}{G\+B\+A\+\_\+\+D\+E\+T\+E\+C\+T\+ED}}, \mbox{\hyperlink{gb_8h_aa311f84dd9fce6e136ba4881e7b0d98d}{G\+B\+A\+\_\+\+N\+O\+T\+\_\+\+D\+E\+T\+E\+C\+T\+ED}}, \mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a78d2fd18666afec116f176d46debb4e7}\label{gb_8h_a78d2fd18666afec116f176d46debb4e7}} +\index{gb.h@{gb.h}!sys\_time@{sys\_time}} +\index{sys\_time@{sys\_time}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{sys\_time}{sys\_time}} +{\footnotesize\ttfamily volatile \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} sys\+\_\+time\hspace{0.3cm}{\ttfamily [extern]}} + +Global Time Counter in V\+BL periods (60Hz) + +Increments once per Frame + +Will wrap around every $\sim$18 minutes (unsigned 16 bits = 65535 / 60 / 60 = 18.\+2) \mbox{\Hypertarget{gb_8h_a2e3415ce2f7fb63427618bd9b9cb6635}\label{gb_8h_a2e3415ce2f7fb63427618bd9b9cb6635}} +\index{gb.h@{gb.h}!\_io\_status@{\_io\_status}} +\index{\_io\_status@{\_io\_status}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{\_io\_status}{\_io\_status}} +{\footnotesize\ttfamily volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+io\+\_\+status\hspace{0.3cm}{\ttfamily [extern]}} + +Serial Link\+: Current IO Status. An OR of I\+O\+\_\+$\ast$ \mbox{\Hypertarget{gb_8h_a02f3a1585ae654444e628c1aa98ef0cf}\label{gb_8h_a02f3a1585ae654444e628c1aa98ef0cf}} +\index{gb.h@{gb.h}!\_io\_in@{\_io\_in}} +\index{\_io\_in@{\_io\_in}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{\_io\_in}{\_io\_in}} +{\footnotesize\ttfamily volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+io\+\_\+in\hspace{0.3cm}{\ttfamily [extern]}} + +Serial Link\+: Byte just read after calling \mbox{\hyperlink{gb_8h_a9a7fd7be44bb12bc85a144b732ce02f7}{receive\+\_\+byte()}} \mbox{\Hypertarget{gb_8h_acae13736da20f9fc53e8d38934aa2119}\label{gb_8h_acae13736da20f9fc53e8d38934aa2119}} +\index{gb.h@{gb.h}!\_io\_out@{\_io\_out}} +\index{\_io\_out@{\_io\_out}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{\_io\_out}{\_io\_out}} +{\footnotesize\ttfamily volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+io\+\_\+out\hspace{0.3cm}{\ttfamily [extern]}} + +Serial Link\+: Write byte to send here before calling \mbox{\hyperlink{gb_8h_ae339d7d8d7e0ebd6691b42608c416964}{send\+\_\+byte()}} \mbox{\Hypertarget{gb_8h_a98b848953a95ce2fff6fda643575d74a}\label{gb_8h_a98b848953a95ce2fff6fda643575d74a}} +\index{gb.h@{gb.h}!\_current\_bank@{\_current\_bank}} +\index{\_current\_bank@{\_current\_bank}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{\_current\_bank}{\_current\_bank}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \+\_\+current\+\_\+bank} + +Tracks current active R\+OM bank \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a19558f5bbc9fea767f945001ae9cd13f}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C1()}}, \mbox{\hyperlink{gb_8h_a92d040284342702026eb19dab59b586e}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C5()}} This variable is updated automatically when you call \mbox{\hyperlink{gb_8h_a19558f5bbc9fea767f945001ae9cd13f}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C1}} or \mbox{\hyperlink{gb_8h_a92d040284342702026eb19dab59b586e}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M\+\_\+\+M\+B\+C5}}, or call a \mbox{\hyperlink{asm_2types_8h_aa8480aed89a168ec484727f5ac985cd0}{B\+A\+N\+K\+ED}} function. +\end{DoxySeeAlso} +\mbox{\Hypertarget{gb_8h_a1f1dfeb2f802fe99f37fe91867b84456}\label{gb_8h_a1f1dfeb2f802fe99f37fe91867b84456}} +\index{gb.h@{gb.h}!h@{h}} +\index{h@{h}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{h}{h}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} h} + +\mbox{\Hypertarget{gb_8h_af79b920bcb642bba2e652874c4f7eeff}\label{gb_8h_af79b920bcb642bba2e652874c4f7eeff}} +\index{gb.h@{gb.h}!l@{l}} +\index{l@{l}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{l}{l}} +{\footnotesize\ttfamily void l} + +{\bfseries Initial value\+:} +\begin{DoxyCode}{0} +\DoxyCodeLine{\{} +\DoxyCodeLine{ \_\_asm\_\_(\textcolor{stringliteral}{"{}ei"{}})} + +\end{DoxyCode} +\mbox{\Hypertarget{gb_8h_a4c2e4adef74067fdbb49005bc73de937}\label{gb_8h_a4c2e4adef74067fdbb49005bc73de937}} +\index{gb.h@{gb.h}!b@{b}} +\index{b@{b}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{b}{b}} +{\footnotesize\ttfamily void b} + +\mbox{\Hypertarget{gb_8h_a0a3d95ad0ab8ad213016101d2e9c3d3e}\label{gb_8h_a0a3d95ad0ab8ad213016101d2e9c3d3e}} +\index{gb.h@{gb.h}!d@{d}} +\index{d@{d}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{d}{d}} +{\footnotesize\ttfamily void d} + +\mbox{\Hypertarget{gb_8h_aeda4515a31485c9688c4601ac5ce2d79}\label{gb_8h_aeda4515a31485c9688c4601ac5ce2d79}} +\index{gb.h@{gb.h}!e@{e}} +\index{e@{e}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{e}{e}} +{\footnotesize\ttfamily void e} + +\mbox{\Hypertarget{gb_8h_a250f5339e05523912926be566e9eb8c0}\label{gb_8h_a250f5339e05523912926be566e9eb8c0}} +\index{gb.h@{gb.h}!\_current\_1bpp\_colors@{\_current\_1bpp\_colors}} +\index{\_current\_1bpp\_colors@{\_current\_1bpp\_colors}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{\_current\_1bpp\_colors}{\_current\_1bpp\_colors}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \+\_\+current\+\_\+1bpp\+\_\+colors\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{gb_8h_aa82205e9629f984d0b3dc8055c211522}\label{gb_8h_aa82205e9629f984d0b3dc8055c211522}} +\index{gb.h@{gb.h}!\_map\_tile\_offset@{\_map\_tile\_offset}} +\index{\_map\_tile\_offset@{\_map\_tile\_offset}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{\_map\_tile\_offset}{\_map\_tile\_offset}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+map\+\_\+tile\+\_\+offset\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{gb_8h_ab472d9bbb1bcfd141374f5babc71934c}\label{gb_8h_ab472d9bbb1bcfd141374f5babc71934c}} +\index{gb.h@{gb.h}!\_submap\_tile\_offset@{\_submap\_tile\_offset}} +\index{\_submap\_tile\_offset@{\_submap\_tile\_offset}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{\_submap\_tile\_offset}{\_submap\_tile\_offset}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+submap\+\_\+tile\+\_\+offset\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{gb_8h_a3619f9cb1e3c92238a033ead79a0c551}\label{gb_8h_a3619f9cb1e3c92238a033ead79a0c551}} +\index{gb.h@{gb.h}!shadow\_OAM@{shadow\_OAM}} +\index{shadow\_OAM@{shadow\_OAM}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{shadow\_OAM}{shadow\_OAM}} +{\footnotesize\ttfamily volatile struct \mbox{\hyperlink{struct_o_a_m__item__t}{O\+A\+M\+\_\+item\+\_\+t}} shadow\+\_\+\+O\+AM\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [extern]}} + +Shadow O\+AM array in W\+R\+AM, that is D\+M\+A-\/transferred into the real O\+AM each V\+Blank \mbox{\Hypertarget{gb_8h_a7b662ae4d83f9837bacb9fd580673054}\label{gb_8h_a7b662ae4d83f9837bacb9fd580673054}} +\index{gb.h@{gb.h}!\_shadow\_OAM\_base@{\_shadow\_OAM\_base}} +\index{\_shadow\_OAM\_base@{\_shadow\_OAM\_base}!gb.h@{gb.h}} +\doxyparagraph{\texorpdfstring{\_shadow\_OAM\_base}{\_shadow\_OAM\_base}} +{\footnotesize\ttfamily \mbox{\hyperlink{gb_2hardware_8h_a0b42e4dadd74c927e8b801b4f42c0e44}{\+\_\+\+\_\+\+R\+EG}} \+\_\+shadow\+\_\+\+O\+A\+M\+\_\+base} + +M\+SB of shadow\+\_\+\+O\+AM address is used by O\+AM D\+MA copying routine + diff --git a/docs/latex/gbdk-lib_8h.tex b/docs/latex/gbdk-lib_8h.tex @@ -0,0 +1,7 @@ +\hypertarget{gbdk-lib_8h}{}\doxysubsection{gbdk/gbdk-\/lib.h File Reference} +\label{gbdk-lib_8h}\index{gbdk/gbdk-\/lib.h@{gbdk/gbdk-\/lib.h}} +{\ttfamily \#include $<$asm/gbz80/provides.\+h$>$}\newline + + +\doxysubsubsection{Detailed Description} +Settings for the greater library system. + diff --git a/docs/latex/gbdk_2gbdecompress_8h.tex b/docs/latex/gbdk_2gbdecompress_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{gbdk_2gbdecompress_8h}{}\doxysubsection{gbdk/gbdecompress.h File Reference} +\label{gbdk_2gbdecompress_8h}\index{gbdk/gbdecompress.h@{gbdk/gbdecompress.h}} +{\ttfamily \#include $<$gb/gbdecompress.\+h$>$}\newline diff --git a/docs/latex/gbdk_2metasprites_8h.tex b/docs/latex/gbdk_2metasprites_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{gbdk_2metasprites_8h}{}\doxysubsection{gbdk/metasprites.h File Reference} +\label{gbdk_2metasprites_8h}\index{gbdk/metasprites.h@{gbdk/metasprites.h}} +{\ttfamily \#include $<$gb/metasprites.\+h$>$}\newline diff --git a/docs/latex/gbz80_2provides_8h.tex b/docs/latex/gbz80_2provides_8h.tex @@ -0,0 +1,32 @@ +\hypertarget{gbz80_2provides_8h}{}\doxysubsection{asm/gbz80/provides.h File Reference} +\label{gbz80_2provides_8h}\index{asm/gbz80/provides.h@{asm/gbz80/provides.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{gbz80_2provides_8h_a9dd4f1ec2939e7beb7ef40e350cbba47}{U\+S\+E\+\_\+\+C\+\_\+\+M\+E\+M\+C\+PY}}~0 +\item +\#define \mbox{\hyperlink{gbz80_2provides_8h_ac6678abba8f5929bc8b33f3202e568f0}{U\+S\+E\+\_\+\+C\+\_\+\+S\+T\+R\+C\+PY}}~0 +\item +\#define \mbox{\hyperlink{gbz80_2provides_8h_a809a7bd0afcfb7500b5108a9e976b85c}{U\+S\+E\+\_\+\+C\+\_\+\+S\+T\+R\+C\+MP}}~0 +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{gbz80_2provides_8h_a9dd4f1ec2939e7beb7ef40e350cbba47}\label{gbz80_2provides_8h_a9dd4f1ec2939e7beb7ef40e350cbba47}} +\index{provides.h@{provides.h}!USE\_C\_MEMCPY@{USE\_C\_MEMCPY}} +\index{USE\_C\_MEMCPY@{USE\_C\_MEMCPY}!provides.h@{provides.h}} +\doxyparagraph{\texorpdfstring{USE\_C\_MEMCPY}{USE\_C\_MEMCPY}} +{\footnotesize\ttfamily \#define U\+S\+E\+\_\+\+C\+\_\+\+M\+E\+M\+C\+PY~0} + +\mbox{\Hypertarget{gbz80_2provides_8h_ac6678abba8f5929bc8b33f3202e568f0}\label{gbz80_2provides_8h_ac6678abba8f5929bc8b33f3202e568f0}} +\index{provides.h@{provides.h}!USE\_C\_STRCPY@{USE\_C\_STRCPY}} +\index{USE\_C\_STRCPY@{USE\_C\_STRCPY}!provides.h@{provides.h}} +\doxyparagraph{\texorpdfstring{USE\_C\_STRCPY}{USE\_C\_STRCPY}} +{\footnotesize\ttfamily \#define U\+S\+E\+\_\+\+C\+\_\+\+S\+T\+R\+C\+PY~0} + +\mbox{\Hypertarget{gbz80_2provides_8h_a809a7bd0afcfb7500b5108a9e976b85c}\label{gbz80_2provides_8h_a809a7bd0afcfb7500b5108a9e976b85c}} +\index{provides.h@{provides.h}!USE\_C\_STRCMP@{USE\_C\_STRCMP}} +\index{USE\_C\_STRCMP@{USE\_C\_STRCMP}!provides.h@{provides.h}} +\doxyparagraph{\texorpdfstring{USE\_C\_STRCMP}{USE\_C\_STRCMP}} +{\footnotesize\ttfamily \#define U\+S\+E\+\_\+\+C\+\_\+\+S\+T\+R\+C\+MP~0} + diff --git a/docs/latex/group__gbdk__fonts.tex b/docs/latex/group__gbdk__fonts.tex @@ -0,0 +1,52 @@ +\hypertarget{group__gbdk__fonts}{}\doxysubsection{List of gbdk fonts} +\label{group__gbdk__fonts}\index{List of gbdk fonts@{List of gbdk fonts}} + + +\doxysubsubsection{Description} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{group__gbdk__fonts_ga1b59bbd85c12436eeef52d4c32c7345d}{font\+\_\+spect}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{group__gbdk__fonts_ga17e825a65ba38f34a658fe0a2c99d8d4}{font\+\_\+italic}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{group__gbdk__fonts_ga6dcb04fed78fc39b95171988b776e6bb}{font\+\_\+ibm}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{group__gbdk__fonts_gad8497ecbd9d845fc24a56688f157aad8}{font\+\_\+min}} \mbox{[}$\,$\mbox{]} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{group__gbdk__fonts_gab8c52bed73e745f1ee910f2da60ddb4c}{font\+\_\+ibm\+\_\+fixed}} \mbox{[}$\,$\mbox{]} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Variable Documentation} +\mbox{\Hypertarget{group__gbdk__fonts_ga1b59bbd85c12436eeef52d4c32c7345d}\label{group__gbdk__fonts_ga1b59bbd85c12436eeef52d4c32c7345d}} +\index{List of gbdk fonts@{List of gbdk fonts}!font\_spect@{font\_spect}} +\index{font\_spect@{font\_spect}!List of gbdk fonts@{List of gbdk fonts}} +\doxyparagraph{\texorpdfstring{font\_spect}{font\_spect}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} font\+\_\+spect\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [extern]}} + +The default fonts \mbox{\Hypertarget{group__gbdk__fonts_ga17e825a65ba38f34a658fe0a2c99d8d4}\label{group__gbdk__fonts_ga17e825a65ba38f34a658fe0a2c99d8d4}} +\index{List of gbdk fonts@{List of gbdk fonts}!font\_italic@{font\_italic}} +\index{font\_italic@{font\_italic}!List of gbdk fonts@{List of gbdk fonts}} +\doxyparagraph{\texorpdfstring{font\_italic}{font\_italic}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} font\+\_\+italic\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{group__gbdk__fonts_ga6dcb04fed78fc39b95171988b776e6bb}\label{group__gbdk__fonts_ga6dcb04fed78fc39b95171988b776e6bb}} +\index{List of gbdk fonts@{List of gbdk fonts}!font\_ibm@{font\_ibm}} +\index{font\_ibm@{font\_ibm}!List of gbdk fonts@{List of gbdk fonts}} +\doxyparagraph{\texorpdfstring{font\_ibm}{font\_ibm}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} font\+\_\+ibm\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{group__gbdk__fonts_gad8497ecbd9d845fc24a56688f157aad8}\label{group__gbdk__fonts_gad8497ecbd9d845fc24a56688f157aad8}} +\index{List of gbdk fonts@{List of gbdk fonts}!font\_min@{font\_min}} +\index{font\_min@{font\_min}!List of gbdk fonts@{List of gbdk fonts}} +\doxyparagraph{\texorpdfstring{font\_min}{font\_min}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} font\+\_\+min\mbox{[}$\,$\mbox{]}} + +\mbox{\Hypertarget{group__gbdk__fonts_gab8c52bed73e745f1ee910f2da60ddb4c}\label{group__gbdk__fonts_gab8c52bed73e745f1ee910f2da60ddb4c}} +\index{List of gbdk fonts@{List of gbdk fonts}!font\_ibm\_fixed@{font\_ibm\_fixed}} +\index{font\_ibm\_fixed@{font\_ibm\_fixed}!List of gbdk fonts@{List of gbdk fonts}} +\doxyparagraph{\texorpdfstring{font\_ibm\_fixed}{font\_ibm\_fixed}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} font\+\_\+ibm\+\_\+fixed\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [extern]}} + +Backwards compatible font + diff --git a/docs/latex/incbin_8h.tex b/docs/latex/incbin_8h.tex @@ -0,0 +1,118 @@ +\hypertarget{incbin_8h}{}\doxysubsection{gbdk/incbin.h File Reference} +\label{incbin_8h}\index{gbdk/incbin.h@{gbdk/incbin.h}} +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{incbin_8h_a51ab79f8ee37368158b1887b65ef97ec}{I\+N\+C\+B\+I\+N\+\_\+\+E\+X\+T\+E\+RN}}(V\+A\+R\+N\+A\+ME) +\item +\#define \mbox{\hyperlink{incbin_8h_aeacb5370285c0d4308d0fe5f29da8d15}{I\+N\+C\+B\+I\+N\+\_\+\+S\+I\+ZE}}(V\+A\+R\+N\+A\+ME)~( (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}) \& \+\_\+\+\_\+size\+\_\+ \#\# V\+A\+R\+N\+A\+ME ) +\item +\#define \mbox{\hyperlink{incbin_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+NK}}(V\+A\+R\+N\+A\+ME)~( (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}) \& \+\_\+\+\_\+bank\+\_\+ \#\# V\+A\+R\+N\+A\+ME ) +\item +\#define \mbox{\hyperlink{incbin_8h_af34047ed60abd6453f819c2a5230cd2b}{I\+N\+C\+B\+IN}}(V\+A\+R\+N\+A\+ME, F\+I\+L\+E\+P\+A\+TH) +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Allows binary data from other files to be included into a C source file. + +It is implemented using asm .incbin and macros. + +See the {\ttfamily incbin} example project for a demo of how to use it. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{incbin_8h_a51ab79f8ee37368158b1887b65ef97ec}\label{incbin_8h_a51ab79f8ee37368158b1887b65ef97ec}} +\index{incbin.h@{incbin.h}!INCBIN\_EXTERN@{INCBIN\_EXTERN}} +\index{INCBIN\_EXTERN@{INCBIN\_EXTERN}!incbin.h@{incbin.h}} +\doxyparagraph{\texorpdfstring{INCBIN\_EXTERN}{INCBIN\_EXTERN}} +{\footnotesize\ttfamily \#define I\+N\+C\+B\+I\+N\+\_\+\+E\+X\+T\+E\+RN(\begin{DoxyParamCaption}\item[{}]{V\+A\+R\+N\+A\+ME }\end{DoxyParamCaption})} + +{\bfseries Value\+:} +\begin{DoxyCode}{0} +\DoxyCodeLine{\textcolor{keyword}{extern} \textcolor{keyword}{const} \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\_t}} VARNAME[]; \(\backslash\)} +\DoxyCodeLine{extern \textcolor{keyword}{const} \textcolor{keywordtype}{void} \_\_size\_ \#\# VARNAME; \(\backslash\)} +\DoxyCodeLine{extern \textcolor{keyword}{const} \textcolor{keywordtype}{void} \_\_bank\_ \#\# VARNAME;} + +\end{DoxyCode} +Creates extern entries for accessing a \mbox{\hyperlink{incbin_8h_af34047ed60abd6453f819c2a5230cd2b}{I\+N\+C\+B\+I\+N()}} generated variable and it\textquotesingle{}s size in another source file. + + +\begin{DoxyParams}{Parameters} +{\em V\+A\+R\+N\+A\+ME} & Name of the variable used with I\+N\+C\+B\+IN\\ +\hline +\end{DoxyParams} +An entry is created for the variable and it\textquotesingle{}s size variable. + +\mbox{\hyperlink{incbin_8h_af34047ed60abd6453f819c2a5230cd2b}{I\+N\+C\+B\+I\+N()}}, \mbox{\hyperlink{incbin_8h_aeacb5370285c0d4308d0fe5f29da8d15}{I\+N\+C\+B\+I\+N\+\_\+\+S\+I\+Z\+E()}} \mbox{\Hypertarget{incbin_8h_aeacb5370285c0d4308d0fe5f29da8d15}\label{incbin_8h_aeacb5370285c0d4308d0fe5f29da8d15}} +\index{incbin.h@{incbin.h}!INCBIN\_SIZE@{INCBIN\_SIZE}} +\index{INCBIN\_SIZE@{INCBIN\_SIZE}!incbin.h@{incbin.h}} +\doxyparagraph{\texorpdfstring{INCBIN\_SIZE}{INCBIN\_SIZE}} +{\footnotesize\ttfamily \#define I\+N\+C\+B\+I\+N\+\_\+\+S\+I\+ZE(\begin{DoxyParamCaption}\item[{}]{V\+A\+R\+N\+A\+ME }\end{DoxyParamCaption})~( (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}) \& \+\_\+\+\_\+size\+\_\+ \#\# V\+A\+R\+N\+A\+ME )} + +Obtains the {\bfseries{size in bytes}} of the \mbox{\hyperlink{incbin_8h_af34047ed60abd6453f819c2a5230cd2b}{I\+N\+C\+B\+I\+N()}} generated data + + +\begin{DoxyParams}{Parameters} +{\em V\+A\+R\+N\+A\+ME} & Name of the variable used with I\+N\+C\+B\+IN\\ +\hline +\end{DoxyParams} +Requires \mbox{\hyperlink{incbin_8h_a51ab79f8ee37368158b1887b65ef97ec}{I\+N\+C\+B\+I\+N\+\_\+\+E\+X\+T\+E\+R\+N()}} to have been called earlier in the source file + +\mbox{\hyperlink{incbin_8h_af34047ed60abd6453f819c2a5230cd2b}{I\+N\+C\+B\+I\+N()}}, \mbox{\hyperlink{incbin_8h_a51ab79f8ee37368158b1887b65ef97ec}{I\+N\+C\+B\+I\+N\+\_\+\+E\+X\+T\+E\+R\+N()}} \mbox{\Hypertarget{incbin_8h_a42705001e2b9897f5167b67fb36c69dd}\label{incbin_8h_a42705001e2b9897f5167b67fb36c69dd}} +\index{incbin.h@{incbin.h}!BANK@{BANK}} +\index{BANK@{BANK}!incbin.h@{incbin.h}} +\doxyparagraph{\texorpdfstring{BANK}{BANK}} +{\footnotesize\ttfamily \#define B\+A\+NK(\begin{DoxyParamCaption}\item[{}]{V\+A\+R\+N\+A\+ME }\end{DoxyParamCaption})~( (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}) \& \+\_\+\+\_\+bank\+\_\+ \#\# V\+A\+R\+N\+A\+ME )} + +Obtains the {\bfseries{bank number}} of the \mbox{\hyperlink{incbin_8h_af34047ed60abd6453f819c2a5230cd2b}{I\+N\+C\+B\+I\+N()}} generated data + + +\begin{DoxyParams}{Parameters} +{\em V\+A\+R\+N\+A\+ME} & Name of the variable used with I\+N\+C\+B\+IN\\ +\hline +\end{DoxyParams} +Requires \mbox{\hyperlink{incbin_8h_a51ab79f8ee37368158b1887b65ef97ec}{I\+N\+C\+B\+I\+N\+\_\+\+E\+X\+T\+E\+R\+N()}} to have been called earlier in the source file + +\mbox{\hyperlink{incbin_8h_af34047ed60abd6453f819c2a5230cd2b}{I\+N\+C\+B\+I\+N()}}, \mbox{\hyperlink{incbin_8h_a51ab79f8ee37368158b1887b65ef97ec}{I\+N\+C\+B\+I\+N\+\_\+\+E\+X\+T\+E\+R\+N()}} \mbox{\Hypertarget{incbin_8h_af34047ed60abd6453f819c2a5230cd2b}\label{incbin_8h_af34047ed60abd6453f819c2a5230cd2b}} +\index{incbin.h@{incbin.h}!INCBIN@{INCBIN}} +\index{INCBIN@{INCBIN}!incbin.h@{incbin.h}} +\doxyparagraph{\texorpdfstring{INCBIN}{INCBIN}} +{\footnotesize\ttfamily \#define I\+N\+C\+B\+IN(\begin{DoxyParamCaption}\item[{}]{V\+A\+R\+N\+A\+ME, }\item[{}]{F\+I\+L\+E\+P\+A\+TH }\end{DoxyParamCaption})} + +{\bfseries Value\+:} +\begin{DoxyCode}{0} +\DoxyCodeLine{\textcolor{keywordtype}{void} \_\_func\_ \#\# VARNAME() \_\_banked \_\_naked \{ \(\backslash\)} +\DoxyCodeLine{\_\_asm \(\backslash\)} +\DoxyCodeLine{\_ \#\# VARNAME:: \(\backslash\)} +\DoxyCodeLine{1\$: \(\backslash\)} +\DoxyCodeLine{ .incbin FILEPATH \(\backslash\)} +\DoxyCodeLine{2\$: \(\backslash\)} +\DoxyCodeLine{ \_\_\_size\_ \#\# VARNAME = (2\$-\/1\$) \(\backslash\)} +\DoxyCodeLine{ .globl \_\_\_size\_ \#\# VARNAME \(\backslash\)} +\DoxyCodeLine{ .local b\_\_\_func\_ \#\# VARNAME \(\backslash\)} +\DoxyCodeLine{ \_\_\_bank\_ \#\# VARNAME = b\_\_\_func\_ \#\# VARNAME \(\backslash\)} +\DoxyCodeLine{ .globl \_\_\_bank\_ \#\# VARNAME \(\backslash\)} +\DoxyCodeLine{\_\_endasm; \(\backslash\)} +\DoxyCodeLine{\}} + +\end{DoxyCode} +Includes binary data into a C source file + + +\begin{DoxyParams}{Parameters} +{\em V\+A\+R\+N\+A\+ME} & Variable name to use \\ +\hline +{\em F\+I\+L\+E\+P\+A\+TH} & Path to the file which will be binary included into the C source file\\ +\hline +\end{DoxyParams} +{\bfseries{filepath}} is relative to the working directory of the tool that is calling it (often a makefile\textquotesingle{}s working directory), {\bfseries{N\+OT}} to the file it\textquotesingle{}s being included into. + +The variable name is not modified and can be used as-\/is. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{incbin_8h_aeacb5370285c0d4308d0fe5f29da8d15}{I\+N\+C\+B\+I\+N\+\_\+\+S\+I\+Z\+E()}} for obtaining the size of the included data. + +\mbox{\hyperlink{incbin_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+N\+K()}} for obtaining the bank number of the included data. +\end{DoxySeeAlso} +Use \mbox{\hyperlink{incbin_8h_a51ab79f8ee37368158b1887b65ef97ec}{I\+N\+C\+B\+I\+N\+\_\+\+E\+X\+T\+E\+R\+N()}} within another source file to make the variable and it\textquotesingle{}s data accesible there. + diff --git a/docs/latex/index.tex b/docs/latex/index.tex @@ -0,0 +1,51 @@ +\label{index_docs_index}% +\Hypertarget{index_docs_index}% + +\begin{DoxyItemize} +\item \mbox{\hyperlink{docs_getting_started}{Getting Started}} +\item \mbox{\hyperlink{docs_links_and_tools}{Links and Third-\/\+Party Tools}} +\item \mbox{\hyperlink{docs_using_gbdk}{Using G\+B\+DK}} +\item \mbox{\hyperlink{docs_coding_guidelines}{Coding Guidelines}} +\item \mbox{\hyperlink{docs_rombanking_mbcs}{R\+O\+M/\+R\+AM Banking and M\+B\+Cs}} +\item \mbox{\hyperlink{docs_supported_consoles}{Supported Consoles \& Cross Compiling}} +\item \mbox{\hyperlink{docs_toolchain}{G\+B\+DK Toolchain}} +\item \mbox{\hyperlink{docs_example_programs}{Example Programs}} +\item \mbox{\hyperlink{docs_faq}{Frequently Asked Questions (F\+AQ)}} +\item \mbox{\hyperlink{docs_migrating_versions}{Migrating to new G\+B\+DK Versions}} +\item \mbox{\hyperlink{docs_releases}{G\+B\+DK Releases}} +\item \mbox{\hyperlink{docs_toolchain_settings}{Toolchain settings}} +\end{DoxyItemize}\hypertarget{index_autotoc_md217}{}\doxysubsection{Introduction}\label{index_autotoc_md217} +Welcome to G\+B\+D\+K-\/2020! The best thing to do is head over to the \mbox{\hyperlink{docs_getting_started}{Getting Started}} section to get up and running.\hypertarget{index_autotoc_md218}{}\doxysubsection{About the Documentation}\label{index_autotoc_md218} +This documentation is partially based on material written by the original G\+B\+DK authors in 1999 and updated for G\+B\+D\+K-\/2020. The A\+PI docs are automatically generated from the C header files using Doxygen. + +G\+B\+D\+K-\/2020 is an updated version of the original G\+B\+DK with a modernized S\+D\+CC toolchain and many A\+PI improvements and fixes. It can be found at\+: \href{https://github.com/gbdk-2020/gbdk-2020/}{\texttt{ https\+://github.\+com/gbdk-\/2020/gbdk-\/2020/}}. + +The original G\+B\+DK sources, documentation and website are at\+: \href{http://gbdk.sourceforge.net/}{\texttt{ http\+://gbdk.\+sourceforge.\+net/}}\hypertarget{index_autotoc_md219}{}\doxysubsection{About G\+B\+DK}\label{index_autotoc_md219} +The Game\+Boy Developer\textquotesingle{}s Kit (G\+B\+DK, G\+B\+D\+K-\/2020) is used to develop games and programs for the Nintendo Game Boy (and some other consoles) in C and assembly. G\+B\+DK includes a set of libraries for the most common requirements and generates image files for use with a real Game\+Boy or emulators. + +G\+B\+DK features\+: +\begin{DoxyItemize} +\item C and A\+SM toolchain based on S\+D\+CC with some support utilities +\item A set of libraries with source code +\item Example programs in A\+SM and in C +\item Support for multiple R\+OM bank images and auto-\/banking +\item Support for multiple consoles\+: Game Boy, Analogue Pocket, Mega Duck, Master System and Game Gear +\end{DoxyItemize} + +G\+B\+DK is freeware. Most of the tooling code is under the G\+PL. The runtime libraries should be under the L\+G\+PL. Please consider mentioning G\+B\+DK in the credits of projects made with it. + +\DoxyHorRuler{0} +\hypertarget{index_autotoc_md220}{}\doxysubsection{Historical Info and Links}\label{index_autotoc_md220} +Work on the original G\+B\+DK (pre-\/2020) was by\+: + +Pascal Felber, Lars Malmborg, Michael Hope, David Galloway (djmips), and others. + +The following is from the original G\+B\+DK documentation\+: + +Thanks to quang for many of the comments to the gb functions. Some of the comments are ripped directly from the Linux Programmers manual, and some directly from the pan/k00\+Pa document. + +\href{http://quangdx.com/}{\texttt{ quang\+D\+X.\+com}} + +\href{http://gbdk.sourceforge.net/}{\texttt{ The (original) gbdk homepage}} + +\href{http://www.devrs.com/gb/}{\texttt{ Jeff Frohwein\textquotesingle{}s GB development page.}} A extensive source of Game Boy related information, including Gee\+Bee\textquotesingle{}s GB faq and the pan/k00\+Pa document. + diff --git a/docs/latex/isr_8h.tex b/docs/latex/isr_8h.tex @@ -0,0 +1,134 @@ +\hypertarget{isr_8h}{}\doxysubsection{gb/isr.h File Reference} +\label{isr_8h}\index{gb/isr.h@{gb/isr.h}} +{\ttfamily \#include $<$stdint.\+h$>$}\newline +{\ttfamily \#include $<$types.\+h$>$}\newline +\doxysubsubsection*{Data Structures} +\begin{DoxyCompactItemize} +\item +struct \mbox{\hyperlink{structisr__vector__t}{isr\+\_\+vector\+\_\+t}} +\item +struct \mbox{\hyperlink{structisr__nested__vector__t}{isr\+\_\+nested\+\_\+vector\+\_\+t}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{isr_8h_a2cf2cba8468992868fe1f6b6448ffae2}{V\+E\+C\+T\+O\+R\+\_\+\+S\+T\+AT}}~0x48 +\item +\#define \mbox{\hyperlink{isr_8h_a84ca82d76186433c1ec77fde7652b827}{V\+E\+C\+T\+O\+R\+\_\+\+T\+I\+M\+ER}}~0x50 +\item +\#define \mbox{\hyperlink{isr_8h_a9c51a56a79576c33fcc98579bf7153a1}{V\+E\+C\+T\+O\+R\+\_\+\+S\+E\+R\+I\+AL}}~0x58 +\item +\#define \mbox{\hyperlink{isr_8h_ac93f10ff354ca76f4030f64a8496303f}{V\+E\+C\+T\+O\+R\+\_\+\+J\+O\+Y\+P\+AD}}~0x60 +\item +\#define \mbox{\hyperlink{isr_8h_a73769fed9338af86fdb7df35d7b82620}{I\+S\+R\+\_\+\+V\+E\+C\+T\+OR}}(A\+D\+DR, F\+U\+NC)~static const \mbox{\hyperlink{structisr__vector__t}{isr\+\_\+vector\+\_\+t}} \mbox{\hyperlink{asm_2types_8h_a66d3e9555a86fa871932c5f60834c67e}{AT}}((A\+D\+DR)) \+\_\+\+\_\+\+I\+S\+R\+\_\+ \#\# A\+D\+DR = \{0xc3, (void $\ast$)\&(F\+U\+NC)\}; +\item +\#define \mbox{\hyperlink{isr_8h_a78f9ef588aaf221023e48899898d566b}{I\+S\+R\+\_\+\+N\+E\+S\+T\+E\+D\+\_\+\+V\+E\+C\+T\+OR}}(A\+D\+DR, F\+U\+NC)~static const \mbox{\hyperlink{structisr__nested__vector__t}{isr\+\_\+nested\+\_\+vector\+\_\+t}} \mbox{\hyperlink{asm_2types_8h_a66d3e9555a86fa871932c5f60834c67e}{AT}}((A\+D\+DR)) \+\_\+\+\_\+\+I\+S\+R\+\_\+ \#\# A\+D\+DR = \{\{0xfb, 0xc3\}, (void $\ast$)\&(F\+U\+NC)\}; +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef struct \mbox{\hyperlink{structisr__vector__t}{isr\+\_\+vector\+\_\+t}} \mbox{\hyperlink{isr_8h_a40dca48ca391581d7f67d8697533cf30}{isr\+\_\+vector\+\_\+t}} +\item +typedef struct \mbox{\hyperlink{structisr__nested__vector__t}{isr\+\_\+nested\+\_\+vector\+\_\+t}} \mbox{\hyperlink{isr_8h_a99e64ac886740db0eb63d8ed0235b5c7}{isr\+\_\+nested\+\_\+vector\+\_\+t}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Macros for creating raw interrupt service routines (I\+S\+Rs) which do not use the default G\+B\+DK I\+SR dispatcher. + +Handlers installed this way will have less overhead than ones which use the G\+B\+DK I\+SR dispatcher. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{isr_8h_a2cf2cba8468992868fe1f6b6448ffae2}\label{isr_8h_a2cf2cba8468992868fe1f6b6448ffae2}} +\index{isr.h@{isr.h}!VECTOR\_STAT@{VECTOR\_STAT}} +\index{VECTOR\_STAT@{VECTOR\_STAT}!isr.h@{isr.h}} +\doxyparagraph{\texorpdfstring{VECTOR\_STAT}{VECTOR\_STAT}} +{\footnotesize\ttfamily \#define V\+E\+C\+T\+O\+R\+\_\+\+S\+T\+AT~0x48} + +Address for the S\+T\+AT interrupt vector \mbox{\Hypertarget{isr_8h_a84ca82d76186433c1ec77fde7652b827}\label{isr_8h_a84ca82d76186433c1ec77fde7652b827}} +\index{isr.h@{isr.h}!VECTOR\_TIMER@{VECTOR\_TIMER}} +\index{VECTOR\_TIMER@{VECTOR\_TIMER}!isr.h@{isr.h}} +\doxyparagraph{\texorpdfstring{VECTOR\_TIMER}{VECTOR\_TIMER}} +{\footnotesize\ttfamily \#define V\+E\+C\+T\+O\+R\+\_\+\+T\+I\+M\+ER~0x50} + +Address for the T\+I\+M\+ER interrupt vector \mbox{\Hypertarget{isr_8h_a9c51a56a79576c33fcc98579bf7153a1}\label{isr_8h_a9c51a56a79576c33fcc98579bf7153a1}} +\index{isr.h@{isr.h}!VECTOR\_SERIAL@{VECTOR\_SERIAL}} +\index{VECTOR\_SERIAL@{VECTOR\_SERIAL}!isr.h@{isr.h}} +\doxyparagraph{\texorpdfstring{VECTOR\_SERIAL}{VECTOR\_SERIAL}} +{\footnotesize\ttfamily \#define V\+E\+C\+T\+O\+R\+\_\+\+S\+E\+R\+I\+AL~0x58} + +Address for the S\+E\+R\+I\+AL interrupt vector \mbox{\Hypertarget{isr_8h_ac93f10ff354ca76f4030f64a8496303f}\label{isr_8h_ac93f10ff354ca76f4030f64a8496303f}} +\index{isr.h@{isr.h}!VECTOR\_JOYPAD@{VECTOR\_JOYPAD}} +\index{VECTOR\_JOYPAD@{VECTOR\_JOYPAD}!isr.h@{isr.h}} +\doxyparagraph{\texorpdfstring{VECTOR\_JOYPAD}{VECTOR\_JOYPAD}} +{\footnotesize\ttfamily \#define V\+E\+C\+T\+O\+R\+\_\+\+J\+O\+Y\+P\+AD~0x60} + +Address for the J\+O\+Y\+P\+AD interrupt vector \mbox{\Hypertarget{isr_8h_a73769fed9338af86fdb7df35d7b82620}\label{isr_8h_a73769fed9338af86fdb7df35d7b82620}} +\index{isr.h@{isr.h}!ISR\_VECTOR@{ISR\_VECTOR}} +\index{ISR\_VECTOR@{ISR\_VECTOR}!isr.h@{isr.h}} +\doxyparagraph{\texorpdfstring{ISR\_VECTOR}{ISR\_VECTOR}} +{\footnotesize\ttfamily \#define I\+S\+R\+\_\+\+V\+E\+C\+T\+OR(\begin{DoxyParamCaption}\item[{}]{A\+D\+DR, }\item[{}]{F\+U\+NC }\end{DoxyParamCaption})~static const \mbox{\hyperlink{structisr__vector__t}{isr\+\_\+vector\+\_\+t}} \mbox{\hyperlink{asm_2types_8h_a66d3e9555a86fa871932c5f60834c67e}{AT}}((A\+D\+DR)) \+\_\+\+\_\+\+I\+S\+R\+\_\+ \#\# A\+D\+DR = \{0xc3, (void $\ast$)\&(F\+U\+NC)\};} + +Creates an interrupt vector at the given address for a raw interrupt service routine (which does not use the G\+B\+DK I\+SR dispatcher) + + +\begin{DoxyParams}{Parameters} +{\em A\+D\+DR} & Address of the interrupt vector, any of\+: \mbox{\hyperlink{isr_8h_a2cf2cba8468992868fe1f6b6448ffae2}{V\+E\+C\+T\+O\+R\+\_\+\+S\+T\+AT}}, \mbox{\hyperlink{isr_8h_a84ca82d76186433c1ec77fde7652b827}{V\+E\+C\+T\+O\+R\+\_\+\+T\+I\+M\+ER}}, \mbox{\hyperlink{isr_8h_a9c51a56a79576c33fcc98579bf7153a1}{V\+E\+C\+T\+O\+R\+\_\+\+S\+E\+R\+I\+AL}}, \mbox{\hyperlink{isr_8h_ac93f10ff354ca76f4030f64a8496303f}{V\+E\+C\+T\+O\+R\+\_\+\+J\+O\+Y\+P\+AD}} \\ +\hline +{\em F\+U\+NC} & I\+SR function supplied by the user\\ +\hline +\end{DoxyParams} +This cannot be used with the V\+B\+L\+A\+NK interrupt. + +Do not use this in combination with interrupt installers that rely on the default G\+B\+DK I\+SR dispatcher such as \mbox{\hyperlink{gb_8h_a028d1a2e820951bb4f103d6469975ffb}{add\+\_\+\+T\+I\+M()}}, \mbox{\hyperlink{gb_8h_a142f6c7755fce8b1148faf658d8ec147}{remove\+\_\+\+T\+I\+M()}} (and the same for all other interrupts). + +Example\+: +\begin{DoxyCode}{0} +\DoxyCodeLine{\textcolor{preprocessor}{\#include <\mbox{\hyperlink{isr_8h}{gb/isr.h}}>}} +\DoxyCodeLine{} +\DoxyCodeLine{\textcolor{keywordtype}{void} TimerISR() \_\_critical \_\_interrupt \{} +\DoxyCodeLine{\textcolor{comment}{// some ISR code here}} +\DoxyCodeLine{\}} +\DoxyCodeLine{} +\DoxyCodeLine{\mbox{\hyperlink{isr_8h_a73769fed9338af86fdb7df35d7b82620}{ISR\_VECTOR}}(\mbox{\hyperlink{isr_8h_a84ca82d76186433c1ec77fde7652b827}{VECTOR\_TIMER}}, TimerISR)} +\end{DoxyCode} + + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{isr_8h_a78f9ef588aaf221023e48899898d566b}{I\+S\+R\+\_\+\+N\+E\+S\+T\+E\+D\+\_\+\+V\+E\+C\+T\+OR}}, \mbox{\hyperlink{sms_8h_aefda0091b2934571a11e07b512735f50}{set\+\_\+interrupts}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{isr_8h_a78f9ef588aaf221023e48899898d566b}\label{isr_8h_a78f9ef588aaf221023e48899898d566b}} +\index{isr.h@{isr.h}!ISR\_NESTED\_VECTOR@{ISR\_NESTED\_VECTOR}} +\index{ISR\_NESTED\_VECTOR@{ISR\_NESTED\_VECTOR}!isr.h@{isr.h}} +\doxyparagraph{\texorpdfstring{ISR\_NESTED\_VECTOR}{ISR\_NESTED\_VECTOR}} +{\footnotesize\ttfamily \#define I\+S\+R\+\_\+\+N\+E\+S\+T\+E\+D\+\_\+\+V\+E\+C\+T\+OR(\begin{DoxyParamCaption}\item[{}]{A\+D\+DR, }\item[{}]{F\+U\+NC }\end{DoxyParamCaption})~static const \mbox{\hyperlink{structisr__nested__vector__t}{isr\+\_\+nested\+\_\+vector\+\_\+t}} \mbox{\hyperlink{asm_2types_8h_a66d3e9555a86fa871932c5f60834c67e}{AT}}((A\+D\+DR)) \+\_\+\+\_\+\+I\+S\+R\+\_\+ \#\# A\+D\+DR = \{\{0xfb, 0xc3\}, (void $\ast$)\&(F\+U\+NC)\};} + +Creates an interrupt vector at the given address for a raw interrupt service routine allowing nested interrupts + + +\begin{DoxyParams}{Parameters} +{\em A\+D\+DR} & Address of the interrupt vector, any of\+: \mbox{\hyperlink{isr_8h_a2cf2cba8468992868fe1f6b6448ffae2}{V\+E\+C\+T\+O\+R\+\_\+\+S\+T\+AT}}, \mbox{\hyperlink{isr_8h_a84ca82d76186433c1ec77fde7652b827}{V\+E\+C\+T\+O\+R\+\_\+\+T\+I\+M\+ER}}, \mbox{\hyperlink{isr_8h_a9c51a56a79576c33fcc98579bf7153a1}{V\+E\+C\+T\+O\+R\+\_\+\+S\+E\+R\+I\+AL}}, \mbox{\hyperlink{isr_8h_ac93f10ff354ca76f4030f64a8496303f}{V\+E\+C\+T\+O\+R\+\_\+\+J\+O\+Y\+P\+AD}} \\ +\hline +{\em F\+U\+NC} & I\+SR function\\ +\hline +\end{DoxyParams} +This cannot be used with the V\+B\+L\+A\+NK interrupt + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{isr_8h_a73769fed9338af86fdb7df35d7b82620}{I\+S\+R\+\_\+\+V\+E\+C\+T\+OR}} +\end{DoxySeeAlso} + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{isr_8h_a40dca48ca391581d7f67d8697533cf30}\label{isr_8h_a40dca48ca391581d7f67d8697533cf30}} +\index{isr.h@{isr.h}!isr\_vector\_t@{isr\_vector\_t}} +\index{isr\_vector\_t@{isr\_vector\_t}!isr.h@{isr.h}} +\doxyparagraph{\texorpdfstring{isr\_vector\_t}{isr\_vector\_t}} +{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structisr__vector__t}{isr\+\_\+vector\+\_\+t}} \mbox{\hyperlink{structisr__vector__t}{isr\+\_\+vector\+\_\+t}}} + +\mbox{\Hypertarget{isr_8h_a99e64ac886740db0eb63d8ed0235b5c7}\label{isr_8h_a99e64ac886740db0eb63d8ed0235b5c7}} +\index{isr.h@{isr.h}!isr\_nested\_vector\_t@{isr\_nested\_vector\_t}} +\index{isr\_nested\_vector\_t@{isr\_nested\_vector\_t}!isr.h@{isr.h}} +\doxyparagraph{\texorpdfstring{isr\_nested\_vector\_t}{isr\_nested\_vector\_t}} +{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structisr__nested__vector__t}{isr\+\_\+nested\+\_\+vector\+\_\+t}} \mbox{\hyperlink{structisr__nested__vector__t}{isr\+\_\+nested\+\_\+vector\+\_\+t}}} + diff --git a/docs/latex/k_2bcd_8h.tex b/docs/latex/k_2bcd_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{k_2bcd_8h}{}\doxysubsection{gbdk/bcd.h File Reference} +\label{k_2bcd_8h}\index{gbdk/bcd.h@{gbdk/bcd.h}} +{\ttfamily \#include $<$gb/bcd.\+h$>$}\newline diff --git a/docs/latex/limits_8h.tex b/docs/latex/limits_8h.tex @@ -0,0 +1,152 @@ +\hypertarget{limits_8h}{}\doxysubsection{limits.\+h File Reference} +\label{limits_8h}\index{limits.h@{limits.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{limits_8h_a308d9dd2c0028ddb184b455bbd7865de}{C\+H\+A\+R\+\_\+\+B\+IT}}~8 /$\ast$ bits in a char $\ast$/ +\item +\#define \mbox{\hyperlink{limits_8h_a8c13fdd8c2840edf0cb04a65297037bb}{S\+C\+H\+A\+R\+\_\+\+M\+AX}}~127 +\item +\#define \mbox{\hyperlink{limits_8h_aa05d197000ad5c143ada0fcd9379b236}{S\+C\+H\+A\+R\+\_\+\+M\+IN}}~-\/128 +\item +\#define \mbox{\hyperlink{limits_8h_a4066e640ee269d5d8f83ff6643b7af5f}{U\+C\+H\+A\+R\+\_\+\+M\+AX}}~0xff +\item +\#define \mbox{\hyperlink{limits_8h_a778eefd6535a9d4b752fca5dd0af58db}{C\+H\+A\+R\+\_\+\+M\+AX}}~\mbox{\hyperlink{limits_8h_a8c13fdd8c2840edf0cb04a65297037bb}{S\+C\+H\+A\+R\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{limits_8h_a5d707bd32338557ced18c6ac76ca1b3a}{C\+H\+A\+R\+\_\+\+M\+IN}}~\mbox{\hyperlink{limits_8h_aa05d197000ad5c143ada0fcd9379b236}{S\+C\+H\+A\+R\+\_\+\+M\+IN}} +\item +\#define \mbox{\hyperlink{limits_8h_a21658776274b3d146c674318b635a334}{I\+N\+T\+\_\+\+M\+IN}}~(-\/32767 -\/ 1) +\item +\#define \mbox{\hyperlink{limits_8h_a9ec306f36d50c7375e74f0d1c55a3a67}{I\+N\+T\+\_\+\+M\+AX}}~32767 +\item +\#define \mbox{\hyperlink{limits_8h_a1f758438cb1c7bcf55da2431f5e319e6}{S\+H\+R\+T\+\_\+\+M\+AX}}~\mbox{\hyperlink{limits_8h_a9ec306f36d50c7375e74f0d1c55a3a67}{I\+N\+T\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{limits_8h_ae59de266aceffa1c258ac13f45fe0d18}{S\+H\+R\+T\+\_\+\+M\+IN}}~\mbox{\hyperlink{limits_8h_a21658776274b3d146c674318b635a334}{I\+N\+T\+\_\+\+M\+IN}} +\item +\#define \mbox{\hyperlink{limits_8h_ac998ea02fbd821fc123d60445ce76f38}{U\+I\+N\+T\+\_\+\+M\+AX}}~0xffff +\item +\#define \mbox{\hyperlink{limits_8h_a4c5cca78586f61bea3640a1563a43819}{U\+I\+N\+T\+\_\+\+M\+IN}}~0 +\item +\#define \mbox{\hyperlink{limits_8h_a689b119da994dece91d44b5aeac643ed}{U\+S\+H\+R\+T\+\_\+\+M\+AX}}~\mbox{\hyperlink{limits_8h_ac998ea02fbd821fc123d60445ce76f38}{U\+I\+N\+T\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{limits_8h_a57f617d9cf5cce12e8499f7512ebd948}{U\+S\+H\+R\+T\+\_\+\+M\+IN}}~\mbox{\hyperlink{limits_8h_a4c5cca78586f61bea3640a1563a43819}{U\+I\+N\+T\+\_\+\+M\+IN}} +\item +\#define \mbox{\hyperlink{limits_8h_ae8a44c5a7436466221e0f3859d02420f}{L\+O\+N\+G\+\_\+\+M\+IN}}~(-\/2147483647L-\/1) +\item +\#define \mbox{\hyperlink{limits_8h_a50fece4db74f09568b2938db583c5655}{L\+O\+N\+G\+\_\+\+M\+AX}}~2147483647L +\item +\#define \mbox{\hyperlink{limits_8h_a41c51926a1997aab3503f9083935e06c}{U\+L\+O\+N\+G\+\_\+\+M\+AX}}~0xffffffff +\item +\#define \mbox{\hyperlink{limits_8h_a174a3b1d61499b676a2ad2efc8f224c5}{U\+L\+O\+N\+G\+\_\+\+M\+IN}}~0 +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{limits_8h_a308d9dd2c0028ddb184b455bbd7865de}\label{limits_8h_a308d9dd2c0028ddb184b455bbd7865de}} +\index{limits.h@{limits.h}!CHAR\_BIT@{CHAR\_BIT}} +\index{CHAR\_BIT@{CHAR\_BIT}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{CHAR\_BIT}{CHAR\_BIT}} +{\footnotesize\ttfamily \#define C\+H\+A\+R\+\_\+\+B\+IT~8 /$\ast$ bits in a char $\ast$/} + +\mbox{\Hypertarget{limits_8h_a8c13fdd8c2840edf0cb04a65297037bb}\label{limits_8h_a8c13fdd8c2840edf0cb04a65297037bb}} +\index{limits.h@{limits.h}!SCHAR\_MAX@{SCHAR\_MAX}} +\index{SCHAR\_MAX@{SCHAR\_MAX}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{SCHAR\_MAX}{SCHAR\_MAX}} +{\footnotesize\ttfamily \#define S\+C\+H\+A\+R\+\_\+\+M\+AX~127} + +\mbox{\Hypertarget{limits_8h_aa05d197000ad5c143ada0fcd9379b236}\label{limits_8h_aa05d197000ad5c143ada0fcd9379b236}} +\index{limits.h@{limits.h}!SCHAR\_MIN@{SCHAR\_MIN}} +\index{SCHAR\_MIN@{SCHAR\_MIN}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{SCHAR\_MIN}{SCHAR\_MIN}} +{\footnotesize\ttfamily \#define S\+C\+H\+A\+R\+\_\+\+M\+IN~-\/128} + +\mbox{\Hypertarget{limits_8h_a4066e640ee269d5d8f83ff6643b7af5f}\label{limits_8h_a4066e640ee269d5d8f83ff6643b7af5f}} +\index{limits.h@{limits.h}!UCHAR\_MAX@{UCHAR\_MAX}} +\index{UCHAR\_MAX@{UCHAR\_MAX}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{UCHAR\_MAX}{UCHAR\_MAX}} +{\footnotesize\ttfamily \#define U\+C\+H\+A\+R\+\_\+\+M\+AX~0xff} + +\mbox{\Hypertarget{limits_8h_a778eefd6535a9d4b752fca5dd0af58db}\label{limits_8h_a778eefd6535a9d4b752fca5dd0af58db}} +\index{limits.h@{limits.h}!CHAR\_MAX@{CHAR\_MAX}} +\index{CHAR\_MAX@{CHAR\_MAX}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{CHAR\_MAX}{CHAR\_MAX}} +{\footnotesize\ttfamily \#define C\+H\+A\+R\+\_\+\+M\+AX~\mbox{\hyperlink{limits_8h_a8c13fdd8c2840edf0cb04a65297037bb}{S\+C\+H\+A\+R\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{limits_8h_a5d707bd32338557ced18c6ac76ca1b3a}\label{limits_8h_a5d707bd32338557ced18c6ac76ca1b3a}} +\index{limits.h@{limits.h}!CHAR\_MIN@{CHAR\_MIN}} +\index{CHAR\_MIN@{CHAR\_MIN}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{CHAR\_MIN}{CHAR\_MIN}} +{\footnotesize\ttfamily \#define C\+H\+A\+R\+\_\+\+M\+IN~\mbox{\hyperlink{limits_8h_aa05d197000ad5c143ada0fcd9379b236}{S\+C\+H\+A\+R\+\_\+\+M\+IN}}} + +\mbox{\Hypertarget{limits_8h_a21658776274b3d146c674318b635a334}\label{limits_8h_a21658776274b3d146c674318b635a334}} +\index{limits.h@{limits.h}!INT\_MIN@{INT\_MIN}} +\index{INT\_MIN@{INT\_MIN}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{INT\_MIN}{INT\_MIN}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+M\+IN~(-\/32767 -\/ 1)} + +\mbox{\Hypertarget{limits_8h_a9ec306f36d50c7375e74f0d1c55a3a67}\label{limits_8h_a9ec306f36d50c7375e74f0d1c55a3a67}} +\index{limits.h@{limits.h}!INT\_MAX@{INT\_MAX}} +\index{INT\_MAX@{INT\_MAX}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{INT\_MAX}{INT\_MAX}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+M\+AX~32767} + +\mbox{\Hypertarget{limits_8h_a1f758438cb1c7bcf55da2431f5e319e6}\label{limits_8h_a1f758438cb1c7bcf55da2431f5e319e6}} +\index{limits.h@{limits.h}!SHRT\_MAX@{SHRT\_MAX}} +\index{SHRT\_MAX@{SHRT\_MAX}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{SHRT\_MAX}{SHRT\_MAX}} +{\footnotesize\ttfamily \#define S\+H\+R\+T\+\_\+\+M\+AX~\mbox{\hyperlink{limits_8h_a9ec306f36d50c7375e74f0d1c55a3a67}{I\+N\+T\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{limits_8h_ae59de266aceffa1c258ac13f45fe0d18}\label{limits_8h_ae59de266aceffa1c258ac13f45fe0d18}} +\index{limits.h@{limits.h}!SHRT\_MIN@{SHRT\_MIN}} +\index{SHRT\_MIN@{SHRT\_MIN}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{SHRT\_MIN}{SHRT\_MIN}} +{\footnotesize\ttfamily \#define S\+H\+R\+T\+\_\+\+M\+IN~\mbox{\hyperlink{limits_8h_a21658776274b3d146c674318b635a334}{I\+N\+T\+\_\+\+M\+IN}}} + +\mbox{\Hypertarget{limits_8h_ac998ea02fbd821fc123d60445ce76f38}\label{limits_8h_ac998ea02fbd821fc123d60445ce76f38}} +\index{limits.h@{limits.h}!UINT\_MAX@{UINT\_MAX}} +\index{UINT\_MAX@{UINT\_MAX}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{UINT\_MAX}{UINT\_MAX}} +{\footnotesize\ttfamily \#define U\+I\+N\+T\+\_\+\+M\+AX~0xffff} + +\mbox{\Hypertarget{limits_8h_a4c5cca78586f61bea3640a1563a43819}\label{limits_8h_a4c5cca78586f61bea3640a1563a43819}} +\index{limits.h@{limits.h}!UINT\_MIN@{UINT\_MIN}} +\index{UINT\_MIN@{UINT\_MIN}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{UINT\_MIN}{UINT\_MIN}} +{\footnotesize\ttfamily \#define U\+I\+N\+T\+\_\+\+M\+IN~0} + +\mbox{\Hypertarget{limits_8h_a689b119da994dece91d44b5aeac643ed}\label{limits_8h_a689b119da994dece91d44b5aeac643ed}} +\index{limits.h@{limits.h}!USHRT\_MAX@{USHRT\_MAX}} +\index{USHRT\_MAX@{USHRT\_MAX}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{USHRT\_MAX}{USHRT\_MAX}} +{\footnotesize\ttfamily \#define U\+S\+H\+R\+T\+\_\+\+M\+AX~\mbox{\hyperlink{limits_8h_ac998ea02fbd821fc123d60445ce76f38}{U\+I\+N\+T\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{limits_8h_a57f617d9cf5cce12e8499f7512ebd948}\label{limits_8h_a57f617d9cf5cce12e8499f7512ebd948}} +\index{limits.h@{limits.h}!USHRT\_MIN@{USHRT\_MIN}} +\index{USHRT\_MIN@{USHRT\_MIN}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{USHRT\_MIN}{USHRT\_MIN}} +{\footnotesize\ttfamily \#define U\+S\+H\+R\+T\+\_\+\+M\+IN~\mbox{\hyperlink{limits_8h_a4c5cca78586f61bea3640a1563a43819}{U\+I\+N\+T\+\_\+\+M\+IN}}} + +\mbox{\Hypertarget{limits_8h_ae8a44c5a7436466221e0f3859d02420f}\label{limits_8h_ae8a44c5a7436466221e0f3859d02420f}} +\index{limits.h@{limits.h}!LONG\_MIN@{LONG\_MIN}} +\index{LONG\_MIN@{LONG\_MIN}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{LONG\_MIN}{LONG\_MIN}} +{\footnotesize\ttfamily \#define L\+O\+N\+G\+\_\+\+M\+IN~(-\/2147483647L-\/1)} + +\mbox{\Hypertarget{limits_8h_a50fece4db74f09568b2938db583c5655}\label{limits_8h_a50fece4db74f09568b2938db583c5655}} +\index{limits.h@{limits.h}!LONG\_MAX@{LONG\_MAX}} +\index{LONG\_MAX@{LONG\_MAX}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{LONG\_MAX}{LONG\_MAX}} +{\footnotesize\ttfamily \#define L\+O\+N\+G\+\_\+\+M\+AX~2147483647L} + +\mbox{\Hypertarget{limits_8h_a41c51926a1997aab3503f9083935e06c}\label{limits_8h_a41c51926a1997aab3503f9083935e06c}} +\index{limits.h@{limits.h}!ULONG\_MAX@{ULONG\_MAX}} +\index{ULONG\_MAX@{ULONG\_MAX}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{ULONG\_MAX}{ULONG\_MAX}} +{\footnotesize\ttfamily \#define U\+L\+O\+N\+G\+\_\+\+M\+AX~0xffffffff} + +\mbox{\Hypertarget{limits_8h_a174a3b1d61499b676a2ad2efc8f224c5}\label{limits_8h_a174a3b1d61499b676a2ad2efc8f224c5}} +\index{limits.h@{limits.h}!ULONG\_MIN@{ULONG\_MIN}} +\index{ULONG\_MIN@{ULONG\_MIN}!limits.h@{limits.h}} +\doxyparagraph{\texorpdfstring{ULONG\_MIN}{ULONG\_MIN}} +{\footnotesize\ttfamily \#define U\+L\+O\+N\+G\+\_\+\+M\+IN~0} + diff --git a/docs/latex/longtable_doxygen.sty b/docs/latex/longtable_doxygen.sty @@ -0,0 +1,448 @@ +%% +%% This is file `longtable.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% longtable.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% The source is maintained by the LaTeX Project team and bug +%% reports for it can be opened at http://latex-project.org/bugs.html +%% (but please observe conditions on bug reports sent to that address!) +%% +%% Copyright 1993-2016 +%% The LaTeX3 Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. +%% -------------------------------------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle' +%% without such generated files. +%% +%% The list of all files belonging to the LaTeX `Tools Bundle' is +%% given in the file `manifest.txt'. +%% +%% File: longtable.dtx Copyright (C) 1990-2001 David Carlisle +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\ProvidesPackage{longtable_doxygen} + [2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen] +\def\LT@err{\PackageError{longtable}} +\def\LT@warn{\PackageWarning{longtable}} +\def\LT@final@warn{% + \AtEndDocument{% + \LT@warn{Table \@width s have changed. Rerun LaTeX.\@gobbletwo}}% + \global\let\LT@final@warn\relax} +\DeclareOption{errorshow}{% + \def\LT@warn{\PackageInfo{longtable}}} +\DeclareOption{pausing}{% + \def\LT@warn#1{% + \LT@err{#1}{This is not really an error}}} +\DeclareOption{set}{} +\DeclareOption{final}{} +\ProcessOptions +\newskip\LTleft \LTleft=\fill +\newskip\LTright \LTright=\fill +\newskip\LTpre \LTpre=\bigskipamount +\newskip\LTpost \LTpost=\bigskipamount +\newcount\LTchunksize \LTchunksize=20 +\let\c@LTchunksize\LTchunksize +\newdimen\LTcapwidth \LTcapwidth=4in +\newbox\LT@head +\newbox\LT@firsthead +\newbox\LT@foot +\newbox\LT@lastfoot +\newcount\LT@cols +\newcount\LT@rows +\newcounter{LT@tables} +\newcounter{LT@chunks}[LT@tables] +\ifx\c@table\undefined + \newcounter{table} + \def\fnum@table{\tablename~\thetable} +\fi +\ifx\tablename\undefined + \def\tablename{Table} +\fi +\newtoks\LT@p@ftn +\mathchardef\LT@end@pen=30000 +\def\longtable{% + \par + \ifx\multicols\@undefined + \else + \ifnum\col@number>\@ne + \@twocolumntrue + \fi + \fi + \if@twocolumn + \LT@err{longtable not in 1-column mode}\@ehc + \fi + \begingroup + \@ifnextchar[\LT@array{\LT@array[x]}} +\def\LT@array[#1]#2{% + \refstepcounter{table}\stepcounter{LT@tables}% + \if l#1% + \LTleft\z@ \LTright\fill + \else\if r#1% + \LTleft\fill \LTright\z@ + \else\if c#1% + \LTleft\fill \LTright\fill + \fi\fi\fi + \let\LT@mcol\multicolumn + \let\LT@@tabarray\@tabarray + \let\LT@@hl\hline + \def\@tabarray{% + \let\hline\LT@@hl + \LT@@tabarray}% + \let\\\LT@tabularcr\let\tabularnewline\\% + \def\newpage{\noalign{\break}}% + \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% + \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% + \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption + \@tempdima\ht\strutbox + \let\@endpbox\LT@endpbox + \ifx\extrarowheight\@undefined + \let\@acol\@tabacol + \let\@classz\@tabclassz \let\@classiv\@tabclassiv + \def\@startpbox{\vtop\LT@startpbox}% + \let\@@startpbox\@startpbox + \let\@@endpbox\@endpbox + \let\LT@LL@FM@cr\@tabularcr + \else + \advance\@tempdima\extrarowheight + \col@sep\tabcolsep + \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr + \fi + \setbox\@arstrutbox\hbox{\vrule + \@height \arraystretch \@tempdima + \@depth \arraystretch \dp \strutbox + \@width \z@}% + \let\@sharp##\let\protect\relax + \begingroup + \@mkpream{#2}% + \xdef\LT@bchunk{% + \global\advance\c@LT@chunks\@ne + \global\LT@rows\z@\setbox\z@\vbox\bgroup + \LT@setprevdepth + \tabskip\LTleft \noexpand\halign to\hsize\bgroup + \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}% + \endgroup + \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols + \LT@make@row + \m@th\let\par\@empty + \everycr{}\lineskip\z@\baselineskip\z@ + \LT@bchunk} +\def\LT@no@pgbk#1[#2]{\penalty #1\@getpen{#2}\ifnum`{=0\fi}} +\def\LT@start{% + \let\LT@start\endgraf + \endgraf\penalty\z@\vskip\LTpre + \dimen@\pagetotal + \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi + \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi + \advance\dimen@ \ht\LT@foot + \dimen@ii\vfuzz + \vfuzz\maxdimen + \setbox\tw@\copy\z@ + \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox + \setbox\tw@\vbox{\unvbox\tw@}% + \vfuzz\dimen@ii + \advance\dimen@ \ht + \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi + \advance\dimen@\dp + \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi + \advance\dimen@ -\pagegoal + \ifdim \dimen@>\z@\vfil\break\fi + \global\@colroom\@colht + \ifvoid\LT@foot\else + \advance\vsize-\ht\LT@foot + \global\advance\@colroom-\ht\LT@foot + \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@ + \maxdepth\z@ + \fi + \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak + \output{\LT@output}} +\def\endlongtable{% + \crcr + \noalign{% + \let\LT@entry\LT@entry@chop + \xdef\LT@save@row{\LT@save@row}}% + \LT@echunk + \LT@start + \unvbox\z@ + \LT@get@widths + \if@filesw + {\let\LT@entry\LT@entry@write\immediate\write\@auxout{% + \gdef\expandafter\noexpand + \csname LT@\romannumeral\c@LT@tables\endcsname + {\LT@save@row}}}% + \fi + \ifx\LT@save@row\LT@@save@row + \else + \LT@warn{Column \@width s have changed\MessageBreak + in table \thetable}% + \LT@final@warn + \fi + \endgraf\penalty -\LT@end@pen + \endgroup + \global\@mparbottom\z@ + \pagegoal\vsize + \endgraf\penalty\z@\addvspace\LTpost + \ifvoid\footins\else\insert\footins{}\fi} +\def\LT@nofcols#1&{% + \futurelet\@let@token\LT@n@fcols} +\def\LT@n@fcols{% + \advance\LT@cols\@ne + \ifx\@let@token\LT@nofcols + \expandafter\@gobble + \else + \expandafter\LT@nofcols + \fi} +\def\LT@tabularcr{% + \relax\iffalse{\fi\ifnum0=`}\fi + \@ifstar + {\def\crcr{\LT@crcr\noalign{\nobreak}}\let\cr\crcr + \LT@t@bularcr}% + {\LT@t@bularcr}} +\let\LT@crcr\crcr +\let\LT@setprevdepth\relax +\def\LT@t@bularcr{% + \global\advance\LT@rows\@ne + \ifnum\LT@rows=\LTchunksize + \gdef\LT@setprevdepth{% + \prevdepth\z@\global + \global\let\LT@setprevdepth\relax}% + \expandafter\LT@xtabularcr + \else + \ifnum0=`{}\fi + \expandafter\LT@LL@FM@cr + \fi} +\def\LT@xtabularcr{% + \@ifnextchar[\LT@argtabularcr\LT@ntabularcr} +\def\LT@ntabularcr{% + \ifnum0=`{}\fi + \LT@echunk + \LT@start + \unvbox\z@ + \LT@get@widths + \LT@bchunk} +\def\LT@argtabularcr[#1]{% + \ifnum0=`{}\fi + \ifdim #1>\z@ + \unskip\@xargarraycr{#1}% + \else + \@yargarraycr{#1}% + \fi + \LT@echunk + \LT@start + \unvbox\z@ + \LT@get@widths + \LT@bchunk} +\def\LT@echunk{% + \crcr\LT@save@row\cr\egroup + \global\setbox\@ne\lastbox + \unskip + \egroup} +\def\LT@entry#1#2{% + \ifhmode\@firstofone{&}\fi\omit + \ifnum#1=\c@LT@chunks + \else + \kern#2\relax + \fi} +\def\LT@entry@chop#1#2{% + \noexpand\LT@entry + {\ifnum#1>\c@LT@chunks + 1}{0pt% + \else + #1}{#2% + \fi}} +\def\LT@entry@write{% + \noexpand\LT@entry^^J% + \@spaces} +\def\LT@kill{% + \LT@echunk + \LT@get@widths + \expandafter\LT@rebox\LT@bchunk} +\def\LT@rebox#1\bgroup{% + #1\bgroup + \unvbox\z@ + \unskip + \setbox\z@\lastbox} +\def\LT@blank@row{% + \xdef\LT@save@row{\expandafter\LT@build@blank + \romannumeral\number\LT@cols 001 }} +\def\LT@build@blank#1{% + \if#1m% + \noexpand\LT@entry{1}{0pt}% + \expandafter\LT@build@blank + \fi} +\def\LT@make@row{% + \global\expandafter\let\expandafter\LT@save@row + \csname LT@\romannumeral\c@LT@tables\endcsname + \ifx\LT@save@row\relax + \LT@blank@row + \else + {\let\LT@entry\or + \if!% + \ifcase\expandafter\expandafter\expandafter\LT@cols + \expandafter\@gobble\LT@save@row + \or + \else + \relax + \fi + !% + \else + \aftergroup\LT@blank@row + \fi}% + \fi} +\let\setlongtables\relax +\def\LT@get@widths{% + \setbox\tw@\hbox{% + \unhbox\@ne + \let\LT@old@row\LT@save@row + \global\let\LT@save@row\@empty + \count@\LT@cols + \loop + \unskip + \setbox\tw@\lastbox + \ifhbox\tw@ + \LT@def@row + \advance\count@\m@ne + \repeat}% + \ifx\LT@@save@row\@undefined + \let\LT@@save@row\LT@save@row + \fi} +\def\LT@def@row{% + \let\LT@entry\or + \edef\@tempa{% + \ifcase\expandafter\count@\LT@old@row + \else + {1}{0pt}% + \fi}% + \let\LT@entry\relax + \xdef\LT@save@row{% + \LT@entry + \expandafter\LT@max@sel\@tempa + \LT@save@row}} +\def\LT@max@sel#1#2{% + {\ifdim#2=\wd\tw@ + #1% + \else + \number\c@LT@chunks + \fi}% + {\the\wd\tw@}} +\def\LT@hline{% + \noalign{\ifnum0=`}\fi + \penalty\@M + \futurelet\@let@token\LT@@hline} +\def\LT@@hline{% + \ifx\@let@token\hline + \global\let\@gtempa\@gobble + \gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}% + \else + \global\let\@gtempa\@empty + \gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}% + \fi + \ifnum0=`{\fi}% + \multispan\LT@cols + \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr + \noalign{\LT@sep}% + \multispan\LT@cols + \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr + \noalign{\penalty\@M}% + \@gtempa} +\def\LT@caption{% + \noalign\bgroup + \@ifnextchar[{\egroup\LT@c@ption\@firstofone}\LT@capti@n} +\def\LT@c@ption#1[#2]#3{% + \LT@makecaption#1\fnum@table{#3}% + \def\@tempa{#2}% + \ifx\@tempa\@empty\else + {\let\\\space + \addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}% + \fi} +\def\LT@capti@n{% + \@ifstar + {\egroup\LT@c@ption\@gobble[]}% + {\egroup\@xdblarg{\LT@c@ption\@firstofone}}} +\def\LT@makecaption#1#2#3{% + \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% + \sbox\@tempboxa{#1{#2: }#3}% + \ifdim\wd\@tempboxa>\hsize + #1{#2: }#3% + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \endgraf\vskip\baselineskip}% + \hss}}} +\def\LT@output{% + \ifnum\outputpenalty <-\@Mi + \ifnum\outputpenalty > -\LT@end@pen + \LT@err{floats and marginpars not allowed in a longtable}\@ehc + \else + \setbox\z@\vbox{\unvbox\@cclv}% + \ifdim \ht\LT@lastfoot>\ht\LT@foot + \dimen@\pagegoal + \advance\dimen@-\ht\LT@lastfoot + \ifdim\dimen@<\ht\z@ + \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}% + \@makecol + \@outputpage + \setbox\z@\vbox{\box\LT@head}% + \fi + \fi + \global\@colroom\@colht + \global\vsize\@colht + \vbox + {\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}% + \fi + \else + \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}% + \@makecol + \@outputpage + \global\vsize\@colroom + \copy\LT@head\nobreak + \fi} +\def\LT@end@hd@ft#1{% + \LT@echunk + \ifx\LT@start\endgraf + \LT@err + {Longtable head or foot not at start of table}% + {Increase LTchunksize}% + \fi + \setbox#1\box\z@ + \LT@get@widths + \LT@bchunk} +\def\endfirsthead{\LT@end@hd@ft\LT@firsthead} +\def\endhead{\LT@end@hd@ft\LT@head} +\def\endfoot{\LT@end@hd@ft\LT@foot} +\def\endlastfoot{\LT@end@hd@ft\LT@lastfoot} +\def\LT@startpbox#1{% + \bgroup + \let\@footnotetext\LT@p@ftntext + \setlength\hsize{#1}% + \@arrayparboxrestore + \vrule \@height \ht\@arstrutbox \@width \z@} +\def\LT@endpbox{% + \@finalstrut\@arstrutbox + \egroup + \the\LT@p@ftn + \global\LT@p@ftn{}% + \hfil} +\def\LT@p@ftntext#1{% + \edef\@tempa{\the\LT@p@ftn\noexpand\footnotetext[\the\c@footnote]}% + \global\LT@p@ftn\expandafter{\@tempa{#1}}}% + +\@namedef{ver@longtable.sty}{2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen} +\endinput +%% +%% End of file `longtable.sty'. diff --git a/docs/latex/modules.tex b/docs/latex/modules.tex @@ -0,0 +1,4 @@ +\doxysubsection{C modules} +Here is a list of all modules\+:\begin{DoxyCompactList} +\item \contentsline{section}{List of gbdk fonts}{\pageref{group__gbdk__fonts}}{} +\end{DoxyCompactList} diff --git a/docs/latex/platform_8h.tex b/docs/latex/platform_8h.tex @@ -0,0 +1,5 @@ +\hypertarget{platform_8h}{}\doxysubsection{gbdk/platform.h File Reference} +\label{platform_8h}\index{gbdk/platform.h@{gbdk/platform.h}} +{\ttfamily \#include $<$gb/gb.\+h$>$}\newline +{\ttfamily \#include $<$gb/cgb.\+h$>$}\newline +{\ttfamily \#include $<$gb/sgb.\+h$>$}\newline diff --git a/docs/latex/rand_8h.tex b/docs/latex/rand_8h.tex @@ -0,0 +1,139 @@ +\hypertarget{rand_8h}{}\doxysubsection{rand.\+h File Reference} +\label{rand_8h}\index{rand.h@{rand.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{rand_8h_a690f251553b39fd4f31894826141b61a}{R\+A\+N\+D\+\_\+\+M\+AX}}~255 +\item +\#define \mbox{\hyperlink{rand_8h_a6dbd2f1a15221db40f456cf574a793b4}{R\+A\+N\+D\+W\+\_\+\+M\+AX}}~65535 +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{rand_8h_a964538799843c0ba5bd01151ef7e2640}{initrand}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} seed) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{rand_8h_a21e0cee33278952c044f27d02c0b0d1a}{rand}} () \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{rand_8h_ac659150eb39aae2f523bef6554b19b77}{randw}} () \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{rand_8h_a333400f85febd7e1360835955103db8b}{initarand}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} seed) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{rand_8h_a67415330a1c7984e4537dac753306804}{arand}} () \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{rand_8h_a7aab2f4a234108a5eae48e0d26380ae7}{\+\_\+\+\_\+rand\+\_\+seed}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Random generator using the linear congruential method + +\begin{DoxyAuthor}{Author} +Luc Van den Borre +\end{DoxyAuthor} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{rand_8h_a690f251553b39fd4f31894826141b61a}\label{rand_8h_a690f251553b39fd4f31894826141b61a}} +\index{rand.h@{rand.h}!RAND\_MAX@{RAND\_MAX}} +\index{RAND\_MAX@{RAND\_MAX}!rand.h@{rand.h}} +\doxyparagraph{\texorpdfstring{RAND\_MAX}{RAND\_MAX}} +{\footnotesize\ttfamily \#define R\+A\+N\+D\+\_\+\+M\+AX~255} + +\mbox{\Hypertarget{rand_8h_a6dbd2f1a15221db40f456cf574a793b4}\label{rand_8h_a6dbd2f1a15221db40f456cf574a793b4}} +\index{rand.h@{rand.h}!RANDW\_MAX@{RANDW\_MAX}} +\index{RANDW\_MAX@{RANDW\_MAX}!rand.h@{rand.h}} +\doxyparagraph{\texorpdfstring{RANDW\_MAX}{RANDW\_MAX}} +{\footnotesize\ttfamily \#define R\+A\+N\+D\+W\+\_\+\+M\+AX~65535} + + + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{rand_8h_a964538799843c0ba5bd01151ef7e2640}\label{rand_8h_a964538799843c0ba5bd01151ef7e2640}} +\index{rand.h@{rand.h}!initrand@{initrand}} +\index{initrand@{initrand}!rand.h@{rand.h}} +\doxyparagraph{\texorpdfstring{initrand()}{initrand()}} +{\footnotesize\ttfamily void initrand (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{seed }\end{DoxyParamCaption})} + +Initalise the pseudo-\/random number generator. + + +\begin{DoxyParams}{Parameters} +{\em seed} & The value for initializing the random number generator.\\ +\hline +\end{DoxyParams} +The seed should be different each time, otherwise the same pseudo-\/random sequence will be generated. + +The D\+IV Register (\mbox{\hyperlink{gb_2hardware_8h_afa1e18e47bf68ce68d7807fff6edf16b}{D\+I\+V\+\_\+\+R\+EG}}) is sometimes used as a seed, particularly if read at some variable point in time (such as when the player presses a button). + +Only needs to be called once to initialize, but may be called again to re-\/initialize with the same or a different seed. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{rand_8h_a21e0cee33278952c044f27d02c0b0d1a}{rand()}}, \mbox{\hyperlink{rand_8h_ac659150eb39aae2f523bef6554b19b77}{randw()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{rand_8h_a21e0cee33278952c044f27d02c0b0d1a}\label{rand_8h_a21e0cee33278952c044f27d02c0b0d1a}} +\index{rand.h@{rand.h}!rand@{rand}} +\index{rand@{rand}!rand.h@{rand.h}} +\doxyparagraph{\texorpdfstring{rand()}{rand()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} rand (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Returns a random byte (8 bit) value. + +\mbox{\hyperlink{rand_8h_a964538799843c0ba5bd01151ef7e2640}{initrand()}} should be used to initialize the random number generator before using \mbox{\hyperlink{rand_8h_a21e0cee33278952c044f27d02c0b0d1a}{rand()}} \mbox{\Hypertarget{rand_8h_ac659150eb39aae2f523bef6554b19b77}\label{rand_8h_ac659150eb39aae2f523bef6554b19b77}} +\index{rand.h@{rand.h}!randw@{randw}} +\index{randw@{randw}!rand.h@{rand.h}} +\doxyparagraph{\texorpdfstring{randw()}{randw()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} randw (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Returns a random word (16 bit) value. + +\mbox{\hyperlink{rand_8h_a964538799843c0ba5bd01151ef7e2640}{initrand()}} should be used to initialize the random number generator before using \mbox{\hyperlink{rand_8h_a21e0cee33278952c044f27d02c0b0d1a}{rand()}} \mbox{\Hypertarget{rand_8h_a333400f85febd7e1360835955103db8b}\label{rand_8h_a333400f85febd7e1360835955103db8b}} +\index{rand.h@{rand.h}!initarand@{initarand}} +\index{initarand@{initarand}!rand.h@{rand.h}} +\doxyparagraph{\texorpdfstring{initarand()}{initarand()}} +{\footnotesize\ttfamily void initarand (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{seed }\end{DoxyParamCaption})} + +Random generator using the linear lagged additive method + + +\begin{DoxyParams}{Parameters} +{\em seed} & The value for initializing the random number generator.\\ +\hline +\end{DoxyParams} +Note\+: \mbox{\hyperlink{rand_8h_a333400f85febd7e1360835955103db8b}{initarand()}} calls \mbox{\hyperlink{rand_8h_a964538799843c0ba5bd01151ef7e2640}{initrand()}} with the same seed value, and uses \mbox{\hyperlink{rand_8h_a21e0cee33278952c044f27d02c0b0d1a}{rand()}} to initialize the random generator. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{rand_8h_a964538799843c0ba5bd01151ef7e2640}{initrand()}} for suggestions about seed values, \mbox{\hyperlink{rand_8h_a67415330a1c7984e4537dac753306804}{arand()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{rand_8h_a67415330a1c7984e4537dac753306804}\label{rand_8h_a67415330a1c7984e4537dac753306804}} +\index{rand.h@{rand.h}!arand@{arand}} +\index{arand@{arand}!rand.h@{rand.h}} +\doxyparagraph{\texorpdfstring{arand()}{arand()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} arand (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Returns a random number generated with the linear lagged additive method. + +\mbox{\hyperlink{rand_8h_a333400f85febd7e1360835955103db8b}{initarand()}} should be used to initialize the random number generator before using \mbox{\hyperlink{rand_8h_a67415330a1c7984e4537dac753306804}{arand()}} + +\doxysubsubsection{Variable Documentation} +\mbox{\Hypertarget{rand_8h_a7aab2f4a234108a5eae48e0d26380ae7}\label{rand_8h_a7aab2f4a234108a5eae48e0d26380ae7}} +\index{rand.h@{rand.h}!\_\_rand\_seed@{\_\_rand\_seed}} +\index{\_\_rand\_seed@{\_\_rand\_seed}!rand.h@{rand.h}} +\doxyparagraph{\texorpdfstring{\_\_rand\_seed}{\_\_rand\_seed}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \+\_\+\+\_\+rand\+\_\+seed\hspace{0.3cm}{\ttfamily [extern]}} + +The random number seed is stored in \+\_\+\+\_\+rand\+\_\+seed and can be saved and restored if needed. + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\textcolor{comment}{// Save}} +\DoxyCodeLine{some\_uint16 = \mbox{\hyperlink{rand_8h_a7aab2f4a234108a5eae48e0d26380ae7}{\_\_rand\_seed}};} +\DoxyCodeLine{...} +\DoxyCodeLine{\textcolor{comment}{// Restore}} +\DoxyCodeLine{\_\_rand\_seed = some\_uint16;} +\end{DoxyCode} + + diff --git a/docs/latex/refman.tex b/docs/latex/refman.tex @@ -0,0 +1,319 @@ +\let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}\documentclass[twoside]{article} + +%% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package +\usepackage{ifthen} +\ifx\requestedLaTeXdate\undefined +\usepackage{array} +\else +\usepackage{array}[=2016-10-06] +\fi +%% +% Packages required by doxygen +\usepackage{fixltx2e} +\usepackage{calc} +\usepackage{doxygen} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage{makeidx} +\usepackage{multicol} +\usepackage{multirow} +\PassOptionsToPackage{warn}{textcomp} +\usepackage{textcomp} +\usepackage[nointegrals]{wasysym} +\usepackage[table]{xcolor} +\usepackage{ifpdf,ifxetex} + +% Font selection +\usepackage[T1]{fontenc} +\usepackage[scaled=.90]{helvet} +\usepackage{courier} +\renewcommand{\familydefault}{\sfdefault} +\usepackage{amssymb} +\usepackage{sectsty} +\allsectionsfont{% + \fontseries{bc}\selectfont% + \color{darkgray}% +} +\renewcommand{\DoxyLabelFont}{% + \fontseries{bc}\selectfont% + \color{darkgray}% +} +\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}} + +% Arguments of doxygenemoji: +% 1) ':<text>:' form of the emoji, already "LaTeX"-escaped +% 2) file with the name of the emoji without the .png extension +% in case image exist use this otherwise use the ':<text>:' form +\newcommand{\doxygenemoji}[2]{% + \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}% +} +% Page & text layout +\usepackage{geometry} +\geometry{% + a4paper,% + top=2.5cm,% + bottom=2.5cm,% + left=2.5cm,% + right=2.5cm% +} +\tolerance=750 +\hfuzz=15pt +\hbadness=750 +\setlength{\emergencystretch}{15pt} +\setlength{\parindent}{0cm} +\newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}} +\newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}} +\doxynormalparskip +\makeatletter +\renewcommand{\paragraph}{% + \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{% + \normalfont\normalsize\bfseries\SS@parafont% + }% +} +\renewcommand{\subparagraph}{% + \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{% + \normalfont\normalsize\bfseries\SS@subparafont% + }% +} +\makeatother + +\makeatletter +\newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@} +\makeatother + +% Headers & footers +\usepackage{fancyhdr} +\pagestyle{fancyplain} +\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}} +\fancyhead[CE]{\fancyplain{}{}} +\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}} +\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}} +\fancyhead[CO]{\fancyplain{}{}} +\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}} +\fancyfoot[LE]{\fancyplain{}{}} +\fancyfoot[CE]{\fancyplain{}{}} +\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated on Tue Feb 1 2022 16\+:29\+:08 for G\+B\+D\+K 2020 Docs by Doxygen }} +\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated on Tue Feb 1 2022 16\+:29\+:08 for G\+B\+D\+K 2020 Docs by Doxygen }} +\fancyfoot[CO]{\fancyplain{}{}} +\fancyfoot[RO]{\fancyplain{}{}} +\renewcommand{\footrulewidth}{0.4pt} +\renewcommand{\sectionmark}[1]{% + \markright{\thesection\ #1}% +} + +% Indices & bibliography +\usepackage{natbib} +\usepackage[titles]{tocloft} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{5} +\makeindex + +\usepackage{newunicodechar} + \newunicodechar{â»}{${}^{-}$}% Superscript minus + \newunicodechar{²}{${}^{2}$}% Superscript two + \newunicodechar{³}{${}^{3}$}% Superscript three + +% Hyperlinks (required, but should be loaded last) +\ifpdf + \usepackage[pdftex,pagebackref=true]{hyperref} +\else + \ifxetex + \usepackage[pagebackref=true]{hyperref} + \else + \usepackage[ps2pdf,pagebackref=true]{hyperref} + \fi +\fi + +\hypersetup{% + colorlinks=true,% + linkcolor=blue,% + citecolor=blue,% + unicode% +} + +% Custom commands +\newcommand{\clearemptydoublepage}{% + \newpage{\pagestyle{empty}\cleardoublepage}% +} + +\usepackage{caption} +\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top} + +\usepackage{etoc} +\etocsettocstyle{\doxytocparskip}{\doxynormalparskip} +\renewcommand{\numberline}[1]{#1~} +%===== C O N T E N T S ===== + +\begin{document} + +% Titlepage & ToC +\hypersetup{pageanchor=false, + bookmarksnumbered=true, + pdfencoding=unicode + } +\pagenumbering{alph} +\begin{titlepage} +\vspace*{7cm} +\begin{center}% +{\Large G\+B\+DK 2020 Docs \\[1ex]\large 4.\+0.\+6 }\\ +\vspace*{1cm} +{\large Generated by Doxygen 1.8.20}\\ +\vspace*{0.5cm} +{\small Tue Feb 1 2022 16:29:08}\\ +\end{center} +\end{titlepage} +\pagenumbering{roman} +\tableofcontents +\pagenumbering{arabic} +\hypersetup{pageanchor=true} + +%--- Begin generated contents --- +\doxysection{General Documentation} +\label{index}\hypertarget{index}{}\input{index} +\doxysection{Getting Started} +\label{docs_getting_started} +\Hypertarget{docs_getting_started} +\input{docs_getting_started} +\doxysection{Links and Third-\/\+Party Tools} +\label{docs_links_and_tools} +\Hypertarget{docs_links_and_tools} +\input{docs_links_and_tools} +\doxysection{Using G\+B\+DK} +\label{docs_using_gbdk} +\Hypertarget{docs_using_gbdk} +\input{docs_using_gbdk} +\doxysection{Coding Guidelines} +\label{docs_coding_guidelines} +\Hypertarget{docs_coding_guidelines} +\input{docs_coding_guidelines} +\doxysection{R\+O\+M/\+R\+AM Banking and M\+B\+Cs} +\label{docs_rombanking_mbcs} +\Hypertarget{docs_rombanking_mbcs} +\input{docs_rombanking_mbcs} +\doxysection{G\+B\+DK Toolchain} +\label{docs_toolchain} +\Hypertarget{docs_toolchain} +\input{docs_toolchain} +\doxysection{Supported Consoles \& Cross Compiling} +\label{docs_supported_consoles} +\Hypertarget{docs_supported_consoles} +\input{docs_supported_consoles} +\doxysection{Example Programs} +\label{docs_example_programs} +\Hypertarget{docs_example_programs} +\input{docs_example_programs} +\doxysection{Frequently Asked Questions (F\+AQ)} +\label{docs_faq} +\Hypertarget{docs_faq} +\input{docs_faq} +\doxysection{Migrating to new G\+B\+DK Versions} +\label{docs_migrating_versions} +\Hypertarget{docs_migrating_versions} +\input{docs_migrating_versions} +\doxysection{G\+B\+DK Releases} +\label{docs_releases} +\Hypertarget{docs_releases} +\input{docs_releases} +\doxysection{Toolchain settings} +\label{docs_toolchain_settings} +\Hypertarget{docs_toolchain_settings} +\input{docs_toolchain_settings} +\doxysection{Todo List} +\label{todo} +\Hypertarget{todo} +\input{todo} +\doxysection{Module Index} +\input{modules} +\doxysection{Data Structure Index} +\input{annotated} +\doxysection{File Index} +\input{files} +\doxysection{Module Documentation} +\input{group__gbdk__fonts} +\doxysection{Data Structure Documentation} +\input{union____far__ptr} +\input{union__fixed} +\input{structatomic__flag} +\input{structisr__nested__vector__t} +\input{structisr__vector__t} +\input{structjoypads__t} +\input{structmetasprite__t} +\input{struct_o_a_m__item__t} +\input{structsfont__handle} +\doxysection{File Documentation} +\input{01__getting__started_8md} +\input{02__links__and__tools_8md} +\input{03__using__gbdk_8md} +\input{04__coding__guidelines_8md} +\input{05__banking__mbcs_8md} +\input{06__toolchain_8md} +\input{06b__supported__consoles_8md} +\input{07__sample__programs_8md} +\input{08__faq_8md} +\input{09__migrating__new__versions_8md} +\input{10__release__notes_8md} +\input{20__toolchain__settings_8md} +\input{docs__index_8md} +\input{gbz80_2provides_8h} +\input{z80_2provides_8h} +\input{asm_2gbz80_2stdarg_8h} +\input{asm_2z80_2stdarg_8h} +\input{stdarg_8h} +\input{asm_2gbz80_2string_8h} +\input{asm_2z80_2string_8h} +\input{string_8h} +\input{asm_2gbz80_2types_8h} +\input{asm_2types_8h} +\input{asm_2z80_2types_8h} +\input{types_8h} +\input{assert_8h} +\input{ctype_8h} +\input{bcd_8h} +\input{k_2bcd_8h} +\input{bgb__emu_8h} +\input{cgb_8h} +\input{crash__handler_8h} +\input{drawing_8h} +\input{emu__debug_8h} +\input{gb_8h} +\input{gb_2gbdecompress_8h} +\input{gbdk_2gbdecompress_8h} +\input{sms_2gbdecompress_8h} +\input{gb_2hardware_8h} +\input{sms_2hardware_8h} +\input{isr_8h} +\input{gb_2metasprites_8h} +\input{gbdk_2metasprites_8h} +\input{sms_2metasprites_8h} +\input{sgb_8h} +\input{console_8h} +\input{far__ptr_8h} +\input{font_8h} +\input{gbdk-lib_8h} +\input{incbin_8h} +\input{platform_8h} +\input{rledecompress_8h} +\input{version_8h} +\input{limits_8h} +\input{rand_8h} +\input{setjmp_8h} +\input{sms_8h} +\input{stdatomic_8h} +\input{stdbool_8h} +\input{stddef_8h} +\input{stdint_8h} +\input{stdio_8h} +\input{stdlib_8h} +\input{stdnoreturn_8h} +\input{time_8h} +\input{typeof_8h} +%--- End generated contents --- + +% Index +\newpage +\phantomsection +\clearemptydoublepage +\addcontentsline{toc}{section}{\indexname} +\printindex + +\end{document} diff --git a/docs/latex/rledecompress_8h.tex b/docs/latex/rledecompress_8h.tex @@ -0,0 +1,71 @@ +\hypertarget{rledecompress_8h}{}\doxysubsection{gbdk/rledecompress.h File Reference} +\label{rledecompress_8h}\index{gbdk/rledecompress.h@{gbdk/rledecompress.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{rledecompress_8h_a2b4967f6970ecd99478db3807c68d955}{R\+L\+E\+\_\+\+S\+T\+OP}}~0 +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{rledecompress_8h_a95560a74a89bab26cb6265dcc2bf54f6}{rle\+\_\+init}} (void $\ast$data) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{rledecompress_8h_ad60bf95ddad142d8d81e5e1f0a0bb6e0}{rle\+\_\+decompress}} (void $\ast$dest, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} len) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Decompressor for R\+LE encoded data + +Decompresses data which has been compressed with \mbox{\hyperlink{docs_toolchain_utility_gbcompress}{gbcompress}} using the {\ttfamily -\/-\/alg=rle} argument. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{rledecompress_8h_a2b4967f6970ecd99478db3807c68d955}\label{rledecompress_8h_a2b4967f6970ecd99478db3807c68d955}} +\index{rledecompress.h@{rledecompress.h}!RLE\_STOP@{RLE\_STOP}} +\index{RLE\_STOP@{RLE\_STOP}!rledecompress.h@{rledecompress.h}} +\doxyparagraph{\texorpdfstring{RLE\_STOP}{RLE\_STOP}} +{\footnotesize\ttfamily \#define R\+L\+E\+\_\+\+S\+T\+OP~0} + + + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{rledecompress_8h_a95560a74a89bab26cb6265dcc2bf54f6}\label{rledecompress_8h_a95560a74a89bab26cb6265dcc2bf54f6}} +\index{rledecompress.h@{rledecompress.h}!rle\_init@{rle\_init}} +\index{rle\_init@{rle\_init}!rledecompress.h@{rledecompress.h}} +\doxyparagraph{\texorpdfstring{rle\_init()}{rle\_init()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} rle\+\_\+init (\begin{DoxyParamCaption}\item[{void $\ast$}]{data }\end{DoxyParamCaption})} + +Initialize the R\+LE decompressor with R\+LE data at address {\bfseries{data}} + + +\begin{DoxyParams}{Parameters} +{\em data} & Pointer to start of R\+LE compressed data\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{rledecompress_8h_ad60bf95ddad142d8d81e5e1f0a0bb6e0}{rle\+\_\+decompress}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{rledecompress_8h_ad60bf95ddad142d8d81e5e1f0a0bb6e0}\label{rledecompress_8h_ad60bf95ddad142d8d81e5e1f0a0bb6e0}} +\index{rledecompress.h@{rledecompress.h}!rle\_decompress@{rle\_decompress}} +\index{rle\_decompress@{rle\_decompress}!rledecompress.h@{rledecompress.h}} +\doxyparagraph{\texorpdfstring{rle\_decompress()}{rle\_decompress()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} rle\+\_\+decompress (\begin{DoxyParamCaption}\item[{void $\ast$}]{dest, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{len }\end{DoxyParamCaption})} + +Decompress R\+LE compressed data into {\bfseries{dest}} for length {\bfseries{len}} bytes + + +\begin{DoxyParams}{Parameters} +{\em dest} & Pointer to destination buffer/address \\ +\hline +{\em len} & number of bytes to decompress\\ +\hline +\end{DoxyParams} +Before calling this function \mbox{\hyperlink{rledecompress_8h_a95560a74a89bab26cb6265dcc2bf54f6}{rle\+\_\+init}} must be called one time to initialize the R\+LE decompressor. + +Decompresses data which has been compressed with \mbox{\hyperlink{docs_toolchain_utility_gbcompress}{gbcompress}} using the {\ttfamily -\/-\/alg=rle} argument. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{rledecompress_8h_a95560a74a89bab26cb6265dcc2bf54f6}{rle\+\_\+init}} +\end{DoxySeeAlso} diff --git a/docs/latex/setjmp_8h.tex b/docs/latex/setjmp_8h.tex @@ -0,0 +1,92 @@ +\hypertarget{setjmp_8h}{}\doxysubsection{setjmp.\+h File Reference} +\label{setjmp_8h}\index{setjmp.h@{setjmp.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{setjmp_8h_aebec2c4d6fc67c86fbb297bd79efb27c}{S\+P\+\_\+\+S\+I\+ZE}}~1 +\item +\#define \mbox{\hyperlink{setjmp_8h_ae02ec77c070126e75761ab85226b62a7}{B\+P\+\_\+\+S\+I\+ZE}}~0 +\item +\#define \mbox{\hyperlink{setjmp_8h_ad27470e8d39238686f96b46d5b9deb40}{S\+P\+X\+\_\+\+S\+I\+ZE}}~0 +\item +\#define \mbox{\hyperlink{setjmp_8h_a0239bfe1e2b75fa5757c32a90d0c140d}{B\+P\+X\+\_\+\+S\+I\+ZE}}~\mbox{\hyperlink{setjmp_8h_ad27470e8d39238686f96b46d5b9deb40}{S\+P\+X\+\_\+\+S\+I\+ZE}} +\item +\#define \mbox{\hyperlink{setjmp_8h_a61c5519ad23b4ddbcc77c45352aac913}{R\+E\+T\+\_\+\+S\+I\+ZE}}~2 +\item +\#define \mbox{\hyperlink{setjmp_8h_a27d1a255c7e0d69afec2367bb85b60b0}{setjmp}}(jump\+\_\+buf)~\mbox{\hyperlink{setjmp_8h_af04f5d4b814aaac060bca4e9dea7c2a1}{\+\_\+\+\_\+setjmp}}(jump\+\_\+buf) +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef unsigned char \mbox{\hyperlink{setjmp_8h_a88bdd5a73c39b334f254a3ef5488880d}{jmp\+\_\+buf}}\mbox{[}\mbox{\hyperlink{setjmp_8h_a61c5519ad23b4ddbcc77c45352aac913}{R\+E\+T\+\_\+\+S\+I\+ZE}}+\mbox{\hyperlink{setjmp_8h_aebec2c4d6fc67c86fbb297bd79efb27c}{S\+P\+\_\+\+S\+I\+ZE}}+\mbox{\hyperlink{setjmp_8h_ae02ec77c070126e75761ab85226b62a7}{B\+P\+\_\+\+S\+I\+ZE}}+\mbox{\hyperlink{setjmp_8h_ad27470e8d39238686f96b46d5b9deb40}{S\+P\+X\+\_\+\+S\+I\+ZE}}+\mbox{\hyperlink{setjmp_8h_a0239bfe1e2b75fa5757c32a90d0c140d}{B\+P\+X\+\_\+\+S\+I\+ZE}}\mbox{]} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +int \mbox{\hyperlink{setjmp_8h_af04f5d4b814aaac060bca4e9dea7c2a1}{\+\_\+\+\_\+setjmp}} (\mbox{\hyperlink{setjmp_8h_a88bdd5a73c39b334f254a3ef5488880d}{jmp\+\_\+buf}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\+\_\+\+Noreturn void \mbox{\hyperlink{setjmp_8h_ae8f437ea759f560a09affd1bab9acb74}{longjmp}} (\mbox{\hyperlink{setjmp_8h_a88bdd5a73c39b334f254a3ef5488880d}{jmp\+\_\+buf}}, int) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{setjmp_8h_aebec2c4d6fc67c86fbb297bd79efb27c}\label{setjmp_8h_aebec2c4d6fc67c86fbb297bd79efb27c}} +\index{setjmp.h@{setjmp.h}!SP\_SIZE@{SP\_SIZE}} +\index{SP\_SIZE@{SP\_SIZE}!setjmp.h@{setjmp.h}} +\doxyparagraph{\texorpdfstring{SP\_SIZE}{SP\_SIZE}} +{\footnotesize\ttfamily \#define S\+P\+\_\+\+S\+I\+ZE~1} + +\mbox{\Hypertarget{setjmp_8h_ae02ec77c070126e75761ab85226b62a7}\label{setjmp_8h_ae02ec77c070126e75761ab85226b62a7}} +\index{setjmp.h@{setjmp.h}!BP\_SIZE@{BP\_SIZE}} +\index{BP\_SIZE@{BP\_SIZE}!setjmp.h@{setjmp.h}} +\doxyparagraph{\texorpdfstring{BP\_SIZE}{BP\_SIZE}} +{\footnotesize\ttfamily \#define B\+P\+\_\+\+S\+I\+ZE~0} + +\mbox{\Hypertarget{setjmp_8h_ad27470e8d39238686f96b46d5b9deb40}\label{setjmp_8h_ad27470e8d39238686f96b46d5b9deb40}} +\index{setjmp.h@{setjmp.h}!SPX\_SIZE@{SPX\_SIZE}} +\index{SPX\_SIZE@{SPX\_SIZE}!setjmp.h@{setjmp.h}} +\doxyparagraph{\texorpdfstring{SPX\_SIZE}{SPX\_SIZE}} +{\footnotesize\ttfamily \#define S\+P\+X\+\_\+\+S\+I\+ZE~0} + +\mbox{\Hypertarget{setjmp_8h_a0239bfe1e2b75fa5757c32a90d0c140d}\label{setjmp_8h_a0239bfe1e2b75fa5757c32a90d0c140d}} +\index{setjmp.h@{setjmp.h}!BPX\_SIZE@{BPX\_SIZE}} +\index{BPX\_SIZE@{BPX\_SIZE}!setjmp.h@{setjmp.h}} +\doxyparagraph{\texorpdfstring{BPX\_SIZE}{BPX\_SIZE}} +{\footnotesize\ttfamily \#define B\+P\+X\+\_\+\+S\+I\+ZE~\mbox{\hyperlink{setjmp_8h_ad27470e8d39238686f96b46d5b9deb40}{S\+P\+X\+\_\+\+S\+I\+ZE}}} + +\mbox{\Hypertarget{setjmp_8h_a61c5519ad23b4ddbcc77c45352aac913}\label{setjmp_8h_a61c5519ad23b4ddbcc77c45352aac913}} +\index{setjmp.h@{setjmp.h}!RET\_SIZE@{RET\_SIZE}} +\index{RET\_SIZE@{RET\_SIZE}!setjmp.h@{setjmp.h}} +\doxyparagraph{\texorpdfstring{RET\_SIZE}{RET\_SIZE}} +{\footnotesize\ttfamily \#define R\+E\+T\+\_\+\+S\+I\+ZE~2} + +\mbox{\Hypertarget{setjmp_8h_a27d1a255c7e0d69afec2367bb85b60b0}\label{setjmp_8h_a27d1a255c7e0d69afec2367bb85b60b0}} +\index{setjmp.h@{setjmp.h}!setjmp@{setjmp}} +\index{setjmp@{setjmp}!setjmp.h@{setjmp.h}} +\doxyparagraph{\texorpdfstring{setjmp}{setjmp}} +{\footnotesize\ttfamily \#define setjmp(\begin{DoxyParamCaption}\item[{}]{jump\+\_\+buf }\end{DoxyParamCaption})~\mbox{\hyperlink{setjmp_8h_af04f5d4b814aaac060bca4e9dea7c2a1}{\+\_\+\+\_\+setjmp}}(jump\+\_\+buf)} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{setjmp_8h_a88bdd5a73c39b334f254a3ef5488880d}\label{setjmp_8h_a88bdd5a73c39b334f254a3ef5488880d}} +\index{setjmp.h@{setjmp.h}!jmp\_buf@{jmp\_buf}} +\index{jmp\_buf@{jmp\_buf}!setjmp.h@{setjmp.h}} +\doxyparagraph{\texorpdfstring{jmp\_buf}{jmp\_buf}} +{\footnotesize\ttfamily typedef unsigned char jmp\+\_\+buf\mbox{[}\mbox{\hyperlink{setjmp_8h_a61c5519ad23b4ddbcc77c45352aac913}{R\+E\+T\+\_\+\+S\+I\+ZE}}+\mbox{\hyperlink{setjmp_8h_aebec2c4d6fc67c86fbb297bd79efb27c}{S\+P\+\_\+\+S\+I\+ZE}}+\mbox{\hyperlink{setjmp_8h_ae02ec77c070126e75761ab85226b62a7}{B\+P\+\_\+\+S\+I\+ZE}}+\mbox{\hyperlink{setjmp_8h_ad27470e8d39238686f96b46d5b9deb40}{S\+P\+X\+\_\+\+S\+I\+ZE}}+\mbox{\hyperlink{setjmp_8h_a0239bfe1e2b75fa5757c32a90d0c140d}{B\+P\+X\+\_\+\+S\+I\+ZE}}\mbox{]}} + + + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{setjmp_8h_af04f5d4b814aaac060bca4e9dea7c2a1}\label{setjmp_8h_af04f5d4b814aaac060bca4e9dea7c2a1}} +\index{setjmp.h@{setjmp.h}!\_\_setjmp@{\_\_setjmp}} +\index{\_\_setjmp@{\_\_setjmp}!setjmp.h@{setjmp.h}} +\doxyparagraph{\texorpdfstring{\_\_setjmp()}{\_\_setjmp()}} +{\footnotesize\ttfamily int \+\_\+\+\_\+setjmp (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{setjmp_8h_a88bdd5a73c39b334f254a3ef5488880d}{jmp\+\_\+buf}}}]{ }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{setjmp_8h_ae8f437ea759f560a09affd1bab9acb74}\label{setjmp_8h_ae8f437ea759f560a09affd1bab9acb74}} +\index{setjmp.h@{setjmp.h}!longjmp@{longjmp}} +\index{longjmp@{longjmp}!setjmp.h@{setjmp.h}} +\doxyparagraph{\texorpdfstring{longjmp()}{longjmp()}} +{\footnotesize\ttfamily \+\_\+\+Noreturn void longjmp (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{setjmp_8h_a88bdd5a73c39b334f254a3ef5488880d}{jmp\+\_\+buf}}}]{, }\item[{int}]{ }\end{DoxyParamCaption})} + diff --git a/docs/latex/sgb_8h.tex b/docs/latex/sgb_8h.tex @@ -0,0 +1,275 @@ +\hypertarget{sgb_8h}{}\doxysubsection{gb/sgb.h File Reference} +\label{sgb_8h}\index{gb/sgb.h@{gb/sgb.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{sgb_8h_a70bdb512d109fbcaeb95efa32e9dcaf5}{S\+G\+B\+\_\+\+P\+A\+L\+\_\+01}}~0x00U +\item +\#define \mbox{\hyperlink{sgb_8h_acaa2f1ac9949189896582fc5ad0823b1}{S\+G\+B\+\_\+\+P\+A\+L\+\_\+23}}~0x01U +\item +\#define \mbox{\hyperlink{sgb_8h_af9e1ca804555fad619db3f38b62a49e8}{S\+G\+B\+\_\+\+P\+A\+L\+\_\+03}}~0x02U +\item +\#define \mbox{\hyperlink{sgb_8h_a8d633d52d4a7adfaef516953d5e8552a}{S\+G\+B\+\_\+\+P\+A\+L\+\_\+12}}~0x03U +\item +\#define \mbox{\hyperlink{sgb_8h_a6437bd5982922fffdbc7c5d8c643e357}{S\+G\+B\+\_\+\+A\+T\+T\+R\+\_\+\+B\+LK}}~0x04U +\item +\#define \mbox{\hyperlink{sgb_8h_ade5ba9723a9964e55cff72108149037a}{S\+G\+B\+\_\+\+A\+T\+T\+R\+\_\+\+L\+IN}}~0x05U +\item +\#define \mbox{\hyperlink{sgb_8h_adcb3f50616813637283f88bfd4d53e22}{S\+G\+B\+\_\+\+A\+T\+T\+R\+\_\+\+D\+IV}}~0x06U +\item +\#define \mbox{\hyperlink{sgb_8h_a41981a213b67bdc45bf8ed78f07e7bba}{S\+G\+B\+\_\+\+A\+T\+T\+R\+\_\+\+C\+HR}}~0x07U +\item +\#define \mbox{\hyperlink{sgb_8h_a42e0fbc58e65874e0a76d7f33a322ce8}{S\+G\+B\+\_\+\+S\+O\+U\+ND}}~0x08U +\item +\#define \mbox{\hyperlink{sgb_8h_a82a976ea6a32ae0078a27e3c06143bcf}{S\+G\+B\+\_\+\+S\+O\+U\+\_\+\+T\+RN}}~0x09U +\item +\#define \mbox{\hyperlink{sgb_8h_ad9023ed1d8dd4a2eebc55a376207f3d2}{S\+G\+B\+\_\+\+P\+A\+L\+\_\+\+S\+ET}}~0x0\+AU +\item +\#define \mbox{\hyperlink{sgb_8h_ac490ce8566f869727e8b00fabb1c9fc6}{S\+G\+B\+\_\+\+P\+A\+L\+\_\+\+T\+RN}}~0x0\+BU +\item +\#define \mbox{\hyperlink{sgb_8h_a3d81b1e455d60d760ee58e2685953775}{S\+G\+B\+\_\+\+A\+T\+R\+C\+\_\+\+EN}}~0x0\+CU +\item +\#define \mbox{\hyperlink{sgb_8h_a8e644a43af63932283e9c78a472881dc}{S\+G\+B\+\_\+\+T\+E\+S\+T\+\_\+\+EN}}~0x0\+DU +\item +\#define \mbox{\hyperlink{sgb_8h_a46440df1df1597852a286d56c1a68a48}{S\+G\+B\+\_\+\+I\+C\+O\+N\+\_\+\+EN}}~0x0\+EU +\item +\#define \mbox{\hyperlink{sgb_8h_ae4fe10a0c9eca38d126f3a8701e3c9a2}{S\+G\+B\+\_\+\+D\+A\+T\+A\+\_\+\+S\+ND}}~0x0\+FU +\item +\#define \mbox{\hyperlink{sgb_8h_a862a450451cfccf138311089b85292fc}{S\+G\+B\+\_\+\+D\+A\+T\+A\+\_\+\+T\+RN}}~0x10U +\item +\#define \mbox{\hyperlink{sgb_8h_a70aad9e5786ca8a4753c47583e88f8a2}{S\+G\+B\+\_\+\+M\+L\+T\+\_\+\+R\+EQ}}~0x11U +\item +\#define \mbox{\hyperlink{sgb_8h_aac4217b88053614f70af5b1f32e72870}{S\+G\+B\+\_\+\+J\+U\+MP}}~0x12U +\item +\#define \mbox{\hyperlink{sgb_8h_af4d8b611dfdda33039038375ee95f424}{S\+G\+B\+\_\+\+C\+H\+R\+\_\+\+T\+RN}}~0x13U +\item +\#define \mbox{\hyperlink{sgb_8h_ac0bf9d5dc54d711fd14f44bf58eaa5db}{S\+G\+B\+\_\+\+P\+C\+T\+\_\+\+T\+RN}}~0x14U +\item +\#define \mbox{\hyperlink{sgb_8h_a1762d2df2599cf864400bac4934a5d61}{S\+G\+B\+\_\+\+A\+T\+T\+R\+\_\+\+T\+RN}}~0x15U +\item +\#define \mbox{\hyperlink{sgb_8h_abf8d94c42e97e1ce640340657df70640}{S\+G\+B\+\_\+\+A\+T\+T\+R\+\_\+\+S\+ET}}~0x16U +\item +\#define \mbox{\hyperlink{sgb_8h_a20477d5772564b63de2d151e062dd5a7}{S\+G\+B\+\_\+\+M\+A\+S\+K\+\_\+\+EN}}~0x17U +\item +\#define \mbox{\hyperlink{sgb_8h_a3b76bf1e9ac81da97c533fa3ab12096c}{S\+G\+B\+\_\+\+O\+B\+J\+\_\+\+T\+RN}}~0x18U +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sgb_8h_a48bc560ec2455bf97002e03c0a6055f0}{sgb\+\_\+check}} () \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{sgb_8h_a84e1f2ab7dce1faabd3d271b6bf8df8c}{sgb\+\_\+transfer}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$packet) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sgb_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Super Gameboy definitions. + +See the example S\+GB project for additional details. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{sgb_8h_a70bdb512d109fbcaeb95efa32e9dcaf5}\label{sgb_8h_a70bdb512d109fbcaeb95efa32e9dcaf5}} +\index{sgb.h@{sgb.h}!SGB\_PAL\_01@{SGB\_PAL\_01}} +\index{SGB\_PAL\_01@{SGB\_PAL\_01}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_PAL\_01}{SGB\_PAL\_01}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+P\+A\+L\+\_\+01~0x00U} + +S\+GB Command\+: Set S\+GB Palettes 0 \& 1 \mbox{\Hypertarget{sgb_8h_acaa2f1ac9949189896582fc5ad0823b1}\label{sgb_8h_acaa2f1ac9949189896582fc5ad0823b1}} +\index{sgb.h@{sgb.h}!SGB\_PAL\_23@{SGB\_PAL\_23}} +\index{SGB\_PAL\_23@{SGB\_PAL\_23}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_PAL\_23}{SGB\_PAL\_23}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+P\+A\+L\+\_\+23~0x01U} + +S\+GB Command\+: Set S\+GB Palettes 2 \& 3 \mbox{\Hypertarget{sgb_8h_af9e1ca804555fad619db3f38b62a49e8}\label{sgb_8h_af9e1ca804555fad619db3f38b62a49e8}} +\index{sgb.h@{sgb.h}!SGB\_PAL\_03@{SGB\_PAL\_03}} +\index{SGB\_PAL\_03@{SGB\_PAL\_03}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_PAL\_03}{SGB\_PAL\_03}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+P\+A\+L\+\_\+03~0x02U} + +S\+GB Command\+: Set S\+GB Palettes 0 \& 3 \mbox{\Hypertarget{sgb_8h_a8d633d52d4a7adfaef516953d5e8552a}\label{sgb_8h_a8d633d52d4a7adfaef516953d5e8552a}} +\index{sgb.h@{sgb.h}!SGB\_PAL\_12@{SGB\_PAL\_12}} +\index{SGB\_PAL\_12@{SGB\_PAL\_12}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_PAL\_12}{SGB\_PAL\_12}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+P\+A\+L\+\_\+12~0x03U} + +S\+GB Command\+: Set S\+GB Palettes 1 \& 2 \mbox{\Hypertarget{sgb_8h_a6437bd5982922fffdbc7c5d8c643e357}\label{sgb_8h_a6437bd5982922fffdbc7c5d8c643e357}} +\index{sgb.h@{sgb.h}!SGB\_ATTR\_BLK@{SGB\_ATTR\_BLK}} +\index{SGB\_ATTR\_BLK@{SGB\_ATTR\_BLK}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_ATTR\_BLK}{SGB\_ATTR\_BLK}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+A\+T\+T\+R\+\_\+\+B\+LK~0x04U} + +S\+GB Command\+: Set color attributes for rectangular regions \mbox{\Hypertarget{sgb_8h_ade5ba9723a9964e55cff72108149037a}\label{sgb_8h_ade5ba9723a9964e55cff72108149037a}} +\index{sgb.h@{sgb.h}!SGB\_ATTR\_LIN@{SGB\_ATTR\_LIN}} +\index{SGB\_ATTR\_LIN@{SGB\_ATTR\_LIN}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_ATTR\_LIN}{SGB\_ATTR\_LIN}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+A\+T\+T\+R\+\_\+\+L\+IN~0x05U} + +S\+GB Command\+: Set color attributes for horizontal or vertical character lines \mbox{\Hypertarget{sgb_8h_adcb3f50616813637283f88bfd4d53e22}\label{sgb_8h_adcb3f50616813637283f88bfd4d53e22}} +\index{sgb.h@{sgb.h}!SGB\_ATTR\_DIV@{SGB\_ATTR\_DIV}} +\index{SGB\_ATTR\_DIV@{SGB\_ATTR\_DIV}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_ATTR\_DIV}{SGB\_ATTR\_DIV}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+A\+T\+T\+R\+\_\+\+D\+IV~0x06U} + +S\+GB Command\+: Split screen in half and assign separate color attribes to each side and the divider \mbox{\Hypertarget{sgb_8h_a41981a213b67bdc45bf8ed78f07e7bba}\label{sgb_8h_a41981a213b67bdc45bf8ed78f07e7bba}} +\index{sgb.h@{sgb.h}!SGB\_ATTR\_CHR@{SGB\_ATTR\_CHR}} +\index{SGB\_ATTR\_CHR@{SGB\_ATTR\_CHR}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_ATTR\_CHR}{SGB\_ATTR\_CHR}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+A\+T\+T\+R\+\_\+\+C\+HR~0x07U} + +S\+GB Command\+: Set color attributes for separate characters\+Set S\+GB Palette 0,1 Data \mbox{\Hypertarget{sgb_8h_a42e0fbc58e65874e0a76d7f33a322ce8}\label{sgb_8h_a42e0fbc58e65874e0a76d7f33a322ce8}} +\index{sgb.h@{sgb.h}!SGB\_SOUND@{SGB\_SOUND}} +\index{SGB\_SOUND@{SGB\_SOUND}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_SOUND}{SGB\_SOUND}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+S\+O\+U\+ND~0x08U} + +S\+GB Command\+: Start and stop a internal sound effect, and sounds using internal tone data \mbox{\Hypertarget{sgb_8h_a82a976ea6a32ae0078a27e3c06143bcf}\label{sgb_8h_a82a976ea6a32ae0078a27e3c06143bcf}} +\index{sgb.h@{sgb.h}!SGB\_SOU\_TRN@{SGB\_SOU\_TRN}} +\index{SGB\_SOU\_TRN@{SGB\_SOU\_TRN}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_SOU\_TRN}{SGB\_SOU\_TRN}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+S\+O\+U\+\_\+\+T\+RN~0x09U} + +S\+GB Command\+: Transfer sound code or data to the S\+N\+ES A\+PU R\+AM \mbox{\Hypertarget{sgb_8h_ad9023ed1d8dd4a2eebc55a376207f3d2}\label{sgb_8h_ad9023ed1d8dd4a2eebc55a376207f3d2}} +\index{sgb.h@{sgb.h}!SGB\_PAL\_SET@{SGB\_PAL\_SET}} +\index{SGB\_PAL\_SET@{SGB\_PAL\_SET}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_PAL\_SET}{SGB\_PAL\_SET}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+P\+A\+L\+\_\+\+S\+ET~0x0\+AU} + +S\+GB Command\+: Apply (previously transferred) S\+GB system color palettes to actual S\+N\+ES palettes \mbox{\Hypertarget{sgb_8h_ac490ce8566f869727e8b00fabb1c9fc6}\label{sgb_8h_ac490ce8566f869727e8b00fabb1c9fc6}} +\index{sgb.h@{sgb.h}!SGB\_PAL\_TRN@{SGB\_PAL\_TRN}} +\index{SGB\_PAL\_TRN@{SGB\_PAL\_TRN}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_PAL\_TRN}{SGB\_PAL\_TRN}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+P\+A\+L\+\_\+\+T\+RN~0x0\+BU} + +S\+GB Command\+: Transfer palette data into S\+GB system color palettes \mbox{\Hypertarget{sgb_8h_a3d81b1e455d60d760ee58e2685953775}\label{sgb_8h_a3d81b1e455d60d760ee58e2685953775}} +\index{sgb.h@{sgb.h}!SGB\_ATRC\_EN@{SGB\_ATRC\_EN}} +\index{SGB\_ATRC\_EN@{SGB\_ATRC\_EN}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_ATRC\_EN}{SGB\_ATRC\_EN}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+A\+T\+R\+C\+\_\+\+EN~0x0\+CU} + +S\+GB Command\+: Enable/disable Attraction mode. It is enabled by default \mbox{\Hypertarget{sgb_8h_a8e644a43af63932283e9c78a472881dc}\label{sgb_8h_a8e644a43af63932283e9c78a472881dc}} +\index{sgb.h@{sgb.h}!SGB\_TEST\_EN@{SGB\_TEST\_EN}} +\index{SGB\_TEST\_EN@{SGB\_TEST\_EN}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_TEST\_EN}{SGB\_TEST\_EN}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+T\+E\+S\+T\+\_\+\+EN~0x0\+DU} + +S\+GB Command\+: Enable/disable test mode for \char`\"{}\+S\+G\+B-\/\+C\+P\+U variable clock speed function\char`\"{} \mbox{\Hypertarget{sgb_8h_a46440df1df1597852a286d56c1a68a48}\label{sgb_8h_a46440df1df1597852a286d56c1a68a48}} +\index{sgb.h@{sgb.h}!SGB\_ICON\_EN@{SGB\_ICON\_EN}} +\index{SGB\_ICON\_EN@{SGB\_ICON\_EN}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_ICON\_EN}{SGB\_ICON\_EN}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+I\+C\+O\+N\+\_\+\+EN~0x0\+EU} + +S\+GB Command\+: Enable/disable I\+C\+ON functionality \mbox{\Hypertarget{sgb_8h_ae4fe10a0c9eca38d126f3a8701e3c9a2}\label{sgb_8h_ae4fe10a0c9eca38d126f3a8701e3c9a2}} +\index{sgb.h@{sgb.h}!SGB\_DATA\_SND@{SGB\_DATA\_SND}} +\index{SGB\_DATA\_SND@{SGB\_DATA\_SND}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_DATA\_SND}{SGB\_DATA\_SND}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+D\+A\+T\+A\+\_\+\+S\+ND~0x0\+FU} + +S\+GB Command\+: Write one or more bytes into S\+N\+ES Work R\+AM \mbox{\Hypertarget{sgb_8h_a862a450451cfccf138311089b85292fc}\label{sgb_8h_a862a450451cfccf138311089b85292fc}} +\index{sgb.h@{sgb.h}!SGB\_DATA\_TRN@{SGB\_DATA\_TRN}} +\index{SGB\_DATA\_TRN@{SGB\_DATA\_TRN}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_DATA\_TRN}{SGB\_DATA\_TRN}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+D\+A\+T\+A\+\_\+\+T\+RN~0x10U} + +S\+GB Command\+: Transfer code or data into S\+N\+ES R\+AM \mbox{\Hypertarget{sgb_8h_a70aad9e5786ca8a4753c47583e88f8a2}\label{sgb_8h_a70aad9e5786ca8a4753c47583e88f8a2}} +\index{sgb.h@{sgb.h}!SGB\_MLT\_REQ@{SGB\_MLT\_REQ}} +\index{SGB\_MLT\_REQ@{SGB\_MLT\_REQ}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_MLT\_REQ}{SGB\_MLT\_REQ}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+M\+L\+T\+\_\+\+R\+EQ~0x11U} + +S\+GB Command\+: Request multiplayer mode (input from more than one joypad) \mbox{\Hypertarget{sgb_8h_aac4217b88053614f70af5b1f32e72870}\label{sgb_8h_aac4217b88053614f70af5b1f32e72870}} +\index{sgb.h@{sgb.h}!SGB\_JUMP@{SGB\_JUMP}} +\index{SGB\_JUMP@{SGB\_JUMP}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_JUMP}{SGB\_JUMP}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+J\+U\+MP~0x12U} + +S\+GB Command\+: Set the S\+N\+ES program counter and N\+MI (vblank interrupt) handler to specific addresses \mbox{\Hypertarget{sgb_8h_af4d8b611dfdda33039038375ee95f424}\label{sgb_8h_af4d8b611dfdda33039038375ee95f424}} +\index{sgb.h@{sgb.h}!SGB\_CHR\_TRN@{SGB\_CHR\_TRN}} +\index{SGB\_CHR\_TRN@{SGB\_CHR\_TRN}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_CHR\_TRN}{SGB\_CHR\_TRN}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+C\+H\+R\+\_\+\+T\+RN~0x13U} + +S\+GB Command\+: Transfer tile data (characters) to S\+N\+ES Tile memory \mbox{\Hypertarget{sgb_8h_ac0bf9d5dc54d711fd14f44bf58eaa5db}\label{sgb_8h_ac0bf9d5dc54d711fd14f44bf58eaa5db}} +\index{sgb.h@{sgb.h}!SGB\_PCT\_TRN@{SGB\_PCT\_TRN}} +\index{SGB\_PCT\_TRN@{SGB\_PCT\_TRN}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_PCT\_TRN}{SGB\_PCT\_TRN}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+P\+C\+T\+\_\+\+T\+RN~0x14U} + +S\+GB Command\+: Transfer tile map and palette data to S\+N\+ES BG Map memory \mbox{\Hypertarget{sgb_8h_a1762d2df2599cf864400bac4934a5d61}\label{sgb_8h_a1762d2df2599cf864400bac4934a5d61}} +\index{sgb.h@{sgb.h}!SGB\_ATTR\_TRN@{SGB\_ATTR\_TRN}} +\index{SGB\_ATTR\_TRN@{SGB\_ATTR\_TRN}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_ATTR\_TRN}{SGB\_ATTR\_TRN}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+A\+T\+T\+R\+\_\+\+T\+RN~0x15U} + +S\+GB Command\+: Transfer data to (color) Attribute Files (A\+T\+Fs) in S\+N\+ES R\+AM \mbox{\Hypertarget{sgb_8h_abf8d94c42e97e1ce640340657df70640}\label{sgb_8h_abf8d94c42e97e1ce640340657df70640}} +\index{sgb.h@{sgb.h}!SGB\_ATTR\_SET@{SGB\_ATTR\_SET}} +\index{SGB\_ATTR\_SET@{SGB\_ATTR\_SET}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_ATTR\_SET}{SGB\_ATTR\_SET}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+A\+T\+T\+R\+\_\+\+S\+ET~0x16U} + +S\+GB Command\+: Transfer attributes from (color) Attribute Files (A\+TF) to the Game Boy window \mbox{\Hypertarget{sgb_8h_a20477d5772564b63de2d151e062dd5a7}\label{sgb_8h_a20477d5772564b63de2d151e062dd5a7}} +\index{sgb.h@{sgb.h}!SGB\_MASK\_EN@{SGB\_MASK\_EN}} +\index{SGB\_MASK\_EN@{SGB\_MASK\_EN}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_MASK\_EN}{SGB\_MASK\_EN}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+M\+A\+S\+K\+\_\+\+EN~0x17U} + +S\+GB Command\+: Modify Game Boy window mask settings \mbox{\Hypertarget{sgb_8h_a3b76bf1e9ac81da97c533fa3ab12096c}\label{sgb_8h_a3b76bf1e9ac81da97c533fa3ab12096c}} +\index{sgb.h@{sgb.h}!SGB\_OBJ\_TRN@{SGB\_OBJ\_TRN}} +\index{SGB\_OBJ\_TRN@{SGB\_OBJ\_TRN}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{SGB\_OBJ\_TRN}{SGB\_OBJ\_TRN}} +{\footnotesize\ttfamily \#define S\+G\+B\+\_\+\+O\+B\+J\+\_\+\+T\+RN~0x18U} + +S\+GB Command\+: Transfer O\+BJ attributes to S\+N\+ES O\+AM memory + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{sgb_8h_a48bc560ec2455bf97002e03c0a6055f0}\label{sgb_8h_a48bc560ec2455bf97002e03c0a6055f0}} +\index{sgb.h@{sgb.h}!sgb\_check@{sgb\_check}} +\index{sgb\_check@{sgb\_check}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{sgb\_check()}{sgb\_check()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} sgb\+\_\+check (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Returns a non-\/null value if running on Super Game\+Boy \mbox{\Hypertarget{sgb_8h_a84e1f2ab7dce1faabd3d271b6bf8df8c}\label{sgb_8h_a84e1f2ab7dce1faabd3d271b6bf8df8c}} +\index{sgb.h@{sgb.h}!sgb\_transfer@{sgb\_transfer}} +\index{sgb\_transfer@{sgb\_transfer}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{sgb\_transfer()}{sgb\_transfer()}} +{\footnotesize\ttfamily void sgb\+\_\+transfer (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{packet }\end{DoxyParamCaption})} + +Transfer a S\+GB packet + + +\begin{DoxyParams}{Parameters} +{\em packet} & Pointer to buffer with S\+GB packet data.\\ +\hline +\end{DoxyParams} +The first byte of {\bfseries{packet}} should be a S\+GB command, then up to 15 bytes of command parameter data. + +See the {\ttfamily sgb\+\_\+border} G\+B\+DK example project for a demo of how to use these the sgb functions. + +When using the S\+GB with a P\+AL S\+N\+ES, a delay should be added just after program startup such as\+: + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\textcolor{comment}{// Wait 4 frames}} +\DoxyCodeLine{\textcolor{comment}{// For PAL SNES this delay is required on startup}} +\DoxyCodeLine{\textcolor{keywordflow}{for} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\_t}} i = 4; i != 0; i-\/-\/) \mbox{\hyperlink{gb_8h_acd186eb292d441f9389e77b545a55619}{wait\_vbl\_done}}();} +\end{DoxyCode} + + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sgb_8h_a48bc560ec2455bf97002e03c0a6055f0}{sgb\+\_\+check()}} +\end{DoxySeeAlso} + + +\doxysubsubsection{Variable Documentation} +\mbox{\Hypertarget{sgb_8h_a0b3366755f3276b0243c1e0497471b7a}\label{sgb_8h_a0b3366755f3276b0243c1e0497471b7a}} +\index{sgb.h@{sgb.h}!c@{c}} +\index{c@{c}!sgb.h@{sgb.h}} +\doxyparagraph{\texorpdfstring{c}{c}} +{\footnotesize\ttfamily void c} + diff --git a/docs/latex/sms_2gbdecompress_8h.tex b/docs/latex/sms_2gbdecompress_8h.tex @@ -0,0 +1,47 @@ +\hypertarget{sms_2gbdecompress_8h}{}\doxysubsection{sms/gbdecompress.h File Reference} +\label{sms_2gbdecompress_8h}\index{sms/gbdecompress.h@{sms/gbdecompress.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{sms_2gbdecompress_8h_a9cd1564f78842562c450becf22002db2}{gb\+\_\+decompress}} (const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$sour, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$dest) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{sms_2gbdecompress_8h_add06ad5d8520e7cff4ff84b2811c0982}{c}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{sms_2gbdecompress_8h_a9cd1564f78842562c450becf22002db2}\label{sms_2gbdecompress_8h_a9cd1564f78842562c450becf22002db2}} +\index{gbdecompress.h@{gbdecompress.h}!gb\_decompress@{gb\_decompress}} +\index{gb\_decompress@{gb\_decompress}!gbdecompress.h@{gbdecompress.h}} +\doxyparagraph{\texorpdfstring{gb\_decompress()}{gb\_decompress()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} gb\+\_\+decompress (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{sour, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{dest }\end{DoxyParamCaption})} + +gb-\/decompress data from sour into dest + + +\begin{DoxyParams}{Parameters} +{\em sour} & Pointer to source gb-\/compressed data \\ +\hline +{\em dest} & Pointer to destination buffer/address\\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +Return value is number of bytes decompressed +\end{DoxyReturn} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_2gbdecompress_8h_aed0cb0f1604a80ca5e7fb771b04114d8}{gb\+\_\+decompress\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_2gbdecompress_8h_a85d2eaf4a7c268fe1496fa2b9c626284}{gb\+\_\+decompress\+\_\+win\+\_\+data}}, \mbox{\hyperlink{gb_2gbdecompress_8h_aa4ac6ffb1dc949051e0e72e2aba8e6ff}{gb\+\_\+decompress\+\_\+sprite\+\_\+data}} +\end{DoxySeeAlso} + + +\doxysubsubsection{Variable Documentation} +\mbox{\Hypertarget{sms_2gbdecompress_8h_add06ad5d8520e7cff4ff84b2811c0982}\label{sms_2gbdecompress_8h_add06ad5d8520e7cff4ff84b2811c0982}} +\index{gbdecompress.h@{gbdecompress.h}!c@{c}} +\index{c@{c}!gbdecompress.h@{gbdecompress.h}} +\doxyparagraph{\texorpdfstring{c}{c}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} c} + diff --git a/docs/latex/sms_2hardware_8h.tex b/docs/latex/sms_2hardware_8h.tex @@ -0,0 +1,986 @@ +\hypertarget{sms_2hardware_8h}{}\doxysubsection{sms/hardware.h File Reference} +\label{sms_2hardware_8h}\index{sms/hardware.h@{sms/hardware.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}{\+\_\+\+\_\+\+B\+Y\+T\+ES}}~extern \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}{\+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG}}~extern volatile \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_af4607245a47e34bd6af5d2d43d7fb30f}{M\+E\+M\+C\+T\+L\+\_\+\+J\+O\+Y\+ON}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ad8b8ecb5a71567cabc47af43da5dadf1}{M\+E\+M\+C\+T\+L\+\_\+\+J\+O\+Y\+O\+FF}}~0b00000100 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a2a98128eb9ca41477c139988da9d803f}{M\+E\+M\+C\+T\+L\+\_\+\+B\+A\+S\+E\+ON}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a29d7c3b98f855f88d6bb3f380b301d64}{M\+E\+M\+C\+T\+L\+\_\+\+B\+A\+S\+E\+O\+FF}}~0b00001000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_af4522efccaecbb6ce47a337f6dbada24}{M\+E\+M\+C\+T\+L\+\_\+\+R\+A\+M\+ON}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_adbfef6bdd2da5ba3901e91062390bb68}{M\+E\+M\+C\+T\+L\+\_\+\+R\+A\+M\+O\+FF}}~0b00010000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ad729a51cb551d9ee8bfb57c50c9dfd11}{M\+E\+M\+C\+T\+L\+\_\+\+C\+R\+O\+M\+ON}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a79ca0cc4a9979b2eeaeda61b043b36ae}{M\+E\+M\+C\+T\+L\+\_\+\+C\+R\+O\+M\+O\+FF}}~0b00100000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a27b47b593a0d021ab342dfc744403b86}{M\+E\+M\+C\+T\+L\+\_\+\+R\+O\+M\+ON}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a25882a19ebfb78cd09158a5f743a6409}{M\+E\+M\+C\+T\+L\+\_\+\+R\+O\+M\+O\+FF}}~0b01000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a41654dd6b42ebdd213edc44494855caf}{M\+E\+M\+C\+T\+L\+\_\+\+E\+X\+T\+ON}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ac4c1790dd7397ef1005190dc01b3e808}{M\+E\+M\+C\+T\+L\+\_\+\+E\+X\+T\+O\+FF}}~0b10000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_aa8e128eeff1d58f674cebdbacc413f3c}{J\+O\+Y\+\_\+\+P1\+\_\+\+L\+A\+T\+CH}}~0b00000010 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a2cfa517650949a89a7ebabf0253fcdf7}{J\+O\+Y\+\_\+\+P2\+\_\+\+L\+A\+T\+CH}}~0b00001000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a6777f1ed2475b5ba6aa60b9a16fa02d3}{P\+S\+G\+\_\+\+L\+A\+T\+CH}}~0x80 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ad8a903de6b38e08e1591fc5ef278381c}{P\+S\+G\+\_\+\+C\+H0}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_addc12c4ee03ea787b826e337f1acd317}{P\+S\+G\+\_\+\+C\+H1}}~0b00100000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_aaeefb1ac1fb4d0d2324b8ee7f4953226}{P\+S\+G\+\_\+\+C\+H2}}~0b01000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ac760259fb86ee72abb5922018ae0db42}{P\+S\+G\+\_\+\+C\+H3}}~0b01100000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a3d806ff027bffa67c4dfc5967f87c1d1}{P\+S\+G\+\_\+\+V\+O\+L\+U\+ME}}~0b00010000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a4702e74fffdc57d60c3835e63c665cc1}{S\+T\+A\+T\+F\+\_\+\+I\+N\+T\+\_\+\+V\+BL}}~0b10000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a4a7b807e5e5987302a5315fe5c815ce8}{S\+T\+A\+T\+F\+\_\+9\+\_\+\+S\+PR}}~0b01000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a6fdd982d805d5af6de0417e24faf027d}{S\+T\+A\+T\+F\+\_\+\+S\+P\+R\+\_\+\+C\+O\+LL}}~0b00100000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a99ca7572e3708ffed188359799045b19}{V\+D\+P\+\_\+\+R\+E\+G\+\_\+\+M\+A\+SK}}~0b10000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a673a19a1e353c852003c54d1d110b5e6}{V\+D\+P\+\_\+\+R0}}~0b10000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a283c5cad8b93ee7e72ad07aabb9bf522}{R0\+\_\+\+V\+S\+C\+RL}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a65fa6547c2cd80b353a0b266cd834ff0}{R0\+\_\+\+V\+S\+C\+R\+L\+\_\+\+I\+NH}}~0b10000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a61143072ad490ff0050177e7b4b2dd40}{R0\+\_\+\+H\+S\+C\+RL}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a5c238a0b81716020b92cf851b2498b96}{R0\+\_\+\+H\+S\+C\+R\+L\+\_\+\+I\+NH}}~0b01000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_acdd680365862fb618641818646edeb7e}{R0\+\_\+\+N\+O\+\_\+\+L\+CB}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a83088549f6d87bf5ccb8bf51dfe7ea7b}{R0\+\_\+\+L\+CB}}~0b00100000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a56819f822caf1e545ff803d41cac3ede}{R0\+\_\+\+I\+E1\+\_\+\+O\+FF}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ae9ab439a46f9918cc24453cd65f95202}{R0\+\_\+\+I\+E1}}~0b00010000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a10e6ffa0580e9956440f4259a3e79a38}{R0\+\_\+\+S\+S\+\_\+\+O\+FF}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ada8068942691b363f9004ccfd0cb8e82}{R0\+\_\+\+SS}}~0b00001000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_af69775608c5d3218fb769c4fb370685f}{R0\+\_\+\+D\+E\+F\+A\+U\+LT}}~0b00000110 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_aebdf04065a0abf79ae8e1016d03caa1f}{R0\+\_\+\+E\+S\+\_\+\+O\+FF}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a07d8e5a18c957c482218804ab764dab9}{R0\+\_\+\+ES}}~0b00000001 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}{V\+D\+P\+\_\+\+R1}}~0b10000001 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a490562a6e4b57d7bf25e8fed3b3f6905}{R1\+\_\+\+D\+E\+F\+A\+U\+LT}}~0b10000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a143660061646a3f502d03a2251575588}{R1\+\_\+\+D\+I\+S\+P\+\_\+\+O\+FF}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_adbfdd7c42539613c371820dffd14906f}{R1\+\_\+\+D\+I\+S\+P\+\_\+\+ON}}~0b01000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_adf542fd9d2bf9affc6016718e3885473}{R1\+\_\+\+I\+E\+\_\+\+O\+FF}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a29a2945a9e77ba1f003a2305b7500568}{R1\+\_\+\+IE}}~0b00100000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_aa4062707b9b0f9ff5d1ee982ccc42fe7}{R1\+\_\+\+S\+P\+R\+\_\+8\+X8}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a4985d6df1031afe8efb993f9c480ca12}{R1\+\_\+\+S\+P\+R\+\_\+8\+X16}}~0b00000010 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a2c9f91fcf2aad494a80e967f0c4bb414}{V\+D\+P\+\_\+\+R2}}~0b10000010 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a8ce8807a3666fa8c7c93d4834ab22fe3}{R2\+\_\+\+M\+A\+P\+\_\+0x3800}}~0x\+FF +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a725647b41b3c8083a7ae8db762ffc880}{R2\+\_\+\+M\+A\+P\+\_\+0x3000}}~0x\+FD +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a43ae738f82e8c6e84d30a96fb9c2c792}{R2\+\_\+\+M\+A\+P\+\_\+0x2800}}~0x\+FB +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_aa2c53c6a4d12fb0614c1a18c015e39af}{R2\+\_\+\+M\+A\+P\+\_\+0x2000}}~0x\+F9 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a08fade3bc2afb94785b0ac50d6959faa}{R2\+\_\+\+M\+A\+P\+\_\+0x1800}}~0x\+F7 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a43a631b4692a370b2db6b9d5fc2512e1}{R2\+\_\+\+M\+A\+P\+\_\+0x1000}}~0x\+F5 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a64cfebfe759bacd1424ad147931ff5a3}{R2\+\_\+\+M\+A\+P\+\_\+0x0800}}~0x\+F3 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_acf804b73635a1bfeb04b7dbeafb7fd9f}{R2\+\_\+\+M\+A\+P\+\_\+0x0000}}~0x\+F1 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a2a58ae82037e16756404df4820a23f47}{V\+D\+P\+\_\+\+R3}}~0b10000011 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a5d1f215594c86a9e3d670f5a7f89e301}{V\+D\+P\+\_\+\+R4}}~0b10000100 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a75e2c9878fe4cc7c86f71d8e8fa09924}{V\+D\+P\+\_\+\+R5}}~0b10000101 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ae973ce797203f9e4bebc10f5010a8fdd}{R5\+\_\+\+S\+A\+T\+\_\+0x3\+F00}}~0x\+FF +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ab0ea6874bcc910239b098025c9761c01}{R5\+\_\+\+S\+A\+T\+\_\+\+M\+A\+SK}}~0b10000001 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a81ae7462829d0fcc65c3c99194a68772}{V\+D\+P\+\_\+\+R6}}~0b10000110 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a1aba84d3beebe43e641766525630d0ad}{R6\+\_\+\+B\+A\+N\+K0}}~0x\+FB +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a81289f179bb00ade9e4f7221ddff0e46}{R6\+\_\+\+D\+A\+T\+A\+\_\+0x0000}}~0x\+FB +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_adcc51095e67b158df848367761d735a4}{R6\+\_\+\+B\+A\+N\+K1}}~0x\+FF +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ac59ac38e5ec2e23e511f854403d7cbe4}{R6\+\_\+\+D\+A\+T\+A\+\_\+0x2000}}~0x\+FF +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_aa82ab1c04cff3363327f3309d09ae638}{V\+D\+P\+\_\+\+R7}}~0b10000111 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_abef00e3cae6f12d97973b318ebbf9737}{V\+D\+P\+\_\+\+R\+B\+O\+R\+D\+ER}}~0b10000111 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_aa1a024a7dc26ef40663fe283565bcf50}{R7\+\_\+\+C\+O\+L\+O\+R\+\_\+\+M\+A\+SK}}~0b11110000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a3cb38487469808e023fcb331c180c4b9}{V\+D\+P\+\_\+\+R8}}~0b10001000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a9c49833bc96a70b8972027d28c816d2f}{V\+D\+P\+\_\+\+R\+S\+CX}}~0b10001000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a294388f3d14b6fec1f1bbeafc7d0f91e}{V\+D\+P\+\_\+\+R9}}~0b10001001 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a3cce162b45d638126c478c5b6f7bcbc7}{V\+D\+P\+\_\+\+R\+S\+CY}}~0b10001001 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a1049d2a3f634380f4dffff619334a504}{V\+D\+P\+\_\+\+R10}}~0b10001010 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a98d635ed568cfe9f853eaf7e1707dec4}{R10\+\_\+\+I\+N\+T\+\_\+\+O\+FF}}~0x\+FF +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_adf9e7ec5362058df23e1c0e4c06ad5d6}{R10\+\_\+\+I\+N\+T\+\_\+\+E\+V\+E\+RY}}~0x00 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a086bde6bcc92e5f4d3e9ae45f0de475e}{J\+O\+Y\+\_\+\+P1\+\_\+\+UP}}~0b00000001 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ab4dd6ee624c6d9e5fe5820ce925ffb20}{J\+O\+Y\+\_\+\+P1\+\_\+\+D\+O\+WN}}~0b00000010 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a7d709160cbd7b369109bf40161ae8ccd}{J\+O\+Y\+\_\+\+P1\+\_\+\+L\+E\+FT}}~0b00000100 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a1efece9134651ad4d2bd1836c1d1d6d6}{J\+O\+Y\+\_\+\+P1\+\_\+\+R\+I\+G\+HT}}~0b00001000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_aacc8667a6d5d9683ed4876e52aba2d33}{J\+O\+Y\+\_\+\+P1\+\_\+\+S\+W1}}~0b00010000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_af29f72f4cc7c94deae5fb9c29b1cc94f}{J\+O\+Y\+\_\+\+P1\+\_\+\+T\+R\+I\+G\+G\+ER}}~0b00010000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a9ab9954d0c66751a154f7824e344806b}{J\+O\+Y\+\_\+\+P1\+\_\+\+S\+W2}}~0b00100000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a307ba8e12d9273a99aa4830c5e0a3c88}{J\+O\+Y\+\_\+\+P2\+\_\+\+UP}}~0b01000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a6d4129d670d421656f5e9a1f4b68a7f4}{J\+O\+Y\+\_\+\+P2\+\_\+\+D\+O\+WN}}~0b10000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a2121cb75e0d570b0f92c7630bc1af25f}{J\+O\+Y\+\_\+\+P2\+\_\+\+L\+E\+FT}}~0b00000001 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a16dac3d386b8bc0da50c6c814952472d}{J\+O\+Y\+\_\+\+P2\+\_\+\+R\+I\+G\+HT}}~0b00000010 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a942e3ecdef267100c84a36f6e0dc0b51}{J\+O\+Y\+\_\+\+P2\+\_\+\+S\+W1}}~0b00000100 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_afe5ec4ca4d413ae5388be131d9c4f93b}{J\+O\+Y\+\_\+\+P2\+\_\+\+T\+R\+I\+G\+G\+ER}}~0b00000100 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a6d181ce63ff84bd559d13f4423a336b3}{J\+O\+Y\+\_\+\+P2\+\_\+\+S\+W2}}~0b00001000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a5b3dff084cbb77646a337d94d16a1714}{J\+O\+Y\+\_\+\+R\+E\+S\+ET}}~0b00010000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a772c8def7b33ad4fd3cbfc74d84441de}{J\+O\+Y\+\_\+\+P1\+\_\+\+L\+I\+G\+HT}}~0b01000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a42ded04442bd4fb4acf5333b248423fa}{J\+O\+Y\+\_\+\+P2\+\_\+\+L\+I\+G\+HT}}~0b10000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a8f4dbe8a2e6389c78b9f6fb9a3ff1dca}{R\+A\+M\+C\+T\+L\+\_\+\+B\+A\+NK}}~0b00000100 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a0167c8f86de8ef1a327b806c8ed0c64c}{R\+A\+M\+C\+T\+L\+\_\+\+R\+OM}}~0b00000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a8728acabf97eae3322439bc3cb41b02d}{R\+A\+M\+C\+T\+L\+\_\+\+R\+AM}}~0b00001000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_afa9ebb221cf9cd92038131ab588679bf}{R\+A\+M\+C\+T\+L\+\_\+\+RO}}~0b00010000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a97eb5adb5f29e17ce5766728447317f5}{R\+A\+M\+C\+T\+L\+\_\+\+P\+R\+OT}}~0b10000000 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a1ac4bf5582e0754ea814c3f51c99a91a}{S\+Y\+S\+T\+E\+M\+\_\+\+P\+AL}}~0x00 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ae6888157a94fca2f1a1b5136494f2e07}{S\+Y\+S\+T\+E\+M\+\_\+\+N\+T\+SC}}~0x01 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ad3b833661b103edc2648258dd741c92c}{V\+D\+P\+\_\+\+S\+A\+T\+\_\+\+T\+E\+RM}}~0x\+D0 +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_ad14c51cdfb347c34c364f54e67dc978d}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+W\+I\+D\+TH}}~(\mbox{\hyperlink{gb_2hardware_8h_add7f32ba868ef6517798f5fce337e4b2}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+W\+I\+D\+TH}} $\ast$ 8) +\item +\#define \mbox{\hyperlink{sms_2hardware_8h_a7bd450aa268b881257089cf8cd6697ec}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+H\+E\+I\+G\+HT}}~(\mbox{\hyperlink{gb_2hardware_8h_ad252264fdcf900e5fbf611f7a45962ed}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+H\+E\+I\+G\+HT}} $\ast$ 8) +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_aa80cb68338819c004095531d32b70e38}{shadow\+\_\+\+V\+D\+P\+\_\+\+R0}} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_a542cb696f242df44b0d8e9225d532ef4}{shadow\+\_\+\+V\+D\+P\+\_\+\+R1}} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_a7f7fa2c0e33c6d515332a50c2acb54e7}{shadow\+\_\+\+V\+D\+P\+\_\+\+R2}} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_ab984056ff9eb011fbd84abdafb3a8bce}{shadow\+\_\+\+V\+D\+P\+\_\+\+R3}} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_af9a30a728fedbe7e4c660c448c262e2c}{shadow\+\_\+\+V\+D\+P\+\_\+\+R4}} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_a221db76cb39200a948234330ed309af7}{shadow\+\_\+\+V\+D\+P\+\_\+\+R5}} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_a8afbdaaf8c6dee4e7482a341351344b4}{shadow\+\_\+\+V\+D\+P\+\_\+\+R6}} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_a33b3e7c120a579cb729caf588ba1d9a8}{shadow\+\_\+\+V\+D\+P\+\_\+\+R7}} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_a20a977182f6f5f60ee6464e15f05aed0}{shadow\+\_\+\+V\+D\+P\+\_\+\+R\+B\+O\+R\+D\+ER}} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_add65b8e5f0b806e563ce27de7348ba31}{shadow\+\_\+\+V\+D\+P\+\_\+\+R8}} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_af6a84b0288b045560f83a1944a8c1c3b}{shadow\+\_\+\+V\+D\+P\+\_\+\+R\+S\+CX}} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_a1ccce1e3f8acb76170fb752ee40ae659}{shadow\+\_\+\+V\+D\+P\+\_\+\+R9}} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_a292b59055beb22b566b39462da3b7eba}{shadow\+\_\+\+V\+D\+P\+\_\+\+R\+S\+CY}} +\item +\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_af310a900e3b4b5b5032f4ffd6fa309b0}{shadow\+\_\+\+V\+D\+P\+\_\+\+R10}} +\item +const \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_a735fc9fb4f089391a584293f2dff1008}{\+\_\+\+B\+I\+OS}} +\item +const \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_a7093bf38c5e663715f4efed44341502d}{\+\_\+\+S\+Y\+S\+T\+EM}} +\item +volatile \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \mbox{\hyperlink{sms_2hardware_8h_a019bf78a6d586c987aec03af8d20e02f}{V\+D\+P\+\_\+\+A\+T\+T\+R\+\_\+\+S\+H\+I\+FT}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Defines that let the S\+M\+S/\+GG hardware registers be accessed from C. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}\label{sms_2hardware_8h_ab2767d5f8f0ad35d8c8ee0bb3f4c51c3}} +\index{hardware.h@{hardware.h}!\_\_BYTES@{\_\_BYTES}} +\index{\_\_BYTES@{\_\_BYTES}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_\_BYTES}{\_\_BYTES}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+B\+Y\+T\+ES~extern \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}}} + +\mbox{\Hypertarget{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}\label{sms_2hardware_8h_a3b39604bdf93a32e9ff965c1a55f0df8}} +\index{hardware.h@{hardware.h}!\_\_BYTE\_REG@{\_\_BYTE\_REG}} +\index{\_\_BYTE\_REG@{\_\_BYTE\_REG}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_\_BYTE\_REG}{\_\_BYTE\_REG}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+B\+Y\+T\+E\+\_\+\+R\+EG~extern volatile \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}}} + +\mbox{\Hypertarget{sms_2hardware_8h_af4607245a47e34bd6af5d2d43d7fb30f}\label{sms_2hardware_8h_af4607245a47e34bd6af5d2d43d7fb30f}} +\index{hardware.h@{hardware.h}!MEMCTL\_JOYON@{MEMCTL\_JOYON}} +\index{MEMCTL\_JOYON@{MEMCTL\_JOYON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{MEMCTL\_JOYON}{MEMCTL\_JOYON}} +{\footnotesize\ttfamily \#define M\+E\+M\+C\+T\+L\+\_\+\+J\+O\+Y\+ON~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_ad8b8ecb5a71567cabc47af43da5dadf1}\label{sms_2hardware_8h_ad8b8ecb5a71567cabc47af43da5dadf1}} +\index{hardware.h@{hardware.h}!MEMCTL\_JOYOFF@{MEMCTL\_JOYOFF}} +\index{MEMCTL\_JOYOFF@{MEMCTL\_JOYOFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{MEMCTL\_JOYOFF}{MEMCTL\_JOYOFF}} +{\footnotesize\ttfamily \#define M\+E\+M\+C\+T\+L\+\_\+\+J\+O\+Y\+O\+FF~0b00000100} + +\mbox{\Hypertarget{sms_2hardware_8h_a2a98128eb9ca41477c139988da9d803f}\label{sms_2hardware_8h_a2a98128eb9ca41477c139988da9d803f}} +\index{hardware.h@{hardware.h}!MEMCTL\_BASEON@{MEMCTL\_BASEON}} +\index{MEMCTL\_BASEON@{MEMCTL\_BASEON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{MEMCTL\_BASEON}{MEMCTL\_BASEON}} +{\footnotesize\ttfamily \#define M\+E\+M\+C\+T\+L\+\_\+\+B\+A\+S\+E\+ON~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a29d7c3b98f855f88d6bb3f380b301d64}\label{sms_2hardware_8h_a29d7c3b98f855f88d6bb3f380b301d64}} +\index{hardware.h@{hardware.h}!MEMCTL\_BASEOFF@{MEMCTL\_BASEOFF}} +\index{MEMCTL\_BASEOFF@{MEMCTL\_BASEOFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{MEMCTL\_BASEOFF}{MEMCTL\_BASEOFF}} +{\footnotesize\ttfamily \#define M\+E\+M\+C\+T\+L\+\_\+\+B\+A\+S\+E\+O\+FF~0b00001000} + +\mbox{\Hypertarget{sms_2hardware_8h_af4522efccaecbb6ce47a337f6dbada24}\label{sms_2hardware_8h_af4522efccaecbb6ce47a337f6dbada24}} +\index{hardware.h@{hardware.h}!MEMCTL\_RAMON@{MEMCTL\_RAMON}} +\index{MEMCTL\_RAMON@{MEMCTL\_RAMON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{MEMCTL\_RAMON}{MEMCTL\_RAMON}} +{\footnotesize\ttfamily \#define M\+E\+M\+C\+T\+L\+\_\+\+R\+A\+M\+ON~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_adbfef6bdd2da5ba3901e91062390bb68}\label{sms_2hardware_8h_adbfef6bdd2da5ba3901e91062390bb68}} +\index{hardware.h@{hardware.h}!MEMCTL\_RAMOFF@{MEMCTL\_RAMOFF}} +\index{MEMCTL\_RAMOFF@{MEMCTL\_RAMOFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{MEMCTL\_RAMOFF}{MEMCTL\_RAMOFF}} +{\footnotesize\ttfamily \#define M\+E\+M\+C\+T\+L\+\_\+\+R\+A\+M\+O\+FF~0b00010000} + +\mbox{\Hypertarget{sms_2hardware_8h_ad729a51cb551d9ee8bfb57c50c9dfd11}\label{sms_2hardware_8h_ad729a51cb551d9ee8bfb57c50c9dfd11}} +\index{hardware.h@{hardware.h}!MEMCTL\_CROMON@{MEMCTL\_CROMON}} +\index{MEMCTL\_CROMON@{MEMCTL\_CROMON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{MEMCTL\_CROMON}{MEMCTL\_CROMON}} +{\footnotesize\ttfamily \#define M\+E\+M\+C\+T\+L\+\_\+\+C\+R\+O\+M\+ON~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a79ca0cc4a9979b2eeaeda61b043b36ae}\label{sms_2hardware_8h_a79ca0cc4a9979b2eeaeda61b043b36ae}} +\index{hardware.h@{hardware.h}!MEMCTL\_CROMOFF@{MEMCTL\_CROMOFF}} +\index{MEMCTL\_CROMOFF@{MEMCTL\_CROMOFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{MEMCTL\_CROMOFF}{MEMCTL\_CROMOFF}} +{\footnotesize\ttfamily \#define M\+E\+M\+C\+T\+L\+\_\+\+C\+R\+O\+M\+O\+FF~0b00100000} + +\mbox{\Hypertarget{sms_2hardware_8h_a27b47b593a0d021ab342dfc744403b86}\label{sms_2hardware_8h_a27b47b593a0d021ab342dfc744403b86}} +\index{hardware.h@{hardware.h}!MEMCTL\_ROMON@{MEMCTL\_ROMON}} +\index{MEMCTL\_ROMON@{MEMCTL\_ROMON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{MEMCTL\_ROMON}{MEMCTL\_ROMON}} +{\footnotesize\ttfamily \#define M\+E\+M\+C\+T\+L\+\_\+\+R\+O\+M\+ON~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a25882a19ebfb78cd09158a5f743a6409}\label{sms_2hardware_8h_a25882a19ebfb78cd09158a5f743a6409}} +\index{hardware.h@{hardware.h}!MEMCTL\_ROMOFF@{MEMCTL\_ROMOFF}} +\index{MEMCTL\_ROMOFF@{MEMCTL\_ROMOFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{MEMCTL\_ROMOFF}{MEMCTL\_ROMOFF}} +{\footnotesize\ttfamily \#define M\+E\+M\+C\+T\+L\+\_\+\+R\+O\+M\+O\+FF~0b01000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a41654dd6b42ebdd213edc44494855caf}\label{sms_2hardware_8h_a41654dd6b42ebdd213edc44494855caf}} +\index{hardware.h@{hardware.h}!MEMCTL\_EXTON@{MEMCTL\_EXTON}} +\index{MEMCTL\_EXTON@{MEMCTL\_EXTON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{MEMCTL\_EXTON}{MEMCTL\_EXTON}} +{\footnotesize\ttfamily \#define M\+E\+M\+C\+T\+L\+\_\+\+E\+X\+T\+ON~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_ac4c1790dd7397ef1005190dc01b3e808}\label{sms_2hardware_8h_ac4c1790dd7397ef1005190dc01b3e808}} +\index{hardware.h@{hardware.h}!MEMCTL\_EXTOFF@{MEMCTL\_EXTOFF}} +\index{MEMCTL\_EXTOFF@{MEMCTL\_EXTOFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{MEMCTL\_EXTOFF}{MEMCTL\_EXTOFF}} +{\footnotesize\ttfamily \#define M\+E\+M\+C\+T\+L\+\_\+\+E\+X\+T\+O\+FF~0b10000000} + +\mbox{\Hypertarget{sms_2hardware_8h_aa8e128eeff1d58f674cebdbacc413f3c}\label{sms_2hardware_8h_aa8e128eeff1d58f674cebdbacc413f3c}} +\index{hardware.h@{hardware.h}!JOY\_P1\_LATCH@{JOY\_P1\_LATCH}} +\index{JOY\_P1\_LATCH@{JOY\_P1\_LATCH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P1\_LATCH}{JOY\_P1\_LATCH}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P1\+\_\+\+L\+A\+T\+CH~0b00000010} + +\mbox{\Hypertarget{sms_2hardware_8h_a2cfa517650949a89a7ebabf0253fcdf7}\label{sms_2hardware_8h_a2cfa517650949a89a7ebabf0253fcdf7}} +\index{hardware.h@{hardware.h}!JOY\_P2\_LATCH@{JOY\_P2\_LATCH}} +\index{JOY\_P2\_LATCH@{JOY\_P2\_LATCH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P2\_LATCH}{JOY\_P2\_LATCH}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P2\+\_\+\+L\+A\+T\+CH~0b00001000} + +\mbox{\Hypertarget{sms_2hardware_8h_a6777f1ed2475b5ba6aa60b9a16fa02d3}\label{sms_2hardware_8h_a6777f1ed2475b5ba6aa60b9a16fa02d3}} +\index{hardware.h@{hardware.h}!PSG\_LATCH@{PSG\_LATCH}} +\index{PSG\_LATCH@{PSG\_LATCH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{PSG\_LATCH}{PSG\_LATCH}} +{\footnotesize\ttfamily \#define P\+S\+G\+\_\+\+L\+A\+T\+CH~0x80} + +\mbox{\Hypertarget{sms_2hardware_8h_ad8a903de6b38e08e1591fc5ef278381c}\label{sms_2hardware_8h_ad8a903de6b38e08e1591fc5ef278381c}} +\index{hardware.h@{hardware.h}!PSG\_CH0@{PSG\_CH0}} +\index{PSG\_CH0@{PSG\_CH0}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{PSG\_CH0}{PSG\_CH0}} +{\footnotesize\ttfamily \#define P\+S\+G\+\_\+\+C\+H0~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_addc12c4ee03ea787b826e337f1acd317}\label{sms_2hardware_8h_addc12c4ee03ea787b826e337f1acd317}} +\index{hardware.h@{hardware.h}!PSG\_CH1@{PSG\_CH1}} +\index{PSG\_CH1@{PSG\_CH1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{PSG\_CH1}{PSG\_CH1}} +{\footnotesize\ttfamily \#define P\+S\+G\+\_\+\+C\+H1~0b00100000} + +\mbox{\Hypertarget{sms_2hardware_8h_aaeefb1ac1fb4d0d2324b8ee7f4953226}\label{sms_2hardware_8h_aaeefb1ac1fb4d0d2324b8ee7f4953226}} +\index{hardware.h@{hardware.h}!PSG\_CH2@{PSG\_CH2}} +\index{PSG\_CH2@{PSG\_CH2}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{PSG\_CH2}{PSG\_CH2}} +{\footnotesize\ttfamily \#define P\+S\+G\+\_\+\+C\+H2~0b01000000} + +\mbox{\Hypertarget{sms_2hardware_8h_ac760259fb86ee72abb5922018ae0db42}\label{sms_2hardware_8h_ac760259fb86ee72abb5922018ae0db42}} +\index{hardware.h@{hardware.h}!PSG\_CH3@{PSG\_CH3}} +\index{PSG\_CH3@{PSG\_CH3}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{PSG\_CH3}{PSG\_CH3}} +{\footnotesize\ttfamily \#define P\+S\+G\+\_\+\+C\+H3~0b01100000} + +\mbox{\Hypertarget{sms_2hardware_8h_a3d806ff027bffa67c4dfc5967f87c1d1}\label{sms_2hardware_8h_a3d806ff027bffa67c4dfc5967f87c1d1}} +\index{hardware.h@{hardware.h}!PSG\_VOLUME@{PSG\_VOLUME}} +\index{PSG\_VOLUME@{PSG\_VOLUME}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{PSG\_VOLUME}{PSG\_VOLUME}} +{\footnotesize\ttfamily \#define P\+S\+G\+\_\+\+V\+O\+L\+U\+ME~0b00010000} + +\mbox{\Hypertarget{sms_2hardware_8h_a4702e74fffdc57d60c3835e63c665cc1}\label{sms_2hardware_8h_a4702e74fffdc57d60c3835e63c665cc1}} +\index{hardware.h@{hardware.h}!STATF\_INT\_VBL@{STATF\_INT\_VBL}} +\index{STATF\_INT\_VBL@{STATF\_INT\_VBL}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_INT\_VBL}{STATF\_INT\_VBL}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+I\+N\+T\+\_\+\+V\+BL~0b10000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a4a7b807e5e5987302a5315fe5c815ce8}\label{sms_2hardware_8h_a4a7b807e5e5987302a5315fe5c815ce8}} +\index{hardware.h@{hardware.h}!STATF\_9\_SPR@{STATF\_9\_SPR}} +\index{STATF\_9\_SPR@{STATF\_9\_SPR}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_9\_SPR}{STATF\_9\_SPR}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+9\+\_\+\+S\+PR~0b01000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a6fdd982d805d5af6de0417e24faf027d}\label{sms_2hardware_8h_a6fdd982d805d5af6de0417e24faf027d}} +\index{hardware.h@{hardware.h}!STATF\_SPR\_COLL@{STATF\_SPR\_COLL}} +\index{STATF\_SPR\_COLL@{STATF\_SPR\_COLL}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{STATF\_SPR\_COLL}{STATF\_SPR\_COLL}} +{\footnotesize\ttfamily \#define S\+T\+A\+T\+F\+\_\+\+S\+P\+R\+\_\+\+C\+O\+LL~0b00100000} + +\mbox{\Hypertarget{sms_2hardware_8h_a99ca7572e3708ffed188359799045b19}\label{sms_2hardware_8h_a99ca7572e3708ffed188359799045b19}} +\index{hardware.h@{hardware.h}!VDP\_REG\_MASK@{VDP\_REG\_MASK}} +\index{VDP\_REG\_MASK@{VDP\_REG\_MASK}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_REG\_MASK}{VDP\_REG\_MASK}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R\+E\+G\+\_\+\+M\+A\+SK~0b10000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a673a19a1e353c852003c54d1d110b5e6}\label{sms_2hardware_8h_a673a19a1e353c852003c54d1d110b5e6}} +\index{hardware.h@{hardware.h}!VDP\_R0@{VDP\_R0}} +\index{VDP\_R0@{VDP\_R0}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_R0}{VDP\_R0}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R0~0b10000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a283c5cad8b93ee7e72ad07aabb9bf522}\label{sms_2hardware_8h_a283c5cad8b93ee7e72ad07aabb9bf522}} +\index{hardware.h@{hardware.h}!R0\_VSCRL@{R0\_VSCRL}} +\index{R0\_VSCRL@{R0\_VSCRL}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R0\_VSCRL}{R0\_VSCRL}} +{\footnotesize\ttfamily \#define R0\+\_\+\+V\+S\+C\+RL~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a65fa6547c2cd80b353a0b266cd834ff0}\label{sms_2hardware_8h_a65fa6547c2cd80b353a0b266cd834ff0}} +\index{hardware.h@{hardware.h}!R0\_VSCRL\_INH@{R0\_VSCRL\_INH}} +\index{R0\_VSCRL\_INH@{R0\_VSCRL\_INH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R0\_VSCRL\_INH}{R0\_VSCRL\_INH}} +{\footnotesize\ttfamily \#define R0\+\_\+\+V\+S\+C\+R\+L\+\_\+\+I\+NH~0b10000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a61143072ad490ff0050177e7b4b2dd40}\label{sms_2hardware_8h_a61143072ad490ff0050177e7b4b2dd40}} +\index{hardware.h@{hardware.h}!R0\_HSCRL@{R0\_HSCRL}} +\index{R0\_HSCRL@{R0\_HSCRL}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R0\_HSCRL}{R0\_HSCRL}} +{\footnotesize\ttfamily \#define R0\+\_\+\+H\+S\+C\+RL~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a5c238a0b81716020b92cf851b2498b96}\label{sms_2hardware_8h_a5c238a0b81716020b92cf851b2498b96}} +\index{hardware.h@{hardware.h}!R0\_HSCRL\_INH@{R0\_HSCRL\_INH}} +\index{R0\_HSCRL\_INH@{R0\_HSCRL\_INH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R0\_HSCRL\_INH}{R0\_HSCRL\_INH}} +{\footnotesize\ttfamily \#define R0\+\_\+\+H\+S\+C\+R\+L\+\_\+\+I\+NH~0b01000000} + +\mbox{\Hypertarget{sms_2hardware_8h_acdd680365862fb618641818646edeb7e}\label{sms_2hardware_8h_acdd680365862fb618641818646edeb7e}} +\index{hardware.h@{hardware.h}!R0\_NO\_LCB@{R0\_NO\_LCB}} +\index{R0\_NO\_LCB@{R0\_NO\_LCB}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R0\_NO\_LCB}{R0\_NO\_LCB}} +{\footnotesize\ttfamily \#define R0\+\_\+\+N\+O\+\_\+\+L\+CB~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a83088549f6d87bf5ccb8bf51dfe7ea7b}\label{sms_2hardware_8h_a83088549f6d87bf5ccb8bf51dfe7ea7b}} +\index{hardware.h@{hardware.h}!R0\_LCB@{R0\_LCB}} +\index{R0\_LCB@{R0\_LCB}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R0\_LCB}{R0\_LCB}} +{\footnotesize\ttfamily \#define R0\+\_\+\+L\+CB~0b00100000} + +\mbox{\Hypertarget{sms_2hardware_8h_a56819f822caf1e545ff803d41cac3ede}\label{sms_2hardware_8h_a56819f822caf1e545ff803d41cac3ede}} +\index{hardware.h@{hardware.h}!R0\_IE1\_OFF@{R0\_IE1\_OFF}} +\index{R0\_IE1\_OFF@{R0\_IE1\_OFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R0\_IE1\_OFF}{R0\_IE1\_OFF}} +{\footnotesize\ttfamily \#define R0\+\_\+\+I\+E1\+\_\+\+O\+FF~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_ae9ab439a46f9918cc24453cd65f95202}\label{sms_2hardware_8h_ae9ab439a46f9918cc24453cd65f95202}} +\index{hardware.h@{hardware.h}!R0\_IE1@{R0\_IE1}} +\index{R0\_IE1@{R0\_IE1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R0\_IE1}{R0\_IE1}} +{\footnotesize\ttfamily \#define R0\+\_\+\+I\+E1~0b00010000} + +\mbox{\Hypertarget{sms_2hardware_8h_a10e6ffa0580e9956440f4259a3e79a38}\label{sms_2hardware_8h_a10e6ffa0580e9956440f4259a3e79a38}} +\index{hardware.h@{hardware.h}!R0\_SS\_OFF@{R0\_SS\_OFF}} +\index{R0\_SS\_OFF@{R0\_SS\_OFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R0\_SS\_OFF}{R0\_SS\_OFF}} +{\footnotesize\ttfamily \#define R0\+\_\+\+S\+S\+\_\+\+O\+FF~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_ada8068942691b363f9004ccfd0cb8e82}\label{sms_2hardware_8h_ada8068942691b363f9004ccfd0cb8e82}} +\index{hardware.h@{hardware.h}!R0\_SS@{R0\_SS}} +\index{R0\_SS@{R0\_SS}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R0\_SS}{R0\_SS}} +{\footnotesize\ttfamily \#define R0\+\_\+\+SS~0b00001000} + +\mbox{\Hypertarget{sms_2hardware_8h_af69775608c5d3218fb769c4fb370685f}\label{sms_2hardware_8h_af69775608c5d3218fb769c4fb370685f}} +\index{hardware.h@{hardware.h}!R0\_DEFAULT@{R0\_DEFAULT}} +\index{R0\_DEFAULT@{R0\_DEFAULT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R0\_DEFAULT}{R0\_DEFAULT}} +{\footnotesize\ttfamily \#define R0\+\_\+\+D\+E\+F\+A\+U\+LT~0b00000110} + +\mbox{\Hypertarget{sms_2hardware_8h_aebdf04065a0abf79ae8e1016d03caa1f}\label{sms_2hardware_8h_aebdf04065a0abf79ae8e1016d03caa1f}} +\index{hardware.h@{hardware.h}!R0\_ES\_OFF@{R0\_ES\_OFF}} +\index{R0\_ES\_OFF@{R0\_ES\_OFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R0\_ES\_OFF}{R0\_ES\_OFF}} +{\footnotesize\ttfamily \#define R0\+\_\+\+E\+S\+\_\+\+O\+FF~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a07d8e5a18c957c482218804ab764dab9}\label{sms_2hardware_8h_a07d8e5a18c957c482218804ab764dab9}} +\index{hardware.h@{hardware.h}!R0\_ES@{R0\_ES}} +\index{R0\_ES@{R0\_ES}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R0\_ES}{R0\_ES}} +{\footnotesize\ttfamily \#define R0\+\_\+\+ES~0b00000001} + +\mbox{\Hypertarget{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}\label{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}} +\index{hardware.h@{hardware.h}!VDP\_R1@{VDP\_R1}} +\index{VDP\_R1@{VDP\_R1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_R1}{VDP\_R1}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R1~0b10000001} + +\mbox{\Hypertarget{sms_2hardware_8h_a490562a6e4b57d7bf25e8fed3b3f6905}\label{sms_2hardware_8h_a490562a6e4b57d7bf25e8fed3b3f6905}} +\index{hardware.h@{hardware.h}!R1\_DEFAULT@{R1\_DEFAULT}} +\index{R1\_DEFAULT@{R1\_DEFAULT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R1\_DEFAULT}{R1\_DEFAULT}} +{\footnotesize\ttfamily \#define R1\+\_\+\+D\+E\+F\+A\+U\+LT~0b10000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a143660061646a3f502d03a2251575588}\label{sms_2hardware_8h_a143660061646a3f502d03a2251575588}} +\index{hardware.h@{hardware.h}!R1\_DISP\_OFF@{R1\_DISP\_OFF}} +\index{R1\_DISP\_OFF@{R1\_DISP\_OFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R1\_DISP\_OFF}{R1\_DISP\_OFF}} +{\footnotesize\ttfamily \#define R1\+\_\+\+D\+I\+S\+P\+\_\+\+O\+FF~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_adbfdd7c42539613c371820dffd14906f}\label{sms_2hardware_8h_adbfdd7c42539613c371820dffd14906f}} +\index{hardware.h@{hardware.h}!R1\_DISP\_ON@{R1\_DISP\_ON}} +\index{R1\_DISP\_ON@{R1\_DISP\_ON}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R1\_DISP\_ON}{R1\_DISP\_ON}} +{\footnotesize\ttfamily \#define R1\+\_\+\+D\+I\+S\+P\+\_\+\+ON~0b01000000} + +\mbox{\Hypertarget{sms_2hardware_8h_adf542fd9d2bf9affc6016718e3885473}\label{sms_2hardware_8h_adf542fd9d2bf9affc6016718e3885473}} +\index{hardware.h@{hardware.h}!R1\_IE\_OFF@{R1\_IE\_OFF}} +\index{R1\_IE\_OFF@{R1\_IE\_OFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R1\_IE\_OFF}{R1\_IE\_OFF}} +{\footnotesize\ttfamily \#define R1\+\_\+\+I\+E\+\_\+\+O\+FF~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a29a2945a9e77ba1f003a2305b7500568}\label{sms_2hardware_8h_a29a2945a9e77ba1f003a2305b7500568}} +\index{hardware.h@{hardware.h}!R1\_IE@{R1\_IE}} +\index{R1\_IE@{R1\_IE}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R1\_IE}{R1\_IE}} +{\footnotesize\ttfamily \#define R1\+\_\+\+IE~0b00100000} + +\mbox{\Hypertarget{sms_2hardware_8h_aa4062707b9b0f9ff5d1ee982ccc42fe7}\label{sms_2hardware_8h_aa4062707b9b0f9ff5d1ee982ccc42fe7}} +\index{hardware.h@{hardware.h}!R1\_SPR\_8X8@{R1\_SPR\_8X8}} +\index{R1\_SPR\_8X8@{R1\_SPR\_8X8}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R1\_SPR\_8X8}{R1\_SPR\_8X8}} +{\footnotesize\ttfamily \#define R1\+\_\+\+S\+P\+R\+\_\+8\+X8~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a4985d6df1031afe8efb993f9c480ca12}\label{sms_2hardware_8h_a4985d6df1031afe8efb993f9c480ca12}} +\index{hardware.h@{hardware.h}!R1\_SPR\_8X16@{R1\_SPR\_8X16}} +\index{R1\_SPR\_8X16@{R1\_SPR\_8X16}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R1\_SPR\_8X16}{R1\_SPR\_8X16}} +{\footnotesize\ttfamily \#define R1\+\_\+\+S\+P\+R\+\_\+8\+X16~0b00000010} + +\mbox{\Hypertarget{sms_2hardware_8h_a2c9f91fcf2aad494a80e967f0c4bb414}\label{sms_2hardware_8h_a2c9f91fcf2aad494a80e967f0c4bb414}} +\index{hardware.h@{hardware.h}!VDP\_R2@{VDP\_R2}} +\index{VDP\_R2@{VDP\_R2}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_R2}{VDP\_R2}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R2~0b10000010} + +\mbox{\Hypertarget{sms_2hardware_8h_a8ce8807a3666fa8c7c93d4834ab22fe3}\label{sms_2hardware_8h_a8ce8807a3666fa8c7c93d4834ab22fe3}} +\index{hardware.h@{hardware.h}!R2\_MAP\_0x3800@{R2\_MAP\_0x3800}} +\index{R2\_MAP\_0x3800@{R2\_MAP\_0x3800}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R2\_MAP\_0x3800}{R2\_MAP\_0x3800}} +{\footnotesize\ttfamily \#define R2\+\_\+\+M\+A\+P\+\_\+0x3800~0x\+FF} + +\mbox{\Hypertarget{sms_2hardware_8h_a725647b41b3c8083a7ae8db762ffc880}\label{sms_2hardware_8h_a725647b41b3c8083a7ae8db762ffc880}} +\index{hardware.h@{hardware.h}!R2\_MAP\_0x3000@{R2\_MAP\_0x3000}} +\index{R2\_MAP\_0x3000@{R2\_MAP\_0x3000}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R2\_MAP\_0x3000}{R2\_MAP\_0x3000}} +{\footnotesize\ttfamily \#define R2\+\_\+\+M\+A\+P\+\_\+0x3000~0x\+FD} + +\mbox{\Hypertarget{sms_2hardware_8h_a43ae738f82e8c6e84d30a96fb9c2c792}\label{sms_2hardware_8h_a43ae738f82e8c6e84d30a96fb9c2c792}} +\index{hardware.h@{hardware.h}!R2\_MAP\_0x2800@{R2\_MAP\_0x2800}} +\index{R2\_MAP\_0x2800@{R2\_MAP\_0x2800}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R2\_MAP\_0x2800}{R2\_MAP\_0x2800}} +{\footnotesize\ttfamily \#define R2\+\_\+\+M\+A\+P\+\_\+0x2800~0x\+FB} + +\mbox{\Hypertarget{sms_2hardware_8h_aa2c53c6a4d12fb0614c1a18c015e39af}\label{sms_2hardware_8h_aa2c53c6a4d12fb0614c1a18c015e39af}} +\index{hardware.h@{hardware.h}!R2\_MAP\_0x2000@{R2\_MAP\_0x2000}} +\index{R2\_MAP\_0x2000@{R2\_MAP\_0x2000}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R2\_MAP\_0x2000}{R2\_MAP\_0x2000}} +{\footnotesize\ttfamily \#define R2\+\_\+\+M\+A\+P\+\_\+0x2000~0x\+F9} + +\mbox{\Hypertarget{sms_2hardware_8h_a08fade3bc2afb94785b0ac50d6959faa}\label{sms_2hardware_8h_a08fade3bc2afb94785b0ac50d6959faa}} +\index{hardware.h@{hardware.h}!R2\_MAP\_0x1800@{R2\_MAP\_0x1800}} +\index{R2\_MAP\_0x1800@{R2\_MAP\_0x1800}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R2\_MAP\_0x1800}{R2\_MAP\_0x1800}} +{\footnotesize\ttfamily \#define R2\+\_\+\+M\+A\+P\+\_\+0x1800~0x\+F7} + +\mbox{\Hypertarget{sms_2hardware_8h_a43a631b4692a370b2db6b9d5fc2512e1}\label{sms_2hardware_8h_a43a631b4692a370b2db6b9d5fc2512e1}} +\index{hardware.h@{hardware.h}!R2\_MAP\_0x1000@{R2\_MAP\_0x1000}} +\index{R2\_MAP\_0x1000@{R2\_MAP\_0x1000}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R2\_MAP\_0x1000}{R2\_MAP\_0x1000}} +{\footnotesize\ttfamily \#define R2\+\_\+\+M\+A\+P\+\_\+0x1000~0x\+F5} + +\mbox{\Hypertarget{sms_2hardware_8h_a64cfebfe759bacd1424ad147931ff5a3}\label{sms_2hardware_8h_a64cfebfe759bacd1424ad147931ff5a3}} +\index{hardware.h@{hardware.h}!R2\_MAP\_0x0800@{R2\_MAP\_0x0800}} +\index{R2\_MAP\_0x0800@{R2\_MAP\_0x0800}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R2\_MAP\_0x0800}{R2\_MAP\_0x0800}} +{\footnotesize\ttfamily \#define R2\+\_\+\+M\+A\+P\+\_\+0x0800~0x\+F3} + +\mbox{\Hypertarget{sms_2hardware_8h_acf804b73635a1bfeb04b7dbeafb7fd9f}\label{sms_2hardware_8h_acf804b73635a1bfeb04b7dbeafb7fd9f}} +\index{hardware.h@{hardware.h}!R2\_MAP\_0x0000@{R2\_MAP\_0x0000}} +\index{R2\_MAP\_0x0000@{R2\_MAP\_0x0000}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R2\_MAP\_0x0000}{R2\_MAP\_0x0000}} +{\footnotesize\ttfamily \#define R2\+\_\+\+M\+A\+P\+\_\+0x0000~0x\+F1} + +\mbox{\Hypertarget{sms_2hardware_8h_a2a58ae82037e16756404df4820a23f47}\label{sms_2hardware_8h_a2a58ae82037e16756404df4820a23f47}} +\index{hardware.h@{hardware.h}!VDP\_R3@{VDP\_R3}} +\index{VDP\_R3@{VDP\_R3}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_R3}{VDP\_R3}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R3~0b10000011} + +\mbox{\Hypertarget{sms_2hardware_8h_a5d1f215594c86a9e3d670f5a7f89e301}\label{sms_2hardware_8h_a5d1f215594c86a9e3d670f5a7f89e301}} +\index{hardware.h@{hardware.h}!VDP\_R4@{VDP\_R4}} +\index{VDP\_R4@{VDP\_R4}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_R4}{VDP\_R4}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R4~0b10000100} + +\mbox{\Hypertarget{sms_2hardware_8h_a75e2c9878fe4cc7c86f71d8e8fa09924}\label{sms_2hardware_8h_a75e2c9878fe4cc7c86f71d8e8fa09924}} +\index{hardware.h@{hardware.h}!VDP\_R5@{VDP\_R5}} +\index{VDP\_R5@{VDP\_R5}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_R5}{VDP\_R5}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R5~0b10000101} + +\mbox{\Hypertarget{sms_2hardware_8h_ae973ce797203f9e4bebc10f5010a8fdd}\label{sms_2hardware_8h_ae973ce797203f9e4bebc10f5010a8fdd}} +\index{hardware.h@{hardware.h}!R5\_SAT\_0x3F00@{R5\_SAT\_0x3F00}} +\index{R5\_SAT\_0x3F00@{R5\_SAT\_0x3F00}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R5\_SAT\_0x3F00}{R5\_SAT\_0x3F00}} +{\footnotesize\ttfamily \#define R5\+\_\+\+S\+A\+T\+\_\+0x3\+F00~0x\+FF} + +\mbox{\Hypertarget{sms_2hardware_8h_ab0ea6874bcc910239b098025c9761c01}\label{sms_2hardware_8h_ab0ea6874bcc910239b098025c9761c01}} +\index{hardware.h@{hardware.h}!R5\_SAT\_MASK@{R5\_SAT\_MASK}} +\index{R5\_SAT\_MASK@{R5\_SAT\_MASK}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R5\_SAT\_MASK}{R5\_SAT\_MASK}} +{\footnotesize\ttfamily \#define R5\+\_\+\+S\+A\+T\+\_\+\+M\+A\+SK~0b10000001} + +\mbox{\Hypertarget{sms_2hardware_8h_a81ae7462829d0fcc65c3c99194a68772}\label{sms_2hardware_8h_a81ae7462829d0fcc65c3c99194a68772}} +\index{hardware.h@{hardware.h}!VDP\_R6@{VDP\_R6}} +\index{VDP\_R6@{VDP\_R6}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_R6}{VDP\_R6}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R6~0b10000110} + +\mbox{\Hypertarget{sms_2hardware_8h_a1aba84d3beebe43e641766525630d0ad}\label{sms_2hardware_8h_a1aba84d3beebe43e641766525630d0ad}} +\index{hardware.h@{hardware.h}!R6\_BANK0@{R6\_BANK0}} +\index{R6\_BANK0@{R6\_BANK0}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R6\_BANK0}{R6\_BANK0}} +{\footnotesize\ttfamily \#define R6\+\_\+\+B\+A\+N\+K0~0x\+FB} + +\mbox{\Hypertarget{sms_2hardware_8h_a81289f179bb00ade9e4f7221ddff0e46}\label{sms_2hardware_8h_a81289f179bb00ade9e4f7221ddff0e46}} +\index{hardware.h@{hardware.h}!R6\_DATA\_0x0000@{R6\_DATA\_0x0000}} +\index{R6\_DATA\_0x0000@{R6\_DATA\_0x0000}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R6\_DATA\_0x0000}{R6\_DATA\_0x0000}} +{\footnotesize\ttfamily \#define R6\+\_\+\+D\+A\+T\+A\+\_\+0x0000~0x\+FB} + +\mbox{\Hypertarget{sms_2hardware_8h_adcc51095e67b158df848367761d735a4}\label{sms_2hardware_8h_adcc51095e67b158df848367761d735a4}} +\index{hardware.h@{hardware.h}!R6\_BANK1@{R6\_BANK1}} +\index{R6\_BANK1@{R6\_BANK1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R6\_BANK1}{R6\_BANK1}} +{\footnotesize\ttfamily \#define R6\+\_\+\+B\+A\+N\+K1~0x\+FF} + +\mbox{\Hypertarget{sms_2hardware_8h_ac59ac38e5ec2e23e511f854403d7cbe4}\label{sms_2hardware_8h_ac59ac38e5ec2e23e511f854403d7cbe4}} +\index{hardware.h@{hardware.h}!R6\_DATA\_0x2000@{R6\_DATA\_0x2000}} +\index{R6\_DATA\_0x2000@{R6\_DATA\_0x2000}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R6\_DATA\_0x2000}{R6\_DATA\_0x2000}} +{\footnotesize\ttfamily \#define R6\+\_\+\+D\+A\+T\+A\+\_\+0x2000~0x\+FF} + +\mbox{\Hypertarget{sms_2hardware_8h_aa82ab1c04cff3363327f3309d09ae638}\label{sms_2hardware_8h_aa82ab1c04cff3363327f3309d09ae638}} +\index{hardware.h@{hardware.h}!VDP\_R7@{VDP\_R7}} +\index{VDP\_R7@{VDP\_R7}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_R7}{VDP\_R7}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R7~0b10000111} + +\mbox{\Hypertarget{sms_2hardware_8h_abef00e3cae6f12d97973b318ebbf9737}\label{sms_2hardware_8h_abef00e3cae6f12d97973b318ebbf9737}} +\index{hardware.h@{hardware.h}!VDP\_RBORDER@{VDP\_RBORDER}} +\index{VDP\_RBORDER@{VDP\_RBORDER}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_RBORDER}{VDP\_RBORDER}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R\+B\+O\+R\+D\+ER~0b10000111} + +\mbox{\Hypertarget{sms_2hardware_8h_aa1a024a7dc26ef40663fe283565bcf50}\label{sms_2hardware_8h_aa1a024a7dc26ef40663fe283565bcf50}} +\index{hardware.h@{hardware.h}!R7\_COLOR\_MASK@{R7\_COLOR\_MASK}} +\index{R7\_COLOR\_MASK@{R7\_COLOR\_MASK}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R7\_COLOR\_MASK}{R7\_COLOR\_MASK}} +{\footnotesize\ttfamily \#define R7\+\_\+\+C\+O\+L\+O\+R\+\_\+\+M\+A\+SK~0b11110000} + +\mbox{\Hypertarget{sms_2hardware_8h_a3cb38487469808e023fcb331c180c4b9}\label{sms_2hardware_8h_a3cb38487469808e023fcb331c180c4b9}} +\index{hardware.h@{hardware.h}!VDP\_R8@{VDP\_R8}} +\index{VDP\_R8@{VDP\_R8}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_R8}{VDP\_R8}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R8~0b10001000} + +\mbox{\Hypertarget{sms_2hardware_8h_a9c49833bc96a70b8972027d28c816d2f}\label{sms_2hardware_8h_a9c49833bc96a70b8972027d28c816d2f}} +\index{hardware.h@{hardware.h}!VDP\_RSCX@{VDP\_RSCX}} +\index{VDP\_RSCX@{VDP\_RSCX}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_RSCX}{VDP\_RSCX}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R\+S\+CX~0b10001000} + +\mbox{\Hypertarget{sms_2hardware_8h_a294388f3d14b6fec1f1bbeafc7d0f91e}\label{sms_2hardware_8h_a294388f3d14b6fec1f1bbeafc7d0f91e}} +\index{hardware.h@{hardware.h}!VDP\_R9@{VDP\_R9}} +\index{VDP\_R9@{VDP\_R9}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_R9}{VDP\_R9}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R9~0b10001001} + +\mbox{\Hypertarget{sms_2hardware_8h_a3cce162b45d638126c478c5b6f7bcbc7}\label{sms_2hardware_8h_a3cce162b45d638126c478c5b6f7bcbc7}} +\index{hardware.h@{hardware.h}!VDP\_RSCY@{VDP\_RSCY}} +\index{VDP\_RSCY@{VDP\_RSCY}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_RSCY}{VDP\_RSCY}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R\+S\+CY~0b10001001} + +\mbox{\Hypertarget{sms_2hardware_8h_a1049d2a3f634380f4dffff619334a504}\label{sms_2hardware_8h_a1049d2a3f634380f4dffff619334a504}} +\index{hardware.h@{hardware.h}!VDP\_R10@{VDP\_R10}} +\index{VDP\_R10@{VDP\_R10}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_R10}{VDP\_R10}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+R10~0b10001010} + +\mbox{\Hypertarget{sms_2hardware_8h_a98d635ed568cfe9f853eaf7e1707dec4}\label{sms_2hardware_8h_a98d635ed568cfe9f853eaf7e1707dec4}} +\index{hardware.h@{hardware.h}!R10\_INT\_OFF@{R10\_INT\_OFF}} +\index{R10\_INT\_OFF@{R10\_INT\_OFF}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R10\_INT\_OFF}{R10\_INT\_OFF}} +{\footnotesize\ttfamily \#define R10\+\_\+\+I\+N\+T\+\_\+\+O\+FF~0x\+FF} + +\mbox{\Hypertarget{sms_2hardware_8h_adf9e7ec5362058df23e1c0e4c06ad5d6}\label{sms_2hardware_8h_adf9e7ec5362058df23e1c0e4c06ad5d6}} +\index{hardware.h@{hardware.h}!R10\_INT\_EVERY@{R10\_INT\_EVERY}} +\index{R10\_INT\_EVERY@{R10\_INT\_EVERY}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{R10\_INT\_EVERY}{R10\_INT\_EVERY}} +{\footnotesize\ttfamily \#define R10\+\_\+\+I\+N\+T\+\_\+\+E\+V\+E\+RY~0x00} + +\mbox{\Hypertarget{sms_2hardware_8h_a086bde6bcc92e5f4d3e9ae45f0de475e}\label{sms_2hardware_8h_a086bde6bcc92e5f4d3e9ae45f0de475e}} +\index{hardware.h@{hardware.h}!JOY\_P1\_UP@{JOY\_P1\_UP}} +\index{JOY\_P1\_UP@{JOY\_P1\_UP}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P1\_UP}{JOY\_P1\_UP}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P1\+\_\+\+UP~0b00000001} + +\mbox{\Hypertarget{sms_2hardware_8h_ab4dd6ee624c6d9e5fe5820ce925ffb20}\label{sms_2hardware_8h_ab4dd6ee624c6d9e5fe5820ce925ffb20}} +\index{hardware.h@{hardware.h}!JOY\_P1\_DOWN@{JOY\_P1\_DOWN}} +\index{JOY\_P1\_DOWN@{JOY\_P1\_DOWN}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P1\_DOWN}{JOY\_P1\_DOWN}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P1\+\_\+\+D\+O\+WN~0b00000010} + +\mbox{\Hypertarget{sms_2hardware_8h_a7d709160cbd7b369109bf40161ae8ccd}\label{sms_2hardware_8h_a7d709160cbd7b369109bf40161ae8ccd}} +\index{hardware.h@{hardware.h}!JOY\_P1\_LEFT@{JOY\_P1\_LEFT}} +\index{JOY\_P1\_LEFT@{JOY\_P1\_LEFT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P1\_LEFT}{JOY\_P1\_LEFT}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P1\+\_\+\+L\+E\+FT~0b00000100} + +\mbox{\Hypertarget{sms_2hardware_8h_a1efece9134651ad4d2bd1836c1d1d6d6}\label{sms_2hardware_8h_a1efece9134651ad4d2bd1836c1d1d6d6}} +\index{hardware.h@{hardware.h}!JOY\_P1\_RIGHT@{JOY\_P1\_RIGHT}} +\index{JOY\_P1\_RIGHT@{JOY\_P1\_RIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P1\_RIGHT}{JOY\_P1\_RIGHT}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P1\+\_\+\+R\+I\+G\+HT~0b00001000} + +\mbox{\Hypertarget{sms_2hardware_8h_aacc8667a6d5d9683ed4876e52aba2d33}\label{sms_2hardware_8h_aacc8667a6d5d9683ed4876e52aba2d33}} +\index{hardware.h@{hardware.h}!JOY\_P1\_SW1@{JOY\_P1\_SW1}} +\index{JOY\_P1\_SW1@{JOY\_P1\_SW1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P1\_SW1}{JOY\_P1\_SW1}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P1\+\_\+\+S\+W1~0b00010000} + +\mbox{\Hypertarget{sms_2hardware_8h_af29f72f4cc7c94deae5fb9c29b1cc94f}\label{sms_2hardware_8h_af29f72f4cc7c94deae5fb9c29b1cc94f}} +\index{hardware.h@{hardware.h}!JOY\_P1\_TRIGGER@{JOY\_P1\_TRIGGER}} +\index{JOY\_P1\_TRIGGER@{JOY\_P1\_TRIGGER}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P1\_TRIGGER}{JOY\_P1\_TRIGGER}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P1\+\_\+\+T\+R\+I\+G\+G\+ER~0b00010000} + +\mbox{\Hypertarget{sms_2hardware_8h_a9ab9954d0c66751a154f7824e344806b}\label{sms_2hardware_8h_a9ab9954d0c66751a154f7824e344806b}} +\index{hardware.h@{hardware.h}!JOY\_P1\_SW2@{JOY\_P1\_SW2}} +\index{JOY\_P1\_SW2@{JOY\_P1\_SW2}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P1\_SW2}{JOY\_P1\_SW2}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P1\+\_\+\+S\+W2~0b00100000} + +\mbox{\Hypertarget{sms_2hardware_8h_a307ba8e12d9273a99aa4830c5e0a3c88}\label{sms_2hardware_8h_a307ba8e12d9273a99aa4830c5e0a3c88}} +\index{hardware.h@{hardware.h}!JOY\_P2\_UP@{JOY\_P2\_UP}} +\index{JOY\_P2\_UP@{JOY\_P2\_UP}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P2\_UP}{JOY\_P2\_UP}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P2\+\_\+\+UP~0b01000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a6d4129d670d421656f5e9a1f4b68a7f4}\label{sms_2hardware_8h_a6d4129d670d421656f5e9a1f4b68a7f4}} +\index{hardware.h@{hardware.h}!JOY\_P2\_DOWN@{JOY\_P2\_DOWN}} +\index{JOY\_P2\_DOWN@{JOY\_P2\_DOWN}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P2\_DOWN}{JOY\_P2\_DOWN}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P2\+\_\+\+D\+O\+WN~0b10000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a2121cb75e0d570b0f92c7630bc1af25f}\label{sms_2hardware_8h_a2121cb75e0d570b0f92c7630bc1af25f}} +\index{hardware.h@{hardware.h}!JOY\_P2\_LEFT@{JOY\_P2\_LEFT}} +\index{JOY\_P2\_LEFT@{JOY\_P2\_LEFT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P2\_LEFT}{JOY\_P2\_LEFT}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P2\+\_\+\+L\+E\+FT~0b00000001} + +\mbox{\Hypertarget{sms_2hardware_8h_a16dac3d386b8bc0da50c6c814952472d}\label{sms_2hardware_8h_a16dac3d386b8bc0da50c6c814952472d}} +\index{hardware.h@{hardware.h}!JOY\_P2\_RIGHT@{JOY\_P2\_RIGHT}} +\index{JOY\_P2\_RIGHT@{JOY\_P2\_RIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P2\_RIGHT}{JOY\_P2\_RIGHT}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P2\+\_\+\+R\+I\+G\+HT~0b00000010} + +\mbox{\Hypertarget{sms_2hardware_8h_a942e3ecdef267100c84a36f6e0dc0b51}\label{sms_2hardware_8h_a942e3ecdef267100c84a36f6e0dc0b51}} +\index{hardware.h@{hardware.h}!JOY\_P2\_SW1@{JOY\_P2\_SW1}} +\index{JOY\_P2\_SW1@{JOY\_P2\_SW1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P2\_SW1}{JOY\_P2\_SW1}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P2\+\_\+\+S\+W1~0b00000100} + +\mbox{\Hypertarget{sms_2hardware_8h_afe5ec4ca4d413ae5388be131d9c4f93b}\label{sms_2hardware_8h_afe5ec4ca4d413ae5388be131d9c4f93b}} +\index{hardware.h@{hardware.h}!JOY\_P2\_TRIGGER@{JOY\_P2\_TRIGGER}} +\index{JOY\_P2\_TRIGGER@{JOY\_P2\_TRIGGER}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P2\_TRIGGER}{JOY\_P2\_TRIGGER}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P2\+\_\+\+T\+R\+I\+G\+G\+ER~0b00000100} + +\mbox{\Hypertarget{sms_2hardware_8h_a6d181ce63ff84bd559d13f4423a336b3}\label{sms_2hardware_8h_a6d181ce63ff84bd559d13f4423a336b3}} +\index{hardware.h@{hardware.h}!JOY\_P2\_SW2@{JOY\_P2\_SW2}} +\index{JOY\_P2\_SW2@{JOY\_P2\_SW2}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P2\_SW2}{JOY\_P2\_SW2}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P2\+\_\+\+S\+W2~0b00001000} + +\mbox{\Hypertarget{sms_2hardware_8h_a5b3dff084cbb77646a337d94d16a1714}\label{sms_2hardware_8h_a5b3dff084cbb77646a337d94d16a1714}} +\index{hardware.h@{hardware.h}!JOY\_RESET@{JOY\_RESET}} +\index{JOY\_RESET@{JOY\_RESET}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_RESET}{JOY\_RESET}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+R\+E\+S\+ET~0b00010000} + +\mbox{\Hypertarget{sms_2hardware_8h_a772c8def7b33ad4fd3cbfc74d84441de}\label{sms_2hardware_8h_a772c8def7b33ad4fd3cbfc74d84441de}} +\index{hardware.h@{hardware.h}!JOY\_P1\_LIGHT@{JOY\_P1\_LIGHT}} +\index{JOY\_P1\_LIGHT@{JOY\_P1\_LIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P1\_LIGHT}{JOY\_P1\_LIGHT}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P1\+\_\+\+L\+I\+G\+HT~0b01000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a42ded04442bd4fb4acf5333b248423fa}\label{sms_2hardware_8h_a42ded04442bd4fb4acf5333b248423fa}} +\index{hardware.h@{hardware.h}!JOY\_P2\_LIGHT@{JOY\_P2\_LIGHT}} +\index{JOY\_P2\_LIGHT@{JOY\_P2\_LIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{JOY\_P2\_LIGHT}{JOY\_P2\_LIGHT}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+P2\+\_\+\+L\+I\+G\+HT~0b10000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a8f4dbe8a2e6389c78b9f6fb9a3ff1dca}\label{sms_2hardware_8h_a8f4dbe8a2e6389c78b9f6fb9a3ff1dca}} +\index{hardware.h@{hardware.h}!RAMCTL\_BANK@{RAMCTL\_BANK}} +\index{RAMCTL\_BANK@{RAMCTL\_BANK}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{RAMCTL\_BANK}{RAMCTL\_BANK}} +{\footnotesize\ttfamily \#define R\+A\+M\+C\+T\+L\+\_\+\+B\+A\+NK~0b00000100} + +\mbox{\Hypertarget{sms_2hardware_8h_a0167c8f86de8ef1a327b806c8ed0c64c}\label{sms_2hardware_8h_a0167c8f86de8ef1a327b806c8ed0c64c}} +\index{hardware.h@{hardware.h}!RAMCTL\_ROM@{RAMCTL\_ROM}} +\index{RAMCTL\_ROM@{RAMCTL\_ROM}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{RAMCTL\_ROM}{RAMCTL\_ROM}} +{\footnotesize\ttfamily \#define R\+A\+M\+C\+T\+L\+\_\+\+R\+OM~0b00000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a8728acabf97eae3322439bc3cb41b02d}\label{sms_2hardware_8h_a8728acabf97eae3322439bc3cb41b02d}} +\index{hardware.h@{hardware.h}!RAMCTL\_RAM@{RAMCTL\_RAM}} +\index{RAMCTL\_RAM@{RAMCTL\_RAM}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{RAMCTL\_RAM}{RAMCTL\_RAM}} +{\footnotesize\ttfamily \#define R\+A\+M\+C\+T\+L\+\_\+\+R\+AM~0b00001000} + +\mbox{\Hypertarget{sms_2hardware_8h_afa9ebb221cf9cd92038131ab588679bf}\label{sms_2hardware_8h_afa9ebb221cf9cd92038131ab588679bf}} +\index{hardware.h@{hardware.h}!RAMCTL\_RO@{RAMCTL\_RO}} +\index{RAMCTL\_RO@{RAMCTL\_RO}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{RAMCTL\_RO}{RAMCTL\_RO}} +{\footnotesize\ttfamily \#define R\+A\+M\+C\+T\+L\+\_\+\+RO~0b00010000} + +\mbox{\Hypertarget{sms_2hardware_8h_a97eb5adb5f29e17ce5766728447317f5}\label{sms_2hardware_8h_a97eb5adb5f29e17ce5766728447317f5}} +\index{hardware.h@{hardware.h}!RAMCTL\_PROT@{RAMCTL\_PROT}} +\index{RAMCTL\_PROT@{RAMCTL\_PROT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{RAMCTL\_PROT}{RAMCTL\_PROT}} +{\footnotesize\ttfamily \#define R\+A\+M\+C\+T\+L\+\_\+\+P\+R\+OT~0b10000000} + +\mbox{\Hypertarget{sms_2hardware_8h_a1ac4bf5582e0754ea814c3f51c99a91a}\label{sms_2hardware_8h_a1ac4bf5582e0754ea814c3f51c99a91a}} +\index{hardware.h@{hardware.h}!SYSTEM\_PAL@{SYSTEM\_PAL}} +\index{SYSTEM\_PAL@{SYSTEM\_PAL}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SYSTEM\_PAL}{SYSTEM\_PAL}} +{\footnotesize\ttfamily \#define S\+Y\+S\+T\+E\+M\+\_\+\+P\+AL~0x00} + +\mbox{\Hypertarget{sms_2hardware_8h_ae6888157a94fca2f1a1b5136494f2e07}\label{sms_2hardware_8h_ae6888157a94fca2f1a1b5136494f2e07}} +\index{hardware.h@{hardware.h}!SYSTEM\_NTSC@{SYSTEM\_NTSC}} +\index{SYSTEM\_NTSC@{SYSTEM\_NTSC}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{SYSTEM\_NTSC}{SYSTEM\_NTSC}} +{\footnotesize\ttfamily \#define S\+Y\+S\+T\+E\+M\+\_\+\+N\+T\+SC~0x01} + +\mbox{\Hypertarget{sms_2hardware_8h_ad3b833661b103edc2648258dd741c92c}\label{sms_2hardware_8h_ad3b833661b103edc2648258dd741c92c}} +\index{hardware.h@{hardware.h}!VDP\_SAT\_TERM@{VDP\_SAT\_TERM}} +\index{VDP\_SAT\_TERM@{VDP\_SAT\_TERM}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_SAT\_TERM}{VDP\_SAT\_TERM}} +{\footnotesize\ttfamily \#define V\+D\+P\+\_\+\+S\+A\+T\+\_\+\+T\+E\+RM~0x\+D0} + +\mbox{\Hypertarget{sms_2hardware_8h_ad14c51cdfb347c34c364f54e67dc978d}\label{sms_2hardware_8h_ad14c51cdfb347c34c364f54e67dc978d}} +\index{hardware.h@{hardware.h}!DEVICE\_SCREEN\_PX\_WIDTH@{DEVICE\_SCREEN\_PX\_WIDTH}} +\index{DEVICE\_SCREEN\_PX\_WIDTH@{DEVICE\_SCREEN\_PX\_WIDTH}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SCREEN\_PX\_WIDTH}{DEVICE\_SCREEN\_PX\_WIDTH}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+W\+I\+D\+TH~(\mbox{\hyperlink{gb_2hardware_8h_add7f32ba868ef6517798f5fce337e4b2}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+W\+I\+D\+TH}} $\ast$ 8)} + +\mbox{\Hypertarget{sms_2hardware_8h_a7bd450aa268b881257089cf8cd6697ec}\label{sms_2hardware_8h_a7bd450aa268b881257089cf8cd6697ec}} +\index{hardware.h@{hardware.h}!DEVICE\_SCREEN\_PX\_HEIGHT@{DEVICE\_SCREEN\_PX\_HEIGHT}} +\index{DEVICE\_SCREEN\_PX\_HEIGHT@{DEVICE\_SCREEN\_PX\_HEIGHT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SCREEN\_PX\_HEIGHT}{DEVICE\_SCREEN\_PX\_HEIGHT}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+H\+E\+I\+G\+HT~(\mbox{\hyperlink{gb_2hardware_8h_ad252264fdcf900e5fbf611f7a45962ed}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+H\+E\+I\+G\+HT}} $\ast$ 8)} + + + +\doxysubsubsection{Variable Documentation} +\mbox{\Hypertarget{sms_2hardware_8h_aa80cb68338819c004095531d32b70e38}\label{sms_2hardware_8h_aa80cb68338819c004095531d32b70e38}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_R0@{shadow\_VDP\_R0}} +\index{shadow\_VDP\_R0@{shadow\_VDP\_R0}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_R0}{shadow\_VDP\_R0}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R0\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_a542cb696f242df44b0d8e9225d532ef4}\label{sms_2hardware_8h_a542cb696f242df44b0d8e9225d532ef4}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_R1@{shadow\_VDP\_R1}} +\index{shadow\_VDP\_R1@{shadow\_VDP\_R1}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_R1}{shadow\_VDP\_R1}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R1\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_a7f7fa2c0e33c6d515332a50c2acb54e7}\label{sms_2hardware_8h_a7f7fa2c0e33c6d515332a50c2acb54e7}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_R2@{shadow\_VDP\_R2}} +\index{shadow\_VDP\_R2@{shadow\_VDP\_R2}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_R2}{shadow\_VDP\_R2}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R2\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_ab984056ff9eb011fbd84abdafb3a8bce}\label{sms_2hardware_8h_ab984056ff9eb011fbd84abdafb3a8bce}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_R3@{shadow\_VDP\_R3}} +\index{shadow\_VDP\_R3@{shadow\_VDP\_R3}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_R3}{shadow\_VDP\_R3}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R3\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_af9a30a728fedbe7e4c660c448c262e2c}\label{sms_2hardware_8h_af9a30a728fedbe7e4c660c448c262e2c}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_R4@{shadow\_VDP\_R4}} +\index{shadow\_VDP\_R4@{shadow\_VDP\_R4}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_R4}{shadow\_VDP\_R4}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R4\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_a221db76cb39200a948234330ed309af7}\label{sms_2hardware_8h_a221db76cb39200a948234330ed309af7}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_R5@{shadow\_VDP\_R5}} +\index{shadow\_VDP\_R5@{shadow\_VDP\_R5}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_R5}{shadow\_VDP\_R5}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R5\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_a8afbdaaf8c6dee4e7482a341351344b4}\label{sms_2hardware_8h_a8afbdaaf8c6dee4e7482a341351344b4}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_R6@{shadow\_VDP\_R6}} +\index{shadow\_VDP\_R6@{shadow\_VDP\_R6}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_R6}{shadow\_VDP\_R6}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R6\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_a33b3e7c120a579cb729caf588ba1d9a8}\label{sms_2hardware_8h_a33b3e7c120a579cb729caf588ba1d9a8}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_R7@{shadow\_VDP\_R7}} +\index{shadow\_VDP\_R7@{shadow\_VDP\_R7}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_R7}{shadow\_VDP\_R7}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R7\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_a20a977182f6f5f60ee6464e15f05aed0}\label{sms_2hardware_8h_a20a977182f6f5f60ee6464e15f05aed0}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_RBORDER@{shadow\_VDP\_RBORDER}} +\index{shadow\_VDP\_RBORDER@{shadow\_VDP\_RBORDER}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_RBORDER}{shadow\_VDP\_RBORDER}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R\+B\+O\+R\+D\+ER\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_add65b8e5f0b806e563ce27de7348ba31}\label{sms_2hardware_8h_add65b8e5f0b806e563ce27de7348ba31}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_R8@{shadow\_VDP\_R8}} +\index{shadow\_VDP\_R8@{shadow\_VDP\_R8}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_R8}{shadow\_VDP\_R8}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R8\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_af6a84b0288b045560f83a1944a8c1c3b}\label{sms_2hardware_8h_af6a84b0288b045560f83a1944a8c1c3b}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_RSCX@{shadow\_VDP\_RSCX}} +\index{shadow\_VDP\_RSCX@{shadow\_VDP\_RSCX}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_RSCX}{shadow\_VDP\_RSCX}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R\+S\+CX\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_a1ccce1e3f8acb76170fb752ee40ae659}\label{sms_2hardware_8h_a1ccce1e3f8acb76170fb752ee40ae659}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_R9@{shadow\_VDP\_R9}} +\index{shadow\_VDP\_R9@{shadow\_VDP\_R9}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_R9}{shadow\_VDP\_R9}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R9\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_a292b59055beb22b566b39462da3b7eba}\label{sms_2hardware_8h_a292b59055beb22b566b39462da3b7eba}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_RSCY@{shadow\_VDP\_RSCY}} +\index{shadow\_VDP\_RSCY@{shadow\_VDP\_RSCY}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_RSCY}{shadow\_VDP\_RSCY}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R\+S\+CY\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_af310a900e3b4b5b5032f4ffd6fa309b0}\label{sms_2hardware_8h_af310a900e3b4b5b5032f4ffd6fa309b0}} +\index{hardware.h@{hardware.h}!shadow\_VDP\_R10@{shadow\_VDP\_R10}} +\index{shadow\_VDP\_R10@{shadow\_VDP\_R10}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{shadow\_VDP\_R10}{shadow\_VDP\_R10}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} shadow\+\_\+\+V\+D\+P\+\_\+\+R10\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_a735fc9fb4f089391a584293f2dff1008}\label{sms_2hardware_8h_a735fc9fb4f089391a584293f2dff1008}} +\index{hardware.h@{hardware.h}!\_BIOS@{\_BIOS}} +\index{\_BIOS@{\_BIOS}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_BIOS}{\_BIOS}} +{\footnotesize\ttfamily const \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \+\_\+\+B\+I\+OS\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_a7093bf38c5e663715f4efed44341502d}\label{sms_2hardware_8h_a7093bf38c5e663715f4efed44341502d}} +\index{hardware.h@{hardware.h}!\_SYSTEM@{\_SYSTEM}} +\index{\_SYSTEM@{\_SYSTEM}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{\_SYSTEM}{\_SYSTEM}} +{\footnotesize\ttfamily const \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \+\_\+\+S\+Y\+S\+T\+EM\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2hardware_8h_a019bf78a6d586c987aec03af8d20e02f}\label{sms_2hardware_8h_a019bf78a6d586c987aec03af8d20e02f}} +\index{hardware.h@{hardware.h}!VDP\_ATTR\_SHIFT@{VDP\_ATTR\_SHIFT}} +\index{VDP\_ATTR\_SHIFT@{VDP\_ATTR\_SHIFT}!hardware.h@{hardware.h}} +\doxyparagraph{\texorpdfstring{VDP\_ATTR\_SHIFT}{VDP\_ATTR\_SHIFT}} +{\footnotesize\ttfamily volatile \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} V\+D\+P\+\_\+\+A\+T\+T\+R\+\_\+\+S\+H\+I\+FT\hspace{0.3cm}{\ttfamily [extern]}} + diff --git a/docs/latex/sms_2metasprites_8h.tex b/docs/latex/sms_2metasprites_8h.tex @@ -0,0 +1,185 @@ +\hypertarget{sms_2metasprites_8h}{}\doxysubsection{sms/metasprites.h File Reference} +\label{sms_2metasprites_8h}\index{sms/metasprites.h@{sms/metasprites.h}} +{\ttfamily \#include $<$sms/hardware.\+h$>$}\newline +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Data Structures} +\begin{DoxyCompactItemize} +\item +struct \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{sms_2metasprites_8h_a9f9f390a57460914e27c7604b7d8379a}{metasprite\+\_\+end}}~-\/128 +\item +\#define \mbox{\hyperlink{sms_2metasprites_8h_aa88dc4d5e35045509b8955a4a23a30aa}{M\+E\+T\+A\+S\+P\+R\+\_\+\+I\+T\+EM}}(dy, dx, dt, a)~\{(dy),(dx),(dt)\} +\item +\#define \mbox{\hyperlink{sms_2metasprites_8h_aa1d425dcce3cd104751744535b6a389a}{M\+E\+T\+A\+S\+P\+R\+\_\+\+T\+E\+RM}}~\{\mbox{\hyperlink{sms_2metasprites_8h_a9f9f390a57460914e27c7604b7d8379a}{metasprite\+\_\+end}}\} +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef struct \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} \mbox{\hyperlink{sms_2metasprites_8h_aba6401cc8173158a9f37ee22094c03d3}{metasprite\+\_\+t}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{sms_2metasprites_8h_a0c668f442b4764275a1dade597a59e20}{hide\+\_\+sprites\+\_\+range}} (\mbox{\hyperlink{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}} from, \mbox{\hyperlink{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}} to) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_2metasprites_8h_a77475e913bf0a19df28bdbf9d1cf392b}{move\+\_\+metasprite}} (const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$metasprite, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+tile, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+sprite, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) +\item +void \mbox{\hyperlink{sms_2metasprites_8h_af8de5a888d65448b9d34027a0e1ce906}{hide\+\_\+metasprite}} (const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$metasprite, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+sprite) +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +const void $\ast$ \mbox{\hyperlink{sms_2metasprites_8h_aae51f066cc5436457f62351847bfc64b}{\+\_\+\+\_\+current\+\_\+metasprite}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_2metasprites_8h_a345fa52509387bd18a4092178a18286f}{\+\_\+\+\_\+current\+\_\+base\+\_\+tile}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_2metasprites_8h_a4bfe4d95031b67951cf6bc342110db39}{\+\_\+\+\_\+render\+\_\+shadow\+\_\+\+O\+AM}} +\item +static \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_2metasprites_8h_af279c752a3b15c4bd5c67f54b92e553f}{iyl}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +\hypertarget{sms_2metasprites_8h_autotoc_md4}{}\doxysubsubsection{Metasprite support}\label{sms_2metasprites_8h_autotoc_md4} +A metasprite is a larger sprite made up from a collection of smaller individual hardware sprites. Different frames of the same metasprites can share tile data. + +The api supports metasprites in both \mbox{\hyperlink{sms_8h_aa87bec0d134136fdb727f52cb773b792}{S\+P\+R\+I\+T\+E\+S\+\_\+8x8}} and \mbox{\hyperlink{sms_8h_af91d252f07f4764996154820f970c101}{S\+P\+R\+I\+T\+E\+S\+\_\+8x16}} mode. If 8x16 mode is used then the height of the metasprite must be a multiple of 16. + +The origin (pivot) for the metasprite is not required to be in the upper left-\/hand corner as with regular hardware sprites. + +Use the \mbox{\hyperlink{docs_toolchain_utility_png2asset}{utility\+\_\+png2asset}} tool to convert single or multiple frames of graphics into metasprite structured data for use with the ...metasprite...() functions.\hypertarget{sms_2metasprites_8h_autotoc_md5}{}\doxysubsubsection{Metasprites composed of variable numbers of sprites}\label{sms_2metasprites_8h_autotoc_md5} +When using png2asset, it\textquotesingle{}s common for the output of different frames to be composed of different numbers of hardware sprites (since it\textquotesingle{}s trying to create each frame as efficiently as possible). Due to that, it\textquotesingle{}s good practice to clear out (hide) unused sprites in the shadow\+\_\+\+O\+AM that have been set by previous frames. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{sms_2metasprites_8h_a9f9f390a57460914e27c7604b7d8379a}\label{sms_2metasprites_8h_a9f9f390a57460914e27c7604b7d8379a}} +\index{metasprites.h@{metasprites.h}!metasprite\_end@{metasprite\_end}} +\index{metasprite\_end@{metasprite\_end}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{metasprite\_end}{metasprite\_end}} +{\footnotesize\ttfamily \#define metasprite\+\_\+end~-\/128} + +\mbox{\Hypertarget{sms_2metasprites_8h_aa88dc4d5e35045509b8955a4a23a30aa}\label{sms_2metasprites_8h_aa88dc4d5e35045509b8955a4a23a30aa}} +\index{metasprites.h@{metasprites.h}!METASPR\_ITEM@{METASPR\_ITEM}} +\index{METASPR\_ITEM@{METASPR\_ITEM}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{METASPR\_ITEM}{METASPR\_ITEM}} +{\footnotesize\ttfamily \#define M\+E\+T\+A\+S\+P\+R\+\_\+\+I\+T\+EM(\begin{DoxyParamCaption}\item[{}]{dy, }\item[{}]{dx, }\item[{}]{dt, }\item[{}]{a }\end{DoxyParamCaption})~\{(dy),(dx),(dt)\}} + +\mbox{\Hypertarget{sms_2metasprites_8h_aa1d425dcce3cd104751744535b6a389a}\label{sms_2metasprites_8h_aa1d425dcce3cd104751744535b6a389a}} +\index{metasprites.h@{metasprites.h}!METASPR\_TERM@{METASPR\_TERM}} +\index{METASPR\_TERM@{METASPR\_TERM}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{METASPR\_TERM}{METASPR\_TERM}} +{\footnotesize\ttfamily \#define M\+E\+T\+A\+S\+P\+R\+\_\+\+T\+E\+RM~\{\mbox{\hyperlink{sms_2metasprites_8h_a9f9f390a57460914e27c7604b7d8379a}{metasprite\+\_\+end}}\}} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{sms_2metasprites_8h_aba6401cc8173158a9f37ee22094c03d3}\label{sms_2metasprites_8h_aba6401cc8173158a9f37ee22094c03d3}} +\index{metasprites.h@{metasprites.h}!metasprite\_t@{metasprite\_t}} +\index{metasprite\_t@{metasprite\_t}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{metasprite\_t}{metasprite\_t}} +{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}}} + +Metasprite sub-\/item structure +\begin{DoxyParams}{Parameters} +{\em dy} & (int8\+\_\+t) Y coordinate of the sprite relative to the metasprite origin (pivot) \\ +\hline +{\em dx} & (int8\+\_\+t) X coordinate of the sprite relative to the metasprite origin (pivot) \\ +\hline +{\em dtile} & (uint8\+\_\+t) Start tile relative to the metasprites own set of tiles\\ +\hline +\end{DoxyParams} +Metasprites are built from multiple \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} items (one for each sub-\/sprite) and a pool of tiles they reference. If a metasprite has multiple frames then each frame will be built from some number of \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} items (which may vary based on how many sprites are required for that particular frame). + +A metasprite frame is terminated with a \{metasprite\+\_\+end\} entry. + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{sms_2metasprites_8h_a0c668f442b4764275a1dade597a59e20}\label{sms_2metasprites_8h_a0c668f442b4764275a1dade597a59e20}} +\index{metasprites.h@{metasprites.h}!hide\_sprites\_range@{hide\_sprites\_range}} +\index{hide\_sprites\_range@{hide\_sprites\_range}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{hide\_sprites\_range()}{hide\_sprites\_range()}} +{\footnotesize\ttfamily void hide\+\_\+sprites\+\_\+range (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}}}]{from, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_ab27e9918b538ce9d8ca692479b375b6a}{U\+I\+N\+T8}}}]{to }\end{DoxyParamCaption})} + +Hides all hardware sprites in range from $<$= X $<$ to +\begin{DoxyParams}{Parameters} +{\em from} & start O\+AM index \\ +\hline +{\em to} & finish O\+AM index \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{sms_2metasprites_8h_a77475e913bf0a19df28bdbf9d1cf392b}\label{sms_2metasprites_8h_a77475e913bf0a19df28bdbf9d1cf392b}} +\index{metasprites.h@{metasprites.h}!move\_metasprite@{move\_metasprite}} +\index{move\_metasprite@{move\_metasprite}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{move\_metasprite()}{move\_metasprite()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} move\+\_\+metasprite (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$}]{metasprite, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+tile, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+sprite, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Moves metasprite to the absolute position x and y + + +\begin{DoxyParams}{Parameters} +{\em metasprite} & Pointer to the first struct of the metasprite (for the desired frame) \\ +\hline +{\em base\+\_\+tile} & Number of the first tile where the metasprite\textquotesingle{}s tiles start \\ +\hline +{\em base\+\_\+sprite} & Number of the first hardware sprite to be used by the metasprite ~\newline + \\ +\hline +{\em x} & Absolute x coordinate of the sprite \\ +\hline +{\em y} & Absolute y coordinate of the sprite\\ +\hline +\end{DoxyParams} +Moves {\bfseries{metasprite}} to the absolute position {\bfseries{x}} and {\bfseries{y}} (with {\bfseries{no flip}} on the X or Y axis). Hardware sprites are allocated starting from {\bfseries{base\+\_\+sprite}}, using tiles starting from {\bfseries{base\+\_\+tile}}. + +Sets\+: \begin{DoxyItemize} +\item \+\_\+\+\_\+current\+\_\+metasprite = metasprite; \item \+\_\+\+\_\+current\+\_\+base\+\_\+tile = base\+\_\+tile;\end{DoxyItemize} +\begin{DoxyReturn}{Returns} +Number of hardware sprites used to draw this metasprite +\end{DoxyReturn} +\mbox{\Hypertarget{sms_2metasprites_8h_af8de5a888d65448b9d34027a0e1ce906}\label{sms_2metasprites_8h_af8de5a888d65448b9d34027a0e1ce906}} +\index{metasprites.h@{metasprites.h}!hide\_metasprite@{hide\_metasprite}} +\index{hide\_metasprite@{hide\_metasprite}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{hide\_metasprite()}{hide\_metasprite()}} +{\footnotesize\ttfamily void hide\+\_\+metasprite (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} $\ast$}]{metasprite, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+sprite }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Hides a metasprite from the screen + + +\begin{DoxyParams}{Parameters} +{\em metasprite} & Pointer to first struct of the desired metasprite frame \\ +\hline +{\em base\+\_\+sprite} & Number of hardware sprite to start with\\ +\hline +\end{DoxyParams} +Sets\+: \begin{DoxyItemize} +\item \+\_\+\+\_\+current\+\_\+metasprite = metasprite; \end{DoxyItemize} + + +\doxysubsubsection{Variable Documentation} +\mbox{\Hypertarget{sms_2metasprites_8h_aae51f066cc5436457f62351847bfc64b}\label{sms_2metasprites_8h_aae51f066cc5436457f62351847bfc64b}} +\index{metasprites.h@{metasprites.h}!\_\_current\_metasprite@{\_\_current\_metasprite}} +\index{\_\_current\_metasprite@{\_\_current\_metasprite}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{\_\_current\_metasprite}{\_\_current\_metasprite}} +{\footnotesize\ttfamily const void$\ast$ \+\_\+\+\_\+current\+\_\+metasprite\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2metasprites_8h_a345fa52509387bd18a4092178a18286f}\label{sms_2metasprites_8h_a345fa52509387bd18a4092178a18286f}} +\index{metasprites.h@{metasprites.h}!\_\_current\_base\_tile@{\_\_current\_base\_tile}} +\index{\_\_current\_base\_tile@{\_\_current\_base\_tile}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{\_\_current\_base\_tile}{\_\_current\_base\_tile}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+\+\_\+current\+\_\+base\+\_\+tile\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2metasprites_8h_a4bfe4d95031b67951cf6bc342110db39}\label{sms_2metasprites_8h_a4bfe4d95031b67951cf6bc342110db39}} +\index{metasprites.h@{metasprites.h}!\_\_render\_shadow\_OAM@{\_\_render\_shadow\_OAM}} +\index{\_\_render\_shadow\_OAM@{\_\_render\_shadow\_OAM}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{\_\_render\_shadow\_OAM}{\_\_render\_shadow\_OAM}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+\+\_\+render\+\_\+shadow\+\_\+\+O\+AM\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_2metasprites_8h_af279c752a3b15c4bd5c67f54b92e553f}\label{sms_2metasprites_8h_af279c752a3b15c4bd5c67f54b92e553f}} +\index{metasprites.h@{metasprites.h}!iyl@{iyl}} +\index{iyl@{iyl}!metasprites.h@{metasprites.h}} +\doxyparagraph{\texorpdfstring{iyl}{iyl}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} iyl} + diff --git a/docs/latex/sms_8h.tex b/docs/latex/sms_8h.tex @@ -0,0 +1,1666 @@ +\hypertarget{sms_8h}{}\doxysubsection{sms/sms.h File Reference} +\label{sms_8h}\index{sms/sms.h@{sms/sms.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +{\ttfamily \#include $<$gbdk/version.\+h$>$}\newline +{\ttfamily \#include $<$sms/hardware.\+h$>$}\newline +\doxysubsubsection*{Data Structures} +\begin{DoxyCompactItemize} +\item +struct \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{sms_8h_a19e5fbd76b85bf708ec31d55905fc537}{S\+E\+GA}} +\item +\#define \mbox{\hyperlink{sms_8h_a6bc34abf062d8e3be88170ac106f197f}{V\+B\+K\+\_\+\+R\+EG}}~\mbox{\hyperlink{sms_2hardware_8h_a019bf78a6d586c987aec03af8d20e02f}{V\+D\+P\+\_\+\+A\+T\+T\+R\+\_\+\+S\+H\+I\+FT}} +\item +\#define \mbox{\hyperlink{sms_8h_a05ca817ab32f6da612c3ae26db5abf02}{J\+\_\+\+UP}}~0b00000001 +\item +\#define \mbox{\hyperlink{sms_8h_ae032c5c544196e37ec0432f6cfad7904}{J\+\_\+\+D\+O\+WN}}~0b00000010 +\item +\#define \mbox{\hyperlink{sms_8h_ac70894fecac30c1ca9917f07373cf81c}{J\+\_\+\+L\+E\+FT}}~0b00000100 +\item +\#define \mbox{\hyperlink{sms_8h_a3bad91d11ae09ffcbb3cb0a81873d325}{J\+\_\+\+R\+I\+G\+HT}}~0b00001000 +\item +\#define \mbox{\hyperlink{sms_8h_a31af766e3b598eb7a6b63f55a4988e7a}{J\+\_\+A}}~0b00010000 +\item +\#define \mbox{\hyperlink{sms_8h_ae47e59a309120f9420993f26816b5e6d}{J\+\_\+B}}~0b00100000 +\item +\#define \mbox{\hyperlink{sms_8h_af0e30d6af308ffe5a025fbe85da40f6f}{M\+\_\+\+T\+E\+X\+T\+\_\+\+O\+UT}}~0x02U +\item +\#define \mbox{\hyperlink{sms_8h_a908826e7180f94a5988ceb8633313a2e}{M\+\_\+\+T\+E\+X\+T\+\_\+\+I\+N\+O\+UT}}~0x03U +\item +\#define \mbox{\hyperlink{sms_8h_a04382de20738146fe873ddfb0585052b}{M\+\_\+\+N\+O\+\_\+\+S\+C\+R\+O\+LL}}~0x04U +\item +\#define \mbox{\hyperlink{sms_8h_aca2855edd2d28f66be551a0f7ec23f07}{M\+\_\+\+N\+O\+\_\+\+I\+N\+T\+E\+RP}}~0x08U +\item +\#define \mbox{\hyperlink{sms_8h_ae97793b4039609f93b0f7f8bddb18011}{S\+\_\+\+F\+L\+I\+PX}}~0x02U +\item +\#define \mbox{\hyperlink{sms_8h_a4bbb9cd6c38b2317de5256d1d889c63b}{S\+\_\+\+F\+L\+I\+PY}}~0x04U +\item +\#define \mbox{\hyperlink{sms_8h_a54572cf6791463b6d60623837e0bb5a6}{S\+\_\+\+P\+A\+L\+E\+T\+TE}}~0x08U +\item +\#define \mbox{\hyperlink{sms_8h_a9506d04c2ec7d2442a52054f67d2b32f}{S\+\_\+\+P\+R\+I\+O\+R\+I\+TY}}~0x10U +\item +\#define \mbox{\hyperlink{sms_8h_aa34282113397af810be737df1acec36c}{\+\_\+\+\_\+\+W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(R\+EG, v)~shadow\+\_\+\#\#R\+EG=(v);\+\_\+\+\_\+critical\{V\+D\+P\+\_\+\+C\+MD=(shadow\+\_\+\#\#R\+EG),V\+D\+P\+\_\+\+C\+MD=R\+EG;\} +\item +\#define \mbox{\hyperlink{sms_8h_a964e713cb2535d7464d0d6ca7677049a}{\+\_\+\+\_\+\+R\+E\+A\+D\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(R\+EG)~shadow\+\_\+\#\#R\+EG +\item +\#define \mbox{\hyperlink{sms_8h_aa027abe630d44039f238034bcb2d2f36}{E\+M\+P\+T\+Y\+\_\+\+I\+F\+L\+AG}}~0x00U +\item +\#define \mbox{\hyperlink{sms_8h_a2ca7720b9a5da9b2173e1f74dba85541}{V\+B\+L\+\_\+\+I\+F\+L\+AG}}~0x01U +\item +\#define \mbox{\hyperlink{sms_8h_a61a9e2910380de6abb34df14ef634eb4}{L\+C\+D\+\_\+\+I\+F\+L\+AG}}~0x02U +\item +\#define \mbox{\hyperlink{sms_8h_a604256210ec5b90b68185e1a18efab49}{T\+I\+M\+\_\+\+I\+F\+L\+AG}}~0x04U +\item +\#define \mbox{\hyperlink{sms_8h_ad90564458646c5646b3880b93db3443e}{S\+I\+O\+\_\+\+I\+F\+L\+AG}}~0x08U +\item +\#define \mbox{\hyperlink{sms_8h_a2f829cf27d6e3e24c875e9b82dfcb280}{J\+O\+Y\+\_\+\+I\+F\+L\+AG}}~0x10U +\item +\#define \mbox{\hyperlink{sms_8h_ada0cc738d27aad251151e69cb8d250e1}{S\+C\+R\+E\+E\+N\+W\+I\+D\+TH}}~\mbox{\hyperlink{sms_2hardware_8h_ad14c51cdfb347c34c364f54e67dc978d}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+W\+I\+D\+TH}} +\item +\#define \mbox{\hyperlink{sms_8h_ae189e98d0ef9263c37869ce1ff3710a5}{S\+C\+R\+E\+E\+N\+H\+E\+I\+G\+HT}}~\mbox{\hyperlink{sms_2hardware_8h_a7bd450aa268b881257089cf8cd6697ec}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+H\+E\+I\+G\+HT}} +\item +\#define \mbox{\hyperlink{sms_8h_a5a796bbf3e4347d914b83568350143a9}{M\+I\+N\+W\+N\+D\+P\+O\+SX}}~0x00U +\item +\#define \mbox{\hyperlink{sms_8h_af3d632ba2d7cef6619df5dfea8730909}{M\+I\+N\+W\+N\+D\+P\+O\+SY}}~0x00U +\item +\#define \mbox{\hyperlink{sms_8h_a6dffb66ec1b1d9bb380a1af52a601ec5}{M\+A\+X\+W\+N\+D\+P\+O\+SX}}~0x00U +\item +\#define \mbox{\hyperlink{sms_8h_ad57f2f8c54204687f02801d8ab1bd150}{M\+A\+X\+W\+N\+D\+P\+O\+SY}}~0x00U +\item +\#define \mbox{\hyperlink{sms_8h_a5ae6b05b3e1559c97f0d1b2daaaa0ee4}{D\+I\+S\+P\+L\+A\+Y\+\_\+\+ON}}~ \mbox{\hyperlink{sms_8h_aa34282113397af810be737df1acec36c}{\+\_\+\+\_\+\+W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}{V\+D\+P\+\_\+\+R1}}, \mbox{\hyperlink{sms_8h_a964e713cb2535d7464d0d6ca7677049a}{\+\_\+\+\_\+\+R\+E\+A\+D\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}{V\+D\+P\+\_\+\+R1}}) $\vert$= \mbox{\hyperlink{sms_2hardware_8h_adbfdd7c42539613c371820dffd14906f}{R1\+\_\+\+D\+I\+S\+P\+\_\+\+ON}}) +\item +\#define \mbox{\hyperlink{sms_8h_ad2ec9831813c5e7069917aa4455af682}{D\+I\+S\+P\+L\+A\+Y\+\_\+\+O\+FF}}~ \mbox{\hyperlink{sms_8h_a7b09691f25fddd65f12ed199b3f88ef0}{display\+\_\+off}}(); +\item +\#define \mbox{\hyperlink{sms_8h_a0659212acd317ccdebc0ecf435df330f}{H\+I\+D\+E\+\_\+\+L\+E\+F\+T\+\_\+\+C\+O\+L\+U\+MN}}~ \mbox{\hyperlink{sms_8h_aa34282113397af810be737df1acec36c}{\+\_\+\+\_\+\+W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a673a19a1e353c852003c54d1d110b5e6}{V\+D\+P\+\_\+\+R0}}, \mbox{\hyperlink{sms_8h_a964e713cb2535d7464d0d6ca7677049a}{\+\_\+\+\_\+\+R\+E\+A\+D\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a673a19a1e353c852003c54d1d110b5e6}{V\+D\+P\+\_\+\+R0}}) $\vert$= \mbox{\hyperlink{sms_2hardware_8h_a83088549f6d87bf5ccb8bf51dfe7ea7b}{R0\+\_\+\+L\+CB}}) +\item +\#define \mbox{\hyperlink{sms_8h_a5497c2255a9474d397446710189eacbe}{S\+H\+O\+W\+\_\+\+L\+E\+F\+T\+\_\+\+C\+O\+L\+U\+MN}}~ \mbox{\hyperlink{sms_8h_aa34282113397af810be737df1acec36c}{\+\_\+\+\_\+\+W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a673a19a1e353c852003c54d1d110b5e6}{V\+D\+P\+\_\+\+R0}}, \mbox{\hyperlink{sms_8h_a964e713cb2535d7464d0d6ca7677049a}{\+\_\+\+\_\+\+R\+E\+A\+D\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a673a19a1e353c852003c54d1d110b5e6}{V\+D\+P\+\_\+\+R0}}) \&= ($\sim$\mbox{\hyperlink{sms_2hardware_8h_a83088549f6d87bf5ccb8bf51dfe7ea7b}{R0\+\_\+\+L\+CB}})) +\item +\#define \mbox{\hyperlink{sms_8h_a8e3f36aa68ac036695816757f2a1322c}{S\+H\+O\+W\+\_\+\+B\+KG}} +\item +\#define \mbox{\hyperlink{sms_8h_a6d25f7c43b1cbbb48b95cda7ab2c3141}{H\+I\+D\+E\+\_\+\+B\+KG}} +\item +\#define \mbox{\hyperlink{sms_8h_ab19da2ab719bb8897bc0843a84af28f8}{S\+H\+O\+W\+\_\+\+W\+IN}} +\item +\#define \mbox{\hyperlink{sms_8h_aedb6e32c42d4b1d25ad11adccd7100c3}{H\+I\+D\+E\+\_\+\+W\+IN}} +\item +\#define \mbox{\hyperlink{sms_8h_a495bc9f405f916f02ad5d97e6e730134}{S\+H\+O\+W\+\_\+\+S\+P\+R\+I\+T\+ES}} +\item +\#define \mbox{\hyperlink{sms_8h_a69ef98aee664b8abd8d1a3d45f016dda}{H\+I\+D\+E\+\_\+\+S\+P\+R\+I\+T\+ES}} +\item +\#define \mbox{\hyperlink{sms_8h_af91d252f07f4764996154820f970c101}{S\+P\+R\+I\+T\+E\+S\+\_\+8x16}}~ \mbox{\hyperlink{sms_8h_aa34282113397af810be737df1acec36c}{\+\_\+\+\_\+\+W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}{V\+D\+P\+\_\+\+R1}}, \mbox{\hyperlink{sms_8h_a964e713cb2535d7464d0d6ca7677049a}{\+\_\+\+\_\+\+R\+E\+A\+D\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}{V\+D\+P\+\_\+\+R1}}) $\vert$= \mbox{\hyperlink{sms_2hardware_8h_a4985d6df1031afe8efb993f9c480ca12}{R1\+\_\+\+S\+P\+R\+\_\+8\+X16}}) +\item +\#define \mbox{\hyperlink{sms_8h_aa87bec0d134136fdb727f52cb773b792}{S\+P\+R\+I\+T\+E\+S\+\_\+8x8}}~ \mbox{\hyperlink{sms_8h_aa34282113397af810be737df1acec36c}{\+\_\+\+\_\+\+W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}{V\+D\+P\+\_\+\+R1}}, \mbox{\hyperlink{sms_8h_a964e713cb2535d7464d0d6ca7677049a}{\+\_\+\+\_\+\+R\+E\+A\+D\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}{V\+D\+P\+\_\+\+R1}}) \&= ($\sim$\mbox{\hyperlink{sms_2hardware_8h_a4985d6df1031afe8efb993f9c480ca12}{R1\+\_\+\+S\+P\+R\+\_\+8\+X16}})) +\item +\#define \mbox{\hyperlink{sms_8h_a231ec05679809190782e61c6e8aaaba4}{D\+E\+V\+I\+C\+E\+\_\+\+S\+U\+P\+P\+O\+R\+T\+S\+\_\+\+C\+O\+L\+OR}}~(\mbox{\hyperlink{types_8h_aa8cecfc5c5c054d2875c03e77b7be15d}{T\+R\+UE}}) +\item +\#define \mbox{\hyperlink{sms_8h_af0d15cf2a26924d2ef00ac4017e6b1d8}{\+\_\+current\+\_\+bank}}~M\+A\+P\+\_\+\+F\+R\+A\+M\+E1 +\item +\#define \mbox{\hyperlink{sms_8h_ae042588f20bf5a2349c8ad8716245233}{C\+U\+R\+R\+E\+N\+T\+\_\+\+B\+A\+NK}}~M\+A\+P\+\_\+\+F\+R\+A\+M\+E1 +\item +\#define \mbox{\hyperlink{sms_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+NK}}(V\+A\+R\+N\+A\+ME)~( (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}) \& \+\_\+\+\_\+bank\+\_\+ \#\# V\+A\+R\+N\+A\+ME ) +\item +\#define \mbox{\hyperlink{sms_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+EF}}(V\+A\+R\+N\+A\+ME) +\item +\#define \mbox{\hyperlink{sms_8h_a261bba55a07b802baf99346feadd9852}{B\+A\+N\+K\+R\+E\+F\+\_\+\+E\+X\+T\+E\+RN}}(V\+A\+R\+N\+A\+ME)~extern const void \+\_\+\+\_\+bank\+\_\+ \#\# V\+A\+R\+N\+A\+ME; +\item +\#define \mbox{\hyperlink{sms_8h_af61262bbc05629f31020afce67e1b9ea}{S\+W\+I\+T\+C\+H\+\_\+\+R\+OM}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})~M\+A\+P\+\_\+\+F\+R\+A\+M\+E1=(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}) +\item +\#define \mbox{\hyperlink{sms_8h_a86d47feb2b999aaabbba9f63f4bb3567}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M1}}~\mbox{\hyperlink{sms_8h_af61262bbc05629f31020afce67e1b9ea}{S\+W\+I\+T\+C\+H\+\_\+\+R\+OM}} +\item +\#define \mbox{\hyperlink{sms_8h_a6d40a15ff27c2a1c8269d3dbe67eae65}{S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M2}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})~M\+A\+P\+\_\+\+F\+R\+A\+M\+E2=(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}}) +\item +\#define \mbox{\hyperlink{sms_8h_a121feb0c32d124562f52398aa9656e7b}{S\+W\+I\+T\+C\+H\+\_\+\+R\+AM}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})~R\+A\+M\+\_\+\+C\+O\+N\+T\+R\+OL=((\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})\&1)?R\+A\+M\+\_\+\+C\+O\+N\+T\+R\+OL$\vert$R\+A\+M\+C\+T\+L\+\_\+\+B\+A\+N\+K\+:\+R\+A\+M\+\_\+\+C\+O\+N\+T\+R\+OL\&($\sim$\mbox{\hyperlink{sms_2hardware_8h_a8f4dbe8a2e6389c78b9f6fb9a3ff1dca}{R\+A\+M\+C\+T\+L\+\_\+\+B\+A\+NK}}) +\item +\#define \mbox{\hyperlink{sms_8h_a0e9c88657beaac946231a4801481b97f}{E\+N\+A\+B\+L\+E\+\_\+\+R\+AM}}~R\+A\+M\+\_\+\+C\+O\+N\+T\+R\+OL$\vert$=\mbox{\hyperlink{sms_2hardware_8h_a8728acabf97eae3322439bc3cb41b02d}{R\+A\+M\+C\+T\+L\+\_\+\+R\+AM}} +\item +\#define \mbox{\hyperlink{sms_8h_a649d27b5587de16a66176e03a1b8ebd5}{D\+I\+S\+A\+B\+L\+E\+\_\+\+R\+AM}}~R\+A\+M\+\_\+\+C\+O\+N\+T\+R\+OL\&=($\sim$\mbox{\hyperlink{sms_2hardware_8h_a8728acabf97eae3322439bc3cb41b02d}{R\+A\+M\+C\+T\+L\+\_\+\+R\+AM}}) +\item +\#define \mbox{\hyperlink{sms_8h_a2215732f2ba2ec6406b65d3cca56a200}{set\+\_\+bkg\+\_\+palette\+\_\+entry}}~\mbox{\hyperlink{sms_8h_a2c9aabf4519e01257b0d0e04e8108164}{set\+\_\+palette\+\_\+entry}} +\item +\#define \mbox{\hyperlink{sms_8h_a8b5c17235a3f65af70492e109a25f237}{set\+\_\+sprite\+\_\+palette\+\_\+entry}}(palette, entry, rgb\+\_\+data)~\mbox{\hyperlink{sms_8h_a2c9aabf4519e01257b0d0e04e8108164}{set\+\_\+palette\+\_\+entry}}(1,entry,rgb\+\_\+data) +\item +\#define \mbox{\hyperlink{sms_8h_a9f879bd31899f7989f887b6238de24e3}{set\+\_\+bkg\+\_\+palette}}~\mbox{\hyperlink{sms_8h_a92109adcc20960f26e8bc5fbb141d27e}{set\+\_\+palette}} +\item +\#define \mbox{\hyperlink{sms_8h_a7d5ed1aed79d8fd2894893d7f6f9b835}{set\+\_\+sprite\+\_\+palette}}(first\+\_\+palette, nb\+\_\+palettes, rgb\+\_\+data)~\mbox{\hyperlink{sms_8h_a92109adcc20960f26e8bc5fbb141d27e}{set\+\_\+palette}}(1,1,rgb\+\_\+data) +\item +\#define \mbox{\hyperlink{sms_8h_a67f80e65620470b55a4950e2966eb868}{C\+O\+M\+P\+A\+T\+\_\+\+P\+A\+L\+E\+T\+TE}}(C0, C1, C2, C3)~(((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(C3) $<$$<$ 12) $\vert$ ((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(C2) $<$$<$ 8) $\vert$ ((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(C1) $<$$<$ 4) $\vert$ (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(C0)) +\item +\#define \mbox{\hyperlink{sms_8h_a9a732aec1b7aec7d10a9d76ca4da2064}{set\+\_\+bkg\+\_\+tiles}}~\mbox{\hyperlink{sms_8h_a7c38b146f77eda84981c06c2271fe116}{set\+\_\+tile\+\_\+map\+\_\+compat}} +\item +\#define \mbox{\hyperlink{sms_8h_a429db030287423012f40a6dca81ae7e3}{set\+\_\+win\+\_\+tiles}}~\mbox{\hyperlink{sms_8h_a7c38b146f77eda84981c06c2271fe116}{set\+\_\+tile\+\_\+map\+\_\+compat}} +\item +\#define \mbox{\hyperlink{sms_8h_a3b7ffab8d64e2c345f03221145a935c0}{fill\+\_\+bkg\+\_\+rect}}~\mbox{\hyperlink{sms_8h_af2fc27409f907cfae9583b5ebf0c5ea8}{fill\+\_\+rect\+\_\+compat}} +\item +\#define \mbox{\hyperlink{sms_8h_a5a69a3129f4faa99857a8b3d80db1d4a}{fill\+\_\+win\+\_\+rect}}~\mbox{\hyperlink{sms_8h_af2fc27409f907cfae9583b5ebf0c5ea8}{fill\+\_\+rect\+\_\+compat}} +\item +\#define \mbox{\hyperlink{sms_8h_abfd70bf31185a4900680977c9fb5a5ec}{D\+I\+S\+A\+B\+L\+E\+\_\+\+V\+B\+L\+\_\+\+T\+R\+A\+N\+S\+F\+ER}}~ \mbox{\hyperlink{sms_8h_a5435fd985412934e96a490e103c6bc49}{\+\_\+shadow\+\_\+\+O\+A\+M\+\_\+base}} = 0 +\item +\#define \mbox{\hyperlink{sms_8h_a77d516c9d3f86f100eddea5e0d133a76}{E\+N\+A\+B\+L\+E\+\_\+\+V\+B\+L\+\_\+\+T\+R\+A\+N\+S\+F\+ER}}~ \mbox{\hyperlink{sms_8h_a5435fd985412934e96a490e103c6bc49}{\+\_\+shadow\+\_\+\+O\+A\+M\+\_\+base}} = (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}})((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})\&\mbox{\hyperlink{sms_8h_af02f9e73bd894cc25e03aedb0a10a91d}{shadow\+\_\+\+O\+AM}} $>$$>$ 8) +\item +\#define \mbox{\hyperlink{sms_8h_a8b77608c87a9aef65a03531482b2163b}{M\+A\+X\+\_\+\+H\+A\+R\+D\+W\+A\+R\+E\+\_\+\+S\+P\+R\+I\+T\+ES}}~64 +\item +\#define \mbox{\hyperlink{sms_8h_adcd40a58f7c7d348d506cc400cd94739}{set\+\_\+bkg\+\_\+tile\+\_\+xy}}~\mbox{\hyperlink{sms_8h_a5834057f6297c0fa8f8e9a6b714f1ff7}{set\+\_\+tile\+\_\+xy}} +\item +\#define \mbox{\hyperlink{sms_8h_a95d929d964d9988f4dc5a25ed399ae08}{set\+\_\+win\+\_\+tile\+\_\+xy}}~\mbox{\hyperlink{sms_8h_a5834057f6297c0fa8f8e9a6b714f1ff7}{set\+\_\+tile\+\_\+xy}} +\item +\#define \mbox{\hyperlink{sms_8h_a6eaafdbe6cf1695d30724ce75acb9412}{get\+\_\+win\+\_\+xy\+\_\+addr}}~\mbox{\hyperlink{sms_8h_a66b4bfb8c1ea3005ff01ce040a778e63}{get\+\_\+bkg\+\_\+xy\+\_\+addr}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef void($\ast$ \mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}) (void) \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{sms_8h_a498b148efd22ab8ad9b844b2dc5e5bb8}{W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+C\+MD}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} cmd) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{sms_8h_aa2ddf9662320c4a9d00fd4a94d347570}{W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+D\+A\+TA}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} data) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{sms_8h_a3ea524204d839377cf39842eec23e202}{mode}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} m) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_ad9a83378f5ec1f6444c879e4cf1e1a83}{get\+\_\+mode}} () \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{sms_8h_aefda0091b2934571a11e07b512735f50}{set\+\_\+interrupts}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} flags) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} +\item +void \mbox{\hyperlink{sms_8h_a98f7ef49e1758c601979bcb0ff19a1f0}{remove\+\_\+\+V\+BL}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_aa8962b27b960bb0c8d3bb899246c690c}{remove\+\_\+\+L\+CD}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{sms_8h_a98785a1b0ddc91cd8e8c8fab8de1de20}{remove\+\_\+\+T\+IM}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} +\item +void \mbox{\hyperlink{sms_8h_a98de9141f407585801fcbf55bf6dcc4c}{remove\+\_\+\+S\+IO}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} +\item +void \mbox{\hyperlink{sms_8h_a35a3ff12ab34534b763517576afe38a6}{remove\+\_\+\+J\+OY}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} +\item +void \mbox{\hyperlink{sms_8h_ae59628e2237f301df1341e22bfc8296e}{add\+\_\+\+V\+BL}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_a0a3d95ad0ab8ad213016101d2e9c3d3e}{d}} +\item +void \mbox{\hyperlink{sms_8h_a51add93356a25c71e8c37a73c9065c9d}{add\+\_\+\+L\+CD}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{sms_8h_a6c66a583a8f0744e3985c89725e3dc10}{add\+\_\+\+T\+IM}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} +\item +void \mbox{\hyperlink{sms_8h_a3372d61a07e0466bdb909a27f3aaaca9}{add\+\_\+\+S\+IO}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} +\item +void \mbox{\hyperlink{sms_8h_a48163816121cd669526817d3e6266fd9}{add\+\_\+\+J\+OY}} (\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_ade5d4c955b871b0ed884273cc2b7215a}{cancel\+\_\+pending\+\_\+interrupts}} () +\item +void \mbox{\hyperlink{sms_8h_a6261537edc74068e3f7f057e6a3e8a57}{move\+\_\+bkg}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) +\item +void \mbox{\hyperlink{sms_8h_a1f583f7a880daa6145ca78b086a209d1}{scroll\+\_\+bkg}} (\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} y) +\item +void \mbox{\hyperlink{sms_8h_acd186eb292d441f9389e77b545a55619}{wait\+\_\+vbl\+\_\+done}} () \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{sms_8h_a7b09691f25fddd65f12ed199b3f88ef0}{display\+\_\+off}} () +\item +void \mbox{\hyperlink{sms_8h_a7542d00af674e3c58b6c9887ab01919f}{refresh\+\_\+\+O\+AM}} () +\item +void \mbox{\hyperlink{sms_8h_a217232c82eb5f99f7639b5786ce5abc6}{delay}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{sms_8h_a0a3d95ad0ab8ad213016101d2e9c3d3e}{d}}) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a176c477d759b814664785f3a0ad5e253}{joypad}} () \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a79b565677967da5ef9bf1a00aa6776ce}{waitpad}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} mask) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +void \mbox{\hyperlink{sms_8h_a955d3733e5018f18b17a572aff45cf26}{waitpadup}} () \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_abe90cc2b5bb10c0ed9e01e548ddf8862}{joypad\+\_\+init}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} npads, \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} $\ast$joypads) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} +\item +void \mbox{\hyperlink{sms_8h_a1d45c65829490c5ec98362f5e60edc20}{joypad\+\_\+ex}} (\mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} $\ast$joypads) \mbox{\hyperlink{asm_2z80_2types_8h_af45e54cf59a5202abc9125c07b64abf1}{Z88\+D\+K\+\_\+\+F\+A\+S\+T\+C\+A\+LL}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_abd34836339579013c097ae4dea10c014}{set\+\_\+default\+\_\+palette}} () +\item +void \mbox{\hyperlink{sms_8h_a884a743919b234cd9c37789380784d08}{cpu\+\_\+fast}} () +\item +void \mbox{\hyperlink{sms_8h_a2c9aabf4519e01257b0d0e04e8108164}{set\+\_\+palette\+\_\+entry}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} palette, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} entry, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} rgb\+\_\+data) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_a92109adcc20960f26e8bc5fbb141d27e}{set\+\_\+palette}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} first\+\_\+palette, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb\+\_\+palettes, \mbox{\hyperlink{cgb_8h_af868d7cdbd052c6b972ef137e02f6495}{palette\+\_\+color\+\_\+t}} $\ast$rgb\+\_\+data) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} +\item +void \mbox{\hyperlink{sms_8h_a24764a152441b966ea04a83278c73207}{set\+\_\+native\+\_\+tile\+\_\+data}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} start, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} ntiles, const void $\ast$src) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_aeff13dca11be49e8c159820c616016ec}{set\+\_\+bkg\+\_\+4bpp\+\_\+data}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} start, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} ntiles, const void $\ast$src) +\item +void \mbox{\hyperlink{sms_8h_a24f53cfe7e25c04fbb5dcb08cfb3b432}{set\+\_\+sprite\+\_\+4bpp\+\_\+data}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} start, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} ntiles, const void $\ast$src) +\item +void \mbox{\hyperlink{sms_8h_aa224c9bac27c7fd268e62bdf33338a84}{set\+\_\+2bpp\+\_\+palette}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} palette) +\item +void \mbox{\hyperlink{sms_8h_ab752b1bb0f58da2a6d52e9747c4b3dd8}{set\+\_\+tile\+\_\+2bpp\+\_\+data}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} start, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} ntiles, const void $\ast$src, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} palette) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_a8130306da1177f4fef89e699f8e2add4}{set\+\_\+bkg\+\_\+data}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} start, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} ntiles, const void $\ast$src) +\item +void \mbox{\hyperlink{sms_8h_a216a3e3d320ee4d8cf4845600487ae39}{set\+\_\+sprite\+\_\+data}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} start, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} ntiles, const void $\ast$src) +\item +void \mbox{\hyperlink{sms_8h_aa7ba76e4d44dbf19da351fd1ea8e3023}{set\+\_\+bkg\+\_\+2bpp\+\_\+data}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} start, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} ntiles, const void $\ast$src) +\item +void \mbox{\hyperlink{sms_8h_a10ee2919fcab7a5c482816ed718d1c4a}{set\+\_\+sprite\+\_\+2bpp\+\_\+data}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} start, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} ntiles, const void $\ast$src) +\item +void \mbox{\hyperlink{sms_8h_adcb394299a1033616fc7d2faec8bd6ad}{set\+\_\+1bpp\+\_\+colors}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} fgcolor, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} bgcolor) +\item +void \mbox{\hyperlink{sms_8h_a747033606e041b45ae09b38fdb06b871}{set\+\_\+tile\+\_\+1bpp\+\_\+data}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} start, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} ntiles, const void $\ast$src, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} colors) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_a4d5f74eed0489ebfdc2410ee3f9f7f04}{set\+\_\+bkg\+\_\+1bpp\+\_\+data}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} start, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} ntiles, const void $\ast$src) +\item +void \mbox{\hyperlink{sms_8h_a2cc121fbeb5570248531b85a8f0b5b97}{set\+\_\+sprite\+\_\+1bpp\+\_\+data}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} start, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} ntiles, const void $\ast$src) +\item +void \mbox{\hyperlink{sms_8h_a8fe17423c7ef7c44f1ccff27d3afbebc}{set\+\_\+data}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} dst, const void $\ast$src, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} size) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_a33a749b14dfbd203c460e8d7f3500636}{vmemcpy}} (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} dst, const void $\ast$src, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} size) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_a14fc41e69085b5aa3da2fae9a2aa3ef3}{set\+\_\+tile\+\_\+map}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$tiles) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_a7c38b146f77eda84981c06c2271fe116}{set\+\_\+tile\+\_\+map\+\_\+compat}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$tiles) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_a811c386cac0df2d260aacb5a43608be5}{set\+\_\+bkg\+\_\+based\+\_\+tiles}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$tiles, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+tile) +\item +void \mbox{\hyperlink{sms_8h_a739a212609ae60c9c56c095f96b4ea80}{set\+\_\+win\+\_\+based\+\_\+tiles}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$tiles, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+tile) +\item +void \mbox{\hyperlink{sms_8h_a84774e034fe0e70af62bd17ac716ba34}{set\+\_\+tile\+\_\+submap}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} map\+\_\+w, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$map) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_aba0308b5e8e154cc920f041a185ac770}{set\+\_\+tile\+\_\+submap\+\_\+compat}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} map\+\_\+w, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$map) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_a0cfd261bc7a94b1f6093f423bad30298}{set\+\_\+bkg\+\_\+submap}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$map, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} map\+\_\+w) +\item +void \mbox{\hyperlink{sms_8h_abb50a392ca0d0419a080413287ee5d79}{set\+\_\+win\+\_\+submap}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$map, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} map\+\_\+w) +\item +void \mbox{\hyperlink{sms_8h_abc8bc5808620a9717263b8c9ec2237f0}{set\+\_\+bkg\+\_\+based\+\_\+submap}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$map, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} map\+\_\+w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+tile) +\item +void \mbox{\hyperlink{sms_8h_a1b8a1026983cb2b2c0bd46334b4692a0}{set\+\_\+win\+\_\+based\+\_\+submap}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$map, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} map\+\_\+w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} base\+\_\+tile) +\item +void \mbox{\hyperlink{sms_8h_aba932d128338fb19644842565139a20d}{fill\+\_\+rect}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} tile) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_af2fc27409f907cfae9583b5ebf0c5ea8}{fill\+\_\+rect\+\_\+compat}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} w, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}}, const \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} tile) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_a7e0cdfd6b9a2ae1b7f30384f132d8687}{S\+E\+T\+\_\+\+S\+H\+A\+D\+O\+W\+\_\+\+O\+A\+M\+\_\+\+A\+D\+D\+R\+E\+SS}} (void $\ast$address) +\item +void \mbox{\hyperlink{sms_8h_a05bf0b9f1328de7b568a19a2a428bcfe}{set\+\_\+sprite\+\_\+tile}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} tile) +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_af5c0beff7d7a7d8641b51fd95c811b2a}{get\+\_\+sprite\+\_\+tile}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb) +\item +void \mbox{\hyperlink{sms_8h_a99ea3252469e3614e977cce2aa1d06f7}{set\+\_\+sprite\+\_\+prop}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} prop) +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a6b873c807c9e2c90fb574951e85fdf88}{get\+\_\+sprite\+\_\+prop}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb) +\item +void \mbox{\hyperlink{sms_8h_ab42c12c1d9aed3fd963248fbea9830cd}{move\+\_\+sprite}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) +\item +void \mbox{\hyperlink{sms_8h_a6c59aa9a4f9ea42bed6ca6940b2741fe}{scroll\+\_\+sprite}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb, \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} y) +\item +void \mbox{\hyperlink{sms_8h_ad22c51635d052399bbbe1777999c794d}{hide\+\_\+sprite}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} nb) +\item +void \mbox{\hyperlink{sms_8h_afe1bc7117a68cd0939c2d03baaa06b89}{set\+\_\+vram\+\_\+byte}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$addr, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} v) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$ \mbox{\hyperlink{sms_8h_a476f433ea736a1dd610490238f2a6250}{set\+\_\+attributed\+\_\+tile\+\_\+xy}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} t) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$ \mbox{\hyperlink{sms_8h_a5834057f6297c0fa8f8e9a6b714f1ff7}{set\+\_\+tile\+\_\+xy}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} t) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$ \mbox{\hyperlink{sms_8h_a66b4bfb8c1ea3005ff01ce040a778e63}{get\+\_\+bkg\+\_\+xy\+\_\+addr}} (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} x, \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} y) \mbox{\hyperlink{asm_2z80_2types_8h_aa19670cfef9fe1cc31f28fafb0e1000a}{Z88\+D\+K\+\_\+\+C\+A\+L\+L\+EE}} \mbox{\hyperlink{asm_2types_8h_acb825e83a33fcc06482c59b4ab2cf961}{P\+R\+E\+S\+E\+R\+V\+E\+S\+\_\+\+R\+E\+GS}}(\mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Variables} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} +\item +void \mbox{\hyperlink{sms_8h_a0a3d95ad0ab8ad213016101d2e9c3d3e}{d}} +\item +void \mbox{\hyperlink{sms_8h_aeda4515a31485c9688c4601ac5ce2d79}{e}} +\item +void \mbox{\hyperlink{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}{iyh}} +\item +void \mbox{\hyperlink{sms_8h_af279c752a3b15c4bd5c67f54b92e553f}{iyl}} +\item +void \mbox{\hyperlink{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}{h}} +\item +void \mbox{\hyperlink{sms_8h_af79b920bcb642bba2e652874c4f7eeff}{l}} +\item +volatile \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{sms_8h_a78d2fd18666afec116f176d46debb4e7}{sys\+\_\+time}} +\item +\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{sms_8h_a22dc57e538f0f49e2dc7d1c73f67fc8f}{\+\_\+current\+\_\+2bpp\+\_\+palette}} +\item +\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{sms_8h_a250f5339e05523912926be566e9eb8c0}{\+\_\+current\+\_\+1bpp\+\_\+colors}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_aa82205e9629f984d0b3dc8055c211522}{\+\_\+map\+\_\+tile\+\_\+offset}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_ab472d9bbb1bcfd141374f5babc71934c}{\+\_\+submap\+\_\+tile\+\_\+offset}} +\item +volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_af02f9e73bd894cc25e03aedb0a10a91d}{shadow\+\_\+\+O\+AM}} \mbox{[}$\,$\mbox{]} +\item +volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a5435fd985412934e96a490e103c6bc49}{\+\_\+shadow\+\_\+\+O\+A\+M\+\_\+base}} +\item +volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{sms_8h_a388d1dff2698172ba8574e43f5c77c93}{\+\_\+shadow\+\_\+\+O\+A\+M\+\_\+\+O\+FF}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +S\+M\+S/\+GG specific functions. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{sms_8h_a19e5fbd76b85bf708ec31d55905fc537}\label{sms_8h_a19e5fbd76b85bf708ec31d55905fc537}} +\index{sms.h@{sms.h}!SEGA@{SEGA}} +\index{SEGA@{SEGA}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SEGA}{SEGA}} +{\footnotesize\ttfamily \#define S\+E\+GA} + +\mbox{\Hypertarget{sms_8h_a6bc34abf062d8e3be88170ac106f197f}\label{sms_8h_a6bc34abf062d8e3be88170ac106f197f}} +\index{sms.h@{sms.h}!VBK\_REG@{VBK\_REG}} +\index{VBK\_REG@{VBK\_REG}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{VBK\_REG}{VBK\_REG}} +{\footnotesize\ttfamily \#define V\+B\+K\+\_\+\+R\+EG~\mbox{\hyperlink{sms_2hardware_8h_a019bf78a6d586c987aec03af8d20e02f}{V\+D\+P\+\_\+\+A\+T\+T\+R\+\_\+\+S\+H\+I\+FT}}} + +\mbox{\Hypertarget{sms_8h_a05ca817ab32f6da612c3ae26db5abf02}\label{sms_8h_a05ca817ab32f6da612c3ae26db5abf02}} +\index{sms.h@{sms.h}!J\_UP@{J\_UP}} +\index{J\_UP@{J\_UP}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{J\_UP}{J\_UP}} +{\footnotesize\ttfamily \#define J\+\_\+\+UP~0b00000001} + +Joypad bits. A logical OR of these is used in the wait\+\_\+pad and joypad functions. For example, to see if the B button is pressed try + +uint8\+\_\+t keys; keys = \mbox{\hyperlink{sms_8h_a176c477d759b814664785f3a0ad5e253}{joypad()}}; if (keys \& J\+\_\+B) \{ ... \} + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a176c477d759b814664785f3a0ad5e253}{joypad}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_ae032c5c544196e37ec0432f6cfad7904}\label{sms_8h_ae032c5c544196e37ec0432f6cfad7904}} +\index{sms.h@{sms.h}!J\_DOWN@{J\_DOWN}} +\index{J\_DOWN@{J\_DOWN}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{J\_DOWN}{J\_DOWN}} +{\footnotesize\ttfamily \#define J\+\_\+\+D\+O\+WN~0b00000010} + +\mbox{\Hypertarget{sms_8h_ac70894fecac30c1ca9917f07373cf81c}\label{sms_8h_ac70894fecac30c1ca9917f07373cf81c}} +\index{sms.h@{sms.h}!J\_LEFT@{J\_LEFT}} +\index{J\_LEFT@{J\_LEFT}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{J\_LEFT}{J\_LEFT}} +{\footnotesize\ttfamily \#define J\+\_\+\+L\+E\+FT~0b00000100} + +\mbox{\Hypertarget{sms_8h_a3bad91d11ae09ffcbb3cb0a81873d325}\label{sms_8h_a3bad91d11ae09ffcbb3cb0a81873d325}} +\index{sms.h@{sms.h}!J\_RIGHT@{J\_RIGHT}} +\index{J\_RIGHT@{J\_RIGHT}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{J\_RIGHT}{J\_RIGHT}} +{\footnotesize\ttfamily \#define J\+\_\+\+R\+I\+G\+HT~0b00001000} + +\mbox{\Hypertarget{sms_8h_a31af766e3b598eb7a6b63f55a4988e7a}\label{sms_8h_a31af766e3b598eb7a6b63f55a4988e7a}} +\index{sms.h@{sms.h}!J\_A@{J\_A}} +\index{J\_A@{J\_A}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{J\_A}{J\_A}} +{\footnotesize\ttfamily \#define J\+\_\+A~0b00010000} + +\mbox{\Hypertarget{sms_8h_ae47e59a309120f9420993f26816b5e6d}\label{sms_8h_ae47e59a309120f9420993f26816b5e6d}} +\index{sms.h@{sms.h}!J\_B@{J\_B}} +\index{J\_B@{J\_B}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{J\_B}{J\_B}} +{\footnotesize\ttfamily \#define J\+\_\+B~0b00100000} + +\mbox{\Hypertarget{sms_8h_af0e30d6af308ffe5a025fbe85da40f6f}\label{sms_8h_af0e30d6af308ffe5a025fbe85da40f6f}} +\index{sms.h@{sms.h}!M\_TEXT\_OUT@{M\_TEXT\_OUT}} +\index{M\_TEXT\_OUT@{M\_TEXT\_OUT}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{M\_TEXT\_OUT}{M\_TEXT\_OUT}} +{\footnotesize\ttfamily \#define M\+\_\+\+T\+E\+X\+T\+\_\+\+O\+UT~0x02U} + +Screen modes. Normally used by internal functions only. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a3ea524204d839377cf39842eec23e202}{mode()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a908826e7180f94a5988ceb8633313a2e}\label{sms_8h_a908826e7180f94a5988ceb8633313a2e}} +\index{sms.h@{sms.h}!M\_TEXT\_INOUT@{M\_TEXT\_INOUT}} +\index{M\_TEXT\_INOUT@{M\_TEXT\_INOUT}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{M\_TEXT\_INOUT}{M\_TEXT\_INOUT}} +{\footnotesize\ttfamily \#define M\+\_\+\+T\+E\+X\+T\+\_\+\+I\+N\+O\+UT~0x03U} + +\mbox{\Hypertarget{sms_8h_a04382de20738146fe873ddfb0585052b}\label{sms_8h_a04382de20738146fe873ddfb0585052b}} +\index{sms.h@{sms.h}!M\_NO\_SCROLL@{M\_NO\_SCROLL}} +\index{M\_NO\_SCROLL@{M\_NO\_SCROLL}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{M\_NO\_SCROLL}{M\_NO\_SCROLL}} +{\footnotesize\ttfamily \#define M\+\_\+\+N\+O\+\_\+\+S\+C\+R\+O\+LL~0x04U} + +Set this in addition to the others to disable scrolling + +If scrolling is disabled, the cursor returns to (0,0) \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a3ea524204d839377cf39842eec23e202}{mode()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_aca2855edd2d28f66be551a0f7ec23f07}\label{sms_8h_aca2855edd2d28f66be551a0f7ec23f07}} +\index{sms.h@{sms.h}!M\_NO\_INTERP@{M\_NO\_INTERP}} +\index{M\_NO\_INTERP@{M\_NO\_INTERP}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{M\_NO\_INTERP}{M\_NO\_INTERP}} +{\footnotesize\ttfamily \#define M\+\_\+\+N\+O\+\_\+\+I\+N\+T\+E\+RP~0x08U} + +Set this to disable interpretation \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a3ea524204d839377cf39842eec23e202}{mode()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_ae97793b4039609f93b0f7f8bddb18011}\label{sms_8h_ae97793b4039609f93b0f7f8bddb18011}} +\index{sms.h@{sms.h}!S\_FLIPX@{S\_FLIPX}} +\index{S\_FLIPX@{S\_FLIPX}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{S\_FLIPX}{S\_FLIPX}} +{\footnotesize\ttfamily \#define S\+\_\+\+F\+L\+I\+PX~0x02U} + +If set the background tile will be flipped horizontally. \mbox{\Hypertarget{sms_8h_a4bbb9cd6c38b2317de5256d1d889c63b}\label{sms_8h_a4bbb9cd6c38b2317de5256d1d889c63b}} +\index{sms.h@{sms.h}!S\_FLIPY@{S\_FLIPY}} +\index{S\_FLIPY@{S\_FLIPY}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{S\_FLIPY}{S\_FLIPY}} +{\footnotesize\ttfamily \#define S\+\_\+\+F\+L\+I\+PY~0x04U} + +If set the background tile will be flipped vertically. \mbox{\Hypertarget{sms_8h_a54572cf6791463b6d60623837e0bb5a6}\label{sms_8h_a54572cf6791463b6d60623837e0bb5a6}} +\index{sms.h@{sms.h}!S\_PALETTE@{S\_PALETTE}} +\index{S\_PALETTE@{S\_PALETTE}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{S\_PALETTE}{S\_PALETTE}} +{\footnotesize\ttfamily \#define S\+\_\+\+P\+A\+L\+E\+T\+TE~0x08U} + +If set the background tile palette. \mbox{\Hypertarget{sms_8h_a9506d04c2ec7d2442a52054f67d2b32f}\label{sms_8h_a9506d04c2ec7d2442a52054f67d2b32f}} +\index{sms.h@{sms.h}!S\_PRIORITY@{S\_PRIORITY}} +\index{S\_PRIORITY@{S\_PRIORITY}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{S\_PRIORITY}{S\_PRIORITY}} +{\footnotesize\ttfamily \#define S\+\_\+\+P\+R\+I\+O\+R\+I\+TY~0x10U} + +If set the background tile priority. \mbox{\Hypertarget{sms_8h_aa34282113397af810be737df1acec36c}\label{sms_8h_aa34282113397af810be737df1acec36c}} +\index{sms.h@{sms.h}!\_\_WRITE\_VDP\_REG@{\_\_WRITE\_VDP\_REG}} +\index{\_\_WRITE\_VDP\_REG@{\_\_WRITE\_VDP\_REG}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{\_\_WRITE\_VDP\_REG}{\_\_WRITE\_VDP\_REG}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+R\+EG(\begin{DoxyParamCaption}\item[{}]{R\+EG, }\item[{}]{v }\end{DoxyParamCaption})~shadow\+\_\+\#\#R\+EG=(v);\+\_\+\+\_\+critical\{V\+D\+P\+\_\+\+C\+MD=(shadow\+\_\+\#\#R\+EG),V\+D\+P\+\_\+\+C\+MD=R\+EG;\}} + +\mbox{\Hypertarget{sms_8h_a964e713cb2535d7464d0d6ca7677049a}\label{sms_8h_a964e713cb2535d7464d0d6ca7677049a}} +\index{sms.h@{sms.h}!\_\_READ\_VDP\_REG@{\_\_READ\_VDP\_REG}} +\index{\_\_READ\_VDP\_REG@{\_\_READ\_VDP\_REG}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{\_\_READ\_VDP\_REG}{\_\_READ\_VDP\_REG}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+R\+E\+A\+D\+\_\+\+V\+D\+P\+\_\+\+R\+EG(\begin{DoxyParamCaption}\item[{}]{R\+EG }\end{DoxyParamCaption})~shadow\+\_\+\#\#R\+EG} + +\mbox{\Hypertarget{sms_8h_aa027abe630d44039f238034bcb2d2f36}\label{sms_8h_aa027abe630d44039f238034bcb2d2f36}} +\index{sms.h@{sms.h}!EMPTY\_IFLAG@{EMPTY\_IFLAG}} +\index{EMPTY\_IFLAG@{EMPTY\_IFLAG}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{EMPTY\_IFLAG}{EMPTY\_IFLAG}} +{\footnotesize\ttfamily \#define E\+M\+P\+T\+Y\+\_\+\+I\+F\+L\+AG~0x00U} + +Disable calling of interrupt service routines \mbox{\Hypertarget{sms_8h_a2ca7720b9a5da9b2173e1f74dba85541}\label{sms_8h_a2ca7720b9a5da9b2173e1f74dba85541}} +\index{sms.h@{sms.h}!VBL\_IFLAG@{VBL\_IFLAG}} +\index{VBL\_IFLAG@{VBL\_IFLAG}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{VBL\_IFLAG}{VBL\_IFLAG}} +{\footnotesize\ttfamily \#define V\+B\+L\+\_\+\+I\+F\+L\+AG~0x01U} + +V\+Blank Interrupt occurs at the start of the vertical blank. + +During this period the video ram may be freely accessed. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_aefda0091b2934571a11e07b512735f50}{set\+\_\+interrupts()}}, + +\mbox{\hyperlink{sms_8h_ae59628e2237f301df1341e22bfc8296e}{add\+\_\+\+V\+BL}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a61a9e2910380de6abb34df14ef634eb4}\label{sms_8h_a61a9e2910380de6abb34df14ef634eb4}} +\index{sms.h@{sms.h}!LCD\_IFLAG@{LCD\_IFLAG}} +\index{LCD\_IFLAG@{LCD\_IFLAG}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{LCD\_IFLAG}{LCD\_IFLAG}} +{\footnotesize\ttfamily \#define L\+C\+D\+\_\+\+I\+F\+L\+AG~0x02U} + +L\+CD Interrupt when triggered by the S\+T\+AT register. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_aefda0091b2934571a11e07b512735f50}{set\+\_\+interrupts()}}, + +\mbox{\hyperlink{sms_8h_a51add93356a25c71e8c37a73c9065c9d}{add\+\_\+\+L\+CD}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a604256210ec5b90b68185e1a18efab49}\label{sms_8h_a604256210ec5b90b68185e1a18efab49}} +\index{sms.h@{sms.h}!TIM\_IFLAG@{TIM\_IFLAG}} +\index{TIM\_IFLAG@{TIM\_IFLAG}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{TIM\_IFLAG}{TIM\_IFLAG}} +{\footnotesize\ttfamily \#define T\+I\+M\+\_\+\+I\+F\+L\+AG~0x04U} + +Does nothing on S\+M\+S/\+GG \mbox{\Hypertarget{sms_8h_ad90564458646c5646b3880b93db3443e}\label{sms_8h_ad90564458646c5646b3880b93db3443e}} +\index{sms.h@{sms.h}!SIO\_IFLAG@{SIO\_IFLAG}} +\index{SIO\_IFLAG@{SIO\_IFLAG}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SIO\_IFLAG}{SIO\_IFLAG}} +{\footnotesize\ttfamily \#define S\+I\+O\+\_\+\+I\+F\+L\+AG~0x08U} + +Does nothing on S\+M\+S/\+GG \mbox{\Hypertarget{sms_8h_a2f829cf27d6e3e24c875e9b82dfcb280}\label{sms_8h_a2f829cf27d6e3e24c875e9b82dfcb280}} +\index{sms.h@{sms.h}!JOY\_IFLAG@{JOY\_IFLAG}} +\index{JOY\_IFLAG@{JOY\_IFLAG}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{JOY\_IFLAG}{JOY\_IFLAG}} +{\footnotesize\ttfamily \#define J\+O\+Y\+\_\+\+I\+F\+L\+AG~0x10U} + +Does nothing on S\+M\+S/\+GG \mbox{\Hypertarget{sms_8h_ada0cc738d27aad251151e69cb8d250e1}\label{sms_8h_ada0cc738d27aad251151e69cb8d250e1}} +\index{sms.h@{sms.h}!SCREENWIDTH@{SCREENWIDTH}} +\index{SCREENWIDTH@{SCREENWIDTH}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SCREENWIDTH}{SCREENWIDTH}} +{\footnotesize\ttfamily \#define S\+C\+R\+E\+E\+N\+W\+I\+D\+TH~\mbox{\hyperlink{sms_2hardware_8h_ad14c51cdfb347c34c364f54e67dc978d}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+W\+I\+D\+TH}}} + +Width of the visible screen in pixels. \mbox{\Hypertarget{sms_8h_ae189e98d0ef9263c37869ce1ff3710a5}\label{sms_8h_ae189e98d0ef9263c37869ce1ff3710a5}} +\index{sms.h@{sms.h}!SCREENHEIGHT@{SCREENHEIGHT}} +\index{SCREENHEIGHT@{SCREENHEIGHT}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SCREENHEIGHT}{SCREENHEIGHT}} +{\footnotesize\ttfamily \#define S\+C\+R\+E\+E\+N\+H\+E\+I\+G\+HT~\mbox{\hyperlink{sms_2hardware_8h_a7bd450aa268b881257089cf8cd6697ec}{D\+E\+V\+I\+C\+E\+\_\+\+S\+C\+R\+E\+E\+N\+\_\+\+P\+X\+\_\+\+H\+E\+I\+G\+HT}}} + +Height of the visible screen in pixels. \mbox{\Hypertarget{sms_8h_a5a796bbf3e4347d914b83568350143a9}\label{sms_8h_a5a796bbf3e4347d914b83568350143a9}} +\index{sms.h@{sms.h}!MINWNDPOSX@{MINWNDPOSX}} +\index{MINWNDPOSX@{MINWNDPOSX}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{MINWNDPOSX}{MINWNDPOSX}} +{\footnotesize\ttfamily \#define M\+I\+N\+W\+N\+D\+P\+O\+SX~0x00U} + +The Minimum X position of the Window Layer (Left edge of screen) \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aeef17768c494bcd6b67f7591329f7ff5}{move\+\_\+win()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_af3d632ba2d7cef6619df5dfea8730909}\label{sms_8h_af3d632ba2d7cef6619df5dfea8730909}} +\index{sms.h@{sms.h}!MINWNDPOSY@{MINWNDPOSY}} +\index{MINWNDPOSY@{MINWNDPOSY}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{MINWNDPOSY}{MINWNDPOSY}} +{\footnotesize\ttfamily \#define M\+I\+N\+W\+N\+D\+P\+O\+SY~0x00U} + +The Minimum Y position of the Window Layer (Top edge of screen) \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aeef17768c494bcd6b67f7591329f7ff5}{move\+\_\+win()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a6dffb66ec1b1d9bb380a1af52a601ec5}\label{sms_8h_a6dffb66ec1b1d9bb380a1af52a601ec5}} +\index{sms.h@{sms.h}!MAXWNDPOSX@{MAXWNDPOSX}} +\index{MAXWNDPOSX@{MAXWNDPOSX}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{MAXWNDPOSX}{MAXWNDPOSX}} +{\footnotesize\ttfamily \#define M\+A\+X\+W\+N\+D\+P\+O\+SX~0x00U} + +The Maximum X position of the Window Layer (Right edge of screen) \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aeef17768c494bcd6b67f7591329f7ff5}{move\+\_\+win()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_ad57f2f8c54204687f02801d8ab1bd150}\label{sms_8h_ad57f2f8c54204687f02801d8ab1bd150}} +\index{sms.h@{sms.h}!MAXWNDPOSY@{MAXWNDPOSY}} +\index{MAXWNDPOSY@{MAXWNDPOSY}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{MAXWNDPOSY}{MAXWNDPOSY}} +{\footnotesize\ttfamily \#define M\+A\+X\+W\+N\+D\+P\+O\+SY~0x00U} + +The Maximum Y position of the Window Layer (Bottom edge of screen) \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_aeef17768c494bcd6b67f7591329f7ff5}{move\+\_\+win()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a5ae6b05b3e1559c97f0d1b2daaaa0ee4}\label{sms_8h_a5ae6b05b3e1559c97f0d1b2daaaa0ee4}} +\index{sms.h@{sms.h}!DISPLAY\_ON@{DISPLAY\_ON}} +\index{DISPLAY\_ON@{DISPLAY\_ON}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{DISPLAY\_ON}{DISPLAY\_ON}} +{\footnotesize\ttfamily \#define D\+I\+S\+P\+L\+A\+Y\+\_\+\+ON~ \mbox{\hyperlink{sms_8h_aa34282113397af810be737df1acec36c}{\+\_\+\+\_\+\+W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}{V\+D\+P\+\_\+\+R1}}, \mbox{\hyperlink{sms_8h_a964e713cb2535d7464d0d6ca7677049a}{\+\_\+\+\_\+\+R\+E\+A\+D\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}{V\+D\+P\+\_\+\+R1}}) $\vert$= \mbox{\hyperlink{sms_2hardware_8h_adbfdd7c42539613c371820dffd14906f}{R1\+\_\+\+D\+I\+S\+P\+\_\+\+ON}})} + +Turns the display back on. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a7b09691f25fddd65f12ed199b3f88ef0}{display\+\_\+off}}, \mbox{\hyperlink{sms_8h_ad2ec9831813c5e7069917aa4455af682}{D\+I\+S\+P\+L\+A\+Y\+\_\+\+O\+FF}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_ad2ec9831813c5e7069917aa4455af682}\label{sms_8h_ad2ec9831813c5e7069917aa4455af682}} +\index{sms.h@{sms.h}!DISPLAY\_OFF@{DISPLAY\_OFF}} +\index{DISPLAY\_OFF@{DISPLAY\_OFF}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{DISPLAY\_OFF}{DISPLAY\_OFF}} +{\footnotesize\ttfamily \#define D\+I\+S\+P\+L\+A\+Y\+\_\+\+O\+FF~ \mbox{\hyperlink{sms_8h_a7b09691f25fddd65f12ed199b3f88ef0}{display\+\_\+off}}();} + +Turns the display off immediately. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a7b09691f25fddd65f12ed199b3f88ef0}{display\+\_\+off}}, \mbox{\hyperlink{sms_8h_a5ae6b05b3e1559c97f0d1b2daaaa0ee4}{D\+I\+S\+P\+L\+A\+Y\+\_\+\+ON}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a0659212acd317ccdebc0ecf435df330f}\label{sms_8h_a0659212acd317ccdebc0ecf435df330f}} +\index{sms.h@{sms.h}!HIDE\_LEFT\_COLUMN@{HIDE\_LEFT\_COLUMN}} +\index{HIDE\_LEFT\_COLUMN@{HIDE\_LEFT\_COLUMN}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{HIDE\_LEFT\_COLUMN}{HIDE\_LEFT\_COLUMN}} +{\footnotesize\ttfamily \#define H\+I\+D\+E\+\_\+\+L\+E\+F\+T\+\_\+\+C\+O\+L\+U\+MN~ \mbox{\hyperlink{sms_8h_aa34282113397af810be737df1acec36c}{\+\_\+\+\_\+\+W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a673a19a1e353c852003c54d1d110b5e6}{V\+D\+P\+\_\+\+R0}}, \mbox{\hyperlink{sms_8h_a964e713cb2535d7464d0d6ca7677049a}{\+\_\+\+\_\+\+R\+E\+A\+D\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a673a19a1e353c852003c54d1d110b5e6}{V\+D\+P\+\_\+\+R0}}) $\vert$= \mbox{\hyperlink{sms_2hardware_8h_a83088549f6d87bf5ccb8bf51dfe7ea7b}{R0\+\_\+\+L\+CB}})} + +Blanks leftmost column, so it is not garbaged when you use horizontal scroll \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a5497c2255a9474d397446710189eacbe}{S\+H\+O\+W\+\_\+\+L\+E\+F\+T\+\_\+\+C\+O\+L\+U\+MN}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a5497c2255a9474d397446710189eacbe}\label{sms_8h_a5497c2255a9474d397446710189eacbe}} +\index{sms.h@{sms.h}!SHOW\_LEFT\_COLUMN@{SHOW\_LEFT\_COLUMN}} +\index{SHOW\_LEFT\_COLUMN@{SHOW\_LEFT\_COLUMN}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SHOW\_LEFT\_COLUMN}{SHOW\_LEFT\_COLUMN}} +{\footnotesize\ttfamily \#define S\+H\+O\+W\+\_\+\+L\+E\+F\+T\+\_\+\+C\+O\+L\+U\+MN~ \mbox{\hyperlink{sms_8h_aa34282113397af810be737df1acec36c}{\+\_\+\+\_\+\+W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a673a19a1e353c852003c54d1d110b5e6}{V\+D\+P\+\_\+\+R0}}, \mbox{\hyperlink{sms_8h_a964e713cb2535d7464d0d6ca7677049a}{\+\_\+\+\_\+\+R\+E\+A\+D\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a673a19a1e353c852003c54d1d110b5e6}{V\+D\+P\+\_\+\+R0}}) \&= ($\sim$\mbox{\hyperlink{sms_2hardware_8h_a83088549f6d87bf5ccb8bf51dfe7ea7b}{R0\+\_\+\+L\+CB}}))} + +Shows leftmost column \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a0659212acd317ccdebc0ecf435df330f}{H\+I\+D\+E\+\_\+\+L\+E\+F\+T\+\_\+\+C\+O\+L\+U\+MN}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a8e3f36aa68ac036695816757f2a1322c}\label{sms_8h_a8e3f36aa68ac036695816757f2a1322c}} +\index{sms.h@{sms.h}!SHOW\_BKG@{SHOW\_BKG}} +\index{SHOW\_BKG@{SHOW\_BKG}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SHOW\_BKG}{SHOW\_BKG}} +{\footnotesize\ttfamily \#define S\+H\+O\+W\+\_\+\+B\+KG} + +Turns on the background layer. Not yet implemented \mbox{\Hypertarget{sms_8h_a6d25f7c43b1cbbb48b95cda7ab2c3141}\label{sms_8h_a6d25f7c43b1cbbb48b95cda7ab2c3141}} +\index{sms.h@{sms.h}!HIDE\_BKG@{HIDE\_BKG}} +\index{HIDE\_BKG@{HIDE\_BKG}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{HIDE\_BKG}{HIDE\_BKG}} +{\footnotesize\ttfamily \#define H\+I\+D\+E\+\_\+\+B\+KG} + +Turns off the background layer. Not yet implemented \mbox{\Hypertarget{sms_8h_ab19da2ab719bb8897bc0843a84af28f8}\label{sms_8h_ab19da2ab719bb8897bc0843a84af28f8}} +\index{sms.h@{sms.h}!SHOW\_WIN@{SHOW\_WIN}} +\index{SHOW\_WIN@{SHOW\_WIN}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SHOW\_WIN}{SHOW\_WIN}} +{\footnotesize\ttfamily \#define S\+H\+O\+W\+\_\+\+W\+IN} + +Turns on the window layer Not yet implemented \mbox{\Hypertarget{sms_8h_aedb6e32c42d4b1d25ad11adccd7100c3}\label{sms_8h_aedb6e32c42d4b1d25ad11adccd7100c3}} +\index{sms.h@{sms.h}!HIDE\_WIN@{HIDE\_WIN}} +\index{HIDE\_WIN@{HIDE\_WIN}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{HIDE\_WIN}{HIDE\_WIN}} +{\footnotesize\ttfamily \#define H\+I\+D\+E\+\_\+\+W\+IN} + +Turns off the window layer. Not yet implemented \mbox{\Hypertarget{sms_8h_a495bc9f405f916f02ad5d97e6e730134}\label{sms_8h_a495bc9f405f916f02ad5d97e6e730134}} +\index{sms.h@{sms.h}!SHOW\_SPRITES@{SHOW\_SPRITES}} +\index{SHOW\_SPRITES@{SHOW\_SPRITES}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SHOW\_SPRITES}{SHOW\_SPRITES}} +{\footnotesize\ttfamily \#define S\+H\+O\+W\+\_\+\+S\+P\+R\+I\+T\+ES} + +Turns on the sprites layer. Not yet implemented \mbox{\Hypertarget{sms_8h_a69ef98aee664b8abd8d1a3d45f016dda}\label{sms_8h_a69ef98aee664b8abd8d1a3d45f016dda}} +\index{sms.h@{sms.h}!HIDE\_SPRITES@{HIDE\_SPRITES}} +\index{HIDE\_SPRITES@{HIDE\_SPRITES}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{HIDE\_SPRITES}{HIDE\_SPRITES}} +{\footnotesize\ttfamily \#define H\+I\+D\+E\+\_\+\+S\+P\+R\+I\+T\+ES} + +Turns off the sprites layer. Not yet implemented \mbox{\Hypertarget{sms_8h_af91d252f07f4764996154820f970c101}\label{sms_8h_af91d252f07f4764996154820f970c101}} +\index{sms.h@{sms.h}!SPRITES\_8x16@{SPRITES\_8x16}} +\index{SPRITES\_8x16@{SPRITES\_8x16}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SPRITES\_8x16}{SPRITES\_8x16}} +{\footnotesize\ttfamily \#define S\+P\+R\+I\+T\+E\+S\+\_\+8x16~ \mbox{\hyperlink{sms_8h_aa34282113397af810be737df1acec36c}{\+\_\+\+\_\+\+W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}{V\+D\+P\+\_\+\+R1}}, \mbox{\hyperlink{sms_8h_a964e713cb2535d7464d0d6ca7677049a}{\+\_\+\+\_\+\+R\+E\+A\+D\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}{V\+D\+P\+\_\+\+R1}}) $\vert$= \mbox{\hyperlink{sms_2hardware_8h_a4985d6df1031afe8efb993f9c480ca12}{R1\+\_\+\+S\+P\+R\+\_\+8\+X16}})} + +Sets sprite size to 8x16 pixels, two tiles one above the other. \mbox{\Hypertarget{sms_8h_aa87bec0d134136fdb727f52cb773b792}\label{sms_8h_aa87bec0d134136fdb727f52cb773b792}} +\index{sms.h@{sms.h}!SPRITES\_8x8@{SPRITES\_8x8}} +\index{SPRITES\_8x8@{SPRITES\_8x8}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SPRITES\_8x8}{SPRITES\_8x8}} +{\footnotesize\ttfamily \#define S\+P\+R\+I\+T\+E\+S\+\_\+8x8~ \mbox{\hyperlink{sms_8h_aa34282113397af810be737df1acec36c}{\+\_\+\+\_\+\+W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}{V\+D\+P\+\_\+\+R1}}, \mbox{\hyperlink{sms_8h_a964e713cb2535d7464d0d6ca7677049a}{\+\_\+\+\_\+\+R\+E\+A\+D\+\_\+\+V\+D\+P\+\_\+\+R\+EG}}(\mbox{\hyperlink{sms_2hardware_8h_a413fdabdacfcda90cc73a04311a2ec6d}{V\+D\+P\+\_\+\+R1}}) \&= ($\sim$\mbox{\hyperlink{sms_2hardware_8h_a4985d6df1031afe8efb993f9c480ca12}{R1\+\_\+\+S\+P\+R\+\_\+8\+X16}}))} + +Sets sprite size to 8x8 pixels, one tile. \mbox{\Hypertarget{sms_8h_a231ec05679809190782e61c6e8aaaba4}\label{sms_8h_a231ec05679809190782e61c6e8aaaba4}} +\index{sms.h@{sms.h}!DEVICE\_SUPPORTS\_COLOR@{DEVICE\_SUPPORTS\_COLOR}} +\index{DEVICE\_SUPPORTS\_COLOR@{DEVICE\_SUPPORTS\_COLOR}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{DEVICE\_SUPPORTS\_COLOR}{DEVICE\_SUPPORTS\_COLOR}} +{\footnotesize\ttfamily \#define D\+E\+V\+I\+C\+E\+\_\+\+S\+U\+P\+P\+O\+R\+T\+S\+\_\+\+C\+O\+L\+OR~(\mbox{\hyperlink{types_8h_aa8cecfc5c5c054d2875c03e77b7be15d}{T\+R\+UE}})} + +Macro returns T\+R\+UE if device supports color (it always does on S\+M\+S/\+GG) \mbox{\Hypertarget{sms_8h_af0d15cf2a26924d2ef00ac4017e6b1d8}\label{sms_8h_af0d15cf2a26924d2ef00ac4017e6b1d8}} +\index{sms.h@{sms.h}!\_current\_bank@{\_current\_bank}} +\index{\_current\_bank@{\_current\_bank}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{\_current\_bank}{\_current\_bank}} +{\footnotesize\ttfamily \#define \+\_\+current\+\_\+bank~M\+A\+P\+\_\+\+F\+R\+A\+M\+E1} + +Tracks current active R\+OM bank in frame 1 \mbox{\Hypertarget{sms_8h_ae042588f20bf5a2349c8ad8716245233}\label{sms_8h_ae042588f20bf5a2349c8ad8716245233}} +\index{sms.h@{sms.h}!CURRENT\_BANK@{CURRENT\_BANK}} +\index{CURRENT\_BANK@{CURRENT\_BANK}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{CURRENT\_BANK}{CURRENT\_BANK}} +{\footnotesize\ttfamily \#define C\+U\+R\+R\+E\+N\+T\+\_\+\+B\+A\+NK~M\+A\+P\+\_\+\+F\+R\+A\+M\+E1} + +\mbox{\Hypertarget{sms_8h_a42705001e2b9897f5167b67fb36c69dd}\label{sms_8h_a42705001e2b9897f5167b67fb36c69dd}} +\index{sms.h@{sms.h}!BANK@{BANK}} +\index{BANK@{BANK}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{BANK}{BANK}} +{\footnotesize\ttfamily \#define B\+A\+NK(\begin{DoxyParamCaption}\item[{}]{V\+A\+R\+N\+A\+ME }\end{DoxyParamCaption})~( (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}) \& \+\_\+\+\_\+bank\+\_\+ \#\# V\+A\+R\+N\+A\+ME )} + +Obtains the {\bfseries{bank number}} of V\+A\+R\+N\+A\+ME + + +\begin{DoxyParams}{Parameters} +{\em V\+A\+R\+N\+A\+ME} & Name of the variable which has a \+\_\+\+\_\+bank\+\_\+\+V\+A\+R\+N\+A\+ME companion symbol which is adjusted by bankpack\\ +\hline +\end{DoxyParams} +Use this to obtain the bank number from a bank reference created with \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}}. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a261bba55a07b802baf99346feadd9852}{B\+A\+N\+K\+R\+E\+F\+\_\+\+E\+X\+T\+E\+R\+N()}}, \mbox{\hyperlink{sms_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a086293f2afb4c7945460a4496b20aea3}\label{sms_8h_a086293f2afb4c7945460a4496b20aea3}} +\index{sms.h@{sms.h}!BANKREF@{BANKREF}} +\index{BANKREF@{BANKREF}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{BANKREF}{BANKREF}} +{\footnotesize\ttfamily \#define B\+A\+N\+K\+R\+EF(\begin{DoxyParamCaption}\item[{}]{V\+A\+R\+N\+A\+ME }\end{DoxyParamCaption})} + +{\bfseries Value\+:} +\begin{DoxyCode}{0} +\DoxyCodeLine{\textcolor{keywordtype}{void} \_\_func\_ \#\# VARNAME() \_\_banked \_\_naked \{ \(\backslash\)} +\DoxyCodeLine{\_\_asm \(\backslash\)} +\DoxyCodeLine{ .local b\_\_\_func\_ \#\# VARNAME \(\backslash\)} +\DoxyCodeLine{ \_\_\_bank\_ \#\# VARNAME = b\_\_\_func\_ \#\# VARNAME \(\backslash\)} +\DoxyCodeLine{ .globl \_\_\_bank\_ \#\# VARNAME \(\backslash\)} +\DoxyCodeLine{\_\_endasm; \(\backslash\)} +\DoxyCodeLine{\}} + +\end{DoxyCode} +Creates a reference for retrieving the bank number of a variable or function + + +\begin{DoxyParams}{Parameters} +{\em V\+A\+R\+N\+A\+ME} & Variable name to use, which may be an existing identifier\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+N\+K()}} for obtaining the bank number of the included data. +\end{DoxySeeAlso} +More than one {\ttfamily \mbox{\hyperlink{sms_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}}} may be created per file, but each call should always use a unique V\+A\+R\+N\+A\+ME. + +Use \mbox{\hyperlink{gb_8h_a261bba55a07b802baf99346feadd9852}{B\+A\+N\+K\+R\+E\+F\+\_\+\+E\+X\+T\+E\+R\+N()}} within another source file to make the variable and it\textquotesingle{}s data accesible there. \mbox{\Hypertarget{sms_8h_a261bba55a07b802baf99346feadd9852}\label{sms_8h_a261bba55a07b802baf99346feadd9852}} +\index{sms.h@{sms.h}!BANKREF\_EXTERN@{BANKREF\_EXTERN}} +\index{BANKREF\_EXTERN@{BANKREF\_EXTERN}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{BANKREF\_EXTERN}{BANKREF\_EXTERN}} +{\footnotesize\ttfamily \#define B\+A\+N\+K\+R\+E\+F\+\_\+\+E\+X\+T\+E\+RN(\begin{DoxyParamCaption}\item[{}]{V\+A\+R\+N\+A\+ME }\end{DoxyParamCaption})~extern const void \+\_\+\+\_\+bank\+\_\+ \#\# V\+A\+R\+N\+A\+ME;} + +Creates extern references for accessing a \mbox{\hyperlink{sms_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}} generated variable. + + +\begin{DoxyParams}{Parameters} +{\em V\+A\+R\+N\+A\+ME} & Name of the variable used with \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}}\\ +\hline +\end{DoxyParams} +This makes a \mbox{\hyperlink{gb_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}} reference in another source file accessible in the current file for use with \mbox{\hyperlink{gb_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+N\+K()}}. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a086293f2afb4c7945460a4496b20aea3}{B\+A\+N\+K\+R\+E\+F()}}, \mbox{\hyperlink{sms_8h_a42705001e2b9897f5167b67fb36c69dd}{B\+A\+N\+K()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_af61262bbc05629f31020afce67e1b9ea}\label{sms_8h_af61262bbc05629f31020afce67e1b9ea}} +\index{sms.h@{sms.h}!SWITCH\_ROM@{SWITCH\_ROM}} +\index{SWITCH\_ROM@{SWITCH\_ROM}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_ROM}{SWITCH\_ROM}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+\+R\+OM(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} }\end{DoxyParamCaption})~M\+A\+P\+\_\+\+F\+R\+A\+M\+E1=(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})} + +Makes switch the active R\+OM bank in frame 1 +\begin{DoxyParams}{Parameters} +{\em b} & R\+OM bank to switch to \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{sms_8h_a86d47feb2b999aaabbba9f63f4bb3567}\label{sms_8h_a86d47feb2b999aaabbba9f63f4bb3567}} +\index{sms.h@{sms.h}!SWITCH\_ROM1@{SWITCH\_ROM1}} +\index{SWITCH\_ROM1@{SWITCH\_ROM1}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_ROM1}{SWITCH\_ROM1}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M1~\mbox{\hyperlink{sms_8h_af61262bbc05629f31020afce67e1b9ea}{S\+W\+I\+T\+C\+H\+\_\+\+R\+OM}}} + +\mbox{\Hypertarget{sms_8h_a6d40a15ff27c2a1c8269d3dbe67eae65}\label{sms_8h_a6d40a15ff27c2a1c8269d3dbe67eae65}} +\index{sms.h@{sms.h}!SWITCH\_ROM2@{SWITCH\_ROM2}} +\index{SWITCH\_ROM2@{SWITCH\_ROM2}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_ROM2}{SWITCH\_ROM2}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+\+R\+O\+M2(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} }\end{DoxyParamCaption})~M\+A\+P\+\_\+\+F\+R\+A\+M\+E2=(\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})} + +Makes switch the active R\+OM bank in frame 2 +\begin{DoxyParams}{Parameters} +{\em b} & R\+OM bank to switch to \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{sms_8h_a121feb0c32d124562f52398aa9656e7b}\label{sms_8h_a121feb0c32d124562f52398aa9656e7b}} +\index{sms.h@{sms.h}!SWITCH\_RAM@{SWITCH\_RAM}} +\index{SWITCH\_RAM@{SWITCH\_RAM}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SWITCH\_RAM}{SWITCH\_RAM}} +{\footnotesize\ttfamily \#define S\+W\+I\+T\+C\+H\+\_\+\+R\+AM(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}} }\end{DoxyParamCaption})~R\+A\+M\+\_\+\+C\+O\+N\+T\+R\+OL=((\mbox{\hyperlink{gb_8h_a4c2e4adef74067fdbb49005bc73de937}{b}})\&1)?R\+A\+M\+\_\+\+C\+O\+N\+T\+R\+OL$\vert$R\+A\+M\+C\+T\+L\+\_\+\+B\+A\+N\+K\+:\+R\+A\+M\+\_\+\+C\+O\+N\+T\+R\+OL\&($\sim$\mbox{\hyperlink{sms_2hardware_8h_a8f4dbe8a2e6389c78b9f6fb9a3ff1dca}{R\+A\+M\+C\+T\+L\+\_\+\+B\+A\+NK}})} + +Switches R\+AM bank +\begin{DoxyParams}{Parameters} +{\em b} & S\+R\+AM bank to switch to \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{sms_8h_a0e9c88657beaac946231a4801481b97f}\label{sms_8h_a0e9c88657beaac946231a4801481b97f}} +\index{sms.h@{sms.h}!ENABLE\_RAM@{ENABLE\_RAM}} +\index{ENABLE\_RAM@{ENABLE\_RAM}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{ENABLE\_RAM}{ENABLE\_RAM}} +{\footnotesize\ttfamily \#define E\+N\+A\+B\+L\+E\+\_\+\+R\+AM~R\+A\+M\+\_\+\+C\+O\+N\+T\+R\+OL$\vert$=\mbox{\hyperlink{sms_2hardware_8h_a8728acabf97eae3322439bc3cb41b02d}{R\+A\+M\+C\+T\+L\+\_\+\+R\+AM}}} + +Enables R\+AM \mbox{\Hypertarget{sms_8h_a649d27b5587de16a66176e03a1b8ebd5}\label{sms_8h_a649d27b5587de16a66176e03a1b8ebd5}} +\index{sms.h@{sms.h}!DISABLE\_RAM@{DISABLE\_RAM}} +\index{DISABLE\_RAM@{DISABLE\_RAM}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{DISABLE\_RAM}{DISABLE\_RAM}} +{\footnotesize\ttfamily \#define D\+I\+S\+A\+B\+L\+E\+\_\+\+R\+AM~R\+A\+M\+\_\+\+C\+O\+N\+T\+R\+OL\&=($\sim$\mbox{\hyperlink{sms_2hardware_8h_a8728acabf97eae3322439bc3cb41b02d}{R\+A\+M\+C\+T\+L\+\_\+\+R\+AM}})} + +Disables R\+AM \mbox{\Hypertarget{sms_8h_a2215732f2ba2ec6406b65d3cca56a200}\label{sms_8h_a2215732f2ba2ec6406b65d3cca56a200}} +\index{sms.h@{sms.h}!set\_bkg\_palette\_entry@{set\_bkg\_palette\_entry}} +\index{set\_bkg\_palette\_entry@{set\_bkg\_palette\_entry}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_palette\_entry}{set\_bkg\_palette\_entry}} +{\footnotesize\ttfamily \#define set\+\_\+bkg\+\_\+palette\+\_\+entry~\mbox{\hyperlink{sms_8h_a2c9aabf4519e01257b0d0e04e8108164}{set\+\_\+palette\+\_\+entry}}} + +\mbox{\Hypertarget{sms_8h_a8b5c17235a3f65af70492e109a25f237}\label{sms_8h_a8b5c17235a3f65af70492e109a25f237}} +\index{sms.h@{sms.h}!set\_sprite\_palette\_entry@{set\_sprite\_palette\_entry}} +\index{set\_sprite\_palette\_entry@{set\_sprite\_palette\_entry}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_palette\_entry}{set\_sprite\_palette\_entry}} +{\footnotesize\ttfamily \#define set\+\_\+sprite\+\_\+palette\+\_\+entry(\begin{DoxyParamCaption}\item[{}]{palette, }\item[{}]{entry, }\item[{}]{rgb\+\_\+data }\end{DoxyParamCaption})~\mbox{\hyperlink{sms_8h_a2c9aabf4519e01257b0d0e04e8108164}{set\+\_\+palette\+\_\+entry}}(1,entry,rgb\+\_\+data)} + +\mbox{\Hypertarget{sms_8h_a9f879bd31899f7989f887b6238de24e3}\label{sms_8h_a9f879bd31899f7989f887b6238de24e3}} +\index{sms.h@{sms.h}!set\_bkg\_palette@{set\_bkg\_palette}} +\index{set\_bkg\_palette@{set\_bkg\_palette}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_palette}{set\_bkg\_palette}} +{\footnotesize\ttfamily \#define set\+\_\+bkg\+\_\+palette~\mbox{\hyperlink{sms_8h_a92109adcc20960f26e8bc5fbb141d27e}{set\+\_\+palette}}} + +\mbox{\Hypertarget{sms_8h_a7d5ed1aed79d8fd2894893d7f6f9b835}\label{sms_8h_a7d5ed1aed79d8fd2894893d7f6f9b835}} +\index{sms.h@{sms.h}!set\_sprite\_palette@{set\_sprite\_palette}} +\index{set\_sprite\_palette@{set\_sprite\_palette}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_palette}{set\_sprite\_palette}} +{\footnotesize\ttfamily \#define set\+\_\+sprite\+\_\+palette(\begin{DoxyParamCaption}\item[{}]{first\+\_\+palette, }\item[{}]{nb\+\_\+palettes, }\item[{}]{rgb\+\_\+data }\end{DoxyParamCaption})~\mbox{\hyperlink{sms_8h_a92109adcc20960f26e8bc5fbb141d27e}{set\+\_\+palette}}(1,1,rgb\+\_\+data)} + +\mbox{\Hypertarget{sms_8h_a67f80e65620470b55a4950e2966eb868}\label{sms_8h_a67f80e65620470b55a4950e2966eb868}} +\index{sms.h@{sms.h}!COMPAT\_PALETTE@{COMPAT\_PALETTE}} +\index{COMPAT\_PALETTE@{COMPAT\_PALETTE}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{COMPAT\_PALETTE}{COMPAT\_PALETTE}} +{\footnotesize\ttfamily \#define C\+O\+M\+P\+A\+T\+\_\+\+P\+A\+L\+E\+T\+TE(\begin{DoxyParamCaption}\item[{}]{C0, }\item[{}]{C1, }\item[{}]{C2, }\item[{}]{C3 }\end{DoxyParamCaption})~(((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(C3) $<$$<$ 12) $\vert$ ((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(C2) $<$$<$ 8) $\vert$ ((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(C1) $<$$<$ 4) $\vert$ (\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})(C0))} + +\mbox{\Hypertarget{sms_8h_a9a732aec1b7aec7d10a9d76ca4da2064}\label{sms_8h_a9a732aec1b7aec7d10a9d76ca4da2064}} +\index{sms.h@{sms.h}!set\_bkg\_tiles@{set\_bkg\_tiles}} +\index{set\_bkg\_tiles@{set\_bkg\_tiles}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_tiles}{set\_bkg\_tiles}} +{\footnotesize\ttfamily \#define set\+\_\+bkg\+\_\+tiles~\mbox{\hyperlink{sms_8h_a7c38b146f77eda84981c06c2271fe116}{set\+\_\+tile\+\_\+map\+\_\+compat}}} + +\mbox{\Hypertarget{sms_8h_a429db030287423012f40a6dca81ae7e3}\label{sms_8h_a429db030287423012f40a6dca81ae7e3}} +\index{sms.h@{sms.h}!set\_win\_tiles@{set\_win\_tiles}} +\index{set\_win\_tiles@{set\_win\_tiles}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_win\_tiles}{set\_win\_tiles}} +{\footnotesize\ttfamily \#define set\+\_\+win\+\_\+tiles~\mbox{\hyperlink{sms_8h_a7c38b146f77eda84981c06c2271fe116}{set\+\_\+tile\+\_\+map\+\_\+compat}}} + +\mbox{\Hypertarget{sms_8h_a3b7ffab8d64e2c345f03221145a935c0}\label{sms_8h_a3b7ffab8d64e2c345f03221145a935c0}} +\index{sms.h@{sms.h}!fill\_bkg\_rect@{fill\_bkg\_rect}} +\index{fill\_bkg\_rect@{fill\_bkg\_rect}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{fill\_bkg\_rect}{fill\_bkg\_rect}} +{\footnotesize\ttfamily \#define fill\+\_\+bkg\+\_\+rect~\mbox{\hyperlink{sms_8h_af2fc27409f907cfae9583b5ebf0c5ea8}{fill\+\_\+rect\+\_\+compat}}} + +\mbox{\Hypertarget{sms_8h_a5a69a3129f4faa99857a8b3d80db1d4a}\label{sms_8h_a5a69a3129f4faa99857a8b3d80db1d4a}} +\index{sms.h@{sms.h}!fill\_win\_rect@{fill\_win\_rect}} +\index{fill\_win\_rect@{fill\_win\_rect}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{fill\_win\_rect}{fill\_win\_rect}} +{\footnotesize\ttfamily \#define fill\+\_\+win\+\_\+rect~\mbox{\hyperlink{sms_8h_af2fc27409f907cfae9583b5ebf0c5ea8}{fill\+\_\+rect\+\_\+compat}}} + +\mbox{\Hypertarget{sms_8h_abfd70bf31185a4900680977c9fb5a5ec}\label{sms_8h_abfd70bf31185a4900680977c9fb5a5ec}} +\index{sms.h@{sms.h}!DISABLE\_VBL\_TRANSFER@{DISABLE\_VBL\_TRANSFER}} +\index{DISABLE\_VBL\_TRANSFER@{DISABLE\_VBL\_TRANSFER}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{DISABLE\_VBL\_TRANSFER}{DISABLE\_VBL\_TRANSFER}} +{\footnotesize\ttfamily \#define D\+I\+S\+A\+B\+L\+E\+\_\+\+V\+B\+L\+\_\+\+T\+R\+A\+N\+S\+F\+ER~ \mbox{\hyperlink{sms_8h_a5435fd985412934e96a490e103c6bc49}{\+\_\+shadow\+\_\+\+O\+A\+M\+\_\+base}} = 0} + +Disable shadow O\+AM to V\+R\+AM copy on each V\+Blank \mbox{\Hypertarget{sms_8h_a77d516c9d3f86f100eddea5e0d133a76}\label{sms_8h_a77d516c9d3f86f100eddea5e0d133a76}} +\index{sms.h@{sms.h}!ENABLE\_VBL\_TRANSFER@{ENABLE\_VBL\_TRANSFER}} +\index{ENABLE\_VBL\_TRANSFER@{ENABLE\_VBL\_TRANSFER}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{ENABLE\_VBL\_TRANSFER}{ENABLE\_VBL\_TRANSFER}} +{\footnotesize\ttfamily \#define E\+N\+A\+B\+L\+E\+\_\+\+V\+B\+L\+\_\+\+T\+R\+A\+N\+S\+F\+ER~ \mbox{\hyperlink{sms_8h_a5435fd985412934e96a490e103c6bc49}{\+\_\+shadow\+\_\+\+O\+A\+M\+\_\+base}} = (\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}})((\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}})\&\mbox{\hyperlink{sms_8h_af02f9e73bd894cc25e03aedb0a10a91d}{shadow\+\_\+\+O\+AM}} $>$$>$ 8)} + +Enable shadow O\+AM to V\+R\+AM copy on each V\+Blank \mbox{\Hypertarget{sms_8h_a8b77608c87a9aef65a03531482b2163b}\label{sms_8h_a8b77608c87a9aef65a03531482b2163b}} +\index{sms.h@{sms.h}!MAX\_HARDWARE\_SPRITES@{MAX\_HARDWARE\_SPRITES}} +\index{MAX\_HARDWARE\_SPRITES@{MAX\_HARDWARE\_SPRITES}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{MAX\_HARDWARE\_SPRITES}{MAX\_HARDWARE\_SPRITES}} +{\footnotesize\ttfamily \#define M\+A\+X\+\_\+\+H\+A\+R\+D\+W\+A\+R\+E\+\_\+\+S\+P\+R\+I\+T\+ES~64} + +Amount of hardware sprites in O\+AM \mbox{\Hypertarget{sms_8h_adcd40a58f7c7d348d506cc400cd94739}\label{sms_8h_adcd40a58f7c7d348d506cc400cd94739}} +\index{sms.h@{sms.h}!set\_bkg\_tile\_xy@{set\_bkg\_tile\_xy}} +\index{set\_bkg\_tile\_xy@{set\_bkg\_tile\_xy}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_tile\_xy}{set\_bkg\_tile\_xy}} +{\footnotesize\ttfamily \#define set\+\_\+bkg\+\_\+tile\+\_\+xy~\mbox{\hyperlink{sms_8h_a5834057f6297c0fa8f8e9a6b714f1ff7}{set\+\_\+tile\+\_\+xy}}} + +\mbox{\Hypertarget{sms_8h_a95d929d964d9988f4dc5a25ed399ae08}\label{sms_8h_a95d929d964d9988f4dc5a25ed399ae08}} +\index{sms.h@{sms.h}!set\_win\_tile\_xy@{set\_win\_tile\_xy}} +\index{set\_win\_tile\_xy@{set\_win\_tile\_xy}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_win\_tile\_xy}{set\_win\_tile\_xy}} +{\footnotesize\ttfamily \#define set\+\_\+win\+\_\+tile\+\_\+xy~\mbox{\hyperlink{sms_8h_a5834057f6297c0fa8f8e9a6b714f1ff7}{set\+\_\+tile\+\_\+xy}}} + +\mbox{\Hypertarget{sms_8h_a6eaafdbe6cf1695d30724ce75acb9412}\label{sms_8h_a6eaafdbe6cf1695d30724ce75acb9412}} +\index{sms.h@{sms.h}!get\_win\_xy\_addr@{get\_win\_xy\_addr}} +\index{get\_win\_xy\_addr@{get\_win\_xy\_addr}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{get\_win\_xy\_addr}{get\_win\_xy\_addr}} +{\footnotesize\ttfamily \#define get\+\_\+win\+\_\+xy\+\_\+addr~\mbox{\hyperlink{sms_8h_a66b4bfb8c1ea3005ff01ce040a778e63}{get\+\_\+bkg\+\_\+xy\+\_\+addr}}} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{sms_8h_a9508f919d9482d1d51534ccac212454d}\label{sms_8h_a9508f919d9482d1d51534ccac212454d}} +\index{sms.h@{sms.h}!int\_handler@{int\_handler}} +\index{int\_handler@{int\_handler}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{int\_handler}{int\_handler}} +{\footnotesize\ttfamily typedef void($\ast$ int\+\_\+handler) (void) \mbox{\hyperlink{asm_2types_8h_a7ed081d8dfb6902784b2fc730bbb7f96}{N\+O\+N\+B\+A\+N\+K\+ED}}} + +Interrupt handlers + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{sms_8h_a498b148efd22ab8ad9b844b2dc5e5bb8}\label{sms_8h_a498b148efd22ab8ad9b844b2dc5e5bb8}} +\index{sms.h@{sms.h}!WRITE\_VDP\_CMD@{WRITE\_VDP\_CMD}} +\index{WRITE\_VDP\_CMD@{WRITE\_VDP\_CMD}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{WRITE\_VDP\_CMD()}{WRITE\_VDP\_CMD()}} +{\footnotesize\ttfamily void W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+C\+MD (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{cmd }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_aa2ddf9662320c4a9d00fd4a94d347570}\label{sms_8h_aa2ddf9662320c4a9d00fd4a94d347570}} +\index{sms.h@{sms.h}!WRITE\_VDP\_DATA@{WRITE\_VDP\_DATA}} +\index{WRITE\_VDP\_DATA@{WRITE\_VDP\_DATA}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{WRITE\_VDP\_DATA()}{WRITE\_VDP\_DATA()}} +{\footnotesize\ttfamily void W\+R\+I\+T\+E\+\_\+\+V\+D\+P\+\_\+\+D\+A\+TA (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{data }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_a3ea524204d839377cf39842eec23e202}\label{sms_8h_a3ea524204d839377cf39842eec23e202}} +\index{sms.h@{sms.h}!mode@{mode}} +\index{mode@{mode}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{mode()}{mode()}} +{\footnotesize\ttfamily void mode (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{m }\end{DoxyParamCaption})} + +Set the current screen mode -\/ one of M\+\_\+$\ast$ modes + +Normally used by internal functions only. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_af0e30d6af308ffe5a025fbe85da40f6f}{M\+\_\+\+T\+E\+X\+T\+\_\+\+O\+UT}}, \mbox{\hyperlink{sms_8h_a908826e7180f94a5988ceb8633313a2e}{M\+\_\+\+T\+E\+X\+T\+\_\+\+I\+N\+O\+UT}}, \mbox{\hyperlink{sms_8h_a04382de20738146fe873ddfb0585052b}{M\+\_\+\+N\+O\+\_\+\+S\+C\+R\+O\+LL}}, \mbox{\hyperlink{sms_8h_aca2855edd2d28f66be551a0f7ec23f07}{M\+\_\+\+N\+O\+\_\+\+I\+N\+T\+E\+RP}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_ad9a83378f5ec1f6444c879e4cf1e1a83}\label{sms_8h_ad9a83378f5ec1f6444c879e4cf1e1a83}} +\index{sms.h@{sms.h}!get\_mode@{get\_mode}} +\index{get\_mode@{get\_mode}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{get\_mode()}{get\_mode()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} get\+\_\+mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Returns the current mode + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_af0e30d6af308ffe5a025fbe85da40f6f}{M\+\_\+\+T\+E\+X\+T\+\_\+\+O\+UT}}, \mbox{\hyperlink{gb_8h_a908826e7180f94a5988ceb8633313a2e}{M\+\_\+\+T\+E\+X\+T\+\_\+\+I\+N\+O\+UT}}, \mbox{\hyperlink{gb_8h_a04382de20738146fe873ddfb0585052b}{M\+\_\+\+N\+O\+\_\+\+S\+C\+R\+O\+LL}}, \mbox{\hyperlink{gb_8h_aca2855edd2d28f66be551a0f7ec23f07}{M\+\_\+\+N\+O\+\_\+\+I\+N\+T\+E\+RP}} +\end{DoxySeeAlso} +Returns the current mode + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_acc9798fc62b5d626c91c8b0f20b522ff}{M\+\_\+\+D\+R\+A\+W\+I\+NG}}, \mbox{\hyperlink{gb_8h_af0e30d6af308ffe5a025fbe85da40f6f}{M\+\_\+\+T\+E\+X\+T\+\_\+\+O\+UT}}, \mbox{\hyperlink{gb_8h_a908826e7180f94a5988ceb8633313a2e}{M\+\_\+\+T\+E\+X\+T\+\_\+\+I\+N\+O\+UT}}, \mbox{\hyperlink{gb_8h_a04382de20738146fe873ddfb0585052b}{M\+\_\+\+N\+O\+\_\+\+S\+C\+R\+O\+LL}}, \mbox{\hyperlink{gb_8h_aca2855edd2d28f66be551a0f7ec23f07}{M\+\_\+\+N\+O\+\_\+\+I\+N\+T\+E\+RP}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_aefda0091b2934571a11e07b512735f50}\label{sms_8h_aefda0091b2934571a11e07b512735f50}} +\index{sms.h@{sms.h}!set\_interrupts@{set\_interrupts}} +\index{set\_interrupts@{set\_interrupts}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_interrupts()}{set\_interrupts()}} +{\footnotesize\ttfamily void set\+\_\+interrupts (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{flags }\end{DoxyParamCaption})} + +Clears any pending interrupts and sets the interrupt mask register IO to flags. +\begin{DoxyParams}{Parameters} +{\em flags} & A logical OR of $\ast$\+\_\+\+I\+F\+L\+A\+GS\\ +\hline +\end{DoxyParams} +\begin{DoxyNote}{Note} +\+: This disables and then re-\/enables interrupts so it must be used outside of a critical section. +\end{DoxyNote} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_ae0b13f17609b26c86fc33944aeb6e867}{enable\+\_\+interrupts()}}, \mbox{\hyperlink{gb_8h_ad77796783b3a601b6f3781dfc3983499}{disable\+\_\+interrupts()}} + +\mbox{\hyperlink{gb_8h_a2ca7720b9a5da9b2173e1f74dba85541}{V\+B\+L\+\_\+\+I\+F\+L\+AG}}, \mbox{\hyperlink{gb_8h_a61a9e2910380de6abb34df14ef634eb4}{L\+C\+D\+\_\+\+I\+F\+L\+AG}}, \mbox{\hyperlink{gb_8h_a604256210ec5b90b68185e1a18efab49}{T\+I\+M\+\_\+\+I\+F\+L\+AG}}, \mbox{\hyperlink{gb_8h_ad90564458646c5646b3880b93db3443e}{S\+I\+O\+\_\+\+I\+F\+L\+AG}}, \mbox{\hyperlink{gb_8h_a2f829cf27d6e3e24c875e9b82dfcb280}{J\+O\+Y\+\_\+\+I\+F\+L\+AG}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a98f7ef49e1758c601979bcb0ff19a1f0}\label{sms_8h_a98f7ef49e1758c601979bcb0ff19a1f0}} +\index{sms.h@{sms.h}!remove\_VBL@{remove\_VBL}} +\index{remove\_VBL@{remove\_VBL}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{remove\_VBL()}{remove\_VBL()}} +{\footnotesize\ttfamily void remove\+\_\+\+V\+BL (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Removes the V\+BL interrupt handler. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_ae59628e2237f301df1341e22bfc8296e}{add\+\_\+\+V\+B\+L()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_aa8962b27b960bb0c8d3bb899246c690c}\label{sms_8h_aa8962b27b960bb0c8d3bb899246c690c}} +\index{sms.h@{sms.h}!remove\_LCD@{remove\_LCD}} +\index{remove\_LCD@{remove\_LCD}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{remove\_LCD()}{remove\_LCD()}} +{\footnotesize\ttfamily void remove\+\_\+\+L\+CD (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Removes the L\+CD interrupt handler. \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a51add93356a25c71e8c37a73c9065c9d}{add\+\_\+\+L\+C\+D()}}, \mbox{\hyperlink{sms_8h_a98f7ef49e1758c601979bcb0ff19a1f0}{remove\+\_\+\+V\+B\+L()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a98785a1b0ddc91cd8e8c8fab8de1de20}\label{sms_8h_a98785a1b0ddc91cd8e8c8fab8de1de20}} +\index{sms.h@{sms.h}!remove\_TIM@{remove\_TIM}} +\index{remove\_TIM@{remove\_TIM}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{remove\_TIM()}{remove\_TIM()}} +{\footnotesize\ttfamily void remove\+\_\+\+T\+IM (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_a98de9141f407585801fcbf55bf6dcc4c}\label{sms_8h_a98de9141f407585801fcbf55bf6dcc4c}} +\index{sms.h@{sms.h}!remove\_SIO@{remove\_SIO}} +\index{remove\_SIO@{remove\_SIO}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{remove\_SIO()}{remove\_SIO()}} +{\footnotesize\ttfamily void remove\+\_\+\+S\+IO (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_a35a3ff12ab34534b763517576afe38a6}\label{sms_8h_a35a3ff12ab34534b763517576afe38a6}} +\index{sms.h@{sms.h}!remove\_JOY@{remove\_JOY}} +\index{remove\_JOY@{remove\_JOY}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{remove\_JOY()}{remove\_JOY()}} +{\footnotesize\ttfamily void remove\+\_\+\+J\+OY (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_ae59628e2237f301df1341e22bfc8296e}\label{sms_8h_ae59628e2237f301df1341e22bfc8296e}} +\index{sms.h@{sms.h}!add\_VBL@{add\_VBL}} +\index{add\_VBL@{add\_VBL}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{add\_VBL()}{add\_VBL()}} +{\footnotesize\ttfamily void add\+\_\+\+V\+BL (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Adds a V-\/blank interrupt handler. \mbox{\Hypertarget{sms_8h_a51add93356a25c71e8c37a73c9065c9d}\label{sms_8h_a51add93356a25c71e8c37a73c9065c9d}} +\index{sms.h@{sms.h}!add\_LCD@{add\_LCD}} +\index{add\_LCD@{add\_LCD}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{add\_LCD()}{add\_LCD()}} +{\footnotesize\ttfamily void add\+\_\+\+L\+CD (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Adds a L\+CD interrupt handler. \mbox{\Hypertarget{sms_8h_a6c66a583a8f0744e3985c89725e3dc10}\label{sms_8h_a6c66a583a8f0744e3985c89725e3dc10}} +\index{sms.h@{sms.h}!add\_TIM@{add\_TIM}} +\index{add\_TIM@{add\_TIM}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{add\_TIM()}{add\_TIM()}} +{\footnotesize\ttfamily void add\+\_\+\+T\+IM (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Does nothing on S\+M\+S/\+GG \mbox{\Hypertarget{sms_8h_a3372d61a07e0466bdb909a27f3aaaca9}\label{sms_8h_a3372d61a07e0466bdb909a27f3aaaca9}} +\index{sms.h@{sms.h}!add\_SIO@{add\_SIO}} +\index{add\_SIO@{add\_SIO}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{add\_SIO()}{add\_SIO()}} +{\footnotesize\ttfamily void add\+\_\+\+S\+IO (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Does nothing on S\+M\+S/\+GG \mbox{\Hypertarget{sms_8h_a48163816121cd669526817d3e6266fd9}\label{sms_8h_a48163816121cd669526817d3e6266fd9}} +\index{sms.h@{sms.h}!add\_JOY@{add\_JOY}} +\index{add\_JOY@{add\_JOY}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{add\_JOY()}{add\_JOY()}} +{\footnotesize\ttfamily void add\+\_\+\+J\+OY (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{sms_8h_a9508f919d9482d1d51534ccac212454d}{int\+\_\+handler}}}]{h }\end{DoxyParamCaption})} + +Does nothing on S\+M\+S/\+GG \mbox{\Hypertarget{sms_8h_ade5d4c955b871b0ed884273cc2b7215a}\label{sms_8h_ade5d4c955b871b0ed884273cc2b7215a}} +\index{sms.h@{sms.h}!cancel\_pending\_interrupts@{cancel\_pending\_interrupts}} +\index{cancel\_pending\_interrupts@{cancel\_pending\_interrupts}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{cancel\_pending\_interrupts()}{cancel\_pending\_interrupts()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} cancel\+\_\+pending\+\_\+interrupts (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Cancel pending interrupts \mbox{\Hypertarget{sms_8h_a6261537edc74068e3f7f057e6a3e8a57}\label{sms_8h_a6261537edc74068e3f7f057e6a3e8a57}} +\index{sms.h@{sms.h}!move\_bkg@{move\_bkg}} +\index{move\_bkg@{move\_bkg}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{move\_bkg()}{move\_bkg()}} +{\footnotesize\ttfamily void move\+\_\+bkg (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_a1f583f7a880daa6145ca78b086a209d1}\label{sms_8h_a1f583f7a880daa6145ca78b086a209d1}} +\index{sms.h@{sms.h}!scroll\_bkg@{scroll\_bkg}} +\index{scroll\_bkg@{scroll\_bkg}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{scroll\_bkg()}{scroll\_bkg()}} +{\footnotesize\ttfamily void scroll\+\_\+bkg (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_acd186eb292d441f9389e77b545a55619}\label{sms_8h_acd186eb292d441f9389e77b545a55619}} +\index{sms.h@{sms.h}!wait\_vbl\_done@{wait\_vbl\_done}} +\index{wait\_vbl\_done@{wait\_vbl\_done}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{wait\_vbl\_done()}{wait\_vbl\_done()}} +{\footnotesize\ttfamily void wait\+\_\+vbl\+\_\+done (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +H\+A\+L\+Ts the C\+PU and waits for the vertical blank interrupt (V\+BL) to finish. + +This is often used in main loops to idle the C\+PU at low power until it\textquotesingle{}s time to start the next frame. It\textquotesingle{}s also useful for syncing animation with the screen re-\/draw. + +Warning\+: If the V\+BL interrupt is disabled, this function will never return. If the screen is off this function returns immediately. \mbox{\Hypertarget{sms_8h_a7b09691f25fddd65f12ed199b3f88ef0}\label{sms_8h_a7b09691f25fddd65f12ed199b3f88ef0}} +\index{sms.h@{sms.h}!display\_off@{display\_off}} +\index{display\_off@{display\_off}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{display\_off()}{display\_off()}} +{\footnotesize\ttfamily void display\+\_\+off (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Turns the display off. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a5ae6b05b3e1559c97f0d1b2daaaa0ee4}{D\+I\+S\+P\+L\+A\+Y\+\_\+\+ON}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a7542d00af674e3c58b6c9887ab01919f}\label{sms_8h_a7542d00af674e3c58b6c9887ab01919f}} +\index{sms.h@{sms.h}!refresh\_OAM@{refresh\_OAM}} +\index{refresh\_OAM@{refresh\_OAM}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{refresh\_OAM()}{refresh\_OAM()}} +{\footnotesize\ttfamily void refresh\+\_\+\+O\+AM (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Copies data from shadow O\+AM to O\+AM \mbox{\Hypertarget{sms_8h_a217232c82eb5f99f7639b5786ce5abc6}\label{sms_8h_a217232c82eb5f99f7639b5786ce5abc6}} +\index{sms.h@{sms.h}!delay@{delay}} +\index{delay@{delay}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{delay()}{delay()}} +{\footnotesize\ttfamily void delay (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{d }\end{DoxyParamCaption})} + +Delays the given number of milliseconds. Uses no timers or interrupts, and can be called with interrupts disabled \mbox{\Hypertarget{sms_8h_a176c477d759b814664785f3a0ad5e253}\label{sms_8h_a176c477d759b814664785f3a0ad5e253}} +\index{sms.h@{sms.h}!joypad@{joypad}} +\index{joypad@{joypad}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{joypad()}{joypad()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} joypad (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Reads and returns the current state of the joypad. \mbox{\Hypertarget{sms_8h_a79b565677967da5ef9bf1a00aa6776ce}\label{sms_8h_a79b565677967da5ef9bf1a00aa6776ce}} +\index{sms.h@{sms.h}!waitpad@{waitpad}} +\index{waitpad@{waitpad}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{waitpad()}{waitpad()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} waitpad (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{mask }\end{DoxyParamCaption})} + +Waits until at least one of the buttons given in mask are pressed. \mbox{\Hypertarget{sms_8h_a955d3733e5018f18b17a572aff45cf26}\label{sms_8h_a955d3733e5018f18b17a572aff45cf26}} +\index{sms.h@{sms.h}!waitpadup@{waitpadup}} +\index{waitpadup@{waitpadup}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{waitpadup()}{waitpadup()}} +{\footnotesize\ttfamily void waitpadup (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Waits for the directional pad and all buttons to be released. + +Note\+: Checks in a loop that doesn\textquotesingle{}t H\+A\+LT at all, so the C\+PU will be maxed out until this call returns. \mbox{\Hypertarget{sms_8h_abe90cc2b5bb10c0ed9e01e548ddf8862}\label{sms_8h_abe90cc2b5bb10c0ed9e01e548ddf8862}} +\index{sms.h@{sms.h}!joypad\_init@{joypad\_init}} +\index{joypad\_init@{joypad\_init}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{joypad\_init()}{joypad\_init()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} joypad\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{npads, }\item[{\mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} $\ast$}]{joypads }\end{DoxyParamCaption})} + +Initializes \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} structure for polling multiple joypads +\begin{DoxyParams}{Parameters} +{\em npads} & number of joypads requested (1, 2 or 4) \\ +\hline +{\em joypads} & pointer to \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} structure to be initialized\\ +\hline +\end{DoxyParams} +Only required for \mbox{\hyperlink{sms_8h_a1d45c65829490c5ec98362f5e60edc20}{joypad\+\_\+ex}}, not required for calls to regular \mbox{\hyperlink{gb_8h_a176c477d759b814664785f3a0ad5e253}{joypad()}} \begin{DoxyReturn}{Returns} +number of joypads avaliable +\end{DoxyReturn} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a1d45c65829490c5ec98362f5e60edc20}{joypad\+\_\+ex()}}, \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a1d45c65829490c5ec98362f5e60edc20}\label{sms_8h_a1d45c65829490c5ec98362f5e60edc20}} +\index{sms.h@{sms.h}!joypad\_ex@{joypad\_ex}} +\index{joypad\_ex@{joypad\_ex}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{joypad\_ex()}{joypad\_ex()}} +{\footnotesize\ttfamily void joypad\+\_\+ex (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} $\ast$}]{joypads }\end{DoxyParamCaption})} + +Polls all avaliable joypads +\begin{DoxyParams}{Parameters} +{\em joypads} & pointer to \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} structure to be filled with joypad statuses, must be previously initialized with \mbox{\hyperlink{sms_8h_abe90cc2b5bb10c0ed9e01e548ddf8862}{joypad\+\_\+init()}}\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_abe90cc2b5bb10c0ed9e01e548ddf8862}{joypad\+\_\+init()}}, \mbox{\hyperlink{structjoypads__t}{joypads\+\_\+t}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_abd34836339579013c097ae4dea10c014}\label{sms_8h_abd34836339579013c097ae4dea10c014}} +\index{sms.h@{sms.h}!set\_default\_palette@{set\_default\_palette}} +\index{set\_default\_palette@{set\_default\_palette}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_default\_palette()}{set\_default\_palette()}} +{\footnotesize\ttfamily void set\+\_\+default\+\_\+palette (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_a884a743919b234cd9c37789380784d08}\label{sms_8h_a884a743919b234cd9c37789380784d08}} +\index{sms.h@{sms.h}!cpu\_fast@{cpu\_fast}} +\index{cpu\_fast@{cpu\_fast}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{cpu\_fast()}{cpu\_fast()}} +{\footnotesize\ttfamily void cpu\+\_\+fast (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Set C\+PU speed to fast (C\+GB Double Speed) operation. + +On startup the C\+GB operates in Normal Speed Mode and can be switched into Double speed mode (faster processing but also higher power consumption). See the Pan Docs for more information about which hardware features operate faster and which remain at Normal Speed. + +\begin{DoxyItemize} +\item Interrupts are temporarily disabled and then re-\/enabled during this call. \item You can check to see if \mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}} == \mbox{\hyperlink{gb_8h_aee435a3a0dde3dbd7b6112dbb456cde8}{C\+G\+B\+\_\+\+T\+Y\+PE}} before using this function.\end{DoxyItemize} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{cgb_8h_a6a36fb9584e4a123f6164530a3b1e5e2}{cpu\+\_\+slow()}}, \mbox{\hyperlink{gb_8h_a874b9bd95b0a05d6a6072feabc879e45}{\+\_\+cpu}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a2c9aabf4519e01257b0d0e04e8108164}\label{sms_8h_a2c9aabf4519e01257b0d0e04e8108164}} +\index{sms.h@{sms.h}!set\_palette\_entry@{set\_palette\_entry}} +\index{set\_palette\_entry@{set\_palette\_entry}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_palette\_entry()}{set\_palette\_entry()}} +{\footnotesize\ttfamily void set\+\_\+palette\+\_\+entry (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{palette, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{entry, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{rgb\+\_\+data }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_a92109adcc20960f26e8bc5fbb141d27e}\label{sms_8h_a92109adcc20960f26e8bc5fbb141d27e}} +\index{sms.h@{sms.h}!set\_palette@{set\_palette}} +\index{set\_palette@{set\_palette}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_palette()}{set\_palette()}} +{\footnotesize\ttfamily void set\+\_\+palette (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{first\+\_\+palette, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb\+\_\+palettes, }\item[{\mbox{\hyperlink{cgb_8h_af868d7cdbd052c6b972ef137e02f6495}{palette\+\_\+color\+\_\+t}} $\ast$}]{rgb\+\_\+data }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_a24764a152441b966ea04a83278c73207}\label{sms_8h_a24764a152441b966ea04a83278c73207}} +\index{sms.h@{sms.h}!set\_native\_tile\_data@{set\_native\_tile\_data}} +\index{set\_native\_tile\_data@{set\_native\_tile\_data}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_native\_tile\_data()}{set\_native\_tile\_data()}} +{\footnotesize\ttfamily void set\+\_\+native\+\_\+tile\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{start, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{ntiles, }\item[{const void $\ast$}]{src }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_aeff13dca11be49e8c159820c616016ec}\label{sms_8h_aeff13dca11be49e8c159820c616016ec}} +\index{sms.h@{sms.h}!set\_bkg\_4bpp\_data@{set\_bkg\_4bpp\_data}} +\index{set\_bkg\_4bpp\_data@{set\_bkg\_4bpp\_data}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_4bpp\_data()}{set\_bkg\_4bpp\_data()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+4bpp\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{start, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{ntiles, }\item[{const void $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_a24f53cfe7e25c04fbb5dcb08cfb3b432}\label{sms_8h_a24f53cfe7e25c04fbb5dcb08cfb3b432}} +\index{sms.h@{sms.h}!set\_sprite\_4bpp\_data@{set\_sprite\_4bpp\_data}} +\index{set\_sprite\_4bpp\_data@{set\_sprite\_4bpp\_data}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_4bpp\_data()}{set\_sprite\_4bpp\_data()}} +{\footnotesize\ttfamily void set\+\_\+sprite\+\_\+4bpp\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{start, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{ntiles, }\item[{const void $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_aa224c9bac27c7fd268e62bdf33338a84}\label{sms_8h_aa224c9bac27c7fd268e62bdf33338a84}} +\index{sms.h@{sms.h}!set\_2bpp\_palette@{set\_2bpp\_palette}} +\index{set\_2bpp\_palette@{set\_2bpp\_palette}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_2bpp\_palette()}{set\_2bpp\_palette()}} +{\footnotesize\ttfamily void set\+\_\+2bpp\+\_\+palette (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{palette }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_ab752b1bb0f58da2a6d52e9747c4b3dd8}\label{sms_8h_ab752b1bb0f58da2a6d52e9747c4b3dd8}} +\index{sms.h@{sms.h}!set\_tile\_2bpp\_data@{set\_tile\_2bpp\_data}} +\index{set\_tile\_2bpp\_data@{set\_tile\_2bpp\_data}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_tile\_2bpp\_data()}{set\_tile\_2bpp\_data()}} +{\footnotesize\ttfamily void set\+\_\+tile\+\_\+2bpp\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{start, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{ntiles, }\item[{const void $\ast$}]{src, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{palette }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_a8130306da1177f4fef89e699f8e2add4}\label{sms_8h_a8130306da1177f4fef89e699f8e2add4}} +\index{sms.h@{sms.h}!set\_bkg\_data@{set\_bkg\_data}} +\index{set\_bkg\_data@{set\_bkg\_data}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_data()}{set\_bkg\_data()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{start, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{ntiles, }\item[{const void $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_a216a3e3d320ee4d8cf4845600487ae39}\label{sms_8h_a216a3e3d320ee4d8cf4845600487ae39}} +\index{sms.h@{sms.h}!set\_sprite\_data@{set\_sprite\_data}} +\index{set\_sprite\_data@{set\_sprite\_data}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_data()}{set\_sprite\_data()}} +{\footnotesize\ttfamily void set\+\_\+sprite\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{start, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{ntiles, }\item[{const void $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_aa7ba76e4d44dbf19da351fd1ea8e3023}\label{sms_8h_aa7ba76e4d44dbf19da351fd1ea8e3023}} +\index{sms.h@{sms.h}!set\_bkg\_2bpp\_data@{set\_bkg\_2bpp\_data}} +\index{set\_bkg\_2bpp\_data@{set\_bkg\_2bpp\_data}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_2bpp\_data()}{set\_bkg\_2bpp\_data()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+2bpp\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{start, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{ntiles, }\item[{const void $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_a10ee2919fcab7a5c482816ed718d1c4a}\label{sms_8h_a10ee2919fcab7a5c482816ed718d1c4a}} +\index{sms.h@{sms.h}!set\_sprite\_2bpp\_data@{set\_sprite\_2bpp\_data}} +\index{set\_sprite\_2bpp\_data@{set\_sprite\_2bpp\_data}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_2bpp\_data()}{set\_sprite\_2bpp\_data()}} +{\footnotesize\ttfamily void set\+\_\+sprite\+\_\+2bpp\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{start, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{ntiles, }\item[{const void $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_adcb394299a1033616fc7d2faec8bd6ad}\label{sms_8h_adcb394299a1033616fc7d2faec8bd6ad}} +\index{sms.h@{sms.h}!set\_1bpp\_colors@{set\_1bpp\_colors}} +\index{set\_1bpp\_colors@{set\_1bpp\_colors}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_1bpp\_colors()}{set\_1bpp\_colors()}} +{\footnotesize\ttfamily void set\+\_\+1bpp\+\_\+colors (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{fgcolor, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{bgcolor }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_a747033606e041b45ae09b38fdb06b871}\label{sms_8h_a747033606e041b45ae09b38fdb06b871}} +\index{sms.h@{sms.h}!set\_tile\_1bpp\_data@{set\_tile\_1bpp\_data}} +\index{set\_tile\_1bpp\_data@{set\_tile\_1bpp\_data}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_tile\_1bpp\_data()}{set\_tile\_1bpp\_data()}} +{\footnotesize\ttfamily void set\+\_\+tile\+\_\+1bpp\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{start, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{ntiles, }\item[{const void $\ast$}]{src, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{colors }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_a4d5f74eed0489ebfdc2410ee3f9f7f04}\label{sms_8h_a4d5f74eed0489ebfdc2410ee3f9f7f04}} +\index{sms.h@{sms.h}!set\_bkg\_1bpp\_data@{set\_bkg\_1bpp\_data}} +\index{set\_bkg\_1bpp\_data@{set\_bkg\_1bpp\_data}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_1bpp\_data()}{set\_bkg\_1bpp\_data()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+1bpp\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{start, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{ntiles, }\item[{const void $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_a2cc121fbeb5570248531b85a8f0b5b97}\label{sms_8h_a2cc121fbeb5570248531b85a8f0b5b97}} +\index{sms.h@{sms.h}!set\_sprite\_1bpp\_data@{set\_sprite\_1bpp\_data}} +\index{set\_sprite\_1bpp\_data@{set\_sprite\_1bpp\_data}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_1bpp\_data()}{set\_sprite\_1bpp\_data()}} +{\footnotesize\ttfamily void set\+\_\+sprite\+\_\+1bpp\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{start, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{ntiles, }\item[{const void $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_a8fe17423c7ef7c44f1ccff27d3afbebc}\label{sms_8h_a8fe17423c7ef7c44f1ccff27d3afbebc}} +\index{sms.h@{sms.h}!set\_data@{set\_data}} +\index{set\_data@{set\_data}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_data()}{set\_data()}} +{\footnotesize\ttfamily void set\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{dst, }\item[{const void $\ast$}]{src, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{size }\end{DoxyParamCaption})} + +Copies arbitrary data to an address in V\+R\+AM + + +\begin{DoxyParams}{Parameters} +{\em dst} & destination V\+R\+AM Address \\ +\hline +{\em src} & Pointer to source buffer \\ +\hline +{\em size} & Number of bytes to copy\\ +\hline +\end{DoxyParams} +Copies {\bfseries{size}} bytes from a buffer at \+\_\+src\+\_\+\+\_\+ to V\+R\+AM starting at {\bfseries{dst}}. \mbox{\Hypertarget{sms_8h_a33a749b14dfbd203c460e8d7f3500636}\label{sms_8h_a33a749b14dfbd203c460e8d7f3500636}} +\index{sms.h@{sms.h}!vmemcpy@{vmemcpy}} +\index{vmemcpy@{vmemcpy}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{vmemcpy()}{vmemcpy()}} +{\footnotesize\ttfamily void vmemcpy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{dst, }\item[{const void $\ast$}]{src, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{size }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_a14fc41e69085b5aa3da2fae9a2aa3ef3}\label{sms_8h_a14fc41e69085b5aa3da2fae9a2aa3ef3}} +\index{sms.h@{sms.h}!set\_tile\_map@{set\_tile\_map}} +\index{set\_tile\_map@{set\_tile\_map}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_tile\_map()}{set\_tile\_map()}} +{\footnotesize\ttfamily void set\+\_\+tile\+\_\+map (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{tiles }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_a7c38b146f77eda84981c06c2271fe116}\label{sms_8h_a7c38b146f77eda84981c06c2271fe116}} +\index{sms.h@{sms.h}!set\_tile\_map\_compat@{set\_tile\_map\_compat}} +\index{set\_tile\_map\_compat@{set\_tile\_map\_compat}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_tile\_map\_compat()}{set\_tile\_map\_compat()}} +{\footnotesize\ttfamily void set\+\_\+tile\+\_\+map\+\_\+compat (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{tiles }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_a811c386cac0df2d260aacb5a43608be5}\label{sms_8h_a811c386cac0df2d260aacb5a43608be5}} +\index{sms.h@{sms.h}!set\_bkg\_based\_tiles@{set\_bkg\_based\_tiles}} +\index{set\_bkg\_based\_tiles@{set\_bkg\_based\_tiles}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_based\_tiles()}{set\_bkg\_based\_tiles()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+based\+\_\+tiles (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{tiles, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+tile }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_a739a212609ae60c9c56c095f96b4ea80}\label{sms_8h_a739a212609ae60c9c56c095f96b4ea80}} +\index{sms.h@{sms.h}!set\_win\_based\_tiles@{set\_win\_based\_tiles}} +\index{set\_win\_based\_tiles@{set\_win\_based\_tiles}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_win\_based\_tiles()}{set\_win\_based\_tiles()}} +{\footnotesize\ttfamily void set\+\_\+win\+\_\+based\+\_\+tiles (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{tiles, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+tile }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_a84774e034fe0e70af62bd17ac716ba34}\label{sms_8h_a84774e034fe0e70af62bd17ac716ba34}} +\index{sms.h@{sms.h}!set\_tile\_submap@{set\_tile\_submap}} +\index{set\_tile\_submap@{set\_tile\_submap}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_tile\_submap()}{set\_tile\_submap()}} +{\footnotesize\ttfamily void set\+\_\+tile\+\_\+submap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{map\+\_\+w, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{map }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_aba0308b5e8e154cc920f041a185ac770}\label{sms_8h_aba0308b5e8e154cc920f041a185ac770}} +\index{sms.h@{sms.h}!set\_tile\_submap\_compat@{set\_tile\_submap\_compat}} +\index{set\_tile\_submap\_compat@{set\_tile\_submap\_compat}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_tile\_submap\_compat()}{set\_tile\_submap\_compat()}} +{\footnotesize\ttfamily void set\+\_\+tile\+\_\+submap\+\_\+compat (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{map\+\_\+w, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{map }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_a0cfd261bc7a94b1f6093f423bad30298}\label{sms_8h_a0cfd261bc7a94b1f6093f423bad30298}} +\index{sms.h@{sms.h}!set\_bkg\_submap@{set\_bkg\_submap}} +\index{set\_bkg\_submap@{set\_bkg\_submap}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_submap()}{set\_bkg\_submap()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+submap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{map, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{map\+\_\+w }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets a rectangular area of the Background Tile Map using a sub-\/region from a source tile map. Useful for scrolling implementations of maps larger than 32 x 32 tiles. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Background Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to set in tiles. Range 1 -\/ 255 \\ +\hline +{\em h} & Height of area to set in tiles. Range 1 -\/ 255 \\ +\hline +{\em map} & Pointer to source tile map data \\ +\hline +{\em map\+\_\+w} & Width of source tile map in tiles. Range 1 -\/ 255\\ +\hline +\end{DoxyParams} +Entries are copied from {\bfseries{map}} to the Background Tile Map starting at {\bfseries{x}}, {\bfseries{y}} writing across for {\bfseries{w}} tiles and down for {\bfseries{h}} tiles, using {\bfseries{map\+\_\+w}} as the rowstride for the source tile map. + +Use this instead of \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}} when the source map is wider than 32 tiles or when writing a width that does not match the source map width. + +One byte per source tile map entry. + +Writes that exceed coordinate 31 on the x or y axis will wrap around to the Left and Top edges. + +See \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}} for setting C\+GB attribute maps with \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}}. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_a8e3f36aa68ac036695816757f2a1322c}{S\+H\+O\+W\+\_\+\+B\+KG}} + +\mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_af80befa3cad9cae361c7cf4fffb3a8de}{set\+\_\+win\+\_\+submap}}, \mbox{\hyperlink{gb_8h_a9b205ee302f54cb96ee59aac6d53a91c}{set\+\_\+tiles}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_abb50a392ca0d0419a080413287ee5d79}\label{sms_8h_abb50a392ca0d0419a080413287ee5d79}} +\index{sms.h@{sms.h}!set\_win\_submap@{set\_win\_submap}} +\index{set\_win\_submap@{set\_win\_submap}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_win\_submap()}{set\_win\_submap()}} +{\footnotesize\ttfamily void set\+\_\+win\+\_\+submap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{map, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{map\+\_\+w }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets a rectangular area of the Window Tile Map using a sub-\/region from a source tile map. + + +\begin{DoxyParams}{Parameters} +{\em x} & X Start position in Window Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em y} & Y Start position in Wimdpw Map tile coordinates. Range 0 -\/ 31 \\ +\hline +{\em w} & Width of area to set in tiles. Range 1 -\/ 255 \\ +\hline +{\em h} & Height of area to set in tiles. Range 1 -\/ 255 \\ +\hline +{\em map} & Pointer to source tile map data \\ +\hline +{\em map\+\_\+w} & Width of source tile map in tiles. Range 1 -\/ 255\\ +\hline +\end{DoxyParams} +Entries are copied from {\bfseries{map}} to the Window Tile Map starting at {\bfseries{x}}, {\bfseries{y}} writing across for {\bfseries{w}} tiles and down for {\bfseries{h}} tiles, using {\bfseries{map\+\_\+w}} as the rowstride for the source tile map. + +Use this instead of \mbox{\hyperlink{gb_8h_a5c59b4ee6323af9832998906d087266b}{set\+\_\+win\+\_\+tiles}} when the source map is wider than 32 tiles or when writing a width that does not match the source map width. + +One byte per source tile map entry. + +Writes that exceed coordinate 31 on the x or y axis will wrap around to the Left and Top edges. + +G\+BC only\+: \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}} determines whether Tile Numbers or Tile Attributes get set. \begin{DoxyItemize} +\item V\+B\+K\+\_\+\+R\+EG=0 Tile Numbers are written \item V\+B\+K\+\_\+\+R\+EG=1 Tile Attributes are written\end{DoxyItemize} +See \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}} for details about C\+GB attribute maps with \mbox{\hyperlink{gb_2hardware_8h_a5ccae0d556500e1055a0ec8de20c535a}{V\+B\+K\+\_\+\+R\+EG}}. + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{gb_8h_ab19da2ab719bb8897bc0843a84af28f8}{S\+H\+O\+W\+\_\+\+W\+IN}}, \mbox{\hyperlink{gb_8h_aedb6e32c42d4b1d25ad11adccd7100c3}{H\+I\+D\+E\+\_\+\+W\+IN}}, \mbox{\hyperlink{gb_8h_a5c59b4ee6323af9832998906d087266b}{set\+\_\+win\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_adb21d1c7d533a7133bab36a845489780}{set\+\_\+bkg\+\_\+submap}}, \mbox{\hyperlink{gb_8h_a6da9e2fa1bafd35363e84ee999909ec7}{set\+\_\+bkg\+\_\+tiles}}, \mbox{\hyperlink{gb_8h_a1f5101f2b7bb0123c26a3e257f843626}{set\+\_\+bkg\+\_\+data}}, \mbox{\hyperlink{gb_8h_a9b205ee302f54cb96ee59aac6d53a91c}{set\+\_\+tiles}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_abc8bc5808620a9717263b8c9ec2237f0}\label{sms_8h_abc8bc5808620a9717263b8c9ec2237f0}} +\index{sms.h@{sms.h}!set\_bkg\_based\_submap@{set\_bkg\_based\_submap}} +\index{set\_bkg\_based\_submap@{set\_bkg\_based\_submap}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_bkg\_based\_submap()}{set\_bkg\_based\_submap()}} +{\footnotesize\ttfamily void set\+\_\+bkg\+\_\+based\+\_\+submap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{map, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{map\+\_\+w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+tile }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_a1b8a1026983cb2b2c0bd46334b4692a0}\label{sms_8h_a1b8a1026983cb2b2c0bd46334b4692a0}} +\index{sms.h@{sms.h}!set\_win\_based\_submap@{set\_win\_based\_submap}} +\index{set\_win\_based\_submap@{set\_win\_based\_submap}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_win\_based\_submap()}{set\_win\_based\_submap()}} +{\footnotesize\ttfamily void set\+\_\+win\+\_\+based\+\_\+submap (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{map, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{map\+\_\+w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{base\+\_\+tile }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_aba932d128338fb19644842565139a20d}\label{sms_8h_aba932d128338fb19644842565139a20d}} +\index{sms.h@{sms.h}!fill\_rect@{fill\_rect}} +\index{fill\_rect@{fill\_rect}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{fill\_rect()}{fill\_rect()}} +{\footnotesize\ttfamily void fill\+\_\+rect (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{tile }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_af2fc27409f907cfae9583b5ebf0c5ea8}\label{sms_8h_af2fc27409f907cfae9583b5ebf0c5ea8}} +\index{sms.h@{sms.h}!fill\_rect\_compat@{fill\_rect\_compat}} +\index{fill\_rect\_compat@{fill\_rect\_compat}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{fill\_rect\_compat()}{fill\_rect\_compat()}} +{\footnotesize\ttfamily void fill\+\_\+rect\+\_\+compat (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{w, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{h, }\item[{const \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{tile }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{sms_8h_a7e0cdfd6b9a2ae1b7f30384f132d8687}\label{sms_8h_a7e0cdfd6b9a2ae1b7f30384f132d8687}} +\index{sms.h@{sms.h}!SET\_SHADOW\_OAM\_ADDRESS@{SET\_SHADOW\_OAM\_ADDRESS}} +\index{SET\_SHADOW\_OAM\_ADDRESS@{SET\_SHADOW\_OAM\_ADDRESS}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{SET\_SHADOW\_OAM\_ADDRESS()}{SET\_SHADOW\_OAM\_ADDRESS()}} +{\footnotesize\ttfamily void S\+E\+T\+\_\+\+S\+H\+A\+D\+O\+W\+\_\+\+O\+A\+M\+\_\+\+A\+D\+D\+R\+E\+SS (\begin{DoxyParamCaption}\item[{void $\ast$}]{address }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets address of 256-\/byte aligned array of shadow O\+AM to be transferred on each V\+Blank \mbox{\Hypertarget{sms_8h_a05bf0b9f1328de7b568a19a2a428bcfe}\label{sms_8h_a05bf0b9f1328de7b568a19a2a428bcfe}} +\index{sms.h@{sms.h}!set\_sprite\_tile@{set\_sprite\_tile}} +\index{set\_sprite\_tile@{set\_sprite\_tile}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_tile()}{set\_sprite\_tile()}} +{\footnotesize\ttfamily void set\+\_\+sprite\+\_\+tile (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{tile }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Sets sprite number {\bfseries{nb\+\_\+\+\_\+in the O\+AM to display tile number \+\_\+\+\_\+tile}}. + + +\begin{DoxyParams}{Parameters} +{\em nb} & Sprite number, range 0 -\/ 39 \\ +\hline +{\em tile} & Selects a tile (0 -\/ 255) from memory at 8000h -\/ 8F\+F\+Fh ~\newline + In C\+GB Mode this could be either in V\+R\+AM Bank ~\newline + 0 or 1, depending on Bit 3 of the O\+AM Attribute Flag ~\newline + (see \mbox{\hyperlink{sms_8h_a99ea3252469e3614e977cce2aa1d06f7}{set\+\_\+sprite\+\_\+prop}})\\ +\hline +\end{DoxyParams} +In 8x16 mode\+: \begin{DoxyItemize} +\item The sprite will also display the next tile ({\bfseries{tile}} + 1) directly below (y + 8) the first tile. \item The lower bit of the tile number is ignored\+: the upper 8x8 tile is ({\bfseries{tile}} \& 0x\+FE), and the lower 8x8 tile is ({\bfseries{tile}} $\vert$ 0x01). \item See\+: \mbox{\hyperlink{sms_8h_af91d252f07f4764996154820f970c101}{S\+P\+R\+I\+T\+E\+S\+\_\+8x16}} \end{DoxyItemize} +\mbox{\Hypertarget{sms_8h_af5c0beff7d7a7d8641b51fd95c811b2a}\label{sms_8h_af5c0beff7d7a7d8641b51fd95c811b2a}} +\index{sms.h@{sms.h}!get\_sprite\_tile@{get\_sprite\_tile}} +\index{get\_sprite\_tile@{get\_sprite\_tile}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{get\_sprite\_tile()}{get\_sprite\_tile()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} get\+\_\+sprite\+\_\+tile (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Returns the tile number of sprite number {\bfseries{nb}} in the O\+AM. + + +\begin{DoxyParams}{Parameters} +{\em nb} & Sprite number, range 0 -\/ 39\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a05bf0b9f1328de7b568a19a2a428bcfe}{set\+\_\+sprite\+\_\+tile}} for more details +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_a99ea3252469e3614e977cce2aa1d06f7}\label{sms_8h_a99ea3252469e3614e977cce2aa1d06f7}} +\index{sms.h@{sms.h}!set\_sprite\_prop@{set\_sprite\_prop}} +\index{set\_sprite\_prop@{set\_sprite\_prop}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_sprite\_prop()}{set\_sprite\_prop()}} +{\footnotesize\ttfamily void set\+\_\+sprite\+\_\+prop (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{prop }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_a6b873c807c9e2c90fb574951e85fdf88}\label{sms_8h_a6b873c807c9e2c90fb574951e85fdf88}} +\index{sms.h@{sms.h}!get\_sprite\_prop@{get\_sprite\_prop}} +\index{get\_sprite\_prop@{get\_sprite\_prop}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{get\_sprite\_prop()}{get\_sprite\_prop()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} get\+\_\+sprite\+\_\+prop (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +\mbox{\Hypertarget{sms_8h_ab42c12c1d9aed3fd963248fbea9830cd}\label{sms_8h_ab42c12c1d9aed3fd963248fbea9830cd}} +\index{sms.h@{sms.h}!move\_sprite@{move\_sprite}} +\index{move\_sprite@{move\_sprite}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{move\_sprite()}{move\_sprite()}} +{\footnotesize\ttfamily void move\+\_\+sprite (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Moves sprite number {\bfseries{nb}} to the {\bfseries{x}}, {\bfseries{y}} position on the screen. + + +\begin{DoxyParams}{Parameters} +{\em nb} & Sprite number, range 0 -\/ 39 \\ +\hline +{\em x} & X Position. Specifies the sprites horizontal position on the screen (minus 8). ~\newline + An offscreen value (X=0 or X$>$=168) hides the sprite, but the sprite still affects the priority ordering -\/ a better way to hide a sprite is to set its Y-\/coordinate offscreen. \\ +\hline +{\em y} & Y Position. Specifies the sprites vertical position on the screen (minus 16). ~\newline + An offscreen value (for example, Y=0 or Y$>$=160) hides the sprite.\\ +\hline +\end{DoxyParams} +Moving the sprite to 0,0 (or similar off-\/screen location) will hide it. \mbox{\Hypertarget{sms_8h_a6c59aa9a4f9ea42bed6ca6940b2741fe}\label{sms_8h_a6c59aa9a4f9ea42bed6ca6940b2741fe}} +\index{sms.h@{sms.h}!scroll\_sprite@{scroll\_sprite}} +\index{scroll\_sprite@{scroll\_sprite}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{scroll\_sprite()}{scroll\_sprite()}} +{\footnotesize\ttfamily void scroll\+\_\+sprite (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb, }\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Moves sprite number {\bfseries{nb}} relative to its current position. + + +\begin{DoxyParams}{Parameters} +{\em nb} & Sprite number, range 0 -\/ 39 \\ +\hline +{\em x} & Number of pixels to move the sprite on the {\bfseries{X axis}} ~\newline + Range\+: -\/128 -\/ 127 \\ +\hline +{\em y} & Number of pixels to move the sprite on the {\bfseries{Y axis}} ~\newline + Range\+: -\/128 -\/ 127\\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_ab42c12c1d9aed3fd963248fbea9830cd}{move\+\_\+sprite}} for more details about the X and Y position +\end{DoxySeeAlso} +\mbox{\Hypertarget{sms_8h_ad22c51635d052399bbbe1777999c794d}\label{sms_8h_ad22c51635d052399bbbe1777999c794d}} +\index{sms.h@{sms.h}!hide\_sprite@{hide\_sprite}} +\index{hide\_sprite@{hide\_sprite}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{hide\_sprite()}{hide\_sprite()}} +{\footnotesize\ttfamily void hide\+\_\+sprite (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{nb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} + +Hides sprite number {\bfseries{nb}} by moving it to zero position by Y. + + +\begin{DoxyParams}{Parameters} +{\em nb} & Sprite number, range 0 -\/ 39 \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{sms_8h_afe1bc7117a68cd0939c2d03baaa06b89}\label{sms_8h_afe1bc7117a68cd0939c2d03baaa06b89}} +\index{sms.h@{sms.h}!set\_vram\_byte@{set\_vram\_byte}} +\index{set\_vram\_byte@{set\_vram\_byte}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_vram\_byte()}{set\_vram\_byte()}} +{\footnotesize\ttfamily void set\+\_\+vram\+\_\+byte (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} $\ast$}]{addr, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{v }\end{DoxyParamCaption})} + +Set byte in vram at given memory location + + +\begin{DoxyParams}{Parameters} +{\em addr} & address to write to \\ +\hline +{\em v} & value \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{sms_8h_a476f433ea736a1dd610490238f2a6250}\label{sms_8h_a476f433ea736a1dd610490238f2a6250}} +\index{sms.h@{sms.h}!set\_attributed\_tile\_xy@{set\_attributed\_tile\_xy}} +\index{set\_attributed\_tile\_xy@{set\_attributed\_tile\_xy}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_attributed\_tile\_xy()}{set\_attributed\_tile\_xy()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}$\ast$ set\+\_\+attributed\+\_\+tile\+\_\+xy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}}]{t }\end{DoxyParamCaption})} + +Set single tile t with attributes on background layer at x,y +\begin{DoxyParams}{Parameters} +{\em x} & X-\/coordinate \\ +\hline +{\em y} & Y-\/coordinate \\ +\hline +{\em t} & tile index \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +returns the address of tile, so you may use faster \mbox{\hyperlink{sms_8h_afe1bc7117a68cd0939c2d03baaa06b89}{set\+\_\+vram\+\_\+byte()}} later +\end{DoxyReturn} +\mbox{\Hypertarget{sms_8h_a5834057f6297c0fa8f8e9a6b714f1ff7}\label{sms_8h_a5834057f6297c0fa8f8e9a6b714f1ff7}} +\index{sms.h@{sms.h}!set\_tile\_xy@{set\_tile\_xy}} +\index{set\_tile\_xy@{set\_tile\_xy}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{set\_tile\_xy()}{set\_tile\_xy()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}$\ast$ set\+\_\+tile\+\_\+xy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{t }\end{DoxyParamCaption})} + +Set single tile t on background layer at x,y +\begin{DoxyParams}{Parameters} +{\em x} & X-\/coordinate \\ +\hline +{\em y} & Y-\/coordinate \\ +\hline +{\em t} & tile index \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +returns the address of tile, so you may use faster \mbox{\hyperlink{sms_8h_afe1bc7117a68cd0939c2d03baaa06b89}{set\+\_\+vram\+\_\+byte()}} later +\end{DoxyReturn} +\mbox{\Hypertarget{sms_8h_a66b4bfb8c1ea3005ff01ce040a778e63}\label{sms_8h_a66b4bfb8c1ea3005ff01ce040a778e63}} +\index{sms.h@{sms.h}!get\_bkg\_xy\_addr@{get\_bkg\_xy\_addr}} +\index{get\_bkg\_xy\_addr@{get\_bkg\_xy\_addr}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{get\_bkg\_xy\_addr()}{get\_bkg\_xy\_addr()}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}$\ast$ get\+\_\+bkg\+\_\+xy\+\_\+addr (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{x, }\item[{\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}}]{y }\end{DoxyParamCaption})} + +Get address of X,Y tile of background map + +\doxysubsubsection{Variable Documentation} +\mbox{\Hypertarget{sms_8h_a0b3366755f3276b0243c1e0497471b7a}\label{sms_8h_a0b3366755f3276b0243c1e0497471b7a}} +\index{sms.h@{sms.h}!c@{c}} +\index{c@{c}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{c}{c}} +{\footnotesize\ttfamily void c} + +\mbox{\Hypertarget{sms_8h_a0a3d95ad0ab8ad213016101d2e9c3d3e}\label{sms_8h_a0a3d95ad0ab8ad213016101d2e9c3d3e}} +\index{sms.h@{sms.h}!d@{d}} +\index{d@{d}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{d}{d}} +{\footnotesize\ttfamily void d} + +\mbox{\Hypertarget{sms_8h_aeda4515a31485c9688c4601ac5ce2d79}\label{sms_8h_aeda4515a31485c9688c4601ac5ce2d79}} +\index{sms.h@{sms.h}!e@{e}} +\index{e@{e}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{e}{e}} +{\footnotesize\ttfamily void e} + +\mbox{\Hypertarget{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}\label{sms_8h_aade844cba18122ad48cb2f92b1c87ab0}} +\index{sms.h@{sms.h}!iyh@{iyh}} +\index{iyh@{iyh}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{iyh}{iyh}} +{\footnotesize\ttfamily void iyh} + +\mbox{\Hypertarget{sms_8h_af279c752a3b15c4bd5c67f54b92e553f}\label{sms_8h_af279c752a3b15c4bd5c67f54b92e553f}} +\index{sms.h@{sms.h}!iyl@{iyl}} +\index{iyl@{iyl}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{iyl}{iyl}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} iyl} + +\mbox{\Hypertarget{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}\label{sms_8h_a1f1dfeb2f802fe99f37fe91867b84456}} +\index{sms.h@{sms.h}!h@{h}} +\index{h@{h}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{h}{h}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} h} + +\mbox{\Hypertarget{sms_8h_af79b920bcb642bba2e652874c4f7eeff}\label{sms_8h_af79b920bcb642bba2e652874c4f7eeff}} +\index{sms.h@{sms.h}!l@{l}} +\index{l@{l}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{l}{l}} +{\footnotesize\ttfamily void l} + +\mbox{\Hypertarget{sms_8h_a78d2fd18666afec116f176d46debb4e7}\label{sms_8h_a78d2fd18666afec116f176d46debb4e7}} +\index{sms.h@{sms.h}!sys\_time@{sys\_time}} +\index{sys\_time@{sys\_time}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{sys\_time}{sys\_time}} +{\footnotesize\ttfamily volatile \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} sys\+\_\+time\hspace{0.3cm}{\ttfamily [extern]}} + +Global Time Counter in V\+BL periods (60Hz) + +Increments once per Frame + +Will wrap around every $\sim$18 minutes (unsigned 16 bits = 65535 / 60 / 60 = 18.\+2) \mbox{\Hypertarget{sms_8h_a22dc57e538f0f49e2dc7d1c73f67fc8f}\label{sms_8h_a22dc57e538f0f49e2dc7d1c73f67fc8f}} +\index{sms.h@{sms.h}!\_current\_2bpp\_palette@{\_current\_2bpp\_palette}} +\index{\_current\_2bpp\_palette@{\_current\_2bpp\_palette}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{\_current\_2bpp\_palette}{\_current\_2bpp\_palette}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \+\_\+current\+\_\+2bpp\+\_\+palette\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_8h_a250f5339e05523912926be566e9eb8c0}\label{sms_8h_a250f5339e05523912926be566e9eb8c0}} +\index{sms.h@{sms.h}!\_current\_1bpp\_colors@{\_current\_1bpp\_colors}} +\index{\_current\_1bpp\_colors@{\_current\_1bpp\_colors}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{\_current\_1bpp\_colors}{\_current\_1bpp\_colors}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \+\_\+current\+\_\+1bpp\+\_\+colors\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_8h_aa82205e9629f984d0b3dc8055c211522}\label{sms_8h_aa82205e9629f984d0b3dc8055c211522}} +\index{sms.h@{sms.h}!\_map\_tile\_offset@{\_map\_tile\_offset}} +\index{\_map\_tile\_offset@{\_map\_tile\_offset}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{\_map\_tile\_offset}{\_map\_tile\_offset}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+map\+\_\+tile\+\_\+offset\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_8h_ab472d9bbb1bcfd141374f5babc71934c}\label{sms_8h_ab472d9bbb1bcfd141374f5babc71934c}} +\index{sms.h@{sms.h}!\_submap\_tile\_offset@{\_submap\_tile\_offset}} +\index{\_submap\_tile\_offset@{\_submap\_tile\_offset}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{\_submap\_tile\_offset}{\_submap\_tile\_offset}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+submap\+\_\+tile\+\_\+offset\hspace{0.3cm}{\ttfamily [extern]}} + +\mbox{\Hypertarget{sms_8h_af02f9e73bd894cc25e03aedb0a10a91d}\label{sms_8h_af02f9e73bd894cc25e03aedb0a10a91d}} +\index{sms.h@{sms.h}!shadow\_OAM@{shadow\_OAM}} +\index{shadow\_OAM@{shadow\_OAM}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{shadow\_OAM}{shadow\_OAM}} +{\footnotesize\ttfamily volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} shadow\+\_\+\+O\+AM\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [extern]}} + +Shadow O\+AM array in W\+R\+AM, that is transferred into the real O\+AM each V\+Blank \mbox{\Hypertarget{sms_8h_a5435fd985412934e96a490e103c6bc49}\label{sms_8h_a5435fd985412934e96a490e103c6bc49}} +\index{sms.h@{sms.h}!\_shadow\_OAM\_base@{\_shadow\_OAM\_base}} +\index{\_shadow\_OAM\_base@{\_shadow\_OAM\_base}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{\_shadow\_OAM\_base}{\_shadow\_OAM\_base}} +{\footnotesize\ttfamily volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+shadow\+\_\+\+O\+A\+M\+\_\+base\hspace{0.3cm}{\ttfamily [extern]}} + +M\+SB of shadow\+\_\+\+O\+AM address is used by O\+AM copying routine + +M\+SB of shadow\+\_\+\+O\+AM address is used by O\+AM D\+MA copying routine \mbox{\Hypertarget{sms_8h_a388d1dff2698172ba8574e43f5c77c93}\label{sms_8h_a388d1dff2698172ba8574e43f5c77c93}} +\index{sms.h@{sms.h}!\_shadow\_OAM\_OFF@{\_shadow\_OAM\_OFF}} +\index{\_shadow\_OAM\_OFF@{\_shadow\_OAM\_OFF}!sms.h@{sms.h}} +\doxyparagraph{\texorpdfstring{\_shadow\_OAM\_OFF}{\_shadow\_OAM\_OFF}} +{\footnotesize\ttfamily volatile \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \+\_\+shadow\+\_\+\+O\+A\+M\+\_\+\+O\+FF\hspace{0.3cm}{\ttfamily [extern]}} + +Flag for disabling of O\+AM copying routine + +Values\+: \begin{DoxyItemize} +\item 1\+: O\+AM copy routine is disabled (non-\/isr V\+DP operation may be in progress) \item 0\+: O\+AM copy routine is enabled\end{DoxyItemize} +This flag is modified by all sms/gg G\+B\+DK A\+PI calls that write to the V\+DP. It is set to D\+I\+S\+A\+B\+L\+ED when they start and E\+N\+A\+B\+L\+ED when they complete. + +\begin{DoxyNote}{Note} +It is recommended to avoid writing to the Video Display Processor (V\+DP) during an interrupt service routine (I\+SR) since it can corrupt the V\+DP pointer of an V\+DP operation already in progress. +\end{DoxyNote} +If it is necessary, this flag can be used during an I\+SR to determine whether a V\+DP operation is already in progress. If the value is {\ttfamily 1} then avoid writing to the V\+DP (tiles, map, scrolling, colors, etc). + + +\begin{DoxyCode}{0} +\DoxyCodeLine{\textcolor{comment}{// at the beginning of and ISR that would write to the VDP}} +\DoxyCodeLine{\textcolor{keywordflow}{if} (\mbox{\hyperlink{sms_8h_a388d1dff2698172ba8574e43f5c77c93}{\_shadow\_OAM\_OFF}}) \textcolor{keywordflow}{return};} +\end{DoxyCode} + + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{docs_supported_consoles_docs_consoles_safe_display_controller_access}{docs\+\_\+consoles\+\_\+safe\+\_\+display\+\_\+controller\+\_\+access}} +\end{DoxySeeAlso} diff --git a/docs/latex/stdarg_8h.tex b/docs/latex/stdarg_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{stdarg_8h}{}\doxysubsection{stdarg.\+h File Reference} +\label{stdarg_8h}\index{stdarg.h@{stdarg.h}} +{\ttfamily \#include $<$asm/gbz80/stdarg.\+h$>$}\newline diff --git a/docs/latex/stdatomic_8h.tex b/docs/latex/stdatomic_8h.tex @@ -0,0 +1,30 @@ +\hypertarget{stdatomic_8h}{}\doxysubsection{stdatomic.\+h File Reference} +\label{stdatomic_8h}\index{stdatomic.h@{stdatomic.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +\doxysubsubsection*{Data Structures} +\begin{DoxyCompactItemize} +\item +struct \mbox{\hyperlink{structatomic__flag}{atomic\+\_\+flag}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +\+\_\+\+Bool \mbox{\hyperlink{stdatomic_8h_ad301ff71d8b03b0fa2a9207ed00c4ded}{atomic\+\_\+flag\+\_\+test\+\_\+and\+\_\+set}} (volatile \mbox{\hyperlink{structatomic__flag}{atomic\+\_\+flag}} $\ast$object) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{stdatomic_8h_a281cc77096d886b0cf2c6ab7dfbe900c}{atomic\+\_\+flag\+\_\+clear}} (volatile \mbox{\hyperlink{structatomic__flag}{atomic\+\_\+flag}} $\ast$object) +\end{DoxyCompactItemize} + + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{stdatomic_8h_ad301ff71d8b03b0fa2a9207ed00c4ded}\label{stdatomic_8h_ad301ff71d8b03b0fa2a9207ed00c4ded}} +\index{stdatomic.h@{stdatomic.h}!atomic\_flag\_test\_and\_set@{atomic\_flag\_test\_and\_set}} +\index{atomic\_flag\_test\_and\_set@{atomic\_flag\_test\_and\_set}!stdatomic.h@{stdatomic.h}} +\doxyparagraph{\texorpdfstring{atomic\_flag\_test\_and\_set()}{atomic\_flag\_test\_and\_set()}} +{\footnotesize\ttfamily \+\_\+\+Bool atomic\+\_\+flag\+\_\+test\+\_\+and\+\_\+set (\begin{DoxyParamCaption}\item[{volatile \mbox{\hyperlink{structatomic__flag}{atomic\+\_\+flag}} $\ast$}]{object }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{stdatomic_8h_a281cc77096d886b0cf2c6ab7dfbe900c}\label{stdatomic_8h_a281cc77096d886b0cf2c6ab7dfbe900c}} +\index{stdatomic.h@{stdatomic.h}!atomic\_flag\_clear@{atomic\_flag\_clear}} +\index{atomic\_flag\_clear@{atomic\_flag\_clear}!stdatomic.h@{stdatomic.h}} +\doxyparagraph{\texorpdfstring{atomic\_flag\_clear()}{atomic\_flag\_clear()}} +{\footnotesize\ttfamily void atomic\+\_\+flag\+\_\+clear (\begin{DoxyParamCaption}\item[{volatile \mbox{\hyperlink{structatomic__flag}{atomic\+\_\+flag}} $\ast$}]{object }\end{DoxyParamCaption})} + diff --git a/docs/latex/stdbool_8h.tex b/docs/latex/stdbool_8h.tex @@ -0,0 +1,40 @@ +\hypertarget{stdbool_8h}{}\doxysubsection{stdbool.\+h File Reference} +\label{stdbool_8h}\index{stdbool.h@{stdbool.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{stdbool_8h_a41f9c5fb8b08eb5dc3edce4dcb37fee7}{true}}~((\+\_\+\+Bool)+1) +\item +\#define \mbox{\hyperlink{stdbool_8h_a65e9886d74aaee76545e83dd09011727}{false}}~((\+\_\+\+Bool)+0) +\item +\#define \mbox{\hyperlink{stdbool_8h_abb452686968e48b67397da5f97445f5b}{bool}}~\+\_\+\+Bool +\item +\#define \mbox{\hyperlink{stdbool_8h_a665b0cc9ee2ced31785321d55cde349e}{\+\_\+\+\_\+bool\+\_\+true\+\_\+false\+\_\+are\+\_\+defined}}~1 +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{stdbool_8h_a41f9c5fb8b08eb5dc3edce4dcb37fee7}\label{stdbool_8h_a41f9c5fb8b08eb5dc3edce4dcb37fee7}} +\index{stdbool.h@{stdbool.h}!true@{true}} +\index{true@{true}!stdbool.h@{stdbool.h}} +\doxyparagraph{\texorpdfstring{true}{true}} +{\footnotesize\ttfamily \#define true~((\+\_\+\+Bool)+1)} + +\mbox{\Hypertarget{stdbool_8h_a65e9886d74aaee76545e83dd09011727}\label{stdbool_8h_a65e9886d74aaee76545e83dd09011727}} +\index{stdbool.h@{stdbool.h}!false@{false}} +\index{false@{false}!stdbool.h@{stdbool.h}} +\doxyparagraph{\texorpdfstring{false}{false}} +{\footnotesize\ttfamily \#define false~((\+\_\+\+Bool)+0)} + +\mbox{\Hypertarget{stdbool_8h_abb452686968e48b67397da5f97445f5b}\label{stdbool_8h_abb452686968e48b67397da5f97445f5b}} +\index{stdbool.h@{stdbool.h}!bool@{bool}} +\index{bool@{bool}!stdbool.h@{stdbool.h}} +\doxyparagraph{\texorpdfstring{bool}{bool}} +{\footnotesize\ttfamily \#define bool~\+\_\+\+Bool} + +\mbox{\Hypertarget{stdbool_8h_a665b0cc9ee2ced31785321d55cde349e}\label{stdbool_8h_a665b0cc9ee2ced31785321d55cde349e}} +\index{stdbool.h@{stdbool.h}!\_\_bool\_true\_false\_are\_defined@{\_\_bool\_true\_false\_are\_defined}} +\index{\_\_bool\_true\_false\_are\_defined@{\_\_bool\_true\_false\_are\_defined}!stdbool.h@{stdbool.h}} +\doxyparagraph{\texorpdfstring{\_\_bool\_true\_false\_are\_defined}{\_\_bool\_true\_false\_are\_defined}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+bool\+\_\+true\+\_\+false\+\_\+are\+\_\+defined~1} + diff --git a/docs/latex/stddef_8h.tex b/docs/latex/stddef_8h.tex @@ -0,0 +1,78 @@ +\hypertarget{stddef_8h}{}\doxysubsection{stddef.\+h File Reference} +\label{stddef_8h}\index{stddef.h@{stddef.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{stddef_8h_a070d2ce7b6bb7e5c05602aa8c308d0c4}{N\+U\+LL}}~(void $\ast$)0 +\item +\#define \mbox{\hyperlink{stddef_8h_a9e3909fa823b8c4e3fc624d77fb946bf}{\+\_\+\+\_\+\+P\+T\+R\+D\+I\+F\+F\+\_\+\+T\+\_\+\+D\+E\+F\+I\+N\+ED}} +\item +\#define \mbox{\hyperlink{stddef_8h_a8de3167f7b52ff5a2f538858cb5e32d3}{\+\_\+\+\_\+\+S\+I\+Z\+E\+\_\+\+T\+\_\+\+D\+E\+F\+I\+N\+ED}} +\item +\#define \mbox{\hyperlink{stddef_8h_a4aa39aaff620f750e11ece0766b185fd}{\+\_\+\+\_\+\+W\+C\+H\+A\+R\+\_\+\+T\+\_\+\+D\+E\+F\+I\+N\+ED}} +\item +\#define \mbox{\hyperlink{stddef_8h_ad89ebe5fe5ad08c683f0871118ea8e2f}{offsetof}}(s, m)~\+\_\+\+\_\+builtin\+\_\+offsetof (s, m) +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef int \mbox{\hyperlink{stddef_8h_afbe679a40a36da5983ebc5b39754c065}{ptrdiff\+\_\+t}} +\item +typedef unsigned int \mbox{\hyperlink{stddef_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} +\item +typedef unsigned long int \mbox{\hyperlink{stddef_8h_a88ca3e0156f8101475a589ae3cbd98c8}{wchar\+\_\+t}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{stddef_8h_a070d2ce7b6bb7e5c05602aa8c308d0c4}\label{stddef_8h_a070d2ce7b6bb7e5c05602aa8c308d0c4}} +\index{stddef.h@{stddef.h}!NULL@{NULL}} +\index{NULL@{NULL}!stddef.h@{stddef.h}} +\doxyparagraph{\texorpdfstring{NULL}{NULL}} +{\footnotesize\ttfamily \#define N\+U\+LL~(void $\ast$)0} + +\mbox{\Hypertarget{stddef_8h_a9e3909fa823b8c4e3fc624d77fb946bf}\label{stddef_8h_a9e3909fa823b8c4e3fc624d77fb946bf}} +\index{stddef.h@{stddef.h}!\_\_PTRDIFF\_T\_DEFINED@{\_\_PTRDIFF\_T\_DEFINED}} +\index{\_\_PTRDIFF\_T\_DEFINED@{\_\_PTRDIFF\_T\_DEFINED}!stddef.h@{stddef.h}} +\doxyparagraph{\texorpdfstring{\_\_PTRDIFF\_T\_DEFINED}{\_\_PTRDIFF\_T\_DEFINED}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+P\+T\+R\+D\+I\+F\+F\+\_\+\+T\+\_\+\+D\+E\+F\+I\+N\+ED} + +\mbox{\Hypertarget{stddef_8h_a8de3167f7b52ff5a2f538858cb5e32d3}\label{stddef_8h_a8de3167f7b52ff5a2f538858cb5e32d3}} +\index{stddef.h@{stddef.h}!\_\_SIZE\_T\_DEFINED@{\_\_SIZE\_T\_DEFINED}} +\index{\_\_SIZE\_T\_DEFINED@{\_\_SIZE\_T\_DEFINED}!stddef.h@{stddef.h}} +\doxyparagraph{\texorpdfstring{\_\_SIZE\_T\_DEFINED}{\_\_SIZE\_T\_DEFINED}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+S\+I\+Z\+E\+\_\+\+T\+\_\+\+D\+E\+F\+I\+N\+ED} + +\mbox{\Hypertarget{stddef_8h_a4aa39aaff620f750e11ece0766b185fd}\label{stddef_8h_a4aa39aaff620f750e11ece0766b185fd}} +\index{stddef.h@{stddef.h}!\_\_WCHAR\_T\_DEFINED@{\_\_WCHAR\_T\_DEFINED}} +\index{\_\_WCHAR\_T\_DEFINED@{\_\_WCHAR\_T\_DEFINED}!stddef.h@{stddef.h}} +\doxyparagraph{\texorpdfstring{\_\_WCHAR\_T\_DEFINED}{\_\_WCHAR\_T\_DEFINED}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+W\+C\+H\+A\+R\+\_\+\+T\+\_\+\+D\+E\+F\+I\+N\+ED} + +\mbox{\Hypertarget{stddef_8h_ad89ebe5fe5ad08c683f0871118ea8e2f}\label{stddef_8h_ad89ebe5fe5ad08c683f0871118ea8e2f}} +\index{stddef.h@{stddef.h}!offsetof@{offsetof}} +\index{offsetof@{offsetof}!stddef.h@{stddef.h}} +\doxyparagraph{\texorpdfstring{offsetof}{offsetof}} +{\footnotesize\ttfamily \#define offsetof(\begin{DoxyParamCaption}\item[{}]{s, }\item[{}]{m }\end{DoxyParamCaption})~\+\_\+\+\_\+builtin\+\_\+offsetof (s, m)} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{stddef_8h_afbe679a40a36da5983ebc5b39754c065}\label{stddef_8h_afbe679a40a36da5983ebc5b39754c065}} +\index{stddef.h@{stddef.h}!ptrdiff\_t@{ptrdiff\_t}} +\index{ptrdiff\_t@{ptrdiff\_t}!stddef.h@{stddef.h}} +\doxyparagraph{\texorpdfstring{ptrdiff\_t}{ptrdiff\_t}} +{\footnotesize\ttfamily typedef int \mbox{\hyperlink{stddef_8h_afbe679a40a36da5983ebc5b39754c065}{ptrdiff\+\_\+t}}} + +\mbox{\Hypertarget{stddef_8h_a7c94ea6f8948649f8d181ae55911eeaf}\label{stddef_8h_a7c94ea6f8948649f8d181ae55911eeaf}} +\index{stddef.h@{stddef.h}!size\_t@{size\_t}} +\index{size\_t@{size\_t}!stddef.h@{stddef.h}} +\doxyparagraph{\texorpdfstring{size\_t}{size\_t}} +{\footnotesize\ttfamily typedef unsigned int \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}} + +\mbox{\Hypertarget{stddef_8h_a88ca3e0156f8101475a589ae3cbd98c8}\label{stddef_8h_a88ca3e0156f8101475a589ae3cbd98c8}} +\index{stddef.h@{stddef.h}!wchar\_t@{wchar\_t}} +\index{wchar\_t@{wchar\_t}!stddef.h@{stddef.h}} +\doxyparagraph{\texorpdfstring{wchar\_t}{wchar\_t}} +{\footnotesize\ttfamily typedef unsigned long int \mbox{\hyperlink{stddef_8h_a88ca3e0156f8101475a589ae3cbd98c8}{wchar\+\_\+t}}} + diff --git a/docs/latex/stdint_8h.tex b/docs/latex/stdint_8h.tex @@ -0,0 +1,590 @@ +\hypertarget{stdint_8h}{}\doxysubsection{stdint.\+h File Reference} +\label{stdint_8h}\index{stdint.h@{stdint.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{stdint_8h_aadcf2a81af243df333b31efa6461ab8e}{I\+N\+T8\+\_\+\+M\+IN}}~(-\/128) +\item +\#define \mbox{\hyperlink{stdint_8h_ad4e9955955b27624963643eac448118a}{I\+N\+T16\+\_\+\+M\+IN}}~(-\/32767-\/1) +\item +\#define \mbox{\hyperlink{stdint_8h_a688eb21a22db27c2b2bd5836943cdcbe}{I\+N\+T32\+\_\+\+M\+IN}}~(-\/2147483647L-\/1) +\item +\#define \mbox{\hyperlink{stdint_8h_aaf7f29f45f1a513b4748a4e5014ddf6a}{I\+N\+T8\+\_\+\+M\+AX}}~(127) +\item +\#define \mbox{\hyperlink{stdint_8h_ac58f2c111cc9989c86db2a7dc4fd84ca}{I\+N\+T16\+\_\+\+M\+AX}}~(32767) +\item +\#define \mbox{\hyperlink{stdint_8h_a181807730d4a375f848ba139813ce04f}{I\+N\+T32\+\_\+\+M\+AX}}~(2147483647L) +\item +\#define \mbox{\hyperlink{stdint_8h_aeb4e270a084ee26fe73e799861bd0252}{U\+I\+N\+T8\+\_\+\+M\+AX}}~(255) +\item +\#define \mbox{\hyperlink{stdint_8h_a3ea490c9b3617d4479bd80ef93cd5602}{U\+I\+N\+T16\+\_\+\+M\+AX}}~(65535) +\item +\#define \mbox{\hyperlink{stdint_8h_ab5eb23180f7cc12b7d6c04a8ec067fdd}{U\+I\+N\+T32\+\_\+\+M\+AX}}~(4294967295UL) +\item +\#define \mbox{\hyperlink{stdint_8h_a3e986cad833f63f420962ff60eda87e5}{I\+N\+T\+\_\+\+L\+E\+A\+S\+T8\+\_\+\+M\+IN}}~\mbox{\hyperlink{stdint_8h_aadcf2a81af243df333b31efa6461ab8e}{I\+N\+T8\+\_\+\+M\+IN}} +\item +\#define \mbox{\hyperlink{stdint_8h_a1f91bfd5820c2f27af3d260fc75813e1}{I\+N\+T\+\_\+\+L\+E\+A\+S\+T16\+\_\+\+M\+IN}}~\mbox{\hyperlink{stdint_8h_ad4e9955955b27624963643eac448118a}{I\+N\+T16\+\_\+\+M\+IN}} +\item +\#define \mbox{\hyperlink{stdint_8h_a2360a536116dd734820a6b5b3d560ce7}{I\+N\+T\+\_\+\+L\+E\+A\+S\+T32\+\_\+\+M\+IN}}~\mbox{\hyperlink{stdint_8h_a688eb21a22db27c2b2bd5836943cdcbe}{I\+N\+T32\+\_\+\+M\+IN}} +\item +\#define \mbox{\hyperlink{stdint_8h_aa05109908fb2770f632d2b646b9f85bf}{I\+N\+T\+\_\+\+L\+E\+A\+S\+T8\+\_\+\+M\+AX}}~\mbox{\hyperlink{stdint_8h_aaf7f29f45f1a513b4748a4e5014ddf6a}{I\+N\+T8\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{stdint_8h_a7eb2a8e2a1c65d6c9ad0f86154890baa}{I\+N\+T\+\_\+\+L\+E\+A\+S\+T16\+\_\+\+M\+AX}}~\mbox{\hyperlink{stdint_8h_ac58f2c111cc9989c86db2a7dc4fd84ca}{I\+N\+T16\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{stdint_8h_a5618711a0a54f722190a3a1219e278c2}{I\+N\+T\+\_\+\+L\+E\+A\+S\+T32\+\_\+\+M\+AX}}~\mbox{\hyperlink{stdint_8h_a181807730d4a375f848ba139813ce04f}{I\+N\+T32\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{stdint_8h_a2a80bde77ee1698d0f42f334adad4f2b}{U\+I\+N\+T\+\_\+\+L\+E\+A\+S\+T8\+\_\+\+M\+AX}}~\mbox{\hyperlink{stdint_8h_aeb4e270a084ee26fe73e799861bd0252}{U\+I\+N\+T8\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{stdint_8h_a6ef6a1a518bbf516ca8b0180b11c358f}{U\+I\+N\+T\+\_\+\+L\+E\+A\+S\+T16\+\_\+\+M\+AX}}~\mbox{\hyperlink{stdint_8h_a3ea490c9b3617d4479bd80ef93cd5602}{U\+I\+N\+T16\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{stdint_8h_a70cad8bacc9a6db301e1cdc86cc8d571}{U\+I\+N\+T\+\_\+\+L\+E\+A\+S\+T32\+\_\+\+M\+AX}}~\mbox{\hyperlink{stdint_8h_ab5eb23180f7cc12b7d6c04a8ec067fdd}{U\+I\+N\+T32\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{stdint_8h_aad8fb982cb19143efd5ee9a1a7a89390}{I\+N\+T\+\_\+\+F\+A\+S\+T8\+\_\+\+M\+IN}}~\mbox{\hyperlink{stdint_8h_aadcf2a81af243df333b31efa6461ab8e}{I\+N\+T8\+\_\+\+M\+IN}} +\item +\#define \mbox{\hyperlink{stdint_8h_a169460a4e2a79138723d68d99372d958}{I\+N\+T\+\_\+\+F\+A\+S\+T16\+\_\+\+M\+IN}}~\mbox{\hyperlink{stdint_8h_ad4e9955955b27624963643eac448118a}{I\+N\+T16\+\_\+\+M\+IN}} +\item +\#define \mbox{\hyperlink{stdint_8h_ad93df1652ed0635513d5efe4f1219926}{I\+N\+T\+\_\+\+F\+A\+S\+T32\+\_\+\+M\+IN}}~\mbox{\hyperlink{stdint_8h_a688eb21a22db27c2b2bd5836943cdcbe}{I\+N\+T32\+\_\+\+M\+IN}} +\item +\#define \mbox{\hyperlink{stdint_8h_acbcdb3bee0f5f904da5df8de69a80ca3}{I\+N\+T\+\_\+\+F\+A\+S\+T8\+\_\+\+M\+AX}}~\mbox{\hyperlink{stdint_8h_aaf7f29f45f1a513b4748a4e5014ddf6a}{I\+N\+T8\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{stdint_8h_a2fd35d0ea091e04caec504ff0042cf00}{I\+N\+T\+\_\+\+F\+A\+S\+T16\+\_\+\+M\+AX}}~\mbox{\hyperlink{stdint_8h_ac58f2c111cc9989c86db2a7dc4fd84ca}{I\+N\+T16\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{stdint_8h_ac96fa0f41b19e89f109e4f9913ca6635}{I\+N\+T\+\_\+\+F\+A\+S\+T32\+\_\+\+M\+AX}}~\mbox{\hyperlink{stdint_8h_a181807730d4a375f848ba139813ce04f}{I\+N\+T32\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{stdint_8h_a2c6f97ea2d76d0cf6260c84046cdb44e}{U\+I\+N\+T\+\_\+\+F\+A\+S\+T8\+\_\+\+M\+AX}}~\mbox{\hyperlink{stdint_8h_aeb4e270a084ee26fe73e799861bd0252}{U\+I\+N\+T8\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{stdint_8h_aed28ca63d9b222f6f1377358fe73a183}{U\+I\+N\+T\+\_\+\+F\+A\+S\+T16\+\_\+\+M\+AX}}~\mbox{\hyperlink{stdint_8h_a3ea490c9b3617d4479bd80ef93cd5602}{U\+I\+N\+T16\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{stdint_8h_ad51246a178143208b2db3315efd21c45}{U\+I\+N\+T\+\_\+\+F\+A\+S\+T32\+\_\+\+M\+AX}}~\mbox{\hyperlink{stdint_8h_ab5eb23180f7cc12b7d6c04a8ec067fdd}{U\+I\+N\+T32\+\_\+\+M\+AX}} +\item +\#define \mbox{\hyperlink{stdint_8h_a2aaa6d3aa1d7d1e0e326955aa24db752}{I\+N\+T\+P\+T\+R\+\_\+\+M\+IN}}~(-\/32767-\/1) +\item +\#define \mbox{\hyperlink{stdint_8h_a9e5742f2bae4a5283431a3c03499e3a9}{I\+N\+T\+P\+T\+R\+\_\+\+M\+AX}}~(32767) +\item +\#define \mbox{\hyperlink{stdint_8h_ab2355300ea19395357e62d780f4dd073}{U\+I\+N\+T\+P\+T\+R\+\_\+\+M\+AX}}~(65535) +\item +\#define \mbox{\hyperlink{stdint_8h_a2b0a3edfc672154f606dc3ad26277b61}{I\+N\+T\+M\+A\+X\+\_\+\+M\+IN}}~(-\/2147483647L-\/1) +\item +\#define \mbox{\hyperlink{stdint_8h_a022b9b0a3564d786244a4631847c37a3}{I\+N\+T\+M\+A\+X\+\_\+\+M\+AX}}~(2147483647L) +\item +\#define \mbox{\hyperlink{stdint_8h_aa54fd5210434219e9027bfa0f0e325c8}{U\+I\+N\+T\+M\+A\+X\+\_\+\+M\+AX}}~(4294967295UL) +\item +\#define \mbox{\hyperlink{stdint_8h_ad9b88ba2fb858f98b50b38e49875d90e}{P\+T\+R\+D\+I\+F\+F\+\_\+\+M\+IN}}~(-\/32767-\/1) +\item +\#define \mbox{\hyperlink{stdint_8h_add2ef7bffac19cfdd1f4b5495409672f}{P\+T\+R\+D\+I\+F\+F\+\_\+\+M\+AX}}~(32767) +\item +\#define \mbox{\hyperlink{stdint_8h_a21e605b9ac3a03b6de93cdf5a69e129f}{S\+I\+G\+\_\+\+A\+T\+O\+M\+I\+C\+\_\+\+M\+IN}}~(0) +\item +\#define \mbox{\hyperlink{stdint_8h_a1f5fe9445d0ad0bee21bab1de4cc3e58}{S\+I\+G\+\_\+\+A\+T\+O\+M\+I\+C\+\_\+\+M\+AX}}~(255) +\item +\#define \mbox{\hyperlink{stdint_8h_a3c75bb398badb69c7577b21486f9963f}{S\+I\+Z\+E\+\_\+\+M\+AX}}~(65535u) +\item +\#define \mbox{\hyperlink{stdint_8h_a6b76c8f233c61e6ea05b19b59a6e3549}{I\+N\+T8\+\_\+C}}(\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} +\item +\#define \mbox{\hyperlink{stdint_8h_ae80ec61658b3f58afc31ee67ccd27805}{I\+N\+T16\+\_\+C}}(\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} +\item +\#define \mbox{\hyperlink{stdint_8h_a5391a63e4d2c8c8a39b3c6f8fdbd8763}{I\+N\+T32\+\_\+C}}(\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} \#\# L +\item +\#define \mbox{\hyperlink{stdint_8h_af77373faf472a16283aad2014724192d}{U\+I\+N\+T8\+\_\+C}}(\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} \#\# U +\item +\#define \mbox{\hyperlink{stdint_8h_af525dddf7f072ee85c953107123ff1f6}{U\+I\+N\+T16\+\_\+C}}(\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} \#\# U +\item +\#define \mbox{\hyperlink{stdint_8h_a87b9ec7df1524edf020b074bbae32d6d}{U\+I\+N\+T32\+\_\+C}}(\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} \#\# UL +\item +\#define \mbox{\hyperlink{stdint_8h_a051084d5ebcabf282d9ca9bb2b891a78}{W\+C\+H\+A\+R\+\_\+\+M\+IN}}~0 +\item +\#define \mbox{\hyperlink{stdint_8h_a2a823f3ccf2306cfbaa34d8addf66010}{W\+C\+H\+A\+R\+\_\+\+M\+AX}}~0xffffffff +\item +\#define \mbox{\hyperlink{stdint_8h_a5285bc55170ae1701e599decacc7f001}{W\+I\+N\+T\+\_\+\+M\+IN}}~0 +\item +\#define \mbox{\hyperlink{stdint_8h_ad3f7b6bb8aa7d619017a91d3b2edc1ee}{W\+I\+N\+T\+\_\+\+M\+AX}}~0xffffffff +\item +\#define \mbox{\hyperlink{stdint_8h_a1b955596bdc3e4b6ef339f16e468d55f}{I\+N\+T\+M\+A\+X\+\_\+C}}(\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} \#\# L +\item +\#define \mbox{\hyperlink{stdint_8h_a00d3f5dd8a8cbd9433d74390bfb2ecef}{U\+I\+N\+T\+M\+A\+X\+\_\+C}}(\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} \#\# UL +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef signed char \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} +\item +typedef short int \mbox{\hyperlink{stdint_8h_a66634143db08bebe9b46ab4cb1fc6fd3}{int16\+\_\+t}} +\item +typedef long int \mbox{\hyperlink{stdint_8h_a7cf4a942912b990a96c39f9a2b81aa32}{int32\+\_\+t}} +\item +typedef unsigned char \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} +\item +typedef unsigned short int \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} +\item +typedef unsigned long int \mbox{\hyperlink{stdint_8h_a33594304e786b158f3fb30289278f5af}{uint32\+\_\+t}} +\item +typedef signed char \mbox{\hyperlink{stdint_8h_ae04fa5ea5ad475bfe428842a986fbf28}{int\+\_\+least8\+\_\+t}} +\item +typedef short int \mbox{\hyperlink{stdint_8h_a3379485af1661b4f36ac1c311832253b}{int\+\_\+least16\+\_\+t}} +\item +typedef long int \mbox{\hyperlink{stdint_8h_a50d1c7c0834558a78588e1d6d0f62a1d}{int\+\_\+least32\+\_\+t}} +\item +typedef unsigned char \mbox{\hyperlink{stdint_8h_ab0fdd2a9dc9606590ecccc0a5d8b5b7c}{uint\+\_\+least8\+\_\+t}} +\item +typedef unsigned short int \mbox{\hyperlink{stdint_8h_a1bae72af13d35bac8eb9424db7e27bf1}{uint\+\_\+least16\+\_\+t}} +\item +typedef unsigned long int \mbox{\hyperlink{stdint_8h_a1c0bb513299dbdffa1cce4277593b3ce}{uint\+\_\+least32\+\_\+t}} +\item +typedef signed char \mbox{\hyperlink{stdint_8h_afa981e0352f65c207364c9cb82246b53}{int\+\_\+fast8\+\_\+t}} +\item +typedef int \mbox{\hyperlink{stdint_8h_afc08556e35ad5fc42968cf164e7852d4}{int\+\_\+fast16\+\_\+t}} +\item +typedef long int \mbox{\hyperlink{stdint_8h_a21402dabb3274e5161a34a27ccff50db}{int\+\_\+fast32\+\_\+t}} +\item +typedef unsigned char \mbox{\hyperlink{stdint_8h_a2d31063fef649c85396fb28130ef9795}{uint\+\_\+fast8\+\_\+t}} +\item +typedef unsigned int \mbox{\hyperlink{stdint_8h_a226d967fb6d06433caf43f20dc876aae}{uint\+\_\+fast16\+\_\+t}} +\item +typedef unsigned long int \mbox{\hyperlink{stdint_8h_a8a5d6c5353ff297fd0797e654772361b}{uint\+\_\+fast32\+\_\+t}} +\item +typedef int \mbox{\hyperlink{stdint_8h_a0fbe4a4f8dd857ee04923a901f27465f}{intptr\+\_\+t}} +\item +typedef unsigned int \mbox{\hyperlink{stdint_8h_a728e973c799f206f0151c8a3bd1e5699}{uintptr\+\_\+t}} +\item +typedef long int \mbox{\hyperlink{stdint_8h_aa8722f97ae26d6aeff0fd4ebba7de7e4}{intmax\+\_\+t}} +\item +typedef unsigned long int \mbox{\hyperlink{stdint_8h_a21649560c6e8dce6de2fb6a95f1bf802}{uintmax\+\_\+t}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{stdint_8h_aadcf2a81af243df333b31efa6461ab8e}\label{stdint_8h_aadcf2a81af243df333b31efa6461ab8e}} +\index{stdint.h@{stdint.h}!INT8\_MIN@{INT8\_MIN}} +\index{INT8\_MIN@{INT8\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT8\_MIN}{INT8\_MIN}} +{\footnotesize\ttfamily \#define I\+N\+T8\+\_\+\+M\+IN~(-\/128)} + +\mbox{\Hypertarget{stdint_8h_ad4e9955955b27624963643eac448118a}\label{stdint_8h_ad4e9955955b27624963643eac448118a}} +\index{stdint.h@{stdint.h}!INT16\_MIN@{INT16\_MIN}} +\index{INT16\_MIN@{INT16\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT16\_MIN}{INT16\_MIN}} +{\footnotesize\ttfamily \#define I\+N\+T16\+\_\+\+M\+IN~(-\/32767-\/1)} + +\mbox{\Hypertarget{stdint_8h_a688eb21a22db27c2b2bd5836943cdcbe}\label{stdint_8h_a688eb21a22db27c2b2bd5836943cdcbe}} +\index{stdint.h@{stdint.h}!INT32\_MIN@{INT32\_MIN}} +\index{INT32\_MIN@{INT32\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT32\_MIN}{INT32\_MIN}} +{\footnotesize\ttfamily \#define I\+N\+T32\+\_\+\+M\+IN~(-\/2147483647L-\/1)} + +\mbox{\Hypertarget{stdint_8h_aaf7f29f45f1a513b4748a4e5014ddf6a}\label{stdint_8h_aaf7f29f45f1a513b4748a4e5014ddf6a}} +\index{stdint.h@{stdint.h}!INT8\_MAX@{INT8\_MAX}} +\index{INT8\_MAX@{INT8\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT8\_MAX}{INT8\_MAX}} +{\footnotesize\ttfamily \#define I\+N\+T8\+\_\+\+M\+AX~(127)} + +\mbox{\Hypertarget{stdint_8h_ac58f2c111cc9989c86db2a7dc4fd84ca}\label{stdint_8h_ac58f2c111cc9989c86db2a7dc4fd84ca}} +\index{stdint.h@{stdint.h}!INT16\_MAX@{INT16\_MAX}} +\index{INT16\_MAX@{INT16\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT16\_MAX}{INT16\_MAX}} +{\footnotesize\ttfamily \#define I\+N\+T16\+\_\+\+M\+AX~(32767)} + +\mbox{\Hypertarget{stdint_8h_a181807730d4a375f848ba139813ce04f}\label{stdint_8h_a181807730d4a375f848ba139813ce04f}} +\index{stdint.h@{stdint.h}!INT32\_MAX@{INT32\_MAX}} +\index{INT32\_MAX@{INT32\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT32\_MAX}{INT32\_MAX}} +{\footnotesize\ttfamily \#define I\+N\+T32\+\_\+\+M\+AX~(2147483647L)} + +\mbox{\Hypertarget{stdint_8h_aeb4e270a084ee26fe73e799861bd0252}\label{stdint_8h_aeb4e270a084ee26fe73e799861bd0252}} +\index{stdint.h@{stdint.h}!UINT8\_MAX@{UINT8\_MAX}} +\index{UINT8\_MAX@{UINT8\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINT8\_MAX}{UINT8\_MAX}} +{\footnotesize\ttfamily \#define U\+I\+N\+T8\+\_\+\+M\+AX~(255)} + +\mbox{\Hypertarget{stdint_8h_a3ea490c9b3617d4479bd80ef93cd5602}\label{stdint_8h_a3ea490c9b3617d4479bd80ef93cd5602}} +\index{stdint.h@{stdint.h}!UINT16\_MAX@{UINT16\_MAX}} +\index{UINT16\_MAX@{UINT16\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINT16\_MAX}{UINT16\_MAX}} +{\footnotesize\ttfamily \#define U\+I\+N\+T16\+\_\+\+M\+AX~(65535)} + +\mbox{\Hypertarget{stdint_8h_ab5eb23180f7cc12b7d6c04a8ec067fdd}\label{stdint_8h_ab5eb23180f7cc12b7d6c04a8ec067fdd}} +\index{stdint.h@{stdint.h}!UINT32\_MAX@{UINT32\_MAX}} +\index{UINT32\_MAX@{UINT32\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINT32\_MAX}{UINT32\_MAX}} +{\footnotesize\ttfamily \#define U\+I\+N\+T32\+\_\+\+M\+AX~(4294967295UL)} + +\mbox{\Hypertarget{stdint_8h_a3e986cad833f63f420962ff60eda87e5}\label{stdint_8h_a3e986cad833f63f420962ff60eda87e5}} +\index{stdint.h@{stdint.h}!INT\_LEAST8\_MIN@{INT\_LEAST8\_MIN}} +\index{INT\_LEAST8\_MIN@{INT\_LEAST8\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT\_LEAST8\_MIN}{INT\_LEAST8\_MIN}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+L\+E\+A\+S\+T8\+\_\+\+M\+IN~\mbox{\hyperlink{stdint_8h_aadcf2a81af243df333b31efa6461ab8e}{I\+N\+T8\+\_\+\+M\+IN}}} + +\mbox{\Hypertarget{stdint_8h_a1f91bfd5820c2f27af3d260fc75813e1}\label{stdint_8h_a1f91bfd5820c2f27af3d260fc75813e1}} +\index{stdint.h@{stdint.h}!INT\_LEAST16\_MIN@{INT\_LEAST16\_MIN}} +\index{INT\_LEAST16\_MIN@{INT\_LEAST16\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT\_LEAST16\_MIN}{INT\_LEAST16\_MIN}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+L\+E\+A\+S\+T16\+\_\+\+M\+IN~\mbox{\hyperlink{stdint_8h_ad4e9955955b27624963643eac448118a}{I\+N\+T16\+\_\+\+M\+IN}}} + +\mbox{\Hypertarget{stdint_8h_a2360a536116dd734820a6b5b3d560ce7}\label{stdint_8h_a2360a536116dd734820a6b5b3d560ce7}} +\index{stdint.h@{stdint.h}!INT\_LEAST32\_MIN@{INT\_LEAST32\_MIN}} +\index{INT\_LEAST32\_MIN@{INT\_LEAST32\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT\_LEAST32\_MIN}{INT\_LEAST32\_MIN}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+L\+E\+A\+S\+T32\+\_\+\+M\+IN~\mbox{\hyperlink{stdint_8h_a688eb21a22db27c2b2bd5836943cdcbe}{I\+N\+T32\+\_\+\+M\+IN}}} + +\mbox{\Hypertarget{stdint_8h_aa05109908fb2770f632d2b646b9f85bf}\label{stdint_8h_aa05109908fb2770f632d2b646b9f85bf}} +\index{stdint.h@{stdint.h}!INT\_LEAST8\_MAX@{INT\_LEAST8\_MAX}} +\index{INT\_LEAST8\_MAX@{INT\_LEAST8\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT\_LEAST8\_MAX}{INT\_LEAST8\_MAX}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+L\+E\+A\+S\+T8\+\_\+\+M\+AX~\mbox{\hyperlink{stdint_8h_aaf7f29f45f1a513b4748a4e5014ddf6a}{I\+N\+T8\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{stdint_8h_a7eb2a8e2a1c65d6c9ad0f86154890baa}\label{stdint_8h_a7eb2a8e2a1c65d6c9ad0f86154890baa}} +\index{stdint.h@{stdint.h}!INT\_LEAST16\_MAX@{INT\_LEAST16\_MAX}} +\index{INT\_LEAST16\_MAX@{INT\_LEAST16\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT\_LEAST16\_MAX}{INT\_LEAST16\_MAX}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+L\+E\+A\+S\+T16\+\_\+\+M\+AX~\mbox{\hyperlink{stdint_8h_ac58f2c111cc9989c86db2a7dc4fd84ca}{I\+N\+T16\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{stdint_8h_a5618711a0a54f722190a3a1219e278c2}\label{stdint_8h_a5618711a0a54f722190a3a1219e278c2}} +\index{stdint.h@{stdint.h}!INT\_LEAST32\_MAX@{INT\_LEAST32\_MAX}} +\index{INT\_LEAST32\_MAX@{INT\_LEAST32\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT\_LEAST32\_MAX}{INT\_LEAST32\_MAX}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+L\+E\+A\+S\+T32\+\_\+\+M\+AX~\mbox{\hyperlink{stdint_8h_a181807730d4a375f848ba139813ce04f}{I\+N\+T32\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{stdint_8h_a2a80bde77ee1698d0f42f334adad4f2b}\label{stdint_8h_a2a80bde77ee1698d0f42f334adad4f2b}} +\index{stdint.h@{stdint.h}!UINT\_LEAST8\_MAX@{UINT\_LEAST8\_MAX}} +\index{UINT\_LEAST8\_MAX@{UINT\_LEAST8\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINT\_LEAST8\_MAX}{UINT\_LEAST8\_MAX}} +{\footnotesize\ttfamily \#define U\+I\+N\+T\+\_\+\+L\+E\+A\+S\+T8\+\_\+\+M\+AX~\mbox{\hyperlink{stdint_8h_aeb4e270a084ee26fe73e799861bd0252}{U\+I\+N\+T8\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{stdint_8h_a6ef6a1a518bbf516ca8b0180b11c358f}\label{stdint_8h_a6ef6a1a518bbf516ca8b0180b11c358f}} +\index{stdint.h@{stdint.h}!UINT\_LEAST16\_MAX@{UINT\_LEAST16\_MAX}} +\index{UINT\_LEAST16\_MAX@{UINT\_LEAST16\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINT\_LEAST16\_MAX}{UINT\_LEAST16\_MAX}} +{\footnotesize\ttfamily \#define U\+I\+N\+T\+\_\+\+L\+E\+A\+S\+T16\+\_\+\+M\+AX~\mbox{\hyperlink{stdint_8h_a3ea490c9b3617d4479bd80ef93cd5602}{U\+I\+N\+T16\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{stdint_8h_a70cad8bacc9a6db301e1cdc86cc8d571}\label{stdint_8h_a70cad8bacc9a6db301e1cdc86cc8d571}} +\index{stdint.h@{stdint.h}!UINT\_LEAST32\_MAX@{UINT\_LEAST32\_MAX}} +\index{UINT\_LEAST32\_MAX@{UINT\_LEAST32\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINT\_LEAST32\_MAX}{UINT\_LEAST32\_MAX}} +{\footnotesize\ttfamily \#define U\+I\+N\+T\+\_\+\+L\+E\+A\+S\+T32\+\_\+\+M\+AX~\mbox{\hyperlink{stdint_8h_ab5eb23180f7cc12b7d6c04a8ec067fdd}{U\+I\+N\+T32\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{stdint_8h_aad8fb982cb19143efd5ee9a1a7a89390}\label{stdint_8h_aad8fb982cb19143efd5ee9a1a7a89390}} +\index{stdint.h@{stdint.h}!INT\_FAST8\_MIN@{INT\_FAST8\_MIN}} +\index{INT\_FAST8\_MIN@{INT\_FAST8\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT\_FAST8\_MIN}{INT\_FAST8\_MIN}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+F\+A\+S\+T8\+\_\+\+M\+IN~\mbox{\hyperlink{stdint_8h_aadcf2a81af243df333b31efa6461ab8e}{I\+N\+T8\+\_\+\+M\+IN}}} + +\mbox{\Hypertarget{stdint_8h_a169460a4e2a79138723d68d99372d958}\label{stdint_8h_a169460a4e2a79138723d68d99372d958}} +\index{stdint.h@{stdint.h}!INT\_FAST16\_MIN@{INT\_FAST16\_MIN}} +\index{INT\_FAST16\_MIN@{INT\_FAST16\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT\_FAST16\_MIN}{INT\_FAST16\_MIN}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+F\+A\+S\+T16\+\_\+\+M\+IN~\mbox{\hyperlink{stdint_8h_ad4e9955955b27624963643eac448118a}{I\+N\+T16\+\_\+\+M\+IN}}} + +\mbox{\Hypertarget{stdint_8h_ad93df1652ed0635513d5efe4f1219926}\label{stdint_8h_ad93df1652ed0635513d5efe4f1219926}} +\index{stdint.h@{stdint.h}!INT\_FAST32\_MIN@{INT\_FAST32\_MIN}} +\index{INT\_FAST32\_MIN@{INT\_FAST32\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT\_FAST32\_MIN}{INT\_FAST32\_MIN}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+F\+A\+S\+T32\+\_\+\+M\+IN~\mbox{\hyperlink{stdint_8h_a688eb21a22db27c2b2bd5836943cdcbe}{I\+N\+T32\+\_\+\+M\+IN}}} + +\mbox{\Hypertarget{stdint_8h_acbcdb3bee0f5f904da5df8de69a80ca3}\label{stdint_8h_acbcdb3bee0f5f904da5df8de69a80ca3}} +\index{stdint.h@{stdint.h}!INT\_FAST8\_MAX@{INT\_FAST8\_MAX}} +\index{INT\_FAST8\_MAX@{INT\_FAST8\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT\_FAST8\_MAX}{INT\_FAST8\_MAX}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+F\+A\+S\+T8\+\_\+\+M\+AX~\mbox{\hyperlink{stdint_8h_aaf7f29f45f1a513b4748a4e5014ddf6a}{I\+N\+T8\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{stdint_8h_a2fd35d0ea091e04caec504ff0042cf00}\label{stdint_8h_a2fd35d0ea091e04caec504ff0042cf00}} +\index{stdint.h@{stdint.h}!INT\_FAST16\_MAX@{INT\_FAST16\_MAX}} +\index{INT\_FAST16\_MAX@{INT\_FAST16\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT\_FAST16\_MAX}{INT\_FAST16\_MAX}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+F\+A\+S\+T16\+\_\+\+M\+AX~\mbox{\hyperlink{stdint_8h_ac58f2c111cc9989c86db2a7dc4fd84ca}{I\+N\+T16\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{stdint_8h_ac96fa0f41b19e89f109e4f9913ca6635}\label{stdint_8h_ac96fa0f41b19e89f109e4f9913ca6635}} +\index{stdint.h@{stdint.h}!INT\_FAST32\_MAX@{INT\_FAST32\_MAX}} +\index{INT\_FAST32\_MAX@{INT\_FAST32\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT\_FAST32\_MAX}{INT\_FAST32\_MAX}} +{\footnotesize\ttfamily \#define I\+N\+T\+\_\+\+F\+A\+S\+T32\+\_\+\+M\+AX~\mbox{\hyperlink{stdint_8h_a181807730d4a375f848ba139813ce04f}{I\+N\+T32\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{stdint_8h_a2c6f97ea2d76d0cf6260c84046cdb44e}\label{stdint_8h_a2c6f97ea2d76d0cf6260c84046cdb44e}} +\index{stdint.h@{stdint.h}!UINT\_FAST8\_MAX@{UINT\_FAST8\_MAX}} +\index{UINT\_FAST8\_MAX@{UINT\_FAST8\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINT\_FAST8\_MAX}{UINT\_FAST8\_MAX}} +{\footnotesize\ttfamily \#define U\+I\+N\+T\+\_\+\+F\+A\+S\+T8\+\_\+\+M\+AX~\mbox{\hyperlink{stdint_8h_aeb4e270a084ee26fe73e799861bd0252}{U\+I\+N\+T8\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{stdint_8h_aed28ca63d9b222f6f1377358fe73a183}\label{stdint_8h_aed28ca63d9b222f6f1377358fe73a183}} +\index{stdint.h@{stdint.h}!UINT\_FAST16\_MAX@{UINT\_FAST16\_MAX}} +\index{UINT\_FAST16\_MAX@{UINT\_FAST16\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINT\_FAST16\_MAX}{UINT\_FAST16\_MAX}} +{\footnotesize\ttfamily \#define U\+I\+N\+T\+\_\+\+F\+A\+S\+T16\+\_\+\+M\+AX~\mbox{\hyperlink{stdint_8h_a3ea490c9b3617d4479bd80ef93cd5602}{U\+I\+N\+T16\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{stdint_8h_ad51246a178143208b2db3315efd21c45}\label{stdint_8h_ad51246a178143208b2db3315efd21c45}} +\index{stdint.h@{stdint.h}!UINT\_FAST32\_MAX@{UINT\_FAST32\_MAX}} +\index{UINT\_FAST32\_MAX@{UINT\_FAST32\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINT\_FAST32\_MAX}{UINT\_FAST32\_MAX}} +{\footnotesize\ttfamily \#define U\+I\+N\+T\+\_\+\+F\+A\+S\+T32\+\_\+\+M\+AX~\mbox{\hyperlink{stdint_8h_ab5eb23180f7cc12b7d6c04a8ec067fdd}{U\+I\+N\+T32\+\_\+\+M\+AX}}} + +\mbox{\Hypertarget{stdint_8h_a2aaa6d3aa1d7d1e0e326955aa24db752}\label{stdint_8h_a2aaa6d3aa1d7d1e0e326955aa24db752}} +\index{stdint.h@{stdint.h}!INTPTR\_MIN@{INTPTR\_MIN}} +\index{INTPTR\_MIN@{INTPTR\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INTPTR\_MIN}{INTPTR\_MIN}} +{\footnotesize\ttfamily \#define I\+N\+T\+P\+T\+R\+\_\+\+M\+IN~(-\/32767-\/1)} + +\mbox{\Hypertarget{stdint_8h_a9e5742f2bae4a5283431a3c03499e3a9}\label{stdint_8h_a9e5742f2bae4a5283431a3c03499e3a9}} +\index{stdint.h@{stdint.h}!INTPTR\_MAX@{INTPTR\_MAX}} +\index{INTPTR\_MAX@{INTPTR\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INTPTR\_MAX}{INTPTR\_MAX}} +{\footnotesize\ttfamily \#define I\+N\+T\+P\+T\+R\+\_\+\+M\+AX~(32767)} + +\mbox{\Hypertarget{stdint_8h_ab2355300ea19395357e62d780f4dd073}\label{stdint_8h_ab2355300ea19395357e62d780f4dd073}} +\index{stdint.h@{stdint.h}!UINTPTR\_MAX@{UINTPTR\_MAX}} +\index{UINTPTR\_MAX@{UINTPTR\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINTPTR\_MAX}{UINTPTR\_MAX}} +{\footnotesize\ttfamily \#define U\+I\+N\+T\+P\+T\+R\+\_\+\+M\+AX~(65535)} + +\mbox{\Hypertarget{stdint_8h_a2b0a3edfc672154f606dc3ad26277b61}\label{stdint_8h_a2b0a3edfc672154f606dc3ad26277b61}} +\index{stdint.h@{stdint.h}!INTMAX\_MIN@{INTMAX\_MIN}} +\index{INTMAX\_MIN@{INTMAX\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INTMAX\_MIN}{INTMAX\_MIN}} +{\footnotesize\ttfamily \#define I\+N\+T\+M\+A\+X\+\_\+\+M\+IN~(-\/2147483647L-\/1)} + +\mbox{\Hypertarget{stdint_8h_a022b9b0a3564d786244a4631847c37a3}\label{stdint_8h_a022b9b0a3564d786244a4631847c37a3}} +\index{stdint.h@{stdint.h}!INTMAX\_MAX@{INTMAX\_MAX}} +\index{INTMAX\_MAX@{INTMAX\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INTMAX\_MAX}{INTMAX\_MAX}} +{\footnotesize\ttfamily \#define I\+N\+T\+M\+A\+X\+\_\+\+M\+AX~(2147483647L)} + +\mbox{\Hypertarget{stdint_8h_aa54fd5210434219e9027bfa0f0e325c8}\label{stdint_8h_aa54fd5210434219e9027bfa0f0e325c8}} +\index{stdint.h@{stdint.h}!UINTMAX\_MAX@{UINTMAX\_MAX}} +\index{UINTMAX\_MAX@{UINTMAX\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINTMAX\_MAX}{UINTMAX\_MAX}} +{\footnotesize\ttfamily \#define U\+I\+N\+T\+M\+A\+X\+\_\+\+M\+AX~(4294967295UL)} + +\mbox{\Hypertarget{stdint_8h_ad9b88ba2fb858f98b50b38e49875d90e}\label{stdint_8h_ad9b88ba2fb858f98b50b38e49875d90e}} +\index{stdint.h@{stdint.h}!PTRDIFF\_MIN@{PTRDIFF\_MIN}} +\index{PTRDIFF\_MIN@{PTRDIFF\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{PTRDIFF\_MIN}{PTRDIFF\_MIN}} +{\footnotesize\ttfamily \#define P\+T\+R\+D\+I\+F\+F\+\_\+\+M\+IN~(-\/32767-\/1)} + +\mbox{\Hypertarget{stdint_8h_add2ef7bffac19cfdd1f4b5495409672f}\label{stdint_8h_add2ef7bffac19cfdd1f4b5495409672f}} +\index{stdint.h@{stdint.h}!PTRDIFF\_MAX@{PTRDIFF\_MAX}} +\index{PTRDIFF\_MAX@{PTRDIFF\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{PTRDIFF\_MAX}{PTRDIFF\_MAX}} +{\footnotesize\ttfamily \#define P\+T\+R\+D\+I\+F\+F\+\_\+\+M\+AX~(32767)} + +\mbox{\Hypertarget{stdint_8h_a21e605b9ac3a03b6de93cdf5a69e129f}\label{stdint_8h_a21e605b9ac3a03b6de93cdf5a69e129f}} +\index{stdint.h@{stdint.h}!SIG\_ATOMIC\_MIN@{SIG\_ATOMIC\_MIN}} +\index{SIG\_ATOMIC\_MIN@{SIG\_ATOMIC\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{SIG\_ATOMIC\_MIN}{SIG\_ATOMIC\_MIN}} +{\footnotesize\ttfamily \#define S\+I\+G\+\_\+\+A\+T\+O\+M\+I\+C\+\_\+\+M\+IN~(0)} + +\mbox{\Hypertarget{stdint_8h_a1f5fe9445d0ad0bee21bab1de4cc3e58}\label{stdint_8h_a1f5fe9445d0ad0bee21bab1de4cc3e58}} +\index{stdint.h@{stdint.h}!SIG\_ATOMIC\_MAX@{SIG\_ATOMIC\_MAX}} +\index{SIG\_ATOMIC\_MAX@{SIG\_ATOMIC\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{SIG\_ATOMIC\_MAX}{SIG\_ATOMIC\_MAX}} +{\footnotesize\ttfamily \#define S\+I\+G\+\_\+\+A\+T\+O\+M\+I\+C\+\_\+\+M\+AX~(255)} + +\mbox{\Hypertarget{stdint_8h_a3c75bb398badb69c7577b21486f9963f}\label{stdint_8h_a3c75bb398badb69c7577b21486f9963f}} +\index{stdint.h@{stdint.h}!SIZE\_MAX@{SIZE\_MAX}} +\index{SIZE\_MAX@{SIZE\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{SIZE\_MAX}{SIZE\_MAX}} +{\footnotesize\ttfamily \#define S\+I\+Z\+E\+\_\+\+M\+AX~(65535u)} + +\mbox{\Hypertarget{stdint_8h_a6b76c8f233c61e6ea05b19b59a6e3549}\label{stdint_8h_a6b76c8f233c61e6ea05b19b59a6e3549}} +\index{stdint.h@{stdint.h}!INT8\_C@{INT8\_C}} +\index{INT8\_C@{INT8\_C}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT8\_C}{INT8\_C}} +{\footnotesize\ttfamily \#define I\+N\+T8\+\_\+C(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} }\end{DoxyParamCaption})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}} + +\mbox{\Hypertarget{stdint_8h_ae80ec61658b3f58afc31ee67ccd27805}\label{stdint_8h_ae80ec61658b3f58afc31ee67ccd27805}} +\index{stdint.h@{stdint.h}!INT16\_C@{INT16\_C}} +\index{INT16\_C@{INT16\_C}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT16\_C}{INT16\_C}} +{\footnotesize\ttfamily \#define I\+N\+T16\+\_\+C(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} }\end{DoxyParamCaption})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}} + +\mbox{\Hypertarget{stdint_8h_a5391a63e4d2c8c8a39b3c6f8fdbd8763}\label{stdint_8h_a5391a63e4d2c8c8a39b3c6f8fdbd8763}} +\index{stdint.h@{stdint.h}!INT32\_C@{INT32\_C}} +\index{INT32\_C@{INT32\_C}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INT32\_C}{INT32\_C}} +{\footnotesize\ttfamily \#define I\+N\+T32\+\_\+C(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} }\end{DoxyParamCaption})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} \#\# L} + +\mbox{\Hypertarget{stdint_8h_af77373faf472a16283aad2014724192d}\label{stdint_8h_af77373faf472a16283aad2014724192d}} +\index{stdint.h@{stdint.h}!UINT8\_C@{UINT8\_C}} +\index{UINT8\_C@{UINT8\_C}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINT8\_C}{UINT8\_C}} +{\footnotesize\ttfamily \#define U\+I\+N\+T8\+\_\+C(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} }\end{DoxyParamCaption})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} \#\# U} + +\mbox{\Hypertarget{stdint_8h_af525dddf7f072ee85c953107123ff1f6}\label{stdint_8h_af525dddf7f072ee85c953107123ff1f6}} +\index{stdint.h@{stdint.h}!UINT16\_C@{UINT16\_C}} +\index{UINT16\_C@{UINT16\_C}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINT16\_C}{UINT16\_C}} +{\footnotesize\ttfamily \#define U\+I\+N\+T16\+\_\+C(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} }\end{DoxyParamCaption})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} \#\# U} + +\mbox{\Hypertarget{stdint_8h_a87b9ec7df1524edf020b074bbae32d6d}\label{stdint_8h_a87b9ec7df1524edf020b074bbae32d6d}} +\index{stdint.h@{stdint.h}!UINT32\_C@{UINT32\_C}} +\index{UINT32\_C@{UINT32\_C}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINT32\_C}{UINT32\_C}} +{\footnotesize\ttfamily \#define U\+I\+N\+T32\+\_\+C(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} }\end{DoxyParamCaption})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} \#\# UL} + +\mbox{\Hypertarget{stdint_8h_a051084d5ebcabf282d9ca9bb2b891a78}\label{stdint_8h_a051084d5ebcabf282d9ca9bb2b891a78}} +\index{stdint.h@{stdint.h}!WCHAR\_MIN@{WCHAR\_MIN}} +\index{WCHAR\_MIN@{WCHAR\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{WCHAR\_MIN}{WCHAR\_MIN}} +{\footnotesize\ttfamily \#define W\+C\+H\+A\+R\+\_\+\+M\+IN~0} + +\mbox{\Hypertarget{stdint_8h_a2a823f3ccf2306cfbaa34d8addf66010}\label{stdint_8h_a2a823f3ccf2306cfbaa34d8addf66010}} +\index{stdint.h@{stdint.h}!WCHAR\_MAX@{WCHAR\_MAX}} +\index{WCHAR\_MAX@{WCHAR\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{WCHAR\_MAX}{WCHAR\_MAX}} +{\footnotesize\ttfamily \#define W\+C\+H\+A\+R\+\_\+\+M\+AX~0xffffffff} + +\mbox{\Hypertarget{stdint_8h_a5285bc55170ae1701e599decacc7f001}\label{stdint_8h_a5285bc55170ae1701e599decacc7f001}} +\index{stdint.h@{stdint.h}!WINT\_MIN@{WINT\_MIN}} +\index{WINT\_MIN@{WINT\_MIN}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{WINT\_MIN}{WINT\_MIN}} +{\footnotesize\ttfamily \#define W\+I\+N\+T\+\_\+\+M\+IN~0} + +\mbox{\Hypertarget{stdint_8h_ad3f7b6bb8aa7d619017a91d3b2edc1ee}\label{stdint_8h_ad3f7b6bb8aa7d619017a91d3b2edc1ee}} +\index{stdint.h@{stdint.h}!WINT\_MAX@{WINT\_MAX}} +\index{WINT\_MAX@{WINT\_MAX}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{WINT\_MAX}{WINT\_MAX}} +{\footnotesize\ttfamily \#define W\+I\+N\+T\+\_\+\+M\+AX~0xffffffff} + +\mbox{\Hypertarget{stdint_8h_a1b955596bdc3e4b6ef339f16e468d55f}\label{stdint_8h_a1b955596bdc3e4b6ef339f16e468d55f}} +\index{stdint.h@{stdint.h}!INTMAX\_C@{INTMAX\_C}} +\index{INTMAX\_C@{INTMAX\_C}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{INTMAX\_C}{INTMAX\_C}} +{\footnotesize\ttfamily \#define I\+N\+T\+M\+A\+X\+\_\+C(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} }\end{DoxyParamCaption})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} \#\# L} + +\mbox{\Hypertarget{stdint_8h_a00d3f5dd8a8cbd9433d74390bfb2ecef}\label{stdint_8h_a00d3f5dd8a8cbd9433d74390bfb2ecef}} +\index{stdint.h@{stdint.h}!UINTMAX\_C@{UINTMAX\_C}} +\index{UINTMAX\_C@{UINTMAX\_C}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{UINTMAX\_C}{UINTMAX\_C}} +{\footnotesize\ttfamily \#define U\+I\+N\+T\+M\+A\+X\+\_\+C(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} }\end{DoxyParamCaption})~\mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}} \#\# UL} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{stdint_8h_aef44329758059c91c76d334e8fc09700}\label{stdint_8h_aef44329758059c91c76d334e8fc09700}} +\index{stdint.h@{stdint.h}!int8\_t@{int8\_t}} +\index{int8\_t@{int8\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{int8\_t}{int8\_t}} +{\footnotesize\ttfamily typedef signed char \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a66634143db08bebe9b46ab4cb1fc6fd3}\label{stdint_8h_a66634143db08bebe9b46ab4cb1fc6fd3}} +\index{stdint.h@{stdint.h}!int16\_t@{int16\_t}} +\index{int16\_t@{int16\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{int16\_t}{int16\_t}} +{\footnotesize\ttfamily typedef short int \mbox{\hyperlink{stdint_8h_a66634143db08bebe9b46ab4cb1fc6fd3}{int16\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a7cf4a942912b990a96c39f9a2b81aa32}\label{stdint_8h_a7cf4a942912b990a96c39f9a2b81aa32}} +\index{stdint.h@{stdint.h}!int32\_t@{int32\_t}} +\index{int32\_t@{int32\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{int32\_t}{int32\_t}} +{\footnotesize\ttfamily typedef long int \mbox{\hyperlink{stdint_8h_a7cf4a942912b990a96c39f9a2b81aa32}{int32\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}\label{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}} +\index{stdint.h@{stdint.h}!uint8\_t@{uint8\_t}} +\index{uint8\_t@{uint8\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{uint8\_t}{uint8\_t}} +{\footnotesize\ttfamily typedef unsigned char \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_adf4d876453337156dde61095e1f20223}\label{stdint_8h_adf4d876453337156dde61095e1f20223}} +\index{stdint.h@{stdint.h}!uint16\_t@{uint16\_t}} +\index{uint16\_t@{uint16\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{uint16\_t}{uint16\_t}} +{\footnotesize\ttfamily typedef unsigned short int \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a33594304e786b158f3fb30289278f5af}\label{stdint_8h_a33594304e786b158f3fb30289278f5af}} +\index{stdint.h@{stdint.h}!uint32\_t@{uint32\_t}} +\index{uint32\_t@{uint32\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{uint32\_t}{uint32\_t}} +{\footnotesize\ttfamily typedef unsigned long int \mbox{\hyperlink{stdint_8h_a33594304e786b158f3fb30289278f5af}{uint32\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_ae04fa5ea5ad475bfe428842a986fbf28}\label{stdint_8h_ae04fa5ea5ad475bfe428842a986fbf28}} +\index{stdint.h@{stdint.h}!int\_least8\_t@{int\_least8\_t}} +\index{int\_least8\_t@{int\_least8\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{int\_least8\_t}{int\_least8\_t}} +{\footnotesize\ttfamily typedef signed char \mbox{\hyperlink{stdint_8h_ae04fa5ea5ad475bfe428842a986fbf28}{int\+\_\+least8\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a3379485af1661b4f36ac1c311832253b}\label{stdint_8h_a3379485af1661b4f36ac1c311832253b}} +\index{stdint.h@{stdint.h}!int\_least16\_t@{int\_least16\_t}} +\index{int\_least16\_t@{int\_least16\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{int\_least16\_t}{int\_least16\_t}} +{\footnotesize\ttfamily typedef short int \mbox{\hyperlink{stdint_8h_a3379485af1661b4f36ac1c311832253b}{int\+\_\+least16\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a50d1c7c0834558a78588e1d6d0f62a1d}\label{stdint_8h_a50d1c7c0834558a78588e1d6d0f62a1d}} +\index{stdint.h@{stdint.h}!int\_least32\_t@{int\_least32\_t}} +\index{int\_least32\_t@{int\_least32\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{int\_least32\_t}{int\_least32\_t}} +{\footnotesize\ttfamily typedef long int \mbox{\hyperlink{stdint_8h_a50d1c7c0834558a78588e1d6d0f62a1d}{int\+\_\+least32\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_ab0fdd2a9dc9606590ecccc0a5d8b5b7c}\label{stdint_8h_ab0fdd2a9dc9606590ecccc0a5d8b5b7c}} +\index{stdint.h@{stdint.h}!uint\_least8\_t@{uint\_least8\_t}} +\index{uint\_least8\_t@{uint\_least8\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{uint\_least8\_t}{uint\_least8\_t}} +{\footnotesize\ttfamily typedef unsigned char \mbox{\hyperlink{stdint_8h_ab0fdd2a9dc9606590ecccc0a5d8b5b7c}{uint\+\_\+least8\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a1bae72af13d35bac8eb9424db7e27bf1}\label{stdint_8h_a1bae72af13d35bac8eb9424db7e27bf1}} +\index{stdint.h@{stdint.h}!uint\_least16\_t@{uint\_least16\_t}} +\index{uint\_least16\_t@{uint\_least16\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{uint\_least16\_t}{uint\_least16\_t}} +{\footnotesize\ttfamily typedef unsigned short int \mbox{\hyperlink{stdint_8h_a1bae72af13d35bac8eb9424db7e27bf1}{uint\+\_\+least16\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a1c0bb513299dbdffa1cce4277593b3ce}\label{stdint_8h_a1c0bb513299dbdffa1cce4277593b3ce}} +\index{stdint.h@{stdint.h}!uint\_least32\_t@{uint\_least32\_t}} +\index{uint\_least32\_t@{uint\_least32\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{uint\_least32\_t}{uint\_least32\_t}} +{\footnotesize\ttfamily typedef unsigned long int \mbox{\hyperlink{stdint_8h_a1c0bb513299dbdffa1cce4277593b3ce}{uint\+\_\+least32\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_afa981e0352f65c207364c9cb82246b53}\label{stdint_8h_afa981e0352f65c207364c9cb82246b53}} +\index{stdint.h@{stdint.h}!int\_fast8\_t@{int\_fast8\_t}} +\index{int\_fast8\_t@{int\_fast8\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{int\_fast8\_t}{int\_fast8\_t}} +{\footnotesize\ttfamily typedef signed char \mbox{\hyperlink{stdint_8h_afa981e0352f65c207364c9cb82246b53}{int\+\_\+fast8\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_afc08556e35ad5fc42968cf164e7852d4}\label{stdint_8h_afc08556e35ad5fc42968cf164e7852d4}} +\index{stdint.h@{stdint.h}!int\_fast16\_t@{int\_fast16\_t}} +\index{int\_fast16\_t@{int\_fast16\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{int\_fast16\_t}{int\_fast16\_t}} +{\footnotesize\ttfamily typedef int \mbox{\hyperlink{stdint_8h_afc08556e35ad5fc42968cf164e7852d4}{int\+\_\+fast16\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a21402dabb3274e5161a34a27ccff50db}\label{stdint_8h_a21402dabb3274e5161a34a27ccff50db}} +\index{stdint.h@{stdint.h}!int\_fast32\_t@{int\_fast32\_t}} +\index{int\_fast32\_t@{int\_fast32\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{int\_fast32\_t}{int\_fast32\_t}} +{\footnotesize\ttfamily typedef long int \mbox{\hyperlink{stdint_8h_a21402dabb3274e5161a34a27ccff50db}{int\+\_\+fast32\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a2d31063fef649c85396fb28130ef9795}\label{stdint_8h_a2d31063fef649c85396fb28130ef9795}} +\index{stdint.h@{stdint.h}!uint\_fast8\_t@{uint\_fast8\_t}} +\index{uint\_fast8\_t@{uint\_fast8\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{uint\_fast8\_t}{uint\_fast8\_t}} +{\footnotesize\ttfamily typedef unsigned char \mbox{\hyperlink{stdint_8h_a2d31063fef649c85396fb28130ef9795}{uint\+\_\+fast8\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a226d967fb6d06433caf43f20dc876aae}\label{stdint_8h_a226d967fb6d06433caf43f20dc876aae}} +\index{stdint.h@{stdint.h}!uint\_fast16\_t@{uint\_fast16\_t}} +\index{uint\_fast16\_t@{uint\_fast16\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{uint\_fast16\_t}{uint\_fast16\_t}} +{\footnotesize\ttfamily typedef unsigned int \mbox{\hyperlink{stdint_8h_a226d967fb6d06433caf43f20dc876aae}{uint\+\_\+fast16\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a8a5d6c5353ff297fd0797e654772361b}\label{stdint_8h_a8a5d6c5353ff297fd0797e654772361b}} +\index{stdint.h@{stdint.h}!uint\_fast32\_t@{uint\_fast32\_t}} +\index{uint\_fast32\_t@{uint\_fast32\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{uint\_fast32\_t}{uint\_fast32\_t}} +{\footnotesize\ttfamily typedef unsigned long int \mbox{\hyperlink{stdint_8h_a8a5d6c5353ff297fd0797e654772361b}{uint\+\_\+fast32\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a0fbe4a4f8dd857ee04923a901f27465f}\label{stdint_8h_a0fbe4a4f8dd857ee04923a901f27465f}} +\index{stdint.h@{stdint.h}!intptr\_t@{intptr\_t}} +\index{intptr\_t@{intptr\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{intptr\_t}{intptr\_t}} +{\footnotesize\ttfamily typedef int \mbox{\hyperlink{stdint_8h_a0fbe4a4f8dd857ee04923a901f27465f}{intptr\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a728e973c799f206f0151c8a3bd1e5699}\label{stdint_8h_a728e973c799f206f0151c8a3bd1e5699}} +\index{stdint.h@{stdint.h}!uintptr\_t@{uintptr\_t}} +\index{uintptr\_t@{uintptr\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{uintptr\_t}{uintptr\_t}} +{\footnotesize\ttfamily typedef unsigned int \mbox{\hyperlink{stdint_8h_a728e973c799f206f0151c8a3bd1e5699}{uintptr\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_aa8722f97ae26d6aeff0fd4ebba7de7e4}\label{stdint_8h_aa8722f97ae26d6aeff0fd4ebba7de7e4}} +\index{stdint.h@{stdint.h}!intmax\_t@{intmax\_t}} +\index{intmax\_t@{intmax\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{intmax\_t}{intmax\_t}} +{\footnotesize\ttfamily typedef long int \mbox{\hyperlink{stdint_8h_aa8722f97ae26d6aeff0fd4ebba7de7e4}{intmax\+\_\+t}}} + +\mbox{\Hypertarget{stdint_8h_a21649560c6e8dce6de2fb6a95f1bf802}\label{stdint_8h_a21649560c6e8dce6de2fb6a95f1bf802}} +\index{stdint.h@{stdint.h}!uintmax\_t@{uintmax\_t}} +\index{uintmax\_t@{uintmax\_t}!stdint.h@{stdint.h}} +\doxyparagraph{\texorpdfstring{uintmax\_t}{uintmax\_t}} +{\footnotesize\ttfamily typedef unsigned long int \mbox{\hyperlink{stdint_8h_a21649560c6e8dce6de2fb6a95f1bf802}{uintmax\+\_\+t}}} + diff --git a/docs/latex/stdio_8h.tex b/docs/latex/stdio_8h.tex @@ -0,0 +1,97 @@ +\hypertarget{stdio_8h}{}\doxysubsection{stdio.\+h File Reference} +\label{stdio_8h}\index{stdio.h@{stdio.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{stdio_8h_a9bc92fb9f23c72a66d030d4028dda72d}{putchar}} (char \mbox{\hyperlink{sms_8h_a0b3366755f3276b0243c1e0497471b7a}{c}}) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{stdio_8h_ab403fa700816f08631ba75bc536f74d4}{printf}} (const char $\ast$format,...) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{stdio_8h_a31913a297ee18548c81d482ef6bdbe0f}{sprintf}} (char $\ast$str, const char $\ast$format,...) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void \mbox{\hyperlink{stdio_8h_a299d0f9cb9e7b14e1278a4ed21e4d76f}{puts}} (const char $\ast$s) +\item +char $\ast$ \mbox{\hyperlink{stdio_8h_a00a5b27bc2e5280952b02c304d7b27bc}{gets}} (char $\ast$s) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +char \mbox{\hyperlink{stdio_8h_a2c79157c8bc2db72fbf1e34f291ff5d8}{getchar}} () \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Basic file/console input output functions. + +Including stdio.\+h will use a large number of the background tiles for font characters. If stdio.\+h is not included then that space will be available for use with other tiles instead. + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{stdio_8h_a9bc92fb9f23c72a66d030d4028dda72d}\label{stdio_8h_a9bc92fb9f23c72a66d030d4028dda72d}} +\index{stdio.h@{stdio.h}!putchar@{putchar}} +\index{putchar@{putchar}!stdio.h@{stdio.h}} +\doxyparagraph{\texorpdfstring{putchar()}{putchar()}} +{\footnotesize\ttfamily void putchar (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption})} + +Print char to stdout. +\begin{DoxyParams}{Parameters} +{\em c} & Character to print \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{stdio_8h_ab403fa700816f08631ba75bc536f74d4}\label{stdio_8h_ab403fa700816f08631ba75bc536f74d4}} +\index{stdio.h@{stdio.h}!printf@{printf}} +\index{printf@{printf}!stdio.h@{stdio.h}} +\doxyparagraph{\texorpdfstring{printf()}{printf()}} +{\footnotesize\ttfamily void printf (\begin{DoxyParamCaption}\item[{const char $\ast$}]{format, }\item[{}]{... }\end{DoxyParamCaption})} + +Print the string and arguments given by format to stdout. + + +\begin{DoxyParams}{Parameters} +{\em format} & The format string as per printf\\ +\hline +\end{DoxyParams} +Does not return the number of characters printed. + +Currently supported\+: \begin{DoxyItemize} +\item \%hx (char as hex) \item \%hu (unsigned char) \item \%hd (signed char) \item \%c (character) \item \%u (unsigned int) \item \%d (signed int) \item \%x (unsigned int as hex) \item \%s (string)\end{DoxyItemize} +Warning\+: to correctly pass chars for printing as chars, they {\itshape must} be explicitly re-\/cast as such when calling the function. See \mbox{\hyperlink{docs_coding_guidelines_docs_chars_varargs}{docs\+\_\+chars\+\_\+varargs}} for more details. \mbox{\Hypertarget{stdio_8h_a31913a297ee18548c81d482ef6bdbe0f}\label{stdio_8h_a31913a297ee18548c81d482ef6bdbe0f}} +\index{stdio.h@{stdio.h}!sprintf@{sprintf}} +\index{sprintf@{sprintf}!stdio.h@{stdio.h}} +\doxyparagraph{\texorpdfstring{sprintf()}{sprintf()}} +{\footnotesize\ttfamily void sprintf (\begin{DoxyParamCaption}\item[{char $\ast$}]{str, }\item[{const char $\ast$}]{format, }\item[{}]{... }\end{DoxyParamCaption})} + +Print the string and arguments given by format to a buffer. + + +\begin{DoxyParams}{Parameters} +{\em str} & The buffer to print into \\ +\hline +{\em format} & The format string as per \mbox{\hyperlink{stdio_8h_ab403fa700816f08631ba75bc536f74d4}{printf}}\\ +\hline +\end{DoxyParams} +Does not return the number of characters printed. \mbox{\Hypertarget{stdio_8h_a299d0f9cb9e7b14e1278a4ed21e4d76f}\label{stdio_8h_a299d0f9cb9e7b14e1278a4ed21e4d76f}} +\index{stdio.h@{stdio.h}!puts@{puts}} +\index{puts@{puts}!stdio.h@{stdio.h}} +\doxyparagraph{\texorpdfstring{puts()}{puts()}} +{\footnotesize\ttfamily void puts (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption})} + +\mbox{\hyperlink{stdio_8h_a299d0f9cb9e7b14e1278a4ed21e4d76f}{puts()}} writes the string {\bfseries{s}} and a trailing newline to stdout. \mbox{\Hypertarget{stdio_8h_a00a5b27bc2e5280952b02c304d7b27bc}\label{stdio_8h_a00a5b27bc2e5280952b02c304d7b27bc}} +\index{stdio.h@{stdio.h}!gets@{gets}} +\index{gets@{gets}!stdio.h@{stdio.h}} +\doxyparagraph{\texorpdfstring{gets()}{gets()}} +{\footnotesize\ttfamily char$\ast$ gets (\begin{DoxyParamCaption}\item[{char $\ast$}]{s }\end{DoxyParamCaption})} + +\mbox{\hyperlink{stdio_8h_a00a5b27bc2e5280952b02c304d7b27bc}{gets()}} Reads a line from stdin into a buffer pointed to by {\bfseries{s}}. + + +\begin{DoxyParams}{Parameters} +{\em s} & Buffer to store string in\\ +\hline +\end{DoxyParams} +Reads until either a terminating newline or an E\+OF, which it replaces with \textquotesingle{}\textbackslash{}0\textquotesingle{}. No check for buffer overrun is performed. + +Returns\+: Buffer pointed to by {\bfseries{s}} \mbox{\Hypertarget{stdio_8h_a2c79157c8bc2db72fbf1e34f291ff5d8}\label{stdio_8h_a2c79157c8bc2db72fbf1e34f291ff5d8}} +\index{stdio.h@{stdio.h}!getchar@{getchar}} +\index{getchar@{getchar}!stdio.h@{stdio.h}} +\doxyparagraph{\texorpdfstring{getchar()}{getchar()}} +{\footnotesize\ttfamily char getchar (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +\mbox{\hyperlink{stdio_8h_a2c79157c8bc2db72fbf1e34f291ff5d8}{getchar()}} Reads and returns a single character from stdin. + diff --git a/docs/latex/stdlib_8h.tex b/docs/latex/stdlib_8h.tex @@ -0,0 +1,238 @@ +\hypertarget{stdlib_8h}{}\doxysubsection{stdlib.\+h File Reference} +\label{stdlib_8h}\index{stdlib.h@{stdlib.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{stdlib_8h_a83798998ad669e85a8f75d6490191760}{\+\_\+\+\_\+reentrant}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +void \mbox{\hyperlink{stdlib_8h_a55e99c539cf7723ec15e856b7e0a8cee}{exit}} (int status) +\item +int \mbox{\hyperlink{stdlib_8h_a3bb2d2cacc5535004757ebbc640079fb}{abs}} (int i) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +long \mbox{\hyperlink{stdlib_8h_a8b7210ba18f750970a2db3c73a841a22}{labs}} (long num) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +int \mbox{\hyperlink{stdlib_8h_a30670a60464f77af17dfb353353d6df8}{atoi}} (const char $\ast$s) +\item +long \mbox{\hyperlink{stdlib_8h_a825c37450147a643edbcb1a435518307}{atol}} (const char $\ast$s) +\item +char $\ast$ \mbox{\hyperlink{stdlib_8h_aac2ea595a9ea8f5ebd883a0bc05eba5c}{itoa}} (int n, char $\ast$s, unsigned char radix) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +char $\ast$ \mbox{\hyperlink{stdlib_8h_a38c070016cb06132360cfa5bacc2ed19}{uitoa}} (unsigned int n, char $\ast$s, unsigned char radix) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +char $\ast$ \mbox{\hyperlink{stdlib_8h_a6374e62474a5a76c7ace9a59fb1cc829}{ltoa}} (long n, char $\ast$s, unsigned char radix) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +char $\ast$ \mbox{\hyperlink{stdlib_8h_ac22b79fe0c1279eabc3daf57328008d2}{ultoa}} (unsigned long n, char $\ast$s, unsigned char radix) \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +void $\ast$ \mbox{\hyperlink{stdlib_8h_a62b7798461bd461da64c5f9d35feddf7}{calloc}} (\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} nmemb, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} size) +\item +void $\ast$ \mbox{\hyperlink{stdlib_8h_a7ac38fce3243a7dcf448301ee9ffd392}{malloc}} (\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} size) +\item +void $\ast$ \mbox{\hyperlink{stdlib_8h_a1a6b5e8d2f1c37e5b43e4345586075be}{realloc}} (void $\ast$ptr, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} size) +\item +void \mbox{\hyperlink{stdlib_8h_afbedc913aa4651b3c3b4b3aecd9b4711}{free}} (void $\ast$ptr) +\item +void $\ast$ \mbox{\hyperlink{stdlib_8h_ab0ace018fe7dfa1720930d2dce0c45e3}{bsearch}} (const void $\ast$key, const void $\ast$base, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} nmemb, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} size, int($\ast$compar)(const void $\ast$, const void $\ast$) \mbox{\hyperlink{stdlib_8h_a83798998ad669e85a8f75d6490191760}{\+\_\+\+\_\+reentrant}}) +\item +void \mbox{\hyperlink{stdlib_8h_a02d9d6443b9e613802b2e9c5c71caf59}{qsort}} (void $\ast$base, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} nmemb, \mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}} size, int($\ast$compar)(const void $\ast$, const void $\ast$) \mbox{\hyperlink{stdlib_8h_a83798998ad669e85a8f75d6490191760}{\+\_\+\+\_\+reentrant}}) +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{stdlib_8h_a83798998ad669e85a8f75d6490191760}\label{stdlib_8h_a83798998ad669e85a8f75d6490191760}} +\index{stdlib.h@{stdlib.h}!\_\_reentrant@{\_\_reentrant}} +\index{\_\_reentrant@{\_\_reentrant}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{\_\_reentrant}{\_\_reentrant}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+reentrant} + +file stdlib.\+h \textquotesingle{}Standard library\textquotesingle{} functions, for whatever that means. + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{stdlib_8h_a55e99c539cf7723ec15e856b7e0a8cee}\label{stdlib_8h_a55e99c539cf7723ec15e856b7e0a8cee}} +\index{stdlib.h@{stdlib.h}!exit@{exit}} +\index{exit@{exit}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{exit()}{exit()}} +{\footnotesize\ttfamily void exit (\begin{DoxyParamCaption}\item[{int}]{status }\end{DoxyParamCaption})} + +Causes normal program termination and the value of status is returned to the parent. All open streams are flushed and closed. \mbox{\Hypertarget{stdlib_8h_a3bb2d2cacc5535004757ebbc640079fb}\label{stdlib_8h_a3bb2d2cacc5535004757ebbc640079fb}} +\index{stdlib.h@{stdlib.h}!abs@{abs}} +\index{abs@{abs}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{abs()}{abs()}} +{\footnotesize\ttfamily int abs (\begin{DoxyParamCaption}\item[{int}]{i }\end{DoxyParamCaption})} + +Returns the absolute value of int {\bfseries{i}} +\begin{DoxyParams}{Parameters} +{\em i} & Int to obtain absolute value of\\ +\hline +\end{DoxyParams} +If i is negative, returns -\/i; else returns i. \mbox{\Hypertarget{stdlib_8h_a8b7210ba18f750970a2db3c73a841a22}\label{stdlib_8h_a8b7210ba18f750970a2db3c73a841a22}} +\index{stdlib.h@{stdlib.h}!labs@{labs}} +\index{labs@{labs}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{labs()}{labs()}} +{\footnotesize\ttfamily long labs (\begin{DoxyParamCaption}\item[{long}]{num }\end{DoxyParamCaption})} + +Returns the absolute value of long int {\bfseries{num}} + + +\begin{DoxyParams}{Parameters} +{\em num} & Long integer to obtain absolute value of \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{stdlib_8h_a30670a60464f77af17dfb353353d6df8}\label{stdlib_8h_a30670a60464f77af17dfb353353d6df8}} +\index{stdlib.h@{stdlib.h}!atoi@{atoi}} +\index{atoi@{atoi}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{atoi()}{atoi()}} +{\footnotesize\ttfamily int atoi (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption})} + +Converts an A\+S\+C\+II string to an int + + +\begin{DoxyParams}{Parameters} +{\em s} & String to convert to an int\\ +\hline +\end{DoxyParams} +The string may be of the format +\begin{DoxyCode}{0} +\DoxyCodeLine{[\(\backslash\)s]*[+-\/][\mbox{\hyperlink{gb_8h_a0a3d95ad0ab8ad213016101d2e9c3d3e}{\(\backslash\)d}}]+[\(\backslash\)D]*} +\end{DoxyCode} + i.\+e. any number of spaces, an optional + or -\/, then an arbitrary number of digits. + +The result is undefined if the number doesnt fit in an int. + +Returns\+: Int value of string \mbox{\Hypertarget{stdlib_8h_a825c37450147a643edbcb1a435518307}\label{stdlib_8h_a825c37450147a643edbcb1a435518307}} +\index{stdlib.h@{stdlib.h}!atol@{atol}} +\index{atol@{atol}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{atol()}{atol()}} +{\footnotesize\ttfamily long atol (\begin{DoxyParamCaption}\item[{const char $\ast$}]{s }\end{DoxyParamCaption})} + +Converts an A\+S\+C\+II string to a long. +\begin{DoxyParams}{Parameters} +{\em s} & String to convert to an long int \\ +\hline +\end{DoxyParams} +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{stdlib_8h_a30670a60464f77af17dfb353353d6df8}{atoi()}} +\end{DoxySeeAlso} +Returns\+: Long int value of string \mbox{\Hypertarget{stdlib_8h_aac2ea595a9ea8f5ebd883a0bc05eba5c}\label{stdlib_8h_aac2ea595a9ea8f5ebd883a0bc05eba5c}} +\index{stdlib.h@{stdlib.h}!itoa@{itoa}} +\index{itoa@{itoa}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{itoa()}{itoa()}} +{\footnotesize\ttfamily char$\ast$ itoa (\begin{DoxyParamCaption}\item[{int}]{n, }\item[{char $\ast$}]{s, }\item[{unsigned char}]{radix }\end{DoxyParamCaption})} + +Converts an int into a base 10 A\+S\+C\+II string. +\begin{DoxyParams}{Parameters} +{\em n} & Int to convert to a string \\ +\hline +{\em s} & String to store the converted number \\ +\hline +{\em radix} & Numerical base for converted number, ex\+: 10 is decimal base (parameter is required but not utilized on Game Boy and Analogue Pocket)\\ +\hline +\end{DoxyParams} +Returns\+: Pointer to converted string \mbox{\Hypertarget{stdlib_8h_a38c070016cb06132360cfa5bacc2ed19}\label{stdlib_8h_a38c070016cb06132360cfa5bacc2ed19}} +\index{stdlib.h@{stdlib.h}!uitoa@{uitoa}} +\index{uitoa@{uitoa}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{uitoa()}{uitoa()}} +{\footnotesize\ttfamily char$\ast$ uitoa (\begin{DoxyParamCaption}\item[{unsigned int}]{n, }\item[{char $\ast$}]{s, }\item[{unsigned char}]{radix }\end{DoxyParamCaption})} + +Converts an unsigned int into a base 10 A\+S\+C\+II string. +\begin{DoxyParams}{Parameters} +{\em n} & Unsigned Int to convert to a string \\ +\hline +{\em s} & String to store the converted number \\ +\hline +{\em radix} & Numerical base for converted number, ex\+: 10 is decimal base (parameter is required but not utilized on Game Boy and Analogue Pocket)\\ +\hline +\end{DoxyParams} +Returns\+: Pointer to converted string \mbox{\Hypertarget{stdlib_8h_a6374e62474a5a76c7ace9a59fb1cc829}\label{stdlib_8h_a6374e62474a5a76c7ace9a59fb1cc829}} +\index{stdlib.h@{stdlib.h}!ltoa@{ltoa}} +\index{ltoa@{ltoa}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{ltoa()}{ltoa()}} +{\footnotesize\ttfamily char$\ast$ ltoa (\begin{DoxyParamCaption}\item[{long}]{n, }\item[{char $\ast$}]{s, }\item[{unsigned char}]{radix }\end{DoxyParamCaption})} + +Converts a long into a base 10 A\+S\+C\+II string. +\begin{DoxyParams}{Parameters} +{\em n} & Long int to convert to a string \\ +\hline +{\em s} & String to store the converted number \\ +\hline +{\em radix} & Numerical base for converted number, ex\+: 10 is decimal base (parameter is required but not utilized on Game Boy and Analogue Pocket)\\ +\hline +\end{DoxyParams} +Returns\+: Pointer to converted string \mbox{\Hypertarget{stdlib_8h_ac22b79fe0c1279eabc3daf57328008d2}\label{stdlib_8h_ac22b79fe0c1279eabc3daf57328008d2}} +\index{stdlib.h@{stdlib.h}!ultoa@{ultoa}} +\index{ultoa@{ultoa}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{ultoa()}{ultoa()}} +{\footnotesize\ttfamily char$\ast$ ultoa (\begin{DoxyParamCaption}\item[{unsigned long}]{n, }\item[{char $\ast$}]{s, }\item[{unsigned char}]{radix }\end{DoxyParamCaption})} + +Converts an unsigned long into a base 10 A\+S\+C\+II string. +\begin{DoxyParams}{Parameters} +{\em n} & Unsigned Long Int to convert to a string \\ +\hline +{\em s} & String to store the converted number \\ +\hline +{\em radix} & Numerical base for converted number, ex\+: 10 is decimal base (parameter is required but not utilized on Game Boy and Analogue Pocket)\\ +\hline +\end{DoxyParams} +Returns\+: Pointer to converted string \mbox{\Hypertarget{stdlib_8h_a62b7798461bd461da64c5f9d35feddf7}\label{stdlib_8h_a62b7798461bd461da64c5f9d35feddf7}} +\index{stdlib.h@{stdlib.h}!calloc@{calloc}} +\index{calloc@{calloc}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{calloc()}{calloc()}} +{\footnotesize\ttfamily void$\ast$ calloc (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{nmemb, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{size }\end{DoxyParamCaption})} + +Memory allocation functions \mbox{\Hypertarget{stdlib_8h_a7ac38fce3243a7dcf448301ee9ffd392}\label{stdlib_8h_a7ac38fce3243a7dcf448301ee9ffd392}} +\index{stdlib.h@{stdlib.h}!malloc@{malloc}} +\index{malloc@{malloc}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{malloc()}{malloc()}} +{\footnotesize\ttfamily void$\ast$ malloc (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{size }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{stdlib_8h_a1a6b5e8d2f1c37e5b43e4345586075be}\label{stdlib_8h_a1a6b5e8d2f1c37e5b43e4345586075be}} +\index{stdlib.h@{stdlib.h}!realloc@{realloc}} +\index{realloc@{realloc}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{realloc()}{realloc()}} +{\footnotesize\ttfamily void$\ast$ realloc (\begin{DoxyParamCaption}\item[{void $\ast$}]{ptr, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{size }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{stdlib_8h_afbedc913aa4651b3c3b4b3aecd9b4711}\label{stdlib_8h_afbedc913aa4651b3c3b4b3aecd9b4711}} +\index{stdlib.h@{stdlib.h}!free@{free}} +\index{free@{free}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{free()}{free()}} +{\footnotesize\ttfamily void free (\begin{DoxyParamCaption}\item[{void $\ast$}]{ptr }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{stdlib_8h_ab0ace018fe7dfa1720930d2dce0c45e3}\label{stdlib_8h_ab0ace018fe7dfa1720930d2dce0c45e3}} +\index{stdlib.h@{stdlib.h}!bsearch@{bsearch}} +\index{bsearch@{bsearch}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{bsearch()}{bsearch()}} +{\footnotesize\ttfamily void$\ast$ bsearch (\begin{DoxyParamCaption}\item[{const void $\ast$}]{key, }\item[{const void $\ast$}]{base, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{nmemb, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{size, }\item[{int($\ast$)(const void $\ast$, const void $\ast$) \mbox{\hyperlink{stdlib_8h_a83798998ad669e85a8f75d6490191760}{\+\_\+\+\_\+reentrant}}}]{compar }\end{DoxyParamCaption})} + +search a sorted array of {\bfseries{nmemb}} items +\begin{DoxyParams}{Parameters} +{\em key} & Pointer to object that is the key for the search \\ +\hline +{\em base} & Pointer to first object in the array to search \\ +\hline +{\em nmemb} & Number of elements in the array \\ +\hline +{\em size} & Size in bytes of each element in the array \\ +\hline +{\em compar} & Function used to compare two elements of the array\\ +\hline +\end{DoxyParams} +Returns\+: Pointer to array entry that matches the search key. If key is not found, N\+U\+LL is returned. \mbox{\Hypertarget{stdlib_8h_a02d9d6443b9e613802b2e9c5c71caf59}\label{stdlib_8h_a02d9d6443b9e613802b2e9c5c71caf59}} +\index{stdlib.h@{stdlib.h}!qsort@{qsort}} +\index{qsort@{qsort}!stdlib.h@{stdlib.h}} +\doxyparagraph{\texorpdfstring{qsort()}{qsort()}} +{\footnotesize\ttfamily void qsort (\begin{DoxyParamCaption}\item[{void $\ast$}]{base, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{nmemb, }\item[{\mbox{\hyperlink{asm_2gbz80_2types_8h_a7c94ea6f8948649f8d181ae55911eeaf}{size\+\_\+t}}}]{size, }\item[{int($\ast$)(const void $\ast$, const void $\ast$) \mbox{\hyperlink{stdlib_8h_a83798998ad669e85a8f75d6490191760}{\+\_\+\+\_\+reentrant}}}]{compar }\end{DoxyParamCaption})} + +Sort an array of {\bfseries{nmemb}} items +\begin{DoxyParams}{Parameters} +{\em base} & Pointer to first object in the array to sort \\ +\hline +{\em nmemb} & Number of elements in the array \\ +\hline +{\em size} & Size in bytes of each element in the array \\ +\hline +{\em compar} & Function used to compare and sort two elements of the array \\ +\hline +\end{DoxyParams} diff --git a/docs/latex/stdnoreturn_8h.tex b/docs/latex/stdnoreturn_8h.tex @@ -0,0 +1,16 @@ +\hypertarget{stdnoreturn_8h}{}\doxysubsection{stdnoreturn.\+h File Reference} +\label{stdnoreturn_8h}\index{stdnoreturn.h@{stdnoreturn.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{stdnoreturn_8h_a4a453f3a748e55cbdac6fcc79357cfef}{noreturn}}~\+\_\+\+Noreturn +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{stdnoreturn_8h_a4a453f3a748e55cbdac6fcc79357cfef}\label{stdnoreturn_8h_a4a453f3a748e55cbdac6fcc79357cfef}} +\index{stdnoreturn.h@{stdnoreturn.h}!noreturn@{noreturn}} +\index{noreturn@{noreturn}!stdnoreturn.h@{stdnoreturn.h}} +\doxyparagraph{\texorpdfstring{noreturn}{noreturn}} +{\footnotesize\ttfamily \#define noreturn~\+\_\+\+Noreturn} + diff --git a/docs/latex/string_8h.tex b/docs/latex/string_8h.tex @@ -0,0 +1,7 @@ +\hypertarget{string_8h}{}\doxysubsection{string.\+h File Reference} +\label{string_8h}\index{string.h@{string.h}} +{\ttfamily \#include $<$asm/gbz80/string.\+h$>$}\newline + + +\doxysubsubsection{Detailed Description} +Generic string functions. + diff --git a/docs/latex/struct_o_a_m__item__t.tex b/docs/latex/struct_o_a_m__item__t.tex @@ -0,0 +1,63 @@ +\hypertarget{struct_o_a_m__item__t}{}\doxysubsection{O\+A\+M\+\_\+item\+\_\+t Struct Reference} +\label{struct_o_a_m__item__t}\index{OAM\_item\_t@{OAM\_item\_t}} + + +{\ttfamily \#include $<$gb.\+h$>$} + +\doxysubsubsection*{Data Fields} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{struct_o_a_m__item__t_ad5ad9d3d300858bf0b1cd9e210366a18}{y}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{struct_o_a_m__item__t_a3a13fb7441f8c431d9494cd2441c6c0b}{x}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{struct_o_a_m__item__t_a6c269ed01269d02bcf7e36e0de3696f6}{tile}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{struct_o_a_m__item__t_a435e018f3bbc0ebaa9eaf96806d386d9}{prop}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Sprite Attributes structure +\begin{DoxyParams}{Parameters} +{\em x} & X Coordinate of the sprite on screen \\ +\hline +{\em y} & Y Coordinate of the sprite on screen \\ +\hline +{\em tile} & Sprite tile number (see \mbox{\hyperlink{sms_8h_a05bf0b9f1328de7b568a19a2a428bcfe}{set\+\_\+sprite\+\_\+tile}}) \\ +\hline +{\em prop} & O\+AM Property Flags (see \mbox{\hyperlink{sms_8h_a99ea3252469e3614e977cce2aa1d06f7}{set\+\_\+sprite\+\_\+prop}}) \\ +\hline +\end{DoxyParams} + + +\doxysubsubsection{Field Documentation} +\mbox{\Hypertarget{struct_o_a_m__item__t_ad5ad9d3d300858bf0b1cd9e210366a18}\label{struct_o_a_m__item__t_ad5ad9d3d300858bf0b1cd9e210366a18}} +\index{OAM\_item\_t@{OAM\_item\_t}!y@{y}} +\index{y@{y}!OAM\_item\_t@{OAM\_item\_t}} +\doxyparagraph{\texorpdfstring{y}{y}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} O\+A\+M\+\_\+item\+\_\+t\+::y} + +\mbox{\Hypertarget{struct_o_a_m__item__t_a3a13fb7441f8c431d9494cd2441c6c0b}\label{struct_o_a_m__item__t_a3a13fb7441f8c431d9494cd2441c6c0b}} +\index{OAM\_item\_t@{OAM\_item\_t}!x@{x}} +\index{x@{x}!OAM\_item\_t@{OAM\_item\_t}} +\doxyparagraph{\texorpdfstring{x}{x}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} O\+A\+M\+\_\+item\+\_\+t\+::x} + +\mbox{\Hypertarget{struct_o_a_m__item__t_a6c269ed01269d02bcf7e36e0de3696f6}\label{struct_o_a_m__item__t_a6c269ed01269d02bcf7e36e0de3696f6}} +\index{OAM\_item\_t@{OAM\_item\_t}!tile@{tile}} +\index{tile@{tile}!OAM\_item\_t@{OAM\_item\_t}} +\doxyparagraph{\texorpdfstring{tile}{tile}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} O\+A\+M\+\_\+item\+\_\+t\+::tile} + +\mbox{\Hypertarget{struct_o_a_m__item__t_a435e018f3bbc0ebaa9eaf96806d386d9}\label{struct_o_a_m__item__t_a435e018f3bbc0ebaa9eaf96806d386d9}} +\index{OAM\_item\_t@{OAM\_item\_t}!prop@{prop}} +\index{prop@{prop}!OAM\_item\_t@{OAM\_item\_t}} +\doxyparagraph{\texorpdfstring{prop}{prop}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} O\+A\+M\+\_\+item\+\_\+t\+::prop} + + + +The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} +\item +gb/\mbox{\hyperlink{gb_8h}{gb.\+h}}\end{DoxyCompactItemize} diff --git a/docs/latex/structatomic__flag.tex b/docs/latex/structatomic__flag.tex @@ -0,0 +1,25 @@ +\hypertarget{structatomic__flag}{}\doxysubsection{atomic\+\_\+flag Struct Reference} +\label{structatomic__flag}\index{atomic\_flag@{atomic\_flag}} + + +{\ttfamily \#include $<$stdatomic.\+h$>$} + +\doxysubsubsection*{Data Fields} +\begin{DoxyCompactItemize} +\item +unsigned char \mbox{\hyperlink{structatomic__flag_a4fe9312fe0abb35e9f3626dc06c89bc4}{flag}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Field Documentation} +\mbox{\Hypertarget{structatomic__flag_a4fe9312fe0abb35e9f3626dc06c89bc4}\label{structatomic__flag_a4fe9312fe0abb35e9f3626dc06c89bc4}} +\index{atomic\_flag@{atomic\_flag}!flag@{flag}} +\index{flag@{flag}!atomic\_flag@{atomic\_flag}} +\doxyparagraph{\texorpdfstring{flag}{flag}} +{\footnotesize\ttfamily unsigned char atomic\+\_\+flag\+::flag} + + + +The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdatomic_8h}{stdatomic.\+h}}\end{DoxyCompactItemize} diff --git a/docs/latex/structisr__nested__vector__t.tex b/docs/latex/structisr__nested__vector__t.tex @@ -0,0 +1,33 @@ +\hypertarget{structisr__nested__vector__t}{}\doxysubsection{isr\+\_\+nested\+\_\+vector\+\_\+t Struct Reference} +\label{structisr__nested__vector__t}\index{isr\_nested\_vector\_t@{isr\_nested\_vector\_t}} + + +{\ttfamily \#include $<$isr.\+h$>$} + +\doxysubsubsection*{Data Fields} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{structisr__nested__vector__t_a097ce850c38d6045af8f419a07a34b66}{opcode}} \mbox{[}2\mbox{]} +\item +void $\ast$ \mbox{\hyperlink{structisr__nested__vector__t_a4009f14b9912d9a852873e2019044d0c}{func}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Field Documentation} +\mbox{\Hypertarget{structisr__nested__vector__t_a097ce850c38d6045af8f419a07a34b66}\label{structisr__nested__vector__t_a097ce850c38d6045af8f419a07a34b66}} +\index{isr\_nested\_vector\_t@{isr\_nested\_vector\_t}!opcode@{opcode}} +\index{opcode@{opcode}!isr\_nested\_vector\_t@{isr\_nested\_vector\_t}} +\doxyparagraph{\texorpdfstring{opcode}{opcode}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} isr\+\_\+nested\+\_\+vector\+\_\+t\+::opcode\mbox{[}2\mbox{]}} + +\mbox{\Hypertarget{structisr__nested__vector__t_a4009f14b9912d9a852873e2019044d0c}\label{structisr__nested__vector__t_a4009f14b9912d9a852873e2019044d0c}} +\index{isr\_nested\_vector\_t@{isr\_nested\_vector\_t}!func@{func}} +\index{func@{func}!isr\_nested\_vector\_t@{isr\_nested\_vector\_t}} +\doxyparagraph{\texorpdfstring{func}{func}} +{\footnotesize\ttfamily void$\ast$ isr\+\_\+nested\+\_\+vector\+\_\+t\+::func} + + + +The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} +\item +gb/\mbox{\hyperlink{isr_8h}{isr.\+h}}\end{DoxyCompactItemize} diff --git a/docs/latex/structisr__vector__t.tex b/docs/latex/structisr__vector__t.tex @@ -0,0 +1,33 @@ +\hypertarget{structisr__vector__t}{}\doxysubsection{isr\+\_\+vector\+\_\+t Struct Reference} +\label{structisr__vector__t}\index{isr\_vector\_t@{isr\_vector\_t}} + + +{\ttfamily \#include $<$isr.\+h$>$} + +\doxysubsubsection*{Data Fields} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{structisr__vector__t_a43f6e622239ba42a25d2d9624c0d8f0b}{opcode}} +\item +void $\ast$ \mbox{\hyperlink{structisr__vector__t_a978f0092183f75d20a0f7de7add24b50}{func}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Field Documentation} +\mbox{\Hypertarget{structisr__vector__t_a43f6e622239ba42a25d2d9624c0d8f0b}\label{structisr__vector__t_a43f6e622239ba42a25d2d9624c0d8f0b}} +\index{isr\_vector\_t@{isr\_vector\_t}!opcode@{opcode}} +\index{opcode@{opcode}!isr\_vector\_t@{isr\_vector\_t}} +\doxyparagraph{\texorpdfstring{opcode}{opcode}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} isr\+\_\+vector\+\_\+t\+::opcode} + +\mbox{\Hypertarget{structisr__vector__t_a978f0092183f75d20a0f7de7add24b50}\label{structisr__vector__t_a978f0092183f75d20a0f7de7add24b50}} +\index{isr\_vector\_t@{isr\_vector\_t}!func@{func}} +\index{func@{func}!isr\_vector\_t@{isr\_vector\_t}} +\doxyparagraph{\texorpdfstring{func}{func}} +{\footnotesize\ttfamily void$\ast$ isr\+\_\+vector\+\_\+t\+::func} + + + +The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} +\item +gb/\mbox{\hyperlink{isr_8h}{isr.\+h}}\end{DoxyCompactItemize} diff --git a/docs/latex/structjoypads__t.tex b/docs/latex/structjoypads__t.tex @@ -0,0 +1,78 @@ +\hypertarget{structjoypads__t}{}\doxysubsection{joypads\+\_\+t Struct Reference} +\label{structjoypads__t}\index{joypads\_t@{joypads\_t}} + + +{\ttfamily \#include $<$gb.\+h$>$} + +\doxysubsubsection*{Data Fields} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{structjoypads__t_af84e3549a0708ee0e04295e5f853e9f5}{npads}} +\item +\begin{tabbing} +xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill +union \{\\ +\>struct \{\\ +\>\>\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\_t}} \mbox{\hyperlink{structjoypads__t_a5e953c63dfb5148ba29f5735a735035f}{joy0}}\\ +\>\>\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\_t}} \mbox{\hyperlink{structjoypads__t_a032a279cf42e2737d6ce9893239d238e}{joy1}}\\ +\>\>\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\_t}} \mbox{\hyperlink{structjoypads__t_a5741138c91e93ea3203ee9e0d5d9413d}{joy2}}\\ +\>\>\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\_t}} \mbox{\hyperlink{structjoypads__t_ab281d26e5197e49633274f412b164295}{joy3}}\\ +\>\} \\ +\>\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\_t}} \mbox{\hyperlink{structjoypads__t_a8d181ece2d3db614ed6686cfba545238}{joypads}} \mbox{[}4\mbox{]}\\ +\}; \\ + +\end{tabbing}\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Multiplayer joypad structure. + +Must be initialized with \mbox{\hyperlink{gb_8h_ab7e35e1eff44ed78ad8f0015c6e85b4e}{joypad\+\_\+init()}} first then it may be used to poll all avaliable joypads with \mbox{\hyperlink{gb_8h_a6e6f8eb1de2ae1ec9adeafbd7b9884db}{joypad\+\_\+ex()}} + +\doxysubsubsection{Field Documentation} +\mbox{\Hypertarget{structjoypads__t_af84e3549a0708ee0e04295e5f853e9f5}\label{structjoypads__t_af84e3549a0708ee0e04295e5f853e9f5}} +\index{joypads\_t@{joypads\_t}!npads@{npads}} +\index{npads@{npads}!joypads\_t@{joypads\_t}} +\doxyparagraph{\texorpdfstring{npads}{npads}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} joypads\+\_\+t\+::npads} + +\mbox{\Hypertarget{structjoypads__t_a5e953c63dfb5148ba29f5735a735035f}\label{structjoypads__t_a5e953c63dfb5148ba29f5735a735035f}} +\index{joypads\_t@{joypads\_t}!joy0@{joy0}} +\index{joy0@{joy0}!joypads\_t@{joypads\_t}} +\doxyparagraph{\texorpdfstring{joy0}{joy0}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} joypads\+\_\+t\+::joy0} + +\mbox{\Hypertarget{structjoypads__t_a032a279cf42e2737d6ce9893239d238e}\label{structjoypads__t_a032a279cf42e2737d6ce9893239d238e}} +\index{joypads\_t@{joypads\_t}!joy1@{joy1}} +\index{joy1@{joy1}!joypads\_t@{joypads\_t}} +\doxyparagraph{\texorpdfstring{joy1}{joy1}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} joypads\+\_\+t\+::joy1} + +\mbox{\Hypertarget{structjoypads__t_a5741138c91e93ea3203ee9e0d5d9413d}\label{structjoypads__t_a5741138c91e93ea3203ee9e0d5d9413d}} +\index{joypads\_t@{joypads\_t}!joy2@{joy2}} +\index{joy2@{joy2}!joypads\_t@{joypads\_t}} +\doxyparagraph{\texorpdfstring{joy2}{joy2}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} joypads\+\_\+t\+::joy2} + +\mbox{\Hypertarget{structjoypads__t_ab281d26e5197e49633274f412b164295}\label{structjoypads__t_ab281d26e5197e49633274f412b164295}} +\index{joypads\_t@{joypads\_t}!joy3@{joy3}} +\index{joy3@{joy3}!joypads\_t@{joypads\_t}} +\doxyparagraph{\texorpdfstring{joy3}{joy3}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} joypads\+\_\+t\+::joy3} + +\mbox{\Hypertarget{structjoypads__t_a8d181ece2d3db614ed6686cfba545238}\label{structjoypads__t_a8d181ece2d3db614ed6686cfba545238}} +\index{joypads\_t@{joypads\_t}!joypads@{joypads}} +\index{joypads@{joypads}!joypads\_t@{joypads\_t}} +\doxyparagraph{\texorpdfstring{joypads}{joypads}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} joypads\+\_\+t\+::joypads\mbox{[}4\mbox{]}} + +\mbox{\Hypertarget{structjoypads__t_a3e7b2271c57548a5215ead71da2db349}\label{structjoypads__t_a3e7b2271c57548a5215ead71da2db349}} +\doxyparagraph{\texorpdfstring{"@1}{@1}} +{\footnotesize\ttfamily union \{ ... \} } + + + +The documentation for this struct was generated from the following files\+:\begin{DoxyCompactItemize} +\item +gb/\mbox{\hyperlink{gb_8h}{gb.\+h}}\item +sms/\mbox{\hyperlink{sms_8h}{sms.\+h}}\end{DoxyCompactItemize} diff --git a/docs/latex/structmetasprite__t.tex b/docs/latex/structmetasprite__t.tex @@ -0,0 +1,78 @@ +\hypertarget{structmetasprite__t}{}\doxysubsection{metasprite\+\_\+t Struct Reference} +\label{structmetasprite__t}\index{metasprite\_t@{metasprite\_t}} + + +{\ttfamily \#include $<$metasprites.\+h$>$} + +\doxysubsubsection*{Data Fields} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} \mbox{\hyperlink{structmetasprite__t_a2c3fea1f6b3354352823320c69a3e4bb}{dy}} +\item +\mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} \mbox{\hyperlink{structmetasprite__t_a67d2a6fb62059da39b54e975c4fbb324}{dx}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{structmetasprite__t_ad68b2f80c08f2f7fc603c56af2e75a6f}{dtile}} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{structmetasprite__t_ab61e73a65c5e8cb30d0d81bb7845d615}{props}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Metasprite sub-\/item structure +\begin{DoxyParams}{Parameters} +{\em dy} & (int8\+\_\+t) Y coordinate of the sprite relative to the metasprite origin (pivot) \\ +\hline +{\em dx} & (int8\+\_\+t) X coordinate of the sprite relative to the metasprite origin (pivot) \\ +\hline +{\em dtile} & (uint8\+\_\+t) Start tile relative to the metasprites own set of tiles \\ +\hline +{\em props} & (uint8\+\_\+t) Property Flags\\ +\hline +\end{DoxyParams} +Metasprites are built from multiple \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} items (one for each sub-\/sprite) and a pool of tiles they reference. If a metasprite has multiple frames then each frame will be built from some number of \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} items (which may vary based on how many sprites are required for that particular frame). + +A metasprite frame is terminated with a \{metasprite\+\_\+end\} entry. + +Metasprite sub-\/item structure +\begin{DoxyParams}{Parameters} +{\em dy} & (int8\+\_\+t) Y coordinate of the sprite relative to the metasprite origin (pivot) \\ +\hline +{\em dx} & (int8\+\_\+t) X coordinate of the sprite relative to the metasprite origin (pivot) \\ +\hline +{\em dtile} & (uint8\+\_\+t) Start tile relative to the metasprites own set of tiles\\ +\hline +\end{DoxyParams} +Metasprites are built from multiple \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} items (one for each sub-\/sprite) and a pool of tiles they reference. If a metasprite has multiple frames then each frame will be built from some number of \mbox{\hyperlink{structmetasprite__t}{metasprite\+\_\+t}} items (which may vary based on how many sprites are required for that particular frame). + +A metasprite frame is terminated with a \{metasprite\+\_\+end\} entry. + +\doxysubsubsection{Field Documentation} +\mbox{\Hypertarget{structmetasprite__t_a2c3fea1f6b3354352823320c69a3e4bb}\label{structmetasprite__t_a2c3fea1f6b3354352823320c69a3e4bb}} +\index{metasprite\_t@{metasprite\_t}!dy@{dy}} +\index{dy@{dy}!metasprite\_t@{metasprite\_t}} +\doxyparagraph{\texorpdfstring{dy}{dy}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} metasprite\+\_\+t\+::dy} + +\mbox{\Hypertarget{structmetasprite__t_a67d2a6fb62059da39b54e975c4fbb324}\label{structmetasprite__t_a67d2a6fb62059da39b54e975c4fbb324}} +\index{metasprite\_t@{metasprite\_t}!dx@{dx}} +\index{dx@{dx}!metasprite\_t@{metasprite\_t}} +\doxyparagraph{\texorpdfstring{dx}{dx}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aef44329758059c91c76d334e8fc09700}{int8\+\_\+t}} metasprite\+\_\+t\+::dx} + +\mbox{\Hypertarget{structmetasprite__t_ad68b2f80c08f2f7fc603c56af2e75a6f}\label{structmetasprite__t_ad68b2f80c08f2f7fc603c56af2e75a6f}} +\index{metasprite\_t@{metasprite\_t}!dtile@{dtile}} +\index{dtile@{dtile}!metasprite\_t@{metasprite\_t}} +\doxyparagraph{\texorpdfstring{dtile}{dtile}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} metasprite\+\_\+t\+::dtile} + +\mbox{\Hypertarget{structmetasprite__t_ab61e73a65c5e8cb30d0d81bb7845d615}\label{structmetasprite__t_ab61e73a65c5e8cb30d0d81bb7845d615}} +\index{metasprite\_t@{metasprite\_t}!props@{props}} +\index{props@{props}!metasprite\_t@{metasprite\_t}} +\doxyparagraph{\texorpdfstring{props}{props}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} metasprite\+\_\+t\+::props} + + + +The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} +\item +gb/\mbox{\hyperlink{gb_2metasprites_8h}{metasprites.\+h}}\end{DoxyCompactItemize} diff --git a/docs/latex/structsfont__handle.tex b/docs/latex/structsfont__handle.tex @@ -0,0 +1,36 @@ +\hypertarget{structsfont__handle}{}\doxysubsection{sfont\+\_\+handle Struct Reference} +\label{structsfont__handle}\index{sfont\_handle@{sfont\_handle}} + + +{\ttfamily \#include $<$font.\+h$>$} + +\doxysubsubsection*{Data Fields} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} \mbox{\hyperlink{structsfont__handle_aa5a35bc92adbcfff5a531bf65da65630}{first\+\_\+tile}} +\item +void $\ast$ \mbox{\hyperlink{structsfont__handle_afa826a9e7aa0dc456bd342717eea1f89}{font}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Font handle structure + +\doxysubsubsection{Field Documentation} +\mbox{\Hypertarget{structsfont__handle_aa5a35bc92adbcfff5a531bf65da65630}\label{structsfont__handle_aa5a35bc92adbcfff5a531bf65da65630}} +\index{sfont\_handle@{sfont\_handle}!first\_tile@{first\_tile}} +\index{first\_tile@{first\_tile}!sfont\_handle@{sfont\_handle}} +\doxyparagraph{\texorpdfstring{first\_tile}{first\_tile}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t}} sfont\+\_\+handle\+::first\+\_\+tile} + +First tile used for font \mbox{\Hypertarget{structsfont__handle_afa826a9e7aa0dc456bd342717eea1f89}\label{structsfont__handle_afa826a9e7aa0dc456bd342717eea1f89}} +\index{sfont\_handle@{sfont\_handle}!font@{font}} +\index{font@{font}!sfont\_handle@{sfont\_handle}} +\doxyparagraph{\texorpdfstring{font}{font}} +{\footnotesize\ttfamily void$\ast$ sfont\+\_\+handle\+::font} + +Pointer to the base of the font + +The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} +\item +gbdk/\mbox{\hyperlink{font_8h}{font.\+h}}\end{DoxyCompactItemize} diff --git a/docs/latex/tabu_doxygen.sty b/docs/latex/tabu_doxygen.sty @@ -0,0 +1,2557 @@ +%% +%% This is file `tabu.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tabu.dtx (with options: `package') +%% +%% This is a generated file. +%% Copyright (FC) 2010-2011 - lppl +%% +%% tabu : 2011/02/26 v2.8 - tabu : Flexible LaTeX tabulars +%% +%% ********************************************************************************************** +%% \begin{tabu} { preamble } => default target: \linewidth or \linegoal +%% \begin{tabu} to <dimen>{ preamble } => target specified +%% \begin{tabu} spread <dimen>{ preamble } => target relative to the ``natural width'' +%% +%% tabu works in text and in math modes. +%% +%% X columns: automatic width adjustment + horizontal and vertical alignment +%% \begin{tabu} { X[4c] X[1c] X[-2ml] } +%% +%% Horizontal lines and / or leaders: +%% \hline\hline => double horizontal line +%% \firsthline\hline => for nested tabulars +%% \lasthline\hline => for nested tabulars +%% \tabucline[line spec]{column-column} => ``funny'' lines (dash/leader) +%% Automatic lines / leaders : +%% \everyrow{\hline\hline} +%% +%% Vertical lines and / or leaders: +%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt blue] } +%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt on 2pt off 4pt blue] } +%% +%% Fixed vertical spacing adjustment: +%% \extrarowheight=<dimen> \extrarowdepth=<dimen> +%% or: \extrarowsep=<dimen> => may be prefixed by \global +%% +%% Dynamic vertical spacing adjustment: +%% \abovetabulinesep=<dimen> \belowtabulinesep=<dimen> +%% or: \tabulinesep=<dimen> => may be prefixed by \global +%% +%% delarray.sty shortcuts: in math and text modes +%% \begin{tabu} .... \({ preamble }\) +%% +%% Algorithms reports: +%% \tracingtabu=1 \tracingtabu=2 +%% +%% ********************************************************************************************** +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3 of this license or (at your option) any later +%% version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% +%% This work consists of the main source file tabu.dtx +%% and the derived files +%% tabu.sty, tabu.pdf, tabu.ins +%% +%% tabu : Flexible LaTeX tabulars +%% lppl copyright 2010-2011 by FC <florent.chervet@free.fr> +%% + +\NeedsTeXFormat{LaTeX2e}[2005/12/01] +\ProvidesPackage{tabu_doxygen}[2011/02/26 v2.8 - flexible LaTeX tabulars (FC), frozen version for doxygen] +\RequirePackage{array}[2008/09/09] +\RequirePackage{varwidth}[2009/03/30] +\AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined} +\let\tabu@AtEnd\@empty +\def\TMP@EnsureCode#1={% + \edef\tabu@AtEnd{\tabu@AtEnd + \catcode#1 \the\catcode#1}% + \catcode#1=% +}% \TMP@EnsureCode +\TMP@EnsureCode 33 = 12 % ! +\TMP@EnsureCode 58 = 12 % : (for siunitx) +\TMP@EnsureCode124 = 12 % | +\TMP@EnsureCode 36 = 3 % $ = math shift +\TMP@EnsureCode 38 = 4 % & = tab alignment character +\TMP@EnsureCode 32 = 10 % space +\TMP@EnsureCode 94 = 7 % ^ +\TMP@EnsureCode 95 = 8 % _ +%% Constants -------------------------------------------------------- +\newcount \c@taburow \def\thetaburow {\number\c@taburow} +\newcount \tabu@nbcols +\newcount \tabu@cnt +\newcount \tabu@Xcol +\let\tabu@start \@tempcnta +\let\tabu@stop \@tempcntb +\newcount \tabu@alloc \tabu@alloc=\m@ne +\newcount \tabu@nested +\def\tabu@alloc@{\global\advance\tabu@alloc \@ne \tabu@nested\tabu@alloc} +\newdimen \tabu@target +\newdimen \tabu@spreadtarget +\newdimen \tabu@naturalX +\newdimen \tabucolX +\let\tabu@DELTA \@tempdimc +\let\tabu@thick \@tempdima +\let\tabu@on \@tempdimb +\let\tabu@off \@tempdimc +\newdimen \tabu@Xsum +\newdimen \extrarowdepth +\newdimen \abovetabulinesep +\newdimen \belowtabulinesep +\newdimen \tabustrutrule \tabustrutrule \z@ +\newtoks \tabu@thebody +\newtoks \tabu@footnotes +\newsavebox \tabu@box +\newsavebox \tabu@arstrutbox +\newsavebox \tabu@hleads +\newsavebox \tabu@vleads +\newif \iftabu@colortbl +\newif \iftabu@siunitx +\newif \iftabu@measuring +\newif \iftabu@spread +\newif \iftabu@negcoef +\newif \iftabu@everyrow +\def\tabu@everyrowtrue {\global\let\iftabu@everyrow \iftrue} +\def\tabu@everyrowfalse{\global\let\iftabu@everyrow \iffalse} +\newif \iftabu@long +\newif \iftabuscantokens +\def\tabu@rescan {\tabu@verbatim \scantokens } +%% Utilities (for internal usage) ----------------------------------- +\def\tabu@gobblespace #1 {#1} +\def\tabu@gobbletoken #1#2{#1} +\def\tabu@gobbleX{\futurelet\@let@token \tabu@gobblex} +\def\tabu@gobblex{\if ^^J\noexpand\@let@token \expandafter\@gobble + \else\ifx \@sptoken\@let@token + \expandafter\tabu@gobblespace\expandafter\tabu@gobbleX + \fi\fi +}% \tabu@gobblex +\def\tabu@X{^^J} +{\obeyspaces +\global\let\tabu@spxiii= % saves an active space (for \ifx) +\gdef\tabu@@spxiii{ }} +\def\tabu@ifenvir {% only for \multicolumn + \expandafter\tabu@if@nvir\csname\@currenvir\endcsname +}% \tabu@ifenvir +\def\tabu@if@nvir #1{\csname @\ifx\tabu#1first\else + \ifx\longtabu#1first\else + second\fi\fi oftwo\endcsname +}% \tabu@ifenvir +\def\tabu@modulo #1#2{\numexpr\ifnum\numexpr#1=\z@ 0\else #1-(#1-(#2-1)/2)/(#2)*(#2)\fi} +{\catcode`\&=3 +\gdef\tabu@strtrim #1{% #1 = control sequence to trim + \ifodd 1\ifx #1\@empty \else \ifx #1\space \else 0\fi \fi + \let\tabu@c@l@r \@empty \let#1\@empty + \else \expandafter \tabu@trimspaces #1\@nnil + \fi +}% \tabu@strtrim +\gdef\tabu@trimspaces #1\@nnil{\let\tabu@c@l@r=#2\tabu@firstspace .#1& }% +\gdef\tabu@firstspace #1#2#3 &{\tabu@lastspace #2#3&} +\gdef\tabu@lastspace #1{\def #3{#1}% + \ifx #3\tabu@c@l@r \def\tabu@c@l@r{\protect\color{#1}}\expandafter\remove@to@nnil \fi + \tabu@trimspaces #1\@nnil} +}% \catcode +\def\tabu@sanitizearg #1#2{{% + \csname \ifcsname if@safe@actives\endcsname % <babel> + @safe@activestrue\else + relax\fi \endcsname + \edef#2{#1}\tabu@strtrim#2\@onelevel@sanitize#2% + \expandafter}\expandafter\def\expandafter#2\expandafter{#2}% +}% \tabu@sanitizearg +\def\tabu@textbar #1{\begingroup \endlinechar\m@ne \scantokens{\def\:{|}}% + \expandafter\endgroup \expandafter#1\:% !!! semi simple group !!! +}% \tabu@textbar +\def\tabu@everyrow@bgroup{\iftabu@everyrow \begingroup \else \noalign{\ifnum0=`}\fi \fi} +\def\tabu@everyrow@egroup{% + \iftabu@everyrow \expandafter \endgroup \the\toks@ + \else \ifnum0=`{\fi}% + \fi +}% \tabu@everyrow@egroup +\def\tabu@arstrut {\global\setbox\@arstrutbox \hbox{\vrule + height \arraystretch \dimexpr\ht\strutbox+\extrarowheight + depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth + width \z@}% +}% \tabu@arstrut +\def\tabu@rearstrut {% + \@tempdima \arraystretch\dimexpr\ht\strutbox+\extrarowheight \relax + \@tempdimb \arraystretch\dimexpr\dp\strutbox+\extrarowdepth \relax + \ifodd 1\ifdim \ht\@arstrutbox=\@tempdima + \ifdim \dp\@arstrutbox=\@tempdimb 0 \fi\fi + \tabu@mkarstrut + \fi +}% \tabu@rearstrut +\def\tabu@@DBG #1{\ifdim\tabustrutrule>\z@ \color{#1}\fi} +\def\tabu@DBG@arstrut {\global\setbox\@arstrutbox + \hbox to\z@{\hbox to\z@{\hss + {\tabu@DBG{cyan}\vrule + height \arraystretch \dimexpr\ht\strutbox+\extrarowheight + depth \z@ + width \tabustrutrule}\kern-\tabustrutrule + {\tabu@DBG{pink}\vrule + height \z@ + depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth + width \tabustrutrule}}}% +}% \tabu@DBG@arstrut +\def\tabu@save@decl{\toks\count@ \expandafter{\the\toks\expandafter\count@ + \@nextchar}}% +\def\tabu@savedecl{\ifcat$\d@llarend\else + \let\save@decl \tabu@save@decl \fi % no inversion of tokens in text mode +}% \tabu@savedecl +\def\tabu@finalstrut #1{\unskip\ifhmode\nobreak\fi\vrule height\z@ depth\z@ width\z@} +\newcommand*\tabuDisableCommands {\g@addto@macro\tabu@trialh@@k } +\let\tabu@trialh@@k \@empty +\def\tabu@nowrite #1#{{\afterassignment}\toks@} +\let\tabu@write\write +\let\tabu@immediate\immediate +\def\tabu@WRITE{\begingroup + \def\immediate\write{\aftergroup\endgroup + \tabu@immediate\tabu@write}% +}% \tabu@WRITE +\expandafter\def\expandafter\tabu@GenericError\expandafter{% + \expandafter\tabu@WRITE\GenericError} +\def\tabu@warn{\tabu@WRITE\PackageWarning{tabu}} +\def\tabu@noxfootnote [#1]{\@gobble} +\def\tabu@nocolor #1#{\@gobble} +\newcommand*\tabu@norowcolor[2][]{} +\def\tabu@maybesiunitx #1{\def\tabu@temp{#1}% + \futurelet\@let@token \tabu@m@ybesiunitx} +\def\tabu@m@ybesiunitx #1{\def\tabu@m@ybesiunitx {% + \ifx #1\@let@token \let\tabu@cellleft \@empty \let\tabu@cellright \@empty \fi + \tabu@temp}% \tabu@m@ybesiunitx +}\expandafter\tabu@m@ybesiunitx \csname siunitx_table_collect_begin:Nn\endcsname +\def\tabu@celllalign@def #1{\def\tabu@celllalign{\tabu@maybesiunitx{#1}}}% +%% Fixed vertical spacing adjustment: \extrarowsep ------------------ +\newcommand*\extrarowsep{\edef\tabu@C@extra{\the\numexpr\tabu@C@extra+1}% + \iftabu@everyrow \aftergroup\tabu@Gextra + \else \aftergroup\tabu@n@Gextra + \fi + \@ifnextchar={\tabu@gobbletoken\tabu@extra} \tabu@extra +}% \extrarowsep +\def\tabu@extra {\@ifnextchar_% + {\tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}} + {\ifx ^\@let@token \def\tabu@temp{% + \tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}}% + \else \let\tabu@temp \@empty + \afterassignment \tabu@setextrasep \extrarowdepth + \fi \tabu@temp}% +}% \tabu@extra +\def\tabu@setextra #1#2{\def\tabu@temp{\tabu@extr@#1#2}\afterassignment\tabu@temp#2} +\def\tabu@extr@ #1#2{\@ifnextchar^% + {\tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}} + {\ifx _\@let@token \def\tabu@temp{% + \tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}}% + \else \let\tabu@temp \@empty + \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth + \fi \tabu@temp}% +}% \tabu@extr@ +\def\tabu@setextrasep {\extrarowheight=\extrarowdepth + \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth +}% \tabu@setextrasep +\def\tabu@Gextra{\ifx \tabu@G@extra\@empty \else {\tabu@Rextra}\fi} +\def\tabu@n@Gextra{\ifx \tabu@G@extra\@empty \else \noalign{\tabu@Rextra}\fi} +\def\tabu@Rextra{\tabu@Grestore \tabu@G@extra \tabu@C@extra} +\let\tabu@C@extra \z@ +\let\tabu@G@extra \@empty +%% Dynamic vertical spacing adjustment: \tabulinesep ---------------- +\newcommand*\tabulinesep{\edef\tabu@C@linesep{\the\numexpr\tabu@C@linesep+1}% + \iftabu@everyrow \aftergroup\tabu@Glinesep + \else \aftergroup\tabu@n@Glinesep + \fi + \@ifnextchar={\tabu@gobbletoken\tabu@linesep} \tabu@linesep +}% \tabulinesep +\def\tabu@linesep {\@ifnextchar_% + {\tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}} + {\ifx ^\@let@token \def\tabu@temp{% + \tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}}% + \else \let\tabu@temp \@empty + \afterassignment \tabu@setlinesep \abovetabulinesep + \fi \tabu@temp}% +}% \tabu@linesep +\def\tabu@setsep #1#2{\def\tabu@temp{\tabu@sets@p#1#2}\afterassignment\tabu@temp#2} +\def\tabu@sets@p #1#2{\@ifnextchar^% + {\tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}} + {\ifx _\@let@token \def\tabu@temp{% + \tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}}% + \else \let\tabu@temp \@empty + \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep + \fi \tabu@temp}% +}% \tabu@sets@p +\def\tabu@setlinesep {\belowtabulinesep=\abovetabulinesep + \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep +}% \tabu@setlinesep +\def\tabu@Glinesep{\ifx \tabu@G@linesep\@empty \else {\tabu@Rlinesep}\fi} +\def\tabu@n@Glinesep{\ifx \tabu@G@linesep\@empty \else \noalign{\tabu@Rlinesep}\fi} +\def\tabu@Rlinesep{\tabu@Grestore \tabu@G@linesep \tabu@C@linesep} +\let\tabu@C@linesep \z@ +\let\tabu@G@linesep \@empty +%% \global\extrarowsep and \global\tabulinesep ------------------- +\def\tabu@Gsave #1#2#3#4{\xdef#1{#1% + \toks#2{\toks\the\currentgrouplevel{\global#3\the#3\global#4\the#4}}}% +}% \tabu@Gsave +\def\tabu@Grestore#1#2{% + \toks#2{}#1\toks\currentgrouplevel\expandafter{\expandafter}\the\toks#2\relax + \ifcat$\the\toks\currentgrouplevel$\else + \global\let#1\@empty \global\let#2\z@ + \the\toks\currentgrouplevel + \fi +}% \tabu@Grestore +%% Setting code for every row --------------------------------------- +\newcommand*\everyrow{\tabu@everyrow@bgroup + \tabu@start \z@ \tabu@stop \z@ \tabu@evrstartstop +}% \everyrow +\def\tabu@evrstartstop {\@ifnextchar^% + {\afterassignment \tabu@evrstartstop \tabu@stop=}% + {\ifx ^\@let@token + \afterassignment\tabu@evrstartstop \tabu@start=% + \else \afterassignment\tabu@everyr@w \toks@ + \fi}% +}% \tabu@evrstartstop +\def\tabu@everyr@w {% + \xdef\tabu@everyrow{% + \noexpand\tabu@everyrowfalse + \let\noalign \relax + \noexpand\tabu@rowfontreset + \iftabu@colortbl \noexpand\tabu@rc@ \fi % \taburowcolors + \let\noexpand\tabu@docline \noexpand\tabu@docline@evr + \the\toks@ + \noexpand\tabu@evrh@@k + \noexpand\tabu@rearstrut + \global\advance\c@taburow \@ne}% + \iftabu@everyrow \toks@\expandafter + {\expandafter\def\expandafter\tabu@evr@L\expandafter{\the\toks@}\ignorespaces}% + \else \xdef\tabu@evr@G{\the\toks@}% + \fi + \tabu@everyrow@egroup +}% \tabu@everyr@w +\def\tabu@evr {\def\tabu@evrh@@k} % for internal use only +\tabu@evr{} +%% line style and leaders ------------------------------------------- +\newcommand*\newtabulinestyle [1]{% + {\@for \@tempa :=#1\do{\expandafter\tabu@newlinestyle \@tempa==\@nil}}% +}% \newtabulinestyle +\def\tabu@newlinestyle #1=#2=#3\@nil{\tabu@getline {#2}% + \tabu@sanitizearg {#1}\@tempa + \ifodd 1\ifx \@tempa\@empty \ifdefined\tabu@linestyle@ 0 \fi\fi + \global\expandafter\let + \csname tabu@linestyle@\@tempa \endcsname =\tabu@thestyle \fi +}% \tabu@newlinestyle +\newcommand*\tabulinestyle [1]{\tabu@everyrow@bgroup \tabu@getline{#1}% + \iftabu@everyrow + \toks@\expandafter{\expandafter \def \expandafter + \tabu@ls@L\expandafter{\tabu@thestyle}\ignorespaces}% + \gdef\tabu@ls@{\tabu@ls@L}% + \else + \global\let\tabu@ls@G \tabu@thestyle + \gdef\tabu@ls@{\tabu@ls@G}% + \fi + \tabu@everyrow@egroup +}% \tabulinestyle +\newcommand*\taburulecolor{\tabu@everyrow@bgroup \tabu@textbar \tabu@rulecolor} +\def\tabu@rulecolor #1{\toks@{}% + \def\tabu@temp #1##1#1{\tabu@ruledrsc{##1}}\@ifnextchar #1% + \tabu@temp + \tabu@rulearc +}% \tabu@rulecolor +\def\tabu@ruledrsc #1{\edef\tabu@temp{#1}\tabu@strtrim\tabu@temp + \ifx \tabu@temp\@empty \def\tabu@temp{\tabu@rule@drsc@ {}{}}% + \else \edef\tabu@temp{\noexpand\tabu@rule@drsc@ {}{\tabu@temp}}% + \fi + \tabu@temp +}% \tabu@ruledrsc@ +\def\tabu@ruledrsc@ #1#{\tabu@rule@drsc@ {#1}} +\def\tabu@rule@drsc@ #1#2{% + \iftabu@everyrow + \ifx \\#1#2\\\toks@{\let\CT@drsc@ \relax}% + \else \toks@{\def\CT@drsc@{\color #1{#2}}}% + \fi + \else + \ifx \\#1#2\\\global\let\CT@drsc@ \relax + \else \gdef\CT@drsc@{\color #1{#2}}% + \fi + \fi + \tabu@rulearc +}% \tabu@rule@drsc@ +\def\tabu@rulearc #1#{\tabu@rule@arc@ {#1}} +\def\tabu@rule@arc@ #1#2{% + \iftabu@everyrow + \ifx \\#1#2\\\toks@\expandafter{\the\toks@ \def\CT@arc@{}}% + \else \toks@\expandafter{\the\toks@ \def\CT@arc@{\color #1{#2}}}% + \fi + \toks@\expandafter{\the\toks@ + \let\tabu@arc@L \CT@arc@ + \let\tabu@drsc@L \CT@drsc@ + \ignorespaces}% + \else + \ifx \\#1#2\\\gdef\CT@arc@{}% + \else \gdef\CT@arc@{\color #1{#2}}% + \fi + \global\let\tabu@arc@G \CT@arc@ + \global\let\tabu@drsc@G \CT@drsc@ + \fi + \tabu@everyrow@egroup +}% \tabu@rule@arc@ +\def\taburowcolors {\tabu@everyrow@bgroup \@testopt \tabu@rowcolors 1} +\def\tabu@rowcolors [#1]#2#{\tabu@rowc@lors{#1}{#2}} +\def\tabu@rowc@lors #1#2#3{% + \toks@{}\@defaultunits \count@ =\number0#2\relax \@nnil + \@defaultunits \tabu@start =\number0#1\relax \@nnil + \ifnum \count@<\tw@ \count@=\tw@ \fi + \advance\tabu@start \m@ne + \ifnum \tabu@start<\z@ \tabu@start \z@ \fi + \tabu@rowcolorseries #3\in@..\in@ \@nnil +}% \tabu@rowcolors +\def\tabu@rowcolorseries #1..#2\in@ #3\@nnil {% + \ifx \in@#1\relax + \iftabu@everyrow \toks@{\def\tabu@rc@{}\let\tabu@rc@L \tabu@rc@}% + \else \gdef\tabu@rc@{}\global\let\tabu@rc@G \tabu@rc@ + \fi + \else + \ifx \\#2\\\tabu@rowcolorserieserror \fi + \tabu@sanitizearg{#1}\tabu@temp + \tabu@sanitizearg{#2}\@tempa + \advance\count@ \m@ne + \iftabu@everyrow + \def\tabu@rc@ ##1##2##3##4{\def\tabu@rc@{% + \ifnum ##2=\c@taburow + \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{##3}{##4}\fi + \ifnum \c@taburow<##2 \else + \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\z@ + \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi + \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% + \rowcolor{tabu@rc@\the\tabu@nested}\fi}% + }\edef\x{\noexpand\tabu@rc@ {\the\count@} + {\the\tabu@start} + {\tabu@temp} + {\@tempa}% + }\x + \toks@\expandafter{\expandafter\def\expandafter\tabu@rc@\expandafter{\tabu@rc@}}% + \toks@\expandafter{\the\toks@ \let\tabu@rc@L \tabu@rc@ \ignorespaces}% + \else % inside \noalign + \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{\tabu@temp}{\@tempa}% + \expandafter\resetcolorseries\expandafter[\the\count@]{tabu@rcseries@\the\tabu@nested}% + \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% + \let\noalign \relax \rowcolor{tabu@rc@\the\tabu@nested}% + \def\tabu@rc@ ##1##2{\gdef\tabu@rc@{% + \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\@ne + \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi + \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% + \rowcolor{tabu@rc@\the\tabu@nested}}% + }\edef\x{\noexpand\tabu@rc@{\the\count@}{\the\c@taburow}}\x + \global\let\tabu@rc@G \tabu@rc@ + \fi + \fi + \tabu@everyrow@egroup +}% \tabu@rowcolorseries +\tabuDisableCommands {\let\tabu@rc@ \@empty } +\def\tabu@rowcolorserieserror {\PackageError{tabu} + {Invalid syntax for \string\taburowcolors + \MessageBreak Please look at the documentation!}\@ehd +}% \tabu@rowcolorserieserror +\newcommand*\tabureset {% + \tabulinesep=\z@ \extrarowsep=\z@ \extratabsurround=\z@ + \tabulinestyle{}\everyrow{}\taburulecolor||{}\taburowcolors{}% +}% \tabureset +%% Parsing the line styles ------------------------------------------ +\def\tabu@getline #1{\begingroup + \csname \ifcsname if@safe@actives\endcsname % <babel> + @safe@activestrue\else + relax\fi \endcsname + \edef\tabu@temp{#1}\tabu@sanitizearg{#1}\@tempa + \let\tabu@thestyle \relax + \ifcsname tabu@linestyle@\@tempa \endcsname + \edef\tabu@thestyle{\endgroup + \def\tabu@thestyle{\expandafter\noexpand + \csname tabu@linestyle@\@tempa\endcsname}% + }\tabu@thestyle + \else \expandafter\tabu@definestyle \tabu@temp \@nil + \fi +}% \tabu@getline +\def\tabu@definestyle #1#2\@nil {\endlinechar \m@ne \makeatletter + \tabu@thick \maxdimen \tabu@on \maxdimen \tabu@off \maxdimen + \let\tabu@c@lon \@undefined \let\tabu@c@loff \@undefined + \ifodd 1\ifcat .#1\else\ifcat\relax #1\else 0\fi\fi % catcode 12 or non expandable cs + \def\tabu@temp{\tabu@getparam{thick}}% + \else \def\tabu@temp{\tabu@getparam{thick}\maxdimen}% + \fi + {% + \let\tabu@ \relax + \def\:{\obeyspaces \tabu@oXIII \tabu@commaXIII \edef\:}% (space active \: happy ;-)) + \scantokens{\:{\tabu@temp #1#2 \tabu@\tabu@}}% + \expandafter}\expandafter + \def\expandafter\:\expandafter{\:}% line spec rewritten now ;-) + \def\;{\def\:}% + \scantokens\expandafter{\expandafter\;\expandafter{\:}}% space is now inactive (catcode 10) + \let\tabu@ \tabu@getcolor \:% all arguments are ready now ;-) + \ifdefined\tabu@c@lon \else \let\tabu@c@lon\@empty \fi + \ifx \tabu@c@lon\@empty \def\tabu@c@lon{\CT@arc@}\fi + \ifdefined\tabu@c@loff \else \let\tabu@c@loff \@empty \fi + \ifdim \tabu@on=\maxdimen \ifdim \tabu@off<\maxdimen + \tabu@on \tabulineon \fi\fi + \ifdim \tabu@off=\maxdimen \ifdim \tabu@on<\maxdimen + \tabu@off \tabulineoff \fi\fi + \ifodd 1\ifdim \tabu@off=\maxdimen \ifdim \tabu@on=\maxdimen 0 \fi\fi + \in@true % <leaders> + \else \in@false % <rule> + \fi + \ifdim\tabu@thick=\maxdimen \def\tabu@thick{\arrayrulewidth}% + \else \edef\tabu@thick{\the\tabu@thick}% + \fi + \edef \tabu@thestyle ##1##2{\endgroup + \def\tabu@thestyle{% + \ifin@ \noexpand\tabu@leadersstyle {\tabu@thick} + {\the\tabu@on}{##1} + {\the\tabu@off}{##2}% + \else \noexpand\tabu@rulesstyle + {##1\vrule width \tabu@thick}% + {##1\leaders \hrule height \tabu@thick \hfil}% + \fi}% + }\expandafter \expandafter + \expandafter \tabu@thestyle \expandafter + \expandafter \expandafter + {\expandafter\tabu@c@lon\expandafter}\expandafter{\tabu@c@loff}% +}% \tabu@definestyle +{\catcode`\O=\active \lccode`\O=`\o \catcode`\,=\active + \lowercase{\gdef\tabu@oXIII {\catcode`\o=\active \let O=\tabu@oxiii}} + \gdef\tabu@commaXIII {\catcode`\,=\active \let ,=\space} +}% \catcode +\def\tabu@oxiii #1{% + \ifcase \ifx n#1\z@ \else + \ifx f#1\@ne\else + \tw@ \fi\fi + \expandafter\tabu@onxiii + \or \expandafter\tabu@ofxiii + \else o% + \fi#1}% +\def\tabu@onxiii #1#2{% + \ifcase \ifx !#2\tw@ \else + \ifcat.\noexpand#2\z@ \else + \ifx \tabu@spxiii#2\@ne\else + \tw@ \fi\fi\fi + \tabu@getparam{on}#2\expandafter\@gobble + \or \expandafter\tabu@onxiii % (space is active) + \else o\expandafter\@firstofone + \fi{#1#2}}% +\def\tabu@ofxiii #1#2{% + \ifx #2f\expandafter\tabu@offxiii + \else o\expandafter\@firstofone + \fi{#1#2}} +\def\tabu@offxiii #1#2{% + \ifcase \ifx !#2\tw@ \else + \ifcat.\noexpand#2\z@ \else + \ifx\tabu@spxiii#2\@ne \else + \tw@ \fi\fi\fi + \tabu@getparam{off}#2\expandafter\@gobble + \or \expandafter\tabu@offxiii % (space is active) + \else o\expandafter\@firstofone + \fi{#1#2}} +\def\tabu@getparam #1{\tabu@ \csname tabu@#1\endcsname=} +\def\tabu@getcolor #1{% \tabu@ <- \tabu@getcolor after \edef + \ifx \tabu@#1\else % no more spec + \let\tabu@theparam=#1\afterassignment \tabu@getc@l@r #1\fi +}% \tabu@getcolor +\def\tabu@getc@l@r #1\tabu@ {% + \def\tabu@temp{#1}\tabu@strtrim \tabu@temp + \ifx \tabu@temp\@empty + \else%\ifcsname \string\color@\tabu@temp \endcsname % if the color exists + \ifx \tabu@theparam \tabu@off \let\tabu@c@loff \tabu@c@l@r + \else \let\tabu@c@lon \tabu@c@l@r + \fi + %\else \tabu@warncolour{\tabu@temp}% + \fi%\fi + \tabu@ % next spec +}% \tabu@getc@l@r +\def\tabu@warncolour #1{\PackageWarning{tabu} + {Color #1 is not defined. Default color used}% +}% \tabu@warncolour +\def\tabu@leadersstyle #1#2#3#4#5{\def\tabu@leaders{{#1}{#2}{#3}{#4}{#5}}% + \ifx \tabu@leaders\tabu@leaders@G \else + \tabu@LEADERS{#1}{#2}{#3}{#4}{#5}\fi +}% \tabu@leadersstyle +\def\tabu@rulesstyle #1#2{\let\tabu@leaders \@undefined + \gdef\tabu@thevrule{#1}\gdef\tabu@thehrule{#2}% +}% \tabu@rulesstyle +%% The leaders boxes ------------------------------------------------ +\def\tabu@LEADERS #1#2#3#4#5{%% width, dash, dash color, gap, gap color + {\let\color \tabu@color % => during trials -> \color = \tabu@nocolor + {% % but the leaders boxes should have colors ! + \def\@therule{\vrule}\def\@thick{height}\def\@length{width}% + \def\@box{\hbox}\def\@unbox{\unhbox}\def\@elt{\wd}% + \def\@skip{\hskip}\def\@ss{\hss}\def\tabu@leads{\tabu@hleads}% + \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}% + \global\let\tabu@thehleaders \tabu@theleaders + }% + {% + \def\@therule{\hrule}\def\@thick{width}\def\@length{height}% + \def\@box{\vbox}\def\@unbox{\unvbox}\def\@elt{\ht}% + \def\@skip{\vskip}\def\@ss{\vss}\def\tabu@leads{\tabu@vleads}% + \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}% + \global\let\tabu@thevleaders \tabu@theleaders + }% + \gdef\tabu@leaders@G{{#1}{#2}{#3}{#4}{#5}}% + }% +}% \tabu@LEADERS +\def\tabu@therule #1#2{\@therule \@thick#1\@length\dimexpr#2/2 \@depth\z@} +\def\tabu@l@@d@rs #1#2#3#4#5{%% width, dash, dash color, gap, gap color + \global\setbox \tabu@leads=\@box{% + {#3\tabu@therule{#1}{#2}}% + \ifx\\#5\\\@skip#4\else{#5\tabu@therule{#1}{#4*2}}\fi + {#3\tabu@therule{#1}{#2}}}% + \global\setbox\tabu@leads=\@box to\@elt\tabu@leads{\@ss + {#3\tabu@therule{#1}{#2}}\@unbox\tabu@leads}% + \edef\tabu@theleaders ##1{\def\noexpand\tabu@theleaders {% + {##1\tabu@therule{#1}{#2}}% + \xleaders \copy\tabu@leads \@ss + \tabu@therule{0pt}{-#2}{##1\tabu@therule{#1}{#2}}}% + }\tabu@theleaders{#3}% +}% \tabu@l@@d@rs +%% \tabu \endtabu \tabu* \longtabu \endlongtabu \longtabu* ---------- +\newcommand*\tabu {\tabu@longfalse + \ifmmode \def\tabu@ {\array}\def\endtabu {\endarray}% + \else \def\tabu@ {\tabu@tabular}\def\endtabu {\endtabular}\fi + \expandafter\let\csname tabu*\endcsname \tabu + \expandafter\def\csname endtabu*\endcsname{\endtabu}% + \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget +}% {tabu} +\let\tabu@tabular \tabular % <For LyX: some users redefine \tabular...> +\expandafter\def\csname tabu*\endcsname{\tabuscantokenstrue \tabu} +\newcommand*\longtabu {\tabu@longtrue + \ifmmode\PackageError{tabu}{longtabu not allowed in math mode}\fi + \def\tabu@{\longtable}\def\endlongtabu{\endlongtable}% + \LTchunksize=\@M + \expandafter\let\csname tabu*\endcsname \tabu + \expandafter\def\csname endlongtabu*\endcsname{\endlongtabu}% + \let\LT@startpbox \tabu@LT@startpbox % \everypar{ array struts } + \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget +}% {longtabu} +\expandafter\def\csname longtabu*\endcsname{\tabuscantokenstrue \longtabu} +\def\tabu@nolongtabu{\PackageError{tabu} + {longtabu requires the longtable package}\@ehd} +%% Read the target and then : \tabular or \@array ------------------ +\def\tabu@settarget {\futurelet\@let@token \tabu@sett@rget } +\def\tabu@sett@rget {\tabu@target \z@ + \ifcase \ifx \bgroup\@let@token \z@ \else + \ifx \@sptoken\@let@token \@ne \else + \if t\@let@token \tw@ \else + \if s\@let@token \thr@@\else + \z@\fi\fi\fi\fi + \expandafter\tabu@begin + \or \expandafter\tabu@gobblespace\expandafter\tabu@settarget + \or \expandafter\tabu@to + \or \expandafter\tabu@spread + \fi +}% \tabu@sett@rget +\def\tabu@to to{\def\tabu@halignto{to}\tabu@gettarget} +\def\tabu@spread spread{\tabu@spreadtrue\def\tabu@halignto{spread}\tabu@gettarget} +\def\tabu@gettarget {\afterassignment\tabu@linegoaltarget \tabu@target } +\def\tabu@linegoaltarget {\futurelet\tabu@temp \tabu@linegoalt@rget } +\def\tabu@linegoalt@rget {% + \ifx \tabu@temp\LNGL@setlinegoal + \LNGL@setlinegoal \expandafter \@firstoftwo \fi % @gobbles \LNGL@setlinegoal + \tabu@begin +}% \tabu@linegoalt@rget +\def\tabu@begin #1#{% + \iftabu@measuring \expandafter\tabu@nestedmeasure \fi + \ifdim \tabu@target=\z@ \let\tabu@halignto \@empty + \else \edef\tabu@halignto{\tabu@halignto\the\tabu@target}% + \fi + \@testopt \tabu@tabu@ \tabu@aligndefault #1\@nil +}% \tabu@begin +\long\def\tabu@tabu@ [#1]#2\@nil #3{\tabu@setup + \def\tabu@align {#1}\def\tabu@savedpream{\NC@find #3}% + \tabu@ [\tabu@align ]#2{#3\tabu@rewritefirst }% +}% \tabu@tabu@ +\def\tabu@nestedmeasure {% + \ifodd 1\iftabu@spread \else \ifdim\tabu@target=\z@ \else 0 \fi\fi\relax + \tabu@spreadtrue + \else \begingroup \iffalse{\fi \ifnum0=`}\fi + \toks@{}\def\tabu@stack{b}% + \expandafter\tabu@collectbody\expandafter\tabu@quickrule + \expandafter\endgroup + \fi +}% \tabu@nestedmeasure +\def\tabu@quickrule {\indent\vrule height\z@ depth\z@ width\tabu@target} +%% \tabu@setup \tabu@init \tabu@indent +\def\tabu@setup{\tabu@alloc@ + \ifcase \tabu@nested + \ifmmode \else \iftabu@spread\else \ifdim\tabu@target=\z@ + \let\tabu@afterendpar \par + \fi\fi\fi + \def\tabu@aligndefault{c}\tabu@init \tabu@indent + \else % <nested tabu> + \def\tabu@aligndefault{t}\let\tabudefaulttarget \linewidth + \fi + \let\tabu@thetarget \tabudefaulttarget \let\tabu@restored \@undefined + \edef\tabu@NC@list{\the\NC@list}\NC@list{\NC@do \tabu@rewritefirst}% + \everycr{}\let\@startpbox \tabu@startpbox % for nested tabu inside longtabu... + \let\@endpbox \tabu@endpbox % idem " " " " " " + \let\@tabarray \tabu@tabarray % idem " " " " " " + \tabu@setcleanup \tabu@setreset +}% \tabu@setup +\def\tabu@init{\tabu@starttimer \tabu@measuringfalse + \edef\tabu@hfuzz {\the\dimexpr\hfuzz+1sp}\global\tabu@footnotes{}% + \let\firsthline \tabu@firsthline \let\lasthline \tabu@lasthline + \let\firstline \tabu@firstline \let\lastline \tabu@lastline + \let\hline \tabu@hline \let\@xhline \tabu@xhline + \let\color \tabu@color \let\@arstrutbox \tabu@arstrutbox + \iftabu@colortbl\else\let\LT@@hline \tabu@LT@@hline \fi + \tabu@trivlist %<restore \\=\@normalcr inside lists> + \let\@footnotetext \tabu@footnotetext \let\@xfootnotetext \tabu@xfootnotetext + \let\@xfootnote \tabu@xfootnote \let\centering \tabu@centering + \let\raggedright \tabu@raggedright \let\raggedleft \tabu@raggedleft + \let\tabudecimal \tabu@tabudecimal \let\Centering \tabu@Centering + \let\RaggedRight \tabu@RaggedRight \let\RaggedLeft \tabu@RaggedLeft + \let\justifying \tabu@justifying \let\rowfont \tabu@rowfont + \let\fbox \tabu@fbox \let\color@b@x \tabu@color@b@x + \let\tabu@@everycr \everycr \let\tabu@@everypar \everypar + \let\tabu@prepnext@tokORI \prepnext@tok\let\prepnext@tok \tabu@prepnext@tok + \let\tabu@multicolumnORI\multicolumn \let\multicolumn \tabu@multicolumn + \let\tabu@startpbox \@startpbox % for nested tabu inside longtabu pfff !!! + \let\tabu@endpbox \@endpbox % idem " " " " " " " + \let\tabu@tabarray \@tabarray % idem " " " " " " " + \tabu@adl@fix \let\endarray \tabu@endarray % <fix> colortbl & arydshln (delarray) + \iftabu@colortbl\CT@everycr\expandafter{\expandafter\iftabu@everyrow \the\CT@everycr \fi}\fi +}% \tabu@init +\def\tabu@indent{% correction for indentation + \ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget + \everypar\expandafter{% + \the\everypar\everypar\expandafter{\the\everypar}% + \setbox\z@=\lastbox + \ifdim\wd\z@>\z@ \edef\tabu@thetarget + {\the\dimexpr -\wd\z@+\tabudefaulttarget}\fi + \box\z@}% + \fi\fi +}% \tabu@indent +\def\tabu@setcleanup {% saves last global assignments + \ifodd 1\ifmmode \else \iftabu@long \else 0\fi\fi\relax + \def\tabu@aftergroupcleanup{% + \def\tabu@aftergroupcleanup{\aftergroup\tabu@cleanup}}% + \else + \def\tabu@aftergroupcleanup{% + \aftergroup\aftergroup\aftergroup\tabu@cleanup + \let\tabu@aftergroupcleanup \relax}% + \fi + \let\tabu@arc@Gsave \tabu@arc@G + \let\tabu@arc@G \tabu@arc@L % <init> + \let\tabu@drsc@Gsave \tabu@drsc@G + \let\tabu@drsc@G \tabu@drsc@L % <init> + \let\tabu@ls@Gsave \tabu@ls@G + \let\tabu@ls@G \tabu@ls@L % <init> + \let\tabu@rc@Gsave \tabu@rc@G + \let\tabu@rc@G \tabu@rc@L % <init> + \let\tabu@evr@Gsave \tabu@evr@G + \let\tabu@evr@G \tabu@evr@L % <init> + \let\tabu@celllalign@save \tabu@celllalign + \let\tabu@cellralign@save \tabu@cellralign + \let\tabu@cellleft@save \tabu@cellleft + \let\tabu@cellright@save \tabu@cellright + \let\tabu@@celllalign@save \tabu@@celllalign + \let\tabu@@cellralign@save \tabu@@cellralign + \let\tabu@@cellleft@save \tabu@@cellleft + \let\tabu@@cellright@save \tabu@@cellright + \let\tabu@rowfontreset@save \tabu@rowfontreset + \let\tabu@@rowfontreset@save\tabu@@rowfontreset + \let\tabu@rowfontreset \@empty + \edef\tabu@alloc@save {\the\tabu@alloc}% restore at \tabu@reset + \edef\c@taburow@save {\the\c@taburow}% + \edef\tabu@naturalX@save {\the\tabu@naturalX}% + \let\tabu@naturalXmin@save \tabu@naturalXmin + \let\tabu@naturalXmax@save \tabu@naturalXmax + \let\tabu@mkarstrut@save \tabu@mkarstrut + \edef\tabu@clarstrut{% + \extrarowheight \the\dimexpr \ht\@arstrutbox-\ht\strutbox \relax + \extrarowdepth \the\dimexpr \dp\@arstrutbox-\dp\strutbox \relax + \let\noexpand\@arraystretch \@ne \noexpand\tabu@rearstrut}% +}% \tabu@setcleanup +\def\tabu@cleanup {\begingroup + \globaldefs\@ne \tabu@everyrowtrue + \let\tabu@arc@G \tabu@arc@Gsave + \let\CT@arc@ \tabu@arc@G + \let\tabu@drsc@G \tabu@drsc@Gsave + \let\CT@drsc@ \tabu@drsc@G + \let\tabu@ls@G \tabu@ls@Gsave + \let\tabu@ls@ \tabu@ls@G + \let\tabu@rc@G \tabu@rc@Gsave + \let\tabu@rc@ \tabu@rc@G + \let\CT@do@color \relax + \let\tabu@evr@G \tabu@evr@Gsave + \let\tabu@celllalign \tabu@celllalign@save + \let\tabu@cellralign \tabu@cellralign@save + \let\tabu@cellleft \tabu@cellleft@save + \let\tabu@cellright \tabu@cellright@save + \let\tabu@@celllalign \tabu@@celllalign@save + \let\tabu@@cellralign \tabu@@cellralign@save + \let\tabu@@cellleft \tabu@@cellleft@save + \let\tabu@@cellright \tabu@@cellright@save + \let\tabu@rowfontreset \tabu@rowfontreset@save + \let\tabu@@rowfontreset \tabu@@rowfontreset@save + \tabu@naturalX =\tabu@naturalX@save + \let\tabu@naturalXmax \tabu@naturalXmax@save + \let\tabu@naturalXmin \tabu@naturalXmin@save + \let\tabu@mkarstrut \tabu@mkarstrut@save + \c@taburow =\c@taburow@save + \ifcase \tabu@nested \tabu@alloc \m@ne\fi + \endgroup % <end of \globaldefs> + \ifcase \tabu@nested + \the\tabu@footnotes \global\tabu@footnotes{}% + \tabu@afterendpar \tabu@elapsedtime + \fi + \tabu@clarstrut + \everyrow\expandafter {\tabu@evr@G}% +}% \tabu@cleanup +\let\tabu@afterendpar \relax +\def\tabu@setreset {% + \edef\tabu@savedparams {% \relax for \tabu@message@save + \ifmmode \col@sep \the\arraycolsep + \else \col@sep \the\tabcolsep \fi \relax + \arrayrulewidth \the\arrayrulewidth \relax + \doublerulesep \the\doublerulesep \relax + \extratabsurround \the\extratabsurround \relax + \extrarowheight \the\extrarowheight \relax + \extrarowdepth \the\extrarowdepth \relax + \abovetabulinesep \the\abovetabulinesep \relax + \belowtabulinesep \the\belowtabulinesep \relax + \def\noexpand\arraystretch{\arraystretch}% + \ifdefined\minrowclearance \minrowclearance\the\minrowclearance\relax\fi}% + \begingroup + \@temptokena\expandafter{\tabu@savedparams}% => only for \savetabu / \usetabu + \ifx \tabu@arc@L\relax \else \tabu@setsave \tabu@arc@L \fi + \ifx \tabu@drsc@L\relax \else \tabu@setsave \tabu@drsc@L \fi + \tabu@setsave \tabu@ls@L \tabu@setsave \tabu@evr@L + \expandafter \endgroup \expandafter + \def\expandafter\tabu@saved@ \expandafter{\the\@temptokena + \let\tabu@arc@G \tabu@arc@L + \let\tabu@drsc@G \tabu@drsc@L + \let\tabu@ls@G \tabu@ls@L + \let\tabu@rc@G \tabu@rc@L + \let\tabu@evr@G \tabu@evr@L}% + \def\tabu@reset{\tabu@savedparams + \tabu@everyrowtrue \c@taburow \z@ + \let\CT@arc@ \tabu@arc@L + \let\CT@drsc@ \tabu@drsc@L + \let\tabu@ls@ \tabu@ls@L + \let\tabu@rc@ \tabu@rc@L + \global\tabu@alloc \tabu@alloc@save + \everyrow\expandafter{\tabu@evr@L}}% +}% \tabu@reset +\def\tabu@setsave #1{\expandafter\tabu@sets@ve #1\@nil{#1}} +\long\def\tabu@sets@ve #1\@nil #2{\@temptokena\expandafter{\the\@temptokena \def#2{#1}}} +%% The Rewriting Process ------------------------------------------- +\def\tabu@newcolumntype #1{% + \expandafter\tabu@new@columntype + \csname NC@find@\string#1\expandafter\endcsname + \csname NC@rewrite@\string#1\endcsname + {#1}% +}% \tabu@newcolumntype +\def\tabu@new@columntype #1#2#3{% + \def#1##1#3{\NC@{##1}}% + \let#2\relax \newcommand*#2% +}% \tabu@new@columntype +\def\tabu@privatecolumntype #1{% + \expandafter\tabu@private@columntype + \csname NC@find@\string#1\expandafter\endcsname + \csname NC@rewrite@\string#1\expandafter\endcsname + \csname tabu@NC@find@\string#1\expandafter\endcsname + \csname tabu@NC@rewrite@\string#1\endcsname + {#1}% +}% \tabu@privatecolumntype +\def\tabu@private@columntype#1#2#3#4{% + \g@addto@macro\tabu@privatecolumns{\let#1#3\let#2#4}% + \tabu@new@columntype#3#4% +}% \tabu@private@columntype +\let\tabu@privatecolumns \@empty +\newcommand*\tabucolumn [1]{\expandafter \def \expandafter + \tabu@highprioritycolumns\expandafter{\tabu@highprioritycolumns + \NC@do #1}}% +\let\tabu@highprioritycolumns \@empty +%% The | ``column'' : rewriting process -------------------------- +\tabu@privatecolumntype |{\tabu@rewritevline} +\newcommand*\tabu@rewritevline[1][]{\tabu@vlinearg{#1}% + \expandafter \NC@find \tabu@rewritten} +\def\tabu@lines #1{% + \ifx|#1\else \tabu@privatecolumntype #1{\tabu@rewritevline}\fi + \NC@list\expandafter{\the\NC@list \NC@do #1}% +}% \tabu@lines@ +\def\tabu@vlinearg #1{% + \ifx\\#1\\\def\tabu@thestyle {\tabu@ls@}% + \else\tabu@getline {#1}% + \fi + \def\tabu@rewritten ##1{\def\tabu@rewritten{!{##1\tabu@thevline}}% + }\expandafter\tabu@rewritten\expandafter{\tabu@thestyle}% + \expandafter \tabu@keepls \tabu@thestyle \@nil +}% \tabu@vlinearg +\def\tabu@keepls #1\@nil{% + \ifcat $\@cdr #1\@nil $% + \ifx \relax#1\else + \ifx \tabu@ls@#1\else + \let#1\relax + \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer + \tabu@savels\noexpand#1}\fi\fi\fi +}% \tabu@keepls +\def\tabu@thevline {\begingroup + \ifdefined\tabu@leaders + \setbox\@tempboxa=\vtop to\dimexpr + \ht\@arstrutbox+\dp\@arstrutbox{{\tabu@thevleaders}}% + \ht\@tempboxa=\ht\@arstrutbox \dp\@tempboxa=\dp\@arstrutbox + \box\@tempboxa + \else + \tabu@thevrule + \fi \endgroup +}% \tabu@thevline +\def\tabu@savels #1{% + \expandafter\let\csname\string#1\endcsname #1% + \expandafter\def\expandafter\tabu@reset\expandafter{\tabu@reset + \tabu@resetls#1}}% +\def\tabu@resetls #1{\expandafter\let\expandafter#1\csname\string#1\endcsname}% +%% \multicolumn inside tabu environment ----------------------------- +\tabu@newcolumntype \tabu@rewritemulticolumn{% + \aftergroup \tabu@endrewritemulticolumn % after \@mkpream group + \NC@list{\NC@do *}\tabu@textbar \tabu@lines + \tabu@savedecl + \tabu@privatecolumns + \NC@list\expandafter{\the\expandafter\NC@list \tabu@NC@list}% + \let\tabu@savels \relax + \NC@find +}% \tabu@rewritemulticolumn +\def\tabu@endrewritemulticolumn{\gdef\tabu@mkpreambuffer{}\endgroup} +\def\tabu@multicolumn{\tabu@ifenvir \tabu@multic@lumn \tabu@multicolumnORI} +\long\def\tabu@multic@lumn #1#2#3{\multispan{#1}\begingroup + \tabu@everyrowtrue + \NC@list{\NC@do \tabu@rewritemulticolumn}% + \expandafter\@gobbletwo % gobbles \multispan{#1} + \tabu@multicolumnORI{#1}{\tabu@rewritemulticolumn #2}% + {\iftabuscantokens \tabu@rescan \else \expandafter\@firstofone \fi + {#3}}% +}% \tabu@multic@lumn +%% The X column(s): rewriting process ----------------------------- +\tabu@privatecolumntype X[1][]{\begingroup \tabu@siunitx{\endgroup \tabu@rewriteX {#1}}} +\def\tabu@nosiunitx #1{#1{}{}\expandafter \NC@find \tabu@rewritten } +\def\tabu@siunitx #1{\@ifnextchar \bgroup + {\tabu@rewriteX@Ss{#1}} + {\tabu@nosiunitx{#1}}} +\def\tabu@rewriteX@Ss #1#2{\@temptokena{}% + \@defaultunits \let\tabu@temp =#2\relax\@nnil + \ifodd 1\ifx S\tabu@temp \else \ifx s\tabu@temp \else 0 \fi\fi + \def\NC@find{\def\NC@find >####1####2<####3\relax{#1 {####1}{####3}% + }\expandafter\NC@find \the\@temptokena \relax + }\expandafter\NC@rewrite@S \@gobble #2\relax + \else \tabu@siunitxerror + \fi + \expandafter \NC@find \tabu@rewritten +}% \tabu@rewriteX@Ss +\def\tabu@siunitxerror {\PackageError{tabu}{Not a S nor s column ! + \MessageBreak X column can only embed siunitx S or s columns}\@ehd +}% \tabu@siunitxerror +\def\tabu@rewriteX #1#2#3{\tabu@Xarg {#1}{#2}{#3}% + \iftabu@measuring + \else \tabu@measuringtrue % first X column found in the preamble + \let\@halignto \relax \let\tabu@halignto \relax + \iftabu@spread \tabu@spreadtarget \tabu@target \tabu@target \z@ + \else \tabu@spreadtarget \z@ \fi + \ifdim \tabu@target=\z@ + \setlength\tabu@target \tabu@thetarget + \tabu@message{\tabu@message@defaulttarget}% + \else \tabu@message{\tabu@message@target}\fi + \fi +}% \tabu@rewriteX +\def\tabu@rewriteXrestore #1#2#3{\let\@halignto \relax + \def\tabu@rewritten{l}} +\def\tabu@Xarg #1#2#3{% + \advance\tabu@Xcol \@ne \let\tabu@Xlcr \@empty + \let\tabu@Xdisp \@empty \let\tabu@Xmath \@empty + \ifx\\#1\\% <shortcut when no option> + \def\tabu@rewritten{p}\tabucolX \p@ % <default coef = 1> + \else + \let\tabu@rewritten \@empty \let\tabu@temp \@empty \tabucolX \z@ + \tabu@Xparse {}#1\relax + \fi + \tabu@Xrewritten{#2}{#3}% +}% \tabu@Xarg +\def\tabu@Xparse #1{\futurelet\@let@token \tabu@Xtest} +\expandafter\def\expandafter\tabu@Xparsespace\space{\tabu@Xparse{}} +\def\tabu@Xtest{% + \ifcase \ifx \relax\@let@token \z@ \else + \if ,\@let@token \m@ne\else + \if p\@let@token 1\else + \if m\@let@token 2\else + \if b\@let@token 3\else + \if l\@let@token 4\else + \if c\@let@token 5\else + \if r\@let@token 6\else + \if j\@let@token 7\else + \if L\@let@token 8\else + \if C\@let@token 9\else + \if R\@let@token 10\else + \if J\@let@token 11\else + \ifx \@sptoken\@let@token 12\else + \if .\@let@token 13\else + \if -\@let@token 13\else + \ifcat $\@let@token 14\else + 15\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax + \or \tabu@Xtype {p}% + \or \tabu@Xtype {m}% + \or \tabu@Xtype {b}% + \or \tabu@Xalign \raggedright\relax + \or \tabu@Xalign \centering\relax + \or \tabu@Xalign \raggedleft\relax + \or \tabu@Xalign \tabu@justify\relax + \or \tabu@Xalign \RaggedRight\raggedright + \or \tabu@Xalign \Centering\centering + \or \tabu@Xalign \RaggedLeft\raggedleft + \or \tabu@Xalign \justifying\tabu@justify + \or \expandafter \tabu@Xparsespace + \or \expandafter \tabu@Xcoef + \or \expandafter \tabu@Xm@th + \or \tabu@Xcoef{}% + \else\expandafter \tabu@Xparse + \fi +}% \tabu@Xtest +\def\tabu@Xalign #1#2{% + \ifx \tabu@Xlcr\@empty \else \PackageWarning{tabu} + {Duplicate horizontal alignment specification}\fi + \ifdefined#1\def\tabu@Xlcr{#1}\let#1\relax + \else \def\tabu@Xlcr{#2}\let#2\relax\fi + \expandafter\tabu@Xparse +}% \tabu@Xalign +\def\tabu@Xtype #1{% + \ifx \tabu@rewritten\@empty \else \PackageWarning{tabu} + {Duplicate vertical alignment specification}\fi + \def\tabu@rewritten{#1}\expandafter\tabu@Xparse +}% \tabu@Xtype +\def\tabu@Xcoef#1{\edef\tabu@temp{\tabu@temp#1}% + \afterassignment\tabu@Xc@ef \tabu@cnt\number\if-#10\fi +}% \tabu@Xcoef +\def\tabu@Xc@ef{\advance\tabucolX \tabu@temp\the\tabu@cnt\p@ + \tabu@Xparse{}% +}% \tabu@Xc@ef +\def\tabu@Xm@th #1{\futurelet \@let@token \tabu@Xd@sp} +\def\tabu@Xd@sp{\let\tabu@Xmath=$% + \ifx $\@let@token \def\tabu@Xdisp{\displaystyle}% + \expandafter\tabu@Xparse + \else \expandafter\tabu@Xparse\expandafter{\expandafter}% + \fi +}% \tabu@Xd@sp +\def\tabu@Xrewritten {% + \ifx \tabu@rewritten\@empty \def\tabu@rewritten{p}\fi + \ifdim \tabucolX<\z@ \tabu@negcoeftrue + \else\ifdim \tabucolX=\z@ \tabucolX \p@ + \fi\fi + \edef\tabu@temp{{\the\tabu@Xcol}{\tabu@strippt\tabucolX}}% + \edef\tabu@Xcoefs{\tabu@Xcoefs \tabu@ \tabu@temp}% + \edef\tabu@rewritten ##1##2{\def\noexpand\tabu@rewritten{% + >{\tabu@Xlcr \ifx$\tabu@Xmath$\tabu@Xdisp\fi ##1}% + \tabu@rewritten {\tabu@hsize \tabu@temp}% + <{##2\ifx$\tabu@Xmath$\fi}}% + }\tabu@rewritten +}% \tabu@Xrewritten +\def\tabu@hsize #1#2{% + \ifdim #2\p@<\z@ + \ifdim \tabucolX=\maxdimen \tabu@wd{#1}\else + \ifdim \tabu@wd{#1}<-#2\tabucolX \tabu@wd{#1}\else -#2\tabucolX\fi + \fi + \else #2\tabucolX + \fi +}% \tabu@hsize +%% \usetabu and \preamble: rewriting process --------------------- +\tabu@privatecolumntype \usetabu [1]{% + \ifx\\#1\\\tabu@saveerr{}\else + \@ifundefined{tabu@saved@\string#1} + {\tabu@saveerr{#1}} + {\let\tabu@rewriteX \tabu@rewriteXrestore + \csname tabu@saved@\string#1\expandafter\endcsname\expandafter\@ne}% + \fi +}% \NC@rewrite@\usetabu +\tabu@privatecolumntype \preamble [1]{% + \ifx\\#1\\\tabu@saveerr{}\else + \@ifundefined{tabu@saved@\string#1} + {\tabu@saveerr{#1}} + {\csname tabu@saved@\string#1\expandafter\endcsname\expandafter\z@}% + \fi +}% \NC@rewrite@\preamble +%% Controlling the rewriting process ------------------------------- +\tabu@newcolumntype \tabu@rewritefirst{% + \iftabu@long \aftergroup \tabu@longpream % <the whole implementation is here !> + \else \aftergroup \tabu@pream + \fi + \let\tabu@ \relax \let\tabu@hsize \relax + \let\tabu@Xcoefs \@empty \let\tabu@savels \relax + \tabu@Xcol \z@ \tabu@cnt \tw@ + \gdef\tabu@mkpreambuffer{\tabu@{}}\tabu@measuringfalse + \global\setbox\@arstrutbox \box\@arstrutbox + \NC@list{\NC@do *}\tabu@textbar \tabu@lines + \NC@list\expandafter{\the\NC@list \NC@do X}% + \iftabu@siunitx % <siunitx S and s columns> + \NC@list\expandafter{\the\NC@list \NC@do S\NC@do s}\fi + \NC@list\expandafter{\the\expandafter\NC@list \tabu@highprioritycolumns}% + \expandafter\def\expandafter\tabu@NC@list\expandafter{% + \the\expandafter\NC@list \tabu@NC@list}% % * | X S <original> + \NC@list\expandafter{\expandafter \NC@do \expandafter\usetabu + \expandafter \NC@do \expandafter\preamble + \the\NC@list \NC@do \tabu@rewritemiddle + \NC@do \tabu@rewritelast}% + \tabu@savedecl + \tabu@privatecolumns + \edef\tabu@prev{\the\@temptokena}\NC@find \tabu@rewritemiddle +}% NC@rewrite@\tabu@rewritefirst +\tabu@newcolumntype \tabu@rewritemiddle{% + \edef\tabu@temp{\the\@temptokena}\NC@find \tabu@rewritelast +}% \NC@rewrite@\tabu@rewritemiddle +\tabu@newcolumntype \tabu@rewritelast{% + \ifx \tabu@temp\tabu@prev \advance\tabu@cnt \m@ne + \NC@list\expandafter{\tabu@NC@list \NC@do \tabu@rewritemiddle + \NC@do \tabu@rewritelast}% + \else \let\tabu@prev\tabu@temp + \fi + \ifcase \tabu@cnt \expandafter\tabu@endrewrite + \else \expandafter\NC@find \expandafter\tabu@rewritemiddle + \fi +}% \NC@rewrite@\tabu@rewritelast +%% Choosing the strategy -------------------------------------------- +\def\tabu@endrewrite {% + \let\tabu@temp \NC@find + \ifx \@arrayright\relax \let\@arrayright \@empty \fi + \count@=% + \ifx \@finalstrut\tabu@finalstrut \z@ % outer in mode 0 print + \iftabu@measuring + \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer + \tabu@target \csname tabu@\the\tabu@nested.T\endcsname + \tabucolX \csname tabu@\the\tabu@nested.X\endcsname + \edef\@halignto {\ifx\@arrayright\@empty to\tabu@target\fi}}% + \fi + \else\iftabu@measuring 4 % X columns + \xdef\tabu@mkpreambuffer{\tabu@{\tabu@mkpreambuffer + \tabu@target \the\tabu@target + \tabu@spreadtarget \the\tabu@spreadtarget}% + \def\noexpand\tabu@Xcoefs{\tabu@Xcoefs}% + \edef\tabu@halignto{\ifx \@arrayright\@empty to\tabu@target\fi}}% + \let\tabu@Xcoefs \relax + \else\ifcase\tabu@nested \thr@@ % outer, no X + \global\let\tabu@afterendpar \relax + \else \@ne % inner, no X, outer in mode 1 or 2 + \fi + \ifdefined\tabu@usetabu + \else \ifdim\tabu@target=\z@ + \else \let\tabu@temp \tabu@extracolsep + \fi\fi + \fi + \fi + \xdef\tabu@mkpreambuffer{\count@ \the\count@ \tabu@mkpreambuffer}% + \tabu@temp +}% \tabu@endrewrite +\def\tabu@extracolsep{\@defaultunits \expandafter\let + \expandafter\tabu@temp \expandafter=\the\@temptokena \relax\@nnil + \ifx \tabu@temp\@sptoken + \expandafter\tabu@gobblespace \expandafter\tabu@extracolsep + \else + \edef\tabu@temp{\noexpand\NC@find + \if |\noexpand\tabu@temp @% + \else\if !\noexpand\tabu@temp @% + \else !% + \fi\fi + {\noexpand\extracolsep\noexpand\@flushglue}}% + \fi + \tabu@temp +}% \tabu@extrac@lsep +%% Implementing the strategy ---------------------------------------- +\long\def\tabu@pream #1\@preamble {% + \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup + \NC@list\expandafter {\tabu@NC@list}% in case of nesting... + \ifdefined\tabu@usetabu \tabu@usetabu \tabu@target \z@ \fi + \let\tabu@savedpreamble \@preamble + \global\let\tabu@elapsedtime \relax + \tabu@thebody ={#1\tabu@aftergroupcleanup}% + \tabu@thebody =\expandafter{\the\expandafter\tabu@thebody + \@preamble}% + \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens ) + \tabu@select +}% \tabu@pream +\long\def\tabu@longpream #1\LT@bchunk #2\LT@bchunk{% + \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup + \NC@list\expandafter {\tabu@NC@list}% in case of nesting... + \let\tabu@savedpreamble \@preamble + \global\let\tabu@elapsedtime \relax + \tabu@thebody ={#1\LT@bchunk #2\tabu@aftergroupcleanup \LT@bchunk}% + \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens ) + \tabu@select +}% \tabu@longpream +\def\tabu@select {% + \ifnum\tabu@nested>\z@ \tabuscantokensfalse \fi + \ifnum \count@=\@ne \iftabu@measuring \count@=\tw@ \fi\fi + \ifcase \count@ + \global\let\tabu@elapsedtime \relax + \tabu@seteverycr + \expandafter \tabuthepreamble % vertical adjustment (inherited from outer) + \or % exit in vertical measure + struts per cell because no X and outer in mode 3 + \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}% + \def\tabu@cellralign{\tabu@verticalspacing}% + \tabu@seteverycr + \expandafter \tabuthepreamble + \or % exit without measure because no X and outer in mode 4 + \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty + \tabu@seteverycr + \expandafter \tabuthepreamble + \else % needs trials + \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty + \tabu@savecounters + \expandafter \tabu@setstrategy + \fi +}% \tabu@select +\def\tabu@@ {\gdef\tabu@mkpreambuffer} +%% Protections to set up before trials ------------------------------ +\def\tabu@setstrategy {\begingroup % <trials group> + \tabu@trialh@@k \tabu@cnt \z@ % number of trials + \hbadness \@M \let\hbadness \@tempcnta + \hfuzz \maxdimen \let\hfuzz \@tempdima + \let\write \tabu@nowrite\let\GenericError \tabu@GenericError + \let\savetabu \@gobble \let\tabudefaulttarget \linewidth + \let\@footnotetext \@gobble \let\@xfootnote \tabu@xfootnote + \let\color \tabu@nocolor\let\rowcolor \tabu@norowcolor + \let\tabu@aftergroupcleanup \relax % only after the last trial + \tabu@mkpreambuffer + \ifnum \count@>\thr@@ \let\@halignto \@empty \tabucolX@init + \def\tabu@lasttry{\m@ne\p@}\fi + \begingroup \iffalse{\fi \ifnum0=`}\fi + \toks@{}\def\tabu@stack{b}\iftabuscantokens \endlinechar=10 \obeyspaces \fi % + \tabu@collectbody \tabu@strategy % +}% \tabu@setstrategy +\def\tabu@savecounters{% + \def\@elt ##1{\csname c@##1\endcsname\the\csname c@##1\endcsname}% + \edef\tabu@clckpt {\begingroup \globaldefs=\@ne \cl@@ckpt \endgroup}\let\@elt \relax +}% \tabu@savecounters +\def\tabucolX@init {% \tabucolX <= \tabu@target / (sum coefs > 0) + \dimen@ \z@ \tabu@Xsum \z@ \tabucolX \z@ \let\tabu@ \tabu@Xinit \tabu@Xcoefs + \ifdim \dimen@>\z@ + \@tempdima \dimexpr \tabu@target *\p@/\dimen@ + \tabu@hfuzz\relax + \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi + \fi +}% \tabucolX@init +\def\tabu@Xinit #1#2{\tabu@Xcol #1 \advance \tabu@Xsum + \ifdim #2\p@>\z@ #2\p@ \advance\dimen@ #2\p@ + \else -#2\p@ \tabu@negcoeftrue + \@tempdima \dimexpr \tabu@target*\p@/\dimexpr-#2\p@\relax \relax + \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi + \tabu@wddef{#1}{0pt}% + \fi +}% \tabu@Xinit +%% Collecting the environment body ---------------------------------- +\long\def\tabu@collectbody #1#2\end #3{% + \edef\tabu@stack{\tabu@pushbegins #2\begin\end\expandafter\@gobble\tabu@stack}% + \ifx \tabu@stack\@empty + \toks@\expandafter{\expandafter\tabu@thebody\expandafter{\the\toks@ #2}% + \def\tabu@end@envir{\end{#3}}% + \iftabuscantokens + \iftabu@long \def\tabu@endenvir {\end{#3}\tabu@gobbleX}% + \else \def\tabu@endenvir {\let\endarray \@empty + \end{#3}\tabu@gobbleX}% + \fi + \else \def\tabu@endenvir {\end{#3}}\fi}% + \let\tabu@collectbody \tabu@endofcollect + \else\def\tabu@temp{#3}% + \ifx \tabu@temp\@empty \toks@\expandafter{\the\toks@ #2\end }% + \else \ifx\tabu@temp\tabu@@spxiii \toks@\expandafter{\the\toks@ #2\end #3}% + \else \ifx\tabu@temp\tabu@X \toks@\expandafter{\the\toks@ #2\end #3}% + \else \toks@\expandafter{\the\toks@ #2\end{#3}}% + \fi\fi\fi + \fi + \tabu@collectbody{#1}% +}% \tabu@collectbody +\long\def\tabu@pushbegins#1\begin#2{\ifx\end#2\else b\expandafter\tabu@pushbegins\fi}% +\def\tabu@endofcollect #1{\ifnum0=`{}\fi + \expandafter\endgroup \the\toks@ #1% +}% \tabu@endofcollect +%% The trials: switching between strategies ------------------------- +\def\tabu@strategy {\relax % stops \count@ assignment ! + \ifcase\count@ % case 0 = print with vertical adjustment (outer is finished) + \expandafter \tabu@endoftrials + \or % case 1 = exit in vertical measure (outer in mode 3) + \expandafter\xdef\csname tabu@\the\tabu@nested.T\endcsname{\the\tabu@target}% + \expandafter\xdef\csname tabu@\the\tabu@nested.X\endcsname{\the\tabucolX}% + \expandafter \tabu@endoftrials + \or % case 2 = exit with a rule replacing the table (outer in mode 4) + \expandafter \tabu@quickend + \or % case 3 = outer is in mode 3 because of no X + \begingroup + \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}% + \def\tabu@cellralign{\tabu@verticalspacing}% + \expandafter \tabu@measuring + \else % case 4 = horizontal measure + \begingroup + \global\let\tabu@elapsedtime \tabu@message@etime + \long\def\multicolumn##1##2##3{\multispan{##1}}% + \let\tabu@startpboxORI \@startpbox + \iftabu@spread + \def\tabu@naturalXmax {\z@}% + \let\tabu@naturalXmin \tabu@naturalXmax + \tabu@evr{\global\tabu@naturalX \z@}% + \let\@startpbox \tabu@startpboxmeasure + \else\iftabu@negcoef + \let\@startpbox \tabu@startpboxmeasure + \else \let\@startpbox \tabu@startpboxquick + \fi\fi + \expandafter \tabu@measuring + \fi +}% \tabu@strategy +\def\tabu@measuring{\expandafter \tabu@trial \expandafter + \count@ \the\count@ \tabu@endtrial +}% \tabu@measuring +\def\tabu@trial{\iftabu@long \tabu@longtrial \else \tabu@shorttrial \fi} +\def\tabu@shorttrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr + \ifx \tabu@savecounters\relax \else + \let\tabu@savecounters \relax \tabu@clckpt \fi + $\iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi + \expandafter{\expandafter \tabuthepreamble + \the\tabu@thebody + \csname tabu@adl@endtrial\endcsname + \endarray}$\egroup % got \tabu@box +}% \tabu@shorttrial +\def\tabu@longtrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr + \ifx \tabu@savecounters\relax \else + \let\tabu@savecounters \relax \tabu@clckpt \fi + \iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi + \expandafter{\expandafter \tabuthepreamble + \the\tabu@thebody + \tabuendlongtrial}\egroup % got \tabu@box +}% \tabu@longtrial +\def\tabuendlongtrial{% no @ allowed for \scantokens + \LT@echunk \global\setbox\@ne \hbox{\unhbox\@ne}\kern\wd\@ne + \LT@get@widths +}% \tabuendlongtrial +\def\tabu@adl@endtrial{% <arydshln in nested trials - problem for global column counters!> + \crcr \noalign{\global\adl@ncol \tabu@nbcols}}% anything global is crap, junky and fails ! +\def\tabu@seteverycr {\tabu@reset + \everycr \expandafter{\the\everycr \tabu@everycr}% + \let\everycr \tabu@noeverycr % <for ialign> +}% \tabu@seteverycr +\def\tabu@noeverycr{{\aftergroup\tabu@restoreeverycr \afterassignment}\toks@} +\def\tabu@restoreeverycr {\let\everycr \tabu@@everycr} +\def\tabu@everycr {\iftabu@everyrow \noalign{\tabu@everyrow}\fi} +\def\tabu@endoftrials {% + \iftabuscantokens \expandafter\@firstoftwo + \else \expandafter\@secondoftwo + \fi + {\expandafter \tabu@closetrialsgroup \expandafter + \tabu@rescan \expandafter{% + \expandafter\tabuthepreamble + \the\expandafter\tabu@thebody + \iftabu@long \else \endarray \fi}} + {\expandafter\tabu@closetrialsgroup \expandafter + \tabuthepreamble + \the\tabu@thebody}% + \tabu@endenvir % Finish ! +}% \tabu@endoftrials +\def\tabu@closetrialsgroup {% + \toks@\expandafter{\tabu@endenvir}% + \edef\tabu@bufferX{\endgroup + \tabucolX \the\tabucolX + \tabu@target \the\tabu@target + \tabu@cnt \the\tabu@cnt + \def\noexpand\tabu@endenvir{\the\toks@}% + %Quid de \@halignto = \tabu@halignto ?? + }% \tabu@bufferX + \tabu@bufferX + \ifcase\tabu@nested % print out (outer in mode 0) + \global\tabu@cnt \tabu@cnt + \tabu@evr{\tabu@verticaldynamicadjustment}% + \tabu@celllalign@def{\everypar{}}\let\tabu@cellralign \@empty + \let\@finalstrut \tabu@finalstrut + \else % vertical measure of nested tabu + \tabu@evr{\tabu@verticalinit}% + \tabu@celllalign@def{\tabu@verticalmeasure}% + \def\tabu@cellralign{\tabu@verticalspacing}% + \fi + \tabu@clckpt \let\@halignto \tabu@halignto + \let\@halignto \@empty + \tabu@seteverycr + \ifdim \tabustrutrule>\z@ \ifnum\tabu@nested=\z@ + \setbox\@arstrutbox \box\voidb@x % force \@arstrutbox to be rebuilt (visible struts) + \fi\fi +}% \tabu@closetrialsgroup +\def\tabu@quickend {\expandafter \endgroup \expandafter + \tabu@target \the\tabu@target \tabu@quickrule + \let\endarray \relax \tabu@endenvir +}% \tabu@quickend +\def\tabu@endtrial {\relax % stops \count@ assignment ! + \ifcase \count@ \tabu@err % case 0 = impossible here + \or \tabu@err % case 1 = impossible here + \or \tabu@err % case 2 = impossible here + \or % case 3 = outer goes into mode 0 + \def\tabu@bufferX{\endgroup}\count@ \z@ + \else % case 4 = outer goes into mode 3 + \iftabu@spread \tabu@spreadarith % inner into mode 1 (outer in mode 3) + \else \tabu@arith % or 2 (outer in mode 4) + \fi + \count@=% + \ifcase\tabu@nested \thr@@ % outer goes into mode 3 + \else\iftabu@measuring \tw@ % outer is in mode 4 + \else \@ne % outer is in mode 3 + \fi\fi + \edef\tabu@bufferX{\endgroup + \tabucolX \the\tabucolX + \tabu@target \the\tabu@target}% + \fi + \expandafter \tabu@bufferX \expandafter + \count@ \the\count@ \tabu@strategy +}% \tabu@endtrial +\def\tabu@err{\errmessage{(tabu) Internal impossible error! (\count@=\the\count@)}} +%% The algorithms: compute the widths / stop or go on --------------- +\def\tabu@arithnegcoef {% + \@tempdima \z@ \dimen@ \z@ \let\tabu@ \tabu@arith@negcoef \tabu@Xcoefs +}% \tabu@arithnegcoef +\def\tabu@arith@negcoef #1#2{% + \ifdim #2\p@>\z@ \advance\dimen@ #2\p@ % saturated by definition + \advance\@tempdima #2\tabucolX + \else + \ifdim -#2\tabucolX <\tabu@wd{#1}% c_i X < natural width <= \tabu@target-> saturated + \advance\dimen@ -#2\p@ + \advance\@tempdima -#2\tabucolX + \else + \advance\@tempdima \tabu@wd{#1}% natural width <= c_i X => neutralised + \ifdim \tabu@wd{#1}<\tabu@target \else % neutralised + \advance\dimen@ -#2\p@ % saturated (natural width = tabu@target) + \fi + \fi + \fi +}% \tabu@arith@negcoef +\def\tabu@givespace #1#2{% here \tabu@DELTA < \z@ + \ifdim \@tempdima=\z@ + \tabu@wddef{#1}{\the\dimexpr -\tabu@DELTA*\p@/\tabu@Xsum}% + \else + \tabu@wddef{#1}{\the\dimexpr \tabu@hsize{#1}{#2} + *(\p@ -\tabu@DELTA*\p@/\@tempdima)/\p@\relax}% + \fi +}% \tabu@givespace +\def\tabu@arith {\advance\tabu@cnt \@ne + \ifnum \tabu@cnt=\@ne \tabu@message{\tabu@titles}\fi + \tabu@arithnegcoef + \@tempdimb \dimexpr \wd\tabu@box -\@tempdima \relax % <incompressible material> + \tabu@DELTA = \dimexpr \wd\tabu@box - \tabu@target \relax + \tabu@message{\tabu@message@arith}% + \ifdim \tabu@DELTA <\tabu@hfuzz + \ifdim \tabu@DELTA<\z@ % wd (tabu)<\tabu@target ? + \let\tabu@ \tabu@givespace \tabu@Xcoefs + \advance\@tempdima \@tempdimb \advance\@tempdima -\tabu@DELTA % for message + \else % already converged: nothing to do but nearly impossible... + \fi + \tabucolX \maxdimen + \tabu@measuringfalse + \else % need for narrower X columns + \tabucolX =\dimexpr (\@tempdima -\tabu@DELTA) *\p@/\tabu@Xsum \relax + \tabu@measuringtrue + \@whilesw \iftabu@measuring\fi {% + \advance\tabu@cnt \@ne + \tabu@arithnegcoef + \tabu@DELTA =\dimexpr \@tempdima+\@tempdimb -\tabu@target \relax % always < 0 here + \tabu@message{\tabu@header + \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@ + \tabu@msgalign \@tempdima+\@tempdimb { }{ }{ }{ }{ }\@@ + \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@ + \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@ + \ifdim -\tabu@DELTA<\tabu@hfuzz \tabu@spaces target ok\else + \tabu@msgalign \dimexpr -\tabu@DELTA *\p@/\dimen@ {}{}{}{}{}\@@ + \fi}% + \ifdim -\tabu@DELTA<\tabu@hfuzz + \advance\@tempdima \@tempdimb % for message + \tabu@measuringfalse + \else + \advance\tabucolX \dimexpr -\tabu@DELTA *\p@/\dimen@ \relax + \fi + }% + \fi + \tabu@message{\tabu@message@reached}% + \edef\tabu@bufferX{\endgroup \tabu@cnt \the\tabu@cnt + \tabucolX \the\tabucolX + \tabu@target \the\tabu@target}% +}% \tabu@arith +\def\tabu@spreadarith {% + \dimen@ \z@ \@tempdima \tabu@naturalXmax \let\tabu@ \tabu@spread@arith \tabu@Xcoefs + \edef\tabu@naturalXmin {\the\dimexpr\tabu@naturalXmin*\dimen@/\p@}% + \@tempdimc =\dimexpr \wd\tabu@box -\tabu@naturalXmax+\tabu@naturalXmin \relax + \iftabu@measuring + \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax + \edef\tabu@bufferX{\endgroup \tabucolX \the\tabucolX \tabu@target\the\tabu@target}% + \else + \tabu@message{\tabu@message@spreadarith}% + \ifdim \dimexpr \@tempdimc+\tabu@spreadtarget >\tabu@target + \tabu@message{(tabu) spread + \ifdim \@tempdimc>\tabu@target useless here: default target used% + \else too large: reduced to fit default target\fi.}% + \else + \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax + \tabu@message{(tabu) spread: New target set to \the\tabu@target^^J}% + \fi + \begingroup \let\tabu@wddef \@gobbletwo + \@tempdimb \@tempdima + \tabucolX@init + \tabu@arithnegcoef + \wd\tabu@box =\dimexpr \wd\tabu@box +\@tempdima-\@tempdimb \relax + \expandafter\endgroup \expandafter\tabucolX \the\tabucolX + \tabu@arith + \fi +}% \tabu@spreadarith +\def\tabu@spread@arith #1#2{% + \ifdim #2\p@>\z@ \advance\dimen@ #2\p@ + \else \advance\@tempdima \tabu@wd{#1}\relax + \fi +}% \tabu@spread@arith +%% Reporting in the .log file --------------------------------------- +\def\tabu@message@defaulttarget{% + \ifnum\tabu@nested=\z@^^J(tabu) Default target: + \ifx\tabudefaulttarget\linewidth \string\linewidth + \ifdim \tabu@thetarget=\linewidth \else + -\the\dimexpr\linewidth-\tabu@thetarget\fi = + \else\ifx\tabudefaulttarget\linegoal\string\linegoal= + \fi\fi + \else (tabu) Default target (nested): \fi + \the\tabu@target \on@line + \ifnum\tabu@nested=\z@ , page \the\c@page\fi} +\def\tabu@message@target {^^J(tabu) Target specified: + \the\tabu@target \on@line, page \the\c@page} +\def\tabu@message@arith {\tabu@header + \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@ + \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{ }\@@ + \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@ + \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@ + \ifdim \tabu@DELTA<\tabu@hfuzz giving space\else + \tabu@msgalign \dimexpr (\@tempdima-\tabu@DELTA) *\p@/\tabu@Xsum -\tabucolX {}{}{}{}{}\@@ + \fi +}% \tabu@message@arith +\def\tabu@message@spreadarith {\tabu@spreadheader + \tabu@msgalign \tabu@spreadtarget { }{ }{ }{ }{}\@@ + \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{}\@@ + \tabu@msgalign -\tabu@naturalXmax { }{}{}{}{}\@@ + \tabu@msgalign \tabu@naturalXmin { }{ }{ }{ }{}\@@ + \tabu@msgalign \ifdim \dimexpr\@tempdimc>\tabu@target \tabu@target + \else \@tempdimc+\tabu@spreadtarget \fi + {}{}{}{}{}\@@} +\def\tabu@message@negcoef #1#2{ + \tabu@spaces\tabu@spaces\space * #1. X[\rem@pt#2]: + \space width = \tabu@wd {#1} + \expandafter\string\csname tabu@\the\tabu@nested.W\number#1\endcsname + \ifdim -\tabu@pt#2\tabucolX<\tabu@target + < \number-\rem@pt#2 X + = \the\dimexpr -\tabu@pt#2\tabucolX \relax + \else + <= \the\tabu@target\space < \number-\rem@pt#2 X\fi} +\def\tabu@message@reached{\tabu@header + ******* Reached Target: + hfuzz = \tabu@hfuzz\on@line\space *******} +\def\tabu@message@etime{\edef\tabu@stoptime{\the\pdfelapsedtime}% + \tabu@message{(tabu)\tabu@spaces Time elapsed during measure: + \the\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax sec + \the\numexpr\numexpr(\tabu@stoptime-\tabu@starttime) + -\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax*65536\relax + *1000/65536\relax ms \tabu@spaces(\the\tabu@cnt\space + cycle\ifnum\tabu@cnt>\@ne s\fi)^^J^^J}} +\def\tabu@message@verticalsp {% + \ifdim \@tempdima>\tabu@ht + \ifdim \@tempdimb>\tabu@dp + \expandafter\expandafter\expandafter\string\tabu@ht = + \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@ + \expandafter\expandafter\expandafter\string\tabu@dp = + \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J% + \else + \expandafter\expandafter\expandafter\string\tabu@ht = + \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@^^J% + \fi + \else\ifdim \@tempdimb>\tabu@dp + \tabu@spaces\tabu@spaces\tabu@spaces + \expandafter\expandafter\expandafter\string\tabu@dp = + \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J\fi + \fi +}% \tabu@message@verticalsp +\edef\tabu@spaces{\@spaces} +\def\tabu@strippt{\expandafter\tabu@pt\the} +{\@makeother\P \@makeother\T\lowercase{\gdef\tabu@pt #1PT{#1}}} +\def\tabu@msgalign{\expandafter\tabu@msg@align\the\dimexpr} +\def\tabu@msgalign@PT{\expandafter\tabu@msg@align\romannumeral-`\0\tabu@strippt} +\def\do #1{% + \def\tabu@msg@align##1.##2##3##4##5##6##7##8##9\@@{% + \ifnum##1<10 #1 #1\else + \ifnum##1<100 #1 \else + \ifnum##1<\@m #1\fi\fi\fi + ##1.##2##3##4##5##6##7##8#1}% + \def\tabu@header{(tabu) \ifnum\tabu@cnt<10 #1\fi\the\tabu@cnt) }% + \def\tabu@titles{\ifnum \tabu@nested=\z@ + (tabu) Try#1 #1 tabu X #1 #1 #1tabu Width #1 #1 Target + #1 #1 #1 Coefs #1 #1 #1 Update^^J\fi}% + \def\tabu@spreadheader{% + (tabu) Try#1 #1 Spread #1 #1 tabu Width #1 #1 #1 Nat. X #1 #1 #1 #1Nat. Min. + #1 New Target^^J% + (tabu) sprd} + \def\tabu@message@save {\begingroup + \def\x ####1{\tabu@msg@align ####1{ }{ }{ }{ }{}\@@} + \def\z ####1{\expandafter\x\expandafter{\romannumeral-`\0\tabu@strippt + \dimexpr####1\p@{ }{ }}}% + \let\color \relax \def\tabu@rulesstyle ####1####2{\detokenize{####1}}% + \let\CT@arc@ \relax \let\@preamble \@gobble + \let\tabu@savedpream \@firstofone + \let\tabu@savedparams \@firstofone + \def\tabu@target ####1\relax {(tabu) target #1 #1 #1 #1 #1 = \x{####1}^^J}% + \def\tabucolX ####1\relax {(tabu) X columns width#1 = \x{####1}^^J}% + \def\tabu@nbcols ####1\relax {(tabu) Number of columns: \z{####1}^^J}% + \def\tabu@aligndefault ####1{(tabu) Default alignment: #1 #1 ####1^^J}% + \def\col@sep ####1\relax {(tabu) column sep #1 #1 #1 = \x{####1}^^J}% + \def\arrayrulewidth ####1\relax{(tabu) arrayrulewidth #1 = \x{####1}}% + \def\doublerulesep ####1\relax { doublerulesep = \x{####1}^^J}% + \def\extratabsurround####1\relax{(tabu) extratabsurround = \x{####1}^^J}% + \def\extrarowheight ####1\relax{(tabu) extrarowheight #1 = \x{####1}}% + \def\extrarowdepth ####1\relax {extrarowdepth = \x{####1}^^J}% + \def\abovetabulinesep####1\relax{(tabu) abovetabulinesep=\x{####1} }% + \def\belowtabulinesep####1\relax{ belowtabulinesep=\x{####1}^^J}% + \def\arraystretch ####1{(tabu) arraystretch #1 #1 = \z{####1}^^J}% + \def\minrowclearance####1\relax{(tabu) minrowclearance #1 = \x{####1}^^J}% + \def\tabu@arc@L ####1{(tabu) taburulecolor #1 #1 = ####1^^J}% + \def\tabu@drsc@L ####1{(tabu) tabudoublerulecolor= ####1^^J}% + \def\tabu@evr@L ####1{(tabu) everyrow #1 #1 #1 #1 = \detokenize{####1}^^J}% + \def\tabu@ls@L ####1{(tabu) line style = \detokenize{####1}^^J}% + \def\NC@find ####1\@nil{(tabu) tabu preamble#1 #1 = \detokenize{####1}^^J}% + \def\tabu@wddef####1####2{(tabu) Natural width ####1 = \x{####2}^^J}% + \let\edef \@gobbletwo \let\def \@empty \let\let \@gobbletwo + \tabu@message{% + (tabu) \string\savetabu{\tabu@temp}: \on@line^^J% + \tabu@usetabu \@nil^^J}% + \endgroup} +}\do{ } +%% Measuring the natural width (varwidth) - store the results ------- +\def\tabu@startpboxmeasure #1{\bgroup % entering \vtop + \edef\tabu@temp{\expandafter\@secondoftwo \ifx\tabu@hsize #1\else\relax\fi}% + \ifodd 1\ifx \tabu@temp\@empty 0 \else % starts with \tabu@hsize ? + \iftabu@spread \else % if spread -> measure + \ifdim \tabu@temp\p@>\z@ 0 \fi\fi\fi% if coef>0 -> do not measure + \let\@startpbox \tabu@startpboxORI % restore immediately (nesting) + \tabu@measuringtrue % for the quick option... + \tabu@Xcol =\expandafter\@firstoftwo\ifx\tabu@hsize #1\fi + \ifdim \tabu@temp\p@>\z@ \ifdim \tabu@temp\tabucolX<\tabu@target + \tabu@target=\tabu@temp\tabucolX \fi\fi + \setbox\tabu@box \hbox \bgroup + \begin{varwidth}\tabu@target + \let\FV@ListProcessLine \tabu@FV@ListProcessLine % \hbox to natural width... + \narrowragged \arraybackslash \parfillskip \@flushglue + \ifdefined\pdfadjustspacing \pdfadjustspacing\z@ \fi + \bgroup \aftergroup\tabu@endpboxmeasure + \ifdefined \cellspacetoplimit \tabu@cellspacepatch \fi + \else \expandafter\@gobble + \tabu@startpboxquick{#1}% \@gobble \bgroup + \fi +}% \tabu@startpboxmeasure +\def\tabu@cellspacepatch{\def\bcolumn##1\@nil{}\let\ecolumn\@empty + \bgroup\color@begingroup} +\def\tabu@endpboxmeasure {% + \@finalstrut \@arstrutbox + \end{varwidth}\egroup % <got my \tabu@box> + \ifdim \tabu@temp\p@ <\z@ % neg coef + \ifdim \tabu@wd\tabu@Xcol <\wd\tabu@box + \tabu@wddef\tabu@Xcol {\the\wd\tabu@box}% + \tabu@debug{\tabu@message@endpboxmeasure}% + \fi + \else % spread coef>0 + \global\advance \tabu@naturalX \wd\tabu@box + \@tempdima =\dimexpr \wd\tabu@box *\p@/\dimexpr \tabu@temp\p@\relax \relax + \ifdim \tabu@naturalXmax <\tabu@naturalX + \xdef\tabu@naturalXmax {\the\tabu@naturalX}\fi + \ifdim \tabu@naturalXmin <\@tempdima + \xdef\tabu@naturalXmin {\the\@tempdima}\fi + \fi + \box\tabu@box \egroup % end of \vtop (measure) restore \tabu@target +}% \tabu@endpboxmeasure +\def\tabu@wddef #1{\expandafter\xdef + \csname tabu@\the\tabu@nested.W\number#1\endcsname} +\def\tabu@wd #1{\csname tabu@\the\tabu@nested.W\number#1\endcsname} +\def\tabu@message@endpboxmeasure{\tabu@spaces\tabu@spaces<-> % <-> save natural wd + \the\tabu@Xcol. X[\tabu@temp]: + target = \the\tabucolX \space + \expandafter\expandafter\expandafter\string\tabu@wd\tabu@Xcol + =\tabu@wd\tabu@Xcol +}% \tabu@message@endpboxmeasure +\def\tabu@startpboxquick {\bgroup + \let\@startpbox \tabu@startpboxORI % restore immediately + \let\tabu \tabu@quick % \begin is expanded before... + \expandafter\@gobble \@startpbox % gobbles \bgroup +}% \tabu@startpboxquick +\def\tabu@quick {\begingroup \iffalse{\fi \ifnum0=`}\fi + \toks@{}\def\tabu@stack{b}\tabu@collectbody \tabu@endquick +}% \tabu@quick +\def\tabu@endquick {% + \ifodd 1\ifx\tabu@end@envir\tabu@endtabu \else + \ifx\tabu@end@envir\tabu@endtabus \else 0\fi\fi\relax + \endgroup + \else \let\endtabu \relax + \tabu@end@envir + \fi +}% \tabu@quick +\def\tabu@endtabu {\end{tabu}} +\def\tabu@endtabus {\end{tabu*}} +%% Measuring the heights and depths - store the results ------------- +\def\tabu@verticalmeasure{\everypar{}% + \ifnum \currentgrouptype>12 % 14=semi-simple, 15=math shift group + \setbox\tabu@box =\hbox\bgroup + \let\tabu@verticalspacing \tabu@verticalsp@lcr + \d@llarbegin % after \hbox ... + \else + \edef\tabu@temp{\ifnum\currentgrouptype=5\vtop + \else\ifnum\currentgrouptype=12\vcenter + \else\vbox\fi\fi}% + \setbox\tabu@box \hbox\bgroup$\tabu@temp \bgroup + \let\tabu@verticalspacing \tabu@verticalsp@pmb + \fi +}% \tabu@verticalmeasure +\def\tabu@verticalsp@lcr{% + \d@llarend \egroup % <got my \tabu@box> + \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep + \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax + \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi + \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi + \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi + \noindent\vrule height\@tempdima depth\@tempdimb +}% \tabu@verticalsp@lcr +\def\tabu@verticalsp@pmb{% inserts struts as needed + \par \expandafter\egroup + \expandafter$\expandafter + \egroup \expandafter + \@tempdimc \the\prevdepth + \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep + \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax + \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi + \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi + \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi + \let\@finalstrut \@gobble + \hrule height\@tempdima depth\@tempdimb width\hsize +%% \box\tabu@box +}% \tabu@verticalsp@pmb + +\def\tabu@verticalinit{% + \ifnum \c@taburow=\z@ \tabu@rearstrut \fi % after \tabu@reset ! + \advance\c@taburow \@ne + \tabu@htdef{\the\ht\@arstrutbox}\tabu@dpdef{\the\dp\@arstrutbox}% + \advance\c@taburow \m@ne +}% \tabu@verticalinit +\def\tabu@htdef {\expandafter\xdef \csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname} +\def\tabu@ht {\csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname} +\def\tabu@dpdef {\expandafter\xdef \csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname} +\def\tabu@dp {\csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname} +\def\tabu@verticaldynamicadjustment {% + \advance\c@taburow \@ne + \extrarowheight \dimexpr\tabu@ht - \ht\strutbox + \extrarowdepth \dimexpr\tabu@dp - \dp\strutbox + \let\arraystretch \@empty + \advance\c@taburow \m@ne +}% \tabu@verticaldynamicadjustment +\def\tabuphantomline{\crcr \noalign{% + {\globaldefs \@ne + \setbox\@arstrutbox \box\voidb@x + \let\tabu@@celllalign \tabu@celllalign + \let\tabu@@cellralign \tabu@cellralign + \let\tabu@@cellleft \tabu@cellleft + \let\tabu@@cellright \tabu@cellright + \let\tabu@@thevline \tabu@thevline + \let\tabu@celllalign \@empty + \let\tabu@cellralign \@empty + \let\tabu@cellright \@empty + \let\tabu@cellleft \@empty + \let\tabu@thevline \relax}% + \edef\tabu@temp{\tabu@multispan \tabu@nbcols{\noindent &}}% + \toks@\expandafter{\tabu@temp \noindent\tabu@everyrowfalse \cr + \noalign{\tabu@rearstrut + {\globaldefs\@ne + \let\tabu@celllalign \tabu@@celllalign + \let\tabu@cellralign \tabu@@cellralign + \let\tabu@cellleft \tabu@@cellleft + \let\tabu@cellright \tabu@@cellright + \let\tabu@thevline \tabu@@thevline}}}% + \expandafter}\the\toks@ +}% \tabuphantomline +%% \firsthline and \lasthline corrections --------------------------- +\def\tabu@firstline {\tabu@hlineAZ \tabu@firsthlinecorrection {}} +\def\tabu@firsthline{\tabu@hlineAZ \tabu@firsthlinecorrection \hline} +\def\tabu@lastline {\tabu@hlineAZ \tabu@lasthlinecorrection {}} +\def\tabu@lasthline {\tabu@hlineAZ \tabu@lasthlinecorrection \hline} +\def\tabu@hline {% replaces \hline if no colortbl (see \AtBeginDocument) + \noalign{\ifnum0=`}\fi + {\CT@arc@\hrule height\arrayrulewidth}% + \futurelet \tabu@temp \tabu@xhline +}% \tabu@hline +\def\tabu@xhline{% + \ifx \tabu@temp \hline + {\ifx \CT@drsc@\relax \vskip + \else\ifx \CT@drsc@\@empty \vskip + \else \CT@drsc@\hrule height + \fi\fi + \doublerulesep}% + \fi + \ifnum0=`{\fi}% +}% \tabu@xhline +\def\tabu@hlineAZ #1#2{\noalign{\ifnum0=`}\fi \dimen@ \z@ \count@ \z@ + \toks@{}\def\tabu@hlinecorrection{#1}\def\tabu@temp{#2}% + \tabu@hlineAZsurround +}% \tabu@hlineAZ +\newcommand*\tabu@hlineAZsurround[1][\extratabsurround]{% + \extratabsurround #1\let\tabucline \tabucline@scan + \let\hline \tabu@hlinescan \let\firsthline \hline + \let\cline \tabu@clinescan \let\lasthline \hline + \expandafter \futurelet \expandafter \tabu@temp + \expandafter \tabu@nexthlineAZ \tabu@temp +}% \tabu@hlineAZsurround +\def\tabu@hlinescan {\tabu@thick \arrayrulewidth \tabu@xhlineAZ \hline} +\def\tabu@clinescan #1{\tabu@thick \arrayrulewidth \tabu@xhlineAZ {\cline{#1}}} +\def\tabucline@scan{\@testopt \tabucline@sc@n {}} +\def\tabucline@sc@n #1[#2]{\tabu@xhlineAZ {\tabucline[{#1}]{#2}}} +\def\tabu@nexthlineAZ{% + \ifx \tabu@temp\hline \else + \ifx \tabu@temp\cline \else + \ifx \tabu@temp\tabucline \else + \tabu@hlinecorrection + \fi\fi\fi +}% \tabu@nexthlineAZ +\def\tabu@xhlineAZ #1{% + \toks@\expandafter{\the\toks@ #1}% + \@tempdimc \tabu@thick % The last line width + \ifcase\count@ \@tempdimb \tabu@thick % The first line width + \else \advance\dimen@ \dimexpr \tabu@thick+\doublerulesep \relax + \fi + \advance\count@ \@ne \futurelet \tabu@temp \tabu@nexthlineAZ +}% \tabu@xhlineAZ +\def\tabu@firsthlinecorrection{% \count@ = number of \hline -1 + \@tempdima \dimexpr \ht\@arstrutbox+\dimen@ + \edef\firsthline{% <local in \noalign> + \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule + height \the\dimexpr\@tempdima+\extratabsurround + depth \dp\@arstrutbox + width \tabustrutrule}\hss}\cr + \noalign{\vskip -\the\dimexpr \@tempdima+\@tempdimb + +\dp\@arstrutbox \relax}% + \the\toks@ + }\ifnum0=`{\fi + \expandafter}\firsthline % we are then ! +}% \tabu@firsthlinecorrection +\def\tabu@lasthlinecorrection{% + \@tempdima \dimexpr \dp\@arstrutbox+\dimen@+\@tempdimb+\@tempdimc + \edef\lasthline{% <local in \noalign> + \the\toks@ + \noalign{\vskip -\the\dimexpr\dimen@+\@tempdimb+\dp\@arstrutbox}% + \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule + depth \the\dimexpr \dp\@arstrutbox+\@tempdimb+\dimen@ + +\extratabsurround-\@tempdimc + height \z@ + width \tabustrutrule}\hss}\cr + }\ifnum0=`{\fi + \expandafter}\lasthline % we are then ! +}% \tabu@lasthlinecorrection +\def\tabu@LT@@hline{% + \ifx\LT@next\hline + \global\let\LT@next \@gobble + \ifx \CT@drsc@\relax + \gdef\CT@LT@sep{% + \noalign{\penalty-\@medpenalty\vskip\doublerulesep}}% + \else + \gdef\CT@LT@sep{% + \multispan\LT@cols{% + \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill}\cr}% + \fi + \else + \global\let\LT@next\empty + \gdef\CT@LT@sep{% + \noalign{\penalty-\@lowpenalty\vskip-\arrayrulewidth}}% + \fi + \ifnum0=`{\fi}% + \multispan\LT@cols + {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr + \CT@LT@sep + \multispan\LT@cols + {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr + \noalign{\penalty\@M}% + \LT@next +}% \tabu@LT@@hline +%% Horizontal lines : \tabucline ------------------------------------ +\let\tabu@start \@tempcnta +\let\tabu@stop \@tempcntb +\newcommand*\tabucline{\noalign{\ifnum0=`}\fi \tabu@cline} +\newcommand*\tabu@cline[2][]{\tabu@startstop{#2}% + \ifnum \tabu@stop<\z@ \toks@{}% + \else \tabu@clinearg{#1}\tabu@thestyle + \edef\tabucline{\toks@{% + \ifnum \tabu@start>\z@ \omit + \tabu@multispan\tabu@start {\span\omit}&\fi + \omit \tabu@multispan\tabu@stop {\span\omit}% + \tabu@thehline\cr + }}\tabucline + \tabu@tracinglines{(tabu:tabucline) Style: #1^^J\the\toks@^^J^^J}% + \fi + \futurelet \tabu@temp \tabu@xcline +}% \tabu@cline +\def\tabu@clinearg #1{% + \ifx\\#1\\\let\tabu@thestyle \tabu@ls@ + \else \@defaultunits \expandafter\let\expandafter\@tempa + \romannumeral-`\0#1\relax \@nnil + \ifx \hbox\@tempa \tabu@clinebox{#1}% + \else\ifx \box\@tempa \tabu@clinebox{#1}% + \else\ifx \vbox\@tempa \tabu@clinebox{#1}% + \else\ifx \vtop\@tempa \tabu@clinebox{#1}% + \else\ifx \copy\@tempa \tabu@clinebox{#1}% + \else\ifx \leaders\@tempa \tabu@clineleads{#1}% + \else\ifx \cleaders\@tempa \tabu@clineleads{#1}% + \else\ifx \xleaders\@tempa \tabu@clineleads{#1}% + \else\tabu@getline {#1}% + \fi\fi\fi\fi\fi\fi\fi\fi + \fi +}% \tabu@clinearg +\def\tabu@clinebox #1{\tabu@clineleads{\xleaders#1\hss}} +\def\tabu@clineleads #1{% + \let\tabu@thestyle \relax \let\tabu@leaders \@undefined + \gdef\tabu@thehrule{#1}} +\def\tabu@thehline{\begingroup + \ifdefined\tabu@leaders + \noexpand\tabu@thehleaders + \else \noexpand\tabu@thehrule + \fi \endgroup +}% \tabu@thehline +\def\tabu@xcline{% + \ifx \tabu@temp\tabucline + \toks@\expandafter{\the\toks@ \noalign + {\ifx\CT@drsc@\relax \vskip + \else \CT@drsc@\hrule height + \fi + \doublerulesep}}% + \fi + \tabu@docline +}% \tabu@xcline +\def\tabu@docline {\ifnum0=`{\fi \expandafter}\the\toks@} +\def\tabu@docline@evr {\xdef\tabu@doclineafter{\the\toks@}% + \ifnum0=`{\fi}\aftergroup\tabu@doclineafter} +\def\tabu@multispan #1#2{% + \ifnum\numexpr#1>\@ne #2\expandafter\tabu@multispan + \else \expandafter\@gobbletwo + \fi {#1-1}{#2}% +}% \tabu@multispan +\def\tabu@startstop #1{\tabu@start@stop #1\relax 1-\tabu@nbcols \@nnil} +\def\tabu@start@stop #1-#2\@nnil{% + \@defaultunits \tabu@start\number 0#1\relax \@nnil + \@defaultunits \tabu@stop \number 0#2\relax \@nnil + \tabu@stop \ifnum \tabu@start>\tabu@nbcols \m@ne + \else\ifnum \tabu@stop=\z@ \tabu@nbcols + \else\ifnum \tabu@stop>\tabu@nbcols \tabu@nbcols + \else \tabu@stop + \fi\fi\fi + \advance\tabu@start \m@ne + \ifnum \tabu@start>\z@ \advance\tabu@stop -\tabu@start \fi +}% \tabu@start@stop +%% Numbers: siunitx S columns (and \tabudecimal) ------------------- +\def\tabu@tabudecimal #1{% + \def\tabu@decimal{#1}\@temptokena{}% + \let\tabu@getdecimal@ \tabu@getdecimal@ignorespaces + \tabu@scandecimal +}% \tabu@tabudecimal +\def\tabu@scandecimal{\futurelet \tabu@temp \tabu@getdecimal@} +\def\tabu@skipdecimal#1{#1\tabu@scandecimal} +\def\tabu@getdecimal@ignorespaces{% + \ifcase 0\ifx\tabu@temp\ignorespaces\else + \ifx\tabu@temp\@sptoken1\else + 2\fi\fi\relax + \let\tabu@getdecimal@ \tabu@getdecimal + \expandafter\tabu@skipdecimal + \or \expandafter\tabu@gobblespace\expandafter\tabu@scandecimal + \else \expandafter\tabu@skipdecimal + \fi +}% \tabu@getdecimal@ignorespaces +\def\tabu@get@decimal#1{\@temptokena\expandafter{\the\@temptokena #1}% + \tabu@scandecimal} +\def\do#1{% + \def\tabu@get@decimalspace#1{% + \@temptokena\expandafter{\the\@temptokena #1}\tabu@scandecimal}% +}\do{ } +\let\tabu@@tabudecimal \tabu@tabudecimal +\def\tabu@getdecimal{% + \ifcase 0\ifx 0\tabu@temp\else + \ifx 1\tabu@temp\else + \ifx 2\tabu@temp\else + \ifx 3\tabu@temp\else + \ifx 4\tabu@temp\else + \ifx 5\tabu@temp\else + \ifx 6\tabu@temp\else + \ifx 7\tabu@temp\else + \ifx 8\tabu@temp\else + \ifx 9\tabu@temp\else + \ifx .\tabu@temp\else + \ifx ,\tabu@temp\else + \ifx -\tabu@temp\else + \ifx +\tabu@temp\else + \ifx e\tabu@temp\else + \ifx E\tabu@temp\else + \ifx\tabu@cellleft\tabu@temp1\else + \ifx\ignorespaces\tabu@temp1\else + \ifx\@sptoken\tabu@temp2\else + 3\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax + \expandafter\tabu@get@decimal + \or \expandafter\tabu@skipdecimal + \or \expandafter\tabu@get@decimalspace + \else\expandafter\tabu@printdecimal + \fi +}% \tabu@getdecimal +\def\tabu@printdecimal{% + \edef\tabu@temp{\the\@temptokena}% + \ifx\tabu@temp\@empty\else + \ifx\tabu@temp\space\else + \expandafter\tabu@decimal\expandafter{\the\@temptokena}% + \fi\fi +}% \tabu@printdecimal +%% Verbatim inside X columns ---------------------------------------- +\def\tabu@verbatim{% + \let\verb \tabu@verb + \let\FV@DefineCheckEnd \tabu@FV@DefineCheckEnd +}% \tabu@verbatim +\let\tabu@ltx@verb \verb +\def\tabu@verb{\@ifstar {\tabu@ltx@verb*} \tabu@ltx@verb} +\def\tabu@fancyvrb {% + \def\tabu@FV@DefineCheckEnd ##1{% + \def\tabu@FV@DefineCheckEnd{% + ##1% <original definition (if fancyvrb is loaded)> + \let\FV@CheckEnd \tabu@FV@CheckEnd + \let\FV@@CheckEnd \tabu@FV@@CheckEnd + \let\FV@@@CheckEnd \tabu@FV@@@CheckEnd + \edef\FV@EndScanning{% + \def\noexpand\next{\noexpand\end{\FV@EnvironName}}% + \global\let\noexpand\FV@EnvironName\relax + \noexpand\next}% + \xdef\FV@EnvironName{\detokenize\expandafter{\FV@EnvironName}}}% + }\expandafter\tabu@FV@DefineCheckEnd\expandafter{\FV@DefineCheckEnd} +}% \tabu@fancyvrb +\def\tabu@FV@CheckEnd #1{\expandafter\FV@@CheckEnd \detokenize{#1\end{}}\@nil} +\edef\tabu@FV@@@CheckEnd {\detokenize{\end{}}} +\begingroup +\catcode`\[1 \catcode`\]2 +\@makeother\{ \@makeother\} + \edef\x[\endgroup + \def\noexpand\tabu@FV@@CheckEnd ##1\detokenize[\end{]##2\detokenize[}]##3% + ]\x \@nil{\def\@tempa{#2}\def\@tempb{#3}} +\def\tabu@FV@ListProcessLine #1{% + \hbox {%to \hsize{% + \kern\leftmargin + \hbox {%to \linewidth{% + \FV@LeftListNumber + \FV@LeftListFrame + \FancyVerbFormatLine{#1}\hss +%% DG/SR modification begin - Jan. 28, 1998 (for numbers=right add-on) +%% \FV@RightListFrame}% + \FV@RightListFrame + \FV@RightListNumber}% +%% DG/SR modification end + \hss}} +%% \savetabu -------------------------------------------------------- +\newcommand*\savetabu[1]{\noalign{% + \tabu@sanitizearg{#1}\tabu@temp + \ifx \tabu@temp\@empty \tabu@savewarn{}{The tabu will not be saved}\else + \@ifundefined{tabu@saved@\tabu@temp}{}{\tabu@savewarn{#1}{Overwriting}}% + \ifdefined\tabu@restored \expandafter\let + \csname tabu@saved@\tabu@temp \endcsname \tabu@restored + \else {\tabu@save}% + \fi + \fi}% +}% \savetabu +\def\tabu@save {% + \toks0\expandafter{\tabu@saved@}% + \iftabu@negcoef + \let\tabu@wddef \relax \let\tabu@ \tabu@savewd \edef\tabu@savewd{\tabu@Xcoefs}% + \toks0\expandafter{\the\toks\expandafter0\tabu@savewd}\fi + \toks1\expandafter{\tabu@savedpream}% + \toks2\expandafter{\tabu@savedpreamble}% + \let\@preamble \relax + \let\tabu@savedpream \relax \let\tabu@savedparams \relax + \edef\tabu@preamble{% + \def\noexpand\tabu@aligndefault{\tabu@align}% + \def\tabu@savedparams {\noexpand\the\toks0}% + \def\tabu@savedpream {\noexpand\the\toks1}}% + \edef\tabu@usetabu{% + \def\@preamble {\noexpand\the\toks2}% + \tabu@target \the\tabu@target \relax + \tabucolX \the\tabucolX \relax + \tabu@nbcols \the\tabu@nbcols \relax + \def\noexpand\tabu@aligndefault{\tabu@align}% + \def\tabu@savedparams {\noexpand\the\toks0}% + \def\tabu@savedpream {\noexpand\the\toks1}}% + \let\tabu@aligndefault \relax \let\@sharp \relax + \edef\@tempa{\noexpand\tabu@s@ved + {\tabu@usetabu} + {\tabu@preamble} + {\the\toks1}}\@tempa + \tabu@message@save +}% \tabu@save +\long\def\tabu@s@ved #1#2#3{% + \def\tabu@usetabu{#1}% <for \tabu@message@save> + \expandafter\gdef\csname tabu@saved@\tabu@temp\endcsname ##1{% + \ifodd ##1% \usetabu + \tabu@measuringfalse \tabu@spreadfalse % Just in case... + \gdef\tabu@usetabu {% + \ifdim \tabu@target>\z@ \tabu@warn@usetabu \fi + \global\let\tabu@usetabu \@undefined + \def\@halignto {to\tabu@target}% + #1% + \ifx \tabu@align\tabu@aligndefault@text + \ifnum \tabu@nested=\z@ + \let\tabu@align \tabu@aligndefault \fi\fi}% + \else % \preamble + \gdef\tabu@preamble {% + \global\let\tabu@preamble \@undefined + #2% + \ifx \tabu@align\tabu@aligndefault@text + \ifnum \tabu@nested=\z@ + \let\tabu@align \tabu@aligndefault \fi\fi}% + \fi + #3}% +}% \tabu@s@ved +\def\tabu@aligndefault@text {\tabu@aligndefault}% +\def\tabu@warn@usetabu {\PackageWarning{tabu} + {Specifying a target with \string\usetabu\space is useless + \MessageBreak The target cannot be changed!}} +\def\tabu@savewd #1#2{\ifdim #2\p@<\z@ \tabu@wddef{#1}{\tabu@wd{#1}}\fi} +\def\tabu@savewarn#1#2{\PackageInfo{tabu} + {User-name `#1' already used for \string\savetabu + \MessageBreak #2}}% +\def\tabu@saveerr#1{\PackageError{tabu} + {User-name `#1' is unknown for \string\usetabu + \MessageBreak I cannot restore an unknown preamble!}\@ehd} +%% \rowfont --------------------------------------------------------- +\newskip \tabu@cellskip +\def\tabu@rowfont{\ifdim \baselineskip=\z@\noalign\fi + {\ifnum0=`}\fi \tabu@row@font} +\newcommand*\tabu@row@font[2][]{% + \ifnum7=\currentgrouptype + \global\let\tabu@@cellleft \tabu@cellleft + \global\let\tabu@@cellright \tabu@cellright + \global\let\tabu@@celllalign \tabu@celllalign + \global\let\tabu@@cellralign \tabu@cellralign + \global\let\tabu@@rowfontreset\tabu@rowfontreset + \fi + \global\let\tabu@rowfontreset \tabu@rowfont@reset + \expandafter\gdef\expandafter\tabu@cellleft\expandafter{\tabu@cellleft #2}% + \ifcsname tabu@cell@#1\endcsname % row alignment + \csname tabu@cell@#1\endcsname \fi + \ifnum0=`{\fi}% end of group / noalign group +}% \rowfont +\def\tabu@ifcolorleavevmode #1{\let\color \tabu@leavevmodecolor #1\let\color\tabu@color}% +\def\tabu@rowfont@reset{% + \global\let\tabu@rowfontreset \tabu@@rowfontreset + \global\let\tabu@cellleft \tabu@@cellleft + \global\let\tabu@cellright \tabu@@cellright + \global\let\tabu@cellfont \@empty + \global\let\tabu@celllalign \tabu@@celllalign + \global\let\tabu@cellralign \tabu@@cellralign +}% \tabu@@rowfontreset +\let\tabu@rowfontreset \@empty % overwritten \AtBeginDocument if colortbl +%% \tabu@prepnext@tok ----------------------------------------------- +\newif \iftabu@cellright +\def\tabu@prepnext@tok{% + \ifnum \count@<\z@ % <first initialisation> + \@tempcnta \@M % <not initialized by array.sty> + \tabu@nbcols\z@ + \let\tabu@fornoopORI \@fornoop + \tabu@cellrightfalse + \else + \ifcase \numexpr \count@-\@tempcnta \relax % (case 0): prev. token is left + \advance \tabu@nbcols \@ne + \iftabu@cellright % before-previous token is right and is finished + \tabu@cellrightfalse % <only once> + \tabu@righttok + \fi + \tabu@lefttok + \or % (case 1) previous token is right + \tabu@cellrighttrue \let\@fornoop \tabu@lastnoop + \else % special column: do not change the token + \iftabu@cellright % before-previous token is right + \tabu@cellrightfalse + \tabu@righttok + \fi + \fi % \ifcase + \fi + \tabu@prepnext@tokORI +}% \tabu@prepnext@tok +\long\def\tabu@lastnoop#1\@@#2#3{\tabu@lastn@@p #2\@nextchar \in@\in@@} +\def\tabu@lastn@@p #1\@nextchar #2#3\in@@{% + \ifx \in@#2\else + \let\@fornoop \tabu@fornoopORI + \xdef\tabu@mkpreambuffer{\tabu@nbcols\the\tabu@nbcols \tabu@mkpreambuffer}% + \toks0\expandafter{\expandafter\tabu@everyrowtrue \the\toks0}% + \expandafter\prepnext@tok + \fi +}% \tabu@lastnoop +\def\tabu@righttok{% + \advance \count@ \m@ne + \toks\count@\expandafter {\the\toks\count@ \tabu@cellright \tabu@cellralign}% + \advance \count@ \@ne +}% \tabu@righttok +\def\tabu@lefttok{\toks\count@\expandafter{\expandafter\tabu@celllalign + \the\toks\count@ \tabu@cellleft}% after because of $ +}% \tabu@lefttok +%% Neutralisation of glues ------------------------------------------ +\let\tabu@cellleft \@empty +\let\tabu@cellright \@empty +\tabu@celllalign@def{\tabu@cellleft}% +\let\tabu@cellralign \@empty +\def\tabu@cell@align #1#2#3{% + \let\tabu@maybesiunitx \toks@ \tabu@celllalign + \global \expandafter \tabu@celllalign@def \expandafter {\the\toks@ #1}% + \toks@\expandafter{\tabu@cellralign #2}% + \xdef\tabu@cellralign{\the\toks@}% + \toks@\expandafter{\tabu@cellleft #3}% + \xdef\tabu@cellleft{\the\toks@}% +}% \tabu@cell@align +\def\tabu@cell@l{% force alignment to left + \tabu@cell@align + {\tabu@removehfil \raggedright \tabu@cellleft}% left + {\tabu@flush1\tabu@ignorehfil}% right + \raggedright +}% \tabu@cell@l +\def\tabu@cell@c{% force alignment to center + \tabu@cell@align + {\tabu@removehfil \centering \tabu@flush{.5}\tabu@cellleft} + {\tabu@flush{.5}\tabu@ignorehfil} + \centering +}% \tabu@cell@c +\def\tabu@cell@r{% force alignment to right + \tabu@cell@align + {\tabu@removehfil \raggedleft \tabu@flush1\tabu@cellleft} + \tabu@ignorehfil + \raggedleft +}% \tabu@cell@r +\def\tabu@cell@j{% force justification (for p, m, b columns) + \tabu@cell@align + {\tabu@justify\tabu@cellleft} + {} + \tabu@justify +}% \tabu@cell@j +\def\tabu@justify{% + \leftskip\z@skip \@rightskip\leftskip \rightskip\@rightskip + \parfillskip\@flushglue +}% \tabu@justify +%% ragged2e settings +\def\tabu@cell@L{% force alignment to left (ragged2e) + \tabu@cell@align + {\tabu@removehfil \RaggedRight \tabu@cellleft} + {\tabu@flush 1\tabu@ignorehfil} + \RaggedRight +}% \tabu@cell@L +\def\tabu@cell@C{% force alignment to center (ragged2e) + \tabu@cell@align + {\tabu@removehfil \Centering \tabu@flush{.5}\tabu@cellleft} + {\tabu@flush{.5}\tabu@ignorehfil} + \Centering +}% \tabu@cell@C +\def\tabu@cell@R{% force alignment to right (ragged2e) + \tabu@cell@align + {\tabu@removehfil \RaggedLeft \tabu@flush 1\tabu@cellleft} + \tabu@ignorehfil + \RaggedLeft +}% \tabu@cell@R +\def\tabu@cell@J{% force justification (ragged2e) + \tabu@cell@align + {\justifying \tabu@cellleft} + {} + \justifying +}% \tabu@cell@J +\def\tabu@flush#1{% + \iftabu@colortbl % colortbl uses \hfill rather than \hfil + \hskip \ifnum13<\currentgrouptype \stretch{#1}% + \else \ifdim#1pt<\p@ \tabu@cellskip + \else \stretch{#1} + \fi\fi \relax + \else % array.sty + \ifnum 13<\currentgrouptype + \hfil \hskip1sp \relax \fi + \fi +}% \tabu@flush +\let\tabu@hfil \hfil +\let\tabu@hfill \hfill +\let\tabu@hskip \hskip +\def\tabu@removehfil{% + \iftabu@colortbl + \unkern \tabu@cellskip =\lastskip + \ifnum\gluestretchorder\tabu@cellskip =\tw@ \hskip-\tabu@cellskip + \else \tabu@cellskip \z@skip + \fi + \else + \ifdim\lastskip=1sp\unskip\fi + \ifnum\gluestretchorder\lastskip =\@ne + \hfilneg % \hfilneg for array.sty but not for colortbl... + \fi + \fi +}% \tabu@removehfil +\def\tabu@ignorehfil{\aftergroup \tabu@nohfil} +\def\tabu@nohfil{% \hfil -> do nothing + restore original \hfil + \def\hfil{\let\hfil \tabu@hfil}% local to (alignment template) group +}% \tabu@nohfil +\def\tabu@colortblalignments {% if colortbl + \def\tabu@nohfil{% + \def\hfil {\let\hfil \tabu@hfil}% local to (alignment template) group + \def\hfill {\let\hfill \tabu@hfill}% (colortbl uses \hfill) pfff... + \def\hskip ####1\relax{\let\hskip \tabu@hskip}}% local +}% \tabu@colortblalignments +%% Taking care of footnotes and hyperfootnotes ---------------------- +\long\def\tabu@footnotetext #1{% + \edef\@tempa{\the\tabu@footnotes + \noexpand\footnotetext [\the\csname c@\@mpfn\endcsname]}% + \global\tabu@footnotes\expandafter{\@tempa {#1}}}% +\long\def\tabu@xfootnotetext [#1]#2{% + \global\tabu@footnotes\expandafter{\the\tabu@footnotes + \footnotetext [{#1}]{#2}}} +\let\tabu@xfootnote \@xfootnote +\long\def\tabu@Hy@ftntext{\tabu@Hy@ftntxt {\the \c@footnote }} +\long\def\tabu@Hy@xfootnote [#1]{% + \begingroup + \value\@mpfn #1\relax + \protected@xdef \@thefnmark {\thempfn}% + \endgroup + \@footnotemark \tabu@Hy@ftntxt {#1}% +}% \tabu@Hy@xfootnote +\long\def\tabu@Hy@ftntxt #1#2{% + \edef\@tempa{% + \the\tabu@footnotes + \begingroup + \value\@mpfn #1\relax + \noexpand\protected@xdef\noexpand\@thefnmark {\noexpand\thempfn}% + \expandafter \noexpand \expandafter + \tabu@Hy@footnotetext \expandafter{\Hy@footnote@currentHref}% + }% + \global\tabu@footnotes\expandafter{\@tempa {#2}% + \endgroup}% +}% \tabu@Hy@ftntxt +\long\def\tabu@Hy@footnotetext #1#2{% + \H@@footnotetext{% + \ifHy@nesting + \hyper@@anchor {#1}{#2}% + \else + \Hy@raisedlink{% + \hyper@@anchor {#1}{\relax}% + }% + \def\@currentHref {#1}% + \let\@currentlabelname \@empty + #2% + \fi + }% +}% \tabu@Hy@footnotetext +%% No need for \arraybackslash ! ------------------------------------ +\def\tabu@latextwoe {% +\def\tabu@temp##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}} +\tabu@temp \tabu@centering \centering \arraybackslash +\tabu@temp \tabu@raggedleft \raggedleft \arraybackslash +\tabu@temp \tabu@raggedright \raggedright \arraybackslash +}% \tabu@latextwoe +\def\tabu@raggedtwoe {% +\def\tabu@temp ##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}} +\tabu@temp \tabu@Centering \Centering \arraybackslash +\tabu@temp \tabu@RaggedLeft \RaggedLeft \arraybackslash +\tabu@temp \tabu@RaggedRight \RaggedRight \arraybackslash +\tabu@temp \tabu@justifying \justifying \arraybackslash +}% \tabu@raggedtwoe +\def\tabu@normalcrbackslash{\let\\\@normalcr} +\def\tabu@trivlist{\expandafter\def\expandafter\@trivlist\expandafter{% + \expandafter\tabu@normalcrbackslash \@trivlist}} +%% Utilities: \fbox \fcolorbox and \tabudecimal ------------------- +\def\tabu@fbox {\leavevmode\afterassignment\tabu@beginfbox \setbox\@tempboxa\hbox} +\def\tabu@beginfbox {\bgroup \kern\fboxsep + \bgroup\aftergroup\tabu@endfbox} +\def\tabu@endfbox {\kern\fboxsep\egroup\egroup + \@frameb@x\relax} +\def\tabu@color@b@x #1#2{\leavevmode \bgroup + \def\tabu@docolor@b@x{#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}\box\z@}}% + \afterassignment\tabu@begincolor@b@x \setbox\z@ \hbox +}% \tabu@color@b@x +\def\tabu@begincolor@b@x {\kern\fboxsep \bgroup + \aftergroup\tabu@endcolor@b@x \set@color} +\def\tabu@endcolor@b@x {\kern\fboxsep \egroup + \dimen@\ht\z@ \advance\dimen@ \fboxsep \ht\z@ \dimen@ + \dimen@\dp\z@ \advance\dimen@ \fboxsep \dp\z@ \dimen@ + \tabu@docolor@b@x \egroup +}% \tabu@endcolor@b@x +%% Corrections (arydshln, delarray, colortbl) ----------------------- +\def\tabu@fix@arrayright {%% \@arrayright is missing from \endarray + \iftabu@colortbl + \ifdefined\adl@array % <colortbl + arydshln> + \def\tabu@endarray{% + \adl@endarray \egroup \adl@arrayrestore \CT@end \egroup %<original> + \@arrayright % <FC> + \gdef\@preamble{}}% <FC> + \else % <colortbl / no arydshln> + \def\tabu@endarray{% + \crcr \egroup \egroup %<original> + \@arrayright % <FC> + \gdef\@preamble{}\CT@end}% + \fi + \else + \ifdefined\adl@array % <arydshln / no colortbl> + \def\tabu@endarray{% + \adl@endarray \egroup \adl@arrayrestore \egroup %<original> + \@arrayright % <FC> + \gdef\@preamble{}}% <FC> + \else % <no arydshln / no colotbl + \@arrayright missing> + \PackageWarning{tabu} + {\string\@arrayright\space is missing from the + \MessageBreak definition of \string\endarray. + \MessageBreak Compatibility with delarray.sty is broken.}% + \fi\fi +}% \tabu@fix@arrayright +\def\tabu@adl@xarraydashrule #1#2#3{% + \ifnum\@lastchclass=\adl@class@start\else + \ifnum\@lastchclass=\@ne\else + \ifnum\@lastchclass=5 \else % <FC> @-arg (class 5) and !-arg (class 1) + \adl@leftrulefalse \fi\fi % must be treated the same + \fi + \ifadl@zwvrule\else \ifadl@inactive\else + \@addtopreamble{\vrule\@width\arrayrulewidth + \@height\z@ \@depth\z@}\fi \fi + \ifadl@leftrule + \@addtopreamble{\adl@vlineL{\CT@arc@}{\adl@dashgapcolor}% + {\number#1}#3}% + \else \@addtopreamble{\adl@vlineR{\CT@arc@}{\adl@dashgapcolor}% + {\number#2}#3} + \fi +}% \tabu@adl@xarraydashrule +\def\tabu@adl@act@endpbox {% + \unskip \ifhmode \nobreak \fi \@finalstrut \@arstrutbox + \egroup \egroup + \adl@colhtdp \box\adl@box \hfil +}% \tabu@adl@act@endpbox +\def\tabu@adl@fix {% + \let\adl@xarraydashrule \tabu@adl@xarraydashrule % <fix> arydshln + \let\adl@act@endpbox \tabu@adl@act@endpbox % <fix> arydshln + \let\adl@act@@endpbox \tabu@adl@act@endpbox % <fix> arydshln + \let\@preamerror \@preamerr % <fix> arydshln +}% \tabu@adl@fix +%% Correction for longtable' \@startbox definition ------------------ +%% => \everypar is ``missing'' : TeX should be in vertical mode +\def\tabu@LT@startpbox #1{% + \bgroup + \let\@footnotetext\LT@p@ftntext + \setlength\hsize{#1}% + \@arrayparboxrestore + \everypar{% + \vrule \@height \ht\@arstrutbox \@width \z@ + \everypar{}}% +}% \tabu@LT@startpbox +%% \tracingtabu and the package options ------------------ +\DeclareOption{delarray}{\AtEndOfPackage{\RequirePackage{delarray}}} +\DeclareOption{linegoal}{% + \AtEndOfPackage{% + \RequirePackage{linegoal}[2010/12/07]% + \let\tabudefaulttarget \linegoal% \linegoal is \linewidth if not pdfTeX +}} +\DeclareOption{scantokens}{\tabuscantokenstrue} +\DeclareOption{debugshow}{\AtEndOfPackage{\tracingtabu=\tw@}} +\def\tracingtabu {\begingroup\@ifnextchar=% + {\afterassignment\tabu@tracing\count@} + {\afterassignment\tabu@tracing\count@1\relax}} +\def\tabu@tracing{\expandafter\endgroup + \expandafter\tabu@tr@cing \the\count@ \relax +}% \tabu@tracing +\def\tabu@tr@cing #1\relax {% + \ifnum#1>\thr@@ \let\tabu@tracinglines\message + \else \let\tabu@tracinglines\@gobble + \fi + \ifnum#1>\tw@ \let\tabu@DBG \tabu@@DBG + \def\tabu@mkarstrut {\tabu@DBG@arstrut}% + \tabustrutrule 1.5\p@ + \else \let\tabu@DBG \@gobble + \def\tabu@mkarstrut {\tabu@arstrut}% + \tabustrutrule \z@ + \fi + \ifnum#1>\@ne \let\tabu@debug \message + \else \let\tabu@debug \@gobble + \fi + \ifnum#1>\z@ + \let\tabu@message \message + \let\tabu@tracing@save \tabu@message@save + \let\tabu@starttimer \tabu@pdftimer + \else + \let\tabu@message \@gobble + \let\tabu@tracing@save \@gobble + \let\tabu@starttimer \relax + \fi +}% \tabu@tr@cing +%% Setup \AtBeginDocument +\AtBeginDocument{\tabu@AtBeginDocument} +\def\tabu@AtBeginDocument{\let\tabu@AtBeginDocument \@undefined + \ifdefined\arrayrulecolor \tabu@colortbltrue % <colortbl> + \tabu@colortblalignments % different glues are used + \else \tabu@colortblfalse \fi + \ifdefined\CT@arc@ \else \let\CT@arc@ \relax \fi + \ifdefined\CT@drsc@\else \let\CT@drsc@ \relax \fi + \let\tabu@arc@L \CT@arc@ \let\tabu@drsc@L \CT@drsc@ + \ifodd 1\ifcsname siunitx_table_collect_begin:Nn\endcsname % <siunitx: ok> + \expandafter\ifx + \csname siunitx_table_collect_begin:Nn\endcsname\relax 0\fi\fi\relax + \tabu@siunitxtrue + \else \let\tabu@maybesiunitx \@firstofone % <not siunitx: setup> + \let\tabu@siunitx \tabu@nosiunitx + \tabu@siunitxfalse + \fi + \ifdefined\adl@array % <arydshln> + \else \let\tabu@adl@fix \relax + \let\tabu@adl@endtrial \@empty \fi + \ifdefined\longtable % <longtable> + \else \let\longtabu \tabu@nolongtabu \fi + \ifdefined\cellspacetoplimit \tabu@warn@cellspace\fi + \csname\ifcsname ifHy@hyperfootnotes\endcsname % <hyperfootnotes> + ifHy@hyperfootnotes\else iffalse\fi\endcsname + \let\tabu@footnotetext \tabu@Hy@ftntext + \let\tabu@xfootnote \tabu@Hy@xfootnote \fi + \ifdefined\FV@DefineCheckEnd% <fancyvrb> + \tabu@fancyvrb \fi + \ifdefined\color % <color / xcolor> + \let\tabu@color \color + \def\tabu@leavevmodecolor ##1{% + \def\tabu@leavevmodecolor {\leavevmode ##1}% + }\expandafter\tabu@leavevmodecolor\expandafter{\color}% + \else + \let\tabu@color \tabu@nocolor + \let\tabu@leavevmodecolor \@firstofone \fi + \tabu@latextwoe + \ifdefined\@raggedtwoe@everyselectfont % <ragged2e> + \tabu@raggedtwoe + \else + \let\tabu@cell@L \tabu@cell@l + \let\tabu@cell@R \tabu@cell@r + \let\tabu@cell@C \tabu@cell@c + \let\tabu@cell@J \tabu@cell@j \fi + \expandafter\in@ \expandafter\@arrayright \expandafter{\endarray}% + \ifin@ \let\tabu@endarray \endarray + \else \tabu@fix@arrayright \fi% <fix for colortbl & arydshln (delarray)> + \everyrow{}% +}% \tabu@AtBeginDocument +\def\tabu@warn@cellspace{% + \PackageWarning{tabu}{% + Package cellspace has some limitations + \MessageBreak And redefines some macros of array.sty. + \MessageBreak Please use \string\tabulinesep\space to control + \MessageBreak vertical spacing of lines inside tabu environment}% +}% \tabu@warn@cellspace +%% tabu Package initialisation +\tabuscantokensfalse +\let\tabu@arc@G \relax +\let\tabu@drsc@G \relax +\let\tabu@evr@G \@empty +\let\tabu@rc@G \@empty +\def\tabu@ls@G {\tabu@linestyle@}% +\let\tabu@@rowfontreset \@empty % <init> +\let\tabu@@celllalign \@empty +\let\tabu@@cellralign \@empty +\let\tabu@@cellleft \@empty +\let\tabu@@cellright \@empty +\def\tabu@naturalXmin {\z@} +\def\tabu@naturalXmax {\z@} +\let\tabu@rowfontreset \@empty +\def\tabulineon {4pt}\let\tabulineoff \tabulineon +\tabu@everyrowtrue +\ifdefined\pdfelapsedtime % <pdfTeX> + \def\tabu@pdftimer {\xdef\tabu@starttime{\the\pdfelapsedtime}}% +\else \let\tabu@pdftimer \relax \let\tabu@message@etime \relax +\fi +\tracingtabu=\z@ +\newtabulinestyle {=\maxdimen}% creates the 'factory' settings \tabu@linestyle@ +\tabulinestyle{} +\taburowcolors{} +\let\tabudefaulttarget \linewidth +\ProcessOptions* % \ProcessOptions* is quicker ! +\endinput +%% +%% End of file `tabu.sty'. diff --git a/docs/latex/time_8h.tex b/docs/latex/time_8h.tex @@ -0,0 +1,80 @@ +\hypertarget{time_8h}{}\doxysubsection{time.\+h File Reference} +\label{time_8h}\index{time.h@{time.h}} +{\ttfamily \#include $<$types.\+h$>$}\newline +{\ttfamily \#include $<$stdint.\+h$>$}\newline +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{time_8h_a3d9fc3c745d0880902fe3ea3d5d5f71e}{C\+L\+O\+C\+K\+S\+\_\+\+P\+E\+R\+\_\+\+S\+EC}}~60 +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{time_8h_ac84921d4d15eedac7d7b8051a7944c84}{time\+\_\+t}} +\end{DoxyCompactItemize} +\doxysubsubsection*{Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{asm_2gbz80_2types_8h_aeb756bd89bf86769edbefdef8135109f}{clock\+\_\+t}} \mbox{\hyperlink{time_8h_acc1f88818af5706d57262377382ae4ac}{clock}} () \mbox{\hyperlink{asm_2types_8h_a0971918860055db2e50dacea4da8f3bc}{O\+L\+D\+C\+A\+LL}} +\item +\mbox{\hyperlink{time_8h_ac84921d4d15eedac7d7b8051a7944c84}{time\+\_\+t}} \mbox{\hyperlink{time_8h_ae7841e681c8c9d59818568d39553642c}{time}} (\mbox{\hyperlink{time_8h_ac84921d4d15eedac7d7b8051a7944c84}{time\+\_\+t}} $\ast$t) +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Sort of A\+N\+SI compliant time functions. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{time_8h_a3d9fc3c745d0880902fe3ea3d5d5f71e}\label{time_8h_a3d9fc3c745d0880902fe3ea3d5d5f71e}} +\index{time.h@{time.h}!CLOCKS\_PER\_SEC@{CLOCKS\_PER\_SEC}} +\index{CLOCKS\_PER\_SEC@{CLOCKS\_PER\_SEC}!time.h@{time.h}} +\doxyparagraph{\texorpdfstring{CLOCKS\_PER\_SEC}{CLOCKS\_PER\_SEC}} +{\footnotesize\ttfamily \#define C\+L\+O\+C\+K\+S\+\_\+\+P\+E\+R\+\_\+\+S\+EC~60} + + + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{time_8h_ac84921d4d15eedac7d7b8051a7944c84}\label{time_8h_ac84921d4d15eedac7d7b8051a7944c84}} +\index{time.h@{time.h}!time\_t@{time\_t}} +\index{time\_t@{time\_t}!time.h@{time.h}} +\doxyparagraph{\texorpdfstring{time\_t}{time\_t}} +{\footnotesize\ttfamily typedef \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \mbox{\hyperlink{time_8h_ac84921d4d15eedac7d7b8051a7944c84}{time\+\_\+t}}} + + + +\doxysubsubsection{Function Documentation} +\mbox{\Hypertarget{time_8h_acc1f88818af5706d57262377382ae4ac}\label{time_8h_acc1f88818af5706d57262377382ae4ac}} +\index{time.h@{time.h}!clock@{clock}} +\index{clock@{clock}!time.h@{time.h}} +\doxyparagraph{\texorpdfstring{clock()}{clock()}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2gbz80_2types_8h_aeb756bd89bf86769edbefdef8135109f}{clock\+\_\+t}} clock (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Returns an approximation of processor time used by the program in Clocks + +The value returned is the C\+PU time (ticks) used so far as a \mbox{\hyperlink{asm_2z80_2types_8h_aeb756bd89bf86769edbefdef8135109f}{clock\+\_\+t}}. + +To get the number of seconds used, divide by \mbox{\hyperlink{time_8h_a3d9fc3c745d0880902fe3ea3d5d5f71e}{C\+L\+O\+C\+K\+S\+\_\+\+P\+E\+R\+\_\+\+S\+EC}}. + +This is based on \mbox{\hyperlink{sms_8h_a78d2fd18666afec116f176d46debb4e7}{sys\+\_\+time}}, which will wrap around every $\sim$18 minutes. (unsigned 16 bits = 65535 / 60 / 60 = 18.\+2) + +\begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a78d2fd18666afec116f176d46debb4e7}{sys\+\_\+time}}, \mbox{\hyperlink{time_8h_ae7841e681c8c9d59818568d39553642c}{time()}} +\end{DoxySeeAlso} +\mbox{\Hypertarget{time_8h_ae7841e681c8c9d59818568d39553642c}\label{time_8h_ae7841e681c8c9d59818568d39553642c}} +\index{time.h@{time.h}!time@{time}} +\index{time@{time}!time.h@{time.h}} +\doxyparagraph{\texorpdfstring{time()}{time()}} +{\footnotesize\ttfamily \mbox{\hyperlink{time_8h_ac84921d4d15eedac7d7b8051a7944c84}{time\+\_\+t}} time (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{time_8h_ac84921d4d15eedac7d7b8051a7944c84}{time\+\_\+t}} $\ast$}]{t }\end{DoxyParamCaption})} + +Converts \mbox{\hyperlink{time_8h_acc1f88818af5706d57262377382ae4ac}{clock()}} time to Seconds + + +\begin{DoxyParams}{Parameters} +{\em t} & If pointer {\bfseries{t}} is not N\+U\+LL, it\textquotesingle{}s value will be set to the same seconds calculation as returned by the function.\\ +\hline +\end{DoxyParams} +The calculation is \mbox{\hyperlink{time_8h_acc1f88818af5706d57262377382ae4ac}{clock()}} / C\+L\+O\+C\+K\+S\+\_\+\+P\+E\+R\+\_\+\+S\+EC + +Returns\+: time in seconds \begin{DoxySeeAlso}{See also} +\mbox{\hyperlink{sms_8h_a78d2fd18666afec116f176d46debb4e7}{sys\+\_\+time}}, \mbox{\hyperlink{time_8h_acc1f88818af5706d57262377382ae4ac}{clock()}} +\end{DoxySeeAlso} diff --git a/docs/latex/todo.tex b/docs/latex/todo.tex @@ -0,0 +1,27 @@ + +\begin{DoxyRefList} +\item[File \mbox{\hyperlink{far__ptr_8h}{far\+\_\+ptr.h}} ]\label{todo__todo000001}% +\Hypertarget{todo__todo000001}% +Add link to a discussion about banking (such as, how to assign code and variables to banks) +\item[Page \mbox{\hyperlink{docs_using_gbdk}{Using G\+B\+DK}} ]\label{todo__todo000002}% +\Hypertarget{todo__todo000002}% +This is from G\+B\+DK 2.\+x docs, verify it with G\+B\+D\+K-\/2020 and modern S\+D\+CC +\item[Page \mbox{\hyperlink{docs_coding_guidelines}{Coding Guidelines}} ]\label{todo__todo000003}% +\Hypertarget{todo__todo000003}% +Update and verify this section for the modernized S\+D\+CC and toolchain +\item[Page \mbox{\hyperlink{docs_rombanking_mbcs}{R\+O\+M/\+R\+AM Banking and M\+B\+Cs}} ]\label{todo__todo000004}% +\Hypertarget{todo__todo000004}% +Fill in this info for Banked Functions Banked functions (located in a switchable R\+OM bank) +\begin{DoxyItemize} +\item May call functions in any bank\+: ? +\item May use data in any bank\+: {\bfseries{NO}} (may only use data from currently active banks) +\end{DoxyItemize} + +\label{todo__todo000005}% +\Hypertarget{todo__todo000005}% +Const Data (Variables in R\+OM) + +\label{todo__todo000006}% +\Hypertarget{todo__todo000006}% +Variables in R\+AM +\end{DoxyRefList} + diff --git a/docs/latex/typeof_8h.tex b/docs/latex/typeof_8h.tex @@ -0,0 +1,176 @@ +\hypertarget{typeof_8h}{}\doxysubsection{typeof.\+h File Reference} +\label{typeof_8h}\index{typeof.h@{typeof.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{typeof_8h_a4bb94b94304a21b7bd462be44f9d197a}{T\+Y\+P\+E\+O\+F\+\_\+\+I\+NT}}~1 +\item +\#define \mbox{\hyperlink{typeof_8h_a58af351d7955729a79e425a88bf86bab}{T\+Y\+P\+E\+O\+F\+\_\+\+S\+H\+O\+RT}}~2 +\item +\#define \mbox{\hyperlink{typeof_8h_ae042a4e85033237ee9fbc1af3cac7025}{T\+Y\+P\+E\+O\+F\+\_\+\+C\+H\+AR}}~3 +\item +\#define \mbox{\hyperlink{typeof_8h_ab4833544b1f4060806106baa0eb916e6}{T\+Y\+P\+E\+O\+F\+\_\+\+L\+O\+NG}}~4 +\item +\#define \mbox{\hyperlink{typeof_8h_a3d694a422fb7a54f15ddf1c9749567f7}{T\+Y\+P\+E\+O\+F\+\_\+\+F\+L\+O\+AT}}~5 +\item +\#define \mbox{\hyperlink{typeof_8h_a709c014873866243abc0275099f676f5}{T\+Y\+P\+E\+O\+F\+\_\+\+F\+I\+X\+E\+D16\+X16}}~6 +\item +\#define \mbox{\hyperlink{typeof_8h_a5b91f9d826e3c5c6873bc86cdce3d517}{T\+Y\+P\+E\+O\+F\+\_\+\+B\+IT}}~7 +\item +\#define \mbox{\hyperlink{typeof_8h_a5b9f605bb8dcac27ddfab4e9a8c9a2ca}{T\+Y\+P\+E\+O\+F\+\_\+\+B\+I\+T\+F\+I\+E\+LD}}~8 +\item +\#define \mbox{\hyperlink{typeof_8h_a09fcac98c1e69b32ea223eada74e30bd}{T\+Y\+P\+E\+O\+F\+\_\+\+S\+B\+IT}}~9 +\item +\#define \mbox{\hyperlink{typeof_8h_aae32132bbca6df6423182122d95b00cd}{T\+Y\+P\+E\+O\+F\+\_\+\+S\+FR}}~10 +\item +\#define \mbox{\hyperlink{typeof_8h_a03582306431a63d84cc721132ed683c8}{T\+Y\+P\+E\+O\+F\+\_\+\+V\+O\+ID}}~11 +\item +\#define \mbox{\hyperlink{typeof_8h_a4f9ce6ed9178ad58f706e74cd8c24e1f}{T\+Y\+P\+E\+O\+F\+\_\+\+S\+T\+R\+U\+CT}}~12 +\item +\#define \mbox{\hyperlink{typeof_8h_ac627e9a5f9b283cb8904d73c941f1896}{T\+Y\+P\+E\+O\+F\+\_\+\+A\+R\+R\+AY}}~13 +\item +\#define \mbox{\hyperlink{typeof_8h_a3adf36b394d11d9b35f45ad8c4544670}{T\+Y\+P\+E\+O\+F\+\_\+\+F\+U\+N\+C\+T\+I\+ON}}~14 +\item +\#define \mbox{\hyperlink{typeof_8h_a2541fdaacae83bbcc99dcedf464c7c94}{T\+Y\+P\+E\+O\+F\+\_\+\+P\+O\+I\+N\+T\+ER}}~15 +\item +\#define \mbox{\hyperlink{typeof_8h_a5301fd3500fb9f9454a17f9d4c5d0e8c}{T\+Y\+P\+E\+O\+F\+\_\+\+F\+P\+O\+I\+N\+T\+ER}}~16 +\item +\#define \mbox{\hyperlink{typeof_8h_a6131cee0fe0abf1cf2fcfcec830535d4}{T\+Y\+P\+E\+O\+F\+\_\+\+C\+P\+O\+I\+N\+T\+ER}}~17 +\item +\#define \mbox{\hyperlink{typeof_8h_adbec06ba3e6f0e2dcbefd788978f9ad6}{T\+Y\+P\+E\+O\+F\+\_\+\+G\+P\+O\+I\+N\+T\+ER}}~18 +\item +\#define \mbox{\hyperlink{typeof_8h_ad38c6e5ceee5c5fe3703690fc32b23ae}{T\+Y\+P\+E\+O\+F\+\_\+\+P\+P\+O\+I\+N\+T\+ER}}~19 +\item +\#define \mbox{\hyperlink{typeof_8h_aa56dfc698692fb3f2d64c1a4b192f9c0}{T\+Y\+P\+E\+O\+F\+\_\+\+I\+P\+O\+I\+N\+T\+ER}}~20 +\item +\#define \mbox{\hyperlink{typeof_8h_a73d0c1f1fc515b199acb5631f8a16898}{T\+Y\+P\+E\+O\+F\+\_\+\+E\+E\+P\+P\+O\+I\+N\+T\+ER}}~21 +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{typeof_8h_a4bb94b94304a21b7bd462be44f9d197a}\label{typeof_8h_a4bb94b94304a21b7bd462be44f9d197a}} +\index{typeof.h@{typeof.h}!TYPEOF\_INT@{TYPEOF\_INT}} +\index{TYPEOF\_INT@{TYPEOF\_INT}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_INT}{TYPEOF\_INT}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+I\+NT~1} + +\mbox{\Hypertarget{typeof_8h_a58af351d7955729a79e425a88bf86bab}\label{typeof_8h_a58af351d7955729a79e425a88bf86bab}} +\index{typeof.h@{typeof.h}!TYPEOF\_SHORT@{TYPEOF\_SHORT}} +\index{TYPEOF\_SHORT@{TYPEOF\_SHORT}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_SHORT}{TYPEOF\_SHORT}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+S\+H\+O\+RT~2} + +\mbox{\Hypertarget{typeof_8h_ae042a4e85033237ee9fbc1af3cac7025}\label{typeof_8h_ae042a4e85033237ee9fbc1af3cac7025}} +\index{typeof.h@{typeof.h}!TYPEOF\_CHAR@{TYPEOF\_CHAR}} +\index{TYPEOF\_CHAR@{TYPEOF\_CHAR}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_CHAR}{TYPEOF\_CHAR}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+C\+H\+AR~3} + +\mbox{\Hypertarget{typeof_8h_ab4833544b1f4060806106baa0eb916e6}\label{typeof_8h_ab4833544b1f4060806106baa0eb916e6}} +\index{typeof.h@{typeof.h}!TYPEOF\_LONG@{TYPEOF\_LONG}} +\index{TYPEOF\_LONG@{TYPEOF\_LONG}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_LONG}{TYPEOF\_LONG}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+L\+O\+NG~4} + +\mbox{\Hypertarget{typeof_8h_a3d694a422fb7a54f15ddf1c9749567f7}\label{typeof_8h_a3d694a422fb7a54f15ddf1c9749567f7}} +\index{typeof.h@{typeof.h}!TYPEOF\_FLOAT@{TYPEOF\_FLOAT}} +\index{TYPEOF\_FLOAT@{TYPEOF\_FLOAT}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_FLOAT}{TYPEOF\_FLOAT}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+F\+L\+O\+AT~5} + +\mbox{\Hypertarget{typeof_8h_a709c014873866243abc0275099f676f5}\label{typeof_8h_a709c014873866243abc0275099f676f5}} +\index{typeof.h@{typeof.h}!TYPEOF\_FIXED16X16@{TYPEOF\_FIXED16X16}} +\index{TYPEOF\_FIXED16X16@{TYPEOF\_FIXED16X16}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_FIXED16X16}{TYPEOF\_FIXED16X16}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+F\+I\+X\+E\+D16\+X16~6} + +\mbox{\Hypertarget{typeof_8h_a5b91f9d826e3c5c6873bc86cdce3d517}\label{typeof_8h_a5b91f9d826e3c5c6873bc86cdce3d517}} +\index{typeof.h@{typeof.h}!TYPEOF\_BIT@{TYPEOF\_BIT}} +\index{TYPEOF\_BIT@{TYPEOF\_BIT}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_BIT}{TYPEOF\_BIT}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+B\+IT~7} + +\mbox{\Hypertarget{typeof_8h_a5b9f605bb8dcac27ddfab4e9a8c9a2ca}\label{typeof_8h_a5b9f605bb8dcac27ddfab4e9a8c9a2ca}} +\index{typeof.h@{typeof.h}!TYPEOF\_BITFIELD@{TYPEOF\_BITFIELD}} +\index{TYPEOF\_BITFIELD@{TYPEOF\_BITFIELD}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_BITFIELD}{TYPEOF\_BITFIELD}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+B\+I\+T\+F\+I\+E\+LD~8} + +\mbox{\Hypertarget{typeof_8h_a09fcac98c1e69b32ea223eada74e30bd}\label{typeof_8h_a09fcac98c1e69b32ea223eada74e30bd}} +\index{typeof.h@{typeof.h}!TYPEOF\_SBIT@{TYPEOF\_SBIT}} +\index{TYPEOF\_SBIT@{TYPEOF\_SBIT}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_SBIT}{TYPEOF\_SBIT}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+S\+B\+IT~9} + +\mbox{\Hypertarget{typeof_8h_aae32132bbca6df6423182122d95b00cd}\label{typeof_8h_aae32132bbca6df6423182122d95b00cd}} +\index{typeof.h@{typeof.h}!TYPEOF\_SFR@{TYPEOF\_SFR}} +\index{TYPEOF\_SFR@{TYPEOF\_SFR}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_SFR}{TYPEOF\_SFR}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+S\+FR~10} + +\mbox{\Hypertarget{typeof_8h_a03582306431a63d84cc721132ed683c8}\label{typeof_8h_a03582306431a63d84cc721132ed683c8}} +\index{typeof.h@{typeof.h}!TYPEOF\_VOID@{TYPEOF\_VOID}} +\index{TYPEOF\_VOID@{TYPEOF\_VOID}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_VOID}{TYPEOF\_VOID}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+V\+O\+ID~11} + +\mbox{\Hypertarget{typeof_8h_a4f9ce6ed9178ad58f706e74cd8c24e1f}\label{typeof_8h_a4f9ce6ed9178ad58f706e74cd8c24e1f}} +\index{typeof.h@{typeof.h}!TYPEOF\_STRUCT@{TYPEOF\_STRUCT}} +\index{TYPEOF\_STRUCT@{TYPEOF\_STRUCT}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_STRUCT}{TYPEOF\_STRUCT}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+S\+T\+R\+U\+CT~12} + +\mbox{\Hypertarget{typeof_8h_ac627e9a5f9b283cb8904d73c941f1896}\label{typeof_8h_ac627e9a5f9b283cb8904d73c941f1896}} +\index{typeof.h@{typeof.h}!TYPEOF\_ARRAY@{TYPEOF\_ARRAY}} +\index{TYPEOF\_ARRAY@{TYPEOF\_ARRAY}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_ARRAY}{TYPEOF\_ARRAY}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+A\+R\+R\+AY~13} + +\mbox{\Hypertarget{typeof_8h_a3adf36b394d11d9b35f45ad8c4544670}\label{typeof_8h_a3adf36b394d11d9b35f45ad8c4544670}} +\index{typeof.h@{typeof.h}!TYPEOF\_FUNCTION@{TYPEOF\_FUNCTION}} +\index{TYPEOF\_FUNCTION@{TYPEOF\_FUNCTION}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_FUNCTION}{TYPEOF\_FUNCTION}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+F\+U\+N\+C\+T\+I\+ON~14} + +\mbox{\Hypertarget{typeof_8h_a2541fdaacae83bbcc99dcedf464c7c94}\label{typeof_8h_a2541fdaacae83bbcc99dcedf464c7c94}} +\index{typeof.h@{typeof.h}!TYPEOF\_POINTER@{TYPEOF\_POINTER}} +\index{TYPEOF\_POINTER@{TYPEOF\_POINTER}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_POINTER}{TYPEOF\_POINTER}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+P\+O\+I\+N\+T\+ER~15} + +\mbox{\Hypertarget{typeof_8h_a5301fd3500fb9f9454a17f9d4c5d0e8c}\label{typeof_8h_a5301fd3500fb9f9454a17f9d4c5d0e8c}} +\index{typeof.h@{typeof.h}!TYPEOF\_FPOINTER@{TYPEOF\_FPOINTER}} +\index{TYPEOF\_FPOINTER@{TYPEOF\_FPOINTER}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_FPOINTER}{TYPEOF\_FPOINTER}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+F\+P\+O\+I\+N\+T\+ER~16} + +\mbox{\Hypertarget{typeof_8h_a6131cee0fe0abf1cf2fcfcec830535d4}\label{typeof_8h_a6131cee0fe0abf1cf2fcfcec830535d4}} +\index{typeof.h@{typeof.h}!TYPEOF\_CPOINTER@{TYPEOF\_CPOINTER}} +\index{TYPEOF\_CPOINTER@{TYPEOF\_CPOINTER}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_CPOINTER}{TYPEOF\_CPOINTER}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+C\+P\+O\+I\+N\+T\+ER~17} + +\mbox{\Hypertarget{typeof_8h_adbec06ba3e6f0e2dcbefd788978f9ad6}\label{typeof_8h_adbec06ba3e6f0e2dcbefd788978f9ad6}} +\index{typeof.h@{typeof.h}!TYPEOF\_GPOINTER@{TYPEOF\_GPOINTER}} +\index{TYPEOF\_GPOINTER@{TYPEOF\_GPOINTER}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_GPOINTER}{TYPEOF\_GPOINTER}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+G\+P\+O\+I\+N\+T\+ER~18} + +\mbox{\Hypertarget{typeof_8h_ad38c6e5ceee5c5fe3703690fc32b23ae}\label{typeof_8h_ad38c6e5ceee5c5fe3703690fc32b23ae}} +\index{typeof.h@{typeof.h}!TYPEOF\_PPOINTER@{TYPEOF\_PPOINTER}} +\index{TYPEOF\_PPOINTER@{TYPEOF\_PPOINTER}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_PPOINTER}{TYPEOF\_PPOINTER}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+P\+P\+O\+I\+N\+T\+ER~19} + +\mbox{\Hypertarget{typeof_8h_aa56dfc698692fb3f2d64c1a4b192f9c0}\label{typeof_8h_aa56dfc698692fb3f2d64c1a4b192f9c0}} +\index{typeof.h@{typeof.h}!TYPEOF\_IPOINTER@{TYPEOF\_IPOINTER}} +\index{TYPEOF\_IPOINTER@{TYPEOF\_IPOINTER}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_IPOINTER}{TYPEOF\_IPOINTER}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+I\+P\+O\+I\+N\+T\+ER~20} + +\mbox{\Hypertarget{typeof_8h_a73d0c1f1fc515b199acb5631f8a16898}\label{typeof_8h_a73d0c1f1fc515b199acb5631f8a16898}} +\index{typeof.h@{typeof.h}!TYPEOF\_EEPPOINTER@{TYPEOF\_EEPPOINTER}} +\index{TYPEOF\_EEPPOINTER@{TYPEOF\_EEPPOINTER}!typeof.h@{typeof.h}} +\doxyparagraph{\texorpdfstring{TYPEOF\_EEPPOINTER}{TYPEOF\_EEPPOINTER}} +{\footnotesize\ttfamily \#define T\+Y\+P\+E\+O\+F\+\_\+\+E\+E\+P\+P\+O\+I\+N\+T\+ER~21} + diff --git a/docs/latex/types_8h.tex b/docs/latex/types_8h.tex @@ -0,0 +1,52 @@ +\hypertarget{types_8h}{}\doxysubsection{types.\+h File Reference} +\label{types_8h}\index{types.h@{types.h}} +{\ttfamily \#include $<$asm/types.\+h$>$}\newline +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{types_8h_a070d2ce7b6bb7e5c05602aa8c308d0c4}{N\+U\+LL}}~0 +\item +\#define \mbox{\hyperlink{types_8h_aa93f0eb578d23995850d61f7d61c55c1}{F\+A\+L\+SE}}~0 +\item +\#define \mbox{\hyperlink{types_8h_aa8cecfc5c5c054d2875c03e77b7be15d}{T\+R\+UE}}~1 +\end{DoxyCompactItemize} +\doxysubsubsection*{Typedefs} +\begin{DoxyCompactItemize} +\item +typedef void $\ast$ \mbox{\hyperlink{types_8h_ae51a81000f343b8ec43bca1f6a723d7b}{P\+O\+I\+N\+T\+ER}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Basic types. ~\newline + Directly include the port specific file. + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{types_8h_a070d2ce7b6bb7e5c05602aa8c308d0c4}\label{types_8h_a070d2ce7b6bb7e5c05602aa8c308d0c4}} +\index{types.h@{types.h}!NULL@{NULL}} +\index{NULL@{NULL}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{NULL}{NULL}} +{\footnotesize\ttfamily \#define N\+U\+LL~0} + +Good \textquotesingle{}ol N\+U\+LL. \mbox{\Hypertarget{types_8h_aa93f0eb578d23995850d61f7d61c55c1}\label{types_8h_aa93f0eb578d23995850d61f7d61c55c1}} +\index{types.h@{types.h}!FALSE@{FALSE}} +\index{FALSE@{FALSE}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{FALSE}{FALSE}} +{\footnotesize\ttfamily \#define F\+A\+L\+SE~0} + +A \textquotesingle{}false\textquotesingle{} value. \mbox{\Hypertarget{types_8h_aa8cecfc5c5c054d2875c03e77b7be15d}\label{types_8h_aa8cecfc5c5c054d2875c03e77b7be15d}} +\index{types.h@{types.h}!TRUE@{TRUE}} +\index{TRUE@{TRUE}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{TRUE}{TRUE}} +{\footnotesize\ttfamily \#define T\+R\+UE~1} + +A \textquotesingle{}true\textquotesingle{} value. + +\doxysubsubsection{Typedef Documentation} +\mbox{\Hypertarget{types_8h_ae51a81000f343b8ec43bca1f6a723d7b}\label{types_8h_ae51a81000f343b8ec43bca1f6a723d7b}} +\index{types.h@{types.h}!POINTER@{POINTER}} +\index{POINTER@{POINTER}!types.h@{types.h}} +\doxyparagraph{\texorpdfstring{POINTER}{POINTER}} +{\footnotesize\ttfamily typedef void$\ast$ \mbox{\hyperlink{types_8h_ae51a81000f343b8ec43bca1f6a723d7b}{P\+O\+I\+N\+T\+ER}}} + +No longer used. + diff --git a/docs/latex/union____far__ptr.tex b/docs/latex/union____far__ptr.tex @@ -0,0 +1,74 @@ +\hypertarget{union____far__ptr}{}\doxysubsection{\+\_\+\+\_\+far\+\_\+ptr Union Reference} +\label{union____far__ptr}\index{\_\_far\_ptr@{\_\_far\_ptr}} + + +{\ttfamily \#include $<$far\+\_\+ptr.\+h$>$} + +\doxysubsubsection*{Data Fields} +\begin{DoxyCompactItemize} +\item +\mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}} \mbox{\hyperlink{union____far__ptr_afabdeeef2b4056bc9c2d2e34b030f348}{ptr}} +\item +\begin{tabbing} +xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill +struct \{\\ +\>void $\ast$ \mbox{\hyperlink{union____far__ptr_a60fef2b4efac12d73fd609373631ac4e}{ofs}}\\ +\>\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\_t}} \mbox{\hyperlink{union____far__ptr_a13c65a38be633a3ac219c3b5b3be5ce6}{seg}}\\ +\} \mbox{\hyperlink{union____far__ptr_ab77baeba835fa23f6d96c641e7ee2b06}{segofs}}\\ + +\end{tabbing}\item +\begin{tabbing} +xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill +struct \{\\ +\>void($\ast$ \mbox{\hyperlink{union____far__ptr_a90065c72477187e9f9c97c07c90f6af9}{fn}} )()\\ +\>\mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\_t}} \mbox{\hyperlink{union____far__ptr_a13c65a38be633a3ac219c3b5b3be5ce6}{seg}}\\ +\} \mbox{\hyperlink{union____far__ptr_a8c6e2345a04a58dc76339923baffcbe3}{segfn}}\\ + +\end{tabbing}\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Union for working with members of a F\+A\+R\+\_\+\+P\+TR + +\doxysubsubsection{Field Documentation} +\mbox{\Hypertarget{union____far__ptr_afabdeeef2b4056bc9c2d2e34b030f348}\label{union____far__ptr_afabdeeef2b4056bc9c2d2e34b030f348}} +\index{\_\_far\_ptr@{\_\_far\_ptr}!ptr@{ptr}} +\index{ptr@{ptr}!\_\_far\_ptr@{\_\_far\_ptr}} +\doxyparagraph{\texorpdfstring{ptr}{ptr}} +{\footnotesize\ttfamily \mbox{\hyperlink{far__ptr_8h_a7c6f52121dd07af29b477f4e64314842}{F\+A\+R\+\_\+\+P\+TR}} \+\_\+\+\_\+far\+\_\+ptr\+::ptr} + +\mbox{\Hypertarget{union____far__ptr_a60fef2b4efac12d73fd609373631ac4e}\label{union____far__ptr_a60fef2b4efac12d73fd609373631ac4e}} +\index{\_\_far\_ptr@{\_\_far\_ptr}!ofs@{ofs}} +\index{ofs@{ofs}!\_\_far\_ptr@{\_\_far\_ptr}} +\doxyparagraph{\texorpdfstring{ofs}{ofs}} +{\footnotesize\ttfamily void$\ast$ \+\_\+\+\_\+far\+\_\+ptr\+::ofs} + +\mbox{\Hypertarget{union____far__ptr_a13c65a38be633a3ac219c3b5b3be5ce6}\label{union____far__ptr_a13c65a38be633a3ac219c3b5b3be5ce6}} +\index{\_\_far\_ptr@{\_\_far\_ptr}!seg@{seg}} +\index{seg@{seg}!\_\_far\_ptr@{\_\_far\_ptr}} +\doxyparagraph{\texorpdfstring{seg}{seg}} +{\footnotesize\ttfamily \mbox{\hyperlink{stdint_8h_adf4d876453337156dde61095e1f20223}{uint16\+\_\+t}} \+\_\+\+\_\+far\+\_\+ptr\+::seg} + +\mbox{\Hypertarget{union____far__ptr_ab77baeba835fa23f6d96c641e7ee2b06}\label{union____far__ptr_ab77baeba835fa23f6d96c641e7ee2b06}} +\index{\_\_far\_ptr@{\_\_far\_ptr}!segofs@{segofs}} +\index{segofs@{segofs}!\_\_far\_ptr@{\_\_far\_ptr}} +\doxyparagraph{\texorpdfstring{segofs}{segofs}} +{\footnotesize\ttfamily struct \{ ... \} \+\_\+\+\_\+far\+\_\+ptr\+::segofs} + +\mbox{\Hypertarget{union____far__ptr_a90065c72477187e9f9c97c07c90f6af9}\label{union____far__ptr_a90065c72477187e9f9c97c07c90f6af9}} +\index{\_\_far\_ptr@{\_\_far\_ptr}!fn@{fn}} +\index{fn@{fn}!\_\_far\_ptr@{\_\_far\_ptr}} +\doxyparagraph{\texorpdfstring{fn}{fn}} +{\footnotesize\ttfamily void($\ast$ \+\_\+\+\_\+far\+\_\+ptr\+::fn) ()} + +\mbox{\Hypertarget{union____far__ptr_a8c6e2345a04a58dc76339923baffcbe3}\label{union____far__ptr_a8c6e2345a04a58dc76339923baffcbe3}} +\index{\_\_far\_ptr@{\_\_far\_ptr}!segfn@{segfn}} +\index{segfn@{segfn}!\_\_far\_ptr@{\_\_far\_ptr}} +\doxyparagraph{\texorpdfstring{segfn}{segfn}} +{\footnotesize\ttfamily struct \{ ... \} \+\_\+\+\_\+far\+\_\+ptr\+::segfn} + + + +The documentation for this union was generated from the following file\+:\begin{DoxyCompactItemize} +\item +gbdk/\mbox{\hyperlink{far__ptr_8h}{far\+\_\+ptr.\+h}}\end{DoxyCompactItemize} diff --git a/docs/latex/union__fixed.tex b/docs/latex/union__fixed.tex @@ -0,0 +1,70 @@ +\hypertarget{union__fixed}{}\doxysubsection{\+\_\+fixed Union Reference} +\label{union__fixed}\index{\_fixed@{\_fixed}} + + +{\ttfamily \#include $<$types.\+h$>$} + +\doxysubsubsection*{Data Fields} +\begin{DoxyCompactItemize} +\item +\begin{tabbing} +xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill +struct \{\\ +\>\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{UBYTE}} \mbox{\hyperlink{union__fixed_ac44ac5f62ed7369c444b6f13d9e1d9bc}{l}}\\ +\>\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{UBYTE}} \mbox{\hyperlink{union__fixed_acd5ac56a5ed6650d5797e89b278a972f}{h}}\\ +\}; \\ + +\end{tabbing}\item +\begin{tabbing} +xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill +struct \{\\ +\>\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{UBYTE}} \mbox{\hyperlink{union__fixed_ac44ac5f62ed7369c444b6f13d9e1d9bc}{l}}\\ +\>\mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{UBYTE}} \mbox{\hyperlink{union__fixed_acd5ac56a5ed6650d5797e89b278a972f}{h}}\\ +\} \mbox{\hyperlink{union__fixed_ac0efdf5ee7302ad64dbc51cabc3659d3}{b}}\\ + +\end{tabbing}\item +\mbox{\hyperlink{asm_2types_8h_a9e551e7c1bd8feb51e8eefd109966f75}{U\+W\+O\+RD}} \mbox{\hyperlink{union__fixed_ab16f9fd51f817308d109b9b35866f310}{w}} +\end{DoxyCompactItemize} + + +\doxysubsubsection{Detailed Description} +Useful definition for working with 8 bit + 8 bit fixed point values + +Use {\ttfamily .w} to access the variable as unsigned 16 bit type. + +Use {\ttfamily .b.\+h} and {\ttfamily .b.\+l} (or just {\ttfamily .h} and {\ttfamily .l}) to directly access it\textquotesingle{}s high and low unsigned 8 bit values. + +\doxysubsubsection{Field Documentation} +\mbox{\Hypertarget{union__fixed_ac44ac5f62ed7369c444b6f13d9e1d9bc}\label{union__fixed_ac44ac5f62ed7369c444b6f13d9e1d9bc}} +\index{\_fixed@{\_fixed}!l@{l}} +\index{l@{l}!\_fixed@{\_fixed}} +\doxyparagraph{\texorpdfstring{l}{l}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \+\_\+fixed\+::l} + +\mbox{\Hypertarget{union__fixed_acd5ac56a5ed6650d5797e89b278a972f}\label{union__fixed_acd5ac56a5ed6650d5797e89b278a972f}} +\index{\_fixed@{\_fixed}!h@{h}} +\index{h@{h}!\_fixed@{\_fixed}} +\doxyparagraph{\texorpdfstring{h}{h}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a280213815420791851f7e59bdc8a3c95}{U\+B\+Y\+TE}} \+\_\+fixed\+::h} + +\mbox{\Hypertarget{union__fixed_abd9258127ce7af017d5f807fa297950a}\label{union__fixed_abd9258127ce7af017d5f807fa297950a}} +\doxyparagraph{\texorpdfstring{"@1}{@1}} +{\footnotesize\ttfamily struct \{ ... \} } + +\mbox{\Hypertarget{union__fixed_ac0efdf5ee7302ad64dbc51cabc3659d3}\label{union__fixed_ac0efdf5ee7302ad64dbc51cabc3659d3}} +\index{\_fixed@{\_fixed}!b@{b}} +\index{b@{b}!\_fixed@{\_fixed}} +\doxyparagraph{\texorpdfstring{b}{b}} +{\footnotesize\ttfamily struct \{ ... \} \+\_\+fixed\+::b} + +\mbox{\Hypertarget{union__fixed_ab16f9fd51f817308d109b9b35866f310}\label{union__fixed_ab16f9fd51f817308d109b9b35866f310}} +\index{\_fixed@{\_fixed}!w@{w}} +\index{w@{w}!\_fixed@{\_fixed}} +\doxyparagraph{\texorpdfstring{w}{w}} +{\footnotesize\ttfamily \mbox{\hyperlink{asm_2types_8h_a9e551e7c1bd8feb51e8eefd109966f75}{U\+W\+O\+RD}} \+\_\+fixed\+::w} + + + +The documentation for this union was generated from the following file\+:\begin{DoxyCompactItemize} +\item +asm/\mbox{\hyperlink{asm_2types_8h}{types.\+h}}\end{DoxyCompactItemize} diff --git a/docs/latex/version_8h.tex b/docs/latex/version_8h.tex @@ -0,0 +1,16 @@ +\hypertarget{version_8h}{}\doxysubsection{gbdk/version.h File Reference} +\label{version_8h}\index{gbdk/version.h@{gbdk/version.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{version_8h_a459449876dfba6299bf055c882d78334}{\+\_\+\+\_\+\+G\+B\+D\+K\+\_\+\+V\+E\+R\+S\+I\+ON}}~405 +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{version_8h_a459449876dfba6299bf055c882d78334}\label{version_8h_a459449876dfba6299bf055c882d78334}} +\index{version.h@{version.h}!\_\_GBDK\_VERSION@{\_\_GBDK\_VERSION}} +\index{\_\_GBDK\_VERSION@{\_\_GBDK\_VERSION}!version.h@{version.h}} +\doxyparagraph{\texorpdfstring{\_\_GBDK\_VERSION}{\_\_GBDK\_VERSION}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+G\+B\+D\+K\+\_\+\+V\+E\+R\+S\+I\+ON~405} + diff --git a/docs/latex/z80_2provides_8h.tex b/docs/latex/z80_2provides_8h.tex @@ -0,0 +1,32 @@ +\hypertarget{z80_2provides_8h}{}\doxysubsection{asm/z80/provides.h File Reference} +\label{z80_2provides_8h}\index{asm/z80/provides.h@{asm/z80/provides.h}} +\doxysubsubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{z80_2provides_8h_a9dd4f1ec2939e7beb7ef40e350cbba47}{U\+S\+E\+\_\+\+C\+\_\+\+M\+E\+M\+C\+PY}}~0 +\item +\#define \mbox{\hyperlink{z80_2provides_8h_ac6678abba8f5929bc8b33f3202e568f0}{U\+S\+E\+\_\+\+C\+\_\+\+S\+T\+R\+C\+PY}}~0 +\item +\#define \mbox{\hyperlink{z80_2provides_8h_a809a7bd0afcfb7500b5108a9e976b85c}{U\+S\+E\+\_\+\+C\+\_\+\+S\+T\+R\+C\+MP}}~1 +\end{DoxyCompactItemize} + + +\doxysubsubsection{Macro Definition Documentation} +\mbox{\Hypertarget{z80_2provides_8h_a9dd4f1ec2939e7beb7ef40e350cbba47}\label{z80_2provides_8h_a9dd4f1ec2939e7beb7ef40e350cbba47}} +\index{provides.h@{provides.h}!USE\_C\_MEMCPY@{USE\_C\_MEMCPY}} +\index{USE\_C\_MEMCPY@{USE\_C\_MEMCPY}!provides.h@{provides.h}} +\doxyparagraph{\texorpdfstring{USE\_C\_MEMCPY}{USE\_C\_MEMCPY}} +{\footnotesize\ttfamily \#define U\+S\+E\+\_\+\+C\+\_\+\+M\+E\+M\+C\+PY~0} + +\mbox{\Hypertarget{z80_2provides_8h_ac6678abba8f5929bc8b33f3202e568f0}\label{z80_2provides_8h_ac6678abba8f5929bc8b33f3202e568f0}} +\index{provides.h@{provides.h}!USE\_C\_STRCPY@{USE\_C\_STRCPY}} +\index{USE\_C\_STRCPY@{USE\_C\_STRCPY}!provides.h@{provides.h}} +\doxyparagraph{\texorpdfstring{USE\_C\_STRCPY}{USE\_C\_STRCPY}} +{\footnotesize\ttfamily \#define U\+S\+E\+\_\+\+C\+\_\+\+S\+T\+R\+C\+PY~0} + +\mbox{\Hypertarget{z80_2provides_8h_a809a7bd0afcfb7500b5108a9e976b85c}\label{z80_2provides_8h_a809a7bd0afcfb7500b5108a9e976b85c}} +\index{provides.h@{provides.h}!USE\_C\_STRCMP@{USE\_C\_STRCMP}} +\index{USE\_C\_STRCMP@{USE\_C\_STRCMP}!provides.h@{provides.h}} +\doxyparagraph{\texorpdfstring{USE\_C\_STRCMP}{USE\_C\_STRCMP}} +{\footnotesize\ttfamily \#define U\+S\+E\+\_\+\+C\+\_\+\+S\+T\+R\+C\+MP~1} +
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.