home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 19 / CD_ASCQ_19_010295.iso / dos / prg / midas / s3m.inc < prev    next >
Text File  |  1994-08-06  |  4KB  |  155 lines

  1. ;*    S3M.INC
  2. ;*
  3. ;* Scream Tracker 3 Module Player, v1.10
  4. ;*
  5. ;* Copyright 1994 Petteri Kangaslampi and Jarno Paananen
  6. ;*
  7. ;* This file is part of the MIDAS Sound System, and may only be
  8. ;* used, modified and distributed under the terms of the MIDAS
  9. ;* Sound System license, LICENSE.TXT. By continuing to use,
  10. ;* modify or distribute this file you indicate that you have
  11. ;* read the license and understand and accept it fully.
  12. ;*
  13.  
  14.  
  15.  
  16. ;/***************************************************************************\
  17. ;*     struct s3mHeader
  18. ;*     ----------------
  19. ;* Description:  Scream Tracker 3 module file header
  20. ;\***************************************************************************/
  21.  
  22. STRUC    s3mHeader
  23.     sname        DB    28 DUP (?)    ; song name
  24.     num1A        DB    ?        ; 1Ah
  25.     ftype        DB    ?        ; file type
  26.     unused1     DW    ?
  27.     songLength    DW    ?        ; number of orders
  28.     numInsts    DW    ?        ; number of instruments
  29.     numPatts    DW    ?        ; number of patterns
  30.     flags        DW    ?        ; flags
  31.     trackerVer    DW    ?        ; tracker version
  32.     formatVer    DW    ?        ; file format version
  33.     SCRM        DB    4 DUP (?)    ; "SCRM"
  34.     masterVol    DB    ?        ; master volume
  35.     speed        DB    ?        ; initial speed
  36.     tempo        DB    ?        ; initial tempo
  37.     masterMult    DB    ?        ; master multiplier
  38.     unused2     DB    12 DUP (?)
  39.     chanSettings    DB    32 DUP (?)    ; channel settings
  40. ENDS
  41.  
  42.  
  43.  
  44.  
  45. ;/***************************************************************************\
  46. ;*     struct s3mInstHdr
  47. ;*     -----------------
  48. ;* Description:  Scream Tracker 3 module instrument file header
  49. ;\***************************************************************************/
  50.  
  51. STRUC    s3mInstHdr
  52.     itype        DB    ?        ; instrument type
  53.     dosName     DB    12 DUP (?)    ; DOS filename (8+3)
  54.     zero        DB    ?        ; 0
  55.     samplePtr    DW    ?        ; paragraph ptr to sample data
  56.     slength     DD    ?        ; sample length
  57.     loopStart    DD    ?        ; sample loop start
  58.     loopEnd     DD    ?        ; sample loop end
  59.     volume        DB    ?        ; volume
  60.     disk        DB    ?        ; instrument disk
  61.     pack        DB    ?        ; sample packing info
  62.     flags        DB    ?        ; bit0 = loop
  63.                         ; bit1 = stereo
  64.                         ; bit2 = 16-bit
  65.     c2Rate        DD    ?        ; C2 sampling rate
  66.     unused        DD    ?
  67.     gusPos        DW    ?        ; position in GUS memory / 32
  68.     int512        DW    ?
  69.     intLastUsed    DD    ?
  70.     iname        DB    28 DUP (?)    ; instrument name
  71.     SCRS        DB    4 DUP (?)    ; "SCRS" if sample
  72. ENDS
  73.  
  74.  
  75.  
  76.  
  77. ;/***************************************************************************\
  78. ;*     struct s3mChannel
  79. ;*     -----------------
  80. ;* Description:  Scream Tracker 3 module player internal channel structure
  81. ;\***************************************************************************/
  82.  
  83. STRUC    s3mChannel
  84.     note        DB    ?
  85.     inst        DB    ?
  86.     vol        DB    ?
  87.     cmd        DB    ?
  88.     info        DB    ?
  89.     flags        DB    ?
  90.  
  91.     sample        DB    ?
  92.     volume        DB    ?
  93.  
  94.     period        DW    ?
  95.     snote        DB    ?
  96.     preinfo     DB    ?
  97.     toperi        DW    ?
  98.     notepsp     DB    ?
  99.     retrigc     DB    ?
  100.  
  101.     status        DB    ?
  102.  
  103.     vibcmd        DB    ?
  104.     vibpos        DB    ?
  105.  
  106.     volbar        DB    ?
  107.     trefl        DB    ?
  108.     trecnt        DB    ?
  109. ENDS
  110.  
  111.  
  112.  
  113.  
  114. GLOBAL    LANG s3mLoadModule : far
  115. GLOBAL    LANG s3mFreeModule : far
  116. GLOBAL    LANG s3mIdentify : far
  117. GLOBAL    LANG s3mInit : far
  118. GLOBAL    LANG s3mClose : far
  119. GLOBAL    LANG s3mPlayModule : far
  120. GLOBAL    LANG s3mStopModule : far
  121. GLOBAL    LANG s3mSetInterrupt : far
  122. GLOBAL    LANG s3mRemoveInterrupt : far
  123. GLOBAL    LANG s3mPlay : far
  124. GLOBAL    LANG s3mSetPosition : far
  125. GLOBAL    LANG s3mGetInformation : far
  126. GLOBAL    LANG s3mDetectChannels : far
  127. GLOBAL    LANG s3mFindUsedInsts : far
  128.  
  129.  
  130. GLOBAL    LANG mpS3M : ModulePlayer
  131.  
  132.  
  133.  
  134. ;/***************************************************************************\
  135. ;*     enum s3mFunctIDs
  136. ;*     ----------------
  137. ;* Description:  ID numbers for Scream Tracker 3 Module Player functions
  138. ;\***************************************************************************/
  139.  
  140. ENUM    s3mFunctIDs \
  141.     ID_s3mIdentify = ID_s3m, \
  142.     ID_s3mInit, \
  143.     ID_s3mClose, \
  144.     ID_s3mLoadModule, \
  145.     ID_s3mFreeModule, \
  146.     ID_s3mPlayModule, \
  147.     ID_s3mStopModule, \
  148.     ID_s3mSetInterrupt, \
  149.     ID_s3mRemoveInterrupt, \
  150.     ID_s3mPlay, \
  151.     ID_s3mSetPosition, \
  152.     ID_s3mGetInformation, \
  153.     ID_s3mDetectChannels, \
  154.     ID_s3mFindUsedInsts
  155.