// VIACLOCK - 60 Hz software clock driven by VIA T1 IRQ.
// Patched for the P-LAB A1-IO & RTC card (VIA at $2000-$200F).
//
// IRQ runs through the program's own RAM trampoline at $0000:
//   - WozMonitor.rom IRQ vector at $FFFE -> $0000 (authentic Apple-1 value).
//   - Sub $0676 of the program installs `JMP $0296` at $0000 during init,
//     so when T1 underflows: IRQ -> $FFFE -> $0000 -> $0296 (handler).
//   - $FFFE/$FFFF rewritten to $00 $00 here as belt-and-suspenders, in case
//     a previously loaded file repointed the vector.
//
// (Original sdcard binary used $A00x; remapped 9 instruction sites to $200x.)
// Just type 0280R after loading. Requires A1-IO & RTC plugged.
0280: A9 00 85 00 85 01 85 02 85 1D 85 1B 85 19 85 1C
0290: 85 1A 20 DD 02 60 8D D7 02 8E D9 02 8C DB 02 E6
02A0: 1D A9 3C C5 1D D0 28 A9 00 85 1D E6 1B A9 3C C5
02B0: 1B D0 1C A9 00 85 1B E6 19 A9 3C C5 19 D0 10 A9
02C0: 00 85 19 E6 1C A9 18 C5 1C D0 04 A9 00 85 1C A9
02D0: 01 85 1A 2C 04 20 A9 00 A2 00 A0 00 40 A9 53 85
02E0: 05 A9 03 85 06 20 99 03 20 B0 03 A9 6D 85 05 A9
02F0: 03 85 06 20 99 03 A9 81 85 05 A9 03 85 06 20 99
0300: 03 20 7D 04 20 E6 04 A5 05 85 1C C9 18 B0 E7 A9
0310: 8D 85 05 A9 03 85 06 20 99 03 20 7D 04 20 E6 04
0320: A5 05 85 19 C9 3C B0 E7 A9 00 85 1B 20 58 05 A9
0330: 0D 85 07 20 70 05 A9 FF 85 16 A9 00 85 0A A9 FF
0340: 85 11 20 76 05 C9 58 D0 04 20 88 05 60 20 A0 05
0350: 4C 42 03 0D 0D 2A 2A 2A 20 41 50 50 4C 45 2D 31
0360: 20 43 4C 4F 43 4B 20 2A 2A 2A 0D 0D 00 0D 57 48
0370: 41 54 20 54 49 4D 45 20 49 53 20 49 54 20 3F 0D
0380: 00 0D 28 48 4F 55 52 53 20 20 29 20 00 0D 28 4D
0390: 49 4E 55 54 45 53 29 20 00 A0 00 B1 05 E6 05 D0
03A0: 02 E6 06 C9 00 D0 01 60 85 07 20 70 05 4C 99 03
03B0: A9 A5 8D 02 20 CD 02 20 F0 0E A9 26 85 05 A9 04
03C0: 85 06 20 99 03 20 88 05 A9 18 85 05 A9 04 85 06
03D0: 20 99 03 AD 00 F0 CD 00 FF D0 08 AD 01 F0 CD 01
03E0: FF F0 1F A9 70 85 05 A9 04 85 06 20 99 03 A9 1B
03F0: 85 1E A9 41 85 1F A9 7A 85 05 A9 04 85 06 20 99
0400: 03 60 A9 68 85 05 A9 04 85 06 20 99 03 A9 7C 85
0410: 1E A9 3E 85 1F 4C F6 03 0D 0D 52 55 4E 4E 49 4E
0420: 47 20 4F 4E 20 00 0D 0D 53 4F 52 52 59 2C 20 54
0430: 48 49 53 20 50 52 4F 47 52 41 4D 20 4E 45 45 44
0440: 53 20 41 20 56 49 41 20 36 35 32 32 20 0D 4D 41
0450: 50 50 45 44 20 41 54 20 41 44 44 52 45 53 53 20
0460: 24 41 30 30 30 0D 0D 00 41 50 50 4C 45 2D 31 00
0470: 52 45 50 4C 49 43 41 2D 31 00 0D 0D 00 A9 3F 85
0480: 07 20 70 05 A9 00 85 0D 20 6B 06 AA A4 0D 8A 99
0490: 00 02 E0 0D F0 48 E0 1B F0 40 E0 08 F0 13 E0 5F
04A0: F0 0F 98 C9 02 B0 E1 86 07 20 70 05 E6 0D 4C 88
04B0: 04 A5 0D F0 D3 C6 0D A9 00 A4 0D 99 00 02 A9 0D
04C0: 85 07 20 70 05 A9 3F 85 07 20 70 05 A9 00 85 05
04D0: A9 02 85 06 20 99 03 4C 88 04 A9 00 85 0D A9 00
04E0: A4 0D 99 00 02 60 A9 2D CD 00 02 D0 0D A2 01 A9
04F0: 00 85 05 85 06 A0 01 4C 02 05 A2 00 8A 85 05 85
0500: 06 A8 B9 00 02 C9 00 D0 13 E0 00 D0 01 60 A9 00
0510: 38 E5 05 85 05 A9 00 E5 06 85 06 60 A5 05 0A 85
0520: 08 A5 06 2A 85 09 06 08 26 09 18 A5 05 65 08 85
0530: 05 A5 06 65 09 85 06 06 05 26 06 B9 00 02 18 65
0540: 05 85 05 A5 06 69 00 85 06 A5 05 38 E9 30 85 05
0550: B0 02 C6 06 C8 4C 02 05 20 76 06 A9 C0 8D 0E 20
0560: A9 40 8D 0B 20 A5 1E 8D 04 20 A5 1F 8D 05 20 60
0570: A5 07 20 EF FF 60 A9 80 2D 11 D0 C9 00 F0 06 A9
0580: 7F 2D 10 D0 60 A9 00 60 20 85 06 A9 9A 85 05 A9
0590: 05 85 06 20 99 03 20 90 06 60 42 59 45 21 0D 00
05A0: A5 11 C5 19 F0 43 A5 19 85 11 A5 1C 85 0D 20 93
05B0: 06 84 15 A5 0A 85 14 A5 19 85 0D 20 93 06 84 13
05C0: A5 0A 85 12 A9 00 85 0E A5 0E C9 18 B0 03 4C 5F
05D0: 06 A9 00 85 10 A5 10 C9 08 90 50 A9 00 85 0F A5
05E0: 0F C9 04 90 3A A9 00 85 16 A5 16 C5 1B B0 2F 85
05F0: 0D 20 93 06 84 17 A5 0A 85 18 A9 20 85 07 20 70
0600: 05 A9 30 18 65 17 85 07 20 70 05 A9 30 18 65 18
0610: 85 07 20 70 05 A9 20 85 07 20 70 05 E6 16 60 A9
0620: 0D 85 07 20 70 05 E6 0F 4C DF 05 A9 30 18 65 15
0630: A6 10 20 C1 06 A9 30 18 65 14 A6 10 20 C1 06 A6
0640: 10 A9 3A 20 C1 06 A9 30 18 65 13 A6 10 20 C1 06
0650: A9 30 18 65 12 A6 10 20 C1 06 E6 10 4C D5 05 A9
0660: 0D 85 07 20 70 05 E6 0E 4C C8 05 AD 11 D0 10 FB
0670: A9 7F 2D 10 D0 60 78 A9 4C 85 00 A9 96 85 01 A9
0680: 02 85 02 58 60 A9 40 8D 0E 20 A9 00 8D 0B 20 60
0690: 4C 1F FF A2 00 A0 00 8A 85 0A 06 0A A9 80 25 0D
06A0: C9 00 F0 06 A9 01 05 0A 85 0A 06 0D 98 0A A8 A5
06B0: 0A C9 0A 90 06 C8 38 E9 0A 85 0A E8 E0 08 D0 DA
06C0: 60 85 08 A9 00 85 09 38 A5 08 E9 20 85 08 A5 09
06D0: E9 00 85 09 06 08 26 09 06 08 26 09 06 08 26 09
06E0: 8A 85 0B A9 00 85 0C 18 A5 08 65 0B 85 08 A5 09
06F0: 65 0C 85 09 A5 08 18 69 32 85 08 A5 09 69 07 85
0700: 09 A9 80 85 04 A9 00 85 03 A5 03 C9 08 90 01 60
0710: A5 04 A0 00 31 08 C9 00 D0 0E A9 20 85 07 20 70
0720: 05 46 04 E6 03 4C 09 07 A9 40 85 07 20 70 05 4C
0730: 21 07 00 00 00 00 00 00 00 00 18 18 18 18 00 00
0740: 18 00 66 66 66 00 00 00 00 00 66 66 FF 66 FF 66
0750: 66 00 18 3E 60 3C 06 7C 18 00 62 66 0C 18 30 66
0760: 46 00 3C 66 3C 38 67 66 3F 00 06 0C 18 00 00 00
0770: 00 00 0C 18 30 30 30 18 0C 00 30 18 0C 0C 0C 18
0780: 30 00 00 66 3C FF 3C 66 00 00 00 18 18 7E 18 18
0790: 00 00 00 00 00 00 00 18 18 30 00 00 00 7E 00 00
07A0: 00 00 00 00 00 00 00 18 18 00 00 03 06 0C 18 30
07B0: 60 00 3C 66 6E 76 66 66 3C 00 18 18 38 18 18 18
07C0: 7E 00 3C 66 06 0C 30 60 7E 00 3C 66 06 1C 06 66
07D0: 3C 00 06 0E 1E 66 7F 06 06 00 7E 60 7C 06 06 66
07E0: 3C 00 3C 66 60 7C 66 66 3C 00 7E 66 0C 18 18 18
07F0: 18 00 3C 66 66 3C 66 66 3C 00 3C 66 66 3E 06 66
0800: 3C 00 00 00 18 00 00 18 00 00 00 00 18 00 00 18
0810: 18 30 0E 18 30 60 30 18 0E 00 00 00 7E 00 7E 00
0820: 00 00 70 18 0C 06 0C 18 70 00 3C 66 06 0C 18 00
0830: 18 00 3C 66 6E 6E 60 62 3C 00 18 3C 66 7E 66 66
0840: 66 00 7C 66 66 7C 66 66 7C 00 3C 66 60 60 60 66
0850: 3C 00 78 6C 66 66 66 6C 78 00 7E 60 60 78 60 60
0860: 7E 00 7E 60 60 78 60 60 60 00 3C 66 60 6E 66 66
0870: 3C 00 66 66 66 7E 66 66 66 00 3C 18 18 18 18 18
0880: 3C 00 1E 0C 0C 0C 0C 6C 38 00 66 6C 78 70 78 6C
0890: 66 00 60 60 60 60 60 60 7E 00 63 77 7F 6B 63 63
08A0: 63 00 66 76 7E 7E 6E 66 66 00 3C 66 66 66 66 66
08B0: 3C 00 7C 66 66 7C 60 60 60 00 3C 66 66 66 66 3C
08C0: 0E 00 7C 66 66 7C 78 6C 66 00 3C 66 60 3C 06 66
08D0: 3C 00 7E 18 18 18 18 18 18 00 66 66 66 66 66 66
08E0: 3C 00 66 66 66 66 66 3C 18 00 63 63 63 6B 7F 77
08F0: 63 00 66 66 3C 18 3C 66 66 00 66 66 66 3C 18 18
0900: 18 00 7E 06 0C 18 30 60 7E 00 3C 30 30 30 30 30
0910: 3C 00 0C 12 30 7C 30 62 FC 00 3C 0C 0C 0C 0C 0C
0920: 3C 00 00 18 3C 7E 18 18 18 18 00 10 30 7F 7F 30
0930: 10 00 00 00 00 FF FF 00 00 00 00 00 3C 06 3E 66
0940: 3E 00 00 60 60 7C 66 66 7C 00 00 00 3C 60 60 60
0950: 3C 00 00 06 06 3E 66 66 3E 00 00 00 3C 66 7E 60
0960: 3C 00 00 0E 18 3E 18 18 18 00 00 00 3E 66 66 3E
0970: 06 7C 00 60 60 7C 66 66 66 00 00 18 00 38 18 18
0980: 3C 00 00 06 00 06 06 06 06 3C 00 60 60 6C 78 6C
0990: 66 00 00 38 18 18 18 18 3C 00 00 00 66 7F 7F 6B
09A0: 63 00 00 00 7C 66 66 66 66 00 00 00 3C 66 66 66
09B0: 3C 00 00 00 7C 66 66 7C 60 60 00 00 3E 66 66 3E
09C0: 06 06 00 00 7C 66 60 60 60 00 00 00 3E 60 3C 06
09D0: 7C 00 00 18 7E 18 18 18 0E 00 00 00 66 66 66 66
09E0: 3E 00 00 00 66 66 66 3C 18 00 00 00 63 6B 7F 3E
09F0: 36 00 00 00 66 3C 18 3C 66 00 00 00 66 66 66 3E
0A00: 0C 78 00 00 7E 0C 18 30 7E 00 18 18 18 FF FF 18
0A10: 18 18 C0 C0 30 30 C0 C0 30 30 18 18 18 18 18 18
0A20: 18 18 33 33 CC CC 33 33 CC CC 33 99 CC 66 33 99
0A30: CC 66
FFFE: 00 00
0280R
