RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Pro tip for anyone thinking of installing MESS

    Scheduled Pinned Locked Moved Help and Support
    messoverheat
    31 Posts 7 Posters 4.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • pjftP
      pjft
      last edited by

      Out of curiosity, slightly tangential, what would you be using MESS or AdvanceMESS for that other emulators don't allow for?

      I never used it and never really heard a lot about it hence my question.

      S 1 Reply Last reply Reply Quote 0
      • S
        SpudsMcToole Banned @pjft
        last edited by SpudsMcToole

        @pjft Tons of stuff - Bally Astrocade, BBC Micro, ZX81 and quite a few more.

        I think I'm going to give up early, though. Everything written about it is just completely incomprehensible gibberish. As far as I can tell I now have at least four versions of MESS successfully installed on my Pi, and not the tiniest idea how to use any of them.

        herb_fargusH mediamogulM 2 Replies Last reply Reply Quote 1
        • herb_fargusH
          herb_fargus administrators @SpudsMcToole
          last edited by

          @spudsmctoole they call it MESS for a reason ;)

          If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

          Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

          1 Reply Last reply Reply Quote 4
          • mediamogulM
            mediamogul Global Moderator @SpudsMcToole
            last edited by

            @spudsmctoole

            I use it for Bally Astrocade and Fairchild Channel F. For their time, they were both very impressive systems. The version of Pac-Man for Astrovision is especially mind-blowing when you look at the other home alternatives.

            RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

            S 1 Reply Last reply Reply Quote 1
            • S
              SpudsMcToole Banned @mediamogul
              last edited by

              @mediamogul How did you get the Astrocade to work?

              mediamogulM 1 Reply Last reply Reply Quote 0
              • mediamogulM
                mediamogul Global Moderator @SpudsMcToole
                last edited by mediamogul

                @SpudsMcToole

                I used AdvanceMESS, which is installed alongside AdvanceMAME and I in-turn installed the Astrocade BIOS (astrocde.zip) to /home/pi/RetroPie/roms/mame-advmame/advmess/rom/. Afterwards, I createad a directory named 'astrocade' at /home/pi/RetroPie/roms/ for the ROMs and then another directory named 'astrocade' at /opt/retropie/configs/ where I copied /opt/retropie/mame-advmame/advmess.rc, so the system could have its own unique config file. Also, in /opt/retropie/configs/, I created a emulators.cfg file with the following contents:

                astrocade-advmess = "/opt/retropie/emulators/advmame/bin/advmess astrocde -cfg /opt/retropie/configs/astrocade/advmess.rc -cart %ROM%"
                default = "astrocade-advmess"
                

                Finally, I edited /opt/retropie/configs/all/emulationstation/es_systems.cfg to include:

                    <name>astrocade</name>
                    <fullname>Bally Astrocade</fullname>
                    <path>/home/pi/RetroPie/roms/astrocade</path>
                    <extension>.bin .BIN</extension>
                    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ astrocade %ROM%</command>
                    <platform>astrocade</platform>
                    <theme>astrocade</theme>
                  </system>
                

                That should do it, but below I'll also include my /opt/retropie/configs/astrocade/advmess.rc as a reference. There, you'll see a few settings that refine the picture and also setup analog control for the games that need it. All in all though, it's not too dissimilar from the settings you find in AdvanceMAME.

                debug_crash no
                debug_rawsound no
                debug_speedmark no
                device_alsa_device default
                device_alsa_mixer channel
                device_color_bgr15 yes
                device_color_bgr16 yes
                device_color_bgr24 yes
                device_color_bgr32 yes
                device_color_bgr8 yes
                device_color_palette8 yes
                device_color_yuy2 yes
                device_dpi_pclock_low 31250000
                device_hdmi_pclock_low 0
                device_joystick auto
                device_keyboard raw
                device_mouse auto
                device_raw_firstkeyhack no
                device_raw_mousedev[0] auto
                device_raw_mousedev[1] auto
                device_raw_mousedev[2] auto
                device_raw_mousedev[3] auto
                device_raw_mousetype[0] pnp
                device_raw_mousetype[1] pnp
                device_raw_mousetype[2] pnp
                device_raw_mousetype[3] pnp
                device_sdl_samples 512
                device_sound auto
                device_video auto
                device_video_cursor auto
                device_video_doublescan yes
                device_video_fastchange no
                device_video_interlace yes
                device_video_output auto
                device_video_overlaysize auto
                device_video_singlescan yes
                dir_artwork /home/pi/RetroPie/roms/mame-advmame/advmess/artwork
                dir_crc /home/pi/RetroPie/roms/mame-advmame/advmess/crc
                dir_diff /home/pi/RetroPie/roms/mame-advmame/advmess/diff
                dir_hi /home/pi/RetroPie/roms/mame-advmame/advmess/hi
                dir_image /home/pi/RetroPie/roms/mame-advmame/advmess/image
                dir_inp /home/pi/RetroPie/roms/mame-advmame/advmess/inp
                dir_memcard /home/pi/RetroPie/roms/mame-advmame/advmess/memcard
                dir_nvram /home/pi/RetroPie/roms/mame-advmame/advmess/nvram
                dir_rom /home/pi/RetroPie/roms/mame-advmame/advmess/rom
                dir_sample /home/pi/RetroPie/roms/mame-advmame/advmess/sample
                dir_snap /home/pi/RetroPie/roms/mame-advmame/advmess/snap
                dir_sta /home/pi/RetroPie/roms/mame-advmame/advmess/sta
                display_adjust none
                display_antialias yes
                display_artwork_backdrop yes
                display_artwork_bezel no
                display_artwork_crop yes
                display_artwork_overlay yes
                display_aspect auto
                display_beam 1
                display_brightness 1
                display_buffer no
                display_color auto
                display_expand 1.0
                display_flicker 0
                display_flipx no
                display_flipy no
                display_frameskip auto
                display_gamma 1
                display_intensity 1.5
                display_interlaceeffect none
                display_magnify auto
                display_magnifysize 640
                display_mode auto
                display_pausebrightness 1
                display_resize integer
                display_resizeeffect none
                display_restore yes
                display_rgbeffect none
                display_rol no
                display_ror no
                display_scanlines no
                display_skipcolumns auto
                display_skiplines auto
                display_translucency yes
                display_vsync yes
                include 
                input_hotkey yes
                input_idleexit 0
                input_map[event10] auto
                input_map[event11] auto
                input_map[event12] auto
                input_map[event13] auto
                input_map[event14] auto
                input_map[event1] auto
                input_map[event2] auto
                input_map[event3] auto
                input_map[event4] auto
                input_map[event5] auto
                input_map[event6] auto
                input_map[event7] auto
                input_map[event8] auto
                input_map[event9] auto
                input_map[key_0] auto
                input_map[key_1] auto
                input_map[key_2] auto
                input_map[key_3] auto
                input_map[key_4] auto
                input_map[key_5] auto
                input_map[key_6] auto
                input_map[key_7] auto
                input_map[key_8] auto
                input_map[key_9] auto
                input_map[key_a] auto
                input_map[key_again] auto
                input_map[key_alt] auto
                input_map[key_asterisk] auto
                input_map[key_b] auto
                input_map[key_back] auto
                input_map[key_backquote] auto
                input_map[key_backslash] auto
                input_map[key_backspace] auto
                input_map[key_break] auto
                input_map[key_c] auto
                input_map[key_capslock] auto
                input_map[key_closebrace] auto
                input_map[key_colon] auto
                input_map[key_comma] auto
                input_map[key_copy] auto
                input_map[key_ctrl] auto
                input_map[key_cut] auto
                input_map[key_d] auto
                input_map[key_del] auto
                input_map[key_diesis] auto
                input_map[key_doublequote] auto
                input_map[key_down] auto
                input_map[key_e] auto
                input_map[key_edit] auto
                input_map[key_end] auto
                input_map[key_enter] auto
                input_map[key_equals] auto
                input_map[key_esc] auto
                input_map[key_f10] auto
                input_map[key_f11] auto
                input_map[key_f12] auto
                input_map[key_f13] auto
                input_map[key_f14] auto
                input_map[key_f15] auto
                input_map[key_f16] auto
                input_map[key_f17] auto
                input_map[key_f18] auto
                input_map[key_f19] auto
                input_map[key_f1] auto
                input_map[key_f20] auto
                input_map[key_f21] auto
                input_map[key_f22] auto
                input_map[key_f23] auto
                input_map[key_f24] auto
                input_map[key_f2] auto
                input_map[key_f3] auto
                input_map[key_f4] auto
                input_map[key_f5] auto
                input_map[key_f6] auto
                input_map[key_f7] auto
                input_map[key_f8] auto
                input_map[key_f9] auto
                input_map[key_f] auto
                input_map[key_fctn] auto
                input_map[key_find] auto
                input_map[key_forward] auto
                input_map[key_g] auto
                input_map[key_graph] auto
                input_map[key_h] auto
                input_map[key_help] auto
                input_map[key_hold] auto
                input_map[key_home] auto
                input_map[key_i] auto
                input_map[key_ins] auto
                input_map[key_j] auto
                input_map[key_k] auto
                input_map[key_l] auto
                input_map[key_lalt] auto
                input_map[key_lctrl] auto
                input_map[key_left] auto
                input_map[key_less] auto
                input_map[key_lshift] auto
                input_map[key_m] auto
                input_map[key_menu] auto
                input_map[key_minus] auto
                input_map[key_move] auto
                input_map[key_n] auto
                input_map[key_numlock] auto
                input_map[key_o] auto
                input_map[key_open] auto
                input_map[key_openbrace] auto
                input_map[key_p] auto
                input_map[key_pad_0] auto
                input_map[key_pad_1] auto
                input_map[key_pad_2] auto
                input_map[key_pad_3] auto
                input_map[key_pad_4] auto
                input_map[key_pad_5] auto
                input_map[key_pad_6] auto
                input_map[key_pad_7] auto
                input_map[key_pad_8] auto
                input_map[key_pad_9] auto
                input_map[key_pad_asterisk] auto
                input_map[key_pad_colon] auto
                input_map[key_pad_diesis] auto
                input_map[key_pad_enter] auto
                input_map[key_pad_minus] auto
                input_map[key_pad_plus] auto
                input_map[key_pad_slash] auto
                input_map[key_paste] auto
                input_map[key_pause] auto
                input_map[key_period] auto
                input_map[key_pgdn] auto
                input_map[key_pgup] auto
                input_map[key_play] auto
                input_map[key_plus] auto
                input_map[key_pound] auto
                input_map[key_print] auto
                input_map[key_q] auto
                input_map[key_quickload] auto
                input_map[key_quote] auto
                input_map[key_r] auto
                input_map[key_ralt] auto
                input_map[key_rctrl] auto
                input_map[key_record] auto
                input_map[key_restore] auto
                input_map[key_rew] auto
                input_map[key_right] auto
                input_map[key_rshift] auto
                input_map[key_s] auto
                input_map[key_scrlock] auto
                input_map[key_semicolon] auto
                input_map[key_shift] auto
                input_map[key_slash] auto
                input_map[key_space] auto
                input_map[key_stop] auto
                input_map[key_store] auto
                input_map[key_t] auto
                input_map[key_tab] auto
                input_map[key_u] auto
                input_map[key_undo] auto
                input_map[key_up] auto
                input_map[key_v] auto
                input_map[key_w] auto
                input_map[key_x] auto
                input_map[key_y] auto
                input_map[key_z] auto
                input_map[p1_dialx] auto
                input_map[p1_dialy] auto
                input_map[p1_lightgunx] auto
                input_map[p1_lightguny] auto
                input_map[p1_mousex] auto
                input_map[p1_mousey] auto
                input_map[p1_paddlex] mouse[0,x] mouse[1,x] mouse[2,x]
                input_map[p1_paddley] mouse[0,x] mouse[1,x] mouse[2,x]
                input_map[p1_pedalbrake] auto
                input_map[p1_pedalgas] auto
                input_map[p1_pedalother] auto
                input_map[p1_stickx] auto
                input_map[p1_sticky] auto
                input_map[p1_stickz] auto
                input_map[p1_trackballx] auto
                input_map[p1_trackbally] auto
                input_map[p2_dialx] auto
                input_map[p2_dialy] auto
                input_map[p2_lightgunx] auto
                input_map[p2_lightguny] auto
                input_map[p2_mousex] auto
                input_map[p2_mousey] auto
                input_map[p2_paddlex] mouse[0,y] mouse[1,y] mouse[2,y]
                input_map[p2_paddley] mouse[0,y] mouse[1,y] mouse[2,y]
                input_map[p2_pedalbrake] auto
                input_map[p2_pedalgas] auto
                input_map[p2_pedalother] auto
                input_map[p2_stickx] auto
                input_map[p2_sticky] auto
                input_map[p2_stickz] auto
                input_map[p2_trackballx] auto
                input_map[p2_trackbally] auto
                input_map[p3_dialx] auto
                input_map[p3_dialy] auto
                input_map[p3_lightgunx] auto
                input_map[p3_lightguny] auto
                input_map[p3_mahjong_a] auto
                input_map[p3_mahjong_b] auto
                input_map[p3_mahjong_bet] auto
                input_map[p3_mahjong_c] auto
                input_map[p3_mahjong_chance] auto
                input_map[p3_mahjong_chi] auto
                input_map[p3_mahjong_d] auto
                input_map[p3_mahjong_double_up] auto
                input_map[p3_mahjong_e] auto
                input_map[p3_mahjong_f] auto
                input_map[p3_mahjong_flip_flop] auto
                input_map[p3_mahjong_g] auto
                input_map[p3_mahjong_h] auto
                input_map[p3_mahjong_i] auto
                input_map[p3_mahjong_j] auto
                input_map[p3_mahjong_k] auto
                input_map[p3_mahjong_kan] auto
                input_map[p3_mahjong_l] auto
                input_map[p3_mahjong_m] auto
                input_map[p3_mahjong_n] auto
                input_map[p3_mahjong_pon] auto
                input_map[p3_mahjong_reach] auto
                input_map[p3_mahjong_ron] auto
                input_map[p3_mahjong_score] auto
                input_map[p3_mousex] auto
                input_map[p3_mousey] auto
                input_map[p3_paddlex] auto
                input_map[p3_paddley] auto
                input_map[p3_pedalbrake] auto
                input_map[p3_pedalgas] auto
                input_map[p3_pedalother] auto
                input_map[p3_stickx] auto
                input_map[p3_sticky] auto
                input_map[p3_stickz] auto
                input_map[p3_trackballx] auto
                input_map[p3_trackbally] auto
                input_map[p4_dialx] auto
                input_map[p4_dialy] auto
                input_map[p4_lightgunx] auto
                input_map[p4_lightguny] auto
                input_map[p4_mahjong_a] auto
                input_map[p4_mahjong_b] auto
                input_map[p4_mahjong_bet] auto
                input_map[p4_mahjong_c] auto
                input_map[p4_mahjong_chance] auto
                input_map[p4_mahjong_chi] auto
                input_map[p4_mahjong_d] auto
                input_map[p4_mahjong_double_up] auto
                input_map[p4_mahjong_e] auto
                input_map[p4_mahjong_f] auto
                input_map[p4_mahjong_flip_flop] auto
                input_map[p4_mahjong_g] auto
                input_map[p4_mahjong_h] auto
                input_map[p4_mahjong_i] auto
                input_map[p4_mahjong_j] auto
                input_map[p4_mahjong_k] auto
                input_map[p4_mahjong_kan] auto
                input_map[p4_mahjong_l] auto
                input_map[p4_mahjong_m] auto
                input_map[p4_mahjong_n] auto
                input_map[p4_mahjong_pon] auto
                input_map[p4_mahjong_reach] auto
                input_map[p4_mahjong_ron] auto
                input_map[p4_mahjong_score] auto
                input_map[p4_mousex] auto
                input_map[p4_mousey] auto
                input_map[p4_paddlex] auto
                input_map[p4_paddley] auto
                input_map[p4_pedalbrake] auto
                input_map[p4_pedalgas] auto
                input_map[p4_pedalother] auto
                input_map[p4_stickx] auto
                input_map[p4_sticky] auto
                input_map[p4_stickz] auto
                input_map[p4_trackballx] auto
                input_map[p4_trackbally] auto
                input_map[safequit] auto
                input_map[service_coin5] auto
                input_map[service_coin6] auto
                input_map[service_coin7] auto
                input_map[service_coin8] auto
                input_steadykey no
                lcd_server none
                lcd_speed 4
                lcd_timeout 500
                misc_bios default
                misc_cheat no
                misc_cheatfile /home/pi/RetroPie/roms/mame-advmame/advmess/misc/cheat.dat
                misc_difficulty none
                misc_eventdebug no
                misc_eventfile /home/pi/RetroPie/roms/mame-advmame/advmess/misc/event.dat
                misc_freeplay no
                misc_hiscorefile /home/pi/RetroPie/roms/mame-advmame/advmess/misc/hiscore.dat
                misc_lang none
                misc_languagefile /home/pi/RetroPie/roms/mame-advmame/advmess/misc/english.lng
                misc_mutedemo no
                misc_quiet yes
                misc_ramsize auto
                misc_safequit no
                misc_smp yes
                misc_timetorun 0
                record_sound yes
                record_sound_time 15
                record_video yes
                record_video_interleave 2
                record_video_time 15
                script_coin1 
                script_coin2 
                script_coin3 
                script_coin4 
                script_emulation 
                script_event1 
                script_event10 
                script_event11 
                script_event12 
                script_event13 
                script_event14 
                script_event2 
                script_event3 
                script_event4 
                script_event5 
                script_event6 
                script_event7 
                script_event8 
                script_event9 
                script_knocker on(kdb, 0b100); wait(!event()); off(kdb, 0b100);
                script_led1 on(kdb, 0b1); wait(!event()); off(kdb, 0b1);
                script_led2 on(kdb, 0b10); wait(!event()); off(kdb, 0b10);
                script_led3 
                script_play 
                script_safequit 
                script_start1 
                script_start2 
                script_start3 
                script_start4 
                script_turbo while (event()) { toggle(kdb, 0b100); delay(100); } off(kdb, 0b100);
                script_video wait(!event()); set(kdb, 0);
                sound_adjust auto
                sound_equalizer_highvolume 0
                sound_equalizer_lowvolume 0
                sound_equalizer_midvolume 0
                sound_latency 0.05
                sound_mode auto
                sound_normalize yes
                sound_samplerate 44100
                sound_samples yes
                sound_volume -3
                sync_fps auto
                sync_resample auto
                sync_speed 1
                sync_startuptime auto
                sync_turbospeed 3
                ui_color[help_other] 000000 808080
                ui_color[help_p1] 000000 ffff00
                ui_color[help_p2] 000000 00ff00
                ui_color[help_p3] 000000 ff0000
                ui_color[help_p4] 000000 00ffff
                ui_color[interface] 000000 ffffff
                ui_color[select] 000000 afffff
                ui_color[tag] 247ef0 ffffff
                ui_font auto
                ui_fontsize auto
                ui_helpimage auto
                ui_translucency 0.8
                input_map[ui_pause] keyboard[0,w] keyboard[0,a]
                input_map[ui_reset_machine] keyboard[0,w] keyboard[0,b]
                input_map[ui_snapshot] keyboard[0,w] keyboard[0,y]
                input_map[ui_save_state] keyboard[0,w] keyboard[0,q]
                input_map[ui_load_state] keyboard[0,w] keyboard[0,l]
                input_map[ui_configure] keyboard[0,tab] or keyboard[0,w] keyboard[0,x]
                input_map[ui_up] keyboard[0,up]
                input_map[ui_down] keyboard[0,down]
                input_map[ui_left] keyboard[0,left]
                input_map[ui_right] keyboard[0,right]
                input_map[ui_select] keyboard[0,enter] or keyboard[0,a]
                input_map[ui_cancel] keyboard[0,esc] or keyboard[0,w] keyboard[0,t]
                input_map[p1_up] keyboard[0,up]
                input_map[p1_down] keyboard[0,down]
                input_map[p1_left] keyboard[0,left]
                input_map[p1_right] keyboard[0,right]
                input_map[p1_doubleright_up] 
                input_map[p1_doubleright_down] 
                input_map[p1_doubleright_left] 
                input_map[p1_doubleright_right] 
                input_map[p1_doubleleft_up] 
                input_map[p1_doubleleft_down] 
                input_map[p1_doubleleft_left] 
                input_map[p1_doubleleft_right] 
                input_map[p1_button1] keyboard[0,b]
                input_map[p1_button2] 
                input_map[p1_button3] 
                input_map[p1_button4] 
                input_map[p1_button5] 
                input_map[p1_button6] 
                input_map[p1_button7] 
                input_map[p1_button8] 
                input_map[p1_button9] 
                input_map[p1_button10] 
                input_map[p1_start] 
                input_map[p1_select] 
                input_map[p1_mahjong_a] 
                input_map[p1_mahjong_b] 
                input_map[p1_mahjong_c] 
                input_map[p1_mahjong_d] 
                input_map[p1_mahjong_e] 
                input_map[p1_mahjong_f] 
                input_map[p1_mahjong_g] 
                input_map[p1_mahjong_h] 
                input_map[p1_mahjong_i] 
                input_map[p1_mahjong_j] 
                input_map[p1_mahjong_k] 
                input_map[p1_mahjong_l] 
                input_map[p1_mahjong_m] 
                input_map[p1_mahjong_n] 
                input_map[p1_mahjong_kan] 
                input_map[p1_mahjong_pon] 
                input_map[p1_mahjong_chi] 
                input_map[p1_mahjong_reach] 
                input_map[p1_mahjong_ron] 
                input_map[p1_mahjong_bet] 
                input_map[p1_mahjong_chance] 
                input_map[p1_mahjong_score] 
                input_map[p1_mahjong_double_up] 
                input_map[p1_mahjong_flip_flop] 
                input_map[p2_up] keyboard[0,3_pad]
                input_map[p2_down] keyboard[0,4_pad]
                input_map[p2_left] keyboard[0,1_pad]
                input_map[p2_right] keyboard[0,2_pad]
                input_map[p2_button1] keyboard[0,6_pad]
                input_map[p2_button2] 
                input_map[p2_button3] 
                input_map[p2_button4] 
                input_map[p2_button5] 
                input_map[p2_button6] 
                input_map[p2_button7] 
                input_map[p2_button8] 
                input_map[p2_button9] 
                input_map[p2_button10] 
                input_map[p2_start] 
                input_map[p2_select] 
                astrocde/input_setting[p1_paddlex] keydelta:20,centerdelta:20,sensitivity:20,reverse:1
                astrocde/input_setting[p2_paddlex] keydelta:20,centerdelta:20,sensitivity:20,reverse:0
                astrocde[home_pi_retropie_roms_astrocade_bally_pinball]/input_map[p1_button1] keyboard[0,l]
                astrocde[home_pi_retropie_roms_astrocade_bally_pinball]/input_map[p2_button1] keyboard[0,q]
                astrocde[home_pi_retropie_roms_astrocade_bally_pinball]/input_map[p2_down] keyboard[0,b]
                
                

                RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                S 1 Reply Last reply Reply Quote 1
                • S
                  SpudsMcToole Banned @mediamogul
                  last edited by SpudsMcToole

                  @mediamogul Cheers for that, but it's not working for me - I get dumped straight back to the Retropie menu for every ROM, not even going through the MESS splash screens first.

                  I'd already figured most of it out for a couple of other systems, as noted here:

                  https://retropie.org.uk/forum/topic/19816/getting-control-inputs-to-work-in-advmess

                  ...but for the Astrocade with your files above I'm not even getting as far as I did with those - the BBC and Astrovision do at least both boot to their respective systems, I just can't get any sort of input to register.

                  I've got every conceivable BIOS file and variant in the directory you specified, called ASTROCADE.ZIP, ASTROCDE.ZIP, ASTROCDW.ZIP, ASTRO.BIN and BIOSWHIT.BIN. I've got all the game files in .BIN format in the usual ROMS directory in a folder called ASTROCADE.

                  Can I just check a couple of things quickly to see if I can get to the bottom of it?

                  (1) When you say "in /opt/retropie/configs/, I created a emulators.cfg file with the following contents:", do you mean just in the root CONFIGS folder, or inside the CONFIGS/ASTROCADE folder? (I've tried both with no discernible difference, but it'd be good to rule it out as the possible problem source.)

                  (2) In the line astrocade-advmess = "/opt/retropie/emulators/advmame/bin/advmess astrocde -cfg (etc), is that spelling at the end ("astrocde" with no "a") correct? (Same again, have tried both ways but just trying to narrow things down.)

                  (3) When you say to put the BIOS files in /home/pi/RetroPie/roms/mame-advmame/advmess/rom/, is that right? I've been putting the other ones in /opt/retropie/configs/mame-advmame/rom. (Once again, have tried both.)

                  mediamogulM 1 Reply Last reply Reply Quote 0
                  • mediamogulM
                    mediamogul Global Moderator @SpudsMcToole
                    last edited by mediamogul

                    @SpudsMcToole said in Pro tip for anyone thinking of installing MESS:

                    (1)

                    The files should be located at /opt/retropie/configs/astrocade/emulators.cfg and /opt/retropie/configs/astrocade/advmess.rc

                    (2)

                    It is spelled right there. That argument is meant to specify the driver that AdvanceMESS will use. It also means that I made a typo when referencing the BIOS name, which should be astrocde.zip. I'll correct it above.

                    (3)

                    The path that AdvanceMAME will check for its BIOS files is specified in the advmess.rc. You should check yours to see what it's set to, but I would advise the path be different than your MAME files so that it's easier to manage separately.

                    RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      SpudsMcToole Banned @mediamogul
                      last edited by SpudsMcToole

                      @mediamogul said in Pro tip for anyone thinking of installing MESS:

                      The path that AdvanceMAME will check for its BIOS files is specified in the advmess.rc. You should check yours to see what it's set to, but I would advise the path be different than your MAME files so that it's easier to manage separately.

                      Which path? dir_image? dir_rom?

                      Otherwise I'm perplexed. I'm doing everything you say and I've got all the files where they should be and I'm still getting dumped straight back to the menu. I can't find anything different that I'm doing to what I'm doing with the BBC and Arcadia setups, but those are working except for inputs.

                      For clarity:

                      (1) I've copied your emulator.cfg file and put it in /opt/retropie/configs/astrocade/

                      (2) I've copied your advmess.rc file and put it in the same folder.

                      (3) I've copied your lines for es_systems.cfg and added them into mine.

                      (4) I've got astrocde.zip, containing astro.bin, in /opt/retropie/configs/mame-advmame/rom (and also in /home/pi/RetroPie/roms/mame-advmame/advmess/rom)

                      (5) I've got my game ROMs as unzipped BIN files in /home/pi/RetroPie/roms/astrocade

                      But I don't even get as far as the MESS warning screens.

                      mediamogulM 1 Reply Last reply Reply Quote 0
                      • mediamogulM
                        mediamogul Global Moderator @SpudsMcToole
                        last edited by mediamogul

                        @SpudsMcToole said in Pro tip for anyone thinking of installing MESS:

                        Which path? dir_image? dir_rom?

                        dir_rom

                        But I don't even get as far as the MESS warning screens.

                        After it fails to launch, post the contents of your /dev/shm/runcommand.log to pastebin.com and let's see if we can't find where the breakdown is happening.

                        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          SpudsMcToole Banned @mediamogul
                          last edited by SpudsMcToole

                          @mediamogul Okay, huge breakthrough, thanks to the tried and tested "flail around hitting buttons at random and see what happens" method.

                          When I use this as the .RC file:

                          debug_crash no
                          debug_rawsound no
                          debug_speedmark no
                          
                          device_alsa_device default
                          device_alsa_mixer channel
                          device_color_bgr15 yes
                          device_color_bgr16 yes
                          device_color_bgr24 yes
                          device_color_bgr32 yes
                          device_color_bgr8 yes
                          device_color_palette8 no
                          device_color_yuy2 no
                          
                          device_joystick auto
                          device_keyboard sdl
                          device_mouse auto
                          
                          device_raw_firstkeyhack no
                          device_raw_mousedev[0] auto
                          device_raw_mousedev[1] auto
                          device_raw_mousedev[2] auto
                          device_raw_mousedev[3] auto
                          device_raw_mousetype[0] pnp
                          device_raw_mousetype[1] pnp
                          device_raw_mousetype[2] pnp
                          device_raw_mousetype[3] pnp
                          
                          device_sdl_samples 512
                          device_sound auto
                          
                          device_video sdl
                          device_video_cursor auto
                          device_video_doublescan yes
                          device_video_fastchange yes
                          device_video_interlace no
                          device_video_output overlay
                          device_video_overlaysize 0
                          device_video_singlescan no
                          device_video_clock 10 - 150 / 30.5 - 60 / 55 - 130
                          
                          dir_artwork /home/pi/.advance/artwork:/usr/local/share/advance/artwork:/opt/retropie/emulators/advmame/share/advance/artwork
                          dir_crc /home/pi/.advance/crc
                          dir_diff /home/pi/.advance/diff
                          dir_hi /home/pi/.advance/hi
                          dir_image /home/pi/.advance/image:/usr/local/share/advance/image:/opt/retropie/emulators/advmame/share/advance/image:/opt/retropie/configs/mame-advmame/image:/home/pi/RetroPie/roms/bbcmicro
                          dir_inp /home/pi/.advance/inp
                          dir_memcard /home/pi/.advance/memcard
                          dir_nvram /home/pi/.advance/nvram
                          dir_rom /home/pi/.advance/rom:/usr/local/share/advance/rom:/opt/retropie/emulators/advmame/share/advance/rom:/opt/retropie/configs/mame-advmame/rom
                          dir_sample /home/pi/.advance/sample:/usr/local/share/advance/sample:/opt/retropie/emulators/advmame/share/advance/sample
                          dir_snap /home/pi/.advance/snap
                          dir_sta /home/pi/.advance/sta
                          
                          display_adjust none
                          display_antialias no
                          display_artwork_backdrop no
                          display_artwork_bezel no
                          display_artwork_crop no
                          display_artwork_overlay no
                          display_beam 1
                          display_brightness 1
                          display_buffer no
                          display_color auto
                          
                          # Below widens the screen to 16:9
                          # display_expand 1.35
                          
                          display_flicker 0
                          display_flipx no
                          display_flipy no
                          display_frameskip auto
                          display_gamma 1
                          display_intensity 1.5
                          display_interlaceeffect none
                          display_magnify auto
                          display_magnifysize 640
                          display_mode auto
                          display_pausebrightness 1
                          display_resize fractional
                          display_resizeeffect none
                          display_restore no
                          display_rgbeffect none
                          display_rol no
                          display_ror no
                          display_scanlines no
                          display_skipcolumns auto
                          display_skiplines auto
                          display_translucency no
                          display_vsync yes
                          
                          include 
                          input_hotkey yes
                          input_idleexit 0
                          input_map[event10] auto
                          input_map[event11] auto
                          input_map[event12] auto
                          input_map[event13] auto
                          input_map[event14] auto
                          input_map[event1] auto
                          input_map[event2] auto
                          input_map[event3] auto
                          input_map[event4] auto
                          input_map[event5] auto
                          input_map[event6] auto
                          input_map[event7] auto
                          input_map[event8] auto
                          input_map[event9] auto
                          
                          input_map[key_0] joystick_button[0,18] or keyboard[0,0]
                          input_map[key_1] joystick_button[0,8]  or keyboard[0,1]
                          input_map[key_2] joystick_button[0,9]  or keyboard[0,2]
                          input_map[key_3] joystick_button[0,10] or keyboard[0,3]
                          input_map[key_4] joystick_button[0,11] or keyboard[0,4]
                          input_map[key_5] joystick_button[0,12] or keyboard[0,5]
                          input_map[key_6] joystick_button[0,13] or keyboard[0,6]
                          input_map[key_7] joystick_button[0,14] or keyboard[0,7]
                          input_map[key_8] joystick_button[0,15] or keyboard[0,8]
                          input_map[key_9] joystick_button[0,16] or keyboard[0,9]
                          
                          input_map[key_a] auto
                          input_map[key_again] auto
                          input_map[key_alt] auto
                          input_map[key_asterisk] auto
                          input_map[key_b] auto
                          input_map[key_back] auto
                          input_map[key_backquote] auto
                          input_map[key_backslash] auto
                          input_map[key_backspace] auto
                          input_map[key_break] auto
                          input_map[key_c] auto
                          input_map[key_capslock] joystick_digital[0079_0006_3,0,1,1] or keyboard[0,capslock]
                          input_map[key_closebrace] auto
                          input_map[key_colon] auto
                          input_map[key_comma] auto
                          input_map[key_copy] auto
                          input_map[key_ctrl] auto
                          input_map[key_cut] auto
                          input_map[key_d] auto
                          input_map[key_del] joystick_button[0,17] or keyboard[0,del] or keyboard[0,backspace]
                          input_map[key_diesis] auto
                          input_map[key_doublequote] auto
                          input_map[key_down] auto
                          input_map[key_e] auto
                          input_map[key_edit] auto
                          input_map[key_end] auto
                          input_map[key_enter] joystick_button[0,19] or keyboard[0,enter]
                          input_map[key_equals] auto
                          input_map[key_esc] auto
                          input_map[key_f10] auto
                          input_map[key_f11] auto
                          input_map[key_f12] auto
                          input_map[key_f13] auto
                          input_map[key_f14] auto
                          input_map[key_f15] auto
                          input_map[key_f16] auto
                          input_map[key_f17] auto
                          input_map[key_f18] auto
                          input_map[key_f19] auto
                          input_map[key_f1] auto
                          input_map[key_f20] auto
                          input_map[key_f21] auto
                          input_map[key_f22] auto
                          input_map[key_f23] auto
                          input_map[key_f24] auto
                          input_map[key_f2] auto
                          input_map[key_f3] auto
                          input_map[key_f4] auto
                          input_map[key_f5] auto
                          input_map[key_f6] auto
                          input_map[key_f7] auto
                          input_map[key_f8] auto
                          input_map[key_f9] auto
                          input_map[key_f] auto
                          input_map[key_fctn] auto
                          input_map[key_find] auto
                          input_map[key_forward] auto
                          input_map[key_g] auto
                          input_map[key_graph] auto
                          input_map[key_h] auto
                          input_map[key_help] auto
                          input_map[key_hold] auto
                          input_map[key_home] auto
                          input_map[key_i] auto
                          input_map[key_ins] auto
                          input_map[key_j] auto
                          input_map[key_k] auto
                          input_map[key_l] auto
                          input_map[key_lalt] auto
                          input_map[key_lctrl] auto
                          input_map[key_left] auto
                          input_map[key_less] auto
                          input_map[key_lshift] keyboard[0,lshift] or joystick_button[0079_0006_3,2]
                          input_map[key_m] auto
                          input_map[key_menu] auto
                          input_map[key_minus] auto
                          input_map[key_move] auto
                          input_map[key_n] auto
                          input_map[key_numlock] auto
                          input_map[key_o] auto
                          input_map[key_open] auto
                          input_map[key_openbrace] auto
                          input_map[key_p] auto
                          input_map[key_pad_0] auto
                          input_map[key_pad_1] auto
                          input_map[key_pad_2] auto
                          input_map[key_pad_3] auto
                          input_map[key_pad_4] auto
                          input_map[key_pad_5] auto
                          input_map[key_pad_6] auto
                          input_map[key_pad_7] auto
                          input_map[key_pad_8] auto
                          input_map[key_pad_9] auto
                          input_map[key_pad_asterisk] auto
                          input_map[key_pad_colon] auto
                          input_map[key_pad_diesis] auto
                          input_map[key_pad_enter] auto
                          input_map[key_pad_minus] auto
                          input_map[key_pad_plus] auto
                          input_map[key_pad_slash] auto
                          input_map[key_paste] auto
                          input_map[key_pause] auto
                          input_map[key_period] auto
                          input_map[key_pgdn] auto
                          input_map[key_pgup] auto
                          input_map[key_play] auto
                          input_map[key_plus] auto
                          input_map[key_pound] auto
                          input_map[key_print] auto
                          input_map[key_q] auto
                          input_map[key_quickload] auto
                          input_map[key_quote] auto
                          input_map[key_r] auto
                          input_map[key_ralt] auto
                          input_map[key_rctrl] auto
                          input_map[key_record] auto
                          input_map[key_restore] auto
                          input_map[key_rew] auto
                          input_map[key_right] auto
                          input_map[key_rshift] keyboard[0,rshift]
                          input_map[key_s] auto
                          input_map[key_scrlock] auto
                          input_map[key_semicolon] auto
                          input_map[key_shift] auto
                          input_map[key_slash] auto
                          input_map[key_space] auto
                          input_map[key_stop] auto
                          input_map[key_store] auto
                          input_map[key_t] auto
                          input_map[key_tab] auto
                          input_map[key_u] auto
                          input_map[key_undo] auto
                          input_map[key_up] auto
                          input_map[key_v] auto
                          input_map[key_w] auto
                          input_map[key_x] auto
                          input_map[key_y] auto
                          input_map[key_z] auto
                          input_map[p1_dialx] auto
                          input_map[p1_dialy] auto
                          input_map[p1_lightgunx] auto
                          input_map[p1_lightguny] auto
                          input_map[p1_mousex] auto
                          input_map[p1_mousey] auto
                          input_map[p1_paddlex] auto
                          input_map[p1_paddley] auto
                          input_map[p1_pedalbrake] auto
                          input_map[p1_pedalgas] auto
                          input_map[p1_pedalother] auto
                          input_map[p1_stickx] auto
                          input_map[p1_sticky] auto
                          input_map[p1_stickz] auto
                          input_map[p1_trackballx] auto
                          input_map[p1_trackbally] auto
                          input_map[p2_dialx] auto
                          input_map[p2_dialy] auto
                          input_map[p2_lightgunx] auto
                          input_map[p2_lightguny] auto
                          input_map[p2_mousex] auto
                          input_map[p2_mousey] auto
                          input_map[p2_paddlex] auto
                          input_map[p2_paddley] auto
                          input_map[p2_pedalbrake] auto
                          input_map[p2_pedalgas] auto
                          input_map[p2_pedalother] auto
                          input_map[p2_stickx] auto
                          input_map[p2_sticky] auto
                          input_map[p2_stickz] auto
                          input_map[p2_trackballx] auto
                          input_map[p2_trackbally] auto
                          input_map[p3_dialx] auto
                          input_map[p3_dialy] auto
                          input_map[p3_lightgunx] auto
                          input_map[p3_lightguny] auto
                          input_map[p3_mahjong_a] auto
                          input_map[p3_mahjong_b] auto
                          input_map[p3_mahjong_bet] auto
                          input_map[p3_mahjong_c] auto
                          input_map[p3_mahjong_chance] auto
                          input_map[p3_mahjong_chi] auto
                          input_map[p3_mahjong_d] auto
                          input_map[p3_mahjong_double_up] auto
                          input_map[p3_mahjong_e] auto
                          input_map[p3_mahjong_f] auto
                          input_map[p3_mahjong_flip_flop] auto
                          input_map[p3_mahjong_g] auto
                          input_map[p3_mahjong_h] auto
                          input_map[p3_mahjong_i] auto
                          input_map[p3_mahjong_j] auto
                          input_map[p3_mahjong_k] auto
                          input_map[p3_mahjong_kan] auto
                          input_map[p3_mahjong_l] auto
                          input_map[p3_mahjong_m] auto
                          input_map[p3_mahjong_n] auto
                          input_map[p3_mahjong_pon] auto
                          input_map[p3_mahjong_reach] auto
                          input_map[p3_mahjong_ron] auto
                          input_map[p3_mahjong_score] auto
                          input_map[p3_mousex] auto
                          input_map[p3_mousey] auto
                          input_map[p3_paddlex] auto
                          input_map[p3_paddley] auto
                          input_map[p3_pedalbrake] auto
                          input_map[p3_pedalgas] auto
                          input_map[p3_pedalother] auto
                          input_map[p3_stickx] auto
                          input_map[p3_sticky] auto
                          input_map[p3_stickz] auto
                          input_map[p3_trackballx] auto
                          input_map[p3_trackbally] auto
                          input_map[p4_dialx] auto
                          input_map[p4_dialy] auto
                          input_map[p4_lightgunx] auto
                          input_map[p4_lightguny] auto
                          input_map[p4_mahjong_a] auto
                          input_map[p4_mahjong_b] auto
                          input_map[p4_mahjong_bet] auto
                          input_map[p4_mahjong_c] auto
                          input_map[p4_mahjong_chance] auto
                          input_map[p4_mahjong_chi] auto
                          input_map[p4_mahjong_d] auto
                          input_map[p4_mahjong_double_up] auto
                          input_map[p4_mahjong_e] auto
                          input_map[p4_mahjong_f] auto
                          input_map[p4_mahjong_flip_flop] auto
                          input_map[p4_mahjong_g] auto
                          input_map[p4_mahjong_h] auto
                          input_map[p4_mahjong_i] auto
                          input_map[p4_mahjong_j] auto
                          input_map[p4_mahjong_k] auto
                          input_map[p4_mahjong_kan] auto
                          input_map[p4_mahjong_l] auto
                          input_map[p4_mahjong_m] auto
                          input_map[p4_mahjong_n] auto
                          input_map[p4_mahjong_pon] auto
                          input_map[p4_mahjong_reach] auto
                          input_map[p4_mahjong_ron] auto
                          input_map[p4_mahjong_score] auto
                          input_map[p4_mousex] auto
                          input_map[p4_mousey] auto
                          input_map[p4_paddlex] auto
                          input_map[p4_paddley] auto
                          input_map[p4_pedalbrake] auto
                          input_map[p4_pedalgas] auto
                          input_map[p4_pedalother] auto
                          input_map[p4_stickx] auto
                          input_map[p4_sticky] auto
                          input_map[p4_stickz] auto
                          input_map[p4_trackballx] auto
                          input_map[p4_trackbally] auto
                          input_map[safequit] auto
                          input_map[service_coin5] auto
                          input_map[service_coin6] auto
                          input_map[service_coin7] auto
                          input_map[service_coin8] auto
                          input_map[ui_cancel] joystick_button[0079_0006_3,8] joystick_button[0079_0006_3,10] or keyboard[0,f7]
                          input_map[ui_mode_next] keyboard[0,f24]
                          input_map[ui_mode_pred] keyboard[0,f24]
                          input_map[ui_reset_machine] joystick_button[0079_0006,4] or joystick_button[0079_0006_2,4] or keyboard[0,f9]
                          input_map[ui_toggle_debug] keyboard[0,f24]
                          
                          input_steadykey no
                          
                          lcd_server none
                          lcd_speed 4
                          lcd_timeout 500
                          
                          misc_bios default
                          misc_cheat no
                          misc_cheatfile cheat.dat
                          misc_difficulty none
                          misc_eventdebug no
                          misc_eventfile event.dat
                          misc_freeplay no
                          misc_hiscorefile hiscore.dat
                          misc_lang none
                          misc_languagefile english.lng
                          misc_mutedemo no
                          misc_quiet yes
                          misc_ramsize auto
                          misc_safequit no
                          misc_smp no
                          misc_timetorun 0
                          
                          record_sound no
                          record_sound_time 15
                          record_video no
                          record_video_interleave 2
                          record_video_time 15
                          
                          script_coin1 
                          script_coin2 
                          script_coin3 
                          script_coin4 
                          script_emulation 
                          script_event1 
                          script_event10 
                          script_event11 
                          script_event12 
                          script_event13 
                          script_event14 
                          script_event2 
                          script_event3 
                          script_event4 
                          script_event5 
                          script_event6 
                          script_event7 
                          script_event8 
                          script_event9 
                          script_led1 on(kdb, 0b1); wait(!event()); off(kdb, 0b1);
                          script_led2 on(kdb, 0b10); wait(!event()); off(kdb, 0b10);
                          script_led3 
                          script_play 
                          script_safequit 
                          script_start1 
                          script_start2 
                          script_start3 
                          script_start4 
                          script_turbo while (event()) { toggle(kdb, 0b100); delay(100); } off(kdb, 0b100);
                          script_video wait(!event()); set(kdb, 0);
                          
                          sound_adjust auto
                          sound_equalizer_highvolume 0
                          sound_equalizer_lowvolume 0
                          sound_equalizer_midvolume 0
                          sound_latency 0.05
                          sound_mode auto
                          sound_normalize yes
                          sound_samplerate 44100
                          sound_samples yes
                          sound_volume 0
                          
                          sync_fps auto
                          sync_resample auto
                          sync_speed 1
                          sync_startuptime auto
                          sync_turbospeed 3
                          
                          ui_color[help_other] 000000 808080
                          ui_color[help_p1] 000000 ffff00
                          ui_color[help_p2] 000000 00ff00
                          ui_color[help_p3] 000000 ff0000
                          ui_color[help_p4] 000000 00ffff
                          ui_color[interface] 000000 ffffff
                          ui_color[select] 000000 afffff
                          ui_color[tag] 247ef0 ffffff
                          ui_font auto
                          ui_fontsize auto
                          ui_helpimage auto
                          ui_translucency 0.8
                          
                          280x210/display_resize fractional
                          320x192/display_mode sdl_1824x984
                          320x192/display_resize fractional
                          320x192x59/display_mode sdl_1824x984
                          320x192x59/display_resize fractional
                          336x225/display_mode sdl_416x288
                          336x225/display_resize fractional
                          320x204/display_mode sdl_1920x1080
                          320x204/display_resize fractional
                          800x300x50/display_mode generate-double
                          
                          bbcbp128[home_pi_retropie_roms_bbcmicrochuckieegg_chuckie]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_lshift,200); simulate_key(key_2,50); delay(200); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_c,75); delay(75); simulate_key(key_k,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_g,75); delay(75); simulate_key(key_g,75); delay(200); simulate_key(key_lshift,200); simulate_key(key_2,50); delay(200); simulate_key(key_enter,75); delay(75);
                          
                          bbcbp128[home_pi_retropie_roms_bbcmicroelite_elite]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_lshift,200); simulate_key(key_2,50); delay(200); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_d,75); delay(200); simulate_key(key_lshift,200); simulate_key(key_2,50); delay(200); simulate_key(key_enter,75); delay(75);
                          
                          bbcbp128[home_pi_retropie_roms_bbcmicroplanetoid_planetoid]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_lshift,200); simulate_key(key_2,50); delay(200); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_d,75); delay(200); simulate_key(key_lshift,200); simulate_key(key_2,50); delay(200); simulate_key(key_enter,75); delay(75); simulate_key(key_scrlock,75); delay(75);
                          
                          bbcbp128[home_pi_retropie_roms_bbcmicrothrust_thrust]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_lshift,200); simulate_key(key_2,50); delay(200); simulate_key(key_t,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_t,75); delay(200); simulate_key(key_lshift,200); simulate_key(key_2,50); delay(200); simulate_key(key_enter,75); delay(75);
                          
                          input_map[p1_up] joystick_digital[0079_0006_3,0,0,0] or keyboard[0,up]
                          input_map[p1_down] joystick_digital[0079_0006_3,0,0,1] or keyboard[0,down]
                          input_map[p1_left] joystick_digital[0079_0006_3,0,1,1] or keyboard[0,left]
                          input_map[p1_right] joystick_digital[0079_0006_3,0,1,0] or keyboard[0,right]
                          input_map[p1_start] joystick_button[0079_0006_3,7] or keyboard[0,1]
                          input_map[p1_select] joystick_button[0079_0006_3,7] or keyboard[0,5]
                          input_map[p2_up] joystick_digital[0079_0006,0,0,0] or keyboard[0,r]
                          input_map[p2_down] joystick_digital[0079_0006,0,0,1] or keyboard[0,f]
                          input_map[p2_left] joystick_digital[0079_0006,0,1,1] or keyboard[0,d]
                          input_map[p2_right] joystick_digital[0079_0006,0,1,0] or keyboard[0,g]
                          input_map[p2_button1] joystick_button[0079_0006,1] or keyboard[0,a]
                          input_map[p2_button2] joystick_button[0079_0006,3] or keyboard[0,s]
                          input_map[p2_button3] joystick_button[0079_0006,5] or keyboard[0,q]
                          input_map[p2_button4] joystick_button[0079_0006,0] or keyboard[0,w]
                          input_map[p2_button5] joystick_button[0079_0006,2]
                          input_map[p2_button6] 
                          input_map[p2_button7] 
                          input_map[p2_button8] 
                          input_map[p2_button9] 
                          input_map[p2_button10] 
                          input_map[p2_start] joystick_button[0079_0006,4] or joystick_button[0079_0006_3,10] or keyboard[0,2]
                          input_map[p2_select] joystick_button[0079_0006,4] or joystick_button[0079_0006_3,10] or keyboard[0,6]
                          input_map[ui_up] joystick_digital[0079_0006_3,0,0,0] or keyboard[0,up]
                          input_map[ui_down] joystick_digital[0079_0006_3,0,0,1] or keyboard[0,down]
                          input_map[ui_left] joystick_digital[0079_0006_3,0,1,1] or keyboard[0,left]
                          input_map[ui_right] joystick_digital[0079_0006_3,0,1,0] or keyboard[0,right]
                          input_map[ui_select] joystick_button[0079_0006_3,2] or keyboard[0,enter]
                          input_map[ui_record_start] 
                          input_map[ui_record_stop] 
                          
                          

                          ...(almost) everything miraculously works! I have keyboard access on BBC, and it also works for the Arcadia and Astrocade (although not, bizarrely, Fairchild Channel F).

                          The only tiny problem left with the BBC is that because Tab is a key on the BBC keyboard, MESS doesn't recognise it for accessing the menu, and I can't figure out how to fix it because the keyboard map code is all incomprehensible bollocks like this:

                          input_map[key_tab] joystick_button[0079_0006_3,1]
                          

                          Which is annoying, because if I could figure out the maps I could either enable Tab and set controls via the menu, or just set the joystick directly in the RC file to Z, X, /, : and Return and take care of about 90% of BBC games straight away.

                          (I've tried pasting in the line from the Astrocade RC file after I've mapped Tab to a joystick button, which is this:

                          input_map[ui_configure] keyboard[0,tab] or joystick_button[0079_0011_2,7]
                          

                          but that doesn't seem to do anything in the BBC file.)

                          But yeah, otherwise that RC file is the Rosetta Stone and I have no clue why.

                          mediamogulM 1 Reply Last reply Reply Quote 0
                          • mediamogulM
                            mediamogul Global Moderator @SpudsMcToole
                            last edited by

                            @SpudsMcToole said in Pro tip for anyone thinking of installing MESS:

                            The only tiny problem left with the BBC is that because Tab is a key on the BBC keyboard, MESS doesn't recognise it for accessing the menu

                            You might try something like:

                            input_map[key_tab] keyboard[0,tab]
                            input_map[ui_configure] keyboard[0,lalt] keyboard[0,tab] or keyboard[0,ralt] keyboard[0,tab]
                            

                            In theory that would allow the BBC environment to use the 'Tab' key as its own, while the config menu would be invoked by either 'LeftAlt+Tab' or 'RightAlt+Tab'.

                            RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              SpudsMcToole Banned @mediamogul
                              last edited by

                              @mediamogul Hmm, nope. Adding those lines has no discernible effect - pressing either Alt with Tab just acts like a normal BBC tab.

                              mediamogulM 1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User
                                last edited by

                                I would like to thank mediamogul. Those Astrocade instructions worked perferct.
                                Just one thing to add to the advmess.rc, this for joystick support.
                                Scroll down to these lines and make sure they look like so.

                                input_map[p1_up] auto
                                input_map[p1_down] auto
                                input_map[p1_left] auto
                                input_map[p1_right] auto
                                input_map[p1_button1] auto
                                input_map[p1_button2] auto
                                input_map[p1_button3] auto
                                input_map[p1_button4] auto
                                input_map[p1_button5] auto
                                input_map[p1_button6] auto
                                input_map[p1_button7] auto
                                input_map[p1_button8] auto
                                input_map[p1_button9] auto
                                input_map[p1_button10] auto
                                input_map[p1_start] auto
                                input_map[p1_select] auto

                                That should work for whatever controller you are using for player 1.
                                One thing that I noticed was that the actual emulation wasn't very good. Lots of flickering, and often garbled sprites can be seen ,on some games, at the top of the screen. The sound was also a bit crackly, popping, and other weird sounds. I used the same Advmess as the original instruction, so perhaps a newer version has many fixes.
                                Off to try BBC emulation, and a few other systems.

                                1 Reply Last reply Reply Quote 1
                                • mediamogulM
                                  mediamogul Global Moderator @SpudsMcToole
                                  last edited by mediamogul

                                  @SpudsMcToole said in Pro tip for anyone thinking of installing MESS:

                                  Alt with Tab just acts like a normal BBC tab.

                                  Ha! Well, that was me assuming that 'Alt' wasn't used in the BBC environment, but if it is, it would just put you back at square one. I've run into this before with other emulated computer systems that map the majority of the keyboard. While there might be a more elegant solution out there, I ended up mapping keys for emulator functions that weren't used in the emulated environment. Normally, I'd say to open up the options menu to discover which keys aren't already being used, but in your case you can't open up the options menu to check. If your physical keyboard has media controls, I doubt they would be in use here. For example, you might try using:

                                  input_map[ui_configure] keyboard[0,playpause]
                                  

                                  @John_RM_70

                                  That should work for whatever controller you are using for player 1.

                                  Those are indeed likely to be the sanest default settings. One word of warning however, is that when set to 'auto', AdvanceMAME/MESS will grab whatever controller is assigned by the OS as js0 and js1 for players one and two respectively and so on down the line. Seeing as how this assignment often varies between sessions, it can create issues with setups that require the player controls to remain constant.

                                  RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    SpudsMcToole Banned @mediamogul
                                    last edited by

                                    @mediamogul said in Pro tip for anyone thinking of installing MESS:

                                    @SpudsMcToole said in Pro tip for anyone thinking of installing MESS:

                                    Alt with Tab just acts like a normal BBC tab.

                                    Ha! Well, that was me assuming that 'Alt' wasn't used in the BBC environment, but if it is, it would just put you back at square one. I've run into this before with other computer systems that map the majority of the keyboard. While there might be a more elegant solution out there, I ended up mapping keys for emulator functions that weren't used in the emulation environment. Normally, I'd say to open up the options menu to discover which keys aren't already being used, but in your case you can't open up the options menu to check. If your physical keyboard has media controls, I doubt they would be in use. For example, you might try using:

                                    input_map[ui_configure] keyboard[0,playpause]
                                    

                                    Sadly my keyboard is a basic one with nothing like that. But the BBC doesn't have an Alt key, so goodness knows what's going on.

                                    https://acorn.huininga.nl/pub/software/BeebEm/BeebEm-4.14.68000-20160619/Help/keyboard.jpg

                                    I've tried everything I can think of in terms of editing the RC file manually, both trying to get the menus up and trying to hardcode the joystick to keys, especially around these lines:

                                    input_map[p1_up] joystick_digital[0079_0006_3,0,0,0] or keyboard[0,up]
                                    input_map[p1_down] joystick_digital[0079_0006_3,0,0,1] or keyboard[0,down]
                                    input_map[p1_left] joystick_digital[0079_0006_3,0,1,1] or keyboard[0,left]
                                    input_map[p1_right] joystick_digital[0079_0006_3,0,1,0] or keyboard[0,right]
                                    input_map[p1_start] joystick_button[0079_0006_3,7] or keyboard[0,1]
                                    input_map[p1_select] joystick_button[0079_0006_3,7] or keyboard[0,5]
                                    

                                    but nothing has any effect. I know people HAVE managed to get the MESS menu up in the BBC emulator, but Lord knows how they did it.

                                    mediamogulM 1 Reply Last reply Reply Quote 0
                                    • mediamogulM
                                      mediamogul Global Moderator @SpudsMcToole
                                      last edited by mediamogul

                                      @SpudsMcToole said in Pro tip for anyone thinking of installing MESS:

                                      BBC doesn't have an Alt key, so goodness knows what's going on.

                                      Still, it may be using the 'Alt' key as a stand-in for some other key. If you could find one key that isn't being used, you should be able to access the menu. Below is a list of all the available options.

                                      a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, n0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0_pad, 1_pad, 2_pad, 3_pad, 4_pad, 5_pad, 6_pad, 7_pad, 8_pad, 9_pad, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, esc, backquote, minus, equals, backspace, tab, openbrace, closebrace, enter, semicolon, quote, backslash, less, comma, period, slash, space, insert, del, home, end, pgup, pgdn, left, right, up, down, slash_pad, asterisk_pad, minus_pad, plus_pad, period_pad, enter_pad, prtscr, pause, lshift, rshift, lcontrol, rcontrol, lalt, ralt, lwin, rwin, menu, scrlock, numlock, capslock, stop, again, props, undo, front, copy, open, paste, find, cut, help, calc, setup, sleep, wakeup, file, sendfile, deletefile, xfer, prog1, prog2, www, msdos, coffee, direction, cyclewindows, mail, bookmarks, computer, back, forward, closecd, ejectcd, ejectclosecd, nextsong, playpause, previoussong, stopcd, record, rewind, phone, iso, config, homepage, refresh, exit, move, edit, scrollup, scrolldown, leftparen_pad, rightparen_pad, intl1, intl2, intl3, intl4, intl5, intl6, intl7, intl8, intl9, lang1, lang2, lang3, lang4, lang5, lang6, lang7, lang8, lang9, playcd, pausecd, prog3, prog4, suspend, close, brightnessdown, brightnessup, macro, mute, volumedown, volumeup, power, compose, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24

                                      EDIT: Anyone know what the 'coffee' key is?

                                      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                      S 1 Reply Last reply Reply Quote 0
                                      • ?
                                        A Former User
                                        last edited by

                                        Got it working great.
                                        Followed Spud11's post, and partly mediamogul's astrocade posts.
                                        Just fired up Planetoid, looks good.
                                        Tried a few bbc disk commands, and they too worked - *cat, *!boot , etc....
                                        It's 2am here, so off to bed. Tomorrow, I will test a real BBC Master, alongside the Pi, and post some screens from the same games.
                                        Whats weird is that my BBC Master has a Pi Zero inside it, running as a co-pro, along with usb and a CF HD. Amazing what people are doing with the Pi, even adding it to it's big old granddad, the BBC.

                                        mediamogulM 1 Reply Last reply Reply Quote 0
                                        • mediamogulM
                                          mediamogul Global Moderator @A Former User
                                          last edited by

                                          @John_RM_70 said in Pro tip for anyone thinking of installing MESS:

                                          Tomorrow, I will test a real BBC Master, alongside the Pi, and post some screens from the same games.

                                          Very nice! I look forward to seeing how it holds up.

                                          RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            SpudsMcToole Banned @mediamogul
                                            last edited by SpudsMcToole

                                            @mediamogul said in Pro tip for anyone thinking of installing MESS:

                                            @SpudsMcToole said in Pro tip for anyone thinking of installing MESS:

                                            BBC doesn't have an Alt key, so goodness knows what's going on.

                                            Still, it may be using the 'Alt' key as a stand-in for some other key. If you could find one key that isn't being used, you should be able to access the menu. Below is a list of all the available options.

                                            Gah. My best bet out of this lot was probably "lwin", but that does nothing either.

                                            0_1541156114382_lwin.jpg image url)

                                            I booted the emulator up and tried every key at the command prompt, and the only one that had no discernible effect on either the BBC or MESS was F12, but that was no good either. How in the heck are people getting the menus up?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.