Homepage Forums Search Search Results for 'dual'

Viewing 35 results - 456 through 490 (of 888 total)
  • Author
    Search Results
  • #100871
    reprotie
    Participant

    [quote=100854]Just got my raspberry pi today and I am having this issue as well, but it seems to be with all emulators (I have only tested NES/SNES so far though). Dpad is not working in any of the games I have tried, but the other buttons seem to be ok. When setting the controller up in the settings, all of the buttons seem to be recognized, except when I press the L2 button it adds it as L2 and R2 in the config settings as soon as I press it. But the main issue is that the dpad isn’t working; it’s unplayable without that.

    I am using the Dual Shock 4 / PS4 controller with a USB cable if that matters.

    [/quote]

    I’m not using a ps4 controller, but I’m having the same problem here. Changed from Lakka to Retropie and EmulationStation today, and I can’t figure out what the problem is, for the life of me :o

    My usb keyboard works fine, but the dpad and analogs just doesn’t work.
    I used jtest to see the inputs, used the new autoconfig via the ES menu, tried to setup the retroarch cfg manually, placing copies inside the “\config\[emulator]”, placing the controller config inside “\config\[emulator]\retroarch.cfg”… Still nothing. Tested Super Mario All-stars, A Link to The Past (snes), SuperMarioland (gb), castlevania (nes) and CTR (psone)
    (btw, I can control the games using the keyboard and the joypad at the same time.)

    I’m using the Version 3.0 BETA 4 (retropie-v3.0beta4-rpi2.img.gz), and this is my joypad config inside “\\RETROPIE\configs\all\retroarch.cfg”:

    input_device = "DragonRise Inc.   Generic   USB  Joystick  "
    input_driver = "udev"
    input_b_btn = "2"
    input_y_btn = "3"
    input_select_btn = "8"
    input_start_btn = "9"
    
    input_up_btn = "h0up"
    input_down_btn = "h0down"
    input_left_btn = "h0left"
    input_right_btn = "h0right"
    
    input_a_btn = "1"
    input_x_btn = "0"
    input_l_btn = "4"
    input_r_btn = "5"
    input_l2_btn = "6"
    input_r2_btn = "7"
    input_l3_btn = "10"
    input_r3_btn = "11"
    input_l_x_plus_axis = "+0"
    input_l_x_minus_axis = "-0"
    input_l_y_plus_axis = "+1"
    input_l_y_minus_axis = "-1"
    input_r_x_plus_axis = "+2"
    input_r_x_minus_axis = "-2"
    input_r_y_plus_axis = "+3"
    input_r_y_minus_axis = "-3"
    input_enable_hotkey_btn = "8"
    input_exit_emulator_btn = "9"
    input_menu_toggle_btn = "0"
    input_load_state_btn = "4"
    input_save_state_btn = "5"
    input_reset_btn = "2"
    input_state_slot_increase_btn = "h0right"
    input_state_slot_decrease_btn = "h0left"

    Any help?

    #100854
    luckilee
    Participant

    Just got my raspberry pi today and I am having this issue as well, but it seems to be with all emulators (I have only tested NES/SNES so far though). Dpad is not working in any of the games I have tried, but the other buttons seem to be ok. When setting the controller up in the settings, all of the buttons seem to be recognized, except when I press the L2 button it adds it as L2 and R2 in the config settings as soon as I press it. But the main issue is that the dpad isn’t working; it’s unplayable without that.

    I am using the Dual Shock 4 / PS4 controller with a USB cable if that matters.

    callumhurley
    Participant

    So my Dualshock 4 is connected via USB and works fine in the menu and was an easy set up in config. In the SNES emulator the face buttons work. The D-Pad does not. Has anyone else experienced this?

    #100657
    flausch
    Participant

    Sorry, I only checked if 2600 worked for me, but did no further configuration yet, because my priority was C64 and Amiga.

    Did you check the wiki? https://github.com/RetroPie/RetroPie-Setup/wiki/Atari-2600

    “Press Tab to access configuration menu- choose input settings and under the tab Emul. Events you can create custom controller mappings to work for your individual controllers”

    #100569
    qrayg
    Participant

    Is there a modern tutorial on how to get the DS4 controller set up wirelessly with RetroPie version 3+?

    I see a lot of references to the ds4drv project, but everyone says it lags too much. I tried following a bunch of tutorials but they are all from RetroPie 2.3-ish and it seems that the new 3+ version do not have the same dependencies. The instructions fail every time from a fresh install of RP. When I launch bluetoothctrl I cannot type the commands from the tutorials. I’ve also tried in vain to replace Bluez 4.99 with the latest 5+ version (5+ has full support for DS4 natively)… nothing works.

    I love the ease of pairing a DS3 controller, I’d like the same ease with pairing a DS4 controller.

    On that same line, will we ever get Bluez 5+ in RP or is 4.99 the best we can get?

    retrofan
    Participant

    Hello everyone,

    I use for some time Retropie v3.0 beta 3 and I would like to add new emulator for zx spectrum and make it default.
    Retropie comes with two built-in emulators fbzx and fuse (default), but for me the best emulator “Unreal Speccy Portable” is not present.
    I downloaded an emulator here https://bitbucket.org/djdron/unrealspeccyp/downloads/unreal-speccy-portable_0.0.64_rpi.zip

    unpacked and put together with the others in /opt/retropie/emulators/usp
    Then edited the emulator.cfg file in /opt/retropie/configs/zxspectrum adding a line usp=”/opt/retropie/emulator/usp/unreal_speccy_portable %ROM%” and set default =”usp”
    Unfortunately, the emulator is not working when I started a game, just came back in emulationstation menu.
    I also tried to make a script +Start USP.sh that will start the emulator manually from es menu (as uae4all for example) but this also failed, because obviously I’m not well-configured parameters.
    The only way to start the emulator is to press F4 and go to the terminal, then manually change the emulator directory and start it with ./unreal_speccy_portable

    Also, maybe I should set the es_systems.cfg file but did not know what.

    Can someone help me set this emulator as the default, or at least that it can start from emulationstation menu and be able to use it comfortably as other emulators.
    I exhausted my modest knowledge of retropie package and linux and I would like to solve this problem.
    Sorry for my bad english, best regards.

    Pi Model: 2B
    RetroPie Version Used: 3.0 Beta 3
    Built From: SD Image
    USB Devices connected: joypad, wireless keyboard
    Controller used: ps3 dualshock clone

    Scott Nath
    Participant

    Hi there,

    Ran into a bug I’m not sure how to fix.

    I am attempting to follow the instructions here:
    https://github.com/RetroPie/RetroPie-Setup/wiki/How-would-I-start-from-command-line,-say,-the-SNES-emulator-by-itself%3F

    I am running this command:
    /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-imame4all/libretro.so /home/pi/RetroPie/roms/mame-mame4all/ddragon.zip

    I am getting this error:
    Illegal instruction

    Any idea what that means?

    thanks,
    Scott

    ## My setup
    * retropie-v3.0beta-rpi2
    * rasberry pi b+
    * x-arcade dual joystick (x 2)

    #99460
    herbfargus
    Member

    I usually do the full binary install, or if there are just a few emulators to update I do that individually. And with any update its good to have a backup just in case the updates don’t go according to plan/mess up configs. Its really personal preference. Other times I’ll just flash a new SD image.

    footwo
    Participant

    Ah right, so those configs will pertain to individual systems. It’s probably a good idea to tailor each one then I’d imagine.

    If the config file that’s created by the retroarch setup ends up as

    /opt/retropie/emulators/retroarch/configs/SonyPLAYSTATION(R)3Controller.cfg

    and that is used in the event you run an emulator that you haven’t explicitly overridden (by a retroarch.cfg in their respective folders), then what do these files do?

    /opt/retropie/configs/all/retroarch.cfg
    /opt/retropie/emulators/retroarch/retroarch.cfg
    retroarch-core-options.cfg

    Sorry to bombard you with questions :p

    I’ve just hit up your youtube channel btw, gonna check out these how-tos!

    footwo
    Participant

    Hey! Thanks for replying. Good to know about the update!

    Wrt retroarch, it just doesn’t seem to work. I’ve tried with a generic snes USB pad, and only the d-pad, SELECT, START, A & B work. X, Y & shoulder buttons dont. I’ve also tried a ps3 controller wired and that just goes haywire.

    Both these pads are detected just fine in jstest so I know they work on the pi. Apparently the stock configs that come with the image are causing problems:

    https://github.com/retropie/RetroPie-Setup/issues/795

    So I’m going to try a fresh install, then delete all the configs, then run retroarch setup.

    Thing is, I’m building this as a birthday present for my niece and I want her to be able to use the right pads for the right systems, or as far as possible anyway. I’m thinking a snes pad would work fine for the 8bit and 16bit consoles (as well as atari, c64 etc) whilst a ps3 controller would suit other systems with more elaborate controllers.

    Is that possible? To configure retroarch as the master controller to use a ps3 pad, but then override individual emulators (nes/snes/megadrive etc) to use the generic snes style pad?

    Retroarchs configs are all over the place and I find it a bit confusing :D

    #99387

    Topic: Raspiporn

    in forum Peoples Projects
    labelwhore
    Participant

    I guess it’s about time I showed you what I’m working with.

    Here’s my Pi in it’s natural habitat:
    [attachment file=”99388″]

    And the glory shot. I’ve got a 3 TB HDD in there (mostly full of kung fu movies for watching in Kodi) with a print server for wireless network/internet access (more free USB ports, yay!), with a powered USB hub that sticks out the front of the case. You’ll notice there is a CPU fan, and a massive case fan. It’s super quiet. I’ve also got a power button for the pi and an off switch that safely powers off the Pi, as well as access to the power strip switch through a hole in the top. Everything is mounted in place with screws through the bottom. There are rubber feet on it to protect whatever it sits on.
    [attachment file=”99389″]

    It’s not meant to be pretty, purely functional, but it does a great job at that, thanks to everyone’s help here of course.

    I’m using wireless Xbox 360 controllers, but my custom dual arcade stick, which is basically just 2 wired Xbox 360 controllers and arcade cabinet parts, also works with it.

    #99345

    In reply to: DOSBox update

    labelwhore
    Participant

    It looks like maybe I should keep things the way I have them. I’ve got a little over 100 games, some have multiple .exe files, some launch from .bat files and usually there’s more than one.

    So how I have these .bat files set up… I have a couple .sh file like this (this one is named 486.sh):

    #!/bin/bash
    /opt/retropie/supplementary/runcommand/runcommand.sh 1 "/opt/retropie/emulators/dosbox/bin/dosbox -conf "/home/pi/RetroPie/roms/pc/486.conf" -c \"MOUNT C /home/pi/RetroPie/roms/pc\"" "dosbox"
    

    486.conf is a slightly changed config file set up to have dosbox run in 486 mode. It looks like the code blow. Not what’s important here is this part:

    cputype=486_slow
    cycles=3000
    cycleup=20
    cycledown=20

    and the section at the very bottom, particularly these lines, this makes dosbox launch directly to menu.bat

    MOUNT C /home/pi/RetroPie/roms/pc
    C:
    menu.bat

    # This is the configuration file for DOSBox SVN. (Please use the latest version of DOSBox)
    # Lines starting with a # are comment lines and are ignored by DOSBox.
    # They are used to (briefly) document the effect of each option.
    
    [sdl]
    #       fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
    #       fulldouble: Use double buffering in fullscreen. It can reduce screen flickering, but it can also result in a slow DOSBox.
    #   fullresolution: What resolution to use for fullscreen: original, desktop or a fixed size (e.g. 1024x768).
    #                     Using your monitor's native resolution with aspect=true might give the best results.
    #                     If you end up with small window on a large screen, try an output different from surface.
    # windowresolution: Scale the window to this size IF the output device supports hardware scaling.
    #                     (output=surface does not!)
    #           output: What video system to use for output.
    #                   Possible values: surface, overlay.
    #         autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
    #      sensitivity: Mouse sensitivity.
    #      waitonerror: Wait before closing the console if dosbox has an error.
    #         priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
    #                     pause is only valid for the second entry.
    #                   Possible values: lowest, lower, normal, higher, highest, pause.
    #       mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the default value.
    #     usescancodes: Avoid usage of symkeys, might not work on all operating systems.
    
    fullscreen=false
    fulldouble=false
    fullresolution=640x480
    windowresolution=640480
    output=surface
    autolock=true
    sensitivity=100
    waitonerror=true
    priority=highest,normal
    mapperfile=mapper-SVN.map
    usescancodes=false
    
    [dosbox]
    # language: Select another language file.
    #  machine: The type of machine DOSBox tries to emulate.
    #           Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
    # captures: Directory where things like wave, midi, screenshot get captured.
    #  memsize: Amount of memory DOSBox has in megabytes.
    #             This value is best left at its default to avoid problems with some games,
    #             though few games might require a higher value.
    #             There is generally no speed advantage when raising this value.
    
    language=
    machine=svga_s3
    captures=capture
    memsize=16
    
    [render]
    # frameskip: How many frames DOSBox skips before drawing one.
    #    aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
    #    scaler: Scaler used to enlarge/enhance low resolution modes. If 'forced' is appended,
    #            then the scaler will be used even if the result might not be desired.
    #            Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.
    
    frameskip=2
    aspect=false
    scaler=none
    
    [cpu]
    #      core: CPU Core used in emulation. auto will switch to dynamic if available and
    #            appropriate.
    #            Possible values: auto, dynamic, normal, simple.
    #   cputype: CPU Type used in emulation. auto is the fastest choice.
    #            Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
    #    cycles: Amount of instructions DOSBox tries to emulate each millisecond.
    #            Setting this value too high results in sound dropouts and lags.
    #            Cycles can be set in 3 ways:
    #              'auto'          tries to guess what a game needs.
    #                              It usually works, but can fail for certain games.
    #              'fixed #number' will set a fixed amount of cycles. This is what you usually
    #                              need if 'auto' fails (Example: fixed 4000).
    #              'max'           will allocate as much cycles as your computer is able to
    #                              handle.
    #            Possible values: auto, fixed, max.
    #   cycleup: Amount of cycles to decrease/increase with keycombos.(CTRL-F11/CTRL-F12)
    # cycledown: Setting it lower than 100 will be a percentage.
    
    core=auto
    cputype=486_slow
    cycles=3000 
    cycleup=20
    cycledown=20
    
    [mixer]
    #   nosound: Enable silent mode, sound is still emulated though.
    #      rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
    #            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
    # blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
    #            Possible values: 1024, 2048, 4096, 8192, 512, 256.
    # prebuffer: How many milliseconds of data to keep on top of the blocksize.
    
    nosound=false
    rate=22050
    size=2048
    prebuffer=10
    
    [midi]
    #     mpu401: Type of MPU-401 to emulate.
    #             Possible values: intelligent, uart, none.
    # mididevice: Device that will receive the MIDI data from MPU-401.
    #             Possible values: default, win32, alsa, oss, coreaudio, coremidi, none.
    # midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.
    #               or in the case of coreaudio, you can specify a soundfont here.
    #               When using a Roland MT-32 rev. 0 as midi output device, some games may require a delay in order to prevent 'buffer overflow' issues.
    #               In that case, add 'delaysysex', for example: midiconfig=2 delaysysex
    #               See the README/Manual for more details.
    
    mpu401=none
    mididevice=default
    midiconfig=
    
    [sblaster]
    #  sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
    #          Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
    #  sbbase: The IO address of the soundblaster.
    #          Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
    #     irq: The IRQ number of the soundblaster.
    #          Possible values: 7, 5, 3, 9, 10, 11, 12.
    #     dma: The DMA number of the soundblaster.
    #          Possible values: 1, 5, 0, 3, 6, 7.
    #    hdma: The High DMA number of the soundblaster.
    #          Possible values: 1, 5, 0, 3, 6, 7.
    # sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
    # oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
    #          Possible values: auto, cms, opl2, dualopl2, opl3, none.
    #  oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
    #          Possible values: default, compat, fast.
    # oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
    #          Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.
    
    sbtype=sb16
    sbbase=220
    irq=7
    dma=1
    hdma=5
    sbmixer=true
    oplmode=auto
    oplemu=default
    oplrate=22050
    
    [gus]
    #      gus: Enable the Gravis Ultrasound emulation.
    #  gusrate: Sample rate of Ultrasound emulation.
    #           Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
    #  gusbase: The IO base address of the Gravis Ultrasound.
    #           Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
    #   gusirq: The IRQ number of the Gravis Ultrasound.
    #           Possible values: 5, 3, 7, 9, 10, 11, 12.
    #   gusdma: The DMA channel of the Gravis Ultrasound.
    #           Possible values: 3, 0, 1, 5, 6, 7.
    # ultradir: Path to Ultrasound directory. In this directory
    #           there should be a MIDI directory that contains
    #           the patch files for GUS playback. Patch sets used
    #           with Timidity should work fine.
    
    gus=true
    gusrate=22050
    gusbase=240
    gusirq=5
    gusdma=3
    ultradir=C:\ULTRASND
    
    [speaker]
    # pcspeaker: Enable PC-Speaker emulation.
    #    pcrate: Sample rate of the PC-Speaker sound generation.
    #            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
    #     tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
    #            Possible values: auto, on, off.
    # tandyrate: Sample rate of the Tandy 3-Voice generation.
    #            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
    #    disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).
    
    pcspeaker=true
    pcrate=22050
    tandy=off
    tandyrate=22050
    disney=false
    
    [joystick]
    # joysticktype: Type of joystick to emulate: auto (default), none,
    #               2axis (supports two joysticks),
    #               4axis (supports one joystick, first joystick used),
    #               4axis_2 (supports one joystick, second joystick used),
    #               fcs (Thrustmaster), ch (CH Flightstick).
    #               none disables joystick emulation.
    #               auto chooses emulation depending on real joystick(s).
    #               (Remember to reset dosbox's mapperfile if you saved it earlier)
    #               Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
    #        timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
    #     autofire: continuously fires as long as you keep the button pressed.
    #       swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
    #   buttonwrap: enable button wrapping at the number of emulated buttons.
    
    joysticktype=auto
    timed=true
    autofire=false
    swap34=false
    buttonwrap=false
    
    [serial]
    # serial1: set type of device connected to com port.
    #          Can be disabled, dummy, modem, nullmodem, directserial.
    #          Additional parameters must be in the same line in the form of
    #          parameter:value. Parameter for all types is irq (optional).
    #          for directserial: realport (required), rxdelay (optional).
    #                           (realport:COM1 realport:ttyS0).
    #          for modem: listenport (optional).
    #          for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
    #                         transparent, port, inhsocket (all optional).
    #          Example: serial1=modem listenport:5000
    #          Possible values: dummy, disabled, modem, nullmodem, directserial.
    # serial2: see serial1
    #          Possible values: dummy, disabled, modem, nullmodem, directserial.
    # serial3: see serial1
    #          Possible values: dummy, disabled, modem, nullmodem, directserial.
    # serial4: see serial1
    #          Possible values: dummy, disabled, modem, nullmodem, directserial.
    
    serial1=dummy
    serial2=dummy
    serial3=disabled
    serial4=disabled
    
    [dos]
    #            xms: Enable XMS support.
    #            ems: Enable EMS support. The default (=true) provides the best
    #                 compatibility but certain applications may run better with
    #                 other choices, or require EMS support to be disabled (=false)
    #                 to work at all.
    #                 Possible values: true, emsboard, emm386, false.
    #            umb: Enable UMB support.
    # keyboardlayout: Language code of the keyboard layout (or none).
    
    xms=true
    ems=true
    umb=true
    keyboardlayout=auto
    
    [ipx]
    # ipx: Enable ipx over UDP/IP emulation.
    
    ipx=false
    
    [autoexec]
    # Lines in this section will be run at startup.
    # You can put your MOUNT lines here.
    MOUNT C /home/pi/RetroPie/roms/pc
    MOUNT A /home/pi/RetroPie/roms/pc/amnesia
    C:
    menu.bat
    

    and finally here’s menu.bat:

    @echo off
    
    :start
    cls
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo º---------------------------------Main Menu-----------------------------------º
    echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    echo º 1.+ Action                                                                  º
    echo º 2.+ Strategy                                                                º
    echo º 3.+ Point-Text Games                                                        º
    echo º 4.+ Role Playing Games (RPGs)                                               º
    echo º 5.+ Other Random Games                                                      º
    echo º                                                                             º
    echo º                                                                             º
    echo º                                                                             º
    echo º                                                                             º
    echo º Most of these games work best with a keyboard and mouse.                    º
    echo º A few work with a joystick.                                                 º
    echo º Any keyphrases, manual entries, passwords, etc., can be found at            º
    echo º http://www.myabandonware.com                                                º
    echo º                                                                             º
    echo º You can also find more dos games there. Just edit this file (menu.bat)      º
    echo º to add them to the menu.                                                    º
    echo º                                                                             º
    echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    echo º 6. Exit to Emulation Station                                                º
    echo º 7. Extra Games                          8. Help                             º
    echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    choice /c12345678 Your Choice
    if errorlevel 8 goto help
    if errorlevel 7 goto extra
    if errorlevel 6 goto exit
    if errorlevel 5 goto orandom
    if errorlevel 4 goto rpg
    if errorlevel 3 goto text
    if errorlevel 2 goto strat
    if errorlevel 1 goto action
    
    :action
    cls
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo º--------------------------------Action Games---------------------------------º
    echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    echo º 1.- Action                                                                  º
    echo º   a. Commander Keen                     k. Gods                             º
    echo º   b. Commander Keen 2                   l. Psychic War                      º
    echo º   c. Commander Keen 3                   m. Double Dragon                    º
    echo º   d. Formula One                        n. Double Dragon 2                  º
    echo º   e. Hardball 3                         o. Double Dragon 3                  º
    echo º   f. Ms Pac Man                         p. Overkill                         º
    echo º   g. Centipede                          q. Prince of Persia 2               º
    echo º   h. Galaxia                            r. Skyroads                         º
    echo º   i. Princess Leiea's Rebel Force       s. Highway Hunter                   º
    echo º   j. Michael Jackson's Moonwalker       t. Wolfenstien 3D                   º
    echo º                                                                             º
    echo º 2.+ Strategy                                                                º
    echo º 3.+ Point-Text Games                                                        º
    echo º 4.+ Role Playing Games (RPGs)                                               º
    echo º 5.+ Other Random Games                                                      º
    echo º                                                                             º
    echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    echo º 6. Exit to Emulation Station                                                º
    echo º 7. Extra Games                          8. Help                             º
    echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    choice /c1abcdefghijklmnopqrst2345678 Your Choice
    if errorlevel 28 goto help
    if errorlevel 27 goto extra
    if errorlevel 26 goto exit
    if errorlevel 25 goto orandom
    if errorlevel 24 goto rpg
    if errorlevel 23 goto text
    if errorlevel 22 goto strat
    if errorlevel 21 goto wolf3d
    if errorlevel 20 goto hhunter
    if errorlevel 19 goto skyroad
    if errorlevel 18 goto ppersia2
    if errorlevel 17 goto overkill
    if errorlevel 16 goto dd3
    if errorlevel 15 goto dd2
    if errorlevel 14 goto dd1
    if errorlevel 13 goto psychic
    if errorlevel 12 goto gods
    if errorlevel 11 goto moonwalk
    if errorlevel 10 goto starwars
    if errorlevel 9 goto galaxia
    if errorlevel 8 goto centiped
    if errorlevel 7 goto mspac
    if errorlevel 6 goto hb3
    if errorlevel 5 goto formula1
    if errorlevel 4 goto keen3
    if errorlevel 3 goto keen2
    if errorlevel 2 goto keen1
    if errorlevel 1 goto start
    
    :strat
    cls
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo º---------------------------------Strategy------------------------------------º
    echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    echo º 1.+ Action                                                                  º
    echo º 2.- Strategy                                                                º
    echo º   a. Battle Chess                       k. Battle Isle                      º
    echo º   b. Lemmings                           l. Battle Isle '93                  º
    echo º   c. Sid Meyers Civ 1                   m. Path to Power                    º
    echo º   d. Sim Ant                            n. Rock and Roll                    º
    echo º   e. Master of Magic                    o. Sim City 2000                    º
    echo º   f. Settlers 2                         p. Transport Tycoon                 º
    echo º   g. Warcraft                           q. X-com                            º
    echo º   h. Ambush at Sorinor                  r. Cannon Fodder 2                  º
    echo º   i. Battle Fleet                       s. Ultimate NFL Manager             º
    echo º   j. Overlord                           t. Wing Commander                   º
    echo º                                                                             º
    echo º 3.+ Point-Text Games                                                        º
    echo º 4.+ Role Playing Games (RPGs)                                               º
    echo º 5.+ Other Random Games                                                      º
    echo º                                                                             º
    echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    echo º 6. Exit to Emulation Station                                                º
    echo º 7. Extra Games                          8. Help                             º
    echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    choice /c12abcdefghijklmnopqrst345678 Your Choice
    if errorlevel 28 goto help
    if errorlevel 27 goto extra
    if errorlevel 26 goto exit
    if errorlevel 25 goto orandom
    if errorlevel 24 goto rpg
    if errorlevel 23 goto text
    if errorlevel 22 goto wingcomm
    if errorlevel 21 goto ultmtnfl
    if errorlevel 20 goto fodder
    if errorlevel 19 goto xcom
    if errorlevel 18 goto tycoon
    if errorlevel 17 goto sc2000
    if errorlevel 16 goto rockroll
    if errorlevel 15 goto path2pow
    if errorlevel 14 goto bi193
    if errorlevel 13 goto bi1
    if errorlevel 12 goto overlord
    if errorlevel 11 goto btlfleet
    if errorlevel 10 goto ambush
    if errorlevel 9 goto war
    if errorlevel 8 goto s2g
    if errorlevel 7 goto mom
    if errorlevel 6 goto ant
    if errorlevel 5 goto civ1
    if errorlevel 4 goto lemmings
    if errorlevel 3 goto btlchess
    if errorlevel 2 goto start
    if errorlevel 1 goto action
    
    :text
    cls
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo º-----------------------------Point-Text Games--------------------------------º
    echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    echo º 1.+ Action                                                                  º
    echo º 2.+ Strategy                                                                º
    echo º 3.- Point-Text Games                                                        º
    echo º   a. Carmen SanDiego                    k. Bureaucracy                      º
    echo º   b. Hitchhiker's Guide to the Galaxy   l. Breakers                         º
    echo º   c. Supernova                          m  A Mind Forever Voyaging          º
    echo º   d. Sleuth                             n. Ballyhoo                         º
    echo º   e. A Personal Nightnmare              o. Amnesia                          º
    echo º   f. Sherlock Holmes                    p. Journey                          º
    echo º   g. Return to Doom                     q. Bill and Ted                     º
    echo º   h. Fellowship of the Ring             r. Hobbit                           º
    echo º   i. Ishar 2                            s. Final Battle                     º
    echo º   j. Planetfall                         t. Waynes World                     º
    echo º                                                                             º
    echo º 4.+ Role Playing Games (RPGs)                                               º
    echo º 5.+ Other Random Games                                                      º
    echo º                                                                             º
    echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    echo º 6. Exit to Emulation Station                                                º
    echo º 7. Extra Games                          8. Help                             º
    echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    choice /c123abcdefghijklmnopqrst45678 Your Choice
    if errorlevel 28 goto help
    if errorlevel 27 goto extra
    if errorlevel 26 goto exit
    if errorlevel 25 goto orandom
    if errorlevel 24 goto rpg
    if errorlevel 23 goto ww
    if errorlevel 22 goto fb
    if errorlevel 21 goto hobbit
    if errorlevel 20 goto billted
    if errorlevel 19 goto journey
    if errorlevel 18 goto amnesia
    if errorlevel 17 goto ballyhoo
    if errorlevel 16 goto amfv
    if errorlevel 15 goto breakers
    if errorlevel 14 goto bureauc
    if errorlevel 13 goto pfall
    if errorlevel 12 goto ishar2
    if errorlevel 11 goto fotr
    if errorlevel 10 goto r2doom
    if errorlevel 9 goto holmes
    if errorlevel 8 goto nmare
    if errorlevel 7 goto sleuth
    if errorlevel 6 goto supernva
    if errorlevel 5 goto hitchhik
    if errorlevel 4 goto carmen
    if errorlevel 3 goto start
    if errorlevel 2 goto strat
    if errorlevel 1 goto action
    
    :rpg
    cls
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo º------------------------------Arr Pee Gees-----------------------------------º
    echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    echo º 1.+ Action                                                                  º
    echo º 2.+ Strategy                                                                º
    echo º 3.+ Point-Text Games                                                        º
    echo º 4.+ Role Playing Games (RPGs)                                               º
    echo º    a. Dungeon Master                    k. Spirit of Adventure              º
    echo º    b. Gateway to a Savage Frontier      l. Drakkhen                         º
    echo º    c. Deja Vu                           m. Avalon                           º
    echo º    d. Pool of Radiance (D+D)            n. Eye of the Beholder 2            º
    echo º    e. Circuits Edge                     o. Eye of the Beholder 3            º
    echo º    f. Cobra Mission                     p. Moonstone                        º
    echo º    g. Neuromancer                       q. Shadows of Mordor                º
    echo º    h. Buck Rogers                       r. Space Rogue                      º
    echo º    i. Darklands                         s. Treasures of the Savage Frontier º
    echo º    j. Pangea                            t. X-Com UFO Defense                º
    echo º                                                                             º
    echo º 5.+ Other Random Games                                                      º
    echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    echo º 6. Exit to Emulation Station                                                º
    echo º 7. Extra Games                          8. Help                             º
    echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    choice /c1234abcdefghijklmnopqrst5678 Your Choice
    if errorlevel 28 goto help
    if errorlevel 27 goto extra
    if errorlevel 26 goto exit
    if errorlevel 25 goto orandom
    if errorlevel 24 goto ufo
    if errorlevel 23 goto frontier
    if errorlevel 22 goto spcrg
    if errorlevel 21 goto som
    if errorlevel 20 goto moonstn
    if errorlevel 19 goto bhldr3
    if errorlevel 18 goto bhldr2
    if errorlevel 17 goto avalon
    if errorlevel 16 goto drakkhen
    if errorlevel 15 goto starbyte
    if errorlevel 14 goto pangea
    if errorlevel 13 goto darklands
    if errorlevel 12 goto brogers
    if errorlevel 12 goto neurom
    if errorlevel 10 goto cbrmiss
    if errorlevel 9 goto cedge
    if errorlevel 8 goto por
    if errorlevel 7 goto dejavu
    if errorlevel 6 goto gate
    if errorlevel 5 goto dmstr
    if errorlevel 4 goto start
    if errorlevel 3 goto text
    if errorlevel 2 goto strat
    if errorlevel 1 goto action
    
    :orandom
    cls
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo º----------------------------Other Random Games-------------------------------º
    echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    echo º 1.+ Action                                                                  º
    echo º 2.+ Strategy                                                                º
    echo º 3.+ Point-Text Games                                                        º
    echo º 4.+ Role Playing Games (RPGs)                                               º
    echo º 5.- Other Random Games                                                      º
    echo º    a. Infestation                       k. Ravenloft                        º
    echo º    b. International Opne Golf           l. Panzer General                   º
    echo º    c. Timothy Leary's Mind Mirror       m. Mad T.V.                         º
    echo º    d. Ultrabots                         n. Blockout                         º
    echo º    e. Battlezone                        o. Ancients 2                       º
    echo º    f. Mech Warrior                      p. Dune                             º
    echo º    g. Starglider                        q. Galactix                         º
    echo º    h. Virus                             r. The Two Towers                   º
    echo º    i. Stratego                          s. Links 386                        º
    echo º    j. Silpheed                          t. Catacomb 3D                      º
    echo º                                                                             º
    echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    echo º 6. Exit to Emulation Station                                                º
    echo º 7. Extra Games                          8. Help                             º
    echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    choice /c12345abcdefghijklmnopqrst678 Your Choice
    if errorlevel 28 goto help
    if errorlevel 27 goto extra
    if errorlevel 26 goto exit
    if errorlevel 25 goto ctc3d
    if errorlevel 24 goto links386
    if errorlevel 23 goto 2towers
    if errorlevel 22 goto galactix
    if errorlevel 21 goto dune
    if errorlevel 20 goto anc2
    if errorlevel 19 goto blockout
    if errorlevel 18 goto madtv
    if errorlevel 17 goto panzgen
    if errorlevel 16 goto rloft
    if errorlevel 15 goto silpheed
    if errorlevel 14 goto stratego
    if errorlevel 13 goto virus
    if errorlevel 12 goto stargldr
    if errorlevel 12 goto mechwar
    if errorlevel 10 goto btlz
    if errorlevel 9 goto ultrabots
    if errorlevel 8 goto mmirror
    if errorlevel 7 goto intopen
    if errorlevel 6 goto infest
    if errorlevel 5 goto start
    if errorlevel 4 goto rpg
    if errorlevel 3 goto text
    if errorlevel 2 goto strat
    if errorlevel 1 goto action
    
    :amfv
    cls
    cd\amfv
    call _Amfv.com
    cd..
    goto start
    
    :amnesia
    cls
    cd\amnesia
    call AMNESIA.COM
    cd..
    goto start
    
    :ant
    cls
    cd\ant
    call SIMANT.EXE
    cd..
    goto start
    
    :avalon
    cls
    cd\AVALON
    call AVALON.EXE
    cd..
    goto start
    
    :bhldr2
    cls
    cd\bhldr2
    call start.exe
    cd..
    goto start
    
    :bhldr3
    cls
    cd\bhldr3
    call start.bat
    cd..
    goto start
    
    :ballyhoo
    cls
    cd\ballyhoo
    call _BALLYHO.COM
    cd..
    goto start
    
    :bi193
    cls
    cd\BI193
    call MOON.exe
    cd..
    goto start
    
    :bi1
    cls
    cd\btleisle
    call DESERT.EXE
    cd..
    goto start
    
    :billted
    cls
    cd\billted
    call BT.EXE
    cd..
    goto start
    
    :btlchess
    cls
    cd\chess
    call CHESS.EXE
    cd..
    goto start
    
    :breakers
    cls
    cd\Breakers
    call Run.exe
    cd..
    goto start
    
    :brogers
    cls
    cd\brogers
    call START.EXE
    cd..
    goto start
    
    :bs
    cls
    cd\bstone
    call BSTONE.BAT
    cd..
    goto start
    
    :bs2
    cls
    cd\bs2
    call planet.bat
    cd..
    goto start
    
    :bureauc
    cls
    cd\Bureauc
    call 
    cd..
    goto start
    
    :carmen
    cls
    cd\carmensd
    call CARMEN.EXE
    cd..
    goto start
    
    :cbrmiss
    cls
    cd\cobrmiss
    call CM.EXE
    cd..
    goto start
    
    :cedge
    cls
    cd\cedge
    call EDGE.EXE
    cd..
    goto start
    
    :centiped
    cls
    cd\CENTIPED
    call CENTIPED.EXE
    cd..
    goto start
    
    :civ1
    cls
    cd\civ
    call CIV.EXE
    cd..
    goto start
    
    :darklands
    cls
    cd\Darkland
    call DARKLAND.EXE
    cd..
    goto start
    
    :dejavu
    cls
    cd\dejavu
    call DEJAVUII.EXE
    cd..
    goto start
    
    :dd1
    cls
    cd\DD1
    call DRAGON.BAT
    cd..
    goto start
    
    :dd2
    cls
    cd\ddragon2
    call DRAGON.EXE
    cd..
    goto start
    
    :dd3
    cls
    cd\ddragon3
    call DD3.EXE
    cd..
    goto start
    
    :dmstr
    cls
    cd\dmaster
    call DM.EXE
    cd..
    goto start
    
    :drakkhen
    cls
    cd\Drakkhen
    call drakkhen.com
    cd..
    goto start
    
    :fb
    cls
    cd\fb
    call TFB.EXE
    cd..
    goto start
    
    :f14tcat
    cls
    cd\f-14-tcat
    call TC.EXE
    cd..
    goto start
    
    :fodder
    cls
    cd\fodder
    call cannon.exe
    cd..
    goto start
    
    :fotr
    cls
    cd\fellow
    call for1.exe
    cd..
    goto start
    
    :frontier
    cls
    cd\frontier
    call start.bat
    cd..
    goto start
    
    :galaxia
    cls
    cd\GALAXIA
    call GALAXIA.EXE
    cd..
    goto start
    
    :gate
    cls
    cd\GATE
    call START.BAT
    cd..
    goto start
    
    :gods
    cls
    cd\gods
    call GODS.EXE
    cd..
    goto start
    
    :hhunter
    cls
    cd\hhunter
    call START.EXE
    cd..
    goto start
    
    :hitchhik
    cls
    cd\hitch
    call Hitchhik.exe
    cd..
    goto start
    
    :hobbit
    cls
    cd\hobbit
    call HOBBIT.COM
    cd..
    goto start
    
    :holmes
    cls
    cd\holmes
    call SHINM.EXE
    cd..
    goto start
    
    :indy
    cls
    cd\INDY
    call INDY256.EXE
    cd..
    goto start
    
    :ishar2
    cls
    cd\ISHAR2
    call start.exe
    cd..
    goto start
    
    :journey
    cls
    cd\JOURNEY
    call JOURNEY.EXE
    cd..
    goto start
    
    :keen1
    cls
    cd\keen1
    call KEEN1.EXE
    cd..
    goto start
    
    :keen2
    cls
    cd\keen2
    call KEEN2.EXE
    cd..
    goto start
    
    :keen3
    cls
    cd\keen3
    call KEEN3.EXE
    cd..
    goto start
    
    :lemmings
    cls
    cd\lemmings
    call VLEM2.EXE
    cd..
    goto start
    
    :loom
    cls
    cd\LOOM
    call LOOM.EXE
    cd..
    goto start
    
    :manman
    cls
    cd/MANIAC
    call MANIAC.EXE
    cd..
    goto start
    
    :mspac
    cls
    cd\MSPAC
    call MSPACEM.EXE
    cd..
    goto start
    
    :mom
    cls
    cd\MOM
    call MAGIC.EXE
    cd..
    goto start
    
    :monkey
    cls
    cd\MONKEY
    call MONKEY.EXE
    cd..
    goto start
    
    :mw2
    cls
    cd\MECH2
    call MECH2.EXE
    cd..
    goto start
    
    :neurom
    cls
    cd/neurom
    cal neuro.exe
    cd..
    goto start
    
    :moonwalk
    cls
    cd\moonwalk
    call Runme.bat
    cd..
    goto start
    
    :moonstn
    cls
    cd\Moonstn
    call MS.EXE
    cd..
    goto start
    
    :nmare
    cls
    cd\nmare
    call Unpack.exe
    cd..
    goto start
    
    :overlord
    cls
    cd\overlord
    call game.exe
    cd..
    goto start
    
    :pangea
    cls
    cd\pangea
    call START.EXE
    cd..
    goto start
    
    :path2pow
    cls
    cd\path2pow
    call EXEC.EXE
    cd..
    goto start
    
    :pfall
    cls
    cd\Pfall
    call _Planetf.com
    cd..
    goto start
    
    :por
    cls
    cd\por
    call START.EXE
    cd..
    goto start
    
    :psychic
    cls
    cd\psychic
    call PW.EXE
    cd..
    goto start
    
    :r2doom
    cls
    cd\Return
    call Return.com
    cd..
    goto start
    
    :rockroll
    cls
    cd\rockroll
    call ROCKROLL.EXE
    cd..
    goto start
    
    :s2g
    cls
    cd\s2g
    call S2.EXE
    cd..
    goto start
    
    :sc2000
    cls
    cd\SMCT2K
    call SC2000.EXE
    cd..
    goto start
    
    :sleuth
    cls
    cd\
    call 
    cd..
    goto start
    
    :skyroad
    cls
    cd\skyroads
    call skyroads.exe
    cd..
    goto start
    
    :starbyte
    cls
    cd\STARBYTE
    call SOA.BAT
    cd..
    goto start
    
    :spcrg
    cls
    cd\spcrg
    call sr.exe
    cd..
    goto start
    
    :som
    cls
    cd\som
    call Som.exe
    cd..
    goto start
    
    :starwars
    cls
    cd\starwars
    call STARWARS.EXE
    cd..
    goto start
    
    :supernva
    cls
    cd\supernva
    call NOVA.COM
    cd..
    goto start
    
    :swdf
    cls
    cd\swdf
    call dos4gw.exe
    cd..
    goto start
    
    :tycoon
    cls
    cd\tycoon
    call TYCOON.EXE
    cd..
    goto start
    
    :ufo
    cls
    cd\UFO
    call UFO.BAT
    cd..
    goto start
    
    :ultmtnfl
    cls
    cd\ultmtnfl
    call 
    cd..
    goto start
    
    :ambush
    cls
    cd\ambush
    call amb.exe
    cd..
    goto start
    
    :war
    cls
    cd\warcraft
    call war2.exe
    cd..
    goto start
    
    :wingcomm
    cls
    cd\wingcomm
    call 
    cd..
    goto start
    
    :wolf3d
    cls
    cd\wolf3d
    call WOLF3D.EXE
    cd..
    goto start
    
    :ww
    cls
    cd\ww
    call WW.EXE
    cd..
    goto start
    
    :xcom
    cls
    cd\x-com
    call START.BAT
    cd..
    goto start
    
    :zak
    cls
    cd\ZAK
    call ZAK.EXE
    cd..
    goto start
    
    :links386
    cls
    cd\links386
    call golf.bat
    cd..
    goto start
    
    :formula1
    cls
    cd\formula1
    call f1.exe
    cd..
    goto start
    
    :hb3
    cls
    cd\HB3
    call HARDBALL.EXE
    cd..
    goto start
    
    :infest
    cls
    cd\infest
    call INFEST.COM
    cd..
    goto start
    
    :intopen
    cls
    cd\intopen
    call GOLF.EXE
    cd..
    goto start
    
    :ultrabots
    cls
    cd\ultrbots
    call xeno.exe
    cd..
    goto start
    
    :btlz
    cls
    cd\BTLZ
    call bzone.com
    cd..
    goto start
    
    :mechwar
    cls
    cd\mechwar
    call MW.EXE
    cd..
    goto start
    
    ;stargldr
    cls
    cd\stargldr
    call stargldr.exe
    cd..
    goto start
    
    :anc2
    cls
    cd\anc2
    call BEGIN.EXE
    cd..
    goto start
    
    :blockout
    cls
    cd\blockout
    call bl.exe
    cd..
    goto start
    
    :madtv
    cls
    cd\Madtv
    call MTV.EXE
    cd..
    goto start
    
    :panzgen
    cls
    cd\panzgen
    call PG.BAT
    cd..
    goto start
    
    :rloft
    cls
    cd\rloft
    call RLOFT.BAT
    cd..
    goto start
    
    :silpheed
    cls
    cd\silpheed
    call SILPHEED.BAT
    cd..
    goto start
    
    :stratego
    cls
    cd\Stratego
    call STRATEGO.EXE
    cd..
    goto start
    
    :virus
    cls
    cd\Virus
    call Virusega.exe
    cd..
    goto start
    
    :ppersia2
    cls
    cd\ppersia2
    call PRINCE.EXE
    cd..
    goto start
    
    :overkill
    cls
    cd\OVERKILL
    call OVERKILL.EXE
    cd..
    goto start
    
    :galactix
    cls
    cd\galactix
    call GX1.EXE
    cd..
    goto start
    
    :ctc3d
    cls
    cd\ctc3d
    call juego.exe
    cd..
    goto start
    
    :dune
    cls
    cd\dune
    call DUNE.BAT
    cd..
    goto start
    
    :help
    cls
    call h.bat
    cd..
    goto start
    
    :extra
    cls
    call extra.bat
    cd..
    goto start
    
    :cprompt
    cls
    call C:
    
    :exit
    cls
    call exit
    
    #99337

    In reply to: DOSBox update

    dudleydes
    Participant

    I too only have a few games so creating individual shell scripts for each one is pretty straightforward.

    It is possible to install wolf4SDL, a port of Wolf3d that runs better than in DOSBox, well certainly on my Rpi1. The binary needs to be compiled depending on which version of the game you have so some editing of the original source code will be required. Full details in the tutorial below.

    http://dosonthepi.blogspot.co.uk/2015/01/install-wolf4sdl.html


    @labelwhore
    , I would be interested in how you are using .bat files.


    @dishins
    , I certainly found rpix86 to be faster for Formula One Grand Prix. You can find a list of compatible games at http://dsx86compatibility.pbworks.com/w/page/26738915/Compatibility%20List. If there’s a game you would like to add to the list, you can ask the developer if it’s possible at the rpix86 forum thread (https://www.raspberrypi.org/forums/viewtopic.php?f=78&t=32934).

    Incidentally, a new version 0.18 of rpix86 was released on 31 May which now supports Jazz Jackrabbit and Ultima VII (http://rpix86.patrickaalto.com/rblog.html)

    dkcdocdos
    Participant

    Hi again,

    so i know how to setup the psx pad type via the retroarch-core-options.cfg or the in-emu-menu.

    Is there a way to bind these options, and toggle them ingame, sort of like the original dualshock-hardware-rubber-button?

    Or even better, can i define this setting for each psx game, so it will startup with one or the other?

    #99267
    herbfargus
    Member

    If you access the setup script there is an option to install individual emulators from binary or source

    #99234

    In reply to: Running DOS games.

    elgur85
    Participant

    [quote=99200]/opt/retropie/configs/pc/emulator.cfg

    should look like this

    dosbox="%ROM%"
    default="dosbox"

    then you need to input the individual launch.sh for each game.

    /home/pi/RetroPie/roms/pc/Wolfenstein 3D.sh

    #!/bin/bash
    /opt/retropie/emulators/dosbox/bin/dosbox -c "mount c /home/pi/RetroPie/roms/pc" -c "c:" -c "cd wolf3d" -c "WOLF3D.EXE" -c "exit" 
    

    Hope that answers a couple of questions.

    [/quote]

    Thanks, it sorts of works. It turns up in ES, but it stops immediately.

    #99200

    In reply to: Running DOS games.

    Omnija
    Participant

    /opt/retropie/configs/pc/emulator.cfg

    should look like this

    dosbox="%ROM%"
    default="dosbox"

    then you need to input the individual launch.sh for each game.

    /home/pi/RetroPie/roms/pc/Wolfenstein 3D.sh

    #!/bin/bash
    /opt/retropie/emulators/dosbox/bin/dosbox -c "mount c /home/pi/RetroPie/roms/pc" -c "c:" -c "cd wolf3d" -c "WOLF3D.EXE" -c "exit" 
    

    Hope that answers a couple of questions.

    #99172
    free5ty1e
    Participant

    Holy crap… I finally got multiplayer to start working! Can map each individual controller (they can be different, will match upon startup to your emu.cfg entries).

    No idea why split screen stuff appears to be screwy (Rush 2049 multiplayer views are not playable), but same-screen stuff works great so far! (Marvel vs Capcom 2 multiplayer is FUN!!)

    Just switch to my new branch free5ty1e/rpi2/multiplayer and run all the same stuffs as above…. enjoy!! :D

    -edited above post to include multiplayer update

    Anonymous
    Inactive

    I have the ControlBlock setup and wired.

    2x 8Way Joysticks and 18 buttons wired (9 for each player), Sticks, buttons and microswitches come from X-Arcade

    All the buttons work fine. I can play games like Sonic, Mario, etc..

    When I try playing games like Street Fighter, it seems like the system doesn’t recognize rapid button presses.

    Example 1: If you choose a player like EHodna or Blanka and rapidly press a punch button, they should do a special move, instead is like I’m just tapping the button.

    Example 2: If I choose a player like Ryu/Ken and try to do a special move that involves dragging the controller quickly across multiple directions, it almost never works. It’s like I am just hitting each direction individually.

    Is this a delay issue or limitation with the ControlBlock? Is there a setting anywhere to correct it? Or is it an issue with my Joystick/Buttons/Micro-switches?

    Thanks.

    #99155
    free5ty1e
    Participant

    Good news, everyone!

    I’ve managed to get mappable information into the controller logic from the emu.cfg… I’m working out the logic to wire it all up, but it should allow for maximum flexibility in mapping any controller once I’m done :D

    The config will look something like this, so we can define a bunch of controllers to match against (individually for each controller once I get multiplayer figured out):

    
    [PLAYSTATION(R)3 Controller]
    button.0=Btn_Z
    axis.0=Axis_X
    quit=16
    

    Any missing mapped buttons or axes will utilize the default mapped buttons and axes. I will also provide a “nothing” map to disable a certain button, and the “quit” item is special since it is handled differently; this means button index 16 will act as the Quit Emulator button.

    Will update the branch I shared above with this once I get it all working. Should be sometime this weekend, methinks :D

    cbprod
    Participant

    hello im new to all this, im trying to configure my xbox wired controller to exit, load, and save. right now im only using nes. i have edited the retroarch.cfg in the all configs/all folder. below is the cfg file

    ## Skeleton config file for RetroArch

    # Save all save files (*.srm) to this directory. This includes related files like .bsv, .rtc, .psrm, etc …
    # This will be overridden by explicit command line options.
    # savefile_directory =

    # Save all save states (*.state) to this directory.
    # This will be overridden by explicit command line options.
    # savestate_directory =

    # If set to a directory, Content which is temporarily extracted
    # will be extracted to this directory.
    # extraction_directory =

    # Save all input remapping files to this directory.
    # input_remapping_directory =

    # Save all playlist files to this directory.
    # playlist_directory =

    # If set to a directory, the content history playlist will be saved
    # to this directory.
    # content_history_dir =

    # Automatically saves a savestate at the end of RetroArch’s lifetime.
    # The path is $SRAM_PATH.auto.
    # RetroArch will automatically load any savestate with this path on startup if savestate_auto_load is set.
    # savestate_auto_save = false
    # savestate_auto_load = true

    # Load libretro from a dynamic location for dynamically built RetroArch.
    # This option is mandatory.

    # Path to a libretro implementation.
    # libretro_path = “/path/to/libretro.so”

    # A directory for where to search for libretro core implementations.
    # libretro_directory =

    # A directory for where to search for libretro core information.
    # libretro_info_path =

    # Sets mode for archived files in file browser.
    # 0 = Ask, 1 = Load Archive, 2 = Open Archive
    # archive_mode = 0

    # Sets log level for libretro cores (GET_LOG_INTERFACE).
    # If a log level issued by a libretro core is below libretro_log_level, it is ignored.
    # DEBUG logs are always ignored unless verbose mode is activated (–verbose).
    # DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3.
    # libretro_log_level = 0

    # Enable or disable verbosity level of frontend.
    # log_verbosity = false

    # If this option is enabled, every content file loaded in RetroArch will be
    # automatically added to a history list.
    # history_list_enable = true

    # Enable or disable RetroArch performance counters
    # perfcnt_enable = false

    # Path to core options config file.
    # This config file is used to expose core-specific options.
    # It will be written to by RetroArch.
    # A default path will be assigned if not set.
    core_options_path = /opt/retropie/configs/all/retroarch-core-options.cfg

    # Path to content load history file.
    # RetroArch keeps track of all content loaded in the menu and from CLI directly for convenient quick loading.
    # A default path will be assigned if not set.
    # game_history_path =

    # Number of entries that will be kept in content history file.
    # game_history_size = 100

    # Sets the “system” directory.
    # Implementations can query for this directory to load BIOSes, system-specific configs, etc.
    system_directory = /home/pi/RetroPie/BIOS

    # Sets start directory for menu content browser.
    # rgui_browser_directory =

    # Content directory. Interacts with RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY.
    # Usually set by developers who bundle libretro/RetroArch apps to point to assets.
    # content_directory =

    # Assets directory. This location is queried by default when menu interfaces try to look for
    # loadable assets, etc.
    assets_directory = /opt/retropie/emulators/retroarch/assets

    # Sets start directory for menu config browser.
    # rgui_config_directory =

    # Show startup screen in menu.
    # Is automatically set to false when seen for the first time.
    # This is only updated in config if config_save_on_exit is set to true, however.
    # rgui_show_start_screen = true

    # Flushes config to disk on exit. Useful for menu as settings can be modified.
    # Overwrites the config. #include’s and comments are not preserved.
    config_save_on_exit = false

    # Load up a specific config file based on the core being used.
    # core_specific_config = false

    #### Video

    # Video driver to use. “gl”, “xvideo”, “sdl”
    # video_driver = “gl”

    # Which OpenGL context implementation to use.
    # Possible ones for desktop are: glx, x-egl, kms-egl, sdl-gl, wgl.
    # By default, tries to use first suitable driver.
    # video_context_driver =

    # Windowed x resolution scale and y resolution scale
    # (Real x res: base_size * xscale * aspect_ratio, real y res: base_size * yscale)
    # video_scale = 3.0

    # Fullscreen resolution. Resolution of 0 uses the resolution of the desktop.
    # video_fullscreen_x = 0
    # video_fullscreen_y = 0

    # Start in fullscreen. Can be changed at runtime.
    # video_fullscreen = false

    # If fullscreen, prefer using a windowed fullscreen mode.
    # video_windowed_fullscreen = true

    # Which monitor to prefer. 0 (default) means no particular monitor is preferred, 1 and up (1 being first monitor),
    # suggests RetroArch to use that particular monitor.
    # video_monitor_index = 0

    # Forcibly disable composition. Only works in Windows Vista/7 for now.
    # video_disable_composition = false

    # Video vsync.
    # video_vsync = true

    # Forcibly disable sRGB FBO support. Some Intel OpenGL drivers on Windows
    # have video problems with sRGB FBO support enabled.
    # video_force_srgb_disable = false

    # Attempts to hard-synchronize CPU and GPU. Can reduce latency at cost of performance.
    # video_hard_sync = false

    # Sets how many frames CPU can run ahead of GPU when using video_hard_sync.
    # Maximum is 3.
    # video_hard_sync_frames = 0

    # Sets how many milliseconds to delay after VSync before running the core.
    # Can reduce latency at cost of higher risk of stuttering.
    # Maximum is 15.
    # video_frame_delay = 0

    # Inserts a black frame inbetween frames.
    # Useful for 120 Hz monitors who want to play 60 Hz material with eliminated ghosting.
    # video_refresh_rate should still be configured as if it is a 60 Hz monitor (divide refresh rate by 2).
    # video_black_frame_insertion = false

    # Use threaded video driver. Using this might improve performance at possible cost of latency and more video stuttering.
    video_threaded = true

    # Use a shared context for HW rendered libretro cores.
    # Avoids having to assume HW state changes inbetween frames.
    # video_shared_context = false

    # Smoothens picture with bilinear filtering. Should be disabled if using pixel shaders.
    video_smooth = false

    # Forces rendering area to stay equal to content aspect ratio or as defined in video_aspect_ratio.
    # video_force_aspect = true

    # Only scales video in integer steps.
    # The base size depends on system-reported geometry and aspect ratio.
    # If video_force_aspect is not set, X/Y will be integer scaled independently.
    # video_scale_integer = false

    # A floating point value for video aspect ratio (width / height).
    # If this is not set, aspect ratio is assumed to be automatic.
    # Behavior then is defined by video_aspect_ratio_auto.
    # video_aspect_ratio =

    # If this is true and video_aspect_ratio is not set,
    # aspect ratio is decided by libretro implementation.
    # If this is false, 1:1 PAR will always be assumed if video_aspect_ratio is not set.
    video_aspect_ratio_auto = true

    # Forces cropping of overscanned frames.
    # Exact behavior of this option is implementation specific.
    # video_crop_overscan = true

    # Path to shader. Shader can be either Cg, CGP (Cg preset) or GLSL, GLSLP (GLSL preset)
    # video_shader = “/path/to/shader.{cg,cgp,glsl,glslp}”

    # Load video_shader on startup.
    # Other shaders can still be loaded later in runtime.
    # video_shader_enable = false

    # Defines a directory where shaders (Cg, CGP, GLSL) are kept for easy access.
    video_shader_dir = /opt/retropie/emulators/retroarch/shader/

    # CPU-based video filter. Path to a dynamic library.
    # video_filter =

    # Defines a directory where CPU-based video filters are kept.
    # video_filter_dir =

    # Path to a font used for rendering messages. This path must be defined to enable fonts.
    # Do note that the _full_ path of the font is necessary!
    # video_font_path =

    # Size of the font rendered.
    video_font_size = 12

    # Enable usage of OSD messages.
    # video_font_enable = true

    # Offset for where messages will be placed on screen. Values are in range 0.0 to 1.0 for both x and y values.
    # [0.0, 0.0] maps to the lower left corner of the screen.
    # video_message_pos_x = 0.05
    # video_message_pos_y = 0.05

    # Color for message. The value is treated as a hexadecimal value.
    # It is a regular RGB hex number, i.e. red is “ff0000”.
    # video_message_color = ffffff

    # Video refresh rate of your monitor.
    # Used to calculate a suitable audio input rate.
    # video_refresh_rate = 59.95

    # Allows libretro cores to set rotation modes.
    # Setting this to false will honor, but ignore this request.
    # This is useful for vertically oriented content where one manually rotates the monitor.
    # video_allow_rotate = true

    # Forces a certain rotation of the screen.
    # The rotation is added to rotations which the libretro core sets (see video_allow_rotate).
    # The angle is <value> * 90 degrees counter-clockwise.
    # video_rotation = 0

    #### Audio

    # Enable audio.
    # audio_enable = true

    # Mutes audio.
    # audio_mute_enable = false

    # Audio output samplerate.
    # audio_out_rate = 48000

    # Audio resampler backend. Which audio resampler to use.
    # Default will use “sinc”.
    # audio_resampler =

    # Audio driver backend. Depending on configuration possible candidates are: alsa, pulse, oss, jack, rsound, roar, openal, sdl, xaudio.
    # audio_driver =

    # Override the default audio device the audio_driver uses. This is driver dependant. E.g. ALSA wants a PCM device, OSS wants a path (e.g. /dev/dsp), Jack wants portnames (e.g. system:playback1,system:playback_2), and so on …
    # audio_device =

    # Audio DSP plugin that processes audio before it’s sent to the driver. Path to a dynamic library.
    # audio_dsp_plugin =

    # Directory where DSP plugins are kept.
    # audio_filter_dir =

    # Will sync (block) on audio. Recommended.
    # audio_sync = true

    # Desired audio latency in milliseconds. Might not be honored if driver can’t provide given latency.
    # audio_latency = 64

    # Enable audio rate control.
    # audio_rate_control = true

    # Controls audio rate control delta. Defines how much input rate can be adjusted dynamically.
    # Input rate = in_rate * (1.0 +/- audio_rate_control_delta)
    # audio_rate_control_delta = 0.005

    # Controls maximum audio timing skew. Defines the maximum change in input rate.
    # Input rate = in_rate * (1.0 +/- max_timing_skew)
    # audio_max_timing_skew = 0.05

    # Audio volume. Volume is expressed in dB.
    # 0 dB is normal volume. No gain will be applied.
    # Gain can be controlled in runtime with input_volume_up/input_volume_down.
    # audio_volume = 0.0

    #### Overlay

    # Defines a directory where overlays are kept for easy access.
    overlay_directory = /opt/retropie/emulators/retroarch/overlays

    # Enable or disable the current overlay.
    # input_overlay_enable = true

    # Path to input overlay
    # input_overlay =

    # Overlay opacity
    # input_overlay_opacity = 1.0

    # Overlay scale
    # input_overlay_scale = 1.0

    #### OSK (Onscreen Keyboard) Overlay

    # Defines a directory where overlays are kept for easy access.
    # osk_overlay_directory =

    # Enable OSK overlay.
    # input_osk_overlay_enable = true

    # Path to OSK overlay
    # input_osk_overlay =

    # OSK Overlay opacity
    # input_osk_overlay_opacity = 1.0

    # OSK Overlay scale
    # input_osk_overlay_scale = 1.0

    #### Input

    # Input driver. Depending on video driver, it might force a different input driver.
    # input_driver = sdl

    # Joypad driver. (Valid: linuxraw, sdl, dinput)
    # input_joypad_driver =

    # Path to input remapping file.
    # input_remapping_path =

    # If enabled, overrides the input binds with the remapped binds set for the current core.
    # input_remap_binds_enable = true

    # Maximum amount of users supported by RetroArch.
    # input_max_users = 16

    # Keyboard layout for input driver if applicable (udev/evdev for now).
    # Syntax is either just layout (e.g. “no”), or a layout and variant separated with colon (“no:nodeadkeys”).
    # input_keyboard_layout =

    # Defines axis threshold. Possible values are [0.0, 1.0]
    # input_axis_threshold = 0.5

    # Enable input auto-detection. Will attempt to autoconfigure
    # joypads, Plug-and-Play style.
    input_autodetect_enable = true

    # Show the input descriptors set by the core instead of the
    # default ones.
    # input_descriptor_label_show = true

    # Hide input descriptors that were not set by the core.
    # input_descriptor_hide_unbound = false

    # Directory for joypad autoconfigs.
    # If a joypad is plugged in, that joypad will be autoconfigured if a config file
    # corresponding to that joypad is present in joypad_autoconfig_dir.
    # Input binds which are made explicit (input_playerN_*_btn/axis) will take priority over autoconfigs.
    # Autoconfigs can be created with retroarch-joyconfig, manually, or with a frontend.
    # Requires input_autodetect_enable to be enabled.
    joypad_autoconfig_dir = /opt/retropie/emulators/retroarch/configs/

    # Sets which libretro device is used for a user.
    # Devices are indentified with a number.
    # This is normally saved by the menu.
    # Device IDs are found in libretro.h.
    # These settings are overridden by explicit command-line arguments which refer to input devices.
    # None: 0
    # Joypad (RetroPad): 1
    # Mouse: 2
    # Keyboard: 3
    # Generic Lightgun: 4
    # Joypad w/ Analog (RetroPad + Analog sticks): 5
    # Multitap (SNES specific): 257
    # Super Scope (SNES specific): 260
    # Justifier (SNES specific): 516
    # Justifiers (SNES specific): 772

    # input_libretro_device_p1 =
    # input_libretro_device_p2 =
    # input_libretro_device_p3 =
    # input_libretro_device_p4 =
    # input_libretro_device_p5 =
    # input_libretro_device_p6 =
    # input_libretro_device_p7 =
    # input_libretro_device_p8 =

    # Keyboard input. Will recognize letters (“a” to “z”) and the following special keys (where “kp_”
    # is for keypad keys):
    #
    # left, right, up, down, enter, kp_enter, tab, insert, del, end, home,
    # rshift, shift, ctrl, alt, space, escape, add, subtract, kp_plus, kp_minus,
    # f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12,
    # num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, pageup, pagedown,
    # keypad0, keypad1, keypad2, keypad3, keypad4, keypad5, keypad6, keypad7, keypad8, keypad9,
    # period, capslock, numlock, backspace, multiply, divide, print_screen, scroll_lock,
    # tilde, backquote, pause, quote, comma, minus, slash, semicolon, equals, leftbracket,
    # backslash, rightbracket, kp_period, kp_equals, rctrl, ralt
    #
    # Keyboard input, Joypad and Joyaxis will all obey the “nul” bind, which disables the bind completely,
    # rather than relying on a default.
    input_player1_a = x
    input_player1_b = z
    input_player1_y = a
    input_player1_x = s
    input_player1_start = enter
    input_player1_select = rshift
    input_player1_l = q
    input_player1_r = w
    input_player1_left = left
    input_player1_right = right
    input_player1_up = up
    input_player1_down = down
    # input_player1_l2 =
    # input_player1_r2 =
    # input_player1_l3 =
    # input_player1_r3 =

    # Two analog sticks (DualShock-esque).
    # Bound as usual, however, if a real analog axis is bound,
    # it can be read as a true analog.
    # Positive X axis is right, Positive Y axis is down.
    # input_player1_l_x_plus =
    # input_player1_l_x_minus =
    # input_player1_l_y_plus =
    # input_player1_l_y_minus =
    # input_player1_r_x_plus =
    # input_player1_r_x_minus =
    # input_player1_r_y_plus =
    # input_player1_r_y_minus =

    # If desired, it is possible to override which joypads are being used for user 1 through 8.
    # First joypad available is 0.
    # input_player1_joypad_index = 0
    # input_player2_joypad_index = 1
    # input_player3_joypad_index = 2
    # input_player4_joypad_index = 3
    # input_player5_joypad_index = 4
    # input_player6_joypad_index = 5
    # input_player7_joypad_index = 6
    # input_player8_joypad_index = 7

    # Joypad buttons.
    # Figure these out by using RetroArch-Phoenix or retroarch-joyconfig.
    # You can use joypad hats with hnxx, where n is the hat, and xx is a string representing direction.
    # E.g. “h0up”
    # input_player1_a_btn =
    # input_player1_b_btn =
    # input_player1_y_btn =
    # input_player1_x_btn =
    # input_player1_start_btn =
    # input_player1_select_btn =
    # input_player1_l_btn =
    # input_player1_r_btn =
    # input_player1_left_btn =
    # input_player1_right_btn =
    # input_player1_up_btn =
    # input_player1_down_btn =
    # input_player1_l2_btn =
    # input_player1_r2_btn =
    # input_player1_l3_btn =
    # input_player1_r3_btn =

    # Axis for RetroArch D-Pad.
    # Needs to be either ‘+’ or ‘-‘ in the first character signaling either positive or negative direction of the axis, then the axis number.
    # Do note that every other input option has the corresponding _btn and _axis binds as well; they are omitted here for clarity.
    # input_player1_left_axis =
    # input_player1_right_axis =
    # input_player1_up_axis =
    # input_player1_down_axis =

    # Holding the turbo while pressing another button will let the button enter a turbo mode
    # where the button state is modulated with a periodic signal.
    # The modulation stops when the button itself (not turbo button) is released.
    # input_player1_turbo =

    # Describes the period and how long of that period a turbo-enabled button should behave.
    # Numbers are described in frames.
    # input_turbo_period = 6
    # input_turbo_duty_cycle = 3

    # This goes all the way to user 8 (*_player2_*, *_player3_*, etc), but omitted for clarity.
    # All input binds have corresponding binds for keyboard (none), joykeys (_btn) and joyaxes (_axis) as well.

    # Toggles fullscreen.
    # input_toggle_fullscreen = f

    # Saves state.
    # input_save_state = f2
    # Loads state.
    # input_load_state = f4

    # State slots. With slot set to 0, save state name is *.state (or whatever defined on commandline).
    # When slot is != 0, path will be $path%d, where %d is slot number.
    # input_state_slot_increase = f7
    # input_state_slot_decrease = f6

    # Toggles between fast-forwarding and normal speed.
    # input_toggle_fast_forward = space

    # Hold for fast-forward. Releasing button disables fast-forward.
    # input_hold_fast_forward = l

    # Key to exit RetroArch cleanly.
    # Killing it in any hard way (SIGKILL, etc) will terminate RetroArch without saving RAM, etc.
    # On Unix-likes, SIGINT/SIGTERM allows a clean deinitialization.
    input_exit_emulator = escape

    # Applies next and previous shader in directory.
    input_shader_next = m
    input_shader_prev = n

    # Hold button down to rewind. Rewinding must be enabled.
    input_rewind = r

    # Toggle between recording and not.
    # input_movie_record_toggle = o

    # Toggle between paused and non-paused state
    # input_pause_toggle = p

    # Frame advance when content is paused
    # input_frame_advance = k

    # Reset the content.
    # input_reset = h

    # Cheats.
    # input_cheat_index_plus = y
    # input_cheat_index_minus = t
    # input_cheat_toggle = u

    # Mute/unmute audio
    # input_audio_mute = f9

    # Take screenshot
    # input_screenshot = f8

    # Netplay flip users.
    # input_netplay_flip_players = i

    # Hold for slowmotion.
    # input_slowmotion = e

    # Enable other hotkeys.
    # If this hotkey is bound to either keyboard, joybutton or joyaxis,
    # all other hotkeys will be disabled unless this hotkey is also held at the same time.
    # This is useful for RETRO_KEYBOARD centric implementations
    # which query a large area of the keyboard, where it is not desirable
    # that hotkeys get in the way.

    # Alternatively, all hotkeys for keyboard could be disabled by the user.
    # input_enable_hotkey_btn =

    # Increases audio volume.
    # input_volume_up = kp_plus
    # Decreases audio volume.
    # input_volume_down = kp_minus

    # Toggles to next overlay. Wraps around.
    # input_overlay_next =

    # Toggles eject for disks. Used for multiple-disk content.
    # input_disk_eject_toggle =

    # Cycles through disk images. Use after ejecting.
    # Complete by toggling eject again.
    # input_disk_next =

    # Toggles menu.
    # input_menu_toggle = f1

    # Toggles mouse grab. When mouse is grabbed, RetroArch hides the mouse,
    # and keeps the mouse pointer inside the window to allow relative mouse input
    # to work better.
    # input_grab_mouse_toggle = f11

    #### Menu

    # Menu driver to use. “rgui”, “lakka”, etc.
    # menu_driver = “rgui”

    # If enabled, the libretro core will keep running in the background when we
    # are in the menu.
    # menu_pause_libretro = false

    # Enable mouse input inside the menu.
    # menu_mouse_enable = false

    # Enable touch input inside the menu.
    # menu_pointer_enable = false

    # Shows current date and/or time inside menu.
    # menu_timedate_enable = true

    # Shows current core inside menu.
    # menu_core_enable = true

    # Path to a .png image to set as menu wallpaper.
    # menu_wallpaper =

    # Wrap-around toe beginning and/or end if boundary of list reached horizontally
    # menu_navigation_wraparound_horizontal_enable = false

    # Wrap-around to beginning and/or end if boundary of list reached vertically
    # menu_navigation_wraparound_vertical_enable = false

    # Filter files being show in ‘Load Content’ by supported extensions
    # menu_navigation_browser_filter_supported_extensions_enable = true

    # Collapse subgroup settings into main group to create one big listing of settings
    # per category.
    # menu_collapse_subgroups_enable = false

    #### UI

    # Suspends the screensaver if set to true. Is a hint that does not necessarily have to be honored
    # by video driver.
    # suspend_screensaver_enable = true

    #### Camera

    # Override the default camera device the camera driver uses. This is driver dependant.
    # camera_device =

    # Override the default privacy permission for cores that want to access camera services. Is “false” by default.
    # camera_allow = false

    #### Location

    # Override the default privacy permission for cores that want to access location services. Is “false” by default.
    # location_allow = false

    #### Core Updater

    # URL to core update directory on buildbot.
    # core_updater_buildbot_url = “http://buildbot.libretro.com&#8221;

    # URL to assets update directory on buildbot.
    # core_updater_buildbot_assets_url = “http://buildbot.libretro.com/assets/&#8221;

    # Automatically extract archives that the cores are contained in to the libretro cores directory.
    # core_updater_auto_extract_archive = true

    #### Network

    # When being client over netplay, use keybinds for user 1.
    # netplay_client_swap_input = false

    # The username of the person running RetroArch. This will be used for playing online, for instance.
    # netplay_nickname =

    # The amount of delay frames to use for netplay. Increasing this value will increase
    # performance, but introduce more latency.
    # netplay_delay_frames = 0

    # Netplay mode for the current user.
    # false is Server, true is Client.
    # netplay_mode = false

    # Enable or disable spectator mode for the user during netplay.
    # netplay_spectator_mode_enable = false

    # The IP Address of the host to connect to.
    # netplay_ip_address =

    # The port of the host IP Address. Can be either a TCP or an UDP port.
    # netplay_ip_port = 55435

    #### Misc

    # Enable rewinding. This will take a performance hit when playing, so it is disabled by default.
    rewind_enable = false

    # Rewinding buffer size in megabytes. Bigger rewinding buffer means you can rewind longer.
    # The buffer should be approx. 20MB per minute of buffer time.
    rewind_buffer_size = 10

    # Rewind granularity. When rewinding defined number of frames, you can rewind several frames at a time, increasing the rewinding speed.
    rewind_granularity = 2

    # Pause gameplay when window focus is lost.
    # pause_nonactive = true

    # Autosaves the non-volatile SRAM at a regular interval. This is disabled by default unless set otherwise.
    # The interval is measured in seconds. A value of 0 disables autosave.
    # autosave_interval =

    # Path to content database directory.
    # content_database_path =

    # Path to cheat database directory.
    # cheat_database_path =

    # Path to XML cheat config, a file which keeps track of which
    # cheat settings are used for individual games.
    # If the file does not exist, it will be created.
    # cheat_settings_path =

    # Directory to dump screenshots to.
    # screenshot_directory =

    # Records video after CPU video filter.
    # video_post_filter_record = false

    # Records output of GPU shaded material if available.
    # video_gpu_record = false

    # Screenshots output of GPU shaded material if available.
    video_gpu_screenshot = true

    # Block SRAM from being overwritten when loading save states.
    # Might potentially lead to buggy games.
    # block_sram_overwrite = false

    # When saving a savestate, save state index is automatically increased before
    # it is saved.
    # Also, when loading content, the index will be set to the highest existing index.
    # There is no upper bound on the index.
    # savestate_auto_index = false

    # Slowmotion ratio. When slowmotion, content will slow down by factor.
    # slowmotion_ratio = 3.0

    # The maximum rate at which content will be run when using fast forward. (E.g. 5.0 for 60 fps content => 300 fps cap).
    # RetroArch will go to sleep to ensure that the maximum rate will not be exceeded.
    # Do not rely on this cap to be perfectly accurate.
    # fastforward_ratio = 1.0

    # Setting this to false equals no FPS cap and will override the fastforward_ratio value.
    # fastforward_ratio_throttle_enable = false

    # Enable stdin/network command interface.
    # network_cmd_enable = false
    # network_cmd_port = 55355
    # stdin_cmd_enable = false

    input_enable_hotkey = “0”
    input_exit_emulator_btn = “7”
    input_save_state_btn = “3”
    input_load_state_btn = “4”
    input_player1_joypad_index = “0”
    input_player1_b_btn = “1”
    input_player1_y_btn = “3”
    input_player1_select_btn = “0”
    input_player1_start_btn = “7”
    input_player1_up_btn = “h0up”
    input_player1_down_btn = “h0down”
    input_player1_left_btn = “h0left”
    input_player1_right_btn = “h0right”
    input_player1_a_btn = “2”
    input_player1_x_btn = “4”
    input_player1_l_btn = “5”
    input_player1_r_btn = “6”
    input_player1_l2_axis = “+2”
    input_player1_r2_axis = “+5”
    input_player1_l3_btn = “9”
    input_player1_r3_btn = “10”
    input_player1_l_x_plus_axis = “+0”
    input_player1_l_x_minus_axis = “-0”
    input_player1_l_y_plus_axis = “+1”
    input_player1_l_y_minus_axis = “-1”
    input_player1_r_x_plus_axis = “+3”
    input_player1_r_x_minus_axis = “-3”
    input_player1_r_y_plus_axis = “+4”
    input_player1_r_y_minus_axis = “-4”

    elgur85
    Participant

    Hello!

    I try to configure my Logitech Dual action in RetroPie to work as I want it to.
    But the more I google, the more confused I get. :)

    What files should I edit? I have read about opt/retropie/configs/all and rom-specific folders.

    I have figured out which button is which on my controller.

    For example, my retroarch.cfg in NES-folder only includes:
    #include “/opt/retropie/configs/all/retroarch.cfg”
    # All settings made here will override the global settings for the current emulator core
    input_remapping_directory = /opt/retropie/configs/nes/
    video_shader = /opt/retropie/emulators/retroarch/shader/phosphor.glslp
    video_shader_enable = false
    video_smooth = false

    And if I edit my controller in a NES-game using RetroPie, it saves the file as fceumm_libretro.cfg.

    Hope that anyone can help me. I’m very confused. :(

    eldo73
    Participant

    Hi, I watched Floob’s video (all 60 minutes!) on config files in v3b2, and I’m sure the info was in there, but I’m going to have to go back and take detailed notes, I think. In the meantime, can anyone tell me how to specify a controller per emulator?

    I’ve built a small console device that has 2 sets of arcade style controls interfaced using the xin-mo usb controller. After a bunch of mucking around, it actually works pretty good. I also have a Logitech dual action usb gamepad that I’d like to use for it’s analog joysticks, basically in the n64 and psx titles. Everything works fine if I plug and unplug the appropriate controllers, but is there a way to specify that the Logitech is to be used for player 1 in those two emulators, while the xin mo is used for P1 in the others? Any help is appreciated!
    Jared

    #98730
    patrickm
    Participant

    “Both SNES emulators cores have a native resolution 256 x 239.”

    I’ve explained this.

    The SNES is 239 when padded with the black borders. Minus padding, the SNES image is 224 horizontal lines or 1120 at 5x scale.

    Just for kicks though let’s say that the SNES was supposed to display the full 1196 lines.

    1196 – 1080 = 116, divided by 5 for 5x scale, is 23.2. As mentioned, the overscan area is 10%. 10% of 239 lines is 23.9. 23.2 is less than 23.9 so the amount that is cropped is within the overscan area.

    The image was only drawn to 1120 lines though. 1120-1080 = 40, or 8 pixels at 5x scale. So you lose 4 lines from the top and bottom- again, this is well within the range of what actual CRTs would have done.

    “Of course may be a CRT cuts off some lines from the picture, but I do not think that has anything to do with overscan.”

    Padding and overscan aren’t the same thing. Padding relates to the extra part of the image put out by the console that wasn’t meant to be displayed. Overscan had to do with the TV.

    I’ve also explained the following more than once:
    On an NTSC TV, up to 10% of the picture would be cropped from top and bottom. The amount being cropped on SNES and Genesis is well within these parameters.

    “Screenshots and especially when at FFV the Black / White / Grey frame with your settings 1536×1120 just missing the top and bottom.
    I think that was certainly not planned by the programmer.”

    I’m afraid you are simply incorrect in your assumption, here. The frame would indeed be cut off on many CRTs- as I’ve demonstrated via direct logical explanation as well as empirical evidence in a side by side comparison with an actual CRT (my Sanyo).

    What you need to look at are things like life meters, heads up displays, etc. These were never placed in the overscan area and thus will never be cut off with a 5x vertical scaling. There is no single correct way to display these games since the CRTs varied so widely in how they were calibrated- there is only “incorrect.”

    The programmer could only expect a certain range. Thus, occasionally on a real crt graphics would be cut off, but important graphics were always places within the “safe zone”

    “With Integerscale 5 : 4 you can see everything from the picture but the aspect ratio is not correct and against the image on a CRT TV, in which I assume that the image is stretched to 4 : 3, is too wide”

    I have also already explained this.

    The aspect ratio is an arbitrary consequence of the display tech being used. The actual output frame was never 4:3. It would be stretched to a 4:3 image in a variety of different ways by CRTs, which cropped widely different amounts off the sides and top/bottom. Thus, how “wide” or “thin” individual sprites or pixels were on a crt varies widely and there is no single standard here, only a correct range. And as I’ve explained more than once, the pixel dimensions in 6×5 on NES and SNES are well within this correct range. In fact, you said that Mario looked too fat in the 6×5 scale image when in reality he is thinner there than in the 4:3 aspect image.

    I posted a side by side comparison showing the super Mario bros title screen in 6×5 emulated on a PC and on an actual crt showing that the 6×5 scale image is completely within the correct range for CRTs.

    The fact is that the amount you saw varied on a crt. Some CRTs would show all the overscan. Most cropped this off. Some, like my Sanyo CRT, cropped off even slightly more than the overscan area. This is the reason why SNES and Genesis had those black bars at the top/bottom, so that the actual picture wasn’t cropped off. But sometimes, the crt cropped off a bit more than this and you would lose a couple lines off the picture.

    In fact, the developers did not intend for the overscan to be displayed, and they certainly didn’t intend for the game to be displayed letterboxed on your TV. They also did not intend for you to see the black bars/padding that were part of the SNES and Genesis output frame. If you’re playing at 4x scale you’re seeing a bunch of stuff that you weren’t supposed to see, while at 5x you crop off a few pixels on the SNES and Genesis and this is well within the normal range for CRTs.

    cedifra
    Participant

    Hey guys,

    Thanks for reading.

    I am receiving a few weird error messages.

    My CPUs seem to work fine tho.

    And what means:

    map: vt01 => fb0?

    [attachment file=”error3.JPG”]

    Error

    Thanks!

    ///
    Raspberry Pi2b
    RetroPie Version Used: 2.6
    Built From: SD Image
    USB Devices connected: Keyboard, XinMo Dual Arcade
    ///

    #98693
    cedifra
    Participant

    Hello guys,

    Thanks for reading.

    ///
    Raspberry Pi2b
    RetroPie Version Used: 2.6
    Built From: SD Image
    USB Devices connected: Keyboard, XinMo Dual Arcade
    ///

    I am using a HDMI to DVI cable to connect my BenQ E900T. It works perfectly at first. I run a the SNES Emulator and can play a game. If I now exit the emulator, the screen is suddenly tinted and stays that way:

    NORMAL STILL

    TINTED RED

    It happens with: NES, SNES

    But not with GBA, which uses another BIOS.

    Thanks!!!!

    elgur85
    Participant

    Hello!

    Yesterday I bought a RPi2. Now I want to set up my controller.
    I have had a RPi1 before, and set up my controller there, but I have forgotten how to do it. I remember that I edited my controller, but don’t know how.

    I also edited some file then, to remove hotkey-function.

    Hope anyone can help me. :)

    ragnaer
    Participant

    Hi All,

    I’m new to RetroPie and have just build & setup my system (retropie 3.0).

    I’ve got a bunch of games working, but have hit a brick wall with trying to get hotkeys working so I can save my game state, and exit a game easily.

    I’ve built an arcade cabinet, so am using sanwa joysticks and buttons via an ipac-2 (therefore using keyboard controls).

    I’ve tried Floob’s suggestions and deleted all supplementary configs, but no luck. I’ve updated the Retroarch config file to what I think the hotkeys should be, but still no luck. (all the buttons/joysticks are working, but not the hotkeys).

    I used to be able to exit a game easily by holding start1 (num1) and pressing start2 (num2) buttons, but after I tried changing the hotkey setup script to “2” it changed to ALT, and now I have no idea how to change it back.

    Any help would be MOST appreciated~! Thanks in advance !

    Here is my /opt/retropie/configs/all/retroarch.cfg file:

    ## Skeleton config file for RetroArch

    # Save all save files (*.srm) to this directory. This includes related files like .bsv, .rtc, .psrm, etc …
    # This will be overridden by explicit command line options.
    savefile_directory = /home/pi/RetroPie/savestate

    # Save all save states (*.state) to this directory.
    # This will be overridden by explicit command line options.
    savestate_directory = /home/pi/RetroPie/savestate

    # If set to a directory, Content which is temporarily extracted
    # will be extracted to this directory.
    # extraction_directory =

    # Save all input remapping files to this directory.
    # input_remapping_directory =

    # Save all playlist files to this directory.
    # playlist_directory =

    # If set to a directory, the content history playlist will be saved
    # to this directory.
    # content_history_dir =

    # Automatically saves a savestate at the end of RetroArch’s lifetime.
    # The path is $SRAM_PATH.auto.
    # RetroArch will automatically load any savestate with this path on startup if savestate_auto_load is set.
    savestate_auto_save = false
    savestate_auto_load = true

    # Load libretro from a dynamic location for dynamically built RetroArch.
    # This option is mandatory.

    # Path to a libretro implementation.
    # libretro_path = “/path/to/libretro.so”

    # A directory for where to search for libretro core implementations.
    # libretro_directory =

    # A directory for where to search for libretro core information.
    # libretro_info_path =

    # Sets mode for archived files in file browser.
    # 0 = Ask, 1 = Load Archive, 2 = Open Archive
    # archive_mode = 0

    # Sets log level for libretro cores (GET_LOG_INTERFACE).
    # If a log level issued by a libretro core is below libretro_log_level, it is ignored.
    # DEBUG logs are always ignored unless verbose mode is activated (–verbose).
    # DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3.
    # libretro_log_level = 0

    # Enable or disable verbosity level of frontend.
    # log_verbosity = false

    # If this option is enabled, every content file loaded in RetroArch will be
    # automatically added to a history list.
    # history_list_enable = true

    # Enable or disable RetroArch performance counters
    # perfcnt_enable = false

    # Path to core options config file.
    # This config file is used to expose core-specific options.
    # It will be written to by RetroArch.
    # A default path will be assigned if not set.
    core_options_path = /opt/retropie/configs/all/retroarch-core-options.cfg

    # Path to content load history file.
    # RetroArch keeps track of all content loaded in the menu and from CLI directly for convenient quick loading.
    # A default path will be assigned if not set.
    # game_history_path =

    # Number of entries that will be kept in content history file.
    # game_history_size = 100

    # Sets the “system” directory.
    # Implementations can query for this directory to load BIOSes, system-specific configs, etc.
    system_directory = /home/pi/RetroPie/BIOS

    # Sets start directory for menu content browser.
    # rgui_browser_directory =

    # Content directory. Interacts with RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY.
    # Usually set by developers who bundle libretro/RetroArch apps to point to assets.
    # content_directory =

    # Assets directory. This location is queried by default when menu interfaces try to look for
    # loadable assets, etc.
    assets_directory = /opt/retropie/emulators/retroarch/assets

    # Sets start directory for menu config browser.
    # rgui_config_directory =

    # Show startup screen in menu.
    # Is automatically set to false when seen for the first time.
    # This is only updated in config if config_save_on_exit is set to true, however.
    # rgui_show_start_screen = true

    # Flushes config to disk on exit. Useful for menu as settings can be modified.
    # Overwrites the config. #include’s and comments are not preserved.
    config_save_on_exit = false

    # Load up a specific config file based on the core being used.
    # core_specific_config = false

    #### Video

    # Video driver to use. “gl”, “xvideo”, “sdl”
    # video_driver = “gl”

    # Which OpenGL context implementation to use.
    # Possible ones for desktop are: glx, x-egl, kms-egl, sdl-gl, wgl.
    # By default, tries to use first suitable driver.
    # video_context_driver =

    # Windowed x resolution scale and y resolution scale
    # (Real x res: base_size * xscale * aspect_ratio, real y res: base_size * yscale)
    # video_scale = 3.0

    # Fullscreen resolution. Resolution of 0 uses the resolution of the desktop.
    # video_fullscreen_x = 0
    # video_fullscreen_y = 0

    # Start in fullscreen. Can be changed at runtime.
    # video_fullscreen = false

    # If fullscreen, prefer using a windowed fullscreen mode.
    # video_windowed_fullscreen = true

    # Which monitor to prefer. 0 (default) means no particular monitor is preferred, 1 and up (1 being first monitor),
    # suggests RetroArch to use that particular monitor.
    # video_monitor_index = 0

    # Forcibly disable composition. Only works in Windows Vista/7 for now.
    # video_disable_composition = false

    # Video vsync.
    # video_vsync = true

    # Forcibly disable sRGB FBO support. Some Intel OpenGL drivers on Windows
    # have video problems with sRGB FBO support enabled.
    # video_force_srgb_disable = false

    # Attempts to hard-synchronize CPU and GPU. Can reduce latency at cost of performance.
    # video_hard_sync = false

    # Sets how many frames CPU can run ahead of GPU when using video_hard_sync.
    # Maximum is 3.
    # video_hard_sync_frames = 0

    # Sets how many milliseconds to delay after VSync before running the core.
    # Can reduce latency at cost of higher risk of stuttering.
    # Maximum is 15.
    # video_frame_delay = 0

    # Inserts a black frame inbetween frames.
    # Useful for 120 Hz monitors who want to play 60 Hz material with eliminated ghosting.
    # video_refresh_rate should still be configured as if it is a 60 Hz monitor (divide refresh rate by 2).
    # video_black_frame_insertion = false

    # Use threaded video driver. Using this might improve performance at possible cost of latency and more video stuttering.
    video_threaded = true

    # Use a shared context for HW rendered libretro cores.
    # Avoids having to assume HW state changes inbetween frames.
    # video_shared_context = false

    # Smoothens picture with bilinear filtering. Should be disabled if using pixel shaders.
    video_smooth = false

    # Forces rendering area to stay equal to content aspect ratio or as defined in video_aspect_ratio.
    # video_force_aspect = true

    # Only scales video in integer steps.
    # The base size depends on system-reported geometry and aspect ratio.
    # If video_force_aspect is not set, X/Y will be integer scaled independently.
    # video_scale_integer = false

    # A floating point value for video aspect ratio (width / height).
    # If this is not set, aspect ratio is assumed to be automatic.
    # Behavior then is defined by video_aspect_ratio_auto.
    # video_aspect_ratio =

    # If this is true and video_aspect_ratio is not set,
    # aspect ratio is decided by libretro implementation.
    # If this is false, 1:1 PAR will always be assumed if video_aspect_ratio is not set.
    video_aspect_ratio_auto = true

    # Forces cropping of overscanned frames.
    # Exact behavior of this option is implementation specific.
    # video_crop_overscan = true

    # Path to shader. Shader can be either Cg, CGP (Cg preset) or GLSL, GLSLP (GLSL preset)
    # video_shader = “/path/to/shader.{cg,cgp,glsl,glslp}”

    # Load video_shader on startup.
    # Other shaders can still be loaded later in runtime.
    # video_shader_enable = false

    # Defines a directory where shaders (Cg, CGP, GLSL) are kept for easy access.
    video_shader_dir = /opt/retropie/emulators/retroarch/shader/

    # CPU-based video filter. Path to a dynamic library.
    # video_filter =

    # Defines a directory where CPU-based video filters are kept.
    # video_filter_dir =

    # Path to a font used for rendering messages. This path must be defined to enable fonts.
    # Do note that the _full_ path of the font is necessary!
    # video_font_path =

    # Size of the font rendered.
    video_font_size = 12

    # Enable usage of OSD messages.
    # video_font_enable = true

    # Offset for where messages will be placed on screen. Values are in range 0.0 to 1.0 for both x and y values.
    # [0.0, 0.0] maps to the lower left corner of the screen.
    # video_message_pos_x = 0.05
    # video_message_pos_y = 0.05

    # Color for message. The value is treated as a hexadecimal value.
    # It is a regular RGB hex number, i.e. red is “ff0000”.
    # video_message_color = ffffff

    # Video refresh rate of your monitor.
    # Used to calculate a suitable audio input rate.
    # video_refresh_rate = 59.95

    # Allows libretro cores to set rotation modes.
    # Setting this to false will honor, but ignore this request.
    # This is useful for vertically oriented content where one manually rotates the monitor.
    # video_allow_rotate = true

    # Forces a certain rotation of the screen.
    # The rotation is added to rotations which the libretro core sets (see video_allow_rotate).
    # The angle is <value> * 90 degrees counter-clockwise.
    # video_rotation = 0

    #### Audio

    # Enable audio.
    # audio_enable = true

    # Mutes audio.
    # audio_mute_enable = false

    # Audio output samplerate.
    # audio_out_rate = 48000

    # Audio resampler backend. Which audio resampler to use.
    # Default will use “sinc”.
    # audio_resampler =

    # Audio driver backend. Depending on configuration possible candidates are: alsa, pulse, oss, jack, rsound, roar, openal, sdl, xaudio.
    # audio_driver =

    # Override the default audio device the audio_driver uses. This is driver dependant. E.g. ALSA wants a PCM device, OSS wants a path (e.g. /dev/dsp), Jack wants portnames (e.g. system:playback1,system:playback_2), and so on …
    # audio_device =

    # Audio DSP plugin that processes audio before it’s sent to the driver. Path to a dynamic library.
    # audio_dsp_plugin =

    # Directory where DSP plugins are kept.
    # audio_filter_dir =

    # Will sync (block) on audio. Recommended.
    # audio_sync = true

    # Desired audio latency in milliseconds. Might not be honored if driver can’t provide given latency.
    # audio_latency = 64

    # Enable audio rate control.
    # audio_rate_control = true

    # Controls audio rate control delta. Defines how much input rate can be adjusted dynamically.
    # Input rate = in_rate * (1.0 +/- audio_rate_control_delta)
    # audio_rate_control_delta = 0.005

    # Controls maximum audio timing skew. Defines the maximum change in input rate.
    # Input rate = in_rate * (1.0 +/- max_timing_skew)
    # audio_max_timing_skew = 0.05

    # Audio volume. Volume is expressed in dB.
    # 0 dB is normal volume. No gain will be applied.
    # Gain can be controlled in runtime with input_volume_up/input_volume_down.
    # audio_volume = 0.0

    #### Overlay

    # Defines a directory where overlays are kept for easy access.
    overlay_directory = /opt/retropie/emulators/retroarch/overlays

    # Enable or disable the current overlay.
    # input_overlay_enable = true

    # Path to input overlay
    # input_overlay =

    # Overlay opacity
    # input_overlay_opacity = 1.0

    # Overlay scale
    # input_overlay_scale = 1.0

    #### OSK (Onscreen Keyboard) Overlay

    # Defines a directory where overlays are kept for easy access.
    # osk_overlay_directory =

    # Enable OSK overlay.
    # input_osk_overlay_enable = true

    # Path to OSK overlay
    # input_osk_overlay =

    # OSK Overlay opacity
    # input_osk_overlay_opacity = 1.0

    # OSK Overlay scale
    # input_osk_overlay_scale = 1.0

    #### Input

    # Input driver. Depending on video driver, it might force a different input driver.
    # input_driver = sdl

    # Joypad driver. (Valid: linuxraw, sdl, dinput)
    # input_joypad_driver =

    # Path to input remapping file.
    # input_remapping_path =

    # If enabled, overrides the input binds with the remapped binds set for the current core.
    # input_remap_binds_enable = true

    # Maximum amount of users supported by RetroArch.
    # input_max_users = 16

    # Keyboard layout for input driver if applicable (udev/evdev for now).
    # Syntax is either just layout (e.g. “no”), or a layout and variant separated with colon (“no:nodeadkeys”).
    # input_keyboard_layout =

    # Defines axis threshold. Possible values are [0.0, 1.0]
    # input_axis_threshold = 0.5

    # Enable input auto-detection. Will attempt to autoconfigure
    # joypads, Plug-and-Play style.
    input_autodetect_enable = true

    # Show the input descriptors set by the core instead of the
    # default ones.
    # input_descriptor_label_show = true

    # Hide input descriptors that were not set by the core.
    # input_descriptor_hide_unbound = false

    # Directory for joypad autoconfigs.
    # If a joypad is plugged in, that joypad will be autoconfigured if a config file
    # corresponding to that joypad is present in joypad_autoconfig_dir.
    # Input binds which are made explicit (input_playerN_*_btn/axis) will take priority over autoconfigs.
    # Autoconfigs can be created with retroarch-joyconfig, manually, or with a frontend.
    # Requires input_autodetect_enable to be enabled.
    joypad_autoconfig_dir = /opt/retropie/emulators/retroarch/configs/

    # Sets which libretro device is used for a user.
    # Devices are indentified with a number.
    # This is normally saved by the menu.
    # Device IDs are found in libretro.h.
    # These settings are overridden by explicit command-line arguments which refer to input devices.
    # None: 0
    # Joypad (RetroPad): 1
    # Mouse: 2
    # Keyboard: 3
    # Generic Lightgun: 4
    # Joypad w/ Analog (RetroPad + Analog sticks): 5
    # Multitap (SNES specific): 257
    # Super Scope (SNES specific): 260
    # Justifier (SNES specific): 516
    # Justifiers (SNES specific): 772

    # input_libretro_device_p1 =
    # input_libretro_device_p2 =
    # input_libretro_device_p3 =
    # input_libretro_device_p4 =
    # input_libretro_device_p5 =
    # input_libretro_device_p6 =
    # input_libretro_device_p7 =
    # input_libretro_device_p8 =

    # Keyboard input. Will recognize letters (“a” to “z”) and the following special keys (where “kp_”
    # is for keypad keys):
    #
    # left, right, up, down, enter, kp_enter, tab, insert, del, end, home,
    # rshift, shift, ctrl, alt, space, escape, add, subtract, kp_plus, kp_minus,
    # f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12,
    # num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, pageup, pagedown,
    # keypad0, keypad1, keypad2, keypad3, keypad4, keypad5, keypad6, keypad7, keypad8, keypad9,
    # period, capslock, numlock, backspace, multiply, divide, print_screen, scroll_lock,
    # tilde, backquote, pause, quote, comma, minus, slash, semicolon, equals, leftbracket,
    # backslash, rightbracket, kp_period, kp_equals, rctrl, ralt
    #
    # Keyboard input, Joypad and Joyaxis will all obey the “nul” bind, which disables the bind completely,
    # rather than relying on a default.
    input_player1_a = ctrl
    input_player1_b = alt
    input_player1_y = shift
    input_player1_x = space
    input_player1_start = num1
    input_player1_select = num5
    input_player1_l = z
    input_player1_r = x
    input_player1_left = left
    input_player1_right = right
    input_player1_up = up
    input_player1_down = down
    input_player1_coin1 = 5
    input_player2_a = a
    input_player2_b = s
    input_player2_y = q
    input_player2_x = w
    input_player2_start = num2
    input_player2_select = num6
    input_player2_l = i
    input_player2_r = k
    input_player2_left = d
    input_player2_right = g
    input_player2_up = r
    input_player2_down = f
    input_player2_coin2 = 6
    input_enable_hotkey_btn = num1
    input_exit_emulator_btn = num2
    input_save_state_btn = 5
    input_load_state_btn = 6
    # input_player1_l2 =
    # input_player1_r2 =
    # input_player1_l3 =
    # input_player1_r3 =

    # Two analog sticks (DualShock-esque).
    # Bound as usual, however, if a real analog axis is bound,
    # it can be read as a true analog.
    # Positive X axis is right, Positive Y axis is down.
    # input_player1_l_x_plus =
    # input_player1_l_x_minus =
    # input_player1_l_y_plus =
    # input_player1_l_y_minus =
    # input_player1_r_x_plus =
    # input_player1_r_x_minus =
    # input_player1_r_y_plus =
    # input_player1_r_y_minus =

    # If desired, it is possible to override which joypads are being used for user 1 through 8.
    # First joypad available is 0.
    # input_player1_joypad_index = 0
    # input_player2_joypad_index = 1
    # input_player3_joypad_index = 2
    # input_player4_joypad_index = 3
    # input_player5_joypad_index = 4
    # input_player6_joypad_index = 5
    # input_player7_joypad_index = 6
    # input_player8_joypad_index = 7

    # Joypad buttons.
    # Figure these out by using RetroArch-Phoenix or retroarch-joyconfig.
    # You can use joypad hats with hnxx, where n is the hat, and xx is a string representing direction.
    # E.g. “h0up”
    # input_player1_a_btn =
    # input_player1_b_btn =
    # input_player1_y_btn =
    # input_player1_x_btn =
    # input_player1_start_btn =
    # input_player1_select_btn =
    # input_player1_l_btn =
    # input_player1_r_btn =
    # input_player1_left_btn =
    # input_player1_right_btn =
    # input_player1_up_btn =
    # input_player1_down_btn =
    # input_player1_l2_btn =
    # input_player1_r2_btn =
    # input_player1_l3_btn =
    # input_player1_r3_btn =

    # Axis for RetroArch D-Pad.
    # Needs to be either ‘+’ or ‘-‘ in the first character signaling either positive or negative direction of the axis, then the axis number.
    # Do note that every other input option has the corresponding _btn and _axis binds as well; they are omitted here for clarity.
    # input_player1_left_axis =
    # input_player1_right_axis =
    # input_player1_up_axis =
    # input_player1_down_axis =

    # Holding the turbo while pressing another button will let the button enter a turbo mode
    # where the button state is modulated with a periodic signal.
    # The modulation stops when the button itself (not turbo button) is released.
    # input_player1_turbo =

    # Describes the period and how long of that period a turbo-enabled button should behave.
    # Numbers are described in frames.
    # input_turbo_period = 6
    # input_turbo_duty_cycle = 3

    # This goes all the way to user 8 (*_player2_*, *_player3_*, etc), but omitted for clarity.
    # All input binds have corresponding binds for keyboard (none), joykeys (_btn) and joyaxes (_axis) as well.

    # Toggles fullscreen.
    # input_toggle_fullscreen = f

    # Saves state.
    input_save_state_btn = 5
    # Loads state.
    input_load_state_btn = 6

    # State slots. With slot set to 0, save state name is *.state (or whatever defined on commandline).
    # When slot is != 0, path will be $path%d, where %d is slot number.
    # input_state_slot_increase = f7
    # input_state_slot_decrease = f6

    # Toggles between fast-forwarding and normal speed.
    # input_toggle_fast_forward = space

    # Hold for fast-forward. Releasing button disables fast-forward.
    # input_hold_fast_forward = l

    # Key to exit RetroArch cleanly.
    # Killing it in any hard way (SIGKILL, etc) will terminate RetroArch without saving RAM, etc.
    # On Unix-likes, SIGINT/SIGTERM allows a clean deinitialization.
    input_exit_emulator = escape

    # Applies next and previous shader in directory.
    input_shader_next = m
    input_shader_prev = n

    # Hold button down to rewind. Rewinding must be enabled.
    input_rewind = r

    # Toggle between recording and not.
    # input_movie_record_toggle = o

    # Toggle between paused and non-paused state
    # input_pause_toggle = p

    # Frame advance when content is paused
    # input_frame_advance = k

    # Reset the content.
    # input_reset = h

    # Cheats.
    # input_cheat_index_plus = y
    # input_cheat_index_minus = t
    # input_cheat_toggle = u

    # Mute/unmute audio
    # input_audio_mute = f9

    # Take screenshot
    # input_screenshot = f8

    # Netplay flip users.
    # input_netplay_flip_players = i

    # Hold for slowmotion.
    # input_slowmotion = e

    # Enable other hotkeys.
    # If this hotkey is bound to either keyboard, joybutton or joyaxis,
    # all other hotkeys will be disabled unless this hotkey is also held at the same time.
    # This is useful for RETRO_KEYBOARD centric implementations
    # which query a large area of the keyboard, where it is not desirable
    # that hotkeys get in the way.

    # Alternatively, all hotkeys for keyboard could be disabled by the user.
    input_enable_hotkey_btn = num1

    # Increases audio volume.
    # input_volume_up = kp_plus
    # Decreases audio volume.
    # input_volume_down = kp_minus

    # Toggles to next overlay. Wraps around.
    # input_overlay_next =

    # Toggles eject for disks. Used for multiple-disk content.
    # input_disk_eject_toggle =

    # Cycles through disk images. Use after ejecting.
    # Complete by toggling eject again.
    # input_disk_next =

    # Toggles menu.
    input_menu_toggle = F1

    # Toggles mouse grab. When mouse is grabbed, RetroArch hides the mouse,
    # and keeps the mouse pointer inside the window to allow relative mouse input
    # to work better.
    # input_grab_mouse_toggle = f11

    #### Menu

    # Menu driver to use. “rgui”, “lakka”, etc.
    # menu_driver = “rgui”

    # If enabled, the libretro core will keep running in the background when we
    # are in the menu.
    # menu_pause_libretro = false

    # Enable mouse input inside the menu.
    # menu_mouse_enable = false

    # Enable touch input inside the menu.
    # menu_pointer_enable = false

    # Shows current date and/or time inside menu.
    # menu_timedate_enable = true

    # Shows current core inside menu.
    # menu_core_enable = true

    # Path to a .png image to set as menu wallpaper.
    # menu_wallpaper =

    # Wrap-around toe beginning and/or end if boundary of list reached horizontally
    # menu_navigation_wraparound_horizontal_enable = false

    # Wrap-around to beginning and/or end if boundary of list reached vertically
    # menu_navigation_wraparound_vertical_enable = false

    # Filter files being show in ‘Load Content’ by supported extensions
    # menu_navigation_browser_filter_supported_extensions_enable = true

    # Collapse subgroup settings into main group to create one big listing of settings
    # per category.
    # menu_collapse_subgroups_enable = false

    #### UI

    # Suspends the screensaver if set to true. Is a hint that does not necessarily have to be honored
    # by video driver.
    # suspend_screensaver_enable = true

    #### Camera

    # Override the default camera device the camera driver uses. This is driver dependant.
    # camera_device =

    # Override the default privacy permission for cores that want to access camera services. Is “false” by default.
    # camera_allow = false

    #### Location

    # Override the default privacy permission for cores that want to access location services. Is “false” by default.
    # location_allow = false

    #### Core Updater

    # URL to core update directory on buildbot.
    # core_updater_buildbot_url = “http://buildbot.libretro.com&#8221;

    # URL to assets update directory on buildbot.
    # core_updater_buildbot_assets_url = “http://buildbot.libretro.com/assets/&#8221;

    # Automatically extract archives that the cores are contained in to the libretro cores directory.
    # core_updater_auto_extract_archive = true

    #### Network

    # When being client over netplay, use keybinds for user 1.
    # netplay_client_swap_input = false

    # The username of the person running RetroArch. This will be used for playing online, for instance.
    # netplay_nickname =

    # The amount of delay frames to use for netplay. Increasing this value will increase
    # performance, but introduce more latency.
    # netplay_delay_frames = 0

    # Netplay mode for the current user.
    # false is Server, true is Client.
    # netplay_mode = false

    # Enable or disable spectator mode for the user during netplay.
    # netplay_spectator_mode_enable = false

    # The IP Address of the host to connect to.
    # netplay_ip_address =

    # The port of the host IP Address. Can be either a TCP or an UDP port.
    # netplay_ip_port = 55435

    #### Misc

    # Enable rewinding. This will take a performance hit when playing, so it is disabled by default.
    rewind_enable = false

    # Rewinding buffer size in megabytes. Bigger rewinding buffer means you can rewind longer.
    # The buffer should be approx. 20MB per minute of buffer time.
    rewind_buffer_size = 10

    # Rewind granularity. When rewinding defined number of frames, you can rewind several frames at a time, increasing the rewinding speed.
    rewind_granularity = 2

    # Pause gameplay when window focus is lost.
    # pause_nonactive = true

    # Autosaves the non-volatile SRAM at a regular interval. This is disabled by default unless set otherwise.
    # The interval is measured in seconds. A value of 0 disables autosave.
    autosave_interval = 5

    # Path to content database directory.
    # content_database_path =

    # Path to cheat database directory.
    # cheat_database_path =

    # Path to XML cheat config, a file which keeps track of which
    # cheat settings are used for individual games.
    # If the file does not exist, it will be created.
    # cheat_settings_path =

    # Directory to dump screenshots to.
    # screenshot_directory =

    # Records video after CPU video filter.
    # video_post_filter_record = false

    # Records output of GPU shaded material if available.
    # video_gpu_record = false

    # Screenshots output of GPU shaded material if available.
    video_gpu_screenshot = true

    # Block SRAM from being overwritten when loading save states.
    # Might potentially lead to buggy games.
    # block_sram_overwrite = false

    # When saving a savestate, save state index is automatically increased before
    # it is saved.
    # Also, when loading content, the index will be set to the highest existing index.
    # There is no upper bound on the index.
    # savestate_auto_index = false

    # Slowmotion ratio. When slowmotion, content will slow down by factor.
    # slowmotion_ratio = 3.0

    # The maximum rate at which content will be run when using fast forward. (E.g. 5.0 for 60 fps content => 300 fps cap).
    # RetroArch will go to sleep to ensure that the maximum rate will not be exceeded.
    # Do not rely on this cap to be perfectly accurate.
    # fastforward_ratio = 1.0

    # Setting this to false equals no FPS cap and will override the fastforward_ratio value.
    # fastforward_ratio_throttle_enable = false

    # Enable stdin/network command interface.
    # network_cmd_enable = false
    # network_cmd_port = 55355
    # stdin_cmd_enable = false

    patrickm
    Participant

    The standards I’m referring to are simple and universal: avoid flaws in the picture. Just like stretching a 4:3 movie image to fill the screen is not how the artist originally intended for the image to be displayed, the artists did not intend for the pixels to be stretched by varying amounts, and yes, this will have an impact on pixel art, particularly as objects scroll across the screen.

    The 6×5 scale thing I’ve explained numerous times and even included a side by side comparison with a real crt as evidence. In fact, my Sanyo CRT cropped slightly more than the emulated image at 6×5 scale, and yet still you claim that I’m cropping too much off the image!

    I will explain it again. An NTSC CRT cropped off up to 10% of the picture from the top and bottom of the picture. This area was called overscan and was not meant to be displayed. If your TV displayed this, it was calibrated outside of what the developers intended. The 90% of the picture that remains is what is referred to as the “safe area” and all television programs and movies were designed so that important graphics were not displayed outside of this area. And in fact, the overscan area would often have things you weren’t supposed to see; such as boom mics in television programs or junk pixels on NES games. So, the amount that is cropped at 5x scale is actually closer to how the game was displayed on a CRT TV than displaying the entire uncropped 4:3 image in a letterboxed window.

    In case you missed the calculations I provided earlier, here they are again: the safe area of an NTSC TV is 90% of the area, top to bottom. On the NES, 5x scale is 1200 pixels. So on a 1080p display, you drop off 120 pixels. But each NES pixel is 5 1080p pixels at 5x scale. 120 / 5 = 24 pixels, or exactly 10% of 240.

    With Snes or Genesis, what gets cropped off is so minimal its not even worth discussing (like 4 pixels)

    The pixel dimensions as well are well within the parameters set by CRTs- you aren’t really appreciating the degree to which this varied by individual CRT. CRTs cropped varying amounts off of the top, bottom, and sides and stretched the image by varying amounts to achieve this. There is no single standard here when it comes to pixel dimensions, only a correct range. Basically, any pixel height/width ratio that is above 1:1 (the pixels were never square on a CRT) but below 1:1.43 (the dimensions when nothing is cropped) is technically fine and is within the parameters set by CRTs.

    The aspect ratio is also arbitrary and a consequence of the display being used. The only impact this would have on the game graphics is that the artists would have expected a roughly 4:3 output that would have stretched the output frame by a certain amount. But again, because each TV stretched and cropped everything by varying amounts, the graphic artists could only expect a certain range, here.

    My personal preference is 6×5 scale but my suggesting settings will work at any scale, provided that the right overlay is used- 5x scale needs a 5x overlay while all scales below this can use the 4x scale overlay. The 6×5 scale image is more accurate IMO because it doesn’t show the overscan.

    “So I understand Your statement that a picture in which some stroke are very clear to see, but spoil the image in any case, is better for all people, as the same picture, in which these lines but can not be seen ..?”

    No, I’m afraid you didn’t understand the analogy; allow me to explain. I’m using a hypothetical example here to illustrate a point.

    The image is clearly flawed if a use a black pen to draw some random lines across the television. Or, better yet, suppose that there are several dead pixels on the lcd screen, so that they no longer produce any light or color. But suppose my grandmother is almost blind and can’t see the lines that I’ve drawn or the dead pixels. She thinks it looks okay.

    The point is that just because someone doesn’t notice flaws, doesn’t mean that they aren’t there or that they aren’t flaws. A dead pixel is a dead pixel and it’s a flaw. By analogy, the same is true of warped pixels.

    patrickm
    Participant

    To clarify what is meant by “best picture quality”

    Picture quality can be defined using a set of objective standards. So what defines picture quality is not necessarily subjective.

    However, whether or not one individual thinks that the picture looks best with a particular set of settings is always going to be subjective.

    This is how “picture quality” can be objective and subjective at the same time :)

    Also, just wanted to clarify that I am not against a softer look per se (although I personally do prefer a sharper image), but bilinear filter is not the way to do it, for the reasons I’ve given, and there really isn’t a good way to achieve this on the raspberry pi, unless, perhaps, you are using a 720p native display and shaders.

    patl
    Participant

    I wrote this text in german and translated it with google translator, because I have better things to do than time to invest in such nonsense.
    Because of this some of this text maybe make no sense.
    Please remember that:

    Image quality you can not just summarize only in numbers at these low resolution of that system.
    Image quality is a matter of personal taste.

    The favorite game of my wife was and Aladin is on the SNES. She played it earlier on the real hardware really long time, and even to a few years ago, to about the time was replaced as CRT through LCD.
    When I had shown her the first time an emulated Aladin on an LCD monitor, she had played it for a few minutes, but then the gamepad aside. When I asked her why, she told me that her image is too square and they do not like that.

    Only when the Pi2 had come out, which is fast enough to all to emulate for me major systems (I know retroarch is also available for the PC, which has long been fast enough, but I had always too much other problems), I’ve only now with scan lines and the actual image “quality” deals.
    When I took the picture then set softer and scanlines have inserted, told me my wife suddenly the picture now looks much better and wanted to play Aladdin again.
    This situation and such statements, tell me much more about image quality than what you tell here as pseudo-facts, which in reality is only your opinion.

    You tell people what looks best in your opinion and what settings needed to achieve this, is also completely okay, but if you say now that your settings are the only right to have good image quality, you lie just wrong!

    That you do not know too much about resolution, you have shown, because you do not even knew why your first Scanlines the image only darkened. Why that was the case, I have explained to you in the thread as if you wanted me and all people realize the first time that can not be good only your picture settings handsome and all settings.
    I could go on to list examples which show that you have as you pretend less idea.

    Funnily enough, you had but just after this debate and my explanations revised your overlays.
    Just yesterday. I have posted my settings for a softer image, you’re talking about it just bad and ask again assertions that are simply contrived only to the hair, but änderst suddenly your overlays … haha

    I myself am a moderator in a slightly larger forum. We did not even sporadically people like you.
    What distinguishes such Persons:
    – He knows quite a bit.
    – It helps a lot because first he writes a lot about a subject.
    – People believe him, because they do not know better and just simply looking for information from a forum or Google.
    – He thinks what he says is law because he thinks anything else is wrong.
    – He tries his mind with more or less logical explanation to all the people who impose a different opinion, but it itself is completely closed to logical explanation.
    – He feels left out when someone else writes something and says, which is not his opinion.
    – His style is then very aggressive when he can no longer completely logically argue against it, because although it has quite a lot of knowledge, but still far less than he pretends.
    – He must always have the last word because he thinks this means he was suddenly right.
    – The best method is not to respond to his comments, because he will argue further and will never deviate from his opinion.
    – Tackle it is the task forum moderator or administrator, depending on how could the Forum should be developed.

    Do you recognize yourself? I for one recognize you in it.

    In my opinion, seeing your settings a total of just not good and you should not give people such bad advice.
    That was a sentence in the style as you write it.

    But all this is me not care, because you get your settings so doing as you like and I mean settings as I want.
    And all the others also make it just as they would like.

    I’ll also respond to any of your statements more immediate.
    If I am sometimes quite disagree as you I’ll create a separate thread where I explain my approach.

    I think the project really Retropie class. Although there are still some unnecessary problems, but there exist due to the emulation station or by Retroarch itself, it’s the best and easiest way to let the Pi2 old games to life again, when I was so far to solve almost all the problems I usually always had.
    However, it’s just too stupid in the small number of registered and active users here to argue with an individual that is so resistant to advice as you.

    The only reason why I this forum anything write is because I myself have really invested time in order to have one in my opinion the best possible image settings and I want my findings with other parts.
    Unlike you, but I’m aware that my settings not please everyone.

    #98380
    phoenixfox
    Participant

    I’m having a similar issue with the Retrolink SNES to USB adapter.

    Jstest detects the joystick and shows the input correctly, but then Emulationstation doesn’t detect any gamepad on startup.

    I don’t have any issues with another Dualshock to USB adapter or Xbox 360 controllers.

    I’m using Retropie 3.0 beta, installed from the image.

    patl
    Participant

    To explain my settings:

    Nearly every (emulated) system use its own resolution. (e.g. NES 256×240)
    And with this resolution nearly every system have its own natively aspect ratio.
    In the case of NES it is 1,06666667.
    But on real hardware with an real CRT TV the image is stretched to an aspect ratio of 1,333333 (4:3).
    The result is that the pixel width is not the same as the pixel height.
    And because of the resolution you have also on a real CRT something patrickm says pixel warping.

    On an emulated system the aspect ratio is not automatically set to an aspect ratio 4:3 (1,33333), but the natively aspect ratio (NES=1.06666667 256×240).
    You have the possibility to change the resolution and aspect ratio manually, but you have to chose between a realistic aspect ratio of 1.3333333 (4.3) and warping pixels or no warping pixels but also no realistic aspect ratio.

    I really prefer realistic aspect ratio… I don’t want a to fat or thin Mario ;-)
    Fortunately with smooth on settings you won’t see this warping pixels anymore, because of the of the softness similar to a real (consumer) CRT.
    I will not write where you can see these pixels exactly, because if you do not know what to look for, it will not attract attention.

    That’s also why I set the Integer Scale option to off because as already written each system has its own vertical resolution and each line should be a multiple of each emulated vertikal pixels, and I still want the image has an aspect ratio of 4:3.
    For the current consoles, except for the Master system (and Handhelds), I always use a 4 times the vertical resolution of the original vertikal system resolution.

    Because each vertikal line on the LCD should be a multiple of each emulated vertikal pixels, I use also a border around the image. Otherwise the emulated image is to small or to big for the resolution of a LCD display as i write later.
    And most of the systems offers different resolutions and have games that sometimes have different vertical resolution in some games or some games show some lines that are only black and so on…
    e.g. NES has a PAL resolution 256×240 and a NTSC 256×224.
    But the libretto NES cores always show 256×240 as native resolution.

    The SNES cores shows 256×239 !! pixels as nativ resolution.
    With integer scale on you can only use scanline overlays if the integer scale a multiple of of the original resolution at x1, x2, x4, x6 because with x3 or x5 you will get 3×239= 717 or 5×239= 1.195 vertical lines, and with this resolution you can’t create a overlay scanlineimage in which the vertical pixel spacing is always the same and fit eh pixelborder.
    And with a 239 vertical resolution the whole image “looks to high“ because of PAL. So I don’t use 240 but i resize the vertikal Resolution to NTSC 224 x4 = 896 Pixels. And to get an authentic 4:3 aspect ratio, I set the horizontal Resolution to 896 * 1,33333333 = 1.194(,66666)
    So 1194×896 for SNES.

    1080p (or also 720p) is sometimes the exactly a multiple of the resolution of the emulated system, but mostly not.
    If so, you don’t need a black or TV border to get a fullscreen image, if you don’t want.
    I want it, because i want the same look of all emulators the border around the image are not only black

    I want to see the whole picture, as it was designed.
    (PAL games would still another chapter, rare games use the extra PAL resolution, mostly the image is only compressed so you have the ugly black PAL borders at the upper and lower ends of the image.)

    At the end you have in all these resolutions and aspect ratios a lot to consider in order to get a good looking „authentic“ image.
    Plus, of course, everyone has a different meaning “good” looks like.
    One like the picture a bit softer and less blocky. The other may prefer ultra-sharp and with or without scanlines, … and so on
    There is no „best method“ .. ;-)

    I designed my Overlay Images for a 1080p LCD Resolution.
    On a LCD with other resolution these images does not look good.
    A 720p Display for example needs custom scanlines. The result would be you can see lines that do not fit or the whole image will be only darker or so…

    Now the Settings:

    The overlay image should be at the same resolution as the display resolution.
    – To do this edit the file:
    /opt/retropie/configs/all/videomodes.cfg

    Note: Entries will be only automatically in the file when each emulator was called already once.
    Otherwise, you can simply paste the entries. If the file does not exist, create the file.
    The file should look like this:

    lr-catsfc_render=”config”
    lr-armsnes_render=”config”
    lr-picodrive_render=”config”
    lr-fba_render=”config”
    lr-fceumm_render=”config”
    lr-gambatte_render=”config”
    lr-pocketsnes_render=”config”
    lr-snes9x-next_render=”config”
    lr-handy_render=”config”
    lr-genesis-plus-gx_render=”config”
    lr-gpsp_render=”config”
    lr-pcsx-rearmed_render=”config”
    lr-nestopia_render=”config”

    Entries are only necessary for emulators that you use and scanlines want to have.
    – Save the file.

    – You can edit the retroarch.cfg’s for the respective emulators
    e.g. /opt/retropie/configs/snes/retroarch.cfg
    The file should look like this:
    ( All comments starting with “#” can be omitted, except for the line “#include …”
    and all the entries that the same for alle emulators like „video_fullscreen_x“ must not in this config, ist can also be in the config:
    /opt/retropie/configs/all/retroarch.cfg )

    video_shader_enable = false
    # We don’t need them + RP1/2 is to slow for most shaders
    video_fullscreen_x = 1920
    # Horizontal Monitor resolution
    video_fullscreen_y = 1080
    # Vertical Monitor resolution
    custom_viewport_width = 1194
    # Horizontal emulator resolution
    custom_viewport_height = 896
    # Vertical emulator resolution
    custom_viewport_x = 363
    # The first X pixel of the emulator image
    custom_viewport_y = 90
    # The first Y pixel of the emulator image
    aspect_ratio_index = 22
    # Aspect Ratio set to custom
    input_overlay = /opt/retropie/emulators/retroarch/overlays/16-9/TV_16-9_SNES-MD.cfg
    # Overlayimage
    input_overlay_enable = true
    # Overlay Image enable
    input_overlay_opacity = 1.000000
    # opacity of the overlayimage
    input_overlay_scale = “1.000000”
    # Scalesize of the overlay image
    video_smooth = true
    # Smoth the emulated image, not the overlay, If you set it to false, it will remain sharp but blocky.
    #include “/opt/retropie/configs/all/retroarch.cfg”
    # The line must remain so, otherwise the settings of /opt/retropie/configs/all/retroarch.cfg are not applied

    I’ve uploaded the retroarch.cfg’s for the individual emulators I use, in my Dropbox. Individual entries that you not need, you can delete.
    e.g. rewind_enable = true

    -> configs.zip

    Download and unzip the file and copy each retrorch.cfg in every folder in each system config folder on the RaspberryPi.
    e.g. „/opt/retropie/configs/snes/retroarch.snes“

    -MasterSystem
    -MegaDrive / Genesis + Sega32x + SegaCD + SNES (It’s the same retroarch.cfg)
    -NeoGeo
    -NES + PSX (It’s the same retroarch.cfg)
    PSX is a little problem because some games use different resolutions.
    Also in the game the resolution change sometimes, e.g. cinematics.
    I think the best overall image is the same as my NES Settings except:
    rewind_enable = false
    Because with setting on, the emulator would be really slow and unplayable

    -fba:
    There is another small problem similar PSX. fba does not emulate one system with one native resolution, but many systems as CPS1 2 3, Konami, NeoGeo and so on. And the resolution differs from system to system.
    I have chosen a resolution that looks good in the most games i tried.
    The solution would be if emulationstaion supports configs for each game not only each system.

    For the handhelds I solved it very similar.
    But the emulated image I set smaller.
    And for GB I set the 4 green colors by the emulator itself.
    -GameGear
    -Atarilynx
    -GBC
    -GBA
    -GB: For the nearly realistic green GameBoy colors i use the lr-gambatte core and set up individual colors in a extra file.
    Therefore download and unzip the file from my Dropbox and copy the whole folder “palettes“ with the file „palettes.pal“ to „/home/pi/RetroPie/BIOS“

    -> palettes.zip

    – I also uploaded on my Dropbox the scanline overlay images with the TV border i created for 1080p displays:

    –> 16-9.zip

    Download and unzip the file and copy the whole folder „16-9“ with the PNG images and .cfg files to the RaspberryPi to
    „/opt/retropie/emulators/retroarch/overlays“

    – Start a game and as the result you should look like this:
    [attachment file=”98328″]

    I find the smooth one looks much better, especially when the image is moving.
    Also the aspect ratio is correct and the whole picture is not as dark as if the scan lines are all black, I find much better. Especially on a larger screen or television.
    But of course everyone see that differently.
    (open the images in a new window and resize it to fullscreen at a minimum resolution of 1080p to see it how it really looks, especially because of the scanlines )

    Of course in this guide can be still logical errors (and write errors because I am german) or there are better solutions for some things.
    If questions remains, please ask ;-)

    Here are the scanline overlays without borders for all Systems except MasterSystem:
    –> Scanlines_1080p.png

    And here is the scanline overlay without borders for MasterSystem
    –> Scanlines_1080p_MasterSystem.png

    #98237

    In reply to: Stella-lr options?

    drvenkman
    Participant

    Anyone? Anyone? Bueller? Anyone?

    Seriously, no one knows how to get to the Stella menu in Stella-lr? If I use ordinary Stella, I can get to the options and change things around, use the default keyboard commands, etc. But Stella-lr seems to ignore most of my keyboard commands, I can’t set the buttons or mouse emulation options to use my trackball, etc. There’s gotta be a way to get that setup properly.

    Also, does anyone know how I might be able to get Stella updated? The version in RetropPie is 3.9.something. The current release version is 4.6.1.

    EDIT: Okay, if I disable the XArcade2jstick service, I can access the RetroArch menu from inside the emulator – but if I do THAT, then all my input settings have to be redone for every single one of my other emulators individually. Surely there’s SOME way to access the Stella-lr menus with the Xarcade driver service active … I’d just say “The hell with it,” and use regular Stella (not Stella-LR) but I really like the scanline overlays on my LCD monitor. It might be time to break down and buy a composite cable and just play everything on an old TV …

    dragonjab
    Participant

    Hi,

    I manage to configure my playstation 2 controller with a converter into the raspberry pie. The only problem that I’m having is that when I connect my gamecube controller with its usb converter the configuration file for the playstation gets erase. I try reconfiguring the playstation controller again with retroarch and both the gamecube and playstation retroarch files don’t get erase. I setup the hotkeys for my playstation and gamecube controllers, each on their individual files. For some odd reason only the playstation hotkeys work. When I connect only the gamecube controller it works but the hotkeys don’t work. When I connect the playstation controller the hotkeys and everything work. What is also weird is that I try different snes multiplayer games and only the playstation controller seems to work. If exit out and try only the gamecube controller it works, but if connect the playstation controller it recognizes the controller but it doesn’t work for the second player. The hotkeys for the gamecube controller don’t work regardless if I’m playing single player as the playstation controller do.
    Any help will be appreciated thanks.
    Also when I create the playstation file, the file says it has root permission when the others just say pie.

Viewing 35 results - 456 through 490 (of 888 total)