-2,3
MODULE RMONFB,VERSION=6902,COMMENT=<FB/XM Resident Monitor>

-21
       .SBTTL  Post-Release Edit History

;+
;
; SLP patches Copyright (c) 2000 Megan Gentry, All Rights Reserved
;
; This file  contains source  code modifications  which were  distributed
; through use of a Source Language Patch (SLP) file.  These modifications
; are unofficial  changes.   They were not developed,  reviewed or tested
; by, and have not been approved by Digital Equipment Corporation, Compaq
; Computer Corporation,   or Mentec, Ltd,   and they are not supported by
; these organizations.
;
; These modifications  may only  be used  with the  inclusion of both the
; above copyright notice and the full text of these comments.
;
; The  author   has  used  best  efforts  in  the  preparation  of  these
; modifications.    These  efforts  include  research,   development  and
; testing.   The  author makes  no warranty  of any  kind,  expressed  or
; implied,  with regard to these changes.  The author shall not be liable
; in  any  event for  incidental or  consequential damages  in connection
; with, or arising out of, the use or performance of these changes.   Use
; of these modifications constitutes acceptance of these terms.
;
; The author  is interested  in any  comments or  reports of problems and
; will  make a  best effort  at determining  if a  problem is a result of
; these modifications  or if  it exists  in the distributed code.  Please
; report any problems to <[email protected]>
;
; (01) 10-Jan-2000 Megan Gentry
;       o When the system is not built with rollover support, the day
;         field of the system date word can become zero, which is
;         patently invalid.  This has been corrected.
;       o The comparison for end of year (examining the month field)
;         used too large a field for the month.  This has been corrected.
;       o Rollover from 2003 would have affected the day field.  This has
;         been corrected.
;       o Code to support epoch rollover has been included.
;
; (02) 11-Jan-2000 Megan Gentry
;       o The SDTTM code incorrectly rejected any dates with the high
;         order epoch bit set.  This has been corrected.  A flag of
;         "-1" is now required to indicate to .SDTTM that the system
;         date should not be altered.
;
;-

-3964,3964
32$:
       ADD     #40,$DATE
       BIT     #<31.*40>,$DATE         ;Is the day field now zero?
       BEQ     32$                     ;Yes, patently invalid, bump again...
-3994,3997
       MOV     @SP,-(SP)               ;Stack the current date
       BIC     #^C<15.*2000>,@SP       ;Isolate the month field
       CMP     (SP)+,#<13.*2000>       ;Time for year-end roll-over?
       BLO     4$
       BIC     #<15.*2000>,@SP         ;Reset the month field
       ADD     #<1*2000>,@SP           ; and bump it to January
       MOV     @SP,-(SP)               ;Stack the current date
       INC     @SP                     ;Bump the year
       BIC     #^C<37>,(SP)+           ;Isolate the year field and check it
       BEQ     39$                     ;We're into a new epoch...
       INC     @SP                     ;Same epoch, new year...
       BR      4$
39$:    BIC     #37,@SP                 ;Reset the year field
       ADD     #<1*40000>,@SP          ; and move us into the next epoch
-4081,4081
       CMP     R1,#-1                  ;Flag to leave date alone?
       BEQ     1$                      ;Yes...
/