Forum Replies Created

Viewing 28 posts - 1 through 28 (of 28 total)
  • Author
    Posts
  • caver01
    Participant
    Post count: 31

    I can confirm the same behavior on an iPAC4 as well as an external keyboard over USB: Pi3, keyboard controls, lr-mame2010.

    caver01
    Participant
    Post count: 31

    I just wanted to update this post for anyone else interested in vector resolution. Thanks to help from Buzz on this post I was eventually able to specify my display size for running vector games at full resolution. Buzz actually updated the advancemame code for both 1.4 and 0.94 to look for a new setting in the .rc config file instead of forcing a 640×480 default.

    To enable high-res vector, first, backup your old config files. Then, you need to have the latest RetroPie script, so update that. At the time of this writing, the latest RetroPie is 3.6, but this change came AFTER the 3.6 image, so you still need to update the script. Then, use the retropie menus to download AVANCEMAME from binary source. This will install/overwrite the version of 1.4 and 0.94 with one that has the change. Finally, add these lines to the .rc file if not already there:

    display_width 1280
    display_height 1024

    Obviously, you should use your own display’s native resolution. This was mine. These config entries only affect the resolution used for vector games. In my case, the games kept their proper aspect ratio since my monitor is 5:4 not 4:3.

    With this setup, I now get crisp vector lines at the highest resolution. It looks fantastic! I usually bump the display_intensity to 1.75 or so (3 is the highest), add a flicker of 15 and enable translucency (default) all through the .rc file. These settings only affect vector games and the result is a very nice approximation of a vector display.

    Thanks, Buzz!

    caver01
    Participant
    Post count: 31

    Thanks. I am planning to do that. It’s a lot to learn, but I am getting there.

    caver01
    Participant
    Post count: 31

    Even better!

    So, I tried both and they work great. I set my width and height in the configs as you described. It preserved the game’s aspect ratio (I think it was 1280×960) which is perfect–exactly what the other version of 1.2 was doing with the proper modelines and so on. I adjusted my intensity up a bit to 1.75 and set the flicker to 15. This is right where I like it, and it looks very nice, and crisp. All of the lines are native-pixel-smooth. I tested with asteroids deluxe.

    One thing I did notice is that if you increase the beam width (I don’t like to do that, but to each their own) single points (shots, asteroid particles) render as vertical lines, not upsized dots. I don’t remember if it was like that before or not, since I use a size of 1, but it’s worth a mention.

    This is great. Thank you so much! About the only thing better would be the addition of glow effect like the old AAE emulator, but this is much better than being stuck at 640×480.

    Is this limitation also a factor with raster games? There are RGB effects 3-triad, 6-triad, and scanlines that look better at higher resolution too–not for vector of course, but for other games. If not, that’s fine. I am happy with clean vector!

    caver01
    Participant
    Post count: 31

    Fantastic! I can’t wait to try it. Thanks so much. I will let you know. I assume this is for 1.4?

    caver01
    Participant
    Post count: 31

    Both good questions. The 1.2 came from the PiPlay image. I didn’t compile it. As for a smaller config based on a default– I can use 1.2 to generate a default and work from there, but the whole point of this is that I never could get 1.4 run in high resolution by adding any of these config settings. It’s possible I have configs that don’t have any effect–I tried all kinds of ideas before I got it working. I expect this exercise may be easier if I start taking away lines until it stops working.

    caver01
    Participant
    Post count: 31
    in reply to: Pi2 image on Pi3 #121229

    I had a 3.5 image on a pi2, did a script update (restart) then updated binaries (restart) then did an apt-get update, followed by apt-get dist-upgrade. Restarted. Worked great. Swapped to pi3 and still worked great! What’s more, a few MAME roms that had performance issues on the pi2 were much better. For instance, the music on Golden Tee 2k is pretty good now and no bad slowdowns.

    I am also setting up a fresh install of 3.6 just in case. Seems cleaner that way, but I am happy I have my existing image working on the pi3.

    caver01
    Participant
    Post count: 31

    Glad you asked! I have tried for weeks to get 1.4 to play vector games at my native resolution with no luck. Last year, after many late nights with PiPlay, I was able to get native resolution on Vector games using 1.2 and this config. So, with RetroPie I finally tried a test with the pre-compiled advmame 1.2 executable from my other SD card (running PiPlay) and simply replaced the advmame .94 binary as a test. This was a feeble attempt at leveraging at least some runcommand flexibility–use 1.4 for most stuff, but for vector games, I could select .94 and know that it was actually running the 1.2 advmame I copied over.

    My .94 swap is kludgy, and I don’t get much traction with other posts on this topic which is why I did the test. When it worked, I figured maybe I could just get 1.2 setup properly with runcommand support. I am still willing to try suggestions, but I have already tried this config (corrected the paths) to no avail in 1.4. Could there be a difference in the retropie-compiled versions of 1.4 that specifically prevents 1280×1024? On a previous post, you seemed to suggest thats the case. But, with the coming changes possibly to the default resolutions in RetroPie, I am definitely interested in making this work well. Once you have seen the crisp vector lines, it’s hard to go back to blurry 640×480 for vector classics.

    Here’s my 1.2 config (game-specific input mapping removed):

    display_mode auto
    display_adjust generate_yclock
    device_video_clock 60-150 / 30-80 / 60
    device_video_format 33630 0.814815 0 0.111111 0.0740741 0.914286 0.0196429 0.00357143 0.0625
    device_video_modeline FULLSCREEN 105.37 1280 1336 1512 1568 1024 1046 1050 1120 -hsync -vsync
    debug_crash no
    debug_rawsound no
    debug_speedmark no
    device_alsa_device default
    device_alsa_mixer channel
    device_color_bgr15 no
    device_color_bgr16 yes
    device_color_bgr24 no
    device_color_bgr32 no
    device_color_bgr8 no
    device_color_palette8 no
    device_color_yuy2 no
    device_joystick auto
    device_keyboard raw
    device_mouse raw
    device_raw_firstkeyhack no
    device_raw_mousedev[0] /dev/input/mouse0
    device_raw_mousedev[1] /dev/input/mouse1
    device_raw_mousedev[2] /dev/input/mouse2
    device_raw_mousedev[3] auto
    device_raw_mousetype[0] ps2
    device_raw_mousetype[1] ps2
    device_raw_mousetype[2] ps2
    device_raw_mousetype[3] ps2
    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_singlescan yes
    dir_artwork /home/pi/RetroPie/roms/mame-advmame/artwork:/opt/retropie/configs/mame-advmame/artwork
    dir_diff /home/pi/.advance/diff
    dir_hi /home/pi/.advance/hi
    dir_image /home/pi/.advance/image:/opt/retropie/emulators/advmame/0.94.0/share/advance/image
    dir_inp /home/pi/.advance/inp
    dir_memcard /home/pi/.advance/memcard
    dir_nvram /home/pi/.advance/nvram
    dir_rom /home/pi/RetroPie/roms/mame-advmame
    dir_sample /home/pi/RetroPie/roms/mame-advmame/samples
    dir_snap /home/pi/.advance/snap
    dir_sta /home/pi/.advance/sta
    display_artwork_backdrop yes
    display_artwork_bezel no
    display_artwork_crop yes
    display_artwork_overlay yes
    display_aspectx 5
    display_aspecty 4
    display_brightness 1
    display_buffer yes
    display_color auto
    display_expand 1
    display_flipx no
    display_flipy no
    display_frameskip 0.5
    display_gamma 1.0
    display_interlaceeffect none
    display_magnify 4
    display_pausebrightness 0.6
    display_resize fractional
    display_resizeeffect filter
    display_restore yes
    display_rgbeffect triad6dot
    display_rol no
    display_ror no
    display_scanlines no
    display_skipcolumns auto
    display_skiplines auto
    display_vsync yes
    vector/display_mode FULLSCREEN
    vector/display_translucency yes
    vector/display_intensity 3.0
    vector/display_antialias yes
    vector/display_beam 1.2
    vector/display_flicker .1
    vector/display_adjust none
    vector/display_magnify 2
    vector/display_rgbeffect none
    vector/display_resizeeffect none
    vector/device_video_output fullscreen
    vector/display_resize fractional
    vertical/display_ror yes
    include 
    input_hotkey yes
    input_idleexit 0
    input_map[coin5] auto
    input_map[coin6] auto
    input_map[coin7] auto
    input_map[coin8] auto
    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[p1_dialx] mouse[0,x]
    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] mouse[0,x] mouse[1,x] mouse[2,x]
    input_map[p1_trackbally] mouse[0,y] mouse[1,y] mouse[2,y]
    input_map[p2_dialx] -mouse[0,y]
    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] mouse[0,x] mouse[1,x] mouse[2,x]
    input_map[p2_trackbally] mouse[0,y] mouse[1,y] mouse[2,y]
    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_toggle_ui] auto
    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_safequit yes
    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 no
    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
    input_map[p1_up] keyboard[0,up]
    input_map[p1_down] keyboard[0,down]
    input_map[p1_right] keyboard[0,right]
    input_map[p1_left] keyboard[0,left]
    input_map[p1_button1] keyboard[0,lcontrol]
    input_map[p1_button2] keyboard[0,lalt]
    input_map[p1_button3] keyboard[0,space]
    input_map[p1_button4] keyboard[0,lshift]
    input_map[p1_button5] keyboard[0,z]
    input_map[p1_button6] keyboard[0,x]
    input_map[p1_button7] 
    input_map[p1_button8] 
    input_map[p2_up] keyboard[0,r]
    input_map[p2_down] keyboard[0,f]
    input_map[p2_right] keyboard[0,g]
    input_map[p2_left] keyboard[0,d]
    input_map[p2_button1] keyboard[0,a]
    input_map[p2_button2] keyboard[0,s]
    input_map[p2_button3] keyboard[0,q]
    input_map[p2_button4] keyboard[0,w]
    input_map[p2_button5] keyboard[0,i]
    input_map[p2_button6] keyboard[0,k]
    input_map[p2_button7] 
    input_map[p2_button8] 
    input_map[p1_doubleleft_up] keyboard[0,j]
    input_map[p1_doubleleft_down] keyboard[0,l]
    input_map[p1_doubleleft_right] keyboard[0,i]
    input_map[p1_doubleleft_left] keyboard[0,k]
    input_map[p1_doubleright_up] keyboard[0,up]
    input_map[p1_doubleright_down] keyboard[0,down]
    input_map[p1_doubleright_right] keyboard[0,right]
    input_map[p1_doubleright_left] keyboard[0,left]
    vertical/input_dipswitch[cabinet] cocktailinvaderl/input_dipswitch[cabinet] cocktail
    292x240/display_rgbeffect triadstrong6dot
    320x224/display_rgbeffect triadstrong6dot
    512x480/display_rgbeffect triadstrong6dot
    292x240x60/display_rgbeffect triadstrong6dot
    292x240x60/display_magnify 3
    292x240/display_magnify 3
    240x248/display_rgbeffect triadstrong6dot
    240x248/display_magnify 3
    224x288/display_rgbeffect triadstrong6dot
    224x288/display_magnify 3
    294x239/display_rgbeffect triadstrong6dot
    294x239/display_magnify 3
    336x240/display_rgbeffect triadstrong3dot
    336x240/display_magnify 3
    512x480x30/display_rgbeffect none
    512x480x30/display_resize integer
    512x480x30/display_magnify 1
    292x240/display_mode generate-quad
    292x240/display_resize mixed
    512x480x30/display_mode generate
    512x480x30/display_vsync no
    224x256/display_mode generate-quad
    224x256/display_rgbeffect triadstrong6dot
    224x256/display_magnify 3
    384x224x60/display_mode generate
    384x224x60/display_rgbeffect none
    400x254x53/display_mode generate
    400x254x53/display_rgbeffect none
    480x464x60/display_mode generate-double
    480x464x60/display_resizeeffect filter
    480x464x60/display_rgbeffect triadstrong3dot
    224x288x60/display_resize mixed
    224x288/display_resize mixed
    224x256x60/display_rgbeffect triad6dot
    input_map[p1_button9] 
    input_map[p1_button10] 
    input_map[p2_doubleright_up] keyboard[0,u]
    input_map[p2_doubleright_down] keyboard[0,v]
    input_map[p2_doubleright_left] keyboard[0,y]
    input_map[p2_doubleright_right] keyboard[0,n]
    input_map[p2_doubleleft_up] keyboard[0,r]
    input_map[p2_doubleleft_down] keyboard[0,f]
    input_map[p2_doubleleft_left] keyboard[0,d]
    input_map[p2_doubleleft_right] keyboard[0,g]
    input_map[p2_button9] 
    input_map[p2_button10] 
    input_map[p3_up] keyboard[1,scan0]
    input_map[p3_down] keyboard[0,k]
    input_map[p3_left] keyboard[0,j]
    input_map[p3_right] keyboard[0,l]
    input_map[p3_button1] keyboard[0,rcontrol]
    input_map[p3_button2] keyboard[0,rshift]
    input_map[p3_button3] keyboard[0,enter]
    input_map[p3_button4] keyboard[0,o]
    input_map[p3_button5] 
    input_map[p3_button6] 
    input_map[p3_button7] 
    input_map[p3_button8] 
    input_map[p3_button9] 
    input_map[p3_button10] 
    input_map[p4_up] keyboard[1,scan0]
    input_map[p4_down] keyboard[0,n]
    input_map[p4_left] keyboard[0,v]
    input_map[p4_right] keyboard[0,u]
    input_map[p4_button1] keyboard[0,b]
    input_map[p4_button2] keyboard[0,e]
    input_map[p4_button3] keyboard[0,h]
    input_map[p4_button4] keyboard[0,m]
    input_map[p4_button5] 
    input_map[p4_button6] 
    input_map[p4_button7] 
    input_map[p4_button8] 
    input_map[p4_button9] 
    input_map[p4_button10] keyboard[0,down]
    input_map[ui_up] keyboard[0,up] or keyboard[0,i] or keyboard[0,up]
    input_map[ui_down] keyboard[0,down] or keyboard[0,k] or keyboard[0,down]
    input_map[ui_left] keyboard[0,left] or keyboard[0,j] or keyboard[0,left]
    input_map[ui_right] keyboard[0,right] or keyboard[0,l] or keyboard[0,right]
    input_map[ui_select] keyboard[0,enter] or keyboard[0,1] or keyboard[0,3]
    vertical/input_map[p1_right] keyboard[0,l]
    vertical/input_map[p1_left] keyboard[0,j]
    vertical/input_map[p1_up] keyboard[0,i]
    vertical/input_map[p1_down] keyboard[0,k]
    vertical/input_map[p1_button1] keyboard[0,rcontrol]
    vertical/input_map[p1_button2] keyboard[0,rshift]
    vertical/input_map[p1_button3] keyboard[0,enter]
    vertical/input_map[p1_button4] keyboard[0,o]
    vertical/input_map[p2_right] keyboard[0,u]
    vertical/input_map[p2_left] keyboard[0,v]
    vertical/input_map[p2_up] keyboard[0,y]
    vertical/input_map[p2_down] keyboard[0,n]
    vertical/input_map[p2_button1] keyboard[0,b]
    vertical/input_map[p2_button2] keyboard[0,e]
    vertical/input_map[p2_button3] keyboard[0,h]
    vertical/input_map[p2_button4] keyboard[0,m]
    vertical/input_map[start1] keyboard[0,3]
    vertical/input_map[start2] keyboard[0,4]
    vertical/input_map[coin1] keyboard[0,7] or keyboard[0,8]
    caver01
    Participant
    Post count: 31

    With 1.2 I can configure 1280×1024 resolution for vector games.

    caver01
    Participant
    Post count: 31

    Hmm. That’s pretty interesting. I don’t think I have mentioned this anywhere above, but the default value for sound_latency was something like 0.2, which is really strange and noticeably long. I don’t think you can set it to zero, but .05 is fine, and you can definitely hear the difference. I don’t understand how a 5th of a second audio lag could be acceptable as a default. It won’t fix the 5-second problem, but don’t ignore it.

    I wish I knew exactly what steps I took while troubleshooting my USB audio besides landing on the settings linked above. It’s possible that I have some residual ALSA file somewhere after trying so many different things. I am really disappointed in the way my USB card is supported. Commands to the channel name PCM don’t work at all.

    I had hoped to find a way to use an ALSA “clone” plugin so that I could leave the PCM channel (built-in Broadcom) enabled and setup my config to mimic everything to the USB hardware. I had a few aspects of this working at one point, but not every had sound. Perhaps some of them bypassed ALSA settings. In any case, I switched to the built-in jack for now. I may come back to USB, but it’s so frustrating.

    caver01
    Participant
    Post count: 31

    I think you have the files you need. ROM, + Framefile.txt, .m2v and .ogg files. I have seen rips that result in many more sound and video files (with a .txt framefile to match–and it works fine) but this is what you need.

    A couple things worth noting:

    The Daphne Loader on your PC doesn’t get the files off of the DVD. It merely verifies you own the DVD and decrypts the large video files that it downloads in the background (via Bittorrent). The .bf files are the encrypted versions. You don’t need them once they have been converted to .m2v and .ogg. Also, you often find .DAT files accompanying each of the media files. These get generated on the fly at first run (parsing). No need to copy them over. In fact, it’s better if you don’t. They often work as-is, but the .dat files are indexes which can be different on different systems (endian issues). No harm in letting Daphne rebuild them.

    caver01
    Participant
    Post count: 31

    blanka, I think you answered your own question. I was getting sound to work at first using another method too. In fact, I have used four or five different methods to get usb sound working in some capacity, but it wasn’t until I reversed my other attempts and followed the instructions in the link to create /etc/modprobe.d/alsa-base.conf that the delay went away.

    Right now, however, I have the broadcom audio enabled again going to the built-in 3.5mm jack and my USB dongle is unplugged. I discovered that the NORMALIZE audio setting in advancemame was the cause of crackling. Once I turned off normalization in the GUI, and permanently with this line in advmame.rc: “sound_normalize no” the crackling stops. I am testing whether or not I even need USB audio.

    Anyway, try the technique outlined in the link above and see if that works better.

    caver01
    Participant
    Post count: 31

    I was able to replace the binary for advancemame 0.94 with advancemame 1.2 as a test. Using 1.2 and a combination of configuration settings in the .rc file allowed me to run vector games at my display’s native resolution (for me, that’s 1280×1024).

    This configuration isn’t ideal. I don’t have a firm grasp on how to properly setup a third version of advmame–my image started with RetroPie 3.5, so it didn’t have advancemame 1.2. I am literally forcing the binary to launch in place of .94 which also means I had to build advmame.rc (without a version number in the name) in order to add my config. It’s a bit clumsy, and it prevents me from using the actual .94 because I swapped the advmame binary. Is there a better way to enable a third choice of advancemame using the emulators.cfg and a corresponding folder structure?

    The real benefit to messing with this at all is that 1.2 seems to handle vector games differently than 1.4. Running a vector game at your display’s native pixel resolution makes a huge difference. Lines are crisp, but can be thickened and antialiased as desired. This seems to be the way these games are intended to run to make the images look as much like electron beam vector lines as possible. The only improvement would be a glow effect (like AAE). But even without a glow, it is worth the hassle for anyone who likes vector games.

    As Buzz described above, it sounds like we are “faking” modelines. Is there a way to fake a higher resolution?

    caver01
    Participant
    Post count: 31

    [quote=118607]I have tried the “-bank” and “-fastboot” options, with success.[/quote]

    Ok, thanks for confirming. I will go back and try again. I must have missed something.

    You are right, -fastboot has limited support.

    caver01
    Participant
    Post count: 31

    I just wanted to pass along an FYI regarding the use of single video file sets for multiple game engines.

    Perhaps everyone already knows this, but you don’t have to have to duplicate the large mpegs or fiddle with things every time you want to try another ROM for a title that has multiple game engines. For instance, you can run lair, lair_f, or even dle21 by merely building out the respective .daphne folders but only one of them needs to have the mpegs and audio files. In the others, only the .txt framefiles are needed, provided you adjust the first line to point to other folder with the mpegs, effectively sharing one set of video files for multiple ROMs.

    This let’s you launch different versions of the game, possibly with different command parameters, without stopping to configure things between or wasting disk space with multiple copies of the large video files.

    caver01
    Participant
    Post count: 31

    Is anyone successfully using the additional params in a .commands file? I haven’t been successful at all.

    For example, something like

    -fastboot

    allows Space Ace and Dragon’s Lair to boot very quickly, skipping the process of running through all of the slates. Yet, the only way I can get this parameter to work is if I add it to the base launch script. I can’t get it to work in lair.commands for example, even though I have the lair.commands file inside my lair.daphne folder.

    Ideas?

    caver01
    Participant
    Post count: 31

    [quote=118075]but I still get an errormessage when leaving ES, saying something like

    “lvl0: …init: failed to load Mixer-elements”…is that normal?[/quote]

    Are you using a USB sound card? I am, and I get this error. It works in some situations, but scripts that try to use simple channel named “PCM” for example will fail. That usually means any “Save state” scripts probably designed to save volume settings fail, even though an emulator might work fine using default audio. I have search high and low for a COMPLETE solution for USB audio. I am still looking.

    caver01
    Participant
    Post count: 31

    Installed on Pi2. Setup was smooth and simple.

    I did run into one odd parsing issue that hasn’t happened to me before, so for anyone else out there, this may help:

    My Space Ace framefile lists the .m2v files in lower case. However, almost all of the video files themselves are named with upper case characters. Daphne would not parse the files because it could not find them (framefile references appear to be case-sensitive), so. . . inside the ace.daphne video file folder:

    rename ‘y/A-Z/a-z/’ *

    That took care of the video files easily enough. I tried launching Ace again and this time parsing completed just fine and the game ran smoothly.

    caver01
    Participant
    Post count: 31

    Fantastic. This method is both flexible and complete. Great work!

    caver01
    Participant
    Post count: 31

    This is exciting. Question/Feedback:

    Does this setup allow for customization of the run command switches per Daphne ROM?

    There has been some mention of DIP switch settings, but they are ROM specific, even among titles that share the same framefile.

    For exmaple, I might specify the rom “dle21” to play Dragon’s Lair Enhanced 2.1 using the “lair” framefile and using the following DIP switches: -bank 0 11011000 -bank 1 01110111

    but these DIP switches won’t be the same for the “lair_f” ROM that uses the same framefile. The DIPs definitely won’t be the same for another title like space ace.

    It definitely makes launching daphne a bit more complicated–something the Daphne Loader front end solves with preferences per game. On another Pi image I worked around this by writing a launch script to parse ROM input parameters and add switches as needed/desired. This is adequate with so few titles to worry about, but necessary given the questions that most people have (i.e. “can I enable the drawbridge scene?”).

    Thoughts?

    EDIT: Sorry, some of this is redundant to previous posts– by the time I finished writing, questions are being asked and answered! Great work so far.

    caver01
    Participant
    Post count: 31

    Spartan,

    That setting from advmame.rc is ONLY for vector games. It affects how the “beam” is drawn.

    See this for info: http://www.advancemame.it/doc-advmame#8.7.1

    I have not been able to get vector games to display at any resolution higher than 640×480.

    The setting you may be after for other games is this:

    display_resizeeffect none

    Check here for the different options: http://www.advancemame.it/doc-advmame#8.5.1

    caver01
    Participant
    Post count: 31

    I have the same issue. Sound works in games etc. because I have configured the defaults to point to my USB hardware, but volume level changes fail and related errors persist. I think it’s because of calls to the simple channel element “PCM” which is no longer available when I enable my USB audio as the default. In my case, it’s a C-Media adapter that responds to the channel element named “Headphone”.

    One promising I idea I was trying was to setup an ALSA plugin that makes my USB hardware mirror everything sent to the built-in audio. This requires undoing the USB default settings so the built-in audio becomes the default again and the “PCM” named element is available. That eliminated the errors, but not every emulator had audio. If we could make this audio syncing work with some ALSA expertise, that would solve the issue for everyone, regardless of their USB card’s channel element names. It’s beyond my knowledge of ALSA setup–the trial and error takes so long because I don’t know what exactly I am doing!

    caver01
    Participant
    Post count: 31

    So, is 1.4 coded differently in this regard than 1.2? Because I have 1.2 running on another image (not RetroPie) and it absolutely uses my modelines. As such, I can run vector games at 1280×1024 on that one as well as pull off a few 4x magnify on some games to have some very flexible rgb effects.

    So, what about the other versions of mame?

    caver01
    Participant
    Post count: 31
    caver01
    Participant
    Post count: 31

    something to keep in mind that I have to deal with once in a while. . . There are vertical 2-player games like 1941 that have the players side-by-side. This won’t work if you don’t have two sticks on one end. For those, you have to UNDO the command above for individual games like this: 1941/display_ror no, assuming you want that. My trackball, for example, is on the horizontal side, so I need to undo the rotation for games like Centipede.

    Also, this may be of use to you–on my cocktail style cabinet, I have vertical controls on opposite ends, and if I set the cocktail-mode dip switch for many classics vertical/input_dipswitch[cabinet] cocktail, the screen auto-flips to player 2 on the other end! Again, you may have to reverse this for certain games. Not all games even have the dip switch, but for those that do, like pac man, donkey kong, frogger, etc., this can come in handy. This control layout also works great for Tetris, just like I remember.

    caver01
    Participant
    Post count: 31

    If you are using advancemame, you can add this line to the advmame.rc file:

    vertical/display_ror yes

    that will rotate the vertical games RIGHT, you could do this instead

    vertical/display_rol yes

    depending on which end is up.

    caver01
    Participant
    Post count: 31

    Better or worse, I simply installed libGLEW to get this working on PiPlay:

    sudo apt-get install libglew1.7

    However, I notice that Space Ace runs slower than it does on RetroPie. Not sure why yet.

    caver01
    Participant
    Post count: 31

    I am trying to reproduce this success on another Pi gaming distro but I am running into a library error–this time it wants libGLEW.so.1.7 (it already wanted the vorbis library which I installed).

    QUESTION: Is there a similar “sudo apt-get install” command that I might use to get past this?

    I guess another way to ask this is: What’s unique about RetroPie with respect to GLEW that is allowing Daphne to launch, and is this a potentially deep rabbit hole of OpenGL support? Or, (fingers crossed) is it a fairly straightforward dependency I can resolve without breaking other things?

    Thanks!

Viewing 28 posts - 1 through 28 (of 28 total)