Previous | 199869 Revisions | Next |
r17380 Tuesday 21st August, 2012 at 19:50:30 UTC by Curt Coder |
---|
(MESS) vip: Fixed VP-700 Tiny BASIC ROM mapping and VP-620 ASCII keyboard. [Curt Coder] |
[src/mess/drivers] | vip.c |
[src/mess/machine] | vp620.c vp620.h vp700.c |
r17379 | r17380 | |
---|---|---|
25 | 25 | WRITE8_MEMBER( vp620_device::kb_w ) |
26 | 26 | { |
27 | 27 | m_keydata = data; |
28 | ||
28 | ||
29 | m_slot->inst_w(0); | |
30 | m_slot->inst_w(1); | |
31 | ||
29 | 32 | m_keystb = ASSERT_LINE; |
30 | 33 | } |
31 | 34 | |
r17379 | r17380 | |
96 | 99 | // vip_ef3_r - EF3 flag read |
97 | 100 | //------------------------------------------------- |
98 | 101 | |
99 | int vp620_device::vip_ef | |
102 | int vp620_device::vip_ef4_r() | |
100 | 103 | { |
101 | 104 | int state = m_keystb; |
102 | 105 |
r17379 | r17380 | |
---|---|---|
44 | 44 | |
45 | 45 | // device_vip_byteio_port_interface overrides |
46 | 46 | virtual UINT8 vip_in_r(); |
47 | virtual int vip_ef | |
47 | virtual int vip_ef4_r(); | |
48 | 48 | |
49 | 49 | private: |
50 | 50 | UINT8 m_keydata; |
r17379 | r17380 | |
---|---|---|
72 | 72 | { |
73 | 73 | UINT8 data = 0xff; |
74 | 74 | |
75 | if ( | |
75 | if (offset < 0x1000) | |
76 | 76 | { |
77 | 77 | *minh = 1; |
78 | 78 |
r17379 | r17380 | |
---|---|---|
56 | 56 | |
57 | 57 | TODO: |
58 | 58 | |
59 | - | |
59 | - | |
60 | 60 | - cassette loading |
61 | 61 | - 20K RAM for Floating Point BASIC |
62 | 62 | - VP-111 has 1K RAM, no byte I/O, no expansion |
r17379 | r17380 | |
266 | 266 | |
267 | 267 | UINT8 data = m_exp->program_r(space, offset, cs, cdef, &minh); |
268 | 268 | |
269 | if ( | |
269 | if (cs | |
270 | 270 | { |
271 | if (cs) | |
272 | { | |
273 | data = memregion(CDP1802_TAG)->base()[offset & 0x1ff]; | |
274 | } | |
275 | else | |
276 | { | |
277 | data = m_ram->pointer()[offset & m_ram->mask()]; | |
278 | } | |
271 | data = memregion(CDP1802_TAG)->base()[offset & 0x1ff]; | |
279 | 272 | } |
273 | else if (!minh) | |
274 | { | |
275 | data = m_ram->pointer()[offset & m_ram->mask()]; | |
276 | } | |
280 | 277 | |
281 | 278 | return data; |
282 | 279 | } |
r17379 | r17380 | |
708 | 705 | |
709 | 706 | // internal speaker |
710 | 707 | m_beeper->set_output_gain(0, ioport("BEEPER")->read() ? 0.80 : 0); |
708 | ||
709 | // clear byte I/O latch | |
710 | m_byteio_data = 0; | |
711 | 711 | } |
712 | 712 | |
713 | 713 |
Previous | 199869 Revisions | Next |