Steam Link
MAME4ALL
I started porting MAME4ALL to the Steam Link, and the work in progress is available here:
https://github.com/ValveSoftware/steamlink-sdk/tree/master/examples/mame4all

It currently builds a Steam Link app package and runs some roms.

Edit: Input work and graphic/sound optimization is complete. Using a gamepad alone needs additional configuration work, but if you're familiar with MAME you should have fun with this.

Enjoy!
Автор останньої редакції: slouken; 29 січ. 2016 о 7:50
< >
Показані коментарі 3145 із 64
Цитата допису roughnecks:
Цитата допису roughnecks:
I'm trying to build for the first time and I get gibberish characters on screen and a couple errors.
My system is Debian Jessie x86, thanks.

Here's a screenshot: https://1drv.ms/i/s!AnbHHCAHJs4hgaNdhnJELLLWrBvxoQ

@slouken: any hint? Thanks
If any of you doesn't trust OneDrive, I can upload again the shot on imgur.

Nope, no idea. I do my builds in a clean Ubuntu VM.
..anyway, following da_norf's guide, I managed to run the mame app using roms on a separate USB key:

https://steamcommunity.com/app/353380/discussions/1/343787920122841325/

..only problem being that mame4all interface is terrible to browse 2000+ roms :D

..BTW, on Android I've seen there's, together with Mame4all 0.37b5, a 0.139u1 implementation:

https://play.google.com/store/apps/details?id=com.seleuco.mame4droid&hl=it

I think you've used a similar starting point for the steam app; would it be possible to compile the 0.139u1 version, or is it not feasible?
I've noticed a couple of bugs..

1) In the game list window, it is possible to press "start" to change a title's color to green, as a sort of bookmark, but (at least with the steam controller!) the on/off coloring happens both as I press and as I release the button. So it gets green when I press, but gets back white as I release, making this feature useless (actually, I can move around while the button is pressed, and when I release it makes ANOTHER title green too, so it's either 0 green titles, or 2 at once)

2) If I start a game, then exit it with ESC, and try to start another game, it (almost?) always crashes, going back to steam link selection screen. I don't know if the above USB key trick I use may have a part in this issue, but I would doubt it, since it doesn't happen if the second time I exit mame too with start+select, then run it again, and select another game.
Цитата допису Malhavoc:
I've noticed a couple of bugs..

1) In the game list window, it is possible to press "start" to change a title's color to green, as a sort of bookmark, but (at least with the steam controller!) the on/off coloring happens both as I press and as I release the button. So it gets green when I press, but gets back white as I release, making this feature useless (actually, I can move around while the button is pressed, and when I release it makes ANOTHER title green too, so it's either 0 green titles, or 2 at once)

2) If I start a game, then exit it with ESC, and try to start another game, it (almost?) always crashes, going back to steam link selection screen. I don't know if the above USB key trick I use may have a part in this issue, but I would doubt it, since it doesn't happen if the second time I exit mame too with start+select, then run it again, and select another game.

Confirm point 1 and 2, and that point 2 happens even without the USB trick above
I've just installed Virtualbox, created a VM with Ubuntu LTS x64, cloned the repo, installed build--essential and launched ./build_steamlink.sh. This is what I got:

roughnecks@ubuntu:~/clones/steamlink-sdk/examples/mame4all$ ./build_steamlink.sh Compiling src/version.cpp... armv7a-cros-linux-gnueabi-g++ --sysroot=/home/roughnecks/clones/steamlink-sdk/rootfs -marm -mfloat-abi=hard -DGP2X -DLSB_FIRST -DALIGN_INTS -DALIGN_SHORTS -DINLINE="static __inline" -Dasm="__asm__ __volatile__" -DMAME_UNDERCLOCK -DENABLE_AUTOFIRE -DBIGCASE -DHAS_Z80=1 -DHAS_8080=1 -DHAS_8085A=1 -DHAS_M6502=1 -DHAS_M65C02=1 -DHAS_M6510=1 -DHAS_N2A03=1 -DHAS_H6280=1 -DHAS_I86=1 -DHAS_I186=1 -DHAS_V20=1 -DHAS_V30=1 -DHAS_V33=1 -DHAS_I8035=1 -DHAS_I8039=1 -DHAS_I8048=1 -DHAS_N7751=1 -DHAS_M6800=1 -DHAS_M6801=1 -DHAS_M6802=1 -DHAS_M6803=1 -DHAS_M6808=1 -DHAS_HD63701=1 -DHAS_NSC8105=1 -DHAS_M6805=1 -DHAS_M68705=1 -DHAS_HD63705=1 -DHAS_HD6309=1 -DHAS_M6809=1 -DHAS_KONAMI=1 -DHAS_M68000=1 -DHAS_M68010=1 -DHAS_M68EC020=1 -DHAS_M68020=1 -DHAS_T11=1 -DHAS_S2650=1 -DHAS_TMS34010=1 -DHAS_TMS9980=1 -DHAS_Z8000=1 -DHAS_TMS320C10=1 -DHAS_CCPU=1 -DHAS_ADSP2100=1 -DHAS_ADSP2105=1 -DHAS_MIPS=1 -DHAS_CYCLONE=1 -DHAS_DRZ80=1 -DHAS_AY8910=1 -DHAS_YM2203=1 -DHAS_YM2151=1 -DHAS_YM2608=1 -DHAS_YM2610=1 -DHAS_YM2610B=1 -DHAS_YM2612=1 -DHAS_YM3438=1 -DHAS_YM2413=1 -DHAS_YM3812=1 -DHAS_YM3526=1 -DHAS_Y8950=1 -DHAS_CUSTOM=1 -DHAS_YMZ280B=1 -DHAS_POKEY=1 -DHAS_QSOUND=1 -DHAS_SN76477=1 -DHAS_SN76496=1 -DHAS_TMS36XX=1 -DHAS_TMS5220=1 -DHAS_SEGAPCM=1 -DHAS_DISCRETE=1 -DHAS_DAC=1 -DHAS_ADPCM=1 -DHAS_OKIM6295=1 -DHAS_SAMPLES=1 -DHAS_ASTROCADE=1 -DHAS_NES=1 -DHAS_NAMCO=1 -DHAS_VLM5030=1 -DHAS_MSM5205=1 -DHAS_UPD7759=1 -DHAS_HC55516=1 -DHAS_K005289=1 -DHAS_K007232=1 -DHAS_K051649=1 -DHAS_K053260=1 -DHAS_K054539=1 -DHAS_RF5C68=1 -DHAS_CEM3394=1 -DHAS_C140=1 -fsigned-char -Isrc -Isrc/sdl -Isrc/zlib -I/home/roughnecks/clones/steamlink-sdk/rootfs/usr/include/SDL2 -g -O2 -ffast-math -fno-builtin -fsingle-precision-constant -Wall -Wno-sign-compare -Wunused -Wpointer-arith -Wcast-align -Waggregate-return -Wshadow -Wno-write-strings -Wno-narrowing -DSTEAMLINK -fno-rtti -c src/version.cpp -o obj_mame_sdl/version.o /home/roughnecks/clones/steamlink-sdk/toolchain/bin/armv7a-cros-linux-gnueabi-g++: 4: exec: /home/roughnecks/clones/steamlink-sdk/toolchain/bin/../usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/gcc-bin/4.9.x-google/armv7a-cros-linux-gnueabi-g++: not found Makefile:75: recipe for target 'obj_mame_sdl/version.o' failed make: *** [obj_mame_sdl/version.o] Error 127

Why this "armv7a-cros-linux-gnueabi-g++" is not found?

roughnecks@ubuntu:~/clones/steamlink-sdk/examples/mame4all$ locate armv7a-cros-linux-gnueabi-g++ /home/roughnecks/clones/steamlink-sdk/toolchain/bin/armv7a-cros-linux-gnueabi-g++ /home/roughnecks/clones/steamlink-sdk/toolchain/bin/armv7a-cros-linux-gnueabi-g++-4.9.x-google /home/roughnecks/clones/steamlink-sdk/toolchain/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/gcc-bin/4.9.x-google/armv7a-cros-linux-gnueabi-g++ /home/roughnecks/clones/steamlink-sdk/toolchain/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/gcc-bin/4.9.x-google/armv7a-cros-linux-gnueabi-g++.real /home/roughnecks/clones/steamlink-sdk/toolchain/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/gcc-bin/4.9.x-google/armv7a-cros-linux-gnueabi-g++.real.elf
Oh, well, it's compiling now on Ubuntu Desktop, still wondering why it wouldn't on Ubuntu Server.
I successfully installed mame4all with some roms and I got a question. Some of those roms are not working, how can I get rid of them and keep the other ones?
Should I delete the app and prepare and install it again with different roms (removing the non-working ones) or is there a faster way?

Thanks, this app is really sweet :)
Цитата допису roughnecks:
I successfully installed mame4all with some roms and I got a question. Some of those roms are not working, how can I get rid of them and keep the other ones?
Should I delete the app and prepare and install it again with different roms (removing the non-working ones) or is there a faster way?

Thanks, this app is really sweet :)


I've read somewhere that you can SSH to the Link: that would be a faster way. Otherwise yes, you can delete and reinstall. The ROMS not working may be caused by a wrong ROM version: every MAME version used to require a bit different ROM packages. This one requires ROM built for 0.37b
Автор останньої редакції: Malhavoc; 22 груд. 2016 о 4:48
Yeah: "It emulates all arcade games supported by original MAME 0.37b5 plus some additional games from newer MAME versions."
Mine should be OK (about their version) so I don't know why some aren't working; not a big deal though.

And thanks about SSH suggestion, I can try that way before removing the app :)
Цитата допису roughnecks:
Yeah: "It emulates all arcade games supported by original MAME 0.37b5 plus some additional games from newer MAME versions."
Mine should be OK (about their version) so I don't know why some aren't working; not a big deal though.

Some games uses the neogeo.zip rom as well, as a sort of dependency. Do you have that as well?
Цитата допису Malhavoc:
Some games uses the neogeo.zip rom as well, as a sort of dependency. Do you have that as well?

Nope, I didn't know about that. Will add it.
Цитата допису Malhavoc:
Цитата допису roughnecks:
Yeah: "It emulates all arcade games supported by original MAME 0.37b5 plus some additional games from newer MAME versions."
Mine should be OK (about their version) so I don't know why some aren't working; not a big deal though.

Some games uses the neogeo.zip rom as well, as a sort of dependency. Do you have that as well?

I have the neogeo.zip in ROM folder and NEOGEO games work flawlesly, for example Metal Slug 1 & 2 (take in note that you have to get neogeo.zip for mame 0.37b5 as well as the ROMs for that version)
Цитата допису roughnecks:
I successfully installed mame4all with some roms and I got a question. Some of those roms are not working, how can I get rid of them and keep the other ones?
Should I delete the app and prepare and install it again with different roms (removing the non-working ones) or is there a faster way?

Thanks, this app is really sweet :)

Its better to activate SSH on SteamLink and the use a program like WinSCP, Filezilla or MOBAXTERM to transfer or delete, and even edit files/ROMs directly from your PC

Here you have the instructions to activate SSH

https://github.com/ValveSoftware/steamlink-sdk

SSH Access

You may need to enable ssh access to the Steam Link for advanced debugging. You can do this by putting a file called enable_ssh.txt on a USB drive under \steamlink\config\system, inserting it into the Steam Link and power cycle the device.

The root password is steamlink123 and should be changed using the passwd command the first time you log in.

SSH access will remain enabled until a factory reset.
Автор останньої редакції: Harkon_ES; 22 груд. 2016 о 5:34
any news / update on the project?:steamhappy:
Hello.

I just finished checking more than 2000 MAME ROMS and would like to share results.

First of all, I downloaded them here: https://archive.org/details/MAME0.37b5_MAME2000_Reference_Set_Update_2_ROMs_Samples

Since it's a release from Archive.org, there shouldn't be any Copyright issues... If that's not the case, feel free to remove this post or let me know and I'll delete the link.

I have selected 196 ROMS from the whole list and yes, these are the ones I liked, so it may not be the same for you. Anyway, here's a list of files' names, which you can pass to "cp" and copy all of the respective ROMS to the Link easily, once you downloaded the pack linked above.

You should also copy (to the Link) artworks and samples, which are located in 2 different folders inside the same pack linked above.

