Nova
Non-volatile RAM and Real Time Clock (RTC) for Amstrad CPC.
The NVRAM is primarily intended as a debugging tool for developers.
The real-time clock can be used by filesystem/mass storage to set the correct file creation or modification dates.
All Nova cards come with the 32KB chip. Source
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 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.
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 | Function | Range (BCD) | |||||||
---|---|---|---|---|---|---|---|---|---|---|
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||
7FFFh | 10 Years | Year | Year | 00-99 | ||||||
7FFEh | 0 | 0 | 0 | 10 M. | Month | Month | 01-12 | |||
7FFDh | 0 | 0 | 10 date | Date | Date | 01-31 | ||||
7FFCh | 0 | FT | CEB | CB | 0 | Day | Century/ day |
00-01/01-07 | ||
7FFBh | 0 | 0 | 10 hours | Hours | Hours | 00-23 | ||||
7FFAh | 0 | 10 minutes | Minutes | Minutes | 00-59 | |||||
7FF9h | ST | 10 seconds | Seconds | Seconds | 00-59 | |||||
7FF8h | W | R | S | Calibration | Control |
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' upon power 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.