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