An Arrow Through The Code? Jet Set Willy's Weird Bug Explained

  Рет қаралды 35,079

Sharopolis

Sharopolis

4 жыл бұрын

#Speccy
One of the strangest and most intractable bugs in classic gaming laid bare. The glitch that made ZX Spectrum smash hit Jet Set Willy a lot harder than it should have been.
Music:
Space Navigator
Yellow Flamingo
Sarah, The Instrumentalist
/ @sarah2ill
Sleeplessness
The Bothers Records
/ @donguyrockwell
Background image:
Paweł Czerwiński
unsplash.com/@pawel_czerwinski
Jet Set Willy Map
Pavero
maps.speccy.cz/map.php?id=Jet...

Пікірлер: 118
@akumjh
@akumjh 4 жыл бұрын
The title turned out to be far more literal than I expected.
@MaxOakland
@MaxOakland 2 жыл бұрын
Same.
@d2factotum
@d2factotum 4 жыл бұрын
I know I'm a bit late here, but just a note about the collision detection: the way that worked in JSW was that the game checked when it was drawing the enemy sprite to see if it intersected anything on the screen. Since the normal setup was that the enemies would never overlap the scenery this was fine--the only thing they could possibly touch was the player sprite. The corrupted guardian data could move the guardian into a position where they were overlapping something else as soon as you entered the room, though, which is why you instantly died.
@Tomsonic41
@Tomsonic41 Жыл бұрын
As a 5 year old, I was absolutely TERRIFIED of the giant face in the Chapel and Priest's Hole, and remember my dad showing me how it had vanished one time when we were playing. Little did I know what would happen when I tried to get to the Kitchen...
@immortalsofar5314
@immortalsofar5314 3 жыл бұрын
My first assembler program on the C64 was a simple, petscii pong game - replacing the ball with a space for animation. Every now and then, this would knock a block out of the wall and, hitting that spot again, would send the ball ploughing through memory leaving a trail of spaces behind it, ricocheting off any bytes of memory that happened to coincide with a wall block. At this point, it would either hit zero page and crash the machine or hit the VIC chip, make a farting sound and crash the machine (a sound effect I used in my next game). That certainly became a feature - hitting that spot became the whole point of the game!
@Nephilim2038
@Nephilim2038 3 жыл бұрын
That is cool!
@MajoradeMayhem
@MajoradeMayhem 3 жыл бұрын
"... what passes for the Speccy's GPU..." I love your snark, hah
@chrislambe400
@chrislambe400 4 жыл бұрын
1984 - It is not a bug it's a feature. Love it.
@globus1971
@globus1971 6 ай бұрын
As someone who didn't get any further than BASIC programming it was great to have this explained so simply - cheers!
@trippymchippy8586
@trippymchippy8586 4 жыл бұрын
I remember the days of typing 500 lines of basic from 'Sinclair Weekly' in order to land the 'V' on the '=' and avoid the '*''s... amazing stuff... And then came Zombie Zombie - mind blown ;)
@tomkrawec
@tomkrawec 4 жыл бұрын
Extremely informative video, only drawback is not playing enough of the JSW intro music at the start.
@elektron2kim666
@elektron2kim666 4 жыл бұрын
I never forget my first game project with some ZX-Spectrum assembler. I let some Basic code run for making a road. The assembler was the car with keys for left and right movements, collision checks and drawing the road again. It was 20 lines of each and felt so speedy. A good road could be dumped to tape and reloaded. One mistake in the assembler gave a full crash and reset the ZX-Spectrum. Bad code would always send the execution address to ROM address 0 eventually with maybe 32768 instructions of random nature. At 7 MHz that's a split second.
@Domarius64
@Domarius64 4 жыл бұрын
Jet Set Willy to Cave Story: "I used to be an indie game like you. But then I took an arrow to the code."
@theemeraldfalcon9184
@theemeraldfalcon9184 3 жыл бұрын
Sorry for replying to your comment, but to anyone that sees this, do NOT listen to the comments above me, do NOT use Instapwn, it is a scam.
@Amanda_Harper
@Amanda_Harper 4 жыл бұрын
The CPC version alongside Elite was my gaming life for a very long time. I still have very fond memories of hundreds of hours spent playing it.
@chonkypixel1006
@chonkypixel1006 4 жыл бұрын
Same, but on the Electron...
@hamburgercheeseburger7959
@hamburgercheeseburger7959 3 жыл бұрын
*ship docking flashbacks*
@nagualdesign
@nagualdesign 4 жыл бұрын
1984 was the year I first learned how to program. Great days.
@LordmonkeyTRM
@LordmonkeyTRM 4 жыл бұрын
"Our bugs are features" sounds familiar...great video as always.
@MrMegaManFan
@MrMegaManFan 2 жыл бұрын
It’s lovely that home enthusiasts fixed it but absolutely horrid that the publisher lied to people about it being intentionally designed that way. These days that would bring on a massive lawsuit!
@ChrisWalshZX
@ChrisWalshZX 4 жыл бұрын
Great description of The Attic Bug. I knew a rogue arrow was the cause but not about the two areas of Guardian Data. Clearly, if you were to enter and leave when the arrow hasn't traveled much, the amount of "damage" would be less. Thanks
@No-jb6fy
@No-jb6fy 4 жыл бұрын
Wow, thanks for showing that, the sprites and game design look fantastic!
@PearFinch
@PearFinch 3 жыл бұрын
Fascinatingly, there’s a Jet Set Willy cameo on FL Studio.
@Mark-pr7ug
@Mark-pr7ug 4 жыл бұрын
A classic game which I never completed until decades later via a CPC emulator.
@ashleykingston1980
@ashleykingston1980 4 жыл бұрын
Never knew about the bug! Thanks for the video.
@Insommer
@Insommer 4 ай бұрын
This game was my childhood, me and my brother would take it in turns 5 minutes at a time playing this when we were kids. Niether of us had a clue what we were doing but it was brilliant, i just liked going to all the different rooms to see all the different monsters. Used to be a hassle loading games on the Amstrad though, would take a good 10 minutes for it to load it felt like
@MrDigiSpud
@MrDigiSpud 4 жыл бұрын
Brilliant. I didn't know any of this history:)
@greenhowie
@greenhowie 4 жыл бұрын
This is what we call a Bethesda Move.
@RetroRelixRestorer
@RetroRelixRestorer 4 жыл бұрын
I knew about the game issues, but never why; but I do now - thank you 👍
@matthewrease2376
@matthewrease2376 2 жыл бұрын
When you said an arrow I thought it was going to be an issue with a pointer in memory but no you meant a literal around lol. That's fantastic...
@trenchwarfare9518
@trenchwarfare9518 3 жыл бұрын
This reminds me a bit of the stale reference manipulation recently found in n64 Zeldas except the other way around. Instead of the arrow (in Zelda) having its original code overwritten by making it point to a different address in memory (it points to game data but is read as graphics data and then whatever instructions it got by interpreting it as graphics data will be executed) whose code then properly executes, here the arrow's code is what stays the same and properly executes while an incorrect pointer causes it to overwrite game data with what was meant to be graphics data. I hope that made sense
@crazytrain7721
@crazytrain7721 8 ай бұрын
So i played this at a very yiunf age when thr MSX version came out. I couldbt clear it but i tried for a rew years on and off. One day in my late 20s, i went to my parents house and found it. I set it up and started trying again. After a cou9ld of weeks i realised i should stop trying to collect all the items and instead go straight to the hardest levels and focus on one at a time until i got good. Soon after, i had a play through and to my amazement i finished the game. I didn't know it would be the end and he started walking by himself and threw up in the toilet. That was a special day for me because this game is the constant thread of my childhood. I felt happy I'd cleared it, but also a bit sad that i had to let go of childhood me, finally.
@paulmorphy6187
@paulmorphy6187 4 жыл бұрын
Great video....fascinating
@Sharopolis
@Sharopolis 4 жыл бұрын
Thank you!
@djmobman1727
@djmobman1727 3 жыл бұрын
Amazing video
@EmoryM
@EmoryM 3 жыл бұрын
The arrow's goal was defeating the player - great job!
@gamerillenium1974
@gamerillenium1974 3 жыл бұрын
Loved the game.... superb video
@wadsplash
@wadsplash 4 жыл бұрын
Another belter of a video, Sir!
@Sharopolis
@Sharopolis 4 жыл бұрын
Thanks!
@geminijinxies7258
@geminijinxies7258 Жыл бұрын
I remember getting insta-killed in some rooms and now I know why. It was a visit to "The Attic". Not that it matters, I would never be able to finish this insanely difficult game anyways. Managed to reach the Skylab level in Manic Miner though.
@GrOuNdZeRo7777
@GrOuNdZeRo7777 3 жыл бұрын
I remember the game on the MSX an even in the mid to late 80's it wasn't a game we adored, Boulder dash was one of my favorite titles along with Lazy Jones, Funny enough in this era Japanese games hadn't completely taken over yet, But I am surprised how few European games were released for the MSX2.
@wisteela
@wisteela 4 жыл бұрын
Very interesting stuff
@TuxedoPanther
@TuxedoPanther 3 жыл бұрын
Great video, thanks for sharing :D
@Sharopolis
@Sharopolis 3 жыл бұрын
Thanks for watching!
@TuxedoPanther
@TuxedoPanther 3 жыл бұрын
@@Sharopolis Cheers 😀👍
@RufianEmbozado
@RufianEmbozado 3 жыл бұрын
It didn't matter to me back in the day. I spent countless hours playing just to see the next room. Never tried to get all those pesky objects in a run. Still, maybe, my most beloved game. I started coding assembler and learnt a lot just by trying to replicate its mechanics. Happy times they were!
@vieuetcon
@vieuetcon 4 жыл бұрын
Epic game. Was faster than that in my mind, way faster!! And the rope thing was WOW!
@daveloomis
@daveloomis 4 жыл бұрын
Nice!
@petemarr824
@petemarr824 3 жыл бұрын
"Under the roof" also had an error.. a big orange block in the middle shouldnt have been there. A POKE was put in one of the Speccy mags to clear it later on.
@Barcrest
@Barcrest 4 жыл бұрын
Nice video sir.
@danm3195
@danm3195 4 жыл бұрын
Still remember the poke all those decades later poke 35136,0.
@PaulyQ
@PaulyQ 4 жыл бұрын
That was Manic Miner
@danm3195
@danm3195 4 жыл бұрын
@@PaulyQ jet set Willy .the sequel
@YOURTECHFRIEND
@YOURTECHFRIEND 4 жыл бұрын
Haha - superb story :-D
@utrapzab
@utrapzab 4 жыл бұрын
epic game, we must perform a quirkafleeg
@SNARC15
@SNARC15 4 жыл бұрын
Or as Sir Clive Sinclair would call it "JET SET FUCKING WILLY!"
@ExStepsister
@ExStepsister 2 жыл бұрын
This was cool
@KillerBill1953
@KillerBill1953 4 жыл бұрын
I remember typing in the code from a magazine but still could not complete it. I later but the expanded version for the CPC 464, one of those "just one more time" games.
@WaltTFB
@WaltTFB 4 жыл бұрын
Came for the content, subscribed for you sounding a bit like Stuart Maconie.
@Sharopolis
@Sharopolis 4 жыл бұрын
Thanks!
@WaltTFB
@WaltTFB 4 жыл бұрын
@@nigeldowsett8560 Guglielmo's brother?
@nigeldowsett8560
@nigeldowsett8560 4 жыл бұрын
@@WaltTFB Nah I just can't spell properly.
@tegrah4257
@tegrah4257 3 жыл бұрын
Dynamite Dan 1&2 are similar. Good yet Hard to complete games
@ceruleanblu3184
@ceruleanblu3184 4 жыл бұрын
All I remember about “fixing” JSW was something called WRITETYPER.
@hadi96100
@hadi96100 4 жыл бұрын
It's 2020 - I'm still playing JSW, and I still haven't beaten the game - I need to try those fixes ;)...
@majidskinnerkhan6960
@majidskinnerkhan6960 4 жыл бұрын
Amazing game. Will always stay in the hearts of people who played it.
@dan_loup
@dan_loup 4 жыл бұрын
Must resist doing THAT joke.
@heyhonpuds
@heyhonpuds 4 жыл бұрын
I’m curious. What joke? Something about having a minor willy?
@dan_loup
@dan_loup 4 жыл бұрын
@@heyhonpuds "I used to be an.."
@chattingesque372
@chattingesque372 3 жыл бұрын
This was huge in New Zealand too
@sarkybugger5009
@sarkybugger5009 4 жыл бұрын
This makes me feel very old.
@AcornElectron
@AcornElectron 4 жыл бұрын
Yeah, it was a bloody difficult game.
@Astinsan
@Astinsan 3 жыл бұрын
I liked this.. how many platform’s were on the zx? We had a 5150 growing up so I missed all the fun. Did have sierra games.
@heyhonpuds
@heyhonpuds 4 жыл бұрын
So would these errors have occurred because it was such a big project for one person in 1984 so it’s pretty understandable? Or are they quite easy to spot and Matt From Earth was just too high while Interstellar Overdrive played in the background for him to notice?
@OdaSwifteye
@OdaSwifteye 4 жыл бұрын
Yes.
@NLynchOEcake
@NLynchOEcake 3 жыл бұрын
@norman sword It would be like reading the newspaper in the morning and needing to find the one place somebody put a 'l' instead of an 'I'
@BluffMunkey
@BluffMunkey 2 жыл бұрын
This was also the plot for Tron 3
@kasperchristensen8416
@kasperchristensen8416 3 жыл бұрын
Leisure Suit Larry is offended!
@steely666
@steely666 3 жыл бұрын
The invincibility version I had on cassette was good. Jump off the Bow and walk on the water to go into a secret room.
@FatNorthernBigot
@FatNorthernBigot 3 жыл бұрын
I have yet to perform a quirkafleeg.
@Sinn0100
@Sinn0100 3 жыл бұрын
Why have I heard of this? I grew up in the states and never really experienced the micro's until they were long gone. Although I did have a Commodore 128 but I was too young to know what I had. I was drawn in by the Nes and Master System like a moth too the flame. I have a question about this glitch, since this is being run on a computer could one simply erase the errant arrow from the code? Yes, you would have to know what you're looking for but finding the code that runs the arrow and clipping it should be effective. I'm guessing this game is made with some form of Basic? If true, you might have to reorder everything but still I'm thinking fairly easy now that you know what's causing the bug.
@gwishart
@gwishart 2 жыл бұрын
No, the game wasn't written in BASIC, it would have been far too slow. It was written in Z80 Assembly Language. The end user only had access to the assembled Machine Code, so inserting or removing even a single byte would have caused all code and data that followed to be in the wrong place, so all absolute jump addresses, subroutine calls, data tables would need to be updated too. Without access to the source code or a detailed disassembly, that would be impossible to accomplish. The patch provided by Matt Smith (via the publishers) changes four bytes in such a way that no data or routines actually change their location in memory: POKE 59901,82 = Changes the Y pixel co-ordinate of the arrow in The Attic, so that its data isn't written to memory outside the screen buffer. POKE 60231,0 = Removes the nasty item from the Conservatory Roof so that the item at 6:09 can be collected. POKE 42183,11 = Moves the invisible item on the First Landing (6:37) to The Hall. The items stays at the same co-ordinates, and remains invisible, but there's now a platform under it, so you can collect it. By changing the item's room number to 11. POKE 56876,4 = Changes the wall block in The Banyan Tree (6:15) into a platform. Since you can jump through platforms from below, you can now jump up out of the top of the screen and reach the room above from the right hand side.
@videopdstudio
@videopdstudio 2 ай бұрын
It's JET SET WILLY 40th ANNIVERSARY - Let's jump on the Mega Tree! kzfaq.info/get/bejne/hbSVqZuZ0bCyqZs.html #JETSETWILLY #MATTHEWSMITH #ZXSPECTRUM #CLIVESINCLAIR
@alejandroalzatesanchez
@alejandroalzatesanchez 3 жыл бұрын
when an arrow is sus
@klausgartenstiel4586
@klausgartenstiel4586 4 жыл бұрын
i used to be an adventure game like you...
Жыл бұрын
Anyone else reading the words "Google" out of the worm at 7:40?
@crazytrain7721
@crazytrain7721 8 ай бұрын
Well I am now, yes!
@fgfhjfhjfbhfghf5771
@fgfhjfhjfbhfghf5771 3 жыл бұрын
Strange behavior caused by innocent object spawning were it shouldn't? Highly accessible mod scene? *It's not a bug its a feature* By any chance did any of the devs go on to work at Bethesda
@bearcubd3900
@bearcubd3900 4 жыл бұрын
was a tuff game , never cleared it now i no why !
@OlagGan
@OlagGan 4 жыл бұрын
Actually I have never seen that bug. I would have said the Banyan tree bug would have been the more important as it made the game unwinnable..
@barryhall7
@barryhall7 4 жыл бұрын
I used to spend hours playing this 🙂
@wolftickets1969
@wolftickets1969 3 жыл бұрын
One of the few games that permanently corrupts itself.
@thecollector75
@thecollector75 4 жыл бұрын
Christ..... after all this time I now find out it was a bug in the game lol... and not supposed to be like that to make the game ultra hard ... loved this vid
@Sharopolis
@Sharopolis 4 жыл бұрын
Thanks!
@entropy-cat
@entropy-cat 3 жыл бұрын
Wonder if Jet Set Radio had anything to do with this.
@videopdstudio
@videopdstudio 4 жыл бұрын
WILLY, 48k about a legend
@dukestt5436
@dukestt5436 4 жыл бұрын
not me then, that explains a lot
@bukster1
@bukster1 4 жыл бұрын
I always hated this game. Fans raved about it but it was over long and unbeatable. It was just frustrating.
@mfkman
@mfkman 4 жыл бұрын
Merge "": Poke 35899,0 : RUN :)
@officernarc
@officernarc 4 жыл бұрын
0:14 spoiler alert - probably not much. In fact, until I started following British youtubers I had no idea what a ZX spectrum was. Of course, Rare was a pretty big deal over here and I'd imagine that because of that JSW had influence on a fair few of their games but I feel like most of the games I played on the NES as a kid were predominantly made by japanese devs and I have to imagine the overlap between the 80s uk microcomputer scene and Japan in the 80s was pretty negligible
@werre2
@werre2 4 жыл бұрын
britons are weird. Cool video.
@vladrootgmailcom
@vladrootgmailcom 4 жыл бұрын
Not through a code, rather through a data.
@elmariachi5133
@elmariachi5133 3 жыл бұрын
Still better than Mario.
@alexanderwingeskog758
@alexanderwingeskog758 4 жыл бұрын
I got it with a (They sold a million bundle) when I bought my C64.... and Jet Set Willy was the just the worst game of the bunch, the other games was actually really really good (even with the Spectrum legacy).
@jbrady1725
@jbrady1725 4 жыл бұрын
This game looks exactly like VVVVVV...
@Demonskunk
@Demonskunk 3 жыл бұрын
How many seizures did this game cause back in the day?
@gwishart
@gwishart 3 жыл бұрын
None. Photosensitive epilepsy wasn't invented until 1992.
@david-spliso1928
@david-spliso1928 4 жыл бұрын
Just save your game after each room 👌👍😉
@ianknowles
@ianknowles 2 жыл бұрын
Didn't realise it was made by a fellow wirralian!
@itnaklipse1669
@itnaklipse1669 3 жыл бұрын
Guess it's impossible to talk like a normal person.
@NemeanLion-
@NemeanLion- 4 жыл бұрын
A “classic” only in Britain, because the developers were British.
@MiniWarzone
@MiniWarzone 8 ай бұрын
Dislike all the upward inflections - very annoying.
@crazytrain7721
@crazytrain7721 8 ай бұрын
Why are you telling people to dislike upward inflections?
@mikeb2575
@mikeb2575 4 жыл бұрын
The 5 most amazing hidden secret rooms in JSW can be found here:- Once loaded on the ZX Spectrum type the following and then 'Run' 'Poke 40323,23' = "The Outer Space Room" 'Poke 38377,49' = "The Bat Cave" *Read more*
@gwishart
@gwishart 4 жыл бұрын
Nice try, but: 40323 is in the middle of the sprite data for Willy, poking it with the value 23 will just make his hat look weird when walking right. 38377 is part of the sprite shifting routine, poking it with 49 will replace a RLCA instruction with LD SP,nn - corrupting the stack and crashing the game.
@grex9101
@grex9101 4 жыл бұрын
Fond memories of JSW. All we have nowadays are SJWs.... Nowhere near as much fun.
@propername4830
@propername4830 2 жыл бұрын
And WJSN
@xflossx
@xflossx 2 ай бұрын
to me it was crap as i wanted action and excitement not a game that was about as thrilling as a crossword but everyone goes on and on about jet shit wiily sorry but i was a kid when i first played this a few years after it came out and i turned it of after my cousin had played it saying it was a good game to me its like reading a book if you want to sleep its dull and broken to me but my first time playing games was the arcades and this was just a what the hell is this crap and played death chase or hell the best game at the time jet pack this as thrilling as picking up litter LOL sorry rough night at work but the game is still crap
Amazingly Terrible Commodore 64 Games - The Best Worst Games!
16:41
New! Games That Push The Limits of The ZX Spectrum
14:48
Sharopolis
Рет қаралды 61 М.
路飞被小孩吓到了#海贼王#路飞
00:41
路飞与唐舞桐
Рет қаралды 76 МЛН
Playing hide and seek with my dog 🐶
00:25
Zach King
Рет қаралды 29 МЛН
Каха и суп
00:39
К-Media
Рет қаралды 6 МЛН
Reverse Engineering Game Code from the Neutral Zone
40:59
Retro Game Mechanics Explained
Рет қаралды 567 М.
Atari Cosmic ark was never about the money
3:18
High Scores on Tap
Рет қаралды 6 М.
JET SET WILLY AND THE ATTIC BUG
16:46
Starglider Gaming
Рет қаралды 6 М.
Harder Drive: Hard drives we didn't want or need
36:47
suckerpinch
Рет қаралды 1,6 МЛН
The Most Hilarious Doom Speedrun Ever Performed
19:51
Karl Jobst
Рет қаралды 2,3 МЛН
The Wrath of Cortex is Consistently Frustrating
20:31
Penguin in Pyjamas
Рет қаралды 780 М.
Games That Push The Limits of the Atari 2600
19:06
Sharopolis
Рет қаралды 187 М.
skibidi toilet 76 (part 2)
4:28
DaFuq!?Boom!
Рет қаралды 15 МЛН
Lp. Последняя Реальность #105 ЗАВЕРШЕНИЕ ГЛАВЫ • Майнкрафт
33:04
MrLololoshka (Роман Фильченков)
Рет қаралды 1,1 МЛН