mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
dai: cleanup
This commit is contained in:
parent
b481fa3268
commit
88bfa9826d
@ -63,26 +63,21 @@ Timings:
|
||||
#include "emu.h"
|
||||
#include "includes/dai.h"
|
||||
#include "screen.h"
|
||||
#include "softlist.h"
|
||||
#include "speaker.h"
|
||||
|
||||
/* I/O ports */
|
||||
void dai_state::dai_io(address_map &map)
|
||||
{
|
||||
}
|
||||
|
||||
/* memory w/r functions */
|
||||
void dai_state::dai_mem(address_map &map)
|
||||
void dai_state::mem_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0xbfff).bankrw("bank1");
|
||||
map(0xc000, 0xdfff).rom();
|
||||
map(0x0000, 0xbfff).ram().share("mainram");
|
||||
map(0xc000, 0xdfff).rom().region("maincpu",0);
|
||||
map(0xe000, 0xefff).bankr("bank2");
|
||||
map(0xf000, 0xf7ff).w(FUNC(dai_state::dai_stack_interrupt_circuit_w));
|
||||
map(0xf000, 0xf7ff).w(FUNC(dai_state::stack_interrupt_circuit_w));
|
||||
map(0xf800, 0xf8ff).ram();
|
||||
map(0xfb00, 0xfbff).rw(FUNC(dai_state::dai_amd9511_r), FUNC(dai_state::dai_amd9511_w));
|
||||
map(0xfc00, 0xfcff).rw(FUNC(dai_state::dai_pit_r), FUNC(dai_state::dai_pit_w)); // .rw("pit8253", FUNC(pit8253_device::read), FUNC(pit8253_device::write));
|
||||
map(0xfd00, 0xfdff).rw(FUNC(dai_state::dai_io_discrete_devices_r), FUNC(dai_state::dai_io_discrete_devices_w));
|
||||
map(0xfe00, 0xfeff).rw("ppi8255", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0xfb00, 0xfbff).rw(FUNC(dai_state::amd9511_r), FUNC(dai_state::amd9511_w));
|
||||
map(0xfc00, 0xfcff).rw(FUNC(dai_state::pit_r), FUNC(dai_state::pit_w)); // .rw(m_pit, FUNC(pit8253_device::read), FUNC(pit8253_device::write));
|
||||
map(0xfd00, 0xfdff).rw(FUNC(dai_state::io_discrete_devices_r), FUNC(dai_state::io_discrete_devices_w));
|
||||
map(0xfe00, 0xfeff).rw("ppi", FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
map(0xff00, 0xff0f).mirror(0xf0).m(m_tms5501, FUNC(tms5501_device::io_map));
|
||||
}
|
||||
|
||||
@ -183,7 +178,7 @@ static const gfx_layout dai_charlayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_dai )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x0000, dai_charlayout, 0, 8 )
|
||||
GFXDECODE_ENTRY( "chargen", 0x0000, dai_charlayout, 0, 8 )
|
||||
GFXDECODE_END
|
||||
|
||||
/* machine definition */
|
||||
@ -191,8 +186,7 @@ void dai_state::dai(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
I8080(config, m_maincpu, 2000000);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &dai_state::dai_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &dai_state::dai_io);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &dai_state::mem_map);
|
||||
m_maincpu->set_irq_acknowledge_callback(FUNC(dai_state::int_ack));
|
||||
config.set_maximum_quantum(attotime::from_hz(60));
|
||||
|
||||
@ -204,7 +198,7 @@ void dai_state::dai(machine_config &config)
|
||||
m_pit->set_clk<2>(2000000);
|
||||
m_pit->out_handler<2>().set(m_sound, FUNC(dai_sound_device::set_input_ch2));
|
||||
|
||||
I8255(config, "ppi8255");
|
||||
I8255(config, "ppi");
|
||||
|
||||
/* video hardware */
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
@ -212,7 +206,7 @@ void dai_state::dai(machine_config &config)
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
|
||||
screen.set_size(1056, 542);
|
||||
screen.set_visarea(0, 1056-1, 0, 302-1);
|
||||
screen.set_screen_update(FUNC(dai_state::screen_update_dai));
|
||||
screen.set_screen_update(FUNC(dai_state::screen_update));
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, "gfxdecode", m_palette, gfx_dai);
|
||||
@ -234,11 +228,8 @@ void dai_state::dai(machine_config &config)
|
||||
/* tms5501 */
|
||||
TMS5501(config, m_tms5501, 2000000);
|
||||
m_tms5501->int_callback().set_inputline("maincpu", I8085_INTR_LINE);
|
||||
m_tms5501->xi_callback().set(FUNC(dai_state::dai_keyboard_r));
|
||||
m_tms5501->xo_callback().set(FUNC(dai_state::dai_keyboard_w));
|
||||
|
||||
/* internal ram */
|
||||
RAM(config, RAM_TAG).set_default_size("48K");
|
||||
m_tms5501->xi_callback().set(FUNC(dai_state::keyboard_r));
|
||||
m_tms5501->xo_callback().set(FUNC(dai_state::keyboard_w));
|
||||
|
||||
/* software lists */
|
||||
SOFTWARE_LIST(config, "cass_list").set_original("dai_cass");
|
||||
@ -246,15 +237,16 @@ void dai_state::dai(machine_config &config)
|
||||
|
||||
|
||||
ROM_START(dai)
|
||||
ROM_REGION(0x14000,"maincpu",0)
|
||||
ROM_LOAD("dai.bin", 0xc000, 0x2000, CRC(ca71a7d5) SHA1(6bbe2336c717354beab2ae201debeb4fd055bdcb))
|
||||
ROM_LOAD("dai00.bin", 0x10000, 0x1000, CRC(fa7d39ac) SHA1(3d1824a1f273882f934249ef3cb1b38ef99de7b9))
|
||||
ROM_LOAD("dai01.bin", 0x11000, 0x1000, CRC(cb5809f2) SHA1(523656f0a9d98888cd3e2bd66886c589e9ae75b4))
|
||||
ROM_LOAD("dai02.bin", 0x12000, 0x1000, CRC(03f72d4a) SHA1(573d65dc82321970dcaf81d7638a02252ea18a7a))
|
||||
ROM_LOAD("dai03.bin", 0x13000, 0x1000, CRC(c475c96f) SHA1(96fc3cc4b8a2873f0d044bd8033d1e7b7197dd97))
|
||||
ROM_REGION(0x2000, "gfx1",0)
|
||||
ROM_REGION(0x6000,"maincpu",0)
|
||||
ROM_LOAD("dai.bin", 0x0000, 0x2000, CRC(ca71a7d5) SHA1(6bbe2336c717354beab2ae201debeb4fd055bdcb))
|
||||
ROM_LOAD("dai00.bin", 0x2000, 0x1000, CRC(fa7d39ac) SHA1(3d1824a1f273882f934249ef3cb1b38ef99de7b9))
|
||||
ROM_LOAD("dai01.bin", 0x3000, 0x1000, CRC(cb5809f2) SHA1(523656f0a9d98888cd3e2bd66886c589e9ae75b4))
|
||||
ROM_LOAD("dai02.bin", 0x4000, 0x1000, CRC(03f72d4a) SHA1(573d65dc82321970dcaf81d7638a02252ea18a7a))
|
||||
ROM_LOAD("dai03.bin", 0x5000, 0x1000, CRC(c475c96f) SHA1(96fc3cc4b8a2873f0d044bd8033d1e7b7197dd97))
|
||||
|
||||
ROM_REGION(0x2000, "chargen",0)
|
||||
ROM_LOAD ("nch.bin", 0x0000, 0x1000, CRC(a9f5b30b) SHA1(24119b2984ab4e50dc0dabae1065ff6d6c1f237d))
|
||||
ROM_END
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME */
|
||||
COMP( 1978, dai, 0, 0, dai, dai, dai_state, empty_init, "Data Applications International", "DAI Personal Computer", 0)
|
||||
COMP( 1978, dai, 0, 0, dai, dai, dai_state, empty_init, "Data Applications International", "DAI Personal Computer", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -13,7 +13,6 @@
|
||||
#include "audio/dai_snd.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/pit8253.h"
|
||||
#include "machine/ram.h"
|
||||
#include "machine/tms5501.h"
|
||||
#include "imagedev/cassette.h"
|
||||
#include "emupal.h"
|
||||
@ -22,15 +21,17 @@
|
||||
class dai_state : public driver_device
|
||||
{
|
||||
public:
|
||||
dai_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_pit(*this, "pit8253"),
|
||||
m_tms5501(*this, "tms5501"),
|
||||
m_sound(*this, "custom"),
|
||||
m_cassette(*this, "cassette"),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_palette(*this, "palette")
|
||||
dai_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_pit(*this, "pit")
|
||||
, m_tms5501(*this, "tms5501")
|
||||
, m_sound(*this, "custom")
|
||||
, m_cassette(*this, "cassette")
|
||||
, m_rom(*this, "maincpu")
|
||||
, m_ram(*this, "mainram")
|
||||
, m_palette(*this, "palette")
|
||||
, m_io_keyboard(*this, "IN%u", 0U)
|
||||
{ }
|
||||
|
||||
void dai(machine_config &config);
|
||||
@ -38,46 +39,45 @@ public:
|
||||
private:
|
||||
enum
|
||||
{
|
||||
TIMER_BOOTSTRAP,
|
||||
TIMER_TMS5501
|
||||
};
|
||||
|
||||
u8 m_paddle_select;
|
||||
u8 m_paddle_enable;
|
||||
u8 m_cassette_motor[2];
|
||||
u8 m_keyboard_scan_mask;
|
||||
u8 m_4_colours_palette[4];
|
||||
void stack_interrupt_circuit_w(u8 data);
|
||||
u8 io_discrete_devices_r(offs_t offset);
|
||||
void io_discrete_devices_w(offs_t offset, u8 data);
|
||||
u8 amd9511_r();
|
||||
void amd9511_w(offs_t offset, u8 data);
|
||||
u8 pit_r(offs_t offset);
|
||||
void pit_w(offs_t offset, u8 data);
|
||||
u8 keyboard_r();
|
||||
void keyboard_w(u8 data);
|
||||
void dai_palette(palette_device &palette) const;
|
||||
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
IRQ_CALLBACK_MEMBER(int_ack);
|
||||
|
||||
void mem_map(address_map &map);
|
||||
|
||||
static const rgb_t s_palette[16];
|
||||
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
|
||||
memory_passthrough_handler *m_rom_shadow_tap;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<pit8253_device> m_pit;
|
||||
required_device<tms5501_device> m_tms5501;
|
||||
required_device<dai_sound_device> m_sound;
|
||||
required_device<cassette_image_device> m_cassette;
|
||||
required_device<ram_device> m_ram;
|
||||
required_region_ptr<u8> m_rom;
|
||||
required_shared_ptr<u8> m_ram;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
uint8_t m_paddle_select;
|
||||
uint8_t m_paddle_enable;
|
||||
uint8_t m_cassette_motor[2];
|
||||
uint8_t m_keyboard_scan_mask;
|
||||
unsigned short m_4_colours_palette[4];
|
||||
void dai_stack_interrupt_circuit_w(uint8_t data);
|
||||
uint8_t dai_io_discrete_devices_r(offs_t offset);
|
||||
void dai_io_discrete_devices_w(offs_t offset, uint8_t data);
|
||||
uint8_t dai_amd9511_r();
|
||||
void dai_amd9511_w(offs_t offset, uint8_t data);
|
||||
uint8_t dai_pit_r(offs_t offset);
|
||||
void dai_pit_w(offs_t offset, uint8_t data);
|
||||
uint8_t dai_keyboard_r();
|
||||
void dai_keyboard_w(uint8_t data);
|
||||
void dai_palette(palette_device &palette) const;
|
||||
uint32_t screen_update_dai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void dai_update_memory(int dai_rom_bank);
|
||||
IRQ_CALLBACK_MEMBER(int_ack);
|
||||
|
||||
void dai_io(address_map &map);
|
||||
void dai_mem(address_map &map);
|
||||
|
||||
static const rgb_t s_palette[16];
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
required_ioport_array<9> m_io_keyboard;
|
||||
};
|
||||
|
||||
|
||||
|
@ -23,11 +23,8 @@ void dai_state::device_timer(emu_timer &timer, device_timer_id id, int param, vo
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
case TIMER_BOOTSTRAP:
|
||||
m_maincpu->set_pc(0xc000);
|
||||
break;
|
||||
case TIMER_TMS5501:
|
||||
m_tms5501->xi7_w((ioport("IN8")->read() & 0x04) ? 1:0);
|
||||
m_tms5501->xi7_w(BIT(m_io_keyboard[8]->read(), 2));
|
||||
timer_set(attotime::from_hz(100), TIMER_TMS5501);
|
||||
break;
|
||||
default:
|
||||
@ -41,33 +38,24 @@ void dai_state::device_timer(emu_timer &timer, device_timer_id id, int param, vo
|
||||
|
||||
/* Memory */
|
||||
|
||||
void dai_state::dai_stack_interrupt_circuit_w(uint8_t data)
|
||||
void dai_state::stack_interrupt_circuit_w(uint8_t data)
|
||||
{
|
||||
m_tms5501->sens_w(1);
|
||||
m_tms5501->sens_w(0);
|
||||
}
|
||||
|
||||
void dai_state::dai_update_memory(int dai_rom_bank)
|
||||
{
|
||||
membank("bank2")->set_entry(dai_rom_bank);
|
||||
}
|
||||
|
||||
|
||||
uint8_t dai_state::dai_keyboard_r()
|
||||
uint8_t dai_state::keyboard_r()
|
||||
{
|
||||
uint8_t data = 0x00;
|
||||
static const char *const keynames[] = { "IN0", "IN1", "IN2", "IN3", "IN4", "IN5", "IN6", "IN7" };
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
for (u8 i = 0; i < 8; i++)
|
||||
if (m_keyboard_scan_mask & (1 << i))
|
||||
data |= ioport(keynames[i])->read();
|
||||
}
|
||||
data |= m_io_keyboard[i]->read();
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
void dai_state::dai_keyboard_w(uint8_t data)
|
||||
void dai_state::keyboard_w(uint8_t data)
|
||||
{
|
||||
m_keyboard_scan_mask = data;
|
||||
}
|
||||
@ -79,16 +67,33 @@ IRQ_CALLBACK_MEMBER(dai_state::int_ack)
|
||||
|
||||
void dai_state::machine_start()
|
||||
{
|
||||
membank("bank2")->configure_entries(0, 4, memregion("maincpu")->base() + 0x010000, 0x1000);
|
||||
timer_set(attotime::zero, TIMER_BOOTSTRAP);
|
||||
membank("bank2")->configure_entries(0, 4, m_rom + 0x2000, 0x1000);
|
||||
timer_set(attotime::from_hz(100), TIMER_TMS5501);
|
||||
|
||||
memset(m_ram->pointer(), 0, m_ram->size());
|
||||
save_item(NAME(m_paddle_select));
|
||||
save_item(NAME(m_paddle_enable));
|
||||
save_item(NAME(m_cassette_motor));
|
||||
save_item(NAME(m_keyboard_scan_mask));
|
||||
save_item(NAME(m_4_colours_palette));
|
||||
}
|
||||
|
||||
void dai_state::machine_reset()
|
||||
{
|
||||
membank("bank1")->set_base(m_ram->pointer());
|
||||
address_space &program = m_maincpu->space(AS_PROGRAM);
|
||||
program.install_rom(0x0000, 0x07ff, m_rom); // do it here for F3
|
||||
m_rom_shadow_tap = program.install_read_tap(0xc000, 0xc7ff, "rom_shadow_r",[this](offs_t offset, u8 &data, u8 mem_mask)
|
||||
{
|
||||
if (!machine().side_effects_disabled())
|
||||
{
|
||||
// delete this tap
|
||||
m_rom_shadow_tap->remove();
|
||||
|
||||
// reinstall ram over the rom shadow
|
||||
m_maincpu->space(AS_PROGRAM).install_ram(0x0000, 0x07ff, m_ram);
|
||||
}
|
||||
|
||||
// return the original data
|
||||
return data;
|
||||
});
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
@ -120,13 +125,13 @@ void dai_state::machine_reset()
|
||||
bit 6-7 ROM bank switching
|
||||
***************************************************************************/
|
||||
|
||||
uint8_t dai_state::dai_io_discrete_devices_r(offs_t offset)
|
||||
uint8_t dai_state::io_discrete_devices_r(offs_t offset)
|
||||
{
|
||||
uint8_t data = 0x00;
|
||||
uint8_t data = 0xff;
|
||||
|
||||
switch(offset & 0x000f) {
|
||||
case 0x00:
|
||||
data = ioport("IN8")->read();
|
||||
switch(offset & 0x0f) {
|
||||
case 0:
|
||||
data = m_io_keyboard[8]->read();
|
||||
data |= 0x08; // serial ready
|
||||
if (machine().rand()&0x01)
|
||||
data |= 0x40; // random number generator
|
||||
@ -135,42 +140,40 @@ uint8_t dai_state::dai_io_discrete_devices_r(offs_t offset)
|
||||
break;
|
||||
|
||||
default:
|
||||
data = 0xff;
|
||||
LOG_DAI_PORT_R (offset, data, "discrete devices - unmapped");
|
||||
|
||||
break;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
void dai_state::dai_io_discrete_devices_w(offs_t offset, uint8_t data)
|
||||
void dai_state::io_discrete_devices_w(offs_t offset, uint8_t data)
|
||||
{
|
||||
switch(offset & 0x000f) {
|
||||
case 0x04:
|
||||
m_sound->set_volume(offset, data);
|
||||
LOG_DAI_PORT_W (offset, data&0x0f, "discrete devices - osc. 0 volume");
|
||||
LOG_DAI_PORT_W (offset, (data&0xf0)>>4, "discrete devices - osc. 1 volume");
|
||||
LOG_DAI_PORT_W (offset, BIT(data, 4, 4), "discrete devices - osc. 1 volume");
|
||||
break;
|
||||
|
||||
case 0x05:
|
||||
m_sound->set_volume(offset, data);
|
||||
LOG_DAI_PORT_W (offset, data&0x0f, "discrete devices - osc. 2 volume");
|
||||
LOG_DAI_PORT_W (offset, (data&0xf0)>>4, "discrete devices - noise volume");
|
||||
LOG_DAI_PORT_W (offset, BIT(data, 4, 4), "discrete devices - noise volume");
|
||||
break;
|
||||
|
||||
case 0x06:
|
||||
m_paddle_select = (data&0x06)>>2;
|
||||
m_paddle_enable = (data&0x08)>>3;
|
||||
m_cassette_motor[0] = (data&0x10)>>4;
|
||||
m_cassette_motor[1] = (data&0x20)>>5;
|
||||
m_paddle_select = BIT(data, 1, 2);
|
||||
m_paddle_enable = BIT(data, 3);
|
||||
m_cassette_motor[0] = BIT(data, 4);
|
||||
m_cassette_motor[1] = BIT(data, 5);
|
||||
m_cassette->change_state(m_cassette_motor[0]?CASSETTE_MOTOR_DISABLED:CASSETTE_MOTOR_ENABLED, CASSETTE_MASK_MOTOR);
|
||||
m_cassette->output((data & 0x01) ? -1.0 : 1.0);
|
||||
dai_update_memory ((data&0xc0)>>6);
|
||||
LOG_DAI_PORT_W (offset, (data&0x06)>>2, "discrete devices - paddle select");
|
||||
LOG_DAI_PORT_W (offset, (data&0x08)>>3, "discrete devices - paddle enable");
|
||||
LOG_DAI_PORT_W (offset, (data&0x10)>>4, "discrete devices - cassette motor 1");
|
||||
LOG_DAI_PORT_W (offset, (data&0x20)>>5, "discrete devices - cassette motor 2");
|
||||
LOG_DAI_PORT_W (offset, (data&0xc0)>>6, "discrete devices - ROM bank");
|
||||
m_cassette->output(BIT(data, 0) ? -1.0 : 1.0);
|
||||
membank("bank2")->set_entry(BIT(data, 6, 2));
|
||||
LOG_DAI_PORT_W (offset, BIT(data, 1, 2), "discrete devices - paddle select");
|
||||
LOG_DAI_PORT_W (offset, BIT(data, 3), "discrete devices - paddle enable");
|
||||
LOG_DAI_PORT_W (offset, BIT(data, 4), "discrete devices - cassette motor 1");
|
||||
LOG_DAI_PORT_W (offset, BIT(data, 5), "discrete devices - cassette motor 2");
|
||||
LOG_DAI_PORT_W (offset, BIT(data, 6, 2), "discrete devices - ROM bank");
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -188,14 +191,14 @@ void dai_state::dai_io_discrete_devices_w(offs_t offset, uint8_t data)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
uint8_t dai_state::dai_pit_r(offs_t offset)
|
||||
uint8_t dai_state::pit_r(offs_t offset)
|
||||
{
|
||||
return m_pit->read((offset >> 1) & 3);
|
||||
return m_pit->read(BIT(offset, 1, 2));
|
||||
}
|
||||
|
||||
void dai_state::dai_pit_w(offs_t offset, uint8_t data)
|
||||
void dai_state::pit_w(offs_t offset, uint8_t data)
|
||||
{
|
||||
m_pit->write((offset >> 1) & 3, data);
|
||||
m_pit->write(BIT(offset, 1, 2), data);
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
@ -204,13 +207,13 @@ void dai_state::dai_pit_w(offs_t offset, uint8_t data)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
uint8_t dai_state::dai_amd9511_r()
|
||||
uint8_t dai_state::amd9511_r()
|
||||
{
|
||||
/* optional and no present at this moment */
|
||||
/* optional and not present at this moment */
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
void dai_state::dai_amd9511_w(offs_t offset, uint8_t data)
|
||||
void dai_state::amd9511_w(offs_t offset, uint8_t data)
|
||||
{
|
||||
logerror ("Writing to AMD9511 math chip, %04x, %02x\n", offset, data);
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
Krzysztof Strzecha
|
||||
|
||||
All video modes are emulated but not fully tested yet.
|
||||
dai_state::screen_update_dai() function needs strong cleanup and optimalisation.
|
||||
dai_state::screen_update() function needs strong cleanup and optimisation.
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
@ -47,12 +47,12 @@ void dai_state::dai_palette(palette_device &palette) const
|
||||
palette.set_pen_colors(0, s_palette);
|
||||
}
|
||||
|
||||
uint32_t dai_state::screen_update_dai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
uint32_t dai_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
address_space &space = m_maincpu->space(AS_PROGRAM);
|
||||
int i, j, k, l;
|
||||
|
||||
uint8_t* char_rom = memregion("gfx1")->base();
|
||||
uint8_t* char_rom = memregion("chargen")->base();
|
||||
|
||||
uint16_t dai_video_memory_start = 0xbfff;
|
||||
uint16_t dai_scan_lines = 604; /* scan lines of PAL tv */
|
||||
|
Loading…
Reference in New Issue
Block a user