Nova

Revision as of 10:29, 4 April 2025 by Phi2x (Talk | contribs) (Ports)

Non-volatile RAM and Real Time Clock (RTC) for Amstrad CPC. This works like RAM, but the content is not erased when the computer is off.

All Nova cards come with the 32KB chip. Source

Pulkotronics Nova.jpg

The main uses of NVRAM are: Source

  • For UniDOS, the goal is to store the configuration of UniDOS in a single place even if you have many storage devices connected to your CPC. Since the card also provides a realtime clock, UniDOS will be able to set the correct file dates in the filesystem.
  • For development tools: here the idea is precisely to NOT be dktronic's compatible. You can load some code into the RAM and have it available without interference on the CPC state. Very useful if you want to debug some other code.

Contents

Ports

The interface uses only one port (&FE82) to map the NVRAM in and out. It is possible to map it at any address multiple of &2000.

The four higher bits of the byte sent to port &FE82 determine the base address: 0 = &0000, 2 = &2000, 4 = &4000, ..., E = &E000.

The NVRAM, when it is enabled, masks 8K of RAM or ROM and replaces it with its own contents. Four NVRAM pages of 8K are available.

The four lower bits of the byte sent to port &FE82 selects the page: 8 = page0, 9 = page1, A = page2, B = page3, the other values disable the mapping.

In the fourth page, the last 8 bytes are not normal RAM, but can be used to read and write the time from the realtime clock.

Assuming the interface is mapped at 6000-7FFF:

Address Data Range (BCD)
D7 D6 D5 D4 D3 D2 D1 D0
7FFFh 10 Years Year 00-99
7FFEh 0 0 0 10 M. Month 01-12
7FFDh 0 0 10 date Date 01-31
7FFCh 0 FT CEB CB 0 Day 00-01/01-07
7FFBh 0 0 10 hours Hours 00-23
7FFAh 0 10 minutes Minutes 00-59
7FF9h ST 10 seconds Seconds 00-59
7FF8h W R S Calibration

Legend:

  • CB = CENTURY bit
  • CEB = CENTURY ENABLE bit (when CEB is set to '1,' CB will toggle from '0' to '1' or from '1' to '0' at the turn of the century)
  • FT = FREQUENCY TEST bit (must be set to '0' for normal operation)
  • 0 = Must be set to '0'
  • ST = STOP bit ('1' stops the oscillator)
  • Calibration (The oscillation rate of any crystal changes with temperature. The accuracy is greatly improved by properly setting the calibration bits)
  • S = SIGN bit ('1' indicates positive calibration, '0' indicates negative calibration)
  • R = READ bit
  • W = WRITE bit

Software

The Nova RTC is supported by all the big guns: FutureOS, SymbOS, UniDOS, HDCPM, etc..

And it can be accessed directly from BASIC. No RSX required.

Links