                 ķ
Ĵ H U B R I S   M O D U L E   P L A Y E R v1.06BETAĿ
                ͼ                
                                                                           
 Hubris Module Player and all the files included in this package are       
 Copyright (C) 1997 by Kaj Bjrklund a.k.a. Chem of Hubris. All rights are 
 reserved. Use this software at your own risk - I'm not responsible of any 
 damage caused by this software. You may only distribute HMP in its orinal 
 package and in its original form, unmodified.                             
                                                                           
Ĵ
                                                                           
 HMP features:                                                             
                                                                           
  - SB (1.0, 1.5, 2.0, pro and 16, 8-bit, 16-bit, mono, stereo) support.   
    1.0 (single cycle dma transfer) support has poor output quality.       
    Probably a bug in the code somewhere, but nobody has a card that old   
    any more, right?-)                                                     
  - GUS support. Also a simple sample crunching <click> is implemented, so 
    you're able to load as large modules as you please without having to   
    worry about running out of gus memory. You may have seen a similar     
    technique in CP and XTC-play.                                          
  - Up to 32 channel, 31 instrument protracker/ft1 .MOD support.           
  - Up to 32 channel scream tracker 3.xx .S3M support.                     
  - Up to 32 channel fast tracker 2.0x .XM support. This is not perfect,   
    panning envelope is missing, so is the bidir looping, and I'm not sure 
    whether volume envelopes work exactly right; however, most XMs play    
    nicely :)                                                              
  - Nearly all MOD & S3M & XM effects are supported.                       
  - Most of the supported MOD & S3M & XM effects should be played more or  
    less correctly. Not all, but most. The biggest flaw with the effects   
    is that some effects that should "remember" their last parameters      
    forget them.                                                           
  - HMP compiles with DJGPP V2 and NASM.                                   
  - HMP is not perfect, far from it, but pretty much does its job. If you  
    are looking for a good player to use in your Big Production, I can     
    recommend both MidasSS and MikMod. Sure, you have to pay, but you      
    probably are expecting to get something of your Big Product plus you   
    really get quality; it's money well spent.                             
  - Wanna have fun? Get ODE2PTK.MOD and convert it to XM with FT2. Test    
    how well different players actually play XMs :) :)                     
                                                                           
Ĵ
                                                                           
 What's up since 1.0:                                                      
                                                                           
  - Now samples with a c2spd different than 8363 play more correctly       
    especially with tone portamento ;)                                     
  - This player has become extremely popular!-) Total of !! 1 !! people    
    have "registered". (He pointed out how much HMP [especially the docs]  
    sucked. An easy way to register :)                                     
  - The system now provides a 200 Hz timer for sync purposes. The variable 
    is called "kello.kelloja".                                             
  - Now the player only plays the module once; play.playing indicates if   
    the playing is still in process.                                       
  - Some parts of the code ought to be a bit clearer; all of the code      
    isn't in headers any more. Compilation became nicer too.               
  - Makefile included.                                                     
  - .XM-support added.                                                     
  - Even HMP does include a minimal sound effect support, I wouldn't use   
    it if I was you.. Appears to suck sometimes on the GUS.                
  - This BETA version of HMP is a bit buggy in many ways and I want YOUR   
    feedback, bugfixes, etc to make it work better.                        
                                                                           
Ĵ
                                                                           
 Legal:                                                                    
                                                                           
   THE HUBRIS MODULE PLAYER IS SUPPLIED "AS-IS". THE AUTHOR DISCLAIMS ALL  
   WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE    
   WARRANTIES OF MERCHANTABILITY AND OF FITNESS FOR ANY PURPOSE. THE       
   AUTHOR ASSUMES NO LIABILITY FOR ANY DAMAGE, DIRECT OR CONSEQUENTIAL,    
   WHICH MIGHT RESULT FROM THE USE/ABUSE OF THE HUBRIS MODULE PLAYER.      
                                                                           
   To summarize; I am not responsible of anything negative caused by HMP.  
                                                                           
   You may spread HMP *unmodified* as much as you please on any media      
   including all CD-ROMs, FTP/WWW-sites, BBS-systems etcs. You may charge  
   a fee of the copying process; however, you are not allowed to *sell*    
   HMP.                                                                    
                                                                           
   The Hubris Module Player is SwapWare. This means that if you intend to  
   use it in anything, you must send me something. You can send money,     
   your own source codes, a registered version of your program/game or     
   anything that comes to your mind. E-mail "registrations" are accepted.  
   The package distributed includes a full version of the HMP; registering 
   won't give you any new source code. It's just that I've spent rather    
   much time writing this and it'd be nice to know if anyone likes it :)   
                                                                           
   If you use HMP, you must give me the credit of my work. It'd also be    
   nice if you greeted Hubris in a product that uses HMP. You may not use  
   HMP or any part of it in a game similar to "Rocket Chase". If you make  
   improvements to the source code, please do send them to me.             
                                                                           
   If you understand and agree to obey the terms given, you may use HMP    
   in any kind of production you want, including fw/sw/commercial/etc.     
   You must, however, state in some way that my contribution was limited   
   to the sound system. I don't want to be branded as a co-producer in a   
   porn-slide-show ;)                                                      
                                                                           
   All trademarks mentioned belong to their legal owners.                  
                                                                           
Ĵ
                                                                           
 Ok, that's when one gets to use HMP. But *HOW* to use it?                 
                                                                           
   Check out "hmp.c" and "makefile".                                       
                                                                           
   The order of operation should be:                                       
     1. Call HubrisModulePlayer.                                           
     2. Initialize the sound device.                                       
     3. Set module.file_offset and module.sample.                          
     4. Load the module.                                                   
     5. Initialize sample and sfx "engines".                               
     6. Load sound effects.                                                
     7. Set active channels.                                               
     8. Start playing the module.                                          
     9. Play samples when you want, show the demo, etc.                    
    10. Deinitialize playing.                                              
    11. Call free_mod(). It releases the module and all samples.           
    12. Deinitialize the device.                                           
    13. Exit the program with "void lopeta".                               
                                                                           
   Note that module's channels + sfx channels may not be greater than 32.  
   The init and deinit order presented is what you should use. If you want 
   to play more than 1 tune during the whole operation things might get a  
   bit tricky. First you must release the module by a call to free_mod(),  
   then load the new module and all the samples again. This is due to the  
   gus sample crunching.                                                   
                                                                           
Ĵ
                                                                           
 Contacting:                                                               
                Ŀ                                 
  E-mail me to   kaj.bjorklund@mbnet.fi                                  
                                                 
  or send       Ŀ                             
  snail mail to  Kaj Bjrklund                                           
                 Roihuvuorentie 18 D 164                                 
                 FIN-00820 Helsinki Finland                              
                                             
                                                                           
Ĵ
                                                                           
 Thanks:                                                                   
                                                                           
   I would like to thank the following people for their efforts. Their     
   contributions have been crucial to this project.                        
                                                                           
    DJ Delorie                                                    djgpp    
    Draeden of VLA                                              dma_vla    
    Firelight                                                  fmoddoc2    
    David Jurgens                                                helppc    
    Petteri Kangaslampi & Jarno Paananen              midas soundsystem    
    Simon Tatham                                                   nasm    
    Robert Hhne                                                  rhide    
    Andr Baresel & Craig Jackson                              sblaster    
    Ethan Brodsky                                                  smix    
    Tran and Joshua Jensen                                     ultradox    
    Pekka Nurminen                                   useful information    
    Jean-Paul Mikkers                                            mikmod    
                                                                           
Ĵ
                                                                           
 Howdy:                                                                    
                                                                           
    Acute/Hubris                                                           
    Bull/Hubris                                                            
    Hubris members                                                         
    Ica/Hubris                                                             
    Jere Sanisalo                                                          
    Jokke/Bad Karma                                                        
    Markku Ekblom(/SPC ;)                                                  
    MVZ/Vtzn                                                               
    Olli & Mikko Haanper, and the rest of the RC people.                  
    RoDeX                                                                  
    tAAt members                                   tAAttua laatua pojat :) 
    tArzAn/tAAt                                                            
    TexMex/GM$                                                             
    Tweeker/Hubris/SunSoft                                                 
    Zen/bC!                     has found a whole new level of laziness ;) 
    Zox/Cycla                                                              
                                                                           
Ĵ
 Commercial presentation:                                                  
                                                                           
 rcha*.zip                                                                 
   *****  ROCKET CHASE vx.xx - ATTENTION!  *****                           
   * A fast blow'em up game for 2 - 4 players. *                           
   * Well optimized, soft full screen parallax *                           
   * scrolling, massive digital sound effects, *                           
   * colorful graphics. High quality SW at low *                           
   * price from Finland. Download it NOW!      *                           
   ** (386,VGA,4MB,SB,GUS,joystick,CD,xxxxxx) **                           
                                                                           
   Get the 1.1 version or wait a while for the new 1.2..                   
                                                                           
 3dica*.zip                                                                
   A finnish vector coding tutorial. Some very nice vector example code    
   included ;)                                                             
                                                                           
 tpsbmod!.zip                                                              
   My *OLD* pascal player. Where it all started :)                         
                                                                           
 http://www.hut.fi/~ipelkone/                                              
   The Hubris homepage.                                                    
                                                                           

