mirror of
https://github.com/holub/mame
synced 2025-06-30 16:00:01 +03:00
(MESS) vtech2 (Laser350/500/700): added cassette save/load
This commit is contained in:
parent
87bd8e7e7f
commit
32e5a050b1
@ -187,7 +187,7 @@ WRITE8_MEMBER(vtech2_state::laser_bank_select_w)
|
|||||||
************************************************/
|
************************************************/
|
||||||
int vtech2_state::mra_bank(int bank, int offs)
|
int vtech2_state::mra_bank(int bank, int offs)
|
||||||
{
|
{
|
||||||
int level, data = 0xff;
|
UINT8 data = 0x7f;
|
||||||
|
|
||||||
/* Laser 500/700 only: keyboard rows A through D */
|
/* Laser 500/700 only: keyboard rows A through D */
|
||||||
if( (offs & 0x00ff) == 0x00ff )
|
if( (offs & 0x00ff) == 0x00ff )
|
||||||
@ -246,16 +246,9 @@ int vtech2_state::mra_bank(int bank, int offs)
|
|||||||
data &= ioport("ROW7")->read();
|
data &= ioport("ROW7")->read();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* what's bit 7 good for? tape input maybe? */
|
/* BIT 7 - tape input */
|
||||||
level = m_cassette->input() * 65536.0;
|
|
||||||
if( level < m_level_old - 511 )
|
|
||||||
m_cassette_bit = 0x00;
|
|
||||||
if( level > m_level_old + 511 )
|
|
||||||
m_cassette_bit = 0x80;
|
|
||||||
m_level_old = level;
|
|
||||||
|
|
||||||
data &= ~m_cassette_bit;
|
data |= (m_cassette->input() > +0.02) ? 0x80 : 0;
|
||||||
// logerror("bank #%d keyboard_r [$%04X] $%02X\n", bank, offs, data);
|
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
@ -289,6 +282,7 @@ void vtech2_state::mwa_bank(int bank, int offs, int data)
|
|||||||
m_speaker->level_w(data & 1);
|
m_speaker->level_w(data & 1);
|
||||||
m_laser_latch = data;
|
m_laser_latch = data;
|
||||||
}
|
}
|
||||||
|
m_cassette->output( BIT(data, 2) ? -1.0 : +1.0);
|
||||||
break;
|
break;
|
||||||
case 12: /* ext. ROM #1 */
|
case 12: /* ext. ROM #1 */
|
||||||
case 13: /* ext. ROM #2 */
|
case 13: /* ext. ROM #2 */
|
||||||
|
Loading…
Reference in New Issue
Block a user