Cassiopei

Much more than a .TAP file player

Although the Cassiopei connects to the cassetteport of your Commodore computer, it is so much more than just an ordinary .TAP file player. But, it does play .TAP files too.  The name Cassiopei is short for CASSette Input Output Peripheral Expansion Interface. The expansion interface, is the connector at the rear of the Cassiopei. It allows you to add your own hardware and control it using your CBM computer. Again this hardware then can be used on all CBM's.
ATTENTION: this project is no longer being developed, due to the release of the CASSIOPEI v2.0.

What is the Cassiopei?

The Cassiopei, is a cassetteport based device. And although it can be used to playback .TAP files it is much more than that Because the Cassiopei can load your .PRG files 50 times faster then the standard tape protocol and more importantly it can work on many 8-bit cassetteport equipped Commodore computers. Ranging from the PET series to the C128.
The Cassiopei looks more like a cartridge then a tape device and that is exactly how you should see it. Although standard tape is slow and far from user friendly the Cassiopei should not be seen as a tape device. Although it uses the tape connector of the computer, the Cassiopei is fast and user friendly. Once properly configured along with the proper files and programs, you plug it in, type load on your CBM and press the menu button. The menu is loaded using a unique fastloader that cannot be compared with the wel known tape fastloaders, it is even faster then a 1541 diskdrive. The menu program will show you all available programs on the Cassiopei device, from there you simply choose the game or file you want to use and it starts automatically, very easy. No fast forward, rewind or those annoying load errors.
When you look at this device you will immediately notice the 3 buttons and LED. The LED shows the activity of the device during loading/saving and configuration of the device. It is also an indicator for the special bootloader mode that allows you to uploading new firmware into the device. The Play/Rec button and does exactly what is says, it allows you to load a selected file using the chosen settings. The Menu button, loads a menu program that allows you to choose the file you want to load. The reset button allows you to reset the device, as the Cassiopei cannot be resetted by the CBM computer, however when operating the Cassiopei in a stand-alone mode (not connected to USB) and when you reset your CBM computer by cycling the power, then you'll most likely never need this button.
The Cassiopei has 8MByte of internal flash memory that can hold a lot of files and programs. You can use .PRG files or .TAP files. For those who wonder, it cannot handle .D64 files as these files are meant to emulate a diskdrive, it would not make sense to use diskdrive files on a device that isn't connected to the diskdrive port. For example: if you have a .D64 multiloader game it will eventually access the drive to load more files... but the Cassiopei isn't connected to the diskdrive port it is connected to the cassette port so it cannot access those files. But apart from that it is a great device for playing single file games, which there are many. But the Cassiopei can do much more then just loading files/games but for that you must scroll a bit more down this webpage.

How to use it?

The modes of operation

The Cassiopei can operate in four different operational modes. The operational mode is selected using the menu function of the Cassiopei. This menu allows you to choose a file and automatically load it. These settings are saved, so if you want to use the same game and mode over and over again, you do not need to go into the menu, saving you precious gaming time ;-)
Standard kernal loader
This is the cassetteport's standard slow loading speed. This mode allows you to load .PRG files from the internal 8MByte flash memory of the Cassiopei exactly in the same way as a real tape would do it, this is the most basic mode possible.
Fast loader
Loads more then 50 times faster times then the standard loader. This mode allows you to load .PRG files from the internal 8MByte flash memory of the Cassiopei.
Virtual file mode
Loads more then 50 times faster times then the standard loader. This mode allows you to load .PRG files directly over USB (makes cross development easier).
TAP file mode
Loads as fast as the original tape image requires it to do. This mode allows you to load .TAP files from the internal 8MByte flash memory of the Cassiopei.

Upload files

The Cassiopei manager is the PC application that allows you to connect to your Cassiopei over a USB interface. You can configure the device for a specific computer model and manage your files, add delete or extract them from the internal flash memory of the Cassiopei. You can indicate which files are from what machine, so you can configure the Cassiopei to be used on more then one machine without having to reconfigure it each time you swap it between to different types of commodore computers (for instance you want to use it with your C64 and VIC20). When used on a C64 you will not see the files for the other computer models. This prevent your screen from being filled with files you cannot use on the current computermodel.
The Cassiopei can hold up to 254 different files of the same type, so you may store 254 .PRG files along with 254.TAP files. Theoretically, because .TAP files are rather large and 8MByte is filled rather quickly when using large .TAP files. But no matter how many games you want to use, keep in mind that the Cassiopei is not a device intended for archiving or to hold you complete collection. Your entire games collection should be stored on a safe location and backed up as well. .PRG files and .TAP are for games and programs, but there might be games and programs that require additional files, the Cassiopei allows you to store audio samples .WAV files and other files types to assist your own Cassiopei based games, but that is a different subject, please read the Cassiopei user manual for more information about that.
So in short, the Cassiopei can be connected to the PC using USB, to the CBM using the cassetteport but also both at the same time which is very practical for cross development. Most importantly is that the Cassiopei can be used stand alone, which is very practical as not everyone has a PC in the same room as the retro computer that requires the Cassiopei. This standalone functionality keeps the area around your CBM computer clean and tidy and makes it possible to load games onto the Cassiopei and stick it in your pocket in order to take it along to a friends house for a carefree evening of retro gaming. Regarding the configuration of the computer model you are using it on, this can be set without the use of the Cassiopei manager, this is described in the manual in full detail.

