the cutting room mirror

Death or Glory (ZX Spectrum)

This page contains no introduction.
What makes this game notable or what is it about? Are you a bad enough dude to save this article?

Source Code Fragment#

Some sections of the code are left in the game. The code seen below can be seen with a hex editor at the addresses listed below in the .tap dump of the game.

766F:

    ADD A,A ;*8
    LD  L,A
    LD  HL,(xpos)
    LD  DE,=0
    ADD HL,DE
    LD  (xpost),HL
    LD  HL,(ypos)
    LD  DE,=1
    ADD HL,DE
    LD  (ypost),HL
    CALL    pcal

7B0F:

        ORG 25000
        CALL    INIT
        LD  BC,START
        RET
    
        START
        EXX
        PUSH    HL
        CALL    TEST
        POP HL
        EXX
        LD  BC,(xpos)
        RET

    ;===================================================
    ;
    ;DEATH OR GLORY
    ;
    ;===================================================
    ;SYSTEM:             ZX Spectrum 48k/128k
    ;ASSEMBLER:          Hisoft DevPac
    ;JOB FOR:            C.R.L. & Wise Owl
    ;PROGRAMMER:         Brian Pollock
    ;
    ;___________________________________________________
    ;
    ;Version             DOG01may
    ;
    ;
    ;
    ;___________________________________________________
    ;
    ;
    ;Put udg on pseudo screen using HL' as cursor
        
;Vertically
putv    MAC
        EXX
        LD  C,A
        LD  B,udgs/256
        LD  DE,32
;DEFBs= lda(bc) ld(hl)a   inc b addhlde
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        JP  NC,$+7
        LD  DE,-4096
        ADD HL,DE
        EXX
        ENDM
        
;Put horizontally
puth    MAC
        EXX
        PUSH    HL
        LD  C,A
        LD  B,udgs/256
        LD  DE,32
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        POP HL
        INC L
        EXX
        ENDM


;PUT TEXT (HORIZONTAL+LF)
;subroutine
putt    EXX
        PUSH    HL
        LD  C,A
        LD  B,udgs/256
        LD  DE,32
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        DEFB    10,119,4,25
        POP HL
        INC L
        JR  NZ,putt1
        INC H
putt1   EXX
        RET


;*** Tester Control Code ***
slowas  EQU 0 ;1=assemble long  forms.0=short forms
        TEST    CALL    input
        CALL    explode
        LD  A,0
        OUT (254),A
        CALL    movedozer
        CALL    m_aliens
        CALL    p_alien
        CALL    p_spdz
        CALL    co_exb   ;Uncolour last explosion
        CALL    onstars
        CALL    dups1
        CALL    ofstars
        CALL    co_exp   ;Colour Explosion
        CALL    e

890F:

co_xy   DEFW    0
un_col  DEFB    0
exp_ad  DEFW    0
co_add  DEFW    0
ytab
*L-
*F 1:DOGYTAB
*F 1:input
*F 1:MoveDozer
*F 1:Stars


;Dump pseudo screen to display file 
;No input/output params
;Pseudo Screen begins at 'page0
;
dups1   DI
;SOUND TESTER
        EX  AF,AF
        LD  A,0
        EX  AF,AF
        EXX
        LD  A,(direction)
        INC A
        LD  B,A
        LD  C,A
        EXX
;END OF SOUND TESTER

    LD  HL,page0+1
    LD  DE,(top_ptr)
    ADD HL,DE
    LD  (m_stk),SP
    LD  SP,ytab
    LD  A,(top_nl)
    CP  112
    JP  NC,dups1b
dups1a  POP DE

    IF  slowasm
    
*F 1:Move_30

    ELSE
    LD  BC,30
    LDIR
    END

;CONSTANT SOUND RTN
    EXX
    DJNZ    SND1
    LD  B,C
    EX  AF,AF
    XOR 16
    OUT (254),A
    EX  AF,AF

SND1    EXX
        INC HL
        INC HL
        DEC A
        JP  NZ,dups1a
        LD  HL,page0+1
    
        LD  A,(bot_nl)
˜
dups1b  POP DE    
    IF  slowasm
*F 1:Move_30

    ELSE
    LD  BC,30
    LDIR
    END

;other part of sound
    EXX
    DJNZ    SN