Skip to content

Latest commit

 

History

140 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AmiNTP

AmiNTP is a small native SNTP client for classic Amiga systems.

The project targets AmigaOS 2.04 and later, with a Motorola 68000 minimum CPU, no FPU requirement, no GUI dependencies, and a bsdsocket.library-compatible TCP/IP stack.

Features

  • Native Amiga executable
  • AmigaOS 2.04+
  • Motorola 68000 minimum
  • No FPU required
  • No GUI
  • SNTP over UDP
  • DNS names and IPv4 addresses
  • Query mode without changing the clock
  • System clock synchronization
  • Optional RTC update
  • NORTC mode
  • Configuration via ENVARC:AmiNTP/AmiNTP.conf
  • Stable CLI return codes
  • ARexx control through the AMINTP port
  • Example ARexx automation scripts
  • Bebbo GCC toolchain

AmiNTP is intentionally not a full NTP daemon. Its primary job is to obtain correct time reliably and expose that functionality through the CLI and ARexx.

Current status

AmiNTP 1.0.0 is release-ready. The 1.0.1 maintenance release is being prepared with documentation and useful ARexx automation examples; no new protocol or clock semantics are implied by that version bump.

Native end-to-end qualification has passed on a 68000 / Kickstart 2.04 / Workbench 2.1 configuration with:

  • AmiTCP_NG 4.1.5 using native bsdsocket.library
  • Miami 3.2b2 using native bsdsocket.library
  • A2065/SANA-II networking under FS-UAE with socket emulation disabled

Qualification covers IPv4, DNS, numeric and hostname SNTP queries, protocol validation, NTP-to-Amiga time conversion, system clock updates, RTC updates, NORTC, timeout handling, malformed-origin rejection and repeated queries. Roadshow remains a compatibility target for a later qualification pass and is not claimed as qualified for 1.0.0.

Build

A Bebbo m68k-amigaos GCC toolchain is expected:

make

The default compiler is:

m68k-amigaos-gcc

Override it if needed:

make CC=/path/to/m68k-amigaos-gcc

The build explicitly targets the 68000:

-m68000

CLI

Examples:

AmiNTP ?
AmiNTP HELP
AmiNTP VERSION
AmiNTP QUERY SERVER=pool.ntp.org
AmiNTP SYNC SERVER=pool.ntp.org
AmiNTP SYNC SERVER=pool.ntp.org NORTC

Configuration defaults can be stored in:

ENVARC:AmiNTP/AmiNTP.conf

See examples/AmiNTP.conf and the qualification documents under docs/.

ARexx examples

AmiNTP exposes its resident control interface through the public AMINTP ARexx port. Ready-to-use examples are provided under examples/arexx/, including port checks, status/diagnostics, query, synchronization, safe query-before-sync and startup-friendly synchronization.

See examples/arexx/README.md for usage.

Release

The GitHub release workflow is tag-driven. Release tags build the native 68000 binary, run the regression checks, create the Aminet-compatible AmiNTP.lha + AmiNTP.readme pair, create checksums and publish the files as GitHub Release assets.

Milestones

  • M0 — Foundation: complete
  • M1 — SNTP core: complete
  • M2 — Clock: complete
  • M3 — ARexx/native runtime: complete
  • M4 — Integration: AmiTCP and Miami native qualification complete
  • M5 — Release: 1.0.0 release packaging ready
  • v1.0.1 — Maintenance: ARexx examples and documentation in preparation

See docs/ROADMAP.md for details.

Copyright and license

Copyright (c) 2026 Ploos AS.

MIT. See LICENSE.

About

AmiNTP is a small native SNTP client for classic Amiga systems.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages