StripStream

The comic book reader format for your Commodore 64

What is StripStream?

StripStream is a "simple" software only, retro computer project, for the Commodore 64. StripStream runs on a stock C64 PAL system in combination with a datasette. The fun part of the StripStream project is that it actually works remarkably well and that it uses 40 year old technology for its playback. I've made a video about it, I hope you like it.

Although a modern PC program is used to create a StripStream .TAP file (from which a tape can be made), it really could have existed 40 years ago, but it just didn't. If it would have existed in the 80's, it could have revolutionized the world of comic books distribution. Just imagine how it would have changed the life of the kids of the 80's, if they could copy comic books in the same way as they could copy games and programs. No longer would school be a place of learning and a place for sharing games/programs. Art and literature, in the form of comic books, could be shared in exactly the same way.
Anyway, it didn't exist back then, but it does exist now and with the use of the StripStream editor program (that runs smoothly on your Windows PC) you can compose your own StripStream tapes. With this program you can easily string together hundreds of images (B/W only with a max. resolution of 304x96 pixels). You can add a subtitle to each image with support for up to two different languages.
For those who do not have a Commodore 64, the StripStream file, is a .TAP file, it can be opened with the emulator VICE and all you need to do is open VICE, drag-and-drop the StripStream .TAP file into it and enjoy the show. Everything you need is in the file itself.
Ehmmm... some might wonder why the StripStream editing program is a PC program, why isn't it a program that also runs on the C64, just like the player. The answer is simple, it you want to create a comic book, consisting of hundreds of images, how are you going to process these on a C64 a computer with only 64K of memory. Sure it would not be impossible, but it would be absolute torture to use and horribly slow. And getting images into the C64 might even require special hardware. Now, what I wanted to create is an easy to use tool that does not require special hardware. A simple tool for everyone so that they can make their own comic book releases for the C64. I know it's 40 years too late, but 40 years ago I was busy with other things, sorry.

For who is it?

