mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-26 11:30:12 +00:00
Read slides from file, fix keyboard navigation
This commit is contained in:
parent
193ddc1741
commit
582911d1df
@ -8,7 +8,7 @@ static void generate_keyhandler(void) {
|
|||||||
printf("9002 REM * GET KEYPRESSES *\n");
|
printf("9002 REM * GET KEYPRESSES *\n");
|
||||||
printf("9004 REM ******************\n");
|
printf("9004 REM ******************\n");
|
||||||
|
|
||||||
printf("9006 N%%=1\n");
|
printf("9006 N%%=2\n");
|
||||||
|
|
||||||
/* memory location -16384 holds keyboard strobe */
|
/* memory location -16384 holds keyboard strobe */
|
||||||
/* Loop until a key is pressed. */
|
/* Loop until a key is pressed. */
|
||||||
@ -16,11 +16,11 @@ static void generate_keyhandler(void) {
|
|||||||
/* get the key value, convert to ASCII */
|
/* get the key value, convert to ASCII */
|
||||||
printf("9010 X=PEEK(-16368)-128\n");
|
printf("9010 X=PEEK(-16368)-128\n");
|
||||||
/* Exit if escape or Q pressed */
|
/* Exit if escape or Q pressed */
|
||||||
printf("9020 IF X=27 OR X=81 THEN END\n");
|
printf("9020 IF X=27 OR X=81 THEN TEXT:HOME:END\n");
|
||||||
/* increment page count if space or -> */
|
/* increment page count if space or -> */
|
||||||
printf("9030 IF X=21 OR X=32 THEN P%%=P%%+1:N%%=3\n");
|
printf("9030 IF X=21 OR X=32 THEN P%%=P%%+1:N%%=3\n");
|
||||||
/* decrement page count if <- */
|
/* decrement page count if <- */
|
||||||
printf("9040 IF X=8 THEN P%%=P%%-1:N%%=2\n");
|
printf("9040 IF X=8 THEN P%%=P%%-1:N%%=1\n");
|
||||||
/* keep from going off the end */
|
/* keep from going off the end */
|
||||||
printf("9050 IF P%%>TP%% THEN P%%=TP%%\n");
|
printf("9050 IF P%%>TP%% THEN P%%=TP%%\n");
|
||||||
printf("9060 IF P%%<0 THEN P%%=0\n");
|
printf("9060 IF P%%<0 THEN P%%=0\n");
|
||||||
@ -143,15 +143,18 @@ struct slide_info {
|
|||||||
char *filename;
|
char *filename;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define LINES_PER_SLIDE 25
|
#define LINES_PER_SLIDE 30
|
||||||
|
|
||||||
static void generate_slide(int num, int max, char*filename) {
|
static void generate_slide(int num, int max, char*filename) {
|
||||||
|
|
||||||
int line_num;
|
int line_num;
|
||||||
|
FILE *fff;
|
||||||
|
char string[BUFSIZ],*result;
|
||||||
|
|
||||||
/* line numbers start at 100 and run LINES_PER_SLIDE per slide */
|
/* line numbers start at 100 and run LINES_PER_SLIDE per slide */
|
||||||
line_num=100+(num*LINES_PER_SLIDE);
|
line_num=100+(num*LINES_PER_SLIDE);
|
||||||
|
|
||||||
|
/* print a REMARK block */
|
||||||
printf("%d REM ",line_num); line_num++;
|
printf("%d REM ",line_num); line_num++;
|
||||||
print_line('*',strlen(filename)+8);
|
print_line('*',strlen(filename)+8);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
@ -159,10 +162,30 @@ static void generate_slide(int num, int max, char*filename) {
|
|||||||
printf("%d REM ",line_num); line_num++;
|
printf("%d REM ",line_num); line_num++;
|
||||||
print_line('*',strlen(filename)+8);
|
print_line('*',strlen(filename)+8);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
||||||
|
/* print the footer */
|
||||||
printf("%d GOSUB 10000\n",line_num); line_num++;
|
printf("%d GOSUB 10000\n",line_num); line_num++;
|
||||||
printf("%d VTAB 1: PRINT \" RAPL %d\"\n",line_num,num); line_num++;
|
|
||||||
printf("%d PRINT\n",line_num); line_num++;
|
/* generate the slide */
|
||||||
printf("%d PRINT \"* RAPL is awesome\"\n",line_num); line_num++;
|
|
||||||
|
fff=fopen(filename,"r");
|
||||||
|
if (fff==NULL) {
|
||||||
|
fprintf(stderr,"Couldn't open %s!\n",filename);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
printf("%d VTAB 1\n",line_num); line_num++;
|
||||||
|
while(1) {
|
||||||
|
result=fgets(string,BUFSIZ,fff);
|
||||||
|
if (result==NULL) break;
|
||||||
|
string[strlen(string)-1]='\0';
|
||||||
|
printf("%d PRINT \"%s\"\n",line_num,string); line_num++;
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose(fff);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* wait for keypress and move to next slide */
|
||||||
printf("%d GOSUB 9000\n",line_num); line_num++;
|
printf("%d GOSUB 9000\n",line_num); line_num++;
|
||||||
printf("%d ON N%% GOTO %d,%d,%d\n",
|
printf("%d ON N%% GOTO %d,%d,%d\n",
|
||||||
line_num,
|
line_num,
|
||||||
|
@ -8,8 +8,8 @@ EMAIL
|
|||||||
vweaver1@eecs.utk.edu
|
vweaver1@eecs.utk.edu
|
||||||
|
|
||||||
SLIDES
|
SLIDES
|
||||||
slide_rapl_continued
|
|
||||||
slide_rapl_finish
|
|
||||||
slide_rapl_intro
|
slide_rapl_intro
|
||||||
|
slide_rapl_continued
|
||||||
slide_rapl_more
|
slide_rapl_more
|
||||||
|
slide_rapl_finish
|
||||||
END_SLIDES
|
END_SLIDES
|
Binary file not shown.
@ -1,3 +1,3 @@
|
|||||||
40col
|
40col
|
||||||
RAPL5
|
RAPL CONTINUE
|
||||||
* Is freally awesome
|
* Is freally awesome
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
40col
|
40col
|
||||||
RAPL
|
RAPL LAST
|
||||||
* Is really awesome
|
* Is really awesome
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
40col
|
40COL
|
||||||
RAPL
|
#c#RAPL
|
||||||
|
|
||||||
* Is really awesome
|
* Is really awesome
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
40col
|
40col
|
||||||
RAPL
|
RAPL MORE
|
||||||
* Is really awesome
|
* Is really awesome
|
||||||
|
Loading…
Reference in New Issue
Block a user