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

DATESET.BUD

FILE INFORMATION

FILENAME(S): DATESET.BUD

FILE TYPE(S): SEQ

FILE SIZE: 8.7K

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

APPEARS ON: 1 disk(s)

FILE HASH

6cc5d39101b89cc09a1cf7f7282ccff154baadc69fd0c0e5a99d15214a9f5cd3

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
TRANSACTOR DISK DATESET.BUD SEQ DuncanTwain 4 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 3B 50 55 54 22 40 30 3A  44 41 54 45 53 45 54 2E  |;PUT"@0:DATESET.|
00000010: 42 55 44 22 0D 3B 0D 2A  3D 24 31 36 30 30 20 3B  |BUD".;.*=$1600 ;|
00000020: 20 35 36 33 32 0D 2E 4F  42 4A 20 22 40 30 3A 44  | 5632..OBJ "@0:D|
00000030: 54 35 36 33 32 22 0D 3B  0D 3B 2A 20 2A 20 2A 20  |T5632".;.;* * * |
00000040: 2A 20 2A 20 2A 20 2A 20  2A 20 2A 20 2A 20 2A 20  |* * * * * * * * |
00000050: 2A 20 2A 20 2A 20 2A 20  2A 20 2A 0D 3B 2A 20 20  |* * * * * *.;*  |
00000060: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000070: 20 20 20 20 20 20 20 20  20 20 20 20 20 2A 0D 3B  |             *.;|
00000080: 2A 20 43 41 4C 45 4E 44  41 52 20 44 41 54 45 20  |* CALENDAR DATE |
00000090: 53 45 54 55 50 20 20 20  20 20 20 20 20 20 20 20  |SETUP           |
000000A0: 2A 0D 3B 2A 20 20 20 20  20 20 20 20 20 20 20 20  |*.;*            |
000000B0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000C0: 20 20 20 2A 0D 3B 2A 20  57 52 49 54 54 45 4E 20  |   *.;* WRITTEN |
000000D0: 31 31 2D 32 39 2D 38 35  20 20 57 2E 4A 2E 20 42  |11-29-85  W.J. B|
000000E0: 52 49 45 52 20 20 2A 0D  3B 2A 20 20 20 20 20 20  |RIER  *.;*      |
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 2A 0D 3B 2A 20 52 45  |         *.;* RE|
00000110: 56 49 53 45 44 20 20 31  2D 31 38 2D 38 37 20 20  |VISED  1-18-87  |
00000120: 20 20 20 20 20 20 20 20  20 20 20 20 2A 0D 3B 2A  |            *.;*|
00000130: 20 20 20 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 2A  |               *|
00000150: 0D 3B 2A 20 43 4F 50 59  52 49 47 48 54 20 28 43  |.;* COPYRIGHT (C|
00000160: 29 20 31 39 38 35 20 20  20 20 20 20 20 20 20 20  |) 1985          |
00000170: 20 20 2A 0D 3B 2A 20 20  20 20 20 20 20 20 20 20  |  *.;*          |
00000180: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000190: 20 20 20 20 20 2A 0D 3B  2A 20 41 4C 4C 20 52 49  |     *.;* ALL RI|
000001A0: 47 48 54 53 20 52 45 53  45 52 56 45 44 20 20 20  |GHTS RESERVED   |
000001B0: 20 20 20 20 20 20 20 20  2A 0D 3B 2A 20 20 20 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 2A 0D 3B 2A 20  |           *.;* |
000001E0: 55 53 45 20 57 49 54 48  20 43 4C 4F 43 4B 2D 43  |USE WITH CLOCK-C|
000001F0: 41 4C 45 4E 44 41 52 20  31 32 38 20 20 20 2A 0D  |ALENDAR 128   *.|
00000200: 3B 2A 20 20 20 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 2A 0D 3B 2A 20 53 45  54 20 44 41 54 45 3A 20  | *.;* SET DATE: |
00000230: 53 59 53 20 35 36 33 32  20 20 20 20 20 20 20 20  |SYS 5632        |
00000240: 20 20 20 20 2A 0D 3B 2A  20 20 20 20 20 20 20 20  |    *.;*        |
00000250: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000260: 20 20 20 20 20 20 20 2A  0D 3B 2A 20 45 4E 54 45  |       *.;* ENTE|
00000270: 52 20 44 41 54 45 20 41  53 3A 20 4D 4D 2D 44 44  |R DATE AS: MM-DD|
00000280: 2D 59 59 20 20 20 20 20  20 20 2A 0D 3B 2A 20 20  |-YY       *.;*  |
00000290: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000002A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 2A 0D 3B  |             *.;|
000002B0: 2A 20 2A 20 2A 20 2A 20  2A 20 2A 20 2A 20 2A 20  |* * * * * * * * |
000002C0: 2A 20 2A 20 2A 20 2A 20  2A 20 2A 20 2A 20 2A 20  |* * * * * * * * |
000002D0: 2A 0D 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |*.              |
000002E0: 3B 0D 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
000002F0: 3B 0D 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
00000300: 3B 0D 3B 2A 20 2A 20 2A  20 2A 20 2A 20 2A 20 2A  |;.;* * * * * * *|
00000310: 20 2A 20 2A 20 2A 20 2A  20 2A 20 2A 20 2A 20 2A  | * * * * * * * *|
00000320: 20 2A 20 2A 0D 3B 2A 20  20 20 20 20 20 20 20 20  | * *.;*         |
00000330: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000340: 20 20 20 20 20 20 2A 0D  3B 2A 20 20 20 20 20 20  |      *.;*      |
00000350: 50 52 4F 47 52 41 4D 20  41 53 53 49 47 4E 4D 45  |PROGRAM ASSIGNME|
00000360: 4E 54 53 20 20 20 20 20  20 2A 0D 3B 2A 20 20 20  |NTS      *.;*   |
00000370: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000380: 20 20 20 20 20 20 20 20  20 20 20 20 2A 0D 3B 2A  |            *.;*|
00000390: 20 2A 20 2A 20 2A 20 2A  20 2A 20 2A 20 2A 20 2A  | * * * * * * * *|
000003A0: 20 2A 20 2A 20 2A 20 2A  20 2A 20 2A 20 2A 20 2A  | * * * * * * * *|
000003B0: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |.              ;|
000003C0: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |.              ;|
000003D0: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |.              ;|
000003E0: 0D 3B 53 59 53 54 45 4D  20 56 45 43 54 4F 52 53  |.;SYSTEM VECTORS|
000003F0: 20 26 20 50 4F 49 4E 54  45 52 53 2E 2E 2E 0D 20  | & POINTERS.... |
00000400: 20 20 20 20 20 20 20 20  20 20 20 20 20 3B 0D 4E  |             ;.N|
00000410: 44 58 20 20 20 20 3D 24  44 30 20 20 20 3B 4B 45  |DX    =$D0   ;KE|
00000420: 59 42 4F 41 52 44 20 51  55 45 55 45 0D 20 20 20  |YBOARD QUEUE.   |
00000430: 20 20 20 20 20 20 20 20  20 20 20 3B 0D 4D 4F 44  |           ;.MOD|
00000440: 45 20 20 20 3D 24 44 37  20 20 20 3B 34 30 2F 38  |E   =$D7   ;40/8|
00000450: 30 20 43 4F 4C 55 4D 4E  20 4D 4F 44 45 0D 20 20  |0 COLUMN MODE.  |
00000460: 20 20 20 20 20 20 20 20  20 20 20 20 3B 0D 43 4F  |            ;.CO|
00000470: 4C 4F 52 20 20 3D 24 46  31 20 20 20 3B 4E 45 58  |LOR  =$F1   ;NEX|
00000480: 54 20 41 54 54 52 49 42  55 54 45 0D 20 20 20 20  |T ATTRIBUTE.    |
00000490: 20 20 20 20 20 20 20 20  20 20 3B 0D 4B 45 59 43  |          ;.KEYC|
000004A0: 48 4B 20 3D 24 30 33 33  43 20 3B 4B 45 59 20 44  |HK =$033C ;KEY D|
000004B0: 45 43 4F 44 45 20 56 45  43 54 4F 52 0D 20 20 20  |ECODE VECTOR.   |
000004C0: 20 20 20 20 20 20 20 20  20 20 20 3B 0D 43 55 52  |           ;.CUR|
000004D0: 4F 4E 20 20 3D 24 43 44  36 46 20 3B 46 4C 41 53  |ON  =$CD6F ;FLAS|
000004E0: 48 20 43 55 52 53 4F 52  0D 43 55 52 4F 46 31 20  |H CURSOR.CUROF1 |
000004F0: 3D 24 43 44 39 46 20 3B  4B 49 4C 4C 20 43 55 52  |=$CD9F ;KILL CUR|
00000500: 53 4F 52 20 28 34 30 20  43 4F 4C 29 0D 43 55 52  |SOR (40 COL).CUR|
00000510: 4F 46 32 20 3D 24 43 44  41 43 20 3B 4B 49 4C 4C  |OF2 =$CDAC ;KILL|
00000520: 20 43 55 52 53 4F 52 20  28 38 30 20 43 4F 4C 29  | CURSOR (80 COL)|
00000530: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |.              ;|
00000540: 0D 53 49 47 56 4F 4C 20  3D 24 44 34 31 38 20 3B  |.SIGVOL =$D418 ;|
00000550: 56 4F 4C 55 4D 45 20 43  4F 4E 54 52 4F 4C 0D 20  |VOLUME CONTROL. |
00000560: 20 20 20 20 20 20 20 20  20 20 20 20 20 3B 0D 4D  |             ;.M|
00000570: 4D 55 20 20 20 20 3D 24  46 46 30 30 20 3B 4D 45  |MU    =$FF00 ;ME|
00000580: 4D 4F 52 59 20 4D 41 4E  41 47 45 4D 45 4E 54 0D  |MORY MANAGEMENT.|
00000590: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 3B 0D  |              ;.|
000005A0: 43 48 52 4F 55 54 20 3D  24 46 46 44 32 20 3B 4F  |CHROUT =$FFD2 ;O|
000005B0: 55 54 50 55 54 20 41 20  42 59 54 45 0D 47 45 54  |UTPUT A BYTE.GET|
000005C0: 49 4E 20 20 3D 24 46 46  45 34 20 3B 47 45 54 20  |IN  =$FFE4 ;GET |
000005D0: 41 20 42 59 54 45 0D 50  4C 4F 54 20 20 20 3D 24  |A BYTE.PLOT   =$|
000005E0: 46 46 46 30 20 3B 50 4F  53 49 54 49 4F 4E 20 43  |FFF0 ;POSITION C|
000005F0: 55 52 53 4F 52 0D 20 20  20 20 20 20 20 20 20 20  |URSOR.          |
00000600: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 20 20 20  |    ;.          |
00000610: 20 20 20 20 3B 0D 3B 4D  49 53 43 45 4C 4C 41 4E  |    ;.;MISCELLAN|
00000620: 45 4F 55 53 20 50 4F 49  4E 54 45 52 53 2E 2E 2E  |EOUS POINTERS...|
00000630: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3B  |.              ;|
00000640: 0D 50 54 52 20 20 20 20  3D 24 46 41 20 20 20 3B  |.PTR    =$FA   ;|
00000650: 5A 45 52 4F 20 50 41 47  45 20 50 4F 49 4E 54 45  |ZERO PAGE POINTE|
00000660: 52 0D 43 54 52 20 20 20  20 3D 24 46 43 20 20 20  |R.CTR    =$FC   |
00000670: 3B 43 4F 55 4E 54 45 52  0D 20 20 20 20 20 20 20  |;COUNTER.       |
00000680: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
00000690: 20 20 20 20 20 20 20 3B  0D 3B 43 4C 4F 43 4B 2D  |       ;.;CLOCK-|
000006A0: 43 41 4C 45 4E 44 41 52  20 4C 4F 43 41 54 49 4F  |CALENDAR LOCATIO|
000006B0: 4E 2E 2E 2E 0D 20 20 20  20 20 20 20 20 20 20 20  |N....           |
000006C0: 20 20 20 3B 0D 54 44 54  43 20 20 20 3D 24 31 33  |   ;.TDTC   =$13|
000006D0: 31 32 20 3B 42 43 44 20  44 41 54 45 20 49 4E 20  |12 ;BCD DATE IN |
000006E0: 43 4C 4F 43 4B 0D 20 20  20 20 20 20 20 20 20 20  |CLOCK.          |
000006F0: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 20 20 20  |    ;.          |
00000700: 20 20 20 20 3B 0D 3B 56  49 44 45 4F 20 43 4F 4E  |    ;.;VIDEO CON|
00000710: 53 54 41 4E 54 53 2E 2E  2E 0D 20 20 20 20 20 20  |STANTS....      |
00000720: 20 20 20 20 20 20 20 20  3B 0D 57 48 54 20 20 20  |        ;.WHT   |
00000730: 20 3D 35 20 20 20 20 20  3B 57 48 49 54 45 20 54  | =5     ;WHITE T|
00000740: 45 58 54 0D 43 52 20 20  20 20 20 3D 31 33 20 20  |EXT.CR     =13  |
00000750: 20 20 3B 43 41 52 52 49  41 47 45 20 52 45 54 55  |  ;CARRIAGE RETU|
00000760: 52 4E 0D 44 45 4C 20 20  20 20 3D 32 30 20 20 20  |RN.DEL    =20   |
00000770: 20 3B 44 45 4C 45 54 45  0D 45 53 43 20 20 20 20  | ;DELETE.ESC    |
00000780: 3D 32 37 20 20 20 20 3B  45 53 43 41 50 45 20 43  |=27    ;ESCAPE C|
00000790: 48 41 52 41 43 54 45 52  0D 52 49 47 48 54 20 20  |HARACTER.RIGHT  |
000007A0: 3D 32 39 20 20 20 20 3B  43 55 52 53 4F 52 20 52  |=29    ;CURSOR R|
000007B0: 49 47 48 54 0D 43 4C 52  20 20 20 20 3D 31 34 37  |IGHT.CLR    =147|
000007C0: 20 20 20 3B 43 4C 45 41  52 20 53 43 52 45 45 4E  |   ;CLEAR SCREEN|
000007D0: 0D 59 45 4C 20 20 20 20  3D 31 35 38 20 20 20 3B  |.YEL    =158   ;|
000007E0: 59 45 4C 4C 4F 57 20 54  45 58 54 0D 43 59 4E 20  |YELLOW TEXT.CYN |
000007F0: 20 20 20 3D 31 35 39 20  20 20 3B 43 59 41 4E 20  |   =159   ;CYAN |
00000800: 54 45 58 54 0D 20 20 20  20 20 20 20 20 20 20 20  |TEXT.           |
00000810: 20 20 20 3B 0D 20 20 20  20 20 20 20 20 20 20 20  |   ;.           |
00000820: 20 20 20 3B 0D 3B 23 20  23 20 23 20 23 20 23 20  |   ;.;# # # # # |
00000830: 23 20 23 20 23 20 23 20  23 20 23 20 23 20 23 20  |# # # # # # # # |
00000840: 23 20 23 20 23 20 23 0D  3B 23 20 20 20 20 20 20  |# # # #.;#      |
00000850: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000860: 20 20 20 20 20 20 20 20  20 23 0D 3B 23 20 20 20  |         #.;#   |
00000870: 43 2D 31 32 38 20 43 41  4C 45 4E 44 41 52 20 44  |C-128 CALENDAR D|
00000880: 41 54 45 20 53 45 54 55  50 20 20 20 23 0D 3B 23  |ATE SETUP   #.;#|
00000890: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000008A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 23  |               #|
000008B0: 0D 3B 23 20 23 20 23 20  23 20 23 20 23 20 23 20  |.;# # # # # # # |
000008C0: 23 20 23 20 23 20 23 20  23 20 23 20 23 20 23 20  |# # # # # # # # |
000008D0: 23 20 23 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |# #.       ;.   |
000008E0: 20 20 20 20 3B 0D 3B 49  4E 49 54 49 41 4C 20 53  |    ;.;INITIAL S|
000008F0: 45 54 55 50 2E 2E 2E 0D  20 20 20 20 20 20 20 3B  |ETUP....       ;|
00000900: 0D 44 41 54 45 20 20 20  4C 44 41 20 43 4F 4C 4F  |.DATE   LDA COLO|
00000910: 52 20 3B 43 55 52 52 45  4E 54 20 41 54 54 52 49  |R ;CURRENT ATTRI|
00000920: 42 55 54 45 0D 20 20 20  20 20 20 20 50 48 41 20  |BUTE.       PHA |
00000930: 3B 53 41 56 45 0D 20 20  20 20 20 20 20 3B 0D 20  |;SAVE.       ;. |
00000940: 20 20 20 20 20 20 4C 44  41 20 4D 4D 55 20 3B 43  |      LDA MMU ;C|
00000950: 4F 4E 46 49 47 55 52 41  54 49 4F 4E 0D 20 20 20  |ONFIGURATION.   |
00000960: 20 20 20 20 50 48 41 20  3B 53 41 56 45 20 4F 4E  |    PHA ;SAVE ON|
00000970: 20 53 54 41 43 4B 0D 20  20 20 20 20 20 20 3B 0D  | STACK.       ;.|
00000980: 20 20 20 20 20 20 20 4C  44 58 20 23 31 34 0D 20  |       LDX #14. |
00000990: 20 20 20 20 20 20 53 54  58 20 4D 4D 55 20 3B 45  |      STX MMU ;E|
000009A0: 4E 41 42 4C 45 20 4B 45  52 4E 41 4C 0D 20 20 20  |NABLE KERNAL.   |
000009B0: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 49 4E 58  |    ;.       INX|
000009C0: 0D 20 20 20 20 20 20 20  53 54 58 20 53 49 47 56  |.       STX SIGV|
000009D0: 4F 4C 20 3B 4D 41 58 49  4D 55 4D 20 56 4F 4C 55  |OL ;MAXIMUM VOLU|
000009E0: 4D 45 0D 20 20 20 20 20  20 20 3B 0D 20 20 20 20  |ME.       ;.    |
000009F0: 20 20 20 4C 44 41 20 23  31 38 33 0D 20 20 20 20  |   LDA #183.    |
00000A00: 20 20 20 53 54 41 20 4B  45 59 43 48 4B 20 3B 42  |   STA KEYCHK ;B|
00000A10: 59 50 41 53 53 20 46 20  4B 45 59 53 0D 20 20 20  |YPASS F KEYS.   |
00000A20: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 4A 53 52  |    ;.       JSR|
00000A30: 20 43 48 49 4D 45 20 3B  53 49 47 4E 41 4C 20 55  | CHIME ;SIGNAL U|
00000A40: 53 45 52 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |SER.       ;.   |
00000A50: 20 20 20 20 4C 44 41 20  23 43 4C 52 0D 20 20 20  |    LDA #CLR.   |
00000A60: 20 20 20 20 4A 53 52 20  43 48 52 4F 55 54 20 3B  |    JSR CHROUT ;|
00000A70: 43 4C 45 41 52 20 53 43  52 45 45 4E 0D 20 20 20  |CLEAR SCREEN.   |
00000A80: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 3B 0D 3B  |    ;.       ;.;|
00000A90: 44 49 53 50 4C 41 59 20  49 4E 50 55 54 20 50 52  |DISPLAY INPUT PR|
00000AA0: 4F 4D 50 54 2E 2E 2E 0D  20 20 20 20 20 20 20 3B  |OMPT....       ;|
00000AB0: 0D 44 41 54 45 30 31 20  4C 44 58 20 23 32 20 3B  |.DATE01 LDX #2 ;|
00000AC0: 52 4F 57 0D 20 20 20 20  20 20 20 4C 44 59 20 23  |ROW.       LDY #|
00000AD0: 30 20 3B 43 4F 4C 55 4D  4E 0D 20 20 20 20 20 20  |0 ;COLUMN.      |
00000AE0: 20 4A 53 52 20 50 4C 4F  54 41 20 3B 50 4F 53 49  | JSR PLOTA ;POSI|
00000AF0: 54 49 4F 4E 20 43 55 52  53 4F 52 0D 20 20 20 20  |TION CURSOR.    |
00000B00: 20 20 20 3B 0D 20 20 20  20 20 20 20 4C 44 58 20  |   ;.       LDX |
00000B10: 23 3C 44 41 54 45 50 31  20 3B 27 54 4F 44 41 59  |#<DATEP1 ;'TODAY|
00000B20: 27 53 20 44 41 54 45 27  0D 20 20 20 20 20 20 20  |'S DATE'.       |
00000B30: 4C 44 59 20 23 3E 44 41  54 45 50 31 0D 20 20 20  |LDY #>DATEP1.   |
00000B40: 20 20 20 20 4A 53 52 20  50 52 4E 54 20 3B 44 49  |    JSR PRNT ;DI|
00000B50: 53 50 4C 41 59 20 50 52  4F 4D 50 54 0D 20 20 20  |SPLAY PROMPT.   |
00000B60: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 4C 44 58  |    ;.       LDX|
00000B70: 20 23 32 20 3B 50 4F 53  49 54 49 4F 4E 20 43 55  | #2 ;POSITION CU|
00000B80: 52 53 4F 52 2E 2E 2E 0D  20 20 20 20 20 20 20 4C  |RSOR....       L|
00000B90: 44 59 20 23 31 34 20 3B  54 4F 20 41 43 43 45 50  |DY #14 ;TO ACCEP|
00000BA0: 54 2E 2E 2E 0D 20 20 20  20 20 20 20 4A 53 52 20  |T....       JSR |
00000BB0: 50 4C 4F 54 41 20 3B 55  53 45 52 20 49 4E 50 55  |PLOTA ;USER INPU|
00000BC0: 54 0D 20 20 20 20 20 20  20 3B 0D 20 20 20 20 20  |T.       ;.     |
00000BD0: 20 20 4A 53 52 20 43 4C  52 51 20 3B 43 4C 45 41  |  JSR CLRQ ;CLEA|
00000BE0: 52 20 4B 45 59 42 27 44  20 51 55 45 55 45 0D 20  |R KEYB'D QUEUE. |
00000BF0: 20 20 20 20 20 20 53 54  41 20 43 54 52 20 3B 43  |      STA CTR ;C|
00000C00: 4C 45 41 52 20 49 4E 50  55 54 20 43 4F 55 4E 54  |LEAR INPUT COUNT|
00000C10: 45 52 0D 20 20 20 20 20  20 20 3B 0D 20 20 20 20  |ER.       ;.    |
00000C20: 20 20 20 3B 0D 3B 46 45  54 43 48 20 55 53 45 52  |   ;.;FETCH USER|
00000C30: 20 49 4E 50 55 54 2E 2E  2E 0D 20 20 20 20 20 20  | INPUT....      |
00000C40: 20 3B 0D 44 41 54 45 30  32 20 53 45 49 20 3B 49  | ;.DATE02 SEI ;I|
00000C50: 4E 54 45 52 52 55 50 54  53 20 4F 46 46 0D 20 20  |NTERRUPTS OFF.  |
00000C60: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 4A 53  |     ;.       JS|
00000C70: 52 20 43 55 52 4F 4E 20  3B 46 4C 41 53 48 20 43  |R CURON ;FLASH C|
00000C80: 55 52 53 4F 52 0D 20 20  20 20 20 20 20 3B 0D 20  |URSOR.       ;. |
00000C90: 20 20 20 20 20 20 43 4C  49 20 3B 49 4E 54 45 52  |      CLI ;INTER|
00000CA0: 52 55 50 54 53 20 4F 4E  0D 20 20 20 20 20 20 20  |RUPTS ON.       |
00000CB0: 3B 0D 44 41 54 45 30 33  20 4A 53 52 20 47 45 54  |;.DATE03 JSR GET|
00000CC0: 49 4E 20 3B 46 45 54 43  48 20 4B 45 59 50 52 45  |IN ;FETCH KEYPRE|
00000CD0: 53 53 0D 20 20 20 20 20  20 20 42 45 51 20 44 41  |SS.       BEQ DA|
00000CE0: 54 45 30 33 20 3B 4E 4F  20 49 4E 50 55 54 0D 20  |TE03 ;NO INPUT. |
00000CF0: 20 20 20 20 20 20 3B 0D  20 20 20 20 20 20 20 50  |      ;.       P|
00000D00: 48 41 20 3B 53 41 56 45  20 4B 45 59 50 52 45 53  |HA ;SAVE KEYPRES|
00000D10: 53 0D 20 20 20 20 20 20  20 3B 0D 20 20 20 20 20  |S.       ;.     |
00000D20: 20 20 42 49 54 20 4D 4F  44 45 0D 20 20 20 20 20  |  BIT MODE.     |
00000D30: 20 20 42 50 4C 20 44 41  54 45 30 34 20 3B 34 30  |  BPL DATE04 ;40|
00000D40: 20 43 4F 4C 55 4D 4E 53  0D 20 20 20 20 20 20 20  | COLUMNS.       |
00000D50: 3B 0D 20 20 20 20 20 20  20 53 45 49 0D 20 20 20  |;.       SEI.   |
00000D60: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 4A 53 52  |    ;.       JSR|
00000D70: 20 43 55 52 4F 46 32 20  3B 4B 49 4C 4C 20 38 30  | CUROF2 ;KILL 80|
00000D80: 20 43 4F 4C 20 43 55 52  53 4F 52 0D 20 20 20 20  | COL CURSOR.    |
00000D90: 20 20 20 3B 0D 20 20 20  20 20 20 20 43 4C 49 0D  |   ;.       CLI.|
00000DA0: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
00000DB0: 4A 4D 50 20 44 41 54 45  30 35 0D 20 20 20 20 20  |JMP DATE05.     |
00000DC0: 20 20 3B 0D 44 41 54 45  30 34 20 4A 53 52 20 43  |  ;.DATE04 JSR C|
00000DD0: 55 52 4F 46 31 20 3B 4B  49 4C 4C 20 34 30 20 43  |UROF1 ;KILL 40 C|
00000DE0: 4F 4C 20 43 55 52 53 4F  52 0D 20 20 20 20 20 20  |OL CURSOR.      |
00000DF0: 20 3B 0D 20 20 20 20 20  20 20 3B 0D 3B 46 49 4C  | ;.       ;.;FIL|
00000E00: 54 45 52 20 26 20 53 54  4F 52 45 20 49 4E 50 55  |TER & STORE INPU|
00000E10: 54 2E 2E 2E 0D 20 20 20  20 20 20 20 3B 0D 44 41  |T....       ;.DA|
00000E20: 54 45 30 35 20 50 4C 41  20 3B 52 45 54 52 49 45  |TE05 PLA ;RETRIE|
00000E30: 56 45 20 4B 45 59 50 52  45 53 53 0D 20 20 20 20  |VE KEYPRESS.    |
00000E40: 20 20 20 3B 0D 20 20 20  20 20 20 20 4C 44 59 20  |   ;.       LDY |
00000E50: 43 54 52 20 3B 46 45 54  43 48 20 43 48 41 52 41  |CTR ;FETCH CHARA|
00000E60: 43 54 45 52 20 43 4F 55  4E 54 0D 20 20 20 20 20  |CTER COUNT.     |
00000E70: 20 20 42 45 51 20 44 41  54 45 30 36 0D 20 20 20  |  BEQ DATE06.   |
00000E80: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 43 4D 50  |    ;.       CMP|
00000E90: 20 23 44 45 4C 0D 20 20  20 20 20 20 20 42 45 51  | #DEL.       BEQ|
00000EA0: 20 44 41 54 45 30 31 20  3B 44 45 4C 45 54 45 44  | DATE01 ;DELETED|
00000EB0: 0D 20 20 20 20 20 20 20  3B 0D 44 41 54 45 30 36  |.       ;.DATE06|
00000EC0: 20 43 50 59 20 23 36 0D  20 20 20 20 20 20 20 42  | CPY #6.       B|
00000ED0: 43 43 20 44 41 54 45 30  37 20 3B 4D 4F 52 45 20  |CC DATE07 ;MORE |
00000EE0: 49 4E 50 55 54 20 4E 45  45 44 45 44 0D 20 20 20  |INPUT NEEDED.   |
00000EF0: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 43 4D 50  |    ;.       CMP|
00000F00: 20 23 43 52 0D 20 20 20  20 20 20 20 42 4E 45 20  | #CR.       BNE |
00000F10: 44 41 54 45 30 32 20 3B  4E 4F 54 20 3C 52 45 54  |DATE02 ;NOT <RET|
00000F20: 55 52 4E 3E 0D 20 20 20  20 20 20 20 3B 0D 20 20  |URN>.       ;.  |
00000F30: 20 20 20 20 20 42 45 51  20 44 41 54 45 30 39 20  |     BEQ DATE09 |
00000F40: 3B 45 4E 44 20 4F 46 20  49 4E 50 55 54 0D 20 20  |;END OF INPUT.  |
00000F50: 20 20 20 20 20 3B 0D 44  41 54 45 30 37 20 43 4D  |     ;.DATE07 CM|
00000F60: 50 20 23 22 30 22 0D 20  20 20 20 20 20 20 42 43  |P #"0".       BC|
00000F70: 43 20 44 41 54 45 30 32  20 3B 4F 55 54 20 4F 46  |C DATE02 ;OUT OF|
00000F80: 20 52 41 4E 47 45 0D 20  20 20 20 20 20 20 3B 0D  | RANGE.       ;.|
00000F90: 20 20 20 20 20 20 20 43  4D 50 20 23 22 3A 22 0D  |       CMP #":".|
00000FA0: 20 20 20 20 20 20 20 42  43 53 20 44 41 54 45 30  |       BCS DATE0|
00000FB0: 32 20 3B 4F 55 54 20 4F  46 20 52 41 4E 47 45 0D  |2 ;OUT OF RANGE.|
00000FC0: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
00000FD0: 4A 53 52 20 43 48 52 4F  55 54 20 3B 45 43 48 4F  |JSR CHROUT ;ECHO|
00000FE0: 20 43 48 41 52 41 43 54  45 52 0D 20 20 20 20 20  | CHARACTER.     |
00000FF0: 20 20 3B 0D 20 20 20 20  20 20 20 53 54 41 20 42  |  ;.       STA B|
00001000: 55 46 2C 59 20 3B 53 54  4F 52 45 0D 20 20 20 20  |UF,Y ;STORE.    |
00001010: 20 20 20 3B 0D 20 20 20  20 20 20 20 49 4E 43 20  |   ;.       INC |
00001020: 43 54 52 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |CTR.       ;.   |
00001030: 20 20 20 20 43 50 59 20  23 31 0D 20 20 20 20 20  |    CPY #1.     |
00001040: 20 20 42 45 51 20 44 41  54 45 30 38 0D 20 20 20  |  BEQ DATE08.   |
00001050: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 43 50 59  |    ;.       CPY|
00001060: 20 23 33 0D 20 20 20 20  20 20 20 42 4E 45 20 44  | #3.       BNE D|
00001070: 41 54 45 30 32 20 3B 4C  4F 4F 50 0D 20 20 20 20  |ATE02 ;LOOP.    |
00001080: 20 20 20 3B 0D 44 41 54  45 30 38 20 4C 44 41 20  |   ;.DATE08 LDA |
00001090: 23 52 49 47 48 54 0D 20  20 20 20 20 20 20 4A 53  |#RIGHT.       JS|
000010A0: 52 20 43 48 52 4F 55 54  20 3B 4A 55 4D 50 20 4F  |R CHROUT ;JUMP O|
000010B0: 56 45 52 20 48 59 50 48  45 4E 0D 20 20 20 20 20  |VER HYPHEN.     |
000010C0: 20 20 3B 0D 20 20 20 20  20 20 20 4A 4D 50 20 44  |  ;.       JMP D|
000010D0: 41 54 45 30 32 20 3B 4C  4F 4F 50 0D 20 20 20 20  |ATE02 ;LOOP.    |
000010E0: 20 20 20 3B 0D 20 20 20  20 20 20 20 3B 0D 3B 45  |   ;.       ;.;E|
000010F0: 4E 43 4F 44 45 20 44 41  54 45 20 49 4E 54 4F 20  |NCODE DATE INTO |
00001100: 42 43 44 2E 2E 2E 0D 20  20 20 20 20 20 20 3B 0D  |BCD....       ;.|
00001110: 44 41 54 45 30 39 20 4C  44 58 20 23 32 20 3B 42  |DATE09 LDX #2 ;B|
00001120: 43 44 20 4F 46 46 53 45  54 0D 20 20 20 20 20 20  |CD OFFSET.      |
00001130: 20 4C 44 59 20 23 35 20  3B 41 53 43 49 49 20 4F  | LDY #5 ;ASCII O|
00001140: 46 46 53 45 54 0D 20 20  20 20 20 20 20 3B 0D 44  |FFSET.       ;.D|
00001150: 41 54 45 31 30 20 4C 44  41 20 42 55 46 2C 59 20  |ATE10 LDA BUF,Y |
00001160: 3B 46 45 54 43 48 20 55  4E 49 54 53 0D 20 20 20  |;FETCH UNITS.   |
00001170: 20 20 20 20 41 4E 44 20  23 31 35 20 3B 4D 41 53  |    AND #15 ;MAS|
00001180: 4B 20 48 49 20 4E 59 42  42 4C 45 0D 20 20 20 20  |K HI NYBBLE.    |
00001190: 20 20 20 53 54 41 20 43  54 52 20 3B 53 54 4F 52  |   STA CTR ;STOR|
000011A0: 45 0D 20 20 20 20 20 20  20 3B 0D 20 20 20 20 20  |E.       ;.     |
000011B0: 20 20 44 45 59 0D 20 20  20 20 20 20 20 4C 44 41  |  DEY.       LDA|
000011C0: 20 42 55 46 2C 59 20 3B  46 45 54 43 48 20 54 45  | BUF,Y ;FETCH TE|
000011D0: 4E 53 0D 20 20 20 20 20  20 20 3B 0D 20 20 20 20  |NS.       ;.    |
000011E0: 20 20 20 41 53 4C 20 3B  53 48 49 46 54 20 4C 4F  |   ASL ;SHIFT LO|
000011F0: 20 4E 59 42 42 4C 45 2E  2E 2E 0D 20 20 20 20 20  | NYBBLE....     |
00001200: 20 20 41 53 4C 20 3B 54  4F 20 48 49 47 48 0D 20  |  ASL ;TO HIGH. |
00001210: 20 20 20 20 20 20 41 53  4C 20 20 0D 20 20 20 20  |      ASL  .    |
00001220: 20 20 20 41 53 4C 20 20  0D 20 20 20 20 20 20 20  |   ASL  .       |
00001230: 3B 0D 20 20 20 20 20 20  20 4F 52 41 20 43 54 52  |;.       ORA CTR|
00001240: 20 3B 43 4F 4D 42 49 4E  45 20 57 2F 55 4E 49 54  | ;COMBINE W/UNIT|
00001250: 53 0D 20 20 20 20 20 20  20 53 54 41 20 44 42 55  |S.       STA DBU|
00001260: 46 2C 58 20 3B 53 41 56  45 20 42 43 44 20 44 49  |F,X ;SAVE BCD DI|
00001270: 47 49 54 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |GIT.       ;.   |
00001280: 20 20 20 20 44 45 59 0D  20 20 20 20 20 20 20 44  |    DEY.       D|
00001290: 45 58 0D 20 20 20 20 20  20 20 42 50 4C 20 44 41  |EX.       BPL DA|
000012A0: 54 45 31 30 20 3B 4C 4F  4F 50 0D 20 20 20 20 20  |TE10 ;LOOP.     |
000012B0: 20 20 3B 0D 20 20 20 20  20 20 20 3B 0D 3B 54 45  |  ;.       ;.;TE|
000012C0: 53 54 20 46 4F 52 20 4C  45 41 50 20 59 45 41 52  |ST FOR LEAP YEAR|
000012D0: 20 45 4E 54 52 59 2E 2E  2E 0D 20 20 20 20 20 20  | ENTRY....      |
000012E0: 20 3B 0D 20 20 20 20 20  20 20 50 48 41 20 3B 53  | ;.       PHA ;S|
000012F0: 41 56 45 20 4D 4F 4E 54  48 20 56 41 4C 55 45 0D  |AVE MONTH VALUE.|
00001300: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
00001310: 4C 44 41 20 44 42 55 46  2B 32 20 3B 59 45 41 52  |LDA DBUF+2 ;YEAR|
00001320: 20 45 4E 54 52 59 0D 20  20 20 20 20 20 20 4A 53  | ENTRY.       JS|
00001330: 52 20 42 43 42 49 4E 20  3B 43 48 41 4E 47 45 20  |R BCBIN ;CHANGE |
00001340: 54 4F 20 42 49 4E 41 52  59 0D 20 20 20 20 20 20  |TO BINARY.      |
00001350: 20 3B 0D 20 20 20 20 20  20 20 4C 44 58 20 23 24  | ;.       LDX #$|
00001360: 32 39 20 3B 4E 4F 4E 2D  4C 45 41 50 20 59 45 41  |29 ;NON-LEAP YEA|
00001370: 52 20 54 45 53 54 20 56  41 4C 55 45 0D 20 20 20  |R TEST VALUE.   |
00001380: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 4C 53 52  |    ;.       LSR|
00001390: 20 3B 44 49 56 49 44 45  20 59 45 41 52 20 42 59  | ;DIVIDE YEAR BY|
000013A0: 20 32 0D 20 20 20 20 20  20 20 42 43 53 20 44 41  | 2.       BCS DA|
000013B0: 54 45 31 31 20 3B 4E 4F  4E 2D 4C 45 41 50 20 59  |TE11 ;NON-LEAP Y|
000013C0: 45 41 52 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |EAR.       ;.   |
000013D0: 20 20 20 20 4C 53 52 20  20 0D 20 20 20 20 20 20  |    LSR  .      |
000013E0: 20 42 43 53 20 44 41 54  45 31 31 0D 20 20 20 20  | BCS DATE11.    |
000013F0: 20 20 20 3B 0D 20 20 20  20 20 20 20 4C 44 58 20  |   ;.       LDX |
00001400: 23 24 33 30 20 3B 42 55  4D 50 20 54 45 53 54 20  |#$30 ;BUMP TEST |
00001410: 56 41 4C 55 45 0D 20 20  20 20 20 20 20 3B 0D 44  |VALUE.       ;.D|
00001420: 41 54 45 31 31 20 53 54  58 20 43 4C 55 54 2B 31  |ATE11 STX CLUT+1|
00001430: 20 3B 54 45 53 54 20 56  41 4C 55 45 0D 20 20 20  | ;TEST VALUE.   |
00001440: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 3B 0D 3B  |    ;.       ;.;|
00001450: 43 48 45 43 4B 20 46 4F  52 20 56 41 4C 49 44 20  |CHECK FOR VALID |
00001460: 49 4E 50 55 54 20 4D 4F  4E 54 48 2E 2E 2E 0D 20  |INPUT MONTH.... |
00001470: 20 20 20 20 20 20 3B 0D  20 20 20 20 20 20 20 50  |      ;.       P|
00001480: 4C 41 20 3B 49 4E 50 55  54 20 4D 4F 4E 54 48 0D  |LA ;INPUT MONTH.|
00001490: 20 20 20 20 20 20 20 42  4E 45 20 44 41 54 45 31  |       BNE DATE1|
000014A0: 33 20 3B 4E 4F 54 20 5A  45 52 4F 20 4D 4F 4E 54  |3 ;NOT ZERO MONT|
000014B0: 48 0D 20 20 20 20 20 20  20 3B 0D 44 41 54 45 31  |H.       ;.DATE1|
000014C0: 32 20 4A 53 52 20 42 55  5A 5A 45 52 20 3B 45 52  |2 JSR BUZZER ;ER|
000014D0: 52 4F 52 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |ROR.       ;.   |
000014E0: 20 20 20 20 4A 4D 50 20  44 41 54 45 30 31 20 3B  |    JMP DATE01 ;|
000014F0: 52 45 45 4E 54 45 52 0D  20 20 20 20 20 20 20 3B  |REENTER.       ;|
00001500: 0D 44 41 54 45 31 33 20  43 4D 50 20 23 24 31 33  |.DATE13 CMP #$13|
00001510: 0D 20 20 20 20 20 20 20  42 43 53 20 44 41 54 45  |.       BCS DATE|
00001520: 31 32 20 3B 54 4F 4F 20  48 49 47 48 0D 20 20 20  |12 ;TOO HIGH.   |
00001530: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 3B 0D 3B  |    ;.       ;.;|
00001540: 43 48 45 43 4B 20 46 4F  52 20 56 41 4C 49 44 20  |CHECK FOR VALID |
00001550: 49 4E 50 55 54 20 44 41  59 2E 2E 2E 0D 20 20 20  |INPUT DAY....   |
00001560: 20 20 20 20 3B 0D 20 20  20 20 20 20 20 4A 53 52  |    ;.       JSR|
00001570: 20 42 43 42 49 4E 20 3B  43 48 41 4E 47 45 20 54  | BCBIN ;CHANGE T|
00001580: 4F 20 42 49 4E 41 52 59  0D 20 20 20 20 20 20 20  |O BINARY.       |
00001590: 54 41 58 0D 20 20 20 20  20 20 20 44 45 58 20 3B  |TAX.       DEX ;|
000015A0: 4D 41 4B 45 20 54 41 42  4C 45 20 4F 46 46 53 45  |MAKE TABLE OFFSE|
000015B0: 54 0D 20 20 20 20 20 20  20 3B 0D 20 20 20 20 20  |T.       ;.     |
000015C0: 20 20 4C 44 41 20 44 42  55 46 2B 31 20 3B 45 4E  |  LDA DBUF+1 ;EN|
000015D0: 54 52 59 20 44 41 59 0D  20 20 20 20 20 20 20 42  |TRY DAY.       B|
000015E0: 45 51 20 44 41 54 45 31  32 20 3B 5A 45 52 4F 20  |EQ DATE12 ;ZERO |
000015F0: 46 4F 52 20 44 41 59 0D  20 20 20 20 20 20 20 3B  |FOR DAY.       ;|
00001600: 0D 20 20 20 20 20 20 20  43 4D 50 20 43 4C 55 54  |.       CMP CLUT|
00001610: 2C 58 20 3B 54 41 42 4C  45 0D 20 20 20 20 20 20  |,X ;TABLE.      |
00001620: 20 42 43 53 20 44 41 54  45 31 32 20 3B 54 4F 4F  | BCS DATE12 ;TOO|
00001630: 20 48 49 47 48 20 46 4F  52 20 4D 4F 4E 54 48 0D  | HIGH FOR MONTH.|
00001640: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
00001650: 3B 0D 3B 43 4F 4E 46 49  52 4D 20 45 4E 54 52 59  |;.;CONFIRM ENTRY|
00001660: 2E 2E 2E 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |....       ;.   |
00001670: 20 20 20 20 4C 44 58 20  23 34 0D 20 20 20 20 20  |    LDX #4.     |
00001680: 20 20 4C 44 59 20 23 30  0D 20 20 20 20 20 20 20  |  LDY #0.       |
00001690: 4A 53 52 20 50 4C 4F 54  41 0D 20 20 20 20 20 20  |JSR PLOTA.      |
000016A0: 20 3B 0D 20 20 20 20 20  20 20 4C 44 58 20 23 3C  | ;.       LDX #<|
000016B0: 44 41 54 45 50 32 20 3B  27 49 53 20 54 48 49 53  |DATEP2 ;'IS THIS|
000016C0: 20 43 4F 52 52 45 43 54  3F 27 0D 20 20 20 20 20  | CORRECT?'.     |
000016D0: 20 20 4C 44 59 20 23 3E  44 41 54 45 50 32 0D 20  |  LDY #>DATEP2. |
000016E0: 20 20 20 20 20 20 4A 53  52 20 50 52 4E 54 0D 20  |      JSR PRNT. |
000016F0: 20 20 20 20 20 20 3B 0D  20 20 20 20 20 20 20 4A  |      ;.       J|
00001700: 53 52 20 43 48 49 4D 45  0D 20 20 20 20 20 20 20  |SR CHIME.       |
00001710: 3B 0D 20 20 20 20 20 20  20 4A 53 52 20 43 4C 52  |;.       JSR CLR|
00001720: 51 0D 20 20 20 20 20 20  20 3B 0D 44 41 54 45 31  |Q.       ;.DATE1|
00001730: 34 20 4A 53 52 20 47 45  54 49 4E 20 3B 46 45 54  |4 JSR GETIN ;FET|
00001740: 43 48 20 4B 45 59 50 52  45 53 53 0D 20 20 20 20  |CH KEYPRESS.    |
00001750: 20 20 20 43 4D 50 20 23  22 4E 22 0D 20 20 20 20  |   CMP #"N".    |
00001760: 20 20 20 42 45 51 20 44  41 54 45 31 36 20 3B 41  |   BEQ DATE16 ;A|
00001770: 42 4F 52 54 0D 20 20 20  20 20 20 20 3B 0D 20 20  |BORT.       ;.  |
00001780: 20 20 20 20 20 43 4D 50  20 23 22 59 22 0D 20 20  |     CMP #"Y".  |
00001790: 20 20 20 20 20 42 4E 45  20 44 41 54 45 31 34 20  |     BNE DATE14 |
000017A0: 3B 4C 4F 4F 50 0D 20 20  20 20 20 20 20 3B 0D 20  |;LOOP.       ;. |
000017B0: 20 20 20 20 20 20 3B 0D  3B 54 52 41 4E 53 46 45  |      ;.;TRANSFE|
000017C0: 52 20 44 41 54 45 20 54  4F 20 43 41 4C 45 4E 44  |R DATE TO CALEND|
000017D0: 41 52 20 53 54 4F 52 41  47 45 2E 2E 2E 0D 20 20  |AR STORAGE....  |
000017E0: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 4C 44  |     ;.       LD|
000017F0: 58 20 23 32 20 3B 4F 46  46 53 45 54 0D 20 20 20  |X #2 ;OFFSET.   |
00001800: 20 20 20 20 3B 0D 44 41  54 45 31 35 20 4C 44 41  |    ;.DATE15 LDA|
00001810: 20 44 42 55 46 2C 58 0D  20 20 20 20 20 20 20 53  | DBUF,X.       S|
00001820: 54 41 20 54 44 54 43 2C  58 20 3B 53 54 4F 52 45  |TA TDTC,X ;STORE|
00001830: 20 49 4E 20 43 41 4C 45  4E 44 41 52 0D 20 20 20  | IN CALENDAR.   |
00001840: 20 20 20 20 44 45 58 0D  20 20 20 20 20 20 20 42  |    DEX.       B|
00001850: 50 4C 20 44 41 54 45 31  35 20 3B 4C 4F 4F 50 0D  |PL DATE15 ;LOOP.|
00001860: 20 20 20 20 20 20 20 3B  0D 20 20 20 20 20 20 20  |       ;.       |
00001870: 3B 0D 3B 52 45 53 54 4F  52 45 20 53 59 53 54 45  |;.;RESTORE SYSTE|
00001880: 4D 20 26 20 45 58 49 54  2E 2E 2E 0D 20 20 20 20  |M & EXIT....    |
00001890: 20 20 20 3B 0D 44 41 54  45 31 36 20 4C 44 58 20  |   ;.DATE16 LDX |
000018A0: 23 31 37 33 0D 20 20 20  20 20 20 20 4C 44 59 20  |#173.       LDY |
000018B0: 23 30 0D 20 20 20 20 20  20 20 53 54 58 20 4B 45  |#0.       STX KE|
000018C0: 59 43 48 4B 20 3B 45 4E  41 42 4C 45 20 46 20 4B  |YCHK ;ENABLE F K|
000018D0: 45 59 53 0D 20 20 20 20  20 20 20 53 54 59 20 53  |EYS.       STY S|
000018E0: 49 47 56 4F 4C 20 3B 53  48 55 54 20 4F 46 46 20  |IGVOL ;SHUT OFF |
000018F0: 53 49 44 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |SID.       ;.   |
00001900: 20 20 20 20 50 4C 41 0D  20 20 20 20 20 20 20 53  |    PLA.       S|
00001910: 54 41 20 4D 4D 55 20 3B  52 45 53 54 4F 52 45 20  |TA MMU ;RESTORE |
00001920: 43 4F 4E 46 49 47 55 52  41 54 49 4F 4E 0D 20 20  |CONFIGURATION.  |
00001930: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 50 4C  |     ;.       PL|
00001940: 41 0D 20 20 20 20 20 20  20 53 54 41 20 43 4F 4C  |A.       STA COL|
00001950: 4F 52 20 3B 52 45 53 54  4F 52 45 20 41 54 54 52  |OR ;RESTORE ATTR|
00001960: 49 42 55 54 45 0D 20 20  20 20 20 20 20 3B 0D 20  |IBUTE.       ;. |
00001970: 20 20 20 20 20 20 52 54  53 0D 20 20 20 20 20 20  |      RTS.      |
00001980: 20 3B 0D 3B 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  | ;.;============|
00001990: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
000019A0: 3D 3D 3D 3D 3D 0D 20 20  20 20 20 20 20 3B 0D 3B  |=====.       ;.;|
000019B0: 43 48 41 4E 47 45 20 42  43 44 20 44 49 47 49 54  |CHANGE BCD DIGIT|
000019C0: 20 54 4F 20 42 49 4E 41  52 59 20 44 49 47 49 54  | TO BINARY DIGIT|
000019D0: 0D 20 20 20 20 20 20 20  3B 0D 42 43 42 49 4E 20  |.       ;.BCBIN |
000019E0: 20 50 48 41 20 3B 53 41  56 45 20 42 43 44 20 44  | PHA ;SAVE BCD D|
000019F0: 49 47 49 54 0D 20 20 20  20 20 20 20 3B 0D 20 20  |IGIT.       ;.  |
00001A00: 20 20 20 20 20 4C 53 52  20 3B 53 48 49 46 54 20  |     LSR ;SHIFT |
00001A10: 54 45 4E 53 20 4E 59 42  42 4C 45 2E 2E 2E 0D 20  |TENS NYBBLE.... |
00001A20: 20 20 20 20 20 20 4C 53  52 20 3B 54 4F 20 4C 4F  |      LSR ;TO LO|
00001A30: 20 50 4F 53 49 54 49 4F  4E 0D 20 20 20 20 20 20  | POSITION.      |
00001A40: 20 4C 53 52 20 20 0D 20  20 20 20 20 20 20 4C 53  | LSR  .       LS|
00001A50: 52 20 20 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |R  .       ;.   |
00001A60: 20 20 20 20 54 41 58 20  3B 42 45 43 4F 4D 45 53  |    TAX ;BECOMES|
00001A70: 20 54 45 4E 53 20 43 4F  55 4E 54 45 52 0D 20 20  | TENS COUNTER.  |
00001A80: 20 20 20 20 20 3B 0D 20  20 20 20 20 20 20 50 4C  |     ;.       PL|
00001A90: 41 20 3B 46 45 54 43 48  20 42 43 44 20 44 49 47  |A ;FETCH BCD DIG|
00001AA0: 49 54 0D 20 20 20 20 20  20 20 41 4E 44 20 23 31  |IT.       AND #1|
00001AB0: 35 20 3B 4D 41 53 4B 20  54 45 4E 53 20 4E 59 42  |5 ;MASK TENS NYB|
00001AC0: 42 4C 45 0D 20 20 20 20  20 20 20 3B 0D 20 20 20  |BLE.       ;.   |
00001AD0: 20 20 20 20 43 4C 43 0D  20 20 20 20 20 20 20 3B  |    CLC.       ;|
00001AE0: 0D 42 43 42 49 4E 31 20  44 45 58 20 3B 53 54 45  |.BCBIN1 DEX ;STE|
00001AF0: 50 20 54 45 4E 53 20 43  4F 55 4E 54 45 52 0D 20  |P TENS COUNTER. |
00001B00: 20 20 20 20 20 20 42 4D  49 20 42 43 42 49 4E 32  |      BMI BCBIN2|
00001B10: 20 3B 46 49 4E 49 53 48  45 44 0D 20 20 20 20 20  | ;FINISHED.     |
00001B20: 20 20 3B 0D 20 20 20 20  20 20 20 41 44 43 20 23  |  ;.       ADC #|
00001B30: 31 30 20 3B 41 44 44 20  31 30 20 54 4F 20 55 4E  |10 ;ADD 10 TO UN|
00001B40: 49 54 53 0D 20 20 20 20  20 20 20 42 4E 45 20 42  |ITS.       BNE B|
00001B50: 43 42 49 4E 31 20 3B 4C  4F 4F 50 0D 20 20 20 20  |CBIN1 ;LOOP.    |
00001B60: 20 20 20 3B 0D 42 43 42  49 4E 32 20 52 54 53 0D  |   ;.BCBIN2 RTS.|
00001B70: 20 20 20 20 20 20 20 3B  0D 3B 2D 2D 2D 2D 2D 2D  |       ;.;------|
00001B80: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00001B90: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 0D 20 20 20 20  |-----------.    |
00001BA0: 20 20 20 3B 0D 3B 42 55  5A 5A 45 52 20 54 4F 4E  |   ;.;BUZZER TON|
00001BB0: 45 0D 20 20 20 20 20 20  20 3B 0D 42 55 5A 5A 45  |E.       ;.BUZZE|
00001BC0: 52 20 4C 44 41 20 23 36  20 3B 46 52 45 51 55 45  |R LDA #6 ;FREQUE|
00001BD0: 4E 43 59 0D 20 20 20 20  20 20 20 4C 44 58 20 23  |NCY.       LDX #|
00001BE0: 32 35 31 20 3B 44 55 52  41 54 49 4F 4E 0D 20 20  |251 ;DURATION.  |
00001BF0: 20 20 20 20 20 4C 44 59  20 23 33 33 20 3B 53 41  |     LDY #33 ;SA|
00001C00: 57 54 4F 4F 54 48 0D 20  20 20 20 20 20 20 42 4E  |WTOOTH.       BN|
00001C10: 45 20 53 49 47 4E 41 4C  0D 20 20 20 20 20 20 20  |E SIGNAL.       |
00001C20: 3B 0D 3B 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |;.;-------------|
00001C30: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00001C40: 2D 2D 2D 2D 0D 20 20 20  20 20 20 20 3B 0D 3B 43  |----.       ;.;C|
00001C50: 48 49 4D 45 20 54 4F 4E  45 0D 20 20 20 20 20 20  |HIME TONE.      |
00001C60: 20 3B 0D 43 48 49 4D 45  20 20 4C 44 41 20 23 35  | ;.CHIME  LDA #5|
00001C70: 30 0D 20 20 20 20 20 20  20 4C 44 58 20 23 32 35  |0.       LDX #25|
00001C80: 30 0D 20 20 20 20 20 20  20 4C 44 59 20 23 31 37  |0.       LDY #17|
00001C90: 20 3B 54 52 49 41 4E 47  4C 45 0D 20 20 20 20 20  | ;TRIANGLE.     |
00001CA0: 20 20 3B 0D 3B 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |  ;.;-----------|
00001CB0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00001CC0: 2D 2D 2D 2D 2D 2D 0D 20  20 20 20 20 20 20 3B 0D  |------.       ;.|
00001CD0: 3B 53 49 47 4E 41 4C 20  55 53 45 52 0D 20 20 20  |;SIGNAL USER.   |
00001CE0: 20 20 20 20 3B 0D 53 49  47 4E 41 4C 20 53 54 41  |    ;.SIGNAL STA|
00001CF0: 20 35 34 32 37 33 0D 20  20 20 20 20 20 20 53 54  | 54273.       ST|
00001D00: 58 20 35 34 32 37 38 0D  20 20 20 20 20 20 20 53  |X 54278.       S|
00001D10: 54 59 20 35 34 32 37 36  0D 20 20 20 20 20 20 20  |TY 54276.       |
00001D20: 3B 0D 20 20 20 20 20 20  20 44 45 59 0D 20 20 20  |;.       DEY.   |
00001D30: 20 20 20 20 53 54 59 20  35 34 32 37 36 20 3B 47  |    STY 54276 ;G|
00001D40: 41 54 45 20 54 4F 4E 45  20 4F 4E 0D 20 20 20 20  |ATE TONE ON.    |
00001D50: 20 20 20 3B 0D 20 20 20  20 20 20 20 52 54 53 0D  |   ;.       RTS.|
00001D60: 20 20 20 20 20 20 20 3B  0D 3B 2D 2D 2D 2D 2D 2D  |       ;.;------|
00001D70: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00001D80: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 0D 20 20 20 20  |-----------.    |
00001D90: 20 20 20 3B 0D 3B 43 4C  45 41 52 20 4B 45 59 42  |   ;.;CLEAR KEYB|
00001DA0: 4F 41 52 44 20 51 55 45  55 45 0D 20 20 20 20 20  |OARD QUEUE.     |
00001DB0: 20 20 3B 0D 43 4C 52 51  20 20 20 4C 44 41 20 23  |  ;.CLRQ   LDA #|
00001DC0: 30 0D 20 20 20 20 20 20  20 53 54 41 20 4E 44 58  |0.       STA NDX|
00001DD0: 0D 20 20 20 20 20 20 20  3B 0D 43 4C 52 51 30 31  |.       ;.CLRQ01|
00001DE0: 20 52 54 53 0D 20 20 20  20 20 20 20 3B 0D 3B 2D  | RTS.       ;.;-|
00001DF0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00001E00: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00001E10: 0D 20 20 20 20 20 20 20  3B 0D 3B 50 4F 53 49 54  |.       ;.;POSIT|
00001E20: 49 4F 4E 20 43 55 52 53  4F 52 0D 20 20 20 20 20  |ION CURSOR.     |
00001E30: 20 20 3B 0D 50 4C 4F 54  41 20 20 43 4C 43 0D 20  |  ;.PLOTA  CLC. |
00001E40: 20 20 20 20 20 20 3B 0D  20 20 20 20 20 20 20 4A  |      ;.       J|
00001E50: 4D 50 20 50 4C 4F 54 0D  20 20 20 20 20 20 20 3B  |MP PLOT.       ;|
00001E60: 0D 3B 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |.;--------------|
00001E70: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00001E80: 2D 2D 2D 0D 20 20 20 20  20 20 20 3B 0D 3B 50 52  |---.       ;.;PR|
00001E90: 49 4E 54 20 54 4F 20 53  43 52 45 45 4E 0D 20 20  |INT TO SCREEN.  |
00001EA0: 20 20 20 20 20 3B 0D 50  52 4E 54 20 20 20 53 54  |     ;.PRNT   ST|
00001EB0: 58 20 50 54 52 20 3B 53  54 52 49 4E 47 20 41 44  |X PTR ;STRING AD|
00001EC0: 44 52 45 53 53 0D 20 20  20 20 20 20 20 53 54 59  |DRESS.       STY|
00001ED0: 20 50 54 52 2B 31 0D 20  20 20 20 20 20 20 3B 0D  | PTR+1.       ;.|
00001EE0: 20 20 20 20 20 20 20 4C  44 59 20 23 30 20 3B 4F  |       LDY #0 ;O|
00001EF0: 46 46 53 45 54 0D 20 20  20 20 20 20 20 3B 0D 50  |FFSET.       ;.P|
00001F00: 52 4E 54 30 31 20 4C 44  41 20 28 50 54 52 29 2C  |RNT01 LDA (PTR),|
00001F10: 59 20 3B 46 45 54 43 48  0D 20 20 20 20 20 20 20  |Y ;FETCH.       |
00001F20: 42 45 51 20 43 4C 52 51  30 31 0D 20 20 20 20 20  |BEQ CLRQ01.     |
00001F30: 20 20 3B 0D 20 20 20 20  20 20 20 4A 53 52 20 43  |  ;.       JSR C|
00001F40: 48 52 4F 55 54 0D 20 20  20 20 20 20 20 49 4E 59  |HROUT.       INY|
00001F50: 0D 20 20 20 20 20 20 20  42 4E 45 20 50 52 4E 54  |.       BNE PRNT|
00001F60: 30 31 20 3B 4C 4F 4F 50  0D 20 20 20 20 20 20 20  |01 ;LOOP.       |
00001F70: 3B 0D 3B 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |;.;-------------|
00001F80: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00001F90: 2D 2D 2D 2D 0D 20 20 20  20 20 20 20 3B 0D 3B 43  |----.       ;.;C|
00001FA0: 41 4C 45 4E 44 41 52 20  4C 4F 4F 4B 55 50 20 54  |ALENDAR LOOKUP T|
00001FB0: 41 42 4C 45 0D 20 20 20  20 20 20 20 3B 0D 43 4C  |ABLE.       ;.CL|
00001FC0: 55 54 20 20 20 2E 42 59  54 45 20 24 33 32 20 3B  |UT   .BYTE $32 ;|
00001FD0: 4A 41 4E 2B 31 0D 20 20  20 20 20 20 20 2E 42 59  |JAN+1.       .BY|
00001FE0: 54 45 20 24 32 39 20 3B  46 45 42 2B 31 0D 20 20  |TE $29 ;FEB+1.  |
00001FF0: 20 20 20 20 20 2E 42 59  54 45 20 24 33 32 20 3B  |     .BYTE $32 ;|
00002000: 4D 41 52 2B 31 0D 20 20  20 20 20 20 20 2E 42 59  |MAR+1.       .BY|
00002010: 54 45 20 24 33 31 20 3B  41 50 52 2B 31 0D 20 20  |TE $31 ;APR+1.  |
00002020: 20 20 20 20 20 2E 42 59  54 45 20 24 33 32 20 3B  |     .BYTE $32 ;|
00002030: 4D 41 59 2B 31 0D 20 20  20 20 20 20 20 2E 42 59  |MAY+1.       .BY|
00002040: 54 45 20 24 33 31 20 3B  4A 55 4E 2B 31 0D 20 20  |TE $31 ;JUN+1.  |
00002050: 20 20 20 20 20 2E 42 59  54 45 20 24 33 32 20 3B  |     .BYTE $32 ;|
00002060: 4A 55 4C 2B 31 0D 20 20  20 20 20 20 20 2E 42 59  |JUL+1.       .BY|
00002070: 54 45 20 24 33 32 20 3B  41 55 47 2B 31 0D 20 20  |TE $32 ;AUG+1.  |
00002080: 20 20 20 20 20 2E 42 59  54 45 20 24 33 31 20 3B  |     .BYTE $31 ;|
00002090: 53 45 50 2B 31 0D 20 20  20 20 20 20 20 2E 42 59  |SEP+1.       .BY|
000020A0: 54 45 20 24 33 32 20 3B  4F 43 54 2B 31 0D 20 20  |TE $32 ;OCT+1.  |
000020B0: 20 20 20 20 20 2E 42 59  54 45 20 24 33 31 20 3B  |     .BYTE $31 ;|
000020C0: 4E 4F 56 2B 31 0D 20 20  20 20 20 20 20 2E 42 59  |NOV+1.       .BY|
000020D0: 54 45 20 24 33 32 20 3B  44 45 43 2B 31 0D 20 20  |TE $32 ;DEC+1.  |
000020E0: 20 20 20 20 20 3B 0D 3B  2D 2D 2D 2D 2D 2D 2D 2D  |     ;.;--------|
000020F0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00002100: 2D 2D 2D 2D 2D 2D 2D 2D  2D 0D 20 20 20 20 20 20  |---------.      |
00002110: 20 3B 0D 3B 55 53 45 52  20 50 52 4F 4D 50 54 53  | ;.;USER PROMPTS|
00002120: 0D 20 20 20 20 20 20 20  3B 0D 44 41 54 45 50 31  |.       ;.DATEP1|
00002130: 20 2E 42 59 54 45 20 59  45 4C 0D 20 20 20 20 20  | .BYTE YEL.     |
00002140: 20 20 2E 41 53 43 20 22  54 4F 44 41 59 27 53 20  |  .ASC "TODAY'S |
00002150: 44 41 54 45 3A 22 0D 20  20 20 20 20 20 20 2E 42  |DATE:".       .B|
00002160: 59 54 45 20 43 59 4E 0D  20 20 20 20 20 20 20 2E  |YTE CYN.       .|
00002170: 41 53 43 20 22 20 20 20  2D 20 20 2D 22 0D 20 20  |ASC "   -  -".  |
00002180: 20 20 20 20 20 2E 42 59  54 45 20 45 53 43 0D 20  |     .BYTE ESC. |
00002190: 20 20 20 20 20 20 2E 41  53 43 20 22 51 22 20 20  |      .ASC "Q"  |
000021A0: 0D 20 20 20 20 20 20 20  2E 42 59 54 45 20 30 0D  |.       .BYTE 0.|
000021B0: 20 20 20 20 20 20 20 3B  0D 44 41 54 45 50 32 20  |       ;.DATEP2 |
000021C0: 2E 42 59 54 45 20 57 48  54 0D 20 20 20 20 20 20  |.BYTE WHT.      |
000021D0: 20 2E 41 53 43 20 22 49  53 20 54 48 49 53 20 44  | .ASC "IS THIS D|
000021E0: 41 54 45 22 0D 20 20 20  20 20 20 20 2E 41 53 43  |ATE".       .ASC|
000021F0: 20 22 20 43 4F 52 52 45  43 54 20 28 59 2F 4E 29  | " CORRECT (Y/N)|
00002200: 3F 22 20 20 0D 20 20 20  20 20 20 20 2E 42 59 54  |?"  .       .BYT|
00002210: 45 20 30 0D 20 20 20 20  20 20 20 3B 0D 3B 2D 2D  |E 0.       ;.;--|
00002220: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00002230: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 0D  |---------------.|
00002240: 20 20 20 20 20 20 20 3B  0D 3B 50 52 4F 47 52 41  |       ;.;PROGRA|
00002250: 4D 20 53 54 4F 52 41 47  45 0D 20 20 20 20 20 20  |M STORAGE.      |
00002260: 20 3B 0D 42 55 46 20 20  20 20 2A 3D 2A 2B 36 20  | ;.BUF    *=*+6 |
00002270: 3B 49 4E 50 55 54 20 42  55 46 46 45 52 0D 20 20  |;INPUT BUFFER.  |
00002280: 20 20 20 20 20 3B 0D 44  42 55 46 20 20 20 2A 3D  |     ;.DBUF   *=|
00002290: 2A 2B 33 20 3B 44 41 54  45 20 45 4E 43 4F 44 49  |*+3 ;DATE ENCODI|
000022A0: 4E 47 20 42 55 46 46 45  52 0D 20 20 20 20 20 20  |NG BUFFER.      |
000022B0: 20 3B 0D 3B 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  | ;.;============|
000022C0: 3D 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |================|
000022D0: 3D 3D 3D 3D 3D 0D 2E 45  4E 44 0D                 |=====..END.     |
;PUT"@0:DATESET.BUD".;.*=$1600 ; 5632..O
BJ "@0:DT5632".;.;* * * * * * * * * * * 
* * * * * *.;*                          
     *.;* CALENDAR DATE SETUP           
