| 2045 | } |
| 2046 | |
| 2047 | void MemInitializeROM(void) |
| 2048 | { |
| 2049 | // READ THE APPLE FIRMWARE ROMS INTO THE ROM IMAGE |
| 2050 | UINT ROM_SIZE = 0; |
| 2051 | WORD resourceId = 0; |
| 2052 | switch (g_Apple2Type) |
| 2053 | { |
| 2054 | case A2TYPE_APPLE2: resourceId = IDR_APPLE2_ROM ; ROM_SIZE = Apple2RomSize ; break; |
| 2055 | case A2TYPE_APPLE2PLUS: resourceId = IDR_APPLE2_PLUS_ROM ; ROM_SIZE = Apple2RomSize ; break; |
| 2056 | case A2TYPE_APPLE2JPLUS: resourceId = IDR_APPLE2_JPLUS_ROM ; ROM_SIZE = Apple2RomSize ; break; |
| 2057 | case A2TYPE_APPLE2E: resourceId = IDR_APPLE2E_ROM ; ROM_SIZE = Apple2eRomSize; break; |
| 2058 | case A2TYPE_APPLE2EENHANCED:resourceId = IDR_APPLE2E_ENHANCED_ROM; ROM_SIZE = Apple2eRomSize; break; |
| 2059 | case A2TYPE_PRAVETS82: resourceId = IDR_PRAVETS_82_ROM ; ROM_SIZE = Apple2RomSize ; break; |
| 2060 | case A2TYPE_PRAVETS8M: resourceId = IDR_PRAVETS_8M_ROM ; ROM_SIZE = Apple2RomSize ; break; |
| 2061 | case A2TYPE_PRAVETS8A: resourceId = IDR_PRAVETS_8C_ROM ; ROM_SIZE = Apple2eRomSize; break; |
| 2062 | case A2TYPE_TK30002E: resourceId = IDR_TK3000_2E_ROM ; ROM_SIZE = Apple2eRomSize; break; |
| 2063 | case A2TYPE_BASE64A: resourceId = IDR_BASE_64A_ROM ; ROM_SIZE = Base64ARomSize; break; |
| 2064 | } |
| 2065 | |
| 2066 | BYTE* pData = NULL; |
| 2067 | if (resourceId) |
| 2068 | { |
| 2069 | pData = GetFrame().GetResource(resourceId, "ROM", ROM_SIZE); |
| 2070 | } |
| 2071 | |
| 2072 | if (pData == NULL) |
| 2073 | { |
| 2074 | char sRomFileName[ MAX_PATH ]; |
| 2075 | switch (g_Apple2Type) |
| 2076 | { |
| 2077 | case A2TYPE_APPLE2: strcpy(sRomFileName, "APPLE2.ROM"); break; |
| 2078 | case A2TYPE_APPLE2PLUS: strcpy(sRomFileName, "APPLE2_PLUS.ROM"); break; |
| 2079 | case A2TYPE_APPLE2JPLUS: strcpy(sRomFileName, "APPLE2_JPLUS.ROM"); break; |
| 2080 | case A2TYPE_APPLE2E: strcpy(sRomFileName, "APPLE2E.ROM"); break; |
| 2081 | case A2TYPE_APPLE2EENHANCED:strcpy(sRomFileName, "APPLE2E_ENHANCED.ROM"); break; |
| 2082 | case A2TYPE_PRAVETS82: strcpy(sRomFileName, "PRAVETS82.ROM"); break; |
| 2083 | case A2TYPE_PRAVETS8M: strcpy(sRomFileName, "PRAVETS8M.ROM"); break; |
| 2084 | case A2TYPE_PRAVETS8A: strcpy(sRomFileName, "PRAVETS8C.ROM"); break; |
| 2085 | case A2TYPE_TK30002E: strcpy(sRomFileName, "TK3000e.ROM"); break; |
| 2086 | case A2TYPE_BASE64A: strcpy(sRomFileName, "BASE64A.ROM"); break; |
| 2087 | default: |
| 2088 | { |
| 2089 | strcpy(sRomFileName, "Unknown type!"); |
| 2090 | GetPropertySheet().ConfigSaveApple2Type(A2TYPE_APPLE2EENHANCED); |
| 2091 | } |
| 2092 | } |
| 2093 | |
| 2094 | std::string strText = StrFormat("Unable to open the required firmware ROM data file.\n\nFile: %s", sRomFileName); |
| 2095 | |
| 2096 | LogFileOutput("%s\n", strText.c_str()); |
| 2097 | |
| 2098 | GetFrame().FrameMessageBox(strText.c_str(), |
| 2099 | g_pAppTitle.c_str(), |
| 2100 | MB_ICONSTOP | MB_SETFOREGROUND); |
| 2101 | |
| 2102 | ExitProcess(1); |
| 2103 | } |
| 2104 |
no test coverage detected