Wednesday 27 April 2016

Misc. emulation: AdvanceMess

For the last two systems I wished to emulate (NES, Game Boy and Game Gear), I decided to use the AdvanceMess "all-in-one" system, as AdvanceMame was easy to use on the BeagleBone Black. Not much to say here, just get the advancemess-0.102.0.1 source tarball available here, untar it, and compile it as you would any program. Just make sure to enable the proper drivers (SDL and FrameBuffer in our case):
  ./configure --prefix=/media/BBB/ --enable-sdl --enable-fb   
  make   
  make install   

NES and Game Gear emulation work fine, but the Game Gear screen appears blue-ish. I might spend a little time in the future investigating this, but for what I have seen, the code is a bit too... messy... for a quick fix!
I did not manage to get PCEngine emulation to work, I may take a little time too to investigate this. The games just do not start, no obvious error.

To start a game with advancemess, you have to drop the rom in a subfolder of your roms directory named after your system. For example, if you set your dir_rom folder as /media/BBB/roms in your ~/.advance/advmess.rc configuration file, drop your "Mega Man (USA).nes" rom in the /media/BBB/roms/nes/ folder, and start the emulation with
 advmess nes -cart "Mega Man (USA).nes"  

As a final note on this matter, here is my advmess.rc file. Nothing really specific.
 debug_crash no  
 debug_rawsound no  
 debug_speedmark no  
 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_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 oss  
 device_video sdl  
 device_video_cursor auto  
 device_video_doublescan yes  
 device_video_fastchange no  
 device_video_interlace yes  
 device_video_output auto  
 device_video_overlaysize 1024  
 device_video_singlescan yes  
 dir_artwork /root/.advance/artwork:/media/BBB//share/advance/artwork  
 dir_crc /root/.advance/crc  
 dir_diff /root/.advance/diff  
 dir_hi /root/.advance/hi  
 dir_image /root/.advance/image:/media/BBB//share/advance/image:/media/BBB/roms  
 dir_inp /root/.advance/inp  
 dir_memcard /root/.advance/memcard  
 dir_nvram /root/.advance/nvram  
 dir_rom /root/.advance/rom:/media/BBB//share/advance/rom:/media/BBB/roms/  
 dir_sample /root/.advance/sample:/media/BBB//share/advance/sample  
 dir_snap /root/.advance/snap  
 dir_sta /root/.advance/sta  
 display_adjust none  
 display_antialias no  
 display_artwork_backdrop yes  
 display_artwork_bezel no  
 display_artwork_crop yes  
 display_artwork_overlay yes  
 display_aspectx 16  
 display_aspecty 9  
 display_beam 1  
 display_brightness 1  
 display_buffer no  
 display_color auto  
 display_expand 1  
 display_flicker 0  
 display_flipx no  
 display_flipy no  
 display_frameskip auto  
 display_gamma 1  
 display_intensity 1.5  
 display_interlaceeffect none  
 display_magnify 1  
 display_mode auto  
 display_pausebrightness 1  
 display_resize mixed  
 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[p1_up] keyboard[0,up]  
 input_map[p1_left] keyboard[0,left]  
 input_map[p1_right] keyboard[0,right]  
 input_map[p1_down] keyboard[0,down]  
 input_map[p1_button1] keyboard[0,a]  
 input_map[p1_button2] keyboard[0,s]  
 input_map[p1_select] keyboard[0,w]  
 input_map[p2_up] keyboard[0,i]  
 input_map[p2_left] keyboard[0,j]  
 input_map[p2_right] keyboard[0,l]  
 input_map[p2_down] keyboard[0,k]  
 input_map[p2_button1] keyboard[0,f]  
 input_map[p2_button2] keyboard[0,g]  
 input_map[p2_select] keyboard[0,t]  
 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 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_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 mono  
 sound_normalize yes  
 sound_samplerate 22050  
 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  

No comments:

Post a Comment