From 9b4fb7d19d71adfef3d83b7f909a9945569d07cf Mon Sep 17 00:00:00 2001 From: Corgo <94418843+TeamCorgo@users.noreply.github.com> Date: Mon, 6 Jan 2025 14:43:41 -0800 Subject: [PATCH] Moved Doxygen from /doc into github-pages, rebuilds every 24 hours --- .github/workflows/doxygen.yml | 74 + doc/{doxyfile.unix => doxyconfig} | 1165 ++++--- doc/doxyfile | 393 --- doc/html/16c550_8h_source.html | 215 -- doc/html/annotated.html | 183 -- doc/html/asm_8h.html | 153 - doc/html/asm_8h_source.html | 155 - doc/html/bc_s.png | Bin 705 -> 0 bytes doc/html/bmp_8h.html | 1714 ---------- doc/html/bmp_8h_source.html | 275 -- doc/html/classes.html | 127 - doc/html/closed.png | Bin 126 -> 0 bytes doc/html/config_8h.html | 216 -- doc/html/config_8h_source.html | 177 - doc/html/console_8c.html | 471 --- doc/html/console_8h.html | 689 ---- doc/html/console_8h_source.html | 216 -- doc/html/deprecated.html | 529 --- doc/html/dma_8h.html | 1513 --------- doc/html/dma_8h_source.html | 208 -- doc/html/doxygen.css | 835 ----- doc/html/doxygen.png | Bin 3942 -> 0 bytes doc/html/everdrive_8h.html | 123 - doc/html/everdrive_8h_source.html | 219 -- doc/html/fat16_8h.html | 123 - doc/html/fat16_8h_source.html | 187 -- doc/html/files.html | 173 - doc/html/flash_8h.html | 430 --- doc/html/flash_8h_source.html | 148 - doc/html/font_8h.html | 127 - doc/html/font_8h_source.html | 124 - doc/html/ftv2blank.png | Bin 82 -> 0 bytes doc/html/ftv2doc.png | Bin 762 -> 0 bytes doc/html/ftv2folderclosed.png | Bin 598 -> 0 bytes doc/html/ftv2folderopen.png | Bin 590 -> 0 bytes doc/html/ftv2lastnode.png | Bin 82 -> 0 bytes doc/html/ftv2link.png | Bin 762 -> 0 bytes doc/html/ftv2mlastnode.png | Bin 221 -> 0 bytes doc/html/ftv2mnode.png | Bin 221 -> 0 bytes doc/html/ftv2node.png | Bin 82 -> 0 bytes doc/html/ftv2plastnode.png | Bin 215 -> 0 bytes doc/html/ftv2pnode.png | Bin 215 -> 0 bytes doc/html/ftv2splitbar.png | Bin 249 -> 0 bytes doc/html/ftv2vertline.png | Bin 82 -> 0 bytes doc/html/gamejolt_8h.html | 121 - doc/html/gamejolt_8h_source.html | 322 -- doc/html/genesis_8h_source.html | 203 -- doc/html/globals.html | 155 - doc/html/globals_0x61.html | 200 -- doc/html/globals_0x62.html | 317 -- doc/html/globals_0x63.html | 237 -- doc/html/globals_0x64.html | 296 -- doc/html/globals_0x65.html | 167 - doc/html/globals_0x66.html | 365 --- doc/html/globals_0x67.html | 257 -- doc/html/globals_0x68.html | 173 - doc/html/globals_0x69.html | 194 -- doc/html/globals_0x6a.html | 206 -- doc/html/globals_0x6b.html | 158 - doc/html/globals_0x6c.html | 185 -- doc/html/globals_0x6d.html | 347 -- doc/html/globals_0x6e.html | 158 - doc/html/globals_0x6f.html | 188 -- doc/html/globals_0x70.html | 359 -- doc/html/globals_0x71.html | 173 - doc/html/globals_0x72.html | 191 -- doc/html/globals_0x73.html | 752 ----- doc/html/globals_0x74.html | 302 -- doc/html/globals_0x75.html | 185 -- doc/html/globals_0x76.html | 827 ----- doc/html/globals_0x77.html | 167 - doc/html/globals_0x78.html | 338 -- doc/html/globals_0x79.html | 182 -- doc/html/globals_0x7a.html | 287 -- doc/html/globals_defs.html | 159 - doc/html/globals_defs_0x62.html | 204 -- doc/html/globals_defs_0x63.html | 168 - doc/html/globals_defs_0x64.html | 162 - doc/html/globals_defs_0x65.html | 159 - doc/html/globals_defs_0x66.html | 189 -- doc/html/globals_defs_0x67.html | 222 -- doc/html/globals_defs_0x68.html | 162 - doc/html/globals_defs_0x69.html | 162 - doc/html/globals_defs_0x6c.html | 168 - doc/html/globals_defs_0x6d.html | 180 - doc/html/globals_defs_0x6e.html | 153 - doc/html/globals_defs_0x6f.html | 150 - doc/html/globals_defs_0x70.html | 201 -- doc/html/globals_defs_0x72.html | 162 - doc/html/globals_defs_0x73.html | 297 -- doc/html/globals_defs_0x74.html | 267 -- doc/html/globals_defs_0x75.html | 153 - doc/html/globals_defs_0x76.html | 279 -- doc/html/globals_defs_0x78.html | 153 - doc/html/globals_defs_0x79.html | 156 - doc/html/globals_defs_0x7a.html | 207 -- doc/html/globals_enum.html | 140 - doc/html/globals_eval.html | 170 - doc/html/globals_func.html | 175 - doc/html/globals_func_0x62.html | 244 -- doc/html/globals_func_0x63.html | 203 -- doc/html/globals_func_0x64.html | 262 -- doc/html/globals_func_0x66.html | 283 -- doc/html/globals_func_0x67.html | 178 - doc/html/globals_func_0x69.html | 169 - doc/html/globals_func_0x6a.html | 199 -- doc/html/globals_func_0x6b.html | 154 - doc/html/globals_func_0x6c.html | 151 - doc/html/globals_func_0x6d.html | 289 -- doc/html/globals_func_0x6f.html | 169 - doc/html/globals_func_0x70.html | 268 -- doc/html/globals_func_0x71.html | 169 - doc/html/globals_func_0x72.html | 169 - doc/html/globals_func_0x73.html | 541 --- doc/html/globals_func_0x74.html | 166 - doc/html/globals_func_0x75.html | 166 - doc/html/globals_func_0x76.html | 598 ---- doc/html/globals_func_0x77.html | 157 - doc/html/globals_func_0x78.html | 328 -- doc/html/globals_func_0x79.html | 169 - doc/html/globals_func_0x7a.html | 220 -- doc/html/globals_type.html | 355 -- doc/html/globals_vars.html | 310 -- doc/html/group___c550.html | 112 - doc/html/group__gamejolt.html | 116 - doc/html/group__json.html | 114 - doc/html/group__lsd.html | 116 - doc/html/group__megawifi.html | 114 - doc/html/group__mw-msg.html | 113 - doc/html/index.html | 104 - doc/html/installdox | 112 - doc/html/joy_8h.html | 1007 ------ doc/html/joy_8h_source.html | 219 -- doc/html/jquery.js | 54 - doc/html/jsmn_8h_source.html | 543 ---- doc/html/json_8h.html | 121 - doc/html/json_8h_source.html | 151 - doc/html/kdebug_8h.html | 137 - doc/html/kdebug_8h_source.html | 124 - doc/html/libres_8h_source.html | 120 - doc/html/lsd_8h_source.html | 187 -- doc/html/map_8h.html | 700 ---- doc/html/map_8h_source.html | 177 - doc/html/mapper_8h.html | 524 --- doc/html/mapper_8h_source.html | 150 - doc/html/maths3_d_8h.html | 759 ----- doc/html/maths3_d_8h_source.html | 174 - doc/html/maths_8h.html | 1083 ------ doc/html/maths_8h_source.html | 451 --- doc/html/megawifi_8h.html | 123 - doc/html/megawifi_8h_source.html | 458 --- doc/html/memory_8h.html | 989 ------ doc/html/memory_8h_source.html | 235 -- doc/html/memory__base_8h.html | 140 - doc/html/memory__base_8h_source.html | 125 - doc/html/minimus_8h_source.html | 140 - doc/html/modules.html | 112 - doc/html/mw-msg_8h.html | 121 - doc/html/mw-msg_8h_source.html | 417 --- doc/html/nav_f.png | Bin 159 -> 0 bytes doc/html/nav_h.png | Bin 97 -> 0 bytes doc/html/navtree.css | 123 - doc/html/navtree.js | 386 --- doc/html/object_8h.html | 478 --- doc/html/object_8h_source.html | 150 - doc/html/open.png | Bin 118 -> 0 bytes doc/html/pages.html | 110 - doc/html/pal_8h.html | 1463 --------- doc/html/pal_8h_source.html | 189 -- doc/html/pool_8h.html | 454 --- doc/html/pool_8h_source.html | 143 - doc/html/psg_8h.html | 409 --- doc/html/psg_8h_source.html | 148 - doc/html/resize.js | 81 - doc/html/saveman_8h.html | 413 --- doc/html/saveman_8h_source.html | 137 - doc/html/search/all_5f.html | 31 - doc/html/search/all_61.html | 128 - doc/html/search/all_62.html | 364 --- doc/html/search/all_63.html | 235 -- doc/html/search/all_64.html | 318 -- doc/html/search/all_65.html | 55 - doc/html/search/all_66.html | 461 --- doc/html/search/all_67.html | 235 -- doc/html/search/all_68.html | 62 - doc/html/search/all_69.html | 114 - doc/html/search/all_6a.html | 138 - doc/html/search/all_6b.html | 37 - doc/html/search/all_6c.html | 94 - doc/html/search/all_6d.html | 488 --- doc/html/search/all_6e.html | 32 - doc/html/search/all_6f.html | 102 - doc/html/search/all_70.html | 464 --- doc/html/search/all_71.html | 62 - doc/html/search/all_72.html | 103 - doc/html/search/all_73.html | 1298 -------- doc/html/search/all_74.html | 362 --- doc/html/search/all_75.html | 86 - doc/html/search/all_76.html | 1475 --------- doc/html/search/all_77.html | 50 - doc/html/search/all_78.html | 402 --- doc/html/search/all_79.html | 85 - doc/html/search/all_7a.html | 295 -- doc/html/search/classes_5f.html | 25 - doc/html/search/classes_61.html | 30 - doc/html/search/classes_62.html | 35 - doc/html/search/classes_63.html | 40 - doc/html/search/classes_64.html | 25 - doc/html/search/classes_66.html | 35 - doc/html/search/classes_69.html | 30 - doc/html/search/classes_6c.html | 25 - doc/html/search/classes_6d.html | 60 - doc/html/search/classes_6f.html | 25 - doc/html/search/classes_70.html | 35 - doc/html/search/classes_72.html | 25 - doc/html/search/classes_73.html | 50 - doc/html/search/classes_74.html | 40 - doc/html/search/classes_76.html | 100 - doc/html/search/close.png | Bin 273 -> 0 bytes doc/html/search/defines_61.html | 41 - doc/html/search/defines_62.html | 134 - doc/html/search/defines_63.html | 62 - doc/html/search/defines_64.html | 50 - doc/html/search/defines_65.html | 44 - doc/html/search/defines_66.html | 101 - doc/html/search/defines_67.html | 170 - doc/html/search/defines_68.html | 50 - doc/html/search/defines_69.html | 50 - doc/html/search/defines_6c.html | 65 - doc/html/search/defines_6d.html | 86 - doc/html/search/defines_6e.html | 32 - doc/html/search/defines_6f.html | 26 - doc/html/search/defines_70.html | 128 - doc/html/search/defines_72.html | 50 - doc/html/search/defines_73.html | 320 -- doc/html/search/defines_74.html | 257 -- doc/html/search/defines_75.html | 32 - doc/html/search/defines_76.html | 284 -- doc/html/search/defines_78.html | 32 - doc/html/search/defines_79.html | 38 - doc/html/search/defines_7a.html | 140 - doc/html/search/enums_73.html | 44 - doc/html/search/enums_74.html | 26 - doc/html/search/enums_76.html | 32 - doc/html/search/enumvalues_61.html | 32 - doc/html/search/enumvalues_63.html | 26 - doc/html/search/enumvalues_64.html | 38 - doc/html/search/enumvalues_68.html | 26 - doc/html/search/enumvalues_6f.html | 32 - doc/html/search/enumvalues_73.html | 62 - doc/html/search/enumvalues_76.html | 26 - doc/html/search/files_61.html | 25 - doc/html/search/files_62.html | 25 - doc/html/search/files_63.html | 35 - doc/html/search/files_64.html | 25 - doc/html/search/files_65.html | 25 - doc/html/search/files_66.html | 35 - doc/html/search/files_67.html | 25 - doc/html/search/files_6a.html | 30 - doc/html/search/files_6b.html | 25 - doc/html/search/files_6d.html | 60 - doc/html/search/files_6f.html | 25 - doc/html/search/files_70.html | 35 - doc/html/search/files_73.html | 70 - doc/html/search/files_74.html | 45 - doc/html/search/files_76.html | 45 - doc/html/search/files_78.html | 30 - doc/html/search/files_79.html | 25 - doc/html/search/files_7a.html | 25 - doc/html/search/functions_61.html | 74 - doc/html/search/functions_62.html | 212 -- doc/html/search/functions_63.html | 140 - doc/html/search/functions_64.html | 248 -- doc/html/search/functions_66.html | 290 -- doc/html/search/functions_67.html | 80 - doc/html/search/functions_69.html | 62 - doc/html/search/functions_6a.html | 122 - doc/html/search/functions_6b.html | 32 - doc/html/search/functions_6c.html | 26 - doc/html/search/functions_6d.html | 302 -- doc/html/search/functions_6f.html | 62 - doc/html/search/functions_70.html | 260 -- doc/html/search/functions_71.html | 62 - doc/html/search/functions_72.html | 62 - doc/html/search/functions_73.html | 806 ----- doc/html/search/functions_74.html | 56 - doc/html/search/functions_75.html | 56 - doc/html/search/functions_76.html | 920 ------ doc/html/search/functions_77.html | 38 - doc/html/search/functions_78.html | 380 --- doc/html/search/functions_79.html | 62 - doc/html/search/functions_7a.html | 164 - doc/html/search/mag_sel.png | Bin 563 -> 0 bytes doc/html/search/nomatches.html | 12 - doc/html/search/search.css | 240 -- doc/html/search/search.js | 742 ----- doc/html/search/search_l.png | Bin 604 -> 0 bytes doc/html/search/search_m.png | Bin 158 -> 0 bytes doc/html/search/search_r.png | Bin 612 -> 0 bytes doc/html/search/typedefs_5f.html | 26 - doc/html/search/typedefs_62.html | 26 - doc/html/search/typedefs_66.html | 74 - doc/html/search/typedefs_6a.html | 26 - doc/html/search/typedefs_6d.html | 62 - doc/html/search/typedefs_6f.html | 32 - doc/html/search/typedefs_70.html | 26 - doc/html/search/typedefs_72.html | 26 - doc/html/search/typedefs_73.html | 44 - doc/html/search/typedefs_74.html | 26 - doc/html/search/typedefs_75.html | 38 - doc/html/search/typedefs_76.html | 182 -- doc/html/search/variables_61.html | 26 - doc/html/search/variables_62.html | 38 - doc/html/search/variables_63.html | 32 - doc/html/search/variables_64.html | 32 - doc/html/search/variables_65.html | 26 - doc/html/search/variables_66.html | 38 - doc/html/search/variables_68.html | 26 - doc/html/search/variables_69.html | 32 - doc/html/search/variables_6c.html | 38 - doc/html/search/variables_70.html | 80 - doc/html/search/variables_73.html | 44 - doc/html/search/variables_74.html | 32 - doc/html/search/variables_76.html | 26 - doc/html/search/variables_77.html | 32 - doc/html/search/variables_7a.html | 26 - doc/html/smp__null_8h_source.html | 117 - doc/html/smp__null__dpcm_8h_source.html | 117 - doc/html/snd__dpcm2_8h.html | 314 -- doc/html/snd__dpcm2_8h_source.html | 127 - doc/html/snd__pcm4_8h.html | 414 --- doc/html/snd__pcm4_8h_source.html | 137 - doc/html/snd__pcm_8h.html | 342 -- doc/html/snd__pcm_8h_source.html | 146 - doc/html/sound_8h.html | 209 -- doc/html/sound_8h_source.html | 149 - doc/html/sprite__eng_8h.html | 1960 ----------- doc/html/sprite__eng_8h_source.html | 324 -- doc/html/sprite__eng__legacy_8h.html | 125 - doc/html/sprite__eng__legacy_8h_source.html | 318 -- doc/html/sram_8h.html | 357 -- doc/html/sram_8h_source.html | 136 - doc/html/stb__sprintf_8h_source.html | 1975 ----------- doc/html/string_8h.html | 762 ----- doc/html/string_8h_source.html | 156 - doc/html/struct__collision-members.html | 116 - doc/html/struct__collision.html | 135 - doc/html/struct_animation-members.html | 113 - doc/html/struct_animation.html | 142 - doc/html/struct_animation_frame-members.html | 115 - doc/html/struct_animation_frame.html | 148 - doc/html/struct_bitmap-members.html | 115 - doc/html/struct_bitmap.html | 154 - doc/html/struct_box-members.html | 114 - doc/html/struct_box.html | 145 - doc/html/struct_box_collision-members.html | 114 - doc/html/struct_box_collision.html | 145 - doc/html/struct_circle-members.html | 113 - doc/html/struct_circle.html | 142 - doc/html/struct_circle_collision-members.html | 113 - doc/html/struct_circle_collision.html | 142 - doc/html/struct_collision.html | 135 - doc/html/struct_context3_d-members.html | 114 - doc/html/struct_context3_d.html | 136 - doc/html/struct_d_m_a_op_info-members.html | 115 - doc/html/struct_d_m_a_op_info.html | 138 - .../struct_frame_v_d_p_sprite-members.html | 116 - doc/html/struct_frame_v_d_p_sprite.html | 151 - doc/html/struct_image-members.html | 113 - doc/html/struct_image.html | 144 - doc/html/struct_line-members.html | 113 - doc/html/struct_line.html | 142 - doc/html/struct_map-members.html | 132 - doc/html/struct_map.html | 199 -- doc/html/struct_map_definition-members.html | 120 - doc/html/struct_map_definition.html | 187 -- doc/html/struct_mat2_d__f16-members.html | 112 - doc/html/struct_mat2_d__f16.html | 134 - doc/html/struct_mat2_d__f32-members.html | 112 - doc/html/struct_mat2_d__f32.html | 134 - doc/html/struct_mat3_d__f16-members.html | 113 - doc/html/struct_mat3_d__f16.html | 136 - doc/html/struct_mat3_d__f32-members.html | 113 - doc/html/struct_mat3_d__f32.html | 136 - doc/html/struct_mat4_d__f16-members.html | 114 - doc/html/struct_mat4_d__f16.html | 138 - doc/html/struct_mat4_d__f32-members.html | 114 - doc/html/struct_mat4_d__f32.html | 138 - doc/html/struct_object__-members.html | 115 - doc/html/struct_object__.html | 148 - doc/html/struct_palette-members.html | 112 - doc/html/struct_palette.html | 139 - doc/html/struct_pixel-members.html | 112 - doc/html/struct_pixel.html | 139 - doc/html/struct_pool-members.html | 115 - doc/html/struct_pool.html | 148 - doc/html/struct_r_o_m_header-members.html | 128 - doc/html/struct_r_o_m_header.html | 157 - doc/html/struct_sprite-members.html | 126 - doc/html/struct_sprite.html | 186 -- .../struct_sprite_definition-members.html | 117 - doc/html/struct_sprite_definition.html | 155 - doc/html/struct_tile_map-members.html | 114 - doc/html/struct_tile_map.html | 151 - doc/html/struct_tile_set-members.html | 113 - doc/html/struct_tile_set.html | 148 - .../struct_transformation3_d-members.html | 117 - doc/html/struct_transformation3_d.html | 148 - doc/html/struct_triangle-members.html | 114 - doc/html/struct_triangle.html | 145 - doc/html/struct_v_d_p_sprite-members.html | 126 - doc/html/struct_v_d_p_sprite.html | 178 - doc/html/struct_v_r_a_m_region-members.html | 114 - doc/html/struct_v_r_a_m_region.html | 146 - doc/html/struct_vect2_d__f16-members.html | 112 - doc/html/struct_vect2_d__f16.html | 132 - doc/html/struct_vect2_d__f32-members.html | 112 - doc/html/struct_vect2_d__f32.html | 132 - doc/html/struct_vect2_d__s16-members.html | 112 - doc/html/struct_vect2_d__s16.html | 132 - doc/html/struct_vect2_d__s32-members.html | 112 - doc/html/struct_vect2_d__s32.html | 132 - doc/html/struct_vect2_d__u16-members.html | 112 - doc/html/struct_vect2_d__u16.html | 132 - doc/html/struct_vect2_d__u32-members.html | 112 - doc/html/struct_vect2_d__u32.html | 132 - doc/html/struct_vect3_d__f16-members.html | 113 - doc/html/struct_vect3_d__f16.html | 134 - doc/html/struct_vect3_d__f32-members.html | 113 - doc/html/struct_vect3_d__f32.html | 134 - doc/html/struct_vect3_d__s16-members.html | 113 - doc/html/struct_vect3_d__s16.html | 134 - doc/html/struct_vect3_d__s32-members.html | 113 - doc/html/struct_vect3_d__s32.html | 134 - doc/html/struct_vect3_d__u16-members.html | 113 - doc/html/struct_vect3_d__u16.html | 134 - doc/html/struct_vect3_d__u32-members.html | 113 - doc/html/struct_vect3_d__u32.html | 134 - doc/html/struct_vect4_d__f16-members.html | 114 - doc/html/struct_vect4_d__f16.html | 136 - doc/html/struct_vect4_d__f32-members.html | 114 - doc/html/struct_vect4_d__f32.html | 136 - doc/html/structflash__chip-members.html | 113 - doc/html/structflash__chip.html | 134 - doc/html/structflash__region-members.html | 113 - doc/html/structflash__region.html | 134 - doc/html/structsave__blob-members.html | 117 - doc/html/structsave__blob.html | 137 - doc/html/structsave__manager-members.html | 114 - doc/html/structsave__manager.html | 129 - doc/html/structsector__hdr-members.html | 113 - doc/html/structsector__hdr.html | 127 - doc/html/structsector__metadata-members.html | 113 - doc/html/structsector__metadata.html | 128 - doc/html/sys_8h.html | 1093 ------- doc/html/sys_8h_source.html | 228 -- doc/html/tab__cnv_8h_source.html | 130 - doc/html/tab__vol_8h_source.html | 117 - doc/html/tab_a.png | Bin 140 -> 0 bytes doc/html/tab_b.png | Bin 178 -> 0 bytes doc/html/tab_h.png | Bin 192 -> 0 bytes doc/html/tab_s.png | Bin 189 -> 0 bytes doc/html/tabs.css | 59 - doc/html/task_8h.html | 229 -- doc/html/task_8h_source.html | 131 - doc/html/task__cst_8h.html | 136 - doc/html/task__cst_8h_source.html | 123 - doc/html/timer_8h.html | 402 --- doc/html/timer_8h_source.html | 142 - doc/html/todo.html | 109 - doc/html/tools_8h.html | 1206 ------- doc/html/tools_8h_source.html | 216 -- doc/html/types_8h.html | 840 ----- doc/html/types_8h_source.html | 271 -- doc/html/union_interrupt_caller-members.html | 113 - doc/html/union_interrupt_caller.html | 128 - doc/html/vdp_8h.html | 2024 ------------ doc/html/vdp_8h_source.html | 421 --- doc/html/vdp__bg_8h.html | 1921 ----------- doc/html/vdp__bg_8h_source.html | 171 - doc/html/vdp__spr_8h.html | 1144 ------- doc/html/vdp__spr_8h_source.html | 198 -- doc/html/vdp__tile_8h.html | 2896 ----------------- doc/html/vdp__tile_8h_source.html | 200 -- doc/html/vram_8h.html | 493 --- doc/html/vram_8h_source.html | 138 - doc/html/xgm2_8h.html | 1057 ------ doc/html/xgm2_8h_source.html | 165 - doc/html/xgm_8h.html | 1254 ------- doc/html/xgm_8h_source.html | 198 -- doc/html/ym2612_8h.html | 341 -- doc/html/ym2612_8h_source.html | 133 - doc/html/z80__ctrl_8h.html | 848 ----- doc/html/z80__ctrl_8h_source.html | 219 -- 494 files changed, 809 insertions(+), 103457 deletions(-) create mode 100644 .github/workflows/doxygen.yml rename doc/{doxyfile.unix => doxyconfig} (70%) delete mode 100644 doc/doxyfile delete mode 100644 doc/html/16c550_8h_source.html delete mode 100644 doc/html/annotated.html delete mode 100644 doc/html/asm_8h.html delete mode 100644 doc/html/asm_8h_source.html delete mode 100644 doc/html/bc_s.png delete mode 100644 doc/html/bmp_8h.html delete mode 100644 doc/html/bmp_8h_source.html delete mode 100644 doc/html/classes.html delete mode 100644 doc/html/closed.png delete mode 100644 doc/html/config_8h.html delete mode 100644 doc/html/config_8h_source.html delete mode 100644 doc/html/console_8c.html delete mode 100644 doc/html/console_8h.html delete mode 100644 doc/html/console_8h_source.html delete mode 100644 doc/html/deprecated.html delete mode 100644 doc/html/dma_8h.html delete mode 100644 doc/html/dma_8h_source.html delete mode 100644 doc/html/doxygen.css delete mode 100644 doc/html/doxygen.png delete mode 100644 doc/html/everdrive_8h.html delete mode 100644 doc/html/everdrive_8h_source.html delete mode 100644 doc/html/fat16_8h.html delete mode 100644 doc/html/fat16_8h_source.html delete mode 100644 doc/html/files.html delete mode 100644 doc/html/flash_8h.html delete mode 100644 doc/html/flash_8h_source.html delete mode 100644 doc/html/font_8h.html delete mode 100644 doc/html/font_8h_source.html delete mode 100644 doc/html/ftv2blank.png delete mode 100644 doc/html/ftv2doc.png delete mode 100644 doc/html/ftv2folderclosed.png delete mode 100644 doc/html/ftv2folderopen.png delete mode 100644 doc/html/ftv2lastnode.png delete mode 100644 doc/html/ftv2link.png delete mode 100644 doc/html/ftv2mlastnode.png delete mode 100644 doc/html/ftv2mnode.png delete mode 100644 doc/html/ftv2node.png delete mode 100644 doc/html/ftv2plastnode.png delete mode 100644 doc/html/ftv2pnode.png delete mode 100644 doc/html/ftv2splitbar.png delete mode 100644 doc/html/ftv2vertline.png delete mode 100644 doc/html/gamejolt_8h.html delete mode 100644 doc/html/gamejolt_8h_source.html delete mode 100644 doc/html/genesis_8h_source.html delete mode 100644 doc/html/globals.html delete mode 100644 doc/html/globals_0x61.html delete mode 100644 doc/html/globals_0x62.html delete mode 100644 doc/html/globals_0x63.html delete mode 100644 doc/html/globals_0x64.html delete mode 100644 doc/html/globals_0x65.html delete mode 100644 doc/html/globals_0x66.html delete mode 100644 doc/html/globals_0x67.html delete mode 100644 doc/html/globals_0x68.html delete mode 100644 doc/html/globals_0x69.html delete mode 100644 doc/html/globals_0x6a.html delete mode 100644 doc/html/globals_0x6b.html delete mode 100644 doc/html/globals_0x6c.html delete mode 100644 doc/html/globals_0x6d.html delete mode 100644 doc/html/globals_0x6e.html delete mode 100644 doc/html/globals_0x6f.html delete mode 100644 doc/html/globals_0x70.html delete mode 100644 doc/html/globals_0x71.html delete mode 100644 doc/html/globals_0x72.html delete mode 100644 doc/html/globals_0x73.html delete mode 100644 doc/html/globals_0x74.html delete mode 100644 doc/html/globals_0x75.html delete mode 100644 doc/html/globals_0x76.html delete mode 100644 doc/html/globals_0x77.html delete mode 100644 doc/html/globals_0x78.html delete mode 100644 doc/html/globals_0x79.html delete mode 100644 doc/html/globals_0x7a.html delete mode 100644 doc/html/globals_defs.html delete mode 100644 doc/html/globals_defs_0x62.html delete mode 100644 doc/html/globals_defs_0x63.html delete mode 100644 doc/html/globals_defs_0x64.html delete mode 100644 doc/html/globals_defs_0x65.html delete mode 100644 doc/html/globals_defs_0x66.html delete mode 100644 doc/html/globals_defs_0x67.html delete mode 100644 doc/html/globals_defs_0x68.html delete mode 100644 doc/html/globals_defs_0x69.html delete mode 100644 doc/html/globals_defs_0x6c.html delete mode 100644 doc/html/globals_defs_0x6d.html delete mode 100644 doc/html/globals_defs_0x6e.html delete mode 100644 doc/html/globals_defs_0x6f.html delete mode 100644 doc/html/globals_defs_0x70.html delete mode 100644 doc/html/globals_defs_0x72.html delete mode 100644 doc/html/globals_defs_0x73.html delete mode 100644 doc/html/globals_defs_0x74.html delete mode 100644 doc/html/globals_defs_0x75.html delete mode 100644 doc/html/globals_defs_0x76.html delete mode 100644 doc/html/globals_defs_0x78.html delete mode 100644 doc/html/globals_defs_0x79.html delete mode 100644 doc/html/globals_defs_0x7a.html delete mode 100644 doc/html/globals_enum.html delete mode 100644 doc/html/globals_eval.html delete mode 100644 doc/html/globals_func.html delete mode 100644 doc/html/globals_func_0x62.html delete mode 100644 doc/html/globals_func_0x63.html delete mode 100644 doc/html/globals_func_0x64.html delete mode 100644 doc/html/globals_func_0x66.html delete mode 100644 doc/html/globals_func_0x67.html delete mode 100644 doc/html/globals_func_0x69.html delete mode 100644 doc/html/globals_func_0x6a.html delete mode 100644 doc/html/globals_func_0x6b.html delete mode 100644 doc/html/globals_func_0x6c.html delete mode 100644 doc/html/globals_func_0x6d.html delete mode 100644 doc/html/globals_func_0x6f.html delete mode 100644 doc/html/globals_func_0x70.html delete mode 100644 doc/html/globals_func_0x71.html delete mode 100644 doc/html/globals_func_0x72.html delete mode 100644 doc/html/globals_func_0x73.html delete mode 100644 doc/html/globals_func_0x74.html delete mode 100644 doc/html/globals_func_0x75.html delete mode 100644 doc/html/globals_func_0x76.html delete mode 100644 doc/html/globals_func_0x77.html delete mode 100644 doc/html/globals_func_0x78.html delete mode 100644 doc/html/globals_func_0x79.html delete mode 100644 doc/html/globals_func_0x7a.html delete mode 100644 doc/html/globals_type.html delete mode 100644 doc/html/globals_vars.html delete mode 100644 doc/html/group___c550.html delete mode 100644 doc/html/group__gamejolt.html delete mode 100644 doc/html/group__json.html delete mode 100644 doc/html/group__lsd.html delete mode 100644 doc/html/group__megawifi.html delete mode 100644 doc/html/group__mw-msg.html delete mode 100644 doc/html/index.html delete mode 100644 doc/html/installdox delete mode 100644 doc/html/joy_8h.html delete mode 100644 doc/html/joy_8h_source.html delete mode 100644 doc/html/jquery.js delete mode 100644 doc/html/jsmn_8h_source.html delete mode 100644 doc/html/json_8h.html delete mode 100644 doc/html/json_8h_source.html delete mode 100644 doc/html/kdebug_8h.html delete mode 100644 doc/html/kdebug_8h_source.html delete mode 100644 doc/html/libres_8h_source.html delete mode 100644 doc/html/lsd_8h_source.html delete mode 100644 doc/html/map_8h.html delete mode 100644 doc/html/map_8h_source.html delete mode 100644 doc/html/mapper_8h.html delete mode 100644 doc/html/mapper_8h_source.html delete mode 100644 doc/html/maths3_d_8h.html delete mode 100644 doc/html/maths3_d_8h_source.html delete mode 100644 doc/html/maths_8h.html delete mode 100644 doc/html/maths_8h_source.html delete mode 100644 doc/html/megawifi_8h.html delete mode 100644 doc/html/megawifi_8h_source.html delete mode 100644 doc/html/memory_8h.html delete mode 100644 doc/html/memory_8h_source.html delete mode 100644 doc/html/memory__base_8h.html delete mode 100644 doc/html/memory__base_8h_source.html delete mode 100644 doc/html/minimus_8h_source.html delete mode 100644 doc/html/modules.html delete mode 100644 doc/html/mw-msg_8h.html delete mode 100644 doc/html/mw-msg_8h_source.html delete mode 100644 doc/html/nav_f.png delete mode 100644 doc/html/nav_h.png delete mode 100644 doc/html/navtree.css delete mode 100644 doc/html/navtree.js delete mode 100644 doc/html/object_8h.html delete mode 100644 doc/html/object_8h_source.html delete mode 100644 doc/html/open.png delete mode 100644 doc/html/pages.html delete mode 100644 doc/html/pal_8h.html delete mode 100644 doc/html/pal_8h_source.html delete mode 100644 doc/html/pool_8h.html delete mode 100644 doc/html/pool_8h_source.html delete mode 100644 doc/html/psg_8h.html delete mode 100644 doc/html/psg_8h_source.html delete mode 100644 doc/html/resize.js delete mode 100644 doc/html/saveman_8h.html delete mode 100644 doc/html/saveman_8h_source.html delete mode 100644 doc/html/search/all_5f.html delete mode 100644 doc/html/search/all_61.html delete mode 100644 doc/html/search/all_62.html delete mode 100644 doc/html/search/all_63.html delete mode 100644 doc/html/search/all_64.html delete mode 100644 doc/html/search/all_65.html delete mode 100644 doc/html/search/all_66.html delete mode 100644 doc/html/search/all_67.html delete mode 100644 doc/html/search/all_68.html delete mode 100644 doc/html/search/all_69.html delete mode 100644 doc/html/search/all_6a.html delete mode 100644 doc/html/search/all_6b.html delete mode 100644 doc/html/search/all_6c.html delete mode 100644 doc/html/search/all_6d.html delete mode 100644 doc/html/search/all_6e.html delete mode 100644 doc/html/search/all_6f.html delete mode 100644 doc/html/search/all_70.html delete mode 100644 doc/html/search/all_71.html delete mode 100644 doc/html/search/all_72.html delete mode 100644 doc/html/search/all_73.html delete mode 100644 doc/html/search/all_74.html delete mode 100644 doc/html/search/all_75.html delete mode 100644 doc/html/search/all_76.html delete mode 100644 doc/html/search/all_77.html delete mode 100644 doc/html/search/all_78.html delete mode 100644 doc/html/search/all_79.html delete mode 100644 doc/html/search/all_7a.html delete mode 100644 doc/html/search/classes_5f.html delete mode 100644 doc/html/search/classes_61.html delete mode 100644 doc/html/search/classes_62.html delete mode 100644 doc/html/search/classes_63.html delete mode 100644 doc/html/search/classes_64.html delete mode 100644 doc/html/search/classes_66.html delete mode 100644 doc/html/search/classes_69.html delete mode 100644 doc/html/search/classes_6c.html delete mode 100644 doc/html/search/classes_6d.html delete mode 100644 doc/html/search/classes_6f.html delete mode 100644 doc/html/search/classes_70.html delete mode 100644 doc/html/search/classes_72.html delete mode 100644 doc/html/search/classes_73.html delete mode 100644 doc/html/search/classes_74.html delete mode 100644 doc/html/search/classes_76.html delete mode 100644 doc/html/search/close.png delete mode 100644 doc/html/search/defines_61.html delete mode 100644 doc/html/search/defines_62.html delete mode 100644 doc/html/search/defines_63.html delete mode 100644 doc/html/search/defines_64.html delete mode 100644 doc/html/search/defines_65.html delete mode 100644 doc/html/search/defines_66.html delete mode 100644 doc/html/search/defines_67.html delete mode 100644 doc/html/search/defines_68.html delete mode 100644 doc/html/search/defines_69.html delete mode 100644 doc/html/search/defines_6c.html delete mode 100644 doc/html/search/defines_6d.html delete mode 100644 doc/html/search/defines_6e.html delete mode 100644 doc/html/search/defines_6f.html delete mode 100644 doc/html/search/defines_70.html delete mode 100644 doc/html/search/defines_72.html delete mode 100644 doc/html/search/defines_73.html delete mode 100644 doc/html/search/defines_74.html delete mode 100644 doc/html/search/defines_75.html delete mode 100644 doc/html/search/defines_76.html delete mode 100644 doc/html/search/defines_78.html delete mode 100644 doc/html/search/defines_79.html delete mode 100644 doc/html/search/defines_7a.html delete mode 100644 doc/html/search/enums_73.html delete mode 100644 doc/html/search/enums_74.html delete mode 100644 doc/html/search/enums_76.html delete mode 100644 doc/html/search/enumvalues_61.html delete mode 100644 doc/html/search/enumvalues_63.html delete mode 100644 doc/html/search/enumvalues_64.html delete mode 100644 doc/html/search/enumvalues_68.html delete mode 100644 doc/html/search/enumvalues_6f.html delete mode 100644 doc/html/search/enumvalues_73.html delete mode 100644 doc/html/search/enumvalues_76.html delete mode 100644 doc/html/search/files_61.html delete mode 100644 doc/html/search/files_62.html delete mode 100644 doc/html/search/files_63.html delete mode 100644 doc/html/search/files_64.html delete mode 100644 doc/html/search/files_65.html delete mode 100644 doc/html/search/files_66.html delete mode 100644 doc/html/search/files_67.html delete mode 100644 doc/html/search/files_6a.html delete mode 100644 doc/html/search/files_6b.html delete mode 100644 doc/html/search/files_6d.html delete mode 100644 doc/html/search/files_6f.html delete mode 100644 doc/html/search/files_70.html delete mode 100644 doc/html/search/files_73.html delete mode 100644 doc/html/search/files_74.html delete mode 100644 doc/html/search/files_76.html delete mode 100644 doc/html/search/files_78.html delete mode 100644 doc/html/search/files_79.html delete mode 100644 doc/html/search/files_7a.html delete mode 100644 doc/html/search/functions_61.html delete mode 100644 doc/html/search/functions_62.html delete mode 100644 doc/html/search/functions_63.html delete mode 100644 doc/html/search/functions_64.html delete mode 100644 doc/html/search/functions_66.html delete mode 100644 doc/html/search/functions_67.html delete mode 100644 doc/html/search/functions_69.html delete mode 100644 doc/html/search/functions_6a.html delete mode 100644 doc/html/search/functions_6b.html delete mode 100644 doc/html/search/functions_6c.html delete mode 100644 doc/html/search/functions_6d.html delete mode 100644 doc/html/search/functions_6f.html delete mode 100644 doc/html/search/functions_70.html delete mode 100644 doc/html/search/functions_71.html delete mode 100644 doc/html/search/functions_72.html delete mode 100644 doc/html/search/functions_73.html delete mode 100644 doc/html/search/functions_74.html delete mode 100644 doc/html/search/functions_75.html delete mode 100644 doc/html/search/functions_76.html delete mode 100644 doc/html/search/functions_77.html delete mode 100644 doc/html/search/functions_78.html delete mode 100644 doc/html/search/functions_79.html delete mode 100644 doc/html/search/functions_7a.html delete mode 100644 doc/html/search/mag_sel.png delete mode 100644 doc/html/search/nomatches.html delete mode 100644 doc/html/search/search.css delete mode 100644 doc/html/search/search.js delete mode 100644 doc/html/search/search_l.png delete mode 100644 doc/html/search/search_m.png delete mode 100644 doc/html/search/search_r.png delete mode 100644 doc/html/search/typedefs_5f.html delete mode 100644 doc/html/search/typedefs_62.html delete mode 100644 doc/html/search/typedefs_66.html delete mode 100644 doc/html/search/typedefs_6a.html delete mode 100644 doc/html/search/typedefs_6d.html delete mode 100644 doc/html/search/typedefs_6f.html delete mode 100644 doc/html/search/typedefs_70.html delete mode 100644 doc/html/search/typedefs_72.html delete mode 100644 doc/html/search/typedefs_73.html delete mode 100644 doc/html/search/typedefs_74.html delete mode 100644 doc/html/search/typedefs_75.html delete mode 100644 doc/html/search/typedefs_76.html delete mode 100644 doc/html/search/variables_61.html delete mode 100644 doc/html/search/variables_62.html delete mode 100644 doc/html/search/variables_63.html delete mode 100644 doc/html/search/variables_64.html delete mode 100644 doc/html/search/variables_65.html delete mode 100644 doc/html/search/variables_66.html delete mode 100644 doc/html/search/variables_68.html delete mode 100644 doc/html/search/variables_69.html delete mode 100644 doc/html/search/variables_6c.html delete mode 100644 doc/html/search/variables_70.html delete mode 100644 doc/html/search/variables_73.html delete mode 100644 doc/html/search/variables_74.html delete mode 100644 doc/html/search/variables_76.html delete mode 100644 doc/html/search/variables_77.html delete mode 100644 doc/html/search/variables_7a.html delete mode 100644 doc/html/smp__null_8h_source.html delete mode 100644 doc/html/smp__null__dpcm_8h_source.html delete mode 100644 doc/html/snd__dpcm2_8h.html delete mode 100644 doc/html/snd__dpcm2_8h_source.html delete mode 100644 doc/html/snd__pcm4_8h.html delete mode 100644 doc/html/snd__pcm4_8h_source.html delete mode 100644 doc/html/snd__pcm_8h.html delete mode 100644 doc/html/snd__pcm_8h_source.html delete mode 100644 doc/html/sound_8h.html delete mode 100644 doc/html/sound_8h_source.html delete mode 100644 doc/html/sprite__eng_8h.html delete mode 100644 doc/html/sprite__eng_8h_source.html delete mode 100644 doc/html/sprite__eng__legacy_8h.html delete mode 100644 doc/html/sprite__eng__legacy_8h_source.html delete mode 100644 doc/html/sram_8h.html delete mode 100644 doc/html/sram_8h_source.html delete mode 100644 doc/html/stb__sprintf_8h_source.html delete mode 100644 doc/html/string_8h.html delete mode 100644 doc/html/string_8h_source.html delete mode 100644 doc/html/struct__collision-members.html delete mode 100644 doc/html/struct__collision.html delete mode 100644 doc/html/struct_animation-members.html delete mode 100644 doc/html/struct_animation.html delete mode 100644 doc/html/struct_animation_frame-members.html delete mode 100644 doc/html/struct_animation_frame.html delete mode 100644 doc/html/struct_bitmap-members.html delete mode 100644 doc/html/struct_bitmap.html delete mode 100644 doc/html/struct_box-members.html delete mode 100644 doc/html/struct_box.html delete mode 100644 doc/html/struct_box_collision-members.html delete mode 100644 doc/html/struct_box_collision.html delete mode 100644 doc/html/struct_circle-members.html delete mode 100644 doc/html/struct_circle.html delete mode 100644 doc/html/struct_circle_collision-members.html delete mode 100644 doc/html/struct_circle_collision.html delete mode 100644 doc/html/struct_collision.html delete mode 100644 doc/html/struct_context3_d-members.html delete mode 100644 doc/html/struct_context3_d.html delete mode 100644 doc/html/struct_d_m_a_op_info-members.html delete mode 100644 doc/html/struct_d_m_a_op_info.html delete mode 100644 doc/html/struct_frame_v_d_p_sprite-members.html delete mode 100644 doc/html/struct_frame_v_d_p_sprite.html delete mode 100644 doc/html/struct_image-members.html delete mode 100644 doc/html/struct_image.html delete mode 100644 doc/html/struct_line-members.html delete mode 100644 doc/html/struct_line.html delete mode 100644 doc/html/struct_map-members.html delete mode 100644 doc/html/struct_map.html delete mode 100644 doc/html/struct_map_definition-members.html delete mode 100644 doc/html/struct_map_definition.html delete mode 100644 doc/html/struct_mat2_d__f16-members.html delete mode 100644 doc/html/struct_mat2_d__f16.html delete mode 100644 doc/html/struct_mat2_d__f32-members.html delete mode 100644 doc/html/struct_mat2_d__f32.html delete mode 100644 doc/html/struct_mat3_d__f16-members.html delete mode 100644 doc/html/struct_mat3_d__f16.html delete mode 100644 doc/html/struct_mat3_d__f32-members.html delete mode 100644 doc/html/struct_mat3_d__f32.html delete mode 100644 doc/html/struct_mat4_d__f16-members.html delete mode 100644 doc/html/struct_mat4_d__f16.html delete mode 100644 doc/html/struct_mat4_d__f32-members.html delete mode 100644 doc/html/struct_mat4_d__f32.html delete mode 100644 doc/html/struct_object__-members.html delete mode 100644 doc/html/struct_object__.html delete mode 100644 doc/html/struct_palette-members.html delete mode 100644 doc/html/struct_palette.html delete mode 100644 doc/html/struct_pixel-members.html delete mode 100644 doc/html/struct_pixel.html delete mode 100644 doc/html/struct_pool-members.html delete mode 100644 doc/html/struct_pool.html delete mode 100644 doc/html/struct_r_o_m_header-members.html delete mode 100644 doc/html/struct_r_o_m_header.html delete mode 100644 doc/html/struct_sprite-members.html delete mode 100644 doc/html/struct_sprite.html delete mode 100644 doc/html/struct_sprite_definition-members.html delete mode 100644 doc/html/struct_sprite_definition.html delete mode 100644 doc/html/struct_tile_map-members.html delete mode 100644 doc/html/struct_tile_map.html delete mode 100644 doc/html/struct_tile_set-members.html delete mode 100644 doc/html/struct_tile_set.html delete mode 100644 doc/html/struct_transformation3_d-members.html delete mode 100644 doc/html/struct_transformation3_d.html delete mode 100644 doc/html/struct_triangle-members.html delete mode 100644 doc/html/struct_triangle.html delete mode 100644 doc/html/struct_v_d_p_sprite-members.html delete mode 100644 doc/html/struct_v_d_p_sprite.html delete mode 100644 doc/html/struct_v_r_a_m_region-members.html delete mode 100644 doc/html/struct_v_r_a_m_region.html delete mode 100644 doc/html/struct_vect2_d__f16-members.html delete mode 100644 doc/html/struct_vect2_d__f16.html delete mode 100644 doc/html/struct_vect2_d__f32-members.html delete mode 100644 doc/html/struct_vect2_d__f32.html delete mode 100644 doc/html/struct_vect2_d__s16-members.html delete mode 100644 doc/html/struct_vect2_d__s16.html delete mode 100644 doc/html/struct_vect2_d__s32-members.html delete mode 100644 doc/html/struct_vect2_d__s32.html delete mode 100644 doc/html/struct_vect2_d__u16-members.html delete mode 100644 doc/html/struct_vect2_d__u16.html delete mode 100644 doc/html/struct_vect2_d__u32-members.html delete mode 100644 doc/html/struct_vect2_d__u32.html delete mode 100644 doc/html/struct_vect3_d__f16-members.html delete mode 100644 doc/html/struct_vect3_d__f16.html delete mode 100644 doc/html/struct_vect3_d__f32-members.html delete mode 100644 doc/html/struct_vect3_d__f32.html delete mode 100644 doc/html/struct_vect3_d__s16-members.html delete mode 100644 doc/html/struct_vect3_d__s16.html delete mode 100644 doc/html/struct_vect3_d__s32-members.html delete mode 100644 doc/html/struct_vect3_d__s32.html delete mode 100644 doc/html/struct_vect3_d__u16-members.html delete mode 100644 doc/html/struct_vect3_d__u16.html delete mode 100644 doc/html/struct_vect3_d__u32-members.html delete mode 100644 doc/html/struct_vect3_d__u32.html delete mode 100644 doc/html/struct_vect4_d__f16-members.html delete mode 100644 doc/html/struct_vect4_d__f16.html delete mode 100644 doc/html/struct_vect4_d__f32-members.html delete mode 100644 doc/html/struct_vect4_d__f32.html delete mode 100644 doc/html/structflash__chip-members.html delete mode 100644 doc/html/structflash__chip.html delete mode 100644 doc/html/structflash__region-members.html delete mode 100644 doc/html/structflash__region.html delete mode 100644 doc/html/structsave__blob-members.html delete mode 100644 doc/html/structsave__blob.html delete mode 100644 doc/html/structsave__manager-members.html delete mode 100644 doc/html/structsave__manager.html delete mode 100644 doc/html/structsector__hdr-members.html delete mode 100644 doc/html/structsector__hdr.html delete mode 100644 doc/html/structsector__metadata-members.html delete mode 100644 doc/html/structsector__metadata.html delete mode 100644 doc/html/sys_8h.html delete mode 100644 doc/html/sys_8h_source.html delete mode 100644 doc/html/tab__cnv_8h_source.html delete mode 100644 doc/html/tab__vol_8h_source.html delete mode 100644 doc/html/tab_a.png delete mode 100644 doc/html/tab_b.png delete mode 100644 doc/html/tab_h.png delete mode 100644 doc/html/tab_s.png delete mode 100644 doc/html/tabs.css delete mode 100644 doc/html/task_8h.html delete mode 100644 doc/html/task_8h_source.html delete mode 100644 doc/html/task__cst_8h.html delete mode 100644 doc/html/task__cst_8h_source.html delete mode 100644 doc/html/timer_8h.html delete mode 100644 doc/html/timer_8h_source.html delete mode 100644 doc/html/todo.html delete mode 100644 doc/html/tools_8h.html delete mode 100644 doc/html/tools_8h_source.html delete mode 100644 doc/html/types_8h.html delete mode 100644 doc/html/types_8h_source.html delete mode 100644 doc/html/union_interrupt_caller-members.html delete mode 100644 doc/html/union_interrupt_caller.html delete mode 100644 doc/html/vdp_8h.html delete mode 100644 doc/html/vdp_8h_source.html delete mode 100644 doc/html/vdp__bg_8h.html delete mode 100644 doc/html/vdp__bg_8h_source.html delete mode 100644 doc/html/vdp__spr_8h.html delete mode 100644 doc/html/vdp__spr_8h_source.html delete mode 100644 doc/html/vdp__tile_8h.html delete mode 100644 doc/html/vdp__tile_8h_source.html delete mode 100644 doc/html/vram_8h.html delete mode 100644 doc/html/vram_8h_source.html delete mode 100644 doc/html/xgm2_8h.html delete mode 100644 doc/html/xgm2_8h_source.html delete mode 100644 doc/html/xgm_8h.html delete mode 100644 doc/html/xgm_8h_source.html delete mode 100644 doc/html/ym2612_8h.html delete mode 100644 doc/html/ym2612_8h_source.html delete mode 100644 doc/html/z80__ctrl_8h.html delete mode 100644 doc/html/z80__ctrl_8h_source.html diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml new file mode 100644 index 000000000..4d587f946 --- /dev/null +++ b/.github/workflows/doxygen.yml @@ -0,0 +1,74 @@ +name: publish-doxygen + +on: + workflow_dispatch: # Allows manual trigger of the workflow + push: + branches: + - 'master' # Trigger on push to the 'master' branch + - 'latest' # Trigger on push to the 'latest' branch + schedule: + - cron: '0 0 * * *' # Runs daily at midnight UTC + +env: + # Used to find the download link: + # https://www.doxygen.nl/files/doxygen-X.XX.X.linux.bin.tar.gz + # Version # updated on: 2024.01.06 + DOXYGEN_VERSION: 1.13.1 + +jobs: + cleanup: + runs-on: ubuntu-latest + permissions: write-all + + steps: + # Step to cleanup previous deployments to prevent stacking of old deployments + - name: 🗑 Cleanup deployments + uses: strumwolf/delete-deployment-environment@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + environment: github-pages + onlyRemoveDeployments: true + + build: + runs-on: ubuntu-latest + steps: + # Step to checkout the SGDK repository + - name: Checkout repository + uses: actions/checkout@v3 + with: + path: SGDK + + # Step to install Graphviz for generating code flow charts with Doxygen + - name: Install Graphviz + run: sudo apt-get install graphviz -y + + # Step to download and install Doxygen + - name: Download and Install Doxygen + run: | + wget https://www.doxygen.nl/files/doxygen-${{ env.DOXYGEN_VERSION }}.linux.bin.tar.gz -O - | tar -xz + mv doxygen* ~/doxygen + + # Step to generate Doxygen HTML documentation + - name: Generate Doxygen files + run: ~/doxygen/bin/doxygen ./SGDK/doc/doxyconfig + + # Step to upload the generated files as an artifact + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: /tmp/doxygen/html + + deploy: + needs: build # Ensures that the deploy job runs after the build job completes + permissions: + pages: write # Grant permission to write to GitHub Pages + id-token: write # Grant permission for id-token usage + environment: + name: github-pages # The environment name for deployment + url: ${{ steps.deployment.outputs.page_url }} # URL of the deployed pages + runs-on: ubuntu-latest + steps: + # Step to deploy the generated Doxygen files to GitHub Pages + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/doc/doxyfile.unix b/doc/doxyconfig similarity index 70% rename from doc/doxyfile.unix rename to doc/doxyconfig index cf2f39a33..11e756873 100644 --- a/doc/doxyfile.unix +++ b/doc/doxyconfig @@ -1,7 +1,7 @@ -# Doxyfile 1.9.1 +# Doxyfile 1.13.1 # This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. +# Doxygen (www.doxygen.org) for a project. # # All text after a double hash (##) is considered a comment and is placed in # front of the TAG it is preceding. @@ -12,6 +12,16 @@ # For lists, items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (\" \"). +# +# Note: +# +# Use Doxygen to compare the used configuration file with the template +# configuration file: +# doxygen -x [configFile] +# Use Doxygen to compare the used configuration file with the template +# configuration file without replacing the environment variables or CMake type +# replacement variables: +# doxygen -x_noenv [configFile] #--------------------------------------------------------------------------- # Project related configuration options @@ -32,7 +42,7 @@ DOXYFILE_ENCODING = UTF-8 # title of most generated pages and in a few other places. # The default value is: My Project. -PROJECT_NAME = sgdk +PROJECT_NAME = SGDK # The PROJECT_NUMBER tag can be used to enter a project or revision number. This # could be handy for archiving the generated documentation or if some version @@ -41,10 +51,10 @@ PROJECT_NAME = sgdk PROJECT_NUMBER = # Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer a +# for a project that appears at the top of each page and should give viewers a # quick idea about the purpose of the project. Keep the description short. -PROJECT_BRIEF = +PROJECT_BRIEF = A free and open development kit for the Sega Mega Drive # With the PROJECT_LOGO tag one can specify a logo or an icon that is included # in the documentation. The maximum height of the logo should not exceed 55 @@ -53,24 +63,42 @@ PROJECT_BRIEF = PROJECT_LOGO = +# With the PROJECT_ICON tag one can specify an icon that is included in the tabs +# when the HTML document is shown. Doxygen will copy the logo to the output +# directory. + +PROJECT_ICON = + # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is -# entered, it will be relative to the location where doxygen was started. If +# entered, it will be relative to the location where Doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = +OUTPUT_DIRECTORY = /tmp/doxygen -# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- -# directories (in 2 levels) under the output directory of each output format and -# will distribute the generated files over these directories. Enabling this -# option can be useful when feeding doxygen a huge amount of source files, where -# putting all generated files in the same directory would otherwise causes -# performance problems for the file system. +# If the CREATE_SUBDIRS tag is set to YES then Doxygen will create up to 4096 +# sub-directories (in 2 levels) under the output directory of each output format +# and will distribute the generated files over these directories. Enabling this +# option can be useful when feeding Doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise cause +# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to +# control the number of sub-directories. # The default value is: NO. CREATE_SUBDIRS = NO -# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# Controls the number of sub-directories that will be created when +# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every +# level increment doubles the number of directories, resulting in 4096 +# directories at level 8 which is the default and also the maximum value. The +# sub-directories are organized in 2 levels, the first level always has a fixed +# number of 16 directories. +# Minimum value: 0, maximum value: 8, default value: 8. +# This tag requires that the tag CREATE_SUBDIRS is set to YES. + +CREATE_SUBDIRS_LEVEL = 8 + +# If the ALLOW_UNICODE_NAMES tag is set to YES, Doxygen will allow non-ASCII # characters to appear in the names of generated files. If set to NO, non-ASCII # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode # U+3044. @@ -79,36 +107,28 @@ CREATE_SUBDIRS = NO ALLOW_UNICODE_NAMES = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this +# documentation generated by Doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, -# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), -# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, -# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, -# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, -# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, -# Ukrainian and Vietnamese. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, +# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English +# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, +# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with +# English messages), Korean, Korean-en (Korean with English messages), Latvian, +# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, +# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, +# Swedish, Turkish, Ukrainian and Vietnamese. # The default value is: English. OUTPUT_LANGUAGE = English -# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all generated output in the proper direction. -# Possible values are: None, LTR, RTL and Context. -# The default value is: None. - -OUTPUT_TEXT_DIRECTION = None - -# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# If the BRIEF_MEMBER_DESC tag is set to YES, Doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. # The default value is: YES. BRIEF_MEMBER_DESC = YES -# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# If the REPEAT_BRIEF tag is set to YES, Doxygen will prepend the brief # description of a member or function before the detailed description # # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the @@ -129,13 +149,13 @@ REPEAT_BRIEF = YES ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# doxygen will generate a detailed section even if there is only a brief +# Doxygen will generate a detailed section even if there is only a brief # description. # The default value is: NO. ALWAYS_DETAILED_SEC = NO -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# If the INLINE_INHERITED_MEMB tag is set to YES, Doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. @@ -143,7 +163,7 @@ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO -# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# If the FULL_PATH_NAMES tag is set to YES, Doxygen will prepend the full path # before files name in the file list and in the header files. If set to NO the # shortest path that makes the file name unique will be used # The default value is: YES. @@ -153,11 +173,11 @@ FULL_PATH_NAMES = NO # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. # Stripping is only done if one of the specified strings matches the left-hand # part of the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the path to +# If left blank the directory from which Doxygen is run is used as the path to # strip. # # Note that you can specify absolute paths here, but also relative paths, which -# will be relative from the directory where doxygen is started. +# will be relative from the directory where Doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. STRIP_FROM_PATH = @@ -171,41 +191,42 @@ STRIP_FROM_PATH = STRIP_FROM_INC_PATH = -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but -# less readable) file names. This can be useful is your file systems doesn't +# If the SHORT_NAMES tag is set to YES, Doxygen will generate much shorter (but +# less readable) file names. This can be useful if your file system doesn't # support long names like on DOS, Mac, or CD-ROM. # The default value is: NO. SHORT_NAMES = NO -# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the -# first line (until the first dot) of a Javadoc-style comment as the brief -# description. If set to NO, the Javadoc-style will behave just like regular Qt- -# style comments (thus requiring an explicit @brief command for a brief -# description.) +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen will interpret the +# first line (until the first dot, question mark or exclamation mark) of a +# Javadoc-style comment as the brief description. If set to NO, the Javadoc- +# style will behave just like regular Qt-style comments (thus requiring an +# explicit @brief command for a brief description.) # The default value is: NO. JAVADOC_AUTOBRIEF = NO -# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line +# If the JAVADOC_BANNER tag is set to YES then Doxygen will interpret a line # such as # /*************** # as being the beginning of a Javadoc-style comment "banner". If set to NO, the # Javadoc-style will behave just like regular comments and it will not be -# interpreted by doxygen. +# interpreted by Doxygen. # The default value is: NO. JAVADOC_BANNER = NO -# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first -# line (until the first dot) of a Qt-style comment as the brief description. If -# set to NO, the Qt-style will behave just like regular Qt-style comments (thus -# requiring an explicit \brief command for a brief description.) +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will interpret the first +# line (until the first dot, question mark or exclamation mark) of a Qt-style +# comment as the brief description. If set to NO, the Qt-style will behave just +# like regular Qt-style comments (thus requiring an explicit \brief command for +# a brief description.) # The default value is: NO. QT_AUTOBRIEF = NO -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen treat a # multi-line C++ special comment block (i.e. a block of //! or /// comments) as # a brief description. This used to be the default behavior. The new default is # to treat a multi-line C++ comment block as a detailed description. Set this @@ -217,13 +238,13 @@ QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO -# By default Python docstrings are displayed as preformatted text and doxygen's +# By default Python docstrings are displayed as preformatted text and Doxygen's # special commands cannot be used. By setting PYTHON_DOCSTRING to NO the -# doxygen's special commands can be used and the contents of the docstring -# documentation blocks is shown as doxygen documentation. +# Doxygen's special commands can be used and the contents of the docstring +# documentation blocks is shown as Doxygen documentation. # The default value is: YES. -PYTHON_DOCSTRING = YES +PYTHON_DOCSTRING = NO # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. @@ -231,7 +252,7 @@ PYTHON_DOCSTRING = YES INHERIT_DOCS = YES -# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# If the SEPARATE_MEMBER_PAGES tag is set to YES then Doxygen will produce a new # page for each member. If set to NO, the documentation of a member will be part # of the file/class/namespace that contains it. # The default value is: NO. @@ -248,16 +269,16 @@ TAB_SIZE = 8 # the documentation. An alias has the form: # name=value # For example adding -# "sideeffect=@par Side Effects:\n" +# "sideeffect=@par Side Effects:^^" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines (in the resulting output). You can put ^^ in the value part of an -# alias to insert a newline as if a physical newline was in the original file. -# When you need a literal { or } or , in the value part of an alias you have to -# escape them by means of a backslash (\), this can lead to conflicts with the -# commands \{ and \} for these it is advised to use the version @{ and @} or use -# a double escape (\\{ and \\}) +# "Side Effects:". Note that you cannot put \n's in the value part of an alias +# to insert newlines (in the resulting output). You can put ^^ in the value part +# of an alias to insert a newline as if a physical newline was in the original +# file. When you need a literal { or } or , in the value part of an alias you +# have to escape them by means of a backslash (\), this can lead to conflicts +# with the commands \{ and \} for these it is advised to use the version @{ and +# @} or use a double escape (\\{ and \\}) ALIASES = @@ -301,30 +322,30 @@ OPTIMIZE_OUTPUT_SLICE = NO # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, -# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, VHDL, -# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +# language is one of the parsers supported by Doxygen: IDL, Java, JavaScript, +# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, +# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: # FortranFree, unknown formatted Fortran: Fortran. In the later case the parser # tries to guess whether the code is fixed or free formatted code, this is the -# default for Fortran type files). For instance to make doxygen treat .inc files +# default for Fortran type files). For instance to make Doxygen treat .inc files # as Fortran files (default is PHP), and .f files as C (default is Fortran), # use: inc=Fortran f=C. # # Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. When specifying no_extension you should add +# the files are not read by Doxygen. When specifying no_extension you should add # * to the FILE_PATTERNS. # # Note see also the list of default file extension mappings. -EXTENSION_MAPPING = +EXTENSION_MAPPING =txt=md -# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# If the MARKDOWN_SUPPORT tag is enabled then Doxygen pre-processes all comments # according to the Markdown format, which allows for more readable # documentation. See https://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you can -# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# The output of markdown processing is further processed by Doxygen, so you can +# mix Doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. # The default value is: YES. @@ -334,25 +355,45 @@ MARKDOWN_SUPPORT = YES # to that level are automatically included in the table of contents, even if # they do not have an id attribute. # Note: This feature currently applies only to Markdown headings. -# Minimum value: 0, maximum value: 99, default value: 5. +# Minimum value: 0, maximum value: 99, default value: 6. # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. TOC_INCLUDE_HEADINGS = 5 -# When enabled doxygen tries to link words that correspond to documented +# The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to +# generate identifiers for the Markdown headings. Note: Every identifier is +# unique. +# Possible values are: DOXYGEN use a fixed 'autotoc_md' string followed by a +# sequence number starting at 0 and GITHUB use the lower case version of title +# with any whitespace replaced by '-' and punctuation characters removed. +# The default value is: DOXYGEN. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +MARKDOWN_ID_STYLE = DOXYGEN + +# When enabled Doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can # be prevented in individual cases by putting a % sign in front of the word or -# globally by setting AUTOLINK_SUPPORT to NO. +# globally by setting AUTOLINK_SUPPORT to NO. Words listed in the +# AUTOLINK_IGNORE_WORDS tag are excluded from automatic linking. # The default value is: YES. AUTOLINK_SUPPORT = YES +# This tag specifies a list of words that, when matching the start of a word in +# the documentation, will suppress auto links generation, if it is enabled via +# AUTOLINK_SUPPORT. This list does not affect affect links explicitly created +# using \# or the \link or commands. +# This tag requires that the tag AUTOLINK_SUPPORT is set to YES. + +AUTOLINK_IGNORE_WORDS = + # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should set this -# tag to YES in order to let doxygen match functions declarations and +# tag to YES in order to let Doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); -# versus func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. +# versus func(std::string) {}). This also makes the inheritance and +# collaboration diagrams that involve STL classes more complete and accurate. # The default value is: NO. BUILTIN_STL_SUPPORT = NO @@ -364,16 +405,16 @@ BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen -# will parse them like normal C++ but will assume all classes use public instead -# of private inheritance when no explicit protection keyword is present. +# https://www.riverbankcomputing.com/software) sources only. Doxygen will parse +# them like normal C++ but will assume all classes use public instead of private +# inheritance when no explicit protection keyword is present. # The default value is: NO. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate # getter and setter methods for a property. Setting this option to YES will make -# doxygen to replace the get and set methods by a property in the documentation. +# Doxygen to replace the get and set methods by a property in the documentation. # This will only work if the methods are indeed getting or setting a simple # type. If this is not the case, or you want to show the methods anyway, you # should set this option to NO. @@ -382,7 +423,7 @@ SIP_SUPPORT = NO IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES then doxygen will reuse the documentation of the first +# tag is set to YES then Doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. # The default value is: NO. @@ -440,34 +481,42 @@ TYPEDEF_HIDES_STRUCT = NO # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This # cache is used to resolve symbols given their name and scope. Since this can be # an expensive process and often the same symbol appears multiple times in the -# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small -# doxygen will become slower. If the cache is too large, memory is wasted. The +# code, Doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# Doxygen will become slower. If the cache is too large, memory is wasted. The # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 -# symbols. At the end of a run doxygen will report the cache usage and suggest +# symbols. At the end of a run Doxygen will report the cache usage and suggest # the optimal cache size from a speed point of view. # Minimum value: 0, maximum value: 9, default value: 0. LOOKUP_CACHE_SIZE = 0 -# The NUM_PROC_THREADS specifies the number threads doxygen is allowed to use -# during processing. When set to 0 doxygen will based this on the number of +# The NUM_PROC_THREADS specifies the number of threads Doxygen is allowed to use +# during processing. When set to 0 Doxygen will based this on the number of # cores available in the system. You can set it explicitly to a value larger # than 0 to get more control over the balance between CPU load and processing # speed. At this moment only the input processing can be done using multiple # threads. Since this is still an experimental feature the default is set to 1, -# which efficively disables parallel processing. Please report any issues you +# which effectively disables parallel processing. Please report any issues you # encounter. Generating dot graphs in parallel is controlled by the # DOT_NUM_THREADS setting. # Minimum value: 0, maximum value: 32, default value: 1. NUM_PROC_THREADS = 1 +# If the TIMESTAMP tag is set different from NO then each generated page will +# contain the date or date and time when the page was generated. Setting this to +# NO can help when comparing the output of multiple runs. +# Possible values are: YES, NO, DATETIME and DATE. +# The default value is: NO. + +TIMESTAMP = NO + #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- -# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# If the EXTRACT_ALL tag is set to YES, Doxygen will assume all entities in # documentation are documented, even if no documentation was available. Private # class members and static file members will be hidden unless the # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. @@ -533,7 +582,7 @@ EXTRACT_ANON_NSPACES = NO RESOLVE_UNNAMED_PARAMS = YES -# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation # section is generated. This option has no effect if EXTRACT_ALL is enabled. @@ -541,22 +590,31 @@ RESOLVE_UNNAMED_PARAMS = YES HIDE_UNDOC_MEMBERS = NO -# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. If set # to NO, these classes will be included in the various overviews. This option -# has no effect if EXTRACT_ALL is enabled. +# will also hide undocumented C++ concepts if enabled. This option has no effect +# if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_CLASSES = NO -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# If the HIDE_UNDOC_NAMESPACES tag is set to YES, Doxygen will hide all +# undocumented namespaces that are normally visible in the namespace hierarchy. +# If set to NO, these namespaces will be included in the various overviews. This +# option has no effect if EXTRACT_ALL is enabled. +# The default value is: YES. + +HIDE_UNDOC_NAMESPACES = YES + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all friend # declarations. If set to NO, these declarations will be included in the # documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO -# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. If set to NO, these # blocks will be appended to the function's detailed documentation block. # The default value is: NO. @@ -570,37 +628,44 @@ HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO -# With the correct setting of option CASE_SENSE_NAMES doxygen will better be +# With the correct setting of option CASE_SENSE_NAMES Doxygen will better be # able to match the capabilities of the underlying filesystem. In case the # filesystem is case sensitive (i.e. it supports files in the same directory # whose names only differ in casing), the option must be set to YES to properly # deal with such files in case they appear in the input. For filesystems that -# are not case sensitive the option should be be set to NO to properly deal with +# are not case sensitive the option should be set to NO to properly deal with # output files written for symbols that only differ in casing, such as for two # classes, one named CLASS and the other named Class, and to also support # references to files without having to specify the exact matching casing. On -# Windows (including Cygwin) and MacOS, users should typically set this option +# Windows (including Cygwin) and macOS, users should typically set this option # to NO, whereas on Linux or other Unix flavors it should typically be set to # YES. -# The default value is: system dependent. +# Possible values are: SYSTEM, NO and YES. +# The default value is: SYSTEM. CASE_SENSE_NAMES = NO -# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# If the HIDE_SCOPE_NAMES tag is set to NO then Doxygen will show members with # their full class and namespace scopes in the documentation. If set to YES, the # scope will be hidden. # The default value is: NO. HIDE_SCOPE_NAMES = NO -# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then Doxygen will # append additional text to a page's title, such as Class Reference. If set to # YES the compound reference will be hidden. # The default value is: NO. HIDE_COMPOUND_REFERENCE= NO -# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class +# will show which file needs to be included to use the class. +# The default value is: YES. + +SHOW_HEADERFILE = YES + +# If the SHOW_INCLUDE_FILES tag is set to YES then Doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. @@ -613,7 +678,7 @@ SHOW_INCLUDE_FILES = YES SHOW_GROUPED_MEMB_INC = NO -# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen will list include # files with double quotes in the documentation rather than with sharp brackets. # The default value is: NO. @@ -625,14 +690,14 @@ FORCE_LOCAL_INCLUDES = NO INLINE_INFO = YES -# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# If the SORT_MEMBER_DOCS tag is set to YES then Doxygen will sort the # (detailed) documentation of file and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. # The default value is: YES. SORT_MEMBER_DOCS = YES -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# If the SORT_BRIEF_DOCS tag is set to YES then Doxygen will sort the brief # descriptions of file, namespace and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. Note that # this will also influence the order of the classes in the class list. @@ -640,7 +705,7 @@ SORT_MEMBER_DOCS = YES SORT_BRIEF_DOCS = NO -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then Doxygen will sort the # (brief and detailed) documentation of class members so that constructors and # destructors are listed first. If set to NO the constructors will appear in the # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. @@ -652,7 +717,7 @@ SORT_BRIEF_DOCS = NO SORT_MEMBERS_CTORS_1ST = NO -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# If the SORT_GROUP_NAMES tag is set to YES then Doxygen will sort the hierarchy # of group names into alphabetical order. If set to NO the group names will # appear in their defined order. # The default value is: NO. @@ -669,11 +734,11 @@ SORT_GROUP_NAMES = NO SORT_BY_SCOPE_NAME = NO -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# If the STRICT_PROTO_MATCHING option is enabled and Doxygen fails to do proper # type resolution of all parameters of a function it will reject a match between # the prototype and the implementation of a member function even if there is # only one candidate or it is obvious which candidate to choose by doing a -# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# simple string match. By disabling STRICT_PROTO_MATCHING Doxygen will still # accept a match between prototype and implementation in such cases. # The default value is: NO. @@ -683,26 +748,26 @@ STRICT_PROTO_MATCHING = NO # list. This list is created by putting \todo commands in the documentation. # The default value is: YES. -GENERATE_TODOLIST = YES +GENERATE_TODOLIST = NO # The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test # list. This list is created by putting \test commands in the documentation. # The default value is: YES. -GENERATE_TESTLIST = YES +GENERATE_TESTLIST = NO # The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug # list. This list is created by putting \bug commands in the documentation. # The default value is: YES. -GENERATE_BUGLIST = YES +GENERATE_BUGLIST = NO # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) # the deprecated list. This list is created by putting \deprecated commands in # the documentation. # The default value is: YES. -GENERATE_DEPRECATEDLIST= YES +GENERATE_DEPRECATEDLIST= NO # The ENABLED_SECTIONS tag can be used to enable conditional documentation # sections, marked by \if ... \endif and \cond @@ -743,24 +808,25 @@ SHOW_FILES = YES SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from +# Doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command command input-file, where command is the value of the # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided -# by doxygen. Whatever the program writes to standard output is used as the file +# by Doxygen. Whatever the program writes to standard output is used as the file # version. For an example see the documentation. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated +# by Doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. You can +# that represents Doxygen's defaults, run Doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. +# will be used as the name of the layout file. See also section "Changing the +# layout of pages" for information. # -# Note that if you run doxygen from a directory containing a file called -# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# Note that if you run Doxygen from a directory containing a file called +# DoxygenLayout.xml, Doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. LAYOUT_FILE = @@ -775,19 +841,35 @@ LAYOUT_FILE = CITE_BIB_FILES = +# The EXTERNAL_TOOL_PATH tag can be used to extend the search path (PATH +# environment variable) so that external tools such as latex and gs can be +# found. +# Note: Directories specified with EXTERNAL_TOOL_PATH are added in front of the +# path already specified by the PATH variable, and are added in the order +# specified. +# Note: This option is particularly useful for macOS version 14 (Sonoma) and +# higher, when running Doxygen from Doxywizard, because in this case any user- +# defined changes to the PATH are ignored. A typical example on macOS is to set +# EXTERNAL_TOOL_PATH = /Library/TeX/texbin /usr/local/bin +# together with the standard path, the full search path used by doxygen when +# launching external tools will then become +# PATH=/Library/TeX/texbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin + +EXTERNAL_TOOL_PATH = + #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated to -# standard output by doxygen. If QUIET is set to YES this implies that the +# standard output by Doxygen. If QUIET is set to YES this implies that the # messages are off. # The default value is: NO. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are -# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# generated to standard error (stderr) by Doxygen. If WARNINGS is set to YES # this implies that the warnings are on. # # Tip: Turn warnings on while writing the documentation. @@ -795,54 +877,99 @@ QUIET = NO WARNINGS = YES -# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# If the WARN_IF_UNDOCUMENTED tag is set to YES then Doxygen will generate # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag # will automatically be disabled. # The default value is: YES. WARN_IF_UNDOCUMENTED = NO -# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. +# If the WARN_IF_DOC_ERROR tag is set to YES, Doxygen will generate warnings for +# potential errors in the documentation, such as documenting some parameters in +# a documented function twice, or documenting parameters that don't exist or +# using markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES +# If WARN_IF_INCOMPLETE_DOC is set to YES, Doxygen will warn about incomplete +# function parameter documentation. If set to NO, Doxygen will accept that some +# parameters have no documentation without warning. +# The default value is: YES. + +WARN_IF_INCOMPLETE_DOC = YES + # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. If -# EXTRACT_ALL is set to YES then this flag will automatically be disabled. +# value. If set to NO, Doxygen will only warn about wrong parameter +# documentation, but not about the absence of documentation. If EXTRACT_ALL is +# set to YES then this flag will automatically be disabled. See also +# WARN_IF_INCOMPLETE_DOC # The default value is: NO. WARN_NO_PARAMDOC = YES -# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, Doxygen will warn about +# undocumented enumeration values. If set to NO, Doxygen will accept +# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: NO. + +WARN_IF_UNDOC_ENUM_VAL = NO + +# If WARN_LAYOUT_FILE option is set to YES, Doxygen will warn about issues found +# while parsing the user defined layout file, such as missing or wrong elements. +# See also LAYOUT_FILE for details. If set to NO, problems with the layout file +# will be suppressed. +# The default value is: YES. + +WARN_LAYOUT_FILE = YES + +# If the WARN_AS_ERROR tag is set to YES then Doxygen will immediately stop when # a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS -# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but -# at the end of the doxygen process doxygen will return with a non-zero status. -# Possible values are: NO, YES and FAIL_ON_WARNINGS. +# then Doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but +# at the end of the Doxygen process Doxygen will return with a non-zero status. +# If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then Doxygen behaves +# like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined Doxygen will not +# write the warning messages in between other messages but write them at the end +# of a run, in case a WARN_LOGFILE is defined the warning messages will be +# besides being in the defined file also be shown at the end of a run, unless +# the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case +# the behavior will remain as with the setting FAIL_ON_WARNINGS. +# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT. # The default value is: NO. WARN_AS_ERROR = NO -# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# The WARN_FORMAT tag determines the format of the warning messages that Doxygen # can produce. The string should contain the $file, $line, and $text tags, which # will be replaced by the file and line number from which the warning originated # and the warning text. Optionally the format may contain $version, which will # be replaced by the version of the file (if it could be obtained via # FILE_VERSION_FILTER) +# See also: WARN_LINE_FORMAT # The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" +# In the $text part of the WARN_FORMAT command it is possible that a reference +# to a more specific place is given. To make it easier to jump to this place +# (outside of Doxygen) the user can define a custom "cut" / "paste" string. +# Example: +# WARN_LINE_FORMAT = "'vi $file +$line'" +# See also: WARN_FORMAT +# The default value is: at line $line of file $file. + +WARN_LINE_FORMAT = "at line $line of file $file" + # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard -# error (stderr). +# error (stderr). In case the file specified cannot be opened for writing the +# warning and error messages are written to standard error. When as file - is +# specified the warning and error messages are written to standard output +# (stdout). -WARN_LOGFILE = doxygen.log +WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files @@ -854,38 +981,51 @@ WARN_LOGFILE = doxygen.log # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = ../src \ - ../inc +INPUT = ./SGDK/readme.md \ + ./SGDK/src \ + ./SGDK/inc \ + ./SGDK/bin/rescomp.txt # This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# that Doxygen parses. Internally Doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv # documentation (see: # https://www.gnu.org/software/libiconv/) for the list of possible encodings. +# See also: INPUT_FILE_ENCODING # The default value is: UTF-8. INPUT_ENCODING = UTF-8 +# This tag can be used to specify the character encoding of the source files +# that Doxygen parses. The INPUT_FILE_ENCODING tag can be used to specify +# character encoding on a per file pattern basis. Doxygen will compare the file +# name with each pattern and apply the encoding instead of the default +# INPUT_ENCODING if there is a match. The character encodings are a list of the +# form: pattern=encoding (like *.php=ISO-8859-1). +# See also: INPUT_ENCODING for further information on supported encodings. + +INPUT_FILE_ENCODING = + # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and # *.h) to filter out the source-files in the directories. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not -# read by doxygen. +# read by Doxygen. # # Note the list of default checked file patterns might differ from the list of # default file extension mappings. # -# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, -# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, -# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, -# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment), -# *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, *.vhdl, -# *.ucf, *.qsf and *.ice. +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cxxm, +# *.cpp, *.cppm, *.ccm, *.c++, *.c++m, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, +# *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, *.h++, *.ixx, *.l, *.cs, *.d, +# *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to +# be provided as Doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.f18, *.f, *.for, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice. -FILE_PATTERNS = *.h \ - *.c +FILE_PATTERNS = *.c \ + *.h # The RECURSIVE tag can be used to specify whether or not subdirectories should # be searched for input files as well. @@ -897,7 +1037,7 @@ RECURSIVE = YES # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. # -# Note that relative paths are relative to the directory from which doxygen is +# Note that relative paths are relative to the directory from which Doxygen is # run. EXCLUDE = @@ -922,10 +1062,7 @@ EXCLUDE_PATTERNS = # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories use the pattern */test/* +# ANamespace::AClass, ANamespace::*Test EXCLUDE_SYMBOLS = @@ -933,29 +1070,31 @@ EXCLUDE_SYMBOLS = # that contain example code fragments that are included (see the \include # command). -EXAMPLE_PATH = +EXAMPLE_PATH = ./SGDK/sample # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and # *.h) to filter out the source-files in the directories. If left blank all # files are included. -EXAMPLE_PATTERNS = +EXAMPLE_PATTERNS = *.c \ + *.h \ + *.md # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude commands # irrespective of the value of the RECURSIVE tag. # The default value is: NO. -EXAMPLE_RECURSIVE = NO +EXAMPLE_RECURSIVE = YES # The IMAGE_PATH tag can be used to specify one or more files or directories # that contain images that are to be included in the documentation (see the # \image command). -IMAGE_PATH = +IMAGE_PATH = .. -# The INPUT_FILTER tag can be used to specify a program that doxygen should +# The INPUT_FILTER tag can be used to specify a program that Doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command: # @@ -970,9 +1109,14 @@ IMAGE_PATH = # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. # +# Note that Doxygen will use the data processed and written to standard output +# for further processing, therefore nothing else, like debug statements or used +# commands (so in case of a Windows batch file always use @echo OFF), should be +# written to standard output. +# # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. +# properly processed by Doxygen. INPUT_FILTER = @@ -985,7 +1129,7 @@ INPUT_FILTER = # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. +# properly processed by Doxygen. FILTER_PATTERNS = @@ -1007,9 +1151,27 @@ FILTER_SOURCE_PATTERNS = # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that # is part of the input, its contents will be placed on the main page # (index.html). This can be useful if you have a project on for instance GitHub -# and want to reuse the introduction page also for the doxygen output. +# and want to reuse the introduction page also for the Doxygen output. + +USE_MDFILE_AS_MAINPAGE = ./SGDK/readme.md + +# If the IMPLICIT_DIR_DOCS tag is set to YES, any README.md file found in sub- +# directories of the project's root, is used as the documentation for that sub- +# directory, except when the README.md starts with a \dir, \page or \mainpage +# command. If set to NO, the README.md file needs to start with an explicit \dir +# command in order to be used as directory documentation. +# The default value is: YES. + +IMPLICIT_DIR_DOCS = YES + +# The Fortran standard specifies that for fixed formatted Fortran code all +# characters from position 72 are to be considered as comment. A common +# extension is to allow longer lines before the automatic comment starts. The +# setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can +# be processed before the automatic comment starts. +# Minimum value: 7, maximum value: 10000, default value: 72. -USE_MDFILE_AS_MAINPAGE = +FORTRAN_COMMENT_AFTER = 72 #--------------------------------------------------------------------------- # Configuration options related to source browsing @@ -1025,12 +1187,13 @@ USE_MDFILE_AS_MAINPAGE = SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body of functions, -# classes and enums directly into the documentation. +# multi-line macros, enums or list initialized variables directly into the +# documentation. # The default value is: NO. INLINE_SOURCES = NO -# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct Doxygen to hide any # special comment blocks from generated source code fragments. Normal C, C++ and # Fortran comments will always remain visible. # The default value is: YES. @@ -1068,7 +1231,7 @@ REFERENCES_LINK_SOURCE = YES SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will -# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# point to the HTML generated by the htags(1) tool instead of Doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system # (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. @@ -1082,14 +1245,14 @@ SOURCE_TOOLTIPS = YES # Doxygen will invoke htags (and that will in turn invoke gtags), so these # tools must be available from the command line (i.e. in the search path). # -# The result: instead of the source browser generated by doxygen, the links to +# The result: instead of the source browser generated by Doxygen, the links to # source code will now point to the output of htags. # The default value is: NO. # This tag requires that the tag SOURCE_BROWSER is set to YES. USE_HTAGS = NO -# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# If the VERBATIM_HEADERS tag is set the YES then Doxygen will generate a # verbatim copy of the header file for each class for which an include is # specified. Set to NO to disable this. # See also: Section \class. @@ -1097,26 +1260,28 @@ USE_HTAGS = NO VERBATIM_HEADERS = YES -# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the +# If the CLANG_ASSISTED_PARSING tag is set to YES then Doxygen will use the # clang parser (see: # http://clang.llvm.org/) for more accurate parsing at the cost of reduced # performance. This can be particularly helpful with template rich C++ code for -# which doxygen's built-in parser lacks the necessary type information. -# Note: The availability of this option depends on whether or not doxygen was +# which Doxygen's built-in parser lacks the necessary type information. +# Note: The availability of this option depends on whether or not Doxygen was # generated with the -Duse_libclang=ON option for CMake. # The default value is: NO. CLANG_ASSISTED_PARSING = NO -# If clang assisted parsing is enabled and the CLANG_ADD_INC_PATHS tag is set to -# YES then doxygen will add the directory of each input to the include path. +# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS +# tag is set to YES then Doxygen will add the directory of each input to the +# include path. # The default value is: YES. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. CLANG_ADD_INC_PATHS = YES # If clang assisted parsing is enabled you can provide the compiler with command # line options that you would normally use when invoking the compiler. Note that -# the include paths will already be set by doxygen for the files and directories +# the include paths will already be set by Doxygen for the files and directories # specified with INPUT and INCLUDE_PATH. # This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. @@ -1130,7 +1295,7 @@ CLANG_OPTIONS = # specifying the -p option to a clang tool, such as clang-check. These options # will then be passed to the parser. Any options specified with CLANG_OPTIONS # will be added as well. -# Note: The availability of this option depends on whether or not doxygen was +# Note: The availability of this option depends on whether or not Doxygen was # generated with the -Duse_libclang=ON option for CMake. CLANG_DATABASE_PATH = @@ -1144,12 +1309,13 @@ CLANG_DATABASE_PATH = # classes, structs, unions or interfaces. # The default value is: YES. -ALPHABETICAL_INDEX = NO +ALPHABETICAL_INDEX = YES -# In case all classes in a project start with a common prefix, all classes will -# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag -# can be used to specify a prefix (or a list of prefixes) that should be ignored -# while generating the index headers. +# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes) +# that should be ignored while generating the index headers. The IGNORE_PREFIX +# tag works for classes, function and member names. The entity will be placed in +# the alphabetical list under the first letter of the entity name that remains +# after removing the prefix. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = @@ -1158,7 +1324,7 @@ IGNORE_PREFIX = # Configuration options related to the HTML output #--------------------------------------------------------------------------- -# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# If the GENERATE_HTML tag is set to YES, Doxygen will generate HTML output # The default value is: YES. GENERATE_HTML = YES @@ -1179,40 +1345,40 @@ HTML_OUTPUT = html HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a user-defined HTML header file for -# each generated HTML page. If the tag is left blank doxygen will generate a +# each generated HTML page. If the tag is left blank Doxygen will generate a # standard header. # # To get valid HTML the header file that includes any scripts and style sheets -# that doxygen needs, which is dependent on the configuration options used (e.g. +# that Doxygen needs, which is dependent on the configuration options used (e.g. # the setting GENERATE_TREEVIEW). It is highly recommended to start with a # default header using # doxygen -w html new_header.html new_footer.html new_stylesheet.css # YourConfigFile # and then modify the file new_header.html. See also section "Doxygen usage" -# for information on how to generate the default header that doxygen normally +# for information on how to generate the default header that Doxygen normally # uses. # Note: The header is subject to change so you typically have to regenerate the -# default header when upgrading to a newer version of doxygen. For a description +# default header when upgrading to a newer version of Doxygen. For a description # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each -# generated HTML page. If the tag is left blank doxygen will generate a standard +# generated HTML page. If the tag is left blank Doxygen will generate a standard # footer. See HTML_HEADER for more information on how to generate a default # footer and what special commands can be used inside the footer. See also # section "Doxygen usage" for information on how to generate the default footer -# that doxygen normally uses. +# that Doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of -# the HTML output. If left blank doxygen will generate a default style sheet. +# the HTML output. If left blank Doxygen will generate a default style sheet. # See also section "Doxygen usage" for information on how to generate the style -# sheet that doxygen normally uses. +# sheet that Doxygen normally uses. # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as # it is more robust and this tag (HTML_STYLESHEET) will in the future become # obsolete. @@ -1222,13 +1388,18 @@ HTML_STYLESHEET = # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets -# created by doxygen. Using this option one can overrule certain style aspects. +# created by Doxygen. Using this option one can overrule certain style aspects. # This is preferred over using HTML_STYLESHEET since it does not replace the # standard style sheet and is therefore more robust against future updates. # Doxygen will copy the style sheet files to the output directory. # Note: The order of the extra style sheet files is of importance (e.g. the last # style sheet in the list overrules the setting of the previous ones in the -# list). For an example see the documentation. +# list). +# Note: Since the styling of scrollbars can currently not be overruled in +# Webkit/Chromium, the styling will be left out of the default doxygen.css if +# one or more extra stylesheets have been specified. So if scrollbar +# customization is desired it has to be added explicitly. For an example see the +# documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = @@ -1243,9 +1414,22 @@ HTML_EXTRA_STYLESHEET = HTML_EXTRA_FILES = +# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output +# should be rendered with a dark or light theme. +# Possible values are: LIGHT always generates light mode output, DARK always +# generates dark mode output, AUTO_LIGHT automatically sets the mode according +# to the user preference, uses light mode if no preference is set (the default), +# AUTO_DARK automatically sets the mode according to the user preference, uses +# dark mode if no preference is set and TOGGLE allows a user to switch between +# light and dark mode via a button. +# The default value is: AUTO_LIGHT. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE = AUTO_LIGHT + # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see +# this color. Hue is specified as an angle on a color-wheel, see # https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. @@ -1255,7 +1439,7 @@ HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A +# in the HTML output. For a value of 0 the output will use gray-scales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1273,15 +1457,6 @@ HTML_COLORSTYLE_SAT = 100 HTML_COLORSTYLE_GAMMA = 80 -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to YES can help to show when doxygen was last run and thus if the -# documentation is up to date. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_TIMESTAMP = YES - # If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML # documentation will contain a main index with vertical navigation menus that # are dynamically created via JavaScript. If disabled, the navigation index will @@ -1301,6 +1476,33 @@ HTML_DYNAMIC_MENUS = YES HTML_DYNAMIC_SECTIONS = NO +# If the HTML_CODE_FOLDING tag is set to YES then classes and functions can be +# dynamically folded and expanded in the generated HTML source code. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_CODE_FOLDING = YES + +# If the HTML_COPY_CLIPBOARD tag is set to YES then Doxygen will show an icon in +# the top right corner of code and text fragments that allows the user to copy +# its content to the clipboard. Note this only works if supported by the browser +# and the web page is served via a secure context (see: +# https://www.w3.org/TR/secure-contexts/), i.e. using the https: or file: +# protocol. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COPY_CLIPBOARD = YES + +# Doxygen stores a couple of settings persistently in the browser (via e.g. +# cookies). By default these settings apply to all HTML pages generated by +# Doxygen across all projects. The HTML_PROJECT_COOKIE tag can be used to store +# the settings under a project specific key, such that the user preferences will +# be stored separately. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_PROJECT_COOKIE = + # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand # and collapse entries dynamically later on. Doxygen will expand the tree to @@ -1318,7 +1520,7 @@ HTML_INDEX_NUM_ENTRIES = 100 # generated that can be used as input for Apple's Xcode 3 integrated development # environment (see: # https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To -# create a documentation set, doxygen will generate a Makefile in the HTML +# create a documentation set, Doxygen will generate a Makefile in the HTML # output directory. Running make will produce the docset in that directory and # running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at @@ -1337,6 +1539,13 @@ GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" +# This tag determines the URL of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDURL = + # This tag specifies a string that should uniquely identify the documentation # set bundle. This should be a reverse domain-name style string, e.g. # com.mycompany.MyDocSet. Doxygen will append .docset to the name. @@ -1359,14 +1568,18 @@ DOCSET_PUBLISHER_ID = org.doxygen.Publisher DOCSET_PUBLISHER_NAME = Publisher -# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# If the GENERATE_HTMLHELP tag is set to YES then Doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: -# https://www.microsoft.com/en-us/download/details.aspx?id=21138) on Windows. +# on Windows. In the beginning of 2021 Microsoft took the original page, with +# a.o. the download links, offline (the HTML help workshop was already many +# years in maintenance mode). You can download the HTML help workshop from the +# web archives at Installation executable (see: +# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo +# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). # # The HTML Help Workshop contains a compiler that can convert all HTML output -# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# generated by Doxygen into a single compiled HTML file (.chm). Compiled HTML # files are now used as the Windows 98 help format, and will replace the old # Windows help format (.hlp) on all Windows platforms in the future. Compressed # HTML files also contain an index, a table of contents, and you can search for @@ -1382,11 +1595,11 @@ GENERATE_HTMLHELP = NO # written to the html output directory. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. -CHM_FILE = ../sgdk.chm +CHM_FILE = # The HHC_LOCATION tag can be used to specify the location (absolute path # including file name) of the HTML help compiler (hhc.exe). If non-empty, -# doxygen will try to run the HTML help compiler on the generated index.hhp. +# Doxygen will try to run the HTML help compiler on the generated index.hhp. # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. @@ -1420,6 +1633,16 @@ BINARY_TOC = NO TOC_EXPAND = NO +# The SITEMAP_URL tag is used to specify the full URL of the place where the +# generated documentation will be placed on the server by the user during the +# deployment of the documentation. The generated sitemap is called sitemap.xml +# and placed on the directory specified by HTML_OUTPUT. In case no SITEMAP_URL +# is specified no sitemap is generated. For information about the sitemap +# protocol see https://www.sitemaps.org +# This tag requires that the tag GENERATE_HTML is set to YES. + +SITEMAP_URL = + # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help @@ -1478,7 +1701,7 @@ QHP_CUST_FILTER_ATTRS = QHP_SECT_FILTER_ATTRS = # The QHG_LOCATION tag can be used to specify the location (absolute path -# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to +# including file name) of Qt's qhelpgenerator. If non-empty Doxygen will try to # run qhelpgenerator on the generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1510,7 +1733,7 @@ ECLIPSE_DOC_ID = org.doxygen.Project # of each HTML page. A value of NO enables the index and the value YES disables # it. Since the tabs in the index contain the same information as the navigation # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. -# The default value is: NO. +# The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. DISABLE_INDEX = NO @@ -1522,18 +1745,30 @@ DISABLE_INDEX = NO # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. -# The default value is: NO. +# further fine tune the look of the index (see "Fine-tuning the output"). As an +# example, the default style sheet generated by Doxygen has an example that +# shows how to put an image at the root of the tree instead of the PROJECT_NAME. +# Since the tree basically has the same information as the tab index, you could +# consider setting DISABLE_INDEX to YES when enabling this option. +# The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = YES +# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the +# FULL_SIDEBAR option determines if the side bar is limited to only the treeview +# area (value NO) or if it should extend to the full height of the window (value +# YES). Setting this to YES gives a layout similar to +# https://docs.readthedocs.io with more room for contents, but less room for the +# project logo, title, and description. If either GENERATE_TREEVIEW or +# DISABLE_INDEX is set to NO, this option has no effect. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FULL_SIDEBAR = NO + # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that -# doxygen will group on one line in the generated HTML documentation. +# Doxygen will group on one line in the generated HTML documentation. # # Note that a value of 0 will completely suppress the enum values from appearing # in the overview section. @@ -1542,6 +1777,12 @@ GENERATE_TREEVIEW = YES ENUM_VALUES_PER_LINE = 4 +# When the SHOW_ENUM_VALUES tag is set doxygen will show the specified +# enumeration values besides the enumeration mnemonics. +# The default value is: NO. + +SHOW_ENUM_VALUES = NO + # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used # to set the initial width (in pixels) of the frame in which the tree is shown. # Minimum value: 0, maximum value: 1500, default value: 250. @@ -1549,14 +1790,21 @@ ENUM_VALUES_PER_LINE = 4 TREEVIEW_WIDTH = 250 -# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# If the EXT_LINKS_IN_WINDOW option is set to YES, Doxygen will open links to # external symbols imported via tag files in a separate window. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. EXT_LINKS_IN_WINDOW = NO -# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg +# If the OBFUSCATE_EMAILS tag is set to YES, Doxygen will obfuscate email +# addresses. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +OBFUSCATE_EMAILS = YES + +# If the HTML_FORMULA_FORMAT option is set to svg, Doxygen will use the pdf2svg # tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see # https://inkscape.org) to generate formulas as SVG images instead of PNGs for # the HTML output. These images will generally look nicer at scaled resolutions. @@ -1569,24 +1817,13 @@ HTML_FORMULA_FORMAT = png # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful -# doxygen run you need to manually remove any form_*.png images from the HTML +# Doxygen run you need to manually remove any form_*.png images from the HTML # output directory to force them to be regenerated. # Minimum value: 8, maximum value: 50, default value: 10. # This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_FONTSIZE = 10 -# Use the FORMULA_TRANSPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_TRANSPARENT = YES - # The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands # to create new LaTeX commands to be used in formulas as building blocks. See # the section "Including formulas" for details. @@ -1604,11 +1841,29 @@ FORMULA_MACROFILE = USE_MATHJAX = NO +# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. +# Note that the different versions of MathJax have different requirements with +# regards to the different settings, so it is possible that also other MathJax +# settings have to be changed when switching between the different MathJax +# versions. +# Possible values are: MathJax_2 and MathJax_3. +# The default value is: MathJax_2. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_VERSION = MathJax_2 + # When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. +# the MathJax output. For more details about the output format see MathJax +# version 2 (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 +# (see: +# http://docs.mathjax.org/en/latest/web/components/output.html). # Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. +# compatibility. This is the name for Mathjax version 2, for MathJax version 3 +# this will be translated into chtml), NativeMML (i.e. MathML. Only supported +# for MathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This +# is the name for Mathjax version 3, for MathJax version 2 this will be +# translated into HTML-CSS) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1621,20 +1876,26 @@ MATHJAX_FORMAT = HTML-CSS # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of -# MathJax from https://www.mathjax.org before deployment. -# The default value is: https://cdn.jsdelivr.net/npm/mathjax@2. +# MathJax from https://www.mathjax.org before deployment. The default value is: +# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 +# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 # This tag requires that the tag USE_MATHJAX is set to YES. -MATHJAX_RELPATH = http://www.mathjax.org/mathjax +MATHJAX_RELPATH = # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example +# for MathJax version 2 (see +# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# For example for MathJax version 3 (see +# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): +# MATHJAX_EXTENSIONS = ams # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = -# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# The MATHJAX_CODEFILE tag can be used to specify a file with JavaScript pieces # of code that will be used on startup of the MathJax code. See the MathJax site # (see: # http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an @@ -1643,12 +1904,12 @@ MATHJAX_EXTENSIONS = MATHJAX_CODEFILE = -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for -# the HTML output. The underlying search engine uses javascript and DHTML and +# When the SEARCHENGINE tag is enabled Doxygen will generate a search box for +# the HTML output. The underlying search engine uses JavaScript and DHTML and # should work on any modern browser. Note that when using HTML help # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) # there is already a search function so this one should typically be disabled. -# For large projects the javascript based search engine can be slow, then +# For large projects the JavaScript based search engine can be slow, then # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to # search using the keyboard; to jump to the search box use + S # (what the is depends on the OS and browser, but it is typically @@ -1667,7 +1928,7 @@ SEARCHENGINE = YES # When the SERVER_BASED_SEARCH tag is enabled the search engine will be # implemented using a web server instead of a web client using JavaScript. There # are two flavors of web server based searching depending on the EXTERNAL_SEARCH -# setting. When disabled, doxygen will generate a PHP script for searching and +# setting. When disabled, Doxygen will generate a PHP script for searching and # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing # and searching needs to be provided by external tools. See the section # "External Indexing and Searching" for details. @@ -1676,7 +1937,7 @@ SEARCHENGINE = YES SERVER_BASED_SEARCH = NO -# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP +# When EXTERNAL_SEARCH tag is enabled Doxygen will no longer generate the PHP # script for searching. Instead the search results are written to an XML file # which needs to be processed by an external indexer. Doxygen will invoke an # external search engine pointed to by the SEARCHENGINE_URL option to obtain the @@ -1721,7 +1982,7 @@ SEARCHDATA_FILE = searchdata.xml EXTERNAL_SEARCH_ID = -# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen +# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through Doxygen # projects other than the one defined by this configuration file, but that are # all added to the same external search index. Each project needs to have a # unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of @@ -1735,7 +1996,7 @@ EXTRA_SEARCH_MAPPINGS = # Configuration options related to the LaTeX output #--------------------------------------------------------------------------- -# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. +# If the GENERATE_LATEX tag is set to YES, Doxygen will generate LaTeX output. # The default value is: YES. GENERATE_LATEX = NO @@ -1758,7 +2019,7 @@ LATEX_OUTPUT = latex # the output language. # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_CMD_NAME = latex +LATEX_CMD_NAME = # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate # index for LaTeX. @@ -1780,7 +2041,7 @@ MAKEINDEX_CMD_NAME = makeindex LATEX_MAKEINDEX_CMD = makeindex -# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX +# If the COMPACT_LATEX tag is set to YES, Doxygen generates more compact LaTeX # documents. This may be useful for small projects and may help to save some # trees in general. # The default value is: NO. @@ -1809,36 +2070,38 @@ PAPER_TYPE = a4 EXTRA_PACKAGES = -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the -# generated LaTeX document. The header should contain everything until the first -# chapter. If it is left blank doxygen will generate a standard header. See -# section "Doxygen usage" for information on how to let doxygen write the -# default header to a separate file. +# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for +# the generated LaTeX document. The header should contain everything until the +# first chapter. If it is left blank Doxygen will generate a standard header. It +# is highly recommended to start with a default header using +# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty +# and then modify the file new_header.tex. See also section "Doxygen usage" for +# information on how to generate the default header that Doxygen normally uses. # -# Note: Only use a user-defined header if you know what you are doing! The -# following commands have a special meaning inside the header: $title, -# $datetime, $date, $doxygenversion, $projectname, $projectnumber, -# $projectbrief, $projectlogo. Doxygen will replace $title with the empty -# string, for the replacement values of the other commands the user is referred -# to HTML_HEADER. +# Note: Only use a user-defined header if you know what you are doing! +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of Doxygen. The following +# commands have a special meaning inside the header (and footer): For a +# description of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_HEADER = -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the -# generated LaTeX document. The footer should contain everything after the last -# chapter. If it is left blank doxygen will generate a standard footer. See +# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for +# the generated LaTeX document. The footer should contain everything after the +# last chapter. If it is left blank Doxygen will generate a standard footer. See # LATEX_HEADER for more information on how to generate a default footer and what -# special commands can be used inside the footer. -# -# Note: Only use a user-defined footer if you know what you are doing! +# special commands can be used inside the footer. See also section "Doxygen +# usage" for information on how to generate the default footer that Doxygen +# normally uses. Note: Only use a user-defined footer if you know what you are +# doing! # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_FOOTER = # The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined # LaTeX style sheets that are included after the standard style sheets created -# by doxygen. Using this option one can overrule certain style aspects. Doxygen +# by Doxygen. Using this option one can overrule certain style aspects. Doxygen # will copy the style sheet files to the output directory. # Note: The order of the extra style sheet files is of importance (e.g. the last # style sheet in the list overrules the setting of the previous ones in the @@ -1864,7 +2127,7 @@ LATEX_EXTRA_FILES = PDF_HYPERLINKS = YES -# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as +# If the USE_PDFLATEX tag is set to YES, Doxygen will use the engine as # specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX # files. Set this option to YES, to get a higher quality PDF documentation. # @@ -1874,48 +2137,36 @@ PDF_HYPERLINKS = YES USE_PDFLATEX = YES -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode -# command to the generated LaTeX files. This will instruct LaTeX to keep running -# if errors occur, instead of asking the user for help. This option is also used -# when generating formulas in HTML. +# The LATEX_BATCHMODE tag signals the behavior of LaTeX in case of an error. +# Possible values are: NO same as ERROR_STOP, YES same as BATCH, BATCH In batch +# mode nothing is printed on the terminal, errors are scrolled as if is +# hit at every error; missing files that TeX tries to input or request from +# keyboard input (\read on a not open input stream) cause the job to abort, +# NON_STOP In nonstop mode the diagnostic message will appear on the terminal, +# but there is no possibility of user interaction just like in batch mode, +# SCROLL In scroll mode, TeX will stop only for missing files to input or if +# keyboard input is necessary and ERROR_STOP In errorstop mode, TeX will stop at +# each error, asking for user intervention. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_BATCHMODE = NO -# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the +# If the LATEX_HIDE_INDICES tag is set to YES then Doxygen will not include the # index chapters (such as File Index, Compound Index, etc.) in the output. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_HIDE_INDICES = NO -# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source -# code with syntax highlighting in the LaTeX output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_SOURCE_CODE = NO - # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See # https://en.wikipedia.org/wiki/BibTeX and \cite for more info. -# The default value is: plain. +# The default value is: plainnat. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_BIB_STYLE = plain -# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated -# page will contain the date and time when the page was generated. Setting this -# to NO can help when comparing the output of multiple runs. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_TIMESTAMP = NO - # The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) # path from which the emoji images will be read. If a relative path is entered, # it will be relative to the LATEX_OUTPUT directory. If left blank the @@ -1928,7 +2179,7 @@ LATEX_EMOJI_DIRECTORY = # Configuration options related to the RTF output #--------------------------------------------------------------------------- -# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The +# If the GENERATE_RTF tag is set to YES, Doxygen will generate RTF output. The # RTF output is optimized for Word 97 and may not look too pretty with other RTF # readers/editors. # The default value is: NO. @@ -1943,7 +2194,7 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf -# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF +# If the COMPACT_RTF tag is set to YES, Doxygen generates more compact RTF # documents. This may be useful for small projects and may help to save some # trees in general. # The default value is: NO. @@ -1963,38 +2214,36 @@ COMPACT_RTF = NO RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's +# Load stylesheet definitions from file. Syntax is similar to Doxygen's # configuration file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. # # See also section "Doxygen usage" for information on how to generate the -# default style sheet that doxygen normally uses. +# default style sheet that Doxygen normally uses. # This tag requires that the tag GENERATE_RTF is set to YES. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an RTF document. Syntax is -# similar to doxygen's configuration file. A template extensions file can be +# similar to Doxygen's configuration file. A template extensions file can be # generated using doxygen -e rtf extensionFile. # This tag requires that the tag GENERATE_RTF is set to YES. RTF_EXTENSIONS_FILE = -# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code -# with syntax highlighting in the RTF output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. +# The RTF_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the RTF_OUTPUT output directory. +# Note that the files will be copied as-is; there are no commands or markers +# available. # This tag requires that the tag GENERATE_RTF is set to YES. -RTF_SOURCE_CODE = NO +RTF_EXTRA_FILES = #--------------------------------------------------------------------------- # Configuration options related to the man page output #--------------------------------------------------------------------------- -# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for +# If the GENERATE_MAN tag is set to YES, Doxygen will generate man pages for # classes and files. # The default value is: NO. @@ -2025,7 +2274,7 @@ MAN_EXTENSION = .3 MAN_SUBDIR = -# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, then it # will generate one additional man file for each entity documented in the real # man page(s). These additional files only source the real man page, but without # them the man command would be unable to find the correct page. @@ -2038,7 +2287,7 @@ MAN_LINKS = NO # Configuration options related to the XML output #--------------------------------------------------------------------------- -# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that +# If the GENERATE_XML tag is set to YES, Doxygen will generate an XML file that # captures the structure of the code including all documentation. # The default value is: NO. @@ -2052,7 +2301,7 @@ GENERATE_XML = NO XML_OUTPUT = xml -# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program +# If the XML_PROGRAMLISTING tag is set to YES, Doxygen will dump the program # listings (including syntax highlighting and cross-referencing information) to # the XML output. Note that enabling this will significantly increase the size # of the XML output. @@ -2061,7 +2310,7 @@ XML_OUTPUT = xml XML_PROGRAMLISTING = YES -# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include +# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, Doxygen will include # namespace members in file scope as well, matching the HTML output. # The default value is: NO. # This tag requires that the tag GENERATE_XML is set to YES. @@ -2072,7 +2321,7 @@ XML_NS_MEMB_FILE_SCOPE = NO # Configuration options related to the DOCBOOK output #--------------------------------------------------------------------------- -# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files +# If the GENERATE_DOCBOOK tag is set to YES, Doxygen will generate Docbook files # that can be used to generate PDF. # The default value is: NO. @@ -2086,32 +2335,49 @@ GENERATE_DOCBOOK = NO DOCBOOK_OUTPUT = docbook -# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the -# program listings (including syntax highlighting and cross-referencing -# information) to the DOCBOOK output. Note that enabling this will significantly -# increase the size of the DOCBOOK output. -# The default value is: NO. -# This tag requires that the tag GENERATE_DOCBOOK is set to YES. - -DOCBOOK_PROGRAMLISTING = NO - #--------------------------------------------------------------------------- # Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- -# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an -# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures +# If the GENERATE_AUTOGEN_DEF tag is set to YES, Doxygen will generate an +# AutoGen Definitions (see https://autogen.sourceforge.net/) file that captures # the structure of the code including all documentation. Note that this feature # is still experimental and incomplete at the moment. # The default value is: NO. GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# Configuration options related to Sqlite3 output +#--------------------------------------------------------------------------- + +# If the GENERATE_SQLITE3 tag is set to YES Doxygen will generate a Sqlite3 +# database with symbols found by Doxygen stored in tables. +# The default value is: NO. + +GENERATE_SQLITE3 = NO + +# The SQLITE3_OUTPUT tag is used to specify where the Sqlite3 database will be +# put. If a relative path is entered the value of OUTPUT_DIRECTORY will be put +# in front of it. +# The default directory is: sqlite3. +# This tag requires that the tag GENERATE_SQLITE3 is set to YES. + +SQLITE3_OUTPUT = sqlite3 + +# The SQLITE3_RECREATE_DB tag is set to YES, the existing doxygen_sqlite3.db +# database file will be recreated with each Doxygen run. If set to NO, Doxygen +# will warn if a database file is already found and not modify it. +# The default value is: YES. +# This tag requires that the tag GENERATE_SQLITE3 is set to YES. + +SQLITE3_RECREATE_DB = YES + #--------------------------------------------------------------------------- # Configuration options related to the Perl module output #--------------------------------------------------------------------------- -# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module +# If the GENERATE_PERLMOD tag is set to YES, Doxygen will generate a Perl module # file that captures the structure of the code including all documentation. # # Note that this feature is still experimental and incomplete at the moment. @@ -2119,7 +2385,7 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO -# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary +# If the PERLMOD_LATEX tag is set to YES, Doxygen will generate the necessary # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI # output from the Perl module output. # The default value is: NO. @@ -2149,13 +2415,13 @@ PERLMOD_MAKEVAR_PREFIX = # Configuration options related to the preprocessor #--------------------------------------------------------------------------- -# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all +# If the ENABLE_PREPROCESSING tag is set to YES, Doxygen will evaluate all # C-preprocessor directives found in the sources and include files. # The default value is: YES. ENABLE_PREPROCESSING = YES -# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names +# If the MACRO_EXPANSION tag is set to YES, Doxygen will expand all macro names # in the source code. If set to NO, only conditional compilation will be # performed. Macro expansion can be done in a controlled way by setting # EXPAND_ONLY_PREDEF to YES. @@ -2181,7 +2447,8 @@ SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by the -# preprocessor. +# preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of +# RECURSIVE has no effect here. # This tag requires that the tag SEARCH_INCLUDES is set to YES. INCLUDE_PATH = @@ -2213,7 +2480,7 @@ PREDEFINED = WXUNUSED()= EXPAND_AS_DEFINED = -# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will +# If the SKIP_FUNCTION_MACROS tag is set to YES then Doxygen's preprocessor will # remove all references to function-like macros that are alone on a line, have # an all uppercase name, and do not end with a semicolon. Such function macros # are typically used for boiler-plate code, and will confuse the parser if not @@ -2237,26 +2504,26 @@ SKIP_FUNCTION_MACROS = YES # section "Linking to external documentation" for more information about the use # of tag files. # Note: Each tag file must have a unique name (where the name does NOT include -# the path). If a tag file is not located in the directory in which doxygen is +# the path). If a tag file is not located in the directory in which Doxygen is # run, you must also specify the path to the tagfile here. TAGFILES = -# When a file name is specified after GENERATE_TAGFILE, doxygen will create a +# When a file name is specified after GENERATE_TAGFILE, Doxygen will create a # tag file that is based on the input files it reads. See section "Linking to # external documentation" for more information about the usage of tag files. GENERATE_TAGFILE = -# If the ALLEXTERNALS tag is set to YES, all external class will be listed in -# the class index. If set to NO, only the inherited external classes will be -# listed. +# If the ALLEXTERNALS tag is set to YES, all external classes and namespaces +# will be listed in the class and namespace index. If set to NO, only the +# inherited external classes will be listed. # The default value is: NO. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will be +# in the topic index. If set to NO, only the current project's groups will be # listed. # The default value is: YES. @@ -2270,42 +2537,26 @@ EXTERNAL_GROUPS = YES EXTERNAL_PAGES = YES #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to diagram generator tools #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram -# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to -# NO turns the diagrams off. Note that this option also works with HAVE_DOT -# disabled, but it is recommended to install and use dot, since it yields more -# powerful graphs. -# The default value is: YES. - -CLASS_DIAGRAMS = NO - -# You can include diagrams made with dia in doxygen documentation. Doxygen will -# then run dia to produce the diagram and insert it in the documentation. The -# DIA_PATH tag allows you to specify the directory where the dia binary resides. -# If left empty dia is assumed to be found in the default search path. - -DIA_PATH = - # If set to YES the inheritance and collaboration graphs will hide inheritance # and usage relations if the target is undocumented or is not a class. # The default value is: YES. HIDE_UNDOC_RELATIONS = YES -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# If you set the HAVE_DOT tag to YES then Doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz (see: -# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent +# https://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent # Bell Labs. The other options in this section have no effect if this option is # set to NO -# The default value is: YES. +# The default value is: NO. -HAVE_DOT = NO +HAVE_DOT = YES -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed -# to run in parallel. When set to 0 doxygen will base this on the number of +# The DOT_NUM_THREADS specifies the number of dot invocations Doxygen is allowed +# to run in parallel. When set to 0 Doxygen will base this on the number of # processors available in the system. You can set it explicitly to a value # larger than 0 to get control over the balance between CPU load and processing # speed. @@ -2314,55 +2565,83 @@ HAVE_DOT = NO DOT_NUM_THREADS = 0 -# When you want a differently looking font in the dot files that doxygen -# generates you can specify the font name using DOT_FONTNAME. You need to make -# sure dot is able to find the font, which can be done by putting it in a -# standard location or by setting the DOTFONTPATH environment variable or by -# setting DOT_FONTPATH to the directory containing the font. -# The default value is: Helvetica. +# DOT_COMMON_ATTR is common attributes for nodes, edges and labels of +# subgraphs. When you want a differently looking font in the dot files that +# Doxygen generates you can specify fontname, fontcolor and fontsize attributes. +# For details please see Node, +# Edge and Graph Attributes specification You need to make sure dot is able +# to find the font, which can be done by putting it in a standard location or by +# setting the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. Default graphviz fontsize is 14. +# The default value is: fontname=Helvetica,fontsize=10. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTNAME = Helvetica +DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10" -# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of -# dot graphs. -# Minimum value: 4, maximum value: 24, default value: 10. +# DOT_EDGE_ATTR is concatenated with DOT_COMMON_ATTR. For elegant style you can +# add 'arrowhead=open, arrowtail=open, arrowsize=0.5'. Complete documentation about +# arrows shapes. +# The default value is: labelfontname=Helvetica,labelfontsize=10. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTSIZE = 10 +DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10" -# By default doxygen will tell dot to use the default font as specified with -# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set -# the path where dot can find it using this tag. +# DOT_NODE_ATTR is concatenated with DOT_COMMON_ATTR. For view without boxes +# around nodes set 'shape=plain' or 'shape=plaintext' Shapes specification +# The default value is: shape=box,height=0.2,width=0.4. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4" + +# You can set the path where dot can find font specified with fontname in +# DOT_COMMON_ATTR and others dot attributes. # This tag requires that the tag HAVE_DOT is set to YES. DOT_FONTPATH = -# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for -# each documented class showing the direct and indirect inheritance relations. -# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. +# If the CLASS_GRAPH tag is set to YES or GRAPH or BUILTIN then Doxygen will +# generate a graph for each documented class showing the direct and indirect +# inheritance relations. In case the CLASS_GRAPH tag is set to YES or GRAPH and +# HAVE_DOT is enabled as well, then dot will be used to draw the graph. In case +# the CLASS_GRAPH tag is set to YES and HAVE_DOT is disabled or if the +# CLASS_GRAPH tag is set to BUILTIN, then the built-in generator will be used. +# If the CLASS_GRAPH tag is set to TEXT the direct and indirect inheritance +# relations will be shown as texts / links. Explicit enabling an inheritance +# graph or choosing a different representation for an inheritance graph of a +# specific class, can be accomplished by means of the command \inheritancegraph. +# Disabling an inheritance graph can be accomplished by means of the command +# \hideinheritancegraph. +# Possible values are: NO, YES, TEXT, GRAPH and BUILTIN. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. CLASS_GRAPH = YES -# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a +# If the COLLABORATION_GRAPH tag is set to YES then Doxygen will generate a # graph for each documented class showing the direct and indirect implementation # dependencies (inheritance, containment, and class references variables) of the -# class with other documented classes. +# class with other documented classes. Explicit enabling a collaboration graph, +# when COLLABORATION_GRAPH is set to NO, can be accomplished by means of the +# command \collaborationgraph. Disabling a collaboration graph can be +# accomplished by means of the command \hidecollaborationgraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. COLLABORATION_GRAPH = YES -# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for -# groups, showing the direct groups dependencies. +# If the GROUP_GRAPHS tag is set to YES then Doxygen will generate a graph for +# groups, showing the direct groups dependencies. Explicit enabling a group +# dependency graph, when GROUP_GRAPHS is set to NO, can be accomplished by means +# of the command \groupgraph. Disabling a directory graph can be accomplished by +# means of the command \hidegroupgraph. See also the chapter Grouping in the +# manual. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GROUP_GRAPHS = YES -# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and +# If the UML_LOOK tag is set to YES, Doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. # The default value is: NO. @@ -2383,10 +2662,10 @@ UML_LOOK = NO UML_LIMIT_NUM_FIELDS = 10 -# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and +# If the DOT_UML_DETAILS tag is set to NO, Doxygen will show attributes and # methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS -# tag is set to YES, doxygen will add type and arguments for attributes and -# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen +# tag is set to YES, Doxygen will add type and arguments for attributes and +# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, Doxygen # will not generate fields with class member information in the UML graphs. The # class diagrams will look similar to the default class diagrams but using UML # notation for the relationships. @@ -2398,8 +2677,8 @@ DOT_UML_DETAILS = NO # The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters # to display on a single line. If the actual line length exceeds this threshold -# significantly it will wrapped across multiple lines. Some heuristics are apply -# to avoid ugly line breaks. +# significantly it will be wrapped across multiple lines. Some heuristics are +# applied to avoid ugly line breaks. # Minimum value: 0, maximum value: 1000, default value: 17. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2414,24 +2693,29 @@ DOT_WRAP_THRESHOLD = 17 TEMPLATE_RELATIONS = NO # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to -# YES then doxygen will generate a graph for each documented file showing the +# YES then Doxygen will generate a graph for each documented file showing the # direct and indirect include dependencies of the file with other documented -# files. +# files. Explicit enabling an include graph, when INCLUDE_GRAPH is is set to NO, +# can be accomplished by means of the command \includegraph. Disabling an +# include graph can be accomplished by means of the command \hideincludegraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. INCLUDE_GRAPH = YES # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are -# set to YES then doxygen will generate a graph for each documented file showing +# set to YES then Doxygen will generate a graph for each documented file showing # the direct and indirect include dependencies of the file with other documented -# files. +# files. Explicit enabling an included by graph, when INCLUDED_BY_GRAPH is set +# to NO, can be accomplished by means of the command \includedbygraph. Disabling +# an included by graph can be accomplished by means of the command +# \hideincludedbygraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. INCLUDED_BY_GRAPH = YES -# If the CALL_GRAPH tag is set to YES then doxygen will generate a call +# If the CALL_GRAPH tag is set to YES then Doxygen will generate a call # dependency graph for every global function or class method. # # Note that enabling this option will significantly increase the time of a run. @@ -2443,7 +2727,7 @@ INCLUDED_BY_GRAPH = YES CALL_GRAPH = YES -# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller +# If the CALLER_GRAPH tag is set to YES then Doxygen will generate a caller # dependency graph for every global function or class method. # # Note that enabling this option will significantly increase the time of a run. @@ -2455,38 +2739,46 @@ CALL_GRAPH = YES CALLER_GRAPH = NO -# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical +# If the GRAPHICAL_HIERARCHY tag is set to YES then Doxygen will graphical # hierarchy of all classes instead of a textual one. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GRAPHICAL_HIERARCHY = YES -# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the +# If the DIRECTORY_GRAPH tag is set to YES then Doxygen will show the # dependencies a directory has on other directories in a graphical way. The # dependency relations are determined by the #include relations between the -# files in the directories. +# files in the directories. Explicit enabling a directory graph, when +# DIRECTORY_GRAPH is set to NO, can be accomplished by means of the command +# \directorygraph. Disabling a directory graph can be accomplished by means of +# the command \hidedirectorygraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. DIRECTORY_GRAPH = YES +# The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels +# of child directories generated in directory dependency graphs by dot. +# Minimum value: 1, maximum value: 25, default value: 1. +# This tag requires that the tag DIRECTORY_GRAPH is set to YES. + +DIR_GRAPH_MAX_DEPTH = 1 + # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. For an explanation of the image formats see the section # output formats in the documentation of the dot tool (Graphviz (see: -# http://www.graphviz.org/)). +# https://www.graphviz.org/)). # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order # to make the SVG files visible in IE 9+ (other browsers do not have this # requirement). -# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd, -# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo, -# gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, png:cairo, +# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo, # png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and # png:gdiplus:gdiplus. # The default value is: png. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_IMAGE_FORMAT = png +DOT_IMAGE_FORMAT = svg # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to # enable generation of interactive SVG images that allow zooming and panning. @@ -2513,11 +2805,12 @@ DOT_PATH = DOTFILE_DIRS = -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the \mscfile -# command). +# You can include diagrams made with dia in Doxygen documentation. Doxygen will +# then run dia to produce the diagram and insert it in the documentation. The +# DIA_PATH tag allows you to specify the directory where the dia binary resides. +# If left empty dia is assumed to be found in the default search path. -MSCFILE_DIRS = +DIA_PATH = # The DIAFILE_DIRS tag can be used to specify one or more directories that # contain dia files that are included in the documentation (see the \diafile @@ -2525,28 +2818,34 @@ MSCFILE_DIRS = DIAFILE_DIRS = -# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the -# path where java can find the plantuml.jar file. If left blank, it is assumed -# PlantUML is not used or called during a preprocessing step. Doxygen will -# generate a warning when it encounters a \startuml command in this case and -# will not generate output for the diagram. +# When using PlantUML, the PLANTUML_JAR_PATH tag should be used to specify the +# path where java can find the plantuml.jar file or to the filename of jar file +# to be used. If left blank, it is assumed PlantUML is not used or called during +# a preprocessing step. Doxygen will generate a warning when it encounters a +# \startuml command in this case and will not generate output for the diagram. PLANTUML_JAR_PATH = -# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a -# configuration file for plantuml. +# When using PlantUML, the PLANTUML_CFG_FILE tag can be used to specify a +# configuration file for PlantUML. PLANTUML_CFG_FILE = -# When using plantuml, the specified paths are searched for files specified by -# the !include statement in a plantuml block. +# When using PlantUML, the specified paths are searched for files specified by +# the !include statement in a PlantUML block. PLANTUML_INCLUDE_PATH = +# The PLANTUMLFILE_DIRS tag can be used to specify one or more directories that +# contain PlantUml files that are included in the documentation (see the +# \plantumlfile command). + +PLANTUMLFILE_DIRS = + # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes # that will be shown in the graph. If the number of nodes in a graph becomes -# larger than this value, doxygen will truncate the graph, which is visualized -# by representing a node as a red box. Note that doxygen if the number of direct +# larger than this value, Doxygen will truncate the graph, which is visualized +# by representing a node as a red box. Note that if the number of direct # children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that # the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. @@ -2567,18 +2866,6 @@ DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 0 -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not seem -# to support this out of the box. -# -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). -# The default value is: NO. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_TRANSPARENT = NO - # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) support @@ -2588,19 +2875,37 @@ DOT_TRANSPARENT = NO DOT_MULTI_TARGETS = NO -# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page +# If the GENERATE_LEGEND tag is set to YES Doxygen will generate a legend page # explaining the meaning of the various boxes and arrows in the dot generated # graphs. +# Note: This tag requires that UML_LOOK isn't set, i.e. the Doxygen internal +# graphical representation for inheritance and collaboration diagrams is used. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate +# If the DOT_CLEANUP tag is set to YES, Doxygen will remove the intermediate # files that are used to generate the various graphs. # -# Note: This setting is not only used for dot files but also for msc and -# plantuml temporary files. +# Note: This setting is not only used for dot files but also for msc temporary +# files. # The default value is: YES. DOT_CLEANUP = YES + +# You can define message sequence charts within Doxygen comments using the \msc +# command. If the MSCGEN_TOOL tag is left empty (the default), then Doxygen will +# use a built-in version of mscgen tool to produce the charts. Alternatively, +# the MSCGEN_TOOL tag can also specify the name an external tool. For instance, +# specifying prog as the value, Doxygen will call the tool as prog -T +# -o . The external tool should support +# output file formats "png", "eps", "svg", and "ismap". + +MSCGEN_TOOL = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the \mscfile +# command). + +MSCFILE_DIRS = \ No newline at end of file diff --git a/doc/doxyfile b/doc/doxyfile deleted file mode 100644 index 102394f6d..000000000 --- a/doc/doxyfile +++ /dev/null @@ -1,393 +0,0 @@ -#****************************************************************************** -# Base configuration for doxygen, generated by DoxyBlocks. -# You may change these defaults to suit your purposes. -#****************************************************************************** - -# Doxyfile 1.7.3 - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = sgdk -PROJECT_NUMBER = -PROJECT_BRIEF = -PROJECT_LOGO = -OUTPUT_DIRECTORY = -CREATE_SUBDIRS = NO -OUTPUT_LANGUAGE = English -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = NO -QT_AUTOBRIEF = NO -MULTILINE_CPP_IS_BRIEF = NO -INHERIT_DOCS = YES -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 8 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = NO -OPTIMIZE_OUTPUT_JAVA = NO -OPTIMIZE_FOR_FORTRAN = NO -OPTIMIZE_OUTPUT_VHDL = NO -EXTENSION_MAPPING = -BUILTIN_STL_SUPPORT = NO -CPP_CLI_SUPPORT = NO -SIP_SUPPORT = NO -IDL_PROPERTY_SUPPORT = YES -DISTRIBUTE_GROUP_DOC = NO -SUBGROUPING = YES -TYPEDEF_HIDES_STRUCT = NO -SYMBOL_CACHE_SIZE = 0 -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- -EXTRACT_ALL = NO -EXTRACT_PRIVATE = NO -EXTRACT_STATIC = NO -EXTRACT_LOCAL_CLASSES = YES -EXTRACT_LOCAL_METHODS = NO -EXTRACT_ANON_NSPACES = NO -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = NO -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = NO -HIDE_SCOPE_NAMES = NO -SHOW_INCLUDE_FILES = YES -FORCE_LOCAL_INCLUDES = NO -INLINE_INFO = YES -SORT_MEMBER_DOCS = YES -SORT_BRIEF_DOCS = NO -SORT_MEMBERS_CTORS_1ST = NO -SORT_GROUP_NAMES = NO -SORT_BY_SCOPE_NAME = NO -STRICT_PROTO_MATCHING = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = YES -SHOW_DIRECTORIES = NO -SHOW_FILES = YES -SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -LAYOUT_FILE = -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = NO -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = YES -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = "D:\apps\SGDK\cb\doc\doxygen.log" -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = \ - "..\..\src\tab_sin.c" \ - "..\..\inc\ext\flash-save\saveman.h" \ - "..\..\src\ext\mw\lsd.c" \ - "..\..\src\memory.c" \ - "..\..\inc\tools.h" \ - "..\..\inc\ext\mw\gamejolt.h" \ - "..\..\src\ext\mw\megawifi.c" \ - "..\..\src\z80_ctrl.c" \ - "..\..\src\ext\flash-save\saveman.c" \ - "..\..\inc\ext\flash-save\flash.h" \ - "..\..\src\sram.c" \ - "..\..\src\bmp.c" \ - "..\..\inc\ext\mw\jsmn.h" \ - "..\..\src\ext\minimusic\minimus.c" \ - "..\..\inc\asm.h" \ - "..\..\src\string.c" \ - "..\..\inc\types.h" \ - "..\..\inc\genesis.h" \ - "..\..\src\object.c" \ - "..\..\inc\vdp_bg.h" \ - "..\..\inc\pool.h" \ - "..\..\src\maths.c" \ - "..\..\src\tools.c" \ - "..\..\inc\vram.h" \ - "..\..\inc\map.h" \ - "..\..\src\ext\mw\gamejolt.c" \ - "..\..\src\psg.c" \ - "..\..\inc\font.h" \ - "..\..\inc\object.h" \ - "..\..\inc\bmp.h" \ - "..\..\inc\ext\mw\megawifi.h" \ - "..\..\src\vram.c" \ - "..\..\inc\ext\mw\lsd.h" \ - "..\..\inc\config.h" \ - "..\..\inc\kdebug.h" \ - "..\..\inc\ext\minimusic\minimus.h" \ - "..\..\inc\ext\fat16.h" \ - "..\..\inc\ext\stb\stb_sprintf.h" \ - "..\..\src\snd\pcm\snd_pcm4.c" \ - "..\..\inc\maths.h" \ - "..\..\src\tab_cnv.c" \ - "..\..\inc\string.h" \ - "..\..\src\mapper.c" \ - "..\..\inc\psg.h" \ - "..\..\src\pool.c" \ - "..\..\inc\sprite_eng.h" \ - "..\..\inc\snd\pcm\snd_dpcm2.h" \ - "..\..\src\tab_sqrt.c" \ - "..\..\src\boot\rom_head.c" \ - "..\..\src\snd\xgm.c" \ - "..\..\inc\sys.h" \ - "..\..\src\maths3D.c" \ - "..\..\inc\ext\mw\json.h" \ - "..\..\src\timer.c" \ - "..\..\src\snd\xgm2.c" \ - "..\..\inc\memory.h" \ - "..\..\src\types.c" \ - "..\..\src\ext\console.c" \ - "..\..\inc\joy.h" \ - "..\..\src\vdp_bg.c" \ - "..\..\inc\vdp_tile.h" \ - "..\..\inc\snd\xgm.h" \ - "..\..\inc\z80_ctrl.h" \ - "..\..\inc\snd\pcm\snd_pcm.h" \ - "..\..\inc\sprite_eng_legacy.h" \ - "..\..\inc\timer.h" \ - "..\..\src\ext\everdrive.c" \ - "..\..\inc\ext\mw\16c550.h" \ - "..\..\inc\vdp.h" \ - "..\..\inc\snd\pcm\snd_pcm4.h" \ - "..\..\src\tab_log2.c" \ - "..\..\inc\ym2612.h" \ - "..\..\inc\tab_cnv.h" \ - "..\..\res\libres.h" \ - "..\..\inc\snd\pcm\tab_vol.h" \ - "..\..\src\ext\mw\16c550.c" \ - "..\..\src\map.c" \ - "..\..\inc\dma.h" \ - "..\..\inc\vdp_spr.h" \ - "..\..\inc\pal.h" \ - "..\..\src\tab_log10.c" \ - "..\..\src\joy.c" \ - "..\..\src\snd\sound.c" \ - "..\..\inc\task.h" \ - "..\..\src\sprite_eng.c" \ - "..\..\inc\ext\everdrive.h" \ - "..\..\src\vdp.c" \ - "..\..\inc\sram.h" \ - "..\..\src\sprite_eng_legacy.c" \ - "..\..\src\dma.c" \ - "..\..\inc\mapper.h" \ - "..\..\src\vdp_spr.c" \ - "..\..\src\pal.c" \ - "..\..\inc\task_cst.h" \ - "..\..\src\ext\fat16.c" \ - "..\..\inc\ext\mw\mw-msg.h" \ - "..\..\src\ym2612.c" \ - "..\..\src\ext\mw\json.c" \ - "..\..\inc\snd\smp_null_dpcm.h" \ - "..\..\inc\maths3D.h" \ - "..\..\src\snd\pcm\snd_dpcm2.c" \ - "..\..\inc\snd\sound.h" \ - "..\..\src\vdp_tile.c" \ - "..\..\src\ext\flash-save\flash.c" \ - "..\..\inc\ext\console.h" \ - "..\..\src\snd\pcm\snd_pcm.c" \ - "..\..\inc\snd\xgm2.h" \ - "..\..\src\sys.c" \ - "..\..\inc\memory_base.h" \ - "..\..\inc\snd\smp_null.h" -INPUT_ENCODING = UTF-8 -FILE_PATTERNS = -RECURSIVE = NO -EXCLUDE = -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO -FILTER_SOURCE_PATTERNS = -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = NO -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = NO -REFERENCES_RELATION = NO -REFERENCES_LINK_SOURCE = YES -USE_HTAGS = NO -VERBATIM_HEADERS = YES -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_COLORSTYLE_HUE = 220 -HTML_COLORSTYLE_SAT = 100 -HTML_COLORSTYLE_GAMMA = 80 -HTML_TIMESTAMP = YES -HTML_ALIGN_MEMBERS = YES -HTML_DYNAMIC_SECTIONS = NO -GENERATE_DOCSET = NO -DOCSET_FEEDNAME = "Doxygen generated docs" -DOCSET_BUNDLE_ID = org.doxygen.Project -DOCSET_PUBLISHER_ID = org.doxygen.Publisher -DOCSET_PUBLISHER_NAME = Publisher -GENERATE_HTMLHELP = NO -CHM_FILE = "../sgdk.chm" -HHC_LOCATION = -GENERATE_CHI = NO -CHM_INDEX_ENCODING = -BINARY_TOC = NO -TOC_EXPAND = NO -GENERATE_QHP = NO -QCH_FILE = -QHP_NAMESPACE = org.doxygen.Project -QHP_VIRTUAL_FOLDER = doc -QHP_CUST_FILTER_NAME = -QHP_CUST_FILTER_ATTRS = -QHP_SECT_FILTER_ATTRS = -QHG_LOCATION = -GENERATE_ECLIPSEHELP = NO -ECLIPSE_DOC_ID = org.doxygen.Project -DISABLE_INDEX = NO -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = YES -USE_INLINE_TREES = NO -TREEVIEW_WIDTH = 250 -EXT_LINKS_IN_WINDOW = NO -FORMULA_FONTSIZE = 10 -FORMULA_TRANSPARENT = YES -USE_MATHJAX = NO -MATHJAX_RELPATH = http://www.mathjax.org/mathjax -SEARCHENGINE = YES -SERVER_BASED_SEARCH = NO -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = NO -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4 -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -LATEX_SOURCE_CODE = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = NO -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = YES -EXPAND_ONLY_PREDEF = YES -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = WXUNUSED()= -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = NO -MSCGEN_PATH = -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = NO -DOT_NUM_THREADS = 0 -DOT_FONTNAME = Helvetica -DOT_FONTSIZE = 10 -DOT_FONTPATH = -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = NO -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = YES -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -MSCFILE_DIRS = -DOT_GRAPH_MAX_NODES = 50 -MAX_DOT_GRAPH_DEPTH = 0 -DOT_TRANSPARENT = NO -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES - diff --git a/doc/html/16c550_8h_source.html b/doc/html/16c550_8h_source.html deleted file mode 100644 index a12e2cc7b..000000000 --- a/doc/html/16c550_8h_source.html +++ /dev/null @@ -1,215 +0,0 @@ - - - - -sgdk: 16c550.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
16c550.h
-
-
-
00001 /************************************************************************/
-00010 #ifndef _16C550_H_
-00011 #define _16C550_H_
-00012 
-00013 #include "types.h"
-00014 
-00015 #if (MODULE_MEGAWIFI != 0)
-00016 
-00018 #define UART_BASE               0xA130C1
-00019 
-00021 #define UART_CLK                24000000LU
-00022 
-00025 #define UART_BR                 1500000LU
-00026 //#define UART_BR                       500000LU
-00027 //#define UART_BR                       750000LU
-00028 //#define UART_BR                       115200
-00029 
-00031 #define UART_TX_FIFO_LEN                16
-00032 
-00034 #define DivWithRounding(dividend, divisor)      ((((dividend)*2/(divisor))+1)/2)
-00035 
-00036 #define UART_DLM_VAL    (DivWithRounding(UART_CLK, 16 * UART_BR)>>8)
-00037 //#define UART_DLM_VAL  ((UART_CLK/16/UART_BR)>>8)
-00039 #define UART_DLL_VAL    (DivWithRounding(UART_CLK, 16 * UART_BR) & 0xFF)
-00040 //#define UART_DLL_VAL  ((UART_CLK/16/UART_BR)&0xFF)
-00041 
-00049 
-00050 #define UART_RHR        (*((volatile uint8_t*)(UART_BASE +  0)))
-00051 
-00052 #define UART_THR        (*((volatile uint8_t*)(UART_BASE +  0)))
-00053 
-00054 #define UART_IER        (*((volatile uint8_t*)(UART_BASE +  2)))
-00055 
-00056 #define UART_FCR        (*((volatile uint8_t*)(UART_BASE +  4)))
-00057 
-00058 #define UART_ISR        (*((volatile uint8_t*)(UART_BASE +  4)))
-00059 
-00060 #define UART_LCR        (*((volatile uint8_t*)(UART_BASE +  6)))
-00061 
-00062 #define UART_MCR        (*((volatile uint8_t*)(UART_BASE +  8)))
-00063 
-00064 #define UART_LSR        (*((volatile uint8_t*)(UART_BASE + 10)))
-00065 
-00066 #define UART_MSR        (*((volatile uint8_t*)(UART_BASE + 12)))
-00067 
-00068 #define UART_SPR        (*((volatile uint8_t*)(UART_BASE + 14)))
-00069 
-00070 #define UART_DLL        (*((volatile uint8_t*)(UART_BASE +  0)))
-00071 
-00072 #define UART_DLM        (*((volatile uint8_t*)(UART_BASE +  2)))
-00073 
-00075 
-00076 typedef struct {
-00077         uint8_t IER;    
-00078         uint8_t FCR;    
-00079         uint8_t LCR;    
-00080         uint8_t MCR;    
-00081 } UartShadow;
-00082 
-00084 extern UartShadow sh;
-00085 
-00090 #define UART_MCR__DTR           0x01    ///< Data Terminal Ready.
-00091 #define UART_MCR__RTS           0x02    ///< Request To Send.
-00092 #define UART_MCR__OUT1          0x04    ///< GPIO pin 1.
-00093 #define UART_MCR__OUT2          0x08    ///< GPIO pin 2.
-00094 
-00099 #define UART_MSR__DSR           0x20    ///< Data Set Ready
-00100 
-00102 /************************************************************************/
-00107 void uart_init(void);
-00108 
-00109 /************************************************************************/
-00115 #define uart_tx_ready() (UART_LSR & 0x20)
-00116 
-00117 /************************************************************************/
-00122 #define uart_rx_ready() (UART_LSR & 0x01)
-00123 
-00124 /************************************************************************/
-00130 #define uart_putc(c)            do{UART_RHR = (c);}while(0);
-00131 
-00132 /************************************************************************/
-00138 #define uart_getc()             (UART_RHR)
-00139 
-00140 /************************************************************************/
-00146 #define uart_set(reg, val)      do{sh.reg = (val);UART_##reg = (val);}while(0)
-00147 
-00148 /************************************************************************/
-00154 #define uart_get(reg)           (sh.reg)
-00155 
-00156 /************************************************************************/
-00162 #define uart_set_bits(reg, val) do{sh.reg |= (val);                     \
-00163         UART_##reg = sh.reg;}while(0)
-00164 
-00165 /************************************************************************/
-00171 #define uart_clr_bits(reg, val) do{sh.reg &= ~(val);                    \
-00172         UART_##reg = sh.reg;}while(0)
-00173 
-00174 /************************************************************************/
-00177 #define uart_reset_fifos()      uart_set_bits(FCR, 0x07)
-00178 
-00179 #endif // MODULE_MEGAWIFI
-00180 
-00181 #endif /*_16C550_H_*/
-00182 
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/annotated.html b/doc/html/annotated.html deleted file mode 100644 index 32e1a8b85..000000000 --- a/doc/html/annotated.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - -sgdk: Class List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Class List
-
-
-
Here are the classes, structs, unions and interfaces with brief descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
_collision
AnimationSprite animation structure
AnimationFrameSprite animation frame structure
BitmapGenesis 4bpp Bitmap structure definition.
- Use the unpackBitmap() method to unpack if compression is enabled
BoxSimple Box structure
BoxCollisionSimple Box structure for collision
CircleSimple Circle structure
CircleCollisionSimple Circle structure (can be used for collision detection)
CollisionCollision definition union
Context3DStructure hosting settings / context for the 3D transform engine
DMAOpInfoDMA transfer definition (used for DMA queue)
flash_chipMetadata of a flash chip, describing memory layout
flash_regionMetadata of a flash region, consisting of several sectors. /
FrameVDPSpriteSingle VDP sprite info structure for sprite animation frame
ImageImage structure which contains all data to define an image in a background plane.
- Use the unpackImage() method to unpack if compression is enabled in TileSet or TileMap structure
InterruptCaller
LineLine definition
MapMap structure containing information for large background/plane update based on MapDefinition
MapDefinitionMapDefinition structure which contains data for large level background.
- It's optimized to encode large map using 128x128 block chunk (block chunk are organized in metatile)
Mat2D_f162x2 Matrice structure - f16 (fix16) type.
- Internally uses 2 2D vectors
Mat2D_f322x2 Matrice structure - f32 (fix32) type.
- Internally uses 2 2D vectors
Mat3D_f163x3 Matrice structure - f16 (fix16) type.
- Internally uses 3 3D vectors
Mat3D_f323x3 Matrice structure - f32 (fix32) type.
- Internally uses 3 3D vectors
Mat4D_f164x4 Matrice structure - f16 (fix16) type.
- Internally uses 4 4D vectors
Mat4D_f324x4 Matrice structure - f32 (fix32) type.
- Internally uses 4 4D vectors
Object_Base object structure
PalettePalette structure contains color data
PixelPixel definition
PoolObject pool allocator structure
ROMHeader
save_blob
save_manager
sector_hdr
sector_metadata
SpriteSprite structure used by the Sprite Engine to store state for a sprite.
- WARNING: always use the SPR_addSprite(..) method to allocate Sprite object.
-
SpriteDefinitionSprite definition structure
TileMapTileMap structure which contains tilemap background definition.
- Use the unpackTileMap() method to unpack if compression is enabled
TileSetTile set structure which contains tiles definition.
- Use the unpackTileSet() method to unpack if compression is enabled
Transformation3D3D transformation object - f16 (fix16) type.
- This object define the global 3D transformation informations and associated cached data.
- If rotation information is modified the rebuildMat flag should be set to 1.
- Rotation and translation objects are reference so don't forget to set them
TriangleTriangle definition
VDPSpriteVDP sprite definition structure replicating VDP hardware sprite
Vect2D_f162D Vector structure - f16 (fix16) type
Vect2D_f322D Vector structure - f32 (fix32) type
Vect2D_s162D Vector structure - s16 type
Vect2D_s322D Vector structure - s32 type
Vect2D_u162D Vector structure - u16 type
Vect2D_u322D Vector structure - u32 type
Vect3D_f163D Vector structure - f16 (fix16) type
Vect3D_f323D Vector structure - f32 (fix32) type
Vect3D_s163D Vector structure - s16 type
Vect3D_s323D Vector structure - s32 type
Vect3D_u163D Vector structure - u16 type
Vect3D_u323D Vector structure - u32 type
Vect4D_f164D Vector structure - f16 (fix16) type
Vect4D_f324D Vector structure - f32 (fix32) type
VRAMRegionVRAM region structure
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/asm_8h.html b/doc/html/asm_8h.html deleted file mode 100644 index 97e7255e6..000000000 --- a/doc/html/asm_8h.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - -sgdk: asm.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
asm.h File Reference
-
-
- -

Assembly helper. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - -

-Defines

-#define VAR2REG_B(var, reg)   asm volatile ("move.b %0, %/"reg"" :: "r" (var) : ""reg"");
-#define VAR2REG_W(var, reg)   asm volatile ("move.w %0, %/"reg"" :: "r" (var) : ""reg"");
-#define VAR2REG_L(var, reg)   asm volatile ("move.l %0, %/"reg"" :: "r" (var) : ""reg"");
-#define REG2VAR_B(reg, var)   asm volatile ("move.b %/"reg", %0" : "=r" (var));
-#define REG2VAR_W(reg, var)   asm volatile ("move.w %/"reg", %0" : "=r" (var));
-#define REG2VAR_L(reg, var)   asm volatile ("move.l %/"reg", %0" : "=r" (var));
-#define ENUM_BEGIN   typedef enum {
-#define ENUM_BEGIN_EX(tmpName)   typedef enum tmpName {
-#define ENUM_BEGIN_SHORT   typedef enum __attribute__ ((__packed__)) {
-#define ENUM_BEGIN_SHORT_EX(tmpName)   typedef enum __attribute__ ((__packed__)) tmpName {
-#define ENUM_VAL(name)   name,
-#define ENUM_VALASSIGN(name, value)   name = value,
-#define ENUM_END(enum_name)   } enum_name;
-

Detailed Description

-

Assembly helper.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides methods to help dealing with inline assembly or header inclusion GAS.

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/asm_8h_source.html b/doc/html/asm_8h_source.html deleted file mode 100644 index 2bcb7ceb3..000000000 --- a/doc/html/asm_8h_source.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - -sgdk: asm.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
asm.h
-
-
-Go to the documentation of this file.
00001 
-00010 #ifndef _ASM_H_
-00011 #define _ASM_H_
-00012 
-00013 
-00014 #define VAR2REG_B(var, reg)       asm volatile ("move.b %0, %/"reg"" :: "r" (var) : ""reg"");
-00015 #define VAR2REG_W(var, reg)       asm volatile ("move.w %0, %/"reg"" :: "r" (var) : ""reg"");
-00016 #define VAR2REG_L(var, reg)       asm volatile ("move.l %0, %/"reg"" :: "r" (var) : ""reg"");
-00017 
-00018 #define REG2VAR_B(reg, var)       asm volatile ("move.b %/"reg", %0" : "=r" (var));
-00019 #define REG2VAR_W(reg, var)       asm volatile ("move.w %/"reg", %0" : "=r" (var));
-00020 #define REG2VAR_L(reg, var)       asm volatile ("move.l %/"reg", %0" : "=r" (var));
-00021 
-00022 // enumeration helper for GAS
-00023 #if defined(__ASSEMBLY__) || defined(__ASSEMBLER__)
-00024 
-00025   .set last_enum_value, 0
-00026   .macro enum_val name
-00027   .equiv \name, last_enum_value
-00028   .set last_enum_value, last_enum_value + 1
-00029   .endm
-00030 
-00031     #define ENUM_BEGIN  .set last_enum_value, 0
-00032     #define ENUM_BEGIN_EX(tmpName)  .set last_enum_value, 0
-00033     #define ENUM_BEGIN_SHORT  .set last_enum_value, 0
-00034     #define ENUM_BEGIN_SHORT_EX(tmpName)  .set last_enum_value, 0
-00035     #define ENUM_VAL(name) enum_val name
-00036     #define ENUM_VALASSIGN(name, value)            \
-00037       .set last_enum_value, value                 ;\
-00038       enum_val name
-00039     #define ENUM_END(enum_name)
-00040 #else
-00041     #define ENUM_BEGIN typedef enum {
-00042     #define ENUM_BEGIN_EX(tmpName) typedef enum tmpName {
-00043     #define ENUM_BEGIN_SHORT typedef enum __attribute__ ((__packed__)) {
-00044     #define ENUM_BEGIN_SHORT_EX(tmpName) typedef enum __attribute__ ((__packed__)) tmpName {
-00045     #define ENUM_VAL(name) name,
-00046     #define ENUM_VALASSIGN(name, value) name = value,
-00047     #define ENUM_END(enum_name) } enum_name;
-00048 #endif
-00049 
-00050 
-00051 #endif // _ASM_H_
-00052 
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/bc_s.png b/doc/html/bc_s.png deleted file mode 100644 index 51ba0066debbeac813d4014d805dc95ebd5b532e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 705 zcmV;y0zUnTP)rF$rQRw6Q(&UpP1C2j9>6opbR!_oV&F*Ar#jFVPDcrqyulXW;j+8j#k`kzKrw^%mxu{{V1|%gWybaP{#p01Ow~ zB}u2{E{(}bUp!#{_s(CTu-lqpI0GO7kSiTS0H7s=EN*pJI7&&m$E!@mK+B_{Xx(nj zH0-yS_)(8nX^er(4+o=lHsk1YNuDJFz~=EOD_HN~zW*iu%I90GV!oc&bWQk_4geq* z?tP92Q)0;sZ>cqtNr zOitc-rw&Cz$YQa>g0&|*N&WS=YH&7966!J}!88AdX)_x%jMh)j1wW9Z z*IvhmrFxz{vu`%7PR#}L0f5_4b|fCOXQid+8KYfFC_DlHq_*W{G_-J(_zH3*04SWE z4=w=!x2-hRp+Pe7IRei{XXZoQv3aO*zlhc|&K$GAain(EABqhLSF-2uT86!Xj#Z0B zU3k_Xawp7W)%kt^=&@!R3-to)mi?gz3E*IJe>$ba=d_9I2l8b9axei@p6k1qW)^BJ zqHa=NSguR@Srtva-n?v)XN=T%7nVoVfN2cYfePZIbCZQi`9_mavc00000NkvXXu0mjfn{!2m diff --git a/doc/html/bmp_8h.html b/doc/html/bmp_8h.html deleted file mode 100644 index 5ed81240f..000000000 --- a/doc/html/bmp_8h.html +++ /dev/null @@ -1,1714 +0,0 @@ - - - - -sgdk: bmp.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
bmp.h File Reference
-
-
- -

Software bitmap engine. -More...

-
#include "maths.h"
-#include "vdp.h"
-#include "pal.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  Bitmap
 Genesis 4bpp Bitmap structure definition.
- Use the unpackBitmap() method to unpack if compression is enabled. More...
struct  Pixel
 Pixel definition. More...
struct  Line
 Line definition. More...
struct  Triangle
 Triangle definition. More...

-Defines

-#define BMP_PLANE_WIDTH_SFT   planeWidthSft
-#define BMP_PLANE_HEIGHT_SFT   planeHeightSft
-#define BMP_PLANE_WIDTH   64
 Bitmap plane width (in tile)
-#define BMP_PLANE_HEIGHT   64
 Bitmap plane height (in tile)
-#define BMP_TILE_WIDTH_SFT   5
-#define BMP_TILE_WIDTH   (1 << BMP_TILE_WIDTH_SFT)
 Bitmap width (in tile): 32.
-#define BMP_TILE_WIDTH_MASK   (BMP_TILE_WIDTH - 1)
-#define BMP_TILE_HEIGHT   20
 Bitmap height (in tile): 20.
-#define BMP_TILE_XOFFSET   (((screenWidth >> 3) - BMP_TILE_WIDTH) / 2)
-#define BMP_TILE_YOFFSET   (((screenHeight >> 3) - BMP_TILE_HEIGHT) / 2)
-#define BMP_XPIXPERTILE_SFT   3
-#define BMP_YPIXPERTILE_SFT   3
-#define BMP_XPIXPERTILE   (1 << BMP_XPIXPERTILE_SFT)
 Number of X pixel per tile: 8 pixels per tile.
-#define BMP_YPIXPERTILE   (1 << BMP_YPIXPERTILE_SFT)
 Number of y pixel per tile: 8 pixels per tile.
-#define BMP_XPIXPERTILE_MASK   (BMP_XPIXPERTILE - 1)
-#define BMP_YPIXPERTILE_MASK   (BMP_YPIXPERTILE - 1)
-#define BMP_WIDTH_SFT   (BMP_TILE_WIDTH_SFT + BMP_XPIXPERTILE_SFT)
-#define BMP_WIDTH   (1 << BMP_WIDTH_SFT)
 Bitmap width (in pixel): 256.
-#define BMP_HEIGHT   (BMP_TILE_HEIGHT * BMP_YPIXPERTILE)
 Bitmap height (in pixel): 160.
-#define BMP_WIDTH_MASK   (BMP_WIDTH - 1)
-#define BMP_PITCH_SFT   (BMP_TILE_WIDTH_SFT + 2)
-#define BMP_PITCH   (1 << BMP_PITCH_SFT)
 Bitmap scanline pitch (number of byte per scanline): 128.
-#define BMP_PITCH_MASK   (BMP_PITCH - 1)
-#define BMP_GENBMP16_WIDTH(genbmp16)   ((genbmp16)[0])
 Get width of genesis bitmap 16 object.
-#define BMP_GENBMP16_HEIGHT(genbmp16)   ((genbmp16)[1])
 Get height of genesis bitmap 16 object.
-#define BMP_GENBMP16_PALETTE(genbmp16)   (&((genbmp16)[2]))
 Return pointer to palette of genesis bitmap 16 object.
-#define BMP_GENBMP16_IMAGE(genbmp16)   (&((genbmp16)[18]))
 Return pointer to image data of genesis bitmap 16 object.
#define BMP_GETPIXEL(x, y)   _Pragma("GCC error \"This method is deprecated, use BMP_getPixelFast(..) instead.\"")
#define BMP_SETPIXEL(x, y, col)   _Pragma("GCC error \"This method is deprecated, use BMP_setPixelFast(..) instead.\"")
-#define BMP_BASE_TILE_INDEX   TILE_USER_INDEX
-#define BMP_FB0_TILE_INDEX   BMP_BASE_TILE_INDEX
-#define BMP_FB1_TILE_INDEX   (BMP_BASE_TILE_INDEX + (BMP_TILE_WIDTH * BMP_TILE_HEIGHT))
-#define BMP_FB0_END_TILE_INDEX   (BMP_FB0_TILE_INDEX + (BMP_TILE_WIDTH * BMP_TILE_HEIGHT))
-#define BMP_FB1_END_TILE_INDEX   (BMP_FB1_TILE_INDEX + (BMP_TILE_WIDTH * BMP_TILE_HEIGHT))
-#define BMP_END_TILE_INDEX   BMP_FB1_END_TILE_INDEX
-#define BMP_BASE_ADDR   (BMP_BASE_TILE_INDEX * 32)
-#define BMP_FB0_ADDR   (BMP_FB0_TILE_INDEX * 32)
-#define BMP_FB1_ADDR   (BMP_FB1_TILE_INDEX * 32)
-#define BMP_END_ADDR   (BMP_END_TILE_INDEX * 32)
#define BMP_loadBitmapData(data, x, y, w, h, pitch)   _Pragma("GCC error \"This method is deprecated, use BMP_drawBitmapData(..) instead.\"")
#define BMP_loadBitmap(bitmap, x, y, loadpal)   _Pragma("GCC error \"This method is deprecated, use BMP_drawBitmap(..) instead.\"")
#define BMP_loadAndScaleBitmap(bitmap, x, y, w, h, loadpal)   _Pragma("GCC error \"This method is deprecated, use BMP_drawBitmapScaled(..) instead.\"")
#define BMP_getBitmapPalette(bitmap, pal)   _Pragma("GCC error \"This method is deprecated, use bitmap->palette instead.\"")

-Functions

void BMP_init (u16 double_buffer, VDPPlane plane, u16 palette, u16 priority)
 Initialize the software bitmap engine.
void BMP_end (void)
 End the software bitmap engine.
void BMP_reset (void)
 Reset the software bitmap engine.
void BMP_setBufferCopy (u16 value)
 Enable back buffer preservation.
u16 BMP_flip (u16 async)
 Flip bitmap buffer to screen.
-void BMP_clear (void)
 Clear bitmap buffer.
u8BMP_getWritePointer (u16 x, u16 y)
 Get write pointer for specified pixel.
u8BMP_getReadPointer (u16 x, u16 y)
 Get read pointer for specified pixel.
-u16 BMP_hasFlipRequestPending (void)
 Return true (!= 0) if a flip request is pending.
-void BMP_waitWhileFlipRequestPending (void)
 Wait until no more flip request is pending.
-u16 BMP_hasFlipInProgess (void)
 Return true (!= 0) if a flip operation is in progress.
-void BMP_waitFlipComplete (void)
 Wait until the asynchronous flip operation is completed.
- Blit operation is the bitmap buffer transfer to VRAM.
-
void BMP_drawText (const char *str, u16 x, u16 y)
 Draw text in bitmap mode.
void BMP_clearText (u16 x, u16 y, u16 w)
 Clear text in bitmap mode.
void BMP_clearTextLine (u16 y)
 Clear a line of text in bitmap mode.
void BMP_showFPS (u16 float_display)
 Show the frame rate in bitmap mode.
u8 BMP_getPixel (u16 x, u16 y)
 Get pixel at specified position (safe version with bounds verification)
u8 BMP_getPixelFast (u16 x, u16 y)
 Get pixel at specified position (fast version without bounds verification)
void BMP_setPixel (u16 x, u16 y, u8 col)
 Set pixel at specified position (safe version with bounds verification)
void BMP_setPixelFast (u16 x, u16 y, u8 col)
 Set pixel at specified position (fast version without bounds verification)
void BMP_setPixels_V2D (const Vect2D_u16 *crd, u8 col, u16 num)
 Set pixels from Vect2D array (safe version with bounds verification)
void BMP_setPixelsFast_V2D (const Vect2D_u16 *crd, u8 col, u16 num)
 Set pixels from Vect2D array (fast version without bounds verification)
void BMP_setPixels (const Pixel *pixels, u16 num)
 Set pixels from Pixel array (safe version with bounds verification)
void BMP_setPixelsFast (const Pixel *pixels, u16 num)
 Set pixels from Pixel array (fast version without bounds verification)
u16 BMP_clipLine (Line *l)
 Clip the specified line so it fit in bitmap screen (0, 0, BMP_WIDTH, BMP_HEIGHT)
void BMP_drawLine (Line *l)
 Draw a line (no bounds verification). You can use BMP_clipLine(..) first to clip the line to view range if needed.
u16 BMP_isPolygonCulled (const Vect2D_s16 *pts, u16 num)
 Determine if the specified polygon is culled.
- The polygon points should be defined in clockwise order.
- The method returns 1 if the polygon is back faced and should be eliminated for 3D rendering.
u16 BMP_drawPolygon (const Vect2D_s16 *pts, u16 num, u8 col)
 Draw a polygon.
- The polygon points should be defined in clockwise order.
- Use the BMP_isPolygonCulled(..) method to test if polygon should be draw or not.
void BMP_drawBitmapData (const u8 *data, u16 x, u16 y, u16 w, u16 h, u32 pitch)
 Draw the specified 4BPP bitmap data.
bool BMP_drawBitmap (const Bitmap *bitmap, u16 x, u16 y, bool loadpal)
 Draw a Genesis Bitmap.
-
bool BMP_drawBitmapScaled (const Bitmap *bitmap, u16 x, u16 y, u16 w, u16 h, bool loadpal)
 Load and draw a Genesis Bitmap with specified dimension.
-
void BMP_scale (const u8 *src_buf, u16 src_wb, u16 src_h, u16 src_pitch, u8 *dst_buf, u16 dst_wb, u16 dst_h, u16 dst_pitch)
 Scale the specified source bitmap image to specified dimension.
-

-Variables

u8bmp_buffer_read
u8bmp_buffer_write
-

Detailed Description

-

Software bitmap engine.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides methods to simulate bitmap mode on SEGA genesis.
-
- The software bitmap engine permit to simulate a 256x160 pixels bitmap screen.
- Bitmap engine requires a large amount of memory (~41KB) which is dynamically allocated at BMP_init(..) time and released when BMP_end() is called.
- Bitmap engine uses a double buffer so you can draw to the write buffer while the read buffer is being sent to video memory.
- These buffers are transferred to VRAM during blank area, by default on NTSC system the blanking period is really short so it takes approximately 10 frames to blit an entire buffer.
- To improve transfer performance the blank area is extended to fit bitmap resolution:
- scanline 0-31 = blank
- scanline 32-191 = active
- scanline 192-262/312 = blank
-
- With extended blank bitmap buffer can be transferred to VRAM 20 times per second in NTSC
- and 25 time per second in PAL.

-

Define Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
#define BMP_getBitmapPalette( bitmap,
 pal 
)   _Pragma("GCC error \"This method is deprecated, use bitmap->palette instead.\"")
-
-
-
Deprecated:
Uses bitmap->palette instead.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define BMP_GETPIXEL( x,
 
)   _Pragma("GCC error \"This method is deprecated, use BMP_getPixelFast(..) instead.\"")
-
-
-
Deprecated:
Use BMP_getPixelFast(..) instead (inlining make macro useless)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#define BMP_loadAndScaleBitmap( bitmap,
 x,
 y,
 w,
 h,
 loadpal 
)   _Pragma("GCC error \"This method is deprecated, use BMP_drawBitmapScaled(..) instead.\"")
-
-
-
Deprecated:
Use BMP_drawBitmapEx(..) instead.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#define BMP_loadBitmap( bitmap,
 x,
 y,
 loadpal 
)   _Pragma("GCC error \"This method is deprecated, use BMP_drawBitmap(..) instead.\"")
-
-
-
Deprecated:
Use BMP_drawBitmap(..) instead.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#define BMP_loadBitmapData( data,
 x,
 y,
 w,
 h,
 pitch 
)   _Pragma("GCC error \"This method is deprecated, use BMP_drawBitmapData(..) instead.\"")
-
-
-
Deprecated:
Use BMP_drawBitmapData(..) instead.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define BMP_SETPIXEL( x,
 y,
 col 
)   _Pragma("GCC error \"This method is deprecated, use BMP_setPixelFast(..) instead.\"")
-
-
-
Deprecated:
Use BMP_setPixelFast(..) instead (inlining make macro useless)
- -
-
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void BMP_clearText (u16 x,
u16 y,
u16 w 
)
-
-
- -

Clear text in bitmap mode.

-
Parameters:
- - - - -
xX coordinate (in tile).
yy coordinate (in tile).
wNumber of characters to clear.
-
-
- -
-
- -
-
- - - - - - - - -
void BMP_clearTextLine (u16 y)
-
-
- -

Clear a line of text in bitmap mode.

-
Parameters:
- - -
yy coordinate (in tile).
-
-
- -
-
- -
-
- - - - - - - - -
u16 BMP_clipLine (Linel)
-
-
- -

Clip the specified line so it fit in bitmap screen (0, 0, BMP_WIDTH, BMP_HEIGHT)

-
Parameters:
- - -
lLine to clip.
-
-
-
Returns:
FALSE (0) is the line is entirely outside bitmap screen (no clip is done).
- TRUE if at least one pixel is on screen (line is clipped if needed).
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool BMP_drawBitmap (const Bitmapbitmap,
u16 x,
u16 y,
bool loadpal 
)
-
-
- -

Draw a Genesis Bitmap.
-

-

A Genesis bitmap is automatically created from .bmp or .png file via the rescomp tool.
- The resulting file contains bitmap size info and 16 colors palette.
-

-
Parameters:
- - - - - -
bitmapGenesis Bitmap.
- The Bitmap is unpacked "on the fly" if needed (require some memory).
xX coordinate (should be an even value).
yy coordinate.
loadpalLoad the bitmap palette information.
-
-
-
Returns:
FALSE if there is not enough memory to unpack the specified Bitmap (only if compression was enabled).
-

X coordinate is aligned to even value for performance reason.
- So BMP_drawBitmap(bitmap,0,0,TRUE) will produce same result as BMP_drawBitmap(bitmap,1,0,TRUE)

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void BMP_drawBitmapData (const u8data,
u16 x,
u16 y,
u16 w,
u16 h,
u32 pitch 
)
-
-
- -

Draw the specified 4BPP bitmap data.

-
Parameters:
- - - - - - - -
data4BPP image data buffer.
xX coordinate (should be an even value for byte alignment).
yy coordinate.
wwidth (should be an even value for byte alignment).
hheight.
pitchbitmap pitch (number of bytes per bitmap scanline).
-
-
-

X coordinate as Width are aligned to even value for performance reason.
- So BMP_drawBitmapData(data,0,0,w,h,w) will produce same result as BMP_drawBitmapData(data,1,0,w,h,w)

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool BMP_drawBitmapScaled (const Bitmapbitmap,
u16 x,
u16 y,
u16 w,
u16 h,
bool loadpal 
)
-
-
- -

Load and draw a Genesis Bitmap with specified dimension.
-

-

A Genesis bitmap is automatically created from .bmp or .png file via the rescomp tool.
- The resulting file contains bitmap size info and 16 colors palette.
- This method will scale and draw the bitmap with the specified dimension.

-
Parameters:
- - - - - - - -
bitmapGenesis bitmap.
- The Bitmap is unpacked "on the fly" if needed (require some memory).
xX coordinate (should be an even value).
yy coordinate.
wfinal width.
hfinal height.
loadpalLoad the bitmap palette information
-
-
-
Returns:
FALSE if there is not enough memory to unpack the specified Bitmap (only if compression was enabled).
-

X coordinate as width are aligned to even values for performance reason.
- So BMP_drawBitmapScaled(bitmap,0,0,w,h,pal) will produce same result as BMP_drawBitmapScaled(bitmap,1,0,w,h,pal)

- -
-
- -
-
- - - - - - - - -
void BMP_drawLine (Linel)
-
-
- -

Draw a line (no bounds verification). You can use BMP_clipLine(..) first to clip the line to view range if needed.

-
Parameters:
- - -
lLine to draw.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
u16 BMP_drawPolygon (const Vect2D_s16pts,
u16 num,
u8 col 
)
-
-
- -

Draw a polygon.
- The polygon points should be defined in clockwise order.
- Use the BMP_isPolygonCulled(..) method to test if polygon should be draw or not.

-
Parameters:
- - - - -
ptsPolygon points buffer.
numnumber of point (length of points buffer).
colfill color.
-
-
-
Returns:
0 if polygon was not drawn (outside screen or whatever).
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void BMP_drawText (const char * str,
u16 x,
u16 y 
)
-
-
- -

Draw text in bitmap mode.

-
Parameters:
- - - - -
strString to display.
xX coordinate (in tile).
yy coordinate (in tile).
-
-
- -
-
- -
-
- - - - - - - - -
void BMP_end (void )
-
-
- -

End the software bitmap engine.

-

Release memory used by software bitmap engine (~41 KB).

- -
-
- -
-
- - - - - - - - -
u16 BMP_flip (u16 async)
-
-
- -

Flip bitmap buffer to screen.

-

Blit the current bitmap back buffer to the screen then flip buffers so back buffer becomes front buffer and vice versa.
- If you use async flag the Bitmap buffer will be sent to video memory asynchronously during blank period and the function return immediatly.
- If a flip is already in process then flip request is marked as pending and will be processed as soon the current one complete.
- You can use BMP_waitWhileFlipRequestPending() method to ensure no more flip request are pending before writing to bitmap buffer.
- If a flip request is already pending the function wait until no more request are pending.

-
Parameters:
- - -
asyncAsynchronous flip operation flag.
-
-
-
Returns:
Only meaningful for async operation:
- 0 if the flip request has be marked as pending as another flip is already in process.
- 1 if the flip request has be initiated.
-
See also:
BMP_hasFlipRequestPending()
-
-BMP_waitWhileFlipRequestPending()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u8 BMP_getPixel (u16 x,
u16 y 
) [inline]
-
-
- -

Get pixel at specified position (safe version with bounds verification)

-
Parameters:
- - - -
xX coordinate.
yY coordinate.
-
-
-
See also:
BMP_getPixelFast
-
-BMP_setPixel
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u8 BMP_getPixelFast (u16 x,
u16 y 
) [inline]
-
-
- -

Get pixel at specified position (fast version without bounds verification)

-
Parameters:
- - - -
xX coordinate.
yY coordinate.
-
-
-
See also:
BMP_getPixel
-
-BMP_setPixelFast
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u8* BMP_getReadPointer (u16 x,
u16 y 
)
-
-
- -

Get read pointer for specified pixel.

-
Parameters:
- - - -
xX pixel coordinate.
yY pixel coordinate.
-
-
-

As coordinates are expressed for 4bpp pixel BMP_getReadPointer(0,0) and BMP_getReadPointer(1,0) actually returns the same address.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u8* BMP_getWritePointer (u16 x,
u16 y 
)
-
-
- -

Get write pointer for specified pixel.

-
Parameters:
- - - -
xX pixel coordinate.
yY pixel coordinate.
-
-
-

As coordinates are expressed for 4bpp pixel BMP_getWritePointer(0,0) and BMP_getWritePointer(1,0) actually returns the same address.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void BMP_init (u16 double_buffer,
VDPPlane plane,
u16 palette,
u16 priority 
)
-
-
- -

Initialize the software bitmap engine.

-
Parameters:
- - - - - -
double_bufferEnabled VRAM double buffer.
- VRAM Double buffer permit to avoid image tearing because of partial screen refresh.
- It requires almost all VRAM tiles space (~41 KB) so enable it only if you don't need other plane or sprites.
planePlane to use to display the bitmap.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
-
palettePalette index to use to render the bitmap plane.
- Set it to 0 if unsure.
prioritySet the priority of bitmap plane.
- 0 = low priority (default).
- 1 = high priority.
-
-
-

Requires ~41 KB of memory which is dynamically allocated.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u16 BMP_isPolygonCulled (const Vect2D_s16pts,
u16 num 
)
-
-
- -

Determine if the specified polygon is culled.
- The polygon points should be defined in clockwise order.
- The method returns 1 if the polygon is back faced and should be eliminated for 3D rendering.

-
Parameters:
- - - -
ptsPolygon points buffer.
numnumber of point (length of points buffer).
-
-
-
Returns:
1 if polygon is culled (should not be draw) and 0 otherwise.
-
- -
-
- -
-
- - - - - - - - -
void BMP_reset (void )
-
-
- -

Reset the software bitmap engine.

-

Rebuild tilemap for bitmap engine and clear buffers.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void BMP_scale (const u8src_buf,
u16 src_wb,
u16 src_h,
u16 src_pitch,
u8dst_buf,
u16 dst_wb,
u16 dst_h,
u16 dst_pitch 
)
-
-
- -

Scale the specified source bitmap image to specified dimension.
-

-

Take a source bitmap with its specified dimension and scale it in the
- destination buffer with specified dimension.
-

-
Parameters:
- - - - - - - - - -
src_bufsource bitmap buffer.
src_wbsource width in byte.
src_hsource height.
src_pitchsource pitch (number of bytes per scanline).
dst_bufdestination bitmap buffer.
dst_wbdestination width in byte.
dst_hdestination height.
dst_pitchdestination pitch (number of bytes per scanline).
-
-
- -
-
- -
-
- - - - - - - - -
void BMP_setBufferCopy (u16 value)
-
-
- -

Enable back buffer preservation.

-

The bitmap engine is always using double buffering in maim memory so you can continue to write your bitmap while the previous bitmap is being transferred to video memory.
- The problem with double buffer is that your content is not preserved on a frame basis as you have 2 differents buffers, by enabling "buffer copy" you can preserve your bitmap but this has an important CPU cost as we need to copy bitmap buffer at each flip operation.
- By default buffer copy is disabled for obvious performance reason.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void BMP_setPixel (u16 x,
u16 y,
u8 col 
) [inline]
-
-
- -

Set pixel at specified position (safe version with bounds verification)

-
Parameters:
- - - - -
xX pixel coordinate.
yY pixel coordinate.
colpixel color (should be 8 bits filled: 0x00, 0x11, .. for plain color)
-
-
-
See also:
BMP_setPixelFast
-
-BMP_getPixel
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void BMP_setPixelFast (u16 x,
u16 y,
u8 col 
) [inline]
-
-
- -

Set pixel at specified position (fast version without bounds verification)

-
Parameters:
- - - - -
xX pixel coordinate.
yY pixel coordinate.
colpixel color (should be 8 bits filled: 0x00, 0x11, .. for plain color)
-
-
-
See also:
BMP_setPixel
-
-BMP_getPixelFast
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void BMP_setPixels (const Pixelpixels,
u16 num 
)
-
-
- -

Set pixels from Pixel array (safe version with bounds verification)

-
Parameters:
- - - -
pixelsPixels buffer.
numnumber of pixel to draw (length of pixels buffer).
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void BMP_setPixels_V2D (const Vect2D_u16crd,
u8 col,
u16 num 
)
-
-
- -

Set pixels from Vect2D array (safe version with bounds verification)

-
Parameters:
- - - - -
crdVect2D_u16 Coordinates buffer.
colpixels color (should be 8 bits filled: 0x00, 0x11, .. for plain color)
numnumber of pixel to draw (length of coordinates buffer).
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void BMP_setPixelsFast (const Pixelpixels,
u16 num 
)
-
-
- -

Set pixels from Pixel array (fast version without bounds verification)

-
Parameters:
- - - -
pixelsPixels buffer.
numnumber of pixel to draw (length of pixels buffer).
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void BMP_setPixelsFast_V2D (const Vect2D_u16crd,
u8 col,
u16 num 
)
-
-
- -

Set pixels from Vect2D array (fast version without bounds verification)

-
Parameters:
- - - - -
crdVect2D_u16 Coordinates buffer.
colpixels color (should be 8 bits filled: 0x00, 0x11, .. for plain color)
numnumber of pixel to draw (length of coordinates buffer).
-
-
- -
-
- -
-
- - - - - - - - -
void BMP_showFPS (u16 float_display)
-
-
- -

Show the frame rate in bitmap mode.

-
Parameters:
- - -
float_displayIf this value is true (!= 0) the frame rate is displayed as float (else it's integer).
-
-
- -
-
-

Variable Documentation

- -
-
- - - - -
u8* bmp_buffer_read
-
-
-

Current bitmap read buffer.

- -
-
- -
-
- - - - -
u8* bmp_buffer_write
-
-
-

Current bitmap write buffer.

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/bmp_8h_source.html b/doc/html/bmp_8h_source.html deleted file mode 100644 index e8dd6853d..000000000 --- a/doc/html/bmp_8h_source.html +++ /dev/null @@ -1,275 +0,0 @@ - - - - -sgdk: bmp.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
bmp.h
-
-
-Go to the documentation of this file.
00001 
-00022 #include "maths.h"
-00023 #include "vdp.h"
-00024 #include "pal.h"
-00025 
-00026 #ifndef _BMP_H_
-00027 #define _BMP_H_
-00028 
-00029 
-00030 #define BMP_PLANE_WIDTH_SFT         planeWidthSft
-00031 #define BMP_PLANE_HEIGHT_SFT        planeHeightSft
-00032 
-00036 #define BMP_PLANE_WIDTH             64
-00037 
-00041 #define BMP_PLANE_HEIGHT            64
-00042 
-00043 #define BMP_TILE_WIDTH_SFT          5
-00044 
-00048 #define BMP_TILE_WIDTH              (1 << BMP_TILE_WIDTH_SFT)
-00049 #define BMP_TILE_WIDTH_MASK         (BMP_TILE_WIDTH - 1)
-00050 
-00054 #define BMP_TILE_HEIGHT             20
-00055 
-00056 #define BMP_TILE_XOFFSET            (((screenWidth >> 3) - BMP_TILE_WIDTH) / 2)
-00057 #define BMP_TILE_YOFFSET            (((screenHeight >> 3) - BMP_TILE_HEIGHT) / 2)
-00058 
-00059 #define BMP_XPIXPERTILE_SFT         3
-00060 #define BMP_YPIXPERTILE_SFT         3
-00061 
-00065 #define BMP_XPIXPERTILE             (1 << BMP_XPIXPERTILE_SFT)
-00066 
-00070 #define BMP_YPIXPERTILE             (1 << BMP_YPIXPERTILE_SFT)
-00071 #define BMP_XPIXPERTILE_MASK        (BMP_XPIXPERTILE - 1)
-00072 #define BMP_YPIXPERTILE_MASK        (BMP_YPIXPERTILE - 1)
-00073 
-00074 #define BMP_WIDTH_SFT               (BMP_TILE_WIDTH_SFT + BMP_XPIXPERTILE_SFT)
-00075 
-00079 #define BMP_WIDTH                   (1 << BMP_WIDTH_SFT)
-00080 
-00084 #define BMP_HEIGHT                  (BMP_TILE_HEIGHT * BMP_YPIXPERTILE)
-00085 #define BMP_WIDTH_MASK              (BMP_WIDTH - 1)
-00086 
-00087 #define BMP_PITCH_SFT               (BMP_TILE_WIDTH_SFT + 2)
-00088 
-00092 #define BMP_PITCH                   (1 << BMP_PITCH_SFT)
-00093 #define BMP_PITCH_MASK              (BMP_PITCH - 1)
-00094 
-00099 #define BMP_GENBMP16_WIDTH(genbmp16)    ((genbmp16)[0])
-00100 
-00104 #define BMP_GENBMP16_HEIGHT(genbmp16)   ((genbmp16)[1])
-00105 
-00109 #define BMP_GENBMP16_PALETTE(genbmp16)  (&((genbmp16)[2]))
-00110 
-00114 #define BMP_GENBMP16_IMAGE(genbmp16)    (&((genbmp16)[18]))
-00115 
-00119 #define BMP_GETPIXEL(x, y)          _Pragma("GCC error \"This method is deprecated, use BMP_getPixelFast(..) instead.\"")
-00120 
-00123 #define BMP_SETPIXEL(x, y, col)     _Pragma("GCC error \"This method is deprecated, use BMP_setPixelFast(..) instead.\"")
-00124 
-00125 
-00126 #define BMP_BASE_TILE_INDEX         TILE_USER_INDEX
-00127 
-00128 #define BMP_FB0_TILE_INDEX          BMP_BASE_TILE_INDEX
-00129 #define BMP_FB1_TILE_INDEX          (BMP_BASE_TILE_INDEX + (BMP_TILE_WIDTH * BMP_TILE_HEIGHT))
-00130 
-00131 #define BMP_FB0_END_TILE_INDEX      (BMP_FB0_TILE_INDEX + (BMP_TILE_WIDTH * BMP_TILE_HEIGHT))
-00132 #define BMP_FB1_END_TILE_INDEX      (BMP_FB1_TILE_INDEX + (BMP_TILE_WIDTH * BMP_TILE_HEIGHT))
-00133 #define BMP_END_TILE_INDEX          BMP_FB1_END_TILE_INDEX
-00134 
-00135 #define BMP_BASE_ADDR               (BMP_BASE_TILE_INDEX * 32)
-00136 #define BMP_FB0_ADDR                (BMP_FB0_TILE_INDEX * 32)
-00137 #define BMP_FB1_ADDR                (BMP_FB1_TILE_INDEX * 32)
-00138 #define BMP_END_ADDR                (BMP_END_TILE_INDEX * 32)
-00139 
-00140 
-00160 typedef struct
-00161 {
-00162     u16 compression;
-00163     u16 w;
-00164     u16 h;
-00165     const Palette *palette;
-00166     const u8 *image;
-00167 } Bitmap;
-00168 
-00179 typedef struct
-00180 {
-00181     Vect2D_s16 pt;
-00182     u16 col;
-00183 } Pixel;
-00184 
-00197 typedef struct
-00198 {
-00199     Vect2D_s16 pt1;
-00200     Vect2D_s16 pt2;
-00201     u16 col;
-00202 } Line;
-00203 
-00218 typedef struct
-00219 {
-00220     Vect2D_s16 pt1;
-00221     Vect2D_s16 pt2;
-00222     Vect2D_s16 pt3;
-00223     u16 col;
-00224 } Triangle;
-00225 
-00226 
-00230 extern u8 *bmp_buffer_read;
-00234 extern u8 *bmp_buffer_write;
-00235 
-00236 
-00260 void BMP_init(u16 double_buffer, VDPPlane plane, u16 palette, u16 priority);
-00267 void BMP_end(void);
-00274 void BMP_reset(void);
-00286 void BMP_setBufferCopy(u16 value);
-00311 u16 BMP_flip(u16 async);
-00312 
-00317 void BMP_clear(void);
-00318 
-00331 u8*  BMP_getWritePointer(u16 x, u16 y);
-00344 u8*  BMP_getReadPointer(u16 x, u16 y);
-00345 
-00346 
-00351 u16  BMP_hasFlipRequestPending(void);
-00356 void BMP_waitWhileFlipRequestPending(void);
-00361 u16  BMP_hasFlipInProgess(void);
-00367 void BMP_waitFlipComplete(void);
-00368 
-00380 void BMP_drawText(const char *str, u16 x, u16 y);
-00392 void BMP_clearText(u16 x, u16 y, u16 w);
-00400 void BMP_clearTextLine(u16 y);
-00401 
-00409 void BMP_showFPS(u16 float_display);
-00410 
-00423 u8   BMP_getPixel(u16 x, u16 y);
-00436 u8   BMP_getPixelFast(u16 x, u16 y);
-00451 void BMP_setPixel(u16 x, u16 y, u8 col);
-00466 void BMP_setPixelFast(u16 x, u16 y, u8 col);
-00479  void BMP_setPixels_V2D(const Vect2D_u16 *crd, u8 col, u16 num);
-00492  void BMP_setPixelsFast_V2D(const Vect2D_u16 *crd, u8 col, u16 num);
-00502  void BMP_setPixels(const Pixel *pixels, u16 num);
-00512  void BMP_setPixelsFast(const Pixel *pixels, u16 num);
-00513 
-00524 u16   BMP_clipLine(Line *l);
-00533 void BMP_drawLine(Line *l);
-00546 u16 BMP_isPolygonCulled(const Vect2D_s16 *pts, u16 num);
-00561 u16 BMP_drawPolygon(const Vect2D_s16 *pts, u16 num, u8 col);
-00562 
-00583 void BMP_drawBitmapData(const u8 *data, u16 x, u16 y, u16 w, u16 h, u32 pitch);
-00606 bool BMP_drawBitmap(const Bitmap *bitmap, u16 x, u16 y, bool loadpal);
-00634 bool BMP_drawBitmapScaled(const Bitmap *bitmap, u16 x, u16 y, u16 w, u16 h, bool loadpal);
-00635 
-00640 #define BMP_loadBitmapData(data, x, y, w, h, pitch)             _Pragma("GCC error \"This method is deprecated, use BMP_drawBitmapData(..) instead.\"")
-00641 
-00645 #define BMP_loadBitmap(bitmap, x, y, loadpal)                   _Pragma("GCC error \"This method is deprecated, use BMP_drawBitmap(..) instead.\"")
-00646 
-00650 #define BMP_loadAndScaleBitmap(bitmap, x, y, w, h, loadpal)     _Pragma("GCC error \"This method is deprecated, use BMP_drawBitmapScaled(..) instead.\"")
-00651 
-00656 #define BMP_getBitmapPalette(bitmap, pal)                       _Pragma("GCC error \"This method is deprecated, use bitmap->palette instead.\"")
-00657 
-00682 void BMP_scale(const u8 *src_buf, u16 src_wb, u16 src_h, u16 src_pitch, u8 *dst_buf, u16 dst_wb, u16 dst_h, u16 dst_pitch);
-00683 
-00684 
-00685 #endif // _BMP_H_
-00686 
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/classes.html b/doc/html/classes.html deleted file mode 100644 index 1c3613c6a..000000000 --- a/doc/html/classes.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - -sgdk: Class Index - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Class Index
-
-
-
A | B | C | D | F | I | L | M | O | P | R | S | T | V | _
- -
  A  
-
flash_chip   Mat3D_f32   sector_hdr   Vect2D_s32   
Animation   flash_region   Mat4D_f16   sector_metadata   Vect2D_u16   
AnimationFrame   FrameVDPSprite   Mat4D_f32   Sprite   Vect2D_u32   
  B  
-
  I  
-
  O  
-
SpriteDefinition   Vect3D_f16   
Bitmap   Image   Object_   
  T  
-
Vect3D_f32   
Box   InterruptCaller   
  P  
-
TileMap   Vect3D_s16   
BoxCollision   
  L  
-
Palette   TileSet   Vect3D_s32   
  C  
-
Line   Pixel   Transformation3D   Vect3D_u16   
Circle   
  M  
-
Pool   Triangle   Vect3D_u32   
CircleCollision   Map   
  R  
-
  V  
-
Vect4D_f16   
Collision   MapDefinition   ROMHeader   VDPSprite   Vect4D_f32   
Context3D   Mat2D_f16   
  S  
-
Vect2D_f16   VRAMRegion   
  D  
-
Mat2D_f32   save_blob   Vect2D_f32   
  _  
-
DMAOpInfo   Mat3D_f16   save_manager   Vect2D_s16   _collision   
  F  
-
A | B | C | D | F | I | L | M | O | P | R | S | T | V | _
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/closed.png b/doc/html/closed.png deleted file mode 100644 index b7d4bd9fef2272c74b94762c9e2496177017775e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VuAVNAAr*{o?>h22DDp4|bgj*t z)u^AqcA-V@guRYpb17F<&b?_~8HV>~XqWvB;^$!VVSTy0!eQcJp_yD7TIQA>7dijs YXf6~H5cs^Q6KEiVr>mdKI;Vst0NsWqGynhq diff --git a/doc/html/config_8h.html b/doc/html/config_8h.html deleted file mode 100644 index d36895934..000000000 --- a/doc/html/config_8h.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - -sgdk: config.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
config.h File Reference
-
-
- -

Basic SGDK library configuration file. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define LOG_LEVEL_DISABLE   0
 Log disable.
-#define LOG_LEVEL_ERROR   1
 Log for error only.
-#define LOG_LEVEL_WARNING   2
 Log for error and warning.
-#define LOG_LEVEL_INFO   3
 Log for error, warning and info (as memory allocation)
-#define LIB_LOG_LEVEL   LOG_LEVEL_ERROR
 Define library log level (for debug build)
-#define LIB_DEBUG   0
 Set it to 1 to enable KDebug logging (Gens KMod) to log some errors (as memory allocation).
-#define LIB_LOG_LEVEL   LOG_LEVEL_DISABLE
 Define library log level (for debug build)
-#define HALT_Z80_ON_DMA   1
 Set it to 1 if you want to force Z80 halt during DMA operation (default).
- Some Megadrive models need it to prevent some possible DMA transfer corruption or even 68000 memory or Z80 invalid data fetch in very rare case.
- This actually happen when Z80 access the main BUS exactly at same time you trigger a DMA operation.
- If you are 100% sure that you are actually avoiding that case you may try to disable the flag (at your own risk though).
-#define HALT_Z80_ON_IO   1
 Set it to 1 if you want to force Z80 halt during IO port (controller) accesses.
- Some Megadrive models (as some MD2) need it to prevent some possible (but very rare) Z80 corruption bugs (may happen when Z80 access the main BUS during IO port access from 68K).
-#define DMA_DISABLED   0
 Set it to 1 if you want to completely disable DMA transfers (for testing purpose) and replace them with (slower) software CPU copy.
-#define LEGACY_SPRITE_ENGINE   0
 Set it to 1 if you want to use the old sprite engine instead of the new one.
- The old sprite engine allow to access or change the internal VDP sprite indexes, this can be useful in some situations (as sprite multiplexing).
- The new sprite engine provide better VDP sprite usage in general allowing to display a bit more sprites in practice.
#define ENABLE_BANK_SWITCH   0
 Set it to 1 to enable automatic bank switch using official SEGA mapper for ROM > 4MB.
-#define ENABLE_NEWLIB   0
 Set it to 1 if you want to use newlib with SGDK.
- That will disable any standard methods from SGDK to replace them by newlib library implementation.
-#define ENABLE_LOGO   0
 Set it to 1 if you want to have the kit intro logo.
-#define FORCE_INLINE   inline __attribute__((always_inline))
 To force method inlining (not sure that GCC does actually care of it)
-#define NO_INLINE   __attribute__ ((noinline))
 To force no inlining for this method.
-#define MODULE_EVERDRIVE   0
 Set it to 1 if you want to use EVERDRIVE programming methods (written by Krikzz).
-#define MODULE_FAT16   0
 Set it to 1 if you want to use FAT16 methods for Everdrive cart (written by Krikzz).
- This cost a bit more than 1 KB of RAM.
-#define MODULE_MEGAWIFI   0
 Set it to 1 if you want to enable MegaWiFi functions and support code (written by Jesus Alonso - doragasu)
-#define MODULE_FLASHSAVE   1
 Set it to 1 if you want to enable Flash Save functions (written by Jesus Alonso - doragasu).
- There is no reason to disable it as it doesn't consume extra memory.
-#define MODULE_CONSOLE   1
 Set it to 1 if you want to enable the TTY text console module (written by Andreas Dietrich).
- It consume about 34 bytes of memory when enabled.
-

Detailed Description

-

Basic SGDK library configuration file.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit is used to define some specific compilation option of the library.

-

Define Documentation

- -
-
- - - - -
#define ENABLE_BANK_SWITCH   0
-
-
- -

Set it to 1 to enable automatic bank switch using official SEGA mapper for ROM > 4MB.

-

When automatic bank switch is enabled all internal BIN data structures declared in .far_rodata section will be accessed using BANK_getFarData(..) method (mapper.c). That may impact performance quite a bit it's why it's disabled by default if you don't require bank switch.

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/config_8h_source.html b/doc/html/config_8h_source.html deleted file mode 100644 index 40086f542..000000000 --- a/doc/html/config_8h_source.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - -sgdk: config.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
config.h
-
-
-Go to the documentation of this file.
00001 
-00010 #ifndef _CONFIG_
-00011 #define _CONFIG_
-00012 
-00013 
-00018 #define LOG_LEVEL_DISABLE       0
-00019 
-00023 #define LOG_LEVEL_ERROR         1
-00024 
-00028 #define LOG_LEVEL_WARNING       2
-00029 
-00033 #define LOG_LEVEL_INFO          3
-00034 
-00039 #define LIB_LOG_LEVEL           LOG_LEVEL_ERROR
-00040 
-00045 #if (DEBUG != 0)
-00046     #define LIB_DEBUG           1
-00047 #else
-00048     #define LIB_DEBUG           0
-00049     #undef LIB_LOG_LEVEL
-00050     #define LIB_LOG_LEVEL       LOG_LEVEL_DISABLE
-00051 #endif
-00052 
-00060 #define HALT_Z80_ON_DMA         1
-00061 
-00068 #define HALT_Z80_ON_IO          1
-00069 
-00074 #define DMA_DISABLED            0
-00075 
-00082 #define LEGACY_SPRITE_ENGINE    0
-00083 
-00092 #define ENABLE_BANK_SWITCH      0
-00093 
-00099 #define ENABLE_NEWLIB           0
-00100 
-00105 #define ENABLE_LOGO             0
-00106 
-00107 #if (ENABLE_LOGO != 0)
-00108 
-00113 #define ZOOMING_LOGO            0
-00114 
-00115 #endif // ENABLE_LOGO
-00116 
-00117 
-00122 #define FORCE_INLINE            inline __attribute__((always_inline))
-00123 
-00128 #define NO_INLINE               __attribute__ ((noinline))
-00129 
-00130 
-00135 #define MODULE_EVERDRIVE        0
-00136 
-00142 #define MODULE_FAT16            0
-00143 
-00144 // FAT16 need EVERDRIVE
-00145 #if ((MODULE_EVERDRIVE == 0) && (MODULE_FAT16 != 0))
-00146 #error "Cannot enable FAT16 module without EVERDRIVE module"
-00147 #endif
-00148 
-00152 #define MODULE_MEGAWIFI         0
-00153 
-00159 #define MODULE_FLASHSAVE        1
-00160 
-00166 #define MODULE_CONSOLE          1
-00167 
-00168 
-00169 #endif // _CONFIG_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/console_8c.html b/doc/html/console_8c.html deleted file mode 100644 index 6ad8c117a..000000000 --- a/doc/html/console_8c.html +++ /dev/null @@ -1,471 +0,0 @@ - - - - -sgdk: console.c File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
console.c File Reference
-
-
- -

TTY text console. -More...

-
#include "config.h"
-#include "types.h"
-#include "vdp.h"
-#include "vdp_bg.h"
-#include "vdp_tile.h"
-#include "sys.h"
-#include "ym2612.h"
-#include "psg.h"
-#include "z80_ctrl.h"
-#include "memory.h"
-#include "ext/console.h"
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define CONSOLE_TAB_SIZE   8

-Functions

-u16 vsprintf (char *buf, const char *fmt, va_list args)
-int CON_sprintf (char *buf, const char *fmt,...)
-int CON_snprintf (char *buf, int count, const char *fmt,...)
void CON_setVsprintf (vsprintf_t vsprintf_func)
 Register a standard vsprintf function as callback for CON_sprintf()
void CON_setVsnprintf (vsnprintf_t vsnprintf_func)
 Register a standard vsnprintf function as callback for CON_snprintf()
void CON_setConsoleSize (u16 left, u16 top, u16 width, u16 height)
 Set the size of the console window.
void CON_setLineBufferSize (u16 size)
 Set the size of the character line buffer.
void CON_setTransferMethod (TransferMethod tm)
 Set the transfer method used to upload the console tile buffer to VDP RAM.
void CON_reset ()
 Reset the console.
void CON_systemResetOnNextWrite ()
 Reset the system to the SGDK default state when CON_write() is called next time.
void CON_clear ()
 Clear the console window.
void CON_setCursorPosition (u16 x, u16 y)
 Set a new cursor position.
V2u16 CON_getCursorPosition ()
 Return the current cursor position.
-int CON_write (const char *fmt,...)
-

Detailed Description

-

TTY text console.

-
Author:
Andreas Dietrich
-
Date:
09/2022
-

This unit provides a simple TTY text console. Characters are written as a stream, where lines are automatically wrapped if the horizontal border of the screen is reached. When at the bottom of the screen window, the console content is moved up by one text line and a blank row is inserted.

-

Per default, the console occupies a standad screen of 40x28 tiles. All text attributes, such as font, palette, plane etc., are taken from SGDK text settings. Screen updates are done using DMA transfer mode (which can be changed with CON_setTransferMethod()).

-

One of the use cases are assert messages. To this end, the Genesis state can be automatically reset before text is displayed (see assert macro in console.h).

-

Function Documentation

- -
-
- - - - - - - -
void CON_clear ()
-
-
- -

Clear the console window.

-

This clears the console window by filling it with space characters. It is assumed that the first tile of the font is a space character. DMA settings apply here as well.

- -
-
- -
-
- - - - - - - -
V2u16 CON_getCursorPosition ()
-
-
- -

Return the current cursor position.

-
Returns:
A 2D vector containing the current (x,y) position of the cursor, where (0,0) means the top/left corner of the console window.
- -
-
- -
-
- - - - - - - -
void CON_reset ()
-
-
- -

Reset the console.

-

This function is a shortcut for:

-

CON_setConsoleSize(0, 0, 40, 28);
- CON_setLineBufferSize(160);
- CON_setTransferMethod(DMA);

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void CON_setConsoleSize (u16 left,
u16 top,
u16 width,
u16 height 
)
-
-
- -

Set the size of the console window.

-
Parameters:
- - - - - -
leftPosition of the leftmost window column in tiles. Default is 0.
topPosition of the topmost window row in tiles. Default is 0.
widthWidth of the console window in tiles. Default is 40.
heightHeight of the console window in tiles. Default is 28.
-
-
-

If either width or height are 0 then VDP_getScreenWidth() and VDP_getScreenHeight() will be used to determine suitable default values.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void CON_setCursorPosition (u16 x,
u16 y 
)
-
-
- -

Set a new cursor position.

-
Parameters:
- - - -
xNew cursor x position.
yNew cursor y position.
-
-
-

This function specifies a new column and row for the cursor. This is the position where the next character will appear when CON_write() is processed. A position of (0,0) relates to the tile in the top/left corner.

- -
-
- -
-
- - - - - - - - -
void CON_setLineBufferSize (u16 size)
-
-
- -

Set the size of the character line buffer.

-
Parameters:
- - -
sizeBuffer size in bytes. This is the number of characters the buffer can hold including a terminating null-character.
-
-
-

Sets the size of the character buffer that is used internally to compose the formatted output string which is printed on the console.

-

Upon calling CON_setLineBufferSize(), the previous line buffer memory is immedieately freed. The new buffer will be allocated once the next call to CON_write() occurs.

-

Per default, the buffer size is set to 160 characters. Note that if only a vsprintf function is registered (see CON_setVsprintf()), the user is responsible for making sure a call to CON_write() does not exceed the line buffer. In case a vsnprintf function is registered (see CON_setVsnprintf()), it will automtically check the buffer size and prevent overflows.

- -
-
- -
-
- - - - - - - - -
void CON_setTransferMethod (TransferMethod tm)
-
-
- -

Set the transfer method used to upload the console tile buffer to VDP RAM.

-
Parameters:
- - -
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-

This sets the transfer method used with VDP_setTileMapDataRect(). The default value is DMA, which will cause an immediate upload. Note that when DMA_QUEUE or DMA_QUEUE_COPY is used, the user is responsible for triggering DMA upload, e.g., by calling SYS_doVBlankProcess().

- -
-
- -
-
- - - - - - - - -
void CON_setVsnprintf (vsnprintf_t vsnprintf_func)
-
-
- -

Register a standard vsnprintf function as callback for CON_snprintf()

-
Parameters:
- - -
vsnprintf_funcFunction pointer to a standard C library vsnprintf function
-
-
-

Registers a callback function that will be wrapped by CON_snprintf(). The funcion supplied needs to be a vsnprintf function that takes va_list as arguments, defined as follows:

-

typedef int (*vsnprintf_t)(char *buf, int count, const char *fmt, va_list args);

-

A possible implementation is stbsp_vsnprintf() (http://github.com/nothings/stb).

- -
-
- -
-
- - - - - - - - -
void CON_setVsprintf (vsprintf_t vsprintf_func)
-
-
- -

Register a standard vsprintf function as callback for CON_sprintf()

-
Parameters:
- - -
vsprintf_funcFunction pointer to a standard C library vsprintf function
-
-
-

Registers a callback function that will be wrapped by CON_sprintf(). The funcion supplied needs to be a vsprintf function that takes va_list as arguments, defined as follows:

-

typedef int (*vsprintf_t)(char *buf, const char *fmt, va_list args);

-

Possible implementations are SGDK's vsprintf() or alternatively stbsp_vsprintf() (http://github.com/nothings/stb).

- -
-
- -
-
- - - - - - - -
void CON_systemResetOnNextWrite ()
-
-
- -

Reset the system to the SGDK default state when CON_write() is called next time.

-

To reset the system the following SGDK functions will be called:

- - -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/console_8h.html b/doc/html/console_8h.html deleted file mode 100644 index 15796d71b..000000000 --- a/doc/html/console_8h.html +++ /dev/null @@ -1,689 +0,0 @@ - - - - -sgdk: console.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
console.h File Reference
-
-
- -

TTY text console. -More...

-
#include "config.h"
-#include "types.h"
-#include "string.h"
-#include "maths.h"
-#include "dma.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define ENABLE_ASSERT_CHECKS
 Comment out to disable asserts.
-#define str(s)   xstr(s)
 Helper macro to stringify numbers.
-#define xstr(s)   #s
 Helper macro.
#define assert(condition)
 Assert a condition.
#define ASSERT(condition)   assert(condition)
 Assert a condition.

-Typedefs

-typedef int(* vsprintf_t )(char *buf, const char *fmt, va_list args)
 Callback prototype for a vsprintf() function using va_list.
-typedef int(* vsnprintf_t )(char *buf, int count, const char *fmt, va_list args)
 Callback prototype for a vsnprintf() function using va_list.

-Functions

int CON_sprintf (char *buf, const char *fmt,...) __attribute__((format(printf
 Standard C library sprintf function.
int int CON_snprintf (char *buf, int count, const char *fmt,...) __attribute__((format(printf
 Standard C library snprintf function.
int int void CON_setVsprintf (vsprintf_t vsprintf_func)
 Register a standard vsprintf function as callback for CON_sprintf()
void CON_setVsnprintf (vsnprintf_t vsnprintf_func)
 Register a standard vsnprintf function as callback for CON_snprintf()
void CON_setConsoleSize (u16 left, u16 top, u16 width, u16 height)
 Set the size of the console window.
void CON_setLineBufferSize (u16 size)
 Set the size of the character line buffer.
void CON_setTransferMethod (TransferMethod tm)
 Set the transfer method used to upload the console tile buffer to VDP RAM.
void CON_reset ()
 Reset the console.
void CON_systemResetOnNextWrite ()
 Reset the system to the SGDK default state when CON_write() is called next time.
void CON_clear ()
 Clear the console window.
void CON_setCursorPosition (u16 x, u16 y)
 Set a new cursor position.
V2u16 CON_getCursorPosition ()
 Return the current cursor position.
int CON_write (const char *fmt,...) __attribute__((format(printf
 Write a C-string to the console window.
-

Detailed Description

-

TTY text console.

-
Author:
Andreas Dietrich
-
Date:
09/2022
-

This unit provides a simple TTY text console. Characters are written as a stream, where lines are automatically wrapped if the horizontal border of the screen is reached. When at the bottom of the screen window, the console content is moved up by one text line and a blank row is inserted.

-

Per default, the console occupies a standad screen of 40x28 tiles. All text attributes, such as font, palette, plane etc., are taken from SGDK text settings. Screen updates are done using DMA transfer mode (which can be changed with CON_setTransferMethod()).

-

One of the use cases are assert messages. To this end, the Genesis state can be automatically reset before text is displayed (see assert macro below).

-

Define Documentation

- -
-
- - - - - - - - -
#define assert( condition)
-
-
-Value:
if ( !(condition) )                                                                \
-    {                                                                                  \
-        CON_reset();                                                                   \
-        CON_systemResetOnNextWrite();                                                  \
-        CON_write(__FILE__":"str(__LINE__)": Assertion \'"str(condition)"\' failed."); \
-        while (TRUE);                                                                  \
-    }
-
-

Assert a condition.

-
Parameters:
- - -
conditionExpression that must evaluate to TRUE, otherwise an error error message in printed to the console. This will also reset the system to the SGDK default state.
-
-
-

Can be disabled by undefining ENABLE_ASSERT_CHECKS or by defining NDEBUG.

- -
-
- -
-
- - - - - - - - -
#define ASSERT( condition)   assert(condition)
-
-
- -

Assert a condition.

-

Uppercase version. Same as assert().

- -
-
-

Function Documentation

- -
-
- - - - - - - -
void CON_clear ()
-
-
- -

Clear the console window.

-

This clears the console window by filling it with space characters. It is assumed that the first tile of the font is a space character. DMA settings apply here as well.

- -
-
- -
-
- - - - - - - -
V2u16 CON_getCursorPosition ()
-
-
- -

Return the current cursor position.

-
Returns:
A 2D vector containing the current (x,y) position of the cursor, where (0,0) means the top/left corner of the console window.
- -
-
- -
-
- - - - - - - -
void CON_reset ()
-
-
- -

Reset the console.

-

This function is a shortcut for:

-

CON_setConsoleSize(0, 0, 40, 28);
- CON_setLineBufferSize(160);
- CON_setTransferMethod(DMA);

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void CON_setConsoleSize (u16 left,
u16 top,
u16 width,
u16 height 
)
-
-
- -

Set the size of the console window.

-
Parameters:
- - - - - -
leftPosition of the leftmost window column in tiles. Default is 0.
topPosition of the topmost window row in tiles. Default is 0.
widthWidth of the console window in tiles. Default is 40.
heightHeight of the console window in tiles. Default is 28.
-
-
-

If either width or height are 0 then VDP_getScreenWidth() and VDP_getScreenHeight() will be used to determine suitable default values.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void CON_setCursorPosition (u16 x,
u16 y 
)
-
-
- -

Set a new cursor position.

-
Parameters:
- - - -
xNew cursor x position.
yNew cursor y position.
-
-
-

This function specifies a new column and row for the cursor. This is the position where the next character will appear when CON_write() is processed. A position of (0,0) relates to the tile in the top/left corner.

- -
-
- -
-
- - - - - - - - -
void CON_setLineBufferSize (u16 size)
-
-
- -

Set the size of the character line buffer.

-
Parameters:
- - -
sizeBuffer size in bytes. This is the number of characters the buffer can hold including a terminating null-character.
-
-
-

Sets the size of the character buffer that is used internally to compose the formatted output string which is printed on the console.

-

Upon calling CON_setLineBufferSize(), the previous line buffer memory is immedieately freed. The new buffer will be allocated once the next call to CON_write() occurs.

-

Per default, the buffer size is set to 160 characters. Note that if only a vsprintf function is registered (see CON_setVsprintf()), the user is responsible for making sure a call to CON_write() does not exceed the line buffer. In case a vsnprintf function is registered (see CON_setVsnprintf()), it will automtically check the buffer size and prevent overflows.

- -
-
- -
-
- - - - - - - - -
void CON_setTransferMethod (TransferMethod tm)
-
-
- -

Set the transfer method used to upload the console tile buffer to VDP RAM.

-
Parameters:
- - -
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-

This sets the transfer method used with VDP_setTileMapDataRect(). The default value is DMA, which will cause an immediate upload. Note that when DMA_QUEUE or DMA_QUEUE_COPY is used, the user is responsible for triggering DMA upload, e.g., by calling SYS_doVBlankProcess().

- -
-
- -
-
- - - - - - - - -
void CON_setVsnprintf (vsnprintf_t vsnprintf_func)
-
-
- -

Register a standard vsnprintf function as callback for CON_snprintf()

-
Parameters:
- - -
vsnprintf_funcFunction pointer to a standard C library vsnprintf function
-
-
-

Registers a callback function that will be wrapped by CON_snprintf(). The funcion supplied needs to be a vsnprintf function that takes va_list as arguments, defined as follows:

-

typedef int (*vsnprintf_t)(char *buf, int count, const char *fmt, va_list args);

-

A possible implementation is stbsp_vsnprintf() (http://github.com/nothings/stb).

- -
-
- -
-
- - - - - - - - -
int int void CON_setVsprintf (vsprintf_t vsprintf_func)
-
-
- -

Register a standard vsprintf function as callback for CON_sprintf()

-
Parameters:
- - -
vsprintf_funcFunction pointer to a standard C library vsprintf function
-
-
-

Registers a callback function that will be wrapped by CON_sprintf(). The funcion supplied needs to be a vsprintf function that takes va_list as arguments, defined as follows:

-

typedef int (*vsprintf_t)(char *buf, const char *fmt, va_list args);

-

Possible implementations are SGDK's vsprintf() or alternatively stbsp_vsprintf() (http://github.com/nothings/stb).

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int int CON_snprintf (char * buf,
int count,
const char * fmt,
 ... 
)
-
-
- -

Standard C library snprintf function.

-
Parameters:
- - - - - -
bufPointer to the buffer where the resulting C-string is stored.
countMaximum number of bytes to be used in the buffer. The generated string has a length of at most count-1, leaving space for the additional terminating null-character.
fmtC-string that contains the text to be written. It can optionally contain embedded format specifiers that are replaced by the values specified in subsequent additional arguments and formatted as requested. (See https://en.wikipedia.org/wiki/Printf_format_string)
...(additional arguments) The function may expect a sequence of additional arguments, each containing a value to be used to replace a format specifier in the format string.
-
-
-
Returns:
The total number of characters written is returned. This count does not include the additional null-character automatically appended at the end of the string.
-

Composes a string that would result from using a standard C library printf function. In case fmt includes format specifiers (beginning with %), the additional arguments are formatted and inserted in the resulting string replacing their respective specifiers.

-

This function is a wrapper for a vsnprintf type function. Per default no function is registered. CON_setVsnprintf() can be used to register an implementation, e.g., stbsp_vsnprintf().

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int CON_sprintf (char * buf,
const char * fmt,
 ... 
)
-
-
- -

Standard C library sprintf function.

-
Parameters:
- - - - -
bufPointer to the buffer where the resulting C-string is stored.
fmtC-string that contains the text to be written. It can optionally contain embedded format specifiers that are replaced by the values specified in subsequent additional arguments and formatted as requested. (See https://en.wikipedia.org/wiki/Printf_format_string)
...(additional arguments) The function may expect a sequence of additional arguments, each containing a value to be used to replace a format specifier in the format string.
-
-
-
Returns:
The total number of characters written is returned. This count does not include the additional null-character automatically appended at the end of the string.
-

Composes a string that would result from using a standard C library printf function. In case fmt includes format specifiers (beginning with %), the additional arguments are formatted and inserted in the resulting string replacing their respective specifiers.

-

This function is a wrapper for a vsprintf type function. Per default SGDK's built-in vsprintf() is used. CON_setVsprintf() can be used to register another implementation, e.g., stbsp_vsprintf().

- -
-
- -
-
- - - - - - - -
void CON_systemResetOnNextWrite ()
-
-
- -

Reset the system to the SGDK default state when CON_write() is called next time.

-

To reset the system the following SGDK functions will be called:

- - -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int CON_write (const char * fmt,
 ... 
)
-
-
- -

Write a C-string to the console window.

-
Parameters:
- - - -
fmtC-string that contains the text to be written. It can optionally contain embedded format specifiers that are replaced by the values specified in subsequent additional arguments and formatted as requested. (See https://en.wikipedia.org/wiki/Printf_format_string)
...(additional arguments) The function may expect a sequence of additional arguments, each containing a value to be used to replace a format specifier in the format string.
-
-
-
Returns:
The total number of characters written is returned. This count does not include the additional null-character automatically appended at the end of the string.
-

This function writes a C-string into the console window where lines are automatically wrapped if the horizontal border of the screen is reached. When at the bottom of the screen window, the console content is moved up by one text line and a blank row is inserted.

-

Internally it uses either vsprintf or vsnprintf functions that have been registered with CON_setVsprintf() or CON_setVsnprintf(), respectively.

-

While processing the string, this function evaluates and executes escape control sequences. The following control characters are supported:

-
    -
  • \b : backspace
    -
  • -
  • \n : new line (line feed)
    -
  • -
  • \r : carriage return
    -
  • -
  • \t : horizontal tab
    -
  • -
  • \v : vertical tab
  • -
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/console_8h_source.html b/doc/html/console_8h_source.html deleted file mode 100644 index 5bea2787a..000000000 --- a/doc/html/console_8h_source.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - -sgdk: console.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
console.h
-
-
-Go to the documentation of this file.
00001 
-00021 // *****************************************************************************
-00022 //
-00023 //  Includes
-00024 //
-00025 // *****************************************************************************
-00026 
-00027 #include "config.h"
-00028 
-00029 #if (MODULE_CONSOLE != 0)
-00030 
-00031 #include "types.h"
-00032 #include "string.h"
-00033 #include "maths.h"
-00034 #include "dma.h"
-00035 
-00036 #pragma once
-00037 
-00038 // *****************************************************************************
-00039 //
-00040 //  Defines
-00041 //
-00042 // *****************************************************************************
-00043 
-00045 #define ENABLE_ASSERT_CHECKS
-00046 
-00047 // *****************************************************************************
-00048 //
-00049 //  Types
-00050 //
-00051 // *****************************************************************************
-00052 
-00054 typedef int (*vsprintf_t)(char *buf, const char *fmt, va_list args);
-00056 typedef int (*vsnprintf_t)(char *buf, int count, const char *fmt, va_list args);
-00057 
-00058 // *****************************************************************************
-00059 //
-00060 //  Macros
-00061 //
-00062 // *****************************************************************************
-00063 
-00065 #define str(s) xstr(s)
-00066 
-00067 #define xstr(s) #s
-00068 
-00081 #if defined(ENABLE_ASSERT_CHECKS) && !defined(NDEBUG)
-00082 #define assert(condition)                                                              \
-00083     if ( !(condition) )                                                                \
-00084     {                                                                                  \
-00085         CON_reset();                                                                   \
-00086         CON_systemResetOnNextWrite();                                                  \
-00087         CON_write(__FILE__":"str(__LINE__)": Assertion \'"str(condition)"\' failed."); \
-00088         while (TRUE);                                                                  \
-00089     }
-00090 #else
-00091 #define assert(condition)
-00092 #endif
-00093 
-00101 #define ASSERT(condition) assert(condition)
-00102 
-00103 // *****************************************************************************
-00104 //
-00105 //  Function Declarations
-00106 //
-00107 // *****************************************************************************
-00108 
-00109 // -----------------------------------------------------------------------------
-00110 // printf functions
-00111 // -----------------------------------------------------------------------------
-00112 
-00143 int CON_sprintf(char* buf, const char *fmt, ...)  __attribute__ ((format (printf, 2, 3)));
-00144 
-00179 int CON_snprintf(char* buf, int count, const char *fmt, ...)  __attribute__ ((format (printf, 3, 4)));
-00180 
-00198 void CON_setVsprintf(vsprintf_t vsprintf_func);
-00199 
-00217 void CON_setVsnprintf(vsnprintf_t vsnprintf_func);
-00218 
-00219 // -----------------------------------------------------------------------------
-00220 // Console setup
-00221 // -----------------------------------------------------------------------------
-00222 
-00240 void CON_setConsoleSize(u16 left, u16 top, u16 width, u16 height);
-00241 
-00264 void CON_setLineBufferSize(u16 size);
-00265 
-00285 void CON_setTransferMethod(TransferMethod tm);
-00286 
-00298 void CON_reset();
-00299 
-00314 void CON_systemResetOnNextWrite();
-00315 
-00316 // -----------------------------------------------------------------------------
-00317 // Console write functions
-00318 // -----------------------------------------------------------------------------
-00319 
-00329 void CON_clear();
-00330 
-00345 void CON_setCursorPosition(u16 x, u16 y);
-00346 
-00356 V2u16 CON_getCursorPosition();
-00357 
-00394 int CON_write(const char *fmt, ...)  __attribute__ ((format (printf, 1, 2)));
-00395 
-00396 #endif // MODULE_CONSOLE
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/deprecated.html b/doc/html/deprecated.html deleted file mode 100644 index 5d7c15d97..000000000 --- a/doc/html/deprecated.html +++ /dev/null @@ -1,529 +0,0 @@ - - - - -sgdk: Deprecated List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- -
-
- -
-
-
- -
-
-
-
Deprecated List
-
-
-

-
-
Member astMemcpy (to, from, len)
-
Uses memcpy(void *to, const void *from, u16 len) instead.
-
-

-
-
Member BMP_getBitmapPalette (bitmap, pal)
-
Uses bitmap->palette instead.
-
-

-
-
Member BMP_GETPIXEL (x, y)
-
Use BMP_getPixelFast(..) instead (inlining make macro useless)
-
-

-
-
Member BMP_loadAndScaleBitmap (bitmap, x, y, w, h, loadpal)
-
Use BMP_drawBitmapEx(..) instead.
-
-

-
-
Member BMP_loadBitmap (bitmap, x, y, loadpal)
-
Use BMP_drawBitmap(..) instead.
-
-

-
-
Member BMP_loadBitmapData (data, x, y, w, h, pitch)
-
Use BMP_drawBitmapData(..) instead.
-
-

-
-
Member BMP_SETPIXEL (x, y, col)
-
Use BMP_setPixelFast(..) instead (inlining make macro useless)
-
-

-
-
Member distance_approx (dx, dy)
-
Use getApproximatedDistance(..) instead.
-
-

-
-
Member fastMemcpyU16 (to, from, len)
-
Uses memcpy(void *to, const void *from, u16 len) instead.
-
-

-
-
Member fastMemcpyU32 (to, from, len)
-
Uses memcpy(void *to, const void *from, u16 len) instead.
-
-

-
-
Member fastMemset (to, value, len)
-
Uses memset(void *to, u8 value, u16 len) instead.
-
-

-
-
Member fastMemsetU16 (to, value, len)
-
Uses memsetU16(void *to, u16 value, u16 len) instead.
-
-

-
-
Member fastMemsetU32 (to, value, len)
-
Uses memsetU32(void *to, u32 value, u16 len) instead.
-
-

-
-
Member GFX_CTRL_PORT
-
Use VDP_CTRL_PORT instead
-
-

-
-
Member GFX_DATA_PORT
-
Use VDP_DATA_PORT instead
-
-

-
-
Member GFX_DMA_CRAM_ADDR (adr)
-
Use VDP_DMA_CRAM_ADDR instead
-
-

-
-
Member GFX_DMA_VRAM_ADDR (adr)
-
Use VDP_DMA_VRAM_ADDR instead
-
-

-
-
Member GFX_DMA_VRAMCOPY_ADDR (adr)
-
Use VDP_DMA_VRAMCOPY_ADDR instead
-
-

-
-
Member GFX_DMA_VSRAM_ADDR (adr)
-
Use VDP_DMA_VSRAM_ADDR instead
-
-

-
-
Member GFX_HORZ_SCROLL (adr)
-
Use VDP_HORZ_SCROLL instead
-
-

-
-
Member GFX_HVCOUNTER_PORT
-
Use VDP_HVCOUNTER_PORT instead
-
-

-
-
Member GFX_READ_CRAM_ADDR (adr)
-
Use VDP_READ_CRAM_ADDR instead
-
-

-
-
Member GFX_READ_VRAM_ADDR (adr)
-
Use VDP_READ_VRAM_ADDR instead
-
-

-
-
Member GFX_READ_VSRAM_ADDR (adr)
-
Use VDP_READ_VSRAM_ADDR instead
-
-

-
-
Member GFX_VERT_SCROLL (adr)
-
Use VDP_VERT_SCROLL instead
-
-

-
-
Member GFX_WRITE_CRAM_ADDR (adr)
-
Use VDP_WRITE_CRAM_ADDR instead
-
-

-
-
Member GFX_WRITE_VRAM_ADDR (adr)
-
Use VDP_WRITE_VRAM_ADDR instead
-
-

-
-
Member GFX_WRITE_VSRAM_ADDR (adr)
-
Use VDP_WRITE_VSRAM_ADDR instead
-
-

-
-
Member KLog (char *text)
-
Use kprintf(..) instead
-
-

-
-
Member memcpyU16 (to, from, len)
-
Uses memcpy(void *to, const void *from, u16 len) instead.
-
-

-
-
Member memcpyU32 (to, from, len)
-
Uses memcpy(void *to, const void *from, u16 len) instead.
-
-

-
-
Member PAL_setColorsDMA (index, pal, count)
-
Use PAL_setColors(..) instead
-
-

-
-
Member PAL_setPaletteColorsDMA (index, pal)
-
Use PAL_setPaletteColors(..) instead
-
-

-
-
Member PAL_setPaletteDMA (numPal, pal)
-
Use PAL_setPalette(..) instead
-
-

-
-
Member PSG_init ()
-
use PSG_reset() instead
-
-

-
-
Member SND_getCPULoad_XGM ()
-
use XGM_getCPULoad(..) instead
-
-

-
-
Member SND_getForceDelayDMA_XGM ()
-
use XGM_getForceDelayDMA(..) instead
-
-

-
-
Member SND_getManualSync_XGM ()
-
use XGM_getManualSync(..) instead
-
-

-
-
Member SND_getMusicTempo_XGM ()
-
use XGM_getMusicTempo(..) instead
-
-

-
-
Member SND_isPlaying_XGM ()
-
use XGM_isPlaying() instead
-
-

-
-
Member SND_isPlayingPCM_XGM (channel_mask)
-
use XGM_isPlayingPCM(..) instead
-
-

-
-
Member SND_nextFrame_XGM ()
-
use XGM_nextFrame(..) instead
-
-

-
-
Member SND_nextXFrame_XGM (num)
-
use XGM_nextXFrame(..) instead
-
-

-
-
Member SND_pausePlay_XGM ()
-
use XGM_pausePlay(..) instead
-
-

-
-
Member SND_resumePlay_XGM ()
-
use XGM_resumePlay(..) instead
-
-

-
-
Member SND_set68KBUSProtection_XGM (value)
-
use XGM_set68KBUSProtection(..) instead
-
-

-
-
Member SND_setForceDelayDMA_XGM (value)
-
use XGM_setForceDelayDMA(..) instead
-
-

-
-
Member SND_setLoopNumber_XGM (value)
-
use XGM_setLoopNumber(..) instead
-
-

-
-
Member SND_setManualSync_XGM ()
-
use XGM_setManualSync(..) instead
-
-

-
-
Member SND_setMusicTempo_XGM (value)
-
use XGM_setMusicTempo(..) instead
-
-

-
-
Member SND_setPCM_XGM (id, sample, len)
-
use XGM_setPCM(..) instead
-
-

-
-
Member SND_setPCMFast_XGM (id, sample, len)
-
use XGM_setPCMFast(..) instead
-
-

-
-
Member SND_startPlay_XGM (song)
-
use XGM_startPlay(..) instead
-
-

-
-
Member SND_startPlayPCM_XGM (id, prio, ch)
-
use XGM_startPlayPCM(..) instead
-
-

-
-
Member SND_stopPlay_XGM ()
-
use XGM_stopPlay(..) instead
-
-

-
-
Member SND_stopPlayPCM_XGM (channel)
-
use XGM_stopPlayPCM(..) instead
-
-

-
-
Member SPR_computeVisibility (sprite)
-
Use SPR_isVisible(..) instead.
-
-

-
-
Member SPR_setAlwaysVisible (sprite, value)
-
Use SPR_setVisibility(..) method instead.
-
-

-
-
Member SPR_setNeverVisible (sprite, value)
-
Use SPR_setVisibility(..) method instead.
-
-

-
-
Member SPR_setPriorityAttribut (sprite, value)
-
Use SPR_setPriority(..) instead
-
-

-
-
Member TILE_FONTINDEX
-
Use TILE_FONT_INDEX instead
-
-

-
-
Member TILE_MAXINDEX
-
Use TILE_MAX_INDEX instead
-
-

-
-
Member TILE_MAXNUM
-
Use TILE_MAX_NUM instead
-
-

-
-
Member TILE_SPRITEINDEX
-
Use TILE_SPRITE_INDEX instead
-
-

-
-
Member TILE_SYSTEM_LENGHT
-
Use TILE_SYSTEM_LENGTH instead.
-
-

-
-
Member TILE_SYSTEMINDEX
-
Use TILE_SYSTEM_INDEX instead
-
-

-
-
Member TILE_SYSTEMLENGTH
-
Use TILE_SYSTEM_LENGTH instead
-
-

-
-
Member TILE_USERINDEX
-
Use TILE_USER_INDEX instead
-
-

-
-
Member TILE_USERLENGTH
-
Use TILE_USER_LENGTH instead
-
-

-
-
Member TILE_USERMAXINDEX
-
Use TILE_USER_MAX_INDEX instead
-
-

-
-
Member VDP_getAPlanAddress ()
-
Use VDP_getBGAAddress(..) instead.
-
-

-
-
Member VDP_getBPlanAddress ()
-
Use VDP_getBGBAddress(..) instead.
-
-

-
-
Member VDP_getWindowPlanAddress ()
-
Use VDP_getWindowAddress(..) instead.
-
-

-
-
Member VDP_PLAN_A
-
Use VDP_BG_A instead
-
-

-
-
Member VDP_PLAN_B
-
Use VDP_BG_B instead
-
-

-
-
Member VDP_PLAN_WINDOW
-
Use VDP_WINDOW instead
-
-

-
-
Member VDP_setAPlanAddress (value)
-
Use VDP_setBGAAddress(..) instead.
-
-

-
-
Member VDP_setBPlanAddress (value)
-
Use VDP_setBGBAddress(..) instead.
-
-

-
-
Member VDP_setMap (VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 x, u16 y)
-
Use VDP_setTileMap() instead.
-
-

-
-
Member VDP_setMapEx (VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 x, u16 y, u16 xm, u16 ym, u16 wm, u16 hm)
-
Use VDP_setTileMapEx() instead.
-
-

-
-
Member VDP_setPlanSize (w, h)
-
Use VDP_setPlaneSize(..) instead.
-
-

-
-
Member VDP_setWindowPlanAddress (value)
-
Use VDP_setWindowAddress(..) instead.
-
-

-
-
Member VSCROLL_2TILE
-
Use VSCROLL_COLUMN instead
-
-

-
-
Member YM2612_writeRegSafe (part, reg, data)
-
Use YM2612_writeReg(..) method instead.
-
-

-
-
Member YM2612_writeSafe (port, data)
-
Use YM2612_write(..) method instead.
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/dma_8h.html b/doc/html/dma_8h.html deleted file mode 100644 index 6b32a5e2e..000000000 --- a/doc/html/dma_8h.html +++ /dev/null @@ -1,1513 +0,0 @@ - - - - -sgdk: dma.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
dma.h File Reference
-
-
- -

DMA support. -More...

-
#include "config.h"
-#include "types.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  DMAOpInfo
 DMA transfer definition (used for DMA queue) More...

-Defines

-#define DMA_VRAM   0
 VRAM destination for DMA operation.
-#define DMA_CRAM   1
 CRAM destination for DMA operation.
-#define DMA_VSRAM   2
 VSRAM destination for DMA operation.
-#define DMA_QUEUE_SIZE_DEFAULT   80
-#define DMA_QUEUE_SIZE_MIN   32
-#define DMA_TRANSFER_CAPACITY_NTSC   7200
-#define DMA_TRANSFER_CAPACITY_PAL_LOW   8000
-#define DMA_TRANSFER_CAPACITY_PAL_MAX   15000
-#define DMA_BUFFER_SIZE_NTSC   8192
-#define DMA_BUFFER_SIZE_PAL_LOW   8192
-#define DMA_BUFFER_SIZE_PAL_MAX   (14 * 1024)
-#define DMA_BUFFER_SIZE_MIN   (2 * 1024)

-Enumerations

enum  TransferMethod { CPU = 0, -DMA = 1, -DMA_QUEUE = 2, -DMA_QUEUE_COPY = 3 - }
 VRAM transfer method. More...

-Functions

void DMA_init (void)
 Initialize the DMA queue sub system with default settings.
void DMA_initEx (u16 size, u16 capacity, u16 bufferSize)
 Initialize the DMA queue sub system.
bool DMA_getAutoFlush (void)
 Returns TRUE if the DMA_flushQueue() method is automatically called at VBlank to process DMA operations pending in the queue.
void DMA_setAutoFlush (bool value)
 If set to TRUE (default) then the DMA_flushQueue() method is automatically called at VBlank to process DMA operations pending in the queue otherwise you have to call the DMA_flushQueue() method by yourself.
u16 DMA_getMaxQueueSize (void)
 Returns the maximum allowed number of pending transfer in the queue (allocated queue size).
void DMA_setMaxQueueSize (u16 value)
 Sets the maximum allowed number of pending transfer in the queue (allocated queue size).
- WARNING: changing the queue size will clear the DMA queue.
void DMA_setMaxQueueSizeToDefault (void)
 Sets the maximum allowed number of pending transfer in the queue (allocated queue size) to default value (64).
- WARNING: changing the queue size will clear the DMA queue.
u16 DMA_getMaxTransferSize (void)
 Returns the maximum allowed size (in bytes) to transfer per DMA_flushQueue() call.
- A value of 0 means there is no DMA limit.
void DMA_setMaxTransferSize (u16 value)
 Sets the maximum amount of data (in bytes) to transfer per DMA_flushQueue() call.
- VBlank period allows to transfer up to 7.2 KB on NTSC system and 15 KB on PAL system.
- By default there is no size limit (0)
void DMA_setMaxTransferSizeToDefault (void)
 Sets the maximum amount of data (in bytes) to default value (7.2 KB on NTSC system and 15 KB on PAL system).
u16 DMA_getBufferSize (void)
 Returns the size (in bytes) of the temporary data buffer which can be used to store data that will be transferred through the DMA queue.
void DMA_setBufferSize (u16 value)
 Sets the size (in bytes) of the temporary data buffer which can be used to store data that will be transferred through the DMA queue.
- WARNING: changing the buffer size will clear the DMA queue.
void DMA_setBufferSizeToDefault (void)
 Sets the size (in bytes) of the temporary data buffer to default value (8 KB on NTSC system and 14 KB on PAL system).
bool DMA_getIgnoreOverCapacity (void)
 Return TRUE means that we ignore future DMA operation when we reach the maximum capacity (see DMA_setIgnoreOverCapacity(..) method).
void DMA_setIgnoreOverCapacity (bool value)
 Set the "over capacity" DMA queue strategy (default is FALSE).
void DMA_clearQueue (void)
 Clears the DMA queue (all queued operations are lost).
-
void DMA_flushQueue (void)
 Transfer the content of the DMA queue to the VDP:
- Each pending DMA operation is sent to the VDP and processed as quickly as possible.
- This method returns when all DMA operations present in the queue has been transferred (or when maximum capacity has been reached).
- Note that this method is automatically called at VBlank time and you shouldn't call yourself except if you want to process it before vblank (if you manually extend blank period with h-int for instance) in which case you can disable the auto flush feature (see DMA_setAutoFlush(...))
-u16 DMA_getQueueSize (void)
 Returns the number of transfer currently pending in the DMA queue.
-u16 DMA_getQueueTransferSize (void)
 Returns the size (in byte) of data to be transferred currently present in the DMA queue.
- NTSC frame allows about 7.6 KB of data to be transferred during VBlank (in H40) while PAL frame allows about 17 KB (in H40).
void * DMA_allocateTemp (u16 len)
 Tool method allowing to allocate memory from the DMA temporary buffer if you need a very temporary buffer.
- Don't forget to release memory using DMA_releaseTemp(..).
- WARNING: it's very important to disable interrupts while using the temporary DMA buffer as DMA buffer can be flushed on interrupt.
void DMA_releaseTemp (u16 len)
 Tool method allowing to release memory previously allocated using DMA_allocateTemp(..).
- WARNING: it's very important to disable interrupts while using the temporary DMA buffer as DMA buffer can be flushed on interrupt.
bool DMA_transfer (TransferMethod tm, u8 location, void *from, u16 to, u16 len, u16 step)
 General method to transfer data to VDP memory.
bool DMA_canQueue (u8 location, u16 len)
 Return TRUE if we have enough DMA capacity to transfer the given data block len (see DMA_setMaxTransferSize(..))
void * DMA_allocateAndQueueDma (u8 location, u16 to, u16 len, u16 step)
 Allocate temporary memory and queues the DMA transfer operation in the DMA queue.
- The idea of the DMA queue is to burst all DMA operations during VBLank to maximize bandwidth usage.
- IMPORTANT: You need to fill the returned data buffer before DMA occurs so it's a good practise to disable interrupts before calling this method and re-enable them *after* you filled the buffer to avoid DMA queue flush operation happening in between.
bool DMA_copyAndQueueDma (u8 location, void *from, u16 to, u16 len, u16 step)
 Same as DMA_queueDma(..) method except that it first copies the data to transfer through DMA queue into a temporary buffer.
- This is useful when you know that source data may be modified before DMA acutally occurs and want to avoid that.
bool DMA_queueDma (u8 location, void *from, u16 to, u16 len, u16 step)
 Queues the specified DMA transfer operation in the DMA queue.
- The idea of the DMA queue is to burst all DMA operations during VBLank to maximize bandwidth usage.
-
bool DMA_queueDmaFast (u8 location, void *from, u16 to, u16 len, u16 step)
 Same as DMA_queueDma(..) method except if doesn't check for 128 KB bank crossing on source.
void DMA_doDma (u8 location, void *from, u16 to, u16 len, s16 step)
 Do DMA transfer operation immediately.
void DMA_doDmaFast (u8 location, void *from, u16 to, u16 len, s16 step)
 Same as DMA_doDma(..) method except if doesn't check for 128 KB bank crossing on source.
void DMA_doCPUCopy (u8 location, void *from, u16 to, u16 len, s16 step)
 Do software (CPU) copy to VDP memory (mainly for testing purpose as it's slower than using DMA)
void DMA_doCPUCopyDirect (u32 cmd, void *from, u16 len, s16 step)
 Do software (CPU) copy to VDP memory (mainly for testing purpose as it's slower than using DMA)
void DMA_doVRamFill (u16 to, u16 len, u8 value, s16 step)
 Do VRAM DMA fill operation.
void DMA_doVRamCopy (u16 from, u16 to, u16 len, s16 step)
 Do VRAM DMA copy operation.
-void DMA_waitCompletion (void)
 Wait current DMA fill/copy operation to complete (same as VDP_waitDMACompletion())

-Variables

-DMAOpInfodmaQueues
 DMA queue structure.
-u16dmaDataBuffer
 DMA queue structure.
-

Detailed Description

-

DMA support.

-
Author:
Stephane Dallongeville
-
Date:
04/2015
-

This unit provides methods to use the hardware DMA capabilities.

-

Enumeration Type Documentation

- -
-
- - - - -
enum TransferMethod
-
-
- -

VRAM transfer method.

-
Enumerator:
- - - - -
CPU  -

Transfer through the CPU immediately (slower.. useful for testing purpose mainly)

-
DMA  -

Transfer through DMA immediately, using DMA is faster but can lock Z80 execution

-
DMA_QUEUE  -

Put in the DMA queue so it will be transferred at next VBlank. Using DMA is faster but can lock Z80 execution

-
DMA_QUEUE_COPY  -

Copy the buffer and put in the DMA queue so it will be transferred at next VBlank. Using DMA is faster but can lock Z80 execution

-
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void* DMA_allocateAndQueueDma (u8 location,
u16 to,
u16 len,
u16 step 
)
-
-
- -

Allocate temporary memory and queues the DMA transfer operation in the DMA queue.
- The idea of the DMA queue is to burst all DMA operations during VBLank to maximize bandwidth usage.
- IMPORTANT: You need to fill the returned data buffer before DMA occurs so it's a good practise to disable interrupts before calling this method and re-enable them *after* you filled the buffer to avoid DMA queue flush operation happening in between.

-
Parameters:
- - - - - -
locationDestination location.
- Accepted values:
-
    -
  • DMA_VRAM (for VRAM transfer).
    -
  • -
  • DMA_CRAM (for CRAM transfer).
    -
  • -
  • DMA_VSRAM (for VSRAM transfer).
    -
  • -
-
toVRAM/CRAM/VSRAM destination address.
lenNumber of word to allocate and transfer.
stepdestination (VRAM/VSRAM/CRAM) address increment step after each write (0 to 255).
- By default you should set it to 2 for normal copy operation but you can use different value for specific operation.
-
-
-
-
Returns:
The source buffer pointer that will be used for the DMA transfer so you can fill its content.
- Returns NULL if the buffer is full or if the DMA queue operation failed (queue is full).
-
See also:
DMA_queueDMA(..)
-
-DMA_copyAndQueueDma(..)
- -
-
- -
-
- - - - - - - - -
void* DMA_allocateTemp (u16 len)
-
-
- -

Tool method allowing to allocate memory from the DMA temporary buffer if you need a very temporary buffer.
- Don't forget to release memory using DMA_releaseTemp(..).
- WARNING: it's very important to disable interrupts while using the temporary DMA buffer as DMA buffer can be flushed on interrupt.

-
Parameters:
- - -
lenNumber of word to allocate.
-
-
-
Returns:
The source buffer pointer if allocation succeeded,.
- Returns NULL if the buffer is full (or not big enough).
-
See also:
DMA_releaseTemp(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool DMA_canQueue (u8 location,
u16 len 
)
-
-
- -

Return TRUE if we have enough DMA capacity to transfer the given data block len (see DMA_setMaxTransferSize(..))

-
Parameters:
- - - -
locationDestination location.
- Accepted values:
-
    -
  • DMA_VRAM (for VRAM transfer).
    -
  • -
  • DMA_CRAM (for CRAM transfer).
    -
  • -
  • DMA_VSRAM (for VSRAM transfer).
    -
  • -
-
lenNumber of word we want to transfer.
-
-
-
Returns:
TRUE if we have enough capacity, FALSE otherwise
-
See also:
DMA_getMaxTransferSize(..)
-
-DMA_queueDma(..)
- -
-
- -
-
- - - - - - - - -
void DMA_clearQueue (void )
-
-
- -

Clears the DMA queue (all queued operations are lost).
-

-
See also:
DMA_flushQueue(void)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool DMA_copyAndQueueDma (u8 location,
void * from,
u16 to,
u16 len,
u16 step 
)
-
-
- -

Same as DMA_queueDma(..) method except that it first copies the data to transfer through DMA queue into a temporary buffer.
- This is useful when you know that source data may be modified before DMA acutally occurs and want to avoid that.

-
Parameters:
- - - - - - -
locationDestination location.
- Accepted values:
-
    -
  • DMA_VRAM (for VRAM transfer).
    -
  • -
  • DMA_CRAM (for CRAM transfer).
    -
  • -
  • DMA_VSRAM (for VSRAM transfer).
    -
  • -
-
fromSource buffer.
toVRAM/CRAM/VSRAM destination address.
lenNumber of word to transfer.
stepdestination (VRAM/VSRAM/CRAM) address increment step after each write (0 to 255).
- By default you should set it to 2 for normal copy operation but you can use different value for specific operation.
-
-
-
-
Returns:
FALSE if the operation failed (queue is full)
-
See also:
DMA_doDma(..)
-
-DMA_queueDma(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void DMA_doCPUCopy (u8 location,
void * from,
u16 to,
u16 len,
s16 step 
)
-
-
- -

Do software (CPU) copy to VDP memory (mainly for testing purpose as it's slower than using DMA)

-
Parameters:
- - - - - - -
locationDestination location.
- Accepted values:
-
    -
  • DMA_VRAM (for VRAM transfer).
    -
  • -
  • DMA_CRAM (for CRAM transfer).
    -
  • -
  • DMA_VSRAM (for VSRAM transfer).
    -
  • -
-
fromSource buffer.
toVRAM/CRAM/VSRAM destination address.
lenNumber of word to transfer.
stepdestination (VRAM/VSRAM/CRAM) address increment step after each write (-1 to keep current step).
- By default you should set it to 2 for normal copy operation but you can use different value for specific operation.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void DMA_doCPUCopyDirect (u32 cmd,
void * from,
u16 len,
s16 step 
)
-
-
- -

Do software (CPU) copy to VDP memory (mainly for testing purpose as it's slower than using DMA)

-
Parameters:
- - - - - -
cmdVDP packed control command (contains operation and destination address).
fromSource buffer.
lenNumber of word to transfer.
stepdestination (VRAM/VSRAM/CRAM) address increment step after each write (-1 to keep current step).
- By default you should set it to 2 for normal copy operation but you can use different value for specific operation.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void DMA_doDma (u8 location,
void * from,
u16 to,
u16 len,
s16 step 
)
-
-
- -

Do DMA transfer operation immediately.

-
Parameters:
- - - - - - -
locationDestination location.
- Accepted values:
-
    -
  • DMA_VRAM (for VRAM transfer).
    -
  • -
  • DMA_CRAM (for CRAM transfer).
    -
  • -
  • DMA_VSRAM (for VSRAM transfer).
    -
  • -
-
fromSource buffer address.
toVRAM/CRAM/VSRAM destination address.
lenNumber of word to transfer.
stepdestination (VRAM/VSRAM/CRAM) address increment step after each write (-1 to keep current step).
- By default you should set it to 2 for normal copy operation but you can use different value for specific operation.
-
-
-
See also:
DMA_queue(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void DMA_doDmaFast (u8 location,
void * from,
u16 to,
u16 len,
s16 step 
)
-
-
- -

Same as DMA_doDma(..) method except if doesn't check for 128 KB bank crossing on source.

-
See also:
DMA_doDma(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void DMA_doVRamCopy (u16 from,
u16 to,
u16 len,
s16 step 
)
-
-
- -

Do VRAM DMA copy operation.

-
Parameters:
- - - - - -
fromVRAM Source address.
toVRAM destination address.
lenNumber of byte to copy.
stepVRAM address increment step after each write (-1 to keep current step).
- should be 1 for a classic copy operation but you can use different value for specific operation.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void DMA_doVRamFill (u16 to,
u16 len,
u8 value,
s16 step 
)
-
-
- -

Do VRAM DMA fill operation.

-
Parameters:
- - - - - -
toVRAM destination address.
lenNumber of byte to fill (minimum is 2 for even addr destination and 3 for odd addr destination).
- A value of 0 mean 0x10000.
valueFill value (byte).
stepVRAM address increment step after each write (-1 to keep current step).
- should be 1 for a classic fill operation but you can use different value for specific operation.
-
-
- -
-
- -
-
- - - - - - - - -
void DMA_flushQueue (void )
-
-
- -

Transfer the content of the DMA queue to the VDP:
- Each pending DMA operation is sent to the VDP and processed as quickly as possible.
- This method returns when all DMA operations present in the queue has been transferred (or when maximum capacity has been reached).
- Note that this method is automatically called at VBlank time and you shouldn't call yourself except if you want to process it before vblank (if you manually extend blank period with h-int for instance) in which case you can disable the auto flush feature (see DMA_setAutoFlush(...))

-
See also:
DMA_queue(...)
-
-DMA_setAutoFlush(...)
- -
-
- -
-
- - - - - - - - -
bool DMA_getAutoFlush (void )
-
-
- -

Returns TRUE if the DMA_flushQueue() method is automatically called at VBlank to process DMA operations pending in the queue.

-
See also:
DMA_setAutoFlush()
-
-DMA_flushQueue()
- -
-
- -
-
- - - - - - - - -
u16 DMA_getBufferSize (void )
-
-
- -

Returns the size (in bytes) of the temporary data buffer which can be used to store data that will be transferred through the DMA queue.

-
See also:
DMA_setBufferSize(void)
- -
-
- -
-
- - - - - - - - -
bool DMA_getIgnoreOverCapacity (void )
-
-
- -

Return TRUE means that we ignore future DMA operation when we reach the maximum capacity (see DMA_setIgnoreOverCapacity(..) method).

-
See also:
DMA_setIgnoreOverCapacity(void)
- -
-
- -
-
- - - - - - - - -
u16 DMA_getMaxQueueSize (void )
-
-
- -

Returns the maximum allowed number of pending transfer in the queue (allocated queue size).

-
See also:
DMA_setMaxQueueSize()
- -
-
- -
-
- - - - - - - - -
u16 DMA_getMaxTransferSize (void )
-
-
- -

Returns the maximum allowed size (in bytes) to transfer per DMA_flushQueue() call.
- A value of 0 means there is no DMA limit.

-
See also:
DMA_setMaxTransferSize(..)
- -
-
- -
-
- - - - - - - - -
void DMA_init (void )
-
-
- -

Initialize the DMA queue sub system with default settings.

-

SGDK automatically call this method on hard reset so you don't need to call it again unless you want to change the default parameters in which casse you should use DMA_initEx(..)

-
See also:
DMA_initEx(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void DMA_initEx (u16 size,
u16 capacity,
u16 bufferSize 
)
-
-
- -

Initialize the DMA queue sub system.

-
Parameters:
- - - - -
sizeThe queue size (0 = default size = 64, min size = 20).
capacityThe maximum allowed size (in bytes) to transfer per DMA_flushQueue() call (0 = default = no limit).
- Depending the current selected strategy, furthers transfers can be ignored (by default all transfers are done whatever is the limit). See the DMA_setIgnoreOverCapacity(..) method to change the strategy to adopt when capacity limit is reached.
bufferSizeSize of the buffer (in bytes) to store temporary data that will be transferred through the DMA queue (0 = default size = 8192 on NTSC and 14336 on PAL).
- The buffer should be big enough to contains all temporary that you need to store before next DMA_flushQueue() call.
-
-
-

SGDK automatically call this method on hard reset so you don't need to call it again unless you want to change the default parameters.

-
See also:
DMA_setIgnoreOverCapacity(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool DMA_queueDma (u8 location,
void * from,
u16 to,
u16 len,
u16 step 
)
-
-
- -

Queues the specified DMA transfer operation in the DMA queue.
- The idea of the DMA queue is to burst all DMA operations during VBLank to maximize bandwidth usage.
-

-
Parameters:
- - - - - - -
locationDestination location.
- Accepted values:
-
    -
  • DMA_VRAM (for VRAM transfer).
    -
  • -
  • DMA_CRAM (for CRAM transfer).
    -
  • -
  • DMA_VSRAM (for VSRAM transfer).
    -
  • -
-
fromSource buffer address.
toVRAM/CRAM/VSRAM destination address.
lenNumber of word to transfer.
stepdestination (VRAM/VSRAM/CRAM) address increment step after each write (0 to 255).
- By default you should set it to 2 for normal copy operation but you can use different value for specific operation.
-
-
-
-
Returns:
FALSE if the operation failed (queue is full)
-
See also:
DMA_doDma(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool DMA_queueDmaFast (u8 location,
void * from,
u16 to,
u16 len,
u16 step 
)
-
-
- -

Same as DMA_queueDma(..) method except if doesn't check for 128 KB bank crossing on source.

-
See also:
DMA_queueDma(..)
- -
-
- -
-
- - - - - - - - -
void DMA_releaseTemp (u16 len)
-
-
- -

Tool method allowing to release memory previously allocated using DMA_allocateTemp(..).
- WARNING: it's very important to disable interrupts while using the temporary DMA buffer as DMA buffer can be flushed on interrupt.

-
Parameters:
- - -
lenNumber of word to release.
-
-
-
See also:
DMA_allocateTemp(..)
- -
-
- -
-
- - - - - - - - -
void DMA_setAutoFlush (bool value)
-
-
- -

If set to TRUE (default) then the DMA_flushQueue() method is automatically called at VBlank to process DMA operations pending in the queue otherwise you have to call the DMA_flushQueue() method by yourself.

-
See also:
DMA_flushQueue()
- -
-
- -
-
- - - - - - - - -
void DMA_setBufferSize (u16 value)
-
-
- -

Sets the size (in bytes) of the temporary data buffer which can be used to store data that will be transferred through the DMA queue.
- WARNING: changing the buffer size will clear the DMA queue.

-
Parameters:
- - -
valueThe size of the temporary data buffer (in bytes).
- Minimum allowed buffer size if 2048 (internals methods require a minimal buffer size)
-
-
-
See also:
DMA_getBufferSize(void)
-
-DMA_setBufferSizeToDefault(void)
- -
-
- -
-
- - - - - - - - -
void DMA_setBufferSizeToDefault (void )
-
-
- -

Sets the size (in bytes) of the temporary data buffer to default value (8 KB on NTSC system and 14 KB on PAL system).

-
See also:
DMA_setBufferSize(void)
- -
-
- -
-
- - - - - - - - -
void DMA_setIgnoreOverCapacity (bool value)
-
-
- -

Set the "over capacity" DMA queue strategy (default is FALSE).

-

When set to TRUE any DMA operation queued after we reached the maximum defined transfer capacity with DMA_setMaxTransferSize(..) are ignored.
- When set to FALSE all DMA operations are done even when we are over the maximum capacity (which can lead to important slowdown).

-
See also:
DMA_setMaxTransferSize()
- -
-
- -
-
- - - - - - - - -
void DMA_setMaxQueueSize (u16 value)
-
-
- -

Sets the maximum allowed number of pending transfer in the queue (allocated queue size).
- WARNING: changing the queue size will clear the DMA queue.

-
Parameters:
- - -
valueThe queue size (minimum allowed size = 20)
-
-
-
See also:
DMA_getMaxQueueSize()
-
-DMA_setMaxQueueSizeToDefault()
- -
-
- -
-
- - - - - - - - -
void DMA_setMaxQueueSizeToDefault (void )
-
-
- -

Sets the maximum allowed number of pending transfer in the queue (allocated queue size) to default value (64).
- WARNING: changing the queue size will clear the DMA queue.

-
See also:
DMA_setMaxQueueSize(..)
- -
-
- -
-
- - - - - - - - -
void DMA_setMaxTransferSize (u16 value)
-
-
- -

Sets the maximum amount of data (in bytes) to transfer per DMA_flushQueue() call.
- VBlank period allows to transfer up to 7.2 KB on NTSC system and 15 KB on PAL system.
- By default there is no size limit (0)

-
Parameters:
- - -
valueThe maximum amount of data (in bytes) to transfer during DMA_flushQueue() operation.
- Use 0 for no limit.
-
-
-
See also:
DMA_flushQueue(void)
- -
-
- -
-
- - - - - - - - -
void DMA_setMaxTransferSizeToDefault (void )
-
-
- -

Sets the maximum amount of data (in bytes) to default value (7.2 KB on NTSC system and 15 KB on PAL system).

-
See also:
DMA_setMaxTransferSize()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool DMA_transfer (TransferMethod tm,
u8 location,
void * from,
u16 to,
u16 len,
u16 step 
)
-
-
- -

General method to transfer data to VDP memory.

-
Parameters:
- - - - - - - -
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
    -
  • -
-
locationDestination location.
- Accepted values:
-
    -
  • DMA_VRAM (for VRAM transfer).
    -
  • -
  • DMA_CRAM (for CRAM transfer).
    -
  • -
  • DMA_VSRAM (for VSRAM transfer).
    -
  • -
-
fromSource buffer.
toVRAM/CRAM/VSRAM destination address.
lenNumber of word to allocate and transfer.
stepdestination (VRAM/VSRAM/CRAM) address increment step after each write (0 to 255).
- By default you should set it to 2 for normal copy operation but you can use different value for specific operation.
-
-
-
-
Returns:
TRUE if the operation succeeded, FALSE otherwise (buffer or queue full).
-
See also:
DMA_queueDMA(..)
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/dma_8h_source.html b/doc/html/dma_8h_source.html deleted file mode 100644 index d6c27360f..000000000 --- a/doc/html/dma_8h_source.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - -sgdk: dma.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
dma.h
-
-
-Go to the documentation of this file.
00001 
-00010 #include "config.h"
-00011 #include "types.h"
-00012 
-00013 #ifndef _DMA_H_
-00014 #define _DMA_H_
-00015 
-00016 
-00021 #define DMA_VRAM    0
-00022 
-00026 #define DMA_CRAM    1
-00027 
-00031 #define DMA_VSRAM   2
-00032 
-00033 #define DMA_QUEUE_SIZE_DEFAULT          80
-00034 #define DMA_QUEUE_SIZE_MIN              32
-00035 
-00036 #define DMA_TRANSFER_CAPACITY_NTSC      7200
-00037 #define DMA_TRANSFER_CAPACITY_PAL_LOW   8000
-00038 #define DMA_TRANSFER_CAPACITY_PAL_MAX   15000
-00039 
-00040 // better to allocate a bit more than DMA capacity
-00041 #define DMA_BUFFER_SIZE_NTSC            8192
-00042 #define DMA_BUFFER_SIZE_PAL_LOW         8192
-00043 #define DMA_BUFFER_SIZE_PAL_MAX         (14 * 1024)
-00044 #define DMA_BUFFER_SIZE_MIN             (2 * 1024)
-00045 
-00046 
-00051 typedef enum
-00052 {
-00053     CPU = 0,            
-00054     DMA = 1,            
-00055     DMA_QUEUE = 2,      
-00056     DMA_QUEUE_COPY = 3  
-00057 } TransferMethod;
-00058 
-00059 
-00064 typedef struct
-00065 {
-00066     u16 regLenL;        // (newLen & 0xFF) | 0x9300;
-00067     u16 regLenH;        // ((newLen >> 8) & 0xFF) | 0x9400;
-00068     u32 regAddrMStep;   // (((addr << 7) & 0xFF0000) | 0x96008F00) + step;
-00069     u32 regAddrHAddrL;  // ((addr >> 1) & 0x7F00FF) | 0x97009500;
-00070     u32 regCtrlWrite;   // VDP_DMA_VRAMCOPY_ADDR(to)
-00071 } DMAOpInfo;
-00072 
-00073 
-00078 extern DMAOpInfo *dmaQueues;
-00083 extern u16* dmaDataBuffer;
-00084 
-00094 void DMA_init(void);
-00114 void DMA_initEx(u16 size, u16 capacity, u16 bufferSize);
-00115 
-00124 bool DMA_getAutoFlush(void);
-00133 void DMA_setAutoFlush(bool value);
-00140 u16 DMA_getMaxQueueSize(void);
-00152 void DMA_setMaxQueueSize(u16 value);
-00160 void DMA_setMaxQueueSizeToDefault(void);
-00168 u16 DMA_getMaxTransferSize(void);
-00181 void DMA_setMaxTransferSize(u16 value);
-00188 void DMA_setMaxTransferSizeToDefault(void);
-00196 u16 DMA_getBufferSize(void);
-00210 void DMA_setBufferSize(u16 value);
-00217 void DMA_setBufferSizeToDefault(void);
-00224 bool DMA_getIgnoreOverCapacity(void);
-00235 void DMA_setIgnoreOverCapacity(bool value);
-00236 
-00242 void DMA_clearQueue(void);
-00255 void DMA_flushQueue(void);
-00256 
-00261 u16 DMA_getQueueSize(void);
-00268 u16 DMA_getQueueTransferSize(void);
-00269 
-00283 void* DMA_allocateTemp(u16 len);
-00293 void DMA_releaseTemp(u16 len);
-00294 
-00326 bool DMA_transfer(TransferMethod tm, u8 location, void* from, u16 to, u16 len, u16 step);
-00327 
-00345 bool DMA_canQueue(u8 location, u16 len);
-00373 void* DMA_allocateAndQueueDma(u8 location, u16 to, u16 len, u16 step);
-00400 bool DMA_copyAndQueueDma(u8 location, void* from, u16 to, u16 len, u16 step);
-00426 bool DMA_queueDma(u8 location, void* from, u16 to, u16 len, u16 step);
-00432 bool DMA_queueDmaFast(u8 location, void* from, u16 to, u16 len, u16 step);
-00433 
-00456 void DMA_doDma(u8 location, void* from, u16 to, u16 len, s16 step);
-00462 void DMA_doDmaFast(u8 location, void* from, u16 to, u16 len, s16 step);
-00463 
-00485 void DMA_doCPUCopy(u8 location, void* from, u16 to, u16 len, s16 step);
-00501 void DMA_doCPUCopyDirect(u32 cmd, void* from, u16 len, s16 step);
-00502 
-00518 void DMA_doVRamFill(u16 to, u16 len, u8 value, s16 step);
-00533 void DMA_doVRamCopy(u16 from, u16 to, u16 len, s16 step);
-00534 
-00539 void DMA_waitCompletion(void);
-00540 
-00541 
-00542 #endif // _DMA_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css deleted file mode 100644 index 74445fe1f..000000000 --- a/doc/html/doxygen.css +++ /dev/null @@ -1,835 +0,0 @@ -/* The standard CSS for doxygen */ - -body, table, div, p, dl { - font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; - font-size: 12px; -} - -/* @group Heading Levels */ - -h1 { - font-size: 150%; -} - -.title { - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h2 { - font-size: 120%; -} - -h3 { - font-size: 100%; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - -p.startli, p.startdd, p.starttd { - margin-top: 2px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - padding: 2px; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #ffffff; - border: 1px double #869DCA; -} - -.contents a.qindexHL:visited { - color: #ffffff; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code { - color: #4665A2; -} - -a.codeRef { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -.fragment { - font-family: monospace, fixed; - font-size: 105%; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; -} - -div.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 10px; - margin-right: 5px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memItemLeft, .memItemRight, .memTemplParams { - border-top: 1px solid #C4CFE5; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; -} - -.memname { - white-space: nowrap; - font-weight: bold; - margin-left: 6px; -} - -.memproto { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 8px; - border-top-left-radius: 8px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 8px; - -moz-border-radius-topleft: 8px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 8px; - -webkit-border-top-left-radius: 8px; - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - -} - -.memdoc { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 2px 5px; - background-color: #FBFCFD; - border-top-width: 0; - /* opera specific markup */ - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 8px; - -moz-border-radius-bottomright: 8px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7); - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 8px; - -webkit-border-bottom-right-radius: 8px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7)); -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} - -.params, .retval, .exception, .tparams { - border-spacing: 6px 2px; -} - -.params .paramname, .retval .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - - - - -/* @end */ - -/* @group Directory (tree) */ - -/* for the tree view */ - -.ftvtree { - font-family: sans-serif; - margin: 0px; -} - -/* these are for tree view when used as main index */ - -.directory { - font-size: 9pt; - font-weight: bold; - margin: 5px; -} - -.directory h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -/* -The following two styles can be used to replace the root node title -with an image of your choice. Simply uncomment the next two styles, -specify the name of your image and be sure to set 'height' to the -proper pixel height of your image. -*/ - -/* -.directory h3.swap { - height: 61px; - background-repeat: no-repeat; - background-image: url("yourimage.gif"); -} -.directory h3.swap span { - display: none; -} -*/ - -.directory > h3 { - margin-top: 0; -} - -.directory p { - margin: 0px; - white-space: nowrap; -} - -.directory div { - display: none; - margin: 0px; -} - -.directory img { - vertical-align: -30%; -} - -/* these are for tree view when not used as main index */ - -.directory-alt { - font-size: 100%; - font-weight: bold; -} - -.directory-alt h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -.directory-alt > h3 { - margin-top: 0; -} - -.directory-alt p { - margin: 0px; - white-space: nowrap; -} - -.directory-alt div { - display: none; - margin: 0px; -} - -.directory-alt img { - vertical-align: -30%; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse:collapse; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; -} - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -div.ingroups -{ - font-size: 8pt; - padding-left: 5px; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -dl -{ - padding: 0 0 0 10px; -} - -dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug -{ - border-left:4px solid; - padding: 0 0 0 6px; -} - -dl.note -{ - border-color: #D0C000; -} - -dl.warning, dl.attention -{ - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant -{ - border-color: #00D000; -} - -dl.deprecated -{ - border-color: #505050; -} - -dl.todo -{ - border-color: #00C0E0; -} - -dl.test -{ - border-color: #3030E0; -} - -dl.bug -{ - border-color: #C08050; -} - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png deleted file mode 100644 index 635ed52fce7057ac24df92ec7664088a881fa5d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3942 zcmV-s51H_ZP)95ENDh(OT9xpYZC{M(=rqI* z+1erNEr&9zRjUI-4rN=4BBz>P@ys*xOjGRjzVE*Fx_qvyt9d@B@BO*&@8Mq!nM{Tc z_WoM84-~xLreSL9@vgZ{m2dF}`u=^ZF3syQ-s2tnBwCI3ZFvSfI20Wbj236~Urq*8Kfw@RKKfRQTgE>}uUHK^ptamY=o)LU(xy55zNQ(`qZ znZ&$O075mrrInIXQgw4%GCbMD8Vn`3n3$EaRwtP1D{A!Gs=e!L%3;ayv@I{rAw{xw z^x^>EIWQM8ob3m}$(BaupDMV;Ed8w5|i(*e`7rU$TOc&1o7`|!LyN5jHI z7uWAR!v4c2xMp?}QmRYyf>i}tYGU(g=>DW&==J@GbhR z5@BNVY3O$`^D%gk4khm9XpFhuwzxUhi9T=Du4rpVuYRSMPHeDqo+4htnZRU@G9`0& z9~p)CsFl1|t*wjfoTo&%davN^3RfJUhQ{ZZIAcD77X^XsF_iR&ZMQ;p>K5*+*48)x z+=<>nh+6Uq85jOkg>{z>a;+V`s(I;I%*5s+R@9a^wNoZ03(g9-EcH%uHvX&yp7`D#`9Kw>DU3s zjD-VuW_A-K)unlS4O3f>_B%pPONUmI#oyL};Lglp3=04>0eBBEw$D1k-$WTsoi#K* z$7h`NcyRZsZ#w~6I<%~u!^xDofYrzF>zVIj2N>Ijs`mVR(Oy&*9f}<{JtQj8jJT!oEc!NQXBq5y|6ET*N?7ox*E6#{i- z@_DLD^IYTtg|Pg?A~!7@OCd8p^)kxK%VBM84docx$Z{MvO)iiqep@or-N}TEU8$%; zJih?#yJ9)V1s_`}c3XbY9V}nEKwNz8ILmR|v)(w|D@oVG;=i`+$*)!(xH{9#$2Za;pyZ1wgU#)mHl|&8%iwu%yncO z`T32Ib0$D}j`c}}5M@M#7oR&G=QwU!!Ja*P7|NJt1@lo=d{_dY-q_lmDcH7{BHncF zR@^PmcLC6EsN?6N{fV3o8}>?h9X_@;=&-p7%tms7$_{3w(anwek_k&<&)~c$Ar?S> zy9gKavndTmxqAbE?SMgcWhXPENdKdz7ntt55Y3Hs3jjc~uR-#$tR(1a_abv9`-QzG z^J0Fsbd&yruq%xAsxf3rc=T}$Zx|AD%x{Fd=? z{qhl3kG5w-PqVK9-Gru%7UIEw)bt$ZMF|Z6HpmO)F%@GNT8yT|#FuWPxv@@Ic={;6 zU7)e!XG|1dx=kU|&|)+m+$&|Yw92Fa;*MnegXcCf8XsHfqg_F5t)3Jt8)EkXKuY21 zqt%4}@R8hK*(_JO0*H+Pa)6Pp&K49rKNeQEYb*x9WY`!`Vh3|80YF%I`lxv9_!$hD zOh$>zWaRIW!);6`vA$Zp;5lnGyX^^N%YEjCeJMHPolKCE1ttIqK<$0w&LcE8)`_c2 z^H^qf6ACV0t7FLLCsu#mL&Mb8gE@rZE#k+1Nrrxw+{N0^#bN*~!qt2>S4e#jC$a$` ze4@{)$aTEYq_!#2|t@Fj3e?w-XVuG$Z}kAR?_kgJAlZIJ)0{eHw#fybNooA zp02jyYVc&w!}m#BVP>ef2|U^J(A-#O1R#A&><*?Y! zOwml{CnE+aU3JfKE@uzge(qMY{^6siuXFt;+mMbapU;Ppejl=L#>s2#SMBbfP9AFT znEVA=TBtZ6d-GfF>kOxylg>Ek%qTp*h2ze!^^hOsmKOEE6b;maQ>~R>3#z`Zawbik z88OTykU3_!Atg^+vnM=1n}?%<$dHzn)?k&T#RWwb+*y;XNQbYNHKo3wr~&}Qa$id; z6^D*K9RTQZUuQVg)g~P%!BIiv+cXllt)KEP9IN)1udQKf>p|~lXj7K<-9}0Q%i9+K zXaF7qXclE>sf)7)J4_M%V{;(sFT7HN$o0#_qU#Ah1D{ zon=JihPcgG5xHuvQwOXBkt3(iUdx{6Gn|aa>@C9Cqg%rPK(+REZ4>6t3z7m@Aj;0l zSHh&%cKSJ*+WOJGwe?Y7d(9RAy)&NVS6uj}1m@U}jXH3oVQT9E0A)$ZDRdK>;_i;+ z7vbEoI7$1XK6vNxT(_sJ(GM4s92e;gB&Q zDO;(Ve^%gPG&lWW1fUf_=9-Q1%&`s%aD^o`Q2u`WI9V>Qm#D5?SW<)Njmt@aR5@6( zL4cdTo+Jg@>Brm1^_gf%0Z?}1AppR3NdFE5uzdpBZz;{Thd6SI-$gb2}pFAww$*j(2=s{mdz2E;lBvVcrN@}i2bC`Q5Y_;BID^f0J+ACVhyQsLg0@`okIk+i=LJ=3yvI*oASj62 za3C{Pu_fQ+atw!zN{$Shr*_UV=|jp4#CqWeGE?Jb`pq!|5bDES&-Ix=-N>DpydHqW z+-{QS+i)d;uGS)M%Suw9khR}3N82j|S{a#&Tctme0s%mTy<1S|;@M-+S4#o@!qr;r z+w(n=;@43Y_n#dI0Gb(T0{G7k-KY8k`MPM_Bss$?)SK){KJMrwv!vz42_U_Za zX7lDqiU8ZvCAfGpAtfVC5bQrYa4C)M9G$S4D&VqpJ8)lm$t5FAAR%ywf>*~VaivC70RVFXISv4Lx&tk^Cf1)qQ|rxp z*8H>)cgoM;(eKxH14u~~@JopNr9@A z#-yXVG?$es;EPqsn-j?45^L52U=nT#0A^T3JY$&B3EH&%2UHdv3P=_3$!n76!34ks zz^2ii@sXAu8LKYMmG=_^*qtiiOFNlG3?QYtG%wrCZh|)vlj8vq3sw~f1b8;_TMB>z zPSyDQy_9bbXD*#sNRGMzfSAwUD}ASX;ZGQcGdE=9q~ORU{v$}=z2Bc8EOe2S&);jS zCZB8P`hPoV1NBk)TQP2z{q$NL-GLUc7%>&fecE^E{I5gs?8!qTK7VgR7Z?}-`YG|z zVN-NvOlQ+B;~J*69_Xd1n-0MLKTY6&*%rTi*0^HXniz8{bCMsVpSXqs(GGO)*_#Kz z9YBCQ_VRhtwhMfppMh@OdxjCN0mH`5hKZr>UoxMx`W~u^kD&bskplglOiRxQvep*2 z0mk+kMP>J)K`8X3`6Zq|X~5IQ-_rrOn+_WvU{1Gs{ow1-Eb;K(Z?p$@ugXpr^?PM( z(5Hv;$*X=QZaqG_4q)N1v9sO(Dsei!;%IcIztt6YUs{yj z^77e`UYa^%<-Ts+d*b=ihKt?0_sj!ePNO@K*PGmGD*v^;rRAkduikx~UNk=@{XKeV zp_ir(dTaGVWBr{_02Kg2Xmlsn|IvIIRYivbo|L{yx}yX5Bte@P6C>1KyqvYnT{boB#j-07*qoM6N<$f^XQQ A+yDRo diff --git a/doc/html/everdrive_8h.html b/doc/html/everdrive_8h.html deleted file mode 100644 index 01980404e..000000000 --- a/doc/html/everdrive_8h.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - -sgdk: everdrive.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
everdrive.h File Reference
-
-
- -

Everdrive support. -More...

- -

Go to the source code of this file.

- -
-

Detailed Description

-

Everdrive support.

-
Author:
Krikzz
-
Date:
XX/20XX
-

This unit provides support for everdrive flash cart

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/everdrive_8h_source.html b/doc/html/everdrive_8h_source.html deleted file mode 100644 index 7de5f661a..000000000 --- a/doc/html/everdrive_8h_source.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - -sgdk: everdrive.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
everdrive.h
-
-
-Go to the documentation of this file.
00001 
-00010 #ifndef _EVERDRIVE
-00011 #define _EVERDRIVE
-00012 
-00013 #if (MODULE_EVERDRIVE != 0)
-00014 
-00015 //config register bits
-00016 #define _SS 0
-00017 #define _FULL_SPEED 1
-00018 #define _SPI16 2
-00019 #define _GAME_MODE 3
-00020 #define _SMS_MODE 4
-00021 #define _HARD_RESET 5
-00022 #define _RAM_MODE_1 6
-00023 #define _RAM_ON 7
-00024 #define _VBL_CATCH 8
-00025 #define _MEGAKEY_ON 9
-00026 #define _MEGAKEY_REGION_1 10
-00027 #define _SSF_MODE_ON 11
-00028 #define _RAM_FS 12
-00029 #define _CART 13
-00030 
-00031 //state register bits
-00032 #define _SPI_READY 0
-00033 #define _RY 1
-00034 #define _SMS_KEY 2
-00035 #define _SD_CART 3
-00036 
-00037 //everdrive hardware registers
-00038 #define SPI_PORT *((volatile u16*) (0xA13000))
-00039 #define CFG_PORT *((volatile u16*) (0xA13002))
-00040 #define VBL_PORT *((volatile u16*) (0xA13004))
-00041 #define SRAM_BANK_PORT *((volatile u16*) (0xA13006))
-00042 #define VER_PORT *((volatile u16*) (0xA13008))
-00043 #define ROM_MAP_PORT *((volatile u16*) (0xA1300a))
-00044 
-00045 
-00046 #define CFGC(bit)(cfg &= ~(1 << bit), CFG_PORT = cfg)
-00047 #define CFGS(bit)(cfg |= (1 << bit), CFG_PORT = cfg)
-00048 
-00049 #define IS_RY (CFG_PORT & (1 << _RY))
-00050 #define IS_SPI_READY (CFG_PORT & (1 << _SPI_READY))
-00051 #define IS_SMS_KEY_PRESSED (CFG_PORT & (1 << _SMS_KEY))
-00052 #define IS_SD_SLOT_EMPTY (CFG_PORT & (1 << _SD_CART))
-00053 
-00054 #define SPI_HI_SPEED_ON CFGS(_FULL_SPEED)
-00055 #define SPI_HI_SPEED_OFF CFGC(_FULL_SPEED)
-00056 
-00057 #define SPI16_ON CFGS(_SPI16);
-00058 #define SPI16_OFF CFGC(_SPI16);
-00059 
-00060 #define SS_ON CFGC(_SS)
-00061 #define SS_OFF CFGS(_SS)
-00062 
-00063 #define CART_ON CFGC(_CART)
-00064 #define CART_OFF CFGS(_CART)
-00065 
-00066 #define RAM_ON CFGS(_RAM_ON);
-00067 #define RAM_OFF CFGC(_RAM_ON);
-00068 
-00069 #define VBL_CATCH_ON CFGS(_VBL_CATCH);
-00070 #define VBL_CATCH_OFF CFGC(_VBL_CATCH);
-00071 
-00072 #define SPI_BUSY while(!IS_SPI_READY)
-00073 #define EPR_BUSY while(!IS_RY)
-00074 
-00075 
-00076 
-00077 extern u16 cfg;
-00078 
-00079 
-00080 //SD/MMC card initialization. should be run just one times, aer this cart will be ready for work
-00081 //will return 0 success
-00082 u8 evd_mmcInit();
-00083 
-00084 
-00085 //read block (512b) from SD/MMC card. mmc_addr should be multiple to 512
-00086 //will return 0 success
-00087 u8 evd_mmcRdBlock(u32 mmc_addr, u8 *stor);
-00088 
-00089 
-00090 //write block (512b) to SD/MMC card. mmc_addr should be multiple to 512
-00091 //will return 0 success
-00092 u8 evd_mmcWrBlock(u32 mmc_addr, u8 *data_ptr);
-00093 
-00094 
-00095 //erase flash memry sector(64kb). rom_addr should be multiple to 64k.
-00096 //code of this function should be placed in ram because rom memory inaccessible while erase process
-00097 //WARNING! this function may damage cart bios if sectors in range 0 - 0x40000 will be erased
-00098 void evd_eprEraseBlock(u32 rom_addr);
-00099 
-00100 
-00101 //write data to flash memory. len should be multiple to 4.
-00102 //each byte of flah memory should be erased before writeing by evd_eprEraseBlock
-00103 //code of this function should be placed in ram because rom memory inaccessible while writeing process
-00104 //WARNING! this function may damage cart bios if memory will be writen in area 0 - 0x40000
-00105 void evd_eprProgBlock(u16 *data, u32 rom_addr, u32 len);
-00106 
-00107 
-00108 //everdrive initialization.
-00109 //def_rom_bank = 0 if app placed in 0-0x400000 area, 1 if in 0x400000-0x800000 arae
-00110 //_is_ram_app = 0 if app assembled for work in rom, 1 if app assembleed for work in ram
-00111 void evd_init(u16 def_rom_bank, u8 _is_ram_app);
-00112 
-00113 
-00114 #endif // MODULE_EVERDRIVE
-00115 
-00116 #endif
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/fat16_8h.html b/doc/html/fat16_8h.html deleted file mode 100644 index cb4276b7f..000000000 --- a/doc/html/fat16_8h.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - -sgdk: fat16.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
fat16.h File Reference
-
-
- -

FAT16 file system support. -More...

- -

Go to the source code of this file.

- -
-

Detailed Description

-

FAT16 file system support.

-
Author:
Krikzz
-
Date:
XX/20XX
-

This unit provides basic FAT16 file system support through everdrive flash cart hardware

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/fat16_8h_source.html b/doc/html/fat16_8h_source.html deleted file mode 100644 index 6614b3617..000000000 --- a/doc/html/fat16_8h_source.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - -sgdk: fat16.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
fat16.h
-
-
-Go to the documentation of this file.
00001 
-00010 #ifndef _FAT16_H
-00011 #define _FAT16_H
-00012 
-00013 
-00014 #if (MODULE_FAT16 != 0)
-00015 
-00016 #define FAT16_DIR_SIZE 32
-00017 #define FAT16_TYPE_FILE  0x20
-00018 #define FAT16_TYPE_DIR  0x10
-00019 
-00020 
-00021 typedef struct {
-00022     u8 pointer[3]; //0
-00023     u8 oem_name[8]; //3
-00024     u16 byte_per_sector; //11
-00025     u8 sector_per_cluster; //13
-00026     u16 reserved_sectors; //14
-00027     u8 fat_copys; //16
-00028     u16 root_size; //17
-00029     u16 small_partition_sectros; //19
-00030     u8 drive_type; //21
-00031     u16 sectors_per_fat; //22
-00032     u16 sectors_per_track; //24
-00033     u16 heads; //26
-00034     u32 first_reserved_sectors; //28
-00035     u32 total_partition_sectors; //32
-00036     u16 drive_number; //36
-00037     u8 extendet_boot_signature; //38
-00038     u32 serial_number; //39
-00039     u8 drive_name[11]; //43
-00040     u8 fat_name[8]; //54
-00041 } Fat16PBR;
-00042 
-00043 
-00044 typedef struct {
-00045     u8 name[14];
-00046     u8 long_name[38];
-00047     u8 flags;
-00048     u16 entry;
-00049     u32 size;
-00050     u32 rec_addr;
-00051 } Fat16Record;
-00052 
-00053 typedef struct {
-00054     Fat16Record records[FAT16_DIR_SIZE];
-00055     u16 entry;
-00056     volatile u16 size;
-00057 } Fat16Dir;
-00058 
-00059 typedef struct {
-00060     Fat16Record *record;
-00061     u8 sectror_buff[512];
-00062     u16 cluster;
-00063     u32 pos;
-00064     u32 addr_buff;
-00065     u8 sector;
-00066 } Fat16File;
-00067 
-00068 
-00069 extern Fat16PBR fat16_pbr;
-00070 
-00071 
-00072 u8 fat16Init();
-00073 u8 fat16OpenDir(u16 entry, Fat16Dir *dir);
-00074 u8 fat16OpenFile(Fat16Record *rec, Fat16File *file);
-00075 u8 fat16ReadNextSector(Fat16File *file);
-00076 u8 fat16WriteNextSector(Fat16File *file);
-00077 u8 fat16DeleteRecord(Fat16Record *rec);
-00078 u8 fat16CreateRecord(Fat16Record *rec, Fat16Dir *dir);
-00079 u8 fat16SkipSectors(Fat16File *file, u16 num);
-00080 
-00081 #endif  /* MODULE_FAT16 */
-00082 
-00083 
-00084 #endif  /* _FAT16_H */
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/files.html b/doc/html/files.html deleted file mode 100644 index d42f8abd3..000000000 --- a/doc/html/files.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - -sgdk: File List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
File List
-
-
-
Here is a list of all documented files with brief descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
16c550.h [code]
asm.h [code]Assembly helper
bmp.h [code]Software bitmap engine
config.h [code]Basic SGDK library configuration file
console.cTTY text console
console.h [code]TTY text console
dma.h [code]DMA support
everdrive.h [code]Everdrive support
fat16.h [code]FAT16 file system support
flash.h [code]Low level NOR flash read/erase/write interface
font.h [code]SGDK system Font
gamejolt.h [code]GameJolt Game API implementation for MegaWiFi
genesis.h [code]
joy.h [code]General controller support
jsmn.h [code]
json.h [code]JSON implementation, based on jsmn by Serge Zaitsev
kdebug.h [code]Gens KMod debug methods
libres.h [code]
lsd.h [code]
map.h [code]MAP (large background map) management unit
mapper.h [code]Mapper / bank switch methods
maths.h [code]Mathematical methods
maths3D.h [code]3D math engine
megawifi.h [code]MegaWiFi API implementation
memory.h [code]Memory handling methods
memory_base.h [code]Memory base definition
minimus.h [code]
mw-msg.h [code]MegaWiFi command message definitions
object.h [code]Base object management unit
pal.h [code]Palette support (herited from vdp_pal.h unit)
pool.h [code]Pool object management unit
psg.h [code]PSG support
saveman.h [code]Save manager for flash memory chips supported by the flash module
smp_null.h [code]
smp_null_dpcm.h [code]
snd_dpcm2.h [code]Z80_DRIVER_DPCM2 sound driver API
snd_pcm.h [code]Z80_DRIVER_PCM sound driver API
snd_pcm4.h [code]Z80_DRIVER_PCM4 sound driver API
sound.h [code]General / shared sound driver definitions
sprite_eng.h [code]Sprite engine
sprite_eng_legacy.h [code]Sprite engine legacy - september 2022 version
sram.h [code]SRAM (Static RAM used for save backup) support
stb_sprintf.h [code]
string.h [code]String manipulations
sys.h [code]Entry point unit / Interrupt callback / System
tab_cnv.h [code]
tab_vol.h [code]
task.h [code]User task support
task_cst.h [code]User task constantes definition
timer.h [code]Timer support
tools.h [code]Misc tools methods
types.h [code]Types definition
vdp.h [code]VDP main
vdp_bg.h [code]VDP background plane support
vdp_spr.h [code]VDP Sprite support
vdp_tile.h [code]VDP General Tile / Tilemap operations
vram.h [code]SGDK VRAM (Video Memory) management unit
xgm.h [code]XGM sound driver
xgm2.h [code]XGM2 sound driver
ym2612.h [code]YM2612 support
z80_ctrl.h [code]Z80 control
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/flash_8h.html b/doc/html/flash_8h.html deleted file mode 100644 index 8728dc3fb..000000000 --- a/doc/html/flash_8h.html +++ /dev/null @@ -1,430 +0,0 @@ - - - - -sgdk: flash.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
flash.h File Reference
-
-
- -

Low level NOR flash read/erase/write interface. -More...

-
#include "types.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  flash_region
 Metadata of a flash region, consisting of several sectors. /. More...
struct  flash_chip
 Metadata of a flash chip, describing memory layout. More...

-Defines

-#define FLASH_REGION_MAX   4

-Functions

int16_t flash_init (void)
 Initialise flash chip. Call this function only once, before any other function in the module.
-void flash_deinit (void)
 Deinitialise flash chip.
struct flash_chipflash_metadata_get (void)
 Get chip metadata.
uint32_t flash_sector_erase (uint32_t addr)
 Erases a flash sector. Erased sectors will be read as 0xFF.
uint16_t flash_program (uint32_t addr, const uint8_t *data, uint16_t len)
 Programs (writes) a data buffer to the specified flash address.
int16_t flash_read (uint32_t addr, uint8_t *data, uint16_t len)
 Reads data from the specified flash address.
int16_t flash_copy (uint32_t dst, uint32_t src, uint16_t len)
 Copy data from a flash region to other region also in flash.
int16_t flash_sector_limits (uint32_t addr, uint32_t *start, uint32_t *next)
 Obtains the sector limits (start of sector, start of next sector) corresponding to the specified address.
-

Detailed Description

-

Low level NOR flash read/erase/write interface.

-
Author:
Jesus Alonso (doragasu)
-
Date:
08/2022
-

This module allows reading, erasing and writing data from/to the cartridge flash chip. It should work with any flash chip compatible with the AMD format, and implementing a CFI interface. It has been tested successfully with S29GL032 and W29GL032C chips. Also it is required that the cart has the WE line connected to the flash chip (that should be the case on most flash carts, but is not guaranteed).

-
Note:
The module has some limitations: addresses must be even, data pointers must be word aligned, and some functions (flash_init(), flash_sector_erase() and flash_program()) must be run with interrupts disabled and Z80 stopped. Please also take into account that flash suffers from wear, so if you use this e.g. for saving data, avoid saving very frequently and/or implement a wear leveling algorithm to avoid damaging the chip.
-
-Although it is not a requirement for this module to work, it is strongly recommended that the cart you use also has the RESET pin connected to the console RESET signal. Otherwise, if the user pushes the RESET button while the flash chip is being erased/programmed, the machine will most likely freeze, requiring another press of the RESET button or a power cycle.
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int16_t flash_copy (uint32_t dst,
uint32_t src,
uint16_t len 
)
-
-
- -

Copy data from a flash region to other region also in flash.

-
Parameters:
- - - - -
[in]dstDestination address to copy data to.
[in]srcSource address to copy data from
[in]lenLength of the data block to copy.
-
-
-
Returns:
The number of copied bytes.
-
Warning:
dst and src must be even.
-
-If len is odd, the last byte will not be copied.
-
-Before using this function, make sure the dst region is erased. Otherwise this function can lock the machine.
-
-This function must be called with interrupts disabled and Z80 stopped.
- -
-
- -
-
- - - - - - - - -
int16_t flash_init (void )
-
-
- -

Initialise flash chip. Call this function only once, before any other function in the module.

-
Warning:
This function must be called with interrupts disabled and Z80 stopped.
- -
-
- -
-
- - - - - - - - -
struct flash_chip* flash_metadata_get (void ) [read]
-
-
- -

Get chip metadata.

-
Returns:
An immutable reference to the chip metadata.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
uint16_t flash_program (uint32_t addr,
const uint8_t * data,
uint16_t len 
)
-
-
- -

Programs (writes) a data buffer to the specified flash address.

-
Parameters:
- - - - -
[in]addrAddress to which data will be programmed.
[in]dataBuffer containing the data to program.
[in]lenLength of the data buffer to write.
-
-
-
Returns:
The number of written bytes on success, 0 on error.
-
Warning:
Before using this function, make sure the address range to program is erased. Otherwise this function can lock the machine.
-
-If addr is not even, this function can lock the machine.
-
-If data is not word aligned, this function can lock the machine.
-
-If data is not in work RAM, this function can lock the machine.
-
-If len is odd, the last byte will not be written.
-
-This function must be called with interrupts disabled and Z80 stopped.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int16_t flash_read (uint32_t addr,
uint8_t * data,
uint16_t len 
)
-
-
- -

Reads data from the specified flash address.

-
Parameters:
- - - - -
[in]addrAddress to read data from.
[out]dataBuffer used to copy readed data.
[in]lenLength of the data block to read.
-
-
-
Returns:
The number of read bytes.
-
Warning:
addr must be even.
-
-data must be word aligned.
-
-If len is odd, the last byte will not be read.
- -
-
- -
-
- - - - - - - - -
uint32_t flash_sector_erase (uint32_t addr)
-
-
- -

Erases a flash sector. Erased sectors will be read as 0xFF.

-
Parameters:
- - -
[in]addrAny even address contained in the sector to erase.
-
-
-
Note:
This function erases a complete sector. Use flash_sector_limits() function to obtain the sector limits that will be erased.
-
Warning:
If addr is not even, this function can lock the machine.
-
-This function must be called with interrupts disabled and Z80 stopped.
-
Returns:
The address of the next sector to the one erased on success, 0 on error.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int16_t flash_sector_limits (uint32_t addr,
uint32_t * start,
uint32_t * next 
)
-
-
- -

Obtains the sector limits (start of sector, start of next sector) corresponding to the specified address.

-
Returns:
0 on success, -1 if input address does not fit in the chip.
-
Parameters:
- - - - -
[in]addrAddress corresponding to the sector to get info from.
[out]startStart address of the sector. Can be NULL if this parameter is not needed.
[out]nextStart address of the sector next to the current one. Can be NULL if this parameter is not needed.
-
-
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/flash_8h_source.html b/doc/html/flash_8h_source.html deleted file mode 100644 index c70009f1d..000000000 --- a/doc/html/flash_8h_source.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - -sgdk: flash.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
flash.h
-
-
-Go to the documentation of this file.
00001 
-00029 #ifndef __FLASH_H__
-00030 #define __FLASH_H__
-00031 
-00032 // I usually include stdint.h, but SGDK defines some stdint types here:
-00033 #include "types.h"
-00034 
-00035 // Maximum number of flash regions. CFI standard allows up to 4
-00036 #define FLASH_REGION_MAX 4
-00037 
-00042 struct flash_region {
-00043         uint32_t start_addr;    //< Sector start address
-00044         uint16_t num_sectors;   //< Number of sectors
-00045         uint16_t sector_len;    //< Sector length in 256 byte units
-00046 };
-00053 struct flash_chip {
-00054         uint32_t len;                  //< Length of chip in bytes
-00055         uint16_t num_regions;          //< Number of regions in chip
-00056         struct flash_region region[FLASH_REGION_MAX]; //< Region data array
-00057 };
-00067 int16_t flash_init(void);
-00068 
-00072 void flash_deinit(void);
-00073 
-00079 const struct flash_chip *flash_metadata_get(void);
-00080 
-00095 uint32_t flash_sector_erase(uint32_t addr);
-00096 
-00115 uint16_t flash_program(uint32_t addr, const uint8_t *data, uint16_t len);
-00116 
-00130 int16_t flash_read(uint32_t addr, uint8_t *data, uint16_t len);
-00131 
-00148 int16_t flash_copy(uint32_t dst, uint32_t src, uint16_t len);
-00149 
-00162 int16_t flash_sector_limits(uint32_t addr, uint32_t *start, uint32_t *next);
-00163 
-00164 #endif
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/font_8h.html b/doc/html/font_8h.html deleted file mode 100644 index c573c86cb..000000000 --- a/doc/html/font_8h.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - -sgdk: font.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
font.h File Reference
-
-
- -

SGDK system Font. -More...

-
#include "vdp.h"
-#include "bmp.h"
-#include "vdp_tile.h"
-#include "libres.h"
-
-

Go to the source code of this file.

- -
-

Detailed Description

-

SGDK system Font.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit contains basic SGDK system font

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/font_8h_source.html b/doc/html/font_8h_source.html deleted file mode 100644 index 8862dee5d..000000000 --- a/doc/html/font_8h_source.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - -sgdk: font.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
font.h
-
-
-Go to the documentation of this file.
00001 
-00010 #ifndef _FONT_H_
-00011 #define _FONT_H_
-00012 
-00013 
-00014 // contains definition of the base font
-00015 #include "vdp.h"
-00016 #include "bmp.h"
-00017 #include "vdp_tile.h"
-00018 #include "libres.h"
-00019 
-00020 
-00021 #endif // _FONT_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/ftv2blank.png b/doc/html/ftv2blank.png deleted file mode 100644 index 3b7a29cb81d7895a716673f35590eaceb3793003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%Qj(r7jv*C{Z|@!iau}EweqKKB en4GH+gF74RGzP}kvk&b8iF>;GxvX)7Tz#%>LmF6&|330OTN|a z{{=wx+WhU0y6zlAwAzONbPgh(@3v{|w(wmG$5y0Vi+t!($avy)0Ha#1p4gmU`n#I# zOX4L>+=Pi^D-w<(VJqs-_euK>g^b7iVhvNtYC7fIJCj6)A&|1Wgb-M!ftN7xU5k9^ z@#NVq`OxLViy`w%H6H)99eYw@JunRU3L>RIDT(VSeAi@ky#YWzbh$j1<pqv?W@8uFpX4?q6OPP0QkbO~IGXIo9O=aZ-NV0o=k&0TPjQc&C8 z!;pex!eqPA!cUs?hc4OkF6op_%C)F%@1dk*c;MU#FXAUKBtpQW-|J|tx%P2^UlulK zwGZh_IhaZ^JaCSkW}BlA_S*+%^WdfSH>XQXjD|RtVy0Z;_Vr<=C-PkTs6a925qLJ4 zz9gMabov~;1OPmE_=JV!O@@jAe?HwI;V4$t8cdGo2z;B1r8H5bX?MDrIa89Q5Zss= z3MpTJTEh7^?geXfpYnXQa)=k^DD@#zqw@ANTS8R5IHFCnGC zFye2Ec=U1D9z0xQab=64V!-Np9 zMH(puT5FV&6f)kci?5jV5ds3wqW^;1om2`AV;-)a5=D__^7FeqUH%!%?ly_5cIySX scdzjM-MP~PD&>->{B-~SC-dL>2dY=Zuwh)(*Z=?k07*qoM6N<$f<5VZJOBUy diff --git a/doc/html/ftv2folderclosed.png b/doc/html/ftv2folderclosed.png deleted file mode 100644 index 79aeaf70ea92d062a16854ad40e52e89cca48045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 598 zcmV-c0;&CpP)@n_AxdjH^X_%=W+pR9H4$uA4h+M)Z#d_kbMCy^l8E3iFLkKsM?rAxpyKm4 zpJZ)wCsn&Nox^H-lKu(7+U5>wm2A8w0^WW2g4OoqUn>|0`SFu=`MCWZGa&&HAOdV` zeYKtvfkmJwErvx<&bzpCtDf3$I-O4H#iuW}I=63DQ7*VBG#m1QZc43!?0j^^rop|LB$6n4f?j zSPLSMBym3p04SyK^8IH#yt|kRc|ZZP#1{3s>~(8cV(ZcbR^><;boWi%VKNIM>wn*b zrp9+Dfgc#`?)fkxAXp?70cB6ODCBKDeot&&>KAEwTgN^hb6}3t>x6&%> z>z6%!t?B87Mo}*`iu!6}T+i3Xb*om;?Rrr!&KC93tf!Zno?gCE(#vyYJy$L0%-E@C ke^gM)yZ8S8(TzBo>VXiD3(P1I6Ekr)}6_y7!i1Evm4%w}a`=R2?wr!y|)&JW~oFQEP}n%!wl+h7bZoguFAGAuz-k z9*7*IR2fz1a$M z`?}KYC8b+UU$+)Ky?o8nt){0t%SvyoRQ2X+pl`K9eY;cFou#T?yjpoZ)xmbBzVrWw c^H&Le0J=&DKt3yzzW@LL07*qoM6N<$g5G@uO#lD@ diff --git a/doc/html/ftv2lastnode.png b/doc/html/ftv2lastnode.png deleted file mode 100644 index 3b7a29cb81d7895a716673f35590eaceb3793003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%Qj(r7jv*C{Z|@!iau}EweqKKB en4GH+gF74RGzP}kvk&b8iF>;GxvX)7Tz#%>LmF6&|330OTN|a z{{=wx+WhU0y6zlAwAzONbPgh(@3v{|w(wmG$5y0Vi+t!($avy)0Ha#1p4gmU`n#I# zOX4L>+=Pi^D-w<(VJqs-_euK>g^b7iVhvNtYC7fIJCj6)A&|1Wgb-M!ftN7xU5k9^ z@#NVq`OxLViy`w%H6H)99eYw@JunRU3L>RIDT(VSeAi@ky#YWzbh$j1<pqv?W@8uFpX4?q6OPP0QkbO~IGXIo9O=aZ-NV0o=k&0TPjQc&C8 z!;pex!eqPA!cUs?hc4OkF6op_%C)F%@1dk*c;MU#FXAUKBtpQW-|J|tx%P2^UlulK zwGZh_IhaZ^JaCSkW}BlA_S*+%^WdfSH>XQXjD|RtVy0Z;_Vr<=C-PkTs6a925qLJ4 zz9gMabov~;1OPmE_=JV!O@@jAe?HwI;V4$t8cdGo2z;B1r8H5bX?MDrIa89Q5Zss= z3MpTJTEh7^?geXfpYnXQa)=k^DD@#zqw@ANTS8R5IHFCnGC zFye2Ec=U1D9z0xQab=64V!-Np9 zMH(puT5FV&6f)kci?5jV5ds3wqW^;1om2`AV;-)a5=D__^7FeqUH%!%?ly_5cIySX scdzjM-MP~PD&>->{B-~SC-dL>2dY=Zuwh)(*Z=?k07*qoM6N<$f<5VZJOBUy diff --git a/doc/html/ftv2mlastnode.png b/doc/html/ftv2mlastnode.png deleted file mode 100644 index ec51f17a1fdc860c16a34aa1aeb753624409385b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221 zcmV<303!d1P)zyT<scVDZ7_{EOe0eBcqfczyT<scVDZ7_{EOe0eBcqfc;GxvXiI)3s$q zXLSp?Vw#S->OEjPiI)3s$q zXLSp?Vw#S->OEjP-{AmhX=Jf@Vh3;mo5W!fIz z|G!}-&+_@bPjpO9=CQeNG-x}^He0~wUVC_fMvB=U2Bz7OmlqlcNzZjyB-4HN7~9Lr z$D7yJnqSa(es#+qiN5>4_4EDDFZO$H+Fh^MBH+YoTokY^Q!+9#?d)>vwv3Yw*Rly-LY$(@}t-3;)0XUPrZ!IB%s(_pZ#HPZ2xc? Sd^id83xlVtpUXO@geCxW-C}_N diff --git a/doc/html/ftv2vertline.png b/doc/html/ftv2vertline.png deleted file mode 100644 index 3b7a29cb81d7895a716673f35590eaceb3793003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%Qj(r7jv*C{Z|@!iau}EweqKKB en4GH+gF74RGzP}kvk&b8iF>;GxvX - - - -sgdk: gamejolt.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
gamejolt.h File Reference
-
-
- -

GameJolt Game API implementation for MegaWiFi. -More...

-
#include "types.h"
-
-

Go to the source code of this file.

- -
-

Detailed Description

-

GameJolt Game API implementation for MegaWiFi.

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/gamejolt_8h_source.html b/doc/html/gamejolt_8h_source.html deleted file mode 100644 index 12c7d592b..000000000 --- a/doc/html/gamejolt_8h_source.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - -sgdk: gamejolt.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
gamejolt.h
-
-
-Go to the documentation of this file.
00001 /************************************************************************/
-00024 #ifndef _GAMEJOLT_H_
-00025 #define _GAMEJOLT_H_
-00026 
-00027 #include "types.h"
-00028 
-00029 #if (MODULE_MEGAWIFI != 0)
-00030 
-00036 enum gj_error {
-00037         GJ_ERR_NONE      =  0,  
-00038         GJ_ERR_PARAM     = -1,  
-00039         GJ_ERR_REQUEST   = -2,  
-00040         GJ_ERR_RECEPTION = -3,  
-00041         GJ_ERR_RESPONSE  = -4,  
-00042         GJ_ERR_PARSE     = -5   
-00043 };
-00044 
-00046 enum gj_trophy_difficulty {
-00047         GJ_TROPHY_TYPE_BRONZE = 0,      
-00048         GJ_TROPHY_TYPE_SILVER,          
-00049         GJ_TROPHY_TYPE_GOLD,            
-00050         GJ_TROPHY_TYPE_PLATINUM,        
-00051         GJ_TROPHY_TYPE_UNKNOWN          
-00052 };
-00053 
-00055 enum gj_data_store_update_operation {
-00056         GJ_OP_ADD = 0,  
-00057         GJ_OP_SUBTRACT, 
-00058         GJ_OP_MULTIPLY, 
-00059         GJ_OP_DIVIDE,   
-00060         GJ_OP_APPEND,   
-00061         GJ_OP_PREPEND,  
-00062         GJ_OP_MAX       
-00063 };
-00064 
-00066 #define GJ_TROPHY_RESPONSE_TABLE(X_MACRO) \
-00067         X_MACRO(id,          string,            char*) \
-00068         X_MACRO(title,       string,            char*) \
-00069         X_MACRO(difficulty,  trophy_difficulty, enum gj_trophy_difficulty) \
-00070         X_MACRO(description, string,            char*) \
-00071         X_MACRO(image_url,   string,            char*) \
-00072         X_MACRO(achieved,    string,            char*)
-00073 
-00075 #define GJ_TIME_RESPONSE_TABLE(X_MACRO) \
-00076         X_MACRO(timestamp, string, char*) \
-00077         X_MACRO(timezone,  string, char*) \
-00078         X_MACRO(day,       string, char*) \
-00079         X_MACRO(hour,      string, char*) \
-00080         X_MACRO(minute,    string, char*) \
-00081         X_MACRO(second,    string, char*)
-00082 
-00084 #define GJ_SCORE_RESPONSE_TABLE(X_MACRO) \
-00085         X_MACRO(score,            string, char*) \
-00086         X_MACRO(sort,             string, char*) \
-00087         X_MACRO(extra_data,       string, char*) \
-00088         X_MACRO(user,             string, char*) \
-00089         X_MACRO(user_id,          string, char*) \
-00090         X_MACRO(guest,            string, char*) \
-00091         X_MACRO(stored,           string, char*) \
-00092         X_MACRO(stored_timestamp, string, char*)
-00093 
-00095 #define GJ_SCORE_TABLE_RESPONSE_TABLE(X_MACRO) \
-00096         X_MACRO(id,          string, char*) \
-00097         X_MACRO(name,        string, char*) \
-00098         X_MACRO(description, string, char*) \
-00099         X_MACRO(primary,     bool_num, bool)
-00100 
-00102 #define GJ_SCORE_GETRANK_RESPONSE_TABLE(X_MACRO) \
-00103         X_MACRO(message, string, char*) \
-00104         X_MACRO(rank,    string, char*)
-00105 
-00107 #define GJ_USER_RESPONSE_TABLE(X_MACRO) \
-00108         X_MACRO(id,                       string, char*) \
-00109         X_MACRO(type,                     string, char*) \
-00110         X_MACRO(username,                 string, char*) \
-00111         X_MACRO(avatar_url,               string, char*) \
-00112         X_MACRO(signed_up,                string, char*) \
-00113         X_MACRO(signed_up_timestamp,      string, char*) \
-00114         X_MACRO(last_logged_in,           string, char*) \
-00115         X_MACRO(last_logged_in_timestamp, string, char*) \
-00116         X_MACRO(status,                   string, char*) \
-00117         X_MACRO(developer_name,           string, char*) \
-00118         X_MACRO(developer_website,        string, char*) \
-00119         X_MACRO(developer_description,    string, char*)
-00120 
-00122 #define X_AS_STRUCT(field, decoder, type) \
-00123         type field;
-00124 
-00126 struct gj_trophy {
-00127         GJ_TROPHY_RESPONSE_TABLE(X_AS_STRUCT);
-00128         bool secret;    
-00129 };
-00130 
-00132 struct gj_time {
-00133         GJ_TIME_RESPONSE_TABLE(X_AS_STRUCT);
-00134 };
-00135 
-00137 struct gj_score {
-00138         GJ_SCORE_RESPONSE_TABLE(X_AS_STRUCT);
-00139 };
-00140 
-00142 struct gj_score_table {
-00143         GJ_SCORE_TABLE_RESPONSE_TABLE(X_AS_STRUCT);
-00144 };
-00145 
-00147 struct gj_user {
-00148         GJ_USER_RESPONSE_TABLE(X_AS_STRUCT);
-00149 };
-00150 
-00151 /************************************************************************/
-00174 bool gj_init(const char *endpoint, const char *game_id, const char *private_key,
-00175                 const char *username, const char *user_token, char *reply_buf,
-00176                 uint16_t buf_len, uint16_t tout_frames);
-00177 
-00178 /************************************************************************/
-00186 enum gj_error gj_get_error(void);
-00187 
-00188 /************************************************************************/
-00198 char *gj_trophies_fetch(bool achieved, const char *trophy_id);
-00199 
-00200 /************************************************************************/
-00214 char *gj_trophy_get_next(char *pos, struct gj_trophy *trophy);
-00215 
-00216 /************************************************************************/
-00223 bool gj_trophy_add_achieved(const char *trophy_id);
-00224 
-00225 /************************************************************************/
-00232 bool gj_trophy_remove_achieved(const char *trophy_id);
-00233 
-00234 /************************************************************************/
-00242 const char *gj_trophy_difficulty_str(enum gj_trophy_difficulty difficulty);
-00243 
-00244 /************************************************************************/
-00251 bool gj_time(struct gj_time *time);
-00252 
-00253 /************************************************************************/
-00268 char *gj_scores_fetch(const char *limit, const char *table_id,
-00269                 const char *guest, const char *better_than,
-00270                 const char *worse_than, bool only_user);
-00271 
-00272 /************************************************************************/
-00286 char *gj_score_get_next(char *pos, struct gj_score *score);
-00287 
-00288 /************************************************************************/
-00294 char *gj_scores_tables_fetch(void);
-00295 
-00296 /************************************************************************/
-00310 char *gj_score_table_get_next(char *pos, struct gj_score_table *score_table);
-00311 
-00312 /************************************************************************/
-00320 char *gj_scores_get_rank(const char *sort, const char *table_id);
-00321 
-00322 /************************************************************************/
-00333 bool gj_scores_add(const char *score, const char *sort, const char *table_id,
-00334                 const char *guest, const char *extra_data);
-00335 
-00336 /************************************************************************/
-00346 bool gj_data_store_set(const char *key, const char *data, bool user_store);
-00347 
-00348 /************************************************************************/
-00359 char *gj_data_store_keys_fetch(const char *pattern, bool user_store);
-00360 
-00361 /************************************************************************/
-00375 char *gj_data_store_key_next(char *pos, char **key);
-00376 
-00377 /************************************************************************/
-00387 char *data_store_fetch(const char *key, bool user_store);
-00388 
-00389 /************************************************************************/
-00400 char *gj_data_store_update(const char *key,
-00401                 enum gj_data_store_update_operation operation,
-00402                 const char *value, bool user_store);
-00403 
-00404 /************************************************************************/
-00413 bool gj_data_store_remove(const char *key, bool user_store);
-00414 
-00415 /************************************************************************/
-00420 bool gj_sessions_open(void);
-00421 
-00422 /************************************************************************/
-00430 bool gj_sessions_ping(bool active);
-00431 
-00432 /************************************************************************/
-00446 bool gj_sessions_check(const char *username, const char *user_token);
-00447 
-00448 /************************************************************************/
-00453 bool gj_sessions_close(void);
-00454 
-00455 /************************************************************************/
-00468 char *gj_users_fetch(const char *username, const char *user_id);
-00469 
-00470 /************************************************************************/
-00484 char *gj_user_get_next(char *pos, struct gj_user *user);
-00485 
-00486 /************************************************************************/
-00495 bool gj_users_auth(void);
-00496 
-00497 /************************************************************************/
-00503 char *gj_friends_fetch(void);
-00504 
-00505 /************************************************************************/
-00519 char *gj_friend_get_next(char *pos, char **user_id);
-00520 
-00521 /************************************************************************/
-00537 char *gj_request(const char **path, uint8_t num_paths, const char **key,
-00538                 const char **value, uint8_t num_kv_pairs, uint32_t *out_len);
-00539 
-00540 #endif // MODULE_MEGAWIFI
-00541 
-00542 #endif /*_GAMEJOLT_H_*/
-00543 
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/genesis_8h_source.html b/doc/html/genesis_8h_source.html deleted file mode 100644 index c0677ad29..000000000 --- a/doc/html/genesis_8h_source.html +++ /dev/null @@ -1,203 +0,0 @@ - - - - -sgdk: genesis.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
genesis.h
-
-
-
00001 #ifndef _GENESIS_H_
-00002 #define _GENESIS_H_
-00003 
-00004 #define SGDK_VERSION    2.00
-00005 
-00006 #include "types.h"
-00007 
-00008 #define SGDK            TRUE
-00009 
-00010 #include "config.h"
-00011 #include "asm.h"
-00012 
-00013 #include "sys.h"
-00014 #include "sram.h"
-00015 #include "mapper.h"
-00016 #include "memory.h"
-00017 #include "tools.h"
-00018 
-00019 #include "pool.h"
-00020 #include "object.h"
-00021 
-00022 #include "font.h"
-00023 #include "string.h"
-00024 
-00025 #include "tab_cnv.h"
-00026 
-00027 #include "maths.h"
-00028 #include "maths3D.h"
-00029 
-00030 #include "vdp.h"
-00031 #include "vdp_bg.h"
-00032 #include "vdp_spr.h"
-00033 #include "vdp_tile.h"
-00034 #include "vdp_pal.h"
-00035 
-00036 #include "pal.h"
-00037 
-00038 #include "vram.h"
-00039 #include "dma.h"
-00040 
-00041 #include "map.h"
-00042 
-00043 #include "bmp.h"
-00044 #include "sprite_eng.h"
-00045 #include "sprite_eng_legacy.h"
-00046 
-00047 #include "z80_ctrl.h"
-00048 #include "ym2612.h"
-00049 #include "psg.h"
-00050 
-00051 #include "snd/sound.h"
-00052 #include "snd/xgm.h"
-00053 #include "snd/xgm2.h"
-00054 #include "snd/smp_null.h"
-00055 #include "snd/smp_null_dpcm.h"
-00056 #include "snd/pcm/snd_pcm.h"
-00057 #include "snd/pcm/snd_dpcm2.h"
-00058 #include "snd/pcm/snd_pcm4.h"
-00059 
-00060 #include "joy.h"
-00061 #include "timer.h"
-00062 
-00063 #include "task.h"
-00064 
-00065 // modules
-00066 #if (MODULE_EVERDRIVE != 0)
-00067 #include "ext/everdrive.h"
-00068 #endif
-00069 
-00070 #if (MODULE_FAT16 != 0)
-00071 #include "ext/fat16.h"
-00072 #endif
-00073 
-00074 #if (MODULE_MEGAWIFI != 0)
-00075 #include "ext/mw/megawifi.h"
-00076 #endif
-00077 
-00078 #if (MODULE_FLASHSAVE != 0)
-00079 #include "ext/flash-save/flash.h"
-00080 #include "ext/flash-save/saveman.h"
-00081 #endif
-00082 
-00083 #if (MODULE_CONSOLE != 0)
-00084 #include "ext/console.h"
-00085 #endif
-00086 
-00087 // preserve compatibility with old resources name
-00088 #define logo_lib sgdk_logo
-00089 #define font_lib font_default
-00090 #define font_pal_lib font_pal_default
-00091 
-00092 #endif // _GENESIS_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals.html b/doc/html/globals.html deleted file mode 100644 index b8f64f3f5..000000000 --- a/doc/html/globals.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- _ -

    -
  • _comparatorCallback -: tools.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x61.html b/doc/html/globals_0x61.html deleted file mode 100644 index 34314c686..000000000 --- a/doc/html/globals_0x61.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- a -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x62.html b/doc/html/globals_0x62.html deleted file mode 100644 index 7c8fcb5b4..000000000 --- a/doc/html/globals_0x62.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- b -

    -
  • bmp_buffer_read -: bmp.h -
  • -
  • bmp_buffer_write -: bmp.h -
  • -
  • BMP_clear() -: bmp.h -
  • -
  • BMP_clearText() -: bmp.h -
  • -
  • BMP_clearTextLine() -: bmp.h -
  • -
  • BMP_clipLine() -: bmp.h -
  • -
  • BMP_drawBitmap() -: bmp.h -
  • -
  • BMP_drawBitmapData() -: bmp.h -
  • -
  • BMP_drawBitmapScaled() -: bmp.h -
  • -
  • BMP_drawLine() -: bmp.h -
  • -
  • BMP_drawPolygon() -: bmp.h -
  • -
  • BMP_drawText() -: bmp.h -
  • -
  • BMP_end() -: bmp.h -
  • -
  • BMP_flip() -: bmp.h -
  • -
  • BMP_GENBMP16_HEIGHT -: bmp.h -
  • -
  • BMP_GENBMP16_IMAGE -: bmp.h -
  • -
  • BMP_GENBMP16_PALETTE -: bmp.h -
  • -
  • BMP_GENBMP16_WIDTH -: bmp.h -
  • -
  • BMP_getBitmapPalette -: bmp.h -
  • -
  • BMP_getPixel() -: bmp.h -
  • -
  • BMP_GETPIXEL -: bmp.h -
  • -
  • BMP_getPixelFast() -: bmp.h -
  • -
  • BMP_getReadPointer() -: bmp.h -
  • -
  • BMP_getWritePointer() -: bmp.h -
  • -
  • BMP_hasFlipInProgess() -: bmp.h -
  • -
  • BMP_hasFlipRequestPending() -: bmp.h -
  • -
  • BMP_HEIGHT -: bmp.h -
  • -
  • BMP_init() -: bmp.h -
  • -
  • BMP_isPolygonCulled() -: bmp.h -
  • -
  • BMP_loadAndScaleBitmap -: bmp.h -
  • -
  • BMP_loadBitmap -: bmp.h -
  • -
  • BMP_loadBitmapData -: bmp.h -
  • -
  • BMP_PITCH -: bmp.h -
  • -
  • BMP_PLANE_HEIGHT -: bmp.h -
  • -
  • BMP_PLANE_WIDTH -: bmp.h -
  • -
  • BMP_reset() -: bmp.h -
  • -
  • BMP_scale() -: bmp.h -
  • -
  • BMP_setBufferCopy() -: bmp.h -
  • -
  • BMP_setPixel() -: bmp.h -
  • -
  • BMP_SETPIXEL -: bmp.h -
  • -
  • BMP_setPixelFast() -: bmp.h -
  • -
  • BMP_setPixels() -: bmp.h -
  • -
  • BMP_setPixels_V2D() -: bmp.h -
  • -
  • BMP_setPixelsFast() -: bmp.h -
  • -
  • BMP_setPixelsFast_V2D() -: bmp.h -
  • -
  • BMP_showFPS() -: bmp.h -
  • -
  • BMP_TILE_HEIGHT -: bmp.h -
  • -
  • BMP_TILE_WIDTH -: bmp.h -
  • -
  • BMP_waitFlipComplete() -: bmp.h -
  • -
  • BMP_waitWhileFlipRequestPending() -: bmp.h -
  • -
  • BMP_WIDTH -: bmp.h -
  • -
  • BMP_XPIXPERTILE -: bmp.h -
  • -
  • BMP_YPIXPERTILE -: bmp.h -
  • -
  • bool -: types.h -
  • -
  • busErrorCB -: sys.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x63.html b/doc/html/globals_0x63.html deleted file mode 100644 index 1b3ef985d..000000000 --- a/doc/html/globals_0x63.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- c -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x64.html b/doc/html/globals_0x64.html deleted file mode 100644 index 063b2ecd7..000000000 --- a/doc/html/globals_0x64.html +++ /dev/null @@ -1,296 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- d -

    -
  • distance_approx -: maths.h -
  • -
  • divmods() -: maths.h -
  • -
  • divmodu() -: maths.h -
  • -
  • divs() -: maths.h -
  • -
  • divu() -: maths.h -
  • -
  • DMA -: dma.h -
  • -
  • DMA_allocateAndQueueDma() -: dma.h -
  • -
  • DMA_allocateTemp() -: dma.h -
  • -
  • DMA_canQueue() -: dma.h -
  • -
  • DMA_clearQueue() -: dma.h -
  • -
  • DMA_copyAndQueueDma() -: dma.h -
  • -
  • DMA_CRAM -: dma.h -
  • -
  • DMA_DISABLED -: config.h -
  • -
  • DMA_doCPUCopy() -: dma.h -
  • -
  • DMA_doCPUCopyDirect() -: dma.h -
  • -
  • DMA_doDma() -: dma.h -
  • -
  • DMA_doDmaFast() -: dma.h -
  • -
  • DMA_doVRamCopy() -: dma.h -
  • -
  • DMA_doVRamFill() -: dma.h -
  • -
  • DMA_flushQueue() -: dma.h -
  • -
  • DMA_getAutoFlush() -: dma.h -
  • -
  • DMA_getBufferSize() -: dma.h -
  • -
  • DMA_getIgnoreOverCapacity() -: dma.h -
  • -
  • DMA_getMaxQueueSize() -: dma.h -
  • -
  • DMA_getMaxTransferSize() -: dma.h -
  • -
  • DMA_getQueueSize() -: dma.h -
  • -
  • DMA_getQueueTransferSize() -: dma.h -
  • -
  • DMA_init() -: dma.h -
  • -
  • DMA_initEx() -: dma.h -
  • -
  • DMA_QUEUE -: dma.h -
  • -
  • DMA_QUEUE_COPY -: dma.h -
  • -
  • DMA_queueDma() -: dma.h -
  • -
  • DMA_queueDmaFast() -: dma.h -
  • -
  • DMA_releaseTemp() -: dma.h -
  • -
  • DMA_setAutoFlush() -: dma.h -
  • -
  • DMA_setBufferSize() -: dma.h -
  • -
  • DMA_setBufferSizeToDefault() -: dma.h -
  • -
  • DMA_setIgnoreOverCapacity() -: dma.h -
  • -
  • DMA_setMaxQueueSize() -: dma.h -
  • -
  • DMA_setMaxQueueSizeToDefault() -: dma.h -
  • -
  • DMA_setMaxTransferSize() -: dma.h -
  • -
  • DMA_setMaxTransferSizeToDefault() -: dma.h -
  • -
  • DMA_transfer() -: dma.h -
  • -
  • DMA_VRAM -: dma.h -
  • -
  • DMA_VSRAM -: dma.h -
  • -
  • DMA_waitCompletion() -: dma.h -
  • -
  • dmaDataBuffer -: dma.h -
  • -
  • dmaQueues -: dma.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x65.html b/doc/html/globals_0x65.html deleted file mode 100644 index 8c7698631..000000000 --- a/doc/html/globals_0x65.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- e -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x66.html b/doc/html/globals_0x66.html deleted file mode 100644 index 12bc1ba9c..000000000 --- a/doc/html/globals_0x66.html +++ /dev/null @@ -1,365 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- f -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x67.html b/doc/html/globals_0x67.html deleted file mode 100644 index af3a959f7..000000000 --- a/doc/html/globals_0x67.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- g -

    -
  • GET_DWORDFROMPBYTE -: memory.h -
  • -
  • GET_DWORDFROMPBYTE_LI -: memory.h -
  • -
  • GET_DWORDFROMPWORD -: memory.h -
  • -
  • GET_DWORDFROMPWORD_LI -: memory.h -
  • -
  • GET_HCOUNTER -: vdp.h -
  • -
  • GET_HVCOUNTER -: vdp.h -
  • -
  • GET_VCOUNTER -: vdp.h -
  • -
  • GET_VDP_STATUS -: vdp.h -
  • -
  • GET_WORDFROMPBYTE -: memory.h -
  • -
  • GET_WORDFROMPBYTE_LI -: memory.h -
  • -
  • getApproximatedDistance() -: maths.h -
  • -
  • getApproximatedDistanceV() -: maths.h -
  • -
  • getApproximatedLog2() -: maths.h -
  • -
  • getLog2Int() -: maths.h -
  • -
  • getNextPow2() -: maths.h -
  • -
  • getSubTick() -: timer.h -
  • -
  • getTick() -: timer.h -
  • -
  • getTime() -: timer.h -
  • -
  • getTimeAsFix32() -: timer.h -
  • -
  • getTimer() -: timer.h -
  • -
  • GFX_CTRL_PORT -: vdp.h -
  • -
  • GFX_DATA_PORT -: vdp.h -
  • -
  • GFX_DMA_CRAM_ADDR -: vdp.h -
  • -
  • GFX_DMA_VRAM_ADDR -: vdp.h -
  • -
  • GFX_DMA_VRAMCOPY_ADDR -: vdp.h -
  • -
  • GFX_DMA_VSRAM_ADDR -: vdp.h -
  • -
  • GFX_HORZ_SCROLL -: vdp.h -
  • -
  • GFX_HVCOUNTER_PORT -: vdp.h -
  • -
  • GFX_READ_CRAM_ADDR -: vdp.h -
  • -
  • GFX_READ_VRAM_ADDR -: vdp.h -
  • -
  • GFX_READ_VSRAM_ADDR -: vdp.h -
  • -
  • GFX_VERT_SCROLL -: vdp.h -
  • -
  • GFX_WRITE_CRAM_ADDR -: vdp.h -
  • -
  • GFX_WRITE_VRAM_ADDR -: vdp.h -
  • -
  • GFX_WRITE_VSRAM_ADDR -: vdp.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x68.html b/doc/html/globals_0x68.html deleted file mode 100644 index 60fc592cb..000000000 --- a/doc/html/globals_0x68.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- h -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x69.html b/doc/html/globals_0x69.html deleted file mode 100644 index faa0f67d3..000000000 --- a/doc/html/globals_0x69.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- i -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x6a.html b/doc/html/globals_0x6a.html deleted file mode 100644 index c167e4852..000000000 --- a/doc/html/globals_0x6a.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- j -

    -
  • JOY_getEventHandler() -: joy.h -
  • -
  • JOY_getJoypadType() -: joy.h -
  • -
  • JOY_getPortType() -: joy.h -
  • -
  • JOY_init() -: joy.h -
  • -
  • JOY_readJoypad() -: joy.h -
  • -
  • JOY_readJoypadX() -: joy.h -
  • -
  • JOY_readJoypadY() -: joy.h -
  • -
  • JOY_reset() -: joy.h -
  • -
  • JOY_setEventHandler() -: joy.h -
  • -
  • JOY_setSupport() -: joy.h -
  • -
  • JOY_update() -: joy.h -
  • -
  • JOY_waitPress() -: joy.h -
  • -
  • JOY_waitPressBtn() -: joy.h -
  • -
  • JOY_waitPressBtnTime() -: joy.h -
  • -
  • JOY_waitPressTime() -: joy.h -
  • -
  • JOY_writeJoypadX() -: joy.h -
  • -
  • JOY_writeJoypadY() -: joy.h -
  • -
  • JoyEventCallback -: joy.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x6b.html b/doc/html/globals_0x6b.html deleted file mode 100644 index c578f3652..000000000 --- a/doc/html/globals_0x6b.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- k -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x6c.html b/doc/html/globals_0x6c.html deleted file mode 100644 index 306989136..000000000 --- a/doc/html/globals_0x6c.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- l -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x6d.html b/doc/html/globals_0x6d.html deleted file mode 100644 index cd15e07bd..000000000 --- a/doc/html/globals_0x6d.html +++ /dev/null @@ -1,347 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- m -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x6e.html b/doc/html/globals_0x6e.html deleted file mode 100644 index b951ea64a..000000000 --- a/doc/html/globals_0x6e.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- n -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x6f.html b/doc/html/globals_0x6f.html deleted file mode 100644 index 4578ab553..000000000 --- a/doc/html/globals_0x6f.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- o -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x70.html b/doc/html/globals_0x70.html deleted file mode 100644 index d9f771516..000000000 --- a/doc/html/globals_0x70.html +++ /dev/null @@ -1,359 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- p -

    -
  • p16 -: types.h -
  • -
  • PAL0 -: vdp.h -
  • -
  • PAL1 -: vdp.h -
  • -
  • PAL2 -: vdp.h -
  • -
  • PAL3 -: vdp.h -
  • -
  • PAL_doFadeStep() -: pal.h -
  • -
  • PAL_fade() -: pal.h -
  • -
  • PAL_fadeAll() -: pal.h -
  • -
  • PAL_fadeIn() -: pal.h -
  • -
  • PAL_fadeInAll() -: pal.h -
  • -
  • PAL_fadeInPalette() -: pal.h -
  • -
  • PAL_fadeOut() -: pal.h -
  • -
  • PAL_fadeOutAll() -: pal.h -
  • -
  • PAL_fadeOutPalette() -: pal.h -
  • -
  • PAL_fadePalette() -: pal.h -
  • -
  • PAL_fadeTo() -: pal.h -
  • -
  • PAL_fadeToAll() -: pal.h -
  • -
  • PAL_fadeToPalette() -: pal.h -
  • -
  • PAL_getColor() -: pal.h -
  • -
  • PAL_getColors() -: pal.h -
  • -
  • PAL_getPalette() -: pal.h -
  • -
  • PAL_initFade() -: pal.h -
  • -
  • PAL_interruptFade() -: pal.h -
  • -
  • PAL_isDoingFade() -: pal.h -
  • -
  • PAL_setColor() -: pal.h -
  • -
  • PAL_setColors() -: pal.h -
  • -
  • PAL_setColorsDMA -: pal.h -
  • -
  • PAL_setPalette() -: pal.h -
  • -
  • PAL_setPaletteColors() -: pal.h -
  • -
  • PAL_setPaletteColorsDMA -: pal.h -
  • -
  • PAL_setPaletteDMA -: pal.h -
  • -
  • PAL_waitFadeCompletion() -: pal.h -
  • -
  • palette_black -: pal.h -
  • -
  • palette_blue -: pal.h -
  • -
  • palette_green -: pal.h -
  • -
  • palette_grey -: pal.h -
  • -
  • palette_red -: pal.h -
  • -
  • PI -: maths.h -
  • -
  • planeHeight -: vdp.h -
  • -
  • planeHeightSft -: vdp.h -
  • -
  • planeWidth -: vdp.h -
  • -
  • planeWidthSft -: vdp.h -
  • -
  • POOL_allocate() -: pool.h -
  • -
  • POOL_create() -: pool.h -
  • -
  • POOL_destroy() -: pool.h -
  • -
  • POOL_find() -: pool.h -
  • -
  • POOL_getFirst() -: pool.h -
  • -
  • POOL_getFree() -: pool.h -
  • -
  • POOL_getNumAllocated() -: pool.h -
  • -
  • POOL_release() -: pool.h -
  • -
  • POOL_reset() -: pool.h -
  • -
  • privilegeViolationCB -: sys.h -
  • -
  • PSG_ENVELOPE_MAX -: psg.h -
  • -
  • PSG_ENVELOPE_MIN -: psg.h -
  • -
  • PSG_init -: psg.h -
  • -
  • PSG_NOISE_FREQ_CLOCK2 -: psg.h -
  • -
  • PSG_NOISE_FREQ_CLOCK4 -: psg.h -
  • -
  • PSG_NOISE_FREQ_CLOCK8 -: psg.h -
  • -
  • PSG_NOISE_FREQ_TONE3 -: psg.h -
  • -
  • PSG_NOISE_TYPE_PERIODIC -: psg.h -
  • -
  • PSG_NOISE_TYPE_WHITE -: psg.h -
  • -
  • PSG_PORT -: psg.h -
  • -
  • PSG_reset() -: psg.h -
  • -
  • PSG_setEnvelope() -: psg.h -
  • -
  • PSG_setFrequency() -: psg.h -
  • -
  • PSG_setNoise() -: psg.h -
  • -
  • PSG_setTone() -: psg.h -
  • -
  • PSG_setToneLow() -: psg.h -
  • -
  • PSG_write() -: psg.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x71.html b/doc/html/globals_0x71.html deleted file mode 100644 index 5eaf3e092..000000000 --- a/doc/html/globals_0x71.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- q -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x72.html b/doc/html/globals_0x72.html deleted file mode 100644 index c51556240..000000000 --- a/doc/html/globals_0x72.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- r -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x73.html b/doc/html/globals_0x73.html deleted file mode 100644 index 03e7c3b6e..000000000 --- a/doc/html/globals_0x73.html +++ /dev/null @@ -1,752 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- s -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x74.html b/doc/html/globals_0x74.html deleted file mode 100644 index ec498a497..000000000 --- a/doc/html/globals_0x74.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- t -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x75.html b/doc/html/globals_0x75.html deleted file mode 100644 index 83522d7a7..000000000 --- a/doc/html/globals_0x75.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- u -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x76.html b/doc/html/globals_0x76.html deleted file mode 100644 index a2e3b9d5b..000000000 --- a/doc/html/globals_0x76.html +++ /dev/null @@ -1,827 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- v -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x77.html b/doc/html/globals_0x77.html deleted file mode 100644 index 59da0bdb2..000000000 --- a/doc/html/globals_0x77.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- w -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x78.html b/doc/html/globals_0x78.html deleted file mode 100644 index d76be62f6..000000000 --- a/doc/html/globals_0x78.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- x -

    -
  • XGM2_fadeIn() -: xgm2.h -
  • -
  • XGM2_fadeOut() -: xgm2.h -
  • -
  • XGM2_fadeOutAndPause() -: xgm2.h -
  • -
  • XGM2_fadeOutAndStop() -: xgm2.h -
  • -
  • XGM2_fadeTo() -: xgm2.h -
  • -
  • XGM2_getCPULoad() -: xgm2.h -
  • -
  • XGM2_getDebugFrameCounter() -: xgm2.h -
  • -
  • XGM2_getDebugMissedFrames() -: xgm2.h -
  • -
  • XGM2_getDebugPCMRate() -: xgm2.h -
  • -
  • XGM2_getDebugProcessDuration() -: xgm2.h -
  • -
  • XGM2_getDMAWaitTime() -: xgm2.h -
  • -
  • XGM2_getElapsed() -: xgm2.h -
  • -
  • XGM2_getMusicTempo() -: xgm2.h -
  • -
  • XGM2_isPAL() -: xgm2.h -
  • -
  • XGM2_isPlaying() -: xgm2.h -
  • -
  • XGM2_isPlayingPCM() -: xgm2.h -
  • -
  • XGM2_isProcessingFade() -: xgm2.h -
  • -
  • XGM2_load() -: xgm2.h -
  • -
  • XGM2_load_FAR() -: xgm2.h -
  • -
  • XGM2_loadDriver() -: xgm2.h -
  • -
  • XGM2_pause() -: xgm2.h -
  • -
  • XGM2_play() -: xgm2.h -
  • -
  • XGM2_play_FAR() -: xgm2.h -
  • -
  • XGM2_playPCM() -: xgm2.h -
  • -
  • XGM2_playPCMEx() -: xgm2.h -
  • -
  • XGM2_playTrack() -: xgm2.h -
  • -
  • XGM2_resume() -: xgm2.h -
  • -
  • XGM2_setFMVolume() -: xgm2.h -
  • -
  • XGM2_setLoopNumber() -: xgm2.h -
  • -
  • XGM2_setMusicTempo() -: xgm2.h -
  • -
  • XGM2_setPSGVolume() -: xgm2.h -
  • -
  • XGM2_stop() -: xgm2.h -
  • -
  • XGM2_stopPCM() -: xgm2.h -
  • -
  • XGM2_unloadDriver() -: xgm2.h -
  • -
  • XGM_getCPULoad() -: xgm.h -
  • -
  • XGM_getElapsed() -: xgm.h -
  • -
  • XGM_getForceDelayDMA() -: xgm.h -
  • -
  • XGM_getManualSync() -: xgm.h -
  • -
  • XGM_getMusicTempo() -: xgm.h -
  • -
  • XGM_isPlaying() -: xgm.h -
  • -
  • XGM_isPlayingPCM() -: xgm.h -
  • -
  • XGM_loadDriver() -: xgm.h -
  • -
  • XGM_nextFrame -: xgm.h -
  • -
  • XGM_nextXFrame() -: xgm.h -
  • -
  • XGM_pausePlay() -: xgm.h -
  • -
  • XGM_resumePlay() -: xgm.h -
  • -
  • XGM_set68KBUSProtection() -: xgm.h -
  • -
  • XGM_setForceDelayDMA() -: xgm.h -
  • -
  • XGM_setLoopNumber() -: xgm.h -
  • -
  • XGM_setManualSync() -: xgm.h -
  • -
  • XGM_setMusicTempo() -: xgm.h -
  • -
  • XGM_setPCM() -: xgm.h -
  • -
  • XGM_setPCM_FAR() -: xgm.h -
  • -
  • XGM_setPCMFast() -: xgm.h -
  • -
  • XGM_setPCMFast_FAR() -: xgm.h -
  • -
  • XGM_startPlay() -: xgm.h -
  • -
  • XGM_startPlay_FAR() -: xgm.h -
  • -
  • XGM_startPlayPCM() -: xgm.h -
  • -
  • XGM_stopPlay() -: xgm.h -
  • -
  • XGM_stopPlayPCM() -: xgm.h -
  • -
  • XGM_unloadDriver() -: xgm.h -
  • -
  • xstr -: console.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x79.html b/doc/html/globals_0x79.html deleted file mode 100644 index d0fc73e3b..000000000 --- a/doc/html/globals_0x79.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- y -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_0x7a.html b/doc/html/globals_0x7a.html deleted file mode 100644 index 8121171fd..000000000 --- a/doc/html/globals_0x7a.html +++ /dev/null @@ -1,287 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-
Here is a list of all documented file members with links to the documentation:
- -

- z -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs.html b/doc/html/globals_defs.html deleted file mode 100644 index d599154b0..000000000 --- a/doc/html/globals_defs.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- a -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x62.html b/doc/html/globals_defs_0x62.html deleted file mode 100644 index 71155fc50..000000000 --- a/doc/html/globals_defs_0x62.html +++ /dev/null @@ -1,204 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- b -

    -
  • BMP_GENBMP16_HEIGHT -: bmp.h -
  • -
  • BMP_GENBMP16_IMAGE -: bmp.h -
  • -
  • BMP_GENBMP16_PALETTE -: bmp.h -
  • -
  • BMP_GENBMP16_WIDTH -: bmp.h -
  • -
  • BMP_getBitmapPalette -: bmp.h -
  • -
  • BMP_GETPIXEL -: bmp.h -
  • -
  • BMP_HEIGHT -: bmp.h -
  • -
  • BMP_loadAndScaleBitmap -: bmp.h -
  • -
  • BMP_loadBitmap -: bmp.h -
  • -
  • BMP_loadBitmapData -: bmp.h -
  • -
  • BMP_PITCH -: bmp.h -
  • -
  • BMP_PLANE_HEIGHT -: bmp.h -
  • -
  • BMP_PLANE_WIDTH -: bmp.h -
  • -
  • BMP_SETPIXEL -: bmp.h -
  • -
  • BMP_TILE_HEIGHT -: bmp.h -
  • -
  • BMP_TILE_WIDTH -: bmp.h -
  • -
  • BMP_WIDTH -: bmp.h -
  • -
  • BMP_XPIXPERTILE -: bmp.h -
  • -
  • BMP_YPIXPERTILE -: bmp.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x63.html b/doc/html/globals_defs_0x63.html deleted file mode 100644 index d9ab15f5c..000000000 --- a/doc/html/globals_defs_0x63.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- c -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x64.html b/doc/html/globals_defs_0x64.html deleted file mode 100644 index eba0f94bf..000000000 --- a/doc/html/globals_defs_0x64.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- d -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x65.html b/doc/html/globals_defs_0x65.html deleted file mode 100644 index be3d30050..000000000 --- a/doc/html/globals_defs_0x65.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- e -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x66.html b/doc/html/globals_defs_0x66.html deleted file mode 100644 index b7a31e7f5..000000000 --- a/doc/html/globals_defs_0x66.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- f -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x67.html b/doc/html/globals_defs_0x67.html deleted file mode 100644 index b46c923ef..000000000 --- a/doc/html/globals_defs_0x67.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- g -

    -
  • GET_DWORDFROMPBYTE -: memory.h -
  • -
  • GET_DWORDFROMPBYTE_LI -: memory.h -
  • -
  • GET_DWORDFROMPWORD -: memory.h -
  • -
  • GET_DWORDFROMPWORD_LI -: memory.h -
  • -
  • GET_HCOUNTER -: vdp.h -
  • -
  • GET_HVCOUNTER -: vdp.h -
  • -
  • GET_VCOUNTER -: vdp.h -
  • -
  • GET_VDP_STATUS -: vdp.h -
  • -
  • GET_WORDFROMPBYTE -: memory.h -
  • -
  • GET_WORDFROMPBYTE_LI -: memory.h -
  • -
  • GFX_CTRL_PORT -: vdp.h -
  • -
  • GFX_DATA_PORT -: vdp.h -
  • -
  • GFX_DMA_CRAM_ADDR -: vdp.h -
  • -
  • GFX_DMA_VRAM_ADDR -: vdp.h -
  • -
  • GFX_DMA_VRAMCOPY_ADDR -: vdp.h -
  • -
  • GFX_DMA_VSRAM_ADDR -: vdp.h -
  • -
  • GFX_HORZ_SCROLL -: vdp.h -
  • -
  • GFX_HVCOUNTER_PORT -: vdp.h -
  • -
  • GFX_READ_CRAM_ADDR -: vdp.h -
  • -
  • GFX_READ_VRAM_ADDR -: vdp.h -
  • -
  • GFX_READ_VSRAM_ADDR -: vdp.h -
  • -
  • GFX_VERT_SCROLL -: vdp.h -
  • -
  • GFX_WRITE_CRAM_ADDR -: vdp.h -
  • -
  • GFX_WRITE_VRAM_ADDR -: vdp.h -
  • -
  • GFX_WRITE_VSRAM_ADDR -: vdp.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x68.html b/doc/html/globals_defs_0x68.html deleted file mode 100644 index ea7c9c119..000000000 --- a/doc/html/globals_defs_0x68.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- h -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x69.html b/doc/html/globals_defs_0x69.html deleted file mode 100644 index 2bf378a14..000000000 --- a/doc/html/globals_defs_0x69.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- i -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x6c.html b/doc/html/globals_defs_0x6c.html deleted file mode 100644 index e976d8cac..000000000 --- a/doc/html/globals_defs_0x6c.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- l -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x6d.html b/doc/html/globals_defs_0x6d.html deleted file mode 100644 index 9bd3e680e..000000000 --- a/doc/html/globals_defs_0x6d.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- m -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x6e.html b/doc/html/globals_defs_0x6e.html deleted file mode 100644 index fb9ee279b..000000000 --- a/doc/html/globals_defs_0x6e.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- n -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x6f.html b/doc/html/globals_defs_0x6f.html deleted file mode 100644 index 90dd0b989..000000000 --- a/doc/html/globals_defs_0x6f.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- o -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x70.html b/doc/html/globals_defs_0x70.html deleted file mode 100644 index 9a14ede44..000000000 --- a/doc/html/globals_defs_0x70.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- p -

    -
  • PAL0 -: vdp.h -
  • -
  • PAL1 -: vdp.h -
  • -
  • PAL2 -: vdp.h -
  • -
  • PAL3 -: vdp.h -
  • -
  • PAL_setColorsDMA -: pal.h -
  • -
  • PAL_setPaletteColorsDMA -: pal.h -
  • -
  • PAL_setPaletteDMA -: pal.h -
  • -
  • PI -: maths.h -
  • -
  • PSG_ENVELOPE_MAX -: psg.h -
  • -
  • PSG_ENVELOPE_MIN -: psg.h -
  • -
  • PSG_init -: psg.h -
  • -
  • PSG_NOISE_FREQ_CLOCK2 -: psg.h -
  • -
  • PSG_NOISE_FREQ_CLOCK4 -: psg.h -
  • -
  • PSG_NOISE_FREQ_CLOCK8 -: psg.h -
  • -
  • PSG_NOISE_FREQ_TONE3 -: psg.h -
  • -
  • PSG_NOISE_TYPE_PERIODIC -: psg.h -
  • -
  • PSG_NOISE_TYPE_WHITE -: psg.h -
  • -
  • PSG_PORT -: psg.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x72.html b/doc/html/globals_defs_0x72.html deleted file mode 100644 index f417639ee..000000000 --- a/doc/html/globals_defs_0x72.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- r -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x73.html b/doc/html/globals_defs_0x73.html deleted file mode 100644 index 1a9aa68c0..000000000 --- a/doc/html/globals_defs_0x73.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- s -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x74.html b/doc/html/globals_defs_0x74.html deleted file mode 100644 index b4d94c2f0..000000000 --- a/doc/html/globals_defs_0x74.html +++ /dev/null @@ -1,267 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- t -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x75.html b/doc/html/globals_defs_0x75.html deleted file mode 100644 index fe7be2534..000000000 --- a/doc/html/globals_defs_0x75.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- u -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x76.html b/doc/html/globals_defs_0x76.html deleted file mode 100644 index 68f257444..000000000 --- a/doc/html/globals_defs_0x76.html +++ /dev/null @@ -1,279 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- v -

    -
  • VDP_BG_A -: vdp.h -
  • -
  • VDP_BG_B -: vdp.h -
  • -
  • VDP_CTRL_PORT -: vdp.h -
  • -
  • VDP_DATA_PORT -: vdp.h -
  • -
  • VDP_DMA_CRAM_ADDR -: vdp.h -
  • -
  • VDP_DMA_VRAM_ADDR -: vdp.h -
  • -
  • VDP_DMA_VRAMCOPY_ADDR -: vdp.h -
  • -
  • VDP_DMA_VSRAM_ADDR -: vdp.h -
  • -
  • VDP_DMABUSY_FLAG -: vdp.h -
  • -
  • VDP_FIFOEMPTY_FLAG -: vdp.h -
  • -
  • VDP_FIFOFULL_FLAG -: vdp.h -
  • -
  • VDP_getAPlanAddress -: vdp.h -
  • -
  • VDP_getBPlanAddress -: vdp.h -
  • -
  • VDP_getWindowPlanAddress -: vdp.h -
  • -
  • VDP_HBLANK_FLAG -: vdp.h -
  • -
  • VDP_HORZ_SCROLL -: vdp.h -
  • -
  • VDP_HSCROLL_TABLE -: vdp.h -
  • -
  • VDP_HVCOUNTER_PORT -: vdp.h -
  • -
  • VDP_MAPS_START -: vdp.h -
  • -
  • VDP_ODDFRAME_FLAG -: vdp.h -
  • -
  • VDP_PALMODE_FLAG -: vdp.h -
  • -
  • VDP_PLAN_A -: vdp.h -
  • -
  • VDP_PLAN_B -: vdp.h -
  • -
  • VDP_PLAN_WINDOW -: vdp.h -
  • -
  • VDP_READ_CRAM_ADDR -: vdp.h -
  • -
  • VDP_READ_VRAM_ADDR -: vdp.h -
  • -
  • VDP_READ_VSRAM_ADDR -: vdp.h -
  • -
  • VDP_setAPlanAddress -: vdp.h -
  • -
  • VDP_setBPlanAddress -: vdp.h -
  • -
  • VDP_setPlanSize -: vdp.h -
  • -
  • VDP_setWindowPlanAddress -: vdp.h -
  • -
  • VDP_SPRCOLLISION_FLAG -: vdp.h -
  • -
  • VDP_SPRITE_TABLE -: vdp.h -
  • -
  • VDP_SPROVERFLOW_FLAG -: vdp.h -
  • -
  • VDP_VBLANK_FLAG -: vdp.h -
  • -
  • VDP_VERT_SCROLL -: vdp.h -
  • -
  • VDP_VINTPENDING_FLAG -: vdp.h -
  • -
  • VDP_WINDOW -: vdp.h -
  • -
  • VDP_WRITE_CRAM_ADDR -: vdp.h -
  • -
  • VDP_WRITE_VRAM_ADDR -: vdp.h -
  • -
  • VDP_WRITE_VSRAM_ADDR -: vdp.h -
  • -
  • VSCROLL_2TILE -: vdp.h -
  • -
  • VSCROLL_COLUMN -: vdp.h -
  • -
  • VSCROLL_PLANE -: vdp.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x78.html b/doc/html/globals_defs_0x78.html deleted file mode 100644 index 2eaca60ac..000000000 --- a/doc/html/globals_defs_0x78.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- x -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x79.html b/doc/html/globals_defs_0x79.html deleted file mode 100644 index 6d99f1b81..000000000 --- a/doc/html/globals_defs_0x79.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- y -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_defs_0x7a.html b/doc/html/globals_defs_0x7a.html deleted file mode 100644 index 8de24b38f..000000000 --- a/doc/html/globals_defs_0x7a.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- z -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_enum.html b/doc/html/globals_enum.html deleted file mode 100644 index b561ab66e..000000000 --- a/doc/html/globals_enum.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - -
-
- -
-
-
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_eval.html b/doc/html/globals_eval.html deleted file mode 100644 index 53ff566ba..000000000 --- a/doc/html/globals_eval.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - -
-
- -
-
-
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func.html b/doc/html/globals_func.html deleted file mode 100644 index 839edc4d3..000000000 --- a/doc/html/globals_func.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- a -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x62.html b/doc/html/globals_func_0x62.html deleted file mode 100644 index 2dcfbd06e..000000000 --- a/doc/html/globals_func_0x62.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- b -

    -
  • BMP_clear() -: bmp.h -
  • -
  • BMP_clearText() -: bmp.h -
  • -
  • BMP_clearTextLine() -: bmp.h -
  • -
  • BMP_clipLine() -: bmp.h -
  • -
  • BMP_drawBitmap() -: bmp.h -
  • -
  • BMP_drawBitmapData() -: bmp.h -
  • -
  • BMP_drawBitmapScaled() -: bmp.h -
  • -
  • BMP_drawLine() -: bmp.h -
  • -
  • BMP_drawPolygon() -: bmp.h -
  • -
  • BMP_drawText() -: bmp.h -
  • -
  • BMP_end() -: bmp.h -
  • -
  • BMP_flip() -: bmp.h -
  • -
  • BMP_getPixel() -: bmp.h -
  • -
  • BMP_getPixelFast() -: bmp.h -
  • -
  • BMP_getReadPointer() -: bmp.h -
  • -
  • BMP_getWritePointer() -: bmp.h -
  • -
  • BMP_hasFlipInProgess() -: bmp.h -
  • -
  • BMP_hasFlipRequestPending() -: bmp.h -
  • -
  • BMP_init() -: bmp.h -
  • -
  • BMP_isPolygonCulled() -: bmp.h -
  • -
  • BMP_reset() -: bmp.h -
  • -
  • BMP_scale() -: bmp.h -
  • -
  • BMP_setBufferCopy() -: bmp.h -
  • -
  • BMP_setPixel() -: bmp.h -
  • -
  • BMP_setPixelFast() -: bmp.h -
  • -
  • BMP_setPixels() -: bmp.h -
  • -
  • BMP_setPixels_V2D() -: bmp.h -
  • -
  • BMP_setPixelsFast() -: bmp.h -
  • -
  • BMP_setPixelsFast_V2D() -: bmp.h -
  • -
  • BMP_showFPS() -: bmp.h -
  • -
  • BMP_waitFlipComplete() -: bmp.h -
  • -
  • BMP_waitWhileFlipRequestPending() -: bmp.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x63.html b/doc/html/globals_func_0x63.html deleted file mode 100644 index 304c358f1..000000000 --- a/doc/html/globals_func_0x63.html +++ /dev/null @@ -1,203 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- c -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x64.html b/doc/html/globals_func_0x64.html deleted file mode 100644 index 5206ecd6c..000000000 --- a/doc/html/globals_func_0x64.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- d -

    -
  • divmods() -: maths.h -
  • -
  • divmodu() -: maths.h -
  • -
  • divs() -: maths.h -
  • -
  • divu() -: maths.h -
  • -
  • DMA_allocateAndQueueDma() -: dma.h -
  • -
  • DMA_allocateTemp() -: dma.h -
  • -
  • DMA_canQueue() -: dma.h -
  • -
  • DMA_clearQueue() -: dma.h -
  • -
  • DMA_copyAndQueueDma() -: dma.h -
  • -
  • DMA_doCPUCopy() -: dma.h -
  • -
  • DMA_doCPUCopyDirect() -: dma.h -
  • -
  • DMA_doDma() -: dma.h -
  • -
  • DMA_doDmaFast() -: dma.h -
  • -
  • DMA_doVRamCopy() -: dma.h -
  • -
  • DMA_doVRamFill() -: dma.h -
  • -
  • DMA_flushQueue() -: dma.h -
  • -
  • DMA_getAutoFlush() -: dma.h -
  • -
  • DMA_getBufferSize() -: dma.h -
  • -
  • DMA_getIgnoreOverCapacity() -: dma.h -
  • -
  • DMA_getMaxQueueSize() -: dma.h -
  • -
  • DMA_getMaxTransferSize() -: dma.h -
  • -
  • DMA_getQueueSize() -: dma.h -
  • -
  • DMA_getQueueTransferSize() -: dma.h -
  • -
  • DMA_init() -: dma.h -
  • -
  • DMA_initEx() -: dma.h -
  • -
  • DMA_queueDma() -: dma.h -
  • -
  • DMA_queueDmaFast() -: dma.h -
  • -
  • DMA_releaseTemp() -: dma.h -
  • -
  • DMA_setAutoFlush() -: dma.h -
  • -
  • DMA_setBufferSize() -: dma.h -
  • -
  • DMA_setBufferSizeToDefault() -: dma.h -
  • -
  • DMA_setIgnoreOverCapacity() -: dma.h -
  • -
  • DMA_setMaxQueueSize() -: dma.h -
  • -
  • DMA_setMaxQueueSizeToDefault() -: dma.h -
  • -
  • DMA_setMaxTransferSize() -: dma.h -
  • -
  • DMA_setMaxTransferSizeToDefault() -: dma.h -
  • -
  • DMA_transfer() -: dma.h -
  • -
  • DMA_waitCompletion() -: dma.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x66.html b/doc/html/globals_func_0x66.html deleted file mode 100644 index 7c98e9b7c..000000000 --- a/doc/html/globals_func_0x66.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- f -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x67.html b/doc/html/globals_func_0x67.html deleted file mode 100644 index 6250f1928..000000000 --- a/doc/html/globals_func_0x67.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- g -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x69.html b/doc/html/globals_func_0x69.html deleted file mode 100644 index 0f927b161..000000000 --- a/doc/html/globals_func_0x69.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- i -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x6a.html b/doc/html/globals_func_0x6a.html deleted file mode 100644 index f885fc4ee..000000000 --- a/doc/html/globals_func_0x6a.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- j -

    -
  • JOY_getEventHandler() -: joy.h -
  • -
  • JOY_getJoypadType() -: joy.h -
  • -
  • JOY_getPortType() -: joy.h -
  • -
  • JOY_init() -: joy.h -
  • -
  • JOY_readJoypad() -: joy.h -
  • -
  • JOY_readJoypadX() -: joy.h -
  • -
  • JOY_readJoypadY() -: joy.h -
  • -
  • JOY_reset() -: joy.h -
  • -
  • JOY_setEventHandler() -: joy.h -
  • -
  • JOY_setSupport() -: joy.h -
  • -
  • JOY_update() -: joy.h -
  • -
  • JOY_waitPress() -: joy.h -
  • -
  • JOY_waitPressBtn() -: joy.h -
  • -
  • JOY_waitPressBtnTime() -: joy.h -
  • -
  • JOY_waitPressTime() -: joy.h -
  • -
  • JOY_writeJoypadX() -: joy.h -
  • -
  • JOY_writeJoypadY() -: joy.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x6b.html b/doc/html/globals_func_0x6b.html deleted file mode 100644 index 73b7652d8..000000000 --- a/doc/html/globals_func_0x6b.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- k -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x6c.html b/doc/html/globals_func_0x6c.html deleted file mode 100644 index c9bece25d..000000000 --- a/doc/html/globals_func_0x6c.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- l -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x6d.html b/doc/html/globals_func_0x6d.html deleted file mode 100644 index c349f24a4..000000000 --- a/doc/html/globals_func_0x6d.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- m -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x6f.html b/doc/html/globals_func_0x6f.html deleted file mode 100644 index 2506cb92b..000000000 --- a/doc/html/globals_func_0x6f.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- o -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x70.html b/doc/html/globals_func_0x70.html deleted file mode 100644 index 1391ffaf7..000000000 --- a/doc/html/globals_func_0x70.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- p -

    -
  • PAL_doFadeStep() -: pal.h -
  • -
  • PAL_fade() -: pal.h -
  • -
  • PAL_fadeAll() -: pal.h -
  • -
  • PAL_fadeIn() -: pal.h -
  • -
  • PAL_fadeInAll() -: pal.h -
  • -
  • PAL_fadeInPalette() -: pal.h -
  • -
  • PAL_fadeOut() -: pal.h -
  • -
  • PAL_fadeOutAll() -: pal.h -
  • -
  • PAL_fadeOutPalette() -: pal.h -
  • -
  • PAL_fadePalette() -: pal.h -
  • -
  • PAL_fadeTo() -: pal.h -
  • -
  • PAL_fadeToAll() -: pal.h -
  • -
  • PAL_fadeToPalette() -: pal.h -
  • -
  • PAL_getColor() -: pal.h -
  • -
  • PAL_getColors() -: pal.h -
  • -
  • PAL_getPalette() -: pal.h -
  • -
  • PAL_initFade() -: pal.h -
  • -
  • PAL_interruptFade() -: pal.h -
  • -
  • PAL_isDoingFade() -: pal.h -
  • -
  • PAL_setColor() -: pal.h -
  • -
  • PAL_setColors() -: pal.h -
  • -
  • PAL_setPalette() -: pal.h -
  • -
  • PAL_setPaletteColors() -: pal.h -
  • -
  • PAL_waitFadeCompletion() -: pal.h -
  • -
  • POOL_allocate() -: pool.h -
  • -
  • POOL_create() -: pool.h -
  • -
  • POOL_destroy() -: pool.h -
  • -
  • POOL_find() -: pool.h -
  • -
  • POOL_getFirst() -: pool.h -
  • -
  • POOL_getFree() -: pool.h -
  • -
  • POOL_getNumAllocated() -: pool.h -
  • -
  • POOL_release() -: pool.h -
  • -
  • POOL_reset() -: pool.h -
  • -
  • PSG_reset() -: psg.h -
  • -
  • PSG_setEnvelope() -: psg.h -
  • -
  • PSG_setFrequency() -: psg.h -
  • -
  • PSG_setNoise() -: psg.h -
  • -
  • PSG_setTone() -: psg.h -
  • -
  • PSG_setToneLow() -: psg.h -
  • -
  • PSG_write() -: psg.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x71.html b/doc/html/globals_func_0x71.html deleted file mode 100644 index 50c19746c..000000000 --- a/doc/html/globals_func_0x71.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- q -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x72.html b/doc/html/globals_func_0x72.html deleted file mode 100644 index 14759df37..000000000 --- a/doc/html/globals_func_0x72.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- r -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x73.html b/doc/html/globals_func_0x73.html deleted file mode 100644 index 923a365cf..000000000 --- a/doc/html/globals_func_0x73.html +++ /dev/null @@ -1,541 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- s -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x74.html b/doc/html/globals_func_0x74.html deleted file mode 100644 index 7ba357fdc..000000000 --- a/doc/html/globals_func_0x74.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- t -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x75.html b/doc/html/globals_func_0x75.html deleted file mode 100644 index 6af6fd442..000000000 --- a/doc/html/globals_func_0x75.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- u -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x76.html b/doc/html/globals_func_0x76.html deleted file mode 100644 index 78c2cb89e..000000000 --- a/doc/html/globals_func_0x76.html +++ /dev/null @@ -1,598 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- v -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x77.html b/doc/html/globals_func_0x77.html deleted file mode 100644 index a7fabc64e..000000000 --- a/doc/html/globals_func_0x77.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- w -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x78.html b/doc/html/globals_func_0x78.html deleted file mode 100644 index 01f9d78ec..000000000 --- a/doc/html/globals_func_0x78.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- x -

    -
  • XGM2_fadeIn() -: xgm2.h -
  • -
  • XGM2_fadeOut() -: xgm2.h -
  • -
  • XGM2_fadeOutAndPause() -: xgm2.h -
  • -
  • XGM2_fadeOutAndStop() -: xgm2.h -
  • -
  • XGM2_fadeTo() -: xgm2.h -
  • -
  • XGM2_getCPULoad() -: xgm2.h -
  • -
  • XGM2_getDebugFrameCounter() -: xgm2.h -
  • -
  • XGM2_getDebugMissedFrames() -: xgm2.h -
  • -
  • XGM2_getDebugPCMRate() -: xgm2.h -
  • -
  • XGM2_getDebugProcessDuration() -: xgm2.h -
  • -
  • XGM2_getDMAWaitTime() -: xgm2.h -
  • -
  • XGM2_getElapsed() -: xgm2.h -
  • -
  • XGM2_getMusicTempo() -: xgm2.h -
  • -
  • XGM2_isPAL() -: xgm2.h -
  • -
  • XGM2_isPlaying() -: xgm2.h -
  • -
  • XGM2_isPlayingPCM() -: xgm2.h -
  • -
  • XGM2_isProcessingFade() -: xgm2.h -
  • -
  • XGM2_load() -: xgm2.h -
  • -
  • XGM2_load_FAR() -: xgm2.h -
  • -
  • XGM2_loadDriver() -: xgm2.h -
  • -
  • XGM2_pause() -: xgm2.h -
  • -
  • XGM2_play() -: xgm2.h -
  • -
  • XGM2_play_FAR() -: xgm2.h -
  • -
  • XGM2_playPCM() -: xgm2.h -
  • -
  • XGM2_playPCMEx() -: xgm2.h -
  • -
  • XGM2_playTrack() -: xgm2.h -
  • -
  • XGM2_resume() -: xgm2.h -
  • -
  • XGM2_setFMVolume() -: xgm2.h -
  • -
  • XGM2_setLoopNumber() -: xgm2.h -
  • -
  • XGM2_setMusicTempo() -: xgm2.h -
  • -
  • XGM2_setPSGVolume() -: xgm2.h -
  • -
  • XGM2_stop() -: xgm2.h -
  • -
  • XGM2_stopPCM() -: xgm2.h -
  • -
  • XGM2_unloadDriver() -: xgm2.h -
  • -
  • XGM_getCPULoad() -: xgm.h -
  • -
  • XGM_getElapsed() -: xgm.h -
  • -
  • XGM_getForceDelayDMA() -: xgm.h -
  • -
  • XGM_getManualSync() -: xgm.h -
  • -
  • XGM_getMusicTempo() -: xgm.h -
  • -
  • XGM_isPlaying() -: xgm.h -
  • -
  • XGM_isPlayingPCM() -: xgm.h -
  • -
  • XGM_loadDriver() -: xgm.h -
  • -
  • XGM_nextXFrame() -: xgm.h -
  • -
  • XGM_pausePlay() -: xgm.h -
  • -
  • XGM_resumePlay() -: xgm.h -
  • -
  • XGM_set68KBUSProtection() -: xgm.h -
  • -
  • XGM_setForceDelayDMA() -: xgm.h -
  • -
  • XGM_setLoopNumber() -: xgm.h -
  • -
  • XGM_setManualSync() -: xgm.h -
  • -
  • XGM_setMusicTempo() -: xgm.h -
  • -
  • XGM_setPCM() -: xgm.h -
  • -
  • XGM_setPCM_FAR() -: xgm.h -
  • -
  • XGM_setPCMFast() -: xgm.h -
  • -
  • XGM_setPCMFast_FAR() -: xgm.h -
  • -
  • XGM_startPlay() -: xgm.h -
  • -
  • XGM_startPlay_FAR() -: xgm.h -
  • -
  • XGM_startPlayPCM() -: xgm.h -
  • -
  • XGM_stopPlay() -: xgm.h -
  • -
  • XGM_stopPlayPCM() -: xgm.h -
  • -
  • XGM_unloadDriver() -: xgm.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x79.html b/doc/html/globals_func_0x79.html deleted file mode 100644 index 5d793f887..000000000 --- a/doc/html/globals_func_0x79.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- y -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_func_0x7a.html b/doc/html/globals_func_0x7a.html deleted file mode 100644 index 869a685c4..000000000 --- a/doc/html/globals_func_0x7a.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- z -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_type.html b/doc/html/globals_type.html deleted file mode 100644 index c37a4a4e2..000000000 --- a/doc/html/globals_type.html +++ /dev/null @@ -1,355 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- _ -

    -
  • _comparatorCallback -: tools.h -
  • -
- - -

- b -

- - -

- f -

- - -

- j -

    -
  • JoyEventCallback -: joy.h -
  • -
- - -

- m -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- u -

- - -

- v -

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/globals_vars.html b/doc/html/globals_vars.html deleted file mode 100644 index 02551ebb4..000000000 --- a/doc/html/globals_vars.html +++ /dev/null @@ -1,310 +0,0 @@ - - - - -sgdk: File Members - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - - - -
-
- -
-
-
- -
-
-  - -

- a -

    -
  • addressErrorCB -: sys.h -
  • -
- - -

- b -

    -
  • bmp_buffer_read -: bmp.h -
  • -
  • bmp_buffer_write -: bmp.h -
  • -
  • busErrorCB -: sys.h -
  • -
- - -

- c -

- - -

- d -

    -
  • dmaDataBuffer -: dma.h -
  • -
  • dmaQueues -: dma.h -
  • -
- - -

- e -

    -
  • errorExceptionCB -: sys.h -
  • -
- - -

- f -

- - -

- h -

- - -

- i -

- - -

- l -

- - -

- p -

    -
  • palette_black -: pal.h -
  • -
  • palette_blue -: pal.h -
  • -
  • palette_green -: pal.h -
  • -
  • palette_grey -: pal.h -
  • -
  • palette_red -: pal.h -
  • -
  • planeHeight -: vdp.h -
  • -
  • planeHeightSft -: vdp.h -
  • -
  • planeWidth -: vdp.h -
  • -
  • planeWidthSft -: vdp.h -
  • -
  • privilegeViolationCB -: sys.h -
  • -
- - -

- s -

- - -

- t -

- - -

- v -

- - -

- w -

    -
  • windowWidth -: vdp.h -
  • -
  • windowWidthSft -: vdp.h -
  • -
- - -

- z -

    -
  • zeroDivideCB -: sys.h -
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/group___c550.html b/doc/html/group___c550.html deleted file mode 100644 index 5472c46d3..000000000 --- a/doc/html/group___c550.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - -sgdk: 16c550 - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- -
-
- -
-
-
- -
-
-
-
16c550
-
-
- -

Simple 16C550 UART chip driver. -More...

- -
-

Simple 16C550 UART chip driver.

-
Author:
Jesus Alonso (doragasu)
-
Date:
2016
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/group__gamejolt.html b/doc/html/group__gamejolt.html deleted file mode 100644 index 39981aba9..000000000 --- a/doc/html/group__gamejolt.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - -sgdk: gamejolt - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- -
-
- -
-
-
- -
-
-
-
gamejolt
-
-
- -

GameJolt Game API implementation for MegaWiFi. -More...

- -
-

GameJolt Game API implementation for MegaWiFi.

-

Implementation of the version 1.2 of the GameJolt Game API, supporting scoreboards, trophies, friends, etc. For more information, read the original GameJolt Game API documentation: https://gamejolt.com/game-api/doc

-
Author:
Jesus Alonso (doragasu)
-
Date:
2020
-
Note:
This module requires setting MODULE_MEGAWIFI to 1 in config.h and rebuilding the library (if you had to change them).
-
-The module uses X Macros, making Doxygen documentation of some elements a bit complicated. Sorry about that.
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/group__json.html b/doc/html/group__json.html deleted file mode 100644 index 7f34b12ec..000000000 --- a/doc/html/group__json.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -sgdk: json - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- -
-
- -
-
-
- -
-
-
-
json
-
-
- -

JSON implementation, based on jsmn by Serge Zaitsev. -More...

- -
-

JSON implementation, based on jsmn by Serge Zaitsev.

-

This module just adds some helper functions to jsmn to ease navigating the JSON structure and extracting values.

-
Author:
Jesus Alonso (doragasu)
-
Date:
2019
-
Todo:
Add more functions to extract data.
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/group__lsd.html b/doc/html/group__lsd.html deleted file mode 100644 index 008a05e53..000000000 --- a/doc/html/group__lsd.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - -sgdk: lsd - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- -
-
- -
-
-
- -
-
-
-
lsd
-
-
- -

Local Symmetric Data-link. Implements an extremely simple protocol to link two full-duplex devices, multiplexing the data link. -More...

- -
-

Local Symmetric Data-link. Implements an extremely simple protocol to link two full-duplex devices, multiplexing the data link.

-

The multiplexing facility allows having up to LSD_MAX_CH simultaneous channels on the serial link.

-

The module has synchronous functions to send/receive data (easy to use, but due to polling hang the console until transfer is complete) and their asyncronous counterparts. The asynchronous functions return immediately, but require calling frequently lsd_process() to actually send/receive data. Once the asynchronous functions complete sending/receiving data, the specified callback is run.

-
Author:
Jesus Alonso (doragasu)
-
Date:
2019
-
Note:
Unfortunately the Megadrive does have neither an interrupt pin nor DMA threshold pins in the cartridge slot, so polling is the only way. So you have Megadrive does not have an interrupt pin on the cart, implementing more efficient data transmission techniques will be tricky.
-
Warning:
The syncrhonous API is easier to use, but a lot less reliable: * It polls, using all the CPU until the send/recv operation completes. * A lsd_recv_sync() can freeze the machine if no frame is received. USE IT WITH CARE!
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/group__megawifi.html b/doc/html/group__megawifi.html deleted file mode 100644 index 323921285..000000000 --- a/doc/html/group__megawifi.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -sgdk: megawifi - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- -
-
- -
-
-
- -
-
-
-
megawifi
-
-
- -

MegaWiFi API implementation. -More...

- -
-

MegaWiFi API implementation.

-

API to communicate with the wifi module and the Internet. API calls are documented and most of them are self explanatory. Mostly the only weird thing about the API is UDP reuse mode. If you enable reuse mode (setting the dst_addr and/or dst_port to NULL in the mw_udp_set() call), received data will prepend the IP and port of the peer (using mw_reuse_payload data structure), and data to be sent also requires the IP and port to be prepended to the payload.

-
Author:
Jesus Alonso (doragasu)
-
Date:
2015
-
Note:
This module requires setting MODULE_MEGAWIFI to 1 in config.h and rebuilding the library (if you had to change them).
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/group__mw-msg.html b/doc/html/group__mw-msg.html deleted file mode 100644 index 499333d4c..000000000 --- a/doc/html/group__mw-msg.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: mw-msg - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- -
-
- -
-
-
- -
-
-
-
mw-msg
-
-
- -

MegaWiFi command message definitions. -More...

- -
-

MegaWiFi command message definitions.

-

Contains the definition of the command codes and the data structures conforming the command message queries and responses. Usually this module is not directly used by the application, but by megawifi internally.

-
Author:
Jesus Alonso (doragasu)
-
Date:
2015~2019
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/index.html b/doc/html/index.html deleted file mode 100644 index df773feff..000000000 --- a/doc/html/index.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - -sgdk: Main Page - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- -
-
- -
-
-
- -
-
-
-
sgdk Documentation
-
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/installdox b/doc/html/installdox deleted file mode 100644 index edf5bbfe3..000000000 --- a/doc/html/installdox +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/perl - -%subst = ( ); -$quiet = 0; - -while ( @ARGV ) { - $_ = shift @ARGV; - if ( s/^-// ) { - if ( /^l(.*)/ ) { - $v = ($1 eq "") ? shift @ARGV : $1; - ($v =~ /\/$/) || ($v .= "/"); - $_ = $v; - if ( /(.+)\@(.+)/ ) { - if ( exists $subst{$1} ) { - $subst{$1} = $2; - } else { - print STDERR "Unknown tag file $1 given with option -l\n"; - &usage(); - } - } else { - print STDERR "Argument $_ is invalid for option -l\n"; - &usage(); - } - } - elsif ( /^q/ ) { - $quiet = 1; - } - elsif ( /^\?|^h/ ) { - &usage(); - } - else { - print STDERR "Illegal option -$_\n"; - &usage(); - } - } - else { - push (@files, $_ ); - } -} - -foreach $sub (keys %subst) -{ - if ( $subst{$sub} eq "" ) - { - print STDERR "No substitute given for tag file `$sub'\n"; - &usage(); - } - elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" ) - { - print "Substituting $subst{$sub} for each occurrence of tag file $sub\n"; - } -} - -if ( ! @files ) { - if (opendir(D,".")) { - foreach $file ( readdir(D) ) { - $match = ".html"; - next if ( $file =~ /^\.\.?$/ ); - ($file =~ /$match/) && (push @files, $file); - ($file =~ /\.svg/) && (push @files, $file); - ($file =~ "navtree.js") && (push @files, $file); - } - closedir(D); - } -} - -if ( ! @files ) { - print STDERR "Warning: No input files given and none found!\n"; -} - -foreach $f (@files) -{ - if ( ! $quiet ) { - print "Editing: $f...\n"; - } - $oldf = $f; - $f .= ".bak"; - unless (rename $oldf,$f) { - print STDERR "Error: cannot rename file $oldf\n"; - exit 1; - } - if (open(F,"<$f")) { - unless (open(G,">$oldf")) { - print STDERR "Error: opening file $oldf for writing\n"; - exit 1; - } - if ($oldf ne "tree.js") { - while () { - s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (xlink:href|href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g; - print G "$_"; - } - } - else { - while () { - s/\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\", \"\2/\"$1:$subst{$1}\" ,\"$subst{$1}/g; - print G "$_"; - } - } - } - else { - print STDERR "Warning file $f does not exist\n"; - } - unlink $f; -} - -sub usage { - print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n"; - print STDERR "Options:\n"; - print STDERR " -l tagfile\@linkName tag file + URL or directory \n"; - print STDERR " -q Quiet mode\n\n"; - exit 1; -} diff --git a/doc/html/joy_8h.html b/doc/html/joy_8h.html deleted file mode 100644 index cd447043b..000000000 --- a/doc/html/joy_8h.html +++ /dev/null @@ -1,1007 +0,0 @@ - - - - -sgdk: joy.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
joy.h File Reference
-
-
- -

General controller support. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define PORT_1   0x0000
-#define PORT_2   0x0001
-#define JOY_1   0x0000
-#define JOY_2   0x0001
-#define JOY_3   0x0002
-#define JOY_4   0x0003
-#define JOY_5   0x0004
-#define JOY_6   0x0005
-#define JOY_7   0x0006
-#define JOY_8   0x0007
-#define JOY_NUM   0x0008
-#define JOY_ALL   0xFFFF
-#define BUTTON_UP   0x0001
-#define BUTTON_DOWN   0x0002
-#define BUTTON_LEFT   0x0004
-#define BUTTON_RIGHT   0x0008
-#define BUTTON_A   0x0040
-#define BUTTON_B   0x0010
-#define BUTTON_C   0x0020
-#define BUTTON_START   0x0080
-#define BUTTON_X   0x0400
-#define BUTTON_Y   0x0200
-#define BUTTON_Z   0x0100
-#define BUTTON_MODE   0x0800
-#define BUTTON_LMB   0x0040
-#define BUTTON_MMB   0x0010
-#define BUTTON_RMB   0x0020
-#define BUTTON_DIR   0x000F
-#define BUTTON_BTN   0x0FF0
-#define BUTTON_ALL   0x0FFF
-#define JOY_TYPE_PAD3   0x00
-#define JOY_TYPE_PAD6   0x01
-#define JOY_TYPE_MOUSE   0x02
-#define JOY_TYPE_TRACKBALL   0x03
-#define JOY_TYPE_MENACER   0x04
-#define JOY_TYPE_JUSTIFIER   0x05
-#define JOY_TYPE_PHASER   0x06
-#define JOY_TYPE_UNKNOWN   0x0F
-#define PORT_TYPE_MENACER   0x00
-#define PORT_TYPE_JUSTIFIER   0x01
-#define PORT_TYPE_MOUSE   0x03
-#define PORT_TYPE_TEAMPLAYER   0x07
-#define PORT_TYPE_PAD   0x0D
-#define PORT_TYPE_UNKNOWN   0x0F
-#define PORT_TYPE_EA4WAYPLAY   0x10
-#define JOY_SUPPORT_OFF   0x00
-#define JOY_SUPPORT_3BTN   0x01
-#define JOY_SUPPORT_6BTN   0x02
-#define JOY_SUPPORT_MOUSE   0x03
-#define JOY_SUPPORT_TRACKBALL   0x04
-#define JOY_SUPPORT_TEAMPLAYER   0x05
-#define JOY_SUPPORT_EA4WAYPLAY   0x06
-#define JOY_SUPPORT_MENACER   0x07
-#define JOY_SUPPORT_JUSTIFIER_BLUE   0x08
-#define JOY_SUPPORT_JUSTIFIER_BOTH   0x09
-#define JOY_SUPPORT_PHASER   0x0A
-#define JOY_SUPPORT_ANALOGJOY   0x0B
-#define JOY_SUPPORT_KEYBOARD   0x0C

-Typedefs

typedef void JoyEventCallback (u16 joy, u16 changed, u16 state)
 Joypad event callback.

-Functions

void JOY_init (void)
 Initialize the controller sub system.
-
void JOY_reset (void)
 Reset the controller sub system.
-
JoyEventCallbackJOY_getEventHandler ()
 Returns the current set callback function for controller state change.
-
- SGDK provides an event system to detect state change on controller.
- It internally updates controllers state at each V Blank period and fire an event if a state change is detected.
-
void JOY_setEventHandler (JoyEventCallback *CB)
 Set the callback function for controller state changed.
-
- SGDK provides an event system to detect state change on controller.
- It internally updates controllers state at each V Blank period and fire an event if a state change is detected.
-
void JOY_setSupport (u16 port, u16 support)
 Set peripheral support for the specified port.
-
- By default ports are configured to only enable support for joypads, unless
- a pad is not detected. In that case, a multitap or mouse is enabled if
- present.
-
-
u8 JOY_getPortType (u16 port)
 Get peripheral type for the specified port.
-
- The peripheral type for each port is automatically detected during JOY_init() / JOY_reset() call.
- This function returns that type to help decide how the port support should be set.
- Types greater than 15 are not derived via Sega's controller ID method.
-
-
u8 JOY_getJoypadType (u16 joy)
 Get joypad peripheral type connected to the specified joypad port.
- The joypad peripheral type for each port is automatically detected during JOY_init() or JOY_reset() call.
- Prefer this method over JOY_getPortType(..) when you need to get information
- about peripheral connected to multi joypad adapter (as the Sega TeamPlayer).
u16 JOY_readJoypad (u16 joy)
 Get joypad state.
s16 JOY_readJoypadX (u16 joy)
 Get joypad X axis.
s16 JOY_writeJoypadX (u16 joy, u16 pos)
 Write joypad X axis.
s16 JOY_readJoypadY (u16 joy)
 Get joypad Y axis.
s16 JOY_writeJoypadY (u16 joy, u16 pos)
 Write joypad Y axis.
-void JOY_waitPressBtn (void)
 Wait until a button is pressed on any connected controller.
-u16 JOY_waitPressBtnTime (u16 ms)
 Wait the specified amount of time or until a button is pressed on any connected controller.
u16 JOY_waitPress (u16 joy, u16 btn)
 Wait for specified button to be pressed on specified joypad.
u16 JOY_waitPressTime (u16 joy, u16 btn, u16 ms)
 Wait for specified button(s) to be pressed on specified joypad.
-void JOY_update (void)
 Manual update joypad state.
-
- By default the library update joypad state on V interrupt process.
- Calling this method will force to update joypad state now.
-
-

Detailed Description

-

General controller support.

-
Author:
Chilly Willy
-
-Stephane Dallongeville
-
Date:
05/2012
-

This unit provides methods to read controller state.
-
- Here is the list of supported controller device:
-

-
    -
  • 3 buttons joypad
    -
  • -
  • 6 buttons joypad
    -
  • -
  • Sega Mouse
    -
  • -
  • Sega Team Player adapter
    -
  • -
  • EA 4-Way Play
    -
  • -
  • the Menacer
    -
  • -
  • the Justifier
    -
  • -
  • Sega Master System pad
    -
  • -
  • Sega Trackball
    -
  • -
  • Sega Phaser
    -
  • -
-

Although Sega Master System pad, trackball, and Phaser are supported, they aren't automatically detected on JOY_init().
- Another caveat is that although the Menacer and Justifier are automatically recognized and supported, the support is not enabled until the programmer tells it to because of the extra overhead that lightguns add. This way, SGDK defaults to a lower overhead state for controllers. Games that can use lightguns can check and enable the lightgun as part of the init process, while normal games can ignore that and simply count on the default init state for controllers.
- Note that mice are enabled by default by JOY_init() and will return emulated pad values for reading the port as if it were a controller.
- This allows using a mouse as a pad for SGDK games. However, mice use a little more overhead than pads, so a game that doesn't use mice as mice and wants every last scrap of speed should check if mice are connected and turn them off to get just that extra little bit of speed.
- If you have an existing SGDK based game that needs every last bit of speed and doesn't check for mice, unplug any mice for extra speed. Mice are only enabled if detected.

-

Typedef Documentation

- -
-
- - - - -
typedef void JoyEventCallback(u16 joy, u16 changed, u16 state)
-
-
- -

Joypad event callback.

-
Parameters:
- - - - -
joyJoypad which generated the event.
- JOY_1 = joypad 1
- JOY_2 = joypad 2
- ... = ...
- JOY_8 = joypad 8 (only possible with 2 teamplayers connected)
- JOY_ALL = joypad 1 | joypad 2 | ... | joypad 8
-
changeChanged state (button for which state changed).
- BUTTON_UP = UP button
- BUTTON_DOWN = DOWN button
- BUTTON_LEFT = LEFT button
- BUTTON_RIGHT = RIGHT button
- BUTTON_A = A button
- BUTTON_B = B button
- BUTTON_C = C button
- BUTTON_START = START button
- BUTTON_X = X button
- BUTTON_Y = Y button
- BUTTON_Z = Z button
- BUTTON_MODE = MODE button
- BUTTON_LMB = Alias for A button for mouse
- BUTTON_MMB = Alias for B button for mouse
- BUTTON_RMC = Alias for C button for mouse
-
stateCurrent joypad state.
-
- Ex: Test if button START on joypad 1 just get pressed:
- joy = JOY_1; changed = BUTTON_START; state = BUTTON_START | (previous state)
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - -
JoyEventCallback* JOY_getEventHandler ()
-
-
- -

Returns the current set callback function for controller state change.
-
- SGDK provides an event system to detect state change on controller.
- It internally updates controllers state at each V Blank period and fire an event if a state change is detected.
-

-
Returns:
The current set callback method on joy state change.
-
- -
-
- -
-
- - - - - - - - -
u8 JOY_getJoypadType (u16 joy)
-
-
- -

Get joypad peripheral type connected to the specified joypad port.
- The joypad peripheral type for each port is automatically detected during JOY_init() or JOY_reset() call.
- Prefer this method over JOY_getPortType(..) when you need to get information
- about peripheral connected to multi joypad adapter (as the Sega TeamPlayer).

-
Parameters:
- - -
joyJoypad port we query type.
- JOY_1 = joypad 1
- JOY_2 = joypad 2
- ... = ...
- JOY_8 = joypad 8 (only possible with 2 TeamPlayer connected)
-
-
-
-
Returns:
joypad peripheral type.
- JOY_TYPE_PAD3 = 3 buttons joypad
- JOY_TYPE_PAD6 = 6 buttons joypad
- JOY_TYPE_MOUSE = Sega Mouse
- JOY_TYPE_TRACKBALL = Sega trackball
- JOY_TYPE_MENACER = Sega Menacer gun
- JOY_TYPE_JUSTIFIER = Sega Justifier gun
- JOY_TYPE_UNKNOWN = Unknow adaptater or not connected
-
- -
-
- -
-
- - - - - - - - -
u8 JOY_getPortType (u16 port)
-
-
- -

Get peripheral type for the specified port.
-
- The peripheral type for each port is automatically detected during JOY_init() / JOY_reset() call.
- This function returns that type to help decide how the port support should be set.
- Types greater than 15 are not derived via Sega's controller ID method.
-
-

-
Parameters:
- - -
portPort we want to get the peripheral type.
- PORT_1 = port 1
- PORT_2 = port 2
-
-
-
-
Returns:
type Peripheral type.
- PORT_TYPE_MENACER = Sega Menacer
- PORT_TYPE_JUSTIFIER = Konami Justifier
- PORT_TYPE_MOUSE = Sega MegaMouse
- PORT_TYPE_TEAMPLAYER = Sega TeamPlayer
- PORT_TYPE_PAD = Sega joypad
- PORT_TYPE_UNKNOWN = unidentified or no peripheral
- PORT_TYPE_EA4WAYPLAY = EA 4-Way Play
-
- Ex: get peripheral type in port 1
- type = JOY_getPortType(PORT_1);
-
-
- -
-
- -
-
- - - - - - - - -
void JOY_init (void )
-
-
- -

Initialize the controller sub system.
-

-

Software and hardware controller port initialization (reset and devices detection).
- Automatically called at SGDK initialization, no need to call it manually.

- -
-
- -
-
- - - - - - - - -
u16 JOY_readJoypad (u16 joy)
-
-
- -

Get joypad state.

-
Parameters:
- - -
joyJoypad we query state.
- JOY_1 = joypad 1
- JOY_2 = joypad 2
- ... = ...
- JOY_8 = joypad 8 (only possible with 2 teamplayers connected)
- JOY_ALL = joypad 1 | joypad 2 | ... | joypad 8
-
-
-
-
Returns:
joypad state.
- BUTTON_UP = UP button
- BUTTON_DOWN = DOWN button
- BUTTON_LEFT = LEFT button
- BUTTON_RIGHT = RIGHT button
- BUTTON_A = A button
- BUTTON_B = B button
- BUTTON_C = C button
- BUTTON_START = START button
- BUTTON_X = X button
- BUTTON_Y = Y button
- BUTTON_Z = Z button
- BUTTON_MODE = MODE button
-
- BUTTON_LMB = Alias for A button for mouse
- BUTTON_MMB = Alias for B button for mouse
- BUTTON_RMC = Alias for C button for mouse
-
- Ex : Test if button START or A is pressed on joypad 1 :
- if (JOY_readJoypad(JOY_1) & (BUTTON_START | BUTTON_A))
-
-
- -
-
- -
-
- - - - - - - - -
s16 JOY_readJoypadX (u16 joy)
-
-
- -

Get joypad X axis.

-
Parameters:
- - -
joyJoypad we query state.
- JOY_1 = joypad 1
- JOY_2 = joypad 2
- ... = ...
- JOY_8 = joypad 8 (only possible with 2 teamplayers connected)
-
-
-
-
Returns:
joypad X axis.
- A mouse returns signed axis data. The change in this value indicates movement -
- to the right for positive changes, or left for negative changes.
-
- A light gun returns the unsigned screen X coordinate. This is not calibrated;
- Calibration is left to the game to handle. The value is -1 if the gun is not
- pointed at the screen, or the screen is too dim to detect.
-
- Ex : Get X axis of pad 2 :
- countX = JOY_readJoypadX(JOY_2);
-
-
- -
-
- -
-
- - - - - - - - -
s16 JOY_readJoypadY (u16 joy)
-
-
- -

Get joypad Y axis.

-
Parameters:
- - -
joyJoypad we query state.
- JOY_1 = joypad 1
- JOY_2 = joypad 2
- ... = ...
- JOY_8 = joypad 8 (only possible with 2 teamplayers connected)
-
-
-
-
Returns:
joypad Y axis.
- A mouse returns signed axis data. The change in this value indicates movement -
- upwards for positive changes, or downwards for negative changes.
-
- A light gun returns the unsigned screen Y coordinate. This is not calibrated;
- Calibration is left to the game to handle. The value is -1 if the gun is not
- pointed at the screen, or the screen is too dim to detect.
-
- Ex : Get Y axis of pad 2 :
- countY = JOY_readJoypadY(JOY_2);
-
-
- -
-
- -
-
- - - - - - - - -
void JOY_reset (void )
-
-
- -

Reset the controller sub system.
-

-

It will reset the controller port state and perform device detectionSoftware and hardware controller port initialization.
- Automatically called at SGDK initialization, no need to call it manually.

- -
-
- -
-
- - - - - - - - -
void JOY_setEventHandler (JoyEventCallbackCB)
-
-
- -

Set the callback function for controller state changed.
-
- SGDK provides an event system to detect state change on controller.
- It internally updates controllers state at each V Blank period and fire an event if a state change is detected.
-

-
Parameters:
- - -
CBCallback to call when controller(s) state changed.
- The function prototype should reply to _joyEventCallback type :
- void function(u16 joy, u16 changed, u16 state);
-
- Ex 1 : if player 1 just pressed START button you receive :
- joy = JOY_1, changed = BUTTON_START, state = BUTTON_START
- Ex 2 : if player 2 just released the A button you receive :
- joy = JOY_2, changed = BUTTON_A, state = 0
-
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void JOY_setSupport (u16 port,
u16 support 
)
-
-
- -

Set peripheral support for the specified port.
-
- By default ports are configured to only enable support for joypads, unless
- a pad is not detected. In that case, a multitap or mouse is enabled if
- present.
-
-

-
Parameters:
- - - -
portPort we want to set support.
- PORT_1 = port 1
- PORT_2 = port 2
-
supportPeripheral support.
- JOY_SUPPORT_OFF = No peripheral support
- JOY_SUPPORT_3BTN = 3 button joypad
- JOY_SUPPORT_6BTN = 6 button joypad
- JOY_SUPPORT_TRACKBALL = Sega Sports Pad (SMS trackball)
- JOY_SUPPORT_MOUSE = Sega MegaMouse
- JOY_SUPPORT_TEAMPLAYER = Sega TeamPlayer
- JOY_SUPPORT_EA4WAYPLAY = EA 4-Way Play
- JOY_SUPPORT_MENACER = Sega Menacer
- JOY_SUPPORT_JUSTIFIER_BLUE = Konami Justifier (blue gun only)
- JOY_SUPPORT_JUSTIFIER_BOTH = Konami Justifier (both guns)
- JOY_SUPPORT_ANALOGJOY = Sega analog joypad (not yet supported)
- JOY_SUPPORT_KEYBOARD = Sega keyboard (not yet supported)
-
- Ex: enable support for MegaMouse on second port
- JOY_setSupport(PORT_2, JOY_SUPPORT_MOUSE);
-
-
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u16 JOY_waitPress (u16 joy,
u16 btn 
)
-
-
- -

Wait for specified button to be pressed on specified joypad.

-
Parameters:
- - - -
joyJoypad we want to check state (see JOY_readJoypad()).
- You can also use JOY_ALL to check on any connected controller.
btnbutton(s) we want to check state.
- BUTTON_UP = UP button
- BUTTON_DOWN = DOWN button
- BUTTON_LEFT = LEFT button
- BUTTON_RIGHT = RIGHT button
- BUTTON_A = A button
- BUTTON_B = B button
- BUTTON_C = C button
- BUTTON_START = START button
- BUTTON_X = X button
- BUTTON_Y = Y button
- BUTTON_Z = Z button
- BUTTON_MODE = MODE button
- BUTTON_DIR = Any of the direction buttons (UP, DOWN, LEFT or RIGHT)
- BUTTON_BTN = Any of the non direction buttons (A, B, C, START, X, Y, Z, MODE)
- BUTTON_ALL = Any of all buttons
-
- BUTTON_LMB = Alias for A button for mouse
- BUTTON_MMB = Alias for B button for mouse
- BUTTON_RMC = Alias for C button for mouse
-
-
-
-
Returns:
The button actually pressed or FALSE if none of specified button has be pressed in the given time.
- Ex: if we want to wait any of direction buttons or button A is pressed on joypad 1 :
- pressed = JOY_waitJoypad(JOY_1, BUTTON_DIR | BUTTON_A);
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
u16 JOY_waitPressTime (u16 joy,
u16 btn,
u16 ms 
)
-
-
- -

Wait for specified button(s) to be pressed on specified joypad.

-
Parameters:
- - - - -
joyJoypad we want to check state (see JOY_readJoypad()).
- You can also use JOY_ALL to check on any connected controller.
btnbutton(s) we want to check state.
- BUTTON_UP = UP button
- BUTTON_DOWN = DOWN button
- BUTTON_LEFT = LEFT button
- BUTTON_RIGHT = RIGHT button
- BUTTON_A = A button
- BUTTON_B = B button
- BUTTON_C = C button
- BUTTON_START = START button
- BUTTON_X = X button
- BUTTON_Y = Y button
- BUTTON_Z = Z button
- BUTTON_MODE = MODE button
- BUTTON_DIR = Any of the direction buttons (UP, DOWN, LEFT or RIGHT)
- BUTTON_BTN = Any of the non direction buttons (A, B, C, START, X, Y, Z, MODE)
- BUTTON_ALL = Any of all buttons
-
- BUTTON_LMB = Alias for A button for mouse
- BUTTON_MMB = Alias for B button for mouse
- BUTTON_RMC = Alias for C button for mouse
-
msmaximum time in ms to wait for the button press action (0 means wait infinitely).
-
-
-
-
Returns:
The button actually pressed or FALSE if none of specified button has be pressed in the given time.
- Ex: if we want to wait a maximum of 5 secondes for any of direction buttons
- or button A to be pressed on joypad 1:
- pressed = JOY_waitJoypad(JOY_1, BUTTON_DIR | BUTTON_A, 5000);
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
s16 JOY_writeJoypadX (u16 joy,
u16 pos 
)
-
-
- -

Write joypad X axis.

-
Parameters:
- - - -
joyJoypad we query state.
- JOY_1 = joypad 1
- JOY_2 = joypad 2
- ... = ...
- JOY_8 = joypad 8 (only possible with 2 teamplayers connected)
-
posDesired X position for joypad.
-
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
s16 JOY_writeJoypadY (u16 joy,
u16 pos 
)
-
-
- -

Write joypad Y axis.

-
Parameters:
- - - -
joyJoypad we query state.
- JOY_1 = joypad 1
- JOY_2 = joypad 2
- ... = ...
- JOY_8 = joypad 8 (only possible with 2 teamplayers connected)
-
posDesired Y position for joypad.
-
-
-
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/joy_8h_source.html b/doc/html/joy_8h_source.html deleted file mode 100644 index fa3e2ed4c..000000000 --- a/doc/html/joy_8h_source.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - -sgdk: joy.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
joy.h
-
-
-Go to the documentation of this file.
00001 
-00033 #ifndef _JOY_H_
-00034 #define _JOY_H_
-00035 
-00036 
-00037 #define PORT_1          0x0000
-00038 #define PORT_2          0x0001
-00039 
-00040 
-00041 #define JOY_1           0x0000
-00042 #define JOY_2           0x0001
-00043 #define JOY_3           0x0002
-00044 #define JOY_4           0x0003
-00045 #define JOY_5           0x0004
-00046 #define JOY_6           0x0005
-00047 #define JOY_7           0x0006
-00048 #define JOY_8           0x0007
-00049 #define JOY_NUM         0x0008
-00050 #define JOY_ALL         0xFFFF
-00051 
-00052 
-00053 #define BUTTON_UP       0x0001
-00054 #define BUTTON_DOWN     0x0002
-00055 #define BUTTON_LEFT     0x0004
-00056 #define BUTTON_RIGHT    0x0008
-00057 #define BUTTON_A        0x0040
-00058 #define BUTTON_B        0x0010
-00059 #define BUTTON_C        0x0020
-00060 #define BUTTON_START    0x0080
-00061 #define BUTTON_X        0x0400
-00062 #define BUTTON_Y        0x0200
-00063 #define BUTTON_Z        0x0100
-00064 #define BUTTON_MODE     0x0800
-00065 
-00066 #define BUTTON_LMB      0x0040
-00067 #define BUTTON_MMB      0x0010
-00068 #define BUTTON_RMB      0x0020
-00069 
-00070 #define BUTTON_DIR      0x000F
-00071 #define BUTTON_BTN      0x0FF0
-00072 #define BUTTON_ALL      0x0FFF
-00073 
-00074 #define JOY_TYPE_PAD3           0x00
-00075 #define JOY_TYPE_PAD6           0x01
-00076 #define JOY_TYPE_MOUSE          0x02
-00077 #define JOY_TYPE_TRACKBALL      0x03
-00078 #define JOY_TYPE_MENACER        0x04
-00079 #define JOY_TYPE_JUSTIFIER      0x05
-00080 #define JOY_TYPE_PHASER         0x06
-00081 #define JOY_TYPE_UNKNOWN        0x0F
-00082 
-00083 #define PORT_TYPE_MENACER       0x00
-00084 #define PORT_TYPE_JUSTIFIER     0x01
-00085 #define PORT_TYPE_MOUSE         0x03
-00086 #define PORT_TYPE_TEAMPLAYER    0x07
-00087 #define PORT_TYPE_PAD           0x0D
-00088 #define PORT_TYPE_UNKNOWN       0x0F
-00089 #define PORT_TYPE_EA4WAYPLAY    0x10
-00090 
-00091 #define JOY_SUPPORT_OFF             0x00
-00092 #define JOY_SUPPORT_3BTN            0x01
-00093 #define JOY_SUPPORT_6BTN            0x02
-00094 #define JOY_SUPPORT_MOUSE           0x03
-00095 #define JOY_SUPPORT_TRACKBALL       0x04
-00096 #define JOY_SUPPORT_TEAMPLAYER      0x05
-00097 #define JOY_SUPPORT_EA4WAYPLAY      0x06
-00098 #define JOY_SUPPORT_MENACER         0x07
-00099 #define JOY_SUPPORT_JUSTIFIER_BLUE  0x08
-00100 #define JOY_SUPPORT_JUSTIFIER_BOTH  0x09
-00101 #define JOY_SUPPORT_PHASER          0x0A
-00102 #define JOY_SUPPORT_ANALOGJOY       0x0B
-00103 #define JOY_SUPPORT_KEYBOARD        0x0C
-00104 
-00105 
-00140 typedef void JoyEventCallback(u16 joy, u16 changed, u16 state);
-00141 
-00142 
-00150 void JOY_init(void);
-00151 
-00159 void JOY_reset(void);
-00160 
-00171 JoyEventCallback* JOY_getEventHandler();
-00189 void JOY_setEventHandler(JoyEventCallback *CB);
-00221 void JOY_setSupport(u16 port, u16 support);
-00222 
-00249 u8 JOY_getPortType(u16 port);
-00250 
-00273 u8 JOY_getJoypadType(u16 joy);
-00274 
-00308 u16  JOY_readJoypad(u16 joy);
-00309 
-00332 s16  JOY_readJoypadX(u16 joy);
-00333 
-00347 s16  JOY_writeJoypadX(u16 joy, u16 pos);
-00348 
-00371 s16  JOY_readJoypadY(u16 joy);
-00372 
-00386 s16  JOY_writeJoypadY(u16 joy, u16 pos);
-00387 
-00392 void JOY_waitPressBtn(void);
-00397 u16 JOY_waitPressBtnTime(u16 ms);
-00432 u16 JOY_waitPress(u16 joy, u16 btn);
-00470 u16 JOY_waitPressTime(u16 joy, u16 btn, u16 ms);
-00471 
-00479 void JOY_update(void);
-00480 
-00481 
-00482 #endif // _JOY_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/jquery.js b/doc/html/jquery.js deleted file mode 100644 index c052173a8..000000000 --- a/doc/html/jquery.js +++ /dev/null @@ -1,54 +0,0 @@ -/* - * jQuery JavaScript Library v1.3.2 - * http://jquery.com/ - * - * Copyright (c) 2009 John Resig - * Dual licensed under the MIT and GPL licenses. - * http://docs.jquery.com/License - * - * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) - * Revision: 6246 - */ -(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); -/* - * Sizzle CSS Selector Engine - v0.9.3 - * Copyright 2009, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0) -{I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function() -{G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); -/* - * jQuery UI 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI - */ -jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.2",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/* * jQuery UI Resizable 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Resizables - * - * Depends: - * ui.core.js - */ -(function(c){c.widget("ui.resizable",c.extend({},c.ui.mouse,{_init:function(){var e=this,j=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(j.aspectRatio),aspectRatio:j.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:j.helper||j.ghost||j.animate?j.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){if(/relative/.test(this.element.css("position"))&&c.browser.opera){this.element.css({position:"relative",top:"auto",left:"auto"})}this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=j.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var k=this.handles.split(",");this.handles={};for(var f=0;f
');if(/sw|se|ne|nw/.test(h)){g.css({zIndex:++j.zIndex})}if("se"==h){g.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[h]=".ui-resizable-"+h;this.element.append(g)}}this._renderAxis=function(p){p=p||this.element;for(var m in this.handles){if(this.handles[m].constructor==String){this.handles[m]=c(this.handles[m],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var n=c(this.handles[m],this.element),o=0;o=/sw|ne|nw|se|n|s/.test(m)?n.outerHeight():n.outerWidth();var l=["padding",/ne|nw|n/.test(m)?"Top":/se|sw|s/.test(m)?"Bottom":/^e$/.test(m)?"Right":"Left"].join("");p.css(l,o);this._proportionallyResize()}if(!c(this.handles[m]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!e.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}e.axis=i&&i[1]?i[1]:"se"}});if(j.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){c(this).removeClass("ui-resizable-autohide");e._handles.show()},function(){if(!e.resizing){c(this).addClass("ui-resizable-autohide");e._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var d=function(f){c(f).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){d(this.element);var e=this.element;e.parent().append(this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")})).end().remove()}this.originalElement.css("resize",this.originalResizeStyle);d(this.originalElement)},_mouseCapture:function(e){var f=false;for(var d in this.handles){if(c(this.handles[d])[0]==e.target){f=true}}return this.options.disabled||!!f},_mouseStart:function(f){var i=this.options,e=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(d.is(".ui-draggable")||(/absolute/).test(d.css("position"))){d.css({position:"absolute",top:e.top,left:e.left})}if(c.browser.opera&&(/relative/).test(d.css("position"))){d.css({position:"relative",top:"auto",left:"auto"})}this._renderProxy();var j=b(this.helper.css("left")),g=b(this.helper.css("top"));if(i.containment){j+=c(i.containment).scrollLeft()||0;g+=c(i.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:j,top:g};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:j,top:g};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:f.pageX,top:f.pageY};this.aspectRatio=(typeof i.aspectRatio=="number")?i.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var h=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",h=="auto"?this.axis+"-resize":h);d.addClass("ui-resizable-resizing");this._propagate("start",f);return true},_mouseDrag:function(d){var g=this.helper,f=this.options,l={},p=this,i=this.originalMousePosition,m=this.axis;var q=(d.pageX-i.left)||0,n=(d.pageY-i.top)||0;var h=this._change[m];if(!h){return false}var k=h.apply(this,[d,q,n]),j=c.browser.msie&&c.browser.version<7,e=this.sizeDiff;if(this._aspectRatio||d.shiftKey){k=this._updateRatio(k,d)}k=this._respectSize(k,d);this._propagate("resize",d);g.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(k);this._trigger("resize",d,this.ui());return false},_mouseStop:function(g){this.resizing=false;var h=this.options,l=this;if(this._helper){var f=this._proportionallyResizeElements,d=f.length&&(/textarea/i).test(f[0].nodeName),e=d&&c.ui.hasScroll(f[0],"left")?0:l.sizeDiff.height,j=d?0:l.sizeDiff.width;var m={width:(l.size.width-j),height:(l.size.height-e)},i=(parseInt(l.element.css("left"),10)+(l.position.left-l.originalPosition.left))||null,k=(parseInt(l.element.css("top"),10)+(l.position.top-l.originalPosition.top))||null;if(!h.animate){this.element.css(c.extend(m,{top:k,left:i}))}l.helper.height(l.size.height);l.helper.width(l.size.width);if(this._helper&&!h.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",g);if(this._helper){this.helper.remove()}return false},_updateCache:function(d){var e=this.options;this.offset=this.helper.offset();if(a(d.left)){this.position.left=d.left}if(a(d.top)){this.position.top=d.top}if(a(d.height)){this.size.height=d.height}if(a(d.width)){this.size.width=d.width}},_updateRatio:function(g,f){var h=this.options,i=this.position,e=this.size,d=this.axis;if(g.height){g.width=(e.height*this.aspectRatio)}else{if(g.width){g.height=(e.width/this.aspectRatio)}}if(d=="sw"){g.left=i.left+(e.width-g.width);g.top=null}if(d=="nw"){g.top=i.top+(e.height-g.height);g.left=i.left+(e.width-g.width)}return g},_respectSize:function(k,f){var i=this.helper,h=this.options,q=this._aspectRatio||f.shiftKey,p=this.axis,s=a(k.width)&&h.maxWidth&&(h.maxWidthk.width),r=a(k.height)&&h.minHeight&&(h.minHeight>k.height);if(g){k.width=h.minWidth}if(r){k.height=h.minHeight}if(s){k.width=h.maxWidth}if(l){k.height=h.maxHeight}var e=this.originalPosition.left+this.originalSize.width,n=this.position.top+this.size.height;var j=/sw|nw|w/.test(p),d=/nw|ne|n/.test(p);if(g&&j){k.left=e-h.minWidth}if(s&&j){k.left=e-h.maxWidth}if(r&&d){k.top=n-h.minHeight}if(l&&d){k.top=n-h.maxHeight}var m=!k.width&&!k.height;if(m&&!k.left&&k.top){k.top=null}else{if(m&&!k.top&&k.left){k.left=null}}return k},_proportionallyResize:function(){var j=this.options;if(!this._proportionallyResizeElements.length){return}var f=this.helper||this.element;for(var e=0;e');var d=c.browser.msie&&c.browser.version<7,f=(d?1:0),g=(d?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+g,height:this.element.outerHeight()+g,position:"absolute",left:this.elementOffset.left-f+"px",top:this.elementOffset.top-f+"px",zIndex:++h.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(f,e,d){return{width:this.originalSize.width+e}},w:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{left:h.left+e,width:f.width-e}},n:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{top:h.top+d,height:f.height-d}},s:function(f,e,d){return{height:this.originalSize.height+d}},se:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},sw:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[f,e,d]))},ne:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},nw:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[f,e,d]))}},_propagate:function(e,d){c.ui.plugin.call(this,e,[d,this.ui()]);(e!="resize"&&this._trigger(e,d,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}));c.extend(c.ui.resizable,{version:"1.7.2",eventPrefix:"resize",defaults:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,cancel:":input,option",containment:false,delay:0,distance:1,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000}});c.ui.plugin.add("resizable","alsoResize",{start:function(e,f){var d=c(this).data("resizable"),g=d.options;_store=function(h){c(h).each(function(){c(this).data("resizable-alsoresize",{width:parseInt(c(this).width(),10),height:parseInt(c(this).height(),10),left:parseInt(c(this).css("left"),10),top:parseInt(c(this).css("top"),10)})})};if(typeof(g.alsoResize)=="object"&&!g.alsoResize.parentNode){if(g.alsoResize.length){g.alsoResize=g.alsoResize[0];_store(g.alsoResize)}else{c.each(g.alsoResize,function(h,i){_store(h)})}}else{_store(g.alsoResize)}},resize:function(f,h){var e=c(this).data("resizable"),i=e.options,g=e.originalSize,k=e.originalPosition;var j={height:(e.size.height-g.height)||0,width:(e.size.width-g.width)||0,top:(e.position.top-k.top)||0,left:(e.position.left-k.left)||0},d=function(l,m){c(l).each(function(){var p=c(this),q=c(this).data("resizable-alsoresize"),o={},n=m&&m.length?m:["width","height","top","left"];c.each(n||["width","height","top","left"],function(r,t){var s=(q[t]||0)+(j[t]||0);if(s&&s>=0){o[t]=s||null}});if(/relative/.test(p.css("position"))&&c.browser.opera){e._revertToRelativePosition=true;p.css({position:"absolute",top:"auto",left:"auto"})}p.css(o)})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.nodeType){c.each(i.alsoResize,function(l,m){d(l,m)})}else{d(i.alsoResize)}},stop:function(e,f){var d=c(this).data("resizable");if(d._revertToRelativePosition&&c.browser.opera){d._revertToRelativePosition=false;el.css({position:"relative"})}c(this).removeData("resizable-alsoresize-start")}});c.ui.plugin.add("resizable","animate",{stop:function(h,m){var n=c(this).data("resizable"),i=n.options;var g=n._proportionallyResizeElements,d=g.length&&(/textarea/i).test(g[0].nodeName),e=d&&c.ui.hasScroll(g[0],"left")?0:n.sizeDiff.height,k=d?0:n.sizeDiff.width;var f={width:(n.size.width-k),height:(n.size.height-e)},j=(parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left))||null,l=(parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top))||null;n.element.animate(c.extend(f,l&&j?{top:l,left:j}:{}),{duration:i.animateDuration,easing:i.animateEasing,step:function(){var o={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};if(g&&g.length){c(g[0]).css({width:o.width,height:o.height})}n._updateCache(o);n._propagate("resize",h)}})}});c.ui.plugin.add("resizable","containment",{start:function(e,q){var s=c(this).data("resizable"),i=s.options,k=s.element;var f=i.containment,j=(f instanceof c)?f.get(0):(/parent/.test(f))?k.parent().get(0):f;if(!j){return}s.containerElement=c(j);if(/document/.test(f)||f==document){s.containerOffset={left:0,top:0};s.containerPosition={left:0,top:0};s.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var m=c(j),h=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){h[p]=b(m.css("padding"+o))});s.containerOffset=m.offset();s.containerPosition=m.position();s.containerSize={height:(m.innerHeight()-h[3]),width:(m.innerWidth()-h[1])};var n=s.containerOffset,d=s.containerSize.height,l=s.containerSize.width,g=(c.ui.hasScroll(j,"left")?j.scrollWidth:l),r=(c.ui.hasScroll(j)?j.scrollHeight:d);s.parentData={element:j,left:n.left,top:n.top,width:g,height:r}}},resize:function(f,p){var s=c(this).data("resizable"),h=s.options,e=s.containerSize,n=s.containerOffset,l=s.size,m=s.position,q=s._aspectRatio||f.shiftKey,d={top:0,left:0},g=s.containerElement;if(g[0]!=document&&(/static/).test(g.css("position"))){d=n}if(m.left<(s._helper?n.left:0)){s.size.width=s.size.width+(s._helper?(s.position.left-n.left):(s.position.left-d.left));if(q){s.size.height=s.size.width/h.aspectRatio}s.position.left=h.helper?n.left:0}if(m.top<(s._helper?n.top:0)) -{s.size.height=s.size.height+(s._helper?(s.position.top-n.top):s.position.top);if(q){s.size.width=s.size.height*h.aspectRatio}s.position.top=s._helper?n.top:0}s.offset.left=s.parentData.left+s.position.left;s.offset.top=s.parentData.top+s.position.top;var k=Math.abs((s._helper?s.offset.left-d.left:(s.offset.left-d.left))+s.sizeDiff.width),r=Math.abs((s._helper?s.offset.top-d.top:(s.offset.top-n.top))+s.sizeDiff.height);var j=s.containerElement.get(0)==s.element.parent().get(0),i=/relative|absolute/.test(s.containerElement.css("position"));if(j&&i){k-=s.parentData.left}if(k+s.size.width>=s.parentData.width){s.size.width=s.parentData.width-k;if(q){s.size.height=s.size.width/s.aspectRatio}}if(r+s.size.height>=s.parentData.height){s.size.height=s.parentData.height-r;if(q){s.size.width=s.size.height*s.aspectRatio}}},stop:function(e,m){var p=c(this).data("resizable"),f=p.options,k=p.position,l=p.containerOffset,d=p.containerPosition,g=p.containerElement;var i=c(p.helper),q=i.offset(),n=i.outerWidth()-p.sizeDiff.width,j=i.outerHeight()-p.sizeDiff.height;if(p._helper&&!f.animate&&(/relative/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}if(p._helper&&!f.animate&&(/static/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}}});c.ui.plugin.add("resizable","ghost",{start:function(f,g){var d=c(this).data("resizable"),h=d.options,e=d.size;d.ghost=d.originalElement.clone();d.ghost.css({opacity:0.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof h.ghost=="string"?h.ghost:"");d.ghost.appendTo(d.helper)},resize:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost){d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})}},stop:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost&&d.helper){d.helper.get(0).removeChild(d.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(d,l){var n=c(this).data("resizable"),g=n.options,j=n.size,h=n.originalSize,i=n.originalPosition,m=n.axis,k=g._aspectRatio||d.shiftKey;g.grid=typeof g.grid=="number"?[g.grid,g.grid]:g.grid;var f=Math.round((j.width-h.width)/(g.grid[0]||1))*(g.grid[0]||1),e=Math.round((j.height-h.height)/(g.grid[1]||1))*(g.grid[1]||1);if(/^(se|s|e)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e}else{if(/^(ne)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e}else{if(/^(sw)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.left=i.left-f}else{n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e;n.position.left=i.left-f}}}}});var b=function(d){return parseInt(d,10)||0};var a=function(d){return !isNaN(parseInt(d,10))}})(jQuery);; -/** - * jQuery.ScrollTo - Easy element scrolling using jQuery. - * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com - * Licensed under GPL license (http://www.opensource.org/licenses/gpl-license.php). - * Date: 2/8/2008 - * @author Ariel Flesler - * @version 1.3.2 - */ -;(function($){var o=$.scrollTo=function(a,b,c){o.window().scrollTo(a,b,c)};o.defaults={axis:'y',duration:1};o.window=function(){return $($.browser.safari?'body':'html')};$.fn.scrollTo=function(l,m,n){if(typeof m=='object'){n=m;m=0}n=$.extend({},o.defaults,n);m=m||n.speed||n.duration;n.queue=n.queue&&n.axis.length>1;if(n.queue)m/=2;n.offset=j(n.offset);n.over=j(n.over);return this.each(function(){var a=this,b=$(a),t=l,c,d={},w=b.is('html,body');switch(typeof t){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(t)){t=j(t);break}t=$(t,this);case'object':if(t.is||t.style)c=(t=$(t)).offset()}$.each(n.axis.split(''),function(i,f){var P=f=='x'?'Left':'Top',p=P.toLowerCase(),k='scroll'+P,e=a[k],D=f=='x'?'Width':'Height';if(c){d[k]=c[p]+(w?0:e-b.offset()[p]);if(n.margin){d[k]-=parseInt(t.css('margin'+P))||0;d[k]-=parseInt(t.css('border'+P+'Width'))||0}d[k]+=n.offset[p]||0;if(n.over[p])d[k]+=t[D.toLowerCase()]()*n.over[p]}else d[k]=t[p];if(/^\d+$/.test(d[k]))d[k]=d[k]<=0?0:Math.min(d[k],h(D));if(!i&&n.queue){if(e!=d[k])g(n.onAfterFirst);delete d[k]}});g(n.onAfter);function g(a){b.animate(d,m,n.easing,a&&function(){a.call(this,l)})};function h(D){var b=w?$.browser.opera?document.body:document.documentElement:a;return b['scroll'+D]-b['client'+D]}})};function j(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery); - diff --git a/doc/html/jsmn_8h_source.html b/doc/html/jsmn_8h_source.html deleted file mode 100644 index 294f94a9e..000000000 --- a/doc/html/jsmn_8h_source.html +++ /dev/null @@ -1,543 +0,0 @@ - - - - -sgdk: jsmn.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
jsmn.h
-
-
-
00001 /*
-00002  * MIT License
-00003  *
-00004  * Copyright (c) 2010 Serge Zaitsev
-00005  *
-00006  * Permission is hereby granted, free of charge, to any person obtaining a copy
-00007  * of this software and associated documentation files (the "Software"), to deal
-00008  * in the Software without restriction, including without limitation the rights
-00009  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-00010  * copies of the Software, and to permit persons to whom the Software is
-00011  * furnished to do so, subject to the following conditions:
-00012  *
-00013  * The above copyright notice and this permission notice shall be included in
-00014  * all copies or substantial portions of the Software.
-00015  *
-00016  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-00017  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-00018  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-00019  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-00020  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-00021  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-00022  * SOFTWARE.
-00023  */
-00024 #ifndef JSMN_H
-00025 #define JSMN_H
-00026 
-00027 #include "types.h"
-00028 
-00029 #if (MODULE_MEGAWIFI != 0)
-00030 
-00031 #ifdef __cplusplus
-00032 extern "C" {
-00033 #endif
-00034 
-00035 #ifdef JSMN_STATIC
-00036 #define JSMN_API static
-00037 #else
-00038 #define JSMN_API extern
-00039 #endif
-00040 
-00048 typedef enum {
-00049   JSMN_UNDEFINED = 0,
-00050   JSMN_OBJECT = 1,
-00051   JSMN_ARRAY = 2,
-00052   JSMN_STRING = 3,
-00053   JSMN_PRIMITIVE = 4
-00054 } jsmntype_t;
-00055 
-00056 enum jsmnerr {
-00057   /* Not enough tokens were provided */
-00058   JSMN_ERROR_NOMEM = -1,
-00059   /* Invalid character inside JSON string */
-00060   JSMN_ERROR_INVAL = -2,
-00061   /* The string is not a full JSON packet, more bytes expected */
-00062   JSMN_ERROR_PART = -3
-00063 };
-00064 
-00071 typedef struct {
-00072   jsmntype_t type;
-00073   int start;
-00074   int end;
-00075   int size;
-00076 #ifdef JSMN_PARENT_LINKS
-00077   int parent;
-00078 #endif
-00079 } jsmntok_t;
-00080 
-00085 typedef struct {
-00086   unsigned int pos;     /* offset in the JSON string */
-00087   unsigned int toknext; /* next token to allocate */
-00088   int toksuper;         /* superior token node, e.g. parent object or array */
-00089 } jsmn_parser;
-00090 
-00094 JSMN_API void jsmn_init(jsmn_parser *parser);
-00095 
-00101 JSMN_API int jsmn_parse(jsmn_parser *parser, const char *js, const unsigned int len,
-00102                         jsmntok_t *tokens, const unsigned int num_tokens);
-00103 
-00104 #ifndef JSMN_HEADER
-00105 
-00108 static jsmntok_t *jsmn_alloc_token(jsmn_parser *parser, jsmntok_t *tokens,
-00109                                    const unsigned int num_tokens) {
-00110   jsmntok_t *tok;
-00111   if (parser->toknext >= num_tokens) {
-00112     return NULL;
-00113   }
-00114   tok = &tokens[parser->toknext++];
-00115   tok->start = tok->end = -1;
-00116   tok->size = 0;
-00117 #ifdef JSMN_PARENT_LINKS
-00118   tok->parent = -1;
-00119 #endif
-00120   return tok;
-00121 }
-00122 
-00126 static void jsmn_fill_token(jsmntok_t *token, const jsmntype_t type,
-00127                             const int start, const int end) {
-00128   token->type = type;
-00129   token->start = start;
-00130   token->end = end;
-00131   token->size = 0;
-00132 }
-00133 
-00137 static int jsmn_parse_primitive(jsmn_parser *parser, const char *js,
-00138                                 const unsigned int len, jsmntok_t *tokens,
-00139                                 const unsigned int num_tokens) {
-00140   jsmntok_t *token;
-00141   int start;
-00142 
-00143   start = parser->pos;
-00144 
-00145   for (; parser->pos < len && js[parser->pos] != '\0'; parser->pos++) {
-00146     switch (js[parser->pos]) {
-00147 #ifndef JSMN_STRICT
-00148     /* In strict mode primitive must be followed by "," or "}" or "]" */
-00149     case ':':
-00150 #endif
-00151     case '\t':
-00152     case '\r':
-00153     case '\n':
-00154     case ' ':
-00155     case ',':
-00156     case ']':
-00157     case '}':
-00158       goto found;
-00159     default:
-00160                    /* to quiet a warning from gcc*/
-00161       break;
-00162     }
-00163     if (js[parser->pos] < 32 || js[parser->pos] >= 127) {
-00164       parser->pos = start;
-00165       return JSMN_ERROR_INVAL;
-00166     }
-00167   }
-00168 #ifdef JSMN_STRICT
-00169   /* In strict mode primitive must be followed by a comma/object/array */
-00170   parser->pos = start;
-00171   return JSMN_ERROR_PART;
-00172 #endif
-00173 
-00174 found:
-00175   if (tokens == NULL) {
-00176     parser->pos--;
-00177     return 0;
-00178   }
-00179   token = jsmn_alloc_token(parser, tokens, num_tokens);
-00180   if (token == NULL) {
-00181     parser->pos = start;
-00182     return JSMN_ERROR_NOMEM;
-00183   }
-00184   jsmn_fill_token(token, JSMN_PRIMITIVE, start, parser->pos);
-00185 #ifdef JSMN_PARENT_LINKS
-00186   token->parent = parser->toksuper;
-00187 #endif
-00188   parser->pos--;
-00189   return 0;
-00190 }
-00191 
-00195 static int jsmn_parse_string(jsmn_parser *parser, const char *js,
-00196                              const unsigned int len, jsmntok_t *tokens,
-00197                              const unsigned int num_tokens) {
-00198   jsmntok_t *token;
-00199 
-00200   int start = parser->pos;
-00201 
-00202   parser->pos++;
-00203 
-00204   /* Skip starting quote */
-00205   for (; parser->pos < len && js[parser->pos] != '\0'; parser->pos++) {
-00206     char c = js[parser->pos];
-00207 
-00208     /* Quote: end of string */
-00209     if (c == '\"') {
-00210       if (tokens == NULL) {
-00211         return 0;
-00212       }
-00213       token = jsmn_alloc_token(parser, tokens, num_tokens);
-00214       if (token == NULL) {
-00215         parser->pos = start;
-00216         return JSMN_ERROR_NOMEM;
-00217       }
-00218       jsmn_fill_token(token, JSMN_STRING, start + 1, parser->pos);
-00219 #ifdef JSMN_PARENT_LINKS
-00220       token->parent = parser->toksuper;
-00221 #endif
-00222       return 0;
-00223     }
-00224 
-00225     /* Backslash: Quoted symbol expected */
-00226     if (c == '\\' && parser->pos + 1 < len) {
-00227       int i;
-00228       parser->pos++;
-00229       switch (js[parser->pos]) {
-00230       /* Allowed escaped symbols */
-00231       case '\"':
-00232       case '/':
-00233       case '\\':
-00234       case 'b':
-00235       case 'f':
-00236       case 'r':
-00237       case 'n':
-00238       case 't':
-00239         break;
-00240       /* Allows escaped symbol \uXXXX */
-00241       case 'u':
-00242         parser->pos++;
-00243         for (i = 0; i < 4 && parser->pos < len && js[parser->pos] != '\0';
-00244              i++) {
-00245           /* If it isn't a hex character we have an error */
-00246           if (!((js[parser->pos] >= 48 && js[parser->pos] <= 57) ||   /* 0-9 */
-00247                 (js[parser->pos] >= 65 && js[parser->pos] <= 70) ||   /* A-F */
-00248                 (js[parser->pos] >= 97 && js[parser->pos] <= 102))) { /* a-f */
-00249             parser->pos = start;
-00250             return JSMN_ERROR_INVAL;
-00251           }
-00252           parser->pos++;
-00253         }
-00254         parser->pos--;
-00255         break;
-00256       /* Unexpected symbol */
-00257       default:
-00258         parser->pos = start;
-00259         return JSMN_ERROR_INVAL;
-00260       }
-00261     }
-00262   }
-00263   parser->pos = start;
-00264   return JSMN_ERROR_PART;
-00265 }
-00266 
-00270 JSMN_API int jsmn_parse(jsmn_parser *parser, const char *js, const unsigned int len,
-00271                         jsmntok_t *tokens, const unsigned int num_tokens) {
-00272   int r;
-00273   int i;
-00274   jsmntok_t *token;
-00275   int count = parser->toknext;
-00276 
-00277   for (; parser->pos < len && js[parser->pos] != '\0'; parser->pos++) {
-00278     char c;
-00279     jsmntype_t type;
-00280 
-00281     c = js[parser->pos];
-00282     switch (c) {
-00283     case '{':
-00284     case '[':
-00285       count++;
-00286       if (tokens == NULL) {
-00287         break;
-00288       }
-00289       token = jsmn_alloc_token(parser, tokens, num_tokens);
-00290       if (token == NULL) {
-00291         return JSMN_ERROR_NOMEM;
-00292       }
-00293       if (parser->toksuper != -1) {
-00294         jsmntok_t *t = &tokens[parser->toksuper];
-00295 #ifdef JSMN_STRICT
-00296         /* In strict mode an object or array can't become a key */
-00297         if (t->type == JSMN_OBJECT) {
-00298           return JSMN_ERROR_INVAL;
-00299         }
-00300 #endif
-00301         t->size++;
-00302 #ifdef JSMN_PARENT_LINKS
-00303         token->parent = parser->toksuper;
-00304 #endif
-00305       }
-00306       token->type = (c == '{' ? JSMN_OBJECT : JSMN_ARRAY);
-00307       token->start = parser->pos;
-00308       parser->toksuper = parser->toknext - 1;
-00309       break;
-00310     case '}':
-00311     case ']':
-00312       if (tokens == NULL) {
-00313         break;
-00314       }
-00315       type = (c == '}' ? JSMN_OBJECT : JSMN_ARRAY);
-00316 #ifdef JSMN_PARENT_LINKS
-00317       if (parser->toknext < 1) {
-00318         return JSMN_ERROR_INVAL;
-00319       }
-00320       token = &tokens[parser->toknext - 1];
-00321       for (;;) {
-00322         if (token->start != -1 && token->end == -1) {
-00323           if (token->type != type) {
-00324             return JSMN_ERROR_INVAL;
-00325           }
-00326           token->end = parser->pos + 1;
-00327           parser->toksuper = token->parent;
-00328           break;
-00329         }
-00330         if (token->parent == -1) {
-00331           if (token->type != type || parser->toksuper == -1) {
-00332             return JSMN_ERROR_INVAL;
-00333           }
-00334           break;
-00335         }
-00336         token = &tokens[token->parent];
-00337       }
-00338 #else
-00339       for (i = parser->toknext - 1; i >= 0; i--) {
-00340         token = &tokens[i];
-00341         if (token->start != -1 && token->end == -1) {
-00342           if (token->type != type) {
-00343             return JSMN_ERROR_INVAL;
-00344           }
-00345           parser->toksuper = -1;
-00346           token->end = parser->pos + 1;
-00347           break;
-00348         }
-00349       }
-00350       /* Error if unmatched closing bracket */
-00351       if (i == -1) {
-00352         return JSMN_ERROR_INVAL;
-00353       }
-00354       for (; i >= 0; i--) {
-00355         token = &tokens[i];
-00356         if (token->start != -1 && token->end == -1) {
-00357           parser->toksuper = i;
-00358           break;
-00359         }
-00360       }
-00361 #endif
-00362       break;
-00363     case '\"':
-00364       r = jsmn_parse_string(parser, js, len, tokens, num_tokens);
-00365       if (r < 0) {
-00366         return r;
-00367       }
-00368       count++;
-00369       if (parser->toksuper != -1 && tokens != NULL) {
-00370         tokens[parser->toksuper].size++;
-00371       }
-00372       break;
-00373     case '\t':
-00374     case '\r':
-00375     case '\n':
-00376     case ' ':
-00377       break;
-00378     case ':':
-00379       parser->toksuper = parser->toknext - 1;
-00380       break;
-00381     case ',':
-00382       if (tokens != NULL && parser->toksuper != -1 &&
-00383           tokens[parser->toksuper].type != JSMN_ARRAY &&
-00384           tokens[parser->toksuper].type != JSMN_OBJECT) {
-00385 #ifdef JSMN_PARENT_LINKS
-00386         parser->toksuper = tokens[parser->toksuper].parent;
-00387 #else
-00388         for (i = parser->toknext - 1; i >= 0; i--) {
-00389           if (tokens[i].type == JSMN_ARRAY || tokens[i].type == JSMN_OBJECT) {
-00390             if (tokens[i].start != -1 && tokens[i].end == -1) {
-00391               parser->toksuper = i;
-00392               break;
-00393             }
-00394           }
-00395         }
-00396 #endif
-00397       }
-00398       break;
-00399 #ifdef JSMN_STRICT
-00400     /* In strict mode primitives are: numbers and booleans */
-00401     case '-':
-00402     case '0':
-00403     case '1':
-00404     case '2':
-00405     case '3':
-00406     case '4':
-00407     case '5':
-00408     case '6':
-00409     case '7':
-00410     case '8':
-00411     case '9':
-00412     case 't':
-00413     case 'f':
-00414     case 'n':
-00415       /* And they must not be keys of the object */
-00416       if (tokens != NULL && parser->toksuper != -1) {
-00417         const jsmntok_t *t = &tokens[parser->toksuper];
-00418         if (t->type == JSMN_OBJECT ||
-00419             (t->type == JSMN_STRING && t->size != 0)) {
-00420           return JSMN_ERROR_INVAL;
-00421         }
-00422       }
-00423 #else
-00424     /* In non-strict mode every unquoted value is a primitive */
-00425     default:
-00426 #endif
-00427       r = jsmn_parse_primitive(parser, js, len, tokens, num_tokens);
-00428       if (r < 0) {
-00429         return r;
-00430       }
-00431       count++;
-00432       if (parser->toksuper != -1 && tokens != NULL) {
-00433         tokens[parser->toksuper].size++;
-00434       }
-00435       break;
-00436 
-00437 #ifdef JSMN_STRICT
-00438     /* Unexpected char in strict mode */
-00439     default:
-00440       return JSMN_ERROR_INVAL;
-00441 #endif
-00442     }
-00443   }
-00444 
-00445   if (tokens != NULL) {
-00446     for (i = parser->toknext - 1; i >= 0; i--) {
-00447       /* Unmatched opened object or array */
-00448       if (tokens[i].start != -1 && tokens[i].end == -1) {
-00449         return JSMN_ERROR_PART;
-00450       }
-00451     }
-00452   }
-00453 
-00454   return count;
-00455 }
-00456 
-00461 JSMN_API void jsmn_init(jsmn_parser *parser) {
-00462   parser->pos = 0;
-00463   parser->toknext = 0;
-00464   parser->toksuper = -1;
-00465 }
-00466 
-00467 #endif /* JSMN_HEADER */
-00468 
-00469 #ifdef __cplusplus
-00470 }
-00471 #endif
-00472 
-00473 #endif // MODULE_MEGAWIFI
-00474 
-00475 #endif /* JSMN_H */
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/json_8h.html b/doc/html/json_8h.html deleted file mode 100644 index 0829af626..000000000 --- a/doc/html/json_8h.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - -sgdk: json.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
json.h File Reference
-
-
- -

JSON implementation, based on jsmn by Serge Zaitsev. -More...

-
#include "types.h"
-
-

Go to the source code of this file.

- -
-

Detailed Description

-

JSON implementation, based on jsmn by Serge Zaitsev.

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/json_8h_source.html b/doc/html/json_8h_source.html deleted file mode 100644 index 6f716ec93..000000000 --- a/doc/html/json_8h_source.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - -sgdk: json.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
json.h
-
-
-Go to the documentation of this file.
00001 /************************************************************************/
-00020 #ifndef _JSON_H_
-00021 #define _JSON_H_
-00022 
-00023 #include "types.h"
-00024 
-00025 #if (MODULE_MEGAWIFI != 0)
-00026 
-00028 #define JSMN_STATIC
-00029 #include "jsmn.h"
-00030 
-00033 #define json_item(json_str, obj_tok, idx) (idx) < 0 ? NULL : \
-00034         &((json_str)[(obj_tok)[idx].start])
-00035 
-00036 /************************************************************************/
-00048 int json_null_terminate(char *json_str, const jsmntok_t *obj_tok, int num_tok);
-00049 
-00050 /************************************************************************/
-00060 bool json_is_key(const jsmntok_t *json_tok, int obj_idx, int num_tok);
-00061 
-00062 /************************************************************************/
-00074 int json_object_next(const jsmntok_t *obj_tok, int obj_idx, int parent_idx,
-00075                 int num_tok);
-00076 
-00077 /************************************************************************/
-00088 int json_key_next(const jsmntok_t *json_tok, int obj_idx, int parent_idx,
-00089                 int num_tok);
-00090 
-00091 /************************************************************************/
-00106 int json_key_search(const char *key, const char *json_str,
-00107                 const jsmntok_t *json_tok, int obj_idx, int parent_idx,
-00108                 int num_tok);
-00109 
-00110 /************************************************************************/
-00119 int json_bool_get(const char *json_str, const jsmntok_t *json_tok, int obj_idx);
-00120 
-00121 #endif // MODULE_MEGAWIFI
-00122 
-00123 #endif /*_JSON_H_*/
-00124 
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/kdebug_8h.html b/doc/html/kdebug_8h.html deleted file mode 100644 index e60ab15aa..000000000 --- a/doc/html/kdebug_8h.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - -sgdk: kdebug.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
kdebug.h File Reference
-
-
- -

Gens KMod debug methods. -More...

- -

Go to the source code of this file.

- - - - - - - -

-Functions

-void KDebug_Halt (void)
-void KDebug_Alert (const char *str)
-void KDebug_AlertNumber (u32 nVal)
-void KDebug_StartTimer (void)
-void KDebug_StopTimer (void)
-

Detailed Description

-

Gens KMod debug methods.

-
Author:
Kaneda
-
Date:
XX/20XX
-

This unit provides Gens KMod debug methods support.

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/kdebug_8h_source.html b/doc/html/kdebug_8h_source.html deleted file mode 100644 index bd30f2729..000000000 --- a/doc/html/kdebug_8h_source.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - -sgdk: kdebug.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
kdebug.h
-
-
-Go to the documentation of this file.
00001 
-00010 #ifndef _KDEBUG_H_
-00011 #define _KDEBUG_H_
-00012 
-00013 
-00014 extern void KDebug_Halt(void);
-00015 extern void KDebug_Alert(const char *str);
-00016 extern void KDebug_AlertNumber(u32 nVal);
-00017 extern void KDebug_StartTimer(void);
-00018 extern void KDebug_StopTimer(void);
-00019 
-00020 
-00021 #endif
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/libres_8h_source.html b/doc/html/libres_8h_source.html deleted file mode 100644 index 0b2cb5647..000000000 --- a/doc/html/libres_8h_source.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - -sgdk: libres.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
libres.h
-
-
-
00001 #ifndef _RES_LIBRES_H_
-00002 #define _RES_LIBRES_H_
-00003 
-00004 extern const u8 stop_xgm[172];
-00005 extern const Bitmap sgdk_logo;
-00006 extern const TileSet font_default;
-00007 extern const Palette font_pal_default;
-00008 
-00009 #endif // _RES_LIBRES_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/lsd_8h_source.html b/doc/html/lsd_8h_source.html deleted file mode 100644 index 5f46e5e51..000000000 --- a/doc/html/lsd_8h_source.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - -sgdk: lsd.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
lsd.h
-
-
-
00001 /************************************************************************/
-00032 /*
-00033  * Frame format is:
-00034  *
-00035  * STX : CH-LENH : LENL : DATA : ETX
-00036  *
-00037  * - STX and ETX are the start/end of transmission characters (1 byte each).
-00038  * - CH-LENH is the channel number (first 4 bits) and the 4 high bits of the
-00039  *   data length.
-00040  * - LENL is the low 8 bits of the data length.
-00041  * - DATA is the payload, of the previously specified length.
-00042  */
-00043 #ifndef _LSD_H_
-00044 #define _LSD_H_
-00045 
-00046 #include "16c550.h"
-00047 #include "mw-msg.h"
-00048 
-00049 #if (MODULE_MEGAWIFI != 0)
-00050 
-00052 #define LSD_OVERHEAD            4
-00053 
-00055 #define LSD_MAX_CH              4
-00056 
-00058 #define LSD_MAX_LEN              4095
-00059 
-00061 #define LSD_BUF_FRAMES          2
-00062 
-00064 enum lsd_status {
-00065         LSD_STAT_ERR_FRAMING = -5,              
-00066         LSD_STAT_ERR_INVALID_CH = -4,           
-00067         LSD_STAT_ERR_FRAME_TOO_LONG = -3,       
-00068         LSD_STAT_ERR_IN_PROGRESS = -2,          
-00069         LSD_STAT_ERROR = -1,                    
-00070         LSD_STAT_COMPLETE = 0,                  
-00071         LSD_STAT_BUSY = 1                       
-00072 };
-00073 
-00075 typedef void (*lsd_send_cb)(enum lsd_status stat, void *ctx);
-00077 typedef void (*lsd_recv_cb)(enum lsd_status stat, uint8_t ch,
-00078                 char *data, uint16_t len, void *ctx);
-00079 
-00080 /************************************************************************/
-00083 void lsd_init(void);
-00084 
-00085 /************************************************************************/
-00092 int lsd_ch_enable(uint8_t ch);
-00093 
-00094 /************************************************************************/
-00101 int lsd_ch_disable(uint8_t ch);
-00102 
-00103 
-00104 /************************************************************************/
-00118 enum lsd_status lsd_send(uint8_t ch, const char *data, int16_t len,
-00119                 void *ctx, lsd_send_cb send_cb);
-00120 
-00121 /************************************************************************/
-00131 enum lsd_status lsd_send_sync(uint8_t ch, const char *data, int16_t len);
-00132 
-00133 /************************************************************************/
-00143 enum lsd_status lsd_recv(char *buf, int16_t len, void *ctx,
-00144                 lsd_recv_cb recv_cb);
-00145 
-00146 /************************************************************************/
-00158 enum lsd_status lsd_recv_sync(char *buf, uint16_t *len, uint8_t *ch);
-00159 
-00160 /************************************************************************/
-00166 void lsd_process(void);
-00167 
-00168 /************************************************************************/
-00175 void lsd_line_sync(void);
-00176 
-00177 #endif // MODULE_MEGAWIFI
-00178 
-00179 #endif //_LSD_H_
-00180 
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/map_8h.html b/doc/html/map_8h.html deleted file mode 100644 index da27d0602..000000000 --- a/doc/html/map_8h.html +++ /dev/null @@ -1,700 +0,0 @@ - - - - -sgdk: map.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
map.h File Reference
-
-
- -

MAP (large background map) management unit. -More...

-
#include "vdp.h"
-#include "vdp_tile.h"
-#include "pal.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  MapDefinition
 MapDefinition structure which contains data for large level background.
- It's optimized to encode large map using 128x128 block chunk (block chunk are organized in metatile). More...
struct  Map
 Map structure containing information for large background/plane update based on MapDefinition. More...

-Typedefs

typedef struct Map Map
 Map structure containing information for large background/plane update based on MapDefinition.

-Functions

MapMAP_create (const MapDefinition *mapDef, VDPPlane plane, u16 baseTile)
 Create and return a Map structure required to use all MAP_xxx functions from a given MapDefinition.
- When you're done with the map you shall use MAP_release(map) to release it.
void MAP_release (Map *map)
 Release the map and its resources (same as MEM_free(map))
void MAP_scrollTo (Map *map, u32 x, u32 y)
 Scroll map to specified position.
- The fonction takes care of updating the VDP tilemap which will be transfered by DMA queue then VDP background scrolling is automatically set on VBlank (into the SYS_doVBlankProcess() tasks).
- WARNING: first MAP_scrollTo(..) call will do a full plane update, for a 64x32 sized plane this represents 4KB of data.
- That means you can't initialize 2 MAPs in the same frame (limited to 7.2 KB of data per frame) so take care of calling SYS_doVBlankProcess() in between.
void MAP_scrollToEx (Map *map, u32 x, u32 y, bool forceRedraw)
 Exactly as MAP_scrollTo(..) except we can force complete map drawing.
u16 MAP_getMetaTile (Map *map, u16 x, u16 y)
 Returns given metatile attribute (a metatile is a block of 2x2 tiles = 16x16 pixels)
u16 MAP_getTile (Map *map, u16 x, u16 y)
 Returns given tile attribute (note than map->baseTile isn't added to the result)
void MAP_getMetaTilemapRect (Map *map, u16 x, u16 y, u16 w, u16 h, u16 *dest)
 Returns metatiles attribute for the specified region (a metatile is a block of 2x2 tiles = 16x16 pixels)
void MAP_getTilemapRect (Map *map, u16 x, u16 y, u16 w, u16 h, bool column, u16 *dest)
 Returns tiles attribute data for the specified region (map->baseTile is used as base tiles attribute, see MAP_create(..))
-

Detailed Description

-

MAP (large background map) management unit.

-
Author:
Stephane Dallongeville
-
Date:
11/2020
-

This unit provides methods to manipulate / scroll large background MAP:
-

-
    -
  • Create / release MAP object
    -
  • -
  • MAP decoding functions
    -
  • -
  • Large MAP scrolling engine
    -
    - Using MAP resource you can encode large image as a MapDefinition structure which will be used to handle large background scrolling. The MapDefinition structure is optimized to encode large map efficiently (space wise), here's the encoding format:
    -
  • -
  • background map is encoded as a grid of 128x128 pixels blocks
    -
  • -
  • duplicated 128x128 blocks are optimized (keep only 1 reference)
    -
  • -
  • each 128x128 blocks is encoded internally as a 8x8 grid of metatile
    -
  • -
  • a metatile is a 16x16 pixels block (2x2 tiles block)
    -
  • -
  • each duplicated / flipped metatile are optimized.
    -
    - Knowing that you can draw your level background to optimize its space usage by trying to optimize
    - the number of unique 128x128 pixels block.
  • -
-

Typedef Documentation

- -
-
- - - - -
typedef struct Map Map
-
-
- -

Map structure containing information for large background/plane update based on MapDefinition.

-
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - -
wmap width in block (128x128 pixels block)
hmap height in block (128x128 pixels block)
metaTilesinternal - unpacked data of MapDefinition.metaTiles
blocksinternal - unpacked data of MapDefinition.blocks
blockIndexesinternal - unpacked data of MapDefinition.blockIndexes
blockRowOffsetsinternal - direct access of MapDefinition.blockRowOffsets
planeVDP plane where MAP is draw
baseTileBase tile attributes used to provide base tile index offset and base palette index (see TILE_ATTR_FULL() macro)
posXcurrent view position X set using MAP_scrollTo(..) method
posYcurrent view position Y set using MAP_scrollTo(..) method
wMaskinternal
hMaskinternal
planeWidthMaskinternal
planeHeightMaskinternal
lastXTinternal
lastYTinternal
prepareMapDataColumnCBinternal
prepareMapDataRowCBinternal
hScrollTableinternal
vScrollTableinternal
getMetaTileCBinternal
getMetaTilemapRectCBinternal
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
Map* MAP_create (const MapDefinitionmapDef,
VDPPlane plane,
u16 baseTile 
)
-
-
- -

Create and return a Map structure required to use all MAP_xxx functions from a given MapDefinition.
- When you're done with the map you shall use MAP_release(map) to release it.

-
Parameters:
- - - - -
mapDefMapDefinition structure containing background/plane data.
planePlane where we want to draw the Map (for MAP_scrollTo(..) method).
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    - If you want to use the map for collision or special behavior (using the MAP_getTile(..) method) then you can just let this parameter to 0.
  • -
-
baseTileUsed to provide base tile index and base palette index (see TILE_ATTR_FULL() macro).
- Note that you can also use it to force HIGH priority but in that case your map should only contains LOW priority tiles otherwise the HIGH priority tiles will be set in LOW priority instead (mutually exclusive).
-
-
-
Returns:
initialized Map structure or NULL if there is not enough memory to allocate data for given MapDefinition.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
u16 MAP_getMetaTile (Mapmap,
u16 x,
u16 y 
)
-
-
- -

Returns given metatile attribute (a metatile is a block of 2x2 tiles = 16x16 pixels)

-
Parameters:
- - - - -
mapsource Map structure containing map information.
xmetatile X position
ymetatile Y position
-
-
-
Returns:
metatile attribute:
-
    -
  • b15: priority override
    -
  • -
  • b14-b13: free, can be used to encode collision info ?
    -
  • -
  • b12: combined vflip
    -
  • -
  • b11: combined hflip
    -
  • -
  • b10-b0: metatile index
    -
  • -
-
-
See also:
MAP_create(..)
-
-MAP_getTile(..)
-
-MAP_getMetaTilemapRect(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void MAP_getMetaTilemapRect (Mapmap,
u16 x,
u16 y,
u16 w,
u16 h,
u16dest 
)
-
-
- -

Returns metatiles attribute for the specified region (a metatile is a block of 2x2 tiles = 16x16 pixels)

-
Parameters:
- - - - - - - -
mapsource Map structure containing map information.
xRegion X start position (in metatile).
yRegion Y start position (in metatile).
wRegion Width (in metatile).
hRegion Heigh (in metatile).
destdestination pointer receiving metatiles attribute data
-
-
-
Returns:
metatiles attribute:
-
    -
  • b15: priority override
    -
  • -
  • b14-b13: free, can be used to encode collision info ?
    -
  • -
  • b12: combined vflip
    -
  • -
  • b11: combined hflip
    -
  • -
  • b10-b0: metatile index
    -
  • -
-
-
See also:
MAP_create(..)
-
-MAP_getTilemapRect(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
u16 MAP_getTile (Mapmap,
u16 x,
u16 y 
)
-
-
- -

Returns given tile attribute (note than map->baseTile isn't added to the result)

-
Parameters:
- - - - -
mapsource Map structure containing map information.
xtile X position
ytile Y position
-
-
-
Returns:
tile attribute:
-
    -
  • b15: priority
    -
  • -
  • b14-b13: palette
    -
  • -
  • b12: vflip
    -
  • -
  • b11: hflip
    -
  • -
  • b10-b0: tile index
  • -
-
-
See also:
MAP_create(..)
-
-MAP_getMetaTile(..)
-
-MAP_getTilemapRect(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void MAP_getTilemapRect (Mapmap,
u16 x,
u16 y,
u16 w,
u16 h,
bool column,
u16dest 
)
-
-
- -

Returns tiles attribute data for the specified region (map->baseTile is used as base tiles attribute, see MAP_create(..))

-
Parameters:
- - - - - - - - -
mapsource Map structure containing map information.
xRegion X start position (in metatile)
yRegion Y start position (in metatile)
wRegion Width (in metatile)
hRegion Heigh (in metatile)
columnif set to TRUE then tilemap data is stored by column order [Y,X] instead of row order [X,Y].
destdestination pointer receiving tiles attribute data
-
-
-
Returns:
tiles attribute:
-
    -
  • b15: priority
    -
  • -
  • b14-b13: palette
    -
  • -
  • b12: vflip
    -
  • -
  • b11: hflip
    -
  • -
  • b10-b0: tile index
  • -
-
-
See also:
MAP_create(..)
-
-MAP_getTile(..)
-
-MAP_getMetaTilemapRect(..)
- -
-
- -
-
- - - - - - - - -
void MAP_release (Mapmap)
-
-
- -

Release the map and its resources (same as MEM_free(map))

-
Parameters:
- - -
mapthe Map structure to release
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void MAP_scrollTo (Mapmap,
u32 x,
u32 y 
)
-
-
- -

Scroll map to specified position.
- The fonction takes care of updating the VDP tilemap which will be transfered by DMA queue then VDP background scrolling is automatically set on VBlank (into the SYS_doVBlankProcess() tasks).
- WARNING: first MAP_scrollTo(..) call will do a full plane update, for a 64x32 sized plane this represents 4KB of data.
- That means you can't initialize 2 MAPs in the same frame (limited to 7.2 KB of data per frame) so take care of calling SYS_doVBlankProcess() in between.

-
Parameters:
- - - - -
mapMap structure containing map information.
xview position X we want to scroll on
yview position Y we want to scroll on
-
-
-
See also:
MAP_create(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void MAP_scrollToEx (Mapmap,
u32 x,
u32 y,
bool forceRedraw 
)
-
-
- -

Exactly as MAP_scrollTo(..) except we can force complete map drawing.

-
Parameters:
- - - - - -
mapMap structure containing map information.
xview position X we want to scroll on
yview position Y we want to scroll on
forceRedrawSet to TRUE to force a complete map redraw (take more time)
-
-
-
See also:
MAP_scrollTo(..)
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/map_8h_source.html b/doc/html/map_8h_source.html deleted file mode 100644 index bc8eb8555..000000000 --- a/doc/html/map_8h_source.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - -sgdk: map.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
map.h
-
-
-Go to the documentation of this file.
00001 
-00026 #ifndef _MAP_H_
-00027 #define _MAP_H_
-00028 
-00029 
-00030 #include "vdp.h"
-00031 #include "vdp_tile.h"
-00032 #include "pal.h"
-00033 
-00034 
-00076 typedef struct
-00077 {
-00078     u16 w;
-00079     u16 h;
-00080     u16 hp;
-00081     u16 compression;
-00082     u16 numMetaTile;
-00083     u16 numBlock;
-00084     u16 *metaTiles;
-00085     void* blocks;
-00086     void* blockIndexes;
-00087     u16* blockRowOffsets;
-00088 } MapDefinition;
-00089 
-00090 
-00140 typedef struct Map
-00141 {
-00142     u16 w;
-00143     u16 h;
-00144     u16* metaTiles;
-00145     void* blocks;
-00146     void* blockIndexes;
-00147     u16* blockRowOffsets;
-00148     VDPPlane plane;
-00149     u16 baseTile;
-00150     u32 posX;
-00151     u32 posY;
-00152     u16 wMask;
-00153     u16 hMask;
-00154     u16 planeWidthMask;
-00155     u16 planeHeightMask;
-00156     u16 lastXT;
-00157     u16 lastYT;
-00158     u16 hScrollTable[240];
-00159     u16 vScrollTable[20];
-00160     void (*prepareMapDataColumnCB)(struct Map *map, u16 *bufCol1, u16 *bufCol2, u16 xm, u16 ym, u16 height);
-00161     void (*prepareMapDataRowCB)(struct Map *map, u16 *bufRow1, u16 *bufRow2, u16 xm, u16 ym, u16 width);
-00162     u16  (*getMetaTileCB)(struct Map *map, u16 x, u16 y);
-00163     void (*getMetaTilemapRectCB)(struct Map *map, u16 x, u16 y, u16 w, u16 h, u16* dest);
-00164 } Map;
-00165 
-00166 
-00187 Map* MAP_create(const MapDefinition* mapDef, VDPPlane plane, u16 baseTile);
-00188 
-00196 void MAP_release(Map* map);
-00197 
-00216 void MAP_scrollTo(Map* map, u32 x, u32 y);
-00232 void MAP_scrollToEx(Map* map, u32 x, u32 y, bool forceRedraw);
-00233 
-00257 u16 MAP_getMetaTile(Map* map, u16 x, u16 y);
-00281 u16 MAP_getTile(Map* map, u16 x, u16 y);
-00310 void MAP_getMetaTilemapRect(Map* map, u16 x, u16 y, u16 w, u16 h, u16* dest);
-00342 void MAP_getTilemapRect(Map* map, u16 x, u16 y, u16 w, u16 h, bool column, u16* dest);
-00343 
-00344 
-00345 #endif // _MAP_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/mapper_8h.html b/doc/html/mapper_8h.html deleted file mode 100644 index b84551cf6..000000000 --- a/doc/html/mapper_8h.html +++ /dev/null @@ -1,524 +0,0 @@ - - - - -sgdk: mapper.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
mapper.h File Reference
-
-
- -

Mapper / bank switch methods. -More...

-
#include "config.h"
-#include "types.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define MAPPER_BASE   0xA130F1
-#define BANK_SIZE   0x80000
-#define BANK_IN_MASK   (BANK_SIZE - 1)
-#define BANK_OUT_MASK   (0xFFFFFFFF ^ BANK_IN_MASK)
#define FAR(data)   data
 Give access to specified 'far' data through SEGA official bank switch mechanism if needed.
-#define FAR_SAFE(data, size)   data

-Functions

-void SYS_resetBanks ()
 Reset all banks to their initial / default value (automatically called at reset)
u16 SYS_getBank (u16 regionIndex)
 Returns the current bank of specified region index.
void SYS_setBank (u16 regionIndex, u16 bankIndex)
 Set the current bank of specified region index.
void * SYS_getFarData (void *data)
 Make the given binary data ressource accessible and return a pointer to it.
void * SYS_getFarDataEx (void *data, bool high)
 Make the given binary data ressource accessible and return a pointer to it.
bool SYS_isCrossingBank (void *data, u32 size)
 Returns TRUE if given binary data is crossing 2 512 KB banks.
void * SYS_getFarDataSafe (void *data, u32 size)
 Make the given binary data ressource accessible and return a pointer to it (safe version with possible bank crossing)
void * SYS_getFarDataSafeEx (void *data, u32 size, bool high)
 Make the given binary data ressource accessible and return a pointer to it (safe version with possible bank crossing)
bool SYS_getNextFarAccessRegion ()
 Retrieve the value of the next used region for FAR access with bank switch if data is not already accessible.
void SYS_setNextFarAccessRegion (bool high)
 Set the value of the next used region for FAR access with bank switch if data is not already accessible.
-

Detailed Description

-

Mapper / bank switch methods.

-
Author:
Stephane Dallongeville
-
Date:
01/2020
-

This unit provides tools to deal with ROM larger than 4MB.
- It allows to do classic bank switching using the official SEGA mapper but also provide methods to get easy access to "far" data.
- Note that you can use the ENABLE_BANK_SWITCH flag in config.h file to enable automatic bank switch on binary data access.
-
- SEGA official mapper description (taken from Segaretro.org):
- The bankswitching mechanism is very simple. It views the addressable 4 mega-bytes of ROM as 8 512KB regions.
- The first area, 0x000000-0x07FFFF is fixed and cannot be remapped because that is where the vector table resides.
- The banking registers on the cartridge work by allocating the 512KB chunk to a given part of the addressable 4MB ROM space.
- Below are the registers and what range they correspond to. The value written to a register will cause the specified 512KB page to be mapped to that region.
- A page is specified with 6 bits (bits 7 and 6 are always 0) thus allowing a possible 64 pages = 32 MB (SSFII only has 10, though.)
-
- 0xA130F3: 0x080000 - 0x0FFFFF
- 0xA130F5: 0x100000 - 0x17FFFF
- 0xA130F7: 0x180000 - 0x1FFFFF
- 0xA130F9: 0x200000 - 0x27FFFF
- 0xA130FB: 0x280000 - 0x2FFFFF
- 0xA130FD: 0x300000 - 0x37FFFF
- 0xA130FF: 0x380000 - 0x3FFFFF
-
- The registers are accessed through byte writes.
- Examples:
- If 0x01 is written to register 0xA130FF, 0x080000-0x0FFFFF is visible at 0x380000-0x3FFFFF.
- If 0x08 is written to register 0xA130F9, the first 512KB of the normally invisible upper 1MB of ROM is now visible at 0x200000-0x27FFFF.
-
- The registers simply represent address ranges in the 4MB ROM area and you can page in data to these ranges by specifying the bank #

-

Define Documentation

- -
-
- - - - - - - - -
#define FAR( data)   data
-
-
- -

Give access to specified 'far' data through SEGA official bank switch mechanism if needed.

-
See also:
ENABLE_BANK_SWITCH flag in config.h file
-
-SYS_getFarData(..)
-
-SYS_getFarDataSafe(..)
- -
-
-

Function Documentation

- -
-
- - - - - - - - -
u16 SYS_getBank (u16 regionIndex)
-
-
- -

Returns the current bank of specified region index.

-
Parameters:
- - -
regionIndexthe 512KB region index we want to get. Accepted values: 1-7 as region 0 (0x000000-0x07FFFF) is fixed.
-
-
-
Returns:
the effective 512KB data bank index mapped on this region (0 to 63)
- -
-
- -
-
- - - - - - - - -
void* SYS_getFarData (void * data)
-
-
- -

Make the given binary data ressource accessible and return a pointer to it.

-
Parameters:
- - -
datadata we want to access.
-
-
-

This method will use bank switching to make the specified data accessible and return a valid pointer to it.
- WARNING: this method use the 0x00300000-0x003FFFFF range (2 regions) to make the requested data accessible using bank switching mechanism.
- If data bank is already accessible it re-uses the region otherwise it will change bank of one of the region so be careful of that if you want to access data from different data bank at same time

-
See also:
SYS_getFarDataEx
-
-SYS_getFarDataSafe
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void* SYS_getFarDataEx (void * data,
bool high 
)
-
-
- -

Make the given binary data ressource accessible and return a pointer to it.

-
Parameters:
- - - -
datafar data we want to access.
highif set to TRUE then we use the high remappable bank for the FAR acces otherwise we use the low one
-
-
-

This method will use bank switching to make the specified data accessible and return a valid pointer to it.
- It will use the 0x00300000-0x0037FFFF or 0x00380000-0x003FFFFF region depending the value of high parameter.
-

-
See also:
SYS_getFarData
-
-SYS_getFarDataSafe
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void* SYS_getFarDataSafe (void * data,
u32 size 
)
-
-
- -

Make the given binary data ressource accessible and return a pointer to it (safe version with possible bank crossing)

-
Parameters:
- - - -
datafar data we want to access.
sizesize (in byte) of the far data block we want to access.
- Note that size should be > 0, if you don't the size then use SYS_getFarData(..) method instead.
-
-
-

This method will use bank switching to make the specified data accessible and return a valid pointer to it.
- WARNING: this method use the 0x00300000-0x003FFFFF range (2 regions) to make the requested data accessible using bank switching mechanism.
- If data bank is already accessible it re-uses the region otherwise it will change bank of one of the region so be careful of that if you want to access data from different data bank at same time :p
- The method checks if the data is crossing banks in which case it will set the 2 switchable/remappable regions to make the data fully accessible.

-
See also:
SYS_getFarDataSafeEx
-
-SYS_getFarData
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void* SYS_getFarDataSafeEx (void * data,
u32 size,
bool high 
)
-
-
- -

Make the given binary data ressource accessible and return a pointer to it (safe version with possible bank crossing)

-
Parameters:
- - - - -
dataaddress of far data we want to access.
sizesize (in byte) of the far data block we want to access.
- Note that size should be > 0, if you don't the size then use SYS_getFarData(..) method instead.
highif set to TRUE then we use the high remappable bank for the FAR acces otherwise we use the low one
-
-
-

This method will use bank switching to make the specified data accessible and return a valid pointer to it.
- It will use the 0x00300000-0x0037FFFF or 0x00380000-0x003FFFFF region depending the value of high parameter.
- The method checks if the data is crossing banks in which case it will set the 2 switchable/remappable regions to make the data fully accessible.

-
See also:
SYS_getFarDataSafe
- -
-
- -
-
- - - - - - - -
bool SYS_getNextFarAccessRegion ()
-
-
- -

Retrieve the value of the next used region for FAR access with bank switch if data is not already accessible.

-

This method should really be used in very specific case to know which region (6 or 7) will be used for next FAR access through bank switch but more importantly eventually to save its state and restore it with SYS_setNextFarAccessRegion(..) later if you need to temporary change banks.

-
See also:
SYS_setNextFarAccessRegion
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool SYS_isCrossingBank (void * data,
u32 size 
)
-
-
- -

Returns TRUE if given binary data is crossing 2 512 KB banks.

-
Parameters:
- - - -
datafar data pointer
sizesize (in byte) of the far data block
-
-
-

This method return TRUE is the given binary data block is crossing 2 512 KB banks

-
See also:
SYS_getFarDataSafe
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SYS_setBank (u16 regionIndex,
u16 bankIndex 
)
-
-
- -

Set the current bank of specified region index.

-
Parameters:
- - - -
regionIndexthe 512KB region index we want to set. Accepted values: 1-7 as region 0 (0x000000-0x07FFFF) is fixed.
bankIndexthe effective 512KB data bank index mapped on this region. Accepted values: 0-63
-
-
- -
-
- -
-
- - - - - - - - -
void SYS_setNextFarAccessRegion (bool high)
-
-
- -

Set the value of the next used region for FAR access with bank switch if data is not already accessible.

-

This method should really be used in very specific case to set which region (6 or 7) will be used for next FAR access through bank switch.
- It can also be used to restore internal state saved it through SYS_getNextFarAccessRegion()

-
See also:
SYS_getNextFarAccessRegion
-
-SYS_getFarDataEx
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/mapper_8h_source.html b/doc/html/mapper_8h_source.html deleted file mode 100644 index 48bc00396..000000000 --- a/doc/html/mapper_8h_source.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - -sgdk: mapper.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
mapper.h
-
-
-Go to the documentation of this file.
00001 
-00034 #ifndef _MAPPER_H_
-00035 #define _MAPPER_H_
-00036 
-00037 
-00038 #include "config.h"
-00039 #include "types.h"
-00040 
-00041 
-00042 #define MAPPER_BASE     0xA130F1
-00043 
-00044 #define BANK_SIZE       0x80000
-00045 #define BANK_IN_MASK    (BANK_SIZE - 1)
-00046 #define BANK_OUT_MASK   (0xFFFFFFFF ^ BANK_IN_MASK)
-00047 
-00056 #if (ENABLE_BANK_SWITCH != 0)
-00057     #define FAR(data) SYS_getFarData((void*) (data))
-00058     #define FAR_SAFE(data, size) SYS_getFarDataSafe((void*) (data), size)
-00059 #else
-00060     #define FAR(data) data
-00061     #define FAR_SAFE(data, size) data
-00062 #endif
-00063 
-00064 
-00069 void SYS_resetBanks();
-00070 
-00078 u16 SYS_getBank(u16 regionIndex);
-00086 void SYS_setBank(u16 regionIndex, u16 bankIndex);
-00087 
-00102 void* SYS_getFarData(void* data);
-00116 void* SYS_getFarDataEx(void* data, bool high);
-00128 bool SYS_isCrossingBank(void* data, u32 size);
-00146 void* SYS_getFarDataSafe(void* data, u32 size);
-00162 void* SYS_getFarDataSafeEx(void* data, u32 size, bool high);
-00163 
-00173 bool SYS_getNextFarAccessRegion();
-00184 void SYS_setNextFarAccessRegion(bool high);
-00185 
-00186 #endif // _MAPPER_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/maths3_d_8h.html b/doc/html/maths3_d_8h.html deleted file mode 100644 index ddf545a9a..000000000 --- a/doc/html/maths3_d_8h.html +++ /dev/null @@ -1,759 +0,0 @@ - - - - -sgdk: maths3D.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
maths3D.h File Reference
-
-
- -

3D math engine. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  Context3D
 Structure hosting settings / context for the 3D transform engine. More...
struct  Transformation3D
 3D transformation object - f16 (fix16) type.
- This object define the global 3D transformation informations and associated cached data.
- If rotation information is modified the rebuildMat flag should be set to 1.
- Rotation and translation objects are reference so don't forget to set them. More...

-Typedefs

-typedef V3f16 Translation3D
 3D translation informations object - f16 (fix16) type.
-typedef V3f16 Rotation3D
 3D rotation informations object - f16 (fix16) type.

-Functions

-void M3D_reset (void)
 Reset math 3D engine (reset matrices and transformation parameters mainly).
-void M3D_setLightEnabled (u16 enabled)
 Enable or disable light transformation calculation.
-u16 M3D_getLightEnabled (void)
 Get light transformation calculation enabled flag.
void M3D_setViewport (u16 w, u16 h)
 Set viewport dimension.
void M3D_setCamDistance (fix16 value)
 Set camera scene distance.
-void M3D_setLightXYZ (fix16 x, fix16 y, fix16 z)
 Set light direction vector.
-void M3D_setLight (V3f16 *value)
 Set light direction vector.
-void M3D_resetTransform (Transformation3D *t)
 Reset the specified Transformation3D object.
-void M3D_setTransform (Transformation3D *tr, Translation3D *t, Rotation3D *r)
 Set translation and rotation objects to the specified transformation object.
-void M3D_setTranslation (Transformation3D *t, fix16 x, fix16 y, fix16 z)
 Set translation parameters to the specified transformation object.
-void M3D_setRotation (Transformation3D *t, fix16 x, fix16 y, fix16 z)
 Set rotation parameters to the specified Transformation3D object.
- Be careful, x, y, z angle values are not given in radiant:
- [-8..+8] range correspond to radian [-PI..+PI] range.
void M3D_combineTransform (Transformation3D *left, Transformation3D *right, Transformation3D *result)
 Combine the specified right and left Transformation3D objects and store result in result. result cannot be the same transformation object as left or right.
void M3D_combineTranslationLeft (Translation3D *left, Transformation3D *right, Transformation3D *result)
 Combine the specified left Translation3D and right Transformation3D and store result in result.
- right and result transformation object can be the same.
void M3D_combineTranslationRight (Transformation3D *left, Translation3D *right, Transformation3D *result)
 Combine the specified left Transformation3D with right Translation3D and store result in result.
- left and result transformation object can be the same.
void M3D_buildMat3D (Transformation3D *t)
 Build the transformation matrix of the specified Transformation3D object.
- This also rebuild cached informations as inverse transformation matrix, inverse camera view...
void M3D_buildMat3DOnly (Transformation3D *t)
 Build the transformation matrix of the specified transformation object. Only rebuild the transformation matrix (faster), cached infos as inverse matrix are not rebuild.
void M3D_buildMat3DExtras (Transformation3D *t)
 Only rebuild the cached infos as inverse matrix, inverse camera view...
void M3D_translate (Transformation3D *t, V3f16 *vertices, u16 numv)
 Process 3D translation only to specified 3D vertices buffer.
void M3D_rotate (Transformation3D *t, const V3f16 *src, V3f16 *dest, u16 numv)
 Process 3D rotation only to specified 3D vertices buffer.
void M3D_rotateInv (Transformation3D *t, const V3f16 *src, V3f16 *dest)
 Process 3D inverse rotation only to specified 3D vertex.
void M3D_transform (Transformation3D *t, const V3f16 *src, V3f16 *dest, u16 numv)
 Process 3D transform (rotation and translation) to specified 3D vertices buffer.
void M3D_project_f16 (const V3f16 *src, V2f16 *dest, u16 numv)
 Process 2D projection to specified 3D vertices buffer (fix16 version).
void M3D_project_s16 (const V3f16 *src, V2s16 *dest, u16 numv)
 Process 2D projection to specified 3D vertices buffer (s16 version).
-

Detailed Description

-

3D math engine.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides 3D transformation methods :
-

-
    -
  • translation X, Y, Z
    -
  • -
  • rotation X, Y, Z
    -
  • -
  • one directionnal light
    -
  • -
  • 2D projection
    -
    - Can transform (including 2D projection) about ~10000 vertices / seconde.
  • -
-

Function Documentation

- -
-
- - - - - - - - -
void M3D_buildMat3D (Transformation3Dt)
-
-
- -

Build the transformation matrix of the specified Transformation3D object.
- This also rebuild cached informations as inverse transformation matrix, inverse camera view...

-
Parameters:
- - -
tTransformation3D object.
-
-
- -
-
- -
-
- - - - - - - - -
void M3D_buildMat3DExtras (Transformation3Dt)
-
-
- -

Only rebuild the cached infos as inverse matrix, inverse camera view...

-
Parameters:
- - -
tTransformation object.
-
-
- -
-
- -
-
- - - - - - - - -
void M3D_buildMat3DOnly (Transformation3Dt)
-
-
- -

Build the transformation matrix of the specified transformation object. Only rebuild the transformation matrix (faster), cached infos as inverse matrix are not rebuild.

-
Parameters:
- - -
tTransformation object.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void M3D_combineTransform (Transformation3Dleft,
Transformation3Dright,
Transformation3Dresult 
)
-
-
- -

Combine the specified right and left Transformation3D objects and store result in result. result cannot be the same transformation object as left or right.

-
Parameters:
- - - - -
leftLeft Transformation3D object.
rightRight Transformation3D object.
resultResult Transformation3D object.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void M3D_combineTranslationLeft (Translation3Dleft,
Transformation3Dright,
Transformation3Dresult 
)
-
-
- -

Combine the specified left Translation3D and right Transformation3D and store result in result.
- right and result transformation object can be the same.

-
Parameters:
- - - - -
leftLeft Transformation3D object.
rightRight Transformation3D object.
resultResult Transformation3D object.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void M3D_combineTranslationRight (Transformation3Dleft,
Translation3Dright,
Transformation3Dresult 
)
-
-
- -

Combine the specified left Transformation3D with right Translation3D and store result in result.
- left and result transformation object can be the same.

-
Parameters:
- - - - -
leftLeft Transformation3D object.
rightRight Translation3D object.
resultResult Transformation3D object.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void M3D_project_f16 (const V3f16src,
V2f16dest,
u16 numv 
)
-
-
- -

Process 2D projection to specified 3D vertices buffer (fix16 version).

-
Parameters:
- - - - -
srcSource 3D vertices buffer.
destDestination 2D vertices buffer - fix16 format
numvNumber of vertices to project.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void M3D_project_s16 (const V3f16src,
V2s16dest,
u16 numv 
)
-
-
- -

Process 2D projection to specified 3D vertices buffer (s16 version).

-
Parameters:
- - - - -
srcSource 3D vertices buffer.
destDestination 2D vertices buffer - s16 format
numvNumber of vertices to project.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void M3D_rotate (Transformation3Dt,
const V3f16src,
V3f16dest,
u16 numv 
)
-
-
- -

Process 3D rotation only to specified 3D vertices buffer.

-
Parameters:
- - - - - -
tTransformation object containing rotation parameter.
srcSource 3D vertices buffer.
destDestination 3D vertices buffer.
numvNumber of vertices to rotate.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void M3D_rotateInv (Transformation3Dt,
const V3f16src,
V3f16dest 
)
-
-
- -

Process 3D inverse rotation only to specified 3D vertex.

-
Parameters:
- - - - -
tTransformation object containing rotation parameter.
srcSource 3D vertex.
destDestination 3D vertex.
-
-
- -
-
- -
-
- - - - - - - - -
void M3D_setCamDistance (fix16 value)
-
-
- -

Set camera scene distance.

-
Parameters:
- - -
valueDistance between the camera and the scene.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void M3D_setViewport (u16 w,
u16 h 
)
-
-
- -

Set viewport dimension.

-
Parameters:
- - - -
wViewport width (use BMP_WIDTH if you use 3D with software bitmap engine)
hViewport height (use BMP_HEIGHT if you use 3D with software bitmap engine)
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void M3D_transform (Transformation3Dt,
const V3f16src,
V3f16dest,
u16 numv 
)
-
-
- -

Process 3D transform (rotation and translation) to specified 3D vertices buffer.

-
Parameters:
- - - - - -
tTransformation object containing rotation and translation parameters.
srcSource 3D vertices buffer.
destDestination 3D vertices buffer.
numvNumber of vertices to transform.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void M3D_translate (Transformation3Dt,
V3f16vertices,
u16 numv 
)
-
-
- -

Process 3D translation only to specified 3D vertices buffer.

-
Parameters:
- - - - -
tTransformation object containing translation parameter.
vertices3D vertices buffer to translate.
numvNumber of vertices to translate.
-
-
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/maths3_d_8h_source.html b/doc/html/maths3_d_8h_source.html deleted file mode 100644 index d8ea40293..000000000 --- a/doc/html/maths3_d_8h_source.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - -sgdk: maths3D.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
maths3D.h
-
-
-Go to the documentation of this file.
00001 
-00016 #ifndef _MATHS3D_H_
-00017 #define _MATHS3D_H_
-00018 
-00019 
-00024 typedef struct
-00025 {
-00026     V2u16 viewport;
-00027     fix16 camDist;
-00028     V3f16 light;
-00029     u16 lightEnabled;
-00030 } Context3D;
-00031 
-00036 typedef V3f16 Translation3D;
-00037 
-00042 typedef V3f16 Rotation3D;
-00043 
-00051 typedef struct
-00052 {
-00053     u16 rebuildMat;
-00054     Translation3D* translation;
-00055     Rotation3D* rotation;
-00056     M3f16 mat;
-00057     M3f16 matInv;
-00058     V3f16 cameraInv;
-00059     V3f16 lightInv;
-00060 } Transformation3D;
-00061 
-00066 void M3D_reset(void);
-00067 
-00072 void M3D_setLightEnabled(u16 enabled);
-00077 u16  M3D_getLightEnabled(void);
-00078 
-00088 void M3D_setViewport(u16 w, u16 h);
-00096 void M3D_setCamDistance(fix16 value);
-00101 void M3D_setLightXYZ(fix16 x, fix16 y, fix16 z);
-00106 void M3D_setLight(V3f16* value);
-00107 
-00112 void M3D_resetTransform(Transformation3D* t);
-00113 
-00118 void M3D_setTransform(Transformation3D* tr, Translation3D* t, Rotation3D *r);
-00119 
-00124 void M3D_setTranslation(Transformation3D* t, fix16 x, fix16 y, fix16 z);
-00131 void M3D_setRotation(Transformation3D* t, fix16 x, fix16 y, fix16 z);
-00132 
-00145 void M3D_combineTransform(Transformation3D* left, Transformation3D* right, Transformation3D* result);
-00158 void M3D_combineTranslationLeft(Translation3D* left, Transformation3D* right, Transformation3D* result);
-00171 void M3D_combineTranslationRight(Transformation3D* left, Translation3D* right, Transformation3D* result);
-00172 
-00181 void M3D_buildMat3D(Transformation3D* t);
-00190 void M3D_buildMat3DOnly(Transformation3D* t);
-00198 void M3D_buildMat3DExtras(Transformation3D* t);
-00199 
-00211 void M3D_translate(Transformation3D* t, V3f16* vertices, u16 numv);
-00225 void M3D_rotate(Transformation3D* t, const V3f16* src, V3f16* dest, u16 numv);
-00237 void M3D_rotateInv(Transformation3D* t, const V3f16* src, V3f16* dest);
-00251 void M3D_transform(Transformation3D* t, const V3f16* src, V3f16* dest, u16 numv);
-00252 
-00264 void M3D_project_f16(const V3f16* src, V2f16* dest, u16 numv);
-00276 void M3D_project_s16(const V3f16* src, V2s16* dest, u16 numv);
-00277 
-00278 
-00279 #endif // _MATHS3D_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/maths_8h.html b/doc/html/maths_8h.html deleted file mode 100644 index a188e2d94..000000000 --- a/doc/html/maths_8h.html +++ /dev/null @@ -1,1083 +0,0 @@ - - - - -sgdk: maths.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
maths.h File Reference
-
-
- -

Mathematical methods. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  Vect2D_u16
 2D Vector structure - u16 type. More...
struct  Vect2D_s16
 2D Vector structure - s16 type. More...
struct  Vect2D_u32
 2D Vector structure - u32 type. More...
struct  Vect2D_s32
 2D Vector structure - s32 type. More...
struct  Vect2D_f16
 2D Vector structure - f16 (fix16) type. More...
struct  Vect2D_f32
 2D Vector structure - f32 (fix32) type. More...
struct  Mat2D_f16
 2x2 Matrice structure - f16 (fix16) type.
- Internally uses 2 2D vectors. More...
struct  Mat2D_f32
 2x2 Matrice structure - f32 (fix32) type.
- Internally uses 2 2D vectors. More...
struct  Vect3D_u16
 3D Vector structure - u16 type. More...
struct  Vect3D_s16
 3D Vector structure - s16 type. More...
struct  Vect3D_u32
 3D Vector structure - u32 type. More...
struct  Vect3D_s32
 3D Vector structure - s32 type. More...
struct  Vect3D_f16
 3D Vector structure - f16 (fix16) type. More...
struct  Vect3D_f32
 3D Vector structure - f32 (fix32) type. More...
struct  Mat3D_f16
 3x3 Matrice structure - f16 (fix16) type.
- Internally uses 3 3D vectors. More...
struct  Mat3D_f32
 3x3 Matrice structure - f32 (fix32) type.
- Internally uses 3 3D vectors. More...
struct  Vect4D_f16
 4D Vector structure - f16 (fix16) type. More...
struct  Vect4D_f32
 4D Vector structure - f32 (fix32) type. More...
struct  Mat4D_f16
 4x4 Matrice structure - f16 (fix16) type.
- Internally uses 4 4D vectors. More...
struct  Mat4D_f32
 4x4 Matrice structure - f32 (fix32) type.
- Internally uses 4 4D vectors. More...

-Defines

-#define min(X, Y)   (((X) < (Y))?(X):(Y))
 Returns the lowest value between X an Y.
-#define max(X, Y)   (((X) > (Y))?(X):(Y))
 Returns the highest value between X an Y.
-#define clamp(X, L, H)   (min(max((X), (L)), (H)))
 Returns L if X is less than L, H if X is greater than H or X if in between L and H.
-#define abs(X)   (((X) < 0)?-(X):(X))
 Returns the absolute value of X.
-#define PI   3.14159265358979323846
 PI number (3,1415..)
-#define FIX16_INT_BITS   10
-#define FIX16_FRAC_BITS   (16 - FIX16_INT_BITS)
-#define FIX16_INT_MASK   (((1 << FIX16_INT_BITS) - 1) << FIX16_FRAC_BITS)
-#define FIX16_FRAC_MASK   ((1 << FIX16_FRAC_BITS) - 1)
-#define FIX32_INT_BITS   22
-#define FIX32_FRAC_BITS   (32 - FIX32_INT_BITS)
-#define FIX32_INT_MASK   (((1 << FIX32_INT_BITS) - 1) << FIX32_FRAC_BITS)
-#define FIX32_FRAC_MASK   ((1 << FIX32_FRAC_BITS) - 1)
-#define FASTFIX16_INT_BITS   8
-#define FASTFIX16_FRAC_BITS   (16 - FASTFIX16_INT_BITS)
-#define FASTFIX16_INT_MASK   (((1 << FASTFIX16_INT_BITS) - 1) << FASTFIX16_FRAC_BITS)
-#define FASTFIX16_FRAC_MASK   ((1 << FASTFIX16_FRAC_BITS) - 1)
-#define FASTFIX32_INT_BITS   16
-#define FASTFIX32_FRAC_BITS   (32 - FASTFIX32_INT_BITS)
-#define FASTFIX32_INT_MASK   (((1 << FASTFIX32_INT_BITS) - 1) << FASTFIX32_FRAC_BITS)
-#define FASTFIX32_FRAC_MASK   ((1 << FASTFIX32_FRAC_BITS) - 1)
#define FIX16(value)   ((fix16) ((value) * (1 << FIX16_FRAC_BITS)))
 Convert specified value to fix16.
#define FIX32(value)   ((fix32) ((value) * (1 << FIX32_FRAC_BITS)))
 Convert specified value to fix32.
#define FASTFIX16(value)   ((fastfix16) ((value) * (1 << FASTFIX16_FRAC_BITS)))
 Convert specified value to "fast" fix16.
#define FASTFIX32(value)   ((fastfix32) ((value) * (1 << FASTFIX32_FRAC_BITS)))
 Convert specified value to "fast" fix32.
-#define fix16Add(a, b)   _Pragma("GCC error \"This method is deprecated, simply use '+' operator to add fix16 values together.\"")
-#define fix16Sub(a, b)   _Pragma("GCC error \"This method is deprecated, simply use '-' operator to subtract fix16 values.\"")
-#define fix16Neg(a)   _Pragma("GCC error \"This method is deprecated, simply use '0 - value' to get the negative fix16 value.\"")
-#define fix32Add(a, b)   _Pragma("GCC error \"This method is deprecated, simply use '+' operator to add fix32 values together.\"")
-#define fix32Sub(a, b)   _Pragma("GCC error \"This method is deprecated, simply use '-' operator to subtract fix32 values.\"")
-#define fix32Neg(a)   _Pragma("GCC error \"This method is deprecated, simply use '0 - value' to get the negative fix32 value.\"")
#define distance_approx(dx, dy)   _Pragma("GCC error \"This method is deprecated, use getApproximatedDistance(..) instead.\"")

-Typedefs

-typedef Vect2D_u16 V2u16
 alias for Vect2D_u16
-typedef Vect2D_s16 V2s16
 alias for Vect2D_s16
-typedef Vect2D_u32 V2u32
 alias for Vect2D_u32
-typedef Vect2D_s32 V2s32
 alias for Vect2D_s32
-typedef Vect2D_f16 V2f16
 alias for Vect2D_f16
-typedef Vect2D_f32 V2f32
 alias for Vect2D_f32
-typedef Vect3D_u16 V3u16
 alias for Vect3D_u16
-typedef Vect3D_s16 V3s16
 alias for Vect3D_s16
-typedef Vect3D_u32 V3u32
 alias for Vect3D_u32
-typedef Vect3D_s32 V3s32
 alias for Vect3D_s32
-typedef Vect3D_f16 V3f16
 alias for Vect3D_f16
-typedef Vect3D_f32 V3f32
 alias for Vect3D_f32
-typedef Vect4D_f16 V4f16
 alias for Vect4D_f16
-typedef Vect4D_f32 V4f32
 alias for Vect4D_f32
-typedef Mat2D_f16 M2f16
 alias for Mat2D_f16
-typedef Mat2D_f32 M2f32
 alias for Mat2D_f32
-typedef Mat3D_f16 M3f16
 alias for Mat3D_f16
-typedef Mat3D_f32 M3f32
 alias for Mat3D_f32
-typedef Mat4D_f16 M4f16
 alias for Mat4D_f16
-typedef Mat4D_f32 M4f32
 alias for Mat4D_f32

-Functions

u32 mulu (u16 op1, u16 op2)
 16x16=32 unsigned multiplication. Force GCC to use proper 68000 mulu instruction.
s32 muls (s16 op1, s16 op2)
 16x16=32 signed multiplication. Force GCC to use proper 68000 muls instruction.
u16 divu (u32 op1, u16 op2)
 Direct divu instruction (unsigned 32/16=16:16) access using inline assembly to process op1/op2 operation.
s16 divs (s32 op1, s16 op2)
 Direct divs instruction (signed 32/16=16:16) access using inline assembly to process op1/op2 operation.
u16 modu (u32 op1, u16 op2)
 Direct divu instruction (unsigned 32/16=16:16) access using inline assembly.
s16 mods (s32 op1, s16 op2)
 Direct divs instruction (signed 32/16=16:16) access using inline assembly.
u32 divmodu (u32 op1, u16 op2)
 Direct divu instruction (unsigned 32/16=16:16) access using inline assembly to process op1/op2 operation and op1op2 at same time.
s32 divmods (s32 op1, s16 op2)
 Direct divs instruction (signed 32/16=16:16) access using inline assembly to process op1/op2 operation and op1op2 at same time.
-fix16 intToFix16 (s16 value)
 Convert integer to fix16.
-s16 fix16ToInt (fix16 value)
 Convert fix16 to integer.
-fix32 fix16ToFix32 (fix16 value)
 Convert specified fix16 value to fix32.
-fix16 fix16Round (fix16 value)
 Round the specified value to nearest integer (fix16).
-s16 fix16ToRoundedInt (fix16 value)
 Round and convert the specified fix16 value to integer.
-fix16 fix16Frac (fix16 value)
 Return fractional part of the specified value (fix16).
-fix16 fix16Int (fix16 value)
 Return integer part of the specified value (fix16).
-fix16 fix16Mul (fix16 val1, fix16 val2)
 Compute and return the result of the multiplication of val1 and val2 (fix16).
-fix16 fix16Div (fix16 val1, fix16 val2)
 Compute and return the result of the division of val1 by val2 (fix16).
-fix16 fix16Avg (fix16 val1, fix16 val2)
 Compute and return the result of the average of val1 by val2 (fix16).
-fix16 fix16Log2 (fix16 value)
 Compute and return the result of the Log2 of specified value (fix16).
-fix16 fix16Log10 (fix16 value)
 Compute and return the result of the Log10 of specified value (fix16).
-fix16 fix16Sqrt (fix16 value)
 Compute and return the result of the root square of specified value (fix16).
-fix16 sinFix16 (u16 value)
 Compute sinus of specified value and return it as fix16.
- The input value is an integer defined as [0..1024] range corresponding to radian [0..2PI] range.
-fix16 cosFix16 (u16 value)
 Compute cosinus of specified value and return it as fix16.
- The input value is an integer defined as [0..1024] range corresponding to radian [0..2PI] range.
-fix32 intToFix32 (s32 value)
 Convert integer to fix32.
-s32 fix32ToInt (fix32 value)
 Convert fix32 to integer.
-fix16 fix32ToFix16 (fix32 value)
 Convert specified fix32 value to fix16.
-fix32 fix32Round (fix32 value)
 Round the specified value to nearest integer (fix32).
-s32 fix32ToRoundedInt (fix32 value)
 Round and convert the specified fix32 value to integer.
-fix32 fix32Frac (fix32 value)
 Return fractional part of the specified value (fix32).
-fix32 fix32Int (fix32 value)
 Return integer part of the specified value (fix32).
-fix32 fix32Mul (fix32 val1, fix32 val2)
 Compute and return the result of the multiplication of val1 and val2 (fix32).
- WARNING: result can easily overflow so its recommended to stick with fix16 type for mul and div operations.
-fix32 fix32Div (fix32 val1, fix32 val2)
 Compute and return the result of the division of val1 by val2 (fix32).
- WARNING: result can easily overflow so its recommended to stick with fix16 type for mul and div operations.
-fix32 fix32Avg (fix32 val1, fix32 val2)
 Compute and return the result of the average of val1 by val2 (fix32).
-fix32 sinFix32 (u16 value)
 Compute sinus of specified value and return it as fix32.
- The input value is an integer defined as [0..1024] range corresponding to radian [0..2PI] range.
-fix32 cosFix32 (u16 value)
 Compute cosinus of specified value and return it as fix32.
- The input value is an integer defined as [0..1024] range corresponding to radian [0..2PI] range.
-fastfix16 intToFastFix16 (s16 value)
 Convert integer to fastfix16.
-s16 fastFix16ToInt (fastfix16 value)
 Convert fastfix16 to integer.
-fastfix16 fastFix16Round (fastfix16 value)
 Round the specified value to nearest integer (fastfix16).
-s16 fastFix16ToRoundedInt (fastfix16 value)
 Round and convert the specified fastfix16 value to integer (fastfix16).
-fastfix16 fastFix16Frac (fastfix16 value)
 Return fractional part of the specified value (fastfix16).
-fastfix16 fastFix16Int (fastfix16 value)
 Return integer part of the specified value (fastfix16).
-fastfix16 fastFix16Mul (fastfix16 val1, fastfix16 val2)
 Compute and return the result of the multiplication of val1 and val2 (fastfix16).
-fastfix16 fastFix16Div (fastfix16 val1, fastfix16 val2)
 Compute and return the result of the division of val1 by val2 (fastfix16).
-fastfix32 intToFastFix32 (s16 value)
 Convert integer to fastfix32.
-s16 fastFix32ToInt (fastfix32 value)
 Convert fastfix32 to integer.
-fastfix32 fastFix32Round (fastfix32 value)
 Round the specified value to nearest integer (fastfix32).
-s32 fastFix32ToRoundedInt (fastfix32 value)
 Round and convert the specified fastfix32 value to integer.
-fastfix32 fastFix32Frac (fastfix32 value)
 Return fractional part of the specified value (fastfix32).
-fastfix32 fastFix32Int (fastfix32 value)
 Return integer part of the specified value (fastfix32).
-fastfix32 fastFix32Mul (fastfix32 val1, fastfix32 val2)
 Compute and return the result of the multiplication of val1 and val2 (fastfix32).
- WARNING: result can easily overflow so its recommended to stick with fix16 type for mul and div operations.
-fastfix32 fastFix32Div (fastfix32 val1, fastfix32 val2)
 Compute and return the result of the division of val1 by val2 (fastfix32).
- WARNING: result can easily overflow so its recommended to stick with fix16 type for mul and div operations.
u32 intToBCD (u32 value)
 Binary to Decimal conversion.
u32 getApproximatedDistance (s32 dx, s32 dy)
 Return euclidean distance approximation for specified vector.
- The returned distance is not 100% perfect but calculation is fast.
u32 getApproximatedDistanceV (V2s32 *v)
 Return euclidean distance approximation for specified vector.
- The returned distance is not 100% perfect but calculation is fast.
s32 getApproximatedLog2 (s32 value)
 Return 16.16 fixed point *approximation* of log2 of the specified 16.16 fixed point value. Ex:
- getLog2(1 << 16) = 0
- getLog2(12345 << 16) = ~9.5 (real value = ~13.6)
-
u16 getLog2Int (u32 value)
 Return integer log2 of specified 32 bits unsigned value. Ex:
- getLog2Int(1024) = 10
- getLog2Int(12345) = 13
-
u32 getNextPow2 (u32 value)
 Return next pow2 value which is greater than specified 32 bits unsigned value. Ex:
- getNextPow2(700) = 1024
- getNextPow2(18) = 32
-

-Variables

-const fix32 sintab_f32 [1024]
-const fix16 sintab_f16 [1024]
-const fix16 log2tab_f16 [0x10000]
-const fix16 log10tab_f16 [0x10000]
-const fix16 sqrttab_f16 [0x10000]
-

Detailed Description

-

Mathematical methods.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides basic maths methods.
- You can find a tutorial about how use maths with SGDK here.
-

-

Define Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
#define distance_approx( dx,
 dy 
)   _Pragma("GCC error \"This method is deprecated, use getApproximatedDistance(..) instead.\"")
-
-
-
Deprecated:
Use getApproximatedDistance(..) instead.
- -
-
- -
-
- - - - - - - - -
#define FASTFIX16( value)   ((fastfix16) ((value) * (1 << FASTFIX16_FRAC_BITS)))
-
-
- -

Convert specified value to "fast" fix16.

-

EX:
- ff16 v = FASTFIX16(-27.12);

- -
-
- -
-
- - - - - - - - -
#define FASTFIX32( value)   ((fastfix32) ((value) * (1 << FASTFIX32_FRAC_BITS)))
-
-
- -

Convert specified value to "fast" fix32.

-

EX:
- ff32 v = FASTFIX32(34.567);

- -
-
- -
-
- - - - - - - - -
#define FIX16( value)   ((fix16) ((value) * (1 << FIX16_FRAC_BITS)))
-
-
- -

Convert specified value to fix16.

-

EX:
- f16 v = FIX16(-27.12);

- -
-
- -
-
- - - - - - - - -
#define FIX32( value)   ((fix32) ((value) * (1 << FIX32_FRAC_BITS)))
-
-
- -

Convert specified value to fix32.

-

EX:
- f32 v = FIX32(34.567);

- -
-
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
s32 divmods (s32 op1,
s16 op2 
)
-
-
- -

Direct divs instruction (signed 32/16=16:16) access using inline assembly to process op1/op2 operation and op1op2 at same time.

-
Parameters:
- - - -
op1first operand - dividende (32 bit)
op2second operand - divisor (16 bit)
-
-
-
Returns:
16 bit (signed) result of the division in low 16 bit (0-15) and 16 bit (signed) result of the modulo operation in high 16 bit (16-31)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u32 divmodu (u32 op1,
u16 op2 
)
-
-
- -

Direct divu instruction (unsigned 32/16=16:16) access using inline assembly to process op1/op2 operation and op1op2 at same time.

-
Parameters:
- - - -
op1first operand - dividende (32 bit)
op2second operand - divisor (16 bit)
-
-
-
Returns:
16 bit (unsigned) result of the division in low 16 bit (0-15) and 16 bit (unsigned) result of the modulo operation in high 16 bit (16-31)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
s16 divs (s32 op1,
s16 op2 
)
-
-
- -

Direct divs instruction (signed 32/16=16:16) access using inline assembly to process op1/op2 operation.

-
Parameters:
- - - -
op1first operand (32 bit)
op2second operand (16 bit)
-
-
-
Returns:
16 bit (signed) result of the division
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u16 divu (u32 op1,
u16 op2 
)
-
-
- -

Direct divu instruction (unsigned 32/16=16:16) access using inline assembly to process op1/op2 operation.

-
Parameters:
- - - -
op1first operand - dividende (32 bit)
op2second operand - divisor (16 bit)
-
-
-
Returns:
16 bit (unsigned) result of the division
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u32 getApproximatedDistance (s32 dx,
s32 dy 
)
-
-
- -

Return euclidean distance approximation for specified vector.
- The returned distance is not 100% perfect but calculation is fast.

-
Parameters:
- - - -
dxdelta X.
dydelta Y.
-
-
- -
-
- -
-
- - - - - - - - -
u32 getApproximatedDistanceV (V2s32v)
-
-
- -

Return euclidean distance approximation for specified vector.
- The returned distance is not 100% perfect but calculation is fast.

-
Parameters:
- - -
v2D vector.
-
-
- -
-
- -
-
- - - - - - - - -
s32 getApproximatedLog2 (s32 value)
-
-
- -

Return 16.16 fixed point *approximation* of log2 of the specified 16.16 fixed point value. Ex:
- getLog2(1 << 16) = 0
- getLog2(12345 << 16) = ~9.5 (real value = ~13.6)
-

-
Parameters:
- - -
value16.16 fixed point value to return log2 of
-
-
- -
-
- -
-
- - - - - - - - -
u16 getLog2Int (u32 value)
-
-
- -

Return integer log2 of specified 32 bits unsigned value. Ex:
- getLog2Int(1024) = 10
- getLog2Int(12345) = 13
-

-
Parameters:
- - -
valuevalue to return log2 of
-
-
- -
-
- -
-
- - - - - - - - -
u32 getNextPow2 (u32 value)
-
-
- -

Return next pow2 value which is greater than specified 32 bits unsigned value. Ex:
- getNextPow2(700) = 1024
- getNextPow2(18) = 32
-

-
Parameters:
- - -
valuevalue to return next pow2
-
-
- -
-
- -
-
- - - - - - - - -
u32 intToBCD (u32 value)
-
-
- -

Binary to Decimal conversion.

-
Parameters:
- - -
valueValue to convert.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
s16 mods (s32 op1,
s16 op2 
)
-
-
- -

Direct divs instruction (signed 32/16=16:16) access using inline assembly.

-
Parameters:
- - - -
op1first operand (32 bit)
op2second operand (16 bit)
-
-
-
Returns:
16 bit (signed) modulo result of the division
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u16 modu (u32 op1,
u16 op2 
)
-
-
- -

Direct divu instruction (unsigned 32/16=16:16) access using inline assembly.

-
Parameters:
- - - -
op1first operand (32 bit)
op2second operand (16 bit)
-
-
-
Returns:
16 bit (unsigned) modulo result of the division
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
s32 muls (s16 op1,
s16 op2 
)
-
-
- -

16x16=32 signed multiplication. Force GCC to use proper 68000 muls instruction.

-
Parameters:
- - - -
op1first operand
op2second operand
-
-
-
Returns:
32 bit (signed) result of multiply
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u32 mulu (u16 op1,
u16 op2 
)
-
-
- -

16x16=32 unsigned multiplication. Force GCC to use proper 68000 mulu instruction.

-
Parameters:
- - - -
op1first operand
op2second operand
-
-
-
Returns:
32 bit (unsigned) result of multiply
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/maths_8h_source.html b/doc/html/maths_8h_source.html deleted file mode 100644 index 5a64b7a4f..000000000 --- a/doc/html/maths_8h_source.html +++ /dev/null @@ -1,451 +0,0 @@ - - - - -sgdk: maths.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
maths.h
-
-
-Go to the documentation of this file.
00001 
-00011 #ifndef _MATHS_H_
-00012 #define _MATHS_H_
-00013 
-00014 
-00015 extern const fix32 sintab_f32[1024];
-00016 extern const fix16 sintab_f16[1024];
-00017 
-00018 extern const fix16 log2tab_f16[0x10000];
-00019 extern const fix16 log10tab_f16[0x10000];
-00020 extern const fix16 sqrttab_f16[0x10000];
-00021 
-00022 
-00027 #define min(X, Y)   (((X) < (Y))?(X):(Y))
-00028 
-00033 #define max(X, Y)   (((X) > (Y))?(X):(Y))
-00034 
-00039 #define clamp(X, L, H)   (min(max((X), (L)), (H)))
-00040 
-00041 #if (ENABLE_NEWLIB == 0)
-00042 
-00046 #define abs(X)      (((X) < 0)?-(X):(X))
-00047 #endif  // ENABLE_NEWLIB
-00048 
-00049 #ifndef PI
-00050 
-00054 #define PI 3.14159265358979323846
-00055 #endif
-00056 
-00057 
-00058 #define FIX16_INT_BITS              10
-00059 #define FIX16_FRAC_BITS             (16 - FIX16_INT_BITS)
-00060 
-00061 #define FIX16_INT_MASK              (((1 << FIX16_INT_BITS) - 1) << FIX16_FRAC_BITS)
-00062 #define FIX16_FRAC_MASK             ((1 << FIX16_FRAC_BITS) - 1)
-00063 
-00064 
-00065 #define FIX32_INT_BITS              22
-00066 #define FIX32_FRAC_BITS             (32 - FIX32_INT_BITS)
-00067 
-00068 #define FIX32_INT_MASK              (((1 << FIX32_INT_BITS) - 1) << FIX32_FRAC_BITS)
-00069 #define FIX32_FRAC_MASK             ((1 << FIX32_FRAC_BITS) - 1)
-00070 
-00071 
-00072 #define FASTFIX16_INT_BITS          8
-00073 #define FASTFIX16_FRAC_BITS         (16 - FASTFIX16_INT_BITS)
-00074 
-00075 #define FASTFIX16_INT_MASK          (((1 << FASTFIX16_INT_BITS) - 1) << FASTFIX16_FRAC_BITS)
-00076 #define FASTFIX16_FRAC_MASK         ((1 << FASTFIX16_FRAC_BITS) - 1)
-00077 
-00078 
-00079 #define FASTFIX32_INT_BITS          16
-00080 #define FASTFIX32_FRAC_BITS         (32 - FASTFIX32_INT_BITS)
-00081 
-00082 #define FASTFIX32_INT_MASK          (((1 << FASTFIX32_INT_BITS) - 1) << FASTFIX32_FRAC_BITS)
-00083 #define FASTFIX32_FRAC_MASK         ((1 << FASTFIX32_FRAC_BITS) - 1)
-00084 
-00085 
-00093 #define FIX16(value)                ((fix16) ((value) * (1 << FIX16_FRAC_BITS)))
-00094 
-00102 #define FIX32(value)                ((fix32) ((value) * (1 << FIX32_FRAC_BITS)))
-00103 
-00111 #define FASTFIX16(value)                ((fastfix16) ((value) * (1 << FASTFIX16_FRAC_BITS)))
-00112 
-00120 #define FASTFIX32(value)                ((fastfix32) ((value) * (1 << FASTFIX32_FRAC_BITS)))
-00121 
-00122 
-00123 // 2D STUFF
-00124 
-00129 typedef struct
-00130 {
-00131     u16 x;
-00132     u16 y;
-00133 } Vect2D_u16;
-00134 
-00139 typedef struct
-00140 {
-00141     s16 x;
-00142     s16 y;
-00143 } Vect2D_s16;
-00144 
-00149 typedef struct
-00150 {
-00151     u32 x;
-00152     u32 y;
-00153 } Vect2D_u32;
-00154 
-00159 typedef struct
-00160 {
-00161     s32 x;
-00162     s32 y;
-00163 } Vect2D_s32;
-00164 
-00169 typedef struct
-00170 {
-00171     fix16 x;
-00172     fix16 y;
-00173 } Vect2D_f16;
-00174 
-00179 typedef struct
-00180 {
-00181     fix32 x;
-00182     fix32 y;
-00183 } Vect2D_f32;
-00184 
-00190 typedef struct
-00191 {
-00192     Vect2D_f16 a;
-00193     Vect2D_f16 b;
-00194 } Mat2D_f16;
-00195 
-00201 typedef struct
-00202 {
-00203     Vect2D_f32 a;
-00204     Vect2D_f32 b;
-00205 } Mat2D_f32;
-00206 
-00207 
-00208 // 3D STUFF
-00209 
-00214 typedef struct
-00215 {
-00216     u16 x;
-00217     u16 y;
-00218     u16 z;
-00219 } Vect3D_u16;
-00220 
-00225 typedef struct
-00226 {
-00227     s16 x;
-00228     s16 y;
-00229     s16 z;
-00230 } Vect3D_s16;
-00231 
-00236 typedef struct
-00237 {
-00238     u32 x;
-00239     u32 y;
-00240     u32 z;
-00241 } Vect3D_u32;
-00242 
-00247 typedef struct
-00248 {
-00249     s32 x;
-00250     s32 y;
-00251     s32 z;
-00252 } Vect3D_s32;
-00253 
-00258 typedef struct
-00259 {
-00260     fix16 x;
-00261     fix16 y;
-00262     fix16 z;
-00263 } Vect3D_f16;
-00264 
-00269 typedef struct
-00270 {
-00271     fix32 x;
-00272     fix32 y;
-00273     fix32 z;
-00274 } Vect3D_f32;
-00275 
-00281 typedef struct
-00282 {
-00283     Vect3D_f16 a;
-00284     Vect3D_f16 b;
-00285     Vect3D_f16 c;
-00286 } Mat3D_f16;
-00287 
-00293 typedef struct
-00294 {
-00295     Vect3D_f32 a;
-00296     Vect3D_f32 b;
-00297     Vect3D_f32 c;
-00298 } Mat3D_f32;
-00299 
-00300 
-00301 // 4D STUFF
-00302 
-00307 typedef struct
-00308 {
-00309     fix16 x;
-00310     fix16 y;
-00311     fix16 z;
-00312     fix16 w;
-00313 } Vect4D_f16;
-00314 
-00319 typedef struct
-00320 {
-00321     fix32 x;
-00322     fix32 y;
-00323     fix32 z;
-00324     fix32 w;
-00325 } Vect4D_f32;
-00326 
-00332 typedef struct
-00333 {
-00334     Vect4D_f16 a;
-00335     Vect4D_f16 b;
-00336     Vect4D_f16 c;
-00337     Vect4D_f16 d;
-00338 } Mat4D_f16;
-00339 
-00345 typedef struct
-00346 {
-00347     Vect4D_f32 a;
-00348     Vect4D_f32 b;
-00349     Vect4D_f32 c;
-00350     Vect4D_f32 d;
-00351 } Mat4D_f32;
-00352 
-00353 
-00354 // short alias
-00355 
-00359 typedef Vect2D_u16 V2u16;
-00363 typedef Vect2D_s16 V2s16;
-00367 typedef Vect2D_u32 V2u32;
-00371 typedef Vect2D_s32 V2s32;
-00375 typedef Vect2D_f16 V2f16;
-00379 typedef Vect2D_f32 V2f32;
-00380 
-00384 typedef Vect3D_u16 V3u16;
-00388 typedef Vect3D_s16 V3s16;
-00392 typedef Vect3D_u32 V3u32;
-00396 typedef Vect3D_s32 V3s32;
-00400 typedef Vect3D_f16 V3f16;
-00404 typedef Vect3D_f32 V3f32;
-00405 
-00409 typedef Vect4D_f16 V4f16;
-00413 typedef Vect4D_f32 V4f32;
-00414 
-00418 typedef Mat2D_f16 M2f16;
-00422 typedef Mat2D_f32 M2f32;
-00426 typedef Mat3D_f16 M3f16;
-00430 typedef Mat3D_f32 M3f32;
-00434 typedef Mat4D_f16 M4f16;
-00438 typedef Mat4D_f32 M4f32;
-00439 
-00440 
-00451 u32 mulu(u16 op1, u16 op2);
-00462 s32 muls(s16 op1, s16 op2);
-00474 u16 divu(u32 op1, u16 op2);
-00486 s16 divs(s32 op1, s16 op2);
-00497 u16 modu(u32 op1, u16 op2);
-00508 s16 mods(s32 op1, s16 op2);
-00509 
-00522 u32 divmodu(u32 op1, u16 op2);
-00535 s32 divmods(s32 op1, s16 op2);
-00536 
-00537 
-00542 fix16 intToFix16(s16 value);
-00547 s16 fix16ToInt(fix16 value);
-00552 fix32 fix16ToFix32(fix16 value);
-00553 
-00558 fix16 fix16Round(fix16 value);
-00563 s16 fix16ToRoundedInt(fix16 value);
-00568 fix16 fix16Frac(fix16 value);
-00573 fix16 fix16Int(fix16 value);
-00574 
-00575 #define fix16Add(a, b)      _Pragma("GCC error \"This method is deprecated, simply use '+' operator to add fix16 values together.\"")
-00576 #define fix16Sub(a, b)      _Pragma("GCC error \"This method is deprecated, simply use '-' operator to subtract fix16 values.\"")
-00577 #define fix16Neg(a)         _Pragma("GCC error \"This method is deprecated, simply use '0 - value' to get the negative fix16 value.\"")
-00578 
-00583 fix16 fix16Mul(fix16 val1, fix16 val2);
-00588 fix16 fix16Div(fix16 val1, fix16 val2);
-00593 fix16 fix16Avg(fix16 val1, fix16 val2);
-00594 
-00599 fix16 fix16Log2(fix16 value);
-00604 fix16 fix16Log10(fix16 value);
-00609 fix16 fix16Sqrt(fix16 value);
-00610 
-00616 fix16 sinFix16(u16 value);
-00622 fix16 cosFix16(u16 value);
-00623 
-00624 
-00629 fix32 intToFix32(s32 value);
-00634 s32 fix32ToInt(fix32 value);
-00639 fix16 fix32ToFix16(fix32 value);
-00640 
-00645 fix32 fix32Round(fix32 value);
-00650 s32 fix32ToRoundedInt(fix32 value);
-00655 fix32 fix32Frac(fix32 value);
-00660 fix32 fix32Int(fix32 value);
-00661 
-00662 #define fix32Add(a, b)      _Pragma("GCC error \"This method is deprecated, simply use '+' operator to add fix32 values together.\"")
-00663 #define fix32Sub(a, b)      _Pragma("GCC error \"This method is deprecated, simply use '-' operator to subtract fix32 values.\"")
-00664 #define fix32Neg(a)         _Pragma("GCC error \"This method is deprecated, simply use '0 - value' to get the negative fix32 value.\"")
-00665 
-00671 fix32 fix32Mul(fix32 val1, fix32 val2);
-00677 fix32 fix32Div(fix32 val1, fix32 val2);
-00682 fix32 fix32Avg(fix32 val1, fix32 val2);
-00683 
-00689 fix32 sinFix32(u16 value);
-00695 fix32 cosFix32(u16 value);
-00696 
-00697 
-00698 
-00699 
-00700 
-00705 fastfix16 intToFastFix16(s16 value);
-00710 s16 fastFix16ToInt(fastfix16 value);
-00711 
-00716 fastfix16 fastFix16Round(fastfix16 value);
-00721 s16 fastFix16ToRoundedInt(fastfix16 value);
-00726 fastfix16 fastFix16Frac(fastfix16 value);
-00731 fastfix16 fastFix16Int(fastfix16 value);
-00732 
-00737 fastfix16 fastFix16Mul(fastfix16 val1, fastfix16 val2);
-00742 fastfix16 fastFix16Div(fastfix16 val1, fastfix16 val2);
-00743 
-00744 
-00749 fastfix32 intToFastFix32(s16 value);
-00754 s16 fastFix32ToInt(fastfix32 value);
-00755 
-00760 fastfix32 fastFix32Round(fastfix32 value);
-00765 s32 fastFix32ToRoundedInt(fastfix32 value);
-00770 fastfix32 fastFix32Frac(fastfix32 value);
-00775 fastfix32 fastFix32Int(fastfix32 value);
-00776 
-00782 fastfix32 fastFix32Mul(fastfix32 val1, fastfix32 val2);
-00788 fastfix32 fastFix32Div(fastfix32 val1, fastfix32 val2);
-00789 
-00790 
-00791 
-00792 
-00793 
-00794 
-00802 u32 intToBCD(u32 value);
-00803 
-00808 #define distance_approx(dx, dy) _Pragma("GCC error \"This method is deprecated, use getApproximatedDistance(..) instead.\"")
-00809 
-00820 u32 getApproximatedDistance(s32 dx, s32 dy);
-00829 u32 getApproximatedDistanceV(V2s32* v);
-00840 s32 getApproximatedLog2(s32 value);
-00851 u16 getLog2Int(u32 value);
-00852 
-00863 u32 getNextPow2(u32 value);
-00864 
-00865 
-00866 #endif // _MATHS_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/megawifi_8h.html b/doc/html/megawifi_8h.html deleted file mode 100644 index 01beb8e27..000000000 --- a/doc/html/megawifi_8h.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - -sgdk: megawifi.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
megawifi.h File Reference
-
-
- -

MegaWiFi API implementation. -More...

-
#include "16c550.h"
-#include "mw-msg.h"
-#include "lsd.h"
-
-

Go to the source code of this file.

- -
-

Detailed Description

-

MegaWiFi API implementation.

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/megawifi_8h_source.html b/doc/html/megawifi_8h_source.html deleted file mode 100644 index f6367c905..000000000 --- a/doc/html/megawifi_8h_source.html +++ /dev/null @@ -1,458 +0,0 @@ - - - - -sgdk: megawifi.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
megawifi.h
-
-
-Go to the documentation of this file.
00001 /************************************************************************/
-00026 #ifndef _MEGAWIFI_H_
-00027 #define _MEGAWIFI_H_
-00028 
-00029 #include "16c550.h"
-00030 #include "mw-msg.h"
-00031 #include "lsd.h"
-00032 
-00033 #if (MODULE_MEGAWIFI != 0)
-00034 
-00035 
-00037 #define MW_API_VERSION_MAJOR    1
-00038 
-00040 #define MW_API_VERSION_MINOR    5
-00041 
-00043 #define MW_COMMAND_TOUT_MS      1000
-00044 
-00045 #define MW_CONNECT_TOUT_MS      10000
-00046 
-00047 #define MW_HTTP_OPEN_TOUT_MS    10000
-00048 
-00049 #define MW_SCAN_TOUT_MS         10000
-00050 
-00051 #define MW_ASSOC_TOUT_MS        20000
-00052 
-00053 #define MW_ASSOC_WAIT_SLEEP_MS  5000
-00054 
-00055 #define MW_UPGRADE_TOUT_MS      180000
-00056 
-00057 #define MW_STAT_POLL_MS         250
-00058 
-00060 enum mw_err {
-00061         MW_ERR_NONE = 0,                
-00062         MW_ERR,                         
-00063         MW_ERR_NOT_READY,               
-00064         MW_ERR_BUFFER_TOO_SHORT,        
-00065         MW_ERR_PARAM,                   
-00066         MW_ERR_SEND,                    
-00067         MW_ERR_RECV                     
-00068 };
-00069 
-00071 enum mw_http_method {
-00072     MW_HTTP_METHOD_GET = 0,    
-00073     MW_HTTP_METHOD_POST,       
-00074     MW_HTTP_METHOD_PUT,        
-00075     MW_HTTP_METHOD_PATCH,      
-00076     MW_HTTP_METHOD_DELETE,     
-00077     MW_HTTP_METHOD_HEAD,       
-00078     MW_HTTP_METHOD_NOTIFY,     
-00079     MW_HTTP_METHOD_SUBSCRIBE,  
-00080     MW_HTTP_METHOD_UNSUBSCRIBE,
-00081     MW_HTTP_METHOD_OPTIONS,    
-00082     MW_HTTP_METHOD_MAX,
-00083 };
-00084 
-00088 #define MW__RESET       UART_MCR__OUT1  ///< Reset out.
-00089 #define MW__PRG         UART_MCR__OUT2  ///< Program out.
-00090 #define MW__PD          UART_MCR__DTR   ///< Power Down out.
-00091 #define MW__DAT         UART_MSR__DSR   ///< Data request in.
-00092 
-00094 
-00095 #define MW_SSID_MAXLEN          32
-00096 
-00097 #define MW_PASS_MAXLEN          64
-00098 
-00099 #define MW_NTP_POOL_MAXLEN      80
-00100 
-00101 #define MW_NUM_CFG_SLOTS        3
-00102 
-00103 #define MW_NUM_DNS_SERVERS      2
-00104 
-00105 #define MW_FSM_QUEUE_LEN        8
-00106 
-00107 #define MW_MAX_SOCK                     3
-00108 
-00109 #define MW_CTRL_CH                      0
-00110 
-00111 #define MW_HTTP_CH                      LSD_MAX_CH - 1
-00112 
-00116 #define MW_CMD_MIN_BUFLEN       168
-00117 
-00119 struct mw_ap_data {
-00120         enum mw_security auth;  
-00121         uint8_t channel;        
-00122         int8_t rssi;            
-00123         uint8_t ssid_len;       
-00124         char *ssid;             
-00125 };
-00126 
-00128 enum mw_if_type {
-00129         MW_IF_STATION = 0,      
-00130         MW_IF_SOFTAP,           
-00131         MW_IF_MAX               
-00132 };
-00133 
-00134 /************************************************************************/
-00143 int16_t mw_init(uint16_t *cmd_buf, uint16_t buf_len);
-00144 
-00145 /************************************************************************/
-00153 static inline void mw_process(void)     {lsd_process();}
-00154 
-00155 /************************************************************************/
-00165 void mw_cmd_data_cb_set(lsd_recv_cb cmd_recv_cb);
-00166 
-00167 /************************************************************************/
-00177 enum mw_err mw_detect(uint8_t *major, uint8_t *minor, char **variant);
-00178 
-00179 /************************************************************************/
-00187 enum mw_err mw_version_get(uint8_t version[3], char **variant);
-00188 
-00189 /************************************************************************/
-00196 uint8_t *mw_bssid_get(enum mw_if_type interface_type);
-00197 
-00198 /************************************************************************/
-00206 enum mw_err mw_default_cfg_set(void);
-00207 
-00208 /************************************************************************/
-00223 enum mw_err mw_ap_cfg_set(uint8_t slot, const char *ssid, const char *pass,
-00224                  enum mw_phy_type phy_type);
-00225 
-00226 /************************************************************************/
-00240 enum mw_err mw_ap_cfg_get(uint8_t slot, char **ssid, char **pass,
-00241                 enum mw_phy_type *phy_type);
-00242 
-00243 /************************************************************************/
-00254 enum mw_err mw_ip_cfg_set(uint8_t slot, const struct mw_ip_cfg *ip);
-00255 
-00256 /************************************************************************/
-00264 enum mw_err mw_ip_cfg_get(uint8_t slot, struct mw_ip_cfg **ip);
-00265 
-00266 /************************************************************************/
-00282 enum mw_err mw_wifi_adv_cfg_set(const struct mw_wifi_adv_cfg *wifi);
-00283 
-00284 /************************************************************************/
-00289 struct mw_wifi_adv_cfg *mw_wifi_adv_cfg_get(void);
-00290 
-00291 /************************************************************************/
-00296 enum mw_err mw_cfg_save(void);
-00297 
-00298 /************************************************************************/
-00305 enum mw_err mw_ip_current(struct mw_ip_cfg **ip);
-00306 
-00307 /************************************************************************/
-00318 int16_t mw_ap_scan(enum mw_phy_type phy_type, char **ap_data, uint8_t *aps);
-00319 
-00320 /************************************************************************/
-00336 int16_t mw_ap_fill_next(const char *ap_data, uint16_t pos,
-00337                 struct mw_ap_data *apd, uint16_t data_len);
-00338 
-00339 /************************************************************************/
-00346 enum mw_err mw_ap_assoc(uint8_t slot);
-00347 
-00348 /************************************************************************/
-00358 enum mw_err mw_ap_assoc_wait(int16_t tout_frames);
-00359 
-00360 /************************************************************************/
-00370 enum mw_err mw_def_ap_cfg(uint8_t slot);
-00371 
-00372 /************************************************************************/
-00377 enum mw_err mw_ap_disassoc(void);
-00378 
-00379 /************************************************************************/
-00384 int16_t mw_def_ap_cfg_get(void);
-00385 
-00386 /************************************************************************/
-00397 enum mw_err mw_tcp_connect(uint8_t ch, const char *dst_addr,
-00398                 const char *dst_port, const char *src_port);
-00399 
-00400 /************************************************************************/
-00410 enum mw_err mw_close(uint8_t ch);
-00411 
-00413 #define mw_tcp_disconnect(ch)   mw_close(ch)
-00414 
-00415 /************************************************************************/
-00427 enum mw_err mw_udp_set(uint8_t ch, const char *dst_addr, const char *dst_port,
-00428                 const char *src_port);
-00429 
-00431 #define mw_udp_unset(ch)        mw_close(ch)
-00432 
-00433 /************************************************************************/
-00443 enum mw_err mw_tcp_bind(uint8_t ch, uint16_t port);
-00444 
-00445 /************************************************************************/
-00455 enum mw_err mw_sock_conn_wait(uint8_t ch, int16_t tout_frames);
-00456 
-00457 /************************************************************************/
-00467 static inline enum lsd_status mw_recv(char *buf, int16_t len, void *ctx,
-00468                 lsd_recv_cb recv_cb)
-00469 {
-00470         return lsd_recv(buf, len, ctx, recv_cb);
-00471 }
-00472 
-00473 /************************************************************************/
-00484 static inline enum lsd_status mw_udp_reuse_recv(struct mw_reuse_payload *data,
-00485                 int16_t len, void *ctx, lsd_recv_cb recv_cb)
-00486 {
-00487         return lsd_recv((char*)data, len, ctx, recv_cb);
-00488 }
-00489 
-00490 /************************************************************************/
-00502 static inline enum lsd_status mw_udp_reuse_send(uint8_t ch,
-00503                 const struct mw_reuse_payload *data, int16_t len, void *ctx,
-00504                 lsd_send_cb send_cb)
-00505 {
-00506         return lsd_send(ch, (const char*)data, len, ctx, send_cb);
-00507 }
-00508 
-00509 /************************************************************************/
-00527 static inline enum lsd_status mw_send(uint8_t ch, const char *data, int16_t len,
-00528                 void *ctx, lsd_send_cb send_cb)
-00529 {
-00530         return lsd_send(ch, data, len, ctx, send_cb);
-00531 }
-00532 
-00533 /************************************************************************/
-00547 enum mw_err mw_recv_sync(uint8_t *ch, char *buf, int16_t *buf_len,
-00548                 int16_t tout_frames);
-00549 
-00550 /************************************************************************/
-00565 enum mw_err mw_send_sync(uint8_t ch, const char *data, uint16_t len,
-00566                 int16_t tout_frames);
-00567 
-00568 /************************************************************************/
-00573 union mw_msg_sys_stat *mw_sys_stat_get(void);
-00574 
-00575 /************************************************************************/
-00582 enum mw_sock_stat mw_sock_stat_get(uint8_t ch);
-00583 
-00584 /************************************************************************/
-00596 enum mw_err mw_sntp_cfg_set(const char *tz_str, const char *server[3]);
-00597 
-00598 /************************************************************************/
-00607 enum mw_err mw_sntp_cfg_get(char **tz_str, char *server[3]);
-00608 
-00609 /************************************************************************/
-00619 char *mw_date_time_get(uint32_t dt_bin[2]);
-00620 
-00621 /************************************************************************/
-00629 enum mw_err mw_flash_id_get(uint8_t *man_id, uint16_t *dev_id);
-00630 
-00631 /************************************************************************/
-00639 enum mw_err mw_flash_sector_erase(uint16_t sect);
-00640 
-00641 /************************************************************************/
-00650 enum mw_err mw_flash_write(uint32_t addr, uint8_t *data, uint16_t data_len);
-00651 
-00652 /************************************************************************/
-00660 uint8_t *mw_flash_read(uint32_t addr, uint16_t data_len);
-00661 
-00662 /************************************************************************/
-00665 #define mw_module_reset()       do{uart_set_bits(MCR, MW__RESET);}while(0)
-00666 
-00667 /************************************************************************/
-00670 #define mw_module_start()       do{uart_clr_bits(MCR, MW__RESET);}while(0)
-00671 
-00672 /************************************************************************/
-00683 enum mw_err mw_gamertag_set(uint8_t slot, const struct mw_gamertag *gamertag);
-00684 
-00685 /************************************************************************/
-00692 struct mw_gamertag *mw_gamertag_get(uint8_t slot);
-00693 
-00694 /************************************************************************/
-00701 enum mw_err mw_log(const char *msg);
-00702 
-00703 /************************************************************************/
-00709 enum mw_err mw_factory_settings(void);
-00710 
-00711 /************************************************************************/
-00717 void mw_power_off(void);
-00718 
-00719 /************************************************************************/
-00724 void mw_sleep(int16_t frames);
-00725 
-00726 /************************************************************************/
-00733 enum mw_err mw_http_url_set(const char *url);
-00734 
-00735 /************************************************************************/
-00742 enum mw_err mw_http_method_set(enum mw_http_method method);
-00743 
-00744 /************************************************************************/
-00752 enum mw_err mw_http_header_add(const char *key, const char *value);
-00753 
-00754 /************************************************************************/
-00761 enum mw_err mw_http_header_del(const char *key);
-00762 
-00763 /************************************************************************/
-00775 enum mw_err mw_http_open(uint32_t content_len);
-00776 
-00777 /************************************************************************/
-00795 int16_t mw_http_finish(uint32_t *content_len, int16_t tout_frames);
-00796 
-00797 /************************************************************************/
-00803 uint32_t mw_http_cert_query(void);
-00804 
-00805 /************************************************************************/
-00822 enum mw_err mw_http_cert_set(uint32_t cert_hash, const char *cert,
-00823                 uint16_t cert_len);
-00824 
-00825 /************************************************************************/
-00830 int16_t mw_http_cleanup(void);
-00831 
-00832 /************************************************************************/
-00837 char *mw_def_server_get(void);
-00838 
-00839 /************************************************************************/
-00849 enum mw_err mw_def_server_set(const char *server_url);
-00850 
-00851 /************************************************************************/
-00859 uint8_t *mw_hrng_get(uint16_t rnd_len);
-00860 
-00861 /************************************************************************/
-00873 enum mw_err mw_ga_endpoint_set(const char *endpoint, const char *priv_key);
-00874 
-00875 /************************************************************************/
-00893 enum mw_err mw_ga_key_value_add(const char **key, const char **value,
-00894                 uint16_t num_pairs);
-00895 
-00896 /************************************************************************/
-00926 int16_t mw_ga_request(enum mw_http_method method, const char **path,
-00927                 uint8_t num_paths, const char **key, const char **value,
-00928                 uint8_t num_kv_pairs, uint32_t *content_len,
-00929                 int16_t tout_frames);
-00930 
-00931 /************************************************************************/
-00939 enum mw_err mw_fw_upgrade(const char *name);
-00940 
-00941 /****** THE FOLLOWING COMMANDS ARE LOWER LEVEL AND USUALLY NOT NEEDED ******/
-00942 
-00943 /************************************************************************/
-00952 static inline enum lsd_status mw_cmd_send(mw_cmd *cmd, void *ctx,
-00953                 lsd_send_cb send_cb)
-00954 {
-00955         // Send data on control channel (0).
-00956         return lsd_send(MW_CTRL_CH, cmd->packet, cmd->data_len + 4,
-00957                         ctx, send_cb);
-00958 }
-00959 
-00960 /************************************************************************/
-00969 static inline enum lsd_status mw_cmd_recv(mw_cmd *rep, void *ctx,
-00970                 lsd_recv_cb recv_cb) {
-00971         return lsd_recv(rep->packet, sizeof(mw_cmd), ctx, recv_cb);
-00972 }
-00973 
-00974 #endif // MODULE_MEGAWIFI
-00975 
-00976 #endif /*_MEGAWIFI_H_*/
-00977 
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/memory_8h.html b/doc/html/memory_8h.html deleted file mode 100644 index 99a9532c8..000000000 --- a/doc/html/memory_8h.html +++ /dev/null @@ -1,989 +0,0 @@ - - - - -sgdk: memory.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
memory.h File Reference
-
-
- -

Memory handling methods. -More...

-
#include "memory_base.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define GET_DWORDFROMPBYTE(src)   ((src[0] << 24) | (src[1] << 16) | (src[2] << 8) | (src[3] << 0))
 Get u32 from u8 array (BigEndian order).
-#define GET_DWORDFROMPBYTE_LI(src)   ((src[0] << 0) | (src[1] << 8) | (src[2] << 16) | (src[3] << 24))
 Get u32 from u8 array (LittleEndian order).
-#define GET_WORDFROMPBYTE(src)   ((src[0] << 8) | (src[1] << 0))
 Get u16 from u8 array (BigEndian order).
-#define GET_WORDFROMPBYTE_LI(src)   ((src[0] << 0) | (src[1] << 8))
 Get u16 from u8 array (LittleEndian order).
-#define GET_DWORDFROMPWORD(src)   ((src[0] << 16) | (src[1] << 0))
 Get u32 from u16 array (BigEndian order).
-#define GET_DWORDFROMPWORD_LI(src)   ((src[0] << 0) | (src[1] << 16))
 Get u32 from u16 array (LittleEndian order).
#define SWAP_u8(x, y)
 Exchange value of specified u8 variables.
#define SWAP_s8(x, y)
 Exchange value of specified s8 variables.
#define SWAP_u16(x, y)
 Exchange value of specified u16 variables.
#define SWAP_s16(x, y)
 Exchange value of specified s16 variables.
#define SWAP_u32(x, y)
 Exchange value of specified u32 variables.
#define SWAP_s32(x, y)
 Exchange value of specified s32 variables.
-#define malloc(x)   MEM_alloc(x)
-#define free(x)   MEM_free(x)
#define memcpyU16(to, from, len)   _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
#define memcpyU32(to, from, len)   _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
#define fastMemset(to, value, len)   _Pragma("GCC error \"This method is deprecated, use memset(..) instead.\"")
#define fastMemsetU16(to, value, len)   _Pragma("GCC error \"This method is deprecated, use memsetU16(..) instead.\"")
#define fastMemsetU32(to, value, len)   _Pragma("GCC error \"This method is deprecated, use memsetU32(..) instead.\"")
#define astMemcpy(to, from, len)   _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
#define fastMemcpyU16(to, from, len)   _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
#define fastMemcpyU32(to, from, len)   _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")

-Functions

-u16 MEM_getFree (void)
 Return available memory in bytes.
-u16 MEM_getAllocated (void)
 Return allocated memory in bytes.
-u16 MEM_getLargestFreeBlock (void)
 Return largest free memory block in bytes.
void MEM_free (void *ptr)
 Deallocate space in memory.
void * MEM_alloc (u16 size)
 Allocate memory block.
void * MEM_allocAt (u32 addr, u16 size)
 Allocate memory block at a specific address (useful for short addressing or fixed low level working address)
-void MEM_pack (void)
 Pack all free blocks and reset allocation search from start of heap.
- You can call this method before trying to allocate small block of memory to reduce memory fragmentation.
void MEM_dump (void)
 Show memory dump.
void memset (void *to, u8 value, u16 len)
 Fill block of memory.
void memsetU16 (u16 *to, u16 value, u16 len)
 Fill block of memory (optimized for u16)
void memsetU32 (u32 *to, u32 value, u16 len)
 Fill block of memory (optimized for u32)
void memcpy (void *to, const void *from, u16 len)
 Copy block of memory.
-

Detailed Description

-

Memory handling methods.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides memory copy/set operation and dynamic memory allocation.
-
- Memory organization :
-
- Memory is composed of bloc, the first 2 bytes of a bloc define its size and its state:
- b15-b1 = size in number of word (2 bytes)
- b0 = used state (1=used, 0=free)
- To reach the next bloc you just need to do:
- next_bloc_address = bloc_addres + bloc_size The end of memory is defined with a 0 sized bloc.
-

-

Define Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define astMemcpy( to,
 from,
 len 
)   _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
-
- -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define fastMemcpyU16( to,
 from,
 len 
)   _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
-
- -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define fastMemcpyU32( to,
 from,
 len 
)   _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
-
- -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define fastMemset( to,
 value,
 len 
)   _Pragma("GCC error \"This method is deprecated, use memset(..) instead.\"")
-
- -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define fastMemsetU16( to,
 value,
 len 
)   _Pragma("GCC error \"This method is deprecated, use memsetU16(..) instead.\"")
-
-
-
Deprecated:
Uses memsetU16(void *to, u16 value, u16 len) instead.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define fastMemsetU32( to,
 value,
 len 
)   _Pragma("GCC error \"This method is deprecated, use memsetU32(..) instead.\"")
-
-
-
Deprecated:
Uses memsetU32(void *to, u32 value, u16 len) instead.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define memcpyU16( to,
 from,
 len 
)   _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
-
- -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define memcpyU32( to,
 from,
 len 
)   _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
-
- -
- -
-
- - - - - - - - - - - - - - - - - - -
#define SWAP_s16( x,
 
)
-
-
-Value:
{                           \
-    s16 swp;                \
-                            \
-    swp = x;                \
-    x = y;                  \
-    y = swp;                \
-}
-
-

Exchange value of specified s16 variables.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define SWAP_s32( x,
 
)
-
-
-Value:
{                           \
-    s32 swp;                \
-                            \
-    swp = x;                \
-    x = y;                  \
-    y = swp;                \
-}
-
-

Exchange value of specified s32 variables.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define SWAP_s8( x,
 
)
-
-
-Value:
{                           \
-    s8 swp;                 \
-                            \
-    swp = x;                \
-    x = y;                  \
-    y = swp;                \
-}
-
-

Exchange value of specified s8 variables.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define SWAP_u16( x,
 
)
-
-
-Value:
{                           \
-    u16 swp;                \
-                            \
-    swp = x;                \
-    x = y;                  \
-    y = swp;                \
-}
-
-

Exchange value of specified u16 variables.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define SWAP_u32( x,
 
)
-
-
-Value:
{                           \
-    u32 swp;                \
-                            \
-    swp = x;                \
-    x = y;                  \
-    y = swp;                \
-}
-
-

Exchange value of specified u32 variables.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define SWAP_u8( x,
 
)
-
-
-Value:
{                           \
-    u8 swp;                 \
-                            \
-    swp = x;                \
-    x = y;                  \
-    y = swp;                \
-}
-
-

Exchange value of specified u8 variables.

- -
-
-

Function Documentation

- -
-
- - - - - - - - -
void* MEM_alloc (u16 size)
-
-
- -

Allocate memory block.

-
Parameters:
- - -
sizeNumber of bytes to allocate
-
-
-
Returns:
On success, a pointer to the memory block allocated by the function. The type of this pointer is always void*, which can be cast to the desired type of data pointer in order to be dereferenceable. If the function failed to allocate the requested block of memory (or if specified size = 0), a NULL pointer is returned.
-

Allocates a block of size bytes of memory, returning a pointer to the beginning of the block. The content of the newly allocated block of memory is not initialized, remaining with indeterminate values.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void* MEM_allocAt (u32 addr,
u16 size 
)
-
-
- -

Allocate memory block at a specific address (useful for short addressing or fixed low level working address)

-
Parameters:
- - - -
addrAddress where we want to allocate memory
sizeNumber of bytes to allocate
-
-
-
Returns:
On success, a pointer to the memory block allocated by the function (should match the addr parameter). The type of this pointer is always void*, which can be cast to the desired type of data pointer in order to be dereferenceable. If the function failed to allocate the requested block of memory (or if specified size = 0), a NULL pointer is returned.
-

Allocates a block of size bytes of memory at the given address, returning a pointer to the beginning of the block (equal to the address here). The content of the newly allocated block of memory is not initialized, remaining with indeterminate values.

- -
-
- -
-
- - - - - - - - -
void MEM_dump (void )
-
-
- -

Show memory dump.

-

Do a memory dump in GensKMod console (useful for debugging).

- -
-
- -
-
- - - - - - - - -
void MEM_free (void * ptr)
-
-
- -

Deallocate space in memory.

-
Parameters:
- - -
ptrPointer to a memory block previously allocated with Mem_alloc to be deallocated.
- If a null pointer is passed as argument, no action occurs.
-
-
-

A block of memory previously allocated using a call to Mem_alloc is deallocated, making it available again for further allocations. Notice that this function leaves the value of ptr unchanged, hence it still points to the same (now invalid) location, and not to the null pointer.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void memcpy (void * to,
const void * from,
u16 len 
)
-
-
- -

Copy block of memory.

-
Parameters:
- - - - -
toPointer to the destination array where the content is to be copied, type-casted to a pointer of type void*.
fromPointer to the source of data to be copied, type-casted to a pointer of type void*.
lenNumber of bytes to copy.
-
-
-

Copies the values of len long from the location pointed by from directly to the memory block pointed by to. The underlying type of the objects pointed by both the source and destination pointers are irrelevant for this function; The result is a binary copy of the data.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void memset (void * to,
u8 value,
u16 len 
)
-
-
- -

Fill block of memory.

-
Parameters:
- - - - -
toPointer to the block of memory to fill.
valueValue to be set.
lenNumber of u8 (byte) to be set to the value.
-
-
-

Sets the first num bytes of the block of memory pointed by to with the specified value.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void memsetU16 (u16to,
u16 value,
u16 len 
)
-
-
- -

Fill block of memory (optimized for u16)

-
Parameters:
- - - - -
toPointer to the block of memory to fill.
valueValue to be set.
lenNumber of (u16) short to be set to the value.
-
-
-

Sets the first num shorts of the block of memory pointed by to with the specified value.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void memsetU32 (u32to,
u32 value,
u16 len 
)
-
-
- -

Fill block of memory (optimized for u32)

-
Parameters:
- - - - -
toPointer to the block of memory to fill.
valueValue to be set.
lenNumber of u32 (long) to be set to the value.
-
-
-

Sets the first num longs of the block of memory pointed by to with the specified value.

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/memory_8h_source.html b/doc/html/memory_8h_source.html deleted file mode 100644 index d3b2ac69b..000000000 --- a/doc/html/memory_8h_source.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - -sgdk: memory.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
memory.h
-
-
-Go to the documentation of this file.
00001 
-00020 #ifndef _MEMORY_H_
-00021 #define _MEMORY_H_
-00022 
-00023 // asics memory address definitions
-00024 #include "memory_base.h"
-00025 
-00030 #define GET_DWORDFROMPBYTE(src)     ((src[0] << 24) | (src[1] << 16) | (src[2] << 8) | (src[3] << 0))
-00031 
-00035 #define GET_DWORDFROMPBYTE_LI(src)  ((src[0] << 0) | (src[1] << 8) | (src[2] << 16) | (src[3] << 24))
-00036 
-00040 #define GET_WORDFROMPBYTE(src)      ((src[0] << 8) | (src[1] << 0))
-00041 
-00045 #define GET_WORDFROMPBYTE_LI(src)   ((src[0] << 0) | (src[1] << 8))
-00046 
-00050 #define GET_DWORDFROMPWORD(src)     ((src[0] << 16) | (src[1] << 0))
-00051 
-00055 #define GET_DWORDFROMPWORD_LI(src)  ((src[0] << 0) | (src[1] << 16))
-00056 
-00057 
-00062 #define SWAP_u8(x, y)       \
-00063 {                           \
-00064     u8 swp;                 \
-00065                             \
-00066     swp = x;                \
-00067     x = y;                  \
-00068     y = swp;                \
-00069 }
-00070 
-00075 #define SWAP_s8(x, y)       \
-00076 {                           \
-00077     s8 swp;                 \
-00078                             \
-00079     swp = x;                \
-00080     x = y;                  \
-00081     y = swp;                \
-00082 }
-00083 
-00088 #define SWAP_u16(x, y)      \
-00089 {                           \
-00090     u16 swp;                \
-00091                             \
-00092     swp = x;                \
-00093     x = y;                  \
-00094     y = swp;                \
-00095 }
-00096 
-00101 #define SWAP_s16(x, y)      \
-00102 {                           \
-00103     s16 swp;                \
-00104                             \
-00105     swp = x;                \
-00106     x = y;                  \
-00107     y = swp;                \
-00108 }
-00109 
-00114 #define SWAP_u32(x, y)      \
-00115 {                           \
-00116     u32 swp;                \
-00117                             \
-00118     swp = x;                \
-00119     x = y;                  \
-00120     y = swp;                \
-00121 }
-00122 
-00127 #define SWAP_s32(x, y)      \
-00128 {                           \
-00129     s32 swp;                \
-00130                             \
-00131     swp = x;                \
-00132     x = y;                  \
-00133     y = swp;                \
-00134 }
-00135 
-00136 
-00137 #if (ENABLE_NEWLIB == 0)
-00138 // enable standard libc compatibility
-00139 #define malloc(x)       MEM_alloc(x)
-00140 #define free(x)         MEM_free(x)
-00141 #endif  // ENABLE_NEWLIB
-00142 
-00143 
-00148 u16  MEM_getFree(void);
-00153 u16  MEM_getAllocated(void);
-00158 u16  MEM_getLargestFreeBlock(void);
-00159 
-00171 void MEM_free(void *ptr);
-00186 void* MEM_alloc(u16 size);
-00203  void* MEM_allocAt(u32 addr, u16 size);
-00204 
-00210 void MEM_pack(void);
-00217 void MEM_dump(void);
-00218 
-00219 #if (ENABLE_NEWLIB == 0)
-00220 
-00233 void memset(void *to, u8 value, u16 len);
-00234 #endif  // ENABLE_NEWLIB
-00235 
-00249 void memsetU16(u16 *to, u16 value, u16 len);
-00263 void memsetU32(u32 *to, u32 value, u16 len);
-00264 
-00265 #if (ENABLE_NEWLIB == 0)
-00266 
-00280 void memcpy(void *to, const void *from, u16 len);
-00281 #endif  // ENABLE_NEWLIB
-00282 
-00286 #define memcpyU16(to, from, len)        _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
-00287 
-00290 #define memcpyU32(to, from, len)        _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
-00291 
-00294 #define fastMemset(to, value, len)      _Pragma("GCC error \"This method is deprecated, use memset(..) instead.\"")
-00295 
-00298 #define fastMemsetU16(to, value, len)   _Pragma("GCC error \"This method is deprecated, use memsetU16(..) instead.\"")
-00299 
-00302 #define fastMemsetU32(to, value, len)   _Pragma("GCC error \"This method is deprecated, use memsetU32(..) instead.\"")
-00303 
-00306 #define astMemcpy(to, from, len)        _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
-00307 
-00310 #define fastMemcpyU16(to, from, len)    _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
-00311 
-00314 #define fastMemcpyU32(to, from, len)    _Pragma("GCC error \"This method is deprecated, use memcpy(..) instead.\"")
-00315 
-00316 
-00317 #endif // _MEMORY_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/memory__base_8h.html b/doc/html/memory__base_8h.html deleted file mode 100644 index 74b656fab..000000000 --- a/doc/html/memory__base_8h.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - -sgdk: memory_base.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
memory_base.h File Reference
-
-
- -

Memory base definition. -More...

- -

Go to the source code of this file.

- - - - - - - - - - -

-Defines

-#define ROM   0x00000000
 Define start of ROM region.
-#define RAM   0xE0FF0000
 Define start of RAM region.
-#define STACK_SIZE   0x0A00
 Define memory allocated for stack (default = 0xA00)
-#define MEMORY_HIGH   (0xE1000000 - STACK_SIZE)
 Define the memory high address limit for dynamic allocation.
-

Detailed Description

-

Memory base definition.

-
Author:
Stephane Dallongeville
-
Date:
06/2022
-

This unit provides basic memory address definitions.
- We keep this H unit separated so it could eventually be included / used in assembly file if needed.

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/memory__base_8h_source.html b/doc/html/memory__base_8h_source.html deleted file mode 100644 index e0539960e..000000000 --- a/doc/html/memory__base_8h_source.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - -sgdk: memory_base.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
memory_base.h
-
-
-Go to the documentation of this file.
00001 
-00011 #ifndef _MEMORY_BASE_H_
-00012 #define _MEMORY_BASE_H_
-00013 
-00018 #define ROM      0x00000000
-00019 
-00023 #define RAM      0xE0FF0000
-00024 
-00029 #define STACK_SIZE      0x0A00
-00030 
-00034 #define MEMORY_HIGH     (0xE1000000 - STACK_SIZE)
-00035 
-00036 
-00037 #endif // _MEMORY_BASE_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/minimus_8h_source.html b/doc/html/minimus_8h_source.html deleted file mode 100644 index 2201eaba6..000000000 --- a/doc/html/minimus_8h_source.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - -sgdk: minimus.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
minimus.h
-
-
-
00001 #ifndef MINIMUS_H_
-00002 #define MINIMUS_H_
-00003 
-00004 // SGDK replacement for stdint.h
-00005 #include "types.h"
-00006 
-00007 #define MINIMUSIC_MEMORY_BARRIER() asm volatile ("" : : : "memory")
-00008 
-00009 static inline void MINIMUSIC_Z80_GUARD_BEGIN() {
-00010    volatile uint16_t *port = (uint16_t*)(0xA11100);
-00011    MINIMUSIC_MEMORY_BARRIER();
-00012    *port = 0x100;
-00013    MINIMUSIC_MEMORY_BARRIER();
-00014 }
-00015 
-00016 static inline void MINIMUSIC_Z80_GUARD_END() {
-00017    volatile uint16_t *port = (uint16_t*)(0xA11100);
-00018    MINIMUSIC_MEMORY_BARRIER();
-00019    *port = 0x000;
-00020    MINIMUSIC_MEMORY_BARRIER();
-00021 }
-00022 
-00023 #define MINIMUSIC_STATUS_BGM        0x01
-00024 
-00025 void minimusic_init(const void *, uint16_t);
-00026 void minimusic_sendcmd(uint8_t);
-00027 uint8_t minimusic_get_status(void);
-00028 
-00029 #endif
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/modules.html b/doc/html/modules.html deleted file mode 100644 index 9b09c3ae4..000000000 --- a/doc/html/modules.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - -sgdk: Modules - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- -
-
- -
-
-
- -
-
-
-
Modules
-
-
-
Here is a list of all modules:
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/mw-msg_8h.html b/doc/html/mw-msg_8h.html deleted file mode 100644 index 9714e034e..000000000 --- a/doc/html/mw-msg_8h.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - -sgdk: mw-msg.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
mw-msg.h File Reference
-
-
- -

MegaWiFi command message definitions. -More...

-
#include "types.h"
-
-

Go to the source code of this file.

- -
-

Detailed Description

-

MegaWiFi command message definitions.

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/mw-msg_8h_source.html b/doc/html/mw-msg_8h_source.html deleted file mode 100644 index e1b4319da..000000000 --- a/doc/html/mw-msg_8h_source.html +++ /dev/null @@ -1,417 +0,0 @@ - - - - -sgdk: mw-msg.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
mw-msg.h
-
-
-Go to the documentation of this file.
00001 /************************************************************************/
-00017 #ifndef _MW_MSG_H_
-00018 #define _MW_MSG_H_
-00019 
-00020 #include "types.h"
-00021 
-00022 #if (MODULE_MEGAWIFI != 0)
-00023 
-00025 #define PACKED          __attribute__((__packed__))
-00026 
-00028 #define MW_MSG_MAX_BUFLEN       512
-00029 
-00031 #define MW_CMD_HEADLEN          (2 * sizeof(uint16_t))
-00032 
-00034 #define MW_CMD_MAX_BUFLEN       (MW_MSG_MAX_BUFLEN - MW_CMD_HEADLEN)
-00035 
-00037 #define MW_SSID_MAXLEN          32
-00038 
-00039 #define MW_PASS_MAXLEN          64
-00040 
-00042 #define MW_GT_NICKNAME_MAX              32
-00043 
-00044 #define MW_GT_SECURITY_MAX              32
-00045 
-00046 #define MW_GT_TAGLINE_MAX               32
-00047 
-00048 #define MW_GT_AVATAR_WIDTH              32
-00049 
-00050 #define MW_GT_AVATAR_HEIGHT             48
-00051 
-00052 #define MW_GT_TG_TOKEN_MAX              64
-00053 
-00055 enum PACKED mw_command {
-00056         MW_CMD_OK                =   0, 
-00057         MW_CMD_VERSION           =   1, 
-00058         MW_CMD_ECHO              =   2, 
-00059         MW_CMD_AP_SCAN           =   3, 
-00060         MW_CMD_AP_CFG            =   4, 
-00061         MW_CMD_AP_CFG_GET        =   5, 
-00062         MW_CMD_IP_CURRENT        =   6, 
-00063 // Reserved
-00064         MW_CMD_IP_CFG            =   8, 
-00065         MW_CMD_IP_CFG_GET        =   9, 
-00066         MW_CMD_DEF_AP_CFG        =  10, 
-00067         MW_CMD_DEF_AP_CFG_GET    =  11, 
-00068         MW_CMD_AP_JOIN           =  12, 
-00069         MW_CMD_AP_LEAVE          =  13, 
-00070         MW_CMD_TCP_CON           =  14, 
-00071         MW_CMD_TCP_BIND          =  15, 
-00072 // Reserved
-00073         MW_CMD_CLOSE             =  17, 
-00074         MW_CMD_UDP_SET           =  18, 
-00075 // Reserved (for setting socket  options)
-00076         MW_CMD_SOCK_STAT         =  20, 
-00077         MW_CMD_PING              =  21, 
-00078         MW_CMD_SNTP_CFG          =  22, 
-00079         MW_CMD_SNTP_CFG_GET      =  23,  
-00080         MW_CMD_DATETIME          =  24, 
-00081         MW_CMD_DT_SET            =  25, 
-00082         MW_CMD_FLASH_WRITE       =  26, 
-00083         MW_CMD_FLASH_READ        =  27, 
-00084         MW_CMD_FLASH_ERASE       =  28, 
-00085         MW_CMD_FLASH_ID          =  29, 
-00086         MW_CMD_SYS_STAT          =  30, 
-00087         MW_CMD_DEF_CFG_SET       =  31, 
-00088         MW_CMD_HRNG_GET          =  32, 
-00089         MW_CMD_BSSID_GET         =  33, 
-00090         MW_CMD_GAMERTAG_SET      =  34, 
-00091         MW_CMD_GAMERTAG_GET      =  35, 
-00092         MW_CMD_LOG               =  36, 
-00093         MW_CMD_FACTORY_RESET     =  37, 
-00094         MW_CMD_SLEEP             =  38, 
-00095         MW_CMD_HTTP_URL_SET      =  39, 
-00096         MW_CMD_HTTP_METHOD_SET   =  40, 
-00097         MW_CMD_HTTP_CERT_QUERY   =  41, 
-00098         MW_CMD_HTTP_CERT_SET     =  42, 
-00099         MW_CMD_HTTP_HDR_ADD      =  43, 
-00100         MW_CMD_HTTP_HDR_DEL      =  44, 
-00101         MW_CMD_HTTP_OPEN         =  45, 
-00102         MW_CMD_HTTP_FINISH       =  46, 
-00103         MW_CMD_HTTP_CLEANUP      =  47, 
-00104 // Reserved
-00105         MW_CMD_SERVER_URL_GET    =  49, 
-00106         MW_CMD_SERVER_URL_SET    =  50, 
-00107         MW_CMD_WIFI_ADV_GET      =  51, 
-00108         MW_CMD_WIFI_ADV_SET      =  52, 
-00109         MW_CMD_NV_CFG_SAVE       =  53, 
-00110         MW_CMD_UPGRADE_LIST      =  54, 
-00111         MW_CMD_UPGRADE_PERFORM   =  55, 
-00112         MW_CMD_GAME_ENDPOINT_SET =  56, 
-00113         MW_CMD_GAME_KEYVAL_ADD   =  57, 
-00114         MW_CMD_GAME_REQUEST      =  58, 
-00115         MW_CMD_ERROR             = 255  
-00116 };
-00117 
-00119 enum PACKED mw_security {
-00120         MW_SEC_OPEN = 0,        
-00121         MW_SEC_WEP,             
-00122         MW_SEC_WPA_PSK,         
-00123         MW_SEC_WPA2_PSK,        
-00124         MW_SEC_WPA_WPA2_PSK,    
-00125         MW_SEC_UNKNOWN          
-00126 };
-00127 
-00129 enum PACKED mw_phy_type {
-00130         MW_PHY_11B = 1,         
-00131         MW_PHY_11BG = 3,        
-00132         MW_PHY_11BGN = 7        
-00133 };
-00134 
-00136 union ip_addr {
-00137         uint32_t addr;          
-00138         uint8_t byte[4];        
-00139 };
-00140 
-00142 struct mw_msg_in_addr {
-00143         char dst_port[6];       
-00144         char src_port[6];       
-00145         uint8_t channel;        
-00146 
-00147         char dst_addr[];
-00148 };
-00149 
-00151 struct mw_ip_cfg {
-00152         union ip_addr addr;     
-00153         union ip_addr mask;     
-00154         union ip_addr gateway;  
-00155         union ip_addr dns1;     
-00156         union ip_addr dns2;     
-00157 };
-00158 
-00162 //           string will not be NULL terminated.
-00163 struct mw_msg_ap_cfg {
-00164         uint8_t cfg_num;                
-00165         enum mw_phy_type phy_type;      
-00166         char ssid[MW_SSID_MAXLEN];      
-00167         char pass[MW_PASS_MAXLEN];      
-00168 };
-00169 
-00171 struct mw_msg_ip_cfg {
-00172         uint8_t cfg_slot;       
-00173         uint8_t reserved[3];    
-00174         struct mw_ip_cfg ip;    
-00175 };
-00176 
-00178 struct mw_msg_sntp_cfg {
-00179         uint16_t up_delay;      
-00180         int8_t tz;              
-00181         uint8_t dst;            
-00182 
-00183 
-00184         char servers[MW_CMD_MAX_BUFLEN - 4];
-00185 };
-00186 
-00188 struct mw_msg_date_time {
-00189         uint32_t dt_bin[2];     
-00190 
-00191         char dt_str[MW_CMD_MAX_BUFLEN - 2 * sizeof(uint32_t)];
-00192 };
-00193 
-00195 struct mw_msg_flash_data {
-00196         uint32_t addr;          
-00197 
-00198         uint8_t data[MW_CMD_MAX_BUFLEN - sizeof(uint32_t)];
-00199 };
-00200 
-00202 struct mw_msg_flash_range {
-00203         uint32_t addr;          
-00204         uint16_t len;           
-00205 };
-00206 
-00208 struct mw_msg_bind {
-00209         uint32_t reserved;      
-00210         uint16_t port;          
-00211         uint8_t  channel;       
-00212 };
-00213 
-00215 struct mw_wifi_adv_cfg {
-00216         uint8_t qos_enable;                     
-00217         uint8_t ampdu_rx_enable;                
-00218         uint8_t rx_ba_win;                      
-00219         uint8_t rx_ampdu_buf_num;               
-00220         uint32_t rx_ampdu_buf_len;              
-00221         uint32_t rx_max_single_pkt_len;         
-00222         uint32_t rx_buf_len;                    
-00223         uint8_t amsdu_rx_enable;                
-00224         uint8_t rx_buf_num;                     
-00225         uint8_t rx_pkt_num;                     
-00226         uint8_t left_continuous_rx_buf_num;     
-00227         uint8_t tx_buf_num;                     
-00228         uint8_t reserved[3];                    
-00229 };
-00230 
-00232 struct mw_gamertag {
-00234         int id;
-00236         char nickname[MW_GT_NICKNAME_MAX];
-00238         char security[MW_GT_SECURITY_MAX];
-00240         char tagline[MW_GT_TAGLINE_MAX];
-00242         char tg_token[MW_GT_TG_TOKEN_MAX];
-00244         uint8_t avatar_tiles[MW_GT_AVATAR_WIDTH * MW_GT_AVATAR_HEIGHT / 2];
-00246         uint8_t avatar_pal[32];
-00247 };
-00248 
-00250 struct mw_gamertag_set_msg {
-00251         uint8_t slot;                   
-00252         uint8_t reserved[3];            
-00253         struct mw_gamertag gamertag;    
-00254 };
-00255 
-00257 enum mw_state {
-00258         MW_ST_INIT = 0,         
-00259         MW_ST_IDLE,             
-00260         MW_ST_AP_JOIN,          
-00261         MW_ST_SCAN,             
-00262         MW_ST_READY,            
-00263         MW_ST_TRANSPARENT,      
-00264         MW_ST_MAX               
-00265 };
-00266 
-00268 enum mw_sock_stat {
-00269         MW_SOCK_NONE = 0,       
-00270         MW_SOCK_TCP_LISTEN,     
-00271         MW_SOCK_TCP_EST,        
-00272         MW_SOCK_UDP_READY       
-00273 };
-00274 
-00276 union mw_msg_sys_stat {
-00277         uint32_t st_flags;              
-00278         struct {
-00279 #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-00280                 enum mw_state sys_stat:8;       
-00281                 uint8_t online:1;       
-00282                 uint8_t cfg_ok:1;       
-00283                 uint8_t dt_ok:1;        
-00284                 uint8_t cfg:2;          
-00285                 uint16_t reserved:3;    
-00286                 uint16_t ch_ev:16;      
-00287 #else
-00288                 uint16_t ch_ev:16;      
-00289                 uint16_t reserved:3;    
-00290                 uint8_t cfg:2;          
-00291                 uint8_t dt_ok:1;        
-00292                 uint8_t cfg_ok:1;       
-00293                 uint8_t online:1;       
-00294                 enum mw_state sys_stat:8;       
-00295 #endif
-00296         };
-00297 };
-00298 
-00300 struct mw_flash_id {
-00301         uint16_t device;        
-00302         uint8_t manufacturer;   
-00303 };
-00304 
-00306 struct mw_ga_request {
-00307         uint8_t method;         
-00308         uint8_t num_paths;      
-00309         uint8_t num_kv_pairs;   
-00310         char req[];             
-00311 };
-00312 
-00314 typedef union mw_cmd {
-00315         char packet[MW_CMD_MAX_BUFLEN + 2 * sizeof(uint16_t)];  
-00316         struct {
-00317                 uint16_t cmd;                   
-00318                 uint16_t data_len;              
-00319                 // If datalen is nonzero, additional command data goes here until
-00320                 // filling datalen bytes.
-00321                 union {
-00322                         uint8_t ch;             
-00323 
-00324                         uint8_t data[MW_CMD_MAX_BUFLEN];
-00326                         uint16_t w_data[MW_CMD_MAX_BUFLEN / sizeof(uint16_t)];
-00328                         uint32_t dw_data[MW_CMD_MAX_BUFLEN / sizeof(uint32_t)];
-00329                         struct mw_msg_in_addr in_addr;          
-00330                         struct mw_msg_ap_cfg ap_cfg;            
-00331                         struct mw_msg_ip_cfg ip_cfg;            
-00332                         struct mw_msg_sntp_cfg sntp_cfg;        
-00333                         struct mw_msg_date_time date_time;      
-00334                         struct mw_msg_flash_data fl_data;       
-00335                         struct mw_msg_flash_range fl_range;     
-00336                         struct mw_msg_bind bind;                
-00337                         union mw_msg_sys_stat sys_stat;         
-00338                         struct mw_gamertag_set_msg gamertag_set;
-00339                         struct mw_gamertag gamertag_get;        
-00340                         struct mw_wifi_adv_cfg wifi_adv_cfg;    
-00341                         struct mw_flash_id flash_id;            
-00342                         struct mw_ga_request ga_request;        
-00343                         uint16_t fl_sect;       
-00344                         uint32_t fl_id;         
-00345                         uint16_t rnd_len;       
-00346                 };
-00347         };
-00348 } mw_cmd;
-00349 
-00356 struct mw_reuse_payload {
-00357         uint32_t remote_ip;     
-00358         uint16_t remote_port;   
-00359 
-00360         char payload[MW_CMD_MAX_BUFLEN - 4 - 2];
-00361 };
-00362 
-00363 #endif // MODULE_MEGAWIFI
-00364 
-00365 #endif //_MW_MSG_H_
-00366 
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/nav_f.png b/doc/html/nav_f.png deleted file mode 100644 index 1b07a16207e67c95fe2ee17e7016e6d08ac7ac99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQfZzpjv*C{Z|{2YIT`Y>1X`Eg z-tTbne1`SITM8Q!Pb(<)UFZ(m>wMzvKZQqKM~~GcZ=A7j<~E6K62>ozFS=cD3)mf8 z9WX0+R&m(l9KUsLdTx4?9~({T__KA%`}olPJ^N;y|F^pHgs_K%!rj~{8>RwnWbkzL Kb6Mw<&;$VTdq1fF diff --git a/doc/html/nav_h.png b/doc/html/nav_h.png deleted file mode 100644 index 01f5fa6a596e36bd12c2d6ceff1b0169fda7e699..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^j6lr8!2~3AUOE6t1`SUa$B+ufw|6&kG8phMJMJ~w va4>Y+bZ&9QY?(VEUPY_cGd9nQ`um^ZSUyYpAAuKhL7F^W{an^LB{Ts5DmojT diff --git a/doc/html/navtree.css b/doc/html/navtree.css deleted file mode 100644 index e46ffcd6e..000000000 --- a/doc/html/navtree.css +++ /dev/null @@ -1,123 +0,0 @@ -#nav-tree .children_ul { - margin:0; - padding:4px; -} - -#nav-tree ul { - list-style:none outside none; - margin:0px; - padding:0px; -} - -#nav-tree li { - white-space:nowrap; - margin:0px; - padding:0px; -} - -#nav-tree .plus { - margin:0px; -} - -#nav-tree .selected { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); -} - -#nav-tree img { - margin:0px; - padding:0px; - border:0px; - vertical-align: middle; -} - -#nav-tree a { - text-decoration:none; - padding:0px; - margin:0px; - outline:none; -} - -#nav-tree .label { - margin:0px; - padding:0px; -} - -#nav-tree .label a { - padding:2px; -} - -#nav-tree .selected a { - text-decoration:none; - padding:2px; - margin:0px; - color:#fff; -} - -#nav-tree .children_ul { - margin:0px; - padding:0px; -} - -#nav-tree .item { - margin:0px; - padding:0px; -} - -#nav-tree { - padding: 0px 0px; - background-color: #FAFAFF; - font-size:14px; - overflow:auto; -} - -#doc-content { - overflow:auto; - display:block; - padding:0px; - margin:0px; -} - -#side-nav { - padding:0 6px 0 0; - margin: 0px; - display:block; - position: absolute; - left: 0px; - width: 300px; -} - -.ui-resizable .ui-resizable-handle { - display:block; -} - -.ui-resizable-e { - background:url("ftv2splitbar.png") repeat scroll right center transparent; - cursor:e-resize; - height:100%; - right:0; - top:0; - width:6px; -} - -.ui-resizable-handle { - display:none; - font-size:0.1px; - position:absolute; - z-index:1; -} - -#nav-tree-contents { - margin: 6px 0px 0px 0px; -} - -#nav-tree { - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; -} - - - diff --git a/doc/html/navtree.js b/doc/html/navtree.js deleted file mode 100644 index c1f48579d..000000000 --- a/doc/html/navtree.js +++ /dev/null @@ -1,386 +0,0 @@ -var NAVTREE = -[ - [ "sgdk", "index.html", [ - [ "Related Pages", "pages.html", [ - [ "Todo List", "todo.html", null ], - [ "Deprecated List", "deprecated.html", null ] - ] ], - [ "Modules", "modules.html", [ - [ "gamejolt", "group__gamejolt.html", null ], - [ "megawifi", "group__megawifi.html", null ], - [ "lsd", "group__lsd.html", null ], - [ "json", "group__json.html", null ], - [ "16c550", "group___c550.html", null ], - [ "mw-msg", "group__mw-msg.html", null ] - ] ], - [ "Class List", "annotated.html", [ - [ "_collision", "struct__collision.html", null ], - [ "Animation", "struct_animation.html", null ], - [ "AnimationFrame", "struct_animation_frame.html", null ], - [ "Bitmap", "struct_bitmap.html", null ], - [ "Box", "struct_box.html", null ], - [ "BoxCollision", "struct_box_collision.html", null ], - [ "Circle", "struct_circle.html", null ], - [ "CircleCollision", "struct_circle_collision.html", null ], - [ "Collision", "struct_collision.html", null ], - [ "Context3D", "struct_context3_d.html", null ], - [ "DMAOpInfo", "struct_d_m_a_op_info.html", null ], - [ "flash_chip", "structflash__chip.html", null ], - [ "flash_region", "structflash__region.html", null ], - [ "FrameVDPSprite", "struct_frame_v_d_p_sprite.html", null ], - [ "Image", "struct_image.html", null ], - [ "InterruptCaller", "union_interrupt_caller.html", null ], - [ "Line", "struct_line.html", null ], - [ "Map", "struct_map.html", null ], - [ "MapDefinition", "struct_map_definition.html", null ], - [ "Mat2D_f16", "struct_mat2_d__f16.html", null ], - [ "Mat2D_f32", "struct_mat2_d__f32.html", null ], - [ "Mat3D_f16", "struct_mat3_d__f16.html", null ], - [ "Mat3D_f32", "struct_mat3_d__f32.html", null ], - [ "Mat4D_f16", "struct_mat4_d__f16.html", null ], - [ "Mat4D_f32", "struct_mat4_d__f32.html", null ], - [ "Object_", "struct_object__.html", null ], - [ "Palette", "struct_palette.html", null ], - [ "Pixel", "struct_pixel.html", null ], - [ "Pool", "struct_pool.html", null ], - [ "ROMHeader", "struct_r_o_m_header.html", null ], - [ "save_blob", "structsave__blob.html", null ], - [ "save_manager", "structsave__manager.html", null ], - [ "sector_hdr", "structsector__hdr.html", null ], - [ "sector_metadata", "structsector__metadata.html", null ], - [ "Sprite", "struct_sprite.html", null ], - [ "SpriteDefinition", "struct_sprite_definition.html", null ], - [ "TileMap", "struct_tile_map.html", null ], - [ "TileSet", "struct_tile_set.html", null ], - [ "Transformation3D", "struct_transformation3_d.html", null ], - [ "Triangle", "struct_triangle.html", null ], - [ "VDPSprite", "struct_v_d_p_sprite.html", null ], - [ "Vect2D_f16", "struct_vect2_d__f16.html", null ], - [ "Vect2D_f32", "struct_vect2_d__f32.html", null ], - [ "Vect2D_s16", "struct_vect2_d__s16.html", null ], - [ "Vect2D_s32", "struct_vect2_d__s32.html", null ], - [ "Vect2D_u16", "struct_vect2_d__u16.html", null ], - [ "Vect2D_u32", "struct_vect2_d__u32.html", null ], - [ "Vect3D_f16", "struct_vect3_d__f16.html", null ], - [ "Vect3D_f32", "struct_vect3_d__f32.html", null ], - [ "Vect3D_s16", "struct_vect3_d__s16.html", null ], - [ "Vect3D_s32", "struct_vect3_d__s32.html", null ], - [ "Vect3D_u16", "struct_vect3_d__u16.html", null ], - [ "Vect3D_u32", "struct_vect3_d__u32.html", null ], - [ "Vect4D_f16", "struct_vect4_d__f16.html", null ], - [ "Vect4D_f32", "struct_vect4_d__f32.html", null ], - [ "VRAMRegion", "struct_v_r_a_m_region.html", null ] - ] ], - [ "Class Index", "classes.html", null ], - [ "File List", "files.html", [ - [ "16c550.h", null, null ], - [ "asm.h", "asm_8h.html", null ], - [ "bmp.h", "bmp_8h.html", null ], - [ "config.h", "config_8h.html", null ], - [ "console.c", "console_8c.html", null ], - [ "console.h", "console_8h.html", null ], - [ "dma.h", "dma_8h.html", null ], - [ "everdrive.h", "everdrive_8h.html", null ], - [ "fat16.h", "fat16_8h.html", null ], - [ "flash.h", "flash_8h.html", null ], - [ "font.h", "font_8h.html", null ], - [ "gamejolt.h", "gamejolt_8h.html", null ], - [ "genesis.h", null, null ], - [ "joy.h", "joy_8h.html", null ], - [ "jsmn.h", null, null ], - [ "json.h", "json_8h.html", null ], - [ "kdebug.h", "kdebug_8h.html", null ], - [ "libres.h", null, null ], - [ "lsd.h", null, null ], - [ "map.h", "map_8h.html", null ], - [ "mapper.h", "mapper_8h.html", null ], - [ "maths.h", "maths_8h.html", null ], - [ "maths3D.h", "maths3_d_8h.html", null ], - [ "megawifi.h", "megawifi_8h.html", null ], - [ "memory.h", "memory_8h.html", null ], - [ "memory_base.h", "memory__base_8h.html", null ], - [ "minimus.h", null, null ], - [ "mw-msg.h", "mw-msg_8h.html", null ], - [ "object.h", "object_8h.html", null ], - [ "pal.h", "pal_8h.html", null ], - [ "pool.h", "pool_8h.html", null ], - [ "psg.h", "psg_8h.html", null ], - [ "saveman.h", "saveman_8h.html", null ], - [ "smp_null.h", null, null ], - [ "smp_null_dpcm.h", null, null ], - [ "snd_dpcm2.h", "snd__dpcm2_8h.html", null ], - [ "snd_pcm.h", "snd__pcm_8h.html", null ], - [ "snd_pcm4.h", "snd__pcm4_8h.html", null ], - [ "sound.h", "sound_8h.html", null ], - [ "sprite_eng.h", "sprite__eng_8h.html", null ], - [ "sprite_eng_legacy.h", "sprite__eng__legacy_8h.html", null ], - [ "sram.h", "sram_8h.html", null ], - [ "stb_sprintf.h", null, null ], - [ "string.h", "string_8h.html", null ], - [ "sys.h", "sys_8h.html", null ], - [ "tab_cnv.h", null, null ], - [ "tab_vol.h", null, null ], - [ "task.h", "task_8h.html", null ], - [ "task_cst.h", "task__cst_8h.html", null ], - [ "timer.h", "timer_8h.html", null ], - [ "tools.h", "tools_8h.html", null ], - [ "types.h", "types_8h.html", null ], - [ "vdp.h", "vdp_8h.html", null ], - [ "vdp_bg.h", "vdp__bg_8h.html", null ], - [ "vdp_spr.h", "vdp__spr_8h.html", null ], - [ "vdp_tile.h", "vdp__tile_8h.html", null ], - [ "vram.h", "vram_8h.html", null ], - [ "xgm.h", "xgm_8h.html", null ], - [ "xgm2.h", "xgm2_8h.html", null ], - [ "ym2612.h", "ym2612_8h.html", null ], - [ "z80_ctrl.h", "z80__ctrl_8h.html", null ] - ] ], - [ "File Members", "globals.html", null ] - ] ] -]; - -function createIndent(o,domNode,node,level) -{ - if (node.parentNode && node.parentNode.parentNode) - { - createIndent(o,domNode,node.parentNode,level+1); - } - var imgNode = document.createElement("img"); - if (level==0 && node.childrenData) - { - node.plus_img = imgNode; - node.expandToggle = document.createElement("a"); - node.expandToggle.href = "javascript:void(0)"; - node.expandToggle.onclick = function() - { - if (node.expanded) - { - $(node.getChildrenUL()).slideUp("fast"); - if (node.isLast) - { - node.plus_img.src = node.relpath+"ftv2plastnode.png"; - } - else - { - node.plus_img.src = node.relpath+"ftv2pnode.png"; - } - node.expanded = false; - } - else - { - expandNode(o, node, false); - } - } - node.expandToggle.appendChild(imgNode); - domNode.appendChild(node.expandToggle); - } - else - { - domNode.appendChild(imgNode); - } - if (level==0) - { - if (node.isLast) - { - if (node.childrenData) - { - imgNode.src = node.relpath+"ftv2plastnode.png"; - } - else - { - imgNode.src = node.relpath+"ftv2lastnode.png"; - domNode.appendChild(imgNode); - } - } - else - { - if (node.childrenData) - { - imgNode.src = node.relpath+"ftv2pnode.png"; - } - else - { - imgNode.src = node.relpath+"ftv2node.png"; - domNode.appendChild(imgNode); - } - } - } - else - { - if (node.isLast) - { - imgNode.src = node.relpath+"ftv2blank.png"; - } - else - { - imgNode.src = node.relpath+"ftv2vertline.png"; - } - } - imgNode.border = "0"; -} - -function newNode(o, po, text, link, childrenData, lastNode) -{ - var node = new Object(); - node.children = Array(); - node.childrenData = childrenData; - node.depth = po.depth + 1; - node.relpath = po.relpath; - node.isLast = lastNode; - - node.li = document.createElement("li"); - po.getChildrenUL().appendChild(node.li); - node.parentNode = po; - - node.itemDiv = document.createElement("div"); - node.itemDiv.className = "item"; - - node.labelSpan = document.createElement("span"); - node.labelSpan.className = "label"; - - createIndent(o,node.itemDiv,node,0); - node.itemDiv.appendChild(node.labelSpan); - node.li.appendChild(node.itemDiv); - - var a = document.createElement("a"); - node.labelSpan.appendChild(a); - node.label = document.createTextNode(text); - a.appendChild(node.label); - if (link) - { - a.href = node.relpath+link; - } - else - { - if (childrenData != null) - { - a.className = "nolink"; - a.href = "javascript:void(0)"; - a.onclick = node.expandToggle.onclick; - node.expanded = false; - } - } - - node.childrenUL = null; - node.getChildrenUL = function() - { - if (!node.childrenUL) - { - node.childrenUL = document.createElement("ul"); - node.childrenUL.className = "children_ul"; - node.childrenUL.style.display = "none"; - node.li.appendChild(node.childrenUL); - } - return node.childrenUL; - }; - - return node; -} - -function showRoot() -{ - var headerHeight = $("#top").height(); - var footerHeight = $("#nav-path").height(); - var windowHeight = $(window).height() - headerHeight - footerHeight; - navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); -} - -function expandNode(o, node, imm) -{ - if (node.childrenData && !node.expanded) - { - if (!node.childrenVisited) - { - getNode(o, node); - } - if (imm) - { - $(node.getChildrenUL()).show(); - } - else - { - $(node.getChildrenUL()).slideDown("fast",showRoot); - } - if (node.isLast) - { - node.plus_img.src = node.relpath+"ftv2mlastnode.png"; - } - else - { - node.plus_img.src = node.relpath+"ftv2mnode.png"; - } - node.expanded = true; - } -} - -function getNode(o, po) -{ - po.childrenVisited = true; - var l = po.childrenData.length-1; - for (var i in po.childrenData) - { - var nodeData = po.childrenData[i]; - po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2], - i==l); - } -} - -function findNavTreePage(url, data) -{ - var nodes = data; - var result = null; - for (var i in nodes) - { - var d = nodes[i]; - if (d[1] == url) - { - return new Array(i); - } - else if (d[2] != null) // array of children - { - result = findNavTreePage(url, d[2]); - if (result != null) - { - return (new Array(i).concat(result)); - } - } - } - return null; -} - -function initNavTree(toroot,relpath) -{ - var o = new Object(); - o.toroot = toroot; - o.node = new Object(); - o.node.li = document.getElementById("nav-tree-contents"); - o.node.childrenData = NAVTREE; - o.node.children = new Array(); - o.node.childrenUL = document.createElement("ul"); - o.node.getChildrenUL = function() { return o.node.childrenUL; }; - o.node.li.appendChild(o.node.childrenUL); - o.node.depth = 0; - o.node.relpath = relpath; - - getNode(o, o.node); - - o.breadcrumbs = findNavTreePage(toroot, NAVTREE); - if (o.breadcrumbs == null) - { - o.breadcrumbs = findNavTreePage("index.html",NAVTREE); - } - if (o.breadcrumbs != null && o.breadcrumbs.length>0) - { - var p = o.node; - for (var i in o.breadcrumbs) - { - var j = o.breadcrumbs[i]; - p = p.children[j]; - expandNode(o,p,true); - } - p.itemDiv.className = p.itemDiv.className + " selected"; - p.itemDiv.id = "selected"; - $(window).load(showRoot); - } -} - diff --git a/doc/html/object_8h.html b/doc/html/object_8h.html deleted file mode 100644 index 9bcbfd9cf..000000000 --- a/doc/html/object_8h.html +++ /dev/null @@ -1,478 +0,0 @@ - - - - -sgdk: object.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
object.h File Reference
-
-
- -

Base object management unit. -More...

-
#include "pool.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  Object_
 Base object structure. More...

-Defines

-#define OBJ_ALLOCATED   0x8000
 Allocated state for object (mainly useful for debugging)

-Typedefs

typedef struct Object_ Object
 Base object structure.
typedef void ObjectCallback (Object *obj)
 Object function callback.

-Functions

PoolOBJ_createObjectPool (u16 size, u16 objectSize)
 Create and allocate the new object pool (this method is an alias of POOL_create(..))
ObjectOBJ_create (Pool *pool)
 Create a new objet from the given object pool (object must extend basic Object structure)
void OBJ_release (Pool *pool, Object *object, bool maintainCoherency)
 Release an objet from the given object pool (object must extend basic Object structure)
void OBJ_updateAll (Pool *pool)
 Iterate over all active objects from the given object pool and call update method for each of them.
-
void OBJ_setInitMethod (Object *object, ObjectCallback *initMethod)
 Set the initialization method for the given object.
void OBJ_setUpdateMethod (Object *object, ObjectCallback *updateMethod)
 Set the update method for the given object.
void OBJ_setEndMethod (Object *object, ObjectCallback *endMethod)
 Set the ending method for the given object.
-

Detailed Description

-

Base object management unit.

-
Author:
Stephane Dallongeville
-
Date:
02/2022
-

This unit provides methods to manage objects.
- It works in concert with the pool.h unit which provide dynamic object allocation.
-
- The idea of Object is that you can use it as base structure for your own object (entity, enemy, character, whatever you want..).
- To do that the idea is to declare your new object structure by embedding the Object into it can be anonymous) and always at the first position:

-
- struct entity_
- {
-     Object;
-     f32 posX;
-     f32 posY;
-     Sprite* sprite;
-     ...
- };

Doing that your Entity structure can be used through OBJ_xxx methods.

-

Typedef Documentation

- -
-
- - - - -
typedef struct Object_ Object
-
-
- -

Base object structure.

-
Parameters:
- - - - - - -
internalStateObject internal state, you can use it but you should save bit 15 as it's used internally to detect invalid object
typeObject type, can be used to recognize the underlying object / structure type.
initInitialisation function callback, should be only called once after object creation
updateUpdate function callback, usually called once per frame
endEnding function callback, should be only called once before object release
-
-
- -
-
- -
-
- - - - -
typedef void ObjectCallback(Object *obj)
-
-
- -

Object function callback.

-
Parameters:
- - -
objObject
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - -
Object* OBJ_create (Poolpool)
-
-
- -

Create a new objet from the given object pool (object must extend basic Object structure)

-
Parameters:
- - -
poolObject pool to allocate from (see pool.h unit)
-
-
-
Returns:
the created object or NULL if an error occured (no more available object in pool or invalid pool). The returned object is initialized to 0
-
See also:
OBJ_release(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
Pool* OBJ_createObjectPool (u16 size,
u16 objectSize 
)
-
-
- -

Create and allocate the new object pool (this method is an alias of POOL_create(..))

-
Parameters:
- - - -
sizethe capacity of the pool (in number of object)
objectSizethe size of a single object (usually you should use sizeof(Struct) here)
-
-
-
Returns:
the new created object pool or NULL if there is not enough memory available for that.
-
See also:
POOL_create(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void OBJ_release (Poolpool,
Objectobject,
bool maintainCoherency 
)
-
-
- -

Release an objet from the given object pool (object must extend basic Object structure)

-
Parameters:
- - - - -
poolObject pool allocator to release from (see pool.h unit)
objectObject to release (must extend basic Object structure)
maintainCoherencyset it to TRUE if you want to keep coherency for stack iteration and use OBJ_updateAll().
- Set it to FALSE for faster release process if you don't require object iteration through alloc stack.
-
-
-
See also:
OBJ_create(..)
-
-OBJ_updateAll(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void OBJ_setEndMethod (Objectobject,
ObjectCallbackendMethod 
)
-
-
- -

Set the ending method for the given object.

-
Parameters:
- - - -
objectObject to set end method for
endMethodthe method to set for object destruction (should be called just before object is released)
-
-
-
See also:
OBJ_setInitMethod(..)
-
-OBJ_setUpdateMethod(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void OBJ_setInitMethod (Objectobject,
ObjectCallbackinitMethod 
)
-
-
- -

Set the initialization method for the given object.

-
Parameters:
- - - -
objectObject to set init method for
initMethodthe method to set for object initialization (should be called after object creation)
-
-
-
See also:
OBJ_setUpdateMethod(..)
-
-OBJ_setEndMethod(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void OBJ_setUpdateMethod (Objectobject,
ObjectCallbackupdateMethod 
)
-
-
- -

Set the update method for the given object.

-
Parameters:
- - - -
objectObject to set update method for
updateMethodthe method to set for object update (should be called once per frame)
-
-
-
See also:
OBJ_setInitMethod(..)
-
-OBJ_setEndMethod(..)
- -
-
- -
-
- - - - - - - - -
void OBJ_updateAll (Poolpool)
-
-
- -

Iterate over all active objects from the given object pool and call update method for each of them.
-

-
Parameters:
- - -
poolObject pool to update all objects from.
-
-
-
Warning:
You need to always set 'maintainCoherency' to TRUE when using OBJ_release(..) otherwise stack iteration won't work correctly.
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/object_8h_source.html b/doc/html/object_8h_source.html deleted file mode 100644 index ad3b0fa4d..000000000 --- a/doc/html/object_8h_source.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - -sgdk: object.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
object.h
-
-
-Go to the documentation of this file.
00001 
-00024 #ifndef _OBJECT_H_
-00025 #define _OBJECT_H_
-00026 
-00027 #include "pool.h"
-00028 
-00029 
-00033 #define OBJ_ALLOCATED       0x8000
-00034 
-00035 
-00036 
-00037 // forward
-00038 typedef struct Object_ Object;
-00039 
-00047 typedef void ObjectCallback(Object* obj);
-00048 
-00064 typedef struct Object_
-00065 {
-00066     u16 internalState;
-00067     u16 type;
-00068     ObjectCallback* init;
-00069     ObjectCallback* update;
-00070     ObjectCallback* end;
-00071 } Object;
-00072 
-00073 
-00087 Pool* OBJ_createObjectPool(u16 size, u16 objectSize);
-00088 
-00101 Object* OBJ_create(Pool* pool);
-00117 void OBJ_release(Pool* pool, Object* object, bool maintainCoherency);
-00118 
-00128 void OBJ_updateAll(Pool* pool);
-00129 
-00142 void OBJ_setInitMethod(Object* object, ObjectCallback* initMethod);
-00155 void OBJ_setUpdateMethod(Object* object, ObjectCallback* updateMethod);
-00168 void OBJ_setEndMethod(Object* object, ObjectCallback* endMethod);
-00169 
-00170 
-00171 #endif // _OBJECT_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/open.png b/doc/html/open.png deleted file mode 100644 index 7b35d2c2c389743089632fe24c3104f2173d97af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{Vww^AIAr*{o=Nbw!DDW^(zOibV zl!F8B0?t?i!vld4k#$~0_AX3zElaokn - - - -sgdk: Related Pages - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- -
-
- -
-
-
- -
-
-
-
Related Pages
-
-
-
Here is a list of all related documentation pages:
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/pal_8h.html b/doc/html/pal_8h.html deleted file mode 100644 index 9fe4fe6a7..000000000 --- a/doc/html/pal_8h.html +++ /dev/null @@ -1,1463 +0,0 @@ - - - - -sgdk: pal.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
pal.h File Reference
-
-
- -

Palette support (herited from vdp_pal.h unit) -More...

-
#include "config.h"
-#include "types.h"
-#include "dma.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  Palette
 Palette structure contains color data. More...

-Defines

-#define VDPPALETTE_REDSFT   1
-#define VDPPALETTE_GREENSFT   5
-#define VDPPALETTE_BLUESFT   9
-#define VDPPALETTE_REDMASK   0x000E
-#define VDPPALETTE_GREENMASK   0x00E0
-#define VDPPALETTE_BLUEMASK   0x0E00
-#define VDPPALETTE_COLORMASK   0x0EEE
#define RGB24_TO_VDPCOLOR(color)   ((((((color) + 0x100000) < 0xFF0000 ? (color) + 0x100000 : 0xFF0000) >> (20)) & VDPPALETTE_REDMASK) | ((((((color) & 0xff00) + 0x1000) < 0xFF00 ? ((color) & 0xff00) + 0x1000 : 0xFF00) >> ((1 * 4) + 4)) & VDPPALETTE_GREENMASK) | ((((((color) & 0xff) + 0x10) < 0xFF ? ((color) & 0xff) + 0x10 : 0xFF) << 4) & VDPPALETTE_BLUEMASK))
 Convert a RGB 24 bits color to VDP color.
#define RGB3_3_3_TO_VDPCOLOR(r, g, b)   ((((r) & 7) << VDPPALETTE_REDSFT) | (((g) & 7) << VDPPALETTE_GREENSFT) | (((b) & 7) << VDPPALETTE_BLUESFT))
 Convert a RGB333 color to VDP color (VDP uses RGB333 internally)
#define RGB8_8_8_TO_VDPCOLOR(r, g, b)   RGB24_TO_VDPCOLOR(((((b) << 0) & 0xFF) | (((g) & 0xFF) << 8) | (((r) & 0xFF) << 16)))
 Convert a RGB888 color to VDP color (VDP uses RGB333 internally)
#define PAL_setColorsDMA(index, pal, count)   _Pragma("GCC error \"This method is deprecated, use PAL_setColors(..) instead.\"")
#define PAL_setPaletteColorsDMA(index, pal)   _Pragma("GCC error \"This method is deprecated, use PAL_setPaletteColors(..) instead.\"")
#define PAL_setPaletteDMA(numPal, pal)   _Pragma("GCC error \"This method is deprecated, use PAL_setPalette(..) instead.\"")

-Functions

u16 PAL_getColor (u16 index)
 Returns RGB color value from CRAM for the specified palette entry.
void PAL_getColors (u16 index, u16 *dest, u16 count)
 Read count RGB colors from CRAM starting at specified index and store them in specified destination palette.
void PAL_getPalette (u16 numPal, u16 *dest)
 Get a complete palette (16 colors) from CRAM.
void PAL_setColor (u16 index, u16 value)
 Set RGB color into CRAM for the specified palette entry.
void PAL_setColors (u16 index, const u16 *pal, u16 count, TransferMethod tm)
 Write RGB colors into CRAM for the specified palette entries.
void PAL_setPaletteColors (u16 index, const Palette *pal, TransferMethod tm)
 Write the given Palette RGB colors into CRAM for the specified palette entries.
void PAL_setPalette (u16 numPal, const u16 *pal, TransferMethod tm)
 Set a complete palette (16 colors) into CRAM.
bool PAL_initFade (u16 fromCol, u16 toCol, const u16 *palSrc, const u16 *palDst, u16 numFrame)
 Initialize a fading operation that will be manually controlled through PAL_doFadeStep() calls.
bool PAL_doFadeStep (void)
 Update palette to process one iteration of current fade operation (see PAL_initFade(..) method)
void PAL_fade (u16 fromCol, u16 toCol, const u16 *palSrc, const u16 *palDst, u16 numFrame, bool async)
 General palette fading effect.
void PAL_fadeTo (u16 fromCol, u16 toCol, const u16 *pal, u16 numFrame, bool async)
 Fade current color palette to specified one.
void PAL_fadeOut (u16 fromCol, u16 toCol, u16 numFrame, bool async)
 Fade out (current color to black) effect.
void PAL_fadeIn (u16 fromCol, u16 toCol, const u16 *pal, u16 numFrame, bool async)
 Fade in (black to specified color) effect.
void PAL_fadePalette (u16 numPal, const u16 *palSrc, const u16 *palDst, u16 numFrame, bool async)
 Do palette fade effect.
void PAL_fadeToPalette (u16 numPal, const u16 *pal, u16 numFrame, bool async)
 Fade current palette to specified one.
void PAL_fadeOutPalette (u16 numPal, u16 numFrame, bool async)
 Fade out (current color to black) effect.
void PAL_fadeInPalette (u16 numPal, const u16 *pal, u16 numFrame, bool async)
 Fade in (black to specified color) effect.
void PAL_fadeAll (const u16 *palSrc, const u16 *palDst, u16 numFrame, bool async)
 Global palette fading effect.
void PAL_fadeToAll (const u16 *pal, u16 numFrame, bool async)
 Palettes fade to specified one.
void PAL_fadeOutAll (u16 numFrame, bool async)
 Fade out (current color to black) effect.
void PAL_fadeInAll (const u16 *pal, u16 numFrame, bool async)
 Fade in (black to specified color) effect.
-bool PAL_isDoingFade (void)
 Returns TRUE if currently doing a asynchronous fade operation.
-void PAL_waitFadeCompletion (void)
 Wait for palette fading operation to complete (for asynchrone fading).
-void PAL_interruptFade (void)
 Interrupt any asynchronous palette fading effect.

-Variables

-const u16 *const palette_black
 Default black palette.
-const u16 palette_grey [16]
 Default grey palette.
-const u16 palette_red [16]
 Default red palette.
-const u16 palette_green [16]
 Default green palette.
-const u16 palette_blue [16]
 Default blue palette.
-u16 fadeCurrentPal [64]
 Current fade palette.
-u16 fadeEndPal [64]
 End fade palette.
-

Detailed Description

-

Palette support (herited from vdp_pal.h unit)

-
Author:
Stephane Dallongeville
-
Date:
06/2019
-

This unit provides methods to manipulate the VDP Color Palette.
- The Sega Genesis VDP has 4 palettes of 16 colors.
- Color is defined with 3 bits for each component : xxxxBBBxGGGxRRRx

-

Define Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define PAL_setColorsDMA( index,
 pal,
 count 
)   _Pragma("GCC error \"This method is deprecated, use PAL_setColors(..) instead.\"")
-
-
-
Deprecated:
Use PAL_setColors(..) instead
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define PAL_setPaletteColorsDMA( index,
 pal 
)   _Pragma("GCC error \"This method is deprecated, use PAL_setPaletteColors(..) instead.\"")
-
-
-
Deprecated:
Use PAL_setPaletteColors(..) instead
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define PAL_setPaletteDMA( numPal,
 pal 
)   _Pragma("GCC error \"This method is deprecated, use PAL_setPalette(..) instead.\"")
-
-
-
Deprecated:
Use PAL_setPalette(..) instead
- -
-
- -
-
- - - - - - - - -
#define RGB24_TO_VDPCOLOR( color)   ((((((color) + 0x100000) < 0xFF0000 ? (color) + 0x100000 : 0xFF0000) >> (20)) & VDPPALETTE_REDMASK) | ((((((color) & 0xff00) + 0x1000) < 0xFF00 ? ((color) & 0xff00) + 0x1000 : 0xFF00) >> ((1 * 4) + 4)) & VDPPALETTE_GREENMASK) | ((((((color) & 0xff) + 0x10) < 0xFF ? ((color) & 0xff) + 0x10 : 0xFF) << 4) & VDPPALETTE_BLUEMASK))
-
-
- -

Convert a RGB 24 bits color to VDP color.

-
Parameters:
- - -
colorRGB 24 bits color
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define RGB3_3_3_TO_VDPCOLOR( r,
 g,
 
)   ((((r) & 7) << VDPPALETTE_REDSFT) | (((g) & 7) << VDPPALETTE_GREENSFT) | (((b) & 7) << VDPPALETTE_BLUESFT))
-
-
- -

Convert a RGB333 color to VDP color (VDP uses RGB333 internally)

-
Parameters:
- - - - -
rRed intensity (0-7)
gGreen intensity (0-7)
bBlue intensity (0-7)
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define RGB8_8_8_TO_VDPCOLOR( r,
 g,
 
)   RGB24_TO_VDPCOLOR(((((b) << 0) & 0xFF) | (((g) & 0xFF) << 8) | (((r) & 0xFF) << 16)))
-
-
- -

Convert a RGB888 color to VDP color (VDP uses RGB333 internally)

-
Parameters:
- - - - -
rRed intensity (0-255)
gGreen intensity (0-255)
bBlue intensity (0-255)
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - -
bool PAL_doFadeStep (void )
-
-
- -

Update palette to process one iteration of current fade operation (see PAL_initFade(..) method)

-
Returns:
TRUE when fading operation is not yet complete, FALSE otherwise
-
See also:
PAL_initFade(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_fade (u16 fromCol,
u16 toCol,
const u16palSrc,
const u16palDst,
u16 numFrame,
bool async 
)
-
-
- -

General palette fading effect.

-
Parameters:
- - - - - - - -
fromColStart color index for the fade effect (0-63).
toColEnd color index for the fade effect (0-63 and >= fromCol).
palSrcFade departure palette.
palDstFade arrival palette.
numFrameDuration of palette fading in number of frame.
asyncAsync process.
- If set the function return immediatly else the function wait for fading to complete.
-
-
-

This function does general palette fading effect.
- The fade operation is done to all palette entries between 'fromCol' and 'toCol'.
- Example: fading to all palette entries --> fromCol = 0 and toCol = 63

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_fadeAll (const u16palSrc,
const u16palDst,
u16 numFrame,
bool async 
)
-
-
- -

Global palette fading effect.

-
Parameters:
- - - - - -
palSrcFade departure palette (should contains 64 colors entries).
palDstFade arrival palette (should contains 64 colors entries).
numFrameDuration of palette fading in number of frame.
asyncAsync process.
- If set the function return immediatly else the function wait for fading to complete.
-
-
-

The fade operation is done to all palette entries.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_fadeIn (u16 fromCol,
u16 toCol,
const u16pal,
u16 numFrame,
bool async 
)
-
-
- -

Fade in (black to specified color) effect.

-
Parameters:
- - - - - - -
fromColStart color index for the fade operation (0-63).
toColEnd color index for the fade operation (0-63 and >= fromCol).
palFade arrival palette.
numFrameDuration of palette fading in number of frame.
asyncAsync process.
- If set the function return immediatly else the function wait for fading to complete.
-
-
-

See PAL_fade() for more informations.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_fadeInAll (const u16pal,
u16 numFrame,
bool async 
)
-
-
- -

Fade in (black to specified color) effect.

-
Parameters:
- - - - -
palFade arrival palette (should contains 64 entries).
numFrameDuration of palette fading in number of frame.
asyncAsync process.
- If set the function return immediatly else the function wait for fading to complete.
-
-
-

The fade operation is done to all palette entries.
- See PAL_fadeAll().

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_fadeInPalette (u16 numPal,
const u16pal,
u16 numFrame,
bool async 
)
-
-
- -

Fade in (black to specified color) effect.

-
Parameters:
- - - - - -
numPalPalette to fade.
palFade arrival palette.
numFrameDuration of palette fading in number of frame.
asyncAsync process.
- If set the function return immediatly else the function wait for fading to complete.
-
-
-

See PAL_fadePal() for more informations.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_fadeOut (u16 fromCol,
u16 toCol,
u16 numFrame,
bool async 
)
-
-
- -

Fade out (current color to black) effect.

-
Parameters:
- - - - - -
fromColStart color index for the fade operation (0-63).
toColEnd color index for the fade operation (0-63 and >= fromCol).
numFrameDuration of palette fading in number of frame.
asyncAsync process.
- If set the function return immediatly else the function wait for fading to complete.
-
-
-

See PAL_fade() for more informations.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void PAL_fadeOutAll (u16 numFrame,
bool async 
)
-
-
- -

Fade out (current color to black) effect.

-
Parameters:
- - - -
numFrameDuration of palette fading in number of frame.
asyncAsync process.
- If set the function return immediatly else the function wait for fading to complete.
-
-
-

The fade operation is done to all palette entries.
- See PAL_fadeAll().

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_fadeOutPalette (u16 numPal,
u16 numFrame,
bool async 
)
-
-
- -

Fade out (current color to black) effect.

-
Parameters:
- - - - -
numPalPalette to fade.
numFrameDuration of palette fading in number of frame.
asyncAsync process.
- If set the function return immediatly else the function wait for fading to complete.
-
-
-

See PAL_fadePal() for more informations.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_fadePalette (u16 numPal,
const u16palSrc,
const u16palDst,
u16 numFrame,
bool async 
)
-
-
- -

Do palette fade effect.

-
Parameters:
- - - - - - -
numPalPalette number to use for fade effect.
palSrcFade departure palette.
palDstFade arrival palette.
numFrameDuration of palette fading in number of frame.
asyncAsync process.
- If set the function return immediatly else the function wait for fading to complete.
-
-
-

The fade operation is done to all specified palette entries.
- See PAL_fade() for more informations.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_fadeTo (u16 fromCol,
u16 toCol,
const u16pal,
u16 numFrame,
bool async 
)
-
-
- -

Fade current color palette to specified one.

-
Parameters:
- - - - - - -
fromColStart color index for the fade operation (0-63).
toColEnd color index for the fade operation (0-63 and >= fromCol).
palFade arrival palette.
numFrameDuration of palette fading in number of frame.
asyncAsync process.
- If set the function return immediatly else the function wait for fading to complete.
-
-
-

See PAL_fade() for more informations.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_fadeToAll (const u16pal,
u16 numFrame,
bool async 
)
-
-
- -

Palettes fade to specified one.

-
Parameters:
- - - - -
palFade arrival palette (should contains 64 entries).
numFrameDuration of palette fading in number of frame.
asyncAsync process.
- If set the function return immediatly else the function wait for fading to complete.
-
-
-

The fade operation is done to all palette entries.
- See PAL_fadeAll().

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_fadeToPalette (u16 numPal,
const u16pal,
u16 numFrame,
bool async 
)
-
-
- -

Fade current palette to specified one.

-
Parameters:
- - - - - -
numPalPalette to fade.
palFade arrival palette.
numFrameDuration of palette fading in number of frame.
asyncAsync process.
- If set the function return immediatly else the function wait for fading to complete.
-
-
-

See PAL_fadePal() for more informations.

- -
-
- -
-
- - - - - - - - -
u16 PAL_getColor (u16 index)
-
-
- -

Returns RGB color value from CRAM for the specified palette entry.

-
Parameters:
- - -
indexColor index (0-63).
-
-
-
Returns:
RGB intensity for the specified color index.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_getColors (u16 index,
u16dest,
u16 count 
)
-
-
- -

Read count RGB colors from CRAM starting at specified index and store them in specified destination palette.

-
Parameters:
- - - - -
indexColor index where start to read (0-63).
destDestination palette where to write read the RGB color values (should be large enough to store count colors).
countNumber of color to get.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void PAL_getPalette (u16 numPal,
u16dest 
)
-
-
- -

Get a complete palette (16 colors) from CRAM.

-
Parameters:
- - - -
numPalPalette number: PAL0, PAL1, PAL2 or PAL3
destDestination where to write palette colors (should be 16 words long at least)
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool PAL_initFade (u16 fromCol,
u16 toCol,
const u16palSrc,
const u16palDst,
u16 numFrame 
)
-
-
- -

Initialize a fading operation that will be manually controlled through PAL_doFadeStep() calls.

-
Parameters:
- - - - - - -
fromColStart color index for the fade operation (0-63).
toColEnd color index for the fade operation (0-63 and >= fromCol).
palSrcFade departure palette.
palDstFade arrival palette.
numFrameDuration of palette fading in number of frame.
-
-
-
See also:
PAL_doFadeStep(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void PAL_setColor (u16 index,
u16 value 
)
-
-
- -

Set RGB color into CRAM for the specified palette entry.

-
Parameters:
- - - -
indexColor index to set (0-63).
valueRGB intensity to set at the specified color index.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_setColors (u16 index,
const u16pal,
u16 count,
TransferMethod tm 
)
-
-
- -

Write RGB colors into CRAM for the specified palette entries.

-
Parameters:
- - - - - -
indexColor index where to start to write (0-63).
palRGB intensities to set.
countNumber of color to set.
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
    -
  • -
-
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_setPalette (u16 numPal,
const u16pal,
TransferMethod tm 
)
-
-
- -

Set a complete palette (16 colors) into CRAM.

-
Parameters:
- - - - -
numPalPalette number: PAL0, PAL1, PAL2 or PAL3
palSource palette.
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
    -
  • -
-
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void PAL_setPaletteColors (u16 index,
const Palettepal,
TransferMethod tm 
)
-
-
- -

Write the given Palette RGB colors into CRAM for the specified palette entries.

-
Parameters:
- - - - -
indexColor index where to start to write (0-63).
palSource Palette.
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
    -
  • -
-
-
-
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/pal_8h_source.html b/doc/html/pal_8h_source.html deleted file mode 100644 index 28ede304f..000000000 --- a/doc/html/pal_8h_source.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - -sgdk: pal.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
pal.h
-
-
-Go to the documentation of this file.
00001 
-00012 #include "config.h"
-00013 #include "types.h"
-00014 #include "dma.h"
-00015 
-00016 #ifndef _PAL_H_
-00017 #define _PAL_H_
-00018 
-00019 #define VDPPALETTE_REDSFT           1
-00020 #define VDPPALETTE_GREENSFT         5
-00021 #define VDPPALETTE_BLUESFT          9
-00022 
-00023 #define VDPPALETTE_REDMASK          0x000E
-00024 #define VDPPALETTE_GREENMASK        0x00E0
-00025 #define VDPPALETTE_BLUEMASK         0x0E00
-00026 #define VDPPALETTE_COLORMASK        0x0EEE
-00027 
-00035 #define RGB24_TO_VDPCOLOR(color)    ((((((color) + 0x100000) < 0xFF0000 ? (color) + 0x100000 : 0xFF0000) >> (20)) & VDPPALETTE_REDMASK) | ((((((color) & 0xff00) + 0x1000) < 0xFF00 ? ((color) & 0xff00) + 0x1000 : 0xFF00) >> ((1 * 4) + 4)) & VDPPALETTE_GREENMASK) | ((((((color) & 0xff) + 0x10) < 0xFF ? ((color) & 0xff) + 0x10 : 0xFF) << 4) & VDPPALETTE_BLUEMASK))
-00036 
-00048 #define RGB3_3_3_TO_VDPCOLOR(r, g, b) ((((r) & 7) << VDPPALETTE_REDSFT) | (((g) & 7) << VDPPALETTE_GREENSFT) | (((b) & 7) << VDPPALETTE_BLUESFT))
-00049 
-00061 #define RGB8_8_8_TO_VDPCOLOR(r, g, b) RGB24_TO_VDPCOLOR(((((b) << 0) & 0xFF) | (((g) & 0xFF) << 8) | (((r) & 0xFF) << 16)))
-00062 
-00072 typedef struct
-00073 {
-00074     u16 length;
-00075     u16* data;
-00076 } Palette;
-00077 
-00078 
-00083 extern const u16* const palette_black;
-00088 extern const u16 palette_grey[16];
-00093 extern const u16 palette_red[16];
-00098 extern const u16 palette_green[16];
-00103 extern const u16 palette_blue[16];
-00104 
-00109 extern u16 fadeCurrentPal[64];
-00114 extern u16 fadeEndPal[64];
-00115 
-00124 u16  PAL_getColor(u16 index);
-00136 void  PAL_getColors(u16 index, u16* dest, u16 count);
-00146 void PAL_getPalette(u16 numPal, u16* dest);
-00147 
-00157 void PAL_setColor(u16 index, u16 value);
-00176 void PAL_setColors(u16 index, const u16* pal, u16 count, TransferMethod tm);
-00193 void PAL_setPaletteColors(u16 index, const Palette* pal, TransferMethod tm);
-00210 void PAL_setPalette(u16 numPal, const u16* pal, TransferMethod tm);
-00211 
-00216 #define PAL_setColorsDMA(index, pal, count)     _Pragma("GCC error \"This method is deprecated, use PAL_setColors(..) instead.\"")
-00217 
-00221 #define PAL_setPaletteColorsDMA(index, pal)     _Pragma("GCC error \"This method is deprecated, use PAL_setPaletteColors(..) instead.\"")
-00222 
-00226 #define PAL_setPaletteDMA(numPal, pal)          _Pragma("GCC error \"This method is deprecated, use PAL_setPalette(..) instead.\"")
-00227 
-00245 bool PAL_initFade(u16 fromCol, u16 toCol, const u16* palSrc, const u16* palDst, u16 numFrame);
-00254 bool PAL_doFadeStep(void);
-00255 
-00278 void PAL_fade(u16 fromCol, u16 toCol, const u16* palSrc, const u16* palDst, u16 numFrame, bool async);
-00297 void PAL_fadeTo(u16 fromCol, u16 toCol, const u16* pal, u16 numFrame, bool async);
-00314 void PAL_fadeOut(u16 fromCol, u16 toCol, u16 numFrame, bool async);
-00333 void PAL_fadeIn(u16 fromCol, u16 toCol, const u16* pal, u16 numFrame, bool async);
-00334 
-00354 void PAL_fadePalette(u16 numPal, const u16* palSrc, const u16* palDst, u16 numFrame, bool async);
-00371 void PAL_fadeToPalette(u16 numPal, const u16* pal, u16 numFrame, bool async);
-00386 void PAL_fadeOutPalette(u16 numPal, u16 numFrame, bool async);
-00403 void PAL_fadeInPalette(u16 numPal, const u16* pal, u16 numFrame, bool async);
-00404 
-00421 void PAL_fadeAll(const u16* palSrc, const u16* palDst, u16 numFrame, bool async);
-00437 void PAL_fadeToAll(const u16* pal, u16 numFrame, bool async);
-00451 void PAL_fadeOutAll(u16 numFrame, bool async);
-00467 void PAL_fadeInAll(const u16* pal, u16 numFrame, bool async);
-00468 
-00473 bool PAL_isDoingFade(void);
-00478 void PAL_waitFadeCompletion(void);
-00483 void PAL_interruptFade(void);
-00484 
-00485 
-00486 #endif // _VDP_PAL_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/pool_8h.html b/doc/html/pool_8h.html deleted file mode 100644 index 9f05c3106..000000000 --- a/doc/html/pool_8h.html +++ /dev/null @@ -1,454 +0,0 @@ - - - - -sgdk: pool.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
pool.h File Reference
-
-
- -

Pool object management unit. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - -

-Classes

struct  Pool
 Object pool allocator structure. More...

-Functions

PoolPOOL_create (u16 size, u16 objectSize)
 Create and allocate a new object pool allocator.
void POOL_destroy (Pool *pool)
 Release the specified object pool allocator.
void POOL_reset (Pool *pool, bool clear)
 Reset the 'object' pool allocator.
void * POOL_allocate (Pool *pool)
 Allocate a new 'object' from the specified object pool.
void POOL_release (Pool *pool, void *object, bool maintainCoherency)
 Release an objet from the specified object pool.
u16 POOL_getFree (Pool *pool)
u16 POOL_getNumAllocated (Pool *pool)
void ** POOL_getFirst (Pool *pool)
s16 POOL_find (Pool *pool, void *object)
-

Detailed Description

-

Pool object management unit.

-
Author:
Stephane Dallongeville
-
Date:
02/2022
-

This unit provides methods to manage dynamic object allocation.
-
- You can use Pool object to handle dynamic allocation from a fixed set of objects.
- For instance if you may need to handle dynamically bullets for your game and you want to have at max 20 bullets, you can handle it that way:

-
- Pool* bulletPool = POOL_create(20, sizeof(Bullet));
- ...
- // create a new bullet
- Bullet* bullet = POOL_allocate(bulletPool);
- // check if bullet was correctly created and do your stuff..
- if (bullet != NULL)
- {
-    ...
- }
- ...
- // release your bullet
- POOL_release(bulletPool, bullet);
- 

Pool object is also very useful for fast iteration over allocated objects:

-
- Bullet** bullets = POOL_getFirst(bulletPool);
- u16 num = POOL_getNumAllocated(bulletPool);
- while(num--)
- {
-    Bullet* bullet = *bullets++;
-    // do whatever you need on your bullet
-    ...
- }

Function Documentation

- -
-
- - - - - - - - -
void* POOL_allocate (Poolpool)
-
-
- -

Allocate a new 'object' from the specified object pool.

-
Parameters:
- - -
poolObject pool allocator
-
-
-
Returns:
the allocated object or NULL if an error occured (no more available object in pool or invalid pool)
-
See also:
POOL_release(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
Pool* POOL_create (u16 size,
u16 objectSize 
)
-
-
- -

Create and allocate a new object pool allocator.

-
Parameters:
- - - -
sizethe capacity of the pool (in number of object)
objectSizethe size of a single object (usually you should use sizeof(Struct) here, always aligned on 2)
-
-
-
Returns:
the new created object pool or NULL if there is not enough memory available for that.
-
See also:
POOL_destroy(..)
-
-POOL_reset(..)
- -
-
- -
-
- - - - - - - - -
void POOL_destroy (Poolpool)
-
-
- -

Release the specified object pool allocator.

-
Parameters:
- - -
poolObject pool allocator to release
-
-
-
See also:
POOL_create(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
s16 POOL_find (Poolpool,
void * object 
)
-
-
-
Returns:
the position of an object in the alloc stack or -1 if the object isn't found (useful for debug purpose mainly)
-
Parameters:
- - - -
poolObject pool allocator
objectObject to get slot position
-
-
- -
-
- -
-
- - - - - - - - -
void** POOL_getFirst (Poolpool)
-
-
-
Returns:
the start position of allocated objects in the alloc stack (useful to iterate over all allocated objects)
-
Parameters:
- - -
poolObject pool allocator
-
-
-
See also:
POOL_getNumAllocated(..)
- -
-
- -
-
- - - - - - - - -
u16 POOL_getFree (Poolpool)
-
-
-
Returns:
the number of free object in the pool
-
Parameters:
- - -
poolObject pool allocator
-
-
- -
-
- -
-
- - - - - - - - -
u16 POOL_getNumAllocated (Poolpool)
-
-
-
Returns:
the number of allocated object in the pool
-
Parameters:
- - -
poolObject pool allocator
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void POOL_release (Poolpool,
void * object,
bool maintainCoherency 
)
-
-
- -

Release an objet from the specified object pool.

-
Parameters:
- - - - -
poolObject pool allocator
objectObject to release
maintainCoherencyset it to TRUE if you want to keep coherency for stack iteration (see POOL_getFirst()).
- Set it to FALSE for faster release process if you don't require object iteration through alloc stack.
-
-
-
See also:
POOL_allocate(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void POOL_reset (Poolpool,
bool clear 
)
-
-
- -

Reset the 'object' pool allocator.

-
Parameters:
- - - -
poolObject pool allocator to reset
clearif set to TRUE then objects memory is cleared (initialized to 0)
-
-
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/pool_8h_source.html b/doc/html/pool_8h_source.html deleted file mode 100644 index 81052f4fd..000000000 --- a/doc/html/pool_8h_source.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - -sgdk: pool.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
pool.h
-
-
-Go to the documentation of this file.
00001 
-00037 #ifndef _POOL_H_
-00038 #define _POOL_H_
-00039 
-00040 
-00056 typedef struct
-00057 {
-00058     void* bank;
-00059     void** allocStack;
-00060     void** free;
-00061     u16 objectSize;
-00062     u16 size;
-00063 } Pool;
-00064 
-00065 
-00080 Pool* POOL_create(u16 size, u16 objectSize);
-00090 void POOL_destroy(Pool* pool);
-00091 
-00101 void POOL_reset(Pool* pool, bool clear);
-00102 
-00114 void* POOL_allocate(Pool* pool);
-00129 void POOL_release(Pool* pool, void* object, bool maintainCoherency);
-00130 
-00138 u16 POOL_getFree(Pool* pool);
-00146 u16 POOL_getNumAllocated(Pool* pool);
-00147 
-00157 void** POOL_getFirst(Pool* pool);
-00158 
-00168 s16 POOL_find(Pool* pool, void* object);
-00169 
-00170 
-00171 #endif // _POOL_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/psg_8h.html b/doc/html/psg_8h.html deleted file mode 100644 index 1bd328bcf..000000000 --- a/doc/html/psg_8h.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - -sgdk: psg.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
psg.h File Reference
-
-
- -

PSG support. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define PSG_PORT   0xC00011
 PSG port address.
-#define PSG_ENVELOPE_MIN   15
 Minimum PSG envelope value.
-#define PSG_ENVELOPE_MAX   0
 Maximum PSG envelope value.
-#define PSG_NOISE_TYPE_PERIODIC   0
 Periodic noise type (like low-frequency tone).
-#define PSG_NOISE_TYPE_WHITE   1
 White noise type (hiss).
-#define PSG_NOISE_FREQ_CLOCK2   0
 Noise frequency = PSG clock / 2 (less coarse).
-#define PSG_NOISE_FREQ_CLOCK4   1
 Noise frequency = PSG clock / 4.
-#define PSG_NOISE_FREQ_CLOCK8   2
 Noise frequency = PSG clock / 8 (more coarse).
-#define PSG_NOISE_FREQ_TONE3   3
 Noise frequency = Tone generator #3.
#define PSG_init()   _Pragma("GCC error \"This method is deprecated, use PSG_reset() instead.\"")

-Functions

-void PSG_reset (void)
 Reset PSG chip.
void PSG_write (u8 data)
 Write to PSG port.
void PSG_setEnvelope (u8 channel, u8 value)
 Set envelope level.
void PSG_setTone (u8 channel, u16 value)
 Set tone.
void PSG_setToneLow (u8 channel, u8 value)
 Partial set tone (low bit only b3-b0).
void PSG_setFrequency (u8 channel, u16 value)
 Set frequency.
void PSG_setNoise (u8 type, u8 frequency)
 Set noise type and frequency.
-

Detailed Description

-

PSG support.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides access to the PSG through the 68000 CPU

-

Define Documentation

- -
-
- - - - - - - -
#define PSG_init()   _Pragma("GCC error \"This method is deprecated, use PSG_reset() instead.\"")
-
-
-
Deprecated:
use PSG_reset() instead
- -
-
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
void PSG_setEnvelope (u8 channel,
u8 value 
)
-
-
- -

Set envelope level.

-
Parameters:
- - - -
channelChannel we want to set envelope (0-3).
valueEnvelope level to set (PSG_ENVELOPE_MIN - PSG_ENVELOPE_MAX).
-
-
-

Set envelope level for the specified PSG channel.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void PSG_setFrequency (u8 channel,
u16 value 
)
-
-
- -

Set frequency.

-
Parameters:
- - - -
channelChannel we want to set frequency (0-3).
valueFrequency value to set in Hz (0-4095).
-
-
-

Set frequency for the specified PSG channel.
- This method actually converts the specified frequency value in PSG tone value.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void PSG_setNoise (u8 type,
u8 frequency 
)
-
-
- -

Set noise type and frequency.

-
Parameters:
- - - -
typeNoise type, accepted values are:
- PSG_NOISE_TYPE_PERIODIC
- PSG_NOISE_TYPE_WHITE
frequencyNoise frequency, accepted values are:
- PSG_NOISE_FREQ_CLOCK2
- PSG_NOISE_FREQ_CLOCK4
- PSG_NOISE_FREQ_CLOCK8
- PSG_NOISE_FREQ_TONE3
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void PSG_setTone (u8 channel,
u16 value 
)
-
-
- -

Set tone.

-
Parameters:
- - - -
channelChannel we want to set tone (0-3).
valueTone value to set (0-1023).
-
-
-

Set direct tone value for the specified PSG channel.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void PSG_setToneLow (u8 channel,
u8 value 
)
-
-
- -

Partial set tone (low bit only b3-b0).

-
Parameters:
- - - -
channelChannel we want to set tone (0-3).
valueLow bit (b3-b0) of tone value to set (0-15)
-
-
-

Set low part of tone value for the specified PSG channel.

- -
-
- -
-
- - - - - - - - -
void PSG_write (u8 data)
-
-
- -

Write to PSG port.

-
Parameters:
- - -
datavalue to write to the port.
-
-
-

Write the specified value to PSG data port.

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/psg_8h_source.html b/doc/html/psg_8h_source.html deleted file mode 100644 index 48a2a2f82..000000000 --- a/doc/html/psg_8h_source.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - -sgdk: psg.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
psg.h
-
-
-Go to the documentation of this file.
00001 
-00010 #ifndef _PSG_H_
-00011 #define _PSG_H_
-00012 
-00017 #define PSG_PORT            0xC00011
-00018 
-00023 #define PSG_ENVELOPE_MIN    15
-00024 
-00028 #define PSG_ENVELOPE_MAX    0
-00029 
-00034 #define PSG_NOISE_TYPE_PERIODIC 0
-00035 
-00039 #define PSG_NOISE_TYPE_WHITE    1
-00040 
-00045 #define PSG_NOISE_FREQ_CLOCK2   0
-00046 
-00050 #define PSG_NOISE_FREQ_CLOCK4   1
-00051 
-00055 #define PSG_NOISE_FREQ_CLOCK8   2
-00056 
-00060 #define PSG_NOISE_FREQ_TONE3    3
-00061 
-00062 
-00066 #define PSG_init()  _Pragma("GCC error \"This method is deprecated, use PSG_reset() instead.\"")
-00067 
-00072 void PSG_reset(void);
-00073 
-00084 void PSG_write(u8 data);
-00085 
-00097 void PSG_setEnvelope(u8 channel, u8 value);
-00109 void PSG_setTone(u8 channel, u16 value);
-00121 void PSG_setToneLow(u8 channel, u8 value);
-00134 void PSG_setFrequency(u8 channel, u16 value);
-00150 void PSG_setNoise(u8 type, u8 frequency);
-00151 
-00152 
-00153 #endif // _PSG_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/resize.js b/doc/html/resize.js deleted file mode 100644 index 04fa95ce9..000000000 --- a/doc/html/resize.js +++ /dev/null @@ -1,81 +0,0 @@ -var cookie_namespace = 'doxygen'; -var sidenav,navtree,content,header; - -function readCookie(cookie) -{ - var myCookie = cookie_namespace+"_"+cookie+"="; - if (document.cookie) - { - var index = document.cookie.indexOf(myCookie); - if (index != -1) - { - var valStart = index + myCookie.length; - var valEnd = document.cookie.indexOf(";", valStart); - if (valEnd == -1) - { - valEnd = document.cookie.length; - } - var val = document.cookie.substring(valStart, valEnd); - return val; - } - } - return 0; -} - -function writeCookie(cookie, val, expiration) -{ - if (val==undefined) return; - if (expiration == null) - { - var date = new Date(); - date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week - expiration = date.toGMTString(); - } - document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; -} - -function resizeWidth() -{ - var windowWidth = $(window).width() + "px"; - var sidenavWidth = $(sidenav).width(); - content.css({marginLeft:parseInt(sidenavWidth)+6+"px"}); //account for 6px-wide handle-bar - writeCookie('width',sidenavWidth, null); -} - -function restoreWidth(navWidth) -{ - var windowWidth = $(window).width() + "px"; - content.css({marginLeft:parseInt(navWidth)+6+"px"}); - sidenav.css({width:navWidth + "px"}); -} - -function resizeHeight() -{ - var headerHeight = header.height(); - var footerHeight = footer.height(); - var windowHeight = $(window).height() - headerHeight - footerHeight; - content.css({height:windowHeight + "px"}); - navtree.css({height:windowHeight + "px"}); - sidenav.css({height:windowHeight + "px",top: headerHeight+"px"}); -} - -function initResizable() -{ - header = $("#top"); - sidenav = $("#side-nav"); - content = $("#doc-content"); - navtree = $("#nav-tree"); - footer = $("#nav-path"); - $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); - $(window).resize(function() { resizeHeight(); }); - var width = readCookie('width'); - if (width) { restoreWidth(width); } else { resizeWidth(); } - resizeHeight(); - var url = location.href; - var i=url.indexOf("#"); - if (i>=0) window.location.hash=url.substr(i); - var _preventDefault = function(evt) { evt.preventDefault(); }; - $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); -} - - diff --git a/doc/html/saveman_8h.html b/doc/html/saveman_8h.html deleted file mode 100644 index ba229496f..000000000 --- a/doc/html/saveman_8h.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - -sgdk: saveman.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
saveman.h File Reference
-
-
- -

Save manager for flash memory chips supported by the flash module. -More...

-
#include "types.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - -

-Enumerations

enum  {
-  SM_STAT_PARAM_ERR = -3, -SM_STAT_HW_ERR = -2, -SM_STAT_ERR = -1, -SM_STAT_OK = 0, -
-  SM_STAT_WARN_NO_DATA = 1 -
- }
 Status code for some of the function calls /. More...

-Functions

int16_t sm_init (uint8_t num_slots, uint32_t max_length_restrict)
 Initialise save manager module. Must be called once before invoking any other function in the module.
-void sm_deinit (void)
 Deinitialises save manager module. Usually you do not have to use this function.
int16_t sm_load (uint8_t slot, void *save_data, uint16_t len)
 Load previously saved data for the specified slot.
int16_t sm_save (uint8_t slot, const void *save_data, uint16_t len)
 Save data to the specified slot.
int16_t sm_delete (uint8_t slot)
 Delete data from specified slot.
int16_t sm_clear (uint8_t num_slots)
 Deletes all save data from all save slots, and reinitializes the module to support the requested number of save slots.
-

Detailed Description

-

Save manager for flash memory chips supported by the flash module.

-
Author:
Jesus Alonso (doragasu)
-
Date:
10/2022
-

This module allows saving data to non volatile flash chips. It supports as many save slots as required, and arbitrary data lengths can be written to each slot. This allows defining for example a 5 slot layout that uses slot 0 for the game configuration, slot 1 to keep high scores and slots 2 to 4 to save games. Each time data is written to a slot, it replaces whatever was written to the slot previously.

-

The module uses two sectors from the flash chip in order to implement flash wear leveling and safe save: the save file is not lost even if there is a power cut during save operation. Note that typical flash chips used in carts such as Krikkzz Flash Kit Cart use 64 KiB sectors at the end of the flash, so if you want to use this module, it will use the top 128 KiB of the ROM address space by default. Keep this in mind because if code/data falls there, it will be erased by this module routines, breaking your game! There is also a way to use 8 KiB sectors from these carts, in order to waste 16 KiB instead of 128 KiB, but it is a bit tricky, so unless you are very tight on ROM space, better use the default layout. Using the default 128 KiB layout has two additional benefits: wear is reduced and bigger save lengths are possible.

-

Note when you define the slot layout, you must make sure all of them fit in a single sector (plus a bit more room for internal headers). So e.g. if you use 64 KiB sectors and have 5 slots with 2 KiB each, that will fit without a problem, but if you use 8 KiB sectors, that config will not fit (5 x 2 KiB = 10 KiB, bigger than the 8 KiB available in the sector). Make sure your sector configuration is correct, because if it isn't, the module will work initially, but will fail when more slots are saved and they do not fit in one sector.

-

Typical usage of the module is as follows:

-

1. Call sm_init() to initialize the module. Make sure it is always called with the same parameters. 2. Call sm_load() to load data, sm_save() to save data and sm_delete() to delete saved data. 3. In case you need to perform a factory reset, call sm_clear().

-

The module has been carefully written, but some of its logic is a bit complex, so make sure you test it thoroughly just in case there is a bug lurking inside!

-
Note:
Excepting sm_load(), all module functions stop Z80 and disable interrupts until they return. Thus you shall make sure no music or sound is playing when you call them.
-
Warning:
Save/load buffers must be word aligned or you will get a SM_STAT_INVALID_PARAM_ERR error. Variables using types with a length equal or bigger than 2 bytes will be aligned (same as structs with at least one variable obeying this rule), but if variable has a type with length 1 (such as a char array), to make sure it is aligned, you can use the attribute: __attribute__((aligned(2))) in the declaration.
-
-If any save write operation returns a SM_STAT_HW_ERR, something weird has occurred. Your best chance if this happens is to either restart the console or at least deinit and init this module to let the init routine try correcting the mess and avoid further data loss.
-

Enumeration Type Documentation

- -
-
- - - - -
anonymous enum
-
-
- -

Status code for some of the function calls /.

-
Enumerator:
- - - - - -
SM_STAT_PARAM_ERR  -

Invalid parameter in function call.

-
SM_STAT_HW_ERR  -

Flash chip hardware related error.

-
SM_STAT_ERR  -

Generic error.

-
SM_STAT_OK  -

Success.

-
SM_STAT_WARN_NO_DATA  -

Success, chip has no data saved.

-
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - -
int16_t sm_clear (uint8_t num_slots)
-
-
- -

Deletes all save data from all save slots, and reinitializes the module to support the requested number of save slots.

-
Parameters:
- - -
[in]num_slotsNumber of slots to support after data clear.
-
-
-
Returns:
Status code:
    -
  • SM_STAT_OK: Clear operation successful.
  • -
  • SM_STAT_HW_ERR: Flash chip failed to erase.
  • -
-
-
Note:
This function halts Z80 and disables interrupts until it done.
- -
-
- -
-
- - - - - - - - -
int16_t sm_delete (uint8_t slot)
-
-
- -

Delete data from specified slot.

-
Parameters:
- - -
[in]slotSlot to delete.
-
-
-
Returns:
Status code:
    -
  • SM_STAT_OK: Delete operation successful.
  • -
  • SM_STAT_PARAM_ERR: Invalid parameter in invocation.
  • -
  • SM_STAT_HW_ERR: Delete operation failed due to flash error.
  • -
  • SM_STAT_ERR: Other unrecoverable error.
  • -
-
-
Note:
This function halts Z80 and disables interrupts until it done.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int16_t sm_init (uint8_t num_slots,
uint32_t max_length_restrict 
)
-
-
- -

Initialise save manager module. Must be called once before invoking any other function in the module.

-
Parameters:
- - - -
[in]num_slotsNumber of save slots to support.
[in]max_length_restrictMaximum flash length the module can use. The module uses the last two sectors available. If you set this to 0, the module defaults to use the last two sectors in the 4 MiB range. But if you want to restrict it e.g. to 2 MiB to use a smaller chip, you can set it e.g. to 0x200000. This can also be used to alloc the smaller sectors in the flash chip, by pointing to the end of two of these sectors.
-
-
-
Returns:
Status code:
    -
  • SM_STAT_OK if initialisation was successful and flash has data to load.
  • -
  • SM_STAT_WARN_NO_DATA if initialisation was successful but there is no save data to load.
  • -
  • SM_STAT_PARAM_ERR if function was called with invalid parameters.
  • -
  • SM_STAT_HW_ERR if the flash chip failed to perform any operation.
  • -
  • SM_ERR if other unrecoverable error was found.
  • -
-
-
Note:
This function internally calls flash_init(), you must not call it by yourself.
-
-This function halts Z80 and disables interrupts until it done.
-
Warning:
This module uses the last two sectors available in the specified range. Typically this is from 0x3E0000 to 0x3FFFFF for the default value of max_length_restrict set to 0. You must make sure there is no code in that area, or it will be erased by this module!
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int16_t sm_load (uint8_t slot,
void * save_data,
uint16_t len 
)
-
-
- -

Load previously saved data for the specified slot.

-
Parameters:
- - - - -
[in]slotSlot from which we want to load the data.
[out]save_dataBuffer in which loaded data will be copied.
[in]lenLength of the data to load.
-
-
-
Returns:
A positive number with the loaded data length, or a negative error status code:
    -
  • SM_STAT_PARAM_ERR: Invalid parameter in invocation.
  • -
  • SM_STAT_ERR: The requested slot has no data available.
  • -
-
-
Note:
Readed bytes can be less than len if there is an error (e.g. 0 if the slot has no data, or less than len if less data than requested was saved).
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int16_t sm_save (uint8_t slot,
const void * save_data,
uint16_t len 
)
-
-
- -

Save data to the specified slot.

-
Parameters:
- - - - -
[in]slotSlot to which we want to save the data.
[in]save_dataData buffer to save in the slot.
[in]lenLength of the data to save.
-
-
-
Returns:
Status code:
    -
  • SM_STAT_OK: Save operation successful.
  • -
  • SM_STAT_PARAM_ERR: Invalid parameter in invocation.
  • -
  • SM_STAT_HW_ERR: Save operation failed due to flash error.
  • -
  • SM_STAT_ERR: Other unrecoverable error.
  • -
-
-
Note:
Readed bytes can be less than len if there is an error.
-
-This function halts Z80 and disables interrupts until it done.
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/saveman_8h_source.html b/doc/html/saveman_8h_source.html deleted file mode 100644 index 0136be406..000000000 --- a/doc/html/saveman_8h_source.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - -sgdk: saveman.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
saveman.h
-
-
-Go to the documentation of this file.
00001 
-00062 #ifndef _SAVEMAN_H_
-00063 #define _SAVEMAN_H_
-00064 
-00065 #include "types.h"
-00066 
-00071 enum {
-00072         SM_STAT_PARAM_ERR = -3,   
-00073         SM_STAT_HW_ERR = -2,      
-00074         SM_STAT_ERR = -1,         
-00075         SM_STAT_OK = 0,           
-00076         SM_STAT_WARN_NO_DATA = 1, 
-00077 };
-00109 int16_t sm_init(uint8_t num_slots, uint32_t max_length_restrict);
-00110 
-00115 void sm_deinit(void);
-00116 
-00132 int16_t sm_load(uint8_t slot, void *save_data, uint16_t len);
-00133 
-00150 int16_t sm_save(uint8_t slot, const void *save_data, uint16_t len);
-00151 
-00165 int16_t sm_delete(uint8_t slot);
-00166 
-00179 int16_t sm_clear(uint8_t num_slots);
-00180 
-00181 #endif
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/search/all_5f.html b/doc/html/search/all_5f.html deleted file mode 100644 index 4873177c3..000000000 --- a/doc/html/search/all_5f.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - -
-
Loading...
-
- -
-
-
- _comparatorCallback - tools.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_61.html b/doc/html/search/all_61.html deleted file mode 100644 index a37d2bd16..000000000 --- a/doc/html/search/all_61.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- abs - maths.h -
-
-
-
- addressErrorCB - sys.h -
-
-
-
- allocateBitmap - tools.c -
-
-
-
- allocateBitmapEx - tools.c -
-
-
-
- allocateImage - tools.c -
-
-
-
- allocateMap - tools.c -
-
-
-
- allocateTileMap - tools.c -
-
-
-
- allocateTileMapEx - tools.c -
-
-
-
- allocateTileSet - tools.c -
-
-
-
- allocateTileSetEx - tools.c -
-
-
-
- Animation -
-
- -
-
- aplib_unpack - tools.h -
-
-
-
- asm.h -
-
- -
-
- astMemcpy - memory.h -
-
-
-
- AUTO_FAST - sprite_eng.h -
-
-
-
- AUTO_SLOW - sprite_eng.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_62.html b/doc/html/search/all_62.html deleted file mode 100644 index fb1796803..000000000 --- a/doc/html/search/all_62.html +++ /dev/null @@ -1,364 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Bitmap -
-
-
-
- bmp.h -
-
-
-
- bmp_buffer_read - bmp.c -
-
-
-
- bmp_buffer_write - bmp.c -
-
-
-
- BMP_clear - bmp.c -
-
-
-
- BMP_clearText - bmp.c -
-
-
-
- BMP_clearTextLine - bmp.c -
-
-
-
- BMP_clipLine - bmp.h -
-
-
-
- BMP_drawBitmap - bmp.c -
-
-
-
- BMP_drawBitmapData - bmp.c -
-
-
-
- BMP_drawBitmapScaled - bmp.c -
-
-
-
- BMP_drawLine - bmp.h -
-
-
-
- BMP_drawPolygon - bmp.h -
-
-
-
- BMP_drawText - bmp.c -
-
-
-
- BMP_end - bmp.c -
-
-
-
- BMP_flip - bmp.c -
-
-
-
- BMP_GENBMP16_HEIGHT - bmp.h -
-
-
-
- BMP_GENBMP16_IMAGE - bmp.h -
-
-
-
- BMP_GENBMP16_PALETTE - bmp.h -
-
-
-
- BMP_GENBMP16_WIDTH - bmp.h -
-
-
-
- BMP_getBitmapPalette - bmp.h -
-
- -
-
- BMP_getPixelFast - bmp.c -
-
-
-
- BMP_getReadPointer - bmp.c -
-
-
-
- BMP_getWritePointer - bmp.c -
-
-
-
- BMP_hasFlipInProgess - bmp.c -
-
-
- -
-
-
- BMP_HEIGHT - bmp.h -
-
-
-
- BMP_init - bmp.c -
-
-
-
- BMP_isPolygonCulled - bmp.h -
-
-
- -
-
-
- BMP_loadBitmap - bmp.h -
-
-
-
- BMP_loadBitmapData - bmp.h -
-
-
-
- BMP_PITCH - bmp.h -
-
-
-
- BMP_PLANE_HEIGHT - bmp.h -
-
-
-
- BMP_PLANE_WIDTH - bmp.h -
-
-
-
- BMP_reset - bmp.c -
-
-
-
- BMP_scale - bmp.c -
-
-
-
- BMP_setBufferCopy - bmp.c -
-
- -
-
- BMP_setPixelFast - bmp.c -
-
-
-
- BMP_setPixels - bmp.h -
-
-
-
- BMP_setPixels_V2D - bmp.h -
-
-
-
- BMP_setPixelsFast - bmp.h -
-
-
-
- BMP_setPixelsFast_V2D - bmp.h -
-
-
-
- BMP_showFPS - bmp.c -
-
-
-
- BMP_TILE_HEIGHT - bmp.h -
-
-
-
- BMP_TILE_WIDTH - bmp.h -
-
-
-
- BMP_waitFlipComplete - bmp.c -
-
- -
-
- BMP_WIDTH - bmp.h -
-
-
-
- BMP_XPIXPERTILE - bmp.h -
-
-
-
- BMP_YPIXPERTILE - bmp.h -
-
-
-
- bool - types.h -
-
-
-
- Box -
-
-
- -
-
-
- busErrorCB - sys.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_63.html b/doc/html/search/all_63.html deleted file mode 100644 index ae009290a..000000000 --- a/doc/html/search/all_63.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- chkInstCB - sys.h -
-
-
-
- Circle -
-
- -
-
- clamp - maths.h -
-
-
-
- Collision -
-
-
-
- COLLISION_TYPE_BOX - sprite_eng.h -
-
-
-
- COLLISION_TYPE_CIRCLE - sprite_eng.h -
-
-
-
- COLLISION_TYPE_NONE - sprite_eng.h -
-
-
-
- COMPRESSION_APLIB - tools.h -
-
-
-
- COMPRESSION_LZ4W - tools.h -
-
-
-
- COMPRESSION_NONE - tools.h -
-
- - - - - - - - - -
-
- CON_snprintf - console.h -
-
-
-
- CON_sprintf - console.h -
-
- -
-
- CON_write - console.h -
-
-
-
- config.h -
-
-
-
- console.c -
-
-
-
- console.h -
-
-
-
- Context3D -
-
-
-
- cosFix16 - maths.c -
-
-
-
- cosFix32 - maths.c -
-
-
-
- CPU - dma.h -
-
-
-
- curTileInd - vdp_bg.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_64.html b/doc/html/search/all_64.html deleted file mode 100644 index f670aa202..000000000 --- a/doc/html/search/all_64.html +++ /dev/null @@ -1,318 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- distance_approx - maths.h -
-
-
-
- divmods - maths.c -
-
-
-
- divmodu - maths.c -
-
-
-
- divs - maths.c -
-
-
-
- divu - maths.c -
-
-
-
- DMA - dma.h -
-
-
-
- dma.h -
-
-
- -
-
-
- DMA_allocateTemp - dma.c -
-
-
-
- DMA_canQueue - dma.c -
-
-
-
- DMA_clearQueue - dma.c -
-
-
-
- DMA_copyAndQueueDma - dma.c -
-
-
-
- DMA_CRAM - dma.h -
-
-
-
- DMA_DISABLED - config.h -
-
-
-
- DMA_doCPUCopy - dma.c -
-
-
-
- DMA_doCPUCopyDirect - dma.c -
-
-
-
- DMA_doDma - dma.c -
-
-
-
- DMA_doDmaFast - dma.c -
-
-
-
- DMA_doVRamCopy - dma.c -
-
-
-
- DMA_doVRamFill - dma.c -
-
-
-
- DMA_flushQueue - dma.c -
-
-
-
- DMA_getAutoFlush - dma.c -
-
-
-
- DMA_getBufferSize - dma.c -
-
-
- -
-
-
- DMA_getMaxQueueSize - dma.c -
-
-
- -
-
-
- DMA_getQueueSize - dma.c -
-
-
- -
-
-
- DMA_init - dma.c -
-
-
-
- DMA_initEx - dma.c -
-
-
-
- DMA_QUEUE - dma.h -
-
-
-
- DMA_QUEUE_COPY - dma.h -
-
-
-
- DMA_queueDma - dma.c -
-
-
-
- DMA_queueDmaFast - dma.c -
-
-
-
- DMA_releaseTemp - dma.c -
-
-
-
- DMA_setAutoFlush - dma.c -
-
-
-
- DMA_setBufferSize - dma.c -
-
- -
- -
-
-
- DMA_setMaxQueueSize - dma.c -
-
- -
- -
- -
-
- DMA_transfer - dma.c -
-
-
-
- DMA_VRAM - dma.h -
-
-
-
- DMA_VSRAM - dma.h -
-
-
-
- DMA_waitCompletion - dma.c -
-
-
-
- dmaDataBuffer - dma.c -
-
-
-
- DMAOpInfo -
-
-
-
- dmaQueues - dma.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_65.html b/doc/html/search/all_65.html deleted file mode 100644 index 893927793..000000000 --- a/doc/html/search/all_65.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- ENABLE_ASSERT_CHECKS - console.h -
-
-
-
- ENABLE_BANK_SWITCH - config.h -
-
- -
-
- ENABLE_NEWLIB - config.h -
-
-
-
- errorExceptionCB - sys.h -
-
-
- -
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_66.html b/doc/html/search/all_66.html deleted file mode 100644 index 94a98d15b..000000000 --- a/doc/html/search/all_66.html +++ /dev/null @@ -1,461 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- f16 - types.h -
-
-
-
- f32 - types.h -
-
-
-
- fadeCurrentPal - pal.c -
-
-
-
- fadeEndPal - pal.c -
-
- -
-
- FAR - mapper.h -
-
- -
-
- fastFix16Div - maths.c -
-
-
-
- fastFix16Frac - maths.c -
-
-
-
- fastFix16Int - maths.c -
-
-
-
- fastFix16Mul - maths.c -
-
-
-
- fastFix16Round - maths.c -
-
-
-
- fastFix16ToInt - maths.c -
-
-
-
- fastFix16ToRoundedInt - maths.c -
-
- -
-
- fastFix32Div - maths.c -
-
-
-
- fastFix32Frac - maths.c -
-
-
-
- fastFix32Int - maths.c -
-
-
-
- fastFix32Mul - maths.c -
-
-
-
- fastFix32Round - maths.c -
-
-
-
- fastFix32ToInt - maths.c -
-
-
-
- fastFix32ToRoundedInt - maths.c -
-
-
-
- fastMemcpyU16 - memory.h -
-
-
-
- fastMemcpyU32 - memory.h -
-
-
-
- fastMemset - memory.h -
-
-
-
- fastMemsetU16 - memory.h -
-
-
-
- fastMemsetU32 - memory.h -
-
-
-
- fat16.h -
-
-
-
- ff16 - types.h -
-
-
-
- ff32 - types.h -
-
-
-
- firstSprite - sprite_eng.c -
-
- -
-
- fix16Avg - maths.c -
-
-
-
- fix16Div - maths.c -
-
-
-
- fix16Frac - maths.c -
-
-
-
- fix16Int - maths.c -
-
-
-
- fix16Log10 - maths.c -
-
-
-
- fix16Log2 - maths.c -
-
-
-
- fix16Mul - maths.c -
-
-
-
- fix16Round - maths.c -
-
-
-
- fix16Sqrt - maths.c -
-
-
-
- fix16ToFix32 - maths.c -
-
-
-
- fix16ToInt - maths.c -
-
-
-
- fix16ToRoundedInt - maths.c -
-
-
-
- fix16ToStr - string.c -
-
- -
-
- fix32Avg - maths.c -
-
-
-
- fix32Div - maths.c -
-
-
-
- fix32Frac - maths.c -
-
-
-
- fix32Int - maths.c -
-
-
-
- fix32Mul - maths.c -
-
-
-
- fix32Round - maths.c -
-
-
-
- fix32ToFix16 - maths.c -
-
-
-
- fix32ToInt - maths.c -
-
-
-
- fix32ToRoundedInt - maths.c -
-
-
-
- fix32ToStr - string.c -
-
-
-
- flash.h -
-
-
- -
-
-
- flash_copy - flash.c -
-
-
-
- flash_deinit - flash.c -
-
-
-
- flash_init - flash.c -
-
-
-
- flash_metadata_get - flash.c -
-
-
-
- flash_program - flash.c -
-
-
-
- flash_read - flash.c -
-
-
- -
-
-
- flash_sector_erase - flash.c -
-
-
-
- flash_sector_limits - flash.c -
-
-
-
- font.h -
-
-
-
- FONT_LEN - vdp.h -
-
-
-
- FORCE_INLINE - config.h -
-
-
-
- FrameChangeCallback - sprite_eng.h -
-
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_67.html b/doc/html/search/all_67.html deleted file mode 100644 index 856b18da1..000000000 --- a/doc/html/search/all_67.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - -
-
Loading...
-
- -
-
-
- GET_DWORDFROMPBYTE - memory.h -
-
-
-
- GET_DWORDFROMPBYTE_LI - memory.h -
-
-
-
- GET_DWORDFROMPWORD - memory.h -
-
-
-
- GET_DWORDFROMPWORD_LI - memory.h -
-
-
-
- GET_HCOUNTER - vdp.h -
-
-
-
- GET_HVCOUNTER - vdp.h -
-
-
-
- GET_VCOUNTER - vdp.h -
-
-
-
- GET_VDP_STATUS - vdp.h -
-
-
-
- GET_WORDFROMPBYTE - memory.h -
-
-
-
- GET_WORDFROMPBYTE_LI - memory.h -
-
-
-
- getApproximatedDistance - maths.c -
-
-
-
- getApproximatedDistanceV - maths.c -
-
-
-
- getApproximatedLog2 - maths.c -
-
-
-
- getLog2Int - maths.c -
-
-
-
- getNextPow2 - maths.c -
-
-
-
- getSubTick - timer.c -
-
-
-
- getTick - timer.c -
-
-
-
- getTime - timer.c -
-
-
-
- getTimeAsFix32 - timer.c -
-
-
-
- getTimer - timer.c -
-
-
-
- GFX_CTRL_PORT - vdp.h -
-
-
-
- GFX_DATA_PORT - vdp.h -
-
-
-
- GFX_DMA_CRAM_ADDR - vdp.h -
-
-
-
- GFX_DMA_VRAM_ADDR - vdp.h -
-
-
-
- GFX_DMA_VRAMCOPY_ADDR - vdp.h -
-
-
-
- GFX_DMA_VSRAM_ADDR - vdp.h -
-
-
-
- GFX_HORZ_SCROLL - vdp.h -
-
-
-
- GFX_HVCOUNTER_PORT - vdp.h -
-
-
-
- GFX_READ_CRAM_ADDR - vdp.h -
-
-
-
- GFX_READ_VRAM_ADDR - vdp.h -
-
-
-
- GFX_READ_VSRAM_ADDR - vdp.h -
-
-
-
- GFX_VERT_SCROLL - vdp.h -
-
-
-
- GFX_WRITE_CRAM_ADDR - vdp.h -
-
-
-
- GFX_WRITE_VRAM_ADDR - vdp.h -
-
-
-
- GFX_WRITE_VSRAM_ADDR - vdp.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_68.html b/doc/html/search/all_68.html deleted file mode 100644 index bd07a43c2..000000000 --- a/doc/html/search/all_68.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- HALT_Z80_ON_DMA - config.h -
-
-
-
- HALT_Z80_ON_IO - config.h -
-
-
-
- HIDDEN - sprite_eng.h -
-
-
-
- highestVDPSpriteIndex - vdp_spr.c -
-
-
-
- HSCROLL_LINE - vdp.h -
-
-
-
- HSCROLL_PLANE - vdp.h -
-
-
-
- HSCROLL_TILE - vdp.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_69.html b/doc/html/search/all_69.html deleted file mode 100644 index 57137d4fc..000000000 --- a/doc/html/search/all_69.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- illegalInstCB - sys.h -
-
-
-
- Image -
-
-
-
- intCB - sys.h -
-
-
-
- INTERLACED_MODE1 - vdp.h -
-
-
-
- INTERLACED_MODE2 - vdp.h -
-
-
-
- INTERLACED_NONE - vdp.h -
-
- -
-
- intToBCD - maths.c -
-
-
-
- intToFastFix16 - maths.c -
-
-
-
- intToFastFix32 - maths.c -
-
-
-
- intToFix16 - maths.c -
-
-
-
- intToFix32 - maths.c -
-
-
-
- intToHex - string.c -
-
-
-
- intToStr - string.c -
-
-
-
- IS_PAL_SYSTEM - vdp.h -
-
-
-
- isdigit - string.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_6a.html b/doc/html/search/all_6a.html deleted file mode 100644 index 5dde44d05..000000000 --- a/doc/html/search/all_6a.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- joy.h -
-
-
-
- JOY_getEventHandler - joy.c -
-
-
-
- JOY_getJoypadType - joy.c -
-
-
-
- JOY_getPortType - joy.c -
-
-
-
- JOY_init - joy.c -
-
-
-
- JOY_readJoypad - joy.c -
-
-
-
- JOY_readJoypadX - joy.c -
-
-
-
- JOY_readJoypadY - joy.c -
-
-
-
- JOY_reset - joy.c -
-
-
-
- JOY_setEventHandler - joy.c -
-
-
-
- JOY_setSupport - joy.c -
-
-
-
- JOY_update - joy.c -
-
-
-
- JOY_waitPress - joy.c -
-
-
-
- JOY_waitPressBtn - joy.c -
-
-
-
- JOY_waitPressBtnTime - joy.c -
-
-
-
- JOY_waitPressTime - joy.c -
-
-
-
- JOY_writeJoypadX - joy.c -
-
-
-
- JOY_writeJoypadY - joy.c -
-
-
-
- JoyEventCallback - joy.h -
-
-
-
- json.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_6b.html b/doc/html/search/all_6b.html deleted file mode 100644 index 948a4aa4f..000000000 --- a/doc/html/search/all_6b.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- kdebug.h -
-
-
-
- KLog - tools.c -
-
-
-
- kprintf - tools.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_6c.html b/doc/html/search/all_6c.html deleted file mode 100644 index e98e0b0a2..000000000 --- a/doc/html/search/all_6c.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- lastAllocatedVDPSprite - vdp_spr.c -
-
-
-
- lastSprite - sprite_eng.c -
-
-
-
- LEGACY_SPRITE_ENGINE - config.h -
-
-
-
- LIB_DEBUG - config.h -
-
- -
-
- Line -
-
-
-
- line1x1xCB - sys.h -
-
-
-
- LOG_LEVEL_DISABLE - config.h -
-
-
-
- LOG_LEVEL_ERROR - config.h -
-
-
-
- LOG_LEVEL_INFO - config.h -
-
-
-
- LOG_LEVEL_WARNING - config.h -
-
-
-
- lz4w_unpack - tools.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_6d.html b/doc/html/search/all_6d.html deleted file mode 100644 index 4a465dd81..000000000 --- a/doc/html/search/all_6d.html +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- M2f16 - maths.h -
-
-
-
- M2f32 - maths.h -
-
-
-
- M3D_buildMat3D - maths3D.c -
-
-
-
- M3D_buildMat3DExtras - maths3D.c -
-
-
-
- M3D_buildMat3DOnly - maths3D.c -
-
-
-
- M3D_combineTransform - maths3D.c -
-
-
-
- M3D_combineTranslationLeft - maths3D.c -
-
-
-
- M3D_combineTranslationRight - maths3D.c -
-
-
-
- M3D_getLightEnabled - maths3D.c -
-
-
-
- M3D_project_f16 - maths3D.h -
-
-
-
- M3D_project_s16 - maths3D.h -
-
-
-
- M3D_reset - maths3D.c -
-
-
-
- M3D_resetTransform - maths3D.c -
-
-
-
- M3D_rotate - maths3D.c -
-
-
-
- M3D_rotateInv - maths3D.c -
-
-
-
- M3D_setCamDistance - maths3D.c -
-
-
-
- M3D_setLight - maths3D.c -
-
-
-
- M3D_setLightEnabled - maths3D.c -
-
-
-
- M3D_setLightXYZ - maths3D.c -
-
-
-
- M3D_setRotation - maths3D.c -
-
-
-
- M3D_setTransform - maths3D.c -
-
-
-
- M3D_setTranslation - maths3D.c -
-
-
-
- M3D_setViewport - maths3D.c -
-
-
-
- M3D_transform - maths3D.h -
-
-
-
- M3D_translate - maths3D.c -
-
-
-
- M3f16 - maths.h -
-
-
-
- M3f32 - maths.h -
-
-
-
- M4f16 - maths.h -
-
-
-
- M4f32 - maths.h -
-
-
-
- Map - -
-
-
-
- map.h -
-
-
-
- MAP_create - map.c -
-
-
-
- MAP_getMetaTile - map.c -
-
-
- -
-
-
- MAP_getTile - map.c -
-
-
-
- MAP_getTilemapRect - map.c -
-
-
-
- MAP_release - map.c -
-
-
-
- MAP_scrollTo - map.c -
-
-
-
- MAP_scrollToEx - map.c -
-
-
- -
-
-
- mapper.h -
-
-
-
- Mat2D_f16 -
-
-
-
- Mat2D_f32 -
-
-
-
- Mat3D_f16 -
-
-
-
- Mat3D_f32 -
-
-
-
- Mat4D_f16 -
-
-
-
- Mat4D_f32 -
-
-
-
- maths.h -
-
-
-
- maths3D.h -
-
-
-
- max - maths.h -
-
-
-
- MAXTIMER - timer.h -
-
-
- -
-
-
- MEM_alloc - memory.c -
-
-
-
- MEM_allocAt - memory.c -
-
-
-
- MEM_dump - memory.c -
-
-
-
- MEM_free - memory.c -
-
-
-
- MEM_getAllocated - memory.c -
-
-
-
- MEM_getFree - memory.c -
-
-
-
- MEM_getLargestFreeBlock - memory.c -
-
-
-
- MEM_pack - memory.c -
-
-
-
- memcpy - memory.h -
-
-
-
- memcpyU16 - memory.h -
-
-
-
- memcpyU32 - memory.h -
-
-
-
- memory.h -
-
-
- -
-
-
- MEMORY_HIGH - memory_base.h -
-
-
-
- memset - memory.h -
-
-
-
- memsetU16 - memory.h -
-
-
-
- memsetU32 - memory.h -
-
-
-
- min - maths.h -
-
-
-
- mods - maths.c -
-
-
-
- modu - maths.c -
-
-
-
- MODULE_CONSOLE - config.h -
-
-
-
- MODULE_EVERDRIVE - config.h -
-
-
-
- MODULE_FAT16 - config.h -
-
-
-
- MODULE_FLASHSAVE - config.h -
-
-
-
- MODULE_MEGAWIFI - config.h -
-
-
-
- muls - maths.c -
-
-
-
- mulu - maths.c -
-
-
-
- mw-msg.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_6e.html b/doc/html/search/all_6e.html deleted file mode 100644 index fe1ceeecb..000000000 --- a/doc/html/search/all_6e.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- NO_INLINE - config.h -
-
-
-
- NULL - types.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_6f.html b/doc/html/search/all_6f.html deleted file mode 100644 index 41517f3e1..000000000 --- a/doc/html/search/all_6f.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- OBJ_ALLOCATED - object.h -
-
-
-
- OBJ_create - object.c -
-
-
-
- OBJ_createObjectPool - object.c -
-
-
-
- OBJ_release - object.c -
-
-
-
- OBJ_setEndMethod - object.c -
-
-
-
- OBJ_setInitMethod - object.c -
-
-
-
- OBJ_setUpdateMethod - object.c -
-
-
-
- OBJ_updateAll - object.c -
-
-
-
- Object - object.h -
-
-
-
- object.h -
-
-
-
- Object_ -
-
-
-
- ObjectCallback - object.h -
-
-
-
- ON_VBLANK - sys.h -
-
-
-
- ON_VBLANK_START - sys.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_70.html b/doc/html/search/all_70.html deleted file mode 100644 index f09e858c6..000000000 --- a/doc/html/search/all_70.html +++ /dev/null @@ -1,464 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- p16 - types.h -
-
-
-
- pal.h -
-
-
-
- PAL0 - vdp.h -
-
-
-
- PAL1 - vdp.h -
-
-
-
- PAL2 - vdp.h -
-
-
-
- PAL3 - vdp.h -
-
-
-
- PAL_doFadeStep - pal.c -
-
-
-
- PAL_fade - pal.c -
-
-
-
- PAL_fadeAll - pal.c -
-
-
-
- PAL_fadeIn - pal.c -
-
-
-
- PAL_fadeInAll - pal.c -
-
-
-
- PAL_fadeInPalette - pal.c -
-
-
-
- PAL_fadeOut - pal.c -
-
-
-
- PAL_fadeOutAll - pal.c -
-
-
-
- PAL_fadeOutPalette - pal.c -
-
-
-
- PAL_fadePalette - pal.c -
-
-
-
- PAL_fadeTo - pal.c -
-
-
-
- PAL_fadeToAll - pal.c -
-
-
-
- PAL_fadeToPalette - pal.c -
-
-
-
- PAL_getColor - pal.c -
-
-
-
- PAL_getColors - pal.c -
-
-
-
- PAL_getPalette - pal.c -
-
-
-
- PAL_initFade - pal.c -
-
-
-
- PAL_interruptFade - pal.c -
-
-
-
- PAL_isDoingFade - pal.c -
-
-
-
- PAL_setColor - pal.c -
-
-
-
- PAL_setColors - pal.c -
-
-
-
- PAL_setColorsDMA - pal.h -
-
-
-
- PAL_setPalette - pal.c -
-
-
-
- PAL_setPaletteColors - pal.c -
-
-
- -
-
-
- PAL_setPaletteDMA - pal.h -
-
-
- -
-
-
- Palette -
-
-
-
- palette_black - pal.c -
-
-
-
- palette_blue - pal.c -
-
-
-
- palette_green - pal.c -
-
-
-
- palette_grey - pal.c -
-
-
-
- palette_red - pal.c -
-
-
-
- PI - maths.h -
-
-
-
- Pixel -
-
-
-
- planeHeight - vdp.c -
-
-
-
- planeHeightSft - vdp.c -
-
-
-
- planeWidth - vdp.c -
-
-
-
- planeWidthSft - vdp.c -
-
-
-
- Pool -
-
-
-
- pool.h -
-
-
-
- POOL_allocate - pool.c -
-
-
-
- POOL_create - pool.c -
-
-
-
- POOL_destroy - pool.c -
-
-
-
- POOL_find - pool.c -
-
-
-
- POOL_getFirst - pool.c -
-
-
-
- POOL_getFree - pool.c -
-
-
-
- POOL_getNumAllocated - pool.c -
-
-
-
- POOL_release - pool.c -
-
-
-
- POOL_reset - pool.c -
-
-
-
- privilegeViolationCB - sys.h -
-
-
-
- psg.h -
-
-
-
- PSG_ENVELOPE_MAX - psg.h -
-
-
-
- PSG_ENVELOPE_MIN - psg.h -
-
-
-
- PSG_init - psg.h -
-
-
-
- PSG_NOISE_FREQ_CLOCK2 - psg.h -
-
-
-
- PSG_NOISE_FREQ_CLOCK4 - psg.h -
-
-
-
- PSG_NOISE_FREQ_CLOCK8 - psg.h -
-
-
-
- PSG_NOISE_FREQ_TONE3 - psg.h -
-
-
- -
-
-
- PSG_NOISE_TYPE_WHITE - psg.h -
-
-
-
- PSG_PORT - psg.h -
-
-
-
- PSG_reset - psg.c -
-
-
-
- PSG_setEnvelope - psg.c -
-
-
-
- PSG_setFrequency - psg.c -
-
-
-
- PSG_setNoise - psg.c -
-
-
-
- PSG_setTone - psg.c -
-
-
-
- PSG_setToneLow - psg.c -
-
-
-
- PSG_write - psg.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_71.html b/doc/html/search/all_71.html deleted file mode 100644 index 75432ee58..000000000 --- a/doc/html/search/all_71.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- qsort - tools.h -
-
-
-
- qsort_s16 - tools.h -
-
-
-
- qsort_s32 - tools.h -
-
-
-
- qsort_s8 - tools.h -
-
-
-
- qsort_u16 - tools.h -
-
-
-
- qsort_u32 - tools.h -
-
-
-
- qsort_u8 - tools.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_72.html b/doc/html/search/all_72.html deleted file mode 100644 index 9748200f7..000000000 --- a/doc/html/search/all_72.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- RAM - memory_base.h -
-
-
-
- random - tools.c -
-
-
-
- RGB24_TO_VDPCOLOR - pal.h -
-
-
-
- RGB3_3_3_TO_VDPCOLOR - pal.h -
-
-
-
- RGB8_8_8_TO_VDPCOLOR - pal.h -
-
-
-
- rol16 - types.c -
-
-
-
- rol32 - types.c -
-
-
-
- rol8 - types.c -
-
-
-
- ROM - memory_base.h -
-
-
-
- ROMHeader -
-
-
-
- ror16 - types.c -
-
-
-
- ror32 - types.c -
-
-
-
- ror8 - types.c -
-
-
-
- Rotation3D - maths3D.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_73.html b/doc/html/search/all_73.html deleted file mode 100644 index ed7969785..000000000 --- a/doc/html/search/all_73.html +++ /dev/null @@ -1,1298 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- s16 - types.h -
-
-
-
- s32 - types.h -
-
-
-
- s8 - types.h -
-
-
-
- SAT_MAX_SIZE - vdp_spr.h -
-
-
-
- save_blob -
-
-
- -
-
-
- saveman.h -
-
-
-
- screenHeight - vdp.c -
-
-
-
- screenWidth - vdp.c -
-
-
- -
- -
-
- setRandomSeed - tools.c -
-
-
-
- sinFix16 - maths.c -
-
-
-
- sinFix32 - maths.c -
-
-
-
- sm_clear - saveman.c -
-
-
-
- sm_deinit - saveman.c -
-
-
-
- sm_delete - saveman.c -
-
-
-
- sm_init - saveman.c -
-
-
-
- sm_load - saveman.c -
-
-
-
- sm_save - saveman.c -
-
-
-
- SM_STAT_ERR - saveman.h -
-
-
-
- SM_STAT_HW_ERR - saveman.h -
-
-
-
- SM_STAT_OK - saveman.h -
-
-
-
- SM_STAT_PARAM_ERR - saveman.h -
-
-
-
- SM_STAT_WARN_NO_DATA - saveman.h -
-
-
- -
-
-
- SND_DPCM2_isPlaying - snd_dpcm2.c -
-
-
-
- SND_DPCM2_loadDriver - snd_dpcm2.c -
-
-
-
- SND_DPCM2_startPlay - snd_dpcm2.c -
-
-
-
- SND_DPCM2_stopPlay - snd_dpcm2.c -
-
-
-
- SND_DPCM2_unloadDriver - snd_dpcm2.c -
-
-
-
- SND_getCPULoad_XGM - xgm.h -
-
-
- -
-
-
- SND_getManualSync_XGM - xgm.h -
-
-
-
- SND_getMusicTempo_XGM - xgm.h -
-
-
-
- SND_isPlaying_XGM - xgm.h -
-
-
-
- SND_isPlayingPCM_XGM - xgm.h -
-
-
-
- SND_nextFrame_XGM - xgm.h -
-
-
-
- SND_nextXFrame_XGM - xgm.h -
-
-
-
- SND_NULL_loadDriver - sound.c -
-
-
-
- SND_NULL_unloadDriver - sound.c -
-
-
-
- SND_pausePlay_XGM - xgm.h -
-
-
-
- snd_pcm.h -
-
-
- -
-
-
- SND_PCM4_getVolume - snd_pcm4.c -
-
-
-
- SND_PCM4_isPlaying - snd_pcm4.c -
-
-
-
- SND_PCM4_loadDriver - snd_pcm4.c -
-
-
-
- SND_PCM4_setVolume - snd_pcm4.c -
-
-
-
- SND_PCM4_startPlay - snd_pcm4.c -
-
-
-
- SND_PCM4_stopPlay - snd_pcm4.c -
-
-
-
- SND_PCM4_unloadDriver - snd_pcm4.c -
-
-
-
- SND_PCM_isPlaying - snd_pcm.c -
-
-
-
- SND_PCM_loadDriver - snd_pcm.c -
-
-
-
- SND_PCM_startPlay - snd_pcm.c -
-
-
-
- SND_PCM_stopPlay - snd_pcm.c -
-
-
-
- SND_PCM_unloadDriver - snd_pcm.c -
-
-
-
- SND_resumePlay_XGM - xgm.h -
-
- -
- -
-
-
- SND_setLoopNumber_XGM - xgm.h -
-
-
-
- SND_setManualSync_XGM - xgm.h -
-
-
-
- SND_setMusicTempo_XGM - xgm.h -
-
-
-
- SND_setPCM_XGM - xgm.h -
-
-
-
- SND_setPCMFast_XGM - xgm.h -
-
-
-
- SND_startPlay_XGM - xgm.h -
-
-
-
- SND_startPlayPCM_XGM - xgm.h -
-
-
-
- SND_stopPlay_XGM - xgm.h -
-
-
-
- SND_stopPlayPCM_XGM - xgm.h -
-
-
-
- sound.h -
-
-
-
- SOUND_PCM_CH1_MSK - sound.h -
-
-
-
- SOUND_PCM_CH2_MSK - sound.h -
-
-
-
- SOUND_PCM_CH3_MSK - sound.h -
-
-
-
- SOUND_PCM_CH4_MSK - sound.h -
-
-
-
- SOUND_PCM_RATE_22050 - snd_pcm.h -
-
-
-
- SOUND_PCM_RATE_8000 - snd_pcm.h -
-
-
-
- SoundPanning - sound.h -
-
-
-
- SoundPCMChannel - sound.h -
-
-
-
- SoundPcmSampleRate - snd_pcm.h -
-
-
-
- SPR_addSprite - sprite_eng.c -
-
-
-
- SPR_addSpriteEx - sprite_eng.c -
-
-
-
- SPR_addSpriteExSafe - sprite_eng.c -
-
-
-
- SPR_addSpriteSafe - sprite_eng.c -
-
-
-
- SPR_clear - sprite_eng.c -
-
-
-
- SPR_computeVisibility - sprite_eng.h -
-
-
-
- SPR_defragVRAM - sprite_eng.c -
-
-
-
- SPR_disableVDPSpriteChecking - sprite_eng.c -
-
-
-
- SPR_enableVDPSpriteChecking - sprite_eng.c -
-
-
-
- SPR_end - sprite_eng.c -
-
-
-
- SPR_FLAG_AUTO_TILE_UPLOAD - sprite_eng.h -
-
-
-
- SPR_FLAG_AUTO_VISIBILITY - sprite_eng.h -
-
-
-
- SPR_FLAG_AUTO_VRAM_ALLOC - sprite_eng.h -
-
-
-
- SPR_FLAG_DISABLE_ANIMATION_LOOP - sprite_eng.h -
-
- -
-
- SPR_FLAG_FAST_AUTO_VISIBILITY - sprite_eng.h -
-
-
-
- SPR_FLAG_INSERT_HEAD - sprite_eng.h -
-
-
-
- SPR_FLAG_MASK - sprite_eng.h -
-
-
-
- SPR_getAnimationDone - sprite_eng.c -
-
-
-
- SPR_getFreeVRAM - sprite_eng.c -
-
-
-
- SPR_getLargestFreeVRAMBlock - sprite_eng.c -
-
-
-
- SPR_getNumActiveSprite - sprite_eng.c -
-
-
-
- SPR_getPositionX - sprite_eng.c -
-
-
-
- SPR_getPositionY - sprite_eng.c -
-
-
-
- SPR_getUsedVDPSprite - sprite_eng.c -
-
-
-
- SPR_getVisibility - sprite_eng.c -
-
-
-
- SPR_init - sprite_eng.c -
-
-
-
- SPR_initEx - sprite_eng.c -
-
-
-
- SPR_isInitialized - sprite_eng.c -
-
-
-
- SPR_isVisible - sprite_eng.c -
-
-
-
- SPR_loadAllFrames - sprite_eng.c -
-
-
-
- SPR_logProfil - sprite_eng.c -
-
-
-
- SPR_logSprites - sprite_eng.c -
-
-
-
- SPR_MAX_DEPTH - sprite_eng.h -
-
-
-
- SPR_MIN_DEPTH - sprite_eng.h -
-
-
-
- SPR_nextFrame - sprite_eng.c -
-
-
-
- SPR_releaseSprite - sprite_eng.c -
-
-
-
- SPR_reset - sprite_eng.c -
-
-
-
- SPR_setAlwaysAtBottom - sprite_eng.c -
-
-
-
- SPR_setAlwaysOnTop - sprite_eng.c -
-
-
-
- SPR_setAlwaysVisible - sprite_eng.h -
-
-
-
- SPR_setAnim - sprite_eng.c -
-
-
-
- SPR_setAnimAndFrame - sprite_eng.c -
-
-
-
- SPR_setAnimationLoop - sprite_eng.c -
-
-
-
- SPR_setAutoTileUpload - sprite_eng.c -
-
-
-
- SPR_setDefinition - sprite_eng.c -
-
-
-
- SPR_setDelayedFrameUpdate - sprite_eng.c -
-
-
-
- SPR_setDepth - sprite_eng.c -
-
-
-
- SPR_setFrame - sprite_eng.c -
-
-
-
- SPR_setFrameChangeCallback - sprite_eng.c -
-
-
-
- SPR_setHFlip - sprite_eng.c -
-
-
-
- SPR_setNeverVisible - sprite_eng.h -
-
-
-
- SPR_setPalette - sprite_eng.c -
-
-
-
- SPR_setPosition - sprite_eng.c -
-
-
-
- SPR_setPriority - sprite_eng.c -
-
-
-
- SPR_setPriorityAttribut - sprite_eng.h -
-
-
-
- SPR_setVFlip - sprite_eng.c -
-
-
-
- SPR_setVisibility - sprite_eng.c -
-
-
-
- SPR_setVRAMTileIndex - sprite_eng.c -
-
-
-
- SPR_setZ - sprite_eng.c -
-
-
-
- SPR_update - sprite_eng.c -
-
-
-
- sprintf - string.c -
-
- -
- -
- -
-
- SPRITE_SIZE - vdp_spr.h -
-
- -
-
- spritesPool - sprite_eng.c -
-
-
-
- SpriteVisibility - sprite_eng.h -
-
-
-
- spriteVramSize - sprite_eng.c -
-
-
-
- sram.h -
-
-
-
- SRAM_disable - sram.c -
-
-
-
- SRAM_enable - sram.c -
-
-
-
- SRAM_enableRO - sram.c -
-
-
-
- SRAM_readByte - sram.c -
-
-
-
- SRAM_readLong - sram.h -
-
-
-
- SRAM_readWord - sram.h -
-
-
-
- SRAM_writeByte - sram.c -
-
-
-
- SRAM_writeLong - sram.h -
-
-
-
- SRAM_writeWord - sram.h -
-
-
-
- STACK_SIZE - memory_base.h -
-
-
-
- startTimer - timer.c -
-
-
-
- str - console.h -
-
-
-
- strcat - string.c -
-
-
-
- strclr - string.c -
-
-
-
- strcmp - string.c -
-
-
-
- strcpy - string.c -
-
-
-
- string.h -
-
-
-
- strlen - string.c -
-
-
-
- strncpy - string.c -
-
-
-
- strnlen - string.c -
-
-
-
- strreplacechar - string.c -
-
-
-
- SUBTICKPERSECOND - timer.h -
-
-
-
- SWAP_s16 - memory.h -
-
-
-
- SWAP_s32 - memory.h -
-
-
-
- SWAP_s8 - memory.h -
-
-
-
- SWAP_u16 - memory.h -
-
-
-
- SWAP_u32 - memory.h -
-
-
-
- SWAP_u8 - memory.h -
-
-
-
- sys.h -
-
-
-
- SYS_assertReset - sys.h -
-
-
-
- SYS_computeChecksum - sys.c -
-
-
-
- SYS_die - sys.c -
-
-
-
- SYS_disableInts - sys.c -
-
-
-
- SYS_doVBlankProcess - sys.c -
-
-
-
- SYS_doVBlankProcessEx - sys.c -
-
-
-
- SYS_enableInts - sys.c -
-
- -
-
- SYS_getBank - mapper.c -
-
-
-
- SYS_getCPULoad - sys.c -
-
-
-
- SYS_getFarData - mapper.c -
-
-
-
- SYS_getFarDataEx - mapper.c -
-
-
-
- SYS_getFarDataSafe - mapper.c -
-
-
-
- SYS_getFarDataSafeEx - mapper.c -
-
-
-
- SYS_getFPS - sys.c -
-
-
-
- SYS_getFPSAsFloat - sys.c -
-
-
- -
-
- -
-
-
- SYS_getShowFrameLoad - sys.c -
-
-
-
- SYS_hardReset - sys.h -
-
-
-
- SYS_hideFrameLoad - sys.c -
-
-
-
- SYS_isChecksumOk - sys.c -
-
-
-
- SYS_isCrossingBank - mapper.c -
-
-
-
- SYS_isInVInt - sys.c -
-
-
-
- SYS_isNTSC - sys.c -
-
-
-
- SYS_isPAL - sys.c -
-
-
-
- SYS_nextFrame - sys.c -
-
-
-
- SYS_reset - sys.h -
-
-
-
- SYS_resetBanks - mapper.c -
-
-
-
- SYS_setBank - mapper.c -
-
-
-
- SYS_setExtIntCallback - sys.c -
-
-
-
- SYS_setHIntCallback - sys.c -
-
-
- -
-
- -
-
-
- SYS_setVBlankCallback - sys.c -
-
-
-
- SYS_setVIntCallback - sys.c -
-
-
-
- SYS_showFrameLoad - sys.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_74.html b/doc/html/search/all_74.html deleted file mode 100644 index 216ce3609..000000000 --- a/doc/html/search/all_74.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- task.h -
-
-
- -
-
-
- TICKPERSECOND - timer.h -
-
-
-
- TILE_ATTR - vdp_tile.h -
-
-
-
- TILE_ATTR_FULL - vdp_tile.h -
-
-
-
- TILE_ATTR_HFLIP_MASK - vdp_tile.h -
-
-
-
- TILE_ATTR_HFLIP_SFT - vdp_tile.h -
-
-
-
- TILE_ATTR_MASK - vdp_tile.h -
-
-
-
- TILE_ATTR_PALETTE_MASK - vdp_tile.h -
-
-
-
- TILE_ATTR_PALETTE_SFT - vdp_tile.h -
-
-
-
- TILE_ATTR_PRIORITY_MASK - vdp_tile.h -
-
-
-
- TILE_ATTR_PRIORITY_SFT - vdp_tile.h -
-
-
-
- TILE_ATTR_VFLIP_MASK - vdp_tile.h -
-
-
-
- TILE_ATTR_VFLIP_SFT - vdp_tile.h -
-
-
-
- TILE_FONT - vdp.h -
-
-
-
- TILE_FONT_INDEX - vdp.h -
-
-
-
- TILE_FONTINDEX - vdp.h -
-
-
-
- TILE_MAX_INDEX - vdp.h -
-
-
-
- TILE_MAX_NUM - vdp.h -
-
-
-
- TILE_MAXINDEX - vdp.h -
-
-
-
- TILE_MAXNUM - vdp.h -
-
-
-
- TILE_SIZE - vdp.h -
-
-
-
- TILE_SPACE - vdp.h -
-
-
-
- TILE_SPRITE_INDEX - vdp.h -
-
-
-
- TILE_SPRITEINDEX - vdp.h -
-
-
-
- TILE_SYSTEM - vdp.h -
-
-
-
- TILE_SYSTEM_INDEX - vdp.h -
-
-
-
- TILE_SYSTEM_LENGHT - vdp.h -
-
-
-
- TILE_SYSTEM_LENGTH - vdp.h -
-
-
-
- TILE_SYSTEMINDEX - vdp.h -
-
-
-
- TILE_SYSTEMLENGTH - vdp.h -
-
-
-
- TILE_USER - vdp.h -
-
-
-
- TILE_USER_INDEX - vdp.h -
-
-
-
- TILE_USER_LENGTH - vdp.h -
-
-
-
- TILE_USER_MAX_INDEX - vdp.h -
-
-
-
- TILE_USERINDEX - vdp.h -
-
-
-
- TILE_USERLENGTH - vdp.h -
-
-
-
- TILE_USERMAXINDEX - vdp.h -
-
-
-
- TileMap -
-
-
-
- TileSet -
-
-
-
- TIMEPERSECOND - timer.h -
-
-
-
- timer.h -
-
-
-
- tools.h -
-
-
-
- traceCB - sys.h -
-
-
-
- TransferMethod - dma.h -
-
- -
-
- Translation3D - maths3D.h -
-
-
-
- trapvInstCB - sys.h -
-
-
-
- Triangle -
-
- -
-
- TSK_init - task.h -
-
-
-
- TSK_PEND_FOREVER - task_cst.h -
-
-
-
- TSK_stop - task.h -
-
-
-
- TSK_superPend - task.h -
-
-
-
- TSK_superPost - task.h -
-
-
-
- TSK_userSet - task.h -
-
-
-
- TSK_userYield - task.h -
-
-
-
- types.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_75.html b/doc/html/search/all_75.html deleted file mode 100644 index 12452bae6..000000000 --- a/doc/html/search/all_75.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- u16 - types.h -
-
-
-
- u32 - types.h -
-
-
-
- u8 - types.h -
-
-
-
- uintToStr - string.c -
-
-
-
- unpack - tools.c -
-
-
-
- unpackBitmap - tools.c -
-
-
-
- unpackImage - tools.c -
-
-
-
- unpackTileMap - tools.c -
-
-
-
- unpackTileSet - tools.c -
-
-
-
- USER_STACK_LENGTH - task_cst.h -
-
-
-
- UTSK_REGS_LEN - task_cst.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_76.html b/doc/html/search/all_76.html deleted file mode 100644 index 6dc025031..000000000 --- a/doc/html/search/all_76.html +++ /dev/null @@ -1,1475 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- V2f16 - maths.h -
-
-
-
- V2f32 - maths.h -
-
-
-
- V2s16 - maths.h -
-
-
-
- V2s32 - maths.h -
-
-
-
- V2u16 - maths.h -
-
-
-
- V2u32 - maths.h -
-
-
-
- V3f16 - maths.h -
-
-
-
- V3f32 - maths.h -
-
-
-
- V3s16 - maths.h -
-
-
-
- V3s32 - maths.h -
-
-
-
- V3u16 - maths.h -
-
-
-
- V3u32 - maths.h -
-
-
-
- V4f16 - maths.h -
-
-
-
- V4f32 - maths.h -
-
-
-
- VBlankProcessTime - sys.h -
-
-
-
- vbool - types.h -
-
-
-
- vdp.h -
-
-
-
- VDP_allocateSprites - vdp_spr.c -
-
-
-
- vdp_bg.h -
-
-
-
- VDP_BG_A - vdp.h -
-
-
-
- VDP_BG_B - vdp.h -
-
-
-
- VDP_clearPlane - vdp_bg.c -
-
-
-
- VDP_clearSprites - vdp_spr.c -
-
-
-
- VDP_clearText - vdp_bg.c -
-
-
-
- VDP_clearTextArea - vdp_bg.c -
-
-
-
- VDP_clearTextAreaBG - vdp_bg.c -
-
-
-
- VDP_clearTextAreaEx - vdp_bg.c -
-
-
-
- VDP_clearTextBG - vdp_bg.c -
-
-
-
- VDP_clearTextEx - vdp_bg.c -
-
-
-
- VDP_clearTextLine - vdp_bg.c -
-
-
-
- VDP_clearTextLineBG - vdp_bg.c -
-
-
-
- VDP_clearTileMap - vdp_tile.c -
-
-
-
- VDP_clearTileMapRect - vdp_tile.c -
-
-
-
- VDP_CTRL_PORT - vdp.h -
-
-
-
- VDP_DATA_PORT - vdp.h -
-
-
-
- VDP_DMA_CRAM_ADDR - vdp.h -
-
-
-
- VDP_DMA_VRAM_ADDR - vdp.h -
-
-
-
- VDP_DMA_VRAMCOPY_ADDR - vdp.h -
-
-
-
- VDP_DMA_VSRAM_ADDR - vdp.h -
-
-
-
- VDP_DMABUSY_FLAG - vdp.h -
-
-
-
- VDP_drawBitmap - vdp_bg.c -
-
-
-
- VDP_drawBitmapEx - vdp_bg.c -
-
-
-
- VDP_drawImage - vdp_bg.c -
-
-
-
- VDP_drawImageEx - vdp_bg.c -
-
-
-
- VDP_drawText - vdp_bg.c -
-
-
-
- VDP_drawTextBG - vdp_bg.c -
-
-
-
- VDP_drawTextEx - vdp_bg.c -
-
-
-
- VDP_FIFOEMPTY_FLAG - vdp.h -
-
-
-
- VDP_FIFOFULL_FLAG - vdp.h -
-
-
-
- VDP_fillTileData - vdp_tile.c -
-
-
-
- VDP_fillTileMap - vdp_tile.c -
-
-
-
- VDP_fillTileMapRect - vdp_tile.c -
-
-
-
- VDP_fillTileMapRectInc - vdp_tile.c -
-
-
- -
-
-
- VDP_getAPlanAddress - vdp.h -
-
-
-
- VDP_getAutoInc - vdp.c -
-
-
-
- VDP_getAvailableSprites - vdp_spr.c -
-
-
- -
-
-
- VDP_getBGAAddress - vdp.c -
-
-
-
- VDP_getBGBAddress - vdp.c -
-
-
-
- VDP_getBPlanAddress - vdp.h -
-
-
-
- VDP_getDMAEnabled - vdp.c -
-
-
-
- VDP_getEnable - vdp.c -
-
-
-
- VDP_getHIntCounter - vdp.c -
-
- - -
-
- VDP_getHVLatching - vdp.c -
-
-
-
- VDP_getPlaneAddress - vdp_tile.c -
-
-
-
- VDP_getPlaneHeight - vdp.c -
-
-
-
- VDP_getPlaneWidth - vdp.c -
-
-
-
- VDP_getReg - vdp.c -
-
-
-
- VDP_getScanlineNumber - vdp.c -
-
-
-
- VDP_getScreenHeight - vdp.c -
-
-
-
- VDP_getScreenWidth - vdp.c -
-
-
-
- VDP_getSpriteFlipH - vdp_spr.c -
-
-
-
- VDP_getSpriteFlipV - vdp_spr.c -
-
-
- -
-
-
- VDP_getSpritePalette - vdp_spr.c -
-
-
-
- VDP_getSpritePriority - vdp_spr.c -
-
-
-
- VDP_getSpriteTile - vdp_spr.c -
-
-
-
- VDP_getTextPalette - vdp_bg.c -
-
-
-
- VDP_getTextPlane - vdp_bg.c -
-
-
-
- VDP_getTextPriority - vdp_bg.c -
-
- -
-
- VDP_getWindowAddress - vdp.c -
-
-
- -
-
-
- VDP_HBLANK_FLAG - vdp.h -
-
-
-
- VDP_HORZ_SCROLL - vdp.h -
-
-
-
- VDP_HSCROLL_TABLE - vdp.h -
-
-
-
- VDP_HVCOUNTER_PORT - vdp.h -
-
-
-
- VDP_init - vdp.c -
-
-
-
- VDP_isEnable - vdp.c -
-
-
-
- VDP_linkSprites - vdp_spr.c -
-
-
-
- VDP_loadBMPTileData - vdp_tile.h -
-
-
-
- VDP_loadBMPTileDataEx - vdp_tile.c -
-
-
-
- VDP_loadFont - vdp_tile.c -
-
-
-
- VDP_loadFontData - vdp_tile.c -
-
-
-
- VDP_loadTileData - vdp_tile.c -
-
-
-
- VDP_loadTileSet - vdp_tile.c -
-
-
-
- VDP_MAPS_START - vdp.h -
-
-
-
- VDP_ODDFRAME_FLAG - vdp.h -
-
-
-
- VDP_PALMODE_FLAG - vdp.h -
-
-
-
- VDP_PLAN_A - vdp.h -
-
-
-
- VDP_PLAN_B - vdp.h -
-
-
-
- VDP_PLAN_WINDOW - vdp.h -
-
-
-
- VDP_READ_CRAM_ADDR - vdp.h -
-
-
-
- VDP_READ_VRAM_ADDR - vdp.h -
-
-
-
- VDP_READ_VSRAM_ADDR - vdp.h -
-
- -
-
- VDP_releaseAllSprites - vdp_spr.c -
-
-
-
- VDP_releaseSprites - vdp_spr.c -
-
-
-
- VDP_resetScreen - vdp.c -
-
-
-
- VDP_resetSprites - vdp_spr.c -
-
-
-
- VDP_setAPlanAddress - vdp.h -
-
-
-
- VDP_setAutoInc - vdp.c -
-
-
- -
-
-
- VDP_setBGAAddress - vdp.c -
-
-
-
- VDP_setBGBAddress - vdp.c -
-
-
-
- VDP_setBPlanAddress - vdp.h -
-
-
-
- VDP_setDMAEnabled - vdp.c -
-
-
-
- VDP_setEnable - vdp.c -
-
-
-
- VDP_setExtInterrupt - vdp.c -
-
-
-
- VDP_setHilightShadow - vdp.c -
-
-
-
- VDP_setHIntCounter - vdp.c -
-
-
-
- VDP_setHInterrupt - vdp.c -
-
-
-
- VDP_setHorizontalScroll - vdp_bg.c -
-
-
- -
-
- -
-
- -
- -
-
- VDP_setHVLatching - vdp.c -
-
-
-
- VDP_setMap - vdp_tile.c -
-
-
-
- VDP_setMapEx - vdp_tile.c -
-
-
-
- VDP_setPlaneSize - vdp.c -
-
-
-
- VDP_setPlanSize - vdp.h -
-
-
-
- VDP_setReg - vdp.c -
-
-
-
- VDP_setScanMode - vdp.c -
-
-
- -
-
- -
-
-
- VDP_setScreenWidth256 - vdp.c -
-
-
-
- VDP_setScreenWidth320 - vdp.c -
-
-
-
- VDP_setScrollingMode - vdp.c -
-
-
-
- VDP_setSprite - vdp_spr.c -
-
-
-
- VDP_setSpriteAttribut - vdp_spr.c -
-
-
-
- VDP_setSpriteFlip - vdp_spr.c -
-
-
-
- VDP_setSpriteFlipH - vdp_spr.c -
-
-
-
- VDP_setSpriteFlipV - vdp_spr.c -
-
-
-
- VDP_setSpriteFull - vdp_spr.c -
-
- -
- -
-
-
- VDP_setSpritePalette - vdp_spr.c -
-
-
-
- VDP_setSpritePosition - vdp_spr.c -
-
-
-
- VDP_setSpritePriority - vdp_spr.c -
-
-
-
- VDP_setSpriteSize - vdp_spr.c -
-
-
-
- VDP_setSpriteTile - vdp_spr.c -
-
-
-
- VDP_setTextPalette - vdp_bg.c -
-
-
-
- VDP_setTextPlane - vdp_bg.c -
-
-
-
- VDP_setTextPriority - vdp_bg.c -
-
-
-
- VDP_setTileMap - vdp_tile.c -
-
-
-
- VDP_setTileMapColumn - vdp_tile.c -
-
-
-
- VDP_setTileMapColumnEx - vdp_tile.c -
-
-
-
- VDP_setTileMapData - vdp_tile.c -
-
-
-
- VDP_setTileMapDataColumn - vdp_tile.c -
-
-
-
- VDP_setTileMapDataColumnEx - vdp_tile.c -
-
-
-
- VDP_setTileMapDataColumnFast - vdp_tile.c -
-
-
-
- VDP_setTileMapDataEx - vdp_tile.c -
-
-
-
- VDP_setTileMapDataRect - vdp_tile.c -
-
-
-
- VDP_setTileMapDataRectEx - vdp_tile.c -
-
-
-
- VDP_setTileMapDataRow - vdp_tile.c -
-
-
-
- VDP_setTileMapDataRowEx - vdp_tile.c -
-
-
-
- VDP_setTileMapEx - vdp_tile.c -
-
-
-
- VDP_setTileMapRow - vdp_tile.c -
-
-
-
- VDP_setTileMapRowEx - vdp_tile.c -
-
-
-
- VDP_setTileMapXY - vdp_tile.c -
-
-
-
- VDP_setVerticalScroll - vdp_bg.c -
-
-
-
- VDP_setVerticalScrollTile - vdp_bg.c -
-
-
- -
-
-
- VDP_setVInterrupt - vdp.c -
-
-
-
- VDP_setWindowAddress - vdp.c -
-
-
-
- VDP_setWindowHPos - vdp.c -
-
-
- -
-
-
- VDP_setWindowVPos - vdp.c -
-
-
-
- VDP_showCPULoad - vdp.c -
-
-
-
- VDP_showFPS - vdp.c -
-
-
-
- vdp_spr.h -
-
-
-
- VDP_SPRCOLLISION_FLAG - vdp.h -
-
-
-
- VDP_SPRITE_TABLE - vdp.h -
-
-
-
- VDP_SPROVERFLOW_FLAG - vdp.h -
-
-
- -
-
-
- VDP_updateSprites - vdp_spr.c -
-
-
-
- VDP_VBLANK_FLAG - vdp.h -
-
-
-
- VDP_VERT_SCROLL - vdp.h -
-
-
-
- VDP_VINTPENDING_FLAG - vdp.h -
-
-
-
- VDP_waitDMACompletion - vdp.c -
-
-
-
- VDP_waitFIFOEmpty - vdp.c -
-
-
-
- VDP_waitVActive - vdp.c -
-
-
-
- VDP_waitVBlank - vdp.c -
-
-
-
- VDP_waitVInt - vdp.c -
-
-
-
- VDP_waitVSync - vdp.c -
-
-
-
- VDP_WINDOW - vdp.h -
-
-
-
- VDP_WRITE_CRAM_ADDR - vdp.h -
-
-
-
- VDP_WRITE_VRAM_ADDR - vdp.h -
-
-
-
- VDP_WRITE_VSRAM_ADDR - vdp.h -
-
-
-
- VDPPlane - vdp.h -
-
-
-
- VDPSprite -
-
-
-
- vdpSpriteCache - vdp_spr.c -
-
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
- vf16 - types.h -
-
-
-
- vf32 - types.h -
-
-
-
- vfix16 - types.h -
-
-
-
- vfix32 - types.h -
-
-
-
- VISIBLE - sprite_eng.h -
-
-
-
- vram.h -
-
-
-
- VRAM_alloc - vram.c -
-
-
-
- VRAM_clearRegion - vram.c -
-
-
-
- VRAM_createRegion - vram.c -
-
-
-
- VRAM_free - vram.c -
-
-
-
- VRAM_getAllocated - vram.c -
-
-
-
- VRAM_getFree - vram.c -
-
-
- -
-
-
- VRAM_releaseRegion - vram.c -
-
-
- -
-
-
- vs16 - types.h -
-
-
-
- vs32 - types.h -
-
-
-
- vs8 - types.h -
-
-
-
- VSCROLL_2TILE - vdp.h -
-
-
-
- VSCROLL_COLUMN - vdp.h -
-
-
-
- VSCROLL_PLANE - vdp.h -
-
-
-
- vsnprintf_t - console.h -
-
-
-
- vsprintf_t - console.h -
-
-
-
- vu16 - types.h -
-
-
-
- vu32 - types.h -
-
-
-
- vu8 - types.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_77.html b/doc/html/search/all_77.html deleted file mode 100644 index bbfea66b1..000000000 --- a/doc/html/search/all_77.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- waitMs - timer.c -
-
-
-
- waitSubTick - timer.c -
-
-
-
- waitTick - timer.c -
-
-
-
- windowWidth - vdp.c -
-
-
-
- windowWidthSft - vdp.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_78.html b/doc/html/search/all_78.html deleted file mode 100644 index 860b86440..000000000 --- a/doc/html/search/all_78.html +++ /dev/null @@ -1,402 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- xgm.h -
-
-
-
- xgm2.h -
-
-
-
- XGM2_fadeIn - xgm2.c -
-
-
-
- XGM2_fadeOut - xgm2.c -
-
-
-
- XGM2_fadeOutAndPause - xgm2.c -
-
-
-
- XGM2_fadeOutAndStop - xgm2.c -
-
-
-
- XGM2_fadeTo - xgm2.c -
-
-
-
- XGM2_getCPULoad - xgm2.c -
-
-
- -
-
- -
-
-
- XGM2_getDebugPCMRate - xgm2.c -
-
- -
-
- XGM2_getDMAWaitTime - xgm2.c -
-
-
-
- XGM2_getElapsed - xgm2.c -
-
-
-
- XGM2_getMusicTempo - xgm2.c -
-
-
-
- XGM2_isPAL - xgm2.c -
-
-
-
- XGM2_isPlaying - xgm2.c -
-
-
-
- XGM2_isPlayingPCM - xgm2.c -
-
-
-
- XGM2_isProcessingFade - xgm2.c -
-
-
-
- XGM2_load - xgm2.c -
-
-
-
- XGM2_load_FAR - xgm2.c -
-
-
-
- XGM2_loadDriver - xgm2.c -
-
-
-
- XGM2_pause - xgm2.c -
-
-
-
- XGM2_play - xgm2.c -
-
-
-
- XGM2_play_FAR - xgm2.c -
-
-
-
- XGM2_playPCM - xgm2.c -
-
-
-
- XGM2_playPCMEx - xgm2.c -
-
-
-
- XGM2_playTrack - xgm2.c -
-
-
-
- XGM2_resume - xgm2.c -
-
-
-
- XGM2_setFMVolume - xgm2.c -
-
-
-
- XGM2_setLoopNumber - xgm2.c -
-
-
-
- XGM2_setMusicTempo - xgm2.c -
-
-
-
- XGM2_setPSGVolume - xgm2.c -
-
-
-
- XGM2_stop - xgm2.c -
-
-
-
- XGM2_stopPCM - xgm2.c -
-
-
-
- XGM2_unloadDriver - xgm2.c -
-
-
-
- XGM_getCPULoad - xgm.c -
-
-
-
- XGM_getElapsed - xgm.c -
-
-
-
- XGM_getForceDelayDMA - xgm.c -
-
-
-
- XGM_getManualSync - xgm.c -
-
-
-
- XGM_getMusicTempo - xgm.c -
-
-
-
- XGM_isPlaying - xgm.c -
-
-
-
- XGM_isPlayingPCM - xgm.c -
-
-
-
- XGM_loadDriver - xgm.c -
-
-
-
- XGM_nextFrame - xgm.h -
-
-
-
- XGM_nextXFrame - xgm.c -
-
-
-
- XGM_pausePlay - xgm.c -
-
-
-
- XGM_resumePlay - xgm.c -
-
-
- -
-
-
- XGM_setForceDelayDMA - xgm.c -
-
-
-
- XGM_setLoopNumber - xgm.c -
-
-
-
- XGM_setManualSync - xgm.c -
-
-
-
- XGM_setMusicTempo - xgm.c -
-
-
-
- XGM_setPCM - xgm.c -
-
-
-
- XGM_setPCM_FAR - xgm.c -
-
-
-
- XGM_setPCMFast - xgm.c -
-
-
-
- XGM_setPCMFast_FAR - xgm.c -
-
-
-
- XGM_startPlay - xgm.c -
-
-
-
- XGM_startPlay_FAR - xgm.c -
-
-
-
- XGM_startPlayPCM - xgm.c -
-
-
-
- XGM_stopPlay - xgm.c -
-
-
-
- XGM_stopPlayPCM - xgm.c -
-
-
-
- XGM_unloadDriver - xgm.c -
-
-
-
- xstr - console.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_79.html b/doc/html/search/all_79.html deleted file mode 100644 index 386bacba4..000000000 --- a/doc/html/search/all_79.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- ym2612.h -
-
-
-
- YM2612_BASEPORT - ym2612.h -
-
-
-
- YM2612_disableDAC - ym2612.c -
-
-
-
- YM2612_enableDAC - ym2612.c -
-
-
-
- YM2612_read - ym2612.c -
-
-
-
- YM2612_readStatus - ym2612.c -
-
-
-
- YM2612_reset - ym2612.c -
-
-
-
- YM2612_write - ym2612.c -
-
-
-
- YM2612_writeReg - ym2612.c -
-
-
-
- YM2612_writeRegSafe - ym2612.h -
-
-
-
- YM2612_writeSafe - ym2612.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/all_7a.html b/doc/html/search/all_7a.html deleted file mode 100644 index 5810b29a9..000000000 --- a/doc/html/search/all_7a.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Z80_BANK_REGISTER - z80_ctrl.h -
-
-
-
- Z80_clear - z80_ctrl.c -
-
-
- -
-
-
- Z80_disableBusProtection - z80_ctrl.c -
-
-
-
- Z80_download - z80_ctrl.c -
-
-
-
- Z80_DRIVER_CUSTOM - z80_ctrl.h -
-
-
-
- Z80_DRIVER_DPCM2 - z80_ctrl.h -
-
-
-
- Z80_DRIVER_NULL - z80_ctrl.h -
-
-
-
- Z80_DRIVER_PCM - z80_ctrl.h -
-
-
-
- Z80_DRIVER_PCM4 - z80_ctrl.h -
-
-
-
- Z80_DRIVER_XGM - z80_ctrl.h -
-
-
-
- Z80_DRIVER_XGM2 - z80_ctrl.h -
-
-
-
- Z80_DRV_COM_PLAY - z80_ctrl.h -
-
-
-
- Z80_DRV_COM_STOP - z80_ctrl.h -
-
-
-
- Z80_DRV_COMMAND - z80_ctrl.h -
-
-
-
- Z80_DRV_PARAMS - z80_ctrl.h -
-
-
-
- Z80_DRV_STAT_PLAYING - z80_ctrl.h -
-
-
-
- Z80_DRV_STAT_READY - z80_ctrl.h -
-
-
-
- Z80_DRV_STATUS - z80_ctrl.h -
-
-
-
- Z80_enableBusProtection - z80_ctrl.c -
-
-
-
- Z80_endReset - z80_ctrl.c -
-
-
-
- Z80_getAndRequestBus - z80_ctrl.c -
-
-
-
- Z80_getForceDelayDMA - z80_ctrl.c -
-
-
-
- Z80_getLoadedDriver - z80_ctrl.c -
-
-
-
- Z80_init - z80_ctrl.c -
-
-
-
- Z80_isBusTaken - z80_ctrl.c -
-
-
-
- Z80_isDriverReady - z80_ctrl.c -
-
-
-
- Z80_loadCustomDriver - z80_ctrl.c -
-
-
-
- Z80_loadDriver - z80_ctrl.c -
-
-
-
- Z80_RAM - z80_ctrl.h -
-
-
-
- Z80_RAM_END - z80_ctrl.h -
-
-
-
- Z80_RAM_LEN - z80_ctrl.h -
-
-
-
- Z80_RAM_START - z80_ctrl.h -
-
-
-
- Z80_read - z80_ctrl.c -
-
-
-
- Z80_releaseBus - z80_ctrl.c -
-
-
-
- Z80_requestBus - z80_ctrl.c -
-
-
-
- Z80_setBank - z80_ctrl.c -
-
-
-
- Z80_setBusProtection - z80_ctrl.c -
-
-
-
- Z80_setForceDelayDMA - z80_ctrl.c -
-
-
-
- Z80_startReset - z80_ctrl.c -
-
-
-
- Z80_unloadDriver - z80_ctrl.c -
-
-
-
- Z80_upload - z80_ctrl.c -
-
-
-
- Z80_useBusProtection - z80_ctrl.c -
-
-
-
- Z80_write - z80_ctrl.c -
-
-
-
- Z80_YM2612 - z80_ctrl.h -
-
-
-
- zeroDivideCB - sys.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_5f.html b/doc/html/search/classes_5f.html deleted file mode 100644 index 845092397..000000000 --- a/doc/html/search/classes_5f.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
- -
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_61.html b/doc/html/search/classes_61.html deleted file mode 100644 index 5169cf9b3..000000000 --- a/doc/html/search/classes_61.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Animation -
-
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_62.html b/doc/html/search/classes_62.html deleted file mode 100644 index bd23288c8..000000000 --- a/doc/html/search/classes_62.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Bitmap -
-
-
-
- Box -
-
-
- -
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_63.html b/doc/html/search/classes_63.html deleted file mode 100644 index 863ee3959..000000000 --- a/doc/html/search/classes_63.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Circle -
-
- -
-
- Collision -
-
-
-
- Context3D -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_64.html b/doc/html/search/classes_64.html deleted file mode 100644 index 5de37f88b..000000000 --- a/doc/html/search/classes_64.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- DMAOpInfo -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_66.html b/doc/html/search/classes_66.html deleted file mode 100644 index ba2dffc75..000000000 --- a/doc/html/search/classes_66.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -
-
Loading...
-
- -
-
- -
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_69.html b/doc/html/search/classes_69.html deleted file mode 100644 index 0cd64b022..000000000 --- a/doc/html/search/classes_69.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Image -
-
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_6c.html b/doc/html/search/classes_6c.html deleted file mode 100644 index cbc71b942..000000000 --- a/doc/html/search/classes_6c.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Line -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_6d.html b/doc/html/search/classes_6d.html deleted file mode 100644 index 2e7f9b4ea..000000000 --- a/doc/html/search/classes_6d.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Map -
-
-
- -
-
-
- Mat2D_f16 -
-
-
-
- Mat2D_f32 -
-
-
-
- Mat3D_f16 -
-
-
-
- Mat3D_f32 -
-
-
-
- Mat4D_f16 -
-
-
-
- Mat4D_f32 -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_6f.html b/doc/html/search/classes_6f.html deleted file mode 100644 index a2b6ab79a..000000000 --- a/doc/html/search/classes_6f.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Object_ -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_70.html b/doc/html/search/classes_70.html deleted file mode 100644 index ba3fe1f11..000000000 --- a/doc/html/search/classes_70.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Palette -
-
-
-
- Pixel -
-
-
-
- Pool -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_72.html b/doc/html/search/classes_72.html deleted file mode 100644 index a4cb08b31..000000000 --- a/doc/html/search/classes_72.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- ROMHeader -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_73.html b/doc/html/search/classes_73.html deleted file mode 100644 index e15c54790..000000000 --- a/doc/html/search/classes_73.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- save_blob -
-
-
- -
-
- -
- -
-
- Sprite -
-
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_74.html b/doc/html/search/classes_74.html deleted file mode 100644 index a24bad450..000000000 --- a/doc/html/search/classes_74.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- TileMap -
-
-
-
- TileSet -
-
- -
-
- Triangle -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/classes_76.html b/doc/html/search/classes_76.html deleted file mode 100644 index 83b4e6eab..000000000 --- a/doc/html/search/classes_76.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- VDPSprite -
-
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/close.png b/doc/html/search/close.png deleted file mode 100644 index 9342d3dfeea7b7c4ee610987e717804b5a42ceb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN diff --git a/doc/html/search/defines_61.html b/doc/html/search/defines_61.html deleted file mode 100644 index 935a4610c..000000000 --- a/doc/html/search/defines_61.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- abs - maths.h -
-
- -
-
- astMemcpy - memory.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_62.html b/doc/html/search/defines_62.html deleted file mode 100644 index bfdea8967..000000000 --- a/doc/html/search/defines_62.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- BMP_GENBMP16_HEIGHT - bmp.h -
-
-
-
- BMP_GENBMP16_IMAGE - bmp.h -
-
-
-
- BMP_GENBMP16_PALETTE - bmp.h -
-
-
-
- BMP_GENBMP16_WIDTH - bmp.h -
-
-
-
- BMP_getBitmapPalette - bmp.h -
-
-
-
- BMP_GETPIXEL - bmp.h -
-
-
-
- BMP_HEIGHT - bmp.h -
-
-
- -
-
-
- BMP_loadBitmap - bmp.h -
-
-
-
- BMP_loadBitmapData - bmp.h -
-
-
-
- BMP_PITCH - bmp.h -
-
-
-
- BMP_PLANE_HEIGHT - bmp.h -
-
-
-
- BMP_PLANE_WIDTH - bmp.h -
-
-
-
- BMP_SETPIXEL - bmp.h -
-
-
-
- BMP_TILE_HEIGHT - bmp.h -
-
-
-
- BMP_TILE_WIDTH - bmp.h -
-
-
-
- BMP_WIDTH - bmp.h -
-
-
-
- BMP_XPIXPERTILE - bmp.h -
-
-
-
- BMP_YPIXPERTILE - bmp.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_63.html b/doc/html/search/defines_63.html deleted file mode 100644 index e2e4327e2..000000000 --- a/doc/html/search/defines_63.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- clamp - maths.h -
-
-
-
- COLLISION_TYPE_BOX - sprite_eng.h -
-
-
-
- COLLISION_TYPE_CIRCLE - sprite_eng.h -
-
-
-
- COLLISION_TYPE_NONE - sprite_eng.h -
-
-
-
- COMPRESSION_APLIB - tools.h -
-
-
-
- COMPRESSION_LZ4W - tools.h -
-
-
-
- COMPRESSION_NONE - tools.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_64.html b/doc/html/search/defines_64.html deleted file mode 100644 index 62f826008..000000000 --- a/doc/html/search/defines_64.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- distance_approx - maths.h -
-
-
-
- DMA_CRAM - dma.h -
-
-
-
- DMA_DISABLED - config.h -
-
-
-
- DMA_VRAM - dma.h -
-
-
-
- DMA_VSRAM - dma.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_65.html b/doc/html/search/defines_65.html deleted file mode 100644 index 53e3821b7..000000000 --- a/doc/html/search/defines_65.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- ENABLE_ASSERT_CHECKS - console.h -
-
-
-
- ENABLE_BANK_SWITCH - config.h -
-
- -
-
- ENABLE_NEWLIB - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_66.html b/doc/html/search/defines_66.html deleted file mode 100644 index c85023777..000000000 --- a/doc/html/search/defines_66.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -
-
Loading...
- -
-
- FAR - mapper.h -
-
-
-
- FASTFIX16 - maths.h -
-
-
-
- FASTFIX32 - maths.h -
-
-
-
- fastMemcpyU16 - memory.h -
-
-
-
- fastMemcpyU32 - memory.h -
-
-
-
- fastMemset - memory.h -
-
-
-
- fastMemsetU16 - memory.h -
-
-
-
- fastMemsetU32 - memory.h -
-
-
-
- FIX16 - maths.h -
-
-
-
- FIX32 - maths.h -
-
-
-
- FONT_LEN - vdp.h -
-
-
-
- FORCE_INLINE - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_67.html b/doc/html/search/defines_67.html deleted file mode 100644 index 4482a6bf8..000000000 --- a/doc/html/search/defines_67.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- GET_DWORDFROMPBYTE - memory.h -
-
-
-
- GET_DWORDFROMPBYTE_LI - memory.h -
-
-
-
- GET_DWORDFROMPWORD - memory.h -
-
-
-
- GET_DWORDFROMPWORD_LI - memory.h -
-
-
-
- GET_HCOUNTER - vdp.h -
-
-
-
- GET_HVCOUNTER - vdp.h -
-
-
-
- GET_VCOUNTER - vdp.h -
-
-
-
- GET_VDP_STATUS - vdp.h -
-
-
-
- GET_WORDFROMPBYTE - memory.h -
-
-
-
- GET_WORDFROMPBYTE_LI - memory.h -
-
-
-
- GFX_CTRL_PORT - vdp.h -
-
-
-
- GFX_DATA_PORT - vdp.h -
-
-
-
- GFX_DMA_CRAM_ADDR - vdp.h -
-
-
-
- GFX_DMA_VRAM_ADDR - vdp.h -
-
-
-
- GFX_DMA_VRAMCOPY_ADDR - vdp.h -
-
-
-
- GFX_DMA_VSRAM_ADDR - vdp.h -
-
-
-
- GFX_HORZ_SCROLL - vdp.h -
-
-
-
- GFX_HVCOUNTER_PORT - vdp.h -
-
-
-
- GFX_READ_CRAM_ADDR - vdp.h -
-
-
-
- GFX_READ_VRAM_ADDR - vdp.h -
-
-
-
- GFX_READ_VSRAM_ADDR - vdp.h -
-
-
-
- GFX_VERT_SCROLL - vdp.h -
-
-
-
- GFX_WRITE_CRAM_ADDR - vdp.h -
-
-
-
- GFX_WRITE_VRAM_ADDR - vdp.h -
-
-
-
- GFX_WRITE_VSRAM_ADDR - vdp.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_68.html b/doc/html/search/defines_68.html deleted file mode 100644 index 4134bc149..000000000 --- a/doc/html/search/defines_68.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- HALT_Z80_ON_DMA - config.h -
-
-
-
- HALT_Z80_ON_IO - config.h -
-
-
-
- HSCROLL_LINE - vdp.h -
-
-
-
- HSCROLL_PLANE - vdp.h -
-
-
-
- HSCROLL_TILE - vdp.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_69.html b/doc/html/search/defines_69.html deleted file mode 100644 index 3dd878779..000000000 --- a/doc/html/search/defines_69.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- INTERLACED_MODE1 - vdp.h -
-
-
-
- INTERLACED_MODE2 - vdp.h -
-
-
-
- INTERLACED_NONE - vdp.h -
-
-
-
- IS_PAL_SYSTEM - vdp.h -
-
-
-
- isdigit - string.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_6c.html b/doc/html/search/defines_6c.html deleted file mode 100644 index a1752b149..000000000 --- a/doc/html/search/defines_6c.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- LEGACY_SPRITE_ENGINE - config.h -
-
-
-
- LIB_DEBUG - config.h -
-
- -
-
- LOG_LEVEL_DISABLE - config.h -
-
-
-
- LOG_LEVEL_ERROR - config.h -
-
-
-
- LOG_LEVEL_INFO - config.h -
-
-
-
- LOG_LEVEL_WARNING - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_6d.html b/doc/html/search/defines_6d.html deleted file mode 100644 index 0dc102776..000000000 --- a/doc/html/search/defines_6d.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- max - maths.h -
-
-
-
- MAXTIMER - timer.h -
-
-
-
- memcpyU16 - memory.h -
-
-
-
- memcpyU32 - memory.h -
-
-
-
- MEMORY_HIGH - memory_base.h -
-
-
-
- min - maths.h -
-
-
-
- MODULE_CONSOLE - config.h -
-
-
-
- MODULE_EVERDRIVE - config.h -
-
-
-
- MODULE_FAT16 - config.h -
-
-
-
- MODULE_FLASHSAVE - config.h -
-
-
-
- MODULE_MEGAWIFI - config.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_6e.html b/doc/html/search/defines_6e.html deleted file mode 100644 index fe1ceeecb..000000000 --- a/doc/html/search/defines_6e.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- NO_INLINE - config.h -
-
-
-
- NULL - types.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_6f.html b/doc/html/search/defines_6f.html deleted file mode 100644 index 84d7db435..000000000 --- a/doc/html/search/defines_6f.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- OBJ_ALLOCATED - object.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_70.html b/doc/html/search/defines_70.html deleted file mode 100644 index 9f9cd24be..000000000 --- a/doc/html/search/defines_70.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- PAL0 - vdp.h -
-
-
-
- PAL1 - vdp.h -
-
-
-
- PAL2 - vdp.h -
-
-
-
- PAL3 - vdp.h -
-
-
-
- PAL_setColorsDMA - pal.h -
-
-
- -
-
-
- PAL_setPaletteDMA - pal.h -
-
-
-
- PI - maths.h -
-
-
-
- PSG_ENVELOPE_MAX - psg.h -
-
-
-
- PSG_ENVELOPE_MIN - psg.h -
-
-
-
- PSG_init - psg.h -
-
-
-
- PSG_NOISE_FREQ_CLOCK2 - psg.h -
-
-
-
- PSG_NOISE_FREQ_CLOCK4 - psg.h -
-
-
-
- PSG_NOISE_FREQ_CLOCK8 - psg.h -
-
-
-
- PSG_NOISE_FREQ_TONE3 - psg.h -
-
-
- -
-
-
- PSG_NOISE_TYPE_WHITE - psg.h -
-
-
-
- PSG_PORT - psg.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_72.html b/doc/html/search/defines_72.html deleted file mode 100644 index 791e98e8a..000000000 --- a/doc/html/search/defines_72.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- RAM - memory_base.h -
-
-
-
- RGB24_TO_VDPCOLOR - pal.h -
-
-
-
- RGB3_3_3_TO_VDPCOLOR - pal.h -
-
-
-
- RGB8_8_8_TO_VDPCOLOR - pal.h -
-
-
-
- ROM - memory_base.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_73.html b/doc/html/search/defines_73.html deleted file mode 100644 index 58ddbb91a..000000000 --- a/doc/html/search/defines_73.html +++ /dev/null @@ -1,320 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- SAT_MAX_SIZE - vdp_spr.h -
-
-
-
- SND_getCPULoad_XGM - xgm.h -
-
-
- -
-
-
- SND_getManualSync_XGM - xgm.h -
-
-
-
- SND_getMusicTempo_XGM - xgm.h -
-
-
-
- SND_isPlaying_XGM - xgm.h -
-
-
-
- SND_isPlayingPCM_XGM - xgm.h -
-
-
-
- SND_nextFrame_XGM - xgm.h -
-
-
-
- SND_nextXFrame_XGM - xgm.h -
-
-
-
- SND_pausePlay_XGM - xgm.h -
-
-
-
- SND_resumePlay_XGM - xgm.h -
-
- -
- -
-
-
- SND_setLoopNumber_XGM - xgm.h -
-
-
-
- SND_setManualSync_XGM - xgm.h -
-
-
-
- SND_setMusicTempo_XGM - xgm.h -
-
-
-
- SND_setPCM_XGM - xgm.h -
-
-
-
- SND_setPCMFast_XGM - xgm.h -
-
-
-
- SND_startPlay_XGM - xgm.h -
-
-
-
- SND_startPlayPCM_XGM - xgm.h -
-
-
-
- SND_stopPlay_XGM - xgm.h -
-
-
-
- SND_stopPlayPCM_XGM - xgm.h -
-
-
-
- SOUND_PCM_CH1_MSK - sound.h -
-
-
-
- SOUND_PCM_CH2_MSK - sound.h -
-
-
-
- SOUND_PCM_CH3_MSK - sound.h -
-
-
-
- SOUND_PCM_CH4_MSK - sound.h -
-
-
-
- SPR_computeVisibility - sprite_eng.h -
-
-
-
- SPR_FLAG_AUTO_TILE_UPLOAD - sprite_eng.h -
-
-
-
- SPR_FLAG_AUTO_VISIBILITY - sprite_eng.h -
-
-
-
- SPR_FLAG_AUTO_VRAM_ALLOC - sprite_eng.h -
-
-
-
- SPR_FLAG_DISABLE_ANIMATION_LOOP - sprite_eng.h -
-
- -
-
- SPR_FLAG_FAST_AUTO_VISIBILITY - sprite_eng.h -
-
-
-
- SPR_FLAG_INSERT_HEAD - sprite_eng.h -
-
-
-
- SPR_FLAG_MASK - sprite_eng.h -
-
-
-
- SPR_MAX_DEPTH - sprite_eng.h -
-
-
-
- SPR_MIN_DEPTH - sprite_eng.h -
-
-
-
- SPR_setAlwaysVisible - sprite_eng.h -
-
-
-
- SPR_setNeverVisible - sprite_eng.h -
-
-
-
- SPR_setPriorityAttribut - sprite_eng.h -
-
-
-
- SPRITE_SIZE - vdp_spr.h -
-
-
-
- STACK_SIZE - memory_base.h -
-
-
-
- str - console.h -
-
-
-
- SUBTICKPERSECOND - timer.h -
-
-
-
- SWAP_s16 - memory.h -
-
-
-
- SWAP_s32 - memory.h -
-
-
-
- SWAP_s8 - memory.h -
-
-
-
- SWAP_u16 - memory.h -
-
-
-
- SWAP_u32 - memory.h -
-
-
-
- SWAP_u8 - memory.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_74.html b/doc/html/search/defines_74.html deleted file mode 100644 index 1e1e738ce..000000000 --- a/doc/html/search/defines_74.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- TICKPERSECOND - timer.h -
-
-
-
- TILE_ATTR - vdp_tile.h -
-
-
-
- TILE_ATTR_FULL - vdp_tile.h -
-
-
-
- TILE_ATTR_HFLIP_MASK - vdp_tile.h -
-
-
-
- TILE_ATTR_HFLIP_SFT - vdp_tile.h -
-
-
-
- TILE_ATTR_MASK - vdp_tile.h -
-
-
-
- TILE_ATTR_PALETTE_MASK - vdp_tile.h -
-
-
-
- TILE_ATTR_PALETTE_SFT - vdp_tile.h -
-
-
-
- TILE_ATTR_PRIORITY_MASK - vdp_tile.h -
-
-
-
- TILE_ATTR_PRIORITY_SFT - vdp_tile.h -
-
-
-
- TILE_ATTR_VFLIP_MASK - vdp_tile.h -
-
-
-
- TILE_ATTR_VFLIP_SFT - vdp_tile.h -
-
-
-
- TILE_FONT - vdp.h -
-
-
-
- TILE_FONT_INDEX - vdp.h -
-
-
-
- TILE_FONTINDEX - vdp.h -
-
-
-
- TILE_MAX_INDEX - vdp.h -
-
-
-
- TILE_MAX_NUM - vdp.h -
-
-
-
- TILE_MAXINDEX - vdp.h -
-
-
-
- TILE_MAXNUM - vdp.h -
-
-
-
- TILE_SIZE - vdp.h -
-
-
-
- TILE_SPACE - vdp.h -
-
-
-
- TILE_SPRITE_INDEX - vdp.h -
-
-
-
- TILE_SPRITEINDEX - vdp.h -
-
-
-
- TILE_SYSTEM - vdp.h -
-
-
-
- TILE_SYSTEM_INDEX - vdp.h -
-
-
-
- TILE_SYSTEM_LENGHT - vdp.h -
-
-
-
- TILE_SYSTEM_LENGTH - vdp.h -
-
-
-
- TILE_SYSTEMINDEX - vdp.h -
-
-
-
- TILE_SYSTEMLENGTH - vdp.h -
-
-
-
- TILE_USER - vdp.h -
-
-
-
- TILE_USER_INDEX - vdp.h -
-
-
-
- TILE_USER_LENGTH - vdp.h -
-
-
-
- TILE_USER_MAX_INDEX - vdp.h -
-
-
-
- TILE_USERINDEX - vdp.h -
-
-
-
- TILE_USERLENGTH - vdp.h -
-
-
-
- TILE_USERMAXINDEX - vdp.h -
-
-
-
- TIMEPERSECOND - timer.h -
-
- -
-
- TSK_PEND_FOREVER - task_cst.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_75.html b/doc/html/search/defines_75.html deleted file mode 100644 index 30ad23d7b..000000000 --- a/doc/html/search/defines_75.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- USER_STACK_LENGTH - task_cst.h -
-
-
-
- UTSK_REGS_LEN - task_cst.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_76.html b/doc/html/search/defines_76.html deleted file mode 100644 index 0bb62c028..000000000 --- a/doc/html/search/defines_76.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- VDP_BG_A - vdp.h -
-
-
-
- VDP_BG_B - vdp.h -
-
-
-
- VDP_CTRL_PORT - vdp.h -
-
-
-
- VDP_DATA_PORT - vdp.h -
-
-
-
- VDP_DMA_CRAM_ADDR - vdp.h -
-
-
-
- VDP_DMA_VRAM_ADDR - vdp.h -
-
-
-
- VDP_DMA_VRAMCOPY_ADDR - vdp.h -
-
-
-
- VDP_DMA_VSRAM_ADDR - vdp.h -
-
-
-
- VDP_DMABUSY_FLAG - vdp.h -
-
-
-
- VDP_FIFOEMPTY_FLAG - vdp.h -
-
-
-
- VDP_FIFOFULL_FLAG - vdp.h -
-
-
-
- VDP_getAPlanAddress - vdp.h -
-
-
-
- VDP_getBPlanAddress - vdp.h -
-
-
- -
-
-
- VDP_HBLANK_FLAG - vdp.h -
-
-
-
- VDP_HORZ_SCROLL - vdp.h -
-
-
-
- VDP_HSCROLL_TABLE - vdp.h -
-
-
-
- VDP_HVCOUNTER_PORT - vdp.h -
-
-
-
- VDP_MAPS_START - vdp.h -
-
-
-
- VDP_ODDFRAME_FLAG - vdp.h -
-
-
-
- VDP_PALMODE_FLAG - vdp.h -
-
-
-
- VDP_PLAN_A - vdp.h -
-
-
-
- VDP_PLAN_B - vdp.h -
-
-
-
- VDP_PLAN_WINDOW - vdp.h -
-
-
-
- VDP_READ_CRAM_ADDR - vdp.h -
-
-
-
- VDP_READ_VRAM_ADDR - vdp.h -
-
-
-
- VDP_READ_VSRAM_ADDR - vdp.h -
-
-
-
- VDP_setAPlanAddress - vdp.h -
-
-
-
- VDP_setBPlanAddress - vdp.h -
-
-
-
- VDP_setPlanSize - vdp.h -
-
-
- -
-
-
- VDP_SPRCOLLISION_FLAG - vdp.h -
-
-
-
- VDP_SPRITE_TABLE - vdp.h -
-
-
-
- VDP_SPROVERFLOW_FLAG - vdp.h -
-
-
-
- VDP_VBLANK_FLAG - vdp.h -
-
-
-
- VDP_VERT_SCROLL - vdp.h -
-
-
-
- VDP_VINTPENDING_FLAG - vdp.h -
-
-
-
- VDP_WINDOW - vdp.h -
-
-
-
- VDP_WRITE_CRAM_ADDR - vdp.h -
-
-
-
- VDP_WRITE_VRAM_ADDR - vdp.h -
-
-
-
- VDP_WRITE_VSRAM_ADDR - vdp.h -
-
-
-
- VSCROLL_2TILE - vdp.h -
-
-
-
- VSCROLL_COLUMN - vdp.h -
-
-
-
- VSCROLL_PLANE - vdp.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_78.html b/doc/html/search/defines_78.html deleted file mode 100644 index f2a9cff68..000000000 --- a/doc/html/search/defines_78.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- XGM_nextFrame - xgm.h -
-
-
-
- xstr - console.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_79.html b/doc/html/search/defines_79.html deleted file mode 100644 index a4c62a0d9..000000000 --- a/doc/html/search/defines_79.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- YM2612_BASEPORT - ym2612.h -
-
-
-
- YM2612_writeRegSafe - ym2612.h -
-
-
-
- YM2612_writeSafe - ym2612.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/defines_7a.html b/doc/html/search/defines_7a.html deleted file mode 100644 index 79b86a469..000000000 --- a/doc/html/search/defines_7a.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Z80_BANK_REGISTER - z80_ctrl.h -
-
-
-
- Z80_DRIVER_CUSTOM - z80_ctrl.h -
-
-
-
- Z80_DRIVER_DPCM2 - z80_ctrl.h -
-
-
-
- Z80_DRIVER_NULL - z80_ctrl.h -
-
-
-
- Z80_DRIVER_PCM - z80_ctrl.h -
-
-
-
- Z80_DRIVER_PCM4 - z80_ctrl.h -
-
-
-
- Z80_DRIVER_XGM - z80_ctrl.h -
-
-
-
- Z80_DRIVER_XGM2 - z80_ctrl.h -
-
-
-
- Z80_DRV_COM_PLAY - z80_ctrl.h -
-
-
-
- Z80_DRV_COM_STOP - z80_ctrl.h -
-
-
-
- Z80_DRV_COMMAND - z80_ctrl.h -
-
-
-
- Z80_DRV_PARAMS - z80_ctrl.h -
-
-
-
- Z80_DRV_STAT_PLAYING - z80_ctrl.h -
-
-
-
- Z80_DRV_STAT_READY - z80_ctrl.h -
-
-
-
- Z80_DRV_STATUS - z80_ctrl.h -
-
-
-
- Z80_RAM - z80_ctrl.h -
-
-
-
- Z80_RAM_END - z80_ctrl.h -
-
-
-
- Z80_RAM_LEN - z80_ctrl.h -
-
-
-
- Z80_RAM_START - z80_ctrl.h -
-
-
-
- Z80_YM2612 - z80_ctrl.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/enums_73.html b/doc/html/search/enums_73.html deleted file mode 100644 index 876a0fd50..000000000 --- a/doc/html/search/enums_73.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- SoundPanning - sound.h -
-
-
-
- SoundPCMChannel - sound.h -
-
-
-
- SoundPcmSampleRate - snd_pcm.h -
-
-
-
- SpriteVisibility - sprite_eng.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/enums_74.html b/doc/html/search/enums_74.html deleted file mode 100644 index 1a92d217a..000000000 --- a/doc/html/search/enums_74.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- TransferMethod - dma.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/enums_76.html b/doc/html/search/enums_76.html deleted file mode 100644 index 9b3ea4869..000000000 --- a/doc/html/search/enums_76.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- VBlankProcessTime - sys.h -
-
-
-
- VDPPlane - vdp.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/enumvalues_61.html b/doc/html/search/enumvalues_61.html deleted file mode 100644 index cc868c25f..000000000 --- a/doc/html/search/enumvalues_61.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- AUTO_FAST - sprite_eng.h -
-
-
-
- AUTO_SLOW - sprite_eng.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/enumvalues_63.html b/doc/html/search/enumvalues_63.html deleted file mode 100644 index 33fe6957d..000000000 --- a/doc/html/search/enumvalues_63.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- CPU - dma.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/enumvalues_64.html b/doc/html/search/enumvalues_64.html deleted file mode 100644 index eaceb5cd0..000000000 --- a/doc/html/search/enumvalues_64.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- DMA - dma.h -
-
-
-
- DMA_QUEUE - dma.h -
-
-
-
- DMA_QUEUE_COPY - dma.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/enumvalues_68.html b/doc/html/search/enumvalues_68.html deleted file mode 100644 index ed04f1e5a..000000000 --- a/doc/html/search/enumvalues_68.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- HIDDEN - sprite_eng.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/enumvalues_6f.html b/doc/html/search/enumvalues_6f.html deleted file mode 100644 index 4dca6f87a..000000000 --- a/doc/html/search/enumvalues_6f.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- ON_VBLANK - sys.h -
-
-
-
- ON_VBLANK_START - sys.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/enumvalues_73.html b/doc/html/search/enumvalues_73.html deleted file mode 100644 index 3e79e4940..000000000 --- a/doc/html/search/enumvalues_73.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- SM_STAT_ERR - saveman.h -
-
-
-
- SM_STAT_HW_ERR - saveman.h -
-
-
-
- SM_STAT_OK - saveman.h -
-
-
-
- SM_STAT_PARAM_ERR - saveman.h -
-
-
-
- SM_STAT_WARN_NO_DATA - saveman.h -
-
-
-
- SOUND_PCM_RATE_22050 - snd_pcm.h -
-
-
-
- SOUND_PCM_RATE_8000 - snd_pcm.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/enumvalues_76.html b/doc/html/search/enumvalues_76.html deleted file mode 100644 index 180a3f478..000000000 --- a/doc/html/search/enumvalues_76.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- VISIBLE - sprite_eng.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_61.html b/doc/html/search/files_61.html deleted file mode 100644 index 736115f5b..000000000 --- a/doc/html/search/files_61.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- asm.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_62.html b/doc/html/search/files_62.html deleted file mode 100644 index 41054319b..000000000 --- a/doc/html/search/files_62.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- bmp.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_63.html b/doc/html/search/files_63.html deleted file mode 100644 index a6d181f87..000000000 --- a/doc/html/search/files_63.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- config.h -
-
-
-
- console.c -
-
-
-
- console.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_64.html b/doc/html/search/files_64.html deleted file mode 100644 index a3f0c94b5..000000000 --- a/doc/html/search/files_64.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- dma.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_65.html b/doc/html/search/files_65.html deleted file mode 100644 index 3554cc081..000000000 --- a/doc/html/search/files_65.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
- -
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_66.html b/doc/html/search/files_66.html deleted file mode 100644 index b0ec1b1b6..000000000 --- a/doc/html/search/files_66.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- fat16.h -
-
-
-
- flash.h -
-
-
-
- font.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_67.html b/doc/html/search/files_67.html deleted file mode 100644 index 7f17bd0a9..000000000 --- a/doc/html/search/files_67.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
- -
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_6a.html b/doc/html/search/files_6a.html deleted file mode 100644 index ada634edd..000000000 --- a/doc/html/search/files_6a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- joy.h -
-
-
-
- json.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_6b.html b/doc/html/search/files_6b.html deleted file mode 100644 index 3555403a6..000000000 --- a/doc/html/search/files_6b.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- kdebug.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_6d.html b/doc/html/search/files_6d.html deleted file mode 100644 index 44ceb5fe9..000000000 --- a/doc/html/search/files_6d.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- map.h -
-
-
-
- mapper.h -
-
-
-
- maths.h -
-
-
-
- maths3D.h -
-
-
- -
-
-
- memory.h -
-
-
- -
-
-
- mw-msg.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_6f.html b/doc/html/search/files_6f.html deleted file mode 100644 index 284a5f086..000000000 --- a/doc/html/search/files_6f.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- object.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_70.html b/doc/html/search/files_70.html deleted file mode 100644 index bcdbe93ae..000000000 --- a/doc/html/search/files_70.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- pal.h -
-
-
-
- pool.h -
-
-
-
- psg.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_73.html b/doc/html/search/files_73.html deleted file mode 100644 index be1eeb5c2..000000000 --- a/doc/html/search/files_73.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- saveman.h -
-
-
- -
-
-
- snd_pcm.h -
-
-
- -
-
-
- sound.h -
-
-
- -
- -
-
- sram.h -
-
-
-
- string.h -
-
-
-
- sys.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_74.html b/doc/html/search/files_74.html deleted file mode 100644 index 26912acc6..000000000 --- a/doc/html/search/files_74.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- task.h -
-
-
- -
-
-
- timer.h -
-
-
-
- tools.h -
-
-
-
- types.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_76.html b/doc/html/search/files_76.html deleted file mode 100644 index e6fbcfc1b..000000000 --- a/doc/html/search/files_76.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- vdp.h -
-
-
-
- vdp_bg.h -
-
-
-
- vdp_spr.h -
-
-
- -
-
-
- vram.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_78.html b/doc/html/search/files_78.html deleted file mode 100644 index cd7f011ba..000000000 --- a/doc/html/search/files_78.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- xgm.h -
-
-
-
- xgm2.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_79.html b/doc/html/search/files_79.html deleted file mode 100644 index 7a0617156..000000000 --- a/doc/html/search/files_79.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- ym2612.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/files_7a.html b/doc/html/search/files_7a.html deleted file mode 100644 index 595ed9714..000000000 --- a/doc/html/search/files_7a.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -
-
Loading...
-
- -
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_61.html b/doc/html/search/functions_61.html deleted file mode 100644 index 7f15e7c16..000000000 --- a/doc/html/search/functions_61.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- allocateBitmap - tools.c -
-
-
-
- allocateBitmapEx - tools.c -
-
-
-
- allocateImage - tools.c -
-
-
-
- allocateMap - tools.c -
-
-
-
- allocateTileMap - tools.c -
-
-
-
- allocateTileMapEx - tools.c -
-
-
-
- allocateTileSet - tools.c -
-
-
-
- allocateTileSetEx - tools.c -
-
-
-
- aplib_unpack - tools.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_62.html b/doc/html/search/functions_62.html deleted file mode 100644 index 8adf80f41..000000000 --- a/doc/html/search/functions_62.html +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- BMP_clear - bmp.c -
-
-
-
- BMP_clearText - bmp.c -
-
-
-
- BMP_clearTextLine - bmp.c -
-
-
-
- BMP_clipLine - bmp.h -
-
-
-
- BMP_drawBitmap - bmp.c -
-
-
-
- BMP_drawBitmapData - bmp.c -
-
-
-
- BMP_drawBitmapScaled - bmp.c -
-
-
-
- BMP_drawLine - bmp.h -
-
-
-
- BMP_drawPolygon - bmp.h -
-
-
-
- BMP_drawText - bmp.c -
-
-
-
- BMP_end - bmp.c -
-
-
-
- BMP_flip - bmp.c -
-
-
-
- BMP_getPixel - bmp.c -
-
-
-
- BMP_getPixelFast - bmp.c -
-
-
-
- BMP_getReadPointer - bmp.c -
-
-
-
- BMP_getWritePointer - bmp.c -
-
-
-
- BMP_hasFlipInProgess - bmp.c -
-
-
- -
-
-
- BMP_init - bmp.c -
-
-
-
- BMP_isPolygonCulled - bmp.h -
-
-
-
- BMP_reset - bmp.c -
-
-
-
- BMP_scale - bmp.c -
-
-
-
- BMP_setBufferCopy - bmp.c -
-
-
-
- BMP_setPixel - bmp.c -
-
-
-
- BMP_setPixelFast - bmp.c -
-
-
-
- BMP_setPixels - bmp.h -
-
-
-
- BMP_setPixels_V2D - bmp.h -
-
-
-
- BMP_setPixelsFast - bmp.h -
-
-
-
- BMP_setPixelsFast_V2D - bmp.h -
-
-
-
- BMP_showFPS - bmp.c -
-
-
-
- BMP_waitFlipComplete - bmp.c -
-
- -
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_63.html b/doc/html/search/functions_63.html deleted file mode 100644 index 64f616609..000000000 --- a/doc/html/search/functions_63.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - -
-
Loading...
- - - - - - - - - -
-
- CON_snprintf - console.h -
-
-
-
- CON_sprintf - console.h -
-
- -
-
- CON_write - console.h -
-
-
-
- cosFix16 - maths.c -
-
-
-
- cosFix32 - maths.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_64.html b/doc/html/search/functions_64.html deleted file mode 100644 index fa99b3f4a..000000000 --- a/doc/html/search/functions_64.html +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- divmods - maths.c -
-
-
-
- divmodu - maths.c -
-
-
-
- divs - maths.c -
-
-
-
- divu - maths.c -
-
-
- -
-
-
- DMA_allocateTemp - dma.c -
-
-
-
- DMA_canQueue - dma.c -
-
-
-
- DMA_clearQueue - dma.c -
-
-
-
- DMA_copyAndQueueDma - dma.c -
-
-
-
- DMA_doCPUCopy - dma.c -
-
-
-
- DMA_doCPUCopyDirect - dma.c -
-
-
-
- DMA_doDma - dma.c -
-
-
-
- DMA_doDmaFast - dma.c -
-
-
-
- DMA_doVRamCopy - dma.c -
-
-
-
- DMA_doVRamFill - dma.c -
-
-
-
- DMA_flushQueue - dma.c -
-
-
-
- DMA_getAutoFlush - dma.c -
-
-
-
- DMA_getBufferSize - dma.c -
-
-
- -
-
-
- DMA_getMaxQueueSize - dma.c -
-
-
- -
-
-
- DMA_getQueueSize - dma.c -
-
-
- -
-
-
- DMA_init - dma.c -
-
-
-
- DMA_initEx - dma.c -
-
-
-
- DMA_queueDma - dma.c -
-
-
-
- DMA_queueDmaFast - dma.c -
-
-
-
- DMA_releaseTemp - dma.c -
-
-
-
- DMA_setAutoFlush - dma.c -
-
-
-
- DMA_setBufferSize - dma.c -
-
- -
- -
-
-
- DMA_setMaxQueueSize - dma.c -
-
- -
- -
- -
-
- DMA_transfer - dma.c -
-
-
-
- DMA_waitCompletion - dma.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_66.html b/doc/html/search/functions_66.html deleted file mode 100644 index 32882acc0..000000000 --- a/doc/html/search/functions_66.html +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- fastFix16Div - maths.c -
-
-
-
- fastFix16Frac - maths.c -
-
-
-
- fastFix16Int - maths.c -
-
-
-
- fastFix16Mul - maths.c -
-
-
-
- fastFix16Round - maths.c -
-
-
-
- fastFix16ToInt - maths.c -
-
-
-
- fastFix16ToRoundedInt - maths.c -
-
-
-
- fastFix32Div - maths.c -
-
-
-
- fastFix32Frac - maths.c -
-
-
-
- fastFix32Int - maths.c -
-
-
-
- fastFix32Mul - maths.c -
-
-
-
- fastFix32Round - maths.c -
-
-
-
- fastFix32ToInt - maths.c -
-
-
-
- fastFix32ToRoundedInt - maths.c -
-
-
-
- fix16Avg - maths.c -
-
-
-
- fix16Div - maths.c -
-
-
-
- fix16Frac - maths.c -
-
-
-
- fix16Int - maths.c -
-
-
-
- fix16Log10 - maths.c -
-
-
-
- fix16Log2 - maths.c -
-
-
-
- fix16Mul - maths.c -
-
-
-
- fix16Round - maths.c -
-
-
-
- fix16Sqrt - maths.c -
-
-
-
- fix16ToFix32 - maths.c -
-
-
-
- fix16ToInt - maths.c -
-
-
-
- fix16ToRoundedInt - maths.c -
-
-
-
- fix16ToStr - string.c -
-
-
-
- fix32Avg - maths.c -
-
-
-
- fix32Div - maths.c -
-
-
-
- fix32Frac - maths.c -
-
-
-
- fix32Int - maths.c -
-
-
-
- fix32Mul - maths.c -
-
-
-
- fix32Round - maths.c -
-
-
-
- fix32ToFix16 - maths.c -
-
-
-
- fix32ToInt - maths.c -
-
-
-
- fix32ToRoundedInt - maths.c -
-
-
-
- fix32ToStr - string.c -
-
-
-
- flash_copy - flash.c -
-
-
-
- flash_deinit - flash.c -
-
-
-
- flash_init - flash.c -
-
-
-
- flash_metadata_get - flash.c -
-
-
-
- flash_program - flash.c -
-
-
-
- flash_read - flash.c -
-
-
-
- flash_sector_erase - flash.c -
-
-
-
- flash_sector_limits - flash.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_67.html b/doc/html/search/functions_67.html deleted file mode 100644 index 34874ee9d..000000000 --- a/doc/html/search/functions_67.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- getApproximatedDistance - maths.c -
-
-
-
- getApproximatedDistanceV - maths.c -
-
-
-
- getApproximatedLog2 - maths.c -
-
-
-
- getLog2Int - maths.c -
-
-
-
- getNextPow2 - maths.c -
-
-
-
- getSubTick - timer.c -
-
-
-
- getTick - timer.c -
-
-
-
- getTime - timer.c -
-
-
-
- getTimeAsFix32 - timer.c -
-
-
-
- getTimer - timer.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_69.html b/doc/html/search/functions_69.html deleted file mode 100644 index 5000d7810..000000000 --- a/doc/html/search/functions_69.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- intToBCD - maths.c -
-
-
-
- intToFastFix16 - maths.c -
-
-
-
- intToFastFix32 - maths.c -
-
-
-
- intToFix16 - maths.c -
-
-
-
- intToFix32 - maths.c -
-
-
-
- intToHex - string.c -
-
-
-
- intToStr - string.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_6a.html b/doc/html/search/functions_6a.html deleted file mode 100644 index c4273e327..000000000 --- a/doc/html/search/functions_6a.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- JOY_getEventHandler - joy.c -
-
-
-
- JOY_getJoypadType - joy.c -
-
-
-
- JOY_getPortType - joy.c -
-
-
-
- JOY_init - joy.c -
-
-
-
- JOY_readJoypad - joy.c -
-
-
-
- JOY_readJoypadX - joy.c -
-
-
-
- JOY_readJoypadY - joy.c -
-
-
-
- JOY_reset - joy.c -
-
-
-
- JOY_setEventHandler - joy.c -
-
-
-
- JOY_setSupport - joy.c -
-
-
-
- JOY_update - joy.c -
-
-
-
- JOY_waitPress - joy.c -
-
-
-
- JOY_waitPressBtn - joy.c -
-
-
-
- JOY_waitPressBtnTime - joy.c -
-
-
-
- JOY_waitPressTime - joy.c -
-
-
-
- JOY_writeJoypadX - joy.c -
-
-
-
- JOY_writeJoypadY - joy.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_6b.html b/doc/html/search/functions_6b.html deleted file mode 100644 index 391341e36..000000000 --- a/doc/html/search/functions_6b.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- KLog - tools.c -
-
-
-
- kprintf - tools.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_6c.html b/doc/html/search/functions_6c.html deleted file mode 100644 index cdbc66674..000000000 --- a/doc/html/search/functions_6c.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- lz4w_unpack - tools.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_6d.html b/doc/html/search/functions_6d.html deleted file mode 100644 index f1baf8ac5..000000000 --- a/doc/html/search/functions_6d.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- M3D_buildMat3D - maths3D.c -
-
-
-
- M3D_buildMat3DExtras - maths3D.c -
-
-
-
- M3D_buildMat3DOnly - maths3D.c -
-
-
-
- M3D_combineTransform - maths3D.c -
-
-
-
- M3D_combineTranslationLeft - maths3D.c -
-
-
-
- M3D_combineTranslationRight - maths3D.c -
-
-
-
- M3D_getLightEnabled - maths3D.c -
-
-
-
- M3D_project_f16 - maths3D.h -
-
-
-
- M3D_project_s16 - maths3D.h -
-
-
-
- M3D_reset - maths3D.c -
-
-
-
- M3D_resetTransform - maths3D.c -
-
-
-
- M3D_rotate - maths3D.c -
-
-
-
- M3D_rotateInv - maths3D.c -
-
-
-
- M3D_setCamDistance - maths3D.c -
-
-
-
- M3D_setLight - maths3D.c -
-
-
-
- M3D_setLightEnabled - maths3D.c -
-
-
-
- M3D_setLightXYZ - maths3D.c -
-
-
-
- M3D_setRotation - maths3D.c -
-
-
-
- M3D_setTransform - maths3D.c -
-
-
-
- M3D_setTranslation - maths3D.c -
-
-
-
- M3D_setViewport - maths3D.c -
-
-
-
- M3D_transform - maths3D.h -
-
-
-
- M3D_translate - maths3D.c -
-
-
-
- MAP_create - map.c -
-
-
-
- MAP_getMetaTile - map.c -
-
-
- -
-
-
- MAP_getTile - map.c -
-
-
-
- MAP_getTilemapRect - map.c -
-
-
-
- MAP_release - map.c -
-
-
-
- MAP_scrollTo - map.c -
-
-
-
- MAP_scrollToEx - map.c -
-
-
-
- MEM_alloc - memory.c -
-
-
-
- MEM_allocAt - memory.c -
-
-
-
- MEM_dump - memory.c -
-
-
-
- MEM_free - memory.c -
-
-
-
- MEM_getAllocated - memory.c -
-
-
-
- MEM_getFree - memory.c -
-
-
-
- MEM_getLargestFreeBlock - memory.c -
-
-
-
- MEM_pack - memory.c -
-
-
-
- memcpy - memory.h -
-
-
-
- memset - memory.h -
-
-
-
- memsetU16 - memory.h -
-
-
-
- memsetU32 - memory.h -
-
-
-
- mods - maths.c -
-
-
-
- modu - maths.c -
-
-
-
- muls - maths.c -
-
-
-
- mulu - maths.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_6f.html b/doc/html/search/functions_6f.html deleted file mode 100644 index ac5cf2ac3..000000000 --- a/doc/html/search/functions_6f.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- OBJ_create - object.c -
-
-
-
- OBJ_createObjectPool - object.c -
-
-
-
- OBJ_release - object.c -
-
-
-
- OBJ_setEndMethod - object.c -
-
-
-
- OBJ_setInitMethod - object.c -
-
-
-
- OBJ_setUpdateMethod - object.c -
-
-
-
- OBJ_updateAll - object.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_70.html b/doc/html/search/functions_70.html deleted file mode 100644 index c82cfedce..000000000 --- a/doc/html/search/functions_70.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- PAL_doFadeStep - pal.c -
-
-
-
- PAL_fade - pal.c -
-
-
-
- PAL_fadeAll - pal.c -
-
-
-
- PAL_fadeIn - pal.c -
-
-
-
- PAL_fadeInAll - pal.c -
-
-
-
- PAL_fadeInPalette - pal.c -
-
-
-
- PAL_fadeOut - pal.c -
-
-
-
- PAL_fadeOutAll - pal.c -
-
-
-
- PAL_fadeOutPalette - pal.c -
-
-
-
- PAL_fadePalette - pal.c -
-
-
-
- PAL_fadeTo - pal.c -
-
-
-
- PAL_fadeToAll - pal.c -
-
-
-
- PAL_fadeToPalette - pal.c -
-
-
-
- PAL_getColor - pal.c -
-
-
-
- PAL_getColors - pal.c -
-
-
-
- PAL_getPalette - pal.c -
-
-
-
- PAL_initFade - pal.c -
-
-
-
- PAL_interruptFade - pal.c -
-
-
-
- PAL_isDoingFade - pal.c -
-
-
-
- PAL_setColor - pal.c -
-
-
-
- PAL_setColors - pal.c -
-
-
-
- PAL_setPalette - pal.c -
-
-
-
- PAL_setPaletteColors - pal.c -
-
-
- -
-
-
- POOL_allocate - pool.c -
-
-
-
- POOL_create - pool.c -
-
-
-
- POOL_destroy - pool.c -
-
-
-
- POOL_find - pool.c -
-
-
-
- POOL_getFirst - pool.c -
-
-
-
- POOL_getFree - pool.c -
-
-
-
- POOL_getNumAllocated - pool.c -
-
-
-
- POOL_release - pool.c -
-
-
-
- POOL_reset - pool.c -
-
-
-
- PSG_reset - psg.c -
-
-
-
- PSG_setEnvelope - psg.c -
-
-
-
- PSG_setFrequency - psg.c -
-
-
-
- PSG_setNoise - psg.c -
-
-
-
- PSG_setTone - psg.c -
-
-
-
- PSG_setToneLow - psg.c -
-
-
-
- PSG_write - psg.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_71.html b/doc/html/search/functions_71.html deleted file mode 100644 index 75432ee58..000000000 --- a/doc/html/search/functions_71.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- qsort - tools.h -
-
-
-
- qsort_s16 - tools.h -
-
-
-
- qsort_s32 - tools.h -
-
-
-
- qsort_s8 - tools.h -
-
-
-
- qsort_u16 - tools.h -
-
-
-
- qsort_u32 - tools.h -
-
-
-
- qsort_u8 - tools.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_72.html b/doc/html/search/functions_72.html deleted file mode 100644 index 33c62cbe3..000000000 --- a/doc/html/search/functions_72.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- random - tools.c -
-
-
-
- rol16 - types.c -
-
-
-
- rol32 - types.c -
-
-
-
- rol8 - types.c -
-
-
-
- ror16 - types.c -
-
-
-
- ror32 - types.c -
-
-
-
- ror8 - types.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_73.html b/doc/html/search/functions_73.html deleted file mode 100644 index 239d34814..000000000 --- a/doc/html/search/functions_73.html +++ /dev/null @@ -1,806 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- setRandomSeed - tools.c -
-
-
-
- sinFix16 - maths.c -
-
-
-
- sinFix32 - maths.c -
-
-
-
- sm_clear - saveman.c -
-
-
-
- sm_deinit - saveman.c -
-
-
-
- sm_delete - saveman.c -
-
-
-
- sm_init - saveman.c -
-
-
-
- sm_load - saveman.c -
-
-
-
- sm_save - saveman.c -
-
-
-
- SND_DPCM2_isPlaying - snd_dpcm2.c -
-
-
-
- SND_DPCM2_loadDriver - snd_dpcm2.c -
-
-
-
- SND_DPCM2_startPlay - snd_dpcm2.c -
-
-
-
- SND_DPCM2_stopPlay - snd_dpcm2.c -
-
-
-
- SND_DPCM2_unloadDriver - snd_dpcm2.c -
-
-
-
- SND_NULL_loadDriver - sound.c -
-
-
-
- SND_NULL_unloadDriver - sound.c -
-
-
-
- SND_PCM4_getVolume - snd_pcm4.c -
-
-
-
- SND_PCM4_isPlaying - snd_pcm4.c -
-
-
-
- SND_PCM4_loadDriver - snd_pcm4.c -
-
-
-
- SND_PCM4_setVolume - snd_pcm4.c -
-
-
-
- SND_PCM4_startPlay - snd_pcm4.c -
-
-
-
- SND_PCM4_stopPlay - snd_pcm4.c -
-
-
-
- SND_PCM4_unloadDriver - snd_pcm4.c -
-
-
-
- SND_PCM_isPlaying - snd_pcm.c -
-
-
-
- SND_PCM_loadDriver - snd_pcm.c -
-
-
-
- SND_PCM_startPlay - snd_pcm.c -
-
-
-
- SND_PCM_stopPlay - snd_pcm.c -
-
-
-
- SND_PCM_unloadDriver - snd_pcm.c -
-
-
-
- SPR_addSprite - sprite_eng.c -
-
-
-
- SPR_addSpriteEx - sprite_eng.c -
-
-
-
- SPR_addSpriteExSafe - sprite_eng.c -
-
-
-
- SPR_addSpriteSafe - sprite_eng.c -
-
-
-
- SPR_clear - sprite_eng.c -
-
-
-
- SPR_defragVRAM - sprite_eng.c -
-
-
-
- SPR_disableVDPSpriteChecking - sprite_eng.c -
-
-
-
- SPR_enableVDPSpriteChecking - sprite_eng.c -
-
-
-
- SPR_end - sprite_eng.c -
-
-
-
- SPR_getAnimationDone - sprite_eng.c -
-
-
-
- SPR_getFreeVRAM - sprite_eng.c -
-
-
-
- SPR_getLargestFreeVRAMBlock - sprite_eng.c -
-
-
-
- SPR_getNumActiveSprite - sprite_eng.c -
-
-
-
- SPR_getPositionX - sprite_eng.c -
-
-
-
- SPR_getPositionY - sprite_eng.c -
-
-
-
- SPR_getUsedVDPSprite - sprite_eng.c -
-
-
-
- SPR_getVisibility - sprite_eng.c -
-
-
-
- SPR_init - sprite_eng.c -
-
-
-
- SPR_initEx - sprite_eng.c -
-
-
-
- SPR_isInitialized - sprite_eng.c -
-
-
-
- SPR_isVisible - sprite_eng.c -
-
-
-
- SPR_loadAllFrames - sprite_eng.c -
-
-
-
- SPR_logProfil - sprite_eng.c -
-
-
-
- SPR_logSprites - sprite_eng.c -
-
-
-
- SPR_nextFrame - sprite_eng.c -
-
-
-
- SPR_releaseSprite - sprite_eng.c -
-
-
-
- SPR_reset - sprite_eng.c -
-
-
-
- SPR_setAlwaysAtBottom - sprite_eng.c -
-
-
-
- SPR_setAlwaysOnTop - sprite_eng.c -
-
-
-
- SPR_setAnim - sprite_eng.c -
-
-
-
- SPR_setAnimAndFrame - sprite_eng.c -
-
-
-
- SPR_setAnimationLoop - sprite_eng.c -
-
-
-
- SPR_setAutoTileUpload - sprite_eng.c -
-
-
-
- SPR_setDefinition - sprite_eng.c -
-
-
-
- SPR_setDelayedFrameUpdate - sprite_eng.c -
-
-
-
- SPR_setDepth - sprite_eng.c -
-
-
-
- SPR_setFrame - sprite_eng.c -
-
-
-
- SPR_setFrameChangeCallback - sprite_eng.c -
-
-
-
- SPR_setHFlip - sprite_eng.c -
-
-
-
- SPR_setPalette - sprite_eng.c -
-
-
-
- SPR_setPosition - sprite_eng.c -
-
-
-
- SPR_setPriority - sprite_eng.c -
-
-
-
- SPR_setVFlip - sprite_eng.c -
-
-
-
- SPR_setVisibility - sprite_eng.c -
-
-
-
- SPR_setVRAMTileIndex - sprite_eng.c -
-
-
-
- SPR_setZ - sprite_eng.c -
-
-
-
- SPR_update - sprite_eng.c -
-
-
-
- sprintf - string.c -
-
-
-
- SRAM_disable - sram.c -
-
-
-
- SRAM_enable - sram.c -
-
-
-
- SRAM_enableRO - sram.c -
-
-
-
- SRAM_readByte - sram.c -
-
-
-
- SRAM_readLong - sram.h -
-
-
-
- SRAM_readWord - sram.h -
-
-
-
- SRAM_writeByte - sram.c -
-
-
-
- SRAM_writeLong - sram.h -
-
-
-
- SRAM_writeWord - sram.h -
-
-
-
- startTimer - timer.c -
-
-
-
- strcat - string.c -
-
-
-
- strclr - string.c -
-
-
-
- strcmp - string.c -
-
-
-
- strcpy - string.c -
-
-
-
- strlen - string.c -
-
-
-
- strncpy - string.c -
-
-
-
- strnlen - string.c -
-
-
-
- strreplacechar - string.c -
-
-
-
- SYS_assertReset - sys.h -
-
-
-
- SYS_computeChecksum - sys.c -
-
-
-
- SYS_die - sys.c -
-
-
-
- SYS_disableInts - sys.c -
-
-
-
- SYS_doVBlankProcess - sys.c -
-
-
-
- SYS_doVBlankProcessEx - sys.c -
-
-
-
- SYS_enableInts - sys.c -
-
- -
-
- SYS_getBank - mapper.c -
-
-
-
- SYS_getCPULoad - sys.c -
-
-
-
- SYS_getFarData - mapper.c -
-
-
-
- SYS_getFarDataEx - mapper.c -
-
-
-
- SYS_getFarDataSafe - mapper.c -
-
-
-
- SYS_getFarDataSafeEx - mapper.c -
-
-
-
- SYS_getFPS - sys.c -
-
-
-
- SYS_getFPSAsFloat - sys.c -
-
-
- -
-
- -
-
-
- SYS_getShowFrameLoad - sys.c -
-
-
-
- SYS_hardReset - sys.h -
-
-
-
- SYS_hideFrameLoad - sys.c -
-
-
-
- SYS_isChecksumOk - sys.c -
-
-
-
- SYS_isCrossingBank - mapper.c -
-
-
-
- SYS_isInVInt - sys.c -
-
-
-
- SYS_isNTSC - sys.c -
-
-
-
- SYS_isPAL - sys.c -
-
-
-
- SYS_nextFrame - sys.c -
-
-
-
- SYS_reset - sys.h -
-
-
-
- SYS_resetBanks - mapper.c -
-
-
-
- SYS_setBank - mapper.c -
-
-
-
- SYS_setExtIntCallback - sys.c -
-
-
-
- SYS_setHIntCallback - sys.c -
-
-
- -
-
- -
-
-
- SYS_setVBlankCallback - sys.c -
-
-
-
- SYS_setVIntCallback - sys.c -
-
-
-
- SYS_showFrameLoad - sys.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_74.html b/doc/html/search/functions_74.html deleted file mode 100644 index 8f38862af..000000000 --- a/doc/html/search/functions_74.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- TSK_init - task.h -
-
-
-
- TSK_stop - task.h -
-
-
-
- TSK_superPend - task.h -
-
-
-
- TSK_superPost - task.h -
-
-
-
- TSK_userSet - task.h -
-
-
-
- TSK_userYield - task.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_75.html b/doc/html/search/functions_75.html deleted file mode 100644 index c6c910bfe..000000000 --- a/doc/html/search/functions_75.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- uintToStr - string.c -
-
-
-
- unpack - tools.c -
-
-
-
- unpackBitmap - tools.c -
-
-
-
- unpackImage - tools.c -
-
-
-
- unpackTileMap - tools.c -
-
-
-
- unpackTileSet - tools.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_76.html b/doc/html/search/functions_76.html deleted file mode 100644 index 095e74188..000000000 --- a/doc/html/search/functions_76.html +++ /dev/null @@ -1,920 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- VDP_allocateSprites - vdp_spr.c -
-
-
-
- VDP_clearPlane - vdp_bg.c -
-
-
-
- VDP_clearSprites - vdp_spr.c -
-
-
-
- VDP_clearText - vdp_bg.c -
-
-
-
- VDP_clearTextArea - vdp_bg.c -
-
-
-
- VDP_clearTextAreaBG - vdp_bg.c -
-
-
-
- VDP_clearTextAreaEx - vdp_bg.c -
-
-
-
- VDP_clearTextBG - vdp_bg.c -
-
-
-
- VDP_clearTextEx - vdp_bg.c -
-
-
-
- VDP_clearTextLine - vdp_bg.c -
-
-
-
- VDP_clearTextLineBG - vdp_bg.c -
-
-
-
- VDP_clearTileMap - vdp_tile.c -
-
-
-
- VDP_clearTileMapRect - vdp_tile.c -
-
-
-
- VDP_drawBitmap - vdp_bg.c -
-
-
-
- VDP_drawBitmapEx - vdp_bg.c -
-
-
-
- VDP_drawImage - vdp_bg.c -
-
-
-
- VDP_drawImageEx - vdp_bg.c -
-
-
-
- VDP_drawText - vdp_bg.c -
-
-
-
- VDP_drawTextBG - vdp_bg.c -
-
-
-
- VDP_drawTextEx - vdp_bg.c -
-
-
-
- VDP_fillTileData - vdp_tile.c -
-
-
-
- VDP_fillTileMap - vdp_tile.c -
-
-
-
- VDP_fillTileMapRect - vdp_tile.c -
-
-
-
- VDP_fillTileMapRectInc - vdp_tile.c -
-
-
- -
-
-
- VDP_getAutoInc - vdp.c -
-
-
-
- VDP_getAvailableSprites - vdp_spr.c -
-
-
- -
-
-
- VDP_getBGAAddress - vdp.c -
-
-
-
- VDP_getBGBAddress - vdp.c -
-
-
-
- VDP_getDMAEnabled - vdp.c -
-
-
-
- VDP_getEnable - vdp.c -
-
-
-
- VDP_getHIntCounter - vdp.c -
-
- - -
-
- VDP_getHVLatching - vdp.c -
-
-
-
- VDP_getPlaneAddress - vdp_tile.c -
-
-
-
- VDP_getPlaneHeight - vdp.c -
-
-
-
- VDP_getPlaneWidth - vdp.c -
-
-
-
- VDP_getReg - vdp.c -
-
-
-
- VDP_getScanlineNumber - vdp.c -
-
-
-
- VDP_getScreenHeight - vdp.c -
-
-
-
- VDP_getScreenWidth - vdp.c -
-
-
-
- VDP_getSpriteFlipH - vdp_spr.c -
-
-
-
- VDP_getSpriteFlipV - vdp_spr.c -
-
-
- -
-
-
- VDP_getSpritePalette - vdp_spr.c -
-
-
-
- VDP_getSpritePriority - vdp_spr.c -
-
-
-
- VDP_getSpriteTile - vdp_spr.c -
-
-
-
- VDP_getTextPalette - vdp_bg.c -
-
-
-
- VDP_getTextPlane - vdp_bg.c -
-
-
-
- VDP_getTextPriority - vdp_bg.c -
-
- -
-
- VDP_getWindowAddress - vdp.c -
-
-
-
- VDP_init - vdp.c -
-
-
-
- VDP_isEnable - vdp.c -
-
-
-
- VDP_linkSprites - vdp_spr.c -
-
-
-
- VDP_loadBMPTileData - vdp_tile.h -
-
-
-
- VDP_loadBMPTileDataEx - vdp_tile.c -
-
-
-
- VDP_loadFont - vdp_tile.c -
-
-
-
- VDP_loadFontData - vdp_tile.c -
-
-
-
- VDP_loadTileData - vdp_tile.c -
-
-
-
- VDP_loadTileSet - vdp_tile.c -
-
- -
-
- VDP_releaseAllSprites - vdp_spr.c -
-
-
-
- VDP_releaseSprites - vdp_spr.c -
-
-
-
- VDP_resetScreen - vdp.c -
-
-
-
- VDP_resetSprites - vdp_spr.c -
-
-
-
- VDP_setAutoInc - vdp.c -
-
-
- -
-
-
- VDP_setBGAAddress - vdp.c -
-
-
-
- VDP_setBGBAddress - vdp.c -
-
-
-
- VDP_setDMAEnabled - vdp.c -
-
-
-
- VDP_setEnable - vdp.c -
-
-
-
- VDP_setExtInterrupt - vdp.c -
-
-
-
- VDP_setHilightShadow - vdp.c -
-
-
-
- VDP_setHIntCounter - vdp.c -
-
-
-
- VDP_setHInterrupt - vdp.c -
-
-
-
- VDP_setHorizontalScroll - vdp_bg.c -
-
-
- -
-
- -
-
- -
- -
-
- VDP_setHVLatching - vdp.c -
-
-
-
- VDP_setMap - vdp_tile.c -
-
-
-
- VDP_setMapEx - vdp_tile.c -
-
-
-
- VDP_setPlaneSize - vdp.c -
-
-
-
- VDP_setReg - vdp.c -
-
-
-
- VDP_setScanMode - vdp.c -
-
-
- -
-
- -
-
-
- VDP_setScreenWidth256 - vdp.c -
-
-
-
- VDP_setScreenWidth320 - vdp.c -
-
-
-
- VDP_setScrollingMode - vdp.c -
-
-
-
- VDP_setSprite - vdp_spr.c -
-
-
-
- VDP_setSpriteAttribut - vdp_spr.c -
-
-
-
- VDP_setSpriteFlip - vdp_spr.c -
-
-
-
- VDP_setSpriteFlipH - vdp_spr.c -
-
-
-
- VDP_setSpriteFlipV - vdp_spr.c -
-
-
-
- VDP_setSpriteFull - vdp_spr.c -
-
- -
- -
-
-
- VDP_setSpritePalette - vdp_spr.c -
-
-
-
- VDP_setSpritePosition - vdp_spr.c -
-
-
-
- VDP_setSpritePriority - vdp_spr.c -
-
-
-
- VDP_setSpriteSize - vdp_spr.c -
-
-
-
- VDP_setSpriteTile - vdp_spr.c -
-
-
-
- VDP_setTextPalette - vdp_bg.c -
-
-
-
- VDP_setTextPlane - vdp_bg.c -
-
-
-
- VDP_setTextPriority - vdp_bg.c -
-
-
-
- VDP_setTileMap - vdp_tile.c -
-
-
-
- VDP_setTileMapColumn - vdp_tile.c -
-
-
-
- VDP_setTileMapColumnEx - vdp_tile.c -
-
-
-
- VDP_setTileMapData - vdp_tile.c -
-
-
-
- VDP_setTileMapDataColumn - vdp_tile.c -
-
-
-
- VDP_setTileMapDataColumnEx - vdp_tile.c -
-
-
-
- VDP_setTileMapDataColumnFast - vdp_tile.c -
-
-
-
- VDP_setTileMapDataEx - vdp_tile.c -
-
-
-
- VDP_setTileMapDataRect - vdp_tile.c -
-
-
-
- VDP_setTileMapDataRectEx - vdp_tile.c -
-
-
-
- VDP_setTileMapDataRow - vdp_tile.c -
-
-
-
- VDP_setTileMapDataRowEx - vdp_tile.c -
-
-
-
- VDP_setTileMapEx - vdp_tile.c -
-
-
-
- VDP_setTileMapRow - vdp_tile.c -
-
-
-
- VDP_setTileMapRowEx - vdp_tile.c -
-
-
-
- VDP_setTileMapXY - vdp_tile.c -
-
-
-
- VDP_setVerticalScroll - vdp_bg.c -
-
-
-
- VDP_setVerticalScrollTile - vdp_bg.c -
-
-
- -
-
-
- VDP_setVInterrupt - vdp.c -
-
-
-
- VDP_setWindowAddress - vdp.c -
-
-
-
- VDP_setWindowHPos - vdp.c -
-
-
-
- VDP_setWindowVPos - vdp.c -
-
-
-
- VDP_showCPULoad - vdp.c -
-
-
-
- VDP_showFPS - vdp.c -
-
-
-
- VDP_updateSprites - vdp_spr.c -
-
-
-
- VDP_waitDMACompletion - vdp.c -
-
-
-
- VDP_waitFIFOEmpty - vdp.c -
-
-
-
- VDP_waitVActive - vdp.c -
-
-
-
- VDP_waitVBlank - vdp.c -
-
-
-
- VDP_waitVInt - vdp.c -
-
-
-
- VDP_waitVSync - vdp.c -
-
-
-
- VRAM_alloc - vram.c -
-
-
-
- VRAM_clearRegion - vram.c -
-
-
-
- VRAM_createRegion - vram.c -
-
-
-
- VRAM_free - vram.c -
-
-
-
- VRAM_getAllocated - vram.c -
-
-
-
- VRAM_getFree - vram.c -
-
-
- -
-
-
- VRAM_releaseRegion - vram.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_77.html b/doc/html/search/functions_77.html deleted file mode 100644 index c6a065e05..000000000 --- a/doc/html/search/functions_77.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- waitMs - timer.c -
-
-
-
- waitSubTick - timer.c -
-
-
-
- waitTick - timer.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_78.html b/doc/html/search/functions_78.html deleted file mode 100644 index 9a53a3cde..000000000 --- a/doc/html/search/functions_78.html +++ /dev/null @@ -1,380 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- XGM2_fadeIn - xgm2.c -
-
-
-
- XGM2_fadeOut - xgm2.c -
-
-
-
- XGM2_fadeOutAndPause - xgm2.c -
-
-
-
- XGM2_fadeOutAndStop - xgm2.c -
-
-
-
- XGM2_fadeTo - xgm2.c -
-
-
-
- XGM2_getCPULoad - xgm2.c -
-
-
- -
-
- -
-
-
- XGM2_getDebugPCMRate - xgm2.c -
-
- -
-
- XGM2_getDMAWaitTime - xgm2.c -
-
-
-
- XGM2_getElapsed - xgm2.c -
-
-
-
- XGM2_getMusicTempo - xgm2.c -
-
-
-
- XGM2_isPAL - xgm2.c -
-
-
-
- XGM2_isPlaying - xgm2.c -
-
-
-
- XGM2_isPlayingPCM - xgm2.c -
-
-
-
- XGM2_isProcessingFade - xgm2.c -
-
-
-
- XGM2_load - xgm2.c -
-
-
-
- XGM2_load_FAR - xgm2.c -
-
-
-
- XGM2_loadDriver - xgm2.c -
-
-
-
- XGM2_pause - xgm2.c -
-
-
-
- XGM2_play - xgm2.c -
-
-
-
- XGM2_play_FAR - xgm2.c -
-
-
-
- XGM2_playPCM - xgm2.c -
-
-
-
- XGM2_playPCMEx - xgm2.c -
-
-
-
- XGM2_playTrack - xgm2.c -
-
-
-
- XGM2_resume - xgm2.c -
-
-
-
- XGM2_setFMVolume - xgm2.c -
-
-
-
- XGM2_setLoopNumber - xgm2.c -
-
-
-
- XGM2_setMusicTempo - xgm2.c -
-
-
-
- XGM2_setPSGVolume - xgm2.c -
-
-
-
- XGM2_stop - xgm2.c -
-
-
-
- XGM2_stopPCM - xgm2.c -
-
-
-
- XGM2_unloadDriver - xgm2.c -
-
-
-
- XGM_getCPULoad - xgm.c -
-
-
-
- XGM_getElapsed - xgm.c -
-
-
-
- XGM_getForceDelayDMA - xgm.c -
-
-
-
- XGM_getManualSync - xgm.c -
-
-
-
- XGM_getMusicTempo - xgm.c -
-
-
-
- XGM_isPlaying - xgm.c -
-
-
-
- XGM_isPlayingPCM - xgm.c -
-
-
-
- XGM_loadDriver - xgm.c -
-
-
-
- XGM_nextXFrame - xgm.c -
-
-
-
- XGM_pausePlay - xgm.c -
-
-
-
- XGM_resumePlay - xgm.c -
-
-
- -
-
-
- XGM_setForceDelayDMA - xgm.c -
-
-
-
- XGM_setLoopNumber - xgm.c -
-
-
-
- XGM_setManualSync - xgm.c -
-
-
-
- XGM_setMusicTempo - xgm.c -
-
-
-
- XGM_setPCM - xgm.c -
-
-
-
- XGM_setPCM_FAR - xgm.c -
-
-
-
- XGM_setPCMFast - xgm.c -
-
-
-
- XGM_setPCMFast_FAR - xgm.c -
-
-
-
- XGM_startPlay - xgm.c -
-
-
-
- XGM_startPlay_FAR - xgm.c -
-
-
-
- XGM_startPlayPCM - xgm.c -
-
-
-
- XGM_stopPlay - xgm.c -
-
-
-
- XGM_stopPlayPCM - xgm.c -
-
-
-
- XGM_unloadDriver - xgm.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_79.html b/doc/html/search/functions_79.html deleted file mode 100644 index 1a4b78740..000000000 --- a/doc/html/search/functions_79.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- YM2612_disableDAC - ym2612.c -
-
-
-
- YM2612_enableDAC - ym2612.c -
-
-
-
- YM2612_read - ym2612.c -
-
-
-
- YM2612_readStatus - ym2612.c -
-
-
-
- YM2612_reset - ym2612.c -
-
-
-
- YM2612_write - ym2612.c -
-
-
-
- YM2612_writeReg - ym2612.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/functions_7a.html b/doc/html/search/functions_7a.html deleted file mode 100644 index c67703e9f..000000000 --- a/doc/html/search/functions_7a.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Z80_clear - z80_ctrl.c -
-
-
-
- Z80_disableBusProtection - z80_ctrl.c -
-
-
-
- Z80_download - z80_ctrl.c -
-
-
-
- Z80_enableBusProtection - z80_ctrl.c -
-
-
-
- Z80_endReset - z80_ctrl.c -
-
-
-
- Z80_getAndRequestBus - z80_ctrl.c -
-
-
-
- Z80_getForceDelayDMA - z80_ctrl.c -
-
-
-
- Z80_getLoadedDriver - z80_ctrl.c -
-
-
-
- Z80_init - z80_ctrl.c -
-
-
-
- Z80_isBusTaken - z80_ctrl.c -
-
-
-
- Z80_isDriverReady - z80_ctrl.c -
-
-
-
- Z80_loadCustomDriver - z80_ctrl.c -
-
-
-
- Z80_loadDriver - z80_ctrl.c -
-
-
-
- Z80_read - z80_ctrl.c -
-
-
-
- Z80_releaseBus - z80_ctrl.c -
-
-
-
- Z80_requestBus - z80_ctrl.c -
-
-
-
- Z80_setBank - z80_ctrl.c -
-
-
-
- Z80_setBusProtection - z80_ctrl.c -
-
-
-
- Z80_setForceDelayDMA - z80_ctrl.c -
-
-
-
- Z80_startReset - z80_ctrl.c -
-
-
-
- Z80_unloadDriver - z80_ctrl.c -
-
-
-
- Z80_upload - z80_ctrl.c -
-
-
-
- Z80_useBusProtection - z80_ctrl.c -
-
-
-
- Z80_write - z80_ctrl.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/mag_sel.png b/doc/html/search/mag_sel.png deleted file mode 100644 index 81f6040a2092402b4d98f9ffa8855d12a0d4ca17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn diff --git a/doc/html/search/nomatches.html b/doc/html/search/nomatches.html deleted file mode 100644 index b1ded27e9..000000000 --- a/doc/html/search/nomatches.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - -
-
No Matches
-
- - diff --git a/doc/html/search/search.css b/doc/html/search/search.css deleted file mode 100644 index 50249e56d..000000000 --- a/doc/html/search/search.css +++ /dev/null @@ -1,240 +0,0 @@ -/*---------------- Search Box */ - -#FSearchBox { - float: left; -} - -#searchli { - float: right; - display: block; - width: 170px; - height: 36px; -} - -#MSearchBox { - white-space : nowrap; - position: absolute; - float: none; - display: inline; - margin-top: 8px; - right: 0px; - width: 170px; - z-index: 102; -} - -#MSearchBox .left -{ - display:block; - position:absolute; - left:10px; - width:20px; - height:19px; - background:url('search_l.png') no-repeat; - background-position:right; -} - -#MSearchSelect { - display:block; - position:absolute; - width:20px; - height:19px; -} - -.left #MSearchSelect { - left:4px; -} - -.right #MSearchSelect { - right:5px; -} - -#MSearchField { - display:block; - position:absolute; - height:19px; - background:url('search_m.png') repeat-x; - border:none; - width:116px; - margin-left:20px; - padding-left:4px; - color: #909090; - outline: none; - font: 9pt Arial, Verdana, sans-serif; -} - -#FSearchBox #MSearchField { - margin-left:15px; -} - -#MSearchBox .right { - display:block; - position:absolute; - right:10px; - top:0px; - width:20px; - height:19px; - background:url('search_r.png') no-repeat; - background-position:left; -} - -#MSearchClose { - display: none; - position: absolute; - top: 4px; - background : none; - border: none; - margin: 0px 4px 0px 0px; - padding: 0px 0px; - outline: none; -} - -.left #MSearchClose { - left: 6px; -} - -.right #MSearchClose { - right: 2px; -} - -.MSearchBoxActive #MSearchField { - color: #000000; -} - -/*---------------- Search filter selection */ - -#MSearchSelectWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #90A5CE; - background-color: #F9FAFC; - z-index: 1; - padding-top: 4px; - padding-bottom: 4px; - -moz-border-radius: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -.SelectItem { - font: 8pt Arial, Verdana, sans-serif; - padding-left: 2px; - padding-right: 12px; - border: 0px; -} - -span.SelectionMark { - margin-right: 4px; - font-family: monospace; - outline-style: none; - text-decoration: none; -} - -a.SelectItem { - display: block; - outline-style: none; - color: #000000; - text-decoration: none; - padding-left: 6px; - padding-right: 12px; -} - -a.SelectItem:focus, -a.SelectItem:active { - color: #000000; - outline-style: none; - text-decoration: none; -} - -a.SelectItem:hover { - color: #FFFFFF; - background-color: #3D578C; - outline-style: none; - text-decoration: none; - cursor: pointer; - display: block; -} - -/*---------------- Search results window */ - -iframe#MSearchResults { - width: 60ex; - height: 15em; -} - -#MSearchResultsWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #000; - background-color: #EEF1F7; -} - -/* ----------------------------------- */ - - -#SRIndex { - clear:both; - padding-bottom: 15px; -} - -.SREntry { - font-size: 10pt; - padding-left: 1ex; -} - -.SRPage .SREntry { - font-size: 8pt; - padding: 1px 5px; -} - -body.SRPage { - margin: 5px 2px; -} - -.SRChildren { - padding-left: 3ex; padding-bottom: .5em -} - -.SRPage .SRChildren { - display: none; -} - -.SRSymbol { - font-weight: bold; - color: #425E97; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRScope { - display: block; - color: #425E97; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRSymbol:focus, a.SRSymbol:active, -a.SRScope:focus, a.SRScope:active { - text-decoration: underline; -} - -.SRPage .SRStatus { - padding: 2px 5px; - font-size: 8pt; - font-style: italic; -} - -.SRResult { - display: none; -} - -DIV.searchresults { - margin-left: 10px; - margin-right: 10px; -} diff --git a/doc/html/search/search.js b/doc/html/search/search.js deleted file mode 100644 index c5f4c7821..000000000 --- a/doc/html/search/search.js +++ /dev/null @@ -1,742 +0,0 @@ -// Search script generated by doxygen -// Copyright (C) 2009 by Dimitri van Heesch. - -// The code in this file is loosly based on main.js, part of Natural Docs, -// which is Copyright (C) 2003-2008 Greg Valure -// Natural Docs is licensed under the GPL. - -var indexSectionsWithContent = -{ - 0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010111101001001101101110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111100110101100110101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111101101111101111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111011001000100110110010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 5: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010001000100101101111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 6: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 7: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101100010000001000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 8: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111001111101111101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" -}; - -var indexSectionNames = -{ - 0: "all", - 1: "classes", - 2: "files", - 3: "functions", - 4: "variables", - 5: "typedefs", - 6: "enums", - 7: "enumvalues", - 8: "defines" -}; - -function convertToId(search) -{ - var result = ''; - for (i=0;i do a search - { - this.Search(); - } - } - - this.OnSearchSelectKey = function(evt) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 && this.searchIndex0) // Up - { - this.searchIndex--; - this.OnSelectItem(this.searchIndex); - } - else if (e.keyCode==13 || e.keyCode==27) - { - this.OnSelectItem(this.searchIndex); - this.CloseSelectionWindow(); - this.DOMSearchField().focus(); - } - return false; - } - - // --------- Actions - - // Closes the results window. - this.CloseResultsWindow = function() - { - this.DOMPopupSearchResultsWindow().style.display = 'none'; - this.DOMSearchClose().style.display = 'none'; - this.Activate(false); - } - - this.CloseSelectionWindow = function() - { - this.DOMSearchSelectWindow().style.display = 'none'; - } - - // Performs a search. - this.Search = function() - { - this.keyTimeout = 0; - - // strip leading whitespace - var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - - var code = searchValue.toLowerCase().charCodeAt(0); - var hexCode; - if (code<16) - { - hexCode="0"+code.toString(16); - } - else - { - hexCode=code.toString(16); - } - - var resultsPage; - var resultsPageWithSearch; - var hasResultsPage; - - if (indexSectionsWithContent[this.searchIndex].charAt(code) == '1') - { - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; - resultsPageWithSearch = resultsPage+'?'+escape(searchValue); - hasResultsPage = true; - } - else // nothing available for this search term - { - resultsPage = this.resultsPath + '/nomatches.html'; - resultsPageWithSearch = resultsPage; - hasResultsPage = false; - } - - window.frames.MSearchResults.location.href = resultsPageWithSearch; - var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - - if (domPopupSearchResultsWindow.style.display!='block') - { - var domSearchBox = this.DOMSearchBox(); - this.DOMSearchClose().style.display = 'inline'; - if (this.insideFrame) - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - domPopupSearchResultsWindow.style.position = 'relative'; - domPopupSearchResultsWindow.style.display = 'block'; - var width = document.body.clientWidth - 8; // the -8 is for IE :-( - domPopupSearchResultsWindow.style.width = width + 'px'; - domPopupSearchResults.style.width = width + 'px'; - } - else - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; - var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; - domPopupSearchResultsWindow.style.display = 'block'; - left -= domPopupSearchResults.offsetWidth; - domPopupSearchResultsWindow.style.top = top + 'px'; - domPopupSearchResultsWindow.style.left = left + 'px'; - } - } - - this.lastSearchValue = searchValue; - this.lastResultsPage = resultsPage; - } - - // -------- Activation Functions - - // Activates or deactivates the search panel, resetting things to - // their default values if necessary. - this.Activate = function(isActive) - { - if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' - ) - { - this.DOMSearchBox().className = 'MSearchBoxActive'; - - var searchField = this.DOMSearchField(); - - if (searchField.value == this.searchLabel) // clear "Search" term upon entry - { - searchField.value = ''; - this.searchActive = true; - } - } - else if (!isActive) // directly remove the panel - { - this.DOMSearchBox().className = 'MSearchBoxInactive'; - this.DOMSearchField().value = this.searchLabel; - this.searchActive = false; - this.lastSearchValue = '' - this.lastResultsPage = ''; - } - } -} - -// ----------------------------------------------------------------------- - -// The class that handles everything on the search results page. -function SearchResults(name) -{ - // The number of matches from the last run of . - this.lastMatchCount = 0; - this.lastKey = 0; - this.repeatOn = false; - - // Toggles the visibility of the passed element ID. - this.FindChildElement = function(id) - { - var parentElement = document.getElementById(id); - var element = parentElement.firstChild; - - while (element && element!=parentElement) - { - if (element.nodeName == 'DIV' && element.className == 'SRChildren') - { - return element; - } - - if (element.nodeName == 'DIV' && element.hasChildNodes()) - { - element = element.firstChild; - } - else if (element.nextSibling) - { - element = element.nextSibling; - } - else - { - do - { - element = element.parentNode; - } - while (element && element!=parentElement && !element.nextSibling); - - if (element && element!=parentElement) - { - element = element.nextSibling; - } - } - } - } - - this.Toggle = function(id) - { - var element = this.FindChildElement(id); - if (element) - { - if (element.style.display == 'block') - { - element.style.display = 'none'; - } - else - { - element.style.display = 'block'; - } - } - } - - // Searches for the passed string. If there is no parameter, - // it takes it from the URL query. - // - // Always returns true, since other documents may try to call it - // and that may or may not be possible. - this.Search = function(search) - { - if (!search) // get search word from URL - { - search = window.location.search; - search = search.substring(1); // Remove the leading '?' - search = unescape(search); - } - - search = search.replace(/^ +/, ""); // strip leading spaces - search = search.replace(/ +$/, ""); // strip trailing spaces - search = search.toLowerCase(); - search = convertToId(search); - - var resultRows = document.getElementsByTagName("div"); - var matches = 0; - - var i = 0; - while (i < resultRows.length) - { - var row = resultRows.item(i); - if (row.className == "SRResult") - { - var rowMatchName = row.id.toLowerCase(); - rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' - - if (search.length<=rowMatchName.length && - rowMatchName.substr(0, search.length)==search) - { - row.style.display = 'block'; - matches++; - } - else - { - row.style.display = 'none'; - } - } - i++; - } - document.getElementById("Searching").style.display='none'; - if (matches == 0) // no results - { - document.getElementById("NoMatches").style.display='block'; - } - else // at least one result - { - document.getElementById("NoMatches").style.display='none'; - } - this.lastMatchCount = matches; - return true; - } - - // return the first item with index index or higher that is visible - this.NavNext = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index++; - } - return focusItem; - } - - this.NavPrev = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index--; - } - return focusItem; - } - - this.ProcessKeys = function(e) - { - if (e.type == "keydown") - { - this.repeatOn = false; - this.lastKey = e.keyCode; - } - else if (e.type == "keypress") - { - if (!this.repeatOn) - { - if (this.lastKey) this.repeatOn = true; - return false; // ignore first keypress after keydown - } - } - else if (e.type == "keyup") - { - this.lastKey = 0; - this.repeatOn = false; - } - return this.lastKey!=0; - } - - this.Nav = function(evt,itemIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - var newIndex = itemIndex-1; - var focusItem = this.NavPrev(newIndex); - if (focusItem) - { - var child = this.FindChildElement(focusItem.parentNode.parentNode.id); - if (child && child.style.display == 'block') // children visible - { - var n=0; - var tmpElem; - while (1) // search for last child - { - tmpElem = document.getElementById('Item'+newIndex+'_c'+n); - if (tmpElem) - { - focusItem = tmpElem; - } - else // found it! - { - break; - } - n++; - } - } - } - if (focusItem) - { - focusItem.focus(); - } - else // return focus to search field - { - parent.document.getElementById("MSearchField").focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = itemIndex+1; - var focusItem; - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem && elem.style.display == 'block') // children visible - { - focusItem = document.getElementById('Item'+itemIndex+'_c0'); - } - if (!focusItem) focusItem = this.NavNext(newIndex); - if (focusItem) focusItem.focus(); - } - else if (this.lastKey==39) // Right - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'block'; - } - else if (this.lastKey==37) // Left - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'none'; - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } - - this.NavChild = function(evt,itemIndex,childIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - if (childIndex>0) - { - var newIndex = childIndex-1; - document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); - } - else // already at first child, jump to parent - { - document.getElementById('Item'+itemIndex).focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = childIndex+1; - var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); - if (!elem) // last child, jump to parent next parent - { - elem = this.NavNext(itemIndex+1); - } - if (elem) - { - elem.focus(); - } - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } -} diff --git a/doc/html/search/search_l.png b/doc/html/search/search_l.png deleted file mode 100644 index c872f4da4a01d0754f923e6c94fd8159c0621bd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 604 zcmV-i0;BzjP)k7RCwB~R6VQOP#AvB$vH7i{6H{96zot$7cZT<7246EF5Np6N}+$IbiG6W zg#87A+NFaX+=_^xM1#gCtshC=E{%9^uQX_%?YwXvo{#q&MnpJ8uh(O?ZRc&~_1%^SsPxG@rfElJg-?U zm!Cz-IOn(qJP3kDp-^~qt+FGbl=5jNli^Wj_xIBG{Rc0en{!oFvyoNC7{V~T8}b>| z=jL2WIReZzX(YN(_9fV;BBD$VXQIxNasAL8ATvEu822WQ%mvv4FO#qs` BFGc_W diff --git a/doc/html/search/search_r.png b/doc/html/search/search_r.png deleted file mode 100644 index 97ee8b439687084201b79c6f776a41f495c6392a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmV-q0-ODbP)PbXFRCwB?)W514K@j&X?z2*SxFI6-@HT2E2K=9X9%Pb zEK*!TBw&g(DMC;|A)uGlRkOS9vd-?zNs%bR4d$w+ox_iFnE8fvIvv7^5<(>Te12Li z7C)9srCzmK{ZcNM{YIl9j{DePFgOWiS%xG@5CnnnJa4nvY<^glbz7^|-ZY!dUkAwd z{gaTC@_>b5h~;ug#R0wRL0>o5!hxm*s0VW?8dr}O#zXTRTnrQm_Z7z1Mrnx>&p zD4qifUjzLvbVVWi?l?rUzwt^sdb~d!f_LEhsRVIXZtQ=qSxuxqm zEX#tf>$?M_Y1-LSDT)HqG?`%-%ZpY!#{N!rcNIiL;G7F0`l?)mNGTD9;f9F5Up3Kg zw}a<-JylhG&;=!>B+fZaCX+?C+kHYrP%c?X2!Zu_olK|GcS4A70HEy;vn)I0>0kLH z`jc(WIaaHc7!HS@f*^R^Znx8W=_jIl2oWJoQ*h1^$FX!>*PqR1J8k|fw}w_y}TpE>7m8DqDO<3z`OzXt$ccSejbEZCg@0000 - - - - - - -
-
Loading...
-
-
- _comparatorCallback - tools.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/typedefs_62.html b/doc/html/search/typedefs_62.html deleted file mode 100644 index 5e736b250..000000000 --- a/doc/html/search/typedefs_62.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- bool - types.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/typedefs_66.html b/doc/html/search/typedefs_66.html deleted file mode 100644 index c5b7c1bf5..000000000 --- a/doc/html/search/typedefs_66.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- f16 - types.h -
-
-
-
- f32 - types.h -
-
-
-
- fastfix16 - types.h -
-
-
-
- fastfix32 - types.h -
-
-
-
- ff16 - types.h -
-
-
-
- ff32 - types.h -
-
-
-
- fix16 - types.h -
-
-
-
- fix32 - types.h -
-
-
-
- FrameChangeCallback - sprite_eng.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/typedefs_6a.html b/doc/html/search/typedefs_6a.html deleted file mode 100644 index eab3c0e60..000000000 --- a/doc/html/search/typedefs_6a.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- JoyEventCallback - joy.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/typedefs_6d.html b/doc/html/search/typedefs_6d.html deleted file mode 100644 index f5dfda69a..000000000 --- a/doc/html/search/typedefs_6d.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- M2f16 - maths.h -
-
-
-
- M2f32 - maths.h -
-
-
-
- M3f16 - maths.h -
-
-
-
- M3f32 - maths.h -
-
-
-
- M4f16 - maths.h -
-
-
-
- M4f32 - maths.h -
-
-
-
- Map - map.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/typedefs_6f.html b/doc/html/search/typedefs_6f.html deleted file mode 100644 index a1596bc7d..000000000 --- a/doc/html/search/typedefs_6f.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Object - object.h -
-
-
-
- ObjectCallback - object.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/typedefs_70.html b/doc/html/search/typedefs_70.html deleted file mode 100644 index b2355992f..000000000 --- a/doc/html/search/typedefs_70.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- p16 - types.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/typedefs_72.html b/doc/html/search/typedefs_72.html deleted file mode 100644 index 4b1e55d1c..000000000 --- a/doc/html/search/typedefs_72.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Rotation3D - maths3D.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/typedefs_73.html b/doc/html/search/typedefs_73.html deleted file mode 100644 index 8e37c0c3d..000000000 --- a/doc/html/search/typedefs_73.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- s16 - types.h -
-
-
-
- s32 - types.h -
-
-
-
- s8 - types.h -
-
-
-
- Sprite - sprite_eng.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/typedefs_74.html b/doc/html/search/typedefs_74.html deleted file mode 100644 index 28903ffd3..000000000 --- a/doc/html/search/typedefs_74.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- Translation3D - maths3D.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/typedefs_75.html b/doc/html/search/typedefs_75.html deleted file mode 100644 index 45381fc42..000000000 --- a/doc/html/search/typedefs_75.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- u16 - types.h -
-
-
-
- u32 - types.h -
-
-
-
- u8 - types.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/typedefs_76.html b/doc/html/search/typedefs_76.html deleted file mode 100644 index 67127ecb2..000000000 --- a/doc/html/search/typedefs_76.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- V2f16 - maths.h -
-
-
-
- V2f32 - maths.h -
-
-
-
- V2s16 - maths.h -
-
-
-
- V2s32 - maths.h -
-
-
-
- V2u16 - maths.h -
-
-
-
- V2u32 - maths.h -
-
-
-
- V3f16 - maths.h -
-
-
-
- V3f32 - maths.h -
-
-
-
- V3s16 - maths.h -
-
-
-
- V3s32 - maths.h -
-
-
-
- V3u16 - maths.h -
-
-
-
- V3u32 - maths.h -
-
-
-
- V4f16 - maths.h -
-
-
-
- V4f32 - maths.h -
-
-
-
- vbool - types.h -
-
-
-
- vf16 - types.h -
-
-
-
- vf32 - types.h -
-
-
-
- vfix16 - types.h -
-
-
-
- vfix32 - types.h -
-
-
-
- vs16 - types.h -
-
-
-
- vs32 - types.h -
-
-
-
- vs8 - types.h -
-
-
-
- vsnprintf_t - console.h -
-
-
-
- vsprintf_t - console.h -
-
-
-
- vu16 - types.h -
-
-
-
- vu32 - types.h -
-
-
-
- vu8 - types.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_61.html b/doc/html/search/variables_61.html deleted file mode 100644 index c5db3401e..000000000 --- a/doc/html/search/variables_61.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- addressErrorCB - sys.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_62.html b/doc/html/search/variables_62.html deleted file mode 100644 index f9eecf31b..000000000 --- a/doc/html/search/variables_62.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- bmp_buffer_read - bmp.c -
-
-
-
- bmp_buffer_write - bmp.c -
-
-
-
- busErrorCB - sys.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_63.html b/doc/html/search/variables_63.html deleted file mode 100644 index 0838e53e5..000000000 --- a/doc/html/search/variables_63.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- chkInstCB - sys.h -
-
-
-
- curTileInd - vdp_bg.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_64.html b/doc/html/search/variables_64.html deleted file mode 100644 index 9e66e4557..000000000 --- a/doc/html/search/variables_64.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- dmaDataBuffer - dma.c -
-
-
-
- dmaQueues - dma.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_65.html b/doc/html/search/variables_65.html deleted file mode 100644 index 84680a315..000000000 --- a/doc/html/search/variables_65.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- errorExceptionCB - sys.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_66.html b/doc/html/search/variables_66.html deleted file mode 100644 index f64245a81..000000000 --- a/doc/html/search/variables_66.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- fadeCurrentPal - pal.c -
-
-
-
- fadeEndPal - pal.c -
-
-
-
- firstSprite - sprite_eng.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_68.html b/doc/html/search/variables_68.html deleted file mode 100644 index 0edea5e42..000000000 --- a/doc/html/search/variables_68.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- highestVDPSpriteIndex - vdp_spr.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_69.html b/doc/html/search/variables_69.html deleted file mode 100644 index 79a22d8b0..000000000 --- a/doc/html/search/variables_69.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- illegalInstCB - sys.h -
-
-
-
- intCB - sys.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_6c.html b/doc/html/search/variables_6c.html deleted file mode 100644 index edcf3b258..000000000 --- a/doc/html/search/variables_6c.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- lastAllocatedVDPSprite - vdp_spr.c -
-
-
-
- lastSprite - sprite_eng.c -
-
-
-
- line1x1xCB - sys.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_70.html b/doc/html/search/variables_70.html deleted file mode 100644 index 8d5044496..000000000 --- a/doc/html/search/variables_70.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- palette_black - pal.c -
-
-
-
- palette_blue - pal.c -
-
-
-
- palette_green - pal.c -
-
-
-
- palette_grey - pal.c -
-
-
-
- palette_red - pal.c -
-
-
-
- planeHeight - vdp.c -
-
-
-
- planeHeightSft - vdp.c -
-
-
-
- planeWidth - vdp.c -
-
-
-
- planeWidthSft - vdp.c -
-
-
-
- privilegeViolationCB - sys.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_73.html b/doc/html/search/variables_73.html deleted file mode 100644 index fa18978d2..000000000 --- a/doc/html/search/variables_73.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- screenHeight - vdp.c -
-
-
-
- screenWidth - vdp.c -
-
-
-
- spritesPool - sprite_eng.c -
-
-
-
- spriteVramSize - sprite_eng.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_74.html b/doc/html/search/variables_74.html deleted file mode 100644 index f6f978a7e..000000000 --- a/doc/html/search/variables_74.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- traceCB - sys.h -
-
-
-
- trapvInstCB - sys.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_76.html b/doc/html/search/variables_76.html deleted file mode 100644 index 83179d0db..000000000 --- a/doc/html/search/variables_76.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- vdpSpriteCache - vdp_spr.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_77.html b/doc/html/search/variables_77.html deleted file mode 100644 index ff0c294bf..000000000 --- a/doc/html/search/variables_77.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- windowWidth - vdp.c -
-
-
-
- windowWidthSft - vdp.c -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/search/variables_7a.html b/doc/html/search/variables_7a.html deleted file mode 100644 index 4262fa8a8..000000000 --- a/doc/html/search/variables_7a.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -
-
Loading...
-
-
- zeroDivideCB - sys.h -
-
-
Searching...
-
No Matches
- -
- - diff --git a/doc/html/smp__null_8h_source.html b/doc/html/smp__null_8h_source.html deleted file mode 100644 index debcd1739..000000000 --- a/doc/html/smp__null_8h_source.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - -sgdk: smp_null.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
smp_null.h
-
-
-
00001 #ifndef _SMP_NULL_H_
-00002 #define _SMP_NULL_H_
-00003 
-00004 extern const u8 smp_null[0x100];
-00005 
-00006 #endif // _SMP_NULL_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/smp__null__dpcm_8h_source.html b/doc/html/smp__null__dpcm_8h_source.html deleted file mode 100644 index da07fa437..000000000 --- a/doc/html/smp__null__dpcm_8h_source.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - -sgdk: smp_null_dpcm.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
smp_null_dpcm.h
-
-
-
00001 #ifndef _SMP_NULL_DPCM_H_
-00002 #define _SMP_NULL_DPCM_H_
-00003 
-00004 extern const u8 smp_null_dpcm[0x80];
-00005 
-00006 #endif // _SMP_NULL_DPCM_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/snd__dpcm2_8h.html b/doc/html/snd__dpcm2_8h.html deleted file mode 100644 index 5135da82c..000000000 --- a/doc/html/snd__dpcm2_8h.html +++ /dev/null @@ -1,314 +0,0 @@ - - - - -sgdk: snd_dpcm2.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
snd_dpcm2.h File Reference
-
-
- -

Z80_DRIVER_DPCM2 sound driver API. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - -

-Defines

-#define SND_isPlaying_2ADPCM   _Pragma("GCC error \"This method is deprecated, use SND_DPCM2_isPlaying instead.\"")
-#define SND_startPlay_2ADPCM   _Pragma("GCC error \"This method is deprecated, use SND_DPCM2_startPlay instead.\"")
-#define SND_stopPlay_2ADPCM   _Pragma("GCC error \"This method is deprecated, use SND_DPCM2_stopPlay instead.\"")

-Functions

void SND_DPCM2_loadDriver (const bool waitReady)
 Load the Z80_DRIVER_DPCM2 sound driver.
void SND_DPCM2_unloadDriver (void)
 Unload the Z80_DRIVER_DPCM2 sound driver.
bool SND_DPCM2_isPlaying (const u16 channel_mask)
 Return play status of specified channel (2 channels ADPCM player driver).
void SND_DPCM2_startPlay (const u8 *sample, const u32 len, const SoundPCMChannel channel, const bool loop)
 Start playing a sample on specified channel (2 channels ADPCM player driver).
- If a sample was currently playing on this channel then it's stopped and the new sample is played instead.
void SND_DPCM2_stopPlay (const SoundPCMChannel channel)
 Stop playing the specified channel (2 channels ADPCM player driver).
- No effect if no sample was currently playing on this channel.
-

Detailed Description

-

Z80_DRIVER_DPCM2 sound driver API.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides playback method for the Z80_DRIVER_DPCM2 sound driver.
- Sound driver description:
- 2 channels 4 bits DPCM sample driver, it can mix up to 2 DCPM samples at a fixed 22050 Hz Khz rate.
- Address and size of samples have to be 256 bytes boundary.
-
- Note that SGDK sound drivers may not fit your needs so it's important to know
- that some alternatives sound drivers exist (see SGDK readme.md for more info)

-

Function Documentation

- -
-
- - - - - - - - -
bool SND_DPCM2_isPlaying (const u16 channel_mask)
-
-
- -

Return play status of specified channel (2 channels ADPCM player driver).

-
Parameters:
- - -
channel_maskChannel(s) we want to retrieve play state.
- SOUND_PCM_CH1_MSK = channel 1
- SOUND_PCM_CH2_MSK = channel 2
-
- You can combine mask to retrieve state of severals channels at once:
- isPlaying_2ADPCM(SOUND_PCM_CH1_MSK | SOUND_PCM_CH2_MSK)
- will actually return play state for channel 1 and channel 2.
-
-
-
Returns:
Return TRUE if specified channel(s) is(are) playing.
- -
-
- -
-
- - - - - - - - -
void SND_DPCM2_loadDriver (const bool waitReady)
-
-
- -

Load the Z80_DRIVER_DPCM2 sound driver.

-

Don't use this method directly, use Z80_loadDriver(..) instead.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void SND_DPCM2_startPlay (const u8sample,
const u32 len,
const SoundPCMChannel channel,
const bool loop 
)
-
-
- -

Start playing a sample on specified channel (2 channels ADPCM player driver).
- If a sample was currently playing on this channel then it's stopped and the new sample is played instead.

-
Parameters:
- - - - - -
sampleSample address, should be 128 bytes boundary aligned
- SGDK automatically align resource as needed
lenSize of sample in bytes, should be a multiple of 128
- SGDK automatically adjust resource size as needed
channelChannel where we want to play sample, accepted values are:
- SOUND_PCM_CH_AUTO = auto selection from current channel usage
- SOUND_PCM_CH1 = channel 1
- SOUND_PCM_CH2 = channel 2
-
loopLoop flag.
- If TRUE then the sample will be played in loop (else sample is played only once).
-
-
- -
-
- -
-
- - - - - - - - -
void SND_DPCM2_stopPlay (const SoundPCMChannel channel)
-
-
- -

Stop playing the specified channel (2 channels ADPCM player driver).
- No effect if no sample was currently playing on this channel.

-
Parameters:
- - -
channelChannel we want to stop, accepted values are:
- SOUND_PCM_CH1 = channel 1
- SOUND_PCM_CH2 = channel 2
-
-
-
- -
-
- -
-
- - - - - - - - -
void SND_DPCM2_unloadDriver (void )
-
-
- -

Unload the Z80_DRIVER_DPCM2 sound driver.

-

Don't use this method directly, use Z80_unloadDriver(..) instead.

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/snd__dpcm2_8h_source.html b/doc/html/snd__dpcm2_8h_source.html deleted file mode 100644 index 1f12511da..000000000 --- a/doc/html/snd__dpcm2_8h_source.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - -sgdk: snd_dpcm2.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
snd_dpcm2.h
-
-
-Go to the documentation of this file.
00001 
-00016 #ifndef _SND_DPCM2_H_
-00017 #define _SND_DPCM2_H_
-00018 
-00019 #define SND_isPlaying_2ADPCM    _Pragma("GCC error \"This method is deprecated, use SND_DPCM2_isPlaying instead.\"")
-00020 #define SND_startPlay_2ADPCM    _Pragma("GCC error \"This method is deprecated, use SND_DPCM2_startPlay instead.\"")
-00021 #define SND_stopPlay_2ADPCM     _Pragma("GCC error \"This method is deprecated, use SND_DPCM2_stopPlay instead.\"")
-00022 
-00029 void SND_DPCM2_loadDriver(const bool waitReady);
-00036 void SND_DPCM2_unloadDriver(void);
-00037 
-00054 bool SND_DPCM2_isPlaying(const u16 channel_mask);
-00075 void SND_DPCM2_startPlay(const u8 *sample, const u32 len, const SoundPCMChannel channel, const bool loop);
-00086 void SND_DPCM2_stopPlay(const SoundPCMChannel channel);
-00087 
-00088 #endif // _SND_DPCM2_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/snd__pcm4_8h.html b/doc/html/snd__pcm4_8h.html deleted file mode 100644 index 7bc0ac529..000000000 --- a/doc/html/snd__pcm4_8h.html +++ /dev/null @@ -1,414 +0,0 @@ - - - - -sgdk: snd_pcm4.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
snd_pcm4.h File Reference
-
-
- -

Z80_DRIVER_PCM4 sound driver API. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define SND_isPlaying_4PCM_ENV   _Pragma("GCC error \"This method is deprecated, use SND_PCM4_isPlaying instead.\"")
-#define SND_startPlay_4PCM_ENV   _Pragma("GCC error \"This method is deprecated, use SND_PCM4_startPlay instead.\"")
-#define SND_stopPlay_4PCM_ENV   _Pragma("GCC error \"This method is deprecated, use SND_PCM4_stopPlay instead.\"")
-#define SND_getVolume_4PCM_ENV   _Pragma("GCC error \"This method is deprecated, use SND_PCM4_getVolume instead.\"")
-#define SND_setVolume_4PCM_ENV   _Pragma("GCC error \"This method is deprecated, use SND_PCM4_setVolume instead.\"")
-#define SND_isPlaying_4PCM   _Pragma("GCC error \"This method is deprecated, use SND_PCM4_isPlaying instead.\"")
-#define SND_startPlay_4PCM   _Pragma("GCC error \"This method is deprecated, use SND_PCM4_startPlay instead.\"")
-#define SND_stopPlay_4PCM   _Pragma("GCC error \"This method is deprecated, use SND_PCM4_stopPlay instead.\"")
-#define SND_getVolume_4PCM   _Pragma("GCC error \"This method is deprecated, use SND_PCM4_getVolume instead.\"")
-#define SND_setVolume_4PCM   _Pragma("GCC error \"This method is deprecated, use SND_PCM4_setVolume instead.\"")

-Functions

void SND_PCM4_loadDriver (const bool waitReady)
 Load the Z80_DRIVER_PCM4 sound driver.
void SND_PCM4_unloadDriver (void)
 Unload the Z80_DRIVER_PCM4 sound driver.
bool SND_PCM4_isPlaying (const u16 channel_mask)
 Return play status of specified channel (4 channels PCM player driver).
void SND_PCM4_startPlay (const u8 *sample, const u32 len, const SoundPCMChannel channel, const bool loop)
 Start playing a sample on specified channel (4 channels PCM player driver).
- If a sample was currently playing on this channel then it's stopped and the new sample is played instead.
void SND_PCM4_stopPlay (const SoundPCMChannel channel)
 Stop playing the specified channel (4 channels PCM player driver).
- No effect if no sample was currently playing on this channel.
void SND_PCM4_setVolume (const SoundPCMChannel channel, const u8 volume)
 Change envelop / volume of specified channel (4 channels PCM player driver).
u8 SND_PCM4_getVolume (const SoundPCMChannel channel)
 Return envelop / volume level of specified channel (4 channels PCM player driver).
-

Detailed Description

-

Z80_DRIVER_PCM4 sound driver API.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides playback method for the Z80_DRIVER_PCM4 sound driver.
- Sound driver description:
- 4 channels 8 bits signed sample driver with volume support.
- It can mix up to 4 samples (8 bit signed) at a fixed 16 Khz rate.
- with volume support (16 levels du to memory limitation).
- Address and size of samples have to be 256 bytes boundary.
- The driver does support "cutoff" when mixing so you can use true 8 bits samples :)
-
- Note that SGDK sound drivers may not fit your needs so it's important to know
- that some alternatives sound drivers exist (see SGDK readme.md for more info)

-

Function Documentation

- -
-
- - - - - - - - -
u8 SND_PCM4_getVolume (const SoundPCMChannel channel)
-
-
- -

Return envelop / volume level of specified channel (4 channels PCM player driver).

-
Parameters:
- - -
channelChannel we want to retrieve envelop level, accepted values are:
- SOUND_PCM_CH1 = channel 1
- SOUND_PCM_CH2 = channel 2
- SOUND_PCM_CH3 = channel 3
- SOUND_PCM_CH4 = channel 4
-
-
-
-
Returns:
Envelop of specified channel.
- The returned value is comprised between 0 (quiet) to 15 (loud).
- -
-
- -
-
- - - - - - - - -
bool SND_PCM4_isPlaying (const u16 channel_mask)
-
-
- -

Return play status of specified channel (4 channels PCM player driver).

-
Parameters:
- - -
channel_maskChannel(s) we want to retrieve play state.
- SOUND_PCM_CH1_MSK = channel 1
- SOUND_PCM_CH2_MSK = channel 2
- SOUND_PCM_CH3_MSK = channel 3
- SOUND_PCM_CH4_MSK = channel 4
-
- You can combine mask to retrieve state of severals channels at once:
- SND_PCM4_isPlaying(SOUND_PCM_CH1_MSK | SOUND_PCM_CH2_MSK)
- will actually return play state for channel 1 and channel 2.
-
-
-
Returns:
Return TRUE if specified channel(s) is(are) playing.
- -
-
- -
-
- - - - - - - - -
void SND_PCM4_loadDriver (const bool waitReady)
-
-
- -

Load the Z80_DRIVER_PCM4 sound driver.

-

Don't use this method directly, use Z80_loadDriver(..) instead.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SND_PCM4_setVolume (const SoundPCMChannel channel,
const u8 volume 
)
-
-
- -

Change envelop / volume of specified channel (4 channels PCM player driver).

-
Parameters:
- - - -
channelChannel we want to set envelop, accepted values are:
- SOUND_PCM_CH1 = channel 1
- SOUND_PCM_CH2 = channel 2
- SOUND_PCM_CH3 = channel 3
- SOUND_PCM_CH4 = channel 4
-
volumeVolume to set: 16 possible level from 0 (minimum) to 15 (maximum).
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void SND_PCM4_startPlay (const u8sample,
const u32 len,
const SoundPCMChannel channel,
const bool loop 
)
-
-
- -

Start playing a sample on specified channel (4 channels PCM player driver).
- If a sample was currently playing on this channel then it's stopped and the new sample is played instead.

-
Parameters:
- - - - - -
sampleSample address, should be 256 bytes boundary aligned
- SGDK automatically align resource as needed
lenSize of sample in bytes, should be a multiple of 256
- SGDK automatically adjust resource size as needed
channelChannel where we want to play sample, accepted values are:
- SOUND_PCM_CH_AUTO = auto selection from current channel usage
- SOUND_PCM_CH1 = channel 1
- SOUND_PCM_CH2 = channel 2
- SOUND_PCM_CH3 = channel 3
- SOUND_PCM_CH4 = channel 4
-
loopLoop flag.
- If TRUE then the sample will be played in loop (else sample is played only once).
-
-
- -
-
- -
-
- - - - - - - - -
void SND_PCM4_stopPlay (const SoundPCMChannel channel)
-
-
- -

Stop playing the specified channel (4 channels PCM player driver).
- No effect if no sample was currently playing on this channel.

-
Parameters:
- - -
channelChannel we want to stop, accepted values are:
- SOUND_PCM_CH1 = channel 1
- SOUND_PCM_CH2 = channel 2
- SOUND_PCM_CH3 = channel 3
- SOUND_PCM_CH4 = channel 4
-
-
-
- -
-
- -
-
- - - - - - - - -
void SND_PCM4_unloadDriver (void )
-
-
- -

Unload the Z80_DRIVER_PCM4 sound driver.

-

Don't use this method directly, use Z80_unloadDriver(..) instead.

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/snd__pcm4_8h_source.html b/doc/html/snd__pcm4_8h_source.html deleted file mode 100644 index 02b715721..000000000 --- a/doc/html/snd__pcm4_8h_source.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - -sgdk: snd_pcm4.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
snd_pcm4.h
-
-
-Go to the documentation of this file.
00001 
-00019 #ifndef _SND_PCM4_H_
-00020 #define _SND_PCM4_H_
-00021 
-00022 #define SND_isPlaying_4PCM_ENV      _Pragma("GCC error \"This method is deprecated, use SND_PCM4_isPlaying instead.\"")
-00023 #define SND_startPlay_4PCM_ENV      _Pragma("GCC error \"This method is deprecated, use SND_PCM4_startPlay instead.\"")
-00024 #define SND_stopPlay_4PCM_ENV       _Pragma("GCC error \"This method is deprecated, use SND_PCM4_stopPlay instead.\"")
-00025 #define SND_getVolume_4PCM_ENV      _Pragma("GCC error \"This method is deprecated, use SND_PCM4_getVolume instead.\"")
-00026 #define SND_setVolume_4PCM_ENV      _Pragma("GCC error \"This method is deprecated, use SND_PCM4_setVolume instead.\"")
-00027 
-00028 #define SND_isPlaying_4PCM          _Pragma("GCC error \"This method is deprecated, use SND_PCM4_isPlaying instead.\"")
-00029 #define SND_startPlay_4PCM          _Pragma("GCC error \"This method is deprecated, use SND_PCM4_startPlay instead.\"")
-00030 #define SND_stopPlay_4PCM           _Pragma("GCC error \"This method is deprecated, use SND_PCM4_stopPlay instead.\"")
-00031 #define SND_getVolume_4PCM          _Pragma("GCC error \"This method is deprecated, use SND_PCM4_getVolume instead.\"")
-00032 #define SND_setVolume_4PCM          _Pragma("GCC error \"This method is deprecated, use SND_PCM4_setVolume instead.\"")
-00033 
-00040 void SND_PCM4_loadDriver(const bool waitReady);
-00047 void SND_PCM4_unloadDriver(void);
-00048 
-00067 bool SND_PCM4_isPlaying(const u16 channel_mask);
-00090 void SND_PCM4_startPlay(const u8 *sample, const u32 len, const SoundPCMChannel channel, const bool loop);
-00103 void SND_PCM4_stopPlay(const SoundPCMChannel channel);
-00117 void SND_PCM4_setVolume(const SoundPCMChannel channel, const u8 volume);
-00132 u8   SND_PCM4_getVolume(const SoundPCMChannel channel);
-00133 
-00134 #endif // _SND_PCM4_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/snd__pcm_8h.html b/doc/html/snd__pcm_8h.html deleted file mode 100644 index e83a2e0f3..000000000 --- a/doc/html/snd__pcm_8h.html +++ /dev/null @@ -1,342 +0,0 @@ - - - - -sgdk: snd_pcm.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
snd_pcm.h File Reference
-
-
- -

Z80_DRIVER_PCM sound driver API. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define SOUND_RATE_32000   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_32000 instead.\"")
-#define SOUND_RATE_22050   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_22050 instead.\"")
-#define SOUND_RATE_16000   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_16000 instead.\"")
-#define SOUND_RATE_13400   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_13400 instead.\"")
-#define SOUND_RATE_11025   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_11025 instead.\"")
-#define SOUND_RATE_8000   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_8000 instead.\"")
-#define SND_isPlaying_PCM   _Pragma("GCC error \"This method is deprecated, use SND_PCM_isPlaying instead.\"")
-#define SND_startPlay_PCM   _Pragma("GCC error \"This method is deprecated, use SND_PCM_startPlay instead.\"")
-#define SND_stopPlay_PCM   _Pragma("GCC error \"This method is deprecated, use SND_PCM_stopPlay instead.\"")

-Enumerations

enum  SoundPcmSampleRate {
-  SOUND_PCM_RATE_32000, -SOUND_PCM_RATE_22050, -SOUND_PCM_RATE_16000, -SOUND_PCM_RATE_13400, -
-  SOUND_PCM_RATE_11025, -SOUND_PCM_RATE_8000 -
- }
 PCM sample rate values. More...

-Functions

void SND_PCM_loadDriver (const bool waitReady)
 Load the Z80_DRIVER_PCM sound driver.
void SND_PCM_unloadDriver (void)
 Unload the Z80_DRIVER_PCM sound driver.
bool SND_PCM_isPlaying (void)
 Return play status (Single channel PCM player driver).
void SND_PCM_startPlay (const u8 *sample, const u32 len, const SoundPcmSampleRate rate, const SoundPanning pan, const bool loop)
 Start playing a sample (Single channel PCM player driver).
- If a sample was currently playing then it's stopped and the new sample is played instead.
-void SND_PCM_stopPlay (void)
 Stop playing (Single channel PCM player driver).
- No effect if no sample was currently playing.
-

Detailed Description

-

Z80_DRIVER_PCM sound driver API.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides playback method for the Z80_DRIVER_PCM sound driver.
-
- Sound driver description:
- This sound driver allow Single PCM channel 8 bits signed sample driver.
- It can play a sample (8 bit signed) from 8 Khz up to 32 Khz rate.
-
- Note that SGDK sound drivers may not fit your needs so it's important to know
- that some alternatives sound drivers exist (see SGDK readme.md for more info)

-

Enumeration Type Documentation

- -
-
- - - - -
enum SoundPcmSampleRate
-
-
- -

PCM sample rate values.

-
Enumerator:
- - -
SOUND_PCM_RATE_22050  -

Best quality but take lot of rom space

-
SOUND_PCM_RATE_8000  -

Worst quality but take less rom place

-
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - -
bool SND_PCM_isPlaying (void )
-
-
- -

Return play status (Single channel PCM player driver).

-
Returns:
Return non zero if PCM player is currently playing a sample
- -
-
- -
-
- - - - - - - - -
void SND_PCM_loadDriver (const bool waitReady)
-
-
- -

Load the Z80_DRIVER_PCM sound driver.

-

Don't use this method directly, use Z80_loadDriver(..) instead.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void SND_PCM_startPlay (const u8sample,
const u32 len,
const SoundPcmSampleRate rate,
const SoundPanning pan,
const bool loop 
)
-
-
- -

Start playing a sample (Single channel PCM player driver).
- If a sample was currently playing then it's stopped and the new sample is played instead.

-
Parameters:
- - - - - - -
sampleSample address, should be 256 bytes boundary aligned
- SGDK automatically align resource as needed
lenSize of sample in bytes, should be a multiple of 256
- SGDK automatically adjust resource size as needed
ratePlayback rate :
- SOUND_PCM_RATE_32000 = 32 Khz (best quality but take lot of rom space)
- SOUND_PCM_RATE_22050 = 22 Khz
- SOUND_PCM_RATE_16000 = 16 Khz
- SOUND_PCM_RATE_13400 = 13.4 Khz
- SOUND_PCM_RATE_11025 = 11 Khz
- SOUND_PCM_RATE_8000 = 8 Khz (worst quality but take less rom place)
-
panPanning :
- SOUND_PAN_NONE = mute
- SOUND_PAN_LEFT = play on left speaker
- SOUND_PAN_RIGHT = play on right speaker
- SOUND_PAN_CENTER = play on both speaker
-
loopLoop flag.
- If TRUE then the sample will be played in loop (else sample is played only once).
-
-
- -
-
- -
-
- - - - - - - - -
void SND_PCM_unloadDriver (void )
-
-
- -

Unload the Z80_DRIVER_PCM sound driver.

-

Don't use this method directly, use Z80_unloadDriver(..) instead.

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/snd__pcm_8h_source.html b/doc/html/snd__pcm_8h_source.html deleted file mode 100644 index c147780c5..000000000 --- a/doc/html/snd__pcm_8h_source.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - -sgdk: snd_pcm.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
snd_pcm.h
-
-
-Go to the documentation of this file.
00001 
-00017 #ifndef _SND_PCM_H_
-00018 #define _SND_PCM_H_
-00019 
-00024 typedef enum
-00025 {
-00026     SOUND_PCM_RATE_32000,   
-00027     SOUND_PCM_RATE_22050,
-00028     SOUND_PCM_RATE_16000,
-00029     SOUND_PCM_RATE_13400,
-00030     SOUND_PCM_RATE_11025,
-00031     SOUND_PCM_RATE_8000     
-00032 } SoundPcmSampleRate;
-00033 
-00034 
-00035 #define SOUND_RATE_32000    _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_32000 instead.\"")
-00036 #define SOUND_RATE_22050    _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_22050 instead.\"")
-00037 #define SOUND_RATE_16000    _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_16000 instead.\"")
-00038 #define SOUND_RATE_13400    _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_13400 instead.\"")
-00039 #define SOUND_RATE_11025    _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_11025 instead.\"")
-00040 #define SOUND_RATE_8000     _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_RATE_8000 instead.\"")
-00041 
-00042 
-00043 #define SND_isPlaying_PCM   _Pragma("GCC error \"This method is deprecated, use SND_PCM_isPlaying instead.\"")
-00044 #define SND_startPlay_PCM   _Pragma("GCC error \"This method is deprecated, use SND_PCM_startPlay instead.\"")
-00045 #define SND_stopPlay_PCM    _Pragma("GCC error \"This method is deprecated, use SND_PCM_stopPlay instead.\"")
-00046 
-00053 void SND_PCM_loadDriver(const bool waitReady);
-00060 void SND_PCM_unloadDriver(void);
-00061 
-00069 bool SND_PCM_isPlaying(void);
-00099 void SND_PCM_startPlay(const u8 *sample, const u32 len, const SoundPcmSampleRate rate, const SoundPanning pan, const bool loop);
-00105 void SND_PCM_stopPlay(void);
-00106 
-00107 #endif // _SND_PCM_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/sound_8h.html b/doc/html/sound_8h.html deleted file mode 100644 index e7b696238..000000000 --- a/doc/html/sound_8h.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - -sgdk: sound.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
sound.h File Reference
-
-
- -

General / shared sound driver definitions. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define SOUND_PCM_CH1_MSK   (1 << SOUND_PCM_CH1)
 PCM channel 1 (first channel) selection mask.
-#define SOUND_PCM_CH2_MSK   (1 << SOUND_PCM_CH2)
 PCM channel 2 selection mask.
-#define SOUND_PCM_CH3_MSK   (1 << SOUND_PCM_CH3)
 PCM channel 3 selection mask.
-#define SOUND_PCM_CH4_MSK   (1 << SOUND_PCM_CH4)
 PCM channel 4 selection mask.
-#define SOUND_PCM_AUTO   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH_AUTO instead.\"")

-Enumerations

enum  SoundPCMChannel {
-  SOUND_PCM_CH_AUTO = -1, -SOUND_PCM_CH1 = 0, -SOUND_PCM_CH2, -SOUND_PCM_CH3, -
-  SOUND_PCM_CH4 -
- }
 Sound PCM channel enum.
enum  SoundPanning { SOUND_PAN_NONE = 0x00, -SOUND_PAN_RIGHT = 0x40, -SOUND_PAN_LEFT = 0x80, -SOUND_PAN_CENTER = 0xC0 - }
 Sound panning enum.

-Functions

void SND_NULL_loadDriver (void)
 Load the dummy Z80 driver.
void SND_NULL_unloadDriver (void)
 Unload the dummy Z80 driver.
-

Detailed Description

-

General / shared sound driver definitions.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides basic definitions for sound drivers.
-

-

Function Documentation

- -
-
- - - - - - - - -
void SND_NULL_loadDriver (void )
-
-
- -

Load the dummy Z80 driver.

-

Don't use this method directly, use Z80_loadDriver(..) instead.

- -
-
- -
-
- - - - - - - - -
void SND_NULL_unloadDriver (void )
-
-
- -

Unload the dummy Z80 driver.

-

Don't use this method directly, use Z80_unloadDriver(..) instead.

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/sound_8h_source.html b/doc/html/sound_8h_source.html deleted file mode 100644 index 3e6a0fe14..000000000 --- a/doc/html/sound_8h_source.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - -sgdk: sound.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
sound.h
-
-
-Go to the documentation of this file.
00001 
-00010 #ifndef _SOUND_H_
-00011 #define _SOUND_H_
-00012 
-00017 typedef enum
-00018 {
-00019     SOUND_PCM_CH_AUTO = -1,       // auto-select
-00020     SOUND_PCM_CH1 = 0,            // channel 1
-00021     SOUND_PCM_CH2,                // channel 2
-00022     SOUND_PCM_CH3,                // channel 3
-00023     SOUND_PCM_CH4,                // channel 4
-00024 } SoundPCMChannel;
-00025 
-00030 typedef enum
-00031 {
-00032     SOUND_PAN_NONE = 0x00,        // mute
-00033     SOUND_PAN_RIGHT = 0x40,       // right speaker only
-00034     SOUND_PAN_LEFT = 0x80,        // left speaker only
-00035     SOUND_PAN_CENTER = 0xC0       // center (both speakers)
-00036 } SoundPanning;
-00037 
-00042 #define SOUND_PCM_CH1_MSK   (1 << SOUND_PCM_CH1)
-00043 
-00047 #define SOUND_PCM_CH2_MSK   (1 << SOUND_PCM_CH2)
-00048 
-00052 #define SOUND_PCM_CH3_MSK   (1 << SOUND_PCM_CH3)
-00053 
-00057 #define SOUND_PCM_CH4_MSK   (1 << SOUND_PCM_CH4)
-00058 
-00059 
-00060 #define SOUND_PCM_AUTO      _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH_AUTO instead.\"")
-00061 
-00062 
-00069 void SND_NULL_loadDriver(void);
-00076 void SND_NULL_unloadDriver(void);
-00077 
-00078 
-00079 #endif // _SOUND_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/sprite__eng_8h.html b/doc/html/sprite__eng_8h.html deleted file mode 100644 index f22a742f1..000000000 --- a/doc/html/sprite__eng_8h.html +++ /dev/null @@ -1,1960 +0,0 @@ - - - - -sgdk: sprite_eng.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
sprite_eng.h File Reference
-
-
- -

Sprite engine. -More...

-
#include "vdp_tile.h"
-#include "vdp_spr.h"
-#include "pal.h"
-#include "pool.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  BoxCollision
 Simple Box structure for collision. More...
struct  CircleCollision
 Simple Circle structure (can be used for collision detection) More...
struct  _collision
struct  FrameVDPSprite
 Single VDP sprite info structure for sprite animation frame. More...
struct  AnimationFrame
 Sprite animation frame structure. More...
struct  Animation
 Sprite animation structure. More...
struct  SpriteDefinition
 Sprite definition structure. More...
struct  Sprite
 Sprite structure used by the Sprite Engine to store state for a sprite.
- WARNING: always use the SPR_addSprite(..) method to allocate Sprite object.
- More...

-Defines

-#define COLLISION_TYPE_NONE   0
 No collision type.
-#define COLLISION_TYPE_BOX   1
 Bouding box collision type (Box structure)
-#define COLLISION_TYPE_CIRCLE   2
 Round circle collision type (Circle structure)
-#define SPR_FLAG_INSERT_HEAD   0x4000
 Special flag to indicate that we want to add the sprite at position 0 (head / top) in the list
- instead of adding it in last / bottom position (default)
-#define SPR_FLAG_DISABLE_ANIMATION_LOOP   0x2000
 Disable animation auto loop..
- By default animation always restart fater the last frame has been played. This flag prevent the animation to restart and so the animation end on the last frame forever (see SPR_getAnimationDone(..))
-#define SPR_FLAG_DISABLE_DELAYED_FRAME_UPDATE   0x1000
 Disable delaying of frame update when we are running out of DMA capacity.
- By default we delay the frame update when DMA is already full so the frame update happen as soon we have enough DMA capacity to do it. This flag forces frame update to always happen immediately but that may cause graphical glitches.
-#define SPR_FLAG_AUTO_VRAM_ALLOC   0x0800
 Enable automatic VRAM allocation.
-#define SPR_FLAG_AUTO_TILE_UPLOAD   0x0400
 Enable automatic upload of sprite tiles data into VRAM.
-#define SPR_FLAG_AUTO_VISIBILITY   0x0200
 Enable automatic visibility calculation.
-#define SPR_FLAG_FAST_AUTO_VISIBILITY   0x0100
 Enable fast visibility calculation (only meaningful if SPR_FLAG_AUTO_VISIBILITY is used).
- If you set this flag the automatic visibility calculation will be done globally for the (meta) sprite and not per internal hardware sprite. This result in faster visibility computation at the expense of using extra (wasting) hardware sprites.
-#define SPR_FLAG_MASK   (SPR_FLAG_INSERT_HEAD | SPR_FLAG_DISABLE_DELAYED_FRAME_UPDATE | SPR_FLAG_AUTO_VRAM_ALLOC | SPR_FLAG_AUTO_TILE_UPLOAD | SPR_FLAG_AUTO_VISIBILITY | SPR_FLAG_FAST_AUTO_VISIBILITY)
 Mask for sprite flag.
-#define SPR_MIN_DEPTH   (-0x8000)
 Minimum depth for a sprite (always above others sprites)
-#define SPR_MAX_DEPTH   0x7FFF
 Maximum depth for a sprite (always below others sprites)
#define SPR_setPriorityAttribut(sprite, value)   _Pragma("GCC error \"This method is deprecated, use SPR_setPriority(..) instead.\"")
#define SPR_setAlwaysVisible(sprite, value)   _Pragma("GCC error \"This method is deprecated, use SPR_setVisibility(..) instead.\"")
#define SPR_setNeverVisible(sprite, value)   _Pragma("GCC error \"This method is deprecated, use SPR_setVisibility(..) instead.\"")
#define SPR_computeVisibility(sprite)   _Pragma("GCC error \"This method is deprecated, use SPR_isVisible(sprite, TRUE) instead.\"")

-Typedefs

-typedef struct _collision Collision
typedef struct Sprite Sprite
 Sprite structure used by the Sprite Engine to store state for a sprite.
- WARNING: always use the SPR_addSprite(..) method to allocate Sprite object.
-
typedef void FrameChangeCallback (Sprite *sprite)
 Sprite frame change event callback.
-

-Enumerations

enum  SpriteVisibility { VISIBLE, -HIDDEN, -AUTO_FAST, -AUTO_SLOW - }
 Sprite visibility enumeration. More...

-Functions

void SPR_init (void)
 Initialize the Sprite engine with default parameters.
void SPR_initEx (u16 vramSize)
 Init the Sprite engine with specified advanced parameters (VRAM allocation size and decompression buffer size).
void SPR_end (void)
 End the Sprite engine.
-bool SPR_isInitialized (void)
 FALSE if sprite cache engine is not initialized, TRUE otherwise.
void SPR_reset (void)
 Reset the Sprite engine.
-
SpriteSPR_addSpriteEx (const SpriteDefinition *spriteDef, s16 x, s16 y, u16 attribut, u16 flag)
 Adds a new sprite with specified parameters and returns it.
SpriteSPR_addSprite (const SpriteDefinition *spriteDef, s16 x, s16 y, u16 attribut)
 Adds a new sprite with auto resource allocation enabled and returns it.
SpriteSPR_addSpriteExSafe (const SpriteDefinition *spriteDef, s16 x, s16 y, u16 attribut, u16 flag)
 Adds a new sprite with specified parameters and returns it.
SpriteSPR_addSpriteSafe (const SpriteDefinition *spriteDef, s16 x, s16 y, u16 attribut)
 Adds a new sprite with auto resource allocation enabled and returns it.
void SPR_releaseSprite (Sprite *sprite)
 Release the specified sprite (no more visible and release its resources).
-u16 SPR_getNumActiveSprite (void)
 Returns the number of active sprite (number of sprite added with SPR_addSprite(..) or SPR_addSpriteEx(..) methods).
-u16 SPR_getUsedVDPSprite (void)
 Returns the (maximum) number of used VDP sprite from current active sprites (sum of maximum hardware sprite usage from all active sprites).
-u16 SPR_getFreeVRAM (void)
 Returns the current remaining free VRAM (in tile) for the sprite engine.
-u16 SPR_getLargestFreeVRAMBlock (void)
 Return the current largest free VRAM block size (in tile) for the sprite engine.
void SPR_enableVDPSpriteChecking ()
 Indicate that we want to prevent adding a new sprite if there is possibly not enough hardware sprite to display it (counting the maximum hardware sprite usage from all active sprites) and so this ensures to always display all of them.
- By default the sprite engine allow to add a new sprite even if we may run out of hardware sprite to display all of them, that can lead to some sprite disappearence in some situations but ultimately it allows to handle more active sprites at once.
void SPR_disableVDPSpriteChecking ()
 Indicate that we allow the sprite engine to add a new sprite even if we may run out of hardware sprite to display all of them, that can lead to some sprite disappearence in some situation but ultimately it allows to handle more active sprites at once (default behavior).
-void SPR_defragVRAM (void)
 Defragment allocated VRAM for sprites, that can help when sprite allocation fail (SPR_addSprite(..) or SPR_addSpriteEx(..) return NULL).
u16 ** SPR_loadAllFrames (const SpriteDefinition *sprDef, u16 index, u16 *totalNumTile)
 Load all frames of SpriteDefinition (using DMA) at specified VRAM tile index and return the indexes table.
- WARNING: This function should be call at init/loading time as it can be quite long (several frames)
bool SPR_setDefinition (Sprite *sprite, const SpriteDefinition *spriteDef)
 Set the Sprite Definition.
-s16 SPR_getPositionX (Sprite *sprite)
 Get sprite position X.
-s16 SPR_getPositionY (Sprite *sprite)
 Get sprite position Y.
void SPR_setPosition (Sprite *sprite, s16 x, s16 y)
 Set sprite position.
void SPR_setHFlip (Sprite *sprite, bool value)
 Set sprite Horizontal Flip attribut.
void SPR_setVFlip (Sprite *sprite, bool value)
 Set sprite Vertical Flip attribut.
void SPR_setPalette (Sprite *sprite, u16 value)
 Set sprite Palette index to use.
void SPR_setPriority (Sprite *sprite, bool value)
 Set sprite Priority attribut.
void SPR_setDepth (Sprite *sprite, s16 value)
 Set sprite depth (for sprite display ordering)
-void SPR_setZ (Sprite *sprite, s16 value)
 Same as SPR_setDepth(..)
void SPR_setAlwaysOnTop (Sprite *sprite)
 Set sprite depth so it remains above others sprite - same as SPR_setDepth(SPR_MIN_DEPTH)
void SPR_setAlwaysAtBottom (Sprite *sprite)
 Set sprite depth so it remains behind others sprite - same as SPR_setDepth(SPR_MAX_DEPTH)
void SPR_setAnimAndFrame (Sprite *sprite, s16 anim, s16 frame)
 Set current sprite animation and frame.
void SPR_setAnim (Sprite *sprite, s16 anim)
 Set current sprite animation.
void SPR_setFrame (Sprite *sprite, s16 frame)
 Set current sprite frame.
void SPR_nextFrame (Sprite *sprite)
 Pass to the next sprite frame.
void SPR_setAnimationLoop (Sprite *sprite, bool value)
 Enable/disable animation loop (default is on).
- When disable the sprite will stay on the last animation frame forever when animation ended instead of restarting it.
bool SPR_getAnimationDone (Sprite *sprite)
 Return TRUE if animation ended / looped.
- This can be used with the frame change callback (see SPR_setFrameChangeCallback(..)) to detect the end of sprite animation and do appropriate action if required.
bool SPR_setVRAMTileIndex (Sprite *sprite, s16 value)
 Set the VRAM tile position reserved for this sprite.
void SPR_setAutoTileUpload (Sprite *sprite, bool value)
 Enable/disable the automatic upload of sprite tiles data into VRAM.
void SPR_setDelayedFrameUpdate (Sprite *sprite, bool value)
 Enable/disable the delayed frame update.
void SPR_setFrameChangeCallback (Sprite *sprite, FrameChangeCallback *callback)
 Set the frame change event callback for this sprite.
SpriteVisibility SPR_getVisibility (Sprite *sprite)
 Return the visibility state for this sprite.
- WARNING: this is different from SPR_isVisible(..) method, possible value are:
- SpriteVisibility.VISIBLE = sprite is visible
- SpriteVisibility.HIDDEN = sprite is not visible
- SpriteVisibility.AUTO_FAST = visibility is automatically computed - global visibility (only using sprite X position)
- SpriteVisibility.AUTO_SLOW = visibility is automatically computed - per hardware sprite visibility (only using sprite X position)
-
bool SPR_isVisible (Sprite *sprite, bool recompute)
 Return the visible state for this sprite (meaningful only if AUTO visibility is enabled, see SPR_setVisibility(..) method).
-
void SPR_setVisibility (Sprite *sprite, SpriteVisibility value)
 Set the visibility state for this sprite.
void SPR_clear (void)
 Clear all displayed sprites.
void SPR_update (void)
 Update and display the active list of sprite.
-void SPR_logProfil (void)
 Log the profil informations (when enabled) in the KMod message window.
-void SPR_logSprites (void)
 Log the sprites informations (when enabled) in the KMod message window.

-Variables

PoolspritesPool
SpritefirstSprite
SpritelastSprite
u16 spriteVramSize
-

Detailed Description

-

Sprite engine.

-
Author:
Stephane Dallongeville
-
Date:
10/2013
-

Sprite engine providing advanced sprites manipulation and operations.
- This unit use both the vram memory manager (see vram.h file for more info)
- and the Sega Genesis VDP sprite capabilities (see vdp_spr.h file for more info).

-

Define Documentation

- -
-
- - - - - - - - -
#define SPR_computeVisibility( sprite)   _Pragma("GCC error \"This method is deprecated, use SPR_isVisible(sprite, TRUE) instead.\"")
-
-
-
Deprecated:
Use SPR_isVisible(..) instead.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define SPR_setAlwaysVisible( sprite,
 value 
)   _Pragma("GCC error \"This method is deprecated, use SPR_setVisibility(..) instead.\"")
-
-
-
Deprecated:
Use SPR_setVisibility(..) method instead.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define SPR_setNeverVisible( sprite,
 value 
)   _Pragma("GCC error \"This method is deprecated, use SPR_setVisibility(..) instead.\"")
-
-
-
Deprecated:
Use SPR_setVisibility(..) method instead.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define SPR_setPriorityAttribut( sprite,
 value 
)   _Pragma("GCC error \"This method is deprecated, use SPR_setPriority(..) instead.\"")
-
-
-
Deprecated:
Use SPR_setPriority(..) instead
- -
-
-

Typedef Documentation

- -
-
- - - - -
typedef void FrameChangeCallback(Sprite *sprite)
-
-
- -

Sprite frame change event callback.
-

-
Parameters:
- - -
spriteThe sprite for which frame just changed.
-
-
-

This event occurs onframe change process during SPR_update() call (CAUTION: sprite->status field is not up to date at this point).
- It let opportunity to the developer to apply special behavior or process when sprite frame just changed:
- for instance we can disable animation looping by setting sprite->timer to 0 when we meet the last animation frame.

- -
-
- -
-
- - - - -
typedef struct Sprite Sprite
-
-
- -

Sprite structure used by the Sprite Engine to store state for a sprite.
- WARNING: always use the SPR_addSprite(..) method to allocate Sprite object.
-

-
Parameters:
- - - - - - - - - - - - - - - - - -
statusInternal state and automatic allocation information (internal)
visibilityvisibility information of current frame for each VDP sprite (max = 16)
spriteDefSprite definition pointer
onFrameChangeCustom callback on frame change event (see SPR_setFrameChangeCallback(..) method)
animationAnimation pointer cache (internal)
frameAnimationFrame pointer cache (internal)
animIndcurrent animation index (internal)
frameIndcurrent frame animation index (internal)
timertimer for current frame (internal)
xcurrent sprite X position on screen offseted by 0x80 (internal VDP position)
ycurrent sprite Y position on screen offseted by 0x80 (internal VDP position)
depthcurrent sprite depth (Z) position used for Z sorting
attributsprite specific attribut and allocated VRAM tile index (see TILE_ATTR_FULL() macro)
datathis is a free field for user data, use it for whatever you want (flags, pointer...)
prevpointer on previous Sprite in list
nextpointer on next Sprite in list
-
-
-

Used to manage an active sprite in game condition.

- -
-
-

Enumeration Type Documentation

- -
-
- - - - -
enum SpriteVisibility
-
-
- -

Sprite visibility enumeration.

-
Enumerator:
- - - - -
VISIBLE  -

Sprite is visible (no computation needed)

-
HIDDEN  -

Sprite is hidden (no computation needed)

-
AUTO_FAST  -

Automatic visibility calculation - FAST (computation made on global meta sprite)

-
AUTO_SLOW  -

Automatic visibility calculation - SLOW (computation made per hardware sprite)

-
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Sprite* SPR_addSprite (const SpriteDefinitionspriteDef,
s16 x,
s16 y,
u16 attribut 
)
-
-
- -

Adds a new sprite with auto resource allocation enabled and returns it.

-
Parameters:
- - - - - -
spriteDefthe SpriteDefinition data to assign to this sprite.
xdefault X position.
ydefault Y position.
attributsprite attribut (see TILE_ATTR() macro).
-
-
-
Returns:
the new sprite or NULL if the operation failed (some logs can be generated in the KMod console in this case)
-

By default the sprite uses automatic resources allocation (VRAM and hardware sprite) and visibility is set to ON.
- You can change these defaults settings later by calling SPR_setVRAMTileIndex(..), SPR_setAutoTileUpload(..) and SPR_setVisibility(..) methods.
- You can release all sprite resources by using SPR_releaseSprite(..) or SPR_reset(..).
- IMPORTANT NOTE: sprite allocation can fail (return NULL) because of automatic VRAM allocation even if there is enough VRAM available, this can happen because of the VRAM fragmentation.
- You can use SPR_addSpriteSafe(..) method instead so it take care about VRAM fragmentation.

-
See also:
SPR_addSpriteEx(..)
-
-SPR_addSpriteSafe(..)
-
-SPR_releaseSprite(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Sprite* SPR_addSpriteEx (const SpriteDefinitionspriteDef,
s16 x,
s16 y,
u16 attribut,
u16 flag 
)
-
-
- -

Adds a new sprite with specified parameters and returns it.

-
Parameters:
- - - - - - -
spriteDefthe SpriteDefinition data to assign to this sprite.
xdefault X position.
ydefault Y position.
attributsprite attribut (see TILE_ATTR() macro).
flagspecific settings for this sprite:
- SPR_FLAG_DISABLE_DELAYED_FRAME_UPDATE = Disable delaying of frame update when we are running out of DMA capacity.
- If you set this flag then sprite frame update always happen immediately but may lead to some graphical glitches (tiles data and sprite table data not synchronized). You can use SPR_setDelayedFrameUpdate(..) method to change this setting.
- SPR_FLAG_AUTO_VISIBILITY = Enable automatic sprite visibility calculation (you can also use SPR_setVisibility(..) method).
- SPR_FLAG_FAST_AUTO_VISIBILITY = Enable fast computation for the automatic visibility calculation (disabled by default)
- If you set this flag the automatic visibility calculation will be done globally for the (meta) sprite and not per internal hardware sprite. This result in faster visibility computation at the expense of some waste of hardware sprite. You can set the automatic visibility computation by using SPR_setVisibility(..) method.
- SPR_FLAG_AUTO_VRAM_ALLOC = Enable automatic VRAM allocation (enabled by default)
- If you don't set this flag you will have to manually define VRAM tile index position for this sprite with the attribut parameter or by using the SPR_setVRAMTileIndex(..) method
- SPR_FLAG_AUTO_TILE_UPLOAD = Enable automatic upload of sprite tiles data into VRAM (enabled by default)
- If you don't set this flag you will have to manually upload tiles data of sprite into the VRAM (you can change this setting using SPR_setAutoTileUpload(..) method).
- SPR_FLAG_INSERT_HEAD = Allow to insert the sprite at the start/head of the list.
- When you use this flag the sprite will be inserted at the head of the list making it top most (equivalent to SPR_setDepth(SPR_MIN_DEPTH))
- while default insertion position is at the end of the list (equivalent to SPR_setDepth(SPR_MAX_DEPTH))
-
- It's recommended to use the following default settings:
- SPR_FLAG_AUTO_VISIBILITY | SPR_FLAG_AUTO_VRAM_ALLOC | SPR_FLAG_AUTO_TILE_UPLOAD
-
-
-
-
Returns:
the new sprite or NULL if the operation failed (some logs can be generated in the KMod console in this case)
-

By default the sprite uses the provided flag setting for automatic resources allocation and sprite visibility computation.
- If auto visibility is not enabled then sprite is considered as not visible by default (see SPR_setVisibility(..) method).
- You can release all sprite resources by using SPR_releaseSprite(..) or SPR_reset(..).
- IMPORTANT NOTE: sprite allocation can fail (return NULL) when you are using auto VRAM allocation (SPR_FLAG_AUTO_VRAM_ALLOC) even if there is enough VRAM available,
- this can happen because of the VRAM fragmentation. You can use SPR_addSpriteExSafe(..) method instead so it take care about VRAM fragmentation.

-
See also:
SPR_addSprite(..)
-
-SPR_addSpriteExSafe(..)
-
-SPR_releaseSprite(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Sprite* SPR_addSpriteExSafe (const SpriteDefinitionspriteDef,
s16 x,
s16 y,
u16 attribut,
u16 flag 
)
-
-
- -

Adds a new sprite with specified parameters and returns it.

-
Parameters:
- - - - - - -
spriteDefthe SpriteDefinition data to assign to this sprite.
xdefault X position.
ydefault Y position.
attributsprite attribut (see TILE_ATTR() macro).
flagspecific settings for this sprite:
- SPR_FLAG_DISABLE_DELAYED_FRAME_UPDATE = Disable delaying of frame update when we are running out of DMA capacity.
- If you set this flag then sprite frame update always happen immediately but may lead to some graphical glitches (tiles data and sprite table data not synchronized). You can use SPR_setDelayedFrameUpdate(..) method to change this setting.
- SPR_FLAG_AUTO_VISIBILITY = Enable automatic sprite visibility calculation (you can also use SPR_setVisibility(..) method).
- SPR_FLAG_FAST_AUTO_VISIBILITY = Enable fast computation for the automatic visibility calculation (disabled by default)
- If you set this flag the automatic visibility calculation will be done globally for the (meta) sprite and not per internal hardware sprite. This result in faster visibility computation at the expense of some waste of hardware sprite (scanline limit). You can set the automatic visibility computation by using SPR_setVisibility(..) method.
- SPR_FLAG_AUTO_VRAM_ALLOC = Enable automatic VRAM allocation (enabled by default)
- If you don't set this flag you will have to manually define VRAM tile index position for this sprite with the attribut parameter or by using the SPR_setVRAMTileIndex(..) method
- SPR_FLAG_AUTO_TILE_UPLOAD = Enable automatic upload of sprite tiles data into VRAM (enabled by default)
- If you don't set this flag you will have to manually upload tiles data of sprite into the VRAM (you can change this setting using SPR_setAutoTileUpload(..) method).
- SPR_FLAG_INSERT_HEAD = Allow to insert the sprite at the start/head of the list.
- When you use this flag the sprite will be inserted at the head of the list making it top most (equivalent to SPR_setDepth(SPR_MIN_DEPTH))
- while default insertion position is at the end of the list (equivalent to SPR_setDepth(SPR_MAX_DEPTH))
-
- It's recommended to use the following default settings:
- SPR_FLAG_AUTO_VISIBILITY | SPR_FLAG_AUTO_VRAM_ALLOC | SPR_FLAG_AUTO_TILE_UPLOAD
-
-
-
-
Returns:
the new sprite or NULL if the operation failed (some logs can be generated in the KMod console in this case)
-

By default the sprite uses the provided flag setting for automatic resources allocation and sprite visibility computation.
- If auto visibility is not enabled then sprite is considered as not visible by default (see SPR_setVisibility(..) method).
- You can release all sprite resources by using SPR_releaseSprite(..) or SPR_reset(..).

-
See also:
SPR_addSpriteSafe(..)
-
-SPR_addSpriteEx(..)
-
-SPR_releaseSprite(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Sprite* SPR_addSpriteSafe (const SpriteDefinitionspriteDef,
s16 x,
s16 y,
u16 attribut 
)
-
-
- -

Adds a new sprite with auto resource allocation enabled and returns it.

-
Parameters:
- - - - - -
spriteDefthe SpriteDefinition data to assign to this sprite.
xdefault X position.
ydefault Y position.
attributsprite attribut (see TILE_ATTR() macro).
-
-
-
Returns:
the new sprite or NULL if the operation failed (some logs can be generated in the KMod console in this case)
-

By default the sprite uses automatic resources allocation (VRAM and hardware sprite) and visibility is set to ON.
- You can change these defaults settings later by calling SPR_setVRAMTileIndex(..), SPR_setAutoTileUpload(..) and SPR_setVisibility(..) methods.
- You can release all sprite resources by using SPR_releaseSprite(..) or SPR_reset(..).<

-
See also:
SPR_addSpriteSafeEx(..)
-
-SPR_addSprite(..)
-
-SPR_releaseSprite(..)
- -
-
- -
-
- - - - - - - - -
void SPR_clear (void )
-
-
- -

Clear all displayed sprites.

-

This method allow to quickly hide all sprites (without releasing their resources).
- Sprites can be displayed again just by calling SPR_update().

- -
-
- -
-
- - - - - - - -
void SPR_disableVDPSpriteChecking ()
-
-
- -

Indicate that we allow the sprite engine to add a new sprite even if we may run out of hardware sprite to display all of them, that can lead to some sprite disappearence in some situation but ultimately it allows to handle more active sprites at once (default behavior).

-
See also:
SPR_enableVDPSpriteChecking(..)
-
-SPR_getNumVDPSprite(..)
- -
-
- -
-
- - - - - - - -
void SPR_enableVDPSpriteChecking ()
-
-
- -

Indicate that we want to prevent adding a new sprite if there is possibly not enough hardware sprite to display it (counting the maximum hardware sprite usage from all active sprites) and so this ensures to always display all of them.
- By default the sprite engine allow to add a new sprite even if we may run out of hardware sprite to display all of them, that can lead to some sprite disappearence in some situations but ultimately it allows to handle more active sprites at once.

-
See also:
SPR_disableVDPSpriteChecking(..)
-
-SPR_getNumVDPSprite(..)
- -
-
- -
-
- - - - - - - - -
void SPR_end (void )
-
-
- -

End the Sprite engine.

-

End the sprite engine and release attached resources.
- This releases the allocated VRAM region and hardware sprites.

- -
-
- -
-
- - - - - - - - -
bool SPR_getAnimationDone (Spritesprite)
-
-
- -

Return TRUE if animation ended / looped.
- This can be used with the frame change callback (see SPR_setFrameChangeCallback(..)) to detect the end of sprite animation and do appropriate action if required.

-
See also:
SPR_FLAG_DISABLE_ANIMATION_LOOP
-
-SPR_setAnimationLoop(Sprite*, bool)
- -
-
- -
-
- - - - - - - - -
SpriteVisibility SPR_getVisibility (Spritesprite)
-
-
- -

Return the visibility state for this sprite.
- WARNING: this is different from SPR_isVisible(..) method, possible value are:
- SpriteVisibility.VISIBLE = sprite is visible
- SpriteVisibility.HIDDEN = sprite is not visible
- SpriteVisibility.AUTO_FAST = visibility is automatically computed - global visibility (only using sprite X position)
- SpriteVisibility.AUTO_SLOW = visibility is automatically computed - per hardware sprite visibility (only using sprite X position)
-

-
Parameters:
- - -
spriteSprite to return visibility state
-
-
-
Returns:
the visibility state for this sprite.
-
See also:
SPR_isVisible(...)
-
-SPR_setVisibility(...)
- -
-
- -
-
- - - - - - - - -
void SPR_init (void )
-
-
- -

Initialize the Sprite engine with default parameters.

-

Initialize the sprite engine using default parameters (420 reserved tiles in VRAM).
- This also initialize the hardware sprite allocation system.

-
See also:
SPR_initEx(void)
-
-SPR_end(void)
- -
-
- -
-
- - - - - - - - -
void SPR_initEx (u16 vramSize)
-
-
- -

Init the Sprite engine with specified advanced parameters (VRAM allocation size and decompression buffer size).

-
Parameters:
- - -
vramSizesize (in tile) of the VRAM region for the automatic VRAM tile allocation.
- If set to 0 the default size is used (420 tiles)
-
-
-

Initialize the sprite engine.
- This allocates a VRAM region for sprite tiles and initialize hardware sprite allocation system.

-
See also:
SPR_init(void)
-
-SPR_end(void)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool SPR_isVisible (Spritesprite,
bool recompute 
)
-
-
- -

Return the visible state for this sprite (meaningful only if AUTO visibility is enabled, see SPR_setVisibility(..) method).
-

-
Parameters:
- - - -
spriteSprite to return visible state
recomputeForce visibility computation.
- Only required if SPR_update() wasn't called since last sprite position change (note that can force the frame update processing).
-
-
-

Note that only the sprite X position is used to determine if it's visible (see SPR_setVisibility(..) method for more information)

-
Returns:
the visible state for this sprite.
-
See also:
SPR_setVisibility(...)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
u16** SPR_loadAllFrames (const SpriteDefinitionsprDef,
u16 index,
u16totalNumTile 
)
-
-
- -

Load all frames of SpriteDefinition (using DMA) at specified VRAM tile index and return the indexes table.
- WARNING: This function should be call at init/loading time as it can be quite long (several frames)

-
Parameters:
- - - - -
sprDefthe SpriteDefinition we want to load frame data in VRAM.
indexthe tile position in VRAM where we will upload all sprite frame tiles data.
totalNumTileif not NULL then the function will store here the total number of tile used to load all animation frames.
-
-
-

Load all frames of spriteDef (using DMA) at specified VRAM tile index and return the indexes table.
- The returned index table is a dynamically allocated 2D table[anim][frame] so you need to release it using MEM_free(..) when you don't need the table anymore.
- You can use the frame change callback (see SPR_setFrameChangeCallback(..)) to automatically update the VRAM index using the indexes table:
- frameIndexes = SPR_loadAllFrames(sprite->definition, ind);
- SPR_setFrameChangeCallback(sprite, &frameChanged);
- ....
- void frameChanged(Sprite* sprite)
- {
- u16 tileIndex = frameIndexes[sprite->animInd][sprite->frameInd];
- SPR_setVRAMTileIndex(sprite, tileIndex);
- }

-
Returns:
the 2D indexes table or NULL if there is not enough memory to allocate the table.
-
See also:
SPR_setFrameChangeCallback(...);
- -
-
- -
-
- - - - - - - - -
void SPR_nextFrame (Spritesprite)
-
-
- -

Pass to the next sprite frame.

-
Parameters:
- - -
spriteSprite to pass to next frame for
-
-
- -
-
- -
-
- - - - - - - - -
void SPR_releaseSprite (Spritesprite)
-
-
- -

Release the specified sprite (no more visible and release its resources).

-
Parameters:
- - -
spriteSprite to release
-
-
-

This method release resources for the specified Sprite object and remove it from the screen at next SPR_update() call.

-
See also:
SPR_releasesSprite(..)
- -
-
- -
-
- - - - - - - - -
void SPR_reset (void )
-
-
- -

Reset the Sprite engine.
-

-

This method releases all allocated sprites and their resources.

- -
-
- -
-
- - - - - - - - -
void SPR_setAlwaysAtBottom (Spritesprite)
-
-
- -

Set sprite depth so it remains behind others sprite - same as SPR_setDepth(SPR_MAX_DEPTH)

-
Parameters:
- - -
spriteSprite to change depth for
-
-
-
See also:
SPR_setDepth(Sprite*)
- -
-
- -
-
- - - - - - - - -
void SPR_setAlwaysOnTop (Spritesprite)
-
-
- -

Set sprite depth so it remains above others sprite - same as SPR_setDepth(SPR_MIN_DEPTH)

-
Parameters:
- - -
spriteSprite to change depth for
-
-
-
See also:
SPR_setDepth(Sprite*)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SPR_setAnim (Spritesprite,
s16 anim 
)
-
-
- -

Set current sprite animation.

-
Parameters:
- - - -
spriteSprite to set animation for
animanimation index to set.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void SPR_setAnimAndFrame (Spritesprite,
s16 anim,
s16 frame 
)
-
-
- -

Set current sprite animation and frame.

-
Parameters:
- - - - -
spriteSprite to set animation and frame for
animanimation index to set
frameframe index to set
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SPR_setAnimationLoop (Spritesprite,
bool value 
)
-
-
- -

Enable/disable animation loop (default is on).
- When disable the sprite will stay on the last animation frame forever when animation ended instead of restarting it.

-
Parameters:
- - - -
spriteSprite we want to enable/disable animation loop for.
valueTRUE to enable animation loop (default), FALSE otherwise
-
-
-
See also:
SPR_FLAG_DISABLE_ANIMATION_LOOP
-
-SPR_getAnimationDone(Sprite*)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SPR_setAutoTileUpload (Spritesprite,
bool value 
)
-
-
- -

Enable/disable the automatic upload of sprite tiles data into VRAM.

-
Parameters:
- - - -
spriteSprite we want to enable/disable auto tile upload for
valueTRUE to enable the automatic upload of sprite tiles data into VRAM.
- FALSE to disable it (mean you have to handle that on your own).
-
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool SPR_setDefinition (Spritesprite,
const SpriteDefinitionspriteDef 
)
-
-
- -

Set the Sprite Definition.

-
Parameters:
- - - -
spriteSprite to set definition for.
spriteDefthe SpriteDefinition data to assign to this sprite.
-
-
-

Set the Sprite Definition for this sprite.
- By default the first frame of the first animation from Sprite Definition is loaded.

-
Returns:
FALSE if auto resource allocation failed, TRUE otherwise.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SPR_setDelayedFrameUpdate (Spritesprite,
bool value 
)
-
-
- -

Enable/disable the delayed frame update.

-
Parameters:
- - - -
spriteSprite we want to enable/disable delayed frame update
valueTRUE to enable the delayed frame update when DMA is running out of transfert capacity (default).
- FALSE to disable it. In which case sprite frame is always updated immediately but that may cause graphical glitches (update during active display).
-
-
-
-
See also:
SPR_FLAG_DISABLE_DELAYED_FRAME_UPDATE
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SPR_setDepth (Spritesprite,
s16 value 
)
-
-
- -

Set sprite depth (for sprite display ordering)

-
Parameters:
- - - -
spriteSprite to set depth for
valueThe depth value (SPR_MIN_DEPTH to set always on top)
-
-
-

Sprite having lower depth are display in front of sprite with higher depth.
- The sprite is *immediately* sorted when its depth value is changed.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SPR_setFrame (Spritesprite,
s16 frame 
)
-
-
- -

Set current sprite frame.

-
Parameters:
- - - -
spriteSprite to set frame for
frameframe index to set.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SPR_setFrameChangeCallback (Spritesprite,
FrameChangeCallbackcallback 
)
-
-
- -

Set the frame change event callback for this sprite.

-
Parameters:
- - - -
spriteSprite we want to set the frame change callback
callbackthe callback (function pointer) to call when we just changed the animation frame for this sprite.
-
-
-

The callback (if not NULL) will be called on frame change process during SPR_update() call (CAUTION: sprite->status field is not up to date at this point).
- It let opportunity to the developer to apply special behavior or process when sprite frame just changed:
- for instance we can disable animation looping by setting sprite->timer to 0 when we meet the last animation frame.

-
See also:
FrameChangeCallback
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SPR_setHFlip (Spritesprite,
bool value 
)
-
-
- -

Set sprite Horizontal Flip attribut.

-
Parameters:
- - - -
spriteSprite to set attribut for
valueThe horizontal flip attribut value (TRUE or FALSE)
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SPR_setPalette (Spritesprite,
u16 value 
)
-
-
- -

Set sprite Palette index to use.

-
Parameters:
- - - -
spriteSprite to set attribut for
valueThe palette index to use for this sprite (PAL0, PAL1, PAL2 or PAL3)
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void SPR_setPosition (Spritesprite,
s16 x,
s16 y 
)
-
-
- -

Set sprite position.

-
Parameters:
- - - - -
spriteSprite to set position for
xX position
yY position
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SPR_setPriority (Spritesprite,
bool value 
)
-
-
- -

Set sprite Priority attribut.

-
Parameters:
- - - -
spriteSprite to set attribut for
valueThe priority attribut value (TRUE or FALSE)
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SPR_setVFlip (Spritesprite,
bool value 
)
-
-
- -

Set sprite Vertical Flip attribut.

-
Parameters:
- - - -
spriteSprite to set attribut for
valueThe vertical flip attribut value (TRUE or FALSE)
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SPR_setVisibility (Spritesprite,
SpriteVisibility value 
)
-
-
- -

Set the visibility state for this sprite.

-
Parameters:
- - - -
spriteSprite to set the visibility information
valueVisibility value to set.
- SpriteVisibility.VISIBLE = sprite is visible
- SpriteVisibility.HIDDEN = sprite is not visible
- SpriteVisibility.AUTO_FAST = visibility is automatically computed - global visibility (only using sprite X position)
- SpriteVisibility.AUTO_SLOW = visibility is automatically computed - per hardware sprite visibility (only using sprite X position)
-
-
-
-

The only interest in having a sprite hidden / not visible is to avoid having it consuming scanline sprite budget:
- The VDP is limited to a maximum of 20 sprites or 320 pixels of sprite per scanline (16 sprites/256 px in H32 mode).
- If we reach this limit, following sprites won't be renderer so it's important to try to optimize the number of sprites on a single scanline.
- When a sprite is set to not visible (automatically or manually), its position is set offscreen *vertically* so it won't eat anymore the scanline sprite rendering budget, only X position test is required for that so a sprite is determined not visible only using its X coordinate.

-
See also:
SPR_computeVisibility(...)
-
-SPR_getVisibility(...)
-
-SPR_isVisible(...)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
bool SPR_setVRAMTileIndex (Spritesprite,
s16 value 
)
-
-
- -

Set the VRAM tile position reserved for this sprite.

-
Parameters:
- - - -
spriteSprite to set the VRAM tile position for
valuethe tile position in VRAM where we will upload the sprite tiles data.
- Use -1 for auto allocation.
-
-
-
-
Returns:
FALSE if auto allocation failed (can happen only if sprite is currently active), TRUE otherwise
-

By default the Sprite Engine auto allocate VRAM for sprites tiles but you can force manual allocation and fix the sprite tiles position in VRAM with this method.

- -
-
- -
-
- - - - - - - - -
void SPR_update (void )
-
-
- -

Update and display the active list of sprite.

-

This actually updates all internal active sprites states and prepare the sprite list cache to send it to the hardware (VDP) at Vint.

-
See also:
SPR_addSprite(..)
- -
-
-

Variable Documentation

- -
-
- - - - -
Sprite* firstSprite
-
-
-

First allocated sprite (NULL if no sprite allocated)

- -
-
- -
-
- - - - -
Sprite* lastSprite
-
-
-

Last allocated sprite (NULL if no sprite allocated)

- -
-
- -
-
- - - - -
Pool* spritesPool
-
-
-

Sprites object pool for the sprite engine

- -
-
- -
-
- - - - -
u16 spriteVramSize
-
-
-

Allocated VRAM (in tile) for Sprite Engine

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/sprite__eng_8h_source.html b/doc/html/sprite__eng_8h_source.html deleted file mode 100644 index 5bb8340b4..000000000 --- a/doc/html/sprite__eng_8h_source.html +++ /dev/null @@ -1,324 +0,0 @@ - - - - -sgdk: sprite_eng.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
sprite_eng.h
-
-
-Go to the documentation of this file.
00001 
-00012 #if     !LEGACY_SPRITE_ENGINE
-00013 
-00014 #ifndef _SPRITE_ENG_H_
-00015 #define _SPRITE_ENG_H_
-00016 
-00017 #include "vdp_tile.h"
-00018 #include "vdp_spr.h"
-00019 #include "pal.h"
-00020 #include "pool.h"
-00021 
-00022 
-00027 #define COLLISION_TYPE_NONE     0
-00028 
-00032 #define COLLISION_TYPE_BOX      1
-00033 
-00037 #define COLLISION_TYPE_CIRCLE   2
-00038 
-00044 #define SPR_FLAG_INSERT_HEAD                    0x4000
-00045 
-00051 #define SPR_FLAG_DISABLE_ANIMATION_LOOP         0x2000
-00052 
-00058 #define SPR_FLAG_DISABLE_DELAYED_FRAME_UPDATE   0x1000
-00059 
-00063 #define SPR_FLAG_AUTO_VRAM_ALLOC                0x0800
-00064 
-00068 #define SPR_FLAG_AUTO_TILE_UPLOAD               0x0400
-00069 
-00073 #define SPR_FLAG_AUTO_VISIBILITY                0x0200
-00074 
-00080 #define SPR_FLAG_FAST_AUTO_VISIBILITY           0x0100
-00081 
-00086 #define SPR_FLAG_MASK                           (SPR_FLAG_INSERT_HEAD | SPR_FLAG_DISABLE_DELAYED_FRAME_UPDATE | SPR_FLAG_AUTO_VRAM_ALLOC | SPR_FLAG_AUTO_TILE_UPLOAD | SPR_FLAG_AUTO_VISIBILITY | SPR_FLAG_FAST_AUTO_VISIBILITY)
-00087 
-00092 #define SPR_MIN_DEPTH       (-0x8000)
-00093 
-00097 #define SPR_MAX_DEPTH       0x7FFF
-00098 
-00103 typedef enum
-00104 {
-00105     VISIBLE,        
-00106     HIDDEN,         
-00107     AUTO_FAST,      
-00108     AUTO_SLOW,      
-00109 } SpriteVisibility;
-00110 
-00124 typedef struct
-00125 {
-00126     s8 x;
-00127     s8 y;
-00128     u8 w;
-00129     u8 h;
-00130 } BoxCollision;
-00131 
-00143 typedef struct
-00144 {
-00145     s8 x;
-00146     s8 y;
-00147     u16 ray;
-00148 } CircleCollision;
-00149 
-00170 typedef struct _collision
-00171 {
-00172     u8 typeHit;
-00173     u8 typeAttack;
-00174     union
-00175     {
-00176         BoxCollision box;
-00177         CircleCollision circle;
-00178     } hit;
-00179     union
-00180     {
-00181         BoxCollision box;
-00182         CircleCollision circle;
-00183     } attack;
-00184 } Collision;
-00185 
-00203 typedef struct
-00204 {
-00205     u8 offsetY;          // respect VDP sprite field order, may help
-00206     u8 offsetYFlip;
-00207     u8 size;
-00208     u8 offsetX;
-00209     u8 offsetXFlip;
-00210     u8 numTile;
-00211 }  FrameVDPSprite;
-00212 
-00228 typedef struct
-00229 {
-00230     u8 numSprite;
-00231     u8 timer;
-00232     TileSet* tileset;                   // TODO: have a tileset per VDP sprite --> probably not a good idea performance wise
-00233     Collision* collision;               // Require many DMA queue operations and fast DMA flush as well, also bring extra computing in calculating delayed update
-00234     FrameVDPSprite frameVDPSprites[];
-00235 } AnimationFrame;
-00236 
-00248 typedef struct
-00249 {
-00250     u8 numFrame;
-00251     u8 loop;
-00252     AnimationFrame** frames;
-00253 } Animation;
-00254 
-00276 typedef struct
-00277 {
-00278     u16 w;
-00279     u16 h;
-00280     Palette* palette;
-00281     u16 numAnimation;
-00282     Animation** animations;
-00283     u16 maxNumTile;
-00284     u16 maxNumSprite;
-00285 } SpriteDefinition;
-00286 
-00327 typedef struct Sprite
-00328 {
-00329     u16 status;
-00330     u16 visibility;
-00331     const SpriteDefinition* definition;
-00332     void (*onFrameChange)(struct Sprite* sprite);
-00333     Animation* animation;
-00334     AnimationFrame* frame;
-00335     s16 animInd;
-00336     s16 frameInd;
-00337     u16 timer;
-00338     s16 x;
-00339     s16 y;
-00340     s16 depth;
-00341     u16 attribut;
-00342     u32 data;
-00343     struct Sprite* prev;
-00344     struct Sprite* next;
-00345 } Sprite;
-00346 
-00358 typedef void FrameChangeCallback(Sprite* sprite);
-00359 
-00363 extern Pool* spritesPool;
-00367 extern Sprite* firstSprite;
-00371 extern Sprite* lastSprite;
-00375 extern u16 spriteVramSize;
-00376 
-00377 
-00388 void SPR_init(void);
-00403 void SPR_initEx(u16 vramSize);
-00411 void SPR_end(void);
-00416 bool SPR_isInitialized(void);
-00417 
-00424 void SPR_reset(void);
-00425 
-00470 Sprite* SPR_addSpriteEx(const SpriteDefinition* spriteDef, s16 x, s16 y, u16 attribut, u16 flag);
-00495 Sprite* SPR_addSprite(const SpriteDefinition* spriteDef, s16 x, s16 y, u16 attribut);
-00538 Sprite* SPR_addSpriteExSafe(const SpriteDefinition* spriteDef, s16 x, s16 y, u16 attribut, u16 flag);
-00561 Sprite* SPR_addSpriteSafe(const SpriteDefinition* spriteDef, s16 x, s16 y, u16 attribut);
-00562 
-00574 void SPR_releaseSprite(Sprite* sprite);
-00579 u16 SPR_getNumActiveSprite(void);
-00584 u16 SPR_getUsedVDPSprite(void);
-00589 u16 SPR_getFreeVRAM(void);
-00594 u16 SPR_getLargestFreeVRAMBlock(void);
-00595 
-00606 void SPR_enableVDPSpriteChecking();
-00615 void SPR_disableVDPSpriteChecking();
-00620 void SPR_defragVRAM(void);
-00649 u16** SPR_loadAllFrames(const SpriteDefinition* sprDef, u16 index, u16* totalNumTile);
-00650 
-00665 bool SPR_setDefinition(Sprite* sprite, const SpriteDefinition* spriteDef);
-00670 s16 SPR_getPositionX(Sprite* sprite);
-00675 s16 SPR_getPositionY(Sprite* sprite);
-00687 void SPR_setPosition(Sprite* sprite, s16 x, s16 y);
-00697 void SPR_setHFlip(Sprite* sprite, bool value);
-00707 void SPR_setVFlip(Sprite* sprite, bool value);
-00717 void SPR_setPalette(Sprite* sprite, u16 value);
-00727 void SPR_setPriority(Sprite* sprite, bool value);
-00732 #define SPR_setPriorityAttribut(sprite, value)      _Pragma("GCC error \"This method is deprecated, use SPR_setPriority(..) instead.\"")
-00733 
-00745 void SPR_setDepth(Sprite* sprite, s16 value);
-00750 void SPR_setZ(Sprite* sprite, s16 value);
-00760 void SPR_setAlwaysOnTop(Sprite* sprite);
-00770 void SPR_setAlwaysAtBottom(Sprite* sprite);
-00771 
-00783 void SPR_setAnimAndFrame(Sprite* sprite, s16 anim, s16 frame);
-00793 void SPR_setAnim(Sprite* sprite, s16 anim);
-00803 void SPR_setFrame(Sprite* sprite, s16 frame);
-00811 void SPR_nextFrame(Sprite* sprite);
-00812 
-00826 void SPR_setAnimationLoop(Sprite* sprite, bool value);
-00836 bool SPR_getAnimationDone(Sprite* sprite);
-00837 
-00852 bool SPR_setVRAMTileIndex(Sprite* sprite, s16 value);
-00863 void SPR_setAutoTileUpload(Sprite* sprite, bool value);
-00876 void SPR_setDelayedFrameUpdate(Sprite* sprite, bool value);
-00892 void SPR_setFrameChangeCallback(Sprite* sprite, FrameChangeCallback* callback);
-00893 
-00912 SpriteVisibility SPR_getVisibility(Sprite* sprite);
-00930 bool SPR_isVisible(Sprite* sprite, bool recompute);
-00931 
-00955 void SPR_setVisibility(Sprite* sprite, SpriteVisibility value);
-00959 #define SPR_setAlwaysVisible(sprite, value)     _Pragma("GCC error \"This method is deprecated, use SPR_setVisibility(..) instead.\"")
-00960 
-00963 #define SPR_setNeverVisible(sprite, value)      _Pragma("GCC error \"This method is deprecated, use SPR_setVisibility(..) instead.\"")
-00964 
-00967 #define SPR_computeVisibility(sprite)           _Pragma("GCC error \"This method is deprecated, use SPR_isVisible(sprite, TRUE) instead.\"")
-00968 
-00976 void SPR_clear(void);
-00986 void SPR_update(void);
-00987 
-00992 void SPR_logProfil(void);
-00997 void SPR_logSprites(void);
-00998 
-00999 
-01000 #endif // _SPRITE_ENG_H_
-01001 
-01002 #endif
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/sprite__eng__legacy_8h.html b/doc/html/sprite__eng__legacy_8h.html deleted file mode 100644 index a0743864e..000000000 --- a/doc/html/sprite__eng__legacy_8h.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - -sgdk: sprite_eng_legacy.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
sprite_eng_legacy.h File Reference
-
-
- -

Sprite engine legacy - september 2022 version. -More...

- -

Go to the source code of this file.

- -
-

Detailed Description

-

Sprite engine legacy - september 2022 version.

-
Author:
Stephane Dallongeville
-
Date:
10/2013
-

Sprite engine providing advanced sprites manipulation and operations.
- This unit use both the vram memory manager (see vram.h file for more info)
- and the Sega Genesis VDP sprite capabilities (see vdp_spr.h file for more info).

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/sprite__eng__legacy_8h_source.html b/doc/html/sprite__eng__legacy_8h_source.html deleted file mode 100644 index 4a547fe57..000000000 --- a/doc/html/sprite__eng__legacy_8h_source.html +++ /dev/null @@ -1,318 +0,0 @@ - - - - -sgdk: sprite_eng_legacy.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
sprite_eng_legacy.h
-
-
-Go to the documentation of this file.
00001 
-00012 #if     LEGACY_SPRITE_ENGINE
-00013 
-00014 #ifndef _SPRITE_ENG_LEGACY_H_
-00015 #define _SPRITE_ENG_LEGACY_H_
-00016 
-00017 #include "vdp_tile.h"
-00018 #include "vdp_spr.h"
-00019 #include "pal.h"
-00020 #include "pool.h"
-00021 
-00022 
-00027 #define COLLISION_TYPE_NONE     0
-00028 
-00032 #define COLLISION_TYPE_BOX      1
-00033 
-00037 #define COLLISION_TYPE_CIRCLE   2
-00038 
-00044 #define SPR_FLAG_INSERT_HEAD                    0x4000
-00045 
-00051 #define SPR_FLAG_DISABLE_DELAYED_FRAME_UPDATE   0x2000
-00052 
-00056 #define SPR_FLAG_AUTO_VRAM_ALLOC                0x1000
-00057 
-00061 #define SPR_FLAG_AUTO_SPRITE_ALLOC              0x0800
-00062 
-00066 #define SPR_FLAG_AUTO_TILE_UPLOAD               0x0400
-00067 
-00071 #define SPR_FLAG_AUTO_VISIBILITY                0x0200
-00072 
-00078 #define SPR_FLAG_FAST_AUTO_VISIBILITY           0x0100
-00079 
-00084 #define SPR_FLAG_MASK                           (SPR_FLAG_INSERT_HEAD | SPR_FLAG_DISABLE_DELAYED_FRAME_UPDATE | SPR_FLAG_AUTO_VRAM_ALLOC | SPR_FLAG_AUTO_SPRITE_ALLOC | SPR_FLAG_AUTO_TILE_UPLOAD | SPR_FLAG_AUTO_VISIBILITY | SPR_FLAG_FAST_AUTO_VISIBILITY)
-00085 
-00090 #define SPR_MIN_DEPTH       (-0x8000)
-00091 
-00095 #define SPR_MAX_DEPTH       0x7FFF
-00096 
-00101 typedef enum
-00102 {
-00103     VISIBLE,        
-00104     HIDDEN,         
-00105     AUTO_FAST,      
-00106     AUTO_SLOW,      
-00107 } SpriteVisibility;
-00108 
-00122 typedef struct
-00123 {
-00124     s8 x;
-00125     s8 y;
-00126     u8 w;
-00127     u8 h;
-00128 } BoxCollision;
-00129 
-00141 typedef struct
-00142 {
-00143     s8 x;
-00144     s8 y;
-00145     u16 ray;
-00146 } CircleCollision;
-00147 
-00168 typedef struct _collision
-00169 {
-00170     u8 typeHit;
-00171     u8 typeAttack;
-00172     union
-00173     {
-00174         BoxCollision box;
-00175         CircleCollision circle;
-00176     } hit;
-00177     union
-00178     {
-00179         BoxCollision box;
-00180         CircleCollision circle;
-00181     } attack;
-00182 } Collision;
-00183 
-00201 typedef struct
-00202 {
-00203     u8 offsetY;          // respect VDP sprite field order, may help
-00204     u8 offsetYFlip;
-00205     u8 size;
-00206     u8 offsetX;
-00207     u8 offsetXFlip;
-00208     u8 numTile;
-00209 }  FrameVDPSprite;
-00210 
-00226 typedef struct
-00227 {
-00228     u8 numSprite;
-00229     u8 timer;
-00230     TileSet* tileset;                   // TODO: have a tileset per VDP sprite --> probably not a good idea performance wise
-00231     Collision* collision;               // Require many DMA queue operations and fast DMA flush as well, also bring extra computing in calculating delayed update
-00232     FrameVDPSprite frameVDPSprites[];
-00233 } AnimationFrame;
-00234 
-00246 typedef struct
-00247 {
-00248     u8 numFrame;
-00249     u8 loop;
-00250     AnimationFrame** frames;
-00251 } Animation;
-00252 
-00274 typedef struct
-00275 {
-00276     u16 w;
-00277     u16 h;
-00278     Palette* palette;
-00279     u16 numAnimation;
-00280     Animation** animations;
-00281     u16 maxNumTile;
-00282     u16 maxNumSprite;
-00283 } SpriteDefinition;
-00284 
-00334 typedef struct Sprite
-00335 {
-00336     u16 status;
-00337     u16 visibility;
-00338     const SpriteDefinition* definition;
-00339     void (*onFrameChange)(struct Sprite* sprite);
-00340     Animation* animation;
-00341     AnimationFrame* frame;
-00342     s16 animInd;
-00343     s16 frameInd;
-00344     u16 timer;
-00345     s16 x;
-00346     s16 y;
-00347     s16 depth;
-00348     u16 attribut;
-00349     u16 VDPSpriteIndex;
-00350     VDPSprite* lastVDPSprite;
-00351     u16 lastNumSprite;
-00352     s16 spriteToHide;
-00353     u32 data;
-00354     struct Sprite* prev;
-00355     struct Sprite* next;
-00356 } Sprite;
-00357 
-00369 typedef void FrameChangeCallback(Sprite* sprite);
-00370 
-00374 extern Pool* spritesPool;
-00378 extern Sprite* firstSprite;
-00382 extern Sprite* lastSprite;
-00386 extern u16 spriteVramSize;
-00387 
-00388 
-00399 void SPR_init(void);
-00414 void SPR_initEx(u16 vramSize);
-00422 void SPR_end(void);
-00427 bool SPR_isInitialized(void);
-00428 
-00435 void SPR_reset(void);
-00436 
-00486 Sprite* SPR_addSpriteEx(const SpriteDefinition* spriteDef, s16 x, s16 y, u16 attribut, u16 spriteIndex, u16 flag);
-00511 Sprite* SPR_addSprite(const SpriteDefinition* spriteDef, s16 x, s16 y, u16 attribut);
-00559 Sprite* SPR_addSpriteExSafe(const SpriteDefinition* spriteDef, s16 x, s16 y, u16 attribut, u16 spriteIndex, u16 flag);
-00582 Sprite* SPR_addSpriteSafe(const SpriteDefinition* spriteDef, s16 x, s16 y, u16 attribut);
-00583 
-00595 void SPR_releaseSprite(Sprite* sprite);
-00600 u16 SPR_getNumActiveSprite(void);
-00605 void SPR_defragVRAM(void);
-00634 u16** SPR_loadAllFrames(const SpriteDefinition* sprDef, u16 index, u16* totalNumTile);
-00635 
-00650 bool SPR_setDefinition(Sprite* sprite, const SpriteDefinition* spriteDef);
-00655 s16 SPR_getPositionX(Sprite* sprite);
-00660 s16 SPR_getPositionY(Sprite* sprite);
-00672 void SPR_setPosition(Sprite* sprite, s16 x, s16 y);
-00682 void SPR_setHFlip(Sprite* sprite, bool value);
-00692 void SPR_setVFlip(Sprite* sprite, bool value);
-00702 void SPR_setPalette(Sprite* sprite, u16 value);
-00712 void SPR_setPriority(Sprite* sprite, bool value);
-00717 #define SPR_setPriorityAttribut(sprite, value)      _Pragma("GCC error \"This method is deprecated, use SPR_setPriority(..) instead.\"")
-00718 
-00730 void SPR_setDepth(Sprite* sprite, s16 value);
-00735 void SPR_setZ(Sprite* sprite, s16 value);
-00746 void SPR_setAlwaysOnTop(Sprite* sprite);
-00758 void SPR_setAnimAndFrame(Sprite* sprite, s16 anim, s16 frame);
-00768 void SPR_setAnim(Sprite* sprite, s16 anim);
-00778 void SPR_setFrame(Sprite* sprite, s16 frame);
-00786 void SPR_nextFrame(Sprite* sprite);
-00787 
-00802 bool SPR_setVRAMTileIndex(Sprite* sprite, s16 value);
-00820 bool SPR_setSpriteTableIndex(Sprite* sprite, s16 value);
-00831 void SPR_setAutoTileUpload(Sprite* sprite, bool value);
-00844 void SPR_setDelayedFrameUpdate(Sprite* sprite, bool value);
-00860 void SPR_setFrameChangeCallback(Sprite* sprite, FrameChangeCallback* callback);
-00861 
-00880 SpriteVisibility SPR_getVisibility(Sprite* sprite);
-00898 bool SPR_isVisible(Sprite* sprite, bool recompute);
-00899 
-00923 void SPR_setVisibility(Sprite* sprite, SpriteVisibility value);
-00927 #define SPR_setAlwaysVisible(sprite, value)     _Pragma("GCC error \"This method is deprecated, use SPR_setVisibility(..) instead.\"")
-00928 
-00931 #define SPR_setNeverVisible(sprite, value)      _Pragma("GCC error \"This method is deprecated, use SPR_setVisibility(..) instead.\"")
-00932 
-00935 #define SPR_computeVisibility(sprite)           _Pragma("GCC error \"This method is deprecated, use SPR_isVisible(sprite, TRUE) instead.\"")
-00936 
-00944 void SPR_clear(void);
-00954 void SPR_update(void);
-00955 
-00960 void SPR_logProfil(void);
-00965 void SPR_logSprites(void);
-00966 
-00967 
-00968 #endif // _SPRITE_ENG_LEGACY_H_
-00969 
-00970 #endif
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/sram_8h.html b/doc/html/sram_8h.html deleted file mode 100644 index 1913e10b6..000000000 --- a/doc/html/sram_8h.html +++ /dev/null @@ -1,357 +0,0 @@ - - - - -sgdk: sram.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
sram.h File Reference
-
-
- -

SRAM (Static RAM used for save backup) support. -More...

-
#include "mapper.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define SRAM_CONTROL   MAPPER_BASE
-#define SRAM_BASE   0x200001

-Functions

-void SRAM_enable (void)
 Enable SRAM in Read Write mode.
-void SRAM_enableRO (void)
 Enable SRAM in Read Only mode.
-void SRAM_disable (void)
 Disable SRAM.
u8 SRAM_readByte (u32 offset)
 Read a byte from the SRAM.
u16 SRAM_readWord (u32 offset)
 Read a word from the SRAM.
u32 SRAM_readLong (u32 offset)
 Read a long from the SRAM.
void SRAM_writeByte (u32 offset, u8 val)
 Write a byte to the SRAM.
void SRAM_writeWord (u32 offset, u16 val)
 Write a word to the SRAM.
void SRAM_writeLong (u32 offset, u32 val)
 Write a long to the SRAM.
-

Detailed Description

-

SRAM (Static RAM used for save backup) support.

-
Author:
Chilly Willy & Stephane Dallongeville
-
Date:
08/2012
-

This unit provides methods to read from or write to SRAM.
- By default we suppose SRAM is 8bit and connected to odd address.
- You can change to even address by changing SRAM_BASE from 0x200001 to 0x200000 and rebuild the library.
-
- Informations about SRAM (taken from Segaretro.org):
- The regions specified by 0xA130F9-0xA130FF (0x200000-0x3FFFFF) can be either ROM or RAM and can be write-protected.
- Here is the layout of the register as far as I know:
-
- 7 6 5 4 3 2 1 0
- +-----------------------+
- |??|??|??|??|??|??|WP|MD|
- +-----------------------+
-
- MD: Mode -- 0 = ROM, 1 = RAM
- WP: Write protect -- 0 = writable, 1 = not writable

-

Function Documentation

- -
-
- - - - - - - - -
u8 SRAM_readByte (u32 offset)
-
-
- -

Read a byte from the SRAM.

-
Parameters:
- - -
offsetOffset where we want to read.
-
-
-
Returns:
value.
- -
-
- -
-
- - - - - - - - -
u32 SRAM_readLong (u32 offset)
-
-
- -

Read a long from the SRAM.

-
Parameters:
- - -
offsetOffset where we want to read.
-
-
-
Returns:
value.
- -
-
- -
-
- - - - - - - - -
u16 SRAM_readWord (u32 offset)
-
-
- -

Read a word from the SRAM.

-
Parameters:
- - -
offsetOffset where we want to read.
-
-
-
Returns:
value.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SRAM_writeByte (u32 offset,
u8 val 
)
-
-
- -

Write a byte to the SRAM.

-
Parameters:
- - - -
offsetOffset where we want to write.
valValue wto write.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SRAM_writeLong (u32 offset,
u32 val 
)
-
-
- -

Write a long to the SRAM.

-
Parameters:
- - - -
offsetOffset where we want to write.
valValue wto write.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void SRAM_writeWord (u32 offset,
u16 val 
)
-
-
- -

Write a word to the SRAM.

-
Parameters:
- - - -
offsetOffset where we want to write.
valValue wto write.
-
-
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/sram_8h_source.html b/doc/html/sram_8h_source.html deleted file mode 100644 index 331579919..000000000 --- a/doc/html/sram_8h_source.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - -sgdk: sram.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
sram.h
-
-
-Go to the documentation of this file.
00001 
-00024 #ifndef _SRAM_H_
-00025 #define _SRAM_H_
-00026 
-00027 
-00028 #include "mapper.h"
-00029 
-00030 
-00031 #define SRAM_CONTROL    MAPPER_BASE
-00032 #define SRAM_BASE       0x200001
-00033 
-00034 
-00039 void SRAM_enable(void);
-00044 void SRAM_enableRO(void);
-00049 void SRAM_disable(void);
-00050 
-00059 u8 SRAM_readByte(u32 offset);
-00068 u16 SRAM_readWord(u32 offset);
-00077 u32 SRAM_readLong(u32 offset);
-00087 void SRAM_writeByte(u32 offset, u8 val);
-00097 void SRAM_writeWord(u32 offset, u16 val);
-00107 void SRAM_writeLong(u32 offset, u32 val);
-00108 
-00109 
-00110 #endif // _SRAM_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/stb__sprintf_8h_source.html b/doc/html/stb__sprintf_8h_source.html deleted file mode 100644 index 329817f77..000000000 --- a/doc/html/stb__sprintf_8h_source.html +++ /dev/null @@ -1,1975 +0,0 @@ - - - - -sgdk: stb_sprintf.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
stb_sprintf.h
-
-
-
00001 // stb_sprintf - v1.06 - public domain snprintf() implementation
-00002 // originally by Jeff Roberts / RAD Game Tools, 2015/10/20
-00003 // http://github.com/nothings/stb
-00004 //
-00005 // allowed types:  sc uidBboXx p AaGgEef n
-00006 // lengths      :  h ll j z t I64 I32 I
-00007 //
-00008 // Contributors:
-00009 //    Fabian "ryg" Giesen (reformatting)
-00010 //
-00011 // Contributors (bugfixes):
-00012 //    github:d26435
-00013 //    github:trex78
-00014 //    github:account-login
-00015 //    Jari Komppa (SI suffixes)
-00016 //    Rohit Nirmal
-00017 //    Marcin Wojdyr
-00018 //    Leonard Ritter
-00019 //    Stefano Zanotti
-00020 //    Adam Allison
-00021 //
-00022 // LICENSE:
-00023 //
-00024 //   See end of file for license information.
-00025 
-00026 #ifndef STB_SPRINTF_H_INCLUDE
-00027 #define STB_SPRINTF_H_INCLUDE
-00028 
-00029 /*
-00030 Single file sprintf replacement.
-00031 
-00032 Originally written by Jeff Roberts at RAD Game Tools - 2015/10/20.
-00033 Hereby placed in public domain.
-00034 
-00035 This is a full sprintf replacement that supports everything that
-00036 the C runtime sprintfs support, including float/double, 64-bit integers,
-00037 hex floats, field parameters (%*.*d stuff), length reads backs, etc.
-00038 
-00039 Why would you need this if sprintf already exists?  Well, first off,
-00040 it's *much* faster (see below). It's also much smaller than the CRT
-00041 versions code-space-wise. We've also added some simple improvements
-00042 that are super handy (commas in thousands, callbacks at buffer full,
-00043 for example). Finally, the format strings for MSVC and GCC differ
-00044 for 64-bit integers (among other small things), so this lets you use
-00045 the same format strings in cross platform code.
-00046 
-00047 It uses the standard single file trick of being both the header file
-00048 and the source itself. If you just include it normally, you just get
-00049 the header file function definitions. To get the code, you include
-00050 it from a C or C++ file and define STB_SPRINTF_IMPLEMENTATION first.
-00051 
-00052 It only uses va_args macros from the C runtime to do it's work. It
-00053 does cast doubles to S64s and shifts and divides U64s, which does
-00054 drag in CRT code on most platforms.
-00055 
-00056 It compiles to roughly 8K with float support, and 4K without.
-00057 As a comparison, when using MSVC static libs, calling sprintf drags
-00058 in 16K.
-00059 
-00060 API:
-00061 ====
-00062 int stbsp_sprintf( char * buf, char const * fmt, ... )
-00063 int stbsp_snprintf( char * buf, int count, char const * fmt, ... )
-00064   Convert an arg list into a buffer.  stbsp_snprintf always returns
-00065   a zero-terminated string (unlike regular snprintf).
-00066 
-00067 int stbsp_vsprintf( char * buf, char const * fmt, va_list va )
-00068 int stbsp_vsnprintf( char * buf, int count, char const * fmt, va_list va )
-00069   Convert a va_list arg list into a buffer.  stbsp_vsnprintf always returns
-00070   a zero-terminated string (unlike regular snprintf).
-00071 
-00072 int stbsp_vsprintfcb( STBSP_SPRINTFCB * callback, void * user, char * buf, char const * fmt, va_list va )
-00073     typedef char * STBSP_SPRINTFCB( char const * buf, void * user, int len );
-00074   Convert into a buffer, calling back every STB_SPRINTF_MIN chars.
-00075   Your callback can then copy the chars out, print them or whatever.
-00076   This function is actually the workhorse for everything else.
-00077   The buffer you pass in must hold at least STB_SPRINTF_MIN characters.
-00078     // you return the next buffer to use or 0 to stop converting
-00079 
-00080 void stbsp_set_separators( char comma, char period )
-00081   Set the comma and period characters to use.
-00082 
-00083 FLOATS/DOUBLES:
-00084 ===============
-00085 This code uses a internal float->ascii conversion method that uses
-00086 doubles with error correction (double-doubles, for ~105 bits of
-00087 precision).  This conversion is round-trip perfect - that is, an atof
-00088 of the values output here will give you the bit-exact double back.
-00089 
-00090 One difference is that our insignificant digits will be different than
-00091 with MSVC or GCC (but they don't match each other either).  We also
-00092 don't attempt to find the minimum length matching float (pre-MSVC15
-00093 doesn't either).
-00094 
-00095 If you don't need float or doubles at all, define STB_SPRINTF_NOFLOAT
-00096 and you'll save 4K of code space.
-00097 
-00098 64-BIT INTS:
-00099 ============
-00100 This library also supports 64-bit integers and you can use MSVC style or
-00101 GCC style indicators (%I64d or %lld).  It supports the C99 specifiers
-00102 for size_t and ptr_diff_t (%jd %zd) as well.
-00103 
-00104 EXTRAS:
-00105 =======
-00106 Like some GCCs, for integers and floats, you can use a ' (single quote)
-00107 specifier and commas will be inserted on the thousands: "%'d" on 12345
-00108 would print 12,345.
-00109 
-00110 For integers and floats, you can use a "$" specifier and the number
-00111 will be converted to float and then divided to get kilo, mega, giga or
-00112 tera and then printed, so "%$d" 1000 is "1.0 k", "%$.2d" 2536000 is
-00113 "2.53 M", etc. For byte values, use two $:s, like "%$$d" to turn
-00114 2536000 to "2.42 Mi". If you prefer JEDEC suffixes to SI ones, use three
-00115 $:s: "%$$$d" -> "2.42 M". To remove the space between the number and the
-00116 suffix, add "_" specifier: "%_$d" -> "2.53M".
-00117 
-00118 In addition to octal and hexadecimal conversions, you can print
-00119 integers in binary: "%b" for 256 would print 100.
-00120 
-00121 PERFORMANCE vs MSVC 2008 32-/64-bit (GCC is even slower than MSVC):
-00122 ===================================================================
-00123 "%d" across all 32-bit ints (4.8x/4.0x faster than 32-/64-bit MSVC)
-00124 "%24d" across all 32-bit ints (4.5x/4.2x faster)
-00125 "%x" across all 32-bit ints (4.5x/3.8x faster)
-00126 "%08x" across all 32-bit ints (4.3x/3.8x faster)
-00127 "%f" across e-10 to e+10 floats (7.3x/6.0x faster)
-00128 "%e" across e-10 to e+10 floats (8.1x/6.0x faster)
-00129 "%g" across e-10 to e+10 floats (10.0x/7.1x faster)
-00130 "%f" for values near e-300 (7.9x/6.5x faster)
-00131 "%f" for values near e+300 (10.0x/9.1x faster)
-00132 "%e" for values near e-300 (10.1x/7.0x faster)
-00133 "%e" for values near e+300 (9.2x/6.0x faster)
-00134 "%.320f" for values near e-300 (12.6x/11.2x faster)
-00135 "%a" for random values (8.6x/4.3x faster)
-00136 "%I64d" for 64-bits with 32-bit values (4.8x/3.4x faster)
-00137 "%I64d" for 64-bits > 32-bit values (4.9x/5.5x faster)
-00138 "%s%s%s" for 64 char strings (7.1x/7.3x faster)
-00139 "...512 char string..." ( 35.0x/32.5x faster!)
-00140 */
-00141 
-00142 #if defined(__has_feature)
-00143    #if __has_feature(address_sanitizer)
-00144       #define STBI__ASAN __attribute__((no_sanitize("address")))
-00145    #endif
-00146 #endif
-00147 #ifndef STBI__ASAN
-00148 #define STBI__ASAN
-00149 #endif
-00150 
-00151 #ifdef STB_SPRINTF_STATIC
-00152 #define STBSP__PUBLICDEC static
-00153 #define STBSP__PUBLICDEF static STBI__ASAN
-00154 #else
-00155 #ifdef __cplusplus
-00156 #define STBSP__PUBLICDEC extern "C"
-00157 #define STBSP__PUBLICDEF extern "C" STBI__ASAN
-00158 #else
-00159 #define STBSP__PUBLICDEC extern
-00160 #define STBSP__PUBLICDEF STBI__ASAN
-00161 #endif
-00162 #endif
-00163 
-00164 #ifndef STB_SPRINTF_NOSTD
-00165 #include <stdarg.h> // for va_list()
-00166 #include <stddef.h> // size_t, ptrdiff_t
-00167 #endif
-00168 
-00169 #ifndef STB_SPRINTF_MIN
-00170 #define STB_SPRINTF_MIN 512 // how many characters per callback
-00171 #endif
-00172 typedef char *STBSP_SPRINTFCB(char *buf, void *user, int len);
-00173 
-00174 #ifndef STB_SPRINTF_DECORATE
-00175 #define STB_SPRINTF_DECORATE(name) stbsp_##name // define this before including if you want to change the names
-00176 #endif
-00177 
-00178 STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(vsprintf)(char *buf, char const *fmt, va_list va);
-00179 STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(vsnprintf)(char *buf, int count, char const *fmt, va_list va);
-00180 STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(sprintf)(char *buf, char const *fmt, ...);
-00181 STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(snprintf)(char *buf, int count, char const *fmt, ...);
-00182 
-00183 STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(vsprintfcb)(STBSP_SPRINTFCB *callback, void *user, char *buf, char const *fmt, va_list va);
-00184 STBSP__PUBLICDEF void STB_SPRINTF_DECORATE(set_separators)(char comma, char period);
-00185 
-00186 #endif // STB_SPRINTF_H_INCLUDE
-00187 
-00188 #ifdef STB_SPRINTF_IMPLEMENTATION
-00189 
-00190 #ifndef STB_SPRINTF_NOSTD
-00191 #include <stdlib.h> // for va_arg()
-00192 #endif
-00193 
-00194 #define stbsp__uint32 unsigned int
-00195 #define stbsp__int32 signed int
-00196 
-00197 #ifdef _MSC_VER
-00198 #define stbsp__uint64 unsigned __int64
-00199 #define stbsp__int64 signed __int64
-00200 #else
-00201 #define stbsp__uint64 unsigned long long
-00202 #define stbsp__int64 signed long long
-00203 #endif
-00204 #define stbsp__uint16 unsigned short
-00205 
-00206 #ifndef stbsp__uintptr
-00207 #if defined(__ppc64__) || defined(__aarch64__) || defined(_M_X64) || defined(__x86_64__) || defined(__x86_64)
-00208 #define stbsp__uintptr stbsp__uint64
-00209 #else
-00210 #define stbsp__uintptr stbsp__uint32
-00211 #endif
-00212 #endif
-00213 
-00214 #ifndef STB_SPRINTF_MSVC_MODE // used for MSVC2013 and earlier (MSVC2015 matches GCC)
-00215 #if defined(_MSC_VER) && (_MSC_VER < 1900)
-00216 #define STB_SPRINTF_MSVC_MODE
-00217 #endif
-00218 #endif
-00219 
-00220 #ifdef STB_SPRINTF_NOUNALIGNED // define this before inclusion to force stbsp_sprintf to always use aligned accesses
-00221 #define STBSP__UNALIGNED(code)
-00222 #else
-00223 #define STBSP__UNALIGNED(code) code
-00224 #endif
-00225 
-00226 #ifndef STB_SPRINTF_NOFLOAT
-00227 // internal float utility functions
-00228 static stbsp__int32 stbsp__real_to_str(char const **start, stbsp__uint32 *len, char *out, stbsp__int32 *decimal_pos, double value, stbsp__uint32 frac_digits);
-00229 static stbsp__int32 stbsp__real_to_parts(stbsp__int64 *bits, stbsp__int32 *expo, double value);
-00230 #define STBSP__SPECIAL 0x7000
-00231 #endif
-00232 
-00233 static char stbsp__period = '.';
-00234 static char stbsp__comma = ',';
-00235 static struct
-00236 {
-00237    short temp; // force next field to be 2-byte aligned
-00238    char pair[201];
-00239 } stbsp__digitpair =
-00240 {
-00241   0,
-00242    "00010203040506070809101112131415161718192021222324"
-00243    "25262728293031323334353637383940414243444546474849"
-00244    "50515253545556575859606162636465666768697071727374"
-00245    "75767778798081828384858687888990919293949596979899"
-00246 };
-00247 
-00248 STBSP__PUBLICDEF void STB_SPRINTF_DECORATE(set_separators)(char pcomma, char pperiod)
-00249 {
-00250    stbsp__period = pperiod;
-00251    stbsp__comma = pcomma;
-00252 }
-00253 
-00254 #define STBSP__LEFTJUST 1
-00255 #define STBSP__LEADINGPLUS 2
-00256 #define STBSP__LEADINGSPACE 4
-00257 #define STBSP__LEADING_0X 8
-00258 #define STBSP__LEADINGZERO 16
-00259 #define STBSP__INTMAX 32
-00260 #define STBSP__TRIPLET_COMMA 64
-00261 #define STBSP__NEGATIVE 128
-00262 #define STBSP__METRIC_SUFFIX 256
-00263 #define STBSP__HALFWIDTH 512
-00264 #define STBSP__METRIC_NOSPACE 1024
-00265 #define STBSP__METRIC_1024 2048
-00266 #define STBSP__METRIC_JEDEC 4096
-00267 
-00268 static void stbsp__lead_sign(stbsp__uint32 fl, char *sign)
-00269 {
-00270    sign[0] = 0;
-00271    if (fl & STBSP__NEGATIVE) {
-00272       sign[0] = 1;
-00273       sign[1] = '-';
-00274    } else if (fl & STBSP__LEADINGSPACE) {
-00275       sign[0] = 1;
-00276       sign[1] = ' ';
-00277    } else if (fl & STBSP__LEADINGPLUS) {
-00278       sign[0] = 1;
-00279       sign[1] = '+';
-00280    }
-00281 }
-00282 
-00283 STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(vsprintfcb)(STBSP_SPRINTFCB *callback, void *user, char *buf, char const *fmt, va_list va)
-00284 {
-00285    static char hex[] = "0123456789abcdefxp";
-00286    static char hexu[] = "0123456789ABCDEFXP";
-00287    char *bf;
-00288    char const *f;
-00289    int tlen = 0;
-00290 
-00291    bf = buf;
-00292    f = fmt;
-00293    for (;;) {
-00294       stbsp__int32 fw, pr, tz;
-00295       stbsp__uint32 fl;
-00296 
-00297       // macros for the callback buffer stuff
-00298       #define stbsp__chk_cb_bufL(bytes)                        \
-00299          {                                                     \
-00300             int len = (int)(bf - buf);                         \
-00301             if ((len + (bytes)) >= STB_SPRINTF_MIN) {          \
-00302                tlen += len;                                    \
-00303                if (0 == (bf = buf = callback(buf, user, len))) \
-00304                   goto done;                                   \
-00305             }                                                  \
-00306          }
-00307       #define stbsp__chk_cb_buf(bytes)    \
-00308          {                                \
-00309             if (callback) {               \
-00310                stbsp__chk_cb_bufL(bytes); \
-00311             }                             \
-00312          }
-00313       #define stbsp__flush_cb()                      \
-00314          {                                           \
-00315             stbsp__chk_cb_bufL(STB_SPRINTF_MIN - 1); \
-00316          } // flush if there is even one byte in the buffer
-00317       #define stbsp__cb_buf_clamp(cl, v)                \
-00318          cl = v;                                        \
-00319          if (callback) {                                \
-00320             int lg = STB_SPRINTF_MIN - (int)(bf - buf); \
-00321             if (cl > lg)                                \
-00322                cl = lg;                                 \
-00323          }
-00324 
-00325       // fast copy everything up to the next % (or end of string)
-00326       for (;;) {
-00327          while (((stbsp__uintptr)f) & 3) {
-00328          schk1:
-00329             if (f[0] == '%')
-00330                goto scandd;
-00331          schk2:
-00332             if (f[0] == 0)
-00333                goto endfmt;
-00334             stbsp__chk_cb_buf(1);
-00335             *bf++ = f[0];
-00336             ++f;
-00337          }
-00338          for (;;) {
-00339             // Check if the next 4 bytes contain %(0x25) or end of string.
-00340             // Using the 'hasless' trick:
-00341             // https://graphics.stanford.edu/~seander/bithacks.html#HasLessInWord
-00342             stbsp__uint32 v, c;
-00343             v = *(stbsp__uint32 *)f;
-00344             c = (~v) & 0x80808080;
-00345             if (((v ^ 0x25252525) - 0x01010101) & c)
-00346                goto schk1;
-00347             if ((v - 0x01010101) & c)
-00348                goto schk2;
-00349             if (callback)
-00350                if ((STB_SPRINTF_MIN - (int)(bf - buf)) < 4)
-00351                   goto schk1;
-00352             #ifdef STB_SPRINTF_NOUNALIGNED
-00353                 if(((stbsp__uintptr)bf) & 3) {
-00354                     bf[0] = f[0];
-00355                     bf[1] = f[1];
-00356                     bf[2] = f[2];
-00357                     bf[3] = f[3];
-00358                 } else
-00359             #endif
-00360             {
-00361                 *(stbsp__uint32 *)bf = v;
-00362             }
-00363             bf += 4;
-00364             f += 4;
-00365          }
-00366       }
-00367    scandd:
-00368 
-00369       ++f;
-00370 
-00371       // ok, we have a percent, read the modifiers first
-00372       fw = 0;
-00373       pr = -1;
-00374       fl = 0;
-00375       tz = 0;
-00376 
-00377       // flags
-00378       for (;;) {
-00379          switch (f[0]) {
-00380          // if we have left justify
-00381          case '-':
-00382             fl |= STBSP__LEFTJUST;
-00383             ++f;
-00384             continue;
-00385          // if we have leading plus
-00386          case '+':
-00387             fl |= STBSP__LEADINGPLUS;
-00388             ++f;
-00389             continue;
-00390          // if we have leading space
-00391          case ' ':
-00392             fl |= STBSP__LEADINGSPACE;
-00393             ++f;
-00394             continue;
-00395          // if we have leading 0x
-00396          case '#':
-00397             fl |= STBSP__LEADING_0X;
-00398             ++f;
-00399             continue;
-00400          // if we have thousand commas
-00401          case '\'':
-00402             fl |= STBSP__TRIPLET_COMMA;
-00403             ++f;
-00404             continue;
-00405          // if we have kilo marker (none->kilo->kibi->jedec)
-00406          case '$':
-00407             if (fl & STBSP__METRIC_SUFFIX) {
-00408                if (fl & STBSP__METRIC_1024) {
-00409                   fl |= STBSP__METRIC_JEDEC;
-00410                } else {
-00411                   fl |= STBSP__METRIC_1024;
-00412                }
-00413             } else {
-00414                fl |= STBSP__METRIC_SUFFIX;
-00415             }
-00416             ++f;
-00417             continue;
-00418          // if we don't want space between metric suffix and number
-00419          case '_':
-00420             fl |= STBSP__METRIC_NOSPACE;
-00421             ++f;
-00422             continue;
-00423          // if we have leading zero
-00424          case '0':
-00425             fl |= STBSP__LEADINGZERO;
-00426             ++f;
-00427             goto flags_done;
-00428          default: goto flags_done;
-00429          }
-00430       }
-00431    flags_done:
-00432 
-00433       // get the field width
-00434       if (f[0] == '*') {
-00435          fw = va_arg(va, stbsp__uint32);
-00436          ++f;
-00437       } else {
-00438          while ((f[0] >= '0') && (f[0] <= '9')) {
-00439             fw = fw * 10 + f[0] - '0';
-00440             f++;
-00441          }
-00442       }
-00443       // get the precision
-00444       if (f[0] == '.') {
-00445          ++f;
-00446          if (f[0] == '*') {
-00447             pr = va_arg(va, stbsp__uint32);
-00448             ++f;
-00449          } else {
-00450             pr = 0;
-00451             while ((f[0] >= '0') && (f[0] <= '9')) {
-00452                pr = pr * 10 + f[0] - '0';
-00453                f++;
-00454             }
-00455          }
-00456       }
-00457 
-00458       // handle integer size overrides
-00459       switch (f[0]) {
-00460       // are we halfwidth?
-00461       case 'h':
-00462          fl |= STBSP__HALFWIDTH;
-00463          ++f;
-00464          break;
-00465       // are we 64-bit (unix style)
-00466       case 'l':
-00467          fl |= ((sizeof(long) == 8) ? STBSP__INTMAX : 0);
-00468          ++f;
-00469          if (f[0] == 'l') {
-00470             fl |= STBSP__INTMAX;
-00471             ++f;
-00472          }
-00473          break;
-00474       // are we 64-bit on intmax? (c99)
-00475       case 'j':
-00476          fl |= (sizeof(size_t) == 8) ? STBSP__INTMAX : 0;
-00477          ++f;
-00478          break;
-00479       // are we 64-bit on size_t or ptrdiff_t? (c99)
-00480       case 'z':
-00481          fl |= (sizeof(ptrdiff_t) == 8) ? STBSP__INTMAX : 0;
-00482          ++f;
-00483          break;
-00484       case 't':
-00485          fl |= (sizeof(ptrdiff_t) == 8) ? STBSP__INTMAX : 0;
-00486          ++f;
-00487          break;
-00488       // are we 64-bit (msft style)
-00489       case 'I':
-00490          if ((f[1] == '6') && (f[2] == '4')) {
-00491             fl |= STBSP__INTMAX;
-00492             f += 3;
-00493          } else if ((f[1] == '3') && (f[2] == '2')) {
-00494             f += 3;
-00495          } else {
-00496             fl |= ((sizeof(void *) == 8) ? STBSP__INTMAX : 0);
-00497             ++f;
-00498          }
-00499          break;
-00500       default: break;
-00501       }
-00502 
-00503       // handle each replacement
-00504       switch (f[0]) {
-00505          #define STBSP__NUMSZ 512 // big enough for e308 (with commas) or e-307
-00506          char num[STBSP__NUMSZ];
-00507          char lead[8];
-00508          char tail[8];
-00509          char *s;
-00510          char const *h;
-00511          stbsp__uint32 l, n, cs;
-00512          stbsp__uint64 n64;
-00513 #ifndef STB_SPRINTF_NOFLOAT
-00514          double fv;
-00515 #endif
-00516          stbsp__int32 dp;
-00517          char const *sn;
-00518 
-00519       case 's':
-00520          // get the string
-00521          s = va_arg(va, char *);
-00522          if (s == 0)
-00523             s = (char *)"null";
-00524          // get the length
-00525          sn = s;
-00526          for (;;) {
-00527             if ((((stbsp__uintptr)sn) & 3) == 0)
-00528                break;
-00529          lchk:
-00530             if (sn[0] == 0)
-00531                goto ld;
-00532             ++sn;
-00533          }
-00534          n = 0xffffffff;
-00535          if (pr >= 0) {
-00536             n = (stbsp__uint32)(sn - s);
-00537             if (n >= (stbsp__uint32)pr)
-00538                goto ld;
-00539             n = ((stbsp__uint32)(pr - n)) >> 2;
-00540          }
-00541          while (n) {
-00542             stbsp__uint32 v = *(stbsp__uint32 *)sn;
-00543             if ((v - 0x01010101) & (~v) & 0x80808080UL)
-00544                goto lchk;
-00545             sn += 4;
-00546             --n;
-00547          }
-00548          goto lchk;
-00549       ld:
-00550 
-00551          l = (stbsp__uint32)(sn - s);
-00552          // clamp to precision
-00553          if (l > (stbsp__uint32)pr)
-00554             l = pr;
-00555          lead[0] = 0;
-00556          tail[0] = 0;
-00557          pr = 0;
-00558          dp = 0;
-00559          cs = 0;
-00560          // copy the string in
-00561          goto scopy;
-00562 
-00563       case 'c': // char
-00564          // get the character
-00565          s = num + STBSP__NUMSZ - 1;
-00566          *s = (char)va_arg(va, int);
-00567          l = 1;
-00568          lead[0] = 0;
-00569          tail[0] = 0;
-00570          pr = 0;
-00571          dp = 0;
-00572          cs = 0;
-00573          goto scopy;
-00574 
-00575       case 'n': // weird write-bytes specifier
-00576       {
-00577          int *d = va_arg(va, int *);
-00578          *d = tlen + (int)(bf - buf);
-00579       } break;
-00580 
-00581 #ifdef STB_SPRINTF_NOFLOAT
-00582       case 'A':              // float
-00583       case 'a':              // hex float
-00584       case 'G':              // float
-00585       case 'g':              // float
-00586       case 'E':              // float
-00587       case 'e':              // float
-00588       case 'f':              // float
-00589          va_arg(va, double); // eat it
-00590          s = (char *)"No float";
-00591          l = 8;
-00592          lead[0] = 0;
-00593          tail[0] = 0;
-00594          pr = 0;
-00595          dp = 0;
-00596          cs = 0;
-00597          goto scopy;
-00598 #else
-00599       case 'A': // hex float
-00600       case 'a': // hex float
-00601          h = (f[0] == 'A') ? hexu : hex;
-00602          fv = va_arg(va, double);
-00603          if (pr == -1)
-00604             pr = 6; // default is 6
-00605          // read the double into a string
-00606          if (stbsp__real_to_parts((stbsp__int64 *)&n64, &dp, fv))
-00607             fl |= STBSP__NEGATIVE;
-00608 
-00609          s = num + 64;
-00610 
-00611          stbsp__lead_sign(fl, lead);
-00612 
-00613          if (dp == -1023)
-00614             dp = (n64) ? -1022 : 0;
-00615          else
-00616             n64 |= (((stbsp__uint64)1) << 52);
-00617          n64 <<= (64 - 56);
-00618          if (pr < 15)
-00619             n64 += ((((stbsp__uint64)8) << 56) >> (pr * 4));
-00620 // add leading chars
-00621 
-00622 #ifdef STB_SPRINTF_MSVC_MODE
-00623          *s++ = '0';
-00624          *s++ = 'x';
-00625 #else
-00626          lead[1 + lead[0]] = '0';
-00627          lead[2 + lead[0]] = 'x';
-00628          lead[0] += 2;
-00629 #endif
-00630          *s++ = h[(n64 >> 60) & 15];
-00631          n64 <<= 4;
-00632          if (pr)
-00633             *s++ = stbsp__period;
-00634          sn = s;
-00635 
-00636          // print the bits
-00637          n = pr;
-00638          if (n > 13)
-00639             n = 13;
-00640          if (pr > (stbsp__int32)n)
-00641             tz = pr - n;
-00642          pr = 0;
-00643          while (n--) {
-00644             *s++ = h[(n64 >> 60) & 15];
-00645             n64 <<= 4;
-00646          }
-00647 
-00648          // print the expo
-00649          tail[1] = h[17];
-00650          if (dp < 0) {
-00651             tail[2] = '-';
-00652             dp = -dp;
-00653          } else
-00654             tail[2] = '+';
-00655          n = (dp >= 1000) ? 6 : ((dp >= 100) ? 5 : ((dp >= 10) ? 4 : 3));
-00656          tail[0] = (char)n;
-00657          for (;;) {
-00658             tail[n] = '0' + dp % 10;
-00659             if (n <= 3)
-00660                break;
-00661             --n;
-00662             dp /= 10;
-00663          }
-00664 
-00665          dp = (int)(s - sn);
-00666          l = (int)(s - (num + 64));
-00667          s = num + 64;
-00668          cs = 1 + (3 << 24);
-00669          goto scopy;
-00670 
-00671       case 'G': // float
-00672       case 'g': // float
-00673          h = (f[0] == 'G') ? hexu : hex;
-00674          fv = va_arg(va, double);
-00675          if (pr == -1)
-00676             pr = 6;
-00677          else if (pr == 0)
-00678             pr = 1; // default is 6
-00679          // read the double into a string
-00680          if (stbsp__real_to_str(&sn, &l, num, &dp, fv, (pr - 1) | 0x80000000))
-00681             fl |= STBSP__NEGATIVE;
-00682 
-00683          // clamp the precision and delete extra zeros after clamp
-00684          n = pr;
-00685          if (l > (stbsp__uint32)pr)
-00686             l = pr;
-00687          while ((l > 1) && (pr) && (sn[l - 1] == '0')) {
-00688             --pr;
-00689             --l;
-00690          }
-00691 
-00692          // should we use %e
-00693          if ((dp <= -4) || (dp > (stbsp__int32)n)) {
-00694             if (pr > (stbsp__int32)l)
-00695                pr = l - 1;
-00696             else if (pr)
-00697                --pr; // when using %e, there is one digit before the decimal
-00698             goto doexpfromg;
-00699          }
-00700          // this is the insane action to get the pr to match %g semantics for %f
-00701          if (dp > 0) {
-00702             pr = (dp < (stbsp__int32)l) ? l - dp : 0;
-00703          } else {
-00704             pr = -dp + ((pr > (stbsp__int32)l) ? (stbsp__int32) l : pr);
-00705          }
-00706          goto dofloatfromg;
-00707 
-00708       case 'E': // float
-00709       case 'e': // float
-00710          h = (f[0] == 'E') ? hexu : hex;
-00711          fv = va_arg(va, double);
-00712          if (pr == -1)
-00713             pr = 6; // default is 6
-00714          // read the double into a string
-00715          if (stbsp__real_to_str(&sn, &l, num, &dp, fv, pr | 0x80000000))
-00716             fl |= STBSP__NEGATIVE;
-00717       doexpfromg:
-00718          tail[0] = 0;
-00719          stbsp__lead_sign(fl, lead);
-00720          if (dp == STBSP__SPECIAL) {
-00721             s = (char *)sn;
-00722             cs = 0;
-00723             pr = 0;
-00724             goto scopy;
-00725          }
-00726          s = num + 64;
-00727          // handle leading chars
-00728          *s++ = sn[0];
-00729 
-00730          if (pr)
-00731             *s++ = stbsp__period;
-00732 
-00733          // handle after decimal
-00734          if ((l - 1) > (stbsp__uint32)pr)
-00735             l = pr + 1;
-00736          for (n = 1; n < l; n++)
-00737             *s++ = sn[n];
-00738          // trailing zeros
-00739          tz = pr - (l - 1);
-00740          pr = 0;
-00741          // dump expo
-00742          tail[1] = h[0xe];
-00743          dp -= 1;
-00744          if (dp < 0) {
-00745             tail[2] = '-';
-00746             dp = -dp;
-00747          } else
-00748             tail[2] = '+';
-00749 #ifdef STB_SPRINTF_MSVC_MODE
-00750          n = 5;
-00751 #else
-00752          n = (dp >= 100) ? 5 : 4;
-00753 #endif
-00754          tail[0] = (char)n;
-00755          for (;;) {
-00756             tail[n] = '0' + dp % 10;
-00757             if (n <= 3)
-00758                break;
-00759             --n;
-00760             dp /= 10;
-00761          }
-00762          cs = 1 + (3 << 24); // how many tens
-00763          goto flt_lead;
-00764 
-00765       case 'f': // float
-00766          fv = va_arg(va, double);
-00767       doafloat:
-00768          // do kilos
-00769          if (fl & STBSP__METRIC_SUFFIX) {
-00770             double divisor;
-00771             divisor = 1000.0f;
-00772             if (fl & STBSP__METRIC_1024)
-00773                divisor = 1024.0;
-00774             while (fl < 0x4000000) {
-00775                if ((fv < divisor) && (fv > -divisor))
-00776                   break;
-00777                fv /= divisor;
-00778                fl += 0x1000000;
-00779             }
-00780          }
-00781          if (pr == -1)
-00782             pr = 6; // default is 6
-00783          // read the double into a string
-00784          if (stbsp__real_to_str(&sn, &l, num, &dp, fv, pr))
-00785             fl |= STBSP__NEGATIVE;
-00786       dofloatfromg:
-00787          tail[0] = 0;
-00788          stbsp__lead_sign(fl, lead);
-00789          if (dp == STBSP__SPECIAL) {
-00790             s = (char *)sn;
-00791             cs = 0;
-00792             pr = 0;
-00793             goto scopy;
-00794          }
-00795          s = num + 64;
-00796 
-00797          // handle the three decimal varieties
-00798          if (dp <= 0) {
-00799             stbsp__int32 i;
-00800             // handle 0.000*000xxxx
-00801             *s++ = '0';
-00802             if (pr)
-00803                *s++ = stbsp__period;
-00804             n = -dp;
-00805             if ((stbsp__int32)n > pr)
-00806                n = pr;
-00807             i = n;
-00808             while (i) {
-00809                if ((((stbsp__uintptr)s) & 3) == 0)
-00810                   break;
-00811                *s++ = '0';
-00812                --i;
-00813             }
-00814             while (i >= 4) {
-00815                *(stbsp__uint32 *)s = 0x30303030;
-00816                s += 4;
-00817                i -= 4;
-00818             }
-00819             while (i) {
-00820                *s++ = '0';
-00821                --i;
-00822             }
-00823             if ((stbsp__int32)(l + n) > pr)
-00824                l = pr - n;
-00825             i = l;
-00826             while (i) {
-00827                *s++ = *sn++;
-00828                --i;
-00829             }
-00830             tz = pr - (n + l);
-00831             cs = 1 + (3 << 24); // how many tens did we write (for commas below)
-00832          } else {
-00833             cs = (fl & STBSP__TRIPLET_COMMA) ? ((600 - (stbsp__uint32)dp) % 3) : 0;
-00834             if ((stbsp__uint32)dp >= l) {
-00835                // handle xxxx000*000.0
-00836                n = 0;
-00837                for (;;) {
-00838                   if ((fl & STBSP__TRIPLET_COMMA) && (++cs == 4)) {
-00839                      cs = 0;
-00840                      *s++ = stbsp__comma;
-00841                   } else {
-00842                      *s++ = sn[n];
-00843                      ++n;
-00844                      if (n >= l)
-00845                         break;
-00846                   }
-00847                }
-00848                if (n < (stbsp__uint32)dp) {
-00849                   n = dp - n;
-00850                   if ((fl & STBSP__TRIPLET_COMMA) == 0) {
-00851                      while (n) {
-00852                         if ((((stbsp__uintptr)s) & 3) == 0)
-00853                            break;
-00854                         *s++ = '0';
-00855                         --n;
-00856                      }
-00857                      while (n >= 4) {
-00858                         *(stbsp__uint32 *)s = 0x30303030;
-00859                         s += 4;
-00860                         n -= 4;
-00861                      }
-00862                   }
-00863                   while (n) {
-00864                      if ((fl & STBSP__TRIPLET_COMMA) && (++cs == 4)) {
-00865                         cs = 0;
-00866                         *s++ = stbsp__comma;
-00867                      } else {
-00868                         *s++ = '0';
-00869                         --n;
-00870                      }
-00871                   }
-00872                }
-00873                cs = (int)(s - (num + 64)) + (3 << 24); // cs is how many tens
-00874                if (pr) {
-00875                   *s++ = stbsp__period;
-00876                   tz = pr;
-00877                }
-00878             } else {
-00879                // handle xxxxx.xxxx000*000
-00880                n = 0;
-00881                for (;;) {
-00882                   if ((fl & STBSP__TRIPLET_COMMA) && (++cs == 4)) {
-00883                      cs = 0;
-00884                      *s++ = stbsp__comma;
-00885                   } else {
-00886                      *s++ = sn[n];
-00887                      ++n;
-00888                      if (n >= (stbsp__uint32)dp)
-00889                         break;
-00890                   }
-00891                }
-00892                cs = (int)(s - (num + 64)) + (3 << 24); // cs is how many tens
-00893                if (pr)
-00894                   *s++ = stbsp__period;
-00895                if ((l - dp) > (stbsp__uint32)pr)
-00896                   l = pr + dp;
-00897                while (n < l) {
-00898                   *s++ = sn[n];
-00899                   ++n;
-00900                }
-00901                tz = pr - (l - dp);
-00902             }
-00903          }
-00904          pr = 0;
-00905 
-00906          // handle k,m,g,t
-00907          if (fl & STBSP__METRIC_SUFFIX) {
-00908             char idx;
-00909             idx = 1;
-00910             if (fl & STBSP__METRIC_NOSPACE)
-00911                idx = 0;
-00912             tail[0] = idx;
-00913             tail[1] = ' ';
-00914             {
-00915                if (fl >> 24) { // SI kilo is 'k', JEDEC and SI kibits are 'K'.
-00916                   if (fl & STBSP__METRIC_1024)
-00917                      tail[idx + 1] = "_KMGT"[fl >> 24];
-00918                   else
-00919                      tail[idx + 1] = "_kMGT"[fl >> 24];
-00920                   idx++;
-00921                   // If printing kibits and not in jedec, add the 'i'.
-00922                   if (fl & STBSP__METRIC_1024 && !(fl & STBSP__METRIC_JEDEC)) {
-00923                      tail[idx + 1] = 'i';
-00924                      idx++;
-00925                   }
-00926                   tail[0] = idx;
-00927                }
-00928             }
-00929          };
-00930 
-00931       flt_lead:
-00932          // get the length that we copied
-00933          l = (stbsp__uint32)(s - (num + 64));
-00934          s = num + 64;
-00935          goto scopy;
-00936 #endif
-00937 
-00938       case 'B': // upper binary
-00939       case 'b': // lower binary
-00940          h = (f[0] == 'B') ? hexu : hex;
-00941          lead[0] = 0;
-00942          if (fl & STBSP__LEADING_0X) {
-00943             lead[0] = 2;
-00944             lead[1] = '0';
-00945             lead[2] = h[0xb];
-00946          }
-00947          l = (8 << 4) | (1 << 8);
-00948          goto radixnum;
-00949 
-00950       case 'o': // octal
-00951          h = hexu;
-00952          lead[0] = 0;
-00953          if (fl & STBSP__LEADING_0X) {
-00954             lead[0] = 1;
-00955             lead[1] = '0';
-00956          }
-00957          l = (3 << 4) | (3 << 8);
-00958          goto radixnum;
-00959 
-00960       case 'p': // pointer
-00961          fl |= (sizeof(void *) == 8) ? STBSP__INTMAX : 0;
-00962          pr = sizeof(void *) * 2;
-00963          fl &= ~STBSP__LEADINGZERO; // 'p' only prints the pointer with zeros
-00964                                     // fall through - to X
-00965 
-00966       case 'X': // upper hex
-00967       case 'x': // lower hex
-00968          h = (f[0] == 'X') ? hexu : hex;
-00969          l = (4 << 4) | (4 << 8);
-00970          lead[0] = 0;
-00971          if (fl & STBSP__LEADING_0X) {
-00972             lead[0] = 2;
-00973             lead[1] = '0';
-00974             lead[2] = h[16];
-00975          }
-00976       radixnum:
-00977          // get the number
-00978          if (fl & STBSP__INTMAX)
-00979             n64 = va_arg(va, stbsp__uint64);
-00980          else
-00981             n64 = va_arg(va, stbsp__uint32);
-00982 
-00983          s = num + STBSP__NUMSZ;
-00984          dp = 0;
-00985          // clear tail, and clear leading if value is zero
-00986          tail[0] = 0;
-00987          if (n64 == 0) {
-00988             lead[0] = 0;
-00989             if (pr == 0) {
-00990                l = 0;
-00991                cs = (((l >> 4) & 15)) << 24;
-00992                goto scopy;
-00993             }
-00994          }
-00995          // convert to string
-00996          for (;;) {
-00997             *--s = h[n64 & ((1 << (l >> 8)) - 1)];
-00998             n64 >>= (l >> 8);
-00999             if (!((n64) || ((stbsp__int32)((num + STBSP__NUMSZ) - s) < pr)))
-01000                break;
-01001             if (fl & STBSP__TRIPLET_COMMA) {
-01002                ++l;
-01003                if ((l & 15) == ((l >> 4) & 15)) {
-01004                   l &= ~15;
-01005                   *--s = stbsp__comma;
-01006                }
-01007             }
-01008          };
-01009          // get the tens and the comma pos
-01010          cs = (stbsp__uint32)((num + STBSP__NUMSZ) - s) + ((((l >> 4) & 15)) << 24);
-01011          // get the length that we copied
-01012          l = (stbsp__uint32)((num + STBSP__NUMSZ) - s);
-01013          // copy it
-01014          goto scopy;
-01015 
-01016       case 'u': // unsigned
-01017       case 'i':
-01018       case 'd': // integer
-01019          // get the integer and abs it
-01020          if (fl & STBSP__INTMAX) {
-01021             stbsp__int64 i64 = va_arg(va, stbsp__int64);
-01022             n64 = (stbsp__uint64)i64;
-01023             if ((f[0] != 'u') && (i64 < 0)) {
-01024                n64 = (stbsp__uint64)-i64;
-01025                fl |= STBSP__NEGATIVE;
-01026             }
-01027          } else {
-01028             stbsp__int32 i = va_arg(va, stbsp__int32);
-01029             n64 = (stbsp__uint32)i;
-01030             if ((f[0] != 'u') && (i < 0)) {
-01031                n64 = (stbsp__uint32)-i;
-01032                fl |= STBSP__NEGATIVE;
-01033             }
-01034          }
-01035 
-01036 #ifndef STB_SPRINTF_NOFLOAT
-01037          if (fl & STBSP__METRIC_SUFFIX) {
-01038             if (n64 < 1024)
-01039                pr = 0;
-01040             else if (pr == -1)
-01041                pr = 1;
-01042             fv = (double)(stbsp__int64)n64;
-01043             goto doafloat;
-01044          }
-01045 #endif
-01046 
-01047          // convert to string
-01048          s = num + STBSP__NUMSZ;
-01049          l = 0;
-01050 
-01051          for (;;) {
-01052             // do in 32-bit chunks (avoid lots of 64-bit divides even with constant denominators)
-01053             char *o = s - 8;
-01054             if (n64 >= 100000000) {
-01055                n = (stbsp__uint32)(n64 % 100000000);
-01056                n64 /= 100000000;
-01057             } else {
-01058                n = (stbsp__uint32)n64;
-01059                n64 = 0;
-01060             }
-01061             if ((fl & STBSP__TRIPLET_COMMA) == 0) {
-01062                do {
-01063                   s -= 2;
-01064                   *(stbsp__uint16 *)s = *(stbsp__uint16 *)&stbsp__digitpair.pair[(n % 100) * 2];
-01065                   n /= 100;
-01066                } while (n);
-01067             }
-01068             while (n) {
-01069                if ((fl & STBSP__TRIPLET_COMMA) && (l++ == 3)) {
-01070                   l = 0;
-01071                   *--s = stbsp__comma;
-01072                   --o;
-01073                } else {
-01074                   *--s = (char)(n % 10) + '0';
-01075                   n /= 10;
-01076                }
-01077             }
-01078             if (n64 == 0) {
-01079                if ((s[0] == '0') && (s != (num + STBSP__NUMSZ)))
-01080                   ++s;
-01081                break;
-01082             }
-01083             while (s != o)
-01084                if ((fl & STBSP__TRIPLET_COMMA) && (l++ == 3)) {
-01085                   l = 0;
-01086                   *--s = stbsp__comma;
-01087                   --o;
-01088                } else {
-01089                   *--s = '0';
-01090                }
-01091          }
-01092 
-01093          tail[0] = 0;
-01094          stbsp__lead_sign(fl, lead);
-01095 
-01096          // get the length that we copied
-01097          l = (stbsp__uint32)((num + STBSP__NUMSZ) - s);
-01098          if (l == 0) {
-01099             *--s = '0';
-01100             l = 1;
-01101          }
-01102          cs = l + (3 << 24);
-01103          if (pr < 0)
-01104             pr = 0;
-01105 
-01106       scopy:
-01107          // get fw=leading/trailing space, pr=leading zeros
-01108          if (pr < (stbsp__int32)l)
-01109             pr = l;
-01110          n = pr + lead[0] + tail[0] + tz;
-01111          if (fw < (stbsp__int32)n)
-01112             fw = n;
-01113          fw -= n;
-01114          pr -= l;
-01115 
-01116          // handle right justify and leading zeros
-01117          if ((fl & STBSP__LEFTJUST) == 0) {
-01118             if (fl & STBSP__LEADINGZERO) // if leading zeros, everything is in pr
-01119             {
-01120                pr = (fw > pr) ? fw : pr;
-01121                fw = 0;
-01122             } else {
-01123                fl &= ~STBSP__TRIPLET_COMMA; // if no leading zeros, then no commas
-01124             }
-01125          }
-01126 
-01127          // copy the spaces and/or zeros
-01128          if (fw + pr) {
-01129             stbsp__int32 i;
-01130             stbsp__uint32 c;
-01131 
-01132             // copy leading spaces (or when doing %8.4d stuff)
-01133             if ((fl & STBSP__LEFTJUST) == 0)
-01134                while (fw > 0) {
-01135                   stbsp__cb_buf_clamp(i, fw);
-01136                   fw -= i;
-01137                   while (i) {
-01138                      if ((((stbsp__uintptr)bf) & 3) == 0)
-01139                         break;
-01140                      *bf++ = ' ';
-01141                      --i;
-01142                   }
-01143                   while (i >= 4) {
-01144                      *(stbsp__uint32 *)bf = 0x20202020;
-01145                      bf += 4;
-01146                      i -= 4;
-01147                   }
-01148                   while (i) {
-01149                      *bf++ = ' ';
-01150                      --i;
-01151                   }
-01152                   stbsp__chk_cb_buf(1);
-01153                }
-01154 
-01155             // copy leader
-01156             sn = lead + 1;
-01157             while (lead[0]) {
-01158                stbsp__cb_buf_clamp(i, lead[0]);
-01159                lead[0] -= (char)i;
-01160                while (i) {
-01161                   *bf++ = *sn++;
-01162                   --i;
-01163                }
-01164                stbsp__chk_cb_buf(1);
-01165             }
-01166 
-01167             // copy leading zeros
-01168             c = cs >> 24;
-01169             cs &= 0xffffff;
-01170             cs = (fl & STBSP__TRIPLET_COMMA) ? ((stbsp__uint32)(c - ((pr + cs) % (c + 1)))) : 0;
-01171             while (pr > 0) {
-01172                stbsp__cb_buf_clamp(i, pr);
-01173                pr -= i;
-01174                if ((fl & STBSP__TRIPLET_COMMA) == 0) {
-01175                   while (i) {
-01176                      if ((((stbsp__uintptr)bf) & 3) == 0)
-01177                         break;
-01178                      *bf++ = '0';
-01179                      --i;
-01180                   }
-01181                   while (i >= 4) {
-01182                      *(stbsp__uint32 *)bf = 0x30303030;
-01183                      bf += 4;
-01184                      i -= 4;
-01185                   }
-01186                }
-01187                while (i) {
-01188                   if ((fl & STBSP__TRIPLET_COMMA) && (cs++ == c)) {
-01189                      cs = 0;
-01190                      *bf++ = stbsp__comma;
-01191                   } else
-01192                      *bf++ = '0';
-01193                   --i;
-01194                }
-01195                stbsp__chk_cb_buf(1);
-01196             }
-01197          }
-01198 
-01199          // copy leader if there is still one
-01200          sn = lead + 1;
-01201          while (lead[0]) {
-01202             stbsp__int32 i;
-01203             stbsp__cb_buf_clamp(i, lead[0]);
-01204             lead[0] -= (char)i;
-01205             while (i) {
-01206                *bf++ = *sn++;
-01207                --i;
-01208             }
-01209             stbsp__chk_cb_buf(1);
-01210          }
-01211 
-01212          // copy the string
-01213          n = l;
-01214          while (n) {
-01215             stbsp__int32 i;
-01216             stbsp__cb_buf_clamp(i, n);
-01217             n -= i;
-01218             STBSP__UNALIGNED(while (i >= 4) {
-01219                *(stbsp__uint32 *)bf = *(stbsp__uint32 *)s;
-01220                bf += 4;
-01221                s += 4;
-01222                i -= 4;
-01223             })
-01224             while (i) {
-01225                *bf++ = *s++;
-01226                --i;
-01227             }
-01228             stbsp__chk_cb_buf(1);
-01229          }
-01230 
-01231          // copy trailing zeros
-01232          while (tz) {
-01233             stbsp__int32 i;
-01234             stbsp__cb_buf_clamp(i, tz);
-01235             tz -= i;
-01236             while (i) {
-01237                if ((((stbsp__uintptr)bf) & 3) == 0)
-01238                   break;
-01239                *bf++ = '0';
-01240                --i;
-01241             }
-01242             while (i >= 4) {
-01243                *(stbsp__uint32 *)bf = 0x30303030;
-01244                bf += 4;
-01245                i -= 4;
-01246             }
-01247             while (i) {
-01248                *bf++ = '0';
-01249                --i;
-01250             }
-01251             stbsp__chk_cb_buf(1);
-01252          }
-01253 
-01254          // copy tail if there is one
-01255          sn = tail + 1;
-01256          while (tail[0]) {
-01257             stbsp__int32 i;
-01258             stbsp__cb_buf_clamp(i, tail[0]);
-01259             tail[0] -= (char)i;
-01260             while (i) {
-01261                *bf++ = *sn++;
-01262                --i;
-01263             }
-01264             stbsp__chk_cb_buf(1);
-01265          }
-01266 
-01267          // handle the left justify
-01268          if (fl & STBSP__LEFTJUST)
-01269             if (fw > 0) {
-01270                while (fw) {
-01271                   stbsp__int32 i;
-01272                   stbsp__cb_buf_clamp(i, fw);
-01273                   fw -= i;
-01274                   while (i) {
-01275                      if ((((stbsp__uintptr)bf) & 3) == 0)
-01276                         break;
-01277                      *bf++ = ' ';
-01278                      --i;
-01279                   }
-01280                   while (i >= 4) {
-01281                      *(stbsp__uint32 *)bf = 0x20202020;
-01282                      bf += 4;
-01283                      i -= 4;
-01284                   }
-01285                   while (i--)
-01286                      *bf++ = ' ';
-01287                   stbsp__chk_cb_buf(1);
-01288                }
-01289             }
-01290          break;
-01291 
-01292       default: // unknown, just copy code
-01293          s = num + STBSP__NUMSZ - 1;
-01294          *s = f[0];
-01295          l = 1;
-01296          fw = fl = 0;
-01297          lead[0] = 0;
-01298          tail[0] = 0;
-01299          pr = 0;
-01300          dp = 0;
-01301          cs = 0;
-01302          goto scopy;
-01303       }
-01304       ++f;
-01305    }
-01306 endfmt:
-01307 
-01308    if (!callback)
-01309       *bf = 0;
-01310    else
-01311       stbsp__flush_cb();
-01312 
-01313 done:
-01314    return tlen + (int)(bf - buf);
-01315 }
-01316 
-01317 // cleanup
-01318 #undef STBSP__LEFTJUST
-01319 #undef STBSP__LEADINGPLUS
-01320 #undef STBSP__LEADINGSPACE
-01321 #undef STBSP__LEADING_0X
-01322 #undef STBSP__LEADINGZERO
-01323 #undef STBSP__INTMAX
-01324 #undef STBSP__TRIPLET_COMMA
-01325 #undef STBSP__NEGATIVE
-01326 #undef STBSP__METRIC_SUFFIX
-01327 #undef STBSP__NUMSZ
-01328 #undef stbsp__chk_cb_bufL
-01329 #undef stbsp__chk_cb_buf
-01330 #undef stbsp__flush_cb
-01331 #undef stbsp__cb_buf_clamp
-01332 
-01333 // ============================================================================
-01334 //   wrapper functions
-01335 
-01336 STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(sprintf)(char *buf, char const *fmt, ...)
-01337 {
-01338    int result;
-01339    va_list va;
-01340    va_start(va, fmt);
-01341    result = STB_SPRINTF_DECORATE(vsprintfcb)(0, 0, buf, fmt, va);
-01342    va_end(va);
-01343    return result;
-01344 }
-01345 
-01346 typedef struct stbsp__context {
-01347    char *buf;
-01348    int count;
-01349    char tmp[STB_SPRINTF_MIN];
-01350 } stbsp__context;
-01351 
-01352 static char *stbsp__clamp_callback(char *buf, void *user, int len)
-01353 {
-01354    stbsp__context *c = (stbsp__context *)user;
-01355 
-01356    if (len > c->count)
-01357       len = c->count;
-01358 
-01359    if (len) {
-01360       if (buf != c->buf) {
-01361          char *s, *d, *se;
-01362          d = c->buf;
-01363          s = buf;
-01364          se = buf + len;
-01365          do {
-01366             *d++ = *s++;
-01367          } while (s < se);
-01368       }
-01369       c->buf += len;
-01370       c->count -= len;
-01371    }
-01372 
-01373    if (c->count <= 0)
-01374       return 0;
-01375    return (c->count >= STB_SPRINTF_MIN) ? c->buf : c->tmp; // go direct into buffer if you can
-01376 }
-01377 
-01378 static char * stbsp__count_clamp_callback( char * buf, void * user, int len )
-01379 {
-01380    stbsp__context * c = (stbsp__context*)user;
-01381 
-01382    c->count += len;
-01383    return c->tmp; // go direct into buffer if you can
-01384 }
-01385 
-01386 STBSP__PUBLICDEF int STB_SPRINTF_DECORATE( vsnprintf )( char * buf, int count, char const * fmt, va_list va )
-01387 {
-01388    stbsp__context c;
-01389    int l;
-01390 
-01391    if ( (count == 0) && !buf )
-01392    {
-01393       c.count = 0;
-01394 
-01395       STB_SPRINTF_DECORATE( vsprintfcb )( stbsp__count_clamp_callback, &c, c.tmp, fmt, va );
-01396       l = c.count;
-01397    }
-01398    else
-01399    {
-01400       if ( count == 0 )
-01401          return 0;
-01402 
-01403       c.buf = buf;
-01404       c.count = count;
-01405 
-01406       STB_SPRINTF_DECORATE( vsprintfcb )( stbsp__clamp_callback, &c, stbsp__clamp_callback(0,&c,0), fmt, va );
-01407 
-01408       // zero-terminate
-01409       l = (int)( c.buf - buf );
-01410       if ( l >= count ) // should never be greater, only equal (or less) than count
-01411          l = count - 1;
-01412       buf[l] = 0;
-01413    }
-01414 
-01415    return l;
-01416 }
-01417 
-01418 STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(snprintf)(char *buf, int count, char const *fmt, ...)
-01419 {
-01420    int result;
-01421    va_list va;
-01422    va_start(va, fmt);
-01423 
-01424    result = STB_SPRINTF_DECORATE(vsnprintf)(buf, count, fmt, va);
-01425    va_end(va);
-01426 
-01427    return result;
-01428 }
-01429 
-01430 STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(vsprintf)(char *buf, char const *fmt, va_list va)
-01431 {
-01432    return STB_SPRINTF_DECORATE(vsprintfcb)(0, 0, buf, fmt, va);
-01433 }
-01434 
-01435 // =======================================================================
-01436 //   low level float utility functions
-01437 
-01438 #ifndef STB_SPRINTF_NOFLOAT
-01439 
-01440 // copies d to bits w/ strict aliasing (this compiles to nothing on /Ox)
-01441 #define STBSP__COPYFP(dest, src)                   \
-01442    {                                               \
-01443       int cn;                                      \
-01444       for (cn = 0; cn < 8; cn++)                   \
-01445          ((char *)&dest)[cn] = ((char *)&src)[cn]; \
-01446    }
-01447 
-01448 // get float info
-01449 static stbsp__int32 stbsp__real_to_parts(stbsp__int64 *bits, stbsp__int32 *expo, double value)
-01450 {
-01451    double d;
-01452    stbsp__int64 b = 0;
-01453 
-01454    // load value and round at the frac_digits
-01455    d = value;
-01456 
-01457    STBSP__COPYFP(b, d);
-01458 
-01459    *bits = b & ((((stbsp__uint64)1) << 52) - 1);
-01460    *expo = (stbsp__int32)(((b >> 52) & 2047) - 1023);
-01461 
-01462    return (stbsp__int32)((stbsp__uint64) b >> 63);
-01463 }
-01464 
-01465 static double const stbsp__bot[23] = {
-01466    1e+000, 1e+001, 1e+002, 1e+003, 1e+004, 1e+005, 1e+006, 1e+007, 1e+008, 1e+009, 1e+010, 1e+011,
-01467    1e+012, 1e+013, 1e+014, 1e+015, 1e+016, 1e+017, 1e+018, 1e+019, 1e+020, 1e+021, 1e+022
-01468 };
-01469 static double const stbsp__negbot[22] = {
-01470    1e-001, 1e-002, 1e-003, 1e-004, 1e-005, 1e-006, 1e-007, 1e-008, 1e-009, 1e-010, 1e-011,
-01471    1e-012, 1e-013, 1e-014, 1e-015, 1e-016, 1e-017, 1e-018, 1e-019, 1e-020, 1e-021, 1e-022
-01472 };
-01473 static double const stbsp__negboterr[22] = {
-01474    -5.551115123125783e-018,  -2.0816681711721684e-019, -2.0816681711721686e-020, -4.7921736023859299e-021, -8.1803053914031305e-022, 4.5251888174113741e-023,
-01475    4.5251888174113739e-024,  -2.0922560830128471e-025, -6.2281591457779853e-026, -3.6432197315497743e-027, 6.0503030718060191e-028,  2.0113352370744385e-029,
-01476    -3.0373745563400371e-030, 1.1806906454401013e-032,  -7.7705399876661076e-032, 2.0902213275965398e-033,  -7.1542424054621921e-034, -7.1542424054621926e-035,
-01477    2.4754073164739869e-036,  5.4846728545790429e-037,  9.2462547772103625e-038,  -4.8596774326570872e-039
-01478 };
-01479 static double const stbsp__top[13] = {
-01480    1e+023, 1e+046, 1e+069, 1e+092, 1e+115, 1e+138, 1e+161, 1e+184, 1e+207, 1e+230, 1e+253, 1e+276, 1e+299
-01481 };
-01482 static double const stbsp__negtop[13] = {
-01483    1e-023, 1e-046, 1e-069, 1e-092, 1e-115, 1e-138, 1e-161, 1e-184, 1e-207, 1e-230, 1e-253, 1e-276, 1e-299
-01484 };
-01485 static double const stbsp__toperr[13] = {
-01486    8388608,
-01487    6.8601809640529717e+028,
-01488    -7.253143638152921e+052,
-01489    -4.3377296974619174e+075,
-01490    -1.5559416129466825e+098,
-01491    -3.2841562489204913e+121,
-01492    -3.7745893248228135e+144,
-01493    -1.7356668416969134e+167,
-01494    -3.8893577551088374e+190,
-01495    -9.9566444326005119e+213,
-01496    6.3641293062232429e+236,
-01497    -5.2069140800249813e+259,
-01498    -5.2504760255204387e+282
-01499 };
-01500 static double const stbsp__negtoperr[13] = {
-01501    3.9565301985100693e-040,  -2.299904345391321e-063,  3.6506201437945798e-086,  1.1875228833981544e-109,
-01502    -5.0644902316928607e-132, -6.7156837247865426e-155, -2.812077463003139e-178,  -5.7778912386589953e-201,
-01503    7.4997100559334532e-224,  -4.6439668915134491e-247, -6.3691100762962136e-270, -9.436808465446358e-293,
-01504    8.0970921678014997e-317
-01505 };
-01506 
-01507 #if defined(_MSC_VER) && (_MSC_VER <= 1200)
-01508 static stbsp__uint64 const stbsp__powten[20] = {
-01509    1,
-01510    10,
-01511    100,
-01512    1000,
-01513    10000,
-01514    100000,
-01515    1000000,
-01516    10000000,
-01517    100000000,
-01518    1000000000,
-01519    10000000000,
-01520    100000000000,
-01521    1000000000000,
-01522    10000000000000,
-01523    100000000000000,
-01524    1000000000000000,
-01525    10000000000000000,
-01526    100000000000000000,
-01527    1000000000000000000,
-01528    10000000000000000000U
-01529 };
-01530 #define stbsp__tento19th ((stbsp__uint64)1000000000000000000)
-01531 #else
-01532 static stbsp__uint64 const stbsp__powten[20] = {
-01533    1,
-01534    10,
-01535    100,
-01536    1000,
-01537    10000,
-01538    100000,
-01539    1000000,
-01540    10000000,
-01541    100000000,
-01542    1000000000,
-01543    10000000000ULL,
-01544    100000000000ULL,
-01545    1000000000000ULL,
-01546    10000000000000ULL,
-01547    100000000000000ULL,
-01548    1000000000000000ULL,
-01549    10000000000000000ULL,
-01550    100000000000000000ULL,
-01551    1000000000000000000ULL,
-01552    10000000000000000000ULL
-01553 };
-01554 #define stbsp__tento19th (1000000000000000000ULL)
-01555 #endif
-01556 
-01557 #define stbsp__ddmulthi(oh, ol, xh, yh)                            \
-01558    {                                                               \
-01559       double ahi = 0, alo, bhi = 0, blo;                           \
-01560       stbsp__int64 bt;                                             \
-01561       oh = xh * yh;                                                \
-01562       STBSP__COPYFP(bt, xh);                                       \
-01563       bt &= ((~(stbsp__uint64)0) << 27);                           \
-01564       STBSP__COPYFP(ahi, bt);                                      \
-01565       alo = xh - ahi;                                              \
-01566       STBSP__COPYFP(bt, yh);                                       \
-01567       bt &= ((~(stbsp__uint64)0) << 27);                           \
-01568       STBSP__COPYFP(bhi, bt);                                      \
-01569       blo = yh - bhi;                                              \
-01570       ol = ((ahi * bhi - oh) + ahi * blo + alo * bhi) + alo * blo; \
-01571    }
-01572 
-01573 #define stbsp__ddtoS64(ob, xh, xl)          \
-01574    {                                        \
-01575       double ahi = 0, alo, vh, t;           \
-01576       ob = (stbsp__int64)ph;                \
-01577       vh = (double)ob;                      \
-01578       ahi = (xh - vh);                      \
-01579       t = (ahi - xh);                       \
-01580       alo = (xh - (ahi - t)) - (vh + t);    \
-01581       ob += (stbsp__int64)(ahi + alo + xl); \
-01582    }
-01583 
-01584 #define stbsp__ddrenorm(oh, ol) \
-01585    {                            \
-01586       double s;                 \
-01587       s = oh + ol;              \
-01588       ol = ol - (s - oh);       \
-01589       oh = s;                   \
-01590    }
-01591 
-01592 #define stbsp__ddmultlo(oh, ol, xh, xl, yh, yl) ol = ol + (xh * yl + xl * yh);
-01593 
-01594 #define stbsp__ddmultlos(oh, ol, xh, yl) ol = ol + (xh * yl);
-01595 
-01596 static void stbsp__raise_to_power10(double *ohi, double *olo, double d, stbsp__int32 power) // power can be -323 to +350
-01597 {
-01598    double ph, pl;
-01599    if ((power >= 0) && (power <= 22)) {
-01600       stbsp__ddmulthi(ph, pl, d, stbsp__bot[power]);
-01601    } else {
-01602       stbsp__int32 e, et, eb;
-01603       double p2h, p2l;
-01604 
-01605       e = power;
-01606       if (power < 0)
-01607          e = -e;
-01608       et = (e * 0x2c9) >> 14; /* %23 */
-01609       if (et > 13)
-01610          et = 13;
-01611       eb = e - (et * 23);
-01612 
-01613       ph = d;
-01614       pl = 0.0;
-01615       if (power < 0) {
-01616          if (eb) {
-01617             --eb;
-01618             stbsp__ddmulthi(ph, pl, d, stbsp__negbot[eb]);
-01619             stbsp__ddmultlos(ph, pl, d, stbsp__negboterr[eb]);
-01620          }
-01621          if (et) {
-01622             stbsp__ddrenorm(ph, pl);
-01623             --et;
-01624             stbsp__ddmulthi(p2h, p2l, ph, stbsp__negtop[et]);
-01625             stbsp__ddmultlo(p2h, p2l, ph, pl, stbsp__negtop[et], stbsp__negtoperr[et]);
-01626             ph = p2h;
-01627             pl = p2l;
-01628          }
-01629       } else {
-01630          if (eb) {
-01631             e = eb;
-01632             if (eb > 22)
-01633                eb = 22;
-01634             e -= eb;
-01635             stbsp__ddmulthi(ph, pl, d, stbsp__bot[eb]);
-01636             if (e) {
-01637                stbsp__ddrenorm(ph, pl);
-01638                stbsp__ddmulthi(p2h, p2l, ph, stbsp__bot[e]);
-01639                stbsp__ddmultlos(p2h, p2l, stbsp__bot[e], pl);
-01640                ph = p2h;
-01641                pl = p2l;
-01642             }
-01643          }
-01644          if (et) {
-01645             stbsp__ddrenorm(ph, pl);
-01646             --et;
-01647             stbsp__ddmulthi(p2h, p2l, ph, stbsp__top[et]);
-01648             stbsp__ddmultlo(p2h, p2l, ph, pl, stbsp__top[et], stbsp__toperr[et]);
-01649             ph = p2h;
-01650             pl = p2l;
-01651          }
-01652       }
-01653    }
-01654    stbsp__ddrenorm(ph, pl);
-01655    *ohi = ph;
-01656    *olo = pl;
-01657 }
-01658 
-01659 // given a float value, returns the significant bits in bits, and the position of the
-01660 //   decimal point in decimal_pos.  +/-INF and NAN are specified by special values
-01661 //   returned in the decimal_pos parameter.
-01662 // frac_digits is absolute normally, but if you want from first significant digits (got %g and %e), or in 0x80000000
-01663 static stbsp__int32 stbsp__real_to_str(char const **start, stbsp__uint32 *len, char *out, stbsp__int32 *decimal_pos, double value, stbsp__uint32 frac_digits)
-01664 {
-01665    double d;
-01666    stbsp__int64 bits = 0;
-01667    stbsp__int32 expo, e, ng, tens;
-01668 
-01669    d = value;
-01670    STBSP__COPYFP(bits, d);
-01671    expo = (stbsp__int32)((bits >> 52) & 2047);
-01672    ng = (stbsp__int32)((stbsp__uint64) bits >> 63);
-01673    if (ng)
-01674       d = -d;
-01675 
-01676    if (expo == 2047) // is nan or inf?
-01677    {
-01678       *start = (bits & ((((stbsp__uint64)1) << 52) - 1)) ? "NaN" : "Inf";
-01679       *decimal_pos = STBSP__SPECIAL;
-01680       *len = 3;
-01681       return ng;
-01682    }
-01683 
-01684    if (expo == 0) // is zero or denormal
-01685    {
-01686       if ((bits << 1) == 0) // do zero
-01687       {
-01688          *decimal_pos = 1;
-01689          *start = out;
-01690          out[0] = '0';
-01691          *len = 1;
-01692          return ng;
-01693       }
-01694       // find the right expo for denormals
-01695       {
-01696          stbsp__int64 v = ((stbsp__uint64)1) << 51;
-01697          while ((bits & v) == 0) {
-01698             --expo;
-01699             v >>= 1;
-01700          }
-01701       }
-01702    }
-01703 
-01704    // find the decimal exponent as well as the decimal bits of the value
-01705    {
-01706       double ph, pl;
-01707 
-01708       // log10 estimate - very specifically tweaked to hit or undershoot by no more than 1 of log10 of all expos 1..2046
-01709       tens = expo - 1023;
-01710       tens = (tens < 0) ? ((tens * 617) / 2048) : (((tens * 1233) / 4096) + 1);
-01711 
-01712       // move the significant bits into position and stick them into an int
-01713       stbsp__raise_to_power10(&ph, &pl, d, 18 - tens);
-01714 
-01715       // get full as much precision from double-double as possible
-01716       stbsp__ddtoS64(bits, ph, pl);
-01717 
-01718       // check if we undershot
-01719       if (((stbsp__uint64)bits) >= stbsp__tento19th)
-01720          ++tens;
-01721    }
-01722 
-01723    // now do the rounding in integer land
-01724    frac_digits = (frac_digits & 0x80000000) ? ((frac_digits & 0x7ffffff) + 1) : (tens + frac_digits);
-01725    if ((frac_digits < 24)) {
-01726       stbsp__uint32 dg = 1;
-01727       if ((stbsp__uint64)bits >= stbsp__powten[9])
-01728          dg = 10;
-01729       while ((stbsp__uint64)bits >= stbsp__powten[dg]) {
-01730          ++dg;
-01731          if (dg == 20)
-01732             goto noround;
-01733       }
-01734       if (frac_digits < dg) {
-01735          stbsp__uint64 r;
-01736          // add 0.5 at the right position and round
-01737          e = dg - frac_digits;
-01738          if ((stbsp__uint32)e >= 24)
-01739             goto noround;
-01740          r = stbsp__powten[e];
-01741          bits = bits + (r / 2);
-01742          if ((stbsp__uint64)bits >= stbsp__powten[dg])
-01743             ++tens;
-01744          bits /= r;
-01745       }
-01746    noround:;
-01747    }
-01748 
-01749    // kill long trailing runs of zeros
-01750    if (bits) {
-01751       stbsp__uint32 n;
-01752       for (;;) {
-01753          if (bits <= 0xffffffff)
-01754             break;
-01755          if (bits % 1000)
-01756             goto donez;
-01757          bits /= 1000;
-01758       }
-01759       n = (stbsp__uint32)bits;
-01760       while ((n % 1000) == 0)
-01761          n /= 1000;
-01762       bits = n;
-01763    donez:;
-01764    }
-01765 
-01766    // convert to string
-01767    out += 64;
-01768    e = 0;
-01769    for (;;) {
-01770       stbsp__uint32 n;
-01771       char *o = out - 8;
-01772       // do the conversion in chunks of U32s (avoid most 64-bit divides, worth it, constant denomiators be damned)
-01773       if (bits >= 100000000) {
-01774          n = (stbsp__uint32)(bits % 100000000);
-01775          bits /= 100000000;
-01776       } else {
-01777          n = (stbsp__uint32)bits;
-01778          bits = 0;
-01779       }
-01780       while (n) {
-01781          out -= 2;
-01782          *(stbsp__uint16 *)out = *(stbsp__uint16 *)&stbsp__digitpair.pair[(n % 100) * 2];
-01783          n /= 100;
-01784          e += 2;
-01785       }
-01786       if (bits == 0) {
-01787          if ((e) && (out[0] == '0')) {
-01788             ++out;
-01789             --e;
-01790          }
-01791          break;
-01792       }
-01793       while (out != o) {
-01794          *--out = '0';
-01795          ++e;
-01796       }
-01797    }
-01798 
-01799    *decimal_pos = tens;
-01800    *start = out;
-01801    *len = e;
-01802    return ng;
-01803 }
-01804 
-01805 #undef stbsp__ddmulthi
-01806 #undef stbsp__ddrenorm
-01807 #undef stbsp__ddmultlo
-01808 #undef stbsp__ddmultlos
-01809 #undef STBSP__SPECIAL
-01810 #undef STBSP__COPYFP
-01811 
-01812 #endif // STB_SPRINTF_NOFLOAT
-01813 
-01814 // clean up
-01815 #undef stbsp__uint16
-01816 #undef stbsp__uint32
-01817 #undef stbsp__int32
-01818 #undef stbsp__uint64
-01819 #undef stbsp__int64
-01820 #undef STBSP__UNALIGNED
-01821 
-01822 #endif // STB_SPRINTF_IMPLEMENTATION
-01823 
-01824 /*
-01825 ------------------------------------------------------------------------------
-01826 This software is available under 2 licenses -- choose whichever you prefer.
-01827 ------------------------------------------------------------------------------
-01828 ALTERNATIVE A - MIT License
-01829 Copyright (c) 2017 Sean Barrett
-01830 Permission is hereby granted, free of charge, to any person obtaining a copy of
-01831 this software and associated documentation files (the "Software"), to deal in
-01832 the Software without restriction, including without limitation the rights to
-01833 use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-01834 of the Software, and to permit persons to whom the Software is furnished to do
-01835 so, subject to the following conditions:
-01836 The above copyright notice and this permission notice shall be included in all
-01837 copies or substantial portions of the Software.
-01838 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-01839 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-01840 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-01841 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-01842 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-01843 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-01844 SOFTWARE.
-01845 ------------------------------------------------------------------------------
-01846 ALTERNATIVE B - Public Domain (www.unlicense.org)
-01847 This is free and unencumbered software released into the public domain.
-01848 Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
-01849 software, either in source code form or as a compiled binary, for any purpose,
-01850 commercial or non-commercial, and by any means.
-01851 In jurisdictions that recognize copyright laws, the author or authors of this
-01852 software dedicate any and all copyright interest in the software to the public
-01853 domain. We make this dedication for the benefit of the public at large and to
-01854 the detriment of our heirs and successors. We intend this dedication to be an
-01855 overt act of relinquishment in perpetuity of all present and future rights to
-01856 this software under copyright law.
-01857 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-01858 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-01859 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-01860 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-01861 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-01862 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-01863 ------------------------------------------------------------------------------
-01864 */
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/string_8h.html b/doc/html/string_8h.html deleted file mode 100644 index d0910057a..000000000 --- a/doc/html/string_8h.html +++ /dev/null @@ -1,762 +0,0 @@ - - - - -sgdk: string.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
string.h File Reference
-
-
- -

String manipulations. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define _STRING_H_
-#define isdigit(c)   ((c) >= '0' && (c) <= '9')
 Test if specified character is a digit or not.
-#define va_start(v, l)   __builtin_va_start(v,l)
-#define va_end(v)   __builtin_va_end(v)
-#define va_arg(v, l)   __builtin_va_arg(v,l)

-Typedefs

-typedef void * __gnuc_va_list
-typedef __gnuc_va_list va_list

-Functions

u16 strlen (const char *str)
 Calculate the length of a string (limited to 65535 characters maximum).
u16 strnlen (const char *str, u16 maxlen)
 Compute the length of a string, to a maximum number of bytes.
s16 strcmp (const char *str1, const char *str2)
 Compare the 2 strings.
char * strcpy (char *dest, const char *src)
 Copy a string.
char * strncpy (char *dest, const char *src, u16 len)
 Copy the first 'len' character of string.
char * strcat (char *dest, const char *src)
 Concatenate two strings.
u16 sprintf (char *buffer, const char *fmt,...) __attribute__((format(printf
 Composes a string with the same text that would be printed if format was used on printf, but instead of being printed, the content is stored as a C string in the buffer pointed by str.
u16 char * strclr (char *str)
 Clear a string.
char * strreplacechar (char *str, char oldc, char newc)
 Replace the given character in a string.
u16 intToStr (s32 value, char *str, u16 minsize)
 Convert a s32 value to string (input value should be in [-500000000..500000000] range).
u16 uintToStr (u32 value, char *str, u16 minsize)
 Convert a u32 value to string (input value should be in [0..500000000] range).
u16 intToHex (u32 value, char *str, u16 minsize)
 Convert a u32 value to hexadecimal string.
void fix32ToStr (fix32 value, char *str, u16 numdec)
 Convert a fix32 value to string.
void fix16ToStr (fix16 value, char *str, u16 numdec)
 Convert a fix16 value to string.
-

Detailed Description

-

String manipulations.

-
Author:
Stephane Dallongeville
-
-Paspallas Dev
-
-Jack Nolddor
-
-Jesus Alonso (doragasu)
-
Date:
08/2011
-

This unit provides basic null terminated string operations and type conversions.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void fix16ToStr (fix16 value,
char * str,
u16 numdec 
)
-
-
- -

Convert a fix16 value to string.

-
Parameters:
- - - - -
valueThe fix16 value to convert to string.
strDestination string (it must be large enough to receive result).
numdecNumber of wanted decimal.
-
-
-

Converts the specified fix16 value to string.
-

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void fix32ToStr (fix32 value,
char * str,
u16 numdec 
)
-
-
- -

Convert a fix32 value to string.

-
Parameters:
- - - - -
valueThe fix32 value to convert to string.
strDestination string (it must be large enough to receive result).
numdecNumber of wanted decimal.
-
-
-

Converts the specified fix32 value to string.
-

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
u16 intToHex (u32 value,
char * str,
u16 minsize 
)
-
-
- -

Convert a u32 value to hexadecimal string.

-
Parameters:
- - - - -
valueThe u32 integer value to convert to hexadecimal string.
strDestination string (it must be large enough to receive result).
minsizeMinimum size of resulting string.
-
-
-
Returns:
string length
-

Converts the specified u32 value to hexadecimal string.
- If resulting value is shorter than requested minsize the method prepends result with '0' character.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
u16 intToStr (s32 value,
char * str,
u16 minsize 
)
-
-
- -

Convert a s32 value to string (input value should be in [-500000000..500000000] range).

-
Parameters:
- - - - -
valueThe s32 integer value to convert to string (input value should be in [-500000000..500000000] range).
strDestination string (it must be large enough to receive result).
minsizeMinimum size of resulting string.
-
-
-
Returns:
string length
-

Converts the specified s32 value to string.
- If resulting value is shorter than requested minsize the method prepends result with '0' character.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
u16 sprintf (char * buffer,
const char * fmt,
 ... 
)
-
-
- -

Composes a string with the same text that would be printed if format was used on printf, but instead of being printed, the content is stored as a C string in the buffer pointed by str.

-
Parameters:
- - - - -
bufferDestination string (it must be large enough to receive result).
fmtC string that contains the text to be written to destination string.
- It can optionally contain embedded format specifiers.
...(additional arguments) Depending on the format string, the function may expect a sequence of additional arguments,
- each containing a value to be used to replace a format specifier in the format string.
-
-
-

There should be at least as many of these arguments as the number of values specified in the format specifiers.
- Additional arguments are ignored by the function.

-
Returns:
On success, the total number of characters written is returned..
-

Copy the string pointed by 'fmt' param to the 'buffer' param.
- If 'fmt' includes format specifiers (subsequences beginning with %), the additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
char* strcat (char * dest,
const char * src 
)
-
-
- -

Concatenate two strings.

-
Parameters:
- - - -
destDestination string (it must be large enough to receive appending).
srcSource string.
-
-
-
Returns:
pointer on destination string.
-

Appends the source string to the destination string.

- -
-
- -
-
- - - - - - - - -
u16 char* strclr (char * str)
-
-
- -

Clear a string.

-
Parameters:
- - -
strstring to clear.
-
-
-
Returns:
pointer on the given string.
-

Clear the specified string.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
s16 strcmp (const char * str1,
const char * str2 
)
-
-
- -

Compare the 2 strings.

-
Parameters:
- - - -
str1The string we want to compare.
str2The string we want to compare.
-
-
-
Returns:
an integral value indicating the relationship between the strings:
- A zero value indicates that both strings are equal.
- A value greater than zero indicates that the first character that does not match has a greater value in str1 than in str2
- A value less than zero indicates the opposite.
-

This function starts comparing the first character of each string.
- If they are equal to each other, it continues with the following pairs until the characters differ or until a terminating null-character is reached.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
char* strcpy (char * dest,
const char * src 
)
-
-
- -

Copy a string.

-
Parameters:
- - - -
destDestination string (it must be large enough to receive the copy).
srcSource string.
-
-
-
Returns:
pointer on destination string.
-

Copies the source string to destination.

- -
-
- -
-
- - - - - - - - -
u16 strlen (const char * str)
-
-
- -

Calculate the length of a string (limited to 65535 characters maximum).

-
Parameters:
- - -
strThe string we want to calculate the length.
-
-
-
Returns:
length of string
-

This function calculates and returns the length of the specified string (limited to 65535 characters maximum).

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
char* strncpy (char * dest,
const char * src,
u16 len 
)
-
-
- -

Copy the first 'len' character of string.

-
Parameters:
- - - - -
destDestination string (its size must be >= (len + 1)).
srcSource string.
lenMaximum number of character to copy.
-
-
-
Returns:
pointer on destination string.
-

Copies the source string to destination.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u16 strnlen (const char * str,
u16 maxlen 
)
-
-
- -

Compute the length of a string, to a maximum number of bytes.

-
Parameters:
- - - -
strThe string whose length you want to calculate.
maxlenThe maximum length to check.
-
-
-
Returns:
The minimum of 'maxlen' and the number of characters that precede the terminating null character.
-

The strnlen() function computes the length of the string pointed to by 'str', not including the terminating null character ('\0'),
- up to a maximum of 'maxlen' bytes. The function doesn't check any more than the first 'maxlen' bytes.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
char* strreplacechar (char * str,
char oldc,
char newc 
)
-
-
- -

Replace the given character in a string.

-
Parameters:
- - - - -
strThe string to operate on.
oldcThe character being replaced.
newcThe character 'oldc' is replaced with.
-
-
-
Returns:
pointer to the null byte at the end of 'str'.
-

Replace all occurrences of character in a null-terminated string.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
u16 uintToStr (u32 value,
char * str,
u16 minsize 
)
-
-
- -

Convert a u32 value to string (input value should be in [0..500000000] range).

-
Parameters:
- - - - -
valueThe u32 integer value to convert to string (input value should be in [0..500000000] range).
strDestination string (it must be large enough to receive result).
minsizeMinimum size of resulting string.
-
-
-
Returns:
string length
-

Converts the specified u32 value to string.
- If resulting value is shorter than requested minsize the method prepends result with '0' character.

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/string_8h_source.html b/doc/html/string_8h_source.html deleted file mode 100644 index 2ee840f13..000000000 --- a/doc/html/string_8h_source.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - -sgdk: string.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
string.h
-
-
-Go to the documentation of this file.
00001 
-00013 #if (ENABLE_NEWLIB != 0) && !defined(_NEWLIB_STRING_H_)
-00014 #define _NEWLIB_STRING_H_
-00015 #include_next <string.h> // Include string.h from newlib
-00016 #undef _STRING_H_        // Will be defined again just below
-00017 #endif
-00018 
-00019 #ifndef _STRING_H_
-00020 #define _STRING_H_
-00021 
-00022 #if (ENABLE_NEWLIB == 0) || !defined(ENABLE_NEWLIB)
-00023 
-00028 #define isdigit(c)      ((c) >= '0' && (c) <= '9')
-00029 
-00030 
-00031 typedef void *__gnuc_va_list;
-00032 typedef __gnuc_va_list va_list;
-00033 
-00034 #define va_start(v,l) __builtin_va_start(v,l)
-00035 #define va_end(v) __builtin_va_end(v)
-00036 #define va_arg(v,l) __builtin_va_arg(v,l)
-00037 
-00038 
-00049 u16 strlen(const char *str);
-00064 u16 strnlen(const char *str, u16 maxlen);
-00082 s16 strcmp(const char *str1, const char *str2);
-00083 
-00096 char* strcpy(char *dest, const char *src);
-00111 char* strncpy(char *dest, const char *src, u16 len);
-00124 char* strcat(char *dest, const char *src);
-00150 u16 sprintf(char *buffer,const char *fmt, ...) __attribute__ ((format (printf, 2, 3)));
-00151 
-00152 #endif  // ENABLE_NEWLIB
-00153 
-00164 char* strclr(char *str);
-00179 char *strreplacechar(char *str, char oldc, char newc);
-00195 u16 intToStr(s32 value, char *str, u16 minsize);
-00211 u16 uintToStr(u32 value, char *str, u16 minsize);
-00227 u16 intToHex(u32 value, char *str, u16 minsize);
-00228 
-00242 void fix32ToStr(fix32 value, char *str, u16 numdec);
-00256 void fix16ToStr(fix16 value, char *str, u16 numdec);
-00257 
-00258 #endif // _STRING_H_
-00259 
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct__collision-members.html b/doc/html/struct__collision-members.html deleted file mode 100644 index 62a6b38c9..000000000 --- a/doc/html/struct__collision-members.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
_collision Member List
-
-
-This is the complete list of members for _collision, including all inherited members. - - - - - - -
attack (defined in _collision)_collision
box (defined in _collision)_collision
circle (defined in _collision)_collision
hit (defined in _collision)_collision
typeAttack (defined in _collision)_collision
typeHit (defined in _collision)_collision
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct__collision.html b/doc/html/struct__collision.html deleted file mode 100644 index 8ae1b53bc..000000000 --- a/doc/html/struct__collision.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - -sgdk: _collision Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
_collision Struct Reference
-
-
- -

List of all members.

- - - - - - - - - - - - -

-Public Attributes

-u8 typeHit
-u8 typeAttack
-union {
   BoxCollision   box
   CircleCollision   circle
hit
-union {
   BoxCollision   box
   CircleCollision   circle
attack
-
The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_animation-members.html b/doc/html/struct_animation-members.html deleted file mode 100644 index fa33b8c54..000000000 --- a/doc/html/struct_animation-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Animation Member List
-
-
-This is the complete list of members for Animation, including all inherited members. - - - -
frames (defined in Animation)Animation
loop (defined in Animation)Animation
numFrame (defined in Animation)Animation
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_animation.html b/doc/html/struct_animation.html deleted file mode 100644 index 36ed3a98e..000000000 --- a/doc/html/struct_animation.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - -sgdk: Animation Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Animation Struct Reference
-
-
- -

Sprite animation structure. - More...

- -

#include <sprite_eng.h>

- -

List of all members.

- - - - - -

-Public Attributes

-u8 numFrame
-u8 loop
-AnimationFrame ** frames
-

Detailed Description

-

Sprite animation structure.

-
Parameters:
- - - - -
numFramenumber of different frame for this animation (max = 255)
loopframe index for loop (last index if no loop)
framesframes composing the animation
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_animation_frame-members.html b/doc/html/struct_animation_frame-members.html deleted file mode 100644 index 798b93cea..000000000 --- a/doc/html/struct_animation_frame-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
AnimationFrame Member List
-
-
-This is the complete list of members for AnimationFrame, including all inherited members. - - - - - -
collision (defined in AnimationFrame)AnimationFrame
frameVDPSprites (defined in AnimationFrame)AnimationFrame
numSprite (defined in AnimationFrame)AnimationFrame
tileset (defined in AnimationFrame)AnimationFrame
timer (defined in AnimationFrame)AnimationFrame
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_animation_frame.html b/doc/html/struct_animation_frame.html deleted file mode 100644 index 704ef7619..000000000 --- a/doc/html/struct_animation_frame.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - -sgdk: AnimationFrame Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
AnimationFrame Struct Reference
-
-
- -

Sprite animation frame structure. - More...

- -

#include <sprite_eng.h>

- -

List of all members.

- - - - - - - -

-Public Attributes

-u8 numSprite
-u8 timer
-TileSettileset
-Collisioncollision
-FrameVDPSprite frameVDPSprites []
-

Detailed Description

-

Sprite animation frame structure.

-
Parameters:
- - - - - - -
numSpritenumber of VDP sprite which compose this frame
timeractive time for this frame (in 1/60 of second)
tilesettileset containing tiles for this animation frame (ordered for sprite)
collisioncollision structure (not used currently)
frameSpritesarray of VDP sprites info composing the frame
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_bitmap-members.html b/doc/html/struct_bitmap-members.html deleted file mode 100644 index 439640539..000000000 --- a/doc/html/struct_bitmap-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Bitmap Member List
-
-
-This is the complete list of members for Bitmap, including all inherited members. - - - - - -
compression (defined in Bitmap)Bitmap
h (defined in Bitmap)Bitmap
image (defined in Bitmap)Bitmap
palette (defined in Bitmap)Bitmap
w (defined in Bitmap)Bitmap
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_bitmap.html b/doc/html/struct_bitmap.html deleted file mode 100644 index 7331df342..000000000 --- a/doc/html/struct_bitmap.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - -sgdk: Bitmap Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Bitmap Struct Reference
-
-
- -

Genesis 4bpp Bitmap structure definition.
- Use the unpackBitmap() method to unpack if compression is enabled. - More...

- -

#include <bmp.h>

- -

List of all members.

- - - - - - - -

-Public Attributes

-u16 compression
-u16 w
-u16 h
-const Palettepalette
-const u8image
-

Detailed Description

-

Genesis 4bpp Bitmap structure definition.
- Use the unpackBitmap() method to unpack if compression is enabled.

-
Parameters:
- - - - - - -
compressioncompression type for image data, accepted values:
- COMPRESSION_NONE
- COMPRESSION_APLIB
- COMPRESSION_LZ4W
-
wWidth in pixel.
hHeight in pixel.
palettePalette data.
imageImage data, array size = (w * h / 2) - can be FAR pointer (see mapper.h unit for explaination)
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_box-members.html b/doc/html/struct_box-members.html deleted file mode 100644 index 17c2cdb1c..000000000 --- a/doc/html/struct_box-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Box Member List
-
-
-This is the complete list of members for Box, including all inherited members. - - - - -
h (defined in Box)Box
w (defined in Box)Box
x (defined in Box)Box
y (defined in Box)Box
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_box.html b/doc/html/struct_box.html deleted file mode 100644 index 4966e7ec2..000000000 --- a/doc/html/struct_box.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - -sgdk: Box Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Box Struct Reference
-
-
- -

Simple Box structure. - More...

- -

#include <types.h>

- -

List of all members.

- - - - - - -

-Public Attributes

-s16 x
-s16 y
-u16 w
-u16 h
-

Detailed Description

-

Simple Box structure.

-
Parameters:
- - - - - -
xX position (left)
yY position (top)
wwidth
hheigth
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_box_collision-members.html b/doc/html/struct_box_collision-members.html deleted file mode 100644 index 029162986..000000000 --- a/doc/html/struct_box_collision-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
BoxCollision Member List
-
-
-This is the complete list of members for BoxCollision, including all inherited members. - - - - -
h (defined in BoxCollision)BoxCollision
w (defined in BoxCollision)BoxCollision
x (defined in BoxCollision)BoxCollision
y (defined in BoxCollision)BoxCollision
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_box_collision.html b/doc/html/struct_box_collision.html deleted file mode 100644 index fc8f5abb4..000000000 --- a/doc/html/struct_box_collision.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - -sgdk: BoxCollision Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
BoxCollision Struct Reference
-
-
- -

Simple Box structure for collision. - More...

- -

#include <sprite_eng.h>

- -

List of all members.

- - - - - - -

-Public Attributes

-s8 x
-s8 y
-u8 w
-u8 h
-

Detailed Description

-

Simple Box structure for collision.

-
Parameters:
- - - - - -
xX position (left)
yY position (top)
wwidth
hheigth
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_circle-members.html b/doc/html/struct_circle-members.html deleted file mode 100644 index e36cd3c46..000000000 --- a/doc/html/struct_circle-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Circle Member List
-
-
-This is the complete list of members for Circle, including all inherited members. - - - -
ray (defined in Circle)Circle
x (defined in Circle)Circle
y (defined in Circle)Circle
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_circle.html b/doc/html/struct_circle.html deleted file mode 100644 index 620686f5f..000000000 --- a/doc/html/struct_circle.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - -sgdk: Circle Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Circle Struct Reference
-
-
- -

Simple Circle structure. - More...

- -

#include <types.h>

- -

List of all members.

- - - - - -

-Public Attributes

-s16 x
-s16 y
-u16 ray
-

Detailed Description

-

Simple Circle structure.

-
Parameters:
- - - - -
xX center position
yY center position
raycircle ray
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_circle_collision-members.html b/doc/html/struct_circle_collision-members.html deleted file mode 100644 index 640783ba5..000000000 --- a/doc/html/struct_circle_collision-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
CircleCollision Member List
-
-
-This is the complete list of members for CircleCollision, including all inherited members. - - - -
ray (defined in CircleCollision)CircleCollision
x (defined in CircleCollision)CircleCollision
y (defined in CircleCollision)CircleCollision
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_circle_collision.html b/doc/html/struct_circle_collision.html deleted file mode 100644 index 3456f6c39..000000000 --- a/doc/html/struct_circle_collision.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - -sgdk: CircleCollision Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
CircleCollision Struct Reference
-
-
- -

Simple Circle structure (can be used for collision detection) - More...

- -

#include <sprite_eng.h>

- -

List of all members.

- - - - - -

-Public Attributes

-s8 x
-s8 y
-u16 ray
-

Detailed Description

-

Simple Circle structure (can be used for collision detection)

-
Parameters:
- - - - -
xX center position
yY center position
raycircle ray
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_collision.html b/doc/html/struct_collision.html deleted file mode 100644 index d82f168f0..000000000 --- a/doc/html/struct_collision.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - -sgdk: Collision Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Collision Struct Reference
-
-
- -

Collision definition union. - More...

- -

#include <sprite_eng.h>

- -
-

Detailed Description

-

Collision definition union.

-
Parameters:
- - - - - - - -
typeHitCollision type for hit collision:
- Allowed values are COLLISION_TYPE_BOX or COLLISION_TYPE_CIRCLE.
typeAttackCollision type for attack collision (can be used as alternative hit collision):
- Allowed values are COLLISION_TYPE_BOX or COLLISION_TYPE_CIRCLE.
boxBoxCollision definition if type = COLLISION_TYPE_BOX
circleCircleCollision definition if type = COLLISION_TYPE_CIRCLE
innerif current collision is verified then we test inner for more precise collision if needed
nextif current collision is not verified then we test next for next collision if needed
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_context3_d-members.html b/doc/html/struct_context3_d-members.html deleted file mode 100644 index e7bad2d8b..000000000 --- a/doc/html/struct_context3_d-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Context3D Member List
-
-
-This is the complete list of members for Context3D, including all inherited members. - - - - -
camDist (defined in Context3D)Context3D
light (defined in Context3D)Context3D
lightEnabled (defined in Context3D)Context3D
viewport (defined in Context3D)Context3D
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_context3_d.html b/doc/html/struct_context3_d.html deleted file mode 100644 index dd149b3eb..000000000 --- a/doc/html/struct_context3_d.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - -sgdk: Context3D Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Context3D Struct Reference
-
-
- -

Structure hosting settings / context for the 3D transform engine. - More...

- -

#include <maths3D.h>

- -

List of all members.

- - - - - - -

-Public Attributes

-V2u16 viewport
-fix16 camDist
-V3f16 light
-u16 lightEnabled
-

Detailed Description

-

Structure hosting settings / context for the 3D transform engine.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_d_m_a_op_info-members.html b/doc/html/struct_d_m_a_op_info-members.html deleted file mode 100644 index 51fe6c093..000000000 --- a/doc/html/struct_d_m_a_op_info-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
DMAOpInfo Member List
-
-
-This is the complete list of members for DMAOpInfo, including all inherited members. - - - - - -
regAddrHAddrL (defined in DMAOpInfo)DMAOpInfo
regAddrMStep (defined in DMAOpInfo)DMAOpInfo
regCtrlWrite (defined in DMAOpInfo)DMAOpInfo
regLenH (defined in DMAOpInfo)DMAOpInfo
regLenL (defined in DMAOpInfo)DMAOpInfo
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_d_m_a_op_info.html b/doc/html/struct_d_m_a_op_info.html deleted file mode 100644 index fdf982444..000000000 --- a/doc/html/struct_d_m_a_op_info.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - -sgdk: DMAOpInfo Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
DMAOpInfo Struct Reference
-
-
- -

DMA transfer definition (used for DMA queue) - More...

- -

#include <dma.h>

- -

List of all members.

- - - - - - - -

-Public Attributes

-u16 regLenL
-u16 regLenH
-u32 regAddrMStep
-u32 regAddrHAddrL
-u32 regCtrlWrite
-

Detailed Description

-

DMA transfer definition (used for DMA queue)

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_frame_v_d_p_sprite-members.html b/doc/html/struct_frame_v_d_p_sprite-members.html deleted file mode 100644 index 986f47f11..000000000 --- a/doc/html/struct_frame_v_d_p_sprite-members.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
FrameVDPSprite Member List
-
-
-This is the complete list of members for FrameVDPSprite, including all inherited members. - - - - - - -
numTile (defined in FrameVDPSprite)FrameVDPSprite
offsetX (defined in FrameVDPSprite)FrameVDPSprite
offsetXFlip (defined in FrameVDPSprite)FrameVDPSprite
offsetY (defined in FrameVDPSprite)FrameVDPSprite
offsetYFlip (defined in FrameVDPSprite)FrameVDPSprite
size (defined in FrameVDPSprite)FrameVDPSprite
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_frame_v_d_p_sprite.html b/doc/html/struct_frame_v_d_p_sprite.html deleted file mode 100644 index b404e9b57..000000000 --- a/doc/html/struct_frame_v_d_p_sprite.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - -sgdk: FrameVDPSprite Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
FrameVDPSprite Struct Reference
-
-
- -

Single VDP sprite info structure for sprite animation frame. - More...

- -

#include <sprite_eng.h>

- -

List of all members.

- - - - - - - - -

-Public Attributes

-u8 offsetY
-u8 offsetYFlip
-u8 size
-u8 offsetX
-u8 offsetXFlip
-u8 numTile
-

Detailed Description

-

Single VDP sprite info structure for sprite animation frame.

-
Parameters:
- - - - - - - -
offsetYY offset for this VDP sprite relative to global Sprite position
offsetYFlipY offset (flip version) for this VDP sprite relative to global Sprite position
sizesprite size (see SPRITE_SIZE macro)
offsetXX offset for this VDP sprite relative to global Sprite position
offsetXFlipX offset (flip version) for this VDP sprite relative to global Sprite position
numTilenumber of tile for this VDP sprite (should be coherent with the given size field)
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_image-members.html b/doc/html/struct_image-members.html deleted file mode 100644 index 2d71455f9..000000000 --- a/doc/html/struct_image-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Image Member List
-
-
-This is the complete list of members for Image, including all inherited members. - - - -
palette (defined in Image)Image
tilemap (defined in Image)Image
tileset (defined in Image)Image
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_image.html b/doc/html/struct_image.html deleted file mode 100644 index c5334237f..000000000 --- a/doc/html/struct_image.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - -sgdk: Image Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Image Struct Reference
-
-
- -

Image structure which contains all data to define an image in a background plane.
- Use the unpackImage() method to unpack if compression is enabled in TileSet or TileMap structure. - More...

- -

#include <vdp_bg.h>

- -

List of all members.

- - - - - -

-Public Attributes

-Palettepalette
-TileSettileset
-TileMaptilemap
-

Detailed Description

-

Image structure which contains all data to define an image in a background plane.
- Use the unpackImage() method to unpack if compression is enabled in TileSet or TileMap structure.

-
Parameters:
- - - - -
palettePalette data.
tilesetTileSet data structure (contains tiles definition for the image).
tilemapTileMap data structure (contains tilemap definition for the image).
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_line-members.html b/doc/html/struct_line-members.html deleted file mode 100644 index 31b2fd6ec..000000000 --- a/doc/html/struct_line-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Line Member List
-
-
-This is the complete list of members for Line, including all inherited members. - - - -
col (defined in Line)Line
pt1 (defined in Line)Line
pt2 (defined in Line)Line
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_line.html b/doc/html/struct_line.html deleted file mode 100644 index 03a206b2d..000000000 --- a/doc/html/struct_line.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - -sgdk: Line Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Line Struct Reference
-
-
- -

Line definition. - More...

- -

#include <bmp.h>

- -

List of all members.

- - - - - -

-Public Attributes

-Vect2D_s16 pt1
-Vect2D_s16 pt2
-u16 col
-

Detailed Description

-

Line definition.

-
Parameters:
- - - - -
pt1Start point.
pt2End point.
colColor (should be 8 bits filled: 0x0000, 0x0011, .. for plain color). we use u16 for alignment optimization
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_map-members.html b/doc/html/struct_map-members.html deleted file mode 100644 index 2283370b3..000000000 --- a/doc/html/struct_map-members.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Map Member List
-
-
-This is the complete list of members for Map, including all inherited members. - - - - - - - - - - - - - - - - - - - - - - -
baseTile (defined in Map)Map
blockIndexes (defined in Map)Map
blockRowOffsets (defined in Map)Map
blocks (defined in Map)Map
getMetaTileCB (defined in Map)Map
getMetaTilemapRectCB (defined in Map)Map
h (defined in Map)Map
hMask (defined in Map)Map
hScrollTable (defined in Map)Map
lastXT (defined in Map)Map
lastYT (defined in Map)Map
metaTiles (defined in Map)Map
plane (defined in Map)Map
planeHeightMask (defined in Map)Map
planeWidthMask (defined in Map)Map
posX (defined in Map)Map
posY (defined in Map)Map
prepareMapDataColumnCB (defined in Map)Map
prepareMapDataRowCB (defined in Map)Map
vScrollTable (defined in Map)Map
w (defined in Map)Map
wMask (defined in Map)Map
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_map.html b/doc/html/struct_map.html deleted file mode 100644 index 1be816bbf..000000000 --- a/doc/html/struct_map.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - -sgdk: Map Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Map Struct Reference
-
-
- -

Map structure containing information for large background/plane update based on MapDefinition. - More...

- -

#include <map.h>

- -

List of all members.

- - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-u16 w
-u16 h
-u16metaTiles
-void * blocks
-void * blockIndexes
-u16blockRowOffsets
-VDPPlane plane
-u16 baseTile
-u32 posX
-u32 posY
-u16 wMask
-u16 hMask
-u16 planeWidthMask
-u16 planeHeightMask
-u16 lastXT
-u16 lastYT
-u16 hScrollTable [240]
-u16 vScrollTable [20]
-void(* prepareMapDataColumnCB )(struct Map *map, u16 *bufCol1, u16 *bufCol2, u16 xm, u16 ym, u16 height)
-void(* prepareMapDataRowCB )(struct Map *map, u16 *bufRow1, u16 *bufRow2, u16 xm, u16 ym, u16 width)
-u16(* getMetaTileCB )(struct Map *map, u16 x, u16 y)
-void(* getMetaTilemapRectCB )(struct Map *map, u16 x, u16 y, u16 w, u16 h, u16 *dest)
-

Detailed Description

-

Map structure containing information for large background/plane update based on MapDefinition.

-
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - -
wmap width in block (128x128 pixels block)
hmap height in block (128x128 pixels block)
metaTilesinternal - unpacked data of MapDefinition.metaTiles
blocksinternal - unpacked data of MapDefinition.blocks
blockIndexesinternal - unpacked data of MapDefinition.blockIndexes
blockRowOffsetsinternal - direct access of MapDefinition.blockRowOffsets
planeVDP plane where MAP is draw
baseTileBase tile attributes used to provide base tile index offset and base palette index (see TILE_ATTR_FULL() macro)
posXcurrent view position X set using MAP_scrollTo(..) method
posYcurrent view position Y set using MAP_scrollTo(..) method
wMaskinternal
hMaskinternal
planeWidthMaskinternal
planeHeightMaskinternal
lastXTinternal
lastYTinternal
prepareMapDataColumnCBinternal
prepareMapDataRowCBinternal
hScrollTableinternal
vScrollTableinternal
getMetaTileCBinternal
getMetaTilemapRectCBinternal
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_map_definition-members.html b/doc/html/struct_map_definition-members.html deleted file mode 100644 index e93cad687..000000000 --- a/doc/html/struct_map_definition-members.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
MapDefinition Member List
-
-
-This is the complete list of members for MapDefinition, including all inherited members. - - - - - - - - - - -
blockIndexes (defined in MapDefinition)MapDefinition
blockRowOffsets (defined in MapDefinition)MapDefinition
blocks (defined in MapDefinition)MapDefinition
compression (defined in MapDefinition)MapDefinition
h (defined in MapDefinition)MapDefinition
hp (defined in MapDefinition)MapDefinition
metaTiles (defined in MapDefinition)MapDefinition
numBlock (defined in MapDefinition)MapDefinition
numMetaTile (defined in MapDefinition)MapDefinition
w (defined in MapDefinition)MapDefinition
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_map_definition.html b/doc/html/struct_map_definition.html deleted file mode 100644 index 638c40c09..000000000 --- a/doc/html/struct_map_definition.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - -sgdk: MapDefinition Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
MapDefinition Struct Reference
-
-
- -

MapDefinition structure which contains data for large level background.
- It's optimized to encode large map using 128x128 block chunk (block chunk are organized in metatile). - More...

- -

#include <map.h>

- -

List of all members.

- - - - - - - - - - - - -

-Public Attributes

-u16 w
-u16 h
-u16 hp
-u16 compression
-u16 numMetaTile
-u16 numBlock
-u16metaTiles
-void * blocks
-void * blockIndexes
-u16blockRowOffsets
-

Detailed Description

-

MapDefinition structure which contains data for large level background.
- It's optimized to encode large map using 128x128 block chunk (block chunk are organized in metatile).

-
Parameters:
- - - - - - - - - - - -
wmap width in block (128x128 pixels block).
hmap height in block (128x128 pixels block).
hpmap height in block (128x128 pixels block) removing duplicated rows
compressionb0-b3=compression type for metaTiles
- b4-b7=compression for blocks data
- b8-b11=compression for blockIndexes data
- Accepted values:
- COMPRESSION_NONE
- COMPRESSION_APLIB
- COMPRESSION_LZ4W
-
numMetaTilenumber of MetaTile
numBlocknumber of Block (128x128 pixels chunk)
metaTilesmetatiles definition, each metatile is encoded as 2x2 tiles block:
-
    -
  • b15: priority
    -
  • -
  • b14-b13: palette
    -
  • -
  • b12: vflip
    -
  • -
  • b11: hflip
    -
  • -
  • b10-b0: tile index (from tileset)
  • -
-
blocksblocks definition, each block is encoded as 8x8 metatiles:
- if numMetaTile <= 256 --> 8 bit index for metaTile
- else --> 16 bit index for metaTile
blockIndexesblock index array (referencing blocks) for the w * hp sized map
- if numBlock <= 256 --> 8 bit index for block else --> 16 bit index for block
blockRowOffsetsblock row offsets used internally for fast retrieval of block data (index = blockIndexes[blockRowOffsets[y] + x])
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_mat2_d__f16-members.html b/doc/html/struct_mat2_d__f16-members.html deleted file mode 100644 index 7b408de80..000000000 --- a/doc/html/struct_mat2_d__f16-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Mat2D_f16 Member List
-
-
-This is the complete list of members for Mat2D_f16, including all inherited members. - - -
a (defined in Mat2D_f16)Mat2D_f16
b (defined in Mat2D_f16)Mat2D_f16
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_mat2_d__f16.html b/doc/html/struct_mat2_d__f16.html deleted file mode 100644 index cf9ebbd91..000000000 --- a/doc/html/struct_mat2_d__f16.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - -sgdk: Mat2D_f16 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Mat2D_f16 Struct Reference
-
-
- -

2x2 Matrice structure - f16 (fix16) type.
- Internally uses 2 2D vectors. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - -

-Public Attributes

-Vect2D_f16 a
-Vect2D_f16 b
-

Detailed Description

-

2x2 Matrice structure - f16 (fix16) type.
- Internally uses 2 2D vectors.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_mat2_d__f32-members.html b/doc/html/struct_mat2_d__f32-members.html deleted file mode 100644 index 76c11e442..000000000 --- a/doc/html/struct_mat2_d__f32-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Mat2D_f32 Member List
-
-
-This is the complete list of members for Mat2D_f32, including all inherited members. - - -
a (defined in Mat2D_f32)Mat2D_f32
b (defined in Mat2D_f32)Mat2D_f32
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_mat2_d__f32.html b/doc/html/struct_mat2_d__f32.html deleted file mode 100644 index cc149693e..000000000 --- a/doc/html/struct_mat2_d__f32.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - -sgdk: Mat2D_f32 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Mat2D_f32 Struct Reference
-
-
- -

2x2 Matrice structure - f32 (fix32) type.
- Internally uses 2 2D vectors. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - -

-Public Attributes

-Vect2D_f32 a
-Vect2D_f32 b
-

Detailed Description

-

2x2 Matrice structure - f32 (fix32) type.
- Internally uses 2 2D vectors.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_mat3_d__f16-members.html b/doc/html/struct_mat3_d__f16-members.html deleted file mode 100644 index e85ec8d86..000000000 --- a/doc/html/struct_mat3_d__f16-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Mat3D_f16 Member List
-
-
-This is the complete list of members for Mat3D_f16, including all inherited members. - - - -
a (defined in Mat3D_f16)Mat3D_f16
b (defined in Mat3D_f16)Mat3D_f16
c (defined in Mat3D_f16)Mat3D_f16
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_mat3_d__f16.html b/doc/html/struct_mat3_d__f16.html deleted file mode 100644 index 9489ad758..000000000 --- a/doc/html/struct_mat3_d__f16.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - -sgdk: Mat3D_f16 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Mat3D_f16 Struct Reference
-
-
- -

3x3 Matrice structure - f16 (fix16) type.
- Internally uses 3 3D vectors. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - - -

-Public Attributes

-Vect3D_f16 a
-Vect3D_f16 b
-Vect3D_f16 c
-

Detailed Description

-

3x3 Matrice structure - f16 (fix16) type.
- Internally uses 3 3D vectors.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_mat3_d__f32-members.html b/doc/html/struct_mat3_d__f32-members.html deleted file mode 100644 index 199feb795..000000000 --- a/doc/html/struct_mat3_d__f32-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Mat3D_f32 Member List
-
-
-This is the complete list of members for Mat3D_f32, including all inherited members. - - - -
a (defined in Mat3D_f32)Mat3D_f32
b (defined in Mat3D_f32)Mat3D_f32
c (defined in Mat3D_f32)Mat3D_f32
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_mat3_d__f32.html b/doc/html/struct_mat3_d__f32.html deleted file mode 100644 index 9497c8dd1..000000000 --- a/doc/html/struct_mat3_d__f32.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - -sgdk: Mat3D_f32 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Mat3D_f32 Struct Reference
-
-
- -

3x3 Matrice structure - f32 (fix32) type.
- Internally uses 3 3D vectors. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - - -

-Public Attributes

-Vect3D_f32 a
-Vect3D_f32 b
-Vect3D_f32 c
-

Detailed Description

-

3x3 Matrice structure - f32 (fix32) type.
- Internally uses 3 3D vectors.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_mat4_d__f16-members.html b/doc/html/struct_mat4_d__f16-members.html deleted file mode 100644 index 42e16237a..000000000 --- a/doc/html/struct_mat4_d__f16-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Mat4D_f16 Member List
-
-
-This is the complete list of members for Mat4D_f16, including all inherited members. - - - - -
a (defined in Mat4D_f16)Mat4D_f16
b (defined in Mat4D_f16)Mat4D_f16
c (defined in Mat4D_f16)Mat4D_f16
d (defined in Mat4D_f16)Mat4D_f16
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_mat4_d__f16.html b/doc/html/struct_mat4_d__f16.html deleted file mode 100644 index 3864df7c1..000000000 --- a/doc/html/struct_mat4_d__f16.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - -sgdk: Mat4D_f16 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Mat4D_f16 Struct Reference
-
-
- -

4x4 Matrice structure - f16 (fix16) type.
- Internally uses 4 4D vectors. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - - - -

-Public Attributes

-Vect4D_f16 a
-Vect4D_f16 b
-Vect4D_f16 c
-Vect4D_f16 d
-

Detailed Description

-

4x4 Matrice structure - f16 (fix16) type.
- Internally uses 4 4D vectors.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_mat4_d__f32-members.html b/doc/html/struct_mat4_d__f32-members.html deleted file mode 100644 index c6e849e7f..000000000 --- a/doc/html/struct_mat4_d__f32-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Mat4D_f32 Member List
-
-
-This is the complete list of members for Mat4D_f32, including all inherited members. - - - - -
a (defined in Mat4D_f32)Mat4D_f32
b (defined in Mat4D_f32)Mat4D_f32
c (defined in Mat4D_f32)Mat4D_f32
d (defined in Mat4D_f32)Mat4D_f32
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_mat4_d__f32.html b/doc/html/struct_mat4_d__f32.html deleted file mode 100644 index e5517cd9d..000000000 --- a/doc/html/struct_mat4_d__f32.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - -sgdk: Mat4D_f32 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Mat4D_f32 Struct Reference
-
-
- -

4x4 Matrice structure - f32 (fix32) type.
- Internally uses 4 4D vectors. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - - - -

-Public Attributes

-Vect4D_f32 a
-Vect4D_f32 b
-Vect4D_f32 c
-Vect4D_f32 d
-

Detailed Description

-

4x4 Matrice structure - f32 (fix32) type.
- Internally uses 4 4D vectors.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_object__-members.html b/doc/html/struct_object__-members.html deleted file mode 100644 index c83b295d2..000000000 --- a/doc/html/struct_object__-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Object_ Member List
-
-
-This is the complete list of members for Object_, including all inherited members. - - - - - -
end (defined in Object_)Object_
init (defined in Object_)Object_
internalState (defined in Object_)Object_
type (defined in Object_)Object_
update (defined in Object_)Object_
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_object__.html b/doc/html/struct_object__.html deleted file mode 100644 index af5f17315..000000000 --- a/doc/html/struct_object__.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - -sgdk: Object_ Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Object_ Struct Reference
-
-
- -

Base object structure. - More...

- -

#include <object.h>

- -

List of all members.

- - - - - - - -

-Public Attributes

-u16 internalState
-u16 type
-ObjectCallbackinit
-ObjectCallbackupdate
-ObjectCallbackend
-

Detailed Description

-

Base object structure.

-
Parameters:
- - - - - - -
internalStateObject internal state, you can use it but you should save bit 15 as it's used internally to detect invalid object
typeObject type, can be used to recognize the underlying object / structure type.
initInitialisation function callback, should be only called once after object creation
updateUpdate function callback, usually called once per frame
endEnding function callback, should be only called once before object release
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_palette-members.html b/doc/html/struct_palette-members.html deleted file mode 100644 index 44ec2be3d..000000000 --- a/doc/html/struct_palette-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Palette Member List
-
-
-This is the complete list of members for Palette, including all inherited members. - - -
data (defined in Palette)Palette
length (defined in Palette)Palette
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_palette.html b/doc/html/struct_palette.html deleted file mode 100644 index b58f5914a..000000000 --- a/doc/html/struct_palette.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - -sgdk: Palette Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Palette Struct Reference
-
-
- -

Palette structure contains color data. - More...

- -

#include <pal.h>

- -

List of all members.

- - - - -

-Public Attributes

-u16 length
-u16data
-

Detailed Description

-

Palette structure contains color data.

-
Parameters:
- - - -
lengthSize of this palette.
datColor data.
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_pixel-members.html b/doc/html/struct_pixel-members.html deleted file mode 100644 index 195611ed1..000000000 --- a/doc/html/struct_pixel-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Pixel Member List
-
-
-This is the complete list of members for Pixel, including all inherited members. - - -
col (defined in Pixel)Pixel
pt (defined in Pixel)Pixel
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_pixel.html b/doc/html/struct_pixel.html deleted file mode 100644 index 34e0802aa..000000000 --- a/doc/html/struct_pixel.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - -sgdk: Pixel Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Pixel Struct Reference
-
-
- -

Pixel definition. - More...

- -

#include <bmp.h>

- -

List of all members.

- - - - -

-Public Attributes

-Vect2D_s16 pt
-u16 col
-

Detailed Description

-

Pixel definition.

-
Parameters:
- - - -
ptCoordinates.
colColor (should be 8 bits filled: 0x0000, 0x0011, .. for plain color). we use u16 for alignment optimization
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_pool-members.html b/doc/html/struct_pool-members.html deleted file mode 100644 index 510920dcb..000000000 --- a/doc/html/struct_pool-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Pool Member List
-
-
-This is the complete list of members for Pool, including all inherited members. - - - - - -
allocStack (defined in Pool)Pool
bank (defined in Pool)Pool
free (defined in Pool)Pool
objectSize (defined in Pool)Pool
size (defined in Pool)Pool
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_pool.html b/doc/html/struct_pool.html deleted file mode 100644 index 3e81bc4d3..000000000 --- a/doc/html/struct_pool.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - -sgdk: Pool Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Pool Struct Reference
-
-
- -

Object pool allocator structure. - More...

- -

#include <pool.h>

- -

List of all members.

- - - - - - - -

-Public Attributes

-void * bank
-void ** allocStack
-void ** free
-u16 objectSize
-u16 size
-

Detailed Description

-

Object pool allocator structure.

-
Parameters:
- - - - - - -
bankbank data
allocStackallocation stack used for fast allocate / release operation
freepoint on first available object in the allocation stack
objectSizesize of a single object (in bytes)
sizesize of the object pool (in number of object)
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_r_o_m_header-members.html b/doc/html/struct_r_o_m_header-members.html deleted file mode 100644 index 61a93392c..000000000 --- a/doc/html/struct_r_o_m_header-members.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
ROMHeader Member List
-
-
-This is the complete list of members for ROMHeader, including all inherited members. - - - - - - - - - - - - - - - - - - -
checksum (defined in ROMHeader)ROMHeader
console (defined in ROMHeader)ROMHeader
copyright (defined in ROMHeader)ROMHeader
IOSupport (defined in ROMHeader)ROMHeader
modem_support (defined in ROMHeader)ROMHeader
notes (defined in ROMHeader)ROMHeader
ram_end (defined in ROMHeader)ROMHeader
ram_start (defined in ROMHeader)ROMHeader
region (defined in ROMHeader)ROMHeader
rom_end (defined in ROMHeader)ROMHeader
rom_start (defined in ROMHeader)ROMHeader
serial (defined in ROMHeader)ROMHeader
sram_end (defined in ROMHeader)ROMHeader
sram_sig (defined in ROMHeader)ROMHeader
sram_start (defined in ROMHeader)ROMHeader
sram_type (defined in ROMHeader)ROMHeader
title_int (defined in ROMHeader)ROMHeader
title_local (defined in ROMHeader)ROMHeader
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_r_o_m_header.html b/doc/html/struct_r_o_m_header.html deleted file mode 100644 index 83d93b720..000000000 --- a/doc/html/struct_r_o_m_header.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - -sgdk: ROMHeader Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
ROMHeader Struct Reference
-
-
- -

List of all members.

- - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-char console [16]
-char copyright [16]
-char title_local [48]
-char title_int [48]
-char serial [14]
-u16 checksum
-char IOSupport [16]
-u32 rom_start
-u32 rom_end
-u32 ram_start
-u32 ram_end
-char sram_sig [2]
-u16 sram_type
-u32 sram_start
-u32 sram_end
-char modem_support [12]
-char notes [40]
-char region [16]
-
The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_sprite-members.html b/doc/html/struct_sprite-members.html deleted file mode 100644 index 56b539a68..000000000 --- a/doc/html/struct_sprite-members.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Sprite Member List
-
-
-This is the complete list of members for Sprite, including all inherited members. - - - - - - - - - - - - - - - - -
animation (defined in Sprite)Sprite
animInd (defined in Sprite)Sprite
attribut (defined in Sprite)Sprite
data (defined in Sprite)Sprite
definition (defined in Sprite)Sprite
depth (defined in Sprite)Sprite
frame (defined in Sprite)Sprite
frameInd (defined in Sprite)Sprite
next (defined in Sprite)Sprite
onFrameChange (defined in Sprite)Sprite
prev (defined in Sprite)Sprite
status (defined in Sprite)Sprite
timer (defined in Sprite)Sprite
visibility (defined in Sprite)Sprite
x (defined in Sprite)Sprite
y (defined in Sprite)Sprite
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_sprite.html b/doc/html/struct_sprite.html deleted file mode 100644 index d78107fc6..000000000 --- a/doc/html/struct_sprite.html +++ /dev/null @@ -1,186 +0,0 @@ - - - - -sgdk: Sprite Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Sprite Struct Reference
-
-
- -

Sprite structure used by the Sprite Engine to store state for a sprite.
- WARNING: always use the SPR_addSprite(..) method to allocate Sprite object.
- - More...

- -

#include <sprite_eng.h>

- -

List of all members.

- - - - - - - - - - - - - - - - - - -

-Public Attributes

-u16 status
-u16 visibility
-const SpriteDefinitiondefinition
-void(* onFrameChange )(struct Sprite *sprite)
-Animationanimation
-AnimationFrameframe
-s16 animInd
-s16 frameInd
-u16 timer
-s16 x
-s16 y
-s16 depth
-u16 attribut
-u32 data
-struct Spriteprev
-struct Spritenext
-

Detailed Description

-

Sprite structure used by the Sprite Engine to store state for a sprite.
- WARNING: always use the SPR_addSprite(..) method to allocate Sprite object.
-

-
Parameters:
- - - - - - - - - - - - - - - - - -
statusInternal state and automatic allocation information (internal)
visibilityvisibility information of current frame for each VDP sprite (max = 16)
spriteDefSprite definition pointer
onFrameChangeCustom callback on frame change event (see SPR_setFrameChangeCallback(..) method)
animationAnimation pointer cache (internal)
frameAnimationFrame pointer cache (internal)
animIndcurrent animation index (internal)
frameIndcurrent frame animation index (internal)
timertimer for current frame (internal)
xcurrent sprite X position on screen offseted by 0x80 (internal VDP position)
ycurrent sprite Y position on screen offseted by 0x80 (internal VDP position)
depthcurrent sprite depth (Z) position used for Z sorting
attributsprite specific attribut and allocated VRAM tile index (see TILE_ATTR_FULL() macro)
datathis is a free field for user data, use it for whatever you want (flags, pointer...)
prevpointer on previous Sprite in list
nextpointer on next Sprite in list
-
-
-

Used to manage an active sprite in game condition.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_sprite_definition-members.html b/doc/html/struct_sprite_definition-members.html deleted file mode 100644 index 21c6466c0..000000000 --- a/doc/html/struct_sprite_definition-members.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
SpriteDefinition Member List
-
-
-This is the complete list of members for SpriteDefinition, including all inherited members. - - - - - - - -
animations (defined in SpriteDefinition)SpriteDefinition
h (defined in SpriteDefinition)SpriteDefinition
maxNumSprite (defined in SpriteDefinition)SpriteDefinition
maxNumTile (defined in SpriteDefinition)SpriteDefinition
numAnimation (defined in SpriteDefinition)SpriteDefinition
palette (defined in SpriteDefinition)SpriteDefinition
w (defined in SpriteDefinition)SpriteDefinition
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_sprite_definition.html b/doc/html/struct_sprite_definition.html deleted file mode 100644 index 8c828d935..000000000 --- a/doc/html/struct_sprite_definition.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - -sgdk: SpriteDefinition Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
SpriteDefinition Struct Reference
-
-
- -

Sprite definition structure. - More...

- -

#include <sprite_eng.h>

- -

List of all members.

- - - - - - - - - -

-Public Attributes

-u16 w
-u16 h
-Palettepalette
-u16 numAnimation
-Animation ** animations
-u16 maxNumTile
-u16 maxNumSprite
-

Detailed Description

-

Sprite definition structure.

-
Parameters:
- - - - - - - - -
wframe cell width in pixel
hframe cell height in pixel
palettedefault palette data
numAnimationnumber of animation for this sprite
animationsanimation definitions
maxNumTilemaximum number of tile used by a single animation frame (used for VRAM tile space allocation)
maxNumSpritemaximum number of VDP sprite used by a single animation frame (used for VDP sprite allocation)
-
-
-

Contains all animations for a Sprite and internal informations.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_tile_map-members.html b/doc/html/struct_tile_map-members.html deleted file mode 100644 index 7aedc9a51..000000000 --- a/doc/html/struct_tile_map-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
TileMap Member List
-
-
-This is the complete list of members for TileMap, including all inherited members. - - - - -
compression (defined in TileMap)TileMap
h (defined in TileMap)TileMap
tilemap (defined in TileMap)TileMap
w (defined in TileMap)TileMap
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_tile_map.html b/doc/html/struct_tile_map.html deleted file mode 100644 index b5a7e243e..000000000 --- a/doc/html/struct_tile_map.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - -sgdk: TileMap Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
TileMap Struct Reference
-
-
- -

TileMap structure which contains tilemap background definition.
- Use the unpackTileMap() method to unpack if compression is enabled. - More...

- -

#include <vdp_tile.h>

- -

List of all members.

- - - - - - -

-Public Attributes

-u16 compression
-u16 w
-u16 h
-u16tilemap
-

Detailed Description

-

TileMap structure which contains tilemap background definition.
- Use the unpackTileMap() method to unpack if compression is enabled.

-
Parameters:
- - - - - -
compressioncompression type, accepted values:
- COMPRESSION_NONE
- COMPRESSION_APLIB
- COMPRESSION_LZ4W
-
wtilemap width in tile.
htilemap height in tile.
tilemapTilemap data.
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_tile_set-members.html b/doc/html/struct_tile_set-members.html deleted file mode 100644 index 24f73617e..000000000 --- a/doc/html/struct_tile_set-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
TileSet Member List
-
-
-This is the complete list of members for TileSet, including all inherited members. - - - -
compression (defined in TileSet)TileSet
numTile (defined in TileSet)TileSet
tiles (defined in TileSet)TileSet
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_tile_set.html b/doc/html/struct_tile_set.html deleted file mode 100644 index 63f8fc2cb..000000000 --- a/doc/html/struct_tile_set.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - -sgdk: TileSet Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
TileSet Struct Reference
-
-
- -

Tile set structure which contains tiles definition.
- Use the unpackTileSet() method to unpack if compression is enabled. - More...

- -

#include <vdp_tile.h>

- -

List of all members.

- - - - - -

-Public Attributes

-u16 compression
-u16 numTile
-u32tiles
-

Detailed Description

-

Tile set structure which contains tiles definition.
- Use the unpackTileSet() method to unpack if compression is enabled.

-
Parameters:
- - - - -
compressioncompression type, accepted values:
- COMPRESSION_NONE
- COMPRESSION_APLIB
- COMPRESSION_LZ4W
-
numTilenumber of tile in the tiles buffer.
tilesTiles data (packed or not depending compression field).
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_transformation3_d-members.html b/doc/html/struct_transformation3_d-members.html deleted file mode 100644 index b4d6e106e..000000000 --- a/doc/html/struct_transformation3_d-members.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Transformation3D Member List
-
-
-This is the complete list of members for Transformation3D, including all inherited members. - - - - - - - -
cameraInv (defined in Transformation3D)Transformation3D
lightInv (defined in Transformation3D)Transformation3D
mat (defined in Transformation3D)Transformation3D
matInv (defined in Transformation3D)Transformation3D
rebuildMat (defined in Transformation3D)Transformation3D
rotation (defined in Transformation3D)Transformation3D
translation (defined in Transformation3D)Transformation3D
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_transformation3_d.html b/doc/html/struct_transformation3_d.html deleted file mode 100644 index 88086cc45..000000000 --- a/doc/html/struct_transformation3_d.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - -sgdk: Transformation3D Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Transformation3D Struct Reference
-
-
- -

3D transformation object - f16 (fix16) type.
- This object define the global 3D transformation informations and associated cached data.
- If rotation information is modified the rebuildMat flag should be set to 1.
- Rotation and translation objects are reference so don't forget to set them. - More...

- -

#include <maths3D.h>

- -

List of all members.

- - - - - - - - - -

-Public Attributes

-u16 rebuildMat
-Translation3Dtranslation
-Rotation3Drotation
-M3f16 mat
-M3f16 matInv
-V3f16 cameraInv
-V3f16 lightInv
-

Detailed Description

-

3D transformation object - f16 (fix16) type.
- This object define the global 3D transformation informations and associated cached data.
- If rotation information is modified the rebuildMat flag should be set to 1.
- Rotation and translation objects are reference so don't forget to set them.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_triangle-members.html b/doc/html/struct_triangle-members.html deleted file mode 100644 index 151bcadc2..000000000 --- a/doc/html/struct_triangle-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Triangle Member List
-
-
-This is the complete list of members for Triangle, including all inherited members. - - - - -
col (defined in Triangle)Triangle
pt1 (defined in Triangle)Triangle
pt2 (defined in Triangle)Triangle
pt3 (defined in Triangle)Triangle
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_triangle.html b/doc/html/struct_triangle.html deleted file mode 100644 index 1ce8dc919..000000000 --- a/doc/html/struct_triangle.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - -sgdk: Triangle Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Triangle Struct Reference
-
-
- -

Triangle definition. - More...

- -

#include <bmp.h>

- -

List of all members.

- - - - - - -

-Public Attributes

-Vect2D_s16 pt1
-Vect2D_s16 pt2
-Vect2D_s16 pt3
-u16 col
-

Detailed Description

-

Triangle definition.

-
Parameters:
- - - - - -
pt1Start point.
pt2Second point.
pt3End point.
colColor (should be 8 bits filled: 0x00, 0x11, .. for plain color). we use u16 for alignment optimization
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_v_d_p_sprite-members.html b/doc/html/struct_v_d_p_sprite-members.html deleted file mode 100644 index 40598df3e..000000000 --- a/doc/html/struct_v_d_p_sprite-members.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
VDPSprite Member List
-
-
-This is the complete list of members for VDPSprite, including all inherited members. - - - - - - - - - - - - - - - - -
attribut (defined in VDPSprite)VDPSprite
flipH (defined in VDPSprite)VDPSprite
flipV (defined in VDPSprite)VDPSprite
link (defined in VDPSprite)VDPSprite
linkData (defined in VDPSprite)VDPSprite
palette (defined in VDPSprite)VDPSprite
priority (defined in VDPSprite)VDPSprite
size (defined in VDPSprite)VDPSprite
size_link (defined in VDPSprite)VDPSprite
sizeH (defined in VDPSprite)VDPSprite
sizeV (defined in VDPSprite)VDPSprite
tile (defined in VDPSprite)VDPSprite
unused1 (defined in VDPSprite)VDPSprite
unused2 (defined in VDPSprite)VDPSprite
x (defined in VDPSprite)VDPSprite
y (defined in VDPSprite)VDPSprite
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_v_d_p_sprite.html b/doc/html/struct_v_d_p_sprite.html deleted file mode 100644 index 602feac3e..000000000 --- a/doc/html/struct_v_d_p_sprite.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - -sgdk: VDPSprite Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
VDPSprite Struct Reference
-
-
- -

VDP sprite definition structure replicating VDP hardware sprite. - More...

- -

#include <vdp_spr.h>

- -

List of all members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-s16 y
-union {
-   struct {
      u16   unused1: 4
      u16   sizeH: 2
      u16   sizeV: 2
      u16   unused2: 1
      u16   linkData: 7
   } 
-   struct {
      u8   size
      u8   link
   } 
   u16   size_link
}; 
-union {
   u16   attribut
-   struct {
      u16   priority: 1
      u16   palette: 2
      u16   flipV: 1
      u16   flipH: 1
      u16   tile: 11
   } 
}; 
-s16 x
-

Detailed Description

-

VDP sprite definition structure replicating VDP hardware sprite.

-
Parameters:
- - - - - - - - - - - - - -
yY position - 0x80 (0x80 = 0 on screen). Valid values: [0 - 1023]
sizesprite size (see SPRITE_SIZE macro)
sizeHhorizontal size. Valid values: 0 -> 8, 1 -> 16, 2 -> 24, 3 -> 32
sizeVvertical size. Valid values: 0 -> 8, 1 -> 16, 2 -> 24, 3 -> 32
linksprite link, this information is used to define sprite drawing order (use 0 to force end of list)
attributtile index and sprite attribut (priority, palette, H/V flip), see TILE_ATTR_FULL macro
prioritysprite priority. Valid values: 0 -> low, 1 -> high
palettepalette index. Valid values: [0, 3]
flipVvertical flip. Valid values: 0 -> normal, 1 -> flipped
flipHhorizontal flip. Valid values: 0 -> normal, 1 -> flipped
tiletile index. Valid values: [0, 2047]
xX position - 0x80 (0x80 = 0 on screen). Valid values: [0 - 1023]
-
-
-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_v_r_a_m_region-members.html b/doc/html/struct_v_r_a_m_region-members.html deleted file mode 100644 index b66c1d0ec..000000000 --- a/doc/html/struct_v_r_a_m_region-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
VRAMRegion Member List
-
-
-This is the complete list of members for VRAMRegion, including all inherited members. - - - - -
endIndex (defined in VRAMRegion)VRAMRegion
free (defined in VRAMRegion)VRAMRegion
startIndex (defined in VRAMRegion)VRAMRegion
vram (defined in VRAMRegion)VRAMRegion
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_v_r_a_m_region.html b/doc/html/struct_v_r_a_m_region.html deleted file mode 100644 index 75934a18c..000000000 --- a/doc/html/struct_v_r_a_m_region.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - -sgdk: VRAMRegion Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
VRAMRegion Struct Reference
-
-
- -

VRAM region structure. - More...

- -

#include <vram.h>

- -

List of all members.

- - - - - - -

-Public Attributes

-u16 startIndex
-u16 endIndex
-u16free
-u16vram
-

Detailed Description

-

VRAM region structure.

-
Parameters:
- - - - - -
startIndexstart position in tile for the VRAM region
endIndexend position in tile for the VRAM region
freeposition of next free area
vramallocation buffer
-
-
-

Define cache information for a VRAM region dedicated to tile storage.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect2_d__f16-members.html b/doc/html/struct_vect2_d__f16-members.html deleted file mode 100644 index ba42fbfe5..000000000 --- a/doc/html/struct_vect2_d__f16-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect2D_f16 Member List
-
-
-This is the complete list of members for Vect2D_f16, including all inherited members. - - -
x (defined in Vect2D_f16)Vect2D_f16
y (defined in Vect2D_f16)Vect2D_f16
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect2_d__f16.html b/doc/html/struct_vect2_d__f16.html deleted file mode 100644 index b017856d9..000000000 --- a/doc/html/struct_vect2_d__f16.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - -sgdk: Vect2D_f16 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect2D_f16 Struct Reference
-
-
- -

2D Vector structure - f16 (fix16) type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - -

-Public Attributes

-fix16 x
-fix16 y
-

Detailed Description

-

2D Vector structure - f16 (fix16) type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect2_d__f32-members.html b/doc/html/struct_vect2_d__f32-members.html deleted file mode 100644 index 6e0070095..000000000 --- a/doc/html/struct_vect2_d__f32-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect2D_f32 Member List
-
-
-This is the complete list of members for Vect2D_f32, including all inherited members. - - -
x (defined in Vect2D_f32)Vect2D_f32
y (defined in Vect2D_f32)Vect2D_f32
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect2_d__f32.html b/doc/html/struct_vect2_d__f32.html deleted file mode 100644 index 81a8a3dd3..000000000 --- a/doc/html/struct_vect2_d__f32.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - -sgdk: Vect2D_f32 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect2D_f32 Struct Reference
-
-
- -

2D Vector structure - f32 (fix32) type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - -

-Public Attributes

-fix32 x
-fix32 y
-

Detailed Description

-

2D Vector structure - f32 (fix32) type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect2_d__s16-members.html b/doc/html/struct_vect2_d__s16-members.html deleted file mode 100644 index 1672765c5..000000000 --- a/doc/html/struct_vect2_d__s16-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect2D_s16 Member List
-
-
-This is the complete list of members for Vect2D_s16, including all inherited members. - - -
x (defined in Vect2D_s16)Vect2D_s16
y (defined in Vect2D_s16)Vect2D_s16
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect2_d__s16.html b/doc/html/struct_vect2_d__s16.html deleted file mode 100644 index 2449a048c..000000000 --- a/doc/html/struct_vect2_d__s16.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - -sgdk: Vect2D_s16 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect2D_s16 Struct Reference
-
-
- -

2D Vector structure - s16 type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - -

-Public Attributes

-s16 x
-s16 y
-

Detailed Description

-

2D Vector structure - s16 type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect2_d__s32-members.html b/doc/html/struct_vect2_d__s32-members.html deleted file mode 100644 index 27b8b22e4..000000000 --- a/doc/html/struct_vect2_d__s32-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect2D_s32 Member List
-
-
-This is the complete list of members for Vect2D_s32, including all inherited members. - - -
x (defined in Vect2D_s32)Vect2D_s32
y (defined in Vect2D_s32)Vect2D_s32
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect2_d__s32.html b/doc/html/struct_vect2_d__s32.html deleted file mode 100644 index 82be87ae1..000000000 --- a/doc/html/struct_vect2_d__s32.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - -sgdk: Vect2D_s32 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect2D_s32 Struct Reference
-
-
- -

2D Vector structure - s32 type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - -

-Public Attributes

-s32 x
-s32 y
-

Detailed Description

-

2D Vector structure - s32 type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect2_d__u16-members.html b/doc/html/struct_vect2_d__u16-members.html deleted file mode 100644 index 6baeb2737..000000000 --- a/doc/html/struct_vect2_d__u16-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect2D_u16 Member List
-
-
-This is the complete list of members for Vect2D_u16, including all inherited members. - - -
x (defined in Vect2D_u16)Vect2D_u16
y (defined in Vect2D_u16)Vect2D_u16
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect2_d__u16.html b/doc/html/struct_vect2_d__u16.html deleted file mode 100644 index 409bf8855..000000000 --- a/doc/html/struct_vect2_d__u16.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - -sgdk: Vect2D_u16 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect2D_u16 Struct Reference
-
-
- -

2D Vector structure - u16 type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - -

-Public Attributes

-u16 x
-u16 y
-

Detailed Description

-

2D Vector structure - u16 type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect2_d__u32-members.html b/doc/html/struct_vect2_d__u32-members.html deleted file mode 100644 index 216b5d17c..000000000 --- a/doc/html/struct_vect2_d__u32-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect2D_u32 Member List
-
-
-This is the complete list of members for Vect2D_u32, including all inherited members. - - -
x (defined in Vect2D_u32)Vect2D_u32
y (defined in Vect2D_u32)Vect2D_u32
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect2_d__u32.html b/doc/html/struct_vect2_d__u32.html deleted file mode 100644 index e52bbdcb6..000000000 --- a/doc/html/struct_vect2_d__u32.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - -sgdk: Vect2D_u32 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect2D_u32 Struct Reference
-
-
- -

2D Vector structure - u32 type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - -

-Public Attributes

-u32 x
-u32 y
-

Detailed Description

-

2D Vector structure - u32 type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect3_d__f16-members.html b/doc/html/struct_vect3_d__f16-members.html deleted file mode 100644 index 83c9ee258..000000000 --- a/doc/html/struct_vect3_d__f16-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect3D_f16 Member List
-
-
-This is the complete list of members for Vect3D_f16, including all inherited members. - - - -
x (defined in Vect3D_f16)Vect3D_f16
y (defined in Vect3D_f16)Vect3D_f16
z (defined in Vect3D_f16)Vect3D_f16
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect3_d__f16.html b/doc/html/struct_vect3_d__f16.html deleted file mode 100644 index 1ce915aed..000000000 --- a/doc/html/struct_vect3_d__f16.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - -sgdk: Vect3D_f16 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect3D_f16 Struct Reference
-
-
- -

3D Vector structure - f16 (fix16) type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - - -

-Public Attributes

-fix16 x
-fix16 y
-fix16 z
-

Detailed Description

-

3D Vector structure - f16 (fix16) type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect3_d__f32-members.html b/doc/html/struct_vect3_d__f32-members.html deleted file mode 100644 index 6ddc32042..000000000 --- a/doc/html/struct_vect3_d__f32-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect3D_f32 Member List
-
-
-This is the complete list of members for Vect3D_f32, including all inherited members. - - - -
x (defined in Vect3D_f32)Vect3D_f32
y (defined in Vect3D_f32)Vect3D_f32
z (defined in Vect3D_f32)Vect3D_f32
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect3_d__f32.html b/doc/html/struct_vect3_d__f32.html deleted file mode 100644 index 05a542232..000000000 --- a/doc/html/struct_vect3_d__f32.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - -sgdk: Vect3D_f32 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect3D_f32 Struct Reference
-
-
- -

3D Vector structure - f32 (fix32) type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - - -

-Public Attributes

-fix32 x
-fix32 y
-fix32 z
-

Detailed Description

-

3D Vector structure - f32 (fix32) type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect3_d__s16-members.html b/doc/html/struct_vect3_d__s16-members.html deleted file mode 100644 index 0a760576a..000000000 --- a/doc/html/struct_vect3_d__s16-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect3D_s16 Member List
-
-
-This is the complete list of members for Vect3D_s16, including all inherited members. - - - -
x (defined in Vect3D_s16)Vect3D_s16
y (defined in Vect3D_s16)Vect3D_s16
z (defined in Vect3D_s16)Vect3D_s16
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect3_d__s16.html b/doc/html/struct_vect3_d__s16.html deleted file mode 100644 index 7ad0aa1db..000000000 --- a/doc/html/struct_vect3_d__s16.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - -sgdk: Vect3D_s16 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect3D_s16 Struct Reference
-
-
- -

3D Vector structure - s16 type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - - -

-Public Attributes

-s16 x
-s16 y
-s16 z
-

Detailed Description

-

3D Vector structure - s16 type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect3_d__s32-members.html b/doc/html/struct_vect3_d__s32-members.html deleted file mode 100644 index fa15ae639..000000000 --- a/doc/html/struct_vect3_d__s32-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect3D_s32 Member List
-
-
-This is the complete list of members for Vect3D_s32, including all inherited members. - - - -
x (defined in Vect3D_s32)Vect3D_s32
y (defined in Vect3D_s32)Vect3D_s32
z (defined in Vect3D_s32)Vect3D_s32
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect3_d__s32.html b/doc/html/struct_vect3_d__s32.html deleted file mode 100644 index 59888cb73..000000000 --- a/doc/html/struct_vect3_d__s32.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - -sgdk: Vect3D_s32 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect3D_s32 Struct Reference
-
-
- -

3D Vector structure - s32 type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - - -

-Public Attributes

-s32 x
-s32 y
-s32 z
-

Detailed Description

-

3D Vector structure - s32 type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect3_d__u16-members.html b/doc/html/struct_vect3_d__u16-members.html deleted file mode 100644 index 68e581fad..000000000 --- a/doc/html/struct_vect3_d__u16-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect3D_u16 Member List
-
-
-This is the complete list of members for Vect3D_u16, including all inherited members. - - - -
x (defined in Vect3D_u16)Vect3D_u16
y (defined in Vect3D_u16)Vect3D_u16
z (defined in Vect3D_u16)Vect3D_u16
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect3_d__u16.html b/doc/html/struct_vect3_d__u16.html deleted file mode 100644 index e028b8bdd..000000000 --- a/doc/html/struct_vect3_d__u16.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - -sgdk: Vect3D_u16 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect3D_u16 Struct Reference
-
-
- -

3D Vector structure - u16 type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - - -

-Public Attributes

-u16 x
-u16 y
-u16 z
-

Detailed Description

-

3D Vector structure - u16 type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect3_d__u32-members.html b/doc/html/struct_vect3_d__u32-members.html deleted file mode 100644 index 52288bdca..000000000 --- a/doc/html/struct_vect3_d__u32-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect3D_u32 Member List
-
-
-This is the complete list of members for Vect3D_u32, including all inherited members. - - - -
x (defined in Vect3D_u32)Vect3D_u32
y (defined in Vect3D_u32)Vect3D_u32
z (defined in Vect3D_u32)Vect3D_u32
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect3_d__u32.html b/doc/html/struct_vect3_d__u32.html deleted file mode 100644 index 5f0159822..000000000 --- a/doc/html/struct_vect3_d__u32.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - -sgdk: Vect3D_u32 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect3D_u32 Struct Reference
-
-
- -

3D Vector structure - u32 type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - - -

-Public Attributes

-u32 x
-u32 y
-u32 z
-

Detailed Description

-

3D Vector structure - u32 type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect4_d__f16-members.html b/doc/html/struct_vect4_d__f16-members.html deleted file mode 100644 index 3490687ff..000000000 --- a/doc/html/struct_vect4_d__f16-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect4D_f16 Member List
-
-
-This is the complete list of members for Vect4D_f16, including all inherited members. - - - - -
w (defined in Vect4D_f16)Vect4D_f16
x (defined in Vect4D_f16)Vect4D_f16
y (defined in Vect4D_f16)Vect4D_f16
z (defined in Vect4D_f16)Vect4D_f16
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect4_d__f16.html b/doc/html/struct_vect4_d__f16.html deleted file mode 100644 index e6f3b9c0c..000000000 --- a/doc/html/struct_vect4_d__f16.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - -sgdk: Vect4D_f16 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect4D_f16 Struct Reference
-
-
- -

4D Vector structure - f16 (fix16) type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - - - -

-Public Attributes

-fix16 x
-fix16 y
-fix16 z
-fix16 w
-

Detailed Description

-

4D Vector structure - f16 (fix16) type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect4_d__f32-members.html b/doc/html/struct_vect4_d__f32-members.html deleted file mode 100644 index bba19baa8..000000000 --- a/doc/html/struct_vect4_d__f32-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
Vect4D_f32 Member List
-
-
-This is the complete list of members for Vect4D_f32, including all inherited members. - - - - -
w (defined in Vect4D_f32)Vect4D_f32
x (defined in Vect4D_f32)Vect4D_f32
y (defined in Vect4D_f32)Vect4D_f32
z (defined in Vect4D_f32)Vect4D_f32
-
- - - - - -
- -
- - - - diff --git a/doc/html/struct_vect4_d__f32.html b/doc/html/struct_vect4_d__f32.html deleted file mode 100644 index f4f8c3d0c..000000000 --- a/doc/html/struct_vect4_d__f32.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - -sgdk: Vect4D_f32 Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
Vect4D_f32 Struct Reference
-
-
- -

4D Vector structure - f32 (fix32) type. - More...

- -

#include <maths.h>

- -

List of all members.

- - - - - - -

-Public Attributes

-fix32 x
-fix32 y
-fix32 z
-fix32 w
-

Detailed Description

-

4D Vector structure - f32 (fix32) type.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/structflash__chip-members.html b/doc/html/structflash__chip-members.html deleted file mode 100644 index 1bd9b2f16..000000000 --- a/doc/html/structflash__chip-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
flash_chip Member List
-
-
-This is the complete list of members for flash_chip, including all inherited members. - - - -
len (defined in flash_chip)flash_chip
num_regions (defined in flash_chip)flash_chip
region (defined in flash_chip)flash_chip
-
- - - - - -
- -
- - - - diff --git a/doc/html/structflash__chip.html b/doc/html/structflash__chip.html deleted file mode 100644 index ae9183f55..000000000 --- a/doc/html/structflash__chip.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - -sgdk: flash_chip Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
flash_chip Struct Reference
-
-
- -

Metadata of a flash chip, describing memory layout. - More...

- -

#include <flash.h>

- -

List of all members.

- - - - - -

-Public Attributes

-uint32_t len
-uint16_t num_regions
-struct flash_region region [FLASH_REGION_MAX]
-

Detailed Description

-

Metadata of a flash chip, describing memory layout.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/structflash__region-members.html b/doc/html/structflash__region-members.html deleted file mode 100644 index 0145cc586..000000000 --- a/doc/html/structflash__region-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
flash_region Member List
-
-
-This is the complete list of members for flash_region, including all inherited members. - - - -
num_sectors (defined in flash_region)flash_region
sector_len (defined in flash_region)flash_region
start_addr (defined in flash_region)flash_region
-
- - - - - -
- -
- - - - diff --git a/doc/html/structflash__region.html b/doc/html/structflash__region.html deleted file mode 100644 index 1d3091003..000000000 --- a/doc/html/structflash__region.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - -sgdk: flash_region Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
flash_region Struct Reference
-
-
- -

Metadata of a flash region, consisting of several sectors. /. - More...

- -

#include <flash.h>

- -

List of all members.

- - - - - -

-Public Attributes

-uint32_t start_addr
-uint16_t num_sectors
-uint16_t sector_len
-

Detailed Description

-

Metadata of a flash region, consisting of several sectors. /.

-

The documentation for this struct was generated from the following file: -
-
- - - - - -
- -
- - - - diff --git a/doc/html/structsave__blob-members.html b/doc/html/structsave__blob-members.html deleted file mode 100644 index 422ce9047..000000000 --- a/doc/html/structsave__blob-members.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
save_blob Member List
-
-
-This is the complete list of members for save_blob, including all inherited members. - - - - - - - -
cleared (defined in save_blob)save_blob
data (defined in save_blob)save_blob
done (defined in save_blob)save_blob
flags (defined in save_blob)save_blob
invalid (defined in save_blob)save_blob
save_len (defined in save_blob)save_blob
slot (defined in save_blob)save_blob
-
- - - - - -
- -
- - - - diff --git a/doc/html/structsave__blob.html b/doc/html/structsave__blob.html deleted file mode 100644 index 95b80f8fa..000000000 --- a/doc/html/structsave__blob.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - -sgdk: save_blob Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
save_blob Struct Reference
-
-
- -

List of all members.

- - - - - - - - - - - - - -

-Public Attributes

-uint8_t slot
-union {
   uint8_t   flags
-   struct {
      uint8_t   done:1
      uint8_t   invalid:1
      uint8_t   cleared:1
   } 
}; 
-uint16_t save_len
-uint16_t data []
-
The documentation for this struct was generated from the following file:
    -
  • saveman.c
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/structsave__manager-members.html b/doc/html/structsave__manager-members.html deleted file mode 100644 index 5c5fedb56..000000000 --- a/doc/html/structsave__manager-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
save_manager Member List
-
-
-This is the complete list of members for save_manager, including all inherited members. - - - - -
blob_addr (defined in save_manager)save_manager
cur_sect (defined in save_manager)save_manager
last_addr (defined in save_manager)save_manager
sect (defined in save_manager)save_manager
-
- - - - - -
- -
- - - - diff --git a/doc/html/structsave__manager.html b/doc/html/structsave__manager.html deleted file mode 100644 index bd7daa938..000000000 --- a/doc/html/structsave__manager.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - -sgdk: save_manager Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
save_manager Struct Reference
-
-
- -

List of all members.

- - - - - - -

-Public Attributes

-bool cur_sect
-struct sector_metadata sect [2]
-uint32_t last_addr
-uint32_t blob_addr []
-
The documentation for this struct was generated from the following file:
    -
  • saveman.c
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/structsector__hdr-members.html b/doc/html/structsector__hdr-members.html deleted file mode 100644 index 95812bb2e..000000000 --- a/doc/html/structsector__hdr-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
sector_hdr Member List
-
-
-This is the complete list of members for sector_hdr, including all inherited members. - - - -
magic (defined in sector_hdr)sector_hdr
num_slots (defined in sector_hdr)sector_hdr
reserved (defined in sector_hdr)sector_hdr
-
- - - - - -
- -
- - - - diff --git a/doc/html/structsector__hdr.html b/doc/html/structsector__hdr.html deleted file mode 100644 index 282ad1aaa..000000000 --- a/doc/html/structsector__hdr.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - -sgdk: sector_hdr Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
sector_hdr Struct Reference
-
-
- -

List of all members.

- - - - - -

-Public Attributes

-uint32_t magic
-uint8_t num_slots
-uint8_t reserved
-
The documentation for this struct was generated from the following file:
    -
  • saveman.c
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/structsector__metadata-members.html b/doc/html/structsector__metadata-members.html deleted file mode 100644 index 1d463afcf..000000000 --- a/doc/html/structsector__metadata-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
sector_metadata Member List
-
-
-This is the complete list of members for sector_metadata, including all inherited members. - - - -
addr (defined in sector_metadata)sector_metadata
hdr (defined in sector_metadata)sector_metadata
limit (defined in sector_metadata)sector_metadata
-
- - - - - -
- -
- - - - diff --git a/doc/html/structsector__metadata.html b/doc/html/structsector__metadata.html deleted file mode 100644 index 262f8b543..000000000 --- a/doc/html/structsector__metadata.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - -sgdk: sector_metadata Struct Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
sector_metadata Struct Reference
-
-
- -

List of all members.

- - - - - - - -

-Public Attributes

-union {
   struct sector_hdr *   hdr
   uint32_t   addr
}; 
-uint32_t limit
-
The documentation for this struct was generated from the following file:
    -
  • saveman.c
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/sys_8h.html b/doc/html/sys_8h.html deleted file mode 100644 index fb5cf584a..000000000 --- a/doc/html/sys_8h.html +++ /dev/null @@ -1,1093 +0,0 @@ - - - - -sgdk: sys.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
sys.h File Reference
-
-
- -

Entry point unit / Interrupt callback / System. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  ROMHeader

-Defines

-#define PROCESS_PALETTE_FADING   (1 << 0)
-#define PROCESS_BITMAP_TASK   (1 << 1)
-#define PROCESS_DMA_TASK   (1 << 2)
-#define PROCESS_XGM_TASK   (1 << 3)
-#define PROCESS_VDP_SCROLL_TASK   (1 << 4)
-#define PROCESS_XGM2_FADE_TASK   (1 << 5)
-#define ROM_ALIGN_BIT   17
-#define ROM_ALIGN   (1 << ROM_ALIGN_BIT)
-#define ROM_ALIGN_MASK   (ROM_ALIGN - 1)
-#define ROM_START   ROM
-#define ROM_END   (((u32) &_stext) + ((u32) &_sdata))
-#define ROM_SIZE   ((ROM_END + ROM_ALIGN_MASK) & (~ROM_ALIGN_MASK))
-#define HINTERRUPT_CALLBACK   __attribute__ ((interrupt)) void

-Enumerations

enum  VBlankProcessTime { IMMEDIATELY, -ON_VBLANK, -ON_VBLANK_START - }
 Define at which period to do VBlank process (see SYS_doVBlankProcess() method) More...

-Functions

void SYS_assertReset (void)
 Assert reset.
void SYS_reset (void)
 Soft reset.
void SYS_hardReset (void)
 Hard reset.
bool SYS_doVBlankProcess (void)
 Wait for start of VBlank and do all the VBlank processing (DMA transfers, XGM driver tempo, Joypad pooling..)
bool SYS_doVBlankProcessEx (VBlankProcessTime processTime)
 Do all the VBlank processing (DMA transfers, XGM driver tempo, Joypad pooling..)
bool SYS_nextFrame (void)
 End the current frame (alias for SYS_doVBlankProcess(void)).
u16 SYS_getInterruptMaskLevel (void)
 Return current interrupt mask level.
void SYS_setInterruptMaskLevel (u16 value)
 Set interrupt mask level.
u16 SYS_getAndSetInterruptMaskLevel (u16 value)
 Set the interrupt mask level to given value and return previous level.
void SYS_disableInts (void)
 Disable interrupts (Vertical, Horizontal and External).
void SYS_enableInts (void)
 Re-enable interrupts (Vertical, Horizontal and External).
void SYS_setVBlankCallback (VoidCallback *CB)
 Set user 'Vertical Blank' callback method.
void SYS_setVIntCallback (VoidCallback *CB)
 Set 'Vertical Interrupt' callback method, prefer SYS_setVBlankCallback(..) when possible.
void SYS_setHIntCallback (VoidCallback *CB)
 Set 'Horizontal Interrupt' callback method (need to be prefixed by HINTERRUPT_CALLBACK).
void SYS_setExtIntCallback (VoidCallback *CB)
 Set External interrupt callback method.
bool SYS_isInVInt (void)
 Return TRUE if we are in the V-Interrupt process.
u16 SYS_isNTSC (void)
 Return != 0 if we are on a NTSC system.
u16 SYS_isPAL (void)
 Return != 0 if we are on a PAL system.
u32 SYS_getFPS (void)
 Returns number of Frame Per Second.
fix32 SYS_getFPSAsFloat (void)
 Returns number of Frame Per Second (fix32 form).
u16 SYS_getCPULoad (void)
 Return an estimation of CPU frame load (in %)
bool SYS_getShowFrameLoad ()
 Returns TRUE if frame load is currently displayed, FALSE otherwise.
void SYS_showFrameLoad (bool mean)
 Show a cursor indicating current frame load level in scanline (top = 0% load, bottom = 100% load)
void SYS_hideFrameLoad (void)
 Hide the frame load cursor previously enabled using SYS_showFrameLoad() method.
-u16 SYS_computeChecksum (void)
 Computes full ROM checksum and return it.
- The checksum is a custom fast 32 bit checksum converted to 16 bit at end.
-bool SYS_isChecksumOk (void)
 Returns TRUE if ROM checksum is ok (correspond to rom_head.checksum field)
void SYS_die (char *err)
 Die with the specified error message.
- Program execution is interrupted.

-Variables

-const ROMHeader rom_header
-u32 _stext
-u32 _sdata
VoidCallback * busErrorCB
 Bus error interrupt callback.
VoidCallback * addressErrorCB
 Address error interrupt callback.
VoidCallback * illegalInstCB
 Illegal instruction exception callback.
VoidCallback * zeroDivideCB
 Division by zero exception callback.
VoidCallback * chkInstCB
 CHK instruction interrupt callback.
VoidCallback * trapvInstCB
 TRAPV instruction interrupt callback.
VoidCallback * privilegeViolationCB
 Privilege violation exception callback.
VoidCallback * traceCB
 Trace interrupt callback.
VoidCallback * line1x1xCB
 Line 1x1x exception callback.
VoidCallback * errorExceptionCB
 Error exception callback.
VoidCallback * intCB
 Level interrupt callback.
-

Detailed Description

-

Entry point unit / Interrupt callback / System.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit contains SGDK initialization / reset methods, IRQ callbacks and others system stuff.

-

Enumeration Type Documentation

- -
-
- - - - -
enum VBlankProcessTime
-
-
- -

Define at which period to do VBlank process (see SYS_doVBlankProcess() method)

-
Enumerator:
- - -
ON_VBLANK  -

Start VBlank process immediately whatever we are in blanking period or not

-
ON_VBLANK_START  -

Start VBlank process on VBlank period, start immediatly in we are already in VBlank Start VBlank process on VBlank *start* period, means that we wait the next *start* of VBlank period if we missed it

-
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - -
void SYS_assertReset (void )
-
-
- -

Assert reset.

-

Assert reset pin on the 68000 CPU. This is needed to reset some attached hardware.

- -
-
- -
-
- - - - - - - - -
void SYS_die (char * err)
-
-
- -

Die with the specified error message.
- Program execution is interrupted.

-

This actually display an error message and program ends execution.

- -
-
- -
-
- - - - - - - - -
void SYS_disableInts (void )
-
-
- -

Disable interrupts (Vertical, Horizontal and External).

-

This method is used to temporary disable interrupts to protect some processes and should always be followed by SYS_enableInts().
- You need to protect against interrupts any processes than can be perturbed / corrupted by the interrupt callback code (IO ports access in general but not only).
- Now by default SGDK doesn't do anything armful in its interrupts handlers (except with the Bitmap engine) so it's not necessary to protect from interrupts by default but you may need it if your interrupts callback code does mess with VDP for instance.
- Note that you can nest SYS_disableInts / SYS_enableInts() calls.

-
See also:
SYS_enableInts(void)
- -
-
- -
-
- - - - - - - - -
bool SYS_doVBlankProcess (void )
-
-
- -

Wait for start of VBlank and do all the VBlank processing (DMA transfers, XGM driver tempo, Joypad pooling..)

-
Returns:
FALSE if process was canceled because the method was called from V-Int (vertical interrupt) callback in which case we exit the function as V-Int will be triggered immediately.
-
-

Do all the SGDK VBlank process.
- Some specific processing should be done during the Vertical Blank period as the VDP is idle at this time. This is always where we should do all VDP data transfer (using the DMA preferably) but we can also do the processes which has to be done at a frame basis (joypad polling, sound driver sync/update..)
- In the case of SGDK, calling this method will actually do the following tasks:
-

-
    -
  • flush the DMA queue
    -
  • -
  • process asynchronous palette fading operation
    -
  • -
  • joypad polling
    -
    - Note that VBlank process may be delayed to next VBlank if we missed the start of the VBlank period so that will cause a frame miss.
  • -
- -
-
- -
-
- - - - - - - - -
bool SYS_doVBlankProcessEx (VBlankProcessTime processTime)
-
-
- -

Do all the VBlank processing (DMA transfers, XGM driver tempo, Joypad pooling..)

-
Parameters:
- - -
processTimeDefine at which period we start VBlank process, accepted values are:
- IMMEDIATELY Start VBlank process immediatly whatever we are in blanking period or not (*highly discouraged* unless you really know what you're doing !)
- ON_VBLANK Start VBlank process on VBlank period, if we already are in VBlank period it starts immediately (discouraged as VBlank period may be shortened and all processes cannot be completed in time)
- ON_VBLANK_START Start VBlank process on VBlank *start* period (recommanded as default value). That means that if SYS_doVBlankProcess() is called too late (after the start of VBlank) then we force a passive wait for the next start of VBlank so we can align the processing with the beggining of VBlank period to ensure fast DMA transfert and avoid possible graphical glitches due to VRAM update during active display.
-
-
-
-
Returns:
FALSE if process was canceled because we forced Start VBlank process (time = ON_VBLANK_START) and the method was called from V-Int (vertical interrupt) callback in which case we exit the function as V-Int will be triggered immediately.
-
-

Wait for Vblank and does all the SGDK VBlank process.
- Some specific processing should be done during the Vertical Blank period as the VDP is idle at this time. This is always where we should do all VDP data transfer (using the DMA preferably) but we can also do the processes which has to be done at a frame basis (joypad polling, sound driver sync/update..)
- In the case of SGDK, calling this method will actually do the following tasks:
-

-
    -
  • flush the DMA queue
    -
  • -
  • process asynchronous palette fading operation
    -
  • -
  • joypad polling
    -
    - Note that depending the used time parameter, VBlank process may be delayed to next VBlank so that will wause a frame miss.
  • -
- -
-
- -
-
- - - - - - - - -
void SYS_enableInts (void )
-
-
- -

Re-enable interrupts (Vertical, Horizontal and External).

-

This method is used to reenable interrupts after a call to SYS_disableInts().
- Note that you can nest SYS_disableInts / SYS_enableInts() calls.

-
See also:
SYS_disableInts(void)
- -
-
- -
-
- - - - - - - - -
u16 SYS_getAndSetInterruptMaskLevel (u16 value)
-
-
- -

Set the interrupt mask level to given value and return previous level.

-

You can disable interrupt depending their level.
- Interrupt with level <= interrupt mask level are ignored.
- We have 3 different interrupts:
- Vertical interrupt (V-INT): level 6
- Horizontal interrupt (H-INT): level 4
- External interrupt (EX-INT): level 2
- Vertical interrupt has the highest level (and so priority) where external interrupt has lowest one.
- For instance to disable Vertical interrupt just use SYS_setInterruptMaskLevel(6).
-

-
See also:
SYS_getInterruptMaskLevel()
-
-SYS_setInterruptMaskLevel()
-
-SYS_setVIntCallback()
-
-SYS_setHIntCallback()
- -
-
- -
-
- - - - - - - - -
u16 SYS_getCPULoad (void )
-
-
- -

Return an estimation of CPU frame load (in %)

-

Return an estimation of CPU load (in %, mean value computed on 8 frames) based of idle time spent in VDP_waitVSync() / VDP_waitVInt() methods.
- The method can return value above 100% you CPU load is higher than 1 frame.

-
See also:
VDP_waitVSync(void)
-
-VDP_waitVInt(void)
- -
-
- -
-
- - - - - - - - -
u32 SYS_getFPS (void )
-
-
- -

Returns number of Frame Per Second.

-

This function actually returns the number of time it was called in the last second.
- i.e: for benchmarking you should call this method only once per frame update.

- -
-
- -
-
- - - - - - - - -
fix32 SYS_getFPSAsFloat (void )
-
-
- -

Returns number of Frame Per Second (fix32 form).

-

This function actually returns the number of time it was called in the last second.
- i.e: for benchmarking you should call this method only once per frame update.

- -
-
- -
-
- - - - - - - - -
u16 SYS_getInterruptMaskLevel (void )
-
-
- -

Return current interrupt mask level.

-

See SYS_setInterruptMaskLevel() for more informations about interrupt mask level.

- -
-
- -
-
- - - - - - - -
bool SYS_getShowFrameLoad ()
-
-
- -

Returns TRUE if frame load is currently displayed, FALSE otherwise.

-
See also:
SYS_showFrameLoad(void)
- -
-
- -
-
- - - - - - - - -
void SYS_hardReset (void )
-
-
- -

Hard reset.

-

Reset with forced hardware init and memory clear / reset operation.

- -
-
- -
-
- - - - - - - - -
void SYS_hideFrameLoad (void )
-
-
- -

Hide the frame load cursor previously enabled using SYS_showFrameLoad() method.

-
See also:
SYS_showFrameLoad(void)
- -
-
- -
-
- - - - - - - - -
bool SYS_isInVInt (void )
-
-
- -

Return TRUE if we are in the V-Interrupt process.

-

This method tests if we are currently processing a Vertical retrace interrupt (V-Int callback).

- -
-
- -
-
- - - - - - - - -
u16 SYS_isNTSC (void )
-
-
- -

Return != 0 if we are on a NTSC system.

-

Better to use the IS_PAL_SYSTEM

- -
-
- -
-
- - - - - - - - -
u16 SYS_isPAL (void )
-
-
- -

Return != 0 if we are on a PAL system.

-

Better to use the IS_PAL_SYSTEM

- -
-
- -
-
- - - - - - - - -
bool SYS_nextFrame (void )
-
-
- -

End the current frame (alias for SYS_doVBlankProcess(void)).

-

End the current frame and does all the internal SGDK process (DMA flush, VDP data upload, async palette fade, scroll update..)

-
See also:
SYS_doVBlankProcess(void)
- -
-
- -
-
- - - - - - - - -
void SYS_reset (void )
-
-
- -

Soft reset.

-

Software reset

- -
-
- -
-
- - - - - - - - -
void SYS_setExtIntCallback (VoidCallback * CB)
-
-
- -

Set External interrupt callback method.

-
Parameters:
- - -
CBPointer to the method to call on External Interrupt.
- You can remove current callback by passing a null pointer here.
-
-
-

External interrupt happen on Light Gun trigger (HVCounter is locked).

- -
-
- -
-
- - - - - - - - -
void SYS_setHIntCallback (VoidCallback * CB)
-
-
- -

Set 'Horizontal Interrupt' callback method (need to be prefixed by HINTERRUPT_CALLBACK).

-
Parameters:
- - -
CBPointer to the method to call on Horizontal Interrupt.
- You can remove current callback by passing a NULL pointer here.
- You need to prefix your hint method with HINTERRUPT_CALLBACK:
-
-
-
-

HINTERRUPT_CALLBACK myHIntFunction() { ... }
- Horizontal interrupt happen at the end of scanline display period right before Horizontal blank.
- This period is usually used to do mid frame changes (palette, scrolling or others raster effect).
- When you do that, don't forget to protect your VDP access from your main loop using SYS_disableInts() / SYS_enableInts() otherwise you may corrupt your VDP writes.

- -
-
- -
-
- - - - - - - - -
void SYS_setInterruptMaskLevel (u16 value)
-
-
- -

Set interrupt mask level.

-

You can disable interrupt depending their level.
- Interrupt with level <= interrupt mask level are ignored.
- We have 3 different interrupts:
- Vertical interrupt (V-INT): level 6
- Horizontal interrupt (H-INT): level 4
- External interrupt (EX-INT): level 2
- Vertical interrupt has the highest level (and so priority) where external interrupt has lowest one.
- For instance to disable Vertical interrupt just use SYS_setInterruptMaskLevel(6).
-

-
See also:
SYS_getInterruptMaskLevel()
-
-SYS_getAndSetInterruptMaskLevel()
-
-SYS_setVIntCallback()
-
-SYS_setHIntCallback()
- -
-
- -
-
- - - - - - - - -
void SYS_setVBlankCallback (VoidCallback * CB)
-
-
- -

Set user 'Vertical Blank' callback method.

-
Parameters:
- - -
CBPointer to the method to call on Vertical Blank period.
- You can remove current callback by passing a NULL pointer here.
-
-
-

Vertical blank period starts right at the end of display period.
- This period is usually used to prepare next frame data (refresh sprites, scrolling ...).
- SGDK handle that in the SYS_doVBlankProcess() method and will call the user 'Vertical Blank' from this method after all major tasks.
- It's recommended to use the 'Vertical Blank' callback instead of the 'VInt' callback if you need to do some VDP accesses.

-
See also:
SYS_setVIntCallback(VoidCallback *CB);
- -
-
- -
-
- - - - - - - - -
void SYS_setVIntCallback (VoidCallback * CB)
-
-
- -

Set 'Vertical Interrupt' callback method, prefer SYS_setVBlankCallback(..) when possible.

-
Parameters:
- - -
CBPointer to the method to call on Vertical Interrupt.
- You can remove current callback by passing a NULL pointer here.
-
-
-

Vertical interrupt happen at the end of display period at the start of the vertical blank period.
- This period is usually used to prepare next frame data (refresh sprites, scrolling ...) though now SGDK handle most of these process using SYS_doVBlankProcess() so you can control it manually (do it from main loop or put it in Vint callback).
- The only things that SGDK always handle from the vint callback is the XGM sound driver music tempo and Bitmap engine phase reset.
- It's recommended to keep your code as fast as possible as it will eat precious VBlank time, nor you should touch the VDP from your Vint callback otherwise you will need to protect any VDP accesses from your main loop (which is painful), use the SYS_setVIntCallback(..) instead for that.

-
See also:
SYS_setVBlankCallback(VoidCallback *CB);
-
-SYS_setHIntCallback(VoidCallback *CB);
- -
-
- -
-
- - - - - - - - -
void SYS_showFrameLoad (bool mean)
-
-
- -

Show a cursor indicating current frame load level in scanline (top = 0% load, bottom = 100% load)

-
Parameters:
- - -
meanframe load level display is averaged on 8 frames (mean load)
-
-
-

Show current frame load using a cursor indicating the scanline reached when VDP_waitVSync() / VDP_waitVInt() method was called.
- Note that internally sprite 0 is used to display to cursor (palette 0 and color 15) as it is not directly used by the Sprite Engine but if you're using the low level VDP sprite methods then you should know that sprite 0 will be used here.

-
See also:
SYS_hideFrameLoad(void)
- -
-
-

Variable Documentation

- -
-
- - - - -
VoidCallback* addressErrorCB
-
-
- -

Address error interrupt callback.

-

You can modify it to use your own callback (for debug purpose).

- -
-
- -
-
- - - - -
VoidCallback* busErrorCB
-
-
- -

Bus error interrupt callback.

-

You can modify it to use your own callback (for debug purpose).

- -
-
- -
-
- - - - -
VoidCallback* chkInstCB
-
-
- -

CHK instruction interrupt callback.

-

You can modify it to use your own callback (for debug purpose).

- -
-
- -
-
- - - - -
VoidCallback* errorExceptionCB
-
-
- -

Error exception callback.

-

You can modify it to use your own callback (for debug purpose).

- -
-
- -
-
- - - - -
VoidCallback* illegalInstCB
-
-
- -

Illegal instruction exception callback.

-

You can modify it to use your own callback (for debug purpose).

- -
-
- -
-
- - - - -
VoidCallback* intCB
-
-
- -

Level interrupt callback.

-

You can modify it to use your own callback.

- -
-
- -
-
- - - - -
VoidCallback* line1x1xCB
-
-
- -

Line 1x1x exception callback.

-

You can modify it to use your own callback (for debug purpose).

- -
-
- -
-
- - - - -
VoidCallback* privilegeViolationCB
-
-
- -

Privilege violation exception callback.

-

You can modify it to use your own callback (for debug purpose).

- -
-
- -
-
- - - - -
VoidCallback* traceCB
-
-
- -

Trace interrupt callback.

-

You can modify it to use your own callback (for debug purpose).

- -
-
- -
-
- - - - -
VoidCallback* trapvInstCB
-
-
- -

TRAPV instruction interrupt callback.

-

You can modify it to use your own callback (for debug purpose).

- -
-
- -
-
- - - - -
VoidCallback* zeroDivideCB
-
-
- -

Division by zero exception callback.

-

You can modify it to use your own callback (for debug purpose).

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/sys_8h_source.html b/doc/html/sys_8h_source.html deleted file mode 100644 index d23ec015c..000000000 --- a/doc/html/sys_8h_source.html +++ /dev/null @@ -1,228 +0,0 @@ - - - - -sgdk: sys.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
sys.h
-
-
-Go to the documentation of this file.
00001 
-00010 #ifndef _SYS_H_
-00011 #define _SYS_H_
-00012 
-00013 
-00014 #define PROCESS_PALETTE_FADING      (1 << 0)
-00015 #define PROCESS_BITMAP_TASK         (1 << 1)
-00016 #define PROCESS_DMA_TASK            (1 << 2)
-00017 #define PROCESS_XGM_TASK            (1 << 3)
-00018 #define PROCESS_VDP_SCROLL_TASK     (1 << 4)
-00019 #define PROCESS_XGM2_FADE_TASK      (1 << 5)
-00020 
-00021 
-00022 #define ROM_ALIGN_BIT               17
-00023 #define ROM_ALIGN                   (1 << ROM_ALIGN_BIT)
-00024 #define ROM_ALIGN_MASK              (ROM_ALIGN - 1)
-00025 
-00026 #define ROM_START                   ROM
-00027 #define ROM_END                     (((u32) &_stext) + ((u32) &_sdata))
-00028 #define ROM_SIZE                    ((ROM_END + ROM_ALIGN_MASK) & (~ROM_ALIGN_MASK))
-00029 
-00030 
-00031 #define HINTERRUPT_CALLBACK         __attribute__ ((interrupt)) void
-00032 
-00033 
-00034 // exist through rom_head.c
-00035 typedef struct
-00036 {
-00037     char console[16];               /* Console Name (16) */
-00038     char copyright[16];             /* Copyright Information (16) */
-00039     char title_local[48];           /* Domestic Name (48) */
-00040     char title_int[48];             /* Overseas Name (48) */
-00041     char serial[14];                /* Serial Number (2, 12) */
-00042     u16 checksum;                   /* Checksum (2) */
-00043     char IOSupport[16];             /* I/O Support (16) */
-00044     u32 rom_start;                  /* ROM Start Address (4) */
-00045     u32 rom_end;                    /* ROM End Address (4) */
-00046     u32 ram_start;                  /* Start of Backup RAM (4) */
-00047     u32 ram_end;                    /* End of Backup RAM (4) */
-00048     char sram_sig[2];               /* "RA" for save ram (2) */
-00049     u16 sram_type;                  /* 0xF820 for save ram on odd bytes (2) */
-00050     u32 sram_start;                 /* SRAM start address - normally 0x200001 (4) */
-00051     u32 sram_end;                   /* SRAM end address - start + 2*sram_size (4) */
-00052     char modem_support[12];         /* Modem Support (24) */
-00053     char notes[40];                 /* Memo (40) */
-00054     char region[16];                /* Country Support (16) */
-00055 } ROMHeader;
-00056 
-00057 extern const ROMHeader rom_header;
-00058 
-00059 // size of text segment --> start of initialized data (RO)
-00060 extern u32 _stext;
-00061 // size of initialized data segment
-00062 extern u32 _sdata;
-00063 
-00068 typedef enum
-00069 {
-00070     IMMEDIATELY,        
-00071     ON_VBLANK ,         
-00072     ON_VBLANK_START     
-00073 } VBlankProcessTime;
-00074 
-00075 
-00082 extern VoidCallback *busErrorCB;
-00089 extern VoidCallback *addressErrorCB;
-00096 extern VoidCallback *illegalInstCB;
-00103 extern VoidCallback *zeroDivideCB;
-00110 extern VoidCallback *chkInstCB;
-00117 extern VoidCallback *trapvInstCB;
-00124 extern VoidCallback *privilegeViolationCB;
-00131 extern VoidCallback *traceCB;
-00138 extern VoidCallback *line1x1xCB;
-00145 extern VoidCallback *errorExceptionCB;
-00152 extern VoidCallback *intCB;
-00153 
-00154 
-00162 void SYS_assertReset(void);
-00169 void SYS_reset(void);
-00176 void SYS_hardReset(void);
-00177 
-00195 bool SYS_doVBlankProcess(void);
-00226 bool SYS_doVBlankProcessEx(VBlankProcessTime processTime);
-00227 
-00236 bool SYS_nextFrame(void);
-00237 
-00244 u16 SYS_getInterruptMaskLevel(void);
-00263 void SYS_setInterruptMaskLevel(u16 value);
-00264 
-00283 u16 SYS_getAndSetInterruptMaskLevel(u16 value);
-00284 
-00298 void SYS_disableInts(void);
-00308 void SYS_enableInts(void);
-00309 
-00325 void SYS_setVBlankCallback(VoidCallback *CB);
-00326 
-00345 void SYS_setVIntCallback(VoidCallback *CB);
-00364 void SYS_setHIntCallback(VoidCallback *CB);
-00375 void SYS_setExtIntCallback(VoidCallback *CB);
-00376 
-00383 bool SYS_isInVInt(void);
-00384 
-00391 u16 SYS_isNTSC(void);
-00398 u16 SYS_isPAL(void);
-00399 
-00407 u32 SYS_getFPS(void);
-00415 fix32 SYS_getFPSAsFloat(void);
-00426 u16 SYS_getCPULoad(void);
-00433 bool SYS_getShowFrameLoad();
-00447 void SYS_showFrameLoad(bool mean);
-00454 void SYS_hideFrameLoad(void);
-00455 
-00461 u16 SYS_computeChecksum(void);
-00466 bool SYS_isChecksumOk(void);
-00467 
-00475 void SYS_die(char *err);
-00476 
-00477 #endif // _SYS_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/tab__cnv_8h_source.html b/doc/html/tab__cnv_8h_source.html deleted file mode 100644 index 88ac9eb75..000000000 --- a/doc/html/tab__cnv_8h_source.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - -sgdk: tab_cnv.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
tab_cnv.h
-
-
-
00001 #ifndef _TAB_CNV_H_
-00002 #define _TAB_CNV_H_
-00003 
-00004 extern const u8 cnv_2to4_tab[0x4];
-00005 extern const u8 cnv_2to8_tab[0x4];
-00006 extern const u16 cnv_2to16_tab[0x4];
-00007 extern const u32 cnv_2to32_tab[0x4];
-00008 
-00009 extern const u8 cnv_4to8_tab[0x10];
-00010 extern const u16 cnv_4to16_tab[0x10];
-00011 extern const u32 cnv_4to32_tab[0x10];
-00012 
-00013 extern const u16 cnv_8to16_tab[0x100];
-00014 extern const u32 cnv_8to32_tab[0x100];
-00015 
-00016 extern const u8 cnv_bcd_tab[100];
-00017 
-00018 
-00019 #endif // _TAB_CNV_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/tab__vol_8h_source.html b/doc/html/tab__vol_8h_source.html deleted file mode 100644 index 99f8deec6..000000000 --- a/doc/html/tab__vol_8h_source.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - -sgdk: tab_vol.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
tab_vol.h
-
-
-
00001 #ifndef _TAB_VOL_H_
-00002 #define _TAB_VOL_H_
-00003 
-00004 extern const u8 tab_vol[0x1000];
-00005 
-00006 #endif // _TAB_VOL_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/tab_a.png b/doc/html/tab_a.png deleted file mode 100644 index 2d99ef23fed78c7683f0b5aa803d937060d288c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qo)`sjv*C{Z|CmjY;X`^DSv)) z;hc^cTF;t%XWXdwWP5+kt?jQ5uhqKtjd^EY`^^-S;M%tFAj_l)EwVTK)E@1LSD0{e q?a6($SGQTzz1#QBzr0NMKf^0WCX-0bi?u-G89ZJ6T-G@yGywp8?ljB* diff --git a/doc/html/tab_b.png b/doc/html/tab_b.png deleted file mode 100644 index b2c3d2be3c7e518fbca6bb30f571882e72fc506d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qk9-Ajv*C{Z|~mbJ)|JfaM8Xd zIP7xAmLwau9@iXhZTrl-TjWj9jM#?{xt`6uU{<)jb9Suc^QnbhJ(o{ib8=j9u0_mE8M7kgF7f<7W7IEf=8(L_qx|g0H;V7iPxm&Q@G7p8W2Kx&iT|YUM=ITC zY<0Qbr;u&AtXD{o@41wH=7&d8=2Z_{M9Tsa=g*t*@A3H$UOlxZk7?f6RUWpx>Fc_L s#LQ{edY3MpIXkMeV^&YV=9fR%8Jv|Kya=#u06K}m)78&qol`;+0RKEt)&Kwi diff --git a/doc/html/tab_s.png b/doc/html/tab_s.png deleted file mode 100644 index 978943ac807718de0e69e5a585a8f0a1e5999285..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QZ1e?jv*C{Z|}b5Yzkm-c<7z3 zq^cq0=~}Z;b(!Zvb5Z%sTRFKGlz1=qOFg;myyu?$r`wZb^irPsN1a)6)TwB0r+)wb zPL25;=adu89?fTK`qDR>$D*)b_WOmdKI;Vst02j(hg8%>k diff --git a/doc/html/tabs.css b/doc/html/tabs.css deleted file mode 100644 index 21920562a..000000000 --- a/doc/html/tabs.css +++ /dev/null @@ -1,59 +0,0 @@ -.tabs, .tabs2, .tabs3 { - background-image: url('tab_b.png'); - width: 100%; - z-index: 101; - font-size: 13px; -} - -.tabs2 { - font-size: 10px; -} -.tabs3 { - font-size: 9px; -} - -.tablist { - margin: 0; - padding: 0; - display: table; -} - -.tablist li { - float: left; - display: table-cell; - background-image: url('tab_b.png'); - line-height: 36px; - list-style: none; -} - -.tablist a { - display: block; - padding: 0 20px; - font-weight: bold; - background-image:url('tab_s.png'); - background-repeat:no-repeat; - background-position:right; - color: #283A5D; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; - outline: none; -} - -.tabs3 .tablist a { - padding: 0 10px; -} - -.tablist a:hover { - background-image: url('tab_h.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); - text-decoration: none; -} - -.tablist li.current a { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); -} diff --git a/doc/html/task_8h.html b/doc/html/task_8h.html deleted file mode 100644 index 6edcd71d1..000000000 --- a/doc/html/task_8h.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - -sgdk: task.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
task.h File Reference
-
-
- -

User task support. -More...

-
#include "task_cst.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Functions

-void TSK_init ()
 Initialize the task sub system (reset internal variables).
void TSK_userSet (VoidCallback *task)
 Configure the user task callback function.
- Must be set with a not NULL callback before calling any TSK_xxx functions.
-void TSK_stop (void)
 Stop the user task.
- This has the same effect than using TSK_setUser(NULL).
-void TSK_userYield (void)
 Yield from supervisor task to user task. The user task will resume and will use all the available CPU time until the next vertical blanking interrupt, that will resume the supervisor task.
bool TSK_superPend (s16 wait)
 Block supervisor task and resume user task. Supervisor task will not resume execution until TSK_superPost() is called from user task or a timeout happens..
void TSK_superPost (bool immediate)
 Resume a blocked supervisor task. Must be called from user task.
-

Detailed Description

-

User task support.

-
Date:
12/2021
-
Author:
doragasu
-

This module allows assigning a function that will run as an user task. CPU time is given to that function in several ways:

-
    -
  • When the supervisor task calls TSK_userYield(), the user task executes immediately until the next VBlank interrupt. Then supervisor task is resumed.
  • -
  • When the supervisor task call TSK_superPend(), the user task executes immediately until one of the following happens: a) The user task calls TSK_superPend(). b) The timeout specified in TSK_superPost() expires.
  • -
-

For the scheduler to work, VBlank interrupts must be enabled.

-

These functions are implemented in task.s

-

Function Documentation

- -
-
- - - - - - - - -
bool TSK_superPend (s16 wait)
-
-
- -

Block supervisor task and resume user task. Supervisor task will not resume execution until TSK_superPost() is called from user task or a timeout happens..

-
Parameters:
- - -
waitMaximum number of frames to wait while blocking. Use TSK_PEND_FOREVER for an infinite wait, or a positive number (greater than 0) for a specific number of frames.
-
-
-
Returns:
false if task was awakened from user task, or true if timeout occurred.
- -
-
- -
-
- - - - - - - - -
void TSK_superPost (bool immediate)
-
-
- -

Resume a blocked supervisor task. Must be called from user task.

-
Parameters:
- - -
immediateIf true, immediately causes a context switch to supervisor task. If false, context switch will not occur until the VBLANK interrupt.
-
-
- -
-
- -
-
- - - - - - - - -
void TSK_userSet (VoidCallback * task)
-
-
- -

Configure the user task callback function.
- Must be set with a not NULL callback before calling any TSK_xxx functions.

-
Parameters:
- - -
taskA function pointer to the user task (or NULL to disable multitasking).
-
-
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/task_8h_source.html b/doc/html/task_8h_source.html deleted file mode 100644 index 735753cde..000000000 --- a/doc/html/task_8h_source.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - -sgdk: task.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
task.h
-
-
-Go to the documentation of this file.
00001 
-00022 #ifndef __TASK_H__
-00023 #define __TASK_H__
-00024 
-00025 #include "task_cst.h"
-00026 
-00027 
-00031 void TSK_init();
-00032 
-00039 void TSK_userSet(VoidCallback *task);
-00040 
-00045 void TSK_stop(void);
-00046 
-00052 void TSK_userYield(void);
-00053 
-00066 bool TSK_superPend(s16 wait);
-00067 
-00075 void TSK_superPost(bool immediate);
-00076 
-00077 #endif /*__TASK_H__*/
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/task__cst_8h.html b/doc/html/task__cst_8h.html deleted file mode 100644 index 759165503..000000000 --- a/doc/html/task__cst_8h.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - -sgdk: task_cst.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
task_cst.h File Reference
-
-
- -

User task constantes definition. -More...

- -

Go to the source code of this file.

- - - - - - - - -

-Defines

-#define USER_STACK_LENGTH   512
 Byte length for the user task stack (should be less than STACK_SIZE define din memory_base.h)
-#define UTSK_REGS_LEN   (15 * 4)
 User task registers save buffer size.
-#define TSK_PEND_FOREVER   -1
 Timeout value to use for infinite waits.
-

Detailed Description

-

User task constantes definition.

-
Date:
12/2021
-
Author:
doragasu
-

This module define constantes for the task unit (see task.h file). This needs to be separated as we include it from task.a assembly file !

-
-
- - - - - -
- -
- - - - diff --git a/doc/html/task__cst_8h_source.html b/doc/html/task__cst_8h_source.html deleted file mode 100644 index 4d976c01c..000000000 --- a/doc/html/task__cst_8h_source.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - -sgdk: task_cst.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
task_cst.h
-
-
-Go to the documentation of this file.
00001 
-00011 #ifndef __TASK_CST_H__
-00012 #define __TASK_CST_H__
-00013 
-00018 #define USER_STACK_LENGTH   512
-00019 
-00024 #define UTSK_REGS_LEN       (15 * 4)
-00025 
-00030 #define TSK_PEND_FOREVER    -1
-00031 
-00032 
-00033 #endif /*__TASK_CST_H__*/
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/timer_8h.html b/doc/html/timer_8h.html deleted file mode 100644 index 3ae6f66f7..000000000 --- a/doc/html/timer_8h.html +++ /dev/null @@ -1,402 +0,0 @@ - - - - -sgdk: timer.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
timer.h File Reference
-
-
- -

Timer support. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define SUBTICKPERSECOND   76800
 Number of subtick per second.
-#define TICKPERSECOND   300
 Number of tick per second.
-#define TIMEPERSECOND   256
 Time sub division per second.
-#define MAXTIMER   16
 Maximum number of timer.

-Functions

u32 getSubTick (void)
 Returns elapsed subticks from console reset.
u32 getTick (void)
 Returns elapsed ticks from console reset.
u32 getTime (u16 fromTick)
 Returns elapsed time from console reset.
fix32 getTimeAsFix32 (u16 fromTick)
 Returns elapsed time in second from console reset.
void startTimer (u16 numTimer)
 Start internal timer (0 <= numtimer < MAXTIMER)
u32 getTimer (u16 numTimer, u16 restart)
 Get elapsed subticks for specified timer.
void waitSubTick (u32 subtick)
 Wait for a certain amount of subticks (1/76800 second based).
void waitTick (u32 tick)
 Wait for a certain amount of ticks (1/300 second based).
void waitMs (u32 ms)
 Wait for a certain amount of millisecond.

-Variables

-vu32 vtimer
-

Detailed Description

-

Timer support.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides basic timer functions (useful for profiling).
- This unit uses V-Int to count frame so disabling V-Int will make timer methods to not work anymore.

-

Function Documentation

- -
-
- - - - - - - - -
u32 getSubTick (void )
-
-
- -

Returns elapsed subticks from console reset.

-

Returns elapsed subticks from console reset (1/76800 second based).
- WARNING: this function isn't accurate during VBlank (return fixed value for the whole VBlank).
- This is to avoid issue with the VCounter rollback during VBlank.

- -
-
- -
-
- - - - - - - - -
u32 getTick (void )
-
-
- -

Returns elapsed ticks from console reset.

-

Returns elapsed ticks from console reset (1/300 second based).

- -
-
- -
-
- - - - - - - - -
u32 getTime (u16 fromTick)
-
-
- -

Returns elapsed time from console reset.

-
Parameters:
- - -
fromTickChoose tick or sub tick (more accurate) calculation.
-
-
-

Returns elapsed time from console reset (1/256 second based).

- -
-
- -
-
- - - - - - - - -
fix32 getTimeAsFix32 (u16 fromTick)
-
-
- -

Returns elapsed time in second from console reset.

-
Parameters:
- - -
fromTickChoose tick or sub tick (more accurate) calculation.
-
-
-

Returns elapsed time in second from console reset.
- Value is returned as fix32.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u32 getTimer (u16 numTimer,
u16 restart 
)
-
-
- -

Get elapsed subticks for specified timer.

-
Parameters:
- - - -
numTimerTimer number (0-MAXTIMER)
restartRestart timer if TRUE
-
-
-

Returns elapsed subticks from last call to startTimer(numTimer).

- -
-
- -
-
- - - - - - - - -
void startTimer (u16 numTimer)
-
-
- -

Start internal timer (0 <= numtimer < MAXTIMER)

-
Parameters:
- - -
numTimerTimer number (0-MAXTIMER)
-
-
- -
-
- -
-
- - - - - - - - -
void waitMs (u32 ms)
-
-
- -

Wait for a certain amount of millisecond.

-
Parameters:
- - -
msNumber of millisecond to wait for.
-
-
-

WARNING: ~3.33 ms based timer is used when 'ms' is >= 100.

- -
-
- -
-
- - - - - - - - -
void waitSubTick (u32 subtick)
-
-
- -

Wait for a certain amount of subticks (1/76800 second based).

-
Parameters:
- - -
subtickNumber of subtick to wait for.
-
-
-

WARNING: this function isn't accurate during VBlank (always wait until the end of VBlank) because of the VCounter rollback.

- -
-
- -
-
- - - - - - - - -
void waitTick (u32 tick)
-
-
- -

Wait for a certain amount of ticks (1/300 second based).

-
Parameters:
- - -
tickNumber of tick to wait for.
-
-
-

WARNING: 5/6 (PAL/NTSC) ticks based timer so use 5 or 6 ticks as minimum wait value.

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/timer_8h_source.html b/doc/html/timer_8h_source.html deleted file mode 100644 index 0127993a7..000000000 --- a/doc/html/timer_8h_source.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - -sgdk: timer.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
timer.h
-
-
-Go to the documentation of this file.
00001 
-00011 #ifndef _TIMER_H_
-00012 #define _TIMER_H_
-00013 
-00014 
-00019 #define SUBTICKPERSECOND    76800
-00020 
-00024 #define TICKPERSECOND       300
-00025 
-00029 #define TIMEPERSECOND       256
-00030 
-00035 #define MAXTIMER            16
-00036 
-00037 extern vu32 vtimer;
-00038 
-00039 
-00048 u32  getSubTick(void);
-00055 u32  getTick(void);
-00056 
-00066 u32  getTime(u16 fromTick);
-00077 fix32 getTimeAsFix32(u16 fromTick);
-00078 
-00086 void startTimer(u16 numTimer);
-00098 u32  getTimer(u16 numTimer, u16 restart);
-00099 
-00109 void waitSubTick(u32 subtick);
-00119 void waitTick(u32 tick);
-00129 void waitMs(u32 ms);
-00130 
-00131 
-00132 #endif // _TIMER_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/todo.html b/doc/html/todo.html deleted file mode 100644 index 724f3df94..000000000 --- a/doc/html/todo.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - -sgdk: Todo List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- -
-
- -
-
-
- -
-
-
-
Todo List
-
-
-

-
-
Group json
-
Add more functions to extract data.
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/tools_8h.html b/doc/html/tools_8h.html deleted file mode 100644 index 33f25b931..000000000 --- a/doc/html/tools_8h.html +++ /dev/null @@ -1,1206 +0,0 @@ - - - - -sgdk: tools.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
tools.h File Reference
-
-
- -

Misc tools methods. -More...

-
#include "bmp.h"
-#include "vdp_tile.h"
-#include "vdp_bg.h"
-#include "map.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define COMPRESSION_NONE   0
 No compression.
-#define COMPRESSION_APLIB   1
 Use aplib (appack or sixpack) compression scheme.
-#define COMPRESSION_LZ4W   2
 Use LZ4W compression scheme.

-Typedefs

typedef s16 _comparatorCallback (void *o1, void *o2)
 Callback for QSort comparaison.

-Functions

-void setRandomSeed (u16 seed)
 Set the randomizer seed (to allow different reproductible series)
-u16 random (void)
 Returns a random u16 integer value.
u16 kprintf (const char *fmt,...) __attribute__((format(printf
 Composes a string with the same text that would be printed if format was used on printf, but instead of being printed to screen, the content is printed in KMod console.
u16 void KLog (char *text)
 KDebug log helper methods.
-void KLog_U1 (char *t1, u32 v1)
-void KLog_U2 (char *t1, u32 v1, char *t2, u32 v2)
-void KLog_U3 (char *t1, u32 v1, char *t2, u32 v2, char *t3, u32 v3)
-void KLog_U4 (char *t1, u32 v1, char *t2, u32 v2, char *t3, u32 v3, char *t4, u32 v4)
-void KLog_U1_ (char *t1, u32 v1, char *t2)
-void KLog_U2_ (char *t1, u32 v1, char *t2, u32 v2, char *t3)
-void KLog_U3_ (char *t1, u32 v1, char *t2, u32 v2, char *t3, u32 v3, char *t4)
-void KLog_U4_ (char *t1, u32 v1, char *t2, u32 v2, char *t3, u32 v3, char *t4, u32 v4, char *t5)
-void KLog_U1x (u16 minSize, char *t1, u32 v1)
-void KLog_U2x (u16 minSize, char *t1, u32 v1, char *t2, u32 v2)
-void KLog_U3x (u16 minSize, char *t1, u32 v1, char *t2, u32 v2, char *t3, u32 v3)
-void KLog_U4x (u16 minSize, char *t1, u32 v1, char *t2, u32 v2, char *t3, u32 v3, char *t4, u32 v4)
-void KLog_U1x_ (u16 minSize, char *t1, u32 v1, char *t2)
-void KLog_U2x_ (u16 minSize, char *t1, u32 v1, char *t2, u32 v2, char *t3)
-void KLog_U3x_ (u16 minSize, char *t1, u32 v1, char *t2, u32 v2, char *t3, u32 v3, char *t4)
-void KLog_U4x_ (u16 minSize, char *t1, u32 v1, char *t2, u32 v2, char *t3, u32 v3, char *t4, u32 v4, char *t5)
-void KLog_S1 (char *t1, s32 v1)
-void KLog_S2 (char *t1, s32 v1, char *t2, s32 v2)
-void KLog_S3 (char *t1, s32 v1, char *t2, s32 v2, char *t3, s32 v3)
-void KLog_S4 (char *t1, s32 v1, char *t2, s32 v2, char *t3, s32 v3, char *t4, s32 v4)
-void KLog_S1_ (char *t1, s32 v1, char *t2)
-void KLog_S2_ (char *t1, s32 v1, char *t2, s32 v2, char *t3)
-void KLog_S3_ (char *t1, s32 v1, char *t2, s32 v2, char *t3, s32 v3, char *t4)
-void KLog_S4_ (char *t1, s32 v1, char *t2, s32 v2, char *t3, s32 v3, char *t4, s32 v4, char *t5)
-void KLog_S1x (u16 minSize, char *t1, s32 v1)
-void KLog_S2x (u16 minSize, char *t1, s32 v1, char *t2, s32 v2)
-void KLog_S3x (u16 minSize, char *t1, s32 v1, char *t2, s32 v2, char *t3, s32 v3)
-void KLog_S4x (u16 minSize, char *t1, s32 v1, char *t2, s32 v2, char *t3, s32 v3, char *t4, s32 v4)
-void KLog_f1 (char *t1, fix16 v1)
-void KLog_f2 (char *t1, fix16 v1, char *t2, fix16 v2)
-void KLog_f3 (char *t1, fix16 v1, char *t2, fix16 v2, char *t3, fix16 v3)
-void KLog_f4 (char *t1, fix16 v1, char *t2, fix16 v2, char *t3, fix16 v3, char *t4, fix16 v4)
-void KLog_f1x (s16 numDec, char *t1, fix16 v1)
-void KLog_f2x (s16 numDec, char *t1, fix16 v1, char *t2, fix16 v2)
-void KLog_f3x (s16 numDec, char *t1, fix16 v1, char *t2, fix16 v2, char *t3, fix16 v3)
-void KLog_f4x (s16 numDec, char *t1, fix16 v1, char *t2, fix16 v2, char *t3, fix16 v3, char *t4, fix16 v4)
-void KLog_F1 (char *t1, fix32 v1)
-void KLog_F2 (char *t1, fix32 v1, char *t2, fix32 v2)
-void KLog_F3 (char *t1, fix32 v1, char *t2, fix32 v2, char *t3, fix32 v3)
-void KLog_F4 (char *t1, fix32 v1, char *t2, fix32 v2, char *t3, fix32 v3, char *t4, fix32 v4)
-void KLog_F1x (s16 numDec, char *t1, fix32 v1)
-void KLog_F2x (s16 numDec, char *t1, fix32 v1, char *t2, fix32 v2)
-void KLog_F3x (s16 numDec, char *t1, fix32 v1, char *t2, fix32 v2, char *t3, fix32 v3)
-void KLog_F4x (s16 numDec, char *t1, fix32 v1, char *t2, fix32 v2, char *t3, fix32 v3, char *t4, fix32 v4)
BitmapallocateBitmap (const Bitmap *bitmap)
 Allocate a new Bitmap structure which can receive unpacked bitmap data of the specified Bitmap.
- There is no memory allocated for the palette data as it assumes to always use a reference for Palette field.
BitmapallocateBitmapEx (u16 width, u16 heigth)
 Allocate a new Bitmap structure which can receive the bitmap data for the specified Bitmap dimension.
- There is no memory allocated for the palette data as it assumes to always use a reference for Palette field.
TileSetallocateTileSet (const TileSet *tileset)
 Allocate TileSet structure which can receive unpacked tiles data of the specified TileSet.
TileSetallocateTileSetEx (u16 numTile)
 Allocate a new TileSet structure which can receive the data for the specified number of tile.
TileMapallocateTileMap (const TileMap *tilemap)
 Allocate TileMap structure which can receive unpacked tilemap data of the specified TileMap.
TileMapallocateTileMapEx (u16 width, u16 heigth)
 Allocate a new TileMap structure which can receive tilemap data for the specified TileMap dimension.
ImageallocateImage (const Image *image)
 Allocate Image structure which can receive unpacked image data of the specified Image. There is no memory allocated for the palette data as it assumes to always use a reference for Palette field.
MapallocateMap (const MapDefinition *mapDef)
 Allocate Map structure which can receive unpacked data of the specified MapDefinition.
BitmapunpackBitmap (const Bitmap *src, Bitmap *dest)
 Unpack the specified source Bitmap and return result in a new allocated Bitmap.
TileSetunpackTileSet (const TileSet *src, TileSet *dest)
 Unpack the specified TileSet structure and return result in a new allocated TileSet.
TileMapunpackTileMap (const TileMap *src, TileMap *dest)
 Unpack the specified TileMap structure and return result in a new allocated TileMap.
ImageunpackImage (const Image *src, Image *dest)
 Unpack the specified Image structure and return result in a new allocated Image.
u32 unpack (u16 compression, u8 *src, u8 *dest)
 Unpack the specified source data buffer in the specified destination buffer.
- if source is not packed then nothing is done.
u32 aplib_unpack (u8 *src, u8 *dest)
 Unpack (aplib packer) the specified source data buffer in the specified destination buffer.
u32 lz4w_unpack (const u8 *src, u8 *dest)
 Unpack (LZ4W) the specified source data buffer in the specified destination buffer.
void qsort_u8 (u8 *data, u16 left, u16 right)
 Quick sort algo on u8 data array.
void qsort_s8 (s8 *data, u16 left, u16 right)
 Quick sort algo on s8 data array.
void qsort_u16 (u16 *data, u16 left, u16 right)
 Quick sort algo on u16 data array.
void qsort_s16 (s16 *data, u16 left, u16 right)
 Quick sort algo on s16 data array.
void qsort_u32 (u32 *data, u16 left, u16 right)
 Quick sort algo on u32 data array.
void qsort_s32 (s32 *data, u16 left, u16 right)
 Quick sort algo on s32 data array.
void qsort (void **data, u16 len, _comparatorCallback *cb)
 Quick sort algo on array of pointer (object)
-

Detailed Description

-

Misc tools methods.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides some misc tools methods as getFPS(), unpack()...

-

Typedef Documentation

- -
-
- - - - -
typedef s16 _comparatorCallback(void *o1, void *o2)
-
-
- -

Callback for QSort comparaison.

-

This callback is used to compare 2 objects.
- Return value should be:
- < 0 if o1 is below o2
- = 0 if o1 is equal to o2
- > 0 if o1 is above o2

- -
-
-

Function Documentation

- -
-
- - - - - - - - -
Bitmap* allocateBitmap (const Bitmapbitmap)
-
-
- -

Allocate a new Bitmap structure which can receive unpacked bitmap data of the specified Bitmap.
- There is no memory allocated for the palette data as it assumes to always use a reference for Palette field.

-
Parameters:
- - -
bitmapSource Bitmap we want to allocate the unpacked Bitmap object.
-
-
-
Returns:
The new allocated Bitmap object which can receive the unpacked Bitmap, note that returned bitmap is allocated in a single bloc and can be released with Mem_Free(bitmap).
- NULL is returned if there is not enough memory to store the unpacked bitmap.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
Bitmap* allocateBitmapEx (u16 width,
u16 heigth 
)
-
-
- -

Allocate a new Bitmap structure which can receive the bitmap data for the specified Bitmap dimension.
- There is no memory allocated for the palette data as it assumes to always use a reference for Palette field.

-
Parameters:
- - - -
widthWidth in pixel of the bitmap structure we want to allocate.
heigthheigth in pixel of the bitmap structure we want to allocate.
-
-
-
Returns:
The new allocated Bitmap object which can receive an unpacked Bitmap for the specified dimension.
- Note that returned bitmap is allocated in a single bloc and can be released with Mem_Free(bitmap).
- NULL is returned if there is not enough memory to allocate the bitmap.
- -
-
- -
-
- - - - - - - - -
Image* allocateImage (const Imageimage)
-
-
- -

Allocate Image structure which can receive unpacked image data of the specified Image. There is no memory allocated for the palette data as it assumes to always use a reference for Palette field.

-
Parameters:
- - -
imageSource Image we want to allocate the unpacked Image object.
-
-
-
Returns:
The new allocated Image object which can receive the unpacked Image, note that returned image is allocated in a single bloc and can be released with Mem_Free(image).
- NULL is returned if there is not enough memory to store the unpacked image.
- -
-
- -
-
- - - - - - - - -
Map* allocateMap (const MapDefinitionmapDef)
-
-
- -

Allocate Map structure which can receive unpacked data of the specified MapDefinition.

-
Parameters:
- - -
mapDefSource MapDefinition we want to allocate Map object for.
-
-
-
Returns:
The new allocated Map object which can receive the (unpacked) MapDefinition data, note that returned map is allocated in a single bloc and can be released with Mem_Free(image).
- NULL is returned if there is not enough memory to store the data for given MapDefinition.
- -
-
- -
-
- - - - - - - - -
TileMap* allocateTileMap (const TileMaptilemap)
-
-
- -

Allocate TileMap structure which can receive unpacked tilemap data of the specified TileMap.

-
Parameters:
- - -
tilemapSource TileMap we want to allocate the unpacked TileMap object.
-
-
-
Returns:
The new allocated TileMap object which can receive the unpacked TileMap, note that returned tilemap is allocated in a single bloc and can be released with Mem_Free(tilemap).
- NULL is returned if there is not enough memory to store the unpacked tilemap.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
TileMap* allocateTileMapEx (u16 width,
u16 heigth 
)
-
-
- -

Allocate a new TileMap structure which can receive tilemap data for the specified TileMap dimension.

-
Parameters:
- - - -
widthWidth in tile of the TileMap structure we want to allocate.
heigthheigth in tile of the TileMap structure we want to allocate.
-
-
-
Returns:
The new allocated TileMap object which can receive data for the specified TileMap dimension.
- Note that returned tilemap is allocated in a single bloc and can be released with Mem_Free(tilemap).
- NULL is returned if there is not enough memory to allocate the tilemap.
- -
-
- -
-
- - - - - - - - -
TileSet* allocateTileSet (const TileSettileset)
-
-
- -

Allocate TileSet structure which can receive unpacked tiles data of the specified TileSet.

-
Parameters:
- - -
tilesetSource TileSet we want to allocate the unpacked TileSet object.
-
-
-
Returns:
The new allocated TileSet object which can receive the unpacked TileSet, note that returned tile set is allocated in a single bloc and can be released with Mem_Free(tb).
- NULL is returned if there is not enough memory to store the unpacked tiles.
- -
-
- -
-
- - - - - - - - -
TileSet* allocateTileSetEx (u16 numTile)
-
-
- -

Allocate a new TileSet structure which can receive the data for the specified number of tile.

-
Parameters:
- - -
numTileNumber of tile this tileset can contain
-
-
-
Returns:
The new allocated TileSet object which can receive the specified number of tile.
- Note that returned tileset is allocated in a single bloc and can be released with Mem_Free(tileset).
- NULL is returned if there is not enough memory to allocatee the tileset.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u32 aplib_unpack (u8src,
u8dest 
)
-
-
- -

Unpack (aplib packer) the specified source data buffer in the specified destination buffer.

-
Parameters:
- - - -
srcSource data buffer containing the packed data (aplib packer) to unpack.
destDestination buffer where to store unpacked data, be sure to allocate enough space.
-
-
-
Returns:
Unpacked size.
- -
-
- -
-
- - - - - - - - -
u16 void KLog (char * text)
-
-
- -

KDebug log helper methods.

-
Deprecated:
Use kprintf(..) instead
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u16 kprintf (const char * fmt,
 ... 
)
-
-
- -

Composes a string with the same text that would be printed if format was used on printf, but instead of being printed to screen, the content is printed in KMod console.

-
Parameters:
- - - -
fmtC string that contains the text to be written to destination string.
- It can optionally contain embedded format specifiers.
...(additional arguments) Depending on the format string, the function may expect a sequence of additional arguments,
- each containing a value to be used to replace a format specifier in the format string.
-
-
-

There should be at least as many of these arguments as the number of values specified in the format specifiers.
- Additional arguments are ignored by the function.

-
Returns:
On success, the total number of characters written (limited to 255 max)
-

Copy the string pointed by 'fmt' param to KMod console.
- If 'fmt' includes format specifiers (subsequences beginning with %), the additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers.
- Note that internally a buffer of 255 characters is allocated so consider this limitation !

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u32 lz4w_unpack (const u8src,
u8dest 
)
-
-
- -

Unpack (LZ4W) the specified source data buffer in the specified destination buffer.

-
Parameters:
- - - -
srcSource data buffer containing the packed data (LZ4W packed) to unpack.
destDestination buffer where to store unpacked data, be sure to allocate enough space.
- The size of unpacked data is contained in the first 4 bytes of 'src'.
-
-
-
Returns:
Unpacked size.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void qsort (void ** data,
u16 len,
_comparatorCallbackcb 
)
-
-
- -

Quick sort algo on array of pointer (object)

-
Parameters:
- - - - -
dataarray of pointer (pointer of object to sort).
lennumber of element in the data array
cbcomparator callback used to compare 2 objects.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void qsort_s16 (s16data,
u16 left,
u16 right 
)
-
-
- -

Quick sort algo on s16 data array.

-
Parameters:
- - - - -
datas16 data pointer.
leftleft index (should be 0).
rightright index (should be table size - 1).
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void qsort_s32 (s32data,
u16 left,
u16 right 
)
-
-
- -

Quick sort algo on s32 data array.

-
Parameters:
- - - - -
datas32 data pointer.
leftleft index (should be 0).
rightright index (should be table size - 1).
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void qsort_s8 (s8data,
u16 left,
u16 right 
)
-
-
- -

Quick sort algo on s8 data array.

-
Parameters:
- - - - -
datas8 data pointer.
leftleft index (should be 0).
rightright index (should be table size - 1).
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void qsort_u16 (u16data,
u16 left,
u16 right 
)
-
-
- -

Quick sort algo on u16 data array.

-
Parameters:
- - - - -
datau16 data pointer.
leftleft index (should be 0).
rightright index (should be table size - 1).
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void qsort_u32 (u32data,
u16 left,
u16 right 
)
-
-
- -

Quick sort algo on u32 data array.

-
Parameters:
- - - - -
datau32 data pointer.
leftleft index (should be 0).
rightright index (should be table size - 1).
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void qsort_u8 (u8data,
u16 left,
u16 right 
)
-
-
- -

Quick sort algo on u8 data array.

-
Parameters:
- - - - -
datau8 data pointer.
leftleft index (should be 0).
rightright index (should be table size - 1).
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
u32 unpack (u16 compression,
u8src,
u8dest 
)
-
-
- -

Unpack the specified source data buffer in the specified destination buffer.
- if source is not packed then nothing is done.

-
Parameters:
- - - - -
compressioncompression type, accepted values:
- COMPRESSION_APLIB
- COMPRESSION_LZ4W
-
srcSource data buffer containing the packed data to unpack.
destDestination buffer where to store unpacked data, be sure to allocate enough space.
-
-
-
Returns:
Unpacked size.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
Bitmap* unpackBitmap (const Bitmapsrc,
Bitmapdest 
)
-
-
- -

Unpack the specified source Bitmap and return result in a new allocated Bitmap.

-
Parameters:
- - - -
srcbitmap to unpack.
destDestination bitmap where to store unpacked data, be sure to allocate enough space in image buffer.
- If set to NULL then a dynamic allocated Bitmap is returned.
-
-
-
Returns:
The unpacked Bitmap.
- If dest was set to NULL then the returned bitmap is allocated in a single bloc and can be released with Mem_Free(bitmap).
- NULL is returned if there is not enough memory to store the unpacked bitmap.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
Image* unpackImage (const Imagesrc,
Imagedest 
)
-
-
- -

Unpack the specified Image structure and return result in a new allocated Image.

-
Parameters:
- - - -
srcimage to unpack.
destDestination Image where to store unpacked data.
- If set to NULL then a dynamic allocated Image is returned.
-
-
-
Returns:
The unpacked Image.
- If dest was set to NULL then the returned image is allocated in a single bloc and can be released with Mem_Free(image).
- NULL is returned if there is not enough memory to store the unpacked image.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
TileMap* unpackTileMap (const TileMapsrc,
TileMapdest 
)
-
-
- -

Unpack the specified TileMap structure and return result in a new allocated TileMap.

-
Parameters:
- - - -
srctilemap to unpack.
destDestination tilemap where to store unpacked data, be sure to allocate enough space in tiles and tilemap buffer.
- If set to NULL then a dynamic allocated TileMap is returned.
-
-
-
Returns:
The unpacked TileMap.
- If dest was set to NULL then the returned tilemap is allocated in a single bloc and can be released with Mem_Free(tilemap).
- NULL is returned if there is not enough memory to store the unpacked tilemap.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
TileSet* unpackTileSet (const TileSetsrc,
TileSetdest 
)
-
-
- -

Unpack the specified TileSet structure and return result in a new allocated TileSet.

-
Parameters:
- - - -
srctiles to unpack.
destDestination TileSet structure where to store unpacked data, be sure to allocate enough space in tiles and tilemap buffer.
- If set to NULL then a dynamic allocated TileSet is returned.
-
-
-
Returns:
The unpacked TileSet.
- If dest was set to NULL then the returned tiles base is allocated in a single bloc and can be released with Mem_Free(tb).
- NULL is returned if there is not enough memory to store the unpacked tiles.
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/tools_8h_source.html b/doc/html/tools_8h_source.html deleted file mode 100644 index 287380219..000000000 --- a/doc/html/tools_8h_source.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - -sgdk: tools.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
tools.h
-
-
-Go to the documentation of this file.
00001 
-00010 #ifndef _TOOLS_H_
-00011 #define _TOOLS_H_
-00012 
-00013 #include "bmp.h"
-00014 #include "vdp_tile.h"
-00015 #include "vdp_bg.h"
-00016 #include "map.h"
-00017 
-00018 
-00023 #define COMPRESSION_NONE        0
-00024 
-00028 #define COMPRESSION_APLIB       1
-00029 
-00033 #define COMPRESSION_LZ4W        2
-00034 
-00035 
-00046 typedef s16 _comparatorCallback(void* o1, void* o2);
-00047 
-00048 
-00053 void setRandomSeed(u16 seed);
-00058 u16 random(void);
-00059 
-00060 
-00085 u16 kprintf(const char *fmt, ...) __attribute__ ((format (printf, 1, 2)));
-00086 
-00092 void KLog(char* text);
-00093 void KLog_U1(char* t1, u32 v1);
-00094 void KLog_U2(char* t1, u32 v1, char* t2, u32 v2);
-00095 void KLog_U3(char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3);
-00096 void KLog_U4(char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3, char* t4, u32 v4);
-00097 void KLog_U1_(char* t1, u32 v1, char* t2);
-00098 void KLog_U2_(char* t1, u32 v1, char* t2, u32 v2, char* t3);
-00099 void KLog_U3_(char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3, char* t4);
-00100 void KLog_U4_(char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3, char* t4, u32 v4, char* t5);
-00101 void KLog_U1x(u16 minSize, char* t1, u32 v1);
-00102 void KLog_U2x(u16 minSize, char* t1, u32 v1, char* t2, u32 v2);
-00103 void KLog_U3x(u16 minSize, char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3);
-00104 void KLog_U4x(u16 minSize, char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3, char* t4, u32 v4);
-00105 void KLog_U1x_(u16 minSize, char* t1, u32 v1, char* t2);
-00106 void KLog_U2x_(u16 minSize, char* t1, u32 v1, char* t2, u32 v2, char* t3);
-00107 void KLog_U3x_(u16 minSize, char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3, char* t4);
-00108 void KLog_U4x_(u16 minSize, char* t1, u32 v1, char* t2, u32 v2, char* t3, u32 v3, char* t4, u32 v4, char* t5);
-00109 void KLog_S1(char* t1, s32 v1);
-00110 void KLog_S2(char* t1, s32 v1, char* t2, s32 v2);
-00111 void KLog_S3(char* t1, s32 v1, char* t2, s32 v2, char* t3, s32 v3);
-00112 void KLog_S4(char* t1, s32 v1, char* t2, s32 v2, char* t3, s32 v3, char* t4, s32 v4);
-00113 void KLog_S1_(char* t1, s32 v1, char* t2);
-00114 void KLog_S2_(char* t1, s32 v1, char* t2, s32 v2, char* t3);
-00115 void KLog_S3_(char* t1, s32 v1, char* t2, s32 v2, char* t3, s32 v3, char* t4);
-00116 void KLog_S4_(char* t1, s32 v1, char* t2, s32 v2, char* t3, s32 v3, char* t4, s32 v4, char* t5);
-00117 void KLog_S1x(u16 minSize, char* t1, s32 v1);
-00118 void KLog_S2x(u16 minSize, char* t1, s32 v1, char* t2, s32 v2);
-00119 void KLog_S3x(u16 minSize, char* t1, s32 v1, char* t2, s32 v2, char* t3, s32 v3);
-00120 void KLog_S4x(u16 minSize, char* t1, s32 v1, char* t2, s32 v2, char* t3, s32 v3, char* t4, s32 v4);
-00121 void KLog_f1(char* t1, fix16 v1);
-00122 void KLog_f2(char* t1, fix16 v1, char* t2, fix16 v2);
-00123 void KLog_f3(char* t1, fix16 v1, char* t2, fix16 v2, char* t3, fix16 v3);
-00124 void KLog_f4(char* t1, fix16 v1, char* t2, fix16 v2, char* t3, fix16 v3, char* t4, fix16 v4);
-00125 void KLog_f1x(s16 numDec, char* t1, fix16 v1);
-00126 void KLog_f2x(s16 numDec, char* t1, fix16 v1, char* t2, fix16 v2);
-00127 void KLog_f3x(s16 numDec, char* t1, fix16 v1, char* t2, fix16 v2, char* t3, fix16 v3);
-00128 void KLog_f4x(s16 numDec, char* t1, fix16 v1, char* t2, fix16 v2, char* t3, fix16 v3, char* t4, fix16 v4);
-00129 void KLog_F1(char* t1, fix32 v1);
-00130 void KLog_F2(char* t1, fix32 v1, char* t2, fix32 v2);
-00131 void KLog_F3(char* t1, fix32 v1, char* t2, fix32 v2, char* t3, fix32 v3);
-00132 void KLog_F4(char* t1, fix32 v1, char* t2, fix32 v2, char* t3, fix32 v3, char* t4, fix32 v4);
-00133 void KLog_F1x(s16 numDec, char* t1, fix32 v1);
-00134 void KLog_F2x(s16 numDec, char* t1, fix32 v1, char* t2, fix32 v2);
-00135 void KLog_F3x(s16 numDec, char* t1, fix32 v1, char* t2, fix32 v2, char* t3, fix32 v3);
-00136 void KLog_F4x(s16 numDec, char* t1, fix32 v1, char* t2, fix32 v2, char* t3, fix32 v3, char* t4, fix32 v4);
-00137 
-00138 
-00151 Bitmap *allocateBitmap(const Bitmap *bitmap);
-00166 Bitmap *allocateBitmapEx(u16 width, u16 heigth);
-00178 TileSet *allocateTileSet(const TileSet *tileset);
-00190 TileSet *allocateTileSetEx(u16 numTile);
-00202 TileMap *allocateTileMap(const TileMap *tilemap);
-00216 TileMap *allocateTileMapEx(u16 width, u16 heigth);
-00229 Image *allocateImage(const Image *image);
-00241 Map *allocateMap(const MapDefinition *mapDef);
-00242 
-00257 Bitmap *unpackBitmap(const Bitmap *src, Bitmap *dest);
-00272 TileSet *unpackTileSet(const TileSet *src, TileSet *dest);
-00287 TileMap *unpackTileMap(const TileMap *src, TileMap *dest);
-00302 Image *unpackImage(const Image *src, Image *dest);
-00303 
-00320 u32 unpack(u16 compression, u8 *src, u8 *dest);
-00321 
-00333 u32 aplib_unpack(u8 *src, u8 *dest);
-00346 u32 lz4w_unpack(const u8 *src, u8 *dest);
-00347 
-00348 
-00360 void qsort_u8(u8 *data, u16 left, u16 right);
-00372 void qsort_s8(s8 *data, u16 left, u16 right);
-00384 void qsort_u16(u16 *data, u16 left, u16 right);
-00396 void qsort_s16(s16 *data, u16 left, u16 right);
-00408 void qsort_u32(u32 *data, u16 left, u16 right);
-00420 void qsort_s32(s32 *data, u16 left, u16 right);
-00421 
-00433 void qsort(void** data, u16 len, _comparatorCallback* cb);
-00434 
-00435 
-00436 
-00437 #endif // _TOOLS_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/types_8h.html b/doc/html/types_8h.html deleted file mode 100644 index 849fb9670..000000000 --- a/doc/html/types_8h.html +++ /dev/null @@ -1,840 +0,0 @@ - - - - -sgdk: types.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
types.h File Reference
-
-
- -

Types definition. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  Box
 Simple Box structure. More...
struct  Circle
 Simple Circle structure. More...

-Defines

-#define FALSE   0
 FALSE define (equivalent to 0).
-#define TRUE   1
 TRUE define (equivalent to 1).
-#define NULL   0
 NULL define (equivalent to 0).
-#define MIN_U8   0x00
-#define MAX_U8   0xFF
-#define MIN_S8   -0x80
-#define MAX_S8   0x7F
-#define MIN_U16   0x0000
-#define MAX_U16   0xFFFF
-#define MIN_S16   -0x8000
-#define MAX_S16   0x7FFF
-#define MIN_U32   0x0000
-#define MAX_U32   0xFFFFFFFF
-#define MIN_S32   -0x80000000
-#define MAX_S32   0x7FFFFFFF
-#define false   FALSE
 false define (equivalent to 0).
-#define true   TRUE
 true define (equivalent to 1).
-#define uint8_t   u8
-#define int8_t   s8
-#define uint16_t   u16
-#define int16_t   s16
-#define uint32_t   u32
-#define int32_t   s32
-#define size_t   u32
-#define ptrdiff_t   u32
-#define FASTCALL

-Typedefs

typedef char s8
typedef short s16
typedef long s32
typedef unsigned char u8
typedef unsigned short u16
typedef unsigned long u32
typedef u8 bool
typedef volatile s8 vs8
typedef volatile s16 vs16
typedef volatile s32 vs32
typedef volatile u8 vu8
typedef volatile u16 vu16
typedef volatile u32 vu32
typedef vu8 vbool
typedef s16 p16
typedef s16 fix16
typedef s32 fix32
typedef s16 f16
typedef s32 f32
typedef s16 fastfix16
typedef s32 fastfix32
typedef s16 ff16
typedef s32 ff32
typedef vs16 vfix16
typedef vs32 vfix32
typedef vs16 vf16
typedef vs32 vf32
-typedef void VoidCallback (void)

-Functions

-u8 getZeroU8 (void)
-u16 getZeroU16 (void)
-u32 getZeroU32 (void)
u8 rol8 (u8 value, u16 number)
 ROL instruction for byte (8 bit) value.
u16 rol16 (u16 value, u16 number)
 ROL instruction for short (16 bit) value.
u32 rol32 (u32 value, u16 number)
 ROL instruction for long (32 bit) value.
u8 ror8 (u8 value, u16 number)
 ROR instruction for byte (8 bit) value.
u16 ror16 (u16 value, u16 number)
 ROR instruction for short (16 bit) value.
u32 ror32 (u32 value, u16 number)
 ROR instruction for long (32 bit) value.
-

Detailed Description

-

Types definition.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

SGDK Types definition.

-

Typedef Documentation

- -
-
- - - - -
bool
-
-
-

boolean type, to be used with TRUE/true and FALSE/false constants. (internally set as unsigned char)

- -
-
- -
-
- - - - -
f16
-
-
-

16 bits fixed point (10.6) type - short version

- -
-
- -
-
- - - - -
f32
-
-
-

32 bits fixed point (22.10) type - short version

- -
-
- -
-
- - - - -
fastfix16
-
-
-

"fast" 16 bits fixed point (8.8) type

- -
-
- -
-
- - - - -
fastfix32
-
-
-

"fast" 32 bits fixed point (16.16) type

- -
-
- -
-
- - - - -
ff16
-
-
-

"fast" 16 bits fixed point (8.8) type - short version

- -
-
- -
-
- - - - -
ff32
-
-
-

"fast" 32 bits fixed point (16.16) type - short version

- -
-
- -
-
- - - - -
fix16
-
-
-

16 bits fixed point (10.6) type

- -
-
- -
-
- - - - -
fix32
-
-
-

32 bits fixed point (22.10) type

- -
-
- -
-
- - - - -
p16
-
-
-

short pointer for fast 16 bit addressing (GCC does correctly cast that to pointer). Limited to 0xFFFF8000-0x00007FFF memory region (first 32KB bank of ROM, and last 32KB of RAM)

- -
-
- -
-
- - - - -
s16
-
-
-

16 bits signed integer (equivalent to short).

- -
-
- -
-
- - - - -
s32
-
-
-

32 bits signed integer (equivalent to long).

- -
-
- -
-
- - - - -
s8
-
-
-

8 bits signed integer (equivalent to char).

- -
-
- -
-
- - - - -
u16
-
-
-

16 bits unsigned integer (equivalent to unsigned short).

- -
-
- -
-
- - - - -
u32
-
-
-

32 bits unsigned integer (equivalent to unsigned long).

- -
-
- -
-
- - - - -
u8
-
-
-

8 bits unsigned integer (equivalent to unsigned char).

- -
-
- -
-
- - - - -
vbool
-
-
-

volatile boolean type. (internally set as volatile unsigned char)

- -
-
- -
-
- - - - -
vf16
-
-
-

volatile 16 bits fixed point (10.6) type - short version

- -
-
- -
-
- - - - -
vf32
-
-
-

volatile 32 bits fixed point (22.10) type - short version

- -
-
- -
-
- - - - -
vfix16
-
-
-

volatile 16 bits fixed point (10.6) type.

- -
-
- -
-
- - - - -
vfix32
-
-
-

volatile 32 bits fixed point (22.10) type.

- -
-
- -
-
- - - - -
vs16
-
-
-

volatile 16 bits signed integer.

- -
-
- -
-
- - - - -
vs32
-
-
-

volatile 32 bits signed integer.

- -
-
- -
-
- - - - -
vs8
-
-
-

volatile 8 bits signed integer.

- -
-
- -
-
- - - - -
vu16
-
-
-

volatile 16 bits unsigned integer.

- -
-
- -
-
- - - - -
vu32
-
-
-

volatile 32 bits unsigned integer.

- -
-
- -
-
- - - - -
vu8
-
-
-

volatile 8 bits unsigned integer.

- -
-
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
u16 rol16 (u16 value,
u16 number 
)
-
-
- -

ROL instruction for short (16 bit) value.

-
Parameters:
- - - -
valuevalue to apply bit rotation
numbernumber of bit rotation
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u32 rol32 (u32 value,
u16 number 
)
-
-
- -

ROL instruction for long (32 bit) value.

-
Parameters:
- - - -
valuevalue to apply bit rotation
numbernumber of bit rotation
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u8 rol8 (u8 value,
u16 number 
)
-
-
- -

ROL instruction for byte (8 bit) value.

-
Parameters:
- - - -
valuevalue to apply bit rotation
numbernumber of bit rotation
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u16 ror16 (u16 value,
u16 number 
)
-
-
- -

ROR instruction for short (16 bit) value.

-
Parameters:
- - - -
valuevalue to apply bit rotation
numbernumber of bit rotation
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u32 ror32 (u32 value,
u16 number 
)
-
-
- -

ROR instruction for long (32 bit) value.

-
Parameters:
- - - -
valuevalue to apply bit rotation
numbernumber of bit rotation
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u8 ror8 (u8 value,
u16 number 
)
-
-
- -

ROR instruction for byte (8 bit) value.

-
Parameters:
- - - -
valuevalue to apply bit rotation
numbernumber of bit rotation
-
-
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/types_8h_source.html b/doc/html/types_8h_source.html deleted file mode 100644 index a71a7fb5e..000000000 --- a/doc/html/types_8h_source.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - -sgdk: types.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
types.h
-
-
-Go to the documentation of this file.
00001 
-00010 #ifndef _TYPES_H_
-00011 #define _TYPES_H_
-00012 
-00017 #ifndef FALSE
-00018 #define FALSE   0
-00019 #endif
-00020 
-00024 #ifndef TRUE
-00025 #define TRUE    1
-00026 #endif
-00027 
-00031 #ifndef NULL
-00032 #define NULL    0
-00033 #endif
-00034 
-00035 #ifndef MIN_U8
-00036 #define MIN_U8  0x00
-00037 #endif
-00038 #ifndef MAX_U8
-00039 #define MAX_U8  0xFF
-00040 #endif
-00041 #ifndef MIN_S8
-00042 #define MIN_S8  -0x80
-00043 #endif
-00044 #ifndef MAX_S8
-00045 #define MAX_S8  0x7F
-00046 #endif
-00047 
-00048 #ifndef MIN_U16
-00049 #define MIN_U16 0x0000
-00050 #endif
-00051 #ifndef MAX_U16
-00052 #define MAX_U16 0xFFFF
-00053 #endif
-00054 #ifndef MIN_S16
-00055 #define MIN_S16 -0x8000
-00056 #endif
-00057 #ifndef MAX_S16
-00058 #define MAX_S16 0x7FFF
-00059 #endif
-00060 
-00061 #ifndef MIN_U32
-00062 #define MIN_U32 0x0000
-00063 #endif
-00064 #ifndef MAX_U32
-00065 #define MAX_U32 0xFFFFFFFF
-00066 #endif
-00067 #ifndef MIN_S32
-00068 #define MIN_S32 -0x80000000
-00069 #endif
-00070 #ifndef MAX_S32
-00071 #define MAX_S32 0x7FFFFFFF
-00072 #endif
-00073 
-00074 
-00079 typedef char s8;
-00084 typedef short s16;
-00089 typedef long s32;
-00090 
-00095 typedef unsigned char u8;
-00100 typedef unsigned short u16;
-00105 typedef unsigned long u32;
-00106 
-00107 #if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 202300L))
-00108 
-00114 typedef u8 bool;
-00119 #ifndef false
-00120 #define false   FALSE
-00121 #endif
-00122 
-00126 #ifndef true
-00127 #define true    TRUE
-00128 #endif
-00129 
-00130 #endif
-00131 
-00136 typedef volatile s8 vs8;
-00141 typedef volatile s16 vs16;
-00146 typedef volatile s32 vs32;
-00147 
-00152 typedef volatile u8 vu8;
-00157 typedef volatile u16 vu16;
-00162 typedef volatile u32 vu32;
-00163 
-00169 typedef vu8 vbool;
-00170 
-00176 typedef s16 p16;
-00177 
-00178 
-00179 #if !defined(uint8_t) && !defined(__int8_t_defined)
-00180 #define uint8_t     u8
-00181 #define int8_t      s8
-00182 #endif
-00183 #if !defined(uint16_t) && !defined(__int16_t_defined)
-00184 #define uint16_t    u16
-00185 #define int16_t     s16
-00186 #endif
-00187 #if !defined(uint32_t) && !defined(__int32_t_defined)
-00188 #define uint32_t    u32
-00189 #define int32_t     s32
-00190 #endif
-00191 #if !defined(size_t)
-00192 #define size_t      u32
-00193 #endif
-00194 #if !defined(ptrdiff_t)
-00195 #define ptrdiff_t   u32
-00196 #endif
-00197 
-00198 
-00203 typedef s16 fix16;
-00208 typedef s32 fix32;
-00213 typedef s16 f16;
-00218 typedef s32 f32;
-00219 
-00224 typedef s16 fastfix16;
-00229 typedef s32 fastfix32;
-00234 typedef s16 ff16;
-00239 typedef s32 ff32;
-00240 
-00245 typedef vs16 vfix16;
-00250 typedef vs32 vfix32;
-00255 typedef vs16 vf16;
-00260 typedef vs32 vf32;
-00261 
-00262 
-00263 #define FASTCALL
-00264 
-00278 typedef struct
-00279 {
-00280     s16 x;
-00281     s16 y;
-00282     u16 w;
-00283     u16 h;
-00284 } Box;
-00285 
-00297 typedef struct
-00298 {
-00299     s16 x;
-00300     s16 y;
-00301     u16 ray;
-00302 } Circle;
-00303 
-00304 
-00305 typedef void VoidCallback(void);
-00306 
-00307 
-00308 u8  getZeroU8(void);
-00309 u16 getZeroU16(void);
-00310 u32 getZeroU32(void);
-00311 
-00321 u8  rol8(u8 value, u16 number);
-00331 u16 rol16(u16 value, u16 number);
-00341 u32 rol32(u32 value, u16 number);
-00351 u8  ror8(u8 value, u16 number);
-00361 u16 ror16(u16 value, u16 number);
-00371 u32 ror32(u32 value, u16 number);
-00372 
-00373 
-00374 #endif // _TYPES_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/union_interrupt_caller-members.html b/doc/html/union_interrupt_caller-members.html deleted file mode 100644 index 699c2555a..000000000 --- a/doc/html/union_interrupt_caller-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - -sgdk: Member List - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
InterruptCaller Member List
-
-
-This is the complete list of members for InterruptCaller, including all inherited members. - - - -
addr (defined in InterruptCaller)InterruptCaller
code (defined in InterruptCaller)InterruptCaller
jmpInst (defined in InterruptCaller)InterruptCaller
-
- - - - - -
- -
- - - - diff --git a/doc/html/union_interrupt_caller.html b/doc/html/union_interrupt_caller.html deleted file mode 100644 index e823d3c16..000000000 --- a/doc/html/union_interrupt_caller.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - -sgdk: InterruptCaller Union Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
InterruptCaller Union Reference
-
-
- -

List of all members.

- - - - - - - -

-Public Attributes

-u8 code [6]
-struct {
   u16   jmpInst
   VoidCallback *   addr
}; 
-
The documentation for this union was generated from the following file:
    -
  • sys.c
  • -
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/vdp_8h.html b/doc/html/vdp_8h.html deleted file mode 100644 index f99404168..000000000 --- a/doc/html/vdp_8h.html +++ /dev/null @@ -1,2024 +0,0 @@ - - - - -sgdk: vdp.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
vdp.h File Reference
-
-
- -

VDP main. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define VDP_DATA_PORT   0xC00000
 VDP Data port address.
-#define VDP_CTRL_PORT   0xC00004
 VDP Control port address.
-#define VDP_HVCOUNTER_PORT   0xC00008
 VDP HV counter port address.
#define GFX_DATA_PORT   _Pragma("GCC error \"This definition is deprecated, use VDP_DATA_PORT instead.\"")
#define GFX_CTRL_PORT   _Pragma("GCC error \"This definition is deprecated, use VDP_CTRL_PORT instead.\"")
#define GFX_HVCOUNTER_PORT   _Pragma("GCC error \"This definition is deprecated, use VDP_HVCOUNTER_PORT instead.\"")
-#define VDP_FIFOEMPTY_FLAG   (1 << 9)
 VDP FIFO empty flag.
-#define VDP_FIFOFULL_FLAG   (1 << 8)
 VDP FIFO full flag.
-#define VDP_VINTPENDING_FLAG   (1 << 7)
 VDP Vertical interrupt pending flag.
-#define VDP_SPROVERFLOW_FLAG   (1 << 6)
 VDP sprite overflow flag.
-#define VDP_SPRCOLLISION_FLAG   (1 << 5)
 VDP sprite collision flag.
-#define VDP_ODDFRAME_FLAG   (1 << 4)
 VDP odd frame flag.
-#define VDP_VBLANK_FLAG   (1 << 3)
 VDP Vertical blanking flag.
-#define VDP_HBLANK_FLAG   (1 << 2)
 VDP Horizontal blanking flag.
-#define VDP_DMABUSY_FLAG   (1 << 1)
 VDP DMA busy flag.
-#define VDP_PALMODE_FLAG   (1 << 0)
 VDP PAL mode flag.
#define VDP_PLAN_A   _Pragma("GCC error \"This definition is deprecated, use VDP_BG_A instead.\"")
#define VDP_PLAN_B   _Pragma("GCC error \"This definition is deprecated, use VDP_BG_B instead.\"")
#define VDP_PLAN_WINDOW   _Pragma("GCC error \"This definition is deprecated, use VDP_WINDOW instead.\"")
-#define VDP_BG_A   bga_addr
 VDP background A tilemap address in VRAM.
-#define VDP_BG_B   bgb_addr
 VDP background B tilemap address in VRAM.
-#define VDP_WINDOW   window_addr
 VDP window tilemap address in VRAM.
-#define VDP_HSCROLL_TABLE   hscrl_addr
 VDP horizontal scroll table address in VRAM.
-#define VDP_SPRITE_TABLE   slist_addr
 VDP sprite list table address in VRAM.
-#define VDP_MAPS_START   maps_addr
 Address in VRAM where tilemaps start (= address of first tilemap / table in VRAM).
-#define HSCROLL_PLANE   0
 Definition to set horizontal scroll to mode plane.
-#define HSCROLL_TILE   2
 Definition to set horizontal scroll to mode tile.
-#define HSCROLL_LINE   3
 Definition to set horizontal scroll to mode line.
-#define VSCROLL_PLANE   0
 Definition to set vertical scroll to mode plane.
-#define VSCROLL_COLUMN   1
 Definition to set vertical scroll to mode column (2 tiles width).
#define VSCROLL_2TILE   _Pragma("GCC error \"This definition is deprecated, use VSCROLL_COLUMN instead.\"")
-#define INTERLACED_NONE   0
 Interlaced scanning mode disabled.
- That is the default mode for the VDP.
-#define INTERLACED_MODE1   1
 Interlaced Scanning Mode 1 - 8x8 dots per cell (normal vertical resolution)
- In Interlaced Mode 1, the same pattern will be displayed on the adjacent lines of even and odd numbered fields.
-#define INTERLACED_MODE2   2
 Interlaced Scanning Mode 2 - 8x16 dots per cell (double vertical resolution)
- In Interlaced Mode 2, different patterns can be displayed on the adjacent lines of even and odd numbered fields.
-#define FONT_LEN   96
 SGDK font length.
-#define TILE_SIZE   32
 Size of a single tile in byte.
-#define TILE_INDEX_MASK   (0xFFFF / TILE_SIZE)
-#define TILE_SPACE   VDP_MAPS_START
 Space in byte for tile in VRAM (tile space ends where tilemaps starts)
-#define TILE_MAX_NUM   (TILE_SPACE / TILE_SIZE)
 Maximum number of tile in VRAM (related to TILE_SPACE).
-#define TILE_MAX_INDEX   (TILE_MAXNUM - 1)
 Maximum tile index in VRAM (related to TILE_MAXNUM).
-#define TILE_SYSTEM_INDEX   0x0000
 System base tile index in VRAM.
-#define TILE_SYSTEM_LENGTH   16
 Number of system tile.
-#define TILE_USER_INDEX   (TILE_SYSTEM_INDEX + TILE_SYSTEM_LENGTH)
 User base tile index.
-#define TILE_FONT_INDEX   (TILE_MAX_NUM - FONT_LEN)
 Font base tile index.
-#define TILE_SPRITE_INDEX   (TILE_FONT_INDEX - spriteVramSize)
 Sprite engine base tile index (equal TILE_FONT_INDEX if Sprite Engine is not initialized).
-#define TILE_USER_LENGTH   ((userTileMaxIndex - TILE_USER_INDEX) + 1)
 Number of available user tile.
-#define TILE_USER_MAX_INDEX   userTileMaxIndex
 Maximum tile index in VRAM reserved for user (for background and user managed sprites)
#define TILE_MAXNUM   _Pragma("GCC error \"This definition is deprecated, use TILE_MAX_NUM instead.\"")
#define TILE_MAXINDEX   _Pragma("GCC error \"This definition is deprecated, use TILE_MAX_INDEX instead.\"")
#define TILE_SYSTEM_LENGHT   _Pragma("GCC error \"This definition is deprecated, use TILE_SYSTEM_LENGTH instead.\"")
#define TILE_SYSTEMLENGTH   _Pragma("GCC error \"This definition is deprecated, use TILE_SYSTEM_LENGTH instead.\"")
#define TILE_SYSTEMINDEX   _Pragma("GCC error \"This definition is deprecated, use TILE_SYSTEM_INDEX instead.\"")
#define TILE_USERINDEX   _Pragma("GCC error \"This definition is deprecated, use TILE_USER_INDEX instead.\"")
#define TILE_FONTINDEX   _Pragma("GCC error \"This definition is deprecated, use TILE_FONT_INDEX instead.\"")
#define TILE_SPRITEINDEX   _Pragma("GCC error \"This definition is deprecated, use TILE_SPRITE_INDEX instead.\"")
#define TILE_USERLENGTH   _Pragma("GCC error \"This definition is deprecated, use TILE_USER_LENGTH instead.\"")
#define TILE_USERMAXINDEX   _Pragma("GCC error \"This definition is deprecated, use TILE_USER_MAX_INDEX instead.\"")
-#define TILE_SYSTEM   (TILE_SYSTEM_INDEX * TILE_SIZE)
 System tile address in VRAM.
-#define TILE_USER   (TILE_USER_INDEX * TILE_SIZE)
 User tile address in VRAM.
-#define TILE_FONT   (TILE_FONT_INDEX * TILE_SIZE)
 Font tile address in VRAM.
-#define PAL0   0
 Palette 0.
-#define PAL1   1
 Palette 1.
-#define PAL2   2
 Palette 2.
-#define PAL3   3
 Palette 3.
-#define VDP_READ_VRAM_ADDR(adr)   (((0x0000 + ((adr) & 0x3FFF)) << 16) + (((adr) >> 14) | 0x00))
 Set VDP command to read specified VRAM address.
-#define VDP_READ_CRAM_ADDR(adr)   (((0x0000 + ((adr) & 0x7F)) << 16) + 0x20)
 Set VDP command to read specified CRAM address.
-#define VDP_READ_VSRAM_ADDR(adr)   (((0x0000 + ((adr) & 0x7F)) << 16) + 0x10)
 Set VDP command to read specified VSRAM address.
-#define VDP_WRITE_VRAM_ADDR(adr)   (((0x4000 + ((adr) & 0x3FFF)) << 16) + (((adr) >> 14) | 0x00))
 Set VDP command to write at specified VRAM address.
-#define VDP_WRITE_CRAM_ADDR(adr)   (((0xC000 + ((adr) & 0x7F)) << 16) + 0x00)
 Set VDP command to write at specified CRAM address.
-#define VDP_WRITE_VSRAM_ADDR(adr)   (((0x4000 + ((adr) & 0x7F)) << 16) + 0x10)
 Set VDP command to write at specified VSRAM address.
-#define VDP_DMA_VRAM_ADDR(adr)   (((0x4000 + ((adr) & 0x3FFF)) << 16) + (((adr) >> 14) | 0x80))
 Set VDP command to issue a DMA transfert to specified VRAM address.
-#define VDP_DMA_CRAM_ADDR(adr)   (((0xC000 + ((adr) & 0x7F)) << 16) + 0x80)
 Set VDP command to issue a DMA transfert to specified CRAM address.
-#define VDP_DMA_VSRAM_ADDR(adr)   (((0x4000 + ((adr) & 0x7F)) << 16) + 0x90)
 Set VDP command to issue a DMA transfert to specified VSRAM address.
-#define VDP_DMA_VRAMCOPY_ADDR(adr)   (((0x4000 + ((adr) & 0x3FFF)) << 16) + (((adr) >> 14) | 0xC0))
 Set VDP command to issue a DMA VRAM copy to specified VRAM address.
-#define VDP_VERT_SCROLL(adr)   VDP_WRITE_VSRAM_ADDR(adr)
 Helper to write in vertical scroll table (same as VDP_WRITE_VSRAM_ADDR).
-#define VDP_HORZ_SCROLL(adr)   VDP_WRITE_VRAM_ADDR(VDP_SCROLL_H + (adr))
 Helper to write in horizontal scroll table (same as VDP_WRITE_VRAM_ADDR(VDP_SCROLL_H + adr)).
#define GFX_READ_VRAM_ADDR(adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_READ_VRAM_ADDR instead.\""))
#define GFX_READ_CRAM_ADDR(adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_READ_CRAM_ADDR instead.\"")
#define GFX_READ_VSRAM_ADDR(adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_READ_VSRAM_ADDR instead.\"")
#define GFX_WRITE_VRAM_ADDR(adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_WRITE_VRAM_ADDR instead.\"")
#define GFX_WRITE_CRAM_ADDR(adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_WRITE_CRAM_ADDR instead.\"")
#define GFX_WRITE_VSRAM_ADDR(adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_WRITE_VSRAM_ADDR instead.\"")
#define GFX_DMA_VRAM_ADDR(adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_DMA_VRAM_ADDR instead.\"")
#define GFX_DMA_CRAM_ADDR(adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_DMA_CRAM_ADDR instead.\"")
#define GFX_DMA_VSRAM_ADDR(adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_DMA_VSRAM_ADDR instead.\"")
#define GFX_DMA_VRAMCOPY_ADDR(adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_DMA_VRAMCOPY_ADDR instead.\"")
#define GFX_VERT_SCROLL(adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_VERT_SCROLL instead.\"")
#define GFX_HORZ_SCROLL(adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_HORZ_SCROLL instead.\"")
-#define GET_VDP_STATUS(flag)   ((*(vu16*)(VDP_CTRL_PORT)) & (flag))
 Tests VDP status against specified flag (see VDP_XXX_FLAG).
-#define IS_PAL_SYSTEM   GET_VDP_STATUS(VDP_PALMODE_FLAG)
 Tests if current system is a PAL system (50 Hz).
-#define GET_HVCOUNTER   (*(vu16*)(VDP_HVCOUNTER_PORT))
 Returns HV counter.
-#define GET_HCOUNTER   (GET_HVCOUNTER & 0xFF)
 Returns Horizontal counter.
-#define GET_VCOUNTER   (GET_HVCOUNTER >> 8)
 Returns Vertical counter.
#define VDP_setPlanSize(w, h)   _Pragma("GCC error \"This definition is deprecated, use VDP_setPlaneSize(..) instead.\"")
#define VDP_getAPlanAddress()   _Pragma("GCC error \"This definition is deprecated, use VDP_getBGAAddress() instead.\"")
#define VDP_getBPlanAddress()   _Pragma("GCC error \"This definition is deprecated, use VDP_getBGBAddress() instead.\"")
#define VDP_getWindowPlanAddress()   _Pragma("GCC error \"This definition is deprecated, use VDP_getWindowAddress() instead.\"")
#define VDP_setAPlanAddress(value)   _Pragma("GCC error \"This definition is deprecated, use VDP_setBGAAddress(..) instead.\"")
#define VDP_setBPlanAddress(value)   _Pragma("GCC error \"This definition is deprecated, use VDP_setBGBAddress(..) instead.\"")
#define VDP_setWindowPlanAddress(value)   _Pragma("GCC error \"This definition is deprecated, use VDP_setWindowAddress(..) instead.\"")

-Enumerations

enum  VDPPlane { BG_A = 0, -BG_B = 1, -WINDOW = 2 - }
 Type used to define on which plane to work (used by some methods).

-Functions

void VDP_init (void)
 Initialize the whole VDP sub system.
void VDP_resetScreen (void)
 Reset background planes and palettes.
u8 VDP_getReg (u16 reg)
 Get VDP register value.
void VDP_setReg (u16 reg, u8 value)
 Set VDP register value.
-bool VDP_getEnable (void)
 Returns VDP enable state.
-bool VDP_isEnable (void)
 Returns VDP enable state.
void VDP_setEnable (bool value)
 Set VDP enable state.
u16 VDP_getScanlineNumber (void)
 Returns number of total scanline.
u16 VDP_getScreenHeight (void)
 Returns vertical screen resolution.
void VDP_setScreenHeight224 (void)
 Set vertical resolution to 224 pixels.
void VDP_setScreenHeight240 (void)
 Set vertical resolution to 240 pixels.
u16 VDP_getScreenWidth (void)
 Returns horizontal screen resolution.
-void VDP_setScreenWidth256 (void)
 Set horizontal resolution to 256 pixels.
-void VDP_setScreenWidth320 (void)
 Set horizontal resolution to 320 pixels.
-u16 VDP_getPlaneWidth (void)
 Return background plane width (in tile).
-u16 VDP_getPlaneHeight (void)
 Return background plane height (in tile).
void VDP_setPlaneSize (u16 w, u16 h, bool setupVram)
 Set background plane size (in tile).
- WARNING: take attention to properly setup VRAM so tilemaps has enough space.
u8 VDP_getHorizontalScrollingMode (void)
 Returns plane horizontal scrolling mode.
u8 VDP_getVerticalScrollingMode (void)
 Returns plane vertical scrolling mode.
void VDP_setScrollingMode (u16 hscroll, u16 vscroll)
 Set plane scrolling mode.
-u8 VDP_getBackgroundColor (void)
 Returns the background color index.
-void VDP_setBackgroundColor (u8 value)
 Set the background color index.
-u8 VDP_getAutoInc (void)
 Returns auto increment register value.
-void VDP_setAutoInc (u8 value)
 Set auto increment register value.
-u8 VDP_getDMAEnabled (void)
 Returns DMA enabled state.
void VDP_setDMAEnabled (bool value)
 Set DMA enabled state.
-u8 VDP_getHVLatching (void)
 Returns HV counter latching on INT2 (used for light gun)
void VDP_setHVLatching (bool value)
 Set HV counter latching on INT2 (used for light gun)
void VDP_setVInterrupt (bool value)
 Enable or Disable Vertical interrupt (it's *strongly* recommanded to keep it enabled).
void VDP_setHInterrupt (bool value)
 Enable or Disable Horizontal interrupt.
void VDP_setExtInterrupt (bool value)
 Enable or Disable External interrupt.
-void VDP_setHilightShadow (bool value)
 Enable or Disable Hilight / Shadow effect.
-u8 VDP_getHIntCounter (void)
 Get Horizontal interrupt counter value.
void VDP_setHIntCounter (u8 value)
 Set Horizontal interrupt counter value.
-u16 VDP_getBGAAddress (void)
 Get VRAM address (location) of BG A tilemap.
-u16 VDP_getBGBAddress (void)
 Get VRAM address (location) of BG B tilemap.
-u16 VDP_getWindowAddress (void)
 Get VRAM address (location) of Window tilemap.
-u16 VDP_getSpriteListAddress (void)
 Get VRAM address (location) of Sprite list.
-u16 VDP_getHScrollTableAddress (void)
 Get VRAM address (location) of H SCroll table.
-void VDP_setBGAAddress (u16 value)
 Set VRAM address (location) of BG A tilemap. The address should be at multiple of $2000
-
- Ex:
- VDP_setBGAAddress(0xC000)
- Will set the BG A to at address 0xC000 in VRAM.
-void VDP_setBGBAddress (u16 value)
 Set VRAM address (location) of BG B tilemap.
- The address should be at multiple of $2000
-
- Ex:
- VDP_setBGBAddress(0xE000)
- Will set the BG B tilemap at address 0xE000 in VRAM.
-void VDP_setWindowAddress (u16 value)
 Set VRAM address (location) of Window tilemap.
- The address should be at multiple of $1000 in H40 and $800 in H32
-
- Ex:
- VDP_setWindowAddress(0xA000)
- Will set the Window tilemap at address 0xA000 in VRAM.
-void VDP_setSpriteListAddress (u16 value)
 Set VRAM address (location) of Sprite list.
- The address should be at multiple of $400 in H40 and $200 in H32
-
- Ex:
- VDP_setSpriteListAddress(0xD800)
- Will set the Sprite list to at address 0xD800 in VRAM.
-void VDP_setHScrollTableAddress (u16 value)
 Set VRAM address (location) of H Scroll table.
- The address should be at multiple of $400
-
- Ex:
- VDP_setHScrollTableAddress(0xD400)
- Will set the HScroll table to at address 0xD400 in VRAM.
void VDP_setScanMode (u16 mode)
 Sets the scan mode of the display.
void VDP_setWindowHPos (u16 right, u16 pos)
 Sets the window Horizontal position.
void VDP_setWindowVPos (u16 down, u16 pos)
 Sets the window Vertical position.
-void VDP_waitDMACompletion (void)
 Wait for DMA operation to complete - same as DMA_waitCompletion()
-void VDP_waitFIFOEmpty (void)
 Wait for VDP FIFO to be empty.
bool VDP_waitVInt (void)
 Wait for next Vertical Interruption.
bool VDP_waitVBlank (bool forceNext)
 Wait for next vertical blank period (same as VDP_waitVSync())
bool VDP_waitVSync (void)
 Wait for Vertical Synchro.
void VDP_waitVActive (bool forceNext)
 Wait for next vertical active area (end of vertical blank period)
u16 VDP_getAdjustedVCounter (void)
 Return an enhanced V Counter representation.
void VDP_showFPS (u16 asFloat)
 Display number of Frame Per Second.
void VDP_showCPULoad (void)
 Display the estimated CPU load (in %).

-Variables

-u16 window_addr
-u16 bga_addr
-u16 bgb_addr
-u16 hscrl_addr
-u16 slist_addr
-u16 maps_addr
-u16 userTileMaxIndex
-u16 screenWidth
 Current screen width (horizontale resolution)
-u16 screenHeight
 Current screen height (verticale resolution)
u16 planeWidth
 Current background plane width (in tile)
u16 planeHeight
 Current background plane height (in tile)
u16 windowWidth
 Current window width (in tile)
u16 planeWidthSft
 Current background plane width bit shift.
u16 planeHeightSft
 Current background plane height bit shift.
u16 windowWidthSft
 Current window width bit shift.
-

Detailed Description

-

VDP main.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides general VDP (Video Display Processor) methods:
-

-
    -
  • initialisation
    -
  • -
  • get / set register
    -
  • -
  • get / set resolution
    -
  • -
  • enable / disable VDP features
    -
    - WARNING: It's very important that VRAM is organized with tile data being located before tilemaps and tables:
    - 0000-XXXX = tile data
    - XXXX-FFFF = tilemaps & tables (H scroll table, sprite table, B/A plane and window plane).
    -
    - If you don't respect that you may get in troubles as SGDK expect it ;)
  • -
-

Define Documentation

- -
-
- - - - -
#define GFX_CTRL_PORT   _Pragma("GCC error \"This definition is deprecated, use VDP_CTRL_PORT instead.\"")
-
-
-
Deprecated:
Use VDP_CTRL_PORT instead
- -
-
- -
-
- - - - -
#define GFX_DATA_PORT   _Pragma("GCC error \"This definition is deprecated, use VDP_DATA_PORT instead.\"")
-
-
-
Deprecated:
Use VDP_DATA_PORT instead
- -
-
- -
-
- - - - - - - - -
#define GFX_DMA_CRAM_ADDR( adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_DMA_CRAM_ADDR instead.\"")
-
- -
- -
-
- - - - - - - - -
#define GFX_DMA_VRAM_ADDR( adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_DMA_VRAM_ADDR instead.\"")
-
- -
- -
-
- - - - - - - - -
#define GFX_DMA_VRAMCOPY_ADDR( adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_DMA_VRAMCOPY_ADDR instead.\"")
-
- -
- -
-
- - - - - - - - -
#define GFX_DMA_VSRAM_ADDR( adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_DMA_VSRAM_ADDR instead.\"")
-
- -
- -
-
- - - - - - - - -
#define GFX_HORZ_SCROLL( adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_HORZ_SCROLL instead.\"")
-
-
-
Deprecated:
Use VDP_HORZ_SCROLL instead
- -
-
- -
-
- - - - -
#define GFX_HVCOUNTER_PORT   _Pragma("GCC error \"This definition is deprecated, use VDP_HVCOUNTER_PORT instead.\"")
-
- -
- -
-
- - - - - - - - -
#define GFX_READ_CRAM_ADDR( adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_READ_CRAM_ADDR instead.\"")
-
- -
- -
-
- - - - - - - - -
#define GFX_READ_VRAM_ADDR( adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_READ_VRAM_ADDR instead.\""))
-
- -
- -
-
- - - - - - - - -
#define GFX_READ_VSRAM_ADDR( adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_READ_VSRAM_ADDR instead.\"")
-
- -
- -
-
- - - - - - - - -
#define GFX_VERT_SCROLL( adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_VERT_SCROLL instead.\"")
-
-
-
Deprecated:
Use VDP_VERT_SCROLL instead
- -
-
- -
-
- - - - - - - - -
#define GFX_WRITE_CRAM_ADDR( adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_WRITE_CRAM_ADDR instead.\"")
-
- -
- -
-
- - - - - - - - -
#define GFX_WRITE_VRAM_ADDR( adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_WRITE_VRAM_ADDR instead.\"")
-
- -
- -
-
- - - - - - - - -
#define GFX_WRITE_VSRAM_ADDR( adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_WRITE_VSRAM_ADDR instead.\"")
-
- -
- -
-
- - - - -
#define TILE_FONTINDEX   _Pragma("GCC error \"This definition is deprecated, use TILE_FONT_INDEX instead.\"")
-
-
-
Deprecated:
Use TILE_FONT_INDEX instead
- -
-
- -
-
- - - - -
#define TILE_MAXINDEX   _Pragma("GCC error \"This definition is deprecated, use TILE_MAX_INDEX instead.\"")
-
-
-
Deprecated:
Use TILE_MAX_INDEX instead
- -
-
- -
-
- - - - -
#define TILE_MAXNUM   _Pragma("GCC error \"This definition is deprecated, use TILE_MAX_NUM instead.\"")
-
-
-
Deprecated:
Use TILE_MAX_NUM instead
- -
-
- -
-
- - - - -
#define TILE_SPRITEINDEX   _Pragma("GCC error \"This definition is deprecated, use TILE_SPRITE_INDEX instead.\"")
-
-
-
Deprecated:
Use TILE_SPRITE_INDEX instead
- -
-
- -
-
- - - - -
#define TILE_SYSTEM_LENGHT   _Pragma("GCC error \"This definition is deprecated, use TILE_SYSTEM_LENGTH instead.\"")
-
-
-
Deprecated:
Use TILE_SYSTEM_LENGTH instead.
- -
-
- -
-
- - - - -
#define TILE_SYSTEMINDEX   _Pragma("GCC error \"This definition is deprecated, use TILE_SYSTEM_INDEX instead.\"")
-
-
-
Deprecated:
Use TILE_SYSTEM_INDEX instead
- -
-
- -
-
- - - - -
#define TILE_SYSTEMLENGTH   _Pragma("GCC error \"This definition is deprecated, use TILE_SYSTEM_LENGTH instead.\"")
-
-
-
Deprecated:
Use TILE_SYSTEM_LENGTH instead
- -
-
- -
-
- - - - -
#define TILE_USERINDEX   _Pragma("GCC error \"This definition is deprecated, use TILE_USER_INDEX instead.\"")
-
-
-
Deprecated:
Use TILE_USER_INDEX instead
- -
-
- -
-
- - - - -
#define TILE_USERLENGTH   _Pragma("GCC error \"This definition is deprecated, use TILE_USER_LENGTH instead.\"")
-
-
-
Deprecated:
Use TILE_USER_LENGTH instead
- -
-
- -
-
- - - - -
#define TILE_USERMAXINDEX   _Pragma("GCC error \"This definition is deprecated, use TILE_USER_MAX_INDEX instead.\"")
-
-
-
Deprecated:
Use TILE_USER_MAX_INDEX instead
- -
-
- -
-
- - - - - - - -
#define VDP_getAPlanAddress()   _Pragma("GCC error \"This definition is deprecated, use VDP_getBGAAddress() instead.\"")
-
-
-
Deprecated:
Use VDP_getBGAAddress(..) instead.
- -
-
- -
-
- - - - - - - -
#define VDP_getBPlanAddress()   _Pragma("GCC error \"This definition is deprecated, use VDP_getBGBAddress() instead.\"")
-
-
-
Deprecated:
Use VDP_getBGBAddress(..) instead.
- -
-
- -
-
- - - - - - - -
#define VDP_getWindowPlanAddress()   _Pragma("GCC error \"This definition is deprecated, use VDP_getWindowAddress() instead.\"")
-
-
-
Deprecated:
Use VDP_getWindowAddress(..) instead.
- -
-
- -
-
- - - - -
#define VDP_PLAN_A   _Pragma("GCC error \"This definition is deprecated, use VDP_BG_A instead.\"")
-
-
-
Deprecated:
Use VDP_BG_A instead
- -
-
- -
-
- - - - -
#define VDP_PLAN_B   _Pragma("GCC error \"This definition is deprecated, use VDP_BG_B instead.\"")
-
-
-
Deprecated:
Use VDP_BG_B instead
- -
-
- -
-
- - - - -
#define VDP_PLAN_WINDOW   _Pragma("GCC error \"This definition is deprecated, use VDP_WINDOW instead.\"")
-
-
-
Deprecated:
Use VDP_WINDOW instead
- -
-
- -
-
- - - - - - - - -
#define VDP_setAPlanAddress( value)   _Pragma("GCC error \"This definition is deprecated, use VDP_setBGAAddress(..) instead.\"")
-
-
-
Deprecated:
Use VDP_setBGAAddress(..) instead.
- -
-
- -
-
- - - - - - - - -
#define VDP_setBPlanAddress( value)   _Pragma("GCC error \"This definition is deprecated, use VDP_setBGBAddress(..) instead.\"")
-
-
-
Deprecated:
Use VDP_setBGBAddress(..) instead.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define VDP_setPlanSize( w,
 
)   _Pragma("GCC error \"This definition is deprecated, use VDP_setPlaneSize(..) instead.\"")
-
-
-
Deprecated:
Use VDP_setPlaneSize(..) instead.
- -
-
- -
-
- - - - - - - - -
#define VDP_setWindowPlanAddress( value)   _Pragma("GCC error \"This definition is deprecated, use VDP_setWindowAddress(..) instead.\"")
-
-
-
Deprecated:
Use VDP_setWindowAddress(..) instead.
- -
-
- -
-
- - - - -
#define VSCROLL_2TILE   _Pragma("GCC error \"This definition is deprecated, use VSCROLL_COLUMN instead.\"")
-
-
-
Deprecated:
Use VSCROLL_COLUMN instead
- -
-
-

Function Documentation

- -
-
- - - - - - - - -
u16 VDP_getAdjustedVCounter (void )
-
-
- -

Return an enhanced V Counter representation.

-

Using direct V counter from VDP may give troubles as the VDP V-Counter rollback during V-Blank period.
- This function aim to make ease the use of V-Counter by adjusting it to a [0-255] range where 0 is the start of VBlank area and 255 the end of active display area.

- -
-
- -
-
- - - - - - - - -
u8 VDP_getHorizontalScrollingMode (void )
-
-
- -

Returns plane horizontal scrolling mode.

-

Possible values are: HSCROLL_PLANE, HSCROLL_TILE, HSCROLL_LINE

-
See also:
VDP_setScrollingMode for more informations about scrolling mode.
- -
-
- -
-
- - - - - - - - -
u8 VDP_getReg (u16 reg)
-
-
- -

Get VDP register value.

-
Parameters:
- - -
regRegister number we want to retrieve value.
-
-
-
Returns:
specified register value.
- -
-
- -
-
- - - - - - - - -
u16 VDP_getScanlineNumber (void )
-
-
- -

Returns number of total scanline.

-

312 for PAL system and 262 for NTSC system.

- -
-
- -
-
- - - - - - - - -
u16 VDP_getScreenHeight (void )
-
-
- -

Returns vertical screen resolution.

-

Always returns 224 on NTSC system as they only support this mode.
- PAL system supports 240 pixels mode.

- -
-
- -
-
- - - - - - - - -
u16 VDP_getScreenWidth (void )
-
-
- -

Returns horizontal screen resolution.

-

Returns 320 or 256 depending current horizontal resolution mode.

- -
-
- -
-
- - - - - - - - -
u8 VDP_getVerticalScrollingMode (void )
-
-
- -

Returns plane vertical scrolling mode.

-

Possible values are: VSCROLL_PLANE, VSCROLL_2TILE

-
See also:
VDP_setScrollingMode for more informations about scrolling mode.
- -
-
- -
-
- - - - - - - - -
void VDP_init (void )
-
-
- -

Initialize the whole VDP sub system.

-

Reset VDP registers, reset sprites then call VDP_resetScreen() to reset BG and palettes.

- -
-
- -
-
- - - - - - - - -
void VDP_resetScreen (void )
-
-
- -

Reset background planes and palettes.

-

Reset VRAM (clear BG planes and reload font), reset scrolls and reset palettes (set to default grey / red / green / blue ramps).

- -
-
- -
-
- - - - - - - - -
void VDP_setDMAEnabled (bool value)
-
-
- -

Set DMA enabled state.

-

Note that by default SGDK always enable DMA (there is no reason to disable it)

- -
-
- -
-
- - - - - - - - -
void VDP_setEnable (bool value)
-
-
- -

Set VDP enable state.

-

You can temporary disable VDP to speed up VDP memory transfert.

- -
-
- -
-
- - - - - - - - -
void VDP_setExtInterrupt (bool value)
-
-
- -

Enable or Disable External interrupt.

-
See also:
VDP_setExtIntCounter()
- -
-
- -
-
- - - - - - - - -
void VDP_setHIntCounter (u8 value)
-
-
- -

Set Horizontal interrupt counter value.

-

When Horizontal interrupt is enabled, setting 5 here means that H int will occurs each (5+1) scanline.
- Set value 0 to get H int at each scanline.

- -
-
- -
-
- - - - - - - - -
void VDP_setHInterrupt (bool value)
-
-
- -

Enable or Disable Horizontal interrupt.

-
See also:
VDP_setHIntCounter()
- -
-
- -
-
- - - - - - - - -
void VDP_setHVLatching (bool value)
-
-
- -

Set HV counter latching on INT2 (used for light gun)

-

You can ask the HV Counter to fix its value on INT2 for accurate light gun positionning.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setPlaneSize (u16 w,
u16 h,
bool setupVram 
)
-
-
- -

Set background plane size (in tile).
- WARNING: take attention to properly setup VRAM so tilemaps has enough space.

-
Parameters:
- - - - -
wwidth in tile.
- Possible values are 32, 64 or 128.
hheight in tile.
- Possible values are 32, 64 or 128.
setupVramIf set to TRUE then tilemaps and tables will be automatically remapped in VRAM depending the plane size. If you don't know what that means then it's better to keep this value to TRUE :p
- Be careful to redraw your backgrounds, also the sprite engine may need to re-allocate its VRAM region if location changed.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setReg (u16 reg,
u8 value 
)
-
-
- -

Set VDP register value.

-
Parameters:
- - - -
regRegister number we want to set value.
valuevalue to set.
-
-
- -
-
- -
-
- - - - - - - - -
void VDP_setScanMode (u16 mode)
-
-
- -

Sets the scan mode of the display.

-
Parameters:
- - -
modeAccepted values : INTERLACED_NONE, INTERLACED_MODE1, INTERLACED_MODE2
-
-
-

This function changes the scanning mode on the next display blanking period.
- In Interlaced Mode 1, the same pattern will be displayed on the adjacent lines of even and odd numbered fields.
- In Interlaced Mode 2, different patterns can be displayed on the adjacent lines of even and odd numbered fields.
- The number of cells on the screen stays the same regardless of which scanning mode is active.

- -
-
- -
-
- - - - - - - - -
void VDP_setScreenHeight224 (void )
-
-
- -

Set vertical resolution to 224 pixels.

-

This is the only accepted mode for NTSC system.

- -
-
- -
-
- - - - - - - - -
void VDP_setScreenHeight240 (void )
-
-
- -

Set vertical resolution to 240 pixels.

-

Only work on PAL system.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setScrollingMode (u16 hscroll,
u16 vscroll 
)
-
-
- -

Set plane scrolling mode.

-
Parameters:
- - - -
hscrollHorizontal scrolling mode :
- HSCROLL_PLANE = Scroll offset is applied to the whole plane.
- HSCROLL_TILE = Scroll offset is applied on a tile basis granularity (8 pixels bloc).
- HSCROLL_LINE = Scroll offset is applied on a line basis granularity (1 pixel).
-
vscrollVertical scrolling mode :
- VSCROLL_PLANE = Scroll offset is applied to the whole plane.
- VSCROLL_2TILE = Scroll offset is applied on 2 tiles basis granularity (16 pixels bloc).
-
-
-
-
See also:
VDP_setHorizontalScroll() to set horizontal scroll offset in mode plane.
-
-
-VDP_setHorizontalScrollTile() to set horizontal scroll offset(s) in mode tile.
-
-
-VDP_setHorizontalScrollLine() to set horizontal scroll offset(s) in mode line.
-
-
-VDP_setVerticalScroll() to set vertical scroll offset in mode plane.
-
-
-VDP_setVerticalScrollTile() to set vertical scroll offset(s) in mode 2-tile.
-
- -
-
- -
-
- - - - - - - - -
void VDP_setVInterrupt (bool value)
-
-
- -

Enable or Disable Vertical interrupt (it's *strongly* recommanded to keep it enabled).

-
See also:
VDP_setHInterrupt()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setWindowHPos (u16 right,
u16 pos 
)
-
-
- -

Sets the window Horizontal position.

-
Parameters:
- - - -
rightIf set to FALSE the window is displayed from column 0 up to column pos If set to TRUE the window is displayed from column pos up to last column
posThe Horizontal position of the window in 2 tiles unit (16 pixels).
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setWindowVPos (u16 down,
u16 pos 
)
-
-
- -

Sets the window Vertical position.

-
Parameters:
- - - -
downIf set to FALSE the window is displayed from row 0 up to row pos If set to TRUE the window is displayed from row pos up to last row
posThe Vertical position of the window in 1 tile unit (8 pixels).
-
-
- -
-
- -
-
- - - - - - - - -
void VDP_showCPULoad (void )
-
-
- -

Display the estimated CPU load (in %).

-

This function actually display an estimation of the CPU load (in %) for the last frame.

-
See also:
SYS_getCPULoad()
- -
-
- -
-
- - - - - - - - -
void VDP_showFPS (u16 asFloat)
-
-
- -

Display number of Frame Per Second.

-
Parameters:
- - -
asFloatDisplay in float number format.
-
-
-

This function actually display the number of time it was called in the last second.
- i.e: for benchmarking you should call this method only once per frame update.

-
See also:
SYS_getFPS(..)
- -
-
- -
-
- - - - - - - - -
void VDP_waitVActive (bool forceNext)
-
-
- -

Wait for next vertical active area (end of vertical blank period)

-
Parameters:
- - -
forceNextForce waiting for next start of V-Active if we are already in V-Active period when calling the method.
-
-
-

The method wait until we are in Vertical active area/period.

- -
-
- -
-
- - - - - - - - -
bool VDP_waitVBlank (bool forceNext)
-
-
- -

Wait for next vertical blank period (same as VDP_waitVSync())

-
Returns:
TRUE if a frame miss was detected (more than 1 frame elapsed since last call)
-
Parameters:
- - -
forceNextForce waiting for next start of VBlank if we are already in VBlank period when calling the method.
-
-
-

The method wait until we are in Vertical blanking area/period.

- -
-
- -
-
- - - - - - - - -
bool VDP_waitVInt (void )
-
-
- -

Wait for next Vertical Interruption.

-
Returns:
TRUE if a frame miss was detected (more than 1 frame elapsed since last call)
-

The method actually wait for the start of Vertical Interruption. It returns immediately if we are already in V-Int handler.

- -
-
- -
-
- - - - - - - - -
bool VDP_waitVSync (void )
-
-
- -

Wait for Vertical Synchro.

-
Returns:
TRUE if a frame miss was detected (more than 1 frame elapsed since last call)
-

The method actually wait for the *next* start of Vertical blanking.

- -
-
-

Variable Documentation

- -
-
- - - - -
u16 planeHeight
-
-
- -

Current background plane height (in tile)

-

Possible values are: 32, 64, 128

- -
-
- -
-
- - - - -
u16 planeHeightSft
-
-
- -

Current background plane height bit shift.

-

Possible values are: 5, 6 or 7 (corresponding to plane height 32, 64 and 128)

- -
-
- -
-
- - - - -
u16 planeWidth
-
-
- -

Current background plane width (in tile)

-

Possible values are: 32, 64, 128

- -
-
- -
-
- - - - -
u16 planeWidthSft
-
-
- -

Current background plane width bit shift.

-

Possible values are: 5, 6 or 7 (corresponding to plane width 32, 64 and 128)

- -
-
- -
-
- - - - -
u16 windowWidth
-
-
- -

Current window width (in tile)

-

Possible values are: 32, 64

- -
-
- -
-
- - - - -
u16 windowWidthSft
-
-
- -

Current window width bit shift.

-

Possible values are: 5 or 6 (corresponding to window width 32 or 64)

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/vdp_8h_source.html b/doc/html/vdp_8h_source.html deleted file mode 100644 index d6c305d4f..000000000 --- a/doc/html/vdp_8h_source.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - -sgdk: vdp.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
vdp.h
-
-
-Go to the documentation of this file.
00001 
-00020 #ifndef _VDP_H_
-00021 #define _VDP_H_
-00022 
-00023 
-00028 #define VDP_DATA_PORT           0xC00000
-00029 
-00033 #define VDP_CTRL_PORT           0xC00004
-00034 
-00038 #define VDP_HVCOUNTER_PORT      0xC00008
-00039 
-00044 #define GFX_DATA_PORT           _Pragma("GCC error \"This definition is deprecated, use VDP_DATA_PORT instead.\"")
-00045 
-00050 #define GFX_CTRL_PORT           _Pragma("GCC error \"This definition is deprecated, use VDP_CTRL_PORT instead.\"")
-00051 
-00055 #define GFX_HVCOUNTER_PORT      _Pragma("GCC error \"This definition is deprecated, use VDP_HVCOUNTER_PORT instead.\"")
-00056 
-00057 
-00062 #define VDP_FIFOEMPTY_FLAG      (1 << 9)
-00063 
-00067 #define VDP_FIFOFULL_FLAG       (1 << 8)
-00068 
-00072 #define VDP_VINTPENDING_FLAG    (1 << 7)
-00073 
-00077 #define VDP_SPROVERFLOW_FLAG    (1 << 6)
-00078 
-00082 #define VDP_SPRCOLLISION_FLAG   (1 << 5)
-00083 
-00087 #define VDP_ODDFRAME_FLAG       (1 << 4)
-00088 
-00092 #define VDP_VBLANK_FLAG         (1 << 3)
-00093 
-00097 #define VDP_HBLANK_FLAG         (1 << 2)
-00098 
-00102 #define VDP_DMABUSY_FLAG        (1 << 1)
-00103 
-00107 #define VDP_PALMODE_FLAG        (1 << 0)
-00108 
-00113 #define VDP_PLAN_A              _Pragma("GCC error \"This definition is deprecated, use VDP_BG_A instead.\"")
-00114 
-00118 #define VDP_PLAN_B              _Pragma("GCC error \"This definition is deprecated, use VDP_BG_B instead.\"")
-00119 
-00123 #define VDP_PLAN_WINDOW         _Pragma("GCC error \"This definition is deprecated, use VDP_WINDOW instead.\"")
-00124 
-00129 #define VDP_BG_A                bga_addr
-00130 
-00134 #define VDP_BG_B                bgb_addr
-00135 
-00139 #define VDP_WINDOW              window_addr
-00140 
-00144 #define VDP_HSCROLL_TABLE       hscrl_addr
-00145 
-00149 #define VDP_SPRITE_TABLE        slist_addr
-00150 
-00154 #define VDP_MAPS_START          maps_addr
-00155 
-00160 #define HSCROLL_PLANE           0
-00161 
-00165 #define HSCROLL_TILE            2
-00166 
-00170 #define HSCROLL_LINE            3
-00171 
-00176 #define VSCROLL_PLANE           0
-00177 
-00181 #define VSCROLL_COLUMN          1
-00182 
-00186 #define VSCROLL_2TILE           _Pragma("GCC error \"This definition is deprecated, use VSCROLL_COLUMN instead.\"")
-00187 
-00193 #define INTERLACED_NONE         0
-00194 
-00199 #define INTERLACED_MODE1        1
-00200 
-00205 #define INTERLACED_MODE2        2
-00206 
-00211 #define FONT_LEN    96
-00212 
-00217 #define TILE_SIZE               32
-00218 #define TILE_INDEX_MASK         (0xFFFF / TILE_SIZE)
-00219 
-00224 #define TILE_SPACE              VDP_MAPS_START
-00225 
-00230 #define TILE_MAX_NUM            (TILE_SPACE / TILE_SIZE)
-00231 
-00235 #define TILE_MAX_INDEX          (TILE_MAXNUM - 1)
-00236 
-00240 #define TILE_SYSTEM_INDEX       0x0000
-00241 
-00245 #define TILE_SYSTEM_LENGTH      16
-00246 
-00250 #define TILE_USER_INDEX         (TILE_SYSTEM_INDEX + TILE_SYSTEM_LENGTH)
-00251 
-00255 #define TILE_FONT_INDEX         (TILE_MAX_NUM - FONT_LEN)
-00256 
-00260 #define TILE_SPRITE_INDEX       (TILE_FONT_INDEX - spriteVramSize)
-00261 
-00265 #define TILE_USER_LENGTH        ((userTileMaxIndex - TILE_USER_INDEX) + 1)
-00266 
-00270 #define TILE_USER_MAX_INDEX     userTileMaxIndex
-00271 
-00276 #define TILE_MAXNUM             _Pragma("GCC error \"This definition is deprecated, use TILE_MAX_NUM instead.\"")
-00277 
-00281 #define TILE_MAXINDEX           _Pragma("GCC error \"This definition is deprecated, use TILE_MAX_INDEX instead.\"")
-00282 
-00285 #define TILE_SYSTEM_LENGHT      _Pragma("GCC error \"This definition is deprecated, use TILE_SYSTEM_LENGTH instead.\"")
-00286 
-00290 #define TILE_SYSTEMLENGTH       _Pragma("GCC error \"This definition is deprecated, use TILE_SYSTEM_LENGTH instead.\"")
-00291 
-00295 #define TILE_SYSTEMINDEX        _Pragma("GCC error \"This definition is deprecated, use TILE_SYSTEM_INDEX instead.\"")
-00296 
-00300 #define TILE_USERINDEX          _Pragma("GCC error \"This definition is deprecated, use TILE_USER_INDEX instead.\"")
-00301 
-00305 #define TILE_FONTINDEX          _Pragma("GCC error \"This definition is deprecated, use TILE_FONT_INDEX instead.\"")
-00306 
-00310 #define TILE_SPRITEINDEX        _Pragma("GCC error \"This definition is deprecated, use TILE_SPRITE_INDEX instead.\"")
-00311 
-00315 #define TILE_USERLENGTH         _Pragma("GCC error \"This definition is deprecated, use TILE_USER_LENGTH instead.\"")
-00316 
-00320 #define TILE_USERMAXINDEX       _Pragma("GCC error \"This definition is deprecated, use TILE_USER_MAX_INDEX instead.\"")
-00321 
-00326 #define TILE_SYSTEM             (TILE_SYSTEM_INDEX * TILE_SIZE)
-00327 
-00331 #define TILE_USER               (TILE_USER_INDEX * TILE_SIZE)
-00332 
-00336 #define TILE_FONT               (TILE_FONT_INDEX * TILE_SIZE)
-00337 
-00342 #define PAL0                    0
-00343 
-00347 #define PAL1                    1
-00348 
-00352 #define PAL2                    2
-00353 
-00357 #define PAL3                    3
-00358 
-00363 #define VDP_READ_VRAM_ADDR(adr)     (((0x0000 + ((adr) & 0x3FFF)) << 16) + (((adr) >> 14) | 0x00))
-00364 
-00368 #define VDP_READ_CRAM_ADDR(adr)     (((0x0000 + ((adr) & 0x7F)) << 16) + 0x20)
-00369 
-00373 #define VDP_READ_VSRAM_ADDR(adr)    (((0x0000 + ((adr) & 0x7F)) << 16) + 0x10)
-00374 
-00379 #define VDP_WRITE_VRAM_ADDR(adr)    (((0x4000 + ((adr) & 0x3FFF)) << 16) + (((adr) >> 14) | 0x00))
-00380 
-00384 #define VDP_WRITE_CRAM_ADDR(adr)    (((0xC000 + ((adr) & 0x7F)) << 16) + 0x00)
-00385 
-00389 #define VDP_WRITE_VSRAM_ADDR(adr)   (((0x4000 + ((adr) & 0x7F)) << 16) + 0x10)
-00390 
-00395 #define VDP_DMA_VRAM_ADDR(adr)      (((0x4000 + ((adr) & 0x3FFF)) << 16) + (((adr) >> 14) | 0x80))
-00396 
-00400 #define VDP_DMA_CRAM_ADDR(adr)      (((0xC000 + ((adr) & 0x7F)) << 16) + 0x80)
-00401 
-00405 #define VDP_DMA_VSRAM_ADDR(adr)     (((0x4000 + ((adr) & 0x7F)) << 16) + 0x90)
-00406 
-00411 #define VDP_DMA_VRAMCOPY_ADDR(adr)  (((0x4000 + ((adr) & 0x3FFF)) << 16) + (((adr) >> 14) | 0xC0))
-00412 
-00417 #define VDP_VERT_SCROLL(adr)        VDP_WRITE_VSRAM_ADDR(adr)
-00418 
-00422 #define VDP_HORZ_SCROLL(adr)        VDP_WRITE_VRAM_ADDR(VDP_SCROLL_H + (adr))
-00423 
-00428 #define GFX_READ_VRAM_ADDR(adr)     _Pragma("GCC error \"This definition is deprecated, use VDP_READ_VRAM_ADDR instead.\""))
-00429 
-00433 #define GFX_READ_CRAM_ADDR(adr)     _Pragma("GCC error \"This definition is deprecated, use VDP_READ_CRAM_ADDR instead.\"")
-00434 
-00438 #define GFX_READ_VSRAM_ADDR(adr)    _Pragma("GCC error \"This definition is deprecated, use VDP_READ_VSRAM_ADDR instead.\"")
-00439 
-00443 #define GFX_WRITE_VRAM_ADDR(adr)    _Pragma("GCC error \"This definition is deprecated, use VDP_WRITE_VRAM_ADDR instead.\"")
-00444 
-00448 #define GFX_WRITE_CRAM_ADDR(adr)    _Pragma("GCC error \"This definition is deprecated, use VDP_WRITE_CRAM_ADDR instead.\"")
-00449 
-00453 #define GFX_WRITE_VSRAM_ADDR(adr)   _Pragma("GCC error \"This definition is deprecated, use VDP_WRITE_VSRAM_ADDR instead.\"")
-00454 
-00458 #define GFX_DMA_VRAM_ADDR(adr)      _Pragma("GCC error \"This definition is deprecated, use VDP_DMA_VRAM_ADDR instead.\"")
-00459 
-00463 #define GFX_DMA_CRAM_ADDR(adr)      _Pragma("GCC error \"This definition is deprecated, use VDP_DMA_CRAM_ADDR instead.\"")
-00464 
-00468 #define GFX_DMA_VSRAM_ADDR(adr)     _Pragma("GCC error \"This definition is deprecated, use VDP_DMA_VSRAM_ADDR instead.\"")
-00469 
-00473 #define GFX_DMA_VRAMCOPY_ADDR(adr)  _Pragma("GCC error \"This definition is deprecated, use VDP_DMA_VRAMCOPY_ADDR instead.\"")
-00474 
-00478 #define GFX_VERT_SCROLL(adr)        _Pragma("GCC error \"This definition is deprecated, use VDP_VERT_SCROLL instead.\"")
-00479 
-00483 #define GFX_HORZ_SCROLL(adr)        _Pragma("GCC error \"This definition is deprecated, use VDP_HORZ_SCROLL instead.\"")
-00484 
-00485 
-00490 #define GET_VDP_STATUS(flag)         ((*(vu16*)(VDP_CTRL_PORT)) & (flag))
-00491 
-00495 #define IS_PAL_SYSTEM                GET_VDP_STATUS(VDP_PALMODE_FLAG)
-00496 
-00501 #define GET_HVCOUNTER               (*(vu16*)(VDP_HVCOUNTER_PORT))
-00502 
-00506 #define GET_HCOUNTER                (GET_HVCOUNTER & 0xFF)
-00507 
-00511 #define GET_VCOUNTER                (GET_HVCOUNTER >> 8)
-00512 
-00513 
-00518 typedef enum
-00519 {
-00520     BG_A = 0, BG_B = 1, WINDOW = 2
-00521 } VDPPlane;
-00522 
-00523 
-00524 // used by define
-00525 extern u16 window_addr;
-00526 extern u16 bga_addr;
-00527 extern u16 bgb_addr;
-00528 extern u16 hscrl_addr;
-00529 extern u16 slist_addr;
-00530 extern u16 maps_addr;
-00531 extern u16 userTileMaxIndex;
-00532 
-00537 extern u16 screenWidth;
-00542 extern u16 screenHeight;
-00549 extern u16 planeWidth;
-00556 extern u16 planeHeight;
-00563 extern u16 windowWidth;
-00570 extern u16 planeWidthSft;
-00577 extern u16 planeHeightSft;
-00584 extern u16 windowWidthSft;
-00585 
-00586 
-00593 void VDP_init(void);
-00594 
-00601 void VDP_resetScreen(void);
-00602 
-00611 u8   VDP_getReg(u16 reg);
-00621 void VDP_setReg(u16 reg, u8 value);
-00622 
-00627 bool VDP_getEnable(void);
-00632 bool VDP_isEnable(void);
-00639 void VDP_setEnable(bool value);
-00640 
-00647 u16  VDP_getScanlineNumber(void);
-00655 u16  VDP_getScreenHeight(void);
-00662 void VDP_setScreenHeight224(void);
-00669 void VDP_setScreenHeight240(void);
-00676 u16  VDP_getScreenWidth(void);
-00681 void VDP_setScreenWidth256(void);
-00686 void VDP_setScreenWidth320(void);
-00687 
-00692 u16  VDP_getPlaneWidth(void);
-00697 u16  VDP_getPlaneHeight(void);
-00714 void VDP_setPlaneSize(u16 w, u16 h, bool setupVram);
-00719 #define VDP_setPlanSize(w, h)      _Pragma("GCC error \"This definition is deprecated, use VDP_setPlaneSize(..) instead.\"")
-00720 
-00729 u8 VDP_getHorizontalScrollingMode(void);
-00738 u8 VDP_getVerticalScrollingMode(void);
-00759 void VDP_setScrollingMode(u16 hscroll, u16 vscroll);
-00760 
-00765 u8 VDP_getBackgroundColor(void);
-00770 void VDP_setBackgroundColor(u8 value);
-00771 
-00776 u8   VDP_getAutoInc(void);
-00781 void VDP_setAutoInc(u8 value);
-00782 
-00787 u8 VDP_getDMAEnabled(void);
-00794 void VDP_setDMAEnabled(bool value);
-00799 u8 VDP_getHVLatching(void);
-00806 void VDP_setHVLatching(bool value);
-00813 void VDP_setVInterrupt(bool value);
-00820 void VDP_setHInterrupt(bool value);
-00827 void VDP_setExtInterrupt(bool value);
-00832 void VDP_setHilightShadow(bool value);
-00833 
-00838 u8   VDP_getHIntCounter(void);
-00846 void VDP_setHIntCounter(u8 value);
-00847 
-00852 u16 VDP_getBGAAddress(void);
-00857 u16 VDP_getBGBAddress(void);
-00862 #define VDP_getAPlanAddress() _Pragma("GCC error \"This definition is deprecated, use VDP_getBGAAddress() instead.\"")
-00863 
-00867 #define VDP_getBPlanAddress() _Pragma("GCC error \"This definition is deprecated, use VDP_getBGBAddress() instead.\"")
-00868 
-00873 u16 VDP_getWindowAddress(void);
-00878 #define VDP_getWindowPlanAddress() _Pragma("GCC error \"This definition is deprecated, use VDP_getWindowAddress() instead.\"")
-00879 
-00883 u16 VDP_getSpriteListAddress(void);
-00888 u16 VDP_getHScrollTableAddress(void);
-00889 
-00899 void VDP_setBGAAddress(u16 value);
-00909 void VDP_setBGBAddress(u16 value);
-00914 #define VDP_setAPlanAddress(value)      \
-00915 _Pragma("GCC error \"This definition is deprecated, use VDP_setBGAAddress(..) instead.\"")
-00916 
-00920 #define VDP_setBPlanAddress(value)      \
-00921 _Pragma("GCC error \"This definition is deprecated, use VDP_setBGBAddress(..) instead.\"")
-00922 
-00931 void VDP_setWindowAddress(u16 value);
-00936 #define VDP_setWindowPlanAddress(value)     _Pragma("GCC error \"This definition is deprecated, use VDP_setWindowAddress(..) instead.\"")
-00937 
-00946 void VDP_setSpriteListAddress(u16 value);
-00956 void VDP_setHScrollTableAddress(u16 value);
-00957 
-00970 void VDP_setScanMode(u16 mode);
-00971 
-00982 void VDP_setWindowHPos(u16 right, u16 pos);
-00993 void VDP_setWindowVPos(u16 down, u16 pos);
-00994 
-00999 void VDP_waitDMACompletion(void);
-01004 void VDP_waitFIFOEmpty(void);
-01005 
-01015 bool VDP_waitVInt(void);
-01027 bool VDP_waitVBlank(bool forceNext);
-01036 bool VDP_waitVSync(void);
-01046 void VDP_waitVActive(bool forceNext);
-01047 
-01055 u16 VDP_getAdjustedVCounter(void);
-01056 
-01069 void VDP_showFPS(u16 asFloat);
-01078 void VDP_showCPULoad(void);
-01079 
-01080 
-01081 #endif // _VDP_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/vdp__bg_8h.html b/doc/html/vdp__bg_8h.html deleted file mode 100644 index 1b57e2a31..000000000 --- a/doc/html/vdp__bg_8h.html +++ /dev/null @@ -1,1921 +0,0 @@ - - - - -sgdk: vdp_bg.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
vdp_bg.h File Reference
-
-
- -

VDP background plane support. -More...

-
#include "bmp.h"
-#include "vdp.h"
-#include "vdp_tile.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  Image
 Image structure which contains all data to define an image in a background plane.
- Use the unpackImage() method to unpack if compression is enabled in TileSet or TileMap structure. More...

-Functions

void VDP_setHorizontalScroll (VDPPlane plane, s16 value)
 Set plane horizontal scroll (plain scroll mode).
- 3 horizontal scroll modes are supported:
-
void VDP_setHorizontalScrollVSync (VDPPlane plane, s16 value)
 Same as VDP_setHorizontalScroll(..) except that it will delay scroll update on VSync.
void VDP_setHorizontalScrollTile (VDPPlane plane, u16 tile, s16 *values, u16 len, TransferMethod tm)
 Set plane horizontal scroll (tile scroll mode).
- 3 horizontal scroll modes are supported:
-
void VDP_setHorizontalScrollLine (VDPPlane plane, u16 line, s16 *values, u16 len, TransferMethod tm)
 Set plane horizontal scroll (line scroll mode).
- 3 horizontal scroll modes are supported:
-
void VDP_setVerticalScroll (VDPPlane plane, s16 value)
 Set plane vertical scroll (plain scroll mode). 2 vertical scroll modes are supported:
-
void VDP_setVerticalScrollVSync (VDPPlane plane, s16 value)
 Same as VDP_setVerticalScroll(..) except that it will delay scroll update on VSync.
void VDP_setVerticalScrollTile (VDPPlane plane, u16 tile, s16 *values, u16 len, TransferMethod tm)
 Set plane vertical scroll (2-Tiles scroll mode). 2 vertical scroll modes are supported:
-
void VDP_clearPlane (VDPPlane plane, bool wait)
 Clear specified plane (using DMA).
VDPPlane VDP_getTextPlane (void)
 Returns the plane used to display text.
u16 VDP_getTextPalette (void)
 Returns the palette number used to display text.
u16 VDP_getTextPriority (void)
 Returns the priority used to display text.
void VDP_setTextPlane (VDPPlane plane)
 Define the plane to use to display text.
void VDP_setTextPalette (u16 palette)
 Define the palette to use to display text.
void VDP_setTextPriority (u16 prio)
 Define the priority to use to display text.
void VDP_drawTextEx (VDPPlane plane, const char *str, u16 basetile, u16 x, u16 y, TransferMethod tm)
 Draw text in specified plane (advanced method).
void VDP_clearTextEx (VDPPlane plane, u16 basetile, u16 x, u16 y, u16 w, TransferMethod tm)
 Clear a single line portion of text (advanced method).
void VDP_clearTextAreaEx (VDPPlane plane, u16 basetile, u16 x, u16 y, u16 w, u16 h, TransferMethod tm)
 Clear a specific area of text (advanced method).
void VDP_drawTextBG (VDPPlane plane, const char *str, u16 x, u16 y)
 Draw text in specified plane.
void VDP_clearTextBG (VDPPlane plane, u16 x, u16 y, u16 w)
 Clear a single line portion of text.
void VDP_clearTextAreaBG (VDPPlane plane, u16 x, u16 y, u16 w, u16 h)
 Clear a specific area of text.
void VDP_clearTextLineBG (VDPPlane plane, u16 y)
 Clear a complete line of text.
void VDP_drawText (const char *str, u16 x, u16 y)
 Draw text.
void VDP_clearText (u16 x, u16 y, u16 w)
 Clear a single line portion of text.
void VDP_clearTextArea (u16 x, u16 y, u16 w, u16 h)
 Clear a specific area of text.
void VDP_clearTextLine (u16 y)
 Clear a complete line of text.
bool VDP_drawBitmap (VDPPlane plane, const Bitmap *bitmap, u16 x, u16 y)
 Draw Bitmap in specified background plane and at given position.
bool VDP_drawBitmapEx (VDPPlane plane, const Bitmap *bitmap, u16 basetile, u16 x, u16 y, bool loadpal)
 Draw Bitmap in specified background plane and at given position.
bool VDP_drawImage (VDPPlane plane, const Image *image, u16 x, u16 y)
 Draw Image (using DMA) in specified background plane and at given position.
bool VDP_drawImageEx (VDPPlane plane, const Image *image, u16 basetile, u16 x, u16 y, bool loadpal, bool dma)
 Draw Image in specified background plane and at given position.

-Variables

u16 curTileInd
-

Detailed Description

-

VDP background plane support.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides plane A & plane B facilities :

-
    -
  • set scrolling
  • -
  • clear plane
  • -
  • draw text in plane
  • -
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_clearPlane (VDPPlane plane,
bool wait 
)
-
-
- -

Clear specified plane (using DMA).

-
Parameters:
- - - -
planePlane we want to clear.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
waitWait the operation to complete when set to TRUE otherwise it returns immediately but then you will require to wait for DMA completion (DMA_waitCompletion()) before accessing the VDP.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_clearText (u16 x,
u16 y,
u16 w 
)
-
-
- -

Clear a single line portion of text.

-
Parameters:
- - - - -
xX position (in tile).
yy position (in tile).
wwidth to clear (in tile).
-
-
-
See also:
VDP_drawText(..)
-
-VDP_clearTextArea(..)
-
-VDP_clearTextLine(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_clearTextArea (u16 x,
u16 y,
u16 w,
u16 h 
)
-
-
- -

Clear a specific area of text.

-
Parameters:
- - - - - -
xX position (in tile).
yy position (in tile).
wwidth to clear (in tile).
hheigth to clear (in tile).
-
-
-
See also:
VDP_drawText(..)
-
-VDP_clearText(..)
-
-VDP_clearTextLine(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_clearTextAreaBG (VDPPlane plane,
u16 x,
u16 y,
u16 w,
u16 h 
)
-
-
- -

Clear a specific area of text.

-
Parameters:
- - - - - - -
planePlane where we want to clear text.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
xX position (in tile).
yy position (in tile).
wwidth to clear (in tile).
hheigth to clear (in tile).
-
-
-
See also:
VDP_clearTextAreaEx(..)
-
-VDP_drawText(..)
-
-VDP_clearText(..)
-
-VDP_clearTextLine(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_clearTextAreaEx (VDPPlane plane,
u16 basetile,
u16 x,
u16 y,
u16 w,
u16 h,
TransferMethod tm 
)
-
-
- -

Clear a specific area of text (advanced method).

-
Parameters:
- - - - - - - - -
planePlane where we want to clear text.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
basetileBase tile attributes data (see TILE_ATTR() macro).
xX position (in tile).
yy position (in tile).
wwidth to clear (in tile).
hheigth to clear (in tile).
tmTransfer method, using DMA_QUEUE or DMA_QUEUE_COPY ensure that it will be executed during VBlank.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-
See also:
VDP_drawText(..)
-
-VDP_clearText(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_clearTextBG (VDPPlane plane,
u16 x,
u16 y,
u16 w 
)
-
-
- -

Clear a single line portion of text.

-
Parameters:
- - - - - -
planePlane where we want to clear text.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
xX position (in tile).
yy position (in tile).
wwidth to clear (in tile).
-
-
-
See also:
VDP_clearTextEx(..)
-
-VDP_drawText(..)
-
-VDP_clearTextArea(..)
-
-VDP_clearTextLine(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_clearTextEx (VDPPlane plane,
u16 basetile,
u16 x,
u16 y,
u16 w,
TransferMethod tm 
)
-
-
- -

Clear a single line portion of text (advanced method).

-
Parameters:
- - - - - - - -
planePlane where we want to clear text.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
basetileBase tile attributes data (see TILE_ATTR() macro).
xX position (in tile).
yy position (in tile).
wwidth to clear (in tile).
tmTransfer method, using DMA_QUEUE or DMA_QUEUE_COPY ensure that it will be executed during VBlank.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-
See also:
VDP_drawText(..)
-
-VDP_clearTextArea(..)
-
-VDP_clearTextLine(..)
- -
-
- -
-
- - - - - - - - -
void VDP_clearTextLine (u16 y)
-
-
- -

Clear a complete line of text.

-
Parameters:
- - -
yy position (in tile).
-
-
-
See also:
VDP_drawText(..)
-
-VDP_clearText(..)
-
-VDP_clearTextArea(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_clearTextLineBG (VDPPlane plane,
u16 y 
)
-
-
- -

Clear a complete line of text.

-
Parameters:
- - - -
planePlane where we want to clear text.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
yy position (in tile).
-
-
-
See also:
VDP_drawText(..)
-
-VDP_clearText(..)
-
-VDP_clearTextArea(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool VDP_drawBitmap (VDPPlane plane,
const Bitmapbitmap,
u16 x,
u16 y 
)
-
-
- -

Draw Bitmap in specified background plane and at given position.

-
Parameters:
- - - - - -
planePlane where we want to draw the bitmap.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
bitmapGenesis bitmap (the width and height should be aligned to 8).
- The Bitmap is unpacked "on the fly" if needed (require some memory).
xPlane X position (in tile).
yPlane Y position (in tile).
-
-
-
Returns:
FALSE if there is not enough memory to unpack the specified Bitmap (only if compression was enabled).
-

This function does "on the fly" 4bpp bitmap conversion to tile data and transfert them to VRAM.
- It's very helpful when you use bitmap images but the conversion eats sometime so you should use it only for static screen only.
- For "in-game" condition you should use VDP_loadTileData() method with prepared tile data.

-
See also:
VDP_loadBMPTileData()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool VDP_drawBitmapEx (VDPPlane plane,
const Bitmapbitmap,
u16 basetile,
u16 x,
u16 y,
bool loadpal 
)
-
-
- -

Draw Bitmap in specified background plane and at given position.

-
Parameters:
- - - - - - - -
planePlane where we want to draw the bitmap.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
bitmapGenesis bitmap (the width and height should be aligned to 8).
- The Bitmap is unpacked "on the fly" if needed (require some memory).
basetileBase tile attributes data (see TILE_ATTR_FULL() macro).
xPlane X position (in tile).
yPlane Y position (in tile).
loadpalLoad the bitmap palette information when non zero (can be TRUE or FALSE)
-
-
-
Returns:
FALSE if there is not enough memory to unpack the specified Bitmap (only if compression was enabled).
-

This function does "on the fly" 4bpp bitmap conversion to tile data and transfert them to VRAM.
- It's very helpful when you use bitmap images but the conversion eats sometime so you should use it only for static screen only.
- For "in-game" condition you should use VDP_loadTileData() method with prepared tile data.
-

-
See also:
VDP_loadBMPTileData()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool VDP_drawImage (VDPPlane plane,
const Imageimage,
u16 x,
u16 y 
)
-
-
- -

Draw Image (using DMA) in specified background plane and at given position.

-
Parameters:
- - - - - -
planePlane where we want to draw the tilemap.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
imageImage structure to draw.
- The Image is unpacked "on the fly" if needed (require some memory).
xPlane X position (in tile).
yPlane Y position (in tile).
-
-
-
Returns:
FALSE if there is not enough memory to unpack the specified Image (only if compression was enabled).
-

Load the image tiles data in VRAM and display it at specified plane position.

-
See also:
VDP_drawImageEx()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool VDP_drawImageEx (VDPPlane plane,
const Imageimage,
u16 basetile,
u16 x,
u16 y,
bool loadpal,
bool dma 
)
-
-
- -

Draw Image in specified background plane and at given position.

-
Parameters:
- - - - - - - - -
planePlane where we want to load tilemap.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
imageImage structure to draw.
- The Image is unpacked "on the fly" if needed (require some memory).
basetileBase tile attributes data (see TILE_ATTR_FULL() macro).
xPlane X position (in tile).
yPlane Y position (in tile).
loadpalLoad the bitmap palette information when non zero (can be TRUE or FALSE)
dmause DMA
-
-
-
Returns:
FALSE if there is not enough memory to unpack the specified Image (only if image was packed).
-

Load the image tiles data in VRAM and display it at specified plane position.

-
See also:
VDP_drawImage()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_drawText (const char * str,
u16 x,
u16 y 
)
-
-
- -

Draw text.

-
Parameters:
- - - - -
strString to draw.
xX position (in tile).
yy position (in tile).
-
-
-
See also:
VDP_clearText(..)
-
-VDP_setTextPalette(..)
-
-VDP_setTextPriority(..)
-
-VDP_setTextPlane(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_drawTextBG (VDPPlane plane,
const char * str,
u16 x,
u16 y 
)
-
-
- -

Draw text in specified plane.

-
Parameters:
- - - - - -
planePlane where we want to draw text.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
strString to draw.
xX position (in tile).
yy position (in tile).
-
-
-
See also:
VDP_drawTextEx(..)
-
-VDP_clearText(..)
-
-VDP_setTextPalette(..)
-
-VDP_setTextPriority(..)
-
-VDP_setTextPlane(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_drawTextEx (VDPPlane plane,
const char * str,
u16 basetile,
u16 x,
u16 y,
TransferMethod tm 
)
-
-
- -

Draw text in specified plane (advanced method).

-
Parameters:
- - - - - - - -
planePlane where we want to draw text.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
strString to draw.
basetileBase tile attributes data (see TILE_ATTR() macro).
xX position (in tile).
yy position (in tile).
tmTransfer method, using DMA_QUEUE or DMA_QUEUE_COPY ensure that it will be executed during VBlank.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-
See also:
VDP_clearText(..)
-
-VDP_setTextPalette(..)
-
-VDP_setTextPriority(..)
-
-VDP_setTextPlane(..)
- -
-
- -
-
- - - - - - - - -
u16 VDP_getTextPalette (void )
-
-
- -

Returns the palette number used to display text.

-
See also:
VDP_drawText(..)
-
-VDP_clearText(..)
- -
-
- -
-
- - - - - - - - -
VDPPlane VDP_getTextPlane (void )
-
-
- -

Returns the plane used to display text.

-

Returned value should be either equals to BG_A, BG_B or WINDOW.

-
See also:
VDP_drawText(..)
-
-VDP_clearText(..)
- -
-
- -
-
- - - - - - - - -
u16 VDP_getTextPriority (void )
-
-
- -

Returns the priority used to display text.

-
See also:
VDP_drawText(..)
-
-VDP_clearText(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setHorizontalScroll (VDPPlane plane,
s16 value 
)
-
-
- -

Set plane horizontal scroll (plain scroll mode).
- 3 horizontal scroll modes are supported:
-

-
    -
  • Plain (whole plane)
    -
  • -
  • Tile (8 pixels bloc)
    -
  • -
  • Line (per pixel scroll)
    -
  • -
-
Parameters:
- - - -
planePlane we want to set the horizontal scroll.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
-
valueH scroll offset.
- Negative value will move the plane to the left while positive value will move it to the right.
-
-
-
See also:
VDP_setScrollingMode() function to change scroll mode.
-
-VDP_setHorizontalScrollVSync()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setHorizontalScrollLine (VDPPlane plane,
u16 line,
s16values,
u16 len,
TransferMethod tm 
)
-
-
- -

Set plane horizontal scroll (line scroll mode).
- 3 horizontal scroll modes are supported:
-

-
    -
  • Plain (whole plane)
    -
  • -
  • Tile (8 pixels bloc)
    -
  • -
  • Line (per pixel scroll)
    -
  • -
-
Parameters:
- - - - - - -
planePlane we want to set the horizontal scroll.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
-
lineFirst line we want to set the horizontal scroll.
valuesH scroll offsets.
- Negative values will move the plane to the left while positive values will move it to the right.
lenNumber of line to set.
tmTransfer method, it's recommended to use DMA_QUEUE so it will be executed as fast as possible during VBlank.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-
See also:
VDP_setScrollingMode()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setHorizontalScrollTile (VDPPlane plane,
u16 tile,
s16values,
u16 len,
TransferMethod tm 
)
-
-
- -

Set plane horizontal scroll (tile scroll mode).
- 3 horizontal scroll modes are supported:
-

-
    -
  • Plain (whole plane)
    -
  • -
  • Tile (8 pixels bloc)
    -
  • -
  • Line (per pixel scroll)
    -
  • -
-
Parameters:
- - - - - - -
planePlane we want to set the horizontal scroll.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
-
tileFirst tile we want to set the horizontal scroll.
valuesH scroll offsets.
- Negative values will move the plane to the left while positive values will move it to the right.
lenNumber of tile to set.
tmTransfer method, it's recommended to use DMA_QUEUE so it will be executed as fast as possible during VBlank.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-
See also:
VDP_setScrollingMode() function to change scroll mode.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setHorizontalScrollVSync (VDPPlane plane,
s16 value 
)
-
-
- -

Same as VDP_setHorizontalScroll(..) except that it will delay scroll update on VSync.

-
Parameters:
- - - -
planePlane we want to set the horizontal scroll.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
-
valueH scroll offset.
- Negative value will move the plane to the left while positive value will move it to the right.
-
-
-
See also:
VDP_setHorizontalScroll()
- -
-
- -
-
- - - - - - - - -
void VDP_setTextPalette (u16 palette)
-
-
- -

Define the palette to use to display text.

-
Parameters:
- - -
palettePalette number.
-
-
-
See also:
VDP_drawText(..)
-
-VDP_clearText(..)
- -
-
- -
-
- - - - - - - - -
void VDP_setTextPlane (VDPPlane plane)
-
-
- -

Define the plane to use to display text.

-
Parameters:
- - -
planePlane where to display text.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
-
-
-
See also:
VDP_drawText(..)
-
-VDP_clearText(..)
- -
-
- -
-
- - - - - - - - -
void VDP_setTextPriority (u16 prio)
-
-
- -

Define the priority to use to display text.

-
Parameters:
- - -
prioPriority:
- 1 = HIGH PRIORITY TILE.
- 0 = LOW PRIORITY TILE.
-
-
-
-
See also:
VDP_drawText(..)
-
-VDP_clearText(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setVerticalScroll (VDPPlane plane,
s16 value 
)
-
-
- -

Set plane vertical scroll (plain scroll mode). 2 vertical scroll modes are supported:
-

-
    -
  • Plain (whole plane)
    -
  • -
  • 2-Tiles (16 pixels bloc)
    -
  • -
-
Parameters:
- - - -
planePlane we want to set the vertical scroll.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
-
valueV scroll offset.
- Negative value will move the plane down while positive value will move it up.
-
-
-
See also:
VDP_setScrollingMode()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setVerticalScrollTile (VDPPlane plane,
u16 tile,
s16values,
u16 len,
TransferMethod tm 
)
-
-
- -

Set plane vertical scroll (2-Tiles scroll mode). 2 vertical scroll modes are supported:
-

-
    -
  • Plain (whole plane)
    -
  • -
  • 2-Tiles (16 pixels bloc)
    -
  • -
-
Parameters:
- - - - - - -
planePlane we want to set the vertical scroll.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
-
tileFirst tile we want to set the vertical scroll.
valuesV scroll offsets.
- Negative values will move the plane down while positive values will move it up.
lenNumber of tile to set.
tmTransfer method, it's recommended to use DMA_QUEUE so it will be executed as fast as possible during VBlank.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-
See also:
VDP_setScrollingMode()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setVerticalScrollVSync (VDPPlane plane,
s16 value 
)
-
-
- -

Same as VDP_setVerticalScroll(..) except that it will delay scroll update on VSync.

-
Parameters:
- - - -
planePlane we want to set the vertical scroll.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
-
valueV scroll offset.
- Negative value will move the plane down while positive value will move it up.
-
-
-
See also:
VDP_setHorizontalScroll()
- -
-
-

Variable Documentation

- -
-
- - - - -
u16 curTileInd
-
-
-

Contains current VRAM tile position where we will upload next tile data.

-
See also:
VDP_drawBitmap()
-
-VDP_drawImage()
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/vdp__bg_8h_source.html b/doc/html/vdp__bg_8h_source.html deleted file mode 100644 index 2f7b636a1..000000000 --- a/doc/html/vdp__bg_8h_source.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - -sgdk: vdp_bg.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
vdp_bg.h
-
-
-Go to the documentation of this file.
00001 
-00013 #ifndef _VDP_BG_H_
-00014 #define _VDP_BG_H_
-00015 
-00016 #include "bmp.h"
-00017 #include "vdp.h"
-00018 #include "vdp_tile.h"
-00019 
-00020 
-00033 typedef struct
-00034 {
-00035     Palette *palette;
-00036     TileSet *tileset;
-00037     TileMap *tilemap;
-00038 } Image;
-00039 
-00040 
-00047 extern u16 curTileInd;
-00048 
-00070 void VDP_setHorizontalScroll(VDPPlane plane, s16 value);
-00087 void VDP_setHorizontalScrollVSync(VDPPlane plane, s16 value);
-00119 void VDP_setHorizontalScrollTile(VDPPlane plane, u16 tile, s16* values, u16 len, TransferMethod tm);
-00150 void VDP_setHorizontalScrollLine(VDPPlane plane, u16 line, s16* values, u16 len, TransferMethod tm);
-00151 
-00170 void VDP_setVerticalScroll(VDPPlane plane, s16 value);
-00186 void VDP_setVerticalScrollVSync(VDPPlane plane, s16 value);
-00216 void VDP_setVerticalScrollTile(VDPPlane plane, u16 tile, s16* values, u16 len, TransferMethod tm);
-00217 
-00232 void VDP_clearPlane(VDPPlane plane, bool wait);
-00233 
-00243 VDPPlane VDP_getTextPlane(void);
-00251 u16 VDP_getTextPalette(void);
-00259 u16 VDP_getTextPriority(void);
-00260 
-00275 void VDP_setTextPlane(VDPPlane plane);
-00286 void VDP_setTextPalette(u16 palette);
-00299 void VDP_setTextPriority(u16 prio);
-00300 
-00332 void VDP_drawTextEx(VDPPlane plane, const char *str, u16 basetile, u16 x, u16 y, TransferMethod tm);
-00363 void VDP_clearTextEx(VDPPlane plane, u16 basetile, u16 x, u16 y, u16 w, TransferMethod tm);
-00395 void VDP_clearTextAreaEx(VDPPlane plane, u16 basetile, u16 x, u16 y, u16 w, u16 h, TransferMethod tm);
-00396 
-00420 void VDP_drawTextBG(VDPPlane plane, const char *str, u16 x, u16 y);
-00443 void VDP_clearTextBG(VDPPlane plane, u16 x, u16 y, u16 w);
-00468 void VDP_clearTextAreaBG(VDPPlane plane, u16 x, u16 y, u16 w, u16 h);
-00486 void VDP_clearTextLineBG(VDPPlane plane, u16 y);
-00487 
-00504 void VDP_drawText(const char *str, u16 x, u16 y);
-00520 void VDP_clearText(u16 x, u16 y, u16 w);
-00538 void VDP_clearTextArea(u16 x, u16 y, u16 w, u16 h);
-00550 void VDP_clearTextLine(u16 y);
-00551 
-00578 bool VDP_drawBitmap(VDPPlane plane, const Bitmap *bitmap, u16 x, u16 y);
-00609 bool VDP_drawBitmapEx(VDPPlane plane, const Bitmap *bitmap, u16 basetile, u16 x, u16 y, bool loadpal);
-00610 
-00635 bool VDP_drawImage(VDPPlane plane, const Image *image, u16 x, u16 y);
-00666 bool VDP_drawImageEx(VDPPlane plane, const Image *image, u16 basetile, u16 x, u16 y, bool loadpal, bool dma);
-00667 
-00668 
-00669 #endif // _VDP_BG_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/vdp__spr_8h.html b/doc/html/vdp__spr_8h.html deleted file mode 100644 index 301a798a6..000000000 --- a/doc/html/vdp__spr_8h.html +++ /dev/null @@ -1,1144 +0,0 @@ - - - - -sgdk: vdp_spr.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
vdp_spr.h File Reference
-
-
- -

VDP Sprite support. -More...

-
#include "config.h"
-#include "types.h"
-#include "dma.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  VDPSprite
 VDP sprite definition structure replicating VDP hardware sprite. More...

-Defines

-#define SAT_MAX_SIZE   80
 Maximum size of Sprite Attribute Table (128 in VRAM but limited to 80 in VDP anyway)
#define SPRITE_SIZE(w, h)   ((((w) - 1) << 2) | ((h) - 1))
 Helper to define sprite size in sprite definition structure.

-Functions

-void VDP_resetSprites (void)
 Clear all sprites and reset VDP sprite allocation (if any).
-void VDP_releaseAllSprites (void)
 Release all VDP sprite allocation.
s16 VDP_allocateSprites (u16 num)
 Allocate the specified number of hardware VDP sprites and link them together.
-
void VDP_releaseSprites (u16 index, u16 num)
 Release specified number of VDP sprites.
u16 VDP_getAvailableSprites (void)
 Returns the number of available VDP sprite from the SAT. WARNING: the SAT maximum size is 128 entries in VRAM but the VDP can only display up to 80 (H40 mode) or 64 sprites (H32 mode) at once on the screen.
s16 VDP_refreshHighestAllocatedSpriteIndex (void)
 Compute and return the highest index of currently allocated VDP sprite.
- A value of -1 mean no VDP Sprite are allocated.
- This value can be used to define the number of sprite to transfer with VDP_updateSprites(..) method.
-void VDP_clearSprites (void)
 Clear all sprites.
void VDP_setSpriteFull (u16 index, s16 x, s16 y, u8 size, u16 attribut, u8 link)
 Set a sprite (use sprite list cache).
void VDP_setSprite (u16 index, s16 x, s16 y, u8 size, u16 attribut)
 Set a sprite (use sprite list cache).
void VDP_setSpritePosition (u16 index, s16 x, s16 y)
 Set sprite position (use sprite list cache).
void VDP_setSpriteSize (u16 index, u8 size)
 Set sprite size (use sprite list cache).
void VDP_setSpriteAttribut (u16 index, u16 attribut)
 Set sprite attributes (use sprite list cache).
void VDP_setSpriteLink (u16 index, u8 link)
 Set sprite link (use sprite list cache).
VDPSpriteVDP_linkSprites (u16 index, u16 num)
 Link sprites starting at the specified index.
- Links are created in simple ascending order (1 --> 2 --> 3 --> ...)
void VDP_updateSprites (u16 num, TransferMethod tm)
 Send the cached sprite list to the VDP.
void VDP_setSpritePriority (u16 index, bool priority)
 Set sprite priority (use sprite list cache).
bool VDP_getSpritePriority (u16 index)
 Get sprite priority (use sprite list cache).
void VDP_setSpritePalette (u16 index, u16 palette)
 Set sprite palette (use sprite list cache).
u16 VDP_getSpritePalette (u16 index)
 Get sprite palette (use sprite list cache).
void VDP_setSpriteFlip (u16 index, bool flipH, bool flipV)
 Set sprite horizontal and vertical flip (use sprite list cache).
void VDP_setSpriteFlipH (u16 index, bool flipH)
 Set sprite horizontal flip (use sprite list cache).
void VDP_setSpriteFlipV (u16 index, bool flipV)
 Set sprite vertical flip (use sprite list cache).
bool VDP_getSpriteFlipH (u16 index)
 Get sprite horizontal flip (use sprite list cache).
bool VDP_getSpriteFlipV (u16 index)
 Get sprite vertical flip (use sprite list cache).
void VDP_setSpriteTile (u16 index, u16 tile)
 Set sprite tile index (use sprite list cache).
u16 VDP_getSpriteTile (u16 index)
 Get sprite tile index (use sprite list cache).

-Variables

-VDPSprite vdpSpriteCache [SAT_MAX_SIZE+16]
 VDP sprite cache.
-VDPSpritelastAllocatedVDPSprite
 Pointer to last allocated sprite after calling VDP_allocateSprites(..) method.
- This can be used to do the link from the last allocated VDP sprite.
s16 highestVDPSpriteIndex
 Highest index of allocated VDP sprite since the last call to VDP_resetSprites() or VDP_releaseAllSprites().
- A value of -1 mean no VDP Sprite were allocated..
- This can be used to define the number of sprite to transfer with VDP_updateSprites(..) method.
- WARNING: this value is not correctly updated on sprite release operation so it may gives an higher index than reality.
- You can ue currently VDP_refreshHighestAllocatedSpriteIndex() method to force recomputation of highest index (costs a bit of time).
-

Detailed Description

-

VDP Sprite support.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides methods to allocate and manipulate VDP Sprite at low level.
- The Sega Genesis VDP can handle up to 80 simultanous sprites of 4x4 tiles (32x32 pixels).

-

Define Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
#define SPRITE_SIZE( w,
 
)   ((((w) - 1) << 2) | ((h) - 1))
-
-
- -

Helper to define sprite size in sprite definition structure.

-
Parameters:
- - - -
wsprite width (in tile).
hsprite height (in tile).
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - -
s16 VDP_allocateSprites (u16 num)
-
-
- -

Allocate the specified number of hardware VDP sprites and link them together.
-

-
Parameters:
- - -
numNumber of VDP sprite to allocate (need to be > 0)
-
-
-
Returns:
the first VDP sprite index where allocation was made.
- -1 if there is not enough available VDP sprite remaining.
- WARNING: VDP can display up to 80 sprites at once on screen in H40 mode only, in H32 mode it's limited to 64 sprites even if we allow to allocate up to 80 (SAT size).
-

This method allocates the specified number of VDP sprite and returns the index of the first allocated sprite in VDP sprite table (see vdpSpriteCache).
- Sprites are linked together using link field (last sprite ends with link 0).
- If there is not enough available VDP sprites the allocation operation fails and return -1. NOTE: The last sprite from the allocated list can be retrieved with lastAllocatedVDPSprite, this is to avoid parsing all the list to find it, if we want to link it to a specific sprite for instance.
-

-
See also:
VDP_releaseSprites(..)
- -
-
- -
-
- - - - - - - - -
u16 VDP_getAvailableSprites (void )
-
-
- -

Returns the number of available VDP sprite from the SAT. WARNING: the SAT maximum size is 128 entries in VRAM but the VDP can only display up to 80 (H40 mode) or 64 sprites (H32 mode) at once on the screen.

-
See also:
VDP_allocateSprites(..)
-
-VDP_releaseSprites(..)
- -
-
- -
-
- - - - - - - - -
bool VDP_getSpriteFlipH (u16 index)
-
-
- -

Get sprite horizontal flip (use sprite list cache).

-
Parameters:
- - -
indexIndex of the sprite to modify attributes (should be < SAT_MAX_SIZE).
-
-
- -
-
- -
-
- - - - - - - - -
bool VDP_getSpriteFlipV (u16 index)
-
-
- -

Get sprite vertical flip (use sprite list cache).

-
Parameters:
- - -
indexIndex of the sprite to modify attributes (should be < SAT_MAX_SIZE).
-
-
- -
-
- -
-
- - - - - - - - -
u16 VDP_getSpritePalette (u16 index)
-
-
- -

Get sprite palette (use sprite list cache).

-
Parameters:
- - -
indexIndex of the sprite to modify attributes (should be < SAT_MAX_SIZE).
-
-
- -
-
- -
-
- - - - - - - - -
bool VDP_getSpritePriority (u16 index)
-
-
- -

Get sprite priority (use sprite list cache).

-
Parameters:
- - -
indexIndex of the sprite to modify attributes (should be < SAT_MAX_SIZE).
-
-
- -
-
- -
-
- - - - - - - - -
u16 VDP_getSpriteTile (u16 index)
-
-
- -

Get sprite tile index (use sprite list cache).

-
Parameters:
- - -
indexIndex of the sprite to modify attributes (should be < SAT_MAX_SIZE).
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VDPSprite* VDP_linkSprites (u16 index,
u16 num 
)
-
-
- -

Link sprites starting at the specified index.
- Links are created in simple ascending order (1 --> 2 --> 3 --> ...)

-
Parameters:
- - - -
indexIndex of the first sprite we want to link (should be < SAT_MAX_SIZE).
numNumber of link to create (if you want to link 2 sprites you should use 1 here)
-
-
-
Returns:
The last linked sprite
- -
-
- -
-
- - - - - - - - -
s16 VDP_refreshHighestAllocatedSpriteIndex (void )
-
-
- -

Compute and return the highest index of currently allocated VDP sprite.
- A value of -1 mean no VDP Sprite are allocated.
- This value can be used to define the number of sprite to transfer with VDP_updateSprites(..) method.

-
See also:
VDP_allocateSprites(..)
-
-VDP_releaseSprites(..)
-
-highestVDPSpriteIndex
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_releaseSprites (u16 index,
u16 num 
)
-
-
- -

Release specified number of VDP sprites.

-
Parameters:
- - - -
indexThe index of the first VDP sprite to release (0 <= index < SAT_MAX_SIZE)
numNumber of VDP sprite to release (should be > 0)
-
-
-

This method release the specified number of VDP sprite from the specified index using the link field information to determine which sprites to release when more than 1 sprite is released.

-
See also:
VDP_allocateSprites(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setSprite (u16 index,
s16 x,
s16 y,
u8 size,
u16 attribut 
)
-
-
- -

Set a sprite (use sprite list cache).

-
Parameters:
- - - - - - -
indexIndex of the sprite to set (should be < SAT_MAX_SIZE).
xSprite position X on screen.
ySprite position Y on screen.
sizeSprite size (see SPRITE_SIZE() macro).
attributSprite tile attributes (see TILE_ATTR_FULL() macro).
-
-
-
See also:
VDP_setSpriteFull(..)
-
-VDP_updateSprites(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setSpriteAttribut (u16 index,
u16 attribut 
)
-
-
- -

Set sprite attributes (use sprite list cache).

-
Parameters:
- - - -
indexIndex of the sprite to modify attributes (should be < SAT_MAX_SIZE).
attributSprite tile attributes (see TILE_ATTR_FULL() macro).
-
-
-
See also:
VDP_setSprite(..)
-
-VDP_updateSprites(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setSpriteFlip (u16 index,
bool flipH,
bool flipV 
)
-
-
- -

Set sprite horizontal and vertical flip (use sprite list cache).

-
Parameters:
- - - - -
indexIndex of the sprite to modify attributes (should be < SAT_MAX_SIZE).
flipHHorizontal flip. Valid values: 0 -> normal, 1 -> flipped.
flipVVertical flip. Valid values: 0 -> normal, 1 -> flipped.
-
-
-
See also:
VDP_setSprite(..)
-
-VDP_updateSprites(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setSpriteFlipH (u16 index,
bool flipH 
)
-
-
- -

Set sprite horizontal flip (use sprite list cache).

-
Parameters:
- - - -
indexIndex of the sprite to modify attributes (should be < SAT_MAX_SIZE).
flipHHorizontal flip. Valid values: 0 -> normal, 1 -> flipped.
-
-
-
See also:
VDP_setSprite(..)
-
-VDP_updateSprites(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setSpriteFlipV (u16 index,
bool flipV 
)
-
-
- -

Set sprite vertical flip (use sprite list cache).

-
Parameters:
- - - -
indexIndex of the sprite to modify attributes (should be < SAT_MAX_SIZE).
flipVVertical flip. Valid values: 0 -> normal, 1 -> flipped.
-
-
-
See also:
VDP_setSprite(..)
-
-VDP_updateSprites(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setSpriteFull (u16 index,
s16 x,
s16 y,
u8 size,
u16 attribut,
u8 link 
)
-
-
- -

Set a sprite (use sprite list cache).

-
Parameters:
- - - - - - - -
indexIndex of the sprite to set (should be < SAT_MAX_SIZE).
xSprite position X on screen.
ySprite position Y on screen.
sizeSprite size (see SPRITE_SIZE() macro).
attributSprite tile attributes (see TILE_ATTR_FULL() macro).
linkSprite link (index of next sprite, 0 for end)
- Be careful to not modify link made by VDP_allocateSprite(..), use VDP_setSprite(..) instead in that case.
-
-
-
See also:
VDP_setSprite(..)
-
-VDP_updateSprites(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setSpriteLink (u16 index,
u8 link 
)
-
-
- -

Set sprite link (use sprite list cache).

-
Parameters:
- - - -
indexIndex of the sprite to modify link (should be < SAT_MAX_SIZE).
linkSprite link (index of next sprite, 0 for end).
-
-
-
See also:
VDP_setSprite(..)
-
-VDP_updateSprites(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setSpritePalette (u16 index,
u16 palette 
)
-
-
- -

Set sprite palette (use sprite list cache).

-
Parameters:
- - - -
indexIndex of the sprite to modify attributes (should be < SAT_MAX_SIZE).
palettepalette index. Valid values: [0, 3]
-
-
-
See also:
VDP_setSprite(..)
-
-VDP_updateSprites(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setSpritePosition (u16 index,
s16 x,
s16 y 
)
-
-
- -

Set sprite position (use sprite list cache).

-
Parameters:
- - - - -
indexIndex of the sprite to modify position (should be < SAT_MAX_SIZE).
xSprite position X.
ySprite position Y.
-
-
-
See also:
VDP_setSprite(..)
-
-VDP_updateSprites(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setSpritePriority (u16 index,
bool priority 
)
-
-
- -

Set sprite priority (use sprite list cache).

-
Parameters:
- - - -
indexIndex of the sprite to modify attributes (should be < SAT_MAX_SIZE).
prioritysprite priority. Valid values: 0 -> low, 1 -> high
-
-
-
See also:
VDP_setSprite(..)
-
-VDP_updateSprites(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setSpriteSize (u16 index,
u8 size 
)
-
-
- -

Set sprite size (use sprite list cache).

-
Parameters:
- - - -
indexIndex of the sprite to modify size (should be < SAT_MAX_SIZE).
sizeSprite size (see SPRITE_SIZE() macro).
-
-
-
See also:
VDP_setSprite(..)
-
-VDP_updateSprites(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_setSpriteTile (u16 index,
u16 tile 
)
-
-
- -

Set sprite tile index (use sprite list cache).

-
Parameters:
- - - -
indexIndex of the sprite to modify attributes (should be < SAT_MAX_SIZE).
tileTile index. Valid values: [0, 2047].
-
-
-
See also:
VDP_setSprite(..)
-
-VDP_updateSprites(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VDP_updateSprites (u16 num,
TransferMethod tm 
)
-
-
- -

Send the cached sprite list to the VDP.

-
Parameters:
- - - -
numNumber of sprite to transfer starting at index 0 (max = MAX_SPRITE).
- If you use dynamic VDP Sprite allocation you may use 'highestVDPSpriteIndex + 1' here
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-
See also:
highestVDPSpriteIndex
-
-VDP_refreshHighestAllocatedSpriteIndex()
- -
-
-

Variable Documentation

- -
- -
- -

Highest index of allocated VDP sprite since the last call to VDP_resetSprites() or VDP_releaseAllSprites().
- A value of -1 mean no VDP Sprite were allocated..
- This can be used to define the number of sprite to transfer with VDP_updateSprites(..) method.
- WARNING: this value is not correctly updated on sprite release operation so it may gives an higher index than reality.
- You can ue currently VDP_refreshHighestAllocatedSpriteIndex() method to force recomputation of highest index (costs a bit of time).

-
See also:
VDP_refreshHighestAllocatedSpriteIndex()
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/vdp__spr_8h_source.html b/doc/html/vdp__spr_8h_source.html deleted file mode 100644 index 8bae74024..000000000 --- a/doc/html/vdp__spr_8h_source.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - -sgdk: vdp_spr.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
vdp_spr.h
-
-
-Go to the documentation of this file.
00001 
-00011 #include "config.h"
-00012 #include "types.h"
-00013 #include "dma.h"
-00014 
-00015 #ifndef _VDP_SPR_H_
-00016 #define _VDP_SPR_H_
-00017 
-00022 #define SAT_MAX_SIZE            80
-00023 
-00033 #define SPRITE_SIZE(w, h)   ((((w) - 1) << 2) | ((h) - 1))
-00034 
-00035 
-00065 typedef struct
-00066 {
-00067     s16 y;  // 10 bits
-00068     union
-00069     {
-00070         struct
-00071         {
-00072             u16 unused1  : 4;
-00073             u16 sizeH    : 2;
-00074             u16 sizeV    : 2;
-00075             u16 unused2  : 1;
-00076             u16 linkData : 7;
-00077         };
-00078         struct
-00079         {
-00080             u8 size;
-00081             u8 link;
-00082         };
-00083         u16 size_link;
-00084     };
-00085     union
-00086     {
-00087         u16 attribut;
-00088         struct
-00089         {
-00090             u16 priority : 1;
-00091             u16 palette  : 2;
-00092             u16 flipV    : 1;
-00093             u16 flipH    : 1;
-00094             u16 tile     : 11;
-00095         };
-00096     };
-00097     s16 x;  // 10 bits
-00098 }  VDPSprite;
-00099 
-00100 
-00104 extern VDPSprite vdpSpriteCache[SAT_MAX_SIZE + 16];
-00105 
-00110 extern VDPSprite* lastAllocatedVDPSprite;
-00120 extern s16 highestVDPSpriteIndex;
-00121 
-00122 
-00127 void VDP_resetSprites(void);
-00128 
-00133 void VDP_releaseAllSprites(void);
-00134 
-00155 s16 VDP_allocateSprites(u16 num);
-00171 void VDP_releaseSprites(u16 index, u16 num);
-00181 u16 VDP_getAvailableSprites(void);
-00192 s16 VDP_refreshHighestAllocatedSpriteIndex(void);
-00193 
-00198 void VDP_clearSprites(void);
-00220 void VDP_setSpriteFull(u16 index, s16 x, s16 y, u8 size, u16 attribut, u8 link);
-00239 void VDP_setSprite(u16 index, s16 x, s16 y, u8 size, u16 attribut);
-00254 void VDP_setSpritePosition(u16 index, s16 x, s16 y);
-00267 void VDP_setSpriteSize(u16 index, u8 size);
-00280 void VDP_setSpriteAttribut(u16 index, u16 attribut);
-00293 void VDP_setSpriteLink(u16 index, u8 link);
-00306 VDPSprite* VDP_linkSprites(u16 index, u16 num);
-00307 
-00326 void VDP_updateSprites(u16 num, TransferMethod tm);
-00339 void VDP_setSpritePriority(u16 index, bool priority);
-00347 bool VDP_getSpritePriority(u16 index);
-00360 void VDP_setSpritePalette(u16 index, u16 palette);
-00368 u16 VDP_getSpritePalette(u16 index);
-00383 void VDP_setSpriteFlip(u16 index, bool flipH, bool flipV);
-00396 void VDP_setSpriteFlipH(u16 index, bool flipH);
-00409 void VDP_setSpriteFlipV(u16 index, bool flipV);
-00417 bool VDP_getSpriteFlipH(u16 index);
-00425 bool VDP_getSpriteFlipV(u16 index);
-00438 void VDP_setSpriteTile(u16 index, u16 tile);
-00446 u16 VDP_getSpriteTile(u16 index);
-00447 
-00448 #endif // _VDP_SPR_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/vdp__tile_8h.html b/doc/html/vdp__tile_8h.html deleted file mode 100644 index bcb63b449..000000000 --- a/doc/html/vdp__tile_8h.html +++ /dev/null @@ -1,2896 +0,0 @@ - - - - -sgdk: vdp_tile.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
vdp_tile.h File Reference
-
-
- -

VDP General Tile / Tilemap operations. -More...

-
#include "vdp.h"
-#include "dma.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  TileSet
 Tile set structure which contains tiles definition.
- Use the unpackTileSet() method to unpack if compression is enabled. More...
struct  TileMap
 TileMap structure which contains tilemap background definition.
- Use the unpackTileMap() method to unpack if compression is enabled. More...

-Defines

-#define TILE_ATTR_PRIORITY_SFT   15
 Bit shift for the tile priority attribute in tilemap data.
-#define TILE_ATTR_PALETTE_SFT   13
 Bit shift for the tile palette attribute in tilemap data.
-#define TILE_ATTR_VFLIP_SFT   12
 Bit shift for the tile V flip attribute in tilemap data.
-#define TILE_ATTR_HFLIP_SFT   11
 Bit shift for the tile H flip attribute in tilemap data.
-#define TILE_ATTR_PRIORITY_MASK   (1 << TILE_ATTR_PRIORITY_SFT)
 Mask for the tile priority attribute in tilemap data.
-#define TILE_ATTR_PALETTE_MASK   (3 << TILE_ATTR_PALETTE_SFT)
 Mask for the tile palette attribute in tilemap data.
-#define TILE_ATTR_VFLIP_MASK   (1 << TILE_ATTR_VFLIP_SFT)
 Mask for the tile V flip attribute in tilemap data.
-#define TILE_ATTR_HFLIP_MASK   (1 << TILE_ATTR_HFLIP_SFT)
 Mask for the tile H flip attribute in tilemap data.
-#define TILE_ATTR_MASK   (TILE_ATTR_PRIORITY_MASK | TILE_ATTR_PALETTE_MASK | TILE_ATTR_VFLIP_MASK | TILE_ATTR_HFLIP_MASK)
 Mask for the tile attributes (priority, palette and flip) in tilemap data.
#define TILE_ATTR(pal, prio, flipV, flipH)   (((flipH) << TILE_ATTR_HFLIP_SFT) + ((flipV) << TILE_ATTR_VFLIP_SFT) + ((pal) << TILE_ATTR_PALETTE_SFT) + ((prio) << TILE_ATTR_PRIORITY_SFT))
 Encode tile attributes for tilemap data.
#define TILE_ATTR_FULL(pal, prio, flipV, flipH, index)   (((flipH) << TILE_ATTR_HFLIP_SFT) + ((flipV) << TILE_ATTR_VFLIP_SFT) + ((pal) << TILE_ATTR_PALETTE_SFT) + ((prio) << TILE_ATTR_PRIORITY_SFT) + (index))
 Encode tile attributes for tilemap data.

-Functions

u16 VDP_getPlaneAddress (VDPPlane plane, u16 x, u16 y)
 Return the VRAM tilemap address for the specified plane position.
void VDP_loadTileData (const u32 *data, u16 index, u16 num, TransferMethod tm)
 Load tile data (pattern) in VRAM.
u16 VDP_loadTileSet (const TileSet *tileset, u16 index, TransferMethod tm)
 Load tile data (pattern) in VRAM.
void VDP_loadFontData (const u32 *font, u16 length, TransferMethod tm)
 Load font tile data in VRAM.
- Note that you should prefer the VDP_loadBMPFont(..) method to this one (easier to use).
u16 VDP_loadFont (const TileSet *font, TransferMethod tm)
 Load font from the specified TileSet structure.
void VDP_loadBMPTileData (const u32 *data, u16 index, u16 w, u16 h, u16 bmp_w)
 Load 4bpp bitmap tile data in VRAM.
void VDP_loadBMPTileDataEx (const u32 *data, u16 index, u16 x, u16 y, u16 w, u16 h, u16 bmp_w)
 Load 4bpp bitmap tile data in VRAM.
void VDP_fillTileData (u8 value, u16 index, u16 num, bool wait)
 Fill tile data in VRAM.
void VDP_clearTileMap (u16 planeAddr, u16 ind, u16 num, bool wait)
 Clear tilemap.
void VDP_fillTileMap (u16 planeAddr, u16 tile, u16 ind, u16 num)
 Fill tilemap.
void VDP_setTileMapData (u16 planeAddr, const u16 *data, u16 ind, u16 num, u16 vramStep, TransferMethod tm)
 Set tilemap data at specified index.
void VDP_setTileMapDataEx (u16 planeAddr, const u16 *data, u16 basetile, u16 ind, u16 num, u16 vramStep)
 Set tilemap data at specified index (extended version).
void VDP_setTileMapXY (VDPPlane plane, u16 tile, u16 x, u16 y)
 Set tilemap data (single position).
void VDP_clearTileMapRect (VDPPlane plane, u16 x, u16 y, u16 w, u16 h)
 Clear specified region of tilemap.
void VDP_fillTileMapRect (VDPPlane plane, u16 tile, u16 x, u16 y, u16 w, u16 h)
 Fill speficied region of tilemap.
void VDP_fillTileMapRectInc (VDPPlane plane, u16 basetile, u16 x, u16 y, u16 w, u16 h)
 Fill tilemap with index auto increment at specified region.
void VDP_setTileMapDataRect (VDPPlane plane, const u16 *data, u16 x, u16 y, u16 w, u16 h, u16 wm, TransferMethod tm)
 Set tilemap data for specified region.
void VDP_setTileMapDataRectEx (VDPPlane plane, const u16 *data, u16 basetile, u16 x, u16 y, u16 w, u16 h, u16 wm, TransferMethod tm)
 Set tilemap data for specified region (extended version).
void VDP_setTileMapDataRow (VDPPlane plane, const u16 *data, u16 row, u16 x, u16 w, TransferMethod tm)
 Set a row of tilemap data.
void VDP_setTileMapDataRowEx (VDPPlane plane, const u16 *data, u16 basetile, u16 row, u16 x, u16 w, TransferMethod tm)
 Set a row of tilemap data - extended version.
void VDP_setTileMapDataColumnFast (VDPPlane plane, u16 *data, u16 column, u16 y, u16 h, TransferMethod tm)
 Set a complete column of pre-arranged tilemap data (not supported when plane width is set to 128).
void VDP_setTileMapDataColumn (VDPPlane plane, const u16 *data, u16 column, u16 y, u16 h, u16 wm, TransferMethod tm)
 Set a column of tilemap data (not supported when plane width is set to 128).
void VDP_setTileMapDataColumnEx (VDPPlane plane, const u16 *data, u16 basetile, u16 column, u16 y, u16 h, u16 wm, TransferMethod tm)
 Set a column of tilemap data - extended version (not supported when plane width is set to 128).
bool VDP_setTileMap (VDPPlane plane, const TileMap *tilemap, u16 x, u16 y, u16 w, u16 h, TransferMethod tm)
 Load tilemap region.
bool VDP_setTileMapEx (VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 xp, u16 yp, u16 x, u16 y, u16 w, u16 h, TransferMethod tm)
 Load tilemap region at specified plane position.
bool VDP_setTileMapRow (VDPPlane plane, const TileMap *tilemap, u16 row, u16 x, u16 w, TransferMethod tm)
 Load tilemap row.
bool VDP_setTileMapRowEx (VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 row, u16 x, u16 y, u16 w, TransferMethod tm)
 Load tilemap row (extended version).
bool VDP_setTileMapColumn (VDPPlane plane, const TileMap *tilemap, u16 column, u16 y, u16 h, TransferMethod tm)
 Load tilemap column (not supported when plane width is set to 128).
bool VDP_setTileMapColumnEx (VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 column, u16 x, u16 y, u16 h, TransferMethod tm)
 Load tilemap column - extended version (not supported when plane width is set to 128).
bool VDP_setMap (VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 x, u16 y)
bool VDP_setMapEx (VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 x, u16 y, u16 xm, u16 ym, u16 wm, u16 hm)
-

Detailed Description

-

VDP General Tile / Tilemap operations.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides methods to manipulate VDP tiles and tilemap :
-

-
    -
  • upload tiles to VDP memory
    -
  • -
  • upload tiles to VDP memory from bitmap data
    -
  • -
  • clear / fill / set tile map data
    -
  • -
-

Define Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#define TILE_ATTR( pal,
 prio,
 flipV,
 flipH 
)   (((flipH) << TILE_ATTR_HFLIP_SFT) + ((flipV) << TILE_ATTR_VFLIP_SFT) + ((pal) << TILE_ATTR_PALETTE_SFT) + ((prio) << TILE_ATTR_PRIORITY_SFT))
-
-
- -

Encode tile attributes for tilemap data.

-
Parameters:
- - - - - -
palPalette index
prioTile priority
flipVVertical flip
flipHHorizontal flip
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#define TILE_ATTR_FULL( pal,
 prio,
 flipV,
 flipH,
 index 
)   (((flipH) << TILE_ATTR_HFLIP_SFT) + ((flipV) << TILE_ATTR_VFLIP_SFT) + ((pal) << TILE_ATTR_PALETTE_SFT) + ((prio) << TILE_ATTR_PRIORITY_SFT) + (index))
-
-
- -

Encode tile attributes for tilemap data.

-
Parameters:
- - - - - - -
palPalette index
prioTile priority
flipVVertical flip
flipHHorizontal flip
indexTile index
-
-
- -
-
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_clearTileMap (u16 planeAddr,
u16 ind,
u16 num,
bool wait 
)
-
-
- -

Clear tilemap.

-
Parameters:
- - - - - -
planeAddrPlane address where we want to clear tilemap.
- Accepted values are:
-
    -
  • VDP_BG_A
    -
  • -
  • VDP_BG_B
    -
  • -
  • VDP_WINDOW
    -
  • -
-
indTile index where to start clear.
numNumber of tile to clear.
waitWait the operation to complete when set to TRUE otherwise it returns immediately but then you will require to wait for DMA completion (DMA_waitCompletion()) before accessing the VDP.
-
-
-
See also:
VDP_clearTileMapRect()
-
-VDP_fillTileMap()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_clearTileMapRect (VDPPlane plane,
u16 x,
u16 y,
u16 w,
u16 h 
)
-
-
- -

Clear specified region of tilemap.

-
Parameters:
- - - - - - -
planePlane where we want to clear tilemap region.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
xRegion X start position (in tile).
yRegion Y start position (in tile).
wRegion Width (in tile).
hRegion Heigh (in tile).
-
-
-
See also:
VDP_clearTileMap() (faster method)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_fillTileData (u8 value,
u16 index,
u16 num,
bool wait 
)
-
-
- -

Fill tile data in VRAM.

-
Parameters:
- - - - - -
valueValue (byte) used to fill VRAM tile data.
indexTile index where start tile data fill (use TILE_USER_INDEX as base user index).
numNumber of tile to fill.
waitWait the operation to complete when set to TRUE otherwise it returns immediately but then you will require to wait for DMA completion (DMA_waitCompletion()) before accessing the VDP.
-
-
-

This function is generally used to clear tile data in VRAM.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_fillTileMap (u16 planeAddr,
u16 tile,
u16 ind,
u16 num 
)
-
-
- -

Fill tilemap.

-
Parameters:
- - - - - -
planeAddrPlane address where we want to fill tilemap.
- Accepted values are:
-
    -
  • VDP_BG_A
    -
  • -
  • VDP_BG_B
    -
  • -
  • VDP_WINDOW
    -
  • -
-
tileTile attributes (see TILE_ATTR_FULL() and TILE_ATTR() macros).
indtile index where to start fill.
numNumber of tile to fill.
-
-
-
See also:
VDP_fillTileMapRect()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_fillTileMapRect (VDPPlane plane,
u16 tile,
u16 x,
u16 y,
u16 w,
u16 h 
)
-
-
- -

Fill speficied region of tilemap.

-
Parameters:
- - - - - - - -
planePlane where we want to fill tilemap region.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
tiletile attributes (see TILE_ATTR_FULL() and TILE_ATTR() macros).
xRegion X start position (in tile).
yRegion Y start position (in tile).
wRegion Width (in tile).
hRegion Heigh (in tile).
-
-
-

Fill the specified tilemap region with specified tile attributes value.

-
See also:
VDP_fillTileMap() (faster method)
-
-VDP_fillTileMapRectInc()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_fillTileMapRectInc (VDPPlane plane,
u16 basetile,
u16 x,
u16 y,
u16 w,
u16 h 
)
-
-
- -

Fill tilemap with index auto increment at specified region.

-
Parameters:
- - - - - - - -
planePlane where we want to fill tilemap region.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
basetileBase tile attributes (see TILE_ATTR_FULL() and TILE_ATTR() macros).
xRegion X start position (in tile).
yRegion Y start position (in tile).
wRegion Width (in tile).
hRegion Heigh (in tile).
-
-
-

Set the specified tilemap region with specified tile attributes value.
- The function auto increments tile index in tile attributes like this:
- tilemap line 0 : basetile, basetile+1, basetile+2, basetile+3, ...
- tilemap line 1 : basetile+w, basetile+w+1, basetile+w+2, ...
- ...
- So this function is convenient to display generated image or simulate a frame buffer.
-

-
See also:
also VDP_fillTileMapRect()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
u16 VDP_getPlaneAddress (VDPPlane plane,
u16 x,
u16 y 
)
-
-
- -

Return the VRAM tilemap address for the specified plane position.

-
Parameters:
- - - - -
planePlane we want to get the VRAM tilemap address for a given position.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
xX position (in tile).
yY position (in tile).
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_loadBMPTileData (const u32data,
u16 index,
u16 w,
u16 h,
u16 bmp_w 
)
-
-
- -

Load 4bpp bitmap tile data in VRAM.

-
Parameters:
- - - - - - -
dataPointer to 4bpp bitmap tile data.
indexTile index where start tile data load (use TILE_USER_INDEX as base user index).
wWidth of bitmap region to load (in tile).
hHeigh of bitmap region to load (in tile).
bmp_wWidth of bitmap (in tile), it can differ from 'w' parameter.
-
-
-

This function does "on the fly" 4bpp bitmap conversion to tile data and transfert them to VRAM.
- It's very helpful when you use bitmap images but the conversion eats sometime so you should use it only for static screen only.
- For "in-game" condition you should use VDP_loadTileData() method with converted tile data.
- See also VDP_loadBMPTileDataEx().

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_loadBMPTileDataEx (const u32data,
u16 index,
u16 x,
u16 y,
u16 w,
u16 h,
u16 bmp_w 
)
-
-
- -

Load 4bpp bitmap tile data in VRAM.

-
Parameters:
- - - - - - - - -
dataPointer to 4bpp bitmap tile data.
indexTile index where start tile data load (use TILE_USER_INDEX as base user index).
xX start position of bitmap region to load (in tile).
yY start position of bitmap region to load (in tile).
wWidth of bitmap region to load (in tile).
hHeigh of bitmap region to load (in tile).
bmp_wWidth of bitmap (in tile), it can differ from 'w' parameter.
-
-
-

This function does "on the fly" 4bpp bitmap conversion to tile data and transfert them to VRAM.
- It's very helpful when you use bitmap images but the conversion eats sometime so you should use it only for static screen only.
- For "in-game" condition you should use VDP_loadTileData() method with converted tile data. See also VDP_loadBMPTileData()

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
u16 VDP_loadFont (const TileSetfont,
TransferMethod tm 
)
-
-
- -

Load font from the specified TileSet structure.

-
Parameters:
- - - -
fontTileSet containing the font.
- The TileSet is unpacked "on-the-fly" if needed (require some memory).
- Using DMA_QUEUE for packed resource is unsafe as the resource will be released and eventually can be overwritten before DMA operation so use DMA_QUEUE_COPY in that case or unpack the resource first.
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-
Returns:
FALSE if there is not enough memory to unpack the specified font (only if compression was enabled).
-

This fonction permits to replace system font by user font.
- The font tile data are loaded to TILE_FONT_INDEX and can contains FONT_LEN characters at max.
- Each character should fit in one tile (8x8 pixels bloc).
- See also VDP_loadFontData(..)

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_loadFontData (const u32font,
u16 length,
TransferMethod tm 
)
-
-
- -

Load font tile data in VRAM.
- Note that you should prefer the VDP_loadBMPFont(..) method to this one (easier to use).

-
Parameters:
- - - - -
fontPointer to font tile data.
lengthNumber of characters of the font (max = FONT_LEN).
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-

This fonction permits to replace system font by user font.
- The font tile data are loaded to TILE_FONT_INDEX and can contains FONT_LEN characters at max.
- Each character should fit in one tile (8x8 pixels bloc).
- See also VDP_loadFont(..) and VDP_loadTileData(..)

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_loadTileData (const u32data,
u16 index,
u16 num,
TransferMethod tm 
)
-
-
- -

Load tile data (pattern) in VRAM.

-
Parameters:
- - - - - -
dataPointer to tile data.
indexTile index where start tile data load (use TILE_USER_INDEX as base user index).
numNumber of tile to load.
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-

Transfert rate:
- ~90 bytes per scanline in software (during blanking)
- ~190 bytes per scanline in hardware (during blanking)

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
u16 VDP_loadTileSet (const TileSettileset,
u16 index,
TransferMethod tm 
)
-
-
- -

Load tile data (pattern) in VRAM.

-
Parameters:
- - - - -
tilesetPointer to TileSet structure.
- The TileSet is unpacked "on-the-fly" if needed (require some memory).
- Using DMA_QUEUE for packed resource is unsafe as the resource will be released and eventually can be overwritten before DMA operation so use DMA_QUEUE_COPY in that case or unpack the resource first.
indexTile index where start tile data load (use TILE_USER_INDEX as base user index).
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-
Returns:
FALSE if there is not enough memory to unpack the specified TileSet (only if compression was enabled).
-

Transfert rate:
- ~90 bytes per scanline in software (during blanking)
- ~190 bytes per scanline in hardware (during blanking)

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool VDP_setMap (VDPPlane plane,
const TileMaptilemap,
u16 basetile,
u16 x,
u16 y 
)
-
-
-
Deprecated:
Use VDP_setTileMap() instead.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool VDP_setMapEx (VDPPlane plane,
const TileMaptilemap,
u16 basetile,
u16 x,
u16 y,
u16 xm,
u16 ym,
u16 wm,
u16 hm 
)
-
- -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool VDP_setTileMap (VDPPlane plane,
const TileMaptilemap,
u16 x,
u16 y,
u16 w,
u16 h,
TransferMethod tm 
)
-
-
- -

Load tilemap region.

-
Parameters:
- - - - - - - - -
planePlane where we want to load tilemap.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
tilemapSource tilemap to load.
- The TileMap is unpacked "on-the-fly" if needed (require some memory).
- Using DMA_QUEUE for packed resource is unsafe as the resource will be released and eventually can be overwritten before DMA operation so use DMA_QUEUE_COPY in that case or unpack the resource first.
xRegion X start position (in tile).
yRegion Y start position (in tile).
wRegion Width (in tile).
hRegion Heigh (in tile).
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-

Load the specified tilemap region at equivalent plane position (tilemap wrapping supported).
- You can use this method when you are using the 'mapbase' parameter on your resource definition to set the base attributes
- (palette, priority and base tile index) so you don't need to provide them here.
- This method is faster than using VDP_setTileMapEx(..) which allow to override base tile attributes though the 'basetile' parameter.

-
See also:
VDP_setTileMapData()
-
-VDP_setTileMapDataEx()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool VDP_setTileMapColumn (VDPPlane plane,
const TileMaptilemap,
u16 column,
u16 y,
u16 h,
TransferMethod tm 
)
-
-
- -

Load tilemap column (not supported when plane width is set to 128).

-
Parameters:
- - - - - - - -
planePlane where we want to load tilemap.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
tilemapSource tilemap to set column from.
- The TileMap is unpacked "on-the-fly" if needed (require some memory).
- Using DMA_QUEUE for packed resource is unsafe as the resource will be released and eventually can be overwritten before DMA operation so use DMA_QUEUE_COPY in that case or unpack the resource first.
columnPlane column we want to set data
ySource tilemap Y start position (in tile).
hColumn height to update (in tile)
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-

Load a complete column of data from tilemap at equivalent plane position (wrapped around if needed).
- You can use this method when you are using the 'mapbase' parameter on your resource definition to set the base attributes
- (palette, priority and base tile index) so you don't need to provide them here.
- This method is faster than using VDP_setTileMapColumnEx(..) which allow to override base tile attributes though the 'basetile' parameter.
- WARNING: this function doesn't work when plane width is set to 128 (see VDP_setPlaneSize(..) method)

-
See also:
VDP_setTileMapColumnEx()
-
-VDP_setMapRow()
-
-VDP_setTileMapDataColumn()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool VDP_setTileMapColumnEx (VDPPlane plane,
const TileMaptilemap,
u16 basetile,
u16 column,
u16 x,
u16 y,
u16 h,
TransferMethod tm 
)
-
-
- -

Load tilemap column - extended version (not supported when plane width is set to 128).

-
Parameters:
- - - - - - - - - -
planePlane where we want to load tilemap.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
tilemapSource tilemap to set column from.
- The TileMap is unpacked "on-the-fly" if needed (require some memory).
- Using DMA_QUEUE for packed resource is unsafe as the resource will be released and eventually can be overwritten before DMA operation so use DMA_QUEUE_COPY in that case or unpack the resource first.
basetileBase index and flag for tile attributes (see TILE_ATTR_FULL() macro).
columnPlane column we want to set data
xSource tilemap X / column position (in tile), can be different than plane column if desired.
ySource tilemap Y start position (in tile).
hColumn height to update (in tile)
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
    - But i highly discourage of using DMA here as VDP_setTileMapColumnEx(..) requires to prepare data in a temporary buffer first
    - to use DMA, resulting in a slower process than using CPU. However DMA_QUEUE is very useful as it wil prepare the data
    - and transfer the data as fast as possible during VBlank.
  • -
-
-
-
-

Load a complete column of data from tilemap at equivalent plane position (wrapped around if needed).
- Unlike VDP_setTileMapColumn(..) this method let you to override the base tile attributes (priority, palette and base index)
- at the expense of more computation time. If you want faster tilemap processing (using VDP_setTileMapColumn(..)), you can use
- the 'mapbase' parameter when declaring your IMAGE resource to set base tile attributes but then you have fixed/static tile allocation.
- WARNING: this function doesn't work when plane width is set to 128 (see VDP_setPlaneSize(..) method)

-
See also:
VDP_setTileMapColumn()
-
-VDP_setMapRowEx()
-
-VDP_setTileMapDataColumnEx()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setTileMapData (u16 planeAddr,
const u16data,
u16 ind,
u16 num,
u16 vramStep,
TransferMethod tm 
)
-
-
- -

Set tilemap data at specified index.

-
Parameters:
- - - - - - - -
planeAddrPlane address where we want to set tilemap data.
- Accepted values are:
-
    -
  • VDP_BG_A
    -
  • -
  • VDP_BG_B
    -
  • -
  • VDP_WINDOW
    -
  • -
-
dataTile attributes data (see TILE_ATTR_FULL() and TILE_ATTR() macros).
indTile index where to start to set tilemap data.
numNumber of tile to set.
vramStepVRAM address increment after each write (default value = 2)
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-

Set the specified tilemap with specified tile attributes values.
- You can use this method when you are using the 'mapbase' parameter on your resource definition to set the base attributes
- (palette, priority and base tile index) so you don't need to provide them here.
- This method is faster than using VDP_setTileMapDataEx(..) which allow to override base tile attributes though the 'basetile' parameter.

-
See also:
VDP_setTileMapDataEx().
-
-VDP_setTileMapDataRect().
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setTileMapDataColumn (VDPPlane plane,
const u16data,
u16 column,
u16 y,
u16 h,
u16 wm,
TransferMethod tm 
)
-
-
- -

Set a column of tilemap data (not supported when plane width is set to 128).

-
Parameters:
- - - - - - - - -
planePlane where we want to set tilemap data.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
dataSource tilemap data containing tile attributes (see TILE_ATTR_FULL() macro).
columnPlane column we want to set data
yColumn Y start position (in tile)
hColumn height to update (in tile)
wmSource tilemap width (in tile).
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-

Set a column of tilemap data (tilemap wrapping supported) with given tile attributes values.
- You can use this method when you are using the 'mapbase' parameter on your resource definition to set the base tile attributes
- (palette, priority and base tile index) so you don't need to provide them here.
- This method is faster than using VDP_setTileMapDataColumnEx(..) which allow to override base tile attributes though the 'basetile' parameter.
- WARNING: this function doesn't work when plane width is set to 128 (see VDP_setPlaneSize(..) method)

-
See also:
VDP_setTileMapDataColumnPartEx()
-
-VDP_setTileMapDataColumn()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setTileMapDataColumnEx (VDPPlane plane,
const u16data,
u16 basetile,
u16 column,
u16 y,
u16 h,
u16 wm,
TransferMethod tm 
)
-
-
- -

Set a column of tilemap data - extended version (not supported when plane width is set to 128).

-
Parameters:
- - - - - - - - - -
planePlane where we want to set tilemap data.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
dataSource tilemap data containing tile attributes (see TILE_ATTR_FULL() macro).
basetileBase index and flag for tile attributes (see TILE_ATTR_FULL() macro).
columnPlane column we want to set data
yColumn Y start position (in tile)
hColumn height to update (in tile)
wmSource tilemap width (in tile).
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
    - But i highly discourage of using DMA here as VDP_setTileMapDataColumnEx(..) requires to prepare data in a temporary buffer first
    - to use DMA, resulting in a slower process than using CPU. However DMA_QUEUE is very useful as it wil prepare the data
    - and transfer the data as fast as possible during VBlank.
  • -
-
-
-
-

Set a column of tilemap data (tilemap wrapping supported) with given tile attributes values.
- Unlike VDP_setTileMapDataColumn(..) this method let you to override the base tile attributes (priority, palette and base index)
- at the expense of more computation time. If you want faster tilemap processing (using VDP_setTileMapDataColumn(..)), you can use
- the 'mapbase' parameter when declaring your IMAGE resource to set base tile attributes but then you have fixed/static tile allocation. WARNING: this function doesn't work when plane width is set to 128 (see VDP_setPlaneSize(..) method)

-
See also:
VDP_setTileMapDataColumnPart()
-
-VDP_setTileMapDataColumnEx()
-
-VDP_setTileMapData()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setTileMapDataColumnFast (VDPPlane plane,
u16data,
u16 column,
u16 y,
u16 h,
TransferMethod tm 
)
-
-
- -

Set a complete column of pre-arranged tilemap data (not supported when plane width is set to 128).

-
Parameters:
- - - - - - - -
planePlane where we want to set tilemap data.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
dataPrepared tile attributes data (see TILE_ATTR_FULL() macro).
- Column data are already arranged to be transferred as a single contiguous data block.
columnPlane column we want to set data
yColumn Y start position (in tile)
hColumn height to update (in tile)
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-

Set a complete column of tilemap data with given tile attributes values.
- This method is faster than VDP_setTileMapDataColumn(..) or VDP_setTileMapDataColumnEx(..) as it assumes
- that data buffer is properly prepared and arranged to be directly copied as it.
- WARNING: this function doesn't work when plane width is set to 128 (see VDP_setPlaneSize(..) method).

-
See also:
VDP_setTileMapDataRowFast()
-
-VDP_setTileMapDataColumn()
-
-VDP_setTileMapData()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setTileMapDataEx (u16 planeAddr,
const u16data,
u16 basetile,
u16 ind,
u16 num,
u16 vramStep 
)
-
-
- -

Set tilemap data at specified index (extended version).

-
Parameters:
- - - - - - - -
planeAddrPlane where we want to set tilemap data.
- Accepted values are:
-
    -
  • VDP_BG_A
    -
  • -
  • VDP_BG_B
    -
  • -
  • VDP_WINDOW
    -
  • -
-
dataTile attributes data (see TILE_ATTR_FULL() and TILE_ATTR() macros).
basetileBase tile index and flag for tile attributes (see TILE_ATTR_FULL() macro).
indTile index where to start to set tilemap data.
numNumber of tile to set.
vramStepVRAM address increment after each write (default value = 2).
-
-
-

Set the specified tilemap with specified tile attributes values.
- Unlike VDP_setTileMapData(..) this method let you to override the base tile attributes (priority, palette and base index)
- at the expense of more computation time. If you want faster tilemap processing (using VDP_setTileMapData(..)), you can use
- the 'mapbase' parameter when declaring your IMAGE resource to set base tile attributes but then you have fixed/static tile allocation.

-
See also:
VDP_setTileMapData()
-
-VDP_setTileMapDataRectEx()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setTileMapDataRect (VDPPlane plane,
const u16data,
u16 x,
u16 y,
u16 w,
u16 h,
u16 wm,
TransferMethod tm 
)
-
-
- -

Set tilemap data for specified region.

-
Parameters:
- - - - - - - - - -
planePlane where we want to set tilemap data.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
dataSource tilemap data containing tile attributes (see TILE_ATTR_FULL() macro).
xRegion X start position (in tile).
yRegion Y start position (in tile).
wRegion Width (in tile).
hRegion Heigh (in tile).
wmSource tilemap width (in tile).
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-

Set the specified tilemap region (tilemap wrapping supported) with specified tile attributes values.
- You can use this method when you are using the 'mapbase' parameter on your resource definition to set the base attributes
- (palette, priority and base tile index) so you don't need to provide them here.
- This method is faster than using VDP_setTileMapDataRectEx(..) which allow to override base tile attributes though the 'basetile' parameter.

-
See also:
VDP_setTileMapDataRectEx().
-
-VDP_setTileMapData().
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setTileMapDataRectEx (VDPPlane plane,
const u16data,
u16 basetile,
u16 x,
u16 y,
u16 w,
u16 h,
u16 wm,
TransferMethod tm 
)
-
-
- -

Set tilemap data for specified region (extended version).

-
Parameters:
- - - - - - - - - - -
planePlane where we want to set tilemap data.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
dataSource tilemap data containing tile attributes (see TILE_ATTR_FULL() macro).
basetileBase index and flag for tile attributes (see TILE_ATTR_FULL() macro).
xRegion X start position (in tile).
yRegion Y start position (in tile).
wRegion Width (in tile).
hRegion Heigh (in tile).
wmSource tilemap width (in tile).
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
    - But i highly discourage of using DMA here as VDP_setTileMapDataRectEx(..) requires to prepare data in a temporary buffer first
    - to use DMA, resulting in a slower process than using CPU. However DMA_QUEUE is very useful as it wil prepare the data
    - and transfer the data as fast as possible during VBlank.
  • -
-
-
-
-

Set the specified tilemap region (tilemap wrapping supported) with specified tile attributes values.
- Unlike VDP_setTileMapDataRect(..) this method let you to override the base tile attributes (priority, palette and base index)
- at the expense of more computation time. If you want faster tilemap processing (using VDP_setTileMapDataRect(..)), you can use
- the 'mapbase' parameter when declaring your IMAGE resource to set base tile attributes but then you have fixed/static tile allocation.

-
See also:
VDP_setTileMapDataRect()
-
-VDP_setTileMapDataEx()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setTileMapDataRow (VDPPlane plane,
const u16data,
u16 row,
u16 x,
u16 w,
TransferMethod tm 
)
-
-
- -

Set a row of tilemap data.

-
Parameters:
- - - - - - - -
planePlane where we want to set tilemap data.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
dataSource tilemap data containing tile attributes (see TILE_ATTR_FULL() macro).
rowPlane row we want to set data
xRow X start position (in tile)
wRow width to update (in tile)
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-

Set a row of tilemap data (tilemap wrapping supported) with given tile attributes values. You can use this method when you are using the 'mapbase' parameter on your resource definition to set the base attributes
- (palette, priority and base tile index) so you don't need to provide them here.
- This method is faster than using VDP_setTileMapDataRowEx(..) which allow to override base tile attributes though the 'basetile' parameter.

-
See also:
VDP_setTileMapDataRowPartEx()
-
-VDP_setTileMapDataRow()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setTileMapDataRowEx (VDPPlane plane,
const u16data,
u16 basetile,
u16 row,
u16 x,
u16 w,
TransferMethod tm 
)
-
-
- -

Set a row of tilemap data - extended version.

-
Parameters:
- - - - - - - - -
planePlane where we want to set tilemap data.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
dataSource tilemap data containing tile attributes (see TILE_ATTR_FULL() macro).
basetileBase index and flag for tile attributes (see TILE_ATTR_FULL() macro).
rowPlane row we want to set data
xRow X start position (in tile)
wRow width to update (in tile)
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
    - But i highly discourage of using DMA here as VDP_setTileMapDataRowEx(..) requires to prepare data in a temporary buffer first
    - to use DMA, resulting in a slower process than using CPU. However DMA_QUEUE is very useful as it wil prepare the data
    - and transfer the data as fast as possible during VBlank.
  • -
-
-
-
-

Set a row of tilemap data (tilemap wrapping supported) with given tile attributes values.
- Unlike VDP_setTileMapDataRow(..) this method let you to override the base tile attributes (priority, palette and base index)
- at the expense of more computation time. If you want faster tilemap processing (using VDP_setTileMapDataRow(..)), you can use
- the 'mapbase' parameter when declaring your IMAGE resource to set base tile attributes but then you have fixed/static tile allocation.

-
See also:
VDP_setTileMapDataRowPart()
-
-VDP_setTileMapDataRow()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool VDP_setTileMapEx (VDPPlane plane,
const TileMaptilemap,
u16 basetile,
u16 xp,
u16 yp,
u16 x,
u16 y,
u16 w,
u16 h,
TransferMethod tm 
)
-
-
- -

Load tilemap region at specified plane position.

-
Parameters:
- - - - - - - - - - - -
planePlane where we want to load tilemap.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
tilemapSource tilemap to load.
- The TileMap is unpacked "on-the-fly" if needed (require some memory).
- Using DMA_QUEUE for packed resource is unsafe as the resource will be released and eventually can be overwritten before DMA operation so use DMA_QUEUE_COPY in that case or unpack the resource first.
basetileBase index and flag for tile attributes (see TILE_ATTR_FULL() macro).
xpPlane X destination position (in tile).
ypPlane Y destination position (in tile).
xRegion X start position (in tile).
yRegion Y start position (in tile).
wRegion Width (in tile).
hRegion Heigh (in tile).
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
    - But i highly discourage of using DMA here as VDP_setTileMapEx(..) requires to prepare data in a temporary buffer first
    - to use DMA, resulting in a slower process than using CPU. However DMA_QUEUE is very useful as it wil prepare the data
    - and transfer the data as fast as possible during VBlank.
  • -
-
-
-
-

Load the specified tilemap region at specified plane position (tilemap wrapping supported).
- Unlike VDP_setTileMap(..) this method let you to override the base tile attributes (priority, palette and base index)
- at the expense of more computation time. If you want faster tilemap processing (using VDP_setTileMap(..)), you can use
- the 'mapbase' parameter when declaring your IMAGE resource to set base tile attributes but then you have fixed/static tile allocation.

-
See also:
VDP_setTileMapDataRect()
-
-VDP_setTileMapDataRectEx()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool VDP_setTileMapRow (VDPPlane plane,
const TileMaptilemap,
u16 row,
u16 x,
u16 w,
TransferMethod tm 
)
-
-
- -

Load tilemap row.

-
Parameters:
- - - - - - - -
planePlane where we want to load tilemap.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
tilemapSource tilemap to set row from.
- The TileMap is unpacked "on-the-fly" if needed (require some memory).
- Using DMA_QUEUE for packed resource is unsafe as the resource will be released and eventually can be overwritten before DMA operation so use DMA_QUEUE_COPY in that case or unpack the resource first.
rowPlane row we want to set data
xSource tilemap X start position (in tile).
wRow width to update (in tile)
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
  • -
-
-
-
-

Load a complete row of data from tilemap at equivalent plane position (wrapped around if needed).
- You can use this method when you are using the 'mapbase' parameter on your resource definition to set the base attributes
- (palette, priority and base tile index) so you don't need to provide them here.
- This method is faster than using VDP_setTileMapRowEx(..) which allow to override base tile attributes though the 'basetile' parameter.

-
See also:
VDP_setTileMapRowEx()
-
-VDP_setMapColumn()
-
-VDP_setTileMapDataRow()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool VDP_setTileMapRowEx (VDPPlane plane,
const TileMaptilemap,
u16 basetile,
u16 row,
u16 x,
u16 y,
u16 w,
TransferMethod tm 
)
-
-
- -

Load tilemap row (extended version).

-
Parameters:
- - - - - - - - - -
planePlane where we want to load tilemap.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
tilemapSource tilemap to set row from.
- The TileMap is unpacked "on-the-fly" if needed (require some memory).
- Using DMA_QUEUE for packed resource is unsafe as the resource will be released and eventually can be overwritten before DMA operation so use DMA_QUEUE_COPY in that case or unpack the resource first.
basetileBase index and flag for tile attributes (see TILE_ATTR_FULL() macro).
rowPlane row we want to set data
xSource tilemap X start position (in tile)
ySource tilemap Y / row position (in tile), can be different that plane row if desired.
wRow width to update (in tile)
tmTransfer method.
- Accepted values are:
-
    -
  • CPU
    -
  • -
  • DMA
    -
  • -
  • DMA_QUEUE
    -
  • -
  • DMA_QUEUE_COPY
    - But i highly discourage of using DMA here as VDP_setTileMapRowEx(..) requires to prepare data in a temporary buffer first
    - to use DMA, resulting in a slower process than using CPU. However DMA_QUEUE is very useful as it wil prepare the data
    - and transfer the data as fast as possible during VBlank.
  • -
-
-
-
-

Load a complete row of data from tilemap at equivalent plane position (wrapped around if needed).
- Unlike VDP_setTileMapRow(..) this method let you to override the base tile attributes (priority, palette and base index)
- at the expense of more computation time. If you want faster tilemap processing (using VDP_setTileMapRow(..)), you can use
- the 'mapbase' parameter when declaring your IMAGE resource to set base tile attributes but then you have fixed/static tile allocation.

-
See also:
VDP_setTileMapRow()
-
-VDP_setMapColumnEx()
-
-VDP_setTileMapDataRowEx()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VDP_setTileMapXY (VDPPlane plane,
u16 tile,
u16 x,
u16 y 
)
-
-
- -

Set tilemap data (single position).

-
Parameters:
- - - - - -
planePlane where we want to set tilemap data.
- Accepted values are:
-
    -
  • BG_A
    -
  • -
  • BG_B
    -
  • -
  • WINDOW
    -
  • -
-
tiletile attributes (see TILE_ATTR_FULL() and TILE_ATTR() macros).
xX position (in tile).
yy position (in tile).
-
-
-

Set the specified tilemap position (tilemap wrapping supported) with given tile attributes.

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/vdp__tile_8h_source.html b/doc/html/vdp__tile_8h_source.html deleted file mode 100644 index 20873c802..000000000 --- a/doc/html/vdp__tile_8h_source.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - -sgdk: vdp_tile.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
vdp_tile.h
-
-
-Go to the documentation of this file.
00001 
-00013 #ifndef _VDP_TILE_H_
-00014 #define _VDP_TILE_H_
-00015 
-00016 
-00017 #include "vdp.h"
-00018 #include "dma.h"
-00019 
-00020 
-00025 #define TILE_ATTR_PRIORITY_SFT      15
-00026 
-00030 #define TILE_ATTR_PALETTE_SFT       13
-00031 
-00035 #define TILE_ATTR_VFLIP_SFT         12
-00036 
-00040 #define TILE_ATTR_HFLIP_SFT         11
-00041 
-00045 #define TILE_ATTR_PRIORITY_MASK     (1 << TILE_ATTR_PRIORITY_SFT)
-00046 
-00050 #define TILE_ATTR_PALETTE_MASK      (3 << TILE_ATTR_PALETTE_SFT)
-00051 
-00055 #define TILE_ATTR_VFLIP_MASK        (1 << TILE_ATTR_VFLIP_SFT)
-00056 
-00060 #define TILE_ATTR_HFLIP_MASK        (1 << TILE_ATTR_HFLIP_SFT)
-00061 
-00065 #define TILE_ATTR_MASK              (TILE_ATTR_PRIORITY_MASK | TILE_ATTR_PALETTE_MASK | TILE_ATTR_VFLIP_MASK | TILE_ATTR_HFLIP_MASK)
-00066 
-00080 #define TILE_ATTR(pal, prio, flipV, flipH)               (((flipH) << TILE_ATTR_HFLIP_SFT) + ((flipV) << TILE_ATTR_VFLIP_SFT) + ((pal) << TILE_ATTR_PALETTE_SFT) + ((prio) << TILE_ATTR_PRIORITY_SFT))
-00081 
-00096 #define TILE_ATTR_FULL(pal, prio, flipV, flipH, index)   (((flipH) << TILE_ATTR_HFLIP_SFT) + ((flipV) << TILE_ATTR_VFLIP_SFT) + ((pal) << TILE_ATTR_PALETTE_SFT) + ((prio) << TILE_ATTR_PRIORITY_SFT) + (index))
-00097 
-00113 typedef struct
-00114 {
-00115     u16 compression;
-00116     u16 numTile;
-00117     u32 *tiles;
-00118 } TileSet;
-00119 
-00136 typedef struct
-00137 {
-00138     u16 compression;
-00139     u16 w;
-00140     u16 h;
-00141     u16 *tilemap;
-00142 } TileMap;
-00143 
-00159 u16 VDP_getPlaneAddress(VDPPlane plane, u16 x, u16 y);
-00160 
-00183 void VDP_loadTileData(const u32 *data, u16 index, u16 num, TransferMethod tm);
-00209 u16 VDP_loadTileSet(const TileSet *tileset, u16 index, TransferMethod tm);
-00232 void VDP_loadFontData(const u32 *font, u16 length, TransferMethod tm);
-00257 u16 VDP_loadFont(const TileSet *font, TransferMethod tm);
-00258 
-00279 void VDP_loadBMPTileData(const u32 *data, u16 index, u16 w, u16 h, u16 bmp_w);
-00304 void VDP_loadBMPTileDataEx(const u32 *data, u16 index, u16 x, u16 y, u16 w, u16 h, u16 bmp_w);
-00305 
-00322 void VDP_fillTileData(u8 value, u16 index, u16 num, bool wait);
-00323 
-00345 void VDP_clearTileMap(u16 planeAddr, u16 ind, u16 num, bool wait);
-00365 void VDP_fillTileMap(u16 planeAddr, u16 tile, u16 ind, u16 num);
-00400 void VDP_setTileMapData(u16 planeAddr, const u16 *data, u16 ind, u16 num, u16 vramStep, TransferMethod tm);
-00430 void VDP_setTileMapDataEx(u16 planeAddr, const u16 *data, u16 basetile, u16 ind, u16 num, u16 vramStep);
-00431 
-00451 void VDP_setTileMapXY(VDPPlane plane, u16 tile, u16 x, u16 y);
-00473 void VDP_clearTileMapRect(VDPPlane plane, u16 x, u16 y, u16 w, u16 h);
-00500 void VDP_fillTileMapRect(VDPPlane plane, u16 tile, u16 x, u16 y, u16 w, u16 h);
-00531 void VDP_fillTileMapRectInc(VDPPlane plane, u16 basetile, u16 x, u16 y, u16 w, u16 h);
-00532 
-00571 void VDP_setTileMapDataRect(VDPPlane plane, const u16 *data, u16 x, u16 y, u16 w, u16 h, u16 wm, TransferMethod tm);
-00615 void VDP_setTileMapDataRectEx(VDPPlane plane, const u16 *data, u16 basetile, u16 x, u16 y, u16 w, u16 h, u16 wm, TransferMethod tm);
-00616 
-00651 void VDP_setTileMapDataRow(VDPPlane plane, const u16 *data, u16 row, u16 x, u16 w, TransferMethod tm);
-00691 void VDP_setTileMapDataRowEx(VDPPlane plane, const u16 *data, u16 basetile, u16 row, u16 x, u16 w, TransferMethod tm);
-00728 void VDP_setTileMapDataColumnFast(VDPPlane plane, u16* data, u16 column, u16 y, u16 h, TransferMethod tm);
-00766 void VDP_setTileMapDataColumn(VDPPlane plane, const u16 *data, u16 column, u16 y, u16 h, u16 wm, TransferMethod tm);
-00810 void VDP_setTileMapDataColumnEx(VDPPlane plane, const u16 *data, u16 basetile, u16 column, u16 y, u16 h, u16 wm, TransferMethod tm);
-00811 
-00851 bool VDP_setTileMap(VDPPlane plane, const TileMap *tilemap, u16 x, u16 y, u16 w, u16 h, TransferMethod tm);
-00900 bool VDP_setTileMapEx(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 xp, u16 yp, u16 x, u16 y, u16 w, u16 h, TransferMethod tm);
-00939 bool VDP_setTileMapRow(VDPPlane plane, const TileMap *tilemap, u16 row, u16 x, u16 w, TransferMethod tm);
-00985 bool VDP_setTileMapRowEx(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 row, u16 x, u16 y, u16 w, TransferMethod tm);
-01025 bool VDP_setTileMapColumn(VDPPlane plane, const TileMap *tilemap, u16 column, u16 y, u16 h, TransferMethod tm);
-01072 bool VDP_setTileMapColumnEx(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 column, u16 x, u16 y, u16 h, TransferMethod tm);
-01073 
-01078 bool VDP_setMap(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 x, u16 y);
-01083 bool VDP_setMapEx(VDPPlane plane, const TileMap *tilemap, u16 basetile, u16 x, u16 y, u16 xm, u16 ym, u16 wm, u16 hm);
-01084 
-01085 
-01086 #endif // _VDP_TILE_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/vram_8h.html b/doc/html/vram_8h.html deleted file mode 100644 index ba555f5b8..000000000 --- a/doc/html/vram_8h.html +++ /dev/null @@ -1,493 +0,0 @@ - - - - -sgdk: vram.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
vram.h File Reference
-
-
- -

SGDK VRAM (Video Memory) management unit. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  VRAMRegion
 VRAM region structure. More...

-Functions

void VRAM_createRegion (VRAMRegion *region, u16 startIndex, u16 size)
 Initialize a new VRAM region structure.
void VRAM_releaseRegion (VRAMRegion *region)
 Release the VRAM region structure.
void VRAM_clearRegion (VRAMRegion *region)
 Release all allocations from specified VRAM region.
u16 VRAM_getFree (VRAMRegion *region)
 Return the number of free tile remaining in the specified VRAM region.
u16 VRAM_getAllocated (VRAMRegion *region)
 Return the number of allocated tile in the specified VRAM region.
u16 VRAM_getLargestFreeBlock (VRAMRegion *region)
 Return the largest free block size (in tile) in the specified VRAM region.
s16 VRAM_alloc (VRAMRegion *region, u16 size)
 Try to allocate the specified number of tile in the given VRAM region and return its index.
void VRAM_free (VRAMRegion *region, u16 index)
 Release the previously allocated VRAM block at specified index in the given VRAM region.
-
-

Detailed Description

-

SGDK VRAM (Video Memory) management unit.

-
Author:
Stephane Dallongeville
-
Date:
11/2015
-

Video Memory management unit.
- It offerts methods to manage dynamic VRAM allocation for tile data.
- Tile data should always be located before tilemap in VRAM (0000-XXXX = tile data, XXXX-FFFF = tilemaps).
-
-

-
- VRAMRegion structure define a VRAM region where we want to use dynamic allocation.
- 'vram' field is a buffer representing the VRAM region usage. For each entry:
-  b14-b0 = size of the bloc (in tile)
-  b15    = 1:used, 0:free
  address           value
                  +-------------------+
-  free = 0        | cacheSize  (free) |
-                  |                   |
-                  |                   |
-  cacheSize - 1   |                   |
-                  +-------------------+
-  cacheSize       | 0                 |
-                  +-------------------+
  1. Before allocation (with cacheSize = 1000)
                  +-------------------+
-  free = 0        | 1000       (free) |
-                  |                   |
-                  |                   |
-  999             |                   |
-                  +-------------------+
-  1000            | 0                 |
-                  +-------------------+
  cache = ???
-  free = cache            *free = cacheSize
-  end = cache+cacheSize   *end = 0
  2. After allocation of 32 tiles
                  +------------------------+
-  0               | 32              (used) |
-  free = 32       | 968             (free) |
-                  |                        |
-                  |                        |
-  999             |                        |
-                  +------------------------+
-  1000            | 0                      |
-                  +------------------------+
  cache = ???
-  free = cache + 32       *free = cacheSize - 32
  3. After allocation of 128 tiles
                  +------------------------+
-  0               | 32              (used) |
-  32              | 128             (used) |
-  free = 32+128   | 840             (free) |
-                  |                        |
-                  |                        |
-  999             |                        |
-                  +------------------------+
-  1000            | 0                      |
-                  +------------------------+
  4. After allocation of 64, 500, 100 tiles
                  +------------------------+
-  0               | 32              (used) |
-  32              | 128             (used) |
-  160             | 64              (used) |
-  224             | 500             (used) |
-  724             | 100             (used) |
-  free = 824      | 176             (free) |
-                  |                        |
-                  |                        |
-  999             |                        |
-                  +------------------------+
-  1000            | 0                      |
-                  +------------------------+
  5. After release of allocation #3 (64 tiles)
                  +------------------------+
-  0               | 32              (used) |
-  32              | 128             (used) |
-  160             | 64              (free) |
-  224             | 500             (used) |
-  724             | 100             (used) |
-  free = 824      | 176             (free) |
-                  |                        |
-                  |                        |
-  999             |                        |
-                  +------------------------+
-  1000            | 0                      |
-                  +------------------------+
  6. After release of allocation #4 (500 tiles)
                  +------------------------+
-  0               | 32              (used) |
-  32              | 128             (used) |
-  160             | 64              (free) |
-  224             | 500             (free) |
-  724             | 100             (used) |
-  free = 824      | 176             (free) |
-                  |                        |
-                  |                        |
-  999             |                        |
-                  +------------------------+
-  1000            | 0                      |
-                  +------------------------+
  7. After allocation of 400 tiles
                  +------------------------+
-  0               | 32              (used) |
-  32              | 128             (used) |
-  160             | 400             (used) |
-  560             | 164             (free) |
-  724             | 100             (used) |
-  free = 824      | 176             (free) |
-                  |                        |
-                  |                        |
-  999             |                        |
-                  +------------------------+
-  1000            | 0                      |
-                  +------------------------+
- *

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
s16 VRAM_alloc (VRAMRegionregion,
u16 size 
)
-
-
- -

Try to allocate the specified number of tile in the given VRAM region and return its index.

-
Parameters:
- - - -
regionVRAM region
sizeNumber of tile we want to allocate in VRAM (need to be > 0).
-
-
-
Returns:
the index in VRAM where we allocated the bloc of tile.
- -1 if there is no enough available VRAM in the region.
-
See also:
VRAM_free(..)
- -
-
- -
-
- - - - - - - - -
void VRAM_clearRegion (VRAMRegionregion)
-
-
- -

Release all allocations from specified VRAM region.

-
Parameters:
- - -
regionVRAM region we want to clear.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VRAM_createRegion (VRAMRegionregion,
u16 startIndex,
u16 size 
)
-
-
- -

Initialize a new VRAM region structure.

-
Parameters:
- - - - -
regionRegion to initialize.
startIndexTile start index in VRAM.
sizeSize in tile of the region.
-
-
-

Set parameters and allocate memory for the VRAM region structure.

-
See also:
VRAM_releaseRegion(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VRAM_free (VRAMRegionregion,
u16 index 
)
-
-
- -

Release the previously allocated VRAM block at specified index in the given VRAM region.
-

-
Parameters:
- - - -
regionVRAM region
indexThe index of the VRAM block we want to release
-
-
-
See also:
VRAM_alloc(..)
- -
-
- -
-
- - - - - - - - -
u16 VRAM_getAllocated (VRAMRegionregion)
-
-
- -

Return the number of allocated tile in the specified VRAM region.

-
Parameters:
- - -
regionVRAM region
-
-
-
Returns:
the number of allocated tile in the specified VRAM region.
- -
-
- -
-
- - - - - - - - -
u16 VRAM_getFree (VRAMRegionregion)
-
-
- -

Return the number of free tile remaining in the specified VRAM region.

-
Parameters:
- - -
regionVRAM region
-
-
-
Returns:
the number of free tile in the specified VRAM region
- -
-
- -
-
- - - - - - - - -
u16 VRAM_getLargestFreeBlock (VRAMRegionregion)
-
-
- -

Return the largest free block size (in tile) in the specified VRAM region.

-
Parameters:
- - -
regionVRAM region
-
-
-
Returns:
the largest free block size (in tile) in the specified VRAM region.
- -
-
- -
-
- - - - - - - - -
void VRAM_releaseRegion (VRAMRegionregion)
-
-
- -

Release the VRAM region structure.

-
Parameters:
- - -
regionVRAMRegion we want to release.
-
-
-

Release memory used by the VRAM region structure.

-
See also:
VRAM_createRegion(..)
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/vram_8h_source.html b/doc/html/vram_8h_source.html deleted file mode 100644 index df48dcb6c..000000000 --- a/doc/html/vram_8h_source.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - -sgdk: vram.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
vram.h
-
-
-Go to the documentation of this file.
00001 
-00144 #ifndef _VRAM_H_
-00145 #define _VRAM_H_
-00146 
-00147 
-00163 typedef struct
-00164 {
-00165     u16 startIndex;
-00166     u16 endIndex;
-00167     u16 *free;
-00168     u16 *vram;
-00169 } VRAMRegion;
-00170 
-00171 
-00188 void VRAM_createRegion(VRAMRegion *region, u16 startIndex, u16 size);
-00200 void VRAM_releaseRegion(VRAMRegion *region);
-00208 void VRAM_clearRegion(VRAMRegion *region);
-00209 
-00219 u16 VRAM_getFree(VRAMRegion *region);
-00229 u16 VRAM_getAllocated(VRAMRegion *region);
-00239 u16 VRAM_getLargestFreeBlock(VRAMRegion *region);
-00240 
-00255 s16 VRAM_alloc(VRAMRegion *region, u16 size);
-00267 void VRAM_free(VRAMRegion *region, u16 index);
-00268 
-00269 
-00270 #endif // _VRAM_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/xgm2_8h.html b/doc/html/xgm2_8h.html deleted file mode 100644 index 7d5e94c24..000000000 --- a/doc/html/xgm2_8h.html +++ /dev/null @@ -1,1057 +0,0 @@ - - - - -sgdk: xgm2.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
xgm2.h File Reference
-
-
- -

XGM2 sound driver. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

void XGM2_loadDriver (bool waitReady)
 Load the XGM2 sound driver.
void XGM2_unloadDriver (void)
 Unload the XGM2 sound driver.
-bool XGM2_isPlaying (void)
 Returns play music state.
void XGM2_load (const u8 *song)
 Load the specified XGM2 music blob (prepare for play, useful for multi tracks XGM2 music)
void XGM2_load_FAR (const u8 *song, const u32 len)
 Same as XGM2_load(..) except it supports access through bank switch.
void XGM2_playTrack (const u16 track)
 Start playing the specified track (need to call XGM2_load(..) first)
void XGM2_play (const u8 *song)
 Start playing the specified XGM2 music blob (fast play for single track XGM2 music)
void XGM2_play_FAR (const u8 *song, const u32 len)
 Same as XGM2_play(..) except it supports music accessible through bank switch.
void XGM2_stop (void)
 Stop playing music (cannot be resumed).
-
void XGM2_pause (void)
 Pause playing music, music can be resumed by calling XGM2_resume().
- Note that due to the nature of the music chip (FM synthesis), resume play operation will never be perfect and some notes will miss until next key-on event occurs.
void XGM2_resume (void)
 Resume playing music after pausing with XGM2_stop().
- Note that due to the nature of the music chip (FM synthesis), resume play operation will never be perfect and some notes will miss until next key-on event occurs.
u8 XGM2_isPlayingPCM (const u16 channel_mask)
 Return play status of specified PCM channel.
void XGM2_playPCM (const u8 *sample, const u32 len, const SoundPCMChannel channel)
 Play a PCM sample on specified channel (XGM2 music player driver).
- The method automatically select the channel to use.
void XGM2_playPCMEx (const u8 *sample, const u32 len, const SoundPCMChannel channel, const u8 priority, const bool halfRate, const bool loop)
 Play a PCM sample on specified channel (XGM2 music player driver).
- If a sample was currently playing on this channel then priority of the newer sample should be are compared then it's stopped and the new sample is played instead.
- Note that music may use the first PCM channel so it's better to use channel 2 to 4 for SFX.
void XGM2_stopPCM (const SoundPCMChannel channel)
 Stop play PCM on specified channel (XGM2 music player driver).
- No effect if no sample was currently playing on this channel.
bool XGM2_isProcessingFade (void)
void XGM2_fadeIn (const u16 numFrame)
 Process music volume "fade-in" effect, must be called right after a "start play" or "resume" command.
- Gradually increase FM and PSG volume starting from 0 up to the current volume levels.
void XGM2_fadeOut (const u16 numFrame)
 Process music volume "fade-out" effect.
- Gradually decrease FM and PSG volume starting from current levels down to 0.
void XGM2_fadeOutAndStop (const u16 numFrame)
 Process music volume "fade-out" effect and stop.
- Gradually decrease FM and PSG volume starting from current levels down to 0, then issue a 'stop play' command.
void XGM2_fadeOutAndPause (const u16 numFrame)
 Process music volume "fade-out" effect and pause.
- Gradually decrease FM and PSG volume starting from current levels down to 0, then issue a 'stop play' command.
void XGM2_fadeTo (const u16 fmVolume, const u16 psgVolume, const u16 numFrame)
 Process a specific music volume "fade" effect.
- Gradually change FM and PSG volume starting from current levels to the specified ones.
-void XGM2_setLoopNumber (const s8 value)
 Set the loop number for music with loop command.
- Default value is -1 for pseudo unfinite (255) loops plays. A value of 0 means single play without any loop, 1 = single play + 1 loop...
u32 XGM2_getElapsed (void)
 Return the elapsed play time since the last XGM2_play(..) call.
- The returned value is in music frame which can be 50/60 per second depending the base music play rate (NTSC/PAL).
u16 XGM2_getMusicTempo (void)
 Get the current music tempo (in tick per second).
- Default value is 60 or 50 depending the system is NTSC or PAL.
- This method is meaningful only if you use the automatic music sync mode (see XGM2_setManualSync() method) which is the default mode.
- Note that using specific tempo (not 60 or 50) will affect performance of DMA contention and external command parsing so it's recommended to stand with default one.
void XGM2_setMusicTempo (const u16 value)
 Set the music tempo (in tick per second).
- Default value is 60 or 50 depending the system is NTSC or PAL. This method is meaningful only if you use the automatic music sync mode (see XGM2_setManualSync() method) which is the default mode.
- Note that using specific tempo (not 60 or 50) can completely distord FM instruments sound and affect performance of DMA contention and external command parsing so it's recommended to stand with default one.
void XGM2_setFMVolume (const u16 value)
 Set the volume level for the FM music part.
void XGM2_setPSGVolume (const u16 value)
 Set the volume level for the PSG music part.
-bool XGM2_isPAL (const u8 *xgm2)
 Returns TRUE if specified xgm2 use PAL timing.
u16 XGM2_getCPULoad (const bool mean)
 Returns an estimation of the Z80 CPU load (XGM2 driver).
u16 XGM2_getDMAWaitTime (const bool mean)
 Returns an estimation of the Z80 CPU time spent in waiting for DMA completion (see Z80_setBusProtection(bool) method).
-u16 XGM2_getDebugFrameCounter (void)
 Returns the internal frame counter (v-int process number).
- Debug function to verify the driver is working optimally.
-u16 XGM2_getDebugPCMRate (void)
 Returns the real PCM playback rate (XGM2 driver).
- Debug function to verify the driver is working optimally.
-u8 XGM2_getDebugMissedFrames (void)
 Returns the number of missed frames since last startPlay command.
- Debug function to verify the driver is working optimally.
-u8 XGM2_getDebugProcessDuration (const u16 ind)
 Returns the ending process time in number of sample for the specified v-int process (v-int process number).
- Debug function to verify the driver is working optimally.
-

Detailed Description

-

XGM2 sound driver.

-
Author:
Stephane Dallongeville
-
Date:
04/2023
-

This unit provides methods to use the XGM2 (eXtended Genesis Music) sound driver.
- It takes VGM (or XGM2) file as input to play music.
- It supports 3 PCM channels at either 13.3 Khz or 6.65 Khz and envelop control for both FM and PSG.
- It allows to play SFX through PCM with 16 level of priority.
- The driver supports renforced protection against DMA contention.

-

Function Documentation

- -
-
- - - - - - - - -
void XGM2_fadeIn (const u16 numFrame)
-
-
- -

Process music volume "fade-in" effect, must be called right after a "start play" or "resume" command.
- Gradually increase FM and PSG volume starting from 0 up to the current volume levels.

-
Parameters:
- - -
numFrameDuration of music fade-in effect in number of frame.
-
-
- -
-
- -
-
- - - - - - - - -
void XGM2_fadeOut (const u16 numFrame)
-
-
- -

Process music volume "fade-out" effect.
- Gradually decrease FM and PSG volume starting from current levels down to 0.

-
Parameters:
- - -
numFrameDuration of music fade-out effect in number of frame.
-
-
- -
-
- -
-
- - - - - - - - -
void XGM2_fadeOutAndPause (const u16 numFrame)
-
-
- -

Process music volume "fade-out" effect and pause.
- Gradually decrease FM and PSG volume starting from current levels down to 0, then issue a 'stop play' command.

-
Parameters:
- - -
numFrameDuration of music fade-out effect in number of frame.
-
-
- -
-
- -
-
- - - - - - - - -
void XGM2_fadeOutAndStop (const u16 numFrame)
-
-
- -

Process music volume "fade-out" effect and stop.
- Gradually decrease FM and PSG volume starting from current levels down to 0, then issue a 'stop play' command.

-
Parameters:
- - -
numFrameDuration of music fade-out effect in number of frame.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void XGM2_fadeTo (const u16 fmVolume,
const u16 psgVolume,
const u16 numFrame 
)
-
-
- -

Process a specific music volume "fade" effect.
- Gradually change FM and PSG volume starting from current levels to the specified ones.

-
Parameters:
- - - - -
fmVolumeFM volume to reach at the end of fade effect.
psgVolumePSG volume to reach at the end of fade effect.
numFrameDuration of music fade effect in number of frame.
-
-
- -
-
- -
-
- - - - - - - - -
u16 XGM2_getCPULoad (const bool mean)
-
-
- -

Returns an estimation of the Z80 CPU load (XGM2 driver).

-
Parameters:
- - -
meanif set to TRUE then return a mean load computed on the last 8 frames otherwise return instant last frame load
-
-
- -
-
- -
-
- - - - - - - - -
u16 XGM2_getDMAWaitTime (const bool mean)
-
-
- -

Returns an estimation of the Z80 CPU time spent in waiting for DMA completion (see Z80_setBusProtection(bool) method).

-
Parameters:
- - -
meanif set to TRUE then return a mean wait computed on the last 8 frames otherwise return instant last frame DMA wait
-
-
- -
-
- -
-
- - - - - - - - -
u32 XGM2_getElapsed (void )
-
-
- -

Return the elapsed play time since the last XGM2_play(..) call.
- The returned value is in music frame which can be 50/60 per second depending the base music play rate (NTSC/PAL).

-
See also:
XGM2_play(..)
-
-XGM2_playTrack(..)
-
-XGM2_setMusicTempo(..)
- -
-
- -
-
- - - - - - - - -
u16 XGM2_getMusicTempo (void )
-
-
- -

Get the current music tempo (in tick per second).
- Default value is 60 or 50 depending the system is NTSC or PAL.
- This method is meaningful only if you use the automatic music sync mode (see XGM2_setManualSync() method) which is the default mode.
- Note that using specific tempo (not 60 or 50) will affect performance of DMA contention and external command parsing so it's recommended to stand with default one.

-
See also:
XGM2_setMusicTempo
- -
-
- -
-
- - - - - - - - -
u8 XGM2_isPlayingPCM (const u16 channel_mask)
-
-
- -

Return play status of specified PCM channel.

-
Parameters:
- - -
channel_maskChannel(s) we want to retrieve play state.
- SOUND_PCM_CH1_MSK = channel 1
- SOUND_PCM_CH2_MSK = channel 2
- SOUND_PCM_CH3_MSK = channel 3
-
- You can combine mask to retrieve state of severals channels at once:
- isPlayingPCM(SOUND_PCM_CH1_MSK | SOUND_PCM_CH2_MSK)
- will actually return play state for channel 1 and channel 2.
-
-
-
Returns:
Return the channel mask of current playing channel(s).
- For instance it returns (SOUND_PCM_CH1_MSK | SOUND_PCM_CH3_MSK) if channels 1 and 3 are currently playing.
-
See also:
XGM2_playPCM
-
-XGM2_stopPCM
- -
-
- -
-
- - - - - - - - -
bool XGM2_isProcessingFade (void )
-
-
-
Returns:
TRUE if currently processing a volume fade effect, FALSE otherwise.
- -
-
- -
-
- - - - - - - - -
void XGM2_load (const u8song)
-
-
- -

Load the specified XGM2 music blob (prepare for play, useful for multi tracks XGM2 music)

-
Parameters:
- - -
songXGM2 music blob address
-
-
-
See also:
XGM2_playTrack
-
-XGM2_stop
-
-XGM2_load_FAR
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void XGM2_load_FAR (const u8song,
const u32 len 
)
-
-
- -

Same as XGM2_load(..) except it supports access through bank switch.

-
Parameters:
- - - -
songXGM2 music blob address
lenXGM2 music blob size (in byte)
-
-
-
See also:
XGM2_playTrack
-
-XGM2_stop
-
-XGM2_load
- -
-
- -
-
- - - - - - - - -
void XGM2_loadDriver (bool waitReady)
-
-
- -

Load the XGM2 sound driver.

-

Don't use this method directly, use Z80_loadDriver(..) instead.

- -
-
- -
-
- - - - - - - - -
void XGM2_pause (void )
-
-
- -

Pause playing music, music can be resumed by calling XGM2_resume().
- Note that due to the nature of the music chip (FM synthesis), resume play operation will never be perfect and some notes will miss until next key-on event occurs.

-
See also:
XGM2_resume
-
-XGM2_stop
- -
-
- -
-
- - - - - - - - -
void XGM2_play (const u8song)
-
-
- -

Start playing the specified XGM2 music blob (fast play for single track XGM2 music)

-
Parameters:
- - -
songXGM2 track address.
-
-
-
See also:
XGM2_stop
-
-XGM2_play_FAR
-
-XGM2_load
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void XGM2_play_FAR (const u8song,
const u32 len 
)
-
-
- -

Same as XGM2_play(..) except it supports music accessible through bank switch.

-
Parameters:
- - - -
songXGM2 track address.
lenXGM2 track size (in byte)
-
-
-
See also:
XGM2_stop
-
-XGM2_play
-
-XGM2_load_FAR
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void XGM2_playPCM (const u8sample,
const u32 len,
const SoundPCMChannel channel 
)
-
-
- -

Play a PCM sample on specified channel (XGM2 music player driver).
- The method automatically select the channel to use.

-
Parameters:
- - - - -
sampleSample address, should be 256 bytes boundary aligned
- (SGDK automatically align WAV resource as needed)
lenSize of sample in bytes, should be a multiple of 256
- (SGDK automatically adjust WAV resource size as needed)
channelChannel to use to play sample.
- SOUND_PCM_CH_AUTO = auto selection from current channel usage
- SOUND_PCM_CH1 = channel 1 (usually used by music)
- SOUND_PCM_CH2 = channel 2
- SOUND_PCM_CH3 = channel 3
-
-
-
-
See also:
XGM2_playPCMEx
-
-XGM2_stopPCM
-
-XGM2_isPlayingPCM
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void XGM2_playPCMEx (const u8sample,
const u32 len,
const SoundPCMChannel channel,
const u8 priority,
const bool halfRate,
const bool loop 
)
-
-
- -

Play a PCM sample on specified channel (XGM2 music player driver).
- If a sample was currently playing on this channel then priority of the newer sample should be are compared then it's stopped and the new sample is played instead.
- Note that music may use the first PCM channel so it's better to use channel 2 to 4 for SFX.

-
Parameters:
- - - - - - - -
sampleSample address, should be 256 bytes boundary aligned
- (SGDK automatically align WAV resource as needed)
lenSize of sample in bytes, should be a multiple of 256
- (SGDK automatically adjust WAV resource size as needed)
channelChannel to use to play sample.
- SOUND_PCM_CH_AUTO = auto selection from current channel usage
- SOUND_PCM_CH1 = channel 1 (usually used by music)
- SOUND_PCM_CH2 = channel 2
- SOUND_PCM_CH3 = channel 3
-
priorityValue should go from 0 to 15 where 0 is lowest priority and 15 the highest one.
- If the channel was already playing the priority is used to determine if the new SFX should replace the current one (new priority >= old priority).
halfRateSet to TRUE to play the sample at half rate (6.65 Khz) instead of default 13.3 Khz
loopSet to TRUE to enable looping sample play
-
-
-
See also:
XGM2_playPCM
-
-XGM2_stopPCM
-
-XGM2_isPlayingPCM
- -
-
- -
-
- - - - - - - - -
void XGM2_playTrack (const u16 track)
-
-
- -

Start playing the specified track (need to call XGM2_load(..) first)

-
Parameters:
- - -
tracktrack index (for multi track XGM2 music blob)
-
-
-
See also:
XGM2_load
-
-XGM2_load_FAR
-
-XGM2_stop
- -
-
- -
-
- - - - - - - - -
void XGM2_resume (void )
-
-
- -

Resume playing music after pausing with XGM2_stop().
- Note that due to the nature of the music chip (FM synthesis), resume play operation will never be perfect and some notes will miss until next key-on event occurs.

-
See also:
XGM2_pause
-
-XGM2_stop
- -
-
- -
-
- - - - - - - - -
void XGM2_setFMVolume (const u16 value)
-
-
- -

Set the volume level for the FM music part.

-
Parameters:
- - -
valuevolume level (0 to 100)
-
-
-
See also:
XGM2_setPSGVolume
- -
-
- -
-
- - - - - - - - -
void XGM2_setMusicTempo (const u16 value)
-
-
- -

Set the music tempo (in tick per second).
- Default value is 60 or 50 depending the system is NTSC or PAL. This method is meaningful only if you use the automatic music sync mode (see XGM2_setManualSync() method) which is the default mode.
- Note that using specific tempo (not 60 or 50) can completely distord FM instruments sound and affect performance of DMA contention and external command parsing so it's recommended to stand with default one.

-
See also:
XGM2_getMusicTempo
- -
-
- -
-
- - - - - - - - -
void XGM2_setPSGVolume (const u16 value)
-
-
- -

Set the volume level for the PSG music part.

-
Parameters:
- - -
valuevolume level (0 to 100)
-
-
-
See also:
XGM2_setFMVolume
- -
-
- -
-
- - - - - - - - -
void XGM2_stop (void )
-
-
- -

Stop playing music (cannot be resumed).
-

-
See also:
XGM2_pause
-
-XGM2_resume
-
-XGM2_play
-
-XGM2_playTrack
- -
-
- -
-
- - - - - - - - -
void XGM2_stopPCM (const SoundPCMChannel channel)
-
-
- -

Stop play PCM on specified channel (XGM2 music player driver).
- No effect if no sample was currently playing on this channel.

-
Parameters:
- - -
channelChannel we want to stop.
- SOUND_PCM_CH1 = channel 1
- SOUND_PCM_CH2 = channel 2
- SOUND_PCM_CH3 = channel 3
-
-
-
-
See also:
XGM2_playPCM
-
-XGM2_isPlayingPCM
- -
-
- -
-
- - - - - - - - -
void XGM2_unloadDriver (void )
-
-
- -

Unload the XGM2 sound driver.

-

Don't use this method directly, use Z80_unloadDriver(..) instead.

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/xgm2_8h_source.html b/doc/html/xgm2_8h_source.html deleted file mode 100644 index 5330b071d..000000000 --- a/doc/html/xgm2_8h_source.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - -sgdk: xgm2.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
xgm2.h
-
-
-Go to the documentation of this file.
00001 
-00014 #ifndef _XGM2_H_
-00015 #define _XGM2_H_
-00016 
-00017 
-00024 void XGM2_loadDriver(bool waitReady);
-00031 void XGM2_unloadDriver(void);
-00032 
-00037 bool XGM2_isPlaying(void);
-00038 
-00050 void XGM2_load(const u8 *song);
-00064 void XGM2_load_FAR(const u8 *song, const u32 len);
-00076 void XGM2_playTrack(const u16 track);
-00088 void XGM2_play(const u8* song);
-00102 void XGM2_play_FAR(const u8* song, const u32 len);
-00103 
-00113 void XGM2_stop(void);
-00123 void XGM2_pause(void);
-00133 void XGM2_resume(void);
-00134 
-00156 u8 XGM2_isPlayingPCM(const u16 channel_mask);
-00179 void XGM2_playPCM(const u8 *sample, const u32 len, const SoundPCMChannel channel);
-00210 void XGM2_playPCMEx(const u8 *sample, const u32 len, const SoundPCMChannel channel, const u8 priority, const bool halfRate, const bool loop);
-00225 void XGM2_stopPCM(const SoundPCMChannel channel);
-00226 
-00231 bool XGM2_isProcessingFade(void);
-00240 void XGM2_fadeIn(const u16 numFrame);
-00249 void XGM2_fadeOut(const u16 numFrame);
-00258 void XGM2_fadeOutAndStop(const u16 numFrame);
-00267 void XGM2_fadeOutAndPause(const u16 numFrame);
-00280 void XGM2_fadeTo(const u16 fmVolume, const u16 psgVolume, const u16 numFrame);
-00281 
-00288 void XGM2_setLoopNumber(const s8 value);
-00289 
-00299 u32 XGM2_getElapsed(void);
-00300 
-00312 u16 XGM2_getMusicTempo(void);
-00324 void XGM2_setMusicTempo(const u16 value);
-00325 
-00335 void XGM2_setFMVolume(const u16 value);
-00345 void XGM2_setPSGVolume(const u16 value);
-00346 
-00351 bool XGM2_isPAL(const u8 *xgm2);
-00352 
-00360 u16 XGM2_getCPULoad(const bool mean);
-00368 u16 XGM2_getDMAWaitTime(const bool mean);
-00369 
-00375 u16 XGM2_getDebugFrameCounter(void);
-00381 u16 XGM2_getDebugPCMRate(void);
-00387 u8 XGM2_getDebugMissedFrames(void);
-00393 u8 XGM2_getDebugProcessDuration(const u16 ind);
-00394 
-00395 
-00396 #endif // _XGM2_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/xgm_8h.html b/doc/html/xgm_8h.html deleted file mode 100644 index 50cc56ea8..000000000 --- a/doc/html/xgm_8h.html +++ /dev/null @@ -1,1254 +0,0 @@ - - - - -sgdk: xgm.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
xgm.h File Reference
-
-
- -

XGM sound driver. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

#define SND_isPlaying_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_isPlaying() instead.\"")
#define SND_startPlay_XGM(song)   _Pragma("GCC error \"This method is deprecated, use XGM_startPlay(..) instead.\"")
#define SND_stopPlay_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_stopPlay() instead.\"")
#define SND_pausePlay_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_pausePlay() instead.\"")
#define SND_resumePlay_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_resumePlay() instead.\"")
#define SND_isPlayingPCM_XGM(channel_mask)   _Pragma("GCC error \"This method is deprecated, use XGM_isPlayingPCM(..) instead.\"")
#define SND_setPCM_XGM(id, sample, len)   _Pragma("GCC error \"This method is deprecated, use XGM_setPCM(..) instead.\"")
#define SND_setPCMFast_XGM(id, sample, len)   _Pragma("GCC error \"This method is deprecated, use XGM_setPCMFast(..) instead.\"")
#define SND_startPlayPCM_XGM(id, prio, ch)   _Pragma("GCC error \"This method is deprecated, use XGM_startPlayPCM(..) instead.\"")
#define SND_stopPlayPCM_XGM(channel)   _Pragma("GCC error \"This method is deprecated, use XGM_stopPlayPCM(..) instead.\"")
#define SND_getMusicTempo_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_getMusicTempo() instead.\"")
#define SND_setMusicTempo_XGM(value)   _Pragma("GCC error \"This method is deprecated, use XGM_setMusicTempo(..) instead.\"")
#define SND_getManualSync_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_getManualSync() instead.\"")
#define SND_setManualSync_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_setManualSync() instead.\"")
#define SND_nextFrame_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_nextFrame() instead.\"")
#define SND_nextXFrame_XGM(num)   _Pragma("GCC error \"This method is deprecated, use XGM_nextXFrame(..) instead.\"")
#define SND_setLoopNumber_XGM(value)   _Pragma("GCC error \"This method is deprecated, use XGM_setLoopNumber(..) instead.\"")
#define SND_set68KBUSProtection_XGM(value)   _Pragma("GCC error \"This method is deprecated, use XGM_set68KBUSProtection(..) instead.\"")
#define SND_getForceDelayDMA_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_getForceDelayDMA() instead.\"")
#define SND_setForceDelayDMA_XGM(value)   _Pragma("GCC error \"This method is deprecated, use XGM_setForceDelayDMA(..) instead.\"")
#define SND_getCPULoad_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_getCPULoad() instead.\"")
#define XGM_nextFrame()   XGM_nextXFrame(1)
 Notify the Z80 a new frame just happened (XGM music player driver).

-Functions

void XGM_loadDriver (const bool waitReady)
 Load the XGM sound driver.
void XGM_unloadDriver (void)
 Unload the XGM sound driver.
-bool XGM_isPlaying (void)
 Returns play music state (XGM music player driver).
void XGM_startPlay (const u8 *song)
 Start playing the specified XGM track (XGM music player driver).
void XGM_startPlay_FAR (const u8 *song, u32 size)
 Same as XGM_startPlay(..) except it supports music accessible through bank switch.
void XGM_stopPlay (void)
 Stop playing music (XGM music player driver).
void XGM_pausePlay (void)
 Pause playing music, music can be resumed by calling XGM_resumePlay (XGM music player driver).
- Note that due to the nature of the music chip (FM synthesis), resume play operation will never be perfect and some notes will miss until next key-on event occurs.
void XGM_resumePlay (void)
 Resume playing music after pausing with XGM_pausePlay (XGM music player driver).
- Note that due to the nature of the music chip (FM synthesis), resume play operation will never be perfect and some notes will miss until next key-on event occurs.
u8 XGM_isPlayingPCM (const u16 channel_mask)
 Return play status of specified PCM channel (XGM music player driver).
void XGM_setPCM (const u8 id, const u8 *sample, const u32 len)
 Declare a new PCM sample (maximum = 255) for the XGM music player driver.
- Sample id < 64 are reserved for music while others are used for SFX so if you want to declare a new SFX PCM sample use an id >= 64.
void XGM_setPCMFast (const u8 id, const u8 *sample, const u32 len)
 Same as XGM_setPCM but fast version.
- This method assume that XGM driver is loaded and that 68000 has access to Z80 bus.
-void XGM_setPCM_FAR (const u8 id, const u8 *sample, const u32 len)
 Same as XGM_setPCM(..) allowing PCM access through bank switch.
-void XGM_setPCMFast_FAR (const u8 id, const u8 *sample, const u32 len)
 Same as XGM_setPCMFast(..) allowing PCM access through bank switch.
void XGM_startPlayPCM (const u8 id, const u8 priority, const SoundPCMChannel channel)
 Play a PCM sample on specified channel (XGM music player driver).
- If a sample was currently playing on this channel then priority of the newer sample should be are compared then it's stopped and the new sample is played instead.
- Note that music may use the first PCM channel so it's better to use channel 2 to 4 for SFX.
void XGM_stopPlayPCM (const SoundPCMChannel channel)
 Stop play PCM on specified channel (XGM music player driver).
- No effect if no sample was currently playing on this channel.
u32 XGM_getElapsed (void)
 Return the elapsed play time since the last XGM_startPlay(..) call.
- The returned value is in music frame which can be 50/60 per second depending the base music play rate (NTSC/PAL).
u16 XGM_getMusicTempo (void)
 Get the current music tempo (in tick per second).
- Default value is 60 or 50 depending the system is NTSC or PAL.
- This method is meaningful only if you use the automatic music sync mode (see XGM_setManualSync() method) which is the default mode.
- Note that using specific tempo (not 60 or 50) will affect performance of DMA contention and external command parsing so it's recommended to stand with default one.
void XGM_setMusicTempo (const u16 value)
 Set the music tempo (in tick per second).
- Default value is 60 or 50 depending the system is NTSC or PAL. This method is meaningful only if you use the automatic music sync mode (see XGM_setManualSync() method) which is the default mode.
- Note that using specific tempo (not 60 or 50) can completely distord FM instruments sound and affect performance of DMA contention and external command parsing so it's recommended to stand with default one.
u16 XGM_getManualSync (void)
 Returns manual sync mode state of XGM driver (by default auto sync is used).
void XGM_setManualSync (const bool value)
 Set manual sync mode of XGM driver (by default auto sync is used).
void XGM_nextXFrame (const u16 num)
 Same as XGM_nextFrame() except you can specify the numer of frame.
-void XGM_setLoopNumber (const s8 value)
 Set the loop number for music with loop command.
- Default value is -1 for pseudo unfinite (255) loops plays. A value of 0 means single play without any loop, 1 = single play + 1 loop...
void XGM_set68KBUSProtection (const bool value)
 Same as Z80_setBusProtection(..) (generic version of the method)
bool XGM_getForceDelayDMA (void)
 Same as Z80_getForceDelayDMA() (generic version of the method)
-void XGM_setForceDelayDMA (const bool value)
 Same as Z80_setForceDelayDMA(..) (generic version of the method)
-u32 XGM_getCPULoad (void)
 Returns an estimation of the Z80 CPU load (XGM driver).
- The low 16 bits returns the estimated Z80 CPU load where the high 16 bits returns the part spent waiting in the DMA contention (see XGM_set68KBUSProtection method).
- The method computes CPU load mean over 32 frames and so it's important to call it at each frame (on VInt for instance) to get meaningful value.
- Note that it returns CPU load only for the XGM music parsing part as PCM channel mixing is always ON.
- Idle usage is 40% on NTSC and 30% on PAL, 100% usage usually mean overrun and may result in music slowdown and incorrect PCM operations.
-

Detailed Description

-

XGM sound driver.

-
Author:
Stephane Dallongeville
-
Date:
08/2015
-

This unit provides methods to use the XGM (eXtended Genesis Music) sound driver.
- This driver takes VGM (or XGM) file as input to play music.
- It supports 4 PCM channels at a fixed 14 Khz and allows to play SFX through PCM with 16 level of priority.
- The driver is designed to avoid DMA contention when possible (depending CPU load).

-

Define Documentation

- -
-
- - - - - - - -
#define SND_getCPULoad_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_getCPULoad() instead.\"")
-
-
-
Deprecated:
use XGM_getCPULoad(..) instead
- -
-
- -
-
- - - - - - - -
#define SND_getForceDelayDMA_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_getForceDelayDMA() instead.\"")
-
-
-
Deprecated:
use XGM_getForceDelayDMA(..) instead
- -
-
- -
-
- - - - - - - -
#define SND_getManualSync_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_getManualSync() instead.\"")
-
-
-
Deprecated:
use XGM_getManualSync(..) instead
- -
-
- -
-
- - - - - - - -
#define SND_getMusicTempo_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_getMusicTempo() instead.\"")
-
-
-
Deprecated:
use XGM_getMusicTempo(..) instead
- -
-
- -
-
- - - - - - - -
#define SND_isPlaying_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_isPlaying() instead.\"")
-
-
-
Deprecated:
use XGM_isPlaying() instead
- -
-
- -
-
- - - - - - - - -
#define SND_isPlayingPCM_XGM( channel_mask)   _Pragma("GCC error \"This method is deprecated, use XGM_isPlayingPCM(..) instead.\"")
-
-
-
Deprecated:
use XGM_isPlayingPCM(..) instead
- -
-
- -
-
- - - - - - - -
#define SND_nextFrame_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_nextFrame() instead.\"")
-
-
-
Deprecated:
use XGM_nextFrame(..) instead
- -
-
- -
-
- - - - - - - - -
#define SND_nextXFrame_XGM( num)   _Pragma("GCC error \"This method is deprecated, use XGM_nextXFrame(..) instead.\"")
-
-
-
Deprecated:
use XGM_nextXFrame(..) instead
- -
-
- -
-
- - - - - - - -
#define SND_pausePlay_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_pausePlay() instead.\"")
-
-
-
Deprecated:
use XGM_pausePlay(..) instead
- -
-
- -
-
- - - - - - - -
#define SND_resumePlay_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_resumePlay() instead.\"")
-
-
-
Deprecated:
use XGM_resumePlay(..) instead
- -
-
- -
-
- - - - - - - - -
#define SND_set68KBUSProtection_XGM( value)   _Pragma("GCC error \"This method is deprecated, use XGM_set68KBUSProtection(..) instead.\"")
-
-
-
Deprecated:
use XGM_set68KBUSProtection(..) instead
- -
-
- -
-
- - - - - - - - -
#define SND_setForceDelayDMA_XGM( value)   _Pragma("GCC error \"This method is deprecated, use XGM_setForceDelayDMA(..) instead.\"")
-
-
-
Deprecated:
use XGM_setForceDelayDMA(..) instead
- -
-
- -
-
- - - - - - - - -
#define SND_setLoopNumber_XGM( value)   _Pragma("GCC error \"This method is deprecated, use XGM_setLoopNumber(..) instead.\"")
-
-
-
Deprecated:
use XGM_setLoopNumber(..) instead
- -
-
- -
-
- - - - - - - -
#define SND_setManualSync_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_setManualSync() instead.\"")
-
-
-
Deprecated:
use XGM_setManualSync(..) instead
- -
-
- -
-
- - - - - - - - -
#define SND_setMusicTempo_XGM( value)   _Pragma("GCC error \"This method is deprecated, use XGM_setMusicTempo(..) instead.\"")
-
-
-
Deprecated:
use XGM_setMusicTempo(..) instead
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define SND_setPCM_XGM( id,
 sample,
 len 
)   _Pragma("GCC error \"This method is deprecated, use XGM_setPCM(..) instead.\"")
-
-
-
Deprecated:
use XGM_setPCM(..) instead
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define SND_setPCMFast_XGM( id,
 sample,
 len 
)   _Pragma("GCC error \"This method is deprecated, use XGM_setPCMFast(..) instead.\"")
-
-
-
Deprecated:
use XGM_setPCMFast(..) instead
- -
-
- -
-
- - - - - - - - -
#define SND_startPlay_XGM( song)   _Pragma("GCC error \"This method is deprecated, use XGM_startPlay(..) instead.\"")
-
-
-
Deprecated:
use XGM_startPlay(..) instead
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define SND_startPlayPCM_XGM( id,
 prio,
 ch 
)   _Pragma("GCC error \"This method is deprecated, use XGM_startPlayPCM(..) instead.\"")
-
-
-
Deprecated:
use XGM_startPlayPCM(..) instead
- -
-
- -
-
- - - - - - - -
#define SND_stopPlay_XGM()   _Pragma("GCC error \"This method is deprecated, use XGM_stopPlay() instead.\"")
-
-
-
Deprecated:
use XGM_stopPlay(..) instead
- -
-
- -
-
- - - - - - - - -
#define SND_stopPlayPCM_XGM( channel)   _Pragma("GCC error \"This method is deprecated, use XGM_stopPlayPCM(..) instead.\"")
-
-
-
Deprecated:
use XGM_stopPlayPCM(..) instead
- -
-
- -
-
- - - - - - - -
#define XGM_nextFrame()   XGM_nextXFrame(1)
-
-
- -

Notify the Z80 a new frame just happened (XGM music player driver).

-

Sound synchronization was initially 100% done by Z80 itself using the V-Interrupt but if the Z80 is stopped right at V-Int time (bus request from 68000 or DMA stall) then the V-Int can be missed by the Z80 and music timing affected.
- To fix that issue and also to offer more flexibility the music timing should now be handled by the 68k.
- By default this method is called automatically by SGDK at V-Int time but you can decide to handle sync manually (see XGM_setManualSync(..) method).
- When you are in manual sync you normally should call this method once per frame (in the V-Int callback for instance) but you are free to play with it to increase or decrease music tempo.
- Note that it's better to call this method a bit before (3/4 scanlines should be fine) doing DMA operation for best main bus contention protection (see XGM_set68KBUSProtection() and XGM_setForceDelayDMA() methods).

-
See also:
XGM_setManualSync(..)
-
-XGM_nextXFrame(..)
-
-XGM_set68KBUSProtection(..)
-
-XGM_setForceDelayDMA(..)
- -
-
-

Function Documentation

- -
-
- - - - - - - - -
u32 XGM_getElapsed (void )
-
-
- -

Return the elapsed play time since the last XGM_startPlay(..) call.
- The returned value is in music frame which can be 50/60 per second depending the base music play rate (NTSC/PAL).

-
See also:
XGM_startPlay(..)
-
-XGM_setMusicTempo()
- -
-
- -
-
- - - - - - - - -
bool XGM_getForceDelayDMA (void )
-
-
- -

Same as Z80_getForceDelayDMA() (generic version of the method)

-
See also:
XGM_setForceDelayDMA()
- -
-
- -
-
- - - - - - - - -
u16 XGM_getManualSync (void )
-
-
- -

Returns manual sync mode state of XGM driver (by default auto sync is used).

-
See also:
XGM_setManualSync(void)
- -
-
- -
-
- - - - - - - - -
u16 XGM_getMusicTempo (void )
-
-
- -

Get the current music tempo (in tick per second).
- Default value is 60 or 50 depending the system is NTSC or PAL.
- This method is meaningful only if you use the automatic music sync mode (see XGM_setManualSync() method) which is the default mode.
- Note that using specific tempo (not 60 or 50) will affect performance of DMA contention and external command parsing so it's recommended to stand with default one.

-
See also:
XGM_setManualSync(..)
-
-XGM_setMusicTempo(..)
- -
-
- -
-
- - - - - - - - -
u8 XGM_isPlayingPCM (const u16 channel_mask)
-
-
- -

Return play status of specified PCM channel (XGM music player driver).

-
Parameters:
- - -
channel_maskChannel(s) we want to retrieve play state.
- SOUND_PCM_CH1_MSK = channel 1
- SOUND_PCM_CH2_MSK = channel 2
- SOUND_PCM_CH3_MSK = channel 3
- SOUND_PCM_CH4_MSK = channel 4
-
- You can combine mask to retrieve state of severals channels at once:
- XGM_isPlayingPCM(SOUND_PCM_CH1_MSK | SOUND_PCM_CH2_MSK)
- will actually return play state for channel 1 and channel 2.
-
-
-
Returns:
Return the channel mask of current playing channel(s).
- For instance it returns (SOUND_PCM_CH1_MSK | SOUND_PCM_CH3_MSK) if channels 1 and 3 are currently playing.
- -
-
- -
-
- - - - - - - - -
void XGM_loadDriver (const bool waitReady)
-
-
- -

Load the XGM sound driver.

-

Don't use this method directly, use Z80_loadDriver(..) instead.

- -
-
- -
-
- - - - - - - - -
void XGM_nextXFrame (const u16 num)
-
-
- -

Same as XGM_nextFrame() except you can specify the numer of frame.

-
See also:
XGM_nextFrame(..)
- -
-
- -
-
- - - - - - - - -
void XGM_pausePlay (void )
-
-
- -

Pause playing music, music can be resumed by calling XGM_resumePlay (XGM music player driver).
- Note that due to the nature of the music chip (FM synthesis), resume play operation will never be perfect and some notes will miss until next key-on event occurs.

-
See also:
XGM_resumePlay
-
-XGM_stopPlay
- -
-
- -
-
- - - - - - - - -
void XGM_resumePlay (void )
-
-
- -

Resume playing music after pausing with XGM_pausePlay (XGM music player driver).
- Note that due to the nature of the music chip (FM synthesis), resume play operation will never be perfect and some notes will miss until next key-on event occurs.

-
See also:
XGM_pausePlay
-
-XGM_nextFrame
- -
-
- -
-
- - - - - - - - -
void XGM_set68KBUSProtection (const bool value)
-
-
- -

Same as Z80_setBusProtection(..) (generic version of the method)

-
See also:
XGM_setForceDelayDMA(..)
- -
-
- -
-
- - - - - - - - -
void XGM_setManualSync (const bool value)
-
-
- -

Set manual sync mode of XGM driver (by default auto sync is used).

-
Parameters:
- - -
valueTRUE or FALSE
-
-
-
See also:
XGM_getManualSync(void)
-
-XGM_nextFrame(void)
- -
-
- -
-
- - - - - - - - -
void XGM_setMusicTempo (const u16 value)
-
-
- -

Set the music tempo (in tick per second).
- Default value is 60 or 50 depending the system is NTSC or PAL. This method is meaningful only if you use the automatic music sync mode (see XGM_setManualSync() method) which is the default mode.
- Note that using specific tempo (not 60 or 50) can completely distord FM instruments sound and affect performance of DMA contention and external command parsing so it's recommended to stand with default one.

-
See also:
XGM_setManualSync(..)
-
-XGM_getMusicTempo(void)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void XGM_setPCM (const u8 id,
const u8sample,
const u32 len 
)
-
-
- -

Declare a new PCM sample (maximum = 255) for the XGM music player driver.
- Sample id < 64 are reserved for music while others are used for SFX so if you want to declare a new SFX PCM sample use an id >= 64.

-
Parameters:
- - - - -
idSample id:
- value 0 is not allowed
- values from 1 to 63 are used for music values from 64 to 255 are used for SFX
sampleSample address, should be 256 bytes boundary aligned
- SGDK automatically align sample resource as needed
lenSize of sample in bytes, should be a multiple of 256
- SGDK automatically adjust resource size as needed
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void XGM_setPCMFast (const u8 id,
const u8sample,
const u32 len 
)
-
-
- -

Same as XGM_setPCM but fast version.
- This method assume that XGM driver is loaded and that 68000 has access to Z80 bus.

-
Parameters:
- - - - -
idSample id:
- value 0 is not allowed
- values from 1 to 63 are used for music values from 64 to 255 are used for SFX
sampleSample address, should be 256 bytes boundary aligned
- SGDK automatically align sample resource as needed
lenSize of sample in bytes, should be a multiple of 256
- SGDK automatically adjust resource size as needed
-
-
- -
-
- -
-
- - - - - - - - -
void XGM_startPlay (const u8song)
-
-
- -

Start playing the specified XGM track (XGM music player driver).

-
Parameters:
- - -
songXGM track address.
-
-
-
See also:
XGM_stopPlay
-
-XGM_pausePlay
-
-XGM_nextFrame
-
-XGM_startPlay_FAR
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void XGM_startPlay_FAR (const u8song,
u32 size 
)
-
-
- -

Same as XGM_startPlay(..) except it supports music accessible through bank switch.

-
Parameters:
- - - -
songXGM track address.
sizeXGM track size (in byte)
-
-
-
See also:
XGM_startPlay
-
-XGM_stopPlay
-
-XGM_pausePlay
-
-XGM_nextFrame
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void XGM_startPlayPCM (const u8 id,
const u8 priority,
const SoundPCMChannel channel 
)
-
-
- -

Play a PCM sample on specified channel (XGM music player driver).
- If a sample was currently playing on this channel then priority of the newer sample should be are compared then it's stopped and the new sample is played instead.
- Note that music may use the first PCM channel so it's better to use channel 2 to 4 for SFX.

-
Parameters:
- - - - -
idSample id (use XGM_setPCM(..) method first to set id)
priorityValue should go from 0 to 15 where 0 is lowest priority and 15 the highest one.
- If the channel was already playing the priority is used to determine if the new SFX should replace the current one (new priority >= old priority).
channelChannel where we want to play sample, accepted values are:
- SOUND_PCM_CH1 = channel 1 (usually used by music)
- SOUND_PCM_CH2 = channel 2
- SOUND_PCM_CH3 = channel 3
- SOUND_PCM_CH4 = channel 4
-
-
-
- -
-
- -
-
- - - - - - - - -
void XGM_stopPlay (void )
-
-
- -

Stop playing music (XGM music player driver).

-
See also:
XGM_pausePlay
- -
-
- -
-
- - - - - - - - -
void XGM_stopPlayPCM (const SoundPCMChannel channel)
-
-
- -

Stop play PCM on specified channel (XGM music player driver).
- No effect if no sample was currently playing on this channel.

-
Parameters:
- - -
channelChannel we want to stop, accepted values are:
- SOUND_PCM_CH1 = channel 1
- SOUND_PCM_CH2 = channel 2
- SOUND_PCM_CH3 = channel 3
- SOUND_PCM_CH4 = channel 4
-
-
-
- -
-
- -
-
- - - - - - - - -
void XGM_unloadDriver (void )
-
-
- -

Unload the XGM sound driver.

-

Don't use this method directly, use Z80_unloadDriver(..) instead.

- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/xgm_8h_source.html b/doc/html/xgm_8h_source.html deleted file mode 100644 index 32ac66cd8..000000000 --- a/doc/html/xgm_8h_source.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - -sgdk: xgm.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
xgm.h
-
-
-Go to the documentation of this file.
00001 
-00013 #ifndef _XGM_H_
-00014 #define _XGM_H_
-00015 
-00016 
-00020 #define SND_isPlaying_XGM()         _Pragma("GCC error \"This method is deprecated, use XGM_isPlaying() instead.\"")
-00021 
-00024 #define SND_startPlay_XGM(song)     _Pragma("GCC error \"This method is deprecated, use XGM_startPlay(..) instead.\"")
-00025 
-00028 #define SND_stopPlay_XGM()          _Pragma("GCC error \"This method is deprecated, use XGM_stopPlay() instead.\"")
-00029 
-00032 #define SND_pausePlay_XGM()         _Pragma("GCC error \"This method is deprecated, use XGM_pausePlay() instead.\"")
-00033 
-00036 #define SND_resumePlay_XGM()        _Pragma("GCC error \"This method is deprecated, use XGM_resumePlay() instead.\"")
-00037 
-00041 #define SND_isPlayingPCM_XGM(channel_mask)  _Pragma("GCC error \"This method is deprecated, use XGM_isPlayingPCM(..) instead.\"")
-00042 
-00045 #define SND_setPCM_XGM(id, sample, len)     _Pragma("GCC error \"This method is deprecated, use XGM_setPCM(..) instead.\"")
-00046 
-00049 #define SND_setPCMFast_XGM(id, sample, len) _Pragma("GCC error \"This method is deprecated, use XGM_setPCMFast(..) instead.\"")
-00050 
-00053 #define SND_startPlayPCM_XGM(id, prio, ch)  _Pragma("GCC error \"This method is deprecated, use XGM_startPlayPCM(..) instead.\"")
-00054 
-00057 #define SND_stopPlayPCM_XGM(channel)        _Pragma("GCC error \"This method is deprecated, use XGM_stopPlayPCM(..) instead.\"")
-00058 
-00062 #define SND_getMusicTempo_XGM()         _Pragma("GCC error \"This method is deprecated, use XGM_getMusicTempo() instead.\"")
-00063 
-00066 #define SND_setMusicTempo_XGM(value)    _Pragma("GCC error \"This method is deprecated, use XGM_setMusicTempo(..) instead.\"")
-00067 
-00071 #define SND_getManualSync_XGM()         _Pragma("GCC error \"This method is deprecated, use XGM_getManualSync() instead.\"")
-00072 
-00075 #define SND_setManualSync_XGM()         _Pragma("GCC error \"This method is deprecated, use XGM_setManualSync() instead.\"")
-00076 
-00079 #define SND_nextFrame_XGM()             _Pragma("GCC error \"This method is deprecated, use XGM_nextFrame() instead.\"")
-00080 
-00083 #define SND_nextXFrame_XGM(num)         _Pragma("GCC error \"This method is deprecated, use XGM_nextXFrame(..) instead.\"")
-00084 
-00088 #define SND_setLoopNumber_XGM(value)    _Pragma("GCC error \"This method is deprecated, use XGM_setLoopNumber(..) instead.\"")
-00089 
-00093 #define SND_set68KBUSProtection_XGM(value)  _Pragma("GCC error \"This method is deprecated, use XGM_set68KBUSProtection(..) instead.\"")
-00094 
-00097 #define SND_getForceDelayDMA_XGM()          _Pragma("GCC error \"This method is deprecated, use XGM_getForceDelayDMA() instead.\"")
-00098 
-00101 #define SND_setForceDelayDMA_XGM(value)     _Pragma("GCC error \"This method is deprecated, use XGM_setForceDelayDMA(..) instead.\"")
-00102 
-00105 #define SND_getCPULoad_XGM()                _Pragma("GCC error \"This method is deprecated, use XGM_getCPULoad() instead.\"")
-00106 
-00107 
-00114 void XGM_loadDriver(const bool waitReady);
-00121 void XGM_unloadDriver(void);
-00122 
-00127 bool XGM_isPlaying(void);
-00140 void XGM_startPlay(const u8 *song);
-00155 void XGM_startPlay_FAR(const u8 *song, u32 size);
-00156 
-00163 void XGM_stopPlay(void);
-00173 void XGM_pausePlay(void);
-00183 void XGM_resumePlay(void);
-00184 
-00204 u8 XGM_isPlayingPCM(const u16 channel_mask);
-00223 void XGM_setPCM(const u8 id, const u8 *sample, const u32 len);
-00241 void XGM_setPCMFast(const u8 id, const u8 *sample, const u32 len);
-00246 void XGM_setPCM_FAR(const u8 id, const u8 *sample, const u32 len);
-00251 void XGM_setPCMFast_FAR(const u8 id, const u8 *sample, const u32 len);
-00270 void XGM_startPlayPCM(const u8 id, const u8 priority, const SoundPCMChannel channel);
-00283 void XGM_stopPlayPCM(const SoundPCMChannel channel);
-00284 
-00293 u32 XGM_getElapsed(void);
-00306 u16 XGM_getMusicTempo(void);
-00319 void XGM_setMusicTempo(const u16 value);
-00320 
-00327 u16 XGM_getManualSync(void);
-00336 void XGM_setManualSync(const bool value);
-00357 #define XGM_nextFrame()  XGM_nextXFrame(1)
-00358 
-00364 void XGM_nextXFrame(const u16 num);
-00365 
-00372 void XGM_setLoopNumber(const s8 value);
-00373 
-00380 void XGM_set68KBUSProtection(const bool value);
-00387 bool XGM_getForceDelayDMA(void);
-00392 void XGM_setForceDelayDMA(const bool value);
-00393 
-00405 u32 XGM_getCPULoad(void);
-00406 
-00407 
-00408 #endif // _XGM_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/ym2612_8h.html b/doc/html/ym2612_8h.html deleted file mode 100644 index 2a40f936a..000000000 --- a/doc/html/ym2612_8h.html +++ /dev/null @@ -1,341 +0,0 @@ - - - - -sgdk: ym2612.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
ym2612.h File Reference
-
-
- -

YM2612 support. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define YM2612_BASEPORT   0xA04000
 YM2612 base port address.
#define YM2612_writeSafe(port, data)   _Pragma("GCC error \"This definition is deprecated, use YM2612_write(..) instead.\"")
#define YM2612_writeRegSafe(part, reg, data)   _Pragma("GCC error \"This definition is deprecated, use YM2612_writeReg(..) instead.\"")

-Functions

-void YM2612_reset (void)
 Reset YM2612 chip.
u8 YM2612_read (const u16 port)
 Read YM2612 port.
u8 YM2612_readStatus ()
 Return YM2612 status (busy and timer flag).
void YM2612_write (const u16 port, const u8 data)
 Write YM2612 port.
void YM2612_writeReg (const u16 part, const u8 reg, const u8 data)
 Set YM2612 register value.
-void YM2612_enableDAC (void)
 Enable YM2612 DAC.
-void YM2612_disableDAC (void)
 Disable YM2612 DAC.
-

Detailed Description

-

YM2612 support.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides access to the YM2612 through the 68000 CPU.

-

Define Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
#define YM2612_writeRegSafe( part,
 reg,
 data 
)   _Pragma("GCC error \"This definition is deprecated, use YM2612_writeReg(..) instead.\"")
-
-
-
Deprecated:
Use YM2612_writeReg(..) method instead.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define YM2612_writeSafe( port,
 data 
)   _Pragma("GCC error \"This definition is deprecated, use YM2612_write(..) instead.\"")
-
-
-
Deprecated:
Use YM2612_write(..) method instead.
- -
-
-

Function Documentation

- -
-
- - - - - - - - -
u8 YM2612_read (const u16 port)
-
-
- -

Read YM2612 port.

-
Parameters:
- - -
portPort number (0-3)
-
-
-
Returns:
YM2612 port value.
-

Reading YM2612 always return YM2612 status (busy and timer flag) whatever is the port read.

- -
-
- -
-
- - - - - - - -
u8 YM2612_readStatus ()
-
-
- -

Return YM2612 status (busy and timer flag).

-
Returns:
YM2612 status.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void YM2612_write (const u16 port,
const u8 data 
)
-
-
- -

Write YM2612 port.

-
Parameters:
- - - -
portPort number (0-3)
dataData to write
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void YM2612_writeReg (const u16 part,
const u8 reg,
const u8 data 
)
-
-
- -

Set YM2612 register value.

-
Parameters:
- - - - -
partpart number (0-1)
regregister number
dataregister value
-
-
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/ym2612_8h_source.html b/doc/html/ym2612_8h_source.html deleted file mode 100644 index 7019be676..000000000 --- a/doc/html/ym2612_8h_source.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - -sgdk: ym2612.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
ym2612.h
-
-
-Go to the documentation of this file.
00001 
-00010 #ifndef _YM2612_H_
-00011 #define _YM2612_H_
-00012 
-00017 #define YM2612_BASEPORT     0xA04000
-00018 
-00019 
-00024 void YM2612_reset(void);
-00025 
-00036 u8   YM2612_read(const u16 port);
-00043 u8   YM2612_readStatus();
-00053 void YM2612_write(const u16 port, const u8 data);
-00057 #define YM2612_writeSafe(port, data)        _Pragma("GCC error \"This definition is deprecated, use YM2612_write(..) instead.\"")
-00058 
-00069 void YM2612_writeReg(const u16 part, const u8 reg, const u8 data);
-00073 #define YM2612_writeRegSafe(part, reg, data)        _Pragma("GCC error \"This definition is deprecated, use YM2612_writeReg(..) instead.\"")
-00074 
-00079 void YM2612_enableDAC(void);
-00084 void YM2612_disableDAC(void);
-00085 
-00086 
-00087 #endif // _YM2612_H_
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/z80__ctrl_8h.html b/doc/html/z80__ctrl_8h.html deleted file mode 100644 index c01e002e0..000000000 --- a/doc/html/z80__ctrl_8h.html +++ /dev/null @@ -1,848 +0,0 @@ - - - - -sgdk: z80_ctrl.h File Reference - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
- -
-
z80_ctrl.h File Reference
-
-
- -

Z80 control. -More...

- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Defines

-#define Z80_HALT_PORT   0xA11100
-#define Z80_RESET_PORT   0xA11200
-#define Z80_RAM_START   0xA00000
 Z80 RAM start address.
-#define Z80_RAM_END   0xA01FFF
 Z80 RAM end address.
-#define Z80_RAM   Z80_RAM_START
 Z80 RAM address.
-#define Z80_RAM_LEN   ((Z80_RAM_END - Z80_RAM_START) + 1)
 Z80 RAM length in byte.
-#define Z80_YM2612   0xA04000
 Z80 YM2612 port address.
-#define Z80_BANK_REGISTER   0xA06000
 Z80 Bank register address.
-#define Z80_DRV_COMMAND   0xA00100
 Z80 default driver command address.
-#define Z80_DRV_STATUS   0xA00102
 Z80 default driver status address.
-#define Z80_DRV_PARAMS   0xA00104
 Z80 default driver parameters address.
-#define Z80_DRV_COM_PLAY_SFT   0
-#define Z80_DRV_COM_STOP_SFT   4
-#define Z80_DRV_STAT_PLAYING_SFT   0
-#define Z80_DRV_STAT_READY_SFT   7
-#define Z80_DRV_COM_PLAY   (1 << Z80_DRV_COM_PLAY_SFT)
 Z80 default driver play command.
-#define Z80_DRV_COM_STOP   (1 << Z80_DRV_COM_STOP_SFT)
 Z80 default driver stop command.
-#define Z80_DRV_STAT_PLAYING   (1 << Z80_DRV_STAT_PLAYING_SFT)
 Z80 default driver play status.
-#define Z80_DRV_STAT_READY   (1 << Z80_DRV_STAT_READY_SFT)
 Z80 default driver ready status.
-#define Z80_DRV_CH0_SFT   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH1 instead.\"")
-#define Z80_DRV_CH1_SFT   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH2 instead.\"")
-#define Z80_DRV_CH2_SFT   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH3 instead.\"")
-#define Z80_DRV_CH3_SFT   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH4 instead.\"")
-#define Z80_DRV_CH0   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH1_MSK instead.\"")
-#define Z80_DRV_CH1   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH2_MSK instead.\"")
-#define Z80_DRV_CH2   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH3_MSK instead.\"")
-#define Z80_DRV_CH3   _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH4_MSK instead.\"")
-#define Z80_DRIVER_NULL   0
 NULL Z80 driver.
-#define Z80_DRIVER_PCM   1
 Variable rate sample player Z80 driver.
- It can play a sample (8 bit signed) from 8 Khz up to 32 Khz rate.
-#define Z80_DRIVER_DPCM2   2
 2 channels PCM sample player Z80 driver.
- It can mix 2 samples (4 bit PCM) at a fixed 22 Khz rate.
-#define Z80_DRIVER_PCM4   3
 4 channels sample player Z80 driver with envelop control.
- It can mix 4 samples (8 bit signed) at a fixed 16 Khz rate
- and handle volume (16 levels) for each channel.
-#define Z80_DRIVER_XGM   4
 eXtended VGM music player driver.
- This driver takes VGM (or XGM) file as input to play music.
- It supports 4 PCM channels at a fixed 14 Khz and allows to play SFX through PCM with 16 level of priority.
- The driver is designed to avoid DMA contention when possible (depending CPU load).
-#define Z80_DRIVER_XGM2   5
 eXtended VGM music player driver version 2.
- This driver takes VGM (or XGM2) file as input to play music.
- It supports 3 PCM channels at either 13.3 Khz or 6.65 Khz and envelop control for both FM and PSG.
- It allows to play SFX through PCM with 16 level of priority.
- The driver supports renforced protection against DMA contention.
-#define Z80_DRIVER_CUSTOM   -1
 CUSTOM Z80 driver.
-#define Z80_DRIVER_4PCM_ENV   _Pragma("GCC error \"This definition is deprecated, use Z80_DRIVER_PCM4 instead.\"")
-#define Z80_DRIVER_2ADPCM   _Pragma("GCC error \"This definition is deprecated, use Z80_DRIVER_DPCM2 instead.\"")

-Functions

void Z80_init (void)
 Initialize Z80 sub system.
-bool Z80_isBusTaken (void)
 Return Z80 BUS taken state.
void Z80_requestBus (bool wait)
 Request Z80 BUS.
bool Z80_getAndRequestBus (bool wait)
 Request Z80 BUS if not yet taken.
-void Z80_releaseBus (void)
 Release Z80 BUS.
-void Z80_startReset (void)
 Start Z80 reset.
-void Z80_endReset (void)
 End Z80 reset.
void Z80_setBank (const u16 bank)
 Set Z80 memory bank.
u8 Z80_read (const u16 addr)
 Read Z80 memory (Z80_RAM).
void Z80_write (const u16 addr, const u8 value)
 Write to Z80 memory (Z80_RAM).
void Z80_clear (void)
 Clear Z80 memory.
void Z80_upload (const u16 dest, const u8 *data, const u16 size)
 Upload data in Z80 memory.
void Z80_download (const u16 from, u8 *dest, const u16 size)
 Read data from Z80 memory.
u16 Z80_getLoadedDriver (void)
 Return currently loaded Z80 driver.
-void Z80_unloadDriver (void)
 Unload Z80 driver (set NULL driver).
void Z80_loadDriver (const u16 driver, const bool waitReady)
 Load a Z80 driver.
void Z80_loadCustomDriver (const u8 *drv, u16 size)
 Load a custom Z80 driver.
-bool Z80_isDriverReady (void)
 Return driver ready state (only for non custom driver).
void Z80_useBusProtection (u16 signalAddress)
 Enable/disable 68K bus access protection from Z80 (can be used by any sound driver).
void Z80_setBusProtection (bool value)
 Set temporary 68K BUS protection from Z80 (for sound driver supporting it).
- You should protect BUS Access during DMA and restore it after. Ex:
- Z80_setBusProtection(TRUE); DMA_doDma(VRAM, data, 0x1000, 0x100, 2); Z80_setBusProtection(FALSE);.
void Z80_enableBusProtection ()
 Enable temporary 68K BUS protection from Z80 (for sound driver supporting it). See Z80_setBusProtection(..) for more info.
void Z80_disableBusProtection ()
 Disable temporary 68K BUS protection from Z80 (for sound driver supporting it). See Z80_setBusProtection(..) for more info.
bool Z80_getForceDelayDMA (void)
 Returns TRUE if DMA delay is enabled to improve PCM playback.
void Z80_setForceDelayDMA (bool value)
 This method can be used to improve the PCM playback during music play and while DMA queue is used.
- Even using the BUS protection with Z80_setBusProtection you may still experience altered PCM playback. With the XGM driver for instance this happens when music contains PSG data (Z80 requires the main BUS to access PSG).
- By delaying a bit the DMA execution from the DMA queue we let the Z80 to access main bus for a bit of time thus avoiding any stall. The delay is about 3 scanlines so using the force delay DMA will reduce the DMA bandwidth for about 3 vblank lines.
-

Detailed Description

-

Z80 control.

-
Author:
Stephane Dallongeville
-
Date:
08/2011
-

This unit provides Z80 access from the YM2612:
-

-
    -
  • enable / disable Z80
    -
  • -
  • request / release Z80 BUS
    -
  • -
  • upload / download data to / from Z80 memory
    -
  • -
  • set Z80 external Bank
    -
  • -
  • Z80 driver handling
    -
  • -
-

Function Documentation

- -
-
- - - - - - - - -
void Z80_clear (void )
-
-
- -

Clear Z80 memory.

-

You need to request Z80 BUS before accessing Z80 memory.

-
See also:
Z80_requestBus(bool)
- -
-
- -
-
- - - - - - - -
void Z80_disableBusProtection ()
-
-
- -

Disable temporary 68K BUS protection from Z80 (for sound driver supporting it). See Z80_setBusProtection(..) for more info.

-
See also:
Z80_setBusProtection(..)
-
-Z80_enableBusProtection(..)
-
-Z80_disableBusProtection(..)
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void Z80_download (const u16 from,
u8dest,
const u16 size 
)
-
-
- -

Read data from Z80 memory.

-
Parameters:
- - - - -
fromSource address (Z80 memory).
destDestination where to write data.
sizeSize in byte of data to read.
-
-
- -
-
- -
-
- - - - - - - -
void Z80_enableBusProtection ()
-
-
- -

Enable temporary 68K BUS protection from Z80 (for sound driver supporting it). See Z80_setBusProtection(..) for more info.

-
See also:
Z80_setBusProtection(..)
-
-Z80_enableBusProtection(..)
-
-Z80_disableBusProtection(..)
- -
-
- -
-
- - - - - - - - -
bool Z80_getAndRequestBus (bool wait)
-
-
- -

Request Z80 BUS if not yet taken.

-
Parameters:
- - -
waitWait for BUS request operation to complete.
-
-
-
Returns:
Z80 BUS taken state before calling the function.
- -
-
- -
-
- - - - - - - - -
bool Z80_getForceDelayDMA (void )
-
-
- -

Returns TRUE if DMA delay is enabled to improve PCM playback.

-
See also:
Z80_setForceDelayDMA(bool)
- -
-
- -
-
- - - - - - - - -
u16 Z80_getLoadedDriver (void )
-
-
- -

Return currently loaded Z80 driver.

-

Possible returned values are:
-

- - -
-
- -
-
- - - - - - - - -
void Z80_init (void )
-
-
- -

Initialize Z80 sub system.

-

Request Z80 BUS and reset bank number.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void Z80_loadCustomDriver (const u8drv,
u16 size 
)
-
-
- -

Load a custom Z80 driver.

-
Parameters:
- - - -
drvPointer to the driver binary to load.
sizeSize (in bytes) of the driver binary.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void Z80_loadDriver (const u16 driver,
const bool waitReady 
)
-
-
- -

Load a Z80 driver.

-
Parameters:
- - - -
driverDriver to load, possible values are:
- -
waitReadyWait for driver to be ready.
-
-
- -
-
- -
-
- - - - - - - - -
u8 Z80_read (const u16 addr)
-
-
- -

Read Z80 memory (Z80_RAM).

-
Parameters:
- - -
addrAddress to read (relative to start of Z80_RAM).
-
-
-

You need to request Z80 BUS before accessing Z80 memory.

-
See also:
Z80_requestBus(bool)
- -
-
- -
-
- - - - - - - - -
void Z80_requestBus (bool wait)
-
-
- -

Request Z80 BUS.

-
Parameters:
- - -
waitWait for BUS request operation to complete.
-
-
- -
-
- -
-
- - - - - - - - -
void Z80_setBank (const u16 bank)
-
-
- -

Set Z80 memory bank.

-
Parameters:
- - -
bankBank number to set (0x000-0x1FF)
-
-
- -
-
- -
-
- - - - - - - - -
void Z80_setBusProtection (bool value)
-
-
- -

Set temporary 68K BUS protection from Z80 (for sound driver supporting it).
- You should protect BUS Access during DMA and restore it after. Ex:
- Z80_setBusProtection(TRUE); DMA_doDma(VRAM, data, 0x1000, 0x100, 2); Z80_setBusProtection(FALSE);.

-

This way the sound driver will *try* to avoid accessing the 68K BUS during DMA to avoid execution interruption and so preserve PCM playback quality.
- Note that depending the sound driver, the success of the operation is not 100% garantee and can fails in some conditions (heavy Z80 load, lot of PSG data in XGM music).
- In that case you can also try to use the Z80_setForceDelayDMA() method to help improving the PCM playblack.

-
See also:
Z80_useBusProtection(..)
-
-Z80_enableBusProtection(..)
-
-Z80_disableBusProtection(..)
- -
-
- -
-
- - - - - - - - -
void Z80_setForceDelayDMA (bool value)
-
-
- -

This method can be used to improve the PCM playback during music play and while DMA queue is used.
- Even using the BUS protection with Z80_setBusProtection you may still experience altered PCM playback. With the XGM driver for instance this happens when music contains PSG data (Z80 requires the main BUS to access PSG).
- By delaying a bit the DMA execution from the DMA queue we let the Z80 to access main bus for a bit of time thus avoiding any stall. The delay is about 3 scanlines so using the force delay DMA will reduce the DMA bandwidth for about 3 vblank lines.

-
Parameters:
- - -
valueTRUE or FALSE
-
-
-
See also:
Z80_getForceDelayDMA()
-
-Z80_setBusProtection()
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void Z80_upload (const u16 dest,
const u8data,
const u16 size 
)
-
-
- -

Upload data in Z80 memory.

-
Parameters:
- - - - -
destDestination address (Z80 memory).
dataData to upload.
sizeSize in byte of data to upload.
-
-
- -
-
- -
-
- - - - - - - - -
void Z80_useBusProtection (u16 signalAddress)
-
-
- -

Enable/disable 68K bus access protection from Z80 (can be used by any sound driver).

-
Parameters:
- - -
signalAddressZ80 RAM address used (relative to the start of Z80 RAM) to set the BUS protection signal.
- Signal is set to 1 when main BUS should not be accesssed from Z80 (DMA operation in progess), set to 0 otherwise.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void Z80_write (const u16 addr,
const u8 value 
)
-
-
- -

Write to Z80 memory (Z80_RAM).

-
Parameters:
- - - -
addrAddress to write (relative to start of Z80_RAM).
valueValue to write.
-
-
-

You need to request Z80 BUS before accessing Z80 memory.

-
See also:
Z80_requestBus(bool)
- -
-
-
-
- - - - - -
- -
- - - - diff --git a/doc/html/z80__ctrl_8h_source.html b/doc/html/z80__ctrl_8h_source.html deleted file mode 100644 index b12c65ed7..000000000 --- a/doc/html/z80__ctrl_8h_source.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - -sgdk: z80_ctrl.h Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
sgdk
-
-
- - -
-
- -
-
-
- -
-
-
-
z80_ctrl.h
-
-
-Go to the documentation of this file.
00001 
-00015 #ifndef _Z80_CTRL_H_
-00016 #define _Z80_CTRL_H_
-00017 
-00018 
-00019 #define Z80_HALT_PORT                   0xA11100
-00020 #define Z80_RESET_PORT                  0xA11200
-00021 
-00027 #define Z80_RAM_START                   0xA00000
-00028 
-00033 #define Z80_RAM_END                     0xA01FFF
-00034 
-00039 #define Z80_RAM                         Z80_RAM_START
-00040 
-00045 #define Z80_RAM_LEN                     ((Z80_RAM_END - Z80_RAM_START) + 1)
-00046 
-00051 #define Z80_YM2612                      0xA04000
-00052 
-00057 #define Z80_BANK_REGISTER               0xA06000
-00058 
-00064 #define Z80_DRV_COMMAND                 0xA00100
-00065 
-00070 #define Z80_DRV_STATUS                  0xA00102
-00071 
-00076 #define Z80_DRV_PARAMS                  0xA00104
-00077 
-00078 // default command and status value
-00079 #define Z80_DRV_COM_PLAY_SFT            0
-00080 #define Z80_DRV_COM_STOP_SFT            4
-00081 #define Z80_DRV_STAT_PLAYING_SFT        0
-00082 #define Z80_DRV_STAT_READY_SFT          7
-00083 
-00088 #define Z80_DRV_COM_PLAY                (1 << Z80_DRV_COM_PLAY_SFT)
-00089 
-00093 #define Z80_DRV_COM_STOP                (1 << Z80_DRV_COM_STOP_SFT)
-00094 
-00098 #define Z80_DRV_STAT_PLAYING            (1 << Z80_DRV_STAT_PLAYING_SFT)
-00099 
-00103 #define Z80_DRV_STAT_READY              (1 << Z80_DRV_STAT_READY_SFT)
-00104 
-00105 
-00106 #define Z80_DRV_CH0_SFT                 _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH1 instead.\"")
-00107 #define Z80_DRV_CH1_SFT                 _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH2 instead.\"")
-00108 #define Z80_DRV_CH2_SFT                 _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH3 instead.\"")
-00109 #define Z80_DRV_CH3_SFT                 _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH4 instead.\"")
-00110 
-00111 #define Z80_DRV_CH0                     _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH1_MSK instead.\"")
-00112 #define Z80_DRV_CH1                     _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH2_MSK instead.\"")
-00113 #define Z80_DRV_CH2                     _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH3_MSK instead.\"")
-00114 #define Z80_DRV_CH3                     _Pragma("GCC error \"This method is deprecated, use SOUND_PCM_CH4_MSK instead.\"")
-00115 
-00116 
-00121 #define Z80_DRIVER_NULL                 0
-00122 
-00127 #define Z80_DRIVER_PCM                  1
-00128 
-00133 #define Z80_DRIVER_DPCM2                2
-00134 
-00140 #define Z80_DRIVER_PCM4                 3
-00141 
-00148 #define Z80_DRIVER_XGM                  4
-00149 
-00157 #define Z80_DRIVER_XGM2                 5
-00158 
-00162 #define Z80_DRIVER_CUSTOM               -1
-00163 
-00164 
-00165 #define Z80_DRIVER_4PCM_ENV             _Pragma("GCC error \"This definition is deprecated, use Z80_DRIVER_PCM4 instead.\"")
-00166 #define Z80_DRIVER_2ADPCM               _Pragma("GCC error \"This definition is deprecated, use Z80_DRIVER_DPCM2 instead.\"")
-00167 
-00168 
-00175 void Z80_init(void);
-00176 
-00181 bool Z80_isBusTaken(void);
-00188 void Z80_requestBus(bool wait);
-00197 bool Z80_getAndRequestBus(bool wait);
-00198 
-00203 void Z80_releaseBus(void);
-00204 
-00209 void Z80_startReset(void);
-00214 void Z80_endReset(void);
-00215 
-00222 void Z80_setBank(const u16 bank);
-00223 
-00234 u8 Z80_read(const u16 addr);
-00247 void Z80_write(const u16 addr, const u8 value);
-00248 
-00257 void Z80_clear(void);
-00268 void Z80_upload(const u16 dest, const u8 *data, const u16 size);
-00280 void Z80_download(const u16 from, u8 *dest, const u16 size);
-00281 
-00295 u16  Z80_getLoadedDriver(void);
-00300 void Z80_unloadDriver(void);
-00316 void Z80_loadDriver(const u16 driver, const bool waitReady);
-00326 void Z80_loadCustomDriver(const u8 *drv, u16 size);
-00327 
-00332 bool Z80_isDriverReady(void);
-00333 
-00342 void Z80_useBusProtection(u16 signalAddress);
-00343 
-00362 void Z80_setBusProtection(bool value);
-00371 void Z80_enableBusProtection();
-00380 void Z80_disableBusProtection();
-00381 
-00388 bool Z80_getForceDelayDMA(void);
-00402 void Z80_setForceDelayDMA(bool value);
-00403 
-00404 #endif // _Z80_CTRL_H_
-
-
- - - - - -
- -
- - - -