Imported from GitHub: hyano/rp3802 · commit 712d980 · license MIT
Description
Tiny YM3802 emulator by Raspberry Pi Pico
README
RP3802: Tiny YM3802 emulator by Raspberry Pi Pico
RP3802 is a pin-level emulator of the YAMAHA MIDI control chip YM3802 using a Raspberry Pi Pico.
Notes
- Please use at your own risk.
- The input/output voltage of the Raspberry Pi Pico's GPIO is 3.3V, while the input/output voltage of the YM3802 is 5V. However, no level shifter is used for cost reduction.
- The Raspberry Pi Pico is overclocked to 250MHz for operation.
- Serial I/F settings are fixed at 31,250bps, 8bits, no parity.
- Supports only major functions for X68000 games and utilities.
Pin assignment
| Pico | Direction | Description | Comment |
|---|---|---|---|
| GPIO 0 | Output | YM3802 TxD | UART TX |
| GPIO 1 | Input | YM3802 RxD | UART RX |
| GPIO 2-4 | Input | YM3802 A0-A2 | |
| GPIO 5-12 | Input | YM3802 D0-D7 | |
| GPIO 13 | Input | /CS | /RD | <-- GPIO 20 |
| GPIO 14 | Input | /CS | /WR | <-- GPIO 21 |
| GPIO 15 | Input | YM3802 /IC | |
| GPIO 16 | Outut | YM3802 /IRQ | |
| GPIO 17 | Input | YM3802 /RD | |
| GPIO 18 | Input | YM3802 /CS | |
| GPIO 19 | Input | YM3802 /WR | |
| GPIO 20 | Output | /CS | /RD | --> GPIO 13 |
| GPIO 21 | Output | /CS | /RD | --> GPIO 14 |
| GPIO 22 | Output | LED (HEARTBEAT) | |
| GPIO 26 | Output | LED (TX) | |
| GPIO 27 | Output | LED (RX) | |
| GPIO 28 | Output | LED (IRQ) |
Implementation status
| internal block functions | Status | Note |
|---|---|---|
| Transmitter | Implemented | |
| FIFO-Tx | Implemented | |
| Receiver | Implemented | |
| FIFO-Rx | Implemented | |
| Break detector | Implemented | detect (UART break) + send |
| FIFO-ITx | Implemented | |
| Idle detector | Implemented | active sense (FE) auto-send |
| Off-line detector | Implemented | |
| MIDI clock filter | Implemented | |
| Address hunter | Implemented | maker/device ID filter |
| SYNC detector | Not implemented | tape SYNC; no pin |
| MIDI clock timer | Implemented | |
| SYNC controller | Not implemented | needs SYNC output pin |
| CLICK counter | Implemented | IRQ only; no CLICK output pin |
| MIDI clock interpolator | Implemented | software-timed (approximate) |
| Recording counter | Implemented | |
| Playback counter | Implemented | |
| MIDI message detector | Implemented | |
| FIFO-IRx | Implemented | |
| MIDI message distributor | Implemented | |
| General-purpose timer | Implemented | |
| I/O controller | Not implemented | P0-P7 pins repurposed |
| IRQ controller | Implemented |
Parts List
| 部品 | 型番 | 数量 | place |
|---|---|---|---|
| 基板 | (自作) | 1 | - |
| 丸ピンIC用連結ソケット | MH-1X20-L2 | 2 | U1 |
| Raspberry Pi Pico 2 | SC1631 | 1 | U2 |
| ショットキーバリアダイオード | RB160M-30TR | 1 | D1 |
| 青色チップLED | OSBL1608C1A | 4 | D2~5 |
| チップ抵抗 | 10kΩ | 1 | R1 |
| チップ抵抗 | 1kΩ | 4 | R2~5 |
| ピンヘッダー | 1 x 3P L型 | 1 | J1 |
| ピンヘッダー | 1 x 8P L型 | 1 | J2 |
License
RP3802 is licensed under the MIT License. See LICENSE.
No comments yet. Be the first to ask about this board.