mirror of
https://github.com/holub/mame
synced 2025-07-02 00:29:37 +03:00
odyssey2: disable logging
This commit is contained in:
parent
e56269c933
commit
c99d1da862
@ -1088,7 +1088,7 @@ The C7010 Chess Module had a NSC800 CMOS microprocessor, with 2K RAM and 8K ROM.
|
|||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="bees">
|
<software name="bees">
|
||||||
<description>Killer Bees! (USA)</description><!-- also "Killer Bees (Euro)[Videopac 52]"? -->
|
<description>Killer Bees! (USA)</description>
|
||||||
<year>1983</year>
|
<year>1983</year>
|
||||||
<publisher>Philips</publisher>
|
<publisher>Philips</publisher>
|
||||||
<info name="programmer" value="Robert S. Harris" />
|
<info name="programmer" value="Robert S. Harris" />
|
||||||
|
@ -664,8 +664,6 @@ OPHANDLER( da_a )
|
|||||||
m_a += 0x60;
|
m_a += 0x60;
|
||||||
m_psw |= C_FLAG;
|
m_psw |= C_FLAG;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
m_psw &= ~C_FLAG;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
OPHANDLER( dec_a ) { burn_cycles(1); m_a--; }
|
OPHANDLER( dec_a ) { burn_cycles(1); m_a--; }
|
||||||
|
@ -12,6 +12,9 @@
|
|||||||
|
|
||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
|
|
||||||
|
//#define VERBOSE (LOG_GENERAL)
|
||||||
|
#include "logmacro.h"
|
||||||
|
|
||||||
|
|
||||||
// device type definition
|
// device type definition
|
||||||
DEFINE_DEVICE_TYPE(EF9340_1, ef9340_1_device, "ef9340_1", "Thomson EF9340+EF9341")
|
DEFINE_DEVICE_TYPE(EF9340_1, ef9340_1_device, "ef9340_1", "Thomson EF9340+EF9341")
|
||||||
@ -46,10 +49,26 @@ void ef9340_1_device::device_start()
|
|||||||
m_line_timer = timer_alloc(TIMER_LINE);
|
m_line_timer = timer_alloc(TIMER_LINE);
|
||||||
m_line_timer->adjust( screen().time_until_pos(0, 0), 0, screen().scan_period() );
|
m_line_timer->adjust( screen().time_until_pos(0, 0), 0, screen().scan_period() );
|
||||||
|
|
||||||
|
// zerofill
|
||||||
|
m_ef9341.TA = 0;
|
||||||
|
m_ef9341.TB = 0;
|
||||||
|
m_ef9341.busy = 0;
|
||||||
|
|
||||||
|
m_ef9340.X = 0;
|
||||||
|
m_ef9340.Y = 0;
|
||||||
|
m_ef9340.Y0 = 0;
|
||||||
|
m_ef9340.R = 0;
|
||||||
|
m_ef9340.M = 0;
|
||||||
|
|
||||||
|
memset(m_ef934x_ram_a, 0, sizeof(m_ef934x_ram_a));
|
||||||
|
memset(m_ef934x_ram_b, 0, sizeof(m_ef934x_ram_b));
|
||||||
|
memset(m_ef934x_ram_b, 0, sizeof(m_ef934x_ext_char_ram));
|
||||||
|
|
||||||
// register our state
|
// register our state
|
||||||
save_item(NAME(m_ef9341.TA));
|
save_item(NAME(m_ef9341.TA));
|
||||||
save_item(NAME(m_ef9341.TB));
|
save_item(NAME(m_ef9341.TB));
|
||||||
save_item(NAME(m_ef9341.busy));
|
save_item(NAME(m_ef9341.busy));
|
||||||
|
|
||||||
save_item(NAME(m_ef9340.X));
|
save_item(NAME(m_ef9340.X));
|
||||||
save_item(NAME(m_ef9340.Y));
|
save_item(NAME(m_ef9340.Y));
|
||||||
save_item(NAME(m_ef9340.Y0));
|
save_item(NAME(m_ef9340.Y0));
|
||||||
@ -62,23 +81,6 @@ void ef9340_1_device::device_start()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ef9340_1_device::device_reset()
|
|
||||||
{
|
|
||||||
memset(m_ef934x_ram_a, 0, sizeof(m_ef934x_ram_a));
|
|
||||||
memset(m_ef934x_ram_b, 0, sizeof(m_ef934x_ram_b));
|
|
||||||
|
|
||||||
m_ef9340.X = 0;
|
|
||||||
m_ef9340.Y = 0;
|
|
||||||
m_ef9340.Y0 = 0;
|
|
||||||
m_ef9340.R = 0;
|
|
||||||
m_ef9340.M = 0;
|
|
||||||
m_ef9340.max_vpos = 210;
|
|
||||||
m_ef9341.TA = 0;
|
|
||||||
m_ef9341.TB = 0;
|
|
||||||
m_ef9341.busy = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ef9340_1_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
|
void ef9340_1_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
|
||||||
{
|
{
|
||||||
switch ( id )
|
switch ( id )
|
||||||
@ -135,7 +137,7 @@ uint16_t ef9340_1_device::external_chargen_address(uint8_t b, uint8_t slice)
|
|||||||
|
|
||||||
void ef9340_1_device::ef9341_write( uint8_t command, uint8_t b, uint8_t data )
|
void ef9340_1_device::ef9341_write( uint8_t command, uint8_t b, uint8_t data )
|
||||||
{
|
{
|
||||||
logerror("ef9341 %s write, t%s, data %02X\n", command ? "command" : "data", b ? "B" : "A", data );
|
LOG("ef9341 %s write, t%s, data %02X\n", command ? "command" : "data", b ? "B" : "A", data );
|
||||||
|
|
||||||
if ( command )
|
if ( command )
|
||||||
{
|
{
|
||||||
@ -163,7 +165,6 @@ void ef9340_1_device::ef9341_write( uint8_t command, uint8_t b, uint8_t data )
|
|||||||
break;
|
break;
|
||||||
case 0xA0: /* Load R */
|
case 0xA0: /* Load R */
|
||||||
m_ef9340.R = m_ef9341.TA;
|
m_ef9340.R = m_ef9341.TA;
|
||||||
m_ef9340.max_vpos = ( m_ef9340.R & 0x40 ) ? 250 : 210;
|
|
||||||
break;
|
break;
|
||||||
case 0xC0: /* Load Y0 */
|
case 0xC0: /* Load Y0 */
|
||||||
m_ef9340.Y0 = m_ef9341.TA & 0x3F;
|
m_ef9340.Y0 = m_ef9341.TA & 0x3F;
|
||||||
@ -225,8 +226,10 @@ void ef9340_1_device::ef9341_write( uint8_t command, uint8_t b, uint8_t data )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xA0: /* Read slice */
|
case 0xA0: /* Read slice */
|
||||||
default:
|
fatalerror("ef9341 unimplemented data action %02X\n", m_ef9340.M & 0xE0 );
|
||||||
fatalerror/*logerror*/("ef9341 unimplemented data action %02X\n", m_ef9340.M & 0xE0 );
|
|
||||||
|
default: /* Illegal */
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
m_ef9341.busy = 0;
|
m_ef9341.busy = 0;
|
||||||
}
|
}
|
||||||
@ -242,7 +245,8 @@ uint8_t ef9340_1_device::ef9341_read( uint8_t command, uint8_t b )
|
|||||||
{
|
{
|
||||||
uint8_t data;
|
uint8_t data;
|
||||||
|
|
||||||
logerror("ef9341 %s read, t%s\n", command ? "command" : "data", b ? "B" : "A" );
|
LOG("ef9341 %s read, t%s\n", command ? "command" : "data", b ? "B" : "A" );
|
||||||
|
|
||||||
if ( command )
|
if ( command )
|
||||||
{
|
{
|
||||||
if ( b )
|
if ( b )
|
||||||
@ -279,7 +283,9 @@ void ef9340_1_device::ef9340_scanline(int vpos)
|
|||||||
for ( int i = 0; i < 40 * 8; i++ )
|
for ( int i = 0; i < 40 * 8; i++ )
|
||||||
m_tmp_bitmap.pix16(vpos, i) = 0;
|
m_tmp_bitmap.pix16(vpos, i) = 0;
|
||||||
|
|
||||||
if ( m_ef9340.R & 0x01 && vpos < m_ef9340.max_vpos )
|
int max_vpos = ( m_ef9340.R & 0x40 ) ? 250 : 210;
|
||||||
|
|
||||||
|
if ( m_ef9340.R & 0x01 && vpos < max_vpos )
|
||||||
{
|
{
|
||||||
int y = vpos - 0;
|
int y = vpos - 0;
|
||||||
int y_row, slice;
|
int y_row, slice;
|
||||||
|
@ -35,7 +35,6 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
virtual void device_start() override;
|
virtual void device_start() override;
|
||||||
virtual void device_reset() override;
|
|
||||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||||
|
|
||||||
@ -70,7 +69,6 @@ protected:
|
|||||||
uint8_t Y0;
|
uint8_t Y0;
|
||||||
uint8_t R;
|
uint8_t R;
|
||||||
uint8_t M;
|
uint8_t M;
|
||||||
int max_vpos;
|
|
||||||
} m_ef9340;
|
} m_ef9340;
|
||||||
|
|
||||||
uint8_t m_ef934x_ram_a[1024];
|
uint8_t m_ef934x_ram_a[1024];
|
||||||
|
@ -49,7 +49,6 @@ TODO:
|
|||||||
- g7400 rally doesn't work, car keeps exploding
|
- g7400 rally doesn't work, car keeps exploding
|
||||||
- g7400 probably has different video timing too (not same as g7000)
|
- g7400 probably has different video timing too (not same as g7000)
|
||||||
- g7400 graphics problems, mostly due to missing features in ef934x
|
- g7400 graphics problems, mostly due to missing features in ef934x
|
||||||
- g7400 EF9341 R/W is connected to CPU A2, what happens if it is disobeyed?
|
|
||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
@ -105,7 +104,6 @@ protected:
|
|||||||
void odyssey2_mem(address_map &map);
|
void odyssey2_mem(address_map &map);
|
||||||
|
|
||||||
virtual void machine_start() override;
|
virtual void machine_start() override;
|
||||||
virtual void machine_reset() override;
|
|
||||||
|
|
||||||
/* constants */
|
/* constants */
|
||||||
static const uint8_t P1_BANK_LO_BIT = 0x01;
|
static const uint8_t P1_BANK_LO_BIT = 0x01;
|
||||||
@ -152,7 +150,6 @@ private:
|
|||||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
|
|
||||||
virtual void machine_start() override;
|
virtual void machine_start() override;
|
||||||
virtual void machine_reset() override;
|
|
||||||
void p2_write(uint8_t data);
|
void p2_write(uint8_t data);
|
||||||
uint8_t io_read(offs_t offset);
|
uint8_t io_read(offs_t offset);
|
||||||
void io_write(offs_t offset, uint8_t data);
|
void io_write(offs_t offset, uint8_t data);
|
||||||
@ -395,11 +392,6 @@ void odyssey2_state::machine_start()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void odyssey2_state::machine_reset()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void g7400_state::machine_start()
|
void g7400_state::machine_start()
|
||||||
{
|
{
|
||||||
odyssey2_state::machine_start();
|
odyssey2_state::machine_start();
|
||||||
@ -412,17 +404,6 @@ void g7400_state::machine_start()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void g7400_state::machine_reset()
|
|
||||||
{
|
|
||||||
odyssey2_state::machine_reset();
|
|
||||||
|
|
||||||
for ( int i = 0; i < 8; i++ )
|
|
||||||
{
|
|
||||||
m_ic674_decode[i] = 0;
|
|
||||||
m_ic678_decode[i] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/****** External RAM ******************************/
|
/****** External RAM ******************************/
|
||||||
|
|
||||||
uint8_t odyssey2_state::io_read(offs_t offset)
|
uint8_t odyssey2_state::io_read(offs_t offset)
|
||||||
@ -456,8 +437,14 @@ uint8_t g7400_state::io_read(offs_t offset)
|
|||||||
{
|
{
|
||||||
u8 data = odyssey2_state::io_read(offset);
|
u8 data = odyssey2_state::io_read(offset);
|
||||||
|
|
||||||
if (!(m_p1 & P1_VPP_ENABLE) && offset & 4)
|
if (!(m_p1 & P1_VPP_ENABLE))
|
||||||
|
{
|
||||||
|
// A2 to R/W pin
|
||||||
|
if (offset & 4)
|
||||||
data &= m_ef9340_1->ef9341_read( offset & 0x02, offset & 0x01 );
|
data &= m_ef9340_1->ef9341_read( offset & 0x02, offset & 0x01 );
|
||||||
|
else
|
||||||
|
m_ef9340_1->ef9341_write( offset & 0x02, offset & 0x01, data );
|
||||||
|
}
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
@ -600,7 +587,6 @@ uint8_t odyssey2_state::bus_read()
|
|||||||
|
|
||||||
void odyssey2_state::bus_write(uint8_t data)
|
void odyssey2_state::bus_write(uint8_t data)
|
||||||
{
|
{
|
||||||
logerror("%.6f bus written %.2x\n", machine().time().as_double(), data);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -612,7 +598,6 @@ void g7400_state::i8243_p4_w(uint8_t data)
|
|||||||
{
|
{
|
||||||
// "port 4"
|
// "port 4"
|
||||||
m_screen->update_now();
|
m_screen->update_now();
|
||||||
logerror("setting ef-port4 to %02x\n", data);
|
|
||||||
m_ic674_decode[1] = BIT(data,0);
|
m_ic674_decode[1] = BIT(data,0);
|
||||||
m_ic674_decode[5] = BIT(data,1);
|
m_ic674_decode[5] = BIT(data,1);
|
||||||
m_ic674_decode[3] = BIT(data,2);
|
m_ic674_decode[3] = BIT(data,2);
|
||||||
@ -624,7 +609,6 @@ void g7400_state::i8243_p5_w(uint8_t data)
|
|||||||
{
|
{
|
||||||
// "port 5"
|
// "port 5"
|
||||||
m_screen->update_now();
|
m_screen->update_now();
|
||||||
logerror("setting ef-port5 to %02x\n", data);
|
|
||||||
m_ic674_decode[0] = BIT(data,0);
|
m_ic674_decode[0] = BIT(data,0);
|
||||||
m_ic674_decode[4] = BIT(data,1);
|
m_ic674_decode[4] = BIT(data,1);
|
||||||
m_ic674_decode[2] = BIT(data,2);
|
m_ic674_decode[2] = BIT(data,2);
|
||||||
@ -636,7 +620,6 @@ void g7400_state::i8243_p6_w(uint8_t data)
|
|||||||
{
|
{
|
||||||
// "port 6"
|
// "port 6"
|
||||||
m_screen->update_now();
|
m_screen->update_now();
|
||||||
logerror("setting vdc-port6 to %02x\n", data);
|
|
||||||
m_ic678_decode[1] = BIT(data,0);
|
m_ic678_decode[1] = BIT(data,0);
|
||||||
m_ic678_decode[5] = BIT(data,1);
|
m_ic678_decode[5] = BIT(data,1);
|
||||||
m_ic678_decode[3] = BIT(data,2);
|
m_ic678_decode[3] = BIT(data,2);
|
||||||
@ -648,7 +631,6 @@ void g7400_state::i8243_p7_w(uint8_t data)
|
|||||||
{
|
{
|
||||||
// "port 7"
|
// "port 7"
|
||||||
m_screen->update_now();
|
m_screen->update_now();
|
||||||
logerror("setting vdc-port7 to %02x\n", data);
|
|
||||||
m_ic678_decode[0] = BIT(data,0);
|
m_ic678_decode[0] = BIT(data,0);
|
||||||
m_ic678_decode[4] = BIT(data,1);
|
m_ic678_decode[4] = BIT(data,1);
|
||||||
m_ic678_decode[2] = BIT(data,2);
|
m_ic678_decode[2] = BIT(data,2);
|
||||||
|
Loading…
Reference in New Issue
Block a user