Release Reicast


cjam

Still Fresh
Joined
Jul 19, 2021
Messages
60
Here is Reicast, an opensource Sega Dreamcast emulator

I used an source (0.8.1) for this build. I don't know if later sources are still as fast as this one. I'll try to update the source a bit later.
Trying today's git master and target=beagle (cortex-a9) fails to build.
Code:
/big/src/emu/reicast-emulator/reicast/linux/../../libswirl/sdl/sdl.cpp:251: undefined reference to `sdlgl_CreateWindow(bool, int, int, int, void**, void**)'

Experiments with (sdl/x11, egl/glx) didn't get me a binary. It wants to link -lGL regardless of what I do, and I'm trying to avoid building stuff with gl4es if opengl-es2 can be used instead.

The generic armhf builds for me on omap4, but crashes at initialization.

Reicast underwent significant 'refactoring' june 2019, and the "non-core targets" seem to be mostly untested and problematic. [EDIT] Which release/commit looks best before that date?

My most recent build target attempt follows:
Code:
else ifneq (,$(findstring omap4,$(platform)))

    MFLAGS += -marm -mfloat-abi=hard -march=armv7-a -mtune=cortex-a9 -mfpu=neon-vfpv4 -mfloat-abi=hard
    ASFLAGS += -marm -mfloat-abi=hard -march=armv7-a -mtune=cortex-a9 -mfpu=neon-vfpv4 -mfloat-abi=hard
    CFLAGS +=  -D TARGET_LINUX_ARMELv7 -DARM_HARDFP -funsafe-math-optimizations
    CC = gcc -std=gnu99
    CXX = g++ -std=gnu++14
#    ifneq (,$(findstring sdl,$(platform)))
#       CFLAGS += -D GL_GLEXT_PROTOTYPES
#        USE_SDL := 1
#        USE_GLES := 1
#    else
        USE_X11 := 1
        USE_GLES := 1
        SUPPORT_EGL := 1


[EDIT] got sdl-egl window setup. \o/ But only greenscreen, no menu so far ;-;

Created SDL Window (640x480) and GL Context successfully
fault_handler: Blocking before restoring default SIGSEGV handler
fault_handler: Blocking before restoring default SIGSEGV handler
fault_handler: Blocking before restoring default SIGSEGV handler
 
Last edited:

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,285
Age
50
Location
France, near Lyon
Trying today's git master and target=beagle (cortex-a9) fails to build.
Code:
/big/src/emu/reicast-emulator/reicast/linux/../../libswirl/sdl/sdl.cpp:251: undefined reference to `sdlgl_CreateWindow(bool, int, int, int, void**, void**)'

Experiments with (sdl/x11, egl/glx) didn't get me a binary. It wants to link -lGL regardless of what I do, and I'm trying to avoid building stuff with gl4es if opengl-es2 can be used instead.

The generic armhf builds for me on omap4, but crashes at initialization.

Reicast underwent significant 'refactoring' june 2019, and the "non-core targets" seem to be mostly untested and problematic. [EDIT] Which release/commit looks best before that date?

My most recent build target attempt follows:
Code:
else ifneq (,$(findstring omap4,$(platform)))

    MFLAGS += -marm -mfloat-abi=hard -march=armv7-a -mtune=cortex-a9 -mfpu=neon-vfpv4 -mfloat-abi=hard
    ASFLAGS += -marm -mfloat-abi=hard -march=armv7-a -mtune=cortex-a9 -mfpu=neon-vfpv4 -mfloat-abi=hard
    CFLAGS +=  -D TARGET_LINUX_ARMELv7 -DARM_HARDFP -funsafe-math-optimizations
    CC = gcc -std=gnu99
    CXX = g++ -std=gnu++14
#    ifneq (,$(findstring sdl,$(platform)))
#       CFLAGS += -D GL_GLEXT_PROTOTYPES
#        USE_SDL := 1
#        USE_GLES := 1
#    else
        USE_X11 := 1
        USE_GLES := 1
        SUPPORT_EGL := 1


[EDIT] got sdl-egl window setup. \o/ But only greenscreen, no menu so far ;-;

Created SDL Window (640x480) and GL Context successfully
fault_handler: Blocking before restoring default SIGSEGV handler
fault_handler: Blocking before restoring default SIGSEGV handler
fault_handler: Blocking before restoring default SIGSEGV handler
Ok, ok. I have attached my diff to the 1st post.
 
  • Like
Reactions: rSl

cjam

Still Fresh
Joined
Jul 19, 2021
Messages
60
Ok, ok. I have attached my diff to the 1st post.
Thanks. On my aarch64 box reicast r20.04-45-g2712a007 from 2020-08 builds and runs nicely.

I notice upstream git master has a 'pandora' build target. Does it build and run? Is @Terran availble to give it a try?

I wanted to feedback to reicast project changes needed for my omap4 build target, but I ran into things I don't understand and ran out of time.
[EDIT] wow @61kB diff, again lots of changes
[EDIT} anyone building should change Makefile to
Code:
194: else ifneq (,$(findstring pyra,$(platform)))
208:  CFLAGS += -D TARGET_PYRA -D TARGET_NO_WEBUI -D WEIRD_SLOWNESS -fsingle-precision-constant  -mcpu=cortex-a15 -mfpu=neon -mfloat-abi=hard -DPNG_ARM_NEON_IMPLEMENTATION=2
"WEIRD_SLOWNESS" :)
 
Last edited:

matzesu

Forum Addict!
Staff member
Joined
Oct 24, 2008
Messages
12,795
Age
38
Location
Germany,, Saarland, at home
Well, because of this Vacination date, i think the Reicast on Pyra Video will have to wait until Sunday or i could film the Emulator on the Pyra whyle i wait after i got the shot, because i read something like you have to wait 15 minutes to see if there is any reaktion..
 
  • Like
Reactions: rSl

levi

Still fresh, damnit!
Joined
Oct 6, 2008
Messages
15,852
Location
Somewhere off the coast of the EU
Well, because of this Vacination date, i think the Reicast on Pyra Video will have to wait until Sunday or i could film the Emulator on the Pyra whyle i wait after i got the shot, because i read something like you have to wait 15 minutes to see if there is any reaktion..
When I got my first shot (an AZ shot, not Moderna like you, but still) I was pretty much wiped out the day afterwards, but that was just a 24 hour illness so no real harm done. But I certainly wasn't feeling in the mood to present anything that day after that's for sure.
 

matzesu

Forum Addict!
Staff member
Joined
Oct 24, 2008
Messages
12,795
Age
38
Location
Germany,, Saarland, at home
Maybe this evening when the vaccine ditnt had the time to circle in my body..
although my parents ditnt had issues except from the point where the needle got put in , so whit a bit luck it want make that much issues.,
 

cjam

Still Fresh
Joined
Jul 19, 2021
Messages
60
Someone wanted an Video, and im at the moment the only one who makes videos but i just wantet to tell that it could take a while ..
Its part topic and part off topic.. ^^
You were going to make a reicast video matzesu. Didn't you make one today?

[EDIT]Please set rend.ShowFPS = yes in emu.cfg when you do, and if you have Lodoss War or Skies of Arcadia, show us the frames per second you get in the intro, thanks. :)
 
Last edited:

cjam

Still Fresh
Joined
Jul 19, 2021
Messages
60
Very nice recording matzesu -- low glare, good colors and sharpness.

Emulator videos are more helpful with a recording of FPS though. Reicast's emu.cfg is normally found in your home dir under .config/reicast.

Still Reicast looks pretty smooth there. The powervr SGX544MP2 on pyra is touted as delivering 19.2 GFLOPS, while my Omap4 is at 4.8 GFLOPS. If dreamcast/reicast isn't heavy on shaders, it might be okay on Omap4.

[EDIT] Just went through the whole thread on Reicast on pandora. ptitSeb isn't just a porter, he worked on the dynarec itself! Seeing how 1.2ghz omap3 came close to fullspeed, this a very exciting emulator for omap4 and omap5.
 
Last edited:

matzesu

Forum Addict!
Staff member
Joined
Oct 24, 2008
Messages
12,795
Age
38
Location
Germany,, Saarland, at home
There is a new Version in the Repo, i wonder how they can get put up to date? Just delete the old DBP and put the new one in? or do i have to delete also the old Appdata
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,285
Age
50
Location
France, near Lyon
There is a new Version in the Repo, i wonder how they can get put up to date? Just delete the old DBP and put the new one in? or do i have to delete also the old Appdata
New version is just an added screenshot for the repo itself. Binary didn't changed.

For later, just replace the dbp yes.
 

levi

Still fresh, damnit!
Joined
Oct 6, 2008
Messages
15,852
Location
Somewhere off the coast of the EU
This is really impressive performance. I was trying to limit my expectations because I remember how bad things like the MUPEN N64 emulator was to begin with, but this seems to be coping with everything anyone sends it. I guess the Dreamcast's graphics pipeline was much simpler than the N64s, or god forbid the Saturn, and also I guess this code has been exercised on PCs and Odroid consoles for a while now.
 

matzesu

Forum Addict!
Staff member
Joined
Oct 24, 2008
Messages
12,795
Age
38
Location
Germany,, Saarland, at home
After the Saturn Emulator have to wait for the Rockship CPU Board to get decent speed, i got some more Games yesterday evening for the Dreamcast,
And its awesome: Everything from this Loading Session expect of Urban Chaos and the Atari Collection runs perfectly, so i will rename the Folder whit the "New" Games from "hoffentlich laufende Spiele" (hopefully running games" ) to "perfekt laufende Spiele" (perfektly running games)..

I wonder how the Pandora dit perform for Dreamcast Emulation, ..

And when do whe get a Reicast whit a propper GUI like the Emu Ex Alpha Titles?
 
Top