From 582911d1dfdffa3629acd3ba2634c4621f14a41b Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Fri, 4 May 2012 17:18:38 -0400 Subject: [PATCH] Read slides from file, fix keyboard navigation --- asoft_presenter.c | 39 ++++++++++++++++++++++------ presenter_demo/info | 4 +-- presenter_demo/presenter_demo.dsk | Bin 143360 -> 143360 bytes presenter_demo/slide_rapl_continued | 2 +- presenter_demo/slide_rapl_finish | 2 +- presenter_demo/slide_rapl_intro | 5 ++-- presenter_demo/slide_rapl_more | 2 +- 7 files changed, 39 insertions(+), 15 deletions(-) diff --git a/asoft_presenter.c b/asoft_presenter.c index 4d65298c..4b736c97 100644 --- a/asoft_presenter.c +++ b/asoft_presenter.c @@ -8,7 +8,7 @@ static void generate_keyhandler(void) { printf("9002 REM * GET KEYPRESSES *\n"); printf("9004 REM ******************\n"); - printf("9006 N%%=1\n"); + printf("9006 N%%=2\n"); /* memory location -16384 holds keyboard strobe */ /* Loop until a key is pressed. */ @@ -16,11 +16,11 @@ static void generate_keyhandler(void) { /* get the key value, convert to ASCII */ printf("9010 X=PEEK(-16368)-128\n"); /* 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 -> */ printf("9030 IF X=21 OR X=32 THEN P%%=P%%+1:N%%=3\n"); /* 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 */ printf("9050 IF P%%>TP%% THEN P%%=TP%%\n"); printf("9060 IF P%%<0 THEN P%%=0\n"); @@ -143,15 +143,18 @@ struct slide_info { char *filename; }; -#define LINES_PER_SLIDE 25 +#define LINES_PER_SLIDE 30 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_num=100+(num*LINES_PER_SLIDE); + /* print a REMARK block */ printf("%d REM ",line_num); line_num++; print_line('*',strlen(filename)+8); printf("\n"); @@ -159,10 +162,30 @@ static void generate_slide(int num, int max, char*filename) { printf("%d REM ",line_num); line_num++; print_line('*',strlen(filename)+8); printf("\n"); + + /* print the footer */ 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++; - printf("%d PRINT \"* RAPL is awesome\"\n",line_num); line_num++; + + /* generate the slide */ + + 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 ON N%% GOTO %d,%d,%d\n", line_num, diff --git a/presenter_demo/info b/presenter_demo/info index c4aaa386..9589e24e 100644 --- a/presenter_demo/info +++ b/presenter_demo/info @@ -8,8 +8,8 @@ EMAIL vweaver1@eecs.utk.edu SLIDES -slide_rapl_continued -slide_rapl_finish slide_rapl_intro +slide_rapl_continued slide_rapl_more +slide_rapl_finish END_SLIDES \ No newline at end of file diff --git a/presenter_demo/presenter_demo.dsk b/presenter_demo/presenter_demo.dsk index 3561b8ca509f8e734c6e6aa844a7c1bb28dc1b64..142abbd5e49dde68ba0027711050a89ac3af57bb 100644 GIT binary patch delta 5206 zcmeI0eQXnD9LIl8@2+>x^W620A+M{nTvxj{vA5yuIwVX}ba8IYHgupNAWQ+rFk*ZI z-NYAOG*NPd8iNLhfcO#zQx_IRQ4ohH#l%GZkl+iTk{FC{{~-9>UE7td)foRFW|uU# zd)af}b^U$&{d~KQOI^pM9zNX1&q8OVUDb-%t4#kxH8mnh0uqQo1=$=QpUQJ0Cz*)6 z)r$-cnYUI-9)S~hK@i-6C`bZk*G>wCJ1n`(y^(U$h#cYkcp>|_FyY;S#?r+d_uReA zUs_rUa}%{Y(1e8lAQCzk<2#_o2(u0D!i%8WfQRs6=+~!)uWhW?;VHa?9RwBxnrh?h za09-R9qRA~ZfE;af8BEb-EH&R+aK`HzpriivZZZ0?8Zx>r`lTYQ``Y>HUwW~tC!oa z$}pV4t6-NUBDI;HMGANrO&(47cOXAkMIK{{%ac>TIw2R#dLUrtWAr$eW{fDH&ZonDPX!KtxBUWS*k9jTL)E5q1)1`ZftB~it6b0w4$Mcn(50aL3hv{jvz-& zxltX4)pQSgqL+v5^u5ICgXmK30Da#&(+Qu`y=e_c=?9jElk~$u4S&#mX$|$Y%`G|< z$ounY@X8;hG=${?j)p4shE&@xsFF`{UC<~O2eSTQ=DSf+xJWLw&iSv4wfJv{&5k$4 znww+I{!(~EHhZGu$U1pSpdpy7fNhCUuc5-Sez_vhn*64Cz^JOMij)i(6%jZrPYb-> znyk3$v({w9*ta&Ch<3qg*&MZEVkc7K*0spKcrY0c4j56km;sk4a{{l&gNIwPK2RE=?LtE8HyIlQk?pr!OhAj>$E@KRM*hrpV`>h5^G|TJCuTp`9ioUu@^Q zkKvM0UOhuV#@b^IykvJP#yb@(o{j-YKF({fu!b8hQclE*sk&9aUS zj&;14Z5?}U>zIBtk9GVw)H=p{e4&K@f2fN@SuC z4^c5-gk6}!JQlDUi&(-K6HKv;73{&P1QL>55-0JJAh{(`%0vp66)6gacaOVL68X(Bp&LyffbV60QD;_!IgN&hkTp_!s=r_ zlsM*dU1p~X9qBHe(|KLc-MXlOhBTMPX}l(AZcWrA4QoWBnye|BM^jZ$k?K-8l~)DT zt%_)bP9;IsRF_#{f%}3VUa$YtX+2f zVAl@AzKY*rm4wqfBv}KIqjzwCT4Pm%4b)+~YVa zP@eC~4EBZ`gWYQnb|DX+v%&6s1$nuj?ZGbWgtH{mDR9nUYpKDu3mBh0*ue!sr+^9B zv#rB5Y>@L5F!gM*oi}10ePvj)@G#wzU3HkBMm#)hV)Je{9nQQ@9GQ2gP`K#ly}Tgj ISNN&F0IxZg)&Kwi delta 13437 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 diff --git a/presenter_demo/slide_rapl_continued b/presenter_demo/slide_rapl_continued index 0c234188..cd5bbf20 100644 --- a/presenter_demo/slide_rapl_continued +++ b/presenter_demo/slide_rapl_continued @@ -1,3 +1,3 @@ 40col -RAPL5 +RAPL CONTINUE * Is freally awesome diff --git a/presenter_demo/slide_rapl_finish b/presenter_demo/slide_rapl_finish index 47a91fff..d9c104ea 100644 --- a/presenter_demo/slide_rapl_finish +++ b/presenter_demo/slide_rapl_finish @@ -1,3 +1,3 @@ 40col -RAPL +RAPL LAST * Is really awesome diff --git a/presenter_demo/slide_rapl_intro b/presenter_demo/slide_rapl_intro index 47a91fff..ffcfbad7 100644 --- a/presenter_demo/slide_rapl_intro +++ b/presenter_demo/slide_rapl_intro @@ -1,3 +1,4 @@ -40col -RAPL +40COL +#c#RAPL + * Is really awesome diff --git a/presenter_demo/slide_rapl_more b/presenter_demo/slide_rapl_more index 47a91fff..488ebef6 100644 --- a/presenter_demo/slide_rapl_more +++ b/presenter_demo/slide_rapl_more @@ -1,3 +1,3 @@ 40col -RAPL +RAPL MORE * Is really awesome