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

Espial

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Espial

Developer: Orca
Publisher: Thunderbolt
Platform: Arcade (Orca Marine Boy hardware)
Released in US: 1983
Released in EU: 1983


SourceIcon.png This game has uncompiled source code.


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