From 32c2989411c7a02d818aff04f82dad1f3e0d991a Mon Sep 17 00:00:00 2001 From: Robbbert Date: Mon, 17 Feb 2014 04:02:09 +0000 Subject: [PATCH] (MESS) spc1000 : Connected Play button. Added notes. --- src/lib/formats/apf_apt.c | 2 ++ src/lib/formats/spc1000_cas.c | 12 ++++++++++++ src/mess/drivers/spc1000.c | 20 +++++++++++++------- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/lib/formats/apf_apt.c b/src/lib/formats/apf_apt.c index 90edbdbc8c6..58582ef5dc8 100644 --- a/src/lib/formats/apf_apt.c +++ b/src/lib/formats/apf_apt.c @@ -20,6 +20,8 @@ recording head." S19 images are not emulated, however there's no need to as they are only used to hold cartridge hex dumps. +TXT images can be copy/pasted by using the Paste menu option. + Each byte after conversion becomes bit 7,6,etc to 0, There are no start or stop bits. diff --git a/src/lib/formats/spc1000_cas.c b/src/lib/formats/spc1000_cas.c index 0218b2499e5..02ddb53aa06 100644 --- a/src/lib/formats/spc1000_cas.c +++ b/src/lib/formats/spc1000_cas.c @@ -5,6 +5,18 @@ Support for Samsung SPC-1000 cassette images +Tape formats: + +TAP: This is a series of 0x30 and 0x31 bytes, representing binary + 0 and 1. It includes the header and leaders. + +CAS: This format has not been investigated yet. + +STA: This format has not been investigated yet, but is assumed to + be the save state of some other emulator. + +IPL: This format has not been investigated yet. + ********************************************************************/ #include "spc1000_cas.h" diff --git a/src/mess/drivers/spc1000.c b/src/mess/drivers/spc1000.c index 0673d2a5fe6..03a6aa6d8dc 100644 --- a/src/mess/drivers/spc1000.c +++ b/src/mess/drivers/spc1000.c @@ -1,8 +1,15 @@ /*************************************************************************** - Samsung SPC-1000 driver by Miodrag Milanovic +Samsung SPC-1000 driver by Miodrag Milanovic + + 2009-05-10 Preliminary driver. + 2014-02-16 Added cassette, many games are playable + +ToDo: +- Some games have keyboard problems (e.g. Invaders, Panzerspitze) +- Some games freeze at start (e.g. Super Xevious) +- Find out if any of the unconnected parts of 6000,4000,4001 are used - 10/05/2009 Preliminary driver. ****************************************************************************/ @@ -31,8 +38,6 @@ public: DECLARE_WRITE8_MEMBER(spc1000_iplk_w); DECLARE_READ8_MEMBER(spc1000_iplk_r); - DECLARE_WRITE8_MEMBER(spc1000_video_ram_w); - DECLARE_READ8_MEMBER(spc1000_video_ram_r); DECLARE_WRITE_LINE_MEMBER(irq_w); DECLARE_WRITE8_MEMBER(spc1000_gmode_w); DECLARE_READ8_MEMBER(spc1000_gmode_r); @@ -276,8 +281,9 @@ READ8_MEMBER(spc1000_state::spc1000_mc6847_videoram_r) READ8_MEMBER( spc1000_state::porta_r ) { UINT8 data = 0; - if (m_cass->input() > 0.0038) - data |= 0x80; + data |= (m_cass->input() > 0.0038) ? 0x80 : 0; + data |= ((m_cass->get_state() & CASSETTE_MASK_UISTATE) == CASSETTE_PLAY) ? 0x00 : 0x40; + return data; } @@ -339,7 +345,7 @@ static MACHINE_CONFIG_START( spc1000, spc1000_state ) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("ay8910", AY8910, XTAL_4MHz / 1) MCFG_SOUND_CONFIG(spc1000_ay_interface) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)