mirror of
https://github.com/AppleWin/AppleWin.git
synced 2025-02-22 10:28:59 +00:00
Added ROM & FIRMWARE resources
This commit is contained in:
parent
35ec4f29b2
commit
c895764652
@ -331,6 +331,12 @@
|
|||||||
<Filter
|
<Filter
|
||||||
Name="Resources"
|
Name="Resources"
|
||||||
Filter=".txt,.ico,.bmp,.rc">
|
Filter=".txt,.ico,.bmp,.rc">
|
||||||
|
<File
|
||||||
|
RelativePath=".\resource\Apple2.rom">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\resource\Apple2e.rom">
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\resource\Applewin.bmp">
|
RelativePath=".\resource\Applewin.bmp">
|
||||||
</File>
|
</File>
|
||||||
|
@ -456,6 +456,14 @@
|
|||||||
Name="Resources"
|
Name="Resources"
|
||||||
Filter=".txt,.ico,.bmp,.rc"
|
Filter=".txt,.ico,.bmp,.rc"
|
||||||
>
|
>
|
||||||
|
<File
|
||||||
|
RelativePath=".\resource\Apple2.rom"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\resource\Apple2e.rom"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\resource\Applewin.bmp"
|
RelativePath=".\resource\Applewin.bmp"
|
||||||
>
|
>
|
||||||
|
@ -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"
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
|
@ -28,6 +28,8 @@
|
|||||||
#define IDC_2_0_MHz 123
|
#define IDC_2_0_MHz 123
|
||||||
#define IDC_MAX_MHz 124
|
#define IDC_MAX_MHz 124
|
||||||
#define IDR_MENU 125
|
#define IDR_MENU 125
|
||||||
|
#define IDR_APPLE2_ROM 126
|
||||||
|
#define IDR_APPLE2E_ROM 127
|
||||||
#define IDC_MB_ENABLE 130
|
#define IDC_MB_ENABLE 130
|
||||||
#define IDC_KEYB_BUFFER_ENABLE 1005
|
#define IDC_KEYB_BUFFER_ENABLE 1005
|
||||||
#define IDC_SAVESTATE 1006
|
#define IDC_SAVESTATE 1006
|
||||||
@ -66,6 +68,6 @@
|
|||||||
#define _APS_NEXT_RESOURCE_VALUE 131
|
#define _APS_NEXT_RESOURCE_VALUE 131
|
||||||
#define _APS_NEXT_COMMAND_VALUE 40007
|
#define _APS_NEXT_COMMAND_VALUE 40007
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1031
|
#define _APS_NEXT_CONTROL_VALUE 1031
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 105
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -248,7 +248,7 @@ VOID HD_Load_Rom(LPBYTE lpMemRom)
|
|||||||
if(!g_bHD_Enabled)
|
if(!g_bHD_Enabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
HRSRC hResInfo = FindResource(NULL, MAKEINTRESOURCE(IDR_HDDRVR), RT_RCDATA);
|
HRSRC hResInfo = FindResource(NULL, MAKEINTRESOURCE(IDR_HDDRVR), "FIRMWARE");
|
||||||
if(hResInfo == NULL)
|
if(hResInfo == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|||||||
|
|
||||||
#include "StdAfx.h"
|
#include "StdAfx.h"
|
||||||
#pragma hdrstop
|
#pragma hdrstop
|
||||||
|
#include "..\resource\resource.h"
|
||||||
|
|
||||||
#define MF_80STORE 0x00000001
|
#define MF_80STORE 0x00000001
|
||||||
#define MF_ALTZP 0x00000002
|
#define MF_ALTZP 0x00000002
|
||||||
@ -894,21 +895,15 @@ void MemInitialize () {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// READ THE APPLE FIRMWARE ROMS INTO THE ROM IMAGE
|
// READ THE APPLE FIRMWARE ROMS INTO THE ROM IMAGE
|
||||||
|
const UINT ROM_SIZE = 0x5000; // HACK: Magic #
|
||||||
|
|
||||||
|
HRSRC hResInfo = apple2e ? FindResource(NULL, MAKEINTRESOURCE(IDR_APPLE2E_ROM), "ROM")
|
||||||
|
: FindResource(NULL, MAKEINTRESOURCE(IDR_APPLE2_ROM), "ROM");
|
||||||
|
if(hResInfo == NULL)
|
||||||
|
{
|
||||||
TCHAR sRomFileName[ 128 ];
|
TCHAR sRomFileName[ 128 ];
|
||||||
_tcscpy( sRomFileName, apple2e ? TEXT("APPLE2E.ROM") : TEXT("APPLE2.ROM") );
|
_tcscpy( sRomFileName, apple2e ? TEXT("APPLE2E.ROM") : TEXT("APPLE2.ROM") );
|
||||||
|
|
||||||
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)
|
|
||||||
{
|
|
||||||
TCHAR sText[ 256 ];
|
TCHAR sText[ 256 ];
|
||||||
wsprintf( sText, TEXT("Unable to open the required firmware ROM data file.\n\nFile: %s."), sRomFileName );
|
wsprintf( sText, TEXT("Unable to open the required firmware ROM data file.\n\nFile: %s."), sRomFileName );
|
||||||
|
|
||||||
@ -919,9 +914,19 @@ void MemInitialize () {
|
|||||||
ExitProcess(1);
|
ExitProcess(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD bytesread;
|
DWORD dwResSize = SizeofResource(NULL, hResInfo);
|
||||||
ReadFile(file,memrom,0x5000,&bytesread,NULL); // HACK: Magic #
|
if(dwResSize != ROM_SIZE)
|
||||||
CloseHandle(file);
|
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
|
// TODO/FIXME: HACK! REMOVE A WAIT ROUTINE FROM THE DISK CONTROLLER'S FIRMWARE
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user