apple1-videocard-lib/demo/demo.c

51 lines
1.2 KiB
C
Raw Normal View History

2021-12-08 11:53:13 +00:00
// TODO make screen tables parametric (fixed values calculated by macros)
2021-11-27 12:08:25 +00:00
#include "../lib/utils.h"
#include "../lib/apple1.h"
#include "../lib/tms9918.h"
#include "../lib/font8x8.h"
#include "../lib/tms_screen1.h"
#include "../lib/tms_screen2.h"
#include "../lib/interrupt.h"
2021-12-03 10:15:25 +00:00
#include "demo_screen1.h"
#include "demo_screen2.h"
#include "demo_amiga_hand.h"
#include "demo_interrupt.h"
#include "demo_extvid.h"
#include "demo_blank.h"
2021-12-08 11:53:13 +00:00
void help() {
woz_puts(
"\rTMS9918 DEMOS\r"
"=============\r"
"1 SCREEN1\r"
"2 SCREEN2\r"
"A AMIGA HAND\r"
"I INTERRUPT\r"
"E FLIP EXT VIDEO\r"
"B BLANK ON/OFF\r"
"H HELP\r"
"0 EXITS\r\r"
);
2021-12-05 15:22:27 +00:00
}
2021-11-28 14:05:41 +00:00
void main() {
2021-12-08 11:53:13 +00:00
byte key = 'H';
2021-11-28 14:05:41 +00:00
for(;;) {
if(key == '1') prova_screen1();
else if(key == '2') prova_screen2();
2021-12-08 11:53:13 +00:00
else if(key == 'A') demo_amiga_hand();
else if(key == 'I') demo_interrupt();
else if(key == 'E') flip_external_input();
else if(key == 'B') flip_blank();
else if(key == 'H') help();
2021-11-28 15:43:33 +00:00
else if(key == '0') break;
2021-11-28 14:05:41 +00:00
else woz_putc(key);
2021-11-26 22:41:51 +00:00
key = apple1_getkey();
2021-11-28 14:05:41 +00:00
}
2021-12-08 11:53:13 +00:00
woz_puts("BYE\r");
2021-11-26 22:41:51 +00:00
woz_mon();
}