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
|
|
||
|
|
Message: 4062
Author: andrewbroad
Date: 14/04/2004
Subject: Re: Announce: JSW48 commented assembly
jgh@a... wrote:
>Great!
> 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.lst
>
> I 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.
> I never managed to comment the routines that move Willy and thoseMy commentary for vertical guardians:
> 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.
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 movementCarl Woffenden's Willy-movement commentary:
> 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 webThis is a mirror of John Elliott's JSW disassembly, which he removed
> 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
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/
