blob: 4d3aa1464576350124df8dd19e89653fc0b3d28e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
/* Menu Thing for RVController - Main Menu
* A product of Advanced Mesecons Devices, a Cheapie Systems company
* This is free and unencumbered software released into the public domain.
* See http://unlicense.org/ for more information */
#include <stdint.h>
#include <stdbool.h>
#include "rvcontroller-ecalls.h"
#include "calculator.h"
#include "digilines.h"
#include "games.h"
#include "screensaver.h"
uint_fast8_t menupage = 0;
void main(void) {
char inputbuf[32] = {0}; // Overkill for now but it's not like I'm short on RAM
while (true) {
switch (menupage) {
case 0:
printstr("\nMAIN MENU Page 1\n");
printstr("< > to change page\n");
printstr("1: Calculator\n");
printstr("2: Calendar\n");
printstr("3: Digilines\n");
printstr("4: Games");
break;
case 1:
printstr("\nMAIN MENU Page 2\n");
printstr("< > to change page\n");
printstr("5: Screensaver\n");
printstr("6: Text Editor\n");
printstr("More coming soon\n");
printstr("(maybe)");
break;
default:
printstr("\nInvalid menu page\n\n\n\n\n\n");
}
readstr(inputbuf,32);
switch (inputbuf[0]) {
case '<':
if (menupage > 0) {
menupage--;
} else {
menupage = 1;
}
break;
case '>':
menupage = (menupage + 1) % 2;
break;
case '1':
runCalculator();
break;
case '3':
runDigilines();
break;
case '4':
runGames();
break;
case '5':
runScreensaver();
break;
default:
printstr("\nUnknown or\n");
printstr("unimplemented\n");
printstr("command\n");
printstr("\n");
printstr("Press any key\n");
readstr(inputbuf,32);
}
}
}
|