Git Product home page Git Product logo

Comments (21)

victort avatar victort commented on July 2, 2024

happens with both openjdk-7-jre and sun-java6-jre

from mamehub.

jeremyblow avatar jeremyblow commented on July 2, 2024

Same issue for me on Raspberry Pi. Clean install.

wheezy-armel
sun jdk-7u21-linux-arm
libswt-gtk-3-jni
apache-maven-3.0.5

But mostly posting this just to say I'm on a Raspberry Pi. ... No.. I'm ona boaaaaat.

(load average: 2.49, 3.94, 3.64)

from mamehub.

MisterTea avatar MisterTea commented on July 2, 2024

Thanks for finding this out. If you git pull and then go to the Client directory and run

mvn package

and then

java -jar target/MAMEHubClient-0.0.1-SNAPSHOT.jar

it should be able to read the hashes in the hash directory.

from mamehub.

jeremyblow avatar jeremyblow commented on July 2, 2024

Found the hash dir and missing mameROMs.xml.gz in the http://10ghost.net/MAMEHubDownloads/MAMEHub2_Linux32_0.6.zip package, which I imagine is a stable release. Is what is here on github a fork, current dev version, or other?

from mamehub.

MisterTea avatar MisterTea commented on July 2, 2024

Its a copy :-D
On May 10, 2013 12:02 AM, "Jeremy Blow" [email protected] wrote:

Found the hash dir and missing mameROMs.xml.gz in the
http://10ghost.net/MAMEHubDownloads/MAMEHub2_Linux32_0.6.zip package,
which I imagine is a stable release. Is what is here on github a fork,
current dev version, or other?


Reply to this email directly or view it on GitHubhttps://github.com//issues/3#issuecomment-17707051
.

from mamehub.

jeremyblow avatar jeremyblow commented on July 2, 2024

Heya MisterTea...

Just wanted to report (in this dead and closed issue) that your commit resolved that issue. And, also, the lobby finally loaded on my Raspberry Pi.... but took 2 days for the Audit to complete! haha. :-)

I moved over to the Sun JDK 8 prerelease for arm/hardfloat. Much faster than OpenJDK on the rPi on the heavy tasks (maybe 5x to 10x speedup).

Anyway, thought you'd get a kick outa the info.

JB

from mamehub.

MisterTea avatar MisterTea commented on July 2, 2024

Awesome!! Does MAME work on the raspberry pi?

I'm going to open source the MAME changes pretty soon.

On Sun, May 12, 2013 at 12:56 PM, Jeremy Blow [email protected]:

Heya MisterTea...

Just wanted to report (in this dead and closed issue) that your commit
resolved that issue. And, also, the lobby finally loaded on my Raspberry
Pi.... but took 2 days for the Audit to complete! haha. :-)

I moved over to the Sun JDK 8 prerelease for arm/hardfloat. Much faster
than OpenJDK on the rPi on the heavy tasks (maybe 5x to 10x speedup).

Anyway, thought you'd get a kick outa the info.

JB


Reply to this email directly or view it on GitHubhttps://github.com//issues/3#issuecomment-17784238
.

from mamehub.

jeremyblow avatar jeremyblow commented on July 2, 2024

So far, I've only worked on mamehub. I'm going to give csmame/mame a go later this evening. I'll let you know how it goes.

Cool, looking forward it!

JB

from mamehub.

MisterTea avatar MisterTea commented on July 2, 2024

If you could share a pic of your pi running mamehub, that would be awesome!

from mamehub.

jeremyblow avatar jeremyblow commented on July 2, 2024

Shirley..

MAMEHub on rPi
Imgur

CPU eventually settles down. Player state changes peg it for about 15-30 seconds.

from mamehub.

MisterTea avatar MisterTea commented on July 2, 2024

Hey,

Now that the emulator is open sourced, would it be possible to get the entire thing working on a pi?

from mamehub.

jeremyblow avatar jeremyblow commented on July 2, 2024

Totally. Our rag-tag fugitive team is hacking on it. CSMame first. Mamehub is a bear on rPi... we'll need to dig in to the internals to see where the bottlenecks are (Java vs. mamehub processes).

from mamehub.

jeremyblow avatar jeremyblow commented on July 2, 2024

Here's what we are facing. At the versions of MAME that CSMame is using, ARM support is non-trivial. The forks, advanceMAME and MAME4ALL seem to have moved forward and will build on ARM, but are such a step backwards as far as the emulator version, and offer no hope of compatibility with CSMame. Could we plow through and get it to work, probably, but it'd end up being yet another port of MAME, and, I'm guessing it would take a MAME dev 1/100th the time to fix the problems.

There was one guy who seems to have gotten MAME to build on a cubox. His patch to MAME was pretty large. But, cubox is ARMv7 and the rPi is ARMv6, which is also a non-trivial issue.

There is much speculation out there stating that it's a lost cause anyway because the rPi is under-powered for modern MAME. Somewhat annoying because it's all speculation, I'm pretty certain nobody has been able to even try it. Certainly they are not considering the perf improvements MAME has encountered as a result of its c++ overhaul. Will it still be underpowered, I don't know, I believe it's an open question.

from mamehub.

MisterTea avatar MisterTea commented on July 2, 2024

Hey Jeremy,

Are you sure about ARM support in current versions? I compiled the latest
version of MAME for ARM a few years back with only a few hiccups. I also
built MAME 0.146 for android without too much trouble and that's ARM. I'm
pretty sure we could get a raspberry pi build of CSMAME without too much
trouble.

IIRC, I had to change all of the dynamic_cast<..> functions to use C++
polymorphism, but that was the only problem.

On Tue, Jun 11, 2013 at 5:31 PM, Jeremy Blow [email protected]:

Here's what we are facing. At the versions of MAME that CSMame is using,
ARM support is non-trivial. The forks, advanceMAME and MAME4ALL seem to
have moved forward and will build on ARM, but are such step backwards as
far as the emulator version, and offer no hope of compatibility with
CSMame. Could we plow through and get it to work, probably, but it'd end up
being yet another port of MAME, and, I'm guessing it would take a MAME dev
1/100th the time to fix the problems.

There was one guy who seems to have gotten MAME to build on a cubox.
His patch to MAME was pretty large. But, cubox is ARMv7 and the rPi is
ARMv6, which is also a non-trivial issue.

There is much speculation out there stating that it's a lost cause anyway
because the rPi is under-powered for modern MAME. Somewhat annoying because
it's all speculation, I'm pretty certain nobody has been able to even try
it. Certainly they are not considering the perf improvements MAME has
encountered as a result of its c++ overhaul. Will it still be underpowered,
I don't know, I believe it's an open question.


Reply to this email directly or view it on GitHubhttps://github.com//issues/3#issuecomment-19301069
.

from mamehub.

jeremyblow avatar jeremyblow commented on July 2, 2024

Hey, that's encouraging. Can't imagine much has changed since .146. Surprised haven't found anyone doing it yet. Do you happen remember your build environment? I may be missing something basic. I've been building either via qemu'd raspbian, chrooted cross compiling on deb 7 64 as armv6 (gcc version 4.6.3 (Debian 4.6.3-14+rpi1)), or straight cross via gcc linaro-4.7.-2013.01 / crosstool-ng w/ arm-unknown-linux-gnueabi.

from mamehub.

MisterTea avatar MisterTea commented on July 2, 2024

I don't remember the build environment, but if you give me instructions on
how you are building it, I can work through the errors myself. I've been
working with the MAME codebase for awhile
On Jun 11, 2013 10:19 PM, "Jeremy Blow" [email protected] wrote:

Hey, that's encouraging. Can't imagine much has changed since .146.
Surprised haven't found anyone doing it yet. Do you happen remember your
build environment? I may be missing something basic. I've been building
either via qemu'd raspbian, chrooted cross compiling on deb 7 64 as armv6
(gcc version 4.6.3 (Debian 4.6.3-14+rpi1)), or straight cross via gcc
linaro-4.7.-2013.01 / crosstool-ng w/ arm-unknown-linux-gnueabi.


Reply to this email directly or view it on GitHubhttps://github.com//issues/3#issuecomment-19307348
.

from mamehub.

jeremyblow avatar jeremyblow commented on July 2, 2024

That'd be excellent. My MAME exposure is just about one month. :-) Plus I only dig into C++ when troubleshooting stuff. Chrooted is probably the quickest path, here are my build steps. Note this also includes using directfb / cubox patch at the bottom, which is optional but moved me further along.

Grab Raspbian

wget http://mirrors.rit.edu/rpi/images/raspbian/2013-02-09-wheezy-raspbian/2013-02-09-wheezy-raspbian.zip

Grab qemu

sudo apt-get install qemu qemu-user qemu-user-static qemu-system

The raspbian image is a little too cozy, only couple hundred MB free. Expand it to 4GB.

unzip 2013-02-09-wheezy-raspbian.zip
qemu-img resize 2013-02-09-wheezy-raspbian.img +2G

Raspbian will have boot problems via qemu unless we prevent preloading some libraries.
Mount the second partition in the image so we can make some changes.

mkdir raspbian_root
sudo mount 2013-02-09-wheezy-raspbian.img -o offset=62914560 ./raspbian_root

sudo vi ./raspbian_root/etc/ld.so.preload and comment out the first line. You should end
up with:

#/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so

We need to make a another change to udev so we can expand the partition via raspi-config.
Create sudo vi ./raspbian_root/etc/udev/rules.d/90-qemu.rules and add the folllwing:

KERNEL=="sda", SYMLINK+="mmcblk0"
KERNEL=="sda?", SYMLINK+="mmcblk0p%n",