This is a program for retro Commodore 64 computer enthusiasts or perhaps artists who like to publish their creations in an unconventional way. Feel free to use this program (it's completely free) to publish your artwork. Now if you want to distribute existing comic books in the StripStream format always check if this is legal (contact the publisher of the book regarding the publishing rights).

How it all started and how it works...

It was a normal Tuesday evening when I wondered if it would be possible to scroll image data directly from tape across the screen of a Commodore 64. Just like a really long filmstrip, scrolling from right to left across the screen. First I experimented with the split screen and data loading and after a few weeks, of after dinner programming, I was able to load my first images. Although this all sounds pretty easy, I can assure you, there are lots of challenges to get it right, to get it working reliable and without hiccups, scrolling artifacts or missing data. In other words, there are lot's of things that can go wrong. Keep in mind that I not only needed to create the player program, I needed to create the editor program too. This in order to create the data to be played back. Now, anyone with a C64 might know those fancy tape loaders (see the example image of the Robocop game loading screen) these play music and show a nice color image while also loading a game. Although that's a nice achievement, StripStream is very different.
One major difference is that the loader of the Robocop image loads it straight into the screen memory, so you'll really see the image being loaded into screen memory changing in steps of 8-bits at a time. Keep in mind that before the pixel data is already loaded, this also takes its time but you just don't notice it. The StripStream image is loaded out of sight and scrolled onto the screen one complete vertical line at a time. The image scrolls in gently from the right and exits left, between each image is a small black separator line, just like you'd see on a filmstrip or comic book. Underneath the image is a two line subtitle. This means that the screen is both a text and hires screen. The scrolling, gathering and handling of the incoming data all require a very intricate timing. And in the mean time the keyboard is being (although partially) scanned too, allowing the user to switch between the two languages of available subtitles and to be able to switch to the meta-data info screen. Now the fun part, is that the data on the tape is stored in tiny packages. Each vertical line of the image is a package and because all data on the tape is packaged in tiny packages, it doesn't take long before a new package is read from the tape. This means that the tape can be stopped at any time, forwarded, rewinded and started at any desired tape position. When started the data is almost instantly properly loaded from that point of the tape and without any noticeable delay the current data is shown on screen. The project name is pretty obvious once you realize that the tape holds a stream of packaged data and because all images (a comic strip for example) are shown in a long (potentially endless) strip that scrolls across the screen. Therefore the name StripStream does not only sound catchy, it actually makes sense, well... to me that at least.

What makes StripStream interesting, is that all the data is stored onto a regular audio tape. An example I made, uses less than 30 minutes of tape and is able to hold the player itself and more than 300 pictures and 1200 lines of subtitle text. The reason for using tape instead of disk is simple, a standard C64 disk can hold approx. 165 kBytes of data per side. In order to hold the same amount of data as the 30 min long tape about 4 disk sides would be required (meaning 2 whole disks if a disk-doubler was to be used). Sure, I could have used the 1581 with its much larger 3.5" disks, but seriously, who did you know in the 1980's who had or could afford such a costly and uncommon drive? And even in these modern times they are still pretty rare and expensive, while tapes are absolutely not. So, back to the standard C64 (1541) 5.25" disks, it would mean that the user must swap/flip the disk 4 times. But with tape, simply insert the tape, press play and enjoy. And on a 60 min tape, there's still 30 min. of space left for other stuff or even for a bigger story if needed. Not only is tape very practical, in the 80's it would have been way much cheaper too. But, perhaps the most important part is that it also is the most logical format. Because a tape is played from beginning to end, everything is sequential, unlike disks where you can have random access. But, you don't need random access when reading a book, do you? And the sequential storage of data on a tape is just like the sequential story line of any book, you read a book from beginning to end too. The fact that tape is slower than disk isn't such a big deal, the special fastloader loads a new image in about 6 seconds but because the image is revealed by scrolling in from right to left these six seconds feel much shorter and are perhaps to be considered slightly entertaining rather than an annoying delay. But since the subtitles are loaded before the image, the user can read the subtitles while the image is loaded, not only does this help in reducing the experienced loading delay, it also helps in recognizing the picture, since the resolution and size of the image isn't very high-end, compared to modern standards.

I've made an editor

When the player software on the C64 side of this project began to materialize, I needed to make an editor. A tool that allowed me to combine text and images and save it as a data file that my C64 program can handle. I want the editor to be usable for everyone, so I tried to make it an easy to understand and practical tool.
This tool is available in the download section below, in order to use it I wrote a user manual, please use it, it has lot's of information about everything about StripStream and explains why certain things are the way they are. The program is written in Visual Basic .net and runs on a Windows PC, it was compiled and tested on a Windows 10 machine.
The big idea behind the editor is that it allows everyone to use it and make StripStream releases for the Commodore 64 computer. And the fun part is, you don't need a real C64 to play it back. There are plenty of emulators, although personally I think the VICE emulator is the best. Anyway, the editor allows you the create a .TAP file that you can drag and drop to an C64 emulator and play it without pressing any buttons. So if you are a beginning or experienced artist that likes to make comic books but also like to make special releases then StripStream might be fun for you too! And the most important thing, it's completely free! So go to the download section and download the StripStream editor now!

I've made an example .TAP

In order to demonstrate the StripStream project I needed a long story, after all I want to demonstrate the fact that it is possible to put lot's of images and text (a real comic book) onto tape. I want to show that a comic book reader could have existed back in the 80's. But my non-technical drawing skills are non existing, so what to do.
I decided that it was best to "just" use an existing comic. Perhaps an iconic Dutch comic strip, this because early comics didn't feature text balloons. And the absence of these balloons allow for a more efficient use of valuable C64 hires image space. What waste image space on text balloons if you can use subtitles instead.
But there is also some sentimental value. Because, if we talked about comics at home, my father always mentioned a comic named Kapitein Rob (Captain Rob). And wouldn't it be fun to use a comic of my father childhood to demonstrate a project on a computer from my own childhood. So I decided to use the first book of the Kapitein Rob series to demonstrate my project. I contacted the publisher of the comic book series, because although this comic might be old, it isn't in the public domain yet. Luckily, they could appreciate the fun factor of this project and granted me special permission to use the first book of the "Kapitein Rob" series.
The example .TAP I made is available in the download section below, but keep in mind that this example isn't a 100% identical copy of the original book and let's be honest, how could it be. The technical limitations of a 1980's home computer simply result in images being less detailed (very low resolution) and the text had to be cut down in size dramatically, just to fit the screen and tape. The real book is Dutch only, but since C64 has fan's are all around the world, releasing a Dutch comic with Dutch subtitles isn't fun for everyone. So I added an extra package in the data-stream to allow for dual language support. During playback the user can switch between these two subtitle languages by pressing F5. Anyway, just keep in mind that the real book is much better in many ways.
I made another example StripStream release, this one isn't based upon an existing book, but it does contain comic book like images. This example explains the ideas behind StripStream and explains (in a nutshell) how it all works. It's a nice introduction to the concept. Basically, this StripStream file explains itself, literally. All images and text used for making this release is available as an example project in the download section, you can download this and open it in the editor software. The first things the editor might mention is that the file location is different and that that needs to be changed. This is perfectly normal, simply because the file isn't stored on my computer so the paths differ and need to be adjusted in the project file. No worries, the editor software guides you through this very simple process.

Downloads

Here you can download the editor and example .TAP files. The user manual full of practical and technical information is a must read for anyone interested in this concept.
Link to item Description
StripStream - Usermanual v1.0.pdf User manual for StripStream
StripStream_editor.zip the StripStream editor, to make your own releases
StripStream_editor_sourcecode.zip the source code of the StripStream editor, for VB.net programming fun or inspiration
C64_stripStream_player.prg use this StripStream player in your own project
StripStream_example_project.zip a simple example project for the editor
StripStream_explained.tap a .TAP release of a simple example project
The StripStream release based upon the Kapitein Rob comic book can also be downloaded here. But although the .TAP file is available for download, it doesn't mean it's without restrictions. Anybody can and may download it and play it back as many times as they'd like. It may not be hosted anywhere else or used for commercial gain.
Link to item Description
StripStream-Captain_Rob.tap StripStream release of the "Kapitein Rob" book
© erven Pieter Kuhn | Uitgeverij Personalia, https://uitgeverijpersonalia.nl/productcategorie/kapitein-rob