mirror of
https://github.com/holub/mame
synced 2025-04-28 11:11:48 +03:00
(MESS) vip: Fixed VP-700 Tiny BASIC ROM mapping and VP-620 ASCII keyboard. [Curt Coder]
This commit is contained in:
parent
2bfb06fde9
commit
ba7a9d75ee
@ -56,7 +56,7 @@ Notes:
|
|||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
|
|
||||||
- Tiny BASIC
|
- ASCII keyboard
|
||||||
- cassette loading
|
- cassette loading
|
||||||
- 20K RAM for Floating Point BASIC
|
- 20K RAM for Floating Point BASIC
|
||||||
- VP-111 has 1K RAM, no byte I/O, no expansion
|
- VP-111 has 1K RAM, no byte I/O, no expansion
|
||||||
@ -266,16 +266,13 @@ READ8_MEMBER( vip_state::read )
|
|||||||
|
|
||||||
UINT8 data = m_exp->program_r(space, offset, cs, cdef, &minh);
|
UINT8 data = m_exp->program_r(space, offset, cs, cdef, &minh);
|
||||||
|
|
||||||
if (!minh)
|
if (cs)
|
||||||
{
|
{
|
||||||
if (cs)
|
data = memregion(CDP1802_TAG)->base()[offset & 0x1ff];
|
||||||
{
|
}
|
||||||
data = memregion(CDP1802_TAG)->base()[offset & 0x1ff];
|
else if (!minh)
|
||||||
}
|
{
|
||||||
else
|
data = m_ram->pointer()[offset & m_ram->mask()];
|
||||||
{
|
|
||||||
data = m_ram->pointer()[offset & m_ram->mask()];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
@ -708,6 +705,9 @@ void vip_state::machine_reset()
|
|||||||
|
|
||||||
// internal speaker
|
// internal speaker
|
||||||
m_beeper->set_output_gain(0, ioport("BEEPER")->read() ? 0.80 : 0);
|
m_beeper->set_output_gain(0, ioport("BEEPER")->read() ? 0.80 : 0);
|
||||||
|
|
||||||
|
// clear byte I/O latch
|
||||||
|
m_byteio_data = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,7 +25,10 @@ const device_type VP620 = &device_creator<vp620_device>;
|
|||||||
WRITE8_MEMBER( vp620_device::kb_w )
|
WRITE8_MEMBER( vp620_device::kb_w )
|
||||||
{
|
{
|
||||||
m_keydata = data;
|
m_keydata = data;
|
||||||
|
|
||||||
|
m_slot->inst_w(0);
|
||||||
|
m_slot->inst_w(1);
|
||||||
|
|
||||||
m_keystb = ASSERT_LINE;
|
m_keystb = ASSERT_LINE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,7 +99,7 @@ UINT8 vp620_device::vip_in_r()
|
|||||||
// vip_ef3_r - EF3 flag read
|
// vip_ef3_r - EF3 flag read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
int vp620_device::vip_ef3_r()
|
int vp620_device::vip_ef4_r()
|
||||||
{
|
{
|
||||||
int state = m_keystb;
|
int state = m_keystb;
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ protected:
|
|||||||
|
|
||||||
// device_vip_byteio_port_interface overrides
|
// device_vip_byteio_port_interface overrides
|
||||||
virtual UINT8 vip_in_r();
|
virtual UINT8 vip_in_r();
|
||||||
virtual int vip_ef3_r();
|
virtual int vip_ef4_r();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UINT8 m_keydata;
|
UINT8 m_keydata;
|
||||||
|
@ -72,7 +72,7 @@ UINT8 vp700_device::vip_program_r(address_space &space, offs_t offset, int cs, i
|
|||||||
{
|
{
|
||||||
UINT8 data = 0xff;
|
UINT8 data = 0xff;
|
||||||
|
|
||||||
if (cs)
|
if (offset < 0x1000)
|
||||||
{
|
{
|
||||||
*minh = 1;
|
*minh = 1;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user