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

KEY-SIMUL.SRC

FILE INFORMATION

FILENAME(S): KEY-SIMUL.SRC

FILE TYPE(S): PRG

FILE SIZE: 1.3K

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

APPEARS ON: 1 disk(s)

FILE HASH

c51149fdaa5b58bdd5009da8781d439dc94067d9b00375e8cb9742c34cf0180f

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
10107 KEY-SIMUL.SRC PRG C64er 9 1 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: D8 1F E4 1F 64 00 20 2E  42 41 38 32 38 00 F9 1F  |....d. .BA828...|
00000010: 6E 00 20 2E 45 51 43 48  4B 43 4F 4D 3D 24 41 45  |n. .EQCHKCOM=$AE|
00000020: 46 44 00 0E 20 78 00 20  2E 45 51 47 45 54 4E 55  |FD.. x. .EQGETNU|
00000030: 4D 3D 24 42 37 45 42 00  21 20 82 00 20 2E 45 51  |M=$B7EB.! .. .EQ|
00000040: 57 43 4F 55 4E 54 3D 24  46 42 00 31 20 8C 00 20  |WCOUNT=$FB.1 .. |
00000050: 2E 45 51 57 4F 52 49 47  3D 32 00 44 20 96 00 20  |.EQWORIG=2.D .. |
00000060: 2E 45 51 42 55 46 4C 45  4E 3D 24 43 36 00 59 20  |.EQBUFLEN=$C6.Y |
00000070: A0 00 20 2E 45 51 4B 45  59 42 55 46 3D 24 30 32  |.. .EQKEYBUF=$02|
00000080: 37 37 00 6E 20 AA 00 20  2E 45 51 49 52 51 56 45  |77.n .. .EQIRQVE|
00000090: 43 3D 24 30 33 31 34 00  82 20 B4 00 20 2E 45 51  |C=$0314.. .. .EQ|
000000A0: 41 44 43 4F 55 4E 54 3D  24 46 45 00 94 20 BE 00  |ADCOUNT=$FE.. ..|
000000B0: 20 2E 45 51 49 52 51 3D  24 45 41 33 31 00 9A 20  | .EQIRQ=$EA31.. |
000000C0: C8 00 3B 00 B4 20 D2 00  49 4E 49 54 20 53 45 49  |..;.. ..INIT SEI|
000000D0: 3B 49 46 4C 41 47 20 53  45 54 5A 45 4E 00 CF 20  |;IFLAG SETZEN.. |
000000E0: DC 00 20 4C 44 41 23 3C  28 4D 41 49 4E 29 3B 49  |.. LDA#<(MAIN);I|
000000F0: 4E 54 45 52 52 55 50 54  00 E2 20 E6 00 20 53 54  |NTERRUPT.. .. ST|
00000100: 41 49 52 51 56 45 43 3B  41 55 46 00 FA 20 F0 00  |AIRQVEC;AUF.. ..|
00000110: 20 4C 44 41 23 3E 28 4D  41 49 4E 29 3B 27 4D 41  | LDA#>(MAIN);'MA|
00000120: 49 4E 27 00 12 21 FA 00  20 53 54 41 49 52 51 56  |IN'..!.. STAIRQV|
00000130: 45 43 2B 31 3B 42 49 45  47 45 4E 00 2A 21 04 01  |EC+1;BIEGEN.*!..|
00000140: 20 43 4C 49 3B 49 46 4C  41 47 20 4C 4F 45 53 43  | CLI;IFLAG LOESC|
00000150: 48 45 4E 00 40 21 0E 01  20 4A 53 52 43 48 4B 43  |HEN.@!.. JSRCHKC|
00000160: 4F 4D 3B 4B 4F 4D 4D 41  3F 00 5C 21 18 01 20 4A  |OM;KOMMA?.\!.. J|
00000170: 53 52 47 45 54 4E 55 4D  3B 5A 41 48 4C 45 4E 20  |SRGETNUM;ZAHLEN |
00000180: 48 4F 4C 45 4E 00 75 21  22 01 20 53 54 58 57 43  |HOLEN.u!". STXWC|
00000190: 4F 55 4E 54 3B 57 41 52  54 45 5A 45 49 54 00 8A  |OUNT;WARTEZEIT..|
000001A0: 21 2C 01 20 53 54 58 57  4F 52 49 47 3B 53 45 54  |!,. STXWORIG;SET|
000001B0: 5A 45 4E 00 A1 21 36 01  44 41 43 20 4C 44 41 24  |ZEN..!6.DAC LDA$|
000001C0: 31 34 3B 41 44 52 45 53  53 45 00 BC 21 40 01 20  |14;ADRESSE..!@. |
000001D0: 53 54 41 41 44 43 4F 55  4E 54 3B 44 45 53 20 54  |STAADCOUNT;DES T|
000001E0: 45 58 54 45 53 00 D0 21  4A 01 20 4C 44 41 24 31  |EXTES..!J. LDA$1|
000001F0: 35 3B 48 4F 4C 45 4E 20  2B 00 EC 21 54 01 20 53  |5;HOLEN +..!T. S|
00000200: 54 41 41 44 43 4F 55 4E  54 2B 31 3B 53 43 48 52  |TAADCOUNT+1;SCHR|
00000210: 45 49 42 45 4E 00 00 22  5E 01 20 52 54 53 3B 52  |EIBEN.."^. RTS;R|
00000220: 55 45 43 4B 53 50 52 55  4E 00 06 22 68 01 3B 00  |UECKSPRUN.."h.;.|
00000230: 30 22 72 01 4D 41 49 4E  20 44 45 43 57 43 4F 55  |0"r.MAIN DECWCOU|
00000240: 4E 54 3B 5A 41 45 48 4C  45 52 20 44 45 4B 52 45  |NT;ZAEHLER DEKRE|
00000250: 4D 45 4E 54 49 45 52 45  4E 00 4E 22 7C 01 20 42  |MENTIEREN.N"|. B|
00000260: 4E 45 49 52 51 45 4E 44  3B 30 3F 20 4E 45 49 4E  |NEIRQEND;0? NEIN|
00000270: 20 2D 3E 20 49 52 51 00  69 22 86 01 20 4C 44 41  | -> IRQ.i".. LDA|
00000280: 57 4F 52 49 47 3B 4F 52  49 47 49 4E 41 4C 57 45  |WORIG;ORIGINALWE|
00000290: 52 54 00 82 22 90 01 20  53 54 41 57 43 4F 55 4E  |RT..".. STAWCOUN|
000002A0: 54 3B 53 43 48 52 45 49  42 45 4E 00 9E 22 9A 01  |T;SCHREIBEN.."..|
000002B0: 20 4C 44 41 42 55 46 4C  45 4E 3B 50 55 46 46 45  | LDABUFLEN;PUFFE|
000002C0: 52 20 4C 45 45 52 3F 00  BA 22 A4 01 20 42 4E 45  |R LEER?..".. BNE|
000002D0: 49 52 51 45 4E 44 3B 4E  45 49 4E 20 2D 3E 20 45  |IRQEND;NEIN -> E|
000002E0: 4E 44 45 00 CB 22 AE 01  20 4C 44 59 23 30 3B 44  |NDE..".. LDY#0;D|
000002F0: 55 4D 4D 59 00 DF 22 B8  01 20 4C 44 41 28 41 44  |UMMY..".. LDA(AD|
00000300: 43 4F 55 4E 54 29 2C 59  00 FB 22 C2 01 20 43 4D  |COUNT),Y..".. CM|
00000310: 50 23 22 AF 22 3B 50 41  55 53 45 3F 20 28 43 42  |P#".";PAUSE? (CB|
00000320: 4D 20 50 29 00 0E 23 CC  01 20 42 4E 45 43 48 45  |M P)..#.. BNECHE|
00000330: 43 4B 3B 4E 45 49 4E 00  26 23 D6 01 20 4C 44 41  |CK;NEIN.&#.. LDA|
00000340: 23 36 30 3B 5A 41 45 48  4C 45 52 20 41 55 46 00  |#60;ZAEHLER AUF.|
00000350: 3F 23 E0 01 20 53 54 41  57 43 4F 55 4E 54 3B 36  |?#.. STAWCOUNT;6|
00000360: 30 20 53 45 54 5A 45 4E  00 5B 23 EA 01 20 42 4E  |0 SETZEN.[#.. BN|
00000370: 45 57 45 49 54 45 52 3B  55 4E 42 45 44 2E 53 50  |EWEITER;UNBED.SP|
00000380: 52 55 4E 47 00 7B 23 F4  01 43 48 45 43 4B 20 43  |RUNG.{#..CHECK C|
00000390: 4D 50 23 22 B1 22 3B 45  4E 44 45 3F 20 28 43 42  |MP#".";ENDE? (CB|
000003A0: 4D 20 45 29 00 92 23 FE  01 20 42 45 51 45 4E 44  |M E)..#.. BEQEND|
000003B0: 3B 4A 41 20 2D 3E 20 45  4E 44 45 00 A8 23 08 02  |;JA -> ENDE..#..|
000003C0: 20 43 4D 50 23 22 AA 22  3B 4E 4F 43 48 4D 41 4C  | CMP#".";NOCHMAL|
000003D0: 3F 00 BB 23 12 02 20 42  4E 45 57 52 49 54 45 3B  |?..#.. BNEWRITE;|
000003E0: 4E 45 49 4E 00 E6 23 1C  02 20 4A 53 52 44 41 43  |NEIN..#.. JSRDAC|
000003F0: 3B 54 45 58 54 5A 41 45  48 4C 45 52 20 41 55 46  |;TEXTZAEHLER AUF|
00000400: 20 41 4E 46 41 4E 47 53  41 44 52 45 53 53 45 00  | ANFANGSADRESSE.|
00000410: FB 23 26 02 20 4A 4D 50  49 52 51 3B 55 4E 44 20  |.#&. JMPIRQ;UND |
00000420: 45 4E 44 45 00 17 24 30  02 57 52 49 54 45 20 53  |ENDE..$0.WRITE S|
00000430: 54 41 4B 45 59 42 55 46  3B 5A 45 49 43 48 45 4E  |TAKEYBUF;ZEICHEN|
00000440: 00 28 24 3A 02 20 4C 44  41 23 31 3B 44 52 55 43  |.($:. LDA#1;DRUC|
00000450: 4B 00 42 24 44 02 20 53  54 41 42 55 46 4C 45 4E  |K.B$D. STABUFLEN|
00000460: 3B 53 49 4D 55 4C 49 45  52 45 4E 00 64 24 4E 02  |;SIMULIEREN.d$N.|
00000470: 57 45 49 54 45 52 20 49  4E 43 41 44 43 4F 55 4E  |WEITER INCADCOUN|
00000480: 54 3B 54 45 58 54 5A 41  45 48 4C 45 52 00 82 24  |T;TEXTZAEHLER..$|
00000490: 58 02 20 42 4E 45 49 52  51 45 4E 44 3B 49 4E 4B  |X. BNEIRQEND;INK|
000004A0: 52 45 4D 45 4E 54 49 45  52 45 4E 00 94 24 62 02  |REMENTIEREN..$b.|
000004B0: 20 49 4E 43 41 44 43 4F  55 4E 54 2B 31 00 AB 24  | INCADCOUNT+1..$|
000004C0: 6C 02 49 52 51 45 4E 44  20 4A 4D 50 49 52 51 3B  |l.IRQEND JMPIRQ;|
000004D0: 45 4E 44 45 00 B1 24 76  02 3B 00 CB 24 8A 02 45  |ENDE..$v.;..$..E|
000004E0: 4E 44 20 4C 44 41 23 24  33 31 3B 4F 52 49 47 49  |ND LDA#$31;ORIGI|
000004F0: 4E 41 4C 2D 00 E0 24 94  02 20 53 54 41 49 52 51  |NAL-..$.. STAIRQ|
00000500: 56 45 43 3B 57 45 52 54  45 00 F7 24 9E 02 20 4C  |VEC;WERTE..$.. L|
00000510: 44 41 23 24 45 41 3B 53  43 48 52 45 49 42 45 4E  |DA#$EA;SCHREIBEN|
00000520: 00 08 25 A8 02 20 53 54  41 49 52 51 56 45 43 2B  |..%.. STAIRQVEC+|
00000530: 31 00 19 25 BC 02 20 4A  4D 50 49 52 51 3B 45 4E  |1..%.. JMPIRQ;EN|
00000540: 44 45 00 00 00                                    |DE...           |
X...D. .BA828...N. .EQCHKCOM=$AEFD.. X. 
.EQGETNUM=$B7EB.! .. .EQWCOUNT=$FB.1 .. 
.EQWORIG=2.D .. .EQBUFLEN=$C6.Y  . .EQKE
YBUF=$0277.N .. .EQIRQVEC=$0314.. .. .EQ
ADCOUNT=$FE.. .. .EQIRQ=$EA31.. H.;.. R.
INIT SEI;IFLAG SETZEN.O .. LDA#<(MAIN);I
NTERRUPT.. .. STAIRQVEC;AUF.. .. LDA#>(M
AIN);'MAIN'..!.. STAIRQVEC+1;BIEGEN.*!..
 CLI;IFLAG LOESCHEN.@!.. JSRCHKCOM;KOMMA
?.\!.. JSRGETNUM;ZAHLEN HOLEN.U!". STXWC
OUNT;WARTEZEIT..!,. STXWORIG;SETZEN..!6.
DAC LDA$14;ADRESSE..!@. STAADCOUNT;DES T
EXTES.P!J. LDA$15;HOLEN +..!T. STAADCOUN
T+1;SCHREIBEN.."^. RTS;RUECKSPRUN.."H.;.
0"R.MAIN DECWCOUNT;ZAEHLER DEKREMENTIERE
N.N"|. BNEIRQEND;0? NEIN -> IRQ.I".. LDA
WORIG;ORIGINALWERT..".. STAWCOUNT;SCHREI
BEN..".. LDABUFLEN;PUFFER LEER?..".. BNE
IRQEND;NEIN -> ENDE.K".. LDY#0;DUMMY..".
. LDA(ADCOUNT),Y.."B. CMP#".";PAUSE? (CB
M P)..#L. BNECHECK;NEIN.&#V. LDA#60;ZAEH
LER AUF.?#.. STAWCOUNT;60 SETZEN.[#.. BN
EWEITER;UNBED.SPRUNG.{#..CHECK CMP#".";E
NDE? (CBM E)..#.. BEQEND;JA -> ENDE..#..
 CMP#".";NOCHMAL?..#.. BNEWRITE;NEIN..#.
. JSRDAC;TEXTZAEHLER AUF ANFANGSADRESSE.
.#&. JMPIRQ;UND ENDE..$0.WRITE STAKEYBUF
;ZEICHEN.($:. LDA#1;DRUCK.B$D. STABUFLEN
;SIMULIEREN.D$N.WEITER INCADCOUNT;TEXTZA
EHLER..$X. BNEIRQEND;INKREMENTIEREN..$B.
 INCADCOUNT+1..$L.IRQEND JMPIRQ;ENDE..$V
.;.K$..END LDA#$31;ORIGINAL-..$.. STAIRQ
VEC;WERTE..$.. LDA#$EA;SCHREIBEN..%.. ST
AIRQVEC+1..%.. JMPIRQ;ENDE...
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL