Release REICAST - Dreamcast Emulator


*DING DING DING* ready for round no. 2 :) :

same Setup of course: 1200 Mhz - SGX 4.10 - SZ 1.60

- Incoming : Fullspeed, nothing else to say

- Expendable : Fullspeed, nothing else to say

- Trickstyle : is still experiencing graphical issues, sometimes the character shows up now,

                    lvl design wont show up completely again, only a part of the arena is visible in the far distance (like before).

                    As I move the character/camera around parts of the lvl design are appearing and disappearing again.

                    Just found my way into the first race, sound working flawless there, but I cannot see a thing except the 2D lvl background =D

- Silver : Playable, but little slow as always, heavy sound stuttering like before.

- Re-Volt : 90-100% gamespeed (faster), sound is good, only a slight stuttering if there are all karts in one place (like before) , BUT still no menus.

                 I have also discovered another bug, with those 2 versions tested last time I was able to drive through objects like ramps or cars without

                 any collision. (Switched back to the version from the repo : there the collision works like it should.)

- Dead or Alive 2 : 70-80% of gamespeed (experienced faster than before), although sound still stuttering during fight but less than before.

- MDK 2 : Fullspeed, still that texturing bug while in sniper-mode, parts of the gauge always faces the ground texture

- Rayman 2 : Fullspeed, missing some textures.

- Virtua Tennis : Playable, still a bit slow, sound stuttering

- Soul Calibur : Fullspeed, some sound stuttering left, but got reduced a lot by the last 2 versions of reicast

P.S. Going to post a video about this later... (Trickstyle, Silver, Dead or Alive 2, MDK 2, Rayman 2)

http://www.youtube.com/watch?v=AHlgOp-dVSQ
 
Last edited by a moderator:
I don’t have access to a Mac to test it, but I found and attached (intel_osx_chdman0144.zip) an Intel Mac OSX build of chdman version 0144.


You most likely have to have to use it from a command line like the Windows and Pandora versions of chdman I posted.



$ ./chdman -createcd Skies1.gdi Skies1.chd
Thank you for your support. It works perfect.

I got this error with chdman for mac on OS X 10.9:


dyld: Library not loaded: @executable_path/../Frameworks/SDL.framework/Versions/A/SDL

Maybe if I install this SDL from somewhere it works.

But for now I am using WINE and its is working fine.
I'm on OS X 10.9.1 and my first tested game, compressed with chdman, works fine.

You need to install the SDL Framework 1.2.15. Newer one doesn't work.

You only must copy the framework to /Library/Frameworks

It's only 1.4 MB. You can find it here:

http://www.libsdl.org/download-1.2.php
 
Last edited by a moderator:
If you can test this new release and compare it the the previous alpha alpha :)
Tested both PNDs you posted today and they seem faster. The sound stuttering is slightly reduced. More sound effects can be heard than before.

I was having a problem with the runscript.sh not remembering file names with spaces and not selecting the previous file as you intended. So I made a few changes to runscript.sh to allow it to handle spaces in file names and automatically select the previous file.

The line changes are to 66, 69, 70, and 74. Here is the diff:

runscript.diff


--- runscript.sh 2013-12-27 09:48:24.000000000 -0500
+++ runscript.sh 2013-12-29 17:27:00.000000000 -0500
@@ -63,15 +63,15 @@
OLDSELECT=""
if [ -e home/.oldfile ];then
CDFILE=`cat home/.oldfile`
- OLDSELECT="--filename=\"$CDFILE\""
+ OLDSELECT=$(basename "${CDFILE}")
fi

- cd $(dirname ${CDFILE})
- CDFILE=`zenity --file-selection $OLDSELECT --file-filter=" "*.cdi" "*.chd" "*.gdi" "*.iso" "`
+ cd $(dirname "${CDFILE}")
+ CDFILE=`zenity --file-selection --filename="$OLDSELECT" --file-filter=" "*.cdi" "*.chd" "*.gdi" "*.iso" "`
case $? in
0)
echo "$CDFILE" selected.
- echo "$CDFILE">home/.oldfile;;
+ echo "$CDFILE">$pwd/home/.oldfile;;
1)
echo "No file selected.";;
-1)

