mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
* Converted various logging patterns to use logmacro.h consistently. * Removed redefinitions of LOG_GENERAL. * Use LOGMASKED in more places.
This commit is contained in:
parent
aee8c4f3ef
commit
c5a978bca7
@ -27,9 +27,9 @@
|
||||
#include "sound/tms5220.h"
|
||||
#include "speaker.h"
|
||||
|
||||
#define LOG_READYQ (1 << 0)
|
||||
#define LOG_READ (1 << 1)
|
||||
#define LOG_WRITE (1 << 2)
|
||||
#define LOG_READYQ (1U << 1)
|
||||
#define LOG_READ (1U << 2)
|
||||
#define LOG_WRITE (1U << 3)
|
||||
|
||||
//#define VERBOSE (LOG_READYQ | LOG_READ | LOG_WRITE)
|
||||
#include "logmacro.h"
|
||||
|
@ -22,7 +22,6 @@
|
||||
#include "emu.h"
|
||||
#include "a2sd.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_SPI (1U << 1)
|
||||
|
||||
//#define VERBOSE (LOG_COMMAND)
|
||||
@ -238,7 +237,7 @@ void a2bus_a2sd_device::write_c0nx(u8 offset, u8 data)
|
||||
m_c0n3 |= (data & 0x91);
|
||||
|
||||
m_sdcard->spi_ss_w(BIT(data, C0N3_BIT_SS));
|
||||
LOGMASKED(LOG_GENERAL, "/SS is %x\n", BIT(data, C0N3_BIT_SS));
|
||||
LOG("/SS is %x\n", BIT(data, C0N3_BIT_SS));
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -59,7 +59,6 @@
|
||||
|
||||
#include "cpu/mcs48/mcs48.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_COMM (1U << 1)
|
||||
#define LOG_SCAN (1U << 2)
|
||||
|
||||
|
@ -11,7 +11,6 @@
|
||||
#include "emu.h"
|
||||
#include "a2232.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_DATA (1U << 1)
|
||||
//#define VERBOSE (LOG_GENERAL | LOG_DATA)
|
||||
#include "logmacro.h"
|
||||
|
@ -13,9 +13,8 @@
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "machine/74259.h"
|
||||
|
||||
//#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_REGS (1U << 1)
|
||||
#define LOG_DATA (1U << 2)
|
||||
#define LOG_REGS (1U << 1)
|
||||
#define LOG_DATA (1U << 2)
|
||||
|
||||
//#define VERBOSE (LOG_REGS)
|
||||
//#define LOG_OUTPUT_STREAM std::cout
|
||||
|
@ -89,7 +89,6 @@
|
||||
#include "formats/sdf_dsk.h"
|
||||
#include "formats/vdk_dsk.h"
|
||||
|
||||
//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already
|
||||
#define LOG_WDFDC (1U << 1) // Shows register setup
|
||||
#define LOG_WDIO (1U << 2) // Shows data read and write
|
||||
#define LOG_WDSCII (1U << 3) // Shows SCII register setup
|
||||
|
@ -65,7 +65,6 @@
|
||||
|
||||
#define SWITCH_CONFIG_TAG "switch"
|
||||
|
||||
//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already
|
||||
#define LOG_CART (1U << 1) // shows cart line changes
|
||||
#define LOG_SWITCH (1U << 2) // shows switch changes
|
||||
//#define VERBOSE (LOG_CART|LOG_SWITCH)
|
||||
|
@ -40,8 +40,8 @@
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
#define LOG_INTERFACE (1U << 1)
|
||||
#define LOG_INTERNAL (1U << 2)
|
||||
#define LOG_INTERFACE (1U << 1)
|
||||
#define LOG_INTERNAL (1U << 2)
|
||||
#define VERBOSE (0)
|
||||
// #define VERBOSE (LOG_INTERFACE)
|
||||
// #define VERBOSE (LOG_INTERFACE|LOG_INTERNAL)
|
||||
|
@ -50,10 +50,9 @@
|
||||
#include "machine/mc14411.h"
|
||||
#include "machine/6821pia.h"
|
||||
|
||||
//#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_SETUP (1U << 1)
|
||||
#define LOG_PIA (1U << 2)
|
||||
#define LOG_ACIA (1U << 3)
|
||||
#define LOG_SETUP (1U << 1)
|
||||
#define LOG_PIA (1U << 2)
|
||||
#define LOG_ACIA (1U << 3)
|
||||
|
||||
//#define VERBOSE (LOG_PIA) // (LOG_PIA | LOG_GENERAL | LOG_SETUP)
|
||||
//#define LOG_OUTPUT_STREAM std::cout
|
||||
|
@ -73,7 +73,6 @@
|
||||
PARAMETERS
|
||||
***************************************************************************/
|
||||
|
||||
//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already
|
||||
#define LOG_CART (1U << 1) // shows cart line changes
|
||||
#define LOG_NMI (1U << 2) // shows switch changes
|
||||
#define LOG_HALT (1U << 3) // shows switch changes
|
||||
|
@ -82,8 +82,9 @@
|
||||
PARAMETERS
|
||||
***************************************************************************/
|
||||
|
||||
#define LOG_FDC 0
|
||||
|
||||
#define LOG_FDC (1U << 1)
|
||||
#define VERBOSE (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -221,19 +222,16 @@ void premier_fdc_device_base::update_lines()
|
||||
|
||||
void dragon_fdc_device_base::dskreg_w(u8 data)
|
||||
{
|
||||
if (LOG_FDC)
|
||||
{
|
||||
logerror("fdc_dragon_dskreg_w(): %c%c%c%c%c%c%c%c ($%02x)\n",
|
||||
BIT(data, 7) ? 'X' : 'x',
|
||||
BIT(data, 6) ? 'X' : 'x',
|
||||
BIT(data, 5) ? 'N' : 'n',
|
||||
BIT(data, 4) ? 'P' : 'p',
|
||||
BIT(data, 3) ? 'S' : 'D',
|
||||
BIT(data, 2) ? 'M' : 'm',
|
||||
BIT(data, 1) ? '1' : '0',
|
||||
BIT(data, 0) ? '1' : '0',
|
||||
data);
|
||||
}
|
||||
LOGMASKED(LOG_FDC, "fdc_dragon_dskreg_w(): %c%c%c%c%c%c%c%c ($%02x)\n",
|
||||
BIT(data, 7) ? 'X' : 'x',
|
||||
BIT(data, 6) ? 'X' : 'x',
|
||||
BIT(data, 5) ? 'N' : 'n',
|
||||
BIT(data, 4) ? 'P' : 'p',
|
||||
BIT(data, 3) ? 'S' : 'D',
|
||||
BIT(data, 2) ? 'M' : 'm',
|
||||
BIT(data, 1) ? '1' : '0',
|
||||
BIT(data, 0) ? '1' : '0',
|
||||
data);
|
||||
|
||||
// update the motor on each floppy
|
||||
for (int i = 0; i < 4; i++)
|
||||
@ -253,19 +251,16 @@ void dragon_fdc_device_base::dskreg_w(u8 data)
|
||||
|
||||
void premier_fdc_device_base::dskreg_w(u8 data)
|
||||
{
|
||||
if (LOG_FDC)
|
||||
{
|
||||
logerror("fdc_premier_dskreg_w(): %c%c%c%c%c%c%c%c ($%02x)\n",
|
||||
BIT(data, 7) ? 'X' : 'x',
|
||||
BIT(data, 6) ? 'X' : 'x',
|
||||
BIT(data, 5) ? 'X' : 'x',
|
||||
BIT(data, 4) ? 'D' : 'S',
|
||||
BIT(data, 3) ? '8' : '5',
|
||||
BIT(data, 2) ? '1' : '0',
|
||||
BIT(data, 1) ? '1' : '0',
|
||||
BIT(data, 0) ? '1' : '0',
|
||||
data);
|
||||
}
|
||||
LOGMASKED(LOG_FDC, "fdc_premier_dskreg_w(): %c%c%c%c%c%c%c%c ($%02x)\n",
|
||||
BIT(data, 7) ? 'X' : 'x',
|
||||
BIT(data, 6) ? 'X' : 'x',
|
||||
BIT(data, 5) ? 'X' : 'x',
|
||||
BIT(data, 4) ? 'D' : 'S',
|
||||
BIT(data, 3) ? '8' : '5',
|
||||
BIT(data, 2) ? '1' : '0',
|
||||
BIT(data, 1) ? '1' : '0',
|
||||
BIT(data, 0) ? '1' : '0',
|
||||
data);
|
||||
floppy_image_device *floppy = nullptr;
|
||||
|
||||
// update the motor on each floppy
|
||||
|
@ -37,14 +37,14 @@
|
||||
#include "emu.h"
|
||||
#include "newport.h"
|
||||
|
||||
#define LOG_UNKNOWN (1 << 0)
|
||||
#define LOG_VC2 (1 << 1)
|
||||
#define LOG_CMAP (1 << 2)
|
||||
#define LOG_XMAP (1 << 4)
|
||||
#define LOG_REX3 (1 << 6)
|
||||
#define LOG_RAMDAC (1 << 7)
|
||||
#define LOG_COMMANDS (1 << 8)
|
||||
#define LOG_REJECTS (1 << 9)
|
||||
#define LOG_UNKNOWN (1U << 1)
|
||||
#define LOG_VC2 (1U << 2)
|
||||
#define LOG_CMAP (1U << 3)
|
||||
#define LOG_XMAP (1U << 4)
|
||||
#define LOG_REX3 (1U << 5)
|
||||
#define LOG_RAMDAC (1U << 6)
|
||||
#define LOG_COMMANDS (1U << 7)
|
||||
#define LOG_REJECTS (1U << 8)
|
||||
#define LOG_ALL (LOG_UNKNOWN | LOG_VC2 | LOG_CMAP | LOG_XMAP | LOG_REX3 | LOG_RAMDAC | LOG_COMMANDS | LOG_REJECTS)
|
||||
|
||||
#define VERBOSE (0)
|
||||
|
@ -150,10 +150,10 @@
|
||||
// Devices
|
||||
#include "hx5102.h"
|
||||
|
||||
#define LOG_LINES (1U<<1) // Line changes
|
||||
#define LOG_ENABLED (1U<<2) // Enabled
|
||||
#define LOG_LINES (1U << 1) // Line changes
|
||||
#define LOG_ENABLED (1U << 2) // Enabled
|
||||
|
||||
#define VERBOSE ( LOG_GENERAL )
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
|
||||
#include "logmacro.h"
|
||||
|
||||
|
@ -75,20 +75,20 @@
|
||||
#include "hx5102.h"
|
||||
#include "formats/ti99_dsk.h"
|
||||
|
||||
#define LOG_HEXBUS (1U<<1) // Hexbus operation
|
||||
#define LOG_RESET (1U<<2) // Reset
|
||||
#define LOG_WARN (1U<<3) // Warnings
|
||||
#define LOG_READY (1U<<4) // READY
|
||||
#define LOG_SIGNALS (1U<<5) // IRQ/DRQ
|
||||
#define LOG_CRU (1U<<6) // CRU
|
||||
#define LOG_RAM (1U<<7) // RAM
|
||||
#define LOG_DMA (1U<<8) // DMA
|
||||
#define LOG_MOTOR (1U<<9) // Motor activity
|
||||
#define LOG_STATUS (1U<<10) // Main status register
|
||||
#define LOG_FIFO (1U<<11) // Data register
|
||||
#define LOG_HEXBUS (1U << 1) // Hexbus operation
|
||||
#define LOG_RESET (1U << 2) // Reset
|
||||
#define LOG_WARN (1U << 3) // Warnings
|
||||
#define LOG_READY (1U << 4) // READY
|
||||
#define LOG_SIGNALS (1U << 5) // IRQ/DRQ
|
||||
#define LOG_CRU (1U << 6) // CRU
|
||||
#define LOG_RAM (1U << 7) // RAM
|
||||
#define LOG_DMA (1U << 8) // DMA
|
||||
#define LOG_MOTOR (1U << 9) // Motor activity
|
||||
#define LOG_STATUS (1U << 10) // Main status register
|
||||
#define LOG_FIFO (1U << 11) // Data register
|
||||
|
||||
// Minimum log should be config and warnings
|
||||
#define VERBOSE ( LOG_GENERAL | LOG_WARN )
|
||||
#define VERBOSE (LOG_GENERAL | LOG_WARN)
|
||||
|
||||
#include "logmacro.h"
|
||||
|
||||
|
@ -106,15 +106,15 @@
|
||||
// Devices
|
||||
#include "tp0370.h"
|
||||
|
||||
#define LOG_DATA (1U<<1) // Data transfer
|
||||
#define LOG_DETAIL (1U<<2)
|
||||
#define LOG_WRITE (1U<<3)
|
||||
#define LOG_LINES (1U<<4)
|
||||
#define LOG_STATUS (1U<<5)
|
||||
#define LOG_MODE (1U<<6)
|
||||
#define LOG_DATA (1U << 1) // Data transfer
|
||||
#define LOG_DETAIL (1U << 2)
|
||||
#define LOG_WRITE (1U << 3)
|
||||
#define LOG_LINES (1U << 4)
|
||||
#define LOG_STATUS (1U << 5)
|
||||
#define LOG_MODE (1U << 6)
|
||||
|
||||
// Minimum log should be config and warnings
|
||||
#define VERBOSE ( LOG_GENERAL )
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
|
||||
enum
|
||||
{
|
||||
|
@ -24,9 +24,10 @@
|
||||
// MACROS / CONSTANTS
|
||||
//**************************************************************************
|
||||
|
||||
#define LOG 0
|
||||
#define LOG_MORE 0
|
||||
#define LOG_BITS 0
|
||||
#define LOG_MORE (1U << 1)
|
||||
#define LOG_BITS (1U << 2)
|
||||
#define VERBOSE (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
#define GCR_DECODE(_e, _i) \
|
||||
((BIT(_e, 6) << 7) | (BIT(_i, 7) << 6) | (_e & 0x33) | (BIT(_e, 2) << 3) | (_i & 0x04))
|
||||
@ -214,7 +215,7 @@ void c8050_fdc_device::ds_w(int ds)
|
||||
live_sync();
|
||||
m_ds = cur_live.ds = ds;
|
||||
pll_reset(cur_live.tm);
|
||||
if (LOG) logerror("%s %s DS %u\n", machine().time().as_string(), machine().describe_context(), ds);
|
||||
LOG("%s %s DS %u\n", machine().time().as_string(), machine().describe_context(), ds);
|
||||
checkpoint();
|
||||
live_run();
|
||||
}
|
||||
@ -432,19 +433,17 @@ void c8050_fdc_device::live_run(const attotime &limit)
|
||||
// GCR error
|
||||
int error = !(ready || BIT(cur_live.e, 3));
|
||||
|
||||
if (LOG_BITS) {
|
||||
if (cur_live.rw_sel) {
|
||||
logerror("%s cyl %u bit %u sync %u bc %u sr %03x i %03x e %02x\n",cur_live.tm.as_string(),get_floppy()->get_cyl(),bit,sync,cur_live.bit_counter,cur_live.shift_reg,cur_live.i,cur_live.e);
|
||||
} else {
|
||||
logerror("%s cyl %u writing bit %u bc %u sr %03x i %03x e %02x\n",cur_live.tm.as_string(),get_floppy()->get_cyl(),write_bit,cur_live.bit_counter,cur_live.shift_reg_write,cur_live.i,cur_live.e);
|
||||
}
|
||||
if (cur_live.rw_sel) {
|
||||
LOGMASKED(LOG_BITS, "%s cyl %u bit %u sync %u bc %u sr %03x i %03x e %02x\n",cur_live.tm.as_string(),get_floppy()->get_cyl(),bit,sync,cur_live.bit_counter,cur_live.shift_reg,cur_live.i,cur_live.e);
|
||||
} else {
|
||||
LOGMASKED(LOG_BITS, "%s cyl %u writing bit %u bc %u sr %03x i %03x e %02x\n",cur_live.tm.as_string(),get_floppy()->get_cyl(),write_bit,cur_live.bit_counter,cur_live.shift_reg_write,cur_live.i,cur_live.e);
|
||||
}
|
||||
|
||||
if (!ready) {
|
||||
// load write shift register
|
||||
cur_live.shift_reg_write = GCR_ENCODE(cur_live.e, cur_live.i);
|
||||
|
||||
if (LOG_BITS) logerror("%s load write shift register %03x\n",cur_live.tm.as_string(),cur_live.shift_reg_write);
|
||||
LOGMASKED(LOG_BITS, "%s load write shift register %03x\n",cur_live.tm.as_string(),cur_live.shift_reg_write);
|
||||
} else {
|
||||
// clock write shift register
|
||||
cur_live.shift_reg_write <<= 1;
|
||||
@ -453,25 +452,25 @@ void c8050_fdc_device::live_run(const attotime &limit)
|
||||
|
||||
if (ready != cur_live.ready) {
|
||||
if (cur_live.rw_sel && !ready)
|
||||
if (LOG) logerror("%s READY %u : %02x\n", cur_live.tm.as_string(),ready,GCR_DECODE(cur_live.e, cur_live.i));
|
||||
LOG("%s READY %u : %02x\n", cur_live.tm.as_string(),ready,GCR_DECODE(cur_live.e, cur_live.i));
|
||||
cur_live.ready = ready;
|
||||
syncpoint = true;
|
||||
}
|
||||
|
||||
if (brdy != cur_live.brdy) {
|
||||
if (LOG_MORE) logerror("%s BRDY %u\n", cur_live.tm.as_string(), brdy);
|
||||
LOGMASKED(LOG_MORE, "%s BRDY %u\n", cur_live.tm.as_string(), brdy);
|
||||
cur_live.brdy = brdy;
|
||||
syncpoint = true;
|
||||
}
|
||||
|
||||
if (sync != cur_live.sync) {
|
||||
if (LOG) logerror("%s SYNC %u\n", cur_live.tm.as_string(), sync);
|
||||
LOG("%s SYNC %u\n", cur_live.tm.as_string(), sync);
|
||||
cur_live.sync = sync;
|
||||
syncpoint = true;
|
||||
}
|
||||
|
||||
if (error != cur_live.error) {
|
||||
if (LOG_MORE) logerror("%s ERROR %u\n", cur_live.tm.as_string(), error);
|
||||
LOGMASKED(LOG_MORE, "%s ERROR %u\n", cur_live.tm.as_string(), error);
|
||||
cur_live.error = error;
|
||||
syncpoint = true;
|
||||
}
|
||||
@ -507,7 +506,7 @@ uint8_t c8050_fdc_device::read()
|
||||
|
||||
void c8050_fdc_device::write(uint8_t data)
|
||||
{
|
||||
if (LOG) logerror("%s %s PI %02x\n", machine().time().as_string(), machine().describe_context(), data);
|
||||
LOG("%s %s PI %02x\n", machine().time().as_string(), machine().describe_context(), data);
|
||||
|
||||
if (m_pi != data)
|
||||
{
|
||||
@ -537,7 +536,7 @@ WRITE_LINE_MEMBER( c8050_fdc_device::drv_sel_w )
|
||||
live_sync();
|
||||
m_drv_sel = cur_live.drv_sel = state;
|
||||
checkpoint();
|
||||
if (LOG) logerror("%s %s DRV SEL %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
LOG("%s %s DRV SEL %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
live_run();
|
||||
}
|
||||
}
|
||||
@ -549,7 +548,7 @@ WRITE_LINE_MEMBER( c8050_fdc_device::mode_sel_w )
|
||||
live_sync();
|
||||
m_mode_sel = cur_live.mode_sel = state;
|
||||
checkpoint();
|
||||
if (LOG) logerror("%s %s MODE SEL %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
LOG("%s %s MODE SEL %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
live_run();
|
||||
}
|
||||
}
|
||||
@ -561,7 +560,7 @@ WRITE_LINE_MEMBER( c8050_fdc_device::rw_sel_w )
|
||||
live_sync();
|
||||
m_rw_sel = cur_live.rw_sel = state;
|
||||
checkpoint();
|
||||
if (LOG) logerror("%s %s RW SEL %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
LOG("%s %s RW SEL %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
if (m_rw_sel) {
|
||||
pll_stop_writing(get_floppy(), cur_live.tm);
|
||||
} else {
|
||||
@ -577,7 +576,7 @@ WRITE_LINE_MEMBER( c8050_fdc_device::mtr0_w )
|
||||
{
|
||||
live_sync();
|
||||
m_mtr0 = state;
|
||||
if (LOG) logerror("%s %s MTR0 %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
LOG("%s %s MTR0 %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
m_floppy0->mon_w(state);
|
||||
checkpoint();
|
||||
|
||||
@ -599,7 +598,7 @@ WRITE_LINE_MEMBER( c8050_fdc_device::mtr1_w )
|
||||
{
|
||||
live_sync();
|
||||
m_mtr1 = state;
|
||||
if (LOG) logerror("%s %s MTR1 %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
LOG("%s %s MTR1 %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
if (m_floppy1) m_floppy1->mon_w(state);
|
||||
checkpoint();
|
||||
|
||||
@ -621,7 +620,7 @@ WRITE_LINE_MEMBER( c8050_fdc_device::odd_hd_w )
|
||||
{
|
||||
live_sync();
|
||||
m_odd_hd = cur_live.odd_hd = state;
|
||||
if (LOG) logerror("%s %s ODD HD %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
LOG("%s %s ODD HD %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
m_floppy0->ss_w(!state);
|
||||
if (m_floppy1) m_floppy1->ss_w(!state);
|
||||
checkpoint();
|
||||
@ -631,5 +630,5 @@ WRITE_LINE_MEMBER( c8050_fdc_device::odd_hd_w )
|
||||
|
||||
WRITE_LINE_MEMBER( c8050_fdc_device::pull_sync_w )
|
||||
{
|
||||
if (LOG_MORE) logerror("%s %s PULL SYNC %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
LOGMASKED(LOG_MORE, "%s %s PULL SYNC %u\n", machine().time().as_string(), machine().describe_context(), state);
|
||||
}
|
||||
|
@ -148,7 +148,6 @@
|
||||
#include "speaker.h"
|
||||
#include "machine/keyboard.ipp"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_RXTX (1U << 1)
|
||||
#define LOG_PORT (1U << 2)
|
||||
|
||||
|
@ -207,7 +207,6 @@
|
||||
#include "emu.h"
|
||||
#include "edge.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_INTERRUPT (1U << 1)
|
||||
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
|
@ -113,7 +113,6 @@
|
||||
#include "bus/interpro/keyboard/keyboard.h"
|
||||
#include "bus/interpro/mouse/mouse.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_LINE (1U << 1)
|
||||
#define LOG_BLIT (1U << 2)
|
||||
|
||||
|
@ -25,7 +25,6 @@
|
||||
#include "emu.h"
|
||||
#include "3c505.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_REG (1U << 1)
|
||||
#define LOG_DATA (1U << 2)
|
||||
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include "formats/pc_dsk.h"
|
||||
#include "formats/imd_dsk.h"
|
||||
|
||||
//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already
|
||||
#define LOG_READ (1U << 1)
|
||||
#define LOG_CMD (1U << 2)
|
||||
|
||||
|
@ -31,7 +31,6 @@
|
||||
#include "emu.h"
|
||||
#include "opus100pm.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_STAT (1U << 1)
|
||||
#define LOG_REG (1U << 2)
|
||||
|
||||
|
@ -14,8 +14,7 @@
|
||||
// MACROS / CONSTANTS
|
||||
//**************************************************************************
|
||||
|
||||
//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already
|
||||
#define LOG_DEBUG (1U << 1)
|
||||
#define LOG_DEBUG (1U << 1)
|
||||
|
||||
//#define VERBOSE (LOG_DEBUG)
|
||||
//#define LOG_OUTPUT_FUNC printf
|
||||
|
@ -32,7 +32,6 @@
|
||||
#include "screen.h"
|
||||
|
||||
|
||||
//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already
|
||||
#define LOG_VRAM (1U << 1)
|
||||
#define LOG_CMD (1U << 2)
|
||||
|
||||
|
@ -67,7 +67,8 @@
|
||||
#include "video/pc_vga.h"
|
||||
#include "cirrus.h"
|
||||
|
||||
#define LOG_PCIACCESS 0
|
||||
#define VERBOSE (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
@ -136,8 +137,7 @@ uint32_t pci_cirrus_svga_device::pci_read(pci_bus_device *pcibus, int function,
|
||||
}
|
||||
}
|
||||
|
||||
if (LOG_PCIACCESS)
|
||||
logerror("cirrus5430_pci_read(): function=%d offset=0x%02X result=0x%04X\n", function, offset, result);
|
||||
LOG("cirrus5430_pci_read(): function=%d offset=0x%02X result=0x%04X\n", function, offset, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -148,8 +148,7 @@ uint32_t pci_cirrus_svga_device::pci_read(pci_bus_device *pcibus, int function,
|
||||
|
||||
void pci_cirrus_svga_device::pci_write(pci_bus_device *pcibus, int function, int offset, uint32_t data, uint32_t mem_mask)
|
||||
{
|
||||
if (LOG_PCIACCESS)
|
||||
logerror("cirrus5430_pci_write(): function=%d offset=0x%02X data=0x%04X\n", function, offset, data);
|
||||
LOG("cirrus5430_pci_write(): function=%d offset=0x%02X data=0x%04X\n", function, offset, data);
|
||||
}
|
||||
|
||||
/*************************************
|
||||
|
@ -19,10 +19,10 @@
|
||||
#include "emu.h"
|
||||
#include "i82371ab.h"
|
||||
|
||||
#define LOG_ISA (1U << 1)
|
||||
#define LOG_IDE (1U << 2)
|
||||
#define LOG_USB (1U << 3)
|
||||
#define LOG_ACPI (1U << 4)
|
||||
#define LOG_ISA (1U << 1)
|
||||
#define LOG_IDE (1U << 2)
|
||||
#define LOG_USB (1U << 3)
|
||||
#define LOG_ACPI (1U << 4)
|
||||
|
||||
#define VERBOSE (LOG_GENERAL | LOG_ISA | LOG_IDE | LOG_USB | LOG_ACPI)
|
||||
//#define LOG_OUTPUT_FUNC osd_printf_info
|
||||
|
@ -11,7 +11,8 @@
|
||||
#include "emu.h"
|
||||
#include "mpc105.h"
|
||||
|
||||
#define LOG_MPC105 0
|
||||
#define VERBOSE (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
@ -69,8 +70,7 @@ void mpc105_device::update_memory()
|
||||
char bank_str[10];
|
||||
u32 ram_size = m_ram->size();
|
||||
|
||||
if (LOG_MPC105)
|
||||
logerror("mpc105_update_memory(machine): Updating memory (bank enable=0x%02X)\n", m_bank_enable);
|
||||
LOG("mpc105_update_memory(machine): Updating memory (bank enable=0x%02X)\n", m_bank_enable);
|
||||
|
||||
if (m_bank_base > 0)
|
||||
{
|
||||
@ -96,8 +96,7 @@ void mpc105_device::update_memory()
|
||||
|
||||
if ((begin + 0x100000) <= end)
|
||||
{
|
||||
if (LOG_MPC105)
|
||||
logerror("\tbank #%d [%02d]: 0x%08X - 0x%08X [%p-%p]\n", bank, bank + m_bank_base, begin, end, m_ram->pointer(), m_ram->pointer() + (end - begin));
|
||||
LOG("\tbank #%d [%02d]: 0x%08X - 0x%08X [%p-%p]\n", bank, bank + m_bank_base, begin, end, m_ram->pointer(), m_ram->pointer() + (end - begin));
|
||||
|
||||
if (m_bank_base > 0)
|
||||
{
|
||||
|
@ -74,7 +74,8 @@
|
||||
#include "emu.h"
|
||||
#include "pci.h"
|
||||
|
||||
#define LOG_PCI 0
|
||||
#define VERBOSE (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
@ -130,8 +131,7 @@ uint32_t pci_bus_device::read(offs_t offset, uint32_t mem_mask)
|
||||
break;
|
||||
}
|
||||
|
||||
if (LOG_PCI)
|
||||
logerror("read('%s'): offset=%d result=0x%08X\n", tag(), offset, result);
|
||||
LOG("read('%s'): offset=%d result=0x%08X\n", tag(), offset, result);
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -162,8 +162,7 @@ void pci_bus_device::write(offs_t offset, uint32_t data, uint32_t mem_mask)
|
||||
{
|
||||
offset %= 2;
|
||||
|
||||
if (LOG_PCI)
|
||||
logerror("write('%s'): offset=%d data=0x%08X\n", tag(), offset, data);
|
||||
LOG("write('%s'): offset=%d data=0x%08X\n", tag(), offset, data);
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
@ -183,8 +182,7 @@ void pci_bus_device::write(offs_t offset, uint32_t data, uint32_t mem_mask)
|
||||
}
|
||||
else
|
||||
m_devicenum = -1;
|
||||
if (LOG_PCI)
|
||||
logerror(" bus:%d device:%d\n", busnum, devicenum);
|
||||
LOG(" bus:%d device:%d\n", busnum, devicenum);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -197,8 +195,7 @@ void pci_bus_device::write(offs_t offset, uint32_t data, uint32_t mem_mask)
|
||||
int reg = (m_address >> 0) & 0xfc;
|
||||
m_busnumaddr->m_device[m_devicenum]->pci_write(m_busnumaddr, function, reg, data, mem_mask);
|
||||
}
|
||||
if (LOG_PCI)
|
||||
logerror(" function:%d register:%d\n", (m_address >> 8) & 0x07, (m_address >> 0) & 0xfc);
|
||||
LOG(" function:%d register:%d\n", (m_address >> 8) & 0x07, (m_address >> 0) & 0xfc);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -212,7 +212,6 @@
|
||||
|
||||
#include "cpu/mcs48/mcs48.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_WATCHDOG (1U << 1)
|
||||
#define LOG_MATRIX (1U << 2)
|
||||
#define LOG_COMM (1U << 3)
|
||||
|
@ -19,12 +19,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -93,7 +92,7 @@ void nes_2a03pur_device::pcb_reset()
|
||||
|
||||
void nes_2a03pur_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("2a03 puritans write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("2a03 puritans write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000)
|
||||
m_reg[offset & 7] = data;
|
||||
@ -101,7 +100,7 @@ void nes_2a03pur_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_2a03pur_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("2a03 puritans read_h, offset: %04x\n", offset));
|
||||
LOG("2a03 puritans read_h, offset: %04x\n", offset);
|
||||
|
||||
return m_prg[((m_reg[BIT(offset, 12, 3)] * 0x1000) + (offset & 0x0fff)) & (m_prg_size - 1)];
|
||||
}
|
||||
|
@ -17,12 +17,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -151,7 +150,7 @@ void nes_action53_device::update_mirr()
|
||||
|
||||
void nes_action53_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("action 53 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("action 53 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000)
|
||||
m_sel = bitswap<2>(data, 7, 0);
|
||||
@ -160,7 +159,7 @@ void nes_action53_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_action53_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("action 53 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("action 53 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (m_reg[m_sel] != data)
|
||||
{
|
||||
|
@ -19,12 +19,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
|
||||
@ -299,7 +298,7 @@ void nes_aladdin_device::pcb_reset()
|
||||
|
||||
uint8_t nes_aladdin_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("aladdin read_h, offset: %04x\n", offset));
|
||||
LOG("aladdin read_h, offset: %04x\n", offset);
|
||||
// this shall be the proper code, but it's a bit slower, so we access directly the subcart below
|
||||
//return m_subslot->read(offset);
|
||||
|
||||
@ -311,7 +310,7 @@ uint8_t nes_aladdin_device::read_h(offs_t offset)
|
||||
|
||||
void nes_aladdin_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("aladdin write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("aladdin write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
m_subslot->write_prg(offset, data);
|
||||
}
|
||||
|
||||
|
@ -21,12 +21,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -94,7 +93,7 @@ void nes_maxi15_device::pcb_reset()
|
||||
|
||||
void nes_nina001_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("nina-001 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("nina-001 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
device_nes_cart_interface::write_m(offset, data); // write WRAM
|
||||
|
||||
@ -127,7 +126,7 @@ void nes_nina001_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_nina006_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("nina-006 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("nina-006 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (BIT(offset, 8)) // $41xx, $43xx, ... $5fxx
|
||||
@ -151,7 +150,7 @@ void nes_nina006_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_maxi15_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("Maxi 15 read_h, offset: %04x\n", offset));
|
||||
LOG("Maxi 15 read_h, offset: %04x\n", offset);
|
||||
|
||||
u8 temp = hi_access_rom(offset);
|
||||
|
||||
|
@ -34,13 +34,14 @@
|
||||
#include "emu.h"
|
||||
#include "bandai.h"
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#endif
|
||||
#define LOG_UNHANDLED (1U << 1)
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE (LOG_UNHANDLED | LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE (LOG_UNHANDLED)
|
||||
#endif
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
|
||||
@ -197,7 +198,7 @@ void nes_fjump2_device::pcb_reset()
|
||||
|
||||
iNES: mapper 96
|
||||
|
||||
In MESS: Preliminary Support.
|
||||
In MAME: Preliminary Support.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -248,7 +249,7 @@ void nes_oekakids_device::ppu_latch(offs_t offset)
|
||||
|
||||
void nes_oekakids_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("oeka kids write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("oeka kids write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(data & 0x03);
|
||||
m_reg = data & 0x04;
|
||||
@ -274,7 +275,7 @@ void nes_oekakids_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mappers 16, 153 (see below), 157 & 159
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -300,7 +301,7 @@ TIMER_CALLBACK_MEMBER(nes_fcg_device::irq_timer_tick)
|
||||
|
||||
void nes_fcg_device::fcg_write(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("lz93d50_write, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("lz93d50_write, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x0f)
|
||||
{
|
||||
@ -331,14 +332,14 @@ void nes_fcg_device::fcg_write(offs_t offset, uint8_t data)
|
||||
m_irq_count = (m_irq_count & 0x00ff) | (data << 8);
|
||||
break;
|
||||
default:
|
||||
logerror("lz93d50_write uncaught write, offset: %04x, data: %02x\n", offset, data);
|
||||
LOGMASKED(LOG_UNHANDLED, "lz93d50_write uncaught write, offset: %04x, data: %02x\n", offset, data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void nes_fcg_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("lz93d50 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("lz93d50 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (m_battery.empty() && m_prgram.empty())
|
||||
fcg_write(offset & 0x0f, data);
|
||||
@ -353,7 +354,7 @@ void nes_fcg_device::write_m(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_lz93d50_24c01_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("lz93d50_24c01 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("lz93d50_24c01 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x0f)
|
||||
{
|
||||
@ -370,7 +371,7 @@ void nes_lz93d50_24c01_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_lz93d50_24c01_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("lz93d50 EEPROM read, offset: %04x\n", offset));
|
||||
LOG("lz93d50 EEPROM read, offset: %04x\n", offset);
|
||||
if (m_i2c_dir)
|
||||
return (m_i2cmem->read_sda() & 1) << 4;
|
||||
else
|
||||
@ -405,7 +406,7 @@ void nes_lz93d50_24c02_device::device_add_mconfig(machine_config &config)
|
||||
|
||||
iNES: mappers 153
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -422,19 +423,19 @@ void nes_fjump2_device::set_prg()
|
||||
|
||||
uint8_t nes_fjump2_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("fjump2 read_m, offset: %04x\n", offset));
|
||||
LOG("fjump2 read_m, offset: %04x\n", offset);
|
||||
return m_battery[offset & (m_battery.size() - 1)];
|
||||
}
|
||||
|
||||
void nes_fjump2_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("fjump2 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("fjump2 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
m_battery[offset & (m_battery.size() - 1)] = data;
|
||||
}
|
||||
|
||||
void nes_fjump2_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("fjump2 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("fjump2 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x0f)
|
||||
{
|
||||
|
@ -20,13 +20,14 @@
|
||||
#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#endif
|
||||
#define LOG_HIFREQ (1U << 1)
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -111,7 +112,7 @@ void nes_batmap_srrx_device::pcb_reset()
|
||||
|
||||
void nes_batmap_000_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("batmap_000 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("batmap_000 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -173,7 +174,7 @@ void nes_batmap_srrx_device::hblank_irq(int scanline, bool vblank, bool blanked)
|
||||
|
||||
if (m_irq_enable && !blanked && !m_irq_count)
|
||||
{
|
||||
LOG_MMC(("irq fired, scanline: %d\n", scanline));
|
||||
LOG("irq fired, scanline: %d\n", scanline);
|
||||
set_irq_line(ASSERT_LINE);
|
||||
}
|
||||
}
|
||||
@ -187,7 +188,7 @@ u8 nes_batmap_srrx_device::read_dpcm()
|
||||
|
||||
u8 nes_batmap_srrx_device::read_l(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("batmap_srrx read_l, offset: %04x", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "batmap_srrx read_l, offset: %04x", offset);
|
||||
|
||||
offset += 0x100;
|
||||
switch (offset & 0x1800)
|
||||
@ -203,13 +204,13 @@ u8 nes_batmap_srrx_device::read_l(offs_t offset)
|
||||
|
||||
u8 nes_batmap_srrx_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("batmap_srrx read_m, offset: %04x", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "batmap_srrx read_m, offset: %04x", offset);
|
||||
return m_prg[(m_reg * 0x2000 + offset) & (m_prg_size - 1)];
|
||||
}
|
||||
|
||||
u8 nes_batmap_srrx_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("batmap_srrx read_h, offset: %04x", offset));
|
||||
LOG("batmap_srrx read_h, offset: %04x", offset);
|
||||
|
||||
if ((offset & 0x7000) == 0x4000)
|
||||
return read_dpcm();
|
||||
@ -219,7 +220,7 @@ u8 nes_batmap_srrx_device::read_h(offs_t offset)
|
||||
|
||||
void nes_batmap_srrx_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("batmap_srrx write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("batmap_srrx write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7000)
|
||||
{
|
||||
|
@ -16,12 +16,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -74,7 +73,7 @@ void nes_benshieng_device::pcb_reset()
|
||||
|
||||
void nes_benshieng_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("benshieng write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("benshieng write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
// m_mmc_dipsetting = ioport("CARTDIPS")->read();
|
||||
|
||||
u8 bank = BIT(offset, 10, 2);
|
||||
|
@ -25,14 +25,14 @@
|
||||
|
||||
#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE
|
||||
|
||||
#define LOG_HIFREQ (1U << 1)
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -689,7 +689,7 @@ void nes_sc127_device::hblank_irq(int scanline, bool vblank, bool blanked)
|
||||
|
||||
if (!blanked && (m_irq_count == 0))
|
||||
{
|
||||
LOG_MMC(("irq fired, scanline: %d\n", scanline));
|
||||
LOG("irq fired, scanline: %d\n", scanline);
|
||||
set_irq_line(ASSERT_LINE);
|
||||
m_irq_enable = 0;
|
||||
}
|
||||
@ -698,7 +698,7 @@ void nes_sc127_device::hblank_irq(int scanline, bool vblank, bool blanked)
|
||||
|
||||
void nes_sc127_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("sc127 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("sc127 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
@ -764,7 +764,7 @@ TIMER_CALLBACK_MEMBER(nes_mbaby_device::irq_timer_tick)
|
||||
|
||||
void nes_mbaby_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("Mario Baby write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Mario Baby write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset >= 0x7000)
|
||||
{
|
||||
@ -790,7 +790,7 @@ void nes_mbaby_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_mbaby_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("Mario Baby read_m, offset: %04x\n", offset));
|
||||
LOG("Mario Baby read_m, offset: %04x\n", offset);
|
||||
return m_prg[(m_latch * 0x2000) + (offset & 0x1fff)];
|
||||
}
|
||||
|
||||
@ -808,7 +808,7 @@ u8 nes_mbaby_device::read_m(offs_t offset)
|
||||
|
||||
void nes_asn_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("Ai Senshi Nicol write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Ai Senshi Nicol write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset == 0x0000)
|
||||
chr8(data, CHRROM);
|
||||
@ -819,7 +819,7 @@ void nes_asn_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_asn_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("Ai Senshi Nicol read_m, offset: %04x\n", offset));
|
||||
LOG("Ai Senshi Nicol read_m, offset: %04x\n", offset);
|
||||
return m_prg[((m_latch * 0x2000) + (offset & 0x1fff)) & (m_prg_size - 1)];
|
||||
}
|
||||
|
||||
@ -846,7 +846,7 @@ TIMER_CALLBACK_MEMBER(nes_smb3p_device::irq_timer_tick)
|
||||
|
||||
void nes_smb3p_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("btl_smb3_w, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("btl_smb3_w, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x0f)
|
||||
{
|
||||
@ -907,7 +907,7 @@ void nes_smb3p_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_btl_cj_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("btl_cj write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("btl_cj write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(offset, 4))
|
||||
{
|
||||
@ -949,7 +949,7 @@ void nes_btl_dn_device::hblank_irq(int scanline, bool vblank, bool blanked)
|
||||
void nes_btl_dn_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t bank;
|
||||
LOG_MMC(("btl_dn write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("btl_dn write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7003)
|
||||
{
|
||||
@ -1005,32 +1005,32 @@ void nes_btl_dn_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
u8 nes_whirlwind_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("whirlwind read_m, offset: %04x\n", offset));
|
||||
LOG("whirlwind read_m, offset: %04x\n", offset);
|
||||
return m_prg[((m_reg & m_prg_mask) * 0x2000) + offset];
|
||||
}
|
||||
|
||||
void nes_dh08_device::write_h(offs_t offset, u8 data) // submapper 1
|
||||
{
|
||||
LOG_MMC(("dh08 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("dh08 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
if (offset >= 0x7000)
|
||||
m_reg = data;
|
||||
}
|
||||
|
||||
void nes_le05_device::write_h(offs_t offset, u8 data) // submapper 4
|
||||
{
|
||||
LOG_MMC(("le05 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("le05 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
chr8(data & 1, m_chr_source);
|
||||
}
|
||||
|
||||
void nes_lh28_lh54_device::write_h(offs_t offset, u8 data) // submapper 3
|
||||
{
|
||||
LOG_MMC(("lh28_lh54 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("lh28_lh54 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
m_reg = data;
|
||||
}
|
||||
|
||||
void nes_lh31_device::write_h(offs_t offset, u8 data) // submapper 2
|
||||
{
|
||||
LOG_MMC(("lh31 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("lh31 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
if (offset >= 0x6000)
|
||||
{
|
||||
m_reg = data;
|
||||
@ -1087,19 +1087,19 @@ void nes_smb2j_device::write_45(offs_t offset, u8 data)
|
||||
|
||||
void nes_smb2j_device::write_ex(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("smb2j write_ex, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("smb2j write_ex, offset: %04x, data: %02x\n", offset, data);
|
||||
nes_smb2j_device::write_45(offset + 0x4020, data);
|
||||
}
|
||||
|
||||
void nes_smb2j_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("smb2j write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("smb2j write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
nes_smb2j_device::write_45(offset + 0x4100, data);
|
||||
}
|
||||
|
||||
void nes_smb2j_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("smb2j write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("smb2j write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset == 0x122) // $8122 is also IRQ for YS-612, mask unknown
|
||||
nes_smb2j_device::update_irq(data);
|
||||
@ -1107,7 +1107,7 @@ void nes_smb2j_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_smb2j_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("smb2j read_l, offset: %04x\n", offset));
|
||||
LOG("smb2j read_l, offset: %04x\n", offset);
|
||||
offset += 0x100;
|
||||
|
||||
if (offset >= 0x1000)
|
||||
@ -1118,7 +1118,7 @@ u8 nes_smb2j_device::read_l(offs_t offset)
|
||||
|
||||
u8 nes_smb2j_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("smb2j read_m, offset: %04x\n", offset));
|
||||
LOG("smb2j read_m, offset: %04x\n", offset);
|
||||
return m_prg[0x4000 + offset];
|
||||
}
|
||||
|
||||
@ -1148,7 +1148,7 @@ TIMER_CALLBACK_MEMBER(nes_smb2ja_device::irq_timer_tick)
|
||||
|
||||
void nes_smb2ja_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("smb2ja write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("smb2ja write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6000)
|
||||
{
|
||||
@ -1168,7 +1168,7 @@ void nes_smb2ja_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_smb2ja_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("smb2ja read_m, offset: %04x\n", offset));
|
||||
LOG("smb2ja read_m, offset: %04x\n", offset);
|
||||
return m_prg[0x06 * 0x2000 + offset]; // fixed 8K bank
|
||||
}
|
||||
|
||||
@ -1216,19 +1216,19 @@ void nes_smb2jb_device::write_45(offs_t offset, u8 data)
|
||||
|
||||
void nes_smb2jb_device::write_ex(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("smb2jb write_ex, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("smb2jb write_ex, offset: %04x, data: %02x\n", offset, data);
|
||||
write_45(offset + 0x4020, data);
|
||||
}
|
||||
|
||||
void nes_smb2jb_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("smb2jb write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("smb2jb write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
write_45(offset + 0x4100, data);
|
||||
}
|
||||
|
||||
u8 nes_smb2jb_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("smb2jb read_m, offset: %04x\n", offset));
|
||||
LOG("smb2jb read_m, offset: %04x\n", offset);
|
||||
return m_prg[(m_bank67 * 0x2000 + offset) & (m_prg_size - 1)];
|
||||
}
|
||||
|
||||
@ -1252,7 +1252,7 @@ u8 nes_smb2jb_device::read_m(offs_t offset)
|
||||
|
||||
void nes_n32_4in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("n32_4in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("n32_4in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 0x2000)
|
||||
{
|
||||
@ -1296,13 +1296,13 @@ void nes_n32_4in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_0353_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("0353 read_m, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "0353 read_m, offset: %04x\n", offset);
|
||||
return m_prg[m_reg * 0x2000 + offset];
|
||||
}
|
||||
|
||||
void nes_0353_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("0353 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("0353 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
set_nt_mirroring(BIT(data, 4) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||
m_reg = data & 0x0f;
|
||||
@ -1344,7 +1344,7 @@ TIMER_CALLBACK_MEMBER(nes_09034a_device::irq_timer_tick)
|
||||
|
||||
void nes_09034a_device::write_ex(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("09-034a write_ex, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("09-034a write_ex, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x20;
|
||||
switch (offset)
|
||||
@ -1365,7 +1365,7 @@ void nes_09034a_device::write_ex(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_09034a_device::read_ex(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("09-034a read_ex, offset: %04x, data: %02x\n", offset));
|
||||
LOG("09-034a read_ex, offset: %04x, data: %02x\n", offset);
|
||||
|
||||
offset += 0x20;
|
||||
// SMB2 does not boot with the default open bus reads in this range
|
||||
@ -1377,7 +1377,7 @@ u8 nes_09034a_device::read_ex(offs_t offset)
|
||||
|
||||
u8 nes_09034a_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("09-034a read_m, offset: %04x\n", offset));
|
||||
LOG("09-034a read_m, offset: %04x\n", offset);
|
||||
// in 0x6000-0x7fff is mapped the 2nd PRG chip which starts after 32K (hence the +4)
|
||||
return m_prg[(((m_reg + 4) * 0x2000) + offset) & (m_prg_size - 1)];
|
||||
}
|
||||
@ -1412,7 +1412,7 @@ TIMER_CALLBACK_MEMBER(nes_l001_device::irq_timer_tick)
|
||||
|
||||
void nes_l001_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("l-001 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("l-001 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6400)
|
||||
{
|
||||
@ -1459,7 +1459,7 @@ TIMER_CALLBACK_MEMBER(nes_batmanfs_device::irq_timer_tick)
|
||||
|
||||
void nes_batmanfs_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("batmanfs write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("batmanfs write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
switch (offset & 0x70)
|
||||
{
|
||||
case 0x00:
|
||||
@ -1516,7 +1516,7 @@ void nes_batmanfs_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_palthena_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("palthena read_m, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "palthena read_m, offset: %04x\n", offset);
|
||||
switch (offset & 0x1f00)
|
||||
{
|
||||
case 0x0000:
|
||||
@ -1531,7 +1531,7 @@ u8 nes_palthena_device::read_m(offs_t offset)
|
||||
|
||||
void nes_palthena_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("palthena write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("palthena write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
switch (offset & 0x1f00)
|
||||
{
|
||||
case 0x0000:
|
||||
@ -1545,7 +1545,7 @@ void nes_palthena_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_palthena_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("palthena read_h, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "palthena read_h, offset: %04x\n", offset);
|
||||
u8 page = offset >> 8;
|
||||
if ((page >= 0x40 && page < 0x52) || page == 0x5f)
|
||||
return m_prgram[offset & 0x1fff];
|
||||
@ -1557,7 +1557,7 @@ u8 nes_palthena_device::read_h(offs_t offset)
|
||||
|
||||
void nes_palthena_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("palthena write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("palthena write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
u8 page = offset >> 8;
|
||||
if ((page >= 0x40 && page < 0x52) || page == 0x5f)
|
||||
m_prgram[offset & 0x1fff] = data;
|
||||
@ -1585,7 +1585,7 @@ void nes_palthena_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_tobidase_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("tobidase write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("tobidase write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x4100;
|
||||
|
||||
if ((offset & 0x63c0) == 0x41c0)
|
||||
@ -1594,7 +1594,7 @@ void nes_tobidase_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_tobidase_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("tobidase read_m, offset: %04x\n", offset));
|
||||
LOG("tobidase read_m, offset: %04x\n", offset);
|
||||
if (m_latch >= 0x0c)
|
||||
m_latch -= 4;
|
||||
return m_prg[(m_latch * 0x2000) + (offset & 0x1fff)];
|
||||
@ -1616,13 +1616,13 @@ uint8_t nes_tobidase_device::read_m(offs_t offset)
|
||||
|
||||
uint8_t nes_lh32_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("lh32 read_m, offset: %04x\n", offset));
|
||||
LOG("lh32 read_m, offset: %04x\n", offset);
|
||||
return m_prg[(m_latch * 0x2000) + (offset & 0x1fff)];
|
||||
}
|
||||
|
||||
uint8_t nes_lh32_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("lh32 read_h, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "lh32 read_h, offset: %04x\n", offset);
|
||||
|
||||
if (offset >= 0x4000 && offset < 0x6000)
|
||||
return m_prgram[offset & 0x1fff];
|
||||
@ -1632,18 +1632,17 @@ uint8_t nes_lh32_device::read_h(offs_t offset)
|
||||
|
||||
void nes_lh32_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("lh32 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("lh32 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset == 0) // 0x6000 only?
|
||||
{
|
||||
// printf("write %x\n", data);
|
||||
m_latch = data & 0xf;
|
||||
}
|
||||
}
|
||||
|
||||
void nes_lh32_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("lh32 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("lh32 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset >= 0x4000 && offset < 0x6000)
|
||||
m_prgram[offset & 0x1fff] = data;
|
||||
@ -1663,7 +1662,7 @@ void nes_lh32_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_lh42_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("lh42 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("lh42 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -1702,7 +1701,7 @@ void nes_lh42_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_lg25_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("lg25 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("lg25 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -1741,13 +1740,13 @@ void nes_lg25_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_lh10_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("lh10 read_m, offset: %04x\n", offset));
|
||||
LOG("lh10 read_m, offset: %04x\n", offset);
|
||||
return m_prg[(0x0e * 0x2000 + offset) & (m_prg_size - 1)];
|
||||
}
|
||||
|
||||
u8 nes_lh10_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("lh10 read_h, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "lh10 read_h, offset: %04x\n", offset);
|
||||
|
||||
if (offset >= 0x4000 && offset < 0x6000)
|
||||
return m_prgram[offset & 0x1fff];
|
||||
@ -1757,7 +1756,7 @@ u8 nes_lh10_device::read_h(offs_t offset)
|
||||
|
||||
void nes_lh10_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("lh10 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("lh10 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -1799,7 +1798,7 @@ void nes_lh10_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_lh51_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("lh51 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("lh51 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6000)
|
||||
{
|
||||
@ -1841,13 +1840,13 @@ TIMER_CALLBACK_MEMBER(nes_lh53_device::irq_timer_tick)
|
||||
|
||||
uint8_t nes_lh53_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("lh53 read_m, offset: %04x\n", offset));
|
||||
LOG("lh53 read_m, offset: %04x\n", offset);
|
||||
return m_prg[m_reg * 0x2000 + offset];
|
||||
}
|
||||
|
||||
uint8_t nes_lh53_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("lh53 read_h, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "lh53 read_h, offset: %04x\n", offset);
|
||||
|
||||
if (offset >= 0x3800 && offset < 0x5800)
|
||||
return m_prgram[offset - 0x3800];
|
||||
@ -1857,7 +1856,7 @@ uint8_t nes_lh53_device::read_h(offs_t offset)
|
||||
|
||||
void nes_lh53_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("lh53 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("lh53 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset >= 0x3800 && offset < 0x5800)
|
||||
m_prgram[offset - 0x3800] = data;
|
||||
@ -1898,7 +1897,7 @@ void nes_lh53_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_2708_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("btl-2708 read_m, offset: %04x\n", offset));
|
||||
LOG("btl-2708 read_m, offset: %04x\n", offset);
|
||||
if (!m_reg[1])
|
||||
return m_prgram[offset]; // lower 8K of WRAM
|
||||
else
|
||||
@ -1907,14 +1906,14 @@ uint8_t nes_2708_device::read_m(offs_t offset)
|
||||
|
||||
void nes_2708_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("btl-2708 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("btl-2708 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
// if (!m_reg[1])
|
||||
m_prgram[offset] = data; // lower 8K of WRAM
|
||||
}
|
||||
|
||||
uint8_t nes_2708_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("btl-2708 read_h, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "btl-2708 read_h, offset: %04x\n", offset);
|
||||
|
||||
if (offset >= 0x3800 && offset < 0x5800 && !m_reg[1])
|
||||
return m_prgram[0x2000 + ((offset - 0x3800) & 0x1fff)]; // higher 8K of WRAM
|
||||
@ -1924,7 +1923,7 @@ uint8_t nes_2708_device::read_h(offs_t offset)
|
||||
|
||||
void nes_2708_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("btl-2708 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("btl-2708 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset >= 0x3800 && offset < 0x5800/* && !m_reg[1]*/)
|
||||
m_prgram[0x2000 + ((offset - 0x3800) & 0x1fff)] = data; // higher 8K of WRAM
|
||||
@ -1961,20 +1960,20 @@ void nes_2708_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_ac08_device::write_ex(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("AC-08 write_ex, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("AC-08 write_ex, offset: %04x, data: %02x\n", offset, data);
|
||||
if (offset == 5) // $4025
|
||||
set_nt_mirroring(!BIT(data, 3) ? PPU_MIRROR_VERT : PPU_MIRROR_HORZ);
|
||||
}
|
||||
|
||||
uint8_t nes_ac08_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("AC-08 read_m, offset: %04x\n", offset));
|
||||
LOG("AC-08 read_m, offset: %04x\n", offset);
|
||||
return m_prg[(m_latch * 0x2000) + (offset & 0x1fff)];
|
||||
}
|
||||
|
||||
void nes_ac08_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("AC-08 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("AC-08 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset == 1)
|
||||
m_latch = BIT(data, 1, 4);
|
||||
@ -2001,7 +2000,7 @@ void nes_ac08_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_mmalee_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("mmalee read_m, offset: %04x\n", offset));
|
||||
LOG("mmalee read_m, offset: %04x\n", offset);
|
||||
|
||||
if (offset < 0x0800)
|
||||
return m_prg[0x8000 + offset];
|
||||
@ -2013,7 +2012,7 @@ uint8_t nes_mmalee_device::read_m(offs_t offset)
|
||||
|
||||
void nes_mmalee_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("mmalee write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("mmalee write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!m_prgram.empty() && offset >= 0x1000 && offset < 0x1800) // WRAM only in these 2K
|
||||
m_prgram[offset & 0x7ff] = data;
|
||||
@ -2037,7 +2036,7 @@ void nes_mmalee_device::write_m(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_rt01_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("rt01 read_h, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "rt01 read_h, offset: %04x\n", offset);
|
||||
|
||||
if ((offset >= 0x4e80) && (offset < 0x4f00))
|
||||
return 0xf2 | (machine().rand() & 0x0d);
|
||||
@ -2089,19 +2088,19 @@ void nes_yung08_device::write_45(offs_t offset, u8 data)
|
||||
|
||||
void nes_yung08_device::write_ex(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("yung08 write_ex, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("yung08 write_ex, offset: %04x, data: %02x\n", offset, data);
|
||||
write_45(offset + 0x4020, data);
|
||||
}
|
||||
|
||||
void nes_yung08_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("yung08 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("yung08 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
write_45(offset + 0x4100, data);
|
||||
}
|
||||
|
||||
u8 nes_yung08_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("yung08 read_l, offset: %04x\n", offset));
|
||||
LOG("yung08 read_l, offset: %04x\n", offset);
|
||||
offset += 0x100;
|
||||
if ((offset & 0x11ff) == 0x0122) // 0x4122
|
||||
return m_irq_latch | 0x8a;
|
||||
@ -2110,6 +2109,6 @@ u8 nes_yung08_device::read_l(offs_t offset)
|
||||
|
||||
u8 nes_yung08_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("yung08 read_m, offset: %04x\n", offset));
|
||||
LOG("yung08 read_m, offset: %04x\n", offset);
|
||||
return m_prg[0x02 * 0x2000 + offset]; // fixed to bank #2
|
||||
}
|
||||
|
@ -28,12 +28,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -139,7 +138,7 @@ void nes_golden5_device::pcb_reset()
|
||||
|
||||
void nes_bf9093_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bf9093 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bf9093 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6000)
|
||||
{
|
||||
@ -174,7 +173,7 @@ void nes_bf9093_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bf9096_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bf9096 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bf9096 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 0x4000)
|
||||
{
|
||||
@ -205,7 +204,7 @@ void nes_bf9096_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_golden5_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("golden5 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("golden5 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset >= 0x4000)
|
||||
{
|
||||
|
@ -20,12 +20,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -84,7 +83,7 @@ void nes_cne_fsb_device::pcb_reset()
|
||||
|
||||
void nes_cne_decathl_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("cne_decathl_w, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("cne_decathl_w, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset >= 0x0065)
|
||||
{
|
||||
@ -114,7 +113,7 @@ void nes_cne_decathl_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_cne_fsb_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("cne_fsb write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("cne_fsb write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 0x0800)
|
||||
{
|
||||
@ -140,7 +139,7 @@ void nes_cne_fsb_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_cne_fsb_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("cne_fsb read_m, offset: %04x\n", offset));
|
||||
LOG("cne_fsb read_m, offset: %04x\n", offset);
|
||||
|
||||
if (offset >= 0x0800)
|
||||
return device_nes_cart_interface::read_m(offset);
|
||||
@ -167,7 +166,7 @@ u8 nes_cne_fsb_device::read_m(offs_t offset)
|
||||
|
||||
void nes_cne_shlz_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("cne_shlz write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("cne_shlz write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(data >> 4);
|
||||
chr8(data & 0x0f, CHRROM);
|
||||
|
@ -19,12 +19,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -127,7 +126,7 @@ TIMER_CALLBACK_MEMBER(nes_cony_device::irq_timer_tick)
|
||||
|
||||
void nes_cony_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("cony write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("cony write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= m_extra_addr) // scratch ram from 0x5100 or 0x5400
|
||||
@ -136,7 +135,7 @@ void nes_cony_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_cony_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("cony read_l, offset: %04x\n", offset));
|
||||
LOG("cony read_l, offset: %04x\n", offset);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= m_extra_addr) // scratch ram from 0x5100 or 0x5400
|
||||
@ -149,7 +148,7 @@ u8 nes_cony_device::read_l(offs_t offset)
|
||||
|
||||
void nes_cony_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("cony write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("cony write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!m_battery.empty())
|
||||
m_battery[((m_outer_reg >> 6) * 0x2000 + offset) & (m_battery.size() - 1)] = data;
|
||||
@ -157,7 +156,7 @@ void nes_cony_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_cony_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("cony read_m, offset: %04x\n", offset));
|
||||
LOG("cony read_m, offset: %04x\n", offset);
|
||||
|
||||
if (!m_battery.empty())
|
||||
return m_battery[((m_outer_reg >> 6) * 0x2000 + offset) & (m_battery.size() - 1)];
|
||||
@ -201,7 +200,7 @@ void nes_cony_device::set_chr()
|
||||
|
||||
void nes_cony_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("cony write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("cony write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x0300)
|
||||
{
|
||||
@ -280,7 +279,7 @@ void nes_cony1k_device::set_chr()
|
||||
|
||||
void nes_yoko_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("yoko write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("yoko write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset = (offset & 0xf0ff) | (offset & 0x0c00) >> 2;
|
||||
nes_cony_device::write_h(offset, data);
|
||||
|
@ -18,17 +18,15 @@
|
||||
#include "datach.h"
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
#define EEPROM_INTERNAL 0
|
||||
#define EEPROM_EXTERNAL 1
|
||||
|
||||
|
||||
#define TEST_EEPROM 0
|
||||
|
||||
//--------------------------------
|
||||
@ -267,7 +265,7 @@ void nes_datach_device::pcb_reset()
|
||||
|
||||
iNES: mappers 157
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
TODO: Datach carts should actually be handled
|
||||
separately! Original carts were minicarts to be
|
||||
@ -286,7 +284,7 @@ void nes_datach_device::pcb_reset()
|
||||
|
||||
uint8_t nes_datach_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("Datach read_m, offset: %04x\n", offset));
|
||||
LOG("Datach read_m, offset: %04x\n", offset);
|
||||
uint8_t i2c_val = 0;
|
||||
#if TEST_EEPROM
|
||||
if (m_i2c_dir)
|
||||
@ -303,8 +301,8 @@ uint8_t nes_datach_device::read_m(offs_t offset)
|
||||
|
||||
uint8_t nes_datach_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("Datach read_h, offset: %04x\n", offset));
|
||||
// this shall be the proper code, but it's a bit slower, so we access directly the subcart below
|
||||
LOG("Datach read_h, offset: %04x\n", offset);
|
||||
// this should be the proper code, but it's a bit slower, so we access directly the subcart below
|
||||
//return m_subslot->read(offset);
|
||||
|
||||
if (m_subslot->m_cart)
|
||||
@ -315,7 +313,7 @@ uint8_t nes_datach_device::read_h(offs_t offset)
|
||||
|
||||
void nes_datach_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("Datach write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Datach write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x0f)
|
||||
{
|
||||
|
@ -20,12 +20,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -92,7 +91,7 @@ void nes_74x161x161x32_device::pcb_reset()
|
||||
// there are two 'variants' depending on hardwired or mapper ctrl mirroring
|
||||
void nes_74x161x161x32_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("74x161x161x32 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("74x161x161x32 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -113,7 +112,7 @@ void nes_74x161x161x32_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_74x139x74_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("74x139x74 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("74x139x74 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
chr8(bitswap<2>(data, 0, 1), CHRROM);
|
||||
}
|
||||
@ -137,7 +136,7 @@ void nes_74x139x74_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_74x377_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("74x377 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("74x377 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict, but not the prototype of Secret Scout, which actually breaks in case of conflict...
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -158,7 +157,7 @@ void nes_74x377_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_74x161x138_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("74x161x138 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("74x161x138 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
chr8(data >> 2, CHRROM);
|
||||
prg32(data);
|
||||
|
@ -24,12 +24,11 @@
|
||||
#include "speaker.h"
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-----------------------------------------------
|
||||
@ -184,7 +183,7 @@ void nes_disksys_device::pcb_reset()
|
||||
|
||||
void nes_disksys_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("Famicom Disk System write_h, offset %04x, data: %02x\n", offset, data));
|
||||
LOG("Famicom Disk System write_h, offset %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 0x6000)
|
||||
m_prgram[offset + 0x2000] = data;
|
||||
@ -192,7 +191,7 @@ void nes_disksys_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_disksys_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("Famicom Disk System read_h, offset: %04x\n", offset));
|
||||
LOG("Famicom Disk System read_h, offset: %04x\n", offset);
|
||||
|
||||
if (offset < 0x6000)
|
||||
return m_prgram[offset + 0x2000];
|
||||
@ -202,13 +201,13 @@ uint8_t nes_disksys_device::read_h(offs_t offset)
|
||||
|
||||
void nes_disksys_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("Famicom Disk System write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Famicom Disk System write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
m_prgram[offset] = data;
|
||||
}
|
||||
|
||||
uint8_t nes_disksys_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("Famicom Disk System read_m, offset: %04x\n", offset));
|
||||
LOG("Famicom Disk System read_m, offset: %04x\n", offset);
|
||||
return m_prgram[offset];
|
||||
}
|
||||
|
||||
@ -224,7 +223,7 @@ void nes_disksys_device::hblank_irq(int scanline, bool vblank, bool blanked)
|
||||
|
||||
void nes_disksys_device::write_ex(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("Famicom Disk System write_ex, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Famicom Disk System write_ex, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset >= 0x20 && offset < 0x60)
|
||||
{
|
||||
@ -317,7 +316,7 @@ void nes_disksys_device::write_ex(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_disksys_device::read_ex(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("Famicom Disk System read_ex, offset: %04x\n", offset));
|
||||
LOG("Famicom Disk System read_ex, offset: %04x\n", offset);
|
||||
uint8_t ret = 0x00;
|
||||
|
||||
if (offset >= 0x20 && offset < 0x60)
|
||||
|
@ -17,14 +17,14 @@
|
||||
#include "emu.h"
|
||||
#include "event.h"
|
||||
|
||||
#define LOG_HIFREQ (1U << 1)
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -194,7 +194,7 @@ void nes_event_device::set_prg()
|
||||
|
||||
u8 nes_event2_device::read_l(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("event2 read_l, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "event2 read_l, offset: %04x\n", offset);
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1800)
|
||||
return (m_timer_count >= (0x10 | m_dsw->read()) << 25) ? 0x80 : 0;
|
||||
@ -206,7 +206,7 @@ u8 nes_event2_device::read_l(offs_t offset)
|
||||
|
||||
u8 nes_event2_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("event2 read_m, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "event2 read_m, offset: %04x\n", offset);
|
||||
if (m_prgram.empty())
|
||||
return get_open_bus();
|
||||
else
|
||||
@ -215,7 +215,7 @@ u8 nes_event2_device::read_m(offs_t offset)
|
||||
|
||||
void nes_event2_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("event2 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("event2 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
switch (offset & 0x1c00)
|
||||
@ -243,7 +243,7 @@ void nes_event2_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_event2_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
// LOG_MMC(("event2 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOGMASKED(LOG_HIFREQ, "event2 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
if (!m_prgram.empty())
|
||||
m_prgram[offset % m_prgram.size()] = data;
|
||||
}
|
||||
|
@ -19,13 +19,15 @@
|
||||
#include "ggenie.h"
|
||||
#include "bus/nes/nes_carts.h"
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#endif
|
||||
#define LOG_HIFREQ (1U << 1)
|
||||
#define LOG_INFO (1U << 2)
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE (LOG_INFO | LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE (LOG_INFO)
|
||||
#endif
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -93,7 +95,7 @@ void nes_ggenie_device::pcb_reset()
|
||||
|
||||
void nes_ggenie_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
// LOG_MMC(("ggenie write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOGMASKED(LOG_HIFREQ, "ggenie write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (m_gg_bypass)
|
||||
{
|
||||
@ -142,16 +144,16 @@ void nes_ggenie_device::write_h(offs_t offset, u8 data)
|
||||
}
|
||||
// bit 7 is unused and always zero
|
||||
|
||||
logerror("Game Genie Summary:\n");
|
||||
LOGMASKED(LOG_INFO, "Game Genie Summary:\n");
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
logerror("Code %d: %s\n", i, m_gg_enable[i] ? "Yes" : "No");
|
||||
LOGMASKED(LOG_INFO, "Code %d: %s\n", i, m_gg_enable[i] ? "Yes" : "No");
|
||||
if (m_gg_enable[i])
|
||||
{
|
||||
logerror("\tAddr: 0x%X\n", m_gg_addr[i]);
|
||||
logerror("\tValue: 0x%X\n", m_gg_repl[i]);
|
||||
LOGMASKED(LOG_INFO, "\tAddr: 0x%X\n", m_gg_addr[i]);
|
||||
LOGMASKED(LOG_INFO, "\tValue: 0x%X\n", m_gg_repl[i]);
|
||||
if (m_gg_is_comp[i])
|
||||
logerror("\t if equals: 0x%X\n", m_gg_comp[i]);
|
||||
LOGMASKED(LOG_INFO, "\t if equals: 0x%X\n", m_gg_comp[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -23,12 +23,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -68,13 +67,13 @@ nes_hengg_xhzs_device::nes_hengg_xhzs_device(const machine_config &mconfig, cons
|
||||
|
||||
iNES: mapper 177
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_hengg_srich_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("hengg_srich write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("hengg_srich write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(data);
|
||||
set_nt_mirroring(BIT(data, 5) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||
@ -95,13 +94,13 @@ void nes_hengg_srich_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 179
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_hengg_xhzs_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("hengg_xhzs write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("hengg_xhzs write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x4100;
|
||||
|
||||
if (offset & 0x5000)
|
||||
@ -110,7 +109,7 @@ void nes_hengg_xhzs_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_hengg_xhzs_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("hengg_xhzs write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("hengg_xhzs write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
set_nt_mirroring(BIT(data, 0) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||
}
|
||||
|
@ -18,12 +18,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -61,7 +60,7 @@ nes_hes_device::nes_hes_device(const machine_config &mconfig, const char *tag, d
|
||||
|
||||
void nes_hes_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("hes write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("hes write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (BIT(offset, 8)) // $41xx, $43xx, ... $5fxx
|
||||
|
@ -21,12 +21,11 @@
|
||||
#include "irem.h"
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -152,7 +151,7 @@ void nes_h3001_device::pcb_reset()
|
||||
|
||||
void nes_lrog017_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("lrog017 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("lrog017 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -171,7 +170,7 @@ void nes_lrog017_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_holydivr_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("holy diver write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("holy diver write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -195,7 +194,7 @@ void nes_holydivr_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_tam_s1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("tam s1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("tam s1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 0x4000)
|
||||
{
|
||||
@ -222,7 +221,7 @@ void nes_g101_device::set_prg()
|
||||
|
||||
void nes_g101_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("g101 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("g101 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7000)
|
||||
{
|
||||
@ -279,7 +278,7 @@ TIMER_CALLBACK_MEMBER(nes_h3001_device::irq_timer_tick)
|
||||
|
||||
void nes_h3001_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("h3001 write_h, offset %04x, data: %02x\n", offset, data));
|
||||
LOG("h3001 write_h, offset %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7007)
|
||||
{
|
||||
|
@ -23,14 +23,14 @@
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
#define LOG_UNHANDLED (1U << 1)
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_UNHANDLED | LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (LOG_UNHANDLED)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -206,7 +206,7 @@ void nes_ss88006_device::pcb_reset()
|
||||
|
||||
void nes_jf11_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("jf11 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("jf11 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
chr8(data, CHRROM);
|
||||
prg32(data >> 4);
|
||||
}
|
||||
@ -227,7 +227,7 @@ void nes_jf11_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_jf13_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("jf13 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("jf13 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 0x1000)
|
||||
{
|
||||
@ -250,7 +250,7 @@ void nes_jf13_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_jf16_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("jf16 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("jf16 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -279,7 +279,7 @@ void nes_jf16_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_jf17_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("jf17 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("jf17 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -337,7 +337,7 @@ TIMER_CALLBACK_MEMBER(nes_ss88006_device::irq_timer_tick)
|
||||
|
||||
u8 nes_ss88006_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("ss88006 read_m, offset: %04x\n", offset));
|
||||
LOG("ss88006 read_m, offset: %04x\n", offset);
|
||||
|
||||
if (m_wram_protect & 1) // RAM enabled
|
||||
return device_nes_cart_interface::read_m(offset);
|
||||
@ -347,7 +347,7 @@ u8 nes_ss88006_device::read_m(offs_t offset)
|
||||
|
||||
void nes_ss88006_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ss88006 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ss88006 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (m_wram_protect == 0x03) // RAM enabled and writable
|
||||
device_nes_cart_interface::write_m(offset, data);
|
||||
@ -355,7 +355,7 @@ void nes_ss88006_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_ss88006_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ss88006 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ss88006 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
int bank, shift;
|
||||
|
||||
@ -425,7 +425,7 @@ void nes_ss88006_device::write_h(offs_t offset, u8 data)
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("Jaleco SS88006 uncaught write, addr: %04x, value: %02x\n", offset + 0x8000, data);
|
||||
LOGMASKED(LOG_UNHANDLED, "Jaleco SS88006 uncaught write, addr: %04x, value: %02x\n", offset + 0x8000, data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -18,12 +18,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -79,7 +78,7 @@ void nes_jncota_kt1001_device::pcb_reset()
|
||||
|
||||
void nes_jncota_kt1001_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("jncota_kt1001 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("jncota_kt1001 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
switch (offset & 0x1803)
|
||||
|
@ -24,12 +24,11 @@
|
||||
#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -239,7 +238,7 @@ void nes_jy_typea_device::scanline_irq(int scanline, bool vblank, bool blanked)
|
||||
// 0x5000-0x5fff : sort of protection?
|
||||
uint8_t nes_jy_typea_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("JY Company write_m, offset: %04x\n", offset));
|
||||
LOG("JY Company write_m, offset: %04x\n", offset);
|
||||
offset += 0x100;
|
||||
|
||||
if (offset >= 0x1000 && offset < 0x1800)
|
||||
@ -263,7 +262,7 @@ uint8_t nes_jy_typea_device::read_l(offs_t offset)
|
||||
|
||||
void nes_jy_typea_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("JY Company write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("JY Company write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100;
|
||||
|
||||
if (offset >= 0x1800)
|
||||
@ -280,7 +279,7 @@ void nes_jy_typea_device::write_l(offs_t offset, uint8_t data)
|
||||
// 0x6000-0x7fff : WRAM or open bus
|
||||
uint8_t nes_jy_typea_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("JY Company write_m, offset: %04x\n", offset));
|
||||
LOG("JY Company write_m, offset: %04x\n", offset);
|
||||
|
||||
if (m_reg[0] & 0x80)
|
||||
return m_prg[(m_bank_6000 & m_prg_mask) * 0x2000 + (offset & 0x1fff)];
|
||||
@ -423,7 +422,7 @@ void nes_jy_typea_device::update_banks(int reg)
|
||||
|
||||
void nes_jy_typea_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("JY Company write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("JY Company write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7000)
|
||||
{
|
||||
|
@ -31,14 +31,14 @@
|
||||
#include "emu.h"
|
||||
#include "kaiser.h"
|
||||
|
||||
#define LOG_HIFREQ (1U << 1)
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -378,7 +378,7 @@ void nes_ks7057_device::pcb_reset()
|
||||
|
||||
void nes_ks7058_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7058 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7058 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7080)
|
||||
{
|
||||
@ -405,7 +405,7 @@ void nes_ks7058_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_ks7022_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7022 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7022 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset == 0)
|
||||
set_nt_mirroring(BIT(data, 2) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||
@ -415,7 +415,7 @@ void nes_ks7022_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_ks7022_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("ks7022 read_h, offset: %04x\n", offset));
|
||||
LOG("ks7022 read_h, offset: %04x\n", offset);
|
||||
|
||||
if (offset == 0x7ffc)
|
||||
{
|
||||
@ -465,7 +465,7 @@ void nes_ks7032_device::prg_update()
|
||||
|
||||
void nes_ks7032_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7032_write, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7032_write, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7000)
|
||||
{
|
||||
@ -500,7 +500,7 @@ void nes_ks7032_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_ks7032_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("ks7032 read_m, offset: %04x\n", offset));
|
||||
LOG("ks7032 read_m, offset: %04x\n", offset);
|
||||
return m_prg[(m_reg[4] * 0x2000 + offset) & (m_prg_size - 1)];
|
||||
}
|
||||
|
||||
@ -526,7 +526,7 @@ u8 nes_ks7032_device::read_m(offs_t offset)
|
||||
|
||||
void nes_ks202_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks202 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks202 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset >= 0x7000)
|
||||
{
|
||||
@ -583,13 +583,13 @@ u8 nes_ks202_device::read_m(offs_t offset)
|
||||
|
||||
u8 nes_ks7016_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("ks7016 read_m, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "ks7016 read_m, offset: %04x\n", offset);
|
||||
return m_prg[(m_latch * 0x2000 + offset) & (m_prg_size - 1)];
|
||||
}
|
||||
|
||||
void nes_ks7016_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7016 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7016 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
m_latch = BIT(offset, 2, 4);
|
||||
if (m_latch & 0x08)
|
||||
@ -623,7 +623,7 @@ TIMER_CALLBACK_MEMBER(nes_ks7017_device::irq_timer_tick)
|
||||
|
||||
void nes_ks7017_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7017 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7017 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
switch (offset & 0x1f00)
|
||||
@ -639,7 +639,7 @@ void nes_ks7017_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_ks7017_device::write_ex(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7017 write_ex, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7017 write_ex, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x4020;
|
||||
switch (offset)
|
||||
@ -659,7 +659,7 @@ void nes_ks7017_device::write_ex(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_ks7017_device::read_ex(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("ks7017 read_ex, offset: %04x\n", offset));
|
||||
LOG("ks7017 read_ex, offset: %04x\n", offset);
|
||||
|
||||
offset += 0x4020;
|
||||
if (offset == 0x4030)
|
||||
@ -691,7 +691,7 @@ u8 nes_ks7017_device::read_ex(offs_t offset)
|
||||
|
||||
void nes_ks7021a_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7021a write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7021a write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7000)
|
||||
{
|
||||
@ -727,20 +727,22 @@ void nes_ks7021a_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_ks7010_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("ks7010 read_m, offset: %04x, data: %02x\n", offset, data));
|
||||
return m_prg[(m_latch * 0x2000 + offset) & (m_prg_size - 1)];
|
||||
u8 data = m_prg[(m_latch * 0x2000 + offset) & (m_prg_size - 1)];
|
||||
LOGMASKED(LOG_HIFREQ, "ks7010 read_m, offset: %04x, data: %02x\n", offset, data);
|
||||
return data;
|
||||
}
|
||||
|
||||
u8 nes_ks7010_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("ks7010 read_h, offset: %04x, data: %02x\n", offset, data));
|
||||
if ((offset >= 0x4ab6 && offset <= 0x4ad6) || offset == 0x6be2 || offset == 0x6be3 || offset == 0x6e32 || offset == 0x7ffc) // HACK! FIXME
|
||||
{
|
||||
m_latch = BIT(offset, 2, 4);
|
||||
chr8(m_latch, CHRROM);
|
||||
}
|
||||
|
||||
return hi_access_rom(offset);
|
||||
u8 data = hi_access_rom(offset);
|
||||
LOGMASKED(LOG_HIFREQ, "ks7010 read_h, offset: %04x, data: %02x\n", offset, data);
|
||||
return data;
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
@ -757,7 +759,7 @@ u8 nes_ks7010_device::read_h(offs_t offset)
|
||||
|
||||
void nes_ks7012_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7012 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7012 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset == 0x60a0)
|
||||
prg32(0);
|
||||
@ -779,13 +781,13 @@ void nes_ks7012_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_ks7013b_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7013b write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7013b write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
prg16_89ab(data);
|
||||
}
|
||||
|
||||
void nes_ks7013b_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7013b write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7013b write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
set_nt_mirroring((data & 1) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||
}
|
||||
|
||||
@ -816,7 +818,7 @@ void nes_ks7013b_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_ks7030_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("ks7030 read_m, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "ks7030 read_m, offset: %04x\n", offset);
|
||||
if (offset < 0x0c00) // first of 3k WRAM
|
||||
return m_prgram[offset];
|
||||
else if (offset < 0x1000) // last 1k of 4k PRG bank
|
||||
@ -827,14 +829,14 @@ u8 nes_ks7030_device::read_m(offs_t offset)
|
||||
|
||||
void nes_ks7030_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7030 write_m, offset: %04x\n", offset));
|
||||
LOG("ks7030 write_m, offset: %04x\n", offset);
|
||||
if (offset < 0x0c00) // first 3k of WRAM
|
||||
m_prgram[offset] = data;
|
||||
}
|
||||
|
||||
u8 nes_ks7030_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("ks7030 read_h, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "ks7030 read_h, offset: %04x\n", offset);
|
||||
if (offset < 0x3800 || offset >= 0x5800) // fixed 32k PRG, split 14k and 10k windows
|
||||
return m_prg[0x18000 + (offset & 0x7fff)];
|
||||
else if (offset < 0x4000) // middle 2k of WRAM
|
||||
@ -847,7 +849,7 @@ u8 nes_ks7030_device::read_h(offs_t offset)
|
||||
|
||||
void nes_ks7030_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7030 write_h, offset: %04x\n", offset));
|
||||
LOG("ks7030 write_h, offset: %04x\n", offset);
|
||||
if (offset < 0x1000)
|
||||
{
|
||||
set_nt_mirroring(BIT(offset, 3) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||
@ -881,7 +883,7 @@ void nes_ks7030_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_ks7031_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("ks7031 read_m, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "ks7031 read_m, offset: %04x\n", offset);
|
||||
return m_prg[(m_reg[BIT(offset, 11, 2)] * 0x0800) + (offset & 0x7ff)];
|
||||
}
|
||||
|
||||
@ -894,7 +896,7 @@ u8 nes_ks7031_device::read_h(offs_t offset)
|
||||
|
||||
void nes_ks7031_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7031 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7031 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
m_reg[BIT(offset, 11, 2)] = data & 0x3f;
|
||||
}
|
||||
|
||||
@ -917,7 +919,7 @@ void nes_ks7031_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_ks7037_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("ks7037 read_m, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "ks7037 read_m, offset: %04x\n", offset);
|
||||
if (offset < 0x1000)
|
||||
return m_prgram[offset];
|
||||
else
|
||||
@ -926,14 +928,14 @@ u8 nes_ks7037_device::read_m(offs_t offset)
|
||||
|
||||
void nes_ks7037_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7037 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7037 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
if (offset < 0x1000)
|
||||
m_prgram[offset] = data;
|
||||
}
|
||||
|
||||
u8 nes_ks7037_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("ks7037 read_h, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "ks7037 read_h, offset: %04x\n", offset);
|
||||
|
||||
if (offset >= 0x3000 && offset < 0x4000)
|
||||
return m_prgram[0x1000 + (offset & 0x0fff)];
|
||||
@ -943,7 +945,7 @@ u8 nes_ks7037_device::read_h(offs_t offset)
|
||||
|
||||
void nes_ks7037_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7037 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7037 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7000)
|
||||
{
|
||||
@ -984,13 +986,13 @@ void nes_ks7037_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_ks7057_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("ks7057 read_m, offset: %04x\n", offset));
|
||||
LOG("ks7057 read_m, offset: %04x\n", offset);
|
||||
return m_prg[0x800 * m_reg[BIT(offset, 11, 2) + 4] + (offset & 0x7ff)];
|
||||
}
|
||||
|
||||
u8 nes_ks7057_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("ks7057 read_h, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "ks7057 read_h, offset: %04x\n", offset);
|
||||
if (offset < 0x2000)
|
||||
return m_prg[0x800 * m_reg[BIT(offset, 11, 2)] + (offset & 0x7ff)];
|
||||
|
||||
@ -999,7 +1001,7 @@ u8 nes_ks7057_device::read_h(offs_t offset)
|
||||
|
||||
void nes_ks7057_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ks7057 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ks7057 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 0x2000)
|
||||
set_nt_mirroring(BIT(data, 0) ? PPU_MIRROR_VERT : PPU_MIRROR_HORZ);
|
||||
|
@ -32,7 +32,7 @@
|
||||
#include "karastudio.h"
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#endif
|
||||
|
@ -24,14 +24,15 @@
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
#define LOG_UNHANDLED (1U << 1)
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_UNHANDLED | LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (LOG_UNHANDLED)
|
||||
#endif
|
||||
#include "logmacro.h"
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
|
||||
//-------------------------------------------------
|
||||
// constructor
|
||||
@ -209,7 +210,7 @@ void nes_konami_vrc7_device::pcb_reset()
|
||||
|
||||
void nes_konami_vrc1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("VRC-1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("VRC-1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7000)
|
||||
{
|
||||
@ -246,7 +247,7 @@ void nes_konami_vrc1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_konami_vrc2_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("VRC-2 read_m, offset: %04x\n", offset));
|
||||
LOG("VRC-2 read_m, offset: %04x\n", offset);
|
||||
|
||||
if (!m_battery.empty() || !m_prgram.empty())
|
||||
return device_nes_cart_interface::read_m(offset);
|
||||
@ -256,7 +257,7 @@ u8 nes_konami_vrc2_device::read_m(offs_t offset)
|
||||
|
||||
void nes_konami_vrc2_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("VRC-2 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("VRC-2 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!m_battery.empty() || !m_prgram.empty())
|
||||
device_nes_cart_interface::write_m(offset, data);
|
||||
@ -266,7 +267,7 @@ void nes_konami_vrc2_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_konami_vrc2_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("VRC-2 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("VRC-2 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 addr_lines = bitswap<2>(offset, m_vrc_ls_prg_a, m_vrc_ls_prg_b);
|
||||
|
||||
@ -292,7 +293,7 @@ void nes_konami_vrc2_device::write_h(offs_t offset, u8 data)
|
||||
break;
|
||||
}
|
||||
default:
|
||||
logerror("VRC-2 write_h uncaught write, addr: %04x value: %02x\n", offset + 0x8000, data);
|
||||
LOGMASKED(LOG_UNHANDLED, "VRC-2 write_h uncaught write, addr: %04x value: %02x\n", offset + 0x8000, data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -327,7 +328,7 @@ TIMER_CALLBACK_MEMBER(nes_konami_vrc3_device::irq_timer_tick)
|
||||
|
||||
void nes_konami_vrc3_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("VRC-3 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("VRC-3 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7000)
|
||||
{
|
||||
@ -357,7 +358,7 @@ void nes_konami_vrc3_device::write_h(offs_t offset, u8 data)
|
||||
prg16_89ab(data & 0x07);
|
||||
break;
|
||||
default:
|
||||
logerror("VRC-3 write_h uncaught write, offset %04x, data: %02x\n", offset, data);
|
||||
LOGMASKED(LOG_UNHANDLED, "VRC-3 write_h uncaught write, offset %04x, data: %02x\n", offset, data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -449,7 +450,7 @@ void nes_konami_vrc4_device::set_chr(int chr_base, int chr_mask)
|
||||
|
||||
u8 nes_konami_vrc4_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("VRC-4 read_m, offset: %04x\n", offset));
|
||||
LOG("VRC-4 read_m, offset: %04x\n", offset);
|
||||
|
||||
if (m_wram_enable)
|
||||
return device_nes_cart_interface::read_m(offset);
|
||||
@ -459,7 +460,7 @@ u8 nes_konami_vrc4_device::read_m(offs_t offset)
|
||||
|
||||
void nes_konami_vrc4_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("VRC-4 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("VRC-4 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (m_wram_enable)
|
||||
device_nes_cart_interface::write_m(offset, data);
|
||||
@ -467,7 +468,7 @@ void nes_konami_vrc4_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_konami_vrc4_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("VRC-4 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("VRC-4 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 addr_lines = bitswap<2>(offset, m_vrc_ls_prg_a, m_vrc_ls_prg_b);
|
||||
|
||||
@ -534,7 +535,7 @@ void nes_konami_vrc4_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_konami_vrc6_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("VRC-6 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("VRC-6 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 addr_lines = bitswap<2>(offset, m_vrc_ls_prg_a, m_vrc_ls_prg_b);
|
||||
|
||||
@ -578,7 +579,7 @@ void nes_konami_vrc6_device::write_h(offs_t offset, u8 data)
|
||||
irq_ack_w();
|
||||
break;
|
||||
default:
|
||||
logerror("VRC-6 write_h uncaught write, addr: %04x value: %02x\n", ((offset & 0x7000) | addr_lines) + 0x8000, data);
|
||||
LOGMASKED(LOG_UNHANDLED, "VRC-6 write_h uncaught write, addr: %04x value: %02x\n", ((offset & 0x7000) | addr_lines) + 0x8000, data);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@ -614,7 +615,7 @@ void nes_konami_vrc6_device::device_add_mconfig(machine_config &config)
|
||||
|
||||
void nes_konami_vrc7_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("VRC-7 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("VRC-7 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 reg = bitswap<4>(offset, 14, 13, 12, m_vrc_ls_prg_a);
|
||||
|
||||
|
@ -20,12 +20,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -117,13 +116,13 @@ void nes_ffe8_device::pcb_reset()
|
||||
Known Boards: FFE3 Copier Board
|
||||
Games: Hacked versions of games
|
||||
|
||||
In MESS: Supported? (I have no games to test this)
|
||||
In MAME: Supported? (I have no games to test this)
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_ffe3_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("mapper8 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("mapper8 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
chr8(data & 0x07, CHRROM);
|
||||
prg16_89ab(data >> 3);
|
||||
@ -136,7 +135,7 @@ void nes_ffe3_device::write_h(offs_t offset, uint8_t data)
|
||||
Known Boards: FFE4 Copier Board
|
||||
Games: Hacked versions of games
|
||||
|
||||
In MESS: Supported? Not sure if we could also have ExRAM or not...
|
||||
In MAME: Supported? Not sure if we could also have ExRAM or not...
|
||||
However, priority is pretty low for this mapper.
|
||||
|
||||
-------------------------------------------------*/
|
||||
@ -158,7 +157,7 @@ TIMER_CALLBACK_MEMBER(nes_ffe4_device::irq_timer_tick)
|
||||
|
||||
void nes_ffe4_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("mapper6 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("mapper6 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
@ -206,7 +205,7 @@ uint8_t nes_ffe4_device::chr_r(offs_t offset)
|
||||
|
||||
void nes_ffe4_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("mapper6 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("mapper6 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!m_latch) // when in "FFE mode" we are forced to use CHRRAM/EXRAM bank?
|
||||
{
|
||||
@ -235,13 +234,13 @@ void nes_ffe4_device::write_h(offs_t offset, uint8_t data)
|
||||
Known Boards: FFE8 Copier Board
|
||||
Games: Hacked versions of games
|
||||
|
||||
In MESS: Partially Supported.
|
||||
In MAME: Partially Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_ffe8_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("mapper17 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("mapper17 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
|
@ -27,12 +27,11 @@
|
||||
#include "mmc1.h"
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -215,7 +214,7 @@ void nes_sxrom_device::update_regs(int reg)
|
||||
|
||||
void nes_sxrom_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("sxrom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("sxrom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// There is only one latch and shift counter, shared amongst the 4 regs (testcase: Space Shuttle)
|
||||
|
||||
@ -257,7 +256,7 @@ void nes_sxrom_device::write_h(offs_t offset, u8 data)
|
||||
void nes_sxrom_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
u8 bank = BIT(m_reg[1], 2, 2);
|
||||
LOG_MMC(("sxrom write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("sxrom write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!BIT(m_reg[3], 4) || m_mmc1_type == mmc1_type::MMC1A) // WRAM enabled
|
||||
{
|
||||
@ -271,7 +270,7 @@ void nes_sxrom_device::write_m(offs_t offset, u8 data)
|
||||
u8 nes_sxrom_device::read_m(offs_t offset)
|
||||
{
|
||||
u8 bank = BIT(m_reg[1], 2, 2);
|
||||
LOG_MMC(("sxrom read_m, offset: %04x\n", offset));
|
||||
LOG("sxrom read_m, offset: %04x\n", offset);
|
||||
|
||||
if (!BIT(m_reg[3], 4) || m_mmc1_type == mmc1_type::MMC1A) // WRAM enabled
|
||||
{
|
||||
@ -288,7 +287,7 @@ u8 nes_sxrom_device::read_m(offs_t offset)
|
||||
void nes_sorom_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
u8 type = BIT(m_reg[0], 4) ? BIT(m_reg[1], 4) : BIT(m_reg[1], 3);
|
||||
LOG_MMC(("sorom write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("sorom write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!BIT(m_reg[3], 4) || m_mmc1_type == mmc1_type::MMC1A) // WRAM enabled
|
||||
{
|
||||
@ -302,7 +301,7 @@ void nes_sorom_device::write_m(offs_t offset, u8 data)
|
||||
u8 nes_sorom_device::read_m(offs_t offset)
|
||||
{
|
||||
u8 type = BIT(m_reg[0], 4) ? BIT(m_reg[1], 4) : BIT(m_reg[1], 3);
|
||||
LOG_MMC(("sorom read_m, offset: %04x\n", offset));
|
||||
LOG("sorom read_m, offset: %04x\n", offset);
|
||||
|
||||
if (!BIT(m_reg[3], 4) || m_mmc1_type == mmc1_type::MMC1A) // WRAM enabled
|
||||
{
|
||||
@ -318,7 +317,7 @@ u8 nes_sorom_device::read_m(offs_t offset)
|
||||
// SZROM has two RAM banks, the first is not battery backed up, the second is.
|
||||
void nes_szrom_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("szrom write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("szrom write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!BIT(m_reg[3], 4) || m_mmc1_type == mmc1_type::MMC1A) // WRAM enabled
|
||||
{
|
||||
@ -331,7 +330,7 @@ void nes_szrom_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_szrom_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("szrom read_m, offset: %04x\n", offset));
|
||||
LOG("szrom read_m, offset: %04x\n", offset);
|
||||
|
||||
if (!BIT(m_reg[3], 4) || m_mmc1_type == mmc1_type::MMC1A) // WRAM enabled
|
||||
{
|
||||
|
@ -16,12 +16,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -181,7 +180,7 @@ void nes_txc_22110_device::pcb_reset()
|
||||
|
||||
void nes_ninjaryu_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("unl_ninjaryu write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("unl_ninjaryu write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
u8 reg = BIT(offset, 13, 2);
|
||||
m_reg[reg] = data;
|
||||
update_regs(reg);
|
||||
@ -221,7 +220,7 @@ void nes_bmc_jy012005_device::set_chr()
|
||||
|
||||
void nes_bmc_jy012005_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_jy012005 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_jy012005 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!BIT(m_latch0, 7)) // outer bank lock
|
||||
{
|
||||
@ -253,7 +252,7 @@ void nes_bmc_jy820845c_device::update_banks() // used by menu and MHROM games
|
||||
|
||||
void nes_bmc_jy820845c_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_jy820845c write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_jy820845c write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
nes_sxrom_device::write_m(offset, data); // register overlaid on WRAM
|
||||
|
||||
@ -272,7 +271,7 @@ void nes_bmc_jy820845c_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_jy820845c_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_jy820845c write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_jy820845c write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
m_latch0 = data;
|
||||
|
||||
@ -298,7 +297,7 @@ void nes_bmc_jy820845c_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_farid_slrom_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("farid_slrom write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("farid_slrom write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
if (!BIT(m_reg[3], 4) && !BIT(m_outer, 3)) // MMC1 WRAM enabled and outer bank not locked
|
||||
m_outer = data;
|
||||
}
|
||||
@ -342,7 +341,7 @@ void nes_farid_slrom_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_srpg5in1_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("srpg5in1 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("srpg5in1 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000)
|
||||
@ -359,7 +358,7 @@ void nes_srpg5in1_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_srpg5in1_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("srpg5in1 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("srpg5in1 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = BIT(m_outer, 1) ? bitswap<3>(m_outer, 1, 2, 0) : (m_outer & 1) << 1 | BIT(m_reg[1], 3);
|
||||
|
||||
@ -369,7 +368,7 @@ void nes_srpg5in1_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_srpg5in1_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("srpg5in1 read_m, offset: %04x\n", offset));
|
||||
LOG("srpg5in1 read_m, offset: %04x\n", offset);
|
||||
|
||||
u8 bank = BIT(m_outer, 1) ? bitswap<3>(m_outer, 1, 2, 0) : (m_outer & 1) << 1 | BIT(m_reg[1], 3);
|
||||
|
||||
@ -405,7 +404,7 @@ void nes_txc_22110_device::update_banks() // used by menu and Space Shadow
|
||||
|
||||
void nes_txc_22110_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("TXC 22110 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("TXC 22110 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
if (offset < 0x100) // $4100 - $41ff
|
||||
{
|
||||
m_mode = data;
|
||||
@ -421,7 +420,7 @@ void nes_txc_22110_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_txc_22110_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("TXC 22110 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("TXC 22110 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (m_mode & 1)
|
||||
nes_sxrom_device::write_h(offset, data);
|
||||
|
@ -16,12 +16,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -96,7 +95,7 @@ void nes_fxrom_device::pcb_reset()
|
||||
|
||||
iNES: mapper 9
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -104,25 +103,25 @@ void nes_pxrom_device::ppu_latch(offs_t offset)
|
||||
{
|
||||
if ((offset & 0x3ff0) == 0x0fd0)
|
||||
{
|
||||
LOG_MMC(("mmc2 vrom latch switch (bank 0 low): %02x\n", m_reg[0]));
|
||||
LOG("mmc2 vrom latch switch (bank 0 low): %02x\n", m_reg[0]);
|
||||
m_latch1 = 0xfd;
|
||||
chr4_0(m_reg[0], CHRROM);
|
||||
}
|
||||
else if ((offset & 0x3ff0) == 0x0fe0)
|
||||
{
|
||||
LOG_MMC(("mmc2 vrom latch switch (bank 0 high): %02x\n", m_reg[1]));
|
||||
LOG("mmc2 vrom latch switch (bank 0 high): %02x\n", m_reg[1]);
|
||||
m_latch1 = 0xfe;
|
||||
chr4_0(m_reg[1], CHRROM);
|
||||
}
|
||||
else if ((offset & 0x3ff0) == 0x1fd0)
|
||||
{
|
||||
LOG_MMC(("mmc2 vrom latch switch (bank 1 low): %02x\n", m_reg[2]));
|
||||
LOG("mmc2 vrom latch switch (bank 1 low): %02x\n", m_reg[2]);
|
||||
m_latch2 = 0xfd;
|
||||
chr4_4(m_reg[2], CHRROM);
|
||||
}
|
||||
else if ((offset & 0x3ff0) == 0x1fe0)
|
||||
{
|
||||
LOG_MMC(("mmc2 vrom latch switch (bank 0 high): %02x\n", m_reg[3]));
|
||||
LOG("mmc2 vrom latch switch (bank 0 high): %02x\n", m_reg[3]);
|
||||
m_latch2 = 0xfe;
|
||||
chr4_4(m_reg[3], CHRROM);
|
||||
}
|
||||
@ -130,7 +129,7 @@ void nes_pxrom_device::ppu_latch(offs_t offset)
|
||||
|
||||
void nes_pxrom_device::pxrom_write(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("pxrom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("pxrom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
switch (offset & 0x7000)
|
||||
{
|
||||
case 0x2000:
|
||||
@ -160,7 +159,7 @@ void nes_pxrom_device::pxrom_write(offs_t offset, uint8_t data)
|
||||
set_nt_mirroring(BIT(data, 0) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||
break;
|
||||
default:
|
||||
LOG_MMC(("MMC2 uncaught w: %04x:%02x\n", offset, data));
|
||||
LOG("MMC2 uncaught w: %04x:%02x\n", offset, data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -176,13 +175,13 @@ void nes_pxrom_device::pxrom_write(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 10
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_fxrom_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("fxrom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("fxrom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
switch (offset & 0x7000)
|
||||
{
|
||||
case 0x2000:
|
||||
|
@ -29,14 +29,14 @@
|
||||
|
||||
#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE
|
||||
|
||||
#define LOG_UNHANDLED (1U << 1)
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_UNHANDLED | LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (LOG_UNHANDLED)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -216,7 +216,7 @@ void nes_txrom_device::hblank_irq(int scanline, bool vblank, bool blanked)
|
||||
|
||||
if (m_irq_enable && !blanked && (m_irq_count == 0) && (prior_count || m_irq_clear /*|| !m_mmc3_alt_irq*/)) // according to blargg the latter should be present as well, but it breaks Rampart and Joe & Mac US: they probably use the alt irq!
|
||||
{
|
||||
LOG_MMC(("irq fired, scanline: %d\n", scanline));
|
||||
LOG("irq fired, scanline: %d\n", scanline);
|
||||
set_irq_line(ASSERT_LINE);
|
||||
}
|
||||
}
|
||||
@ -264,7 +264,7 @@ void nes_txrom_device::txrom_write(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t mmc_helper, cmd;
|
||||
|
||||
LOG_MMC(("txrom_write, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("txrom_write, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -326,14 +326,14 @@ void nes_txrom_device::txrom_write(offs_t offset, uint8_t data)
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("txrom_write uncaught: %04x value: %02x\n", offset + 0x8000, data);
|
||||
LOGMASKED(LOG_UNHANDLED, "txrom_write uncaught: %04x value: %02x\n", offset + 0x8000, data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void nes_txrom_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("txrom write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("txrom write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(m_wram_protect, 7) && !BIT(m_wram_protect, 6))
|
||||
{
|
||||
@ -346,7 +346,7 @@ void nes_txrom_device::write_m(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_txrom_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("txrom read_m, offset: %04x\n", offset));
|
||||
LOG("txrom read_m, offset: %04x\n", offset);
|
||||
|
||||
if (BIT(m_wram_protect, 7))
|
||||
{
|
||||
@ -371,7 +371,7 @@ uint8_t nes_txrom_device::read_m(offs_t offset)
|
||||
void nes_hkrom_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t write_hi, write_lo;
|
||||
LOG_MMC(("hkrom write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("hkrom write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 0x1000)
|
||||
return;
|
||||
@ -389,7 +389,7 @@ void nes_hkrom_device::write_m(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_hkrom_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("hkrom read_m, offset: %04x\n", offset));
|
||||
LOG("hkrom read_m, offset: %04x\n", offset);
|
||||
|
||||
if (offset < 0x1000)
|
||||
return get_open_bus();
|
||||
@ -410,7 +410,7 @@ uint8_t nes_hkrom_device::read_m(offs_t offset)
|
||||
void nes_hkrom_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t mmc6_helper;
|
||||
LOG_MMC(("hkrom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("hkrom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -473,7 +473,7 @@ void nes_txsrom_device::set_chr(u8 chr, int chr_base, int chr_mask)
|
||||
|
||||
void nes_txsrom_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("txsrom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("txsrom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -516,7 +516,7 @@ void nes_tqrom_device::chr_cb(int start, int bank, int source)
|
||||
|
||||
void nes_qj_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("qj write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("qj write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(m_wram_protect, 7) && !BIT(m_wram_protect, 6))
|
||||
{
|
||||
@ -542,7 +542,7 @@ void nes_qj_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_zz_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("zz write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("zz write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(m_wram_protect, 7) && !BIT(m_wram_protect, 6))
|
||||
{
|
||||
|
@ -14,14 +14,14 @@
|
||||
#include "emu.h"
|
||||
#include "mmc3_clones.h"
|
||||
|
||||
#define LOG_HIFREQ (1U << 1)
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -1055,7 +1055,7 @@ void nes_smd133_device::pcb_reset()
|
||||
|
||||
void nes_nitra_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("nitra write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("nitra write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
txrom_write((offset & 0x6000) | BIT(offset, 10), offset);
|
||||
}
|
||||
@ -1082,7 +1082,7 @@ void nes_bmw8544_device::set_prg(int prg_base, int prg_mask)
|
||||
|
||||
u8 nes_bmw8544_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("bmw8544 read_m, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "bmw8544 read_m, offset: %04x\n", offset);
|
||||
|
||||
// CHR banking may be done by reads in this address range
|
||||
|
||||
@ -1091,7 +1091,7 @@ u8 nes_bmw8544_device::read_m(offs_t offset)
|
||||
|
||||
void nes_bmw8544_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmw8544 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmw8544 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
m_reg = data;
|
||||
prg8_89(data);
|
||||
}
|
||||
@ -1112,7 +1112,7 @@ void nes_bmw8544_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_fs6_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("fs6 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("fs6 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
txrom_write(bitswap<2>(offset, 0, 1) | (offset & ~0x03), data);
|
||||
}
|
||||
@ -1134,7 +1134,7 @@ void nes_fs6_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_sbros11_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("smb11 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("smb11 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
txrom_write((offset & 0x6000) | BIT(offset, 2), data);
|
||||
}
|
||||
@ -1168,7 +1168,7 @@ void nes_malisb_device::chr_cb(int start, int bank, int source)
|
||||
|
||||
void nes_malisb_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("malisb write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("malisb write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset = (offset & 0x6000) | BIT(offset, 3) | (BIT(offset, 14) & BIT(offset, 2));
|
||||
txrom_write(offset, data);
|
||||
@ -1213,7 +1213,7 @@ void nes_family4646_device::prg_cb(int start, int bank)
|
||||
|
||||
void nes_family4646_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("family4646 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("family4646 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
int reg = offset & 0x03;
|
||||
if (!BIT(m_reg[0], 7)) // lock bit
|
||||
@ -1243,13 +1243,13 @@ void nes_family4646_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
iNES: mapper 254
|
||||
|
||||
In MESS:
|
||||
In MAME:
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_pikay2k_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("pikay2k write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("pikay2k write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -1269,14 +1269,14 @@ void nes_pikay2k_device::write_h(offs_t offset, uint8_t data)
|
||||
// strange WRAM usage: it is protected at start, and gets unprotected after the first write to 0xa000
|
||||
void nes_pikay2k_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("pikay2k write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("pikay2k write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
m_prgram[offset & 0x1fff] = data;
|
||||
}
|
||||
|
||||
uint8_t nes_pikay2k_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("pikay2k read_m, offset: %04x\n", offset));
|
||||
LOG("pikay2k read_m, offset: %04x\n", offset);
|
||||
|
||||
return m_prgram[offset & 0x1fff] ^ (m_reg[0] & m_reg[1]);
|
||||
}
|
||||
@ -1330,7 +1330,7 @@ void nes_8237_device::prg_cb(int start, int bank)
|
||||
|
||||
void nes_8237_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("unl_8237 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("unl_8237 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100;
|
||||
|
||||
switch (offset & 0x1007)
|
||||
@ -1348,7 +1348,7 @@ void nes_8237_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_8237_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("unl_8237 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("unl_8237 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
static constexpr u8 reg_table[8][8] =
|
||||
{
|
||||
@ -1403,7 +1403,7 @@ void nes_8237_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_158b_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("unl_158b read_l, offset: %04x\n", offset));
|
||||
LOG("unl_158b read_l, offset: %04x\n", offset);
|
||||
|
||||
static constexpr u8 prot_table[8][8] =
|
||||
{
|
||||
@ -1428,7 +1428,7 @@ u8 nes_158b_device::read_l(offs_t offset)
|
||||
|
||||
void nes_158b_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("unl_158b write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("unl_158b write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch ((offset + 0x100) & 0x1003)
|
||||
{
|
||||
@ -1464,7 +1464,7 @@ void nes_kasing_device::prg_cb(int start, int bank)
|
||||
|
||||
void nes_kasing_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("kasing write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("kasing write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(offset, 0))
|
||||
{
|
||||
@ -1505,7 +1505,7 @@ void nes_kasing_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_sglionk_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("sglionk write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("sglionk write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
static constexpr u8 reg_table[2][8] =
|
||||
{
|
||||
@ -1547,7 +1547,7 @@ void nes_sglionk_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_kay_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("kay write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("kay write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000)
|
||||
@ -1564,7 +1564,7 @@ void nes_kay_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_kay_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("kay read_l, offset: %04x\n", offset));
|
||||
LOG("kay read_l, offset: %04x\n", offset);
|
||||
|
||||
static constexpr u8 prot_table[4] = {0x83, 0x83, 0x42, 0x00};
|
||||
|
||||
@ -1595,7 +1595,7 @@ void nes_kay_device::set_prg(int prg_base, int prg_mask)
|
||||
|
||||
void nes_kay_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("kay write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("kay write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
txrom_write(offset, data);
|
||||
|
||||
@ -1642,7 +1642,7 @@ void nes_h2288_device::prg_cb(int start, int bank)
|
||||
|
||||
void nes_h2288_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("h2288 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("h2288 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1800)
|
||||
@ -1662,7 +1662,7 @@ void nes_h2288_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_h2288_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("h2288 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("h2288 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
static constexpr u8 reg_table[8] = {0, 3, 1, 5, 6, 7, 2, 4};
|
||||
|
||||
@ -1677,13 +1677,13 @@ void nes_h2288_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
MMC3 + protection access in 0x4020 - 0x7fff
|
||||
|
||||
in MESS: Partial support
|
||||
in MAME: Partial support
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_6035052_device::write_ex(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("6035052 write_ex, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("6035052 write_ex, offset: %04x, data: %02x\n", offset, data);
|
||||
m_prot = data & 0x03;
|
||||
if (m_prot == 1)
|
||||
m_prot = 2;
|
||||
@ -1691,7 +1691,7 @@ void nes_6035052_device::write_ex(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_6035052_device::read_ex(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("6035052 read_ex, offset: %04x\n", offset));
|
||||
LOG("6035052 read_ex, offset: %04x\n", offset);
|
||||
return m_prot;
|
||||
}
|
||||
|
||||
@ -1705,13 +1705,13 @@ uint8_t nes_6035052_device::read_ex(offs_t offset)
|
||||
|
||||
iNES: mapper 189
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_txc_tw_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("txc_tw write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("txc_tw write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32((data >> 4) | data);
|
||||
}
|
||||
@ -1735,7 +1735,7 @@ void nes_txc_tw_device::prg_cb(int start, int bank)
|
||||
|
||||
void nes_kof97_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("kof97 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("kof97 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// unscramble address and data
|
||||
offset = (offset & 0x6000) | BIT(offset, 12);
|
||||
@ -1772,7 +1772,7 @@ void nes_kof96_device::chr_cb(int start, int bank, int source)
|
||||
|
||||
void nes_kof96_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("kof96 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("kof96 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if ((offset & 0x1001) == 0x1000)
|
||||
@ -1792,7 +1792,7 @@ void nes_kof96_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_kof96_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("kof96 read_l, offset: %04x\n", offset));
|
||||
LOG("kof96 read_l, offset: %04x\n", offset);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000)
|
||||
@ -1809,7 +1809,7 @@ u8 nes_kof96_device::read_l(offs_t offset)
|
||||
|
||||
iNES: mapper 197
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -1823,7 +1823,7 @@ void nes_sf3_device::set_chr(uint8_t chr_source, int chr_base, int chr_mask)
|
||||
void nes_sf3_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t cmd;
|
||||
LOG_MMC(("sf3 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("sf3 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -1865,7 +1865,7 @@ void nes_sf3_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_cocoma_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("cocoma write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("cocoma write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(offset, 4))
|
||||
{
|
||||
@ -1914,7 +1914,7 @@ void nes_gouder_device::write_l(offs_t offset, u8 data)
|
||||
0x09,0x19,0x49,0x59,0x09,0x19,0x49,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
};
|
||||
|
||||
LOG_MMC(("gouder write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("gouder write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
switch (offset & 0x1800)
|
||||
@ -1934,7 +1934,7 @@ void nes_gouder_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_gouder_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("gouder read_l, offset: %04x\n", offset));
|
||||
LOG("gouder read_l, offset: %04x\n", offset);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1800)
|
||||
@ -1955,7 +1955,7 @@ void nes_gouder_device::prg_cb(int start, int bank)
|
||||
|
||||
Sachen boards used for a chinese port of Princess Maker (?)
|
||||
|
||||
in MESS: Very Preliminary support, based on Cah4e3
|
||||
in MAME: Very Preliminary support, based on Cah4e3
|
||||
code in FCEUMM
|
||||
|
||||
-------------------------------------------------*/
|
||||
@ -1981,7 +1981,7 @@ void nes_sa9602b_device::prg_cb(int start, int bank)
|
||||
|
||||
void nes_sa9602b_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("sa9602b write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("sa9602b write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -2020,7 +2020,7 @@ void nes_sachen_shero_device::chr_cb(int start, int bank, int source)
|
||||
|
||||
void nes_sachen_shero_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("shero write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("shero write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x4100;
|
||||
|
||||
if (offset == 0x4100)
|
||||
@ -2035,7 +2035,7 @@ void nes_sachen_shero_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_sachen_shero_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("shero read_l, offset: %04x\n", offset));
|
||||
LOG("shero read_l, offset: %04x\n", offset);
|
||||
offset += 0x4100;
|
||||
|
||||
if (offset == 0x4100)
|
||||
@ -2089,7 +2089,7 @@ void nes_sachen_zgdh_device::set_chr(u8 chr, int chr_base, int chr_mask)
|
||||
|
||||
void nes_sachen_zgdh_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("zgdh write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("zgdh write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if ((offset & 0x1100) == 0x0100)
|
||||
@ -2145,7 +2145,7 @@ void nes_a9746_device::update_banks(uint8_t value)
|
||||
|
||||
void nes_a9746_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("unl_a9746 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("unl_a9746 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6003)
|
||||
{
|
||||
@ -2273,7 +2273,7 @@ void nes_fk23c_device::fk23c_set_chr()
|
||||
|
||||
void nes_fk23c_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("fk23c write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("fk23c write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100;
|
||||
|
||||
if (offset >= 0x1000)
|
||||
@ -2290,7 +2290,7 @@ void nes_fk23c_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_fk23c_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("fk23c write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("fk23c write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (m_reg[0] & 0x40)
|
||||
{
|
||||
@ -2343,7 +2343,7 @@ void nes_fk23c_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_nt639_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("nt639 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("nt639 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(data, 5))
|
||||
prg32(bitswap<3>(data, 6, 2, 1));
|
||||
@ -2363,7 +2363,7 @@ void nes_nt639_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
Games: Super 24-in-1
|
||||
|
||||
In MESS: Partially Supported
|
||||
In MAME: Partially Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -2387,7 +2387,7 @@ void nes_s24in1sc03_device::chr_cb(int start, int bank, int source)
|
||||
|
||||
void nes_s24in1sc03_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("s24in1sc03 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("s24in1sc03 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100;
|
||||
|
||||
if (offset == 0x1ff0)
|
||||
@ -2446,7 +2446,7 @@ void nes_tech9in1_device::update_banks()
|
||||
|
||||
void nes_tech9in1_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("tech9in1 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("tech9in1 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100;
|
||||
|
||||
switch (offset & 0x1003) // writes $5000-$5002, mask is a best guess
|
||||
@ -2473,7 +2473,7 @@ void nes_tech9in1_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_bmc_5in1_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("bmc_5in1 read_m, offset: %04x\n", offset));
|
||||
LOG("bmc_5in1 read_m, offset: %04x\n", offset);
|
||||
|
||||
if ((offset & 0x03) == 0x02)
|
||||
return (get_open_bus() & 0xfe) | m_jumper->read();
|
||||
@ -2483,7 +2483,7 @@ u8 nes_bmc_5in1_device::read_m(offs_t offset)
|
||||
|
||||
void nes_bmc_5in1_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_5in1 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_5in1 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if ((m_wram_protect & 0xc0) == 0x80)
|
||||
{
|
||||
@ -2507,7 +2507,7 @@ void nes_bmc_5in1_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_8in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_8in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_8in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(offset, 12))
|
||||
{
|
||||
@ -2541,7 +2541,7 @@ void nes_bmc_8in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_15in1_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_15in1 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_15in1 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (data & 1)
|
||||
data |= m_jumper; // TODO: add jumper settings, m_jumper is 0 for now
|
||||
@ -2564,14 +2564,14 @@ void nes_bmc_15in1_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
iNES: mapper 44
|
||||
|
||||
In MESS: Supported. It also uses mmc3_irq.
|
||||
In MAME: Supported. It also uses mmc3_irq.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_bmc_sbig7_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t page;
|
||||
LOG_MMC(("bmc_sbig7 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_sbig7 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -2609,7 +2609,7 @@ void nes_bmc_sbig7_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_bmc_hik8_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_hik8 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_hik8 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
nes_txrom_device::write_m(offset, data); // registers overlay WRAM
|
||||
|
||||
@ -2707,7 +2707,7 @@ void nes_bmc_jy302_device::set_chr(u8 chr, int chr_base, int chr_mask)
|
||||
|
||||
u8 nes_bmc_kc885_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("bmc_kc885 read_h, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "bmc_kc885 read_h, offset: %04x\n", offset);
|
||||
|
||||
if (BIT(m_reg[1], 7) & BIT(m_jumper->read(), 2))
|
||||
return get_open_bus();
|
||||
@ -2717,7 +2717,7 @@ u8 nes_bmc_kc885_device::read_h(offs_t offset)
|
||||
|
||||
void nes_bmc_kc885_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_kc885 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_kc885 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!BIT(m_reg[3], 6)) // outer register lock bit
|
||||
{
|
||||
@ -2781,7 +2781,7 @@ void nes_bmc_hik4_device::prg_cb(int start, int bank)
|
||||
|
||||
void nes_bmc_hik4_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_hik4 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_hik4 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// mid writes only work when WRAM is enabled and writable
|
||||
if ((m_wram_protect & 0xc0) == 0x80)
|
||||
@ -2854,7 +2854,7 @@ void nes_a88s1_device::prg_cb(int start, int bank)
|
||||
|
||||
void nes_a88s1_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("a88s1 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("a88s1 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000)
|
||||
@ -2881,7 +2881,7 @@ void nes_a88s1_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_f15_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_f15 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_f15 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(m_wram_protect, 7))
|
||||
{
|
||||
@ -2915,7 +2915,7 @@ void nes_bmc_f15_device::prg_cb(int start, int bank)
|
||||
|
||||
u8 nes_bmc_f600_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("bmc_f600 read_l, offset: %04x\n", offset));
|
||||
LOG("bmc_f600 read_l, offset: %04x\n", offset);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000)
|
||||
@ -2926,7 +2926,7 @@ u8 nes_bmc_f600_device::read_l(offs_t offset)
|
||||
|
||||
void nes_bmc_f600_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_f600 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_f600 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000)
|
||||
@ -2945,7 +2945,7 @@ void nes_bmc_f600_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_f600_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_f600 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_f600 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
if ((m_reg & 0x07) == 1)
|
||||
nes_txsrom_device::write_h(offset, data);
|
||||
else
|
||||
@ -2976,7 +2976,7 @@ void nes_bmc_f600_device::set_chr(u8 chr, int chr_base, int chr_mask)
|
||||
|
||||
void nes_bmc_el86xc_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_el86xc write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_el86xc write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
if (!(offset & 0x1000)) // game only banks via 0x6000, this mask is a guess
|
||||
{
|
||||
int outer = bitswap<3>(data, 5, 2, 1);
|
||||
@ -3003,7 +3003,7 @@ void nes_bmc_el86xc_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_gn45_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_gn45 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_gn45 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
nes_txrom_device::write_m(offset, data); // registers overlay WRAM
|
||||
|
||||
@ -3035,7 +3035,7 @@ void nes_bmc_gn45_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_gold7in1_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_gold7in1 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_gold7in1 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if ((m_wram_protect & 0xc0) == 0x80 && !m_lock)
|
||||
{
|
||||
@ -3071,7 +3071,7 @@ void nes_bmc_gold7in1_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_k3006_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_k3006 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_k3006 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
if ((m_wram_protect & 0xc0) == 0x80)
|
||||
{
|
||||
if (BIT(offset, 5)) // MMC3 mode
|
||||
@ -3113,7 +3113,7 @@ void nes_bmc_k3033_device::prg_cb(int start, int bank)
|
||||
|
||||
void nes_bmc_k3033_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_k3033 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_k3033 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if ((m_wram_protect & 0xc0) == 0x80)
|
||||
{
|
||||
@ -3174,7 +3174,7 @@ void nes_bmc_l6in1_device::set_mirror()
|
||||
|
||||
void nes_bmc_l6in1_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_l6in1 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_l6in1 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if ((m_wram_protect & 0xc0) == 0x80)
|
||||
{
|
||||
@ -3187,7 +3187,7 @@ void nes_bmc_l6in1_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_l6in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_l6in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_l6in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
txrom_write(offset, data);
|
||||
if ((offset & 0x6001) == 0x2000)
|
||||
@ -3226,7 +3226,7 @@ void nes_bmc_00202650_device::set_chr(u8 chr, int chr_base, int chr_mask)
|
||||
|
||||
void nes_bmc_00202650_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_00202650 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_00202650 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!m_mmc3_mode)
|
||||
{
|
||||
@ -3262,7 +3262,7 @@ void nes_bmc_411120c_device::prg_cb(int start, int bank)
|
||||
|
||||
void nes_bmc_411120c_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_411120c write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_411120c write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(m_wram_protect, 7))
|
||||
{
|
||||
@ -3325,7 +3325,7 @@ void nes_bmc_810305c_device::set_chr(u8 chr, int chr_base, int chr_mask)
|
||||
|
||||
void nes_bmc_810305c_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_810305c write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_810305c write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(offset, 7)) // outer register
|
||||
{
|
||||
@ -3386,7 +3386,7 @@ void nes_bmc_820720c_device::set_chr(u8 chr, int chr_base, int chr_mask)
|
||||
|
||||
void nes_bmc_820720c_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_820720c write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_820720c write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if ((m_wram_protect & 0xc0) == 0x80)
|
||||
{
|
||||
@ -3402,7 +3402,7 @@ void nes_bmc_820720c_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_820720c_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_820720c write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_820720c write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
txrom_write(offset, data); // MMC3 regs always written (for mirroring in non-MMC3 modes)
|
||||
|
||||
@ -3448,7 +3448,7 @@ void nes_bmc_830118c_device::prg_cb(int start, int bank)
|
||||
|
||||
void nes_bmc_830118c_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_830118c write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_830118c write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if ((m_wram_protect & 0xc0) == 0x80)
|
||||
{
|
||||
@ -3475,7 +3475,7 @@ void nes_bmc_830118c_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_830832c_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_830832c write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_830832c write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
if (offset & 0x1000) // game only writes 0x7000, this mask is a guess
|
||||
{
|
||||
m_prg_base = (data & 0x40) >> 1;
|
||||
@ -3504,7 +3504,7 @@ void nes_bmc_830832c_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_yy841101c_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_yy841101c write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_yy841101c write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
if (offset & 0x1000) // games only write 0x7000, this mask is a guess
|
||||
{
|
||||
m_prg_base = data & 0xf0;
|
||||
@ -3530,7 +3530,7 @@ void nes_bmc_yy841101c_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_yy841155c_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_yy841155c write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_yy841155c write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset >= 0x1000)
|
||||
{
|
||||
@ -3598,7 +3598,7 @@ inline void nes_pjoy84_device::set_base_mask()
|
||||
|
||||
void nes_pjoy84_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("pjoy84 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("pjoy84 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x03)
|
||||
{
|
||||
@ -3681,7 +3681,7 @@ void nes_smd133_device::smd133_write(offs_t offset, u8 data)
|
||||
|
||||
void nes_smd133_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("smd133 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("smd133 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000 && m_smd133_addr == 0x5000)
|
||||
@ -3690,7 +3690,7 @@ void nes_smd133_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_smd133_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("smd133 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("smd133 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
nes_txrom_device::write_m(offset, data); // registers overlay WRAM
|
||||
|
||||
|
@ -20,13 +20,15 @@
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#endif
|
||||
#define LOG_UNHANDLED (1U << 1)
|
||||
#define LOG_BANK_INFO (1U << 2)
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE (LOG_UNHANDLED | LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE (LOG_UNHANDLED)
|
||||
#endif
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
#define LAST_CHR_REG_A 0
|
||||
@ -432,7 +434,7 @@ uint8_t nes_exrom_device::chr_r(offs_t offset)
|
||||
uint8_t nes_exrom_device::read_l(offs_t offset)
|
||||
{
|
||||
int value;
|
||||
LOG_MMC(("exrom read_l, offset: %04x\n", offset));
|
||||
LOG("exrom read_l, offset: %04x\n", offset);
|
||||
offset += 0x100;
|
||||
|
||||
if ((offset >= 0x1c00) && (offset <= 0x1fff))
|
||||
@ -463,7 +465,7 @@ uint8_t nes_exrom_device::read_l(offs_t offset)
|
||||
|
||||
default:
|
||||
if (!machine().side_effects_disabled())
|
||||
logerror("MMC5 uncaught read, offset: %04x\n", offset + 0x4100);
|
||||
LOGMASKED(LOG_UNHANDLED, "MMC5 uncaught read, offset: %04x\n", offset + 0x4100);
|
||||
return get_open_bus();
|
||||
}
|
||||
}
|
||||
@ -471,7 +473,7 @@ uint8_t nes_exrom_device::read_l(offs_t offset)
|
||||
|
||||
void nes_exrom_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("exrom write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("exrom write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100;
|
||||
|
||||
if ((offset >= 0x1000) && (offset <= 0x1015))
|
||||
@ -501,29 +503,29 @@ void nes_exrom_device::write_l(offs_t offset, uint8_t data)
|
||||
case 0x1100:
|
||||
m_prg_mode = data & 0x03;
|
||||
update_prg();
|
||||
//LOG_MMC(("MMC5 rom bank mode: %02x\n", data));
|
||||
LOGMASKED(LOG_BANK_INFO, "MMC5 rom bank mode: %02x\n", data);
|
||||
break;
|
||||
|
||||
case 0x1101:
|
||||
m_chr_mode = data & 0x03;
|
||||
m_ex1_chr = 0;
|
||||
m_split_chr = 0;
|
||||
//LOG_MMC(("MMC5 vrom bank mode: %02x\n", data));
|
||||
LOGMASKED(LOG_BANK_INFO, "MMC5 vrom bank mode: %02x\n", data);
|
||||
break;
|
||||
|
||||
case 0x1102:
|
||||
m_wram_protect_1 = data & 0x03;
|
||||
LOG_MMC(("MMC5 vram protect 1: %02x\n", data));
|
||||
LOG("MMC5 vram protect 1: %02x\n", data);
|
||||
break;
|
||||
|
||||
case 0x1103:
|
||||
m_wram_protect_2 = data & 0x03;
|
||||
LOG_MMC(("MMC5 vram protect 2: %02x\n", data));
|
||||
LOG("MMC5 vram protect 2: %02x\n", data);
|
||||
break;
|
||||
|
||||
case 0x1104: // Extra VRAM (EXRAM)
|
||||
m_exram_control = data & 0x03;
|
||||
LOG_MMC(("MMC5 exram control: %02x\n", data));
|
||||
LOG("MMC5 exram control: %02x\n", data);
|
||||
break;
|
||||
|
||||
case 0x1105:
|
||||
@ -542,7 +544,7 @@ void nes_exrom_device::write_l(offs_t offset, uint8_t data)
|
||||
break;
|
||||
|
||||
case 0x1113:
|
||||
LOG_MMC(("MMC5 mid RAM bank select: %02x\n", data & 0x07));
|
||||
LOG("MMC5 mid RAM bank select: %02x\n", data & 0x07);
|
||||
m_wram_base = data & 0x07;
|
||||
break;
|
||||
|
||||
@ -603,12 +605,12 @@ void nes_exrom_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
case 0x1203:
|
||||
m_irq_count = data;
|
||||
LOG_MMC(("MMC5 irq scanline: %d\n", m_irq_count));
|
||||
LOG("MMC5 irq scanline: %d\n", m_irq_count);
|
||||
break;
|
||||
|
||||
case 0x1204:
|
||||
m_irq_enable = data & 0x80;
|
||||
LOG_MMC(("MMC5 irq enable: %02x\n", data));
|
||||
LOG("MMC5 irq enable: %02x\n", data);
|
||||
break;
|
||||
|
||||
case 0x1205:
|
||||
@ -620,7 +622,7 @@ void nes_exrom_device::write_l(offs_t offset, uint8_t data)
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("MMC5 uncaught write, offset: %04x, data: %02x\n", offset + 0x4100, data);
|
||||
LOG("MMC5 uncaught write, offset: %04x, data: %02x\n", offset + 0x4100, data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -631,7 +633,7 @@ void nes_exrom_device::write_l(offs_t offset, uint8_t data)
|
||||
// same mechanism is used also when "WRAM" is mapped in higher banks
|
||||
uint8_t nes_exrom_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("exrom read_m, offset: %04x\n", offset));
|
||||
LOG("exrom read_m, offset: %04x\n", offset);
|
||||
if (!m_battery.empty() && !m_prgram.empty()) // 2 chips present: first is BWRAM, second is WRAM
|
||||
{
|
||||
if (m_wram_base & 0x04)
|
||||
@ -649,7 +651,7 @@ uint8_t nes_exrom_device::read_m(offs_t offset)
|
||||
|
||||
void nes_exrom_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("exrom write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("exrom write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
if (m_wram_protect_1 != 0x02 || m_wram_protect_2 != 0x01)
|
||||
return;
|
||||
|
||||
@ -662,7 +664,7 @@ void nes_exrom_device::write_m(offs_t offset, uint8_t data)
|
||||
// some games (e.g. Bandit Kings of Ancient China) write to PRG-RAM through 0x8000-0xdfff
|
||||
uint8_t nes_exrom_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("exrom read_h, offset: %04x\n", offset));
|
||||
LOG("exrom read_h, offset: %04x\n", offset);
|
||||
int bank = offset / 0x2000;
|
||||
|
||||
if (bank < 3 && offset >= bank * 0x2000 && offset < (bank + 1) * 0x2000 && m_prg_ram_mapped[bank])
|
||||
@ -678,7 +680,7 @@ uint8_t nes_exrom_device::read_h(offs_t offset)
|
||||
|
||||
void nes_exrom_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("exrom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("exrom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
int bank = offset / 0x2000;
|
||||
if (m_wram_protect_1 != 0x02 || m_wram_protect_2 != 0x01 || bank == 3 || !m_prg_ram_mapped[bank])
|
||||
return;
|
||||
|
@ -19,13 +19,14 @@
|
||||
#include "multigame.h"
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#endif
|
||||
#define LOG_HIFREQ (1U << 1)
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -1196,7 +1197,7 @@ void nes_bmc_th22913_device::pcb_reset()
|
||||
|
||||
void nes_action52_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ae_act52_w, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ae_act52_w, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = BIT(offset, 6, 7);
|
||||
u8 mode = !BIT(offset, 5);
|
||||
@ -1226,7 +1227,7 @@ void nes_caltron6in1_device::update_chr()
|
||||
|
||||
void nes_caltron6in1_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("caltron6in1 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("caltron6in1 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x1800)
|
||||
{
|
||||
@ -1241,7 +1242,7 @@ void nes_caltron6in1_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_caltron6in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("caltron6in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("caltron6in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -1267,7 +1268,7 @@ void nes_caltron6in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_caltron9in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("caltron9in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("caltron9in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
int nibble = BIT(offset, 12, 3);
|
||||
m_latch[std::min(nibble, 2)] = offset & 0x7f;
|
||||
|
||||
@ -1296,13 +1297,13 @@ void nes_caltron9in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
iNES: mapper 46
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_rumblestat_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("rumblestation write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("rumblestation write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
m_prg = (m_prg & 0x01) | ((data & 0x0f) << 1);
|
||||
m_chr = (m_chr & 0x07) | ((data & 0xf0) >> 1);
|
||||
@ -1312,7 +1313,7 @@ void nes_rumblestat_device::write_m(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_rumblestat_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("rumblestation write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("rumblestation write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -1355,7 +1356,7 @@ void nes_svision16_device::update_prg()
|
||||
|
||||
void nes_svision16_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("svision16 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("svision16 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!BIT(m_latch1, 4))
|
||||
{
|
||||
@ -1367,14 +1368,14 @@ void nes_svision16_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_svision16_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("svision16 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("svision16 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
m_latch2 = data;
|
||||
update_prg();
|
||||
}
|
||||
|
||||
u8 nes_svision16_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("svision16 read_m, offset: %04x\n", offset));
|
||||
LOG("svision16 read_m, offset: %04x\n", offset);
|
||||
|
||||
u8 bank = m_latch1 << 4 | 0x0f;
|
||||
return m_prg[((bank + 4) * 0x2000 + offset) % m_prg_size]; // +4 due to the 32KB menu
|
||||
@ -1394,7 +1395,7 @@ u8 nes_svision16_device::read_m(offs_t offset)
|
||||
|
||||
void nes_farid_unrom_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("farid_unrom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("farid_unrom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -1427,7 +1428,7 @@ void nes_farid_unrom_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_kn42_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("kn42 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("kn42 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -1441,14 +1442,14 @@ void nes_kn42_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
Games: 3-in-1 (N068)
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_a65as_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t helper = (data & 0x30) >> 1;
|
||||
LOG_MMC(("a65as write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("a65as write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (data & 0x80)
|
||||
set_nt_mirroring(BIT(data, 5) ? PPU_MIRROR_HIGH : PPU_MIRROR_LOW);
|
||||
@ -1478,7 +1479,7 @@ void nes_a65as_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_t262_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("t262 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("t262 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!BIT(m_latch, 13))
|
||||
{
|
||||
@ -1508,14 +1509,14 @@ void nes_t262_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
iNES: mapper 39
|
||||
|
||||
In MESS: Partially Supported (problems with PRG bankswitch,
|
||||
In MAME: Partially Supported (problems with PRG bankswitch,
|
||||
only keyboard exercise work).
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_studyngame_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("studyngame write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("studyngame write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
prg32(data);
|
||||
}
|
||||
|
||||
@ -1535,7 +1536,7 @@ void nes_studyngame_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_sgun20in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("supergun20in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("supergun20in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// Hogan's Alley in 20-in-1 will occasionally sweep through 0x66xx-0x68xx which
|
||||
// causes an abrupt goto Bomberman title screen. This mask is a best guess.
|
||||
@ -1571,7 +1572,7 @@ void nes_bmc_190in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_vt5201_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("vt5201 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("vt5201 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!BIT(m_latch, 1)) // lock bit
|
||||
{
|
||||
@ -1589,7 +1590,7 @@ void nes_vt5201_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_vt5201_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("bmc_vt5201 read_h, offset: %04x\n", offset));
|
||||
LOG("bmc_vt5201 read_h, offset: %04x\n", offset);
|
||||
|
||||
if (BIT(m_latch, 0))
|
||||
return (get_open_bus() & ~0x03) | m_jumper; // TODO: add jumper settings, m_jumper is 0 for now
|
||||
@ -1617,7 +1618,7 @@ void nes_bmc_80013b_device::update_prg()
|
||||
|
||||
void nes_bmc_80013b_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_80013b write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_80013b write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
if (offset & 0x6000)
|
||||
{
|
||||
m_reg[1] = data & 0x7f;
|
||||
@ -1645,7 +1646,7 @@ void nes_bmc_80013b_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_810544c_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_810544c write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_810544c write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = bitswap<4>(offset, 9, 8, 7, 5);
|
||||
u8 mode = BIT(offset, 6);
|
||||
@ -1670,7 +1671,7 @@ void nes_bmc_810544c_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_830425c_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_830425c write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_830425c write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if ((offset & 0x7fe0) == 0x70e0)
|
||||
m_latch = offset & 0x1f;
|
||||
@ -1695,7 +1696,7 @@ void nes_bmc_830425c_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_830928c_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_830928c write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_830928c write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -1730,7 +1731,7 @@ void nes_bmc_830928c_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_850437c_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_850437c write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_850437c write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
m_reg[(offset & 0x6000) == 0x2000] = data; // outer banking is always at 0xa000, mask is a guess
|
||||
|
||||
@ -1759,7 +1760,7 @@ void nes_bmc_850437c_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_970630c_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_970630c write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_970630c write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = BIT(offset, 2, 5);
|
||||
if (BIT(offset, 9)) // NROM mode
|
||||
@ -1780,7 +1781,7 @@ void nes_bmc_970630c_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_bmc_970630c_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("bmc_970630c read_h, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "bmc_970630c read_h, offset: %04x\n", offset);
|
||||
|
||||
if (m_latch)
|
||||
return 0; // TODO: menu supposedly varies by solder pad value returned here, but it doesn't seem to work...
|
||||
@ -1802,7 +1803,7 @@ u8 nes_bmc_970630c_device::read_h(offs_t offset)
|
||||
|
||||
void nes_ntd03_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ntd03 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ntd03 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = bitswap<5>(offset, 14, 13, 12, 11, 6);
|
||||
u8 mode = !BIT(offset, 7);
|
||||
@ -1827,7 +1828,7 @@ void nes_ntd03_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_ctc09_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_ctc09 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_ctc09 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(offset, 14))
|
||||
{
|
||||
@ -1863,7 +1864,7 @@ void nes_bmc_ctc09_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_bmc_ds927_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("bmc_ds927 read_h, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "bmc_ds927 read_h, offset: %04x\n", offset);
|
||||
|
||||
int bits = m_mode == 1 ? 1 : 2;
|
||||
|
||||
@ -1875,7 +1876,7 @@ u8 nes_bmc_ds927_device::read_h(offs_t offset)
|
||||
|
||||
void nes_bmc_ds927_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_ds927 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_ds927 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 0x6000)
|
||||
{
|
||||
@ -1927,13 +1928,13 @@ void nes_bmc_ds927_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_bmc_gka_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("bmc_gka read_m, offset: %04x\n", offset));
|
||||
LOG("bmc_gka read_m, offset: %04x\n", offset);
|
||||
return 0; // TODO: menus differ by jumper/DIP settings readable at 0x6000.
|
||||
}
|
||||
|
||||
void nes_bmc_gka_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_gka write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_gka write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
m_reg[BIT(offset, 11)] = data;
|
||||
|
||||
@ -1968,7 +1969,7 @@ void nes_bmc_gka_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_gkb_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_gkb write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_gkb write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = offset & 0x07;
|
||||
u8 mode = !BIT(offset, 6);
|
||||
@ -1996,7 +1997,7 @@ void nes_bmc_gkb_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_gkcxin1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_gkcxin1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_gkcxin1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(BIT(offset, 3, 2));
|
||||
chr8(offset & 0x07, CHRROM);
|
||||
@ -2017,7 +2018,7 @@ void nes_bmc_gkcxin1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_gn91b_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_gn91b write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_gn91b write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 0x4000)
|
||||
{
|
||||
@ -2046,7 +2047,7 @@ void nes_bmc_gn91b_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_bmc_hp898f_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("bmc_hp898f read_l, offset: %04x\n", offset));
|
||||
LOG("bmc_hp898f read_l, offset: %04x\n", offset);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset & 0x1000)
|
||||
@ -2057,7 +2058,7 @@ u8 nes_bmc_hp898f_device::read_l(offs_t offset)
|
||||
|
||||
void nes_bmc_hp898f_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_hp898f write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_hp898f write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset & 0x04)
|
||||
{
|
||||
@ -2085,7 +2086,7 @@ void nes_bmc_hp898f_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_k3036_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_k3036 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_k3036 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
u8 bank = offset & 0x1f;
|
||||
prg16_89ab(bank);
|
||||
prg16_cdef(bank | (BIT(offset, 5) ? 0 : 7));
|
||||
@ -2106,7 +2107,7 @@ void nes_bmc_k3036_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_k3046_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_k3046 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_k3046 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -2130,7 +2131,7 @@ void nes_bmc_k3046_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_k3071_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_k3071 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_k3071 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = BIT(offset, 1, 5);
|
||||
u8 mode = BIT(offset, 0);
|
||||
@ -2155,7 +2156,7 @@ void nes_bmc_k3071_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_s009_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_s009 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_s009 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
m_reg = (data & 0x07) << 3;
|
||||
prg16_89ab(m_reg);
|
||||
@ -2166,7 +2167,7 @@ void nes_bmc_s009_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_s009_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_s009 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_s009 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -2188,7 +2189,7 @@ void nes_bmc_s009_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_sa005a_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_sa005a write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_sa005a write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
u8 bank = offset & 0x0f;
|
||||
prg16_89ab(bank);
|
||||
prg16_cdef(bank);
|
||||
@ -2216,7 +2217,7 @@ void nes_bmc_tf2740_device::update_chr()
|
||||
|
||||
void nes_bmc_tf2740_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_tf2740 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_tf2740 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x03)
|
||||
{
|
||||
@ -2239,14 +2240,14 @@ void nes_bmc_tf2740_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_tf2740_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_tf2740 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_tf2740 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
m_reg[0] = data;
|
||||
update_chr();
|
||||
}
|
||||
|
||||
u8 nes_bmc_tf2740_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("bmc_tf2740 read_m, offset: %04x\n", offset));
|
||||
LOG("bmc_tf2740 read_m, offset: %04x\n", offset);
|
||||
return (get_open_bus() & ~0x03) | m_jumper; // TODO: add jumper settings, m_jumper is 0 for now
|
||||
}
|
||||
|
||||
@ -2264,7 +2265,7 @@ u8 nes_bmc_tf2740_device::read_m(offs_t offset)
|
||||
|
||||
void nes_bmc_th2348_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_th2348 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_th2348 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000)
|
||||
@ -2279,7 +2280,7 @@ void nes_bmc_th2348_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_th2348_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_th2348 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_th2348 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -2301,7 +2302,7 @@ void nes_bmc_th2348_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_tj03_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_tj03 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_tj03 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
u8 bank = BIT(offset, 8, 2);
|
||||
prg32(bank);
|
||||
chr8(bank, CHRROM);
|
||||
@ -2321,7 +2322,7 @@ void nes_bmc_tj03_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_ws_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("bmc_ws write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_ws write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 0x1000)
|
||||
{
|
||||
@ -2359,7 +2360,7 @@ void nes_bmc_ws_device::write_m(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_bmc_11160_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_11160 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_11160 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(BIT(data, 4, 2));
|
||||
chr8(bitswap<4>(data, 5, 4, 1, 0), CHRROM);
|
||||
@ -2380,7 +2381,7 @@ void nes_bmc_11160_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_g146_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_g146 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_g146 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 prg_lo = offset & 0x1f;
|
||||
u8 prg_hi = prg_lo; // default: NROM-128 mode
|
||||
@ -2411,7 +2412,7 @@ void nes_bmc_g146_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_2751_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_2751 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_2751 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
u8 bank = BIT(offset, 4, 3);
|
||||
u8 mode = BIT(offset, 7);
|
||||
prg16_89ab(bank & ~mode);
|
||||
@ -2440,7 +2441,7 @@ void nes_bmc_2751_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_8157_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_8157 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_8157 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = BIT(offset, 2, 5);
|
||||
prg16_89ab(bank);
|
||||
@ -2456,7 +2457,7 @@ void nes_bmc_8157_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_bmc_8157_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("bmc_8157 read_h, offset: %04x\n", offset));
|
||||
LOG("bmc_8157 read_h, offset: %04x\n", offset);
|
||||
if (m_latch)
|
||||
offset = (offset & ~0x01) | m_jumper->read();
|
||||
return hi_access_rom(offset);
|
||||
@ -2477,13 +2478,13 @@ u8 nes_bmc_8157_device::read_h(offs_t offset)
|
||||
|
||||
u8 nes_bmc_hik300_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("bmc_hik300 read_m, offset: %04x, data: %02x\n", offset));
|
||||
LOG("bmc_hik300 read_m, offset: %04x, data: %02x\n", offset);
|
||||
return get_open_bus() | (!BIT(offset, 4) << 7); // some games have a protection MSB
|
||||
}
|
||||
|
||||
void nes_bmc_hik300_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_hik300 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_hik300 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = offset & 0x07;
|
||||
u8 mode = BIT(offset, 14);
|
||||
@ -2517,7 +2518,7 @@ void nes_bmc_hik300_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_s700_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_s700 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_s700 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = (offset & 0x40) | BIT(offset, 8, 6);
|
||||
u8 mode = !BIT(offset, 5);
|
||||
@ -2543,7 +2544,7 @@ void nes_bmc_s700_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_bmc_ball11_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("bmc_ball11 read_m, offset: %04x, data: %02x\n", offset));
|
||||
LOG("bmc_ball11 read_m, offset: %04x, data: %02x\n", offset);
|
||||
|
||||
u8 bank = m_reg[1] << 2 | (m_reg[0] ? 0x23 : 0x2f);
|
||||
return m_prg[(bank * 0x2000 + offset) & (m_prg_size - 1)];
|
||||
@ -2562,7 +2563,7 @@ void nes_bmc_ball11_device::update_prg()
|
||||
|
||||
void nes_bmc_ball11_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_ball11 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_ball11 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
set_nt_mirroring(BIT(data, 4) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||
m_reg[0] = data & 0x02;
|
||||
update_prg();
|
||||
@ -2570,7 +2571,7 @@ void nes_bmc_ball11_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_ball11_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_ball11 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_ball11 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
m_reg[1] = data & 0x1f;
|
||||
update_prg();
|
||||
}
|
||||
@ -2595,7 +2596,7 @@ void nes_bmc_ball11_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_22games_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_22games write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_22games write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (m_latch)
|
||||
{
|
||||
@ -2638,7 +2639,7 @@ void nes_bmc_64y2k_device::update_banks()
|
||||
|
||||
void nes_bmc_64y2k_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_64y2k write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_64y2k write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000)
|
||||
@ -2650,7 +2651,7 @@ void nes_bmc_64y2k_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_64y2k_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_64y2k write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_64y2k write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!BIT(m_reg[0], 7))
|
||||
prg16_89ab(((m_reg[1] << 1) & ~0x07) | (data & 0x07));
|
||||
@ -2672,7 +2673,7 @@ void nes_bmc_64y2k_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_420y2k_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_420y2k write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_420y2k write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(m_latch, 1)) // lock bit
|
||||
m_reg = (m_reg & ~0x07) | (data & 0x07);
|
||||
@ -2692,7 +2693,7 @@ void nes_bmc_420y2k_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_bmc_420y2k_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("bmc_420y2k read_h, offset: %04x\n", offset));
|
||||
LOG("bmc_420y2k read_h, offset: %04x\n", offset);
|
||||
// latch bit 0 is only used to determine the menu, and the behavior of
|
||||
// this cart seems hardwired to OR $02 (ORing $00-$03 allows four menus)
|
||||
return hi_access_rom(offset | (m_latch & 1) << 1);
|
||||
@ -2731,7 +2732,7 @@ void nes_bmc_12in1_device::update_banks()
|
||||
|
||||
void nes_bmc_12in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_12in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_12in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
m_reg[BIT(offset, 13, 2)] = data;
|
||||
update_banks();
|
||||
@ -2752,7 +2753,7 @@ void nes_bmc_12in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_20in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_20in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_20in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg16_89ab(offset & 0x1e);
|
||||
prg16_cdef((offset & 0x1e) | BIT(offset, 5));
|
||||
@ -2774,7 +2775,7 @@ void nes_bmc_20in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_21in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_21in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_21in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(offset & 0x03);
|
||||
chr8(offset & 0x07, CHRROM);
|
||||
@ -2795,7 +2796,7 @@ void nes_bmc_21in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_31in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_31in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_31in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
set_nt_mirroring(BIT(offset, 5) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||
|
||||
offset &= 0x1f;
|
||||
@ -2825,7 +2826,7 @@ void nes_bmc_31in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_35in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_35in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_35in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = BIT(data, 2, 2);
|
||||
prg16_89ab(bank);
|
||||
@ -2842,13 +2843,13 @@ void nes_bmc_35in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
iNES: mapper 200
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_bmc_36in1_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("bmc_36in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_36in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg16_89ab(offset & 0x07);
|
||||
prg16_cdef(offset & 0x07);
|
||||
@ -2866,7 +2867,7 @@ void nes_bmc_36in1_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 204
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -2874,7 +2875,7 @@ void nes_bmc_64in1_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
int bank = (offset >> 1) & (offset >> 2) & 0x01;
|
||||
|
||||
LOG_MMC(("bmc_64in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_64in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg16_89ab(offset & ~bank);
|
||||
prg16_cdef(offset | bank);
|
||||
@ -2927,7 +2928,7 @@ void nes_bmc_70in1_device::update_prg(u8 bank)
|
||||
|
||||
void nes_bmc_70in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc70in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc70in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
m_latch[BIT(offset, 14)] = offset;
|
||||
update_banks();
|
||||
set_nt_mirroring(BIT(m_latch[0], 5) ? PPU_MIRROR_HORZ: PPU_MIRROR_VERT);
|
||||
@ -2935,7 +2936,7 @@ void nes_bmc_70in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
uint8_t nes_bmc_70in1_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("bmc70in1 read_h, offset: %04x\n", offset));
|
||||
LOG("bmc70in1 read_h, offset: %04x\n", offset);
|
||||
|
||||
if ((m_latch[1] & 0x30) == 0x10)
|
||||
offset = (offset & ~0x0f) | m_jumper; // TODO: make jumper selectable
|
||||
@ -2978,7 +2979,7 @@ void nes_bmc_800in1_device::update_banks()
|
||||
|
||||
u8 nes_bmc_72in1_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("bmc_72in1 read_l, offset: %04x\n", offset));
|
||||
LOG("bmc_72in1 read_l, offset: %04x\n", offset);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1800) // 4 nibbles of RAM mirrored above 0x5800
|
||||
@ -2989,7 +2990,7 @@ u8 nes_bmc_72in1_device::read_l(offs_t offset)
|
||||
|
||||
void nes_bmc_72in1_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_72in1 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_72in1 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1800) // 4 nibbles of RAM mirrored above 0x5800
|
||||
@ -2998,7 +2999,7 @@ void nes_bmc_72in1_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_72in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_72in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_72in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 high = (offset >> 8) & 0x40;
|
||||
u8 bank = high | BIT(offset, 6, 6);
|
||||
@ -3033,7 +3034,7 @@ void nes_bmc_72in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_76in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_76in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_76in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
m_reg[offset & 0x01] = data;
|
||||
|
||||
u8 bank = m_reg[1] << 6 | (m_reg[0] & 0x80) >> 2 | (m_reg[0] & 0x1f);
|
||||
@ -3059,7 +3060,7 @@ void nes_bmc_76in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_150in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_150in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_150in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = BIT(offset, 1, 3);
|
||||
u8 mode = (bank & 0x06) == 0x06;
|
||||
@ -3085,7 +3086,7 @@ void nes_bmc_150in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_500in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc500in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc500in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
prg32(BIT(offset, 2, 3));
|
||||
chr8(offset & 0x07, CHRROM);
|
||||
}
|
||||
@ -3099,7 +3100,7 @@ void nes_bmc_500in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
iNES: mapper 227
|
||||
|
||||
In MESS: Preliminary Supported.
|
||||
In MAME: Preliminary Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -3116,7 +3117,7 @@ void nes_bmc_1200in1_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
int bank = ((offset >> 2) & 0x1f) | ((offset & 0x0100) >> 3);
|
||||
|
||||
LOG_MMC(("bmc_1200in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_1200in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset & 0x80)
|
||||
{
|
||||
@ -3162,7 +3163,7 @@ void nes_bmc_1200in1_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_bmc_gold260_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_gold260 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_gold260 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = bitswap<8>(offset, 9, 8, 4, 3, 2, 1, 0, 12);
|
||||
u8 mode = !BIT(offset, 11);
|
||||
@ -3214,7 +3215,7 @@ void nes_bmc_gold260_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_42in1reset_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_42in1reset write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_42in1reset write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = m_latch | (data & 0x1f);
|
||||
u8 mode = !BIT(data, 5);
|
||||
@ -3241,7 +3242,7 @@ void nes_bmc_42in1reset_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_lc160_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_lc160 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_lc160 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
if (offset >= 0x4000)
|
||||
{
|
||||
u8 bank = BIT(offset, 2, 6);
|
||||
@ -3287,14 +3288,14 @@ void nes_bmc_60311c_device::update_banks()
|
||||
|
||||
void nes_bmc_60311c_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_60311c write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_60311c write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
m_reg[offset & 1] = data & 0x7f;
|
||||
update_banks();
|
||||
}
|
||||
|
||||
void nes_bmc_60311c_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_60311c write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_60311c write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
m_reg[2] = data & 0x07;
|
||||
update_banks();
|
||||
}
|
||||
@ -3313,13 +3314,13 @@ void nes_bmc_60311c_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_bmc_ctc12in1_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("bmc_ctc12in1 read_m, offset: %04x, data: %02x\n", offset));
|
||||
LOG("bmc_ctc12in1 read_m, offset: %04x, data: %02x\n", offset);
|
||||
return m_prg[0x01 * 0x2000 + offset]; // fixed to bank 1
|
||||
}
|
||||
|
||||
void nes_bmc_ctc12in1_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_ctc12in1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_ctc12in1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
m_reg[BIT(offset, 14)] = data;
|
||||
|
||||
u8 bank = (m_reg[0] & 0x18) | (m_reg[1] & 0x07);
|
||||
@ -3364,7 +3365,7 @@ void nes_bmc_ctc12in1_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_891227_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_891227 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_891227 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 0x4000)
|
||||
data = bitswap<8>(data, 6, 5, 7, 4, 3, 2, 1, 0);
|
||||
@ -3399,7 +3400,7 @@ void nes_bmc_891227_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_bmc_fam250_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("fam250 read_m, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "fam250 read_m, offset: %04x\n", offset);
|
||||
|
||||
if (m_latch == 5) // only the Bubble Bobble FDS bootleg uses this
|
||||
return m_prg[(((m_reg & 0x1f) << 1 | BIT(m_reg, 7)) * 0x2000 + offset) & (m_prg_size - 1)];
|
||||
@ -3409,7 +3410,7 @@ u8 nes_bmc_fam250_device::read_m(offs_t offset)
|
||||
|
||||
void nes_bmc_fam250_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("fam250 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("fam250 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset >= 0x7000)
|
||||
{
|
||||
@ -3442,7 +3443,7 @@ void nes_bmc_fam250_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_k1029_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_k1029 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_k1029 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = data & 0x3f;
|
||||
switch (offset & 3)
|
||||
@ -3492,7 +3493,7 @@ void nes_bmc_k1029_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_n625092_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("n625092 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("n625092 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
m_latch[BIT(offset, 14)] = offset;
|
||||
|
||||
@ -3527,7 +3528,7 @@ void nes_n625092_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_th22913_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_th22913 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_th22913 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = offset >> 2;
|
||||
u8 mode = BIT(offset, 1);
|
||||
|
@ -28,12 +28,11 @@
|
||||
#include "speaker.h"
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -261,7 +260,7 @@ void nes_namcot163_device::pcb_reset()
|
||||
|
||||
void nes_namcot3433_device::dxrom_write(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("dxrom_write, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("dxrom_write, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!(offset & 1) && m_pcb_ctrl_mirror)
|
||||
set_nt_mirroring(BIT(data, 6) ? PPU_MIRROR_HIGH : PPU_MIRROR_LOW);
|
||||
@ -304,7 +303,7 @@ void nes_namcot3433_device::dxrom_write(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_namcot3446_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("namcot3446 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("namcot3446 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset >= 0x2000)
|
||||
return;
|
||||
@ -341,7 +340,7 @@ void nes_namcot3446_device::write_h(offs_t offset, uint8_t data)
|
||||
void nes_namcot3425_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t mode;
|
||||
LOG_MMC(("namcot3425 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("namcot3425 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
if (offset >= 0x2000)
|
||||
return;
|
||||
|
||||
@ -393,7 +392,7 @@ void nes_namcot3425_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 210
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -410,7 +409,7 @@ TIMER_CALLBACK_MEMBER(nes_namcot340_device::irq_timer_tick)
|
||||
|
||||
void nes_namcot340_device::n340_lowrite(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("n340_lowrite, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("n340_lowrite, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100;
|
||||
|
||||
switch (offset & 0x1800)
|
||||
@ -429,7 +428,7 @@ void nes_namcot340_device::n340_lowrite(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_namcot340_device::n340_loread(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("n340_loread, offset: %04x\n", offset));
|
||||
LOG("n340_loread, offset: %04x\n", offset);
|
||||
offset += 0x100;
|
||||
|
||||
switch (offset & 0x1800)
|
||||
@ -449,7 +448,7 @@ uint8_t nes_namcot340_device::n340_loread(offs_t offset)
|
||||
|
||||
void nes_namcot340_device::n340_hiwrite(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("n340_hiwrite, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("n340_hiwrite, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7800)
|
||||
{
|
||||
@ -504,7 +503,7 @@ void nes_namcot340_device::n340_hiwrite(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 210
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -528,7 +527,7 @@ void nes_namcot175_device::write_m(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_namcot175_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("namcot175 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("namcot175 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7800)
|
||||
{
|
||||
@ -557,7 +556,7 @@ void nes_namcot175_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 19
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -609,7 +608,7 @@ void nes_namcot163_device::write_m(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_namcot163_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("namcot163 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("namcot163 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100;
|
||||
|
||||
switch (offset & 0x1800)
|
||||
@ -625,7 +624,7 @@ void nes_namcot163_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_namcot163_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("namcot163 read_l, offset: %04x\n", offset));
|
||||
LOG("namcot163 read_l, offset: %04x\n", offset);
|
||||
offset += 0x100;
|
||||
|
||||
switch (offset & 0x1800)
|
||||
@ -647,7 +646,7 @@ void nes_namcot163_device::set_mirror(uint8_t page, uint8_t data)
|
||||
|
||||
void nes_namcot163_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("namcot163 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("namcot163 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7800)
|
||||
{
|
||||
|
@ -18,12 +18,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -87,7 +86,7 @@ void nes_nanjing_device::pcb_reset()
|
||||
|
||||
iNES: mapper 163
|
||||
|
||||
In MESS: Unsupported.
|
||||
In MAME: Unsupported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -112,7 +111,7 @@ void nes_nanjing_device::hblank_irq(int scanline, bool vblank, bool blanked)
|
||||
|
||||
void nes_nanjing_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("nanjing write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("nanjing write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
|
||||
@ -156,7 +155,7 @@ void nes_nanjing_device::write_l(offs_t offset, uint8_t data)
|
||||
uint8_t nes_nanjing_device::read_l(offs_t offset)
|
||||
{
|
||||
uint8_t value = 0;
|
||||
LOG_MMC(("nanjing read_l, offset: %04x\n", offset));
|
||||
LOG("nanjing read_l, offset: %04x\n", offset);
|
||||
|
||||
offset += 0x100;
|
||||
|
||||
|
@ -23,12 +23,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -117,7 +116,7 @@ void nes_ntdec_n715021_device::pcb_reset()
|
||||
|
||||
void nes_ntdec_asder_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ntdec_asder write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ntdec_asder write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001) // writes only at even addresses?
|
||||
{
|
||||
@ -166,7 +165,7 @@ void nes_ntdec_asder_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_ntdec_fh_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ntdec_fh write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ntdec_fh write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x07)
|
||||
{
|
||||
@ -205,7 +204,7 @@ void nes_ntdec_fh_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_ntdec_n715021_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ntdec_n715021 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ntdec_n715021 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
prg16_89ab(BIT(offset, 2, 2));
|
||||
chr8(offset & 0x03, CHRROM);
|
||||
}
|
||||
|
@ -31,12 +31,11 @@
|
||||
#include "nxrom.h"
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -221,7 +220,7 @@ void nes_nochr_device::pcb_reset()
|
||||
|
||||
iNES: mapper 0
|
||||
|
||||
In MESS: Supported, no need of specific handlers or IRQ
|
||||
In MAME: Supported, no need of specific handlers or IRQ
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -233,13 +232,13 @@ void nes_nochr_device::pcb_reset()
|
||||
This is an homebrew extension to map linearly 46KB
|
||||
or PRG in boards with no PRG bankswitch logic
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
uint8_t nes_nrom368_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("nrom368 read_l, offset: %04x\n", offset));
|
||||
LOG("nrom368 read_l, offset: %04x\n", offset);
|
||||
offset += 0x100;
|
||||
if (offset >= 0x800)
|
||||
return m_prg[offset - 0x800];
|
||||
@ -249,13 +248,13 @@ uint8_t nes_nrom368_device::read_l(offs_t offset)
|
||||
|
||||
uint8_t nes_nrom368_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("nrom368 read_m, offset: %04x\n", offset));
|
||||
LOG("nrom368 read_m, offset: %04x\n", offset);
|
||||
return m_prg[0x1800 + (offset & 0x1fff)];
|
||||
}
|
||||
|
||||
uint8_t nes_nrom368_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("nrom368 read_h, offset: %04x\n", offset));
|
||||
LOG("nrom368 read_h, offset: %04x\n", offset);
|
||||
return m_prg[0x3800 + (offset & 0x7fff)];
|
||||
}
|
||||
|
||||
@ -276,13 +275,13 @@ uint8_t nes_nrom368_device::read_h(offs_t offset)
|
||||
|
||||
iNES: mapper 7
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_axrom_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("axrom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("axrom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -305,7 +304,7 @@ void nes_bxrom_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
/* This portion of the mapper is nearly identical to Mapper 7, except no one-screen mirroring */
|
||||
/* Deadly Towers is really a BxROM game - the demo screens look wrong using mapper 7. */
|
||||
LOG_MMC(("bxrom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bxrom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict, but the same is not true for some pirate variants
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -331,15 +330,15 @@ void nes_bxrom_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
Notice that BANDAI_PT554 board (Aerobics Studio) uses very
|
||||
similar hardware but with an additional sound chip which
|
||||
gets writes to 0x6000 (currently unemulated in MESS)
|
||||
gets writes to 0x6000 (currently unemulated in MAME)
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_cnrom_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("cxrom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("cxrom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict, but the same is not true for some pirate variants
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -381,13 +380,13 @@ uint8_t nes_cnrom_device::chr_r(offs_t offset)
|
||||
|
||||
iNES: mapper 13
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_cprom_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("cprom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("cprom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -408,7 +407,7 @@ void nes_cprom_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_gxrom_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("gxrom write_h, offset %04x, data: %02x\n", offset, data));
|
||||
LOG("gxrom write_h, offset %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -428,13 +427,13 @@ void nes_gxrom_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 2
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_uxrom_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("uxrom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("uxrom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -454,13 +453,13 @@ void nes_uxrom_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 180
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_uxrom_cc_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("uxrom_cc write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("uxrom_cc write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg16_cdef(data);
|
||||
}
|
||||
@ -475,13 +474,13 @@ void nes_uxrom_cc_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 94
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_un1rom_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("un1rom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("un1rom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
|
@ -21,12 +21,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -269,7 +268,7 @@ void nes_eh8813a_device::pcb_reset()
|
||||
|
||||
void nes_agci_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("agci write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("agci write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
// bit 0 is always determined by the ROM value at the offset due to a resistor on the board
|
||||
@ -293,7 +292,7 @@ void nes_agci_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_dreamtech_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("dreamtech write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("dreamtech write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000)
|
||||
@ -314,7 +313,7 @@ void nes_dreamtech_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_fukutake_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("fukutake write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("fukutake write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100;
|
||||
|
||||
if (offset >= 0x200 && offset < 0x400)
|
||||
@ -330,7 +329,7 @@ void nes_fukutake_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_fukutake_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("fukutake read_l, offset: %04x\n", offset));
|
||||
LOG("fukutake read_l, offset: %04x\n", offset);
|
||||
offset += 0x100;
|
||||
|
||||
if (offset >= 0x200 && offset < 0x400)
|
||||
@ -350,13 +349,13 @@ uint8_t nes_fukutake_device::read_l(offs_t offset)
|
||||
|
||||
void nes_fukutake_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("fukutake write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("fukutake write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
m_prgram[((m_latch * 0x2000) + offset) & (m_prgram.size() - 1)] = data;
|
||||
}
|
||||
|
||||
uint8_t nes_fukutake_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("fukutake read_m, offset: %04x\n", offset));
|
||||
LOG("fukutake read_m, offset: %04x\n", offset);
|
||||
return m_prgram[((m_latch * 0x2000) + offset) & (m_prgram.size() - 1)];
|
||||
}
|
||||
|
||||
@ -387,7 +386,7 @@ void nes_futuremedia_device::hblank_irq(int scanline, bool vblank, bool blanked)
|
||||
|
||||
void nes_futuremedia_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("futuremedia write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("futuremedia write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
@ -443,7 +442,7 @@ void nes_futuremedia_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_magseries_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("magseries write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("magseries write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(data >> 1);
|
||||
chr8(data, CHRROM);
|
||||
@ -466,7 +465,7 @@ void nes_magseries_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_daou306_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("daou306 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("daou306 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset >= 0x4000 && offset < 0x4010)
|
||||
{
|
||||
@ -495,7 +494,7 @@ void nes_daou306_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_cc21_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("cc21 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("cc21 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
set_nt_mirroring(BIT(offset, 0) ? PPU_MIRROR_HIGH : PPU_MIRROR_LOW);
|
||||
chr4_0(BIT(offset, 0), CHRROM);
|
||||
@ -513,13 +512,13 @@ void nes_cc21_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
iNES: mapper 176
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_xiaozy_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("xiaozy write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("xiaozy write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
@ -540,7 +539,7 @@ void nes_xiaozy_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_edu2k_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("edu2k write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("edu2k write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(data & 0x1f);
|
||||
m_latch = BIT(data, 6, 2);
|
||||
@ -548,13 +547,13 @@ void nes_edu2k_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_edu2k_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("edu2k write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("edu2k write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
m_prgram[((m_latch * 0x2000) + offset) & (m_prgram.size() - 1)] = data;
|
||||
}
|
||||
|
||||
uint8_t nes_edu2k_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("edu2k read_m, offset: %04x\n", offset));
|
||||
LOG("edu2k read_m, offset: %04x\n", offset);
|
||||
return m_prgram[((m_latch * 0x2000) + offset) & (m_prgram.size() - 1)];
|
||||
}
|
||||
|
||||
@ -589,7 +588,7 @@ void nes_jy830623c_device::hblank_irq(int scanline, bool vblank, bool blanked)
|
||||
|
||||
if (m_irq_enable && !blanked && !m_irq_count && prior_count)
|
||||
{
|
||||
LOG_MMC(("irq fired, scanline: %d\n", scanline));
|
||||
LOG("irq fired, scanline: %d\n", scanline);
|
||||
set_irq_line(ASSERT_LINE);
|
||||
}
|
||||
}
|
||||
@ -607,7 +606,7 @@ void nes_jy830623c_device::update_banks()
|
||||
|
||||
void nes_jy830623c_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("jy830623c write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("jy830623c write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x1003)
|
||||
{
|
||||
@ -634,7 +633,7 @@ void nes_jy830623c_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_jy830623c_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("jy830623c write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("jy830623c write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 0x2000)
|
||||
{
|
||||
@ -649,13 +648,13 @@ void nes_jy830623c_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
Games: Gaau Hok Gwong Cheung
|
||||
|
||||
In MESS: Preliminary Supported
|
||||
In MAME: Preliminary Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_43272_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("unl_43272 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("unl_43272 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if ((m_latch & 0x81) == 0x81)
|
||||
prg32(BIT(m_latch, 3, 3));
|
||||
@ -667,7 +666,7 @@ void nes_43272_device::write_h(offs_t offset, uint8_t data)
|
||||
uint8_t nes_43272_device::read_h(offs_t offset)
|
||||
{
|
||||
uint8_t mask = (m_latch & 0x400) ? 0xfe : 0xff;
|
||||
LOG_MMC(("unl_43272 read_h, offset: %04x\n", offset));
|
||||
LOG("unl_43272 read_h, offset: %04x\n", offset);
|
||||
|
||||
return hi_access_rom(offset & mask);
|
||||
}
|
||||
@ -687,7 +686,7 @@ uint8_t nes_43272_device::read_h(offs_t offset)
|
||||
|
||||
void nes_eh8813a_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("unl_eh8813a write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("unl_eh8813a write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!BIT(m_latch, 8))
|
||||
{
|
||||
@ -707,7 +706,7 @@ void nes_eh8813a_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_eh8813a_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("unl_eh8813a read_h, offset: %04x\n", offset));
|
||||
LOG("unl_eh8813a read_h, offset: %04x\n", offset);
|
||||
|
||||
if (BIT(m_latch, 6))
|
||||
offset = (offset & ~0x0f) | m_jumper; // TODO: jumper setting that controls which menu appears is 0 for now
|
||||
@ -742,7 +741,7 @@ void nes_fujiya_device::pcb_reset()
|
||||
|
||||
void nes_fujiya_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("fujiya write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("fujiya write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x6000;
|
||||
|
||||
if (offset == 0x6502 || offset == 0x7000)
|
||||
@ -751,7 +750,7 @@ void nes_fujiya_device::write_m(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_fujiya_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("fujiya read_m, offset: %04x\n", offset));
|
||||
LOG("fujiya read_m, offset: %04x\n", offset);
|
||||
offset += 0x6000;
|
||||
|
||||
if (offset == 0x7001 || offset == 0x7777)
|
||||
|
@ -17,12 +17,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -58,7 +57,7 @@ nes_bandai_pt554_device::nes_bandai_pt554_device(const machine_config &mconfig,
|
||||
|
||||
void nes_bandai_pt554_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("Bandai PT-554 Sound write, data: %02x\n", data));
|
||||
LOG("Bandai PT-554 Sound write, data: %02x\n", data);
|
||||
|
||||
// the actual chip starts speech synthesis when SYNC is held low >18µs
|
||||
if (!BIT(data, 6))
|
||||
|
@ -20,12 +20,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -69,7 +68,7 @@ void nes_racermate_device::pcb_reset()
|
||||
|
||||
Board UNL-RACERMATE
|
||||
|
||||
In MESS: *VERY* preliminary support. Also, it seems that this
|
||||
In MAME: *VERY* preliminary support. Also, it seems that this
|
||||
board saves to battery the CHRRAM!!!
|
||||
|
||||
-------------------------------------------------*/
|
||||
@ -82,7 +81,7 @@ void nes_racermate_device::update_banks()
|
||||
|
||||
void nes_racermate_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("racermate write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("racermate write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset == 0x3000)
|
||||
{
|
||||
|
@ -21,14 +21,12 @@
|
||||
#include "rcm.h"
|
||||
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -97,7 +95,7 @@ nes_3dblock_device::nes_3dblock_device(const machine_config &mconfig, const char
|
||||
|
||||
void nes_gs2015_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("gs2015 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("gs2015 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(offset);
|
||||
chr8(offset >> 1, m_chr_source);
|
||||
@ -105,7 +103,7 @@ void nes_gs2015_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_gs2015_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("gs2015 read_m, offset: %04x\n", offset));
|
||||
LOG("gs2015 read_m, offset: %04x\n", offset);
|
||||
return 0; // Videopoker Bonza needs this (sort of protection? or related to inputs?)
|
||||
}
|
||||
|
||||
@ -123,13 +121,13 @@ uint8_t nes_gs2015_device::read_m(offs_t offset)
|
||||
|
||||
u8 nes_gs2004_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("gs2004 read_m, offset: %04x\n", offset));
|
||||
LOG("gs2004 read_m, offset: %04x\n", offset);
|
||||
return m_prg[m_base + offset]; // fixed base differs per device
|
||||
}
|
||||
|
||||
void nes_gs2004_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("gs2004 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("gs2004 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
prg32(data);
|
||||
}
|
||||
|
||||
@ -147,7 +145,7 @@ void nes_gs2004_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_tf9_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("tetrisfam write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("tetrisfam write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 bank = (offset & 0x0f) << 1 | BIT(offset, 5);
|
||||
u8 mode = !BIT(offset, 4);
|
||||
|
@ -22,12 +22,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -109,7 +108,7 @@ void nes_rex_sl1632_device::pcb_reset()
|
||||
|
||||
void nes_rex_dbz5_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("rex_dbz write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("rex_dbz write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
m_extra = data;
|
||||
set_chr(m_chr_source, m_chr_base, m_chr_mask);
|
||||
@ -118,7 +117,7 @@ void nes_rex_dbz5_device::write_l(offs_t offset, uint8_t data)
|
||||
/* we would need to use this read handler in 0x6000-0x7fff as well */
|
||||
uint8_t nes_rex_dbz5_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("rex_dbz read_l, offset: %04x\n", offset));
|
||||
LOG("rex_dbz read_l, offset: %04x\n", offset);
|
||||
return 0x01;
|
||||
}
|
||||
|
||||
@ -170,7 +169,7 @@ void nes_rex_sl1632_device::chr_cb(int start, int bank, int source)
|
||||
|
||||
void nes_rex_sl1632_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("rex_sl1632 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("rex_sl1632 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset == 0x2131) // Mode control register at $A131
|
||||
{
|
||||
|
@ -28,14 +28,14 @@
|
||||
#include "emu.h"
|
||||
#include "sachen.h"
|
||||
|
||||
#define LOG_HIFREQ (1U << 1)
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -246,13 +246,13 @@ void nes_sachen_8259d_device::pcb_reset()
|
||||
|
||||
iNES: mapper 160
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_sachen_sa009_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("SA009 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("SA009 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
chr8(data, m_chr_source);
|
||||
}
|
||||
@ -271,7 +271,7 @@ void nes_sachen_sa009_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_sachen_sa0036_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("sa0036 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("sa0036 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -294,7 +294,7 @@ void nes_sachen_sa0036_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_sachen_sa0037_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("sa0037 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("sa0037 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -311,13 +311,13 @@ void nes_sachen_sa0037_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
iNES: mapper 145
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_sachen_sa72007_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("SA72007 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("SA72007 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
/* only if we are at 0x4100 + k * 0x200, but 0x4100 is offset = 0 */
|
||||
if (!(offset & 0x100))
|
||||
@ -332,13 +332,13 @@ void nes_sachen_sa72007_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 133
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_sachen_sa72008_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("SA72008 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("SA72008 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(data >> 2);
|
||||
chr8(data, CHRROM);
|
||||
@ -358,7 +358,7 @@ void nes_sachen_sa72008_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_sachen_tca01_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("TCA-01 read_l, offset: %04x\n", offset));
|
||||
LOG("TCA-01 read_l, offset: %04x\n", offset);
|
||||
|
||||
/* the address is read only if we are at 0x4100 + k * 0x200, but 0x4100 is offset = 0 */
|
||||
if (!(offset & 0x100))
|
||||
@ -375,13 +375,13 @@ uint8_t nes_sachen_tca01_device::read_l(offs_t offset)
|
||||
|
||||
iNES: mapper 147
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_sachen_tcu01_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("TCU-01 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("TCU-01 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if ((offset & 0x103) == 0x002)
|
||||
{
|
||||
@ -398,13 +398,13 @@ void nes_sachen_tcu01_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 136
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_sachen_tcu02_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("TCU-02 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("TCU-02 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if ((offset & 0x103) == 0x002)
|
||||
{
|
||||
@ -415,7 +415,7 @@ void nes_sachen_tcu02_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_sachen_tcu02_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("TCU-02 read_l, offset: %04x\n", offset));
|
||||
LOG("TCU-02 read_l, offset: %04x\n", offset);
|
||||
|
||||
if ((offset & 0x103) == 0x000)
|
||||
return m_latch | 0x40;
|
||||
@ -463,7 +463,7 @@ u8 nes_sachen_3013_device::read_h(offs_t offset)
|
||||
|
||||
void nes_sachen_3014_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("Sachen 3014 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Sachen 3014 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -474,7 +474,7 @@ void nes_sachen_3014_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_sachen_3014_device::read_h(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("Sachen 3014 read_h, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "Sachen 3014 read_h, offset: %04x\n", offset);
|
||||
u8 temp = hi_access_rom(offset);
|
||||
|
||||
if ((offset & 0x7000) == 0x6000)
|
||||
@ -511,14 +511,14 @@ void nes_sachen_74x374_device::set_mirror(uint8_t nt) // also used by mappers 13
|
||||
set_nt_mirroring(PPU_MIRROR_LOW);
|
||||
break;
|
||||
default:
|
||||
LOG_MMC(("Mapper set NT to invalid value %02x", nt));
|
||||
LOG("Mapper set NT to invalid value %02x", nt);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void nes_sachen_74x374_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("Sachen 74*374 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Sachen 74*374 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
/* write happens only if we are at 0x4100 + k * 0x200, but 0x4100 is offset = 0 */
|
||||
if (!(offset & 0x100))
|
||||
@ -557,7 +557,7 @@ void nes_sachen_74x374_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_sachen_74x374_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("Sachen 74*374 read_l, offset: %04x", offset));
|
||||
LOG("Sachen 74*374 read_l, offset: %04x", offset);
|
||||
|
||||
/* read happens only if we are at 0x4100 + k * 0x200, but 0x4100 is offset = 0 */
|
||||
if (!(offset & 0x100))
|
||||
@ -568,7 +568,7 @@ uint8_t nes_sachen_74x374_device::read_l(offs_t offset)
|
||||
|
||||
void nes_sachen_74x374_alt_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("Sachen 74*374 Alt write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Sachen 74*374 Alt write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
/* write happens only if we are at 0x4100 + k * 0x200, but 0x4100 is offset = 0 */
|
||||
if (!(offset & 0x100))
|
||||
@ -632,7 +632,7 @@ void nes_sachen_8259a_device::chr_update()
|
||||
|
||||
void nes_sachen_8259a_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("Sachen 8259 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Sachen 8259 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
/* write happens only if we are at 0x4100 + k * 0x200, but 0x4100 is offset = 0 */
|
||||
if (!(offset & 0x100))
|
||||
|
@ -21,12 +21,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -129,7 +128,7 @@ void nes_8bitxmas_device::pcb_reset()
|
||||
|
||||
void nes_cufrom_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("cufrom write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("cufrom write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg16_89ab(BIT(data, 2, 3));
|
||||
chr8(data & 0x03, CHRRAM);
|
||||
@ -154,7 +153,7 @@ void nes_cufrom_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_dpcmcart_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("dpcmcart write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("dpcmcart write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
prg16_89ab(offset & 0x0fff);
|
||||
}
|
||||
|
||||
@ -177,7 +176,7 @@ void nes_dpcmcart_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_unrom512_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("unrom512 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("unrom512 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict in its nonflashable configuration
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -230,7 +229,7 @@ void nes_8bitxmas_device::update_led()
|
||||
|
||||
void nes_8bitxmas_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("8bitxmas write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("8bitxmas write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (BIT(offset, 14))
|
||||
nes_unrom512_device::write_h(offset, data);
|
||||
|
@ -17,12 +17,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
#define SOMARI_VRC2_MODE 0
|
||||
#define SOMARI_MMC3_MODE 1
|
||||
@ -260,7 +259,7 @@ void nes_somari_device::update_mirror()
|
||||
|
||||
void nes_somari_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("somari write_h, mode %d, offset: %04x, data: %02x\n", m_board_mode, offset, data));
|
||||
LOG("somari write_h, mode %d, offset: %04x, data: %02x\n", m_board_mode, offset, data);
|
||||
|
||||
switch (m_board_mode)
|
||||
{
|
||||
@ -279,7 +278,7 @@ void nes_somari_device::update_all_banks()
|
||||
|
||||
void nes_somari_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("somari write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("somari write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset & 0x100)
|
||||
{
|
||||
|
@ -17,12 +17,11 @@
|
||||
#include "subor.h"
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(...) do { if (VERBOSE) logerror(__VA_ARGS__); } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
@ -232,7 +231,7 @@ void nes_subor2_device::update_banks()
|
||||
|
||||
uint8_t nes_subor2_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC("subor2 read_l, offset: %04x\n", offset);
|
||||
LOG("subor2 read_l, offset: %04x\n", offset);
|
||||
|
||||
if (offset == 0x1200)
|
||||
{
|
||||
@ -248,7 +247,7 @@ uint8_t nes_subor2_device::read_l(offs_t offset)
|
||||
void nes_subor0_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t subor_helper1, subor_helper2;
|
||||
LOG_MMC("subor0 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
LOG("subor0 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
m_reg[BIT(offset, 13, 2)] = data;
|
||||
subor_helper1 = ((m_reg[0] ^ m_reg[1]) << 1) & 0x20;
|
||||
@ -278,7 +277,7 @@ void nes_subor0_device::write_h(offs_t offset, uint8_t data)
|
||||
void nes_subor1_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t subor_helper1, subor_helper2;
|
||||
LOG_MMC("subor1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
LOG("subor1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
m_reg[BIT(offset, 13, 2)] = data;
|
||||
subor_helper1 = ((m_reg[0] ^ m_reg[1]) << 1) & 0x20;
|
||||
@ -307,7 +306,7 @@ void nes_subor1_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_subor2_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC("subor2 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
LOG("subor2 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
|
@ -27,14 +27,14 @@
|
||||
#include "sound/ay8910.h"
|
||||
#include "speaker.h"
|
||||
|
||||
#define LOG_UNHANDLED (1U << 1)
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_UNHANDLED | LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (LOG_UNHANDLED)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -191,7 +191,7 @@ void nes_sunsoft_fme7_device::pcb_reset()
|
||||
|
||||
void nes_sunsoft_1_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("Sunsoft 1 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Sunsoft 1 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (m_vrom_chunks)
|
||||
{
|
||||
@ -218,7 +218,7 @@ void nes_sunsoft_1_device::write_m(offs_t offset, uint8_t data)
|
||||
void nes_sunsoft_2_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t helper = (data & 0x07) | ((data & 0x80) ? 0x08 : 0x00);
|
||||
LOG_MMC(("Sunsoft 2 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Sunsoft 2 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// this pcb is subject to bus conflict
|
||||
data = account_bus_conflict(offset, data);
|
||||
@ -253,7 +253,7 @@ TIMER_CALLBACK_MEMBER(nes_sunsoft_3_device::irq_timer_tick)
|
||||
|
||||
void nes_sunsoft_3_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("Sunsoft 3 write_h, offset %04x, data: %02x\n", offset, data));
|
||||
LOG("Sunsoft 3 write_h, offset %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7800)
|
||||
{
|
||||
@ -328,7 +328,7 @@ void nes_sunsoft_4_device::sun4_mirror()
|
||||
|
||||
void nes_sunsoft_4_device::sun4_write(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("Sunsoft 4 write_h, offset %04x, data: %02x\n", offset, data));
|
||||
LOG("Sunsoft 4 write_h, offset %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7000)
|
||||
{
|
||||
@ -353,7 +353,7 @@ void nes_sunsoft_4_device::sun4_write(offs_t offset, u8 data)
|
||||
|
||||
void nes_sunsoft_4_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("Sunsoft 4 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Sunsoft 4 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (m_wram_enable)
|
||||
device_nes_cart_interface::write_m(offset, data);
|
||||
@ -361,7 +361,7 @@ void nes_sunsoft_4_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_sunsoft_4_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("Sunsoft 4 read_m, offset: %04x\n", offset));
|
||||
LOG("Sunsoft 4 read_m, offset: %04x\n", offset);
|
||||
|
||||
if (m_wram_enable)
|
||||
return device_nes_cart_interface::read_m(offset);
|
||||
@ -393,7 +393,7 @@ TIMER_CALLBACK_MEMBER(nes_sunsoft_fme7_device::irq_timer_tick)
|
||||
|
||||
void nes_sunsoft_fme7_device::fme7_write(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("fme7_write, offset %04x, data: %02x\n", offset, data));
|
||||
LOG("fme7_write, offset %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6000)
|
||||
{
|
||||
@ -443,7 +443,7 @@ void nes_sunsoft_fme7_device::fme7_write(offs_t offset, uint8_t data)
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("Sunsoft FME7 write_h uncaught %04x value: %02x\n", offset + 0x8000, data);
|
||||
LOGMASKED(LOG_UNHANDLED, "Sunsoft FME7 write_h uncaught %04x value: %02x\n", offset + 0x8000, data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -451,7 +451,7 @@ void nes_sunsoft_fme7_device::fme7_write(offs_t offset, uint8_t data)
|
||||
void nes_sunsoft_fme7_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t bank = m_wram_bank & 0x3f;
|
||||
LOG_MMC(("Sunsoft FME7 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Sunsoft FME7 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!(m_wram_bank & 0x40)) // is PRG ROM, no write
|
||||
return;
|
||||
@ -467,7 +467,7 @@ void nes_sunsoft_fme7_device::write_m(offs_t offset, uint8_t data)
|
||||
uint8_t nes_sunsoft_fme7_device::read_m(offs_t offset)
|
||||
{
|
||||
uint8_t bank = m_wram_bank & 0x3f;
|
||||
LOG_MMC(("Sunsoft FME7 read_m, offset: %04x\n", offset));
|
||||
LOG("Sunsoft FME7 read_m, offset: %04x\n", offset);
|
||||
|
||||
if (!(m_wram_bank & 0x40)) // is PRG ROM
|
||||
return m_prg[((bank * 0x2000) + offset) & (m_prg_size - 1)];
|
||||
@ -495,7 +495,7 @@ uint8_t nes_sunsoft_fme7_device::read_m(offs_t offset)
|
||||
|
||||
void nes_sunsoft_5_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("sunsoft 5 write_h, offset %04x, data: %02x\n", offset, data));
|
||||
LOG("sunsoft 5 write_h, offset %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6000)
|
||||
{
|
||||
|
@ -16,12 +16,11 @@
|
||||
#include "sunsoft_dcs.h"
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-----------------------------------------------
|
||||
@ -202,7 +201,7 @@ void nes_sunsoft_dcs_device::pcb_reset()
|
||||
|
||||
void nes_sunsoft_dcs_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("Sunsoft DCS write_h, offset %04x, data: %02x\n", offset, data));
|
||||
LOG("Sunsoft DCS write_h, offset %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7000)
|
||||
{
|
||||
@ -219,7 +218,7 @@ void nes_sunsoft_dcs_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_sunsoft_dcs_device::read_h(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("Sunsoft DCS read_h, offset: %04x\n", offset));
|
||||
LOG("Sunsoft DCS read_h, offset: %04x\n", offset);
|
||||
|
||||
if (m_exrom_enable && m_subslot->m_cart && offset < 0x4000)
|
||||
{
|
||||
@ -234,7 +233,7 @@ uint8_t nes_sunsoft_dcs_device::read_h(offs_t offset)
|
||||
|
||||
void nes_sunsoft_dcs_device::write_m(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("Sunsoft DCS write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("Sunsoft DCS write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (!m_battery.empty() && m_wram_enable)
|
||||
m_battery[offset & (m_battery.size() - 1)] = data;
|
||||
@ -250,7 +249,7 @@ void nes_sunsoft_dcs_device::write_m(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_sunsoft_dcs_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("Sunsoft DCS read_m, offset: %04x\n", offset));
|
||||
LOG("Sunsoft DCS read_m, offset: %04x\n", offset);
|
||||
|
||||
if (!m_battery.empty() && m_wram_enable)
|
||||
return m_battery[offset & (m_battery.size() - 1)];
|
||||
|
@ -20,20 +20,19 @@
|
||||
|
||||
***********************************************************************************************************/
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "taito.h"
|
||||
|
||||
#include "video/ppu2c0x.h" // this has to be included so that IRQ functions can access ppu2c0x_device::BOTTOM_VISIBLE_SCANLINE
|
||||
|
||||
#define LOG_UNHANDLED (1U << 1)
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_UNHANDLED | LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (LOG_UNHANDLED)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -174,7 +173,7 @@ void nes_x1_017_device::pcb_reset()
|
||||
|
||||
void nes_tc0190fmc_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("tc0190fmc write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("tc0190fmc write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6003)
|
||||
{
|
||||
@ -234,7 +233,7 @@ void nes_tc0190fmc_pal16r4_device::hblank_irq(int scanline, bool vblank, bool bl
|
||||
|
||||
void nes_tc0190fmc_pal16r4_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("tc0190fmc pal16r4 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("tc0190fmc pal16r4 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6003)
|
||||
{
|
||||
@ -282,7 +281,7 @@ void nes_tc0190fmc_pal16r4_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_x1_005_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("x1_005 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("x1_005 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if ((offset & 0x1f70) == 0x1e70) // A7 is not connected
|
||||
{
|
||||
@ -328,12 +327,12 @@ void nes_x1_005_device::write_m(offs_t offset, u8 data)
|
||||
else if (offset >= 0x1f00 && m_latch == 0xa3)
|
||||
m_x1_005_ram[offset & 0x7f] = data;
|
||||
else
|
||||
logerror("Taito X1-005 uncaught addr: %04x, value: %02x\n", offset + 0x6000, data);
|
||||
LOGMASKED(LOG_UNHANDLED, "Taito X1-005 uncaught addr: %04x, value: %02x\n", offset + 0x6000, data);
|
||||
}
|
||||
|
||||
u8 nes_x1_005_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("x1_005 read_m, offset: %04x\n", offset));
|
||||
LOG("x1_005 read_m, offset: %04x\n", offset);
|
||||
|
||||
if (offset >= 0x1f00 && m_latch == 0xa3)
|
||||
return m_x1_005_ram[offset & 0x7f];
|
||||
@ -379,7 +378,7 @@ void nes_x1_017_device::set_chr()
|
||||
|
||||
void nes_x1_017_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("x1017 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("x1017 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
@ -437,7 +436,7 @@ void nes_x1_017_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_x1_017_device::read_m(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("x1017 read_m, offset: %04x\n", offset));
|
||||
LOG("x1017 read_m, offset: %04x\n", offset);
|
||||
|
||||
// 2+2+1 KB of Internal RAM can be independently enabled/disabled!
|
||||
if ((offset < 0x0800 && m_reg[0] == 0xca) ||
|
||||
|
@ -23,12 +23,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -205,7 +204,7 @@ void nes_tengen032_device::set_chr()
|
||||
void nes_tengen032_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
u8 helper, cmd;
|
||||
LOG_MMC(("tengen032 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("tengen032 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -273,7 +272,7 @@ void nes_tengen032_device::write_h(offs_t offset, u8 data)
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_MMC(("Tengen 800032 write. addr: %04x value: %02x\n", offset + 0x8000, data));
|
||||
LOG("Tengen 800032 write. addr: %04x value: %02x\n", offset + 0x8000, data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -309,7 +308,7 @@ void nes_tengen037_device::set_chr()
|
||||
|
||||
void nes_tengen037_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("tengen037 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("tengen037 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
|
@ -25,12 +25,11 @@
|
||||
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -122,13 +121,13 @@ void nes_txc_strikew_device::pcb_reset()
|
||||
|
||||
iNES: mapper 132
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_txc_22211_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("TXC 22111 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("TXC 22111 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (offset < 4)
|
||||
m_reg[offset & 0x03] = data;
|
||||
@ -136,7 +135,7 @@ void nes_txc_22211_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_txc_22211_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("TXC 22111 read_l, offset: %04x\n", offset));
|
||||
LOG("TXC 22111 read_l, offset: %04x\n", offset);
|
||||
|
||||
if (offset == 0x0000)
|
||||
return (m_reg[1] ^ m_reg[2]) | 0x40;
|
||||
@ -146,7 +145,7 @@ uint8_t nes_txc_22211_device::read_l(offs_t offset)
|
||||
|
||||
void nes_txc_22211_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("TXC 22111 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("TXC 22111 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(m_reg[2] >> 2);
|
||||
chr8(m_reg[2], CHRROM);
|
||||
@ -163,13 +162,13 @@ void nes_txc_22211_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 172
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_txc_dumarc_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("TXC Du Ma Racing write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("TXC Du Ma Racing write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(m_reg[2] >> 2);
|
||||
chr8(bitswap<2>(data ^ m_reg[2], 4, 5), CHRROM);
|
||||
@ -186,13 +185,13 @@ void nes_txc_dumarc_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 172
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
uint8_t nes_txc_mjblock_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("TXC mjblock read_l, offset: %04x\n", offset));
|
||||
LOG("TXC mjblock read_l, offset: %04x\n", offset);
|
||||
|
||||
if (offset == 0x0000)
|
||||
return (m_reg[1] ^ m_reg[2]) | 0x41;
|
||||
@ -215,7 +214,7 @@ uint8_t nes_txc_mjblock_device::read_l(offs_t offset)
|
||||
|
||||
u8 nes_txc_strikew_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("TXC 01-22000-400 read_l, offset: %04x\n", offset));
|
||||
LOG("TXC 01-22000-400 read_l, offset: %04x\n", offset);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset & 0x100)
|
||||
@ -226,7 +225,7 @@ u8 nes_txc_strikew_device::read_l(offs_t offset)
|
||||
|
||||
void nes_txc_strikew_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("TXC 01-22000-400 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("TXC 01-22000-400 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
switch (offset & 0x103)
|
||||
@ -252,7 +251,7 @@ void nes_txc_strikew_device::write_l(offs_t offset, u8 data)
|
||||
|
||||
void nes_txc_strikew_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("TXC 01-22000-400 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("TXC 01-22000-400 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(m_reg[0]);
|
||||
}
|
||||
@ -269,7 +268,7 @@ void nes_txc_strikew_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
iNES: mapper 241
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -280,7 +279,7 @@ uint8_t nes_txc_commandos_device::read_l(offs_t offset)
|
||||
|
||||
void nes_txc_commandos_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("TXC Commandos write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("TXC Commandos write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(data);
|
||||
}
|
||||
|
@ -14,14 +14,14 @@
|
||||
#include "emu.h"
|
||||
#include "vrc_clones.h"
|
||||
|
||||
#define LOG_HIFREQ (1U << 1)
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -333,7 +333,7 @@ TIMER_CALLBACK_MEMBER(nes_900218_device::irq_timer_tick)
|
||||
|
||||
void nes_900218_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("900218 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("900218 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if ((offset & 0x7000) == 0x7000)
|
||||
{
|
||||
@ -370,7 +370,7 @@ void nes_900218_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_ax40g_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ax40g write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ax40g write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
nes_konami_vrc2_device::write_h(offset, data);
|
||||
|
||||
@ -397,7 +397,7 @@ void nes_ax40g_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_ax5705_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("ax5705 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("ax5705 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset = (offset & ~0x1000) | BIT(offset, 3) << 12;
|
||||
switch (offset & 0x7001)
|
||||
@ -430,7 +430,7 @@ void nes_ax5705_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_cityfight_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("unl_cityfight write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("unl_cityfight write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset = (offset & ~0x6000) | bitswap<2>(offset, 13, 14) << 13;
|
||||
switch (offset & 0x7800)
|
||||
@ -444,7 +444,7 @@ void nes_cityfight_device::write_h(offs_t offset, u8 data)
|
||||
nes_konami_vrc4_device::write_h(offset, data);
|
||||
break;
|
||||
case 0x1800:
|
||||
LOG_MMC(("Extended Audio write, data %x!", data & 0x0f)); // pcmwrite(0x4011, (V & 0xf) << 3); (etabeta's original comment, FCEUX code)
|
||||
LOG("Extended Audio write, data %x!", data & 0x0f); // pcmwrite(0x4011, (V & 0xf) << 3); (etabeta's original comment, FCEUX code)
|
||||
break;
|
||||
default:
|
||||
nes_konami_vrc4_device::write_h(offset, data);
|
||||
@ -468,20 +468,20 @@ void nes_cityfight_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_shuiguan_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("shuiguan read_m, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "shuiguan read_m, offset: %04x\n", offset);
|
||||
return m_prg[(m_reg * 0x2000 + offset) & (m_prg_size - 1)];
|
||||
}
|
||||
|
||||
void nes_shuiguan_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("shuiguan write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("shuiguan write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
if ((offset & 0x1800) == 0x800)
|
||||
m_reg = offset & 0x1f;
|
||||
}
|
||||
|
||||
void nes_shuiguan_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("shuiguan write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("shuiguan write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7800)
|
||||
{
|
||||
@ -525,7 +525,7 @@ void nes_shuiguan_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_t230_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("t230 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("t230 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x7000)
|
||||
{
|
||||
@ -591,7 +591,7 @@ TIMER_CALLBACK_MEMBER(nes_th21311_device::irq_timer_tick)
|
||||
|
||||
void nes_th21311_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("th21311 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("th21311 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if ((offset & 0x7000) == 0x7000)
|
||||
{
|
||||
@ -636,7 +636,7 @@ void nes_th21311_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
void nes_waixing_sgz_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("waixing_sgz write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("waixing_sgz write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
nes_konami_vrc4_device::write_h(offset, data);
|
||||
|
||||
@ -689,7 +689,7 @@ void nes_waixing_sgz_device::chr_w(offs_t offset, u8 data)
|
||||
|
||||
void nes_2yudb_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("2yudb write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("2yudb write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
nes_konami_vrc4_device::write_h(offset, data);
|
||||
|
||||
@ -722,7 +722,7 @@ void nes_bmc_830506c_device::irq_ack_w()
|
||||
|
||||
void nes_bmc_830506c_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_830506c write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_830506c write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
nes_konami_vrc4_device::write_h(offset, data);
|
||||
|
||||
@ -752,17 +752,18 @@ void nes_bmc_830506c_device::write_h(offs_t offset, u8 data)
|
||||
|
||||
u8 nes_bmc_831128c_device::read_m(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("bmc_831128c read_m, offset: %04x, data: %02x\n", offset, data));
|
||||
|
||||
u8 data = 0;
|
||||
if (m_reg == 1)
|
||||
return device_nes_cart_interface::read_m(offset);
|
||||
data = device_nes_cart_interface::read_m(offset);
|
||||
else
|
||||
return m_prg[(m_reg * 0x2000 + offset) & (m_prg_size - 1)];
|
||||
data = m_prg[(m_reg * 0x2000 + offset) & (m_prg_size - 1)];
|
||||
LOGMASKED(LOG_HIFREQ, "bmc_831128c read_m, offset: %04x, data: %02x\n", offset, data);
|
||||
return data;
|
||||
}
|
||||
|
||||
void nes_bmc_831128c_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
// LOG_MMC(("bmc_831128c write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOGMASKED(LOG_HIFREQ, "bmc_831128c write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
if (m_reg == 1)
|
||||
device_nes_cart_interface::write_m(offset, data);
|
||||
@ -770,7 +771,7 @@ void nes_bmc_831128c_device::write_m(offs_t offset, u8 data)
|
||||
|
||||
void nes_bmc_831128c_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_831128c write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_831128c write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
u8 page = offset >> 12;
|
||||
if (page != 2 && page != 4) // ignore writes except $Axxx and $Cxxx
|
||||
@ -846,7 +847,7 @@ void nes_bmc_kl06_device::set_prg()
|
||||
|
||||
void nes_bmc_kl06_device::write_m(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC(("bmc_kl06 write_m, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("bmc_kl06 write_m, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
// 2K RAM for Crisis Force overlays control register
|
||||
nes_konami_vrc4_device::write_m(offset, data);
|
||||
|
@ -17,14 +17,14 @@
|
||||
#include "emu.h"
|
||||
#include "waixing.h"
|
||||
|
||||
#define LOG_HIFREQ (1U << 1)
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -314,7 +314,7 @@ void nes_waixing_fs304_device::pcb_reset()
|
||||
|
||||
iNES: mapper 74
|
||||
|
||||
In MESS: Supported
|
||||
In MAME: Supported
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -334,7 +334,7 @@ void nes_waixing_a_device::set_mirror(uint8_t nt)
|
||||
set_nt_mirroring(PPU_MIRROR_HIGH);
|
||||
break;
|
||||
default:
|
||||
LOG_MMC(("Mapper set NT to invalid value %02x", nt));
|
||||
LOG("Mapper set NT to invalid value %02x", nt);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -355,7 +355,7 @@ void nes_waixing_a1_device::chr_cb(int start, int bank, int source)
|
||||
|
||||
void nes_waixing_a_device::waixing_write(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("waixing_write, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("waixing_write, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -374,7 +374,7 @@ void nes_waixing_a_device::waixing_write(offs_t offset, uint8_t data)
|
||||
|
||||
uint8_t nes_waixing_a_device::read_l(offs_t offset)
|
||||
{
|
||||
LOG_MMC(("waixing read_l, offset: %04x\n", offset));
|
||||
LOG("waixing read_l, offset: %04x\n", offset);
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000 && offset < 0x1400)
|
||||
return mapper_ram[offset & 0x3ff];
|
||||
@ -384,7 +384,7 @@ uint8_t nes_waixing_a_device::read_l(offs_t offset)
|
||||
|
||||
void nes_waixing_a_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("waixing write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("waixing write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000 && offset < 0x1400)
|
||||
mapper_ram[offset & 0x3ff] = data;
|
||||
@ -403,7 +403,7 @@ void nes_waixing_a_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 191
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -425,7 +425,7 @@ void nes_waixing_b_device::chr_cb(int start, int bank, int source)
|
||||
|
||||
iNES: mapper 192
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -447,7 +447,7 @@ void nes_waixing_c_device::chr_cb(int start, int bank, int source)
|
||||
|
||||
iNES: mapper 194
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -470,7 +470,7 @@ void nes_waixing_d_device::chr_cb(int start, int bank, int source)
|
||||
|
||||
iNES: mapper 195
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -502,7 +502,7 @@ void nes_waixing_e_device::chr_cb(int start, int bank, int source)
|
||||
|
||||
u8 nes_waixing_f_device::read_l(offs_t offset)
|
||||
{
|
||||
// LOG_MMC(("waixing_f read_l, offset: %04x\n", offset));
|
||||
LOGMASKED(LOG_HIFREQ, "waixing_f read_l, offset: %04x\n", offset);
|
||||
|
||||
offset += 0x100;
|
||||
if (!m_prgram.empty() && offset >= 0x1000)
|
||||
@ -513,7 +513,7 @@ u8 nes_waixing_f_device::read_l(offs_t offset)
|
||||
|
||||
void nes_waixing_f_device::write_l(offs_t offset, u8 data)
|
||||
{
|
||||
// LOG_MMC(("waixing_f write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOGMASKED(LOG_HIFREQ, "waixing_f write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (!m_prgram.empty() && offset >= 0x1000)
|
||||
@ -536,7 +536,7 @@ void nes_waixing_f1_device::set_chr(u8 chr, int chr_base, int chr_mask)
|
||||
|
||||
iNES: mapper 199
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -563,7 +563,7 @@ void nes_waixing_g_device::set_chr(uint8_t chr, int chr_base, int chr_mask)
|
||||
void nes_waixing_g_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t cmd;
|
||||
LOG_MMC(("waixing_g write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("waixing_g write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -613,7 +613,7 @@ void nes_waixing_g_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 245
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -626,7 +626,7 @@ void nes_waixing_h_device::chr_cb(int start, int bank, int source)
|
||||
void nes_waixing_h_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t cmd;
|
||||
LOG_MMC(("waixing_h write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("waixing_h write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -668,7 +668,7 @@ void nes_waixing_h_device::write_h(offs_t offset, uint8_t data)
|
||||
void nes_waixing_h1_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t cmd;
|
||||
LOG_MMC(("waixing_h1 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("waixing_h1 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -712,7 +712,7 @@ void nes_waixing_h1_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
MMC3 clone.
|
||||
|
||||
In MESS: Preliminary support.
|
||||
In MAME: Preliminary support.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -729,7 +729,7 @@ void nes_waixing_j_device::set_prg( int prg_base, int prg_mask )
|
||||
void nes_waixing_j_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t cmd;
|
||||
LOG_MMC(("waixing_f write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("waixing_f write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6001)
|
||||
{
|
||||
@ -812,7 +812,7 @@ u8 nes_waixing_sh2_device::chr_r(offs_t offset)
|
||||
|
||||
iNES: mapper 249
|
||||
|
||||
In MESS: Partially Supported.
|
||||
In MAME: Partially Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -834,7 +834,7 @@ void nes_waixing_sec_device::chr_cb(int start, int bank, int source)
|
||||
|
||||
void nes_waixing_sec_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("waixing_sec write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("waixing_sec write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100;
|
||||
|
||||
if (offset == 0x1000)
|
||||
@ -854,7 +854,7 @@ void nes_waixing_sec_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 178
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
Implementations wildly vary between emulators, but
|
||||
Cah4e3's implementation boots up both the games and
|
||||
@ -866,7 +866,7 @@ void nes_waixing_sec_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
void nes_waixing_sgzlz_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("waixing_sgzlz write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("waixing_sgzlz write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
if (offset >= 0x700 && offset <= 0xEFF)
|
||||
{
|
||||
m_reg[offset & 0x03] = data;
|
||||
@ -925,14 +925,14 @@ void nes_waixing_sgzlz_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 164
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_waixing_ffv_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
uint8_t helper;
|
||||
LOG_MMC(("waixing_ffv write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("waixing_ffv write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
offset += 0x100; /* the checks work better on addresses */
|
||||
|
||||
if ((offset & 0x1200) == 0x1000)
|
||||
@ -974,13 +974,13 @@ void nes_waixing_ffv_device::write_l(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 242
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_waixing_wxzs_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("waixing_zs write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("waixing_zs write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(offset >> 3);
|
||||
|
||||
@ -1004,13 +1004,13 @@ void nes_waixing_wxzs_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 242
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_waixing_dq8_device::write_h(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("waixing_dq8 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("waixing_dq8 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
prg32(offset >> 3);
|
||||
}
|
||||
@ -1037,7 +1037,7 @@ void nes_waixing_wxzs2_device::write_h(offs_t offset, uint8_t data)
|
||||
uint8_t flip = BIT(data, 7);
|
||||
uint8_t helper = data << 1;
|
||||
|
||||
LOG_MMC(("waixing_wxzs2 write_h, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("waixing_wxzs2 write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
set_nt_mirroring(BIT(data, 6) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
|
||||
|
||||
@ -1081,13 +1081,13 @@ void nes_waixing_wxzs2_device::write_h(offs_t offset, uint8_t data)
|
||||
|
||||
iNES: mapper 162? (only found in UNIF format)
|
||||
|
||||
In MESS: Supported.
|
||||
In MAME: Supported.
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
void nes_waixing_fs304_device::write_l(offs_t offset, uint8_t data)
|
||||
{
|
||||
LOG_MMC(("fs304 write_l, offset: %04x, data: %02x\n", offset, data));
|
||||
LOG("fs304 write_l, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
offset += 0x100;
|
||||
if (offset >= 0x1000)
|
||||
|
@ -10,12 +10,11 @@
|
||||
#include "zemina.h"
|
||||
|
||||
#ifdef NES_PCB_DEBUG
|
||||
#define VERBOSE 1
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#else
|
||||
#define VERBOSE 0
|
||||
#define VERBOSE (0)
|
||||
#endif
|
||||
|
||||
#define LOG_MMC(...) do { if (VERBOSE) logerror(__VA_ARGS__); } while (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
@ -68,7 +67,7 @@ void nes_zemina_device::pcb_reset()
|
||||
|
||||
void nes_zemina_device::write_h(offs_t offset, u8 data)
|
||||
{
|
||||
LOG_MMC("zemina write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
LOG("zemina write_h, offset: %04x, data: %02x\n", offset, data);
|
||||
|
||||
switch (offset & 0x6000)
|
||||
{
|
||||
|
@ -4,9 +4,8 @@
|
||||
#include "bus/nscsi/hd.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_COMMAND (1U << 1)
|
||||
#define LOG_DATA (1U << 2)
|
||||
#define LOG_COMMAND (1U << 1)
|
||||
#define LOG_DATA (1U << 2)
|
||||
#define LOG_UNSUPPORTED (1U << 3)
|
||||
|
||||
#define VERBOSE 0
|
||||
|
@ -3,7 +3,6 @@
|
||||
#include "emu.h"
|
||||
#include "bus/nscsi/s1410.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_COMMAND (1U << 1)
|
||||
#define LOG_DATA (1U << 2)
|
||||
|
||||
|
@ -37,9 +37,8 @@
|
||||
#include "utf8.h"
|
||||
|
||||
|
||||
//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already
|
||||
#define LOG_KEYBOARD (1U << 1)
|
||||
#define LOG_DEBUG (1U << 2)
|
||||
#define LOG_KEYBOARD (1U << 1)
|
||||
#define LOG_DEBUG (1U << 2)
|
||||
|
||||
//#define VERBOSE (LOG_DEBUG)
|
||||
//#define LOG_OUTPUT_FUNC printf
|
||||
|
@ -37,7 +37,6 @@
|
||||
#include "emu.h"
|
||||
#include "hle_mouse.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_RXTX (1U << 1)
|
||||
#define LOG_COMMAND (1U << 2)
|
||||
#define LOG_REPORT (1U << 3)
|
||||
|
@ -10,9 +10,8 @@
|
||||
#include "iskr1030.h"
|
||||
|
||||
|
||||
//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already
|
||||
#define LOG_KEYBOARD (1U << 1)
|
||||
#define LOG_DEBUG (1U << 2)
|
||||
#define LOG_KEYBOARD (1U << 1)
|
||||
#define LOG_DEBUG (1U << 2)
|
||||
|
||||
//#define VERBOSE (LOG_DEBUG)
|
||||
//#define LOG_OUTPUT_FUNC printf
|
||||
|
@ -18,7 +18,6 @@
|
||||
#include "emu.h"
|
||||
#include "pcat101.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_RXTX (1U << 1)
|
||||
|
||||
//#define VERBOSE (LOG_GENERAL|LOG_RXTX)
|
||||
|
@ -12,8 +12,7 @@
|
||||
#include "pc11.h"
|
||||
|
||||
|
||||
//#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_DBG (1U << 2)
|
||||
#define LOG_DBG (1U << 1)
|
||||
|
||||
//#define VERBOSE (LOG_GENERAL | LOG_DBG)
|
||||
//#define LOG_OUTPUT_FUNC osd_printf_info
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "emu.h"
|
||||
#include "xvd701.h"
|
||||
|
||||
#define LOG_COMMAND (1 << 1)
|
||||
#define LOG_COMMAND (1U << 1)
|
||||
// #define VERBOSE (LOG_COMMAND)
|
||||
// #define LOG_OUTPUT_STREAM std::cout
|
||||
|
||||
|
@ -49,7 +49,6 @@
|
||||
#include "sound/spkrdev.h"
|
||||
#include "speaker.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_PORTS (1U << 1)
|
||||
|
||||
//#define VERBOSE (LOG_GENERAL)
|
||||
|
@ -10,8 +10,6 @@
|
||||
#include "emu.h"
|
||||
#include "kbd_con.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
|
||||
//#define VERBOSE (LOG_GENERAL)
|
||||
#include "logmacro.h"
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
#include "emu.h"
|
||||
#include "hlemouse.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_BIT (1U << 1)
|
||||
|
||||
//#define VERBOSE (LOG_GENERAL | LOG_BIT)
|
||||
|
@ -4,9 +4,8 @@
|
||||
#include "emu.h"
|
||||
#include "ti8x.h"
|
||||
|
||||
#define LOG_GENERAL (1U << 0)
|
||||
#define LOG_BITPROTO (1U << 1)
|
||||
#define LOG_BYTEPROTO (1U << 2)
|
||||
#define LOG_BITPROTO (1U << 1)
|
||||
#define LOG_BYTEPROTO (1U << 2)
|
||||
|
||||
//#define VERBOSE (LOG_GENERAL | LOG_BITPROTO | LOG_BYTEPROTO)
|
||||
#define LOG_OUTPUT_FUNC device().logerror
|
||||
|
@ -16,11 +16,11 @@
|
||||
#include "emu.h"
|
||||
#include "busmouse.h"
|
||||
|
||||
#define LOG_BUTTON (1U<<1) // Buttons
|
||||
#define LOG_MOVEX (1U<<2) // x movement
|
||||
#define LOG_MOVEY (1U<<3) // y movement
|
||||
#define LOG_BUTTON (1U << 1) // Buttons
|
||||
#define LOG_MOVEX (1U << 2) // x movement
|
||||
#define LOG_MOVEY (1U << 3) // y movement
|
||||
|
||||
#define VERBOSE ( LOG_GENERAL )
|
||||
#define VERBOSE (LOG_GENERAL)
|
||||
#include "logmacro.h"
|
||||
|
||||
DEFINE_DEVICE_TYPE(V9938_BUSMOUSE, bus::ti99::colorbus::v9938_busmouse_device, "v9938_busmouse", "V9938 Bus Mouse")
|
||||
|
@ -20,17 +20,17 @@
|
||||
#include "corestr.h"
|
||||
#include "formats/rpk.h"
|
||||
|
||||
#define LOG_WARN (1U<<1) // Warnings
|
||||
#define LOG_CONFIG (1U<<2) // Configuration
|
||||
#define LOG_CHANGE (1U<<3) // Cart change
|
||||
#define LOG_BANKSWITCH (1U<<4) // Bank switch operation
|
||||
#define LOG_CRU (1U<<5) // CRU access
|
||||
#define LOG_READ (1U<<6) // Read operation
|
||||
#define LOG_WRITE (1U<<7) // Write operation
|
||||
#define LOG_RPK (1U<<8) // RPK handler
|
||||
#define LOG_WARNW (1U<<9) // Warn when writing to cartridge space
|
||||
#define LOG_WARN (1U << 1) // Warnings
|
||||
#define LOG_CONFIG (1U << 2) // Configuration
|
||||
#define LOG_CHANGE (1U << 3) // Cart change
|
||||
#define LOG_BANKSWITCH (1U << 4) // Bank switch operation
|
||||
#define LOG_CRU (1U << 5) // CRU access
|
||||
#define LOG_READ (1U << 6) // Read operation
|
||||
#define LOG_WRITE (1U << 7) // Write operation
|
||||
#define LOG_RPK (1U << 8) // RPK handler
|
||||
#define LOG_WARNW (1U << 9) // Warn when writing to cartridge space
|
||||
|
||||
#define VERBOSE ( LOG_GENERAL | LOG_WARN | LOG_CONFIG )
|
||||
#define VERBOSE (LOG_GENERAL | LOG_WARN | LOG_CONFIG)
|
||||
#include "logmacro.h"
|
||||
|
||||
DEFINE_DEVICE_TYPE(TI99_CART, bus::ti99::gromport::ti99_cartridge_device, "ti99cart", "TI-99 cartridge")
|
||||
|
@ -97,11 +97,11 @@
|
||||
#include "emu.h"
|
||||
#include "gkracker.h"
|
||||
|
||||
#define LOG_WARN (1U<<1) // Warnings
|
||||
#define LOG_CHANGE (1U<<2) // Cartridge change
|
||||
#define LOG_GKRACKER (1U<<3) // Gram Kracker operation
|
||||
#define LOG_WARN (1U << 1) // Warnings
|
||||
#define LOG_CHANGE (1U << 2) // Cartridge change
|
||||
#define LOG_GKRACKER (1U << 3) // Gram Kracker operation
|
||||
|
||||
#define VERBOSE ( LOG_WARN )
|
||||
#define VERBOSE (LOG_WARN)
|
||||
#include "logmacro.h"
|
||||
|
||||
DEFINE_DEVICE_TYPE(TI99_GROMPORT_GK, bus::ti99::gromport::ti99_gkracker_device, "ti99_gkracker", "Miller's Graphics GRAM Kracker")
|
||||
|
@ -114,11 +114,11 @@
|
||||
#include "multiconn.h"
|
||||
#include "gkracker.h"
|
||||
|
||||
#define LOG_WARN (1U<<1) // Warnings
|
||||
#define LOG_READ (1U<<2) // Reading
|
||||
#define LOG_WRITE (1U<<3) // Writing
|
||||
#define LOG_WARN (1U << 1) // Warnings
|
||||
#define LOG_READ (1U << 2) // Reading
|
||||
#define LOG_WRITE (1U << 3) // Writing
|
||||
|
||||
#define VERBOSE ( LOG_WARN )
|
||||
#define VERBOSE (LOG_WARN)
|
||||
#include "logmacro.h"
|
||||
|
||||
DEFINE_DEVICE_TYPE(TI99_GROMPORT, bus::ti99::gromport::gromport_device, "gromport", "TI-99 Cartridge port")
|
||||
|
@ -43,9 +43,9 @@
|
||||
#include "emu.h"
|
||||
#include "multiconn.h"
|
||||
|
||||
#define LOG_WARN (1U<<1)
|
||||
#define LOG_CHANGE (1U<<2)
|
||||
#define VERBOSE ( LOG_WARN )
|
||||
#define LOG_WARN (1U << 1)
|
||||
#define LOG_CHANGE (1U << 2)
|
||||
#define VERBOSE (LOG_WARN)
|
||||
|
||||
#include "logmacro.h"
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user