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

JOYTAST.S

FILE INFORMATION

FILENAME(S): JOYTAST.S

FILE TYPE(S): SEQ

FILE SIZE: 4.4K

FIRST SEEN: 2025-12-02 23:22:54

APPEARS ON: 1 disk(s)

FILE HASH

9367d58030c2dcc05d80574a432d76f77f6061db4bbba2a2cb246d85a5be39ad

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
DRAGAN PROG JOYTAST.S SEQ swasti, dinkel 24 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 3B 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |;***************|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000020: 2A 2A 2A 2A 2A 2A 2A 2A  0D 3B 2A 20 20 20 20 20  |********.;*     |
00000030: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000040: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000050: 2A 0D 3B 2A 20 20 20 D4  C1 D3 D4 C1 D4 D5 D2 20  |*.;*   ........ |
00000060: 2F 20 CA CF D9 D3 D4 C9  C3 CB C1 C2 C6 D2 C1 C7  |/ ..............|
00000070: C5 20 20 20 20 20 20 20  20 2A 0D 3B 2A 20 20 20  |.        *.;*   |
00000080: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000090: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000A0: 20 20 2A 0D 3B 2A 20 20  20 20 20 28 57 29 20 31  |  *.;*     (W) 1|
000000B0: 39 38 36 20 42 59 20 CD  41 52 54 49 4E 20 C7 45  |986 BY .ARTIN .E|
000000C0: 42 48 41 52 44 54 20 20  20 20 20 2A 0D 3B 2A 20  |BHARDT     *.;* |
000000D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000E0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000F0: 20 20 20 20 2A 0D 3B 2A  2A 2A 2A 2A 2A 2A 2A 2A  |    *.;*********|
00000100: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000110: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 0D 0D  |**************..|
00000120: 3B 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |;---------------|
00000130: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000140: 2D 2D 2D 2D 2D 2D 2D 0D  3A 53 54 52 46 4C 47 20  |-------.:STRFLG |
00000150: 20 20 3D 20 24 30 44 20  20 3B 24 46 46 3A 20 D3  |  = $0D  ;$FF: .|
00000160: 54 52 49 4E 47 0D 3A 49  4E 54 46 4C 47 20 20 20  |TRING.:INTFLG   |
00000170: 3D 20 24 30 45 20 20 3B  24 38 30 3A 20 C9 4E 54  |= $0E  ;$80: .NT|
00000180: 45 47 45 52 0D 3A 56 41  52 20 20 20 20 20 20 3D  |EGER.:VAR      =|
00000190: 20 24 34 39 20 20 3B DA  45 49 47 45 52 20 41 55  | $49  ;.EIGER AU|
000001A0: 46 20 D6 41 52 49 41 42  4C 45 0D 3A 46 41 43 20  |F .ARIABLE.:FAC |
000001B0: 20 20 20 20 20 3D 20 24  36 31 20 20 3B C6 4C 49  |     = $61  ;.LI|
000001C0: 45 53 53 4B 4F 4D 4D 41  41 4B 4B 55 20 23 31 0D  |ESSKOMMAAKKU #1.|
000001D0: 3A 52 50 4E 54 20 20 20  20 20 3D 20 24 46 42 20  |:RPNT     = $FB |
000001E0: 20 3B 52 45 41 44 50 4F  49 4E 54 45 52 20 55 4E  | ;READPOINTER UN|
000001F0: 44 0D 3A 57 50 4E 54 20  20 20 20 20 3D 20 24 46  |D.:WPNT     = $F|
00000200: 44 20 20 3B 57 52 49 54  45 50 4F 49 4E 54 45 52  |D  ;WRITEPOINTER|
00000210: 20 46 55 45 52 20 54 52  41 4E 53 46 45 52 0D 0D  | FUER TRANSFER..|
00000220: 0D 3A 43 49 41 31 20 20  20 20 20 3D 20 24 44 43  |.:CIA1     = $DC|
00000230: 30 30 20 20 20 3B C3 C9  C1 20 31 3A 0D 3A 50 52  |00   ;... 1:.:PR|
00000240: 41 20 20 20 20 20 20 3D  20 43 49 41 31 2B 30 20  |A      = CIA1+0 |
00000250: 20 3B 20 D0 4F 52 54 20  C1 0D 3A 50 52 42 20 20  | ; .ORT ..:PRB  |
00000260: 20 20 20 20 3D 20 43 49  41 31 2B 31 20 20 3B 20  |    = CIA1+1  ; |
00000270: D0 4F 52 54 20 C2 0D 3A  44 44 52 41 20 20 20 20  |.ORT ..:DDRA    |
00000280: 20 3D 20 43 49 41 31 2B  32 20 20 3B 20 C4 41 54  | = CIA1+2  ; .AT|
00000290: 45 4E 52 49 43 48 54 55  4E 47 20 D0 2E C1 0D 3A  |ENRICHTUNG ....:|
000002A0: 44 44 52 42 20 20 20 20  20 3D 20 43 49 41 31 2B  |DDRB     = CIA1+|
000002B0: 33 20 20 3B 20 C4 41 54  45 4E 52 49 43 48 54 55  |3  ; .ATENRICHTU|
000002C0: 4E 47 20 D0 2E C2 0D 0D  3A 43 48 52 47 45 54 20  |NG .....:CHRGET |
000002D0: 20 20 3D 20 24 30 30 37  33 0D 3A 43 48 52 47 4F  |  = $0073.:CHRGO|
000002E0: 54 20 20 20 3D 20 24 30  30 37 39 0D 3A 45 52 52  |T   = $0079.:ERR|
000002F0: 4F 52 20 20 20 20 3D 20  24 41 34 33 41 20 3B C6  |OR    = $A43A ;.|
00000300: 45 48 4C 45 52 4D 45 4C  44 55 4E 47 20 41 55 53  |EHLERMELDUNG AUS|
00000310: 47 45 42 45 4E 0D 3A 4B  4F 4D 4D 41 20 20 20 20  |GEBEN.:KOMMA    |
00000320: 3D 20 24 41 45 46 44 20  3B 50 52 55 45 46 54 20  |= $AEFD ;PRUEFT |
00000330: 41 55 46 20 CB 4F 4D 4D  41 0D 3A 47 45 54 56 41  |AUF .OMMA.:GETVA|
00000340: 52 20 20 20 3D 20 24 42  30 38 42 20 3B 48 4F 4C  |R   = $B08B ;HOL|
00000350: 54 20 D6 41 52 49 41 42  4C 45 4E 41 44 52 45 53  |T .ARIABLENADRES|
00000360: 53 45 20 4E 41 43 48 20  56 41 52 0D 3A 53 45 54  |SE NACH VAR.:SET|
00000370: 46 41 43 20 20 20 3D 20  24 42 33 41 32 20 3B 59  |FAC   = $B3A2 ;Y|
00000380: 2D D2 45 47 49 53 54 45  52 20 4E 41 43 48 20 46  |-.EGISTER NACH F|
00000390: 41 43 0D 3A 47 45 54 42  59 54 20 20 20 3D 20 24  |AC.:GETBYT   = $|
000003A0: 42 37 39 42 20 3B C2 59  54 45 57 45 52 54 20 4E  |B79B ;.YTEWERT N|
000003B0: 41 43 48 20 58 20 48 4F  4C 45 4E 0D 3A 53 54 4F  |ACH X HOLEN.:STO|
000003C0: 52 45 46 41 43 20 3D 20  24 42 42 44 30 20 3B 46  |REFAC = $BBD0 ;F|
000003D0: 41 43 20 4E 41 43 48 20  D6 41 52 49 41 42 4C 45  |AC NACH .ARIABLE|
000003E0: 20 53 43 48 52 45 49 42  45 4E 0D 0D 3B 2D 2D 2D  | SCHREIBEN..;---|
000003F0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000400: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000410: 2D 2D 2D 0D 20 20 20 20  20 20 20 20 20 3B C2 C1  |---.         ;..|
00000420: D3 C9 C3 2D C8 45 41 44  45 52 0D 20 20 20 20 20  |...-.EADER.     |
00000430: 20 20 20 20 3B 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |    ;-----------|
00000440: 2D 0D 4F 52 47 20 24 30  38 30 31 20 3B 4F 52 47  |-.ORG $0801 ;ORG|
00000450: 2D 42 41 53 49 43 0D 0D  57 20 5A 45 52 4F 33 20  |-BASIC..W ZERO3 |
00000460: 20 3B 4C 49 4E 4B 2D 50  4F 49 4E 54 45 52 0D 57  | ;LINK-POINTER.W|
00000470: 20 31 39 38 36 20 20 20  3B 5A 45 49 4C 45 4E 2D  | 1986   ;ZEILEN-|
00000480: 4E 4F 0D 42 20 24 39 45  20 20 20 20 3B 53 59 53  |NO.B $9E    ;SYS|
00000490: 2D 54 4F 4B 45 4E 0D 42  20 22 32 31 32 37 3A 22  |-TOKEN.B "2127:"|
000004A0: 0D 42 20 24 38 46 20 20  20 20 3B 52 45 4D 2D 54  |.B $8F    ;REM-T|
000004B0: 4F 4B 45 4E 0D 42 20 24  32 32 20 20 20 20 3B 22  |OKEN.B $22    ;"|
000004C0: 0D 42 20 22 4A 4F 59 54  41 53 54 20 28 43 29 20  |.B "JOYTAST (C) |
000004D0: 49 4E 50 55 54 20 36 34  20 20 20 22 0D 42 20 22  |INPUT 64   ".B "|
000004E0: 44 55 52 43 48 20 D2 D5  CE 20 50 52 4F 47 52 41  |DURCH ... PROGRA|
000004F0: 4D 4D 20 4E 41 43 48 20  35 33 30 30 30 20 4B 4F  |MM NACH 53000 KO|
00000500: 50 49 45 52 45 4E 21 22  0D 42 20 24 32 32 20 20  |PIEREN!".B $22  |
00000510: 20 20 3B 22 0D 3A 5A 45  52 4F 33 20 42 20 30 2C  |  ;".:ZERO3 B 0,|
00000520: 30 2C 30 0D 0D 20 20 20  20 20 20 20 20 20 3B D6  |0,0..         ;.|
00000530: 45 52 53 43 48 49 45 42  45 2D D2 4F 55 54 49 4E  |ERSCHIEBE-.OUTIN|
00000540: 45 0D 20 20 20 20 20 20  20 20 20 3B 2D 2D 2D 2D  |E.         ;----|
00000550: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 0D 3A  |--------------.:|
00000560: 42 45 47 49 4E 20 20 20  20 4C 44 41 20 23 3C 43  |BEGIN    LDA #<C|
00000570: 4F 44 45 20 20 20 3B 4C  4F 57 2D 20 55 4E 44 0D  |ODE   ;LOW- UND.|
00000580: 20 20 20 20 20 20 20 20  20 20 4C 44 59 20 23 3E  |          LDY #>|
00000590: 43 4F 44 45 20 20 20 3B  48 49 47 48 2D 41 44 52  |CODE   ;HIGH-ADR|
000005A0: 45 53 53 0D 20 20 20 20  20 20 20 20 20 20 53 54  |ESS.          ST|
000005B0: 41 20 52 50 4E 54 20 20  20 20 20 3B 56 4F 4E 20  |A RPNT     ;VON |
000005C0: 51 55 45 4C 4C 45 0D 20  20 20 20 20 20 20 20 20  |QUELLE.         |
000005D0: 20 53 54 59 20 52 50 4E  54 2B 31 20 20 20 3B 55  | STY RPNT+1   ;U|
000005E0: 45 42 45 52 47 45 42 45  4E 0D 20 20 20 20 20 20  |EBERGEBEN.      |
000005F0: 20 20 20 20 4C 44 41 20  23 3C 53 54 41 52 54 0D  |    LDA #<START.|
00000600: 20 20 20 20 20 20 20 20  20 20 4C 44 59 20 23 3E  |          LDY #>|
00000610: 53 54 41 52 54 20 20 3B  44 49 54 4F 0D 20 20 20  |START  ;DITO.   |
00000620: 20 20 20 20 20 20 20 53  54 41 20 57 50 4E 54 20  |       STA WPNT |
00000630: 20 20 20 20 3B 46 55 45  52 0D 20 20 20 20 20 20  |    ;FUER.      |
00000640: 20 20 20 20 53 54 59 20  57 50 4E 54 2B 31 20 20  |    STY WPNT+1  |
00000650: 20 3B 5A 49 45 4C 0D 20  20 20 20 20 20 20 20 20  | ;ZIEL.         |
00000660: 20 4C 44 58 20 23 42 4C  4F 43 4B 53 20 20 3B 42  | LDX #BLOCKS  ;B|
00000670: 4C 4F 43 4B 41 4E 5A 41  48 4C 20 4C 41 44 45 4E  |LOCKANZAHL LADEN|
00000680: 0D 20 20 20 20 20 20 20  20 20 20 4C 44 59 20 23  |.          LDY #|
00000690: 30 30 20 20 20 20 20 20  3B 43 4C 52 20 42 59 54  |00      ;CLR BYT|
000006A0: 45 2D 43 4F 55 4E 54 45  52 0D 3A 54 52 4C 4F 50  |E-COUNTER.:TRLOP|
000006B0: 20 20 20 20 4C 44 41 20  28 52 50 4E 54 29 2C 59  |    LDA (RPNT),Y|
000006C0: 20 3B 4C 4F 41 44 20 41  4E 44 0D 20 20 20 20 20  | ;LOAD AND.     |
000006D0: 20 20 20 20 20 53 54 41  20 28 57 50 4E 54 29 2C  |     STA (WPNT),|
000006E0: 59 20 3B 53 54 4F 52 45  20 42 59 54 45 53 0D 20  |Y ;STORE BYTES. |
000006F0: 20 20 20 20 20 20 20 20  20 49 4E 59 20 20 20 20  |         INY    |
00000700: 20 20 20 20 20 20 3B 42  49 53 20 5A 55 4D 0D 20  |      ;BIS ZUM. |
00000710: 20 20 20 20 20 20 20 20  20 42 4E 45 20 54 52 4C  |         BNE TRL|
00000720: 4F 50 20 20 20 20 3B 50  41 47 45 2D 45 4E 44 45  |OP    ;PAGE-ENDE|
00000730: 0D 20 20 20 20 20 20 20  20 20 20 49 4E 43 20 52  |.          INC R|
00000740: 50 4E 54 2B 31 20 20 20  3B 5A 45 49 47 45 52 2D  |PNT+1   ;ZEIGER-|
00000750: 48 49 47 48 0D 20 20 20  20 20 20 20 20 20 20 49  |HIGH.          I|
00000760: 4E 43 20 57 50 4E 54 2B  31 20 20 20 3B 45 52 48  |NC WPNT+1   ;ERH|
00000770: 4F 45 48 45 4E 0D 20 20  20 20 20 20 20 20 20 20  |OEHEN.          |
00000780: 44 45 58 20 20 20 20 20  20 20 20 20 20 3B 45 56  |DEX          ;EV|
00000790: 54 4C 2E 0D 20 20 20 20  20 20 20 20 20 20 42 4E  |TL..          BN|
000007A0: 45 20 54 52 4C 4F 50 20  20 20 20 3B 4E 41 45 43  |E TRLOP    ;NAEC|
000007B0: 48 53 54 45 20 50 41 47  45 0D 20 20 20 20 20 20  |HSTE PAGE.      |
000007C0: 20 20 20 20 52 54 53 20  20 20 20 20 20 20 20 20  |    RTS         |
000007D0: 20 3B 5A 55 4D 20 C2 C1  D3 C9 C3 0D 0D 0D 3A 43  | ;ZUM ........:C|
000007E0: 4F 44 45 20 3D 20 2A 0D  20 20 20 20 20 20 20 20  |ODE = *.        |
000007F0: 20 3B D0 52 4F 47 52 41  4D 4D 53 54 41 52 54 0D  | ;.ROGRAMMSTART.|
00000800: 20 20 20 20 20 20 20 20  20 3B 2D 2D 2D 2D 2D 2D  |         ;------|
00000810: 2D 2D 2D 2D 2D 2D 2D 0D  4F 52 47 20 35 33 30 30  |-------.ORG 5300|
00000820: 30 0D 3A 53 54 41 52 54  20 20 20 20 4A 53 52 20  |0.:START    JSR |
00000830: 4B 4F 4D 4D 41 0D 20 20  20 20 20 20 20 20 20 20  |KOMMA.          |
00000840: 4A 53 52 20 47 45 54 56  41 52 0D 20 20 20 20 20  |JSR GETVAR.     |
00000850: 20 20 20 20 20 53 54 41  20 56 41 52 0D 20 20 20  |     STA VAR.   |
00000860: 20 20 20 20 20 20 20 53  54 59 20 56 41 52 2B 31  |       STY VAR+1|
00000870: 0D 20 20 20 20 20 20 20  20 20 20 4C 44 41 20 53  |.          LDA S|
00000880: 54 52 46 4C 47 0D 20 20  20 20 20 20 20 20 20 20  |TRFLG.          |
00000890: 4F 52 41 20 49 4E 54 46  4C 47 0D 20 20 20 20 20  |ORA INTFLG.     |
000008A0: 20 20 20 20 20 42 45 51  20 57 45 49 54 45 52 0D  |     BEQ WEITER.|
000008B0: 20 20 20 20 20 20 20 20  20 20 4C 44 58 20 23 32  |          LDX #2|
000008C0: 32 20 20 20 20 3B D4 D9  D0 C5 20 CD C9 D3 CD C1  |2    ;.... .....|
000008D0: D4 C3 C8 0D 20 20 20 20  20 20 20 20 20 20 4A 4D  |....          JM|
000008E0: 50 20 45 52 52 4F 52 20  20 3B C5 D2 D2 CF D2 0D  |P ERROR  ;......|
000008F0: 3A 57 45 49 54 45 52 20  20 20 4A 53 52 20 43 48  |:WEITER   JSR CH|
00000900: 52 47 4F 54 20 3B 4C 45  54 5A 54 45 53 20 DA 45  |RGOT ;LETZTES .E|
00000910: 49 43 48 45 4E 0D 20 20  20 20 20 20 20 20 20 20  |ICHEN.          |
00000920: 43 4D 50 20 23 24 32 43  20 20 20 3B CB 4F 4D 4D  |CMP #$2C   ;.OMM|
00000930: 41 3F 0D 20 20 20 20 20  20 20 20 20 20 42 4E 45  |A?.          BNE|
00000940: 20 57 41 52 54 45 4E 20  3B 3D 3D 3E 4B 45 49 4E  | WARTEN ;==>KEIN|
00000950: 20 C6 4C 41 47 0D 20 20  20 20 20 20 20 20 20 20  | .LAG.          |
00000960: 4A 53 52 20 47 45 54 42  59 54 0D 20 20 20 20 20  |JSR GETBYT.     |
00000970: 20 20 20 20 20 43 50 58  20 23 30 20 20 20 20 20  |     CPX #0     |
00000980: 3B 4F 44 45 52 20 C6 4C  41 47 20 3D 30 3A 0D 20  |;ODER .LAG =0:. |
00000990: 20 20 20 20 20 20 20 20  20 42 45 51 20 57 41 52  |         BEQ WAR|
000009A0: 54 45 4E 20 3B 3D 3D 3E  20 57 41 52 54 45 4E 0D  |TEN ;==> WARTEN.|
000009B0: 0D 20 20 20 20 20 20 20  20 20 3B 4E 49 43 48 54  |.         ;NICHT|
000009C0: 20 57 41 52 54 45 4E 0D  20 20 20 20 20 20 20 20  | WARTEN.        |
000009D0: 20 3B 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 0D 20  | ;------------. |
000009E0: 20 20 20 20 20 20 20 20  20 4A 53 52 20 54 41 53  |         JSR TAS|
000009F0: 54 20 20 20 3B C3 4F 44  45 20 49 4E 20 59 0D 3A  |T   ;.ODE IN Y.:|
00000A00: 46 45 52 54 49 47 20 20  20 4A 53 52 20 53 45 54  |FERTIG   JSR SET|
00000A10: 46 41 43 0D 20 20 20 20  20 20 20 20 20 20 4A 53  |FAC.          JS|
00000A20: 52 20 53 54 4F 52 45 46  41 43 20 3B 49 4E 20 D6  |R STOREFAC ;IN .|
00000A30: 41 52 49 41 42 4C 45 20  53 43 48 52 45 49 42 45  |ARIABLE SCHREIBE|
00000A40: 4E 0D 20 20 20 20 20 20  20 20 20 20 52 54 53 20  |N.          RTS |
00000A50: 20 20 20 20 20 20 20 3B  C5 CE C4 C5 0D 0D 20 20  |       ;......  |
00000A60: 20 20 20 20 20 20 20 3B  57 41 52 54 45 4E 2C 20  |       ;WARTEN, |
00000A70: 42 49 53 20 D4 41 53 54  45 20 47 45 44 52 55 45  |BIS .ASTE GEDRUE|
00000A80: 43 4B 54 0D 20 20 20 20  20 20 20 20 20 3B 2D 2D  |CKT.         ;--|
00000A90: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000AA0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 0D 3A 57 41 52 54 45  |---------.:WARTE|
00000AB0: 4E 20 20 20 4A 53 52 20  54 41 53 54 0D 20 20 20  |N   JSR TAST.   |
00000AC0: 20 20 20 20 20 20 20 43  50 59 20 23 31 0D 20 20  |       CPY #1.  |
00000AD0: 20 20 20 20 20 20 20 20  42 45 51 20 57 41 52 54  |        BEQ WART|
00000AE0: 45 4E 0D 20 20 20 20 20  20 20 20 20 20 4A 4D 50  |EN.          JMP|
00000AF0: 20 46 45 52 54 49 47 0D  0D 20 20 20 20 20 20 20  | FERTIG..       |
00000B00: 20 20 3B D4 41 53 54 41  54 55 52 41 42 46 52 41  |  ;.ASTATURABFRA|
00000B10: 47 45 0D 20 20 20 20 20  20 20 20 20 3B 2D 2D 2D  |GE.         ;---|
00000B20: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 0D 3A 54 41  |------------.:TA|
00000B30: 53 54 20 20 20 20 20 50  48 50 20 20 20 20 20 20  |ST     PHP      |
00000B40: 20 20 3B 53 54 41 54 55  53 20 52 45 54 54 45 4E  |  ;STATUS RETTEN|
00000B50: 0D 20 20 20 20 20 20 20  20 20 20 53 45 49 20 20  |.          SEI  |
00000B60: 20 20 20 20 20 20 3B 49  4E 54 45 52 52 55 50 54  |      ;INTERRUPT|
00000B70: 20 53 50 45 52 52 45 4E  0D 20 20 20 20 20 20 20  | SPERREN.       |
00000B80: 20 20 20 4C 44 41 20 44  44 52 41 20 20 20 3B C4  |   LDA DDRA   ;.|
00000B90: 41 54 45 4E 52 49 43 48  54 55 4E 47 20 52 45 54  |ATENRICHTUNG RET|
00000BA0: 54 45 4E 0D 20 20 20 20  20 20 20 20 20 20 50 48  |TEN.          PH|
00000BB0: 41 0D 20 20 20 20 20 20  20 20 20 20 4C 44 41 20  |A.          LDA |
00000BC0: 44 44 52 42 0D 20 20 20  20 20 20 20 20 20 20 50  |DDRB.          P|
00000BD0: 48 41 0D 20 20 20 20 20  20 20 20 20 20 4C 44 41  |HA.          LDA|
00000BE0: 20 23 24 46 46 20 20 20  3B 55 4E 44 20 4E 45 55  | #$FF   ;UND NEU|
00000BF0: 20 53 45 54 5A 45 4E 0D  20 20 20 20 20 20 20 20  | SETZEN.        |
00000C00: 20 20 53 54 41 20 44 44  52 41 0D 20 20 20 20 20  |  STA DDRA.     |
00000C10: 20 20 20 20 20 4C 44 41  20 23 24 30 30 0D 20 20  |     LDA #$00.  |
00000C20: 20 20 20 20 20 20 20 20  53 54 41 20 44 44 52 42  |        STA DDRB|
00000C30: 0D 20 20 20 20 20 20 20  20 20 20 3B 0D 20 20 20  |.          ;.   |
00000C40: 20 20 20 20 20 20 20 4C  44 58 20 23 24 37 46 20  |       LDX #$7F |
00000C50: 20 20 3B 46 55 45 52 20  D3 54 4F 50 2D C1 42 46  |  ;FUER .TOP-.BF|
00000C60: 52 41 47 45 20 45 52 4D  4F 45 47 4C 49 43 48 45  |RAGE ERMOEGLICHE|
00000C70: 4E 0D 20 20 20 20 20 20  20 20 20 20 4C 44 59 20  |N.          LDY |
00000C80: 23 35 0D 3A 4C 4F 4F 50  20 20 20 20 20 44 45 59  |#5.:LOOP     DEY|
00000C90: 0D 20 20 20 20 20 20 20  20 20 20 42 4D 49 20 52  |.          BMI R|
00000CA0: 41 55 53 20 20 20 3B 4B  45 49 4E 45 20 D4 41 53  |AUS   ;KEINE .AS|
00000CB0: 54 45 20 3D 3D 3E 52 41  55 53 0D 0D 20 20 20 20  |TE ==>RAUS..    |
00000CC0: 20 20 20 20 20 20 49 4E  43 20 44 44 52 41 0D 20  |      INC DDRA. |
00000CD0: 20 20 20 20 20 20 20 20  20 4C 44 41 20 50 52 41  |         LDA PRA|
00000CE0: 20 20 20 20 3B CA 4F 59  53 54 49 43 4B 20 3F 0D  |    ;.OYSTICK ?.|
00000CF0: 20 20 20 20 20 20 20 20  20 20 44 45 43 20 44 44  |          DEC DD|
00000D00: 52 41 0D 20 20 20 20 20  20 20 20 20 20 43 4D 50  |RA.          CMP|
00000D10: 20 54 41 42 4A 2C 59 0D  20 20 20 20 20 20 20 20  | TABJ,Y.        |
00000D20: 20 20 42 45 51 20 52 41  55 53 20 20 20 3B 4A 41  |  BEQ RAUS   ;JA|
00000D30: 2C 20 44 41 4E 4E 20 52  41 55 53 0D 0D 20 20 20  |, DANN RAUS..   |
00000D40: 20 20 20 20 20 20 20 4C  44 41 20 54 41 42 41 2C  |       LDA TABA,|
00000D50: 59 20 3B DA 45 49 4C 45  20 46 55 45 52 20 C1 42  |Y ;.EILE FUER .B|
00000D60: 46 52 41 47 45 0D 20 20  20 20 20 20 20 20 20 20  |FRAGE.          |
00000D70: 53 54 41 20 50 52 41 0D  20 20 20 20 20 20 20 20  |STA PRA.        |
00000D80: 20 20 4C 44 41 20 50 52  42 20 20 20 20 3B D4 41  |  LDA PRB    ;.A|
00000D90: 53 54 45 3F 0D 20 20 20  20 20 20 20 20 20 20 53  |STE?.          S|
00000DA0: 54 58 20 50 52 41 0D 20  20 20 20 20 20 20 20 20  |TX PRA.         |
00000DB0: 20 43 4D 50 20 54 41 42  42 2C 59 20 3B 56 45 52  | CMP TABB,Y ;VER|
00000DC0: 47 4C 45 49 43 48 45 4E  0D 20 20 20 20 20 20 20  |GLEICHEN.       |
00000DD0: 20 20 20 42 4E 45 20 4C  4F 4F 50 20 20 20 3B 4E  |   BNE LOOP   ;N|
00000DE0: 49 43 48 54 20 47 4C 45  49 43 48 2C 20 44 41 4E  |ICHT GLEICH, DAN|
00000DF0: 4E 20 4C 4F 4F 50 0D 0D  20 20 20 20 20 20 20 20  |N LOOP..        |
00000E00: 20 20 3B 0D 3A 52 41 55  53 20 20 20 20 20 50 4C  |  ;.:RAUS     PL|
00000E10: 41 20 20 20 20 20 20 20  20 3B C4 41 54 45 4E 52  |A        ;.ATENR|
00000E20: 49 43 48 54 55 4E 47 20  52 45 4B 4F 4E 53 54 52  |ICHTUNG REKONSTR|
00000E30: 55 49 45 52 45 4E 0D 20  20 20 20 20 20 20 20 20  |UIEREN.         |
00000E40: 20 53 54 41 20 44 44 52  42 0D 20 20 20 20 20 20  | STA DDRB.      |
00000E50: 20 20 20 20 50 4C 41 0D  20 20 20 20 20 20 20 20  |    PLA.        |
00000E60: 20 20 53 54 41 20 44 44  52 41 0D 20 20 20 20 20  |  STA DDRA.     |
00000E70: 20 20 20 20 20 49 4E 59  0D 20 20 20 20 20 20 20  |     INY.       |
00000E80: 20 20 20 49 4E 59 0D 20  20 20 20 20 20 20 20 20  |   INY.         |
00000E90: 20 50 4C 50 0D 20 20 20  20 20 20 20 20 20 20 52  | PLP.          R|
00000EA0: 54 53 20 20 20 20 20 20  20 20 3B D4 41 53 54 41  |TS        ;.ASTA|
00000EB0: 54 55 52 43 4F 44 45 20  57 49 52 44 0D 20 20 20  |TURCODE WIRD.   |
00000EC0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000ED0: 20 20 3B 49 4E 20 59 20  55 45 42 45 52 47 45 42  |  ;IN Y UEBERGEB|
00000EE0: 45 4E 0D 20 20 20 20 20  20 20 20 20 20 20 20 20  |EN.             |
00000EF0: 20 20 20 20 20 20 20 20  3B 4B 45 49 4E 45 20 D4  |        ;KEINE .|
00000F00: 41 53 54 45 3A 20 31 0D  0D 3B 54 41 42 45 4C 4C  |ASTE: 1..;TABELL|
00000F10: 45 4E 20 46 55 45 52 20  41 42 46 52 41 47 45 0D  |EN FUER ABFRAGE.|
00000F20: 0D 3A 54 41 42 4A 20 20  20 20 20 20 20 20 20 20  |.:TABJ          |
00000F30: 20 20 20 20 20 20 3B CA  4F 59 53 54 49 43 4B 0D  |      ;.OYSTICK.|
00000F40: 20 20 20 20 20 20 20 20  42 20 25 31 31 31 31 31  |        B %11111|
00000F50: 31 31 30 20 20 3B 4F 42  45 4E 0D 20 20 20 20 20  |110  ;OBEN.     |
00000F60: 20 20 20 42 20 25 31 31  31 31 31 31 30 31 20 20  |   B %11111101  |
00000F70: 3B 55 4E 54 45 4E 0D 20  20 20 20 20 20 20 20 42  |;UNTEN.        B|
00000F80: 20 25 31 31 31 31 30 31  31 31 20 20 3B 52 45 43  | %11110111  ;REC|
00000F90: 48 54 53 0D 20 20 20 20  20 20 20 20 42 20 25 31  |HTS.        B %1|
00000FA0: 31 31 31 31 30 31 31 20  20 3B 4C 49 4E 4B 53 0D  |1111011  ;LINKS.|
00000FB0: 20 20 20 20 20 20 20 20  42 20 25 31 31 31 30 31  |        B %11101|
00000FC0: 31 31 31 20 20 3B 46 45  55 45 52 0D 0D 3A 54 41  |111  ;FEUER..:TA|
00000FD0: 42 41 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |BA              |
00000FE0: 20 20 3B D4 41 53 54 41  54 55 52 2C 20 DA 45 49  |  ;.ASTATUR, .EI|
00000FF0: 4C 45 4E 0D 20 20 20 20  20 20 20 20 42 20 25 31  |LEN.        B %1|
00001000: 31 31 31 31 31 30 31 20  20 3B 41 0D 20 20 20 20  |1111101  ;A.    |
00001010: 20 20 20 20 42 20 25 31  31 31 31 31 31 30 31 20  |    B %11111101 |
00001020: 20 3B 5A 0D 20 20 20 20  20 20 20 20 42 20 25 31  | ;Z.        B %1|
00001030: 30 31 31 31 31 31 31 20  20 3B 2F 0D 20 20 20 20  |0111111  ;/.    |
00001040: 20 20 20 20 42 20 25 31  31 30 31 31 31 31 31 20  |    B %11011111 |
00001050: 20 3B 2E 0D 20 20 20 20  20 20 20 20 42 20 25 30  | ;..        B %0|
00001060: 31 31 31 31 31 31 31 20  20 3B 53 50 41 43 45 0D  |1111111  ;SPACE.|
00001070: 0D 3A 54 41 42 42 20 20  20 20 20 20 20 20 20 20  |.:TABB          |
00001080: 20 20 20 20 20 20 3B D4  41 53 54 41 54 55 52 2C  |      ;.ASTATUR,|
00001090: 20 D3 50 41 4C 54 45 4E  0D 20 20 20 20 20 20 20  | .PALTEN.       |
000010A0: 20 42 20 25 31 31 31 31  31 30 31 31 20 20 3B 53  | B %11111011  ;S|
000010B0: 49 45 48 45 20 4F 42 45  4E 0D 20 20 20 20 20 20  |IEHE OBEN.      |
000010C0: 20 20 42 20 25 31 31 31  30 31 31 31 31 0D 20 20  |  B %11101111.  |
000010D0: 20 20 20 20 20 20 42 20  25 30 31 31 31 31 31 31  |      B %0111111|
000010E0: 31 0D 20 20 20 20 20 20  20 20 42 20 25 31 31 31  |1.        B %111|
000010F0: 30 31 31 31 31 0D 20 20  20 20 20 20 20 20 42 20  |01111.        B |
00001100: 25 31 31 31 30 31 31 31  31 0D 3B 2D 2D 2D 2D 2D  |%11101111.;-----|
00001110: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00001120: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00001130: 2D 0D 3A 43 44 45 4E 44  20 3D 20 2A 2D 53 54 41  |-.:CDEND = *-STA|
00001140: 52 54 0D 3A 42 4C 4F 43  4B 53 20 3A 3D 20 3E 43  |RT.:BLOCKS := >C|
00001150: 44 45 4E 44 0D 3A 4C 4F  57 20 3D 20 3C 43 44 45  |DEND.:LOW = <CDE|
00001160: 4E 44 2D 43 4F 44 45 0D  49 46 20 4C 4F 57 20 3E  |ND-CODE.IF LOW >|
00001170: 20 30 0D 3A 42 4C 4F 43  4B 53 20 3A 3D 20 42 4C  | 0.:BLOCKS := BL|
00001180: 4F 43 4B 53 2B 31 0D 0D  0D 0D 0D 0D 0D 20 00     |OCKS+1....... . |
;***************************************
.;*                                     
*.;*   TASTATUR / JOYSTICKABFRAGE       
 *.;*                                   
  *.;*     (W) 1986 BY MARTIN GEBHARDT  
   *.;*                                 
    *.;*********************************
******..;-------------------------------
-------.:STRFLG   = $0D  ;$FF: STRING.:I
NTFLG   = $0E  ;$80: INTEGER.:VAR      =
 $49  ;ZEIGER AUF VARIABLE.:FAC      = $
61  ;FLIESSKOMMAAKKU #1.:RPNT     = $FB 
 ;READPOINTER UND.:WPNT     = $FD  ;WRIT
EPOINTER FUER TRANSFER...:CIA1     = $DC
00   ;CIA 1:.:PRA      = CIA1+0  ; PORT 
A.:PRB      = CIA1+1  ; PORT B.:DDRA    
 = CIA1+2  ; DATENRICHTUNG P.A.:DDRB    
 = CIA1+3  ; DATENRICHTUNG P.B..:CHRGET 
  = $0073.:CHRGOT   = $0079.:ERROR    = 
$A43A ;FEHLERMELDUNG AUSGEBEN.:KOMMA    
= $AEFD ;PRUEFT AUF KOMMA.:GETVAR   = $B
08B ;HOLT VARIABLENADRESSE NACH VAR.:SET
FAC   = $B3A2 ;Y-REGISTER NACH FAC.:GETB
YT   = $B79B ;BYTEWERT NACH X HOLEN.:STO
REFAC = $BBD0 ;FAC NACH VARIABLE SCHREIB
EN..;-----------------------------------
---.         ;BASIC-HEADER.         ;---
---------.ORG $0801 ;ORG-BASIC..W ZERO3 
 ;LINK-POINTER.W 1986   ;ZEILEN-NO.B $9E
    ;SYS-TOKEN.B "2127:".B $8F    ;REM-T
OKEN.B $22    ;".B "JOYTAST (C) INPUT 64
   ".B "DURCH RUN PROGRAMM NACH 53000 KO
PIEREN!".B $22    ;".:ZERO3 B 0,0,0..   
      ;VERSCHIEBE-ROUTINE.         ;----
--------------.:BEGIN    LDA #<CODE   ;L
OW- UND.          LDY #>CODE   ;HIGH-ADR
ESS.          STA RPNT     ;VON QUELLE. 
         STY RPNT+1   ;UEBERGEBEN.      
    LDA #<START.          LDY #>START  ;
DITO.          STA WPNT     ;FUER.      
    STY WPNT+1   ;ZIEL.          LDX #BL
OCKS  ;BLOCKANZAHL LADEN.          LDY #
00      ;CLR BYTE-COUNTER.:TRLOP    LDA 
(RPNT),Y ;LOAD AND.          STA (WPNT),
Y ;STORE BYTES.          INY          ;B
IS ZUM.          BNE TRLOP    ;PAGE-ENDE
.          INC RPNT+1   ;ZEIGER-HIGH.   
       INC WPNT+1   ;ERHOEHEN.          
DEX          ;EVTL..          BNE TRLOP 
   ;NAECHSTE PAGE.          RTS         
 ;ZUM BASIC...:CODE = *.         ;PROGRA
MMSTART.         ;-------------.ORG 5300
0.:START    JSR KOMMA.          JSR GETV
AR.          STA VAR.          STY VAR+1
.          LDA STRFLG.          ORA INTF
LG.          BEQ WEITER.          LDX #2
2    ;TYPE MISMATCH.          JMP ERROR 
 ;ERROR.:WEITER   JSR CHRGOT ;LETZTES ZE
ICHEN.          CMP #$2C   ;KOMMA?.     
     BNE WARTEN ;==>KEIN FLAG.          
JSR GETBYT.          CPX #0     ;ODER FL
AG =0:.          BEQ WARTEN ;==> WARTEN.
.         ;NICHT WARTEN.         ;------
------.          JSR TAST   ;CODE IN Y.:
FERTIG   JSR SETFAC.          JSR STOREF
AC ;IN VARIABLE SCHREIBEN.          RTS 
       ;ENDE..         ;WARTEN, BIS TAST
E GEDRUECKT.         ;------------------
---------.:WARTEN   JSR TAST.          C
PY #1.          BEQ WARTEN.          JMP
 FERTIG..         ;TASTATURABFRAGE.     
    ;---------------.:TAST     PHP      
  ;STATUS RETTEN.          SEI        ;I
NTERRUPT SPERREN.          LDA DDRA   ;D
ATENRICHTUNG RETTEN.          PHA.      
    LDA DDRB.          PHA.          LDA
 #$FF   ;UND NEU SETZEN.          STA DD
RA.          LDA #$00.          STA DDRB
.          ;.          LDX #$7F   ;FUER 
STOP-ABFRAGE ERMOEGLICHEN.          LDY 
#5.:LOOP     DEY.          BMI RAUS   ;K
EINE TASTE ==>RAUS..          INC DDRA. 
         LDA PRA    ;JOYSTICK ?.        
  DEC DDRA.          CMP TABJ,Y.        
  BEQ RAUS   ;JA, DANN RAUS..          L
DA TABA,Y ;ZEILE FUER ABFRAGE.          
STA PRA.          LDA PRB    ;TASTE?.   
       STX PRA.          CMP TABB,Y ;VER
GLEICHEN.          BNE LOOP   ;NICHT GLE
ICH, DANN LOOP..          ;.:RAUS     PL
A        ;DATENRICHTUNG REKONSTRUIEREN. 
         STA DDRB.          PLA.        
  STA DDRA.          INY.          INY. 
         PLP.          RTS        ;TASTA
TURCODE WIRD.                     ;IN Y 
UEBERGEBEN.                     ;KEINE T
ASTE: 1..;TABELLEN FUER ABFRAGE..:TABJ  
              ;JOYSTICK.        B %11111
110  ;OBEN.        B %11111101  ;UNTEN. 
       B %11110111  ;RECHTS.        B %1
1111011  ;LINKS.        B %11101111  ;FE
UER..:TABA                ;TASTATUR, ZEI
LEN.        B %11111101  ;A.        B %1
1111101  ;Z.        B %10111111  ;/.    
    B %11011111  ;..        B %01111111 
 ;SPACE..:TABB                ;TASTATUR,
 SPALTEN.        B %11111011  ;SIEHE OBE
N.        B %11101111.        B %0111111
1.        B %11101111.        B %1110111
1.;-------------------------------------
-.:CDEND = *-START.:BLOCKS := >CDEND.:LO
W = <CDEND-CODE.IF LOW > 0.:BLOCKS := BL
OCKS+1....... .
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL