pi@pi ~/src/sdlmame0136 $ make Compiling src/emu/cpu/m68000/m68kmake.c... /bin/sh: 1: sdl-config: not found Package gtk+-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk+-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-2.0' found Package gconf-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gconf-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gconf-2.0' found ^Cmake: *** [obj/sdl/mame/emu/cpu/m68000/m68kmake.o] Interrupt pi@pi ~/src/sdlmame0136 $ sudo apt-get install libsdl1.2-dev libsdl-gfx1.2-dev Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libasound2-dev libavahi-client-dev libavahi-common-dev libcaca-dev libdbus-1-dev libdirectfb-dev libdirectfb-extra libelf1 libgl1-mesa-dev libglib2.0-bin libglib2.0-dev libglu1-mesa libglu1-mesa-dev libjpeg8-dev libpcre3-dev libpcrecpp0 libpng12-dev libpthread-stubs0 libpthread-stubs0-dev libpulse-dev libpulse-mainloop-glib0 libsdl-gfx1.2-4 libslang2-dev libts-dev libx11-dev libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxext-dev mesa-common-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev Suggested packages: libasound2-doc libglib2.0-doc libsdl-gfx1.2-doc libxcb-doc libxext-doc The following NEW packages will be installed: libasound2-dev libavahi-client-dev libavahi-common-dev libcaca-dev libdbus-1-dev libdirectfb-dev libdirectfb-extra libelf1 libgl1-mesa-dev libglib2.0-bin libglib2.0-dev libglu1-mesa libglu1-mesa-dev libjpeg8-dev libpcre3-dev libpcrecpp0 libpng12-dev libpthread-stubs0 libpthread-stubs0-dev libpulse-dev libpulse-mainloop-glib0 libsdl-gfx1.2-4 libsdl-gfx1.2-dev libsdl1.2-dev libslang2-dev libts-dev libx11-dev libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxext-dev mesa-common-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev 0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded. Need to get 14.6 MB of archives. After this operation, 44.4 MB of additional disk space will be used. Do you want to continue [Y/n]? y pi@pi ~/src/sdlmame0136 $ make Compiling src/emu/cpu/m68000/m68kmake.c... Package gtk+-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk+-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-2.0' found Package gconf-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gconf-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gconf-2.0' found ^Cmake: *** [obj/sdl/mame/emu/cpu/m68000/m68kmake.o] Interrupt pi@pi ~/src/sdlmame0136 $ sudo apt-cache search gtk+-2.0 gir1.2-gtk-2.0 - GTK+ graphical user interface library -- gir bindings pi@pi ~/src/sdlmame0136 $ cat /etc/issue Raspbian GNU/Linux 7 \n \l pi@pi ~/src/sdlmame0136 $ sudo apt-cache search gtk+2.0 gtk2-engines-xfce - GTK+-2.0 theme engine for Xfce gtk2.0-examples - example files for GTK+ 2.0 lazarus-ide-gtk2-0.9.30.4 - IDE for Free Pascal - GTK+ version lcl-gtk2-0.9.30.4 - Lazarus Components Library - GTK+ backend libgirara-gtk2-0 - library for minimalistic user interfaces (shared libraries, GTK+ 2) libgtk2.0-0 - GTK+ graphical user interface library libgtk2.0-0-dbg - GTK+ libraries and debugging symbols libgtk2.0-bin - programs for the GTK+ graphical user interface library libgtk2.0-cil - CLI binding for the GTK+ toolkit 2.12 libgtk2.0-cil-dev - CLI binding for the GTK+ toolkit 2.12 libgtk2.0-common - common files for the GTK+ graphical user interface library libgtk2.0-dev - development files for the GTK+ library libgtk2.0-doc - documentation for the GTK+ graphical user interface library libgwengui-gtk2-0 - Gwenhywfar GUI implementation for GTK2 ^Cpi@pi ~/src/sdlmame0136 $ sudo apt-get install libgtk2.0-dev Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: autopoint debhelper gettext gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-pango-1.0 html2text intltool-debian libatk1.0-dev libcairo-script-interpreter2 libcairo2-dev libexpat1-dev libfontconfig1-dev libgdk-pixbuf2.0-dev libgettextpo0 libice-dev libmail-sendmail-perl libpango1.0-dev libpixman-1-dev libsm-dev libsys-hostname-long-perl libunistring0 libxcb-render0-dev libxcb-shm0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxml2-utils libxrandr-dev libxrender-dev po-debconf x11proto-composite-dev x11proto-damage-dev x11proto-fixes-dev x11proto-randr-dev x11proto-render-dev x11proto-xinerama-dev Suggested packages: dh-make gettext-doc libcairo2-doc libgtk2.0-doc libice-doc libpango1.0-doc imagemagick libsm-doc libmail-box-perl The following NEW packages will be installed: autopoint debhelper gettext gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-pango-1.0 html2text intltool-debian libatk1.0-dev libcairo-script-interpreter2 libcairo2-dev libexpat1-dev libfontconfig1-dev libgdk-pixbuf2.0-dev libgettextpo0 libgtk2.0-dev libice-dev libmail-sendmail-perl libpango1.0-dev libpixman-1-dev libsm-dev libsys-hostname-long-perl libunistring0 libxcb-render0-dev libxcb-shm0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxml2-utils libxrandr-dev libxrender-dev po-debconf x11proto-composite-dev x11proto-damage-dev x11proto-fixes-dev x11proto-randr-dev x11proto-render-dev x11proto-xinerama-dev 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. Need to get 11.7 MB of archives. After this operation, 38.0 MB of additional disk space will be used. Do you want to continue [Y/n]? y Setting up libmail-sendmail-perl (0.79.16-1) ... pi@pi ~/src/sdlmame0136 $ make Compiling src/emu/cpu/m68000/m68kmake.c... Package gconf-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gconf-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gconf-2.0' found Commented out those two warning types from the makefile since I don't really know what to do with them. pi@pi ~/src/sdlmame0136 $ make Compiling src/osd/sdl/strconv.c... Compiling src/osd/sdl/sdldir.c... Compiling src/osd/sdl/sdlfile.c... Compiling src/osd/sdl/sdlos_unix.c... Compiling src/osd/sdl/sdlsync_tc.c... Compiling src/osd/sdl/sdlwork.c... src/osd/sdl/sdlwork.c: In function ‘osd_work_queue_wait’: src/osd/sdl/sdlwork.c:272:6: error: implicit declaration of function ‘osd_yield_processor’ [-Werror=implicit-function-declaration] cc1: all warnings being treated as errors make: *** [obj/sdl/mame/osd/sdl/sdlwork.o] Error 1 pi@pi ~/src/sdlmame0136 $ grep -r osd_work_queue_wait src/osd/windows/winwork.c:// osd_work_queue_wait src/osd/windows/winwork.c:int osd_work_queue_wait(osd_work_queue *queue, osd_ticks_t timeout) src/osd/osdcore.h: osd_work_queue_wait: wait for the queue to be empty src/osd/osdcore.h:int osd_work_queue_wait(osd_work_queue *queue, osd_ticks_t timeout); src/osd/sdl/sdlwork.c:// osd_work_queue_wait src/osd/sdl/sdlwork.c:int osd_work_queue_wait(osd_work_queue *queue, osd_ticks_t timeout) src/osd/sdl/window.c: while (!osd_work_queue_wait(work_queue, osd_ticks_per_second()*10)) src/osd/sdl/window.c: osd_work_queue_wait(work_queue, 100000); src/osd/osdmini/miniwork.c:// osd_work_queue_wait src/osd/osdmini/miniwork.c:int osd_work_queue_wait(osd_work_queue *queue, osd_ticks_t timeout) src/emu/video/poly.c: osd_work_queue_wait(poly->queue, osd_ticks_per_second() * 100); src/emu/sound/discrete.c: osd_work_queue_wait(info->queue, osd_ticks_per_second()*10); pi@pi ~/src/sdlmame0136 $ vi src/osd/sdl/sdlwork.c pi@pi ~/src/sdlmame0136 $ vi src/osd/sdl/sdlwork.c pi@pi ~/src/sdlmame0136 $ grep SDLMAME_NOASM * grep: artwork: Is a directory grep: cfg: Is a directory grep: comments: Is a directory grep: diff: Is a directory grep: docs: Is a directory grep: ini: Is a directory grep: keymaps: Is a directory grep: nvram: Is a directory grep: obj: Is a directory grep: roms: Is a directory grep: src: Is a directory pi@pi ~/src/sdlmame0136 $ vi src/osd/sdl/sdlwork.c pi@pi ~/src/sdlmame0136 $ grep -r SDLMAME_NOASM * src/osd/sdl/sdlmain.c: MACRO_VERBOSE(SDLMAME_NOASM); src/osd/sdl/sdlwork.c:#if defined(SDLMAME_NOASM) src/osd/sdl/sdlwork.c:#endif // SDLMAME_NOASM src/osd/sdl/sdl.mak:DEFS += -DSDLMAME_NOASM ^C pi@pi ~/src/sdlmame0136 $ vi src/osd/sdl/sdl.mak pi@pi ~/src/sdlmame0136 $ grep NOASM * grep: artwork: Is a directory grep: cfg: Is a directory grep: comments: Is a directory grep: diff: Is a directory grep: docs: Is a directory grep: ini: Is a directory grep: keymaps: Is a directory grep: nvram: Is a directory grep: obj: Is a directory grep: roms: Is a directory SDLMAME.txt:For non-x86/x64/PowerPC targets (e.g. ARM or MIPS) you must set "NOASM=1". grep: src: Is a directory pi@pi ~/src/sdlmame0136 $ vi makefile pi@pi ~/src/sdlmame0136 $ make Compiling src/osd/sdl/sdlwork.c... Compiling src/osd/sdl/debugwin.c... src/osd/sdl/debugwin.c: In function ‘memorywin_new’: src/osd/sdl/debugwin.c:470:4: error: implicit declaration of function ‘gtk_combo_box_append_text’ [-Werror=implicit-function-declaration] cc1: all warnings being treated as errors make: *** [obj/sdl/mame/osd/sdl/debugwin.o] Error 1 pi@pi ~/src/sdlmame0136 $ vi src/osd/sdl/debugwin.c pi@pi ~/src/sdlmame0136 $ grep -r NO_DEBUGGER src/osd/sdl/debugwin.c:#if !defined(NO_DEBUGGER) src/osd/sdl/osdsdl.h: - define NO_DEBUGGER in sdl.mak src/osd/sdl/osdsdl.h:#if defined(NO_DEBUGGER) src/osd/sdl/sdl.mak:DEFS += -DNO_AFFINITY_NP -DNO_DEBUGGER -DSDLMAME_X11 -DSDLMAME_UNIX src/osd/sdl/sdl.mak:DEFS += -DSDLMAME_NO_X11 -DNO_DEBUGGER src/osd/sdl/sdl.mak:DEFS += -DSDLMAME_WIN32 -DNO_DEBUGGER -DX64_WINDOWS_ABI src/osd/sdl/sdl.mak:DEFS += -DSDLMAME_OS2 -DNO_DEBUGGER ^C pi@pi ~/src/sdlmame0136 $ vi src/osd/sdl/sdl.mak Right- so eventually this started failing GTK errors- I turned my attention to modifying the roms of mspacman.zip to work with the old 0.37b5 version in mame4all, which did work- renaming mspacmab & adding a couple of roms from pacman.zip got it going. Trying to see if a slight change to the 37b5 code can be modified to work with the other mspacman roms, introduced in 037b16. The differences may only be in the src/drivers/pacman.c file, so I overwrote that file and ran a make- which will take forever. Time to investigate in a cross-compile VM. Make failed, there's some headers that are different, driver.h for one. WRT to cross-compiling, I downloaded a virtual box debian 7 VM, and am following a guide here: [[http://www.kitware.com/blog/home/post/426|http://www.kitware.com/blog/home/post/426]] along with a tip to install subversion to get things working with elibc here [[http://brains.witsmith.com/2012/10/building-cross-compiling-toolchain-for.html|http://brains.witsmith.com/2012/10/building-cross-compiling-toolchain-for.html]]. Attempt at more GTK issue resolution: pi@pi ~/src/sdlmame0136 $ make Compiling src/osd/sdl/dview.c... src/osd/sdl/dview.c: In function ‘dview_realize’: src/osd/sdl/dview.c:138:2: error: implicit declaration of function ‘GTK_OBJECT_FLAGS’ [-Werror=implicit-function-declaration] src/osd/sdl/dview.c:138:2: error: lvalue required as left operand of assignment src/osd/sdl/dview.c: In function ‘dview_size_allocate’: src/osd/sdl/dview.c:216:2: error: implicit declaration of function ‘GTK_WIDGET_REALIZED’ [-Werror=implicit-function-declaration] cc1: all warnings being treated as errors make: *** [obj/sdl/mame/osd/sdl/dview.o] Error 1 pi@pi ~/src/sdlmame0136 $ grep -r GTK_OBJECT_FLAGS * pi@pi ~/src/sdlmame0136 $ grep -r GTK_WIDGET_REALIZED * src/osd/sdl/dview.c: if(GTK_WIDGET_REALIZED(wdv)) pi@pi ~/src/sdlmame0136 $ vi src/osd/sdl/dview.c pi@pi ~/src/sdlmame0136 $ make Compiling src/osd/sdl/dview.c... src/osd/sdl/dview.c: In function ‘dview_size_allocate’: src/osd/sdl/dview.c:217:2: error: implicit declaration of function ‘GTK_WIDGET_REALIZED’ [-Werror=implicit-function-declaration] cc1: all warnings being treated as errors make: *** [obj/sdl/mame/osd/sdl/dview.o] Error 1 From: https://developer.gnome.org/gtk2/stable/GtkWidget.html#gtk-widget-set-realized GTK_WIDGET_SET_FLAGS is deprecated. Replaced GTK_WIDGET_SET_FLAGS with: /* GTK_WIDGET_SET_FLAGS(wdv, GTK_REALIZED); */ gtk_widget_set_realized(wdv, TRUE); Replaced: /* if(GTK_WIDGET_REALIZED(wdv)) */ if(gtk_widget_get_realized(wdv)) pi@pi ~/src/sdlmame0136 $ make Compiling src/osd/sdl/dview.c... src/osd/sdl/dview.c: In function ‘dview_vadj_changed’: src/osd/sdl/dview.c:122:6: error: function call has aggregate value [-Werror=aggregate-return] src/osd/sdl/dview.c: In function ‘dview_hadj_changed’: src/osd/sdl/dview.c:107:6: error: function call has aggregate value [-Werror=aggregate-return] src/osd/sdl/dview.c: In function ‘dview_update’: src/osd/sdl/dview.c:390:16: error: function call has aggregate value [-Werror=aggregate-return] src/osd/sdl/dview.c: In function ‘dview_size_allocate’: src/osd/sdl/dview.c:170:6: error: function call has aggregate value [-Werror=aggregate-return] src/osd/sdl/dview.c:171:7: error: function call has aggregate value [-Werror=aggregate-return] src/osd/sdl/dview.c: In function ‘dview_size_request’: src/osd/sdl/dview.c:288:7: error: function call has aggregate value [-Werror=aggregate-return] src/osd/sdl/dview.c: In function ‘dview_expose’: src/osd/sdl/dview.c:16:8: error: function call has aggregate value [-Werror=aggregate-return] cc1: all warnings being treated as errors make: *** [obj/sdl/mame/osd/sdl/dview.o] Error 1 Removed that flag from the makefile. Compiling src/osd/sdl/debug-intf.c... src/osd/sdl/debug-intf.c: In function ‘create_debugmain’: src/osd/sdl/debug-intf.c:272:3: error: implicit declaration of function ‘GTK_OBJECT_FLAGS’ [-Werror=implicit-function-declaration] src/osd/sdl/debug-intf.c:272:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c:273:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c:284:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c:285:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c:291:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c:292:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c: In function ‘create_memorywin’: src/osd/sdl/debug-intf.c:663:3: error: implicit declaration of function ‘gtk_combo_box_new_text’ [-Werror=implicit-function-declaration] src/osd/sdl/debug-intf.c:663:8: error: assignment makes pointer from integer without a cast [-Werror] src/osd/sdl/debug-intf.c:672:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c:673:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c: In function ‘create_disasmwin’: src/osd/sdl/debug-intf.c:999:7: error: assignment makes pointer from integer without a cast [-Werror] src/osd/sdl/debug-intf.c:1008:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c:1009:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c: In function ‘create_logwin’: src/osd/sdl/debug-intf.c:1276:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c:1277:3: error: lvalue required as left operand of assignment cc1: all warnings being treated as errors make: *** [obj/sdl/mame/osd/sdl/debug-intf.o] Error 1 Modified other instances with what I think may be right? registers = dview_new ("registers", "", "", 0, 0); gtk_widget_set_name (registers, "registers"); gtk_widget_show (registers); gtk_box_pack_start (GTK_BOX (hbox1), registers, FALSE, TRUE, 0); /* GTK_WIDGET_UNSET_FLAGS (registers, GTK_CAN_FOCUS); */ gtk_widget_set_can_focus (registers, FALSE); /* GTK_WIDGET_UNSET_FLAGS (registers, GTK_CAN_DEFAULT); */ gtk_widget_set_can_default (registers, FALSE); vbox2 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox2, "vbox2"); gtk_widget_show (vbox2); gtk_box_pack_start (GTK_BOX (hbox1), vbox2, TRUE, TRUE, 0); disasm = dview_new ("disasm", "", "", 0, 0); gtk_widget_set_name (disasm, "disasm"); gtk_widget_show (disasm); gtk_box_pack_start (GTK_BOX (vbox2), disasm, TRUE, TRUE, 2); /* GTK_WIDGET_UNSET_FLAGS (disasm, GTK_CAN_FOCUS); */ gtk_widget_set_can_focus (disasm, FALSE); /* GTK_WIDGET_UNSET_FLAGS (disasm, GTK_CAN_DEFAULT); */ gtk_widget_set_can_default (disasm, FALSE); console = dview_new ("console", "", "", 0, 0); gtk_widget_set_name (console, "console"); gtk_widget_show (console); gtk_box_pack_start (GTK_BOX (vbox2), console, TRUE, TRUE, 0); /* GTK_WIDGET_UNSET_FLAGS (console, GTK_CAN_FOCUS); */ gtk_widget_set_can_focus (console, FALSE); /* GTK_WIDGET_UNSET_FLAGS (console, GTK_CAN_DEFAULT); */ gtk_widget_set_can_default (console, FALSE); pi@pi ~/src/sdlmame0136 $ make Compiling src/osd/sdl/debug-intf.c... src/osd/sdl/debug-intf.c: In function ‘create_memorywin’: src/osd/sdl/debug-intf.c:669:3: error: implicit declaration of function ‘gtk_combo_box_new_text’ [-Werror=implicit-function-declaration] src/osd/sdl/debug-intf.c:669:8: error: assignment makes pointer from integer without a cast [-Werror] src/osd/sdl/debug-intf.c:678:3: error: implicit declaration of function ‘GTK_OBJECT_FLAGS’ [-Werror=implicit-function-declaration] src/osd/sdl/debug-intf.c:678:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c:679:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c: In function ‘create_disasmwin’: src/osd/sdl/debug-intf.c:1005:7: error: assignment makes pointer from integer without a cast [-Werror] src/osd/sdl/debug-intf.c:1014:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c:1015:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c: In function ‘create_logwin’: src/osd/sdl/debug-intf.c:1282:3: error: lvalue required as left operand of assignment src/osd/sdl/debug-intf.c:1283:3: error: lvalue required as left operand of assignment cc1: all warnings being treated as errors make: *** [obj/sdl/mame/osd/sdl/debug-intf.o] Error 1 More research uncovers "-DGTK_DISABLE_DEPRECATED". pi@pi ~/src/sdlmame0136 $ grep -r GTK_DISABLE_DEPRECATED * src/osd/sdl/sdl.mak:CFLAGS += -DGTK_DISABLE_DEPRECATED Interestingly there's a bunch of other settings in the sdl.mak file that I probably should have looked at first (if I had realized). Trying NOX11 for fun. pi@pi ~/src/sdlmame0136 $ make Compiling src/lib/util/aviio.c... src/lib/util/aviio.c: In function ‘extract_movie_info’: src/lib/util/aviio.c:1350:14: error: variable ‘audiostream’ set but not used [-Werror=unused-but-set-variable] src/lib/util/aviio.c: In function ‘parse_indx_chunk’: src/lib/util/aviio.c:1517:8: error: variable ‘subtype’ set but not used [-Werror=unused-but-set-variable] src/lib/util/aviio.c:1514:25: error: variable ‘id’ set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors make: *** [obj/sdl/mame/lib/util/aviio.o] Error 1 I don't even remember where I had to replace this but I'll find it eventually: #define CRLF 1 #if !defined(CRLF) || (CRLF < 1) || (CRLF > 3) #error CRLF undefined: must be 1 (CR), 2 (LF) or 3 (CR/LF) #endif For reference: [[http://developer.gimp.org/api/2.0/gtk/GtkComboBox.html]] [[https://developer.gnome.org/gtk2/stable/GtkWidget.html]] Starting again on another day, build failed further down the road but I'm afraid of the number of changes I've made while building. Made clean, uncommented out warnings but disabled -Werror. Checked pacman.c for what it needs in order to build and am disabling any CPU & Sound & Emu not necessary in "src/mame/mame.mak": 341 #include "emu.h" 342 #include "cpu/z80/z80.h" 343 #include "includes/pacman.h" 344 #include "cpu/s2650/s2650.h" 345 #include "machine/nvram.h" 346 #include "sound/namco.h" 347 #include "sound/ay8910.h" 348 #include "sound/sn76496.h" Build was going well but then started building amiga stuff, so I'm clearly getting more than I want. Realized via ''find ./* -name \*mak'' that there's a "tiny.mak" file provided as an example for a reduced set of games. For now I may still just try to comment out the DRVLIBS I don't need to see if that works (even though that's a lot of lines). What took hours to arrive at before is back but now in minutes, so that's something: ... src/emu/drawgfx.c:1826:4: warning: declaration of ‘srcdata’ shadows a previous local [-Wshadow] src/emu/drawgfx.c:1826:4: warning: shadowed declaration is here [-Wshadow] src/emu/drawgfx.c:1826:4: warning: declaration of ‘srcdata’ shadows a previous local [-Wshadow] src/emu/drawgfx.c:1826:4: warning: shadowed declaration is here [-Wshadow] src/emu/drawgfx.c:1826:4: warning: declaration of ‘srcdata’ shadows a previous local [-Wshadow] src/emu/drawgfx.c:1826:4: warning: shadowed declaration is here [-Wshadow] make: *** [obj/sdl/mame/emu/drawgfx.o] Error 1 It looks like the **only** real error is: src/emu/drawgfx.c: At top level: src/emu/drawgfx.c:21:7: error: size of array ‘no_priority_size_is_wrong’ is negative The rest of the output is just -Wshadow related. From the code in src/emu/drawgfx.c: /*************************************************************************** GLOBAL VARIABLES ***************************************************************************/ /* if this line errors during compile, the size of NO_PRIORITY is wrong and I need to use something else */ UINT8 no_priority_size_is_wrong[2 * (sizeof(NO_PRIORITY) == 3) - 1]; I checked out drawgfxm.h and see that NO_PRIORITY is a char dummy[3], not sure why it's negative but commenting out the no_priority_size_is_wrong line just to see what happens. NO_PRIORITY is used throughout the drawing functions, so this could be a real problem. My guess is that maybe because I'm using only pacman & namco stuff there is "no priority", so maybe this won't matter or maybe I can set it to NULL. Next up: undefined reference to `sdl_num_processors' Plus about a million undefined references to stuff- commented out all the non-used driver object stuff in mame.mak. Found [[http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=57441&page=all&PHPSESSID=3c74d06c904029be10e5bfea6062aeab|http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=57441&page=all&PHPSESSID=3c74d06c904029be10e5bfea6062aeab]] which mentions: Small issue: with NOASM defined, sdl_num_processors is missing in action. I just added it after #include "../osdmini/miniwork.c" in sdlwork.c. pi@pi ~/src/sdlmame0136 $ grep -r NOASM SDLMAME.txt:For non-x86/x64/PowerPC targets (e.g. ARM or MIPS) you must set "NOASM=1". So that's why I did that. Can fix the problem by modifying sdlwork.c, it looks like it's just an int that isn't declared. Sdlwork.c has: #if defined(SDLMAME_NOASM) #include "../osdmini/miniwork.c" #else But I don't see any reference to sdl_num_processors in miniwork.c or in osdcore.h which is included in miniwork.c. Weird. Hmm, I found the declaration in sdlwork.c later on, maybe fluke? From sdlwork.c: //============================================================ // GLOBAL VARIABLES //============================================================ int sdl_num_processors = 0; Down to about a half an hour to get to the linking stage at least, if I ever get a successful build it at least won't take days to rebuild. Same issues. Added sdl_num_processors to sdlmain.c: //============================================================ // // sdlmain.c -- SDL main program // //============================================================ // standard sdl header #include #include //added by ben int sdl_num_processors = 0; Sdl_num_processors error is gone, but still undefined references in mamedriv.o for what seems to be every single driver- I'm missing something obvious someplace in the make file: obj/sdl/mame/mame/mamedriv.o:(.rodata+0x850c): undefined reference to `driver_am_mg3' I opted to try to rebuild with the driverobjs enabled, but that again will take forever. Looking at tiny.mak- I don't see mamedriv.o included? From mamedriv.c: /****************************************************************************** mamedriv.c Copyright Nicola Salmoria and the MAME Team. Visit http://mamedev.org for licensing and usage restrictions. The list of all available drivers. Drivers have to be included here to be recognized by the executable. To save some typing, we use a hack here. This file is recursively #included twice, with different definitions of the DRIVER() macro. The first one declares external references to the drivers; the second one builds an array storing all the drivers. ******************************************************************************/ So I can edit the drivers out of mamedriv.c- or maybe just not include it in the executable? Without mamedriv.o we're left with: pi@pi ~/src/sdlmame0136 $ make Linking mame... obj/sdl/mame/libemu.a(clifront.o): In function `cli_info_listdevices': clifront.c:(.text+0x230): undefined reference to `drivers' obj/sdl/mame/libemu.a(clifront.o): In function `cli_info_listfull': clifront.c:(.text+0x348): undefined reference to `drivers' obj/sdl/mame/libemu.a(clifront.o): In function `cli_info_listroms': clifront.c:(.text+0x55c): undefined reference to `drivers' obj/sdl/mame/libemu.a(clifront.o): In function `cli_info_listcrc': clifront.c:(.text+0x6b0): undefined reference to `drivers' obj/sdl/mame/libemu.a(clifront.o): In function `cli_info_listclones': clifront.c:(.text+0x788): undefined reference to `drivers' obj/sdl/mame/libemu.a(clifront.o):clifront.c:(.text+0x840): more undefined references to `drivers' follow obj/sdl/mame/libemu.a(inptport.o): In function `frame_update': inptport.c:(.text+0x7eec): undefined reference to `coin_lockout_get_state' obj/sdl/mame/libemu.a(mame.o): In function `mame_execute': mame.c:(.text+0x1fa8): undefined reference to `generic_machine_init' mame.c:(.text+0x21e4): undefined reference to `nvram_load' mame.c:(.text+0x22b4): undefined reference to `nvram_save' obj/sdl/mame/libemu.a(ui.o): In function `slider_overyoffset': ui.c:(.text+0x11c): undefined reference to `laserdisc_get_config' ui.c:(.text+0x148): undefined reference to `laserdisc_set_config' obj/sdl/mame/libemu.a(ui.o): In function `slider_overyscale': ui.c:(.text+0x1cc): undefined reference to `laserdisc_get_config' ui.c:(.text+0x1f8): undefined reference to `laserdisc_set_config' obj/sdl/mame/libemu.a(ui.o): In function `slider_overxoffset': ui.c:(.text+0x27c): undefined reference to `laserdisc_get_config' ui.c:(.text+0x2a8): undefined reference to `laserdisc_set_config' obj/sdl/mame/libemu.a(ui.o): In function `slider_overxscale': ui.c:(.text+0x32c): undefined reference to `laserdisc_get_config' ui.c:(.text+0x358): undefined reference to `laserdisc_set_config' obj/sdl/mame/libemu.a(ui.o): In function `ui_display_startup_screens': ui.c:(.text+0x33a8): undefined reference to `device_get_info_laserdisc' ui.c:(.text+0x3e3c): undefined reference to `device_get_info_laserdisc' ui.c:(.text+0x3edc): undefined reference to `drivers' obj/sdl/mame/libemu.a(uimenu.o): In function `menu_select_game': uimenu.c:(.text+0x2da8): undefined reference to `drivers' obj/sdl/mame/libemu.a(uimenu.o): In function `menu_memory_card': uimenu.c:(.text+0x4530): undefined reference to `memcard_insert' uimenu.c:(.text+0x4584): undefined reference to `memcard_eject' uimenu.c:(.text+0x4614): undefined reference to `memcard_present' uimenu.c:(.text+0x46c4): undefined reference to `memcard_create' obj/sdl/mame/libemu.a(uimenu.o): In function `menu_bookkeeping': uimenu.c:(.text+0x5570): undefined reference to `get_dispensed_tickets' uimenu.c:(.text+0x55e8): undefined reference to `coin_counter_get_count' uimenu.c:(.text+0x5620): undefined reference to `coin_lockout_get_state' uimenu.c:(.text+0x5644): undefined reference to `coin_counter_get_count' uimenu.c:(.text+0x567c): undefined reference to `coin_lockout_get_state' uimenu.c:(.text+0x56a0): undefined reference to `coin_counter_get_count' uimenu.c:(.text+0x56d8): undefined reference to `coin_lockout_get_state' uimenu.c:(.text+0x56fc): undefined reference to `coin_counter_get_count' uimenu.c:(.text+0x5734): undefined reference to `coin_lockout_get_state' uimenu.c:(.text+0x5758): undefined reference to `coin_counter_get_count' uimenu.c:(.text+0x5790): undefined reference to `coin_lockout_get_state' uimenu.c:(.text+0x57b4): undefined reference to `coin_counter_get_count' uimenu.c:(.text+0x57ec): undefined reference to `coin_lockout_get_state' uimenu.c:(.text+0x5810): undefined reference to `coin_counter_get_count' uimenu.c:(.text+0x5848): undefined reference to `coin_lockout_get_state' uimenu.c:(.text+0x586c): undefined reference to `coin_counter_get_count' uimenu.c:(.text+0x58a4): undefined reference to `coin_lockout_get_state' uimenu.c:(.text+0x596c): undefined reference to `coin_lockout_get_state' uimenu.c:(.text+0x59a0): undefined reference to `coin_lockout_get_state' uimenu.c:(.text+0x59d4): undefined reference to `coin_lockout_get_state' uimenu.c:(.text+0x5a08): undefined reference to `coin_lockout_get_state' obj/sdl/mame/libemu.a(uimenu.o):uimenu.c:(.text+0x5a3c): more undefined references to `coin_lockout_get_state' follow obj/sdl/mame/libemu.a(validity.o): In function `validate_devices': validity.c:(.text+0xfd8): undefined reference to `drivers' obj/sdl/mame/libemu.a(validity.o): In function `mame_validitychecks': validity.c:(.text+0x1e4c): undefined reference to `drivers' collect2: ld returned 1 exit status make: *** [mame] Error 1 That validity.c at the end looks like maybe commenting out drivers I don't want may be easier. Took a long break, then tried my own tiny.mak (mspacman.c w/mame.mak) and in the process of that found out that the way I was commenting things out in mame.mak is BROKEN, and I'm an idiot. That said, my tiny file looks like it should work but I still get a bunch of undefined references. Dug around, found out I had commented out generic.o as an emulator machine type. Argh. Commenting in the .mak files is a big deal. After fixing comments: pi@pi ~/src/sdlmame0136 $ make Compiling src/mame/mspacman.c... Compiling src/version.c... Linking mame... obj/sdl/mame/libemu.a(ui.o): In function `slider_overyoffset': ui.c:(.text+0x11c): undefined reference to `laserdisc_get_config' ui.c:(.text+0x148): undefined reference to `laserdisc_set_config' obj/sdl/mame/libemu.a(ui.o): In function `slider_overyscale': ui.c:(.text+0x1cc): undefined reference to `laserdisc_get_config' ui.c:(.text+0x1f8): undefined reference to `laserdisc_set_config' obj/sdl/mame/libemu.a(ui.o): In function `slider_overxoffset': ui.c:(.text+0x27c): undefined reference to `laserdisc_get_config' ui.c:(.text+0x2a8): undefined reference to `laserdisc_set_config' obj/sdl/mame/libemu.a(ui.o): In function `slider_overxscale': ui.c:(.text+0x32c): undefined reference to `laserdisc_get_config' ui.c:(.text+0x358): undefined reference to `laserdisc_set_config' obj/sdl/mame/libemu.a(ui.o): In function `ui_display_startup_screens': ui.c:(.text+0x33a8): undefined reference to `device_get_info_laserdisc' ui.c:(.text+0x3e3c): undefined reference to `device_get_info_laserdisc' obj/sdl/mame/libsound.a(ay8910.o): In function `ay8910_start_ym': ay8910.c:(.text+0xa3c): undefined reference to `devcb_resolve_read8' ay8910.c:(.text+0xa4c): undefined reference to `devcb_resolve_read8' ay8910.c:(.text+0xa5c): undefined reference to `devcb_resolve_write8' ay8910.c:(.text+0xa6c): undefined reference to `devcb_resolve_write8' collect2: ld returned 1 exit status make: *** [mame] Error 1 Uncommented ldcore from emu.mak and get: pi@pi ~/src/sdlmame0136 $ make Compiling src/emu/machine/ldcore.c... Archiving obj/sdl/mame/libemu.a... Compiling src/version.c... Linking mame... obj/sdl/mame/libemu.a(ldcore.o): In function `device_get_info_laserdisc': ldcore.c:(.text+0x3d0): undefined reference to `pr8210_interface' ldcore.c:(.text+0x3d4): undefined reference to `simutrek_interface' ldcore.c:(.text+0x3d8): undefined reference to `ldv1000_interface' ldcore.c:(.text+0x3dc): undefined reference to `vp931_interface' obj/sdl/mame/libemu.a(ldcore.o): In function `device_reset_laserdisc': ldcore.c:(.text+0x510): undefined reference to `pr8210_interface' ldcore.c:(.text+0x514): undefined reference to `simutrek_interface' ldcore.c:(.text+0x518): undefined reference to `ldv1000_interface' ldcore.c:(.text+0x51c): undefined reference to `vp931_interface' obj/sdl/mame/libemu.a(ldcore.o): In function `device_start_laserdisc': ldcore.c:(.text+0x182c): undefined reference to `pr8210_interface' ldcore.c:(.text+0x1830): undefined reference to `simutrek_interface' ldcore.c:(.text+0x1834): undefined reference to `vp931_interface' ldcore.c:(.text+0x1838): undefined reference to `ldv1000_interface' obj/sdl/mame/libsound.a(ay8910.o): In function `ay8910_start_ym': ay8910.c:(.text+0xa3c): undefined reference to `devcb_resolve_read8' ay8910.c:(.text+0xa4c): undefined reference to `devcb_resolve_read8' ay8910.c:(.text+0xa5c): undefined reference to `devcb_resolve_write8' ay8910.c:(.text+0xa6c): undefined reference to `devcb_resolve_write8' collect2: ld returned 1 exit status make: *** [mame] Error 1 That to me looks like adding ldcore will only mean adding more stuff we don't need- which means I need to figure out what needs laserdisc support and disable that. Surely pacman games don't need laserdisc support. Duh: pi@pi ~/src/sdlmame0136 $ find ./ -name *.mak ./src/osd/windows/windows.mak ./src/osd/sdl/build.mak ./src/osd/sdl/sdl.mak ./src/osd/osdmini/osdmini.mak **./src/ldplayer/ldplayer.mak** ./src/lib/lib.mak ./src/emu/sound/sound.mak ./src/emu/cpu/mips/dismips.mak ./src/emu/cpu/cpu.mak ./src/emu/emu.mak ./src/tools/tools.mak ./src/mame/mame.mak ./src/mame/bak/mame.mak ./src/mame/bak/tiny.mak ./src/build/build.mak From src/ldplayer/ldplayer.mak: ########################################################################### # # ldplayer.mak # # Small makefile to build a standalone laserdisc player # # Copyright Nicola Salmoria and the MAME Team. # Visit http://mamedev.org for licensing and usage restrictions. # ########################################################################### Commented out the DRVLIBS entries in ldplayer.mak. pi@pi ~/src/sdlmame0136 $ find obj/ -name ld* obj/sdl/mame/emu/machine/ldcore.o pi@pi ~/src/sdlmame0136 $ rm obj/sdl/mame/emu/machine/ldcore.o pi@pi ~/src/sdlmame0136 $ make Linking mame... [same ld errors] pi@pi ~/src/sdlmame0136 $ rm obj/sdl/mame/libemu.a pi@pi ~/src/sdlmame0136 $ make Linking mame... obj/sdl/mame/libemu.a(ui.o): In function `slider_overyoffset': ui.c:(.text+0x11c): undefined reference to `laserdisc_get_config' ui.c:(.text+0x148): undefined reference to `laserdisc_set_config' obj/sdl/mame/libemu.a(ui.o): In function `slider_overyscale': ui.c:(.text+0x1cc): undefined reference to `laserdisc_get_config' ui.c:(.text+0x1f8): undefined reference to `laserdisc_set_config' obj/sdl/mame/libemu.a(ui.o): In function `slider_overxoffset': ui.c:(.text+0x27c): undefined reference to `laserdisc_get_config' ui.c:(.text+0x2a8): undefined reference to `laserdisc_set_config' obj/sdl/mame/libemu.a(ui.o): In function `slider_overxscale': ui.c:(.text+0x32c): undefined reference to `laserdisc_get_config' ui.c:(.text+0x358): undefined reference to `laserdisc_set_config' obj/sdl/mame/libemu.a(ui.o): In function `ui_display_startup_screens': ui.c:(.text+0x33a8): undefined reference to `device_get_info_laserdisc' ui.c:(.text+0x3e3c): undefined reference to `device_get_info_laserdisc' obj/sdl/mame/libsound.a(ay8910.o): In function `ay8910_start_ym': ay8910.c:(.text+0xa3c): undefined reference to `devcb_resolve_read8' ay8910.c:(.text+0xa4c): undefined reference to `devcb_resolve_read8' ay8910.c:(.text+0xa5c): undefined reference to `devcb_resolve_write8' ay8910.c:(.text+0xa6c): undefined reference to `devcb_resolve_write8' collect2: ld returned 1 exit status make: *** [mame] Error 1 pi@pi ~/src/sdlmame0136 $ find obj/ -name \*ui\* obj/sdl/mame/emu/ui.o obj/sdl/mame/emu/uigfx.o obj/sdl/mame/emu/uismall.fh obj/sdl/mame/emu/uimenu.o obj/sdl/mame/emu/uiinput.o obj/sdl/mame/build pi@pi ~/src/sdlmame0136 $ rm obj/sdl/mame/emu/ui*.o Same result. Tired of guessing, make clean, build again knowing ldplayer.mak has nothing in it. The issue with undefined references in ay8910 should be in devcb.o, which IS getting built. Strange. Also the longest build part is "voodoo.c" which is some 3dfx card that I don't need, so commenting it out of emu.mak for the future. Ldcore.o still causing problems, uncommented it in emu.mak: ldcore.c:(.text+0x3d0): undefined reference to `pr8210_interface' ldcore.c:(.text+0x3d4): undefined reference to `simutrek_interface' ldcore.c:(.text+0x3d8): undefined reference to `ldv1000_interface' ldcore.c:(.text+0x3dc): undefined reference to `vp931_interface' Uncommented the laserdisc stuff in emu.mak: pi@pi ~/src/sdlmame0136 $ make Compiling src/emu/machine/ldpr8210.c... Compiling src/emu/machine/ldv1000.c... Compiling src/emu/machine/ldvp931.c... Archiving obj/sdl/mame/libemu.a... Compiling src/version.c... Linking mame... obj/sdl/mame/libemu.a(ldpr8210.o):(.rodata+0x2c8): undefined reference to `cpu_get_info_i8748' obj/sdl/mame/libemu.a(ldpr8210.o):(.rodata+0x330): undefined reference to `cpu_get_info_i8049' obj/sdl/mame/libemu.a(ldv1000.o):(.rodata+0xd4): undefined reference to `device_get_info_ppi8255' obj/sdl/mame/libemu.a(ldv1000.o):(.rodata+0xec): undefined reference to `device_get_info_ppi8255' obj/sdl/mame/libemu.a(ldv1000.o):(.rodata+0x174): undefined reference to `ppi8255_r' obj/sdl/mame/libemu.a(ldv1000.o):(.rodata+0x17c): undefined reference to `ppi8255_w' obj/sdl/mame/libemu.a(ldv1000.o):(.rodata+0x1a0): undefined reference to `ppi8255_r' obj/sdl/mame/libemu.a(ldv1000.o):(.rodata+0x1a8): undefined reference to `ppi8255_w' obj/sdl/mame/libemu.a(ldvp931.o):(.rodata+0x98): undefined reference to `cpu_get_info_i8049' collect2: ld returned 1 exit status make: *** [mame] Error 1 Instead of adding more CPUs etc to likely get more failed dependencies, commenting out all laser disc related stuff in ui.c, hopefully we won't need that. pi@pi ~/src/sdlmame0136 $ make Compiling src/emu/ui.c... src/emu/ui.c:114:14: warning: ‘slider_overxscale’ declared ‘static’ but never defined [-Wunused-function] src/emu/ui.c:115:14: warning: ‘slider_overyscale’ declared ‘static’ but never defined [-Wunused-function] src/emu/ui.c:116:14: warning: ‘slider_overxoffset’ declared ‘static’ but never defined [-Wunused-function] src/emu/ui.c:117:14: warning: ‘slider_overyoffset’ declared ‘static’ but never defined [-Wunused-function] Archiving obj/sdl/mame/libemu.a... Compiling src/version.c... Linking mame... obj/sdl/mame/libsound.a(ay8910.o): In function `ay8910_start_ym': ay8910.c:(.text+0xa3c): undefined reference to `devcb_resolve_read8' ay8910.c:(.text+0xa4c): undefined reference to `devcb_resolve_read8' ay8910.c:(.text+0xa5c): undefined reference to `devcb_resolve_write8' ay8910.c:(.text+0xa6c): undefined reference to `devcb_resolve_write8' collect2: ld returned 1 exit status make: *** [mame] Error 1 Checked and the includes look good for devcb.h, added it explicitly anyway to ay8910.c, no change. Commented out the four lines, which will likely mean something very important is broken. Commened out unidasm.o from tools.mak, since that has tons of references to various CPUs. And finally a binary is born: obj/sdl/mame/tools/unidasm.o:(.rodata+0x75c): undefined reference to `cpu_disassemble_z180' obj/sdl/mame/tools/unidasm.o:(.rodata+0x77c): undefined reference to `cpu_disassemble_z8' collect2: ld returned 1 exit status make: *** [unidasm] Error 1 pi@pi ~/src/sdlmame0136 $ vi src/tools/ chdcd.c chdman.c ldresample.c regrep.c runtest.cmd src2html.c tools.mak chdcd.h jedutil.c ldverify.c romcmp.c split.c srcclean.c unidasm.c pi@pi ~/src/sdlmame0136 $ vi src/tools/tools.mak pi@pi ~/src/sdlmame0136 $ make Compiling src/tools/ldresample.c... Linking ldresample... Compiling src/tools/ldverify.c... Linking ldverify... Compiling src/tools/regrep.c... Linking regrep... Compiling src/tools/srcclean.c... Linking srcclean... Compiling src/tools/src2html.c... Linking src2html... Compiling src/tools/split.c... src/tools/split.c: In function ‘split_file’: src/tools/split.c:101:9: warning: variable ‘totalparts’ set but not used [-Wunused-but-set-variable] src/tools/split.c: In function ‘main’: src/tools/split.c:421:6: warning: variable ‘result’ set but not used [-Wunused-but-set-variable] Linking split... pi@pi ~/src/sdlmame0136 $ ls artwork chdman diff ini keymaps ldverify mame obj romcmp runtest split src2html testkeys cfg comments docs jedutil ldresample makefile nvram regrep roms SDLMAME.txt src srcclean ui.bdf pi@pi ~/src/sdlmame0136 $ ./mame Loading BDF font... (256 characters loaded) Loading BDF font... (512 characters loaded) Loading BDF font... (768 characters loaded) Loading BDF font... (1024 characters loaded) Loading BDF font... (1280 characters loaded) Loading BDF font... (1536 characters loaded) Generating cached BDF font... Could not initialize SDL Unable to open a console terminal Went looking to see if there might be a compiler issue with the undefined references, running "gcc version 4.6.3 (Debian 4.6.3-14+rpi1)", there's a 4.7 version available, installing it via ''sudo apt-get install gcc-4.7''. Re-instated the devcb_read lines in ay8910.c, make clean, make. No difference, and everything I try to do gets a "Bus error". Boo. Gave up, looked around, realized I also had a version of xmame someone distributed that's new enough to support mspacmnf. Compiled it over the course of two days, all set. Added user: mspacman Edited /etc/X11/xinit/xinitrc to be: #. /etc/X11/Xsession /mame/xmame.SDL Edited /etc/inittab: #1:2345:respawn:/sbin/getty --noclear 38400 tty1 1:2345:respawn:/bin/login -f mspacman tty1 /dev/tty1 2>&1 2:2345:respawn:/bin/login -f mspacman tty2 /dev/tty2 2>&1 3:2345:respawn:/bin/login -f mspacman tty3 /dev/tty3 2>&1 Edited /etc/rc.local: su -l mspacman -c startx initctl start tty TTY=/dev/tty2 & initctl start tty TTY=/dev/tty3 & Spent last night trying to get sound working- for some reason it works running via VNC, but not running as mspacman. This morning realized maybe it was permissions, ran the prog as user pi and sound exists. Checked group memberships, matched them (things like "audio" and "video" were missing!), and finally- sound. Upped the clock to 800Mhz, set xinitrc to use volume -3. Rebooted, boat work time. **TO-DO: get a proper shutdown routine working from GPIO pins or investigate ACPI, check on hiscore.dat instead of saved states- hi score doesn't seem to be working.**