PDA

View Full Version : AHK and Tankstick Remapping



mcorcoran
03-22-2012, 12:12 PM
I've created a small autohotkey script that I launch before running nulldc to remap the alt/shift/ctrl keys so that I can use my x-arcade tankstick. However it seems to be double pressing each key. For example if I go into notepad and hit the alt key from my keyboard with my script running I get the output of 'u' if I hit the alt key on my tankstick I get the output of 'uu'. The same with control and shift. This is casuing some issues when running nulldc and seems like after a while the keys get stuck (I've disabled the sticky keys in window so I don't think it's that). Does anyone know If I'm doing something wrong?

My script is as follows:


lalt::u
lshift::y
lctrl::t

dustind900
04-06-2012, 09:45 AM
Try this


WinWaitActive, nulldc ;Replace nulldc with the actual window name of nulldc

Sleep 100

Process WaitClose, nulldc.exe ;Replace nulldc.exe with the actual process name of nulldc

ExitApp

~LAlt::u
Return

~LShift::y
Return

~LCtrl::t
Return

Or This


WinWaitActive, nulldc ;Replace nulldc with the actual window name of nulldc

Sleep 100

UKey = ~LAlt
YKey = ~LShift
TKey = ~LCtrl

HotKey %UKey%, U
HotKey %YKey%, Y
HotKey %TKey%, T

Process WaitClose, nulldc.exe ;Replace nulldc.exe with the actual process name of nulldc

ExitApp

U:
Send u
Return

Y:
Send y
Return

T:
Send t
Return

Depending on how you have things set up you may or may not need the WinWaitActive. The Process WaitClose will tell the script to exit when you exit nulldc. The Sleep is probably not necessary but I like to use them. I have a Tankstick as well and I hate the button layout they used. Causes a lot of conflicts with certain systems. Here is one of my Type X scripts that blocks all button combinations but still leaves the buttons usable. You can use this in any system to stop accidental combination presses.


#NoTrayIcon

ExitKey = ~2 & ~3

WinMinimizeAll

Run C:\Hyperspin\nomousy.lnk

Gui +AlwaysOnTop -Caption +ToolWindow
Gui Color, 000000
Gui Show, x0 y0 h1024 w1280, HSHIDE

Gui 2: Color, 000000
Gui 2: -Caption +ToolWindow
Gui 2: Show, x0 y0 h1024 w1280, HSHIDE2

HotKey %ExitKey%, CloseGame
HotKey LCtrl, Grrr
HotKey LShift, Grrr
HotKey LCtrl & Space, Grrr
HotKey LCtrl & LShift, Grrr
HotKey LShift & Space, Grrr
HotKey LAlt & Space, Grrr
HotKey LAlt, Grrr
HotKey LAlt & LCtrl, Grrr
HotKey LAlt & LShift, Grrr
HotKey LAlt & 1, Grrr
HotKey LAlt & 2, Grrr
HotKey LAlt & 3, Grrr
HotKey LAlt & 4, Grrr
HotKey LAlt & 5, Grrr
HotKey LAlt & 6, Grrr
HotKey LAlt & Numpad2, Grrr
HotKey LAlt & Numpad4, Grrr
HotKey LAlt & Numpad6, Grrr
HotKey LAlt & Numpad8, Grrr
HotKey LAlt & a, Grrr
HotKey LAlt & c, Grrr
HotKey LAlt & d, Grrr
HotKey LAlt & e, Grrr
HotKey LAlt & f, Grrr
HotKey LAlt & g, Grrr
HotKey LAlt & q, Grrr
HotKey LAlt & r, Grrr
HotKey LAlt & s, Grrr
HotKey LAlt & w, Grrr
HotKey LAlt & x, Grrr
HotKey LAlt & z, Grrr
HotKey LCtrl & 1, Grrr
HotKey LCtrl & 2, Grrr
HotKey LCtrl & 3, Grrr
HotKey LCtrl & 4, Grrr
HotKey LCtrl & 5, Grrr
HotKey LCtrl & 6, Grrr
HotKey LCtrl & Numpad2, Grrr
HotKey LCtrl & Numpad4, Grrr
HotKey LCtrl & Numpad6, Grrr
HotKey LCtrl & Numpad8, Grrr
HotKey LCtrl & a, Grrr
HotKey LCtrl & c, Grrr
HotKey LCtrl & d, Grrr
HotKey LCtrl & e, Grrr
HotKey LCtrl & f, Grrr
HotKey LCtrl & g, Grrr
HotKey LCtrl & q, Grrr
HotKey LCtrl & r, Grrr
HotKey LCtrl & s, Grrr
HotKey LCtrl & w, Grrr
HotKey LCtrl & x, Grrr
HotKey LCtrl & z, Grrr
HotKey LShift & 1, Grrr
HotKey LShift & 2, Grrr
HotKey LShift & 3, Grrr
HotKey LShift & 4, Grrr
HotKey LShift & 5, Grrr
HotKey LShift & 6, Grrr
HotKey LShift & Numpad2, Grrr
HotKey LShift & Numpad4, Grrr
HotKey LShift & Numpad6, Grrr
HotKey LShift & Numpad8, Grrr
HotKey LShift & a, Grrr
HotKey LShift & c, Grrr
HotKey LShift & d, Grrr
HotKey LShift & e, Grrr
HotKey LShift & f, Grrr
HotKey LShift & g, Grrr
HotKey LShift & q, Grrr
HotKey LShift & r, Grrr
HotKey LShift & s, Grrr
HotKey LShift & w, Grrr
HotKey LShift & x, Grrr
HotKey LShift & z, Grrr

Run, "C:\Hyperspin\Emulators\Taito Type X\Games\Arcana Heart 3\AH3_Launcher.exe"
WinWaitActive, AH3
Sleep, 5000

Gui destroy

Process, WaitClose, game.exe

WinMinimizeAllUndo

WinActivate HyperSpin

Run C:\Hyperspin\nomousy.exe

Gui 2: Destroy

ExitApp

CloseGame:
Process, Close, game.exe
Return

Grrr:
Return

I still have a problem playing RIV 2 player. If I use LCtrl to fire for P1, P2 cant move if P1's fire button is held down. I'm still working on a fix for that but the above hotkeys (Grrr) fix a ton of other conflicts in many systems.

ariay
05-25-2012, 09:28 AM
I also have the tankstick and have had an issue mapping the buttons. In game it works fine since i copied mcorcoran's script. But when I exit, it keeps the u, y and t mapped. I don't want this for other emulators. How do i unmap those keys when i exit the emulator? I'm not good at AHK so sorry for the noob question.


;----------------------------------------------------------------------------
; Sega Dreamcast
; NullDC r104
; by BBB
; 1.0
;----------------------------------------------------------------------------

;Settings
autoStart = 1
noConsole = 1
autoHideMenu = 1
fullScreen = 1
showVMU = 0
loadDefaultImage = 1
patchRegion = 1
configPath = %emuPath%nullDC.cfg

;Write Settings
IniWrite, %autoStart%, %configPath%, nullDC, Emulator.AutoStart
IniWrite, %noConsole%, %configPath%, nullDC, Emulator.NoConsole
IniWrite, %autoHideMenu%, %configPath%, nullDC_GUI, AutoHideMenu
IniWrite, %fullScreen%, %configPath%, nullDC_GUI, Fullscreen
IniWrite, %showVMU%, %configPath%, drkMaple, VMU.Show
IniWrite, %loadDefaultImage%, %configPath%, ImageReader, LoadDefaultImage
IniWrite, %patchRegion%, %configPath%, ImageReader, PatchRegion
IniWrite, %romPath%%romname%%RomExtension%, %configPath%, ImageReader, DefaultImage

;Fixes hangin previous nullDC on bad exits or loads
Process, Exist, %executable%
if !ErrorLevel = 0
Process, Close, %executable%

Run, %executable%, %emuPath%, hide
;Enough to hide the startup logo
Sleep, 2000

;Let's completely hide the menu by slighly moving the window off screen
;nullDC will self adjust once the menu autohides
if(fullScreen = 1){
yOffset = -20
winHeight := A_ScreenHeight - yOffset
WinMove, nullDC,, 0, %yOffset%, %A_ScreenWidth%, %winHeight%
}

WinShow, nullDC
lalt::u
lshift::y
lctrl::t

Process, WaitClose, %executable%

ExitApp

CloseProcess:
4::Winclose A
Process, Close, %executable%
return

djvj
05-25-2012, 09:52 AM
I added support for ahk remapping in hyperlaunch 2, please use the guide in the first post in my sig to add it to your setup.

ariay
05-31-2012, 03:30 PM
I added support for ahk remapping in hyperlaunch 2, please use the guide in the first post in my sig to add it to your setup.

thanks for your help. I have followed your guide an cannot get it to remap the keys. Can you tell me what I'm missing? I have made a folder named Keymapper Profiles in the hyperspin folder. Within the Keymapper Profiles Folder I have made a sega dreamcast folder and have put the ahk file in that folder.
The AHK is
lalt::u
lshift::y
lctrl::t
Here is my settings.ini

[HyperLaunch]
keymapper_enabled=true
keymapper=ahk
keymapper_path=
keymapper_profile_path=%A_ScriptDir%\Keymapper Profiles\
exit_script_key=~q & ~s
exit_emulator_key=~4
toggle_cursor_key=~t
hide_cursor=false
hide_desktop=false
hide_taskbar=false
path_to_daemontools=
path_to_cpwizard=
cpwizard_delay = 8000
cpwizard_params = -timeout 9000
last_system=Sega Dreamcast
last_rom=102 Dalmatians - Puppies to the Rescue v1.001 (2000)(EIDOS)(NTSC)(US)[!]
"sega Dreamcast.ini

[exe info]
path=F:\Sega Dreamcast\Dreamcast Emulators\NullDC\
rompath=F:\Sega Dreamcast\Sega Dreamcast ROMS\
userompath=false
exe=nullDC.exe
romextension=cdi,nrg
parameters=-config ImageReader:defaultImage
searchsubfolders=false
pcgame=false
winstate=HIDDEN
hyperlaunch=true
keymapper_enabled=use_global
keymapper=use_global

dustind900
05-31-2012, 09:17 PM
try putting return after each hotkey

ariay
06-01-2012, 09:16 AM
try putting return after each hotkey

I tried that. It didn't work. I can't figure this out.

djvj
06-01-2012, 07:08 PM
I tested it and it works fine with my DC module. Post your hyperlaunch.log. Your remaps should be at the bottom of the log.

BTW, there is no need to ever put returns after a remap.

ariay
06-05-2012, 11:08 AM
I tested it and it works fine with my DC module. Post your hyperlaunch.log. Your remaps should be at the bottom of the log.

BTW, there is no need to ever put returns after a remap.

Thanks for your help. Here is the debug Script.

;-----------------------------------------------------------
;Built in script
;-----------------------------------------------------------
#NoTrayIcon
DetectHiddenWindows, ON
SetTitleMatchMode, 2
0 = 0
exitEmulatorKey = ~4
emuPath = F:\Sega Dreamcast\Dreamcast Emulators\NullDC\
romPath = F:\Sega Dreamcast\Sega Dreamcast ROMS\
romExtension = .cdi
romExtensions = cdi,nrg
executable = nullDC.exe
systemName = Sega Dreamcast
romName = 102 Dalmatians - Puppies to the Rescue v1.001 (2000)(EIDOS)(NTSC)(US)[!]
daemonToolsPath =
skipchecks = false
fadeIn =
fadeOut =
fadeColor =
fadeInDuration =
fadeOutDuration =
fadeInDelay =
fadeInInterruptKeys = {LControl}{RControl}{LAlt}{RAlt}{LShift}{RShift}{L Win}{RWin}{AppsKey}{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8 }{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Home}{ End}{PgUp}{PgDn}{Del}{Ins}{BS}{Capslock}{Numlock}{ PrintScreen}{Pause}
gameStartImgPath = D:\Hyperspin\Media\Sega Dreamcast\Images\GameStart\
7zEnable = false
7zExtractDir = C:\DOCUME~1\cpcuser\LOCALS~1\Temp\Hyperspin\
7zDelTemp = true
7zFormats = .zip,.rar,.7z,.gzip,.tar
7zFormatsNoP = zip,rar,7z,gzip,tar
Hotkey, ~4, CloseProcess
;-----------------------------------------------------------
;Module script
;-----------------------------------------------------------
;----------------------------------------------------------------------------
; Sega Dreamcast
; NullDC r104
; by BBB
; 1.0
;----------------------------------------------------------------------------

;Settings
autoStart = 1
noConsole = 1
autoHideMenu = 1
fullScreen = 1
showVMU = 0
loadDefaultImage = 1
patchRegion = 1
configPath = %emuPath%nullDC.cfg

;Write Settings
IniWrite, %autoStart%, %configPath%, nullDC, Emulator.AutoStart
IniWrite, %noConsole%, %configPath%, nullDC, Emulator.NoConsole
IniWrite, %autoHideMenu%, %configPath%, nullDC_GUI, AutoHideMenu
IniWrite, %fullScreen%, %configPath%, nullDC_GUI, Fullscreen
IniWrite, %showVMU%, %configPath%, drkMaple, VMU.Show
IniWrite, %loadDefaultImage%, %configPath%, ImageReader, LoadDefaultImage
IniWrite, %patchRegion%, %configPath%, ImageReader, PatchRegion
IniWrite, %romPath%%romname%%RomExtension%, %configPath%, ImageReader, DefaultImage

;Fixes hangin previous nullDC on bad exits or loads
Process, Exist, %executable%
if !ErrorLevel = 0
Process, Close, %executable%

Run, %executable%, %emuPath%, hide
;Enough to hide the startup logo
Sleep, 2000

;Let's completely hide the menu by slighly moving the window off screen
;nullDC will self adjust once the menu autohides
if(fullScreen = 1){
yOffset = -20
winHeight := A_ScreenHeight - yOffset
WinMove, nullDC,, 0, %yOffset%, %A_ScreenWidth%, %winHeight%
}

WinShow, nullDC


Process, WaitClose, %executable%

ExitApp

CloseProcess:
4::Winclose A
Process, Close, %executable%
return

hideDesktop(){
}

FadeInStart(){
}

FadeInExit(){
}

FadeOutStart(){
}

FadeOutExit(){
}

7z(path, name, ext, extractPath){
}

7zCleanUp() {
}

CheckFile(file,msg="",timeout=6){
IfNotExist, %file%
{
If msg
ScriptError(msg, timeout)
Else
ScriptError("Cannot find " . file, timeout)
}
Return %file%
}

ScriptError(error,timeout=6){
MsgBox,48,Error,%error%,%timeout%
ExitApp
}

djvj
06-05-2012, 05:12 PM
That's not the log I want. Hyperlaunch makes a hyperlaunch.log file in your hyperspin root folder. Make sure you are using the latest HL and try again.

ariay
06-07-2012, 07:39 AM
That's not the log I want. Hyperlaunch makes a hyperlaunch.log file in your hyperspin root folder. Make sure you are using the latest HL and try again.

Sorry about that. I am using the latest Hyperspin. Here is the log you requested.

08:04:59 AM | HyperSpin Started
08:04:59 AM | Going FullScreen
08:04:59 AM | Checking for updates
08:04:59 AM | Update Check Complete
08:04:59 AM | Startup program unavailable
08:04:59 AM | Error intializing joysticks
08:04:59 AM | Menu Mode is multi
08:04:59 AM | Loading Main Menu.xml
08:04:59 AM | Main Menu.xml successfully loaded
08:05:00 AM | Main Menu wheel loaded successfully
08:17:52 AM | Loading MAME.xml
08:17:52 AM | themes_only is true, checking files
08:17:53 AM | Main Menu.xml successfully loaded
08:17:54 AM | MAME wheel loaded successfully
08:18:00 AM | MAME wheel loaded successfully
08:18:00 AM | MAME wheel loaded successfully
08:18:12 AM | Launching Game
08:18:13 AM | Running in normal rom mode
08:18:13 AM | Excecutable is mameuifx32.exe
08:18:13 AM | Command Line is: "G:\MameUIFX 0.141\mameuifx32.exe" "G:\MameUIFX 0.141\0.143 roms\sfa.zip,chd"
08:23:29 AM | Launching Game
08:23:30 AM | Running in normal rom mode
08:23:30 AM | Excecutable is mameuifx32.exe
08:23:30 AM | Command Line is: "G:\MameUIFX 0.141\mameuifx32.exe" "G:\MameUIFX 0.141\0.143 roms\sfa.zip,chd"
08:30:56 AM | Launching Game
08:30:57 AM | Running in normal rom mode
08:30:57 AM | Excecutable is mameuifx32.exe
08:30:57 AM | Command Line is: "G:\MameUIFX 0.141\mameuifx32.exe" "G:\MameUIFX 0.141\0.143 roms\sfa.zip,chd"
08:34:08 AM | Loading Main Menu.xml
08:34:08 AM | Main Menu.xml successfully loaded
08:34:09 AM | Main Menu wheel loaded successfully
08:34:15 AM | Loading Sega Dreamcast.xml
08:34:15 AM | Main Menu.xml successfully loaded
08:34:16 AM | Sega Dreamcast wheel loaded successfully
08:34:37 AM | Launching Game
08:34:37 AM | Running HyperLaunch.exe
08:34:37 AM | Command Line is: HyperLaunch.exe "Sega Dreamcast" "102 Dalmatians - Puppies to the Rescue v1.001 (2000)(EIDOS)(NTSC)(US)[!]"