.TAP file control

For the playback of TAP files the Cassiopei can also be usd stand alone, but this isn't always practical. Simply because the device has only 3 buttons. And navigating through a TAP file with only 3 buttons and no display simply isn't practical. Instead of adding more buttons and fancy displays that would increase the size and costs of the device another approach was chosen. The TAP navigation functionality is integrated into the Cassiopei manager. When the TAP mode is selected the user can navigate through the TAP file using the buttons as he is already familiar with. On screen is datasette that works just like a real datasette, including movement of the tape and sounds of fast forward/rewind. But in many cases (using simple TAP files that require no navigation at all, simply because the game requires no further loading from tape) this functionality is not required and you can still use the Cassiopei with these TAP files (and not being connected to the PC) without any problems.

The menu program

The files/games you want to load may be chosen using the menu program (which will be loaded when the user types LOAD and presses the menu button when the computer request the user to "press play on tape"). As the images below show, there is a menu program for each separate commodore machine that the Cassiopei supports, this because each commodore machine has it's own limitations regarding screen colors, width and height. But also the hardware is slightly different and needs to be controlled in the proper way for that machine. For instance the audio frequencies used by the C16 are different then the audio frequencies used by the C64. Also the IO-pin directions are different on the various models of Commodore computers, so the Cassiopei needs to adjust to that. Simply select the computer model you intend to use and load the menu program into the Cassiopei's flash memory as well as the games/files you intend to use and that's it. The menu program offers only the minimal required settings regarding normal use, this makes it very easy to use. However you do not always need to use the menu. For example: if you already have chosen the file you want to load (because you always want to play the same game), in that case simply press the play/rec button after typing LOAD.
Supported computer models are: CBM 30XX, CBM 80XX, VIC-20, C64, C128, C16, Plus4 (XX stands for 04, 08, 16, 32). Below are some screenshots of the menu program for these computermodels.

Special features:

The expansion connector
The Cassiopei has a connector that allows the user to connect its own hardware and control it using the CBM computer.

This connector allows for the following functions:
- PWM audio (speech synthesizer and the 8KHz, mono, 4/8 bit sample player)
- 10 bit Analog to digital converter
- signal generator for the "KlikAanKlikUit" home automation modules
- I2C interface, allows you to connect many digital circuits in a very easy expandable way.
  (I2C IO-expanders, servo's control using a I2C PWM controller, driver stepper motors or relays, etc.)
C64 BASIC wedge
As you might have noticed in the C64 screenshot there is also an option called wedge. The wedge is a BASIC extension program that allows users to have more BASIC commands, BASIC commands dedicated for the Cassiopei, for instance the !SAY,0,"HELLO" command makes the Cassiopei use it's internal speech synthesizer and plays back the audio over the C64's audio channel or PWM output if required. But because this wedge is located at the end of the program memory it makes the menu program big and therefore requires a little longer to load. So there is also a simplified menu program that does not hold the wedge, because most users simply won't need the wedge. Unfortunately the BASIC wedge is not available for all Commodore computer models. For instance the VIC20 without memory expansion, does not have enough memory to use the wedge.
Can it also save files?
The button play/rec automatically detects if it needs to load or save a file. So yes, the Cassiopei is capable of saving a file to the internal memory of the device using the SAVE command. This is limited to the slow standard kernal tape speed.
Bugs...
The Cassiopei is a project completely designed by one single person, Jan Derogee. All software written for the CBM computers, the PC and the Cassiopei itself took more then 2 years of research, programming, playing and many cases of trial and error... And since software is never finished, the whole system is set up to be easily upgraded. All related software is available in the download section. Although everything is carefully tested and tried out... I'm sure that somewhere somebody eventually will encounter a problem or desire some form of functionality that I haven't even thought about. Now... the firmware (the software inside the Cassiopei itself) is no longer actively developed, but if you discover something interesting, feel free to let me know, just send me an email with a solid description of the problem.
Compatibility with other hardware
The Cassiopei cannot be used in combination with the Chameleon cartridge because the Chameleon cartridge completely bypasses the C64's 6510 processor and uses the processor in the Chameleon. Because the tape signals are directly connected to the C64's 6510 the Chameleon isn't able to use the cassetteport IO-lines at all !!! Therefore a C64 with Chameleon cannot load from tape and cannot use the Cassiopei.
Compatibility with other hardware connected to the cassette port
The Cassiopei should not be used in combination with other hardware connected to the cassetteport. For instance, the 1541-ultimate tape adapter or a cassetteport splitter allowing to connect more then one datasette to the cassetteport. This because the Cassiopei uses the IO-lines of the cassetteport in a more advanced way then then all other existing hardware. When combining other cassetteport hardware with the Cassiopei damage might occur. However it is possible to use the Cassiopei with such devices but only if the Cassiopei is in .TAP file mode, because during .TAP file mode the Cassiopei acts like a real Commodore datasette.

Cassiopei related videos

Below are some example videos of "when/how to use" and what you can do with the Cassiopei. Some of these videos should not be taken too seriously (for instance of the video regarding home automation suggests that I sleep with only one teddy bear and the C64 wakes me up everyday, in reality I wake up with an ordinary and cheap alarm clock and my C64 is switched off when I'm sleeping.








How it all started

In 2006 I did the 1541-III project, it was fun and I learned a lot from it and I like to believe that it inspired others to developed similar hardware. Many years have passed and the 1541-III was soon to be aging due to many other projects. For instance the 1541-Ultimate and the SD2IEC, these devices feature a much better compatibility with the commodore 1541 diskdrive. And therefore are much better suited for playing disk based games. But the 8-bit computers of commodore have caught my attention and I wanted to design another device, a device that fitted on a wider range of commodore computers. As the 1541-III only could be used on IEC-based computers and not the older PET series as these have no IEC serial port but IEEE-488. However all Commodore 8-bit computers (except the SX-64 and the C64 GameSystem) have cassetteport. This port is hardly ever used these days other then an easy way of stealing power from the CBM. So this port is available, at first I wanted to make an oscilloscope for my C64, so I did some research and the basic functionality of my program worked. During that time I encountered a very useful tool, called CBM program studio written by Arthur Jordison (http://www.ajordison.co.uk/). I grew to be very font of this tool as it proved to be very practical. You may use it for BASIC programs AND for assembly programs. It includes a sprite editor and charset editor, even a debugger. A very practical tool for cross-development. Anyway, the scope project didn't perform as I wanted it to and I began to experiment with a EEPROM based samples in order to write my own phoneme based speech synthesizer. this worked and eventually ended up in the Cassiopei (however, do not expect hifi sound quality). While writing these programs I quickly realized that the device that was connect to the cassetteport should be able to load the program using the same port. Because I didn't want to use a diskdrive or XM1541 cable for various reasons. So I created a fastloader that would use a small bootloader program that loaded using the standard kernal loader and then executed my own fastloader a few seconds later. This worked and was improved until it was what it is today. A synchronous fastloader that loads more then 50 times faster then a standard Commodore loads from tape. So once the Cassiopei fastloader kicks in, you load your data with 2850Bytes/sec. Please notice that the screen is not blanked during that time and this speed is available on all CBM's (from PET to C128). Development carried on and I wondered... if you have a device that connects to the cassetteport... while not emulate a cassette... so I added a .TAP file player. That would make many gamers very happy, as .TAP file payers are mostly very large or require cables to a PC or use MP3 players... and MP3 is not the format designed for playing back digital data, although when using high quality MP3 files it seems to work. Well the rest is history, the device was put into a small case, menu software was written, PC software was written and a few Cassiopei expansion port applications were written as well. The latter to demonstrate the extra functionality of the Cassiopei. It is possible to use a C64 and the Cassiopei wedge and a few lines of basic code to control your home lights (for the "KlikAanKlikUit" series of devices), drive 16 servo motors using a well known I2C PWM generator and many other things. Which are mentioned also elsewhere on this website.

Project status

The Cassiopei as shown on this webpage, is a project that is superseded by the CASSIOPEI V2.0. Therefore new features will no longer be added to this "old" design. For more information about this new v2.0 device, visit the project page of the CASSIOPEI V2.0

Availability

This version of the Cassiopei is no longer available because it has been superseded by the new design CASSIOPEI V2.0

Downloads

All downloadable files related to the Cassiopei v1.0 are to be downloaded as a single .ZIP file: Cassiopei_v1.0.zip