Release Reicast


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:
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
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:
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
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.
 
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.,
 
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:
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:
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
 
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.
 
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.
 
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?
 
Back
Top