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 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL