00000000: 01 1C 0A 1C 64 00 9E 37 30 30 00 23 1C E8 03 3B |....d..700.#...;|
00000010: 20 B5 45 52 52 55 50 54 20 48 AF 4C 45 52 20 9E | .ERRUPT H.LER .|
00000020: 54 45 4D 00 29 1C F2 03 3B 00 43 1C FC 03 3B 20 |TEM.)...;.C...; |
00000030: 49 4E 53 54 48 44 4C 52 2C 20 4B 49 4C 4C 48 44 |INSTHDLR, KILLHD|
00000040: 4C 52 2C 00 58 1C 06 04 3B 20 41 44 44 53 52 56 |LR,.X...; ADDSRV|
00000050: 52 2C 20 8F 53 52 56 52 00 5E 1C 10 04 3B 00 70 |R, .SRVR.^...;.p|
00000060: 1C 1A 04 54 45 4D 50 56 45 43 20 B2 20 24 46 42 |...TEMPVEC . $FB|
00000070: 00 76 1C 24 04 3B 00 9C 1C 2E 04 49 48 45 4E 54 |.v.$.;.....IHENT|
00000080: 52 49 45 53 20 B2 20 34 20 3B 4D 41 58 20 23 20 |RIES . 4 ;MAX # |
00000090: 4F 46 20 B5 20 53 45 52 56 45 52 53 00 B7 1C 38 |OF . SERVERS...8|
000000A0: 04 3B 20 49 4E 43 52 45 41 53 45 20 8B 20 4E 45 |.; INCREASE . NE|
000000B0: 43 45 53 53 41 52 59 00 CC 1C 42 04 3B 20 20 20 |CESSARY...B.; |
000000C0: 20 20 20 20 20 20 20 20 20 20 20 20 00 E7 1C 4C | ...L|
000000D0: 04 43 48 41 49 4E C3 20 B2 20 49 48 45 4E 54 52 |.CHAIN. . IHENTR|
000000E0: 49 45 53 20 AC 20 33 00 ED 1C 56 04 3B 00 F3 1C |IES . 3...V.;...|
000000F0: 60 04 3B 00 0B 1D 6A 04 49 48 43 48 41 49 4E 20 |`.;...j.IHCHAIN |
00000100: 20 AC B2 AC AA 43 48 41 49 4E C3 00 27 1D 74 04 | ....CHAIN..'.t.|
00000110: 3B 20 53 45 52 56 45 52 20 43 48 41 49 4E 20 CB |; SERVER CHAIN .|
00000120: 45 53 20 48 45 52 45 00 2F 1D 7E 04 52 54 53 00 |ES HERE./.~.RTS.|
00000130: 35 1D 88 04 3B 00 3B 1D 92 04 3B 00 4B 1D 9C 04 |5...;.;...;.K...|
00000140: 49 4E 53 54 48 44 4C 52 20 B2 AC 00 6B 1D A6 04 |INSTHDLR ...k...|
00000150: 3B 20 49 4E 53 54 41 4C 4C 20 54 48 45 20 B5 45 |; INSTALL THE .E|
00000160: 52 52 55 50 54 20 48 AF 4C 45 52 00 7F 1D B0 04 |RRUPT H.LER.....|
00000170: 4C 44 59 20 23 43 48 41 49 4E C3 20 AB 20 31 00 |LDY #CHAIN. . 1.|
00000180: 8C 1D BA 04 4C 44 41 20 23 24 45 41 00 AF 1D C4 |....LDA #$EA....|
00000190: 04 49 48 31 20 53 54 41 20 49 48 43 48 41 49 4E |.IH1 STA IHCHAIN|
000001A0: 2C 59 20 3B 50 55 54 20 4E 4F 50 53 20 49 4E 00 |,Y ;PUT NOPS IN.|
000001B0: D3 1D CE 04 44 45 59 20 20 20 20 20 20 20 20 20 |....DEY |
000001C0: 20 20 20 20 20 20 3B 20 48 AF 4C 45 52 20 43 48 | ; H.LER CH|
000001D0: 41 49 4E 00 DF 1D D8 04 42 50 4C 20 49 48 31 00 |AIN.....BPL IH1.|
000001E0: E5 1D E2 04 3B 00 ED 1D EC 04 50 48 50 00 F5 1D |....;.....PHP...|
000001F0: F6 04 53 45 49 00 18 1E 00 05 4C 44 41 20 24 30 |..SEI.....LDA $0|
00000200: 33 31 34 20 20 20 20 20 20 20 20 20 3B 94 20 49 |314 ;. I|
00000210: 52 51 20 56 45 43 A4 52 00 28 1E 0A 05 53 54 41 |RQ VEC.R.(...STA|
00000220: 20 B5 45 58 49 54 AA 31 00 35 1E 14 05 53 54 41 | .EXIT.1.5...STA|
00000230: 20 94 49 52 51 00 43 1E 1E 05 4C 44 41 20 24 30 | .IRQ.C...LDA $0|
00000240: 33 31 35 00 53 1E 28 05 53 54 41 20 B5 45 58 49 |315.S.(.STA .EXI|
00000250: 54 AA 32 00 62 1E 32 05 53 54 41 20 94 49 52 51 |T.2.b.2.STA .IRQ|
00000260: AA 31 00 68 1E 3C 05 3B 00 78 1E 46 05 4C 44 41 |.1.h.<.;.x.F.LDA|
00000270: 20 23 B3 48 AF 4C 45 52 00 99 1E 50 05 53 54 41 | #.H.LER...P.STA|
00000280: 20 24 30 33 31 34 20 3B 50 4F B5 20 56 45 43 A4 | $0314 ;PO. VEC.|
00000290: 52 20 A4 20 48 AF 4C 45 52 00 A9 1E 5A 05 4C 44 |R . H.LER...Z.LD|
000002A0: 41 20 23 B1 48 AF 4C 45 52 00 B7 1E 64 05 53 54 |A #.H.LER...d.ST|
000002B0: 41 20 24 30 33 31 35 00 BF 1E 6E 05 50 4C 50 00 |A $0315...n.PLP.|
000002C0: C5 1E 78 05 3B 00 CD 1E 82 05 52 54 53 00 D3 1E |..x.;.....RTS...|
000002D0: 8C 05 3B 00 D9 1E 96 05 3B 00 E9 1E A0 05 4B 49 |..;.....;.....KI|
000002E0: 4C 4C 48 44 4C 52 20 B2 AC 00 07 1F AA 05 3B 20 |LLHDLR .......; |
000002F0: 8C 20 49 52 51 53 20 41 53 20 42 45 81 45 20 49 |. IRQS AS BE.E I|
00000300: 4E 53 54 48 44 4C 52 00 0F 1F B4 05 50 48 50 00 |NSTHDLR.....PHP.|
00000310: 17 1F BE 05 53 45 49 00 24 1F C8 05 4C 44 41 20 |....SEI.$...LDA |
00000320: 94 49 52 51 00 43 1F D2 05 53 54 41 20 24 30 33 |.IRQ.C...STA $03|
00000330: 31 34 20 20 20 20 20 3B 8C 20 49 52 51 20 56 45 |14 ;. IRQ VE|
00000340: 43 A4 52 00 52 1F DC 05 4C 44 41 20 94 49 52 51 |C.R.R...LDA .IRQ|
00000350: AA 31 00 60 1F E6 05 53 54 41 20 24 30 33 31 35 |.1.`...STA $0315|
00000360: 00 68 1F F0 05 50 4C 50 00 70 1F FA 05 52 54 53 |.h...PLP.p...RTS|
00000370: 00 76 1F 04 06 3B 00 7C 1F 0E 06 3B 00 8B 1F 18 |.v...;.|...;....|
00000380: 06 41 44 44 53 52 56 52 20 B2 AC 00 AF 1F 22 06 |.ADDSRVR .....".|
00000390: 3B 20 41 44 44 53 20 52 4F 55 54 49 4E 45 20 41 |; ADDS ROUTINE A|
000003A0: 54 20 41 44 44 52 45 53 53 20 2E 41 AD 2E 59 00 |T ADDRESS .A..Y.|
000003B0: CA 1F 2C 06 3B 20 A4 20 54 48 45 20 B5 45 52 52 |..,.; . THE .ERR|
000003C0: 55 50 54 20 43 48 41 49 4E 3B 00 E5 1F 36 06 3B |UPT CHAIN;...6.;|
000003D0: 20 8E 53 20 54 48 45 20 4E 55 4D 42 45 52 20 4F | .S THE NUMBER O|
000003E0: 46 20 54 48 45 00 05 20 40 06 3B 20 53 45 52 56 |F THE.. @.; SERV|
000003F0: 45 52 20 49 4E 20 54 48 45 20 43 48 41 49 4E 20 |ER IN THE CHAIN |
00000400: 49 4E 20 2E 58 00 0B 20 4A 06 3B 00 13 20 54 06 |IN .X.. J.;.. T.|
00000410: 50 48 50 00 1B 20 5E 06 53 45 49 00 21 20 68 06 |PHP.. ^.SEI.! h.|
00000420: 3B 00 31 20 72 06 53 54 41 20 54 45 4D 50 56 45 |;.1 r.STA TEMPVE|
00000430: 43 00 43 20 7C 06 53 54 59 20 54 45 4D 50 56 45 |C.C |.STY TEMPVE|
00000440: 43 AA 31 00 49 20 86 06 3B 00 62 20 90 06 4C 44 |C.1.I ..;.b ..LD|
00000450: 41 20 23 24 32 30 20 20 20 20 20 20 20 20 3B 4A |A #$20 ;J|
00000460: 53 52 00 74 20 9A 06 4C 44 59 20 23 43 48 41 49 |SR.t ..LDY #CHAI|
00000470: 4E C3 AB 33 00 7F 20 A4 06 4C 44 58 20 23 33 00 |N..3.. ..LDX #3.|
00000480: A7 20 AE 06 41 49 53 31 20 43 4D 50 20 49 48 43 |. ..AIS1 CMP IHC|
00000490: 48 41 49 4E 2C 59 20 3B 53 4B 49 50 20 46 55 4C |HAIN,Y ;SKIP FUL|
000004A0: 4C 20 53 4C 4F 54 53 00 B4 20 B8 06 42 4E 45 20 |L SLOTS.. ..BNE |
000004B0: 41 49 53 32 00 BC 20 C2 06 44 45 59 00 C4 20 CC |AIS2.. ..DEY.. .|
000004C0: 06 44 45 59 00 CC 20 D6 06 44 45 59 00 D4 20 E0 |.DEY.. ..DEY.. .|
000004D0: 06 44 45 58 00 E1 20 EA 06 42 50 4C 20 41 49 53 |.DEX.. ..BPL AIS|
000004E0: 31 00 EE 20 F4 06 42 4D 49 20 41 49 53 33 00 05 |1.. ..BMI AIS3..|
000004F0: 21 FE 06 41 49 53 32 20 53 54 41 20 49 48 43 48 |!..AIS2 STA IHCH|
00000500: 41 49 4E 2C 59 00 1F 21 08 07 3B 20 50 55 54 20 |AIN,Y..!..; PUT |
00000510: 48 AF 4C 45 52 20 43 41 4C 4C 20 49 4E 20 82 00 |H.LER CALL IN ..|
00000520: 34 21 12 07 3B 20 41 56 41 49 4C 41 42 4C 45 20 |4!..; AVAILABLE |
00000530: 53 4C 4F 54 00 44 21 1C 07 4C 44 41 20 54 45 4D |SLOT.D!..LDA TEM|
00000540: 50 56 45 43 00 58 21 26 07 53 54 41 20 49 48 43 |PVEC.X!&.STA IHC|
00000550: 48 41 49 4E AA 31 2C 59 00 6A 21 30 07 4C 44 41 |HAIN.1,Y.j!0.LDA|
00000560: 20 54 45 4D 50 56 45 43 AA 31 00 7E 21 3A 07 53 | TEMPVEC.1.~!:.S|
00000570: 54 41 20 49 48 43 48 41 49 4E AA 32 2C 59 00 8C |TA IHCHAIN.2,Y..|
00000580: 21 44 07 41 49 53 33 20 20 50 4C 50 00 94 21 4E |!D.AIS3 PLP..!N|
00000590: 07 52 54 53 00 9A 21 58 07 3B 00 A0 21 62 07 3B |.RTS..!X.;..!b.;|
000005A0: 00 AD 21 6C 07 8F 53 52 56 52 20 3D 2A 00 CE 21 |..!l..SRVR =*..!|
000005B0: 76 07 3B 20 8F 4F 56 45 53 20 54 48 45 20 49 4E |v.; .OVES THE IN|
000005C0: 54 45 52 52 55 50 54 20 53 45 52 56 45 52 00 E3 |TERRUPT SERVER..|
000005D0: 21 80 07 3B 20 53 50 45 43 8B 49 45 44 20 49 4E |!..; SPEC.IED IN|
000005E0: 20 2E 58 00 00 22 8A 07 3B 20 46 52 4F 4D 20 54 | .X.."..; FROM T|
000005F0: 48 45 20 B5 45 52 52 55 50 54 20 43 48 41 49 4E |HE .ERRUPT CHAIN|
00000600: 00 08 22 94 07 50 48 50 00 10 22 9E 07 53 45 49 |.."..PHP.."..SEI|
00000610: 00 16 22 A8 07 3B 00 1E 22 B2 07 43 4C 43 00 29 |.."..;.."..CLC.)|
00000620: 22 BC 07 4C 44 41 20 23 30 00 37 22 C6 07 52 49 |"..LDA #0.7"..RI|
00000630: 53 31 20 20 44 45 58 00 44 22 D0 07 42 4D 49 20 |S1 DEX.D"..BMI |
00000640: 52 49 53 32 00 4F 22 DA 07 41 44 43 20 23 33 00 |RIS2.O"..ADC #3.|
00000650: 5C 22 E4 07 42 4E 45 20 52 49 53 31 00 6A 22 EE |\"..BNE RIS1.j".|
00000660: 07 52 49 53 32 20 20 54 41 59 00 90 22 F8 07 4C |.RIS2 TAY.."..L|
00000670: 44 41 20 23 24 45 41 20 20 20 20 3B 4E 4F 50 20 |DA #$EA ;NOP |
00000680: 4F 55 54 20 4A 53 52 20 A4 20 53 45 52 56 45 52 |OUT JSR . SERVER|
00000690: 00 A2 22 02 08 53 54 41 20 49 48 43 48 41 49 4E |.."..STA IHCHAIN|
000006A0: 2C 59 00 B6 22 0C 08 53 54 41 20 49 48 43 48 41 |,Y.."..STA IHCHA|
000006B0: 49 4E AA 31 2C 59 00 CA 22 16 08 53 54 41 20 49 |IN.1,Y.."..STA I|
000006C0: 48 43 48 41 49 4E AA 32 2C 59 00 D2 22 20 08 50 |HCHAIN.2,Y.." .P|
000006D0: 4C 50 00 DA 22 2A 08 52 54 53 00 E0 22 34 08 3B |LP.."*.RTS.."4.;|
000006E0: 00 E6 22 3E 08 3B 00 F3 22 48 08 48 AF 4C 45 52 |..">.;.."H.H.LER|
000006F0: 20 B2 AC 00 14 23 52 08 4A 53 52 20 49 48 43 48 | ....#R.JSR IHCH|
00000700: 41 49 4E 20 3B 45 58 45 43 55 54 45 20 53 45 52 |AIN ;EXECUTE SER|
00000710: 56 45 52 53 00 21 23 5C 08 B5 45 58 49 54 20 B2 |VERS.!#\..EXIT .|
00000720: AC 00 2F 23 66 08 4A 4D 50 20 24 45 41 33 31 00 |../#f.JMP $EA31.|
00000730: 50 23 70 08 3B 28 24 45 41 33 31 20 4D 4F 44 8B |P#p.;($EA31 MOD.|
00000740: 49 45 44 20 42 59 20 49 4E 53 54 48 44 4C 52 29 |IED BY INSTHDLR)|
00000750: 00 56 23 7A 08 3B 00 66 23 84 08 94 49 52 51 20 |.V#z.;.f#...IRQ |
00000760: 20 AC B2 AC AA 32 00 88 23 8E 08 3B B0 49 47 49 | ....2..#..;.IGI|
00000770: 4E 41 4C 20 49 52 51 20 56 45 43 A4 52 20 49 53 |NAL IRQ VEC.R IS|
00000780: 20 94 44 20 48 45 52 45 00 00 00 | .D HERE... |
....D..700.#...; .ERRUPT H.LER .TEM.)...
;.C...; INSTHDLR, KILLHDLR,.X...; ADDSRV
R, .SRVR.^...;.P...TEMPVEC . $FB.V.$.;..
...IHENTRIES . 4 ;MAX # OF . SERVERS...8
.; INCREASE . NECESSARY.L.B.;
...L.CHAINC . IHENTRIES . 3...V.;...
`.;...J.IHCHAIN ....CHAINC.'.T.; SERVER
CHAIN KES HERE./.~.RTS.5...;.;...;.K...
INSTHDLR ...K...; INSTALL THE .ERRUPT H.
LER....LDY #CHAINC . 1.....LDA #$EA...D
.IH1 STA IHCHAIN,Y ;PUT NOPS IN.S.N.DEY
; H.LER CHAIN...X.BPL IH1.
....;.....PHP.....SEI.....LDA $0314
;. IRQ VEC.R.(...STA .EXIT.1.5...STA
.IRQ.C...LDA $0315.S.(.STA .EXIT.2.B.2.
STA .IRQ.1.H.<.;.X.F.LDA #.H.LER...P.STA
$0314 ;PO. VEC.R . H.LER...Z.LDA #.H.LE
R...D.STA $0315...N.PLP.E.X.;.M...RTS.S.
..;.Y...;... .KILLHDLR .......; . IRQS A
S BE.E INSTHDLR.....PHP.....SEI.$.H.LDA
.IRQ.C.R.STA $0314 ;. IRQ VEC.R.R...
LDA .IRQ.1.`...STA $0315.H...PLP.P...RTS
.V...;.|...;.....ADDSRVR .....".; ADDS R
OUTINE AT ADDRESS .A..Y.J.,.; . THE .ERR
UPT CHAIN;...6.; .S THE NUMBER OF THE..
@.; SERVER IN THE CHAIN IN .X.. J.;.. T.
PHP.. ^.SEI.! H.;.1 R.STA TEMPVEC.C |.ST
Y TEMPVEC.1.I ..;.B ..LDA #$20 ;J
SR.T ..LDY #CHAINC.3. ..LDX #3.. ..AIS1
CMP IHCHAIN,Y ;SKIP FULL SLOTS.. ..BNE
AIS2.. B.DEY.D L.DEY.L V.DEY.T ..DEX.. .
.BPL AIS1.. ..BMI AIS3..!..AIS2 STA IHCH
AIN,Y..!..; PUT H.LER CALL IN ..4!..; AV
AILABLE SLOT.D!..LDA TEMPVEC.X!&.STA IHC
HAIN.1,Y.J!0.LDA TEMPVEC.1.~!:.STA IHCHA
IN.2,Y..!D.AIS3 PLP..!N.RTS..!X.;. !B.;
..!L..SRVR =*.N!V.; .OVES THE INTERRUPT
SERVER..!..; SPEC.IED IN .X.."..; FROM T
HE .ERRUPT CHAIN.."..PHP.."..SEI.."..;..
"..CLC.)"..LDA #0.7"F.RIS1 DEX.D"P.BMI
RIS2.O"Z.ADC #3.\"..BNE RIS1.J"..RIS2 T
AY.."..LDA #$EA ;NOP OUT JSR . SERVER
.."..STA IHCHAIN,Y.."..STA IHCHAIN.1,Y.J
"..STA IHCHAIN.2,Y.R" .PLP.Z"*.RTS.."4.;
..">.;.."H.H.LER ....#R.JSR IHCHAIN ;EXE
CUTE SERVERS.!#\..EXIT .../#F.JMP $EA31.
P#P.;($EA31 MOD.IED BY INSTHDLR).V#Z.;.F
#...IRQ ....2..#..;.IGINAL IRQ VEC.R IS
.D HERE...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL