• 0 Votes
    4 Posts
    2k Views
    S

    @hooperre Hi. I've finally got to test it. I'm using RetroPie 4.4.1 and it is working for me but I am using only one PS4 Wireless Controller and nothing else.

    Just for the sake of completeness, I've put my mupen64plus.cfg and InputAutoCfg.ini below. Thanks for your help.

    # Mupen64Plus Configuration File # This file is automatically read and written by the Mupen64Plus Core library [Audio-OMX] Version = 1 OUTPUT_PORT = "1" # Frequency which is used if rom doesn't want to change it DEFAULT_FREQUENCY = 33600 # Swaps left and right channels SWAP_CHANNELS = False # Audio Output Frequncy mode (when NATIVE_MODE=false): 0 = Rom Frequency, 1 ROM Frequency if supported (HDMI only), 2 = Standard frequency < Rom Frequency, 3 = Standard frequency > Rom Frequency, [N] Force output frequency DEFAULT_MODE = 0 [Audio-SDL] Version = 1 RESAMPLE = "src-sinc-fastest" [Core] # Mupen64Plus Core config parameter set version number. Please don't change this version number. Version = 1.010000 # Draw on-screen display if True, otherwise don't draw OSD OnScreenDisplay = False # Use Pure Interpreter if 0, Cached Interpreter if 1, or Dynamic Recompiler if 2 or more R4300Emulator = 2 # Disable compiled jump commands in dynamic recompiler (should be set to False) NoCompiledJump = False # Disable 4MB expansion RAM pack. May be necessary for some games DisableExtraMem = False # Increment the save state slot after each save operation AutoStateSlotIncrement = False # Activate the R4300 debugger when ROM execution begins, if core was built with Debugger support EnableDebugger = False # Save state slot (0-9) to use when saving/loading the emulator state CurrentStateSlot = 4 # Path to directory where screenshots are saved. If this is blank, the default value of ${UserConfigPath}/screenshot will be used ScreenshotPath = "/home/pi/RetroPie/roms/n64" # Path to directory where emulator save states (snapshots) are saved. If this is blank, the default #value of ${UserConfigPath}/save will be used SaveStatePath = "/home/pi/RetroPie/savestate" # Path to directory where SRAM/EEPROM data (in-game saves) are stored. If this is blank, the default #value of ${UserConfigPath}/save will be used SaveSRAMPath = "/media/usb0/savefile" # Path to a directory to search when looking for shared data files SharedDataPath = "/opt/retropie/configs/n64" # Delay interrupt after DMA SI read/write DelaySI = True # Force number of cycles per emulated instruction CountPerOp = 0 # Disable speculative precompilation in new dynarec DisableSpecRecomp = True # Use alternate VI timing (-1=Game default, 0=Don't use alternate timing, 1=Use alternate timing) ViTiming = -1 # Modify the default count per scanline(-1 or 0=Game default) CountPerScanline = -1 # Randomize PI/SI Interrupt Timing RandomizeInterrupt = True # Duration of SI DMA (-1: use per game settings) SiDmaDuration = -1 [CoreEvents] # Mupen64Plus CoreEvents config parameter set version number. Please don't change this version number. Version = 1 # SDL keysym for stopping the emulator Kbd Mapping Stop = 27 # SDL keysym for switching between fullscreen/windowed modes Kbd Mapping Fullscreen = 0 # SDL keysym for saving the emulator state Kbd Mapping Save State = 286 # SDL keysym for loading the emulator state Kbd Mapping Load State = 288 # SDL keysym for advancing the save state slot Kbd Mapping Increment Slot = 0 # SDL keysym for resetting the emulator Kbd Mapping Reset = 290 # SDL keysym for slowing down the emulator Kbd Mapping Speed Down = 291 # SDL keysym for speeding up the emulator Kbd Mapping Speed Up = 292 # SDL keysym for taking a screenshot Kbd Mapping Screenshot = 293 # SDL keysym for pausing the emulator Kbd Mapping Pause = 112 # SDL keysym for muting/unmuting the sound Kbd Mapping Mute = 109 # SDL keysym for increasing the volume Kbd Mapping Increase Volume = 93 # SDL keysym for decreasing the volume Kbd Mapping Decrease Volume = 91 # SDL keysym for temporarily going really fast Kbd Mapping Fast Forward = 102 # SDL keysym for advancing by one frame when paused Kbd Mapping Frame Advance = 47 # SDL keysym for pressing the game shark button Kbd Mapping Gameshark = 103 # Joystick event string for stopping the emulator Joy Mapping Stop = "J0B8/B11,J1B8/B11,J2B8/B11,J3B8/B11" # Joystick event string for switching between fullscreen/windowed modes Joy Mapping Fullscreen = "" # Joystick event string for saving the emulator state Joy Mapping Save State = "" # Joystick event string for loading the emulator state Joy Mapping Load State = "" # Joystick event string for advancing the save state slot Joy Mapping Increment Slot = "" # Joystick event string for taking a screenshot Joy Mapping Screenshot = "" # Joystick event string for pausing the emulator Joy Mapping Pause = "" # Joystick event string for muting/unmuting the sound Joy Mapping Mute = "" # Joystick event string for increasing the volume Joy Mapping Increase Volume = "" # Joystick event string for decreasing the volume Joy Mapping Decrease Volume = "" # Joystick event string for fast-forward Joy Mapping Fast Forward = "" # Joystick event string for pressing the game shark button Joy Mapping Gameshark = "" [Input-SDL-Control1] # Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number. version = 2 # Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic mode = 0 # Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number device = 0 # SDL joystick name (or Keyboard) name = "Wireless Controller" # Specifies whether this controller is 'plugged in' to the simulated N64 plugged = True # Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak plugin = "2" # If True, then mouse buttons may be used with this controller mouse = False # Scaling factor for mouse movements. For X, Y axes. MouseSensitivity = "2.00,2.00" # The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes. AnalogDeadzone = "4096,4096" # An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value AnalogPeak = "32768,32768" # Digital button configuration mappings DPad R = "hat(0 Right)" DPad L = "hat(0 Left)" DPad D = "hat(0 Down)" DPad U = "hat(0 Up)" Start = "button(9)" Z Trig = "axis(3+)" B Button = "button(0)" A Button = "button(1)" C Button R = "axis(2+)" C Button L = "axis(2-)" C Button D = "axis(5+)" C Button U = "axis(5-)" R Trig = "button(5)" L Trig = "button(4)" Mempak switch = "" Rumblepak switch = "" X Axis = "axis(0-,0+)" Y Axis = "axis(1-,1+)" [Input-SDL-Control2] # Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number. version = 2 # Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic mode = 0 # Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number device = -1 # SDL joystick name (or Keyboard) name = "DragonRise Inc. Generic USB Joystick " # Specifies whether this controller is 'plugged in' to the simulated N64 plugged = True # Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak plugin = 2 # If True, then mouse buttons may be used with this controller mouse = False # Scaling factor for mouse movements. For X, Y axes. MouseSensitivity = "2.00,2.00" # The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes. AnalogDeadzone = "4096,4096" # An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value AnalogPeak = "32768,32768" # Digital button configuration mappings A Button = "button(2)" B Button = "button(5)" C Button U = "button(1)" C Button D = "button(4)" R Trig = "button(3)" L Trig = "button(7)" Z Trig = "button(10)" X Axis = "axis(1-, 1+)" Y Axis = "axis(0+, 0-)" Start = "button(8)" Mempak switch = "" Rumblepak switch = "" [Input-SDL-Control3] # Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number. version = 2 # Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic mode = 0 # Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number device = -1 # SDL joystick name (or Keyboard) name = "DragonRise Inc. Generic USB Joystick " # Specifies whether this controller is 'plugged in' to the simulated N64 plugged = True # Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak plugin = 2 # If True, then mouse buttons may be used with this controller mouse = False # Scaling factor for mouse movements. For X, Y axes. MouseSensitivity = "2.00,2.00" # The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes. AnalogDeadzone = "4096,4096" # An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value AnalogPeak = "32768,32768" # Digital button configuration mappings A Button = "button(2)" B Button = "button(5)" C Button U = "button(1)" C Button D = "button(4)" R Trig = "button(3)" L Trig = "button(7)" Z Trig = "button(10)" X Axis = "axis(1-, 1+)" Y Axis = "axis(0+, 0-)" Start = "button(8)" Mempak switch = "" Rumblepak switch = "" [Input-SDL-Control4] # Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number. version = 2 # Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic mode = 0 # Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number device = -1 # SDL joystick name (or Keyboard) name = "DragonRise Inc. Generic USB Joystick " # Specifies whether this controller is 'plugged in' to the simulated N64 plugged = True # Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak plugin = 2 # If True, then mouse buttons may be used with this controller mouse = False # Scaling factor for mouse movements. For X, Y axes. MouseSensitivity = "2.00,2.00" # The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes. AnalogDeadzone = "4096,4096" # An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value AnalogPeak = "32768,32768" # Digital button configuration mappings A Button = "button(2)" B Button = "button(5)" C Button U = "button(1)" C Button D = "button(4)" R Trig = "button(3)" L Trig = "button(7)" Z Trig = "button(10)" X Axis = "axis(1-, 1+)" Y Axis = "axis(0+, 0-)" Start = "button(8)" Mempak switch = "" Rumblepak switch = "" [Rsp-HLE] # Mupen64Plus RSP HLE Plugin config parameter version number Version = 1 # Path to a RSP plugin which will be used when encountering an unknown ucode.You can disable this by letting an empty string. RspFallback = "" # Send display lists to the graphics plugin DisplayListToGraphicsPlugin = True # Send audio lists to the audio plugin AudioListToAudioPlugin = False [Transferpak] # Filename of the GB ROM to load into transferpak 1 GB-rom-1 = "" # Filename of the GB RAM to load into transferpak 1 GB-ram-1 = "" # Filename of the GB ROM to load into transferpak 2 GB-rom-2 = "" # Filename of the GB RAM to load into transferpak 2 GB-ram-2 = "" # Filename of the GB ROM to load into transferpak 3 GB-rom-3 = "" # Filename of the GB RAM to load into transferpak 3 GB-ram-3 = "" # Filename of the GB ROM to load into transferpak 4 GB-rom-4 = "" # Filename of the GB RAM to load into transferpak 4 GB-ram-4 = "" [UI-Console] # Mupen64Plus UI-Console config parameter set version number. Please don't change this version number. Version = 1 # Directory in which to search for plugins PluginDir = "./" # Filename of video plugin VideoPlugin = "mupen64plus-video-GLideN64.so" # Filename of audio plugin AudioPlugin = "mupen64plus-audio-omx.so" # Filename of input plugin InputPlugin = "mupen64plus-input-sdl.so" # Filename of RSP plugin RspPlugin = "mupen64plus-rsp-hle.so" [Video-General] Fullscreen = False ScreenWidth = 640 ScreenHeight = 480 # If true, activate the SDL_GL_SWAP_CONTROL attribute VerticalSync = False [Video-GLideN64] # Settings version. Don't touch it. configVersion = 20 # Crop resulted image (0=disable, 1=auto crop, 2=user defined crop) CropMode = 0 # Crop width pixels from left and right of resulted image (in native resolution) CropWidth = 0 # Crop height pixels from top and bottom of resulted image (in native resolution) CropHeight = 0 # Enable/Disable MultiSampling (0=off, 2,4,8,16=quality) MultiSampling = 0 # Screen aspect ratio (0=stretch, 1=force 4:3, 2=force 16:9, 3=adjust) AspectRatio = 1 # Swap frame buffers (0=On VI update call, 1=On VI origin change, 2=On buffer update) BufferSwapMode = 0 # Frame buffer size is the factor of N64 native resolution. UseNativeResolutionFactor = 1 # Bilinear filtering mode (0=N64 3point, 1=standard) bilinearMode = True # Max level of Anisotropic Filtering, 0 for off MaxAnisotropy = False # Size of texture cache in megabytes. Good value is VRAM*3/4 CacheSize = 50 # Enable color noise emulation. EnableNoise = True # Enable LOD emulation. EnableLOD = True # Enable hardware per-pixel lighting. EnableHWLighting = False # Use persistent storage for compiled shaders. EnableShadersStorage = True # Make texrect coordinates continuous to avoid black lines between them. (0=Off, 1=Auto, 2=Force) CorrectTexrectCoords = 0 # Render 2D texrects in native resolution to fix misalignment between parts of 2D image. EnableNativeResTexrects = False # Do not use shaders to emulate N64 blending modes. Works faster on slow GPU. Can cause glitches. EnableLegacyBlending = True # Enable frame and|or depth buffer emulation. EnableFBEmulation = True # Copy auxiliary buffers to RDRAM EnableCopyAuxiliaryToRDRAM = False # Enable N64 depth compare instead of OpenGL standard one. Experimental. EnableN64DepthCompare = False # Disable buffers read/write with FBInfo. Use for games, which do not work with FBInfo. DisableFBInfo = True # Read color buffer by 4kb chunks (strict follow to FBRead specification) FBInfoReadColorChunk = False # Read depth buffer by 4kb chunks (strict follow to FBRead specification) FBInfoReadDepthChunk = True # Enable color buffer copy to RDRAM (0=do not copy, 1=copy in sync mode, 2=copy in async mode) EnableCopyColorToRDRAM = 2 # Enable depth buffer copy to RDRAM (0=do not copy, 1=copy from video memory, 2=use software render) EnableCopyDepthToRDRAM = 2 # Enable color buffer copy from RDRAM. EnableCopyColorFromRDRAM = False # Texture filter (0=none, 1=Smooth filtering 1, 2=Smooth filtering 2, 3=Smooth filtering 3, 4=Smooth filtering 4, 5=Sharp filtering 1, 6=Sharp filtering 2) txFilterMode = 0 # Texture Enhancement (0=none, 1=store as is, 2=X2, 3=X2SAI, 4=HQ2X, 5=HQ2XS, 6=LQ2X, 7=LQ2XS, 8=HQ4X, 9=2xBRZ, 10=3xBRZ, 11=4xBRZ, 12=5xBRZ), 13=6xBRZ txEnhancementMode = 0 # Deposterize texture before enhancement. txDeposterize = False # Don't filter background textures. txFilterIgnoreBG = False # Size of filtered textures cache in megabytes. txCacheSize = 100 # Use high-resolution texture packs if available. txHiresEnable = True # Allow to use alpha channel of high-res texture fully. txHiresFullAlphaChannel = False # Use alternative method of paletted textures CRC calculation. txHresAltCRC = False # Enable dump of loaded N64 textures. txDump = False # Zip textures cache. txCacheCompression = True # Force use 16bit texture formats for HD textures. txForce16bpp = False # Save texture cache to hard disk. txSaveCache = True # Path to folder with hi-res texture packs. txPath = "/home/pi/.local/share/mupen64plus/hires_texture" # File name of True Type Font for text messages. fontName = "FreeSans.ttf" # Font size. fontSize = 14 # Font color in RGB format. fontColor = "1F1F1F" # Enable bloom filter EnableBloom = False # Brightness threshold level for bloom. Values [2, 6] bloomThresholdLevel = 4 # Bloom blend mode (0=Strong, 1=Mild, 2=Light) bloomBlendMode = 0 # Blur radius. Values [2, 10] blurAmount = 10 # Blur strength. Values [10, 100] blurStrength = 20 # Force gamma correction. ForceGammaCorrection = False # Gamma correction level. GammaCorrectionLevel = 2 # Show FPS counter. ShowFPS = True # Show VI/S counter. ShowVIS = False # Show percent counter. ShowPercent = False # Counters horisontal position (0=left, 1=right) CountersHPos = 0 # Counters vertical position (0=bottom, 1=top) CountersVPos = 0 # Enable writing of fragment depth. Some mobile GPUs do not support it, thus it made optional. Leave enabled. EnableFragmentDepthWrite = True # Use GLideN64 per-game settings. EnableCustomSettings = True # Path to folder where plugin saves texture cache files. txCachePath = "/home/pi/.cache/mupen64plus/cache" # Path to folder where plugin saves dumped textures. txDumpPath = "/home/pi/.cache/mupen64plus/texture_dump" # Show internal resolution. ShowInternalResolution = False # Show rendering resolution. ShowRenderingResolution = False # Counters position (1=top left, 2=top center, 4=top right, 8=bottom left, 16=bottom center, 32=bottom right) CountersPos = 8 [Video-Rice] LoadHiResTextures = True ; InputAutoCfg.ini for Mupen64Plus SDL Input plugin ; Wireless Controller_START [Wireless Controller] plugged = True plugin = 2 mouse = False AnalogDeadzone = 4096,4096 AnalogPeak = 32768,32768 Mempak switch = button(11) Rumblepak switch = button(12) C Button D = axis(4+) C Button L = axis(3-) L Trig = button(4) Start = button(9) C Button U = axis(4-) DPad D = hat(0 Down) X Axis = axis(0-,0+) R Trig = button(5) DPad R = hat(0 Right) DPad L = hat(0 Left) Z Trig = button(6) Y Axis = axis(1-,1+) DPad U = hat(0 Up) A Button = button(0) B Button = button(3) C Button R = axis(3+) ; Wireless Controller_END
  • Skyscraper help

    2
    0 Votes
    2 Posts
    557 Views
    A

    Did you quit out of Emulationstation with F4 before doing the scraping?

  • Pi3 hangs, when exiting ES UI menu

    13
    0 Votes
    13 Posts
    584 Views
    T

    Should be fixed now

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    5 Views
    No one has replied
  • RetroPie Installation Transfer

    4
    0 Votes
    4 Posts
    829 Views
    mituM

    @aclx-ks said in RetroPie Installation Transfer:

    Is it safe to copy the entire RetroPie folder at /home/RetroPie?

    You didn't mentioned which version are you running currently, but I think it should be safe. One thing I wouldn't copy over would be the roms/retropie subfolder, since that's managed by the RetroPie itself and would be created anyway by the installer.

  • Hyperkin x91 controller

    14
    0 Votes
    14 Posts
    1k Views
    T

    @mitu just popping in to report that I tested the HORI controller. it's lovely. definitely noticed a slightly better response. with a few tweaks even punch out is very doable. the form factor is excellent as well.

  • Lr-Mame2014 Question

    6
    0 Votes
    6 Posts
    1k Views
    RiverstormR

    Even the current version of MAME requires a good number of samples but Donkey Kong was fully emulated (no samples required) with version 0.116 and mame2014 is based off of version 0.159 so that's kind of interesting.

  • Mame2003 Vector_width & Vector_height ?

    18
    0 Votes
    18 Posts
    1k Views
    RiverstormR

    @mitu - I see your posts everywhere and have read several useful tips and information. Thanks.

  • This topic is deleted!

    1
    0 Votes
    1 Posts
    77 Views
    No one has replied
  • lr-dosbox compilation error

    9
    0 Votes
    9 Posts
    1k Views
    SuperFromNDS

    @race Navigate to /opt/retropie/libretrocores, create a new folder named lr-dosbox, put the dosbox-libretro.so file into it, then add this line to /opt/retropie/configs/pc/emulators.cfg:

    lr-dosbox = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-dosbox/dosbox_libretro.so --config /opt/retropie/configs/pc/retroarch.cfg %ROM%"

    [Assuming you've already installed regular DOSbox here.]

  • Screen of dead ?

    3
    0 Votes
    3 Posts
    718 Views
    P

    @mitu Oke thanks for the tip i do this in the evening

  • Reicast not running games.

    12
    0 Votes
    12 Posts
    3k Views
    G

    @kwjamesblond said in Reicast not running games.:

    @gomisensei
    Does Reicast even work on the retropie? What are the original names for the bios and flash files? Is there a best way to copy the files over, I just copied them in Ubuntu?
    I got ecco the dolphin to work but not sonic

    if you got ecco to work, then its almost definitely a problem with the sonic files, the bios is fine.

  • Sellect Button Dont Work in GPIO

    13
    0 Votes
    13 Posts
    1k Views
    L

    @mitu no

  • Another controller overrides Player 1

    2
    0 Votes
    2 Posts
    162 Views
    G

    I do enjoy a good Pilsner but I meant couldn’t. Also, all of the 2 dragonrise buttons are in identical ports.

  • 0 Votes
    3 Posts
    577 Views
    C

    ok i gave up im not using pigrrl 2 controller anymore

  • Controller configuration problems

    5
    0 Votes
    5 Posts
    771 Views
    mituM

    I think your problem is that all controllers (both the arcade and the N64) have the same name and Vendor/Model IDs, making them appear as the same controller to the system.
    When you configure your N64 controller(s), the arcade buttons configuration is overwritten - since they appear the same - and thus your configuration is broken.
    Here's a topic discussing this - https://retropie.org.uk/forum/topic/6264/you-have-to-use-identical-controllers-for-multiplayer-games-please-prove-me-wrong - but it's not the only topic with this problem.

  • Neogeo x Arcade Stick 2 players

    3
    0 Votes
    3 Posts
    525 Views
    M

    @mitu
    Ok Thanks! my second stick should arrive any day. Will test it out then

  • Need help making GB screen smaller

    4
    0 Votes
    4 Posts
    773 Views
    mituM

    @corbidorbi said in Need help making GB screen smaller:

    Of course that's buried in a bazillion other lines in the .CFG.

    That's because you enabled 'Config Save on Exit' and all the configurations have been dumped in this file. You shouldn't do that, core options are saved by default (in a separate file) and for other options you use 'Save Core Override'.

    Replace the retroarch.cfg file contents you have now in the gb folder with

    input_remapping_directory = "/opt/retropie/configs/gb/" #include "/opt/retropie/configs/all/retroarch.cfg"

    After that, start a game and use the RGUI to change the Video Settings, but use the Save Core Override option this time. Re-start the game and see if the changes persist.

    Hint: you don't need to download the file from the RetroPie system, just use Samba Share from your Finder to open the \\retropie\configs\gb folder and edit the file directly.

  • 0 Votes
    15 Posts
    9k Views
  • [SOLVED] Took retropie-mount out too soon, won't complete.

    5
    0 Votes
    5 Posts
    710 Views
    V

    My overnight copying session fixed the problem. I simply moved everything into the retropie-mount directory myself. The problem was it was expecting something in there and was finding nothing. Apparently retropie keeps track of the actual drive UUID and THAT is what it looks for on a mount.

    Now I have a 256gb game capacity to fill up. :)

Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.