MSX

Carnivore 2

Last updated on

Carnivore 2

MSX computers are definitely not my area of expertise, and so far I haven't had any special add-ons for these computers, apart from the simple Beer IDE. However, some time ago I received an add-on for my MSX2 computer that enjoys an excellent reputation and is only produced in limited quantities.
Originally, I planned to just introduce the Carnivore 2 cartridge, but the report turned out to be a bit more extensive because I came across some terms that I would like to explain in more detail in the context of MSX computers and this cartridge. Translated with DeepL.com (free version)

Carnivore 2 is a multifunctional cartridge developed by the Russian Bear Service Crew (RBSC) group. 8bits4ever, based in Spain, distributes the device commercially in small series. The cartridge costs around €120. My version of the circuit board does not have an audio connection (3.5 mm jack). This is not essential for it to function as an FM-PAK audio cartridge, but it is recommended for improved sound quality. When the cartridge is used with a game, it integrates the sound into the normal audio signal for output. The optional jack ensures a better quality result. Since it was unclear whether retrofitting my older card would be possible, I inquired at various places. Finally, even the head of the development group personally confirmed that this is possible.

Description of hardware
– EP2C5Q208C8 Altera CYCLONE II FPGA
– MSX Music
– SCC/SCC+
– Extra PSG
– 8 MB flash ROM
– Nextor and FM-BASIC ROMs on-board
– One Compact Flash socket
– 2048 KB RAM on board

Specifications
– Compact Flash as mass storage (MSX-DOS1/2, FAT12/16)
– 1024 KB memory mapper
– 720 KB pseudo-MegaRAM
– SCC/SCC+ and FM-PAC (with backup RAM support)
– Works with MSX1, MSX2, MSX2+ and TurboR
– Own software utility for managing all functions, ROM loader in Flash ROM, switching multiple functions on and off, etc.

Preparation
First, here is the long version of the instructions on how to prepare the CF card.
Points 1-5 may not be necessary, but I have listed them anyway for the sake of completeness.

1. mit einem Low-Level Formatierungstool (z.B. Hddguru.com), um die CF-Karte komplett zu “nullen”
2. mit dem Windows 7 Diskmanager die CF-Karte komplett formatieren (FAT16)
3. mit dem Disk-Manager von Windows 7 die CF-Karte in eine große Partition partitionieren
4. das Nextor-Archiv herunterladen
5. alle Daten aus der ZIP-Datei entpacken und in das Root-Verzeichnis der CF-Karte kopieren
6. CF-Karte in die Carnivore 2 und den MSX2 booten
7. im Carnivore Boot-Menü RETURN drücken und DEL halten für das Nextor DOS
8. BASIC eingeben für Nextor BASIC
9. CALL FDISK eingeben
10. “1” für Sunrise IDE Treiber eingeben
11. “1” für Festplatte eingeben
12. “1” für die erste (und einzige) Einheit
13. “D” zum Löschen der existierenden Partitionen (ja, das schließt auch Dateien ein, die bereits hinzugefügt wurden)
14. “P” um eine neue Partition hinzufügen. Einige Partitionen mit 50 MB sollten reichen. “S” zeigt alles an, was erstellt wurde
15. ESC zum Hauptmenü.
16. “W” um die Partitionen zu schreiben
17. MSX2 abschalten und CF-Karte mit Windows 7 Rechner verbinden. Die Partitionen, die mit Nextor erstellt wurden, sollten nun zu sehen sein
18. die gleichen Dateien wie vorher in das Root-Verzeichnis der ersten Partition kopieren
19. dazu kommen noch die Dateien C2MAN.COM und C2MAN40.COM (für MSX1) ebenfalls ins Root-Verzeichnis – zu finden auf der Carnivore-Github-Seite
20 CF-Karte wieder in den MSX und das Carnivore 2 Boot-Menü starten
21. wieder RETURN drücken und DEL halten für das Nextor DOS
22. C2MAN Befehl
23. 10 eingeben für Slot 1
24. C2MAN Utility Menü gestartet
25. Danach können ROMs von der CF-Karte geladen werden. Ebenso die RCP-Dateien (auch auf der o.a. Github-Seite) und die Namen der ROMs so angepasst, dass sie den RCP-Namen entsprechen.
Eine andere Möglichkeit ist die Software SofaRUN. Diese arbeitet mit ROM- und Disketten-Images. Hier muss nichts geflasht werden.

