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

ASM.MOREKEYS

FILE INFORMATION

FILENAME(S): ASM.MOREKEYS

FILE TYPE(S): SEQ

FILE SIZE: 1.3K

FIRST SEEN: 2025-11-30 16:45:20

APPEARS ON: 2 disk(s)

FILE HASH

9021030810a74884783006a775a00392b7d89ae83a6b39ab49bd3c828063944b

FOUND ON DISKS (2 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
TALENTED RULERZ ASM.MOREKEYS SEQ High Voltage Complete C64 Collection 1 5 DOWNLOAD FILE
THE GRAPEVINE ASM.MOREKEYS SEQ High Voltage Complete C64 Collection 1 5 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 0D 3B 4B 45 59 20 44 49  46 46 45 52 45 4E 54 49  |.;KEY DIFFERENTI|
00000010: 41 54 49 4F 4E 0D 0D 3B  43 4F 44 45 20 42 59 20  |ATION..;CODE BY |
00000020: 52 45 49 4E 45 52 20 52  49 43 48 54 45 52 0D 3B  |REINER RICHTER.;|
00000030: 28 43 29 20 43 4F 50 59  52 49 47 48 54 2C 20 4E  |(C) COPYRIGHT, N|
00000040: 4F 54 0D 0D 3B 54 48 49  53 20 49 53 20 53 4F 4D  |OT..;THIS IS SOM|
00000050: 45 20 44 45 4D 4F 20 43  4F 44 45 20 54 4F 20 44  |E DEMO CODE TO D|
00000060: 49 53 54 49 4E 47 55 49  53 48 0D 3B 20 42 45 54  |ISTINGUISH.; BET|
00000070: 57 45 45 4E 20 44 49 46  46 45 52 45 4E 54 20 4B  |WEEN DIFFERENT K|
00000080: 45 59 20 43 4F 4D 42 49  4E 41 54 49 4F 4E 53 0D  |EY COMBINATIONS.|
00000090: 3B 20 54 48 41 54 20 4E  4F 54 4D 41 4C 4C 59 20  |; THAT NOTMALLY |
000000A0: 47 49 56 45 20 54 48 45  20 53 41 4D 45 20 41 53  |GIVE THE SAME AS|
000000B0: 43 49 49 0D 3B 20 52 45  53 55 4C 54 2E 0D 0D 0D  |CII.; RESULT....|
000000C0: 43 48 52 4F 55 54 20 20  20 3D 20 24 46 46 44 32  |CHROUT   = $FFD2|
000000D0: 20 20 20 3B 4B 45 52 4E  41 4C 20 4F 55 54 50 55  |   ;KERNAL OUTPU|
000000E0: 54 20 43 48 41 52 0D 47  45 54 49 4E 20 20 20 20  |T CHAR.GETIN    |
000000F0: 3D 20 24 46 46 45 34 20  20 20 3B 4B 45 52 4E 41  |= $FFE4   ;KERNA|
00000100: 4C 20 47 45 54 20 43 48  41 52 0D 0D 4C 53 54 58  |L GET CHAR..LSTX|
00000110: 20 20 20 20 20 3D 20 31  39 37 20 20 20 20 20 3B  |     = 197     ;|
00000120: 43 55 52 52 45 4E 54 20  4B 45 59 20 50 52 45 53  |CURRENT KEY PRES|
00000130: 53 45 44 0D 53 48 46 4C  41 47 20 20 20 3D 20 36  |SED.SHFLAG   = 6|
00000140: 35 33 20 20 20 20 20 3B  4B 45 59 42 4F 41 52 44  |53     ;KEYBOARD|
00000150: 20 53 48 49 46 54 20 4B  45 59 0D 20 20 20 20 20  | SHIFT KEY.     |
00000160: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000170: 3B 31 3D 53 48 49 46 54  0D 20 20 20 20 20 20 20  |;1=SHIFT.       |
00000180: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 3B 32  |              ;2|
00000190: 3D 43 4F 4D 4D 4F 44 4F  52 45 0D 20 20 20 20 20  |=COMMODORE.     |
000001A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001B0: 3B 34 3D 43 4F 4E 54 52  4F 4C 0D 0D 0D 20 20 20  |;4=CONTROL...   |
000001C0: 20 20 20 20 20 20 2A 3D  20 24 34 30 30 30 0D 0D  |      *= $4000..|
000001D0: 0D 20 20 20 20 20 20 20  20 20 43 4C 49 0D 20 20  |.         CLI.  |
000001E0: 20 20 20 20 20 20 20 4C  44 58 20 23 30 0D 4C 4F  |       LDX #0.LO|
000001F0: 4F 50 20 20 20 20 20 4C  44 41 20 49 4E 54 52 4F  |OP     LDA INTRO|
00000200: 54 58 54 2C 58 20 20 3B  50 52 49 4E 54 20 49 4E  |TXT,X  ;PRINT IN|
00000210: 54 52 4F 0D 20 20 20 20  20 20 20 20 20 42 45 51  |TRO.         BEQ|
00000220: 20 57 41 49 54 4C 4F 4F  50 20 20 20 20 3B 20 54  | WAITLOOP    ; T|
00000230: 45 58 54 20 53 4F 20 59  4F 55 0D 20 20 20 20 20  |EXT SO YOU.     |
00000240: 20 20 20 20 4A 53 52 20  43 48 52 4F 55 54 20 20  |    JSR CHROUT  |
00000250: 20 20 20 20 3B 20 4B 4E  4F 57 20 57 48 41 54 20  |    ; KNOW WHAT |
00000260: 54 4F 0D 20 20 20 20 20  20 20 20 20 49 4E 58 20  |TO.         INX |
00000270: 20 20 20 20 20 20 20 20  20 20 20 20 3B 20 44 4F  |            ; DO|
00000280: 2E 0D 20 20 20 20 20 20  20 20 20 42 4E 45 20 4C  |..         BNE L|
00000290: 4F 4F 50 0D 57 41 49 54  4C 4F 4F 50 20 4A 53 52  |OOP.WAITLOOP JSR|
000002A0: 20 47 45 54 49 4E 20 20  20 20 20 3B 57 41 49 54  | GETIN     ;WAIT|
000002B0: 20 55 4E 54 49 4C 20 54  48 45 0D 20 20 20 20 20  | UNTIL THE.     |
000002C0: 20 20 20 20 43 4D 50 20  23 31 39 20 20 20 20 20  |    CMP #19     |
000002D0: 20 20 3B 20 41 50 50 52  4F 50 52 49 41 54 45 0D  |  ; APPROPRIATE.|
000002E0: 20 20 20 20 20 20 20 20  20 42 4E 45 20 57 41 49  |         BNE WAI|
000002F0: 54 4C 4F 4F 50 20 20 3B  20 4B 45 59 20 49 53 20  |TLOOP  ; KEY IS |
00000300: 50 52 45 53 53 45 44 2E  0D 20 20 20 20 20 20 20  |PRESSED..       |
00000310: 20 20 4C 44 58 20 23 30  0D 20 20 20 20 20 20 20  |  LDX #0.       |
00000320: 20 20 4C 44 41 20 53 48  46 4C 41 47 20 20 20 20  |  LDA SHFLAG    |
00000330: 3B 43 48 45 43 4B 20 46  4F 52 0D 20 20 20 20 20  |;CHECK FOR.     |
00000340: 20 20 20 20 41 4E 44 20  23 34 20 20 20 20 20 20  |    AND #4      |
00000350: 20 20 3B 20 43 4F 4E 54  52 4F 4C 20 4B 45 59 2E  |  ; CONTROL KEY.|
00000360: 0D 20 20 20 20 20 20 20  20 20 42 45 51 20 4E 4F  |.         BEQ NO|
00000370: 43 54 52 4C 0D 20 20 20  20 20 20 20 20 20 4C 44  |CTRL.         LD|
00000380: 58 20 23 54 58 54 43 54  52 4C 53 2D 54 58 54 48  |X #TXTCTRLS-TXTH|
00000390: 4F 4D 45 0D 4E 4F 43 54  52 4C 20 20 20 4C 44 41  |OME.NOCTRL   LDA|
000003A0: 20 54 58 54 48 4F 4D 45  2C 58 0D 20 20 20 20 20  | TXTHOME,X.     |
000003B0: 20 20 20 20 42 45 51 20  45 58 49 54 20 20 20 20  |    BEQ EXIT    |
000003C0: 20 20 20 20 3B 20 54 45  58 54 20 53 4F 20 59 4F  |    ; TEXT SO YO|
000003D0: 55 0D 20 20 20 20 20 20  20 20 20 4A 53 52 20 43  |U.         JSR C|
000003E0: 48 52 4F 55 54 20 20 20  20 20 20 3B 20 4B 4E 4F  |HROUT      ; KNO|
000003F0: 57 20 57 48 41 54 20 54  4F 0D 20 20 20 20 20 20  |W WHAT TO.      |
00000400: 20 20 20 49 4E 58 20 20  20 20 20 20 20 20 20 20  |   INX          |
00000410: 20 20 20 3B 20 44 4F 2E  0D 20 20 20 20 20 20 20  |   ; DO..       |
00000420: 20 20 42 4E 45 20 4E 4F  43 54 52 4C 0D 45 58 49  |  BNE NOCTRL.EXI|
00000430: 54 20 20 20 20 20 52 54  53 0D 0D 49 4E 54 52 4F  |T     RTS..INTRO|
00000440: 54 58 54 20 2E 42 59 54  45 20 31 34 37 0D 20 20  |TXT .BYTE 147.  |
00000450: 20 20 20 20 20 20 20 2E  54 45 58 54 20 22 50 52  |       .TEXT "PR|
00000460: 45 53 53 20 48 4F 4D 45  20 4F 52 20 22 0D 20 20  |ESS HOME OR ".  |
00000470: 20 20 20 20 20 20 20 2E  54 45 58 54 20 22 43 4F  |       .TEXT "CO|
00000480: 4E 54 52 4F 4C 20 53 2E  2E 2E 22 0D 20 20 20 20  |NTROL S...".    |
00000490: 20 20 20 20 20 2E 42 59  54 45 20 31 33 2C 30 0D  |     .BYTE 13,0.|
000004A0: 0D 54 58 54 48 4F 4D 45  20 20 2E 54 45 58 54 20  |.TXTHOME  .TEXT |
000004B0: 22 48 4F 4D 45 20 57 41  53 20 50 52 45 53 53 45  |"HOME WAS PRESSE|
000004C0: 44 2E 22 0D 20 20 20 20  20 20 20 20 20 2E 42 59  |D.".         .BY|
000004D0: 54 45 20 30 0D 0D 54 58  54 43 54 52 4C 53 20 2E  |TE 0..TXTCTRLS .|
000004E0: 54 45 58 54 20 22 43 4F  4E 54 52 4F 4C 20 53 20  |TEXT "CONTROL S |
000004F0: 57 41 53 20 50 52 45 53  53 45 44 2E 22 0D 20 20  |WAS PRESSED.".  |
00000500: 20 20 20 20 20 20 20 2E  42 59 54 45 20 30 0D 0D  |       .BYTE 0..|
.;KEY DIFFERENTIATION..;CODE BY REINER R
ICHTER.;(C) COPYRIGHT, NOT..;THIS IS SOM
E DEMO CODE TO DISTINGUISH.; BETWEEN DIF
FERENT KEY COMBINATIONS.; THAT NOTMALLY 
GIVE THE SAME ASCII.; RESULT....CHROUT  
 = $FFD2   ;KERNAL OUTPUT CHAR.GETIN    
= $FFE4   ;KERNAL GET CHAR..LSTX     = 1
97     ;CURRENT KEY PRESSED.SHFLAG   = 6
53     ;KEYBOARD SHIFT KEY.             
        ;1=SHIFT.                     ;2
=COMMODORE.                     ;4=CONTR
OL...         *= $4000...         CLI.  
       LDX #0.LOOP     LDA INTROTXT,X  ;
PRINT INTRO.         BEQ WAITLOOP    ; T
EXT SO YOU.         JSR CHROUT      ; KN
OW WHAT TO.         INX             ; DO
..         BNE LOOP.WAITLOOP JSR GETIN  
   ;WAIT UNTIL THE.         CMP #19     
  ; APPROPRIATE.         BNE WAITLOOP  ;
 KEY IS PRESSED..         LDX #0.       
  LDA SHFLAG    ;CHECK FOR.         AND 
#4        ; CONTROL KEY..         BEQ NO
CTRL.         LDX #TXTCTRLS-TXTHOME.NOCT
RL   LDA TXTHOME,X.         BEQ EXIT    
    ; TEXT SO YOU.         JSR CHROUT   
   ; KNOW WHAT TO.         INX          
   ; DO..         BNE NOCTRL.EXIT     RT
S..INTROTXT .BYTE 147.         .TEXT "PR
ESS HOME OR ".         .TEXT "CONTROL S.
..".         .BYTE 13,0..TXTHOME  .TEXT 
"HOME WAS PRESSED.".         .BYTE 0..TX
TCTRLS .TEXT "CONTROL S WAS PRESSED.".  
       .BYTE 0..
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL