DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦845807c15⟧ TextFile

    Length: 3450 (0xd7a)
    Types: TextFile
    Names: »RTC.I«

Derivation

└─⟦e0c43619c⟧ Bits:30005797 CR80 Disc pack ( Vol:FNJ1 861029/EC CR80 S/W Package II+III+IV+V+VII )
    └─ ⟦this⟧ »CSP007_V0501.D!CSS7000.D!RTC.I« 

TextFile


%LIST     %LIST     %LIST
"-----------------------------------------------------------------------
"
"  MODULE NAME:           TPE Real Time Clock Module
"  MODULE ID NMB:         CSS/7000
"  MODULE VERSION:        03
"  MODULE RELEASE:        01
"  RELEASE DATE:          850910
"
"-----------------------------------------------------------------------
%NOLIST   %NOLIST   %NOLIST


IMPORT PROCEDURE
get_time
"======"
   (r0;  " C K  ref to time record
    r6); " C D  link
"---------------------------------------------------------------------
" This procedure reads the current time as it is maintained by the
" RTC module, based on the timer interrupts (1 per 10 ms) or as
" maintained by the KUK kernel.
"---------------------------------------------------------------------


IMPORT PROCEDURE
set_time
"======"
   (r0;  " C K  ref to time record
    r6); " C    link
         "   R  done/forbidden
"---------------------------------------------------------------------
" This procedure sets the current time of the
" RTC module.
" In the KUK version the procedure will return 'forbidden'.
"---------------------------------------------------------------------


IMPORT PROCEDURE
subscribe_RTC_interrupt
"====================="
   (r0;  " C K  time of interrupt (defined as number of 10ms
         "                        time units from 'now')
    r1;  " C K  location of RTC interrupt handler
    r6); " C D  link
"---------------------------------------------------------------------
" This procedure starts a pseudo timer, and at the end of the defined
" period, the RTC module will generate a 'pseudo' interrupt. This
" interrupt will then cause the caller defined interrupt handler to be
" executed.
"---------------------------------------------------------------------


IMPORT PROCEDURE
subscribe_repeated_RTC_interrupt
"=============================="
   (r0;  " C K  time interval between interrupts
         "      (units of 10ms)
    r1;  " C K  location of RTC interrupt handler
    r6); " C D  link
"---------------------------------------------------------------------
" This procedure starts a pseudo timer like 'subscribe_RTC_interrupt'
" and at the expiration of each time interval the pseudo timer is
" automatically restarted (until it is explicitly cleared by the
" user).
"
" The user can only define a handler for one single RTC interrupt
" or for one series of repeated RTC interrupts. A definition of an
" RTC interrupt handler will override any previous definition.
"---------------------------------------------------------------------


IMPORT PROCEDURE
disable_RTC_interrupt
"==================="
   (r6); " C D  link
"---------------------------------------------------------------------
" This procedure disables the activation of a RTC interrupt handler
" procedure as defined by 'subscribe_RTC_interrupt' or
" 'subscribe_repeated_RTC_interrupt'.
"---------------------------------------------------------------------


IMPORT PROCEDURE
init_RTC_module
"============="
   (r6); " C D  link
"---------------------------------------------------------------------
" This procedure initializes the internal structures of the RTC module.
" After the initialization no RTC interrupts are subscribed, which is
" the same state as entered by 'disable_RTC_interrupts'
"
" Note: This procedure is only to be used by the TPE itself.
"---------------------------------------------------------------------

" end of RTC.I