These instructions may be a little exaggerated. If you are using a CF card with up to 4GB, it should be easier to do.
1. Format the CF card with FAT16 on your PC.
2. Unzip the Nextor archive mentioned above and the two files from the Carnivore Github page and copy them to the CF card.
3. Insert the CF card into the computer and turn it on. 4. Press ESC – if everything is OK, NEXTOR should now boot and the files on the CF card should be visible. Note: this only worked after I formatted the CF card with SD Formatter – apparently Windows does not write an allocation table to the boot sector.

Write games to the Carnivore's ROM:
C2MAN aleste.rom /a

Nextor
Nextor is a hard disk operating system for MSX computers. It is an improved version of MSX-DOS, with which it is 100% compatible, and it identifies itself as MSX-DOS 2.31 for MSX-DOS-compatible applications.

The main features that Nextor adds to MSX-DOS are:
– Native support for the FAT16 file system
– Nextor can handle the FAT16 file system, increasing the maximum size of usable file systems to 4 GB. The system can also boot from a FAT16 file system
– New, fully documented device driver system
– Device and partition management for drive mapping

Easy partitioning
The BASIC command CALL FDISK can be used to create partitions on any device controlled by a NEXTOR driver.

Eingebetteter MSX-DOS 1-Kernel
Der Rechner wird im MSX-DOS 1-Modus gestartet, wenn dem Computer kein RAM zugeordnet ist.
Dazu muss beim Start die Taste “1” gedrückt werden oder wenn im Bootgerät ein MSX-DOS 1-Bootsektor gefunden wird. Es können Partitionen mit einer Größe von bis zu 16 MB auf jedem Gerät verwenden werden, das von einem Nextor-Treiber gesteuert wird.

Works on MSX 1
Nextor works on all MSX computers, including MSX1. Of course, dedicated memory is required for normal operation, but even without an MSX1 computer, Nextor can be used in MSX-DOS 1 mode.

Support for disk image files
Starting with version 2.1, Nextor can mount disk image files in drive letters, making it easy to manage their contents. It is also possible to boot in disk emulation mode, where disk image files are used as storage devices. This allows you to play old hard disk games that only work in MSX-DOS 1 mode and/or load data with direct sector access (there is no file system on the game hard disks).

Explanations
MSX Basic 2.0: Microsoft Basic for MSX2 computers (my VG-8235: Version 2.1)
MSX DOS: Disk Operating System for MSX computers, which either requires an extra cartridge with the BIOS and a boot disk or, in the case of MSX2 computers, simply the boot disk.

Mega ROM/Mega ROM Mapper
A MegaROM is a cartridge that contains more ROM than the 64 KiB that can be accessed via an MSX slot (sub-slot). To achieve this, the ROM is divided into blocks (usually 8 or 16 KiB) that are assigned to different address ranges within the MSX slot. Blocks can be switched by writing to some special addresses in the slot where the cartridge is located.

Ein verwandter Begriff ist “ROM-Mapper”. Dies bezieht sich normalerweise auf den Mechanismus, der zum Wechseln von Blöcken verwendet wird, wie vom Programmierer aus gesehen. “MegaROM” bezieht sich normalerweise auf eine Cartridge, die einen solchen Mechanismus enthält.

Abgesehen von wenigen Ausnahmen haben ROM-Kassetten eine 2er-Größe. Übliche MegaROM-Größen sind 1 Mbit (128 KiB) oder 2 Mbit (256 KiB). Es existieren jedoch auch 4 Mbit (512 KiB) und sogar einige größere MegaROMs. MegaROMs haben normalerweise ein “MegaROM”-Symbol auf dem Etikett der Cartridge und/oder der Verpackung.

There are different types of ROM mappers. Some of the most common are:

ASCII 8 KiB
ASCII 16 KiB
Konami without SCC
Konami with SCC
A special type of MegaROM is Konami's Sound Custom Chip (SCC). In addition to a ROM mapper, it also contains a sound chip. The SCC chip produces a characteristic sound that is very popular with MSX users.

Some MegaROM cartridges contain battery-backed RAM. This RAM can be used, for example, to save game scores. Hydlide II is one example of this.

Mega RAM
MegaRAM is the name given to a cartridge containing RAM that is assigned as MegaROM. Data is lost when the MSX is turned off.

This allows ROM images to be executed with the same ROM mapper as the original cartridges. Depending on the type of MegaRAM used and the software used, they can also be executed in 80% of cases in the same way as the original cartridge if the ROM mapper is different (using patches).

SCC/SCC+
SCC stands for Sound Creative Chip, the meaning of the abbreviation is mentioned in the Konami Software Club Newsletter 3 from November 1987. It is a sound chip that was developed by Konami in collaboration with Toshiba from around February 1986 and was used in some of their Mega ROM cartridges. It was also available as a separate cartridge and supported some of their floppy disk games. In addition, the chip was also used in various Konami arcade systems.

Ein SCC-Chip bietet 5 Kanäle Wave Table Sound (nicht so weich und niedlich wie der FM-PAC und MSX-Audio, aber schön, wenn er richtig verwendet wird). Tatsächlich sind die Samples nur 32 Byte lang (definieren eine Wellenform) und werden wiederholt, um “echte Sounds” zu erhalten.

Auf jeder Verpackung jedes von Konami produzierten Mega ROM-Spiels mit SCC-Chip können Sie lesen: “… neue 8-stimmige polyphone LSI Custom Sound-Chip-Einheit.” 8 Kanäle? Der Chip hat ja nur 5 Kanäle, und die 3 anderen Kanäle werden vom Standard-PSG-Chip bereitgestellt, der in jedem MSX integriert ist.

The SCC-I, commonly referred to as SCC+, is an improved version of the SCC. In a normal SCC, the 4th and 5th channels have the same waveform. In the SCC-I, the 5th channel can have its own waveform.

The SCC-I is only available in the Konami Sound Cartridge, which comes with the Konami games Snatcher and SD Snatcher. These cartridges also contain 64 KB of RAM (which can be expanded to 128 KB). The cartridge supplied with Snatcher is not normally compatible with the one supplied with SD Snatcher: the RAM banks are located in different places. With the memory expansion, they become compatible, so that the Snatcher Sound Cartridge can be used with SD Snatcher and vice versa.

Here is the complete list of Konami games that use the sound cartridge:

RA 004: Snatcher – Cyberpunk Adventure (3×720 kB Diskette und Sound-Cartridge)
RA 006: Konami’s Game Collection 1 Diskette (kann mit Snatcher’s Sound-Cartridge verwendet werden)
RA 007: Konami’s Game Collection 2 Diskette (kann mit Snatcher’s Sound-Cartridge verwendet werden)
RA 008: Konamis Spielesammlung 3 Diskette (kann Snatchers Soundmodul verwenden)
RA 009: Konamis Spielesammlung 4 Diskette (kann Snatchers Soundmodul verwenden)
RA 010: Konamis Spielesammlung Special Diskette (kann Snatchers Soundmodul verwenden)
RA 011: Super Deform Snatcher (3×720kB Diskette und Sound-Cartridge)

PSG
The standard sound chip in the MSX is called PSG (Programmable Sound Generator). It can play a tone or noise on each of the three voices. It also controls the joystick ports and a few other things.

