AdvMESS And The Secret BIOS Location
-
I'm trying to run Tandy CoCo games through AdvMESS, but it keeps crashing with a "File not found" error for the bas10.rom BIOS file.
Parameters: Executing: /opt/retropie/emulators/advmame/bin/advmess coco -log -cfg /opt/retropie/configs/coco/advmess.rc -cassette "/home/pi/RetroPie/roms/coco/GAMES01.DSK" bas10.rom NOT FOUND ERROR: required files are missing, the game cannot be run.
Being AdvMESS, though, it doesn't do anything helpful or useful like tell me where it's looking for it, and there's no "verbose logging" option in RUNCOMMAND.
This is my EMULATORS.CFG:
xroar-cocous = "/opt/retropie/emulators/xroar/bin/xroar -fs -vo sdl -ccr simple -machine cocous -run %ROM%" default="xroar-cocous" xroar-coco = "/opt/retropie/emulators/xroar/bin/xroar -fs -vo sdl -ccr simple -machine coco -run %ROM%" advmess = "/opt/retropie/emulators/advmame/bin/advmess coco -log -cfg /opt/retropie/configs/coco/advmess.rc -cassette %ROM%"
This is my ADVMESS.RC:
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/.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/coco 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 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] 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[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_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] input_map[ui_configure] keyboard[0,tab] or joystick_button[0079_0011_2,7] input_map[p1_button1] keyboard[0,lcontrol] or joystick_button[0079_0011,3] input_map[p1_button2] keyboard[0,lalt] or joystick_button[0079_0011,4] input_map[p1_button3] keyboard[0,space] or joystick_button[0079_0011,0] input_map[p1_button4] keyboard[0,lshift] or joystick_button[0079_0011,1] input_map[ui_cancel] keyboard[0,esc] or keyboard[0,f7] or joystick_button[0079_0011_2,tr]
I have copies of bas10.rom (and bas12.rom and bas13.rom for good measure) in the following locations:
/home/pi/RetroPie/BIOS
/opt/retropie/configs/mame-advmame
/opt/retropie/configs/mame-advmame/rom
/opt/retropie/configs/coco
/home/pi/RetroPie/roms
/home/pi/RetroPie/roms/coco
But apparently none of those are acceptable. Any ideas?
-
While there's nothing shown in the logfile,
advmess
(likeadvmame
) saves a log file (advmess.log
) in the folder from where the command is started.So, running your example, I see that
advmess
tries to findbas10.rom
in a subfoldercoco
in any of thedir_rom
folders. So I've setdir_rom /home/pi/roms/coco:/home/pi/RetroPie/BIOS
in
/opt/retropie/configs/coco/advmess.rc
, then I've copied abas10.rom
file in/home/pi/RetroPie/BIOS/coco
. This should help you get rid of this error. -
@mitu That did the trick, cheers. Except now it turns out that I needed the disk BIOS :(
(Xroar boots into disk OS automatically. I can't find anything anywhere about what I need to make AdvMESS do the same. Gah.)
I'm pretty sure the file will be the extbas10.rom and extbas11.rom files I have, but I'm scratching my head trying to work out how to tell AdvMESS to use them. It's not the misc_bios line in ADVMESS.RC - I changed that from
misc_bios default
to
misc_bios extbas11.rom
and to
misc_bios extbas11
but that made no difference, still just booted in BASIC 1.0. I also tried just renaming the extbas11 file to bas10, but no dice there either. And I tried deleting all the BIOS files except extbas11.rom, but it somehow still managed to just boot in BASIC 1.0. Pretty much out of ideas now.
-
@SpudsMcToole I should make this a separate thread since it's a totally different question, really.
-
...except now it's turned into a BIOS-location problem again. I eventually worked out that I need to be setting it to "cocoe" in EMULATORS.CFG rather than just "coco". Except now I get this:
Parameters: Executing: /opt/retropie/emulators/advmame/bin/advmess cocoe -log -cfg /opt/retropie/configs/coco/advmess.rc -floppydisk "/home/pi/RetroPie/roms/coco/GAMES01.DSK" bas11.rom NOT FOUND extbas10.rom NOT FOUND OPTIONAL disk10.rom NOT FOUND ERROR: required files are missing, the game cannot be run.
...even though all of those files are present, in the exact same folder(s) as bas10.rom is. WHUH?
-
Try creating a subfolder called cocoe and putting the BIOS files there.
/opt/retropie/configs/advmame/rom/cocoe
Then put the bas10.rom, bas11.rom, extbas10.rom, and disk10.rom into that new subfolder.
See if that helps AdvMame find the proper BIOS for the cocoe system.
-
@dmmarti It was simpler than that - I'm a dumdum and I had so many folders with CoCo BIOS files in them from when I was trying to get it work that I'd added the Extended Basic ROMs to every folder except the right one :D
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.