mirror of
https://github.com/holub/mame
synced 2025-06-30 16:00:01 +03:00
General CoCo Cartridge Fixes (#4050)
* Fixed 16k cartridge banking for all CoCos. Fixed 32k external ROM mode for CoCo 3 * Turned off some logging
This commit is contained in:
parent
f0f23e29a1
commit
6cd6b3a2c1
@ -199,7 +199,7 @@ uint8_t *coco_pak_banked_device::get_cart_base()
|
||||
|
||||
uint32_t coco_pak_banked_device::get_cart_size()
|
||||
{
|
||||
return 0x4000;
|
||||
return 0x20000;
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
|
@ -156,6 +156,9 @@ void sam6883_device::configure_bank(int bank, uint8_t *memory, uint32_t memory_s
|
||||
/* if we're configuring a bank that never changes, update it now */
|
||||
switch(bank)
|
||||
{
|
||||
case 3:
|
||||
m_space_C000.point(m_banks[3], m_banks[3].m_memory_offset);
|
||||
break;
|
||||
case 4:
|
||||
m_space_FF00.point(m_banks[4], 0x0000);
|
||||
break;
|
||||
|
@ -48,7 +48,7 @@
|
||||
CONSTANTS
|
||||
***************************************************************************/
|
||||
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE 0
|
||||
|
||||
#define VHDSTATUS_OK 0x00
|
||||
#define VHDSTATUS_NO_VHD_ATTACHED 0x02
|
||||
|
@ -86,6 +86,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// CONSTANTS
|
||||
//**************************************************************************
|
||||
@ -97,6 +98,7 @@
|
||||
#define LOG_INT_MASKING 0
|
||||
#define LOG_GIME 0
|
||||
#define LOG_TIMER 0
|
||||
#define LOG_PALETTE 0
|
||||
|
||||
|
||||
|
||||
@ -552,12 +554,15 @@ void gime_device::update_memory(int bank)
|
||||
// we're in ROM
|
||||
static const uint8_t rom_map[4][4] =
|
||||
{
|
||||
{ 0, 1, 6, 7 },
|
||||
{ 0, 1, 6, 7 },
|
||||
{ 0, 1, 4, 5 },
|
||||
{ 0, 1, 4, 5 },
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 4, 5, 6, 7 }
|
||||
{ 6, 7, 4, 5 }
|
||||
};
|
||||
|
||||
// Pin ROM page to MMU slot
|
||||
block = (block & 0xfc) | (bank & 0x03);
|
||||
|
||||
// look up the block in the ROM map
|
||||
block = rom_map[m_gime_registers[0] & 3][(block & 0x3F) - 0x3C];
|
||||
|
||||
@ -1005,6 +1010,10 @@ inline void gime_device::write_palette_register(offs_t offset, uint8_t data)
|
||||
{
|
||||
offset &= 0x0F;
|
||||
|
||||
// perform logging
|
||||
if (LOG_PALETTE)
|
||||
logerror("%s: CoCo3 Palette: $%04x <== $%02x\n", describe_context(), offset + 0xffB0, data);
|
||||
|
||||
/* has this entry changed? */
|
||||
if (m_palette_rotated[m_palette_rotated_position][offset] != data)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user