/* APPLEVU.c by bill buckels 2008 */ /* a slideshow for the apple II */ /* written in Manx Aztec C65 Version 3.2b */ /* runs under DOS 3.3 */ /* displays BSaved HIRES Images */ /* requires a text script called piclist */ #include <stdio.h> extern char XPIC; extern char YPIC; main() { FILE *fp; int idx, bsaved, err=0, c, first = 0; char picname[66], R, A, G;; /* initialize video */ setcrtmode(2); if (getch() == 27) { err = 1; } else { if((fp=fopen("PICLIST","r"))==NULL) { err = 2; } else { picname[0] = 0; fgets(picname,66,fp); /* get the first filename */ if (picname[0] < 33 || picname[0] > 122)err = 3; else black(); } } if (err == 0) { for (;;) { bsaved = 1; for (idx = 0; picname[idx] != 0; idx++) { if (picname[idx] < 33 || picname[idx] > 122) { picname[idx] = 0; break; } if (picname[idx] != '.')continue; R = picname[idx + 1]; A = picname[idx + 2]; G = picname[idx + 3]; if (R == 'R' && A == 'A' && G == 'G') { bsaved = 0; black(); break; } if (R == 'T' && A == 'O' && G == 'P') { black(); bsaved = 0; break; } if (R == 'B' && A == 'O' && G == 'T') { bsaved = 0; break; } } /* signal centre image on screen */ XPIC = 40; YPIC = 192; if (bsaved == 0) c = piclode(picname); else c = bload(picname); if (c!=0 && first == 0) { err = c; fclose(fp); break; } first = 1; if(c==0) { if (getch()==27) { fclose(fp); break; } } picname[0] = 0; fgets(picname,66,fp); /* get the first filename */ if (picname[0] < 33 || picname[0] > 122) { fclose(fp); if((fp=fopen("PICLIST","r"))==NULL) { err = 2; break; } else { fgets(picname,66,fp); /* get the first filename */ } } } } setcrtmode(0); scr_apple(); if (err < 0 || err > 1) { printf("\n"); bellerr(); switch(err) { case -1: printf("! Can't open %s",picname);break; case -2: printf("! %s wrong format!",picname);break; case 2: printf("! Can't open PICLIST"); break; case 3: printf("! Error Reading PICLIST"); break; default: break; } printf("\nPress Any Key..."); getch(); } reboot(); } |