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

    AdvMESS For Dummies - a basic guide

    Scheduled Pinned Locked Moved Help and Support
    advmessmessbbcastrocadefairchild
    75 Posts 7 Posters 11.3k 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.
    • S
      spud11
      last edited by

      @SpudsMcToole While I'm about it, my entire advmess.rc file is below:

      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
      
      a5200/input_map[key_1] joystick_button[0,8] or keyboard[0,1]
      a5200/input_map[key_2] joystick_button[0,9] or keyboard[0,2]
      a5200/input_map[p1_button1] joystick_button[0,0]
      a5200/input_map[p1_button2] joystick_button[0,1]
      a5200/input_map[key_s] joystick_button[0,2]
      a5200/input_map[key_r] joystick_button[0,5]
      a5200/input_map[key_b] joystick_button[0,4]
      a5200[star_raiders]/input_map[key_s] joystick_button[0,2] or joystick_button[1,2]
      a5200[star_raiders]/input_map[key_1] joystick_button[0,8] or joystick_button[1,8]
      a5200[star_raiders]/input_map[key_2] joystick_button[0,9] or joystick_button[1,9]
      a5200[star_raiders]/input_map[key_3] joystick_button[0,10] or joystick_button[1,10]
      a5200[star_raiders]/input_map[key_4] joystick_button[0,11] or joystick_button[1,11]
      a5200[star_raiders]/input_map[key_5] joystick_button[0,12] or joystick_button[1,12]
      a5200[star_raiders]/input_map[key_6] joystick_button[0,13] or joystick_button[1,13]
      a5200[star_raiders]/input_map[key_7] joystick_button[0,14] or joystick_button[1,14]
      a5200[star_raiders]/input_map[key_8] joystick_button[0,15] or joystick_button[1,15]
      a5200[star_raiders]/input_map[key_9] joystick_button[0,16] or joystick_button[1,16]
      a5200[star_raiders]/input_map[key_del] joystick_button[0,17] or joystick_button[1,17]
      a5200[star_raiders]/input_map[key_0] joystick_button[0,18] or joystick_button[1,18]
      a5200[star_raiders]/input_map[key_enter] joystick_button[0,19] or joystick_button[1,19]
      a5200[star_raiders]/input_map[p1_button1] joystick_button[0,0] or joystick_button[1,0]
      a5200[star_raiders]/input_map[p1_button2] joystick_button[0,1] or joystick_button[1,1]
      
      adam/input_map[key_1] joystick_button[0,8] or keyboard[0,1]
      adam/input_map[key_2] joystick_button[0,9] or keyboard[0,2]
      adam/input_map[p1_trackball_left] keyboard[0,f24]
      adam/input_map[p1_trackball_right] keyboard[0,f24]
      adam/input_map[p2_button1] joystick_button[1,0]
      adam/input_map[p2_button2] joystick_button[1,1]
      adam/input_map[p2_button3] joystick_button[1,2]
      adam/input_map[p2_button4] joystick_button[1,4]
      adam/input_map[p2_down] joystick_digital[1,0,1,0]
      adam/input_map[p2_left] joystick_digital[1,0,0,1]
      adam/input_map[p2_right] joystick_digital[1,0,0,0]
      adam/input_map[p2_trackball_down] keyboard[0,f24]
      adam/input_map[p2_trackball_up] keyboard[0,f24]
      adam/input_map[p2_up] joystick_digital[1,0,1,1]
      adam/input_dipswitch[controllers] super_action_controllers
      
      channelf/input_map[key_1] joystick_button[0,8] or keyboard[0,1]
      channelf/input_map[key_2] joystick_button[0,9] or keyboard[0,2]
      channelf/input_map[p1_start] joystick_button[0,8] or keyboard[0,1]
      channelf/input_map[p1_button5] joystick_button[0,9] or keyboard[0,5]
      channelf/input_map[p1_button6] joystick_button[0,10] or keyboard[0,6]
      channelf/input_map[p1_button7] joystick_button[0,11] or keyboard[0,7]
      channelf/input_map[p1_button4] joystick_button[0,17] or keyboard[0,3]
      channelf/input_map[p1_button3] joystick_button[0,18] or keyboard[0,4]
      channelf/input_map[p1_button2] joystick_button[0,0] or keyboard[0,z]
      channelf/input_map[p1_button1] joystick_button[0,1] or keyboard[0,x]
      channelf/input_map[p2_button5] joystick_button[1,9]
      channelf/input_map[p2_button6] joystick_button[1,10]
      channelf/input_map[p2_button7] joystick_button[1,11]
      channelf/input_map[p2_button4] joystick_button[1,17]
      channelf/input_map[p2_button3] joystick_button[1,18]
      channelf/input_map[p2_button2] joystick_button[1,0]
      channelf/input_map[p2_button1] joystick_button[1,1]
      
      coleco/input_map[key_1] joystick_button[0,8] or keyboard[0,1]
      coleco/input_map[key_2] joystick_button[0,9] or keyboard[0,2]
      coleco/input_map[key_q] joystick_button[1,8]
      coleco/input_map[key_w] joystick_button[1,9]
      coleco/input_map[key_e] joystick_button[1,10]
      coleco/input_map[key_r] joystick_button[1,11]
      coleco/input_map[key_t] joystick_button[1,12]
      coleco/input_map[key_y] joystick_button[1,13]
      coleco/input_map[key_u] joystick_button[1,14]
      coleco/input_map[key_i] joystick_button[1,15]
      coleco/input_map[key_o] joystick_button[1,16]
      coleco/input_map[key_p] joystick_button[1,17]
      coleco/input_map[key_k] joystick_button[1,18]
      coleco/input_map[key_l] joystick_button[1,19]
      coleco/input_map[p2_button1] joystick_button[1,0]
      coleco/input_map[p2_button2] joystick_button[1,1]
      coleco/input_map[p2_button3] joystick_button[1,2]
      coleco/input_map[p2_button4] joystick_button[1,3]
      coleco/input_map[p2_down] joystick_digital[1,0,1,0]
      coleco/input_map[p2_left] joystick_digital[1,0,0,1]
      coleco/input_map[p2_right] joystick_digital[1,0,0,0]
      coleco/input_map[p2_up] joystick_digital[1,0,1,1]
      coleco/input_dipswitch[extra_controllers] super_action_controllers
      
      intv/input_map[key_1] joystick_button[0,8] or keyboard[0,1]
      intv/input_map[key_2] joystick_button[0,9] or keyboard[0,2]
      intv/input_map[key_q] joystick_button[1,8]
      intv/input_map[key_w] joystick_button[1,9]
      intv/input_map[key_e] joystick_button[1,10]
      intv/input_map[key_r] joystick_button[1,11]
      intv/input_map[key_t] joystick_button[1,12]
      intv/input_map[key_y] joystick_button[1,13]
      intv/input_map[key_u] joystick_button[1,14]
      intv/input_map[key_i] joystick_button[1,15]
      intv/input_map[key_o] joystick_button[1,16]
      intv/input_map[key_p] joystick_button[1,17]
      intv/input_map[key_k] joystick_button[1,18]
      intv/input_map[key_l] joystick_button[1,19]
      intv/input_map[p2_button1] joystick_button[1,0]
      intv/input_map[p2_button2] joystick_button[1,1]
      intv/input_map[p2_button3] joystick_button[1,2]
      intv/input_map[p2_left] joystick_digital[1,0,0,1]
      intv/input_map[p2_down] joystick_digital[1,0,1,0]
      intv/input_map[p2_right] joystick_digital[1,0,0,0]
      intv/input_map[p2_up] joystick_digital[1,0,1,1]
      
      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_bbcmicro_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_capslock,75); delay(75); simulate_key(key_2,75); delay(75); 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(75); simulate_key(key_2,50); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
      
      bbcbp128[home_pi_retropie_roms_bbcmicro_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_capslock,75); delay(75); simulate_key(key_2,75); delay(75); 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(75); simulate_key(key_2,50); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
      
      bbcbp128[home_pi_retropie_roms_bbcmicro_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(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); 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(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
      
      bbcbp128[home_pi_retropie_roms_bbcmicro_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(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); 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(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); 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] 
      
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_1] joystick_button[0079_0006_3,7] or keyboard[0,1]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_3] joystick_button[0079_0006,10] or keyboard[0,3]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_2] joystick_button[0079_0006,9] or keyboard[0,2]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_4] joystick_button[0079_0006,11] or keyboard[0,4]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_5] joystick_button[0079_0006,12] or keyboard[0,5]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_7] joystick_button[0079_0006,14] or keyboard[0,7]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_6] joystick_button[0079_0006,13] or keyboard[0,6]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_8] joystick_button[0079_0006,15] or keyboard[0,8]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_9] joystick_button[0079_0006,16] or keyboard[0,9]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_0] joystick_button[0079_0006,18] or keyboard[0,0]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_enter] joystick_button[0079_0006,19] or keyboard[0,enter]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_del] joystick_button[0079_0006,17] or keyboard[0,del] or keyboard[0,backspace]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_a] joystick_digital[0079_0006_3,0,0,0] or keyboard[0,a]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_s] joystick_button[0079_0006_3,7] or keyboard[0,s]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_z] joystick_digital[0079_0006_3,0,0,1] or keyboard[0,z]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_space] joystick_button[0079_0006_3,2] or keyboard[0,space]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_comma] joystick_digital[0079_0006_3,0,1,1] or keyboard[0,comma]
      bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/input_map[key_period] joystick_digital[0079_0006_3,0,1,0] or keyboard[0,period]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_1] joystick_button[0079_0006,8] or keyboard[0,1]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_ctrl] joystick_digital[0079_0006_3,0,1,0] or keyboard[0,lcontrol]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_3] joystick_button[0079_0006,10] or keyboard[0,3]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_2] joystick_button[0079_0006,9] or keyboard[0,2]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_4] joystick_button[0079_0006,11] or keyboard[0,4]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_space] joystick_button[0079_0006_3,7] or joystick_button[0079_0006_3,5] or keyboard[0,space]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_5] joystick_button[0079_0006,12] or keyboard[0,5]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_7] joystick_button[0079_0006,14] or keyboard[0,7]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_6] joystick_button[0079_0006,13] or keyboard[0,6]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_8] joystick_button[0079_0006,15] or keyboard[0,8]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_9] joystick_button[0079_0006,16] or keyboard[0,9]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_0] joystick_button[0079_0006,18] or keyboard[0,0]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_enter] joystick_button[0079_0006_3,0] or keyboard[0,enter]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_del] joystick_button[0079_0006,17] or keyboard[0,del] or keyboard[0,backspace]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[p1_button1] 
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[p1_button2] 
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_1] joystick_button[0079_0006,8] or keyboard[0,1]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_tab] joystick_button[0079_0006_3,1] or keyboard[0,tab]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_3] joystick_button[0079_0006,10] or keyboard[0,3]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_2] joystick_button[0079_0006,9] or keyboard[0,2]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_a] joystick_digital[0079_0006_3,0,0,0] or keyboard[0,a]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_z] joystick_digital[0079_0006_3,0,0,1] or keyboard[0,z]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_4] joystick_button[0079_0006,11] or keyboard[0,4]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_space] joystick_button[0079_0006_3,5] or keyboard[0,space]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_5] joystick_button[0079_0006,12] or keyboard[0,5]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_7] joystick_button[0079_0006,14] or keyboard[0,7]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_6] joystick_button[0079_0006,13] or keyboard[0,6]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_h] joystick_button[0079_0006_3,4] or keyboard[0,h]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_8] joystick_button[0079_0006,15] or keyboard[0,8]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_9] joystick_button[0079_0006,16] or keyboard[0,9]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_0] joystick_button[0079_0006,18] or keyboard[0,0]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_enter] joystick_button[0079_0006_3,0] or keyboard[0,enter]
      bbcbp128[home_pi_retropie_roms_bbcmicro_planetoid]/input_map[key_del] joystick_button[0079_0006,17] or keyboard[0,del] or keyboard[0,backspace]
      bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/input_map[key_1] joystick_button[0079_0006,8] or keyboard[0,1]
      bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/input_map[key_3] joystick_button[0079_0006,10] or keyboard[0,3]
      bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/input_map[key_2] joystick_button[0079_0006,9] or keyboard[0,2]
      bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/input_map[key_4] joystick_button[0079_0006,11] or keyboard[0,4]
      bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/input_map[key_5] joystick_button[0079_0006,12] or keyboard[0,5]
      bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/input_map[key_7] joystick_button[0079_0006,14] or keyboard[0,7]
      bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/input_map[key_6] joystick_button[0079_0006,13] or keyboard[0,6]
      bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/input_map[key_8] joystick_button[0079_0006,15] or keyboard[0,8]
      bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/input_map[key_9] joystick_button[0079_0006,16] or keyboard[0,9]
      bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/input_map[key_0] joystick_button[0079_0006,18] or keyboard[0,0]
      bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/input_map[key_enter] joystick_button[0079_0006,19] or keyboard[0,enter]
      bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/input_map[key_del] joystick_button[0079_0006,17] or keyboard[0,del] or keyboard[0,backspace]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_lshift] joystick_button[0079_0006_3,2] or keyboard[0,lshift]
      bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_rshift] joystick_button[0079_0006_3,2] or keyboard[0,lshift]
      bbcb[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_1] joystick_button[0079_0006,8] or keyboard[0,1]
      bbcb[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_3] joystick_button[0079_0006,10] or keyboard[0,3]
      bbcb[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_2] joystick_button[0079_0006,9] or keyboard[0,2]
      bbcb[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_4] joystick_button[0079_0006,11] or keyboard[0,4]
      bbcb[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_5] joystick_button[0079_0006,12] or keyboard[0,5]
      bbcb[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_7] joystick_button[0079_0006,14] or keyboard[0,7]
      bbcb[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_6] joystick_button[0079_0006,13] or keyboard[0,6]
      bbcb[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_8] joystick_button[0079_0006,15] or keyboard[0,8]
      bbcb[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_9] joystick_button[0079_0006,16] or keyboard[0,9]
      bbcb[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_0] joystick_button[0079_0006,18] or keyboard[0,0]
      bbcb[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_enter] joystick_button[0079_0006,19] or keyboard[0,enter]
      bbcb[home_pi_retropie_roms_bbcmicro_thrust]/input_map[key_del] joystick_button[0079_0006,17] or keyboard[0,del] or keyboard[0,backspace]
      

      RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

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

        @SpudsMcToole Lastly, I've got a complete list of the symbols and naming convention for simulating events etc:

        Symbols:
        This is the complete list of all the predefined symbols available.
        These are the event symbols available for the simulate_event(EVENT, TIME) and event(EVENT) commands :

        p1_up, p1_down, p1_left, p1_right, p2_up, p2_down, p2_left, p2_right, p1_button1, p1_button2, p1_button3, p1_button4, p1_button5, p1_button6, p1_button7, p1_button8, p1_button9, p1_button10, p2_button1, p2_button2, p2_button3, p2_button4, p2_button5, p2_button6, p2_button7, p2_button8, p2_button9, p2_button10, start1, start2, start3, start4, coin1, coin2, coin3, coin4, service_coin1, service_coin2, service_coin3, service_coin4, service, tilt
        

        And:

        ui_mode_next, ui_mode_pred, ui_record_start, ui_record_stop, ui_turbo, ui_cocktail, ui_configure, ui_on_screen_display, ui_pause, ui_reset_machine, ui_show_gfx, ui_frameskip_dec, ui_frameskip_inc, ui_throttle, ui_show_fps, ui_snapshot, ui_toggle_cheat, ui_up, ui_down, ui_left, ui_right, ui_select, ui_cancel, ui_pan_up, ui_pan_down, ui_pan_left, ui_pan_right, ui_show_profiler, ui_show_colors, ui_toggle_ui, ui_toggle_debug, ui_save_state, ui_load_state, ui_add_cheat, ui_delete_cheat, ui_save_cheat, ui_watch_value
        

        These are the keyboard symbols available for the simulate_key(EVENT, TIME) (for example, the script_play) command:

        key_a, key_b, key_c, key_d, key_e, key_f, key_g, key_h, key_i, key_j, key_k, key_l, key_m, key_n, key_o, key_p, key_q, key_r, key_s, key_t, key_u, key_v, key_w, key_x, key_y, key_z, key_0, key_1, key_2, key_3, key_4, key_5, key_6, key_7, key_8, key_9, key_0_pad, key_1_pad, key_2_pad, key_3_pad, key_4_pad, key_5_pad, key_6_pad, key_7_pad, key_8_pad, key_9_pad, key_f1, key_f2, key_f3, key_f4, key_f5, key_f6, key_f7, key_f8, key_f9, key_f10, key_f11, key_f12, key_esc, key_backquote, key_minus, key_equals, key_backspace, key_tab, key_openbrace, key_closebrace, key_enter, key_semicolon, key_quote, key_backslash, key_less, key_comma, key_period, key_slash, key_space, key_insert, key_del, key_home, key_end, key_pgup, key_pgdn, key_left, key_right, key_up, key_down, key_slash_pad, key_asterisk_pad, key_minus_pad, key_plus_pad, key_period_pad, key_enter_pad, key_prtscr, key_pause, key_lshift, key_rshift, key_lcontrol, key_rcontrol, key_lalt, key_ralt, key_scrlock, key_numlock, key_capslock, key_lwin, key_rwin, key_menu
        

        RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

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

          @spud11 said in AdvMESS For Dummies - a basic guide:

          bbcbp128/script_play delay(750); simulate_key(key_scrlock,75);

          Fantastic! That one solved it - left Alt and Tab now brings up the menu. Cheers :)

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

            Okay, so this seems to be how to get everything working and customisable on BBC, so I'll also add it to the OP.

            Firstly, add this line on its own somewhere in the .RC file:

            bbcbp128/script_play delay(750); simulate_key(key_scrlock,75);
            

            That enables the MESS menu to be brought up.

            When you start a game, press left-Alt and Tab to bring the menu up. Go to "Input (this system)" and map the controls for that game. Despite the name, this actually appears to be a per-game mapping, not system-wide, which is handy.

            When you're done, quit out. Now your bbcmicro.rc file will have a bunch of lines like this in it:

            bbcbp128[home_pi_retropie_roms_bbcmicro_killer]/input_map[key_z] keyboard[0,z] or joystick_digital[0079_0011,0,0,1]
            bbcbp128[home_pi_retropie_roms_bbcmicro_killer]/input_map[key_x] keyboard[0,x] or joystick_digital[0079_0011,0,0,0]
            

            The important thing about these is that they tell you what MESS uses as its internal name for the game - this is Killer Gorilla, and MESS has titled it "killer".

            If you don't mind manually typing CHAIN "KILLER" every time you want to boot the game up, you're already done. The control keys have been mapped to your joystick and saved, so you only have to set them once for each game in your library.

            If, however, you also want to automate the boot process, you'll need one of two lines.

            For games which boot with CHAIN "GAMENAME", add this line to the .RC file before the control-map lines above:

            bbcbp128[home_pi_retropie_roms_bbcmicro_GAMENAME]/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(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_g,100); delay(75); simulate_key(key_a,75); delay(100); simulate_key(key_m,75); delay(100); simulate_key(key_e,75); delay(100); simulate_key(key_n,75); delay(100); simulate_key(key_a,75); delay(100); simulate_key(key_m,75); delay(100); simulate_key(key_e,75); delay(100); simulate_key(key_2,75); delay(100); simulate_key(key_capslock,75); delay(100); simulate_key(key_enter,75); delay(100);
            

            Replace "GAMENAME" with whatever MESS has told you is its internal name for the game - eg "killer" in our example above - and change the letters g-a-m-e-n-a-m-e in the script for the letters of whatever that title is. (Obviously you might need to add or delete a couple.)

            For games which boot with *RUN "GAMENAME", do the exact same but use this template:

            bbcbp128[home_pi_retropie_roms_bbcmicro_GAMENAME]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_capslock,75); delay(75); simulate_key(key_quote,75); delay(75); simulate_key(key_r,75); delay(100); simulate_key(key_u,100); delay(100); simulate_key(key_n,100); delay(100); simulate_key(key_space,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_g,100); delay(75); simulate_key(key_a,75); delay(100); simulate_key(key_m,75); delay(100); simulate_key(key_e,75); delay(100); simulate_key(key_n,75); delay(100); simulate_key(key_a,75); delay(100);  simulate_key(key_m,75); delay(100); simulate_key(key_e,75); delay(100); simulate_key(key_2,75); delay(100); simulate_key(key_capslock,75); delay(100); simulate_key(key_enter,75); delay(100);
            

            AFAIK every game on the BBC runs with either CHAIN or *RUN, so those two templates should cover you for everything. You now have fully-automated BBC games loading, booting and running with custom control mappings.

            OneSwitchO 1 Reply Last reply Reply Quote 1
            • OneSwitchO
              OneSwitch
              last edited by

              Great work. Section 6 didn't work for me. I needed this:

              advmess = "/opt/retropie/emulators/advmame/bin/advmess bbcb -floppy %ROM%"
              default = "advmess"

              S 1 Reply Last reply Reply Quote 0
              • S
                spud11 @OneSwitch
                last edited by

                @OneSwitch Might be because you haven't manually set up a separate .rc file for the BBC Micro called bbcmicro.rc. I'm assuming you're using the standard advmess.rc configuration file?

                RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

                OneSwitchO 1 Reply Last reply Reply Quote 0
                • OneSwitchO
                  OneSwitch @spud11
                  last edited by

                  @spud11 Maybe linked to having previously set-up the Channel F using the advmess.rc file. I did set up the separate file as described. Don't want to break the Channel F so happy it's working a bit.

                  I'm finding I can't SHIFT+BREAK at the minute, but just having the BBC 32K window is big progress for me, thanks.

                  1 Reply Last reply Reply Quote 0
                  • OneSwitchO
                    OneSwitch
                    last edited by

                    I'm finding as soon as I press "." it's swapping resolutions up until a crash point. Makes loading games impossible. I'd better read the rest of the above first, but if it's not explained, any thoughts?

                    OneSwitchO 1 Reply Last reply Reply Quote 0
                    • OneSwitchO
                      OneSwitch @OneSwitch
                      last edited by

                      @OneSwitch Lots of remapping is the answer...

                      1 Reply Last reply Reply Quote 0
                      • OneSwitchO
                        OneSwitch @SpudsMcToole
                        last edited by

                        Thanks so much for doing all of this. I found that auto-start didn't work for me though. I've had to do this...

                        bbcbp128[home_pi_retropie_roms_bbcmicro_lottery]/script_play delay(750); 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(75); simulate_key(key_lalt,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_m,100); delay(75); simulate_key(key_e,75); delay(100); simulate_key(key_n,75); delay(100); simulate_key(key_u,75); delay(100); simulate_key(key_2,75); delay(100); simulate_key(key_enter,75); delay(100); 
                        

                        Where I'm using the BBC Master emulator (bbcp128), and needed to CHAIN"MENU" [return] to get the game running. I found that the " " part wasn't working for me. Hope this helps a bit further.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          spud11 @OneSwitch
                          last edited by

                          @OneSwitch It looks like you didn't need to "type" the scroll lock or the capslock keys in your script. Would that be right?

                          RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

                          OneSwitchO 1 Reply Last reply Reply Quote 0
                          • OneSwitchO
                            OneSwitch @spud11
                            last edited by

                            @spud11 - Yes that's right. I'm not sure why the slight differences. I'm also finding (after some tweaking) that every game seems to store its own unique joystick settings. Which is very handy, albeit laborious.

                            Love the auto-boot script. Thanks for that.

                            Wondering now.... Is it possible to have two separate BBC Micro areas. One for 32K Model B and one for BBC Master 128K, as they both have lots of incompatibility issues I find, between one another.

                            Cheers again for all this.

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

                              The Master can be made more compatible using older Model B os, I do this on a real master using a switchable multi-os. I found os 1.20 to be the most compatible. Whether this can be done in emulation, I don't yet know.

                              One thing I can't seem to get working is saving per-game settings like you all seem to be doing, my settings aren't saved when I exit.
                              I would like to get a specific video mode working, higher horizontal res + multiplier x2 - which gives a picture far closer to the real thing.

                              1 Reply Last reply Reply Quote 1
                              • S
                                spud11 @OneSwitch
                                last edited by spud11

                                @OneSwitch No worries - my contribution to the betterment of humanity!

                                I just had a look at my emulators.cfg for BBC Micro which is:

                                beebem = "/usr/local/bin/beebem %ROM%"
                                default = "advmess"
                                beebem2 = "%ROM%"
                                advmess = "/opt/retropie/emulators/advmame/bin/advmess bbcbp128 -floppy %ROM%"
                                b-em = "/opt/retropie/emulators/b-em/b-em %ROM%" -m10
                                beebem3 = "/opt/retropie/emulators/beebem2/beebem2 %ROM%"
                                

                                I have a feeling if you wanted to replicate the 32K Model B as well as the 128, you'd just need to add another configuration manually to this file. When you start a game, you'd need to bring up the blue menu to pick the new 32K configuration for that particular game.

                                As that can be a bit of a pain (ie destroys immersion), what I often do with my systems is create a new configs folder and a new roms folder - one for the BBC 128 and another for the BBC 32K. I then combine the 2 romlists into a new combined Attract Mode romlist. That way I don't need to bring up the blue menu when I start a game - the game automatically has the right configuration.

                                I would also create a new emulator in the Attract Mode emulators folder which would look something like this:

                                # Generated by Attract-Mode v2.2.1
                                #
                                executable           /opt/retropie/supplementary/runcommand/runcommand.sh
                                args                 0 _SYS_ bbcmicro32k "[romfilename]"
                                rompath              /home/pi/RetroPie/roms/bbcmicro32k
                                romext               .ssd;.SSD
                                system               BBC Micro
                                info_source          thegamesdb.net
                                artwork    flyer           /home/pi/RetroPie/roms/bbcmicro/flyer
                                artwork    marquee         /home/pi/RetroPie/roms/bbcmicro/marquee
                                artwork    snap            /home/pi/RetroPie/roms/bbcmicro/snap
                                artwork    wheel           /home/pi/RetroPie/roms/bbcmicro/wheel
                                

                                RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

                                OneSwitchO 1 Reply Last reply Reply Quote 2
                                • OneSwitchO
                                  OneSwitch @spud11
                                  last edited by

                                  Champion. I'll try that ASAP. So nice to have the Beeb running.

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

                                    If you are only playing games on the BBC emulator, then is there any real reason to run a Master 128 ?
                                    It didn't really offer anything over the standard 32k Model B, for the majority of games, aside from Elite Enhanced.

                                    For what the Beeb could really do, and it's a shame it took until the last few years to show this, then this is a fabulous collection of freeware games by Retro Software.

                                    http://bbcmicro.co.uk/index.php?search=Retro+Software&on_P=on

                                    Some are almost arcade-perfect.

                                    S 1 Reply Last reply Reply Quote 1
                                    • S
                                      spud11 @A Former User
                                      last edited by

                                      @John_RM_70 Brilliant list. Thanks for that.

                                      RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

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

                                        Thought this might be useful for those wanting other BBC variants, such as Model A, Model B, 64k, etc..

                                        This is the BBC variant, followed by the mess system name.

                                        BBC Master 128k - bbcbp128
                                        BBC Model A - bbca
                                        BBC Model B - bbcm
                                        BBC Model B+ 128k - bbcbp
                                        BBC Model B+ 64K - bbcb

                                        These are the roms (exact names), followed by the crc, needed for advmess.

                                        basic2.rom - crc:79434781
                                        bpos2.rom - crc:9f356396
                                        ch103.rom - crc:98367cf4
                                        ddfs-1.53.rom - crc:e1be4ee4
                                        ddfs223.rom - crc:7891f9b7
                                        dfs09.rom - crc:3ce609cf
                                        dfs144.rom - crc:9fb8d13f
                                        dnfs.rom - crc:8ccd2157
                                        mos+3.50.rom - crc:141027b9
                                        os12.rom - crc:3c14fc70
                                        zdfs-0.90.rom - crc:ea579d4d

                                        S 1 Reply Last reply Reply Quote 1
                                        • S
                                          spud11 @A Former User
                                          last edited by

                                          @John_RM_70 It's apparent to me and probably to others here that you have a deep and abiding interest in the BBC Micro. Could you let us know your thoughts please on each of these models? I'd rather like to have just one model installed, if possible, using advmess. I selected bbcbp128, but copy of Elite I have doesn't seem to work (yet I know I had it working at one stage - perhaps when I was using the 32K model). (I have to try out some of the other commands instead of CHAIN "LOAD" in the meantime).

                                          Does the bbcbp128 have 100% compatibility with games made for the other models or do you think it's necessary to install more than one model to get proper coverage of games?

                                          RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

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

                                            @spud11 said in AdvMESS For Dummies - a basic guide:

                                            bbcbp128

                                            It's 4am here, so I will give you a better answer later today - I stupidly did a source update on one of my Pi emulators, and now it's still going.
                                            My honest opinion is that the Master 128k isn't needed for games since 99.9% of them are for the Model B, while a tiny few take advantage of the Master 128k.
                                            On real hardware, I found the only way to make the Master 128 more compatible is to use a multi-os hardware switcher, to switch from os 1.2 upto os 3.50. with 1.2 being the most compatible - something to do with a missing character set in the later roms.
                                            I have a Model B 32k with a Turbo MMC SDcard, and this is the most compatible out of all the Beebs.
                                            I am going to switch to the BBC Model B, for the advmess emulator, since I am already finding many games not working with the bbcbp128.

                                            1 Reply Last reply Reply Quote 1
                                            • 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.