05.15 Firmware Updates

* Updated most of the Resources file lists to include firmware-related information (added, (un)changed, removed)
* Added new image resources for the latest May 15th firmware
* Updated some images files previews to contain the fake name extensions as well
* Added detail about the removal of per-game button maps from May 15th firmware
* Renamed the sound previews to contain the fake name extensions as well
This commit is contained in:
vonmillhausen 2023-05-16 22:36:45 +01:00
parent cb6e8a392f
commit 210e468698
94 changed files with 172 additions and 149 deletions

321
README.md
View File

@ -124,6 +124,8 @@ The firmware for the SF2000 is actually located on the microSD card, in a file c
### Button Mappings/Key Bindings ### Button Mappings/Key Bindings
`osaka#9664` discovered that the OS supports loading game-specific key bindings from `.kmp` files, stored in the `save` folder for each system and named after a game's ROM file (e.g., `/FC/save/Game Name.EXT.kmp`). They also discovered where in the `biserv.asd` file the default mappings for each emulator are stored. Working with this information, `notv37#4200` worked out what bits related to what buttons for each emulator. Using both their findings, we now have a tool which can be used to update both the global button mappings for the emulators, as well as create per-ROM mappings - you can [find this tool here](https://vonmillhausen.github.io/sf2000/tools/buttonMappingChanger.htm). `osaka#9664` discovered that the OS supports loading game-specific key bindings from `.kmp` files, stored in the `save` folder for each system and named after a game's ROM file (e.g., `/FC/save/Game Name.EXT.kmp`). They also discovered where in the `biserv.asd` file the default mappings for each emulator are stored. Working with this information, `notv37#4200` worked out what bits related to what buttons for each emulator. Using both their findings, we now have a tool which can be used to update both the global button mappings for the emulators, as well as create per-ROM mappings - you can [find this tool here](https://vonmillhausen.github.io/sf2000/tools/buttonMappingChanger.htm).
Note that the game-specific key bindings function may have been removed from the May 15th firmware.
### Boot Logo ### Boot Logo
When the device is powered on, a "Welcome" image is displayed for a short time before the main menu appears. This image comes from inside `biserv.asd`, at offset `0x9B91D8`. It's a `512x200` RGB565 Little Endian raw image file, and looks like this: When the device is powered on, a "Welcome" image is displayed for a short time before the main menu appears. This image comes from inside `biserv.asd`, at offset `0x9B91D8`. It's a `512x200` RGB565 Little Endian raw image file, and looks like this:
@ -134,189 +136,210 @@ The image is _actually_ displayed at half-resolution on the internal display tho
--- ---
## Resources ## Resources
The Resources folder on the microSD card contains all of the resources used by the device's firmware to construct the user interface at runtime. The following tables list the files from the `20230420` firmware and what they are used for, grouped by broad categories: The Resources folder on the microSD card contains all of the resources used by the device's firmware to construct the user interface at runtime. The following tables list the files from various firmware versions (the numbered columns, in approximate `mm.dd` format) and what they are used for, grouped by broad categories. Resolution and format given are for the latest firmware version only; details may be different for older firmwares. The icons in the firmware columns have the following meanings:
- ✨: file is new to this firmware version
- ✅: file is unchanged this firmware version
- 🚩: file is changed this firmware version
- ❌: file is removed this firmware version
### Fonts ### Fonts
| Filename | Description | | Filename | 03.15 | 04.20 | 05.15 | Description |
| -------- | ----------- | | -------- | ----- | ----- | ----- | ----------- |
| `Arial_cn.ttf` | The "Arial" typeface, containing Latin, Greek, Cyrillic, Chinese, and Japanese characters. Duplicate of `yahei_Arial.ttf`, the single font file from the original firmware version | | `Arial_cn.ttf` | | ✨ | ✅ | The "Arial" typeface, containing Latin, Greek, Cyrillic, Chinese, and Japanese characters. Duplicate of `yahei_Arial.ttf`, the single font file from the original firmware version |
| `Arial_en.ttf` | The "Arial" typeface, containing Latin, Greek, Cyrillic, Armenian, Hebrew and Arabic characters | | `Arial_en.ttf` | | ✨ | ✅ | The "Arial" typeface, containing Latin, Greek, Cyrillic, Armenian, Hebrew and Arabic characters |
| `Arial_jp.ttf` | The "Arial" typeface, containing Latin, Greek, Cyrillic, Chinese and Japanese characters | | `Arial_jp.ttf` | | ✨ | ✅ | The "Arial" typeface, containing Latin, Greek, Cyrillic, Chinese and Japanese characters |
| `Arial_kr.ttf` | The "Arial" typeface, containing Latin, Greek, Cyrillic, Chinese, Japanese and Korean characters | | `Arial_kr.ttf` | | ✨ | ✅ | The "Arial" typeface, containing Latin, Greek, Cyrillic, Chinese, Japanese and Korean characters |
| `Tahoma.ttf` | The "Tahoma" typeface, containing Latin, Greek, Cyrillic, Armenian, Hebrew, Arabic and Thai characters | | `Tahoma.ttf` | | ✨ | ✅ | The "Tahoma" typeface, containing Latin, Greek, Cyrillic, Armenian, Hebrew, Arabic and Thai characters |
| `yahei_Arial.ttf` | The "Arial" typeface, containing Latin, Greek, Cyrillic, Chinese, Japanese and Korean characters | | `yahei_Arial.ttf` | ✨ | ✅ | ✅ | The "Arial" typeface, containing Latin, Greek, Cyrillic, Chinese, Japanese and Korean characters |
### Images (Used) ### Images (Used)
As far as I am aware, all of the below images are actively used by the `20230420` version of the firmware; happy to take any corrections if it turns out any of them are unused! Note that while the stock theme is based around a `640x480` resolution, the actual _display_ on the SF2000 is a `320x240` one. The OS on the device uses nearest-neighbour scaling for its images, giving the stock UI a somewhat aliased appearance. If you're planning to make your own theme for the SF2000, design it for `320x240`, and then double the resolution when exporting the final images to the device for a crisper look on the internal panel. As far as I am aware, all of the below images are actively used by the `20230420` version of the firmware; happy to take any corrections if it turns out any of them are unused! Note that while the stock theme is based around a `640x480` resolution, the actual _display_ on the SF2000 is a `320x240` one. The OS on the device uses nearest-neighbour scaling for its images, giving the stock UI a somewhat aliased appearance. If you're planning to make your own theme for the SF2000, design it for `320x240`, and then double the resolution when exporting the final images to the device for a crisper look on the internal panel.
| Filename | Resolution | Format | Description | View | | Filename | Resolution | Format | 03.15 | 04.20 | 05.15 | Description | View |
| -------- | ---------- | ------ | ----------- | ---- | | -------- | ---------- | ------ | ----- | ----- | ----- | ----------- | ---- |
| `aepic.nec` | 576x256 | BGRA | Main menu labels in Korean | [view](/images/aepic.png) | | `aepic.nec` | 1008x164 | BGRA | | ✨ | 🚩 | User settings screen icons and labels in Korean | [view](/images/aepic.nec.png) |
| `apisa.dlk` | 640x480 | RGB565 Little Endian | Arcade game list background | [view](/images/apisa.png) | | `apisa.dlk` | 640x480 | RGB565 Little Endian | ✨ | ✅ | 🚩 | Arcade game-list background | [view](/images/apisa.dlk.png) |
| `appvc.ikb` | 150x214 | BRGA | Game art placeholder | [view](/images/appvc.png) | | `appvc.ikb` | 150x214 | BRGA | ✨ | ✅ | ✅ | Game art placeholder | [view](/images/appvc.png) |
| `awusa.tax` | 576x256 | BRGA | Main menu labels in Thai | [view](/images/awusa.png) | | `awusa.tax` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in Thai | [view](/images/awusa.tax.png) |
| `bisrv.nec` | 640x480 | RGB565 Little Endian | In-game menu (position 3) | [view](/images/bisrv.png) | | `bisrv.nec` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | In-game menu (position 3) | [view](/images/bisrv.png) |
| `bttlve.kbp` | 60x144 | BGRA | Battery level indicator icons | [view](/images/bttlve.png) | | `bttlve.kbp` | 60x144 | BGRA | ✨ | ✅ | ✅ | Battery level indicator icons | [view](/images/bttlve.png) |
| `c1eac.pal` | 640x480 | RGB565 Little Endian | SNES game-list background | [view](/images/c1eac.png) | | `c1eac.pal` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | SNES game-list background | [view](/images/c1eac.png) |
| `cero.phl` | 640x480 | RGB565 Little Endian | Game Boy Color game-list background | [view](/images/cero.png) | | `cero.phl` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Game Boy Color game-list background | [view](/images/cero.png) |
| `certlm.msa` | 40x24 | BGRA | NES game-list indicator | [view](/images/certlm.png) | | `certlm.msa` | 40x24 | BGRA | ✨ | ✅ | ✅ | NES game-list indicator | [view](/images/certlm.png) |
| `d2d1.hgp` | 640x480 | RGB565 Little Endian | In-game menu (position 2) | [view](/images/d2d1.png) | | `cketp.bvs` | 640x816 | RGB565 Little Endian | | | ✨ | The console selection images at the bottom of the new button mapping feature screen | [view](/images/cketp.bvs.png) |
| `dism.csf` | 640x480 | RGB565 Little Endian | In-game menu (position 1) | [view](/images/dism.png) | | `d2d1.hgp` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | In-game menu (position 2) | [view](/images/d2d1.png) |
| `djctq.rsd` | 40x24 | BGRA | SNES game-list indicator | [view](/images/djctq.png) | | `dism.cef` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | In-game menu (position 1) | [view](/images/dism.png) |
| `djoin.nec` | 576x256 | BRGA | Main menu labels in Spanish | [view](/images/djoin.png) | | `djctq.rsd` | 40x24 | BGRA | ✨ | ✅ | ✅ | SNES game-list indicator | [view](/images/djctq.png) |
| `dpskc.ctp` | 640x320 | RGB565 Little Endian | In-game menu save-state slots (positions 1, 2, 3 and 4) | [view](/images/dpskc.png) | | `djoin.nec` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in Spanish | [view](/images/djoin.nec.png) |
| `drivr.ers` | 640x480 | RGB565 Little Endian | SNES main menu background | [view](/images/drivr.png) | | `dpskc.ctp` | 640x320 | RGB565 Little Endian | ✨ | ✅ | ✅ | In-game menu save-state slots (positions 1, 2, 3 and 4) | [view](/images/dpskc.png) |
| `dsuei.cpl` | 640x480 | RGB565 Little Endian | User ROMs main menu background | [view](/images/dsuei.png) | | `drivr.ers` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | SNES main menu background | [view](/images/drivr.png) |
| `dxdiag.bin` | 40x24 | BGRA | Genesis/Mega Drive game-list indicator | [view](/images/dxdiag.png) | | `dsuei.cpl` | 640x480 | RGB565 Little Endian | ✨ | ✅ | 🚩 | User ROMs main menu background | [view](/images/dsuei.cpl.png) |
| `dxkgi.ctp` | 576x256 | BRGA | Main menu labels in English | [view](/images/dxkgi.png) | | `dxdiag.bin` | 40x24 | BGRA | ✨ | ✅ | ✅ | Genesis/Mega Drive game-list indicator | [view](/images/dxdiag.png) |
| `dxva2.nec` | 640x480 | RGB565 Little Endian | Search keyboard (pressed) | [view](/images/dxva2.png) | | `dxkgi.ctp` | 1008x164 | BRGA | ✨ | ✅ | 🚩 | User settings screen icons and labels in English | [view](/images/dxkgi.ctp.png) |
| `ectte.bke` | 161x126 | BRGA | Main menu icon selection box | [view](/images/ectte.png) | | `dxva2.nec` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Search keyboard (pressed) | [view](/images/dxva2.png) |
| `efsui.stc` | 640x480 | RGB565 Little Endian | Game Boy Advance game-list background | [view](/images/efsui.png) | | `ectte.bke` | 161x126 | BRGA | ✨ | ✅ | ✅ | Main menu icon selection box | [view](/images/ectte.png) |
| `esent.bvs` | 576x256 | BRGA | Main menu labels in Turkish | [view](/images/esent.png) | | `efsui.stc` | 640x480 | RGB565 Little Endian | ✨ | ✅ | 🚩 | Game Boy Advance game-list background | [view](/images/efsui.stc.png) |
| `exaxz.hsp` | 152x1224 | BRGA | Main menu "Games Exist" and "Start: Open" labels for all languages | [view](/images/exaxz.png) | | `esent.bvs` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in Turkish | [view](/images/esent.bvs.png) |
| `fixas.ctp` | 640x480 | RGB565 Little Endian | NES main menu background | [view](/images/fixas.png) | | `exaxz.hsp` | 152x1224 | BRGA | ✨ | 🚩 | ✅ | Main menu "Games Exist" and "Start: Open" labels for all languages | [view](/images/exaxz.png) |
| `fltmc.sta` | 640x480 | RGB565 Little Endian | Game Boy game-list background | [view](/images/fltmc.png) | | `fixas.ctp` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | NES main menu background | [view](/images/fixas.png) |
| `fvecpl.ai` | 40x24 | BGRA | Game Boy game-list indicator | [view](/images/fvecpl.png) | | `fltmc.sta` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Game Boy game-list background | [view](/images/fltmc.png) |
| `gpsvc.bvs` | 392x80 | RGB565 Little Endian | In-game menu save-state slot (position 3) | [view](/images/gpsvc.png) | | `fvecpl.ai` | 40x24 | BGRA | ✨ | ✅ | ✅ | Game Boy game-list indicator | [view](/images/fvecpl.png) |
| `hctml.ers` | 640x480 | RGB565 Little Endian | Arcade main menu background | [view](/images/hctml.png) | | `gakne.ctp` | 576x256 | BGRA | | | ✨ | A new copy of the English menu labels image, identical to older versions of `dxkgi.ctp` (which was changed entirely in `05.15`) | [view](/images/gakne.ctp.png) |
| `hgcpl.cke` | 392x80 | RGB565 Little Endian | In-game menu save-state slot (position 2) | [view](/images/hgcpl.png) | | `gkavc.ers` | 576x256 | BGRA | | | ✨ | A new copy of the Chinese menu labels image, identical to older versions of `itiss.ers` (which was changed entirely in `05.15`) | [view](/images/gkavc.ers.png) |
| `hlink.bvs` | 640x480 | RGB565 Little Endian | Search keyboard (hover) | [view](/images/hlink.png) | | `gpsvc.bvs` | 392x80 | RGB565 Little Endian | ✨ | ✅ | ✅ | In-game menu save-state slot (position 3) | [view](/images/gpsvc.png) |
| `htui.kcc` | 40x24 | BGRA | Game Boy Color game-list indicator | [view](/images/htui.png) | | `hctml.ers` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Arcade main menu background | [view](/images/hctml.png) |
| `icm32.dll` | 40x24 | BGRA | Game Boy Advance game-list indicator | [view](/images/icm32.png) | | `hgcpl.cke` | 392x80 | RGB565 Little Endian | ✨ | ✅ | ✅ | In-game menu save-state slot (position 2) | [view](/images/hgcpl.png) |
| `icuin.cpl` | 640x480 | RGB565 Little Endian | Genesis/Mega Drive main menu background | [view](/images/icuin.png) | | `hlink.bvs` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Search keyboard (hover) | [view](/images/hlink.png) |
| `igc64.dll` | 217x37 | BGRA | "Yes" and "No" text, with "No" selected; used when being asked if you want to overwrite a save-game slot | [view](/images/igc64.png) | | `htui.kcc` | 40x24 | BGRA | ✨ | ✅ | ✅ | Game Boy Color game-list indicator | [view](/images/htui.png) |
| `ihdsf.bke` | 640x480 | RGB565 Little Endian | Genesis/Mega Drive game-list background | [view](/images/ihdsf.png) | | `icm32.dll` | 40x24 | BGRA | ✨ | ✅ | ✅ | Game Boy Advance game-list indicator | [view](/images/icm32.png) |
| `irftp.ctp` | 640x480 | RGB565 Little Endian | Game Boy Advance main menu background | [view](/images/irftp.png) | | `icuin.cpl` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Genesis/Mega Drive main menu background | [view](/images/icuin.png) |
| `irmon.tax` | 576x256 | BRGA | Main menu labels in Dutch | [view](/images/irmon.png) | | `igc64.dll` | 217x37 | BGRA | ✨ | ✅ | ✅ | "Yes" and "No" text, with "No" selected; used when being asked if you want to overwrite a save-game slot | [view](/images/igc64.png) |
| `itiss.ers` | 576x256 | BRGA | Main menu labels in Chinese | [view](/images/itiss.png) | | `ihdsf.bke` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Genesis/Mega Drive game-list background | [view](/images/ihdsf.png) |
| `jccatm.kbp` | 640x480 | RGB565 Little Endian | "Battery Empty" screen | [view](/images/jccatm.png) | | `irftp.ctp` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Game Boy Advance main menu background | [view](/images/irftp.png) |
| `ke89a.bvs` | 576x256 | BRGA | Main menu labels in Portuguese | [view](/images/ke89a.png) | | `irmon.tax` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in Dutch | [view](/images/irmon.tax.png) |
| `ksxbar.ax` | 392x80 | RGB565 Little Endian | In-game menu save-state slot (position 4) | [view](/images/ksxbar.png) | | `itiss.ers` | 1008x164 | BRGA | ✨ | ✅ | 🚩 | User settings screen icons and labels in Chinese | [view](/images/itiss.ers.png) |
| `lfsvc.dll` | 640x480 | RGB565 Little Endian | Search game-list background | [view](/images/lfsvc.png) | | `jccatm.kbp` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | "Battery Empty" screen | [view](/images/jccatm.png) |
| `mksh.rcv` | 640x480 | RGB565 Little Endian | Search keyboard (normal) | [view](/images/mksh.png) | | `ke89a.bvs` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in Portuguese | [view](/images/ke89a.bvs.png) |
| `msdmo.gdb` | 392x80 | RGB565 Little Endian | In-game menu save-state slot (position 1) | [view](/images/msdmo.png) | | `kmbcj.acp` | 640x480 | RGB565 Little Endian | | | ✨ | The full-screen background image for the new button mapping screen | [view](/images/kmbcj.acp.png) |
| `msgsm.dll` | 40x24 | BGRA | Arcade game-list indicator | [view](/images/msgsm.png) | | `ksxbar.ax` | 392x80 | RGB565 Little Endian | ✨ | ✅ | ✅ | In-game menu save-state slot (position 4) | [view](/images/ksxbar.png) |
| `mssvp.nec` | 576x256 | BRGA | Main menu labels in Japanese | [view](/images/mssvp.png) | | `lfsvc.dll` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Search game-list background | [view](/images/lfsvc.png) |
| `normidna.bin` | 40x24 | BGRA | Search game-list indicator | [view](/images/normidna.png) | | `lk7tc.bvs` | 52x192 | BGRA | | | ✨ | Transparent labels for the button assignments in the new button mapping feature; these are the ones overlaid on the big SF2000 image showing the current assignments | [view](/images/lk7tc.bvs.png) |
| `ntdll.bvs` | 576x256 | BRGA | Main menu labels in Polish | [view](/images/ntdll.png) | | `lkvax.aef` | 640x480 | RGB565 Little Endian | | | ✨ | History game-list background | [view](/images/lkvax.aef.png) |
| `pcadm.nec` | 576x256 | BRGA | Main menu labels in Italian | [view](/images/pcadm.png) | | `mkhbc.rcv` | 640x1440 | RGB565 Little Endian | | | ✨ | Six vertically-stacked images of the SF2000 with different buttons highlighted, used as part of the new button mapping feature's UI | [view](/images/mkhbc.rcv.png) |
| `pwsso.occ` | 640x480 | RGB565 Little Endian | In-game menu (position 4) | [view](/images/pcadm.png) | | `mksh.rcv` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Search keyboard (normal) | [view](/images/mksh.png) |
| `qasf.bel` | 640x480 | RGB565 Little Endian | User game-list background | [view](/images/qasf.png) | | `msdmo.gdb` | 392x80 | RGB565 Little Endian | ✨ | ✅ | ✅ | In-game menu save-state slot (position 1) | [view](/images/msdmo.png) |
| `qwave.bke` | 640x480 | RGB565 Little Endian | Game Boy Color main menu background | [view](/images/qwave.png) | | `msgsm.dll` | 40x24 | BGRA | ✨ | ✅ | ✅ | Arcade game-list indicator | [view](/images/msgsm.png) |
| `rmapi.tax` | 576x256 | BRGA | Main menu labels in German | [view](/images/rmapi.png) | | `mssvp.nec` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in Japanese | [view](/images/mssvp.nec.png) |
| `sdclt.occ` | 120x2280 | RGB565 Little Endian | TV system and UI language selection icons | [view](/images/sdclt.png) | | `normidna.bin` | 40x24 | BGRA | ✨ | ✅ | ✅ | Search game-list indicator | [view](/images/normidna.png) |
| `sebsc.bvs` | 576x256 | BRGA | Main menu labels in French | [view](/images/sebsc.png) | | `ntdll.bvs` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in Polish | [view](/images/ntdll.bvs.png) |
| `sfcdr.cpl` | 576x1344 | BRGA | Main menu system logos | [view](/images/sfcdr.png) | | `okcg2.old` | 32x32 | BGRA | | | ✨ | The star icon that appears beside favourited games in the game-lists | [view](/images/okcg2.old.png) |
| `subst.tax` | 576x256 | BRGA | Main menu labels in Russian | [view](/images/subst.png) | | `pcadm.nec` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in Italian | [view](/images/pcadm.nec.png) |
| `ucby4.aax` | 576x256 | BRGA | Main menu labels in Arabic | [view](/images/ucby4.png) | | `pwsso.occ` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | In-game menu (position 4) | [view](/images/pwsso.png) |
| `urlkp.bvs` | 640x480 | RGB565 Little Endian | NES game-list background | [view](/images/urlkp.png) | | `qasf.bel` | 640x480 | RGB565 Little Endian | ✨ | ✅ | 🚩 | User game-list background | [view](/images/qasf.bel.png) |
| `vidca.bvs` | 576x256 | BRGA | Main menu labels in Hebrew | [view](/images/vidca.png) | | `qwave.bke` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Game Boy Color main menu background | [view](/images/qwave.png) |
| `vssvc.nec` | 576x256 | BRGA | Main menu labels in Malay | [view](/images/vssvc.png) | | `rmapi.tax` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in German | [view](/images/rmapi.png) |
| `wshrm.nec` | 217x37 | BGRA | "Yes" and "No" text, with "Yes" selected; used when being asked if you want to overwrite a save-game slot | [view](/images/wshrm.png) | | `sdclt.occ` | 120x240 | RGB565 Little Endian | ✨ | 🚩 | 🚩 | TV system selection icons | [view](/images/sdclt.occ.png) |
| `xajkg.hsp` | 640x480 | RGB565 Little Endian | Game Boy main menu background | [view](/images/xajkg.png) | | `sensc.bvs` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in French | [view](/images/sensc.bvs.png) |
| `sfcdr.cpl` | 576x1344 | BRGA | ✨ | 🚩 | ✅ | Main menu system logos | [view](/images/sfcdr.png) |
| `subst.tax` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in Russian | [view](/images/subst.tax.png) |
| `ucby4.aax` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in Arabic | [view](/images/ucby4.aax.png) |
| `urlkp.bvs` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | NES game-list background | [view](/images/urlkp.png) |
| `uyhbc.dck` | 640x480 | RGB565 Little Endian | | | ✨ | Favourites game-list background | [view](/images/uyhbc.dck.png) |
| `vidca.bvs` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in Hebrew | [view](/images/vidca.bvs.png) |
| `vssvc.nec` | 1008x164 | BRGA | | ✨ | 🚩 | User settings screen icons and labels in Malay | [view](/images/vssvc.nec.png) |
| `wshrm.nec` | 217x37 | BGRA | ✨ | ✅ | ✅ | "Yes" and "No" text, with "Yes" selected; used when being asked if you want to overwrite a save-game slot | [view](/images/wshrm.png) |
| `xajkg.hsp` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Game Boy main menu background | [view](/images/xajkg.png) |
| `ztrba.nec` | 64x320 | RGB565 Little Endian | | | ✨ | Non-transparent labels for the button assignments in the new button mapping feature; these are the ones that pop up when you go to change a button assignment | [view](/images/ztrba.nec.png) |
### Images (Unused) ### Images (Unused)
To the best of my knowledge, the following image files are currently __unused__ by the `20230420` firmware, and were probably left over from previous devices (the SF2000 shares a bit of lineage with some USB-stick devices) or development. The images marked "Alternate UI" below appear to have been for a UI where the systems were scrolled through horizontally, and the "shortcut" games for each system were scrolled vertically. To the best of my knowledge, the following image files are currently __unused__ by the `20230420` firmware, and were probably left over from previous devices (the SF2000 shares a bit of lineage with some USB-stick devices) or development. The images marked "Alternate UI" below appear to have been for a UI where the systems were scrolled through horizontally, and the "shortcut" games for each system were scrolled vertically.
| Filename | Resolution | Format | Description | View | | Filename | Resolution | Format | 03.15 | 04.20 | 05.15 | Description | View |
| -------- | ---------- | ------ | ----------- | ---- | | -------- | ---------- | ------ | ----- | ----- | ----- | ----------- | ---- |
| `aeinv.bke` | 640x480 | RGB565 Little Endian | Alternate UI: Genesis/Mega Drive main menu background | [view](/images/unused/aeinv.png) | | `aeinv.bke` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: Genesis/Mega Drive main menu background | [view](/images/unused/aeinv.bke.png) |
| `aepic.ers` | 640x480 | RGB565 Little Endian | Alternate UI: User main menu background | [view](/images/unused/aepic.png) | | `aepic.ers` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: User main menu background | [view](/images/unused/aepic.ers.png) |
| `c1e.pal` | 640x480 | RGB565 Little Endian | CPS2 game-list background | [view](/images/unused/c1e.png) | | `c1e.pal` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | CPS2 game-list background | [view](/images/unused/c1e.pal.png) |
| `cca.bvs` | 640x480 | RGB565 Little Endian | In-game menu (position 1; Chinese language hardcoded) | [view](/images/unused/cca.png) | | `cca.bvs` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | In-game menu (position 1; Chinese language hardcoded) | [view](/images/unused/cca.bvs.png) |
| `dectMap.key` | 640x480 | RGB565 Little Endian | Button test screen (active) | [view](/images/unused/dectMap.png) | | `dectMap.key` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Button test screen (active) | [view](/images/unused/dectMap.key.png) |
| `desk.cpl` | 640x480 | RGB565 Little Endian | Eight-game selection screen | [view](/images/unused/desk.png) | | `desk.cpl` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Eight-game selection screen | [view](/images/unused/desk.cpl.png) |
| `djoin.hsp` | 640x480 | RGB565 Little Endian | Alternate UI: Arcade main menu background | [view](/images/unused/djoin.png) | | `djoin.hsp` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: Arcade main menu background | [view](/images/unused/djoin.hsp.png) |
| `fcont.ctp` | 640x480 | RGB565 Little Endian | Alternate UI: User main menu background | [view](/images/unused/fcont.png) | | `fcont.ctp` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: User main menu background | [view](/images/unused/fcont.ctp.png) |
| `fdbil.ph` | 1100x120 | BGRA | Large icons for each system, including systems not supported by the SF2000 (selected) | [view](/images/unused/fdbil.png) | | `fdbil.ph` | 1100x120 | BGRA | ✨ | ✅ | ✅ | Large icons for each system, including systems not supported by the SF2000 (selected) | [view](/images/unused/fdbil.ph.png) |
| `gpapi.bvs` | 640x480 | RGB565 Little Endian | In-game menu (position 5; looks like it was for some kind of button layout changing UI) | [view](/images/unused/gpapi.png) | | `gpapi.bvs` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | In-game menu (position 5; looks like it was for some kind of button layout changing UI) | [view](/images/unused/gpapi.bvs.png) |
| `ihds.bke` | 640x480 | RGB565 Little Endian | Genesis/Mega Drive game-list background, with baked-in thumbnail placeholder | [view](/images/unused/ihds.png) | | `ihds.bke` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Genesis/Mega Drive game-list background, with baked-in thumbnail placeholder | [view](/images/unused/ihds.bke.png) |
| `kdill.hsp` | 640x480 | RGB565 Little Endian | Alternate UI: Game Boy Advance main menu background | [view](/images/unused/kdill.png) | | `kdill.hsp` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: Game Boy Advance main menu background | [view](/images/unused/kdill.hsp.png) |
| `logilda.be` | 40x24 | BGRA | CPS1 game-list indicator | [view](/images/unused/logilda.png) | | `logilda.be` | 40x24 | BGRA | ✨ | ✅ | ✅ | CPS1 game-list indicator | [view](/images/unused/logilda.be.png) |
| `mfc64.emc` | 40x24 | BGRA | CPS2 game-list indicator | [view](/images/unused/mfc64.png) | | `mfc64.emc` | 40x24 | BGRA | ✨ | ✅ | ✅ | CPS2 game-list indicator | [view](/images/unused/mfc64.emc.png) |
| `mfpmp.ers` | 640x480 | RGB565 Little Endian | Alternate UI: Arcade main menu background | [view](/images/unused/mfpmp.png) | | `mfpmp.ers` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: Arcade main menu background | [view](/images/unused/mfpmp.ers.png) |
| `mrtac.klo` | 40x24 | BGRA | Neogeo game-list indicator | [view](/images/unused/mrtac.png) | | `mhg4s.ihg` | 400x192 | RGB565 Little Endian | | | ✨ | Background and buttons for a "warning" prompt with "OK", "Yes" and "No" buttons. Also has rounded edges stored in a separate image file, `zaqrc.olc` | [view](/images/unused/mhg4s.ihg.png) |
| `msdtc.bke` | 640x480 | RGB565 Little Endian | Alternate UI: Game Boy Advance main menu background | [view](/images/unused/msdtc.png) | | `mrtac.klo` | 40x24 | BGRA | ✨ | ✅ | ✅ | Neogeo game-list indicator | [view](/images/unused/mrtac.klo.png) |
| `mswbv.cpl` | 640x480 | RGB565 Little Endian | Alternate UI: Game Boy Advance main menu background | [view](/images/unused/mswbv.png) | | `msdtc.bke` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: Game Boy Advance main menu background | [view](/images/unused/msdtc.bke.png) |
| `nettrace.dll` | 40x24 | BGRA | Unknown game-list indicator (grey joystick with yellow buttons) | [view](/images/unused/nettrace.png) | | `mswbv.cpl` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: Game Boy Advance main menu background | [view](/images/unused/mswbv.cpl.png) |
| `nsibm.ctp` | 640x480 | RGB565 Little Endian | Alternate UI: Arcade main menu background | [view](/images/unused/nsibm.png) | | `nettrace.dll` | 40x24 | BGRA | ✨ | ✅ | ✅ | Unknown game-list indicator (grey joystick with yellow buttons) | [view](/images/unused/nettrace.dll.png) |
| `nvinf.hsp` | 16x240 | BGRA | Latin numbers 0 to 9 listed vertically | [view](/images/unused/nvinf.png) | | `nsibm.ctp` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: Arcade main menu background | [view](/images/unused/nsibm.ctp.png) |
| `nvinfohsp` | 640x480 | RGB565 Little Endian | Alternate UI: Genesis/Mega Drive main menu background (note: there's no extension separator for this file, I suspect the file name is typo'd in the filesystem!) | [view](/images/unused/nvinfohsp.png) | | `nvinf.hsp` | 16x240 | BGRA | ✨ | ✅ | ✅ | Latin numbers 0 to 9 listed vertically | [view](/images/unused/nvinf.hsp.png) |
| `pcadm.hsp` | 640x480 | RGB565 Little Endian | Alternate UI: User main menu background (NTSC TV system selected) | [view](/images/unused/pcadm.png) | | `nvinfohsp` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: Genesis/Mega Drive main menu background (note: there's no extension separator for this file, I suspect the file name is typo'd in the filesystem!) | [view](/images/unused/nvinfohsp.png) |
| `plasy.ers` | 640x480 | RGB565 Little Endian | Alternate UI: Game Boy Advance main menu background | [view](/images/unused/plasy.png) | | `pcadm.hsp` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: User main menu background (NTSC TV system selected) | [view](/images/unused/pcadm.hsp.png) |
| `rmapi.cpl` | 640x480 | RGB565 Little Endian | Alternate UI: User main menu background (English UI language selected) | [view](/images/unused/rmapi.png) | | `plasy.ers` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: Game Boy Advance main menu background | [view](/images/unused/plasy.ers.png) |
| `seltMap.key` | 640x480 | RGB565 Little Endian | Button test screen | [view](/images/unused/seltMap.png) | | `rmapi.cpl` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: User main menu background (English UI language selected) | [view](/images/unused/rmapi.cpl.png) |
| `spmpm.gdp` | 640x480 | RGB565 Little Endian | Alternate UI: NES game-list background, with baked-in thumbnail placeholder | [view](/images/unused/spmpm.png) | | `seltMap.key` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Button test screen | [view](/images/unused/seltMap.key.png) |
| `subst.bke` | 640x480 | RGB565 Little Endian | Alternate UI: Arcade main menu background | [view](/images/unused/subst.png) | | `spmpm.gdp` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: NES game-list background, with baked-in thumbnail placeholder | [view](/images/unused/spmpm.gdp.png) |
| `tsmcf.cpl` | 640x480 | RGB565 Little Endian | Alternate UI: Arcade main menu background | [view](/images/unused/tsmcf.png) | | `subst.bke` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: Arcade main menu background | [view](/images/unused/subst.bke.png) |
| `url.bvs` | 640x480 | RGB565 Little Endian | CPS1 game-list background | [view](/images/unused/url.png) | | `tsmcf.cpl` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Alternate UI: Arcade main menu background | [view](/images/unused/tsmcf.cpl.png) |
| `werui.ioc` | 320x240 | RGB565 Little Endian | "NODATA" save-state thumbnail placeholder image, with a "horror" style typeface | [view](/images/unused/werui.png) | | `url.bvs` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | CPS1 game-list background | [view](/images/unused/url.bvs.png) |
| `wshom.ocx` | 1100x120 | BGRA | Large icons for each system, including systems not supported by the SF2000 (normal) | [view](/images/unused/wshom.png) | | `werui.ioc` | 320x240 | RGB565 Little Endian | ✨ | ✅ | ✅ | "NODATA" save-state thumbnail placeholder image, with a "horror" style typeface | [view](/images/unused/werui.ioc.png) |
| `x86e.hgp` | 640x480 | RGB565 Little Endian | Neo Geo game-list background | [view](/images/unused/x86e.png) | | `wshom.ocx` | 1100x120 | BGRA | ✨ | ✅ | ✅ | Large icons for each system, including systems not supported by the SF2000 (normal) | [view](/images/unused/wshom.ocx.png) |
| `x86e.hgp` | 640x480 | RGB565 Little Endian | ✨ | ✅ | ✅ | Neo Geo game-list background | [view](/images/unused/x86e.hgp.png) |
| `zaqrc.olc` | 8x224 | BGRA | | | ✨ | Rounded ends that pair with the warning dialogue stored in `mhg4s.ihg` | [view](/images/zaqrc.olc.png) |
### Other Files ### Other Files
These are other files that have been identified, which don't fit into the other categories. Non-Latin characters in the files are encoded in UTF-8. These are other files that have been identified, which don't fit into the other categories. Non-Latin characters in the files are encoded in UTF-8.
| Filename | Description | | Filename | 03.15 | 04.20 | 05.15 | Description |
| -------- | ----------- | | -------- | ----- | ----- | ----- | ----------- |
| `Archive.sys` | Stores the settings for UI language and TV system. Two 32-bit words (4-bytes), little endian. The first is UI language; `0x00000000` is English, `0x01000000` is Chinese, etc.. The second is the TV system setting; `0x00000000` is NTSC, `0x01000000` is PAL | | `Archive.sys` | ✨ | 🚩 | ✅ | Stores the settings for UI language and TV system. Two 32-bit words (4-bytes), little endian. The first is UI language; `0x00000000` is English, `0x01000000` is Chinese, etc.. The second is the TV system setting; `0x00000000` is NTSC, `0x01000000` is PAL. Note the "🚩" icon here indicates the format of the data, or the permissible values were changed (as opposed to the data itself, which will vary from device to device based on user settings) |
| `bfrjd.odb` | UI strings in Korean | | `bfrjd.odb` | | ✨ | 🚩 | UI strings in Korean |
| `bxvtb.sby` | UI strings in Thai | | `bxvtb.sby` | | ✨ | 🚩 | UI strings in Thai |
| `dufdr.cwr` | UI strings in Turkish | | `dufdr.cwr` | | ✨ | 🚩 | UI strings in Turkish |
| `eknjo.ofd` | UI strings in Spanish | | `eknjo.ofd` | | ✨ | 🚩 | UI strings in Spanish |
| `fhshl.skb` | UI strings in English | | `fhshl.skb` | ✨ | ✅ | 🚩 | UI strings in English |
| `Foldername.ini` | Used to control menu rotation for the main menu (this information came from the 4PDA forum) | | `Foldername.ini` | ✨ | 🚩 | | Used to control menu rotation for the main menu (this information came from the 4PDA forum) |
| `jsnno.uby` | UI strings in Dutch | | `History.bin` | | | ✨ | Used to store the history of played ROMs; only appears after the first game is played after installing the 05.15 or later firmware. User ROMs are not added to history, only built-in games. If a built-in game that is referenced in history is removed from the device, the device will crash when trying to view the History screen. You can delete the History.bin file to clear the device's history; there is no built-in functionality to do so |
| `kcbn7.avc` | Duplicate copy of `bisrv.asd`, the main firmware for the device which is found in the BIOS folder | | `jsnno.uby` | | ✨ | 🚩 | UI strings in Dutch |
| `lf9lb.cut` | UI strings in Portuguese | | `kcbn7.avc` | | ✨ | ❌ | Duplicate copy of `bisrv.asd`, the main firmware for the device which is found in the BIOS folder |
| `ntrcq.oba` | UI strings in Japanese | | `KeyMapInfo.kmp` | | | ✨ | Used to store the user-assignable global button mappings for each emulated system |
| `ouenj.dut` | UI strings in Polish | | `lf9lb.cut` | | ✨ | 🚩 | UI strings in Portuguese |
| `qdbec.ofd` | UI strings in Italian | | `ntrcq.oba` | | ✨ | 🚩 | UI strings in Japanese |
| `sgotd.cwt` | UI strings in French | | `ouenj.dut` | | ✨ | 🚩 | UI strings in Polish |
| `snbqj.uby` | UI strings in German | | `qdbec.ofd` | | ✨ | 🚩 | UI strings in Italian |
| `t2act.sgf` | UI strings in Chinese | | `sgotd.cwt` | | ✨ | 🚩 | UI strings in French |
| `Test.zsf` | A SNES ROM, which displays a controller test program | | `snbqj.uby` | | ✨ | 🚩 | UI strings in German |
| `tvctu.uby` | UI strings in Russian | | `t2act.sgf` | ✨ | ✅ | 🚩 | UI strings in Chinese |
| `vdaz5.bjk` | UI strings in Arabic | | `Test.zsf` | | ✨ | ❌ | A SNES ROM, which displays a controller test program |
| `wtrxj.lbd` | UI strings in Malay | | `tvctu.uby` | | ✨ | 🚩 | UI strings in Russian |
| `xjebd.clq` | UI strings in Hebrew | | `vdaz5.bjk` | | ✨ | 🚩 | UI strings in Arabic |
| `wtrxj.lbd` | | ✨ | 🚩 | UI strings in Malay |
| `xjebd.clq` | | ✨ | 🚩 | UI strings in Hebrew |
### ROM Lists ### ROM Lists
Credit for this section goes to `taizou#9644`, author of [Frog Tool](https://github.com/tzlion/frogtool). These files relate to the built-in game lists under each main system; the list of games is pulled from these files instead of being built at runtime - annoying, but presumably for performance reasons. It means if you want to change the list of built-in games (instead of using the User ROMs section), you have to edit these files - hence Frog Tool, you should really check it out. Credit for this section goes to `taizou#9644`, author of [Frog Tool](https://github.com/tzlion/frogtool). These files relate to the built-in game-lists under each main system; the list of games is pulled from these files instead of being built at runtime - annoying, but presumably for performance reasons. It means if you want to change the list of built-in games (instead of using the User ROMs section), you have to edit these files - hence Frog Tool, you should really check it out.
| Files | Description | | Files | Description |
| ----- | ----------- | | ----- | ----------- |
| `mfpmp.bvs` (Arcade), `mgdel.bvs` (Game Boy Color), `nethn.bvs` (NES), `qdvd6.bvs` (Game Boy), `sppnp.bvs` (Game Boy Advance), `wmiui.bvs` (Genesis/Mega Drive), `xvb6c.bvs` (SNES) | Pinyin translations of the English ROM names, used for Chinese language searching. Not all game names are translated | | `mfpmp.bvs` (Arcade), `mgdel.bvs` (Game Boy Color), `nethn.bvs` (NES), `qdvd6.bvs` (Game Boy), `sppnp.bvs` (Game Boy Advance), `wmiui.bvs` (Genesis/Mega Drive), `xvb6c.bvs` (SNES) | Pinyin translations of the English ROM names, used for Chinese language searching. Not all game names are translated |
| `adsnt.nec` (SNES), `fhcfg.nec` (NES), `htuiw.nec` (Game Boy Advance), `msdtc.nec` (Arcade), `setxa.nec` (Genesis/Mega Drive), `umboa.nec` (Game Boy), `wjere.nec` (Game Boy Color) | Chinese translations of the English ROM names, used to display the game lists when the UI language is set to Chinese. Not all game names are translated | | `adsnt.nec` (SNES), `fhcfg.nec` (NES), `htuiw.nec` (Game Boy Advance), `msdtc.nec` (Arcade), `setxa.nec` (Genesis/Mega Drive), `umboa.nec` (Game Boy), `wjere.nec` (Game Boy Color) | Chinese translations of the English ROM names, used to display the game-lists when the UI language is set to Chinese. Not all game names are translated |
| `mswb7.tax` (Arcade), `pnpui.tax` (Game Boy Color), `rdbui.tax` (NES), `scksp.tax` (Genesis/Mega Drive), `urefs.tax` (SNES), `vdsdc.tax` (Game Boy), `vfnet.tax` (Game Boy Advance) | English ROM Names, used to display the game lists when the UI language is set to English | | `mswb7.tax` (Arcade), `pnpui.tax` (Game Boy Color), `rdbui.tax` (NES), `scksp.tax` (Genesis/Mega Drive), `urefs.tax` (SNES), `vdsdc.tax` (Game Boy), `vfnet.tax` (Game Boy Advance) | English ROM Names, used to display the game-lists when the UI language is set to English |
| `xfgle.hgp`, `xfgle.hgp.bak` | The `xfgle.hgp` file contains the ROM "shortcuts" on the main menu for each game system. The `xfgle.hgp.bak` file appears to be a test version of this file that was not removed from the firmware before being sent to production | | `xfgle.hgp`, `xfgle.hgp.bak` | The `xfgle.hgp` file contains the ROM "shortcuts" on the main menu for each game system. The `xfgle.hgp.bak` file appears to be a test version of this file that was not removed from the firmware before being sent to production |
| `TSMFK.TAX` | This is a ROM list file similar to the other `.tax` files, except it is built at run-time from the ROM files in the user roms folder. The file is regenerated each time the device boots | | `TSMFK.TAX` | This is a ROM list file similar to the other `.tax` files, except it is built at run-time from the ROM files in the user roms folder. The file is regenerated each time the device boots |
### Sounds ### Sounds
There are several sound files in the `20230420` firmware, stored in raw signed 16-bit PCM format (mono, little-endian at 22050 Hz). The SF2000 seems to play the files back at an incorrect sample rate vs. the raw data; if you want to customise the background music, resample your audio to 21543 Hz, and then speed the audio up to 22050 Hz, using the resulting audio as the raw data (credit to `notv37#4200` in Discord for doing the math on that). There are several sound files in the `20230420` firmware, stored in raw signed 16-bit PCM format (mono, little-endian at 22050 Hz). The SF2000 seems to play the files back at an incorrect sample rate vs. the raw data; if you want to customise the background music, resample your audio to 21543 Hz, and then speed the audio up to 22050 Hz, using the resulting audio as the raw data (credit to `notv37#4200` in Discord for doing the math on that).
| Filename | Description | Listen | | Filename | 03.15 | 04.20 | 05.15 | Description | Listen |
| -------- | ----------- | ------ | | -------- | ----- | ----- | ----- | ----------- | ------ |
| `c2fkec.pgt` | "Popping" sound that is played when moving around the search keyboard | [listen](/sounds/c2fkec.mp3) | | `c2fkec.pgt` | ✨ | ✅ | 🚩 | "Popping" sound that is played when moving around the search keyboard | [listen](/sounds/c2fkec.pgt.mp3) |
| `dpnet.dll` | "Downwards Zap" sound, unknown usage | [listen](/sounds/dpnet.mp3) | | `dpnet.dll` | ✨ | ✅ | ✅ | "Downwards Zap" sound, unknown usage | [listen](/sounds/dpnet.dll.mp3) |
| `dsreg.bvs` | "Upwards Bleeping" sound, unknown usage | [listen](/sounds/dsreg.mp3) | | `dsreg.bvs` | ✨ | ✅ | ✅ | "Upwards Bleeping" sound, unknown usage | [listen](/sounds/dsreg.bvs.mp3) |
| `help.lis` | "Double Buzzer" sound, unknown usage | [listen](/sounds/help.mp3) | | `help.lis` | ✨ | ✅ | ✅ | "Double Buzzer" sound, unknown usage | [listen](/sounds/help.lis.mp3) |
| `mfsvr.nkf` | "Beep" sound that is played when entering a letter on the search keyboard | [listen](/sounds/mfsvr.mp3) | | `mfsvr.nkf` | ✨ | ✅ | 🚩 | "Beep" sound that is played when entering a letter on the search keyboard | [listen](/sounds/mfsvr.nkf.mp3) |
| `nyquest.gdb` | "Whooshing" sound that is played when switching between emulated systems on the main menu, between the "Resume", "Quit", "Load" and "Save" options on the in-game menu, and scrolling by pages within a system's game-list | [listen](/sounds/nyquest.mp3) | | `nyquest.gdb` | ✨ | ✅ | 🚩 | "Whooshing" sound that is played when switching between emulated systems on the main menu, between the "Resume", "Quit", "Load" and "Save" options on the in-game menu, and scrolling by pages within a system's game-list | [listen](/sounds/nyquest.gdb.mp3) |
| `oldversion.kbe` | "Three Note Upward Chime" sound that is played when deleting a letter on the search keyboard | [listen](/sounds/oldversion.mp3) | | `oldversion.kbe` | ✨ | ✅ | 🚩 | "Three Note Upward Chime" sound that is played when deleting a letter on the search keyboard | [listen](/sounds/oldversion.kbe.mp3) |
| `pagefile.sys` | Main menu background music. If you don't like background music, and would rather just have silence, you can [find a replacement silent `pagefile.sys` here](/sounds/silentMusic/pagefile.sys) - just replace the one in the `Resources` folder (don't forget to backup the original file first, in case you ever want that jaunty tune again!) | [listen](/sounds/pagefile.mp3) | | `pagefile.sys` | ✨ | ✅ | 🚩 | Main menu background music. If you don't like background music, and would rather just have silence, you can [find a replacement silent `pagefile.sys` here](/sounds/silentMusic/pagefile.sys) - just replace the one in the `Resources` folder (don't forget to backup the original file first, in case you ever want that jaunty tune again!) | [listen](/sounds/pagefile.sys.mp3) |
| `swapfile.sys` | "Squishy" sound played when navigating horizontally through "shortcut" games on the main menu, or vertically within a system's game-list | [listen](/sounds/swapfile.mp3) | | `swapfile.sys` | ✨ | ✅ | ✅ | "Squishy" sound played when navigating horizontally through "shortcut" games on the main menu, or vertically within a system's game-list | [listen](/sounds/swapfile.sys.mp3) |
### Unknown Files ### Unknown Files
These are files that I have not yet determined what they do; if anyone has any information on these, do post about it in the Data Frog channel in the Retro Handhelds Discord server please! These are files that I have not yet determined what they do; if anyone has any information on these, do post about it in the Data Frog channel in the Retro Handhelds Discord server please!
| Filename | Description | | Filename | 03.15 | 04.20 | 05.15 | Description |
| -------- | ----------- | | -------- | ----- | ----- | ----- | ----------- |
| `kcnuv.lit` | UNKNOWN; a bunch of 4-byte binary chunks (e.g., `0xC4 0x00 0x00 0x00`), followed by a list of .NES ROM file names. Very similar to the `.bvs`/`.nec`/`.tax` files detailed above, but doesn't have the same type of "header" they have | | `kcnuv.lit` | ✨ | ✅ | ✅ | UNKNOWN; a bunch of 4-byte binary chunks (e.g., `0xC4 0x00 0x00 0x00`), followed by a list of .NES ROM file names. Very similar to the `.bvs`/`.nec`/`.tax` files detailed above, but doesn't have the same type of "header" they have |
--- ---
## Version History ## Version History
20230516 - 1.9: Updated most of the Resources file lists to include firmware-related information (added, (un)changed, removed). Added new image resources for the latest May 15th firmware. Updated some images files previews to contain the fake name extensions as well. Added detail about the removal of per-game button maps from May 15th firmware. Renamed the sound previews to contain the fake name extensions as well.
20230513 - 1.8: Discovered two "unused" images (the yes/no buttons) are indeed actually used, when being asked if you want to overwrite a saved game. Fixed a few typos. Changed formatting of file names used throughout. A bit more info on A/V out. 20230513 - 1.8: Discovered two "unused" images (the yes/no buttons) are indeed actually used, when being asked if you want to overwrite a saved game. Fixed a few typos. Changed formatting of file names used throughout. A bit more info on A/V out.
20230512 - 1.7: Added a note about stock battery runtime. Added a section with information about A/V output performance. Added a bit of info about PAL/NTSC region speed for Genesis/Mega Drive. Retitled the "bisrv.asd" section to make it clearer that's the BIOS/firmware. 20230512 - 1.7: Added a note about stock battery runtime. Added a section with information about A/V output performance. Added a bit of info about PAL/NTSC region speed for Genesis/Mega Drive. Retitled the "bisrv.asd" section to make it clearer that's the BIOS/firmware.

BIN
images/aepic.nec.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

BIN
images/awusa.tax.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

BIN
images/cketp.bvs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

BIN
images/djoin.nec.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

BIN
images/dsuei.cpl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

BIN
images/dxkgi.ctp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

BIN
images/efsui.stc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

BIN
images/esent.bvs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

BIN
images/irmon.tax.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

BIN
images/itiss.ers.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

BIN
images/ke89a.bvs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

BIN
images/kmbcj.acp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

BIN
images/lk7tc.bvs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
images/lkvax.aef.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
images/mkhbc.rcv.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

BIN
images/mssvp.nec.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

BIN
images/ntdll.bvs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

BIN
images/okcg2.old.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
images/pcadm.nec.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

BIN
images/qasf.bel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

BIN
images/rmapi.tax.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

BIN
images/sdclt.occ.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 KiB

BIN
images/sensc.bvs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

BIN
images/subst.tax.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

BIN
images/ucby4.aax.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

View File

Before

Width:  |  Height:  |  Size: 211 KiB

After

Width:  |  Height:  |  Size: 211 KiB

View File

Before

Width:  |  Height:  |  Size: 186 KiB

After

Width:  |  Height:  |  Size: 186 KiB

View File

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 91 KiB

View File

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 92 KiB

View File

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 92 KiB

View File

Before

Width:  |  Height:  |  Size: 263 KiB

After

Width:  |  Height:  |  Size: 263 KiB

View File

Before

Width:  |  Height:  |  Size: 187 KiB

After

Width:  |  Height:  |  Size: 187 KiB

View File

Before

Width:  |  Height:  |  Size: 177 KiB

After

Width:  |  Height:  |  Size: 177 KiB

View File

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 145 KiB

View File

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 97 KiB

View File

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

View File

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 148 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 163 KiB

After

Width:  |  Height:  |  Size: 163 KiB

BIN
images/unused/mhg4s.ihg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 138 KiB

View File

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 135 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 182 KiB

After

Width:  |  Height:  |  Size: 182 KiB

View File

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 174 KiB

View File

Before

Width:  |  Height:  |  Size: 177 KiB

After

Width:  |  Height:  |  Size: 177 KiB

View File

Before

Width:  |  Height:  |  Size: 180 KiB

After

Width:  |  Height:  |  Size: 180 KiB

View File

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View File

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View File

Before

Width:  |  Height:  |  Size: 163 KiB

After

Width:  |  Height:  |  Size: 163 KiB

View File

Before

Width:  |  Height:  |  Size: 182 KiB

After

Width:  |  Height:  |  Size: 182 KiB

View File

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 73 KiB

View File

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 138 KiB

View File

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 88 KiB

BIN
images/unused/zaqrc.olc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 776 B

BIN
images/uyhbc.dck.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
images/vidca.bvs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

BIN
images/vssvc.nec.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

BIN
images/ztrba.nec.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB