From: MagerValp (MagerValp_at_cling.gu.se)
Date: 2005-11-08 10:33:41
>>>>> "s" == silverdr <firstname.lastname@example.org> writes: s> Do you mean you were able to split the GCR nybbles in RT? What do s> you mean by "partially" though? Could you elaborate a bit on the s> method and results, please? No, there aren't enough cycles to decode to nybbles in realtime, thus only partially decoded. I don't have my notes here, but it was something like this: read 1st gcr byte ; 5 + 3 bits store in buf ; 00000xxx store in buf ; xxxxx111 read 2nd gcr byte ; 2 + 5 + 1 bits lsr, lsb to carry store in buf ; x1122222 read 3rd gcr byte ; 4 + 4 bits store to buf ; xxxx4444 ror, msb from carry store to buf ; 33333xxx read 4th gcr byte ; 1 + 5 + 2 bits asl, msb to carry rol buf ; xxx44444 store to buf ; 5555566x read 5th gcr byte ; 3 + 5 bits store to buf ; 66677777 add 8 to bufptr, loop so after 5 gcr bytes have been read, the nybble buffer contains: buf data steps to decode 0: 00000xxx -> lsr lsr lsr 1: xxxxx111 -> asl asl, merge with buf 2: x1122222 -> and #$1f 3: 33333xxx -> lsr lsr lsr 4: xxx44444 -> and #$1f 5: 5555566x -> lsr lsr lsr 6: xxxxxxxx -> merge from buf and buf 7: 66677777 -> and #$1f 3 nybbles just require ANDing, 3 just shifting, and only 2 nybbles require several operators. I implemented the full decode as a 2nd pass that merges the nybbles into bytes, but for the next version I'll see if I can merge the decoding with the transfer loop. HTH, -- ___ . . . . . + . . o _|___|_ + . + . + . Per Olofsson, arkadspelare o-o . . . o + MagerValp@cling.gu.se - + + . http://www.cling.gu.se/~cl3polof/ Message was sent through the cbm-hackers mailing list
Archive generated by hypermail pre-2.1.8.