*.;*                               *.;* 
WRITTEN 11-29-85  W.J. BRIER  *.;*      
                         *.;* REVISED  1
-18-87              *.;*                
               *.;* COPYRIGHT (C) 1985  
          *.;*                          
     *.;* ALL RIGHTS RESERVED           
*.;*                               *.;* 
USE WITH CLOCK-CALENDAR 128   *.;*      
                         *.;* SET DATE: 
SYS 5632            *.;*                
               *.;* ENTER DATE AS: MM-DD
-YY       *.;*                          
     *.;* * * * * * * * * * * * * * * * 
*.              ;.              ;.      
        ;.;* * * * * * * * * * * * * * *
 * *.;*                               *.
;*      PROGRAM ASSIGNMENTS      *.;*   
                            *.;* * * * *
 * * * * * * * * * * * *.              ;
.              ;.              ;.;SYSTEM
 VECTORS & POINTERS....              ;.N
DX    =$D0   ;KEYBOARD QUEUE.           
   ;.MODE   =$D7   ;40/80 COLUMN MODE.  
            ;.COLOR  =$F1   ;NEXT ATTRIB
UTE.              ;.KEYCHK =$033C ;KEY D
ECODE VECTOR.              ;.CURON  =$CD
6F ;FLASH CURSOR.CUROF1 =$CD9F ;KILL CUR
SOR (40 COL).CUROF2 =$CDAC ;KILL CURSOR 
(80 COL).              ;.SIGVOL =$D418 ;
VOLUME CONTROL.              ;.MMU    =$
FF00 ;MEMORY MANAGEMENT.              ;.
CHROUT =$FFD2 ;OUTPUT A BYTE.GETIN  =$FF
E4 ;GET A BYTE.PLOT   =$FFF0 ;POSITION C
URSOR.              ;.              ;.;M
ISCELLANEOUS POINTERS....              ;
.PTR    =$FA   ;ZERO PAGE POINTER.CTR   
 =$FC   ;COUNTER.              ;.       
       ;.;CLOCK-CALENDAR LOCATION....   
           ;.TDTC   =$1312 ;BCD DATE IN 
