_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

CLOCK-CAL.BUD

FILE INFORMATION

FILENAME(S): CLOCK-CAL.BUD

FILE TYPE(S): SEQ

FILE SIZE: 14.2K

FIRST SEEN: 2025-11-30 21:15:11

APPEARS ON: 1 disk(s)

FILE HASH

76695eda0e7fb7d380a333e595db1d9bdca5777c526be2cf6e9c20b19a6eb2ad

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
TRANSACTOR DISK CLOCK-CAL.BUD SEQ DuncanTwain 7 1 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 3B 50 55 54 22 40 30 3A  43 4C 4F 43 4B 2D 43 41  |;PUT"@0:CLOCK-CA|
00000010: 4C 2E 42 55 44 0D 3B 20  2A 2A 20 52 45 57 52 49  |L.BUD.; ** REWRI|
00000020: 54 54 45 4E 20 49 4E 20  C2 55 44 44 59 20 31 32  |TTEN IN .UDDY 12|
00000030: 38 20 C6 4F 52 4D 41 54  0D 3B 20 0D 2A 3D 24 31  |8 .ORMAT.; .*=$1|
00000040: 33 30 30 20 3B 20 34 38  36 34 0D 2E 4F 42 4A 20  |300 ; 4864..OBJ |
00000050: 22 40 30 3A 43 4C 4B 34  38 36 34 22 0D 3B 0D 3B  |"@0:CLK4864".;.;|
00000060: 2A 20 2A 20 2A 20 2A 20  2A 20 2A 20 2A 20 2A 20  |* * * * * * * * |
00000070: 2A 20 2A 20 2A 20 2A 20  2A 20 2A 20 2A 20 2A 20  |* * * * * * * * |
00000080: 2A 0D 3B 2A 20 20 20 20  20 20 20 20 20 20 20 20  |*.;*            |
00000090: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000A0: 20 20 20 2A 0D 3B 2A 20  43 4C 4F 43 4B 20 26 20  |   *.;* CLOCK & |
000000B0: 43 41 4C 45 4E 44 41 52  20 44 49 53 50 4C 41 59  |CALENDAR DISPLAY|
000000C0: 2E 2E 2E 20 20 20 2A 0D  3B 2A 20 57 49 54 48 20  |...   *.;* WITH |
000000D0: 41 55 44 49 42 4C 45 20  41 4C 41 52 4D 20 46 55  |AUDIBLE ALARM FU|
000000E0: 4E 43 54 49 4F 4E 20 20  20 2A 0D 3B 2A 20 20 20  |NCTION   *.;*   |
000000F0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000100: 20 20 20 20 20 20 20 20  20 20 20 20 2A 0D 3B 2A  |            *.;*|
00000110: 20 43 2D 31 32 38 20 4D  4F 44 45 2C 20 34 30 20  | C-128 MODE, 40 |
00000120: 4F 52 20 38 30 20 43 4F  4C 55 4D 4E 53 20 20 2A  |OR 80 COLUMNS  *|
00000130: 0D 3B 2A 20 20 20 20 20  20 20 20 20 20 20 20 20  |.;*             |
00000140: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000150: 20 20 2A 0D 3B 2A 20 57  52 49 54 54 45 4E 20 31  |  *.;* WRITTEN 1|
00000160: 31 2D 31 36 2D 38 35 20  20 57 2E 4A 2E 20 42 52  |1-16-85  W.J. BR|
00000170: 49 45 52 20 20 2A 0D 3B  2A 20 20 20 20 20 20 20  |IER  *.;*       |
00000180: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000190: 20 20 20 20 20 20 20 20  2A 0D 3B 2A 20 52 45 56  |        *.;* REV|
000001A0: 49 53 45 44 20 20 36 2D  30 35 2D 38 37 20 20 20  |ISED  6-05-87   |
000001B0: 20 20 20 20 20 20 20 20  20 20 20 2A 0D 3B 2A 20  |           *.;* |
000001C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 2A 0D  |              *.|
000001E0: 3B 2A 20 43 4F 50 59 52  49 47 48 54 20 31 39 38  |;* COPYRIGHT 198|
000001F0: 36 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |6               |
00000200: 20 2A 0D 3B 2A 20 20 20  20 20 20 20 20 20 20 20  | *.;*           |
00000210: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000220: 20 20 20 20 2A 0D 3B 2A  20 54 48 49 53 20 50 52  |    *.;* THIS PR|
00000230: 4F 47 52 41 4D 20 49 53  20 4E 4F 54 20 54 4F 20  |OGRAM IS NOT TO |
00000240: 42 45 2E 2E 2E 20 20 2A  0D 3B 2A 20 53 4F 4C 44  |BE...  *.;* SOLD|
00000250: 2E 20 20 49 54 20 49 53  20 50 45 52 4D 49 53 53  |.  IT IS PERMISS|
00000260: 49 42 4C 45 2E 2E 2E 20  20 20 2A 0D 3B 2A 20 54  |IBLE...   *.;* T|
00000270: 4F 20 43 4F 50 59 20 49  54 20 42 55 54 20 43 52  |O COPY IT BUT CR|
00000280: 45 44 49 54 20 4D 55 53  54 2E 2E 2E 20 2A 0D 3B  |EDIT MUST... *.;|
00000290: 2A 20 42 45 20 47 49 56  45 4E 20 49 4E 20 54 48  |* BE GIVEN IN TH|
000002A0: 45 20 44 4F 43 55 4D 45  4E 54 41 54 49 4F 4E 20  |E DOCUMENTATION |
000002B0: 2A 0D 3B 2A 20 20 20 20  20 20 20 20 20 20 20 20  |*.;*            |
000002C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000002D0: 20 20 20 2A 0D 3B 2A 20  53 45 45 20 54 48 45 20  |   *.;* SEE THE |
000002E0: 44 4F 43 55 4D 45 4E 54  41 54 49 4F 4E 20 46 4F  |DOCUMENTATION FO|
000002F0: 52 2E 2E 2E 20 20 2A 0D  3B 2A 20 49 4E 53 54 52  |R...  *.;* INSTR|
00000300: 55 43 54 49 4F 4E 53 20  4F 4E 20 55 53 49 4E 47  |UCTIONS ON USING|
00000310: 20 54 48 49 53 2E 2E 2E  20 2A 0D 3B 2A 20 50 52  | THIS... *.;* PR|
00000320: 4F 47 52 41 4D 20 57 49  54 48 20 59 4F 55 52 20  |OGRAM WITH YOUR |
00000330: 53 4F 46 54 57 41 52 45  2E 2E 2E 20 2A 0D 3B 2A  |SOFTWARE... *.;*|
00000340: 20 41 53 20 57 45 4C 4C  20 41 53 20 44 49 53 54  | AS WELL AS DIST|
00000350: 52 49 42 55 54 49 4F 4E  2E 2E 2E 20 20 20 20 2A  |RIBUTION...    *|
00000360: 0D 3B 2A 20 4C 49 4D 49  54 41 54 49 4F 4E 53 2E  |.;* LIMITATIONS.|
00000370: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000380: 20 20 2A 0D 3B 2A 20 20  20 20 20 20 20 20 20 20  |  *.;*          |
00000390: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000003A0: 20 20 20 20 20 2A 0D 3B  2A 20 2A 20 2A 20 2A 20  |     *.;* * * * |
000003B0: 2A 20 2A 20 2A 20 2A 20  2A 20 2A 20 2A 20 2A 20  |* * * * * * * * |
000003C0: 2A 20 2A 20 2A 20 2A 20  2A 0D 20 20 20 20 20 20  |* * * * *.      |
000003D0: 20 20 20 20 20 20 20 20  3B 0D 20 20 20 20 20 20  |        ;.      |
000003E0: 20 20 20 20 20 20 20 20  3B 0D 3B 2A 20 2A 20 2A  |        ;.;* * *|
000003F0: 20 2A 20 2A 20 2A 20 2A  20 2A 20 2A 20 2A 20 2A  | * * * * * * * *|
00000400: 20 2A 20 2A 20 2A 20 2A  20 2A 20 2A 0D 3B 2A 20  | * * * * * *.;* |
00000410: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000420: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 2A 0D  |              *.|
00000430: 3B 2A 20 20 3C 3C 3C 20  50 52 4F 47 52 41 4D 20  |;*  <<< PROGRAM |
00000440: 41 53 53 49 47 4E 4D 45  4E 54 53 20 3E 3E 3E 20  |ASSIGNMENTS >>> |
00000450: 20 2A 0D 3B 2A 20 20 20  20 20 20 20 20 20 20 20  | *.;*           |
00000460: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000470: 20 20 20 20 2A 0D 3B 2A  20 2A 20 2A 20 2A 20 2A  |    *.;* * * * *|
00000480: 20 2A 20 2A 20 2A 20 2A  20 2A 20 2A 20 2A 20 2A  | * * * * * * * *|
00000490: 20 2A 20 2A 20 2A 20 2A  0D 20 20 20 20 20 20 20  | * * * *.       |
000004A0: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
000004B0: 20 20 20 20 20 20 20 3B  0D 3B 53 59 53 54 45 4D  |       ;.;SYSTEM|
000004C0: 20 56 45 43 54 4F 52 53  20 26 20 50 4F 49 4E 54  | VECTORS & POINT|
000004D0: 45 52 53 2E 2E 2E 0D 20  20 20 20 20 20 20 20 20  |ERS....         |
000004E0: 20 20 20 20 20 3B 0D 44  46 4C 54 4F 20 20 3D 24  |     ;.DFLTO  =$|
000004F0: 39 41 20 20 20 3B 4F 55  54 50 55 54 20 44 45 56  |9A   ;OUTPUT DEV|
00000500: 49 43 45 0D 20 20 20 20  20 20 20 20 20 20 20 20  |ICE.            |
00000510: 20 20 3B 0D 4D 4F 44 45  20 20 20 3D 24 44 37 20  |  ;.MODE   =$D7 |
00000520: 20 20 3B 44 49 53 50 4C  41 59 20 4D 4F 44 45 20  |  ;DISPLAY MODE |
00000530: 46 4C 41 47 0D 20 20 20  20 20 20 20 20 20 20 20  |FLAG.           |
00000540: 20 20 20 3B 0D 43 49 4E  56 20 20 20 3D 24 30 33  |   ;.CINV   =$03|
00000550: 31 34 20 3B 4E 4F 52 4D  41 4C 20 49 52 51 20 56  |14 ;NORMAL IRQ V|
00000560: 45 43 54 4F 52 0D 49 42  53 4F 55 54 20 3D 24 30  |ECTOR.IBSOUT =$0|
00000570: 33 32 36 20 3B 4E 4F 52  4D 41 4C 20 43 48 52 4F  |326 ;NORMAL CHRO|
00000580: 55 54 20 56 45 43 54 4F  52 0D 20 20 20 20 20 20  |UT VECTOR.      |
00000590: 20 20 20 20 20 20 20 20  3B 0D 53 59 53 54 45 4D  |        ;.SYSTEM|
000005A0: 20 3D 24 30 41 30 30 20  3B 42 41 53 49 43 20 52  | =$0A00 ;BASIC R|
000005B0: 45 53 45 54 20 56 45 43  54 4F 52 0D 20 20 20 20  |ESET VECTOR.    |
000005C0: 20 20 20 20 20 20 20 20  20 20 3B 0D 52 50 54 46  |          ;.RPTF|
000005D0: 4C 47 20 3D 24 30 41 32  32 20 3B 4B 45 59 42 27  |LG =$0A22 ;KEYB'|
000005E0: 44 20 52 45 50 45 41 54  20 46 4C 41 47 0D 20 20  |D REPEAT FLAG.  |
000005F0: 20 20 20 20 20 20 20 20  20 20 20 20 3B 0D 42 41  |            ;.BA|
00000600: 53 52 53 54 20 3D 24 34  30 30 33 20 3B 42 41 53  |SRST =$4003 ;BAS|
00000610: 49 43 20 57 41 52 4D 20  52 45 53 45 54 0D 20 20  |IC WARM RESET.  |
00000620: 20 20 20 20 20 20 20 20  20 20 20 20 3B 0D 54 4F  |            ;.TO|
00000630: 44 32 20 20 20 3D 24 44  44 30 38 20 3B 54 49 4D  |D2   =$DD08 ;TIM|
00000640: 45 20 4F 46 20 44 41 59  20 43 4C 4F 43 4B 20 23  |E OF DAY CLOCK #|
00000650: 32 0D 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |2.              |
00000660: 3B 0D 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
00000670: 3B 0D 3B 53 43 52 45 45  4E 20 45 44 49 54 4F 52  |;.;SCREEN EDITOR|
00000680: 20 46 55 4E 43 54 49 4F  4E 53 2E 2E 2E 0D 20 20  | FUNCTIONS....  |
00000690: 20 20 20 20 20 20 20 20  20 20 20 20 3B 0D 57 56  |            ;.WV|
000006A0: 44 43 4D 20 20 3D 24 43  44 43 41 20 3B 57 52 49  |DCM  =$CDCA ;WRI|
000006B0: 54 45 20 54 4F 20 38 35  36 33 20 52 41 4D 0D 57  |TE TO 8563 RAM.W|
000006C0: 56 44 43 52 20 20 3D 24  43 44 43 43 20 3B 57 52  |VDCR  =$CDCC ;WR|
000006D0: 49 54 45 20 54 4F 20 38  35 36 33 20 52 45 47 49  |ITE TO 8563 REGI|
000006E0: 53 54 45 52 0D 20 20 20  20 20 20 20 20 20 20 20  |STER.           |
000006F0: 20 20 20 3B 0D 20 20 20  20 20 20 20 20 20 20 20  |   ;.           |
00000700: 20 20 20 3B 0D 3B 4B 45  52 4E 41 4C 20 46 55 4E  |   ;.;KERNAL FUN|
00000710: 43 54 49 4F 4E 53 2E 2E  2E 0D 20 20 20 20 20 20  |CTIONS....      |
00000720: 20 20 20 20 20 20 20 20  3B 0D 43 48 52 4F 55 54  |        ;.CHROUT|
00000730: 20 3D 24 45 46 37 39 20  3B 4F 55 54 50 55 54 20  | =$EF79 ;OUTPUT |
00000740: 41 20 42 59 54 45 0D 49  52 51 20 20 20 20 3D 24  |A BYTE.IRQ    =$|
00000750: 46 41 36 35 20 3B 4E 4F  52 4D 41 4C 20 49 52 51  |FA65 ;NORMAL IRQ|
00000760: 0D 43 52 54 49 20 20 20  3D 24 46 46 33 33 20 3B  |.CRTI   =$FF33 ;|
00000770: 49 52 51 20 48 41 4E 44  4C 45 52 20 45 58 49 54  |IRQ HANDLER EXIT|
00000780: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |.              ;|
00000790: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |.              ;|
000007A0: 0D 3B 34 30 20 43 4F 4C  20 56 49 43 20 53 43 52  |.;40 COL VIC SCR|
000007B0: 45 45 4E 20 52 41 4D 2E  2E 2E 0D 20 20 20 20 20  |EEN RAM....     |
000007C0: 20 20 20 20 20 20 20 20  20 3B 0D 56 43 52 41 4D  |         ;.VCRAM|
000007D0: 20 20 3D 24 30 34 30 30  20 3B 53 54 41 52 54 20  |  =$0400 ;START |
000007E0: 4F 46 20 44 49 53 50 4C  41 59 20 52 41 4D 0D 56  |OF DISPLAY RAM.V|
000007F0: 4C 52 41 4D 20 20 3D 24  44 38 30 30 20 3B 53 54  |LRAM  =$D800 ;ST|
00000800: 41 52 54 20 4F 46 20 43  4F 4C 4F 52 20 52 41 4D  |ART OF COLOR RAM|
00000810: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |.              ;|
00000820: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |.              ;|
00000830: 0D 3B 53 49 44 20 43 48  49 50 20 52 45 47 49 53  |.;SID CHIP REGIS|
00000840: 54 45 52 53 20 28 56 4F  49 43 45 20 33 29 2E 2E  |TERS (VOICE 3)..|
00000850: 2E 0D 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00000860: 3B 0D 46 52 45 4C 4F 33  20 3D 24 44 34 30 45 20  |;.FRELO3 =$D40E |
00000870: 3B 46 52 45 51 55 45 4E  43 59 20 43 54 52 4C 20  |;FREQUENCY CTRL |
00000880: 28 4C 4F 29 0D 46 52 45  48 49 33 20 3D 24 44 34  |(LO).FREHI3 =$D4|
00000890: 30 46 20 3B 46 52 45 51  55 45 4E 43 59 20 43 54  |0F ;FREQUENCY CT|
000008A0: 52 4C 20 28 48 49 29 0D  20 20 20 20 20 20 20 20  |RL (HI).        |
000008B0: 20 20 20 20 20 20 3B 0D  56 43 52 45 47 33 20 3D  |      ;.VCREG3 =|
000008C0: 24 44 34 31 32 20 3B 43  4F 4E 54 52 4F 4C 20 52  |$D412 ;CONTROL R|
000008D0: 45 47 49 53 54 45 52 0D  20 20 20 20 20 20 20 20  |EGISTER.        |
000008E0: 20 20 20 20 20 20 3B 0D  53 55 52 45 4C 33 20 3D  |      ;.SUREL3 =|
000008F0: 24 44 34 31 34 20 3B 53  55 53 54 41 49 4E 2F 52  |$D414 ;SUSTAIN/R|
00000900: 45 4C 45 41 53 45 0D 20  20 20 20 20 20 20 20 20  |ELEASE.         |
00000910: 20 20 20 20 20 3B 0D 53  49 47 56 4F 4C 20 3D 24  |     ;.SIGVOL =$|
00000920: 44 34 31 38 20 3B 53 49  44 20 56 4F 4C 55 4D 45  |D418 ;SID VOLUME|
00000930: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |.              ;|
00000940: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |.              ;|
00000950: 0D 3B 38 30 20 43 4F 4C  20 38 35 36 33 20 56 44  |.;80 COL 8563 VD|
00000960: 43 20 41 53 53 49 47 4E  4D 45 4E 54 53 2E 2E 2E  |C ASSIGNMENTS...|
00000970: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |.              ;|
00000980: 0D 53 43 52 41 4D 31 20  3D 37 32 20 20 20 20 3B  |.SCRAM1 =72    ;|
00000990: 53 43 52 45 45 4E 20 52  41 4D 20 28 54 49 4D 45  |SCREEN RAM (TIME|
000009A0: 29 0D 53 43 52 41 4D 32  20 3D 31 35 32 20 20 20  |).SCRAM2 =152   |
000009B0: 3B 53 43 52 45 45 4E 20  52 41 4D 20 28 44 41 54  |;SCREEN RAM (DAT|
000009C0: 45 29 0D 20 20 20 20 20  20 20 20 20 20 20 20 20  |E).             |
000009D0: 20 3B 0D 41 54 52 41 4D  31 20 3D 32 31 32 30 20  | ;.ATRAM1 =2120 |
000009E0: 20 3B 41 54 54 52 49 42  55 54 45 20 52 41 4D 20  | ;ATTRIBUTE RAM |
000009F0: 28 54 49 4D 45 29 0D 41  54 52 41 4D 32 20 3D 32  |(TIME).ATRAM2 =2|
00000A00: 32 30 30 20 20 3B 41 54  54 52 49 42 55 54 45 20  |200  ;ATTRIBUTE |
00000A10: 52 41 4D 20 28 44 41 54  45 29 0D 20 20 20 20 20  |RAM (DATE).     |
00000A20: 20 20 20 20 20 20 20 20  20 3B 0D 55 50 52 45 47  |         ;.UPREG|
00000A30: 20 20 3D 31 38 20 20 20  20 3B 55 50 44 41 54 45  |  =18    ;UPDATE|
00000A40: 20 52 45 47 49 53 54 45  52 0D 20 20 20 20 20 20  | REGISTER.      |
00000A50: 20 20 20 20 20 20 20 20  3B 0D 20 20 20 20 20 20  |        ;.      |
00000A60: 20 20 20 20 20 20 20 20  3B 0D 3B 3D 3D 3D 3D 3D  |        ;.;=====|
00000A70: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
00000A80: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 0D 20 20 20  |============.   |
00000A90: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 3B 0D 3B  |    ;.       ;.;|
00000AA0: 55 53 45 52 2D 41 43 43  45 53 53 49 42 4C 45 20  |USER-ACCESSIBLE |
00000AB0: 4D 45 4D 4F 52 59 2E 2E  2E 0D 20 20 20 20 20 20  |MEMORY....      |
00000AC0: 20 3B 0D 54 44 54 41 20  20 20 2E 41 53 43 20 22  | ;.TDTA   .ASC "|
00000AD0: 20 20 2D 20 20 2D 20 20  22 0D 20 20 20 20 20 20  |  -  -  ".      |
00000AE0: 20 2E 42 59 54 45 20 30  20 3B 20 41 53 43 49 49  | .BYTE 0 ; ASCII|
00000AF0: 20 44 41 54 45 0D 54 4F  44 41 20 20 20 2E 41 53  | DATE.TODA   .AS|
00000B00: 43 20 22 20 20 3A 20 20  3A 20 20 22 20 20 20 20  |C "  :  :  "    |
00000B10: 20 20 20 20 20 20 20 20  20 20 0D 20 20 20 20 20  |          .     |
00000B20: 20 20 2E 42 59 54 45 20  30 20 3B 20 41 53 43 49  |  .BYTE 0 ; ASCI|
00000B30: 49 20 54 49 4D 45 0D 54  44 54 43 20 20 20 2E 42  |I TIME.TDTC   .B|
00000B40: 59 54 45 20 32 35 35 2C  20 32 35 35 2C 20 32 35  |YTE 255, 255, 25|
00000B50: 35 20 20 3B 42 43 44 20  44 41 54 45 0D 3B 0D 44  |5  ;BCD DATE.;.D|
00000B60: 46 4C 47 20 20 20 2E 42  59 54 45 20 30 20 3B 31  |FLG   .BYTE 0 ;1|
00000B70: 20 3D 20 4E 4F 20 44 49  53 50 4C 41 59 0D 43 46  | = NO DISPLAY.CF|
00000B80: 4C 47 20 20 20 2E 42 59  54 45 20 37 20 3B 44 49  |LG   .BYTE 7 ;DI|
00000B90: 53 50 4C 41 59 20 43 4F  4C 4F 52 0D 52 46 4C 47  |SPLAY COLOR.RFLG|
00000BA0: 20 20 20 2E 42 59 54 45  20 30 20 3B 31 20 3D 20  |   .BYTE 0 ;1 = |
00000BB0: 52 45 56 45 52 53 45 20  56 49 44 45 4F 0D 20 20  |REVERSE VIDEO.  |
00000BC0: 20 20 20 20 20 3B 0D 4B  45 59 20 20 20 20 2E 42  |     ;.KEY    .B|
00000BD0: 59 54 45 20 30 2C 20 30  2C 20 30 2C 20 30 0D 20  |YTE 0, 0, 0, 0. |
00000BE0: 20 20 20 20 20 20 3B 0D  20 20 20 20 20 20 20 3B  |      ;.       ;|
00000BF0: 0D 3B 45 58 49 54 20 56  45 43 54 4F 52 2E 2E 2E  |.;EXIT VECTOR...|
00000C00: 0D 20 20 20 20 20 20 20  3B 0D 49 52 51 41 20 20  |.       ;.IRQA  |
00000C10: 20 2E 57 4F 52 44 20 49  52 51 0D 20 20 20 20 20  | .WORD IRQ.     |
00000C20: 20 20 3B 0D 20 20 20 20  20 20 20 3B 0D 3B 41 4C  |  ;.       ;.;AL|
00000C30: 41 52 4D 20 52 45 47 49  53 54 45 52 53 2E 2E 2E  |ARM REGISTERS...|
00000C40: 0D 20 20 20 20 20 20 20  3B 0D 41 4C 54 43 20 20  |.       ;.ALTC  |
00000C50: 20 2E 42 59 54 45 20 32  35 35 2C 20 32 35 35 20  | .BYTE 255, 255 |
00000C60: 3B 54 49 4D 45 20 28 48  3A 4D 29 0D 20 20 20 20  |;TIME (H:M).    |
00000C70: 20 20 20 3B 0D 41 46 4C  47 20 20 20 2E 42 59 54  |   ;.AFLG   .BYT|
00000C80: 45 20 32 35 35 20 20 20  20 20 3B 45 4E 41 42 4C  |E 255     ;ENABL|
00000C90: 45 20 46 4C 41 47 0D 20  20 20 20 20 20 20 3B 0D  |E FLAG.       ;.|
00000CA0: 3B 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |;---------------|
00000CB0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000CC0: 2D 2D 0D 20 20 20 20 20  20 20 3B 0D 3B 45 4E 54  |--.       ;.;ENT|
00000CD0: 52 59 20 50 4F 49 4E 54  20 54 4F 20 53 54 41 52  |RY POINT TO STAR|
00000CE0: 54 20 44 49 53 50 4C 41  59 0D 20 20 20 20 20 20  |T DISPLAY.      |
00000CF0: 20 3B 0D 43 4C 4B 4F 4E  20 20 4A 4D 50 20 53 54  | ;.CLKON  JMP ST|
00000D00: 41 52 54 20 3B 53 54 41  52 54 20 44 49 53 50 4C  |ART ;START DISPL|
00000D10: 41 59 0D 20 20 20 20 20  20 20 3B 0D 3B 2D 2D 2D  |AY.       ;.;---|
00000D20: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000D30: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 0D 20  |--------------. |
00000D40: 20 20 20 20 20 20 3B 0D  3B 45 4E 54 52 59 20 50  |      ;.;ENTRY P|
00000D50: 4F 49 4E 54 20 54 4F 20  53 54 4F 50 20 44 49 53  |OINT TO STOP DIS|
00000D60: 50 4C 41 59 0D 20 20 20  20 20 20 20 3B 0D 43 4C  |PLAY.       ;.CL|
00000D70: 4B 4F 46 20 20 4A 4D 50  20 53 54 4F 50 20 3B 53  |KOF  JMP STOP ;S|
00000D80: 54 4F 50 20 44 49 53 50  4C 41 59 0D 20 20 20 20  |TOP DISPLAY.    |
00000D90: 20 20 20 3B 0D 3B 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |   ;.;----------|
00000DA0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000DB0: 2D 2D 2D 2D 2D 2D 2D 0D  20 20 20 20 20 20 20 3B  |-------.       ;|
00000DC0: 0D 3B 42 43 44 20 54 49  4D 45 20 53 54 4F 52 41  |.;BCD TIME STORA|
00000DD0: 47 45 0D 20 20 20 20 20  20 20 3B 0D 54 4F 44 43  |GE.       ;.TODC|
00000DE0: 20 20 20 2E 42 59 54 45  20 30 2C 20 30 2C 20 30  |   .BYTE 0, 0, 0|
00000DF0: 20 3B 48 52 53 20 4D 49  4E 20 53 45 43 0D 20 20  | ;HRS MIN SEC.  |
00000E00: 20 20 20 20 20 3B 0D 3B  3D 3D 3D 3D 3D 3D 3D 3D  |     ;.;========|
00000E10: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
00000E20: 3D 3D 3D 3D 3D 3D 3D 3D  3D 0D 20 20 20 20 20 20  |=========.      |
00000E30: 20 3B 0D 3B 53 54 4F 50  20 43 4C 4F 43 4B 2D 43  | ;.;STOP CLOCK-C|
00000E40: 41 4C 45 4E 44 41 52 20  44 49 53 50 4C 41 59 0D  |ALENDAR DISPLAY.|
00000E50: 20 20 20 20 20 20 20 3B  0D 53 54 4F 50 20 20 20  |       ;.STOP   |
00000E60: 4C 44 58 20 43 49 4E 56  20 3B 49 52 51 20 56 45  |LDX CINV ;IRQ VE|
00000E70: 43 54 4F 52 0D 20 20 20  20 20 20 20 4C 44 59 20  |CTOR.       LDY |
00000E80: 43 49 4E 56 2B 31 0D 20  20 20 20 20 20 20 43 50  |CINV+1.       CP|
00000E90: 58 20 23 3C 44 43 43 20  3B 44 49 53 50 4C 41 59  |X #<DCC ;DISPLAY|
00000EA0: 20 56 45 43 54 4F 52 0D  20 20 20 20 20 20 20 42  | VECTOR.       B|
00000EB0: 4E 45 20 43 4C 4B 4F 46  32 20 3B 4E 4F 54 20 52  |NE CLKOF2 ;NOT R|
00000EC0: 55 4E 4E 49 4E 47 0D 20  20 20 20 20 20 20 3B 0D  |UNNING.       ;.|
00000ED0: 20 20 20 20 20 20 20 43  50 59 20 23 3E 44 43 43  |       CPY #>DCC|
00000EE0: 0D 20 20 20 20 20 20 20  42 4E 45 20 43 4C 4B 4F  |.       BNE CLKO|
00000EF0: 46 32 20 3B 4E 4F 54 20  52 55 4E 4E 49 4E 47 0D  |F2 ;NOT RUNNING.|
00000F00: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
00000F10: 53 45 49 20 3B 49 4E 54  45 52 52 55 50 54 53 20  |SEI ;INTERRUPTS |
00000F20: 4F 46 46 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |OFF.       ;.   |
00000F30: 20 20 20 20 4C 44 58 20  49 52 51 41 20 3B 4F 52  |    LDX IRQA ;OR|
00000F40: 49 47 49 4E 41 4C 20 49  52 51 20 56 45 43 54 4F  |IGINAL IRQ VECTO|
00000F50: 52 0D 20 20 20 20 20 20  20 4C 44 59 20 49 52 51  |R.       LDY IRQ|
00000F60: 41 2B 31 0D 20 20 20 20  20 20 20 53 54 58 20 43  |A+1.       STX C|
00000F70: 49 4E 56 0D 20 20 20 20  20 20 20 53 54 59 20 43  |INV.       STY C|
00000F80: 49 4E 56 2B 31 0D 20 20  20 20 20 20 20 3B 0D 20  |INV+1.       ;. |
00000F90: 20 20 20 20 20 20 4C 44  58 20 42 53 4F 55 54 41  |      LDX BSOUTA|
00000FA0: 0D 20 20 20 20 20 20 20  4C 44 59 20 42 53 4F 55  |.       LDY BSOU|
00000FB0: 54 41 2B 31 0D 20 20 20  20 20 20 20 53 54 58 20  |TA+1.       STX |
00000FC0: 49 42 53 4F 55 54 20 3B  52 45 53 54 4F 52 45 20  |IBSOUT ;RESTORE |
00000FD0: 43 48 52 4F 55 54 20 56  45 43 54 4F 52 0D 20 20  |CHROUT VECTOR.  |
00000FE0: 20 20 20 20 20 53 54 59  20 49 42 53 4F 55 54 2B  |     STY IBSOUT+|
00000FF0: 31 0D 20 20 20 20 20 20  20 3B 0D 20 20 20 20 20  |1.       ;.     |
00001000: 20 20 4C 44 58 20 41 4C  52 53 54 31 0D 20 20 20  |  LDX ALRST1.   |
00001010: 20 20 20 20 4C 44 59 20  41 4C 52 53 54 31 2B 31  |    LDY ALRST1+1|
00001020: 0D 20 20 20 20 20 20 20  53 54 58 20 53 59 53 54  |.       STX SYST|
00001030: 45 4D 20 3B 52 45 53 54  4F 52 45 20 53 59 53 54  |EM ;RESTORE SYST|
00001040: 45 4D 20 56 45 43 54 4F  52 0D 20 20 20 20 20 20  |EM VECTOR.      |
00001050: 20 53 54 59 20 53 59 53  54 45 4D 2B 31 0D 20 20  | STY SYSTEM+1.  |
00001060: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 43 4C  |     ;.       CL|
00001070: 49 20 3B 49 4E 54 45 52  52 55 50 54 53 20 4F 4E  |I ;INTERRUPTS ON|
00001080: 0D 20 20 20 20 20 20 20  3B 0D 20 20 20 20 20 20  |.       ;.      |
00001090: 20 4C 44 59 20 23 33 20  3B 4F 46 46 53 45 54 0D  | LDY #3 ;OFFSET.|
000010A0: 20 20 20 20 20 20 20 4C  44 41 20 23 30 0D 20 20  |       LDA #0.  |
000010B0: 20 20 20 20 20 3B 0D 43  4C 4B 4F 46 31 20 53 54  |     ;.CLKOF1 ST|
000010C0: 41 20 4B 45 59 2C 59 20  3B 57 49 50 45 20 4F 55  |A KEY,Y ;WIPE OU|
000010D0: 54 20 49 44 20 4B 45 59  0D 20 20 20 20 20 20 20  |T ID KEY.       |
000010E0: 44 45 59 0D 20 20 20 20  20 20 20 42 50 4C 20 43  |DEY.       BPL C|
000010F0: 4C 4B 4F 46 31 20 3B 4C  4F 4F 50 0D 20 20 20 20  |LKOF1 ;LOOP.    |
00001100: 20 20 20 3B 0D 43 4C 4B  4F 46 32 20 52 54 53 0D  |   ;.CLKOF2 RTS.|
00001110: 20 20 20 20 20 20 20 3B  0D 3B 2D 2D 2D 2D 2D 2D  |       ;.;------|
00001120: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00001130: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 0D 20 20 20 20  |-----------.    |
00001140: 20 20 20 3B 0D 3B 53 54  41 52 54 20 43 4C 4F 43  |   ;.;START CLOC|
00001150: 4B 2D 43 41 4C 45 4E 44  41 52 20 44 49 53 50 4C  |K-CALENDAR DISPL|
00001160: 41 59 0D 20 20 20 20 20  20 20 3B 0D 53 54 41 52  |AY.       ;.STAR|
00001170: 54 20 20 4C 44 58 20 43  49 4E 56 20 3B 49 52 51  |T  LDX CINV ;IRQ|
00001180: 20 56 45 43 54 4F 52 0D  20 20 20 20 20 20 20 4C  | VECTOR.       L|
00001190: 44 59 20 43 49 4E 56 2B  31 0D 20 20 20 20 20 20  |DY CINV+1.      |
000011A0: 20 43 50 58 20 23 3C 44  43 43 0D 20 20 20 20 20  | CPX #<DCC.     |
000011B0: 20 20 42 4E 45 20 53 54  41 52 54 31 20 3B 43 48  |  BNE START1 ;CH|
000011C0: 41 4E 47 45 20 56 45 43  54 4F 52 0D 20 20 20 20  |ANGE VECTOR.    |
000011D0: 20 20 20 3B 0D 20 20 20  20 20 20 20 43 50 59 20  |   ;.       CPY |
000011E0: 23 3E 44 43 43 0D 20 20  20 20 20 20 20 42 45 51  |#>DCC.       BEQ|
000011F0: 20 53 54 41 52 54 33 20  3B 44 49 53 50 4C 41 59  | START3 ;DISPLAY|
00001200: 20 49 53 20 52 55 4E 4E  4E 49 4E 47 0D 20 20 20  | IS RUNNNING.   |
00001210: 20 20 20 20 3B 0D 53 54  41 52 54 31 20 53 54 58  |    ;.START1 STX|
00001220: 20 49 52 51 41 20 3B 53  41 56 45 20 45 58 49 53  | IRQA ;SAVE EXIS|
00001230: 54 49 4E 47 2E 2E 2E 0D  20 20 20 20 20 20 20 53  |TING....       S|
00001240: 54 59 20 49 52 51 41 2B  31 20 3B 49 52 51 20 56  |TY IRQA+1 ;IRQ V|
00001250: 45 43 54 4F 52 0D 20 20  20 20 20 20 20 3B 0D 20  |ECTOR.       ;. |
00001260: 20 20 20 20 20 20 53 45  49 0D 20 20 20 20 20 20  |      SEI.      |
00001270: 20 3B 0D 20 20 20 20 20  20 20 4C 44 58 20 23 3C  | ;.       LDX #<|
00001280: 44 43 43 20 3B 43 48 41  4E 47 45 2E 2E 2E 0D 20  |DCC ;CHANGE.... |
00001290: 20 20 20 20 20 20 4C 44  59 20 23 3E 44 43 43 20  |      LDY #>DCC |
000012A0: 3B 49 52 51 20 56 45 43  54 4F 52 20 53 4F 20 54  |;IRQ VECTOR SO T|
000012B0: 48 41 54 2E 2E 2E 0D 20  20 20 20 20 20 20 53 54  |HAT....       ST|
000012C0: 58 20 43 49 4E 56 20 3B  43 4C 4F 43 4B 2D 43 41  |X CINV ;CLOCK-CA|
000012D0: 4C 45 4E 44 41 52 20 52  55 4E 53 0D 20 20 20 20  |LENDAR RUNS.    |
000012E0: 20 20 20 53 54 59 20 43  49 4E 56 2B 31 0D 20 20  |   STY CINV+1.  |
000012F0: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 4C 44  |     ;.       LD|
00001300: 58 20 49 42 53 4F 55 54  20 3B 53 41 56 45 20 43  |X IBSOUT ;SAVE C|
00001310: 55 52 52 45 4E 54 2E 2E  2E 0D 20 20 20 20 20 20  |URRENT....      |
00001320: 20 4C 44 59 20 49 42 53  4F 55 54 2B 31 20 3B 43  | LDY IBSOUT+1 ;C|
00001330: 48 52 4F 55 54 20 56 45  43 54 4F 52 0D 20 20 20  |HROUT VECTOR.   |
00001340: 20 20 20 20 53 54 58 20  42 53 4F 55 54 41 0D 20  |    STX BSOUTA. |
00001350: 20 20 20 20 20 20 53 54  59 20 42 53 4F 55 54 41  |      STY BSOUTA|
00001360: 2B 31 0D 20 20 20 20 20  20 20 3B 0D 20 20 20 20  |+1.       ;.    |
00001370: 20 20 20 4C 44 58 20 23  3C 43 52 44 59 20 3B 43  |   LDX #<CRDY ;C|
00001380: 48 41 4E 47 45 2E 2E 2E  0D 20 20 20 20 20 20 20  |HANGE....       |
00001390: 4C 44 59 20 23 3E 43 52  44 59 20 3B 43 48 52 4F  |LDY #>CRDY ;CHRO|
000013A0: 55 54 20 56 45 43 54 4F  52 20 53 4F 2E 2E 2E 0D  |UT VECTOR SO....|
000013B0: 20 20 20 20 20 20 20 53  54 58 20 49 42 53 4F 55  |       STX IBSOU|
000013C0: 54 20 3B 44 45 4C 41 59  20 52 4F 55 54 49 4E 45  |T ;DELAY ROUTINE|
000013D0: 2E 2E 2E 0D 20 20 20 20  20 20 20 53 54 59 20 49  |....       STY I|
000013E0: 42 53 4F 55 54 2B 31 20  3B 49 4E 54 45 52 43 45  |BSOUT+1 ;INTERCE|
000013F0: 50 54 53 20 49 54 0D 20  20 20 20 20 20 20 3B 0D  |PTS IT.       ;.|
00001400: 20 20 20 20 20 20 20 4C  44 58 20 53 59 53 54 45  |       LDX SYSTE|
00001410: 4D 20 3B 42 41 53 49 43  20 52 45 53 45 54 0D 20  |M ;BASIC RESET. |
00001420: 20 20 20 20 20 20 4C 44  59 20 53 59 53 54 45 4D  |      LDY SYSTEM|
00001430: 2B 31 0D 20 20 20 20 20  20 20 53 54 58 20 41 4C  |+1.       STX AL|
00001440: 52 53 54 31 20 3B 53 54  4F 52 45 0D 20 20 20 20  |RST1 ;STORE.    |
00001450: 20 20 20 53 54 59 20 41  4C 52 53 54 31 2B 31 0D  |   STY ALRST1+1.|
00001460: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
00001470: 4C 44 58 20 23 3C 41 4C  52 53 54 20 3B 41 4C 54  |LDX #<ALRST ;ALT|
00001480: 45 52 4E 41 54 45 20 52  45 53 45 54 0D 20 20 20  |ERNATE RESET.   |
00001490: 20 20 20 20 4C 44 59 20  23 3E 41 4C 52 53 54 0D  |    LDY #>ALRST.|
000014A0: 20 20 20 20 20 20 20 53  54 58 20 53 59 53 54 45  |       STX SYSTE|
000014B0: 4D 20 3B 4E 45 57 20 52  45 53 45 54 20 56 45 43  |M ;NEW RESET VEC|
000014C0: 54 4F 52 0D 20 20 20 20  20 20 20 53 54 59 20 53  |TOR.       STY S|
000014D0: 59 53 54 45 4D 2B 31 0D  20 20 20 20 20 20 20 3B  |YSTEM+1.       ;|
000014E0: 0D 20 20 20 20 20 20 20  4C 44 41 20 54 4F 44 32  |.       LDA TOD2|
000014F0: 20 3B 47 49 56 45 20 43  4C 4F 43 4B 20 41 20 4B  | ;GIVE CLOCK A K|
00001500: 49 43 4B 2E 2E 2E 0D 20  20 20 20 20 20 20 53 54  |ICK....       ST|
00001510: 41 20 54 4F 44 32 20 3B  54 4F 20 47 45 54 20 49  |A TOD2 ;TO GET I|
00001520: 54 20 53 54 41 52 54 45  44 0D 20 20 20 20 20 20  |T STARTED.      |
00001530: 20 3B 0D 20 20 20 20 20  20 20 43 4C 49 0D 20 20  | ;.       CLI.  |
00001540: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 4C 44  |     ;.       LD|
00001550: 59 20 23 33 20 3B 4F 46  46 53 45 54 0D 20 20 20  |Y #3 ;OFFSET.   |
00001560: 20 20 20 20 3B 0D 53 54  41 52 54 32 20 4C 44 41  |    ;.START2 LDA|
00001570: 20 4B 45 59 53 54 52 2C  59 20 3B 4B 45 59 0D 20  | KEYSTR,Y ;KEY. |
00001580: 20 20 20 20 20 20 53 54  41 20 4B 45 59 2C 59 20  |      STA KEY,Y |
00001590: 3B 45 4E 41 42 4C 45 20  4B 45 59 0D 20 20 20 20  |;ENABLE KEY.    |
000015A0: 20 20 20 44 45 59 0D 20  20 20 20 20 20 20 42 50  |   DEY.       BP|
000015B0: 4C 20 53 54 41 52 54 32  20 3B 4C 4F 4F 50 0D 20  |L START2 ;LOOP. |
000015C0: 20 20 20 20 20 20 3B 0D  20 20 20 20 20 20 20 49  |      ;.       I|
000015D0: 4E 59 0D 20 20 20 20 20  20 20 53 54 59 20 44 46  |NY.       STY DF|
000015E0: 4C 47 20 3B 43 4C 45 41  52 20 44 49 53 50 4C 41  |LG ;CLEAR DISPLA|
000015F0: 59 20 46 4C 41 47 0D 20  20 20 20 20 20 20 53 54  |Y FLAG.       ST|
00001600: 59 20 4C 46 4C 47 20 3B  43 4C 45 41 52 20 4C 4F  |Y LFLG ;CLEAR LO|
00001610: 43 4B 4F 55 54 20 46 4C  41 47 0D 20 20 20 20 20  |CKOUT FLAG.     |
00001620: 20 20 3B 0D 53 54 41 52  54 33 20 52 54 53 0D 20  |  ;.START3 RTS. |
00001630: 20 20 20 20 20 20 3B 0D  3B 3D 3D 3D 3D 3D 3D 3D  |      ;.;=======|
00001640: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
00001650: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 0D 20 20 20 20 20  |==========.     |
00001660: 20 20 3B 0D 3B 55 50 44  41 54 45 20 26 20 44 49  |  ;.;UPDATE & DI|
00001670: 53 50 4C 41 59 20 54 49  4D 45 20 26 20 44 41 54  |SPLAY TIME & DAT|
00001680: 45 0D 20 20 20 20 20 20  20 3B 0D 44 43 43 20 20  |E.       ;.DCC  |
00001690: 20 20 43 4C 44 20 3B 42  49 4E 41 52 59 20 4D 4F  |  CLD ;BINARY MO|
000016A0: 44 45 0D 20 20 20 20 20  20 20 3B 0D 20 20 20 20  |DE.       ;.    |
000016B0: 20 20 20 4C 44 41 20 54  4F 44 32 20 3B 54 45 4E  |   LDA TOD2 ;TEN|
000016C0: 54 48 53 20 4F 46 20 53  45 43 4F 4E 44 53 0D 20  |THS OF SECONDS. |
000016D0: 20 20 20 20 20 20 42 45  51 20 44 43 43 30 32 20  |      BEQ DCC02 |
000016E0: 3B 54 45 4E 54 48 53 20  41 52 45 20 5A 45 52 4F  |;TENTHS ARE ZERO|
000016F0: 0D 20 20 20 20 20 20 20  3B 0D 20 20 20 20 20 20  |.       ;.      |
00001700: 20 4C 44 41 20 23 30 0D  20 20 20 20 20 20 20 53  | LDA #0.       S|
00001710: 54 41 20 4C 46 4C 47 20  3B 43 4C 45 41 52 20 4C  |TA LFLG ;CLEAR L|
00001720: 4F 43 4B 4F 55 54 20 46  4C 41 47 0D 20 20 20 20  |OCKOUT FLAG.    |
00001730: 20 20 20 3B 0D 44 43 43  30 31 20 20 4A 4D 50 20  |   ;.DCC01  JMP |
00001740: 28 49 52 51 41 29 20 3B  4E 4F 52 4D 41 4C 20 49  |(IRQA) ;NORMAL I|
00001750: 52 51 0D 20 20 20 20 20  20 20 3B 0D 44 43 43 30  |RQ.       ;.DCC0|
00001760: 32 20 20 42 49 54 20 4C  46 4C 47 0D 20 20 20 20  |2  BIT LFLG.    |
00001770: 20 20 20 42 4D 49 20 44  43 43 30 31 20 3B 55 50  |   BMI DCC01 ;UP|
00001780: 44 41 54 45 20 4C 4F 43  4B 45 44 20 4F 55 54 0D  |DATE LOCKED OUT.|
00001790: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
000017A0: 44 45 43 20 4C 46 4C 47  20 3B 53 45 54 20 4C 4F  |DEC LFLG ;SET LO|
000017B0: 43 4B 4F 55 54 20 46 4C  41 47 0D 20 20 20 20 20  |CKOUT FLAG.     |
000017C0: 20 20 3B 0D 20 20 20 20  20 20 20 3B 0D 3B 52 45  |  ;.       ;.;RE|
000017D0: 41 44 20 43 4C 4F 43 4B  20 52 45 47 49 53 54 45  |AD CLOCK REGISTE|
000017E0: 52 53 2E 2E 2E 0D 20 20  20 20 20 20 20 3B 0D 20  |RS....       ;. |
000017F0: 20 20 20 20 20 20 4C 44  58 20 23 33 20 3B 54 4F  |      LDX #3 ;TO|
00001800: 44 32 20 4F 46 46 53 45  54 0D 20 20 20 20 20 20  |D2 OFFSET.      |
00001810: 20 4C 44 59 20 23 30 20  3B 53 54 4F 52 41 47 45  | LDY #0 ;STORAGE|
00001820: 20 4F 46 46 53 45 54 0D  20 20 20 20 20 20 20 3B  | OFFSET.       ;|
00001830: 0D 44 43 43 30 33 20 20  4C 44 41 20 54 4F 44 32  |.DCC03  LDA TOD2|
00001840: 2C 58 20 3B 46 45 54 43  48 20 54 49 4D 45 20 56  |,X ;FETCH TIME V|
00001850: 41 4C 55 45 0D 20 20 20  20 20 20 20 44 45 58 0D  |ALUE.       DEX.|
00001860: 20 20 20 20 20 20 20 42  4D 49 20 44 43 43 30 34  |       BMI DCC04|
00001870: 20 3B 46 49 4E 49 53 48  45 44 0D 20 20 20 20 20  | ;FINISHED.     |
00001880: 20 20 3B 0D 20 20 20 20  20 20 20 53 54 41 20 54  |  ;.       STA T|
00001890: 4F 44 43 2C 59 20 3B 53  41 56 45 20 49 4E 20 42  |ODC,Y ;SAVE IN B|
000018A0: 55 46 46 45 52 0D 20 20  20 20 20 20 20 3B 0D 20  |UFFER.       ;. |
000018B0: 20 20 20 20 20 20 49 4E  59 0D 20 20 20 20 20 20  |      INY.      |
000018C0: 20 42 4E 45 20 44 43 43  30 33 20 3B 4C 4F 4F 50  | BNE DCC03 ;LOOP|
000018D0: 0D 20 20 20 20 20 20 20  3B 0D 20 20 20 20 20 20  |.       ;.      |
000018E0: 20 3B 0D 3B 54 45 53 54  20 41 4D 2F 50 4D 20 46  | ;.;TEST AM/PM F|
000018F0: 4C 41 47 20 26 20 41 44  4A 55 53 54 20 48 4F 55  |LAG & ADJUST HOU|
00001900: 52 53 0D 20 20 20 20 20  20 20 3B 0D 44 43 43 30  |RS.       ;.DCC0|
00001910: 34 20 20 4C 44 41 20 54  4F 44 43 20 3B 42 43 44  |4  LDA TODC ;BCD|
00001920: 20 48 4F 55 52 53 0D 20  20 20 20 20 20 20 42 4D  | HOURS.       BM|
00001930: 49 20 44 43 43 30 35 20  3B 49 54 27 53 20 50 4D  |I DCC05 ;IT'S PM|
00001940: 0D 20 20 20 20 20 20 20  3B 0D 20 20 20 20 20 20  |.       ;.      |
00001950: 20 43 4D 50 20 23 24 31  32 0D 20 20 20 20 20 20  | CMP #$12.      |
00001960: 20 42 4E 45 20 44 43 43  30 36 20 3B 4E 4F 54 20  | BNE DCC06 ;NOT |
00001970: 4D 49 44 4E 49 54 45 0D  20 20 20 20 20 20 20 3B  |MIDNITE.       ;|
00001980: 0D 20 20 20 20 20 20 20  4C 44 41 20 23 30 0D 20  |.       LDA #0. |
00001990: 20 20 20 20 20 20 42 45  51 20 44 43 43 30 36 20  |      BEQ DCC06 |
000019A0: 3B 53 45 54 20 48 4F 55  52 53 20 54 4F 20 4D 49  |;SET HOURS TO MI|
000019B0: 44 4E 49 54 45 0D 20 20  20 20 20 20 20 3B 0D 44  |DNITE.       ;.D|
000019C0: 43 43 30 35 20 20 41 4E  44 20 23 25 30 31 31 31  |CC05  AND #%0111|
000019D0: 31 31 31 31 20 3B 4D 41  53 4B 20 41 4D 2F 50 4D  |1111 ;MASK AM/PM|
000019E0: 20 42 49 54 0D 20 20 20  20 20 20 20 43 4D 50 20  | BIT.       CMP |
000019F0: 23 24 31 32 0D 20 20 20  20 20 20 20 42 43 53 20  |#$12.       BCS |
00001A00: 44 43 43 30 36 20 3B 49  54 27 53 20 4E 4F 4F 4E  |DCC06 ;IT'S NOON|
00001A10: 20 53 54 52 41 49 47 48  54 20 55 50 0D 20 20 20  | STRAIGHT UP.   |
00001A20: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 53 45 44  |    ;.       SED|
00001A30: 20 3B 44 45 43 49 4D 41  4C 20 4D 4F 44 45 0D 20  | ;DECIMAL MODE. |
00001A40: 20 20 20 20 20 20 41 44  43 20 23 24 31 32 20 3B  |      ADC #$12 ;|
00001A50: 43 48 41 4E 47 45 20 54  4F 20 32 34 20 48 4F 55  |CHANGE TO 24 HOU|
00001A60: 52 53 0D 20 20 20 20 20  20 20 43 4C 44 20 3B 42  |RS.       CLD ;B|
00001A70: 49 4E 41 52 59 20 4D 4F  44 45 0D 20 20 20 20 20  |INARY MODE.     |
00001A80: 20 20 3B 0D 44 43 43 30  36 20 20 53 54 41 20 54  |  ;.DCC06  STA T|
00001A90: 4F 44 43 20 3B 43 4F 4E  56 45 52 54 45 44 20 48  |ODC ;CONVERTED H|
00001AA0: 4F 55 52 53 0D 20 20 20  20 20 20 20 3B 0D 20 20  |OURS.       ;.  |
00001AB0: 20 20 20 20 20 3B 0D 3B  54 45 53 54 20 46 4F 52  |     ;.;TEST FOR|
00001AC0: 20 41 4C 41 52 4D 20 54  49 4D 45 2E 2E 2E 0D 20  | ALARM TIME.... |
00001AD0: 20 20 20 20 20 20 3B 0D  20 20 20 20 20 20 20 42  |      ;.       B|
00001AE0: 49 54 20 41 46 4C 47 20  3B 43 48 45 43 4B 20 46  |IT AFLG ;CHECK F|
00001AF0: 4C 41 47 0D 20 20 20 20  20 20 20 42 4D 49 20 44  |LAG.       BMI D|
00001B00: 43 43 30 39 20 3B 41 4C  41 52 4D 20 4E 4F 54 20  |CC09 ;ALARM NOT |
00001B10: 45 4E 41 42 4C 45 44 0D  20 20 20 20 20 20 20 3B  |ENABLED.       ;|
00001B20: 0D 20 20 20 20 20 20 20  4C 44 59 20 23 31 20 3B  |.       LDY #1 ;|
00001B30: 4F 46 46 53 45 54 0D 20  20 20 20 20 20 20 3B 0D  |OFFSET.       ;.|
00001B40: 44 43 43 30 37 20 20 4C  44 41 20 41 4C 54 43 2C  |DCC07  LDA ALTC,|
00001B50: 59 20 3B 41 4C 41 52 4D  20 54 49 4D 45 0D 20 20  |Y ;ALARM TIME.  |
00001B60: 20 20 20 20 20 43 4D 50  20 54 4F 44 43 2C 59 20  |     CMP TODC,Y |
00001B70: 3B 43 48 45 43 4B 20 41  47 41 49 4E 53 54 20 54  |;CHECK AGAINST T|
00001B80: 4F 44 0D 20 20 20 20 20  20 20 42 4E 45 20 44 43  |OD.       BNE DC|
00001B90: 43 30 39 20 3B 4E 4F 54  20 54 49 4D 45 0D 20 20  |C09 ;NOT TIME.  |
00001BA0: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 44 45  |     ;.       DE|
00001BB0: 59 0D 20 20 20 20 20 20  20 42 50 4C 20 44 43 43  |Y.       BPL DCC|
00001BC0: 30 37 20 3B 4C 4F 4F 50  0D 20 20 20 20 20 20 20  |07 ;LOOP.       |
00001BD0: 3B 0D 20 20 20 20 20 20  20 3B 0D 3B 53 4F 55 4E  |;.       ;.;SOUN|
00001BE0: 44 20 41 4C 41 52 4D 2E  2E 2E 0D 20 20 20 20 20  |D ALARM....     |
00001BF0: 20 20 3B 0D 20 20 20 20  20 20 20 4C 44 41 20 23  |  ;.       LDA #|
00001C00: 31 35 0D 20 20 20 20 20  20 20 53 54 41 20 53 49  |15.       STA SI|
00001C10: 47 56 4F 4C 20 3B 4D 41  58 20 56 4F 4C 55 4D 45  |GVOL ;MAX VOLUME|
00001C20: 0D 20 20 20 20 20 20 20  53 54 41 20 46 52 45 4C  |.       STA FREL|
00001C30: 4F 33 20 3B 53 45 54 20  46 52 45 51 55 45 4E 43  |O3 ;SET FREQUENC|
00001C40: 59 0D 20 20 20 20 20 20  20 53 54 41 20 46 52 45  |Y.       STA FRE|
00001C50: 48 49 33 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |HI3.       ;.   |
00001C60: 20 20 20 20 4C 44 58 20  23 32 35 30 20 3B 44 55  |    LDX #250 ;DU|
00001C70: 52 41 54 49 4F 4E 0D 20  20 20 20 20 20 20 4C 44  |RATION.       LD|
00001C80: 59 20 23 33 33 20 3B 53  41 57 54 4F 4F 54 48 20  |Y #33 ;SAWTOOTH |
00001C90: 57 41 56 45 46 4F 52 4D  0D 20 20 20 20 20 20 20  |WAVEFORM.       |
00001CA0: 53 54 58 20 53 55 52 45  4C 33 20 3B 53 55 53 54  |STX SUREL3 ;SUST|
00001CB0: 41 49 4E 2F 52 45 4C 45  41 53 45 0D 20 20 20 20  |AIN/RELEASE.    |
00001CC0: 20 20 20 53 54 59 20 56  43 52 45 47 33 20 3B 41  |   STY VCREG3 ;A|
00001CD0: 54 54 41 43 4B 2F 44 45  43 41 59 0D 20 20 20 20  |TTACK/DECAY.    |
00001CE0: 20 20 20 3B 0D 20 20 20  20 20 20 20 44 45 59 0D  |   ;.       DEY.|
00001CF0: 20 20 20 20 20 20 20 53  54 59 20 56 43 52 45 47  |       STY VCREG|
00001D00: 33 20 3B 47 41 54 45 20  56 4F 49 43 45 0D 20 20  |3 ;GATE VOICE.  |
00001D10: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 3B 0D  |     ;.       ;.|
00001D20: 3B 54 45 53 54 20 46 4F  52 20 53 54 52 4F 4B 45  |;TEST FOR STROKE|
00001D30: 20 4F 46 20 4D 49 44 4E  49 54 45 2E 2E 2E 0D 20  | OF MIDNITE.... |
00001D40: 20 20 20 20 20 20 3B 0D  44 43 43 30 39 20 20 4C  |      ;.DCC09  L|
00001D50: 44 59 20 23 32 20 3B 54  4F 44 43 20 4F 46 46 53  |DY #2 ;TODC OFFS|
00001D60: 45 54 0D 20 20 20 20 20  20 20 3B 0D 44 43 43 31  |ET.       ;.DCC1|
00001D70: 30 20 20 4C 44 41 20 54  4F 44 43 2C 59 20 3B 46  |0  LDA TODC,Y ;F|
00001D80: 45 54 43 48 20 54 49 4D  45 20 56 41 4C 55 45 0D  |ETCH TIME VALUE.|
00001D90: 20 20 20 20 20 20 20 42  4E 45 20 44 43 43 31 36  |       BNE DCC16|
00001DA0: 20 3B 4E 4F 54 20 4D 49  44 4E 49 54 45 0D 20 20  | ;NOT MIDNITE.  |
00001DB0: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 44 45  |     ;.       DE|
00001DC0: 59 0D 20 20 20 20 20 20  20 42 50 4C 20 44 43 43  |Y.       BPL DCC|
00001DD0: 31 30 20 3B 4C 4F 4F 50  0D 20 20 20 20 20 20 20  |10 ;LOOP.       |
00001DE0: 3B 0D 20 20 20 20 20 20  20 3B 0D 3B 54 45 53 54  |;.       ;.;TEST|
00001DF0: 20 46 4F 52 20 4C 45 41  50 20 59 45 41 52 2E 2E  | FOR LEAP YEAR..|
00001E00: 2E 0D 20 20 20 20 20 20  20 3B 0D 20 20 20 20 20  |..       ;.     |
00001E10: 20 20 4C 44 41 20 54 44  54 43 2B 32 20 3B 43 55  |  LDA TDTC+2 ;CU|
00001E20: 52 52 45 4E 54 20 59 45  41 52 0D 20 20 20 20 20  |RRENT YEAR.     |
00001E30: 20 20 4A 53 52 20 42 43  44 4F 46 20 3B 43 48 41  |  JSR BCDOF ;CHA|
00001E40: 4E 47 45 20 54 4F 20 42  49 4E 41 52 59 0D 20 20  |NGE TO BINARY.  |
00001E50: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 4C 44  |     ;.       LD|
00001E60: 58 20 23 24 32 38 0D 20  20 20 20 20 20 20 3B 0D  |X #$28.       ;.|
00001E70: 20 20 20 20 20 20 20 4C  53 52 20 3B 44 49 56 49  |       LSR ;DIVI|
00001E80: 44 45 20 42 59 20 32 0D  20 20 20 20 20 20 20 42  |DE BY 2.       B|
00001E90: 43 53 20 44 43 43 31 31  20 3B 4F 44 44 20 59 45  |CS DCC11 ;ODD YE|
00001EA0: 41 52 0D 20 20 20 20 20  20 20 3B 0D 20 20 20 20  |AR.       ;.    |
00001EB0: 20 20 20 4C 53 52 20 3B  44 49 56 49 44 45 20 41  |   LSR ;DIVIDE A|
00001EC0: 47 41 49 4E 0D 20 20 20  20 20 20 20 42 43 53 20  |GAIN.       BCS |
00001ED0: 44 43 43 31 31 20 3B 4E  4F 4E 2D 4C 45 41 50 20  |DCC11 ;NON-LEAP |
00001EE0: 59 45 41 52 0D 20 20 20  20 20 20 20 3B 0D 20 20  |YEAR.       ;.  |
00001EF0: 20 20 20 20 20 49 4E 58  20 3B 4C 45 41 50 20 59  |     INX ;LEAP Y|
00001F00: 45 41 52 0D 20 20 20 20  20 20 20 3B 0D 44 43 43  |EAR.       ;.DCC|
00001F10: 31 31 20 20 53 54 58 20  43 4C 55 54 2B 31 20 3B  |11  STX CLUT+1 ;|
00001F20: 4C 41 53 54 20 44 41 59  20 49 4E 20 46 45 42 2E  |LAST DAY IN FEB.|
00001F30: 0D 20 20 20 20 20 20 20  3B 0D 20 20 20 20 20 20  |.       ;.      |
00001F40: 20 3B 0D 3B 41 44 4A 55  53 54 20 44 41 54 45 20  | ;.;ADJUST DATE |
00001F50: 46 4F 52 20 45 4E 44 20  4F 46 20 4D 4F 4E 54 48  |FOR END OF MONTH|
00001F60: 2E 2E 2E 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |....       ;.   |
00001F70: 20 20 20 20 4C 44 41 20  54 44 54 43 20 3B 46 45  |    LDA TDTC ;FE|
00001F80: 54 43 48 20 4D 4F 4E 54  48 0D 20 20 20 20 20 20  |TCH MONTH.      |
00001F90: 20 4A 53 52 20 42 43 44  4F 46 20 3B 43 48 41 4E  | JSR BCDOF ;CHAN|
00001FA0: 47 45 20 54 4F 20 42 49  4E 41 52 59 0D 20 20 20  |GE TO BINARY.   |
00001FB0: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 54 41 58  |    ;.       TAX|
00001FC0: 0D 20 20 20 20 20 20 20  44 45 58 20 3B 43 41 4C  |.       DEX ;CAL|
00001FD0: 45 4E 44 41 52 20 4C 4F  4F 4B 55 50 20 4F 46 46  |ENDAR LOOKUP OFF|
00001FE0: 53 45 54 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |SET.       ;.   |
00001FF0: 20 20 20 20 4C 44 41 20  54 44 54 43 2B 31 20 3B  |    LDA TDTC+1 ;|
00002000: 43 55 52 52 45 4E 54 20  44 41 59 0D 20 20 20 20  |CURRENT DAY.    |
00002010: 20 20 20 43 4D 50 20 43  4C 55 54 2C 58 20 3B 4C  |   CMP CLUT,X ;L|
00002020: 41 53 54 20 44 41 59 20  4F 46 20 4D 4F 4E 54 48  |AST DAY OF MONTH|
00002030: 0D 20 20 20 20 20 20 20  42 4E 45 20 44 43 43 31  |.       BNE DCC1|
00002040: 34 20 3B 4E 4F 54 20 45  4E 44 20 4F 46 20 4D 4F  |4 ;NOT END OF MO|
00002050: 4E 54 48 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |NTH.       ;.   |
00002060: 20 20 20 20 43 50 58 20  23 31 31 0D 20 20 20 20  |    CPX #11.    |
00002070: 20 20 20 42 4E 45 20 44  43 43 31 32 20 3B 4E 4F  |   BNE DCC12 ;NO|
00002080: 54 20 44 45 43 45 4D 42  45 52 0D 20 20 20 20 20  |T DECEMBER.     |
00002090: 20 20 3B 0D 20 20 20 20  20 20 20 4C 44 41 20 54  |  ;.       LDA T|
000020A0: 44 54 43 2B 32 20 3B 43  55 52 52 45 4E 54 20 59  |DTC+2 ;CURRENT Y|
000020B0: 45 41 52 0D 20 20 20 20  20 20 20 4A 53 52 20 49  |EAR.       JSR I|
000020C0: 44 56 20 3B 42 55 4D 50  20 59 45 41 52 0D 20 20  |DV ;BUMP YEAR.  |
000020D0: 20 20 20 20 20 53 54 41  20 54 44 54 43 2B 32 20  |     STA TDTC+2 |
000020E0: 3B 53 41 56 45 20 4E 45  57 20 59 45 41 52 0D 20  |;SAVE NEW YEAR. |
000020F0: 20 20 20 20 20 20 3B 0D  20 20 20 20 20 20 20 4C  |      ;.       L|
00002100: 44 41 20 23 31 0D 20 20  20 20 20 20 20 42 4E 45  |DA #1.       BNE|
00002110: 20 44 43 43 31 33 20 3B  53 45 54 20 4D 4F 4E 54  | DCC13 ;SET MONT|
00002120: 48 20 54 4F 20 4A 41 4E  55 41 52 59 0D 20 20 20  |H TO JANUARY.   |
00002130: 20 20 20 20 3B 0D 44 43  43 31 32 20 20 4C 44 41  |    ;.DCC12  LDA|
00002140: 20 54 44 54 43 20 3B 43  55 52 52 45 4E 54 20 4D  | TDTC ;CURRENT M|
00002150: 4F 4E 54 48 0D 20 20 20  20 20 20 20 4A 53 52 20  |ONTH.       JSR |
00002160: 49 44 56 20 3B 42 55 4D  50 0D 20 20 20 20 20 20  |IDV ;BUMP.      |
00002170: 20 3B 0D 44 43 43 31 33  20 20 53 54 41 20 54 44  | ;.DCC13  STA TD|
00002180: 54 43 20 3B 4E 45 57 20  4D 4F 4E 54 48 0D 20 20  |TC ;NEW MONTH.  |
00002190: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 4C 44  |     ;.       LD|
000021A0: 41 20 23 31 0D 20 20 20  20 20 20 20 42 4E 45 20  |A #1.       BNE |
000021B0: 44 43 43 31 35 20 3B 53  45 54 20 44 41 59 20 54  |DCC15 ;SET DAY T|
000021C0: 4F 20 31 53 54 20 4F 46  20 4D 4F 4E 54 48 0D 20  |O 1ST OF MONTH. |
000021D0: 20 20 20 20 20 20 3B 0D  44 43 43 31 34 20 20 4A  |      ;.DCC14  J|
000021E0: 53 52 20 49 44 56 20 3B  42 55 4D 50 20 44 41 59  |SR IDV ;BUMP DAY|
000021F0: 0D 20 20 20 20 20 20 20  3B 0D 44 43 43 31 35 20  |.       ;.DCC15 |
00002200: 20 53 54 41 20 54 44 54  43 2B 31 20 3B 4E 45 57  | STA TDTC+1 ;NEW|
00002210: 20 44 41 59 0D 20 20 20  20 20 20 20 3B 0D 20 20  | DAY.       ;.  |
00002220: 20 20 20 20 20 3B 0D 3B  44 45 43 4F 44 45 20 44  |     ;.;DECODE D|
00002230: 41 54 45 20 46 4F 52 20  44 49 53 50 4C 41 59 2E  |ATE FOR DISPLAY.|
00002240: 2E 2E 0D 20 20 20 20 20  20 20 3B 0D 44 43 43 31  |...       ;.DCC1|
00002250: 36 20 20 4C 44 41 20 54  44 54 43 20 3B 43 55 52  |6  LDA TDTC ;CUR|
00002260: 52 45 4E 54 20 4D 4F 4E  54 48 0D 20 20 20 20 20  |RENT MONTH.     |
00002270: 20 20 4A 53 52 20 42 43  44 41 53 43 20 3B 44 45  |  JSR BCDASC ;DE|
00002280: 43 4F 44 45 20 54 4F 20  41 53 43 49 49 0D 20 20  |CODE TO ASCII.  |
00002290: 20 20 20 20 20 43 4D 50  20 23 22 30 22 0D 20 20  |     CMP #"0".  |
000022A0: 20 20 20 20 20 42 4E 45  20 44 43 43 31 37 0D 20  |     BNE DCC17. |
000022B0: 20 20 20 20 20 20 3B 0D  20 20 20 20 20 20 20 4C  |      ;.       L|
000022C0: 44 41 20 23 33 32 20 3B  42 4C 41 4E 4B 20 4C 45  |DA #32 ;BLANK LE|
000022D0: 41 44 49 4E 47 20 5A 45  52 4F 0D 20 20 20 20 20  |ADING ZERO.     |
000022E0: 20 20 3B 0D 44 43 43 31  37 20 20 53 54 41 20 54  |  ;.DCC17  STA T|
000022F0: 44 54 41 20 3B 53 41 56  45 20 54 45 4E 53 0D 20  |DTA ;SAVE TENS. |
00002300: 20 20 20 20 20 20 53 54  58 20 54 44 54 41 2B 31  |      STX TDTA+1|
00002310: 20 3B 53 41 56 45 20 55  4E 49 54 53 0D 20 20 20  | ;SAVE UNITS.   |
00002320: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 4C 44 41  |    ;.       LDA|
00002330: 20 54 44 54 43 2B 31 20  3B 43 55 52 52 45 4E 54  | TDTC+1 ;CURRENT|
00002340: 20 44 41 59 0D 20 20 20  20 20 20 20 4A 53 52 20  | DAY.       JSR |
00002350: 42 43 44 41 53 43 0D 20  20 20 20 20 20 20 53 54  |BCDASC.       ST|
00002360: 41 20 54 44 54 41 2B 33  0D 20 20 20 20 20 20 20  |A TDTA+3.       |
00002370: 53 54 58 20 54 44 54 41  2B 34 0D 20 20 20 20 20  |STX TDTA+4.     |
00002380: 20 20 3B 0D 20 20 20 20  20 20 20 4C 44 41 20 54  |  ;.       LDA T|
00002390: 44 54 43 2B 32 20 3B 43  55 52 52 45 4E 54 20 59  |DTC+2 ;CURRENT Y|
000023A0: 45 41 52 0D 20 20 20 20  20 20 20 4A 53 52 20 42  |EAR.       JSR B|
000023B0: 43 44 41 53 43 0D 20 20  20 20 20 20 20 53 54 41  |CDASC.       STA|
000023C0: 20 54 44 54 41 2B 36 0D  20 20 20 20 20 20 20 53  | TDTA+6.       S|
000023D0: 54 58 20 54 44 54 41 2B  37 0D 20 20 20 20 20 20  |TX TDTA+7.      |
000023E0: 20 3B 0D 20 20 20 20 20  20 20 3B 0D 3B 44 45 43  | ;.       ;.;DEC|
000023F0: 4F 44 45 20 54 49 4D 45  20 46 4F 52 20 44 49 53  |ODE TIME FOR DIS|
00002400: 50 4C 41 59 2E 2E 2E 0D  20 20 20 20 20 20 20 3B  |PLAY....       ;|
00002410: 0D 20 20 20 20 20 20 20  4C 44 41 20 54 4F 44 43  |.       LDA TODC|
00002420: 20 3B 48 4F 55 52 53 0D  20 20 20 20 20 20 20 4A  | ;HOURS.       J|
00002430: 53 52 20 42 43 44 41 53  43 0D 20 20 20 20 20 20  |SR BCDASC.      |
00002440: 20 53 54 41 20 54 4F 44  41 0D 20 20 20 20 20 20  | STA TODA.      |
00002450: 20 53 54 58 20 54 4F 44  41 2B 31 0D 20 20 20 20  | STX TODA+1.    |
00002460: 20 20 20 3B 0D 20 20 20  20 20 20 20 4C 44 41 20  |   ;.       LDA |
00002470: 54 4F 44 43 2B 31 20 3B  4D 49 4E 55 54 45 53 0D  |TODC+1 ;MINUTES.|
00002480: 20 20 20 20 20 20 20 4A  53 52 20 42 43 44 41 53  |       JSR BCDAS|
00002490: 43 0D 20 20 20 20 20 20  20 53 54 41 20 54 4F 44  |C.       STA TOD|
000024A0: 41 2B 33 0D 20 20 20 20  20 20 20 53 54 58 20 54  |A+3.       STX T|
000024B0: 4F 44 41 2B 34 0D 20 20  20 20 20 20 20 3B 0D 20  |ODA+4.       ;. |
000024C0: 20 20 20 20 20 20 4C 44  41 20 54 4F 44 43 2B 32  |      LDA TODC+2|
000024D0: 20 3B 53 45 43 4F 4E 44  53 0D 20 20 20 20 20 20  | ;SECONDS.      |
000024E0: 20 4A 53 52 20 42 43 44  41 53 43 0D 20 20 20 20  | JSR BCDASC.    |
000024F0: 20 20 20 53 54 41 20 54  4F 44 41 2B 36 0D 20 20  |   STA TODA+6.  |
00002500: 20 20 20 20 20 53 54 58  20 54 4F 44 41 2B 37 0D  |     STX TODA+7.|
00002510: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
00002520: 3B 0D 3B 44 49 53 50 4C  41 59 20 54 49 4D 45 20  |;.;DISPLAY TIME |
00002530: 26 20 44 41 54 45 2E 2E  2E 0D 20 20 20 20 20 20  |& DATE....      |
00002540: 20 3B 0D 20 20 20 20 20  20 20 4C 44 41 20 44 46  | ;.       LDA DF|
00002550: 4C 47 0D 20 20 20 20 20  20 20 42 4E 45 20 44 43  |LG.       BNE DC|
00002560: 43 32 33 20 3B 44 49 53  50 4C 41 59 20 49 4E 48  |C23 ;DISPLAY INH|
00002570: 49 42 49 54 45 44 0D 20  20 20 20 20 20 20 3B 0D  |IBITED.       ;.|
00002580: 20 20 20 20 20 20 20 3B  0D 3B 44 49 53 50 4C 41  |       ;.;DISPLA|
00002590: 59 20 4F 4E 20 34 30 20  43 4F 4C 55 4D 4E 20 53  |Y ON 40 COLUMN S|
000025A0: 43 52 45 45 4E 2E 2E 2E  0D 20 20 20 20 20 20 20  |CREEN....       |
000025B0: 3B 0D 44 43 43 31 38 20  20 4C 44 41 20 43 46 4C  |;.DCC18  LDA CFL|
000025C0: 47 20 3B 44 49 53 50 4C  41 59 20 43 4F 4C 4F 52  |G ;DISPLAY COLOR|
000025D0: 0D 20 20 20 20 20 20 20  4C 44 59 20 23 37 20 3B  |.       LDY #7 ;|
000025E0: 4F 46 46 53 45 54 0D 20  20 20 20 20 20 20 3B 0D  |OFFSET.       ;.|
000025F0: 44 43 43 31 39 20 20 53  54 41 20 56 4C 52 41 4D  |DCC19  STA VLRAM|
00002600: 2B 33 32 2C 59 20 3B 43  4F 4C 4F 52 0D 20 20 20  |+32,Y ;COLOR.   |
00002610: 20 20 20 20 53 54 41 20  56 4C 52 41 4D 2B 37 32  |    STA VLRAM+72|
00002620: 2C 59 0D 20 20 20 20 20  20 20 44 45 59 0D 20 20  |,Y.       DEY.  |
00002630: 20 20 20 20 20 42 50 4C  20 44 43 43 31 39 20 3B  |     BPL DCC19 ;|
00002640: 4C 4F 4F 50 0D 20 20 20  20 20 20 20 3B 0D 20 20  |LOOP.       ;.  |
00002650: 20 20 20 20 20 4C 44 58  20 52 46 4C 47 20 3B 4E  |     LDX RFLG ;N|
00002660: 4F 52 4D 41 4C 2F 52 45  56 45 52 53 45 20 46 4C  |ORMAL/REVERSE FL|
00002670: 41 47 0D 20 20 20 20 20  20 20 4C 44 59 20 23 37  |AG.       LDY #7|
00002680: 20 3B 4F 46 46 53 45 54  0D 20 20 20 20 20 20 20  | ;OFFSET.       |
00002690: 3B 0D 44 43 43 32 30 20  20 4C 44 41 20 54 4F 44  |;.DCC20  LDA TOD|
000026A0: 41 2C 59 20 3B 46 45 54  43 48 20 54 49 4D 45 0D  |A,Y ;FETCH TIME.|
000026B0: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
000026C0: 43 50 58 20 23 30 20 3B  54 45 53 54 20 52 45 56  |CPX #0 ;TEST REV|
000026D0: 45 52 53 45 20 46 4C 41  47 0D 20 20 20 20 20 20  |ERSE FLAG.      |
000026E0: 20 42 45 51 20 44 43 43  32 31 20 3B 4E 4F 54 20  | BEQ DCC21 ;NOT |
000026F0: 52 45 56 45 52 53 45 44  0D 20 20 20 20 20 20 20  |REVERSED.       |
00002700: 3B 0D 20 20 20 20 20 20  20 4F 52 41 20 23 31 32  |;.       ORA #12|
00002710: 38 20 3B 52 45 56 45 52  53 45 0D 20 20 20 20 20  |8 ;REVERSE.     |
00002720: 20 20 3B 0D 44 43 43 32  31 20 20 53 54 41 20 56  |  ;.DCC21  STA V|
00002730: 43 52 41 4D 2B 33 32 2C  59 0D 20 20 20 20 20 20  |CRAM+32,Y.      |
00002740: 20 3B 0D 20 20 20 20 20  20 20 4C 44 41 20 54 44  | ;.       LDA TD|
00002750: 54 41 2C 59 20 3B 46 45  54 43 48 20 44 41 54 45  |TA,Y ;FETCH DATE|
00002760: 0D 20 20 20 20 20 20 20  43 50 58 20 23 30 0D 20  |.       CPX #0. |
00002770: 20 20 20 20 20 20 42 45  51 20 44 43 43 32 32 0D  |      BEQ DCC22.|
00002780: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
00002790: 4F 52 41 20 23 31 32 38  0D 20 20 20 20 20 20 20  |ORA #128.       |
000027A0: 3B 0D 44 43 43 32 32 20  20 53 54 41 20 56 43 52  |;.DCC22  STA VCR|
000027B0: 41 4D 2B 37 32 2C 59 0D  20 20 20 20 20 20 20 3B  |AM+72,Y.       ;|
000027C0: 0D 20 20 20 20 20 20 20  44 45 59 0D 20 20 20 20  |.       DEY.    |
000027D0: 20 20 20 42 50 4C 20 44  43 43 32 30 0D 20 20 20  |   BPL DCC20.   |
000027E0: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 3B 0D 3B  |    ;.       ;.;|
000027F0: 44 49 53 50 4C 41 59 20  4F 4E 20 38 30 20 43 4F  |DISPLAY ON 80 CO|
00002800: 4C 55 4D 4E 20 53 43 52  45 45 4E 2E 2E 2E 0D 20  |LUMN SCREEN.... |
00002810: 20 20 20 20 20 20 3B 0D  20 20 20 20 20 20 20 4C  |      ;.       L|
00002820: 44 41 20 23 3E 53 43 52  41 4D 31 20 3B 41 44 44  |DA #>SCRAM1 ;ADD|
00002830: 52 45 53 53 20 46 4F 52  2E 2E 2E 0D 20 20 20 20  |RESS FOR....    |
00002840: 20 20 20 4C 44 59 20 23  3C 53 43 52 41 4D 31 20  |   LDY #<SCRAM1 |
00002850: 3B 54 49 4D 45 20 44 49  53 50 4C 41 59 0D 20 20  |;TIME DISPLAY.  |
00002860: 20 20 20 20 20 4A 53 52  20 53 45 54 52 41 4D 20  |     JSR SETRAM |
00002870: 3B 53 45 54 20 55 50 20  56 44 43 20 52 41 4D 0D  |;SET UP VDC RAM.|
00002880: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
00002890: 4C 44 58 20 23 3C 54 4F  44 41 20 3B 50 45 54 41  |LDX #<TODA ;PETA|
000028A0: 53 43 49 49 20 54 49 4D  45 0D 20 20 20 20 20 20  |SCII TIME.      |
000028B0: 20 4C 44 59 20 23 3E 54  4F 44 41 0D 20 20 20 20  | LDY #>TODA.    |
000028C0: 20 20 20 4A 53 52 20 44  54 4F 44 20 3B 44 49 53  |   JSR DTOD ;DIS|
000028D0: 50 4C 41 59 0D 20 20 20  20 20 20 20 3B 0D 20 20  |PLAY.       ;.  |
000028E0: 20 20 20 20 20 4C 44 41  20 23 3E 53 43 52 41 4D  |     LDA #>SCRAM|
000028F0: 32 20 3B 41 44 44 52 45  53 53 20 46 4F 52 2E 2E  |2 ;ADDRESS FOR..|
00002900: 2E 0D 20 20 20 20 20 20  20 4C 44 59 20 23 3C 53  |..       LDY #<S|
00002910: 43 52 41 4D 32 20 3B 44  41 54 45 20 44 49 53 50  |CRAM2 ;DATE DISP|
00002920: 4C 41 59 0D 20 20 20 20  20 20 20 4A 53 52 20 53  |LAY.       JSR S|
00002930: 45 54 52 41 4D 0D 20 20  20 20 20 20 20 3B 0D 20  |ETRAM.       ;. |
00002940: 20 20 20 20 20 20 4C 44  58 20 23 3C 54 44 54 41  |      LDX #<TDTA|
00002950: 20 3B 50 45 54 41 53 43  49 49 20 44 41 54 45 0D  | ;PETASCII DATE.|
00002960: 20 20 20 20 20 20 20 4C  44 59 20 23 3E 54 44 54  |       LDY #>TDT|
00002970: 41 0D 20 20 20 20 20 20  20 4A 53 52 20 44 54 4F  |A.       JSR DTO|
00002980: 44 20 3B 44 49 53 50 4C  41 59 0D 20 20 20 20 20  |D ;DISPLAY.     |
00002990: 20 20 3B 0D 20 20 20 20  20 20 20 3B 0D 3B 53 45  |  ;.       ;.;SE|
000029A0: 54 20 38 30 20 43 4F 4C  55 4D 4E 20 41 54 54 52  |T 80 COLUMN ATTR|
000029B0: 49 42 55 54 45 53 2E 2E  2E 0D 20 20 20 20 20 20  |IBUTES....      |
000029C0: 20 3B 0D 20 20 20 20 20  20 20 4C 44 41 20 23 3E  | ;.       LDA #>|
000029D0: 41 54 52 41 4D 31 20 3B  41 44 44 52 45 53 53 20  |ATRAM1 ;ADDRESS |
000029E0: 46 4F 52 2E 2E 2E 0D 20  20 20 20 20 20 20 4C 44  |FOR....       LD|
000029F0: 59 20 23 3C 41 54 52 41  4D 31 20 3B 54 49 4D 45  |Y #<ATRAM1 ;TIME|
00002A00: 20 41 54 54 52 49 42 55  54 45 0D 20 20 20 20 20  | ATTRIBUTE.     |
00002A10: 20 20 4A 53 52 20 53 45  54 52 41 4D 0D 20 20 20  |  JSR SETRAM.   |
00002A20: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 4A 53 52  |    ;.       JSR|
00002A30: 20 41 54 52 53 54 20 3B  53 45 54 20 55 50 20 41  | ATRST ;SET UP A|
00002A40: 54 54 52 49 42 55 54 45  53 0D 20 20 20 20 20 20  |TTRIBUTES.      |
00002A50: 20 3B 0D 20 20 20 20 20  20 20 4C 44 41 20 23 3E  | ;.       LDA #>|
00002A60: 41 54 52 41 4D 32 20 3B  41 44 44 52 45 53 53 20  |ATRAM2 ;ADDRESS |
00002A70: 46 4F 52 2E 2E 2E 0D 20  20 20 20 20 20 20 4C 44  |FOR....       LD|
00002A80: 59 20 23 3C 41 54 52 41  4D 32 20 3B 44 41 54 45  |Y #<ATRAM2 ;DATE|
00002A90: 20 41 54 54 52 49 42 55  54 45 0D 20 20 20 20 20  | ATTRIBUTE.     |
00002AA0: 20 20 4A 53 52 20 53 45  54 52 41 4D 0D 20 20 20  |  JSR SETRAM.   |
00002AB0: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 4A 53 52  |    ;.       JSR|
00002AC0: 20 41 54 52 53 54 20 3B  53 45 54 20 55 50 20 41  | ATRST ;SET UP A|
00002AD0: 54 54 52 49 42 55 54 45  53 0D 20 20 20 20 20 20  |TTRIBUTES.      |
00002AE0: 20 3B 0D 20 20 20 20 20  20 20 42 49 54 20 4D 4F  | ;.       BIT MO|
00002AF0: 44 45 0D 20 20 20 20 20  20 20 42 50 4C 20 44 43  |DE.       BPL DC|
00002B00: 43 32 33 20 3B 34 30 20  43 4F 4C 55 4D 4E 20 4D  |C23 ;40 COLUMN M|
00002B10: 4F 44 45 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |ODE.       ;.   |
00002B20: 20 20 20 20 4A 4D 50 20  43 52 54 49 20 3B 42 59  |    JMP CRTI ;BY|
00002B30: 50 41 53 53 20 52 45 53  54 20 4F 46 20 49 52 51  |PASS REST OF IRQ|
00002B40: 0D 20 20 20 20 20 20 20  3B 0D 44 43 43 32 33 20  |.       ;.DCC23 |
00002B50: 20 4A 4D 50 20 28 49 52  51 41 29 20 3B 43 4F 4E  | JMP (IRQA) ;CON|
00002B60: 54 49 4E 55 45 20 49 52  51 0D 20 20 20 20 20 20  |TINUE IRQ.      |
00002B70: 20 3B 0D 3B 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  | ;.;============|
00002B80: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
00002B90: 3D 3D 3D 3D 3D 0D 20 20  20 20 20 20 20 3B 0D 3B  |=====.       ;.;|
00002BA0: 44 49 53 50 4C 41 59 20  54 49 4D 45 20 4F 52 20  |DISPLAY TIME OR |
00002BB0: 44 41 54 45 0D 20 20 20  20 20 20 20 3B 0D 44 54  |DATE.       ;.DT|
00002BC0: 4F 44 20 20 20 53 54 58  20 44 54 4F 44 30 32 20  |OD   STX DTOD02 |
00002BD0: 3B 53 4F 55 52 43 45 20  41 44 44 52 45 53 53 0D  |;SOURCE ADDRESS.|
00002BE0: 20 20 20 20 20 20 20 53  54 59 20 44 54 4F 44 30  |       STY DTOD0|
00002BF0: 32 2B 31 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |2+1.       ;.   |
00002C00: 20 20 20 20 4C 44 59 20  23 30 20 3B 4F 46 46 53  |    LDY #0 ;OFFS|
00002C10: 45 54 0D 20 20 20 20 20  20 20 3B 0D 44 54 4F 44  |ET.       ;.DTOD|
00002C20: 30 31 20 2E 42 59 54 45  20 24 42 39 20 3B 4C 44  |01 .BYTE $B9 ;LD|
00002C30: 41 20 4C 4C 48 48 2C 59  20 4F 50 2D 43 4F 44 45  |A LLHH,Y OP-CODE|
00002C40: 0D 20 20 20 20 20 20 20  3B 0D 44 54 4F 44 30 32  |.       ;.DTOD02|
00002C50: 20 2A 3D 2A 2B 32 20 3B  53 4F 55 52 43 45 20 41  | *=*+2 ;SOURCE A|
00002C60: 44 44 52 45 53 53 0D 20  20 20 20 20 20 20 3B 0D  |DDRESS.       ;.|
00002C70: 20 20 20 20 20 20 20 42  45 51 20 41 54 52 53 54  |       BEQ ATRST|
00002C80: 33 20 3B 45 4E 44 20 4F  46 20 53 54 52 49 4E 47  |3 ;END OF STRING|
00002C90: 0D 20 20 20 20 20 20 20  3B 0D 20 20 20 20 20 20  |.       ;.      |
00002CA0: 20 4A 53 52 20 57 56 44  43 4D 20 3B 4F 55 54 50  | JSR WVDCM ;OUTP|
00002CB0: 55 54 20 54 4F 20 38 35  36 33 0D 20 20 20 20 20  |UT TO 8563.     |
00002CC0: 20 20 49 4E 59 0D 20 20  20 20 20 20 20 42 4E 45  |  INY.       BNE|
00002CD0: 20 44 54 4F 44 30 31 20  3B 4C 4F 4F 50 0D 20 20  | DTOD01 ;LOOP.  |
00002CE0: 20 20 20 20 20 3B 0D 3B  2D 2D 2D 2D 2D 2D 2D 2D  |     ;.;--------|
00002CF0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00002D00: 2D 2D 2D 2D 2D 2D 2D 2D  2D 0D 20 20 20 20 20 20  |---------.      |
00002D10: 20 3B 0D 3B 53 45 54 20  55 50 20 44 49 53 50 4C  | ;.;SET UP DISPL|
00002D20: 41 59 20 41 54 54 52 49  42 55 54 45 53 0D 20 20  |AY ATTRIBUTES.  |
00002D30: 20 20 20 20 20 3B 0D 41  54 52 53 54 20 20 4C 44  |     ;.ATRST  LD|
00002D40: 59 20 23 38 20 3B 43 4F  55 4E 54 45 52 0D 20 20  |Y #8 ;COUNTER.  |
00002D50: 20 20 20 20 20 3B 0D 41  54 52 53 54 31 20 4C 44  |     ;.ATRST1 LD|
00002D60: 41 20 43 46 4C 47 20 3B  47 45 54 20 43 4F 4C 4F  |A CFLG ;GET COLO|
00002D70: 52 0D 20 20 20 20 20 20  20 4C 44 58 20 52 46 4C  |R.       LDX RFL|
00002D80: 47 0D 20 20 20 20 20 20  20 42 45 51 20 41 54 52  |G.       BEQ ATR|
00002D90: 53 54 32 20 3B 4E 4F 20  52 45 56 45 52 53 45 20  |ST2 ;NO REVERSE |
00002DA0: 44 49 53 50 4C 41 59 0D  20 20 20 20 20 20 20 3B  |DISPLAY.       ;|
00002DB0: 0D 20 20 20 20 20 20 20  4F 52 41 20 23 25 30 31  |.       ORA #%01|
00002DC0: 30 30 30 30 30 30 20 3B  52 45 56 45 52 53 45 0D  |000000 ;REVERSE.|
00002DD0: 20 20 20 20 20 20 20 3B  0D 41 54 52 53 54 32 20  |       ;.ATRST2 |
00002DE0: 4A 53 52 20 57 56 44 43  4D 20 3B 4F 55 54 50 55  |JSR WVDCM ;OUTPU|
00002DF0: 54 20 54 4F 20 38 35 36  33 0D 20 20 20 20 20 20  |T TO 8563.      |
00002E00: 20 44 45 59 0D 20 20 20  20 20 20 20 42 4E 45 20  | DEY.       BNE |
00002E10: 41 54 52 53 54 31 20 3B  4C 4F 4F 50 0D 20 20 20  |ATRST1 ;LOOP.   |
00002E20: 20 20 20 20 3B 0D 41 54  52 53 54 33 20 52 54 53  |    ;.ATRST3 RTS|
00002E30: 0D 20 20 20 20 20 20 20  3B 0D 3B 2D 2D 2D 2D 2D  |.       ;.;-----|
00002E40: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00002E50: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 0D 20 20 20  |------------.   |
00002E60: 20 20 20 20 3B 0D 3B 53  45 54 20 55 50 20 56 44  |    ;.;SET UP VD|
00002E70: 43 20 52 41 4D 20 41 44  44 52 45 53 53 0D 20 20  |C RAM ADDRESS.  |
00002E80: 20 20 20 20 20 3B 0D 53  45 54 52 41 4D 20 4C 44  |     ;.SETRAM LD|
00002E90: 58 20 23 55 50 52 45 47  20 3B 55 50 44 41 54 45  |X #UPREG ;UPDATE|
00002EA0: 20 52 45 47 49 53 54 45  52 0D 20 20 20 20 20 20  | REGISTER.      |
00002EB0: 20 4A 53 52 20 57 56 44  43 52 20 3B 57 52 49 54  | JSR WVDCR ;WRIT|
00002EC0: 45 0D 20 20 20 20 20 20  20 49 4E 58 0D 20 20 20  |E.       INX.   |
00002ED0: 20 20 20 20 54 59 41 20  3B 53 57 41 50 20 48 49  |    TYA ;SWAP HI|
00002EE0: 20 42 59 54 45 0D 20 20  20 20 20 20 20 4A 4D 50  | BYTE.       JMP|
00002EF0: 20 57 56 44 43 52 0D 20  20 20 20 20 20 20 3B 0D  | WVDCR.       ;.|
00002F00: 3B 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |;---------------|
00002F10: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00002F20: 2D 2D 0D 20 20 20 20 20  20 20 3B 0D 3B 43 48 52  |--.       ;.;CHR|
00002F30: 4F 55 54 20 49 4E 54 45  52 43 45 50 54 20 26 20  |OUT INTERCEPT & |
00002F40: 54 52 41 50 0D 20 20 20  20 20 20 20 3B 0D 43 52  |TRAP.       ;.CR|
00002F50: 44 59 20 20 20 50 48 41  20 3B 53 41 56 45 20 50  |DY   PHA ;SAVE P|
00002F60: 52 49 4E 54 49 4E 47 20  43 48 41 52 2E 0D 20 20  |RINTING CHAR..  |
00002F70: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 42 49  |     ;.       BI|
00002F80: 54 20 4D 4F 44 45 0D 20  20 20 20 20 20 20 42 50  |T MODE.       BP|
00002F90: 4C 20 43 52 44 59 30 31  20 3B 49 4E 20 34 30 20  |L CRDY01 ;IN 40 |
00002FA0: 43 4F 4C 55 4D 4E 53 0D  20 20 20 20 20 20 20 3B  |COLUMNS.       ;|
00002FB0: 0D 20 20 20 20 20 20 20  4C 44 41 20 44 46 4C 54  |.       LDA DFLT|
00002FC0: 4F 20 3B 4F 55 54 50 55  54 20 44 45 56 49 43 45  |O ;OUTPUT DEVICE|
00002FD0: 0D 20 20 20 20 20 20 20  43 4D 50 20 23 33 0D 20  |.       CMP #3. |
00002FE0: 20 20 20 20 20 20 42 4E  45 20 43 52 44 59 30 31  |      BNE CRDY01|
00002FF0: 20 3B 4E 4F 54 20 53 43  52 45 45 4E 0D 20 20 20  | ;NOT SCREEN.   |
00003000: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 4C 44 41  |    ;.       LDA|
00003010: 20 44 46 4C 47 20 3B 54  45 53 54 20 44 49 53 50  | DFLG ;TEST DISP|
00003020: 4C 41 59 20 46 4C 41 47  0D 20 20 20 20 20 20 20  |LAY FLAG.       |
00003030: 42 4E 45 20 43 52 44 59  30 31 20 3B 44 49 53 50  |BNE CRDY01 ;DISP|
00003040: 4C 41 59 20 49 4E 48 49  42 49 54 45 44 0D 20 20  |LAY INHIBITED.  |
00003050: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 44 45  |     ;.       DE|
00003060: 43 20 44 46 4C 47 20 3B  42 4C 4F 43 4B 20 44 49  |C DFLG ;BLOCK DI|
00003070: 53 50 4C 41 59 0D 20 20  20 20 20 20 20 3B 0D 43  |SPLAY.       ;.C|
00003080: 52 44 59 30 31 20 50 4C  41 20 3B 52 45 43 4F 56  |RDY01 PLA ;RECOV|
00003090: 45 52 20 43 48 41 52 41  43 54 45 52 0D 20 20 20  |ER CHARACTER.   |
000030A0: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 2E 42 59  |    ;.       .BY|
000030B0: 54 45 20 33 32 20 3B 4A  53 52 20 4F 50 2D 43 4F  |TE 32 ;JSR OP-CO|
000030C0: 44 45 0D 20 20 20 20 20  20 20 3B 0D 42 53 4F 55  |DE.       ;.BSOU|
000030D0: 54 41 20 2E 57 4F 52 44  20 43 48 52 4F 55 54 20  |TA .WORD CHROUT |
000030E0: 3B 4E 4F 52 4D 41 4C 20  43 48 52 4F 55 54 0D 20  |;NORMAL CHROUT. |
000030F0: 20 20 20 20 20 20 3B 0D  20 20 20 20 20 20 20 42  |      ;.       B|
00003100: 49 54 20 44 46 4C 47 0D  20 20 20 20 20 20 20 42  |IT DFLG.       B|
00003110: 50 4C 20 43 52 44 59 30  32 20 3B 4E 4F 20 52 45  |PL CRDY02 ;NO RE|
00003120: 53 45 54 20 4E 45 45 44  45 44 0D 20 20 20 20 20  |SET NEEDED.     |
00003130: 20 20 3B 0D 20 20 20 20  20 20 20 49 4E 43 20 44  |  ;.       INC D|
00003140: 46 4C 47 20 3B 43 4C 45  41 52 20 46 4F 52 20 44  |FLG ;CLEAR FOR D|
00003150: 49 53 50 4C 41 59 0D 20  20 20 20 20 20 20 3B 0D  |ISPLAY.       ;.|
00003160: 43 52 44 59 30 32 20 52  54 53 0D 20 20 20 20 20  |CRDY02 RTS.     |
00003170: 20 20 3B 0D 3B 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |  ;.;-----------|
00003180: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00003190: 2D 2D 2D 2D 2D 2D 0D 20  20 20 20 20 20 20 3B 0D  |------.       ;.|
000031A0: 3B 43 4F 4E 56 45 52 54  20 42 43 44 20 54 4F 20  |;CONVERT BCD TO |
000031B0: 50 45 54 41 53 43 49 49  0D 20 20 20 20 20 20 20  |PETASCII.       |
000031C0: 3B 0D 42 43 44 41 53 43  20 4A 53 52 20 42 43 44  |;.BCDASC JSR BCD|
000031D0: 42 49 4E 20 3B 42 43 44  20 54 4F 20 42 49 4E 41  |BIN ;BCD TO BINA|
000031E0: 52 59 0D 20 20 20 20 20  20 20 3B 0D 20 20 20 20  |RY.       ;.    |
000031F0: 20 20 20 50 48 41 20 3B  53 41 56 45 20 54 45 4E  |   PHA ;SAVE TEN|
00003200: 53 20 56 41 4C 55 45 0D  20 20 20 20 20 20 20 3B  |S VALUE.       ;|
00003210: 0D 20 20 20 20 20 20 20  54 58 41 20 3B 55 4E 49  |.       TXA ;UNI|
00003220: 54 53 20 56 41 4C 55 45  0D 20 20 20 20 20 20 20  |TS VALUE.       |
00003230: 4F 52 41 20 23 34 38 20  3B 43 48 41 4E 47 45 20  |ORA #48 ;CHANGE |
00003240: 54 4F 20 50 45 54 41 53  43 49 49 0D 20 20 20 20  |TO PETASCII.    |
00003250: 20 20 20 54 41 58 20 3B  48 4F 4C 44 0D 20 20 20  |   TAX ;HOLD.   |
00003260: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 50 4C 41  |    ;.       PLA|
00003270: 20 3B 46 45 54 43 48 20  54 45 4E 53 0D 20 20 20  | ;FETCH TENS.   |
00003280: 20 20 20 20 4F 52 41 20  23 34 38 0D 20 20 20 20  |    ORA #48.    |
00003290: 20 20 20 3B 0D 20 20 20  20 20 20 20 52 54 53 0D  |   ;.       RTS.|
000032A0: 20 20 20 20 20 20 20 3B  0D 3B 2D 2D 2D 2D 2D 2D  |       ;.;------|
000032B0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000032C0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 0D 20 20 20 20  |-----------.    |
000032D0: 20 20 20 3B 0D 3B 42 43  44 20 44 49 47 49 54 20  |   ;.;BCD DIGIT |
000032E0: 54 4F 20 32 20 42 49 4E  41 52 59 20 44 49 47 49  |TO 2 BINARY DIGI|
000032F0: 54 53 0D 20 20 20 20 20  20 20 3B 0D 42 43 44 42  |TS.       ;.BCDB|
00003300: 49 4E 20 50 48 41 20 3B  53 41 56 45 20 42 43 44  |IN PHA ;SAVE BCD|
00003310: 20 56 41 4C 55 45 0D 20  20 20 20 20 20 20 3B 0D  | VALUE.       ;.|
00003320: 20 20 20 20 20 20 20 41  4E 44 20 23 31 35 20 3B  |       AND #15 ;|
00003330: 4D 41 53 4B 20 54 45 4E  53 20 4E 59 42 42 4C 45  |MASK TENS NYBBLE|
00003340: 0D 20 20 20 20 20 20 20  54 41 58 20 3B 55 4E 49  |.       TAX ;UNI|
00003350: 54 53 20 49 4E 20 2E 58  20 52 45 47 49 53 54 45  |TS IN .X REGISTE|
00003360: 52 0D 20 20 20 20 20 20  20 3B 0D 20 20 20 20 20  |R.       ;.     |
00003370: 20 20 50 4C 41 20 3B 46  45 54 43 48 20 42 43 44  |  PLA ;FETCH BCD|
00003380: 20 56 41 4C 55 45 0D 20  20 20 20 20 20 20 3B 0D  | VALUE.       ;.|
00003390: 20 20 20 20 20 20 20 4C  53 52 20 3B 53 48 49 46  |       LSR ;SHIF|
000033A0: 54 20 54 45 4E 53 20 4E  59 42 42 4C 45 0D 20 20  |T TENS NYBBLE.  |
000033B0: 20 20 20 20 20 4C 53 52  20 20 0D 20 20 20 20 20  |     LSR  .     |
000033C0: 20 20 4C 53 52 20 20 0D  20 20 20 20 20 20 20 4C  |  LSR  .       L|
000033D0: 53 52 20 20 0D 20 20 20  20 20 20 20 3B 0D 20 20  |SR  .       ;.  |
000033E0: 20 20 20 20 20 52 54 53  0D 20 20 20 20 20 20 20  |     RTS.       |
000033F0: 3B 0D 3B 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |;.;-------------|
00003400: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00003410: 2D 2D 2D 2D 0D 20 20 20  20 20 20 20 3B 0D 3B 42  |----.       ;.;B|
00003420: 43 44 20 44 49 47 49 54  20 54 4F 20 31 20 42 49  |CD DIGIT TO 1 BI|
00003430: 4E 41 52 59 20 44 49 47  49 54 0D 20 20 20 20 20  |NARY DIGIT.     |
00003440: 20 20 3B 0D 42 43 44 4F  46 20 20 4A 53 52 20 42  |  ;.BCDOF  JSR B|
00003450: 43 44 42 49 4E 20 3B 42  43 44 20 54 4F 20 42 49  |CDBIN ;BCD TO BI|
00003460: 4E 41 52 59 0D 20 20 20  20 20 20 20 3B 0D 20 20  |NARY.       ;.  |
00003470: 20 20 20 20 20 54 41 59  20 3B 54 45 4E 53 20 56  |     TAY ;TENS V|
00003480: 41 4C 55 45 0D 20 20 20  20 20 20 20 54 58 41 20  |ALUE.       TXA |
00003490: 3B 55 4E 49 54 53 0D 20  20 20 20 20 20 20 3B 0D  |;UNITS.       ;.|
000034A0: 20 20 20 20 20 20 20 43  4C 43 0D 20 20 20 20 20  |       CLC.     |
000034B0: 20 20 3B 0D 42 43 44 4F  46 31 20 44 45 59 20 3B  |  ;.BCDOF1 DEY ;|
000034C0: 43 4F 55 4E 54 45 52 0D  20 20 20 20 20 20 20 42  |COUNTER.       B|
000034D0: 4D 49 20 49 44 56 30 31  20 3B 46 49 4E 49 53 48  |MI IDV01 ;FINISH|
000034E0: 45 44 0D 20 20 20 20 20  20 20 3B 0D 20 20 20 20  |ED.       ;.    |
000034F0: 20 20 20 41 44 43 20 23  31 30 0D 20 20 20 20 20  |   ADC #10.     |
00003500: 20 20 42 4E 45 20 42 43  44 4F 46 31 0D 20 20 20  |  BNE BCDOF1.   |
00003510: 20 20 20 20 3B 0D 3B 2D  2D 2D 2D 2D 2D 2D 2D 2D  |    ;.;---------|
00003520: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00003530: 2D 2D 2D 2D 2D 2D 2D 2D  0D 20 20 20 20 20 20 20  |--------.       |
00003540: 3B 0D 3B 49 4E 43 52 45  4D 45 4E 54 20 44 41 54  |;.;INCREMENT DAT|
00003550: 45 20 56 41 4C 55 45 0D  20 20 20 20 20 20 20 3B  |E VALUE.       ;|
00003560: 0D 49 44 56 20 20 20 20  53 45 44 20 3B 44 45 43  |.IDV    SED ;DEC|
00003570: 49 4D 41 4C 20 4D 4F 44  45 0D 20 20 20 20 20 20  |IMAL MODE.      |
00003580: 20 3B 0D 20 20 20 20 20  20 20 43 4C 43 0D 20 20  | ;.       CLC.  |
00003590: 20 20 20 20 20 41 44 43  20 23 31 0D 20 20 20 20  |     ADC #1.    |
000035A0: 20 20 20 3B 0D 20 20 20  20 20 20 20 43 4C 44 20  |   ;.       CLD |
000035B0: 3B 42 49 4E 41 52 59 20  4D 4F 44 45 0D 20 20 20  |;BINARY MODE.   |
000035C0: 20 20 20 20 3B 0D 49 44  56 30 31 20 20 52 54 53  |    ;.IDV01  RTS|
000035D0: 0D 20 20 20 20 20 20 20  3B 0D 3B 2D 2D 2D 2D 2D  |.       ;.;-----|
000035E0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000035F0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 0D 20 20 20  |------------.   |
00003600: 20 20 20 20 3B 0D 3B 41  4C 54 45 52 4E 41 54 45  |    ;.;ALTERNATE|
00003610: 20 42 41 53 49 43 20 52  45 53 45 54 0D 20 20 20  | BASIC RESET.   |
00003620: 20 20 20 20 3B 0D 41 4C  52 53 54 20 20 4A 53 52  |    ;.ALRST  JSR|
00003630: 20 53 54 41 52 54 20 3B  52 45 53 54 41 52 54 20  | START ;RESTART |
00003640: 43 4C 4F 43 4B 0D 20 20  20 20 20 20 20 3B 0D 20  |CLOCK.       ;. |
00003650: 20 20 20 20 20 20 4C 44  41 20 23 30 0D 20 20 20  |      LDA #0.   |
00003660: 20 20 20 20 53 54 41 20  52 50 54 46 4C 47 20 3B  |    STA RPTFLG ;|
00003670: 52 45 50 45 41 54 20 4F  46 46 0D 20 20 20 20 20  |REPEAT OFF.     |
00003680: 20 20 3B 0D 20 20 20 20  20 20 20 2E 42 59 54 45  |  ;.       .BYTE|
00003690: 20 24 34 43 20 3B 4A 4D  50 20 4C 4C 48 48 20 4F  | $4C ;JMP LLHH O|
000036A0: 50 2D 43 4F 44 45 0D 20  20 20 20 20 20 20 3B 0D  |P-CODE.       ;.|
000036B0: 41 4C 52 53 54 31 20 2A  3D 2A 2B 32 20 3B 52 45  |ALRST1 *=*+2 ;RE|
000036C0: 53 45 54 20 4A 55 4D 50  0D 20 20 20 20 20 20 20  |SET JUMP.       |
000036D0: 3B 0D 3B 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |;.;-------------|
000036E0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000036F0: 2D 2D 2D 2D 0D 20 20 20  20 20 20 20 3B 0D 3B 43  |----.       ;.;C|
00003700: 41 4C 45 4E 44 41 52 20  4C 4F 4F 4B 55 50 20 54  |ALENDAR LOOKUP T|
00003710: 41 42 4C 45 0D 20 20 20  20 20 20 20 3B 0D 43 4C  |ABLE.       ;.CL|
00003720: 55 54 20 20 20 2E 42 59  54 45 20 24 33 31 20 3B  |UT   .BYTE $31 ;|
00003730: 4A 41 4E 0D 20 20 20 20  20 20 20 2E 42 59 54 45  |JAN.       .BYTE|
00003740: 20 24 32 38 20 3B 46 45  42 0D 20 20 20 20 20 20  | $28 ;FEB.      |
00003750: 20 2E 42 59 54 45 20 24  33 31 20 3B 4D 41 52 0D  | .BYTE $31 ;MAR.|
00003760: 20 20 20 20 20 20 20 2E  42 59 54 45 20 24 33 30  |       .BYTE $30|
00003770: 20 3B 41 50 52 0D 20 20  20 20 20 20 20 2E 42 59  | ;APR.       .BY|
00003780: 54 45 20 24 33 31 20 3B  4D 41 59 0D 20 20 20 20  |TE $31 ;MAY.    |
00003790: 20 20 20 2E 42 59 54 45  20 24 33 30 20 3B 4A 55  |   .BYTE $30 ;JU|
000037A0: 4E 0D 20 20 20 20 20 20  20 2E 42 59 54 45 20 24  |N.       .BYTE $|
000037B0: 33 31 20 3B 4A 55 4C 0D  20 20 20 20 20 20 20 2E  |31 ;JUL.       .|
000037C0: 42 59 54 45 20 24 33 31  20 3B 41 55 47 0D 20 20  |BYTE $31 ;AUG.  |
000037D0: 20 20 20 20 20 2E 42 59  54 45 20 24 33 30 20 3B  |     .BYTE $30 ;|
000037E0: 53 45 50 0D 20 20 20 20  20 20 20 2E 42 59 54 45  |SEP.       .BYTE|
000037F0: 20 24 33 31 20 3B 4F 43  54 0D 20 20 20 20 20 20  | $31 ;OCT.      |
00003800: 20 2E 42 59 54 45 20 24  33 30 20 3B 4E 4F 56 0D  | .BYTE $30 ;NOV.|
00003810: 20 20 20 20 20 20 20 2E  42 59 54 45 20 24 33 31  |       .BYTE $31|
00003820: 20 3B 44 45 43 0D 20 20  20 20 20 20 20 3B 0D 3B  | ;DEC.       ;.;|
00003830: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00003840: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00003850: 2D 0D 20 20 20 20 20 20  20 3B 0D 3B 50 52 4F 47  |-.       ;.;PROG|
00003860: 52 41 4D 20 53 54 4F 52  41 47 45 0D 20 20 20 20  |RAM STORAGE.    |
00003870: 20 20 20 3B 0D 4B 45 59  53 54 52 20 2E 41 53 43  |   ;.KEYSTR .ASC|
00003880: 20 22 43 4C 4B 22 20 20  0D 20 20 20 20 20 20 20  | "CLK"  .       |
00003890: 2E 42 59 54 45 20 30 0D  20 20 20 20 20 20 20 3B  |.BYTE 0.       ;|
000038A0: 0D 4C 46 4C 47 20 20 20  2A 3D 2A 2B 31 20 20 3B  |.LFLG   *=*+1  ;|
000038B0: 44 49 53 50 4C 41 59 20  4C 4F 43 4B 4F 55 54 0D  |DISPLAY LOCKOUT.|
000038C0: 20 20 20 20 20 20 20 3B  0D 3B 3D 3D 3D 3D 3D 3D  |       ;.;======|
000038D0: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
000038E0: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 0D 2E 45 4E 44  |===========..END|
000038F0: 0D                                                |.               |
;PUT"@0:CLOCK-CAL.BUD.; ** REWRITTEN IN 
BUDDY 128 FORMAT.; .*=$1300 ; 4864..OBJ 
"@0:CLK4864".;.;* * * * * * * * * * * * 
* * * * *.;*                            
   *.;* CLOCK & CALENDAR DISPLAY...   *.
;* WITH AUDIBLE ALARM FUNCTION   *.;*   
                            *.;* C-128 M
ODE, 40 OR 80 COLUMNS  *.;*             
                  *.;* WRITTEN 11-16-85 
 W.J. BRIER  *.;*                       
        *.;* REVISED  6-05-87           
   *.;*                               *.
;* COPYRIGHT 1986                *.;*   
                            *.;* THIS PR
OGRAM IS NOT TO BE...  *.;* SOLD.  IT IS
 PERMISSIBLE...   *.;* TO COPY IT BUT CR
EDIT MUST... *.;* BE GIVEN IN THE DOCUME
NTATION *.;*                            
   *.;* SEE THE DOCUMENTATION FOR...  *.
;* INSTRUCTIONS ON USING THIS... *.;* PR
OGRAM WITH YOUR SOFTWARE... *.;* AS WELL
 AS DISTRIBUTION...    *.;* LIMITATIONS.
                  *.;*                  
             *.;* * * * * * * * * * * * 
* * * * *.              ;.              
;.;* * * * * * * * * * * * * * * * *.;* 
                              *.;*  <<< 
PROGRAM ASSIGNMENTS >>>  *.;*           
                    *.;* * * * * * * * *
 * * * * * * * *.              ;.       
       ;.;SYSTEM VECTORS & POINTERS.... 
             ;.DFLTO  =$9A   ;OUTPUT DEV
ICE.              ;.MODE   =$D7   ;DISPL
AY MODE FLAG.              ;.CINV   =$03
14 ;NORMAL IRQ VECTOR.IBSOUT =$0326 ;NOR
MAL CHROUT VECTOR.              ;.SYSTEM
 =$0A00 ;BASIC RESET VECTOR.            
  ;.RPTFLG =$0A22 ;KEYB'D REPEAT FLAG.  
            ;.BASRST =$4003 ;BASIC WARM 
RESET.              ;.TOD2   =$DD08 ;TIM
E OF DAY CLOCK #2.              ;.      
        ;.;SCREEN EDITOR FUNCTIONS....  
            ;.WVDCM  =$CDCA ;WRITE TO 85
63 RAM.WVDCR  =$CDCC ;WRITE TO 8563 REGI
STER.              ;.              ;.;KE
RNAL FUNCTIONS....              ;.CHROUT
 =$EF79 ;OUTPUT A BYTE.IRQ    =$FA65 ;NO
RMAL IRQ.CRTI   =$FF33 ;IRQ HANDLER EXIT
.              ;.              ;.;40 COL
 VIC SCREEN RAM....              ;.VCRAM
  =$0400 ;START OF DISPLAY RAM.VLRAM  =$
D800 ;START OF COLOR RAM.              ;
.              ;.;SID CHIP REGISTERS (VO
ICE 3)....              ;.FRELO3 =$D40E 
;FREQUENCY CTRL (LO).FREHI3 =$D40F ;FREQ
UENCY CTRL (HI).              ;.VCREG3 =
$D412 ;CONTROL REGISTER.              ;.
SUREL3 =$D414 ;SUSTAIN/RELEASE.         
     ;.SIGVOL =$D418 ;SID VOLUME.       
       ;.              ;.;80 COL 8563 VD
