PDA

View Full Version : New version of nullDC



warpig
05-14-2010, 01:50 PM
A new version of nullDC has been released and it emulates a Dreamcast beautifully when run on its own but only a black screen through Hyperspin, can anyone write a Autohotkey script to get it working please. The new version is available here


http://code.google.com/p/nulldc/downloads/list

chillinwater
05-15-2010, 12:48 PM
The official\original install of Hyperspin includes the script in Hyperlaunch already.
The new NullDC has a different executable name.

Verify the name and path to your new NullDC executable are correct in,
\Hyperspin\settings\sega dreamcast.ini

Also rename, (via editing Hyperlaunch.ahk with a text editor)
the executable line for "Sega Dreamcast" in the hyperlaunch script.

the old line,
else if (systemName = "Sega Dreamcast" && executable = "nullDC_100b1_6.exe")

to the new line,
else if (systemName = "Sega Dreamcast" && executable = "nullDC_Win32_Release-NoTrace.exe")

save after editing and recompile.

Look in the docs tab above on how to use autohotkey and recompiling if you dont know already.

warpig
05-16-2010, 09:47 PM
Thanks for the reply, unfortunately I already did that but it didn't work, you can hear the Dreamcast booting in the background but all you can see is a black screen, same thing happens if I try it with Maximus Arcade so I think it must be a problem with the new emulator.

kfchow
05-16-2010, 10:58 PM
on a side note how is the new nulldc compared to the old one?

azzbarb
05-17-2010, 01:53 AM
on a side note how is the new nulldc compared to the old one?

