﻿************************************************************************
RASTER MUSIC TRACKER - RMT
by Radek Sterba, Raster/C.P.U., 2002-2009
http://raster.atari.org
************************************************************************

Changes in RMT 1.31 (VinsCool's version)
-------------------

--- The story begins around the month of June 2021 ---

RMT Patch 16 started simply as my own hacked driver version, and was nothing more than tuning tables experiments, based on the Patch 8 hack by Analmux.
Slowly, it had become its own thing, and I started learning 6502 Assembly during summer.
Months were passing, and I kept pushing my experiments further, to the point I was *literally* reverse-engineering RMT from absolutely nothing for reference!
Then, while I was really close to give up, feeling horribly frustrated and upset.
I was not able to do anything without the experience, or just a tiny bit of the original code to lead me in the right direction, and during the month of October, I really thought I had reached the dead end.

But then, something unexpected happened!
I was contacted via email by Mathy, and was very kindly sent the actual source code of RMT!
I was so shocked, in fact, I almost refused to even touch it, scared I'd destroy the legacy of Raster, and everything he had built the foundations, before he had left this world 10 years ago.

There I was, sitting with my huge messy reverse-engineering efforts, and the actual files I was wishing so much I had the chance to use...
After having exchanged some more emails regarding what I was allowed to do and not to do, I thought I was in good terms with the people keeping the original code safe.
So as far as I understood, as long as I did not distribute the source code to anyone else, I could do pretty much anything I wanted with it. 

So thanks again, Bobik, and Fandal I believe? as well as Mathy for relaying the emails, for granting me the privilege of having the RMT code in my posession!
Once I made sure I had the permission to talk about my experiments, and mention I was actually working from the official source code... I was determined to make good use of it...

So I spent a considerable amount of time learning C++ during the following month, just for the sake of pushing onward, and experiment with the RMT code, in hope I could expand it, and also improve it to my liking.
And all of this was really awesome, and fun!
Anyway, that was the story so far, so here we are at the first wave of changes I did into the RMT code, which was at that moment broken by my fault, mostly because I had *literally* no experience coding in C++ at all!

--- So here we are, around the month of November 2021 ---

Changes below came from the original 1.29 code I was working on.
Things were a lot mixed up, but eventually were merged then forked into its own direction.

At that point, I had simply called this fork "RMT 1.29+Patch16", because of how hacked up and just borderline functional it was during that time.

- Fix the UI bugs I have introduced with my experiments 
- Adjust the UI to either 4 or 8 tracks layout, making things look cleaner in general
- Adjust the Instrument popup window width so full names can be visible, making instruments with long names easier to find
- Fix the exports formats to be compatible to the Patch 16 design. Full support of MONO, STEREO, and NTSC parameters, in both SAP and XEX formats (still in progress for some details, but they are fully functional)
- Re-introduce the external binary loader, using the obx extension. This makes a lot of the things I am doing a lot more modular and easier to maintain since I don't have to hack pointers and memory addresses every time
- Allow modules instrument speed to support up to speed 8 / Maximum of speed 4 in exports still!!
- Fix the Tracker UI's hitbox so the 4th/8th channel's speed column could be clicked using the mouse pointer
- Change ALT+DEL to CTRL+Z for undo, same for the redo whatever ALT+SHIFT+DEL, to CTRL+Y. This now seems to be fully functional, the previous redo combo had random chances of missing due to the implementation of how keys were checked
- CTRL+TAB jumps to the speed columns of the currently edited channel
- Fix the song timer to always reset when the player stops
- Add the ability to either set a song bookmark, or remove it. Shortcut using it would either play from set bookmark, or from cursor position when unset. Bookmarks used to stay for as long as the module was edited
- Cursor follow during play is now toggled with the F12 key, and playing from one of the shortcuts (now F5, F6 and F7) will not overwrite it, but instead make use of either case, making the overall interface less awkward when it's playing
- Reset the entire sound process (including reloading the .dll plugin) with a SHIFT+ESC combo, helps removing stutters or crackling in some cases
- Fix a small visual bug related to the colours displayed, which caused conflicts with certain colours used together, and added a case for either being in JAM or EDIT mode when necessary
- JAM mode is toggled with CTRL+SPACE, the other SPACE shortcuts were removed (since other, better ways to stop the sounds exist anyway)
- Instruments and song infos can now all be edited in Jam mode, leaving the Tracks and Song blocks the only ones which will be in live test mode.
- Permanently display what mode is being used (EDIT, JAM (MONO) and JAM (STEREO)), with matching colour palettes (still in progress)
- Display Two-Tone Filter, requires the Altirra plugins for proper functionality 
- PAL/NTSC display in the info area, toggle in-tracker using CTRL+F12
- Colours fix in the UI
- New font by PG
- Fix the SONG block size, as well as its clickable area, and the offset related to it so the currently playing line is centered too
- Add a PAL/NTSC toggle from a mouse click in the text area associated to it, behaviour is identical to CTRL+F12 when it's executed
- Set MAXTRACKLENGTH and switch between 4 and 8 TRACKS from the main interface.
- New Global UI commands: Song Line Seek Next and Previous. Use with either Multimedia Keys (Seek Next/Prev)
- Tweak the clickable hitboxes slightly when the text was variable width for the the MONO/STEREO and PAL/NTSC boundaries

This is around that time, about a month later, that another surprise had happened, spicing up this adventure!
To make a pretty short story, out of nowhere, I was also sent the sources of RMT 1.30 this time! 

This version, which was another fork version, added a couple of new things, but was then left dormant by the original author, probably for the lack of time or interest.
So thanks a lot, sir Rudla, for allowing me to use your own version for my experiments!
A lot of his changes helped me a lot to get unstuck on a bunch of things I was unsure about, so this was a blessing, on the long run!

--- December 2021's progress... ---

- Bump version to 1.31 (still work in progress at that moment), and removed all the "Patch 16" references since this is pretty much the unofficial continuation of RMT now
- Port to Visual Studio 2019
- Fix a bug introduced by 1.30, which caused the lines of selected objects and AUDCTL hooks to be black, since they were reading zeroes instead of the proper RBG values
- Fix the "centered cursor on rows" view being dynamically adjusted using the window size itself
- Add MinMaxInfo calls for the minimal window sizes, independantly from 1.30's code changes since I took a different approach for it
- Display notes as Flats or Sharps (also saved in rmt.ini)
- Add a toggle for notes to display German Notation, basically B notes as H instead, etc (thanks PG for the idea)
- Change the highlight colours to a more uniform display, design is still not definitive
- Replace the text "Flat or Sharp notes" to "accidentals", being the proper musical term. Thanks to Enderdude for the information!
- Edit the configuration dialog window to make options a little less ambiguous, also re-arrange the elements a little bit
- Small code cleanup, now that most things merged recently (1.29, 1.30 and my own experiments) appear to work properly, few 1.30 additions were purposefully omitted for the time being, since a different approach was being taken
- Display the "About" dialog if no .ini file is detected, this is assuming RMT ran for the first time on a new system. It's the small things!
- Tweaked the commandline argument, so attempting to load any file by association that isn't a .rmt module will throw an error message and exit, instead of loading the tracker with nothing at all
- Changed the F7 hotkey to now Play from current position using F7 alone, or from Bookmark only if SHIFT is held and Bookmark is set.
- New global shortcut: CTRL+W to create a new file. 
- Preleminary Multimedia keys support, also added independently from the 1.30 changes
- Fix the Instrument editor screen to allow using SHIFT + Note Key again, and keep SHIFT as SHIFT for uppercase on the Instrument Name and Song Name instead
- Fully removed the necessity to use CAPSLOCK for typing uppercase characters holding SHIFT, this was counter-intuitive and rather unpleasant to have to use it like that
- Tweak the SHIFT key further when testing notes or editing text, so no accidental values are input if certain characters were pressed while SHIFT was held
- Properly implement CAPSLOCK, which will force uppercase and reverse to lowercase if SHIFT is also being held, it won't affect anything else than the text input areas (Song and Instrument names)
- Add another BOOL flag for the Song name area this time since it caused conflicts with the instruments screen when the same one was used for both at the same time
- Remove the old code and references to CAPSLOCK, NUMLOCK and SCROLLLOCK since they are no longer needed
- Fix a bug where holding SHIFT through CAPSLOCK caused instrument name cursor to function backwards, now having CAPSLOCK active won't cause any conflict with the arrow keys while SHIFT is held
- Tiny change to the is_editing_infos boolean, making sure it's actually only setting 1 when the cursor is on the Song Name area, while the Speed values will always return 0
- Fix a design oversight where editing in the "Track lines boundaries go to next/previous songlines" parameter being disabled would not take the pattern size into account and overflow past the "END" rows
- Make sure the selection block cursor won't cross pattern boundaries, fixing both a graphical bug and the awkward block selection behaviour where it would also overflow into the next/previous pattern
- Allow tracks to be navigated with LEFT and RIGHT keys seamlessly, making all Tracks columns (Note, Instrument, Volume and Speed) accessible unconditionally
- Force the Instrument column to insert a note if the note keys are used on empty rows, effectively making it behave the same as the Note column. Will use the original instrument number function otherwise
- Two-Tone Filter can now display its volume output in a unique colour, final design to decide later
- Replace the "." character in empty tracks to "-" for making it easier to visually know where the active line is
- Fix the "now playing" yellow colour to only display on the proper song line, and not when the same patterns are used elsewhere
- Fix the newer TRACKS UI blocks position
- Tweak the UI elements a bit to allow larger tracks, making Speed columns their own spot and also did preliminary work on implementing more complex functions in tracks
- Add preleminary support for sa_pokey.dll PAL/NTSC toggle, sending the accurate CPU clock values between each cases
- Fix the X coorfinates in TRACKS hitbox, everything else works as expected
- Adjust the minimal window size to accomodate the new TRACKS UI dimensions
- Preliminary new colours and themeing (thanks PG for the help and suggestions!)
- 256 colours bitmap support
- Tweak the DrawAnalyser() function in order to draw the mute/shadow/full volume bars with unique colours matching the background
- Highlight GOTO lines in the SONG block to make them easier to see (thanks PG for the idea!)
- Fix the config dialog update to not reset the sound routine if no region setting was changed, same for the HW/SW Soundbuffer setting. This was an oversight by Vin, oops
- Move the SONG block depending on the window size. This was the last 1.30 feature that was not backported yet since I took a different approach with the offset displacement handler
- Fix a tiny bit the Volume Analyser in the Instrument Editor screen, the volume bars were 3 pixels off relative to the tracks below it
- Add experimental register state visualiser/debug informations display, works for the few elements in place, but a lot of the design has yet made
- Add few more windows size parameters in order to move the SONG block accordingly, and hide the registers view block if it is too large to display properly
- Fix a small bug related to the WINDOW_OFFSET variable which would run into a conflict with another parameter and cause the UI to flicker as a result
- Add rudimentary frequencies calculation for the Register View. Much still missing!
- Create a Distortion C formulae for 15khz, 64khz and 1.79mhz modes. Accurate frequencies computed in real time!
- Create a Distortion 2 formula only for 1.79mhz mode, same as above!
- Worked around all missing modes by going directly into the Pure (Distortion A) frequencies formulae
- Fix a memory leak in the initialisation of the Registers Visualiser causing glitched characters to pop up at random
- Rewrote the Registers Viewer entirely to make it fit inside a single for() loop, since this caused random corruption in the data being read elsewhere despite sharing the exact same variables
- Fix a tiny mistake where not having the POKEY Chip registers option checked in the View menu would not display the Registers on the right, while the POKEY REGISTERS text shown above was still there
- Fix the Registers View initialisation, which potentially leaked memory by writing characters out of bounds
- Add Distortion 2 64khz and 15khz formulae
- Add Distortion 0 and 8 POLY9 formulae for 1.79mhz and 64khz
- Rudimentary cents off calculation. Needs improvements
- Further improvements in the cents calculation. Seems to output acceptable accuracy withing the range of +-1 error compared to the earlier attempt
- Remap the Registers View into a nicer block, still in progress. Small code cleanup in the AUDCTL bits detection
- Hopefully fix the RMW format for loading and saving due to an error in parameters number being incorrect, causing RMT to crash (thanks Zlew for reporting this bug!)
- Add new compiler flags in order to speed up the general performace of the code, few code adjustments done accordingly (thanks Puna for the tips and advices!)
- Notes computation based on cents and base tuning (440hz currently) is now fully functional!
- Fix the Instrument Editor screen where being in the Instrument parameters make SHIFT not work to switch Instrument with LEFT or RIGHT when the cursor is not on the Instrument Name line
- Also fix the Infos area with the same issue
- Make both "is_editing_" BOOLs more robust by making sure any situation would update the flag accordingly, to prevent keeping the wrong flag in memory when the cursor is moved elsewhere
! Work around the TXT format being broken by preventing the user from loading and saving in that format until it is properly fixed at an ulterior time
- Fix hotkey support holding SHIFT for Infos and Instrument areas, making PLUS, MINUS, PAGE UP and PAGE DOWN work again for Volume and Octave edit, finally after being broken for 3000 years
- Fix the SPACE key input when exiting PROVE/JAM mode, which would be input by accident in the instrument editor, when mode switched.
- Also fix a small bug in PROVE mode where pressing SPACE also reduced the current active volume... because of a missing break; statement at the end of its case entry, oops
- Allow jumping to ANY song line during playback, using either the mouse pointer, or any of the known shortcuts to SongUp() or SongDown() (Thanks Zlew for the suggestion)
- PAGE UP and PAGE DOWN keys can be used anywhere, effectively allowing seeking song lines from everywhere during playback! In Tracks: Use CTRL+Up or Down, or CTRL+Page Up or Page Down for the same effect
- Add Paste Merge (CTRL+M) hotkeys in tracks
- Tweak PROVE keys further so navigation is almost identical to EDIT mode control, minus the ability to edit SONG and TRACK lines. Instruments and Infos can still be edited, use SHIFT to test notes there
- Add Transposition shortcuts using CTRL+F1/F2/F3/F4, F1 and F2 transpose down or up 1 semitone, F3 and F4 transpose down or up 1 octave
- Add the ability to use most Tracks edit hotkeys without selecting a block first. When no block is selected, current row is automatically selected then gets the effect processed onto it
- Tweak the paste shortcuts so the data can be pasted anywhere when a Selection Block is still active, avoiding pasting in that block when it was not wanted
- Add CTRL+SHIFT+LEFT/RIGHT/UP/DOWN shortcuts, Left an Right change the instrument, Up and Down change the volume. If a block was selected first, it will be processed whole, else, it will be the active row
- Press Escape key to DESELECT a block
- Add CTRL+NUMKEY_ADD/NUMKEY_SUBTRACT shortcuts to change the tracks Step value
- Step value is now precessed in all situations in tracks, eg: inputting notes, volume, deleting row, selecting block, etc, except for SPEED column (no step when input), or when ENTER key is used (always 1)
- Add CTRL+SHIFT+ENTER hotkey to input a track end line, useful when you literally cannot use the END key (like myself)
- Multiple tweaks and polish on most things, too many detail to remember, or be worth mentionning, mostly fixing some bugs or very small oddities. Input revamp still in the work, so bugs may happen!
- Fix Tracks lines going out of bounds going up on tracks with Wise Loops due to a maths error
- Fix Select All command to actually select all, up to the Track End line, as it should have been since forever. This is directly related to the oversight mentionned above. Manual selection needs fix too
- Fix Tracks lines during Play+Follow mode to prevent any movement, except on the horizontal axis, so moving the cursor left and right still works. Fixes the oversight introduced with my new Song Lines code
- Fix a off by 1 error in the Select All function, where a line would be selected too far outside the boundaries, causing an overflow and possibly memory corruption when copied then pasted elsewhere
- Edit the Song Lines Goto code to make sure it always starts playing on the very first row of a pattern, to avoid skipping lines by "continuing" the playback from the wrong row on a different pattern
- Fix the Info section where changing the active instrument with SHIFT+LEFT/RIGHT would fail due to a missing parameter in the input handler
- Fix a bug in the Instrument editor where the combo CTRL+SHIFT+PLUS/MINUS for editing the volume envelope would be ignored due to a missing parameter
- Fix a bug in the Instrument editor where the combo CTRL+SHIFT+UP/DOWN would be ignored, also due to a missing parameter
- Fix a bug in the Instrument editor where using CTRL+SHIFT+LEFT/RIGHT would wrongfully return an instrument change command, because of a missing condition in the SHIFT key handler
- Fix a bug in the Instrument editor where using SHIFT+INSERT would wrongfully be ignored, also because of a missing parameter (god fucking damnit I keep finding new ones...)
- Tweak Prove keys a bit to prevent accidental inputs with invalid combinations
- Add TAB key support in Song lines, move track right, or left if SHIFT is also held
- FINALLY made sense of all inputs, will be much easier to edit from now on!
- Hopefully fixed the bugged note/instrument combo input from the Instrument column in tracks, where an empty row would force a note, else, change the instrument value
- Fix a crash caused by attempting to display Volume Only mode in the Registers View. Added few tiny changes in order to display "nothing" instead (thanks Enderdude for pointing this out!)
- Tweak global shortcuts further to avoid any conflicts with PROVE keys in stereo (CTRL+SHIFT+NOTEKEY)
- Add HOME and END keys support in PROVE mode, HOME to the first line, and END for the last
- Re-add the SONG Lines shortcuts "Insert New Unused Pattern", "Duplicate Pattern", "Set Goto Line"", now I realise those were nice to have there too
- Tweak Block Selection behaviour, so now manual selection using SHIFT+UP/DOWN in tracks follow the same logic used by CTRL+A, allowing selection of all valid track lines properly
- Tweak TrackUp() and TrackDown(), to make sure "going past boundaries move Song Line to the Next/Previous position" is properly happening only if the configuration is also enabled
- Also Treak the Tracks up/down code further so having a block selection active could never go past the boundaries, and just not move further on the active line, regardless of the boundary setting active
- Make the Home and End keys in tracks have a much smarter behaviour, where holding SHIFT for a Selection Block will match the improved logic done a bit earlier
- Also allow END to either go to the last wise loop line/end line or actual last line, replicating the behaviour of HOME which goes either to the first line in track, or first line in a Wise Loop
- Force the Tracks ENTER key case to always move down, to prevent the Selection Block's last line to get stuck, caused by the improved logic's check for the last line while the block is also active
- Update the manual to match this version's differences and new design
- Correct some English grammar in menus, update strings to better reflect the changes done
- Add experimental NTSC timing, using a pretty cursed setup involving the timeSetEvent() function which gets called every other frame to oscillate the timing between 16 and 17 miliseconds in NTSC mode

--- December 27th, 2021, just barely missed the Christmas release goal :( hahaha :) ---

...This was a MASSIVE changelog, but here we are, finally! 
Enjoy this new unofficial Raster Music Tracker version! More updates and more rambles will come in the near future :D 
~Vin


Changes in RMT 1.30 (Rudla's version)
-------------------

- Main window can be resized
- Fixed bug with uninitialized COM
- Window position is remembered on close, restored on start
- Added recent file list
- Support play/stop multimedia keys
- Config option to disable use of NumLock


Changes in RMT 1.29 (unreleased?)
-------------------

New songs
- Song "cured.rmt" (by Tatqoo)
  in "songs/tatqoo/" directory.
- Song "h3x0r_menu.rmt" (by Nooly)
  Song "h3x0r_ingame.rmt" (by Nooly)
  in "songs/nooly/" directory.


Changes in RMT 1.28 (last official version by Raster... Rest in Peace, good sir, and thanks for everything!)
-------------------

- Recognition of any changes (indicated by '*' mark after filename in title bar)
  and dialog with "Save current changes?" question (when new song, load song,
  import song and/or when tracker goes to exit).
- Hotkey for "Cursor go to the track speed column" changed to Control+Z.
  (There is also new menu item "Track - Cursor go to the speed column".)
- Control+S is new hotkey for "File - Save" from now.
  (If this hotkey is used, messagebox with query "Save song to file '...'?"
  appears and you have to confirm your request. Also you can disable this
  query messagebox in Config dialog (menu View - Configuration)).
- New hotkey Control+L for "File - Load...".
- New hotkey ScrollLock for autofollow mode turn on/off.
- Sound click when "Undo" hotkey is pressed but undo is not possible.
- Handling of track events with zero volume during manual step replaying
  (by Shift+/Control+/Enter hotkey) corrected.
- Vertical line separator added between left and right tracks.
- View menu items settings are stored to rmt.ini configuration file.
- New functions in menu Instrument - submenu Paste special:
  * Volume envelopes and Envelope parameters only
  * Insert Volume envelopes and Envelope parameters to cursor position
    (Note: Cursor has to be in some column of volume or parameters envelope.)
  * Volume R to L envelope only
  * Volume L to R envelope only
- New function in menu "Song - Song change maximal length of tracks".
  It also compute effective maximal length value for current song.
  Warning: All tracks can be prolonged or truncated!
  (Note: Computing and setting of effective maximal length is also added
   to function "Song - All size optimizations".)
- Routine in exported XEX Atari executable msx file improved.
  Now it works well on PAL/NTSC computers and playing speed
  is adjusted automatically to 50Hz on PAL and also on NTSC systems.
  (If configuration is set to NTSC system speed, then 60Hz.
   Note: RMT and SAP files doesn't contain any NTSC type, so playing speed 60Hz
   is supported only in exported XEX Atari executable msx files.)
- NumLock handling improved (I hope ;-)).
- Other small corrections and bugfixes. 

RMT routine changes
- New variable RMTSFXVOLUME for sfx volume settings (volume * 16).
  Example "/asm_src/sfx/sfx.a65" has been modified.
  (suggested by Tebe)
  (Coders, you have to use new rmtplayr.a65)

Accessories
- Atari RMT player RMTPL107.XEX (new version 1.07) is in "player" directory.
  New features:
  * Support for manual entering Device:Filename by TAB hotkey.
    (requested by Baktra)
  * Support for up to 35 subsongs by hotkeys 1-9 and A-Z.
  * Support for PAL/NTSC computer systems. Playing speed is adjusted
    to 50Hz on PAL and also on NTSC systems.
  (There is short description in RMTPL107.TXT file.)

New songs
- Song "wyjasnijmy_to_sobie.rmt" (by LiSU)
  in "songs/lisu/" directory.
- Song "bomb_jack.rmt" (by Miker)
  in "songs/miker/" directory.
- Song "amelie.rmt" (by Nooly)
  Song "summer.rmt" (by Nooly)
  in "songs/nooly/" directory.
- Song "vietnamska_mise.rmt" (by PG)
  Song "summerdays.rmt" (by PG)
  Song "deflektor.rmt" (by PG)
  Song "xmasmix.rmt" (by PG)
  Song "gpc.rmt" (by PG)
  Song "kaviar.rmt" (by PG)
  in "songs/pg/" directory.
- Song "mab.rmt" (by Raster/c.p.u.)
  Song "indianajones4.rmt" (by Raster/c.p.u.)
  Song "3d.rmt" (by Raster/c.p.u.)
  in "songs/raster/" directory.
- Song "sunset_on_the_moon.rmt" (by XLent)
  Song "4tk35.rmt" (by Caruso)
  Song "ilusia.rmt" (by StRing)
  Song "naue.rmt" (by StRing)
  in "songs/" directory.


Changes in RMT 1.27
-------------------

- Support for another external Pokey sound emulation provided by apokeysnd.dll
  by Fox/Taquart (http://asap.sourceforge.net/apokeysnd.dll).
  Description of apokeysnd.dll functions is in the readme.txt file.
  Note: If both Pokey DLLs are placed to RMT directory, usage of apokeysnd.dll
  has higher priority than sa_pokey.dll.
- New menu "Undo" with support for Undo/Redo (up to 100 steps) and ClearHistory.
  (There is Alt+Backspace hotkey for undo operation.)
  (requested by LiSU)
- New options in Config dialog (menu View - Configuration):
  * TrackEdit cursor vertical range ... there can be selected value from 0 to 8
    for vertical cursor movement in trackedit area. (default is 6)
  * Reset of Atari sound routine when ESC is pressed. (default is off)
    (suggested by Miker)
- New TrackEdit and SongEdit hotkeys:
  * Control+PageUp ... Move cursor to begin of subsong or begin of previous subsong.
  * Control+PageDown ... Move cursor to begin of next subsong.
  (suggested by Miker)
- New buttons in block effect/tool dialog (menu Block - Effect/tools or Control+F):
  * "Try" ... Perform the selected effect but no close effect dialog (Alt+T)
  * "Restore" ... Restore block to original state (Alt+R)
  * "Play/Stop" ... Play the selected block repeatedly / stop playing (Alt+P)
  (suggested by LiSU)
- Function "Change all the instrument occurences" improved:
  * Checkbox "Only in some channels"
    with special dialog box for L1..R4 channels selection.
  * Checkbox "Only in songlines" for songlines from/to selection.
  Important note: If some tracks are used inside and outside of selected
  channels+songlines area and instrument changes should be performed,
  new tracks will be created for changes in selected area only
  and song will be adjusted automatically.
  (suggested by Sal Esquivel)
- New function "Reload" in menu Project.
  After confirmation it discards all changes since your last save.
- Prepared last used filename in "Save As" dialog.
- Support for new FEAT options.
  "File - Export As - RMT stripped song file (*.rmt)" there are two new checkboxes:
  * "GlobalVolumeFade support" (RMTGLOBALVOLUMEFADE variable)
    (requested by Dely)
  * "No starting songline" (start from songline 0 always)
- Bugfix of Path setting for loading/saving of songs/instruments/tracks.
- Bugfix of lines' coordinates in "Song columns' order change/copy/clear" dialog.
- Bugfix of default extensions addition.
- Other small corrections and bugfixes.

RMT routine changes
- New rmt_feat option FEAT_GLOBALVOLUMEFADE (+7 bytes).
  If it is activated, there is possible to control global song volume
  via RMTGLOBALVOLUMEFADE variable ($00-$f0, step $10):
  $00=normal volume (100%) ... $f0=minimal volume (0%).
  Example is in "/asm_src/volume/" directory.
- New size optimalization option supported:
  FEAT_NOSTARTINGSONGLINE (it can save 22 or 24 bytes) for song starting
  from songline 0 always (no support for songline init by A-register).
  For example "/asm_src/optim/musico.xex" is 22 bytes shorter now.
  (Coders, you have to use new rmtplayr.a65 and rmt_feat.a65)

New songs
- Song "acidjazzed_evening.rmt" (by Miker)
  Song "jetboy.rmt" (by Miker)
  Song "7_gates_of_jambala.rmt" (by Miker)
  Song "astaroth.rmt" (by Miker)
  Song "easter_chickens.rmt" (by Miker)
  Song "enchanted_lands.rmt" (by Miker)
  Song "ghosts_n_goblins.rmt" (by Miker)
  Song "logical_3.rmt" (by Miker)
  Song "menace_song.rmt" (by Miker)
  Song "torvak_level_2.rmt" (by Miker)
  Song "flimbo.rmt" (by Miker)
  in "songs/miker/" directory.
- 57 (!) songs by Kjmann (Sal Esquivel)
  in "songs/kjmann/" directory.
- Song "imsure.rmt" (by Raster/c.p.u.)
  Song "whoknows.rmt" (by Raster/c.p.u.)
  in "songs/raster/" directory.
- Song "funny.rmt" (by LiSU)
  Song "przyrada.rmt" (by LiSU)
  in "songs/lisu/" directory.
- Song "brainless.rmt" (by PG)
  Song "hammastahna.rmt" (by PG)
  Song "happy_sundays.rmt" (by PG)
  Song "jozin_z_bazin.rmt" (by PG)
  Song "radixex.rmt" (by PG)
  in "songs/pg/" directory.
- Song "aoki.rmt" (by Nooly)
  Song "hightide.rmt" (by Born/LaResistance)
  Song "astrosphere.rmt" (by Kozyca)
  Song "30minutes.rmt" (by Elan)
  Song "bazalt.rmt" (by Yerzmyey/HOOY-PROGRAM)
  Song "m4700rk4.rmt" (by Epi/Trs)
  in "songs/" directory.

New instruments
- "sharp_ch1.rti" (Sharp channel 1)
  in "instruments" directory.


Changes in RMT 1.26
-------------------

- Song path is memorized if song filename is used in command line.
- Cursor is scrolling down for preselected number of lines also after
  track editing of note volume and/or octave. (suggested by Elan)
- New instrument edit hotkeys/functions:
  Instrument envelope edit:
  * Shift+Insert ... Duplicate the current envelope column. (suggested by LiSU)
  * Space ... Clear the current envelope column values and move cursor to the right.
  Instrument table edit:
  * Shift+Insert ... Duplicate the current table item.
  * Space ... Clear the current table item and move cursor to the right.

Bugfixes
- Occasional unhandled exception error with clone track function.
- Bug in Effect/tools "Expand/shrink lines".

RMT routine changes
- Correction of crazy FEAT optimalization bug with used FEAT_COMMAND5
  and unused FEAT_PORTAMENTO. (Thanks to Wrathchild for notice.)
- Correction of crazy FEAT optimalization bug with used FEAT_COMMAND6
  and unused FEAT_FILTER.
- Some additional super-ultra-hard ;-) improvements of FEAT speed/size optimizations.
  For example "/asm_src/optim/musico.xex" is 39 bytes shorter now (and there is saved
  a lot of CPU cycles, of course).
  (Coders, you have to use new rmtplayr.a65)

New songs
- Song "shorty_noises.rmt" (by Elan /unfinished party version/ 17.3.2007)
  Song "kurczak.rmt" (by LiSU)
  in "songs/" directory.
  Song "disturbance.rmt" (by Miker)
  Song "flowers_mania.rmt" (by Miker)
  Song "my_first_one_in_rmt.rmt" (by Miker)
  Song "tempest2000_blue_level.rmt" (by Miker)
  Song "the_last_ninja_2_central_park.rmt" (by Miker)
  Song "tyrian_zanac5.rmt" (by Miker)
  Song "wings_of_death_lv2.rmt" (by Miker)
  in "songs/miker/" directory.
  Song "delight.rmt" (by Nils Feske)
  Song "nothing.rmt" (by Nils Feske)
  Song "takeoff.rmt" (by Nils Feske)
  in "songs/nilsfeske/" directory.
  Song "against_time.rmt" (by PG)
  Song "stardust_memories.rmt" (by PG)
  Song "strangled_mind.rmt" (by PG)
  in "songs/pg/" directory.
  Song "gearup.rmt" (Gear up, Forever 8 msx by raster/c.p.u. 2007)
  Song "l45tm1nut3.rmt" (L45T M1NUT3, Glucholazy 2007 msx by raster/c.p.u. 26.7.2007)
  in "songs/raster/" directory.


Changes in RMT 1.25
-------------------

- Maximal length of instrument envelope increased to 48 (ELEN=$01..$30).
  Overall size (decadic value in bytes) of Atari instrument data there is shown.
  (Note: One instrument with full envelope and note/frq table has size 188 bytes.)
  Warning: If you will load instrument files with longer envelope than 32
  (or RMT modules containing such instruments) to older RMT tracker program versions,
  it can cause totally unpredictable results (inclusive of program crash).
  Please, use the latest RMT tracker program versions always to avoid this kind of problems.
  Previous Atari RMT player programs and Atari RMT assembler player routines
  are working well all along (there isn't problem with longer instrument envelope).
- Cursor background color was improved (better visibility). (suggested by PG)
- menu Instrument - Info about using of actual instrument - Track listing
  info added and volume range detection improved (standalone volume lines are processed too).
- menu Instrument - Change all the instrument occurences - new options:
  * "From/To instrument" ranges comboboxes.
  * "One instrument only" checkbox.
  * "Changes only in current track" checkbox. (suggested by PG)
  * "Default ranges" button.
  * "All instruments" button.
  * "The same instrument range" checkbox.
  Change process improved for standalone volume lines.
- Mouse control of turn on/off the channels in song head area (L1-R4 title)
  * LeftMouseButton ... turn on/off relevant channel.
  * RightMouseButton ... solo play of relevant channel / turn on all channels.
  (suggested by PG)
- New features in Config dialog (menu View - Configuration):
  * Remembering octaves and volumes for each instrument separately
    (default is on). (suggested by LiSU)
    Note: Instruments' octaves and volumes are also stored to RMW working file.
  * "Paths..." button.
    There is possible to define default paths for loading and saving of songs,
    instruments and tracks. Each path type is remembered separately.
    (suggested by LiSU & Miker)
- Some improvements in block effect/tool (menu Block - Effect/tools or Control+F)
  for "Echo" effect:
  Fade out level can be defined as percentage value for proportional volume degression
  or as integer value for linear volume substraction.
  Support for echo ending on minimal volume. (suggested by LiSU)
- Some configuration parameters are stored to RMW working file.
- Suppression of Atari "Attract mode" in exported "XEX Atari executable msx".
- Other internal improvements and small bugfixes.

New songs
- Song "devils.rmt" (Atari version by PG, 2006)
  Song "krakout.rmt" (Atari version by PG, 2006)
  Song "lcd3cd3.rmt" (Atari version by PG, 2006)
  Song "somewhere.rmt" (Atari version by PG, 2006)
  in "songs/pg/" directory.
  Song "astro4road.rmt" (Astro4road game music by raster/c.p.u. 2006)
  in "songs/raster/" directory.


Changes in RMT 1.24
-------------------

- New options in Config dialog (menu View - Configuration):
  * Alternative trackline numbering
    (in accordance with trackline highlight step).
  * Swap "replay note / replay all notes" functions
    (Enter / Control+Enter hotkeys).
  (both options requested by LiSU)
- Support for mouse-wheel control (according to the current
  mouse cursor position):
  * Song scroll up/down
  * Tracks scroll up/down
  * Instrument prev/next
  * Volume up/down
  * Octave up/down
- Bookmark support - toolbar button "Play from bookmark".
  (Button is disabled if bookmark is not set up).
  New hotkeys:
  * Control+F1 ... Set bookmark to the current position
    (also current beat speed is stored).
  * F1 ... Play song from the bookmark position (only if bookmark is set up)
    include beat speed initialization by stored bookmark beat speed.
  * Shift+F1 ... Similar to F1, but with autofollow of the currently played position.
  Note: If insert/delete songline operations are performed,
  bookmark is moved down/up automatically.
- Other small corrections and bugfixes.

RMT routine changes
- New speed/size optimalization options supported:
  FEAT_EFFECTVIBRATO (it can save 65 bytes and quite a lot of CPU cycles).
  FEAT_EFFECTFSHIFT (it can save 11 bytes and quite a lot of CPU cycles).
  btw - if no one from this two effects is used, it can save 102 bytes
  and a lot of CPU cycles. If FEAT_VOLUMEMIN isn't used too, another 2 bytes
  will be saved.
- Other speed optimizations with vibrato effect and with RMT working registers
  (19 bytes shorter code and a lot of CPU cycles saved).
  (Coders, you have to use new rmtplayr.a65 and rmt_feat.a65)

Accessories
- Atari RMT player RMTPL106.XEX (new version 1.06) with playing of subsongs
  feature is in "player" directory.
  (There is also short description in RMTPL106.TXT file.)

New songs
- Song "satellit.rmt" (Satellite One by Purple Motion, Atari version by raster/c.p.u. 2006)
  Song "threeht.rmt" (Three Hundred Thirteen - raster/c.p.u., 2006)
  Song "glu.rmt" (GLU - raster/c.p.u., 2006)
  Song "gerappaa.rmt" (Gerappppaa - LiSU, 2006)
  Song "thrust.rmt" (T'H'R'U'S'T - Centy Brown, 2006)
  in "songs" directory.


Changes in RMT 1.23
-------------------

- Improvements in MODule import function (with tone-portamento effect).
- Support for SFX effects.
  "File - Export As - RMT stripped song file (*.rmt)" there is improved
  export dialog with "SFX support" checkbox.
  You can use instruments for sound effects in your programs -
  - example is in "/asm_src/sfx/" directory.
- Better playmode switching to "Play from currently edited position"
  if song is playing with "follow song" already. (Sounds aren't breaked.)
- Some internal improvements.
  (rmt_ata.sys,rmt_msx.sys,rmt_sap4.sys and rmt_sap8.sys system data files
  are included in RMT tracker executable.)

RMT routine changes
- New option FEAT_SFX for SFX support feature. RMT routine is a bit longer
  and slower with SFX support enabled, so, enable it only if you will
  use RMT routine also for SFX effects.
  (Coders, you have to use new rmtplayr.a65 and rmt_feat.a65)

New song
- Song "commando.rmt" (Commando - sack/cosine, 2003. original by Rob Hubbard)
  in "songs/sack_cosine" directory.


Changes in RMT 1.22
-------------------

- Block effect/tool "Volume humanize" improved - better random values. ;-)
- New block effect/tool (menu Block - Effect/tools or Control+F
  or toolbar button "FX") function: "Volume set/remove".
  It allows to set volumes or remove whole note events
  according to the current volume values.
- New function in Song menu:
  * Make track's duplicate and put it to actual song pos. (Control+M)
    (It also check if track is used more times in song. If doesn't, message box
    with question appears.)

RMT routine changes
- Several improvements of RMT Atari assembler routine - it is 5 bytes shorter now
  and save some a few CPU cycles.
- New speed/size optimalization options FEAT_INSTRSPEED (it can save up to 21 bytes
  and some CPU cycles) and FEAT_CONSTANTSPEED (it can save 28 bytes and some CPU cycles).
  (Coders, you have to use new rmtplayr.a65 and rmt_feat.a65)


Changes in RMT 1.21
-------------------

- Enhanced mouse control:
  * Set cursor position in trackedit area, songedit area,
    instrument parameters / envelope / table area, info / speed area.
  * Octave selection by mouse (click to "OCTAVE x-y" text).
  * Volume selection by mouse (click to "VOLUME x" text).
    (Also you can turn on/off "respect volume" option there.)
  * Instrument selection by mouse (click to "XX: instrument name" text).
  * Envelope GO/LEN parameter setting area (click to mouse L/R button).
  * Table GO/LEN parameter setting area (click to mouse L/R button).
    (Areas' locations - see the screenshots.)
- New hotkeys:
  SongEdit:
  * Enter ... Exit from SongEdit section.
  * Home ... Move cursor to first songline.
  * End ... Move cursor to last songline.
  * PageUp ... Move cursor 4 songlines up.
  * PageDown ... Move cursor 4 songlines down.
- New option in Config dialog (menu View - Configuration):
  * Don't use hardware soundbuffer
    (default is off).
    (Maybe it could help if you have some system sound related problems.)


Changes in RMT 1.20
-------------------

- Automatic notes' start-time quantization to the nearest beat
  during the real-time recording. (Note events incoming after half of beat
  are delayed and stored to the next track line.)
- "File - Export As" contains new type "ASM simple notation source (*.asm)".
  You can adjust a lot of options in dialog box will be showed there.
  It's useful for some easy music and/or sounds effects in your tiny programs -
  - example is in "/asm_src/simple/" directory.
- Some other small internal corrections.

Accessories
- Atari RMT player RMTPL105.XEX (new version 1.05) is in "player" directory.
  (There is also short description in RMTPL105.TXT file.)

RMT routine changes
- Some corrections and speed optimizations in RMT assembler routine.
  It is 6 bytes longer now, but quicker about 20 CPU cycles..

New songs
- Song "ramaja.rmt" from Tatqoo/Taquart in "songs/tatqoo" directory.
- Song "itdoesnt.rmt" (It Doesn't Matter, raster/c.p.u., 2005)
  Song "paulthep.rmt" (Paul the penguin by radix, Atari version by raster/c.p.u., 2005)
  Song "cervi2.rmt" (Cervi2, by raster/c.p.u., 2005)
  Song "cubico.rmt" (Cubico music & sfx, Atari version by raster/c.p.u., 2004)
  in "songs" directory.


Changes in RMT 1.19
-------------------

- New combobox in main toolbar for setting number of lines (from 0 to 8)
  cursor will scroll down after entering notes or pressing space key.
  Also new hotkeys for control of this parametr:
  NumLock ... +1, Shift+NumLock ... -1
- Function "Song - Song columns' order change"
  was changed to "Song - Song columns' order change/copy/clear"
  and now there is possible to use it also for copying or clearing
  of song columns. There are also some new options:
  * button "Copy left-->right"
  * button "Copy left<--right"
  * button "Clear all"
  * range parameters "From songline $:__" and "To songline $:__"

New songs
- 11 songs from Tatqoo/Taquart in "songs/tatqoo" directory.
- Song "smells.rmt" (Smells like teen spirit, Atari version by sack/c0s, 2004)
  in "songs/sack_cosine" directory.


Changes in RMT 1.18
-------------------

Important bugfix
- Bad keys recognition when Numblock keys autorepeat function was active.

New songs
- Song "timett.rmt" (Time to turn, raster/c.p.u., 2004)
  in "songs" directory.
  (SAP file "timett.sap" is in "exports/sap" directory.)


Changes in RMT 1.17
-------------------

- Menu Track:
  * Load and paste to actual track.
  * Save actual track as...
  * Clear all duplicated tracks, adjust song.
    (Note: This function is also included in Song - All size optimizations.)
- New block effect/tool (menu Block - Effect/tools or Control+F
  or toolbar button "FX") function: "Modify notes, instruments and volumes".
- Function "Song - Prepare song line with unused empty tracks (Control+P)"
  was changed to "Song - Insert new line with unused empty tracks (Control+P)"
  and now it insert this new songline into actual song line positions,
  not to line below.
- Function "Song - Prepare duplicated song line (Control+O)"
  was changed to "Song - Insert copy or clone of song line(s) (Control+O)".
  and now it shows new copy/clone dialog for setting of parameters
  for this very helpful function.
- Menu Song:
  * Put new empty unused track to actual song position (Control+N).
- "File - Export as XEX Atari executable msx" there is possible to:
  * define 4+1 lines now. 5th line is showed instead of 4th line 
    if Atari SHIFT key is pressed.
  * define color of rasterline meter.
- "File - Export as SAP file" there is possible to define hexadecimal song line
  numbers for more SAP module subsongs. Initial values are prepared by automatic
  subsong-detection algorithm, but you can change it at pleasure.
- Added "*.tm8" extension in Import TMC open file dialog.
- New option in Config dialog (menu View - Configuration):
  * F1-F8 keyboard layout:
    - RMT original keyboard layout.
    - Layout 2:
      F1=track edit,F2=instrument edit,F3=info edit,F4=song edit
      F5=Play,F6=Play from start,Control+F7=Play tracks,F7=Replay tracks,F8=Stop
      (This layout is for F5-F8 keys identical with some other renowned
       module tracker programs.)

Accessories
- Atari RMT player RMTPL104.XEX (new version 1.04) is in "player" directory.
  (There is short description in RMTPL104.TXT file.)

New songs
- Song "hexxagon.rmt" (Hexxagon music & sfx, raster/c.p.u., 2003)
  Song "basix.rmt" (Basix, by raster/c.p.u. 2004)
  Song "gemx.rmt" (Gem'x song, Atari version by raster/c.p.u. 2004)
  in "songs" directory.
  (SAP file "hexxagon.sap" with 6 subsongs is in "exports/sap" directory.)
  (SAP file "basix.sap" with 9 subsongs is in "exports/sap" directory.)

Bugfixes
- Revision of keyboard control. 
  NumLock mode is turned off all the time when tracker main window is active,
  so that key combinations Shift+NumBlockKeys are working as well as state
  of right Shift key can be correctly detected now.
- Internal improvement of TMC import algorithm (better recognition of identical
  tracks arised from other tracks by song shift parameter).
- If tracker window isn't active, MIDI events on channel 0 are ignored.
- Other small corrections and bugfixes.


Changes in RMT 1.16
-------------------

- Instrument edit
  * Shift+Control+Num+,Num- ...change the R+L volume envelopes up/down.
    If cursor is at line "VOLUME L" or "VOLUME R", then volume envelope
    for left or right channel only is changed.
- Menu Block - submenu Paste special:
  * Merge with current content
  * Volume values only
  * Speed values only
- Menu Instrument - submenu Paste special:
  * Volume R+L envelopes only
  * Volume R envelope only
  * Volume L envelope only
  * Envelope parameters only
  * Table only
- Preserve last "export type" in "Export As" dialog.

RMT routine changes
- A lot of great speed/size optimizations made by Jaskier/Taquart.
  Thank you very much, Jaskier!!!
- A few another speed/size optimizations.
- RMT routine is 40 bytes shorter now and quicker about 100-200 CPU cycles.


Changes in RMT 1.15
-------------------

- Quadruple instrument speed allowed also for 8 tracks STEREO modules.
- .rmt (.txt,.rmw) filename can be used as the commandline parameter
  for the automatic loading of this file after start of the RMT tracker.
  (It's recommended to make association for "rmt" extension to run RMT tracker.)
- Show Play time counter (from 00.0 sec to 9:59 minutes).
  (default is on, turn off by menu View - Play time counter)
- Menu Track:
  * Info about using of actual track.
  * Renumber all tracks (2 types of ordering).
  * Clear all tracks unused in song.
- Menu Instrument:
  * Renumber all instruments (3 types of ordering).
  * Clear all unused instruments.
- Two tracks functions moved from Song menu to Track menu (Search and rebuild wise 
  loops in all tracks, Expand loops in all tracks).
- Size optimization function (menu Song - All size optimizations) perform also
  clearing of all unused instruments and renumbering of all tracks and instruments now.
  (So there can be a bit better result of size optimization thanks to removing unused
  instruments and removing empty gaps after deleting of unused tracks and instruments.)
- Preserve last "From address" value in export of stripped RMT file dialog.

RMT routine changes
- Several improvements of RMT Atari assembler routine - it is 22 bytes shorter now
  and quicker about 50-150 CPU cycles.
- New speed/size optimalization options FEAT_VOLUMEMIN and FEAT_TABLEGO supported 
  and optimalization for FEAT_AUDCTLMANUALSET improved.
  (Coders, you have to use new rmtplayr.a65 and rmt_feat.a65)
- New mono/stereo compile modes. There is variable STEREOMODE (instead of previous
  variable STEREO8T) with the following values:
  STEREOMODE equ M  ;M=0 => compile RMTplayer for 4 tracks mono
                    ;M=1 => compile RMTplayer for 8 tracks stereo
                    ;M=2 => compile RMTplayer for 4 tracks stereo L1 R2 R3 L4
                    ;M=3 => compile RMTplayer for 4 tracks stereo L1 L2 R3 R4
  * Note: If RMTplayer routine compiled with STEREOMODE 2 or 3 is used on Atari computer 
    without STEREO upgrade, then standard 1 POKEY mono music will be played.
    It exploit POKEY memory area mirroring - there isn't used any "stereo detection" method!

Bugfixes
- Bug in rmtplayr.a65 initialization part if nonzero "starting song line position"
  was used. (This problem occured in some cases only.)
- Buffer overflow error with export of stripped RMT file for too high address.
- Other small corrections and bugfixes.


Changes in RMT 1.14
-------------------

- Menu Project: Import...
  * Support for importing of classic ProTracker MOD format with 31 samples, 
    4 or 8 channels (also modules with 5, 6, 7 channels), as well as old 
    ProTracker 15 samples 4 channels MOD modules.
    After import there is need of manual adjustment (tones tuning and distortions) 
    of all instruments at first!!! Volume envelopes and loops are prepared 
    in accordance with real samples in MOD module.
  * Support for importing of Atari XE/XL TMC Theta Music Composer modules.
    TMC instruments are imitated automatically by RMT instruments if it is possible.
    There can be need of manually corrections!!! 
    (Disclaimer: Some TMC effects may be totally wrong, sorry.)
- Menu Track:
  * Search and build wise loop.
  * Expand loop.
- Menu Instrument:
  * Info about using of actual instrument.
  * Change all the instrument occurences.
- Menu Song:
  * Song switch to 8 tracks / Song switch to mono 4 tracks.
  * Tracks' order change in whole song.
  * Search and rebuild wise loops in all tracks.
  * Expand loops in all tracks.
  * Size optimization.
- Menu View - Configuration:
  * Continue on previous/next song track upon the first/last track line
    (default is on).
- Insert/delete envelope columns in instrument edit mode
  by Insert/Delete key (at the current cursor position).
- Insert/delete table items in instrument edit mode
  by Insert/Delete key (at the current cursor position).
- Increase/decrease the whole envelope row of parameters in instrument edit mode
  by Shift+Control+Up/Down key (while cursor is in envelope data area).
- Increase/decrease the whole instrument table in instrument edit mode
  by Shift+Control+Up/Down key (while cursor is in table data area).

Accessories
- Atari RMT player RMT1PLAY.XEX (new version 1.01) is in "player" directory.
  (There is possible to show/hide song info text by spacebar key.)

New songs
- Song "nopromis.rmt" (No promises, raster/c.p.u. 2003)
  Song "aurora_s.rmt" (Hymn to aurora, Atari version by raster/c.p.u. 2003)
  Song "turrican2_rev2s.rmt" (Turrican 2 noise 3, Atari version by raster/c.p.u. 2003)
  in "songs" directory.
  (SAP file "aurora_s.sap" and "turrican2_rev2s.sap" in "exports/sap" directory.)
- 5 songs from sack/cosine, 2003, www.cosine.org.uk
  in "songs/sack_cosine" directory.

New instruments
- "drums/bassdrum.rti"
  "drums/snaredrum.rti"
  "drums/hithatclose.rti"
  "drums/hithatopen.rti"
  in "instruments" directory.

Bugfixes
- Main volume changes in instrument edit mode.
- Other small corrections and bugfixes.


Changes in RMT 1.13
-------------------

- MIDI multitimbral playing possibilities.
  Now you can use the RMT like a Atari multitimbral MIDI instrument.
  You have to send MIDI output from your MIDI sequencer or player 
  to RMT MIDI input by means of some virtual MIDI cable (for example 
  "MIDI Yoke" etc.). MIDI implementation chart is in midi.txt file.
- All tracks cleanup (menu Tracks - All tracks cleanup).
- All instruments cleanup (menu Instrument - All instruments cleanup).
- Block effect/tool "Expand/shrink lines" improved - negative values allowed
  for bottom-up way alterations.
- Prepare duplicated song line (menu Song or Control+O).
- Prepare song line with unused empty tracks (menu Song or Control+P).
- Other small corrections.


Changes in RMT 1.12
-------------------

- Support for higher instrument speeds: triple speed for STEREO modules,
  triple and quadruple speed for MONO modules.
- Support for NTSC 60Hz system speed (menu View - Configuration).
- Simpler and shorter XEX Atari executable msx export file (*.xex).
- New menu "Block" with all the block functions.
- New feature - block effects/tools (menu Block - Effect/tools or Control+F
  or toolbar button "FX").
  Effects/tools:
  * Fade in/out
  * Echo
  * Expand/shrink lines
  * Volume humanize
- Midi event "note off" recording possibility (menu View - Configuration).

Bugfixes
- Correction of instrument tempo-related bug (in RMT assembler routine
  and also in tracker). (Thanks to Memblers from Indiana for notice.)
- Higher instrument speeds timing in Atari msx corrected.
- Numeric block keys plus/minus locked away the shift key.


Changes in RMT 1.11
-------------------

- Maximal length of track increased to 256 beats.
- New Config dialog (menu View - Configuration):
  * Track line highlight step.
  * Some keyboard hotkeys options.
  * MIDI IN support! (events: key on, program change)
  * OK button save the configuration to rmt.ini configuration file.
- New input/output file format: TXT song files (*.txt).
  (It's simple text format for easy making any convert tools.)
- Change of toolbar icon for PROVE MODE and new icon for MIDI on/off
- New TrackEdit block function:
  Control+E ..exchange of block select data and the clipboard data.
- Show the AUDF, AUDC and AUDCTL Pokey registers
  (default is off, turn on by menu View - Pokey chip registers)
- Light blue color of volume only values in the instrument envelope.
- Checking for right version of RMW working files (RMW work files haven't
  portability through the different RMT tracker versions).

New songs
- Song "aspir332.rmt" (Aspiration 332, by Raster/C.P.U. 2003) 
  in "songs" directory. 

Bugfixes
- Bug with bad beat count if standalone speed command has been in track.
- Other small corrections and bugfixes.


Changes in RMT 1.1
------------------

- Main RMT assembler routine changed to version 01:
- Backward compatibility:
  * Support for loading of previous (version 00) RTI instruments.
    (saving RTI instruments version 01 only)
  * Support for loading of previous (version 00) RMT modules.
    (saving RMT modules version 01 only)
- New RMT routine features:
  * Support for manual AUDCTL settings (but also automatic management is preserved,
    if you will use command 6 or "filter" switch).
  * Support for VOLUME ONLY settings by command 7 with parameter value $80.
    (Volume only forced outputs are indicated by light blue color of volume analyzer box,
    see the easy example song file "examples/volumeonly.rmt".)
  * Support for NOTES/FRQS TABLE length from 1 to 32.
  * A lot of speed/size optimizations (RMT modules with easy instruments are smaller than before).
- Support for speed/size optimizations of RMT assembler routine for concrete RMT module.
  (See the RMT player routine assembler source code and "Export song as.. RMT stripped
   song file (*.rmt)" dialog and optimized routine example in "asm_src/optim" directory.)
- Hotkeys' changes:
  Pause ... mute all sounds and reinit RMT routine only.
  Shift+Pause ... mute all sounds, reinit RMT routine and sound output.
- If any instrument parameter is changed, then turn off this instrument on all
  channels where it sounds.
- If save or export process is aborted or failed, destination file will be deleted.

Bugfixes
- RMT routine - instrument table speed bug (each first note/frq table item was shorter by 1/50 sec).
- Tab key while edit the instrument name (no CapsLock off).
- PageUp/Down for octave up/down in Prove mode.
- Instrument volume curve fault by mouse position after the instrument load.
- Mouse doubleclick to track/channels turn on/off.
- All the showed messages (message boxes) are owned by RMT application now.


Changes in RMT beta 1.02
------------------------

Since the RMT beta 1.02 version all the parts based on GPL sources are totally removed
from the RMT project (i.e. Pokey sound emulation and Atari 6502 processor emulation)
and these aren't a part of RMT henceforth. 

Description of dynamic DLL functions for standalone Pokey and 6502 emulation 
is specified in the readme.txt file. If you run RMT without this way described DLLs
(sa_pokey.dll, sa_c6502.dll), RMT will work, but there won't be any Pokey sound output
and Atari sound routines won't be executed.

Improvements
- Use the hardware sound buffer if possible (instead of software sound buffer).
- Initialize the file load directory to program location.
- Block toolbar is showed by default.
- Much more summary informations in the About box.
- Text parameters editing was changed a bit. Because of ShiftKey is used for playing
  the notes, You have to press the CapsLock key for switch to "normal" ShiftKey behaviour
  (i.e. ShiftKey+Key for entering uppercase and other (!@#$%^&*()_+:"<>?|) characters).
  CapsLock mode is turned off automatically when text editing is over by pressing the Tab key
  or Enter key.
- CapsLock state indication in the status bar ("CAP").
- Reinit also RMT Atari sound routines when the Pause key is pressed.
- Functions for turn on/off the sound channels (tracks):
  * Control+ 1-8 ...turn on/off the sound channel (track) 1-8.
  * Control+ 9 ...turn on all the channels (tracks).
  * Control+ 0 ...turn off all the channels (tracks).
  * Control+ BackQuote ...turn on/off the active sound channel (track).
  * Shift+ BackQuote ...negation of turned on/off sound channels (tracks).
  * BackQuote ...solo play of active sound channel (track) / turn on all channels (tracks).
  Note: Muted sound channels are indicated by gray color of track title and volume
  analyzer scope.
- Status bar tool tips and short flying help messages completed.
- Other internal improvements.

TrackEdit
- Mouse control of turn on/off the channels (tracks) - it's indicated by mouse cursor design
  change to "hand with title 'on/off'":
  * LeftMouseButton ... turn on/off relevant channel (track).
  * RightMouseButton ... solo play of relevant channel (track) / turn on all channels (tracks).

InstrumentEdit
- Drawing of envelope volume curve by mouse - it's indicated by mouse cursor design 
  change to "pen with title 'volume'":
  * LeftMouseButton ... draw volume curve.
  * RightMouseButton ... set volume to zero value.

Bugfixes
- Playing the block area.
- Inserting and deleting song lines from track edit when "go to line" is active.
- Other internal corrections.


Changes in RMT beta 1.01
------------------------

All modes
- Set the octave up-down hotkeys changed from Shift+up,down to Shift+page_up,page_down
  (it works now in TrackEdit and InstrumentEdit only).
- Correction of bug with instrument copy/paste.

TrackEdit
- No more set number of the track by Control+0-9A-F keys.
- Hotkey changed: Control+I - insert new line into the song.
- Hotkey changed: Control+U - delete the current line from the song.
- Show title "EMPTY" for empty tracks.
- Shift+up,down,home,end - the block select functions.
- Control+A - select all data in the track (from the begin to the end of the track).
- Control+Insert,Control+C - copy block to clipboard.
- Shift+Insert,Control+V - paste data from clipboard.
- If the block is selected and paste function is used, then data from clipboard is placed into the block select area only.
- If the block is selected, then Delete key will delete data inside the block area.
- If the block is selected, then Control+X key will cut data inside the block area.
- New toolbar for block data modifications: menu View - Block toolbar. All this modify functions are available also by hotkeys.
- Block data modification hotkeys (the block must be selected at first):
  * Shift+Control+A switch between block modify mode all / current instrument only.
  * Shift+Control+page_up,page_down do transpose up,down notes in the block (by semitones).
  * Shift+Control+left,right do change of instrument numbers in the block.
  * Shift+Control+Num-,Num+ do change of volumes in the block.
  Note transpositions, instrument changes and volume changes are indicated in window statusbar at the bottom.
- If the block is selected:
  * Enter key will play the lines inside the block around.
  * Home or End key set the cursor to the first or the last line in the block.
  * Control+B will restore the block data changed by modification functions from the backup (backup is created when the block is getting start to select and destroyed when the block is deselected).
  * Control+F4 will start cyclic playing of the part from the top to the bottom of selected block area.

Operation manual
- All this changes included to operation manual (see the rmt_en.htm, rmt_cz.htm).


RMT beta 1.00
-------------

- The first published version.
