mirror of
https://github.com/AppleWin/AppleWin.git
synced 2025-01-10 13:29:56 +00:00
Extended -videorom <file> to also support Original //e (#574)
This commit is contained in:
parent
07a5e36eb9
commit
4d7a3323e9
@ -471,8 +471,8 @@ static void set_csbits()
|
|||||||
{
|
{
|
||||||
case A2TYPE_APPLE2: csbits = &csbits_a2[0]; g_nVideoCharSet = 0; break;
|
case A2TYPE_APPLE2: csbits = &csbits_a2[0]; g_nVideoCharSet = 0; break;
|
||||||
case A2TYPE_APPLE2PLUS: csbits = &csbits_a2[0]; g_nVideoCharSet = 0; break;
|
case A2TYPE_APPLE2PLUS: csbits = &csbits_a2[0]; g_nVideoCharSet = 0; break;
|
||||||
case A2TYPE_APPLE2E: csbits = &csbits_2e[0]; break;
|
case A2TYPE_APPLE2E: csbits = Get2e_csbits(); break;
|
||||||
case A2TYPE_APPLE2EENHANCED:csbits = GetEnhanced2e_csbits(); break;
|
case A2TYPE_APPLE2EENHANCED:csbits = Get2e_csbits(); break;
|
||||||
case A2TYPE_PRAVETS82: csbits = &csbits_pravets82[0]; g_nVideoCharSet = 0; break; // Apple ][ clone
|
case A2TYPE_PRAVETS82: csbits = &csbits_pravets82[0]; g_nVideoCharSet = 0; break; // Apple ][ clone
|
||||||
case A2TYPE_PRAVETS8M: csbits = &csbits_pravets8M[0]; g_nVideoCharSet = 0; break; // Apple ][ clone
|
case A2TYPE_PRAVETS8M: csbits = &csbits_pravets8M[0]; g_nVideoCharSet = 0; break; // Apple ][ clone
|
||||||
case A2TYPE_PRAVETS8A: csbits = &csbits_pravets8C[0]; break; // Apple //e clone
|
case A2TYPE_PRAVETS8A: csbits = &csbits_pravets8C[0]; break; // Apple //e clone
|
||||||
|
@ -26,7 +26,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|||||||
#include "NTSC_CharSet.h"
|
#include "NTSC_CharSet.h"
|
||||||
|
|
||||||
unsigned char csbits_enhanced2e[2][256][8]; // Enhanced //e (2732 4K video ROM)
|
unsigned char csbits_enhanced2e[2][256][8]; // Enhanced //e (2732 4K video ROM)
|
||||||
static unsigned char csbits_enhanced2e_pal[2][256][8]; // PAL Enhanced //e (2764 8K video ROM - top 4K) via rocker switch under keyboard
|
static unsigned char csbits_2e_pal[2][256][8]; // PAL Original or Enhanced //e (2764 8K video ROM - low 4K) via rocker switch under keyboard
|
||||||
unsigned char csbits_2e[2][256][8]; // Original //e (no mousetext)
|
unsigned char csbits_2e[2][256][8]; // Original //e (no mousetext)
|
||||||
unsigned char csbits_a2[1][256][8]; // ][ and ][+
|
unsigned char csbits_a2[1][256][8]; // ][ and ][+
|
||||||
unsigned char csbits_pravets82[1][256][8]; // Pravets 82
|
unsigned char csbits_pravets82[1][256][8]; // Pravets 82
|
||||||
@ -164,11 +164,15 @@ void userVideoRomForIIe(void)
|
|||||||
if (size == kVideoRomSize4K)
|
if (size == kVideoRomSize4K)
|
||||||
{
|
{
|
||||||
userVideoRom4K(&csbits_enhanced2e[0], pVideoRom);
|
userVideoRom4K(&csbits_enhanced2e[0], pVideoRom);
|
||||||
return;
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
userVideoRom4K(&csbits_2e_pal[0], pVideoRom);
|
||||||
|
userVideoRom4K(&csbits_enhanced2e[0], &pVideoRom[4*1024]);
|
||||||
}
|
}
|
||||||
|
|
||||||
userVideoRom4K(&csbits_enhanced2e_pal[0], pVideoRom);
|
// NB. Same *custom* US video ROM for Original & Enhanced //e
|
||||||
userVideoRom4K(&csbits_enhanced2e[0], &pVideoRom[4*1024]);
|
memcpy(csbits_2e, csbits_enhanced2e, sizeof(csbits_enhanced2e));
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------
|
//-------------------------------------
|
||||||
@ -224,17 +228,19 @@ void make_csbits(void)
|
|||||||
memcpy(csbits_2e, csbits_enhanced2e, sizeof(csbits_enhanced2e));
|
memcpy(csbits_2e, csbits_enhanced2e, sizeof(csbits_enhanced2e));
|
||||||
memcpy(&csbits_2e[1][64], &csbits_2e[0][64], 32*8);
|
memcpy(&csbits_2e[1][64], &csbits_2e[0][64], 32*8);
|
||||||
|
|
||||||
// Try to use any user-provided video ROM for Enhanced //e
|
// Try to use any user-provided video ROM for Original/Enhanced //e
|
||||||
userVideoRomForIIe();
|
userVideoRomForIIe();
|
||||||
|
|
||||||
// Try to use any user-provided video ROM for II/II+
|
// Try to use any user-provided video ROM for II/II+
|
||||||
userVideoRomForIIPlus();
|
userVideoRomForIIPlus();
|
||||||
}
|
}
|
||||||
|
|
||||||
csbits_t GetEnhanced2e_csbits(void)
|
csbits_t Get2e_csbits(void)
|
||||||
{
|
{
|
||||||
if (IsVideoRom4K())
|
const csbits_t videoRom4K = (GetApple2Type() == A2TYPE_APPLE2E) ? csbits_2e : csbits_enhanced2e;
|
||||||
return csbits_enhanced2e;
|
|
||||||
|
|
||||||
return GetVideoRomRockerSwitch() == false ? csbits_enhanced2e : csbits_enhanced2e_pal;
|
if (IsVideoRom4K()) // 4K means US-only, so no secondary PAL video ROM
|
||||||
|
return videoRom4K;
|
||||||
|
|
||||||
|
return GetVideoRomRockerSwitch() == false ? videoRom4K : csbits_2e_pal; // NB. Same PAL video ROM for Original & Enhanced //e
|
||||||
}
|
}
|
||||||
|
@ -10,4 +10,4 @@ extern unsigned char csbits_pravets8M[1][256][8]; // Pravets 8M
|
|||||||
extern unsigned char csbits_pravets8C[2][256][8]; // Pravets 8A & 8C
|
extern unsigned char csbits_pravets8C[2][256][8]; // Pravets 8A & 8C
|
||||||
|
|
||||||
void make_csbits(void);
|
void make_csbits(void);
|
||||||
csbits_t GetEnhanced2e_csbits(void);
|
csbits_t Get2e_csbits(void);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user