Thursday 29 August 2013

The Final Cartridge III and Action Replay VI

(I mostly wrote this quite a time ago, when I made very long pieces. Sorry.)

I have owned an Action Replay VI from back in the day (end of the eighties) to the present and it really did give a life extension to the good old C64. Fast loading, directory listing that does not destroy BASIC, facilities for backing up and copying almost any piece of software, a machine code monitor and flexible ways of loading and saving portions of memory, are among the many useful features that make the life of an 8-bitter that much easier.

Back then, I had to make a difficult choice between the Action Replay VI and the Final Cartridge III, which were in a sort of head-to-head competition between each other. Although AVI promised more features even on paper, the FCIII had an interesting attraction: A graphical desktop for the Commodore 64! One advert promised that it “would (almost) make the C64 into an Amiga”. Somehow I had the sense even back then it would be more of gimmick than a useful feature, yet the decision in favor of AVI was made grudgingly. I would have liked to see that desktop environment.

Now, about 25 years after that choice I have managed to get hold of a Final Cartridge III and get to see the other side of the fence. Furthermore, I bought a second hand mouse for Commodore, and although Computek GEOS-101 is not the definite Commodore mouse, it can (sort of) be used with the cartridge.

A joystick-emulating mouse. Avoid. It's not that great.

Physical appearances and anatomy

Both Final Cartridge and Action Replay VI are cased inside a nearly identical plastic box, very likely from the same manufacturer. If the AVI module ever had a label it has by now gone missing. The freeze button gives access to the cart main functions, whereas the reset simply resets the machine, a feature lacking in the C64. The Final Cartridge buttons are further apart than the AVI ones, which is good thinking. I do remember the occasional mis-aim back in the day, which could be really infuriating.

Left: FCIII, Right: AVI
I am not an electrical engineer, but the circuit board in FCIII gives a less professional appearance. The FCIII has a LED on it, which I suppose is able to show whether the LED is working. In the dark it can be handy for reaching the buttons, though.

Final Cartridge desktop

When the cart is inserted, the initial start-up screen of Commodore 64 will be changed. In AVI’s case there are four key options, whereas the FCIII provides a desktop experience. Even if the FCIII is visual, the ways of working are not particularly “graphical”. Instead of having disc icons on screen, all disk operations are accessed through a clunky window. Mostly this involves multiple clicks on various text icons, followed with clicking a “DO” icon.

Back in the day, the Amiga Workbench-like environment made convincing screenshots what with all the calculator and clock displays superimposed on the disk windows. The somewhat clumsy FCIII calculator shows that a graphical calculator is not necessarily an improvement, as the C64 BASIC is simply one of the best calculators around.

The Seeming complexity of the Final Cartridge desktop. Mostly nonsense.

Interestingly, some of the desktop experience is also present in BASIC. If I hold down the joystick or mouse button, the menu bar and the pointer appear on top of the screen, and various basic extensions and commands can be accessed from drop-down menus. Allegedly, this feature somewhat cripples the BASIC as regards interrupts and user defined characters, but it is kind of neat.

Final Cartridge notepad

The notepad is one of the desktop functions that cannot be displayed in a window. In fact, entering the notepad clears the desktop, so it can be considered as another part of the cartridge altogether. The mouse and color preferences are transported there, though. A text editor on a cart is a very good idea and is a definite plus of the package. The notepad boasts proportional font and intelligent word wrap, both quite a state-of-the art for a 1980s 8-bit home application. Considering these features the typing and text insertion is relatively slick.

The poorness of the photography is meant to expressively describe the quality of the editor.

Sadly, the feature list of the notepad kind of stops here. Sure, the mouse pointer can help move the cursor to a desired point of the text, and I felt the mouse was at least somewhat useful here. But the editor has no text selection functions such as cut, copy or paste. Find and replace are also absent. Ultimately I would have preferred a simple character display editor with more powerful functions and better integration to the rest of the package.

The monitor

The machine code monitor is one of the more useful cartridge features. What little machine code I learned during my 8-bit days is pretty much thanks to the Action Replay monitor. One can proceed in learning-by-doing fashion, through trial and error. If the computer crashes spectacularly, no worry, just reboot. It is instructive to see visible results of your code, and with the 8-bit computers it was still possible to manipulate the screen memory with only a very few machine code commands. Changing the border colour very rapidly or moving a text message into the screen memory are easily done even without a dedicated assembler package. Reputedly some games were even written entirely with a monitor!

Compared to the Action Replay, the FCIII monitor stands pretty much on equal footing. There are some things on the AVI monitor I learned to like, so I’m bit biased towards that. Action Replay allows typing assembler directly on the visible disassembly listing, whereas in FCIII one has to invoke the A command. Furthermore, the FCIII monitor insists that both the start memory address and the end memory address are defined when listing memory areas. In AVI, it's enough to type the start address and the monitor will happily start listing the disassembly from that address onwards.

The Final Cartridge variant has bit more on offer when it comes to displaying the memory contents in different ways. It is possible to display memory in “sprite” or “character” format, making the monitor into a rudimentary graphics editor. This is quite a well thought-out feature. The AVI instead has a separate sprite viewer which can be used to scan the memory for graphics more effectively. However it does NOT work as an editor despite being marketed as such. It’s possible to flip, invert and erase sprites, though. I suppose the AVI sprite viewer was probably meant for clearing sprite data for game cheating purposes.

