Jump to content

Norman Sword

Member Since 08 Mar 2017
Offline Last Active Feb 21 2018 07:36 PM

Posts I've Made

In Topic: Idea for a new cell type in Manic Miner

21 February 2018 - 03:34 PM

Having tested a room with a cell at head height. 


I find I can jump over it. So the third check is needed.


What is strange is the arc of willy jumping over a nasty compared to the arc of willy passing over a wall. They are nothing alike.


So I need to have a look at the ramp code or any other piece of code that might be relevant, and find out why the wall is stopping the arc in the manner it does. I am not concerned with the heel catch and land on a wall, but the point at which is says it is clear to move. The arcs are so dissimilar that I need to investigate the take off and clear portion. 



This is side tracking me from what I was doing...

In Topic: Idea for a new cell type in Manic Miner

21 February 2018 - 01:53 PM

This is similar to the ability to jump over a head height wall object.


Logic say that we can clear the object and not land on it, yet land on it we do,


Therefore I would think the same code layout that says you have landed on a wall, will also detect the nasty and kill you.

In Topic: Idea for a new cell type in Manic Miner

21 February 2018 - 01:03 PM

When the nasty(fire cell) is set to the same attribute as a wall then a number of interesting things happen (with no change in code)


A nasty/wall acts as a normal wall. it will not let you pass into the space

Sliding down a nasty/wall we have yet another aspect of the ramp stair code affecting the outcome. The passing through the wall by willies head will kill him.

Walking on a tile that is defined wall/nasty will also kill him




I was investigating another theme. eg. invulnerability.


The code at #961e colours in willies tile as he moves around the screen. It has a check for nasties and kills willy if the area of willy is over a nasty. It also extends the checking to the area below willy for nasties and kills willy if he walks on a nasty.




The code at #8e49 deals with the tiles beneath Willies feet and specifically checks for nasties.


I see no reason for the code at #961e being made to check beneath his feet.

If the attributes of willy are cell aligned then test/ colour in the four tiles. e.g check for nasty/colour in the tile

If the attribute of will is not cell aligned then test/colour in the six tiles


The change is to remove the check specifically for beneath his feet. It is not needed.


This changes two parts of the code


95F8 LD HL,($85D3)

95FB LD DE,$001F  
95FE LD C,$0F         
9600 CALL $961E    
9603 INC HL Move    
9604 CALL $961E    
9607 ADD HL,DE      
9608 CALL $961E    
960B INC HL             

969C CALL $961E  
960F LD A,($85CF) 

9612 ADD A,B           

9613 LD C,A
9614 ADD HL,DE                  
9615 CALL $961E 
9618 INC HL          
9619 CALL  $961e          
961C JR $9637                                ;quick count 38 bytes   




61E LD A,($80A0) 
9621 CP (HL)
9622 JR NZ,$962F 
9624 LD A,C 
9625 AND $0F
9627 JR Z,$962F 
9629 LD A,($80A0) 
962C OR $07 
962E LD (HL),A 
962F LD A,($80BB) 
9632 CP (HL) 
9633 JP Z,$90B6 
9636 RET                                           ;quick count 24  Total 62





; b=the offset for the ramp


      ld  c,2                   ; default colouring height

      ld a,(#85cf)          ; the y pos

      add a,b                ; the y pos + stair offset

     and 14                  ; check for cell aligned

     jr z,cell_aligned     ; if cell aligned then 2 high  

     inc c                      ;else it is 3


     ld de,31                 ;offset to next  


     call colour_me       ;colour left cell

     inc hl                     ; move from left cell to right cell

     call colour_me       ;colour right cell

     add hl,de               ;down a line

     dec c

     jr nz,cell_set_loop ;loop for the height

     jr #9637                ;draw willy                           ;quick count 27



          ld a,(#80bb)         ; nasty

         cp (HL)                  ;is this a nasty

         JP Z,90B6             ;kill if so

         LD A,(#80A0)       ;get the background tile

         CP (HL)                ;is this background 

         RET NZ                ;used so no colouring

        OR #7                   ; set ink white for willy

        LD  (HL),A             ;and colour in

        RET                                                            ;quick count 16 total 27+16=43 


;Which I hasten to add is nothing like the code I use

In Topic: Final Barrier Glitch

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.




In Topic: Idea for a new cell type in Manic Miner

16 February 2018 - 08:20 PM

This should be under JSW not MM. But I am reluctant to start a new heading.


I extended the headbutt to include the MM collapsing floors. 


The playability of this is restricted to 3 rooms. Hence the white blocking walls/floors added to stop wandering.


Additions:- collapsing floor, in addition to headbutt, gun, 4 logo title screens, and 128 rooms. 


The gun is now disabled in specific rooms.... Note the ammo display disappears for the room when the gun is switched off.


Added some SFX's