atm.cpp, pasopia7.cpp, spc1500.cpp, spyhuntertec.cpp, tasman.cpp: removed a tiny bunch of MACHINE_*_MEMBER and VIDEO_*_MEMBER

This commit is contained in:
Ivan Vangelista 2020-11-22 19:40:20 +01:00
parent 61971f7b26
commit 8d4559070f
5 changed files with 63 additions and 44 deletions

View File

@ -17,6 +17,8 @@ Not working because of banking issues.
#include "machine/beta.h"
namespace {
class atm_state : public spectrum_state
{
public:
@ -32,12 +34,14 @@ public:
void atm(machine_config &config);
void atmtb2(machine_config &config);
protected:
virtual void machine_reset() override;
private:
void atm_port_7ffd_w(uint8_t data);
uint8_t beta_neutral_r(offs_t offset);
uint8_t beta_enable_r(offs_t offset);
uint8_t beta_disable_r(offs_t offset);
DECLARE_MACHINE_RESET(atm);
void atm_io(address_map &map);
void atm_mem(address_map &map);
@ -141,7 +145,7 @@ void atm_state::atm_switch(address_map &map)
map(0x4000, 0xffff).r(FUNC(atm_state::beta_disable_r));
}
MACHINE_RESET_MEMBER(atm_state,atm)
void atm_state::machine_reset()
{
uint8_t *messram = m_ram->pointer();
m_program = &m_maincpu->space(AS_PROGRAM);
@ -195,8 +199,6 @@ void atm_state::atm(machine_config &config)
m_maincpu->set_addrmap(AS_IO, &atm_state::atm_io);
m_maincpu->set_addrmap(AS_OPCODES, &atm_state::atm_switch);
MCFG_MACHINE_RESET_OVERRIDE(atm_state, atm )
BETA_DISK(config, m_beta, 0);
subdevice<gfxdecode_device>("gfxdecode")->set_info(gfx_atm);
@ -254,6 +256,9 @@ ROM_START( atmtb2 )
ROM_LOAD( "sgen.rom", 0x0000, 0x0800, CRC(1f4387d6) SHA1(93b3774dc8a486643a1bdd48c606b0c84fa0e22b))
ROM_END
} // Anonymous namespace
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
COMP( 1991, atm, spec128, 0, atm, spec_plus, atm_state, empty_init, "MicroART", "ATM", MACHINE_NOT_WORKING)
//COMP( 1991, atmtb1, spec128, 0, atm, spec_plus, atm_state, empty_init, "MicroART", "ATM-turbo1", MACHINE_NOT_WORKING)

View File

@ -46,6 +46,8 @@
#include "speaker.h"
namespace {
class pasopia7_state : public driver_device
{
public:
@ -80,6 +82,8 @@ public:
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
private:
uint8_t vram_r(offs_t offset);
@ -106,7 +110,6 @@ private:
uint8_t nmi_portb_r();
DECLARE_WRITE_LINE_MEMBER(speaker_w);
TIMER_CALLBACK_MEMBER(pio_timer);
DECLARE_VIDEO_START(pasopia7);
void p7_lcd_palette(palette_device &palette) const;
MC6845_UPDATE_ROW(update_row);
@ -137,7 +140,6 @@ private:
u8 m_porta_2;
bool m_spr_sw;
emu_timer *m_pio_timer;
virtual void machine_reset() override;
void fdc_irq(bool state);
void draw_cg4_line(bitmap_rgb32 &bitmap,int y,int yi,int width,int count);
void draw_tv_line(bitmap_rgb32 &bitmap,int y,int yi,int width,int count,int cursor_x);
@ -180,7 +182,7 @@ TIMER_CALLBACK_MEMBER( pasopia7_state::pio_timer )
m_pio->port_b_write(keyb_r());
}
VIDEO_START_MEMBER(pasopia7_state,pasopia7)
void pasopia7_state::video_start()
{
m_p7_pal = std::make_unique<uint8_t[]>(0x10);
}
@ -407,7 +409,7 @@ void pasopia7_state::pasopia_nmi_trap()
}
}
uint8_t pasopia7_state::fdc_r(offs_t offset)
[[maybe_unused]] uint8_t pasopia7_state::fdc_r(offs_t offset)
{
switch(offset)
{
@ -770,7 +772,7 @@ void pasopia7_state::p7_lcd_palette(palette_device &palette) const
palette.set_pen_color(i, 0x30, 0x38, 0x10);
}
void pasopia7_state::fdc_irq(bool state)
[[maybe_unused]] void pasopia7_state::fdc_irq(bool state)
{
m_maincpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE);
}
@ -848,8 +850,6 @@ void pasopia7_state::p7_raster(machine_config &config)
m_screen->set_visarea(0, 640-1, 0, 32-1);
m_screen->set_screen_update(m_crtc, FUNC(mc6845_device::screen_update));
MCFG_VIDEO_START_OVERRIDE(pasopia7_state,pasopia7)
PALETTE(config, m_palette, palette_device::BRG_3BIT);
GFXDECODE(config, "gfxdecode", m_palette, gfx_pasopia7);
@ -871,8 +871,6 @@ void pasopia7_state::p7_lcd(machine_config &config)
m_screen->set_visarea(0, 640-1, 0, 200-1);
m_screen->set_screen_update(m_crtc, FUNC(mc6845_device::screen_update));
MCFG_VIDEO_START_OVERRIDE(pasopia7_state,pasopia7)
PALETTE(config, m_palette, FUNC(pasopia7_state::p7_lcd_palette), 8);
GFXDECODE(config, "gfxdecode", m_palette, gfx_pasopia7);
@ -922,6 +920,8 @@ void pasopia7_state::init_p7_lcd()
m_pio_timer->adjust(attotime::from_hz(5000), 0, attotime::from_hz(5000));
}
} // Anonymous namespace
/* Driver */

