Misc Updates

Misc Updates from another repo
This commit is contained in:
Azimer 2023-07-31 10:51:50 -05:00
parent 510ad4b998
commit 94c848737e
7 changed files with 23 additions and 13 deletions

View file

@ -180,7 +180,7 @@ BOOL LoadAudioPlugin (char *libname) {
snddll.GetDllInfo(&Plugin_Info);
if(Plugin_Info.Type == PLUGIN_TYPE_AUDIO) {
if(Plugin_Info.Version != PLUGIN_SND_VERSION) {
if(Plugin_Info.Version > PLUGIN_SND_VERSION) {
Debug (0, "%s is not compatable with Apollo. %X != %X", libname, Plugin_Info.Version, PLUGIN_INP_VERSION);
snddll.Close();
return FALSE;

View file

@ -71,7 +71,7 @@ BOOL LoadInputPlugin (char *libname) {
inpdll.GetDllInfo(&Plugin_Info);
if(Plugin_Info.Type == PLUGIN_TYPE_CONTROLLER) {
if(Plugin_Info.Version != PLUGIN_INP_VERSION) {
if(Plugin_Info.Version > PLUGIN_INP_VERSION) {
Debug (0, "%s is not compatable with Apollo. %X != %X", libname, Plugin_Info.Version, PLUGIN_INP_VERSION);
inpdll.Close();
return FALSE;

View file

@ -308,13 +308,13 @@ UINT CpuThreadProc(LPVOID) {
cpuIsReset = false;
ResetCPU ();
while (cpuIsReset == false) {
__try {
/*__try {
if (ChangeProtectionLevel != old) {
VirtualProtect((void *)(valloc+0x10000000), romsize, ChangeProtectionLevel, &old); // Ok.. next read is bad
old = ChangeProtectionLevel;
}
}*/
Emulate ();
}__except ( HandleWin32Exception(GetExceptionInformation()) ) {
/*}__except ( HandleWin32Exception(GetExceptionInformation()) ) {
short* hh = (short*)intelException[0].ExceptionRecord[0].ExceptionAddress;
if (hh[0]==0x008B) {
intelException[0].ContextRecord[0].Eax = 0;

View file

@ -12,9 +12,9 @@
#define SYSTEM_PAL 1
#define SYSTEM_MPAL 2
#define PLUGIN_GFX_VERSION 0x0103
#define PLUGIN_INP_VERSION 0x0100
#define PLUGIN_SND_VERSION 0x0101
#define PLUGIN_GFX_VERSION 0x0104
#define PLUGIN_INP_VERSION 0x0102
#define PLUGIN_SND_VERSION 0x0102
/***** Structures *****/

View file

@ -116,7 +116,7 @@ void AddPluginToDialog (char *filename, HWND hWnd) {
case PLUGIN_TYPE_RSP : // Type not supported...
break;
case PLUGIN_TYPE_GFX : // Graphics
if (((Plugin.Version == PLUGIN_GFX_VERSION) || (Plugin.Version == 0x0102))&& (maxGFX < MAX_VIDEO)) {
if (((Plugin.Version <= PLUGIN_GFX_VERSION) || (Plugin.Version == 0x0102))&& (maxGFX < MAX_VIDEO)) {
Debug (0, "%s is a Graphics Plugin...", filename);
SendMessage(GetDlgItem(hWnd, IDC_VIDEO_LIST), CB_INSERTSTRING, maxGFX, (LPARAM)Plugin.Name);
if (!strcmp(filename, RegSettings.vidDll)) {
@ -130,7 +130,7 @@ void AddPluginToDialog (char *filename, HWND hWnd) {
}
break;
case PLUGIN_TYPE_AUDIO : // Audio
if ((Plugin.Version == PLUGIN_SND_VERSION) && (maxSND < MAX_SOUND)) {
if ((Plugin.Version <= PLUGIN_SND_VERSION) && (maxSND < MAX_SOUND)) {
Debug (0, "%s is an Audio Plugin...", filename);
SendMessage(GetDlgItem(hWnd, IDC_AUDIO_LIST), CB_INSERTSTRING, maxSND, (LPARAM)Plugin.Name);
if (!strcmp(filename, RegSettings.sndDll)) {
@ -144,7 +144,7 @@ void AddPluginToDialog (char *filename, HWND hWnd) {
}
break;
case PLUGIN_TYPE_CONTROLLER : // Input
if ((Plugin.Version == PLUGIN_INP_VERSION) && (maxINP < MAX_INPUT)) { // We will accept all inputs right now
if ((Plugin.Version <= PLUGIN_INP_VERSION) && (maxINP < MAX_INPUT)) { // We will accept all inputs right now
Debug (0, "%s is an Input Plugin...", filename);
SendMessage(GetDlgItem(hWnd, IDC_CONTROLLER_LIST), CB_INSERTSTRING, maxINP, (LPARAM)Plugin.Name);
if (!strcmp(filename, RegSettings.inpDll)) {
@ -340,7 +340,7 @@ BOOL CALLBACK PluginProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
strcpy (buffer, dllpath);
strcat (buffer, inputPlugins[index]);
inpdll.Load (buffer);
inpdll.InitiateControllers (GhWnd, ContInfo);
//inpdll.InitiateControllers (GhWnd, ContInfo);
strcpy (RegSettings.inpDll, inputPlugins[index]);
}
if (MenuId == IDOK) {

View file

@ -95,7 +95,7 @@ BOOL LoadVideoPlugin(char* libname) {
gfxdll.GetDllInfo(&Plugin_Info);
if(Plugin_Info.Type == PLUGIN_TYPE_GFX) {
if((Plugin_Info.Version != 0x0102) && (Plugin_Info.Version != 0x0103)) {
if(Plugin_Info.Version > PLUGIN_GFX_VERSION) {
Debug (0, "%s is not compatable with Apollo. %d != 1", libname, Plugin_Info.Version);
gfxdll.Close();
return FALSE;

View file

@ -1,5 +1,15 @@
New todo for Apollo64
[X] - Get the source to compile and run
[X] - Get the release variant to compile and run
[ ] - Get the code to run anything and fix issues
[ ] - Fix inability to save settings
[ ] - Fix inability to load plugins appropriately
[ ] - Fix compiler warnings
[ ] - Begin rewrite of UI to modernize it
[ ] - Begin rewrite of CPU Core to decouple it from the rest of the emulator
*** Visual Studio 2019 ***
- Create Emulation Loop to call existing CPU Core without attached devices
- Revamp attached devices to emulate a basic non-functional output to get passed the basics for demos