CLOCK.              ;.              ;.;V
IDEO CONSTANTS....              ;.WHT   
 =5     ;WHITE TEXT.CR     =13    ;CARRI
AGE RETURN.DEL    =20    ;DELETE.ESC    
=27    ;ESCAPE CHARACTER.RIGHT  =29    ;
CURSOR RIGHT.CLR    =147   ;CLEAR SCREEN
.YEL    =158   ;YELLOW TEXT.CYN    =159 
  ;CYAN TEXT.              ;.           
   ;.;# # # # # # # # # # # # # # # # #.
;#                               #.;#   
C-128 CALENDAR DATE SETUP   #.;#        
                       #.;# # # # # # # 
# # # # # # # # # #.       ;.       ;.;I
NITIAL SETUP....       ;.DATE   LDA COLO
R ;CURRENT ATTRIBUTE.       PHA ;SAVE.  
     ;.       LDA MMU ;CONFIGURATION.   
    PHA ;SAVE ON STACK.       ;.       L
DX #14.       STX MMU ;ENABLE KERNAL.   
    ;.       INX.       STX SIGVOL ;MAXI
MUM VOLUME.       ;.       LDA #183.    
   STA KEYCHK ;BYPASS F KEYS.       ;.  
     JSR CHIME ;SIGNAL USER.       ;.   
    LDA #CLR.       JSR CHROUT ;CLEAR SC
REEN.       ;.       ;.;DISPLAY INPUT PR
OMPT....       ;.DATE01 LDX #2 ;ROW.    
   LDY #0 ;COLUMN.       JSR PLOTA ;POSI
TION CURSOR.       ;.       LDX #<DATEP1
 ;'TODAY'S DATE'.       LDY #>DATEP1.   
    JSR PRNT ;DISPLAY PROMPT.       ;.  
     LDX #2 ;POSITION CURSOR....       L
DY #14 ;TO ACCEPT....       JSR PLOTA ;U
SER INPUT.       ;.       JSR CLRQ ;CLEA
R KEYB'D QUEUE.       STA CTR ;CLEAR INP
UT COUNTER.       ;.       ;.;FETCH USER
 INPUT....       ;.DATE02 SEI ;INTERRUPT
S OFF.       ;.       JSR CURON ;FLASH C
URSOR.       ;.       CLI ;INTERRUPTS ON
.       ;.DATE03 JSR GETIN ;FETCH KEYPRE
SS.       BEQ DATE03 ;NO INPUT.       ;.
       PHA ;SAVE KEYPRESS.       ;.     
  BIT MODE.       BPL DATE04 ;40 COLUMNS
.       ;.       SEI.       ;.       JSR
 CUROF2 ;KILL 80 COL CURSOR.       ;.   
    CLI.       ;.       JMP DATE05.     
  ;.DATE04 JSR CUROF1 ;KILL 40 COL CURSO
