PDA

View Full Version : nullDC v1.0.0.0 public beta 1 released!



quzar
April 1st, 2007, 17:41
drkIIRaziel (http://forums.ngemu.com/nulldc-forum/87533-nulldc-v1-0-0-public-beta-1-a.html) has released the first public release of his Dreamcast Emulator for Windows thats now being talked about as the best Dreamcast Emulator so far:


nullDC v1.0.0 BETA User Manual
------------------------------

1. What is it?
--------------

nullDC is a plugin based Dreamcast emulator for x86 based computers running Windows Operating Systems.

2. Recomended System Requirements:
----------------------------------

- CPU: AMD Athlon XP/64/Turion at 2GHz or Intel Pentium 4 at 2.6GHz or equivalent.
- Video Card: Nvidia GeForce 4 TI or ATi Radeon 8500.
- RAM: 512MB
- Operating System: Windows 2000/XP/2003
- December Redistributable of DirectX 9c

The above requirements are considered as the absolute minimum in order to run the emulator as it was
intended to run. The emulator might be able to run on systems that do not meet these requirements
but with issues (like slow speed, GFX errors or Sound errors).

Notes:

- Some games have higher requirements than the rest and have speed issues even on systems that meet
the recomended requirements. In that case a faster CPU is necessary to reach full speed.

- Pentium 4 CPUs perform some tasks slower than other CPUs, thus the clock speed of 2.6GHz is needed.
On the other hand, Pentium M CPUs perform the same tasks much faster
(A Pentium M 750 at 1.86GHz should be enough to reach full speed).
Intel Celeron and AMD Duron (and probably Sempron) CPUs are slow and it's expected to perform worse than the rest

- Nvidia Geforce 4 MX video cards are worse than the TI series and they do not meet the minimum requirements.

- DirectX 9c has many redistributables. It's common to have an older version installed that misses certain necessary
files.
Be sure to download and install the December redistributable or the default graphics plugin will fail to Load.

- nullDC will run on Windows Vista. However, hardware requirements will be a little higher than the ones mentioned
above and there will probably be sound related issues (as with many other applications running on Vista).

3. Preperations/Other Requirements
----------------------------------

Before running the emulator make sure that you have the necessary Dreamcast BIOS and Flash files dumped from your
Dreamcast.
The BIOS must be named "dc_boot.bin" and the Flash must be named "dc_flash.bin". Both files must be placed in the "Data"
directory which is in the location where you installed the emulator.

The emulator will fail to run any game or software if you don't have these files.

Please note that original Dreamcast discs (GD-ROMs) are special discs that cannot be accessed by common PC DVD/CD drives.
Because of this it is not possible to run these discs directly on an emulator. The only way to run such a disc is
to make a backup copy (a dump) of it using some "special" methods either by using a Dreamcast or a modified PC DVD/CD drive.

4. Usage
--------

When you run the emulator for the first time you will be asked to select the plugins you are going to use.

Here is a list of the plugins that come with the emulator:

-PowerVR (Graphics) Plugins:

"nullPVR" is the graphics plugin that was made by the nullDC team.
"Chankast's video" is a port of the PowerVR (graphics) core that was used on Chankast (another great Dreamcast emulator).

-GDRom Plugins:

"Image Reader" is used to run images of discs (ie: cdi, mdf/mds, nrg).
"zNullGD" is used to run discs directly from the PC DVD/CD drive.

-AICA (Sound) Plugins:

"nullAICA" is the sound plugin that was made by the nullDC team.
"Chankast's AICA" is a port of the AICA (sound) core that was used on Chankast (another great Dreamcast emulator).
"Empty AICA" is an audio plugin that produces no sound. It has reduced compatibility but is faster than the rest.

-Maple (Input/Saves) Plugins:

There is only one available maple plugin available that covers all the maple related functions. It has 2 divisions.
Its first division handles each controller port and its second division handles the expansion slots of the peripheral
connected to each controller port. Each division has various states. Divisions and states are explained below.

Controller Division:

"nullDC Controller [WinHook]" connects a normal dreamcast controller using input from the keyboard.

"nullDC Controller [WinHook.NET]" connects a normal dreamcast controller using input from the keyboard but for
NetPlay usage.
*Refer to the NetPlay section for more information about NetPlay.

"None" acts like no controller is connected to the port.

Expansion Slots Division:

"nullDC VMU" declares that a VMU (memory card) is connected to the expansion slot of a peripheral.
"None" acts like nothing is connected to the expansion slot of a peripheral.

In case the above looks confusing... Imagine a Dreamcast, it has four ports, you connect a controller (peripheral)
to a port, then a memory card to the controller (the Dreamcast controller has two slots for memory cards etc.).
Maple uses the same structure. See? Simple. ;)

-External Device (Modem/Broadband Adaptor) Plugins:

"nullExtDev" acts like no modem or broadband adaptor is connecter to the external device slot of the dreamcast.

After all the necessary plugins are selected and the "OK" button is pressed the emulator window and console will appear.

5.1 Menus
---------

Here's a brief explaination of the menu options and their usage. Whenever a menu option has an arrow next to it it will
expand revealing more options. If it doesn't have an arrow then clicking on it will pop up a configuration/message box.


Clicking on the "File" tab will reveal 5 options.

"Normal Boot" boots a dreamcast disc or an image (depends on the delected GDRom Plugin).

"HLE Boot" boots a dreamcast disc or an image using hight level GDRom emulation.

"Open bin/elf" boots a dreamcast homebrew/development application/demo.

"Load bin/elf" loads a dreamcast homebrew/development application/demo into memory.

"Exit" exits the emulator... maybe.


Clicking on the "System" tab will reveal 3 options.

"Start" starts emulation.

"Stop" stops emulation.

"Reset" resets the emulator.


Clicking on the "Options" tab will reveal 7 basic options.

"nullDC Settings" has the core options of nullDC. It expands revealing options to enable/disable the Dynarec and CP pass.
Clicking on the "Show" option will open a configuration box with the options and more information.

"Select Plugins" opens the plugin selection box.

"PowerVR" contains the available options of the selected PowerVR (graphics) plugin.

"GDRom" contains the available options of the selected GDRom plugin.

"Aica" contains the available options of the selected AICA (sound) plugin.

"Maple" contains the available options of the selected Maple (input/saves) plugin.

"ExtDevice" contains the available options of the selected External Device (Modem/Broadband Adaptor) plugin.

Clicking on the "Debug" tab will reveal the "Debugger" option which opens the SH4 debugger.


Clicking on the "Profiler" tab will reveal 2 options.

"Enable" enables the profiler.

"Show" shows the profiler.

Clicking on the "Help" tab will reveal the "About" option which opens the about box.

5.2 Plugin Specific Menus
-------------------------

Each plugin can add its own menus to the interface of the emulator. These options will appear as an extension of the
corresponding option that each plugin has under the "Options" tab.
For example, if you run the emulator and go to "Options"->"PowerVR" you will notice some available options.
Now if you select another PowerVR plugin and go to "Options"->"PowerVR" again you will see that some options
are changed, added or deleted.

Most of the options of each plugin do not need explaination but there are specific options with results that the
end user cannot understand. Section 8 covers cases where changing some options can affect performane and graphics/sound.

6. NetPlay
----------

NetPlay (unfortunately) didn't make it in the initial release. It's in very early stages at the moment and many
necessary checks for it are not yet implemented. Using different plugins and different versions of the same game
on each machine leads to synchronization loss and to faulty NetPlay. Thus it's missing from the initial release.
Expect it to be implemented soon however. :)

In case you wonder, every thing needed for netplay comes with the current release... Apart from the Server application.

7. Known Problems and Possible Solutions
----------------------------------------

- If the VisualC++ 2005 SP1 runtime is missing you may get the 'This application has failed to start because the
application configuration is incorrect. Reinstalling the application may fix this problem..' message.Just download
the setup package , it includes all the runtimes needed.

- The console that opens when you run the emulator displays some vital information which will help you report possible
problems that a game may have. However, on some cases it may stay open and make the system slow even after you close
the emulator. Minimizing the console before running a game will fix that.

- There is no way to exit fullscreen mode at the moment apart from pressing Alt+F4.

- nullAICA syncs audio to match the speed of the rest emulator parts. If a game runs below 100% its real speed, sound
will be choppy and will have occasional "clicks". It would be better to use Chankast's AICA on that case.

- Some games run slower and some others run faster than they should even if they report that they run at 100% speed.
Disabling speed limiting will boost the speed of "slow" games if your system can handle it but if a game runs faster
than it should then not many things can be done.
("Dead or Alive 2le" is an example of games that run slower than normal. "Resident Evil: Code Veronica" is one of the
games that run faster than normal.)

- The emulator might crash sometimes when trying to close it.

- If you are asked to enter the date and time every time you try to run a game then the flash file might got corrupted.
Try going to the "data" folder and deleting the "dc_flash_wb.bin" file. This will probably fix the problem.

- If the emulator init fails once , nullPVR will lockup on second try.This will happen if you do run, select cancel on
image selection , and press no in the "Do you want to boot..." messagebox.It affects only nullPVR.

- Some games may have problems if the Constant Propagation optimisation pass is enabled.Soul Reaver and Toy Commander
are known to be affected.

8. Hits and Tips
----------------

- Systems below recommended requirements will get a speed boost with the "No AICA" plugin and might get better graphical
results with Chankast's video PVR.

- Some games have problems with specific plugins. Using a different plugin might fix some issues.

- nullPVR has an option called "Versioned Textures". Enabling this will result in better graphics on some games
(ie: Soul Calibur) but it will make some other games too slow (ie: Guilty Gear X, Virtual On).

- nullAICA has options to enable frame limiting and adjust the sound buffer size. If you get constant "clicks" while
running a game and the emulator runs at or above fullspeed try enabling the frame limiting and increasing the
sound buffer size.
Using a 60Hz screen refresh rate and having V-Sync enabled from the configuration of your video card can also produce
"clicks". Disabling V-Sync will fix that.

- Chankast's Video PVR has two options called "ZWrite" and "Alpha Test ZWrite". Enabling or disabling them can make
some games look better when some graphics appear in front or behind things they shouldn't.


9. About
--------

Credits :

drk||Raziel : main coder
ZeZu : main coder
GiGaHeRz : plugin work/misc stuff
PsyMan : Mental support, managment, beta testing & everything else
Xant : www & forum, beta testing

Beta testing : emwearz, Miretank, gb_away, Raziel, General Plot, Refraction, Ckemu

Many thanks to : Jim Denson, Flea, Jupi, Chankast team and everyone else we forgot.

The spiritual successor to both Icarus and Chankast has finally arrived!

Download and Give Feedback Via Comments

JKKDARK
April 1st, 2007, 17:51
Nice finally it's here!

Mark30001
April 1st, 2007, 18:14
Awesome release of this emulator, nullDC team! :)

Zion
April 1st, 2007, 18:41
i tested this a few months back :) great work :D

any plans for a linux version ? :p

BrooksyX
April 1st, 2007, 18:44
Yes, finally!

I have been looking forward to this release for a long time.

Malksta
April 1st, 2007, 18:46
I liked it more when it was un-released xD

(great release though, Raziel and ZeZu)

Cap'n 1time
April 1st, 2007, 18:56
bout ****ing time drk and zezu! This is a pretty exciting thing to release.

BrooksyX
April 1st, 2007, 19:06
This seems to run really good with Sonic Adventure and Soul Caliber. Both run at great speeds on my lower end PC.

Are the default video plugins the best, or are the others ones better?

Cap'n 1time
April 1st, 2007, 19:59
I played around with this. I only have 3 dumps at the moment, I'll probably do more tonight to test in the morning. Sonic Adventure 2 was playing fairly well somewhere between 45 and 60 FPS, but it crashed eventually. Street Fighter 3 3S played like a dream but there were some graphical errors, much like in chankast but a bit more so. Sega V rally plays at a solid 60 FPS. It plays as if it were on a real DC.

Of course I have a very powerful computer with a Geforce 7600 GS, so you might not get the same results as me on a lower end computer.

I found one more dump on my HD. Virtua Tennis runs anywhere from 30 to 45 fps. I think some graphics are missing (shadows). It is a little slow, but very playable still.

SSaxdude
April 1st, 2007, 20:58
I'm going to test in a few minutes and I will report how JGR runs. Cap'n 1time did you make those dumps yourself?

Edit: test results in.
Rez: 50 fps
Trigger Heart Exelica: 45 fps
Street Fighter 3rd Strike: 45 fps
Jet Grind Radio: 27 fps

All fps out of 60 and are averages, except for JGR which could only run at 30 fps maximum. My computer also doesn't meet the recommended specifications. I tried running the Rise of the Triad homebrew and it didn't boot.

Cap'n 1time
April 1st, 2007, 21:36
I'm going to test in a few minutes and I will report how JGR runs. Cap'n 1time did you make those dumps yourself?

long ago. I dont even know where the cables are or if i can still make them. I only have a serial cable, so it takes hours and hours.

This isnt pointed directly at you SSaxdude, but please do not ask me how to make backups. That discussion has been against DCemu site policy since the very beginning, and will remain so.

BrooksyX
April 1st, 2007, 22:22
Does anybody know how to use a gamepad with this. I tried using a Xbox controller and a Microsoft Sidwinder but neither worked. I also tried messing with the plugins but that didn't work either. Its kind of hard playing Dreamcast games with a keyboard.

Zion
April 1st, 2007, 22:26
Rofl, ive just put my version of windows xp pro back on to test this :P

(even tho i had it before )

my pcs pretty good so i should get good speed.

Pentium 4 3.0ghz
1Gb ram
128mb Radeon x300


just installing the psp toolchain, (yes the cygwin one ) then im gonna test it out :p

if cygwin doesnt take all night :rofl: it took about 3hrs last time lol

JKKDARK
April 1st, 2007, 23:53
First game I tried is Sonic Adventure (PAL). Seems to be playable.
When you need to select the memory card, you can't see anything. It also happens in the Options and when you select a character. On these screens, after 20 seconds, the music dies.
You cant' see the text when the characters are talking and sometimes the music dies for 2 or 3 seconds. No graphic problems ingame. Excellent speed, totally playable.

Zion
April 2nd, 2007, 00:13
This emu release made my day i have to say :)

JKKDARK
April 2nd, 2007, 00:17
@ SSaxdude: If you need help dumping games, contact me

@ BrooksyX: there isn't good support for gamepads on this release, sadly try using your keyboard.

BrooksyX
April 2nd, 2007, 00:28
@ SSaxdude: If you need help dumping games, contact me

@ BrooksyX: there isn't good support for gamepads on this release, sadly try using your keyboard.

Yeah, I guess we will just have to hope it will be added in the next release.

wakaia
April 2nd, 2007, 05:31
very wonderful !! :D

Is it scheduled that NAOMI System comes to operate?



http://offlinelistfds.up.seesaa.net/image/EX.gif

