Skip to content

Commit 25587a6

Browse files
committed
qs300: Correct inputs polarity and voltage of battery
1 parent 7fa05ad commit 25587a6

File tree

1 file changed

+56
-56
lines changed

1 file changed

+56
-56
lines changed

src/mame/yamaha/ymqs300.cpp

+56-56
Original file line numberDiff line numberDiff line change
@@ -161,10 +161,10 @@ u8 qs300_state::mp7_r()
161161
{
162162
// Some bits are inverted with transistors for led driving reasons.
163163
u8 mask = m_mpb ^ 0x1b;
164-
u8 res = 0xff;
164+
u8 res = 0;
165165
for(u32 i=0; i != 7; i++)
166166
if(BIT(mask, i))
167-
res &= m_inputs[i]->read();
167+
res |= m_inputs[i]->read();
168168

169169
return res;
170170
}
@@ -200,7 +200,7 @@ void qs300_state::qs300(machine_config &config)
200200
m_subcpu->read_adc<4>().set_constant(0); // Foot control
201201
m_subcpu->read_adc<5>().set_constant(0); // Foot volume
202202
m_subcpu->read_adc<6>().set_constant(0x3ff); // Unconnected
203-
m_subcpu->read_adc<7>().set_constant(0x3ff); // Battery
203+
m_subcpu->read_adc<7>().set_constant(0x276); // Battery (3V)
204204
m_subcpu->set_addrmap(AS_PROGRAM, &qs300_state::submap);
205205
m_subcpu->read_port9().set(FUNC(qs300_state::sp9_r));
206206
m_subcpu->read_porta().set(FUNC(qs300_state::spa_r));
@@ -249,7 +249,7 @@ void qs300_state::mainmap(address_map &map)
249249

250250
// 480000: fdc
251251

252-
map(0x600000, 0x67ffff).ram();
252+
map(0x600000, 0x67ffff).ram().mirror(0x180000);
253253
}
254254

255255
void qs300_state::submap(address_map &map)
@@ -267,70 +267,70 @@ void qs300_state::lcdmap(address_map &map)
267267

268268
static INPUT_PORTS_START( qs300 )
269269
PORT_START("DR0")
270-
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Song") PORT_CODE(KEYCODE_A)
271-
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Voice") PORT_CODE(KEYCODE_S)
272-
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Shift") PORT_CODE(KEYCODE_LSHIFT)
273-
PORT_BIT(0xf8, IP_ACTIVE_LOW, IPT_UNUSED)
270+
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Song") PORT_CODE(KEYCODE_A)
271+
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Voice") PORT_CODE(KEYCODE_S)
272+
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Shift") PORT_CODE(KEYCODE_LSHIFT)
273+
PORT_BIT(0xf8, IP_ACTIVE_HIGH, IPT_UNUSED)
274274

275275
PORT_START("DR1")
276-
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Pattern") PORT_CODE(KEYCODE_D)
277-
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Phrase") PORT_CODE(KEYCODE_F)
278-
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("F1") PORT_CODE(KEYCODE_Q)
279-
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("F2") PORT_CODE(KEYCODE_W)
280-
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("7") PORT_CODE(KEYCODE_7)
281-
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("8") PORT_CODE(KEYCODE_8)
282-
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("9") PORT_CODE(KEYCODE_9)
283-
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
276+
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Pattern") PORT_CODE(KEYCODE_D)
277+
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Phrase") PORT_CODE(KEYCODE_F)
278+
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F1") PORT_CODE(KEYCODE_Q)
279+
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F2") PORT_CODE(KEYCODE_W)
280+
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("7") PORT_CODE(KEYCODE_7)
281+
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("8") PORT_CODE(KEYCODE_8)
282+
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("9") PORT_CODE(KEYCODE_9)
283+
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED)
284284

285285
PORT_START("DR2")
286-
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Utility") PORT_CODE(KEYCODE_G)
287-
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Disk") PORT_CODE(KEYCODE_H)
288-
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("F3") PORT_CODE(KEYCODE_E)
289-
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("F4") PORT_CODE(KEYCODE_R)
290-
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("4") PORT_CODE(KEYCODE_4)
291-
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("5") PORT_CODE(KEYCODE_5)
292-
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("6") PORT_CODE(KEYCODE_6)
293-
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
286+
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Utility") PORT_CODE(KEYCODE_G)
287+
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Disk") PORT_CODE(KEYCODE_H)
288+
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F3") PORT_CODE(KEYCODE_E)
289+
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F4") PORT_CODE(KEYCODE_R)
290+
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("4") PORT_CODE(KEYCODE_4)
291+
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("5") PORT_CODE(KEYCODE_5)
292+
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("6") PORT_CODE(KEYCODE_6)
293+
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED)
294294

