/* Hauptbildschirm ausgeben */
static void print_screen(void) {
BYTE i = 0;
- char *time = get_time();
char profit[EUR_FORMAT_MINLEN + 1];
clrscr();
if (format_euro(profit, sizeof(profit), money) == NULL) {
profit[0] = '\0';
}
textcolor(TC_CYAN);
- cprintf("C128-Kassenprogramm (phil_fry, sECuRE, sur5r, mxf) " GV "\r\n");
+ /* fill whole line with cyan, so color bits are set up for the clock */
+ cprintf("%-80s", "C128-Kasse (phil_fry, sECuRE, sur5r, mxf) " GV);
textcolor(TC_LIGHT_GRAY);
- cprintf("\r\nUhrzeit: %s (wird nicht aktualisiert)\r\n"
- "Eingenommen: %s, Verkauft: %ld Dinge, Drucken: %s\r\n",
- time, profit, items_sold, (printing == 1 ? "ein" : "aus"));
+ cprintf("\r\n\r\n\r\n"
+ "Ertrag: %s (%ld Artikel); Drucken: %s\r\n",
+ profit, items_sold, (printing == 1 ? "ein" : "aus"));
textcolor(TC_LIGHT_GRAY);
cprintf(" \xB0"
"\xC0\xC0\xC0\xC0\xC0\xC0\xC0\xC0\xC0\xC0\xC0\xC0\xC0\xC0\xB2"
uint8_t day, tp1, tp2, tp3;
char *time_input, *time;
cprintf("Gib den aktuellen Tag des Events und Uhrzeit ein\r\n"
- "(Format DHHMMSS):\r\n");
+ "Format DHHMMSS, 0-indexiert, z.B. 0174259 für \"erster Tag um "
+ "17:42:59\":\r\n");
time_input = get_input();
part[0] = time_input[0];
day = atoi(part);
char *c;
char *time;
- init_globals();
+ printing = 1;
+ /* initialize daytime global, start the CIA TOD */
+ set_time(0, 0, 0, 0);
+ kasse_menu = MENU_UNDEFINED;
videomode(VIDEOMODE_80x25);
clrscr();
+ install_daytime_irq();
+
/* Allocate logging buffer memory */
init_log();
while (1) {
print_screen();
+ kasse_menu = MENU_MAIN;
c = get_input();
+ kasse_menu = MENU_UNDEFINED;
/* ...display dialogs eventually */
if (*c >= PETSCII_0 && *c <= PETSCII_9) {
/* if the input starts with a digit, we will interpret it as a number