R.       ;.       ;.;FILTER & STORE INPU
T....       ;.DATE05 PLA ;RETRIEVE KEYPR
ESS.       ;.       LDY CTR ;FETCH CHARA
CTER COUNT.       BEQ DATE06.       ;.  
     CMP #DEL.       BEQ DATE01 ;DELETED
.       ;.DATE06 CPY #6.       BCC DATE0
7 ;MORE INPUT NEEDED.       ;.       CMP
 #CR.       BNE DATE02 ;NOT <RETURN>.   
    ;.       BEQ DATE09 ;END OF INPUT.  
     ;.DATE07 CMP #"0".       BCC DATE02
 ;OUT OF RANGE.       ;.       CMP #":".
       BCS DATE02 ;OUT OF RANGE.       ;
.       JSR CHROUT ;ECHO CHARACTER.     
  ;.       STA BUF,Y ;STORE.       ;.   
    INC CTR.       ;.       CPY #1.     
  BEQ DATE08.       ;.       CPY #3.    
   BNE DATE02 ;LOOP.       ;.DATE08 LDA 
#RIGHT.       JSR CHROUT ;JUMP OVER HYPH
EN.       ;.       JMP DATE02 ;LOOP.    
   ;.       ;.;ENCODE DATE INTO BCD.... 
      ;.DATE09 LDX #2 ;BCD OFFSET.      
 LDY #5 ;ASCII OFFSET.       ;.DATE10 LD
