EdLib 1.05a Cracktro by Motiv8 (M8)
1 of 54 files
motiv8
-
This download is an executable MS-DOS program that will not run on a modern computer.
It needs a DOS emulator such as DOSBox-X, Staging;
or a virtualized MS-DOS or FreeDOS system.
Browsers may flag this download as unwanted or malicious. If unsure, scan it with VirusTotal. -
Last modified Oct 28, 2006 10:32:12 PM
MD5 checksum 4e3a11b5fe3ad26c108aefe37c5894f9
Mime type
Download edlb105a.zip
Size 142 kB
1994 December 21
- Zip - DOS / Cracktro or intro
- Demozoo
52 items in the archive
- EDLIB.001
- EDLIB.002
- FILE_ID.DIZ
- PLAYER/
- SONGS/
- USE/
- EDLIB.EXE
- EDLIB.REV
- EDLIB.DOC
- MOTIV8.COM
- PLAYER/DATA.BIN
- PLAYER/INTERFAC.BIN
- PLAYER/PLAYER.BIN
- SONGS/MTL_ALTT.EDL
- SONGS/DRX_BUS.EDL
- SONGS/VIB_FIS3.EDL
- SONGS/DRX_FLAS.EDL
- SONGS/MSK_FRSH.EDL
- SONGS/PJO_KOER.EDL
- SONGS/DRX_HUMA.EDL
- SONGS/MTL_HY11.EDL
- SONGS/JCH_INS8.EDL
- SONGS/PJO_ARGH.EDL
- SONGS/PJO_DIP.EDL
- SONGS/PJO_GALW.EDL
- SONGS/PJO_HORR.EDL
- SONGS/PJO_LAL.EDL
- SONGS/PJO_MTHS.EDL
- SONGS/PJO_REGG.EDL
- SONGS/PJO_SUND.EDL
- SONGS/PJO_TRY2.EDL
- SONGS/PJO_WAIT.EDL
- SONGS/MTL_NM11.EDL
- SONGS/MSK_OBER.EDL
- SONGS/JCH_PH6.EDL
- SONGS/DRX_SAD.EDL
- SONGS/MTL_SP13.EDL
- SONGS/DRX_STRE.EDL
- SONGS/MTL_SL12.EDL
- SONGS/VIB_VOL3.EDL
- USE/MPLAYER.OBJ
- USE/TEST.OBJ
- USE/GLOBALS.INC
- USE/DOS/
- USE/STR_WISE.D00
- USE/TEST.ASM
- USE/MPLAYER.DOC
- USE/TEST.EXE
- USE/-
- USE/DOS/THE_EGA.CPI
- BSOUND.EXE
- -S-
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β EdLib v1.05a rev 055 ................... AdLib editor by Jens-Christian Huus β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β β
β INTRODUCTION β
β ββββββββββββ β
β β
β At last you can lay your hands on an editor which makes full use β
β of the OPL2 AdLib capabilities of your AdLib card or compatibles β
β such as the entire Sound Blaster series! The editor you now have β
β in your possession was in fact developed mainly in 1992-1993. In β
β 1993 I enhanced it furthermore, this time mostly cosmetical only β
β but also a few userfriendly additions such as a filesystem which β
β packs the work tune on your harddisk to save space. Since 1993 I β
β hardly touched it - however, it was used a lot in games projects β
β such as LollyPop from Brain Bug (released by Rainbow Arts). β
β β
β Actually it was my intention to keep the editor for ourselves in β
β order to support AdLib in games. However, since the development β
β of the editor I have experienced a generel hostility towards the β
β old AdLib standard. People begun to actually hate FM sounds. The β
β arrival of GUS and AWE 32 made wavetable techniques very popular β
β and indeed it sounds very good, but there are some things in the β
β old FM standard that is unique. You can't fiddle with samples in β
β the same way as you can with FM. I personally never quite liked β
β sampling, I find it downright boring. With a FM chip it is like β
β on a C64; you have a few parameters and everything you do has to β
β be done within these parameters. These boundaries makes it funny β
β to make music, to see how far you can actually push AdLib. To do β
β sounds on FM requires expertice but if you're good at it, almost β
β any instrument can be reproduced properly, except perhaps drums. β
β β
β This is the reason why I decided to release my editor. It uses a β
β system very similar to the ordinary tracker system, but has been β
β enhanced with individual sequences for each track. Each sequence β
β can even vary in size. Because of the natural way of designing β
β my system, I find it vastly superior to the tracker system. It β
β uses much less memory and allows each sequence to be transposed β
β individually. This is the exact same system as I used on the C64 β
β editor which was heavily used in that scene. β
β β
β Freaks from the good old C-64 with the editing system used there β
β should be able to use the editor right away. Just tap ALT-F1 and β
β a list of keys will appear. :) β
β β
β As an extra bonus I have included a player with the instructions β
β on how to use the finished music in your own programs! Please go β
β to the "USE" directory and read the DOC file there for some more β
β information on this. β
β β
β All files in this archive is freeware - if you payed for it, you β
β have been cheated! However, I reserve the rights to maintain all β
β copyrights. Do NOT reverse engineer my code or else! :( β
β β
β If you make some nice tunes in it, why not let it be "EDL-Ware"? β
β I would be very happy to hear what you can do with this! :) β
β β
β β
β FEATURES β
β ββββββββ β
β β
β The archive contains both the editor and loads of demo songs to β
β demonstrate the editor. Below is just some of the things you can β
β do with the editor... β
β β
β β
β - Edit and play 9 voices of AdLib while viewing and editing 1024 β
β instruments complete with a name for each instrument. β
β β
β - Save all music and instruments in a work file of approximately β
β 3 to 9 Kb size. These files will have the extension "EDL". β
β β
β - Pack the music to a compressed format (around 1 - 6 Kb), which β
β is directly playable in your own programs. Extension is "D00". β
β Packed music also uses much less processor time. β
β β
β - Edit song name and composer name. This information also exists β
β in the compressed D00 format. β
β β
β - Because EDL and D00 is not compatible, you can be sure the D00 β
β cannot be ripped and edited. The editor does not load D00. You β
β may find this bad, but I actually see this as an advantage. Do β
β you like people to mess around in your source tune? ;) β
β β
β - All AdLib parameters editable, with extra enhancements such as β
β hard restart, arpeggio, modulation programs and finetune. β
β β
β - Both tune speed and timer IRQ speed may be edited. The normal β
β tune speed uses a floating point system to access more speeds β
β with a smaller granularity than normally possible. β
β β
β - Use "+++" to hold a note in sequences and "---" to release it. β
β This makes it easier to control the ADSR of an instrument. β
β β
β - Play with instruments using "QWERT..." - and if your keyboard β
β is connected via a MPU-401 compatible MIDI interface, you can β
β even play the AdLib instruments on it, complete with velocity β
β and aftertouch. And polyphonic too of course. I've tested this β
β on both the original MPU-401 and the Sound Blaster 16. I only β
β use the UART mode on the interface. β
β β
β - Very flexible track and sequence system taking less memory and β
β is much more efficient than the standard tracker system. Every β
β sequence is piled on top of each other to show you exactly how β
β the music is played. β
β β
β - Unique tienote command makes it possible to play notes without β
β restarting the effects set for the instruments. β
β β
β - Full delete, insert, copy and other similar editing facilities β
β available in both tracks and sequences. β
β β
β - Use "FollowPlay" to see the music scroll as it is being played β
β at the same time. You may even use fast forward in this mode. β
β β
β β
β REQUIREMENTS β
β ββββββββββββ β
β β
β The editor requires a PC with 80x50 text screen capabilities and β
β an AdLib card or compatible. Anything that is equipped with an β
β OPL2 chip or better. I wouldn't recommend using the SBOS program β
β for the GUS however - it doesn't emulate FM sounds 100% correct. β
β β
β Enhanced keyboard is optional - F11 and F12 is used but has been β
β duplicated elsewhere to support all keyboards. β
β β
β If you have a MPU-401 interface (or compatible) you can use your β
β synthesizer to play with AdLib instruments through MIDI. β
β β
β β
β FILES β
β βββββ β
β β
β The following files should be present in the archive. If they're β
β not, the archive has been tampered with and should be replaced β
β by a new copy. Remember to unzip with the "-d" switch. β
β β
β β
β EDLIB.001 7382 Part of the main editor β
β EDLIB.002 7350 Part of the main editor β
β EDLIB.DOC 96022 This documentation β
β EDLIB.EXE 19184 The main editor β
β EDLIB.REV 1722 Revision update list β
β β
β PLAYER\DATA.BIN 164 Initialized player data β
β PLAYER\INTERFAC.BIN 801 Combines player with editor β
β PLAYER\PLAYER.BIN 4576 AdLib player v04.01 β
β β
β SONGS\DRX_BUS.EDL 3593 Drax - "Bus" β
β SONGS\DRX_FLAS.EDL 4513 Drax - "Flash2" β
β SONGS\DRX_HUMA.EDL 3962 Drax - "Human Nature" β
β SONGS\DRX_SAD.EDL 3253 Drax - "Sad" β
β SONGS\DRX_STRE.EDL 3671 Drax - "Street Wise" β
β β
β SONGS\JCH_INS8.EDL 2526 Jch - "Instrument Test #8" β
β SONGS\JCH_PH6.EDL 2383 Jch - "Phase" (TEST) β
β β
β SONGS\MSK_FRSH.EDL 2782 Msk - "Fresh" β
β SONGS\MSK_OBER.EDL 3086 Msk - "En lille test" β
β β
β SONGS\MTL_ALTT.EDL 3173 Metal - "Alttoga" β
β SONGS\MTL_HY11.EDL 4185 Metal - "Hybrid" β
β SONGS\MTL_NM11.EDL 4212 Metal - "Soul Shock" β
β SONGS\MTL_SL12.EDL 3477 Metal - "Sulfo12" β
β SONGS\MTL_SP13.EDL 4087 Metal - "Space13" β
β β
β SONGS\PJO_ARGH.EDL 2483 Jo - "Aaaaarggghhh" β
β SONGS\PJO_DIP.EDL 2137 Jo - "Dip" β
β SONGS\PJO_GALW.EDL 2549 Jo - "Like Galway" β
β SONGS\PJO_HORR.EDL 2461 Jo - "Fly in Spiders Web!" β
β SONGS\PJO_KOER.EDL 2472 Jo - "Koere" β
β SONGS\PJO_LAL.EDL 2707 Jo - "Drums are hard to do" β
β SONGS\PJO_MTHS.EDL 2748 Jo - "Submission to -X-" β
β SONGS\PJO_REGG.EDL 2293 Jo - "Reggae" β
β SONGS\PJO_SUND.EDL 2513 Jo - "Boring Sunday" β
β SONGS\PJO_TRY2.EDL 2784 Jo - "Hard Guitar" β
β SONGS\PJO_WAIT.EDL 2393 Jo - "1st Interstellar Jmp" β
β β
β SONGS\VIB_FIS3.EDL 2812 Vibrants - "Fis3" β
β SONGS\VIB_VOL3.EDL 2619 Vibrants - "Volly3" β
β β
β USE\- 277 MakeFile for Borland "MAKE" β
β USE\GLOBALS.INC 2937 Labels used by the player β
β USE\MPLAYER.DOC 32636 Documentation on how to use β
β USE\MPLAYER.OBJ 5783 Player v04.00 OBJ link file β
β USE\STR_WISE.D00 3082 Drax - "Street Wise" tune β
β USE\TEST.ASM 12523 Example source code β
β USE\TEST.EXE 5869 Run this to hear the music β
β USE\TEST.OBJ 1285 Test OBJ link file β
β β
β USE\DOS\THE_EGA.CPI 9805 New character set for DOS β
β β
β β
β CPI FILE β
β ββββββββ β
β β
β I have included a file named "THE_EGA.CPI" which you can use in β
β your AUTOEXEC.BAT instead of the old "EGA.CPI" file. It contains β
β a new 80x25 character set by Claus MarnβΊe (Banshee/Bonzai) and a β
β great new 80x50 character set by Niels Krogh Mortensen (Who made β
β the original Hugo TV character for SilverRock Productions). When β
β using EdLib the editor will look much better with this installed β
β in your AUTOEXEC.BAT. The editor redefines a few characters, but β
β still uses the rest of the character set in DOS. If you live in β
β Denmark as I do, these lines will do the trick: β
β β
β C:\DOS\MODE CON CP PREP=((865) C:\DOS\THE_EGA.CPI) β
β C:\DOS\MODE CON CP SELECT=865 β
β β
β Remember to copy the file in USE/DOS into your DOS directory and β
β you are off running with the new character set. Look in your DOS β
β manual for other contry codes specific for your country. β
β β
β β
β INSTRUCTIONS β
β ββββββββββββ β
β β
β In the following chapters I will try to describe all the things β
β that you really need to know. I will not go into detail on how β
β to make music, enter notes and build up a tune from scratch - I β
β leave that up to you to figure that out. If you have previously β
β been using trackers, you should have no trouble using my editor. β
β β
β During these chapters I will discuss the commands available in β
β the tracks and sequences, the instrument and SpFX tables, keys β
β available in the entire editor - and the command line switches. β
β Other things global to the editor will be discussed here. β
β β
β While editing tracks, sequences and tables you can benefit from β
β the help window in the lower left corner of the screen. I advise β
β you to read this DOC at least once, however. β
β β
β All the three-letter box values in the lower right corner of the β
β screen will be discussed in the section over keys. The space you β
β see above the "Oc?" box (octave) will be ticked whenever a tune β
β has been modified without saving. This way, you can always check β
β if it is time to save your tune. However, this version of EdLib β
β does not check the box if you only alter the tables. This is due β
β to technical reasons; the table routines have been placed in a β
β seperate module - and frankly, I was too lazy to fix it! ;) β
β β
β The version v04.01 of the player is displayed in the upper right β
β corner of the screen. In the subdirectory "PLAYER" you will find β
β the file "PLAYER.BIN" which is the actual player. It is possible β
β that later versions of the editor only requires this player to β
β be replaced - in case of player updates only. In the upper right β
β corner you will also find a tune clock. Useful if you want to β
β measure the exact length of the song. β
β β
β When using the load/save requester, all EDL files will be placed β
β in a subdirectory called "SONGS". Later I may enhance the editor β
β with diretories and path input, but until then you must save and β
β load all your songs in this directory. Note that when saving the β
β song you can type the new name at the input prompt in the bottom β
β of the requester. Songs with an EDL extension will be compressed β
β to save disk space. β
β β
β It is possible to predefine the contents of all sequences in the β
β editor before actually using them. Edit sequence #000 until it β
β has the appearance you want all sequences to have and then press β
β Shift-F1 to fill all other sequences with it. Because this is β
β really happens when the song is cleared; sequence #000 is copied β
β into all the other sequences! β
β β
β β
β SEQUENCE COMMANDS β
β βββββββββββββββββ β
β β
β The first column of two in the sequences may take any command of β
β four hexadecimal digits each. The commands in player v04.01 is: β
β β
β β
β 6000 Cut/Stop the voice instantly. Instrument #000 in β
β the instrument table is used to cut the voice. β
β β
β 7XYY Vibrato - X defines the speed (0-F), and YY the β
β depth (00-FF) of the vibrato effect. This effect β
β does NOT make use of the internal OPL2 vibrato. β
β β
β 90XX New level - XX defines the level (00-3F), where β
β 3F is silent. Level is another word for volume. β
β β
β BXXX Pointer to SpFX table. The SpFX table is the one β
β you can access with the "K" key. Refer to this β
β table for more information. This command works β
β like an instrument, thus it overrides a CXXX. It β
β may range from 000-7FF. β
β β
β CXXX Instrument. XXX may range from 000 to 3FF. It is β
β good practise to leave #000 as a "no sound" as β
β this instrument is in fact used when typing the β
β cut command (6000). The table may be entered by β
β pressing the "M" key. Refer to this table for β
β more information. β
β β
β DXXX Slide up. XXX defines the speed of sliding. β
β β
β EXXX Slide down. XXX defines the speed of sliding. It β
β does not automatically "tie unto" the next note β
β like in other music players. You must "tie" the β
β next note yourself with the Β½-key and adjust the β
β speed of sliding until it is perfect. This may β
β sound awkward at first, but this way of sliding β
β is much more flexible. β
β β
β β
β TRACK COMMANDS β
β ββββββββββββββ β
β β
β The track consists of a DWORD in the editor, but the table is in β
β fact interpreted word for word internally. β
β β
β β
β 8XYY???? The 8000 command defines the transposition of a β
β sequence. X is the direction, 0=Up. YY defines β
β the number of halftones to transpose. A value of β
β 810C transposes the sequence down one octave but β
β does not change the on-screen appearance of the β
β notes in the sequence. Using the transposition β
β feature properly, you can save a LOT of space β
β compared to the average tracker system! The word β
β ???? defines the sequence number itself. β
β β
β FFFFXXXX When this DWORD is met, the voice will restart β
β at the position defined in XXXX. It is important β
β to know that it counts in WORD steps. This means β
β that if you have ten sequences in a row with a β
β FFFFXXXX in the end, use FFFF0006 to wrap to the β
β fourth sequence - like this: β
β β
β 80000001 0 - 1 1st... β
β β
β 80000003 2 - 3 2nd... β
β β
β 80000001 4 - 5 3rd... β
β β
β β> 80000004 6 4th... β
β β β
β β 80070001 5th... β
β β β
β β 80070003 6th... β
β β β
β β 80070001 7th... β
β β β
β β 80070005 8th... β
β β β
β β 80000002 9th... β
β β β
β β 80000006 10th... β
β β β
β ββ FFFF0006 Wrap... β
β β
β The player interpretes the wraps independantly β
β from voice to voice. This means that neither the β
β wrap position nor the length of tracks has to be β
β aligned. β
β β
β FFFE???? This command stops the voice entirely. The ???? β
β WORD will be ignored. Very useful for jingles! β
β β
β β
β THE INSTRUMENT TABLE β
β ββββββββββββββββββββ β
β β
β This is the table you enter when pressing "M". You can also use β
β the "L" key to toggle between this table and the SpFX table. If β
β the table window is not active, it will be made active (pop-up) β
β before entering the table. β
β β
β The instrument table consists of 400h (1024) instruments, each β
β of 16 bytes in size. The bytes mainly controls the hardware OPL2 β
β registers on the card, but I have added a few of my own as well. β
β When an instrument has been defined, use the CXXX command in the β
β sequences to use it. β
β β
β But first, lets have a look at the instrument itself: β
β β
β β
β FFFF 3F 20 00 FFFF 3F 20 00 01 02 03 04 05 06 β
β ββββββββββββββββββββββββββββββ β
β Carrier Modulator β
β β
β β
β The parameters in both carrier and modulator uses the exact same β
β parameters, only the "modulator" part usually changes the color β
β of the sound while the "carrier" changes the volume and pitch. I β
β said "usually", because this depends on the way the operators is β
β connected. More about this later. β
β β
β NOTE: It is wise to leave instrument #0000 at the values defined β
β in the example above since this instrument is in fact used when β
β executing a CUT command (6000 in the command column). β
β β
β The carrier and modulator parameters will be send to the OPL2 FM β
β chip directly, as they are hardware based. Lets have a look at β
β the parameters individually. β
β β
β β
β FFFF This parameter controls the ADSR of the instrument. Some β
β of you already knows what this means. If you come from β
β the Commodore 64 and have been fiddling with ADSR here, β
β all you have to know is that is behaves upside-down - it β
β takes FF02 instead of 00FE! Otherwise it is very simple. β
β Each nibble ("F", a halfbyte), takes a parameter from 0h β
β to Fh, to define four parameters named the Attack, Decay β
β Sustain and Release. The attack defines the speed of the β
β volume to reach maximum level, Fh is fastest. As soon as β
β this level has been reached, the Decay value defines the β
β speed of the volume to reach the Sustain level. Again, β
β Fh is fastest. Sustain is a pseudo-volume level (volume) β
β where 0 is loudest. Release again defines the speed of β
β the volume to go from the Sustain level to silence. All β
β in all, a diagram like this can be drawn to illustrate β
β the ADSR envelope: β
β β
β β
β /\ β
β / \ β
β / \ β
β / \________________ β
β / \ β
β / \ β
β / \ β
β β
β β
β βββββββ΄ββββ΄ββββββββββββββββ΄ββββ β
β A D S R β
β β
β β
β In the sequence itself, the ADS part of the ADSR will be β
β run as soon as the note is triggered, and maintained for β
β as long as the HOLD events (+++) are present. As soon as β
β the REST events is met (---), the note releases (R). An β
β exception to this rule exists in the instrument however. β
β If bit 5 is set to 0 in the 4th/9th byte (the bytes set β
β to 20h above), the Sustain is ignored and only an ADR β
β is executed. In other words, it ignores the HOLD (+++). β
β β
β In the modulator, the ADSR works is a similar way - only β
β it affects the modulation instead of the volume. Use it β
β to give "life" to the instrument. β
β β
β β
β 3F This parameter is split into bit 0-5 for the main volume β
β (level) and bit 6-7 for keyboard scaled level (KSL). The β
β level is 00h-3Fh, where 00h is loudest. Add 40h, 80h or β
β C0h for three rates of KSL. The KSL defines how much the β
β volume decreases in volume as the notes climbs upwards. β
β In other words, the higher the note, the lower the level β
β of the note. This feature is not used very often. β
β β
β In the modulator part, the level affects the modulation β
β instead of the volume. 00h is full modulation (100%). β
β β
β β
β 20 This is a multiple purpose register of the FM chip. Bits β
β 0-3 defines the multiplier, which works like an octave β
β parameter only it steps in a rather absurd way. With it, β
β you can change the pitch without editing the music - to β
β some degree! Bit 4 (add 10h) sets the KSR - which means β
β keyboard scaled rate. It works like KSL only it affects β
β the speed of which the ADSR is processed. The higher the β
β note, the faster the ADSR. Bit 5 (add 20h) selects ADSR β
β or only ADR. Normally, you would set this to 1 (ADSR) or β
β the HOLD/REST in sequences will be ignored; notes will β
β release as soon as the note has been triggered. This may β
β come in handy at times though. Bit 6 (add 40h) enables a β
β hardware vibrato. This vibrato is quite insufficient at β
β times to say the least, so I added my own vibrato to the β
β sequence commands (7XYY). Last, bit 7 (add 80h) enables β
β the hardware tremolo. Tremolo vibrates the level - think β
β of it as the "Elvis Costello" bit! ;) β
β β
β β
β 00 Only values from 00 to 03 is used here (bits 0-1). All β
β other bits is ignored. This value defines the waveform β
β of the operator. If you come from the Commodore 64 with β
β its marvellous SID-chip, you will be disappointed to see β
β what waveforms this chip has. They are not as flexible β
β as the SID-chip waveforms. 00 is a sine and is loudest. β
β I have also noticed that waveforms 02 and 03 seems to be β
β one octave higher than 00 and 01. I will try my best to β
β draw the waveforms now using the terrible ASCII chars. β
β β
β β
β ββββ β
β ββ ββ β
β β β β
β ββ ββ β
β β β β
β β β β
β 00 = ββββββββΌβββββββ β
β β β β
β β β β
β ββ ββ β
β β β β
β ββ ββ β
β ββββ β
β β
β ββββ β
β ββ ββ β
β β β β
β ββ ββ β
β β β β
β β β β
β 01 = ββββββββ΄βββββββ β
β β
β β
β β
β β
β β
β β
β β
β ββββ ββββ β
β ββ ββ ββ ββ β
β β β β β β
β ββ ββ¬β ββ β
β β β β β
β β β β β
β 02 = ββββββββ΄βββββββ β
β β
β β
β β
β β
β β
β β
β β
β βββ βββ β
β ββ β ββ β β
β β β β β β
β ββ β ββ β β
β β β β β β
β β β β β β
β 03 = βββββ΄βββ΄ββββ΄βββ β
β β
β β
β β
β β
β This should give you an idea of what the waveforms looks β
β like. All waveforms are variations on the sine waveform. β
β β
β β
β That concludes the five bytes in each operator, which constructs β
β the actual sound. The last 6 bytes in the instrument all behaves β
β globally to the instrument. β
β β
β β
β 01 This is the last hardware register. In bit 0, you define β
β the connection of the two operators. Normally it is set β
β to 0 (modulation), but if set to 1 (additive), the modu- β
β lator operator will behave exactly as the carrier. This β
β is great for organ sounds! Bits 1-3 defines the feedback β
β of the modulation (0,2,4...E), which is the number of β
β times the output is fed right back into the modulation β
β process, creating overtones. If you set it high (E or F) β
β you get so many of them that you get...noise! So this is β
β the parameter you use the make drums. Again, if you come β
β from the Commodore 64 you will be a little disappointed. β
β The noise is stuck at a high frequency, and cannot sound β
β as good as the noise on the SID-chip. :( Often drums on β
β AdLib can be improved by using a second voice, in which β
β you create a bassdrum-like sine which is sliding down. β
β β
β β
β 02 This is a software parameter. Use values 00-7F to fine- β
β tune the instrument - if you are using two voices on top β
β of each other, this may phase the two voices together in β
β order to produce a chorus effect. β
β β
β β
β 03 Hard restart timer value. Defines the number of frames β
β BEFORE the next note, that the next value below is to be β
β processed. 00h turns this OFF. Frames is a term for the β
β smallest timeunit a player can measure, which of course β
β is the number of times the player is called. If the IRQ β
β value is set to 46h, the frame corresponds to 1/70'th of β
β a second. Good values are 01-03. β
β β
β β
β 04 Hard restart Sustain/Release value. When the timer is up β
β in the previous byte above, this value is put into the β
β Sustain/Release on the soundcard for that voice. This is β
β useful to "cut down" on a long release before the next β
β note in a sequence. ADSR usually continues on the Attack β
β from whatever point the Release from the last note might β
β have reached, but this is not always desirable. You can β
β also use these parameters to make the music more funky. β
β β
β β
β 05-06 These bytes are unused in player v04.01. Do not put any β
β information into them as they may be used later on. Keep β
β them at 00h. β
β β
β β
β THE SpFX TABLE β
β ββββββββββββββ β
β β
β This is the table you enter when pressing "K". You can also use β
β the "L" key to jump between this table and the instrument table. β
β If the table window is not active, it will be made active before β
β entering the table. β
β β
β The SpFX (Special Effects) table consists of 800h (2048) effects β
β lines, of 8 bytes in size. When an SpFX has been defined you can β
β use the BXXX command in the sequences to point to it. β
β β
β A SpFX "set" may look like this: β
β β
β β
β 0001 0C FF 10 20 0002 β
β β
β β
β Let's have a look at these parameters individually. β
β β
β β
β 0001 This WORD defines the instrument to use for the set. Use β
β values 000-3FF. Add with 8000h to use locked frequencies β
β with the next byte below. β
β β
β β
β 0C Half note value, added to the actual note for as long as β
β this "set" lasts. Eg, if the note in the sequence is C-2 β
β and this value is 02, the note will sound as D-2. If you β
β add the WORD value above with 8000h, the values will NOT β
β be added. Instead, the values will refer to raw notes as β
β if 00h equals C-0, 01 equals C#0 and so forth. When used β
β to add the note, the value is signed; 00-7F for positive β
β and FF-80 for negative (-01h - -80h). Locked frequencies β
β can often be useful for drums which should be unaffected β
β by tranpositions. β
β β
β β
β FF New modulator level. The value overrides the 8th byte in β
β the instrument. If this value is FF, the 8th byte is NOT β
β replaced and this value will be ignored. Useful if you β
β want to add to the original value in the instrument. β
β β
β β
β 10 Modulator level add. Added each frame to the 8th byte in β
β the instrument, as an alternative to the ADSR modulating β
β process. The value is a signed byte; 00-7F for positive β
β and FF-80 for negative (-01h - -80h). Use the byte above β
β to set the start modulator level if needed. β
β β
β β
β 20 Duration. Defines the number of frames (00-FF) of this β
β set. 00h is ONE frame. When the counting is up, the next β
β WORD specifies the next SpFX line to interprete. β
β β
β β
β 0002 Pointer to next SpFX line. After the duration counter in β
β the previous byte above is up, this WORD specifies the β
β next line to jump to. Values ranges from 0000h-07FFh. β
β β
β β
β This table is very useful if you want to make arpeggio or sounds β
β with more life than the normal ADSR modulation can give you. Now β
β I won't advise you to make arpeggio chords when you have as much β
β as 9 voices, but it could come in handy when improving drums. As β
β an example, here is the dreaded 0-3-7 arpeggio chord: β
β β
β β
β 0000: 0001 00 FF 00 0001 β
β 0001: 0001 03 FF 00 0002 β
β 0002: 0001 07 FF 00 0000 β
β β
β β
β The above example uses instrument #0001 to produce a 0-3-7 chord β
β using arpeggio. The duration bytes are all 00, meaning that the β
β arpeggio will run at the fastest possible speed. No modulation β
β adding is involved. Notice how the pointers makes the three sets β
β spin around in an endless loop! Use B000 in the sequence to try β
β out this minor arpeggio chord. β
β β
β β
β KEYS β
β ββββ β
β β
β Here is a list of all keys available in EdLib, some of them with β
β a deeper description than found in the HELP pages (Alt-F1). β
β β
β β
β F1 Play normally from StartPoint (SP) position. β
β β
β This key does not scroll the music, useful when β
β editing the music while it is playing. β
β β
β β
β F2 Stop all music activity. β
β β
β You can also use the ESCAPE key. If you're using β
β a MIDI keyboard, you can also cut hanging voices β
β with this key. β
β β
β β
β F3 FollowPlay from StartPoint position. β
β β
β The music scrolls as the music plays to show the β
β current position being played. Use the CTRL keys β
β as a fast forward function in this mode. NOTE: I β
β do not recommend using disk cache software such β
β as "SMARTDRV" as it disrupts the scrolling! :( β
β β
β β
β F4 Set new StartPoint position (SP). β
β β
β You can set the new position anywhere, no matter β
β if you're halfway through a sequence or not. The β
β hexadecimal stepcounter to the left of the main β
β editing area will turn dark blue below the point β
β and light blue after it. β
β β
β β
β F5 Copy any sequence into the current sequence. β
β β
β Use this key to overwrite the sequence you are β
β currently editing, with the contents of another. β
β β
β β
β F6 Decrease the tune speed. β
β β
β Hold CTRL to specifically define it. β
β β
β β
β F7 Increase the tune speed. β
β β
β Hold CTRL to specifically define it. The Spd box β
β in the bottom right corner of the screen informs β
β you of the current value. β
β β
β β
β F8 Define new SuperInsert size. β
β β
β β
β F9 Execute the SuperInsert in a sequence. β
β β
β When pressing this key you will insert as many β
β events into the sequence as defined with the F8 β
β key. The SpI counter in the bottom right corner β
β of the screen informs you of the current value. β
β Note that you can have no more than 5Fh events β
β in a single sequence. If you want more than this β
β you have to split it up into two sequences. β
β β
β β
β F10 Goto any stepcounter line. β
β β
β The hexadecimal stepcounter is the column to the β
β far left of the editing area. β
β β
β β
β F11 Define new RhythmJump value. β
β β
β Sets the number of events the cursor jumps after β
β pressing a note key in the sequence. The RtJ box β
β in the bottom right corner of the screen informs β
β you of the current value. β
β β
β β
β F12 Load music in EDL format. β
β β
β Brings up a file requester from which you can β
β choose an EDL file to load. You can also use the β
β Ctrl-F3 key. β
β β
β β
β Shift F1 Clear all tracks and sequences. β
β β
β Leaves the instruments and SpFX tables intact. A β
β useful function when borrowing instruments from β
β another song. Sequence #000 is actually used to β
β fill all sequences, so if you edit this sequence β
β before clearing you can userdefine all at once. β
β β
β β
β Shift F2 Clear instruments and SpFX tables. β
β β
β Leaves the tracks and sequences intact. May come β
β in handy if you disliked all the instruments and β
β want to start all over defining them again. β
β β
β β
β Shift F5 Copy any sequence into another sequence. β
β β
β As the F5 key, only it takes both a source and a β
β destination input. β
β β
β β
β Shift F12 Save music in EDL format. β
β β
β Brings up a file requester from which you can β
β save your song. You can also use the Ctrl-F4 key β
β instead. β
β β
β β
β Ctrl F1 Decrease the IRQ timer speed. β
β β
β Ctrl F2 Increase the IRQ timer speed. β
β β
β The above keys changes the timer interrupt speed β
β of the song. Be careful when using these! Better β
β have a talk with the programmer using your music β
β to make sure he accepts the new value. Normally β
β they are set to 46h (70) which matches the speed β
β of the screen update in 320x200 mode. This way, β
β the music can be used in a vertical retrace. In β
β some situations you can make use of a fast timer β
β interrupt to speed up the arpeggio in an instru- β
β ment. If you only want to change the speed of a β
β song, use the F6/F7 keys instead. The Irq box in β
β the bottom right corner of the screen keeps hold β
β of the current timer interrupt speed. β
β β
β β
β Ctrl F3 Load music in EDL format. β
β β
β You can also use the F12 key. β
β β
β β
β Ctrl F4 Save music in EDL format. β
β β
β You can also use the Shift-F12 key. β
β β
β β
β Ctrl F5 Convert the music to D00 format and save it. β
β β
β This brings up a requester asking for a filename β
β of the packed tune. After typing this, the music β
β will be packed and saved as a D00 file - to be β
β used in your own programs. The packed tune can't β
β be loaded into the editor again, so be sure you β
β save your source with Shift-F12 or Ctrl-F4! Note β
β that the packer goes into a 9-PASS process. It β
β has been tested intensively with no problems so β
β far - however, should the packer ever lock up at β
β any time, please note the pass number and mail β
β me this number. My address can be found in the β
β end of this file. Thank you! β
β β
β β
β Ctrl F6 Define new tune speed. β
β β
β Input the speed. Use F6/F7 to decrease/increase. β
β β
β β
β Ctrl F7 Define new tune speed. β
β β
β Input the speed. Use F6/F7 to decrease/increase. β
β β
β β
β Ctrl F9 Input music name in top of screen. β
β β
β The input takes 20 characters as the name of the β
β music. Remember to do this before saving a tune β
β to disk or packing it! D00-files also contains β
β this string. β
β β
β β
β Ctrl F10 Input composer name in top of screen. β
β β
β Again takes 20 characters. Remember to press it β
β before saving or packing the tune! The D00-files β
β also contains this string. β
β β
β β
β M Enter instrument table. β
β β
β Will enter the instrument table at the position β
β you left it at last time. If the table window is β
β not active, it will be made active first. β
β β
β β
β K Enter SpFX table. β
β β
β Will enter the table at the position you left it β
β at last time. If the table window is not active, β
β it will be made active first. β
β β
β β
β L Toggle between instrument and SpFX tables. β
β β
β Enters the other table. If you type it outside a β
β table it will enter the other table than the one β
β you edited last time. If the table window is not β
β active, it will be made active first. β
β β
β β
β Alt Down Change main volume byte below the current voice. β
β β
β Beneath each voice you'll find a value which can β
β be edited with this key combination. The volumes β
β controls the main volume for that voice, and has β
β priority over volume commands in the sequence. β
β β
β β
β Alt Up Change logical voice byte above the voice. β
β β
β Using "Alt-Up" you can change the value above a β
β voice. This value is the physical voice number β
β attached to the voice. Changing the values, you β
β can completely rearrange voices - you can even β
β make the same voice appear at several places! It β
β may come in handy when some voices has something β
β in common, like chords or double-voice drums. β
β β
β β
β Ctrl Fast forward while in FollowPlay mode. β
β β
β Only works when in FollowPlay mode. You cannot β
β use fast forward when playing with F1. β
β β
β β
β Alt 1-9 Toggles voices 1-9 ON or OFF. β
β β
β Note that the logical voice numbers above voices β
β goes dark grey when a voice is OFF. β
β β
β β
β Alt Tab Turn all voices OFF except the edited voice. β
β β
β β
β , Turn all voices ON. β
β β
β β
β . Turn all voices OFF. β
β β
β β
β - Toggle current voice ON or OFF. β
β β
β β
β Q2W3ER5... Play in note column or instrument/SpFX tables. β
β β
β Use these keys to play with the instrument or to β
β type notes in the right column of a sequence. As β
β you type a key the instrument last edited in the β
β main instrument table will play. Use the Ctrl-Up β
β and Ctrl-Down keys to change the octave. β
β β
β β
β Spacebar Erase sequence command or a REST in note column. β
β β
β In the sequence itself you can erase commands or β
β notes by tapping space on them. SPACE on a note β
β enters a REST (---) event. β
β β
β β
β X/C/V Put a HOLD (+++) in the note column. β
β β
β All 3 keys have the exact same meaning. I made β
β this to make it easier for you to edit blindly. β
β As the key is pressed, a HOLD (+++) appears. β
β β
β β
β Z HOLD to the previous note, REST to the next. β
β β
β A very useful command that should be used when- β
β ever possible instead of SPACE and X/C/V. Press β
β it to put HOLD (+++) up towards the note and put β
β REST (---) down towards the next one. It ignores β
β the presence of old HOLD and REST. Also, it may β
β be pressed in the command column - which is not β
β possible with the other HOLD/REST keys. β
β β
β β
β Β½ Toggle tienote ON or OFF. β
β β
β On my keyboard it is the key just below the ESC β
β and above the TAB key. When pressed on an event β
β in a sequence, it toggles the note white/yellow. β
β When white, the note is changed in the music but β
β the effects of the instrument is NOT restarted. β
β β
β β
β Enter Jumps between track editing or sequence editing. β
β β
β Also used to edit names in the instrument table. β
β β
β This is probably the most used key when editing β
β notes as it jumps in and out of track values. In β
β the instrument table you can edit the name of an β
β instrument with this key. This name may contain β
β up to 16 characters. β
β β
β β
β Tab Jump to the right voice. β
β β
β Ctrl Tab Jump to the left voice. β
β β
β Use the above keys to switch between voices. As β
β you enter a new voice the voice is "blown up" to β
β show the entire voice (track, commands & notes). β
β The other voices will be shrinked, so that only β
β the notes can be seen - the most essential part! β
β You can spot the beginning and end of sequences β
β by observing the "> <" signs around the notes. β
β β
β β
β Q Enter the next unused sequence in the track. β
β β
β Another useful function. When editing a song and β
β deleting/inserting sequences, you may at times β
β forget which sequences you have used and which β
β you have trashed. By pressing the key on a track β
β number, the editor will automatically find the β
β first unused sequence number and enter the value β
β for you. β
β β
β β
β β/β/β/β Cursor keys, used globally in the editor. β
β β
β β
β Home/End Used globally in the editor. β
β β
β β
β Delete Delete in track or sequence mode. β
β β
β β
β Insert Insert in track or sequence mode. β
β β
β Note that you can have no more than 5Fh events β
β in a single sequence. If you want more than this β
β you have to split it up into two sequences. β
β β
β β
β ESC Exits modes, also stops the music. β
β β
β This is also used to remove the windows with the β
β instrument and SpFX tables. β
β β
β β
β Page Up/Down Used globally in the editor. β
β β
β β
β Ctrl Up Increase the note octave. β
β β
β Ctrl Down Decrease the note octave. β
β β
β The above keys changes the octave available with β
β "Q2W3ER5..." keys. The Oc? counter in the bottom β
β right corner of the screen informs you of the β
β current value. Also Ctrl-Right may decrease. β
β β
β β
β Ctrl Pg Up Home to the absolute top. β
β β
β β
β Ctrl Pg Down Home to the absolute bottom. β
β β
β Does not yet work in the voice editing area. β
β β
β β
β S Toggle CPU rastertime ON or OFF. β
β β
β The rastertime is shown as a grey block in the β
β outscan border. May be useful for the programmer β
β but keep in mind that the music takes much more β
β rastertime in the editor than when packed! β
β β
β β
β Ctrl Break Exit to DOS. β
β β
β You can skip the palette fade with the /P switch β
β on the commandline. β
β β
β β
β COMMANDLINE PARAMETERS β
β ββββββββββββββββββββββ β
β β
β Note that all switches may be preceeded with either a slash "/" β
β or a minus "-" character. Slash is used in the examples below. β
β β
β You can load an EDL file from the commandline prompt, if needed. β
β β
β Usage: EDLIB [<Switches>] [<Name of EDL file>] β
β β
β β
β /? Help page briefly describing the switches. β
β β
β β
β /F Use followplay immediately. β
β β
β Useful when loading an EDL file from the command β
β line and you want to play it right away. β
β β
β β
β /P Do not fade colors when quitting. β
β β
β If you feel annoyed having to wait for the fade β
β to get finished, use this switch to skip it. β
β β
β β
β /C Convert EDL to D00 (NOT READY YET). β
β β
β Reserved for future expansion; may in later ver- β
β sions of EdLib convert from EDL to D00 without β
β having to enter the editor itself. Until this is β
β implemented you must do it with Ctrl-F5 inside β
β the editor. β
β β
β β
β /M Use the MPU-401 interface. β
β β
β If you have an external synthesizer connected β
β through you MPU-401 MIDI interface you can play β
β the AdLib instruments on it. Cursor up and down β
β in the instrument table to choose the instrument β
β and change the octave with Ctrl-Up or Ctrl-Down. β
β Now you can play this instrument on the keyboard β
β synth, using full polyphony and velocity. Note β
β that aftertouch uses a default vibrato setting β
β which is independant of the bytes in the editor. β
β You cannot use the MIDI to record music in this β
β version of EdLib. β
β β
β β
β /A Ignore AdLib detection. β
β β
β Useful at times when the detection routine might β
β fail, even if an OPL2 IS present! E.g, if your β
β computer uses both a Sound Blaster and a Gravis β
β Ultrasound at the same time. The timer detection β
β does not always work in those circumstances. β
β β
β β
β CONTACT ADDRESS β
β βββββββββββββββ β
β β
β That does it for this DOC. I'm sorry if I haven't been nice to β
β your printer making formfeeds, table of contents and other nice β
β stuff. But what the heck - you only want to read this once - the β
β help pages in the editor ought to do the rest. :) β
β β
β I hope you actually managed to read the DOC in spite of my awful β
β grammar! I know it turns out a smile once in a while. As long as β
β you can understand what I mean, I don't really give a damn... β
β β
β If you want to contact me for some (legal only!) reason, you can β
β write to the following snail mail address: β
β β
β β
β Jens-Christian Huus β
β Tranegaardsvej 71 a β
β 2900 Hellerup β
β Denmark β
β β
β β
β FidoNet: 2:236/86.22 (Kilroy BBS) β
β β
β β
β THE BORING STUFF β
β ββββββββββββββββ β
β β
β All files in the archive should be distributed in their original β
β form - it is forbidden to modify anything. The player may not be β
β used commercially in any way without permission from the author. β
β β
β The names Vibrants, the SirFace System and EdLib are trademarks β
β of Jens-Christian Huus. Other product and company names are the β
β trademarks of their respective owners. β
β β
β All warranties are disclaimed, including damage to your hardware β
β and/or software from use of this product. In no event will I be β
β liable to you for any damages - including any lost profits, lost β
β savings or other incidental or consequential damages arising out β
β of your use or inability to use the program, or any other claim β
β by any other party. β
β β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