|
|
This page is rather stubbly and could use some expansion. |
|
|
To do: |
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