|
|
1.1 root 1: #include <setup.h>
2: #include <jerq.h>
3: #include <font.h>
4: #define ESC '\033'
5: #define BRAM_SIZE 2048 /* size of BRAM in bytes */
6:
7: checkbram() /* return 1 if bram has valid checksum. If not, clear */
8: /* the battery backed ram, putting in a valid checksum */
9: {
10: register long i = 0;
11: register int j;
12:
13: for (j=0; j<BRAM_SIZE - 2; j++)
14: i += BRAM->opts.opt_array[j].byte;
15: j = (BRAM->opts.opt_array[BRAM_SIZE - 2].byte << 8) +
16: BRAM->opts.opt_array[BRAM_SIZE - 1].byte;
17: i %= (1 << 16); /* truncate to checksum size */
18: if ( i == j)
19: return(1);
20: for (i=0; i<BRAM_SIZE; i++)
21: BRAM->opts.opt_array[i].byte = (unsigned char) 0;
22: /* for (i=0; i<8; i++) */
23: /* { */
24: /* BRAM->pfkeys[i][0].byte = (unsigned char) ESC; */
25: /* BRAM->pfkeys[i][1].byte = (unsigned char) '0'; */
26: /* BRAM->pfkeys[i][2].byte = (unsigned char) ('c' + i); */
27: /* } */
28: /* THIS is how to implement ansi std default pfkeys */
29:
30: return(0);
31: }
32:
33: setbram() /* reset checksum in bram... done when bram updated */
34: {
35: register long i = 0;
36: register int j;
37:
38: for (j=0; j<BRAM_SIZE - 2; j++)
39: i += BRAM->opts.opt_array[j].byte;
40: BRAM->opts.opt_array[BRAM_SIZE - 1].byte = i & 0xff;
41: BRAM->opts.opt_array[BRAM_SIZE - 2].byte = (i >> 8) & 0xff;
42: }
43:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.