This core is an original creation by @agg23 over the course of 3 months. It is based strongly on the original documentation for the Tamagotchi CPU (see Documentation Overview), but also takes some learnings from tamatool, and is inspired by @Mazamars312, Andrew Wilson, and Robert Piep, who gave me helpful advice along the way. The amazing backgrounds were recreated from source material by @bmarvo, and the Pocket platform icon was created by me. See Licensing for more information.
Currently supported platforms are the Analogue Pocket and MiSTer.
See Platform Installation Instructions for platform-specific instructions on how to install the core. It also contains information on what ROMs you need.
If you've forgotten how to use the Tamagotchi in the nearly 30 years since it's release, check out the official manual.
Known as "Memories" on the Pocket and "savestates" elsewhere this core supports the creation and loading of savestates, and by extension, the core also supports the Pocket Sleep + Wake functionality. Tapping the power button while playing will suspend the game, ready to be resumed when powering the Pocket back on.
On MiSTer, you must remap your controls in order to bind one of the to the Savestate control. Once done, holding that button and D-pad left/right will allow you to choose your savestate slot, and holding that button in addition to start (if they are different) and D-pad up/down will allow you to load and create savestates in that slot.
Tamagotchi will automatically restore where you left off, as a suppliment to the savestate functionality. Quitting the core on Pocket, or opening the OSD on MiSTer, will cause the core to take a savestate (separate from your 4 slots on MiSTer) that will be automatically restored on core launch.
Tamagotchi supports several incremental levels of turbo. These are displayed in the menus and turbo OSD as: 1x
, 2x
, 4x
, 50x
, and Max
. At the moment, Max
represents a 1,800x turbo, with the intention of allowing you to quickly evolve your Tamagotchi, or simulate days passing.
By default, the current turbo speed can be adjusted by using the shoulder buttons; left trigger decreases the turbo, right trigger increases it.
Additionally, there are several settings that configure the turbo behavior, including stopping turbo on the next "event".
This core supports custom backgrounds, and even ships with a Tamagotchi P2 background as an example. See the Installation Instructions and the Image Generation Tools pages for more information.
Reset
- Use this button to start the Tamagotchi over from scratch. Please note that this will completely remove your existing Tamagotchi unless you have a dedicated savestate for it
Disable Sound
/Sound
- Allows you to enable/disable the sound. For the Pocket'sDisable Sound
option, enabling the option (filling in the checkbox) will turn off the sound
System Speed
- Enables direct setting of the turbo speed, separate from the trigger controls. The core can override this set speed depending on your settings, or if you create/load a savestateEnd Turbo on Event
- When enabled, stops turboing (switches to 1x) when an "event" occurs. An event is classified as any sound generated by the core, which only occurs when the Tamagotchi is requesting attention, a jingle for a game is playing, or you've pressed a buttonSkip Event at Turbo Start
- When Tamagotchi requests attention, it plays several beeps in a row. This setting ignores beeps for 5 in-game seconds after starting turbo. This allows you to turbo, hit an event (and stop the turbo), then immediately start the turbo again and not get kicked right back out
LCD Type
- Customize the look of the LCD pixels that make up the Tamagotchi displaySolid Pixels
- Every pixel takes the full space; the off LCD pixels are transparentSeparate Pixels, No Background
- Pixels have a small gap between them; the off LCD pixels are transparentSeparate Pixels, With Background
- Pixels have a small gap between them; the off LCD pixels are visible and dim the background beneath them
I've tried to be thorough with my design decisions and provide/update various supporting documents through the process. See the /docs
folder, or start looking at the overview. There's documentation on the tools I built, how the microcode works, how to run tests, and more.
Issue | Solution |
---|---|
I see a corrupted screen, often blank or all pixels on | Open the core settings and choose Reset . If you attempted to boot the core without the correct ROM, or you accidentially chose a different file as the ROM, this is expected. Otherwise, please file an issue. |
There are a lot of components to this project, and the licensing on them depends on where they came from and potentially how they're used.
Contents | License |
---|---|
The main repo, all Tamagotchi core code, all tools and tests, and the documentation (other than the docs owned by Epson) | MIT |
All Pocket platform code, Pocket core_top.sv , and any Pocket specific components (unless otherwise noted) |
MIT |
All MiMiC/MiSTer platform code, MiSTer core_top.sv , and any MiSTer specific components (unless otherwise noted) |
GPLv3 |
All "sprite" activity icons and backgrounds | CC0 |