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. This project is the in many ways improved version of the
Cassiopei project it all started with. As you can see on the image below, it can be used on various models of Commodore computers, this because most Commodore 8-bit computer models have a cassetteport.
What is the Cassiopei?
As mentioned in the intro, the Cassiopei 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 iteration 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 useful 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
impractically 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 sub directories, this way you can archive your
games in convenient groups for quicker access. Anyway, with the
ability 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, there is no need for additional Cassiopei
manager software to run on your PC. 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
webb-rowser. 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
accessible 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 successful and are very promising. This functionality
will not be used to speed up loading of the games or programs, but it
will be very useful 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.
Since there is no need to copy the file to the SD-card, because you
load the file directly from your computer you are developing on.
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.
For the playback of TAP files the Cassiopei v2.0 displays the progress
of the playback of the file on a small display. So you'll see a
high-resolution tape counter and a position indicator in the form of a
bar. Using the buttons you can also navigate through the TAP file,
this in case the game should ask you to forward or rewind.
The menu program
The files/games you want to load, may be chosen using the menu
program. Which is a simple program that allows for the configuration
of your device. This program is loaded when the user types LOAD and
presses the menu button when the computer request the user to "press
play on tape". This tool allows you to change the operating mode and
the currently selected file, which is much more practical than using
the tiny OLED screen and buttons but also adds to the retro computing
experience.
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 indicator bar 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. The Cassiopei doesn't support saving back to .TAP file.
Supported computer models
The Cassiopei connects to all Commodore computers that have a
cassetteport. It is my goal to make the Cassiopei work with as many
models as possible. This 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 successfully with the following
computermodels: PET 2000 series, PET 3000 series, PET 4000 series, PET
8000 series, VIC20, C64, C16, Plus4, C128
Compatibility 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.
Project development status:
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. However,
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 hastily adding new features.
Todo/Wish-list
When a bug has been found it must (if possible) be fixed...
unfortunately time is limited so choices have to be made and problem
and projects are given priorities. Below is a table with a list of
things I worked on an might require some more work. The top of the
list has the highest priority.
Item |
Status |
Overall user support and minor bugfixes |
Normal (priority=high) |
Disk wizard |
Under development (Beta release only, priority=very low) |
BBS terminal |
Under development (Beta release only, priority=very low) |
Additional hardware |
Under development (concept has been proven to work but
priority for further development is very low) |
Disk wizard
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
best way to test and debug the Cassiopei, is by using it myself. In
order to stimulate this the "disk wizard" is a nice testbed that with
the huge benefit of, when finished, having a nice tool for creating
D64 files and/or disks. The C64 disk wizard is carefully being tested
by beta users. I'm hoping to work on the PET implementation of the
same concept soon, but unfortunately, my CBM 3032 is currently under
repair. Although I can fix it myself (I hope), this takes more time
then expected. However, regarding reliability 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.
BBS terminal
This function is under development and currently only available for the
C64. Below are two screenshots from a C64 connected to the borderline
BBS, using the Cassiopei "BBS terminal" software. The Cassiopei has
the ability to make a telnet connection and can therefore make a
connection to the many telnet based BBS that exist on the internet. No
additional hardware required, with this software you can visit a BBS
and relive "the internet of the past".
The BBS terminal software is under development, but a beta release is
available in the download section at the bottom of this page. In order
to use this , make sure that,you have the latest firmware installed on
your Cassiopei and don't forget to use the latest version of the user
manual, which describes this program more detail then is possible
here.Why use telnet to visit a BBS, some might ask. Well, 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 capabilities 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).
Additional hardware
An experiment regarding the addition of extra
hardware (add-on) to the programming port (which is located at the
bottom side of the Cassiopei) have resulted in a device that could
connect to the user-port. Allowing for much greater data transfer
rate. This add-on datalink is not intended for loading your files
faster, although it could be used for regular data too, that was
never the goal. A high data transfer rate is mainly important if you
want applications to handle audio and video data. So I did an
experiment with high-res full motion video on a VIC-20. A simple
preview can be found on my YouTube page, here is a direct link to
that specific video: https://www.youtube.com/watch?v=oOowlcsADt4
However, achieving this on a VIC-20 is quite a challenge as every
byte needs to be handled by the 1MHz CPU, this because the VIC-20
has no DMA functionality. I'm proud to say that I'm the first who
ever achieved full-motion-video (192x160 at 12 frames per second and
12KHz 4 bit (select one of 2 channels during playback), on a VIC20.
Unfortunately... this experiment never materialized into something
that's available to the main public. Meaning that the add-on
hardware and conversion software isn't available for sale or
download (yet).
PETSCII video player
To show the potential of a device 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 certain 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
capabilities 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
Cassiopei v2.0 and has been successfully tested on the PET 3000 series,
4000 series, 8000 series, VIC20, C64, C16/+4, C128.
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
extraction) 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 certain 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 gray-scales), 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 threshold value, to select the
appropriate level of dithering. The textbox display the output from
ffmpeg, not really 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 frame-rate to acceptable levels. This is called delta mode,
meaning that only the 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 disabled 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.
Availability:
Sorry, but at this moment the Cassiopei is not available.
Downloads
Although everything you need is already present on the SD-card as
supplied with the device, things always evolve in some kind of way.
Therefore this download section is where you can find all the latest
and greatest 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.
Manuals:
CBM software:
PC software:
Firmware:
The firmware of the Cassiopei defines
its functionality, from time to time bugs are fixed and features are
added, for more information about the differences between the firmware
version, please read the
release
notes.
SD-card image:
The Cassiopei comes with an SD-card fully configured and ready to use. The SD_card contains various files, many of which can be downloaded in the links above. If you intend to update your Cassiopei with new firmware then you might want to update the contents of your SD-card too. This way you can bring back your device to a "factory default" situation.
GEOS driver technical info
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. So, if you want to develop your own
GEOS auto-exec file too, but just like me, don't know where to start,
just click on
this link
to visit my page about GEOS auto exec file development information. A
very simple webpage that hold the basic information you need to know
about writing your own GEOS auto-exec driver.