HOME          development status     availabillity     downloads          CONTACT

What is the Cassiopei?

To make a long story short, the Cassiopei (which stands for CASSette IO Peripheral Interface) is a device that connects to the cassetteport of your CBM computer. But that doesn't mean it works the same as tap, no, it sure doesn't. Tape is considered to be slow, tha Cassiopei is more then 50x faster then standard tape. The big advantage of a device using the cassetteport instead of any other port is simple, 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 crippled C64's). This means that it can connect as easy to your C128 as to your PET. Yes, you read it correctly, only device to serve them all. One modern storage medium for all your 8-bit CBM computers, how cool is that?

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 it is't perfect. Unfortunately, the new version will not be perfect either, sorry. But it solves some issues that make the new version a lot more practical then the first. What are those issues, I hear you think, well the new version uses a full sized SD-card (not those unpractically small micro or mini variations that you can hardly hold but easily loose). The original Cassiopei uses an onboard 8MByte memory chip for storage. The new Cassiopei, can hold much more depending on the size of the installed SD-card, if you install an 8GByte card, then storage has increased by a factor 1000. But using such a big card does not really make a lot of sense because you will have a hard time filling that considering 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 will also be featuring 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 never used by owners of the Cassiopei 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.

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 ;-)

- 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.
Tap 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 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").

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.

Compatibillity with other hardware connected to the cassette port:

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 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 Casiopei acts like a real Commodore datasette.

Project development status:

Lot's of things need to be done before the Cassiopei v2.0 is finished. Although lot's of software can be re-used many many changes need to be made for one simple reason... the Cassiopei v2.0 uses a completely different processor and storage medium then the original Cassiopei. The processor for instance has changed from a PIC microcontroller to the famous ESP8266 Wifi module. Software for the various commodore computers needs also to be re-written, fastloaders need to be tested. Because of the many possible interfaces on which the menu can be used required the settings menus need to be completely re-designed, the 50x50mm case no longer could fit the larger SD-card module and ESP8266 and display and therefor also needed to be redesigned. The wireless bootloader needs to be properly tested and the list goes on and on. But the goal is simple, a better Cassiopei that is easier to use and configure.

To give an impression of the progress being made, the whishlist of the Cassiopie v2.0 design is shown below:

CASSIOPEI v2.0 "TO DO-list" (oktober 2017)
HardwareIn progress

All PCB's undergo important design changes, the most relevant
changes are mention here:

1st design: first rough PCB based on protoboard PCB design
2nd design: larger PCB, display added, datasette connector added
3rd design: mounting holes and frontplate added
4th (final) design: multiplexer allows for interrupt based tape digitizer
also a switch and speaker are added to monitor the tape signals
The hardware is going through various stages, during development new ideas come up and other ideas seem to be not practical.
Changing the hardware now is easy, changing the hardware when the design is released it would mean people could have
incompatible hardware, a situation that must be avoided. Why, well how would you feel if you bought a brand new Cassiopei-II
only to find out that a month later a newer model is available that has that feature you always wanted. The final design will have a
piezo speaker for monitoring the tape signals. Because when you are digitizing tape you need to know if the tape is playing properly.
But also for playback a monitor would be nice. Considering the size and low costs of such a speaker it could easily be incoparated
in the design. Audio quality is only sufficient for tape related blips and beeps, but that is exactly what we want.
So don't expect to use your Cassiopei in combination with a datasette to playback those old madonna tapes you've found.
Also the volume cannot be regulated (it is quite soft already), but the switch allows you to select the source (read or write) so
this effectively allows you to disable the noise if you don't want it.
Enclosure (case)In progressThe enclosure for the original Cassiopei was compact, clean, small and sufficient... but it required a lot of work in order to make it.
Every case was engraved, holes were cut, buttons alligned, PCB glued into the case. All-in-all a lot of work, the Cassiopei v2.0 will
not be having such a case, because of the display and the extra button even more work would be required making it impractical
to make these enclosures myself. The new design therefore must be simple, but robust. The look and feel must be close to that of
the original Cassiopei, although that would be difficult as the new design has more features.
3D-printing looks very promissing, but the reality is that the technology is just too slow to be a cost effective sollution. Also when
printing is done, the print requires clean up and smoothing to make it look decent. Because if there is one thing that I hate it is a
bad 3D printed frontplate or artifacts caused by warping, filament tolerances, jagged edges etc.
So the bottom line is that I'm still experimenting with different types of standard cases, PCB material, 3D printing.

