Powertran BBC Software (Part 2)
A utility program enabling storage of MCS1 sound samples on a BBC disk drive, among other things. Jim Grant and Tim Orr take us through it step by step.
We take a look at the utility program that links Powertran's MCSI sampler and computer interface to the BBC Micro.
Now that we've described the hardware that makes up the Powertran BBC MIDI Interface, we can go on to look at the company's software in detail. As we mentioned last month, the Interface is capable of acting in two operating modes, one as a standard MIDI-to-computer link, the other as an MCS1-to-computerlink using non-MIDI codes.
The MCS1 Disk Program is a utility package that performs a number of useful functions relevant to either application. The four main functions are as follows: 1) Upload sounds from the MCS1 to a BBC disk drive; 2) Download sounds from the BBC disk drive to the MCS1; 3) Act as a File Manager to Delete, Rename and Create sound disks; and 4) to test for correct MIDI operation by sending Note On and Note Off codes and displaying MIDI data.
If your Beeb is in BASIC mode, the program boots automatically: all you have to do is place the disk in Drive 0 and press SHIFT and BREAK simultaneously. By way of entertainment, a nice picture and accompanying copyright notice are displayed at this point - see Screen 1. Pressing the space bar or waiting for approximately five seconds results in the loading of the program, and displayed on the screen at this point is a list of the files on the boot-up disk and a second table of the commands available within the program. At this stage, and assuming you've got only a single disk drive, it's a good idea to remove the systems disk and replace it with a sound disk.
One further point worth noting is that whatever drive you're using, you should always request the systems disk catalogue by pressing the BBC function key (f0 to f3) corresponding to the drive number. This prevents erroneous (and potentially very confusing) catalogue displays from manifesting themselves on screen. On the other hand, you've also got to be careful not to press keys for which you don't have drives, or else the system will 'hang'. If this happens, press BREAK, and type OLD followed by RUN.
Let's start off with the creation of a sound on disk. The first point to bear in mind is that a sound disk must be totally dedicated to holding MCS1 data - if you try to use it to store other files, you'll hit trouble. So, place a formatted 80-track disk in the drive and press function key 4. This should result in some disk activity, and once you've answered YES to the menu's first two questions, the display should look pretty much like the example in Screen 2.
The filenames shown are reserved by the program to indicate blank areas on the disk that are set up to receive data from the MCS1 via the BBC. These are legal DFS files and can be manipulated in the usual way using the '*' commands.
Once Created, a blank sound disk is ready to accept MCS1 data. Let's say you've already sampled a sound into the MCS1 and that said sound is now residing within the machine. What you want to do now is dump the sound to disk, and this proves to be an exercise of remarkable simplicity.
First off, connect the interface to the MCS1 using a five-way DIN cable, and plug the interface into the BBC's 1MHz bus. Then press f7 on the Beeb, type in the requested filename, and press the switch marked 'BBC' on the interface. If all is well in the interconnection department, a message will spring onto the screen informing you that the two machines are in fact on speaking terms with each other. The message you should be reading is HELLO - MCS-1 VN1.1 HERE. Intellectual stuff, eh? Data is saved to disk immediately after this transfer has taken place, and while the saving operation is going on, a small graphics display at the top of the screen toggles between H and + just to reassure you that something is actually happening. The interface's Data LED should light up at this stage, too, so there shouldn't really be any cause for alarm.
When all has been completed, the program displays the disk catalogue - complete with new filename - and comes up with the prompt READY. The MCS1 then goes back into Voice mode automatically.
The exact destination of the data on-disk depends on the number of blank files available. There are three files available, each comprising 64Kbytes of sound and the associated loop parameters. If all three files have been taken up by previous DSAVEs, a Disk Full error message is displayed on the screen.
The reverse process of loading a sound file from disk into the MCS1 is simply a case of pressing f8, entering the requested filenumber, and pressing the MCS1's 'BBC' button. The same start-up message and graphics symbols should appear on-screen at this point, and as is the case with the DSAVE operation, the MGS1 reverts to Voice mode as soon as a DLOAD has taken place, and the program displays a READY prompt. Since the original loop parameters are loaded, along with the sound data itself, the sample is instantly playable once it's been transferred to the MCS1.
Two auxiliary filing functions are accessed by pressing f5 and f6 respectively. The former is RENAME, and not surprisingly, this allows you to give a file a new name, and automatically guards against files being given the same name or one of the CREATE filenames.
The other function is DELETE, and this declares files blank by giving them a blank filename. If, by some unhappy accident, you use this function by mistake, don't panic. It's only the filename that disappears, not the sound, and things can easily be rectified by the RENAME function.
Pressing f9 gets you into the MIDI test display page, and this presents an entirely new set of key functions, as shown by the example in Screen 3. As you may already have gathered, function keys 1 to 8 transmit Note On and Note Off codes in a toggle fashion, while f9 turns all notes permanently off, and f0 changes the MIDI transmit channel.
The MIDI Receive section is capable of accepting both Note On and Note Off codes from an external MIDI device, and displaying both their binary value and position on the music keyboard. It can also display key velocity in both binary and decimal. Bear in mind, though, that some MIDI keyboards don't actually transmit Note Off commands at all - they use Note On codes with velocity values of zero instead. Once you've carried out as much MIDI testing as you see Fit, pressing 'X' on the Beeb's keyboard will take you back to Disk Control.
A few last points. The utility program can only be used with an 80-track disk drive and on a Beeb without a second processor connected. If you press ESCAPE at any time, the program will RUN from the beginning. However, this function does not allow you to ESCAPE from the DSAVE or DLOAD sections, as these are machine code routines, and the ESCAPE key is scanned by BASIC. Finally, if you press BREAK by mistake at any stage, typing OLD followed by RUN will recover your program at the drop of a hat.
Further information on both the BBC-MIDI Interface and the utility program described above can be had from the manufacturers, Powertran Cybernetics, (Contact Details).
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!