A BUF,Y ;FETCH UNITS.       AND #15 ;MAS
K HI NYBBLE.       STA CTR ;STORE.      
 ;.       DEY.       LDA BUF,Y ;FETCH TE
NS.       ;.       ASL ;SHIFT LO NYBBLE.
...       ASL ;TO HIGH.       ASL  .    
   ASL  .       ;.       ORA CTR ;COMBIN
E W/UNITS.       STA DBUF,X ;SAVE BCD DI
GIT.       ;.       DEY.       DEX.     
  BPL DATE10 ;LOOP.       ;.       ;.;TE
ST FOR LEAP YEAR ENTRY....       ;.     
  PHA ;SAVE MONTH VALUE.       ;.       
LDA DBUF+2 ;YEAR ENTRY.       JSR BCBIN 
;CHANGE TO BINARY.       ;.       LDX #$
29 ;NON-LEAP YEAR TEST VALUE.       ;.  
     LSR ;DIVIDE YEAR BY 2.       BCS DA
TE11 ;NON-LEAP YEAR.       ;.       LSR 
 .       BCS DATE11.       ;.       LDX 
#$30 ;BUMP TEST VALUE.       ;.DATE11 ST
X CLUT+1 ;TEST VALUE.       ;.       ;.;
CHECK FOR VALID INPUT MONTH....       ;.
       PLA ;INPUT MONTH.       BNE DATE1
