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

BEISPIEL.SRC

FILE INFORMATION

FILENAME(S): BEISPIEL.SRC

FILE TYPE(S): PRG

FILE SIZE: 2.2K

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

APPEARS ON: 1 disk(s)

FILE HASH

fc25ca18c78a7d775808b3c8fb11043c7e6c5a5ec00d7c31d0940b8ebfc4b44c

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
10307 SEITE A BEISPIEL.SRC PRG C64er 29 6 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 14 2D 36 2D 0A 00 20 2E  42 41 24 43 30 30 30 3B  |.-6-.. .BA$C000;|
00000010: 20 53 54 41 52 54 41 44  52 45 53 53 45 20 34 39  | STARTADRESSE 49|
00000020: 31 35 32 00 4B 2D 14 00  20 2E 47 4C 49 52 51 56  |152.K-.. .GLIRQV|
00000030: 45 43 3D 24 30 33 31 34  00 60 2D 1E 00 20 2E 47  |EC=$0314.`-.. .G|
00000040: 4C 49 52 51 4F 4C 44 3D  24 45 41 33 31 00 75 2D  |LIRQOLD=$EA31.u-|
00000050: 28 00 20 2E 47 4C 4D 41  49 4E 4D 41 53 4B 3D 31  |(. .GLMAINMASK=1|
00000060: 32 34 00 8A 2D 32 00 20  2E 47 4C 4D 41 49 4E 5A  |24..-2. .GLMAINZ|
00000070: 41 48 4C 3D 31 32 35 00  9F 2D 3C 00 20 2E 47 4C  |AHL=125..-<. .GL|
00000080: 4D 41 49 4E 53 41 56 45  3D 31 32 36 00 A5 2D 46  |MAINSAVE=126..-F|
00000090: 00 3B 00 C4 2D 50 00 53  45 54 49 52 51 4E 45 57  |.;..-P.SETIRQNEW|
000000A0: 20 53 45 49 3B 20 49 52  51 20 53 50 45 52 52 45  | SEI; IRQ SPERRE|
000000B0: 4E 00 E2 2D 5A 00 20 4C  44 41 23 3C 28 4D 41 49  |N..-Z. LDA#<(MAI|
000000C0: 4E 49 52 51 29 3B 20 4C  4F 20 2D 20 55 4E 44 00  |NIRQ); LO - UND.|
000000D0: 10 2E 64 00 20 4C 44 58  23 3E 28 4D 41 49 4E 49  |..d. LDX#>(MAINI|
000000E0: 52 51 29 3B 20 48 49 20  2D 20 42 59 54 45 20 44  |RQ); HI - BYTE D|
000000F0: 45 53 20 49 52 51 56 45  4B 54 4F 52 53 00 28 2E  |ES IRQVEKTORS.(.|
00000100: 6E 00 20 53 54 41 49 52  51 56 45 43 3B 20 41 55  |n. STAIRQVEC; AU|
00000110: 46 20 44 45 4E 00 50 2E  78 00 20 53 54 58 49 52  |F DEN.P.x. STXIR|
00000120: 51 56 45 43 2B 31 3B 20  49 52 51 2D 48 41 4E 44  |QVEC+1; IRQ-HAND|
00000130: 4C 45 52 20 56 45 52 42  49 45 47 45 4E 00 66 2E  |LER VERBIEGEN.f.|
00000140: 82 00 20 4C 44 59 23 30  30 3B 20 4D 41 49 4E 5A  |.. LDY#00; MAINZ|
00000150: 41 48 4C 00 85 2E 8C 00  20 53 54 59 4D 41 49 4E  |AHL..... STYMAIN|
00000160: 5A 41 48 4C 3B 20 41 55  46 20 30 20 53 45 54 5A  |ZAHL; AUF 0 SETZ|
00000170: 45 4E 00 B0 2E 96 00 20  53 54 59 31 39 38 3B 20  |EN..... STY198; |
00000180: 4B 45 49 4E 45 20 54 41  53 54 45 20 49 4E 20 54  |KEINE TASTE IN T|
00000190: 41 53 54 41 54 55 52 50  55 46 46 45 52 00 D2 2E  |ASTATURPUFFER...|
000001A0: A0 00 20 4C 44 41 23 25  30 30 30 30 30 31 31 31  |.. LDA#%00000111|
000001B0: 3B 20 4D 41 49 4E 4D 41  53 4B 20 46 55 45 52 00  |; MAINMASK FUER.|
000001C0: F9 2E AA 00 20 53 54 41  4D 41 49 4E 4D 41 53 4B  |.... STAMAINMASK|
000001D0: 3B 20 44 52 45 49 20 52  4F 55 54 49 4E 45 4E 20  |; DREI ROUTINEN |
000001E0: 53 45 54 5A 45 4E 00 0C  2F B4 00 20 4C 44 58 23  |SETZEN../.. LDX#|
000001F0: 36 34 3B 20 4B 45 49 4E  45 00 2A 2F BE 00 20 53  |64; KEINE.*/.. S|
00000200: 54 58 32 30 33 3B 20 47  45 44 52 55 45 43 4B 54  |TX203; GEDRUECKT|
00000210: 45 20 54 41 53 54 45 00  49 2F C8 00 20 43 4C 49  |E TASTE.I/.. CLI|
00000220: 3B 20 49 52 51 20 57 49  45 44 45 52 20 46 52 45  |; IRQ WIEDER FRE|
00000230: 49 47 45 42 45 4E 00 72  2F D2 00 20 4A 4D 50 49  |IGEBEN.r/.. JMPI|
00000240: 52 51 4F 4C 44 3B 20 41  4C 54 45 20 49 52 51 52  |RQOLD; ALTE IRQR|
00000250: 4F 55 54 49 4E 45 20 41  55 46 52 55 46 45 4E 00  |OUTINE AUFRUFEN.|
00000260: 78 2F DC 00 3B 00 A3 2F  E6 00 52 41 43 4F 4C 4F  |x/..;../..RACOLO|
00000270: 52 20 49 4E 43 35 33 32  38 30 3B 20 52 41 48 4D  |R INC53280; RAHM|
00000280: 45 4E 46 41 52 42 45 20  45 52 48 4F 45 48 45 4E  |ENFARBE ERHOEHEN|
00000290: 00 B5 2F F0 00 20 52 54  53 3B 20 5A 55 52 55 45  |../.. RTS; ZURUE|
000002A0: 43 4B 00 BB 2F FA 00 3B  00 EB 2F 04 01 42 4B 43  |CK../..;../..BKC|
000002B0: 4F 4C 4F 52 20 49 4E 43  35 33 32 38 31 3B 20 48  |OLOR INC53281; H|
000002C0: 49 4E 54 45 52 47 52 55  4E 44 46 41 52 42 45 20  |INTERGRUNDFARBE |
000002D0: 45 52 48 4F 45 48 45 4E  00 01 30 0E 01 20 52 54  |ERHOEHEN..0.. RT|
000002E0: 53 3B 20 55 4E 44 20 5A  55 52 55 45 43 4B 00 07  |S; UND ZURUECK..|
000002F0: 30 18 01 3B 00 22 30 22  01 54 41 53 54 45 20 4C  |0..;."0".TASTE L|
00000300: 44 41 32 30 33 3B 20 54  41 53 54 45 20 46 31 00  |DA203; TASTE F1.|
00000310: 3A 30 2C 01 20 43 4D 50  23 34 3B 20 47 45 44 52  |:0,. CMP#4; GEDR|
00000320: 55 45 43 4B 54 20 3F 00  56 30 36 01 20 42 45 51  |UECKT ?.V06. BEQ|
00000330: 54 31 3B 20 57 45 4E 4E  20 4A 41 20 44 41 4E 4E  |T1; WENN JA DANN|
00000340: 20 54 31 00 6E 30 40 01  20 52 54 53 3B 20 53 4F  | T1.n0@. RTS; SO|
00000350: 4E 53 54 20 5A 55 52 55  45 43 4B 00 86 30 4A 01  |NST ZURUECK..0J.|
00000360: 54 31 20 53 45 49 3B 20  49 52 51 20 53 50 45 52  |T1 SEI; IRQ SPER|
00000370: 52 45 4E 00 A0 30 54 01  20 4C 44 41 23 30 30 3B  |REN..0T. LDA#00;|
00000380: 20 4D 41 49 4E 4D 41 53  4B 20 55 4E 44 00 BB 30  | MAINMASK UND..0|
00000390: 5E 01 20 53 54 41 4D 41  49 4E 4D 41 53 4B 3B 20  |^. STAMAINMASK; |
000003A0: 4D 41 49 4E 53 41 56 45  00 DA 30 68 01 20 53 54  |MAINSAVE..0h. ST|
000003B0: 41 4D 41 49 4E 53 41 56  45 3B 20 41 55 46 20 30  |AMAINSAVE; AUF 0|
000003C0: 20 53 45 54 5A 45 4E 00  F1 30 72 01 20 43 4C 49  | SETZEN..0r. CLI|
000003D0: 3B 20 49 52 51 20 5A 55  4C 41 53 53 45 4E 00 03  |; IRQ ZULASSEN..|
000003E0: 31 7C 01 20 52 54 53 3B  20 5A 55 52 55 45 43 4B  |1|. RTS; ZURUECK|
000003F0: 00 09 31 86 01 3B 00 2E  31 90 01 4D 41 49 4E 49  |..1..;..1..MAINI|
00000400: 52 51 20 4C 44 41 4D 41  49 4E 4D 41 53 4B 3B 20  |RQ LDAMAINMASK; |
00000410: 4D 41 53 4B 45 20 4C 41  44 45 4E 00 4C 31 9A 01  |MASKE LADEN.L1..|
00000420: 20 42 45 51 45 4E 44 49  52 51 3B 20 57 45 4E 4E  | BEQENDIRQ; WENN|
00000430: 20 30 20 45 4E 44 49 52  51 00 68 31 A4 01 4D 31  | 0 ENDIRQ.h1..M1|
00000440: 20 4C 53 52 3B 20 42 49  54 20 30 20 47 45 53 45  | LSR; BIT 0 GESE|
00000450: 54 5A 54 20 3F 00 7F 31  AE 01 20 42 43 53 4D 32  |TZT ?..1.. BCSM2|
00000460: 3B 20 57 45 4E 4E 20 4A  41 20 4D 32 00 A2 31 B8  |; WENN JA M2..1.|
00000470: 01 20 49 4E 43 4D 41 49  4E 5A 41 48 4C 3B 20 45  |. INCMAINZAHL; E|
00000480: 52 48 4F 45 48 45 20 4D  41 49 4E 5A 41 48 4C 00  |RHOEHE MAINZAHL.|
00000490: B9 31 C2 01 20 49 4E 43  4D 41 49 4E 5A 41 48 4C  |.1.. INCMAINZAHL|
000004A0: 3B 20 55 4D 20 32 00 E0  31 CC 01 20 4C 44 58 4D  |; UM 2..1.. LDXM|
000004B0: 41 49 4E 5A 41 48 4C 3B  20 4D 41 49 4E 5A 41 48  |AINZAHL; MAINZAH|
000004C0: 4C 20 49 4E 20 58 20 2D  20 52 45 47 2E 00 F3 31  |L IN X - REG...1|
000004D0: D6 01 20 43 50 58 23 31  36 3B 20 3E 3D 20 31 36  |.. CPX#16; >= 16|
000004E0: 00 0F 32 E0 01 20 42 43  53 45 4E 44 49 52 51 3B  |..2.. BCSENDIRQ;|
000004F0: 20 4A 41 20 2C 20 45 4E  44 49 52 51 00 25 32 EA  | JA , ENDIRQ.%2.|
00000500: 01 20 4A 4D 50 4D 31 3B  20 4E 45 49 4E 20 2C 20  |. JMPM1; NEIN , |
00000510: 4D 31 00 2B 32 F4 01 3B  00 52 32 FE 01 4D 32 20  |M1.+2..;.R2..M2 |
00000520: 4C 44 58 4D 41 49 4E 5A  41 48 4C 3B 20 4D 41 49  |LDXMAINZAHL; MAI|
00000530: 4E 5A 41 48 4C 20 49 4E  20 58 2D 52 45 47 2E 00  |NZAHL IN X-REG..|
00000540: 8B 32 08 02 20 53 54 41  4D 41 49 4E 53 41 56 45  |.2.. STAMAINSAVE|
00000550: 3B 20 4D 41 49 4E 4D 41  53 4B 20 41 4B 54 55 45  |; MAINMASK AKTUE|
00000560: 4C 4C 20 49 4E 20 4D 41  49 4E 53 41 56 45 20 53  |LL IN MAINSAVE S|
00000570: 50 45 49 43 48 45 52 4E  00 B8 32 12 02 20 4C 44  |PEICHERN..2.. LD|
00000580: 41 52 4F 55 54 54 41 42  2C 58 3B 20 48 49 2D 42  |AROUTTAB,X; HI-B|
00000590: 59 54 45 20 44 45 52 20  52 4F 55 54 49 4E 45 20  |YTE DER ROUTINE |
000005A0: 48 4F 4C 45 4E 00 E7 32  1C 02 20 53 54 41 49 52  |HOLEN..2.. STAIR|
000005B0: 51 4F 55 54 2B 31 3B 20  55 4E 44 20 44 49 52 45  |QOUT+1; UND DIRE|
000005C0: 4B 54 20 49 4E 20 43 4F  44 45 20 53 50 45 49 43  |KT IN CODE SPEIC|
000005D0: 48 45 52 4E 00 01 33 26  02 20 49 4E 58 3B 20 58  |HERN..3&. INX; X|
000005E0: 2D 52 45 47 2E 20 45 52  48 4F 45 48 45 4E 00 2E  |-REG. ERHOEHEN..|
000005F0: 33 30 02 20 4C 44 41 52  4F 55 54 54 41 42 2C 58  |30. LDAROUTTAB,X|
00000600: 3B 20 4C 4F 2D 42 59 54  45 20 44 45 52 20 52 4F  |; LO-BYTE DER RO|
00000610: 55 54 49 4E 45 20 48 4F  4C 45 4E 00 64 33 3A 02  |UTINE HOLEN.d3:.|
00000620: 20 53 54 41 49 52 51 4F  55 54 2B 32 3B 20 55 4E  | STAIRQOUT+2; UN|
00000630: 44 20 57 49 45 44 45 52  20 44 49 52 45 4B 54 20  |D WIEDER DIREKT |
00000640: 49 4E 20 43 4F 44 45 20  53 43 48 52 45 49 42 45  |IN CODE SCHREIBE|
00000650: 4E 00 86 33 44 02 20 4A  4D 50 49 52 51 4F 55 54  |N..3D. JMPIRQOUT|
00000660: 3B 20 53 50 52 49 4E 47  45 20 5A 55 20 49 52 51  |; SPRINGE ZU IRQ|
00000670: 4F 55 54 00 8C 33 4E 02  3B 00 AC 33 58 02 45 4E  |OUT..3N.;..3X.EN|
00000680: 44 49 52 51 20 4C 44 41  23 30 30 3B 20 4D 41 49  |DIRQ LDA#00; MAI|
00000690: 4E 5A 41 48 4C 20 41 55  46 00 CE 33 62 02 20 53  |NZAHL AUF..3b. S|
000006A0: 54 41 4D 41 49 4E 5A 41  48 4C 3B 20 30 20 5A 55  |TAMAINZAHL; 0 ZU|
000006B0: 52 55 45 43 4B 53 45 54  5A 45 4E 00 F7 33 6C 02  |RUECKSETZEN..3l.|
000006C0: 20 4A 4D 50 49 52 51 4F  4C 44 3B 20 41 4C 54 45  | JMPIRQOLD; ALTE|
000006D0: 20 49 52 51 52 4F 55 54  49 4E 45 20 41 55 46 52  | IRQROUTINE AUFR|
000006E0: 55 46 45 4E 00 FD 33 76  02 3B 00 32 34 80 02 49  |UFEN..3v.;.24..I|
000006F0: 52 51 4F 55 54 20 4A 53  52 24 46 46 46 46 3B 20  |RQOUT JSR$FFFF; |
00000700: 52 4F 55 54 49 4E 45 20  41 4C 53 20 53 55 42 52  |ROUTINE ALS SUBR|
00000710: 4F 55 54 49 4E 45 20 41  55 46 52 55 46 45 4E 00  |OUTINE AUFRUFEN.|
00000720: 64 34 8A 02 20 4C 44 41  4D 41 49 4E 53 41 56 45  |d4.. LDAMAINSAVE|
00000730: 3B 20 56 4F 52 48 45 52  49 47 45 20 4D 41 49 4E  |; VORHERIGE MAIN|
00000740: 4D 41 53 4B 20 57 49 45  44 45 52 20 4C 41 44 45  |MASK WIEDER LADE|
00000750: 4E 00 81 34 94 02 20 49  4E 43 4D 41 49 4E 5A 41  |N..4.. INCMAINZA|
00000760: 48 4C 3B 20 5A 41 45 48  4C 45 52 20 55 4D 00 A1  |HL; ZAEHLER UM..|
00000770: 34 9E 02 20 49 4E 43 4D  41 49 4E 5A 41 48 4C 3B  |4.. INCMAINZAHL;|
00000780: 20 5A 57 45 49 20 45 52  48 4F 45 48 45 4E 00 BA  | ZWEI ERHOEHEN..|
00000790: 34 A8 02 20 4A 4D 50 4D  31 3B 20 57 49 45 44 45  |4.. JMPM1; WIEDE|
000007A0: 52 20 5A 55 20 4D 31 00  C0 34 B2 02 3B 00 F5 34  |R ZU M1..4..;..4|
000007B0: BC 02 52 4F 55 54 54 41  42 20 2E 57 4F 52 41 43  |..ROUTTAB .WORAC|
000007C0: 4F 4C 4F 52 3B 20 52 4F  55 54 49 4E 45 20 46 55  |OLOR; ROUTINE FU|
000007D0: 45 52 20 47 45 53 45 54  5A 54 45 53 20 42 49 54  |ER GESETZTES BIT|
000007E0: 20 30 00 25 35 C6 02 52  31 20 2E 57 4F 42 4B 43  | 0.%5..R1 .WOBKC|
000007F0: 4F 4C 4F 52 3B 20 52 4F  55 54 49 4E 45 20 46 55  |OLOR; ROUTINE FU|
00000800: 45 52 20 47 45 53 45 54  5A 54 45 53 20 42 49 54  |ER GESETZTES BIT|
00000810: 20 31 00 53 35 D0 02 52  32 20 2E 57 4F 54 41 53  | 1.S5..R2 .WOTAS|
00000820: 54 45 3B 20 52 4F 55 54  49 4E 45 20 46 55 45 52  |TE; ROUTINE FUER|
00000830: 20 47 45 53 45 54 5A 54  45 53 20 42 49 54 20 32  | GESETZTES BIT 2|
00000840: 00 66 35 DA 02 52 33 20  2E 57 4F 30 3B 20 42 49  |.f5..R3 .WO0; BI|
00000850: 54 20 33 00 79 35 E4 02  52 34 20 2E 57 4F 30 3B  |T 3.y5..R4 .WO0;|
00000860: 20 42 49 54 20 34 00 8C  35 EE 02 52 35 20 2E 57  | BIT 4..5..R5 .W|
00000870: 4F 30 3B 20 42 49 54 20  35 00 9F 35 F8 02 52 36  |O0; BIT 5..5..R6|
00000880: 20 2E 57 4F 30 3B 20 42  49 54 20 36 00 B2 35 02  | .WO0; BIT 6..5.|
00000890: 03 52 37 20 2E 57 4F 30  3B 20 42 49 54 20 37 00  |.R7 .WO0; BIT 7.|
000008A0: 00 00                                             |..              |
.-6-.. .BA$C000; STARTADRESSE 49152.K-..
 .GLIRQVEC=$0314.`-.. .GLIRQOLD=$EA31.U-
