Stouf
Posts: 8
Joined: Sat Jun 01, 2013 10:58 pm
Location: France
Contact: Website

Elite-Station (WIP)

Thu Aug 22, 2013 1:14 am

Hi !
I'm El_Panda's friend and co-worker. Long time reader and (almost) first time poster on this board.

Long story short, my name is Jameson and I just found back my little nice spaceship. I would like to make it fly again, using modern technologies...
Not clear ?
...
Ok, maybe you could read this story...

So I couldn't resist, and yesterday I started the EliteStation project.
My goals are :
- make Frontier Elite 2 run on a raspberry pi,
- make it run on its 2.8" touch TFT, using the nice board made by Texy
- make it run well enough to play it (using the touchscreen, of course) ^^
- and without overclocking if possible
With something like this, I may succeed with a space station docking procedure, and not crash on it !

So, I'm now there :
Video : EliteStation - Round 1

ImageImage
(please, don't pay attention to the mess of wires, there are other projects going on ;) )
Frontier Elite 2 runs out of X, on its own 2.8 TFT, but is really slow and there's still keyboard / mouse / touchscreen issues.

I tried with my own-compiled dosbox, fastdosbox and rpix86, both have pros and cons. Outside X (using a little hack), performance seems to be the same, whatever emulator I'm using.
If I run the game using rpix86 emulator, inside a X session, on a HDMI monitor, it runs pretty well. On the little TFT, inside or outside X, performance is horrible. I think SDL is making troubles on framebuffer outside X, I will investigate.
So, I still have some work, but I'm already really happy to hear the Elite theme on my headphones. Yes, audio is working :D

Now, mister Braben, could you please tell me where I could ask for my collector tee-shirt ? I really need this one ! :mrgreen:
Image
http://hardware-libre.fr

Museste
Posts: 31
Joined: Sun May 19, 2013 5:58 am
Location: Christchurch NZ

Re: Elite-Station (WIP)

Fri Aug 23, 2013 8:29 am

Congratulations mate.

Keep us up to date with your progress. This is the game the pi community is craving for!

welshy
Posts: 1667
Joined: Mon Oct 29, 2012 2:07 pm

Re: Elite-Station (WIP)

Fri Aug 23, 2013 10:00 am

Stouf
I see what you mean about the DOS performance! You may be better of using another emulator for you purposes, either Hatari - AtariST (Wheezy O/S) or ArcEm (RISC O/S). I'm not sure about the performance of ArcEM (I haven't tried it myself) but if your going for 'authenticity' it is the original (it was ported to other platforms), but Hatari runs flawlessly fullscreen from Console. Links and details below -

Link Here - http://hatari.tuxfamily.org/. The ST was faster for “Polygon” based 3D games than the Amiga (Where its custom Hardware could not assist) due to its 68000 running at a higher clock setting (8MHz as opposed to 7.16). It’s easy to compile (Use version 1.2.0), runs in Console or “X” and I haven’t had a game/demo that has foxed it as yet! Well worth a look!

Article on the History of the Acorn Archimedes and seminal space trading game Elite, written by David Honess (Davespice). Detailing how to set up/configure and use ArcEm on RISC O/S.
Link - http://www.themagpi.com/en/issue/13
Last edited by welshy on Fri Aug 23, 2013 11:48 am, edited 1 time in total.
"The list of things I have heard now contains everything!"

Stouf
Posts: 8
Joined: Sat Jun 01, 2013 10:58 pm
Location: France
Contact: Website

Re: Elite-Station (WIP)

Fri Aug 23, 2013 11:23 am

Hi, and thanks for your interest and advices !
If possible, I'd prefer using the original FE2 DOS version, because that's the one I still have in its fresh PC box. You are right, Elite and FE2 have both been ported to many platforms.
Elite even existed on NES if I remember correctly, and I still have the MSX port (in its box, sitting just right of the old-but-working MSX 2+). Running it inside a NES or MSX emulator would be really efficient I think, but also too easy :D

The fact is, I'm almost sure the performance issues I see have nothing to do with raspberry performance. Let me explain more.
- running FE2 inside a X window, on HDMI monitor, using rpix86 emulator : performance OK (really)
- running FE2 inside a X window, on HDMI monitor, using DosBox / FastDosBox : performance not OK
- running FE2 inside a X window, on 2.8 SPI display, using rpix86 / DosBox / FastDosBox : performance not OK
- running FE2 outside a X session, on 2.8 SPI display, using rpix86 emulator / DosBox / FastDosBox : performance not OK

So, in conclusion : the performance is nice inside X, on HDMI monitor only, with rpix86.
This is what makes me think the 2.8 SPI display is not using the graphic chip correctly, inside or outside X. I still have to make tests outside X, on the HDMI monitor.

When I'm saying I'm running outside a X session, I'm in reality running the emulator via a modded xinit script : I execute the emulator launch command instead of the startx one. With this method, emulator can run outside X on the 2.8 SPI display, but using the right librairies (SDL, alsa, etc). If you follow this method with rpix86, make sure to add a 'keybdmap us' to your script (it makes the keyboard work almost ok)
http://hardware-libre.fr

welshy
Posts: 1667
Joined: Mon Oct 29, 2012 2:07 pm

Re: Elite-Station (WIP)

