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:

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