@@ -21,71 +21,71 @@ static INPUT_PORTS_START(piano)
21
21
22
22
PORT_START(" P1" )
23
23
PORT_BIT(0x0000000f , IP_ACTIVE_HIGH, IPT_UNUSED)
24
- PORT_BIT(0x00000010 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C2 " )
25
- PORT_BIT(0x00000020 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C2 #" )
26
- PORT_BIT(0x00000040 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D2 " )
27
- PORT_BIT(0x00000080 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D2 #" )
28
- PORT_BIT(0x00000100 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" E2 " )
29
- PORT_BIT(0x00000200 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F2 " )
30
- PORT_BIT(0x00000400 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F2 #" )
31
- PORT_BIT(0x00000800 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G2 " )
32
- PORT_BIT(0x00001000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G2 #" )
33
- PORT_BIT(0x00002000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A2 " )
34
- PORT_BIT(0x00004000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A2 #" )
35
- PORT_BIT(0x00008000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" B2 " )
36
- PORT_BIT(0x00010000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C3 " )
37
- PORT_BIT(0x00020000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C3 #" )
38
- PORT_BIT(0x00040000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D3 " )
39
- PORT_BIT(0x00080000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D3 #" )
40
- PORT_BIT(0x00100000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" E3 " )
41
- PORT_BIT(0x00200000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F3 " )
42
- PORT_BIT(0x00400000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F3 #" )
43
- PORT_BIT(0x00800000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G3 " )
44
- PORT_BIT(0x01000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G3 #" )
45
- PORT_BIT(0x02000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A3 " )
46
- PORT_BIT(0x04000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A3 #" )
47
- PORT_BIT(0x08000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" B3 " )
48
- PORT_BIT(0x10000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C4 " )
49
- PORT_BIT(0x20000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C4 #" )
50
- PORT_BIT(0x40000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D4 " )
51
- PORT_BIT(0x80000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D4 #" )
24
+ PORT_BIT(0x00000010 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C1 " )
25
+ PORT_BIT(0x00000020 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C1 #" )
26
+ PORT_BIT(0x00000040 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D1 " )
27
+ PORT_BIT(0x00000080 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D1 #" )
28
+ PORT_BIT(0x00000100 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" E1 " )
29
+ PORT_BIT(0x00000200 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F1 " )
30
+ PORT_BIT(0x00000400 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F1 #" )
31
+ PORT_BIT(0x00000800 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G1 " )
32
+ PORT_BIT(0x00001000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G1 #" )
33
+ PORT_BIT(0x00002000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A1 " )
34
+ PORT_BIT(0x00004000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A1 #" )
35
+ PORT_BIT(0x00008000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" B1 " )
36
+ PORT_BIT(0x00010000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C2 " )
37
+ PORT_BIT(0x00020000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C2 #" )
38
+ PORT_BIT(0x00040000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D2 " )
39
+ PORT_BIT(0x00080000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D2 #" )
40
+ PORT_BIT(0x00100000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" E2 " )
41
+ PORT_BIT(0x00200000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F2 " )
42
+ PORT_BIT(0x00400000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F2 #" )
43
+ PORT_BIT(0x00800000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G2 " )
44
+ PORT_BIT(0x01000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G2 #" )
45
+ PORT_BIT(0x02000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A2 " )
46
+ PORT_BIT(0x04000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A2 #" )
47
+ PORT_BIT(0x08000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" B2 " )
48
+ PORT_BIT(0x10000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C3 " )
49
+ PORT_BIT(0x20000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C3 #" )
50
+ PORT_BIT(0x40000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D3 " )
51
+ PORT_BIT(0x80000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D3 #" )
52
52
53
53
PORT_START(" P2" )
54
- PORT_BIT(0x00000001 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" E4 " )
55
- PORT_BIT(0x00000002 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F4 " )
56
- PORT_BIT(0x00000004 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F4 #" )
57
- PORT_BIT(0x00000008 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G4 " )
58
- PORT_BIT(0x00000010 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G4 #" )
59
- PORT_BIT(0x00000020 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A4 " )
60
- PORT_BIT(0x00000040 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A4 #" )
61
- PORT_BIT(0x00000080 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" B4 " )
62
- PORT_BIT(0x00000100 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C5 " )
63
- PORT_BIT(0x00000200 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C5 #" )
64
- PORT_BIT(0x00000400 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D5 " )
65
- PORT_BIT(0x00000800 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D5 #" )
66
- PORT_BIT(0x00001000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" E5 " )
67
- PORT_BIT(0x00002000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F5 " )
68
- PORT_BIT(0x00004000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F5 #" )
69
- PORT_BIT(0x00008000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G5 " )
70
- PORT_BIT(0x00010000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G5 #" )
71
- PORT_BIT(0x00020000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A5 " )
72
- PORT_BIT(0x00040000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A5 #" )
73
- PORT_BIT(0x00080000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" B5 " )
74
- PORT_BIT(0x00100000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C6 " )
75
- PORT_BIT(0x00200000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C6 #" )
76
- PORT_BIT(0x00400000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D6 " )
77
- PORT_BIT(0x00800000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D6 #" )
78
- PORT_BIT(0x01000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" E6 " )
79
- PORT_BIT(0x02000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F6 " )
80
- PORT_BIT(0x04000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F6 #" )
81
- PORT_BIT(0x08000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G6 " )
82
- PORT_BIT(0x10000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G6 #" )
83
- PORT_BIT(0x20000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A6 " )
84
- PORT_BIT(0x40000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A6 #" )
85
- PORT_BIT(0x80000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" B6 " )
54
+ PORT_BIT(0x00000001 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" E3 " )
55
+ PORT_BIT(0x00000002 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F3 " )
56
+ PORT_BIT(0x00000004 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F3 #" )
57
+ PORT_BIT(0x00000008 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G3 " )
58
+ PORT_BIT(0x00000010 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G3 #" )
59
+ PORT_BIT(0x00000020 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A3 " )
60
+ PORT_BIT(0x00000040 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A3 #" )
61
+ PORT_BIT(0x00000080 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" B3 " )
62
+ PORT_BIT(0x00000100 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C4 " )
63
+ PORT_BIT(0x00000200 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C4 #" )
64
+ PORT_BIT(0x00000400 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D4 " )
65
+ PORT_BIT(0x00000800 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D4 #" )
66
+ PORT_BIT(0x00001000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" E4 " )
67
+ PORT_BIT(0x00002000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F4 " )
68
+ PORT_BIT(0x00004000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F4 #" )
69
+ PORT_BIT(0x00008000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G4 " )
70
+ PORT_BIT(0x00010000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G4 #" )
71
+ PORT_BIT(0x00020000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A4 " )
72
+ PORT_BIT(0x00040000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A4 #" )
73
+ PORT_BIT(0x00080000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" B4 " )
74
+ PORT_BIT(0x00100000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C5 " )
75
+ PORT_BIT(0x00200000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C5 #" )
76
+ PORT_BIT(0x00400000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D5 " )
77
+ PORT_BIT(0x00800000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" D5 #" )
78
+ PORT_BIT(0x01000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" E5 " )
79
+ PORT_BIT(0x02000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F5 " )
80
+ PORT_BIT(0x04000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" F5 #" )
81
+ PORT_BIT(0x08000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G5 " )
82
+ PORT_BIT(0x10000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" G5 #" )
83
+ PORT_BIT(0x20000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A5 " )
84
+ PORT_BIT(0x40000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" A5 #" )
85
+ PORT_BIT(0x80000000 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" B5 " )
86
86
87
87
PORT_START(" P3" )
88
- PORT_BIT(0x00000001 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C7 " )
88
+ PORT_BIT(0x00000001 , IP_ACTIVE_HIGH, IPT_UNUSED) PORT_NAME(" C6 " )
89
89
PORT_BIT(0xfffffffe , IP_ACTIVE_HIGH, IPT_UNUSED)
90
90
INPUT_PORTS_END
91
91
@@ -154,12 +154,13 @@ void mks3_device::req_w(int state)
154
154
return ;
155
155
156
156
m_req = state;
157
- if (m_req == 0 )
157
+ if (m_req == 0 && m_step == 0xff )
158
158
transmit_next ();
159
159
}
160
160
161
161
TIMER_CALLBACK_MEMBER (mks3_device::transmit_tick)
162
162
{
163
+ logerror (" tr %d\n " , m_step);
163
164
if (m_step == 15 ) {
164
165
transmit_next ();
165
166
return ;
@@ -216,12 +217,12 @@ void mks3_device::send_next()
216
217
// velocity is 10 bits, 0 = max, 3ff = min
217
218
//
218
219
// 80 | key number
219
- // 20 for keyoff , velocity >> 5 otherwise
220
- // 60 | (velocity & 1f)
220
+ // 20 for maximal time(?) , velocity >> 5 otherwise
221
+ // 60 | (velocity & 1f) on) || 00 (keyoff)
221
222
222
223
m_bytes[0 ] = 0x80 | (key & 0x7f );
223
- m_bytes[1 ] = key & 0x100 ? 0 : 0x20 ;
224
- m_bytes[2 ] = 0x60 ;
224
+ m_bytes[1 ] = 0 ; // key & 0x100 ? 0 : 0x20;
225
+ m_bytes[2 ] = (key & 0x100 ) ? 0x60 : 0x00 ;
225
226
m_byte_count = 3 ;
226
227
transmit_next ();
227
228
}
0 commit comments