BBS: Inland Empire Archive Date: 03-24-92 (01:28) Number: 145 From: JEAN CREPEAU Refer#: NONE To: CORIDON HENSHAW Recvd: NO Subj: Crc'S And Ecc'S Conf: (2) Quik_Bas
In a message to ALL, CORIDON HENSHAW wrote:
CH=> Does anyone know some kind of CRC system in BASIC or a ECC system? I
need it to check the integrity of my progam AFTER it is loaded into
memory. I know that a file's CRC can't be in a file,So what should I
do?
Try using the following sub to calculate a CRC.
defint a-z
sub crc(c,x)
const magic=&h1021
for i=1 to 8
if c<0 then
c=(2*c and 65535) xor magic
else
c=2*c and 65535
endif
next
c=c xor (x and 255)
end sub
How to use it to verify a CRC:
- You initialise c to 0
- For every byte you want to include in the CRC, you call CRC(C,byte)
- If, after the last byte has been computed, C<>0, there is a CRC error
To compute a CRC,
- You do the 1st 2 steps above
- You do CRC(C,0) twice
- C contains the CRC you must ADD at the end of your string of bytes. You
must add the MSB first (the first 8 bits), then the LSB
- You may change the magic number (&h1021), but this one has been
optimized.
---
* Origin: INTERACESS Montreal (QC) Canada (514) 528-1415 (1:167/280)

Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET