;
;----------------------------------------------------- CALL SOUND
    00:a5e5     a9001a    LDA #1a00
    00:a5e8     5b        TCD				; (D) <-- 1A00H
    00:a5e9     a62c      LDX <2c
    00:a5eb     f02f      BEQ a61c			; (1A2CH) != 0 ?
    00:a5ed     a9ffff    LDA #ffff
    00:a5f0     8526      STA <26			; (1A26H) <-- #0FFFFH
    00:a5f2     a422      LDY <22			; (Y) <-- (1A22H)
    00:a5f4     bf010003  LDA >030001,x
    00:a5f8     0a        ASL A
    00:a5f9     08        PHP
    00:a5fa     100c      BPL a608
    00:a5fc     221da600  JSL >00a61d
    00:a600     a618      LDX <18			; 1A18H
    00:a602     e8        INX
    00:a603     e8        INX
    00:a604     e8        INX
    00:a605     a000fe    LDY #fe00
    00:a608     221da600  JSL >00a61d
    00:a60c     28        PLP
    00:a60d     100d      BPL a61c
    00:a60f     2426      BIT <26			; 1A26H
    00:a611     5009      BVC a61c
    00:a613     ad5800    LDA !0058
    00:a616     29ff3f    AND #3fff
    00:a619     8d5800    STA !0058
    00:a61c     6b        RTL
;-----------------------------------------------------
    00:a61d     2426      BIT <26			; 1A26H
    00:a61f     50fb      BVC a61c
    00:a621     8422      STY <22			; 1A22H
    00:a623     8618      STX <18			; 1A18H
    00:a625     bf000003  LDA >030000,x
    00:a629     f0f1      BEQ a61c
    00:a62b     a9ffff    LDA #ffff
    00:a62e     8526      STA <26			; 1A26H
    00:a630     8512      STA <12			; 1A21H
    00:a632     6420      STZ <20			; 1A20H
    00:a634     642c      STZ <2c			; 1A2CH
    00:a636     204da1    JSR !a14d			; 1A10H,1A1CH <-- 0
    00:a639     a9007e    LDA #7e00
    00:a63c     8504      STA <04			; 1A04H
    00:a63e     a9002c    LDA #2c00
    00:a641     8503      STA <03			; 1A03H
    00:a643     e230      SEP #30
;
    00:a645     a9bb      LDA #bb
    00:a647     2015a7    JSR !a715
    00:a64a     a9aa      LDA #aa
    00:a64c     2015a7    JSR !a715			; sound irekae init.
;
    00:a64f     a9a0      LDA #a0
    00:a651     a424      LDY <24			; 1A24H
    00:a653     c080      CPY #80
    00:a655     9002      BCC a659
    00:a657     a9a5      LDA #a5
    00:a659     2015a7    JSR !a715			; (A) <-- #a0 : voice
;							;         #a5 : B.G.M.
;
    00:a65c     a422      LDY <22			; 1A22H
    00:a65e     a980      LDA #80
    00:a660     2012a7    JSR !a712
    00:a663     a423      LDY <23			; 1A23H
    00:a665     a981      LDA #81
    00:a667     2012a7    JSR !a712			; data set address set
;
    00:a66a     a530      LDA <30			; 1A30H
    00:a66c     f009      BEQ a677
    00:a66e     20cda6    JSR !a6cd			; Voice data store
    00:a671     2426      BIT <26			; 1A26H
    00:a673     5023      BVC a698
    00:a675     8013      BRA a68a
    00:a677     c230      REP #30
    00:a679     2237a800  JSL >00a837			; B.G.M. data RAM set
    00:a67d     e230      SEP #30
    00:a67f     20a0a6    JSR !a6a0			; B.G.M. store
    00:a682     2426      BIT <26
    00:a684     5012      BVC a698
    00:a686     a610      LDX <10
    00:a688     d0ed      BNE a677
    00:a68a     a9bb      LDA #bb
    00:a68c     2015a7    JSR !a715
    00:a68f     a524      LDA <24
    00:a691     852e      STA <2e
    00:a693     642f      STZ <2f
    00:a695     c230      REP #30
    00:a697     6b        RTL
    00:a698     a9bb      LDA #bb
    00:a69a     2015a7    JSR !a715
    00:a69d     c230      REP #30
    00:a69f     6b        RTL
;
;----------------------------------------------------- 
;----------------------------------------------------- 
    039F7EH --> 1FA4B9H	: initial
;
    039F1EH --> 1B84D9H : title start music
;
    039F18H --> 1B8000H : demo music
;
    039F1BH --> 1B86C7H : select music
;
    039F81H --> 1FA56EH : start push music
;
    039F1BH --> 1B86C7H : select music
;
    039F27H --> 1B8EF8H : Game start music : 400H,2F2H
    039F2DH --> 1B95F9H : stage-1
    039F30H --> 1BA75AH :          boss-10
    039F33H --> 1BABD0H :              -11
;
    039F27H --> 1B8EF8H : Game start music : 400H,2F2H
    039F36H --> 1B9D3DH : stage-2
    039F39H --> 1BAEBEH :          boss-20
    039F3CH --> 1BB0A1H :              -21
;
    039F27H --> 1B8EF8H : Game start music : 400H,2F2H
    039F3FH --> 1BA29EH : stage-3
    039F42H --> 1BB258H :          boss-30
;
    039F27H --> 1B8EF8H : Game start music : 400H,2F2H
    039F4BH --> 1BBCADH : stage-4
    039F57H --> 1ED909H :          boss-40
;
    039F27H --> 1B8EF8H : Game start music : 400H,2F2H
    039F69H --> 1BDD6BH : stage-5          : 400H,131H
    039F33H --> 1BABD0H :          boss-50 : 400H,111H
;
    039F27H --> 1B8EF8H : Game start music : 400H,2F2H
    039F6FH --> 1BE198H : stage-6          : 400H,342H
    039F51H --> 1BC98AH :          boss-60 : 400H,221H
;
    039F27H --> 1B8EF8H : Game start music : 400H,2F2H
    039F75H --> 1CFAC0H : stage-7          : 400H,400H,102H
    039F33H --> 1BABD0H :          boss-70 : 400H,111H
;
    039F27H --> 1B8EF8H : Game start music : 400H,2F2H
    039F66H --> 1BD8F2H : stage-8          : 400H,400H,102H
    039F33H --> 1BABD0H :          boss-80 : 400H,111H
;
    039F27H --> 1B8EF8H : Game start music : 400H,2F2H
    039F45H --> 1BB545H : stage-9          : 400H,3E1H
    039F30H --> 1BA75AH :          boss-90 : 400H,391H
    039F54H --> 1BCC55H :          boss-91 : 400H,400H,0C1H
;
    039F27H --> 1B8EF8H : Game start music : 400H,2F2H
    039F78H --> 1CF007H : stage-10         : 400H,400H,3F1H
    039F7BH --> 1ED788H :          boss-00 : 2F1H
;
    039F27H --> 1B8EF8H : Game start music : 400H,2F2H
    039F48H --> 1BBA0CH : stage-11         : 400H,0C2H
    039F5AH --> 1BD0EFH :          BOSS    : 241H
;
    039F84H --> 1EDB0AH : ending-1         : 211H
    03845EH --> 0A8F8FH : ending-2         : 400H,272H
;
;
;
    039F6CH --> 1BE079H : Game over        : 231H
    039F60H --> 1BD37EH : Continue         : 261H
;
;
;
;----------------------------------------------------- 
    00:a6a0     c210      REP #10
    00:a6a2     a41a      LDY <1a
    00:a6a4     c40c      CPY <0c
    00:a6a6     f01e      BEQ a6c6
    00:a6a8     a620      LDX <20
    00:a6aa     b703      LDA [<03],y
    00:a6ac     8d4221    STA !2142			; SOUND
    00:a6af     8a        TXA
    00:a6b0     297f      AND #7f
    00:a6b2     8d4321    STA !2143			; SOUND
    00:a6b5     2426      BIT <26
    00:a6b7     500b      BVC a6c4
    00:a6b9     cd4321    CMP !2143
    00:a6bc     d0f7      BNE a6b5
    00:a6be     e8        INX
    00:a6bf     c8        INY
    00:a6c0     c40c      CPY <0c
    00:a6c2     d0e6      BNE a6aa
    00:a6c4     8620      STX <20
    00:a6c6     a40c      LDY <0c
    00:a6c8     841a      STY <1a
    00:a6ca     e210      SEP #10
    00:a6cc     60        RTS
;
;
;----------------------------------------------------- VOICE DATA
    039F8AH --> 1FA339H (00180H) : initial
;
    039F8FH --> 1C8002H (01000H) : speed up
;
    039F97H --> 1BE5D7H (01000H) : missile
    039F9FH --> 1C9002H (01000H) : 2-way
    039FA7H --> 1CA004H (01000H) : rocket
    039FAFH --> 1CE008H (01000H) : poton
;
    039FB7H --> 1A8002H (01000H) : double
    039FBFH --> 1A9003H (01000H) : tailgun
;
    039FC7H --> 1AA004H (01000H) : laser
    039FCFH --> 1AB005H (01000H) : ripple
    039FD7H --> 1AE008H (01000H) : 3-way
    039FDFH --> 1FD77AH (01000H) : spread
;
    03A007H --> 1FE77BH (01000H) : option
;
    039FE7H --> 1CC006H (01000H) : shield
    039FEFH --> 1CD007H (01000H) : d-trap
    039FF7H --> 1AC006H (01000H) : f-field
    039FFFH --> 1AD007H (01000H) : bubble
;
    03A017H --> 1FB778H (01000H) : Gal(koshifuri)-voice
    03A00FH --> 1FA777H (01000H) : Gal(susukino0)-voice
    03A01FH --> 1FC779H (01000H) :    (susukino1)
    03A027H --> 1CB005H (01000H) : last boss
;----------------------------------------------------- 
    00:a6cd     c230      REP #30
    00:a6cf     a618      LDX <18
    00:a6d1     bf000003  LDA >030000,x
    00:a6d5     8500      STA <00			; data L-address set
    00:a6d7     bf010003  LDA >030001,x
    00:a6db     29ff1f    AND #1fff
    00:a6de     8501      STA <01			; data H-address set
    00:a6e0     e220      SEP #20
    00:a6e2     8b        PHB
    00:a6e3     eb        XBA
    00:a6e4     48        PHA
    00:a6e5     ab        PLB				; data BANK set
    00:a6e6     c220      REP #20
    00:a6e8     b200      LDA (<00)
    00:a6ea     aa        TAX
    00:a6eb     ca        DEX
    00:a6ec     ca        DEX
    00:a6ed     e600      INC <00
    00:a6ef     e600      INC <00
    00:a6f1     a00000    LDY #0000
    00:a6f4     e220      SEP #20
    00:a6f6     b100      LDA (<00),y
    00:a6f8     8d4221    STA !2142			; SOUND
    00:a6fb     98        TYA
    00:a6fc     297f      AND #7f
    00:a6fe     8d4321    STA !2143			; SOUND
    00:a701     2426      BIT <26
    00:a703     5009      BVC a70e
    00:a705     cd4321    CMP !2143			; SOUND
    00:a708     d0f7      BNE a701
    00:a70a     c8        INY
    00:a70b     ca        DEX
    00:a70c     d0e8      BNE a6f6
    00:a70e     e230      SEP #30
    00:a710     ab        PLB
    00:a711     60        RTS
;
;
;----------------------------------------------------- 
    00:a712     8c4221    STY !2142			; SOUND
;----------------------------------------------------- 
    00:a715     8d4321    STA !2143			; SOUND
    00:a718     2426      BIT <26
    00:a71a     5005      BVC a721
    00:a71c     cd4321    CMP !2143			; SOUND
    00:a71f     d0f7      BNE a718
    00:a721     60        RTS
;
