Documentation for JMP 1.00 -- Jake's MOD Player for the Gravis UltraSound Copyright (c) 1994 Jaakko Lehtinen Version 1.00 released on January 23rd 1994 1.0 What IS JMP? JMP is a program created for playing Amiga-originated music module files and the PC variants of the MOD format on a Gravis UltraSound sound card. JMP can be freely distributed as long as no charge is involved (BBS user fees excluded) - make sure that every single one of your GUS-owner friends has it! 1.1 A brief list of JMP's features + 4, 6 & 8 channel ProTracker & FastTracker & StarTrekker module support + Automatic GUS baseport detection - the ULTRASND environment variable does _NOT_ need to be set + User selectable volumebars, VU-meter and oscilloscopes for each channel + Supplied with a shell utility - JS.EXE 1.2 Hardware requirements In order to fully function JMP needs the following hardware to be present: * A Gravis UltraSound card * A VGA (optional) 1.3 Command line syntax JMP modulename[.MOD] [OPTIONS] Options: -BM = Blank-mode for really slow computers - no volumebars and channel information -NL = No Looping - JS.EXE can take advantage of this when you want to play many modules one after another without having to touch the keyboard -PX = GUS detection override, X = Baseport ID - 1=210h, 2=220h... Examples: JMP daisy2 - plays the module DAISY2.MOD JMP mansmind -bm -nl -P4 - plays the module MANSMIND.MOD with blank- mode on, module looping off and baseport forced to 240h 1.4 Known bugs/limitations JMP is a memory hog. You might get runtime error 203 (heap overflow) when loading a mod with the total size of the patterndata over 120k due to the inflexible heap allocation of the Turbo Pascal. I haven't found a way to reserve only minimum amount of memory needed to load the patterns. This will be fixed in a future version - when I have the time and skill to translate the whole thing into asm. 2.0 Using JMP When executed JMP displays a message saying 'UltraSound card found at 2x0h' - the x depends on your UltraSound baseport address. Then follows a progress indicator on the sample loading. When the samples are loaded the player screen will appear and the song will start playing. While playing you can control JMP with the following keys: PgDn/PgUp - Jump one position forward/backward 1-8 - Turn a channel on/off M - Toggle between volumebars and VU-meter S - Toggle between oscilloscopes and mainscreen L - Toggle module looping ON/OFF. Looping defaults to ON, which means that backward positionjumps will be allowed. When the end of the module is reached, it will be looped back to the beginning again. When looping is disabled, the playback will stop after the last position or when a backward positionjump is encountered. ESC - While in mainscreen: Exit to DOS While in oscilloscopescreen: Exit to mainscreen F10 - Break sequence and return to JS. Actually JMP halts execution with errorlevel 3 - you can use this feat in your own BATs. These keys function also in the scopescreen - except for F10. 2.1 The Oscilloscopes My scopes look quite primitive, but I don't want to make the EXE larger just because of the graphics. Anyway, the scope layout is following: CHANNEL 1 CHANNEL 2 CHANNEL 3 CHANNEL 4 CHANNEL 5 CHANNEL 6 CHANNEL 7 CHANNEL 8 3.0 Program info JMP was coded with Borland's Turbo Pascal 7.0 and its Inline assembler. The coding was entirely done by me, Jaakko Lehtinen, although great help was achieved from studying the GUSPLAY source by Robert Adolfsson/CASCADA - and Thank You TRUG/FC for your help with my GUS detection. 3.1 When to contact me If you notice a module which in your opinion is not playing right, please contact me and give me the name of the module so that I can investigate and correct the problem. Other bug reports are ofcourse welcome, too. I just hope there won't be need for those ;). And if you've got an idea about the user interface or something else which you think would suit JMP, don't hesitate to contact me. 3.2 Contact info Via mail: Jaakko Lehtinen Raatimiehenkatu 10 A 9 06100 Porvoo SF-FINLAND Via Internet e-mail: jaakko.lehtinen@compart.fi Preferably use the e-mail; it's faster and more convenient in general. 3.3 The Greets Jaakko Lehtinen sends his greetings and thanks to the following persons: Ilkka Koho, Samuli Syv„huoko (GORE/FC), Mika Tuomi (TRUG/FC), and Juha-Pekka Heikkil„ (J-P/DFN) 4.0 Warranty Disclaimer The author (Jaakko Lehtinen) will not be in any case responsible for any kind of damage JMP or JS might cause. Signed January 23rd, 1994: Jaakko Lehtinen