CHIME

> Network time sync for DOS.

NetISA suite app. Asks the network for the current time, sets the DOS clock. v1.0 uses HTTPS HEAD and parses the response Date: header. SNTP and NTS over UDP land in v1.1/v1.2 once NetISA exposes UDP. Foundation phase done; not compiled yet.

Status

2026-04-24. Source tree complete in chime/, 18 files. Not compiled. Open Watcom V2 install is the next step.

What is in the tree:

Why HTTP, not SNTP

NTP/SNTP run over UDP. The NetISA TSR INT 63h API as of v1.0 carries TLS sessions and plaintext TCP. No UDP yet. So CHIME v1.0 talks HTTPS HEAD to time-anchor URLs (time.cloudflare.com, time.google.com, worldtimeapi.org) and parses the Date: response header. One-second precision. v1.1 adds SNTP over UDP when NetISA exposes the UDP group. v1.2 adds NTS-KE / NTS over UDP.

Setting the clock

Three layers. CMOS RTC at I/O ports 0x70/0x71 (persists). BIOS tick at 0040:006C, 18.2 Hz (resets on reboot). DOS internal date/time via INT 21h AH=2Ah/2Ch get and AH=2Bh/2Dh set.

On modern DOS (MS-DOS 5+, FreeDOS) the INT 21h set propagates to CMOS. On older DOS (3.3, OEM 4.x) it does not, and the next reboot loses the change. CHIME does a direct CMOS write after the INT 21h call as a backstop: stop RTC updates by setting bit 7 of register 0x0B, BCD-encode and write seconds (reg 0), minutes (2), hour (4), day (7), month (8), year-mod-100 (9), century (32), then resume.

Timezone is fixed-offset (/TZ=-08:00). DST is not handled.

Usage

Roadmap

Hardware

Floor286 + 256KB
DOS3.3+
NetworkNetISA TLS path
ToolchainOpenWatcom V2
StandardC89/C90
LicenseMIT

Links