(. .GLMAINMASK=124..-2. .GLMAINZAHL=125.
.-<. .GLMAINSAVE=126..-F.;.D-P.SETIRQNEW
 SEI; IRQ SPERREN..-Z. LDA#<(MAINIRQ); L
O - UND...D. LDX#>(MAINIRQ); HI - BYTE D
ES IRQVEKTORS.(.N. STAIRQVEC; AUF DEN.P.
X. STXIRQVEC+1; IRQ-HANDLER VERBIEGEN.F.
.. LDY#00; MAINZAHL..... STYMAINZAHL; AU
F 0 SETZEN..... STY198; KEINE TASTE IN T
ASTATURPUFFER.R. . LDA#%00000111; MAINMA
SK FUER..... STAMAINMASK; DREI ROUTINEN 
SETZEN../.. LDX#64; KEINE.*/.. STX203; G
EDRUECKTE TASTE.I/H. CLI; IRQ WIEDER FRE
IGEBEN.R/R. JMPIRQOLD; ALTE IRQROUTINE A
UFRUFEN.X/..;../..RACOLOR INC53280; RAHM
ENFARBE ERHOEHEN../.. RTS; ZURUECK../..;
../..BKCOLOR INC53281; HINTERGRUNDFARBE 
ERHOEHEN..0.. RTS; UND ZURUECK..0..;."0"
.TASTE LDA203; TASTE F1.:0,. CMP#4; GEDR
UECKT ?.V06. BEQT1; WENN JA DANN T1.N0@.
 RTS; SONST ZURUECK..0J.T1 SEI; IRQ SPER
REN. 0T. LDA#00; MAINMASK UND..0^. STAMA
INMASK; MAINSAVE.Z0H. STAMAINSAVE; AUF 0
 SETZEN..0R. CLI; IRQ ZULASSEN..1|. RTS;
 ZURUECK..1..;..1..MAINIRQ LDAMAINMASK; 
MASKE LADEN.L1.. BEQENDIRQ; WENN 0 ENDIR
Q.H1..M1 LSR; BIT 0 GESETZT ?.1.. BCSM2
; WENN JA M2..1.. INCMAINZAHL; ERHOEHE M
AINZAHL..1B. INCMAINZAHL; UM 2..1L. LDXM
AINZAHL; MAINZAHL IN X - REG...1V. CPX#1
6; >= 16..2.. BCSENDIRQ; JA , ENDIRQ.%2.
. JMPM1; NEIN , M1.+2..;.R2..M2 LDXMAINZ
AHL; MAINZAHL IN X-REG...2.. STAMAINSAVE
; MAINMASK AKTUELL IN MAINSAVE SPEICHERN
..2.. LDAROUTTAB,X; HI-BYTE DER ROUTINE 
HOLEN..2.. STAIRQOUT+1; UND DIREKT IN CO
DE SPEICHERN..3&. INX; X-REG. ERHOEHEN..
30. LDAROUTTAB,X; LO-BYTE DER ROUTINE HO
LEN.D3:. STAIRQOUT+2; UND WIEDER DIREKT 
IN CODE SCHREIBEN..3D. JMPIRQOUT; SPRING
E ZU IRQOUT..3N.;..3X.ENDIRQ LDA#00; MAI
NZAHL AUF.N3B. STAMAINZAHL; 0 ZURUECKSET
ZEN..3L. JMPIRQOLD; ALTE IRQROUTINE AUFR
UFEN..3V.;.24..IRQOUT JSR$FFFF; ROUTINE 
ALS SUBROUTINE AUFRUFEN.D4.. LDAMAINSAVE
; VORHERIGE MAINMASK WIEDER LADEN..4.. I
NCMAINZAHL; ZAEHLER UM..4.. INCMAINZAHL;
 ZWEI ERHOEHEN..4.. JMPM1; WIEDER ZU M1.
.4..;..4..ROUTTAB .WORACOLOR; ROUTINE FU
ER GESETZTES BIT 0.%5F.R1 .WOBKCOLOR; RO
UTINE FUER GESETZTES BIT 1.S5P.R2 .WOTAS
TE; ROUTINE FUER GESETZTES BIT 2.F5Z.R3 
.WO0; BIT 3.Y5..R4 .WO0; BIT 4..5..R5 .W
O0; BIT 5..5..R6 .WO0; BIT 6..5..R7 .WO0
; BIT 7...
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL