Mednafen

PC Engine/TurboGrafx 16 (CD)/SuperGrafx Documentation

Last updated December 31, 2010
Valid as of 0.9.16-WIP

Table of Contents:


Introduction


Custom Palettes

Custom palettes should contain 512 or 1024 8-bit-per-color-component RGB triplets. If only 512 triplets are present, the remaining 512 greyscale colors will be calculated automatically.


Default Key Assignments

Hotkeys
Key(s):Action:Setting Name:
ALT + SHIFT + 1Activate in-game input configuration process for gamepad 1.input_config1
ALT + SHIFT + 2Activate in-game input configuration process for gamepad 2.input_config2
ALT + SHIFT + 3Activate in-game input configuration process for gamepad 3.input_config3
ALT + SHIFT + 4Activate in-game input configuration process for gamepad 4.input_config4
ALT + SHIFT + 5Activate in-game input configuration process for gamepad 5.input_config5

Virtual Gamepad 1
Key:Button:
Keypad 2II
Keypad 3I
Enter/ReturnRun
TabSelect
WUp
SDown
ALeft
DRight


Advanced Usage

Accidental Soft Resets

To prevent soft resets due to accidentally hitting RUN and SEL at the same time, set pce.disable_softreset to 1. This will prevent the emulated PCE from seeing both of those buttons pressed at the same time. However, it is not guaranteed to work on all games, particularly ones with sloppily-coded gamepad polling routines.


Sprite Flickering

Sprite flickering in shmups got you down? Tired of scenery having a critical existence failure in games that have complex multi-layer effects? Then the pce.nospritelimit setting is for you!
Changing this setting to a value of 1 will eliminate 99% of your flickering and existence failure woes. Side effects may include the superpower of seeing submarines through water(as in the first boss scene of "Bloody Wolf"), along with seeing other hidden elements and graphical glitches("Ninja Ryukenden" has at least one broken cutscene with this setting enabled).

Bloody Wolf (glitching example)Ginga Fukei Densetsu Sapphire (improvement example)
pce.nospritelimit 0pce.nospritelimit 1pce.nospritelimit 0pce.nospritelimit 1


Obnoxious Sound Effects in CD Games

Many CD games have awesome music, but it is drowned out by excessively loud obnoxious sound effects. This can be partially remedied by altering the pce.cdpsgvolume and pce.adpcmvolume settings, try say a value of 50, but doing so may cause issues with cutscenes and PSG music-only sections.



Settings Reference

Caution: Any settings that change emulation behavior as seen from the emulated game are shown with the setting name bolded in the table. One should be conscious of these settings if one has changed them from the default values when using network play or movies, as they can cause desychronizations if not set the same among hosts(or between the recording emulator and the playing emulator).

Setting:Value Type:Possible Values:Default Value:Description:
pce.adpcmlpboolean0
1
0Enable lowpass filter with rolloff dependent on playback-frequency.

This makes ADPCM voices sound less "harsh", however, the downside is that it will cause many ADPCM sound effects to sound a bit muffled.

 
pce.adpcmvolumeinteger0 through 200100ADPCM volume.

 
pce.arcadecardboolean0
1
1Enable Arcade Card emulation.

Leaving this option enabled is recommended, unless you want to see special warning screens on ACD games, or you prefer the non-enhanced modes of ACD-enhanced SCD games. Additionally, you may want to disable it you you wish to use state rewinding with a SCD ACD-enhanced game on a slow CPU, as the extra 2MiB of RAM the Arcade Card offers is difficult to compress in real-time.

 
pce.cdbiosstring syscard3.pcePath to the CD BIOS

 
pce.cddavolumeinteger0 through 200100CD-DA volume.

 
pce.cdpsgvolumeinteger0 through 200100PSG volume when playing a CD game.

 
pce.disable_bram_cdboolean0
1
0Disable BRAM(saved game memory) for CD games.

It is intended for viewing CD games' error screens that may be different from simple BRAM full and uninitialized BRAM error screens, though it can cause the game to crash outright.

 
pce.disable_bram_hucardboolean0
1
0Disable BRAM(saved game memory) for HuCard games.

It is intended for changing the behavior(passwords vs save games) of some HuCard games.

 
pce.disable_softresetboolean0
1
0If set, when RUN+SEL are pressed simultaneously, disable both buttons temporarily.

 
pce.forcesgxboolean0
1
0Force SuperGrafx emulation.

Enabling this option is not necessary to run unrecognized PCE ROM images in SuperGrafx mode, and enabling it is discouraged; ROM images with a file extension of ".sgx" will automatically enable SuperGrafx emulation.

 
pce.h_overscanboolean0
1
0Show horizontal overscan area.

 
pce.input.multitapboolean0
1
1Enable multitap(TurboTap) emulation.

 
pce.input.port1enumnone
gamepad
mouse
tsushinkb
gamepadInput device for Port 1

  • none - none

  • gamepad - Gamepad

  • mouse - Mouse

  • tsushinkb - Tsushin Keyboard
 
pce.input.port2enumnone
gamepad
mouse
gamepadInput device for Port 2

  • none - none

  • gamepad - Gamepad

  • mouse - Mouse
 
pce.input.port3enumnone
gamepad
mouse
gamepadInput device for Port 3

  • none - none

  • gamepad - Gamepad

  • mouse - Mouse
 
pce.input.port4enumnone
gamepad
mouse
gamepadInput device for Port 4

  • none - none

  • gamepad - Gamepad

  • mouse - Mouse
 
pce.input.port5enumnone
gamepad
mouse
gamepadInput device for Port 5

  • none - none

  • gamepad - Gamepad

  • mouse - Mouse
 
