Everybody knows that the old computers are experimenting a second life. On one hand, the 80s revival we can see in some Netflix and Disney products (in series like Stranger Things and Guardians of the Galaxy) and the neo retro aesthtetycs (present in a bunch of Steam games and Raspberry console remake like Retron 5 or Mini NES Classic) are everywhere; and in on the other hand, there is still a big community developing hardware and software for those “early age” machines.
Many of them are in these subculture since the 80s. And our visitor, Prodatron, is one of them.
Behind this nickname there is a digital creator from Germany, forged in Demos and HTML programming in the late 80s and early 90s (a CPC owner who was part of the staff of SymbiosiS and Beng!). Barely active in the Net, he gets a notorious echo in 2006, when he made an entire OS for several 8 bit computers (CPC, PCW, MSX2 and Enterprise computers), avaliable for free digital download. In 2017 he released the version 3.0, and nowadays SymbOS gets bigger and bigger with new applications, videogames and other resources.
[Distrito Entebras] – My first impression when I saw this product was like: “It´s an 8 bit Windows”. MSX and Amstrad machines with floppy Disk Drive had MSX-DOS and CP/M command line interfaces, respectively (which were very close to MSDOS first version), but not an environemtal User Interface with icons and mouse pointer; at least in MSX case, not avaliable for the westerners. You made a great program 🙂
[PRODATRON] – Thank you! (smiling) Already since the 80s I had this dream to have multitasking and a graphical user interface with overlapping windows etc. for my Amstrad CPC. In the old days I did some attempts to reach this goal, but it wasn’t really useful. Years later I discovered the CPC again, now as a “retro computer”. At this time I had some more experiences how to develop a project and how things are working. I had to thought about some important issues, like the preemptive priority-based task scheduler, splitting the GUI into a high level platform independent part and fast screen-specific low level screen routines as well as a concept how to use the limited bankswitching possibilities of the CPC in the best way for multiple programs running at the same time inside the extended memory. At the end it seemed, that all this was solvable, and so I went on with this project and finally was able to fulfill my old dream.
[D.E.] – In your personal site you say were part of SymbiosiS, a group of Demosceners. The golden years of this activity were a truly inspiration for a lot of users (and I´m including myself), it was essential to define the “cyberculture” term. Looking back, do you miss any aspect of the Computer Demos subculture?
[PRODATRON] – Being part of the Demoscene was a great time and a fantastic experience. You learned a lot how to squeeze everything out of your computer – no matter, if it was an 8 bit or a 16 bit one at this time. You did things, which were probably impossible in the imagination of the original developers of the machine. I don’t want to miss this experiences at all, as it helped me a lot to optimize code and getting a feeling, what is the optimum and how a computer can do something in the best way.
On the other hand I don’t miss my activities as a demo programmer today so much. It seems, that I am more a tool developer. But I am still a passive a member of this subculture by joining the two biggest demo parties in Germany every year (Revision in Saarbrücken and Evoke in Cologne). Today it’s a completely different generation of hardware, but it’s still really cool to watch actual 64K demos!
[D.E.] – Since the first release (April 2006), the last version of SymbOS is huge in elements and addons. Is it a mere willing that was born in your mind as a final concept, or was it a large and planned product that changed a lot from the earlier sketches?
[PRODATRON] – It is a mixture of both. The basic concepts for SymbOS from 2001 didn’t change. Fortunately it was never necessary to modify them, even today with the new hardware and possibilities it still works fine. But now we already have new features, which weren’t in my mind at the beginning. Best examples are the ports to other Z80 machines or things like daemons or the extended desktop.
The first goals of SymbOS have been defined like this: It should be much better than GEOS for the C64, it should have a preemptive multitasking scheduler like the Amiga workbench (never liked cooperative multitasking), and it should look like Windows 95. After designing the concepts for all the SymbOS components, the first real working version appeared at the end of 2004. At this time it was still small, the GUI could even run on a 64K system.
With the FAT12/16/32 filesystem implementation and much more features SymbOS was growing and growing. But until today we never violated the rule, that it is still bootable on a naked original 128K Z80 system from the 80s.
The flexibility regarding memory consumption probably is quite a special property of on 8 bit product. Most of the new features are now placed inside external modules and service applications. The minimal configuration still requires about 80K of RAM. But a full installation with a high resolution backdrop, multiple desktop widgets and all services running including network support etc. already takes about 200 KB.
[D.E.] – In present days there is a lot of homebrew videogaming software for obsolete computers, but only a few non-entertaining applications and OS. What was your main reason to make an Operative System like SymbOS? Do you feel more comfortable when you are making applications than when you are making videogames (like Lord of the Rings for CPC)?
[PRODATRON] – Beside the fact, that I am more a tool programmer, that’s a good question anyway! In peoples view a retro computer is usually a pure gaming machine. In one aspect this is somehow true: You still can play nice games on these machines, and many people still have the same fun like they have with modern games. But 99% of them would never use an 8bit computer for their daily work.
And this is the point which is so fascinating to me. With SymbOS I am trying to convert such an old machine into something, which appears to be very similiar to actual modern systems. Developing new tools, which look and behave like these which I have running in Windows on the PC is really fun for me.
Another motivation for SymbOS is the support of new hardware. As an example we now have network interfaces, MP3 decoders and even a new graphic card (at least new for the CPC). Using them with the old single tasking OS is quite boring. You may watch a demo for the new graphic card, or you may download one file from the internet, or you may try your MP3 player. But not at the same time, and then your computer is completely blocked for this one task. In SymbOS you can use the new hardware in a much better way. You are listening to your favourite MP3 playlist while having your chat program open and check, if your buddies are online. All this in a new bigger resolution at high speed with lots of colours. And if nobody wants to chat with you, you play Pac-Man or Columns, while you are downloading and unzipping new applications and media files in the background, while SymAmp is still playing music.
[D.E.] – We can see in SymbOS many common elements with the 80s Microsoft products (specially betweeen Windows 2 and 3.0): Task Manager, Control Panel, a DOS terminal, a Bar Menu, some keyboard shortcuts, etc. Even the installation menu have some resemblances with the WinXP installation.
What would you say it was your main inspiration excluding MS Windows: GEOS for C64, the MSX japanese file managers, or even the OS GUI´s for 16 bit computers like Amiga and Atari ST?
[PRODATRON] – The Amiga workbench was the number #1 inspiration for me, when I only had my CPC in the past. I also liked the Macintosh-like design of the C64 GEOS a lot. To be honest compared to the workbench I never liked GEM. At the beginning of the 90s I saw the Arthur GUI (later Risc OS) of the Archimedes, and IMHO (in my humble opinion) Microsoft made a good decission to rip some ideas from this GUI for Win95 😉 Unfortunately I didn’t know details about the MSX before I started the port.
[D.E.] – SymbOS runs perfectly on a lot of machines, including MSX computers with add-ons like Powergraph V9990 and CPC marginal equipments like PCW computers. I suppose you made it on Assembler, the “old school” programming language (you´ve written in your site that the total code is about 119000 lines). Was it very difficult to port SymbOS to other platforms, or you made only a few changes betweeen Amstrad and MSX versions? As your personal point of view, is assembler coding some kind of romantic act?
[PRODATRON] – Sure, SymbOS is written 100% in Z80 Assembler. The first port for the MSX required several initial work like re-sorting some source codes, making thoughts what all has to be done for a port in general, having a new concept for handling 16 and 4 colours at the same time, improving some interfaces between the SymbOS modules, etc. Today it’s much easier as all the concepts, preparations and experiences are already there thanks to the first port. It shouldn’t take much more than about two weeks to have a new port running rudimentary on another platform – the initial Enterprise 128 port took 1,5 weeks.
Oh yes, coding in assembler is incredible romantic! (big laughs) Well at least it’s probably good for keeping your brain trained; you feel good, as you try to reach the optimum for your code size and speed; and you always remember about the beginnings 🙂
[D.E.] – What would you say to the actual average programmers, using huge IDE´s every single moment, a lot of DLL´s and protected by big amount of online documentation with given examples? Don´t worry to hurt their feelings a little 🙂
[PRODATRON] – Hahaha, it’s the only way how you can survive today in commercial business. If I have to develop an actual application I am using huge IDEs, DLLs and a lot of documentations and examples as well. Now C++ is becoming the new assembler language – many people don’t use it anymore, now it’s even hard to find C++ coders at all.
But it starts to become really strange, that many programmers don’t even know anymore, what a Hex number is or how to use Bits. And there is sometimes a problem with code optimization. Todays computers are so fast, that you usually don’t recognize, if your code is completely unoptimized. If it’s running on your local machine only, that maybe ok, so there is no pressure to learn it anyway. But if it has to run in a timecritical environment like on a server farm, which is accessed by thousands of clients per second, it could become a problem or quite expensive.
[D.E.] – That´s a typical question: What actual OS do you prefer (beside SymbOS): Windows, Linux, MAC OS, Android?
[PRODATRON] – I prefer Windows and Android. Linux is great for running servers, but I still like using Windows on my PC at home. I am not a big Apple fan but I love my Apple Lisa.
[D.E.] – Among with the original OS, in your site there are a lot of applications, including video and music players (an MP3 reader!!), a calculator, many games (Snake, Columns, Pacman, Game of Life); and even some other resources (fonts, wallpapers). If any user wants to develop one of these resources for your OS, is there any editor avaliable? In the official site you talk about SymStudio, but the link is broken.
[PRODATRON] – Good news here, SymStudio is now called Quigs and will be available soon for the public! Trebmint (the alias of another CPC developer, called Rob Buckley) is currently working hard on the first release. Currently there is a full working previous version available, which was used by EdoZ (another support programmer in the SymbOS project) to create most of the new games and apps of the last three years. But there are differences in the Basic-like language, so it’s better to wait for the new version.
[D.E.] – Have you ever considered to make SymbOS in other languages (German, Spanish, Japanese)? Would you adapt them if the community gave you the entire translations?
[PRODATRON] – To be honest I don’t have such plans. Today you would use an additional text file or database with IDs for each label or something like this. On a Z80 machine you still try to keep your code as small and fast as possible, so usually you link texts in your code directly. That means for each language I would have to assemble an own binary of the whole operating system and for each application as well. It is already hard to handle all the different ports of SymbOS and this would even add a lot more variants. The nice thing about the english language is: It is understandable by most people and – from an 8 bit computer point of view – it is a very compact language! (intense laughs).
[D.E.] – Have you considered port SymbOS to other machines like Spectrum +2, Dragon or BBC computers?
[PRODATRON] – SymbOS requires a Z80 and has some requirements for the memory bank switching capabilities of the platform. Unfortunately many older machines are not able to provide this. Porting it to the ZX Spectrum would be a dream, but without hardware modifications it’s impossible for the normal ones. Spectrum +3 would allow 128K only with very huge changes to the kernel and memory structures. But I am planning to port SymbOS to the ZX Uno and Spectrum Next. And of course there is still the possibility to port SymbOS to other Z80 machines like the Amstrad NC100/200 range and even the PcW16 with its fast 16MHz Z80.
[D.E.] – Time to finish the interview. Now we´ll close the Text Editor, write exit in the command terminal and close all programs before leaving the System. We wish you the best in the next years, our old machines need big creators and programmers like you.
[PRODATRON] – Thanks a lot for these very interesting questions and your kind words! 🙂