djvj
06-08-2012, 12:05 AM
Ok last time, then i give up. I said HYPERLAUNCH.LOG, not HYPERSPIN.LOG

ariay
06-08-2012, 11:07 AM
Ok last time, then i give up. I said HYPERLAUNCH.LOG, not HYPERSPIN.LOG

Got it




12:01:54 PM | HyperLaunch v2.23b
12:01:54 PM | HyperLaunch launched directly
12:01:55 PM | HyperLaunch received "Sega Dreamcast" and "102 Dalmatians - Puppies to the Rescue v1.001 (2000)(EIDOS)(NTSC)(US)[!]"
12:01:55 PM | INI Keys read
12:01:55 PM | Checking paths
12:01:55 PM | Finished injecting functions into module
12:01:55 PM | Module is built
12:01:55 PM | Loading keymapper -> ahk
12:01:55 PM | Launching ahk and first profile found = D:\Hyperspin\Keymapper Profiles\Sega Dreamcast\Sega Dreamcast.ahk
12:01:55 PM | Running module:

;-----------------------------------------------------------
;Built in script
;-----------------------------------------------------------
#NoTrayIcon
DetectHiddenWindows, ON
SetTitleMatchMode, 2
0 = 0
exitEmulatorKey = ~4
emuPath = F:\Sega Dreamcast\Dreamcast Emulators\NullDC\
romPath = F:\Sega Dreamcast\Sega Dreamcast ROMS\
romExtension = .cdi
romExtensions = cdi,nrg
executable = nullDC.exe
systemName = Sega Dreamcast
romName = 102 Dalmatians - Puppies to the Rescue v1.001 (2000)(EIDOS)(NTSC)(US)[!]
daemonToolsPath =
skipchecks = false
fadeIn =
fadeOut =
fadeColor =
fadeInDuration =
fadeOutDuration =
fadeInDelay =
fadeInInterruptKeys = {LControl}{RControl}{LAlt}{RAlt}{LShift}{RShift}{L Win}{RWin}{AppsKey}{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8 }{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Home}{ End}{PgUp}{PgDn}{Del}{Ins}{BS}{Capslock}{Numlock}{ PrintScreen}{Pause}
gameStartImgPath = D:\Hyperspin\Media\Sega Dreamcast\Images\GameStart\
7zEnable = false
7zExtractDir = C:\DOCUME~1\cpcuser\LOCALS~1\Temp\Hyperspin\
7zDelTemp = true
7zFormats = .zip,.rar,.7z,.gzip,.tar
7zFormatsNoP = zip,rar,7z,gzip,tar
Hotkey, ~4, CloseProcess
;-----------------------------------------------------------
;Module script
;-----------------------------------------------------------
;----------------------------------------------------------------------------
; Sega Dreamcast
; NullDC r104
; by BBB
; 1.0
;----------------------------------------------------------------------------

;Settings
autoStart = 1
noConsole = 1
autoHideMenu = 1
fullScreen = 1
showVMU = 0
loadDefaultImage = 1
patchRegion = 1
configPath = %emuPath%nullDC.cfg

;Write Settings
IniWrite, %autoStart%, %configPath%, nullDC, Emulator.AutoStart
IniWrite, %noConsole%, %configPath%, nullDC, Emulator.NoConsole
IniWrite, %autoHideMenu%, %configPath%, nullDC_GUI, AutoHideMenu
IniWrite, %fullScreen%, %configPath%, nullDC_GUI, Fullscreen
IniWrite, %showVMU%, %configPath%, drkMaple, VMU.Show
IniWrite, %loadDefaultImage%, %configPath%, ImageReader, LoadDefaultImage
IniWrite, %patchRegion%, %configPath%, ImageReader, PatchRegion
IniWrite, %romPath%%romname%%RomExtension%, %configPath%, ImageReader, DefaultImage

;Fixes hangin previous nullDC on bad exits or loads
Process, Exist, %executable%
if !ErrorLevel = 0
Process, Close, %executable%

Run, %executable%, %emuPath%, hide
;Enough to hide the startup logo
Sleep, 2000

;Let's completely hide the menu by slighly moving the window off screen
;nullDC will self adjust once the menu autohides
if(fullScreen = 1){
yOffset = -20
winHeight := A_ScreenHeight - yOffset
WinMove, nullDC,, 0, %yOffset%, %A_ScreenWidth%, %winHeight%
}

WinShow, nullDC


Process, WaitClose, %executable%

ExitApp

CloseProcess:
4::Winclose A
Process, Close, %executable%
return

hideDesktop(){
}

FadeInStart(){
}

FadeInExit(){
}

FadeOutStart(){
}

FadeOutExit(){
}

7z(path, name, ext, extractPath){
}

7zCleanUp() {
}

CheckFile(file,msg="",timeout=6){
IfNotExist, %file%
{
If msg
ScriptError(msg, timeout)
Else
ScriptError("Cannot find " . file, timeout)
}
Return %file%
}

ScriptError(error,timeout=6){
MsgBox,48,Error,%error%,%timeout%
ExitApp
}
lalt::u
lshift::y
lctrl::t
12:03:05 PM | Module ended, exiting HyperLaunch normally
12:03:05 PM | Unloading ahk

djvj
06-08-2012, 11:41 AM
Well as you can see, your remaps were added to your module, so hyperlaunch and ahk support are working properly. You can test this, when it is running, alt-tab to something like notepad and test your remapped keys. If your game doesn't recognize it, then you can't use ahk remaps in game, need to use some other remapper.

Thing is, I tested nulldc and it did work. See if there is some type of directinput setting in nulldc you have to change or a different controller/keyboard plugin.

ariay
06-12-2012, 03:19 PM
Thanks for leading me down the right path but I have tried everything and I'm about to give up.

When I press the remapped keys on the keyboard (I,U and T) it registers during emulation. So NullDC is seeing those keys properly. I also opened note pad and used the remapped buttons and you are right, it is remapping properly through the Tankstick buttons in notepad. I have tried changing the plugins but either they are not configurable or they crash nulldc. The only one that works is nullDC Controller [winhook] which works perfectly except for those buttons.
I'm not sure what to look for in the directinput setting you mentioned. This is my nullDC config:

;; nullDC config file;;
[nullDC]
Dynarec.Enabled=1
Dynarec.DoConstantPropagation=1
Dynarec.SafeMode=1
Dynarec.UnderclockFpu=0
Dreamcast.Cable=3
Dreamcast.RTC=1951185185
Dreamcast.Region=3
Dreamcast.Broadcast=4
Emulator.AutoStart=1
Emulator.NoConsole=1

[nullDC_plugins]
GUI=nullDC_GUI_Win32.dll
Current_PVR=drkPvr_Win32.dll
Current_GDR=ImgReader_Win32.dll
Current_AICA=nullAica_Win32.dll
Current_ARM=vbaARM_Win32.dll
Current_ExtDevice=nullExtDev_Win32.dll
Current_maple0_5=drkMapleDevices_Win32.dll:0
Current_maple0_0=drkMapleDevices_Win32.dll:2
Current_maple0_1=NULL
Current_maple1_5=NULL
Current_maple2_5=NULL
Current_maple3_5=NULL

[nullDC_GUI]
AutoHideMenu=0
Fullscreen=0
AlwaysOnTop=0

[drkpvr]
Emulation.AlphaSortMode=1
Emulation.PaletteMode=1
Emulation.ModVolMode=0
Emulation.ZBufferMode=0
Emulation.TexCacheMode=0
OSD.ShowFPS=0
OSD.ShowStats=0
Video.ResolutionMode=0
Video.VSync=0
Enhancements.MultiSampleCount=0
Enhancements.MultiSampleQuality=0
Enhancements.AspectRatioMode=1

[ImageReader]
PatchRegion=1
LoadDefaultImage=1
DefaultImage=F:\Sega Dreamcast\Sega Dreamcast ROMS\102 Dalmatians - Puppies to the Rescue v1.001 (2000)(EIDOS)(NTSC)(US)[!].cdi
LastImage=F:\Sega Dreamcast\Sega Dreamcast ROMS\Toy Story 2 - Buzz Lightyear to the Rescue! v1.005 (2000)(Activision)(PAL)[!].CDI

[nullAica]
BufferSize=2048
LimitFPS=2
HW_mixing=0
SoundRenderer=1
GlobalFocus=1
BufferCount=1
CDDAMute=0
GlobalMute=0
DSPEnabled=0
Volume=90

[nullExtDev]
mode=0
adapter=0

[ndc_hookjoy]
PortA_CONT_C=89
PortA_CONT_B=88
PortA_CONT_A=90
PortA_CONT_START=49
PortA_CONT_DPAD_UP=82
PortA_CONT_DPAD_DOWN=70
PortA_CONT_DPAD_LEFT=68
PortA_CONT_DPAD_RIGHT=71
PortA_CONT_Z=84
PortA_CONT_Y=85
PortA_CONT_X=84
PortA_CONT_DPAD2_UP=87
PortA_CONT_DPAD2_DOWN=219
PortA_CONT_DPAD2_LEFT=69
PortA_CONT_DPAD2_RIGHT=83
PortA_CONT_ANALOG_UP=104
PortA_CONT_ANALOG_DOWN=98
PortA_CONT_ANALOG_LEFT=100
PortA_CONT_ANALOG_RIGHT=102
PortA_CONT_LSLIDER=53
PortA_CONT_RSLIDER=67
PortB_CONT_C=66
PortB_CONT_B=88
PortB_CONT_A=86
PortB_CONT_START=16
PortB_CONT_DPAD_UP=38
PortB_CONT_DPAD_DOWN=40
PortB_CONT_DPAD_LEFT=37
PortB_CONT_DPAD_RIGHT=39
PortB_CONT_Z=77
PortB_CONT_Y=90
PortB_CONT_X=67
PortB_CONT_DPAD2_UP=0
PortB_CONT_DPAD2_DOWN=0
PortB_CONT_DPAD2_LEFT=0
PortB_CONT_DPAD2_RIGHT=0
PortB_CONT_ANALOG_UP=73
PortB_CONT_ANALOG_DOWN=75
PortB_CONT_ANALOG_LEFT=74
PortB_CONT_ANALOG_RIGHT=76
PortB_CONT_LSLIDER=65
PortB_CONT_RSLIDER=83
PortC_CONT_C=66
PortC_CONT_B=88
PortC_CONT_A=86
PortC_CONT_START=16
PortC_CONT_DPAD_UP=38
PortC_CONT_DPAD_DOWN=40
PortC_CONT_DPAD_LEFT=37
PortC_CONT_DPAD_RIGHT=39
PortC_CONT_Z=77
PortC_CONT_Y=90
PortC_CONT_X=67
PortC_CONT_DPAD2_UP=0
PortC_CONT_DPAD2_DOWN=0
PortC_CONT_DPAD2_LEFT=0
PortC_CONT_DPAD2_RIGHT=0
PortC_CONT_ANALOG_UP=73
PortC_CONT_ANALOG_DOWN=75
PortC_CONT_ANALOG_LEFT=74
PortC_CONT_ANALOG_RIGHT=76
PortC_CONT_LSLIDER=65
PortC_CONT_RSLIDER=83
PortD_CONT_C=66
PortD_CONT_B=88
PortD_CONT_A=86
PortD_CONT_START=16
PortD_CONT_DPAD_UP=38
PortD_CONT_DPAD_DOWN=40
PortD_CONT_DPAD_LEFT=37
PortD_CONT_DPAD_RIGHT=39
PortD_CONT_Z=77
PortD_CONT_Y=90
PortD_CONT_X=67
PortD_CONT_DPAD2_UP=0
PortD_CONT_DPAD2_DOWN=0
PortD_CONT_DPAD2_LEFT=0
PortD_CONT_DPAD2_RIGHT=0
PortD_CONT_ANALOG_UP=73
PortD_CONT_ANALOG_DOWN=75
PortD_CONT_ANALOG_LEFT=74
PortD_CONT_ANALOG_RIGHT=76
PortD_CONT_LSLIDER=65
PortD_CONT_RSLIDER=83
local_port=0
server_addr=192.168.1.33
server_port=11122

[drkMaple]
VMU.Show=0
Mouse.Sensitivity=100
ShowVMU=0

[PuruPuru_Pad_1]
l_shoulder=-1
r_shoulder=-1
a_button=-1
b_button=-1
x_button=-1
y_button=-1
start_button=-1
dpad_up=-1
dpad_down=-1
dpad_left=-1
dpad_right=-1
main_x_left=-1
main_x_right=-1
main_y_up=-1
main_y_down=-1
halfpress=-1
deadzone=24
pakku_intensity=100
pakku_length=175
keyboard=0
joy_id=0
controllertype=0

[PuruPuru_Pad_2]
l_shoulder=-1
r_shoulder=-1
a_button=-1
b_button=-1
x_button=-1
y_button=-1
start_button=-1
dpad_up=-1
dpad_down=-1
dpad_left=-1
dpad_right=-1
main_x_left=-1
main_x_right=-1
main_y_up=-1
main_y_down=-1
halfpress=-1
deadzone=24
pakku_intensity=100
pakku_length=175
keyboard=0
joy_id=0
controllertype=0

[PuruPuru_Pad_3]
l_shoulder=-1
r_shoulder=-1
a_button=-1
b_button=-1
x_button=-1
y_button=-1
start_button=-1
dpad_up=-1
dpad_down=-1
dpad_left=-1
dpad_right=-1
main_x_left=-1
main_x_right=-1
main_y_up=-1
main_y_down=-1
halfpress=-1
deadzone=24
pakku_intensity=100
pakku_length=175
keyboard=0
joy_id=0
controllertype=0

[PuruPuru_Pad_4]
l_shoulder=-1
r_shoulder=-1
a_button=-1
b_button=-1
x_button=-1
y_button=-1
start_button=-1
dpad_up=-1
dpad_down=-1
dpad_left=-1
dpad_right=-1
main_x_left=-1
main_x_right=-1
main_y_up=-1
main_y_down=-1
halfpress=-1
deadzone=24
pakku_intensity=100
pakku_length=175
keyboard=0
joy_id=0
controllertype=0

[Xmaple]
Controller.DeadZone=25
PuruPuru.UseRealFrequency=1
PuruPuru.Length=175

fr0stbyt3
06-12-2012, 04:39 PM
Here is my working module. This works for my tankstick. Note, pressing both buttons on the left kills the process...


;-------------------------------------------------------------------------

---
; Sega Dreamcast
; NullDC r104
; by BBB
; 1.0
;-------------------------------------------------------------------------

---

;Settings
autoStart = 1
noConsole = 1
autoHideMenu = 1
fullScreen = 1
showVMU = 0
loadDefaultImage = 1
patchRegion = 1
configPath = %emuPath%nullDC.cfg

;Write Settings
IniWrite, %autoStart%, %configPath%, nullDC, Emulator.AutoStart
IniWrite, %noConsole%, %configPath%, nullDC, Emulator.NoConsole
IniWrite, %autoHideMenu%, %configPath%, nullDC_GUI, AutoHideMenu
IniWrite, %fullScreen%, %configPath%, nullDC_GUI, Fullscreen
IniWrite, %showVMU%, %configPath%, drkMaple, VMU.Show
IniWrite, %loadDefaultImage%, %configPath%, ImageReader, LoadDefaultImage
IniWrite, %patchRegion%, %configPath%, ImageReader, PatchRegion
IniWrite, %romPath%%romname%%RomExtension%, %configPath%, ImageReader,

DefaultImage

;Fixes hangin previous nullDC on bad exits or loads
Process, Exist, %executable%
if !ErrorLevel = 0
Process, Close, %executable%

Run, %executable%, %emuPath%, hide
;Enough to hide the startup logo
Sleep, 2000

;Let's completely hide the menu by slighly moving the window off screen
;nullDC will self adjust once the menu autohides
if(fullScreen = 1){
yOffset = -20
winHeight := A_ScreenHeight - yOffset
WinMove, nullDC,, 0, %yOffset%, %A_ScreenWidth%, %winHeight%
}

WinShow, nullDC

Process, WaitClose, %executable%

ExitApp

CloseProcess:
Process, Close, %executable%
return

Ctrl::h

LAlt::j

Space::k

Shift::l

~Lbutton & ~3::process,close,nullDC_Win32_Release-NoTrace.exe


;; nullDC config file;;
[nullDC]
Dynarec.Enabled=1
Dynarec.DoConstantPropagation=1
Dynarec.UnderclockFpu=0
Dreamcast.Cable=3
Dreamcast.RTC=1543278588
Dreamcast.Region=1
Dreamcast.Broadcast=0
Emulator.AutoStart=1
Emulator.NoConsole=1
Dynarec.SafeMode=1

[nullDC_plugins]
GUI=nullDC_GUI_Win32.dll
Current_PVR=drkPvr_Win32.dll
Current_GDR=ImgReader_Win32.dll
Current_AICA=nullAICA_Win32.dll
Current_ARM=vbaARM_Win32.dll
Current_ExtDevice=nullExtDev_Win32.dll
Current_maple0_0=NULL
Current_maple0_1=NULL
Current_maple0_2=NULL
Current_maple0_3=NULL
Current_maple0_4=NULL
Current_maple0_5=G15_drkMapleDevices_Win32.dll:0
Current_maple1_0=NULL
Current_maple1_1=NULL
Current_maple1_2=NULL
Current_maple1_3=NULL
Current_maple1_4=NULL
Current_maple1_5=G15_drkMapleDevices_Win32.dll:0
Current_maple2_0=NULL
Current_maple2_1=NULL
Current_maple2_2=NULL
Current_maple2_3=NULL
Current_maple2_4=NULL
Current_maple2_5=NULL
Current_maple3_0=NULL
Current_maple3_1=NULL
Current_maple3_2=NULL
Current_maple3_3=NULL
Current_maple3_4=NULL
Current_maple3_5=NULL

[nullDC_GUI]
AutoHideMenu=1
Fullscreen=1
AlwaysOnTop=0

[drkpvr]
Emulation.AlphaSortMode=1
Emulation.PaletteMode=1
Emulation.ModVolMode=0
Emulation.ZBufferMode=3
Emulation.TexCacheMode=0
OSD.ShowFPS=0
OSD.ShowStats=0
Video.ResolutionMode=0
Video.VSync=0
Enhancements.MultiSampleCount=0
Enhancements.MultiSampleQuality=0
Enhancements.AspectRatioMode=1

[ImageReader]
PatchRegion=1
LoadDefaultImage=1
DefaultImage=E:\Games\Sega Dreamcast\Capcom vs. SNK v1.001 (2000)(Capcom)(NTSC)(US)[!]\Capcom vs. SNK v1.001 (2000)(Capcom)(NTSC)(US)[!].gdi
LastImage=D:\HyperSpin\Games\Dreamcast\Roms\Power Stone.cdi

[nullAica]
BufferSize=2048
LimitFPS=1
HW_mixing=0
SoundRenderer=1
GlobalFocus=1
BufferCount=1
CDDAMute=0
GlobalMute=0
DSPEnabled=0
Volume=90

[nullExtDev]
mode=0
adapter=0

[ndc_hookjoy]
PortA_CONT_C=53
PortA_CONT_B=75
PortA_CONT_A=76
PortA_CONT_START=49
PortA_CONT_DPAD_UP=104
PortA_CONT_DPAD_DOWN=98
PortA_CONT_DPAD_LEFT=100
PortA_CONT_DPAD_RIGHT=102
PortA_CONT_Z=67
PortA_CONT_Y=72
PortA_CONT_X=74
PortA_CONT_DPAD2_UP=110
PortA_CONT_DPAD2_DOWN=0
PortA_CONT_DPAD2_LEFT=0
PortA_CONT_DPAD2_RIGHT=110
PortA_CONT_ANALOG_UP=104
PortA_CONT_ANALOG_DOWN=98
PortA_CONT_ANALOG_LEFT=100
PortA_CONT_ANALOG_RIGHT=102
PortA_CONT_LSLIDER=90
PortA_CONT_RSLIDER=88
PortB_CONT_C=54
PortB_CONT_B=81
PortB_CONT_A=87
PortB_CONT_START=50
PortB_CONT_DPAD_UP=82
PortB_CONT_DPAD_DOWN=70
PortB_CONT_DPAD_LEFT=68
PortB_CONT_DPAD_RIGHT=71
PortB_CONT_Z=221
PortB_CONT_Y=65
PortB_CONT_X=83
PortB_CONT_DPAD2_UP=110
PortB_CONT_DPAD2_DOWN=0
PortB_CONT_DPAD2_LEFT=0
PortB_CONT_DPAD2_RIGHT=110
PortB_CONT_ANALOG_UP=82
PortB_CONT_ANALOG_DOWN=70
PortB_CONT_ANALOG_LEFT=68
PortB_CONT_ANALOG_RIGHT=71
PortB_CONT_LSLIDER=69
PortB_CONT_RSLIDER=219
PortC_CONT_C=66
PortC_CONT_B=88
PortC_CONT_A=86
PortC_CONT_START=16
PortC_CONT_DPAD_UP=38
PortC_CONT_DPAD_DOWN=40
PortC_CONT_DPAD_LEFT=37
PortC_CONT_DPAD_RIGHT=39
PortC_CONT_Z=77
PortC_CONT_Y=90
PortC_CONT_X=67
PortC_CONT_DPAD2_UP=0
PortC_CONT_DPAD2_DOWN=0
PortC_CONT_DPAD2_LEFT=0
PortC_CONT_DPAD2_RIGHT=0
PortC_CONT_ANALOG_UP=73
PortC_CONT_ANALOG_DOWN=75
PortC_CONT_ANALOG_LEFT=74
PortC_CONT_ANALOG_RIGHT=76
PortC_CONT_LSLIDER=65
PortC_CONT_RSLIDER=83
PortD_CONT_C=66
PortD_CONT_B=88
PortD_CONT_A=86
PortD_CONT_START=16
PortD_CONT_DPAD_UP=38
PortD_CONT_DPAD_DOWN=40
PortD_CONT_DPAD_LEFT=37
PortD_CONT_DPAD_RIGHT=39
PortD_CONT_Z=77
PortD_CONT_Y=90
PortD_CONT_X=67
PortD_CONT_DPAD2_UP=0
PortD_CONT_DPAD2_DOWN=0
PortD_CONT_DPAD2_LEFT=0
PortD_CONT_DPAD2_RIGHT=0
PortD_CONT_ANALOG_UP=73
PortD_CONT_ANALOG_DOWN=75
PortD_CONT_ANALOG_LEFT=74
PortD_CONT_ANALOG_RIGHT=76
PortD_CONT_LSLIDER=65
PortD_CONT_RSLIDER=83
local_port=0
server_addr=192.168.1.33
server_port=11122

[drkMaple]
VMU.Show=0
Mouse.Sensitivity=100
ShowVMU=0

[PuruPuru_Pad_1]
l_shoulder=-1
r_shoulder=-1
a_button=-1
b_button=-1
x_button=-1
y_button=-1
start_button=-1
dpad_up=-1
dpad_down=-1
dpad_left=-1
dpad_right=-1
main_x_left=-1
main_x_right=-1
main_y_up=-1
main_y_down=-1
halfpress=-1
deadzone=24
pakku_intensity=100
pakku_length=175
keyboard=0
joy_id=0
controllertype=0

[PuruPuru_Pad_2]
l_shoulder=-1
r_shoulder=-1
a_button=-1
b_button=-1
x_button=-1
y_button=-1
start_button=-1
dpad_up=-1
dpad_down=-1
dpad_left=-1
dpad_right=-1
main_x_left=-1
main_x_right=-1
main_y_up=-1
main_y_down=-1
halfpress=-1
deadzone=24
pakku_intensity=100
pakku_length=175
keyboard=0
joy_id=0
controllertype=0

[PuruPuru_Pad_3]
l_shoulder=-1
r_shoulder=-1
a_button=-1
b_button=-1
x_button=-1
y_button=-1
start_button=-1
dpad_up=-1
dpad_down=-1
dpad_left=-1
dpad_right=-1
main_x_left=-1
main_x_right=-1
main_y_up=-1
main_y_down=-1
halfpress=-1
deadzone=24
pakku_intensity=100
pakku_length=175
keyboard=0
joy_id=0
controllertype=0

[PuruPuru_Pad_4]
l_shoulder=-1
r_shoulder=-1
a_button=-1
b_button=-1
x_button=-1
y_button=-1
start_button=-1
dpad_up=-1
dpad_down=-1
dpad_left=-1
dpad_right=-1
main_x_left=-1
main_x_right=-1
main_y_up=-1
main_y_down=-1
halfpress=-1
deadzone=24
pakku_intensity=100
pakku_length=175
keyboard=0
joy_id=0
controllertype=0

