TOP1:     EQU     0100H
TOP2:     EQU     09F7H
TOP3:     EQU     1032H
TITLE:    EQU     1450H
MAIN:     EQU     TOP1+0056H
MOVE:     EQU     TOP1+05DEH
DSET:     EQU     TOP1+064BH
CLSPRI:   EQU     TOP1+068FH
UNFADE:   EQU     TOP1+070AH
FADE:     EQU     TOP1+072FH
SCOLOR:   EQU     TOP1+07D4H
SWHICH:   EQU     TOP1+07D6H
SCORE:    EQU     TOP1+07DDH
HSCORE:   EQU     TOP1+07DFH
GAGE:     EQU     TOP1+07E1H
PORIDAT:  EQU     TOP1+07F7H
MHYOUJ:   EQU     TOP2+0000H
MSDATA:   EQU     TOP2+04F8H
CHTEN:    EQU     TOP2+05FEH
          ORG     3013H
;
; GAME CLEAR
;
ENDING:   CALL    CLSPRI
          LD      A,8
          CALL    MAIN
          LD      A,00001001B
          LD      (SWHICH),A
          LD      HL,0203H
          LD      (SCOLOR),HL
          LD      HL,0
          LD      (GAGE),HL
          ;
          CALL    DSET
          DEFW    MSDATA,EMSPT1
          DEFB    128,160,16,0,1,0
          DEFB    3,0,00001000B
          CALL    UNFADE
          LD      A,24
          CALL    MAIN
          CALL    DSET
          DEFW    PRODUM,MHYOUJ
          DEFB    2,34,0,0,0,75
          DEFB    80,0,00000101B
          LD      A,36
          CALL    MAIN
          CALL    DSET
          DEFW    NAME,MHYOUJ
          DEFB    2,34,0,0,0,73
          DEFB    80,0,00000101B
          LD      A,36
          CALL    MAIN
          CALL    DSET
          DEFW    ROCKM ,MHYOUJ
          DEFB    2,34,0,0,0,73
          DEFB    80,0,00000101B
          LD      A,36
          CALL    MAIN
          CALL    DSET
          DEFW    THEENM,MHYOUJ
          DEFB    2,34,0,0,0,82
          DEFB    80,0,00000101B
          LD      A,36
          CALL    MAIN
          XOR     A
          LD      (PORIDAT+1),A
          LD      HL,EMSPT2
          LD      (PORIDAT+5),HL
          LD      A,32
          CALL    MAIN
          CALL    FADE
          LD      A,16
          CALL    MAIN
          LD      A,00001000B
          LD      (SWHICH),A
          CALL    DSET
          DEFW    MSXM,MHYOUJ
          DEFB    15,230,0,0,0,98
          DEFB    110,0,00010001B
          CALL    DSET
          DEFW    FOREVM,MHYOUJ
          DEFB    15,230,0,0,0,83
          DEFB    150,0,00010101B
          CALL    UNFADE
          LD      A,150
          CALL    MAIN
          CALL    FADE
          LD      A,8
          CALL    MAIN
          JP      WSCORE
          ;
EMSPT1:   LD      A,(IX+1)
          INC     (IX+1)
          CP      6
          JR      NC,$+11
          CALL    MOVE
          DEFB    -16,0,0,1,0,0
          CP      18
          JR      NC,$+11
          CALL    MOVE
          DEFB    16,0,0,-1,0,0
          CP      24
          JR      NC,$+11
          CALL    MOVE
          DEFB    -16,0,0,1,0,0
          XOR     A
          LD      (IX+1),A
          JR      EMSPT1
          ;
EMSPT2:   LD      A,(IX+1)
          INC     (IX+1)
          CP      12
          JR      NC,$+11
          CALL    MOVE
          DEFB    -5,-2,16,0,0,0
          CP      16
          JR      NC,$+11
          CALL    MOVE
          DEFB    0,0,0,0,-1,-3
          CALL    MOVE
          DEFB    8,-6,-24,0,0,0
          ;
PRODUM:   DEFB   'P',0,0,'R',15,0,'O',30,0,'D',45,0,'U',60,0,'C',75,0
          DEFB   'E',90,0,'D',105,0,'B',45,50,'Y',60,50,0
NAME:     DEFB   'H',0,0,'R',30,0,'Y',41,0,'U',52,0,'Z',67,0,'A',83,0
          DEFB   'K',98,0,'I',113,0,0
ROCKM:    DEFB   'R',0,0,'O',15,0,'C',30,0,'K',45,0,'C',65,0,'I',80,0
          DEFB   'T',95,0,'Y',110,0,0
THEENM:   DEFB   'T',0,0,'H',15,0,'E',30,0,'E',55,0,'N',70,0,'D',85,0,0
MSXM:     DEFB   'M',0,0,'S',30,0,'X',60,0,0
FOREVM:   DEFB   'F',0,0,'O',15,0,'R',30,0,'E',45,0,'V',60,0,'E',75,0
          DEFB   'R',90,0,0
;
; SCORE ROUTINE
;
WSCORE:   CALL    CLSPRI
          LD      HL,(SCORE)
          LD      IX,SCOREM
          CALL    CHTEN
          CALL    DSET
          DEFW    SCOREM,MHYOUJ
          DEFB    15,80,0,0,0,140
          DEFB    140,0,00010001B
          LD      HL,(HSCORE)
          LD      DE,(SCORE)
          OR      A
          SBC     HL,DE
          PUSH    AF
          ADD     HL,DE
          POP     AF
          LD      C,15
          JR      NC,$+4
          EX      DE,HL
          LD      C,8
          LD      A,C
          LD      (HSCORD+4),A
          LD      (HSCORE),HL
          LD      IX,HSCORM
          CALL    CHTEN
          CALL    DSET
HSCORD:   DEFW    HSCORM,MHYOUJ
          DEFB    15,80,0,0,0,140
          DEFB    100,0,00010001B
          CALL    DSET
          DEFW    HSCOR2,MHYOUJ
          DEFB    14,80,0,0,0,20
          DEFB    100,0,00010101B
          CALL    DSET
          DEFW    SCORE2,MHYOUJ
          DEFB    14,80,0,0,0,20
          DEFB    140,0,00010101B
          CALL    UNFADE
          LD      A,00001000B
          LD      (SWHICH),A
          CALL    UNFADE
          LD      A,50
          CALL    MAIN
          CALL    FADE
          LD      A,8
          CALL    MAIN
          JP      TITLE
          ;
SCOREM:   DEFB    '0',0,0,'0',20,0,'0',40,0,'0',60,0,'0',80,0,0
HSCORM:   DEFB    '0',0,0,'0',20,0,'0',40,0,'0',60,0,'0',80,0,0
HSCOR2:   DEFB    'H',0,0,'I',12,0,'S',30,0,'C',45,0,'O',60,0
          DEFB    'R',75,0,'E',90,0,0
SCORE2:   DEFB    'S',0,0,'C',15,0,'O',30,0,'R',45,0,'E',60,0,0
;
; GAME OVER
;
GMOVER:   CALL    CLSPRI
          LD      A,14
          CALL    MAIN
          CALL    DSET
          DEFW    GMOVEM,MHYOUJ
          DEFB    8,40,0,0,0,80
          DEFB    90,0,00000001B
          CALL    UNFADE
          LD      A,00001000B
          LD      (SWHICH),A
          LD      A,32
          CALL    MAIN
          CALL    FADE
          LD      A,20
          CALL    MAIN
          JP      WSCORE
          ;
GMOVEM:   DEFB    'G',0,0,'A',30,0,'M',60,0,'E',90,0
          DEFB    'O',0,80,'V',30,80,'E',60,80,'R',90,80,0

GMOVEM:   DEFB    'G',0,0,'A',30
