Documentation for XP-ZAP, ANALYSE and PC-SPEED ---------------------------------------------- A) Before starting any program 0) The device drivers 1) The speed analyser : PC-SPEED.EXE 2) The Zapper-code reader : ANALYSE.EXE 3) The Zapper-code simulator : XP-ZAP.EXE 4) Trouble shooting in PC-SPEED 5) Trouble shooting in ANALYSE 6) Trouble shooting in XP-ZAP 7) Changing command and device names (RCDEDIT.EXE) 8) Definition of the 50HZTST.RCD 9) Converting .RCU to .RCD files 10) Single key transmit feature 11) The author ------------------------------------------------------------------------- A) Before starting any program ------------------------------ Before starting any program related to MINI-ZAP on an ATARI Portfolio do this first : Set the size of your PF's C drive to a minimum (fdisk 8) because XP-ZAP likes a lot of memory ! Copy CONFIG.SYS to the C drive and reboot the PF. Set the PF's display mode as follows : External : normal Internal : normal Refresh : normal Speed : fast (when running PC-SPEED.EXE) Speed : normal (when running XP-ZAP.EXE or ANALYSE.EXE) ------------------------------------------------------------------------- 0) The device drivers --------------------------------------- Three device drivers are available for MINI-ZAP Use : PC-ZAP.SYS if MINI-ZAP runs on a standard PC below 386 DX 33 PC-486.SYS if MINI-ZAP runs on a 486 or PENTIUM PC's PF-ZAP.SYS if MINI-ZAP runs on an ATARI Portfolio You can add a switch to the device driver to tell PC-SPEED with which XPSU number to start. Speed analysing in PC-SPEED can take some seconds when starting with XPSU=0 and second, errors can occur while measuring so many XPSU numbers. If running on a 486 DX2 66 you can add the next line to config.sys : DEVICE = C:\MINI-ZAP\PC-486.SYS 60 Where 60 is the XPSU number PC-SPEED will start with (so, you skip XPSU=0 to XPSU=59). Afcourse you must be sure that your PC runs faster then the minimum XPSU number you have set. Try it out ! ------------------------------------------------------------------------- 1) The Speed analyser : PC-SPEED.EXE --------------------------------------- Before starting PC-SPEED.EXE on ATARI Portfolio set the display screen's speed to FAST ! Startup PC-SPEED.EXE, if incorrect port address then change it by pressing '1', if different mains frequency (not 50Hz) then change it by pressing '2'. Hold your external IR-clock (mains frequency) close to the IR sensor and press 's' (start analysing speed). LED (D1) will light up when measuring so let PC-SPEED do what it has to do till the LED is off. Now your screen will show some messages (most are useless for you). Check the deviation factors (RxD, TxD) and the XPSU numbers (Xiac Professional Speed Units). Samples : Portfolio (not boosted) RxD = +/- 0.1% XPSU = 2 Standard PC (8086, PC-ZAP.SYS) RxD = +/- 0.7% XPSU = 7 486 DX2 66 (using PC-486.SYS) RxD = +/- 0.8% XPSU = 72 I08 will be +/- 54.8ms on standard PC and +/- 998ms on ATARI Portfolio. Fe is the effective frequency of your computer's processor. Txc a number indicating the times a loop is passed. Tx the time needed to transmit a code which takes 20ms to receive. (Tx = +/- 20ms). RxD and TxD are used as correcion factors in ANALYSE and XP-ZAP. Repeat this speed analysing to see if the XPSU numbers do not change (if you hold the IR-clock in your hands then keep it very steady !) The faster your PC, the higher XPSU will be (note that XPSU is NOT driver independent so XPSU = 72 with driver PC-486.SYS is not equal to XPSU = 72 with driver PC-ZAP.SYS !!!!!!). The deviation factors need to be as low as possible (f.e. not above 5000 m%). If you are not going to change your computer's speed then you can throw away this IR-clock now but you can better use it as a check point in ANALYSE.EXE). PC-SPEED will write it's data to HARDWARE.DAT which is a text file containing six lines : line 1 : port address (hexadecimal if '$' is first character) line 2 : RxXPSU number (your computer's receive speed) line 3 : TxXPSU number (your computer's transmit speed) line 4 : RxD (deviation factor for Rx sample frequency in m%) line 5 : TxD (deviation factor for Tx sample frequency in m%). line 6 : A factor to have a 1ms delay. NOTE : Hexadecimal numbers are always written like this : $8078 or $378 where '$' means that the number typed is hexadecimal. NOTE : If you are sure your Portfolio is not boosted then you don't have to use PC-SPEED since the current values in HARDWARE.DAT are for a standard PF running about 4.9 MHz. ------------------------------------------------------------------------- 2) The Zapper-code reader : ANALYSE.EXE --------------------------------------- Before XP-ZAP can simulate Zapper codes it must know how they look like. To create a file XP-ZAP understands (.RCD) strart up ANALYSE.EXE. Now you are prompted to enter a file name. I always relate their names to the brand and type of equippment they are used for. So, a SONY CD player I call SONYCD.RCD (don't type the extension) or a JVC video recorder JVCVCR.RCD. Then you are prompted 'Check the number of pulses', in first case you answer 'Y' (YES) as well as answering 'Y' to 'check code length'. Then you have to fill out a number setting the DLPF (Digital Low Pass Filter) answer it with '0' (automatic settings). Most Zappers use a carrier frequency which is eliminated by the DLPF in the program ANALYSE. If there are problems while analysing the code with automatic settings then set the DLPF to 12 or if you are SURE your remote does not use any carrier frequency then set the DLPF to a low number (2 to 7). I figured out that some brands don't use a carrier frequency in their remote's they were : LUXOR (a TV set tested) SELECO (a TV set tested; a SELECO VCR DOES use a carrier !!) It is not recomanded to program all zapper-codes at once, so first try a few buttons out (let's say 4 of them) and see if they DO work in XP-ZAP. After setting the DLPF you are prompted to enter a device name. I always use CD to indicate a CD-player; VCR for a video recorder; CAS for a cassette deck and so on (multiple devices I call VCR-A; VCR-B etc). Now an LED will light up on the hardware to indicated that a zapper code is wanted by ANALYSE. Take the zapper in your hand and point it to the sensor on the hardware from a not to near distance (+/- 6cm; 2 inches) and press a button on the zapper till the LED is off. The zapper's frequency is showed and the LED will light again after a short while, press a button on the zapper again (you can use a nearer distance now) to read in this code till the LED is off again. The display will show some statuses : ICA system started .....25.51.T.. (it's a SONY) ICA means : Intelligent Code Analysing 25 and 51 are the number of pulses counted (25 for the first code and 51 till the third code starts) T indicates that this code does NOT use an extra start-code (JVC DOES sometimes use a start code) and the T will then change to F. Then the length of the code in milliseconds is displayed (45ms for SONY) followed by the DLPF settings and carrier frequency. If no carrier was detected then the carrier is set to 21.4kHz which gives no problems. Press the [ESC] key to analyse it again and check if the values are (about) the same as the first time (use another button on the zapper). If they are not then try a third time. If the values keep changing then there is something wrong, but what ? See trouble shooting in ANALYSE. Well, let's hope you did not have any problems with this. Now we can read the zapper codes and create a .RCD file. You are prompted to enter the name of command 1 or [CR] to stop. Let's program the PLAY button. If you want a hotkey for this command then type that one in CAPITAL. So, if you want hotkey 'p' for play then type Play at the corsor. If you don't want a hotkey then just type play. Now the LED will light up again and you press the PLAY button on the zapper like you did the first time. In a flash it says ('Decoding the stream'), if no errors occured it says 'command PLAY is stored in RAM' (clap your hands now ...) and you can continue with the second and the third and so on. At the end press [CR] (=stop) to make the .RCD file. NOTE: See also Chapter 10 for the use of hotkeys etc. NOTE : Watch the free RAM space displayed on top, if too less left (say 2kB) then stop analysing and pray ANALYSE has enough space left to write the data to disk ! NOTE : If there DO occur any errors it says 'not a valid code' then see trouble shooting in ANALYSE. You can easily test these errors by analysing zapper 1 and then send the commands of zapper 2; if these brands are not the same (say analyse SONY first and send commands of JVC) there absolutely will occure several errors ! NOTE : The sample frequency is 107000 Hz so the maximum measured and the maximum simulated frequency is 107000/2 = 53500 Hz. This also means that carrier frequency's above 53500 Hz are measured as (107000 - Fc) Hz, so a 100kHz carrier is measured as 7kHz in ANALYSE.EXE !!! Lucky for us uses most zappers carrier frequency's below 53500 Hz (but not all !). The display will say (after stop) 'Writing codes to file' to indicate the .RCD file is created. You are prompted again to enter a file name, press [CR] (=quit) to quit the program at this point. Add the .RCD file just created to the list in RCDFILES.TXT (with a text- editor). Now you can test the codes in XP-ZAP ------------------------------------------------------------------------- 3) The Zapper-code simulator : XP-ZAP.EXE ----------------------------------------- XP-ZAP is a command controled (DOS like) zapper simulator. When starting up, the .RCD files listed in RCDFILES.TXT are loaded into memory. A character 'R' after the file means that is was loaded correctly; an 'N' means that the file was not found. The display now will show the available RAM space, the loaded devices and a message 'executing XP-ZAP.INI'. The commands in XP-ZAP.INI are processed as if they were typed from the prompt at this point. Switch to your device by typing \DEVICENAME, so if you called your device 'CD' then type \CD at the prompt. Press F1 to pop-up the commands you just programmed (PLAY, STOP, PAUSE etc etc). Press ESC to leave this pop-up. Type one of these commands and point the IR sender to the specific device, press [CR] to send the IR-code. If the CD-player (in this case) does the job you wanted than it works ! If not then try another command, if your device does not do anything at all with the commands you tell him then see 'trouble shooting in XP-ZAP'. Now, a list of commands recognised by XP-ZAP Page-Up key Select next zapper Page-Dn key Select previous zapper cursor keys Use them, at the command line, like dosedit. (also INS, DEL, BS, Home, End, [CTRL] Right, [CTRL] Left). Or (second), move through the commands in the pop-up menu ? to get a little help ?w show status; available RAM; port adress etc ?d show loaded devices CLS Clear the screen @number wait number of sec/10 (@10 waits about 1 second) #number Set the number of code repeations. It is an indicator to tell XP-ZAP how long to 'press a button' #1 f.i. will send the IR code 1 time; #4 will send the code 4 times etc. It is not recomanded to use a number lower than 4 because some devices will not respond to this code. !number Repeat all commands before the '!' for a 'number' of times (for AUTO-ZAP functions, see later) F1 To pop-up the zapper commands and transmit them if you like by moving to that command and pressing the [CR] key. Also, if any Hotkeys are showed at the bottom line than you can easily press these single keys. Leave this pop-up by pressing the ESC key. (see later) F10 Activate Single key transmit feature (only after using F1 or ;PopUp:). See chapter 10 for details. QUIT exit MINI-ZAP ;setHF: This is a special command, marked with beginning a semi- colon and ending a colon. It tells XP-ZAP weather or not using a carrier frequency. Usually it is switched to ON but if you create the carrier yourselve by an external circuit (we do not discuss how doing this) then you must switch it to OFF. ;sethf:on or ;sethf:off ;AutoRC5: Tells XP-ZAP if it has to detect RC5 codes and simulate it's toggling bit. ;AutoRC5:on or ;AutoRC5:off ;IRdelay: To set a pause between two IR codes. When running on a fast PC some devices do not react to the codes when they are transmitted right after each other. So, if you want to set your VCR to channel 20 (f.e.) and you would do it like this : \VCR>2,0 then it is quite possible that the VCR is NOT set to 20 because the delay between the command '2' and '0' is too short. If IR-delay is set to 3 (the standard value) then XP-ZAP will transmit : \VCR>2,@3,0,@3 and the problem is solved. ;IRdelay:3 ;Hotkeys: To switch on or off the use of Hotkeys at the command line. ;Hotkeys:on or ;Hotkeys:off If there exists a command Play (Hotkey 'P') for the current selected device and you type [SHIFT]+P at the command line then this command is added to the command line. So, if the device is CD and the Hotkey for play is 'P' then (after pressing [SHIFT]+P) the command line changes to : \CD>Play, ;PopUp: Does the same as pressing F1 NOTE : The zapper commands (PLAY, STOP, PAUSE etc) and the @, # and ! commands can be used comma separated. So, for example : \CD>#8,play,@20,#16,stop will send 8 play codes then wait 2 seconds and then send 16 stop codes. Usually you will not use the # command because you can multiply the commands by a '*' sign. So, if the repeation number is 4 (#4) then the next line will do the same as the line just described : \CD>play*2,@10*2,stop*4 NOTE : @10*2 is just a sample to indicate that also the pause command can be multiplied this way (in this case you will just use @20 afcourse). **** AUTO-ZAP functions **** If you want to check all TV channels (for example) and you can go to the next channel by pressing the 'ch+' button (on zapper) then you can create an auto-zap function like this : \TV>1 (goto channel 1) \TV>@100,ch+,!20 (wait 10 seconds, go 1 channel up and repeat this 20 times) AUTO-SCAN function (CD-PLAYER) \CD>1 (play first song) \CD>@100,fs+*15,!2,next,!10 (play 10 seconds, scan forward for a while, repeat this 2 times, go to next song, repeat all of this 10 times) NOTE : \CD>next*2 is NOT equal to \CD>next,!2 because next*2 is translated to #8,next (if # was 4 before) and next,!2 is translated to : #4,next,@3,next,@3 NOTE : If you want to abort this transmission press [ESC] or any other key. **** POP-UP functions **** Pop-up is a new feature in MINI-ZAP. Activate it by pressing F1 or typing ;PopUp: at the 'prompt'. Move with the arrow keys to the command you want to transmit and press the [CR] key, or press a Hotkey if any. During pop-up you can change the selected device by typing the 'Page Up' or 'Page Down' key. Leave this pop-up by pressing the ESC key. NOTE : The number of codes fysically transmitted after pressing [CR] is defined by the # command. If #4 then the code will be transmitted 4 times after pressing the [CR] key. The delay defined by ;IRdelay: will be set to 0 during pop-up. NOTE : Pop-Up will NEVER show single DIGIT commands (like '0', '1' etc); they are automatically added to the Hotkeys. ------------------------------------------------------------------------- 4) Trouble shooting in PC-SPEED ------------------------------- If PC-SPEED does not detect any frequency at the IR sensor then it gives a time-out. A reason for this can be : a) You have set the wrong port address (check with LPTPORT.EXE) b) The distance between IR sender (from the 50/60Hz clock) and the IR sensor is too big (put sender very close to sensor). c) Your IR-clock circuit does not work (check it !) d) There is something wrong with the MINI-ZAP hardware. ------------------------------------------------------------------------- 5) Trouble shooting in ANALYSE ------------------------------ -- Sunlight Direct sunlight (or too much light) falling on the sensor will give problems while analysing the zapper. When the LED is automatically switched off when you did NOT press a button on the zapper then that might be the problem. Otherwise, check the hardware !!! -- Runtime Error 203 (Portfolio only) : First, if you startup ANALYSE.EXE and it stops executing with a Runtime Error 203 than you don't have enough free RAM space ! The solution is clean you C drive by typing fdisk 8 at the DOS prompt and setup the device driver and display modes again (don't forget that). -- Hardware problems If the LED (D1) does not light up when it should do, or the PC does not respond to the zapper codes when you pressed a button, then there is someting wrong with your hardware (check the connections and the IO port address you use ( = first line in HARDWARE.DAT) ). -- Different values measured at first analyses If the number of pulses counted keep changing at the first analyses (so, where you can press [ESC] to measure again) but the code length does NOT then it's one of the following problems : a) the remote you use uses RC5 codes (philips), in this case quit the program, restart it and set 'check # of pulses' to 'N' (NO) --> only with manual DLPF settings ! Automatic settings do NOT have any problems with this. b) the remote you use does not use a carrier frequency, in this case quit the program, restart it and set the DLPF to 2 --> only with manual DLPF settings ! Automatic settings do NOT have any problems with this. c) the distance between the remote and the IR-sensor of the hardware is too big or too short, try other distances (mostly when the zapper's battery's are low). If the code length keeps changing (I have NEVER had that problem) then quit the program, restart it and set 'check code length' to 'N' (NO). Let me know if you have this problem ! -- Errors when analysing the commands Several errors can occur when ANALYSE is 'decoding the stream'. If the number of pulses counted, the length of the code or an extra start code does not match the values measured first time then ANALYSE returns errors. Mostly this is dued to incorrect reading of the codes, solve this problem to lower the distance between the IR-sensor and the zapper. If this code comes from another zapper than the one which was first analysed then these errors WILL occur and you can only solve this by telling ANALYSE to do not check number of pulses and not check the code length but it is NOT recomanded to do this because every error will be ignored !!!! -- Errors while writing the codes to a file This can only happen when the disk is full (a pity for you ....). -- Other problems not mentioned Mail me the problem ! ------------------------------------------------------------------------- 6) Trouble shooting in XP-ZAP ----------------------------- -- Hardware does nothing If the LED (D1) does not light up when a zapper command is given then check the hardware and the port address in HARDWARE.DAT, otherwise test one of my own .RCD files. -- Device does not react to the codes sended by XP-ZAP This is a pity ! Try a very near distance (25-50cm; 1-2 foot) if it works now than you might have some old (non sensitive) equippment. It should work better with ZAP-HW2.GIF. Otherwise the zapper uses a carrier frequency which is out of MINI-ZAP's range. The only way to solve this problem is buiding your own carrier (extra hardware), or buy the professional XP-ARCS but that will not run on a Portfolio (maybe later). !! If you can't get it working at all then mail me the .RCD file with the !! !! brand and type (VCR, CD etc) of equippment you use and the type number. !! !! If you are not able to create a .RCD file then just mail me the brand, !! !! type and type number. !! -- Other problems not mentioned Mail me the problem ! ------------------------------------------------------------------------- 7) Changing command and device names ------------------------------------ To delete zapper keys, change their names or change the device name use RCDEDIT.EXE. RCDEDIT jvcvcr This will edit the JVCVCR.RCD file. First the device name is shown, change it now if you want (use [ESC] to clear the input line) and press [ENTER]. Next, the device frequency is shown (you can't change this frequency) and thereafter all the keys. If you press the [ESC] key and leave the name of this key blank (so press [ESC] followed by [ENTER]) then you can either choose between [d] (delete key) or [e] (exit program). If you want to use a Hotkey for a command then type that hotkey in CAPITAL. So, f.e. : play ---> Play (XP-ZAP will recognise 'P' as a hotkey) eject ---> eJect (XP-ZAP will recognise 'J' as a hotkey) NOTE : Do NOT use the same hotkeys in different commands in the same .RCD file !! play ---> Play (Hotkey = 'P') power ---> Power (Hotkey = 'P') XP-ZAP will search (in the current selected zapper) for THE FIRST command with the Hotkey 'P', in this case it will transmit the Play command. ------------------------------------------------------------------------- 8) Definition of the 50HZTST.RCD ------------------------------------ XP-ZAP's device name is TESTTX XP-ZAP's command is 50Hz The signal is 10ms logic 1 and 10 ms logic 0. If XP-ZAP's internal carrier frequency is ON (;setHF:on) then the carrier is set to 21400 Hz at logic 1 time; if it's off then there is no carrier simulated. When using a frequency counter (avarage frequency over 1 sec) you will measure 21400/2 = 10700 Hz since there is no frequency during logic 0. \TESTTX>#1 \TESTTX>50hz*500 will transmit the 50Hz signal for 10 seconds. ------------------------------------------------------------------------- 9) Converting .RCU to .RCD files -------------------------------- To reduce the use of memory (RAM and drive space) the .RCU files (text) are converted to .RCD files. If you have some .RCU files and you do not want to reprogram these zapper keys than you have to convert them to .RCD files. The utility to do this is RCU2RCD.EXE, type the .RCU filename (no extention) you want to convert as a parameter behind the utility's name. So, let's say you have a JVCVCR.RCU file then type : RCU2RCD jvcvcr The program does the rest by itself. After processing you will find the file JVCVCR.RCD in your directory. First it will show the zapper's name (if you want you can change this). NOTE: If no carrier frequency is found in this file than it is set to 35666Hz ------------------------------------------------------------------------- 10) Single key transmit feature ------------------------------- With this brand new feature you can link a zapper code to a single key. To do this you first have to program all these zapper codes in the program ANALYSE.EXE. The programming itself is equal to the normal programming of zapper keys (see also chapter 2). The file KEYCODE.TXT contains a list of all the keys at the keyboard with it's additional code. So, for example, the ENTER key is ^013. Type this code where you usualy would type play, stop, pause etc in the ANALYSE program. Then press your key on the remote control and that's it. If you had pressed the PLAY key than pressing the ENTER key on the keyboard will send a PLAY comand. Summings : Typed in ANALYSE Pressed on remote control Simulated in XP-ZAP ---------------- ------------------------- ------------------- play PLAY button Will send PLAY command if play is typed at the command-line or selected after PopUp. Play PLAY button 1) Will send PLAY command if play is typed at the command-line or selected after PopUp. 2) Will send PLAY command when 'p' is pressed after PopUp and the HotKeys are activated. 3) Will 'type' "Play," at the command line when 'P' is pressed and the HotKeys are activated. ^013 PLAY button Will send PLAY command when the ENTER key is pressed during 'single key transmit'. S STOP button 1) Will send STOP command if 's' is typed at the command-line. 2) Will send STOP command when 's' is pressed after PopUp and the HotKeys are activated. 3) Will send STOP command when 'S' is pressed during 'single key transmit'. 4) Will 'type' "S," at the command line when 'S' is pressed and the HotKeys are activated. s STOP button 1) Will send STOP command if 's' is typed at the command-line or selected after PopUp. ^115 STOP button Will send STOP command (115 is ASCII code when 's' is pressed for character 's') during 'single key transmit'. 0 REW (rewind) button 1) Will send REW command if '0' is typed at the command-line. 2) Will send REW command when '0' is pressed after PopUp and the HotKeys are activated. 3) Will send REW command when '0' is pressed during 'single key transmit'. To select 'single key transmit' in XP-ZAP first PopUp the zapper keys by pressing the F1 key (or type ;PopUp: at the command line) then press the F10 key. NOTE: The digits 0..9 are automatically selected as Hotkeys as well as single keys. ------------------------------------------------------------------------- 11) The author -------------- XP-ZAP.EXE, ANALYSE.EXE, PC-SPEED.EXE, RCU2RCD.EXE, RCDEDIT.EXE, PC-ZAP.SYS, PF-ZAP.SYS and PC-486.SYS are copyrighted by M.L.H. van der Meij. You are not allowed to make any changes to these programs. You are allowed to copy it as many times as you want and place it at every public domain server or BBS as long as you let me know where you have uploaded it. (C) 1997 M.L.H. van der Meij; All rights reserved Let me know every experience you have with MINI-ZAP and mail me the .RCD files you created (I have a collection of them ....) Xiac Professional (TM) ing M.L.H. van der Meij Arend Verkleystraat 31 2172 BD Sassenheim The Netherlands Email : mr.xiac@mailbox.hol.nl