mirror of
https://github.com/holub/mame
synced 2025-05-04 21:43:05 +03:00
more misc stuff (nw)
This commit is contained in:
parent
843484332d
commit
5d4a34c9d2
@ -2375,7 +2375,7 @@ MACHINE_CONFIG_START(a400_state::a5200)
|
||||
|
||||
// FIXME: should there be anything connected where other system have the fdc?
|
||||
MCFG_DEVICE_MODIFY("pokey")
|
||||
MCFG_POKEY_SERIN_R_CB(NOOP)
|
||||
MCFG_POKEY_SERIN_R_CB(CONSTANT(0))
|
||||
MCFG_POKEY_SEROUT_W_CB(NOOP)
|
||||
MCFG_POKEY_KEYBOARD_CB(a400_state, a5200_keypads)
|
||||
MCFG_POKEY_INTERRUPT_CB(a400_state, interrupt_cb)
|
||||
@ -2389,8 +2389,8 @@ MACHINE_CONFIG_START(a400_state::a5200)
|
||||
MCFG_ANTIC_GTIA("gtia")
|
||||
|
||||
MCFG_DEVICE_MODIFY("pia")
|
||||
MCFG_PIA_READPA_HANDLER(NOOP) // FIXME: is there anything connected here
|
||||
MCFG_PIA_READPB_HANDLER(NOOP) // FIXME: is there anything connected here
|
||||
MCFG_PIA_READPA_HANDLER(CONSTANT(0)) // FIXME: is there anything connected here
|
||||
MCFG_PIA_READPB_HANDLER(CONSTANT(0)) // FIXME: is there anything connected here
|
||||
MCFG_PIA_CB2_HANDLER(NOOP) // FIXME: is there anything connected here
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE( a400_state, a5200 )
|
||||
|
@ -1192,14 +1192,14 @@ ROM_END
|
||||
|
||||
void cubo_state::chip_ram_w8_hack(offs_t byteoffs, uint8_t data)
|
||||
{
|
||||
uint16_t word = chip_ram_r(byteoffs);
|
||||
uint16_t word = read_chip_ram(byteoffs);
|
||||
|
||||
if (byteoffs & 1)
|
||||
word = (word & 0xff00) | data;
|
||||
else
|
||||
word = (word & 0x00ff) | (((uint16_t)data) << 8);
|
||||
|
||||
chip_ram_w(byteoffs, word);
|
||||
write_chip_ram(byteoffs, word);
|
||||
}
|
||||
|
||||
void cubo_state::cndypuzl_input_hack()
|
||||
@ -1207,7 +1207,7 @@ void cubo_state::cndypuzl_input_hack()
|
||||
if (m_maincpu->pc() < m_chip_ram.bytes())
|
||||
{
|
||||
uint32_t r_A5 = m_maincpu->state_int(M68K_A5);
|
||||
chip_ram_w(r_A5 - 0x7ebe, 0x0000);
|
||||
write_chip_ram(r_A5 - 0x7ebe, 0x0000);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1222,7 +1222,7 @@ void cubo_state::haremchl_input_hack()
|
||||
if (m_maincpu->pc() < m_chip_ram.bytes())
|
||||
{
|
||||
uint32_t r_A5 = m_maincpu->state_int(M68K_A5);
|
||||
uint32_t r_A2 = (chip_ram_r(r_A5 - 0x7f00 + 0) << 16) | (chip_ram_r(r_A5 - 0x7f00 + 2));
|
||||
uint32_t r_A2 = (read_chip_ram(r_A5 - 0x7f00 + 0) << 16) | (read_chip_ram(r_A5 - 0x7f00 + 2));
|
||||
chip_ram_w8_hack(r_A2 + 0x1f, 0x00);
|
||||
}
|
||||
}
|
||||
@ -1238,7 +1238,7 @@ void cubo_state::lsrquiz_input_hack()
|
||||
if (m_maincpu->pc() < m_chip_ram.bytes())
|
||||
{
|
||||
uint32_t r_A5 = m_maincpu->state_int(M68K_A5);
|
||||
uint32_t r_A2 = (chip_ram_r(r_A5 - 0x7fe0 + 0) << 16) | (chip_ram_r(r_A5 - 0x7fe0 + 2));
|
||||
uint32_t r_A2 = (read_chip_ram(r_A5 - 0x7fe0 + 0) << 16) | (read_chip_ram(r_A5 - 0x7fe0 + 2));
|
||||
chip_ram_w8_hack(r_A2 + 0x13, 0x00);
|
||||
}
|
||||
}
|
||||
@ -1255,7 +1255,7 @@ void cubo_state::lsrquiz2_input_hack()
|
||||
if (m_maincpu->pc() < m_chip_ram.bytes())
|
||||
{
|
||||
uint32_t r_A5 = m_maincpu->state_int(M68K_A5);
|
||||
uint32_t r_A2 = (chip_ram_r(r_A5 - 0x7fdc + 0) << 16) | (chip_ram_r(r_A5 - 0x7fdc + 2));
|
||||
uint32_t r_A2 = (read_chip_ram(r_A5 - 0x7fdc + 0) << 16) | (read_chip_ram(r_A5 - 0x7fdc + 2));
|
||||
chip_ram_w8_hack(r_A2 + 0x17, 0x00);
|
||||
}
|
||||
}
|
||||
@ -1271,7 +1271,7 @@ void cubo_state::lasstixx_input_hack()
|
||||
if (m_maincpu->pc() < m_chip_ram.bytes())
|
||||
{
|
||||
uint32_t r_A5 = m_maincpu->state_int(M68K_A5);
|
||||
uint32_t r_A2 = (chip_ram_r(r_A5 - 0x7fa2 + 0) << 16) | (chip_ram_r(r_A5 - 0x7fa2 + 2));
|
||||
uint32_t r_A2 = (read_chip_ram(r_A5 - 0x7fa2 + 0) << 16) | (read_chip_ram(r_A5 - 0x7fa2 + 2));
|
||||
chip_ram_w8_hack(r_A2 + 0x24, 0x00);
|
||||
}
|
||||
}
|
||||
@ -1287,7 +1287,7 @@ void cubo_state::mgnumber_input_hack()
|
||||
if (m_maincpu->pc() < m_chip_ram.bytes())
|
||||
{
|
||||
uint32_t r_A5 = m_maincpu->state_int(M68K_A5);
|
||||
chip_ram_w(r_A5 - 0x7ed8, 0x0000);
|
||||
write_chip_ram(r_A5 - 0x7ed8, 0x0000);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -308,59 +308,59 @@ class amiga_state : public driver_device
|
||||
{
|
||||
public:
|
||||
amiga_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_agnus_id(AGNUS_NTSC),
|
||||
m_denise_id(DENISE),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_cia_0(*this, "cia_0"),
|
||||
m_cia_1(*this, "cia_1"),
|
||||
m_rs232(*this, "rs232"),
|
||||
m_centronics(*this, "centronics"),
|
||||
m_paula(*this, "amiga"),
|
||||
m_fdc(*this, "fdc"),
|
||||
m_screen(*this, "screen"),
|
||||
m_palette(*this, "palette"),
|
||||
m_overlay(*this, "overlay"),
|
||||
m_input_device(*this, "input"),
|
||||
m_joy0dat_port(*this, "joy_0_dat"),
|
||||
m_joy1dat_port(*this, "joy_1_dat"),
|
||||
m_potgo_port(*this, "potgo"),
|
||||
m_pot0dat_port(*this, "POT0DAT"),
|
||||
m_pot1dat_port(*this, "POT1DAT"),
|
||||
m_joy_ports(*this, "p%u_joy", 1),
|
||||
m_p1_mouse_x(*this, "p1_mouse_x"),
|
||||
m_p1_mouse_y(*this, "p1_mouse_y"),
|
||||
m_p2_mouse_x(*this, "p2_mouse_x"),
|
||||
m_p2_mouse_y(*this, "p2_mouse_y"),
|
||||
m_hvpos(*this, "HVPOS"),
|
||||
m_power_led(*this, "power_led"),
|
||||
m_chip_ram_mask(0),
|
||||
m_cia_0_irq(0),
|
||||
m_cia_1_irq(0),
|
||||
m_pot0x(0), m_pot1x(0), m_pot0y(0), m_pot1y(0),
|
||||
m_pot0dat(0x0000),
|
||||
m_pot1dat(0x0000),
|
||||
m_centronics_busy(0),
|
||||
m_centronics_perror(0),
|
||||
m_centronics_select(0),
|
||||
m_gayle_reset(false),
|
||||
m_diw(),
|
||||
m_diwhigh_valid(false),
|
||||
m_previous_lof(true),
|
||||
m_rx_shift(0),
|
||||
m_tx_shift(0),
|
||||
m_rx_state(0),
|
||||
m_tx_state(0),
|
||||
m_rx_previous(1)
|
||||
driver_device(mconfig, type, tag),
|
||||
m_agnus_id(AGNUS_NTSC),
|
||||
m_denise_id(DENISE),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_cia_0(*this, "cia_0"),
|
||||
m_cia_1(*this, "cia_1"),
|
||||
m_rs232(*this, "rs232"),
|
||||
m_centronics(*this, "centronics"),
|
||||
m_paula(*this, "amiga"),
|
||||
m_fdc(*this, "fdc"),
|
||||
m_screen(*this, "screen"),
|
||||
m_palette(*this, "palette"),
|
||||
m_overlay(*this, "overlay"),
|
||||
m_input_device(*this, "input"),
|
||||
m_joy0dat_port(*this, "joy_0_dat"),
|
||||
m_joy1dat_port(*this, "joy_1_dat"),
|
||||
m_potgo_port(*this, "potgo"),
|
||||
m_pot0dat_port(*this, "POT0DAT"),
|
||||
m_pot1dat_port(*this, "POT1DAT"),
|
||||
m_joy_ports(*this, "p%u_joy", 1),
|
||||
m_p1_mouse_x(*this, "p1_mouse_x"),
|
||||
m_p1_mouse_y(*this, "p1_mouse_y"),
|
||||
m_p2_mouse_x(*this, "p2_mouse_x"),
|
||||
m_p2_mouse_y(*this, "p2_mouse_y"),
|
||||
m_hvpos(*this, "HVPOS"),
|
||||
m_power_led(*this, "power_led"),
|
||||
m_chip_ram_mask(0),
|
||||
m_cia_0_irq(0),
|
||||
m_cia_1_irq(0),
|
||||
m_pot0x(0), m_pot1x(0), m_pot0y(0), m_pot1y(0),
|
||||
m_pot0dat(0x0000),
|
||||
m_pot1dat(0x0000),
|
||||
m_centronics_busy(0),
|
||||
m_centronics_perror(0),
|
||||
m_centronics_select(0),
|
||||
m_gayle_reset(false),
|
||||
m_diw(),
|
||||
m_diwhigh_valid(false),
|
||||
m_previous_lof(true),
|
||||
m_rx_shift(0),
|
||||
m_tx_shift(0),
|
||||
m_rx_state(0),
|
||||
m_tx_state(0),
|
||||
m_rx_previous(1)
|
||||
{ }
|
||||
|
||||
/* chip RAM access */
|
||||
uint16_t chip_ram_r(offs_t byteoffs)
|
||||
uint16_t read_chip_ram(offs_t byteoffs)
|
||||
{
|
||||
return EXPECTED(byteoffs < m_chip_ram.bytes()) ? m_chip_ram.read(byteoffs >> 1) : 0xffff;
|
||||
}
|
||||
|
||||
void chip_ram_w(offs_t byteoffs, uint16_t data)
|
||||
void write_chip_ram(offs_t byteoffs, uint16_t data)
|
||||
{
|
||||
if (EXPECTED(byteoffs < m_chip_ram.bytes()))
|
||||
m_chip_ram.write(byteoffs >> 1, data);
|
||||
@ -368,13 +368,13 @@ public:
|
||||
|
||||
DECLARE_READ16_MEMBER(chip_ram_r)
|
||||
{
|
||||
return chip_ram_r(offset & ~1) & mem_mask;
|
||||
return read_chip_ram(offset & ~1) & mem_mask;
|
||||
}
|
||||
|
||||
DECLARE_WRITE16_MEMBER(chip_ram_w)
|
||||
{
|
||||
uint16_t val = chip_ram_r(offset & ~1) & ~mem_mask;
|
||||
chip_ram_w(offset & ~1, val | data);
|
||||
uint16_t val = read_chip_ram(offset & ~1) & ~mem_mask;
|
||||
write_chip_ram(offset & ~1, val | data);
|
||||
}
|
||||
|
||||
/* sprite states */
|
||||
|
@ -119,21 +119,21 @@ class apollo_ni;
|
||||
class apollo_state : public driver_device
|
||||
{
|
||||
public:
|
||||
apollo_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, MAINCPU),
|
||||
m_messram_ptr(*this, "messram"),
|
||||
m_dma8237_1(*this, APOLLO_DMA1_TAG),
|
||||
m_dma8237_2(*this, APOLLO_DMA2_TAG),
|
||||
m_pic8259_master(*this, APOLLO_PIC1_TAG),
|
||||
m_pic8259_slave(*this, APOLLO_PIC2_TAG),
|
||||
m_ptm(*this, APOLLO_PTM_TAG),
|
||||
m_sio(*this, APOLLO_SIO_TAG),
|
||||
m_sio2(*this, APOLLO_SIO2_TAG),
|
||||
m_rtc(*this, APOLLO_RTC_TAG),
|
||||
m_node_id(*this, APOLLO_NI_TAG),
|
||||
m_isa(*this, APOLLO_ISA_TAG)
|
||||
{ }
|
||||
apollo_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, MAINCPU),
|
||||
m_messram_ptr(*this, "messram"),
|
||||
m_dma8237_1(*this, APOLLO_DMA1_TAG),
|
||||
m_dma8237_2(*this, APOLLO_DMA2_TAG),
|
||||
m_pic8259_master(*this, APOLLO_PIC1_TAG),
|
||||
m_pic8259_slave(*this, APOLLO_PIC2_TAG),
|
||||
m_ptm(*this, APOLLO_PTM_TAG),
|
||||
m_sio(*this, APOLLO_SIO_TAG),
|
||||
m_sio2(*this, APOLLO_SIO2_TAG),
|
||||
m_rtc(*this, APOLLO_RTC_TAG),
|
||||
m_node_id(*this, APOLLO_NI_TAG),
|
||||
m_isa(*this, APOLLO_ISA_TAG)
|
||||
{ }
|
||||
|
||||
required_device<m68000_base_device> m_maincpu;
|
||||
required_shared_ptr<uint32_t> m_messram_ptr;
|
||||
|
@ -5,6 +5,10 @@
|
||||
Atari System 1 hardware
|
||||
|
||||
*************************************************************************/
|
||||
#ifndef MAME_INCLUDES_ATARISY1_H
|
||||
#define MAME_INCLUDES_ATARISY1_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "machine/74259.h"
|
||||
#include "machine/adc0808.h"
|
||||
@ -19,20 +23,21 @@ class atarisy1_state : public atarigen_state
|
||||
{
|
||||
public:
|
||||
atarisy1_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: atarigen_state(mconfig, type, tag),
|
||||
m_audiocpu(*this, "audiocpu"),
|
||||
m_soundcomm(*this, "soundcomm"),
|
||||
m_bankselect(*this, "bankselect"),
|
||||
m_mob(*this, "mob"),
|
||||
m_adc(*this, "adc"),
|
||||
m_ajsint(*this, "ajsint"),
|
||||
m_playfield_tilemap(*this, "playfield"),
|
||||
m_alpha_tilemap(*this, "alpha"),
|
||||
m_yscroll_reset_timer(*this, "yreset_timer"),
|
||||
m_scanline_timer(*this, "scan_timer"),
|
||||
m_int3off_timer(*this, "int3off_timer"),
|
||||
m_tms(*this, "tms"),
|
||||
m_outlatch(*this, "outlatch") { }
|
||||
: atarigen_state(mconfig, type, tag)
|
||||
, m_audiocpu(*this, "audiocpu")
|
||||
, m_soundcomm(*this, "soundcomm")
|
||||
, m_bankselect(*this, "bankselect")
|
||||
, m_mob(*this, "mob")
|
||||
, m_adc(*this, "adc")
|
||||
, m_ajsint(*this, "ajsint")
|
||||
, m_playfield_tilemap(*this, "playfield")
|
||||
, m_alpha_tilemap(*this, "alpha")
|
||||
, m_yscroll_reset_timer(*this, "yreset_timer")
|
||||
, m_scanline_timer(*this, "scan_timer")
|
||||
, m_int3off_timer(*this, "int3off_timer")
|
||||
, m_tms(*this, "tms")
|
||||
, m_outlatch(*this, "outlatch")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_audiocpu;
|
||||
required_device<atari_sound_comm_device> m_soundcomm;
|
||||
@ -118,3 +123,5 @@ public:
|
||||
void main_map(address_map &map);
|
||||
void sound_map(address_map &map);
|
||||
};
|
||||
|
||||
#endif // MAME_INCLUDES_ATARISY1_H
|
||||
|
@ -5,6 +5,10 @@
|
||||
Atari Centipede hardware
|
||||
|
||||
*************************************************************************/
|
||||
#ifndef MAME_INCLUDES_CENTIPED_H
|
||||
#define MAME_INCLUDES_CENTIPED_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "machine/eepromser.h"
|
||||
#include "machine/timer.h"
|
||||
@ -15,8 +19,8 @@
|
||||
class centiped_state : public driver_device
|
||||
{
|
||||
public:
|
||||
centiped_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
centiped_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_rambase(*this, "rambase"),
|
||||
m_videoram(*this, "videoram"),
|
||||
m_spriteram(*this, "spriteram"),
|
||||
@ -27,7 +31,8 @@ public:
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_screen(*this, "screen"),
|
||||
m_palette(*this, "palette"),
|
||||
m_aysnd(*this, "aysnd") { }
|
||||
m_aysnd(*this, "aysnd")
|
||||
{ }
|
||||
|
||||
void centiped_base(machine_config &config);
|
||||
void milliped(machine_config &config);
|
||||
@ -135,3 +140,5 @@ private:
|
||||
void multiped_map(address_map &map);
|
||||
void warlords_map(address_map &map);
|
||||
};
|
||||
|
||||
#endif // MAME_INCLUDES_CENTIPED_H
|
||||
|
@ -465,21 +465,21 @@ uint32_t amiga_state::blit_ascending()
|
||||
if (CUSTOM_REG(REG_BLTCON0) & 0x0800)
|
||||
{
|
||||
//CUSTOM_REG(REG_BLTADAT) = m_maincpu->space(AS_PROGRAM).read_word(CUSTOM_REG_LONG(REG_BLTAPTH));
|
||||
CUSTOM_REG(REG_BLTADAT) = chip_ram_r(CUSTOM_REG_LONG(REG_BLTAPTH));
|
||||
CUSTOM_REG(REG_BLTADAT) = read_chip_ram(CUSTOM_REG_LONG(REG_BLTAPTH));
|
||||
CUSTOM_REG_LONG(REG_BLTAPTH) += 2;
|
||||
}
|
||||
|
||||
/* fetch data for B */
|
||||
if (CUSTOM_REG(REG_BLTCON0) & 0x0400)
|
||||
{
|
||||
CUSTOM_REG(REG_BLTBDAT) = chip_ram_r(CUSTOM_REG_LONG(REG_BLTBPTH));
|
||||
CUSTOM_REG(REG_BLTBDAT) = read_chip_ram(CUSTOM_REG_LONG(REG_BLTBPTH));
|
||||
CUSTOM_REG_LONG(REG_BLTBPTH) += 2;
|
||||
}
|
||||
|
||||
/* fetch data for C */
|
||||
if (CUSTOM_REG(REG_BLTCON0) & 0x0200)
|
||||
{
|
||||
CUSTOM_REG(REG_BLTCDAT) = chip_ram_r(CUSTOM_REG_LONG(REG_BLTCPTH));
|
||||
CUSTOM_REG(REG_BLTCDAT) = read_chip_ram(CUSTOM_REG_LONG(REG_BLTCPTH));
|
||||
CUSTOM_REG_LONG(REG_BLTCPTH) += 2;
|
||||
}
|
||||
|
||||
@ -535,7 +535,7 @@ uint32_t amiga_state::blit_ascending()
|
||||
/* write to the destination */
|
||||
if (CUSTOM_REG(REG_BLTCON0) & 0x0100)
|
||||
{
|
||||
chip_ram_w(CUSTOM_REG_LONG(REG_BLTDPTH), tempd);
|
||||
write_chip_ram(CUSTOM_REG_LONG(REG_BLTDPTH), tempd);
|
||||
CUSTOM_REG_LONG(REG_BLTDPTH) += 2;
|
||||
}
|
||||
}
|
||||
@ -590,21 +590,21 @@ uint32_t amiga_state::blit_descending()
|
||||
/* fetch data for A */
|
||||
if (CUSTOM_REG(REG_BLTCON0) & 0x0800)
|
||||
{
|
||||
CUSTOM_REG(REG_BLTADAT) = chip_ram_r(CUSTOM_REG_LONG(REG_BLTAPTH));
|
||||
CUSTOM_REG(REG_BLTADAT) = read_chip_ram(CUSTOM_REG_LONG(REG_BLTAPTH));
|
||||
CUSTOM_REG_LONG(REG_BLTAPTH) -= 2;
|
||||
}
|
||||
|
||||
/* fetch data for B */
|
||||
if (CUSTOM_REG(REG_BLTCON0) & 0x0400)
|
||||
{
|
||||
CUSTOM_REG(REG_BLTBDAT) = chip_ram_r(CUSTOM_REG_LONG(REG_BLTBPTH));
|
||||
CUSTOM_REG(REG_BLTBDAT) = read_chip_ram(CUSTOM_REG_LONG(REG_BLTBPTH));
|
||||
CUSTOM_REG_LONG(REG_BLTBPTH) -= 2;
|
||||
}
|
||||
|
||||
/* fetch data for C */
|
||||
if (CUSTOM_REG(REG_BLTCON0) & 0x0200)
|
||||
{
|
||||
CUSTOM_REG(REG_BLTCDAT) = chip_ram_r(CUSTOM_REG_LONG(REG_BLTCPTH));
|
||||
CUSTOM_REG(REG_BLTCDAT) = read_chip_ram(CUSTOM_REG_LONG(REG_BLTCPTH));
|
||||
CUSTOM_REG_LONG(REG_BLTCPTH) -= 2;
|
||||
}
|
||||
|
||||
@ -677,7 +677,7 @@ uint32_t amiga_state::blit_descending()
|
||||
/* write to the destination */
|
||||
if (CUSTOM_REG(REG_BLTCON0) & 0x0100)
|
||||
{
|
||||
chip_ram_w(CUSTOM_REG_LONG(REG_BLTDPTH), tempd);
|
||||
write_chip_ram(CUSTOM_REG_LONG(REG_BLTDPTH), tempd);
|
||||
CUSTOM_REG_LONG(REG_BLTDPTH) -= 2;
|
||||
}
|
||||
}
|
||||
@ -769,7 +769,7 @@ uint32_t amiga_state::blit_line()
|
||||
|
||||
/* fetch data for C */
|
||||
if (CUSTOM_REG(REG_BLTCON0) & 0x0200)
|
||||
CUSTOM_REG(REG_BLTCDAT) = chip_ram_r(CUSTOM_REG_LONG(REG_BLTCPTH));
|
||||
CUSTOM_REG(REG_BLTCDAT) = read_chip_ram(CUSTOM_REG_LONG(REG_BLTCPTH));
|
||||
|
||||
/* rotate the A data according to the shift */
|
||||
tempa = CUSTOM_REG(REG_BLTADAT) >> (CUSTOM_REG(REG_BLTCON0) >> 12);
|
||||
@ -820,7 +820,7 @@ uint32_t amiga_state::blit_line()
|
||||
blitsum |= tempd;
|
||||
|
||||
/* write to the destination */
|
||||
chip_ram_w(CUSTOM_REG_LONG(REG_BLTDPTH), tempd);
|
||||
write_chip_ram(CUSTOM_REG_LONG(REG_BLTDPTH), tempd);
|
||||
|
||||
/* always increment along the major axis */
|
||||
if (CUSTOM_REG(REG_BLTCON1) & 0x0010)
|
||||
|
@ -1224,18 +1224,7 @@ const int16_t kaneko_calc3_device::s_keydata[] = {
|
||||
|
||||
uint8_t kaneko_calc3_device::shift_bits(uint8_t dat, int bits)
|
||||
{
|
||||
switch (bits & 7)
|
||||
{
|
||||
default:
|
||||
case 0: return bitswap<8>(dat, 7,6,5,4,3,2,1,0);
|
||||
case 1: return bitswap<8>(dat, 6,5,4,3,2,1,0,7);
|
||||
case 2: return bitswap<8>(dat, 5,4,3,2,1,0,7,6);
|
||||
case 3: return bitswap<8>(dat, 4,3,2,1,0,7,6,5);
|
||||
case 4: return bitswap<8>(dat, 3,2,1,0,7,6,5,4);
|
||||
case 5: return bitswap<8>(dat, 2,1,0,7,6,5,4,3);
|
||||
case 6: return bitswap<8>(dat, 1,0,7,6,5,4,3,2);
|
||||
case 7: return bitswap<8>(dat, 0,7,6,5,4,3,2,1);
|
||||
}
|
||||
return (dat << (bits & 7)) | (dat >> (8 - (bits & 7)));
|
||||
}
|
||||
|
||||
int kaneko_calc3_device::decompress_table(int tabnum, uint8_t* dstram, int dstoffset)
|
||||
@ -1433,7 +1422,7 @@ int kaneko_calc3_device::decompress_table(int tabnum, uint8_t* dstram, int dstof
|
||||
}
|
||||
}
|
||||
|
||||
if(local_counter > 1)
|
||||
if (local_counter > 1)
|
||||
{
|
||||
space.write_byte(dstoffset + i, dat);
|
||||
|
||||
|
@ -250,12 +250,12 @@ int amiga_state::copper_execute_next(int xpos)
|
||||
}
|
||||
|
||||
/* fetch the first data word */
|
||||
word0 = chip_ram_r(m_copper_pc);
|
||||
word0 = read_chip_ram(m_copper_pc);
|
||||
m_copper_pc += 2;
|
||||
xpos += COPPER_CYCLES_TO_PIXELS(1);
|
||||
|
||||
/* fetch the second data word */
|
||||
word1 = chip_ram_r(m_copper_pc);
|
||||
word1 = read_chip_ram(m_copper_pc);
|
||||
m_copper_pc += 2;
|
||||
xpos += COPPER_CYCLES_TO_PIXELS(1);
|
||||
|
||||
@ -387,8 +387,8 @@ void amiga_state::sprite_enable_comparitor(int which, int enable)
|
||||
|
||||
void amiga_state::fetch_sprite_data(int scanline, int sprite)
|
||||
{
|
||||
CUSTOM_REG(REG_SPR0DATA + 4 * sprite) = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
CUSTOM_REG(REG_SPR0DATB + 4 * sprite) = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
CUSTOM_REG(REG_SPR0DATA + 4 * sprite) = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
CUSTOM_REG(REG_SPR0DATB + 4 * sprite) = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) += 4;
|
||||
if (LOG_SPRITE_DMA) logerror("%3d:sprite %d fetch: data=%04X-%04X\n", scanline, sprite, CUSTOM_REG(REG_SPR0DATA + 4 * sprite), CUSTOM_REG(REG_SPR0DATB + 4 * sprite));
|
||||
}
|
||||
@ -417,8 +417,8 @@ void amiga_state::update_sprite_dma(int scanline)
|
||||
m_sprite_dma_reload_mask &= ~bitmask;
|
||||
|
||||
/* fetch data into the control words */
|
||||
CUSTOM_REG(REG_SPR0POS + 4 * num) = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * num) + 0);
|
||||
CUSTOM_REG(REG_SPR0CTL + 4 * num) = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * num) + 2);
|
||||
CUSTOM_REG(REG_SPR0POS + 4 * num) = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * num) + 0);
|
||||
CUSTOM_REG(REG_SPR0CTL + 4 * num) = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * num) + 2);
|
||||
CUSTOM_REG_LONG(REG_SPR0PTH + 2 * num) += 4;
|
||||
if (LOG_SPRITE_DMA) logerror("%3d:sprite %d fetch: pos=%04X ctl=%04X\n", scanline, num, CUSTOM_REG(REG_SPR0POS + 4 * num), CUSTOM_REG(REG_SPR0CTL + 4 * num));
|
||||
}
|
||||
@ -592,7 +592,7 @@ uint8_t amiga_state::assemble_even_bitplanes(int planes, int ebitoffs)
|
||||
|
||||
void amiga_state::fetch_bitplane_data(int plane)
|
||||
{
|
||||
CUSTOM_REG(REG_BPL1DAT + plane) = chip_ram_r(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2));
|
||||
CUSTOM_REG(REG_BPL1DAT + plane) = read_chip_ram(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2));
|
||||
CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2) += 2;
|
||||
}
|
||||
|
||||
|
@ -97,35 +97,35 @@ void amiga_state::aga_fetch_sprite_data(int scanline, int sprite)
|
||||
switch((CUSTOM_REG(REG_FMODE) >> 2) & 0x03)
|
||||
{
|
||||
case 0:
|
||||
m_aga_sprdata[sprite][0] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdatb[sprite][0] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
m_aga_sprdata[sprite][0] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdatb[sprite][0] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) += 4;
|
||||
m_aga_sprite_fetched_words = 1;
|
||||
if (LOG_SPRITE_DMA) logerror("%3d:sprite %d fetch: data=%04X-%04X\n", scanline, sprite, m_aga_sprdata[sprite][0], m_aga_sprdatb[sprite][0]);
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
m_aga_sprdata[sprite][0] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdata[sprite][1] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
m_aga_sprdata[sprite][0] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdata[sprite][1] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) += 4;
|
||||
m_aga_sprdatb[sprite][0] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdatb[sprite][1] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
m_aga_sprdatb[sprite][0] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdatb[sprite][1] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) += 4;
|
||||
m_aga_sprite_fetched_words = 2;
|
||||
if (LOG_SPRITE_DMA) logerror("%3d:sprite %d fetch: data=%04X-%04X %04X-%04X\n", scanline, sprite, m_aga_sprdata[sprite][0], m_aga_sprdatb[sprite][0], m_aga_sprdata[sprite][1], m_aga_sprdatb[sprite][1] );
|
||||
break;
|
||||
case 3:
|
||||
m_aga_sprdata[sprite][0] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdata[sprite][1] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
m_aga_sprdata[sprite][0] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdata[sprite][1] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) += 4;
|
||||
m_aga_sprdata[sprite][2] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdata[sprite][3] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
m_aga_sprdata[sprite][2] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdata[sprite][3] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) += 4;
|
||||
m_aga_sprdatb[sprite][0] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdatb[sprite][1] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
m_aga_sprdatb[sprite][0] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdatb[sprite][1] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) += 4;
|
||||
m_aga_sprdatb[sprite][2] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdatb[sprite][3] = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
m_aga_sprdatb[sprite][2] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 0);
|
||||
m_aga_sprdatb[sprite][3] = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) + 2);
|
||||
CUSTOM_REG_LONG(REG_SPR0PTH + 2 * sprite) += 4;
|
||||
m_aga_sprite_fetched_words = 4;
|
||||
if (LOG_SPRITE_DMA) logerror("%3d:sprite %d fetch: data=%04X-%04X %04X-%04X %04X-%04X %04X-%04X\n",
|
||||
@ -163,8 +163,8 @@ void amiga_state::aga_update_sprite_dma(int scanline)
|
||||
m_sprite_dma_reload_mask &= ~bitmask;
|
||||
|
||||
/* fetch data into the control words */
|
||||
CUSTOM_REG(REG_SPR0POS + 4 * num) = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * num) + 0);
|
||||
CUSTOM_REG(REG_SPR0CTL + 4 * num) = chip_ram_r(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * num) + 2);
|
||||
CUSTOM_REG(REG_SPR0POS + 4 * num) = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * num) + 0);
|
||||
CUSTOM_REG(REG_SPR0CTL + 4 * num) = read_chip_ram(CUSTOM_REG_LONG(REG_SPR0PTH + 2 * num) + 2);
|
||||
CUSTOM_REG_LONG(REG_SPR0PTH + 2 * num) += 4;
|
||||
/* fetch additional words */
|
||||
switch((CUSTOM_REG(REG_FMODE) >> 2) & 0x03)
|
||||
@ -374,24 +374,24 @@ void amiga_state::aga_fetch_bitplane_data(int plane)
|
||||
switch (CUSTOM_REG(REG_FMODE) & 0x03)
|
||||
{
|
||||
case 0:
|
||||
aga_bpldat[plane] = (uint64_t)chip_ram_r(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2));
|
||||
aga_bpldat[plane] = (uint64_t)read_chip_ram(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2));
|
||||
CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2) += 2;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
aga_bpldat[plane] = (uint64_t)chip_ram_r(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2)) << 16;
|
||||
aga_bpldat[plane] = (uint64_t)read_chip_ram(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2)) << 16;
|
||||
CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2) += 2;
|
||||
aga_bpldat[plane] |= ((uint64_t)chip_ram_r(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2)));
|
||||
aga_bpldat[plane] |= ((uint64_t)read_chip_ram(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2)));
|
||||
CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2) += 2;
|
||||
break;
|
||||
case 3:
|
||||
aga_bpldat[plane] = (uint64_t)chip_ram_r(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2)) << 48;
|
||||
aga_bpldat[plane] = (uint64_t)read_chip_ram(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2)) << 48;
|
||||
CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2) += 2;
|
||||
aga_bpldat[plane] |= ((uint64_t)chip_ram_r(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2))) << 32;
|
||||
aga_bpldat[plane] |= ((uint64_t)read_chip_ram(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2))) << 32;
|
||||
CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2) += 2;
|
||||
aga_bpldat[plane] |= ((uint64_t)chip_ram_r(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2))) << 16;
|
||||
aga_bpldat[plane] |= ((uint64_t)read_chip_ram(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2))) << 16;
|
||||
CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2) += 2;
|
||||
aga_bpldat[plane] |= (uint64_t)chip_ram_r(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2));
|
||||
aga_bpldat[plane] |= (uint64_t)read_chip_ram(CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2));
|
||||
CUSTOM_REG_LONG(REG_BPL1PTH + plane * 2) += 2;
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user