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

IRQ-HANDLER.SRC

FILE INFORMATION

FILENAME(S): IRQ-HANDLER.SRC

FILE TYPE(S): PRG

FILE SIZE: 1.3K

FIRST SEEN: 2025-11-30 01:13:04

APPEARS ON: 1 disk(s)

FILE HASH

f2c52af754e3371cecac5f40be5a5937ea41beec8a4d987d73cbb804a991c238

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
10307 SEITE A IRQ-HANDLER.SRC PRG C64er 29 2 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 14 2D 29 2D E8 03 20 2E  47 4C 49 52 51 56 45 43  |.-)-.. .GLIRQVEC|
00000010: 3D 24 30 33 31 34 00 3E  2D F2 03 20 2E 47 4C 49  |=$0314.>-.. .GLI|
00000020: 52 51 4F 4C 44 3D 24 45  41 33 31 00 53 2D FC 03  |RQOLD=$EA31.S-..|
00000030: 20 2E 47 4C 4D 41 49 4E  4D 41 53 4B 3D 31 32 34  | .GLMAINMASK=124|
00000040: 00 68 2D 06 04 20 2E 47  4C 4D 41 49 4E 5A 41 48  |.h-.. .GLMAINZAH|
00000050: 4C 3D 31 32 35 00 7D 2D  10 04 20 2E 47 4C 4D 41  |L=125.}-.. .GLMA|
00000060: 49 4E 53 41 56 45 3D 31  32 36 00 83 2D 1A 04 3B  |INSAVE=126..-..;|
00000070: 00 A8 2D 24 04 4D 41 49  4E 49 52 51 20 4C 44 41  |..-$.MAINIRQ LDA|
00000080: 4D 41 49 4E 4D 41 53 4B  3B 20 4D 41 53 4B 45 20  |MAINMASK; MASKE |
00000090: 4C 41 44 45 4E 00 C6 2D  2E 04 20 42 45 51 45 4E  |LADEN..-.. BEQEN|
000000A0: 44 49 52 51 3B 20 57 45  4E 4E 20 30 20 45 4E 44  |DIRQ; WENN 0 END|
000000B0: 49 52 51 00 E2 2D 38 04  4D 31 20 4C 53 52 3B 20  |IRQ..-8.M1 LSR; |
000000C0: 42 49 54 20 30 20 47 45  53 45 54 5A 54 20 3F 00  |BIT 0 GESETZT ?.|
000000D0: F9 2D 42 04 20 42 43 53  4D 32 3B 20 57 45 4E 4E  |.-B. BCSM2; WENN|
000000E0: 20 4A 41 20 4D 32 00 1C  2E 4C 04 20 49 4E 43 4D  | JA M2...L. INCM|
000000F0: 41 49 4E 5A 41 48 4C 3B  20 45 52 48 4F 45 48 45  |AINZAHL; ERHOEHE|
00000100: 20 4D 41 49 4E 5A 41 48  4C 00 33 2E 56 04 20 49  | MAINZAHL.3.V. I|
00000110: 4E 43 4D 41 49 4E 5A 41  48 4C 3B 20 55 4D 20 32  |NCMAINZAHL; UM 2|
00000120: 00 5A 2E 60 04 20 4C 44  58 4D 41 49 4E 5A 41 48  |.Z.`. LDXMAINZAH|
00000130: 4C 3B 20 4D 41 49 4E 5A  41 48 4C 20 49 4E 20 58  |L; MAINZAHL IN X|
00000140: 20 2D 20 52 45 47 2E 00  6D 2E 6A 04 20 43 50 58  | - REG..m.j. CPX|
00000150: 23 31 36 3B 20 3E 3D 20  31 36 00 89 2E 74 04 20  |#16; >= 16...t. |
00000160: 42 43 53 45 4E 44 49 52  51 3B 20 4A 41 20 2C 20  |BCSENDIRQ; JA , |
00000170: 45 4E 44 49 52 51 00 9F  2E 7E 04 20 4A 4D 50 4D  |ENDIRQ...~. JMPM|
00000180: 31 3B 20 4E 45 49 4E 20  2C 20 4D 31 00 A5 2E 88  |1; NEIN , M1....|
00000190: 04 3B 00 CC 2E 92 04 4D  32 20 4C 44 58 4D 41 49  |.;.....M2 LDXMAI|
000001A0: 4E 5A 41 48 4C 3B 20 4D  41 49 4E 5A 41 48 4C 20  |NZAHL; MAINZAHL |
000001B0: 49 4E 20 58 2D 52 45 47  2E 00 05 2F 9C 04 20 53  |IN X-REG.../.. S|
000001C0: 54 41 4D 41 49 4E 53 41  56 45 3B 20 4D 41 49 4E  |TAMAINSAVE; MAIN|
000001D0: 4D 41 53 4B 20 41 4B 54  55 45 4C 4C 20 49 4E 20  |MASK AKTUELL IN |
000001E0: 4D 41 49 4E 53 41 56 45  20 53 50 45 49 43 48 45  |MAINSAVE SPEICHE|
000001F0: 52 4E 00 32 2F A6 04 20  4C 44 41 52 4F 55 54 54  |RN.2/.. LDAROUTT|
00000200: 41 42 2C 58 3B 20 48 49  2D 42 59 54 45 20 44 45  |AB,X; HI-BYTE DE|
00000210: 52 20 52 4F 55 54 49 4E  45 20 48 4F 4C 45 4E 00  |R ROUTINE HOLEN.|
00000220: 61 2F B0 04 20 53 54 41  49 52 51 4F 55 54 2B 31  |a/.. STAIRQOUT+1|
00000230: 3B 20 55 4E 44 20 44 49  52 45 4B 54 20 49 4E 20  |; UND DIREKT IN |
00000240: 43 4F 44 45 20 53 50 45  49 43 48 45 52 4E 00 7B  |CODE SPEICHERN.{|
00000250: 2F BA 04 20 49 4E 58 3B  20 58 2D 52 45 47 2E 20  |/.. INX; X-REG. |
00000260: 45 52 48 4F 45 48 45 4E  00 A8 2F C4 04 20 4C 44  |ERHOEHEN../.. LD|
00000270: 41 52 4F 55 54 54 41 42  2C 58 3B 20 4C 4F 2D 42  |AROUTTAB,X; LO-B|
00000280: 59 54 45 20 44 45 52 20  52 4F 55 54 49 4E 45 20  |YTE DER ROUTINE |
00000290: 48 4F 4C 45 4E 00 DE 2F  CE 04 20 53 54 41 49 52  |HOLEN../.. STAIR|
000002A0: 51 4F 55 54 2B 32 3B 20  55 4E 44 20 57 49 45 44  |QOUT+2; UND WIED|
000002B0: 45 52 20 44 49 52 45 4B  54 20 49 4E 20 43 4F 44  |ER DIREKT IN COD|
000002C0: 45 20 53 43 48 52 45 49  42 45 4E 00 00 30 D8 04  |E SCHREIBEN..0..|
000002D0: 20 4A 4D 50 49 52 51 4F  55 54 3B 20 53 50 52 49  | JMPIRQOUT; SPRI|
000002E0: 4E 47 45 20 5A 55 20 49  52 51 4F 55 54 00 06 30  |NGE ZU IRQOUT..0|
000002F0: E2 04 3B 00 26 30 EC 04  45 4E 44 49 52 51 20 4C  |..;.&0..ENDIRQ L|
00000300: 44 41 23 30 30 3B 20 4D  41 49 4E 5A 41 48 4C 20  |DA#00; MAINZAHL |
00000310: 41 55 46 00 48 30 F6 04  20 53 54 41 4D 41 49 4E  |AUF.H0.. STAMAIN|
00000320: 5A 41 48 4C 3B 20 30 20  5A 55 52 55 45 43 4B 53  |ZAHL; 0 ZURUECKS|
00000330: 45 54 5A 45 4E 00 71 30  00 05 20 4A 4D 50 49 52  |ETZEN.q0.. JMPIR|
00000340: 51 4F 4C 44 3B 20 41 4C  54 45 20 49 52 51 52 4F  |QOLD; ALTE IRQRO|
00000350: 55 54 49 4E 45 20 41 55  46 52 55 46 45 4E 00 77  |UTINE AUFRUFEN.w|
00000360: 30 0A 05 3B 00 AC 30 14  05 49 52 51 4F 55 54 20  |0..;..0..IRQOUT |
00000370: 4A 53 52 24 46 46 46 46  3B 20 52 4F 55 54 49 4E  |JSR$FFFF; ROUTIN|
00000380: 45 20 41 4C 53 20 53 55  42 52 4F 55 54 49 4E 45  |E ALS SUBROUTINE|
00000390: 20 41 55 46 52 55 46 45  4E 00 DE 30 1E 05 20 4C  | AUFRUFEN..0.. L|
000003A0: 44 41 4D 41 49 4E 53 41  56 45 3B 20 56 4F 52 48  |DAMAINSAVE; VORH|
000003B0: 45 52 49 47 45 20 4D 41  49 4E 4D 41 53 4B 20 57  |ERIGE MAINMASK W|
000003C0: 49 45 44 45 52 20 4C 41  44 45 4E 00 FB 30 28 05  |IEDER LADEN..0(.|
000003D0: 20 49 4E 43 4D 41 49 4E  5A 41 48 4C 3B 20 5A 41  | INCMAINZAHL; ZA|
000003E0: 45 48 4C 45 52 20 55 4D  00 1B 31 32 05 20 49 4E  |EHLER UM..12. IN|
000003F0: 43 4D 41 49 4E 5A 41 48  4C 3B 20 5A 57 45 49 20  |CMAINZAHL; ZWEI |
00000400: 45 52 48 4F 45 48 45 4E  00 34 31 3C 05 20 4A 4D  |ERHOEHEN.41<. JM|
00000410: 50 4D 31 3B 20 57 49 45  44 45 52 20 5A 55 20 4D  |PM1; WIEDER ZU M|
00000420: 31 00 3A 31 46 05 3B 00  69 31 50 05 52 4F 55 54  |1.:1F.;.i1P.ROUT|
00000430: 54 41 42 20 2E 57 4F 30  3B 20 52 4F 55 54 49 4E  |TAB .WO0; ROUTIN|
00000440: 45 20 46 55 45 52 20 47  45 53 45 54 5A 54 45 53  |E FUER GESETZTES|
00000450: 20 42 49 54 20 30 00 93  31 5A 05 52 31 20 2E 57  | BIT 0..1Z.R1 .W|
00000460: 4F 30 3B 20 52 4F 55 54  49 4E 45 20 46 55 45 52  |O0; ROUTINE FUER|
00000470: 20 47 45 53 45 54 5A 54  45 53 20 42 49 54 20 31  | GESETZTES BIT 1|
00000480: 00 BD 31 64 05 52 32 20  2E 57 4F 30 3B 20 52 4F  |..1d.R2 .WO0; RO|
00000490: 55 54 49 4E 45 20 46 55  45 52 20 47 45 53 45 54  |UTINE FUER GESET|
000004A0: 5A 54 45 53 20 42 49 54  20 32 00 D0 31 6E 05 52  |ZTES BIT 2..1n.R|
000004B0: 33 20 2E 57 4F 30 3B 20  42 49 54 20 33 00 E3 31  |3 .WO0; BIT 3..1|
000004C0: 78 05 52 34 20 2E 57 4F  30 3B 20 42 49 54 20 34  |x.R4 .WO0; BIT 4|
000004D0: 00 F6 31 82 05 52 35 20  2E 57 4F 30 3B 20 42 49  |..1..R5 .WO0; BI|
000004E0: 54 20 35 00 09 32 8C 05  52 36 20 2E 57 4F 30 3B  |T 5..2..R6 .WO0;|
000004F0: 20 42 49 54 20 36 00 1C  32 96 05 52 37 20 2E 57  | BIT 6..2..R7 .W|
00000500: 4F 30 3B 20 42 49 54 20  37 00 00 00              |O0; BIT 7...    |
.-)-.. .GLIRQVEC=$0314.>-.. .GLIRQOLD=$E
A31.S-.. .GLMAINMASK=124.H-.. .GLMAINZAH
L=125.}-.. .GLMAINSAVE=126..-..;..-$.MAI
NIRQ LDAMAINMASK; MASKE LADEN.F-.. BEQEN
DIRQ; WENN 0 ENDIRQ..-8.M1 LSR; BIT 0 GE
SETZT ?..-B. BCSM2; WENN JA M2...L. INCM
AINZAHL; ERHOEHE MAINZAHL.3.V. INCMAINZA
HL; UM 2.Z.`. LDXMAINZAHL; MAINZAHL IN X
 - REG..M.J. CPX#16; >= 16...T. BCSENDIR
