This is quite an exciting issue, and although they seem to be taking more and more time, are still readable and I seem to be receiving a great number of emails asking from new issues and comments about how people enjoyed reading the last XXX issue. I would like to thank everyone for your kind comments (although I have done so personally by email) and I am glad you are still with us on our Commodore journey.
This issue then has the usual news and in no particular order we have sneaked alongside “A Comparison of some Common Fast Load” by Wilfred Wells. Lenard Roach goes back to his Growing Pains with part Part Fin, not sure why he stopped naming the 1, 2 , 3, 4 etc but its an interesting read about one man and his Commodore adventures. We have an interview with Alessandro Abbruzzetti who is the Creator of KERNAL64, although some may say, "Just another emulator," you need to read the interview to find out why this is different from the current batch of emulating systems. Then another interview, this time with Christian Krenner, the creator of Space Chase For the CBM II. Not a lot of software was created for this machine and little, if any games. Not only is this an impressive creation, it's also very playable, even in its current state. It’s a game I am looking forward to reviewing in the not too distant future, of course once the game is fully finished.
This brings up another point. Commodore Free doesn’t review, preview, or beta software. I may say that the software is excellent and may point to a final score, but a review isn’t made on beta software as the code and indeed game will evolve (change) and so the score will alter. Once the game is stable and released then a review will be undertaken. The review period is usually a month with extensive playing! The reviews are completed on hardware, or if the system is very rare, then I have to resort to emulation if I don’t have the physical machine.
Lenard Roach continues in this issue with what he entitles “Growing Pains Part Quad”, continued work on "The Ledger", and I would like to press Lenard to release this series of titles to the community either as freeware or donation ware, as there is still life in these titles.
Finally, we have an interview with the IDE64 creator Tomas Pribyl. Although this is a reprint of an interview I conducted some time ago for Commodore Scene, many people have asked me to interview Tomas for Commodore Free so I have reprinted the article.
And that’s the end of another magazine.
As usual help is required for all parts of the magazine either as a one off contribution or a regular columnist
Thanks for reading
Stefan Blixth has developed a joystick adapter that makes it possible to use an Atari style joystick on an emulator running on a PC. The adapter is a HID device and does not need to use a special driver but should be picked up by the operating system.
There is also a PCB-layout if you want to build the adaptor yourself.
Retro-Commodore has a large collection of high quality scans available for Commodore users. The latest additions to the website are: Deluxe Paint IV Addendum, Deluxe Paint IV Quick Reference, Elbox FastATA MK-IV, Allegro CDFS User's Guide v2.6, COMputer, Grand Master Manual (C64), Commodore Monitor 1940/42 User's Guide, Make CD 3 for the Amiga Manual, Phase 5 Blizzard 603 Power Board, Phase5 - Blizzard MKIV, Expansion Systems DataFlyer SCSI+ User manual, Alfa Data Tandem IDE+CD Controller manual, VXL-30 Accelerator Config, Chip install and Upgrade Notes, The Professional Page Template and Design Guide, Amiga Lære og Håndbog BASIC-programmering, Deluxe Paint III Quick Reference, Alcotini Priselister, PC10/PC20 User Manual, PC10/PC20 Advanced Graphics Adapter Manual, and Amiga 500 Använderehandbok.
This is a new Kickstarter project to publish a book about the games on the five major platforms of the golden age of computers from (1985-1993): the computer platforms are Amstrad CPC, Atari ST, Commodore Amiga, Commodore 64, and ZX Spectrum.
Here you can find games, demos, animations, slideshows, diskette magazines, history, emulators, reviews, and advert Scans for Amiga and Commodore 64 machines. New additions to the site include: ASI Disk Helper 2, ASI Disk Helper 3, ASI Disk Helper 4, ASI Disk Helper 5, Hyper, Iconmania, Interferon Pro, Metallion Utilities, Mobed, System Checkers, Henry & 5 Towers, Inirox, Mega Boulderdash, Oubliette, Wrath of Gwendor 97 SE, Bongo, Earth Orbit, Flying Zambini Bros, Knighty Norman, Knighty Norman 2, Sculpt Animations, Twingo, Walker Demo, Walker Demo 2, Amiganitzu, Haunted Mine 5, PD Two, Time Bombs, Xenopew, Yoghurt Boy & Defence, Zeus, Am-Tank, Dungeon of Nadroj, Fantasy Project, The, Marietto, Playball, Amicash, Brit Stick Utilities 7, GFX Disk 1, Journal, Music Construction Kit, Slick Utilities Vol 1, Tools Of The Trade, Ultimate Diskmaker, Jet Set Willy 3, Kalaha, Lord Of Hosts, Sir Losealot, Space Pack, Timultus, Opti-Utils 1, Pauls Freeware, Studio Rippers, Utility Mix 1, and Vector Designer.
Retrogaming Times is as you would expect a retro computer magazine (in English language).
In this recent edition are : Prepare to Qualify, Events, RetroDuo Portable V2.0 Review, More C64! - SEUCK Competitions, Apple II Incider - Space Ark, A Pirate's Life For Me - First Journey, Retro Gaming Heroes - The No Swear Gamer, My Video Game Collection, Retrogaming Feels - Lemonade Stand, and See You Next Game.
Clean up your computer case's yellowing plastic with yet another magic chemical formula, easier to obtain chemicals. Man, this is more a doable project than other similar cleaning ideas. Although I personally haven’t tried this, the results of this YouTuber seem to be very promising. The picture the top of the case is the after-effect; the bottom is the before.
Released by: Oziphantom, Saul Cross
A very quirky and expertly executed platform style game, the FINAL 16K Compo version fixed a number of issues.
Released by: Nostalgia
This is an interactive dissembler for Commodore 64 programmes, to dissemble to a pc
Released by: Fit
This is a tool for the retro scene artist. The software can automatically check whether an image conforms to the colour limits of a particular retro platform and save the result in certain native formats.
----- Original Message -----
From: Christian Gleinser
Subject: new 4-player game "SHOTGUN"
I'd like to inform you about my new C64 game which is called "SHOTGUN" and is a 4-player death match game. You run around in an arena, collect weapons that have only 3 bullets and try to kill as many of the other players as you can. Whoever reaches a certain amount of kills wins the match.
The game supports the 4-Player Interface by Protovision. I'd be very glad if you would like to review/mention my game in your magazine :)
Here's the official website: http://shotgun.drwuro.com
And here's the CSDb link: http://csdb.dk/release/?id=148076
Nice greetings from Germany
Released by: Slavia
For the Shoot Em Up Construction Kit 2016 Game competition, SEUCK was an easy point and click way to create games. The skill is working with the software and interface to create a unique and playable game.
1917 is a comedy game based in 1917, Not to be taken too seriously, the game sees you as a leader of a Revolution who enter a palace in order to have a final showdown against the corrupt rich people and put things right.
Released by: Genesis Project
Dumping EasyFlash Cartridges (with save games etc.) through USB with EasyFlash 3 has never been this fast or easy. Genesis Project gives you EZF Easyflash Cartridge Dumper V2.0 coded by L.A.Style.
Released by: Oziphantom
This will need the VS2013/.Net 4.0 runtimes to work
To start with you need to save your Regenerator project so you have the config file and a tas file. Once you have done this, use Open Confiq and select the Regenerator config file, and then Open VSF and open the same VSF file you used to make the Regenerator project.
Released by: Nostalgia
An interactive disassembler for C64 binaries.
Regenerator will load any standard C64 .PRG file (or VICE snapshot) and disassemble it. There are a few options you can choose to change the output and a few tools to make the output look better and more useful to programmers. The tool is really simple to use. You will need .Net 3.5 (or 4.0) runtime.
Released by: Rod & Emu
A great pseudo-3D style game
This is a port of the ZX Spectrum classic ' Pentagram ' originally released by the legendary company 'Ulimate Play the Game' in 1986. It was numberd fourth in the Sabreman series; the game is played in an isometric viewpoint. The conversion now has a bug update to version 1.10 and makes it the definitive version.
Changelog is as follows :
Download including source code
Released by: Style
This is an excellent tool and an earlier version was reviewed in Commodore Free issue number 5
DirMaster is a Windows-based GUI application designed to help Commodore enthusiasts explore and manage their disk image collections.
v3.1.1 addresses a few bugs reported by users.
Released by: Genesis Project
Preservers and collectors, a new tool for backing up your CMD Harddrives. CMD Native Partition Copy, or CMD Reader for short. It will preserve any CMD partition for you by using the .DNP format, supported by, for example, DirMaster. You can use a SD2IEC or any other bigger solution. If you are the owner of a EasyFlash 3, you can preserve your drive to your PC directly through USB. Enjoy!
Released by: Mix256
Takes as an input a PNG file and converts it to a doodle image. The software is written in Java. It does come with an example PNG file so you get the format right when converting.
Released by: ZeHa
Using the 4-player adaptor, this game sees you and up to four friends battling for survival in a shotgun showdown. First you have to run to get your gun, then once you have shot your gun four times it disappears and you have to run to find another gun.
Released by: Rod & Emu
After over 30 years the classic Spectrum game is ported to the Commodore 64. This is an isometric game where you hunt for clues, however this conversion seems more playable than I remember the Spectrum versions. It’s because either I now have a better joystick or the pseudo-3D is more realistic?!
Released by: Cout Games
Poor Barney the singing dinosaur, written in BASIC. The idea of the game is to drop the boot to squash him flat -- maybe not a game for the kids to play.
Released by: The New Dimension
This program allows you to record your own sprite movement and generates a 256 byte table for X position, and a table for Y position of the sprites. This tool features a record and playback of the alien formation and allows you to load/save your own sprite formations. F1, F3, F5 and F7 (in record mode) will allow you to set the speed of the sprite movement. If you wish to mix the speed be careful to keep the joystick, and let it go when pressing the FUNCTION keys. The stoppage is also recorded :)
Released by: Lft
Spindle is an integrated linking, loading and crunching solution for C64 trackmos. By hiding the details of the storage model, it allows the demo coder to focus on effects, transitions and flow. The core of Spindle is a cutting-edge IRQ loader featuring extremely fast scattered loading and decrunching, state of the art serial transfer routines and GCR decoding on the fly. On top of this, Spindle provides an optional linking framework that automates much of the tedious work traditionally associated with trackmo development.
This version offers improved robustness. The API is fully compatible with earlier 2.x versions.
Released by: K&A Plus, Slavia
This game was created by Minimoog. In the game you choose your tribe: Polans, Pomeranians, Moravians, or Drevlans. Buy items , hunt, trade, and go into battle.
Released by: K&A Plus
Released in English and Polish is a new version of the fanzine K&A, with the latest news and reviews
Released by: Ate Bit
FM-Sid is probably the first c64 music driver that lets you use the SFX FM Expander cartridge when composing, giving you 12 channels in total. It allows you to either write songs with the basic standalone driver, or use another editor to provide the SID channels while the driver plays back the FM ones. This means using tools with multi-SID support (such as Sid Wizard of Goat Tracker) can give you up to 18 channel songs on one C64. (9 SID channels + 9 FM channels)
Released by: SHAPE
SIDPLAY is a program that can playback .SID files found in the HVSC collection (http://hvsc.c64.org/) on a real Commodore 64/128. Make sure you have the most recent HVSC version for your sid files.
It was designed for both PAL and NTSC computers, and will play all SID songs at correct system speed.
Released by: riq
This is yet another update to the character editor for the Commodore 64.
Features in this version are: Import, export, rotate, invert, clear, shift to left, right, up and down.
Changes in this version: Added grid / zoom level and improvements for Copy/Paste.
Released by: The New Dimension
Richard Bayliss has released Tape Master Pro 3 for mastering tapes files on the Commodore 64.
If you wanted your game to display scrolling text, pictures, and play music while loading a program with a professional look, then Tape Master Pro 3 is for you. The IRQ tape loader system was programmed by Martin Piper, with additional programming (and utility) added by Richard/TND. The IRQ loader also handles detection for loading errors.
Released by: Hokuto Force
This Decompiler will decompile BASIC programs that were compiled using the commercial program Blitz! or the PD program Austro-Speed. The program will also find any embedded Machine Language code included in the compiled code. A good example of this is Austro-Speed itself. When you decompile Austro-Speed you will find a file with an .ml extension saved to disk. This is the ML program that was embedded in Austro-Speed.
Released by: Alterus
This is a 1K game written in BASIC. Using the joystick, you have to avoid the asteroids to move from the left to the right of the screen. Once completed the screen is re-drawn. You then move faster but the number of asteroids increases, and so on !
Released by: GI-Joe HL
Copy programs using the Retro Replay cartridge to a disk image on your pc. You run a server application on the C64 and the exe file on your pc to copy the data into a d64 image.
Released by: Mayday!
The "Independend Autofire Plug" was developed to equip every joystick with an external autofire function. The autofire rate of this circuit is higher than the rate in the "Compotition-Pro"-joystick. The "Independend Autofire Plug" can be simply plugged between joystick and computer. With the slide of a switch the autofire-function can be turned ON or OFF, but the fire buttons on the joystick will have always priority.
Released by: Triad
SCT2D (Spectacular Copy Turbo 2 Disk) changelog
Release v2.0. Written from scratch by SAILOR/TRIAD
Save speed comparsion of a 180 blocks file (mm:ss):
Released by: riq
The documentation says it’s a tool to play your Commodore games on a unicycle.
The hack consists of three parts:
Released by: Errazking
Released for the SEUCK 2016 competition http://tnd64.unikat.sk/Seuck_Compo_2016.html
The SEUCK website says
The first entry for the Back to Basics category (Basically, a normal SEUCK / Sideways scrolling SEUCK created without any additional enhancements. This is an amusing little game that puts your player in the middle of a bull-fighting arena, but unlike many bull fights there are a few surprises on the way. The game is quite nicely detailed, and acts as if you are on different Spanish TV channels of the 1980's. Music on the title screen is called "Olé Hosé'.
Released by: Alf Yngve
This time it is a Sci-Fi thriller and a third of the 'Double or Nothing' series. This is a vertical scrolling SEUCK game consisting of some clever tricks implemented in the BASIC SEUCK engine. The linked players poke (16578,2) controlled with one joystick mode works really well with this game. The background consists of mixed hi-res and multicolour chars. You'll know what to expect from Alf the SEUCK master. The green circular beams also feature a very clever trick implemented into the game where the players can duplicate each other. There are some mean bosses, human militia, aliens.
Released by: Singular
To use a new disk with IDE64 you need an operating system, IDEDOS has it's own filesystem called CFS. It allows to use disks up to 128 GiB, files up to 4 GiB with holes and fast seeking, relative files up to 16 MiB, 16 partitions, nested directories, customizable file types, and new file permissions. To create the file system on a hard drive, CompactFlash, Zip drive and LS-120 drive use the provided CFSfdisk utility. It allows to create partitions, change partition flags, and create file systems on them.
A number of 16k cartridges have been released
Released by: The New Dimension
This was the very first compo entry for the 2016 SEUCK Competition submitted before the competition even started, however it wasn’t released elsewhere else before the competition and therefore still qualifies as entry. This is a commando style SEUCK creation with a big twist -- the game is based in 1942 Transylvania during World War 2. Instead of playing a soldier in the military forces you play a blood sucking Valkyrie who is on a quest to find her true love. In order to reach her goal she must cast spells at the SS Panzer Division 6 and survive.
Released by: Ymgve
The text file says this is a decrypter/cracker for the ancient Commodore 64 disk protection utility Laurin.
Released by: Schaedelproduktion
Mixed Game Competition at Revision 2016 : reaching number 9
It seems you just press the key that’s displayed in the middle of the screen! So when it shows a letter T you press T, doesn’t seem too taxing really. To make things even easier it always prompts you to press letter T so once you find the letter t on the keyboard, then its becomes quite easy!
Released by: Delysid, Finnish Gold
Abba tunes as SID music files with a nice front end.
Of course it depends on if you like Abba or not as to if you would appreciate the music, and of course there are no vocals to listen to.
Use the cursor keys to select the tune and enter to play the selected tune. All very competently composed.
Released by: C64 Club Berlin
The device is sold by the C64 Berlin Club and costs from 37 Euros. Click on the links for more information (websites are in German). This is a new SD2IEC storage device for the Commodore 64, with an 8KB EEPROM that adds commands to the machine’s built-in BASIC allowing the user to browse the SD Card contents without an application!
To: Commodore Free
From: Robert bernardo
Subject: C128 VGA adapter released at CommVEx v11 2015
> John Carlsen's C128 80-column Video Digital-to-Analog Converter was released at CommVEx v11 2015
John's C128 VGA adapter webpage has been updated with the latest photos
After an inquiry from a FCUG member, I looked up John's website and found it to be updated! The website address has been subtly changed to
He now has categorized the site into multiple pages - Home, Uses, How to Buy, Quick Start Guide, History, and Contact. Interestingly, under History, he notes that the BIT-C-128 Video DAC is now in its second production run after having strong Christmas sales.
Alternatively, he also sells through Amazon.com at
Stray Tree has written another article about the SID chip in the Commodore C64.
In this entry on his blog he compares the 8580 R5 SID and the brand new Ultimate SwinSID.
Scene World is a English language disk magazine for both PAL and NTSC Commodore 64 scene users.
In this edition: Editorial, SWO info, Feedback, Interviews: David Pleasance (Nafcom), Friendhelm Hillebrand, Graham Axtern and Hans Ippisch, Commodore PET Phone, Mega 65 Computer, C64 Reloaded, C= WIFI Modem, Sneakernet, Diskmag Reviews, BCC#10, Syntax 2014, 2015 Crack List, Blap'n Bash, Heroes & Cowards and Nuclear Strike Force.
I was emailed this By Chris, however my ISP blocks the website, so all I could drag from it was GEOS 64 2.1e Kernal ROM Image. This new version of GEOS kernal is bootable from EPROM.
Geos is a graphic operating system for the Commodore 64 and Commodore 128. When it was released Geos supported some very high end features, and of course was loved by CMD hardware users.
|Name||Game Theory (remake)|
|Requirements||VIC20 with no expansion|
Written entirely in BASIC, the game uses either the Keyboard (any key) or Joystick (fire button) and features a number of mini games that you have to complete. However, fail one and you lose and start again. The mini games are selected at random and you have seconds to work out how to play. Of course the more you play the more you find out what you should do. It’s a brilliant idea and well executed.
The download has some instructions and a PDF cassette inlay.
The manual says:
In this operant conditioning game, the player is tasked with pressing a single button at the right time and in the right way. Determine the best action for each game. If you are correct, you will advance to the next round. An incorrect reaction will return you to the title screen. Try to beat the high score. As you play longer, more games will be encountered. Some games may test your reflexes with a perfectly timed press. Some games may require you to rapidly press the button. Others may require different strategies for pressing the button.
Neo-Rio has created a VIC20 version of the game Telengard. To play the game you have to use a 24 KByte RAM expansion. The game does have some compromises due to the limited amount of RAM. Click .
|Author||Daniel Lawrence (PET original), Nathan Butcher (VIC-20 porting)|
|Released||April 13th, 2016|
|Requirements||VIC-20 with +24K RAM expansion|
|Description||VIC-20 port of the classic role-playing game|
There was no official version of Telengard released onto the VIC-20. Many screamed out in anguish to their gods to get the game ported to the wonder computer of the 1980s, but their voices fell on deaf ears for over three decades. Suddenly, out of the ether(net) the code sprang forth! Their prayers had finally been answered by the gods... or so they thought..... In truth, I just found myself unemployed and with a lot of time on my hands. What started out as an experiment to see if the game *could* be shoehorned onto a fully expanded VIC turned into an obsession - resulting in a fully functional VIC-20 port of Telengard v4.18 (the standard Avalon Hill Telengard version).
"Shadow of the Beast is a new PS4 game from Heavy Spectrum, inspired by the classic Amiga release of the same name.
Please read the complete article on the link below.
Also Shadow Of The Beast review - Revenge of the Amiga
Happiga is an emulation system that can be used on very small computers, such as the Raspberry Pi. It uses the UAE4ARM emulator, emulating up to an Amiga 4000 AGA including emulation of the Picasso96. You can also use a keyboard and joysticks through a Keyrah V2
A new episode of the German language BoingsWorld is available with the following articles: Dr. Peter Kittel, Amiga Case Crowdfunding, Giana Sisters Special Edition, SMBFS, The Amiga Years, FPGA - A500, MNT VA2000 - A2000 and RapidRoad.
AMIcast is an English podcast about Amiga computers. Highlights in this latest episode : An interview with Toni Wilen from WinUAE. Every month in AMIcast you'll find new episodes with invited guest. The best parts from past and the new future with next generation Amigas. Every episode will include some famous Amiga music.
The web page Amigos has recently been updated. The latest updates include: What's up doc?, Speedball II, Turrican II joystick, Civilization, Blitz Basic 2 Compo, Andy Davidson, Karateka, Amiga games - eBay, Gods, Rainbow Islands, Deluxe Paint, Will Williams, and Fukio Mitsuji.
Calimero is a powerful DTP program for MorphOS. Not only will the program import and export in a number of formats, but also supports multi page, columns, header, footer, separators, hyperlinks, text-warp, table of contents, background texture, and much more. Changes in this recent version are: Texture mask, alpha-channel in pictures, gif animation, import of picture directories, and a few errors were removed.
Epsilon has published an update to his blog by taking a look in detail at the new Enhancer Software
available from AMIStore App Store
Link to the blog: Epsilon's Amiga X1000 Blog
The Enhancer Software is a collection of utilities, commodities, classes, datatypes, and libraries with the aim of enhancing the AmigaOS experience. It is the result of about nine months worth of hard work by the AmigaDeveloper.com Team. The Enhancer Software contains the debut pre-release version of Warp3D Nova and there will be free updates for Enhancer Software users as Nova gets updated over the coming months.
Unfortunately, due to an unexpected server hardware fault, the AmigaKit.com website was offline for nearly 40 hours. However Amigakit are pleased to announce that it is now open for business once again.
During the fault, existing orders continued to be processed and shipped.
The retro Hour Podcast got the low down on the new full length movie about the Amiga, called ‘Viva Amiga’ from its creator Zach Weddington. Plus, the top 5 tips for keeping your old systems running well, and this week’s retro stories:
The Retro Hour is a professional Podcast run by Dan Wood & Ravi Abbott. Both being YouTubers and strong in the area of UK gaming culture they decided to create a Podcast with high audio quality and production. The Retro Hour aims to help the world understand the UK and European gaming industry and its roots whilst avoiding the cliché of being very technical, droning on, and coming out at irregular times.
Quick snippet from the story
"In terms of planning our lives around what our TVs spit out, we've come a long way from the overly condensed pages of TV Guide. In fact, the magazine was already looking awful obsolete in the 1980s and 1990s, when cable systems around the country began dedicating entire channels to listing TV schedules.
The set-top box, the power-sucking block that serves as the liaison between you and your cable company, is a common sight in homes around the country these days. But before all that was the Commodore Amiga, a device that played a quiet but important role in the cable television revolution.
The Amiga was a much-loved machine, huge among a cult of users who embraced its impressive video and audio capabilities, which blew away every other platform at the time of its release.
As a multimedia powerhouse, it was ahead of both the Apple Macintosh and the IBM PC by nearly a decade at the time of its 1985 release, and its launch price was a relatively inexpensive $1,295, making the computer a bit of a bargain at launch. And seeing as “Amiga” is the Spanish word for friend with a feminine ending, it was also friendlier than its office-drone competitors."
Read more at the link below.
Part 9 of an ongoing Ars Technica series about the history of the Amiga Computer continues this time with the discussion about the amazing Video Toaster. What Amiga owner didn’t dream of owning this device? Although I think it was only released as an NTSC add-on, well we will all know more by reading the rest of the website. Here is a taster .
The Video Toaster was released in December 1990 for an entry-level price of $2,399. It consisted of a large expansion card that plugged into an Amiga 2000 and a set of programs on eight floppy disks. The complete package, including the Amiga, could be purchased for less than $5,000
I was nosing around in my disk files just to see what kind of things I thought were necessary to hang on to. For somebody who doesn't play too many games I sure did have a lot of games on disk that I put into storage. I went through my two files of 5 1/4" disks and found that I would like to still hang onto these disks for some insane reason. I especially had a lot of music programs and I needed to take time to learn how to make music on my Commodore so I could have some of my favorite tunes produced by the SID chip and not everyone else's. Onto the one and only file box I had containing 3 1/2" disks.
I'm not a big fan of these disks since I can load five of the 5 1/4s" full of my ravings and ratings compared to only one 3 1/2". The 5 1/4s make me look more like a Commodore big shot than the 3 1/2s do, but I did condense a lot of my favourite type-in games onto the smaller disks for room's sake. I started to rifle through this box when, about midway in, I stumbled across a disk I labelled with an ink pen, "Roachware Vol. 1." I remember this disk from way back in 2000 when I took all the programming and word processing I did and filed it onto one disk, with subsequent disks to follow as I progressed into the 21st century. Volume 1 was where I stopped because life, as usual, got in the way of progress.
"Yeah, I'll boot this," I said to Hennessy the Commodore Cat, who was lying on the table above my 128, "and we'll see what I thought was important." Hennessy just shifted his head from his left paw to his right and went back to sleep, indicating his famous "Whatever" feline attitude. I booted the 128, loaded the intended disk into my favorite drive, the Commodore 1581, and loaded the disk's directory. A quick flash of the word READY and the input of LIST, then the tap of the RETURN key and history of my world from 2000 to about 2008 flashed before me in lines of sixteen characters or less. Basically, the disk contained many of my writings for church ministry that I won't get into in this article, but one particular program file did catch my attention. It was only called BILL8. Who did I know as Bill, why would I write a file about him, and why did I revise it about eight times? The only way to find out is to LOAD the program into memory and see what happens...
The monitor showed me that BILL8 is in reality a long abandoned program called "Bill Attack!" Since I didn't date the work I have no idea when I started or stopped working on it, but my best guess on dating this work would be about 1993 or 94, when I was trying to make a living from magazine publications. I really thought I reached the summit of my life back then: beautiful wife, two sons, a great job, and what I wanted; a writing career. It all crashed in a month when all things Commodore in the US went belly up. More on that at another time... "Bill Attack" was a simple menu driven program coded in Commodore BASIC that was more of a note making program totally focused on word processing and little else to deal with paying bills. After all the inputs are satisfied, the program saves the data in a one block sequential file on a disk.
If I remember right, I needed a program to keep up with all the bill collectors were telling me instead of trying to keep all their hogwash straight in my head. I've later learned that you should know that a bill collector is lying when their lips are moving and you need documented evidence of what was said. "Bill Attack" allowed a user to keep notes on what was said. I would usually use such information as who I talked to and at what time. Now what am I going to do with it? A quick solution would be the following BASIC command line:
That would solve almost everything. "Obligator Coordinator" is an upgraded variant of "Bill Attack" so "Bill Attack" is not really necessary, except for the fact that it belongs in the Roach Anthology of Programs. But, if this program was worth it, what would I do to it to make it marketable to the Commodore public? Apparently when I left off, I was just starting to give the screen display some flair by adding a little color, but all I did was some white and a light red and nothing else. The red bled into the rest of the display. Not attractive.
I tried using the program by entering some random data to see the display on the input screens. I was impressed by how well each input took the place of the former input by overlapping. Sadly, when I went to save my bogus information the Commodore disk drive failed due to a simple (,8) telling the machine to save only to drive 8 and I was using drive 9 at the time, so I don't know how it fully functioned. I'm thinking of adding a drive access number to all my programs I'm reviewing in this series so the user can choose which drive to put data on. I've always liked that feature in works like GEOS and I'm thinking, "Why not?" I'll see how that may improve the working of the software. I think I've mentioned this before, but programming in Commodore is like writing a symphony.
Each tap on the keyboard brings harmony to the work as a whole and when it is finished and the programmer types that fatal RUN command, the combination of key taps and algorithms begin to play together into a working conglomerate. Maybe the Rabbi Paul said it best in 1 Corinthians 12, "The body has many parts, but it is all one body." So, likewise, a program has many keystrokes, but it is all one program. Like Colonel Hannibal Smith says in the "A-Team" series, "I love it when a plan comes together." I feel the same way when I program. So this little hidden blip in my program repertoire brings back where I really was when I started to take programming seriously.
I guess there's not much to do with a program code that you had planned on destroying anyway, but I have learned to give credit where credit is due and "Bill Attack" gave me a burst of expanding ideas to make two more prototypes that brought me to where I am now. Like my writing teacher always said, "Save everything; you never know, that napkin note may be your next best seller."
I came late to the Commodore world. My first computer was a TRS 80 a CoCo II, and in 1990 a friend lent me a VIC and a C64. We used terminal programs to connect to BBSes, and played very few games- 'coz we had almost none!
When he heard CBM was preparing to file bankruptcy, he turned his back on the company in disgust. I was left to my own devices. Haunting flea markets and thrift stores I picked up what I could. The only carts I had that worked were an Epyx FL cart, a Write Now word processor cart, and a Hearsay 1000 speech cart. Eventually I found a single disk of LoadStar, and found that they were still up and running, and I learned to really use this thing and at least hear of what I had missed.
With my cartridge port occupied by CMD devices and Jiffy-Dos installed, I didn't have any real use for cartridges; I never had any of the 'super carts' that seem to be so desired now. I stayed with LoadStar until my system finally wore out in the last decade.
Since getting back into my C= hobby- I'm typing this on a C64C, looking at it on my no-name-screen TV- I have been trying to learn everything I had missed out on. For a year and a half, I've picked up cartridges here and there, games and even FL cartridges. I decided to do a comparison test, so here goes. For the purpose of this test, I am using a flat C128 and an Aprospand 4-slot expander. I am loading the Filebrowser and directory of many files I have downloaded, from my SD2iec bought from The Future Was 8-bit in the (Creative) UK.
w/ Basic V4; not compatible with the SD2iec unfortunately.
This nifty PDA-like cart has a fast load built in; Partner64 V1.0 will load FB in about 2 seconds! I use a blank D64 on SD for info. I highly recommend this for functionality, though the rubber 'foot' on the back may need to be removed if you use a port expander like I do. And the calendar DOES start at 1987. Oh well...
Oops, no 80 column monitor to test definitively!
Although somewhat complicated to use, it will load FB in about 3 seconds. And I am fascinated by the GUI and resident tools. Made for a disk-based system, and I have not used the freezer (yet).
This overlooked cart will load FB in 3-4 seconds. Not bad! Type in Load "*",8 as the cart utilities are not compatible with the SD2iec. Also has a handy reset button.
The old reliable, budget cart. I used one to load LoadStar for years before cracking open my C128 and installing Jiffy Dos chips. Punching Run/Stop and C= keys together will quickly load FB. ö opens file utilities, unfortunately not compatible with the SD2iec. And it lacks a reset button.
Loader V.1B, not compatible with SD2iec.
64 and 128 mode, with sliding switch, reset button; 64 V3.A Warp Drive and 128 V2.A Warp Drive are not compatible with SD2iec.
Since I have one- it sits next to the Visible Universe in my Aprospand- I gave it a try. After typing a file, I tried to save it to SD2iec- no luck.
I have one of these bright yellow, possibly German-made(?) carts, it's meant to slow down screen activity by a rotary dial to make it easier to negotiate games. Could it have a fast loader? Typing the load command, in about 4-5 seconds FB was up on screen! Hitting the Aprospand's reset button, my C128 went into 128-mode, 40 col. Curious, I typed the load command in, and voila!- in about 4 seconds, there was FB 128! If anyone reading this has any of these type carts, I believe they are worth another look-see. (Though I don't recommend the slow down function, didn't help me.)
Edit: On further examination, I found that although it will load menus in both modes, loading games was painfully slow! My bad.
Although compatibility was stated- and it would read the card's directory- I never could get it to load on my 128 in 64 mode (?).
All in all, this was an enjoyable evening! For anyone looking for an affordable fast loader, I hope this was helpful, or at least interesting. If anyone wishes to correct me, question me, or just comment on this, I am:
Still learning about my Commodore!
Cheers from Virginia!
CF: Please introduce yourself to our readers
AA: Hi, my name is Alessandro Abbruzzetti. I live in Rome, Italy. I’m 46 years old with a wife and two kids.
I have a Master's Degree in Computer Engineering. I work for Ericsson, one of the world's leaders in telecommunication infrastructures and services. In particular I work in the Usage area of Telecom Italia where we build software related to the backend of mobile services. Software development is one of my favorite activities.
CF: Can you give our readers a short history of how Commodore has touched you life, and the process you went through to create KERNAL64
AA: I started programming when I was twelve, my parents purchased my first computer, a Commodore 64. This event practically changed my life: I discovered a real passion for programming and technology in general. It was early in the ‘80s: I was part of the 8-bit generation, when, at least in Europe, there was the Commodore vs Sinclair “fighting”, when one of the most important source of computer related information were the computer dedicated magazines. Of course, I’m a little bit nostalgic about that time... I felt in love with my Breadbox: I started programming in BASIC (it was a great school) and then in Assembler. A few years later I sold my C64 and I bought a Commodore 128. Afterwards I sold this for a PC/XT where I started programming in Turbo Pascal, C, C++.
In 2013 I was accidentally reading an article about emulation, and I wondered how hard it would have been to build from scratch a Commodore 64 emulator. I started collecting information, articles and also emulators about Commodore 64: It was a huge effort, mainly because I did it in my spare time and also because the amount of technical information was immense. I began with the cpu emulation, the MOS 6510, then with the memory model, and day by day I added new pieces connecting them and refactoring the code as well.
Sometimes it was frustrating because I had to interpret what didn’t seem clear in the documentation. Sometimes I guessed right, sometimes I guessed wrong... To properly understand the documentation I also needed a handy electrical scheme of the motherboard, with all the chips connections, the signals, etc. In some circumstances I needed to “steal” some missing info from the source code of the available Commodore 64 emulators, like Frodo, or Vice or some other Java ones.
CF: So can you Please can you explain what KERNAL64 is
AA: Kernal64 is a cycle-exact emulator: this means that it reproduces all the internal behaviors of the original machine. It is able to run all the old (and new!) software without any adaptations. For example, you can load inside the emulator an old game disk (e.g. using the .d64 format) and play with it.
The term “cycle-exact” means that the accuracy of the emulation is cycle-based, that is at every emulated clock cycle the emulator must follow the same mechanism that the original machine follows during its processing activity. This kind of emulation is the heaviest one in terms of resource consumption.
CF: Although it’s fairly obvious, why did you settle for the name KERNAL 64?
AA: The name comes from the ROM-resident Operating System name. Some people says that KERNAL is the acronym of Keyboard Entry Read Network And Link, others says that the original name was KERNEL but in the very early documentation it was reported as KERNAL because the name was misspelled by the author I preferred the latter, that’s all.
CF: Can you list the top 5 features, as I will list them all at the end of the interview for readers to browse through?
AA: OK, top 5 features of the emulator are:
CF: Apart from the nostalgia, what prompted you to create the project?
AA: Building from scratch an old computer via software piece by piece was so exciting that in few weeks I built a minimal run-able emulator, capable of executing just .PRG files and the easiest form of cartridges. I remember that the first game I ran was “Bruce Lee”, and the first cart was “International soccer”: But there was a bug in the sprite coordinates management, so the players were composed by two sprites, and appeared “mutilated”, the legs run to the right and the body to the left...
CF: Of course the other question to tie into this is, “Do we need another emulator?”
AA: Absolutely not! My work is just a tribute to the Commodore 64 and to those fantastic years.
I think that building an emulator such the Kernal64 is a big programming exercise, because you have to face a lot of different problems you have also to search and collect a lot of documents, piece them together, and in some circumstances work with fantasy to figure out what is not clearly reported in the documentation.
CF: I noted you listed light pen support. How does this work, can you use a real light pen with the software?
AA: The lightpen is emulated like the mouse or the joysticks: The joysticks are emulated via keyboard or USB real joystick, the mouse is emulated with a real mouse, and the lightpen is emulated with the real mouse. The mouse pointer emulates the lightpen beam.
CF: Some will feel that CPM support is a major feature of the software. How is this implemented as the C64 version of CPM needed an external cartridge and not much software ran on it due to the screen resolution, and incompatibilities in the disk drives?
AA: You're right! The core of the CPM cartridge is basically a Z-80 processor, the rest is some circuitry to make the processor signal-compatible with the C64. So I wrote beside the 6510, a Z-80 emulated software core (even if it’s not accurate like the C64’s main processor). The emulated Z-80 takes control of the C64 using a DMA (Direct Memory Access) signal: In this way the two processors can use the computer in an alternate way (for example, all the API exposed by the C64 kernal are written for the 6510 processor and when a CP/M software needs them it must switch to the 6510).
To run the CP/M you must download the .d64 archive of the original Commodore implementation and activate the cart. The CP/M cart was a total failure back then mainly because the Commodore’s drive was not able to read the available CP/M software. Today we don’t have this problem anymore, because the software is available in digital supports, like .d64. Anyway, useful or not, it’s very interesting to run CP/M software today on an emulated C64!
CF: Is there a downloadable EXE version of the software that readers can download or do you have to compile the software?
AA: You can download an executable version using
Unzip the archive and under the bin directory you will find the two scripts, kernal64.bat and kernal64.sh, the first one for Windows, the last one for Unix/Linux (to run the emulator you must install a Java Runtime Environment 1.7 or above). Of course it’s possible to download the entire project and run the Ant script to build the emulator.
CF: The software can implement Jiffy dos, I believe this is still under copyright with Jim Brain being the only person who can sell and burn the chips.
AA: Yes the user must now provide the Jiffy Dos ROMS in order to use the fastload. On the Wiki (https://github.com/abbruzze/kernal64/wiki) there are details about this.
CF: It looks like the software is regularly updated. I guess this is like, "How long is a piece of string," but do you see a time when it will be “finished” with nothing more to add, or tweak?
AA: Well, in the last months I regularly updated the software because I had some functionality in mind and time to implement it. The last one, Remoting, now in an experimental phase, gives you the opportunity to “share” the emulator with another Person, for example to play with a 2-players games (audio is not transmitted yet). It’s a sort of X11 forwarding, for those who are familiar with Unix/Linux: the C64’s display is exported via network to another machine, so the second player can play the same game of the first player. I don’t know when I will be bored with this project: anyway, it would be nice if someone else would join it on Github in order to improve the accuracy and add features.
CF: Using commercial software what, from your experience is the success rate, (this would be a workable loadable game)?
AA: Unfortunately I don’t have a success rate I can let you have. I can say that most of the games work properly and most of the applications (utilities, alternative OS, GEOS, etc.).Clearly the demos are the hardest piece of software to emulate: Also in this case most of them run properly, some show strange effects because the VIC emulation accuracy is not 100% compatible, some fail. Another source of problems is the disk emulation, especially when the software being emulated uses custom fastloader.
CF: What issues were there writing the software, what was the most complicated part of the software?
AA: The only way to develop a software like this in an ideal world would be to write accurately every single module (in most cases a module is the software counterpart of a real chip), do a massive test phase (imagine what would be a test list for the 6510 CPU, or for the 1541 disk, or even the CIA), wire all the module together and test the whole object again. I did a few basic tests for each module and then day by day I fixed the bugs, a lot were microscopic bugs: it was a frustrating job.
Most of the time the bugs shows themselves in a very strange way. For example, I couldn't properly run the game “Impossible Mission”: The Game seemed to remain frozen as soon as the elevator appears.
Months later I found the problem -- I had inverted the edge-triggered mechanism of the NMI (Non Maskerable Interrupt), the fix lasted 10 seconds!
Of course the hardest modules to emulate are the less documented ones (even if you can find documents about them). The VIC, for example, is well documented in the famous “The MOS 6567/6569 video controller (VIC-II) and its application in the Commodore 64”, by Christian Bauer (and the addendum “VIC-addendum”): You can follow the explanation of the various VIC internals, but in my opinion there are always some little things that are not explained in enough detail and that makes the difference! The 1541 disk emulation has been another headache: you can find several documents about the drive and its internals (“Inside Commodore DOS”), but from an emulator developer point of view it’s not enough.
Sometimes it happened that I was just bored about a particular module implementation, and so the outcome was that that module was less accurate than others.
CF: How do you take the source and make a run-able application, and do you intend to make the software available for other platforms, linux, Mac, or Amiga OS (for example)?
AA: The sources can be compiled with the build.xml ANT script, provided in the build directory.
The software is compiled for the Java Virtual Machine (currently ver. 1.7), so you can run it on every platform that supports it.
CF: You list that the software was written in Scala. What is this, and why use this over some other language?
AA: Scala is a multi-paradigm programming language: it mixes Function Programming (FP) with Object Oriented Programming (OOP). The language is compiled for the Java Virtual Machine, so you can use all the already available Java libraries and mix them with the Scala code. I switched to Scala in 2009, also in my daily work at Ericsson (after more than 15 years of Java development). The language syntax is very elegant, the type system is an order of magnitude more complex than the Java counterpart and in general you can save about 30% of Java boilerplate code switching to Scala code.
Take a look at http://www.scala-lang.org.
CF: Most of our readers are aware of the various bugs in the Commodore 64 design -- some may call them implementations. What is the worst so-called bug that Commodore made in your opinion. Some of the various SID glitches actually made the chip unique allowing for things the designers didn’t think of, for example.
AA: Yes, it’s really true: Most of the limitations in the architecture became unwanted features and maybe pushed programmers to invent brilliant solutions to overcome them. The list could be very long.
The BASIC language was very minimal at that time; more sophisticated BASICs were available. But this primitive BASIC was the source of all the mythical POKEs that are still in our hearts. And what about the disk drive speed? Terrible! But this slowness has inspired thousands of programmers for their custom fastloaders. To summarize I could say that the C64 without its limitations would have been something different, possibly just ordinary, who knows...
CF: What other ideas do you have for the software, and do you plan to implement a Commodore 128 mode?
AA: Ah, the 128 is on my plan, even if I spent so much energy trying to implement the Kernal64 that I don’t know if I’ll have any more projects for the future. Most of the emulators on the market are made by more than one person just because it’s not an easy task and needs a lot of time. So for new ideas or new emulators I would need helps from others.
CF: Do you have any other projects you would like to share with our readers?
AA: Not at the moment.
CF: Do you have a closing comment you would like to make?
AA: I would thank you for this interview and the opportunity you gave me in order to make (more) public my emulator. I hope that this could be useful for those who are curious about the internal of our Commodore 64. Anyway, I showed the Kernal64 project at the ScalaItaly 2015: here you can find the slide
and the video https://vimeo.com/132003339
(at the end there is a live demo).
CF: Can you introduce yourself to our readers?
CK: Hi all. My name is Christian Krenner. I am 41 years old, married and have two little children. I live in Bavaria, Germany. I have been a retro computing enthusiast and Commodore fan for over twenty years. Here in Germany, I am organising the RETROpulsiv bi-annual retrocomputing event at the University of Applied Sciences in Augsburg (www.retropulsiv.de).
CF: What was your first memory of computer and Commodore machines?
CK: It must have been around 1984 when my best friend in school received a brand new Commodore 64 computer. I was immediately fascinated by the machine. Of course, playing games was the first thing we did with the computer. I had to wait until 1986 until I got my own computer, a Commodore 128 with floppy drive. Since I was never very talented at playing games, I soon started to get interested in programming the machine. I started off with BASIC, just as many of us did, and then learned Assembler from books (no Internet at the time!) a few years later.
CF: Can you give a brief overview for the Commodore CBM II computer system?
CK: The CBM II series was introduced by Commodore Business Machines in 1982 and meant to be a successor to the popular but at the time outdated PET series. The heart of the CBM II systems is the MOS 6509 processor, a 6502 derivative that runs at 2 MHz and has a simple bank switching mechanism. I can address up to 1 Mbyte of RAM. CBM IIs came with either 128 KByte or 256 KByte RAM. The CBM IIs use the CRTC video chip which was also used in the earlier PETs. However the CBM IIs also have the famous SID sound chip that is known from the Commodore 64. Other than that the CBM IIs have IEEE 488 and RS 232 interfaces and VERY stylish housings. As a matter of fact, the CBM II design won design awards at the time. Unfortunately, the CBM II systems were incompatible with the PET series and early ROM versions are known to be very buggy. This led to the CBM II Systems being a commercial failure. Only very few machines are still alive and working.
CF: Of course we want to learn about the game you have been working on “Space Chase”. Can you tell our readers how you came to start coding this, what was the inspiration?
CK: Actually, this was by accident! A friend of mine called me up three months ago when cleaning his office store; he stumbled upon an old computer which he thought was a Commodore Amiga. It turned out it was a CBM B500, a very early incarnation of the CBM II series. The computer’s serial number is as low as 316 and it was never sold as “B500“ but its name changed to “Commodore 610“ in Europe and “B128“ in the US before it hit the stores. This was the first time I sat in front of a real CBM II system since the CBM IIs were not a commercial success and incompatible with its predecessor, very few software titles exist for the system. I don’t know of any games for it at all! Therefore I thought that programming a game 35 years late for it could be a good idea...
CF: Can you explain what the game entails? The game is listed as one or two players. What do you have to do in the game?
CK Space Chase is a fast 2-player shooter with split screen display. The main task is to hunt and shoot your opponent player. The other player can either be controlled by the computer or by another human player, which of course is more fun. Controls are “space like“: You can only accelerate in the direction you are facing. In order to change direction you first have to turn around and counter accelerate. Other than the two players, there are 12 more enemies on the playfield (which by the way is huge, more than 400 screens wide and high). Six are allied to player 1 and six to player 2. They also try to attack the other player. So things can get quite busy and crowded on the screen.
CF: Graphics, because of the machine being text-based, and memory would have been an issue writing the game for the CBM II. Did you see this as more of a challenge or a hindrance? Some people, for example, claim the less resources you have the better the coding and the final gameplay.
CK: That is true. The less resources and possibilities you have, the more thoughts you have to invest in smart programming and fun gameplay. To me, this is a challenge, I liked the idea of using the “PETSCII“ character set to create a 160 x 50 resolution. This means that the game engine needs to figure out which characters can be combined to create the shape wanted. Also I wanted something like a smooth gameplay and realistically feeling physics. Other than that, you have to do everything by yourself. The CRTC video chip doesn’t help you at all. No sprites, no changeable characters, no automatic collision detection, no raster interrupts...
CF: At the time of writing the game is still in Beta although very playable. What is the expected completion date?
CK: I hope to finish Space Chase this summer. This however also depends on the feedback I get from users. The game engine is very flexible. I can display up to 253 objects on the screen and the playfield is huge. It wouldn’t be a problem to change and enhance the game play, for example by adding search and rescue missions, enemy attack waves, collectable bonuses, etc.
CF: What options or additions are you personally still going to add to the game?
CK: Currently, what’s missing most is sound. The CBM II machines have the famous SID sound chip and therefore can produce sound just like a Commodore 64. However, programming the SID is not what I am well trained in. Maybe someone can help me with that? Other than that, I will further improve the graphics, make enemies look more diverse and animate the graphics more vividly. All that is already possible with the game engine, it’s just a matter of time and motivation.
CF: I notice you list as a benefit that the game is written in assembler. Did you think of using another language, or was assembler the primary language due to speed?
CK: No, I never thought of any other programming language. If you want a fast game, you have to use Assembler on a 8-bit CBM machine.
CF: As you say, not thatmany games have been released for the CBM II (if any). Do you plan to release the game commercially through one of the various publishing Commodore houses or offer the game to purchase from your website?
CK: No, Space Chase is and will remain free. Positive feedback from users is what pays me best.
All I intend is to have fun programming and hopefully give the players of Space Chase some hours of fun time.
CF: I notice you list PRG studio on the websites links page. Was this the software used to program the game?
CK: When I started thinking about a CBM II game, I first looked for a cross assembler and stumbled over CBM Prg Studio by Arthur Jordison. It turned out to be perfect! It’s a fully integrated development environment and closely integrates with the VICE Emulation, so testing is easy. And it’s free. A perfect match for my plans!
CF: You mention cross development. How important do you feel emulation is to the Commodore world?
CK: Very important. Since real hardware is rare and needs to be thoroughly maintained to be kept alive, emulation makes life much easier. But then, the only way to get the real retro feeling is in front of a real machine.
CF: So then, what is the motivation to finish the game? Is it just a personal goal to finish off the code, the challenge, or something else?
CK: I never thought programming in 6502 assembler could be that much fun again after 20 years of abstinence. Also, when you‘ve crossed the age 40 barrier like me, anything that keeps your brains busy is a good idea. To me, programming is much more fun than playing chess or solving Sudokus...
CF: Have you a follow-up game in mind?
CK: Not at the moment, I want to finish Space Chase first. But then you never know. If people like Space Chase, porting it to the older PET platform would be possible. Depending on the feedback I get, maybe there will be a “Space Chase II“ some time...
CF: Apart from my personal comments about how good the game is (via email), have you had any other comments from people?
CK: I am a pretty active user of various retro computing forums. I got very useful tips from there, especially at the beginning when digging into the technical specs of the CBM II machines. There is not much documentation around and therefore I was glad to find people who had gathered the necessary pieces of information over time. Especially the members of the “Verein zum Erhalt klassischer Computer e.V.“ helped me a lot. Thanks guys!
CF: I don’t judge pre-releases or betas as I feel it’s unfair, but I have already said that in its current form it would be an 8/10. Did you feel this was justified for your work?
CK: This is a much better rating than I had expected! Programming a game is one thing. Programming a game that is fun to play, especially on a restricted machine like the CBM II, another thing. Therefore I am very happy that it is already fun although still unfinished.
CF: And finally, do you have any comments you would like to close with?
Thanks a lot for the opportunity to do this interview. And many thanks especially to my wife Petra and my children who have so much understanding for my strange “playing around with electronics trash“ hobby for many, many hours.
Just as I started finalising the interview I received an email message:
just a quick update on Space Chase: The new website has been online at www.spacechase.de for a few weeks. I will upload an updated beta at the weekend with improved graphics and a few bugs fixed.
Also you will be excited to know Max Hall, (who is quite famous for his SID music) has agreed to create the title music and sound effects for Space Chase. He has also agreed that we can mention this in the interview. I have already managed to port the SID player routines he's using to the CBM II (another first btw) so technically this is a feasibility and already proven.
COMMODORE FREE: It goes without saying there will be a full review when the software is in a finished state. I don’t do previews or pre-release reviews as this is totally unfair on the game and programmer. Once I am happy the game is in a stable form to review you will see a review printed.
In this article I plan to go in depth on the youngest program in my entourage called "The Ledger." It is one of my favorites to date and is a "good friend" to me when I sit down to work on paying bills.
The idea of this program actually came from my ex-wife's method of how to pay the bills and track how much is owed in order to pay the debt off. I sat down with her ledger book and tried to transpose the data and columns from it into a working program for the Commodore 64. Oh yes, many bookkeeping programs already exist but I wanted one that actually emulated her style. My first attempt to create the ledger was called "Obligator Coordinator," which I took the time and the $25 dollars to copyright with the US Copyright Office in Washington, DC. I was really hoping to make a name for myself in the computer programming industry, but, as usual, my problem was marketing, and, with many computer users heading their way to PCs, a call for Commodore software was fading off into the sunset at the time.
Usually when I code into existence a piece of software, I believe it the most pimping thing ever to hit the Commodore market -- heck, why not the entire computer universe! Once word hits the boards of my amazing program, users from all over the world will be blowing up my landline and stuffing my mailbox with orders! All I had to do was copy and mail. I would be making so many deposits at the bank that the tellers would not only know me by my first name but also start complaining that they had to deal with adding up all the checks I brought in. I didn't have high aspirations, I didn't have an inflated ego, I was a realist, knowing that this would *really* happen.
When not even a curse word came back to me in any form of communications that the 1990s had to offer, I curled up into a fetal position and cried. After months of musing I sat down at my Commodore 64 with "Obligator Coordinator" loaded into memory and started to use it myself. After a few minutes of inputting data there came the dreaded line no programmer wants to see in their work: SYNTAX ERROR IN .... What the? I ran this program through with the finest of toothed combs I could before I sent it to the copyright office. I found the offending line and made a quick repair. Running it again, "Obligator Coordinator" made it through the hump but a few minutes later another evil message appeared: TYPE MISMATCH ERROR IN ... I did what was natural, I called my Commodore every four and five letter curse words I could think of and even made up a couple for good measure.
My Commodore just sat there not giving a care of how I felt or what I called it; the error message was still there on my screen. I banged my head on the computer desk wanting to know why. On the 17th whack an amazing thought came to me: Did I realize that the Great Omnipotent Grand Exalted Poobah Of The Universe And Other Surrounding Postal Codes just saved my fat, flatulent, flabby backside from a fate worse than poverty? By not allowing a single sale of "Obligator Coordinator" I was spared the shame and humility of selling a defective product to the world at large, and undertaking the task of either refunding monies gathered or giving upgraded copies for free which would cost me more time and money in envelopes and postage.
I took a big deep breath at the thought of this revelation and quickly gave thanks for being spared this personal tragedy brought on by my ego, and, with the program in my computer, I started making repairs. But I'm giving away too much information that would be best kept for a future issue of "Commodore Free," but there is a lot of history behind the development of "The Ledger" that, without it, this commentary may not make much sense -- like it makes any sense now. Let's just say that "The Ledger" is a third attempt at trying to make a viable working Commodore program out of a paper system that worked well for years in the Roach household. The other two attempts were the aforementioned "Obligator Coordinator" and "Bill Attack!", both of which will be discussed in the future.
At first glance, "The Ledger" is the most comprehensive work I have done so far on making my ex-wife's paperwork into a Commodore reality, but one thing I wanted to do was make the program more "push button" friendly. The hardest part of using the program is inputting all the data off your bill statement into the Commodore and saving all that information under its own file name. This I don't think I can change much. There is a lot of data required for the files that little, or even nothing, to do with making the program work, but it is a great database to hold information for references.
When I looked at "The Ledger" after all this time (I think my last update was two years ago) I'm thinking that a time stamp would be helpful for future notes. The time stamp could also be used to roll over the next payment as a future reference. For example, the program could make note that you just made a house payment on 05/22/16 and your next payment won't be due until 06/22/16. This should be able to be done by assigning the month as a separate variable (like M) and then telling the Commodore that we are going to advance the M variable to the next month by using the formula: M=M+1.
Then, when all the data is to where the user likes it, just press something like F1 and voila! The data is saved in a simple sequential file onto disk. Right now as it stands, "The Ledger" allows the user something like that, but it's the user that inputs that information in each and every time. This would almost eliminate that need. Also, looking at it, I think a "blow up" of each bill would be a helpful addendum to the lines of BASIC that make "The Ledger" a useful tool. I already have something similar already in place but I want something more extravagant; more detailed. I'm thinking the page would run something like:
YOU OWE (total) ON THIS BILL. THE MINIMUM PAYMENT OF (amount) IS DUE ON (date). DO YOU WANT TO PAY (amount)? Y/N.
The user will be given the choice to pay a different amount and apply it to the debt. After the payment is posted in the Commodore the computer will announce:
A PAYMENT OF (amount) WAS POSTED ON (date). YOUR BALANCE IS NOW (new total) WHICH WILL BE DUE ON (new date). DO YOU WISH TO SAVE THIS DATA TO (file name)? Y/N.
If the user pays off the debt and the balance is zero, the Commodore can post a message on the screen that says something like:
CONGRATULATIONS! YOU'VE PAID OFF THESE SONS OF BELIAL! REWARD YOURSELF WITH A DOUBLE CHEESEBURGER FROM THE LOCAL SCARF N' BARF.
That might be a little extreme but you get the idea. Just to add humour I may add a micro word processor so the user can create a small 40 to 80 character congratulatory message and I add an RND(0) calculator so the Commodore can display up to, say, six messages that the user can do to celebrate each debt being paid off. Of course, on reoccurring debts like utility and cellphone bills I will keep the "Change Data On Account" subroutine so the user can add the new totals into the database and start the nightmare all over again.
As you can read, "The Ledger" is already formidable as it is and does the job quite well in its present state, but, like I stated, the work could use some incredible cosmetic surgery and add some features to make it more user-friendly and quicker to access and manipulate data. With this program being "the baby" of my Commodore works, I'm looking forward to sitting down at the Commodore and helping this baby grow into a beautiful, flourishing piece of the Commodore family.
Originally printed in Commodore Scene magazine...
Tomas, thanks for taking some time out to talk to us -- I appreciate your time is scarce.
Thanks for your commitment to a great Machine.
CF: Please, can you tell the people who don’t already know what exactly the IDE64 interface, is and what software the interface will work with?
TP: IDE64 is controller for connecting ATA/ATAPI (IDE) devices to C64. Other peripherals can be connected to C64 on special IO bus called SHORT BUS. Embedded software support allow to use IDE devices as standard C64 device included basic applications like MONITOR or MANAGER. IDE64 controller has backup Real Time Clock chip, RAM and PEROM memory and reset button. Main advantage of IDE64 is high speed data transfer, which is provided by direct connection on C64 Expansion Bus. IDE64 is compatible with all programs which use standard IO routines like LOAD, SAVE, OPEN, CLOSE etc. Programs, which use direct access on serial bus are not compatible, but can be rewritten (fixed for IDE64) with standard calls. We are still improving the IDE64. The newest version of IDE64 V3.4+ has bigger PEROM 128kB which contains new firmware IDE-DOS V9.x, which is developed for a long time. This is free software, the source and the tools required to build the firmware are public and available for Linux and Win32. The code is licensed under the GPL-2. This new firmware is available for all users of IDE64 V2.x and V3.x. Features of this file system will be described later.
CF: Could you please give a little background history about yourself?
TP: I was born in 1974 in Prague, Czechoslovakia. I was interested in electronics from basic school but computers were unavailable for ordinary people because of the closed borders. Computers were only in centres for the scientists. After finishing basic school I started to study at Electro Technical High School, the automation branch. After The Velvet revolution in 1989 my first computer, as most of the students in our class, was a C64. This helped me to understand computers and to do my homework. From that I met my friend Josef Soucek (he studied in the same class with me), who gave me a lot of important information about the C64. After finishing the high school I started studying on Czech University, electro technical faculty and I started working in small company which focused on the C64 / Amiga computers software, hardware development and service. There I met Jan Vorlicek, later IDE64 hardware co-developer. During this time, Jan Vorlicek, Josef Soucek and myself started working on IDE64 controller, it was in 1994. Then I interrupted studying at university and went to civil service in kindergarten ~ instead of Army duty ;-). After this I started working in company focused on industrial automation. During this period we developed, with Josef several, interesting devices for C64.
CF: Do you have any likes or dislikes you would like to share with us?
TP: I like a creative job, learning and understanding new things and technologies. I like playing on musical instruments, astronomy (I worked a few years in the Prague astronomical observatory), I also like photography and travelling.
CF: What qualifications do you have to design peripherals like this?
TP: I studied at the university, but most of my experience I have learnt from practice. The most important for me was the 6 latest years when I designed a lot of controllers for industry. I am interested in designing FPGA chips and other programmable logic. I am co-developer of control system for looms for glass fabric or for semiconductor producer; I was responsible for developing control system for linear drive and other interesting projects.
CF: Suppose someone is reading, and would like to design Commodore hardware but hasn’t done much other than soldering. What would be the best way to start learning, for example I am good at taking things apart and de-soldering but they never work when I put them back together !
TP: The most important thing is to have motivation and enough information. Nowadays the main source of information is the internet. Semiconductor producers support developing with their products by sending free samples, datasheets or application notes. Modern technology is making for easy development techniques and it is rather programming, where most important are basic rules and logical thinking. It is easier than 10 years ago. IDE64 team supported C64 hardware developers on our webpage with schematic of our devices, which can be useful for designing similar devices.
CF: What other projects have you worked on, Commodore and non-Commodore related?
TP: Our projects started with the development of cartridges (RAM and ROM), then 4-bit audio digitizer, B&W scanner created from a plotter, EPROM programmer and internal memory expansion. Then we started developing different communication interfaces like RS232 converter on USER PORT, fast UART and finally 300bps modem. We have used this modem for our first connection to internet. After this we started IDE64 project and other more complicated projects like DUART64 (fast dual UART for IDE64), ETH64 (10Mbit Ethernet controller forIDE64), MP3 player or PCkeyb (PC PS2 converter to standard C64 matrix keyboard). In my work I have worked on a lot of interesting projects like industrial CPU board or glass thread video detector.
CF: When did the IDE 64 project start and whose idea was the IDE64 project?
TP: The first ever experiments began in 1994 when we met Jan Vorlicek, but the idea is older. In that time on ftp.funet.fi there was available some downloadable documentation for connecting MFM hard disk to C64, but this technology was not modern at that time. This needed an external MFM controller while IDE bus was at first sight very similar to C64 internal bus. It looked that we would need only a few TTL gates, but it was more complicated. We needed new technology for programming CPLD chips, designing PCBs, PC for this and it took a lot of time.
CF: Has the project made you rich, beyond your dreams?
TP: The most important thing is that I understood how the thing works and that was very helpful for looking for my job. For example: to implement IDE device to control system with 8-bit external bus was very simple because I did it on IDE64. Or ETH64 controller or PCkeyb project were designed practically at the same time as similar projects in my job. MP3 player was designed with my co-worker from the company when we did a stand alone MP3 player and we used the experience from IDE64 project. Our newest project CPU64 uses experience with FPGA designs from looms or driving linear motors. In this context, I can say that IDE64 made me rich, because gave me a lot of important experience and new friends.
CF: To your knowledge, was this the first ever IDE interface for the Commodore 64, and would you say it’s the best, and if so, why?
TP: Direct connection on the C64 expansion bus gave us the speed. Embedded memory management and RAM/PEROM memory makes the user opertaion easy. Short Bus makes C64 system more flexible. IDE64 does not switch the IRQ off during I/O operation. Supports Hard Disk / CDROM / ZiP drive / LS-120 (A-Drive) / Compact Flash. You can see that IDE64 is the FASTEST device for a stock C64 that’s currently available (based on public measurement at Forever 4 party SK). The only real competitor at speed is CMD RamLink. We know about users in 21 countries in the world included vèetnì Australia, Japan, Greece and Canary Islands.
CF: Was the interface an easy development for you, or did you come across any large problems?
TP: It was many hours spent in public technical library, because in 1994-1996, the internet was unavailable for us and there was no information useful for this project. We did not have any experience with designing and producing circuit boards or programmable logic. First version IDE64 V1.1 which obtained first 15 users has a lot of restrictions which were removed in later versions.
CF: Do you plan a serial ATA interface for future developments?
TP: Maybe later. IDE64 users are now focused on Compact Flash. Technically it should not be a problem to develop it, but it will take a time.
CF: What hardware limitations does the device impose, for example could I use any size of hard disk and a DVD reader?
TP: IDE64 supports Hard Disk / CDROM / ZiP drive / LS-120 (A-Drive) / Compact Flash and others. DVD with ISO file system is supported. Multi session is supported. Firmware V.8x has limit HDD 8GB, file size limited by the capacity of HDD. IDEDOS v9.x developed by Soci/Kajtár Zsolt has it’s own file system called CFS. It allows disks up to 128 GB to be used, with files up to 4GB with holes and fast seeking, relative files up to 16MB, 16 partitions, unlimited directories and files (only limited by the capacity of disk), customizable file types, and new file permissions.
CF: I am still looking for something that would allow me to create actual CDs using a Commodore 64. Do you think this would be possible using your hardware, assuming someone designs Commodore 64 disk burning software?
TP: We thought about this, but there will be probably be a problem with C64 speed and we did not have enough information about ATA CD-ROM burning, only one detailed datasheet of Yamaha CD ROM. With the experience with compatibility of CDROM, we left this problem. Maybe the compatibility is better now, but this project can take a lot of time (CD disks during developing and debugging software) and you can burn CD faster on PC anyway.
CF: How would someone start designing such projects as the IDE64?
TP: It is important to know, that if you have a real job or you are studying at school, that this kind of project can take up to 6 months or even more. It is a life cycle, and can not be done faster. It is also important to not lose motivation after a lot of hours spent on project without any results. Psychological support from other C64 users is also very important.
CF: Can you tell us how fast the IDE64 interface is compared to other disk interfaces for the c64?
TP: To load a file which is 200 blocks length takes (on standard C64 floppy 1541) more than 2 minutes, with common speeder it drops to about 30 seconds while from the IDE64 hard disk or CF it’s only only 1 second ! Detailed comparisons can be found on our webpage ~ http://www.volny.cz/dundera/compar.html
CF: The IDE64 interface has some form of 1541 disk turbo, can you give details on this and what sort of speed increase could we see over a standard 1541 disk drive?
TP: IDE64 V.8x has speeder factor 6:1 compared to standard, IDE V9.x has up to 9:1 on 1581 disk drive.
CF: Does the 1541 disk turbo work on any other devices?
TP: Yes, the most recent firmware (V.9x) supports 1541 and 1581 disk drives.
CF: One of the biggest problems I faced was formatting my disk, not a complex task but it took nearly 1 full day, why does it take so long to format a new disk?
TP: It was caused probably by formatting ‘all data sectors’, which is not necessary. This is optional and it is usually used only when you have a disk with bad sectors. On a normal disk it is recommended to skip this optional part and formatting should take only few minutes.
CF: What do you hate about the industry?
TP: Usually when I finally finish the project, it is out of date.
CF: Do you Commodore machines as your main computer?
TP: For my whole high school the c64 was my main computer and it was very useful. I have used it for computing and printing out homework. After high school I got my first PC, because I needed a computer for developing my c64.
CF: What other Computer systems do you own?
TP: Six C64’s, one C128 and two PCs.
CF: Are any plans underway to have the hardware work with GEOS as I believe the hardware already works with Wheels?
TP: IDE64 works with Wheels, Contiki (v1.2), LUnix (v0.21) and with GEOS. GEOS drivers for IDE64 were created by Maciej Witkowiak (Ytm/Elysium) from Poland. Look at
you will need a separate hard disk drive specifically for GEOS as it formats differently to the normal IDE64 standard. In the future, there will be GEOS partition support.
CF: Whose idea was it to make the plug-in applications for the interface? They seem to function well, adding to the hardware design.
TP: We developed simple plug-in application interface, because we do not have enough place in PEROM memory for all applications which we wanted to implement. Basic mechanism is implemented in manager and supported @#$
CF: Could you describe how the plug-ins work?
TP: After starting manager, config file which contains file extensions and associations is loaded to external memory. When you press ENTER in manager on any file, extension is checked and linked file is loaded to memory. Plugin is started with filename pointer set on actual filename selected in manager and plug-in is started. After exiting the plug-in, the manager is reloaded in the same configuration. It is very useful for viewers or players.
CF: Is all the credit for this device down to yourself, or do you have a team of designers and programmers?
TP: As I said, the IDE64 was developed by a team with Josef and Jan, who helped me with hardware and Josef developed original IDE64 software. We would like to thank all the people who helped us with developing IDE64, first of all Kajtar Zsolt (Soci/Singular) from Hungary, who has optimized and debugged IDE64 firmware, did new IDE64 firmware V.9x and maintains webpage warez.ide64.org. He has a good deal to do with the present state of the IDE64 project. We would like to give thanks to Sidney Arbouw from the Netherlands (Arcane) who fixed a lot of games for IDE64. Not forgeting all the IDE64 users, who got an IDE64 during the long period of this project.
CF: Do you have plans for any other Commodore hardware?
TP: We have started a new project called CPU64, which will make your C64 faster, give your C64 more memory, new peripherals and will be very flexible. At the heart of it is a FPGA chip which implements cycle exact (with original simple pipelining) 6510 CPU core with 24 bit address bus plus new powerful instructions for better addressing. The CPU speed can be linearly changed from 1MHz up to 18MHz. It contains 1MB basic RAM memory which can be expanded up to 16MB, 512kB of PEROM memory, an RTC chip, a USB device controller and Short Bus. The USB device controller will make simple and faster connection to PC (PClink) and allow you to upgrade the firmware from a PC. Because FPGA is configured from PEROM memory, it will be very easy to add new features to the CPU core. We have planned VCU (VIC control unit) core, which will implement advanced graphic modes like FLI or interlaced modes without using the CPU. VCU will be programmable in assembler with special instructions for exact timing. Other planned projects I should mention that we would like to make are a USB host controller for Short Bus which will allow us to use devices like USB disks or wireless LAN (WiFi) or even BlueTooth communication.
CF: How would someone interested go about buying this hardware?
TP: Best way is to contact distributors like GO64! Protovision, Modernity Grp., C64Hardware or you can contact us directly.
CF: Is the hardware upgradeable or do users need to buy the new interface when its developed if so what is the reason?
TP: IDE64 hardware can not be directly upgraded, but it has only small changes during its lifetime. The biggest upgrade was the addition of the Compact Flash connector, but users without this connector can use simple reduction from IDE bus to Compact Flash via an adaptor.
CF: I know I spoke to you about a USB interface; could you give us a sneak preview of what we can expect?
TP: The USB interface has two modes, host and device. You can connect many devices to one host. There may not be more than one host on the USB bus. We need both modes. When you want to connect a USB device to the C64, you must have the host controller. When you want to connect C64 as a device to PC (PClink) you need device controller because PC has only host controllers. We have planned both these functions on one board, but not at the same time. Host/device controller can be switched by jumper. Because USB is very fast for C64 we will implement only the slower specification 1.1 which operates in Full Speed mode at 12Mbps or in Low Speed mode at 1.5Mbps. I do not know at this time if USB64 will operate only with the CPU64 or not. USB will be connected to Short Bus. As I said, CPU64 will have device USB controller for PClink and simple upgrading firmware.
CF: I think it's time to plug your website http://www.ide64.org .The site seems to be updated quite frequently with firmware updates and fixes. How much of your time does his take?
This article was originally in Commodore Scene magazine in 2004 and was compiled by Nigel Parker and Andrew Fisher for Commodore Scene magazine