I attached the modified runscript.sh.txt. To test it  rename it to runscript.sh (remove the .txt extension) and put it in your  ...pandora/appdata/reicast folder

EDIT: Replaced hard coded path to "/mnt/utmp/reicast' on line 74 with the $pwd variable.
Very nice, I'll update the script for next release.

I spend most of the time on shad, shld and sbc, and I'm still not sure there are 100% correct (setpeq too).
Hey, I don't know what method you used for shad and shld, but I came up with a nice method to emulate these in ARM once upon a time.

For example, in the case of SHAD Rm,Rn:

ANDS temp, Rm, #0x8000001F
RSBMI temp, temp, #0x80000020
MOVPL Rn, Rn, LSL temp
MOVMI Rn, Rn, ASR temp


For SHLD, of course, replace ASR with LSR.

Edit: Trimmed the quote
Nice one! I'll update my code
 
Hey, I don't know what method you used for shad and shld, but I came up with a nice method to emulate these in ARM once upon a time.

For example, in the case of SHAD Rm,Rn:


ANDS temp, Rm, #0x8000001F
RSBMI temp, temp, #0x80000020
MOVPL Rn, Rn, LSL temp
MOVMI Rn, Rn, ASR temp
I added a couple of emiter, and the shad now looks like that


AND(r0, reg.mapg(op->rs2), 0x8000001F, true);
RSB(r0, r0, 0x80000020, CC_MI);
if (reg.mapg(op->rd)!=reg.mapg(op->rs1))
  MOV(reg.mapg(op->rd), reg.mapg(op->rs1));
MOV(reg.mapg(op->rd), reg.mapg(op->rd), S_LSL, r0, CC_PL);
MOV(reg.mapg(op->rd), reg.mapg(op->rd), S_ASR, r0, CC_MI);


And calc84maniac, do you also have a good DIV algo?
 
Last edited by a moderator:
Code:
AND(r0, reg.mapg(op->rs2), 0x8000001F, true);
RSB(r0, r0, 0x80000020, CC_MI);
if (reg.mapg(op->rd)!=reg.mapg(op->rs1))
  MOV(reg.mapg(op->rd), reg.mapg(op->rs1));
MOV(reg.mapg(op->rd), reg.mapg(op->rd), S_LSL, r0, CC_PL);
MOV(reg.mapg(op->rd), reg.mapg(op->rd), S_ASR, r0, CC_MI);
Why don't you just do this?
Code:
AND(r0, reg.mapg(op->rs2), 0x8000001F, true);
RSB(r0, r0, 0x80000020, CC_MI);
MOV(reg.mapg(op->rd), reg.mapg(op->rs1), S_LSL, r0, CC_PL);
MOV(reg.mapg(op->rd), reg.mapg(op->rs1), S_ASR, r0, CC_MI);
 
AND(r0, reg.mapg(op->rs2), 0x8000001F, true);
RSB(r0, r0, 0x80000020, CC_MI);
if (reg.mapg(op->rd)!=reg.mapg(op->rs1))
  MOV(reg.mapg(op->rd), reg.mapg(op->rs1));
MOV(reg.mapg(op->rd), reg.mapg(op->rd), S_LSL, r0, CC_PL);
MOV(reg.mapg(op->rd), reg.mapg(op->rd), S_ASR, r0, CC_MI);
Why don't you just do this?
Code:
AND(r0, reg.mapg(op->rs2), 0x8000001F, true);
RSB(r0, r0, 0x80000020, CC_MI);
MOV(reg.mapg(op->rd), reg.mapg(op->rs1), S_LSL, r0, CC_PL);
MOV(reg.mapg(op->rd), reg.mapg(op->rs1), S_ASR, r0, CC_MI);
Ah yes, of course, if it's not CC_PL, it's CC_MI, so op->rd will have it's value no mater what. Thanks for the tip, I'll update the sources.

All that ARM intruction+flags is new to me. I'm an x86 oldschool ;) .
 
Tip: If it's posible select 50hz tv output, some games have better sound that way (less stuttering).


Works at least on Shenmue 2 and Headhunter, wich are both not playable. Headhunter first level fullspeed but when loading seccond level reicast crashes. Shenmue 2 when loading Abberdeen after the intro part reicast crashes.


Ps: anybody got a WinCe game running? Would be neat to see Halflife running on Pandora.
 
Did some game testing with Reicast and would like to share my results.

 

 

Most games have the sound issues even if I did not write it.

 

This is at 1288Mhz and 440Mhz

 

18 Wheeler: Slow, Graphic errors.

Bassrush Dream: Seems Ok.

Blue Submarine: Hangs at video part.

Bomber Haha: Seems Ok.

Cart Flag to Flag: Seems Ok, some sound stuttering.

Cleopatra Fortune: Seems ok, but runs to fast?

Confidential Mission: Slow, but should be playable.

Comic Smash: Slow, but should be playable.

Crazy Taxi 2: Slow.

Daytona 2001: Slow.

Dead or Alive: Slow.

Imperial Fighter of Zero: Slow, but should be playable.

Golf no Shiyouyo 2: Menu full of graphical errors.

Grand Theft Auto 2: Slow on latest version of reicast, with first version fullspeed(?) with the sound sutters.

Head Hunter: Seems fullspeed, but crashes at loading level 2 part.

Jet Grind Radio: Alot of graphical errors, latest version of reicast a lot of objects/textures are missing and a bug that finish the level at start (completing it).

Metropolis Street Racer: Music plays but no other sounds, when music turned off game is fullspeed or even faster.

Mortal Kombat Gold: Seems ok, fullspeed.

Mr. Driller: Only bottomhalf of screen is visible, game runs fullspeed.

Napple Tale: Crashes at menu.

Outrigger: Good speeds, some graphical errors.

Panzer Front: Fullspeed(?)

Power Stone 2: Slow, but should be playable.

Project Justice 2: Crashes after loading level.

Propeller Arena: On latest version of reicast it does not boot, with first version the game was playable.

Quake III Arena: Some graphical errors, Slow.

Rez: Seems ok, some slowdowns.

Ready to Rumble 2: graphical errors in menus.

Shenmue: Speed seems ok, slowdowns. But game has graphical errors.

Shenmue 2: Crashes after intro part when loading Aberdeen.

Soldier of Fortune: Slowmotion when in game. Not playable.

Sonic Adventure 2: Graphical errors, slow.

Soul Calibur: Slow, Crashes on latest version of reicast.

Tako no Marine: Seems ok.

Tokyo Bus Guide: Playable, needs analog trigger (bind right nub to left and right trigger?).

Tony Hawk Pro Skater: Graphical errors at menu.

Trickstyle: Hangs at menu.

Typing of the Date: Needs keyboard.

Unreal Tournament: Slow, latest version of reicast itroduces skipping in movement wich makes it not playable even if it wouldbe at fullspeed.

Virtua Fighter 3TB: Slow with graphical errors.

Virtua Tennis: Slow.

Wetrix+: Seems ok, with slowdowns.

Whats Shenmue: Same as Shenmue.

Yu Suzuki Game Works v1: Only left part of screen visible.

 

 

The next games don't boot on my pandora, Some are WinCE games wich I think aren't bootable (yet).

Bomberman Online

Crazy Taxi

Death Crimson 2

Densha the Go 2

Ecco Defender of the Future

F335 Challenge

Fuurai no Shiren Gaiden

Half-Life

Half-Life: Blueshift

Half-Life: Counter Strike

Half-Life: Opposing Force

Hello Kitty Garden Panic

Hidden and Dangerous

Iron Aces

Ooga Booga

Plus Plum

Sega Rally 2

Testdrive Lemans

Urban Chaos

Virtua Striker

Virtual Cop 2

 

Seems that not all results are the same for us, mrbazil has Tricksyle running mine hangs at menu.
 
Last edited by a moderator:
Bomberman Online works, but you have to use the US bios. It runs a little better than the original alpha but it still very slow with quite a lot of graphical glitches

Fur Fighters - Slower than with the original alpha, also the sound effects aren't working in-game

Rayman 2 - works a lot faster in this version, but mine crashed back to desktop soon after starting playing (need to try it more though)
 
Short question @ itami :

What SGX Driver Version do you use ?

EDIT : same question @ stouffa
 
Last edited by a moderator:
Soul Calibur: Slow, Crashes on latest version of reicast.
 
Hmm no crash issues for me, using my 1Ghz Pandora with SGX 4.10

Actually with some serious overclocking I can almost get rid of the sound stuttering.
 
Soul Calibur: Slow, Crashes on latest version of reicast.
Hmm no crash issues for me, using my 1Ghz Pandora with SGX 4.10


Actually with some serious overclocking I can almost get rid of the sound stuttering.
Yup Yup, experienced the same here...

Soul Calibur runs really good at 1200 Mhz, SGX Version 4.10 and one of the newest versions of reicast here from the forum post.

Do not really know but isnt it even Fullspeed or at least close to it ? still with a bit of stuttering left of course. (and weird looking menu)

http://www.youtube.com/watch?v=ArjObhRI25o
 
Last edited by a moderator:
Soul Calibur: Slow, Crashes on latest version of reicast.
Hmm no crash issues for me, using my 1Ghz Pandora with SGX 4.10


Actually with some serious overclocking I can almost get rid of the sound stuttering.
Yup Yup, experienced the same here...

Soul Calibur runs really good at 1200 Mhz, SGX Version 4.10 and one of the newest versions of reicast here from the forum post.

Do not really know but isnt it even Fullspeed or at least close to it ? still with a bit of stuttering left of course. (and weird looking menu)

Sorry but it find that slow. 

My dreamcast is not hooked up right now, but I did find a real dreamcast vid on youtube... 

www.youtube.com/watch?v=tY_wbs9voz4#t=62

ps: Soul Calibur did run on my pandora with the first version of reincast.
 
Last edited by a moderator:
If you can test this new release and compare it the the previous alpha alpha :)
Tested both PNDs you posted today and they seem faster. The sound stuttering is slightly reduced. More sound effects can be heard than before.

I was having a problem with the runscript.sh not remembering file names with spaces and not selecting the previous file as you intended. So I made a few changes to runscript.sh to allow it to handle spaces in file names and automatically select the previous file.

The line changes are to 66, 69, 70, and 74. Here is the diff:

runscript.diff


--- runscript.sh 2013-12-27 09:48:24.000000000 -0500
+++ runscript.sh 2013-12-29 17:27:00.000000000 -0500
@@ -63,15 +63,15 @@
OLDSELECT=""
if [ -e home/.oldfile ];then
CDFILE=`cat home/.oldfile`
- OLDSELECT="--filename=\"$CDFILE\""
+ OLDSELECT=$(basename "${CDFILE}")
fi

- cd $(dirname ${CDFILE})
- CDFILE=`zenity --file-selection $OLDSELECT --file-filter=" "*.cdi" "*.chd" "*.gdi" "*.iso" "`
+ cd "$(dirname "${CDFILE}")"
+ CDFILE=`zenity --file-selection --filename="$OLDSELECT" --file-filter=" "*.cdi" "*.chd" "*.gdi" "*.iso" "`
case $? in
0)
echo "$CDFILE" selected.
- echo "$CDFILE">home/.oldfile;;
+ echo "$CDFILE">$pwd/home/.oldfile;;
1)
echo "No file selected.";;
-1)

I attached the modified runscript.sh.txt. To test it  rename it to runscript.sh (remove the .txt extension) and put it in your  ...pandora/appdata/reicast folder

EDIT: Replaced hard coded path to "/mnt/utmp/reicast' on line 74 with the $pwd variable.
Very nice, I'll update the script for next release.

...
I found an error on line 69 which prevented directories with spaces from being recalled correctly.

Line 69 should be: cd "$(dirname "${CDFILE}")"

I edited the runscript.diff in the quote above (and in the original post) with the correction.

Thanks for working on this and all the other Pandora projects you have a hand in.
 
Last edited by a moderator:
Back
Top