jedi: Use ADC0808 device
This commit is contained in:
parent
bd915d27e6
commit
e95e28db8a
@ -115,6 +115,7 @@
|
|||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/m6502/m6502.h"
|
#include "cpu/m6502/m6502.h"
|
||||||
#include "machine/74259.h"
|
#include "machine/74259.h"
|
||||||
|
#include "machine/adc0808.h"
|
||||||
#include "machine/nvram.h"
|
#include "machine/nvram.h"
|
||||||
#include "machine/watchdog.h"
|
#include "machine/watchdog.h"
|
||||||
#include "includes/jedi.h"
|
#include "includes/jedi.h"
|
||||||
@ -207,26 +208,6 @@ WRITE8_MEMBER(jedi_state::rom_banksel_w)
|
|||||||
*
|
*
|
||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
READ8_MEMBER(jedi_state::a2d_data_r)
|
|
||||||
{
|
|
||||||
uint8_t ret = 0;
|
|
||||||
|
|
||||||
switch (m_a2d_select)
|
|
||||||
{
|
|
||||||
case 0: ret = ioport("STICKY")->read(); break;
|
|
||||||
case 2: ret = ioport("STICKX")->read(); break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
WRITE8_MEMBER(jedi_state::a2d_select_w)
|
|
||||||
{
|
|
||||||
m_a2d_select = offset;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
WRITE_LINE_MEMBER(jedi_state::coin_counter_left_w)
|
WRITE_LINE_MEMBER(jedi_state::coin_counter_left_w)
|
||||||
{
|
{
|
||||||
machine().bookkeeping().coin_counter_w(0, state);
|
machine().bookkeeping().coin_counter_w(0, state);
|
||||||
@ -274,10 +255,9 @@ void jedi_state::main_map(address_map &map)
|
|||||||
map(0x0c01, 0x0c01).mirror(0x03fe).portr("0c01").nopw();
|
map(0x0c01, 0x0c01).mirror(0x03fe).portr("0c01").nopw();
|
||||||
map(0x1000, 0x13ff).noprw();
|
map(0x1000, 0x13ff).noprw();
|
||||||
map(0x1400, 0x1400).mirror(0x03ff).r(this, FUNC(jedi_state::jedi_audio_ack_latch_r)).nopw();
|
map(0x1400, 0x1400).mirror(0x03ff).r(this, FUNC(jedi_state::jedi_audio_ack_latch_r)).nopw();
|
||||||
map(0x1800, 0x1800).mirror(0x03ff).r(this, FUNC(jedi_state::a2d_data_r)).nopw();
|
map(0x1800, 0x1800).mirror(0x03ff).r("adc", FUNC(adc0808_device::data_r)).nopw();
|
||||||
map(0x1c00, 0x1c01).mirror(0x007e).nopr().w(this, FUNC(jedi_state::nvram_enable_w));
|
map(0x1c00, 0x1c01).mirror(0x007e).nopr().w(this, FUNC(jedi_state::nvram_enable_w));
|
||||||
map(0x1c80, 0x1c82).mirror(0x0078).nopr().w(this, FUNC(jedi_state::a2d_select_w));
|
map(0x1c80, 0x1c87).mirror(0x0078).nopr().w("adc", FUNC(adc0808_device::address_offset_start_w));
|
||||||
map(0x1c83, 0x1c87).mirror(0x0078).noprw();
|
|
||||||
map(0x1d00, 0x1d00).mirror(0x007f).noprw(); /* write: NVRAM store */
|
map(0x1d00, 0x1d00).mirror(0x007f).noprw(); /* write: NVRAM store */
|
||||||
map(0x1d80, 0x1d80).mirror(0x007f).nopr().w("watchdog", FUNC(watchdog_timer_device::reset_w));
|
map(0x1d80, 0x1d80).mirror(0x007f).nopr().w("watchdog", FUNC(watchdog_timer_device::reset_w));
|
||||||
map(0x1e00, 0x1e00).mirror(0x007f).nopr().w(this, FUNC(jedi_state::main_irq_ack_w));
|
map(0x1e00, 0x1e00).mirror(0x007f).nopr().w(this, FUNC(jedi_state::main_irq_ack_w));
|
||||||
@ -321,10 +301,10 @@ static INPUT_PORTS_START( jedi )
|
|||||||
PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF,jedi_state,jedi_audio_comm_stat_r, nullptr)
|
PORT_BIT( 0x60, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF,jedi_state,jedi_audio_comm_stat_r, nullptr)
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
|
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
|
||||||
|
|
||||||
PORT_START("STICKY") /* analog Y */
|
PORT_START("STICKY")
|
||||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
|
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
|
||||||
|
|
||||||
PORT_START("STICKX") /* analog X */
|
PORT_START("STICKX")
|
||||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
|
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
@ -346,6 +326,12 @@ MACHINE_CONFIG_START(jedi_state::jedi)
|
|||||||
|
|
||||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||||
|
|
||||||
|
MCFG_DEVICE_ADD("adc", ADC0809, JEDI_AUDIO_CPU_OSC / 2 / 9)
|
||||||
|
MCFG_ADC0808_IN0_CB(IOPORT("STICKY"))
|
||||||
|
MCFG_ADC0808_IN1_CB(NOOP) // SPARE
|
||||||
|
MCFG_ADC0808_IN2_CB(IOPORT("STICKX"))
|
||||||
|
MCFG_ADC0808_IN3_CB(NOOP) // SPARE
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("outlatch", LS259, 0) // 14J
|
MCFG_DEVICE_ADD("outlatch", LS259, 0) // 14J
|
||||||
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(jedi_state, coin_counter_left_w))
|
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(jedi_state, coin_counter_left_w))
|
||||||
MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(jedi_state, coin_counter_right_w))
|
MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(jedi_state, coin_counter_right_w))
|
||||||
|
Loading…
Reference in New Issue
Block a user