Updated GB_model_t (markdown)

Lior Halphon 2024-11-24 22:29:59 +02:00
parent 89582e33df
commit 2853273b84
1 changed files with 34 additions and 1 deletions

@ -44,4 +44,37 @@ In `model.h`
## Description
TBD
Each value in this enum represents a Game Boy model and SOC revision that can be passed to [[GB_init]] or [[GB_switch_model_and_reset]]. Commented out values are currently not supported, and have their values reserved for future use.
The values in this enum are:
* `GB_MODEL_DMG_*`: A SOC revision of an original Game Boy
* `GB_MODEL_SGB` and `GB_MODEL_SGB_NTSC`: A Super Game Boy SOC inside a high-level-emulated SFC or NTSC SNES
* `GB_MODEL_SGB_PAL`: A Super Game Boy SOC inside a high-level-emulated PAL SNES
* `GB_MODEL_SGB_NO_SFC` and `GB_MODEL_SGB_NTSC_NO_SFC`: A Super Game Boy SOC, for used with integration with SFC or NTSC SNES emulators
* `GB_MODEL_SGB_PAL_NO_SFC`: A Super Game Boy SOC, for used with integration with PAL SNES emulators
* `GB_MODEL_SGB2`: A Super Game Boy 2 SOC inside a high-level-emulated SFC or SNES
* `GB_MODEL_SGB2_NO_SFC`: A Super Game Boy 2 SOC, for used with integration with SFC or SNES emulators
* `GB_MODEL_MGB`: A Game Boy Pocket SOC, also found in a Game Boy Light
* `GB_MODEL_CGB_*`: A SOC revision of a Game Boy Color. The recommended revision is `GB_MODEL_CGB_E`.
* `GB_MODEL_AGB_*`: A SOC revision of a Game Boy Advance.
* `GB_MODEL_GBP_*`: A SOC revision of a Game Boy Advance inside a Game Boy Player
Additionally, the following macros can extract properties from a `GB_model_t` value:
* `GB_MODEL_FAMILY_MASK`: Use this mask to extract the model family of a `GB_model_t` value:
* `GB_MODEL_DMG_FAMILY`: This model belongs to the original Game Boy and Super Game Boy line of SOCs
* `GB_MODEL_MGB_FAMILY`: This model belongs to the Game Boy Pocket and Super Game Boy 2 line of SOCs
* `GB_MODEL_CGB_FAMILY`: This model belongs to the Game Boy Color or Game Boy Advance lines of SOCs
* `GB_MODEL_GBP_BIT`: This bit will be set if this model is a Game Boy Advance SOC in a Game Boy Player
* `GB_MODEL_PAL_BIT`: This bit will be set if this model is a Super Game Boy inside a PAL console
* ``GB_MODEL_NO_SFC_BIT`: This bit will be set if this model is a Super Game Boy that delegates emulation of the SFC or SNES side to outside of the core.
## See Also
* [[Instance Allocation (GB_init)|Instance Allocation]]
* [[GB_switch_model_and_reset]]
* [[GB_get_model]]
* [[GB_get_state_model]]
* [[GB_is_cgb]]
* [[GB_is_hle_sgb]]
* [[GB_is_sgb]]