-
Posts
179 -
Joined
Reputation Activity
-
SymbolShift reacted to UncleWan in Happy Chinese New Year!
With the sound of firecrackers, a year comes to an end.Tonight is the last night of the Year of the Snake.Wishing everyone good fortune in the Year of the Horse!
My mini-game has been submitted, and I also used AI to make the game's cover.🙂
Have Fun!
-
SymbolShift got a reaction from Hervé AST in JSW In London
Jolly good old chap! Looking forward to this one
-
SymbolShift reacted to lemmylemming in Jet Set Willy engine & physics in Scratch
I've seen those projects, they are quite impressive! I'm surprised by how accurate they are 🙂 I don't think i'll be able to make something as good as those.
In other news, i'm currently working on adding guardians! I have vertical guardians mostly finished so far.
-
SymbolShift got a reaction from UncleWan in Merry Christmas-time Everybody!
Merry Christmas also! Hope everyone has a good one
-
SymbolShift got a reaction from UncleWan in JSW with scrolling
Usually not a fan of enhanced colour remakes, but I cannot deny that Java Tileset always looks gorgeous. Would love to see a MM version (anyone feeling artistic?) 😁
-
SymbolShift reacted to jetsetdanny in JSW Central YouTube channel
The JSW Central YouTube channel has just reached the milestone of 500 subscribers! 😁
Thank you SO MUCH to everyone who has subscribed - it feels good to know that this way of promoting JSW and MM games reaches more and more people 😊.
-
SymbolShift reacted to MikeH in Thank you to all the JSWMM community!
I just discovered the Jet Set Willy homebrew scene about 2 months ago and have been steadily ploughing my way through the back catalogue. Wow! I am so impressed with what people have achieved and the scene that has grown up around JSW and Manic Miner over the last forty years.
I remember playing Jet Set Willy on my older cousin's Spectrum 48k with him when I was very young. I remember that it was hard, that it had an incredible atmosphere and that it sparked something in the imagination. I don't think either of us were very good at it, but we loved playing it nonetheless. Fast forward to a couple of years ago and I got into retro gaming handhelds. This was a huge nostalgia blast, and let me re-live some of my favourites from the Speccy, C64 and Amiga. Just before Christmas I gave Manic Miner a go. It was a game I had never played back in the day, but with the advantage of save states I was able to really get into it. Then I thought to have another look at JSW and noticed there was at least a dozen remakes included in the rom pack I had found. This was intriguing to me, as some of the best games I had recently played on other platforms (such as NES) had been homebrew games. I started dipping my toe in and I got hooked!
Now I'm playing a JSW remake every day. I load it up on my handheld with my morning coffee. I bring it with me in the car when I take the kids to activities. And after they're finished their homework I delve in again. They say "Dad, you're always playing Jet Set Willy!".
One of the "problems" of the retro gaming handheld thing is that with almost every title ever published available at your fingertips it can be quite hard sometimes to choose what to play. At the moment I'm loving the idea of playing a series of games with the same mechanics, but different concepts. I am absolutely loving the experience of exploring Middle Earth, Egyptian pyramids, the life of Doc Shiels, space stations and lairs of dominatrix vampires. I think there's something really special about the ability to name each room that acts as a kind of springboard for the imagination.
I want to say a huge thanks to the people that have been involved in the scene down through the years. To have something to fill the idle hours of the day that is not served to me by a social media algorithm but has instead emerged from the dedication of an individual artist who loves their subject is priceless.
And I'd like to say a special thanks to the people who have been involved in efforts to preserve and present this body of work. I have consulted Danny's JSW Central and his YouTube channel many, many times when I've been stuck on a game, or need inspiration for what to play next. Without this I would be lost, literally!
-
SymbolShift reacted to jetsetdanny in Coding music in JSW128 and JSW64 games
Overview
The objective of this document is to allow, and make it easy for, authors of JSW games to code their own in-game music for games using the JSW128 and JSW64 game engines.
I have prepared one document, but I will post it in several parts to make it easier to read and to reply to the various issues I intend to discuss.
Credits
The following information draws heavily on (and at times quotes directly) information contained in John Elliott’s document “Jet Set Willy 128: Music format” and in his JSWED v2.3.7 manual (a PDF file that can be found in JSWED’s installation folder).
Richard Hallas’s document “A Miner Triad. Music in Jet-Set Willy and both versions of Manic Miner” was used for the JSW48 chart tone.
Andrew Broad’s specialised program SPECSAISIE was used to obtain the basic tone chart for the 128K games as equivalent to the basic tone chart of the 48K games.
Introduction
People interested in creating new JSW games using JSWED will likely design games using either the classic 48K game engine (JSW48) or one of the 128K game engines, i.e., JSW128 or JSW64.
How to code music for JSW48 games was described very clearly by Richard Hallas in his document mentioned above. More useful information can also be found in this thread.
This document discusses the coding of title-screen and in-game music in games using the JSW128 and JSW64 game engines. Most of the information presented here has already been available for a long time in John Elliott’s documents credited above. My aim is to present it in a slightly different way — which I hope makes it easier to understand what should and what can be done. I also share my own experiences and practices from coding the 128K music.
Music in JSW128 and JSW64 games is played by default via a built-in music player by Ian Collier. This music player can be replaced in JSWED with Soundtracker by BZYK (Piotr Baczkiewicz). I have had no experience with Soundtracker, so this document refers exclusively to the default music player.
My own experiences with coding 128K music relate to two games by Hervé Ast released in 2025. Hervé kindly allowed me to contribute musical arrangements to them. For “Welcome to Willy’s Fun Park!”, I composed both the title-screen tune and the in-game tune (the same in all rooms). In “Willy in the Islands of Mystery. Part II: The Temple”, I expanded my work significantly: I composed multiple in-game tunes and modified the game engine to allow each room to have its own tune, resulting in different tunes in various rooms.
-
SymbolShift reacted to Hervé AST in [File] Willy in the Islands of Mystery : Part II : The Temple
View File Willy in the Islands of Mystery : Part II : The Temple
Hello everyone
I am thrilled to announce the release of my sixth game, "Willy in the Islands of Mystery: Part II: The Temple."
It uses the JSW64 engine with the variant [].
This game is a direct sequel to the first game, "Willy in the Islands of Mystery: Part I; Exploration," created in 2007.
I encourage you to start by playing Part I.
It is available for download via this link:
https://xa.bi/jsw/islands1.htm
Part I, "Exploration":
The story: For some unknown reason—perhaps after the sinking of his cruise ship—Willy is alone on a raft in the middle of the ocean. One morning, he discovers a mysterious island on the horizon. He will have to explore it and find a way back home...
Part II, "The Temple,"
Begins in the exact same room where Willy finished the game in Part I.
The story: After exploring the islands, Willy discovers an ancient temple. To leave the Isles of Mystery, he must face its dangers and collect all the flashing objects scattered inside. Perhaps the Temple holds the key to his freedom.
Part II, "The Temple," has many surprises in store for you.
Technically, it's the first JSW game with different music for each room.
The theme is therefore different depending on the room.
This game also has many effects that greatly enhance the game's atmosphere.
I won't say any more; you'll have to discover it all for yourself...
And I've saved the best for last: I didn't create this game alone. Daniel (JetSetDanny) worked incredibly hard on all these improvements: music programming, visual effects, adding traps, scrolling messages, loading screen, end screen, game translation, title colors, complete testing, promoting the game on social media and websites dedicated to classic games… I think I'm forgetting some things, and I apologize to him.
It was a colossal and time-consuming undertaking. I want to thank him for his dedication and availability.
This is why this game is co-signed (Hervé and Daniel), as you can see on the home screen.
The game is available in two languages: English and French, In TAP and TZX formats
Have fun!
Hervé
Submitter Hervé AST Submitted 12/31/2025 Category Jet Set Willy [Remakes]
-
-
SymbolShift got a reaction from JianYang in Merry Christmas-time Everybody!
Merry Christmas also! Hope everyone has a good one
-
SymbolShift got a reaction from MtM in Merry Christmas-time Everybody!
Merry Christmas also! Hope everyone has a good one
-
SymbolShift got a reaction from Hervé AST in Merry Christmas-time Everybody!
Merry Christmas also! Hope everyone has a good one
-
SymbolShift got a reaction from Spider in Merry Christmas-time Everybody!
Merry Christmas also! Hope everyone has a good one
-
SymbolShift got a reaction from Jet Set Willie in Merry Christmas-time Everybody!
Merry Christmas also! Hope everyone has a good one
-
-
SymbolShift reacted to jetsetdanny in JSW Central YouTube channel
Today marks the fifth anniversary of the publication of the first videos—starting with walkthroughs of Manic Miner, Jet Set Willy and Jet Set Willy II—on the JSW Central YouTube channel, initially launched as a companion to my JSW Central website.
Five years after that modest beginning, the channel now showcases more than 200 videos with walkthroughs of MM and JSW games and variants. As of now, walkthroughs of *all* MM and JSW games for the ZX Spectrum released until June 2025 have been presented on the channel, as well as walkthroughs of the most visually interesting entries among what I classify as “versions and minor mods” of the original MM and JSW.
A big thank you to everyone who has subscribed to the JSW Central YouTube channel (close to 500 people now—amazing! 😁).
As mentioned in my previous post (sorry for the repetition!) all videos are listed in the “JSW Central videos” section of JSW Central. For each entry, two links are provided: one leading to the YouTube upload, and another to the Internet Archive, where the video can be downloaded in its original Full HD quality or in an AI-upscaled 4K version. These links are also included on each game’s individual page, where the YouTube videos are embedded.
While the content of the walkthroughs is the same as in the YouTube uploads, the downloadable versions may include minor refinements, such as adjusted title screens or improved audio synchronisation. Therefore, if you wish to download a JSW Central video, I strongly recommend obtaining the final version from the Internet Archive rather than from YouTube. You can see the whole collection at a glance here.
My plans for further development of the JSW Central YouTube channel and of the Internet Archive video collection are as follows:
– presenting new MM/JSW games a few months after each release (these will, of course, be very rare, as new games don’t appear that often);
– presenting the remaining “versions and minor mods” of the original MM and JSW (from time to time, as showcasing various nearly identical versions in a row wouldn’t be very exciting);
– presenting ZX Spectrum platform games that may be of interest to MM/JSW fans (I started with Monty on the Run, as it’s one of my non-MM/JSW favourites).
In the future, the presentations on this channel *might* also include MM/JSW and related games for platforms other than the ZX Spectrum, but I’m *not* making a firm promise at this point.
And again, to repeat what I posted very recently: I hope this growing collection of videos—based on my RZX walkthroughs, which are also available for download on each game’s page on JSW Central—will serve as a valuable resource for any fans of MM/JSW who are struggling with a game or simply want to see how it can be completed. I also hope it will help promote Miner Willy’s multiple universes to a wider audience 🙂 .
-
SymbolShift reacted to Hervé AST in JSW In London
Hello to the entire JSW community,
After a few months' absence due to a busy schedule that prevented me from dedicating myself to creating my games, I'm back.
I hope you're all doing well and that your projects are progressing smoothly.
And that you've had the chance to play "Welcome to Willy's Fun Park" (project 7) ! 🙃
This new topic aims to update you on the progress of my next game:
Project 8 - JSW in London :
JSW game, 64W version - 128 rooms.
Its release is planned for 2026. I'm hoping for a release before summer.
Here's the first progress report on the game's development:
The paper plan is finalized. The file is created, and the rooms are in order. I've created and tested 6 rooms (4%). The final sequence is complete.
Here's an update on my other projects:
Project 11 - Christmas Day. Version 64 [- 64 rooms
The paper plan is finished.
The file is created and the pieces are ready.
I've made good progress on this project; its release is planned for December 2026.
Project 12 - Time Tunnel: Middle Ages. Version 64 [- 64 rooms
The paper plan is finished.
The file is created and the pieces are ready.
I've made good progress; I hope to release it in 2027.
Project 10 - Journey to the Center of the Earth. Version 64W - 128 rooms.
The paper plan is finished.
The file is created and the pieces are ready.
I've made good progress; I hope to release it in 2027.
Project 9 - Exploration of Rama III. Version 64 [- 64 rooms.
The paper plan is finished.
The file is created and the pieces are ready.
Project 7: Willy Saves Maria. Version 64W - 128 rooms.
The file is created and the pieces are ready.
This project will be published after all the previous ones.
It was supposed to be the next one, but I'm more motivated for the previous projects.
That's it for the latest updates to my projects, which are as close as possible to what I want to achieve.
See you soon!
Hervé
-
SymbolShift reacted to Spider in Forum - Dark Mode
Yes its planned. 🙂
The newer software versions (which we'll need to upgrade to sooner rather than later) have this built in, the usual '3 way' toggle , light/dark/system (browser I suspect) preference. Screenshots from elsewhere but the core software is the same:
-
SymbolShift got a reaction from Spider in Forum - Dark Mode
Many of the older "light" themed forums are now equipped with a dark mode theme. Is this something that can be easily added to this forum?
Thanks.
-
SymbolShift reacted to Norman Sword in MM Movement and Collision Detection explanation
A big post of z80 code
The reason for the left right anomaly is simply caused by poor code layout as done by Matthew.
When setting up movement code - it is normal to mirror the code for left and right. This simple procedure allows quick and accurate visual comparisons.
Here the first lot of code is the layout of checking left and right movement when possibly on a ramp
NOTE this has unused opcodes and does not mirror left and right
Expect visual changes - over time on what you can see here. I will probably edit the visual layout.
And correct errors as I see them.
MATTHEWS CODE:-
Used by the routines at 8DD3 and 8ED4. This routine moves Willy left or right if necessary.
8FBC LD A,($85D0) Pick up Willy's direction and movement flags from 85D0
8FBF AND $02 Is Willy moving left or right?
8FC1 RET Z Return if not
8FC2 LD A,($85D6) Pick up the rope status indicator from 85D6
8FC5 DEC A Is Willy on a rope?
8FC6 BIT 7,A
8FC8 RET Z Return if so (Willy's movement along a rope is handled at 935E)
8FC9 LD A,($85D0) Pick up Willy's direction and movement flags from 85D0
8FCC AND $01 Is Willy facing right?
8FCE JP Z,$9042 Jump if so
; LEFT AND RIGHT CODE - DISPLAYED NEXT TO EACH OTHER
Willy is moving right. ; Willy is moving left.
9042 LD A,($85D2) ; 8FD1 LD A,($85D2) Willy's animation frame from 85D2
9045 CP $03 ; 8FD4 OR A Is it 0?
9047 JR Z,$904E ; 8FD5 JR Z,$8FDC If so, jump to move Willy's sprite left across a cell boundary
9049 INC A ; 8FD7 DEC A Change Willy's animation frame at 85D2
904A LD ($85D2),A ;8FD8 LD ($85D2),A
904D RET ; 8FDB RET
Willy's sprite is moving right ; Willy's sprite is moving left across a cell boundary.
In the comments that follow, (x,y) refers to the coordinates of the top-left
cell currently occupied by Willy's sprite.
904E LD A,($85D1) ; 8FDC LD A,($85D1) Pick up the airborne status indicator from 85D1
9051 LD BC,$0000 ; 8FDF LD BC,$0000 Prepare BC for later addition
9054 OR A ; 8FE2 CP $00 Is Willy jumping?
9055 JR NZ,$9078 ; 8FE4 JR NZ,$900A Jump if so
9057 LD HL,($85D3) ; 8FE6 LD HL,($85D3) Collect Willy's attribute buffer coordinates from 85D3
; 8FE9 LD BC,$0000 Prepare BC for later addition (again, redundantly)
905A LD A,($80DA) ; 8FEC LD A,($80DA) Pick up the direction byte of the ramp definition for the current room from 80DA
905D DEC A ; 8FEF DEC A Now A=0x1F if the ramp goes up to the left, or 0x41 if it goes up to the right
905E OR $9D ; 8FF0 OR $A1
9060 XOR $BF ; 8FF2 XOR $E0
9062 LD E,A ; 8FF4 LD E,A Point HL at the cell at (x-1,y+1) if the ramp goes up to the left, or at the cell at
(x+1,y+2) if the ramp goes up to the right
9063 LD D,$00 ; 8FF5 LD D,$00
9065 ADD HL,DE ; 8FF7 ADD HL,DE
9066 LD A,($80C4) ; 8FF8 LD A,($80C4) Pick up the attribute byte of the ramp tile for the current room from 80C4
9069 CP (HL) ; 8FFB CP (HL) Is there a ramp tile in the cell pointed to by HL?
906A JR NZ,$9078 ; 8FFC JR NZ,$900A Jump if not
906C LD BC,$0020 ; 8FFE LD BC,$0020 Prepare BC for later addition
906F LD A,($80DA) ; 9001 LD A,($80DA) Pick up the direction byte of the ramp definition for the current room from 80DA
9072 OR A ; 9004 OR A Does the ramp go up to the right?
9073 JR Z,$9078 ; 9005 JR NZ,$900A Jump if so
9075 LD BC,$FFE0 ; 9007 LD BC,$FFE0 BC=-32 (the ramp goes up to the left)
9078 LD HL,($85D3) ; 900A LD HL,($85D3) Collect Willy's attribute buffer coordinates from 85D3
; check extremes far right ; and far left - jump room
907B ADD HL,BC ;
907C INC HL ;
907D INC HL ;
907E LD A,L ; 900D LD A,L Is Willy's screen x-coordinate 0 (on the far left)?
907F AND $1F ; 900E AND $1F
9081 JP Z,$949E ; 9010 JP Z,$948A If so, move Willy into the room to the left;
9084 LD DE,$0020 ;
9087 LD A,($80B2) ;
; 9013 ADD HL,BC Point HL at the cell at (x-1,y+1), or at the cell at (x-1,y) if Willy is on or about to step
onto a ramp that goes up to the left, or at the cell at (x-1,y+2) if Willy is walking down a ramp
; 9014 DEC HL
; 9015 LD DE,$0020
908A ADD HL,DE ; 9018 ADD HL,DE
; 9019 LD A,($80B2) Pick up the attribute byte of the wall tile for the current room from 80B2
908B CP (HL) ; 901C CP (HL) Is there a wall tile in the cell pointed to by HL?
908C RET Z ; 901D RET Z Return if so without moving Willy (his path is blocked)
908D LD A,($85CF) ; 901E LD A,($85CF) Pick up Willy's y-coordinate (Y) from 85CF
9090 SRA C ; 9021 SRA C Now B=Y (if Willy is neither on nor about to step onto a ramp), or Y+16
(if Willy is walking down a ramp),
or Y-16 (if Willy is on or about to step onto a ramp that goes up to the left)
this will be Willy's new y-coordinate
9092 ADD A,C ; 9023 ADD A,C
9093 LD B,A ; 9024 LD B,A
9094 AND $0F ; 9025 AND $0F Is Willy at a point in a jump (left) where his sprite occupies three rows of cells?
9096 JR Z,$90A1 ; 9027 JR Z,$9032 Jump if not (Willy's sprite is cell-aligned)
9098 LD A,($80B2) ; 9029 LD A,($80B2) Pick up the attribute byte of the wall tile for the current room from 80B2
909B ADD HL,DE ; 902C ADD HL,DE Point HL at the cell at (x-1,y+2)
909C CP (HL) ; 902D CP (HL) Is there a wall tile there?
909D RET Z ; 902E RET Z Return if so without moving Willy (his path is blocked)
909E OR A ; 902F OR A Point HL at the cell at (x-1,y+1)
909F SBC HL,DE ; 9030 SBC HL,DE
90A1 LD A,($80B2) ;
90A4 OR A ; 9032 OR A Point HL at the cell at (x-1,y), or at the cell at (x-1,y-1) if Willy is on or about
to step onto a ramp that goes up to the left, or at the cell at (x-1,y+1) if Willy
is walking down a ramp
90A5 SBC HL,DE ; 9033 SBC HL,DE
90A7 CP (HL) ;
90A8 RET Z ;
90A9 DEC HL ;
90AA LD ($85D3),HL ; 9035 LD ($85D3),HL Save Willy's new attribute buffer coordinates (in HL) at 85D3
90AD XOR A
90AE LD ($85D2),A ;
90B1 LD A,B ; 9038 LD A,B Save Willy's new y-coordinate at 85CF ;
90B2 LD ($85CF),A ; 9039 LD ($85CF),A
90B5 RET ; 903C LD A,$03 Change Willy's animation frame at 85D2 from 0 to 3
; 903E LD ($85D2),A
; 9041 RET
;=============================================
The above code laid out with symatry - NOTE the bug can be inserted by just removing the head check.
Here I relay out the code with symetry
Used by the routines at 8DD3 and 8ED4. This routine moves Willy left or right if necessary.
8FC2:
LD A,($85D6) Pick up the rope status indicator from 85D6
DEC A Is Willy on a rope?
RET m Return if so (Willy's movement along a rope is handled at 935E)
LD A,($85D0) Pick up Willy's direction and movement flags from 85D0
bit 1,a Is Willy moving left or right?
RET Z Return if not
bit 0,a Is Willy facing right?
;set up some data for later
LD A,($85D2) Pick up Willy's animation frame from 85D2
LD BC,$0000 set no displacement in bc
JP Z,rampR Jump if facing right
Code would drop through to rampL
Willy is moving right. ; Willy is moving left.
rampR: ;rampL
CP $03 OR A Is it 0?
JR Z,right ; JR Z,left If so, jump to move Willy's sprite left across a cell boundary
INC A ; DEC A Decrement Willy's animation frame at 85D2
LD ($85D2),A ; LD ($85D2),A
RET ; RET
Willy's sprite is moving right ; Willy's sprite is moving left across a cell boundary.
In the comments that follow, (x,y) refers to the
coordinates of the top-left cell currently occupied by Willy's sprite.
right: ; left
LD A,($85D1) LD A,($85D1) Pick up the airborne status indicator from 85D1
OR A ; OR A Is Willy jumping?
JR NZ,nrampR ; JR NZ,nrampL Jump if so - NO RAMP ADJUSTMENT
LD HL,($85D3) ; LD HL,($85D3) Collect Willy's attribute buffer coordinates from 85D3
LD A,($80DA) ; LD A,($80DA) Pick up the direction byte of the ramp definition for the current room from 80DA
DEC A ; DEC A Now A=0x1F if the ramp goes up to the left, or 0x41 if it goes up to the right
OR $9D ; OR $A1
XOR $BF ; XOR $E0
LD E,A ; LD E,A Point HL at the cell at (x-1,y+1) if the ramp goes up to the left, or at the cell at (x+1,y+2)
if the ramp goes up to the right
LD D,$00 ; LD D,$00
ADD HL,DE ; ADD HL,DE
; is the ramp undefoot ?
LD A,($80C4) ; LD A,($80C4) Pick up the attribute byte of the ramp tile for the current room from 80C4
CP (HL) ; CP (HL) Is there a ramp tile in the cell pointed to by HL?
JR NZ,nrampR ; JR NZ,nrampL Jump if not
; set bc for ramp downwards
LD BC,$0020 ; LD BC,$0020 Prepare BC for later addition
LD A,($80DA) ; LD A,($80DA) Pick up the direction byte of the ramp definition for the current room from 80DA
OR A ; OR A Does the ramp go up to the right?
JR Z,nrampR ; JR NZ,nrampL Jump if so
; set bc for ramp upwards
LD BC,$FFE0 ; LD BC,$FFE0 BC=-32 (the ramp goes up to the left)
; before going any further check for going off screen
nrampR: ;nrampL:
LD HL,($85D3) ; LD HL,($85D3) Collect Willy's attribute buffer coordinates from 85D3
; position adjust
INC HL ;
INC HL ;
LD A,L ; LD A,L Is Willy's screen x-coordinate 0 (on the far left)?
AND $1F ; AND $1F
JP Z,$949E ; JP Z,$948A If so, move Willy into the room to the left;
; the above jumped room at the left/right edge
; adjust position if on a ramp - i.e move up/down - note bc=0 if not on a ramp
add hl,bc ; ADD HL,BC this is the ramp adjustment
; re align the checking for walls
; DEC HL
ld de,$0020 ; LD DE,$0020 Displacement for the tile below
ld a,($80b2) ; LD A,($80B2) Pick up the attribute byte of the wall tile for the current room from 80B2
LD B,A ; LD B,A save wall tile value in b
; head check - to implement bug - remove the check - can do either left or right - perhaps both
CP (HL) ; CP (HL) Is there a wall tile in the cell pointed to by HL?
RET Z ; RET Z Return if so without moving Willy (his path is blocked)
; BODY CHECK
ADD HL,DE ; ADD HL,DE
CP (HL) ; CP (HL)
RET Z ; RET Z
;calc new y position
LD A,($85CF) ; LD A,($85CF) Pick up Willy's y-coordinate (Y) from 85CF
SRA C ; SRA C Now B=Y (if Willy is neither on nor about to step onto a ramp), or Y+16
(if Willy is walking down a ramp), or Y-16 (if Willy is on or about to step onto a ramp
that goes up to the left); this will be Willy's new y-coordinate
ADD A,C ; ADD A,C
LD c,A ; LD c,A
; now check if cell aligned
AND $0F ; AND $0F Is Willy at a point in a jump (left) where his sprite occupies three rows of cells?
JR Z,ramp3R ; JR Z,ramp3L Jump if not (Willy's sprite is cell-aligned)
; if not aligned check 3rd tile
LD A,B ; LD A,B
ADD HL,DE ; ADD HL,DE Point HL at the cell at (x-1,y+2)
CP (HL) ; CP (HL) Is there a wall tile there?
RET Z ; RET Z Return if so without moving Willy (his path is blocked)
OR A ; OR A Point HL at the cell at (x-1,y+1)
SBC HL,DE ; SBC HL,DE restore back to position before 3rd tile was checked
; adjust position back to level with the top tile
ramp3R: ;ramp3L:
OR A ; OR A
SBC HL,DE ; SBC HL,DE
;
; and re REALIGN for top left
DEC HL ;
; save data and exit
LD ($85D3),HL ; LD ($85D3),HL Save Willy's new attribute buffer coordinates (in HL) at 85D3
ld a,c ; LD A,c Get Willy's new y-coordinate
LD ($85CF),A ; LD ($85CF),A Save Willy's new y-coordinate at 85CF
xor a ; LD A,$03 Change Willy's animation frame at 85D2 from 0 to 3
ld ($85d2),a ; LD ($85D2),A
RET ; RET
;==============================================
The Feature that is displayed in the movement code.
When it was implemented it allowed a feature and that feature was used.
It is similar to the pause bug, attic arrow bug, missing and uncollectable objects etc
Whilst I think my code is correct - if I notice errors - then I will correct them. The purpose of the code is to show code being laid out as similar for both directions.
;
-
SymbolShift got a reaction from JianYang in Forum - Dark Mode
Many of the older "light" themed forums are now equipped with a dark mode theme. Is this something that can be easily added to this forum?
Thanks.
-
SymbolShift reacted to jetsetdanny in Forum - Dark Mode
Thanks for this question, SymbolShift. I will have to defer the answer to Andy (Spider) as he is the admin that knows all about the technical side of things here.
-
SymbolShift reacted to JianYang in MM Movement and Collision Detection explanation
The superstar solution would be to give the game an "enable bug compatibility" option. I'm not sure what platform you're talking about. On a speccy 48k that would probably require wizard levels of programming on a more modern platform it would still be hard.
Just throwing that out in case it wasn't obvious.
-
SymbolShift reacted to Norman Sword in MM Movement and Collision Detection explanation
See "altered reality" for corrected Willy movement. And it does not feel strange.