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