Fri Aug 23, 2013 12:35 pm

Stouf
From the details it certainly looks as if it’s a drivers/hardware issue due to your choice of display. However, it may be advisable to try Hiatari and ArcEm, see if they resolve the problems. With regards to choosing ‘The original FE2 DOS version’, as indicated, it was a port, it was written by David Braben specifically for the Acorn Archimedes to show the superiority of their ‘New’ ARM CPU compared to the competition of the time (Intel x86, Motorola 68000). Unfortunately due to Acorns historical links to education (BBC Micro) the Archimedes never really took off, which is a shame, a quick look at Lander/Zarch compared to the other architecture's port Virus (See Link - https://www.youtube.com/watch?v=TjVeZ9c9fLM) clearly shows the CPU was far more powerful! I was actually at the press launch and praised the system, but did mention to them that without the support of the BIG Software Publishers (they didn’t have any) it would fail (there's more to a systems success than having the best hardware e.g.PS3/Xox360 vs Wii). But hey, talk about ‘Losing the Battle but Winning the War’ so far as CPU's are concerned lol!
"The list of things I have heard now contains everything!"

Stouf
Posts: 8
Joined: Sat Jun 01, 2013 10:58 pm
Location: France
Contact: Website

Re: Elite-Station (WIP)

Fri Aug 23, 2013 3:22 pm

welshy,
thank you for the history about the Archimede, I heared about it many times but never really looked into it. The pre-386 era is a very interesting topic, I really loved this period (I grew in it). I will try the emulators you pointed, for curiosity if anything else.

About my DOS issues, I think I made a few steps.

I first started Frontier from console, via rpix86, without X librairies, on the HDMI monitor. I wanted to know if rpix86 needs X librairies to run.
Result : perfect !
Speed, sound, mouse, keyboard, everything seems to work very nice.
Round 2 video : https://www.youtube.com/watch?v=GBTC754-19w
You just have to execute rpix86 from command line, nothing else is needed.

So I tried one more time on the 2.8 TFT.
Round 3 video : https://www.youtube.com/watch?v=tzZxbZa4OCc
Problem is : to make something 'go' to the LCD, I have to load the X librairies, and instead of launching startx, I execute rpix86.
Here is how :
xinit /home/pi/dosgames/conf/fe2_rpix86

fe2_rpix86

Code: Select all

#!/bin/sh
# /etc/X11/xinit/xinitrc
#
# global xinitrc file, used by all X sessions started by xinit (startx)
DISPLAY=:0 xinput --set-prop 'ADS7846 Touchscreen' 'Evdev Axis Inversion' 0 1
# invoke global X session script
setxkbmap us
exec /home/pi/dosgames/bin/rpix86 -w320 -h240 -m1 -f1
Here is how I make the 2.8 TFT "default" device :
/etc/X11/xinit/xserverrc
(not needed, I use this mod to force the dpi settings)

Code: Select all

#!/bin/sh
exec /usr/bin/X -dpi 60 -nolisten tcp "$@"
/usr/share/X11/xorg.conf.d/99-fbdev.conf

Code: Select all

Section "Device"
  Identifier "myfb"
  Driver "fbdev"
  Option "fbdev" "/dev/fb1"
EndSection
If I try to test the same thing on the HDMI monitor (without the /etc/X11/xinit/xserverrc and /usr/share/X11/xorg.conf.d/99-fbdev.conf mods), rpix86 loads on the monitor but I lose mouse and keyboard (a video is useless to see that :D ).

So, after Round 3 :
- Frontier Elite DOS runs very well on the Pi, on HDMI
- My problem is either in the framebuffer driver, or in the X librairies. If I could find another way to make the 2.8 TFT the 'default' monitor, I wouldn't have to rely on X librairies, as they are not needed for rpix86 to run, and I could locate the real problem.
http://hardware-libre.fr

texy
Forum Moderator
Forum Moderator
Posts: 5161
Joined: Sat Mar 03, 2012 10:59 am
Location: Berkshire, England

Re: Elite-Station (WIP)

Fri Aug 23, 2013 4:42 pm

Please try out 'fbcp' - it copies everything sent to the main hdmi output to fb1 as a background task :
http://www.raspberrypi.org/phpBB3/viewt ... cp#p388743


Now, where to find an original copy of Frontier for PC/DOS - nothing on eBay :(

Texy
Various male/female 40- and 26-way GPIO header for sale here ( IDEAL FOR YOUR PiZero ):
https://www.raspberrypi.org/forums/viewtopic.php?f=93&t=147682#p971555

Stouf
Posts: 8
Joined: Sat Jun 01, 2013 10:58 pm
Location: France
Contact: Website

Re: Elite-Station (WIP)

Fri Aug 23, 2013 5:46 pm

Hi texy, thanks for the tip !
I just tried with fbcp. It (kinda) works, but the emulator is still slowed down (but not as much as before). Now, I really don't know why. Could the fbtft driver make some sort of graphical bottleneck, and the emulator has to slow down to keep the two displays in sync (sort of) ? I don't know if i'm clear :D
But it's better and better.

Concerning the Frontier Elite box, I see you coming : no, no, no, I won't ever sale mine :lol:
http://hardware-libre.fr

Return to “Gaming”