Subj : Re: Operating Systems To : claw From : tenser Date : Tue Apr 09 2024 01:38:25 On 08 Apr 2024 at 07:53a, claw pondered and said... cl> On 05 Apr 2024, Utopian Galt said the following... cl> cl> UG> I would like to migrate to Linux. Windows 32 bit will be negated cl> UG> eventually. Perhaps run Mystic/Linux and use dos emu for the door gam cl> UG> But door games will only be a memory in 14 years with the 2038 proble cl> cl> Whats the 2038 Problem? Time on Unix systems has been, since the early 1970s, represented as a signed, 32-bit integer counting the number of seconds since the "epoch", which as arbitrarily chosen to be midnight between Dec 31, 1969/Jan 1, 1970, UTC. This gives Unix timestamps a range of about 2.15 billion seconds before they go negative (actually a little less than that: 2^31 - 1 is the exact number). That rolls over in January, 2038. On Unix, the type `time_t` is usually a `typedef` for the C type `long` which, on most modern Unix machines, is a 64-bit signed integer. So on any machine made since, oh, 2010 or so, this isn't that much of an issue. But on older, 32-bit hardware, `long` was usually a signed 32-bit value, so for old binaries or old OS, we've got this roll-over problem in 2038. It's a legit issue. There are a few things we can do to address this. 1) we can treat 32-bit time stamps as _unsigned_, perhaps with the all-bits-1 value treated specially as a sentinel. That would effectively double the range of such values, kicking the can down the road 70-ish years. But it won't really help for statically compiled binaries, or things that care about the signedness of time_t. 2) Another thing we can do recompile old binaries, where we can. That won't work for a lot of old stuff where the source code has been lost or is otherwise just unavailable; a lot of DOS programs, for instance. But note that DOS uses a different format for representing dates, so this is only relevant in instances where an old DOS program converts some notion of time to a signed 32-bit int using the Unix epoch. But for hobbyist DOS programs, we can always just set the date for whatever DOS emulator is running back to some arbitrary point before the 2038 rollover date, and that's probably fine for BBS doors and things like that. --- Mystic BBS v1.12 A48 (Linux/64) * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101) .