From: Toni Wilen Date: Sun, 4 Jun 2023 17:54:10 +0000 (+0300) Subject: Football Director 2 dongle emulation X-Git-Tag: 5.1.0~167 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=1eba1f1f4beaaeb4188409f5e24c93d12e56c988;p=francis%2Fwinuae.git Football Director 2 dongle emulation --- diff --git a/cfgfile.cpp b/cfgfile.cpp index 24d9769f..887a7fa4 100644 --- a/cfgfile.cpp +++ b/cfgfile.cpp @@ -212,7 +212,7 @@ static const TCHAR *dongles[] = _T("robocop 3"), _T("leaderboard"), _T("b.a.t. ii"), _T("italy'90 soccer"), _T("dames grand maitre"), _T("rugby coach"), _T("cricket captain"), _T("leviathan"), _T("musicmaster"), _T("logistics"), _T("scala red"), _T("scala green"), - _T("strikermanager"), _T("multi-player soccer manager"), + _T("strikermanager"), _T("multi-player soccer manager"), _T("football director 2"), NULL }; static const TCHAR *cdmodes[] = { _T("disabled"), _T(""), _T("image"), _T("ioctl"), _T("spti"), _T("aspi"), 0 }; diff --git a/dongle.cpp b/dongle.cpp index 48441ef6..4d4f0c01 100644 --- a/dongle.cpp +++ b/dongle.cpp @@ -31,6 +31,7 @@ #define SCALA_GREEN 12 #define STRIKERMANAGER 13 #define MPSOCCERMANAGER 14 +#define FOOTBALLDIRECTOR2 15 static int dflag; static frame_time_t cycles; @@ -254,6 +255,18 @@ uae_u16 dongle_joydat (int port, uae_u16 val) } } break; + case FOOTBALLDIRECTOR2: + if (port == 1) { + if (dflag >= 4) { + val &= ~0x0303; + val |= 0x0300; + dflag--; + } else if (dflag > 0) { + val &= ~0x0303; + val |= 0x0303; + } + } + break; } return val; } @@ -271,6 +284,7 @@ void dongle_potgo (uae_u16 val) break; case STRIKERMANAGER: case MPSOCCERMANAGER: + case FOOTBALLDIRECTOR2: if ((val & 0x0500) == 0x0500) { dflag++; } else { diff --git a/od-win32/win32gui.cpp b/od-win32/win32gui.cpp index c732b315..d57ba1fc 100644 --- a/od-win32/win32gui.cpp +++ b/od-win32/win32gui.cpp @@ -17797,6 +17797,7 @@ static void init_portsdlg (HWND hDlg) xSendDlgItemMessage(hDlg, IDC_DONGLELIST, CB_ADDSTRING, 0, (LPARAM)_T("Scala MM (Green)")); xSendDlgItemMessage(hDlg, IDC_DONGLELIST, CB_ADDSTRING, 0, (LPARAM)_T("Striker Manager")); xSendDlgItemMessage(hDlg, IDC_DONGLELIST, CB_ADDSTRING, 0, (LPARAM)_T("Multi-Player Soccer Manager")); + xSendDlgItemMessage(hDlg, IDC_DONGLELIST, CB_ADDSTRING, 0, (LPARAM)_T("Football Director 2")); xSendDlgItemMessage (hDlg, IDC_SERIAL, CB_RESETCONTENT, 0, 0L); xSendDlgItemMessage (hDlg, IDC_SERIAL, CB_ADDSTRING, 0, (LPARAM)szNone.c_str());