Great. Go ahead and umount the img.

sudo umount ./raspbian_root

Next, we'll boot up the image, run a quick fsck, reboot, and expand the second partition.
Boot the image:

wget http://xecdesign.com/downloads/linux-qemu/kernel-qemu
qemu-system-arm -kernel kernel-qemu \
  -cpu arm1176 \
  -m 256 \
  -M versatilepb \
  -no-reboot \
  -serial stdio \
  -append "root=/dev/sda2 panic=1" \
  -hda ./2013-02-09-wheezy-raspbian.img

On the launched vm, you'll see some file system errors, when you get to the shell you can fix
them with fsck. Make sure you're in the pi shell and not on your local system!

fsck /dev/sda2  # Say yes to prompt
exit

You should be exited out of qemu, relaunch the vm again:

qemu-system-arm -kernel kernel-qemu \
  -cpu arm1176 \
  -m 256 \
  -M versatilepb \
  -no-reboot \
  -serial stdio \
  -append "root=/dev/sda2 panic=1" \
  -hda ./2013-02-09-wheezy-raspbian.img

When you get to the shell, login (username pi, password raspberry). Launch raspi-config using
sudo raspi-config. A menu should load. Choose the option to "expand file system". When it's
finished, choose Finish and say yes to reboot. Qemu should exit. Relaunch qemu again as done
in the previous step to allow resize2fs to resize the partition. When it's done booting, login and sudo halt. Exit qemu when system is halted.

From here, we're ready to chroot the img. First mount it back up:

sudo mount 2013-02-09-wheezy-raspbian.img -o offset=62914560 ./raspbian_root

Next, chroot the mount.

sudo chroot ./raspbian_root

From here, most things will work. You won't have /proc, /sys or /dev, but for building this seems
to mostly be a cosmetic issue. If it truly concerns you, you can mount bind your system's proc/sys/dev,
but this makes me uncomfortable and probably not necessary. If you need to exit out at any time just exit
and umount ./raspbian_root.

On to MAME.

Some deps, some may not be needed, but were added while troubleshooting.

sudo apt-get update
sudo apt-get install qt4-dev-tools
sudo apt-get install libgtk2.0-dev
sudo apt-get install libgconf2-dev
sudo apt-get install libasound2-dev
sudo apt-get install libsdl1.2-dev
sudo apt-get install libfontconfig1-dev
sudo apt-get install libexpat1-dev
sudo apt-get install libflac-dev
sudo apt-get install libportmidi-dev
sudo apt-get install libdirectfb-bin  # possibly optional
sudo apt-get install libdirectfb-dev  # possibly optional
sudo apt-get install g++
sudo apt-get install zlib-bin
sudo apt-get install libjpeg8
sudo apt-get install libportmidi0
sudo apt-get install unzip expat

Get MAME

mkdir /home/pi/mame
cd /home/pi/mame
wget http://mamedev.thiswebhost.com/releases/mame0148s.zip
unzip mame0148s.zip
unzip mame.zip

From here, you can make normally. Using -jwhatever to build if you have the cores is fine while chrooted.

I've been looking at this guy's patch
for cubox and playing with directfb. Moved me further along, but also may have moved me backwards.

wget -O mame0148.pkg.tgz http://www.solid-run.com/phpbb/download/file.php?id=46
tar -zxvf mame0148.pkg.tgz
patch -p1 < mame0148.pkgbuild/mame0148.cubox.jan21.patch 

make -j9 OSD=directfb NOWERROR=1

That's it so far. A few of us who are interested this generally hang out in IRC. E-mail me if you want the server/channel info.

Kewl. Looking forward.

from mamehub.

jeremyblow avatar jeremyblow commented on July 2, 2024

oh hey now. Just saw Dave Spencer post on your g+. Do you work with him? I worked with him at his start-up a long long time ago in a land far far away called Santa Monica. If u see him tell him I say hello! :-)

from mamehub.

MisterTea avatar MisterTea commented on July 2, 2024

I used to work with him, but I still see him from time to time. I'll let
him know you said hi!

On Wed, Jun 12, 2013 at 12:36 AM, Jeremy Blow [email protected]:

oh hey now. Just saw Dave Spencer post on your g+. Do you work with him? I
worked with him at his start-up a long long time ago in a land far far away
called Santa Monica. If u see him tell him I say hello! :-)


Reply to this email directly or view it on GitHubhttps://github.com//issues/3#issuecomment-19310711
.

from mamehub.

jeremyblow avatar jeremyblow commented on July 2, 2024

That's really cool. I learned a LOT from Dave. Thx!

from mamehub.

MisterTea avatar MisterTea commented on July 2, 2024

Hey Jeremy: The MAMEHub GUI is MUCH faster now, I bet it will run pretty smoothly on a raspberry pi.

from mamehub.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.