C ASSIGNMENTS....              ;.SCRAM1 
=72    ;SCREEN RAM (TIME).SCRAM2 =152   
;SCREEN RAM (DATE).              ;.ATRAM
1 =2120  ;ATTRIBUTE RAM (TIME).ATRAM2 =2
200  ;ATTRIBUTE RAM (DATE).             
 ;.UPREG  =18    ;UPDATE REGISTER.      
        ;.              ;.;=============
====================.       ;.       ;.;
USER-ACCESSIBLE MEMORY....       ;.TDTA 
  .ASC "  -  -  ".       .BYTE 0 ; ASCII
 DATE.TODA   .ASC "  :  :  "            
  .       .BYTE 0 ; ASCII TIME.TDTC   .B
YTE 255, 255, 255  ;BCD DATE.;.DFLG   .B
YTE 0 ;1 = NO DISPLAY.CFLG   .BYTE 7 ;DI
SPLAY COLOR.RFLG   .BYTE 0 ;1 = REVERSE 
VIDEO.       ;.KEY    .BYTE 0, 0, 0, 0. 
      ;.       ;.;EXIT VECTOR....       
;.IRQA   .WORD IRQ.       ;.       ;.;AL
ARM REGISTERS....       ;.ALTC   .BYTE 2
55, 255 ;TIME (H:M).       ;.AFLG   .BYT
E 255     ;ENABLE FLAG.       ;.;-------
--------------------------.       ;.;ENT
RY POINT TO START DISPLAY.       ;.CLKON
  JMP START ;START DISPLAY.       ;.;---
