Re-hacking the 80’s-part 6: code online

<previous part

A short post.

I haven”t updated this series in a while. That happens sometimes with things like this; it’s online, you don’t know if people are reading it and there are lots of other interesting things to do as well.

Twitter trigger

Actually what triggered me into action was Twitter. Some Japanese person (@aka_obilinked to the post in this series where I wrote about reversing the Willow Pattern music.


So where am I now? I wanted to make the code I write more accesible so I created a git repository where the source can be found of Willow Pattern Adventure.

I wanted to use my own disassembler to create the code , but it didn’t generate compilable code so I tried to fix that.

That turned out to be a lot of work. The code was (and still is) a mess, my opcode tables had errors and it’s written in VBA (Excel) which I’m no longer used to program in. So a lot of work, but it’s working now.

The resulting .asm file is written in ACME (1) format. I’ve tested it and it compiles to a working .prg which seems to be fine. At the moment the file contains all memory from $0801 to $c500 which also contains empty parts and parts that are overwitten when the game is run, so it could be lot smaller (lots of room for features!).

Most of it is auto-commented. A few comments are added by me. More will follow when I add features.

Disclaimer: the game might still have copyrights on it. It probably is abandonware but to be sure I expect people to use the source as learning material (as I am using it now) and certainly not for any commercial purposes.

The repository can be found here:

Next up I’ll probably clean up the code, externalize some of the data to binary files and then integrate the trainer I already have somewhere else.

(1) there are multiple places to get a ACME compiler, but hip people could use node/npm:

npm i acme-cross-assembler

(I’m not hip so I use something I found here:

1 Comment

  1. Re-hacking the 80’s-part 7 | Goerp

    […] previous part […]

Leave A Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.