u/thunchultha

Does anyone remember “Castle Adventure,” an AppleSoft BASIC game from the 1980s/90s?
▲ 28 r/apple2

Does anyone remember “Castle Adventure,” an AppleSoft BASIC game from the 1980s/90s?

Does anyone remember an AppleSoft BASIC game called Castle Adventure from 30+ years ago?

Gameplay video: https://www.youtube.com/watch?v=DYWHt9oLbuU

It's a simple RPG I came across in the mid-1990s at a summer camp in New Jersey. The camp had a bunch of disks labeled "Super Sampler," and this was one of the games on them.

I wrote BASIC programs as a hobby back then, so when I discovered the game was written in BASIC, I wanted to know how it worked. One day I brought in a stack of tractor-feed paper and printed out the entire program. It came to 19 pages, which seemed unfathomably huge to me at the time.

I never got very far understanding it then, but decades later I scanned those pages, reconstructed the code, and got it running in an emulator. Eventually I rearchitected the whole game in C, polishing the original and speeding up some painfully slow parts:

https://www.youtube.com/watch?v=2TmMMC7xvOk

Then I went on a bit of a porting binge. The same core game now runs on the Apple II, Commodore 64/128, MS-DOS, Linux terminals, and in a web browser.

I'd love to release my version, but I don't really want to do that without the original author's permission. The only credit in the program is "Michael MacCarter." I've wondered whether he might have been a former camper, since I have no idea where else the camp got the game.

So: does Castle Adventure look familiar to anyone? Or, even better, does anyone know who Michael MacCarter was?

u/thunchultha — 7 days ago
▲ 69 r/Tetris+1 crossposts

Ported 1989 NES Tetris to the Commodore 64

The 1989 Nintendo version of Tetris for the Nintendo Entertainment System was one of my favorite games, and I've always been interested in reimplementing it. I tried unsuccessfully in high school with Q-BASIC for DOS, but never tried again until recently.

This past week, I spent 4-5 nights getting it to work in Commodore 64 assembly with the help of Codex. Since I don't own the code it's based on, I don't plan to release it, but I thought you might enjoy seeing a demo of the finished product. (Or if you just want to hear Tetris music on the SID, check out https://www.youtube.com/watch?v=o6sWc0uLCpc )

I used a full disassembly of the NES version that I found on GitHub as a guide, and reused as much of it as possible for accuracy. I considered the victory cutscenes to be out of scope for the project, because they used large multicolor sprites that would have to be redesigned significantly. I also cut the percussion track from the music because that would require 4 voices, and I wasn't interested in programming for 2 SIDs.

I broke the task down into milestones to help the development go smoothly:

  1. Music implementation via a prototype music player
  2. The legal screen and start screen
  3. The demo game on attract mode
  4. Music/type/level/height setting screens
  5. Actual gameplay
  6. Victory / top score entry screens (without the castle or sprites)
  7. Extra polish like accurate game font, precise layout of all the HUD elements

Implementing the demo mode early on helped a lot, because slightly inaccurate handling of player input will result in the demo going out of sync, or the wrong final score/line count. Codex was able to script VICE to auto-launch the game and verify that the calculations were correct.

In all, it came to 6,537 lines of assembly, or if you want the full breakdown from wc:

    2908    6812   78175 demo.asm
     696    1505   18184 main.asm
     106     259    6073 music_data.asm
     667    1546   17558 music_driver.asm
     254     523    6213 music_player.asm
    1871    4161   50805 screens.asm
      35      88    2106 sid_tables.asm
    6537   14894  179114 total

(demo.asm is a misnomer because it ended up including much of the game engine.)
The assembled .prg was 22.608 bytes for NTSC and 22,609 for PAL.

youtube.com
u/thunchultha — 12 days ago