Batman by Prince - CD (3/10)

Posted on

I think I liked the “Batdance” video on MTV back when this came out. Maybe I was just caught up in Batmania (although I don’t remember loving the movie). For whatever reason, I own this universally mocked record. Listing to it again, I was hoping it would reveal itself to me as an underrated gem. Nope. It’s pretty awful. I actually like the groove of “Vicki Waiting” and “Batdance” still is a fun listen, but the majority of the tracks are just too boring or too sappy.

Apple ][ Assembly Language Programming

Posted on

The past few weeks I have been diving into the world of assembly language programming on the Apple ][ computer. My interest in the topic stems from the recent book release of a compilation of articles on assembly language programming called Assembly Lines: The Complete Book. The articles were written by Roger Wagner and originally published in Softalk magazine back in the early eighties. This edition was edited by Chris Torrence and is available for download and purchase from a number of locations.

Now, I am pretty familiar with Applesoft Basic programming, but I was always in awe of commercially released software on the Apple ][ that ran so fast, had fancy hi-res graphics and used sounds other than the system beep. What was the secret of these mythical programs that required you to type “BRUN” in order to get them to load? The secret was machine language.

This image shows you just how intuitive and user-friendly machine code is. It’s almost like it was written by the Terminator himself (just after he finished cutting out his eyeball with an Xacto knife). Despite the seeming impenetrability of machine code, in the past I made a few attempts to learn it. I would get a few chapters into Apple Machine Language and then the endless diversions into binary math would addle my art-school trained brain. It never really clicked for me.

What I didn’t know is that there was this thing called “assembly language” which is a human-readable method of creating machine code. It still is pretty brutal compared with Basic or JavaScript, but for the first time I think I am starting to understand machine language and, more generally, just how the Apple ][ works. Cryptic hex numbers and even the aforementioned binary math are still a part of assembly, but it uses three letter abbreviations for various functions and allows for comments and labels. The assembler will translate the letters into their numeric machine language equivalents and assemble the source code into a BRUN-able program. Woo-hoo!

The first hundred pages or so of Assembly Lines has been very informative and I have dutifully typed in many of the example programs. At one point I had a pretty nice “ah ha!” moment when I was messing around with creating tones. I created a small program that generated an annoying high pitch noise and decided I would further enhance the interactivity by outputting a stream of numbers to the screen showing the paddle positions. Before I got very far beyond just reading the paddles I noticed that I could use the joystick to change the pitch of the sound. I had no idea why this would change the pitch so I decided to look at the machine code in the built-in paddle routine. To my surprise, I was able to see that it got the paddle value by using a count down loop. The longer the count down, the lower the tone. I couldn’t really say why this was the case, but at least I was starting to be able to decipher that wall of hex values.

Now, back in the late eighties I got my hands on an issue of Compute! magazine. Kids nowadays with their fancy iWatches and download services may not believe this, but in the olden days there would be program listings in computer magazines. Readers could carefully type in the program and, “Voila!”, you had new software to use. This issue contained a listing for a game called Space Dodger, with a separate listing for just about every machine available at the time. Most were written in basic, but the one for Apple ][ was pure machine code. I had no idea what any of it meant, but I dutifully typed every line into my Apple’s monitor. The result was a pretty slick little arcade game:

You moved your ship to avoid the space junk which flew by from right to left at varying speeds. However, playing the game in emulation, I noticed a slight problem: the ship movement was mapped to the wrong joystick axis.

And now we get to my second assembly language “Ah ha!” moment. I now know the memory address where the paddles are read. I just needed to search the code listing for 00 1E FB and it would just be a matter of changing the 00 to 01. I found the values at $706B, made my edit and, magically, the joystick now worked correctly!

I still have no clue as to what the other 99% of the code does, but this was a breakthrough. Assembly language… I think I can do this. In the meantime, download Space Dodger and play it in your favorite emulator.

A Golden Wake on PC (6/10)

Posted on

Although I’d give them props for creating a game with a truly unique theme, this Wadjet Eye adventure falls a bit flat. The game is set during the 1920’s land boom of southern Florida and focuses on the player-character, Alfie Banks. Essentially it’s a character study, but, unfortunately, interactive storytelling doesn’t lend itself to well so such narratives. Games excel at mood and environment but creating riveting characters just doesn’t seem to fit the medium all that well. Without a strong narrative plot focus (i.e. save the princess or defeat the evil villain) it’s hard to justify the extra time spent clicking options and parsing dialog trees to get to the same point that a short paragraph of exposition would.

The best adventure games are ones in which the plot and mood develops as the player explores and interacts with the environment. In A Golden Wake there is no sense of discovery. You are told what you need to do and your options are limited. The author just wants to paint his portrait and the puzzles are just a customary nuisance put there to force you to click on stuff. “Puzzles” may be too strong a word. In 90% of the game you are just following a path, clicking on all the objects and waiting for the next section to open up.

But still, the theme and setting are novel and they were enough to keep me mindlessly clicking. I love, love, loved the 1920 dance scene that was featured in the trailer (and the above screenshot) for all its pixelrific glory. Unfortunately the game didn’t quite meet my expectations. Flapper DDR needs to be made. Left, right, left, left, charleston…

Apocalypse Now by Coppola, Carmine and Francis Coppola - CD (9/10)

Posted on

Not so much a soundtrack as it is an abridged version of the movie that you can listen along with, the double CD Apocalypse Now focuses on narration and dialogue instead of music. Sure there’s “Ride of the Valkyries” and that stupid (aren’t they all) Doors song, but for the most part the atmospheric synth sounds are limited to background here and there. That’s okay by me. I love the movie and this soundtrack evokes the same dreamy and poetic quality of the film in an auditory format’a headphones record if ever there was one.

1984 (For the Love of Big Brother) by Eurythmics - CD (9/10)

Posted on

Although technically speaking this is a soundtrack, I don’t think any of these songs made it into the film 1984. That’s fine. The dance floor beats don’t really fit the tone of a dark and cruel dystopian future. Nevertheless, I have always really liked this CD (with the exception of the overly long “Julia”). Along with the attempts at police-state pop music, there is a nice mix of instrumentals where Lennox’s voice is just there for atmospheric effect. Not quite Edda Dell’Orso, but I’ll take what I can.