It could be that the GUID is missing from the FS9.CFG file. IF you have devices communicating with PM you have to put a dummy JOYSTICK_MAIN section in FS9.CFG otherwise FS2004 will do some screwy things with button events it sees.
Backup your existing FS9.CFG
(USB) What should be order of things?
in your project main EPL file:
#include <EPICDEFS.HPL> //this is
in your EPIC\Include directory and contains common definitions, program IDs etc.
//this was EPICHID.INC and is now renamed to EPICDEFS.HPL
definemodule.......... //module definitions. Do not include Display modules
#include "device.hpl" //your device descriptor file.
variable definitions. This includes byte, word, flag, BCD, etc.
:INIT{ ...initialization code...} //This procedure is executed when a project load is done (F10)
.....other epl procedures .....
>>>>>>>>>>>>>>>>>>
device descriptor file:
#pragma hid_rpt_snd xx
//where xx is the number of devices to send to direct input. These will show up
in Game Controllers
// and will be in the order of definition. To send the first 3 devices for
example, #pragma hid_rpt_snd 3
connector definitions // connectors have analogs and switch module/row definitions for use in devices.
direct input devices
//These devices will show up in Game Controllers and can be used to pass
analogs, buttons, POVs
to Flight Simulator and other programs
SEND_BUTTON_DLL devices //These devices can be used to send direct events to a program connected to EPICIO.DLL
physical devices // switches, displays, outputs, etc.
#include mousedevice.hpl //the mouse device must be last
(USB) How can I load a project using a command line?
example using project name of "test"
cd\epic\projects\test
c:\epic\bin\epicenter test.def
If EPICenter is in the path:
cd\epic\projects\test
epicenter test.def
If .DEF files are registered to EPICenter (the .DEF will show as the
EPICenter icon)
C:\epic\projects\test\test.def
(USB) I click on EPICenter icon and nothing happens
(Windows2000 ) CTRL-ALT-DEL / Task Manager / Processes /image name (twice
to sort)
Find EPICENTER.EXE , end task.
(USB) How can I restrict the number of devices sent to Direct Input?
use #pragma hid_rpt_snd x where "x" is the number of devices to send. This will send the first "x" devices described in your device descriptor file.
(USB) What do the status leds mean?
(USB) I get no keystrokes when using EPIC as an HID keyboard (V0.56 and higher)
1. start / run / regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID
There will be entries for Vid_A2C0..........
2. exit regedit
3. EPICenter (Version 1.0.0.0 and above)
4. Tools
5. Clean Registry
6. check top two boxes, and uncheck the rest, then click "OK"
7. regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID
make sure the Vid_A2C0 entries are gone
check
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB
make sure these are gone also
IF the above are not gone:
1. run REGEDT32 (assuming win2k or XP asoperating
system)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB
make sure the HID section is highlighted
2. Security / Permissions
Make sure Administrator has "Full Contol" checkedand
check if not checked , then "APPLY"
you should have an "everyone" section, make sure"Full
Control" is checked and check if not. Then "APPLY"
you can give "Full Control" to others if you wish
3. exit Regedt32
4. Repeat steps 5 and below again.
8. Unplug EPICUSB USB cable and plug back in.
You should get "New Hardware Found"
You may have to direct the install to EPIC\Install directory
Load your project
See if the keystrokes work now.
Controls are jumpy in FS98(EPICISA)
Start/settings/control panel/Game Controllers/Advanced
Uncheck "poll with interrupts enabled"
Controls are not recognized by WIN95 programs (EPICISA)
NEED for SPEED controls do not work correctly.
Cannot get EPIC to stay in device manager
You may have to use the ISA Configuration Utility to disable the gameport of a PNP card.
If the existing game port is on a PCI card
1. Start/settings/control panel/system/device manager
2. Click on existing Gameport
3. Remove. Donot restart
4. Install EPIC by WIN95.TXT method.
5. Restart.
If EPIC is removed and the PCI gameport put back in
Try the method in GAMEC.TXT
How can I load a file to a blank EEPROM?
EEPROM 28C256 150ns or faster.
Download EEBlank.txt and follow instructions. This is the "scary " method.
WIN95 conflict with "Motherboard Resources" port 202-20F
I get message "TSJR overflow ......" , or When running FS5 or FS6 views change when I hit my toe brakes
See "Hold Stack Error" below for debugging.
#define fastscan 0
definemodule(0,fastscan,0,7) ;scan all of module 0 DB15s:test{
keyhit(a)
delay(100) ;delay 2 seconds
ifactive(0) jump test
}definebutton(0,on,test)
:test{
keyhit(a)
delay(100) ;delay 2 seconds
ifactive(0) jump test
}:test1{
disablescan(0)
call(test)
enablescan(0)
}definebutton(0,on,test1)
flag(loop_active)
:test{
keyhit(a)
delay(100) ;delay 2 seconds
ifactive(0) jump test
}:test1{
if(loop_active) jump return
setflag(loop_active)
call(test)
clearflag(loop_active)
}
definebutton(0,on,test1)
I get message "Hold Stack ERR ......" , views in FS5 or FS6 can start changing
The Hold Stack keeps track of multithread history when exiting out of the main command processor. This happens when there is a DELAY( ) within a CALLED routine. The message will occur when the nested level becomes greater than 8.
The source of the error can be found by running-
DUMPEPIC /Z /X280 > test.dmp
After getting the error. DONOT hit the RESET button or run any other EPIC program before running the DUMPEPIC as this will clear the debug buffer. Look at the file test.dmp and then look at the section labeled "backtrace buffer". Find the number 0001-0010 in the list. This is the error code. The numbers above that code are the last commands to be executed. Find the number lower than that number in the CMD Block section. This will be the start of your function in your .EPL file. Look at the .EPL file and find the same routine. You should find the error there. The usual error is a CALL back to the same routine (recursion overflow) or a JUMP in a local block back to the same routine that includes the local block.
definemodule(0,0,0,7)
;too many calls with delays. Error will occur at the eighth level down
:t1{keyhit(a) delay(1) call(t2)}
:t2{keyhit(b) delay(1) call(t3)}
:t3{keyhit(c) delay(1) call(t4)}
:t4{keyhit(d) delay(1) call(t5)}
:t5{keyhit(e) delay(1) call(t6)}
:t6{keyhit(f) delay(1) call(t7)}
:t7{keyhit(g) delay(1) call(t8)}
:t8{keyhit(h) delay(1) call(t9)}
:t9{keyhit(i) delay(1) call(t10)}
:t10{keyhit(j) delay(1) call(t11)}
:t11{keyhit(k) delay(1) call(t12)}
:t12{keyhit(l) delay(1) call(t13)}
:t13{keyhit(m) delay(1) call(t14)}
:t14{keyhit(n) delay(1) call(t15)}
:t15{keyhit(o) delay(1) call(t16)}
:t16{keyhit(p) }
:t{call(t1)}
;loop with call( ) . Error will occur on 8th iteration
:tt{
keyhit(x)
delay(20)
call(tt) ;this should be JUMP( tt ) not CALL( tt )
}
definebutton(0,on,t)
definebutton(1,on,tt)
Copyright © 1997 R&R Electronics, all rights reserved.
Send mail to: rrelect@mindspring.com