Update README.md

Updated the CFW FAQ with some more details on the multicore experiment. Fixed a typo (Cave Story, not Cave Store - thanks `neddunn`!).
This commit is contained in:
vonmillhausen 2023-10-20 12:11:01 +01:00
parent b5f7aaa844
commit 1374b0436e

View File

@ -76,15 +76,13 @@ Some downsides to the device: it's mono only (you only get the left-channel audi
So is the "Data Frog" any good? Only you can answer that question for yourself. There are certainly more powerful devices out there, more fully featured devices, devices with better hardware, etc. - but almost all of those devices cost a lot more than the SF2000. At the end of the day, you have to look at the features offered at the given price-point, and only then can you decide if you're interested in the device or not.
### Is there any custom firmware?
As of October 19th 2023, **no**, not yet. Two main efforts have been made:
As of October 20th 2023, **no**, not yet. Two main efforts have been made:
#### hcRTOS (true CFW)
Earlier this year, an SDK for the CPU in the SF2000 was been identified. Theoretically, this would allow a full custom firmware to be built and compiled for the device. The developers working on custom firmware spent some considerable time and effort working on porting Retroarch (as it seemed like it would be the quickest route to a custom firmware with support for many systems), however they ran into several problems. It appears that the SDK was unfinished and of low quality - core features like video and audio drivers were missing (and thus had to be developed from scratch), and overall system stability of the produced builds very low. When crashed happened with running cores (which was frequently) no useful debugging information was produced, and so tracking down the source of issues became a major time-sink. Additionally, most of the experimental builds when they did work had audio and/or video performance issues, and most also caused the SF2000 to run "hot", which would likely have impacted the lifespan of the device and thus are not recommended for usage beyond a few minutes at a time. [A GitLab repo](https://git.maschath.de/ignatz/hcrtos) was set up by `ignatzdraconis` for the work based on this SDK, however work on developing a full custom firmware using this SDK has been parked for now.
#### Multicore (modified stock)
More recently, a new tack is being tried by the development team - they're trying to modify the stock SF2000 firmware to add additional functionality. Theoretically, this would come with the benefit of having audio and video drivers already built (the contractors producing the stock firmware for the SF2000 have access to these), providing no worse performance than stock firmware, while also providing features like support for additional emulated systems. An experimental developer build called the "multicore" build has been produced which hijacks the stock Game Boy Advance emulator to run additional systems like Atari 2600 and PC-Engine, some stand-alone engines for games like Doom and Cave Store, as well as alternatives for some of the stock emulators already included with the SF2000. Some of the new systems appear to run at full speed; some run without sound or with less than full speed, and others don't work at all yet. [A GitLab repo](https://gitlab.com/kobily/sf2000_multicore) has been set up by `kobil` for the work on modifying the stock firmware.
You can follow along in real time with the development discussion in the [`Retro Handhelds` Discord server](https://discord.gg/retrohandhelds) (specifically, in the `🐸data_frog_sf2000` channel there's a `SF2000 Dev` thread where most of the tech talk and details are posted first). Also be sure to check pinned messages both in the main channel and the thread before asking any questions 🙂
More recently, a new tack is being tried by the development team - they're trying to modify the stock SF2000 firmware to add additional functionality. Theoretically, this would come with the benefit of having audio and video drivers already built (the contractors producing the stock firmware for the SF2000 have access to these), providing no worse performance than stock firmware, while also providing features like support for additional emulated systems. An experimental developer build called the "multicore" build has been produced which hijacks the stock Game Boy Advance emulator to run additional systems like Atari 2600 and PC-Engine, some stand-alone engines for games like Doom and Cave Story, as well as alternatives for some of the stock emulators already included with the SF2000. Some of the new systems appear to run at full speed; some run without sound or with less than full speed, and others don't work at all yet. [A GitLab repo](https://gitlab.com/kobily/sf2000_multicore) has been set up by `kobil` for the work on modifying the stock firmware. If you want to try the current **experimental** pre-alpha build, see the pinned post in the `SF2000 Dev` thread in the `🐸data_frog_sf2000` channel of the [`Retro Handhelds` Discord server](https://discord.gg/retrohandhelds). Please do read the pinned messages both in the main channel and the thread before asking any questions of the devs, their time is precious 🙂
### I just got my SF2000; what modding can I do with it?
If you're planning to customise your SF2000 in _any_ way, then I **strongly** recommend the _very_ first thing you do is [fix an annoying bug in the device's bootloader](#bootloader-bug) - otherwise you're likely to end up with a non-booting device. Seriously - **do this before you do anything else!**
@ -684,6 +682,8 @@ All of these are linked above already in their relevant sections, but just in ca
---
## Document Version History
- `20231020 - 1.44`: Updated [the CFW FAQ](#is-there-any-custom-firmware) with some more details on the multicore experiment. Fixed a typo (Cave Story, not Cave Store - thanks `neddunn`!).
- `20231019 - 1.43`: Refactored [the CFW FAQ](#is-there-any-custom-firmware) to make the hcRTOS and multicore efforts more distinct. Refactored [the shortcuts FAQ](#how-do-i-change-the-four-shortcutsgames-listed-on-each-systems-main-menu-page) to mention Tadpole first (easier for most folks). Refactored [the slow SNES FAQ](#snes-games-run-really-slowly-whats-wrong) in light of 1.71. Refactored [the quiet A/V output FAQ](#when-i-connect-the-sf2000-to-a-tv-via-the-av-cable-the-sound-is-very-quietlow---is-that-normal) to suggest firmware updating first. Added details about the new 1.71 firmware version to the [Firmware](#firmwarebios-bisrvasd) and [Resources](#resources) sections, and did a lot of little edits throughout the doc as well to standardise on Data Frog's version numbering (seems to be what most folks refer to). Added a note that [the permanent bootload bugfix](#if-your-sf2000-is-currently-able-to-boot-normally) only needs to be applied once per device. Added another modification example to the analysis of [`Foldername.ini`](#foldernameini) courtesy of `wyverino`.
- `20231014 - 1.42`: Have now confirmed that no resource files changed with the new October 7th/1.7 firmware, so have updated the tables in the [Resources](#resources) section to reflect this. Also added a reference to `detyn`'s Battery Meter Fix tool to [the FAQ on stuff new SF2000 owners can do](#i-just-got-my-sf2000-what-modding-can-i-do-with-it).