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

10ER-TAST.SRC

FILE INFORMATION

FILENAME(S): 10ER-TAST.SRC

FILE TYPE(S): PRG

FILE SIZE: 2K

FIRST SEEN: 2025-11-30 01:12:39

APPEARS ON: 2 disk(s)

FILE HASH

8b16d0a02ff47f609cfaea0bb2c07d42d5892322c9b3233b663cf1a07887e4ea

FOUND ON DISKS (2 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
SONDERHEFT 10 86 10ER-TAST.SRC PRG C64er, DuncanTwain 20 9 DOWNLOAD FILE
15829 SEITE B 10ER-TAST.SRC PRG C64er, DuncanTwain 30 10 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: D8 1F F5 1F 64 00 3B 20  2A 2A 2A 20 31 30 45 52  |....d.; *** 10ER|
00000010: 2D 54 41 53 54 20 2E 31  32 38 20 2A 2A 2A 00 14  |-TAST .128 ***..|
00000020: 20 6E 00 3B 20 4E 55 54  5A 55 4E 47 20 44 45 53  | n.; NUTZUNG DES|
00000030: 20 43 31 32 38 2D 5A 45  48 4E 45 52 2D 00 2F 20  | C128-ZEHNER-./ |
00000040: 78 00 3B 20 42 4C 4F 43  4B 53 20 49 4D 20 36 34  |x.; BLOCKS IM 64|
00000050: 45 52 20 4D 4F 44 55 53  00 35 20 82 00 3B 00 4D  |ER MODUS.5 ..;.M|
00000060: 20 8C 00 20 2E 4F 42 22  31 30 45 52 2D 54 41 53  | .. .OB"10ER-TAS|
00000070: 54 2C 50 2C 57 22 00 60  20 96 00 20 2E 45 51 43  |T,P,W".` .. .EQC|
00000080: 49 41 31 3D 24 44 43 30  30 00 73 20 A0 00 20 2E  |IA1=$DC00.s .. .|
00000090: 45 51 50 4F 52 54 41 3D  43 49 41 31 00 88 20 AA  |EQPORTA=CIA1.. .|
000000A0: 00 20 2E 45 51 50 4F 52  54 42 3D 43 49 41 31 2B  |. .EQPORTB=CIA1+|
000000B0: 31 00 9C 20 B4 00 20 2E  45 51 44 52 52 42 3D 43  |1.. .. .EQDRRB=C|
000000C0: 49 41 31 2B 33 00 B2 20  BE 00 20 2E 45 51 56 49  |IA1+3.. .. .EQVI|
000000D0: 43 50 4F 52 54 3D 24 44  30 32 46 00 C7 20 C8 00  |CPORT=$D02F.. ..|
000000E0: 20 2E 45 51 4B 45 59 4F  55 54 3D 24 45 42 33 35  | .EQKEYOUT=$EB35|
000000F0: 00 D9 20 D2 00 20 2E 45  51 49 52 51 3D 24 45 41  |.. .. .EQIRQ=$EA|
00000100: 33 31 00 EC 20 DC 00 20  2E 45 51 42 55 46 46 45  |31.. .. .EQBUFFE|
00000110: 52 3D 24 46 46 00 00 21  E6 00 20 2E 45 51 4C 41  |R=$FF..!.. .EQLA|
00000120: 53 54 4B 45 59 3D 24 46  45 00 06 21 E9 00 3B 00  |STKEY=$FE..!..;.|
00000130: 0C 21 EA 00 3B 00 2E 21  F0 00 20 2E 42 41 24 43  |.!..;..!.. .BA$C|
00000140: 30 30 30 3B 20 53 54 41  52 54 41 44 52 45 53 53  |000; STARTADRESS|
00000150: 45 20 34 39 31 35 32 00  34 21 F5 00 3B 00 48 21  |E 49152.4!..;.H!|
00000160: FA 00 49 4E 49 54 20 53  45 49 3B 20 4E 45 55 45  |..INIT SEI; NEUE|
00000170: 4E 00 66 21 04 01 20 4C  44 41 23 3C 28 53 54 41  |N.f!.. LDA#<(STA|
00000180: 52 54 29 3B 20 49 4E 54  45 52 52 55 50 54 2D 00  |RT); INTERRUPT-.|
00000190: 80 21 0E 01 20 4C 44 59  23 3E 28 53 54 41 52 54  |.!.. LDY#>(START|
000001A0: 29 3B 20 56 45 4B 54 4F  52 00 96 21 18 01 20 53  |); VEKTOR..!.. S|
000001B0: 54 41 24 30 33 31 34 3B  20 53 45 54 5A 45 4E 00  |TA$0314; SETZEN.|
000001C0: A5 21 22 01 20 53 54 59  24 30 33 31 35 3B 00 BA  |.!". STY$0315;..|
000001D0: 21 2C 01 20 43 4C 49 3B  20 55 4E 44 20 52 55 45  |!,. CLI; UND RUE|
000001E0: 43 4B 2D 00 CB 21 36 01  20 52 54 53 3B 20 53 50  |CK-..!6. RTS; SP|
000001F0: 52 55 4E 47 00 D1 21 40  01 3B 00 D7 21 4A 01 3B  |RUNG..!@.;..!J.;|
00000200: 00 EF 21 54 01 53 54 41  52 54 20 53 45 49 3B 20  |..!T.START SEI; |
00000210: 4B 45 49 4E 20 49 52 51  00 0E 22 5E 01 20 4C 44  |KEIN IRQ.."^. LD|
00000220: 41 23 24 46 46 3B 20 4E  4F 52 4D 41 4C 45 20 54  |A#$FF; NORMALE T|
00000230: 41 53 54 41 54 55 52 00  25 22 68 01 20 53 54 41  |ASTATUR.%"h. STA|
00000240: 50 4F 52 54 41 3B 20 53  50 45 52 52 45 4E 00 3A  |PORTA; SPERREN.:|
00000250: 22 72 01 20 4C 44 41 23  30 3B 20 50 4F 52 54 20  |"r. LDA#0; PORT |
00000260: 42 20 3D 00 50 22 7C 01  20 53 54 41 44 52 52 42  |B =.P"|. STADRRB|
00000270: 3B 20 45 49 4E 47 41 4E  47 00 76 22 86 01 20 53  |; EINGANG.v".. S|
00000280: 54 41 56 49 43 50 4F 52  54 3B 20 41 4C 4C 45 20  |TAVICPORT; ALLE |
00000290: 33 20 5A 45 49 4C 45 4E  20 54 45 53 54 45 4E 00  |3 ZEILEN TESTEN.|
000002A0: 94 22 90 01 20 4C 44 41  50 4F 52 54 42 3B 20 53  |.".. LDAPORTB; S|
000002B0: 50 41 4C 54 45 4E 4D 45  4C 44 55 4E 47 00 AA 22  |PALTENMELDUNG.."|
000002C0: 9A 01 20 43 4D 50 23 24  46 46 3B 20 50 52 55 45  |.. CMP#$FF; PRUE|
000002D0: 46 45 4E 00 CA 22 A4 01  20 42 45 51 4E 4F 54 41  |FEN..".. BEQNOTA|
000002E0: 53 54 3B 20 24 46 46 3D  4B 45 49 4E 45 20 54 41  |ST; $FF=KEINE TA|
000002F0: 53 54 45 00 DF 22 AE 01  20 4C 44 58 23 32 3B 20  |STE..".. LDX#2; |
00000300: 33 20 5A 45 49 4C 45 4E  00 FD 22 B8 01 20 4C 44  |3 ZEILEN..".. LD|
00000310: 41 23 24 46 45 3B 20 56  49 43 50 4F 52 54 20 44  |A#$FE; VICPORT D|
00000320: 45 46 41 55 4C 54 00 18  23 C2 01 4C 4F 4F 50 31  |EFAULT..#..LOOP1|
00000330: 20 4C 44 59 23 37 3B 20  38 20 53 50 41 4C 54 45  | LDY#7; 8 SPALTE|
00000340: 4E 00 38 23 CC 01 20 53  54 41 56 49 43 50 4F 52  |N.8#.. STAVICPOR|
00000350: 54 3B 20 31 20 42 49 54  20 4C 4F 45 53 43 48 45  |T; 1 BIT LOESCHE|
00000360: 4E 00 5E 23 D6 01 45 4E  54 50 52 45 4C 4C 20 4C  |N.^#..ENTPRELL L|
00000370: 44 41 50 4F 52 54 42 3B  20 53 50 41 4C 54 45 4E  |DAPORTB; SPALTEN|
00000380: 4D 45 4C 44 55 4E 47 00  75 23 E0 01 20 43 4D 50  |MELDUNG.u#.. CMP|
00000390: 50 4F 52 54 42 3B 20 50  52 55 45 46 45 4E 00 96  |PORTB; PRUEFEN..|
000003A0: 23 EA 01 20 42 4E 45 45  4E 54 50 52 45 4C 4C 3B  |#.. BNEENTPRELL;|
000003B0: 20 55 4E 44 20 45 4E 54  50 52 45 4C 4C 45 4E 00  | UND ENTPRELLEN.|
000003C0: BA 23 F4 01 4C 4F 4F 50  32 20 52 4F 52 3B 20 31  |.#..LOOP2 ROR; 1|
000003D0: 20 42 49 54 20 49 4E 53  20 43 41 52 52 59 2D 46  | BIT INS CARRY-F|
000003E0: 4C 41 47 00 E8 23 FE 01  20 42 43 43 44 45 43 4F  |LAG..#.. BCCDECO|
000003F0: 44 45 3B 20 43 41 52 52  59 3D 30 2C 20 44 41 4E  |DE; CARRY=0, DAN|
00000400: 4E 20 54 41 53 54 45 20  47 45 44 52 55 45 43 4B  |N TASTE GEDRUECK|
00000410: 54 00 05 24 08 02 20 44  45 59 3B 20 4E 41 45 43  |T..$.. DEY; NAEC|
00000420: 48 53 54 45 53 20 53 50  41 4C 54 45 4E 2D 00 1F  |HSTES SPALTEN-..|
00000430: 24 12 02 20 42 50 4C 4C  4F 4F 50 32 3B 20 42 49  |$.. BPLLOOP2; BI|
00000440: 54 20 54 45 53 54 45 4E  00 41 24 1C 02 20 4C 44  |T TESTEN.A$.. LD|
00000450: 41 56 49 43 50 4F 52 54  3B 20 41 4C 54 45 53 20  |AVICPORT; ALTES |
00000460: 5A 45 49 4C 45 4E 2D 42  49 54 00 64 24 26 02 20  |ZEILEN-BIT.d$&. |
00000470: 41 4E 44 23 37 3B 20 48  4F 4C 45 4E 20 55 4E 44  |AND#7; HOLEN UND|
00000480: 20 41 55 53 4D 41 53 4B  49 45 52 45 4E 00 7D 24  | AUSMASKIEREN.}$|
00000490: 2B 02 20 52 4F 4C 3B 20  4C 49 4E 4B 53 2D 53 43  |+. ROL; LINKS-SC|
000004A0: 48 49 45 42 45 4E 00 A4  24 30 02 20 44 45 58 3B  |HIEBEN..$0. DEX;|
000004B0: 20 5A 45 49 4C 45 4E 5A  41 45 48 4C 45 52 20 44  | ZEILENZAEHLER D|
000004C0: 45 4B 52 45 4D 45 4E 54  49 45 52 45 4E 00 CC 24  |EKREMENTIEREN..$|
000004D0: 3A 02 20 42 50 4C 4C 4F  4F 50 31 3B 20 41 4C 4C  |:. BPLLOOP1; ALL|
000004E0: 45 20 5A 45 49 4C 45 4E  20 42 45 41 52 42 45 49  |E ZEILEN BEARBEI|
000004F0: 54 45 54 20 3F 00 F1 24  44 02 20 4A 4D 50 4E 4F  |TET ?..$D. JMPNO|
00000500: 54 41 53 54 3B 20 4B 45  49 4E 45 20 54 41 53 54  |TAST; KEINE TAST|
00000510: 45 20 47 45 46 55 4E 44  45 4E 00 0E 25 4E 02 44  |E GEFUNDEN..%N.D|
00000520: 45 43 4F 44 45 20 43 4C  43 3B 20 41 55 53 20 58  |ECODE CLC; AUS X|
00000530: 3D 53 50 41 4C 54 45 00  24 25 58 02 20 54 58 41  |=SPALTE.$%X. TXA|
00000540: 3B 20 55 4E 44 20 59 3D  5A 45 49 4C 45 00 3A 25  |; UND Y=ZEILE.:%|
00000550: 62 02 20 41 53 4C 3B 20  44 49 45 20 41 44 52 45  |b. ASL; DIE ADRE|
00000560: 53 53 45 00 55 25 6C 02  20 41 53 4C 3B 20 49 4E  |SSE.U%l. ASL; IN|
00000570: 20 44 45 52 20 54 41 53  54 41 54 55 52 2D 00 67  | DER TASTATUR-.g|
00000580: 25 76 02 20 41 53 4C 3B  20 54 41 42 45 4C 4C 45  |%v. ASL; TABELLE|
00000590: 00 81 25 80 02 20 53 54  41 42 55 46 46 45 52 3B  |..%.. STABUFFER;|
000005A0: 20 42 45 52 45 43 48 4E  45 4E 00 93 25 8A 02 20  | BERECHNEN..%.. |
000005B0: 54 59 41 3B 20 55 4E 44  20 49 4E 53 00 AA 25 94  |TYA; UND INS..%.|
000005C0: 02 20 41 44 43 42 55 46  46 45 52 3B 20 58 2D 52  |. ADCBUFFER; X-R|
000005D0: 45 47 2E 00 BE 25 9E 02  20 54 41 58 3B 20 53 43  |EG...%.. TAX; SC|
000005E0: 48 52 45 49 42 45 4E 00  E2 25 A8 02 20 4C 44 41  |HREIBEN..%.. LDA|
000005F0: 4B 45 59 53 2C 58 3B 20  5A 45 49 43 48 45 4E 20  |KEYS,X; ZEICHEN |
00000600: 41 55 53 20 54 41 42 45  4C 4C 45 00 06 26 B2 02  |AUS TABELLE..&..|
00000610: 20 43 4D 50 4C 41 53 54  4B 45 59 3B 20 3D 20 4C  | CMPLASTKEY; = L|
00000620: 45 54 5A 45 53 20 5A 45  49 43 48 45 4E 20 3F 00  |ETZES ZEICHEN ?.|
00000630: 26 26 BC 02 20 42 45 51  54 4F 49 52 51 3B 20 4A  |&&.. BEQTOIRQ; J|
00000640: 41 2C 20 44 41 4E 4E 20  5A 55 4D 20 49 52 51 00  |A, DANN ZUM IRQ.|
00000650: 48 26 C6 02 20 53 54 41  4C 41 53 54 4B 45 59 3B  |H&.. STALASTKEY;|
00000660: 20 4E 45 49 4E 20 44 41  4E 4E 20 4D 45 52 4B 45  | NEIN DANN MERKE|
00000670: 4E 00 65 26 D0 02 20 4A  53 52 4B 45 59 4F 55 54  |N.e&.. JSRKEYOUT|
00000680: 3B 20 55 4E 44 20 41 55  53 47 45 42 45 4E 00 8A  |; UND AUSGEBEN..|
00000690: 26 DA 02 54 4F 49 52 51  20 4C 44 41 23 24 37 46  |&..TOIRQ LDA#$7F|
000006A0: 3B 20 53 54 41 4E 44 41  52 44 2D 54 41 53 54 41  |; STANDARD-TASTA|
000006B0: 54 55 52 00 AA 26 E4 02  20 53 54 41 50 4F 52 54  |TUR..&.. STAPORT|
000006C0: 41 3B 20 57 49 45 44 45  52 48 45 52 53 54 45 4C  |A; WIEDERHERSTEL|
000006D0: 4C 45 4E 00 C0 26 EE 02  20 4C 44 41 23 24 46 46  |LEN..&.. LDA#$FF|
000006E0: 3B 20 56 49 43 50 4F 52  54 00 DE 26 F8 02 20 53  |; VICPORT..&.. S|
000006F0: 54 41 56 49 43 50 4F 52  54 3B 20 44 45 41 4B 54  |TAVICPORT; DEAKT|
00000700: 49 56 49 45 52 45 4E 00  FA 26 02 03 20 4A 4D 50  |IVIEREN..&.. JMP|
00000710: 49 52 51 3B 20 5A 55 4D  20 4B 45 52 4E 41 4C 2D  |IRQ; ZUM KERNAL-|
00000720: 49 52 51 00 24 27 0C 03  4E 4F 54 41 53 54 20 4C  |IRQ.$'..NOTAST L|
00000730: 44 41 23 24 30 30 3B 20  4B 45 49 4E 45 20 54 41  |DA#$00; KEINE TA|
00000740: 53 54 45 4E 20 47 45 46  55 4E 44 45 4E 00 43 27  |STEN GEFUNDEN.C'|
00000750: 16 03 20 53 54 41 4C 41  53 54 4B 45 59 3B 20 30  |.. STALASTKEY; 0|
00000760: 2D 42 59 54 45 20 4D 45  52 4B 45 4E 00 63 27 20  |-BYTE MERKEN.c' |
00000770: 03 20 4A 4D 50 54 4F 49  52 51 3B 20 5A 55 4D 20  |. JMPTOIRQ; ZUM |
00000780: 53 54 41 4E 44 41 52 44  2D 49 52 51 00 69 27 2A  |STANDARD-IRQ.i'*|
00000790: 03 3B 00 6F 27 2F 03 3B  00 75 27 34 03 3B 00 A1  |.;.o'/.;.u'4.;..|
000007A0: 27 3E 03 4B 45 59 53 20  2E 42 59 24 31 33 2C 24  |'>.KEYS .BY$13,$|
000007B0: 31 44 2C 24 39 44 2C 24  31 31 2C 24 39 31 2C 24  |1D,$9D,$11,$91,$|
000007C0: 32 43 2C 24 33 30 2C 24  38 44 00 C9 27 48 03 20  |2C,$30,$8D..'H. |
000007D0: 2E 42 59 24 33 33 2C 24  33 39 2C 24 33 36 2C 24  |.BY$33,$39,$36,$|
000007E0: 30 44 2C 24 30 41 2C 24  32 44 2C 24 32 42 2C 24  |0D,$0A,$2D,$2B,$|
000007F0: 31 42 00 F1 27 52 03 20  2E 42 59 24 33 31 2C 24  |1B..'R. .BY$31,$|
00000800: 33 37 2C 24 33 34 2C 24  33 32 2C 24 30 39 2C 24  |37,$34,$32,$09,$|
00000810: 33 35 2C 24 33 38 2C 24  33 46 00 FA 27 5C 03 20  |35,$38,$3F..'\. |
00000820: 2E 45 4E 00 00 00                                 |.EN...          |
X...D.; *** 10ER-TAST .128 ***.. N.; NUT
ZUNG DES C128-ZEHNER-./ X.; BLOCKS IM 64
ER MODUS.5 ..;.M .. .OB"10ER-TAST,P,W".`
 .. .EQCIA1=$DC00.S  . .EQPORTA=CIA1.. .
. .EQPORTB=CIA1+1.. .. .EQDRRB=CIA1+3.. 
.. .EQVICPORT=$D02F.G H. .EQKEYOUT=$EB35
.Y R. .EQIRQ=$EA31.. .. .EQBUFFER=$FF..!
.. .EQLASTKEY=$FE..!..;..!..;..!.. .BA$C
000; STARTADRESSE 49152.4!..;.H!..INIT S
EI; NEUEN.F!.. LDA#<(START); INTERRUPT-.
.!.. LDY#>(START); VEKTOR..!.. STA$0314;
 SETZEN..!". STY$0315;..!,. CLI; UND RUE
CK-.K!6. RTS; SPRUNG.Q!@.;.W!J.;..!T.STA
RT SEI; KEIN IRQ.."^. LDA#$FF; NORMALE T
ASTATUR.%"H. STAPORTA; SPERREN.:"R. LDA#
0; PORT B =.P"|. STADRRB; EINGANG.V".. S
TAVICPORT; ALLE 3 ZEILEN TESTEN..".. LDA
PORTB; SPALTENMELDUNG..".. CMP#$FF; PRUE
FEN.J".. BEQNOTAST; $FF=KEINE TASTE.."..
 LDX#2; 3 ZEILEN..".. LDA#$FE; VICPORT D
EFAULT..#B.LOOP1 LDY#7; 8 SPALTEN.8#L. S
TAVICPORT; 1 BIT LOESCHEN.^#V.ENTPRELL L
DAPORTB; SPALTENMELDUNG.U#.. CMPPORTB; P
RUEFEN..#.. BNEENTPRELL; UND ENTPRELLEN.
.#..LOOP2 ROR; 1 BIT INS CARRY-FLAG..#..
 BCCDECODE; CARRY=0, DANN TASTE GEDRUECK
T..$.. DEY; NAECHSTES SPALTEN-..$.. BPLL
OOP2; BIT TESTEN.A$.. LDAVICPORT; ALTES 
ZEILEN-BIT.D$&. AND#7; HOLEN UND AUSMASK
IEREN.}$+. ROL; LINKS-SCHIEBEN..$0. DEX;
 ZEILENZAEHLER DEKREMENTIEREN.L$:. BPLLO
OP1; ALLE ZEILEN BEARBEITET ?..$D. JMPNO
TAST; KEINE TASTE GEFUNDEN..%N.DECODE CL
C; AUS X=SPALTE.$%X. TXA; UND Y=ZEILE.:%
B. ASL; DIE ADRESSE.U%L. ASL; IN DER TAS
TATUR-.G%V. ASL; TABELLE..%.. STABUFFER;
 BERECHNEN..%.. TYA; UND INS..%.. ADCBUF
FER; X-REG...%.. TAX; SCHREIBEN..%.. LDA
KEYS,X; ZEICHEN AUS TABELLE..&.. CMPLAST
KEY; = LETZES ZEICHEN ?.&&.. BEQTOIRQ; J
A, DANN ZUM IRQ.H&F. STALASTKEY; NEIN DA
NN MERKEN.E&P. JSRKEYOUT; UND AUSGEBEN..
&Z.TOIRQ LDA#$7F; STANDARD-TASTATUR..&..
 STAPORTA; WIEDERHERSTELLEN..&.. LDA#$FF
; VICPORT..&.. STAVICPORT; DEAKTIVIEREN.
.&.. JMPIRQ; ZUM KERNAL-IRQ.$'..NOTAST L
DA#$00; KEINE TASTEN GEFUNDEN.C'.. STALA
STKEY; 0-BYTE MERKEN.C' . JMPTOIRQ; ZUM 
STANDARD-IRQ.I'*.;.O'/.;.U'4.;..'>.KEYS 
.BY$13,$1D,$9D,$11,$91,$2C,$30,$8D.I'H. 
.BY$33,$39,$36,$0D,$0A,$2D,$2B,$1B..'R. 
.BY$31,$37,$34,$32,$09,$35,$38,$3F..'\. 
.EN...
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL