Jump to content


Final Barrier Glitch

  • Please log in to reply
2 replies to this topic

#1 IRF


    Advanced Member

  • Contributor
  • 4,229 posts

Posted 20 February 2018 - 12:45 AM

I've just noticed a bug/glitch/inconsistency in the way that the 'Swordfish' routine is executed at the end of the Final Barrier.


When Willy enters the portal (unless you're playing in Cheat Mode, of course), his sprite appears above the portal which displays the Swordfish icon.  There is also a command which overwrites the attributes of the two cells underneath the portal, in order to disguise Willy's feet (so that he doesn't appear to be in two places at once!)


However, once the points start to be ratcheted up as the remaining air supply is counted down, Willy's feet are still visible (in blue INK on black PAPER), because the pixel display for those two cells isn't wiped, only the white INK attribute.




Incidentally, the green PAPER attribute of the cells occupied by Willy's lower half when he is drawn above the Swordfish would possibly look a bit better if cyan PAPER was used (as is the case for the upper half of his sprite at that point).

#2 Norman Sword

Norman Sword

    Advanced Member

  • Member
  • PipPipPip
  • 235 posts

Posted 20 February 2018 - 10:06 PM

The original loop terminates with the ink(1) and paper(0) 



37012 LD A,63                  Initialise A to 63 (INK 7: PAPER 7)
37014 LD HL,22528        
37017 LD DE,22529
37020 LD BC,511
37023 LD (HL),A
37024 LDIR
37026 LD BC,4                
37029 DJNZ 37029
37031 DEC C
37032 JR NZ,37029
37034 DEC A                 

37035 JR NZ,37014 

note this has filled the screen with value 1 when it finishes

37037 LD A,(33882) 
37040 OR A  Are we in demo mode?
37041 JP NZ,34449 If so, demo the next cavern





; a slight rearrange will fix the problem


37012 ld a,63           (or 64 if the same start colour wanted)
37014 ld hl,22528
37017 ld de,22528
37020 ld bc,4
37023 djnz 37023
37025 dec c
37026 jr nz,37023
37028 dec a            set the zero flag
37029 ld bc,511
37032 ld (hl),a
37033 ldir                does not affect the zero flag
37035 jr nz,37014

;this will finish the loop with black ink and black paper


37037 ld a,(33882)   etc.




#3 IRF


    Advanced Member

  • Contributor
  • 4,229 posts

Posted 20 February 2018 - 10:30 PM

That will make the whole screen turn black, won't it?


If you only want to disguise Willy's feet under the portal during the decreasing air effect, then instead of having the existing commands (#9071-#9076) which overwrite the cells (addresses #58F3-#58F4) with black INK, you could print a pair of ASCII space characters over that part of the screen's pixel file (set DE=#40F3, C=02, IX=#FE00, then CALL #92BA).

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users