|
|||||
HOME CONTACT 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. |
|||||
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").
|
|||||
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 | |||||
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 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. |
|||||
Project development status:![]() 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: | |||||
|
|||||
BBS terminal | |||||
(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 playerTo
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 encoderA
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. | |||||
Availability, costs and ordering information:The Cassiopei is packaged in a small mailbox size box, this to keep shipment costs as low as possible. Included in the box are: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 ( jd1541@hotmail.com) 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!! |
|||||
Downloads |
|||||
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) |
|||||
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. 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. |