[EMULATOR] Reicast (Sega DreamCast Emulator)

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

[EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Fri Feb 20, 2015 6:31 pm

Reicast is a very good Dreamcast emulator running on many system.
It was ported to the RPi2 and later to ODROID devices.
Many thanks go to Holzhaus which is very active in this project and adapted many of my changes and even improved them a lot.

The current result you can get from my repository (all/main package list) by simply typing:

Code: Select all

apt-get install reicast-odroid
There are still some things to fix, but it's running very good already so if you want to try it out, feel free to do so.

BIOS
If the game does not start via the icon from the start menu (could be that it does not work the first time) then start the emulator from the command line with

Code: Select all

reicast_start
After the first start you will find a .reicast folder in your home folder where you have to place the BIOS files in a subfolder called data
BIOS files that are required are:
dc_boot.bin and dc_flash.bin

IMAGES/ROMs
Supported Image types are gdi and cdi

You can create a folder called discs in the .reicast folder and place a gdi image there with the name "game.gdi" it will be found automatically upon start of reicast.
Or you can change the image= value in the config file .reicast/emu.cfg to point at your desired cdi or gdi image. (recommanded)

Screen Options
In the config file you find three values in the [x11] section:

Code: Select all

[x11]
fullscreen=0
height=480
width=640
This defines the size of the emulator window and can be changed to your likings.
For example:

Code: Select all

[x11]
fullscreen=0
height=720
width=1280
There are also a special options:

Code: Select all

[x11]
fullscreen=0
height=480
width=-1
width=-1 will create a window of the maximum size available on your desktop (useful for the XU3)
Fullscreen mode
If you activate the fullscreen option

Code: Select all

[x11]
fullscreen=1
height=720
width=1280
or press F11 when the emulator is started.
You can switch to fullscreen mode of the emulator.

Input options
In the config file you can create a new section [input] and add the following values:

Code: Select all

[input]
evdev_device_id_1= 
evdev_mapping_1=
evdev_device_id_2= 
evdev_mapping_2=
evdev_device_id_3= 
evdev_mapping_3=
evdev_device_id_4= 
evdev_mapping_4=
Where evdev_device_id_1-4 are the IDs of the 4 controller that can be used for the emulator.
if you use

Code: Select all

ls -l /dev/input/by-path
you should get an output similar to this:

Code: Select all

odroid@gamestation-turbo:~$ ls -l /dev/input/by-path/
insgesamt 0
lrwxrwxrwx 1 root root 9 Jan  1  2000 platform-gpio-keys.0-event -> ../event0
lrwxrwxrwx 1 root root 9 Aug 22 11:16 platform-s5p-ehci-usb-0:3.2:1.0-event-joystick -> ../event3
lrwxrwxrwx 1 root root 6 Aug 22 11:16 platform-s5p-ehci-usb-0:3.2:1.0-joystick -> ../js0
lrwxrwxrwx 1 root root 9 Aug 22 11:16 platform-s5p-ehci-usb-0:3.2:1.2-event-joystick -> ../event4
lrwxrwxrwx 1 root root 6 Aug 22 11:16 platform-s5p-ehci-usb-0:3.2:1.2-joystick -> ../js1
lrwxrwxrwx 1 root root 9 Aug 22 11:16 platform-s5p-ehci-usb-0:3.2:1.4-event-joystick -> ../event5
lrwxrwxrwx 1 root root 6 Aug 22 11:16 platform-s5p-ehci-usb-0:3.2:1.4-joystick -> ../js2
lrwxrwxrwx 1 root root 9 Aug 22 11:16 platform-s5p-ehci-usb-0:3.2:1.6-event-joystick -> ../event6
lrwxrwxrwx 1 root root 6 Aug 22 11:16 platform-s5p-ehci-usb-0:3.2:1.6-joystick -> ../js3
lrwxrwxrwx 1 root root 9 Aug 21 16:08 platform-s5p-ehci-usb-0:3.3:1.0-event-kbd -> ../event1
lrwxrwxrwx 1 root root 9 Aug 21 16:08 platform-s5p-ehci-usb-0:3.3:1.1-event-mouse -> ../event2
lrwxrwxrwx 1 root root 9 Aug 21 16:08 platform-s5p-ehci-usb-0:3.3:1.1-mouse -> ../mouse0
here you can see which joystick is mapped to what event device

Code: Select all

lrwxrwxrwx 1 root root 9 Aug 22 11:16 platform-s5p-ehci-usb-0:3.2:1.0-event-joystick -> ../event3
lrwxrwxrwx 1 root root 6 Aug 22 11:16 platform-s5p-ehci-usb-0:3.2:1.0-joystick -> ../js0
as we can see the joystick js0 is mapped to event3 which means if we want to use this controller in Reicast we set evdev_device_id_1= to 3:

Code: Select all

[input]
evdev_device_id_1=3
Same goes for all the other controllers. depending on how many you want to use.
If you do not set up a controller it's simply not used in the emulator.

The mapping is "guessed" unless specificly defined (XBox 360 controllers are found automatically)
You can create your own mappings with the help of evtest and add them to the availible mappings files and then specify them in the evdev_mapping_X option.

Also make sure that permissions are set for that input device to at least read access so it can be read by the emulator
for example by entering the following as ROOT if you do not have the right permissions yet.

Code: Select all

chmod +r /dev/input/*
Number of Players
In the config file you will find a section:

Code: Select all

[players]
nb = 1
This allows you to set as many players as you want (maximum of 4)
Players equals the number of controllers, so I suggest always using 4 (four) players here. That way you will have 4 VMUs to save your games, even if you only actually use ONE player.

Rumble support
Since Build 13 reicast supports rumble as well. If your controller has rumble support so will reicast.
Sadly this removed one VMU from the controller in favor of the Jump Pack (rumble pack). Giving you a maximum of 4 VMUs rater than 8.

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

History:
Build 14:
  • updated to r8.1
  • updated controller configuration for XBox 360 and PS3 controller
  • added support for GameSir G3W (sold by HardKernel)
  • binaries for different boards
  • find changelog here
Build 13:
  • upstream patches
  • added rumble support
Build 12:
  • upstream patches
  • added support for PS3 controllers
Build 11:
  • upstream patches
  • fixed missing dependency
Build 10:
  • more upstream patches
  • readded a earlier commit that allowed to use all 8 VMUs (2 per controller) instead of only the first 2 (first controller)
Build 9:
  • many upstream fixes
  • system.keyboard and system.joystick no longer used (see above for more details)
  • new fullscreen option in [x11] section of the config file and through F11 key
  • new mappings for controllers and keyboard see mappings in $HOME/.reicast/
Build 8:
  • VMEM fix from upstream (vmem no longer written in file)
Build 7:
  • added system.keyboard and system.joystick as config parameters
    to allow change of input devices in config rather than hardcoded in emulator
Build 6:
  • removed Triangles output for XU3 (very disturbing)
Build 5:
  • added mapping for keyboard support for ODROID (and other devices)
  • added support for fullscreen mode though hight=-1 option
  • first .deb package in repository
Build 4:
  • added support for XBox 360 wireless controller
  • removed some debug outputs
Build 3:
  • added option for ODROID keyboard input over /dev/input/event0 (not nice, still static, only works if keyboard is on event0)
  • added option to use the home folder rather than the actual folder reicast runs at
    allows for globally installed reicast emulator
  • first .deb package
Build 2:
  • added sound support for ALSA-OSS (sound working)
  • sound seems to fix speed issue
Build 1:
  • initial build for ODROID devices based on RPi2 settings
Last edited by meveric on Mon Mar 07, 2016 8:35 am, edited 5 times in total.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Sat Feb 21, 2015 9:38 pm

As promised here some pictures from the running emulator...
Game is Soul Calibur:

Image
Image
Image
Image
Image
Image
Image
Image
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

robotza
Posts: 66
Joined: Fri Jan 30, 2015 4:44 am
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by robotza » Sun Feb 22, 2015 3:39 am

awesome work , do you think we can get it working with framebuffer ?

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Sun Feb 22, 2015 4:38 am

maybe.. but i haven't tried that yet..
you can see and try for yourself https://github.com/reicast/reicast-emulator

generally it should be possible since other devices use non x11 versions of this emulator as well..
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

robotza
Posts: 66
Joined: Fri Jan 30, 2015 4:44 am
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by robotza » Sun Feb 22, 2015 5:50 am

Thanks will give it a try on the C1

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Fri Mar 27, 2015 6:42 am

@robotza: Did it work?

I'm always getting:

Code: Select all

../../core/rec-ARM/arm_dyna.cpp: At global scope:
../../core/rec-ARM/arm_dyna.cpp:186:79: error: default arguments are only permitted for function parameters
 typedef void FPBinOP        (eFSReg Sd, eFSReg Sn, eFSReg Sm, ConditionCode CC=CC_AL);
                                                                               ^
../../core/rec-ARM/arm_dyna.cpp:187:79: error: default arguments are only permitted for function parameters
 typedef void FPUnOP         (eFSReg Sd, eFSReg Sm,            ConditionCode CC=CC_AL);
                                                                               ^
../../core/rec-ARM/arm_dyna.cpp:188:79: error: default arguments are only permitted for function parameters
 typedef void BinaryOP       (eReg Rd, eReg Rn, eReg Rm,       ConditionCode CC=AL);
                                                                               ^
../../core/rec-ARM/arm_dyna.cpp:189:79: error: default arguments are only permitted for function parameters
 typedef void BinaryOPImm    (eReg Rd, eReg Rn, s32 sImm8,     ConditionCode CC=AL);
                                                                               ^
../../core/rec-ARM/arm_dyna.cpp:771:10: warning: anonymous type with no linkage used to declare variable '<anonymous struct> op_table []' with linkage
 op_table[]=
          ^
Makefile:89: recipe for target 'obj/rec-ARM/arm_dyna.build_obj' failed
make: *** [obj/rec-ARM/arm_dyna.build_obj] Error 1

robotza
Posts: 66
Joined: Fri Jan 30, 2015 4:44 am
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by robotza » Sat Mar 28, 2015 12:23 am

havent had a chance to test , will try this weekend

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Sat Mar 28, 2015 4:35 am

I managed to compile it on the C1/Framebuffer. My beloved game "Incoming" is working at fullspeed or almost fullspeed as far as I can tell. I can't get sound working though. Have a look at: http://forum.odroid.com/viewtopic.php?f=116&t=11826

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Sat Mar 28, 2015 4:47 am

in case someone else reads this.. if you don't use Framebuffer but X11 instead this is working perfectly fine WITH sound, with the package i provide from my repository. :)
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Sat Mar 28, 2015 7:56 am

Well, my patches shoudn't change anything in the audio side. It's just that alsa OSS emulation causes a kernel oops in archlinux.

skint
Posts: 12
Joined: Sun Dec 28, 2014 2:51 am
languages_spoken: english
ODROIDs: ODROID XU3 - soon!
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by skint » Sun Mar 29, 2015 6:05 am

nice work! going to try this tomorrow.... are we looking at fullspeed on the XU3?

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Sun Mar 29, 2015 6:25 am

it's even fullspeed on the C1.. so yes, it's working very fine :)
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

Julius
Posts: 54
Joined: Wed Apr 30, 2014 5:59 am
languages_spoken: english
ODROIDs: X2
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Julius » Sun Mar 29, 2015 7:43 am

Awesome! How does it run on a RPi2 btw?

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Sun Mar 29, 2015 8:12 am

No clue, don't have any RPi.. but i suspect it's working ok as well..
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

jasonell
Posts: 61
Joined: Fri Mar 06, 2015 9:41 am
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by jasonell » Mon Mar 30, 2015 1:52 am

Also working on Android version depending on the game. CHeck compatability on reicast wiki for a somewhat updated game list. Only tested on C1. Sonic Adventure 2, Soul Calibur, Jet Grind Radio run full speed. Skies of Arcadia is choppy at cutscenes, and mostly playable otherwise. Use PAL version or it probably wont load.

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Thu Apr 02, 2015 10:40 pm

@meveric: Since sound is working for with OSS, do you mind checking if ALSA works too? Here's the patch for your ODROID branch: https://github.com/Holzhaus/odroid-c1-P ... anch.patch

You also need to comment the USE_OSS-switch in the makefile.

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Thu Apr 02, 2015 11:37 pm

Holzhaus wrote:@meveric: Since sound is working for with OSS, do you mind checking if ALSA works too? Here's the patch for your ODROID branch: https://github.com/Holzhaus/odroid-c1-P ... anch.patch

You also need to comment the USE_OSS-switch in the makefile.
I've seen your changes already.. I'm gonna try in a little while need some time to do that.. had a lot of other stuff to do, but i'm gonna try.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

sequoiagrove
Posts: 56
Joined: Wed Apr 01, 2015 7:36 am
languages_spoken: english
ODROIDs: XU3 Lite
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by sequoiagrove » Sat Apr 04, 2015 2:40 am

Im getting superfast playback and strange (too fast segmented) sound - anyone seen that before? on XU3.

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Sat Apr 04, 2015 4:07 am

sometimes it happens.. especially if you run it without sound..
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

sequoiagrove
Posts: 56
Joined: Wed Apr 01, 2015 7:36 am
languages_spoken: english
ODROIDs: XU3 Lite
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by sequoiagrove » Sat Apr 04, 2015 4:18 am

tried 4 games so far:

one runs too fast, but controls work
one hang in black window after intro video
one doesnt see the image file
one doesnt react to my joypad up/down/left/right so I can only press fire.

sequoiagrove
Posts: 56
Joined: Wed Apr 01, 2015 7:36 am
languages_spoken: english
ODROIDs: XU3 Lite
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by sequoiagrove » Wed Apr 08, 2015 2:40 am

tried it on your iage now. Its running well for about 10 min. then it "hangs". Always I can fight 3-4 fights and then it hangs.

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Wed Apr 08, 2015 8:08 am

i had the same issue.. actually i can get 8-9 fight done in the time.. but it hangs as well.. not sure what's causing this.. could be Debian Wheezy related, could be an issue with the Emulator itself.. i haven't had much time for testing... i actually wanted to try this with the Jessie image to see if it happens there as well.. but as i said, i haven't had time for it yet.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

sequoiagrove
Posts: 56
Joined: Wed Apr 01, 2015 7:36 am
languages_spoken: english
ODROIDs: XU3 Lite
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by sequoiagrove » Wed Apr 08, 2015 8:44 am

I tried to start the practice session and just have them stand there. it crashes after around 10min again. No error msg in terminal. Memory leak?

danjock
Posts: 1
Joined: Sat Mar 21, 2015 7:56 am
languages_spoken: english
ODROIDs: C1
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by danjock » Wed Apr 08, 2015 1:17 pm

I have tried a few different things to get this running, but simply end up with a purple screen. I hear sound briefly but that's it! I can see in the terminal the image is being loaded, have tested the image on the Pi2 and it works, but still no luck with graphics. Any ideas would be appreciated.

sequoiagrove
Posts: 56
Joined: Wed Apr 01, 2015 7:36 am
languages_spoken: english
ODROIDs: XU3 Lite
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by sequoiagrove » Thu Apr 09, 2015 7:51 pm

danjock, I tried different games and they all have different short comings. Crash right after loading screen, crash after 10 mins of playing, one seems fine but the ps3 controller doesnt work, one cant even load the image file.

Seems reicast for these boards is very buggy. I'll just stick to C64, Amiga and PSP emulators I think.

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Thu Apr 09, 2015 8:49 pm

The Emulator itself is not very good written.. if you check the first post you'll see that i had to change a lot of stuff to get basic functions to work.
Keyboard and Joystick support are rather bad implemented.. PS3 controller is not supported at all.. Only XBox360 controller... sadly i don't have a PS3 controller, or i could try to add this controller as well.
Anyway.. The Emulator shows what is possible, now let's hope the developers fixing some of the major issues to get this emulator to work properly.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

sequoiagrove
Posts: 56
Joined: Wed Apr 01, 2015 7:36 am
languages_spoken: english
ODROIDs: XU3 Lite
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by sequoiagrove » Fri Apr 10, 2015 4:00 pm

I used PS3 controller with Soul C. Worked fine. But in Mortal Kombat it did not work.

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Fri Apr 10, 2015 8:07 pm

make sure you selected the right port for it if you have more than one controller connected.. also there are different input methodes of DreamCast Controller.. Analog stick and D-Pad... although one of the both might work on the PS3 controller it's not a given, that all games use both Analog AND D-Pad.. and therefore it might not work with every game.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Mon Jun 29, 2015 12:13 am

It's been a while but finally my Audio backend cleanup Pull Request has been merged upstream. Now, it should be possible to compile in OSS, ALSA and PulseAudio support at the same time and select the appropriate backend via a config option ("backend" in the "audio" section).

@meveric: Can you rebase your odroid-branch? This way we could get rid of the ALSA-OSS emulation stuff.

Another thing is that I started posting on the RetroArch IRC channel and asked for a Libretro-port (that'd probably take care of all the input issues). Fortunately, Twinaphex told me, that he'll start porting reicast to libretro soon.

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Mon Jun 29, 2015 3:59 am

If I can figure out how to do that rebase thingie I can do that after my vacation in about 3weeks. Right now I don't have access to my ODROID.
I also tried a fix for the vmem handling which was working. Your sound fix would have been next.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Wed Jul 29, 2015 11:32 am

New PR that adds odroid-c1 support: https://github.com/reicast/reicast-emulator/pull/708

I need the /proc/cpuinfo content of other ODROIDs (Like U3/XU3/etc,) to add support for them, too.

User avatar
AreaScout
Posts: 997
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 11 times
Been thanked: 28 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by AreaScout » Wed Jul 29, 2015 2:35 pm


Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Sun Aug 02, 2015 11:37 pm

Thanks. Does the ODROID-C1+ also use "ODROIDC" and the ODROID-XU4 use "ODROID-XU3"?

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Sun Aug 02, 2015 11:59 pm

yes.. they use the same kernel and the id comes from the Kernel..
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Tue Aug 11, 2015 1:03 am

Can someone test PR #720 (Branch: add-odroid-support) on an ODROID-X/X2/U2/U3/XU/XU3/XU4 and post the result here? I do not own these devices, so I can't do that.

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Thu Aug 13, 2015 10:44 pm

ODROID support has been merged upstream.

I created a PKGBUILD for ArchLinuxARM (C1/C1+ only), but even on other distributions installation is pretty straight-forward:

Code: Select all

git clone https://github.com/reicast/reicast-emulator.git
cd reicast-emulator

# Use this for framebuffer:
make -C shell/linux

# Use this for X11:
make -C shell/linux USE_X11=1

# Use this for additional Pulseaudio support:
make -C shell/linux USE_PULSEAUDIO=1

# Use this for X11 and additional pulseaudio support:
make -C shell/linux USE_X11=1 USE_PULSEAUDIO=1

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Fri Aug 14, 2015 2:57 am

I did some testing while it wasn't upstream yet.. it was working, but it seems they changed quite a bit.. Keyboard seems to work without mapping.. joystick didn't seem to work at all..
While the emulator seems to run more stable now, i had quite some artefacts in the graphics playing Soul Calibur.
I'll do some more testing with the new upstream and see what i can do about the joystick issue.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Fri Aug 14, 2015 7:30 am

The joystick issue is probably caused by core/linux-dist/main.cpp, lines 148 and 168. The legacy joystick API will always use /dev/input/js0, the evdev api will always use /dev/event2 (which doesn't exist on ArchLinuxARM, since it would be /dev/input/event2). These values are hardcoded. I'm currently cleaning up that file and trying to make that configurable soon.
You could try patching or symlinking for now.

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Fri Aug 14, 2015 1:50 pm

nope.. i changed this.. it was part of my commits that i submitted to the Reicast github.. i created new config options for the config file that allowed to specify what the devices for joystick and keyboard are..
but for some reasons this does not work properly anymore.
https://github.com/meveric/reicast-emul ... 0caf34c64f
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Sat Aug 15, 2015 4:43 am

meveric, can you test this branch: https://github.com/reicast/reicast-emul ... st-cleanup
I added evdev support for the Xbox360 controller and also 4-controller multiplayer support there.

You need to specify the evdev device ids (the X in /dev/input/eventX) in your ~/.reicast/emu.cfg. You can look them up with the evtest utility.

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Mon Aug 17, 2015 12:05 am

So i tried your new branch: further-improve-controller-input
And got quite a few issues..
Not all components could be compiled with: -std=c++0x
for some specific files i needed to remove that option since it wasn't able to find "__clear_cache" anymore. Could be a bug in gcc/g++ 4.7.. still when i removed that option for the few files that had that issue i could compile them fine.
Sadly that wasn't the only issue... starting from 6df079de3a301647ee9b010e0a652661e63bda8b I get the following errors during compiling:

Code: Select all

../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_DPad_X’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_DPad_Y’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_DPad2_X’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_DPad2_Y’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_Analog_X’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_Analog_Y’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_Trigger_Left’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_Trigger_Right’
using the commit previous to this works fine though, so i chose that commit to do my testings.

It was somewhat hard to figure out what config option to set for
Holzhaus wrote:You need to specify the evdev device ids (the X in /dev/input/eventX) in your ~/.reicast/emu.cfg.
Would have been nice to know the required config key, rather than going through the source code to figure it out ;)
Anyway i would suggest you add the required keys to the settinga like i did here: https://github.com/meveric/reicast-emul ... #L675-L679
I think there's even a way to force it to write the keys to the config file if you check if they are null or something.. I got that to work, but i don't remember how i did it.

And while you're at it.. This might be a nice commit to use as well: https://github.com/meveric/reicast-emul ... 0149e554a6 (or something similar that allows you to use fullscreen whenever you want)

Also you might want to reconsider using "fbdev" as the default driver for ODROID devices.. Only the C1 actually benefits from it. The XU3/XU4 actually has terrible fbdev drivers and even on the Exynos 4 series (X/X2/U2/U3) rarely anyone uses fbdev drivers. So setting fbdev as default if only the C1 actually "needs" it is very definite. As far as i remember the emulator runs fine on X11 on the ODROID C1 as well, so i would rather use X11 as a default rather than fbdev.

After i got the controller to be found as a XBox 360 controller https://github.com/reicast/reicast-emul ... ev.cpp#L39

Code: Select all

-              strcmp(name, "Xbox 360 Wireless Receiver (XBOX)") == 0)
+              strcmp(name, "Xbox 360 Wireless Receiver") == 0)
I did some testing... and i have to say, it was easier to use "Generic Controller" settings with the XBox 360 controller rather than the XBox 360 controller settings.
The keys were acting strange..
I tried with Soul Calibur and here's what i found:
It seems some of the keys have double bindings.
The chracter started in a blocking stance which made it unable to move at all.
I later found out, the A or X buttons were doing actions of the L1 and R1 buttons, besides their normal actions.
If i get the charackter out of the blocking stance i could use the controller as it should be. Perssing the A button caused an attack as well as charge as well as blocking (A + L1 + R1) of the character and might end into a permanent blocking stance.
X button was attack and charge (X + R1)
Also it seems DPad is not working yet for XBox 360 configuration.
The XBox 360 controllers have a very bad deadzone.. Especially in the menu of Soul Calibur it was nearly impossible to navigate since the menu was permanently scrolling up or down even if i didn't touch the controller.

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

Besides that i still have some general issues with reicast which you probably can't help with, but i want to mention them anyway.
In Soul Calibur i have some artifacts in the menu and game with certain fonts.. not sure what is causing this.
And one issue that's kinda bugging me is that the VMU files seem not to work. They are always "full" even if they are deleted and recreated.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Mon Aug 17, 2015 11:01 am

Thanks for testing.
meveric wrote:Not all components could be compiled with: -std=c++0x
for some specific files i needed to remove that option since it wasn't able to find "__clear_cache" anymore. Could be a bug in gcc/g++ 4.7.. still when i removed that option for the few files that had that issue i could compile them fine.
Strange. I'm running gcc 5.2.0, which works fine.
meveric wrote:starting from 6df079de3a301647ee9b010e0a652661e63bda8b I get the following errors during compiling:

Code: Select all

../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_DPad_X’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_DPad_Y’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_DPad2_X’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_DPad2_Y’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_Analog_X’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_Analog_Y’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_Trigger_Left’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized const member ‘s_evdev_controller_mapping::Axis_Trigger_Right’
Yeah sorry, I was lazy. It works with gcc 5.2.0. Anyway, I fixed it, so please try again with the latest commit.
meveric wrote:It was somewhat hard to figure out what config option to set for
Holzhaus wrote:You need to specify the evdev device ids (the X in /dev/input/eventX) in your ~/.reicast/emu.cfg.
Would have been nice to know the required config key, rather than going through the source code to figure it out ;)
Sorry. Here's a description in case you still need it: https://github.com/reicast/reicast-emul ... -131645107
meveric wrote:Anyway i would suggest you add the required keys to the settinga like i did here: https://github.com/meveric/reicast-emul ... #L675-L679
I think there's even a way to force it to write the keys to the config file if you check if they are null or something.. I got that to work, but i don't remember how i did it.

And while you're at it.. This might be a nice commit to use as well: https://github.com/meveric/reicast-emul ... 0149e554a6 (or something similar that allows you to use fullscreen whenever you want)
Ok, I'll have a look at that.
meveric wrote:Also you might want to reconsider using "fbdev" as the default driver for ODROID devices.. Only the C1 actually benefits from it. The XU3/XU4 actually has terrible fbdev drivers and even on the Exynos 4 series (X/X2/U2/U3) rarely anyone uses fbdev drivers. So setting fbdev as default if only the C1 actually "needs" it is very definite. As far as i remember the emulator runs fine on X11 on the ODROID C1 as well, so i would rather use X11 as a default rather than fbdev.
True, but it's really easy to enable X11 support, and the opposite would be harder, since you can't undefine a variable from the command like and thus need to edit the Makefile. Also, since I only own a C1 (that has no X11 installed), I think it's better to leave it like that (so I can do testing). Hopefully someone makes a package at some point, so users don't need to worry about this.
meveric wrote:After i got the controller to be found as a XBox 360 controller https://github.com/reicast/reicast-emul ... ev.cpp#L39

Code: Select all

-              strcmp(name, "Xbox 360 Wireless Receiver (XBOX)") == 0)
+              strcmp(name, "Xbox 360 Wireless Receiver") == 0)
Yeah sorry, 16a79e6 fixed that.
meveric wrote:I did some testing... and i have to say, it was easier to use "Generic Controller" settings with the XBox 360 controller rather than the XBox 360 controller settings.
The keys were acting strange..
I tried with Soul Calibur and here's what i found:
It seems some of the keys have double bindings.
The chracter started in a blocking stance which made it unable to move at all.
I later found out, the A or X buttons were doing actions of the L1 and R1 buttons, besides their normal actions.
If i get the charackter out of the blocking stance i could use the controller as it should be. Perssing the A button caused an attack as well as charge as well as blocking (A + L1 + R1) of the character and might end into a permanent blocking stance.
X button was attack and charge (X + R1)
Also it seems DPad is not working yet for XBox 360 configuration.
The XBox 360 controllers have a very bad deadzone.. Especially in the menu of Soul Calibur it was nearly impossible to navigate since the menu was permanently scrolling up or down even if i didn't touch the controller.
Please test again with the latest upstream commit (fixed quite a bit) and possibly with another game, too (could also be an emulation bug). Also, it'd be nice if you could send me the supported events as reported by the evtest utility. e.g.:

Code: Select all

Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 304 (BTN_SOUTH)
    Event code 305 (BTN_EAST)
    Event code 307 (BTN_NORTH)
    Event code 308 (BTN_WEST)
    Event code 310 (BTN_TL)
    Event code 311 (BTN_TR)
    Event code 314 (BTN_SELECT)
    Event code 315 (BTN_START)
    Event code 316 (BTN_MODE)
    Event code 317 (BTN_THUMBL)
    Event code 318 (BTN_THUMBR)
    Event code 704 (BTN_TRIGGER_HAPPY1)
    Event code 705 (BTN_TRIGGER_HAPPY2)
    Event code 706 (BTN_TRIGGER_HAPPY3)
    Event code 707 (BTN_TRIGGER_HAPPY4)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value      0
      Min   -32768
      Max    32767
      Fuzz      16
      Flat     128
    Event code 1 (ABS_Y)
      Value      0
      Min   -32768
      Max    32767
      Fuzz      16
      Flat     128
    Event code 2 (ABS_Z)
      Value      0
      Min        0
      Max      255
    Event code 3 (ABS_RX)
      Value      0
      Min   -32768
      Max    32767
      Fuzz      16
      Flat     128
    Event code 4 (ABS_RY)
      Value      0
      Min   -32768
      Max    32767
      Fuzz      16
      Flat     128
    Event code 5 (ABS_RZ)
      Value      0
      Min        0
      Max      255
meveric wrote:Besides that i still have some general issues with reicast which you probably can't help with, but i want to mention them anyway.
In Soul Calibur i have some artifacts in the menu and game with certain fonts.. not sure what is causing this.
Yup, I'll ask skmp about this.
meveric wrote:And one issue that's kinda bugging me is that the VMU files seem not to work. They are always "full" even if they are deleted and recreated.
Yes, happens to me, too. Really annoying. I'll open a bug report.

Thanks for testing again. I'd be happy if you could retry with commit b4e46704d6. That one hopefully fixes your input issues.

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Mon Aug 17, 2015 11:35 am

Holzhaus wrote:
meveric wrote:And one issue that's kinda bugging me is that the VMU files seem not to work. They are always "full" even if they are deleted and recreated.
Yes, happens to me, too. Really annoying. I'll open a bug report.
You need to set the image to "null" in the config, so that you can load the BIOS menu. In the menu, go to "Files" and Reset/Format your VMU and voilà - It works ;-)

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Thu Aug 20, 2015 12:38 am

VMU worked the way you suggested.. Thanks:)

XBox Controller Mapping:

Code: Select all

Input device name: "Xbox 360 Wireless Receiver"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 304 (BTN_A)
    Event code 305 (BTN_B)
    Event code 307 (BTN_X)
    Event code 308 (BTN_Y)
    Event code 310 (BTN_TL)
    Event code 311 (BTN_TR)
    Event code 314 (BTN_SELECT)
    Event code 315 (BTN_START)
    Event code 316 (BTN_MODE)
    Event code 317 (BTN_THUMBL)
    Event code 318 (BTN_THUMBR)
    Event code 704 (BTN_TRIGGER_HAPPY1)
    Event code 705 (BTN_TRIGGER_HAPPY2)
    Event code 706 (BTN_TRIGGER_HAPPY3)
    Event code 707 (BTN_TRIGGER_HAPPY4)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value      0
      Min   -32768
      Max    32767
      Fuzz      16
      Flat     128
    Event code 1 (ABS_Y)
      Value      0
      Min   -32768
      Max    32767
      Fuzz      16
      Flat     128
    Event code 2 (ABS_Z)
      Value      0
      Min        0
      Max      255
    Event code 3 (ABS_RX)
      Value      0
      Min   -32768
      Max    32767
      Fuzz      16
      Flat     128
    Event code 4 (ABS_RY)
      Value      0
      Min   -32768
      Max    32767
      Fuzz      16
      Flat     128
    Event code 5 (ABS_RZ)
      Value      0
      Min        0
      Max      255
  Event type 21 (EV_FF)
    Event code 80 (FF_RUMBLE)
    Event code 81 (FF_PERIODIC)
    Event code 88 (FF_SQUARE)
    Event code 89 (FF_TRIANGLE)
    Event code 90 (FF_SINE)
    Event code 96 (FF_GAIN)
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Fri Aug 21, 2015 12:15 pm

Hey meveric, the basic evdev stuff is now in mainline. However, there's support for custom controller mappings coming in https://github.com/reicast/reicast-emulator/pull/769
Also, I merged the X11 stuff, which means that a) you can toggle fullscreen via F11 key and b) you can tell reicast to start in fullscreen by running "reicast.elf -config x11:fullscreen=1"

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Fri Aug 21, 2015 2:34 pm

Thanks a lot :)
I'm gonna test it as soon as i can :)

btw: i think i know what might cause the double button mapping..
By default the Makefile has USE_EVDEV AND USE_JOYSTICK activated so each time they get mapped as a evdev as well as joystick input device :)

Edit:
In that version the "Xbox 360 Wireless Receiver" still has the wrong name :)

I took the new evdev-mappings-from-file branch.. guess that messed up the X11 fix.. i'm gonna add it manually for now :)

Ok, i fixed the XBox Controller name issue on my side, downloaded x11.cpp from master and deactivated USE_JOYSTICK.
After copying the mappings folder in the config folder everything was working as it should be.. Really great so far..

Gonna make a new .deb file with the currect version as i have it, since it's working really good :)
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Sat Aug 22, 2015 6:59 pm

I updated the .deb file in my repository as well as the description in the first post..
Have fun playing Dreamcast games :)
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Fri Aug 28, 2015 9:44 pm

updated .deb file again with more upstream patches and a bugfix to activate all VMUs again.

@Holzhaus:

Code: Select all

diff --git a/core/hw/maple/maple_cfg.cpp b/core/hw/maple/maple_cfg.cpp
index 8e68255..1428169 100644
--- a/core/hw/maple/maple_cfg.cpp
+++ b/core/hw/maple/maple_cfg.cpp
@@ -22,10 +22,12 @@ Plugins:
 */
 void UpdateInputState(u32 port);
 
-extern u16 kcode[4];
-extern u32 vks[4];
-extern s8 joyx[4],joyy[4];
-extern u8 rt[4],lt[4];
+#define NUM_PORTS 4
+
+extern u16 kcode[NUM_PORTS];
+extern u32 vks[NUM_PORTS];
+extern s8 joyx[NUM_PORTS],joyy[NUM_PORTS];
+extern u8 rt[NUM_PORTS],lt[NUM_PORTS];
 
 u8 GetBtFromSgn(s8 val)
 {
@@ -69,10 +71,13 @@ void mcfg_Create(MapleDeviceType type,u32 bus,u32 port)
 void mcfg_CreateDevices()
 {
 #if DC_PLATFORM == DC_PLATFORM_DREAMCAST
-       mcfg_Create(MDT_SegaController,0,5);
+       for (int i = 0; i < NUM_PORTS; i++)
+       {
+               mcfg_Create(MDT_SegaController,i,5);
 
-       mcfg_Create(MDT_SegaVMU,0,0);
-       mcfg_Create(MDT_SegaVMU,0,1);
+               mcfg_Create(MDT_SegaVMU,i,0);
+               mcfg_Create(MDT_SegaVMU,i,1);
+       }
 #else
        mcfg_Create(MDT_NaomiJamma, 0, 5);
 #endif
That was removed (or not taken over) during the implementation of evdev.

The result is that only controller 1 does have VMUs to save games.. maybe not the best solution to always set it on 4 but at least it works.

Could this also prevent the use of multiple controllers at once? I'm gonna do more testing, but i think in the past I was always only able to use one controller although more then one was set up.
At least escape button only worked from first controller.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

Holzhaus
Posts: 163
Joined: Sat Jan 31, 2015 3:12 am
languages_spoken: english, german
ODROIDs: C1 (running ArchLinux ARM)
Has thanked: 0
Been thanked: 0
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by Holzhaus » Tue Sep 01, 2015 9:25 pm

I had to revert the multiplayer patch because skmp was concerned it might cause problems on other platforms (android et al). I'm working on it.

Currently, the evdev side of things should support multiplayer, but the emulator itself doesn't. For the meantime, you might want to try this patch:
https://github.com/free5ty1e/reicast-em ... 79ef.patch

User avatar
meveric
Posts: 10276
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2
Has thanked: 13 times
Been thanked: 102 times
Contact:

Re: [EMULATOR] Reicast (Sega DreamCast Emulator)

Unread post by meveric » Tue Sep 01, 2015 10:08 pm

my version that's in my repository is working fine with multiplayer :)
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

Post Reply

Return to “Games and Emulators”

Who is online

Users browsing this forum: No registered users and 1 guest