Remember last year when everyone’s Wii’s were going to self-destruct in 2023? While that was satire there are concerns to be laid at the iconic white box. When 2038 comes will the Wii’s systems overflow, or what will happen when we reach 2035 and the Wii calendar is at its limit?
Macho Nacho reached out and spoke to the experts to find out.
What is the 2038 Problem?
Senior Dolphin Developer, Pierre Bourdon, explains the 2038 problem as an issue with how some computers track time. The ramifications of this bug for all computers are impossible to know.
“Humans routinely work with dates written like ‘2023-01-10’, ‘Jan 10th 2023’, ‘2023年01月10日’, and we roughly understand them to all mean the same thing. Computers work with binary logic and arithmetic,” he says.
For a computer this takes the form of an integer value. The most common and standard being UNIX time which represents the number of seconds since midnight on January 1st, 1970.
Integers usually have a limit to how big they can get. The memory the computer uses to represent that integer is counted in the number of bits. This is where you get language where integers are 8 bits, 16 bits, 32 bits, or 64 bits. Each bit being either 0 or 1 in value.
8 bits can store 2⁸ (256) values, 16 bits can store 2¹⁶ (65536) values, 32 bits can store 2³² (4294967296) values and so on.
“Because this is outside of the standard, it's impossible to say how every single piece of computer software will behave."
An overflow or underflow is where you go one over or one under the maximum.
“For example, if you compute 2147483647 + 1 in a 32 bit signed integer, the result would be 2147483648, which cannot be represented by a 32 bit signed integer (it’s over the maximum). Underflows are the same but in the other direction, going under the minimum,” Bourdon says.
When this happens the common behavior for computers is to wrap around from the maximum to the minimum. It’s like counting around in a circle, eventually you’ll wrap around back to the beginning.
For a long time, software would represent UNIX timestamps as a 32 bit signed integer.
“However, on Tue Jan 19 2038 03:14:07 something new will happen: if you count the seconds between Jan 1st 1970 and that time in 2038, it will be exactly 2147483647 seconds. And at 03:14:08 on that same date, we’ll have overflowed the UNIX timestamp,” Bourdon says.
“Because this is outside of the standard, it’s impossible to say how every single piece of computer software will behave. Some might show you that the date is now 1902. Some might just crash. Some might hang because time ended up “running backwards” for one second — the new time is less than the old time.”
But why should we not be worried?
Bourdon thinks it is “hard, possibly even impossible, to guarantee” all the timestamps in use on the Wii.
“For example, anything interacting with the network would likely end up using X509 timestamps which are due to overflow in 2049. And given how common they are, it would be incredible if UNIX timestamps didn’t sneak their way in somewhere in the Wii software,” he says.
However, Leseratte, one of the developers behind Wiimmfi, doesn’t think the Y2038 Problem will affect the Wii or Wiimmfi “that much”.
“The Wii is not a Linux system, it doesn’t use Unixtime by default. The Wii’s calendar goes from 2000 until [2035], so the Wii is not going to have any time-related problems until then,” he says.
“Internally, for all the networking stuff I’ve seen, Nintendo doesn’t store seconds since 1970 (which would overflow in 2038), but instead they store – in a 64-bit integer – milliseconds since 2000, which is not going to overflow for a long time.”
Larsenv, a developer for RiiConnect24, says the News Channel, Forecast Channel, and Everybody Votes Channel store their timestamps as a 32 bit unsigned integer since 2000. Meaning these channels won’t overflow for a very long time either.
What about the calendar?
Leseratte tested what would happen to his own Wii on the last day of the calendar. It just restarted the day.
“I’ve also tested what happens after 2035 by just setting my Wii to 23:59 on December 31st 2035, and interestingly it continued with 00:00 on December 31st,” he says.
He doesn’t know if this is something handled by the Wii system menu itself, which possibly could be patched out, or if it’s a limitation of the Real Time Clock (RTC) chip in the Wii.
Will Wiimmfi be impacted?
The system Wiimmfi uses for the SSL certificates between your console and their systems is valid from 1999 to 2099.
“We deliberately made it that way so people that have their Wii’s date set to a wrong year don’t receive SSL errors,” Leseratte says.
What about the X509 timestamps for network connectivity that will overflow in 2049? Leseratte doesn’t see 2049 being the end for the Wii’s online connectivity due to the system they’re using for SSL certificates being valid until 2099.
“Our certificates are already valid after 2049, and the Wii does accept these certificates with a X509 timestamp format that’s later than 2049, so I see no reason to believe that that would change in 2049,” he says.
The nearest concern is Wiimmfi’s database server, MariaDB, doesn’t support dates beyond 2038.
MariaDB will likely be updated to go beyond 2038 before then or, if not, Wiimmfi could migrate to a different database.
But unless someone manages to patch the calendar’s maximum Leseratte points out we won’t even reach the dates these issues can occur.
What’s the TL:DR?
You and your beloved Wii are going to be fine.
The likelihood is the Wii’s systems aren’t using UNIX time, and the nearer concern is the calendar’s max anyway.
Leseratte confirmed the networking systems are stored in a 64 bit integer, milliseconds since 2000, which won’t overflow for a very long time. The Wii’s network connectivity has a long life ahead.
The challenges of the calendar’s max will likely be something the community of developers will face as it becomes a more pressing concern, but incorrect calendar dates won’t impact Wiimmfi.
Our closing thoughts here at Macho Nacho? Waggle your Wii remote without concern.