2018-01-08 21:03:51 +00:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
|
2018-01-09 05:42:15 +00:00
|
|
|
#include <string.h>
|
|
|
|
|
2018-01-08 21:03:51 +00:00
|
|
|
#include "gr-sim.h"
|
|
|
|
|
2018-01-24 17:31:05 +00:00
|
|
|
#include "tfv_zp.h"
|
|
|
|
|
2018-01-09 05:42:15 +00:00
|
|
|
#define STEPS 10
|
|
|
|
|
|
|
|
#define NUM_CREDITS 10
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
0 1 2 3
|
|
|
|
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
|
|
|
|
**************************************************
|
|
|
|
** T H A N K S T O : **
|
|
|
|
**************************************************
|
|
|
|
**************** A L L M S T I E S E V E R Y W H E R E *****************
|
|
|
|
**************************************************
|
|
|
|
#endif
|
|
|
|
|
2018-01-24 17:31:05 +00:00
|
|
|
/* Ended up almost like the Electric Company Logo */
|
|
|
|
/* Should I use orange and yellow as the colors? */
|
|
|
|
|
|
|
|
#define LINE_COLORS 0x75
|
|
|
|
//#define LINE_COLORS 0x9d
|
|
|
|
|
2018-01-09 05:42:15 +00:00
|
|
|
char credits[NUM_CREDITS][22]={
|
|
|
|
"FROGGYSUE",
|
|
|
|
"PIANOMAN08",
|
|
|
|
"UTOPIA BBS",
|
|
|
|
"THE 7HORSEMEN",
|
|
|
|
"WEAVE'S WORLD TALKER",
|
|
|
|
"STEALTHSUSIE",
|
|
|
|
"ECE GRAD BOWLING",
|
|
|
|
"CORNELL GCF",
|
|
|
|
"ALL MSTIES EVERYWHERE",
|
|
|
|
"...",
|
|
|
|
};
|
|
|
|
|
2018-01-08 21:03:51 +00:00
|
|
|
int main(int argc, char **argv) {
|
|
|
|
|
2018-01-09 05:42:15 +00:00
|
|
|
int ch,i,j,k;
|
2018-01-08 21:03:51 +00:00
|
|
|
|
|
|
|
grsim_init();
|
|
|
|
|
|
|
|
home();
|
|
|
|
gr();
|
|
|
|
|
2018-01-09 05:42:15 +00:00
|
|
|
color_equals(15);
|
|
|
|
hlin_double(PAGE0,7,32,38);
|
|
|
|
|
2018-01-24 17:31:05 +00:00
|
|
|
ram[COLOR]=LINE_COLORS;
|
|
|
|
hlin_double(PAGE0,0,6,38);
|
|
|
|
hlin_double(PAGE0,33,40,38);
|
|
|
|
|
|
|
|
hlin_double(PAGE0,8,31,36);
|
|
|
|
|
|
|
|
ram[COLOR]=LINE_COLORS&0xf0;
|
|
|
|
|
|
|
|
hlin_double(PAGE0,7,7,36);
|
|
|
|
hlin_double(PAGE0,32,32,36);
|
|
|
|
|
2018-01-09 05:42:15 +00:00
|
|
|
basic_inverse();
|
2018-01-24 17:31:05 +00:00
|
|
|
|
|
|
|
#define WING_LOCATION 21
|
|
|
|
#define WING_LOCATION2 23
|
|
|
|
|
|
|
|
/* Side wings */
|
2018-01-09 05:42:15 +00:00
|
|
|
for(i=0;i<8;i++) {
|
|
|
|
basic_htab(i+1);
|
2018-01-24 17:31:05 +00:00
|
|
|
basic_vtab(WING_LOCATION);
|
2018-01-09 05:42:15 +00:00
|
|
|
basic_print(" ");
|
|
|
|
|
|
|
|
basic_htab(i+33);
|
2018-01-24 17:31:05 +00:00
|
|
|
basic_vtab(WING_LOCATION);
|
|
|
|
basic_print(" ");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* Side wings */
|
|
|
|
for(i=0;i<8;i++) {
|
|
|
|
basic_htab(i+1);
|
|
|
|
basic_vtab(WING_LOCATION2);
|
|
|
|
basic_print(" ");
|
|
|
|
|
|
|
|
basic_htab(i+33);
|
|
|
|
basic_vtab(WING_LOCATION2);
|
2018-01-09 05:42:15 +00:00
|
|
|
basic_print(" ");
|
|
|
|
}
|
|
|
|
|
2018-01-24 17:31:05 +00:00
|
|
|
|
|
|
|
/* box middle/bottom */
|
2018-01-09 05:42:15 +00:00
|
|
|
for(i=7;i<33;i++) {
|
2018-01-24 17:31:05 +00:00
|
|
|
#if 0
|
2018-01-09 05:42:15 +00:00
|
|
|
basic_htab(i+1);
|
|
|
|
basic_vtab(22);
|
|
|
|
basic_print(" ");
|
2018-01-24 17:31:05 +00:00
|
|
|
#endif
|
2018-01-09 05:42:15 +00:00
|
|
|
basic_htab(i+1);
|
|
|
|
basic_vtab(24);
|
|
|
|
basic_print(" ");
|
|
|
|
}
|
|
|
|
|
|
|
|
basic_htab(8);
|
|
|
|
basic_vtab(21);
|
|
|
|
basic_print(" ");
|
|
|
|
|
|
|
|
basic_htab(33);
|
2018-01-08 21:03:51 +00:00
|
|
|
basic_vtab(21);
|
2018-01-09 05:42:15 +00:00
|
|
|
basic_print(" ");
|
|
|
|
|
2018-01-24 17:31:05 +00:00
|
|
|
#if 0
|
|
|
|
basic_htab(8);
|
|
|
|
basic_vtab(22);
|
|
|
|
basic_print(" ");
|
|
|
|
|
|
|
|
basic_htab(33);
|
|
|
|
basic_vtab(22);
|
|
|
|
basic_print(" ");
|
|
|
|
#endif
|
|
|
|
|
|
|
|
basic_htab(8);
|
|
|
|
basic_vtab(23);
|
|
|
|
basic_print(" ");
|
|
|
|
|
|
|
|
basic_htab(33);
|
|
|
|
basic_vtab(23);
|
|
|
|
basic_print(" ");
|
|
|
|
|
|
|
|
|
2018-01-09 05:42:15 +00:00
|
|
|
basic_normal();
|
|
|
|
|
|
|
|
basic_htab(12);
|
|
|
|
basic_vtab(21);
|
|
|
|
basic_print("SPECIAL THANKS TO:");
|
|
|
|
|
|
|
|
|
2018-01-08 21:03:51 +00:00
|
|
|
|
|
|
|
while(1) {
|
|
|
|
ch=grsim_input();
|
|
|
|
if (ch!=0) break;
|
|
|
|
}
|
2018-01-09 05:42:15 +00:00
|
|
|
for(k=0;k<NUM_CREDITS;k++) {
|
|
|
|
for(i=0;i<strlen(credits[k]);i++) {
|
|
|
|
credits[k][i]-=STEPS;
|
|
|
|
if (credits[k][i]<0x20) credits[k][i]+=0x40;
|
|
|
|
}
|
|
|
|
}
|
2018-01-08 21:03:51 +00:00
|
|
|
|
2018-01-09 05:42:15 +00:00
|
|
|
for(k=0;k<NUM_CREDITS;k++) {
|
2018-01-08 21:03:51 +00:00
|
|
|
|
2018-01-09 05:42:15 +00:00
|
|
|
basic_htab(9);
|
|
|
|
basic_vtab(23);
|
|
|
|
basic_print(" ");
|
|
|
|
|
|
|
|
for(j=0;j<STEPS;j++) {
|
|
|
|
for(i=0;i<strlen(credits[k]);i++) {
|
|
|
|
credits[k][i]++;
|
|
|
|
if (credits[k][i]>0x5f) credits[k][i]=0x20;
|
|
|
|
}
|
|
|
|
|
|
|
|
basic_htab( ((40-strlen(credits[k]))/2)+1 );
|
|
|
|
basic_vtab(23);
|
|
|
|
basic_print(credits[k]);
|
|
|
|
|
|
|
|
grsim_update();
|
|
|
|
|
|
|
|
ch=grsim_input();
|
|
|
|
if (ch!=0) break;
|
|
|
|
|
|
|
|
usleep(80000);
|
|
|
|
|
|
|
|
}
|
2018-01-08 21:03:51 +00:00
|
|
|
|
|
|
|
ch=grsim_input();
|
2018-01-09 05:42:15 +00:00
|
|
|
if (ch!=0) break;
|
2018-01-08 21:03:51 +00:00
|
|
|
|
2018-01-09 05:42:15 +00:00
|
|
|
sleep(1);
|
|
|
|
}
|
2018-01-08 21:03:51 +00:00
|
|
|
|
2018-01-09 05:42:15 +00:00
|
|
|
while(1) {
|
|
|
|
grsim_update();
|
|
|
|
ch=grsim_input();
|
|
|
|
if (ch!=0) break;
|
2018-01-08 21:03:51 +00:00
|
|
|
usleep(100000);
|
|
|
|
}
|
|
|
|
|
2018-01-09 05:42:15 +00:00
|
|
|
|
2018-01-08 21:03:51 +00:00
|
|
|
return 0;
|
|
|
|
}
|