#include <string.h>
#include <cbm.h>
#include <c128.h>
+#include <6502.h>
#include "general.h"
#include "config.h"
#include "c128time.h"
#include "print.h"
#include "version.h"
+#include "vdc_patch_charset.h"
// drucker 4 oder 5
// graphic 4,0,10
textcolor(TC_YELLOW);
cprintf("%2d", i);
textcolor(TC_LIGHT_GRAY);
- cprintf(": %-" xstr(MAX_ITEM_NAME_LENGTH) "s \xDD%s, %3dx ",
+ cprintf(": %-" xstr(MAX_ITEM_NAME_LENGTH) "s \xDD%s, %3dx ",
status.status[i].item_name, profit, status.status[i].times_sold);
}
exit(1);
}
textcolor(TC_CYAN);
- cprintf("C128-Kassenprogramm (phil_fry, sECuRE, sur5r) " GV "\r\n");
+ cprintf("C128-Kassenprogramm (phil_fry, sECuRE, sur5r, mxf) " GV "\r\n");
textcolor(TC_LIGHT_GRAY);
cprintf("\r\nUhrzeit: %s (wird nicht aktualisiert)\r\n"
"Eingenommen: %s, Verkauft: %ld Dinge, Drucken: %s\r\n",
continue;
}
if (c == 27) {
- cprintf("Kauf abgebrochen, druecke RETURN...\r\n");
+ cprintf("Kauf abgebrochen, dr" uUML "cke RETURN...\r\n");
get_input();
return 1;
}
einheiten = atoi(entered) * negative;
if (einheiten > 100 || einheiten < -100 || einheiten == 0) {
- cprintf("\r\nEinheit nicht in [-100, 100] oder 0, Abbruch, druecke "
+ cprintf("\r\nEinheit nicht in [-100, 100] oder 0, Abbruch, dr" uUML "cke "
"RETURN...\r\n");
cgetc();
return 1;
}
textcolor(TC_LIGHT_GREEN);
- cprintf("\r\nVerbleibendes Guthaben fuer %s: %s. Druecke RETURN...\r\n",
+ cprintf("\r\nVerbleibendes Guthaben f" uUML "r %s: %s. Dr" uUML
+ "cke RETURN...\r\n",
nickname, rest);
textcolor(TC_LIGHT_GRAY);
get_input();
} else {
textcolor(TC_LIGHT_RED);
cprintf("\r\nNickname nicht gefunden in der Guthabenverwaltung! Abbruch, "
- "druecke RETURN...\r\n");
+ "dr" uUML "cke RETURN...\r\n");
textcolor(TC_LIGHT_GRAY);
get_input();
return 0;
break;
cputc(c);
if (c == 27) {
- cprintf("Kauf abgebrochen, druecke RETURN...\r\n");
+ cprintf("Kauf abgebrochen, dr" uUML "cke RETURN...\r\n");
get_input();
return;
} else if (c == '-' && i == 0)
/* clock CPU at double the speed (a whopping 2 Mhz!) */
fast();
+ /* Manipulate the VDC with IRQs turned off.
+ * KERNALs default IRQ handler will also try to read the VDC status
+ * register, which could interfere with our code trying to read it.
+ */
+ SEI();
+ vdc_patch_charset();
+ CLI();
+
clrscr();
/* Allocate logging buffer memory */
} else if (*c == 'f') {
buy_custom();
} else if (*c == 's') {
+ cprintf("\r\nsaving items.. ");
save_items();
+ cprintf("ok\r\nsaving credits.. ");
save_credits();
+ cprintf("ok\r\nflushing log.. ");
log_flush();
- cprintf("\r\nStatefile/Creditfile/Log gesichert, druecke RETURN...\r\n");
+ cprintf("ok\r\nStatefile/Creditfile/Log gesichert, dr" uUML
+ "cke RETURN...\r\n");
get_input();
} else if (*c == 'g') {
credit_manager();