VOGONS


First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

According to the Bochs' ioports.lst, there's a "TIMER.COM v1.2", which is the first RTC used in the IBM PC XT. Anyone knows where this program can be found?

Last edited by superfury on 2016-06-24, 17:20. Edited 1 time in total.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 2 of 3, by superfury

User metadata
Rank l33t++
Rank
l33t++

Currently have implemented it as an alternative to the usual CMOS in my emulation. After some fixing, it now displays the correct system time. For some reason, it refuses to update the clock(using the /S option?)?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 3 of 3, by superfury

User metadata
Rank l33t++
Rank
l33t++

I've implemented some kind of timings system, based on Unix Timerstamp(with added precision for microseconds) on top of my existing CMOS emulation(which now also handles the TIMER.COM v1.2 application):
https://bitbucket.org/superfury/x86emu/src/8d … MOS.c?at=master

Anyone can tell me what's going wrong here? When I try to set the time to 1-1-2000 at 0:00AM it's setting strange Date/Time values, according to the logging?

00:00:52:15.02824: Updating register 04=00
00:00:52:15.03308: Setting time: 2016-0-6 24:0:9.000047
00:00:52:15.03316: Old divergeance: 00000000.00000000
00:00:52:15.03320: New divergeance: -0001070.-0000001
00:00:52:15.03456: Updating register 02=00
00:00:52:15.03464: Setting time: 2016-0-6 24:17:0.000047
00:00:52:15.03472: Old divergeance: -0001070.-0000001
00:00:52:15.03480: New divergeance: -0000540.-0000001
00:00:58:42.01064: Updating register 08=01
00:00:58:42.01076: Setting time: 2016-0-1 24:17:9.000053
00:00:58:42.01084: Old divergeance: -0000540.-0000001
00:00:58:42.01092: New divergeance: -0000153.-0000001
00:00:58:42.01236: Updating register 07=01
00:00:58:42.01244: Setting time: 2016-0-1 1:17:9.000053
00:00:58:42.01252: Old divergeance: -0000153.-0000001
00:00:58:42.01260: New divergeance: 00001216.00000000
00:00:58:42.01424: Updating register 09=00
00:00:58:42.01432: Setting time: 2000-0-1 1:17:9.000053
00:00:58:42.01440: Old divergeance: 00001216.00000000
00:00:58:42.01448: New divergeance: 00000267.00000000
00:00:58:46.03624: Updating register 06=06
00:00:58:46.03636: Setting time: 2016-0-6 24:17:9.000053
00:00:58:46.03644: Old divergeance: 00000267.00000000
00:00:58:46.03652: New divergeance: 00000000.00000000

Anyone can tell me what I'm doing wrong here?

I have fixed some errors in conversion. The latest version can now be found at the repository:
https://bitbucket.org/superfury/x86emu/src/7d … MOS.c?at=master

Is this correct? What does Dosbox do to emulate this?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io