home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Programmierung / SOURCE.mdf / programm / msdos / c / dmkit / readme.prn < prev    next >
Encoding:
Text File  |  1994-04-19  |  40.1 KB  |  884 lines

  1.  
  2.    Documentation for the DIGPAK & MIDPAK Developers Kit v1.04
  3.  
  4.                 by
  5.  
  6.               John W. Ratcliff
  7.            Compuserve: 70253,3237
  8.               Genie: J.RACLIFF3
  9.              BBS: 1-314-939-0200, 14.4kb
  10.  
  11.              TO GET THE DEVELOPERS KIT CALL
  12.              THIS BBS NUMBER AT UP TO 14.4KB
  13.  
  14.              DIGPAK & MIDPAK DEVELOPERS KIT
  15.              EXISTS IN THE MAIN LIBRARY AS:
  16.  
  17.              DMKIT.ZIP
  18.  
  19.  
  20.              Document first draft: January 3, 1994
  21.                   second release: March 8, 1994
  22.                   third release: March 25, 1994
  23.                          fixes to SB16.COM
  24.                          and first release
  25.                          AWE32 driver.
  26.                   fourth release: April 19, 1994
  27.                           BETA VESA release.
  28.  
  29.  
  30. IMPORTANT NEW FILES FOR BETA VESA RELEASE:
  31.  
  32.  
  33. PASWAVE  COM         6,825  ProAudio Spectrum VESA Driver
  34. SBWAVE     COM         7,091  Creative Labs SoundBlaster VESA Driver
  35. OPL2     COM         6,567  OPL2 VESA MIDI driver (early beta, music
  36.                 implementation very incomplete.)
  37. MPU     COM         4,656  MPU401 VESA MIDI Driver.
  38.  
  39. DIGVESA  COM         5,792  DIGPAK VESA Driver
  40. VESADIG  ADV         6,288  AIL VESA Digital Driver
  41. VESAMID  ADV        12,352  MIDPAK & AIL VESA MIDI Driver
  42. VESAMID  ADD            MIDPAK MIDI Descriptor file.
  43.  
  44. You must load the VESA drivers in your autoexec.bat, or whatever
  45. prior to using the DIGPAK & MIDPAK VESA drivers which talk to that
  46. beta VESA interface.
  47.  
  48.  
  49.  
  50.              Copyright (c) 1994
  51.              The Audio Solution
  52.              747 Napa Lane
  53.              St. Charles, MO 63304
  54.  
  55.  
  56.  
  57.         DIGPAK : DOS based digital sound drivers.
  58.              Written by John W. Ratcliff (CIS:70253,3237)
  59.              Copyright (c) 1994, The Audio Solution.
  60.              $500 per/product distribution license fee.
  61.  
  62.         MIDPAK:  DOS based MIDI music player.
  63.              Written by John W. Ratcliff and John Miles
  64.              Copyright (c) 1994, The Audio Solution.
  65.              $500 per/product distribution license fee.
  66.  
  67.  
  68. ==============================================================================
  69. What is DIGPAK and MIDPAK?
  70. ========================================================================
  71. DIGPAK and MIDPAK are a set of drivers which provide a device
  72. independent API layer under DOS real-mode and protected mode that
  73. supports virtually all sound cards.  DIGPAK allows playback of digital
  74. sound and MIDPAK allows the playback of General MIDI music on ALL sound
  75. cards (including Adlib, SoundBlaster, and other non-MIDI devices through
  76. the best MIDI emulation package available.)  DIGPAK and MIDPAK
  77. operate either as DOS TSR's or can be demand loaded and dynamically linked
  78. by your application.  (The preferred method).
  79.  
  80. Unzip this file, with sub-directories, into a directory called THEAUDIO
  81. and point your PATH statement to the directory.  Once you have done this
  82. you can go to any directory on your machine containing MIDI files or
  83. sound files and type MENU to use MIDPAK and DIGPAK to peruse them.
  84.  
  85. DIGPAK & MIDPAK are for use by professional DOS developers who need to
  86. incorporate sound and music in their products across a wide range of
  87. hardware devices.  These tools are not for the layperson, or beginning
  88. programmer.  All programming examples and interface specifications are
  89. presented in the C and 8086/80386 assembly languages.  If you are not
  90. familiar with digital sound, MIDI music, and C and assembly language
  91. programming then this programmers kit is probably not for you.
  92.  
  93. This kit supports both DOS real-mode as well as DOS protected mode
  94. interface layers.  All assembly language source code must be assembled
  95. with Borland Assembler (in IDEAL mode) and the C code may be compiled
  96. with any C compiler.  The real-mode C code presented here was developed
  97. with Borland C 3.1 DOS IDE and the flat-model C code was generated under
  98. Watcom C386 v9.0.
  99.  
  100. ==============================================================================
  101. Who developed DIGPAK & MIDPAK?
  102. ========================================================================
  103. DIGPAK and MIDPAK were developed by John W. Ratcliff, a game developer
  104. for Electronic Arts.  These drivers were created to allow me to
  105. incorporte sound and music in my game Seawolf for Electronic Arts.
  106. MIDPAK uses the MIDI drivers developed by John Miles of Miles Design.
  107.  
  108. ==============================================================================
  109. What's the quickest way to look at the software?
  110. ==============================================================================
  111. Run SETUP to configure both DIGPAK and MIDPAK for your sound card.  Then
  112. type MENU to play some music and sound.  After running SETUP you can
  113. also run TEST, TEST16, or SEGUE, to run the demo programs.
  114.  
  115. ==============================================================================
  116. Who uses DIGPAK & MIDPAK?
  117. ========================================================================
  118. The list which follows are just some of the companies which use the
  119. DIGPAK and MIDPAK drivers in their DOS based entertainment products.
  120.  
  121.  Electronic Arts             Epyx
  122.  Activision                 Fun Univ Netwk
  123.  Spectrum Holobyte             Home Brew Software
  124.  The Software Toolworks          Humongous Entertainment
  125.  SSI, Strategic Simulations Inc.     ICOM Simulations
  126.  Milliken Publishing Company         Interplay
  127.  Commodore Computer             IntraCorp
  128.  Virgin Games                 Kram
  129.  Compu-Teach                 Legacy Software
  130.  Knowledge Adventure             Macmillan/McGraw Hill
  131.  Gametek                 Magnetic Images
  132.  Access Software             MECC
  133.  Alive Software              Merit Software
  134.  Azeroth Publishing             Microleage Sports Assoc.
  135.  Bethesda Softworks             Ninga
  136.  C.R.A.P.O., Inc.             Norsehelm Productions
  137.  Concepteva                 Objects, Inc
  138.  Cooper, R.J. & Assoc.             Optimum Resource
  139.  DC True                 Presage Software Co. Inc.
  140.  Dennis Cunningham             Quantum Quality Productions
  141.  Three-Sixty Pacific             Redwood Games
  142.  Destiny Software             Saddleback Graphics
  143.  Edmark Corpoartion             Safari Software
  144.  Simutronics                 White Wolf Productions, Inc.
  145.  Stragem                 XOR Corporation
  146.  T&t Research                 Trilobyte
  147.  Waterford Institute             Masque Publishing
  148.  Wesson International             Iterated Systems
  149.  
  150.         and many more...
  151.  
  152.  
  153. ==============================================================================
  154. What products use DIGPAK & MIDPAK?
  155. ========================================================================
  156. Below is just a very PARTIAL list of the product that use DIGPAK & MIDPAK
  157. drivers.
  158.  
  159. Guardians of Eden    Access Software         MidPak
  160. Return to Zork        Activision            DigPak
  161. Mechwarrior II        Activision            DigPak
  162. Animal Quest        Alive Software            DigPak+MidPak
  163. Magic Crayon        Alive Software            DigPak+MidPak
  164. VGA Jigsaw        Alive Software            DigPak+MidPak
  165. Inspector Gadget:    Azeroth Publishing        DigPak+MidPak
  166. Terminator 2029     Bethesda Softworks        DigPak
  167. Le Ponctueur        C.R.A.P.O., Inc.        DigPak
  168. Bilou            Concepteva            DigPak
  169. Switch Progressions    Cooper, R.J. & Assoc.        DigPak+MidPak
  170. Switch Quik        Cooper, R.J. & Assoc.        DigPak+MidPak
  171. Stepping Stones Bonus    Compu-Teach, Inc.        DigPak+MidPak
  172. Shadow President    DC True             DigPak
  173. T-Zero            Dennis Cunningham        DigPak+MidPak
  174. Battle Cruiser 3000AD    Three-Sixty Pacific        DigPak
  175. Creepers        Destiny Software        DigPak+MidPak
  176. Millie's Math House     Edmark Corpoartion              DigPak
  177. KidDesk         Edmark Corporation        DigPak
  178. Fun Univ Ntwk Intfc    Fun Univ Netwk            DigPak+MidPak
  179. Wheel of Fortune    Gametek             DigPak+MidPak
  180. Gateworld Trilogy    Home Brew Software        MidPak
  181. PuttPutt's FunPack      Humongous Entertainment         DigPak+MidPak
  182. PuttPutt Joins Parade    Humongous Entertainment     DigPak+MidPak
  183. Fatty Bear        Humongous Entertainment     DigPak+MidPak
  184. PuttPutt Goes to the Moon Humongous Entertainment    DigPak+MidPak
  185. Beyond Shadowgate    ICOM Simulations        DigPak+MidPak
  186. Battle Chess 4000    Interplay            DigPak
  187. Grandmaster Chess    IntraCorp            DigPak+MidPak
  188. Space Adventure     Knowledge Adventure        DigPak
  189. Dinosaur Adventure    Knowledge Adventure        DigPak
  190. Realms of Avarton    Kram                DigPak
  191. Mutanoid Math Challenge Legacy Software         DigPak+MidPak
  192. Mutanoid Word Challenge Legacy Software         DigPak+MidPak
  193. Sights & Sounds     Macmillan/McGraw Hill        DigPak
  194. Places to Play        Magnetic Images         DigPak
  195. Oregon Trail Deluxe    MECC                DigPak+MidPak
  196. Tom Landry Football    Merit Software            DigPak+MidPak
  197. MicroLeague Baseball IV Microleague Sports Assoc.    DigPak+MidPak
  198. MicroLeague Football II Microleauge Sports Assoc.    DigPak+MidPak
  199. Microleage Cards    Microleage Sports Assoc.    DigPak
  200. Math Zone        Milliken Publishing        DigPak
  201. Marvin The Moose    Milliken Publishing        DigPak
  202. Milliken Storyteller    Milliken Publishing        DigPak
  203. Math Sequences        Milliken Publishing        DigPak
  204. Cribbage Master     Ninga                DigPak
  205. Ragarok (Valhalla)    Norsehelm Productions        DigPak
  206. Layout for DOS        Objects, Inc            DigPak+MidPak
  207. Stickybear Townbuilder    Optimum Resource        DigPak
  208. Contraption ZAck    Presage Software Co. Inc.    DigPak+MidPak
  209. Spaceward Ho PC     Presage Software Co. Inc.    DigPak+MidPak
  210. Solitaire's Journey     Quantum Quality Productions     DigPak+MidPak
  211. Pickle Wars        Redwood Games            DigPak+MidPak
  212. Guzzle Puzzles        Redwood Games            DigPak
  213. My Paint        Saddleback Graphics        DigPak
  214. Space Chase 1,2,3    Safari Software         MidPak
  215. GemStone III        Simutronics            DigPak+MidPak
  216. Cyberstrike        Simutronics            DigPak+MidPak
  217. WorldAtlas        The Software Toolworks        DigPak+MidPak
  218. Chessmaster 3000    The Software Toolworks        DigPak
  219. BodyLink        Stragem             DigPak
  220. Pools of Darkness    Strategic Simulations Inc.    DigPak
  221. Gateway to the Savage    Strategic Simulations Inc.    DigPak
  222. DNA Parrot        T&t Research            DigPak
  223. Monopoly Deluxe     Virgin Games            DigPak
  224. Waterford Mental Math    Waterford Institute        DigPak+MidPak
  225. ATC/Tracon        Wesson International        DigPak
  226. Empire Deluxe        White Wolf Productions, Inc.    DigPak+MidPak
  227. NFL Challenge        XOR Corporation         DigPak
  228. Chess Maniac 5,000,001    Spectrum Holobyte        DigPak+AIL
  229. The 7th Guest        Virgin/Trilobyte        DigPak+AIL
  230. Seawolf         Electronic Arts         DigPak+MidPak
  231. KaleidoSonics        Masque Publishing        DigPak+MidPak
  232. Gambit            Electronic Arts         DigPak+MidPak
  233. Warlords II        SSG                DigPak+MidPak
  234.  
  235. ==============================================================================
  236. What type of 'commercial products' does the license fee apply to?
  237. ============================================================================
  238. Any piece of software which uses the DIGPAK & MIDPAK drivers for which
  239. the developer collects a fee REQUIRES a license. Yes, this INCLUDES
  240. shareware proudcts as well as those that sit on the shelf at a computer
  241. store. This also includes distributable multimedia demos, for which the
  242. multimedia authors were paid a fee to create.  If you are bidding on a
  243. multimedia project and intend to use MIDPAK and DIGPAK, then be sure to
  244. include the $1,000 license fee in your budget!
  245.  
  246. If you are making money because of the value that these drivers add to
  247. your product, then we deserve a license.  There are several man-YEARS of
  248. engineering work in these drivers, as well as continued expenses to
  249. maintain them.    The license fee serves as little more than a
  250. 'maintenance' fee for us to keep the drivers up to date, as well as run
  251. the BBS for people to get continued improvements and updates.
  252.  
  253. Do NOT use DIGPAK and MIDPAK if you are not prepared to pay the license
  254. fee.  Every single one of the products and companies listed above have
  255. paid this same license fee for the right to distribute the DIGPAK and
  256. MIDPAK drivers.
  257.  
  258. ==============================================================================
  259. Can I get a DIGPAK and MIDPAK license for a development tool?
  260. ============================================================================
  261. NO!!  The license for DIGPAK and MIDPAK is for multimedia,
  262. entertainment, and educational products which need support for
  263. interactive sound and music.  Development tools based on the DIGPAK and
  264. MIDPAK drivers are NOT allowed!!  If you want to create a development
  265. package that utilizes the DIGPAK and MIDPAK drivers then you must
  266. contact me directly to discuss such an arrangment.  You are NOT allowed
  267. to resell, DIGPAK and MIDPAK drivers under any conditions as a
  268. developers toolkit. This includes any sort of multimedia authoring
  269. toolkit.  The reason for this should be obvious. You would be in effect
  270. re-distributing DIGPAK and MIDPAK drivers license free, to other
  271. developers, and this is not allowed.  That's not to say we can't come to
  272. an agreement, but you cannot obtain a license for any type of
  273. developement or authoring system using DIGPAK and MIDPAK drivers.
  274.  
  275. ==============================================================================
  276. What do I do if I want to add sound and music support by don't want
  277. to pay a license?
  278. ============================================================================
  279. Call Mystic Software at 1-510-865-9189.  The Worx toolkit from Mystic
  280. software does not require any license fee and is a very nice development
  281. package.  Though it does not support as many sound cards as DIGPAK &
  282. MIDPAK, it is a very servicable development tool.
  283.  
  284. ==============================================================================
  285. What if my shareware product has a free portion, and then a registered
  286. portion?
  287. ============================================================================
  288. Then no license fee applies for the FREE version.  If you are developing
  289. public domain tools and utilities that support DIGPAK & MIDPAK, and they
  290. are truely FREE, then no license fee applies.  If that public domain
  291. tool is a development aid, tool, or authoring system, then the DIGPAK
  292. and MIDPAK portion of that tool MUST contain this COMPLETE document and
  293. make it extremely clear that the distribution license fee still applies
  294. to anyone using that authoring tool.
  295.  
  296. ==============================================================================
  297. If I use both DIGPAK and MIDPAK in a product how much is the total
  298. license then?
  299. ============================================================================
  300. $500 for DIGPAK and $500 for MIDPAK, for a total of $1,000.  Even if you
  301. sell 100,000 copies of the product, the license is still only $1,000.
  302. Unfortunatly even if you sell just 100 copies, the fee applies as well.
  303.  
  304. ==============================================================================
  305. How do I pay my license?
  306. ==============================================================================
  307. Write a check payable to The Audio Solution, and include with it a copy
  308. or your product.  Mail the check to:
  309.  
  310.     The Audio Solution
  311.     John W. Ratcliff
  312.     747 Napa Lane
  313.     St. Charles, MO 63304
  314.  
  315. Shortly thereafter you will receive a signed copy of the license agreement.
  316. Once you have paid the license fee, the agreement is considered in effect
  317. and you may distribute your product with the drivers.  You must, however,
  318. pay the license fee PRIOR to your product being shipped.
  319.  
  320. DIGPAK & MIDPAK are copyrighted software components.  If you distribute
  321. The Audio Solution drivers without having a signed license agreement you
  322. will be in violation of our copyright.    Your product could be required to
  323. be immediatly removed from retail distribution.  I don't think this is
  324. going to be a problem.
  325.  
  326. If you don't think DIGPAK & MIDPAK add $1,000 of value to your product, then
  327. do not use them, period.  Use the Worx Toolkit from Mystic, or write your
  328. own sound code.  But DO NOT use these drivers unless you intend to pay the
  329. license fee.
  330.  
  331. All DIGPAK drivers combined equal almost 20,000 lines of assembly code.
  332. And the same is true for all of the MIDPAK drivers.  John Miles and myself
  333. have invested over 4 years creating and maintaining these drivers.  We
  334. are making this developers kit widely available to the developer community
  335. as a service to the industry.  It is our goal to make these excellent
  336. development tools available to everyone.  But we have bills to pay like anyone
  337. else.  As a self-employed entrepenuer I do not get a paycheck,
  338. health insurance, paid vacations, or any of the outher ammenities that
  339. salaried employees have.  If people use these tools to enhance their product
  340. and generate revenue, then I feel strongly that I should be paid a
  341. license fee for these drivers.
  342.  
  343. ==============================================================================
  344. I'm a shareware author and I can't afford $1,000 until I get enough
  345. registrations.    What do I do?
  346. ============================================================================
  347. Send me a copy of your shareware product on my BBS along with a piece of
  348. e-mail explaining your situation.  In most cases I will issue a SHAREWARE
  349. LICENSE AGREEMENT that will require payment of the FULL license fee once
  350. you have received 500 paid registrations for your product.  If you don't
  351. receive 500 registrations, then you will not have to pay the license fee.
  352. But once you have received 500 registrations you MUST pay the license fee.
  353. As a shareware author I'm certain you understand not wanting to be ripped
  354. off, and likewise I would expect you to pay your license for the DIGPAK
  355. and MIDPAK drivers in good faith.  You must come to an agreement with me
  356. prior to the release of your shareware package.
  357.  
  358. ==============================================================================
  359. I'm doing software development for the disabled.  Even though I have
  360. to charge a fee for the software to cover expenses, we are a non-profit
  361. organization.  Could I be exempted from the license fee?
  362. =========================================================================
  363. In general yes.  I would like to provide exemptions to anyone using
  364. DIGPAK and MIDPAK to create software to help the disabled.  However, you
  365. will still need to receive a signed license agreement with that
  366. exemption. Please contact me ahead of time (via Compuserve or my BBS),
  367. and let me know about what you are doing.  When your project is complete
  368. you will receive a signed distribution license agreement, with the
  369. exemption.  Simply send me a copy of your product and a check for $1 to
  370. cover the license fee.    This DOES NOT include EDUCATIONAL SOFTWARE
  371. created by any FOR PROFIT organization.
  372.  
  373. ==============================================================================
  374. What kind of digitized sound format does DIGPAK support?
  375. ==========================================================================
  376. None.  DIGPAK is a low-level API layer.  It simply insulates the programmer
  377. from having to talk DIRECTLY to the hardware.  The data you pass to DIGPAK
  378. is the same data you would have been passing to the sound card itself.
  379. DIGPAK requires raw 8 bit unsigned PCM data in the first 1mb of address
  380. space in under 64k lengths.  Stereo 8 bit support is provided with
  381. interleaved left channel/right channel 8 bit samples.  Support for
  382. 16 bit digital sound in DIGPAK is provided through raw 16 bit SIGNED
  383. data.  Why signed?  Because every single 16 bit PC sound card I have
  384. encountered supports 8 bit unsigned PCM and 16 bit signed PCM.    The
  385. DIGPAK drivers, in almost every case, simply passes that chunk of
  386. audio data out to the DMA controller.
  387.  
  388. Interpreting .WAV files, .VOC files, or .ANYTHING files is a higher application
  389. level problem, one that you will have to provide support for yourself.    Since
  390. I always use audio data in RAW format by brining it over from the Macintosh
  391. I have no use or need for various sound file formats.
  392.  
  393. If you don't know what 8 bit unsigned PCM, 8 bit interleaved sound, and
  394. 16 bit signed sound means, then you will have to ask around on the networks
  395. or read some books.  Though I have insulated the user from the ugly
  396. details of the hardware layer, I can't insulate you from knowing about
  397. sound programming.  That you will still have to do on your own.
  398.  
  399. ==============================================================================
  400. How do I play many sounds at once?
  401. ==============================================================================
  402. DIGPAK supports only a single channel of sound at once, which reflects
  403. the nature of almost every single PC sound card on the market.    To play
  404. multiple sounds at one time requires that you 'mix' digital sound
  405. samples in real-time.  Under protected mode DIGPAK I have a digital mixer
  406. that keeps a constantly running stream of audio data, up to 16 channels
  407. in 16 bit 11khz stereo in real-time taking almost none of the machine's
  408. CPU.
  409.  
  410. I also consider this mixer highly proprietary.    I am not prepared to
  411. tell you how I did it, or how you can do it.  I simply mention it here
  412. to let you know that it can be done.  With my system I create an
  413. immersive environmental sound system.  Unlike a MOD player which must be
  414. able to react to percussive changes in as little as a 100ths of a
  415. second, my environmental sound system allows the application to que any
  416. sound going on inside a 3d environment in real time.  If someone is
  417. shooting off to your left, then you hear the shots going by.  If an
  418. airplane is flying overheard, you hear not only the plane's engine noise
  419. but also doppler shift and depth cueing via volume changes.
  420.  
  421. Just look a little at how sounds work in DOOM and you will get an ideal about
  422. the importance of immersive virtual sound.  I'm not interested in selling
  423. my environmental sound system because I consider it part of my competitive
  424. edge in the game industry.  I simply mention it here to make it very clear
  425. that the DIGPAK interface does not by any means limit you in terms of what
  426. you can do on the various sound cards.    It is only the smallest of layers
  427. between your application and the physical DMA transfer that a sound card
  428. has to do anyway.
  429.  
  430. The DIGPAK API is no more limiting than the sound card itself.    You can
  431. make it do as much or as little are your programming skills will take
  432. you.
  433.  
  434. ==============================================================================
  435. How do I get technical support?
  436. ==============================================================================
  437. You ask around.  Look at the list of products above.  DIGPAK and MIDPAK work.
  438. Many other programmers as well as myself have been able to do tremendous
  439. things with the DIGPAK and MIDPAK programming interface.  Just look at any
  440. of the PuttPutt products from Humongous Entertainment, or the music and sound
  441. in The 7th Guest (which doesn't directly use MIDPAK but uses the same MIDI
  442. driver and patch bank).  Programming a computer is extremely difficult.
  443. That's why I have provided and will continue to provide lots of sample
  444. source code for DIGPAK and MIDPAK.
  445.  
  446. But I cannot provide one-on-one technical support.  I have to write my games
  447. too, and I have found out that just answering hundreds of people's programming
  448. questions is a full-time job I'm not capable of keeping up with.  First
  449. of all DIGPAK and MIDPAK licenses barely cover the cost of keeping the BBS
  450. up and running.  Nobody wants me to charge even MORE for the drivers.
  451.  
  452. I haven't sold the DIGPAK and MIDPAK programmers kit for over a year.  By
  453. making the DIGPAK and MIDPAK programmers kit widely available electronically
  454. I hope to make lots of people educated in the use of the DIGPAK and MIDPAK
  455. programmers interface.    Thus help will be available on the Internet,
  456. Compuserve, and other places in the electronic community.
  457.  
  458. ==============================================================================
  459. What about VESA?
  460. ==============================================================================
  461. The multimedia sound card industry is highly political.  I am fully
  462. supporting the VESA standard for sound and music.  But it's not going to
  463. happen overnight.  It will take at least the next 18 months before you
  464. will be able to get the kind of sound driver support under VESA that is
  465. currently available with DIGPAK and MIDPAK.  Additionally DIGPAK and
  466. MIDPAK act as a value added API layer on top of VESA.  Especially MIDPAK
  467. which provides extensive support for midi parsing, and interrupt service
  468. control.
  469.  
  470.  
  471. ==============================================================================
  472. How do I use DIGPAK drivers?
  473. ==============================================================================
  474. The DIGPAK drivers all have the filename extension of .COM.  Starting at
  475. byte offset 3 from the beginning of the file is the ascii string
  476. 'DIGPAK'.  The default DIGPAK driver should always be copied to the
  477. filename SOUNDRV.COM.  DIGPAK drivers hook user interrupt vector 66h,
  478. which is documented briefly in the book 'PC Interrupts: A Programmer's
  479. Reference To BIOS, DOS, and Third-Party Calls' by Ralf Brown and Jim
  480. Kyle, published by Addison Wesley.
  481.  
  482. You configure a DIGPAK driver by running the program SETD.EXE.
  483.  
  484. The complete API documentation for DIGPAK is in the file DIGPKAPI.DOC.
  485. The C link layer for DIGPAK is through the C prototype header file
  486. DIGPLAY.H and by linking to the object module DIGPLAY.OBJ produced
  487. from DIGPLAY.ASM.
  488.  
  489. A DIGPAK driver can be loaded as a TSR simply by typing it's name.
  490. You can load the default sound driver, as a TSR, by typing 'SOUNDRV'
  491. and hitting enter.  You can unload that driver by typing 'SOUNDRV U'.
  492. The preferred method of using a DIGPAK driver is to demand load it
  493. in your program.  This is done by including the header file LOADER.H
  494. in your program and linking to LOADER.C.
  495.  
  496. Simply look at the sample program TEST.C which fully demonstrates
  497. loading both DIGPAK and MIDPAK and plays both music and sound effects.
  498.  
  499.  
  500. ==============================================================================
  501. How do I use MIDPAK drivers?
  502. ==============================================================================
  503. The SETM program will configure MIDPAK appropriately for your sound card
  504. configuration.    SETM creates the three file components for MIDPAK.  They
  505. are MIDPAK.COM, MIDPAK.ADV, and MIDPAK.AD. MIDPAK.COM is the MIDPAK
  506. driver itself, which provides the API functionality through user
  507. interrupt vector 66h.  MIDPAK loads into INT 66h as a layer ON TOP OF
  508. DIGPAK.  Meaning if you want to use both DIGPAK and MIDPAK at the same
  509. time, you first load DIGPAK, and then load MIDPAK.  The file MIDPAK.ADV
  510. is the AIL MIDI driver from Miles Design Inc.  MIDPAK represents a
  511. subset of the full AIL specification.  The complete AIL (Audio Interface
  512. Library) supports vastly greater interactive control over music.  If you
  513. are interested in purchasing the complete AIL system you can call Miles
  514. Design at 1-512-345-2642.  The AIL license includes full-source code
  515. disclosure, real-mode, protected mode, and Windows DLL versions, and a
  516. $7,500 one-time license fee (not for all three versions, but for each).
  517. Please don't call if you aren't prepared to pay the full license amount.
  518.  
  519. The last file is MIDPAK.AD.  This is the instrument definition file for
  520. OPL2 and OPL3 base sound cards (adlib, soundblaster, etc.).  This file
  521. is ignored on hardware MIDI implementation sound cards like the Sound
  522. Canvas, but is still must exist in the directory at load time.
  523.  
  524. This instrument file conforms to the general MIDI specification and
  525. was created by The Fat Man.  There is a distribution license fee
  526. associated with the use of this MIDPAK.AD file!  You must mail a
  527. copy of your product, a check for $1, and include the following credit:
  528.  
  529.  "General MIDI patches (c) 1994 The Fat Man and K. Weston Phelan"
  530.  
  531.  
  532.     The Fat Man
  533.     7611 Shoal Creek Blvd.
  534.     Austin, TX 78757
  535.     1-512-454-5775
  536.     BBS: 1-512-454-9990
  537.  
  538. Call the Fat Farm BBS to obtain more detailed information regarding the
  539. General MIDI license agreement.
  540.  
  541. Like DIGPAK, MIDPAK can be loaded and unloaded as a TSR.  Simply type
  542. 'MIDPAK' and it will load and stay resident.  Typing 'MIDPAK U' will
  543. unload the MDIPAK driver.
  544.  
  545.  
  546. ==============================================================================
  547. What is 'eXtended MIDI'?
  548. ==============================================================================
  549. MIDPAK, because it uses the AIL drivers from Miles Design, does not play
  550. MIDI files DIRECTLY.  Your MIDI file must be converted into eXtended
  551. MIDI format.  This is a pre-parsed MIDI file format created by Miles Design.
  552. The eXtended MIDI file format supports multiple MIDI sequences in a
  553. single file, that MIDPAK will let you switch to almost instantly using
  554. the PlaySequence command.  You add multiple MIDI files to a single eXtended
  555. MIDI file (XMI) as follows:  Say you have three song files call SONGA.MID
  556. SONGB.MID and SONGC.MID and wanted to put them all in one XMI file.
  557. You would do the following:
  558.  
  559.     MIDIFORM SONG.XMI SONGA.MID SONGB.MID SONGC.MID
  560.  
  561. This places the three MIDI sequences into the single eXtended MIDI
  562. file SONG.XMI.    They would be accessed in MIDPAK as PlaySequence(0)
  563. PlaySequence(1) and PlaySequence(2).
  564.  
  565.  
  566. ==============================================================================
  567. What format should the MIDI data be in?
  568. ==============================================================================
  569. On a true MIDI device like an MPU401 MT-32 or SoundCanvas, exactly what
  570. is found in the MIDI stream is passed to the device.  So however that
  571. MIDI device responds to MIDI is what gets passed down.    (Excluding
  572. SysEx messages).
  573.  
  574. But on an Adlib or SoundBlaster MIDPAK EMULATES a MIDI device.    And that
  575. EMULATION has certain restrictions.
  576.  
  577. Channels 2-9 are the melodic tracks.
  578. Channel  10 percussions.
  579.  
  580. The patch set is in the general MIDI format.
  581.  
  582. I know very little about MIDI, and rely heavily on professional MIDI
  583. composers to provide my music.    To get your MIDI music into MIDPAK
  584. compatible format so that is sounds GREAT, you can contact the
  585. following composers:
  586.  
  587.  
  588.     Wallace Music & Sound
  589.     Rob Wallace, Executive Producer
  590.     6210 West Pershing Avenue
  591.     Glendale, Arizona 85304-1141
  592.     1-602-979-6201
  593.  
  594.     Computer Music Consulting
  595.     Donald S. Griffin
  596.     239 Richland Avenue
  597.     San Francisco, CA 94110
  598.     415-285-3852
  599.  
  600.     The Fat Man
  601.     7611 Shoal Creek Blvd.
  602.     Austin, TX 78757
  603.     1-512-454-5775
  604.  
  605. These guys have all done numerous projects composing with AIL and
  606. MIDPAK.  They know how to make an Adlib, SoundBlaster, and SoundCanvas
  607. sound AWESOME.    But they are also professionals.  Please DO NOT CALL
  608. any of these guys unless you are prepared to accept a bid for a project.
  609.  
  610. If you think the license fee for MIDPAK at $500 is high, then wait
  611. until you find out how much a professional music score costs.  Even
  612. for a small project you are talking several thousand dollars.  So
  613. unless you have a legitimate music budget please do not call these
  614. guys.
  615.  
  616. I would recommend that you call Rob Wallace and get a bid on having
  617. all of your musical scores tweaked for the various sound cards.
  618.  
  619.  
  620. ==============================================================================
  621. When I play my MIDI music with MIDPAK some of the music seems to be missing?
  622. ==============================================================================
  623. Check your channel assignments.  MIDI emulation on SoundBlaster etc, occurs
  624. on channels 2-9 for melodic tracks, and channel 10 for percussions.  A lot
  625. of sequencing software saves MIDI out starting with channel 1.    Channel
  626. 1 is ignored under MIDPAK's MIDI emulation.  MIDPAK channel assignments
  627. were designed to emulate those of a Roland MT-32.  Even though we have
  628. provided a set of General MIDI patch assignments, the channel assignments
  629. are still limited to 2-9 and 10 as indicated here.
  630.  
  631. ==============================================================================
  632. The music on MIDPAK sounds differently than inside my sequencer?
  633. ==============================================================================
  634. Your sequencer is using a different set of patchs than MIDPAK uses.  Contact
  635. any of the composers mentioned above to get your MIDI tweaked to sound good
  636. with the MIDPAK patches.  BE PREPARED TO PAY A REASONABLE FEE FOR THIS
  637. SERVICE!!  I strongly recommend getting your music done professionally.
  638. The composers listed above have great experience at making music
  639. sound good with MIDPAK.
  640.  
  641. ==============================================================================
  642. When I specify a volume change with MIDPAK nothing happens?
  643. ==============================================================================
  644. MIDPAK's volume changes are relative to the base volume for that channel.
  645. If you didn't specify a base volume for each channel in your MIDI file then
  646. MIDPAK can't change the volume.  You specify the base volume for a MIDI channel
  647. with a controller 7.
  648.  
  649. ==============================================================================
  650. Can I use the same MIDI file for all sound cards?
  651. ==============================================================================
  652. No.  But you can come close.  Start by scoring for general MIDI, but it's
  653. best to tweak for SoundCanvas, General MIDI, OPL2/OPL3, and re-patch for
  654. MT-32.    Base volumes are quite a bit different on each device, and different
  655. patches sound better/worse across these devices.  The source code to the
  656. SETM (MIDPAK configuration program) is provided within (SETUP.ZIP) and
  657. depending on which sound driver the user selects you can copy different
  658. versions of your music.
  659.  
  660. ==============================================================================
  661. Why does MIDPAK hang under Windows?
  662. ==============================================================================
  663. Because of a bug in Microsoft Windows it doesn't support all of the
  664. hardware interrupts on the machine.  Specifically the CMOS real-time
  665. clock which MIDPAK uses.  If you use the TMIDPAK.COM version if MIDPAK
  666. this will work under Windows but it might casue other conflicts with
  667. your application.  One option is to use PMIDPAK.COM (polled MIDPAK) and
  668. to service the MIDI interrupt (at 120hz) yourself.
  669.  
  670.  
  671. ==============================================================================
  672. What are all of these files?
  673. ==============================================================================
  674.  
  675. ADLIB.ADV    Adlib AIL MIDI driver.
  676. ADLIB.ADD    Description file for ADLIB.ADV
  677. ADLIB.COM    DIGPAK Adlib digital sound driver.
  678.  
  679. ADLIBG.COM    Adlib Gold DIGPAK sound driver.
  680. ADLIBG.ADV    Adlib Gold AIL MIDI driver.
  681. ADLIBG.ADD    Description file for ADLIBG.ADV
  682.  
  683. AGU16.XMI    Demonstration MIDI file by The Fat Man
  684. AGU16.DES    MENU Description file for AGU16.XMI
  685.  
  686. ARIA.COM    DIGPAK sound driver for Sierra Semiconductors Aria cards.
  687. ARIAXMID.ADV    Aria AIL MIDI driver.
  688. ARIAXMID.ADD    Description file for ARIAXMID.ADV
  689. GM2.BNK     General MIDI intrument file for ARIA (REQUIRED!)
  690.  
  691. BIGMOUTH.COM    DIGPAK driver for Talking Technologies BigMouth card.
  692.  
  693. CMIDPAK.COM    CMOS real-time clock version of MIDPAK>
  694.  
  695. COOL!.SND    Demonstration sound effect from Wallace Music & Sound
  696. COOL!.DES    MENU Description file for COOL!.SND
  697.  
  698. CREDITS.XMI    Demonstration MIDI file from Wallace Music & Sound
  699. CREDITS.DES    MENU Description file for CREDITS.XMI
  700.  
  701. CVXSND.COM    DIGPAK sound driver for Covox Speech Thing.
  702.  
  703. DESERT.XMI    Demonstration MIDI file from Wallace Music & Sound
  704. DESERT.DES    MENU Description file for DESERT.XMI
  705.  
  706. DIGISP.COM    DIGPAK driver for Digispeech DS201.
  707.  
  708. DIGPKAPI.DOC    API Specification Documentation for DIGPAK.
  709.  
  710. DIGVESA.COM    DIGPAK sound driver for VESA compliant Wave interface.
  711.  
  712. DOS4GW.EXE    DOS 4GW DOS Extender used for Flat-Model DEMO programs.
  713.  
  714. EARTH.XMI    Demonstration MIDI file from Wallace Music & Sound
  715. EARTH.DES    MENU Description file for EARTH.XMI
  716.  
  717. ECHOII.COM    DIGPAK sound driver for Street Electronics Echo II
  718.  
  719. FAT.OPL     MIDPAK General MIDI patch set by the Fat Man.
  720.  
  721. FLAT <DIR>    Contains full source to protected mode interface for
  722.         DIGPAK & MIDPAK.
  723.  
  724. GENMID.ADV    AIL MPU401 General MIDI driver.
  725. GENMID.ADD    Description file for GENMID.ADV
  726.  
  727. GF166.COM    DIGPAK driver for Gravis Ultrasound
  728. GF1MIDI.ADV    AIL MIDI driver for Gravis Ultrasound
  729. GF1MIDI.ADD    Description file for GF1MIDI.ADV
  730.  
  731. GU23.XMI    Demonstration MIDI file by The Fat Man
  732. GU23.DES    MENU Description file for GU23.XMI
  733.  
  734. IBM1BIT.COM    DIGPAK PC Speaker driver 1 bit sound.
  735. IBMBAK.COM    DIGPAK PC Speaker driver, foreground only.
  736. IBMSND.COM    DIGPAK PC Speaker driver, limited background audio.
  737.  
  738. LANTSND.COM    DIGPAK driver for Lantastic Audio Adaptor from Artistoft.
  739.  
  740. LSIZE.COM    DIGPAK driver for the Life Size Sound Enhancer.
  741.  
  742. MAJESTY.XMI    Demonstration MIDI file from Wallace Music & Sound
  743. MAJESTY.DES    MENU Description file for MAJESTY.XMI
  744.  
  745. MARIO.XMI    Demonstration MIDI file from Wallace Music & Sound
  746. MARIO.DES    MENU Description file for MARIO.XMI
  747.  
  748. MENU.EXE    MIDPAK & DIGPAK Music & Sound browser.
  749.  
  750. MIDIFORM.EXE    Convert MIDI files into eXtended MIDI file format (XMI)
  751.  
  752. MIDPAK.ADV    Currently configured AIL MIDI driver.
  753. MIDPAK.COM    Currently configured MIDPAK driver.
  754. MIDPAK.AD    Currently configured MIDPAK patch bank file.
  755.  
  756. MIDPKAPI.DOC    API Specification Documentation for MIDPAK.
  757.  
  758. MT32MPU.ADV    AIL MIDI driver for MT-32/LAPC
  759. MT32MPU.ADD    Description file for MT32MPU.ADV
  760.  
  761. MULTISND.ADV    Turtle Beach Multisound AIL MIDI driver.
  762. MULTISND.ADD    Description file for MULTISND.ADV
  763. MULTISND.COM    DIGPAK Turtle Beach Multisound driver.
  764.         (BETA, requires PRESETS utility to have been run,
  765.         see TURTLE.ZIP)
  766.  
  767. NEWS.XMI    Demonstration MIDI file from Wallace Music & Sound
  768. NEWS.DES    MENU Description file for NEWS.XMI
  769.  
  770. NOSOUND.COM    Functional DIGPAK driver that plays no sound.  Responds
  771.         to all DIGPAK functions, for timing considerations but
  772.         takes little CPU.  Sometimes preferable over the lame
  773.         PC Speaker drivers.
  774.  
  775. PAS16.COM    DIGPAK sound driver for MediaVision ProAudio Spectrum 16
  776.         and Logitech Soundman 16.  Full 16 bit sound support.
  777.  
  778. PASFM.ADV    AIL MIDI driver for ProAudio Spectrum
  779. PASFM.ADD    Description file for PASFM.ADV
  780.  
  781. PASOPL.ADV    AIL MIDI driver for ProAudio Spectrum 16, etc.
  782. PASOPL.ADD    Description file for PASOPL.ADD
  783.  
  784. PAUDIO.COM    ProAudio Spectrum DIGPAK sound driver.
  785.  
  786. PCSPKR.ADV    AIL PC Speaker driver (only responds to channel 2 of MIDI)
  787. PCSPKR.ADD    Description file for PCSPKR.ADV
  788.  
  789. PEND.EXE    Flat model demo program, uses PostAudioPending calls
  790.         and auto-init DMA.  To use type PEND PEND.SND after
  791.         you have configured a DIGPAK sound driver.
  792.  
  793. PEND.SND    Demo sound effect for PEND.EXE
  794.  
  795. PMIDPAK.COM    Polled version of MIDPAK.  Application required to
  796.         provide timer services.
  797.  
  798. REAL<DIR>    Demonstration source code in normal DOS real-mode.
  799.  
  800. REMOVE.BAT    Batch file to remove configured MIDPAK and DIGPAK
  801.         sound drivers.
  802.  
  803. SB16.COM    BETA DIGPAK sound driver for SoundBlaster 16.
  804.         Supports 16 bit stereo sound.
  805.  
  806. SBCLONE.COM    DIGPAK sound driver for SoundBlaster Clones.
  807.  
  808. SBFM.ADV    AIL SoundBlaster MIDI driver.
  809. SBFM.ADD    Description file for SBFM.ADV
  810.  
  811. SBLASTER.COM    Creative Labs SoundBlaster DIGPAK sound driver.
  812.  
  813. SBP1FM.ADV    AIL SoundBlaster Pro original MIDI driver.
  814. SBP1FM.ADD    Description file for SBP1FM.ADV
  815.  
  816. SBP2FM.ADV    AIL SoundBlaster Pro current MIDI driver (OPL3).
  817. SBP2FM.ADD    Description file for SBP2FM.ADV
  818.  
  819. SBPRO.COM    Creative Labs SoundBlaster Pro DIGPAK sound driver.
  820.  
  821. SC32MPU.ADV    AIL MIDI driver for Roland Sound Canvas
  822. SC32MPU.ADD    Description file for SC32MPU.ADV
  823.  
  824. SEA.XMI     Demonstration MIDI file from Wallace Music & Sound
  825. SEA.DES     MENU Description file for SEA.XMI
  826.  
  827. SEGUE.EXE    Demonstration flat model program using SegueSequence.
  828.  
  829. SENSAT.ADV    AIL MIDI driver for Tandy Sensation.
  830. SENSAT.ADD    Description file for SENSAT.ADV
  831.  
  832. SETD.SND    Demonstration sound effect for DIGPAK setup program SETD
  833. SETD.EXE    DIGPAK setup/config program.  Source in SETUP.ZIP
  834. SETD.DES    MENU Description file for SETD.SND
  835.  
  836. SETM.XMI    Demonstration MIDI file for MIDPAK setup program SETM
  837. SETM.EXE    MIDPAK setup program. Source code in SETUP.ZIP
  838. SETM.DES    Description file for SETM.XMI
  839.  
  840. SETUP.ZIP    Source code to SETM and SETD.  Borland C 3.1 format.
  841.  
  842. SETUP.BAT    Batch file to configure both DIGPAK and MIDPAK drivers.
  843.  
  844. SHYA!.SND    Demonstration sound effect from Wallace Music & Sound
  845. SHYA!.DES    MENU Description file for SHYA!.SND
  846.  
  847. SKY.XMI     Demonstration MIDI file from Wallace Music & Sound
  848. SKY.DES     MENU Description file for SKY.XMI
  849.  
  850. SMSND.COM    Covox Voice Master II, SoundMaster I, DIGPAK driver.
  851.  
  852. SNDSYS.COM    Microsoft Windows Sound System DIGPAK driver.
  853.  
  854. SOUNDRV.COM    Default configured DIGPAK sound driver.
  855.  
  856. SOURCE.COM    Walt Disney Sound Source DIGPAK sound driver.
  857.  
  858. STFX.COM    ATI Stereo FX DIGPAK sound driver.
  859.  
  860. TANEXTX.COM    Tandy EX/TX/SX/HX PC jr, DIGPAK sound driver.
  861.  
  862. TANSLTL.COM    Tandy Sensation DIGPAK sound driver.
  863.  
  864. TEST.EXE    Flat Model DIGPAK/MIDPAK demonstration program.
  865. TEST.SND    Demonstration sound effect.
  866. TEST.XMI    Demonstration MIDI file.
  867. TEST1.SND    Another test sound effect.
  868. TEST16.EXE    Flat model DIGPAK demo program of all DIGPAK play modes.
  869. TEST2.SND    Another test sound effect.
  870.  
  871. TITLE.XMI    Demonstration MIDI file from Wallace Music & Sound
  872. TITLE.DES    Description file for TITLE.XMI
  873.  
  874. TMIDPAK.COM    8253 Timer Based MIDPAK.
  875.  
  876. VECTOR.COM    Interrupt vector handler used by flat-model demo programs.
  877.  
  878. VMSND.COM    Covox Voice Master I DIGPAK sound driver.
  879.  
  880. WSS.ADV     AIL MIDI driver for Microsoft Windows Sound System.
  881. WSS.ADD     Description file for WSS.ADV
  882.  
  883.  
  884.