Plugin API usage matrix (API v7)
Generated on 2026-11-06 by scanning the plugin sources for calls through the C8B_API* pointer (api->, g_api->, g_c8b_api->, c8b_doom_api->, g_nofrendo_api->, g_api_for_alloc->, c8b.raw->) and, for KS, the c8b.* wrapper of plugin-sdk/include/c8b_plugin.h. Comments are stripped before matching; build*/, cmake-build*/, tests/, stable/, _x/ and backups are skipped. A cell is the number of source lines that touch the field (a null check and the call count separately). 0 = not referenced. Field order is the struct order of core8bit_plugin.h.
Plugins scanned
| Column | Plugin | Source root (under c8b-sdk/src/Games/) |
Deployed .bin in Core8bit/SDCard/Games/ |
|---|---|---|---|
| Bld | Blood | Blood/plugins/blood |
Blood/plugins/blood/blood_plugin.bin (795 400 B; loaded only without use_port.txt) |
| BldP | BloodPort | Blood/plugins/blood_port |
Blood/plugins/blood/blood_plugin_port.bin (771 052 B; loaded because use_port.txt exists, Blood/main.lua:174) |
| Carm | Carmageddon | Carmageddon/plugins/carmageddon |
Carmageddon/plugins/carmageddon/carmageddon_plugin.bin (1 265 456 B) |
| Duke | DukeNukem | DukeNukem/plugins/duke3d |
DukeNukem/plugins/duke3d/duke3d_plugin.bin (606 228 B) |
| Doom | Doom | Doom/plugins |
Doom/plugins/doom_plugin.bin (414 480 B) |
| Her | Heretic | Doom/plugins-heretic |
Doom/plugins-heretic/heretic_plugin.bin (449 576 B) |
| Hex | Hexen | Doom/plugins-hexen |
Doom/plugins-hexen/hexen_plugin.bin (660 164 B) |
| GBC | GBC | GBC/plugins |
GBC/plugins/gbc_plugin.bin (47 636 B) |
| NES | NES | NESEmulator/plugins/nes_nofrendo |
NESEmulator/plugins/nes_plugin.bin (90 296 B, byte-identical to the nes_nofrendo build) |
| GBA | GBA | GBAEmulator/plugins |
GBAEmulator/plugins/gba_plugin.bin (440 124 B) |
| P8 | Pico8 | Pico8/plugins |
Pico8/plugins/pico8_plugin.bin (324 196 B) |
| Demo | Demo | MusRadio/plugins |
MusRadio/plugins/demo_background_plugin.bin and MusicPlayer/plugins/… (128 736 B, same file) |
| KS | KS | KS-C8B/src |
not in SDCard/; c8b-sdk/src/Games/KS-C8B/plugins/ks.bin (2 034 296 B) |
| Gen | Genesis | SegaGenesis/plugins |
SegaGenesis/plugins/genesis_plugin.bin (553 004 B) |
| Test | PluginTest | PluginTest/plugins |
PluginTest/plugins/test_plugin.bin (1 916 B) |
Matrix
| # | Field | Bld | BldP | Carm | Duke | Doom | Her | Hex | GBC | NES | GBA | P8 | Demo | KS | Gen | Test | Plugins |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | version |
1 | 2 | 18 | · | 1 | · | 1 | · | · | 2 | 1 | 2 | 1 | · | · | 9 |
| 1 | screen_width |
5 | 5 | 2 | 5 | 2 | 2 | 2 | 3 | 2 | 1 | 1 | 8 | · | 3 | 4 | 14 |
| 2 | screen_height |
5 | 5 | 2 | 5 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 7 | · | 3 | 4 | 14 |
| 3 | alloc |
7 | 7 | 6 | 6 | 2 | 2 | 2 | · | · | 6 | · | 5 | 2 | 24 | · | 11 |
| 4 | free |
10 | 10 | 3 | 10 | 2 | 2 | 2 | · | 1 | 5 | · | 9 | · | 26 | · | 11 |
| 5 | get_free_mem |
3 | 3 | 4 | 3 | 3 | 3 | 4 | · | · | 3 | · | · | · | 2 | · | 9 |
| 6 | file_open |
14 | 14 | 16 | 7 | 5 | 7 | 5 | 2 | 1 | 5 | 21 | · | 14 | 1 | · | 13 |
| 7 | file_read |
8 | 8 | 9 | 3 | 3 | 4 | 3 | 2 | 1 | 3 | 7 | · | 2 | 1 | · | 13 |
| 8 | file_write |
7 | 7 | 4 | 3 | 3 | 3 | 3 | · | · | 2 | 3 | · | 2 | · | · | 10 |
| 9 | file_seek |
3 | 3 | 12 | 1 | 1 | 1 | 1 | · | · | · | · | · | · | · | · | 7 |
| 10 | file_tell |
1 | 1 | 6 | 1 | 1 | 1 | 1 | · | · | · | · | · | · | · | · | 7 |
| 11 | file_size |
4 | 4 | 10 | 4 | 2 | 2 | 2 | · | 1 | 3 | 8 | · | · | 1 | · | 11 |
| 12 | file_close |
19 | 19 | 17 | 7 | 6 | 8 | 6 | 2 | 3 | 10 | 25 | · | 8 | 3 | · | 13 |
| 13 | get_framebuffer |
7 | 7 | 3 | 5 | 3 | 3 | 2 | 2 | 2 | 1 | 1 | 4 | 3 | 2 | 2 | 15 |
| 14 | present |
· | · | · | · | · | · | · | · | · | · | · | · | · | · | · | 0 |
| 15 | clear |
· | · | 4 | · | · | · | · | 2 | 1 | · | 1 | · | · | 1 | 1 | 6 |
| 16 | fill_rect |
· | · | · | · | · | · | · | 2 | · | · | · | · | · | · | 6 | 2 |
| 17 | blit_indexed8 |
4 | 4 | · | 4 | 3 | 2 | 2 | · | · | · | 1 | · | · | 3 | · | 8 |
| 18 | get_buttons |
11 | 11 | 4 | 2 | 1 | 1 | 1 | 2 | 1 | 1 | 3 | · | 4 | 2 | 1 | 14 |
| 19 | get_buttons_pressed |
2 | 2 | 1 | · | · | · | · | · | · | · | · | · | 1 | · | · | 4 |
| 20 | get_buttons_released |
· | · | 1 | · | · | · | · | · | · | · | · | · | · | · | · | 1 |
| 21 | get_axis_x |
6 | 6 | 1 | 2 | 1 | 1 | 1 | · | · | 1 | 2 | · | 2 | · | · | 10 |
| 22 | get_axis_y |
6 | 6 | 1 | 2 | 1 | 1 | 1 | · | · | 1 | 2 | · | 2 | · | · | 10 |
| 23 | audio_queue |
2 | 2 | 2 | 2 | 2 | 3 | 3 | 2 | 2 | 3 | 2 | · | 2 | 2 | · | 13 |
| 24 | audio_get_free |
2 | 2 | 7 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 4 | · | 2 | 6 | · | 13 |
| 25 | audio_get_sample_rate |
· | · | 2 | · | · | · | · | 2 | 2 | 2 | 2 | · | 2 | · | · | 6 |
| 26 | get_ticks_ms |
12 | 12 | 17 | 5 | 1 | 1 | 1 | 16 | 3 | 2 | 7 | · | 6 | 4 | 8 | 14 |
| 27 | delay_ms |
4 | 4 | · | 6 | · | · | · | · | 1 | · | 1 | · | · | · | · | 5 |
| 28 | log |
19 | 17 | 107 | 14 | 44 | 45 | 58 | 2 | 34 | 32 | 52 | 5 | 18 | 47 | 29 | 15 |
| 29 | request_exit |
2 | 2 | · | 2 | · | · | · | · | · | · | · | · | · | · | · | 3 |
| 30 | exit_requested |
· | · | · | · | · | · | · | · | 1 | 2 | 1 | · | · | 1 | · | 4 |
| 31 | profile_begin |
16 | 14 | 4 | 6 | · | 2 | 2 | · | · | · | 2 | 2 | · | 2 | · | 9 |
| 32 | profile_end |
16 | 14 | 4 | 6 | · | 2 | 2 | · | · | · | 2 | 2 | · | 2 | · | 9 |
| 33 | profile_report |
2 | 2 | 4 | 2 | · | 2 | 2 | · | · | · | · | · | · | 2 | · | 7 |
| 34 | get_axis_rx |
8 | 8 | 6 | 4 | 6 | 6 | 8 | · | · | 1 | 2 | · | 2 | · | · | 10 |
| 35 | get_axis_ry |
8 | 8 | 3 | 4 | 2 | 6 | 8 | · | · | 1 | 2 | · | 2 | · | · | 10 |
| 36 | file_mkdir |
2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | · | · | · | · | · | · | · | 8 |
| 37 | file_rename |
2 | 2 | 2 | 2 | 2 | 2 | 2 | · | · | · | 7 | · | · | · | · | 8 |
| 38 | file_remove |
2 | 2 | 2 | 2 | 2 | 2 | 2 | · | · | · | 7 | · | · | · | · | 8 |
| 39 | get_fast_buffer |
4 | 2 | 7 | 1 | 2 | · | 2 | · | · | 7 | · | 2 | 2 | · | · | 9 |
| 40 | get_fast_buffer_size |
4 | 2 | 6 | 1 | 2 | · | 2 | · | · | 6 | · | 2 | 4 | · | · | 9 |
| 41 | set_fast_buffer_mode |
8 | · | · | · | · | · | · | · | · | 5 | · | · | · | · | · | 2 |
| 42 | invalidate_icache |
2 | · | · | · | · | · | · | · | · | 3 | 2 | · | · | · | · | 3 |
| 43 | fast_buffer_prefetch |
1 | 1 | 2 | 1 | · | · | · | · | · | · | · | · | · | · | · | 4 |
| 44 | fast_buffer_wait |
3 | 1 | 12 | 1 | · | · | · | · | · | 2 | · | 2 | · | · | · | 6 |
| 45 | fill_rect_blend |
· | · | · | · | · | · | · | · | · | · | · | 2 | · | · | · | 1 |
| 46 | blit_indexed8_blend |
· | · | · | · | · | · | · | · | · | · | · | 2 | · | · | · | 1 |
| 47 | alloc_lock |
· | · | · | · | · | · | · | · | · | · | · | · | · | · | · | 0 |
| 48 | alloc_unlock |
· | · | · | · | · | · | · | · | · | · | · | · | · | · | · | 0 |
| 49 | alloc_is_locked |
· | · | · | · | · | · | · | · | · | · | · | · | · | · | · | 0 |
| 50 | alloc_get_used |
· | · | · | · | · | · | · | · | · | · | · | · | · | · | · | 0 |
| 51 | dir_open |
· | · | 2 | · | · | · | · | · | · | · | · | · | · | · | · | 1 |
| 52 | dir_read |
· | · | 2 | · | · | · | · | · | · | · | · | · | · | · | · | 1 |
| 53 | dir_close |
· | · | 3 | · | · | · | · | · | · | · | · | · | · | · | · | 1 |
| 54 | list_entries |
· | · | 2 | · | · | · | · | · | · | · | · | · | · | · | · | 1 |
| 55 | set_working_directory |
2 | 2 | · | · | · | · | · | · | · | · | · | · | · | · | · | 2 |
| 56 | fill_rect_dma |
· | · | · | · | · | · | · | · | · | · | · | 2 | · | · | · | 1 |
| 57 | get_cycles |
4 | · | 8 | · | · | · | · | · | · | 4 | · | · | 2 | · | · | 4 |
| 58 | is_valid_code_ptr |
· | · | 2 | · | · | · | · | · | · | · | · | · | · | · | · | 1 |
| 59 | get_dep_buffer |
· | · | 2 | · | · | · | · | · | · | · | · | · | · | · | · | 1 |
| 60 | fast_buffer_prefetch_to |
1 | 1 | 2 | · | · | · | · | · | · | · | · | · | · | · | · | 3 |
| 61 | load_itcm_overlay |
2 | · | 2 | · | · | · | · | · | · | · | · | · | · | · | · | 2 |
| 62 | frame_scratch_prefetch_to |
· | · | 2 | · | · | · | · | · | · | · | · | · | · | · | · | 1 |
| 63 | get_depth_strip |
· | · | 2 | · | · | · | · | · | · | 2 | 2 | · | · | · | · | 3 |
| 64 | present_set_async |
· | 2 | 4 | · | · | · | · | · | · | 4 | · | · | 2 | · | · | 4 |
| 65 | present_wait |
· | 3 | 3 | · | · | · | · | · | · | 1 | · | · | 1 | · | · | 4 |
| 66 | bios_debug |
· | · | 2 | · | · | · | · | · | · | · | · | · | · | · | · | 1 |
· = 0. Index # counts the three data fields (version, screen_width, screen_height) first; function pointers are #3..#66 (64 pointers).
Highlights
- Used by no plugin:
present,alloc_lock,alloc_unlock,alloc_is_locked,alloc_get_used.presentis unused because the BIOS main loop presents once per frame after the Lua update (Core8bit/Core/Bios/Src/bios_entrypoint.cpp:16796); the emulatorpresentis a deliberate no-op (c8b-sdk/emulator/src/PluginLoader.cpp:573). - Used by exactly one plugin:
get_buttons_released(Carmageddon),fill_rect_blend(Demo),blit_indexed8_blend(Demo),dir_open(Carmageddon),dir_read(Carmageddon),dir_close(Carmageddon),list_entries(Carmageddon),fill_rect_dma(Demo),is_valid_code_ptr(Carmageddon),get_dep_buffer(Carmageddon),frame_scratch_prefetch_to(Carmageddon),bios_debug(Carmageddon). set_working_directoryis used by Blood and Blood-port (Blood/plugins/blood/c8b/c8b_game.c:294) but the BIOS never fills it (Core8bit/Core/Bios/Src/PluginLoader.cpp:1015-1102), so on the console the call is skipped by its null check. Only the emulator sets it.get_dep_buffer(Carmageddon) returnsNULLon the console (Core8bit/Core/Bios/Src/HAL/STM32DisplayHAL.cpp:379-383); Carmageddon falls back toapi->alloc().fill_rect_dma(Demo) isNULLin the emulator (not assigned inc8b-sdk/emulator/src/PluginLoader.cpp:918-1016); Demo checksversion >= 4 && fill_rect_dma(MusRadio/plugins/demo_background_plugin.cpp:951).- Superseded fields still in use: Carmageddon prefers
dir_open/dir_read/dir_closeover the header-preferredlist_entrieson purpose (Carmageddon/plugins/carmageddon/stm32/startup.cpp:630-641, 128-entry snapshot limit). Blood and GBA useset_fast_buffer_mode(C8B_FB_MODE_DATA_PLUS_CODE)for the D2 code tail; Carmageddon moved its phase code to the ITCM overlay instead (Carmageddon/plugins/carmageddon/c8b/carma_plugin.cpp:237-238). - v7 async present (
present_set_async/present_wait): Blood-port, Carmageddon, GBA, KS. The original Blood build does not use it. - Prefix-only plugins: NES (deployed build dated 2026-05-24, i.e. compiled against API v2), Genesis and PluginTest touch only fields #0..#33 (highest: Genesis #33
profile_report), all below the first moved field #41set_fast_buffer_mode, so their offsets did not change in the v3 re-layout (seeversioning.md). That is why these old binaries still run on the v7 BIOS.
First reference per cell
One file:line per (field, plugin), paths relative to c8b-sdk/src/Games/.
| Field | References |
|---|---|
version |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:113BldP: Blood/plugins/blood_port/c8b/blood_plugin.cpp:97Carm: Carmageddon/plugins/carmageddon/c8b/c8b_platform.c:47Doom: Doom/plugins/doom_plugin.cpp:386Hex: Doom/plugins-hexen/heretic_plugin.cpp:395GBA: GBAEmulator/plugins/gba_plugin.cpp:160P8: Pico8/plugins/pico8_plugin.cpp:825Demo: MusRadio/plugins/demo_background_plugin.cpp:951KS: KS-C8B/src/platform/core8bit/plugin.cpp:240 |
screen_width |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:235BldP: Blood/plugins/blood_port/c8b/blood_plugin.cpp:124Carm: Carmageddon/plugins/carmageddon/c8b/carma_plugin.cpp:144Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:737Doom: Doom/plugins/doom_plugin.cpp:185Her: Doom/plugins-heretic/heretic_plugin.cpp:197Hex: Doom/plugins-hexen/heretic_plugin.cpp:206GBC: GBC/plugins/gbc_plugin.cpp:196NES: NESEmulator/plugins/nes_nofrendo/osd.c:121GBA: GBAEmulator/plugins/gba_plugin.cpp:884P8: Pico8/plugins/c8b_hal.cpp:223Demo: MusRadio/plugins/demo_background_plugin.cpp:794Gen: SegaGenesis/plugins/genesis_plugin.cpp:1422Test: PluginTest/plugins/test_plugin.cpp:174 |
screen_height |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:235BldP: Blood/plugins/blood_port/c8b/blood_plugin.cpp:124Carm: Carmageddon/plugins/carmageddon/c8b/carma_plugin.cpp:144Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:738Doom: Doom/plugins/doom_plugin.cpp:185Her: Doom/plugins-heretic/heretic_plugin.cpp:197Hex: Doom/plugins-hexen/heretic_plugin.cpp:206GBC: GBC/plugins/gbc_plugin.cpp:197NES: NESEmulator/plugins/nes_nofrendo/osd.c:122GBA: GBAEmulator/plugins/gba_plugin.cpp:885P8: Pico8/plugins/c8b_hal.cpp:224Demo: MusRadio/plugins/demo_background_plugin.cpp:798Gen: SegaGenesis/plugins/genesis_plugin.cpp:1423Test: PluginTest/plugins/test_plugin.cpp:175 |
alloc |
Bld: Blood/plugins/blood/c8b/c8b_system.c:61BldP: Blood/plugins/blood_port/c8b/c8b_system.c:61Carm: Carmageddon/plugins/carmageddon/c8b/c8b_system.c:269Duke: DukeNukem/plugins/duke3d/c8b/c8b_system.c:65Doom: Doom/plugins/i_system_c8b.c:142Her: Doom/plugins-heretic/i_system_c8b.c:167Hex: Doom/plugins-hexen/i_system_c8b.c:158GBA: GBAEmulator/plugins/gba_plugin.cpp:52Demo: MusRadio/plugins/demo_background_plugin.cpp:4102KS: KS-C8B/src/platform/core8bit/plugin.cpp:41Gen: SegaGenesis/plugins/genesis_plugin.cpp:541 |
free |
Bld: Blood/plugins/blood/c8b/c8b_system.c:69BldP: Blood/plugins/blood_port/c8b/c8b_system.c:69Carm: Carmageddon/plugins/carmageddon/c8b/c8b_system.c:422Duke: DukeNukem/plugins/duke3d/c8b/c8b_system.c:75Doom: Doom/plugins/i_system_c8b.c:185Her: Doom/plugins-heretic/i_system_c8b.c:221Hex: Doom/plugins-hexen/i_system_c8b.c:209NES: NESEmulator/plugins/nes_nofrendo/osd.c:274GBA: GBAEmulator/plugins/gba_plugin.cpp:70Demo: MusRadio/plugins/demo_background_plugin.cpp:4102Gen: SegaGenesis/plugins/genesis_plugin.cpp:522 |
get_free_mem |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:236BldP: Blood/plugins/blood_port/c8b/blood_plugin.cpp:125Carm: Carmageddon/plugins/carmageddon/c8b/c8b_system.c:468Duke: DukeNukem/plugins/duke3d/c8b/c8b_system.c:146Doom: Doom/plugins/doom_plugin.cpp:186Her: Doom/plugins-heretic/heretic_plugin.cpp:198Hex: Doom/plugins-hexen/heretic_plugin.cpp:207GBA: GBAEmulator/plugins/gba_plugin.cpp:893Gen: SegaGenesis/plugins/genesis_plugin.cpp:832 |
file_open |
Bld: Blood/plugins/blood/c8b/c8b_mapload.c:77BldP: Blood/plugins/blood_port/c8b/c8b_mapload.c:77Carm: Carmageddon/plugins/carmageddon/c8b/c8b_system.c:545Duke: DukeNukem/plugins/duke3d/stm32/startup.cpp:242Doom: Doom/plugins/stm32/startup.cpp:189Her: Doom/plugins-heretic/heretic_plugin.cpp:270Hex: Doom/plugins-hexen/stm32/startup.cpp:209GBC: GBC/plugins/gbc_plugin.cpp:361NES: NESEmulator/plugins/nes_nofrendo/osd.c:408GBA: GBAEmulator/plugins/gba_plugin.cpp:277P8: Pico8/plugins/pico8_plugin.cpp:508KS: KS-C8B/src/platform/core8bit/plugin.cpp:120Gen: SegaGenesis/plugins/genesis_plugin.cpp:527 |
file_read |
Bld: Blood/plugins/blood/c8b/c8b_mapload.c:32BldP: Blood/plugins/blood_port/c8b/c8b_mapload.c:32Carm: Carmageddon/plugins/carmageddon/c8b/c8b_system.c:563Duke: DukeNukem/plugins/duke3d/stm32/startup.cpp:281Doom: Doom/plugins/stm32/startup.cpp:231Her: Doom/plugins-heretic/heretic_plugin.cpp:273Hex: Doom/plugins-hexen/stm32/startup.cpp:257GBC: GBC/plugins/gbc_plugin.cpp:361NES: NESEmulator/plugins/nes_nofrendo/osd.c:436GBA: GBAEmulator/plugins/gba_plugin.cpp:303P8: Pico8/plugins/pico8_plugin.cpp:514KS: KS-C8B/src/platform/core8bit/plugin.cpp:122Gen: SegaGenesis/plugins/genesis_plugin.cpp:555 |
file_write |
Bld: Blood/plugins/blood/c8b/c8b_game.c:270BldP: Blood/plugins/blood_port/c8b/c8b_game.c:270Carm: Carmageddon/plugins/carmageddon/c8b/c8b_system.c:729Duke: DukeNukem/plugins/duke3d/stm32/startup.cpp:298Doom: Doom/plugins/stm32/startup.cpp:250Her: Doom/plugins-heretic/stm32/startup.cpp:269Hex: Doom/plugins-hexen/stm32/startup.cpp:276GBA: GBAEmulator/plugins/gba_plugin.cpp:282P8: Pico8/plugins/pico8_extra_bindings.cpp:676KS: KS-C8B/src/platform/core8bit/plugin.cpp:128 |
file_seek |
Bld: Blood/plugins/blood/c8b/c8b_rff.c:87BldP: Blood/plugins/blood_port/c8b/c8b_rff.c:87Carm: Carmageddon/plugins/carmageddon/c8b/c8b_system.c:553Duke: DukeNukem/plugins/duke3d/stm32/startup.cpp:306Doom: Doom/plugins/stm32/startup.cpp:258Her: Doom/plugins-heretic/stm32/startup.cpp:277Hex: Doom/plugins-hexen/stm32/startup.cpp:284 |
file_tell |
Bld: Blood/plugins/blood/stm32/startup.cpp:289BldP: Blood/plugins/blood_port/stm32/startup.cpp:284Carm: Carmageddon/plugins/carmageddon/c8b/c8b_system.c:553Duke: DukeNukem/plugins/duke3d/stm32/startup.cpp:307Doom: Doom/plugins/stm32/startup.cpp:259Her: Doom/plugins-heretic/stm32/startup.cpp:278Hex: Doom/plugins-hexen/stm32/startup.cpp:285 |
file_size |
Bld: Blood/plugins/blood/stm32/startup.cpp:303BldP: Blood/plugins/blood_port/stm32/startup.cpp:298Carm: Carmageddon/plugins/carmageddon/c8b/c8b_system.c:551Duke: DukeNukem/plugins/duke3d/stm32/startup.cpp:321Doom: Doom/plugins/stm32/startup.cpp:274Her: Doom/plugins-heretic/stm32/startup.cpp:293Hex: Doom/plugins-hexen/stm32/startup.cpp:300NES: NESEmulator/plugins/nes_nofrendo/osd.c:415GBA: GBAEmulator/plugins/gba_plugin.cpp:301P8: Pico8/plugins/pico8_plugin.cpp:510Gen: SegaGenesis/plugins/genesis_plugin.cpp:533 |
file_close |
Bld: Blood/plugins/blood/c8b/c8b_mapload.c:172BldP: Blood/plugins/blood_port/c8b/c8b_mapload.c:172Carm: Carmageddon/plugins/carmageddon/c8b/c8b_system.c:560Duke: DukeNukem/plugins/duke3d/stm32/startup.cpp:264Doom: Doom/plugins/stm32/startup.cpp:214Her: Doom/plugins-heretic/heretic_plugin.cpp:274Hex: Doom/plugins-hexen/stm32/startup.cpp:238GBC: GBC/plugins/gbc_plugin.cpp:361NES: NESEmulator/plugins/nes_nofrendo/osd.c:418GBA: GBAEmulator/plugins/gba_plugin.cpp:283P8: Pico8/plugins/pico8_plugin.cpp:515KS: KS-C8B/src/platform/core8bit/plugin.cpp:123Gen: SegaGenesis/plugins/genesis_plugin.cpp:537 |
get_framebuffer |
Bld: Blood/plugins/blood/c8b/c8b_nblood_bridge.cpp:1174BldP: Blood/plugins/blood_port/c8b/c8b_nblood_bridge.cpp:1198Carm: Carmageddon/plugins/carmageddon/c8b/c8b_platform.c:526Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:567Doom: Doom/plugins/doomgeneric_c8b.c:458Her: Doom/plugins-heretic/heretic_plugin.cpp:373Hex: Doom/plugins-hexen/hexen_plugin.cpp:394GBC: GBC/plugins/gbc_plugin.cpp:311NES: NESEmulator/plugins/nes_nofrendo/osd.c:131GBA: GBAEmulator/plugins/gba_plugin.cpp:579P8: Pico8/plugins/c8b_hal.cpp:244Demo: MusRadio/plugins/demo_background_plugin.cpp:793KS: KS-C8B/src/platform/core8bit/plugin.cpp:275Gen: SegaGenesis/plugins/genesis_plugin.cpp:1437Test: PluginTest/plugins/test_plugin.cpp:173 |
present |
— |
clear |
Carm: Carmageddon/plugins/carmageddon/c8b/carma_plugin.cpp:228GBC: GBC/plugins/gbc_plugin.cpp:671NES: NESEmulator/plugins/nes_nofrendo/osd.c:135P8: Pico8/plugins/c8b_hal.cpp:233Gen: SegaGenesis/plugins/genesis_plugin.cpp:1427Test: PluginTest/plugins/test_plugin.cpp:278 |
fill_rect |
GBC: GBC/plugins/gbc_plugin.cpp:762Test: PluginTest/plugins/test_plugin.cpp:281 |
blit_indexed8 |
Bld: Blood/plugins/blood/c8b/c8b_display.c:658BldP: Blood/plugins/blood_port/c8b/c8b_display.c:657Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:867Doom: Doom/plugins/doom_plugin.cpp:388Her: Doom/plugins-heretic/doomgeneric_c8b.c:563Hex: Doom/plugins-hexen/heretic_plugin.cpp:397P8: Pico8/plugins/c8b_hal.cpp:240Gen: SegaGenesis/plugins/genesis_plugin.cpp:1431 |
get_buttons |
Bld: Blood/plugins/blood/c8b/c8b_nblood_bridge.cpp:730BldP: Blood/plugins/blood_port/c8b/c8b_nblood_bridge.cpp:750Carm: Carmageddon/plugins/carmageddon/c8b/c8b_input.c:58Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:267Doom: Doom/plugins/doomgeneric_c8b.c:243Her: Doom/plugins-heretic/doomgeneric_c8b.c:257Hex: Doom/plugins-hexen/doomgeneric_c8b.c:240GBC: GBC/plugins/gbc_plugin.cpp:648NES: NESEmulator/plugins/nes_nofrendo/osd.c:324GBA: GBAEmulator/plugins/gba_plugin.cpp:679P8: Pico8/plugins/c8b_hal.cpp:89KS: KS-C8B/src/platform/core8bit/plugin.cpp:276Gen: SegaGenesis/plugins/genesis_plugin.cpp:437Test: PluginTest/plugins/test_plugin.cpp:243 |
get_buttons_pressed |
Bld: Blood/plugins/blood/c8b/c8b_game.c:574BldP: Blood/plugins/blood_port/c8b/c8b_game.c:575Carm: Carmageddon/plugins/carmageddon/c8b/c8b_input.c:59KS: KS-C8B/src/platform/core8bit/plugin.cpp:415 |
get_buttons_released |
Carm: Carmageddon/plugins/carmageddon/c8b/c8b_input.c:60 |
get_axis_x |
Bld: Blood/plugins/blood/c8b/c8b_nblood_bridge.cpp:694BldP: Blood/plugins/blood_port/c8b/c8b_nblood_bridge.cpp:714Carm: Carmageddon/plugins/carmageddon/c8b/c8b_input.c:61Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:258Doom: Doom/plugins/doomgeneric_c8b.c:239Her: Doom/plugins-heretic/doomgeneric_c8b.c:253Hex: Doom/plugins-hexen/doomgeneric_c8b.c:236GBA: GBAEmulator/plugins/gba_plugin.cpp:705P8: Pico8/plugins/c8b_hal.cpp:133KS: KS-C8B/src/platform/core8bit/plugin.cpp:419 |
get_axis_y |
Bld: Blood/plugins/blood/c8b/c8b_nblood_bridge.cpp:696BldP: Blood/plugins/blood_port/c8b/c8b_nblood_bridge.cpp:716Carm: Carmageddon/plugins/carmageddon/c8b/c8b_input.c:62Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:260Doom: Doom/plugins/doomgeneric_c8b.c:240Her: Doom/plugins-heretic/doomgeneric_c8b.c:254Hex: Doom/plugins-hexen/doomgeneric_c8b.c:237GBA: GBAEmulator/plugins/gba_plugin.cpp:705P8: Pico8/plugins/c8b_hal.cpp:133KS: KS-C8B/src/platform/core8bit/plugin.cpp:419 |
audio_queue |
Bld: Blood/plugins/blood/c8b/c8b_audio.c:226BldP: Blood/plugins/blood_port/c8b/c8b_audio.c:226Carm: Carmageddon/plugins/carmageddon/src/harness/audio/c8b.c:288Duke: DukeNukem/plugins/duke3d/c8b/c8b_audio.c:226Doom: Doom/plugins/i_sound_c8b.c:202Her: Doom/plugins-heretic/i_sound_c8b.c:216Hex: Doom/plugins-hexen/i_sound_c8b.c:222GBC: GBC/plugins/gbc_plugin.cpp:403NES: NESEmulator/plugins/nes_nofrendo/osd.c:204GBA: GBAEmulator/plugins/gba_plugin.cpp:967P8: Pico8/plugins/pico8_audio.cpp:639KS: KS-C8B/src/platform/core8bit/plugin.cpp:79Gen: SegaGenesis/plugins/genesis_plugin.cpp:1367 |
audio_get_free |
Bld: Blood/plugins/blood/c8b/c8b_audio.c:126BldP: Blood/plugins/blood_port/c8b/c8b_audio.c:126Carm: Carmageddon/plugins/carmageddon/c8b/c8b_audio.c:30Duke: DukeNukem/plugins/duke3d/c8b/c8b_audio.c:126Doom: Doom/plugins/i_sound_c8b.c:201Her: Doom/plugins-heretic/i_sound_c8b.c:216Hex: Doom/plugins-hexen/i_sound_c8b.c:222GBC: GBC/plugins/gbc_plugin.cpp:417NES: NESEmulator/plugins/nes_nofrendo/osd.c:200GBA: GBAEmulator/plugins/gba_plugin.cpp:552P8: Pico8/plugins/pico8_audio.cpp:623KS: KS-C8B/src/platform/core8bit/plugin.cpp:79Gen: SegaGenesis/plugins/genesis_plugin.cpp:1375 |
audio_get_sample_rate |
Carm: Carmageddon/plugins/carmageddon/src/harness/audio/c8b.c:463GBC: GBC/plugins/gbc_plugin.cpp:613NES: NESEmulator/plugins/nes_nofrendo/nes_nofrendo_plugin.cpp:588GBA: GBAEmulator/plugins/gba_plugin.cpp:1113P8: Pico8/plugins/pico8_plugin.cpp:816KS: KS-C8B/src/platform/core8bit/plugin.cpp:83 |
get_ticks_ms |
Bld: Blood/plugins/blood/c8b/c8b_nblood_bridge.cpp:176BldP: Blood/plugins/blood_port/c8b/c8b_nblood_bridge.cpp:176Carm: Carmageddon/plugins/carmageddon/c8b/c8b_platform.c:776Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:124Doom: Doom/plugins/doomgeneric_c8b.c:575Her: Doom/plugins-heretic/doomgeneric_c8b.c:617Hex: Doom/plugins-hexen/doomgeneric_c8b.c:510GBC: GBC/plugins/gbc_plugin.cpp:552NES: NESEmulator/plugins/nes_nofrendo/nes_nofrendo_plugin.cpp:686GBA: GBAEmulator/plugins/gba_plugin.cpp:590P8: Pico8/plugins/pico8_plugin.cpp:629KS: KS-C8B/src/platform/core8bit/plugin.cpp:90Gen: SegaGenesis/plugins/genesis_plugin.cpp:1392Test: PluginTest/plugins/test_plugin.cpp:93 |
delay_ms |
Bld: Blood/plugins/blood/c8b/c8b_sdl.c:462BldP: Blood/plugins/blood_port/c8b/c8b_sdl.c:462Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:1098NES: NESEmulator/plugins/nes_nofrendo/nes_nofrendo_plugin.cpp:669P8: Pico8/plugins/c8b_hal.cpp:383 |
log |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:194BldP: Blood/plugins/blood_port/c8b/blood_plugin.cpp:118Carm: Carmageddon/plugins/carmageddon/c8b/c8b_platform.c:608Duke: DukeNukem/plugins/duke3d/c8b/c8b_system.c:109Doom: Doom/plugins/doom_plugin.cpp:113Her: Doom/plugins-heretic/i_sound_c8b.c:168Hex: Doom/plugins-hexen/i_sound_c8b.c:172GBC: GBC/plugins/gbc_plugin.cpp:99NES: NESEmulator/plugins/nes_nofrendo/osd.c:259GBA: GBAEmulator/plugins/gba_plugin.cpp:162P8: Pico8/plugins/pico8_plugin.cpp:263Demo: MusRadio/plugins/demo_background_plugin.cpp:4113KS: KS-C8B/src/platform/core8bit/plugin.cpp:42Gen: SegaGenesis/plugins/genesis_plugin.cpp:518Test: PluginTest/plugins/test_plugin.cpp:89 |
request_exit |
Bld: Blood/plugins/blood/c8b/c8b_system.c:125BldP: Blood/plugins/blood_port/c8b/c8b_system.c:125Duke: DukeNukem/plugins/duke3d/c8b/c8b_system.c:130 |
exit_requested |
NES: NESEmulator/plugins/nes_nofrendo/nes_nofrendo_plugin.cpp:663GBA: GBAEmulator/plugins/gba_plugin.cpp:901P8: Pico8/plugins/pico8_plugin.cpp:1194Gen: SegaGenesis/plugins/genesis_plugin.cpp:1553 |
profile_begin |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:257BldP: Blood/plugins/blood_port/c8b/blood_plugin.cpp:154Carm: Carmageddon/plugins/carmageddon/c8b/c8b_system.c:791Duke: DukeNukem/plugins/duke3d/c8b/c8b_game.c:539Her: Doom/plugins-heretic/doomgeneric/doomgeneric/r_prof.h:25Hex: Doom/plugins-hexen/doomgeneric/doomgeneric/r_prof.h:25P8: Pico8/plugins/pico8_plugin.cpp:84Demo: MusRadio/plugins/demo_background_plugin.cpp:901Gen: SegaGenesis/plugins/genesis_plugin.cpp:224 |
profile_end |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:260BldP: Blood/plugins/blood_port/c8b/blood_plugin.cpp:156Carm: Carmageddon/plugins/carmageddon/c8b/c8b_system.c:797Duke: DukeNukem/plugins/duke3d/c8b/c8b_game.c:540Her: Doom/plugins-heretic/doomgeneric/doomgeneric/r_prof.h:29Hex: Doom/plugins-hexen/doomgeneric/doomgeneric/r_prof.h:29P8: Pico8/plugins/pico8_plugin.cpp:85Demo: MusRadio/plugins/demo_background_plugin.cpp:902Gen: SegaGenesis/plugins/genesis_plugin.cpp:225 |
profile_report |
Bld: Blood/plugins/blood/c8b/c8b_nblood_bridge.cpp:1923BldP: Blood/plugins/blood_port/c8b/c8b_nblood_bridge.cpp:1952Carm: Carmageddon/plugins/carmageddon/c8b/c8b_profile.h:36Duke: DukeNukem/plugins/duke3d/c8b/c8b_game.c:541Her: Doom/plugins-heretic/doomgeneric/doomgeneric/r_prof.h:33Hex: Doom/plugins-hexen/doomgeneric/doomgeneric/r_prof.h:33Gen: SegaGenesis/plugins/genesis_plugin.cpp:226 |
get_axis_rx |
Bld: Blood/plugins/blood/c8b/c8b_nblood_bridge.cpp:698BldP: Blood/plugins/blood_port/c8b/c8b_nblood_bridge.cpp:718Carm: Carmageddon/plugins/carmageddon/c8b/c8b_input.c:64Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:262Doom: Doom/plugins/doom_plugin.cpp:167Her: Doom/plugins-heretic/heretic_plugin.cpp:179Hex: Doom/plugins-hexen/heretic_plugin.cpp:188GBA: GBAEmulator/plugins/gba_plugin.cpp:706P8: Pico8/plugins/c8b_hal.cpp:137KS: KS-C8B/src/platform/core8bit/plugin.cpp:420 |
get_axis_ry |
Bld: Blood/plugins/blood/c8b/c8b_nblood_bridge.cpp:700BldP: Blood/plugins/blood_port/c8b/c8b_nblood_bridge.cpp:720Carm: Carmageddon/plugins/carmageddon/c8b/c8b_input.c:66Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:264Doom: Doom/plugins/doom_plugin.cpp:168Her: Doom/plugins-heretic/heretic_plugin.cpp:180Hex: Doom/plugins-hexen/heretic_plugin.cpp:189GBA: GBAEmulator/plugins/gba_plugin.cpp:706P8: Pico8/plugins/c8b_hal.cpp:137KS: KS-C8B/src/platform/core8bit/plugin.cpp:420 |
file_mkdir |
Bld: Blood/plugins/blood/stm32/startup.cpp:217BldP: Blood/plugins/blood_port/stm32/startup.cpp:212Carm: Carmageddon/plugins/carmageddon/stm32/startup.cpp:697Duke: DukeNukem/plugins/duke3d/stm32/startup.cpp:235Doom: Doom/plugins/stm32/startup.cpp:182Her: Doom/plugins-heretic/stm32/startup.cpp:201Hex: Doom/plugins-hexen/stm32/startup.cpp:202GBC: GBC/plugins/gbc_plugin.cpp:495 |
file_rename |
Bld: Blood/plugins/blood/stm32/startup.cpp:323BldP: Blood/plugins/blood_port/stm32/startup.cpp:318Carm: Carmageddon/plugins/carmageddon/stm32/startup.cpp:585Duke: DukeNukem/plugins/duke3d/stm32/startup.cpp:341Doom: Doom/plugins/stm32/startup.cpp:296Her: Doom/plugins-heretic/stm32/startup.cpp:315Hex: Doom/plugins-hexen/stm32/startup.cpp:322P8: Pico8/plugins/pico8_plugin.cpp:1327 |
file_remove |
Bld: Blood/plugins/blood/stm32/startup.cpp:313BldP: Blood/plugins/blood_port/stm32/startup.cpp:308Carm: Carmageddon/plugins/carmageddon/stm32/startup.cpp:534Duke: DukeNukem/plugins/duke3d/stm32/startup.cpp:331Doom: Doom/plugins/stm32/startup.cpp:284Her: Doom/plugins-heretic/stm32/startup.cpp:303Hex: Doom/plugins-hexen/stm32/startup.cpp:310P8: Pico8/plugins/pico8_extra_bindings.cpp:677 |
get_fast_buffer |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:96BldP: Blood/plugins/blood_port/c8b/c8b_display.c:550Carm: Carmageddon/plugins/carmageddon/c8b/carma_plugin.cpp:244Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:583Doom: Doom/plugins/doom_plugin.cpp:387Hex: Doom/plugins-hexen/heretic_plugin.cpp:396GBA: GBAEmulator/plugins/gba_plugin.cpp:160Demo: MusRadio/plugins/demo_background_plugin.cpp:2209KS: KS-C8B/src/platform/core8bit/plugin.cpp:231 |
get_fast_buffer_size |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:97BldP: Blood/plugins/blood_port/c8b/c8b_display.c:550Carm: Carmageddon/plugins/carmageddon/c8b/carma_plugin.cpp:252Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:584Doom: Doom/plugins/doom_plugin.cpp:387Hex: Doom/plugins-hexen/heretic_plugin.cpp:396GBA: GBAEmulator/plugins/gba_plugin.cpp:161Demo: MusRadio/plugins/demo_background_plugin.cpp:2209KS: KS-C8B/src/platform/core8bit/plugin.cpp:231 |
set_fast_buffer_mode |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:96GBA: GBAEmulator/plugins/gba_plugin.cpp:160 |
invalidate_icache |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:97GBA: GBAEmulator/plugins/gba_plugin.cpp:161P8: Pico8/plugins/pico8_jit.cpp:104 |
fast_buffer_prefetch |
Bld: Blood/plugins/blood/c8b/c8b_display.c:553BldP: Blood/plugins/blood_port/c8b/c8b_display.c:553Carm: Carmageddon/plugins/carmageddon/c8b/c8b_tvr.c:15045Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:585 |
fast_buffer_wait |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:104BldP: Blood/plugins/blood_port/c8b/c8b_display.c:555Carm: Carmageddon/plugins/carmageddon/c8b/c8b_tvr.c:900Duke: DukeNukem/plugins/duke3d/c8b/c8b_display.c:586GBA: GBAEmulator/plugins/gba_plugin.cpp:179Demo: MusRadio/plugins/demo_background_plugin.cpp:2212 |
fill_rect_blend |
Demo: MusRadio/plugins/demo_background_plugin.cpp:2768 |
blit_indexed8_blend |
Demo: MusRadio/plugins/demo_background_plugin.cpp:2734 |
alloc_lock |
— |
alloc_unlock |
— |
alloc_is_locked |
— |
alloc_get_used |
— |
dir_open |
Carm: Carmageddon/plugins/carmageddon/stm32/startup.cpp:636 |
dir_read |
Carm: Carmageddon/plugins/carmageddon/stm32/startup.cpp:636 |
dir_close |
Carm: Carmageddon/plugins/carmageddon/stm32/startup.cpp:636 |
list_entries |
Carm: Carmageddon/plugins/carmageddon/stm32/startup.cpp:639 |
set_working_directory |
Bld: Blood/plugins/blood/c8b/c8b_game.c:294BldP: Blood/plugins/blood_port/c8b/c8b_game.c:294 |
fill_rect_dma |
Demo: MusRadio/plugins/demo_background_plugin.cpp:951 |
get_cycles |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:145Carm: Carmageddon/plugins/carmageddon/c8b/c8b_tvr.c:127GBA: GBAEmulator/plugins/gba_plugin.cpp:909KS: KS-C8B/src/platform/core8bit/plugin.cpp:90 |
is_valid_code_ptr |
Carm: Carmageddon/plugins/carmageddon/c8b/c8b_raster.c:57 |
get_dep_buffer |
Carm: Carmageddon/plugins/carmageddon/c8b/carma_plugin.cpp:261 |
fast_buffer_prefetch_to |
Bld: Blood/plugins/blood/c8b/c8b_display.c:554BldP: Blood/plugins/blood_port/c8b/c8b_display.c:554Carm: Carmageddon/plugins/carmageddon/c8b/c8b_tvr.c:900 |
load_itcm_overlay |
Bld: Blood/plugins/blood/c8b/blood_plugin.cpp:114Carm: Carmageddon/plugins/carmageddon/c8b/c8b_tvr.c:1948 |
frame_scratch_prefetch_to |
Carm: Carmageddon/plugins/carmageddon/lib/BRender/drivers/softrend/v1model.c:156 |
get_depth_strip |
Carm: Carmageddon/plugins/carmageddon/c8b/carma_plugin.cpp:308GBA: GBAEmulator/plugins/gba_plugin.cpp:801P8: Pico8/plugins/pico8_plugin.cpp:825 |
present_set_async |
BldP: Blood/plugins/blood_port/c8b/blood_plugin.cpp:97Carm: Carmageddon/plugins/carmageddon/c8b/carma_plugin.cpp:233GBA: GBAEmulator/plugins/gba_plugin.cpp:828KS: KS-C8B/src/platform/core8bit/plugin.cpp:240 |
present_wait |
BldP: Blood/plugins/blood_port/c8b/blood_plugin.cpp:97Carm: Carmageddon/plugins/carmageddon/c8b/c8b_platform.c:47GBA: GBAEmulator/plugins/gba_plugin.cpp:828KS: KS-C8B/src/platform/core8bit/plugin.cpp:240 |
bios_debug |
Carm: Carmageddon/plugins/carmageddon/c8b/carma_plugin.cpp:540 |