home *** CD-ROM | disk | FTP | other *** search
- TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC
-
- TuCGPLAY v1.3Γ
-
- "It's great, it's fast, it's fantastic...it must be TuC!"
-
-
- - Coding & examples by FReAKeR / TuC -
- Betatesting/Documentation/Anti-Social-Behaviour by SiNECuRE / TuC
-
-
-
- Copyright (c) 1995 The Underworld Corporation
- (rip this and die)
-
-
- TUCGPLAY IS COPYRIGHT (C)1994-1995 BY GUNTHER VOET (AKA FREAKER)
-
-
- TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC
-
- IMPORTANT:
-
- You can now include our TUCGPLAY.TPH helpfile in your helpstructure
- without modifying the original libs. You can add the helpfile by going
- to the 'HELP' menu, then select 'FILES', select 'NEW' and browse until you
- get 'TUCGPLAY.TPH'. In short: HELP|FILES|NEW|'TUCGPLAY.TPH'.
-
- Then use SHIFT-F1 and take the TGP option. You will get a complete help
- menu to suit your needs.
-
- TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC
-
-
-
- TABLE OF CONTENTS
-
-
-
- 0. Disclaimer The Usual Legal Hassles
- 1. Introduction An Explanation Of What This Is
- * 2. New Features / Enhancements New Enhancements In This Release
- * 3. General Features A List Of The Capabilities
- * 4. The Procedures The Built-in Functions And Procedures
- * 5. Files In This Package All Files That -Should- Be In This Package
- 6. Current Limitations Some Limits To TuCGPLAY
- 7. Future Enhancements Stuff That May Someday Work
- 8. Some Useful Hints Tricks Of The Trade
- 9. Credits Giving Us Our Credits
- 10. Contacting TuC Contacting The Group
- 11. I'm Desperate! Help! For The Really Hopeless
- * 12. Message To The Users A Word Of Appreciation To The TGP-Users
- 13. Greetings Hi's And Ho's
-
-
- (* : Mega-important chapters! Don't skip these ones!)
-
-
-
-
- 0. LEGAL SHIT (DISCLAIMER)
-
- The author will not be held responsible for any damages resulting from
- the use/misuse of the TUC-GPLAY unit or any other files included in this
- package. The copyrights to all files included in this package are held
- by their respective authors. However the files may be used and distributed
- freely, provided that no money is charged for either the software itself
- or the distribution thereof. None of the files may be reproduced in
- printed form without the written permission of the author(s).
-
- If you want to distribute this package on media not discussed in this
- disclaimer, then please ask for written permission from author(s).
-
- All brands and product names mentioned in this document and these
- executables are trademarks/registered trademarks of their respective
- holders.
-
- In short: -If ya blow up your PC when using this thing, you're on
- your own.
- -If we find out that you've been making money out of
- our production, without our written permission, we'll
- see you in court (or in hospital).
-
-
-
-
- 1. WHAT THE FUCK IS IT?! WHAT CAN I DO WITH IT?! WHEN WILL WIN9X COME OUT?!
-
- This question is dedicated to all the morons out there (Dragon, Dark
- Ripper,...you know who you are!).
- TuCGPLAY is a full-blown, full-featured, state-of-the-art module-player.
- It feels comfortable with: Speaker, SB, SB/Pro, GUS, GUS/MAX, Parallel DAC,
- Claudia Chiffer (who wouldn't ?!). Since the player uses 386-instructions,
- a 386 or above is 'highly recommended'. The player is brought to you in
- the form of two TP 7.0 tpu's that can be linked into your code.
-
-
-
-
- 2. WHAT'S HOT IN THIS NEW RELEASE OF TuGGPLAY ? (NEW ENHANCEMENTS/FEATURES)
-
- - Helpfile included.
- - MANY errors in DOC file removed. (Procedures <> Functions) (sorry guys :)
- - Hardware port detection for SB (pro) added !
- - Automated Polling Mode ! (the polling is now done automatically, by
- linking it to a seperate timer-int. So no more "pollbuffer" every
- split second!! :)
- - By using the Realexesize procedure, you now no longer need to manually
- define the size of the exe when using overlays. This procedure calculates
- the exe-size by checking the header, so DON'T FUCK-UP THE HEADER!
- Since the size is calculated, this also means you can safely compress
- your work using exe-packers like pklite/diet/exepack/...
- - Overlay Checking: TGP now checks if the overlay is present, if not
- it will exit and return an errormessage. (no more crashes! :)
- - File checking: well, basically the same as overlay-checking, but now
- it checks whether or not the selected MODule is present.
- - Quick Setup: a deliciously looking, lightbar-operated, setup-interface
- that simply stores all the requested settings for you. It doesn't
- initialize the card (only the player) nor does it load the MODule, it
- simply gets the configuration. (if you're really lazy, just use the
- quickload procedure :)
- - Debugging Mode: checks whether or not the defined settings are correct,
- and displays the current status. (simply set this to true :)
- - Changed the 'Port' command to 'Musport'....So now it actually works :)
- - Enhanced THX & Dolby Prologic Support
- - Default frequencies are now 22.5KhZ for SB and 44.8KhZ for GUS
- - Detectgus: HARDWARE-detection of the Gravis Ultrasound!
- Returns the base port of the GUS-card (if present ofcoz' :)
- - Freq Procedure: allows you to read and set the playing frequency.
- - Override Procedure: when you use this proc, the player will not perform
- any error-checking. This will result in faster loading, but ofcourse
- if something goes wrong, it goes wrong in an ugly way. :)
- - Even more errorchecking is performed...unless you use the override
- procedure.
- - Readcards Procedure: this procedure fills a record with all cards
- present in your system (including their settings). This makes this
- procedure an ideal utility when making your own interface.
- - Bestcard Procedure: this is an extention to the Readcards Procedure,
- it not only detects which cards are present, but also provides info
- on the best card present (if more cards are found).
- - Initdrv Procedure: initializes the sound-drivers, not the card.
- This is neat when using your own interface, because it allows you
- to postpone the initialization of the drivers (and herby saving memory
- space) until you actually start the playing. So you have more free
- memory to do some other stuff in your program before starting the music.
- (e.g.: playing a wave-file before starting the mod,...)
- - Initcard Procedure: applies the driver-settings to the card.
- Actually this is the hardware-equivalent of the Initdrv Procedure.
- - Position Procedure: allows you to read and set the position in the
- MODule; cool for realtime-mixing :)
- - Completely rewritten basecode which causes the player to run about
- 40% faster (and ofcourse now it takes up even less processor-overhead).
- - Rewritten some little routines in the starfield and the player.
-
- Note: one of the less cool features that Freaker (our 'dearest' coder :)
- added is a namechange for several of the procedures...
- So if you already made something with the previous version of
- TGP, be sure to recheck the procedures-list.
- (this also means that i have to rewrite the entire
- procedures-section :( )
-
-
-
- 3. GIVE ME MORE DATA! INPUT! INPUT! INPUT! (A.K.A. GENERAL FEATURES)
-
- -Dolby (Prologic) Surround Optimization
- -THX-Surround Optimization (try this with a with a THX-system and
- a GUS/MAX!). For those of you who don't know: THX is the surround
- system developed by LucasFilm, and it beats the shit out of Dolby!
- THX support - this means there is a short delay across each channel.
- -48KhZ on GUS/MAX (44Khz-GUS/all other devices are by default set
- to 22.5Khz)
- -Autodetection of Hardware: if several cards are present, TuCGPLAY
- will choose the best-sounding card, or (if you choose to) will use
- the card specified by you.
- -Built in Initialization-Interface
- -Total Background-Execution (automated polling mode)
- -4K-Poll-Buffer, so the player will take up a minimum of system-overhead
- -Supports MOD-files of up to 8 channels
- -32 bit support, even works under OS/2
- -8 octaves ST3 support
- -Supports all common effects (even more - decay, ...)
- -Example proggies to show you the ropes
- -A very detailed doc-file provided by Sinecure (just couldn't resist :)
- -24 or 31 instrument support
- -Possibility to change the current MODule position (FastForward - Rewind)
- -Freqs are manually (re)definable
-
-
-
-
- 4. THE PROCEDURES
-
- This is pretty important so you better read this carefully
- (drinking and reading don't mix).
- If you don't understand this part, go back to playing Doom.
-
- ─────────────────────────Be─prepared─for─a─long─ride!──────────────────────────
-
- {$M 4096,0,8192} {This directive is NECESSARY when using the player !}
-
- 1──────────────────────────────────────────────────────────────────────────────
-
- * PROCEDURE TGP.QUICKLOAD(afilename:string;reask:boolean);
-
- -This will load the MOD from disk and ask for the hardware settings.
- The hardware-settings will be saved into memory, so if you start
- another MOD in the same session, the setup-questions will not be
- asked again unless you specify REASK as true.
- -Arguments: afilename: MOD-filename and path
- reask : true or false (determines wether or not you
- want the hardware-settings to be reset when
- starting another MOD)
-
- 2──────────────────────────────────────────────────────────────────────────────
-
- * PROCEDURE TGP.FASTINIT(afilename:string;aDEVICE:word;aIRQ,aDMA:BYTE;
- aPORT,FREQ:WORD);
-
- -Using this you can force the player to skip the setup-screen, and
- setup everything that is necessary to play. This procedure is actually
- a combination of the Initplayer, Initcard and Loadfile procedures.
- This way you can create your own setup screen if desired.
- To auto-detect the hardware and still skip the setup-screen you can use
- the Readcards (or Detectgus) procedure listed below.
- -Arguments: afilename: MOD-filename and path
- adevice : 1=speaker,2=DAC,3=SB,4=SB-PRO,5=SB-16/AWE32,
- 6=GUS/GUS-MAX,7=NO SOUND
- airq : Defines the IRQ setting of the card (only SB)
- adma : Defines the DMA-channel used by the card.
- On the GUS this is the digital-DMA, NoT the
- Midi-DMA. (only SB)
- aport : I/O port used by the card (e.g. 220h)
- (if dac, port = LPTx)
- freq : Sets the desired frequency-rate (The GUSMAX
- defaults to 48KhZ). 440=44KhZ, 220=22KhZ,...
-
- -Example : TGP.fastinit('cool.mod',6,11,5,220,440);
- Loads the file 'cool.mod', and sets up the player for
- the GUS at irq11,DMA5,port$220,44KhZ.
-
- 3──────────────────────────────────────────────────────────────────────────────
-
- * PROCEDURE TGP.FASTUNINIT;
-
- -Stops the music and clears memory.
- -Arguments: none
-
- 4──────────────────────────────────────────────────────────────────────────────
-
- * FUNCTION TGP.LOADFILE(FILENAME:STRING):INTEGER;
-
- -Loads a file from disk into memory and returns an errorcode,
- nothing more, nothing less. Errorcodes not equal to zero indicate
- an error occured during fileload.
- -Arguments: filename: MOD-filename and path, unlimited length.
-
- -Example : TGP.loadfile('cool.mod');
- Loads 'cool.mod' into memory.
-
- 5──────────────────────────────────────────────────────────────────────────────
-
- * FUNCTION TGP.LOADMEM(ADDRESS:POINTER):INTEGER;
- -Sets up a MOD, already present in memory, for use with the play-procedures
- and returns an errorcode; errorcodes not equal to zero indicate an error
- during the fileload. This is useful if you used your own load-routine to
- insert several MODs into memory.
- -Arguments: address: 32bit decimal value of the MOD-position in memory.
-
- !! CAUTION: the MOD will be loaded twice this way, so you have to clear the
- first version yourself; if you don't know how to do this, you shouldn't be
- using this function.
-
- 6──────────────────────────────────────────────────────────────────────────────
-
- * FUNCTION TGP.LOADOVL(STARTOVL:LONGINT):INTEGER;
- -Loads the MOD from the exec-overlay. (end of file)
- Also returns an errorcode (if errorcode is not equal to zero an error
- has occured during ovlload). Use COPY_BIN to append the modfile to EOF of
- the EXECUTABLE or use "copy /b X + Y" (where X=the exec, and Y=the mod)
- to apply the object to the exec.
- -Arguments: startovl: Defines the 32bit starting position of the overlay.
-
- !! CAUTION: You must use the size of the executable file in STARTOVL, e.g.
- if your exe is 6120 bytes, then you must use 6120 as number. If you use
- multiple mod files, you must copy the first modfile, then look to
- at the size, and make the second procedure.
-
- !! HINT: You can use TGP.REALEXESIZE to get the real exesize.
-
- -Example : TGP.loadovl(realexesize);
- Loads the MODule located at the end of the exe.
- If you're using several overlays, don't forget to add
- the size the previous MODule(s) to the exe-size.
-
- 7──────────────────────────────────────────────────────────────────────────────
-
- * PROCEDURE TGP.INITPLAYER(DEVICE:BYTE;PORT:WORD;IRQ,DMA:BYTE);
- -Skips the built-in setup-interface, and uses the settings provided
- by the user. This is very useful when you are using your own setup-screen,
- because this way you can pass on variables to the player.
- This procedure only sets up the player not the card.
- This does not yet reset the interrupts, so you can still use mouse, etc.
- after initializing the player.
- -Arguments: device: 1=speaker,2=DAC,3=SB,4=SB-PRO,5=SB-16/AWE32
- 6=GUS/GUS-MAX,7=NO SOUND
- port : Defines the I/O port of the soundcard.
- (for DAC, use the LPT port nr)
- irq : Defines the IRQ-channel of the device. (for SB (xx))
- dma : Defines the DMA-channel of the device. (for SB-16/AWE)
-
- !! NOTE: If you want to auto-detect any of the arguments, use the variables
- from the TGPI-record, provided by the Readcard-procedure.
- If you use GUS, the IRQ and DMA will also be ignored.
-
- 8──────────────────────────────────────────────────────────────────────────────
-
- * PROCEDURE TGP.INITCARD;
- -Low-Level initializes the Card.
-
- 9──────────────────────────────────────────────────────────────────────────────
-
- * PROCEDURE TGP.POLLMUSIC;
- -Polls the player, and loads a portion of the MOD into the buffer.
- Normally you shouldn't need this procedure, since the player now does
- its polling automatically, but if you should experience a slowdown in
- the music, then you have to poll the music in your routine.
- -Arguments: none
-
- 10─────────────────────────────────────────────────────────────────────────────
-
- * PROCEDURE TGP.POLLBUFFER;
- -The same as TGP.POLLMUSIC, but instead of a 1K buffer, this procedure
- has a 4K buffer. It is therefore more suitable for heavier routines
- (but ofcourse the buffer also takes up a bit more memory).
- I recommend that you experiment using TGP.POLLMUSIC and TGP.POLLBUFFER,
- because in some cases one might perform better than the other.
- The example included in this package (TEST_TGP.EXE) uses the
- TGP.POLLBUFFER method.
- But, as mentioned above, you probably don't need to poll the music
- manually.
- -Arguments: none
-
- 11─────────────────────────────────────────────────────────────────────────────
-
- * PROCEDURE TGP.UNLOADMUS;
- -Unloads the MOD from memory, if you don't do this the memory will
- not be cleared when loading another MOD. (and so you probably won't
- have enough memory :). (and stacks will block)
- -Arguments: none
-
- 12─────────────────────────────────────────────────────────────────────────────
-
- * PROCEDURE TGP.STARTMUS;
- -Starts the music, interrupts are no longer disabled, so you can still
- use interrups in your program.
- -Arguments: none
-
- 13─────────────────────────────────────────────────────────────────────────────
-
- * PROCEDURE TGP.STOPMUS;
- -Pauses the music, but doesn't unload it. To resume the music, use
- TGP.STARTMUS again.
- -Arguments: none
-
- !! CAUTION: Unexpected problems might occure when using this procedure with
- a SB or a Parrallel DAC. (sometimes)
-
- 14─────────────────────────────────────────────────────────────────────────────
-
- * FUNCTION TGP.VOLUME(NEWVOL:BYTE):BYTE;
- -Change/get the master volume.
- Using this procedure you can create fade-in/outs, volume-slides, and
- much more. The player is by default set to the maximum volume.
- -Arguments: newvol: Sets the value of the master-volume; values may vary
- from 0 to 255 (but you knew that, right? :).
- If newvol='curvol', the current volume will be shown.
-
- -Example : -TGP.volume(125);
- Sets the main-channels to 125.
- -TGP.volume(curvol);
- Gets the current volume.
-
- 15─────────────────────────────────────────────────────────────────────────────
-
- * FUNCTION TGP.POSITION(NEWPOS:WORD):WORD;
- -Let's you read or set the current position in the MODule.
- Using this procedure you can rewind and skip parts of the MODule.
- -Arguments: newpos: Sets the position in the MODule.
- The start of the MODule is 0.
-
- -Example : TGP.position(500);
- Jumps to offset 500 in the MODule.
- TGP.position(curpos);
- Returns the current position.
-
- 16─────────────────────────────────────────────────────────────────────────────
-
- * PROCEDURE TGP.READCARDS;
- -This procedure does an auto-detect of all audio-cards present, and
- stores their settings in the TGPI-info-record.
- -Arguments: none
-
- 17─────────────────────────────────────────────────────────────────────────────
-
- * FUNCTION TGP.BESTCARD:BYTE;
- -When you call this funtion, the Readcards procedure is called, and
- in addition to that the Bestcard variable (part of the TGPI-record)
- if filled with the settings of the best card detected in your system.
- The device number of the best card is also returned.
- -Arguments: none
- -Note : The card selection is as follows:
- 1.GUS/GUS-MAX 4.SB
- 2.SB-16/AWE32 5.SPEAKER
- 3.SB-PRO (DAC can't be detected !)
-
- 18─────────────────────────────────────────────────────────────────────────────
-
- * FUNCTION TGP.REALEXESIZE:LONGINT;
- -Returns the true size of the executable, ignoring compression by pklite
- or other exe-packers. The exe-size is calculated by using the info
- provided in the header of the exe, so don't mess with the header because
- then this procedure might/will not work correctly.
- -Arguments: none
- -The file-size is returned in the form of a longint (but you already guessed
- that, i suppose :)
-
- 19─────────────────────────────────────────────────────────────────────────────
-
- * FUNCTION TGP.DETECTGUS:WORD;
- -A hardware detection routine for the GUS/GUS-MAX, returns the base
- address (NOT in HEX)
- -Arguments: none
- -Note : To convert this value to hex, use the 'word2hex' procedure
- listed below.
-
- 20─────────────────────────────────────────────────────────────────────────────
-
- * FUNCTION TGP.DETECTSB:WORD;
- -A hardware detection routine for the SB/SBPRO, returns the base
- address (NOT in HEX)
- -Arguments: none
- -Note : To convert this value to hex, use the 'word2hex' procedure
- listed below.
-
- 21─────────────────────────────────────────────────────────────────────────────
-
- * FUNCTION TGP.WORD2HEX(BASE:WORD):WORD;
- -Coverts the decimal value Base, to a Hexadecimal value; and returns
- it as a word.
- -Arguments: Base: the value you wish to convert (e.g.: the address returned
- by detectgus)
-
- 22─────────────────────────────────────────────────────────────────────────────
-
- * FUNCTION TGP.FREQ(FREQSET:WORD):WORD;
- -Let's you set or read the current frequency.
- -Arguments: freqset: the frequency you want to set
- curfreq: returns the current frequency
-
- -Example : -TGP.freq(222);
- Sets the frequency to 22.2KhZ.
- -TGP.freq(curfreq);
- Returns the current freq-value.
- Instead of using 'curfreq' you can also use '65535'.
-
- !! CAUTION: this function can only be used before calling initplayer.
-
- 23─────────────────────────────────────────────────────────────────────────────
-
- * PROCEDURE TGP.SHOWDRV;
- -Does a writeln of all the sound-cards supported by TGP.
- -Arguments: none
-
- 24─────────────────────────────────────────────────────────────────────────────
-
- * FUNCTION TGP.INITDRV:BYTE;
- -This thing initializes the internal music-drivers of the player, and
- returns the number of drivers currently installed in TGP.
- -This does not initialize the card! Use initcard for that.
- -Arguments: none
-
- 25─────────────────────────────────────────────────────────────────────────────
-
- * PROCEDURE TGP.QUICKSETUP;
- -Calls the built-in, lightbar-driven, setup-menu and lets you define
- all settings required to run the player. The settings are stored in
- the tgp.info record. (for info on this record see below)
- -Arguments: none
- -Note : Feel free to use this built-in screen; it is very stable
- and it will save you hours of coding to make your own
- interface. (ofcourse, the die-hard coders will ignore my
- advice and make their own interface :)
-
- ───────────────────────────────────────────────────────────────────────────────
-
- * MAIN VARIABLES AND TGP DIRECTIVES !
-
- DEBUGMODE : BOOLEAN; (* Debug mode *)
-
- Give USEFUL debug info (can be used in your releases !, no annoying debug
- info !)
-
-
- FORCEALL : BOOLEAN; (* Force all *)
-
- Force all options, NO errorchecking, so: sloppy quit, errors, crashes,...
-
- ───────────────────────────────────────────────────────────────────────────────
-
- * THE INFAMOUS TGP-INFORMATION RECORD.
-
- TYPE TGPI =
- RECORD
-
- VOLUME : BYTE; (* Current volume *)
-
- DETECT :
- RECORD
- DEVICE : ARRAY[1..6] OF (* Current device det *)
- RECORD
- PRESENT: BOOLEAN; (* Device present ? *)
- IRQ : BYTE; (* Interrupt *)
- PORT : WORD; (* Port *)
- DMA : BYTE; (* DMA channel *)
- END;
- END;
-
- BESTCARD : (* Best card installed
- in the system *)
- RECORD
- DEVICE : BYTE; (* Best devicenumber *)
- IRQ : BYTE; (* irq number *)
- PORT : WORD; (* port number *)
- DMA : BYTE; (* DMA channel *)
- END;
-
- FORCED : (* Forced device (you)*)
- RECORD
- IRQ : BYTE; (* irq number *)
- PORT : WORD; (* port number *)
- DMA : BYTE; (* dma channel *)
- DEVICE : BYTE; (* device number *)
- FREQ : WORD; (* Frequency *)
- END;
- END;
-
- VAR INFO : TGPI;
-
- You can call this record by using the redirected variable TGP.INFO
-
-
- ─────────────────────Pfew!─That─about─covers─the─Procedures──(i─hope─:)────────
-
-
-
-
- 5. FILES IN THIS PACKAGE
-
- If one or more of the following files is missing from your TGP-package,
- then you've got a problem. You can always find the entire TGP-package
- on ToXiC DReAMS (TuC WHQ): +32-15-31.93.76
-
- FILE_ID DIZ 756 <Description of TGP for boards >
- FILES LST 1,312 <All files included in this package >
- TGP_SUP COM 13,213 <TGP (TuC) WHQ -> Support & Distribution site>
- COPY_BIN ZIP 7,306 <COPY binairy data on .EXE or any bin. file >
- TUC_DEMO ZIP 3,864 <Sinecure's starfield routine >
- TUCGPLAY ZIP 55,449 <TUC GPLAY main routines >
-
- * TUCGPLAY TPU 59,984 <TUCGPLAY low level routines>
- * TGP TPU 25,712 <TUCGPLAY interface unit >
- * TUCGPLAY REF 15,551 <Quick reference chart >
- * TUCGPLAY.DOC 32,751 <What are you reading ? >
- * TUCGPLAY.TPH 47,636 <Helpfile for TP/BP 7.0 >
-
- TGP_EXAM ZIP 513,632 <Examples for TUC gplay>
-
- * EXAMPLE1 ??? <QUICKLOAD: interface, load module, play>
- EXAMPLE2 ??? <Low level load a modfile and play it. >
- EXAMPLE3 ??? <QUICKSETUP: interface, load ovl, play >
- EXAMPLE4 ??? <Find bestcard, load module, play >
- EXAMPLE5 ??? <Autodetection routine example >
- EXAMPLE6 ??? <Fastload from disk by using lowlevelr. >
- EXAMPLE7 ??? <Play a second modfile after the 1st one>
-
-
-
-
- 6. CURRENT LIMITATIONS
-
- -TuCGPLAY only works with modules of the MOD-format.
- -The modules are limited to 64 patterns
- -The sample-size is limited to 63K (but that's more a limitation to the
- MOD-format, than to the player)
-
-
-
-
- 7. FUTURE ENHANCEMENTS
-
- Stuff that MiGHT be added someday:
- -Support for other formats
- - ? ? ?
-
-
-
- 8. SOME USEFUL HINTS
-
- -Add the helpfile included in this package to your IDE !
- -If you're having trouble creating your own setup-interface, don't feel
- ashamed to use the built-in interface; after all, we made it so you
- could -use- it!
- -NEVER EVER EVER FORGET TO UNINITIALIZE THE PLAYER!
- (unless you want your pc to crash)
- -Don't forget to checkout the examples
- -{$M 4096,0,8192} {This directive is NECESSARY when using the player !}
- -If you intend to set the volume of the player - the default is set to
- maximum volume (255) -
- -Checkout the included quick-reference-card; better yet: print it and
- hang it on the wall so you can read from it while coding :)
- -A default program that uses the player would have the following structure:
-
- Program Proggy_Doe;
-
- {$M 4096,0,8192} { Don't forget this one! }
-
- Uses TGP;
-
- Begin
-
- tgp.quickload('TUCGPLAY.MOD',false);
- { Quickload file tucgplay.mod }
- { Or, when using a custom interface, }
- { use the seperate procedures. }
-
- tgp.startmus; { Start playing the MODule. }
-
- <YOUR CODE> { Run the stuff that makes you so }
- { proud. :) }
-
- tgp.fastuninit; { Clear memory and card-settings. }
-
- End.
-
-
-
-
- 9. CREDITS
-
- -If you use TuCGPLAY, please feel free to send us your work, or let us know
- what you think of the player. For information on contacting TuC, see below.
-
- -TGP represents hundreds of hours of coding, we offer you the possibility
- to use this great player at no cost, so we believe that greetings or at
- least a word of thanks in your work would not be misplaced.
-
- Less polite: We can't force you to include us in your credits list, but
- it would be FUCKiNG LAME not to!
- And besides, we WILL eventually discover that you used our
- player without giving credit where credit's due; and then
- you can expect to be mentioned in every new TuC-release...
- in the HATES-section that is.
-
-
-
- 10. CONTACTING TUC
-
- We can be reached at 32-15-319376 (ToXiC DReaMS / TuC WHQ).
- Or by sending E-mail to:
-
- Freaker (Coding) :
-
- Fido: 2:292/504@Fidonet.Org
- Internet: Freaker@f504.n292.z2.Fidonet.Org
- real name: Gunther Voet
-
- Sinecure (Betatesting/Dox) :
-
- Fido: Sinecure@2:292/504.0@Fidonet.org
- & 2:292/805.25@Fidonet.Org
- Internet: Sinecure@f504.n292.z2.Fidonet.Org
- & Sinecure@p25.f805.n292.z2.Fidonet.Org
- real name: Stefan Allaert
-
- Please send your comments/suggestions about the documentation to
- me (Sinecure), instead of to Freaker. Our coder doesn't have the time
- to answer/read all of your comments, I do :)
-
-
-
-
- 11. HELP! I DON'T UNDERSTAND ANYTHING OF WHAT YOU SAID!
-
- Make your own pick:
- -Forget all about coding and run Windows.
- -Commit suicide.
- -Contact a real coder to explain the procedures to you.
- -Try and try again....
- -Just use the force. :)
- -If you're REALLY REALLY REALLY desperate, write me or Freaker
- a message stating your problem.
-
-
-
-
- 12. MESSAGE TO THOSE WHO CONTACTED US
-
- We would like to thank the following people for their comments/support:
- (in no particular order!)
-
- Special Thanx: Marc Van Leeuwen (for hatching the player in PascalNet)
- (Sorry for the angry message dude. )
- Jonas Maebe (For the excellent beta-report. )
- Sven Van Soom (No explanation needed :-) )
- Hobbit (Onno) (No explanation needed :-) )
-
-
- Normal Thanx :
-
- Claudio Tagliola (Holland), Marco Van Den Helm (Holland),
- Jouri Geys (Belgium), Frido Otten (Holland), Mark Rogers (US),
- Jan Tegtmeier (Germany), Joerg Lange (Germany), Karl Prosser (US),
- Nils Deslè (Purple Zebra/Belgium).
-
- All users of the Fido-Pascal areas. (Hmm..well maybe not ALL users :)
-
- If there's someone out-there that can put TGP on an FTP-site,
- please send us a message and do so! :)
-
-
-
-
- 13. THE GREETINGS (in no particular order !)
-
- -Big Thanx Go Out To: the makers of the included MODules.
- For using those MODs in our examples.
- We don't know who you are, but if you send us your
- names we can include you in the credits.
-
- -Group Greetings: PMA, TLi (NoT TLy), CoR, ASPHYXiA, FC, NFF, ECR, IMG
-
- -Personal Greetings
-
- Sinecure: EZ-DiCK - Corona - The Hobbit - Natural Mystic - P.M
- The Orme - Antonio Roffo.
-
-
- Freaker : The Hitman - Spiritual Steven - Eric Cumps - Pliny
- McGarreth - Madflight - Neon & Pulze - Tasmaniac.
-
-
-
- - SiNECuRE / TuC
-
- TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC∞TuC
- 320704070595-13R-Γ
-