TBL
      SLA(A) B=0 C=A HL=HL+BC A=(HL+) H=(HL+) L=A !MUSIC.HL
     ]HL ]DE ]BC ]AF
     RET

MUSIC.HL
     [AF [BC
MUSIC.HL.LOOP
     A=(HL+) IF A=0 THEN ]BC ]AF RET
     B=(HL+) !BEEP
     GOTO MUSIC.HL.LOOP

MUSIC
     (SP)<>HL
MUSIC.LOOP
     A=(HL+) IF A=0 THEN (SP)<>HL RET
     B=(HL+) !BEEP
     GOTO MUSIC.LOOP

EMBL
     [AF [BC [DE [HL
     DO A=$E0
      [AF B=20 !BEEP ]AF A=A-6
     UNTIL DEC(A)=0
EMBL.EX
     ]HL ]DE ]BC ]AF RET

SIDE
     [AF [BC
     IF A<>0 GOTO SIDE.L
     A=$80 B=20 !BEEP GOTO SIDE.EX
SIDE.L
     A=$B0 B=25 !BEEP
SIDE.EX
     ]BC ]AF RET


WAIT
     [BC
     DO B=100
     [BC
     DO B=$8000
      [AF ]AF
     UNTIL DEC(B)=0 ]BC
     UNTIL DEC(B)=0 ]BC
     RET

;封封封封封封封封封封封封封封封封封封封・; BEEP PROCEDURE
; IN  A:HELT'S B:LENGTH
;封封封封封封封封封封封封封封封封封封封・
BEEP
     [AF [BC [DE [HL
     DO E=A
      C=B
       A=01 SET(5,A) PORT($40)=A ;BEEP ON
      DO B=E
      UNTIL DEC(B)=0
       A=01 RES(5,A) PORT($40)=A ;BEEP OFF
      DO B=E
      UNTIL DEC(B)=0
       B=C
     UNTIL DEC(B)=0
     ]HL ]DE ]BC ]AF
     RET

;----- MUSIC TABLE -----

MUSIC.TBL
     DEFW @A:@B:@C:@D:@E:@F:@G:@H
     DEFW @I:@J:@K:@L:@M:@N:@O:@P
     DEFW @Q:@R:@S:@T:@U:@V

@A   !(1A30 2030 0000)
@B   !(2030 0000     )
@C   !(3050 2055 0000)
@D   !(22F0 21F0 0000)
@E   !(20F0 0000     )
@F   !(30F0 0000     )
@G   !(15F0 0000     )
@H   !(7A20 4030 0000)

@I   !(20F0 25F0 0000)
@J   !(2AF0 29F0 28F0 27F0 0000)
@K   !(5A70 2870 0000)
@L   !(3A70 4870 0000)
@M   !(20F0 0000     )
@N   !(9040 9540 0000)
@O   !(10F0 0000     )
@P   !(8A20 2030 0000)

@Q   !(5A70 2010 0000)
@R   !(4A70 2010 0000)
@S   !(3A70 2010 0000)
@T   !(2A70 2010 0000)
@U   !(10F0 2030 0000)
@V   !(8A20 2030 0000)

T.OFF A=0 PORT($51)=A
     RET

T.ON
 [BC [HL A=$80
 PORT($68)=A A=A.XOR.A
 PORT($51)=A HL=($0041)
 C=$64 PORT(C)=L PORT(C)=H
 HL=$8BB7 C+ PORT(C)=L
 PORT(C)=H C=$50 A=$CE
 PORT(C)=A A=$98 PORT(C)=A
 A=PORT($40) HL=$DE67
 A=A.AND.$02 [AF IF NZ GOTO L0754
 HL=$586F
L0754 PORT(C)=L PORT(C)=H
 A=($001F)
L075B B=$13 A=A.OR.A
 [AF IF NZ GOTO L0763
 B=$53
L0763 PORT(C)=B A=$43
 PORT($51)=A A=$C4 PORT($68)=A
 A=$20 PORT($51)=A A=($0005)
 A=A.AND.$FD B=A ]AF
 IF Z GOTO L077C
 SET(1,B)
L077C A=B RESTART(5)
 RR(A) A=($0006) A=A.AND.$DF
 B=A ]AF IF NZ G3
DRAW.ARCHON  EQU DRAW.SPR+3
BASE.DRAW.COLOR    EQU DRAW.ARCHON+3
OPTION.MENU    EQU BASE.DRAW.COLOR+3
CHECK.MAGIC    EQU OPT KN.MENU+3

;㊦㊦㊦㊦・MAIN 1 PROGRAM JUMP TABLE ㊦㊦㊦㊦㊦

SOUND.IC.CHECK  EQU SUB2
INIT.SOUND   EQU SOUND.IC.CHECK+3
CHECK.IM $   EQU INIT.SOUND+3
CHK.MOVED    EQU CHECK.IMP+3
SET.BATTLE   EQU CHK.MOVED+3
BATTLE       EQU SET.BATTLE+3
CHECK.BATTLE EQU BTTLE+3
TRACK.ICON   EQU CHECK.BATTLE+3
INIT.HIT     EQU TRACK.ICON+3
INIT.VAR     EQU INIT.HIT+3
SEARCH.CHR   EQU INIT.VAR+3
SERCH.DATA  EQU SEARCH.CHR+3
CONV.ADD.TB  EQU SEARCH.DATA+3
DRAW.MENU    EQU CONV.ADD.TB+3
MENU.WAIT    EQU DRAW.MENU+3
MOVE.POS     EQU MENU.WAIT+3
GET.HL.MAGIC.FLAG        EQU MOVE.POS+3
DISE.3       EQU GET.HL.MAGIC.FLAG+3
DISE.7       EQU DISE.3+3
DISE. $      EQU DISE.7+3
DISE.SUB     EQU DISE.8+3
CHECK.PRO    EQU DISE.SUB+3
LOAD.ELE.DATA   EQU CHECK.PRO+3
REV.DED.ICON EQU LOADELE.DATA+3
REV.CHECK    EQU REV.DED.ICON+3
REV.DRAW     EQU REV.CHECK+3
REV.ERACE    EQU REV.DRAW+3
DEL.MAGIC    EQU REV.ERACE+	INIT.DEGITAL EQU DEL.MAGIC+3
INIT.ANALOG  EQU INIT.DEGITAL+3
CHECK.88MODE EQU INIT.ANALOG+3
CHECK.CRT    EQU CHECK.88MODE+3
BA K.COLOR   EQU CHECK.CRT+3
SOUND.TELEPORT  EQU BACK.COLOR+3

;㊦㊦㊦㊦㊦ WORKAREA & STAC AREA ㊦㊦㊦㊦㊦
;---- FM & PSG ----
SOU