💾 Archived View for mirrors.apple2.org.za › archive › apple.cabi.net › Music.and.Sound › DOCVu2.CDA.… captured on 2024-06-16 at 14:07:02.
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
_ / \OCVu / ^ \ / / > > -The Ensoniq like you've never seen it before- \/ / / / / <_/ DOCVu v2.0 ========== DOCVu is -FREEWARE- distribute freely, but do not sell... - CDA based. - 32 SHR-based oscilloscopes, 100% configurable layout, selectable scan rate - 32 SHR-based volume level sensitive vu-meters - Full Ensoniq DOC data, including DOC pause function - Ensoniq DOC RAM peeker - Instant and Average CPU load - Left/Right channel volume output levels - Optional digitizing oscilloscope - Fully compatible with all GS/OS desktop and shell based programs - Runs unsynchronized in real-time, for best results with accelerators Installation ============ DOCVu.CDA: place into */System/Desk.Accs DOCVu.Dox: read, remember, then delete... Operation ========= Initially invoking DOCVu from the CDA menu will cause it to load its data files from the disk, this is only required once, subsequent calls to DOCVu will not require disk access. Should DOCVu have problems loading or obtaining memory then it will display an error message indicating the problem, and then exit back to the CDA menu. If you have problems check the following: 1> DOCVu requires about 95K of memory and will not run if it cannot allocate the needed space. 2> DOCVu is not compatible with ProDOS 8 and will not run under it. As soon as the DOCVu screen comes up, it will put you in "normal mode". The following options are available: <All keypresses are case irrelevant...> 'esc' - this key will exit DOCVu and return you to the CDA menu. '/' or '?' - these are a couple of the most important keys, they bring up the online help screen. It pretty much sums up this whole doc file, so use it, it's cool :> 'left/right arrow keys' - the oscillators now have selectable scan rates. In the top, right corner there will be a sliding indicator which will indicate the current scanning rate. A higher number scan rate will increase the scanning period and will give you a larger view of the wave, however on the whole the wave will take longer to complete and will appear to update more slowly. The available rates are 8, 10, and 16. Some rates such as 16 will be unsuitable for high CPU loads, such as when using a mod player. 'b' - pressing the 'b' key will activate the busy flag suppression. This will insure that the busy flag is clear when DOCVu is active. The method that DOCVu uses to accomplish this task is nothing short of illegal, so use it at your own risk... The top right corner of the screen will show the status of this feature. There are two lights next to the word "BSY": the left one indicates if the busy flag was clear on entry into DOCVu <black means it was clear, red means it wasn't>, and the right one indicates if the suppression is active. These lights do not toggle, either one or both may be lit. 'c' - pressing the 'c' key will put you into a "configuration mode". The oscillators will black out to reveal the current DOC oscillator mapped to that position. The "red" number will represent the current cursor position while the green numbers represent all the other current oscillators mapped. In this mode -ONLY- the following keypresses will have any effect: <esc> - this key will back you out of the configuration mode into normal operating mode. <p> - pause, this acts like the normal pause explained below. <arrow keys> - use the arrow keys to position the config cursor to the appropriate location you wish to re-map. <number keys 0-9> - typing the number keys will modify the oscillator number currently displayed. <return> - the return key is used to "lock" in the new oscillator to the current map position. Only valid oscillator numbers will be allowed, valid numbers range from 0 to 31. The procedure for modifying the map is as follows: 1> Use the arrow keys to position the "red" cursor to the location you want to modify. 2> Input the new oscillator number (0-31) by using the number keys. 3> Press <return> to lock in the new number. If you do not do this the old oscillator number will be returned. 4> Press <esc> to exit configuration mode, or repeat the above procedure. The CDA will always boot up in its default mode, which displays all 32 of the oscs, however once you re-map the oscs, it will remain in that configuration until you reboot again. 'd' - pressing the 'd' key will invoke the digitizing oscillator, you will see the left-hand 'DE' logo open to reveal a digitizing osc. This oscillator will respond only to sound input into the DOC. It's nothing super-special, but it is a nifty feature to test mic/recorder volume input. Pressing the 'd' key a second time will cover it back up. 'i' - pressing the 'i' key will turn on a mode which causes the border to change colors when the sound interrupt occurs. This is useful for programmers who need to have the interrupt occur at a specific time frame. It will provide a visual means of determining where the interrupt occurs relative to the 60Hz screen refresh. Pressing 'i' a second time will turn it off. 'p' - this key is to pause the DOC <and everything else>, it will work in any mode. When you press this key the computer will come to a grinding halt. This is useful for programmers like myself who cannot read the DOC information as quickly as its being updated. It allows you to freeze the DOC internals so you can examine them more closely. Pressing any key afterwards will continue normal operation. 'r' - pressing the 'r' key will activate RAM-VU mode, the RAM-VU screen will fade in at the bottom. You will see four rows of numbers divided into two groups. The four digit numbers to the far left are the address in DOC RAM <in hex>, and the 16 two digit numbers to its right correspond to the data stored at that address <also in hex>. The current cursor position will be determined by the "red" address. While in RAM-VU mode -ONLY- the following keypresses will have any effect: <esc> - this key will back you out of the RAM-VU mode into normal operating mode, the bottom eight oscillators will fade back in. <p> - pause, this acts like the normal pause explained above. <up/down arrow> - these two arrow keys will move the current "red" cursor position between the address locations. <left/right arrow> - these two arrow keys will decrement or increment the current address location. <number keys 0-9> - these keys are used to enter the new DOC <letter keys a-f> RAM address to be viewed. The number must be entered in hex format. <return> - the return key is used to "lock" in the new address to the current location. Any 4 digit hex number will be valid. Numbers greater than $FFF0 will cause RAM-VU to wrap around to address $0000 when displaying data. The procedure for modifying the addresses is as follows: 1> Use the arrow keys to position the "red" cursor to the location you want to modify. 2> Input the new address in hex by using the number and letter keys. 3> Press <return> to lock in the new address. If you do not do this the old address will be returned. The CDA will always boot up in its default mode, which sets all address locations to $0000, however once you enter new addresses it will remain in that configuration until you reboot again. 'v' - this key will remove the main 32 oscillator array and replace it with 32 volume level sensitive vu-meters. The new vu-meter block will have a series of numbers along the top, which will display the current DOC oscillator mapped to that vu-meter. The way in which the oscillators are mapped to the vu-meters is in direct correspondance with how they are mapped to the oscillators using the configuration mode. The top row of oscs will be mapped to the far left and the bottom row to the far right. Below these numbers are the vu-meters, they will respond to the -real- volume output that you hear, which is not to be confused with the DOC volume registers. Directly below the vu-meters will be a light, if the light is lit that means the corresponding DOC oscillator is currently running. If it is not lit then the DOC oscillator is halted. Finally, below these lights are another row of numbers. These numbers represent the DOC volume registers. Within this mode the only thing you can do is exit <'esc' key> or pause <'p' key>. 'ctrl-r' - every once in a while, but most likely when debugging new programs, DOCVu's screen data can become garbled. Since DOCVu stores its data in a compressed format this can lead to bizzare effects such as turning the screen all green-blue or something. If this ever happens, then press this key sequence and DOCVu will reload all of its data off of the disk again and everything will return to normal. Display ======= In the top right of the screen there is a box which looks like this: Average CPU load.................. ........Busy Flag set on entry : : Instantaneous CPU load....... : : .....Busy Flag suppression : : : : ______________:____:_________:__:____ | :_ :_ : : | | |\ / | | | | BSY [] [] | | | ><- \/ \/ SCAN | | |/ \ 00% CPU 8 =[]== 16 | |______________:_____________:________| : : Average CPU load............: :................Osc Scan Rate (percentage) The left-hand CPU meter indicates the instantaneous load that the sound interrupt places on the CPU. The right-hand meter is the avarage CPU load over a period of 1/3rd of a second. The % CPU reading is the exact percentage number associated with the right-hand meter. The sliding switch represents the current osc scan rate, and has three settings: 8, 10, and 16. The two busy flag lights show the status of the busy flag suppression. The top left has a similar box which has the three registers: OSC INT <oscillator interrupt>, OSC ENABLE <oscillator enable>, and A/D CONVRT <Analog/Digital Converter>. Below these are two horizontal VU meters which represent the total channel output volume for the left and right channels. Below that is the array of oscs, the area around each osc looks like this: [sample-size] [DOC RAM loc] FREQ [frequency] Oscillator............./\ [osc mode] /\....................Interrupt enabled /__\____________/__\ enabled _| |_ |_| |_| Left channel.......|_| ***Oscilloscope*** |_|...............Right channel in use |_| |_| in use |____________________| Sample Size - will show the size of the sample in DOC memory, valid sizes are 256 bytes, 512 bytes, 1K, 2K, 4K, 8K, 16K, and 32K. DOC Ram Location - this is a hex number representing the location of the sample in DOC Ram. Frequency - this is a hex number representing the speed at which the oscillator is reading the wavetable from DOC Ram. Oscillator Mode - this indicates which mode the oscillator is in, the different modes are FREE, SHOT, SYNC, and SWAP. Oscillator Enabled - a yellow light will indicate if the oscillator is currently running. Interrupt Enabled - a red light will indicate if the oscillator is interrupt enabled. Left/Right channel - green lights will indicate the channel that the oscillator is currently sending to. The oscillator display will become brighter as the -real- volume output by the oscillator increases. Thus, those oscillators which are not enabled or are not producing volume will appear black. Notes and Author Blurb ====================== Many thanks to everyone who suggested ideas and continued to show interest in DOCVu's completion. Most of the new features were requested, however I did add in a couple more of my own ideas. This new version should solve most of the previous bugs and quirks of DOCVu 1.0. The CPU load meter is probably one of the more practical additions to DOCVu. Now programmers have the ability to directly judge sequencer performance while its playing. One small thing I've noticed is that for most sequencers, including SoundSmith and the various mod players, the CPU speed of the system seems to have little effect on performance. I'm fairly sure this is a direct result of the I/O bottleneck on the DOC. Naturally you will probably see a difference in the screen update speed of DOCVu, however the sound IRQ load will probably remain relatively unchanged. This version does have some remaining bugs which I know of, but as yet do not have enough info on to fix. One of these is the problem with the digitizing osc not responding to the sound card input. I know why this happens, however I am still gathering information on how to fix it. For those of you who are wondering about this busy flag thing, it was put in to fix one specific problem. The problem had to do with using Shellplay inside GNO. Shellplay checks the busy flag before it loads a new song and for some mysterious reason <still unknown> whenever you enter the CDA menu from GNO the busy flag is set to 3. Therefore, if you happen to be watching DOCVu when Shellplay tries to switch songs it would stop until you exit the CDA menu. Since according to ToolBox Vol.1 <Desk Manager> "CDAs have all system resources available to them", DOCVu adjusts the busy flag to fix the problem <only when busy flag suppression is on>. I haven't had any problems using this yet, however if anyone does let me know. The resource fork of DOCVu has been adjusted to take care of the AppleShare problem. I do not have access to an AppleShare network myself, so if this does not correct the problem then let me know. I added in a Pause function this time, I cannot fathom why I left it out in the last version. Since most people, such as me, cannot read something that changes at 60Hz, I put something in so you can now stop and take a look at whats happening. People were complaining that I did not include the volume registers on the original version. Well take a look at the 'v' key, now you got volume with a vengence. Credits ======= DOCVu 2.0 <c> 1993-1994 all rights reserved... Coding: Brian Ballweber Graphics: Brian Ballweber, Jeremy Chadwick Special thanks to Dave Huang for his technical help and ideas. Many thanks to Alvin Tan for his Ensoniq knowledge, and helping to hunt down that damn interrupt bug. Special thanks extended to Steve Gunn, Ian Schmidt, Frank Lim, and James Brookes for ideas and betatesting. Big Hellos to Dana C, Hal B, Ian B, Rich W, JB of NinjaForce, and only the friendly guys on #appleiigs via IRC. Finally, please forward comments, criticism, and especially ideas to: Internet: ballweb@csos.orst.edu or yoshi@csos.orst.edu Snail Mail: Brian Ballweber 2941 NE Conser Corvallis, OR 97330 or Jeremy Chadwick 33811 Twin Maple Lane Corvallis, OR 97333 "DE: life sux.." ~x~4/^\5_=,}: NO CARRIER