Total Eclipse II – Invisible Walls

I had posted renderings of the area THEBES-B from Total Eclipse II before but I also found an in-game screenshot of the same I took a while back while testing. So here they are, invisible walls made visible as part of my trainer for Total Eclipse II:

THEBES-B Invisible Walls revealed

THEBES-B Invisible Walls revealed

The screenshot is taken with the player standing in a position that is impossible to get to normally: I had to POKE the position manually into the game data in order to get to such a privileged viewpoint :)

Navigation in the above maze when walls are invisible is particularly frustrating as, for example, one has to crawl into the opening that is about in the middle of the screenshot, but it can’t be seen!

However, the game does give players a clue: if the music playback is stopped, sounds are enabled and when you walk into the block above the opening you get a particular sound that informs you you are at the opening so it’s time to crawl. Still, you have to know more or less where the opening is (i.e. left side of the area) and back in the day it was only possible to find out by means of trial.

In short, if you had scanned the whole area and got through, it would have been significantly simpler to navigate the maze on the second attempt using the sound feedback from the game :)

Posted in Retrocomputing, Technical | Tagged , , , , | Leave a comment

More on C64 Hires 2 Charmode

Today I was working at some ML code for the Commodore 64 involving video mode change at a certain raster line. In order to get away with a flickering issue I decided to change the char-mode logo I am using so that the char in position 0x20 is completely blank.

This trick was quite common back in the old days but I was missing the option in C64 Hires 2 Charmode, so I decided to add it:

C64 Hires 2 Charmode new option

C64 Hires 2 Charmode new option

Posted in Pixel Design, Retrocomputing, Technical | Tagged , , | Leave a comment

More C64 tools: C64 Hires to Charmode

A few weeks back, around the end of May, I came up with an interesting idea for a logo to use for a Commodore 64 intro for Hokuto Force. I designed a 3-color logo spanning multiple C64 screens in a PC graphic editor and I was looking for a way to convert it to char-mode. Unfortunately I could not find anything quickly enough so I decided to draft a tool to do just that.

I am not going to expose my logo just yet so I will show below how the tool works using somebody else’s logo meant to be displayed in char-mode (rather than hires mode). Of course the tool is meant to save time when designing graphics produced by a non cross-design editor (or simply found on the Internet, e.g. a still image): the careful design of the logo to be shown in char-mode is a high-value task and is best done in a native editor or one that behaves similarly!

So let’s assume I found the image below on the Internet and I was interested in putting together a fontset out of it (because I do know that it is a char-mode logo), without repetitions:

HF logo by DMD

HF logo by DMD

What I do is to load the PNG (or GIF, or BMP, etc) file into my tool, C64 Hires 2 Charmode:

C64 Hires 2 Charmode

C64 Hires 2 Charmode

By clicking on the button “Convert & Save” what I get is that I am requested to save the below picture:

C64 Hires 2 Charmode - Resulting fontset

C64 Hires 2 Charmode – Resulting fontset

Along with the video map that indexes the chars in the above fontset in order to display the original logo. The tool also gives feedback on the number of chars required to do the decomposition:

C64 Hires 2 Charmode - Count of chars

C64 Hires 2 Charmode – Count of chars

What I finally do is to use one of my other tools to convert the picture to raw font-data. I decided not to do such conversion in C64 Hires 2 Charmode when I coded it, but I might include the functionality at some point.

Posted in Pixel Design, Retrocomputing, Technical | Tagged , , , | 3 Comments

My second crack intro

A video of my second crack intro for the Commodore 64 is now available. Enjoy!

Posted in Pixel Design, Retrocomputing, Technical | Tagged , , , | Leave a comment

Total Eclipse II release

Now that the Jewel release of Total Eclipse II has been published on CSDB I can comment on a few interesting things that I’ve come across during the work I did on this title.

First thing first, the Freescape is very much a nicely designed game engine/framework and Total Eclipse II uses most of its features, especially for animating the environment. It provides a script interpreter that processes bytecode attached to objects, areas, and those that apply globally. For my work on trainers I actually had to modify a few of these :)

One of the nice touches I worked at was a patch for the area named “THEBES-D C12″. Normally when the player stumbles across a step on the floor, some water drops from the jar, as advised by the message “WATER SPILT” in the game dashboard. When that happens, a stain appears on the floor (dark red) that represents the water. I liked this touch of the coders so much that when I wrote my trainer for unlimited water I decided to disable both the display of the “WATER SPILT” message on the dashboard and the generation of the stain on the floor, among the other things. I like to go the extra mile with a trainer :)

Another nice touch was to decode the area with invisible walls, “THEBES-B C12″, and add a trainer to show the invisible walls as it can be quite frustrating to navigate through an invisible maze in a 3D world where you have to crawl at one point and carefully step up a number of times without falling before you can get across. Not only that, I also produced a few renderings of such area, so that if players don’t want to spoil the challenge, they can at least peek at the renderings for a little bit of help:

THEBES-B rendering 1

THEBES-B rendering 1

THEBES-B rendering 2

THEBES-B rendering 2

THEBES-B rendering 3

THEBES-B rendering 3

The ones in blue are the entrance/exit and the one in yellow is the gold bar, provided for orientation.

As you can certainly appreciate in the last rendering, when entering the maze from the door at the opposite side of where the gold bar is (i.e. during the journey back through the maze), it is enough to just go all the way left from the door and take advantage of the blocks stacked in the shape of a staircase. The game itself gives us a hint about this: the message “GO LEFT THEBES-B” is displayed whenever the player crosses the maze for the first time and steps into “THEBES-A C12″. Nice touch, eh?

Overall I had great fun reverse engineering the 3D engine and the bytecode interpreter at $6429. Here’s a few snippets from the interpreter itself:

B6477 LDA T6422 
      CMP #$01 ; Opcode 1: Add 3-byte value to score/money
      BNE B64D2 

...

B64D2 CMP #$02 ; Opcode 2: Add signed byte value to water level
      BNE B6503 

...

And so on and so forth!

I guess it’s enough for this update :)

Posted in Retrocomputing, Technical, Uncategorized | Tagged , , , , , | 1 Comment

Video for Beam Racer available

A video of my first Commodore 64 intro is available!

Of course I did not mean to make a technically extreme one on my first attempt. I just wanted to put together something that looks nice and is timed nicely: check at what point the scrolltext starts and at what point the drums start – then check on NTSC too ;)

Posted in Retrocomputing, Technical | Tagged , , , | Leave a comment

All Rack-It loader variants supported in TAPClean now

Today, after rewriting the code for this format in order to extract loader parameters on a per tape basis (similarly to what happens for Cyberload), I also added support for the only known variant used in a few titles.

In total, there are 13 Commodore 64 tape dumps that can now be automatically tested and archived for preservation :)

Thanks go to Mason for making the tape dumps available and Peepo for setting up the FTP “exchange” server!

Posted in Retrocomputing, Technical | Tagged , , , , , , , , , | Leave a comment