Football Director 2 dongle emulation

This commit is contained in:
Toni Wilen 2023-06-04 20:54:10 +03:00
parent 975a167c76
commit 1eba1f1f4b
3 changed files with 16 additions and 1 deletions

View File

@ -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 };

View File

@ -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 {

View File

@ -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());