@@ -177,7 +177,7 @@ module emu
177
177
// `define DEBUG_BUILD
178
178
179
179
assign ADC_BUS = 'Z ;
180
- assign { UART_RTS , UART_TXD , UART_DTR } = 0 ;
180
+ // assign {UART_RTS, UART_TXD, UART_DTR} = 0;
181
181
assign BUTTONS = osd_btn;
182
182
assign { SD_SCK , SD_MOSI , SD_CS } = 'Z ;
183
183
@@ -244,11 +244,11 @@ video_freak video_freak
244
244
// 0 1 2 3 4 5 6
245
245
// 01234567890123456789012345678901 23456789012345678901234567890123
246
246
// 0123456789ABCDEFGHIJKLMNOPQRSTUV 0123456789ABCDEFGHIJKLMNOPQRSTUV
247
- // XXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX
247
+ // XXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX
248
248
249
249
`include " build_id.v"
250
250
localparam CONF_STR = {
251
- " Genesis;;" ,
251
+ " Genesis;UART31250,MIDI ;" ,
252
252
" FS,BINGENMD ;" ,
253
253
" -;" ,
254
254
" O67,Region,JP,US,EU;" ,
@@ -295,6 +295,7 @@ localparam CONF_STR = {
295
295
" P2o89,Gun Control,Disabled,Joy1,Joy2,Mouse;" ,
296
296
" D4P2oA,Gun Fire,Joy,Mouse;" ,
297
297
" D4P2oBC,Cross,Small,Medium,Big,None;" ,
298
+ " P2oO,Miracle Piano,No,Yes;" ,
298
299
299
300
" P3,Miscellaneous;" ,
300
301
" P3-;" ,
@@ -1124,13 +1125,44 @@ always @(posedge clk_sys) begin
1124
1125
USER_OUT [2 ] <= SERJOYSTICK_OUT [4 ];
1125
1126
USER_OUT [6 ] <= SERJOYSTICK_OUT [5 ];
1126
1127
USER_OUT [4 ] <= SERJOYSTICK_OUT [6 ];
1128
+ end else if (piano) begin
1129
+ SERJOYSTICK_IN [0 ] <= piano_joypad_do;// up
1130
+ SERJOYSTICK_IN [1 ] <= 0 ;// down
1131
+ SERJOYSTICK_IN [2 ] <= 0 ;// left
1132
+ SERJOYSTICK_IN [3 ] <= 0 ;// right
1133
+ SERJOYSTICK_IN [4 ] <= 0 ;// b TL
1134
+ SERJOYSTICK_IN [5 ] <= 0 ;// c TR GPIO7
1135
+ SERJOYSTICK_IN [6 ] <= 0 ;// TH
1136
+ SERJOYSTICK_IN [7 ] <= 0 ;
1137
+ SER_OPT [0 ] <= 1'b0 ;
1138
+ SER_OPT [1 ] <= 1'b1 ;
1139
+ piano_clock <= SERJOYSTICK_OUT [5 ];
1140
+ piano_strobe <= SERJOYSTICK_OUT [6 ];
1127
1141
end else begin
1128
1142
SER_OPT <= 0 ;
1129
1143
USER_OUT <= '1 ;
1130
1144
end
1131
1145
end
1132
1146
1133
1147
1148
+ assign { UART_RTS , UART_DTR } = 1 ;
1149
+ wire [15 : 0 ] uart_data;
1150
+ wire piano_joypad_do;
1151
+ wire piano_clock;
1152
+ wire piano_strobe;
1153
+ wire piano = status[56 ];
1154
+ miraclepiano miracle (
1155
+ .clk (clk_sys),
1156
+ .reset (reset_nes || ! piano),
1157
+ .strobe (piano_strobe),
1158
+ .joypad_o (piano_joypad_do),
1159
+ .joypad_clock (piano_clock),
1160
+ .data_o (uart_data),
1161
+ .txd (UART_TXD ),
1162
+ .rxd (UART_RXD )
1163
+ );
1164
+
1165
+
1134
1166
// debug
1135
1167
reg VDP_BGA_EN = 1 ;
1136
1168
reg VDP_BGB_EN = 1 ;
0 commit comments