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

 

arrowleft Previous message
Next message arrowright
arrowleftthread Previous in thread
Next in thread arrowrightthread

 

 

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.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.

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/

 

 

arrowleft Previous message Back to the Yahoo! Archive
home page
Next message arrowright
arrowleftthread Previous in thread Next in thread arrowrightthread