/* 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();
}


<< Back to Apple II Graphics

<< Back to Apple Oldies


© Copyright Bill Buckels 2010
All Rights Reserved.