Hi Everyone,=20 Yes that was fun.. At some stage when I get some time, I was going to add all the optimised version to my page as well so people could get the enti= re story (and fry their brains trying to workout the optimisations) :) I've been pretty busy lately so I haven't had the chance..=20 Cheers, Ash. --- Ashley Roll Digital Nemesis Pty Ltd www.digitalnemesis.com Mobile: +61 (0)417 705 718 > -----Original Message----- > From: pic microcontroller discussion list > [mailto:PICLIST@MITVMA.MIT.EDU]On Behalf Of Tony K=FCbek > Sent: Tuesday, 6 August 2002 6:12 PM > To: PICLIST@MITVMA.MIT.EDU > Subject: Re: [PIC]: Charles Ader, CRC-16 [ snip ] > Well, it is a bit 'tricky' to just read the outcome :) anyway=20 > it started > out > with this: > http://www.digitalnemesis.com/ash/projects/EmbeddedCRC16/default.htm >=20 > When Ashley Roll made a nice initiative for sharing some easy to > read/use > crc code. What can be concluded out of this simple routine is breifly > the following: >=20 > -update crc16 for first nibble=20 > -calculate nibble indexes to crc tables. > -shift left 4 times > -update crc16 for second nibble=20 > -calculate nibble indexes to crc tables. >=20 > Then Scott Dattalo realised some possible optimisations: > http://www.infosite.com/~jkeyzer/piclist/2002/May/0823.html >=20 >=20 > Then I realised that for this poly ( might differ for others ) > it was quite easy to just skip the tables and calculate the output > directly: > http://www.infosite.com/~jkeyzer/piclist/2002/May/0919.html >=20 > Scott followed by introducing the optimised screamer: > http://www.infosite.com/~jkeyzer/piclist/2002/May/0966.html >=20 > To use another poly one probably would have to start from the=20 > beginning > by making an new table. I'm not certain that all poly would=20 > be suitable > for this optimisation, but it wouldn't stop me from trying :) >=20 > Fun stuff, -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics