On Wed 11 Apr 2012 at 12:14:10 -0500, Jim Brain wrote: > Before folks forget, can a document of inputs that the SW sends and > expected responses from the unit be stored somewhere? This is the table of values that are returned by the 6702. Some values are dummies, since the dongle check routine doesn't actually use them. All values stored in the 6702 register are ignored. So the real functionality hasn't been discovered yet! Also, this sequence isn't the only one that is accepted, there are more that satisfy the check. Dave, do you want to publish your C version of the dongle check? It may be interesting and maybe someone can work out what it is *really* doing. /* * Emulate the 6702 dongle by returning a sequence of fixed values. * We even ignore the values that are written to it! * Idea and recovery of values by Dave Roberts. * * Code references to Editor 1.1, bank 0. The dongle check routine * starts at $9852. */ static BYTE dongle_values [ 29 ] = { // Indexed as 0 to 28. /* Used once at the start of the subroutine. */ 0x04, /* 9860: LDA [<$06,S] ; [ 0] */ /* Iteration 1 of the 'outer' loop. */ 0xFF, /* 987C: ASL [<$06,S] ; Can ignore! */ 0x91, /* 987F: EORB [<$06,S] ; [ 2] */ 0xFF, /* 9887: ASL [<$06,S] ; Can ignore! */ 0x3C, /* 988A: LDA [<$06,S] ; [ 4] */ /* Iteration 2 of the 'outer' loop. */ 0xFF, /* 987C: ASL [<$06,S] ; Can ignore! */ 0xAC, /* 987F: EORB [<$06,S] ; [ 6] */ 0xFF, /* 9887: ASL [<$06,S] ; Can ignore! */ 0xC7, /* 988A: LDA [<$06,S] ; [ 8] */ /* Iteration 3 of the 'outer' loop. */ 0xFF, /* 987C: ASL [<$06,S] ; Can ignore! */ 0xF0, /* 987F: EORB [<$06,S] ; [10] */ 0xFF, /* 9887: ASL [<$06,S] ; Can ignore! */ 0xE3, /* 988A: LDA [<$06,S] ; [12] */ /* Iteration 4 of the 'outer' loop. */ 0xFF, /* 987C: ASL [<$06,S] ; Can ignore! */ 0x36, /* 987F: EORB [<$06,S] ; [14] */ 0xFF, /* 9887: ASL [<$06,S] ; Can ignore! */ 0x5A, /* 988A: LDA [<$06,S] ; [16] */ /* Iteration 5 of the 'outer' loop. */ 0xFF, /* 987C: ASL [<$06,S] ; Can ignore! */ 0xBB, /* 987F: EORB [<$06,S] ; [18] */ 0xFF, /* 9887: ASL [<$06,S] ; Can ignore! */ 0xC3, /* 988A: LDA [<$06,S] ; [20] */ /* Iteration 6 of the 'outer' loop. */ 0xFF, /* 987C: ASL [<$06,S] ; Can ignore! */ 0x6A, /* 987F: EORB [<$06,S] ; [22] */ 0xFF, /* 9887: ASL [<$06,S] ; Can ignore! */ 0x75, /* 988A: LDA [<$06,S] ; [24] */ /* Iteration 7 of the 'outer' loop. */ 0xFF, /* 987C: ASL [<$06,S] ; Can ignore! */ 0xA3, /* 987F: EORB [<$06,S] ; [26] */ 0xFF, /* 9887: ASL [<$06,S] ; Can ignore! */ 0x3E /* 988A: LDA [<$06,S] ; [28] */ }; > Jim -Olaf. -- ___ Olaf 'Rhialto' Seibert -- There's no point being grown-up if you \X/ rhialto/at/xs4all.nl -- can't be childish sometimes. -The 4th Doctor Message was sent through the cbm-hackers mailing listReceived on 2012-04-11 22:00:05
Archive generated by hypermail 2.2.0.