Starting address for font data and the necessary fonts with the following constants must be requested with this function.
Offset to the section starting data
SYD_BT_FNT_ASCII_24_OFS | ASCII ASCII |
SYD_BT_FNT_WEST_24_OFS | ISO 8859-1 8-bit code second half for overseas |
SYD_BT_FNT_JISX_24_OFS | JIS X 0201 8-bit code second half for Japan |
SYD_BT_FNT_KANA_24_OFS | Shift JIS part1 Full character Japanese kana |
SYD_BT_FNT_LVL1_24_OFS | Shift JIS part2 Japanese kanji first standard part |
SYD_BT_FNT_LVL2_24_OFS | Shift JIS part3 Japanese kanji second standard part |
SYD_BT_FNT_GAIJ_24_OFS | GAIJI Special characters |
SYD_BT_FNT_VMSICON_OFS | VM default label icons |
Section data size
SYD_BT_FNT_ASCII_24_SIZE | ASCII ASCII |
SYD_BT_FNT_WEST_24_SIZE | ISO 8859-1 8-bit code second half for overseas |
SYD_BT_FNT_JISX_24_SIZE | JIS X 0201 8-bit code second half for Japan |
SYD_BT_FNT_KANA_24_SIZE | Shift JIS part1 Full character Japanese kana |
SYD_BT_FNT_LVL1_24_SIZE | Shift JIS part2 Japanese kanji first standard part |
SYD_BT_FNT_LVL2_24_SIZE | Shift JIS part3 Japanese kanji second standard part |
SYD_BT_FNT_GAIJ_24_SIZE | GAIJISpecial characters |
SYD_BT_FNT_VMSICON_SIZE | VM default label icons |
Representative character code for each section (2 byte Japanese is Shift JIS code):
SYD_BT_FNT_CODE_ASCII_MIN | First ASCII code |
SYD_BT_FNT_CODE_ASCII_MAX | Last ASCII code |
SYD_BT_FNT_CODE_8BIT_MIN | First 8-bit code |
SYD_BT_FNT_CODE_8BIT_MAX | Last 8-bit code |
SYD_BT_FNT_CODE_KANA_MIN | First 2 byte code |
SYD_BT_FNT_CODE_KANA_MAX | Last Japanese kana code |
SYD_BT_FNT_CODE_LVL1_MIN | First kanji first standard code |
SYD_BT_FNT_CODE_LVL1_MAX | Last kanji first standard code |
SYD_BT_FNT_CODE_LVL2_MIN | First kanji second standard code |
SYD_BT_FNT_CODE_LVL2_MAX | Last kanji second standard code |
SYD_BT_FNT_GAIJ_MIN | First special character code |
SYD_BT_FNT_GAIJ_MAX | Last special character code |
SYD_BT_FNT_ICON_MIN | First visual memory icon code |
SYD_BT_FNT_ICON_MAX | Last visual memory icon code |
#define SMD_WRK_ADDR (0x0c020000) main() { void *smFntAddr, *smTheFntAddr; void *smWrkAddr; Uint8 smTheCode; smFntAddr = syBtFntGet(); smWrkAddr = (void *)SMD_WRK_ADDR; smTheCode = '?'; /* evaluate the font address in Boot ROM */ smTheFntAddr = (void *)((Uint8)smFntAddr + SYD_BT_FNT_WORK_ASCII_24_OFS + (smTheCode - SYD_BT_FNT_CODE_ASCII_MIN) * SYD_BT_FNT_24_SIZE_HAN ); /* font semaphore check */ if( syBtFntChkSmph() == SYD_BT_FNT_SMPH_SUCCESS ) { /* copy 1 letter to work RAM from Boot ROM */ memcpy( smTheFntAddr, smWrkAddr, SYD_BT_FNT_24_SIZE_HAN ); /* font semaphore clear */ syBtFntClrSmph(); } }