GeneralSound/v.1.0/FULGSCOM.TXT
2025-02-15 18:26:49 +03:00

1272 lines
32 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Recoded by Evgeny Muchkin 06.10.1998
SysOp of PALLY_STATION tel: 176-74-19
(á) STINGER &
(á) CYRAX- (*)
<20>㪮¢®¤á⢮ ¯® ¯à®£à ¬¬¨à®¢ ­¨î
General Sound.
‚¥àá¨ï v1.04. <20>¥¤ ªæ¨ï 004.
1. Šà âª¨¥ â¥å­¨ç¥áª¨¥ å à ªâ¥à¨á⨪¨ GS.
--------------------------------------
<EFBFBD>à®æ¥áá®à: Z80, 12MHz, ¡¥§ 横«®¢ wait
ROM : 32k, 27256
RAM : Static Ram 128k ¢á¥£®, 112k ¤®áâ㯭® ¤«ï ¬®¤ã«¥© ¨ áí¬¯«®¢ ¢
¡ §®¢®© ¢¥àᨨ
INT : 37.5 KHz Š ­ «ë: 4 ­¥§ ¢¨á¨¬ëå 8-¨ ¡¨â­ëå ª ­ « , ª ¦¤ë© á 6-¨
¡¨â­ë¬ ª®­â஫¥¬ £à®¬ª®áâ¨.
2. Šà âª®¥ ®¯¨á ­¨¥ GS, ¨«¨ ¬­®£® ¢á类© « ¡ã¤ë.
------------------------------------------------
GS - ¬ã§ëª «ì­ ï ª àâ®çª , ¯à¥¤­ §­ ç¥­­ ï ¤«ï ¯à®¨£à뢠­¨ï ¬ã§ëª «ì­ëå
¬®¤ã«¥© ¨ ®â¤¥«ì­ëå áí¬¯«®¢ (íä䥪⮢).
Œ®¤ã«¨ ¤«ï GS - íâ® áâ ­¤ àâ­ë¥ €¬¨¦­ë¥ ¨ PCè­ë¥ 4-å ª ­ «ì­ë¥ MOD ä ©«ë,
  áí¬¯«ë - ª ª €¬¨¦­ë¥ signed sample, â ª ¨ PCè­ë¥ unsigned sample.
<20>ந£à뢠⥫ì MOD ä ©«®¢ ¢ GS ï¥âáï ¯à ªâ¨ç¥áª¨ ¯®«­ë¬  ­ «®£®¬
ProTracker'  ­  €¬¨£¥ ¨ ᮧ¤ ¢ «áï ¯à¨ ¨­â¥­á¨¢­®¬ ¨á¯®«ì§®¢ ­¨¨ ¨á室­¨-
ª®¢ ProTracker'a. (ˆá室­¨ª¨ ¡ë«¨ ¨§ Protracker'  v2.1A by Lars "ZAP" Hamre
- Amiga Freelancers)
MOD Player ¯®¤¤¥à¦¨¢ ¥â ¢á¥ ª®¬ ­¤ë Pro Tracker' , §  ¨áª«î祭¨¥¬ ¤¢ãå:
…01 Filter On €¬¨£ -ᯥæ¨ä¨ç­ ï ª®¬ ­¤ , ¢ª«îç ¥â 䨫ìâà ¢ë᮪¨å ç áâ®â.
EFX Invert Loop ï ¥é¥ ­¥ ¢¨¤¥« ¯«¥©¥à , ª®â®àë© ¡ë ¯®¤¤¥à¦¨¢ « íâã ª®¬ ­-
¤ã. ‚®§¬®¦­®, ®­  ¯®¤¤¥à¦¨¢ ¥âáï ­  ª ª¨å-â® áâ àëå ¯«¥©¥à å.
GS ¯à¥¤áâ ¢«ï¥â ¨§ ᥡï, ¯®-áãâ¨, ¬¨ªà®¯à®æ¥áá®à­ë© ª®¬¯«¥ªá ᮠ᢮¨¬
¯à®æ¥áá®à®¬, <20>‡“, Ž‡“ ¨ ¯®àâ ¬¨, ¨  ¡á®«îâ­® ­¥ § ¢¨á¨â ®â £« ¢­®£® ¯à®æ¥á-
á®à  ‘¯¥ªâà㬠, çâ® ¯®§¢®«ï¥â, ­ ¯à¨¬¥à, § £à㧨âì ᢮© «î¡¨¬ë© ¬®¤ã«ì,
á¡à®á¨âì ‘¯¥ªâàã¬, § £à㧨âì  áᥬ¡«¥à ¨ ⢮à¨âì ¯®¤ «î¡¨¬ãî ¬ã§ëªã. Soft
¢­ãâਠGS ¯®«­®áâìî ¡¥à¥â ­  á¥¡ï § ¤ ç¨ ¯à®¨£à뢠­¨ï §¢ãª , ¨­â¥à¯à¥â æ¨¨
¬®¤ã«ï ¨ â.¤. <20>ணࠬ¬¨à®¢ ­¨¥ GS'  ᢮¤¨âáï ª ¯¥à¥¤ ç¥ ¡ ©â §  ¡ ©â®¬ ¬®-
¤ã«ï ¨/¨«¨ áí¬¯«®¢,   § â¥¬ âॡã¥âáï ⮫쪮 ¯®¤ ¢ âì ª®¬ ­¤ë ⨯ : § ¯ãá-
â¨âì ¬®¤ã«ì, ãáâ ­®¢¨âì £«®¡ «ì­ãî £à®¬ª®áâì ¯à®¨£à뢠­¨ï ¬®¤ã«ï, § ¯ãá-
â¨âì áí¬¯« #09 ¢ ª ­ «¥ #02 ¨ â.¤.
…᫨ ¯à¥¤¯®« £ ¥âáï § £à㧨âì ¬®¤ã«ì ¢¬¥á⥠á áí¬¯« ¬¨, â® ¢ GENERAL âà¥-
¡ã¥âáï § £à㦠âì ¢­ ç «¥ ¬®¤ã«ì,   § â¥¬ áí¬¯«ë.
<20>ਠ§ £à㧪¥ ¬®¤ã«ï ®ç¥­ì ४®¬¥­¤ã¥âáï ®áâ ¢¨âì ᢮¡®¤­ë¬¨ 2ª ¯ ¬ïâ¨,
â.¥. § £à㦠âì ¬®¤ã«¨ ¤«¨­®© ¬ ªá¨¬ã¬ 110K. <20>â® ãá«®¢¨¥ ­¥ ï¥âáï ­¥®¡å®-
¤¨¬ë¬, ­® ¥£® ¨á¯®«­¥­¨¥ ®ç¥­ì ¦¥« â¥«ì­® ¢ 楫ïå ᮢ¬¥á⨬®áâ¨ á ¯®á«¥¤ãî-
騬¨ ¢¥àá¨ï¬¨.
€­ «®£¨ç­® ®ç¥­ì ४®¬¥­¤ã¥âáï ®áâ ¢«ïâì ¯® 80 ¡ ©â ¤«ï ª ¦¤®£® áí¬¯« ,
­ ¯à¨¬¥à, ¥á«¨ âॡã¥âáï § £à㧨âì 63-å ª¨«®¡ ©â­ë© ¬®¤ã«ì ¨ 18 áí¬¯«®¢, â®
¨¬¥¥¬:
Total_Sample_Length=112*1024-63*1024-2*1024-18*80=46688 ¡ ©â
<20>â® á㬬 à­ ï ¤«¨­  áí¬¯«®¢, ª®â®àë¥ ¯à¨ â ª®¬ ¯®«®¦¥­¨¨ ¢¥é¥© ¬®£ãâ ¡ëâì
§ £à㦥­ë.
…᫨ ¦¥, ­ ¯à¨¬¥à, âॡã¥âáï ¢ëç¨á«¨âì, ᪮«ìª® ¯®¬¥áâ¨âáï ¢ ¯ ¬ïâì GS' 
2-å ª¨«®¡ ©â­ëå áí¬¯«®¢, â® íâ® ¢ëç¨á«ï¥âáï á«¥¤ãî騬 ®¡à §®¬:
112*1024/(2048+80)=53 áí¬¯« .
GS'¥ ¨¬¥îâáï 4 䨧¨ç¥áª¨å ª ­ « , ª®â®àë¥ ¨ ¯à®¨£à뢠îâ §¢ãª.
Š ­ «ë 0 ¨ 1 - «¥¢ë¥,   2 ¨ 3 - ¯à ¢ë¥.
3. ˆ­â¥à䥩á á® ‘¯¥ªâà㬮¬.
---------------------------
<20>  ¬¨à GS ᬮâà¨â ¯à¨ ¯®¬®é¨ 4 ॣ¨áâ஢:
1. Command register - ॣ¨áâà ª®¬ ­¤, ¤®áâã¯­ë© ¤«ï § ¯¨á¨ ¯®àâ ¯®  ¤à¥áã
187 (#BB). íâ®â ॣ¨áâà § ¯¨á뢠îâáï ª®¬ ­¤ë.
2. Status register - ॣ¨áâà á®áâ®ï­¨ï, ¤®áâã¯­ë© ¤«ï ç⥭¨ï ¯®àâ ¯®  ¤-
à¥áã 187 (#BB).
<20>¨âë ॣ¨áâà :
7 - Data bit, ä« £ ¤ ­­ëå
6 - <20>¥®¯à¥¤¥«¥­
5 - <20>¥®¯à¥¤¥«¥­
4 - <20>¥®¯à¥¤¥«¥­
3 - <20>¥®¯à¥¤¥«¥­
2 - <20>¥®¯à¥¤¥«¥­
1 - <20>¥®¯à¥¤¥«¥­
0 - Command bit, ä« £ ª®¬ ­¤
<20>â®â ॣ¨áâà ¯®§¢®«ï¥â ®¯à¥¤¥«¨âì á®áâ®ï­¨¥ GS, ¢ ç áâ­®á⨠¬®¦­® «¨ ¯à®-
ç¨â âì ¨«¨ § ¯¨á âì ®ç¥à¥¤­®© ¡ ©â ¤ ­­ëå, ¨«¨ ¯®¤ âì ®ç¥à¥¤­ãî ª®¬ ­¤ã, ¨
â.¯.
3. Data register - ॣ¨áâà ¤ ­­ëå, ¤®áâã¯­ë© ¤«ï § ¯¨á¨ ¯®àâ ¯®  ¤à¥áã 179
(#B3). íâ®â ॣ¨áâà ‘¯¥ªâà㬠§ ¯¨á뢠¥â ¤ ­­ë¥, ­ ¯à¨¬¥à, íâ® ¬®£ãâ ¡ëâì
 à£ã¬¥­âë ª®¬ ­¤.
4. Output register - ॣ¨áâà ¢ë¢®¤ , ¤®áâã¯­ë© ¤«ï ç⥭¨ï ¯®àâ ¯®  ¤à¥áã
179 (#B3). ˆ§ í⮣® ॣ¨áâà  ‘¯¥ªâà㬠ç¨â ¥â ¤ ­­ë¥, ¨¤ã騥 ®â GS.
Command bit ¢ ॣ¨áâॠá®áâ®ï­¨© ãáâ ­ ¢«¨¢ ¥âáï  ¯¯ à â­® ¯®á«¥ § ¯¨á¨
ª®¬ ­¤ë ¢ ॣ¨áâà ª®¬ ­¤. ‘¡à á뢠âìáï ¢ 0 ®­ ¬®¦¥â ⮫쪮 ¨§ GS, ç⮠ᨣ-
­ «¨§¨àã¥â ®¡ ®¯à¥¤¥«¥­­®¬ íâ ¯¥ ¨á¯®«­¥­¨ï ª®¬ ­¤ë.
Data bit ¢ ॣ¨áâॠá®áâ®ï­¨© ¬®¦¥â ¡ëâì ãáâ ­®¢«¥­ ¨«¨ á¡à®è¥­ ª ª ¯®
¦¥« ­¨î ‘¯¥ªâà㬠, â ª ¨ ¯® ¦¥« ­¨î GS: ¯à¨ § ¯¨á¨ ‘¯¥ªâà㬮¬ ¢ ॣ¨áâà
¤ ­­ëå ®­  ¯¯ à â­® ãáâ ­ ¢«¨¢ ¥âáï ¢ 1,   ¯®á«¥ ç⥭¨ï GS'®¬ ¨§ í⮣® à¥-
£¨áâà  á¡à á뢠¥âáï ¢ 0. <20>ਠ§ ¯¨á¨ GS ¢ ॣ¨áâà ¢ë¢®¤  ®­ (¢á¥ â®â ¦¥ Data
bit)  ¯¯ à â­® ãáâ ­ ¢«¨¢ ¥âáï ¢ 1,   ¯®á«¥ ç⥭¨ï ¨§ í⮣® ¯®àâ  ‘¯¥ªâàã-
¬®¬ á¡à á뢠¥âáï  ¯¯ à â­® ¢ 0.
<20>¥á¬®âàï ­  â®, ç⮠ॣ¨áâà ¤ ­­ëå ¨ ॣ¨áâà ¢ë¢®¤  à á¯®«®¦¥­ë ¢ ¯à®á-
âà ­á⢥  ¤à¥á®¢ ¯®à⮢ ¯® ®¤­®¬ã ¨ ⮬㠦¥  ¤à¥áã ¨ ¢®§¤¥©áâ¢ãîâ ­  ®¤¨­ ¨
â®â ¦¥ ¡¨â ¤ ­­ëå, ®­¨ ïîâáï ¤¢ã¬ï ­¥§ ¢¨á¨¬ë¬¨ ॣ¨áâà ¬¨. ‡­ ç¥­¨¥,
®¤¨­ à § § ¯¨á ­­®¥ ¢ ®¤¨­ ¨§ íâ¨å ॣ¨áâ஢, ®áâ ¥âáï ­¥¨§¬¥­­ë¬ ¢ ­¥¬ ¤®
­®¢®© § ¯¨á¨.
‘®áâ®ï­¨¥ ¡¨â  ¤ ­­ëå ®ç¥­ì ç áâ® ­¥®¯à¥¤¥«¥­®, ¨ ¥á«¨ ¢ ᯥæ¨ä¨ª æ¨¨ ª®-
¬ ­¤ ­¥ ®¯à¥¤¥«¥­ë §­ ç¥­¨ï í⮣® ¡¨â  ­  ®¯à¥¤¥­­ëå íâ ¯ å ¨á¯®«­¥­¨ï ª®-
¬ ­¤ë, ­¥¤®¯ãá⨬® ¤¥« âì ª ª¨¥-«¨¡® ¯à¥¤¯®«®¦¥­¨ï ®â­®á¨â¥«ì­® §­ ç¥­¨ï
í⮣® ¡¨â .
4. ‘¨á⥬  ª®¬ ­¤ GS.
---------------------
‚­ ç «¥ ¯®§¢®«î ᥡ¥ ­¥¡®«ì讥 ®âáâ㯫¥­¨¥ ®â ᮡá⢥­­® á¨áâ¥¬ë ª®¬ ­¤.
GS, ª ª ¨§¢¥áâ­®, ¯à¥¤­ §­ ç¥­ ¢ ®á­®¢­®¬ ¤«ï ¯à®¨£à뢠­¨ï ¬®¤ã«¥© ¨ áí¬-
¯«®¢. ¤ ­­®© ¢¥àᨨ (1.03) GS ROM ¤®¯ãª ¥âáï § £à㧪  ®¤­®£® ¬®¤ã«ï ¨/¨-
«¨ ¤® 32 áí¬¯«®¢.
Š ¦¤ë© áí¬¯« ¯à¨ § £à㧪¥ ¥£® ¢ ¯ ¬ïâì ¯®«ãç ¥â ᢮© ã­¨ª «ì­ë© ¨¤¥­â¨ä¨-
ª â®à, ª®â®àë© ®¤­®§­ ç­® ®¯à¥¤¥«ï¥â ®¡à é¥­¨¥ ª ¤ ­­®¬ã áí¬¯«ã ¢ ª®¬ ­¤ å,
ª®â®àë¥ âॡãîâ ­®¬¥à áí¬¯« . ‘ ¬ë© ¯¥à¢ë© § £à㦥­­ë© áí¬¯« ¯®«ã砥⠭®-
¬¥à (handle) = 1, á«¥¤ãî騩 - ­®¬¥à 2, ¨ â.¤.
’® ¦¥ á ¬®¥ ¯à¨¬¥­¨¬® ¨ ª ¬®¤ã«ï¬, ¨ íâ®â ¥¤¨­á⢥­­ë© § £à㦥­­ë© ¬®-
¤ã«ì ¡ã¤¥â ¨¬¥âì handle=1 ¯®á«¥ § £à㧪¨.
Žá®¡¥­­®áâìî ¤ ­­®© ¢¥àᨨ ï¥âáï â ª¦¥ â®, çâ® ¢­ ç «¥ âॡã¥âáï § £-
à㦠âì ¬®¤ã«ì,   § â¥¬ 㦥 áí¬¯«ë.
Žá®¡¥­­®á⨠®¯¨á ­¨ï ª®¬ ­¤:
Š®¬ ­¤ë ®¯¨á뢠îâáï á«¥¤ãî騬 ®¡à §®¬:
1. Hex ª®¤ ª®¬ ­¤ë
2. <20> §¢ ­¨¥ ª®¬ ­¤ë
3. ‚믮«­ï¥¬ë¥ ¤¥©áâ¢¨ï ¯à¨ ¨á¯®«­¥­¨¨ ª®¬ ­¤ë
4. ”®à¬ â ª®¬ ­¤ë
5. Š®¬¬¥­â à¨¨ ª ª®¬ ­¤¥
”®à¬ â ª®¬ ­¤ë ®¯¨á뢠¥âáï á«¥¤ãî騬 ®¡à §®¬:
GSCOM EQU 187
GSDAT EQU 179
SC #NN : <20>®á« âì ª®¤ ª®¬ ­¤ë ¢ ॣ¨áâà ª®¬ ­¤
LD A,#NN
OUT (GSCOM),A
WC : Ž¦¨¤ ­¨¥ á¡à®á  Command bit
WCLP IN A,(GSCOM)
RRCA
JR C,WCLP
SD Data : <20>®á« âì ¤ ­­ë¥ ¢ ॣ¨áâà ¤ ­­ëå
LD A,Data
OUT (GSDAT),A
WD : Ž¦¨¤ ­¨¥ á¡à®á  Data bit, ¯® áãâ¨, ®¦¨¤ ­¨¥, ¯®ª  GS ­¥ ¯à¨¬¥â
¯®á« ­­ë¥ ¥¬ã ¤ ­­ë¥
WDLP IN A,(GSCOM)
RLCA
JR C,WDLP
GD Data : <20>ਭïâì ¤ ­­ë¥ ¨§ ॣ¨áâà  ¤ ­­ëå
IN A,(GSDAT)
WN : Ž¦¨¤ ­¨¥ ãáâ ­®¢ª¨ Data bit, ¯® áãâ¨, ®¦¨¤ ­¨¥ ®ç¥à¥¤­ëå ¤ ­­ëå
®â GS
WNLP IN A,(GSCOM)
RLCA
JR NC,WNLP
Š®¬ ­¤ë GS:
#00 Reset flags
‘¡à á뢠¥â ä« £¨ Data bit ¨ Command bit.
SC #00
WC
(Data bit=0, Command bit=0)
#01 Set silence (*)
‚뢮¤¨â ¢ <E28093>ë ¢á¥å ª ­ «®¢ #80. <20>® áã⨠ãáâ ­ ¢«¨¢ ¥â â¨è¨­ã.
SC #01
WC
#02 Set low volume (*)
“áâ ­ ¢«¨¢ ¥â £à®¬ª®áâx <E28093>®¢ ¢á¥å ª ­ «®¢ ¢ ­®«ì.
SC #02
WC
#03 Set high volume (*)
“áâ ­ ¢«¨¢ ¥â £à®¬ª®áâì <E28093>®¢ ¢á¥å ª ­ «®¢ ¢ ¬ ªá¨¬ã¬.
SC #03
WC
#04 Set 'E' 3bits (*)
“áâ ­ ¢«¨¢ ¥â ¢ 'E' ॣ¨áâॠGS 3 ¬« ¤è¨å ¡¨â  ¢ ᮮ⢥âá⢨¨ á § ¤ ­-
­ë¬ §­ ç¥­¨¥¬ (2 ¬« ¤è¨å ¡¨â  ¢ áãé­®á⨠ïîâáï ­®¬¥à®¬ ª ­ « 
#00-#03).
SD Chan (#00-#07)
SC #04
WC
#05 Out volume port (*)
“áâ ­ ¢«¨¢ ¥â £à®¬ª®áâì ª ­ « , ­®¬¥à ª®â®à®£® ᮤ¥à¦¨âáï ¢ 'E', ¢ 㪠-
§ ­­®¥ §­ ç¥­¨¥. (Š®¬ ­¤  áà ¡ â뢠¥â ¯à¨ ãá«®¢¨¨, çâ® 'E' ­ å®¤¨âáï ¢
¯à¥¤¥« å #00-#03)
SD Volume (#00-#3F)
SC #05
WC
#06 Send to DAC (*)
‚뢮¤¨â ¡ ©â ¢ <E28093> ª ­ « , 㪠§ë¢ ¥¬®£® ¯® 'E'.
SD Byte
SC #06
WC
#07 Send to DAC and to volume port (*)
‚뢮¤¨â ¡ ©â ¢ <E28093> ('E') á § ¤ ­­®© £à®¬ª®áâìî.
SD Byte
SC #07
WC
SD Volume
WD
#08 - â® ¦¥ çâ® ¨ ª®¬ ­¤  #00
#09 Sets one's byte volume. (*)
“áâ ­®¢ª  £à®¬ª®á⨠ª ­ « , ­®¬¥à ª®â®à®£® § ¤ ­ ¢ 2å áâ àè¨å ¡¨â å.
SD Byte (ccvvvvvv)
SC #09
WC
cc - <20>®¬¥à ª ­ « 
vvvvvv - …£® £à®¬ª®áâì
#0A DAC output (*)
…é¥ ®¤¨­ ­¥¯®á।á⢥­­ë© ¢ë¢®¤ ¢ <E28093>.
SD Byte
SC #0A
WC
SD Chan (#00-#03)
WD
#0B DAC and Volume output (*)
ˆ ­ ª®­¥æ ¯®á«¥¤­¨© ¢ë¢®¤ ¢ <E28093> á ãáâ ­®¢ª®© £à®¬ª®áâ¨.
SD Fbyte
SC #0B
WC
SD Sbyte (ccvvvvvv)
WD
<20> §­ ç¥­¨¥ ¡¨â®¢ Sbyte ª ª ¨ ã ª.#09)
Š®¬ ­¤ë #01 - #0B á«ã¦ â ¢ ®á­®¢­®¬ ¤«ï ¯®áâ஥­¨ï à §«¨ç­ëå Covox'®¢
¨ ¯®¨£à뢠⥫¥©, ¯à¨ í⮬ ­¥ ᫨誮¬ 㣫㡫ïïáì ¢® ¢­ãâ७­îî áâàãªâã-
àã GS.
vvvvvv - …£® £à®¬ª®áâì
#0C DAC output (*)
…é¥ ®¤¨­ ­¥¯®á।á⢥­­ë© ¢ë¢®¤ ¢ <E28093>.
#0C Call SounDrive Covox mode (*)
‚ë§ë¢ ¥â ०¨¬ ç¥âëà¥åª ­ «ì­®£® Š®¢®ªá , ¯®á«¥¤®¢ â¥«ì­® ª®¯¨àã¥â à¥-
£¨áâà ¤ ­­ëå ¯® ª ­ « ¬. ‚ë室 ¨§ ०¨¬   ¢â®¬ â¨ç¥áª¨ ¯®á«¥ ¢ë¢®¤ 
ç¥â¢¥à⮣® ¡ ©â .
SD CH1
SC #0C
WC
SD CH2
WD
SD CH3
WD
SD CH4
WD
#0D Call Ultravox mode (*)
‚ë§ë¢ ¥â ०¨¬ ã­¨¢¥àá «ì­®£® Š®¢®ªá , ¯®á«¥¤®¢ â¥«ì­® ª®¯¨àã¥â à¥-
£¨áâà ¤ ­­ëå ¯® ª ­ « ¬, ç¨á«® ª®â®àëå ॣ㫨àã¥âáï (1-4). ®â«¨ç¨¥ ®â
¯à¥¤ë¤ã饣® ¢ à¨ ­â  ᨭåà®­¨§ æ¨ï ­¥ ¯à®¨§¢®¤¨âáï. ‚ë室 â ª¦¥ ¯à®¨§-
¢®¤¨âáï  ¢â®¬ â¨ç¥áª¨ ¯® § ¯¨á¨ ¯®á«¥¤­¥£® ¡ ©â .
SD CHANS
SC #0D
WC
SD CH1
SD CH2
SD CH3
SD CH4
CHANS (4-¥ ¬« ¤è¨å ¡¨â ) 㪠§ë¢ ¥â ª ª¨¥ ª ­ «ë ¡ã¤ãâ § ¤¥©á⢮¢ ­ë -
¤«ï ¢ª«î祭¨ï ª ­ «  ᮮ⢥âáâ¢ãî騩 ¡¨â ­ã¦­® ãáâ ­®¢¨âì.…᫨ ª ­ «
¢ëª«î祭, â® ¯®áâ㯨¢è¨© ¡ ©â ¯®¯ ¤ ¥â ­  á«¥¤ãî騩 ¢ª«î祭­ë© ª ­ «
(¥á«¨ ãᯥ¥â :)
#0E Go to LPT Covox mode
<20>¥à¥å®¤¨â ¢ ०¨¬ ®¤­®ª ­ «ì­®£® Š®¢®ªá , ­ ¯àï¬ãî ª®¯¨àã¥â ॣ¨áâà
¤ ­­ëå ¢ <E28093>ë ¤¢ãå (¯à ¢®£® ¨ «¥¢®£®) ª ­ «®¢. ‚ë室 ¨§ í⮣® ०¨¬  -
§ ¯¨áì #00 ¢ ॣ¨áâà ª®¬ ­¤.
SC #0E
WC
SD \
SD \
... <20>â® ¢ë¢®¤ ¢ <E28093>ë
/
SD /
SC #00
WC
#0F Go in Profi Covox mode (*)
<20>¥à¥å®¤¨â ¢ ०¨¬ ¤¢ã媠­ «ì­®£® Š®¢®ªá , ­ ¯àï¬ãî ª®¯¨àã¥â ॣ¨áâà
¤ ­­ëå ¢ <E28093>ë ®¤­®£® ª ­ « ,   ॣ¨áâà ª ¬ ­¤ ¢ <E28093>ë ¢â®à®£® ª ­ « .
‚ë室 ¨§ í⮣® ०¨¬  - § ¯¨áì #4… ¢ ॣ¨áâà ¤ ­­ëå, § â¥¬ ¯®á«¥¤®¢ -
⥫쭮 #0F ¨ #AA ¢ ॣ¨áâà ª®¬ ­¤.
SD #59
SC #0F
WC
SD \
SC \
SD \
SC <20>â® ¢ë¢®¤ ¢ <E28093>ë
... /
SD /
SC /
SD #4E
WD
SC #0F
WC
SC #AA
WC
#10 Out to any port (*)
‚뢮¤¨â ¡ ©â ¢o ¢­ãâ७­¨© ¯®àâ GS (#00-#09).
SD Port
SC #10
WC
SD Data
WD
#11 In from any port (*)
ç¨â ¥â ¡ ©â ¨§ ¢­ãâ७­¥£® ¯®àâ  GS (#00-#09).
SD Port
SC #10
WC
GD Data
WN
#12 OUT to 0 port (*)
‚뢮¤¨â ¡ ©â ¢ ¯®àâ ª®ä¨£ãà æ¨¨ GS (#00).
SD Data
SC #12
WC
#13 Jump to Address (*)
<20>¥à¥¤ ¥â ã¯à ¢«¥­¨¥ ¯® § ¤ ­­®¬ã  ¤à¥áã.
SD ADR.L
SC #13
WC
SD ADR.H
WD
#14 Load memory block (*)
‡ £à㧪  ¡«®ª  ª®¤®¢ ¯® 㪠§ ­­®¬ã  ¤à¥áã á § ¤ ­­®© ¤«¨­®©.
SD LEN.L
SC #14
SD LEN.H
WD
SD ADR.L
WD
SD ADR.H
SD \
WD \
SD \
WD <20>«®ª ¤ ­­ëå ¤«¨­®© LEN
... /
SD /
WD /
#15 Get memory block (*)
‚ë£à㧪  ¡«®ª  ª®¤®¢ ¯® 㪠§ ­­®¬ã  ¤à¥áã á § ¤ ­­®© ¤«¨­®©.
SD LEN.L
SC #15
SD LEN.H
WD
SD ADR.L
WD
SD ADR.H
GD \
WN \
GD \
WN <20>«®ª ¤ ­­ëå ¤«¨­®© LEN
... /
GD /
WN /
#16 Poke to address (*)
‡ ¯¨á뢠¥â ¥¤¨­¨ç­ë© ¡ ©â ¯® 㪠§ ­­®¬ã  ¤à¥áã.
SD ADR.L
SC #16
WC
SD ADR.H
WD
SD Byte
WD
#17 Peek from address (*)
‘ç¨â뢠¥â ¥¤¨­¨ç­ë© ¡ ©â ¨§ 㪠§ ­­®£®  ¤à¥á .
SD ADR.L
SC #17
WC
SD ADR.H
WD
GD Byte
WN
#18 Load DE Pair (*)
‡ £à㦠¥â ॣ¨á⮢ãî ¯ àã DE (®â­®áïéãîáï ª GS, ­¥ ¯ãâ âì á ®¤­®¨¬¥­-
­®© ¯ à®© Main CPU) 㪠§ ­­ë¬ á«®¢®¬.
SD B.E
SC #18
WC
SD B.D
WD
#19 Poke to (DE) address (*)
‡ ¯¨á뢠¥â ¡ ©â ¯®  ¤à¥áã 㪠§ ­­®¬ã ¢ DE.
SD Byte
SC #19
WC
#1A Peek from (DE) address (*)
‘ç¨â뢠¥â ᮤ¥à¦¨¬®¥  ¤à¥á , 㪠§ë¢ ¥¬®£® ¯® DE.
SC #1A
WC
GD Byte
WN
#1B Increment of DE Pair (*)
“¢¥«¨ç¨¢ ¥â ¯ àã DE ­  ¥¤¨­¨çªã.
SC #1B
WC
#1C Poke to (#20XX) address (*)
‡ ¯¨á뢠¥â ¡ ©â ¯®  ¤à¥áã, áâ à訩 ¡ ©â ª®â®à®£® à ¢¥­ #20.
SD ADR.L
SC #1C
WC
SD Byte
WD
#1D Peek from (#20XX) address (*)
ç¨â ¥â ¡ ©â á  ¤à¥á , áâ à訩 ¡ ©â ª®â®à®£® à ¢¥­ #20.
SD ADR.L
SC #1D
WC
GD Byte
WN
#1E - #1F ‡ à¥§¥à¢¨à®¢ ­ë.
#F1 - #F2 ‡ à¥§¥à¢¨à®¢ ­ë.
#F3 Warm restart
‘¡à á뢠¥â ¯®«­®áâìî GS, ­® ¯à®¯ã᪠¥â íâ ¯ë ®¯à¥¤¥«¥­¨ï ª®«¨ç¥á⢠
áâà ­¨æ ¯ ¬ï⨠¨ ¨å ¯à®¢¥ª¨, çâ® ®ç¥­ì ᨫ쭮 ã᪮àï¥â ¯à®æ¥áá ¨­¨æ¨ -
«¨§ æ¨¨.
SC #F3
WC
#F4 Cold restart
<20>®«­ë© ¯¥à¥§ ¯ã᪠GS á® ¢á¥¬¨ ¯à®¢¥àª ¬¨. <20>® áãâ¨, JP #0000.
SC #F4
WC
#F5 Busy on
“áâ ­ ¢«¨¢ ¥â ä« £ § ­ïâ®á⨠¢ #FF
SC #F5
WC
#F6 Busy off
“áâ ­ ¢«¨¢ ¥â ä« £ § ­ïâ®á⨠¢ #00
SC #F6
WC
ˆ§­ ç «ì­® Busy=#00. ˆá¯®«­¥­¨¥ ¢á¥å ª®¬ ­¤ ¢ GS ¢ë¯®«­ï¥âáï ¢ £« ¢­®¬
横«¥ ª®¬ ­¤­®£® ¨­â¥à¯à¥â â®à . <20>â®â 横« ¢ ãá«®¢­®¬ ¢¨¤¥ ¬®¦­® ¯à¥¤áâ -
¢¨âì â ª:
1 if Command bit=0 then go to 1
2 Execute Command
3 if Command bit=1 then go to 2
4 if Playing=0 then go to 1
5 if Busy=#FF then go to 1
6 Process Sound
7 go to 1
ˆá¯®«ì§ãï ª®¬ ­¤ë Busy ¬®¦­® ­ ¯à¨¬¥à ¨­¨æ¨¨à®¢ âì ¯à®¨£à뢠­¨¥ áí¬¯«®¢
¢® ¢á¥å ª ­ « å ¯®â®¬ ᪠¦¥¬ ¨§¬¥­¨âì ¯ à ¬¥âàë ¯à®¨£à뢠­¨ï ¢ ª ­ « å  
¯®â®¬ § ¯ãáâ¨âì íâ® ¢á¥ ®¤­®¢à¥¬¥­­®. …᫨ ¦¥ ¨å ­¥ ¨á¯®«ì§®¢ âì â® ¢®§¬®¦-
­  â ª ï á¨âã æ¨ï: ¨­¨æ¨¨àã¥âáï ¯¥à¢ë© (áí¬¯« áâ ­¥â ¯à®¨£à뢠âìáï   ⮫쪮
¯®â®¬ ¨­¨æ¨¨àã¥âáï ¢â®à®© áí¬¯« ¨ â.¤.)
#F7 Get HX Register (*)
<20>®«ãç¨âì ᮤ¥à¦¨¬®¥ ॣ¨áâà  HX (GS)
HX ãç áâ¢ã¥â ¢ ®¡à ¡®âª¥ ä« £  Busy.
SC #F7
WC
GD HX
WN
#F8 - #F9 ‡ à¥§¥à¢¨à®¢ ­ë.
#FA Out zero_to_zero
‚뢮¤ ­ã«ï ¢ ­ã«¥¢®© (ª®­ä¨£ãà æ¨®­­ë©) ¯®àâ GS. „¥« ¥â ¯à¨®áâ ­®¢ªã
§¢ãç ­¨ï ¬ã§ëª¨ ¤® á«¥¤ãî饣® ç⥭¨ï ¨§ ª.«. ¯®àâ .
SC #FA
WC
#FB - #FF ‡ à¥§¥à¢¨à®¢ ­ë.
#20 Get total RAM
<20>®«ãç¨âì ®¡é¨© ®¡ê¥¬ ¤®áâ㯭®© ¯ ¬ï⨠­  GS. ( ¡ §®¢®© ¢¥àᨨ íâ® 112ª)
SC #20
WC
GD RAM.L(Œ« ¤è ï ç áâì)
WN
GD RAM.M(‘।­ïï ç áâì)
WN
GD RAM.H(‘â àè ï ç áâì)
Total RAM=65536*RAM.H+256*RAM.M+RAM.L
#21 Get free RAM
<20>®«ãç¨âì ®¡é¨© ®¡'¥¬ ᢮¡®¤­®© ¯ ¬ï⨠­  GS.
SC #20
WC
GD RAM.L(Œ« ¤è ï ç áâì)
WN
GD RAM.M(‘।­ïï ç áâì)
WN
GD RAM.H(‘â àè ï ç áâì)
Free_RAM=65536*RAM.H+256*RAM.M+RAM.L
#23 Get number of RAM Pages
<20>®«ãç¨âì ç¨á«® áâà ­¨æ ­  GS.
SC #23
WC
GD Number_RAM_Pages
¡ §®¢®© ¢¥àᨨ 3 áâà ­¨æë.
#24 - #29 ‡ à¥§¥à¢¨à®¢ ­ë.
#2A Set Module Master Volume
“áâ ­®¢¨âì £à®¬ª®áâì ¯à®¨£à뢠­¨ï ¬®¤ã«¥©.
SD Module_Master_Volume [#00..#40]
SC #2A
WC
[GD Old_Master_Volume] - ‘â à ï £à®¬ª.
Œ «¥­ìª¨© ¯à¨¬¥à ¨á¯®«ì§®¢ ­¨ï ¤ ­­®© ª®¬ ­¤ë:
(<28>।¯®« £ ¥âáï, çâ® ¨£à ¥âáï ¬®¤ã«ì)
LD B,#40
LOOP: LD A,B
OUT (GSDAT),A
LD A,#2A
OUT (GSCOM),A
EI
HALT
DJNZ LOOP
LD A,#32
OUT (GSCOM),A
‚ë襮¯¨á ­­®¥ ¯« ¢­® á­¨¦ ¥â £à®¬ª®áâì ¨£à î饣® ¬®¤ã«ï,   § â¥¬ ®áâ ­ ¢-
«¨¢ ¥â ¥£®.
#2B Set FX Master Volume
“áâ ­®¢¨âì £à®¬ª®áâì ¯à®¨£à뢠­¨ï íä䥪⮢.
SD FX_Master_Volume [#00..#40]
SC #2B
WC
[GD Old_FX_Volume] - ‘â à ï £à®¬ª®áâì
€­ «®£¨ç­® ¯à¥¤ë¤ã饩 ª®¬ ­¤¥, ­® ¤¥©áâ¢ã¥â ­  áí¬¯«ë.
¯®¬®éìî íâ¨å ¤¢ãå ª®¬ ­¤ ¬®¦­® ॣ㫨஢ âì ¡ « ­á £à®¬ª®á⥩ ¬®¤ã«ï ¨
áí¬¯«®¢, ¨ â.¯.
#2E Set Current FX
“áâ ­®¢¨âì ⥪ã騩 íä䥪â. <20>à®áâ® ¯à¨á¢ ¨¢ ¥â ¯¥à¥¬¥­­®© CURFX íâ® §­ -
祭¨¥. …᫨ ª ª ï-«¨¡® ª®¬ ­¤  âॡã¥â ­®¬¥à áí¬¯«  (sample handle), â®
¬®¦­® ¢¬¥áâ® í⮣® ­®¬¥à  ¯®¤ âì ¥© #00 ¨ ¨­â¥à¯à¥â â®à ¯®¤áâ ¢¨â ¢¬¥á-
â® í⮣® ­ã«ï §­ ç¥­¨¥ ¯¥à¥¬¥­­®© CURFX. (‘¬. ª®¬ ­¤ë #38, #39, #40-#4F
¤«ï ¯®­¨¬ ­¨ï ¢ë襨§«®¦¥­­®£®.)
SD Cur_FX
SC #2E
WC
#30 Load Module
‡ £à㧪  ¬®¤ã«ï ¢ ¯ ¬ïâì.
SC #30
WC
[GD Module_Handle]-­®¬¥à ¬®¤ã«ï
(Command bit=0, Data bit=0)
SC #D1 (Open Stream-®âªàëâì ¯®â®ª)
WC
SD \
WD \
... <20> ©âë ¬®¤ã«ï
SD /
WD /
SC #D2 (Close Stream-§ ªàëâì ¯®â®ª)
WC
<20>ਬ¥à:
LD HL,Mod_adress
LD DE,0-Mod_length
LD C,GSCOM
LD A,#30
CALL SENDCOM
LD A,#D1
CALL SENDCOM
LD A,(HL)
LOOP: IN B,(C)
JP P,READY
IN B,(C)
JP M,LOOP
READY: OUT (GSDAT),A
INC HL
LD A,(HL)
INC E
JP NZ,LOOP
INC D
JP NZ,LOOP
WAIT: IN B,(C) ;†¤¥¬ ¯à¨­ïâ¨ï
JP M,WAIT ;¯®á«¥¤­¥£® ¡ ©â 
LD A,#D2
CALL SENDCOM
IN A,(GSDAT) ; <20>®¬¥à ¬®¤ã«ï
OUT (GSDAT),A
LD A,#31
SENDCOM: OUT (GSCOM),A
WAITCOM: IN A,(GSCOM)
RRCA
JR C,WAITCOM
RET
#31 Play module
<20>ந£à뢠­¨¥ ¬®¤ã«ï.
SD Module_Handle - ­®¬¥à ¬®¤ã«ï
SC #31
WC
#32 Stop module
Žáâ ­®¢¨âì ¯à®¨£à뢠­¨¥ ¬®¤ã«ï.
SC #32
WC
#33 Continue module
<20>த®«¦¨âì ¯à®¨£à뢠­¨¥ ¬®¤ã«ï ¯®á«¥ ®áâ ­®¢ª¨.
SC #33
WC
#35 Set Module Volume
“áâ ­®¢¨âì £à®¬ª®áâì ¯à®¨£à뢠­¨ï ¬®¤ã«¥©.
SD Module_Master_Volume [#00..#40]
SC #35
WC
[GD Old_Master_Volume] - ‘â à ï £à®¬ª.
#36 Data on (*)
“áâ ­ ¢«¨¢ ¥â ॣ¨áâà ¤ ­­ëå ¢ #FF.
SC #36
WC
[GD Data (#FF) ]
#37 Reinitialisation (*)
<20>¥à¥ãáâ ­ ¢«¨¢ ¥â ¢­ãâ७­¨¥ ¯¥à¥¬¥­­ë¥ ¢ ¨á室­®¥ á®áâ®ï­¨¥.
SC #37
WC
#38 Load FX
‡ £à㧪  áí¬¯«  íää¥ªâ  ¢ ¯ ¬ïâì. ‡ £à㦠¥â ¡¥§§­ ª®¢ë¥ áí¬¯«ë (PC type)
SC #38
WC
[GD FX_Handle]-­®¬¥à áí¬¯« 
(Command bit=0, Data bit=0)
SC #D1 (Open Stream-®âªàëâì ¯®â®ª)
WC
SD \
WD \
... <20> ©âë áí¬¯« 
SD /
WD /
SC #D2 (Close Stream-§ ªàëâì ¯®â®ª)
WC
<20>ਠ§ £à㧪¥ ª ¦¤®£® áí¬¯« , ¢ ¯ ¬ï⨠GS ᮧ¤ ¥âáï ¤«ï í⮣® áí¬¯«  § £®-
«®¢®ª, ¢ ª®â®à®¬ ®¯¨á뢠îâáï à §«¨ç­ë¥ ¯ à ¬¥âàë áí¬¯« . <20>®á«¥ § £à㧪¨ íâ¨
¯ à ¬¥âàë ãáâ ­ ¢«¨¢ îâáï ¢ ®¯à¥¤¥«¥­­ë¥ §­ ç¥­¨ï, ª ª â®:
Note=60, Volume=#40, FineTune=0, SeekFirst=#0F, SeekLast=#0F,
Priority=#80, No Loop ¨ ¢­ãâ७­ïï ¯¥à¥¬¥­­ ï CurFX ãáâ ­ ¢«¨¢ ¥âáï à ¢­®©
FX_Handle.
‡ â¥¬ ª®¬ ­¤ ¬¨ #40, #41, #42, #45, #46 ¨ #47 ¬®¦­® í⨠§­ ç¥­¨ï ¯® 㬮«-
ç ­¨î ᬥ­¨âì ­  ᢮¨. <20>â® âॡã¥âáï ¯®â®¬ã çâ® ª®¬ ­¤  #39 ¤«ï ¨­¨æ¨ æ¨¨
¯à®¨£à뢠­¨ï áí¬¯«  ¨á¯®«ì§ã¥â §­ ç¥­¨ï ¯ à ¬¥â஢ ¨§ § £®«®¢ª  áí¬¯« .
᢮¥¬ ¥áâ¥á⢥­­®¬ ¢¨¤¥ áí¬¯«ë ®¡ëç­® ¯«®å® ¯ ªãîâáï ª®¬¯à¥áá®à ¬¨, ­®
ᦨ¬ ¥¬®áâì ®¡ëç­® ¬®¦­® ¯®¤­ïâì, ¥á«¨ ¯¥à¥¢¥á⨠áí¬¯« ¢ Delta-¢¨¤, â.¥.
åà ­¨âì ­¥  ¡á®«îâ­ë¥ §­ ç¥­¨ï áí¬¯« ,   ®â­®á¨â¥«ì­®¥ ᬥ饭¨¥ ®â­®á¨-
⥫쭮 ¯à¥¤ë¤ã饣® ¡ ©â . <20>ਬ¥à­® ¢®â â ª ¢®â ¬®¦­® ¯¥à¥¢¥á⨠áí¬¯« ¢
Delta-¢¨¤:
LD HL,Start_of_sample
LD DE,0-Length_of_sample
LD C,#00
LOOP: LD A,(HL)
SUB C
LD C,(HL)
LD (HL),A
INC E
JP NZ,LOOP
INC D
JP NZ,LOOP
€ ¢®â ª ª ¬®¦­® § ª ç âì áí¬¯«:
LD IX,Parameters
LD HL,Sample_adress
LD DE,0-Sample_length
LD C,GSCOM
LD A,#38
CALL SENDCOM
LD A,#D1
CALL SENDCOM
LD A,(HL)
LOOP: IN B,(C)
JP P,READY
IN B,(C)
JP M,LOOP
READY: OUT (GSDAT),A
INC HL
ADD A,(HL)
INC E
JP NZ,LOOP
INC D
JP NZ,LOOP
WAIT: IN B,(C) ;†¤¥¬ ¯à¨­ïâ¨ï
JP M,WAIT ;¯®á«¥¤­¥£® ¡ ©â 
LD A,#D2
CALL SENDCOM
; ’¥¯¥àì ¯¥à¥®¯à¥¤¥«ï¥¬ ¯ à ¬¥âàë
; áí¬¯«  ¯® 㬮«ç ­¨î ᢮¨¬¨
; §­ ç¥­¨ï¬¨
LD A,(IX+#00)
OUT (GSDAT),A ; <20>®â 
LD A,#40
CALL SENDCOM
LD A,(IX+#01)
OUT (GSDAT),A ; ƒà®¬ª®áâì
LD A,#41
SENDCOM: OUT (GSCOM), A
WAITCOM: IN A,(GSCOM)
RRCA
JR C,WAITCOM
RET
#39 Play FX
<20>ந£à뢠­¨¥ íä䥪â .
SD FX_Handle - ­®¬¥à áí¬¯« 
SC #39
WC
<20>ਠ¨á¯®«­¥­¨¨ í⮩ ª®¬ ­¤ë ¯à®¨á室¨â á«¥¤ãî饥: ᬮâàïâáï ª ­ «ë, 㪠-
§ ­­ë¥ ¢ SeekFirst ¯ à ¬¥âॠ­ è¥£® áí¬¯« , ¨ ¥á«¨ å®âï-¡ë ®¤¨­ ¨§ ­¨å ᢮-
¡®¤¥­, ¢ ­¥¬ ¨ ¯à®¨£à뢠¥âáï áí¬¯«, ¢ ¯à®â¨¢­®¬ á«ãç ¥ ᬮâàïâáï ª ­ «ë,
㪠§ ­­ë¥ ¢ SeekLast ¨ ¥á«¨ ®¤¨­ ¨§ ­¨å ᢮¡®¤¥­, ¢ ­¥¬ ¨ ¨£à ¥âáï áí¬¯«,
¥á«¨ ᢮¡®¤­ëå ­¥â, â® ¯à®á¬ âਢ îâáï ¢á¥ ª ­ «ë, 㪠§ ­­ë¥ SeekLast, ¨§
­¨å ¢ë¡¨à ¥âáï ª ­ « á ­ ¨¬¥­ì訬 ¯à¨®à¨â¥â®¬ ¨ áà ¢­¨¢ ¥âáï á ¯à¨®à¨â¥â®¬
­ è¥£® áí¬¯«  (¨¬¥¥âáï ¢ ¢¨¤ã áí¬¯«, ª®â®àë© ¬ë å®â¨¬ ¯à®¨£à âì), ¥á«¨ ã
í⮣® áí¬¯«  ¡ã¤¥â ¡®«ì訩 ¯à¨®à¨â¥â, 祬 ã áí¬¯« , 㦥 ¨£à î饣® ¢ ª ­ «¥,
â® ¨£à î騩 ¢ ª ­ «¥ áí¬¯« ¡ã¤¥â ®áâ ­®¢«¥­,   ­ è áí¬¯« ¡ã¤¥â § ¯ã饭 ¢
í⮬ ª ­ «¥ ¢¬¥áâ® áâ à®£® áí¬¯« . ‚®â â ª ï ¢®â ¯à¨®à¨â¥â­ ï á奬 ...
’®£¤  áí¬¯« § ¯ã᪠¥âáï ¢ ª ­ «¥, â® ¥£® ­®â , £à®¬ª®áâì ¨ â.¯. ¯ à ¬¥â-
àë § ¯¨á뢠îâáï ¢ ®¡« áâì ¤ ­­ëå ª ­ «  ¨§ § £®«®¢ª  áí¬¯« .
®¡é¥¬ á«ãç ¥, çâ®-¡ë ¯à®¨£à âì áí¬¯« á ­ã¦­ë¬¨ ¯ à ¬¥âà ¬¨, ¢ë ¬®¦¥â¥
ãáâ ­®¢¨âì í⨠¯ à ¬¥âàë ¯®á«¥ § £à㧪¨ áí¬¯«  ¨ ᬥ«® ¨á¯®«ì§®¢ âì ª®¬ ­-
¤ã #39. …᫨ ¦¥ ¯ à ¬¥âàë ¤®«¦­ë ¬¥­ïâìáï, â® ¬®¦­® ¯®áâ㯠âì á«¥¤ãî騬 ®¡-
à §®¬: ª®¬ ­¤®© #2E ᤥ« âì ⥪ã騬 âà¥¡ã¥¬ë© áí¬¯«, ª®¬ ­¤ ¬¨ #4x ¨§¬¥-
­¨âì ¥£® ¯ à ¬¥âàë,   § â¥¬ 㦥 § ¯ã᪠âì ¥£® ª®¬ ­¤®© #39.
€«ìâ¥à­ â¨¢­ë© ¬¥â®¤ § ¯ã᪠ áí¬¯«®¢ ¯à¥¤®áâ ¢«ïîâ ª®¬ ­¤ë #80..#9F, ¯à¨
¨á¯®«­¥­¨¨ íâ¨å ª®¬ ­¤ ¢ë ¯àאַ ¢ ª®¤¥ ª®¬ ­¤ë 㪠§ë¢ ¥â¥, ¢ ª ª®¬ ª ­ «¥
âॡã¥âáï § ¯ãáâ¨âì áí¬¯«, ¨ ªà®¬¥ í⮣®, ¢ë ¬®¦¥â¥ â ª¦¥ 㪠§ âì á ª ª®©
­®â®© ¨/¨«¨ £à®¬ª®áâìî âॡã¥âáï § ¯ãáâ¨âì áí¬¯«.
#3A Stop FX in channels
ãáâ ­®¢ª  ¯à®¨£à뢠­¨ï íä䥪⮢ ¢ § ¤ ­­ëå ª ­ « å, ª®â®àë¥ ãª §ë¢ îâ-
áï ¢ ¬ áª¥ ª ­ «®¢ (Channel Mask). ­¥© ¥¤¨­¨æ  ¢ n-­®¬ ¡¨â¥ 㪠§ë-
¢ ¥â ­  â®, çâ® íä䥪⠢ n-­®¬ ª ­ «¥ âॡã¥âáï ®áâ ­®¢¨âì
SD Channel_Mask
SC #3A
WC
Ž¯¨á ­­®¥ ¢ëè¥ ¥áâì ¨¤¥ «ì­ë© ¢ à¨ ­â à ¡®âë ¤ ­­®© ª®¬ ­¤ë, ­® ª ᮦ «¥-
­¨î ­¥ ¢á¥ â ª ¯à®áâ® ¢ í⮬ ¬¨à¥, ¨ íâ  ª®¬ ­¤  ¤¥©áâ¢ã¥â ­¥ â ª,   ¨¬¥­-
­®: ¥¤¨­¨æ  ¢ ¡¨â¥ 7 ®áâ ­ ¢«¨¢ ¥â áí¬¯« ¢ ­ã«¥¢®¬ ª ­ «¥, ¨ â.¯. á«¥¤ãî-
é¨å ¢¥àá¨ïå íâ® ¡ã¤¥â ¨á¯à ¢«¥­®,   ¯®ª  ï ¬®£ã ¯®à¥ª®¬¥­¤®¢ âì ®áâ ­ ¢«¨-
¢ âì ¢®®¡é¥ ¢á¥ áí¬¯«ë ¬ áª®© #FF.
#3D Set FX Volume
“áâ ­®¢¨âì £à®¬ª®áâì ¯à®¨£à뢠­¨ï íä䥪⮢.
SD FX Volume [#00..#40]
SC #3D
WC
[GD Old_FX_Volume] - ‘â à ï £à®¬ª®áâì
#3E Load FX (Extended version)
‡ £à㧪  áí¬¯«  íää¥ªâ  ¢ ¯ ¬ïâì. <20>®§¢®«ï¥â § £à㦠âì áí¬¯«ë á® §­ ª®¬.
(Amiga type)
SD #01 (Signed sample)
SC #3E
WC
[GD FX_Handle]-­®¬¥à áí¬¯« 
(Command bit=0, Data bit=0)
SC #D1 (Open Stream-®âªàëâì ¯®â®ª)
WC
SD \
WD \
... <20> ©âë áí¬¯« 
SD /
WD /
SC #D2 (Close Stream-§ ªàëâì ¯®â®ª)
WC
#40 Set FX Sample Playing Note
“áâ ­®¢ª  ­®âë ¯® 㬮«ç ­¨î ¤«ï ⥪ã饣® íä䥪â .
SD Note [0..95]
SC #40
WC
Note=
0 C-0
1 C#0
12 C-1
24 C-2
36 C-3 (C-1 ¢ €¬¨£¥)
48 C-4 (C-2 ¢ €¬¨£¥)
60 C-5 (C-3 ¢ €¬¨£¥)
72 C-6
84 C-7
¤ ­­®© ¢¥àᨨ Sound Generators Wave 2, 3 ¬®£ãâ ¢®á¯à®¨§¢¥á⨠®ªâ ¢ë 3,
4 ¨ 5, ¯®í⮬㠤®¯ãáâ¨¬ë¬ §­ ç¥­¨¥¬ ¯ à ¬¥âà  Note ï¥âáï ¤¨ ¯ §®­ ®â 36
¤® 71.
#41 Set FX Sample Volume
“áâ ­®¢ª  £à®¬ª®á⨠¯® 㬮«ç ­¨î ¤«ï ⥪ã饣® íä䥪â .
SD FX_Volume [#00..#40]
SC #41
WC
#42 Set FX Sample Finetune
“áâ ­®¢ª  Finetune ¯® 㬮«ç ­¨î ¤«ï ⥪ã饣® íä䥪â .
SD FX_Finetune [#00..#40]
SC #42
WC
#43 - #44 ‡ à¥§¥à¢¨à®¢ ­ë.
#45 Set FX Sample Priority
“áâ ­®¢ª  ¯à¨®à¨â¥â  ¤«ï ⥪ã饣® íä䥪â . (‘¬. ª®¬ ­¤ã #39)
SD FX_Priority [#01..#fe]
SC #45
WC
#46 Set FX Sample Seek First parameter
“áâ ­®¢ª  ¯ à ¬¥âà  Seek First ¤«ï ⥪ã饣® íä䥪â . (‘¬. ª®¬ ­¤ã #39)
SD FX_SeekFirst
SC #46
WC
#47 Set FX Sample Seek Last parameter
“áâ ­®¢ª  ¯ à ¬¥âà  Seek Last ¤«ï ⥪ã饣® íä䥪â . (‘¬. ª®¬ ­¤ã #39)
SD FX_SeekLast
SC #47
WC
#48 Set FX Sample Loop Begin (*)
“áâ ­®¢ª  ­ ç «  横«  ¤«ï ⥪ã饣® íä䥪â .
SD LEN.L
SC #48
WC
SD LEN.M
WD
SD LEN.H
WD
<20>ਠࠢ¥­á⢥ LEN.H - #FF § æ¨ª«¨¢ ­¨¥ ­¥ ¯à®¨§¢®¤¨âáï
#49 Set FX Sample Loop End (*)
“áâ ­®¢ª  ª®­æ  横«  ¤«ï ⥪ã饣® íä䥪â .
SD LEN.L
SC #49
WC
SD LEN.M
WD
SD LEN.H
WD
#4A - #4F ‡ à¥§¥à¢¨à®¢ ­ë.
#51 - #5F ‡ à¥§¥à¢¨à®¢ ­ë.
#60 Get Song Position
<20>®«ã祭¨¥ §­ ç¥­¨ï ¯¥à¥¬¥­­®© Song_Position ¢ ⥪ã饬 ¬®¤ã«¥.
SC #60
WC
GD Song_Position [#00..#FF]
Œ®¦­® ¨­â¥à¯à¥â¨à®¢ âì ª ª ª®«¨ç¥á⢮ ¯à®¨£à ­­ëå ¯ ââ¥à­®¢ ¬®¤ã«ï. <20>®á-
«¥ áâ àâ  ¬®¤ã«ï ¯à¨­¨¬ ¥â §­ ç¥­¨¥ 0 ¨ 㢥«¨ç¨¢ ¥âáï ­  ¥¤¨­¨æã ¯®á«¥
¯à®¨£à뢠­¨ï ®ç¥à¥¤­®£® ¯ ââ¥à­ . <20>â  ¯¥à¥¬¥­­ ï ¬®¦¥â ¨á¯®«ì§®¢ âìáï ¤«ï
ᨭåà®­¨§¨à®¢ ­¨ï ¯à®æ¥áᮢ ¢ ‘¯¥ªâà㬥 á ¯à®¨£à뢠­¨¥¬ ¬®¤ã«ï. „«ï í⮣®
¬®¦­®, ­ ¯à¨¬¥à, ¢ ­ ç «¥ ¯à®æ¥¤ãàë ®¡à ¡®âª¨ ¯à¥à뢠­¨ï ᤥ« âì SC #60,
§ â¥¬ ¢ë¯®«­¨âì ¯à®æ¥¤ãàë à §«¨ç­ëå ®¯¥à æ¨© á íªà ­®¬, áªà®««¨­£  áâà®ç¥ª
¨ â.¯. (â.¥. çâ®¡ë ¡ë«  ¤®áâ â®ç­ ï ¤«ï ¢ë¯®«­¥­¨ï ª®¬ ­¤ë § ¤¥à¦ª ),   § -
⥬ ¯à®ç¨â âì §­ ç¥­¨¥ ¯®àâ  179 (GD Song_Position), ¨ áà ¢­¨âì ¥£® á âà¥-
¡ã¥¬ë¬ ¨, ¢ á«ãç ¥ à ¢¥­á⢠, ¯¥à¥©â¨ ­  á«¥¤ãîéãî ç áâì ¤¥¬ë, â.¥.
if (Song_Position==My_Position)
then goto Next_Part_Of_Demo
#61 Get Pattern Position
<20>®«ã祭¨¥ §­ ç¥­¨ï ¯¥à¥¬¥­­®© Pattern_Position ¢ ⥪ã饬 ¬®¤ã«¥.
SC #61
WC
GD Pattern_Position [#00..#3F]
<20>®«ãç¨âì §­ ç¥­¨¥ ᬥ饭¨ï ¢ ¯ ââ¥à­¥ (⥪ã騩 ROW), ¨á¯®«ì§®¢ ­¨¥ -  ­ -
«®£¨ç­® ¯à¥¤ë¤ã饩 ª®¬ ­¤¥, ®¤­ ª® âॡã¥âáï § ¬¥â¨âì, çâ® íâ  ¢¥«¨ç¨­  ¨§-
¬¥­ï¥âáï ¤®¢®«ì­® ¡ëáâà®, ¨ ¯®í⮬ã
if (Pattern_Position>=My_Position) then goto Next_Part_Of_Demo
#62 Get Mixed Position
<20>®«ãç¨âì §­ ç¥­¨¥ Pattern_Position, ­¥¬­®£® ᬥ蠭­®© á Song_Position.
SC #62
WC
GD Mixed_Position
Mixed_Position: (¯® ¡¨â ¬)
7-Song_Position.1
6-Song_Position.0
5-Pattern_Position.5
4-Pattern_Position.4
3-Pattern_Position.3
2-Pattern_Position.2
1-Pattern_Position.1
0-Pattern_Position.0
.¥ ¥á«¨ ¯®«ãç¨âì Mixed_Position ¨ ᤥ« âì á ­¨¬ AND #3F, â® ¯®«ãç¨âáï
¢ë«¨âë© Pattern_Position,   ¥á«¨ ¯®á«¥ ¯®«ã祭¨ï ¥£® ­¥¬­®£® RLCA, RLCA,
AND #02 - â® íâ® ¡ã¤ãâ ¬« ¤è¨¥ ¤¢  ¡¨â  Song_Position. ‘¬. ¯à¨¬¥ç ­¨ï ª ª®-
¬ ­¤ ¬ #60 ¨ #61.
#63 Get Channel Notes
<20>®«ãç¨âì ­®âë ¢á¥å ª ­ «®¢ ¬®¤ã«ï.
SC #63
WC
GD Note_of_channel_0
WN
GD Note_of_channel_1
WN
GD Note_of_channel_2
WN
GD Note_of_channel_3
…᫨ ¢ ª ª®¬-«¨¡® ª ­ «¥ §­ ç¥­¨¥ ­®âë ¨§¬¥­¨«®áì á ¯®á«¥¤­¥£® ¨á¯®«­¥-
­¨ï ª®¬ ­¤ë #63, â® ¡¨â 7 ¯®«ã祭­®£® § ­ ç¥­¨ï
Note_of_channel_N
¡ã¤¥â ¢ ­ã«¥, ¥á«¨ ¦¥ íâ® §­ ç¥­¨¥ â® ¦¥ á ¬®¥, çâ® ¨ ¡ë«® à ­ìè¥, â® íâ®â
¡¨â ¡ã¤¥â ¢ ¥¤¨­¨æ¥. Œ« ¤è¨¥ á¥¬ì ¡¨â®¢ ¨ ¥áâì ᮡá⢥­­® ­®â  ®â 0 ¤® 95;
¥á«¨ íâ® §­ ç¥­¨¥ à ¢­® 127, â® íâ® ®§­ ç ¥â, çâ® ­¨ª ª¨¥ áí¬¯«ë ¢ ª ­ «¥
­¥ ¨£à îâ. „ ­­ ï ª®¬ ­¤  ¯à¥¤­ §­ ç¥­  ¢ ®á­®¢­®¬ ¤«ï ¯®áâ஥­¨ï ­  ¥¥ ®á-
­®¢¥ à §«¨ç­ëå  ­ «¨§ â®à®¢.
#64 Get Channel Volumes
<20>®«ãç¨âì £à®¬ª®á⨠¢á¥å ª ­ «®¢ ¬®¤ã«ï.
SC #64
WC
GD Volume_of_channel_0
WN
GD Volume_of_channel_1
WN
GD Volume_of_channel_2
WN
GD Volume_of_channel_3
‘¬. ®¯¨á ­¨¥ ª®¬ ­¤ë #63
#65 Jump to position (*)
„¥« ¥â ¯¥à¥å®¤ ­  § ¤ ­­ãî ¯®§¨æ¨î.
SD Position
SC #65
WC
#66 Set speed/tempo (*)
“áâ ­®¢ª  ᪮à®á⨠¢ ¯à¥¤¥« å #01-#1F. <20>ਠ§­ ç¥­¨ïå #20-#FF ãáâ ­ ¢«¨-
¢ ¥âáï ⥬¯ ¯à®¨£à뢠­¨ï. ‡­ ç¥­¨ï ⥬¯  ᮮ⢥âáâ¢ãî⠮ਣ¨­ «ì­ë¬ ¯à¨
᪮à®á⨠ࠢ­®© #06.
SD Speed/Tempo
SC #66
WC
#67 Get speed value (*)
—⥭¨¥ ⥪ã饩 ᪮à®áâ¨.
SC #67
WC
GD Speed
WD
#68 Get tempo value (*)
—⥭¨¥ ⥪ã饣® ⥬¯ .
SC #68
WC
GD Tempo
WD
#6A - #7F § à¥§¥à¢¨à®¢ ­ë.
#80 Direct Play FX Sample (#80..#83)
<20>ந£à뢠­¨¥ áí¬¯«  ¢ § ¤ ­­®¬ ª ­ «¥.
SD Sample_Number
SC #80..#83 (Œ« ¤è¨¥ ¡¨âë ®¯à¥¤¥«ïîâ ­¥¯®á।á⢥­­® ­®¬¥à ª ­ « , ¢
ª®â®à®¬ âॡã¥âáï ¨£à âì áí¬¯«) WC
#88 Direct Play FX Sample (#88..#8B)
<20>ந£à뢠­¨¥ áí¬¯«  ¢ § ¤ ­­®¬ ª ­ «¥ á § ¤ ­­®© ­®â®©.
SD Sample_Number
SC #88..#8B (Œ« ¤è¨¥ ¡¨âë ®¯à¥¤¥«ïîâ ­¥¯®á।á⢥­­® ­®¬¥à ª ­ « , ¢
ª®â®à®¬ âॡã¥âáï ¨£à âì áí¬¯«) WC SD Note [0..95] WD
#90 Direct Play FX Sample (#90..#93)
<20>ந£à뢠­¨¥ áí¬¯«  ¢ § ¤ ­­®¬ ª ­ «¥ á § ¤ ­­®© £à®¬ª®áâìî.
SD Sample_Number
SC #90..#93 (Œ« ¤è¨¥ ¡¨âë ®¯à¥¤¥«ïîâ ­¥¯®á।á⢥­­® ­®¬¥à ª ­ « , ¢
ª®â®à®¬ âॡã¥âáï ¨£à âì áí¬¯«)
WC
SD Volume [#00..#40]
WD
#98 Direct Play FX Sample (#98..#9B)
<20>ந£à뢠­¨¥ áí¬¯«  ¢ § ¤ ­­®¬ ª ­ «¥ á § ¤ ­­®© ­®â®© ¨ £à®¬ª®áâìî.
SD Sample_Number
SC #98..#9B (Œ« ¤è¨¥ ¡¨âë ®¯à¥¤¥«ïîâ ­¥¯®á।á⢥­­® ­®¬¥à ª ­ « , ¢
ª®â®à®¬ âॡã¥âáï ¨£à âì áí¬¯«)
WC
SD Note [0..95]
WD
SD Volume [#00..#40]
WD
#B0 - #F0 ‡ à¥§¥à¢¨à®¢ ­ë.
<20>ਬ¥ç ­¨¥: Š®¬ ­¤ë, ®â¬¥ç¥­­ë¥ ª ª (*), ïîâáï ­¥¤®ªã¬¥­â¨à®¢ ­­ë¬¨
¨ ¢ ¯®«­®© ¬¥à¥ ®â­®áïâáï ⮫쪮 ª ¢¥àᨨ 1.04. <20>  à ¡®â®á¯®á®¡­®áâì
íâ¨å ª®¬ ­¤ ¢ ¯®á«¥¤ãîé¨å ¢¥àá¨ïå  ¢â®à ®¯¨á ­¨ï (2) ®â¢¥âá⢥­­®á⨠­¥
­¥á¥â.
2.<2E> ¯®¬¨­ î, ç⮠ॣ¨áâàë (¨å ¨¬¥­ ), 㯮¬ï­ãâë¥ ¢ í⮬ ®¯¨á ­¨¨, ®â­®-
áïâáï ⮫쪮 ¨ ⮫쪮 ª ¢­ãâ७­¨¬ ॣ¨áâà ¬ GS ¨ ­¨ª ª®£® ®â­®è¥­¨ï ª
ॣ¨áâà ¬ ®á­®¢­®£® ¯à®æ¥áá®à  ­¥ ¨¬¥îâ.
5. He¬­o£o «¨p¨ª¨...
€¢âopë GS : ( 2 èâ㪨 ;)
ÄÄÄ C«a¢a Dang¥rous ÄÄÄ
(X-Trad¥)
E¬ã ¯p¨­a¤«e¦¨â ¨¤eï áo§¤a­¨ï GS'a, a¯¯apaâ­aï pea«¨§aæ¨ï o­o£o, ­eªoâopëe
¯o¦e«a­¨ï oâ­oá¨âe«ì­o Soft'a GS'a, a âaª¦e Amiga 1200, ­a ªoâopo© ¬­
¯po¨§¢o¤¨«¨áì ¢áïçe᪨e íªá¯ep¨¬e­âë. O­ e¤¨­áâe­­ë© ¨ ­e¯o¢âop¨¬ë© ¯po¨§-
¢o¤¨âe«ì General Sound'a ¨ ¨¬e­­o o­ §a¢e¤ãeâ ¯po¨§¢o¤áâ¢o¬ ¨ ¯po¤a¦e© GS.
ÄÄÄ Sting¥r ÄÄÄ
<20>âo ï, a¢âop áe£o o¯ãáa ¨ ¯o-áo¢¬eáâ¨âe«ìáâ¢ã ¤ãèa ¨ áep¤æe General
Sound'a. Ÿ ïîáì pa§pa¡oâ稪o¬ ¢áe£o ¢áâpoe­­o£o Soft'a ¢ GS'e ¨
¯pe¤¯o«a£aî ¨ ¤a«ìèe §a­¨¬aâìáï ᨬ ¤e©áâ¢o¬. („a, ï âaª¦e ïîáì a¢âopo¬
­eªoâopëx x¨âpëx ­a¢opoâo¢ ¢ a¯¯apaâ­o© çaá⨠GS'a, ¨ ¡ë« ¡ë a¢âopo¬ eée
¬­o£¨x, e᫨ ¡ë ­e ¡ë« ¢áe ¢pe¬ï á¤ep¦¨¢ae¬ C«a¢o©, ¯oáâoï­­o o§a¡oçe­­ë¬
¯po¡«e¬a¬¨ ¯o­¨¦e­¨ï æe­ë. )
Ha¯¨áa¢ oªo«o 20 ª¡ ªo¤a §a ¯o«-£o¤a, ¯p¨§a­aâìáï, ï ­­o£o ãáâa«, ­o
¨¬eî ¤o¢o«ì­o ¡o«ìè¨e ¯«a­ë oâ­oá¨âe«ì­o á«e¤ãîé¨x ¢epᨩ GS'a, ªaª-âo:
- Wave 4 Sound Generators ¢oá¯po¨§¢o¤ïé¨x ¢áe oªâa¢ë.
- “áªope­¨e §a áçeâ o­ëx ¯poæe­âo¢ ­a 30-40 £e­epa樨 §¢ãªa.
- Oçe­ì xoâe«oáì ¡ë ¯po¨£pë¢a­¨e STM'o¢ oâ PC.
- Pa§¢¨âaï á¨áâe¬a ªo¬a­¤.
- Pa§«¨ç­ëe á¯eæíääeªâë ­a¤ áí¬¯«a¬¨
- Xpa­e­¨e ¯aââep­o¢ ¢ §aªo¬¯peááo¢a­­o¬ ¢¨¤e (oáâaeâáï oªo«o 15% oâ
¨§­aça«ì­o£o o¡ìe¬a).
- ˆ ¬­o£oe ¤pã£oe
Báe ¯po£pa¬¬­oe o¡eá¯eçe­¨e ¤o«¦­o pa¡oâaâì ¨ ­a ¯oá«e¤ãîé¨x ¢epá¨ïx
¯po訢ª¨, e᫨ o­o ­a¯¨áa­o ¢ áooâ¢eâá⢨¨ á ¬o¨¬¨ ¢ëèe¨§«o¦e­­ë¬¨
¯o¦e«a­¨ï¬¨ ¨ âpe¡o¢a­¨ï¬¨. Špo¬e o¯¨áa­­ëx ªo¬a­¤ ¢ GS'e áãéeáâ¢ãeâ eée
¡o«ìèoe ªo«¨çeáâ¢o ªo¬a­¤, ªoâopëe ­e ¤oªã¬e­â¨po¢a­ë, ¨ ï oáâa¢«ïî §a
áo¡o© ¯pa¢o ¨§¬e­ïâì ¨x ªaª¨¬-ã£o¤­o o¡pa§o¬ ¨ âo«ìªo oâ­oá¨âe«ì­o
¤oªã¬e­â¨po¢a­ëx ªo¬a­¤ ¯p¨e¬«î §aªo­­ëe ¯peâe­§¨¨ ⨯a: "B ¤oªã¬e­âa樨
­a¯¨áa­o âaª, a ¢ ¯po訢ªe íâo pa¡oâaeâ ¯o ¤pã£o¬ã... "
Ÿ ¯«a­¨pãî §­aç¨âe«ì­oe paáè¨pe­¨e á¨áâe¬ë ªo¬a­¤, ¨ ¡ã¤ã pa¤ ªo­áâpãªâ¨¢-
­ë¬ (¦e«aâe«ì­o ªo­ªpeâ­ë¬) ¯pe¤«o¦e­¨ï¬.
Taª çâo, e᫨ ¢ë o§¢ã稢aeâe ¨£pãèªã ¨«¨ ¯¨èeâe ¬ã§ëªa«ì­ë© pe¤aªâop ¤«ï GS
¨ o¡­ap㦨¢aeâe, çâo ¢a¬ oçe­ì ­e x¢aâaeâ ªaªo©-«¨¡o ªo¬a­¤ë, âo §¢o­¨âe
¬­e ¨ ¢ëáªa§ë¢a©âe ¯pe¤«o¦e­¨ï. (Te«eäo­, ï ¤ã¬aî, oáo¡o£o âpã¤a 㧭aâì ­e
áoáâa¢¨â ;)
Sanx 4 moral support:
„¨¬a (X-Trade)
SParker (XLD)
_________________________________________
-= THE END =-