Skip to content

Real Time Clock

shany edited this page Nov 1, 2026 · 3 revisions

Real Time Clock (Game Boy / Game Boy Color)

Some Game Boy and Game Boy Color cartridges carry a clock chip next to the save RAM, run by the cartridge's own crystal and battery. It keeps counting while the Game Boy is off, so a game knows how much time has passed: Pokémon Gold/Silver/Crystal use it for day and night and weekly events, Tamagotchi to let the pet grow up while you're away.

SuperSnes9x runs the clock while the game plays, saves it with the battery save, and catches it up when the game loads, the way a real cartridge does while it sits on the shelf. Emulation → Real Time Clock picks where the clock is saved and whether it follows your PC's clock.

Which games

Four kinds of chip carry a clock. These are the games we tested; the per-game notes are in issue #312.

Chip Games
MBC3 Pokémon Gold, Silver, Crystal (and Pocket Monsters Kin, Gin), Harvest Moon GB / GBC (and Bokujou Monogatari GB), E.T. Digital Companion, Mary-Kate and Ashley Pocket Planner, Keitai Denjuu Telefang (Power, Speed), Cardcaptor Sakura: Itsumo Sakura-chan to Issho, Barcode Taisen Bardigun, The Great Battle Pocket, Itsudemo! Nyan to Wonderful, Kandume Monsters, Nikkan Berutomo Club, Tottoko Hamutarou: Tomodachi Daisakusen Dechu, Trade & Battle Card Hero
MBC30 Pocket Monsters Crystal (Japan): an MBC3 with twice the RAM (64 KB)
HuC3 Robopon Sun (USA), Robot Poncots Sun, Star, Moon and Comic Bom Bom, Pocket Family GB, Pocket Family GB 2
TAMA5 Game de Hakken!! Tamagotchi: Osutchi to Mesutchi

Harvest Moon 2 GBC has no clock chip (it's an MBC5 cart), so the Real Time Clock menu doesn't appear for it. The first Harvest Moon GB / GBC does have one.

The Real Time Clock menu

Emulation → Real Time Clock appears only while a game with a clock is loaded, right below Game Boy Model. It's the same on Windows, Qt and GTK:

  • Save RTC to Battery Save (.sav): the default. The clock goes after the save RAM, in the same .sav.
  • Save RTC Separately (.rtc): the clock goes in its own .rtc file next to the .sav, and the .sav holds only the save RAM.
  • Settings...: turns the RTC on or off and picks the date and time used while it's off (below).

Switching between the two places is safe: when a game loads, SuperSnes9x looks for the clock where you picked first, then in the other place. The next save writes it where you picked.

RTC on and off

Emulation → Real Time Clock → Settings... opens the RTC Settings dialog: a checkbox, RTC on: the cart's clock follows the PC's clock, and a Date and a Time picker, which can only be changed while the RTC is off.

  • RTC on (the default): every time the battery save is written, your PC's time is written with the clock. When the game loads again, the clock runs forward by the time that passed since then, as if the cartridge had been sitting on a shelf. Close Pokémon on Monday evening and open it on Wednesday morning, and it's Wednesday morning in the game.
  • RTC off: the date and time you pick stand in for the PC's clock. Time between sessions doesn't count; the game's clock runs only while the game does. To skip ahead, move the picked date forward: the next time the game loads, its clock runs forward by the same amount. Moving the date back doesn't wind the clock back.

RTC off is for games you don't want aging while you're away (a Tamagotchi that would otherwise get hungry) or for jumping ahead to a later day on purpose.

While you play

  • The clock runs with the game. It counts emulated time: fast-forward runs it faster, and pausing stops it.
  • Reset and power cycle keep the clock, as they would on a real cartridge. Loading a different game starts that game's own clock.
  • Savestates include the clock. Loading a state puts the clock back to where it was in the state; it doesn't catch up.
  • Old saves: a .sav from before this support, or from an emulator that doesn't save the clock, still loads. Its clock starts from zero, except Tamagotchi's, which starts at the current date and time (the picked one, with the RTC off).

Compatible save files

The clock block is the one other emulators use, so a .sav moves both ways between SuperSnes9x and:

Chip Clock block Same as Example .sav size
MBC3, MBC30 48 bytes BGB, VBA-M (old VBA's 44 bytes also loads) Pokémon Gold: 32,768 + 48 = 32,816 bytes
HuC3 17 bytes SameBoy Robopon: 32,768 + 17 = 32,785 bytes
TAMA5 40 bytes mGBA Tamagotchi: 32 + 40 = 72 bytes

With Save RTC Separately, the .rtc file holds the same block and nothing else.

Game notes

  • Pokémon Gold, Silver, Crystal: a new game zeroes the cartridge clock and asks you for the time; from then on the game counts from there.
  • Tamagotchi (Osutchi to Mesutchi): for a new game, choose リアルタイム (real time) under じかんのながれ, then set the date. Your pet then follows the cartridge clock: with the RTC on it keeps living while SuperSnes9x is closed. たまごっちタイム (Tamagotchi time) runs on the game's own speed instead.
  • Robopon / Robot Poncots, Pocket Family: the HuC3 clock counts minutes and days; it now runs while you play (before this support it stood still).

Settings in the config file

The three settings are in the [SGB] section of the config file (Windows, Qt and GTK):

Key Meaning
RTCSeparateFile false (default) = the clock is in the .sav; true = in its own .rtc
RTCOff false (default) = the clock follows the PC; true = it follows RTCTime
RTCTime The date and time picked for RTC off, in Unix seconds; 0 = not picked yet

Clone this wiki locally