i don't know yet, i'm pulling my hair out trying to get it to work :(

warpig
05-17-2010, 02:41 AM
The new version is very good, speed is excellent and XBOX360 wireless controller works straight away - didn't even have to configure buttons. Now if I could only get it to work through Hyperspin...

stevedave
05-17-2010, 09:26 AM
I updated the autohotkey script and also the NullDC cfg and when launched from Hyperspin, it just goes to a full screen of the NullDC GUI and does nothing.

Has anyone got this working if so can you share your settings?

guyverjay
05-17-2010, 09:42 AM
I Use the same script as before just changed the name of the executable like chillinwater said and it works fine for me

stevedave
05-17-2010, 09:44 AM
could you provide your settings in the nulldc.cfg and the sega dreamcast.ini please?

guyverjay
05-17-2010, 09:53 AM
[exe info]
path=E:\Emulators\NullDC\
rompath=E:\Emulators\NullDC\Iso\
userompath=false
exe=nullDC_Win32_Release-NoTrace.exe
romextension=cdi,mds
parameters =
searchsubfolders = false
pcgame = false
winstate = HIDDEN
hyperlaunch=true

[themes]
themes_only = false
animate_out_default = false

[wheel]
alpha = .15
style=vertical
speed = high
vert_wheel_position = right
text_with_images = true
text_width = 700
text_font = Style2
small_text_width = 260
large_text_width = 400
text_stroke_size = 8
text_stroke_color=0x000000
text_color1=0x00BFFD
text_color2=0xFFFFFF
text_color3=0x00BFFD
color_ratio = 100
shadow_distance = 0
shadow_angle = 45
shadow_color=0x000000
shadow_alpha = 1
shadow_blur = 0

y_rotation=left
[pointer]
x = 965
y = 384

[video defaults]
path = E:\HyperSpin\Media\Sega Dreamcast\Video\
width = 465
height = 349
x = 284
y = 535
rotation = -360
animation_time = .5
animation_type = none
animation_start = none
border_color = 0x000000
border_size = 12
border_color2 = 0X000000
border_size2 = 0
border_color3 = 0X000000
border_size3 = 0
forceaspect = none
belowwheel = false

[sounds]
game_sounds = true
wheel_click = true

[navigation]
game_jump = 50
sort_by_name = false
remove_info_wheel = false
remove_info_text = false
use_parent_vids=true
use_parent_themes=true

last_game=18 Wheeler - American Pro Trucker v1.500 (2001)(Sega)(NTSC)(US)[!]
start_on_favorites=false
[artwork1 defaults]
x = 331
y = 299
rotation = 0
animation_time = .5
animation_type = bounce
animation_start = none
animation_rest = none

[artwork2 defaults]
x = 506
y = 677
rotation = 0
animation_time = .5
animation_type = ease
animation_start = left
animation_rest = none

[artwork3 defaults]
x = 755
y = 258
rotation = 8
animation_time = .5
animation_type = ease
animation_start = bottom
animation_rest = none

[Special Art A]
default = false
active = true
x = 512
y = 720
in = .4
out = .4
length = 3
delay = .1
type = normal
start = bottom

[Special Art B]
default = true
active = true
x = 512
y = 740
in = .4
out = .4
length = 3
delay = .1
type = fade
start = none

[Game Text]
game_text_active = true
show_year = true
show_manf = true
show_description = true
text_color1 = 0xffffff
text_color2 = 0x0099cc
stroke_color = 0x000000
text_font = Style1
text1_textsize = 26
text1_strokesize = 7
text1_x = 32
text1_y = 610
text2_textsize = 36
text2_strokesize = 8
text2_x = 30
text2_y = 640

[Genre Screen]
allgames_title = All Games
text_color = 0x000000
text_x = 150
text_y = 200
stroke_color = 0xffffff
stroke_size = 7
[filters]
wheels_only=true
parents_only=false



================================================== =======


;; nullDC config file;;
[nullDC]
Dynarec.Enabled=1
Dynarec.DoConstantPropagation=1
Dynarec.UnderclockFpu=0
Dreamcast.Cable=3
Dreamcast.RTC=1543277003
Dreamcast.Region=1
Dreamcast.Broadcast=0
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_0=G15_drkMapleDevices_Win32.dll:2
Current_maple0_1=G15_drkMapleDevices_Win32.dll:2
Current_maple0_2=NULL
Current_maple0_3=NULL
Current_maple0_4=NULL
Current_maple0_5=XMaple_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=XMaple_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

[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=0

[ImageReader]
PatchRegion=0
LoadDefaultImage=1
DefaultImage=defualt.gdi

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

[nullExtDev]
mode=0
adapter=0

[ndc_hookjoy]
PortA_CONT_C=66
PortA_CONT_B=88
PortA_CONT_A=86
PortA_CONT_START=16
PortA_CONT_DPAD_UP=38
PortA_CONT_DPAD_DOWN=40
PortA_CONT_DPAD_LEFT=37
PortA_CONT_DPAD_RIGHT=39
PortA_CONT_Z=77
PortA_CONT_Y=90
PortA_CONT_X=67
PortA_CONT_DPAD2_UP=0
PortA_CONT_DPAD2_DOWN=0
PortA_CONT_DPAD2_LEFT=0
PortA_CONT_DPAD2_RIGHT=0
PortA_CONT_ANALOG_UP=73
PortA_CONT_ANALOG_DOWN=75
PortA_CONT_ANALOG_LEFT=74
PortA_CONT_ANALOG_RIGHT=76
PortA_CONT_LSLIDER=65
PortA_CONT_RSLIDER=83
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

stevedave
05-17-2010, 10:03 AM
Eureka... Thank you Guy, for taking the time to provide that.

I can attest if your settings mirror Guy's you will not have any issues.

sosfx
05-17-2010, 10:06 AM
Thanks for the reply, unfortunately I already did that but it didn't work, you can hear the Dreamcast booting in the background but all you can see is a black screen, same thing happens if I try it with Maximus Arcade so I think it must be a problem with the new emulator.

Dude had the same issue you need to get the emu working outside of HS and then you will see the issue.
for me it was only getting as far as the dreamcast boot screen and then it was asking me to set the date and time ;).
once I set this and then save it and rebooted in HS the thing worked
that was my issue
hope it helps you out
latters

warpig
05-17-2010, 10:53 AM
Thanks everyone for your help, managed to get it going at last, set the date & time than matched my settings to Guyverjay's and away we go. Cheers lads

stevedave
05-17-2010, 11:14 AM
I have found a sporadic issue where I get a the black hyperlaunch screen but can hear the game start. but then it will go away and launch normal... very bizarre.

chillinwater
05-17-2010, 12:07 PM
stevedave,
if your using the sega dreamcast script with lines similar to below in your hyperlaunch:


Gui +AlwaysOnTop -Caption +ToolWindow
; No title, No taskbar icon
Gui Color, 0
;Color Black
Gui Show, x0 y0 h%A_ScreenHeight% w%A_ScreenWidth%,
;WinSet Transparent, 200, A
;Can be semi-transparent

then there should also be some lines similar to these below:
(further down in the sega dreamcast script)

Sleep, 8000
;Gives time for loading to finish before unhiding desktop
Gui Destroy
Some games take longer to load then others so with a fast loading game you might hear the game running before the blackscreen stops displaying which makes it seem "sporadic".

8000=8secs before the blackscreen goes away.
You can change it to 5000 or 10000 or whatever depending on your preferences.


Also you could add a line similar to this below in your sega dreamcast script before the "run" or "runwait" command.
Change the directory to yours.

IniRead, ScreenTimeout, c:\hyperspin\emulators\sega dreamcast\TimeOut.ini, %romname%, ScreenTimeout
;or
;IniRead, ScreenTimeout, %A_WorkingDir%\TimeOut.ini, %romname%, ScreenTimeout
Run, %executable%


;then further down the sega dreamcast script replace the
;sleep, 8000
;command with
sleep, %ScreenTimeout%
;Gives time for loading to finish before unhiding desktop
Gui Destroy


and create your own screen "Timeout" for each individual rom with the "user created" settings looking similar to this below
-save as:
[TimeOut.ini]-sample placed in your sega dreamcast emulator folder


[mvsc2]
ScreenTimeout=5000
[ggx]
ScreenTimeout=8000
[ggxx]
ScreenTimeout=10000
[ggxrl]
ScreenTimeout=2000

this allows you to configure the blackscreen timeout, tailored to each rom for the amount of time each rom takes to load.

MrFaust
05-17-2010, 04:56 PM
just curious, what is the be way to run nulldc with hyperspin and the tosec releases? Is it better to have each game in a directory of its own or can you turn their releases into an iso or cdi?

stevedave
05-18-2010, 08:54 PM
I tried using the sleep commands and after i changed them they worked fine but then 5 mins later load the same game, Mortal Kombat Gold and it just hangs at a black screen... Marvel vs. Capcom 2 loads fine after a 3-5 sec black screen. Woe is me :(

chillinwater
05-19-2010, 06:21 AM
Could you post you Sega Dreamcast [section] of the Hyperlaunch script?
It shouldnt be loading the same game if the "iniwrite" commands are working.

You can temporarily\permanently disable the black screen for trouble shooting MKG by adding ";" to the lines below, save\compile.
This allows you to see whats going on behind the scenes.
i.e.(is it the dreaded "black screen of death" or the black gui or a rom problem)
im guessing rom if other roms are ok.

or if you created the settings file try

[mkg] -change to your naming
ScreenTimeout=0 or .001

;Gui +AlwaysOnTop -Caption +ToolWindow
; No title, No taskbar icon
;Gui Color, 0
;Color Black
;Gui Show, x0 y0 h%A_ScreenHeight% w%A_ScreenWidth%,
;WinSet Transparent, 200, A
;Can be semi-transparent

stevedave
05-19-2010, 06:51 AM
thank you for helping with this.. and sorry to be hijacking your thread Warpig...

I am using the offical script in AHK... I see on your emulator thread alternate methods. I will try those..

stevedave
05-19-2010, 07:15 AM
using the offical script I think I have it figured out..

I disabled the winwait command and now when i load a game it instantly goes into NullDC, no black screen at all..

thanks for your help

ashurax
05-19-2010, 01:31 PM
after more test, always the same issue, as on my screenshot, :( No difference! Sniffff

DynamiteSJ
05-19-2010, 10:22 PM
My working script for NullDC 104:


;

*********************************SEGA DREAMCAST********************************

else if (systemName = "Sega Dreamcast")
{
if(executable = "nulldc.exe" ||executable = "nulldc" )
SetWorkingDir, %emuPath%
Hotkey, %exitEmulatorKey%, CloseProcess
rom = "%romPath%%romName%\%romName%%romExtension%"
SetBatchLines -1
IniWrite, 1, %A_WorkingDir%\nulldc.cfg, nullDC, Emulator.AutoStart
IniWrite, 1, %A_WorkingDir%\nulldc.cfg, nullDC, Emulator.NoConsole
IniWrite, 1, %A_WorkingDir%\nulldc.cfg, drkpvr, Fullscreen.Enabled
IniWrite, 800, %A_WorkingDir%\nulldc.cfg, drkpvr, Fullscreen.Res_X
IniWrite, 600, %A_WorkingDir%\nulldc.cfg, drkpvr, Fullscreen.Res_Y

IniWrite, %romPath%%romname%%RomExtension%, %A_WorkingDir%\nulldc.cfg, imagereader, defaultimage

Run, %executable%
Process, WaitClose, %executable%
WinActivate, HyperSpin
}

Rename the nulldc executable file to nulldc.exe.... also... the forum wraps the lines around so make sure you fix that.. i added a space in between what should be one line.

sosfx
05-22-2010, 06:43 AM
OK so I have nullDC working, the only issue I have is that the focus is wrong I have to move the mouse and click the game window ?
any ideas how to remedy this issue
thanks

oh and I have checked the hyperlaunch in hyperHQ and when I use my exit key in my case its Ctrl and 2 nothing happens I have to use Alt and F4 to exit ???

OnlyIsrael
05-22-2010, 08:52 AM
Got mine working but it only loads the default image and won't select any other games no matter which one from the wheel I select.
Any ideas? Here's my script/settings.

AHK
;*********************************SEGA DREAMCAST********************************

else if (systemName = "Sega Dreamcast" && executable = "nullDC.exe")
{
hideDesktop()
Hotkey, %exitEmulatorKey%, CloseProcess
Run, %Executable% -config ImageReaderDefaultImage="%romPath%%romName%%romExtension%", %EmuPath%,Hide UseErrorLevel
Sleep,1000
WinShow, ahk_class ndc_main_window
Process, WaitClose, %Executable%
}

.CFG
;; nullDC config file;;
[nullDC]
Dynarec.Enabled=1
Dynarec.DoConstantPropagation=1
Dynarec.UnderclockFpu=0
Dreamcast.Cable=3
Dreamcast.RTC=1905504569
Dreamcast.Region=1
Dreamcast.Broadcast=0
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_0=G15_drkMapleDevices_Win32.dll:2
Current_maple0_1=G15_drkMapleDevices_Win32.dll:2
Current_maple0_2=NULL
Current_maple0_3=NULL
Current_maple0_4=NULL
Current_maple0_5=XMaple_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=NULL
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

[drkpvr]
Emulation.AlphaSortMode=2
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=0
Fullscreen.Enabled=1
Fullscreen.Res_X=800
Fullscreen.Res_Y=600

[ImageReader]
PatchRegion=0
LoadDefaultImage=1
DefaultImage=L:\Hyperspin\Emulators\Sega Dreamcast\Roms\Sonic Adventure 2 (U).cdi
LastImage=L:\Hyperspin\Emulators\Sega Dreamcast\Roms\4 Wheel Thunder (U).cdi

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

[nullExtDev]
mode=0
adapter=0

INI
[exe info]
path=C:\HyperSpin\Emulators\Sega Dreamcast\
rompath=L:\Hyperspin\Emulators\Sega Dreamcast\Roms\
userompath=false
exe=nullDC.exe
romextension=cdi,img,gdi
parameters=
searchsubfolders=false
pcgame=false
winstate=HIDDEN
hyperlaunch=true

Any help would be much appreciated.

sosfx
05-22-2010, 11:25 AM
This could be the issue DefaultImage=L:\Hyperspin\Emulators\Sega Dreamcast\Roms\Sonic Adventure 2 (U).cdi

it should be something like

ImageReader]
PatchRegion=0
LoadDefaultImage=1
DefaultImage=defualt.gdi
LastImage=c:\game.gdi

I am not at home ATM but will check when I get home and post mine
sosfx

OnlyIsrael
05-22-2010, 12:10 PM
This could be the issue DefaultImage=L:\Hyperspin\Emulators\Sega Dreamcast\Roms\Sonic Adventure 2 (U).cdi

it should be something like

ImageReader]
PatchRegion=0
LoadDefaultImage=1
DefaultImage=defualt.gdi
LastImage=c:\game.gdi

I am not at home ATM but will check when I get home and post mine
sosfx

Ill wait to hear from you then. Much appreciated

Kodiak
05-22-2010, 01:52 PM
Doesn't AHK have a function to grab a window by title or class and set its z-index to on-top?

If not maybe you guys should look into using AI instead.

sosfx
05-22-2010, 03:13 PM
there you go I have attached my nullDC.cfg I had to change the extension from .cfg to .txt for the upload try this and see if this sorts it out
BTW
I had a look at mine and found this
DefaultImage=defualt.gdi
LastImage=c:\game.gdi

there is no files at these links (c:\game.gdi,defualt.gdi) I think they are just kinda like placment file names or something.
let me know how you get on :)

OnlyIsrael
06-02-2010, 03:21 PM
there you go I have attached my nullDC.cfg I had to change the extension from .cfg to .txt for the upload try this and see if this sorts it out
BTW
I had a look at mine and found this
DefaultImage=defualt.gdi
LastImage=c:\game.gdi

there is no files at these links (c:\game.gdi,defualt.gdi) I think they are just kinda like placment file names or something.
let me know how you get on :)

It's a no go with this one as well. I either have to turn off autoload and manually select the game or when it's on it only loads the default image. Any other suggestions from the guru's?

Here's my current, partially working script, I just can't seem to get it to load another image in place of the default

;*********************************SEGA DREAMCAST********************************

else if (systemName = "Sega Dreamcast" && executable = "nullDC.exe")
{
hideDesktop()
Hotkey, %exitEmulatorKey%, CloseProcess
Run, %Executable% -config ImageReaderDefaultImage="%romPath%%romName%%romExtension%", %EmuPath%,Hide UseErrorLevel
Sleep,500
WinShow, ahk_class ndc_main_window
winActivate, Ahk_class ndc_Main_window
Process, WaitClose, nullDC.exe
}

killars
06-02-2010, 03:29 PM
path=C:\HyperSpin\Emulators\Sega Dreamcast\
rompath=L:\Hyperspin\Emulators\Sega Dreamcast\Roms\
userompath=false
exe=nullDC.exe
romextension=cdi,img,gdi
parameters=
searchsubfolders=false
pcgame=false
winstate=HIDDEN
hyperlaunch=true

Any help would be much appreciated.

Try these settings...everything else looks fine.

[exe info]

userompath = true
exe = nullDC_100b1_6.exe
romextension = cdi
parameters = -config ImageReader:DefaultImage=E:\HyperSpin\Emulators\nu llDC_106\roms\Marvel VS Capcom 2.cdi


from what i can see you only need to change the use rompath and your parameters.

Unsure also if it was a mistake or what but i noticed you dont have a : in your ahk where you should have. (see example below - itll show as smiley face lol) make sure that if you use the below script that you fix the space in between romEx-tension.......make sure it reads romExtension.

*********************************SEGA DREAMCAST********************************

else if (systemName = "Sega Dreamcast" && executable = "nullDC_100b1_6.exe")
{
hideDesktop()
Hotkey, %exitEmulatorKey%, CloseProcess
Run, %Executable% -config ImageReader:DefaultImage="%romPath%%romName%%romExtension%", %EmuPath%,Hide UseErrorLevel
WinWait, nullDC
Sleep,1000
WinShow, ahk_class ndc_main_window
winActivate, Ahk_class ndc_Main_window
Process, WaitClose, nullDC_100b1_6.exe
}

OnlyIsrael
06-02-2010, 03:45 PM
It was the DAMN ":" that was the ****ing problem. Thank you so very much! That just made my day killars, now I might be able to get some sleep without that damned script looming over me like a dark cloud. Thanks again
Cheers

killars
06-02-2010, 03:51 PM
Your very welcome. Have fun :D

Truc
06-07-2010, 09:21 AM
Hey guys,
Is it the same issue for the Naomi Version ??

Jochitko
06-09-2010, 07:00 AM
Hi guys, thanks to this thread I have gotten the new nullDC to almost work, but I have 3 issues:

1) I get this message when I try to start a game... how do I get rid of it?
http://img156.imageshack.us/img156/2091/namnlsa.png

2) When nullDC starts it starts behind the start menu and isn't focused... I have to manually click it with the mouse :( Any ideas?
http://img715.imageshack.us/img715/8025/namnls1.png

3) How do I configure the controlls in the new nullDC so they actually save? I have Xpadder (from the cfg taken in this thread) but I want a normal controller mapped to the keyboard. I can't map the xpadder that DC always starts with. I can upnlugg it and choose a controller plugin (to kbd) and map it and it works. But that disappears when I restart nullDC :( Please help me, I must be missing something abvious :(

Thanks in advance guys!!!

wy0453
06-12-2010, 11:41 PM
Thanks for the info, I appreciate it.

xmod
06-17-2010, 12:51 AM
hello all,

been reading for 3 days now trying to get this going.
Started with not wanting to boot at all to always loading the default image to error loading default image, ect...!

There is now so much info, not sure which one to use! lol

I stumbled on this thread today and found out there was a new emu, and that peeps were saying that by using "guyverjay" settings all would work. So i got the new one, installed visual 2010 distributable files and almost got excited until this,
"nullDC_Win32_Release-NoTrace.exe has encountered a problem and needs to close"

that was it for me, any idea where this comes from?

really appreciate anyones time.

xmod

EDIT : got it working, was my directx not updated.

burntcircuit
06-17-2010, 12:42 PM
what is the best way to use a 360 controller now on null dc 1.04?

MrFaust
06-17-2010, 07:53 PM
what is the best way to use a 360 controller now on null dc 1.04?

I use the PuruPuru input plugin to map my buttons for my x360 controller. Works quite well.

I am still trying to get my ahk script to extract a game from a zip to a specified directory and then to load the .gdi inside that directory with the rom name I have selected from the database. I'm using the TOSEC releases. Course I guess once I get this part done, it will help to understand how to do it for all the cd based systems, other than having daemontools mount those images. Anyone able to point me in the right direction here?

burntcircuit
06-18-2010, 03:17 PM
forgive me but what is the PuruPuru input plugin and where can i find documentation on it?

MrFaust
06-18-2010, 06:20 PM
PuruPuru plugin comes with NullDC. To to options, select plugins. In the new window go to the section called Maple (Input/Saves) Plugins and the first drop down select PuruPuru input plugin v0.1. And click ok. Now click options again, Click Maple, Port A, Configure keys. The PuruPuru plugin screen will open. In the drop down select Controller (XBOX 360 for Windows) and then you can configure the controller.

http://img202.imageshack.us/img202/3936/purupuru.jpg

Sibbs
07-11-2010, 07:55 AM
Nevermind, I'm good.

bajaresident
07-17-2010, 03:48 PM
Hi guys, thanks to this thread I have gotten the new nullDC to almost work, but I have 3 issues:

1) I get this message when I try to start a game... how do I get rid of it?
http://img156.imageshack.us/img156/2091/namnlsa.png

2) When nullDC starts it starts behind the start menu and isn't focused... I have to manually click it with the mouse :( Any ideas?
http://img715.imageshack.us/img715/8025/namnls1.png

3) How do I configure the controlls in the new nullDC so they actually save? I have Xpadder (from the cfg taken in this thread) but I want a normal controller mapped to the keyboard. I can't map the xpadder that DC always starts with. I can upnlugg it and choose a controller plugin (to kbd) and map it and it works. But that disappears when I restart nullDC :( Please help me, I must be missing something abvious :(

Thanks in advance guys!!!

Did you ever come up with a solution to this? I am having a similar problem where nullDC isn't focused on launch.

donnei1979
07-21-2010, 03:22 PM
Need some help guys, ive tried everything in this forum but maybe i forgot something, Nulldc is running in hyperspin but i keep getting the blackscreen, hear the bootsound and hear the game but still a blackscreen.
when i open up task manager HS,Nulldc,Hyperlaunch are there, but when i quit hyperlaunch its still in my taskmanager and null dc is running but cant find it on my desktop

this is my AHK i at first nulldc was working in hyperspin with this script, but the second time it did the blackscreen again.

i know its a mess but i combineng some thing :D


;*********************************SEGA DREAMCAST********************************

else if (systemName = "Sega Dreamcast" && executable = "nullDC_Win32_Release-NoTrace.exe")
{
hideDesktop()
Hotkey, %exitEmulatorKey%, CloseProcess
Run, %Executable% -config nulldc:Emulator.AutoStart=1 -config ImageReader:DefaultImage="%romPath%%romName%%romExtension%" -config ImageReader:loadDefaultImage=1 -config drkpvr:Fullscreen.Enabled=1, %EmuPath%, Hide UseErrorLevel
WinWait, nullDC
Sleep,500
WinShow, ahk_class ndc_main_window
Process, WaitClose, nullDC_Win32_Release-NoTrace.exe


its not funny anymore now, i have been trying this for 4 days

chillinwater
07-21-2010, 04:59 PM
Theres a couple working scripts in this thread:
Hyperlaunch for the new NullDC? (http://www.hyperspin-fe.com/forum/showthread.php?t=8455)
and maybe some tips if they dont work straight away for ya.

They were made when NullDc stopped being officially supported by the programmer. If I remember right they also worked (for me) with the newest release, nulldc 104 r22.

also, I'm sure its just a typo, but in the script you posted, there is nothing below the "process waitclose" command. (specifically no closing bracket "}" )
Is that what your script really looks like?

The first script in the link above on post #7 is similar to your posted script.
To make your script work, You could remove these command lines and just type that "1" into your nullDC.cfg file in the correct locations to keep your script clean and less complicated.
also,
Remove the red
and
Add the closing bracket

The second script in the link above on post #7 removes or handles your command line arguments a different way.

save\compile


;*********************************SEGA DREAMCAST********************************

else if (systemName = "Sega Dreamcast" && executable = "nullDC_Win32_Release-NoTrace.exe")
{
hideDesktop()
Hotkey, %exitEmulatorKey%, CloseProcess
Run, %Executable% -config nulldc:Emulator.AutoStart=1 -config ImageReader:defaultImage="%romPath%%romName%%romEx(remove space here)tension%" -config ImageReader:loadDefaultImage=1 -config drkpvr:Fullscreen.Enabled=1, %EmuPath%, Hide UseErrorLevel
WinWait, nullDC
Sleep, 500
WinShow, ahk_class ndc_main_window
Process, WaitClose, nullDC_Win32_Release-NoTrace.exe
}

galvitron
07-25-2010, 04:06 PM
Sheesh! Finally got 104 r50 of nullDC working with AHK. Here is my script. Some of it may be redundant...

Before this will work, some things need to be set in nullDC's config:

LoadDefaultImage=1
Set the resolution settings and manu auto hide as desired.
Set fullscreen to 1.




;*********************************SEGA DREAMCAST********************************
else if (systemName = "Sega Dreamcast" && executable = "nullDC_Win32_Release-NoTrace.exe" )
{
hideDesktop()
SetWorkingDir, %emuPath%
Hotkey, %exitEmulatorKey%, CloseProcess


IniWrite, %romPath%%romname%%RomExtension%, D:\Emulators\Sega Dreamcast\nullDC_104_r50\nulldc.cfg, imagereader, defaultimage
Run, %executable%
Sleep, 500
WinShow, ahk_class ndc_main_window

WinActivate, nullDC v1.0.4 (built Jun 20 2010@01:32:06)

Process, WaitClose, nullDC_Win32_Release-NoTrace.exe
WinActivate, HyperSpin
exitapp
}


EDIT: Forgot to mention, the hardcoded path to D:\Emulators\etc... will need to be changed for your particular system.

This script has been confirmed as working by one other user already.

boogies2
08-18-2010, 07:48 PM
Thanks Galvatron!
I spent quite a few hours with a so lose, but so far feeling....
Your script got me there!!!!!!!

I added a littlte bit of the iniwrite to help me, and maybe someone else too....

;*********************************SEGA DREAMCAST********************************

else if (systemName = "Sega Dreamcast")
{

hideDesktop()
SetWorkingDir, %emuPath%
Hotkey, %exitEmulatorKey%, CloseProcess


IniWrite, %romPath%%romname%%RomExtension%, G:\NullDC\104\nulldc.cfg, imagereader, defaultimage
IniWrite, 1, G:\NullDC\104\nulldc.cfg, imagereader, LoadDefaultImage
IniWrite, 1, G:\NullDC\104\nulldc.cfg, nullDC, Emulator.AutoStart
IniWrite, 1, G:\NullDC\104\nulldc.cfg, nullDC_GUI, Fullscreen

Run, %executable%

Sleep, 500
WinShow, ahk_class ndc_main_window

WinActivate, nullDC v1.0.4 (built Jun 20 2010@01:32:06)

Process, WaitClose, nullDC_Win32_Release-NoTrace.exe
WinActivate, HyperSpin
exitapp

}

galvitron
08-18-2010, 10:05 PM
Thanks Galvatron!
I spent quite a few hours with a so lose, but so far feeling....
Your script got me there!!!!!!!

I added a littlte bit of the iniwrite to help me, and maybe someone else too....


Glad to help. Your script looks even better, with the ini stuff. :five:

Anyone using that script needs to keep three things in mind:

1. It will only work for nullDC 1.0.4 r50

2. config path needs to be set to your nullDC's .cfg file path in all four iniWrite statements

3. Set your resolution in nullDC outside of Hyperspin

To make it work with other builds, the window and process names need to be set to that version's appropriate values.

ManOrMonster
09-04-2010, 08:00 AM
No matter what I do, I keep getting "Sega Dreamcast is an invalid System Name or nullDC_Win32_Release-NoTrace.exe isnt supported yet". I don't understand what I could be doing wrong.

chillinwater
09-04-2010, 08:18 AM
Your either not compiling the Hyperlaunch.ahk
or your settings in HyperHQ are not correct.

If editing manually the file is located here:
\Hyperspin\settings\Sega Dreamcast.ini

ManOrMonster
09-04-2010, 09:30 AM
Didn't realize I couldn't just edit it in Notepad++...

So I downloaded Autohotkey, right clicked on "HyperLaunch.ahk", clicked "Compile", but didn't get any feedback on whether it compiled or not. I still get the same error when trying to launch a game.

chillinwater
09-04-2010, 11:06 AM
There is no official confirmation.
You could watch the icon of Hyperlaunch.exe flicker briefly when you compile it but thats about it.

-(sorry have to ask)-Did you save in notepad++ after editing and then compile?
If so,
Your settings may still be out of whack.
(nulldc.exe's in the settings and Hyperlaunch.ahk have to match) i.e.

Versions could be:
nullDC_Win32_Release-NoTrace.exe
or
nullDc.exe
or others

for whatever version you have, (example only).
-in settings "nullDC_Win32_Release-NoTrace.exe"
-in Hyperlaunch.ahk "nullDC_Win32_Release-NoTrace.exe"
(no quotes)

ManOrMonster
09-04-2010, 02:12 PM
Never mind, I figured it out. My exe was named "nullDC_Win32_Release-NoTrace.exe.exe". Durp!

jradams76
09-25-2010, 06:10 AM
Just wanted to say thanks to Galvitron and Boogies2. The script worked like a charm!

PlayingKarrde
10-08-2010, 12:17 AM
I'm getting to the end of my tether on this one.

I have the problem others have had with HS keeping (functional) focus while nullDC runs. It's driving me crazy. I've tried all the different variations of the script posted around the forum but none seem to be helping. Can anyone help me out? I'm using Galvitron's right now



;*********************************SEGA DREAMCAST********************************

else if (systemName = "Sega Dreamcast" && executable = "nullDC_Win32_Release-NoTrace.exe" )
{
hideDesktop()
SetWorkingDir, %emuPath%
Hotkey, %exitEmulatorKey%, CloseProcess


IniWrite, %romPath%%romname%%RomExtension%, %A_WorkingDir%\nulldc.cfg, imagereader, defaultimage
Run, %executable%
Sleep, 500
WinShow, ahk_class ndc_main_window

WinActivate, nullDC v1.0.4 (built Jun 20 2010@01:32:06)

Process, WaitClose, nullDC_Win32_Release-NoTrace.exe
WinActivate, HyperSpin
exitapp
}

The WinActivate just doesn't appear to be working I guess? It's definitely the correct build of nullDC as I had gone through the same process while trying to modify a different script. I do notice that at the same time nullDC is running there is also a VMU window open in the background, but I've no idea if this is doing anything.

I feel like I'm almost there only to hit a glass ceiling. Please someone help :dontknow:

PlayingKarrde
10-08-2010, 12:31 AM
OK after realising that this only happens when I mash on the buttons I managed to track down the two buttons that appear to be giving HS back it's focus, but I can't for the life of my figure out why.

If I hold Q and press S then somehow I'm back with HS focused. Does anyone know anything about this?

galvitron
10-08-2010, 06:21 PM
I'm getting to the end of my tether on this one.

I have the problem others have had with HS keeping (functional) focus while nullDC runs. It's driving me crazy. I've tried all the different variations of the script posted around the forum but none seem to be helping. Can anyone help me out? I'm using Galvitron's right now



;*********************************SEGA DREAMCAST********************************

else if (systemName = "Sega Dreamcast" && executable = "nullDC_Win32_Release-NoTrace.exe" )
{
hideDesktop()
SetWorkingDir, %emuPath%
Hotkey, %exitEmulatorKey%, CloseProcess


IniWrite, %romPath%%romname%%RomExtension%, %A_WorkingDir%\nulldc.cfg, imagereader, defaultimage
Run, %executable%
Sleep, 500
WinShow, ahk_class ndc_main_window

WinActivate, nullDC v1.0.4 (built Jun 20 2010@01:32:06)

Process, WaitClose, nullDC_Win32_Release-NoTrace.exe
WinActivate, HyperSpin
exitapp
}

The WinActivate just doesn't appear to be working I guess? It's definitely the correct build of nullDC as I had gone through the same process while trying to modify a different script. I do notice that at the same time nullDC is running there is also a VMU window open in the background, but I've no idea if this is doing anything.

I feel like I'm almost there only to hit a glass ceiling. Please someone help :dontknow:

A couple things:

1. You can disable the VMU window in nullDC. See if this helps.
2. Which version of nullDC are you using? The reason I ask is that the WinActivate command has to match the window title exactly, and different builds will be different. You can check the Title of the window outside of hyperspin and see if it matches "nullDC v1.0.4 (built Jun 20 2010@01:32:06)"

PlayingKarrde
10-09-2010, 09:48 AM
I'm definitely using the same version. I have changed my binding of keys in my JPAC so that Q isn't used anymore. Not exactly the most elegant solution but it works.

paddyboy
10-11-2010, 03:12 PM
don't know if this will help anyone now ?? but i had the same issues and found that you should not try to change any nulldc settings when in hyperspin ,your cfg defaults but also to get your emu working you should first set it up outside hyperspin by doing this ...

run nulldc ,if it auto loads a game that will mean it has already been setup to run under hyperspin in that case you won't be able to get into the bios menu to add and format your vmu's so you would choose to load a new iso but then choose no disc in the window that appears ,then you will get into the bios ,if you try dc reset/4 buttons+start nulldc will always crash so thats why you need to do the nodisc option ,then go into plugins and add 4 controllers and 7 vmu units (do this in the plugins window not in the drop down tabs in nulldc ,then your vmu's appear ,choose to format them all and once you are done just click file exit/close.

from there on load games up in hyperspin and if you need to make changes to nulldc settings do it outside hyperspin (don't mess with the auto iso loading as you will notice nulldc will always load up the last iso/game played ,just change your settings and exit out the emu with file/exit.

WaneTango
10-19-2010, 10:10 PM
Just like some of the other users in this thread I have had a seriously difficult time with this emu in particular.

I started with nullDC_100b1 and could not get it working, then moved on to nullDC_104_r50. I also tried NAOMI. After reading non stop threads for several days about all of these builds and installing the latest C++ and the latest direct X I realized that version 104 was much closer to working but would not actually load a game. I can only see the main menu with the nullDC logo on it. If I try to do anything outside of change plugins then the nullDC crashes.

I went back to the 100 build and realized that it is almost working. I can load a game in it but it is very sketchy, and the sound is terrible.

When i try to launch 100 in HS it just says that it is invalid system name or it is not supported yet.

I have tried all of the ini settings that has been posted on here and all of the different cfg settings that has been listed and none has been able to fix the problem.

Also with the 100 build I have to use xpadder so i can use my xbox controller with the games, and I'm afraid that it will cause issues when switched between games or systems in HS.

I don't know if this makes a difference but i am running vista x86.

Let me know if anyone has any bright ideas about this or needs more info about my set up.

galvitron
10-20-2010, 07:57 PM
When i try to launch 100 in HS it just says that it is invalid system name or it is not supported yet.


Sounds like you need to recompile your ahk. All of the changes to the ahk script imply that a recompile is needed.

WaneTango
10-22-2010, 03:36 AM
I guess I should say that I'm somewhat new to emu, and code for that matter. So just so I know for a fact that i am doing this up to par.

When I go into the ahk file and make the changes (I think i have been using notepad) all I have to is save and the changes should take effect. Is that correct is is there another set, or is there a better/safer way of doing this?

Thanks for the reply galvitron!

BadBoyBill
10-22-2010, 07:14 AM
check out video tutorial in the docs section on how to properly use the ahk files. But basically you need to download autohotkey, theres on more step after you save the file and that is recompile it back to an exe, but thats super easy, 1 click and your done. HS uses the exe file, the ahk file is just for editing and is never ran by HS.

Hallis
11-24-2010, 06:36 PM
I've been pouring over the threads and have made baby-steps of progress. My current state is that I can load roms fine in NullDC and when i load up in HS the program loads full screen with proper focus but will not auto-load a rom. If i go to the file menu and Load Normal and select a rom it opens fine and i can play. And then exit back to HS.

AHK




;*********************************SEGA DREAMCAST********************************


else if (systemName = "Sega Dreamcast" && executable = "nullDC_Win32_Release-NoTrace.exe")
{
hideDesktop()
SetWorkingDir, %emuPath%
Hotkey, %exitEmulatorKey%, CloseProcess


IniWrite, %romPath%%romname%%RomExtension%, C:\Hyperspin\Emulators\Dreamcast\nulldc.cfg, imagereader, defaultimage
Run, %executable%
Sleep, 500
WinShow, ahk_class ndc_main_window

WinActivate, nullDC v1.0.4 (built Jun 20 2010@01:32:06)

Process, WaitClose, nullDC_Win32_Release-NoTrace.exe
WinActivate, HyperSpin
exitapp
}

dreamcast config



[exe info]
path=c:\hyperspin\emulators\dreamcast\
rompath=c:\hyperspin\emulators\romfiles\dreamcast\
userompath=true
exe=nullDC_Win32_Release-NoTrace.exe
romextension=cdi,mds
parameters = -config ImageReadDerefaultImage=C:\HyperSpin\Emulators\Rom files\Dreamcast\Aqua GT.cdi
searchsubfolders = false
pcgame = false
winstate = HIDDEN
hyperlaunch=true


[filters]
parents_only=false
themes_only=false
wheels_only=false

[themes]
use_parent_vids=true
use_parent_themes=false
animate_out_default=false
reload_backgrounds=false

[wheel]
alpha=.15
small_alpha = 1
style=normal
speed=high
pin_center_width=500
horz_wheel_y=512
vert_wheel_position=right
y_rotation=center
norm_large=360
norm_small=230
vert_large=400
vert_small=240
pin_large=500
pin_small=200
horz_large=240
horz_small=150
letter_wheel_x=800
letter_wheel_y=384
text_width=700
text_font=Style4
small_text_width=260
large_text_width=400
text_stroke_size=6
text_stroke_color=0x000000
text_color1=0x00BFFD
text_color2=0xFFFFFF
text_color3=0x00BFFD
color_ratio=139
shadow_distance=0
shadow_angle=45
shadow_color=0x000000
shadow_alpha=1
shadow_blur=0

[pointer]
animated=true
x=975
y=384

[video defaults]
path=C:\HyperSpin\Media\Sega Dreamcast\Video\

[sounds]
game_sounds=true
wheel_click=true

[navigation]
game_jump=50
use_indexes=false
jump_timer=400
remove_info_wheel=false
remove_info_text=false
use_last_game=false
last_game=Marvel vs. Capcom - Clash of Super Heroes v1.000 (1999)(Capcom)(NTSC)(US)[!]
random_game=false

[Special Art A]
default=false
active=true
x=512
y=720
in=0.4
out=0.4
length=3
delay=0
type=normal
start=bottom

[Special Art B]
default=true
active=true
x=512
y=740
in=0.4
out=0.4
length=3
delay=0
type=fade
start=none

[Special Art C]
active=true
x=512
y=384
in=0
out=0
length=3
delay=10
type=fade
start=none

[Game Text]
game_text_active=true
show_year=true
show_manf=true
show_description=true
text_color1=0xffffff
text_color2=0x0099cc
stroke_color=0x000000
text_font=Style1
text1_textsize=26
text1_strokesize=7
text1_x=32
text1_y=610
text2_textsize=36
text2_strokesize=8
text2_x=30
text2_y=640



It's probably a small step im missing. But I've gotten this far by trial and error with other people's configs. There's just got to be one last little step im missing.

blackielee13
11-29-2010, 04:16 AM
i was having the same problem. all i needed to do was open the nulldc config file and set autostart and no console to =1.
once i did that everything works perfect.


dont forget to save the config file after you alter it.

Hallis
11-29-2010, 07:17 AM
i was having the same problem. all i needed to do was open the nulldc config file and set autostart and no console to =1.
once i did that everything works perfect.


dont forget to save the config file after you alter it.

And we have a winner!. That's got me up and running. :) now i can start renaming the roms to match the XML.

blackielee13
11-30-2010, 04:24 AM
glad i could help!

donnei1979
12-08-2010, 03:32 PM
i was having the same problem. all i needed to do was open the nulldc config file and set autostart and no console to =1.
once i did that everything works perfect.


dont forget to save the config file after you alter it.

thanks that worked 1 question though, how do i set a blacksrceen for say like 3 seconds in Hyperlaunch, ive read it somewhere but dont remember which thread

else if (systemName = "Sega Dreamcast" && executable = "nullDC_Win32_Release-NoTrace.exe")
{
hideDesktop()
SetWorkingDir, %emuPath%
Hotkey, %exitEmulatorKey%, CloseProcess


IniWrite, %romPath%%romname%%RomExtension%, D:\Hyperspin\Emulators\Sega Dreamcast\nulldc.cfg, imagereader, defaultimage
Run, %executable%
Sleep, 5000
WinShow, ahk_class ndc_main_window

WinActivate, nullDC v1.0.4 (built Jun 20 2010@01:32:06)

Process, WaitClose, nullDC_Win32_Release-NoTrace.exe
WinActivate, HyperSpin
exitapp
}

FunkyBoss
12-31-2010, 09:29 AM
Using the new HyperLaunch 2.0, and the Sega Dreamcast module supplied by BBB, everything is working great now. Thanks!

One question I have though, before I venture out and try this on my own, is does anybody have HyperLaunch code that will unzip a ROM before running it. I ask because I chose to use the GDI files for NullDC Dreamcast emulation because they are the exact disc images. Because of that, each one is roughly 1.1GB large when they are unzipped (which appears how nullDC needs it). But when zipped, many compress up 50% or better. So I was thinking of storing them on my drive as compressed zipped files (how I have them now), and having HyperLaunch unzip them dynamically at launch time. Then deleting the unzipped GDI folder after the emulator exits. I know it'll add a few seconds when launching, but I think it might be worth it for the space savings.