------------------------------.       ;.
;ENTRY POINT TO STOP DISPLAY.       ;.CL
KOF  JMP STOP ;STOP DISPLAY.       ;.;--
-------------------------------.       ;
.;BCD TIME STORAGE.       ;.TODC   .BYTE
 0, 0, 0 ;HRS MIN SEC.       ;.;========
=========================.       ;.;STOP
 CLOCK-CALENDAR DISPLAY.       ;.STOP   
LDX CINV ;IRQ VECTOR.       LDY CINV+1. 
      CPX #<DCC ;DISPLAY VECTOR.       B
NE CLKOF2 ;NOT RUNNING.       ;.       C
PY #>DCC.       BNE CLKOF2 ;NOT RUNNING.
       ;.       SEI ;INTERRUPTS OFF.    
   ;.       LDX IRQA ;ORIGINAL IRQ VECTO
R.       LDY IRQA+1.       STX CINV.    
   STY CINV+1.       ;.       LDX BSOUTA
.       LDY BSOUTA+1.       STX IBSOUT ;
RESTORE CHROUT VECTOR.       STY IBSOUT+
1.       ;.       LDX ALRST1.       LDY 
ALRST1+1.       STX SYSTEM ;RESTORE SYST
EM VECTOR.       STY SYSTEM+1.       ;. 
      CLI ;INTERRUPTS ON.       ;.      
 LDY #3 ;OFFSET.       LDA #0.       ;.C