pce.mouse_sensitivityreal through 0.50Emulated mouse sensitivity.

 
pce.nospritelimitboolean0
1
0Remove 16-sprites-per-scanline hardware limit.

WARNING: Enabling this option may cause undesirable graphics glitching on some games(such as "Bloody Wolf").

 
pce.psgrevisionenumhuc6280
huc6280a
enhanced
match
huc6280aSelect PSG revision.

WARNING: HES playback will always use the "huc6280a" revision if this setting is set to "match", since HES playback is always done with SuperGrafx emulation enabled.

  • huc6280 - HuC6280
    HuC6280 as found in the original PC Engine.

  • huc6280a - HuC6280A
    HuC6280A as found in the SuperGrafx and CoreGrafx I. Provides proper channel amplitude centering, but may cause clicking in a few games designed with the original HuC6280's sound characteristics in mind.

  • enhanced - Enhanced
    Emulator-only pseudo-revision, designed to reduce clicking and audio artifacts in games designed for either real revision.

  • match - Match emulation mode.
    Selects "huc6280" for non-SuperGrafx mode, and "huc6280a" for SuperGrafx(full) mode.
 
pce.slendinteger0 through 239235Last rendered scanline.

 
pce.slstartinteger0 through 2394First rendered scanline.

 
pce.vramsizeinteger32768 through 6553632768Size of emulated VRAM per VDC in 16-bit words. DO NOT CHANGE THIS UNLESS YOU KNOW WTF YOU ARE DOING.

 

Setting:Value Type:Possible Values:Default Value:Description:
pce.debugger.disfontsizeenumsmallDisassembly font size.

     
    pce.debugger.memcharencstring shift_jisCharacter encoding for the debugger's memory editor.

     
    pce.enableboolean0
    1
    1Enable (automatic) usage of this module.

     
    pce.forcemonoboolean0
    1
    0Force monophonic sound output.

     
    pce.pixshaderenumnone
    ipxnoty
    ipynotx
    ipsharper
    ipxnotysharper
    ipynotxsharper
    scale2x
    noneEnable specified OpenGL pixel shader.

    Obviously, this will only work with the OpenGL "video.driver" setting, and only on cards and OpenGL implementations that support pixel shaders, otherwise you will get a black screen, or Mednafen may display an error message when starting up. Bilinear interpolation is disabled with pixel shaders, and any interpolation, if present, will be noted in the description of each pixel shader.

    • none - None/Disabled

    • ipxnoty - Linear interpolation on X axis only.

    • ipynotx - Linear interpolation on Y axis only.

    • ipsharper - Sharper bilinear interpolation.

    • ipxnotysharper - Sharper version of "ipxnoty".

    • ipynotxsharper - Sharper version of "ipynotx".

    • scale2x - Scale2x
     
    pce.scanlinesinteger0 through 1000Enable scanlines with specified opacity.

    Opacity is specified in %; IE a value of "100" will give entirely black scanlines.

     
    pce.specialenumnone
    hq2x
    hq3x
    hq4x
    scale2x
    scale3x
    scale4x
    2xsai
    super2xsai
    supereagle
    nn2x
    nn3x
    nn4x
    nny2x
    nny3x
    nny4x
    noneEnable specified special video scaler.

    The destination rectangle is NOT altered by this setting, so if you have xscale and yscale set to "2", and try to use a 3x scaling filter like hq3x, the image is not going to look that great. The nearest-neighbor scalers are intended for use with bilinear interpolation enabled, at high resolutions(such as 1280x1024; nn2x(or nny2x) + bilinear interpolation + fullscreen stretching at this resolution looks quite nice).

    • none - None/Disabled

    • hq2x - hq2x

    • hq3x - hq3x

    • hq4x - hq4x

    • scale2x - scale2x

    • scale3x - scale3x

    • scale4x - scale4x

    • 2xsai - 2xSaI

    • super2xsai - Super 2xSaI

    • supereagle - Super Eagle

    • nn2x - Nearest-neighbor 2x

    • nn3x - Nearest-neighbor 3x

    • nn4x - Nearest-neighbor 4x

    • nny2x - Nearest-neighbor 2x, y axis only

    • nny3x - Nearest-neighbor 3x, y axis only

    • nny4x - Nearest-neighbor 4x, y axis only
     
    pce.stretchenum0
    full
    aspect
    0Stretch to fill screen.

    • 0 - Disabled

    • full - Full
      Full-screen stretch, disregarding aspect ratio.

    • aspect - Aspect Preserve
      Full-screen stretch as far as the aspect ratio(in this sense, the equivalent xscalefs == yscalefs) can be maintained.
     
    pce.tblurboolean0
    1
    0Enable video temporal blur(50/50 previous/current frame by default).

     
    pce.tblur.accumboolean0
    1
    0Accumulate color data rather than discarding it.

     
    pce.tblur.accum.amountreal0 through 10050Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.

     
    pce.videoipboolean0
    1
    1Enable bilinear interpolation.

     
    pce.xresinteger64 through 655361024Full-screen horizontal resolution.

     
    pce.xscalereal0.01 through 2563.000000Scaling factor for the X axis.

     
    pce.xscalefsreal0.01 through 2563.200000Scaling factor for the X axis in fullscreen mode.

     
    pce.yresinteger64 through 65536768Full-screen vertical resolution.

     
    pce.yscalereal0.01 through 2563.000000Scaling factor for the Y axis.

     
    pce.yscalefsreal0.01 through 2563.200000Scaling factor for the Y axis in fullscreen mode.