Resource centre for ZX Spectrum games
using Manic Miner and Jet Set Willy game engines
Archive of the
Manic Miner & Jet Set Willy Yahoo! Group
messages
| Previous message | Next message | |||
| Previous in thread | Next in thread | |||
Message: 4062
Author: andrewbroad
Date: 14/04/2004
Subject: Re: Announce: JSW48 commented assembly
jgh@a... wrote:
Announcing fully-commented JSW48 game engine source and listings
----------------------------------------------------------------
http://www.mdfs.net/Software/JSW/Docs
http://www.mdfs.net/Software/JSW/JGH/Docs/jsw48.asm
http://www.mdfs.net/Software/JSW/JGH/Docs/jsw48.lstI have finished typing up my 18-year-old commented JSW48
disassembly. I have uploaded it to my site as both an assembly
file and as the generated assembly listing. It assembles correctly
to produce the standard JSW48 game engine, and includes optional
patches to fix the pause bug, allow game exit, 7-bit room numbers
and room-specific Willy sprite.
Great!
I never managed to comment the routines that move Willy and those
that move the guardians as I couldn't quite work them out in the
detail of the rest of the commentary. I treated them as black box
systems. I'd be happy to add and credit somebody else's commentary
for these routines.
My commentary for vertical guardians:
http://games.groups.yahoo.com/group/manicminerandjetsetwilly/message/
4044
A little bit about arrows:
1. I believe the CP 7 instruction just above &9286 is the bit that
causes arrows to collide with white-ink pixels.
2. The OR 7 instruction just below &9286 is what causes arrows to
appear white. For Goodnite Luddite I changed this to OR 5 (POKE
37512,5), which causes it to bitwise-OR the background INK-colour
with binary 101, which makes the arrows appear either cyan or white
depending whether the middle bit of background INK is 0 or 1.
The OR 7 instruction just above &962F is what makes Willy white. For
_strangel_ I believe sendy replaced this with AND 0 to make Willy
black (OR 0 would make Willy the background INK-colour in every
room).
My commentary about how JSW prints characters from the font (and how
to change the font), and about the clock (and how to replace it with
a 24-hour clock that really does end the game at midnight rather
than 1am) are in TECHNICA.TXT of Goodnite Luddite.
TECHNICA.TXT of _Jet Set Willy: The Lord of the Rings_ contains my
commentary about extensions to specify the player's sprite-page as a
room-datum, incorporate John Elliott's teleport-extension for 48K
JSW, and allow accents in room-names.
I'll probably follow up Carl Woffenden's offer of Willy movement
commentary.
Carl Woffenden's Willy-movement commentary:
http://downloads.bigredswitch.co.uk/mm-jsw-dif.html
It's funny how the fundamental movement routines are the hardest to
understand!
Before starting to type up my commentary I did a little web
searching to see if anybody else had done something already.
All I could find was:Jodi's disassembly at http: http://jetsetwilly.jodi.org/poke.html
which is basically just a straight disassembly with some comments
This is a mirror of John Elliott's JSW disassembly, which he removed
from his site presumably due to copyright-concerns.
However, assembly-code for the differences between 48K JSW and
JSW128 can still be found at:
http://www.seasip.demon.co.uk/Jsw/jswdiffs.html
And John Elliott's Manic Miner disassembly at:
http://www.seasip.demon.co.uk/Jsw/manic.mac
I annotated parts of the MM disassembly (just on paper for now) as I
worked on MirrorMM. I'll write up my findings about the Kong-Beast
rooms, Skylabs, solar power and the MM title-screen tune at a later
date.
--
Dr. Andrew Broad
http://www.geocities.com/andrewbroad/
http://www.geocities.com/andrewbroad/spectrum/
http://www.geocities.com/andrewbroad/spectrum/willy/
| Previous message | Back to the Yahoo! Archive home page |
Next message | ||
| Previous in thread | Next in thread | |||
