Tama P1 Emulator for Flipper Zero ======================================= This is a tama P1 Emulator app for Flipper Zero, based on [TamaLIB](https://github.com/jcrona/tamalib/). ![Alt Text](tama.gif) How to play ----------- Create a `tama_p1` folder in your microSD card, and put the ROM as `rom.bin`. Use a search engine to find the Tamagotchi ROM. There is a file named `tama.b`. Rename this to `rom.bin`. *Controls in portrait mode are the same as landscape mode, but turned 90 degrees.* - Left button is A. - Down or OK is B. - Right button is C. - Up button takes you to the emulator menu. - Hold the Back button to save and exit. ![Alt Text](Screenshot1.png) ![Alt Text](Screenshot2.png) Building -------- Move this folder into flippers `applications/plugins/tama_p1`. Launching the app, directly from console to flipper: ``` ./fbt launch_app APPSRC=applications/plugins/tama_p1 ``` Run the following to compile icons: ``` scripts/assets.py icons applications/plugins/tama_p1/icons applications/plugins/tama_p1/compiled ``` Note: you may also need to add `-Wno-unused-parameter` to `CCFLAGS` in `site_cons/cc.scons` to suppress unused parameter errors in TamaLIB. Debugging --------- Using the serial script from [FlipperScripts](https://github.com/DroomOne/FlipperScripts/blob/main/serial_logger.py) it is easy to add direct logging after running the application: ``` `python .\serial_logger.py` `./fbt launch_app APPSRC=applications/plugins/tama_p1; python .\serial_logger.py` ``` Alternatively, follow the directions here: https://flipper.atmanos.com/docs/debugging/viewing/ Implemented ----------- - Menu options: - Switch between portrait and landscape - A+C shortcut (mute/change in-game time) - Double / quadruple speed ![Alt Text](Screenshot3.png) To-Do ----- - Fix bugs: - When not on 1x speed, after mashing buttons in quick succession, buttons stop responding for a few seconds. But the rom still runs. - Stuff to do when bored: - optimization and bug fixing (see above) - add to this list - portrait menu - Add "loading bar" when saving - "Advanced" settings - saving and loading, multiple save states, with the date and time of of each save. - Autosave and changing autosave frequency - Save settings to /tama_p1/settings.txt ![Alt Text](Screenshot4.png)