Use actual video ROMs (#1308, PR #1311)

* Apple II+ - 7341-0036 - Character Generator Rev7+
* Apple IIe Enhanced - 342-0265-A
* Remove CHARSET4.BMP
This commit is contained in:
TomCh
2024-06-02 13:47:22 +02:00
committed by GitHub
parent c87a2c90da
commit 06a646f751
7 changed files with 31 additions and 11 deletions

BIN
resource/Apple2_Video.rom Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -60,7 +60,6 @@ DEBUG_BUTTON BITMAP "DEBUG.BMP"
DRIVE1_BUTTON BITMAP "DRIVE1.BMP"
DRIVE2_BUTTON BITMAP "DRIVE2.BMP"
SETUP_BUTTON BITMAP "SETUP.BMP"
CHARSET40 BITMAP "CHARSET4.BMP"
DISKOFF_BITMAP BITMAP "DISKOFF.BMP"
DISKREAD_BITMAP BITMAP "DISKREAD.BMP"
DISKWRITE_BITMAP BITMAP "DISKWRIT.BMP"
@@ -348,7 +347,7 @@ IDR_APPLE2_ROM ROM "Apple2.rom"
IDR_APPLE2_PLUS_ROM ROM "Apple2_Plus.rom"
IDR_APPLE2_JPLUS_ROM ROM "Apple2_JPlus.rom"
IDR_APPLE2E_ROM ROM "Apple2e.rom"
IDR_APPLE2E_ENHANCED_ROM ROM "Apple2e_Enhanced.rom"
IDR_APPLE2E_ENHANCED_ROM ROM "Apple2e_Enhanced.rom"
IDR_PRAVETS_82_ROM ROM "Pravets82.rom"
IDR_PRAVETS_8M_ROM ROM "Pravets8M.rom"
IDR_PRAVETS_8C_ROM ROM "Pravets8C.rom"
@@ -361,7 +360,9 @@ IDR_FREEZES_F8_ROM ROM "FREEZES_NON-AUTOSTART_F8_ROM.ro
// VIDEO ROM
//
IDR_APPLE2_VIDEO_ROM ROM "Apple2_Video.rom"
IDR_APPLE2_JPLUS_VIDEO_ROM ROM "Apple2_JPlus_Video.rom"
IDR_APPLE2E_ENHANCED_VIDEO_ROM ROM "Apple2e_Enhanced_Video.rom"
IDR_BASE64A_VIDEO_ROM ROM "Base64A_German_Video.rom"
/////////////////////////////////////////////////////////////////////////////

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -28,11 +28,13 @@
#define IDR_MENU 125
#define IDR_APPLE2_ROM 126
#define IDR_APPLE2_PLUS_ROM 127
#define IDR_APPLE2E_ROM 128
#define IDR_APPLE2E_ENHANCED_ROM 129
#define IDD_TFE_SETTINGS_DIALOG 131
#define IDR_PRINTDRVR_FW 132
#define IDD_PROPPAGE_ADVANCED 132
#define IDR_APPLE2_VIDEO_ROM 128
#define IDR_APPLE2E_ROM 129
#define IDR_APPLE2E_ENHANCED_ROM 130
#define IDR_APPLE2E_ENHANCED_VIDEO_ROM 131
#define IDD_TFE_SETTINGS_DIALOG 132
#define IDR_PRINTDRVR_FW 133
#define IDD_PROPPAGE_ADVANCED 133
#define IDR_SSC_FW 134
#define IDR_MOCKINGBOARD_D_FW 135
#define IDR_MOUSEINTERFACE_FW 136

View File

@@ -124,7 +124,7 @@ char FormatChar4Font(const BYTE b, bool* pWasHi_, bool* pWasLo_)
// Disassembly
/*
// Thought about moving MouseText to another location, say high bit, 'A' + 0x80
// But would like to keep compatibility with existing CHARSET40
// But would like to keep compatibility with existing CHARSET40 - UPDATE: we now use original video ROMs (GH#1308)
// Since we should be able to display all apple chars 0x00 .. 0xFF with minimal processing
// Use CONSOLE_COLOR_ESCAPE_CHAR to shift to mouse text
* Apple Font

View File

@@ -246,6 +246,15 @@ static void userVideoRomForIIPlus(void)
//-------------------------------------
static void VideoRomForIIandIIPlus(void)
{
BYTE* pVideoRom = GetFrame().GetResource(IDR_APPLE2_VIDEO_ROM, "ROM", Video::kVideoRomSize2K);
if (pVideoRom == NULL)
return;
userVideoRom2K(&csbits_a2[0], pVideoRom);
}
static void VideoRomForIIJPlus(void)
{
BYTE* pVideoRom = GetFrame().GetResource(IDR_APPLE2_JPLUS_VIDEO_ROM, "ROM", Video::kVideoRomSize2K);
@@ -266,19 +275,27 @@ static void VideoRomForBase64A(void)
userVideoRom2K(&csbits_base64a[1], pVideoRom + Video::kVideoRomSize2K, A2TYPE_BASE64A, 0);
}
static void VideoRomForIIeEnhanced(void)
{
BYTE* pVideoRom = GetFrame().GetResource(IDR_APPLE2E_ENHANCED_VIDEO_ROM, "ROM", Video::kVideoRomSize4K);
if (pVideoRom == NULL)
return;
userVideoRom4K(&csbits_enhanced2e[0], pVideoRom);
}
//-------------------------------------
void make_csbits(void)
{
get_csbits(&csbits_enhanced2e[0], TEXT("CHARSET40"), 0); // Enhanced //e: Alt char set off
get_csbits(&csbits_enhanced2e[1], TEXT("CHARSET40"), 16); // Enhanced //e: Alt char set on (mousetext)
get_csbits(&csbits_a2[0], TEXT("CHARSET40"), 32); // Apple ][, ][+
get_csbits(&csbits_pravets82[0], TEXT("CHARSET82"), 0); // Pravets 82
get_csbits(&csbits_pravets8M[0], TEXT("CHARSET8M"), 0); // Pravets 8M
get_csbits(&csbits_pravets8C[0], TEXT("CHARSET8C"), 0); // Pravets 8A / 8C: Alt char set off
get_csbits(&csbits_pravets8C[1], TEXT("CHARSET8C"), 16); // Pravets 8A / 8C: Alt char set on
VideoRomForIIandIIPlus(); // GH#1308
VideoRomForIIeEnhanced(); // GH#1308
// Original //e is just Enhanced //e with the 32 mousetext chars [0x40..0x5F] replaced by the non-alt charset chars [0x40..0x5F]
memcpy(csbits_2e, csbits_enhanced2e, sizeof(csbits_enhanced2e));
memcpy(&csbits_2e[1][64], &csbits_2e[0][64], 32*8);