C-Net Week #08
17 января 1998
  Софт  

Infa # 2 - The structure of the module editor, Pro Sound Creator.

<b>Infa # 2</b> - The structure of the module editor, Pro Sound Creator.
                                                           KVA
 > I N F A # 2 <

                                   MDM 318-721 / 500:0152 / 1.07



The structure of modules editor PSC.

    (** - For PSC 1.04, * for the PSC 1.03, Else - General)


1. The structure of the file.


00 .. 24 - bytes "PSC V1.00 COMPILATION OF"
25 .. 44 - 20-byte name of music
45 .. 48 - bytes are "BY"
49 .. 66 - 18 bytes composer
67 .. 68 - Reserved (always # 20, # 20)
69 .. 70 - a logical starting address Sample'ov (considered 
from the beginning  module)

71 .. 72 - logical start address table Positions
73 .. 73 - initial Delay (speed of the music)
74 .. 75 - logical address table log.adresov ornaments

76 .. - Log.adresa themselves Sample'ov (2 bytes)
 (* - Is considered the beginning of the module,
 ** - Is considered from the start address data)


  .. - Log.adresa themselves Ornament'ov (2 bytes)
 (* - Is considered the beginning of the module,
 ** - Is considered from the start address data)


  .. - Actually Sample'y:
Sample'a number (1 byte) in redaktore himself Sample
Sample'a number in the editor, himself Sample
...
Sample'a number in the editor, himself Sample
B # FF


  .. - Actually Ornament'y:
Ornament'a number in the editor itself Ornament
Ornament'a number in the editor itself Ornament
...
Ornament'a number in the editor itself Ornament
B # FF


  .. - Actually Pattern'y

   Patterna'a length, number Pattern'a in the editor,
Channel A, # FE, channel B, # FE, channel C, # FE

   Patterna'a length, number Pattern'a in the editor,
Channel A, # FE, channel B, # FE, channel C, # FE
...

   Patterna'a length, number Pattern'a in the editor,
Channel A, # FE, channel B, # FE, channel C, # FE

   B # FF


  .. - Actually Positions

   Number Position (tokto important for decompilation)
length Pattern'a, adr of A, adr of B, adr of C

   Number Position, length Pattern'a,
adr of A, adr of B, adr of C
...

   Number Position, length Pattern'a,
adr of A, adr of B, adr of C

   on what positsiyu obsessed, byte # FF,
log. Address Table Positions at the desired position


2. Structure Sample'a.

Each "string" Sample'a consists of six bytes:


0 .. 1 - tone add (shift to a pure tone)
2 - noise add (offset for noise)
3 - volume (volume in Sample'e - local volume)
4 - free bytes (for speed Player'a)
5 - Flag:
 Bits: 0 - pure tone (0-a, 1-no)
1 - increase the global volume of 1 (1-yes, 0-no)
2 - reduce to a global volume (1-yes, 0-no)
3 - Noise (0-a ,1-no)
4 - envelope (0-no ,1-yes)
5 - complete the Sample (0-no ,1-yes)
6 - go to the top of the loop (0-no ,1-yes)
7 - the beginning of the cycle (0-no ,1-yes)


3. Structure Ornament'a.

Each "string" Ornament'a consists of two bytes:

0 - Flag + noise add
 bits: 0 .. 4 - noise add
5 - finish Ornament (0-no ,1-yes)
6 - go to the top of the loop (0-no ,1-yes)
7 - the beginning of the cycle (0-no ,1-yes)
1 - note add (shift for notes)


4. Structure Pattern'ov channels.


# 00 .. # 56 - note
# 57 .. # 66 - volume (# 57 = envel, # 58 = 1 # 59 = 2 ,...,# 
66 = F) # 67 + 2 bytes of ADR - Address Sample'a body (see 
paragraph 5) # 68 + 2 bytes of ADR - Address the body 
Ornament'a (see paragraph 5) # 6A .. # 79 + 1 byte of value - 
built-in commands: # 6B - glis.dn

# 6C - glis.up
# 6D - port.
# 6E - del.
# 6F - hld.orn
# 70 - sldv.
# 71 - rls orn
# 7A + 2 bytes of envelope - the envelope (4 most significant 
bits - the number of 

    enve. The rest - the value of delay
# 7B + 1 byte of noise add - shift the noise after every note

    (Is present ONLY on Channel B)
# 7C - pause
# 7D - rls

# 80 .. # 9F - Sample'a number (the number in the address table)
# A0 .. # BF - Ornament'a number (the number in the address 
table) # C0 .. # FF - a pause between the following command 
(note) in the notes. 

   # C0 - a note, # C1-2 notes, ..., # FF - 64 notes.


   Each "note" first come any options, and then goes
pause before the next note (after the team miss the right
number of notes, and then everything will be processed more)


5. Some additional features decompiler.

   (Player'om not supported)


    If the address 74 of the module (address on Sample'y) is 
the number of # 0000, the decompiler passes in the second mode 
of operation: 

    1. At 74 are already properly Sample'y, ie Address

       Sample'ov and Ornament'ov no longer exists.

    2. Teams from # 80 to # BF here no longer exists.

       Place they can pause between the notes (ie, it shifts,

       # 81 = 1, note, = 2 # 82 Notes, # 83 = 3 notes, # C0 = 
64 note, and commands 

       with # C1 # FF on non-existent)

    3. For the required Sample'a or Ornament'a used

       Team # 67 and # 68, where it is necessary to specify the 
address on the body block. 

This mode was introduced for faster writing converters.

KVA from E-mage 1998 (c)







Other articles:

Novyny - have changed the network address of the editorial board.

Opinion - Scratcher parses the letters of one vengeful suitor C-NET.

Infa # 2 - The structure of the module editor, Pro Sound Creator.

Iron - as you can, and must be connected AY Covox.

Schedule - schedule BBS.

Rectime - the continuation of the description Emage Work Station.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
News - Hallo, all users of computer-rulez Speccy.
Softinka - description of a new text editor ZX-WinWord V3.0 (Oberon Creative Pack).

В этот день...   21 November