With a fresh new year, we usually have a fresh new look, but this time we don’t!
With the first issue of Commodore Free, and after a rather lacklustre year just past (issue-wise at least), I hope to try and stay on track, at least releasing more issues than last year. Luckily this issue came together really well, with various people donating text and articles and news.
We have interesting articles with the first entitled “Growing pains”. Lenard R. Roach tells us about the pain of software and copyrights and handing such right to companies who subsequently become bust overnight, and how he thought being a programmer would pay the bills.
Commodoreman looks at “Algorithms” and this issue seems the first (hopefully!) of articles on said subject, with a basic listing to try out (usable on all 8 bit commodore machines, with some modifications, listed at the article end).
Tristan Miller presents “A GARDEN OF GAME GLYPHS”, although I am sure I have printed this sometime before, scanning the issues I couldn’t remember if I had or not, or if this was a new article. Still, it’s a bit of fun identifying the text from various games.
We still have the latest (or it was when I started writing) news and stories from the Commodore world and have the usual splash of reviews. In this issue we review a rather long-awaited text on Block Copy for the Pet; I seem to be better playing it than I was reviewing. A Popeye conversion for the VIC 20 and Dork Dave for the Commodore 16. Andrew Fisher writes a review about the book 10 print, and points out some typos in previous issues of Commodore Free (Ahh the dreaded typos_ although I am claiming the myth that I introduce them to make you keep reading just to find out if I print the corrections).
Happy Commodoreing (Oh, I think that’s a made up word)...
Nigel (Editor, Commodore Free)
Retroinvaders have published another calendar!
Print it out and put it on your wall so you don’t miss out important days or worse, still go into work on your day off!
There are various retro calendars available for Commodore Amiga Spectrum fans.
Alan Swithenbank tells about Fortran programming in the video, "Alan Swithenbank at the Amiwest Show 2015", found at
Ruud Baltissen has found a way to use bigger hard-disks in the Commodore 80286 PC's.
The Commodore 80286 PC (PC30-III, PC35-III, PC40-III or PC45-III) has a limit of 512 MB for the hard-disk. But Ruud has added the XTIDE Universal BIOS to the system and now the limit of your hard-disk is 8 GB.
The completed Viva Amiga film is due to be released in March.
First, Kickstarter backers will receive their prizes, and then the general public will be able to buy DVDs of the film.
For more information head to the kickstarter website
To: Commodore Free
From: David Wilding
Subject: Quantum Link
Dear Commodore Free,
I am writing to inform you about an article I have created about Quantum Link, an online service that was available in the US & Canada from 1985 to 1994.
Quantum Link, originally available on the Commodore 64 computer, offered and pioneered many of the features we are used to having on the modern internet, such as e-mail, instant messaging, shopping, and chat rooms – to name a few.
Quantum Link also featured the ground breaking game Habitat by Lucasfilms, the first graphical massively multi player online game.
Q-Link was also made available on Apple & IBM-compatible PCs from 1988.
I was wondering if you could add a link from your website (commodorefree.com) to the piece to help spread knowledge of the influential, but now largely forgotten, Quantum Link service. The article has proven popular on social media, and I thought that it would be of interest to your readers. Any mention you could make on social media would also be fantastic.
Any corrections, feedback or comments you may have on the piece would be greatly appreciated, either by email or via the comments form on the web page itself.
Thanks for your time.
Dave Moorman, the last editor of the monthly Commodore disks Loadstar, has recently made available a number of issues on-line to download Free of charge. Launched in 1984, with the final issue released in 2007, Loadstar contained games, applications, articles, entertainments, and tutorials. The disks are available in .D81 format. The disks start from issue 170 and continue through the Dave Moorman years with issues 200 to the last, issue 250. That's from 1998 to 2008. The website also has more history about the magazine and its editors.
Station64 is a live player (via MIDI). Specifications are: three voices polyphony, oscillator control via MIDI, advanced glide and pitch wheel control and works with 8580/6581 PAL / NTSC. New in this version: Support for hermidi midi interface and particularly soft midi interface. The test tone now has two modes - single note / repeated notes and the arpegiator is now available.
By Joseph Rose
WinVice 2.4 Fluorescent colour scheme (amongst more) is a special colour scheme for WinVice by Joseph Rose. The fluorescent scheme has wallpapers in 1366x768 and 1280x1024 resolutions. They are at
Just be wary of what downloads, as you can click on adverts and install Junk on your machine.
# # VICE Palette file # # Syntax: # Red Green Blue Dither # # Black 11 1A 20 0 # White FF F0 E8 F # Red FF 3A 64 4 # Cyan 70 BF FF C # Purple E8 20 FF 8 # Green 70 FF 40 4 # Blue 34 1A FF 4 # Yellow FF E6 60 C # Orange FA A0 50 A # Brown 8A 48 20 4 # Light Red FF 9A AC 8 # Dark Gray 44 41 3F 4 # Medium Gray 88 82 7A 8 # Light Green 9A FF 88 8 # Light Blue 88 98 FF 8 # Light Gray CC CC CC C
# # VICE Palette file # # Syntax: # Red Green Blue Dither # # Black 00 00 00 0 # White FF FF FF F # Red FF 00 00 4 # Cyan 00 FF FF C # Purple FF 00 FF 8 # Green 00 FF 00 4 # Blue 00 00 FF 4 # Yellow FF FF 00 C # Orange FF 90 00 A # Brown 88 41 10 4 # Light Red FF 88 88 8 # Dark Gray 44 44 44 4 # Medium Gray 88 88 88 8 # Light Green 88 FF 88 8 # Light Blue 88 88 FF 8 # Light Gray CC CC CC C
# # VICE Palette file # # Syntax: # Red Green Blue Dither # # Black 20 19 12 0 # White FF F0 E8 F # Red FF 34 24 4 # Cyan 40 AF FF C # Purple E8 20 FF 8 # Green 70 FF 20 4 # Blue 24 12 FF 4 # Yellow FF D6 30 C # Orange FF A0 30 A # Brown 88 41 10 4 # Light Red FF A0 88 8 # Dark Gray 44 41 3F 4 # Medium Gray 88 82 7A 8 # Light Green 9A FF 88 8 # Light Blue 88 98 FF 8 # Light Gray CC CC CC C
|Genre||Arcade - Breakout|
|Tape Loader||Thunderload by Martin Piper
+ updated by Richard Bayliss
You are an alien, who has been captured and you are now trapped in a space cell. You want to escape, but in order to do this, you need to complete a task. That particular task is to simply blap the ball with your spacebat and clear each intergalactic zone from all of the bricks simply by bashing at them. Aliens will appear and are pretty much helpful. Watch out for the red zone. Should the ball hit a red zone, a shield will be lost. Once all shields are down, a life will be lost. Bonuses will be scored with any remaining shields left after level completion. Collect power ups, and have loads of fun.
In this very professionally put together and highly recommended PDF magazine, currently available in both English and Polish languages, are the following features:-
In 1978 Atari's wholly-owned subsidiary Kee Games released the arcade game "Sprint 1". It was a one-player sequel of the earlier two-player car-racing game "Sprint 2" from 1976. The arcade machine was based on a 6502 microprocessor.
Now ported to the Commodore 64 computer by just running the original arcade game program on the C64. The arcade machine's video and sound hardware are emulated by specific C64 routines. Played with the joystick instead of the original's steering, gear shift, and accelerator pedal.
A point-and-click adventure game for the Commodore 64 (C64). A former version of this game won the Forum64 Game Competition 2015.
This updated version of the app allows you to Browse and watch all C64 scene productions available on CSDB directly on your iPad.
Released for: the Sideways SEUCK Game Creation Compo 2015
Errazking launches a new entry for the 2015 Sideways SEUCK Compo, by the way of 'PAN', a Spanish cartoon game. Featuring nice graphics and presentation with lovely title music, and a comical, but interesting concept.
Released At: Sideways SEUCK Game Creation Compo 2015
|Game design and graphics||Alf Yngve|
Alf Yngve brings a sequel to Double or Nothing, which takes you further into the future. Now you are battling in two worlds against ferocious enemy forces. This game consists of huge sprites and uses clever concepts. Both players are limited to the ground, and cannot climb or jump. There are plenty of huge robots in which you must fight and destroy – should you wish to progress any further into the game.
Disk magazine Released by: Laxity
With an editorial featuring:
RECEPTION DESK; GAME WATCHTOWER; CRACKING COMPETITION RPQU; CRACKED STUFF A-J; CRACKED STUFF K-Z; WORLD OF FIRST RELEASES; FIRST RELEASE RULES
Released by: Style
CBMdisk Tools is a collection of command line utilities written using the CBMdisk Python module. They provide some Unix-inspired capabilities for working directly with content on many Commodore disk, file and archive formats. You may find them useful in and of themselves, or as some working examples of how to use the CBMdisk Python module.
This first release includes:
Released by: Style
The first public release of CBMdisk, a development library that provides the core disk/file/archive manipulation functionality used in DirMaster as a Python module.
As one example of the kinds of problems we think this can help you solve quickly, we've included a solution to the matter posed in a recent blog post, "Party Quiz program by SunCom" by Pinacolada - extracting all questions and answers from a set of game disks in a text format to be further processed.
Released by: The New Dimension
Get ready for pure blasting and destruction with my latest game. 'Nuclear Strike Force' takes you into the year 2031. You fight against the 'Red Section', a military group, whose leader builds a powerful Nuclear rocket on the Red Island, and starts a nuclear war. President Rocket calls for the 'Nuclear Strike Force' to try and put an end to the war by sending a commander in to send some pilots out to the war zone. That commander is unfortunately you. Collect airships for power ups.
This game was originally designed and created using the Shoot Em Up Construction Kit by TND, and then was imported into the latest version of the SEUCK Redux engine. The game consists of a brand new animated front end, enemy AI firing, in-game music, animated background, and power ups.
Looking at all of these enhancements will make you wonder and ask yourself, "Is this game really SEUCK?"
Released by: Zagon
Exomizer is a program that compresses files in a way that tries to be as efficient as possible but still allows them to be decompressed in environments where CPU speed and RAM are limited. For some popular 8-bit computers using 6502 compatible CPUs it can also generate executable files that decompress themselves in memory when run.
The Exomizer program itself is a console application written in ANSI-C.
Exomizer operates in two major modes. It has a raw mode that compresses plain files and produces plain files. This mode is used by the raw subcommand. All other subcommands use the second mode. It requires all source files to be targeted to be decrunched at specific addresses in the 16-bit address space of the target computer. In this mode, no file can be larger than 64kB since all data must be addressable using 16-bits. The targeted mode has the following features:
Exomizer version 2.0 has been released and is available for download. Included in the downloadable zip file are the source code and pre-compiled binaries for DOS and Win32. It also includes a makefile for Gnu make and gcc so it should be easy to build on any system where these tools are available
Released by: Jim_64
This project was started (so the author says) as a simple experiment to see if a "modern" looking graphical user interface for the commodore 64. Once the basic user interface was working, optional touch screen support was added. You can however use cOS with a standard joystick or the cursor keys.
There is a A Test / Demo 5.25" disk with a similar feel to a basic tablet. The iPad style apps are if you have a real Commodore 64 or want to try it out in an emulator. Here are links to the disk images for sides A and B of the Test/Demo disk.
Released by People of Liberty
This is a very professional disk magazine for the Commodore 64 with the following items
People of Liberty website
Scene world website
Comments from the Author
Original software, hex-modification, and upload permission by Paul Slocum.
Modified to play all possible mixed 8580 waveforms and some odd sync/ring sounds as well. All sounds have no modulation/effects by standard now, paddle 2 is routed to pulse on startup (press C= + V to turn paddle 2 off).
Software only works with DATEL midi interface, else it will not start up (midi interface can also be set in vice).
Released by: Payday
Relaunch64 - A C64/65xx cross-development IDE
Relaunch64 is an IDE (text-editor) for C64 assembler-coding on Windows, Linux and Mac OS X. Relaunch64 has a clean and intuitive user interface, yet it offers many features that make coding faster and easier. Java 7 or higher is required to run Relaunch64. The program is licensed under the GNU GPL 3 (or higher) and free for private and professional use.
This editor works together with common cross assemblers. Assemblers currently supported: 64tass, ACME, ca65, DASM, DreamAss, Kick Assembler, and TMPx. Other assemblers might work as well, but syntax highlighting may not be 100% correct.
Commodore 64 emulator featuring amongst other things
A number of games have been released at “Forum64 Game Competition 2015” The games all seem to be in German and sadly, that’s a language I do not read or speak. Anyway, they're listed here for reference. Sadly, I didn’t have the time to translate what the competition was.
SD2IEC file browser application
Released by: Singular
21st Century Floppy Disk Formatter v0.2 (C) 2015 by Soci/Singular
This software tries to format disks so that faulty locations end up between sectors, and not inside them.
A bad disk might become usable again. Use this at your own risk!
Released by: Flashlights
Released at the GERP 2015 demo party where it received 1st place in the mixed category group
Released by: Claus
The game reached the second place in the Forum64 Game Competition 2015.
The game is an adventure game and is available in both English and German language. Rumour has it that Claus is already working on a sequel.
Released by: Software of Sweden
A contribution for the 8bit games contest at: Retro Comp / LOAD ERROR 2015
Five Card Draw is one of most basic forms of poker, and it's the kind of poker you're used to seeing in films and on TV. This version uses PETSCII graphics to represent the cards, the ZIP file contains instruction on how to play
Released by: Graham
Arc64 is a tool to deal with D64, T64, LNX and ZipCode archives. It can be used to edit D64 images, run D64 images in the WinVice emulator, run PRG files via CodeNet, convert T64, LNX, PRG, ZipCode and other formats to D64.
Featuring drag & drop support, If you drop a D64 image, it will be opened instead of the currently opened D64 image. If you drop any kind of other file, Arc64 will try to add it to the D64 image. Formats like T64, LNX and P00 will automatically extracted into the D64 image as PRGs. Changes to a D64 won't be saved automatically; you either have to drag the header of the directory into an explorer window, or you have to use the Save-option from the menus. Arc64 may also be called via command line with a file name as argument.
For the select few that may have an interest in GEOS/Wheels there is a small area on Facebook, just my wish to share this with those who may have an interest with GEOS/Wheels discussions etc.
COMMODORE FREE: I don’t have a face book account but Google found this:
News from Robert Bernardo
Ray Carlsen now has one web page that lists all his newly-improved Computer Savers and adapter cables for Commodores.
The current prices are listed there.
Check out the new mid-line Computer Saver for the Commodore Plus/4.
According to the website
This is the place where you'll find the largest public domain/shareware library of GEOS files anywhere in the world. The GeoMETRIX library. This library consists of 30 disks, formatted for the 1541 (in .D64 format, then .ZIPped to save web space and bandwidth), which contain numerous fonts, utilities, games, graphics, clip art and a ton more! Included are some of the data files used to generate the internationally published GeoJournal newsletter. For any GEOS fan, this is a HUGE must!
Pixel is working on a lightweight VIC20 emulator.
The emulator shadowVIC can be used on low-power devices such as the Raspberry Pi.
At the moment the following is emulated: 6502 CPU, 6560/6561 graphics display and the VIA joystick status. The rest for example the keyboard and sound are not implemented yet.
Mark Gladson has created a Kickstarter project to create replicas of the VIC-20 IEEE interface cartridge (VIC-1112). The project will produce a fully assembled cartridge including a housing and a label.
Jim Brain is working on a new memory expansion for the Commodore VIC20.
The properties are: Memory is organized into five "parts": RAM1 / 2/3, BLK1, Blk2, blk3 and BLK5. Every "part" may be any of RAM or FLASH ROM 8KB page of display memory. There are 1024 FLASH RAM 8KB pages and 128 RAM 8KB
Litody is working on a minesweeper game for the UNEXPANDED Commodore VIC20.
The features are: Selectable difficulty level, custom size minefield and you can select the number of mines in the minefield.
You can use the keyboard to control the game.
Demons of Dex is a new game for the Commodore VIC20, created by Phvic.
In the game you are Eino, and you are in a mysterious labyrinth. You must battle monsters and the three demon lords.
Features: 15 levels, 10 monsters, and 5 items, including a magical artifact. The music in the game is Mikko Kallinen.
Reviewed last issue of Commodore Free !
Misfit has developed a new game for the Commodore C16 called Dork Dave and The Dirty Trick. The game is a side-ways scrolling platform game. You must jump to avoid the enemies, break bricks, and leap to platforms trying to rescue the maiden locked in the tower. Full review in this issue of Commodore Free.
TEDzakker is a new music editor for the Commodore C16 and the Plus/4 created by Hermit. It can also be used on Commodore-64 by emulating the TED-sound, and later generating the native TED music on Plus4 or in VICE/Yape Plus4 emulators...
The features are:
Two channels (108Hz - 55kHz), channel synchronisation, 16 sub tunes, 100 patterns, 58 instruments, 6 player-types, HerMIDI MIDI-interface support, multi speed, note-column effects, funk tempo, sub tune-jump and more.
“there were no existing trackers specifically made to run natively on the Plus4 and C16 TED. There's a port of SIDwinder (C64 by Taki, ported by TLC), a new PC editor Knaecketraecker, that's all. The rest of Plus4 music were made for SID-card or in assembler”
Download from here
Also on the site are full instructions to the applications
Epy has released a new version of his SID player.
The program works with a SD2IEC device and a SID card at the Commodore Plus/4 and is compatible with PAL and NTSC.
Recent Changes in this version are: A new play-list system and a SID card detection.
FPSE stands for Free Play Station Emulator. This emulator is written by BERO and LDChen. The AmigaPPC version is made by Mathias "AmiDog" Roslund. The recent changes are: the joy lowlevel.library plugin makes it possible to emulate a psx pad with two joysticks. And there is now a plugin SDK available including several for image plugins.
Cannonball is a game for the Amiga. The game is an enhanced version of Yu Suzuki's arcade racing game OutRun.
CannonBall: The Enhanced OutRun Engine Features.
A-EON Technology Ltd announce a new black edition of the Classic Amiga mouse..
* Optional adapter is required for A600
Custom designed for the Amiga, white USB backplate fits in place of rear A1200 trapdoor located under floppy drive. Supplied with securing screw
Features 2x USB connectors with cables to connect to third party products such as Subway USB or Rapid Road USB adapters for the Amiga 1200 computer.
New Classic Amiga mouse is now available.
We are pleased to announce availability of the new SCSI to Micro SD Card Adapter at AmigaKit.com
Tony Wyatt writes
Part 1 – The Ascent from Assembler to C
It was late in 2003 when I received my first AmigaOne-XE. At that time, like many others, I had to be content to use Linux, and I waited impatiently for the day when I could run AmigaOS on my new machine. In the meantime I built the Boing Ball “case” for it. [The XE board failed in 2014 after eleven years of faithful service. These days the Boing Case is occupied by the AmigaOne X5000
Read more here
I've been rummaging through some of the software that I have written over the past fifteen or so years, comparing them to the knowledge that I have gained over the time and see where the problems lie in the program's construction and what can be done to fix it, if anything at all. This article will focus on the companion program to “Check It Out” called “Check Mate.”
“Check Mate” was written under the influence of egomania as I had signed the contract with RUN Magazine over “Check It Out.” Back in 1992 (when “Check It Out” made it's debut), I had this outrageous idea that I could sit on my backside, in my underwear, and program on the Commodore all day and never have to see the inside of a factory or workplace ever again. My soon to be ex-wife just had our second son and I was thinking (at the time) that it would be great to sit at home, in the aforementioned attire, and be Mr. Mom and Mr. Commodore Programmer, and she could go out and do woman things and never have to worry about money again. Whenever she would see me pounding on the Commodore she knew I was in the process of making money so we could eat, pay bills, and she could hang with her girlfriends during the day and we could, well, you know, at night. Little did I know that such a glamorous plan would change in the blink of an eye, or in this case, the flip of the calendar page.
It took me about one month to code “Check Mate” before I saw the first problem there would be with the program, and the problem wasn't with the program itself, but with its intended destination, which was to help with inputs to “Check It Out.” As I looked over the work, I realized that I needed to make major improvements to “Check It Out” so what was written and saved to disk by “Check Mate” would cooperate with the code written in “Check It Out.” Now how in blazes was I going to do this when “Check It Out” just went to press? This required a phone call to the offices of RUN Magazine in Arizona and speak to the HMIC (Head Man In Charge). Since I had the phone number close at hand, I quickly made the call. The phone rang and rang, but no answer came. I figured that everyone was out to lunch, at the same time. Yeah. That's it. I tried again several hours later, close to 5:00 pm Arizona time. Again the phone rang and rang, but no answer. Did they leave early on this day? To make a long story short I later found out that RUN Magazine had published its last issue and was no longer in business. “Check It Out” was placed in the very last issue of the magazine. Fine. I just got hosed by a bunch of Arizonians who gave not one indication of closing up shop. All my plans of being an at home Commodore programmer went up in smoke and down the drain all at the same time. I guess I'll have to get out the Sunday paper and peruse the Want Ads in search of that dreaded thing we Americans call, “a job.”
Oh snap! What was I going to do with contacting anyone and letting them know that “Check It Out” was in need of revamping? I still sat on the original program, but I signed all the rights over to RUN in lieu of publication. If I allow anyone else, including myself, to release a re-manufactured copy of “Check It Out” I would be in violation of United States Copyright laws. This little thing of copyright laws also affected “Check Mate” since “Check Mate” uses part of the coding for “Check It Out.” to make “Check Mate” work. This was a real mess legally, but privately there was no problem. I could continue to make changes to “Check It Out” and develop “Check Mate” in the privacy of my own home, but when the work was done, what then? The legal blockade was still in place and would be in place for the next seventy five years after 1992, which would make it 2067. I would either be very dead at 103 or, if I live that long, I will be defecating and urinating on myself in some nursing home with no memory of who I am. What was I going to do?
At the time, I told myself I wasn't going to worry about it. Seventy five years will give me more than enough time to work out all the problems with both programs, and hopefully I'll have time to spare to wrestle with this legal snafu. For now, let's make “Check It Out” and “Check Mate” the best BASIC programs written by a custodian that ever hit the Commodore universe. The first thing I had to look at was the set up of “Check Mate” itself.
When “Check Mate” was written I completely had in mind for it to be published by RUN magazine, so I kept the program within the parameters specified by that magazine. Their biggest concern was to make sure the programs published by the magazine were no more than twenty six blocks in length, which meant I had to do a lot of crunching in BASIC before I could send it. Also, the program lacked any sort of panache that would set it apart from other programs that it would share in the same pages. You don't mind selling the program to the publisher (or software developer) as long as you can see Joe Shmoe in the mall food court using your creation on his SX64. Because of the limitations, “Check Mate” lacked such fortitude. It was a plain, generic, database style program that would cooperate with “Check It Out.”
As I sit back and look at this work over twenty years after I put the code into the Commodore 64, I realize that the whole program cannot stand alone; it must have “Check It Out” to work with, and, as I said before, “Check It Out” needed to be modified to accept the data created by “Check Mate” in order to work. The good thing about waiting all these years to open the program up again is that I have a carte blanche situation now, meaning I can do whatever I want to do to it without worries of breaking some publication's guidelines. The only person I have to impress right now is the man I see in the mirror every day at shaving time. Once it meets my specifications, I can release it to a select few for beta testing and ask them what I can do to improve the work. The one thing I like about programming is that nothing is ever set in concrete. A programmer can keep changing and modifying his creation, expanding it to its fullest potential, until the work has reached the pinnacle of perfection. The sad thing about programming is that, even when you think you've reached this pinnacle, some greasy haired, glasses-wearing programming guru will take your work and expand it even more to cover areas that the original programmer never thought about. Such is the nature of the beast.
I'm not saying to anyone reading this that “Check Mate” is a piece of coding trash that should be erased from every Commodore disk still in existence; I'm saying that with a little love and thinking this program could make itself out to be a better work. I would like to add more colour to the image of the opening screen and get more into detail on what options there are in the program and add some more options, if that will make it a better program. What I have to remember as I look at the code or run the program is that this program was never meant to be alone like “Check It Out,” it is a helper to the same and will always be that way.
All in all, most of the work on “Check Mate” needs to be cosmetic and very little on structure and function. If anyone has seen (or perhaps owns a copy of) my program “Obligator Coordinator” then they will know the extent to which I want to take “Check Mate” in the way of cosmetics. I want more colour and a few more functions to make the program a little more practical. I piggy-backed both “Check It Out” and “Check Mate” to load back and forth between each other. One thing I have to do when I go back in is to make sure all of the data strings are cleared out before another piece of information is inputted and clean up after the program has been used is thorough and complete.
When it comes to writing, be it coding or story telling, I hate the part of the job called the “editing mode.” I want everything to flow and the piece to make an impression when either read or used the first time without any changes. This is fine for stories but try that stunt on a coding screen and you get a ton of “syntax errors” and “undefined statements” within the whole. The Commodore catches all the programming errors within itself when it does that, but it takes a good eye to see the errors in the printed page. I'd have to say that stories need to be beta tested just as much as programs do. Thankfully I have an actual editor in my family who can do this work for me without charge and I have beta testing for the world of Commodore to help make programming mistakes disappear.
In conclusion, I would like to say that when it comes to function, “Check Mate” makes the grade for which it was originally designed. When I get into it I will do little to it except what I have aforementioned in this article, but with all the programs I write, I would like to add a small, on screen documentation that will give overall use and tips on how to maximize the use of the program as seen from the eyes of the programmer. As always, I'd like to say that programming on the Commodore is both fun, nerve racking, and refreshing. I await, sometimes with anticipation, on the next idea that comes to mind for the Commodore.
When we first got a Commodore 64 computer, like so many we tried out the programs in the User Guide bundled with the machine. I have strong memories of a short program that generated a maze-like picture on the screen. A refinement of that program appeared as a one-liner in RUN magazine, and it is the one-liner that inspired this book.
As part of the Software Studies series from the MIT Press, 10 PRINT is an academic study created by ten authors. Working together they researched not only the program itself and the Commodore 64 it ran on, but expanded the discussion to include wider culture - the history of mazes, randomness in art and games of chance, the way BASIC contributed to the growth of computing and porting programs between machines and languages. The end result is a fascinating text that celebrates not only the one-liner itself but also the C64.
The way the book is laid out is very clever. The front cover uses the familiar Commodore font, and its blue & white pattern recreates the mazes the program creates. Chapters are headed by a page that resembles the C64 User Guide, with each chapter numbered like a BASIC program in increments of 10. This allows remarks and side topics to be discussed in separate chapters headed with REM (the BASIC statement allowing a remark), numbered with a 5 to appear between the larger chapters.
There are many figures illustrating key points in the text. These include familiar screenshots of the C64 screen output (in the classic pale blue & dark blue colours of the start-up screen), photographs and artwork. Breaking up the main text are sidebars, highlighted with a pale blue background for clarity, discussing topics leading away from the current chapter.
Throughout the book are many citations and references to printed material and books, clearly annotated with page numbers from the original work. One of the works cited in this scholarly manner is in fact Commodore Free. In issue 23 the late Lord Ronin contributed a variation of the one-liner, although sadly as published in its original form a key mistake renders the program faulty. (A corrected version appears at the end of this review for experimentation and demonstration, along with other examples). The book ends with refined versions of the program called Maze Walker, allowing either the computer or player to "solve" a randomly created maze.
Having previously read an MIT work on the Atari 2600 (Racing the Beam, discussing the techniques used to program key games on the console) I was really looking forward to reading 10 PRINT. I was not disappointed - in fact, I was pleasantly surprised at how much I enjoyed it. From lab rats in a maze to the foundation of Microsoft, from the beginnings of BASIC to the Dadaist artists, this is a wide-ranging and fascinating book. Best of all it acknowledges the C64 in a big way - from showing how the ROM font includes the diagonal characters that make up the maze to its role in popularising programming. Once I started I found it difficult to put down. The presentation is top notch and the formatting of the text flows nicely.
For those who do not want to splash out for an expensive book, there is a PDF version available under a Creative Commons license. But the printed book is a nice artefact in itself, and a pleasing addition to my shelves of computer-related books. Profits from the book are going to the Electronic Literature Organisation - helping to promote writing, publishing and reading in electronic media.
Perhaps a little high-brow for some readers, but a good read.
Visit the website:
Amazon in the UK:
Amazon in the US:
Online PDF download (50Mb):
Here is the program as it appeared in the User Guide.
10 PRINT "[CLR/HOME]" 20 PRINT CHR$(205.5+RND(1)); 40 GOTO 20
It looks elegantly simple, but here's how it works.
Line 10 clears the screen (press SHIFT + CLR to leave the reversed heart symbol, or you can use PRINT CHR$(147))
Line 20 PRINTs either CHR$(205) or CHR$(206). These are the diagonal graphics symbols on the M and N key (made using the SHIFT key). The RND(1) chooses a random number between 0 and 1, which gets rounded up or down to the nearest whole number. By changing the .5 you can change the balance between the two characters.
Line 40 simply goes back to line 20 and repeats. It's the semi-colon AFTER the PRINT statement in line 20 that makes the C64 print the next symbol directly after the last one.
Here is the one-liner, first found in RUN magazine.
8 PRINT CHR$(205.5+RND(8));: GOTO 8
Here is a suggested variation, adding random colour.
8 PRINT CHR$(205.5+RND(8))CHR$(149+RND(8)*11);: GOTO 8
This selects a random colour for the next character printed, using CHR$ codes once again. RND(8) uses 8 as the seed to generate the random numbers. Using RND(1) as the first RND statement in a program will always generate the same random sequence, which is helpful when testing.
Here is the Lord Ronin variation, fixed to work properly. (The problem was an extra bracket and the lack of the semicolon in line 20).
10 ? "[CLR/HOME]" 20 ? CHR$(205.5+RND(1)); 40 GOTO 20
As you can see this is now almost identical to the original, with the exception of using the shortcut ? in place of PRINT.
MIT is the Massachusetts Institute of Technology, an American university dedicated to science and research. It has played a pivotal role in the development of computing, and includes among its alumni the group who would go on to found Infocom Software.
This article is dedicated to the memory of Lord Ronin. We miss your enthusiasm, Sensei.
The following letters have been extracted from the title screen logos of popular games for the Commodore 64. Can you name the game each letter was taken from? Solution below.
(c) 2015 Commodoreman
I was looking through various books and took an interest to mathematical formulas. Being interested in Commodores, I wondered how I could convert them into BASIC algorithms. So, I started working out the conversions. I know there are many programs that do these conversions, but I thought, "what the heck!", I will just go ahead and do them anyway. Maybe I will cover some that have not been done yet, or find a better way of doing them (that and it is a great way for me to improve my programming and math skills).
This is a first in a series of articles and is not meant to be a how-to on general BASIC programming. Having a background will be beneficial, though, not essential. If you are learning BASIC, you should be able to figure out what is going on. I will be focusing more on the algorithms and their use. I will admit, too, that I am not much into math, so there may be errors. I do not expect to follow any set or organized method of approach when choosing formulas - I will likely just pick one or a related ones at random and just go with it.
I am going to start the series with temperature conversions. It is a nice way to get some of the basics out of the way (I noticed there are formulas that use temperatures and these algorithms can be incorporated into them). I will use a functioning BASIC program (BASIC 7.0) to illustrate one way they could be used. Of course, math being math and BASIC being BASIC there are different approaches that could be made, so you will have to decide on what works best for you.
Also note that when I use superscripts around formulas, I will space them out a little to prevent confusion.
Here are the formulas:
1. I found two ways to convert Fahrenheit to Celsius...
(F-32) / 180
Fahrenheit = Celsius x (9/5) + 32
In the first one1, I found that by multiplying the results by 100 gives a whole number. However, I decided to use the second2 formula for the program.
2. Celsius = (5/9) x (Fahrenheit - 32) 2
3. The algorithm for Rankine was devised from the following table 3:
|Boiling point of water||212||100||373||671|
|Melting point of ice||32||0||273||491|
|Divisions between fixed points||180||100||100||180|
4. Kelvin = Celsius + 273 3
1 rem *************** 2 rem ** main menu ** 3 rem *************** 10 scnclr 20 print:print"temperature conversion program" 30 print:print"1. convert fahrenheit to celsius/kelvin/rankine" 40 print"2. convert celsius to fahrenheit/kelvin/rankine" 50 print"3. convert kelvin to celsius/fahrenheit/rankine" 60 print"4. convert rankine to fahrenheit/celsius/kelvin" 70 print:print"5. end conversion program" 80 get a$:if a$="" then 80 90 a=val(a$) 100 on a gosub130,230,330,420,540 110 if z=1 then z=0:goto 10 120 goto 80 121 rem ************* 122 rem ** option 1** 123 rem ************* 130 scnclr 140 input"what is the temperature in fahrenheit";f 150 c=(5/9)*(f-32) 160 k=c+273:r=f+459 170 print"converted temperatures -" 180 print"celsius: ";c 190 print"kelvin: ";k 200 print"rankine";r 210 gosub 510 220 z=1:return 221 rem ************** 222 rem ** option 2 ** 223 rem ************** 230 scnclr 240 input"what is the temperature in celsius";c 250 f=c*(9/5)+32 260 k=c+273:r=f+459 270 print"converted temperatures -" 280 print"fahrenheit: ";f 290 print"kelvin: ";k 300 print"rankine: ";r 310 gosub 510 320 z=1:return 321 rem ************** 322 rem ** option 3 ** 323 rem ************** 330 scnclr 340 input"what is the temperature in kelvin";k 350 c=k-237:f=(c*9/5)+32:r=f+459 360 print:print"converted temperature -" 370 print:print"celsius: ";c 380 print"fahrenheit: ";f 390 print"rankine: ";r 400 gosub 510 410 z=1:return 411 rem ************** 412 rem ** option 4 ** 413 rem ************** 420 scnclr 430 input"what is the temperature in rankine";r 440 f=r-459:c=(5/9)*(f-32):k=c+273 450 print"converted temperatures -" 460 print"fahrenheit: ";f 470 print"celsius: ";c 480 print"kelvin: ";k 490 gosub 510 500 z=1:return 501 rem ****************************** 502 rem ** press any key subroutine ** 503 rem ****************************** 510 print:print"press any key..." 520 get a$:if a$=""then 520 530 return 540 end
Kelvin is an absolute temperature scale based on centigrade, Rankine is the absolute scale based on Fahrenheit. Even though these absolutes might not be used in everyday situations, it might be advantageous to have them available for more sophisticated calculations.
In this program a menu is presented offering the options needed to convert throughout the temperature scales. It seemed to me a reasonably organized approach to the application of these algorithms.
Converting from a formula to a BASIC algorithm takes breaking down the formula into a series of steps that BASIC understands. Typically this is a logical series of steps where calculations are performed in series. The formulas for these conversions are rather simple (just wait for the more complex ones!). The proper order in which the algorithm is calculated is organized by using parenthesis to force BASIC to perform the calculations in proper order (I know for those familiar with BASIC that this is simple stuff, probably learned long ago).
Breaking down the second conversion formula to the algorithm:
Fahrenheit = Celsius x (9/5) + 32
This is a simple conversion. All that needs to be done here is to follow the order of operations in the formula to obtain the algorithm:
We assign variable ‘F’ with the results of our conversion. Division within parenthesis is performed first. Then this is multiplied by the value assigned to variable ‘C’, to which we then add 32. There are no issues with the way the microprocessor crunches the numbers. As just a note, there are some algorithms (not in this project) that have to be processed in steps (not in just a one-line algorithm like that above). The 6502-based processors are great, but not impervious to errors. I’ll illustrate this in a future article4.
After figuring out how to turn the formula to a BASIC algorithm, the next thing to do is incorporate it into the BASIC program. Logical steps could be:
Note: In a more sophisticated program, we would likely have code for printing the results to a printer and possibly saving to an array for other uses. If you wanted to, the results could even be saved to a safe spot in RAM for a different BASIC program to access (providing the computer is not reset). As far as testing for correctness, the books I use have examples where I will test the algorithm based on the information provided. If the results are the same (some answers are rounded off - I generally ignore this) I assume I have a correct and functioning algorithm. REM statements are there just for pointing out the segments of the program - no need to actually add them to the program.
For quick reference, the following lines are the algorithms:
150, 160, 250, 260, 350, 440
Editor: Although written for the Commodore 128 if you change lines
10 scnclr 130 scnclr 230 scnclr 330 scnclr 420 scnclr
10 print chr$(147) 130 print chr$(147) 230 print chr$(147) 330 print chr$(147) 420 print chr$(147)
It should work on the VIC, C64, Commodore 16/plus 4, and the PET.
|Machine||PAL & NTSC|
|Code Type||Machine code|
|Created by||K., Mika (Misfit)|
Another Misfit game, Weeeeee
I must say I am a big fan of Misfit's games on the VIC and started to get excited when I read about this release for the C16.
Then menu is sparse and I couldn’t find any real instructions to the game, or story line all I found was this short description
Dave is a dork and he has to save the stupid princess. Dork Dave is a platformer game for Commodore16 machines.
So maybe we could make up something like –
“the princess was captured and imprisoned in the castle, you must guide Dave through the various perils to rescue her and free her from her imprisonment”
With all that in mind then..
As you already deduced from the pictures and description, this is a Mario styled platform game -- not a bad thing as Mario was the perfect platform game. In this game however, I do love the physics of the player and the inertia when you stop and start to move, lovely and graceful, misfit style again perfect. The game seems to have a few glitches, and I wouldn’t say its one of Misfit's most slick games, but on saying that...
This is a very playable and entertaining little game with some neat features, the music sounds very familiar, and I leave it to Commodore 64 fans to wonder where they heard it before, A nice feature is the smooth scrolling as you walk from left to right, but try to go back and the screen stops you, so you can only advance to the right, this hinders your game as you have to think in advance if you want to collect all the items, I am unsure if you need to collect them all as when I reached the exits I could exit no matter how many or few I had collected, More instructions would be good! Also, the colour scheme doesn’t do Misfit's work justice here and I wonder why dorky Dave looks like an owl!
Nice inertia and physics on the main character, some nice features, but the game needs a nice description and some instructions, nice game but not one of Misfit's best!
By Cosine Released In 2008
|Graphics||Bizzmo and T.M.R|
|Music||SLL and T.M.R|
|Format||Commodore PET (40 columns, 8K or more memory)|
|Release date||8th March 2008|
I am a little late reviewing this, but with so much going on, and not to mention an on and off working Commodore PET, sometimes things get put on the sidelines. Anyway, after managing to get the game loaded on my part time PET I hammered it for a review.
The objective in Blok Copy is simple...
You have a main static playfield containing seven designs of tiles arranged into columns of five. At the start of each level, the tiles are shuffled, you then have to reorganise the tiles to resemble their starting order. Once completed you progress to the next level (there are 10 levels to complete in all).
So the starting order on level one looks like this:
Each tile row numbers across 1 to 7
Apparently the documentation says that Blok Copy was the first release from Cosine on the Commodore PET. It also says PETs fitted with a parallel port sound hack get titles music, and in-game effects and jingles. Sadly to test this I had to run the game under VICE as the sound is enabled by default in the emulator but not on my PET.
The title screen is quite classy the way the blok copy letters move, and the instructions
The game is available for a number of systems and although dated 2008, still looks fresh on the PET.
I must say it’s one frustrating little bleeper to play but then TMR usually nails the gameplay on anything he touches. It’s a bit like playing a two-dimensional Rubik's cube viewed top down, if you mastered the cube then I am sure you will pick this up quickly.
You can certainly tell it’s a TMR game, all the elements are there. Classic game play, great graphics, and a frustrating hook to come back for more and more, music (on the VICE emulator as I can't play it on my real PET) was interesting, how much of a tune can you get from the PET, its about what you would expect bleeps of various tones, with some in-game bleeps. Still, it's far better than nothing at all!
A frustrating game but with a hook to come back for another attempt
Download the game here
Discuss the game here
YouTube video to original arcade version
Popeye an arcade platform game released by Nintendo in 1982 the characters from Popeye were to be released in a game. However, because of licensing issues Nintendo settled on a love triangle between gorilla, carpenter, and girlfriend Donkey Kong which mirrors the rivalry between Bluto and Popeye for Olive Oyl. Bluto became an ape, of course Popeye was released later. The object of the arcade game is for Popeye to collect a number of items dropped by Olive Oyl, (depending on the level)
You have to avoid the Sea Hag, Brutus and other dangers. You possess the ability to punch but you cant jump. Brutus however can jump up and down levels and can jump up to hit Popeye if directly below him. Popeye cannot attack Brutus directly.
Instead, the button is used for the following:
Popeye loses a life if he is hit by Brutus or any thrown/flying object, or if he fails to catch a dropped item before it reaches the bottom of the screen.
The VIC Port was written by Beamrider (Adrian F)and requires a VIC 20 (*PAL/NTSC) + 32K upgrade + Joystick (*PAL Recommended for emulators) Notes about the game conversion on the VIC from Beamrider: - Features most things and visual effects from the Arcade (except skulls and Popeye turning red) - Extra life at 20,000 points!!
Difficulty is set fairly easy at the moment but ramps up quickly once you pass the first 3 stages, (so you should be able to complete all 3 stages and observe the final cut-scene).
Built on top of the Pooyan codebase, (in assembler) with a forked version of R. Hurst's SSS library
Thanks to @tokra for extended pre-release testing
Early version on YouTube
Original Arcade version
While the system requirements may make your eyes water memory wise for the VIC, the main loading screen looks very nice!
With the music playing the Popeye theme tune, a rather splendidly large-looking Popeye graces us complete with logo lettering. If the music is left to play through the Popeye theme tune, at the last cord Popeye blows his pipe (of course I can’t condone smoking of any kind and presume it's all bubbles).
We are then greeted with the version number, for the review its V1.0
I presume the version has moved on now, but as I started reviewing on this version and spent about a month play testing I decided to stick with it.
Pressing Fire will “start the game” (no surprises there) it does what it says on the tin, (contents will be hot when heated?!)
While I haven’t played the original arcade version, to my knowledge, I do remember seeing it! And backtracking for this review and watching the YouTube video this conversion, you can see the VIC version does look incredibly close. I think most programmers would be overwhelmed with the task in hand.
The VIC version seems quite difficult to progress; you need to run about the level quite a bit to collect all the hearts for the first level. Also, Brutus can reach down through the level and grab you. Sometimes the characters seem to merge into the backgrounds -- that gets frustrating.
Notice there is a punch ball on the first level. Wonder what happens if you try to hit it!
I am not going to pretend the VIC version could ever look as good as the original arcade version, especially with the main character sprites, but the layout seems the same and the game play is still the same. Animation on the characters is a little jerky but I presume memory limitations reduced the number of frames that were possible.
Creative work on the graphics creates credible animations and great looking backgrounds. It's difficult really to criticise such a mammoth task and a truly superb conversion, yet I feel it's lacking something, just some sparkle, maybe just the extra animation frames.
Very good conversion, but frustrating to play, I presume the original version was the same, but not having a unit to test this on I reserve comment. The Conversions animation could be better, but its just being picky.