Q; JA , ENDIRQ...~. JMPM1; NEIN , M1....
.;.L...M2 LDXMAINZAHL; MAINZAHL IN X-REG
.../.. STAMAINSAVE; MAINMASK AKTUELL IN 
MAINSAVE SPEICHERN.2/.. LDAROUTTAB,X; HI
-BYTE DER ROUTINE HOLEN.A/.. STAIRQOUT+1
; UND DIREKT IN CODE SPEICHERN.{/.. INX;
 X-REG. ERHOEHEN../D. LDAROUTTAB,X; LO-B
YTE DER ROUTINE HOLEN../N. STAIRQOUT+2; 
UND WIEDER DIREKT IN CODE SCHREIBEN..0X.
 JMPIRQOUT; SPRINGE ZU IRQOUT..0..;.&0..
ENDIRQ LDA#00; MAINZAHL AUF.H0.. STAMAIN
ZAHL; 0 ZURUECKSETZEN.Q0.. JMPIRQOLD; AL
TE IRQROUTINE AUFRUFEN.W0..;..0..IRQOUT 
JSR$FFFF; ROUTINE ALS SUBROUTINE AUFRUFE
N..0.. LDAMAINSAVE; VORHERIGE MAINMASK W
IEDER LADEN..0(. INCMAINZAHL; ZAEHLER UM
..12. INCMAINZAHL; ZWEI ERHOEHEN.41<. JM
PM1; WIEDER ZU M1.:1F.;.I1P.ROUTTAB .WO0
; ROUTINE FUER GESETZTES BIT 0..1Z.R1 .W
O0; ROUTINE FUER GESETZTES BIT 1..1D.R2 
.WO0; ROUTINE FUER GESETZTES BIT 2.P1N.R
3 .WO0; BIT 3..1X.R4 .WO0; BIT 4..1..R5 
.WO0; BIT 5..2..R6 .WO0; BIT 6..2..R7 .W
O0; BIT 7...
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL