home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- ▄▀▀▀▀▀▀▀▀▓▀▀▀▀▀▀▀▀▓ ▓▀▀▀▀▀▀▀▀▀▓▄▄
- ▓ ▄█▓▀▀▀▀ ▄████▄ ▀▀█ █ ▒▓█ ▒▓█ █
- █ ▀▀▀▀█▄ ▐██ ██▌ ▓ █ ▓██ ▓██▀▀ █▄▄
- █ ▄▄▌ ██▌ ██▓ ███ ▓ █ ▓██ ▓██ ▐▄▄ ■▓
- █ ██▓ ███ ██▓ ███ ▓▄▓ ███ ███ ███ █
- █ ██▓ ███ ███▄▄███ ▄▄▄▄███ ███ ███ █
- █ ███ ██▓ ███ ██▓ ▐██ ██▓ ███ ██▓ █
- █ ███ ██▓ ███ ██▓ ███ ██▓ ███ ██▓ █
- ▐▌▐██▒ ██▓ ███▒ ██▓ ███▒ ██▓ ▐██▒ ██▓ █
- █ ▀█▓▄█▓▒ ███▓ █▓▒ ▀██▓▄█▓▒ ▀█▓▄█▓▒ █
- ▓■▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▓▄▄▄▄▄▄▄▄▓
- ──[ Surprise! Adlib Tracker v2.00 ]──
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ┌──────────────────────────────┐
- │ │
- │ Surprise! productions │
- │ Adlib Tracker Version 2.0 │
- │ >>> Beta Release <<< │
- │ │
- │ Erik Pojar, │
- │ Siegfriedgasse 55 │
- │ 1210 Wien │
- │ Austria │
- │ │
- │ +43 1 2574457 │
- │ epojar@stud1.tuwien.ac.at │
- │ │
- └──────────────────────────────┘
-
- Page 1
-
-
-
-
-
- Surprise! productions Adlib Tracker 2.0 Help file
- -------------------------------------------------
-
-
-
- Contents:
-
-
-
- What's new in Version 2.0.......................2
- General Stuff...................................3
- The Main Menu...................................4
- The Edit Mode...................................5
- Making Music....................................6
- The Instrument maker............................7
- Command summary.................................12
- File Format.....................................16
- Last Words & Adress.............................18
-
-
-
-
-
-
-
-
-
-
- This file was typed by Erik of Surprise! productions
-
-
-
-
- What's new in Version 2.0 Page 2
- -------------------------
-
- There have been quite a lot changes from previous versions. Here are
- the highlights:
-
- - 90 x 30 characters textmode used. (VGA needed)
- - General optical brush-up
- - All 8 Oktaves of the Adlib can now be accessed
- - Some errors in the handling of the effect commands were
- removed. Now SADT SHOULD behave exactly like any Amiga-Tracker
- - Now also supports the commands 4, 5 and 6. Commands 7 and E not :-(
- - New file format (versions 7 to 9) which takes less space.
- - Completely new Memory management. Free memory is shown
- - now also supports BPM timing
- - Default speed now is 125 BPM, speed 6
- - Configuration menu lets you specify song-, instrument- and
- module directory
- - New edit functions
- - Bugfix in the Amiga-Load function.
- Now supports general 4-voice formats along with 6- and 8-voice
- formats.
- - Totally rewritten play routine in assembler.
- - a totaly new and unique feature for the instrument handling was
- implemented: The 'special arpeggio'. It let's you change the
- frequency, volume and even the waveform of an instrument while
- it's played.
-
-
- General Stuff Page 3
- -------------
-
- In the whole program (and in this doc too..) some (quite common?) pre-
- fixes are used:
-
- [a] means the 'a' key on your Keyboard
- [A] means the 'a' key + [Shift] on your Keyboard
- [^A] means the 'a' key + [Control]
- [@A] means the 'a' key + [Alt]
-
- I'm not going to explain every obvious function of the Editor. For ex-
- ample, I won't tell you that Alt-Save means 'Save Song'. It's all in the
- Main Menu, so keep your eyes open!
-
- This program should be keyboard driver independent. This means it should
- not matter wether you use it with a german, english, french or any other
- keyboard layout.
- However, if you encounter some problems with the keyboard, switch to the
- U.S. layout and everything should be just fine.
-
-
-
- The Main Menu Page 4
- -------------
-
- The main menu is more or less self explaining, there are several functions
- which are accessible through alt-key combinations or ctrl-key combinations.
- For example Alt-L to load a song, or Ctrl-L to load an Amiga Module.
-
- However there are a few functions which don't show up in the main menu:
-
- * [@1]..[@9]: Toggle Channel on / off
- Control P: Play from the beginning of the song
- * Ctrl+Alt: Fast forewind when playing
- Cursor Keys: Move around pattern
- Tabulator: Jump to next Channel
- Shift Tab: Jump to previous Channel
- F5-F9: Jump to 1st, 16th, 32th, 48th, 63th line of pattern
- PageUp/Down: Goto previous / next pattern
- * Ctrl PgUp/Dn: Goto previous / next pattern (according to patternorder)
- * [+],[-]: switch instruments.
- Space: Toggle Edit / Menu mode.
- In Edit mode, the border is blue.
- Delete: Delete entry in current channel
- R.Shift+Del: Delete entry selectively:
- If the cursor is in the column for the notes, only
- the note is deleted, if it's in the column for the
- instruments, only the instrument is deleted, otherwise
- the effects.
- Shift F1: Shift Keyboard 1 Octave up
- Alt F1: Shift Keyboard 1 Octave down
- Control F1: Mark every 4th line (like in ScreamTracker..)
- Shift F2: Toggle linefeed for editing effect commands
- F2: Mark Block Begin
- F3: Mark Block end (the block is not displayed)
- F4: Paste Block
- Shift F4: Paste Commands in Block
- Control F4: Paste Notes in Block
- F10 Release sustaining sound in current channel
- Shift F5: Insert blank line in current channel
- Control F5: Insert blank line in all nine channels
- Shift F6: Delete line in current channel
- Control F6: Delete line in all nine channels
- Shift F7: Transpose current channel one halfnote up
- Control F7: Transpose whole pattern one halfnote up
- Alt F7: Transpose current Note up, and move to next
- Shift F8: Transpose current channel one halfnote down
- Control F8: Transpose whole pattern one halfnote down
- Alt F8: Transpose current Note down, and move to next
- F10 Release sustaining sound in current channel
- F11/F12 Change BPM value
-
- The Funcions marked with * are also available while playing a song
-
- Note: The Control-S function (Save compressed song) is for internal
- usage only. Sadt can NOT load compressed songs! So always save songs
- uncompressed.
-
-
- The Edit Mode: Page 5
- --------------
-
- The Edit mode let's you edit a song...
- All of the above functions are available via hotkey... In fact most
- of the functions are only available in edit mode. All the deleting,
- transposing, etc. is not available in non-edit mode.
-
- In non-edit mode you can still move around the patterns and play some
- notes, but they won't show up in the patterns
-
-
- Making music Page 6
- ------------
-
- (this part of the doc is taken from the PT1.1 helpfile. I didn't see
- the point in inventing it all again... ;-)
-
- Any piece of music written with the SADT is built up from patterns.
- Each pattern is built up from 9 tracks, one for each of the adlib's
- audiochannels.
-
- A pattern is 64 lines long. The magnified line is always the one you
- edit. If you need shorter patterns, use the pattern break command.
-
- A Track is built up like this:
-
- 32 C-3 01 C20
- / \_/ |/ \_/
- / / | \
- Pos Note Instr. Effect command
-
- The C-3 is the note being played at patternposition 32.
- 01 is the instrument number, and the three last digits are the
- effect command, in this case, set volume to 20 Hex.
- (C is the command, 20 the value)
- Values for instruments and effects are always hexadecimal.
-
- After you have edited all your patterns you have to determine the
- pattern order. For that simply use the Order editor. Furthermore
- you can define the length of a song, and a restart pos.
- Here's an example:
-
- Let's say you have entered three patterns (Numbers 0, 1 and 2) and
- wanto to play the pattern 2 twice, then pattern 0 and finally
- pattern number 1 three times. afterwards the music should start with
- the second pattern 2 again.
- Here's what to do:
- Edit the Pattern order like this:
-
- Position Pattern number
- 0 2
- 1 2
- 2 0
- 3 1
- 4 1
- 5 1
- . .
- . .
-
-
- Set Songlength to 6, and Restart to 1.
-
- To enter the notes SADT uses a piano-like keyboard layout.
- Assuming you are using a US-Keyboard layout the keys would be:
-
- High Notekeys:
- 2 3 5 6 7 9 0
- Q W E R T Y U I O P
-
- Low NoteKeys:
- S D G H J L ;
- Z X C V B N M , . /
-
-
- The Instrument maker Page 7
- --------------------
-
- I'll just explain the basics how the FM chip works, I wont list all the
- keys, just look at the menu that pops up.
-
- Still there are a few special keys I'd like to mention:
-
- [F10] Releases a sustaining Note
- [F2] Copies the current Instrument into a buffer,
- [F4] Pastes this buffer. (real handy if you need several very
- similar instruments... just copy 'em, and then change 'em)
-
- But now let's really get to the FM instrument maker
- O.K. Here we go: The adlib has two operator cells for each voice (channel)
-
- ∙ The Carrier
- ∙ The Connector (often also called Modulator...)
-
- Each voice can work in
-
- ∙ Additive Synthesis (Frequency Modulation = Off)
- ∙ Frequenzy Modulation (Freq. Mod. = On)
-
- mode. When using Additive Synthesis, each operator produces it's sound and
- plays it simultaneousely...
- When using Freq. modulation, the Connector changes the sound of the Carrier
- (yep! it modulates the sound.. that's why it's also called modulator... ;-)
-
- O.K. here are the mere basics: for each Cell you must define:
- ∙ Attackrate (0-15, 0 = none 15 = fastest)
- ∙ Decayrate (0-15, 0 = none 15 = fastest)
- ∙ Sustain level (0-15, 0 = none 15 = fastest)
- ∙ Release Rate ( just guess what.... )
-
- This is how it works: first theres nothing, then the tone rises with
- the speed of the <attackrate> to it's total level.
- Afterwards it drops with the speed of <decayrate> to it's <sustain level>
- And then drops with the speed of <release rate> to zero again
-
- If you set the flag
- ∙ Sustaining sound
-
- to On, then the sound stays at the <sustain level> till the note is
- released. (Just like when you keep a key pressed on an electric organ...)
- To release a note press [F10]. Then the sound vanishes with the speed of
- <release rate>
-
-
- For each operator there are three possible waveforms: Page 8
-
- 0: Sinus ----
- - -
- / \
- / \
- ---------------------\------------------/
- \ /
- - -
- ----
-
- 1: Half Sinus ----
- - -
- / \
- / \
- ---------------------\------------------
-
-
-
- 2: abs(Sinus) ---- ----
- - - - -
- / \ / \
- / \ / \
- ---------------------\/--------------------\
-
-
-
-
- 3: Sinus ? --| --|
- - | - |
- / | / |
- / | / |
- ------------------------------------------
-
- Volume
- Of course, there's also volume control: volume ranges from 0 to 63
- 0 = silents (grin), while 63 = max. volume
-
- Level Scaling
- Used to control the volume. Level Scaling is a Value between 0 and 3.
- 0 means, that the volume of the sound is not changed, while values >0
- mean, that higher tones are played at a lower volume. If you set
- Level Scaling to 3 (which is the max), the volume drops 6db each octave.
-
- Frequency Multiplier:
- specify a value between 0 and 15. That's the multiplier for the frequenzy. If you set it to 15, you'll get really high pitch tones..
- If you set it to 1, you get 'the real' frequency. If you set it to 0,
- the frequency is multiplied by 0.5
-
- Tremolo:
- If you set this flag to On, the Amplitude is changed in Vibrato-Style..
-
- Vibrato:
- Also a flag. Set it to On, and you've got frequency vibrato..
-
- Sustainig Sound:
- described above.
-
- Scaling: Page 9
- If this flag is set to On, higher tones sound shorter...
-
- Freq. Modulation:
- If this flag = Off, additive synthesis is used.
- If it's set to On, freq. modulation is used.
-
- Feedback:
- Define the strength of the feedback (values 0..7)
-
-
- Now. That are the standard parameters of the Adlib-FM chip.
- But with SADT 2.0 I introduced a new feature:
-
- >>>> the special arpeggio <<<<
-
- The idea was change both the frequenzy and waveform of an instrument
- while it's played.
-
- The Special arpeggio is controlled by these values:
-
- <Arpeggio>: is a pointer to the arpeggio list
- <Arpeggio speed>: the speed at wich the arpeggio is executed.
-
- Set <Arpeggio> to a value > 0 to turn the spec. arpeggio on.
-
- To define the special arpeggio you have to edit the special arpeggio
- list. Press [@E] to enter the sepcial Arpeggio editor.
-
- There are two columns:
-
- Halfnote add:
- here you place the half-note add values just like with the
- arpeggio command (0)
- Halfnote adds range from 0 to 96
-
- If you place a value >= 100 it's not treated as a halfnote add
- but as an absolute note. There are 8 octaves with 12 halfnotes
- each => 96 notes all in all.
- If you enter 112 in the half-note add column, this would be
- the absolute note 112-100 = 12 (which is a C-1).
- O.K. Absolute notes range from 100 to 195.
-
- Page 10
- Command:
- Here you place special commands or different waveforms
- These commands are available:
-
- 255 stop special arpeggio
- 254 arpeggio loop. The arpeggio continues at the line which
- is entered in the halfnote add column
- 253 Release note. Releases a sustained sound
- 252 Set Volume. Sets the volume to the value in halfnote add.
-
- Furthermore you can also change the waveform:
- The new waveform =
- (carrier waveform + 1)*10 + connector waveform + 1
- if you set carrier or connector waveform to 0 everything stays
- the same.
-
- A few examples: (WF = waveform)
-
- Value in Command column what it causes
- --------------------------------------------------------
- 0 Waveforms don't change
- 44 Carrier WF = 3, Connector WF = 3
- 34 Carrier WF = 2, Connector WF = 3
- 12 Carrier WF = 0, Connector WF = 1
- 23 Carrier WF = 1, Connector WF = 2
- 20 Carrier WF = 1, Connector WF = unchanged
- 30 Carrier WF = 2, Connector WF = unchanged
- 4 Carrier WF = unchanged, Connector WF = 3
-
- Page 11
- That's all there is about the special arpeggio. It's a very powerfull
- function. It let's you create very 'spacy' sounds....
-
- O.K. here are a few documented examples:
-
- Let's say you want to have a constant arpeggio of 4 and 7 halfnote adds.
- with usual commands you would do it like this:
-
- C-3 01 047
- --- 00 047
- --- 00 047
- . . .
- . . .
-
- Here' show it's done with special arpeggio. Set <arpggio> to 1
- Now edit the arpeggio list:
-
- Line Command halfnote add
- 1 0 0
- 2 0 4
- 3 0 7
- 4 254 1 ( jump back to line 1 )
-
- So, the big advantage is that you can do longer arpeggios:
-
- 1 0 0
- 2 0 1
- 3 0 2
- 4 0 3
- 5 0 4
- 6 42 3 ( also change waveform)
- 7 0 2
- 8 0 1
- 9 254 5 ( jump back to line 5 )
-
- Remember that <arpeggio> is the pointer at which line to start in the
- arpeggio list. So if it's set to 10, the arpeggio will start at line
- 10!
-
- Well. That's it. I know that my explanations are a bit clumsy, but if you
- experiment just a little bit, you'll see how it works..
-
-
- Command summary Page 12
- ---------------
-
- Commands supported by SADT / Trackers
-
- Command # Trackers: Sadt:
-
- 0 Normal play / arpeggio Normal play / arpeggio
- 1 Slide up Slide up
- 2 Slide down Slide down
- 3 Tone portamento Tone portamento
- 4 Vibrato Vibrato
- 5 Tone Portam + Vol. Slide. Tone Portam. + Vol. Slide
- 6 Vibrato + Vol. Slide Vibrato + Vol. Slide
- 7 Tremolo *** NOT SUPPORTED ****
- 8 *** NOT SUPPORTED **** Release Sustaining Note
- 9 Set Sample Offset *** INTERNAL USE ***
- A Volume Slide Volume Slide
- B Position Jump Position Jump
- C Set Volume Set Volume
- D Pattern Break Pattern Break
- E E-Commands *** INTERNAL USE ***
- F Set Speed Set Speed
-
- NOTE: The Commands 7,8,9 and E are removed if they are encountered
- when converting an Amiga module.
- It's no use to play with the command 7. It's simply not supported.
- The commands 9 and E however, are used for internal data compression.
- So please keep your hands off of it, unless you know how to handle
- them. (And since Erik / S!P is the only one who knows what exactly
- they do.... ;-)
-
-
- 0 - Normal play or Arpeggio
-
- 0xy : x-first halfnote add, y-second
-
- Arpeggio is used to simulate chords. This is done by rapidly
- changing the piych between 3 different notes.
-
- Example: C-3 00 047 C-Major chord:
- (C + E + G Or C+4+7 Halfnotes)
-
-
- 1 - Slide Up
-
- 1xx : upspeed
-
- This simply slides the frequenzy up. This command is called
- as many times as the speed of the song.
-
- Example: C-3 00 103 1 is the command, 03 the speed
-
- NOTE: Because of hardware differences the Amiga has different
- frequenzy divisors than the adlib. This means that sometimes
- (very seldom) frequenzy slides on the Adlib sound different
- than on the Amiga.
-
-
- 2 - Slide Down Page 13
-
- 2xx : downspeed
-
- This simply slides the frequenzy down. This command is called
- as many times as the speed of the song.
-
- Example: C-3 00 203 2 is the command, 03 the speed
-
- NOTE: Because of hardware differences the Amiga has different
- frequenzy divisors than the adlib. This means that sometimes
- (very seldom) frequenzy slides on the Adlib sound different
- than on the Amiga.
-
-
- 3 - Tone Portamento
-
- 3xx : up/down speed
-
- Usage: Destination Note + 3 + slidespeed.
-
- This command will automatically slide from the old note to
- the new one.
- You don't have to worry about which direction to slide, you
- only need to set the slide speed. To keep on sliding, just
- select the command 3 + 00
-
- Example: A-2 00 000 First play a note
- C-3 00 305 C-3 is the note to slide to,
- 05 is the slidespeed.
-
- NOTE: Because of hardware differences the Amiga has different
- frequenzy divisors than the adlib. This means that sometimes
- (very seldom) frequenzy slides on the Adlib sound different
- than on the Amiga.
-
- NOTE: This command does NOT work with special arpeggio instruments.
- so you'd better use commands 1 or 2 instead.
-
-
- 4 - Vibrato
-
- 4xy : x-speed y-depth
-
- Example: C-3 00 481 4 is the Command, 8 is the speed
- 1 is the depth
-
- To keep on vibrating, just select 4 + 00. To change the vibrato
- you can alter the rate, depth or both.
-
-
- 5 - Tone Portamento & Volume slide
-
- 5xy : x-upspeed y-downspeed
-
- This command will continue the current portamento and slide the
- volume at the same time
-
- Example: C-3 00 503 3 is the speed to slide volume down
- C-3 00 540 4 is the speed to slide volume up
-
- NOTE: This command does NOT work with special arpeggio instruments.
-
- 6 - Vibrato & Volume slide Page 14
-
- 6xy : x-upspeed y-downspeed
-
- This command will continue the current vibrato and slide the
- volume at the same time.
-
- Example: C-3 00 603 3 is the speed to slide volume down
- C-3 00 640 4 is the speed to slide volume up
-
-
- 8 - Release Sustaining Note
-
- 8?? : no parameters
-
- This command releases a sustaining sound. It will then die off
- at the decay rate set for the instrument.
-
- Example: C-3 00 800 Play C-3 and release it immediately
-
- The command ignores all parameters, so it's the same if you use
- 800 or, for example, 815. But it's recommended that set the
- parameters to zero, cause I might cook up another use for this
- command later....
-
-
- A - VolumeSlide
-
- Axy : x-upspeed, y-downspeed
-
- Example: C-3 00 A03 3 is the speed to slide volume down
- C-3 00 A40 4 is the speed to slide volume up
-
- The slide will be called as many times as the speed of the song.
- The slower the song, the more the volume will be changed on each
- note.
-
-
- B - Position Jump
-
- Bxx : songposition
-
- Example: C-3 00 B01 B is the command,
- 01 the songposition to continue at.
-
- This command will also perform a Patternbreak. Please remeber
- that the position must be entered as hex value.
-
-
- C - Set Volume Page 15
-
- Cxx : volume, 00-40
-
- This command sets a new volume for the instrument. The volume
- is a hex number. 40hex is 63 which is the maximum volume.
- However, the adlib uses a logarithmic volume control while the
- Amiga uses linear control. That means that if you set the volume
- to 20 on the Amiga it's exactly half of the max. volume.
- With an Adlib, a volume of 20 is already hardly hearable.
- Therefore it's often needed to change the volume settings if
- you convert an Amiga module.
-
- Example: C-3 00 C10 C is the command,
- 10 is the volume (16 decimal)
-
- NOTE: Set Volume sets the volume for both, the carrier and the
- connector. This may alter the sound!
-
-
- D - Pattern Break
-
- Dxx : break position in next patt
-
- This command just jumps to the next song-position, and continues
- to play from the patternposition you sepcify.
-
- Example: C-3 00 D00 Jump to the next song position and
- continue play from pattern-line 0
-
- C-3 00 D32 Jump to the next song position and
- continue play from pattern-line 32
-
-
- F - Set Speed
-
- Fxx : speed (00-1F / 42-FF)
-
- This command will set the speed/BPM of the song.
-
- Values from 00 to 1F set the Songspeed.
- Values from 42 to FF set the BPM.
- Speed 00 stops a song.
-
- NOTE: On the Amiga the BPM timing started with the value 20 instead
- of 42, but due to the PC's timer chip values less than 42hex are not
- possible.
-
-
- File Format: Page 16
- ------------
-
- Have you ever wondered how the files are built up? Well. here is the
- file formats I use:
-
- Offset Length (Bytes) Description
- ----------------------------------------------------------------------
- 0 4 'SAdT' These for bytes mark a Song.
- 4 1 Version number (currently 9)
- 5 465 The 31 Instruments
- 470 496 The 31 Instrument names
- 966 128 Patternorder
- 1094 2 Number of Patterns (NoP)
- 1096 1 Length of Song
- 1097 1 Restart Position
- 1098 2 BPM
- 1100 256 Arpeggiolist
- 1356 256 Arpeggiocommands
- 1612 576 Trackorder
- 2188 2 Aktive Channels Bits: 123456789xxxxxxx
- 2190 ???*192 Trackdata
-
- Trackorder is an 64*9 array that points to the tracks.
- Track 0 is a empty track (not saved).
-
- each track is saved as follows:
-
- 64 lines of:
- nnnnnnni iiiieeee ppppPPPP = 3 Bytes
- (where n indicates a bit for the note,
- i indicates a bit for the instruments,
- e indicates a bit for the effect and
- p/P indicates the effect-parameter bits.)
- therefore 64*3 = 192 Bytes.
-
-
- The Instrument Format: Page 17
-
- Offset Length (Bytes) Description
- -----------------------------------------------------------------------
- 0 11 Instrumentdata
- 11 4 Arpeggiodata
-
- O.K. here's how the instrument data is built up:
-
- Byte 1:
- Bit 0: Frequenzy modulation / additiv synthesis
- Bits 1-3: Feedback
- Byte 2:
- Bits 0-3: Freq. Multiplier ─┐
- Bit 4: Scaling │
- Bit 5: Sustaining Sound ├ Connector
- Bit 6: Vibrato │
- Bit 7: Amp. Vibrato ─┘
- Byte 3:
- just like Byte 2, just for the Carrier
- Byte 4:
- Bits 0-3: Decay Rate
- Bits 4-7: Attack Rate Connector
- Byte 5
- Decy, Attack Carrier
- Byte 6
- Bits 0-3: Release Rate
- Bits 4-7: Sustain Level Connector
- Byte 7
- Release, Sustain level Carrier
- Byte 8
- Waveform Connector
- Byte 9
- Waveform Carrier
- Byte 10
- Bits 0-5: Volume
- Bits 6-7: Level Scaling Connector
- Byte 11
- Volume, Level Scaling Carrier
-
- The Arpeggiodata consists of:
-
- ArpeggioStart, ArpeggioSpeed, CurrentPos, SpeedCount, each value is a
- byte long.
-
-
- Last Words & Adress: Page 18
- --------------------
-
- Well. That's it
-
- I guess I could go on for hours and hours, but enough is enough. I
- gotta walk the dog, and then I'll go to bed.
- If you have any suggestions for me how to enhance this program, then
- just let me know.
-
- I really appreciate the big feedback this program has caused. If you
- have sent me a letter which I haven't answered yet, just hang on!
- Thanks for supporting a lousy coder...
-
- signed Erik / S!P, Vienna, 4.9.1994
-
- Contact me:
-
- Erik Pojar
- Siegfriedgasse 55
- 1210 Wien
- Austria (Europe) (Tel/Fax: +43 (1) 257 44 57)
-
- email: epojar@stud1.tuwien.ac.at
-
-
-