Like other parts of the MSX specification, the PSG chip was a standard component. In this case, it was the General Instrument AY-3-8910, which can also be found in many other systems of the era. This chip or one of its clones can be found in many MSX1 systems. In newer MSX systems, the PSG is often integrated into a chip called the MSX engine (or MSX system).

FM-PAK
The FM_PAK is a sound add-on compatible with the Pana Amusement Cartridge that equips the MSX with FM synthesis capabilities.

There are many games that already have support for this cartridge built in: R-Type, Aleste Gaiden, to name just a few. This game recognizes compatible cartridges and plays an enhanced soundtrack.

The cartridge also contains new BASIC commands for programming the chip. This allows you to create your own FM music tracks on your MSX.

SofaRun
SofaRun is an MSX tool for running disk images (.DSK), cassettes (.CAS), and cartridges (.ROM). Different settings can be defined and saved for each game. It can also be used to start normal MSX-DOS 2 and BASIC programs.

Es verfügt über einen Joystick-gesteuerten Dateibrowser, Unterstützung für ZIP-Dateien, Optionen zum Zuordnen von JoyMega-Tasten zur Tastatur und “Soft Reset”. So kannst du auf dem Sofa liegen wie ein fauler Pinguin!

Installation
Entpacke “sofarun.zip” irgendwo auf dein MSX-DOS2-Massenspeichergerät (SD-Karte oder Festplatte).

Schließe dein Massenspeichergerät an den MSX an, starte MSX-DOS 2, wechsle in das Verzeichnis, in das du “sofarun.zip” entpackt hast, mit dem Befehl “cd” (z.B. cd sofarun) und starte das Programm mit “SR” (+ Enter). Du solltest den SofaRun-Titelbildschirm sehen. SofaRun akzeptiert keine Dateiargumente, nur diese beiden Optionen können angegeben werden:
/ S: Überspringt die Anzeige des Titelbildschirms.
/ I: Das zuletzt gestartete Spiel ignorieren und SofaRun aus dem aktuellen Verzeichnis starten.

Damit Sofarun schneller gestartet werden kann, ist es praktisch sich eine SR.BAT zu erstellen:
path + A:\SOFARUN
SR.COM

Danach kann mit Eingabe von SR das Programm gestartet werden ohne ein Verzeichnis wechseln zu müssen.

Ebenso empfehlenswert ist es eine AUTOEXEC.BAT zu erstellen:
ver
FAT16.COM
rem set expert=on
set HELP=\HELP
set TIME=24
set path=A:\ A:\COMPRESS A:\MGS A:\PLAYERS A:\SCSAVERS A:\TEXT A:\TOOLS A:\UTILS A:\VIEWERS
rem SR.BAT

Die zweite Zeile wird nicht benötigt falls nur FAT12 Partititon verwendet werden oder wenn Nextor eingesetzt wird.
Die Zeile mit “Path” kann individuell verwendet werden. Danach muss für Befehle in diesen Verzeichnissen kein Pfad gewechselt werden.
Soll SofaRun automatisch gestaretet werden, muss in der letzten Zeile das “rem” entfernt werden.

Links
https://www.msx.org/forum/msx-talk/hardware/carnivore-2-help-0
https://www.8bits4ever.net/product-page/carnivore2
https://www.louthrax.net/mgr/sofarun_usage.html
https://www.youtube.com/watch?v=lSZn97M34Hs
https://sysadminmosaic.ru/en/msx/carnivore2/carnivore2?redirect=1
https://www.msx.org/forum/msx-talk/hardware/carnivore-2-help-0
https://www.louthrax.net/mgr/sofarun_usage.html
download.file-hunter.com – The Complete MSX Download Archive
MSX • HobbyRetro.com
Konamiman’s MSX Page

One response to “Carnivore 2”

  1. Als ich mein Carnivore2 bekommen habe, war es noch nicht komplett ausgebaut. Habe auch einige Zeit einen sehr netten Kontakt mit Alexey gehabt, bis das Modul letztendlich auch bei mir stabil lief. Ich finde den Artikel hier sehr gut beschrieben, vielen Dank