The BCD Amiga Freedisk The BCD Freedisk for Amiga offers several very useful programs, each with its own icon. You may copy individual programs to any drawer or directory on your hard drive that you choose, but the easiest way is to use the BCDInstall program. These programs operate through the Amiga's serial port, either the internal connector for the BCD-2000A controller or the external connector for the BCD-5000. This software and the firmware in the BCD controller are rather robust, but always there can be difficulties. Please report any problems to BCD Associates. Be sure to include : The VERSion of your firmware. A verbose description of what you were doing at the time The equipment used (computer. VTR, BCD controller) Any other tasks running concurrently with the BCD program BCDInstall BCDInstall is the easy way to copy the BCD FreeDisk to your system. Simply run BCDInstall by double-clicking the icon, or type BCDInstall from a CLI or Shell window. At the top of the screen, you are asked for the destination directory. A drawer called BCD will be created containing the files that you select. At the bare minimum, we suggest that you install BCDComm in the BCD directory and TellBCD in the c: directory. If you don't use AmigaVision, don't install TellBCD in the AmigaVision directory. VCS is a handy program, so we suggest you install it, too. To select a set of files, click on the gadget to the left of the set until it says YES. To unselect a set of files, click until it says NO. At the bottom of the screen is the gadget INSTALL. Click on it to actually copy the files. Informative messages will be printed at the bottom of the screen. When you have copied all of the files that you want, use the close gadget at the top left of the screen to quit the program. BCDComm BCDComm is the same program that we called "5KECHO" for our BCD-5000 clients. It is a simple terminal program that communicates out the computer's serial port. It's similar to other programs like "A- Term," but it's simpler and absolutely free. Just double click on the big black BCDComm icon, then double click again on the smaller BCDComm icon. A window resembling the CLI will open and BCDComm will be up and running. Hint: BCDComm is such a handy program that we suggest you put it in your most frequently used animation directory. Just drag the smaller BCDComm icon (the one with the "sound waves") to the destination drawer. BCDComm provides keyboard communication with the BCD video controller. It is in no way designed to function as a terminal for modem communications (although it can do so on a most primitive level). Commands: BCDComm lets you, and requires you, to type the BCD four-character commands directly to the BCD controller. This program is the most effective way of verifying proper communication with the controller. The TALK command If you are using a BCD-2000A controller, then you know that it shares the computer's serial port. Yes, there are two connectors: one outside the computer and one inside (usually underneath the accelerator board.) Nevertheless, unless you have a multi-serial port card, there is ONLY ONE serial port on the Amiga, even though there are TWO connectors. The BCD-2000A is polite. It won't "hog" your serial port. It won't speak unless spoken to. That way, you can still use modems and serial printers while your BCD-2000A is installed. The BCD-2000A is, however, ALWAYS LISTENING to the serial port. To make it respond, just type the command TALK 1 (TALK 0 is the power-up value.) You should immediately see the BCD Prompt Character, a "greater than sign" or ">>." (Current versions of BCDComm issue the TALK 1 command automatically. Please call if yours doesn't.) Press the RETURN key several times to insure that your get several prompts. Now, play with it. Type the following: (upper or lower case is ok. Spaces don't matter.) TYPE x (x is the BCD TYPE of your VTR) PLAY STOP Go through the list of commands. Play with your controller. You had to learn to operate your Amiga, your modem, and your printer. To use it well, you have to learn about your BCD controller. BCDComm in detail BCDComm for the Amiga comes on a formatted floppy disk. It should run on any Amiga system with 512K or more of memory. BCDComm requires WorkBench 1.2 or higher. The disk doesn't include the AmigaDOS libraries, devices, fonts, etc; they can be found on your own WorkBench disk. BCDComm can be copied to another floppy or to a hard drive by opening the appropriate drawers on the WorkBench screen and simply dragging the BCDComm icon into the drawer representing the device/directory where you wish to install BCDComm. Usage: From the WorkBench, click on the BCDComm icon. It will open a window on the WorkBench screen. That's it, you're in. From the CLI/Shell, type: run [device]/[path]BCDComm [device]/[path] is the optional path to the directory where BCDComm is located if it isn't in the current directory. Again, BCDComm will open a window on the WorkBench screen.The BCDComm window is resizable, draggable, depth-arrangeable, and closeable via the standard window gadgets. Menus: BCDComm has a menu strip attached to it. The two main menus are PROGRAM and CONFIGURATION. Program: Save Configuration allows you to save the parameters (baud, parity, stop bits) to the BCD.PRM file. The BCD.PRM file is automatically saved to the s: directory. About is unused; it exists for future revisions. Quit exits BCDComm (the user can also abort by pressing the Esc key) .Configuration:Baud allows you to select the rate of communication. This will usually be 9600. Parity allows you to select the method used for communications. For the Amiga, this is usually 8N1, 8 data bits, No parity, and 1 stop bit. Since, as noted above, the Esc key is used to exit the program, the asterisk (*) key is used to denote an escape characer. BCDComm sends key presses directly to the BCD Video Controller. It does not echo them to the screen; whatever you see on your screen comes from the BCD Video Controller. TellBCD TellBCD is a program to communicate with the BCD controller from the CLI, another program, or from AmigaVision. Usage: TellBCD [-i] [-n###] [-t###] [-x] [-a] TellBCD Flags: -i tells the program not to wait for the BCD5000 '' prompt. -n### means wait for ### prompts (defaults to one.) -t### means timeout after ### seconds (defaults to 900, 15 minutes.) -x means do not send reply to file -a means append reply to file Of course, the -i and -n### flags are incompatible. If the command has semicolons (;) or spaces in it, you must place it within double-quotes. The "*" actually sends an ESC character. The BCD's reply is put into the file RAM:BCDREPLY.TXT TellBCD Examples: TellBCD PLAY ;tells the BCD5000 to play TellBCD -i REWD ;rewind and return immediately TellBCD "STIL 1000" ;Still on frame 1000 TellBCD ram:mycommands ;send the commands from this file. This program can be used to communicate with the BCD controller from within any other program that allows CLI commands to be executed, but it was specifically written to allow AmigaVision to send ANY command to the BCD controller. @HEADING MINOR = From AmigaVision To use TellBCD from within AmigaVision, select the SYSTEM menu icon, then drag an EXECUTE icon to your AmigaVision flow. Double-click on the EXECUTE icon and click on the WORKBENCH APPL. gadget until it says CLI APPL. Then fill in the FILENAME requester with TELLBCD and then hit the OK gadget. From the CLI To use TellBCD from the CLI, simply type TellBCD [options]. Set-BCD Set-BCD is a program to create a setup batch file for the BCD controller. When this icon is double-clicked, it allows you to enter your machine type, preroll, DLYI, DLYO, DLYC, DLYU and THRD values. It also lets you enter any special BCD commands you wish. It then builds a text file called BCDSETUP.TXT which contains these values, and it makes a script or batch file called BCDSETUP.BAT which uses TellBCD to send this setup string to the BCD controller. The Set-BCD program also uses the MACHINES.DAT file to display a list of currently supported machine types. TellBCD must have already been installed in the C: directory for the BCDSETUP.BAT file to work. VCS BCD Associates Video Control Solution, VCS is a program designed to simplify the calibration of BCD Video Controllers for animation purposes. Since each video tape recorder is different, certain parameters may need to be adjusted to make the BCD Video Controller 100% frame-accurate. To run VCS, simply double-click the VCS icon, or, from a Shell, type VCS. This opens the VCS screen and main window, sends the default setup commands, and then waits for you to select a gadget. The gadgets in the center and right of the screen control the tape machine, while the column of gadgets on the left select different parts of VCS. At the top center and right are displays for error messages and frame numbers. The colon gadget changes the display from frame to SMPTE format (Hours:Minutes:Seconds:Frames). @HEAD BOLD 12 = Transport Controls Rewind, Record, Play, Stop, Pause, and Fast Forward are self explanatory. Search The SRCH slider can be dragged left and right to set the search speed, or you can click to the left or right of the gadget to adjust the search speed by one. EDTP The EDTP button reads the positions of the VIDEO, AUDIO1, and AUDIO2 buttons and sets the edit type (EDTP) accordingly. STAR / ASTERIX * The * button sends an Escape character that aborts the current command. CUTI/CUTO CUTI and CUTO execute the cut in and cut out commands immediately. The 1 and 2 buttons set player 1 or 2, for the BCD-5000 controller. WRITE The WRITE gadget is for "striping" or "blacking" a tape. It sends the WRIT command and permits you to choose the audio channel, tape ID number, and what sort of image you would like to use when "blacking" your tape. If you have a Video Toaster and it's running (you exited with "Ctrl-Ctrl-Alt-Alt") then you're given a choice of IFF bars or Toaster bars. STIL Clicking on STIL opens a requester for a frame number. You may enter either an integer frame number like 1800 or a SMPTE formatted frame number. If you want to still on frame 00:01:00:00, then you should enter ":10000". (no quote marks, please. Notice that the colon is the FIRST character. You may enter all the colons if you wish, (:00:01:00:00) but it's just more typing! STEP The two buttons on either side of of STIL cause the VTR to step forward one frame (STEP +) or step backward one frame (STEP -) after the machine has been paused. Settings The Settings Gadget brings up four selections. Machine Settings Machine Settings brings up a file requester listing the machines that you have defined (which are stored in the S: directory, and end in the file extension .BCD). You can double-click on one of these to load it, or hit cancel to see the current settings. The next window shows the machine TYPE, the current and default DLYI, DLYO, DLYC, DLYU, and PROL values, as well as the THRD setting. From this screen you can modify any of the current values, SEND the settings to the BCD Video Controller, LOAD or SAVE settings, or go back to the main screen with CANCEL. When VCS starts, it reads the player information stored in the file s:DEFAULT.BCD and sends this information to the BCD Video Controller. If you do not have a s:DEFAULT.BCD file, VCS will stop and ask you to enter at least your video machine TYPE number. Setup Strings This button lets you change the commands that VCS sends to the controller when VCS starts and when it ends. Colors This selection has three sliders for choosing the VCS screen color. We like blue, but you can have it your way. Animate Animate brings up a sub-menu of additional options. You can choose Animate/Calibrate, Dump Dpaint Animations, Grab Frames, or Cancel. Animate/Calibrate sends command strings to the BCD Video controller to test the calibration. The usual test string will look like this: EDTP5;EDOT1800;LOOP100;APND1;LEND which sets the edit type to a video insert, sets the starting frame to 1800 (one minute), and appends 100 frames by 100 single-frame edits. To test more severely the accuracy of the setup, you can use the string: EDTP5;EDOT1800;LOOP100;EDIO1;APND1;LEND which does 100 single-frame edits on EVERY OTHER frame, giving a flashing appearance which is very useful. If there are three consecutive frames of the old video, then a frame was skipped. If there are three consecutive frames of the new video, then two frames were edited. Animate can also be used to actually do animation with the BCD Video controller. By setting the LOOP gadget to 1, the APND to 0 and the EDIO to 0, you can SEND the command string EDTP5;EDOT1800 which sets a video edit at frame 1800 (one minute). Then you can set the LOOP to 0 and APND to 1 to build the command string APND1 which will perform a one-frame edit each time you SEND it. In the Animate portion of VCS, pressing the joystick fire button is equivalent to pressing the SEND gadget, allowing for remote animation capabilities. Dump Dpaint Animations allows you to send animations created with Deluxe Paint to tape using the BCD Video Controller. This is very useful if you have created an animation that won't play back quickly enough in real-time, or one that bogs down during playback. Grab Frames sends commands to the Video Toaster to capture frames from tape and save them to disk. For this operation, the optional BCD cable "2K-GRAB-A" cable is required. This plugs between the BCD2000A GPI trigger connector and the Amiga's second Mouse/Joystick port. See your BCD dealer or call BCD for details. BCDComm BCDComm enters the BCDComm program, a simple terminal program that allows you to talk directly to the BCD Video controller. To exit, click on the close gadget or hit the Esc key. BCDComm sets the echo on to repeat the commands that you type, but turns it off when you exit. The * key sends an Escape character to the BCD Video Controller to abort the current command. Init This simply sends the INIT command to the BCD controller. Programs This button lets you run other programs and applications from within VCS. It lets you specify the drive, path, and starting script file if required. To specify a new file, start by clicking on Cancel (since you don't want to run any of the ones that are displayed. A new requester opens and lets you enter the program name, the path to the program, and any arguments that may be required. You may also specify a script to be executed. From this screen you may Run, Load, Save or Cancel Set Serial Set Serial allows you to change the serial parameters baud rate, data bits, parity, and stop bits. The baud rate is adjusted by sliding a gadget left and right, while the other parameters are selected by clicking on the appropriate gadget. The standard is 9600 baud, 8N1 (8 data bits, no parity, 1 stop bit.) About About tells what version of VCS you are using. This is important if you are calling BCD about VCS. Exit Exit gives the option of staying in VCS if you hit this button by accident. Lightwave Lightwave is the 3D modeling and rendering program from NewTek, Inc. of Topeka Kansas. Lightwave is part of the NewTek Video Toaster system. BEFORE running the Toaster, be certain Workbench "Prefs" or "Preferences" in the "Set Serial" section. Make certain that the parameters are set to 9600 baud, 1 stop bit, no parity. Handshaking should be NONE. Click on "Use" and also on "Save." With Workbench Release 2.0, set the Text Filter Gadget to OFF. BEFORE animating with Lightwave, issue the BCD command ECOF to disable BCD's command echoing. (ECON turns it back on.) You can do this as an extra command when you use "Set-BCD" (see Freedisk Manual) or from the Record Setup window in Lightwave. "Shift 6 m" and "Ctrl-m" are not necessary to terminate a BCD command. BCD has added the period (.) which is now the same as a Carriage Return. Please terminate your Record Setup commands and your Record Command with a period. Here's a Record Command example: APND 1. (click on OK) "040" Notes There has apparently been some difficulty using some of the early 68040 accelerator boards with BCD controllers. It seems that when the controller returns the ">>" character after having performed an edit, the serial port and the 040 are not ready to receive any characters. We believe this is because Lightwave opens the serial port in the "Write Only" mode and is not ready to receive any characters. So we made the command, TALK 2. TALK 2 turns off all character echoing (so you can't see what you're typing from BCDComm) and turns off the BCD prompt (>>). Now, NOTHING will be sent from the BCD controller unless it is specifically asked for. TALK 1 puts the controller back into normal (character echo and prompt) mode. When you use SET-BCD from the TellBCD icon, add TALK 2 as an additional command when asked. Animating Go through the Animation Calibration section of the BCD controller manual and perform the calibration tests. As a reminder, here it is: TYPE x (x = your machine type) EDTP 5 (video insert edit) EDOT xxxxx (STARTING edit frame number) or EDOT: xxxxxxxx (STARTING edit SMPTE frame number) LOOP1000; APND 1; EDIO 1; LEND (This performs 1000 edits on every OTHER frame for testing.) You can do this either from the BCDComm program or from within VCS. If you have not adjusted your DLYC and DLYU values to your specific video machine then you may have double-frame edits or skipped edits. GO BACK. DO IT! Do Not Pass Go! Assuming that your tests with a camera, clock, or the test scene were ok, we shall proceed. FIRST: You must have ALREADY: Installed TellBCD in the c: directory. Performed the calibration tests to determine the DLYx values. Double clicked on SET-BCD and answered the questions. Double click on BCDSETUP.BAT. This tells TellBCD to send your setup string to the BCD controller. NOW, after you have double clicked on BCDSETUP.BAT, double click on "Toaster." Load your Scene When it's time to RECORD, click on RECORD. Click on RECORD SETUP Hint: (NEVER type the " marks unless you're specifically asked to.) Click on Record Setup and enter PLAY followed by a period, click on OK and your machine should play. Click on Record Setup and enter STOP followed by a period, click on OK and your machine should stop. Click on Record Setup and enter the STARTING VIDEO TAPE frame number by typing: EDOT 1800. or EDOT: 10000. (don't forget the period and to click on OK) (Note that there are nominally 1800 frames per minute. EDOT 1800 is the same as EDOT: 10000. Both specify One Minute in "Non Drop Frame" terminology. If you are not subject to Broadcast Network time constraints then you should always accept BCD's "Code 2" (for standard SMPTE Time Code). Click on Record Command This is the command that Lightwave shall issue when it's time to take (record) an image. For a 1-frame edit per event , enter APND 1 . followed by a period. Then click on OK. You must have ALREADY have timed how long your video machine takes to perform and edit. OK, it's 15 seconds. 15 is the number you will set in the Record Delay window. (Lightwave doesn't wait for the BCD prompt (>>) like other programs. It presupposes that each editing event will take X number of seconds. X is the number you should enter into the Record Delay window. OK, Click on RECORDING (If you don't do this, nothing will happen!) You've set the EDOT in the Record Setup window You've set the APND 1 command in the Record Command window Now, click on RENDER! Click on AUTOMATIC Click on OK Lightwave should render a frame and then issue the APND 1 command to the controller. Did you remember the period or "Shift 6 m" after each command string for Record Setup and Record Command ? Happy Animating! ARexx Support BCDARexxHandler - a program to communicate with the BCD5000 from ARexx.Usage: BCDARexxHandler. This program can be used to communicate with the BCD5000 from ARexx. See the example ARexx script. The program's ARexx port name is BCDARexx.port. The ARexx Command Format is: address "BCDARexx.port" "[-i] [-n###] [-t###] [-x] [-a] and "address "BCDARexx.port" "QUIT" The -i flag tells the program not to wait for the BCD5000 ">>" prompt. -n### means wait for ### prompts (defaults to one.) -t### means timeout after ### seconds (defaults to 900, 15 minutes.) -x means do not send reply to file -a means append reply to file Of course, the -i and -n### flags are incompatible. The QUIT option removes BCDARexxHandler from memory.The *(asterix) actually sends an ESC character. The BCD's reply is put into the file RAM:BCDREPLY.TXT. Eventually, all of the BCD programs will talk to the serial port through BCDARexxHandler. If it is not running, they will try to run it. As of now, it is a stand-alone program. ARexx is a scripting language with some additions. The nicest addition is the ability to communicate with other programs. So one script file can use the functions of several programs. An ARexx script is a simple ASCII text file. All ARexx scripts begin with a comment, delimited by /* */. ARexx script filenames should have the suffix ".REXX". To execute an ARexx script, you use the program RX. @HEADING MINOR = ARexx Example /* Example of using BCDARexxHandler */ /* This just issues the VERS command and puts the reply into */ /* BCDREPLY.TXT in RAM: */ address BCDAREXX.PORT 'VERS' address command 'type ram:bcdreply.txt' @HEADING MINOR = DUMP24.REXX /* dump24.rexx */ /* dumps 24-bit pics to BCD Video Controller using ToasterPaint */ /* takes a group of pictures named XXX001, XXX002, XXX003, XXX004 */ /* open a Shell on Workbench and leave open */ /* run BCDAREXXHANDLER (on the BCD1 FreeDisk) */ /* run Switcher */ /* run ToasterPaint */ /* use Left-Amiga-N to return to Workbench screen */ /* rx dump24.rexx */ /* answer the questions */ /* default parameters */ type=9 /* or YOUR machine type */ edot=':10000' /* the edit start point. (See the APND command) */ numpics=60 /* how many pictures to dump */ picpath='DH1:toaster/3d/images/' /* the directory that the pics are in */ picname='die' /* the base file name PICTURE001... */ apnd=1 /* how many frames of video to record for each pic */ say "What is your machine type?" pull type say "What is the EDOT?" pull edot say "How many frames to APND with each edit?" pull apnd say "How many pictures are there to dump?" pull numpics say "What is the directory path to the pictures?" pull picpath say "What is the base file name?" pull picname say "" say "" address BCDAREXX.PORT 'TALK1;TYPE'type';INIT;STAT;EDTP5;EDOT'edot do n = 1 to numpics say 'Loading 'picname||right('000'n,3) address 'DigiPaint' 'Lo24' /* load the pic */ address 'DigiPaint' 'Dnam'picpath address 'DigiPaint' 'Dsel' address 'DigiPaint' 'Fnam'picname||right('000'n,3) address 'DigiPaint' 'Okls' address 'DigiPaint' 'Vwco' /* render the frame to the buffer */ address BCDAREXX.PORT 'TIME'100 /* Vwco returns immediately - we wait */ address BCDAREXX.PORT 'APND'apnd /* append the new frame */ end say 'All done!'