295295
PORT_START("DR3")
296-
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Record") PORT_CODE(KEYCODE_J)
297-
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Top") PORT_CODE(KEYCODE_K)
298-
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("F5") PORT_CODE(KEYCODE_T)
299-
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("F6") PORT_CODE(KEYCODE_Y)
300-
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("1") PORT_CODE(KEYCODE_1)
301-
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("2") PORT_CODE(KEYCODE_2)
302-
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("3") PORT_CODE(KEYCODE_3)
303-
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
296+
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Record") PORT_CODE(KEYCODE_J)
297+
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Top") PORT_CODE(KEYCODE_K)
298+
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F5") PORT_CODE(KEYCODE_T)
299+
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F6") PORT_CODE(KEYCODE_Y)
300+
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("1") PORT_CODE(KEYCODE_1)
301+
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("2") PORT_CODE(KEYCODE_2)
302+
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("3") PORT_CODE(KEYCODE_3)
303+
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED)
304304

305305
PORT_START("DR4")
306-
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Stop") PORT_CODE(KEYCODE_Z)
307-
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Run") PORT_CODE(KEYCODE_X)
308-
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("F7") PORT_CODE(KEYCODE_U)
309-
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("F8") PORT_CODE(KEYCODE_I)
310-
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("0") PORT_CODE(KEYCODE_0)
311-
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("-") PORT_CODE(KEYCODE_MINUS)
312-
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER)
313-
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
306+
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Stop") PORT_CODE(KEYCODE_Z)
307+
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Run") PORT_CODE(KEYCODE_X)
308+
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F7") PORT_CODE(KEYCODE_U)
309+
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("F8") PORT_CODE(KEYCODE_I)
310+
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("0") PORT_CODE(KEYCODE_0)
311+
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("-") PORT_CODE(KEYCODE_MINUS)
312+
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER)
313+
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED)
314314

315315
PORT_START("DR5")
316-
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("<<") PORT_CODE(KEYCODE_COMMA)
317-
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME(">>") PORT_CODE(KEYCODE_STOP)
318-
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Exit") PORT_CODE(KEYCODE_BACKSPACE)
319-
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
320-
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Dec/No") PORT_CODE(KEYCODE_OPENBRACE)
321-
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME(UTF8_UP) PORT_CODE(KEYCODE_UP)
322-
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Inc/Yes") PORT_CODE(KEYCODE_CLOSEBRACE)
323-
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
316+
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("<<") PORT_CODE(KEYCODE_COMMA)
317+
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(">>") PORT_CODE(KEYCODE_STOP)
318+
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Exit") PORT_CODE(KEYCODE_BACKSPACE)
319+
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_UNUSED)
320+
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Dec/No") PORT_CODE(KEYCODE_OPENBRACE)
321+
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(UTF8_UP) PORT_CODE(KEYCODE_UP)
322+
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Inc/Yes") PORT_CODE(KEYCODE_CLOSEBRACE)
323+
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED)
324324

325325
PORT_START("DR6")
326-
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Edit") PORT_CODE(KEYCODE_C)
327-
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Job") PORT_CODE(KEYCODE_V)
328-
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Store") PORT_CODE(KEYCODE_B)
329-
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
330-
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME(UTF8_LEFT) PORT_CODE(KEYCODE_LEFT)
331-
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME(UTF8_DOWN) PORT_CODE(KEYCODE_DOWN)
332-
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME(UTF8_RIGHT) PORT_CODE(KEYCODE_RIGHT)
333-
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
326+
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Edit") PORT_CODE(KEYCODE_C)
327+
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Job") PORT_CODE(KEYCODE_V)
328+
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Store") PORT_CODE(KEYCODE_B)
329+
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_UNUSED)
330+
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(UTF8_LEFT) PORT_CODE(KEYCODE_LEFT)
331+
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(UTF8_DOWN) PORT_CODE(KEYCODE_DOWN)
332+
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME(UTF8_RIGHT) PORT_CODE(KEYCODE_RIGHT)
333+
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED)
334334
INPUT_PORTS_END
335335

336336
ROM_START( qs300 )

0 commit comments

Comments
 (0)