[Xmaple]
Controller.DeadZone=25
PuruPuru.UseRealFrequency=1
PuruPuru.Length=175
PuruPuru.Intensity=100

fr0stbyt3
06-13-2012, 10:25 AM
still having problems?

ariay
06-13-2012, 10:54 AM
still having problems?

I am getting closer. I have taken parts of your nulldc config and parts of mine. I can get into the game and the button is remapped in the DC menu, but now it won't load the game properly. Its strange the only part of the config that is significantly different is the DC plugins section. For some reason, when I use your config, the tankstick remaps the controls properly but I get a black screen after the game intro. My code loads the game perfectly but won't remap the buttons. I didn't use your module because it interferes with my controlling mapping folder [in my hyperspin folder], and I'm trying to keep all my remap AHK in there as DJVJ suggested. I am close and will keep messing around until I get it. I feel like I'm isolating the problem but don't understand why the controls are messing with the game loading. I have tried downloading new plugins but the same thing happens.

Specifically this part:
Your Config

[nullDC_plugins]
GUI=nullDC_GUI_Win32.dll
Current_PVR=drkPvr_Win32.dll
Current_GDR=ImgReader_Win32.dll
Current_AICA=nullAICA_Win32.dll
Current_ARM=vbaARM_Win32.dll
Current_ExtDevice=nullExtDev_Win32.dll
Current_maple0_0=NULL
Current_maple0_1=NULL
Current_maple0_2=NULL
Current_maple0_3=NULL
Current_maple0_4=NULL
Current_maple0_5=G15_drkMapleDevices_Win32.dll:0
Current_maple1_0=NULL
Current_maple1_1=NULL
Current_maple1_2=NULL
Current_maple1_3=NULL
Current_maple1_4=NULL
Current_maple1_5=G15_drkMapleDevices_Win32.dll:0
Current_maple2_0=NULL
Current_maple2_1=NULL
Current_maple2_2=NULL
Current_maple2_3=NULL
Current_maple2_4=NULL
Current_maple2_5=NULL
Current_maple3_0=NULL
Current_maple3_1=NULL
Current_maple3_2=NULL
Current_maple3_3=NULL
Current_maple3_4=NULL
Current_maple3_5=NULL

Here's mine:
[nullDC_plugins]
GUI=nullDC_GUI_Win32.dll
Current_PVR=drkPvr_Win32.dll
Current_GDR=ImgReader_Win32.dll
Current_AICA=nullAica_Win32.dll
Current_ARM=vbaARM_Win32.dll
Current_ExtDevice=nullExtDev_Win32.dll
Current_maple0_5=drkMapleDevices_Win32.dll:0
Current_maple0_0=drkMapleDevices_Win32.dll:2
Current_maple0_1=NULL
Current_maple1_5=NULL
Current_maple2_5=NULL
Current_maple3_5=NULL

fr0stbyt3
06-13-2012, 12:35 PM
and I'm trying to keep all my remap AHK in there as DJVJ suggested. I am close and will keep messing around until I get it.

Whoa.. I didnt even notice you could do that. I have been doing it the hard way ( In every single module )

ariay
06-14-2012, 10:04 AM
Whoa.. I didnt even notice you could do that. I have been doing it the hard way ( In every single module )
Well after about 3 hours of taking some of your NullDC script and some of mine, I finally got it to work properly. Thank you fr0stbyt3 for posting your config. You really helped me. I have no idea why this problem was happening but I posted my final working NullDC config. The only part I was messing with were the "Current maple" lines. It seemed that the controls were messing with the emulator loading the game and I don't know why. All of my AHK's for my remaps are in my keymapper profiles folder which I like.


;; nullDC config file;;
[nullDC]
Dynarec.Enabled=1
Dynarec.DoConstantPropagation=1
Dynarec.UnderclockFpu=0
Dreamcast.Cable=3
Dreamcast.RTC=1970786099
Dreamcast.Region=3
Dreamcast.Broadcast=4
Emulator.AutoStart=1
Emulator.NoConsole=1
Dynarec.SafeMode=1

[nullDC_plugins]
GUI=nullDC_GUI_Win32.dll
Current_PVR=drkPvr_Win32.dll
Current_GDR=ImgReader_Win32.dll
Current_AICA=nullAICA_Win32.dll
Current_ARM=vbaARM_Win32.dll
Current_ExtDevice=nullExtDev_Win32.dll
Current_maple0_5=G15_drkMapleDevices_Win32.dll:0
Current_maple0_1=NULL
Current_maple0_2=NULL
Current_maple0_3=NULL
Current_maple0_4=NULL
Current_maple1_0=NULL
Current_maple1_1=NULL
Current_maple1_2=NULL
Current_maple1_3=NULL
Current_maple1_4=NULL
Current_maple1_5=G15_drkMapleDevices_Win32.dll:0
Current_maple2_0=NULL
Current_maple2_1=NULL
Current_maple2_2=NULL
Current_maple2_3=NULL
Current_maple2_4=NULL
Current_maple2_5=NULL
Current_maple3_0=NULL
Current_maple3_1=NULL
Current_maple3_2=NULL
Current_maple3_3=NULL
Current_maple3_4=NULL
Current_maple3_5=NULL
Current_maple0_0=drkMapleDevices_Win32.dll:2

[nullDC_GUI]
AutoHideMenu=0
Fullscreen=1
AlwaysOnTop=0

[drkpvr]
Emulation.AlphaSortMode=1
Emulation.PaletteMode=1
Emulation.ModVolMode=0
Emulation.ZBufferMode=0
Emulation.TexCacheMode=0
OSD.ShowFPS=0
OSD.ShowStats=0
Video.ResolutionMode=0
Video.VSync=0
Enhancements.MultiSampleCount=0
Enhancements.MultiSampleQuality=0
Enhancements.AspectRatioMode=1

[ImageReader]
PatchRegion=1
LoadDefaultImage=1
DefaultImage=F:\Sega Dreamcast\Sega Dreamcast ROMS\102 Dalmatians - Puppies to the Rescue v1.001 (2000)(EIDOS)(NTSC)(US)[!].cdi
LastImage=F:\Sega Dreamcast\Sega Dreamcast ROMS\Toy Story 2 - Buzz Lightyear to the Rescue! v1.005 (2000)(Activision)(PAL)[!].CDI

[nullAica]
BufferSize=2048
LimitFPS=2
HW_mixing=0
SoundRenderer=1
GlobalFocus=1
BufferCount=1
CDDAMute=0
GlobalMute=0
DSPEnabled=0
Volume=90

[nullExtDev]
mode=0
adapter=0

[ndc_hookjoy]
PortA_CONT_C=53
PortA_CONT_B=75
PortA_CONT_A=76
PortA_CONT_START=49
PortA_CONT_DPAD_UP=104
PortA_CONT_DPAD_DOWN=98
PortA_CONT_DPAD_LEFT=100
PortA_CONT_DPAD_RIGHT=102
PortA_CONT_Z=67
PortA_CONT_Y=72
PortA_CONT_X=74
PortA_CONT_DPAD2_UP=110
PortA_CONT_DPAD2_DOWN=0
PortA_CONT_DPAD2_LEFT=0
PortA_CONT_DPAD2_RIGHT=110
PortA_CONT_ANALOG_UP=104
PortA_CONT_ANALOG_DOWN=98
PortA_CONT_ANALOG_LEFT=100
PortA_CONT_ANALOG_RIGHT=102
PortA_CONT_LSLIDER=90
PortA_CONT_RSLIDER=88
PortB_CONT_C=54
PortB_CONT_B=81
PortB_CONT_A=87
PortB_CONT_START=50
PortB_CONT_DPAD_UP=82
PortB_CONT_DPAD_DOWN=70
PortB_CONT_DPAD_LEFT=68
PortB_CONT_DPAD_RIGHT=71
PortB_CONT_Z=221
PortB_CONT_Y=65
PortB_CONT_X=83
PortB_CONT_DPAD2_UP=110
PortB_CONT_DPAD2_DOWN=0
PortB_CONT_DPAD2_LEFT=0
PortB_CONT_DPAD2_RIGHT=110
PortB_CONT_ANALOG_UP=82
PortB_CONT_ANALOG_DOWN=70
PortB_CONT_ANALOG_LEFT=68
PortB_CONT_ANALOG_RIGHT=71
PortB_CONT_LSLIDER=69
PortB_CONT_RSLIDER=219
PortC_CONT_C=66
PortC_CONT_B=88
PortC_CONT_A=86
PortC_CONT_START=16
PortC_CONT_DPAD_UP=38
PortC_CONT_DPAD_DOWN=40
PortC_CONT_DPAD_LEFT=37
PortC_CONT_DPAD_RIGHT=39
PortC_CONT_Z=77
PortC_CONT_Y=90
PortC_CONT_X=67
PortC_CONT_DPAD2_UP=0
PortC_CONT_DPAD2_DOWN=0
PortC_CONT_DPAD2_LEFT=0
PortC_CONT_DPAD2_RIGHT=0
PortC_CONT_ANALOG_UP=73
PortC_CONT_ANALOG_DOWN=75
PortC_CONT_ANALOG_LEFT=74
PortC_CONT_ANALOG_RIGHT=76
PortC_CONT_LSLIDER=65
PortC_CONT_RSLIDER=83
PortD_CONT_C=66
PortD_CONT_B=88
PortD_CONT_A=86
PortD_CONT_START=16
PortD_CONT_DPAD_UP=38
PortD_CONT_DPAD_DOWN=40
PortD_CONT_DPAD_LEFT=37
PortD_CONT_DPAD_RIGHT=39
PortD_CONT_Z=77
PortD_CONT_Y=90
PortD_CONT_X=67
PortD_CONT_DPAD2_UP=0
PortD_CONT_DPAD2_DOWN=0
PortD_CONT_DPAD2_LEFT=0
PortD_CONT_DPAD2_RIGHT=0
PortD_CONT_ANALOG_UP=73
PortD_CONT_ANALOG_DOWN=75
PortD_CONT_ANALOG_LEFT=74
PortD_CONT_ANALOG_RIGHT=76
PortD_CONT_LSLIDER=65
PortD_CONT_RSLIDER=83
local_port=0
server_addr=192.168.1.33
server_port=11122

[drkMaple]
VMU.Show=0
Mouse.Sensitivity=100
ShowVMU=0

[PuruPuru_Pad_1]
l_shoulder=-1
r_shoulder=-1
a_button=-1
b_button=-1
x_button=-1
y_button=-1
start_button=-1
dpad_up=-1
dpad_down=-1
dpad_left=-1
dpad_right=-1
main_x_left=-1
main_x_right=-1
main_y_up=-1
main_y_down=-1
halfpress=-1
deadzone=24
pakku_intensity=100
pakku_length=175
keyboard=0
joy_id=0
controllertype=0

[PuruPuru_Pad_2]
l_shoulder=-1
r_shoulder=-1
a_button=-1
b_button=-1
x_button=-1
y_button=-1
start_button=-1
dpad_up=-1
dpad_down=-1
dpad_left=-1
dpad_right=-1
main_x_left=-1
main_x_right=-1
main_y_up=-1
main_y_down=-1
halfpress=-1
deadzone=24
pakku_intensity=100
pakku_length=175
keyboard=0
joy_id=0
controllertype=0

[PuruPuru_Pad_3]
l_shoulder=-1
r_shoulder=-1
a_button=-1
b_button=-1
x_button=-1
y_button=-1
start_button=-1
dpad_up=-1
dpad_down=-1
dpad_left=-1
dpad_right=-1
main_x_left=-1
main_x_right=-1
main_y_up=-1
main_y_down=-1
halfpress=-1
deadzone=24
pakku_intensity=100
pakku_length=175
keyboard=0
joy_id=0
controllertype=0

[PuruPuru_Pad_4]
l_shoulder=-1
r_shoulder=-1
a_button=-1
b_button=-1
x_button=-1
y_button=-1
start_button=-1
dpad_up=-1
dpad_down=-1
dpad_left=-1
dpad_right=-1
main_x_left=-1
main_x_right=-1
main_y_up=-1
main_y_down=-1
halfpress=-1
deadzone=24
pakku_intensity=100
pakku_length=175
keyboard=0
joy_id=0
controllertype=0

[Xmaple]
Controller.DeadZone=25
PuruPuru.UseRealFrequency=1
PuruPuru.Length=175
PuruPuru.Intensity=100

Bobthwarts
03-05-2013, 09:30 AM
Using Tankstick as well.

Do you have to have a remapper like xpadder just to change ctrl, alt, and shift for NullDC as they want $10?

Do any other systems like Playstation have issues not recognizing the ctrl, alt, shift keys?

Couldn't I just reprogram the Tankstick's ctrl, alt, shift buttons using its mode programming to something else like h,j,k. and then program those into the nullDC? Granted i will need to change all my other systems buttons that use ctrl, alt, and shift just tired of learning more software and paying $10 bucks for xpadder .

mameshane
03-05-2013, 11:46 AM
Using Tankstick as well.

Do you have to have a remapper like xpadder just to change ctrl, alt, and shift for NullDC as they want $10?

Do any other systems like Playstation have issues not recognizing the ctrl, alt, shift keys?

Couldn't I just reprogram the Tankstick's ctrl, alt, shift buttons using its mode programming to something else like h,j,k. and then program those into the nullDC? Granted i will need to change all my other systems buttons that use ctrl, alt, and shift just tired of learning more software and paying $10 bucks for xpadder .

Xpadder would be no good for the tank stick anyway. Tankstick is not a gamepad/joystick (which is what xpadder is for). The tank stick using a keyboarder encoder similar to the ipac.

Option 1. use autohotkey for the remapping of those buttons.

Options 2. You could use the tank stick's built in programming feature. However it has been my experience (I have one) that when it loses power it sets back to the the first mode even if the switch is set in the second position. You then have to switch it manually back to the second mode again. Which is fine if you don't intend having the tank stick in a cab (I do).

For mapping in autohotkey do a search on the forums, there are a couple threads on this already. And look into using th key mapper profile feature of the current hyper launch 2.25c as then you only have to have the mapping different for the emulators that require it.

Bobthwarts
03-05-2013, 12:28 PM
Yeah i am using everythign as modules with ahk, but the only thread really is djvj adn of course its very vague and he describes both xpadder and ahk at teh same time and I cant figure out what goes where and bla blah blah.

I simply want to change my ctrl, alt, shift to "t,y,u", or whatever, globaly using ahk then I will change all my systems to match. Just cant find a way to do it on any of these threads as the info is all over the map. It must be simple.

It looks like I should, in Global Settings, have these settings:

keymapper_enabled=true
keymapper=ahk

and my remapping ahk should in the form of

lshift::t
lCtrl::y
lalt::u

but djvj says I should create an ahk file with my remapps but he doesn't say where i should place that or how i create it/name it. He started out in the very beginning about creating a Keymapper Profiles folder in the main Hyperspin but then he says (this can be changed in Settings.ini) and doesn't describe how. thats where i am lost.

mameshane
03-05-2013, 12:50 PM
read the first post of the hyperlaunch 2.25c thread it explains it.

hyperspin\keymapper profiles\system name\system name.ahk for individual systems
hyperspin\keymapper profiles\default.ahk

if u have them set up in the default.ahk that should do the trick

Bobthwarts
03-05-2013, 01:01 PM
trust me that is what I am reading it does not explain it in my mind. maybe it makes sense for someone who already know's it

You mention above as "...default.ahk". Do you mean "...default.txt" as I have no idea how to create a specific .ahk file

This is what I have done just for dreamcast only not global

HyperSpin\Keymapper Profiles\Sega Dreamcast\default.ahk

in default.ahk

lshift::t
lctrl::y
lalt::u

... BUT that "default.ahk" is what I named it.... as it just a .txt file created in notepad

In....HyperSpin\Settings\Sega Dreamcast:

keymapper_enable=true
keymapper=ahk

When I open HS and start game in dreamcast nothing happens, no errors, nothing. I double check on other systems and games start.

mameshane
03-05-2013, 01:29 PM
to create a ahk file. simply create a text file and change the .txt to a .ahk

the default.ahk only sits in the root folder \hyperspin\keymapper profiles\
if u want one just for dreamcast it has to be named

\hyperspin\keymapper profiles\sega dreamcast\sega dreamcast.ahk

Bobthwarts
03-05-2013, 02:12 PM
well i noticed that my dreamcast emulator folder wasn't named Sega Dreamcast which was never a problem before, but i changed that to match the ahk and now it launches a dreamcast game from HS, but nothing happens with the remapping. Remapped to "t,y,u" changed the config in NullDC to "tyu" where ctrl alt and shift used to be and nothing in the game when i press ctrl, alt or shift.

Do I still need a default.ahk in the main keymapper along with my sega dreamcast.ahk??? I only want remapping for dreamcast and not other systems.

It seems to me that it should be:

hyperspin\keymapper profiles\sega dreamcast\default.ahk

instead of:

hyperspin\keymapper profiles\sega dreamcast\sega dreamcast.ahk

so it applies to all games in dreamcast

Does the ahk have to be the same name as the dreamcast .exe or its emu folder name??


OH YEAH BTW after adding the ahk key mapper biz my dreamcast games open up with white borders on top and bottom now?????

mameshane
03-05-2013, 02:36 PM
the keymapper shouldn't make any difference to how your emulator is displayed.

as for the naming of the ahk files. you name them as per how you named your system. i was giving examples.

all I'm doing is explaining how its set up. and pretty much just repeating what is already found in the hyperlaunch guide. someone else might have to help as I'm at work now and there's not much more I can add without repeating myself.

Bobthwarts
03-05-2013, 03:15 PM
Yeah i was asking specificaly if you name the ahk matching the "nulldc..no trace".exe, without the exe of course, or after the "sega dreamcast" emulator folder.

Anyways the HL log says its launching hyperspin\keymapper profiles\sega dreamcast\sega dreamcast.ahk

but the remapped keys are not responding. Im sure there is a mundane step thats being over looked and trust me the BadBoyBill HL2 keymapping is poorly written and vague so i am tired of reading that garbage

If you are able when you get home I WOULD BE GREATLY APPRECIATIVE if you could look over your settings, including what you have in NullDC config, and share them with me.

Thx for the help

mameshane
03-05-2013, 03:27 PM
Yeah i was asking specificaly if you name the ahk matching the "nulldc..no trace".exe, without the exe of course, or after the "sega dreamcast" emulator folder.

Anyways the HL log says its launching hyperspin\keymapper profiles\sega dreamcast\sega dreamcast.ahk

but the remapped keys are not responding. Im sure there is a mundane step thats being over looked and trust me the BadBoyBill HL2 keymapping is poorly written and vague so i am tired of reading that garbage

If you are able when you get home I WOULD BE GREATLY APPRECIATIVE if you could look over your settings, including what you have in NullDC config, and share them with me.

Thx for the help

have you tested to make sure the mappings you have made work outside of hyperspin and hyperlaunch? try them in notepad and see if when you press your keys they are actually sending your new remapped keys

Bobthwarts
03-05-2013, 05:00 PM
well wasn't sure how to do that. so i just went to that dreamcast.ahk and clickd run script. its running and shift alt and ctrl are giving me tyu which is why you dont see me typing any caps.... now how do i turn that script off, haha

running nulldc outside hyper, with script running, shift clt alt work.

so something is amiss running hyperspin. also, with script running, i started hyper and still nothing

mameshane
03-05-2013, 05:19 PM
it will be running where the clock sits on your task bar. you can right click and exit it from there.

Bobthwarts
03-05-2013, 05:28 PM
running nulldc outside hyper, with script running, shift clt alt work.

so something is amiss running hyperspin. also, with script running, i started hyper and still nothing

mameshane
03-05-2013, 05:36 PM
running nulldc outside hyper, with script running, shift clt alt work.

so something is amiss running hyperspin. also, with script running, i started hyper and still nothing

outside of hyperspin if you run script and then open nulldc and load a game. does it register you remaps?

*edit* ignore this I miss read your post completely...

can u post a copy of your hyperlaunch.log file.

Bobthwarts
03-05-2013, 05:58 PM
not sure how much of that script you needed here is the top part...

[code]
09:18:07 PM | HyperLaunch v2.25c
09:18:07 PM | System Specs:
HyperSpin Dir: C:\HyperSpin
OS: WIN_7
OS Language: 0409
OS Admin Status: No
Monitor #1 (\\.\DISPLAY1): 1280x800 (1280x760 work)
HyperSpin Res: 960x550
AHK Version: 1.1.07.03
09:18:07 PM | HyperLaunch received "Sega Dreamcast" and "San Francisco Rush 2049 (USA)"
09:18:07 PM | INI Keys read
09:18:07 PM | Checking paths
09:18:07 PM | Finished injecting functions into module
09:18:07 PM | Module is built
09:18:07 PM | Hiding taskbar
09:18:08 PM | Hiding desktop
09:18:08 PM | Hiding mouse cursor
09:18:08 PM | Loading keymapper -> ahk
09:18:08 PM | Launching ahk and first profile found = C:\HyperSpin\Keymapper Profiles\Sega Dreamcast\Sega Dreamcast.ahk
09:18:08 PM | Running module:

mameshane
03-05-2013, 06:09 PM
ok. last suggestion is to cross reference your nulldc config file with the one that arjay posted earlier in this thread after he got it working. other then that I'm unsure.

good luck.

Bobthwarts
03-05-2013, 06:43 PM
yeah no go. I have tried countless config variations in NullDC, including arjay's, and nothing works. Ahhhhhhhh!!!!!
Just when I thought i had everything squared away.

BTW do you know of any other systems that aren't friendly to" alt, ctrl, shift"?? Just the majors as im not running any obscure systems.

Thx for all your help. Much appreciated

Bobthwarts
03-05-2013, 07:29 PM
OMG I finally see IT!!!!!! I have got my toggle_cursor=t in Settings.ini!!!!!! I was mapping "shift" to "t" which is the brake in Rush 2049 which is the key i kept testing. Changed the toggle to "p" and shift works. If i had just posted this or at least been testing a game that uses all three i would have noticed the "t" not working and saved myself countless hours. INCREDIBLE i knew it was something simple



Here are my ini's if you can give it all one last look.

Just to reiterate:
- HL log shows dreamcast.ahk launching, but remapped ctrl, alt, shift keys wont work from HS
- when running dreamcast.ahk remapped keys work when running NullDC alone outside of HS


Settings\settings.ini:

[HyperLaunch]
Last_System=Sega Dreamcast
Last_Rom=San Francisco Rush 2049 (USA)
Exit_Script_Key=~m & ~n
Exit_Emulator_Key=~6
Toggle_Cursor_Key=t
MultiGame_Key=NumpadSub
MultiGame_Select_Key=Enter
MultiGame_Exit_Key=Esc
Path_To_Daemontools=
Path_To_CPWizard=
Fade_In_Interrupt_Keys=anykey
Keymapper_Path=
Keymapper_Profiles_Path=C:\HyperSpin\Keymapper Profile


Settings\Global Settings.ini

[HyperLaunch]
Hide_Cursor=true
Fade_In=fakse
Fade_Out=false
Fade_Color=0x000000
Fade_In_Duration=500
Fade_Out_Duration=500
Fade_In_Delay=0
Keymapper_Enabled=false
Keymapper=
Hide_Desktop=true
Hide_Taskbar=true
CPWizard_Enabled=false
CPWizard_Delay=8000
CPWizard_Params=minimized -timeout 9000
7z_Enabled=false
7z_Extract_Dir=C:\Users\Merritt\AppData\Local\Temp \Hyperspin\
7z_Delete_Temp=true
MultiGame_Enabled=false
MultiGame_Background_Color=FF000000
MultiGame_Side_Padding=0.2
MultiGame_Y_Offset=500
MultiGame_Image_Adjust=1
MultiGame_Font=Arial
MultiGame_Text_1_Options=x10p y30p w80p Centre cBBFFFFFF r4 s100 Bold Italic
MultiGame_Text_1_Text=Please select a game
MultiGame_Text_2_Options=w96p cFFFFFFFF r4 s50 Center Bold Italic
MultiGame_Text_2_Offset=70
MultiGame_Use_Sound=true
MultiGame_Sound_Frequency=300
MultiGame_Exit_Effect=none
MultiGame_Selected_Effect=rotate
MultiGame_Use_Game_Art=false
MultiGame_Art_Folder=Artwork1


Settings\Sega Dreamcast.ini:

[exe info]
path=C:\HyperSpin\Emulators\Sega Dreamcast\
rompath=C:\HyperSpin\Emulators\RomFiles\Sega Dreamcast\
userompath=false
exe=nullDC_Win32_Release-NoTrace.exe
romextension=cdi
parameters=
searchsubfolders=false
pcgame=false
winstate=HIDDEN
hyperlaunch=true
Per_Game_Modules=false
Skipchecks=false
Hide_Cursor=use_global
Hide_Desktop=use_global
Hide_Taskbar=use_global
CPWizard_Enabled=use_global
CPWizard_Delay=use_global
CPWizard_Params=use_global
Fade_In=use_global
Fade_Out=use_global
Fade_Color=use_global
Fade_In_Duration=use_global
Fade_Out_Duration=use_global
Fade_In_Delay=use_global
7z_Enabled=use_global
7z_Extract_Dir=use_global
7z_Delete_Temp=use_global
Keymapper_Enabled=true
Keymapper=ahk
MultiGame_Enabled=use_global