LKOF1 STA KEY,Y ;WIPE OUT ID KEY.       
DEY.       BPL CLKOF1 ;LOOP.       ;.CLK
OF2 RTS.       ;.;----------------------
-----------.       ;.;START CLOCK-CALEND
AR DISPLAY.       ;.START  LDX CINV ;IRQ
 VECTOR.       LDY CINV+1.       CPX #<D
CC.       BNE START1 ;CHANGE VECTOR.    
   ;.       CPY #>DCC.       BEQ START3 
;DISPLAY IS RUNNNING.       ;.START1 STX
 IRQA ;SAVE EXISTING....       STY IRQA+
1 ;IRQ VECTOR.       ;.       SEI.      
 ;.       LDX #<DCC ;CHANGE....       LD
Y #>DCC ;IRQ VECTOR SO THAT....       ST
X CINV ;CLOCK-CALENDAR RUNS.       STY C
INV+1.       ;.       LDX IBSOUT ;SAVE C
URRENT....       LDY IBSOUT+1 ;CHROUT VE
CTOR.       STX BSOUTA.       STY BSOUTA
+1.       ;.       LDX #<CRDY ;CHANGE...
.       LDY #>CRDY ;CHROUT VECTOR SO....
       STX IBSOUT ;DELAY ROUTINE....    
   STY IBSOUT+1 ;INTERCEPTS IT.       ;.
       LDX SYSTEM ;BASIC RESET.       LD
