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
|
|
|
|
2021-12-15 13:38:52 +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
|
|
|
|
2021-12-15 13:38:52 +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
|
|
|
|
2021-12-15 13:38:52 +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();
|
|
|
|
}
|