static HMODULE lcdlib;
static volatile int lcd_thread_active;
static volatile bool lcd_updated;
+int logitech_lcd = 1;
extern unsigned long timeframes;
DWORD size = sizeof(path) / sizeof(TCHAR);
HKEY key;
+ if (!logitech_lcd)
+ return 0;
+
lcdlib = NULL;
ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, LOGITECH_LCD_DLL, 0, KEY_READ, &key);
if (ret != ERROR_SUCCESS)
if (!pLogiLcdInit(_T("WinUAE"), LOGI_LCD_TYPE_MONO | LOGI_LCD_TYPE_COLOR))
goto err;
+ bool lcd_mono = pLogiLcdIsConnected(LOGI_LCD_TYPE_MONO);
+ bool lcd_color = pLogiLcdIsConnected(LOGI_LCD_TYPE_COLOR);
+ if (!lcd_mono && !lcd_color) {
+ pLogiLcdShutdown();
+ goto err;
+ }
+
bmp = LoadBitmap (hInst, MAKEINTRESOURCE(IDB_LCD160X43));
dc = CreateCompatibleDC (NULL);
SelectObject (dc, bmp);
memcpy (origmbitmap, mbitmap, bm_width * bm_height);
DeleteDC (dc);
- write_log (_T("LCD enabled\n"));
+ write_log (_T("LCD enabled. Mono=%d Color=%d\n"), lcd_mono, lcd_color);
lcd_thread_active = 1;
uae_start_thread(_T("lcd"), lcd_thread, 0, NULL);
extern int log_cd32;
extern int scanline_adjust;
extern int log_ld;
+extern int logitech_lcd;
extern DWORD_PTR cpu_affinity, cpu_paffinity;
static DWORD_PTR original_affinity = -1;
log_cd32 = 2;
return 1;
}
+ if (!_tcscmp(arg, _T("nolcd"))) {
+ logitech_lcd = 0;
+ return 1;
+ }
if (!_tcscmp(arg, _T("romlist"))) {
void dumpromlist(void);
dumpromlist();