Y SYSTEM+1.       STX ALRST1 ;STORE.    
   STY ALRST1+1.       ;.       LDX #<AL
RST ;ALTERNATE RESET.       LDY #>ALRST.
       STX SYSTEM ;NEW RESET VECTOR.    
   STY SYSTEM+1.       ;.       LDA TOD2
 ;GIVE CLOCK A KICK....       STA TOD2 ;
TO GET IT STARTED.       ;.       CLI.  
     ;.       LDY #3 ;OFFSET.       ;.ST
ART2 LDA KEYSTR,Y ;KEY.       STA KEY,Y 
;ENABLE KEY.       DEY.       BPL START2
 ;LOOP.       ;.       INY.       STY DF
LG ;CLEAR DISPLAY FLAG.       STY LFLG ;
CLEAR LOCKOUT FLAG.       ;.START3 RTS. 
      ;.;===============================
==.       ;.;UPDATE & DISPLAY TIME & DAT
E.       ;.DCC    CLD ;BINARY MODE.     
  ;.       LDA TOD2 ;TENTHS OF SECONDS. 
      BEQ DCC02 ;TENTHS ARE ZERO.       
;.       LDA #0.       STA LFLG ;CLEAR L
OCKOUT FLAG.       ;.DCC01  JMP (IRQA) ;
NORMAL IRQ.       ;.DCC02  BIT LFLG.    
   BMI DCC01 ;UPDATE LOCKED OUT.       ;
