summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/bus/megadrive/ggenie.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/bus/megadrive/ggenie.c')
-rw-r--r--src/emu/bus/megadrive/ggenie.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/emu/bus/megadrive/ggenie.c b/src/emu/bus/megadrive/ggenie.c
index 1f1dc8ceab1..62ebfbb55aa 100644
--- a/src/emu/bus/megadrive/ggenie.c
+++ b/src/emu/bus/megadrive/ggenie.c
@@ -5,17 +5,17 @@
based on Charles MacDonald's docs: http://cgfm2.emuviews.com/txt/genie.txt
-
+
There is an interesting difference between Rev.0 and Rev.A
- After the codes has been entered, the former just performs
- a last write to the MODE register (m_gg_regs[0]) which both
- sets the enable bits for the 6 available cheats (in the low
- 8 bits) and locks the GG so that later reads goes to the
+ After the codes has been entered, the former just performs
+ a last write to the MODE register (m_gg_regs[0]) which both
+ sets the enable bits for the 6 available cheats (in the low
+ 8 bits) and locks the GG so that later reads goes to the
piggyback cart. The latter revision, instead, performs the
- same operations in two subsequent 8bit writes, accessing
+ same operations in two subsequent 8bit writes, accessing
separately the low and high bits of the register.
-
+
***********************************************************************************************************/
#include "emu.h"
@@ -86,7 +86,7 @@ READ16_MEMBER(md_rom_ggenie_device::read)
return m_gg_data[5];
else
return m_exp->m_cart->read(space, offset);
- }
+ }
else
return 0xffff;
}
@@ -114,7 +114,7 @@ WRITE16_MEMBER(md_rom_ggenie_device::write)
else
{
m_gg_bypass = 0;
-
+
// bit9 set = read goes to ASIC registers
if (data & 0x200)
m_reg_enable = 1;
@@ -122,7 +122,7 @@ WRITE16_MEMBER(md_rom_ggenie_device::write)
else
m_reg_enable = 0;
}
-
+
// LOCK bit
if (data & 0x100)
{
@@ -133,7 +133,7 @@ WRITE16_MEMBER(md_rom_ggenie_device::write)
m_gg_addr[3] = ((m_gg_regs[11] & 0x3f) << 16) | m_gg_regs[12];
m_gg_addr[4] = ((m_gg_regs[14] & 0x3f) << 16) | m_gg_regs[15];
m_gg_addr[5] = ((m_gg_regs[17] & 0x3f) << 16) | m_gg_regs[18];
-
+
// data
m_gg_data[0] = m_gg_regs[4];
m_gg_data[1] = m_gg_regs[7];
@@ -144,9 +144,9 @@ WRITE16_MEMBER(md_rom_ggenie_device::write)
//printf("mode %X\n", data);
//for (int i = 0; i < 6; i++)
- // printf("addr %d = 0x%X - data 0x%X\n", i, m_gg_addr[i], m_gg_data[i]);
+ // printf("addr %d = 0x%X - data 0x%X\n", i, m_gg_addr[i], m_gg_data[i]);
}
- }
+ }
else if (offset == 1)
{
// RESET