Short: Fascinating "wrapped" scope for HiP/Delitracker Uploader: c9713363@alinga.newcastle.edu.au (Erik Spåre) Author: c9713363@alinga.newcastle.edu.au (Erik Spåre) Type: mus/misc Version: 1.1 Requires: OS 3.0+, 68020+, 2MB+ fast, reqtools.library, HiP or DT *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* * RaveScope 1.1 Copyright © by Erik Spåre 980315 * * (Parsec/Phuture 303) * *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* INTRODUCTION This program implements a new kind of scope, a "wrapped monoscope". Most modules look much better with a wrapped monoscope than they do with the traditional one (the double mode in Delitracker's monoscope, or the Spacescope in Eagleplayer). The Ravescope also has this "traditonal" mode, as well as a new "alternative" mode. TEMPLATE After the programname you may specify one or more options: SCREEN/S,DISPLAYID/K,INVERT/S,WINLEFT/N/K,WINTOP/N/K,WINWIDTH/N/K, WINHEIGHT/N/K,SCRWIDTH/N/K,SCRHEIGHT/N/K,WRAPACCURACY/N/K, TRADACCURACY/N/K,ALTACCURACY/N/K,WRAPMODE/K,TRADMODE/K,ALTMODE/K DELICONFIG/S,STROBO/S,VERSION/S SCREEN To have the display on a private screen. DISPLAYID Supply a hexadecimal DisplayID, for instance $21000 (the dollar sign is required) for a low-res screen. If you leave out this you will get a screenmode requester instead. INVERT To have a dark scope on a light background. (Well, depending on your workbench palette it may be the other way round when using a window as the display.) WINLEFT Where you want the window positioned (x-pos), default = 0. WINTOP Where you want the window positioned (y-pos), default = 11. WINWIDTH Width of window (minus borders). Defaults to 280. WINHEIGHT Height of window (minus borders). Defaults to 160. SCRWIDTH Width of screen. Defaults to text-overscan width of selected displaymode. SCRHEIGHT Height of screen. Defaults to text-overscan height of selected displaymode. WRAPACCURACY Accuracy of the wrapped mode. Can be 25, 50, 100, 200 300, 400, 500, 600, 700, 800 or 900 %. Defaults to 100%. Number of dots per display will be the circumference (in pixels) * percent * number of channels. (Do not write the percent sign when you specify this accuracy.) TRADACCURACY Accuracy of the traditional mode. Cannot exceed 9999. Defaults to 500 (but this mode is off by default). Number of dots per display will be this value times number of channels. ALTACCURACY Accuracy of the alternative mode. Cannot exceed 9999. Defaults to 500 (but this mode is off by default). Number of dots per display will be this value times number of channels. WRAPMODE Wrapped mode on or off. Defaults to on. (Write either on or off after this keyword.) TRADMODE Traditional mode on or off. Defaults to off. (Write either on or off after this keyword.) ALTMODE Alternative mode on or off. Defaults to off. (Write either on or off after this keyword.) DELICONFIG Get the settings from DeliRave's configuration file. This is what DeliRave calls the RaveScope with. This option is executed before all the others, so any other specified option will override DeliRave's settings. STROBO Turn on the strobo mode. KEYBOARD CONTROL The only way to control the scope while it's running is through the keyboard. W - Wrapped mode on/off. T - Traditional mode on/off. A - Alternative mode on/off. S - Strobo mode on/off. Q - (or Escape) - Quit F - Switch between screen and window mode. Holding down a shift-key when you press F will call the screenmode requester and open a screen with the screenmode you select. F stands for Full-screen which is what this is intended for, but any size is possible. To change the various scope-mode's accuracies, use the numerical keypad. The keys 7, 8 and 9 will increase the wrapped, traditional and alternative accuracy. The corresponding key below, 4, 5 or 6 will decrease it. To increase/decrease the dark part (unless you have invert switched on) in the strobo mode, press shift + 7/4. Use 8/5 to control the bright part. LIMITATIONS If you select a non-native screen-mode, this program will (I hope) refuse to run it, maybe it will even exit. This will be taken care of in the next release, or when I get a gfx-card. If you have a gfx-card, then please tell me what happens... (It should work fine in a window though.) HINTS/WARNINGS * The Prodigy mp3's at 200% fullscreen (lores) with an 060 => kapow! * 100% usually looks the best for protracker modules. PS3M's or mp3's may look better with 200% because they only output 2 channels. Do not set the wrapped accuracy higher than this, it won't look good because (I think) often the sample frequency isn't high enough. * PS3M's look much better with a high volume-boost and the main-volume set to maximum in Hippoplayer. * DeliTracker gives the same data regardless of the sample-boost, but the volume must be set to maximum. * Resizing is very slow because each time the size change, all the look-up tables must be recalculated. ! Do not waste your life looking at this scope, as I have done! BACKGROUND 4-5 years ago I saw a monoscope for the first time. (It was the Quadraplayer's I think.) When, some months later, I tried to make my own (not having any idea of how it was done) I accidently invented this "wrapped" scopemode, and to my delight it looked even better. I released a first version of it in a music disk-mag I was coding at the time, Subculture. (The editor has now turned over to the dark side, so there will probably not be a new issue.) There I explained how to do it, hoping the scope would spread to my favourite module players. But it didn't, either because no one saw it, or because it's a bit complicated to implement. (It's not just a question of modifying the inner loop, like when converting a plain scope to a monoscope.) HISTORY v1.0 (980209) ** The first release. v1.1 (980315) ** Added support for DeliTracker through the DeliRave genie. ** Added the keyword 'DELICONFIG' so that you can use DeliRave's config settings with HippoPlayer as well. ** The wrapped mode has been prepared for use with 16 bit samples. Neither Hippoplayer nor Delitracker gives their userprograms more than 8 bits though, so this is quite pointless at the moment. ** Added a simple strobo-mode. This looks quite awful, but I seem to remember that this can be fun when the room is dark and you're drunk. ** Remembered to turn on compiler optimizations this time. BUGS: It is still very stable, much to my surprise. MPEGA player did occasionally give enforcer hits, and I felt a bit guilty for this because it has only happened when DeliRave has been active. (But on the other hand, I only run enforcer when running DeliRave...) Sometimes when a new module is loaded, it won't load until the ravewindow is activated. I haven't looked into this yet.