.       DEC LFLG ;SET LOCKOUT FLAG.     
  ;.       ;.;READ CLOCK REGISTERS....  
     ;.       LDX #3 ;TOD2 OFFSET.      
 LDY #0 ;STORAGE OFFSET.       ;.DCC03  
LDA TOD2,X ;FETCH TIME VALUE.       DEX.
       BMI DCC04 ;FINISHED.       ;.    
   STA TODC,Y ;SAVE IN BUFFER.       ;. 
      INY.       BNE DCC03 ;LOOP.       
;.       ;.;TEST AM/PM FLAG & ADJUST HOU
RS.       ;.DCC04  LDA TODC ;BCD HOURS. 
      BMI DCC05 ;IT'S PM.       ;.      
 CMP #$12.       BNE DCC06 ;NOT MIDNITE.
       ;.       LDA #0.       BEQ DCC06 
;SET HOURS TO MIDNITE.       ;.DCC05  AN
D #%01111111 ;MASK AM/PM BIT.       CMP 
#$12.       BCS DCC06 ;IT'S NOON STRAIGH
T UP.       ;.       SED ;DECIMAL MODE. 
      ADC #$12 ;CHANGE TO 24 HOURS.     
  CLD ;BINARY MODE.       ;.DCC06  STA T
ODC ;CONVERTED HOURS.       ;.       ;.;
TEST FOR ALARM TIME....       ;.       B
IT AFLG ;CHECK FLAG.       BMI DCC09 ;AL
ARM NOT ENABLED.       ;.       LDY #1 ;
OFFSET.       ;.DCC07  LDA ALTC,Y ;ALARM
 TIME.       CMP TODC,Y ;CHECK AGAINST T
OD.       BNE DCC09 ;NOT TIME.       ;. 
      DEY.       BPL DCC07 ;LOOP.       
;.       ;.;SOUND ALARM....       ;.    
   LDA #15.       STA SIGVOL ;MAX VOLUME
.       STA FRELO3 ;SET FREQUENCY.      
 STA FREHI3.       ;.       LDX #250 ;DU
RATION.       LDY #33 ;SAWTOOTH WAVEFORM
.       STX SUREL3 ;SUSTAIN/RELEASE.    
   STY VCREG3 ;ATTACK/DECAY.       ;.   
    DEY.       STY VCREG3 ;GATE VOICE.  
     ;.       ;.;TEST FOR STROKE OF MIDN
ITE....       ;.DCC09  LDY #2 ;TODC OFFS
ET.       ;.DCC10  LDA TODC,Y ;FETCH TIM
E VALUE.       BNE DCC16 ;NOT MIDNITE.  
     ;.       DEY.       BPL DCC10 ;LOOP
.       ;.       ;.;TEST FOR LEAP YEAR..
..       ;.       LDA TDTC+2 ;CURRENT YE
AR.       JSR BCDOF ;CHANGE TO BINARY.  
     ;.       LDX #$28.       ;.       L
SR ;DIVIDE BY 2.       BCS DCC11 ;ODD YE
AR.       ;.       LSR ;DIVIDE AGAIN.   
    BCS DCC11 ;NON-LEAP YEAR.       ;.  
     INX ;LEAP YEAR.       ;.DCC11  STX 
CLUT+1 ;LAST DAY IN FEB..       ;.      
 ;.;ADJUST DATE FOR END OF MONTH....    
   ;.       LDA TDTC ;FETCH MONTH.      
 JSR BCDOF ;CHANGE TO BINARY.       ;.  
     TAX.       DEX ;CALENDAR LOOKUP OFF
SET.       ;.       LDA TDTC+1 ;CURRENT 
DAY.       CMP CLUT,X ;LAST DAY OF MONTH
.       BNE DCC14 ;NOT END OF MONTH.    
   ;.       CPX #11.       BNE DCC12 ;NO
T DECEMBER.       ;.       LDA TDTC+2 ;C
URRENT YEAR.       JSR IDV ;BUMP YEAR.  
     STA TDTC+2 ;SAVE NEW YEAR.       ;.
       LDA #1.       BNE DCC13 ;SET MONT
H TO JANUARY.       ;.DCC12  LDA TDTC ;C
URRENT MONTH.       JSR IDV ;BUMP.      
 ;.DCC13  STA TDTC ;NEW MONTH.       ;. 
      LDA #1.       BNE DCC15 ;SET DAY T
O 1ST OF MONTH.       ;.DCC14  JSR IDV ;
BUMP DAY.       ;.DCC15  STA TDTC+1 ;NEW
 DAY.       ;.       ;.;DECODE DATE FOR 
DISPLAY....       ;.DCC16  LDA TDTC ;CUR
RENT MONTH.       JSR BCDASC ;DECODE TO 
ASCII.       CMP #"0".       BNE DCC17. 
      ;.       LDA #32 ;BLANK LEADING ZE
RO.       ;.DCC17  STA TDTA ;SAVE TENS. 
      STX TDTA+1 ;SAVE UNITS.       ;.  
     LDA TDTC+1 ;CURRENT DAY.       JSR 
BCDASC.       STA TDTA+3.       STX TDTA
+4.       ;.       LDA TDTC+2 ;CURRENT Y
EAR.       JSR BCDASC.       STA TDTA+6.
       STX TDTA+7.       ;.       ;.;DEC
ODE TIME FOR DISPLAY....       ;.       
LDA TODC ;HOURS.       JSR BCDASC.      
 STA TODA.       STX TODA+1.       ;.   
    LDA TODC+1 ;MINUTES.       JSR BCDAS
C.       STA TODA+3.       STX TODA+4.  
     ;.       LDA TODC+2 ;SECONDS.      
 JSR BCDASC.       STA TODA+6.       STX
 TODA+7.       ;.       ;.;DISPLAY TIME 
& DATE....       ;.       LDA DFLG.     
  BNE DCC23 ;DISPLAY INHIBITED.       ;.
       ;.;DISPLAY ON 40 COLUMN SCREEN...
.       ;.DCC18  LDA CFLG ;DISPLAY COLOR
.       LDY #7 ;OFFSET.       ;.DCC19  S
TA VLRAM+32,Y ;COLOR.       STA VLRAM+72
,Y.       DEY.       BPL DCC19 ;LOOP.   
    ;.       LDX RFLG ;NORMAL/REVERSE FL
AG.       LDY #7 ;OFFSET.       ;.DCC20 
 LDA TODA,Y ;FETCH TIME.       ;.       
CPX #0 ;TEST REVERSE FLAG.       BEQ DCC
21 ;NOT REVERSED.       ;.       ORA #12
8 ;REVERSE.       ;.DCC21  STA VCRAM+32,
Y.       ;.       LDA TDTA,Y ;FETCH DATE
.       CPX #0.       BEQ DCC22.       ;
.       ORA #128.       ;.DCC22  STA VCR
AM+72,Y.       ;.       DEY.       BPL D
CC20.       ;.       ;.;DISPLAY ON 80 CO
LUMN SCREEN....       ;.       LDA #>SCR
AM1 ;ADDRESS FOR....       LDY #<SCRAM1 
;TIME DISPLAY.       JSR SETRAM ;SET UP 
VDC RAM.       ;.       LDX #<TODA ;PETA
SCII TIME.       LDY #>TODA.       JSR D
TOD ;DISPLAY.       ;.       LDA #>SCRAM
2 ;ADDRESS FOR....       LDY #<SCRAM2 ;D
ATE DISPLAY.       JSR SETRAM.       ;. 
      LDX #<TDTA ;PETASCII DATE.       L
DY #>TDTA.       JSR DTOD ;DISPLAY.     
  ;.       ;.;SET 80 COLUMN ATTRIBUTES..
..       ;.       LDA #>ATRAM1 ;ADDRESS 
FOR....       LDY #<ATRAM1 ;TIME ATTRIBU
TE.       JSR SETRAM.       ;.       JSR
 ATRST ;SET UP ATTRIBUTES.       ;.     
  LDA #>ATRAM2 ;ADDRESS FOR....       LD
Y #<ATRAM2 ;DATE ATTRIBUTE.       JSR SE
TRAM.       ;.       JSR ATRST ;SET UP A
TTRIBUTES.       ;.       BIT MODE.     
  BPL DCC23 ;40 COLUMN MODE.       ;.   
    JMP CRTI ;BYPASS REST OF IRQ.       
;.DCC23  JMP (IRQA) ;CONTINUE IRQ.      
 ;.;=================================.  
     ;.;DISPLAY TIME OR DATE.       ;.DT
OD   STX DTOD02 ;SOURCE ADDRESS.       S
TY DTOD02+1.       ;.       LDY #0 ;OFFS
ET.       ;.DTOD01 .BYTE $B9 ;LDA LLHH,Y
 OP-CODE.       ;.DTOD02 *=*+2 ;SOURCE A
DDRESS.       ;.       BEQ ATRST3 ;END O
F STRING.       ;.       JSR WVDCM ;OUTP
UT TO 8563.       INY.       BNE DTOD01 
;LOOP.       ;.;------------------------
---------.       ;.;SET UP DISPLAY ATTRI
BUTES.       ;.ATRST  LDY #8 ;COUNTER.  
     ;.ATRST1 LDA CFLG ;GET COLOR.      
 LDX RFLG.       BEQ ATRST2 ;NO REVERSE 
DISPLAY.       ;.       ORA #%01000000 ;
REVERSE.       ;.ATRST2 JSR WVDCM ;OUTPU
T TO 8563.       DEY.       BNE ATRST1 ;
LOOP.       ;.ATRST3 RTS.       ;.;-----
----------------------------.       ;.;S
ET UP VDC RAM ADDRESS.       ;.SETRAM LD
X #UPREG ;UPDATE REGISTER.       JSR WVD
CR ;WRITE.       INX.       TYA ;SWAP HI
 BYTE.       JMP WVDCR.       ;.;-------
--------------------------.       ;.;CHR
OUT INTERCEPT & TRAP.       ;.CRDY   PHA
 ;SAVE PRINTING CHAR..       ;.       BI
T MODE.       BPL CRDY01 ;IN 40 COLUMNS.
       ;.       LDA DFLTO ;OUTPUT DEVICE
.       CMP #3.       BNE CRDY01 ;NOT SC
REEN.       ;.       LDA DFLG ;TEST DISP
LAY FLAG.       BNE CRDY01 ;DISPLAY INHI
BITED.       ;.       DEC DFLG ;BLOCK DI
SPLAY.       ;.CRDY01 PLA ;RECOVER CHARA
CTER.       ;.       .BYTE 32 ;JSR OP-CO
DE.       ;.BSOUTA .WORD CHROUT ;NORMAL 
CHROUT.       ;.       BIT DFLG.       B
PL CRDY02 ;NO RESET NEEDED.       ;.    
   INC DFLG ;CLEAR FOR DISPLAY.       ;.
CRDY02 RTS.       ;.;-------------------
--------------.       ;.;CONVERT BCD TO 
PETASCII.       ;.BCDASC JSR BCDBIN ;BCD
 TO BINARY.       ;.       PHA ;SAVE TEN
S VALUE.       ;.       TXA ;UNITS VALUE
.       ORA #48 ;CHANGE TO PETASCII.    
   TAX ;HOLD.       ;.       PLA ;FETCH 
TENS.       ORA #48.       ;.       RTS.
       ;.;------------------------------
---.       ;.;BCD DIGIT TO 2 BINARY DIGI
TS.       ;.BCDBIN PHA ;SAVE BCD VALUE. 
      ;.       AND #15 ;MASK TENS NYBBLE
.       TAX ;UNITS IN .X REGISTER.      
 ;.       PLA ;FETCH BCD VALUE.       ;.
       LSR ;SHIFT TENS NYBBLE.       LSR
  .       LSR  .       LSR  .       ;.  
     RTS.       ;.;---------------------
------------.       ;.;BCD DIGIT TO 1 BI
NARY DIGIT.       ;.BCDOF  JSR BCDBIN ;B
CD TO BINARY.       ;.       TAY ;TENS V
ALUE.       TXA ;UNITS.       ;.       C
LC.       ;.BCDOF1 DEY ;COUNTER.       B
MI IDV01 ;FINISHED.       ;.       ADC #
10.       BNE BCDOF1.       ;.;---------
------------------------.       ;.;INCRE
MENT DATE VALUE.       ;.IDV    SED ;DEC
IMAL MODE.       ;.       CLC.       ADC
 #1.       ;.       CLD ;BINARY MODE.   
    ;.IDV01  RTS.       ;.;-------------
--------------------.       ;.;ALTERNATE
 BASIC RESET.       ;.ALRST  JSR START ;
RESTART CLOCK.       ;.       LDA #0.   
    STA RPTFLG ;REPEAT OFF.       ;.    
   .BYTE $4C ;JMP LLHH OP-CODE.       ;.
ALRST1 *=*+2 ;RESET JUMP.       ;.;-----
----------------------------.       ;.;C
ALENDAR LOOKUP TABLE.       ;.CLUT   .BY
TE $31 ;JAN.       .BYTE $28 ;FEB.      
 .BYTE $31 ;MAR.       .BYTE $30 ;APR.  
     .BYTE $31 ;MAY.       .BYTE $30 ;JU
N.       .BYTE $31 ;JUL.       .BYTE $31
 ;AUG.       .BYTE $30 ;SEP.       .BYTE
 $31 ;OCT.       .BYTE $30 ;NOV.       .
BYTE $31 ;DEC.       ;.;----------------
-----------------.       ;.;PROGRAM STOR
AGE.       ;.KEYSTR .ASC "CLK"  .       
.BYTE 0.       ;.LFLG   *=*+1  ;DISPLAY 
LOCKOUT.       ;.;======================
===========..END.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL