the cutting room mirror

Espial

This page is rather stubbly and could use some expansion.
Are you a bad enough dude to rescue this article?

To do:
Version differences

Espial is a Xevious clone and not too bad at that.

Source Code#

At the end of esp2.4r, there is some source code.

                                  NEW COORD.
    JR  NC,CLO120   ; IF NOT LOWER LIMIT
    LD  HL,80FFH    ; CLEAR
    JR  CLO130
CLO120  EQU $
    AND 06H
    RLCA
    RLCA
    RLCA
    LD  C,A
    LD  HL,CLCTBL
    ADD HL,BC   ; GET CHAR. TABLE
CLO130  EQU $
    EX  DE,HL
    LD  C,(HL)
    INC HL
    LD  A,(HL)
    INC HL
    LD  B,(HL)
    EX  DE,HL
;
;   YADRCA  ( AC -> DE )
;
    SRL C
    SRL C
    SRL C
    RLCA
    RLCA
    LD  D,A
    AND 0E0H
    OR  C
    LD  E,A
    LD  A,D
    AND 3
    OR  YRMSTR.
    LD  D,A
;
    LD  C,03H
    CALL    MOVE    ; VRAM SET
    POP DE
CLO140  EQU $
    INC DE
    INC DE
    INC DE
    POP BC
    DJNZ    CLO110
;
;
;   VRAM SHIFT PROCESS
;
VRMSFT  EQU $
    LD  A,(SHIFTX)
    LD  C,A
    LD  B,2
    LD  HL,CRMTMP+27*2
VRMS10  EQU $
    LD  A,(HL)
    ADD A,C
    LD  (HL),A
    INC HL
    INC HL
    DJNZ    VRMS10
    LD  HL,COLFLG
    LD  (HL),01H    ; SET SHIFT CHANGE FLAG
    LD  HL,CRMTMP
    LD  B,27
    LD  A,(TAGFIG+1)    ; GET X COORD.
    AND 0E0H
    RLCA
    RLCA
    RLCA
    CP  (HL)    ; SAME ?
    JR  Z,VRMS30    ; IF YES
VRMS20  EQU $
    LD  (HL),A
    INC HL
    INC HL
    DJNZ    VRMS20
VRMS30  EQU $
;
;   BOMB SET
;
    CALL    BOMB
    RET
;
;   CLOUD SPEED TABLE
;
CLSTBL  EQU $
    DEFB    2,1,2,1,2,1,2,1
    DEFB    2,1,2,1,2,1,1,1
    DEFB    2,1,1,1,2,1,1,1
    DEFB    2,1,1,1,1,1,1,1
;
;   CLOUD 1ST XY COORD. TABLE
;
;       SPEED*8,CHR*32,Y,X,WIDTH
;
CLITBL  EQU $
    DEFB    00H*8,0*32,025H,040H,2
    DEFB    01H*8,0*32,04AH,0B0H,2
    DEFB    03H*8,0*32,06FH,060H,2
    DEFB    00H*8,0*32,094H,030H,2
    DEFB    02H*8,0*32,0B9H,0C0H,2
    DEFB    01H*8,0*32,0DEH,070H,2
;
;   CLOUD ATTACH TABLE
;
;       COUNT,TAG#*5,SPEED#*8,CHR#*32,Y,X,WIDTH
;
CLATBL  EQU $
    DEFB    26H,00*5,00H*8,0*32,0DFH,030H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,070H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,0B0H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,020H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,080H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,0A0H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,040H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,0E0H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,090H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,060H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,0C0H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,050H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,0D0H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,010H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,080H,2
    DEFB    26H,00*5,00H*8,0*32,0DFH,0B0H,2
    DEFB    END
;
;   CLOUD CHAR. TABLE
;
CLOTBL  EQU $
    DEFB    CCLO+0,CCLO+1,END
    DEFB    CCLO+2,CCLO+3,END
    DEFB    END,END,END,END,END
    DEFB    END,END,END,END,END
    DEFB    CCLO+4,CCLO+5,END
    DEFB    CCLO+6,CCLO+7,END
    DEFB    END,END,END,END,END ; DUMMY
    DEFB    END,END,END,END,END
    DEFB    CCLO+8,CCLO+9,END
    DEFB    CCLO+10,CCLO+11,END
    DEFB    END,END,END,END,END ; DUMMY
    DEFB    END,END,END,END,END
    DEFB    CCLO+12,CCLO+13,E

Some program labels are at the end of the main CPU, but only in the European set. Text starts at 0x4D00:

TGROUN
TTANK
TWIND
TENCON
TENEMY
TGAME
TINIT
TCNTRL
TCBMAX
RAMCHK
ATTACH
ATTPRC
DETACH
DETPRC
DSPLY
DSPPRC
POST
POSPRC
WAIT
WAIPRC
DELAY
DELPRC
INRPRC
SOUND
NMIPRC
FLASW
NMI200
CREDIT
NMI010
NMI020
SNDASG
OBJTRS
DELAYC
NMI030