3 ;NOT ZERO MONTH.       ;.DATE12 JSR BU
ZZER ;ERROR.       ;.       JMP DATE01 ;
REENTER.       ;.DATE13 CMP #$13.       
BCS DATE12 ;TOO HIGH.       ;.       ;.;
CHECK FOR VALID INPUT DAY....       ;.  
     JSR BCBIN ;CHANGE TO BINARY.       
TAX.       DEX ;MAKE TABLE OFFSET.      
 ;.       LDA DBUF+1 ;ENTRY DAY.       B
EQ DATE12 ;ZERO FOR DAY.       ;.       
CMP CLUT,X ;TABLE.       BCS DATE12 ;TOO
 HIGH FOR MONTH.       ;.       ;.;CONFI
RM ENTRY....       ;.       LDX #4.     
  LDY #0.       JSR PLOTA.       ;.     
  LDX #<DATEP2 ;'IS THIS CORRECT?'.     
  LDY #>DATEP2.       JSR PRNT.       ;.
       JSR CHIME.       ;.       JSR CLR
Q.       ;.DATE14 JSR GETIN ;FETCH KEYPR
ESS.       CMP #"N".       BEQ DATE16 ;A
BORT.       ;.       CMP #"Y".       BNE
 DATE14 ;LOOP.       ;.       ;.;TRANSFE