JKKDARK
April 2nd, 2007, 13:45
'Undocumented' nullDC features (http://forums.ngemu.com/nulldc-forum/87596-undocumented-nulldc-features.html)

nullDC.cfg file :
There are varius settings that are not exposed in the interface.That includes AntiAlias & resolution settings for the pvr plugins.To restore default settings , just delete the config file .

Command line params (These are mostly usefull to developers):

-nosse2 , -nosse3 , -nossse3
These disable the use of some instruction sets (sse2/3/S3).(Not realy usefull)

-serial "file here"
Redirects the serial output to the given file.It can also redirect it to a COM port (-serial \\.\COM1).The file MUST exist before loading nullDC.

-slave <pipe1 handle> <pipe2 handle>
Writes serial output to pipe1 , reads from pipe2.The handles have to be created properly first (ie : -slave 912 913).It can be used to redirect the serial IO to another application

.gdi files:

The ImageReader plugin supports a format to load gdrom dumps.
here's the structure :
Entry Count
Track StartSector ctrl SectorSize File Offset
....
Track : track number
StartSector : start sector on the gdrom to map the file
ctrl : 4 -> data , 0 -> audio
SectorSize :Sector size for the data in the file , 2048 , 2352 & a few others are supported.If this is set to 0 the file is considered 'missing'
File : file to read the data from
Offset : byte offset into file to read the data from. Can be both negative and positive

The first 2 entrys are for the low density area (tracks 1 & 2,session 1)
The rest of em are on the hi density area (tracks 3+ , session 2)

Here are a few examples :

Tony Hawks Pro Skater 1:

5
1 0 0 0 none 0
2 0 0 0 none 0 3 45000 4 2352 45000to63139.bin -8
4 63288 0 0 none 0 5 69313 4 2352 69313to549150.bin -8

the 1,2 and 4 tracks are missing from my dump , the -8 is to offset the files a bit (dumped using cdrwin so the format is a bit different)

Visual Park

13
1 0 0 0 none 0
2 0 0 0 none 0 3 45000 4 2048 track3.iso 0
4 445516 0 0 track04.raw 0
5 449104 0 0 track05.raw 0
6 453213 0 0 track06.raw 0
7 455855 0 0 track07.raw 0
8 469617 0 0 track08.raw 0
9 483437 0 0 track09.raw 0
10 486080 0 0 track10.raw 0
11 491965 0 0 track11.raw 0
12 543479 0 0 track12.raw 0
13 547889 4 2048 track13.iso 0

tracks 1,2,4,5,6,7,8,9,10,11,12 are missing here (audio tracks -- they just get replaced by silence)


Thats it , i hope that helps.

Zion
April 2nd, 2007, 16:00
i found that i get the best sound and fps when using the chankast plugins ;)

Cap'n 1time
April 2nd, 2007, 16:58
i found that i get the best sound and fps when using the chankast plugins ;)


Yhe graphics plug-in from nullDC are slower but it seems to be more accurate for most games (sonic adventure 2), and slightly less accurate for others (street fighter 3).

While Chankasts graphics plugins are indeed faster... I also think it doesnt have a frame limiter. Of the four games I have tested using only nullPVR the games would bounce between 58 and 60 FPS at times but never above 60. Overall I recommend the default graphics plugin. ~35+ FPS and better accuracy (almost looks like it's on the real thing) makes for better play in my opinion.


Edit: On second thought the Sega Swirl was flying at 120+ FPS this morning when I tried to run Sega V rally... But in game I could never get above 60.3 FPS.. May just be a coincidence. Someone will have to ask Drk on IRC I guess.

dejkirkby
April 2nd, 2007, 17:08
Crazy Taxi, here I come!

Cap'n 1time
April 2nd, 2007, 17:44
Never mind about the frame limiter :)
check out Cool Herders.

PS Dont upload images of commercial games running on this emulator. I think its against the old chankast rules.

quzar
April 2nd, 2007, 21:47
PS Dont upload images of commercial games running on this emulator. I think its against the old chankast rules.

I was thinking about that, but what made playing games on chankast inheirently illegal was that it couldn't play pure GD rips, meaning you had to modify the data, which is the illegal part (according to the DMCA). With nullDC you can use unmodified copies of your discs. We should probably discuss this in staff before it becomes an issue though.

