Added ROM & FIRMWARE resources

This commit is contained in:
tomch 2006-03-13 23:46:57 +00:00
parent 35ec4f29b2
commit c895764652
6 changed files with 48 additions and 20 deletions

View File

@ -331,6 +331,12 @@
<Filter
Name="Resources"
Filter=".txt,.ico,.bmp,.rc">
<File
RelativePath=".\resource\Apple2.rom">
</File>
<File
RelativePath=".\resource\Apple2e.rom">
</File>
<File
RelativePath=".\resource\Applewin.bmp">
</File>

View File

@ -456,6 +456,14 @@
Name="Resources"
Filter=".txt,.ico,.bmp,.rc"
>
<File
RelativePath=".\resource\Apple2.rom"
>
</File>
<File
RelativePath=".\resource\Apple2e.rom"
>
</File>
<File
RelativePath=".\resource\Applewin.bmp"
>

View File

@ -263,11 +263,18 @@ END
/////////////////////////////////////////////////////////////////////////////
//
// Data
// FIRMWARE
//
IDR_HDDRVR RCDATA "Hddrvr.bin"
IDR_HDDRVR FIRMWARE "Hddrvr.bin"
/////////////////////////////////////////////////////////////////////////////
//
// ROM
//
IDR_APPLE2_ROM ROM "Apple2.rom"
IDR_APPLE2E_ROM ROM "Apple2e.rom"
/////////////////////////////////////////////////////////////////////////////
//

View File

@ -28,6 +28,8 @@
#define IDC_2_0_MHz 123
#define IDC_MAX_MHz 124
#define IDR_MENU 125
#define IDR_APPLE2_ROM 126
#define IDR_APPLE2E_ROM 127
#define IDC_MB_ENABLE 130
#define IDC_KEYB_BUFFER_ENABLE 1005
#define IDC_SAVESTATE 1006
@ -66,6 +68,6 @@
#define _APS_NEXT_RESOURCE_VALUE 131
#define _APS_NEXT_COMMAND_VALUE 40007
#define _APS_NEXT_CONTROL_VALUE 1031
#define _APS_NEXT_SYMED_VALUE 101
#define _APS_NEXT_SYMED_VALUE 105
#endif
#endif

View File

@ -248,7 +248,7 @@ VOID HD_Load_Rom(LPBYTE lpMemRom)
if(!g_bHD_Enabled)
return;
HRSRC hResInfo = FindResource(NULL, MAKEINTRESOURCE(IDR_HDDRVR), RT_RCDATA);
HRSRC hResInfo = FindResource(NULL, MAKEINTRESOURCE(IDR_HDDRVR), "FIRMWARE");
if(hResInfo == NULL)
return;

View File

@ -28,6 +28,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "StdAfx.h"
#pragma hdrstop
#include "..\resource\resource.h"
#define MF_80STORE 0x00000001
#define MF_ALTZP 0x00000002
@ -894,21 +895,15 @@ void MemInitialize () {
#endif
// READ THE APPLE FIRMWARE ROMS INTO THE ROM IMAGE
TCHAR sRomFileName[ 128 ];
_tcscpy( sRomFileName, apple2e ? TEXT("APPLE2E.ROM") : TEXT("APPLE2.ROM") );
const UINT ROM_SIZE = 0x5000; // HACK: Magic #
TCHAR filename[MAX_PATH];
_tcscpy(filename,progdir);
_tcscat(filename,sRomFileName );
HANDLE file = CreateFile(filename,
GENERIC_READ,
FILE_SHARE_READ,
(LPSECURITY_ATTRIBUTES)NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN,
NULL);
if (file == INVALID_HANDLE_VALUE)
HRSRC hResInfo = apple2e ? FindResource(NULL, MAKEINTRESOURCE(IDR_APPLE2E_ROM), "ROM")
: FindResource(NULL, MAKEINTRESOURCE(IDR_APPLE2_ROM), "ROM");
if(hResInfo == NULL)
{
TCHAR sRomFileName[ 128 ];
_tcscpy( sRomFileName, apple2e ? TEXT("APPLE2E.ROM") : TEXT("APPLE2.ROM") );
TCHAR sText[ 256 ];
wsprintf( sText, TEXT("Unable to open the required firmware ROM data file.\n\nFile: %s."), sRomFileName );
@ -919,9 +914,19 @@ void MemInitialize () {
ExitProcess(1);
}
DWORD bytesread;
ReadFile(file,memrom,0x5000,&bytesread,NULL); // HACK: Magic #
CloseHandle(file);
DWORD dwResSize = SizeofResource(NULL, hResInfo);
if(dwResSize != ROM_SIZE)
return;
HGLOBAL hResData = LoadResource(NULL, hResInfo);
if(hResData == NULL)
return;
BYTE* pData = (BYTE*) LockResource(hResData); // NB. Don't need to unlock resource
if(pData == NULL)
return;
memcpy(memrom, pData, ROM_SIZE);
// TODO/FIXME: HACK! REMOVE A WAIT ROUTINE FROM THE DISK CONTROLLER'S FIRMWARE
{