development status availability downloads
What is the Cassiopei?
To make a long story short, the Cassiopei (which stands for CASSette IO Peripheral Expansion Interface) is a device that connects to the cassetteport of your CBM computer. Although it can playback .TAP files and act like a datasette... it is much more then your ordinary digital tape player! One key aspect is that the Cassiopei can also playback .PRG files and it can load them 50x faster then Commodore's standard tape loading protocol. The Cassiopei can be configured in 3 ways: display+buttons, through the CBM software, via a webbased interface.
The wifi functionality can be used to upload a file onto your SD-card, but also to load a program via virtual file mode. Which is mostly interesting for people who like to program and want to try out their new software without loading it to the SD-card over and over again on every interation of the code.
Also thanks to the use of software exclusively written for the Cassiopei v2.0, you can use your it to play some fancy PETSCII video files (video only, no sound).
Tape is considered to be slow so some might wonder, why the cassetteport... that's such a slow port? Well, the main advantage of a device using the cassetteport (instead of any other port), is because the cassetteport is available on all 8-bit CBM computers (with some exceptions like the SX-64 and the C64 Game System, but these are actually pimped or crippled C64's). This means that it can connect as easily to your C128 as it can to your PET. Yes, you read it correctly, one device that serves them all. One modern storage medium for all your 8-bit CBM computers, how cool is that?
Because the height of the cassetteport slightly differs between models, the Cassiopei can be fitted with an additional stand. This way the device is connected safely and secure to your Commodore's cassetteport.
Cassiopei v2.0, why?
That is a very good question... the original Cassiopei ( Cassiopei ) was (and still is) a very usefull device. But over the years I've learned that there was room for improvement. Unfortunately, the new version will not be perfect either, sorry, I just feel that there is always room for improvement... Anyway, the new design solves many issues that make the it version a lot more practical then the first. For example, the new version uses a full sized SD-card (not those unpractically small mini or micro versions that you can hardly hold but easily loose). Where the original Cassiopei used an onboard 8MByte memory chip for storage, the new Cassiopei, can hold much more. Mostly depending on the size of the installed SD-card, let's say that if you've installed an 8GByte card, then the storage space of the Cassiopei V2.0 has increased by a factor 1000 over the original Cassiopei.
Although you might ask yourself if it really makes sense, because you will have a hard time filling it, since the files are relatively small. And if you consider that in practice it isn't fun browsing through hundreds or thousands of games in order to select you favorite pacman. But for those who do like to do that, the new Cassiopei also supports the use of subdirectories, this way you can archive your games in convenient groups for quicker acces. Anyway, with the abillity to store so much, you could decide to store ALL your games and programs for ALL your CBM computers onto one single device, but be sure to make backups, just in case you lose your Cassiopei or leave it at a friends house, etc.
Because of the SD-card, the Cassiopei manager software (that runs only on PC) is no longer required. You can change your settings by changing a configuration file stored on the SD-card, you can upload your files by dragging them to the SD-card inserted in your computer. Also changing settings can also been done using your CBM computer or the menu on the device itself. And if that's not enough, you can also change your settings and stored files through the convenience of a webbrowser. So no it is no longer a problem if you own a PC, Linux or Apple computer.
The new version alse features a pass through connector, so now you can create/restore original tapes by playing back TAP files and recording them on your datasette. You can also backup/capture a real tape and make your own TAP files.
Sadly though, the new version of the Cassiopei no longer has the 10-pole expansion connector (to connect to your own electronics projects). Research has shown that this functionality was hardly ever used by the owners of the Cassiopei. Therefore (and due to the lack of available IO on the new processor inside the Cassiopei v2.0) it was decided no longer to support this feature. People wanting to connect something to their CBM computer must therefore refer to the CBM computers userport, just like in the good old days. And regarding the userport... there is something interesting being developed that connects between the Cassiopei and the userport. Because the Cassiopei does have a programming connector at the bottom of the case (not accesable in the first released models, but a sharp knife could solve that as all cases already have markings on the inside where to cut), experiments are done to use this port for add-ons and the first results to transfer data between the Cassiopei and the CBM through the userport were succesfull and are very promissing. This functionality will not be used to speed up loading of the games or programs, but it will be very usefull for transporting bulk data.
How to use it?
Basically the Cassiopei can operate in four different 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 ;-) These are the operating modes:
- standard kernal loader (this is the cassetteport's standard slow loading speed), allows you to load .PRG files from the SD-card.
- fast loader (loads more then 50 times faster times then the standard loader), allows you to load .PRG files from the SD-card.
- virtual file mode (loads more then 50 times faster times then the standard loader), allows you to load .PRG files directly into the memory of your CBM, this mode makes cross development much easier.
- TAP file mode (loads as fast as the original tape image requires it to do), allows you to load .TAP files from the SD-card.
file control using the display and buttons on the device
For the playback of TAP files the Cassiopei can now display the progress on a small display. Using the buttons you can also navigate through the TAP file.
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").
|Loading a file using the configuration menu|
Playing back TAP files
The Cassiopei can connect to the cassetteport, so it would be silly if it couldn't play back a TAP file, wouldn't it? So therefore the Cassiopei also has a build in TAP-file player.As mentioned earlier, the Cassiopei can also make TAP files by connecting the Cassiopei to a real datasette. With the 3 buttons on the right side of the display and the counter and slidebar shown on the display, navigation through the .TAP file should be possible. You may have noticed that the counter shown has a much higher accuracy than then standard 3-digit counter on your old 1531 datasette, that is because the Cassiopei tape counter counter the bytes as they are played, this is the most accurate method of counting the position within the .TAP file.
Regarding a recording functionality, the Cassiopei doesn't support saving back to .TAP file, which in practice doesn't really matter.
Supported computer models
Cassiopei connects to all Commodore computers that have a cassetteport.
It is my goal to make the Cassiopei work with as many models as
however, requires lot's of testing AND access to those machines, the latter is
sometimes difficult as it do not own all machines the Cassiopei can
support. Thankfully some very nice people have assisted me in testing while others were kind enough to lend me their machines.|
The Cassiopei v2.0 has been tested succesfully with the following computermodels: PET 2000 series, PET 3000 series, PET 4000 series, PET 8000 series, VIC20, C64, C16, Plus4, C128
Compatibillity with other hardware:
Just like the original Cassiopei, the Cassiopei v2.0 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.
The Cassiopei should not be used in combination with other hardware (other then a datasette) connected to the cassetteport. For instance, the 1541-ultimate tape adapter or a cassetteport splitter allowing to connect more then 1 datasette to the cassetteport. This because the Cassiopei uses the IO-lines of the cassetteport in a more advanced way then all other existing cassetteport based hardware. 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 Casiopei acts like a real Commodore datasette.
Although the Cassiopei v2.0 is functional, it doesn't mean it is finished, because things can always be improved. The hardware won't change anymore, there is no need to, but the firmware (the software inside the Cassiopei that makes it work) and the software for the Cassiopei (applications for the CBM) can benefit from future changes. What these changes are depends on new ideas or user requests.
Do not expect new firmware releases every month, these things go slowly, simply because I need to make absolutely sure that the new version is better then the older, I don't want to introduce any bugs by hastly adding new features. The "to do" list of the Cassiopei v2.0 design is shown below:
(Attention: this function is under development and currently only available for the C64)
Below 2 screenshots from a C64 connected to the borderline BBS using the Cassiopei "BBS terminal" software.
It's getting more and more difficult to dial in to a real phone-based BBS these days. But fortunately many of those good-old BBS's are connected to the internet. Thanks to the power of telnet these BBS can be reached. And because of the Cassiopei's build in wifi capabillities you can create a telnet connection and connect to these BBS's in a very easy way. Meaning that you can experience the BBS's the way they were in the past but without the use of additional hardware. A Cassiopei and the BBS_terminal.prg program is all you need. Make sure you have you Cassiopei properly configured (make sure that Wifi=enabled and that you are connected to a decent wifi network).With this you can visit a PETSCII based BBS (or a simple ASCII based BBS). For example the borderline BBS (borderlinebbs.dyndns.org:6400).
PETSCII video player
To show what the potential of devices like the Cassiopei and because it was a nice programming exercise, I've written a program that converts video files into PETSCII video files. I did that during the final days of the Cassiopei v1.0 (2016). This seemed to work and I did a small demo on my PET 3032 during the classic computing of 2016 in Nordhorn and I've got really positive comments on this project. I stated "seemed" because although the demo I made worked, the encoder and the player contained some serious problems which made things unreliable under certian conditions. A problem I could never really solve, therefore preventing an official release of this software for the Cassiopei v1.0.
But, when I worked on the Cassiopei v2.0, the idea of a PETSCII player started to intrigue me again. Mostly because of the huge storage space capabillities of the Cassiopei v2.0, so I decided that this the time and moment to really finish this project. It required me to rewrite lot's of code (essentially starting code from the ground up). I needed to do this because the differences in the filesystem of the v1.0 and v2.0 Cassiopei are huge. The way files are selected and menu based data is transferred is simply not compatible, the Cassiopei v2.0 does has some advances that the Cassiopei v1.0 simply doesn't have but also some restrictions. But in the end it resulted in making it much easier to work with the .DAT files (files required for PETSCII video playback). I also wrote the code in such a way so that it was much more portable and easier to maintain. This made a lot of sense as I had to make the player for many different computer models, all with their own demands and limitations but also with great overlap in the way the data is handled.
The PETSCII video player is therefore exclusively available for the Cassipei v2.0 and has been succesfully tested on the PET 3000 series, 4000 series, 8000 series, VIC20, C64, C16/+4, C128
(youtube video will be released soon)
PETSCII video encoder
A PETSCII player is nice, but useless if there isn't an encoder to make video files. So an encoder based around ffmpeg (for frame extration) has been created (for Microsoft Windows 7 or higher). Using a relatively simple algorithm a conversion from pixels to PETSCII can be made. Due to the limitations of a characterset, the results works best for simple, high contrast, line based graphics. Like the "La linea" animations (a series funny, linebased, cartoons from the 70's). But feel free to experiment with other material, because a single frame may not look very good, a sequence of frames may smooth out the imperfections of the image that hurt recognition of certian shapes. As long as the used material doesn't rely on details too much the results could be very interesting. Below a screenshot of the conversion tool, using a "La linea" animation. Here you can clearly see that the lines can be represented by the characterset just fine, but the shades/details of the hand suffer quite badly from the limitations of representing blocks of 8x8 pixels by characters from a fixed characterset.
The tool has a workflow that goes from left to right, first you need to select a source video, which will be converted by ffmpeg into single frames. These frames can be corrected in brightness of contrast. And through the listbox you can select the frame you are working on, by scrolling through this listbox, the images in the windows will be updated. By scrolling continuously the frames will be updated continuously and the effect of animation becomes clear. Because this tool is suited for various types of CBM computers, the user must choose the correct resolution, 22x23, 40x25, 80x25.
The center section of the program shows the image converted into pure black and white (no grayscales), due to dithering techniques (Bayer 2x2, 4x4, 8x8 or Floyd and Steinberg) the illusion of shades can be achieved. This increases the accuracy of the result but it does require the user to select the correct thresshold value, to select the appropriate level of ditthering. The textbox display the output from ffmepg, not realy interesting for users but very useful for me (the programmer).
The right side of the program shows the final image, which is heavily depending on the charset used, so there is an option to select a different charset. Charsets are simple bin files (binary images of the charset rom). So if you have a computer with a home-made font, you could make an image of that rom with an (ep)rom reader and use that file in this program. The program also features compression, required to get the framerate to acceptable levels. This is called delta mode, meaning that onlythe changes between frames are stored, saving lot's of data to be handled/transferred during playback. In order to determine if this mode makes sense, there is an indicator that shows how many tiles (groups of 8x8 pixels) have changed. And there is also a way of visualizing the changes with different colors in the "final" screen. That option is disbaled in the screenshot because it looks a bit strange if you never worked with it, though it's not that difficult to work with and it gives a nice insight in what happens. And last but not least there is a setting to show the image in green (which is the default color of PET computers).
When all settings are done, you can export the PETSCII video into a .DAT file, which can be played in the Cassiopei using the PETSCII video player.
1x Cassiopei V2.0
1x Cassiopei stand for PET series
1x Cassiopei stand for C128
1x SD-card (already installed in Cassiopei)
The SD-card is already configured and ready for use.
It contains the user manual in PDF format, various software for your PC, the PETSCII player and some PETSCII video files.
(the cassette shown in the photo above is for scale purposes only and is not included in the package)
The costs for the Cassiopei v2.0 are:
Inside the European Union
Cassiopei v2.0 60,00 Euro
Shipment 7,50 Euro
Total 67,50 Euro
Outside the European Union
Cassiopei v2.0 60,00 Euro
Shipment 10,00 Euro
Total 70,00 Euro
Just send me an email ( firstname.lastname@example.org) if you whish to purchase one.
I always respond to my emails, if for some reason you do not receive an email within 3 days, then please double check your spam folder!!
Although everything you need is already present on the SD-card as supplied with the device, things always evolve. Therefore there is a download section where you can find all required files and information regarding the Cassiopei V2.0. So if you think about purchasing a Cassiopei v2.0 feel free to browse through the extensive user manual to get an impressions of the device on a more detailed level other than is possible on this webpage.
<click here to enter the download section>
Firmware version change overview :
firmware version v20191027 (core 2.4.2):
- added: previous and next page buttons are now also available in the webinterface
- added: improved settings on webinterface (when the menu is exit normally, it prevents further use)
- added: start loading from webinterface (when the menu is exit & save, it allows for playback of the file, just type load on your CBM and then press the select button in the menu and playback will start)
- added: when wifi is enabled and a connection is made, a QR-code is shown (if enabled) on the display to allow for a quick and easy connection to the device.
- bugfix: unreliable data transfer problem (a problem that was only present in release 20191013 and 20191006)
firmware version v20191013 (core 2.5.0): (no longer available, due to loading issues when wifi is enabled)
- bugfix: C128 "LOAD ERROR", this was something related to the trailer pulse, which strangely only affected the C128.
- bugfix: webserver crash when CASSIOPEI was approached via webbrowser. This was related to the ESP8266 core which caused the webserver to crash.
- known bug: unreliable data transfer when wifi is enabled
firmware version v20191006 (core 2.5.2): (no longer available for download, due to the webserver related problems)
- added: page up and page down functions in menu browser
- added: "beep... beep..." on power-on/reset (set speaker switch to upper position in order to hear this)
- added: alarmsound when overvoltage is detected (set speaker switch to upper position in order to hear this)
this functionality can be disabled by changing a setting in the config file, though is is not recommended
- bugfix: keyboard buffer wasn't always cleared on exit of menu program (various computer models), therefore showing last pressed character on screen
- bugfix: cass#2 wasn't supported by the menu program, this was mainly a problem for the PET series, as those models have 2 ports. This wasn't noticed at first because one of the ports is a bit impractical because it is placed INSIDE the computer and therefore it is highly unusual that people will use this port for the Cassiopei. The menu program is from now on called menu_1.prg and menu_2.prg, a name convention similar to that of the loaderfile.
- known bug: C128 ends loading with an error. HOWEVER the loaded 100% correct and can be run without problems.
- known bug: webbrowser connect makes it crash the cassiopei's webserver and reboots the cassiopei
firmware version v20190530 (core 2.4.2):
- bugfix: backup/restore mode always used C64PAL mode, causing confusion and problems when trying to backup/restore tapes for other systems then the C64 (solved)
- bugfix: changing computermodel settings requires file settings to be updated, but the user was never notified of that causing confusion in some cases (solved)
- bugfix: When virtual file mode was selected, the filename shown was not representing the virtualfilemode configuration (solved)
- bugfix: Problem loading TAPfiles on a VIC-20 (improved pulse timing resolution for higher accuracy)
- bugfix: Problem when starting the TAP file the system might jump into stop playing tap very short after (improved button debounce)
- known bug: this release introduced a LOAD ERROR on the C128, however, everything is loaded fine, so you can RUN without problems. Meaning that you can safely ignore the LOAD ERROR message and continue. However, this isn't the way it was intended but wasn't noticed until october 2019 during testing of a new firmware release.
firmware version v20190119 (core 2.4.2):
- added: SD-card bootloader functionality
- added: telnet functionality
- experimental: functionality to support full motion video on VIC-20 in combination with the user port add-on (not available to the public yet)
|During the writing
of an GEOS
auto-exec file for setting the GEOS time by the Cassiopei (which got
it's time from an NTP server on the internet) I ran into some
problems... I didn't know where to start. Eventually, thanks to the
help of various people and many google sessions, I figured it all
out. If you
want to develop your own GEOS auto-exec file too, but don't know
where to start, below is a link to my webpage showing you how I did it.
Here I wrote a small webpage describing what tools I used in order to assemble the code I wrote for my GEOS auto-exec driver.