If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

S.S. Lucifer: Man Overboard (Game Gear)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

S.S. Lucifer: Man Overboard

Developer: Odysseus Software
Publisher: Ocean
Platform: Game Gear
Released in EU: October 1994


SourceIcon.png This game has uncompiled source code.


Uncompiled Source Code

Unusually for a Game Gear game, there are chunks of code spread throughout the ROM. They can be found at the addresses below.

0x44:

s40     DW      &2c4,belt138
        DW      &2d6,be

0x7A:

140
        DW      &36,belt141
        DW      -1

; ------------- FOOD -----------

s41     DW      &268,trap1
        DW      &270,trap2
        DW      &1f0,trap3
        DW      &170,trap4

0x3DD2:

                  RD"
        TEXT "MOTHER"
        TEXT "SUNHAT"
        TEXT "NICKEL"
        TEXT "LITTLE"
        TEXT "TREATY"
        TEXT "LISTER"
        TEXT "SHARKS"
        TEXT "PLURAL"
        TEXT "RUNNER"
        TEXT "STRIPE"
        TEXT "GUITAR"
        TEXT "COYOTE"
        TEXT "LONDON"
        TEXT "FOREST"
        TEXT "APOLLO"
        TEXT "BORDER"
        TEXT "CARPET"
        TEXT "ENERGY"
        TEXT "ENGINE"
        TEXT "DOCTOR"
        TEXT "ACROSS"
        TEXT "FLOWER"
        TEXT "SYSTEM"
        TEXT "INSIDE"
        TEXT "CINEMA"
        TEXT "KEYPAD"
        TEXT "SISTER"
        TEXT "CAMERA"
        TEXT "SPIDER"
        TEXT "ORCHID"
        TEXT "SATURN"
        TEXT "AMAZON"
        TEXT "PEOPLE"
        TEXT "AROUND"
        TEXT "H

0x7AB5:

man inside box by more than 1 pixel?
        OR      A
        JR      Z,$NO_DIE2
        JP      QUIT_LIFE               ;yes ...oh shit ....BANG!
        ;
$NO_DIE2        LD      A,(SXPOS)               ;else stop last x movement
        LD      (XPOS),A
        ;
$LEAVELR        LD      A,(JUMPING)             ;if on floor leave
        OR      A
        RET     Z
        LD      A,(VELOC+1)             ;if going up in a jmp leave
        BIT     7,A
        RET     NZ
        ;
        LD      DE,#0010                ;else stick to top of box
        LD      L,(IX+1)                ;box ypos
        LD      H,(IX+2)
        OR      A
        SBC     HL,DE
        PUSH    HL
        ;
        LD      DE,(YPOS)               ;check if new ypos is more than 7 pix from old
        EX      HL,DE           ;ypos if is then dont do it
        OR      A
        SBC     HL,DE
        JR      C,$END
        LD      A,L
        CP      A,#07
        JR      NC,$END
        POP     HL
        LD      (YPOS),HL
        ;
        LD      HL,#0000                ;stop fall
        LD      (VELOC),HL
        XOR     A
        LD      (JUMPING),A
        LD      A,#01
        LD      (RESTDEL),A
        RET
        ;
$END    POP     HL
        RET











COLIS_X LD      A,(UWATER)
        OR      A
        RET     NZ
        ;
        LD      A,(JUMPING)
        OR      A
        JR      Z,$JUSTMID              ;if jumping chk both blks
        ;
        LD      A,(COLNUMBB)    ;below bot blk
        CP      A,15
        JR      Z,$HITX         ;only for big door cols
        ;
        LD      A,(COLNUMB)             ;bot blk
        CP      A,#04
        JR      Z,$HITX
        CP      A,15            ;new big door collsion!
        JR      Z,$HITX
        ;
$JUSTMID        LD      A,(COLNUMM)             ;mid blk
        CP      A,15            ;new big door collision!
        JR      Z,$HITX
        CP      A,#04
        RET     NZ
$HITX   LD      A,(SXPOS)
        LD      (XPOS),A
        LD      A,#01
        LD      (HITXLAST),A
(Source: SMS Power)