12:30am in the afternoon
The clock-updating code at 35410 doesn't switch from 'am' to 'pm' until 1pm (instead of 12 noon), and also doesn't switch from 'pm' to 'am' at midnight.
The sticky bed
After collecting all the items, if Willy jumps onto the bed in Master Bedroom (which is a conveyor moving right) instead of walking up to the foot of it, he will get stuck and be unable to finish the game. This happens because the code at 36619 flips bit 0 of E - which has already been reset because Willy is on a conveyor moving right - to 1, thus preventing Willy from moving right.
To see this, use POKE 41983,255 to make the tap in The Bathroom the only item that needs to be collected to complete the game, make your way to the bedroom, and jump onto the bed.
The self-collecting item
The item in Swimming Pool is automatically collected as soon as Willy enters the room; this is because the room's background tile has white INK, and the routine at 37841 collects any item that is drawn on a cell with white INK. There are no other rooms whose background tile has white INK.
The invisible item
There is an item in First Landing, but you could be forgiven for not knowing because it's invisible. To give the item a shape and make it visible:
POKE 56548,24: POKE 56549,24
But now that the item is revealed, we can also see that it's unreachable:
first_landing_item1
To add a ledge and open the wall to make the item reachable:
POKE 56350,0: POKE 56358,0: POKE 56365,170
first_landing_item2
The official Software Projects POKE to fix this bug is
POKE 42183,11
which moves the item to The Hall (where it is still invisible, but now reachable).
The inaccessible items
The items in Conservatory Roof can only be collected by entering the room from the ledge on the lower left in Under the Roof, but that ledge is unreachable.
The official Software Projects POKE to fix this bug is
POKE 56876,4
which makes it possible to access the right-hand side of A bit of tree (and from there the lower right side in Under the Roof) from The Banyan Tree.
The uncollectable item
The item on the far right in Conservatory Roof cannot be collected because there is an unavoidable nasty in the way.
The official Software Projects POKE to fix this bug is
POKE 60231,0
which removes the nasty next to the item.
Don't mind your head
The code at 36828 onwards that moves Willy left does not check for a wall tile at head height, which means Willy can move right to left through a wall tile at that position. To see this, add a wall tile at head height in The Bathroom and guide Willy through it:
POKE 57708,32
However, the code at 36942 onwards that moves Willy right does check for a wall tile at head height (at 37031), so Willy (correctly) cannot move left to right through a wall tile at that position.
The blank conveyor
The conveyor tile in Conservatory Roof is completely blank and its attribute byte is 255 - a solid, bright white block - which is characteristic of unused tiles elsewhere. However, the conveyor tile is used in this room, and it doesn't look good:
blank_conveyor
Corrupted conveyors
The conveyors in West of Kitchen, The Nightmare Room, The Wine Cellar and Tool Shed don't look quite as they should. The reason for this is a bug in the code at 36177: if a graphic data byte of the background, floor, wall, nasty or ramp tile in a room matches the attribute byte of the conveyor tile to be drawn, the CPIR instruction exits early, leaving HL pointing at the wrong location.
Here are some 'before' and 'after' pictures showing what the conveyors actually look like and what they should look like.
Invalid grid location
If the LSB of the system variable FRAMES (at 23672) is 142 when the game starts, the routine at 34499 will ask for the code at the grid location 'D>', which doesn't exist on the code sheet.
Should you ever need it, the code for 'D>' is 1444.
POKE 34556,180
The pause bug
The Spectrum will hang when trying to resume the game after being paused if an Interface 1 is connected. This happens because the C register holds 0 instead of 254 when the keyboard is read by the IN A,(C) instruction at 35620.
POKE 35615,62: POKE 35620,219: POKE 35621,254
The Attic bug
Perhaps the most famous of all the bugs in Jet Set Willy, the Attic bug is responsible for certain rooms becoming impossible to navigate after Willy has visited The Attic, thus making it impossible to complete the game.
The root cause of the bug is a misplaced arrow, defined by the entity specification at 59900. The second byte of the entity specification is an index into the table of screen buffer addresses at 33280, and determines the arrow's y-coordinate; the index should be an even number, but the value of the second byte is 213, which means the arrow-drawing routine at 37310 looks up the word at 33493 (33280+213) and finds 41066, way outside the actual screen buffer at 24576-28671. As a result, the misplaced arrow is 'drawn' at the following addresses:
The official Software Projects POKE to fix the Attic bug is
POKE 59901,82
which sets the pixel y-coordinate of the arrow to 41.