R DATE TO CALENDAR STORAGE....       ;. 
      LDX #2 ;OFFSET.       ;.DATE15 LDA
 DBUF,X.       STA TDTC,X ;STORE IN CALE
NDAR.       DEX.       BPL DATE15 ;LOOP.
       ;.       ;.;RESTORE SYSTEM & EXIT
....       ;.DATE16 LDX #173.       LDY 
#0.       STX KEYCHK ;ENABLE F KEYS.    
   STY SIGVOL ;SHUT OFF SID.       ;.   
    PLA.       STA MMU ;RESTORE CONFIGUR
ATION.       ;.       PLA.       STA COL
OR ;RESTORE ATTRIBUTE.       ;.       RT
S.       ;.;============================
=====.       ;.;CHANGE BCD DIGIT TO BINA
RY DIGIT.       ;.BCBIN  PHA ;SAVE BCD D
IGIT.       ;.       LSR ;SHIFT TENS NYB
BLE....       LSR ;TO LO POSITION.      
 LSR  .       LSR  .       ;.       TAX 
;BECOMES TENS COUNTER.       ;.       PL
A ;FETCH BCD DIGIT.       AND #15 ;MASK 
TENS NYBBLE.       ;.       CLC.       ;
.BCBIN1 DEX ;STEP TENS COUNTER.       BM
I BCBIN2 ;FINISHED.       ;.       ADC #
10 ;ADD 10 TO UNITS.       BNE BCBIN1 ;L
OOP.       ;.BCBIN2 RTS.       ;.;------
---------------------------.       ;.;BU
ZZER TONE.       ;.BUZZER LDA #6 ;FREQUE
NCY.       LDX #251 ;DURATION.       LDY
 #33 ;SAWTOOTH.       BNE SIGNAL.       
;.;---------------------------------.   
    ;.;CHIME TONE.       ;.CHIME  LDA #5
0.       LDX #250.       LDY #17 ;TRIANG
LE.       ;.;---------------------------
------.       ;.;SIGNAL USER.       ;.SI
GNAL STA 54273.       STX 54278.       S
TY 54276.       ;.       DEY.       STY 
54276 ;GATE TONE ON.       ;.       RTS.
       ;.;------------------------------
---.       ;.;CLEAR KEYBOARD QUEUE.     
  ;.CLRQ   LDA #0.       STA NDX.       
;.CLRQ01 RTS.       ;.;-----------------
----------------.       ;.;POSITION CURS
OR.       ;.PLOTA  CLC.       ;.       J
MP PLOT.       ;.;----------------------
-----------.       ;.;PRINT TO SCREEN.  
     ;.PRNT   STX PTR ;STRING ADDRESS.  
     STY PTR+1.       ;.       LDY #0 ;O
FFSET.       ;.PRNT01 LDA (PTR),Y ;FETCH
.       BEQ CLRQ01.       ;.       JSR C
HROUT.       INY.       BNE PRNT01 ;LOOP
.       ;.;-----------------------------
----.       ;.;CALENDAR LOOKUP TABLE.   
    ;.CLUT   .BYTE $32 ;JAN+1.       .BY
TE $29 ;FEB+1.       .BYTE $32 ;MAR+1.  
     .BYTE $31 ;APR+1.       .BYTE $32 ;
MAY+1.       .BYTE $31 ;JUN+1.       .BY
TE $32 ;JUL+1.       .BYTE $32 ;AUG+1.  
     .BYTE $31 ;SEP+1.       .BYTE $32 ;
OCT+1.       .BYTE $31 ;NOV+1.       .BY
TE $32 ;DEC+1.       ;.;----------------
-----------------.       ;.;USER PROMPTS
.       ;.DATEP1 .BYTE YEL.       .ASC "
TODAY'S DATE:".       .BYTE CYN.       .
ASC "   -  -".       .BYTE ESC.       .A
SC "Q"  .       .BYTE 0.       ;.DATEP2 
.BYTE WHT.       .ASC "IS THIS DATE".   
    .ASC " CORRECT (Y/N)?"  .       .BYT
E 0.       ;.;--------------------------
-------.       ;.;PROGRAM STORAGE.      
 ;.BUF    *=*+6 ;INPUT BUFFER.       ;.D
BUF   *=*+3 ;DATE ENCODING BUFFER.      
 ;.;=================================..E
ND.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL