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

HANDSHAKER

FILE INFORMATION

FILENAME(S): HANDSHAKER

FILE TYPE(S): PRG

FILE SIZE: 1.8K

FIRST SEEN: 2025-11-30 21:23:13

APPEARS ON: 2 disk(s)

FILE HASH

0e9c5b8f9398b9713c8aac655bec8156d80a909167ccf6fb374fbca907a84132

FOUND ON DISKS (2 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
C64 HULP 18 1 HANDSHAKER PRG DuncanTwain 17 0 DOWNLOAD FILE
C64 SPEL 71 2 HANDSHAKER PRG DuncanTwain 23 6 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)

00000000: 01 08 12 08 0A 00 8F 20  48 41 4E 44 53 48 41 4B  |....... HANDSHAK|
00000010: 45 52 00 3B 08 0B 00 8F  2D 2D 2D 2D 2D 2D 2D 2D  |ER.;....--------|
00000020: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000030: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 00 5F 08 14 00  |-----------._...|
00000040: 8F 20 52 45 47 49 53 54  45 52 20 41 44 44 52 45  |. REGISTER ADDRE|
00000050: 53 53 45 53 20 41 4E 44  20 56 41 4C 55 45 53 00  |SSES AND VALUES.|
00000060: A2 08 1E 00 83 35 39 34  35 37 2C 35 39 34 35 39  |.....59457,59459|
00000070: 2C 35 39 34 36 37 2C 35  39 34 36 38 2C 35 39 34  |,59467,59468,594|
00000080: 36 38 2C 35 39 34 36 38  2C 35 39 34 35 37 2C 35  |68,59468,59457,5|
00000090: 39 34 36 39 3A 8F 20 2A  2A 2A 20 50 45 54 20 2A  |9469:. *** PET *|
000000A0: 2A 2A 00 B9 08 1F 00 83  32 35 34 2C 32 32 34 2C  |**......254,224,|
000000B0: 32 32 34 2C 32 32 33 2C  32 00 BF 08 20 00 3A 00  |224,223,2... .:.|
000000C0: 02 09 28 00 83 33 37 31  33 36 2C 33 37 31 33 38  |..(..37136,37138|
000000D0: 2C 33 37 31 34 37 2C 33  37 31 34 38 2C 33 37 31  |,37147,37148,371|
000000E0: 34 38 2C 33 37 31 34 38  2C 33 37 31 33 36 2C 33  |48,37148,37136,3|
000000F0: 37 31 34 39 3A 8F 20 2A  2A 2A 20 56 49 43 20 2A  |7149:. *** VIC *|
00000100: 2A 2A 00 1A 09 29 00 83  32 33 39 2C 32 32 34 2C  |**...)..239,224,|
00000110: 32 32 34 2C 32 32 33 2C  31 36 00 20 09 2A 00 3A  |224,223,16. .*.:|
00000120: 00 65 09 32 00 83 35 36  35 37 37 2C 35 36 35 37  |.e.2..56577,5657|
00000130: 39 2C 30 30 38 32 38 2C  30 30 38 32 38 2C 35 36  |9,00828,00828,56|
00000140: 35 37 38 2C 35 36 35 37  36 2C 35 36 35 38 39 2C  |578,56576,56589,|
00000150: 35 36 35 38 39 3A 8F 20  2A 2A 2A 20 43 42 4D 36  |56589:. *** CBM6|
00000160: 34 20 2A 2A 2A 00 77 09  33 00 83 30 2C 34 2C 34  |4 ***.w.3..0,4,4|
00000170: 2C 32 35 31 2C 31 36 00  A0 09 34 00 8F 2D 2D 2D  |,251,16...4..---|
00000180: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000190: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
000001A0: 00 DB 09 3C 00 4D 54 B2  C2 28 36 35 35 33 34 29  |...<.MT..(65534)|
000001B0: AA 32 35 36 AC C2 28 36  35 35 33 35 29 3A 8F 20  |.256..(65535):. |
000001C0: 2A 2A 2A 20 44 45 54 45  43 54 20 4D 41 43 48 49  |*** DETECT MACHI|
000001D0: 4E 45 20 54 59 50 45 20  2A 2A 2A 00 0D 0A 3D 00  |NE TYPE ***...=.|
000001E0: 8B 4D 54 B2 36 35 33 39  34 A7 81 49 B2 31 A4 31  |.MT.65394..I.1.1|
000001F0: 33 3A 87 5A 3A 82 3A 89  37 30 3A 8F 20 2A 2A 2A  |3:.Z:.:.70:. ***|
00000200: 20 49 54 27 53 20 56 49  43 20 2A 2A 2A 00 3D 0A  | IT'S VIC ***.=.|
00000210: 3E 00 8B 4D 54 B2 36 35  33 35 32 A7 81 49 B2 31  |>..MT.65352..I.1|
00000220: A4 32 36 3A 87 5A 3A 82  3A 8F 20 2A 2A 2A 20 49  |.26:.Z:.:. *** I|
00000230: 54 27 53 20 43 42 4D 36  34 20 2A 2A 2A 00 5E 0A  |T'S CBM64 ***.^.|
00000240: 3F 00 8F 20 2A 2A 2A 20  41 4C 4C 20 4F 54 48 45  |?.. *** ALL OTHE|
00000250: 52 53 20 41 52 45 20 50  45 54 20 2A 2A 2A 00 87  |RS ARE PET ***..|
00000260: 0A 40 00 8F 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |.@..------------|
00000270: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000280: 2D 2D 2D 2D 2D 2D 2D 00  AF 0A 46 00 8F 20 2A 2A  |-------...F.. **|
00000290: 2A 20 53 45 54 20 55 50  20 52 45 47 49 53 54 45  |* SET UP REGISTE|
000002A0: 52 20 41 44 44 52 45 53  53 45 53 20 2A 2A 2A 00  |R ADDRESSES ***.|
000002B0: D0 0A 47 00 87 44 52 20  3A 8F 20 2A 2A 2A 20 44  |..G..DR :. *** D|
000002C0: 41 54 41 20 52 45 47 49  53 54 45 52 20 2A 2A 2A  |ATA REGISTER ***|
000002D0: 00 F2 0A 48 00 87 44 44  20 3A 8F 20 2A 2A 2A 20  |...H..DD :. *** |
000002E0: 44 41 54 41 20 44 49 52  45 43 54 49 4F 4E 20 2A  |DATA DIRECTION *|
000002F0: 2A 2A 00 30 0B 49 00 87  41 43 20 3A 8F 20 2A 2A  |**.0.I..AC :. **|
00000300: 2A 20 41 55 58 49 4C 49  41 52 59 20 43 4F 4E 54  |* AUXILIARY CONT|
00000310: 52 4F 4C 20 28 44 55 4D  4D 59 20 41 44 44 52 45  |ROL (DUMMY ADDRE|
00000320: 53 53 20 4F 4E 20 43 42  4D 36 34 29 20 2A 2A 2A  |SS ON CBM64) ***|
00000330: 00 6F 0B 4A 00 87 50 43  20 3A 8F 20 2A 2A 2A 20  |.o.J..PC :. *** |
00000340: 50 45 52 49 50 48 45 52  41 4C 20 43 4F 4E 54 52  |PERIPHERAL CONTR|
00000350: 4F 4C 20 28 44 55 4D 4D  59 20 41 44 44 52 45 53  |OL (DUMMY ADDRES|
00000360: 53 20 4F 4E 20 43 42 4D  36 34 29 20 2A 2A 2A 00  |S ON CBM64) ***.|
00000370: 93 0B 4B 00 87 48 45 20  3A 8F 20 2A 2A 2A 20 48  |..K..HE :. *** H|
00000380: 41 4E 44 53 48 41 4B 45  20 45 4E 41 42 4C 45 20  |ANDSHAKE ENABLE |
00000390: 2A 2A 2A 00 B7 0B 4C 00  87 48 53 20 3A 8F 20 2A  |***...L..HS :. *|
000003A0: 2A 2A 20 48 41 4E 44 53  48 41 4B 45 20 4F 55 54  |** HANDSHAKE OUT|
000003B0: 50 55 54 20 2A 2A 2A 00  DB 0B 4D 00 87 48 54 20  |PUT ***...M..HT |
000003C0: 3A 8F 20 2A 2A 2A 20 48  41 4E 44 53 48 41 4B 45  |:. *** HANDSHAKE|
000003D0: 20 27 54 49 44 59 27 20  2A 2A 2A 00 00 0C 4E 00  | 'TIDY' ***...N.|
000003E0: 87 49 43 20 3A 8F 20 2A  2A 2A 20 49 4E 54 45 52  |.IC :. *** INTER|
000003F0: 52 55 50 54 20 43 4F 4E  54 52 4F 4C 20 2A 2A 2A  |RUPT CONTROL ***|
00000400: 00 25 0C 50 00 8F 20 2A  2A 2A 20 53 45 54 20 55  |.%.P.. *** SET U|
00000410: 50 20 52 45 47 49 53 54  45 52 20 56 41 4C 55 45  |P REGISTER VALUE|
00000420: 53 20 2A 2A 2A 00 61 0C  51 00 87 4B 31 20 3A 8F  |S ***.a.Q..K1 :.|
00000430: 20 2A 2A 2A 54 4F 20 44  45 46 49 4E 45 20 31 2D  | ***TO DEFINE 1-|
00000440: 30 20 48 41 4E 44 53 48  41 4B 45 20 28 44 55 4D  |0 HANDSHAKE (DUM|
00000450: 4D 59 20 4F 4E 20 43 42  4D 36 34 29 20 2A 2A 2A  |MY ON CBM64) ***|
00000460: 2A 00 92 0C 52 00 87 4B  32 20 3A 8F 20 2A 2A 2A  |*...R..K2 :. ***|
00000470: 54 4F 20 45 4E 41 42 4C  45 20 48 41 4E 44 53 48  |TO ENABLE HANDSH|
00000480: 41 4B 45 20 54 4F 20 42  45 20 53 45 4E 54 20 2A  |AKE TO BE SENT *|
00000490: 2A 2A 00 B9 0C 53 00 87  4B 33 20 3A 8F 20 2A 2A  |**...S..K3 :. **|
000004A0: 2A 20 54 4F 20 53 45 54  20 48 41 4E 44 53 48 41  |* TO SET HANDSHA|
000004B0: 4B 45 20 3D 31 20 2A 2A  2A 00 E0 0C 54 00 87 4B  |KE =1 ***...T..K|
000004C0: 34 20 3A 8F 20 2A 2A 2A  20 54 4F 20 53 45 54 20  |4 :. *** TO SET |
000004D0: 48 41 4E 44 53 48 41 4B  45 20 3D 30 20 2A 2A 2A  |HANDSHAKE =0 ***|
000004E0: 00 0D 0D 55 00 87 4B 35  20 3A 8F 20 2A 2A 2A 20  |...U..K5 :. *** |
000004F0: 54 4F 20 53 45 54 20 48  41 4E 44 53 48 41 4B 45  |TO SET HANDSHAKE|
00000500: 20 52 45 43 45 49 56 45  44 20 2A 2A 2A 00 36 0D  | RECEIVED ***.6.|
00000510: 56 00 8F 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |V..-------------|
00000520: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000530: 2D 2D 2D 2D 2D 2D 00 6F  0D 5A 00 97 41 43 2C 30  |------.o.Z..AC,0|
00000540: 20 3A 8F 20 2A 2A 2A 20  44 49 53 41 42 4C 45 20  | :. *** DISABLE |
00000550: 41 55 58 49 4C 49 41 52  59 20 43 4F 4E 54 52 4F  |AUXILIARY CONTRO|
00000560: 4C 20 46 55 4E 43 54 49  4F 4E 53 20 2A 2A 2A 00  |L FUNCTIONS ***.|
00000570: 9F 0D 5B 00 97 50 43 2C  C2 28 50 43 29 AF 4B 31  |..[..PC,.(PC).K1|
00000580: 20 3A 8F 20 2A 2A 2A 20  53 45 54 20 48 41 4E 44  | :. *** SET HAND|
00000590: 53 48 41 4B 45 20 3D 20  31 2D 30 20 2A 2A 2A 00  |SHAKE = 1-0 ***.|
000005A0: CC 0D 5C 00 97 48 45 2C  C2 28 48 45 29 B0 4B 32  |..\..HE,.(HE).K2|
000005B0: 20 3A 8F 20 2A 2A 2A 20  45 4E 41 42 4C 45 20 48  | :. *** ENABLE H|
000005C0: 41 4E 44 53 48 41 4B 45  20 2A 2A 2A 00 01 0E 5D  |ANDSHAKE ***...]|
000005D0: 00 5A B2 C2 28 48 54 29  20 3A 8F 20 2A 2A 2A 20  |.Z..(HT) :. *** |
000005E0: 45 4E 53 55 52 45 20 48  41 4E 44 53 48 41 4B 45  |ENSURE HANDSHAKE|
000005F0: 20 42 49 54 20 49 53 20  43 4C 45 41 52 20 2A 2A  | BIT IS CLEAR **|
00000600: 2A 00 35 0E 5E 00 97 48  53 2C C2 28 48 53 29 B0  |*.5.^..HS,.(HS).|
00000610: 4B 33 20 3A 8F 20 2A 2A  2A 53 45 4E 44 20 46 49  |K3 :. ***SEND FI|
00000620: 52 53 54 20 48 41 4E 44  53 48 41 4B 45 20 3D 20  |RST HANDSHAKE = |
00000630: 31 20 2A 2A 2A 00 5E 0E  5F 00 8F 2D 2D 2D 2D 2D  |1 ***.^._..-----|
00000640: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000650: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 00 90  |--------------..|
00000660: 0E 64 00 48 30 B2 C2 28  48 53 29 AF 4B 34 3A 8F  |.d.H0..(HS).K4:.|
00000670: 20 2A 2A 2A 20 52 45 41  44 59 20 54 4F 20 53 45  | *** READY TO SE|
00000680: 4E 44 20 48 41 4E 44 53  48 41 4B 45 20 2A 2A 2A  |ND HANDSHAKE ***|
00000690: 00 C9 0E 6E 00 8B 28 C2  28 49 43 29 AF 4B 35 29  |...n..(.(IC).K5)|
000006A0: A7 99 22 4C 4F 53 45 52  22 3A 8A 3A 8F 20 2A 2A  |.."LOSER":.:. **|
000006B0: 2A 20 4F 54 48 45 52 20  48 41 53 20 53 49 47 4E  |* OTHER HAS SIGN|
000006C0: 41 4C 4C 45 44 20 2A 2A  2A 00 DC 0E 78 00 A1 5A  |ALLED ***...x..Z|
000006D0: 24 3A 8B 5A 24 B2 22 22  A7 31 31 30 00 1D 0F 82  |$:.Z$."".110....|
000006E0: 00 97 48 53 2C 48 30 3A  48 B2 C2 28 49 43 29 3A  |..HS,H0:H..(IC):|
000006F0: 8F 20 2A 2A 2A 20 53 45  4E 44 20 53 49 47 4E 41  |. *** SEND SIGNA|
00000700: 4C 20 41 4E 44 20 43 48  45 43 4B 20 4F 54 48 45  |L AND CHECK OTHE|
00000710: 52 20 4D 41 43 48 49 4E  45 20 2A 2A 2A 00 34 0F  |R MACHINE ***.4.|
00000720: 8C 00 8B 28 48 AF 4B 35  29 A7 99 22 4C 4F 53 45  |...(H.K5).."LOSE|
00000730: 52 22 3A 8A 00 44 0F 96  00 99 22 57 49 4E 4E 45  |R":..D...."WINNE|
00000740: 52 22 3A 8A 00 00 00                              |R":....         |
....... HANDSHAKER.;....----------------
-------------------._.... REGISTER ADDRE
SSES AND VALUES......59457,59459,59467,5
9468,59468,59468,59457,59469:. *** PET *
**......254,224,224,223,2... .:...(..371
36,37138,37147,37148,37148,37148,37136,3
7149:. *** VIC ***...)..239,224,224,223,
16. .*.:.E.2..56577,56579,00828,00828,56
578,56576,56589,56589:. *** CBM64 ***.W.
3..0,4,4,251,16. .4..-------------------
----------------...<.MT.B(65534).256.B(6
5535):. *** DETECT MACHINE TYPE ***...=.
.MT.65394..I.1.13:.Z:.:.70:. *** IT'S VI
C ***.=.>..MT.65352..I.1.26:.Z:.:. *** I
T'S CBM64 ***.^.?.. *** ALL OTHERS ARE P
ET ***...@..----------------------------
-------...F.. *** SET UP REGISTER ADDRES
SES ***.P.G..DR :. *** DATA REGISTER ***
...H..DD :. *** DATA DIRECTION ***.0.I..
AC :. *** AUXILIARY CONTROL (DUMMY ADDRE
SS ON CBM64) ***.O.J..PC :. *** PERIPHER
AL CONTROL (DUMMY ADDRESS ON CBM64) ***.
..K..HE :. *** HANDSHAKE ENABLE ***...L.
.HS :. *** HANDSHAKE OUTPUT ***...M..HT 
:. *** HANDSHAKE 'TIDY' ***...N..IC :. *
** INTERRUPT CONTROL ***.%.P.. *** SET U
P REGISTER VALUES ***.A.Q..K1 :. ***TO D
EFINE 1-0 HANDSHAKE (DUMMY ON CBM64) ***
*...R..K2 :. ***TO ENABLE HANDSHAKE TO B
E SENT ***...S..K3 :. *** TO SET HANDSHA
KE =1 ***...T..K4 :. *** TO SET HANDSHAK
E =0 ***...U..K5 :. *** TO SET HANDSHAKE
 RECEIVED ***.6.V..---------------------
--------------.O.Z..AC,0 :. *** DISABLE 
AUXILIARY CONTROL FUNCTIONS ***...[..PC,
B(PC).K1 :. *** SET HANDSHAKE = 1-0 ***.
L.\..HE,B(HE).K2 :. *** ENABLE HANDSHAKE
 ***...].Z.B(HT) :. *** ENSURE HANDSHAKE
 BIT IS CLEAR ***.5.^..HS,B(HS).K3 :. **
*SEND FIRST HANDSHAKE = 1 ***.^._..-----
------------------------------...D.H0.B(
HS).K4:. *** READY TO SEND HANDSHAKE ***
.I.N..(B(IC).K5).."LOSER":.:. *** OTHER 
HAS SIGNALLED ***...X..Z$:.Z$."".110....
..HS,H0:H.B(IC):. *** SEND SIGNAL AND CH
ECK OTHER MACHINE ***.4....(H.K5).."LOSE
R":..D...."WINNER":....
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL