mirror of
https://github.com/nippur72/apple1-videocard-lib.git
synced 2025-01-06 02:30:21 +00:00
51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
// TODO make screen tables parametric (fixed values calculated by macros)
|
|
|
|
#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"
|
|
|
|
#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"
|
|
|
|
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"
|
|
);
|
|
}
|
|
|
|
void main() {
|
|
byte key = 'H';
|
|
for(;;) {
|
|
if(key == '1') prova_screen1();
|
|
else if(key == '2') prova_screen2();
|
|
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();
|
|
else if(key == '0') break;
|
|
else woz_putc(key);
|
|
|
|
key = apple1_getkey();
|
|
}
|
|
woz_puts("BYE\r");
|
|
woz_mon();
|
|
}
|