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

INTHANDLER.PAL

FILE INFORMATION

FILENAME(S): INTHANDLER.PAL

FILE TYPE(S): PRG

FILE SIZE: 1.9K

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

APPEARS ON: 1 disk(s)

FILE HASH

00068fc8656ef1429f0c7302964d9883dca07bef3a95b6e85e907cd61c427e75

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
TRANSACTOR DISK INTHANDLER.PAL PRG DuncanTwain 24 2 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

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 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL