11 void c128_perror(uint8_t c, char *msg) {
12 cprintf("\r\nError (Code %d) while: %s\r\nOS Error = %d\r\n", c, msg,
21 uint8_t start_sec, start_tenth;
22 uint8_t end_sec, end_tenth;
25 videomode(VIDEOMODE_80x25);
28 __asm__("jsr initsystime");
35 if(relfile_open(&rf, "reldata"))
37 c128_perror(c, "relfile_open");
41 start_tenth = CIA1.tod_10;
42 start_sec = CIA1.tod_sec;
49 if(relfile_pos(&rf, i, 0))
51 c128_perror(c, "relfile_pos1");
55 if(relfile_is_split_record(&rf, i))
57 cprintf("\r\nSPLIT: %d!\r\n",i);
60 if(relfile_pos(&rf, i, 0))
62 c128_perror(c, "relfile_pos2");
66 if(relfile_clear(&rf))
68 c128_perror(c, "relfile_clear");
73 for(j=0;j<rf.recsize;j++)
75 bla[j]=(i-1==j) ? 0xFF : 0xAA;
76 cprintf("%02X",bla[j]);
80 if(relfile_pos(&rf, i, 0))
82 c128_perror(c, "relfile_pos3");
85 if(relfile_write(&rf, bla))
87 c128_perror(c, "relfile_write");
93 end_tenth = CIA1.tod_10;
94 end_sec = CIA1.tod_sec;
95 cprintf("\r\n%d.%d -> %d.%d\r\n",start_sec,start_tenth,end_sec,end_tenth);
98 if(relfile_open(&rf, "reldata"))
100 c128_perror(0, "relfile_open");
104 start_tenth = CIA1.tod_10;
105 start_sec = CIA1.tod_sec;
110 if(relfile_pos(&rf, i, 0))
112 c128_perror(0, "relfile_pos");
115 if(relfile_is_split_record(&rf, i))
117 cprintf("\r\nSPLIT!\r\n");
120 if(relfile_read(&rf, bla))
122 c128_perror(0, "relfile_read");
127 for(j=0;j<rf.recsize;j++)
129 uint8_t exp=(i-1==j) ? 0xFF : 0xAA;
132 cprintf("\r\nMISMATCH(%2d): IS: %2X EXP: %2X\r\n",j,bla[j],exp);
139 end_tenth = CIA1.tod_10;
140 end_sec = CIA1.tod_sec;
141 cprintf("\r\n%d.%d -> %d.%d\r\n",start_sec,start_tenth,end_sec,end_tenth);