1941.zip 1943.zip 1943kai.zip 3countb.zip 64street.zip 88games.zip airduel.zip aliensu.zip amidar.zip androdun.zip aodk.zip aof.zip aof2.zip aof3.zip appoooh.zip ark2us.zip arkanoi2.zip arkanoid.zip arkatour.zip astormbl.zip astyanax.zip atetckt2.zip atetcktl.zip atetris.zip atetrisa.zip atlants2.zip atomicp.zip baddudes.zip baraduke.zip batman.zip bbros.zip bchopper.zip bjourney.zip bktigerb.zip blkdrgnb.zip blkdrgon.zip blktiger.zip bloodbro.zip boblbobl.zip breakers.zip breakrev.zip bubbobr1.zip bublbobl.zip bublbobr.zip cameltru.zip captcomm.zip cawing.zip cbusterw.zip champwr.zip congo.zip contrab.zip cosmogng.zip dangseed.zip ddragon.zip dduxbl.zip deadconx.zip dkong.zip doubledr.zip drgnbstr.zip drgninja.zip eightman.zip excthour.zip exprraid.zip f1dream.zip fatfursp.zip fatfury1.zip fatfury2.zip fatfury3.zip ffight.zip fightfev.zip flipshot.zip forgottn.zip fround.zip gaiden.zip galpanic.zip gaunt2.zip gauntlet.zip ghouls.zip goldnaxa.zip goldnaxe.zip growl.zip gtmr.zip gtmre.zip hachoo.zip hangly.zip hangly2.zip hook.zip hooku.zip hopmappy.zip kabukikl.zip kageki.zip karatblz.zip karatevs.zip kicker.zip kidniki.zip knights.zip kod.zip kof94.zip kof95.zip kof96.zip kof97.zip kof98.zip lbowling.zip liquidk.zip loht.zip megaman.zip mslug.zip mslug2.zip mspacman.zip msword.zip mtwins.zip mutnat.zip ncombat.zip ncommand.zip nemo.zip neodrift.zip neogeo.zip ninjak.zip ninjamas.zip nspirit.zip offroad.zip offroadt.zip outrun.zip pacland.zip pang.zip pang3.zip passsht.zip passshtb.zip pbobble.zip pcktgal.zip pcktgal2.zip pcktgalb.zip peekaboo.zip pingpong.zip pkladies.zip powerins.zip pspikes.zip pspikes2.zip punisher.zip puzbobb.zip ragnagrd.zip raiden.zip rampage.zip rampage2.zip rastan.zip rbff1.zip rbff2.zip rbffspec.zip riotcity.zip rollerg.zip samsho.zip samsho2.zip samsho3.zip samsho4.zip savagere.zip selectedroms.txt sf1.zip sf2.zip shadowld.zip shaolins.zip shinobi.zip simpsn2p.zip simpsons.zip skykid.zip slammast.zip snakjack.zip sonson.zip spinmast.zip ssrdrabd.zip ssrdrebc.zip ssrdrebd.zip ssrdrjbd.zip ssrdruac.zip ssrdrubc.zip ssrdruda.zip stoneage.zip streetsj.zip tankfrce.zip tmnt.zip tmnt2.zip tokib.zip tophuntr.zip tpgolf.zip trackfld.zip trojan.zip tumblep.zip turfmast.zip twincobr.zip uccops.zip wakuwak7.zip wardner.zip wboy.zip wboy2.zip wboy3.zip wboy4.zip willow.zip xmen.zip

They occupy about 705MB of disk space, so there's no problem if you want to use MAME only; on the contrary, if you have other applications installed, keep in mind that available space on the Link is about 1GB.

Filesystem Size Used Avail Use% Mounted on /dev/loop0 975.9M 742.2M 182.5M 80% /home/apps

Here you can download selected roms' list in a txt file:
https://1drv.ms/t/s!AnbHHCAHJs4hgahtMfqAoNAOBmjD7g

Cheers :freebeer:
Автор останньої редакції: roughnecks; 22 лют. 2017 о 6:43
< >
Показані коментарі 3145 із 64
На сторінку: 1530 50

Опубліковано: 25 січ. 2016 о 1:11
Дописів: 64