GithubHelp home page GithubHelp logo

rhalkyard / ultimatertc Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 2.0 21 KB

Automatically set the GEOS clock from the onboard RTC of a 1541 Ultimate II/II+

Makefile 5.03% Assembly 93.62% C++ 1.35%
commodore-64 c64 c128 commodore-128 geos 1541ultimate2

ultimatertc's Introduction

UltimateRTC

Tool to set the GEOS system clock from the onboard real-time clock of the 1541 Ultimate II cartridge.

How to use

UltimateRTC is an auto-exec program, and will run automatically at startup if copied to your GEOS boot disk. Alternatively, you can double-click to run it after startup like a normal application.

If the cartridge is not present, or the clock cannot be read for whatever reason, an error message will be shown, but after it is dismissed, startup will continue with the clock left untouched.

Note that this tool does not propagate clock changes back from GEOS to the Ultimate II - the Ultimate II clock must still be set using its configuration menu.

Requirements

  • A real Commodore 64 or 128 system (not much point in running this in an emulator).
  • A 1541 Ultimate II or II+ cartridge, with the command interface enabled.
  • A GEOS boot disk (GEOS 64 and GEOS 128 are both supported).

Building

The following tools are required, and must be on your default path

  • make
  • CC65 version 2.18 or newer
  • VICE - in particular, the c1541 tool
  • ImageMagick - only needed if editing the icon image

With all these tools on your path, all you need to do is run make, which will produce both a standalone .cvt file for use with CONVERT, and a .d64 disk image containing the ready-to-use executable. The disk image format can be changed by setting IMGTYPE in the make command line. For example, make IMGTYPE=d81 will produce a .d81 disk image for those lucky people with a 1581 drive.

If disk images called GEOS64.D64 and GEOS128.D64 (as available at cbmfiles.com) are present, make bootdisks (or make boot64.d64 and make boot128.d64) will use them as templates to produce GEOS boot disks with UltimateRTC installed as an auto-exec.

For debugging the date-parsing and date-setting logic in an emulator without a 1541U2, the make option MOCK=1 builds a version that skips all the device IO, and parses and sets the date from a mock date string.

A note on Y2K compatibility

The GEOS programmers manual says that the year is represented as an offset from 1900, which would suggest that GEOS is Y2K-safe, the actual implementation does not reflect this, and post-2000 dates stored this way behave oddly.

However, if the representation is treated as modulo-100, representing 2000 as $00, date calculations are correct. Some programs may display them as 20th-century dates, but patches for popular affected programs are available.

For more information see the comments in time1.s in the disassembled GEOS source code.

ultimatertc's People

Contributors

rhalkyard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

cbmeeks geos64128

ultimatertc's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.