Unfortunately my DIY 3D printer suffered from some problems and in combination with some personal design whishes it eventually
made me realize it was time to move on to a new design of my home-build 3D printer. Fortunately I could re-use most of the parts
A fun project but it slightly messes up my shedule. Though, during the summer the high temperatures in the attic (where I do all
development and testing) make it virtually impossible to concentrate. Therefor 3D printer project was a nice (metal and woodworking)
project which could be mostly executed in the much cooler garden and shed. This new printer allows me to continue the design of the
optional 3d printed case.

The design will be made in such a way that the 3D printed case is not required (so it can be optional), sure a pretty case makes it looks
nice, but a sandwitch construction of 3 PCB's can offer sufficient protection for those who don't want a case. Therefor the design must
allow for adding a case later on, so that it will be possible to upgrade the caseless version to a cased version.
CPIO protocolFinishedConverting routines of the orginal to design to make them work on the ESP8266
This is a slightly difficult task because the ESP8266 has less IO pins than the PIC microcontroller of the original design.
But more importantly, the ESP8266 has a wifi module that requires constant attention and continuous care must be
taken to keep IO-timing constant while also allowing the kernal to handle the wifi related actions.
CPIO commandsIn progressIn order to transfer files, the Cassiopei requires instructions through CPIO commands. These commands are not compatible
with the commands used by the original Cassiopei, simply because the new design uses a different storage medium and can do things that the old versin can't.
But also the way filenames are being transferred is completely different. This because the CBM uses PETSCII and the SD-card uses ASCII.
Therefore the new design is set up in such a way that filename transfer is mainly from Cassiopei to CBM (ASCII converted
into PETSCII) and not both ways as it would otherwise lead to problems like files not being found because of charcode remapping difficulties.
User interfaceFinishedThe original Cassiopei did not have a display and only 2 usable buttons. This was insufficient for TAP-file playback.
The new design features a display and 3 buttons. Now menus can be used, settings can be shown and changed.
And most important for TAP-file users, winding and rewinding becomes very easy.
Menu programPET 20XX: Finished
PET 30XX: Finished
PET 40XX: Finished
PET 80XX: Finished
VIC20: Finished
C64: Finished
C16/+4: Finished
C128: Finished
The menu program allows to user to configure the cassiopei. The menu shown is the same as one the display,
but configuring through the CBM, using a joystick or keyboard, is much more convenient. Simply because
the display is very small and not every user would prefer using it. The menu program is a good alternative.
Web configurationFinishedThe web interface is a simple tool to connect to the Cassiopei and upload a single file (or retrieve it) to/from the SD-card.
It also allows you to do some settings if you do not want to use the display or the menu program. So in short you can configure
it using your mobile phone through wifi.
BootloaderFinishedThe bootloader allows to the user to upload new firmware into the Cassiopei. in other words to fix bugs and add new features.
This bootloader requires NO special cables and works through wifi, using a normal webbrowser, this works best using a
computer in order to download and transfer the required hex file.