View File

@ -13,11 +13,11 @@ Samsung SPC-1500 driver by Miso Kim
2016-01-05 detection of color palette initialization
2016-01-06 80x16 mode graphic mode support
2016-01-10 double character support
2016-01-12 PCG adressing improved
2016-01-12 PCG addressing improved
2016-01-13 Cassette tape motor improved
TODO:
- Verify PCG ram read for Korean character (english character is fine)
- Verify PCG ram read for Korean character (English character is fine)
- Support floppy disk drive with SD-1500A controller card
****************************************************************************/
@ -44,7 +44,7 @@ TODO:
- English font: 8KB (sizes 8x8 and 8x16 size of each character in ROM)
- Hangul fonts: 24KB (head 8KB, middle 8KB, last 8KB)
Periperials
Peripherals
- Built-in cassette deck
- 1 composite video output to connect a monitor
- 1 TTL output for RGB monitor connection
@ -66,9 +66,9 @@ TODO:
3) SPC-1500V
This product can not confirm the release date because of PCB level modification.
It equiped SPC-1500V VLSI chip embedded products and removed a lot of TTLs and the memory expansion card.
It equipped SPC-1500V VLSI chip embedded products and removed a lot of TTLs and the memory expansion card.
- IOCS ROM Version: 1.6
- Two internal 50-pin expension slots
- Two internal 50-pin expansion slots
Firmware
@ -90,11 +90,11 @@ TODO:
Hangul ROM
8KB each is divided by a consonant and consonant and neutral.
- Initial (Choseong) SS151-1223: 8 types of intial character (actual 6 types)
- Initial (Choseong) SS151-1223: 8 types of initial character (actual 6 types)
- Middle (Jungseong) SS152-1224: 2 types of middle character
- Final (Jongseong) SS153-1225: 2 types of final character
Periperials - Monitor
Peripherals - Monitor
- , high-resolution monitor SM, color monitor model was to distinguish it from CD.
1) MD-1255H (Low resolution monitors MD)
@ -128,7 +128,7 @@ TODO:
- 5.25 "floppy drive for 2D composed of external disk drives diskettes
2) SD-1500B
- Dual external disk drives
- The two models are idential except the number of FDD. They need the expension controller card named by SFC-1500.
- The two models are identical except the number of FDD. They need the expansion controller card named by SFC-1500.
- IBM PC XT compatible FDD can be quipped. SFD-5x0 model is a genuine FDD from Samsung Electronics.
HDD (Hard Disk Drive)
@ -149,9 +149,9 @@ TODO:
1) SP-510S
- Bitmap image output method Hangul support
- Recommanded 80 columns dot-matrix printer
- Recommended 80 columns dot-matrix printer
2) SP-570H
- Recommanded 132 columns dot-matrix printer
- Recommended 132 columns dot-matrix printer
3) SP-510L
4) SP-510T
5) SP-570B
@ -207,7 +207,7 @@ TODO:
- Release price: 49,900won ($58)
Super Pack
- External ROM cartrige from Static Soft (C)
- External ROM cartridge from Static Soft (C)
- 1 cartridge slot and 3 expansion slots (up to five expansion slots available)
- It is available to use the MSX ROM packs without any modification with the static soft VDP card
- Release price: 60,000won ($71)
@ -215,7 +215,7 @@ TODO:
ST-KEY2
- For synthesizer external keyboard
* Compatiblity with X1 series of Sharp Electronics
* Compatibility with X1 series of Sharp Electronics
- Almost the key components is the same as X1 models of Sharp Electronics and except for the keyboard input.
- To port the X1 software to SPC-1500, Text attribute, keyboard input and DMA related code should be modified
@ -239,6 +239,9 @@ TODO:
#include "formats/spc1000_cas.h"
namespace {
#define VDP_CLOCK XTAL(42'954'545)
class spc1500_state : public driver_device
@ -264,6 +267,11 @@ public:
void spc1500(machine_config &config);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
private:
uint8_t psga_r();
uint8_t porta_r();
@ -285,7 +293,6 @@ private:
void double_w(offs_t offset, uint8_t data);
uint8_t io_r(offs_t offset);
void spc_palette(palette_device &palette) const;
DECLARE_VIDEO_START(spc);
MC6845_UPDATE_ROW(crtc_update_row);
MC6845_RECONFIGURE(crtc_reconfig);
TIMER_DEVICE_CALLBACK_MEMBER(timer);
@ -308,8 +315,6 @@ private:
bool m_motor_toggle;
uint8_t m_crtc_vreg[0x100];
bool m_centronics_busy;
virtual void machine_start() override;
virtual void machine_reset() override;
required_device<z80_device> m_maincpu;
required_device<mc6845_device> m_vdg;
required_device<cassette_image_device> m_cass;
@ -511,9 +516,6 @@ void spc1500_state::spc_palette(palette_device &palette) const
palette.set_pen_color(7,rgb_t(0xff,0xff,0xff));
}
VIDEO_START_MEMBER(spc1500_state, spc)
{
}
MC6845_RECONFIGURE(spc1500_state::crtc_reconfig)
{
@ -840,7 +842,7 @@ void spc1500_state::machine_reset()
m_char_count = 0;
}
uint8_t spc1500_state::mc6845_videoram_r(offs_t offset)
[[maybe_unused]] uint8_t spc1500_state::mc6845_videoram_r(offs_t offset)
{
return m_p_videoram[offset];
}
@ -853,7 +855,7 @@ uint8_t spc1500_state::psga_r()
return data;
}
uint8_t spc1500_state::porta_r()
[[maybe_unused]] uint8_t spc1500_state::porta_r()
{
uint8_t data = 0x3f;
data |= (m_cass->input() > 0.0038) ? 0x80 : 0;
@ -889,8 +891,6 @@ void spc1500_state::spc1500(machine_config &config)
m_vdg->set_update_row_callback(FUNC(spc1500_state::crtc_update_row));
m_vdg->set_reconfigure_callback(FUNC(spc1500_state::crtc_reconfig));
MCFG_VIDEO_START_OVERRIDE(spc1500_state, spc)
I8255(config, m_pio);
m_pio->out_pa_callback().set("cent_data_out", FUNC(output_latch_device::write));
m_pio->in_pb_callback().set(FUNC(spc1500_state::portb_r));
@ -939,7 +939,9 @@ ROM_START( spc1500 )
ROM_LOAD( "ss153fnt.bin", 0x6000, 0x2000, CRC(8677d5fa) SHA1(34bfacc855c3846744cd586c150c72e5cbe948b0) )
ROM_END
} // Anonymous namespace
/* Driver */
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS

View File

@ -29,6 +29,9 @@ sound system appears to be the same as 'spartanxtec.cpp'
#include "spyhunttec.lh"
namespace {
class spyhuntertec_state : public driver_device
{
public:
@ -53,6 +56,11 @@ public:
void init_spyhuntertec();
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
@ -68,9 +76,6 @@ private:
required_device<screen_device> m_screen;
required_device<generic_latch_8_device> m_soundlatch;
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_spyhuntertec(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@ -85,7 +90,6 @@ private:
tilemap_t *m_bg_tilemap;
void spyhuntertec_paletteram_w(offs_t offset, uint8_t data);
// DECLARE_VIDEO_START(spyhuntertec);
// uint32_t screen_update_spyhuntertec(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void spyhuntertec_port04_w(uint8_t data);
void spyhuntertec_portf0_w(uint8_t data);
@ -917,6 +921,9 @@ void spyhuntertec_state::init_spyhuntertec()
m_spyhunt_scroll_offset = 16;
}
} // Anonymous namespace
/***************************************************************************
* Game Drivers *
***************************************************************************/

View File

@ -33,6 +33,8 @@
#include "speaker.h"
namespace {
#define CUSTOM_DRAW 1
class kongambl_state : public driver_device
@ -57,6 +59,10 @@ public:
void init_kingtut();
protected:
virtual void machine_reset() override { m_irq_mask = 0; };
virtual void video_start() override;
private:
required_device<cpu_device> m_maincpu;
required_device<k053252_device> m_k053252;
@ -76,10 +82,8 @@ private:
uint32_t test_r();
// uint32_t rng_r();
DECLARE_VIDEO_START(kongambl);
uint8_t m_irq_mask;
virtual void machine_reset() override { m_irq_mask = 0; };
uint32_t screen_update_kongambl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
WRITE_LINE_MEMBER(vblank_irq_ack_w);
WRITE_LINE_MEMBER(hblank_irq_ack_w);
@ -92,7 +96,7 @@ private:
};
VIDEO_START_MEMBER(kongambl_state,kongambl)
void kongambl_state::video_start()
{
#if CUSTOM_DRAW
@ -669,8 +673,6 @@ void kongambl_state::kongambl(machine_config &config)
PALETTE(config, m_palette).set_format(palette_device::xRGB_888, 32768);
MCFG_VIDEO_START_OVERRIDE(kongambl_state,kongambl)
K055555(config, m_k055555, 0);
K055673(config, m_k055673, 0);
@ -828,6 +830,9 @@ void kongambl_state::init_kingtut()
//rom[0x55e40/4] = (rom[0x55e40/4] & 0xffff0000) | 0x4e71; // goes away from the POST
}
} // Anonymous namespace
GAME( 199?, kingtut, 0, kongambl, kongambl, kongambl_state, init_kingtut, ROT0, "Konami", "King Tut (NSW, Australia)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME( 199?, moneybnk, 0, kongambl, kongambl, kongambl_state, empty_init, ROT0, "Konami", "Money In The Bank (NSW, Australia)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME( 199?, dragsphr, 0, kongambl, kongambl, kongambl_state, empty_init, ROT0, "Konami", "Dragon Sphere", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )