The RBSC Carnivore2 is one of the coolest multi-function MSX cartridges available today. It was created by the Russian Bear Service Crew (RBSC) in 2017 and offers a lot of features for the MSX line of computers.
The project was released as open source, and several manufacturers were authorized to produce the cartridge commercially, but as all resources are openly available, you can just go ahead, and order everything you need to build one for yourself.
The cartridge has the following cool features:
- Compact Flash card storage
- Maximum partition size: 4GB
- Uses Nextor as DOS (native FAT12/16 support)
- High speed transfer (read and write)
- Supports CF-to-MicroSD adapters
- Nextor supports DSK emulation
- MSX-DOS and MSX-DOS2 capable tools
- Can be configured as RAM expansion, disk drive, FM-PAC or SCC/SCC+ cartridge or as a combination of those
- RAM: 2048KB (2MB)
- Distribution:
- 1024KB Memory mapper
- 256KB for BIOS ROM shadowing
- 720KB MegaRAM-alike mapper
- 4KB (in the last 64KB block) for PAC SRAM (requires in internal battery to preserve data after power-off)
- Distribution:
- FlashROM: 8MB (64Mbits)
- Fast Writing
- First 256kb used for service areas and BIOS ROMs
- Mapper emulation:
- up to 64K plain ROM
- ASCII 8K
- ASCII 16K
- Konami4
- Konami5 (SCC/SCC+)
- custom-configurable mapper
- Sound
- Additional info
- Boot menu with multiple entries (ROM or configuration)
- Entry sorting
- Customizable UI (colors, entry sorting, key repeat speed, fade effects)
- Help pages
- Volume control for all emulated sound hardware
- Joystick and joypad support
- 50/60Hz instant switching support
- Turbo/R800 mode switching support
- Supports entry’s auto-start with timer
- Allows to run 2 ROMs at the same time in the Dual-Slot screen
- Mono/stereo modes for FMPAC output
- Allows to set the default startup frequency (50 or 60Hz)
- Konami sized cartridge
- Operates at standard 3.58 MHz as well as at overclocked 7.11 MHz bus speeds
- Powered by a FPGA (EP2C5Q208C8 Altera CYCLONE II)
- Uses proprietary software to manage all functions
- ROM loader into FlashROM and RAM
- backup tool for FlashROM, configuration mini FlashROM and PAC SRAM
- IDE interface testing tool, etc.
- Boot menu with multiple entries (ROM or configuration)
Here is my attempt to build a few for family and friends and documenting all steps (and challenges).
PCB and Components
All the files required to order PCBs are available on the RBSC Carnivore2 Github repo at RBSC/Carnivore2: Carnivore2 MultiFunctional Cartridge for MSX (github.com). There is a Gerber folder with all the files you need. Just download them (or clone the repo), create the zip file with the content and upload to the PCB manufacturer of your choice.
This time I ordered a few PCBs from JLCPCB.
The bill of materials is also available on the same GitHub repo under the Doc folder. There are versions in Russian and English. The table below document all the components required (from the table you can find on GitHub, plus a few links I used to buy the components). Feel free to use those links if you are interested in build your cartridge.
Qtd | Part | Value | Package | Type | Link |
---|---|---|---|---|---|
1 | EP2C5Q208C8 Altera CYCLONE II | N/A | PQFP208 | FPGA | UTSource |
1 | M29W640GB Flash Memory | 64 Mbit | TSOP48 | FLASH | AliExpress |
1 | CY62167DV30 Static RAM | 16 Mbit | TSOP48 | RAM | UTSource |
1 | EPCS4 Altera Configuration Memory | 4 MBit | SOIC8 | FLASH | AliExpress |
1 | YAC516-E | 16 bit | SSOP24 | DAC | AliExpress |
1 | M93C46MN1 | 1 MBit | SOP8 | EEPROM | AliExpress |
2 | 4558D | SOIC8 | Amplifier | AliExpress | |
1 | SG-310 | 50 Mhz | Oscillator | AliExpress | |
1 | AMS1117 | 1.2V | SOT223 | Regulator | AliExpress |
2 | AMS1117 | 3.3V | SOT223 | Regulator | AliExpress |
8 | C1–C4, C22, C23, C26, C28 | 10 uF 10v | SMD 1210 B | Tantalum Capacitor | AliExpress |
2 | C20, C21 | 16V 47uF 476C | SMD 1210 B | Tantalum Capacitor | AliExpress |
1 | C29 | 6V 47uF 476J | SMD 1210 B | Tantalum Capacitor | AliExpress |
4 | C103, C105, C203, C205 | 25V 4.7uF 475E | SMD 1206 A | Tantalum Capacitor | AliExpress |
19 | C5–C19, C24, C25, C27, C30 | 100 nF | SMD 0603 | Ceramic Capacitor | AliExpress |
4 | C101, C102, C201, C202 | 1 nF | SMD 0603 | Ceramic Capacitor | AliExpress |
2 | C104, C204 | 390 pF | SMD 0603 | Ceramic Capacitor | AliExpress |
41 | R2-R42 | 330 Ohm | SMD 0603 | Resistor | AliExpress |
4 | R43, R44, R54, R64 | 10 Ohm | SMD 0603 | Resistor | AliExpress |
3 | R55, R56, R45 | 220 Ohm | SMD 0603 | Resistor | AliExpress |
10 | R46–48, R50, R52, R65, R66, R60, R101, R201 | 10K Ohm | SMD 0603 | Resistor | AliExpress |
7 | R51, R106, R206, R57–R59, R53 | 1K Ohm | SMD 0603 | Resistor | AliExpress |
3 | R61-R63 | 1-2.2K Ohm | SMD 0603 | Resistor | AliExpress |
4 | R102, R103, R202, R203 | 4.7K Ohm | SMD 0603 | Resistor | AliExpress |
2 | R105, R205 | 1.8K Ohm | SMD 0603 | Resistor | AliExpress |
2 | R104, R204 | 100K Ohm | SMD 0603 | Resistor | AliExpress |
6 | D1-D6 | 1N4148 | PTH | Diode | AliExpress |
1 | AX1 | ST-222 | 3.5 mm | Stereo Jack | AliExpress |
1 | CF Card Slot | 3-1734451-1 | 50P | Slot | AliExpress |
4 | T1, T3, T4, T5 | 2SC945 NPN | SOT23 | Transistor | AliExpress |
2 | T2, T6 | 2SA733 PNP | SOT23 | Transistor | AliExpress |
1 | LED1 | SMD | 0805 | LED | AliExpress |
1 | KN1 | N/A | N/A | Push Button | AliExpress |
Soldering
Here is where the Carnivore challenge starts. The cartridge is based solely on 0603 SMD components and its Altera FPGA uses super thin pads. If you are trying to build the cartridge manually, I do recommend start with the FPGA and take triple care. Tin the pads first, leverage flux and use a thin solder tip. Place and align carefully the chip on the pads. Use a microscope to see what you’re doing and please, have patience.
Here is a video of the manual soldering process in case you are curious.
If you happen to have the board stencil, dedicate the appropriate time to align it to the board. I don’t have the PCB stencil printer, but I used a few extra boards to create a bed for the one I want to transfer solder paste and then use a mix of solder paste and flux to ensure the appropriate amount on each pad.
The cartridge has SMD components in both sides, and I use a hot table to solder, because of that I chose one of the sides to leverage this approach with stencil and soldered the other side manually.
Firmware
The cartridge firmware is loaded to the EPCS4 soldered on the card and is loaded into the FPGA every time you turn on your MSX with the cartridge inserted.
To upload the firmware, you will need Quartus and a USB blaster programmer. You will first connect the programmer to your PC and load Quartus programmer. Then you need to load the POF file and program the EPCS4 with the content of the file.
Boot Menu
To load the boot menu you will need a way to boot your MSX with MSXDOS and with the Carnivore 2 cartridge inserted. Then using a set of tools you will load multiple files, including the boot menu and the roms for the FMPAC and IDE interface.
After the configuation, the cartridge will be able to boot into the flashROM selection menu.
Here is a quick video showing how to load the boot menu (and the other roms) to the cartridge.
The CF Card
This is a quick video showing how to configure a new CF card to be used with the cartridge.