It is still possible to program the Cassiopei with new firmware by using a special programming cable, however this if only useful
for developers, like me. This programming header is inside the Cassiopei and not acceable to users. This programming header
is not compatible with the expansion header of the original Cassiopei.
PETSCII videoPET 20XX: requires testing
PET 30XX: Finished
PET 40XX: requires testing
PET 80XX: requires testing
VIC20: Finished
C64: Finished
C16/+4: Finished
C128: Finished
One fun experiment on the original Cassiopei was the playback of highly compressed PETSCII video. But this project was
never really finished. In order to test the Cassiopei I used this project to finetune some communication routines, it allowed me
to properly test the Cassiopei design , simply by using it, if bugs were present, I WOULD encounter them. And so I did, with
this part being fixed we now have a compressed PETSCII video player. But also a PC-software tool to create compressed
PETSCII videos.
Unfortunately, the bandwith of the Cassiopei isn't sufficient (and constant) to use it to stream audio data during video playback,
therefore the videos have no sound... just like 100 years ago when movies starred mr. Keaton and Chaplin.
NTP clock jiffy clockFinishedAfter exitting the Casiopei menu the jiffy clock is being update with the time fetched from the internet.
If you have this option enabled, then you'd never have to set the time (TI$) again.
This is mostly usefull for your own programs, because programs written 30 years ago did not expect this feature and will most
likely still request the timewether it has been properly set or not.
NTP clock for GEOSFinishedThe NTP clock settings could be used by GEOS, so that the timestamps on your GEOS disks would be accurate.
A GEOS auto-exec driver has been written, install it onto your GEOS disk (make sure the Cassiopei is connected to your CBM)
and never set the clock again!
TAP file creatorIn progressThe key is speed, saving data to disk, while sampling the tape is a challenge. Although buffering and interrupts are used there isn't
much room for error, simply because we never know what kind of card (slow write performance) is being used in the field. Hardware
changes are made, testing required when the new PCB arrives.
TAP file payerRequires testingThe only way to find out if TAP files are beingplayed back properly is by loading each and everyone a few times, this
is not practical, so a selection is made. Currently one of those files seems to raise problems under certain conditions.
Testing testing testing, which is quite difficult, because the amount of data is huge and the cause of the error could be in
a single bit not being generated correctly for that specific situation. Also winding and rewinding requires proper testing,
this because the data is buffered and played in a very unconventional way.
Though lot's of tapes already load without problems, so I'm quite positive about getting this 100%.
Disk wizardMaking huge progress
The disk wizard allows the user to create a real disk from a D64 file.
The disk wizard allows the user to a D64 file from a real disk.

The disk wizard holds every piece of code, related to filedata transfer, youmight ever need in a CBM program. Therefor in
order to test these important pieces of code, the disk wizard is a perfect platform for testing these new commands and routines.
With the iomportant benefit that, when finished, is a nice tool for creating D64 files and/or disks.

However, regarding reliabillity there are some problems when using fast formatting routines and high speed data transfer.
Therefore there is chosen not to implement these in this tool. Considering that most user will not be using this tool heavily
(only occasionally for making a real disk to play a certain game that must run from disk) speed is not a big issue.
User manualIn progressThe user manual is very important, because without it nobody will know how to use the device.
This is perhaps the most underestimated part of the project...

As you can see there are a lot of things already finished but still a lot of things that need to be done. As soon as the hardware is stable (which appears to be that way in the 4th version of the PCB) then things can go very quickly. Because some things (like the NTP GEOS driver and the disk wizard) can be finished after the release of the Cassiopei, simply because they are "only" software.

First time right!

Nope, never, not when I'm building it.
You can call me critical, you can call me indecisive but the design has to be perfect. Because if it is not it will eventually backfire and result in complaints and/or patches, that would not be nice.
Software can be changed (most of the times) by uploading a new file through the bootloader. But a case must fit all computermodels all of the time, otherwise what's the use of making it work on all computermodels if it doesn't fit?!?
Below a foto of some of my prototypes for the case. All of the cases shown in that foto have their problems, most regarding reproduction (badly printable or too much clean up work required afterwards).
The case with the yellow letters, are actually engraved letters filled with yellow paint, the results do not justify the amount of work that has to be put in it. Even when I do it everything right it still does not look like the way I want it.
So... I'll keep experimenting untill I get it right. Currently I'm thinking about covering the PCB on both sides with another PCB, kept apart using some spacers. This sandwitch construction is very strong and because it is made of PCB material it can be very cheap and with very high tolerances. A front made of PCB material will always looks very tidy. I hope to combine this with 3D printing.

Availabillity, costs and ordering information:

The Cassiopei v2.0 is expected to be officially released in February 2018, it is not possible to pre-order.
Efforts have been made to realize this in December but many practical problems made it impossible to meet this deadline, only a few units (intended for beta testing) have been build.

Technical info

You want to develop your own GEOS auto-exec file but don't know where to start...
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.