Neither of the carts have a proper assembler package, which might have made these peripheral into real killer apps among coders.

BASIC extensions

Most of the added BASIC extensions on both carts focus on disk access. Of the two, the Final Cartridge boasts perhaps the larger set of BASIC extensions. They are somewhat superfluous as they cannot be accessed from inside program listings. Then again making them work in the listings would create incompatible code.

Both allow a more direct way of feeding the disk drive commands. It’s quicker to type DOS than the OPEN 15,8,15 rigmarole afforded by standard 64 BASIC. AVI goes a bit further and allows feeding of DOS commands via using a @ prefix, handily a direct key on the C64 keyboard.

Cumbersome "visual" entry to disk operations.

Both cartridges allow the entering of hexadecimal in the BASIC interpreter, which is a nice thing. There is no way to return decimal as hex strings, though, although the AVI monitor does have a command for converting between formats.

All in All

The common wisdom is that AVI is the superior of the two, and I am not going to argue much against that. Yet either of the two perform the core operations almost equally, though, and the FCIII is not a miss by any means. The Final Cartridge has a nice PACK function and some of the editing capabilities of the monitor are better thought out than in AVI (whereas some are not) but the desktop tends to be more of a disruptive technology than an assistance. Fortunately you can skip the desktop by holding the Commodore key when booting.

Concerning the desktop of the Final Cartridge, I have been perhaps overtly critical of a product that was made more than 20 years ago! The disk versions of Macintosh, Atari and Amiga desktops of that time, looking back, also appear slow and inconsistent nowadays. For what it is, FCIII visuals are quite well made. However, overall the graphical desktop seems a bit pointless exercise as nothing can be stored permanently, no preferences or window positions, anything. Even transitioning between notepad and the desktop loses the window positions. I can enter BASIC from the desktop and return to the cartridge only to find that all preferences are reset. So it indeed is a bit of a gimmick.

Edit: Additional note in favour of Final Cartridge III is that the fast loader is compatible with SD2IEC card reader, whereas AVI's fast loader is not. So, although I like the AVI features better, I tend to use FCIII for this reason.

Sunday 4 August 2013

Boxed Raspberry Pi

I put my Raspberry Pi into a plywood box to create this 1980s-inspired integrated "home computer". This time I'll spare the details. I used almost similar approach with the ZX Evolution. 

A slight annoyance when casing the Rasp' in this way is that the different ports and inputs are scattered to all four winds. Yet I wanted to avoid soldering. I positioned the board to the back right side of the box, allowing the SD card, power and HDMI ports to be visible from direct openings. I extended the other ports with off-the-shelf parts and led them to the backside. My aim was not to spoil any existing parts, so basically the casing holds a huge amount of cables which could have been in principle shortened and re-soldered. For this reason, the box is quite tall, 58 mm at the highest point. (The footprint is 330x195.)

The keyboard cable is contained in the box in its entirety. Likewise, the audio jack is continued with a ridiculous extension piece, because I did not have a shorter one. The USB ports are simply a Targus USB hub screwed in place, cable and all. I continued the RJ-45 with a short piece. Only thing I soldered was the TV composite lead into the "port" at the backside. The audio could have been connected to these RCA sockets, but for my use I find the headphone jack more convenient.

From left to right: opening for HDMI. Composite. (7 unused) Stereo audio jack. Internet. 3 USB ports.

Compared to the Evo project, this time I had a clearer idea about how to do the box. The cover panel and the side and front panels form one part. The sides and the front are again from the 9mm plywood. The bottom is similar to the material used as backsides for cheap bookshelves. The top is made from material taken from the backside of a photomount. Both about 3mm thick. (Apologies for the unprofessional description. I just can't know what exactly these chipboards are made of.) 

The keyboard (A Fuj:tech/ Deltaco) is very similar to the one I used previously, so I knew what to expect. The keyboard, with the plastic cover removed, is connected to the box cover. The bottom and backside of the computer are joined together, so only the keyboard cable crosses the bottom-top boundary. The box is held together with four 3mm machine screws from the sides. This way, the case can be closed and re-opened with relative ease.

A nut for receiving the machine screw. It is overlayed with a thin veneer or balsawood strip that keeps the nut in place.
I'm quite pleased with the result. The rough and simple look has its charm. It is vaguely similar to BBC B, C64 and maybe some MSX models. Granted, it might not be a very wild, innovative or original use for the Pi. Perhaps some other time!

To be honest, I'm not a huge Linux or Raspberry fan, nor did I look into any existing projects when doing this. It might seem a bit silly to put such a small computer into a box this big, but I find it neater to have all the required parts in one convenient place. And yes, the retro nostalgia factors heavily here. I'm running a RetroPie installation on one SD card and messing around with OpenELEC Mediacenter (The NOOBS install in fact) on another. Although the Linux terminal is a bit hard on the eyes on a TV, the games look more "warm".

The existing keyboard LEDs needed some air...