DPyro
April 3rd, 2007, 03:32
This looks cool. It's too bad I don't have a DC or any games to test this though :(

WermerSkoch
April 3rd, 2007, 05:03
This is awesome! I've still got several DC games, but no DC... To those wanting to use a gamepad:
http://www.electracode.com/4/joy2key/JoyToKey%20English%20Version.htm
I'm using the xbox360 controller with it right now, and it's working great! Takes a bit to set up, but it's worth it. :)

BrooksyX
April 3rd, 2007, 09:16
This is awesome! I've still got several DC games, but no DC... To those wanting to use a gamepad:
http://www.electracode.com/4/joy2key/JoyToKey%20English%20Version.htm
I'm using the xbox360 controller with it right now, and it's working great! Takes a bit to set up, but it's worth it. :)

I tried using this but the analog is all jumpy. Sonic would never go where I wanted him too. I think ill just wait for gamepad support to be added. I can live with my keyboard for now.

WermerSkoch
April 3rd, 2007, 15:24
I tried using this but the analog is all jumpy. Sonic would never go where I wanted him too. I think ill just wait for gamepad support to be added. I can live with my keyboard for now.

I was having the same problem at first. Then I tried disabling the auto repeat for the analog sticks, and now it works like a charm.

Zion
April 3rd, 2007, 17:24
i agree it works great, but im also using the madcatz controller (360) how to you know what button is say button 10 on the controller :confused:

could you post your settings please?

nevermind, you can see which key is what under windows joypad config utitily :)
thanks for the advice about this program its exellent :)

SiZiOUS
April 3rd, 2007, 23:40
UNBELIEVABLE !!!

Thanks Raziel !!!

Mark30001
April 4th, 2007, 14:46
This is awesome! I've still got several DC games, but no DC... To those wanting to use a gamepad:
http://www.electracode.com/4/joy2key/JoyToKey%20English%20Version.htm
I'm using the xbox360 controller with it right now, and it's working great! Takes a bit to set up, but it's worth it. :)

Wow, I didn't realize you could also use the XBOX 360 controller with this emu. Thanks for the heads up! :thumbup:

mh777
April 5th, 2007, 09:10
Yeah, joy2key is the only way to get a controller working with this emu so far.

Other than that, it's great to see another fast DC emulator for the PC. All the games I've tried ran close to, if not, perfect. Still haven't tried any homebrew stuff yet, though.

logicbomb.de
April 5th, 2007, 20:36
Yeah, joy2key is the only way to get a controller working with this emu so far.

Other than that, it's great to see another fast DC emulator for the PC. All the games I've tried ran close to, if not, perfect. Still haven't tried any homebrew stuff yet, though.

You can also use Pinnacle Game profiler although its not freeware/shareware, but you can download a fully functioning 30 day "demo" to try out.

works great with the 360 controller as it displays a graphic of the controller on the screen so there's no guess work on which face button corresponds to whick key.


Anyway, great work on this amazing emu!

chrishathaway
April 9th, 2007, 16:51
I love this emulator.

I have 46 working titles now! :)

Would like to get this to work with GameeX, however I can not find enough information on the required launch command line. :confused:

Has anyone else cracked it yet? Naturally if I do, I'll post back and share.

idapimp
May 16th, 2007, 10:46
this is sweet as hell!

pimp12
June 5th, 2007, 02:57
cool.....

K1mimaro
June 9th, 2007, 22:44
Hello, i m kinda Big fan of DC games , i workd in PlayHouse [Sony, Sega DC and l8ter PC lan House],
i need a little help whit ajusting This Emulator ...
have problems whit that BIOS and Flash thing ...

K1mimaro
June 9th, 2007, 22:45
My msn link is [email protected] so conntact me if you are able to help me :)

JKKDARK
June 9th, 2007, 22:57
What problem do you have with the BIOS?

snookdogg
June 15th, 2007, 00:52
feeling extremely guilty about the joypad support gripe, an excellent emulator, sonic 2 boots it at 60 fps, joy 2 key works after some tweaking, if you are a vista user like me, change the buffer in the sound plug in .cfg file to 4090, then works fine. i'm just about to try shenmue 2, if that works anywhere near as good as sonic, i'm gonna have a wank to celebrate.

keep up the good work people