Setting up a Ipac2
-
Hi all.
im still a bit lost when it comes to getting the ipac sorted. Would i be better off using some sort of other controller to interface my arcade buttons with ?Thanks
-
Hi mate, I've just ordered my ipac2 so it should be here in a few days. I'll be using it with mame4allpi on my RetroPie.
I also intend to remap some of the Ipac defaults because I'm only going to have six buttons so I'll be using various shift-enabled buttons to essentially have 12 buttons in all.
That's the plan anyway, I'll let you know how I get on and I'll share my knowledge as I go :)
-
hi i have think same problem.
i have 2 player 6 button setup + player + coin
the 1player works fine. but canĀ“t get player2 to work.
i have tryd edit \retropie\configs\from_retropie\configs\all\retroarch.cfg (but did not work)input_player2_a = a
input_player2_b = s
input_player2_y = q
input_player2_x = w
input_player2_start = 2
input_player2_select = 6
input_player2_l = i
input_player2_r = k
input_player2_left = g
input_player2_right = d
input_player2_up = f
input_player2_down = r -
@mrt88 said in Setting up a Ipac2:
Does anyone have any documentation or links I can read to get up and running?
I am using an IPAC 4 and I have everything mapped exactly how I want it for FOUR players, so I think we can figure out the IPAC2 configs. I am away from my Pi right now, but tonight I will assemble some documentation for you. However, I want to pass along a few details that help me get the most out of the Arcade emulators. First, note that my setup includes 154 arcade ROMs that were the most popular games when I was a kid, and my Player 1 and 2 panels are each setup like this:
Coin Start SW1 SW2 SW3 Joy1 SW4 SW5 SW6
This gives you some idea how I built my system--coin, start, Joystick directions, and 6 buttons for each player are all wired to the iPAC.
NOTE: If you want to use any analog controls (trackball, spinners) in addition to the IPAC, I have found it is best to use AdvanceMAME for those games. This involves using PS2 mouse RAW mode and mapping the inputs in the advmame.rc file to get the analog controls working correctly.
-
I use lr-mame2003 and lr-fba-next for the rest of the arcade games (the vast majority of ROMs use 2003).
-
I have my retroarch.cfg files setup as follows:
all: maps the controls for 4-players with the main goal of mapping console games (NES, SNES, etc.) by default, which will be overridden by the arcade emulator configs. The all folder sets up the initial mapping for joystick directions and SW1-6 for each player -- UP, DOWN, LEFT, RIGHT, A, B, X, Y, L, R, SELECT, START
mame-libretro: overrides A,B,X,Y,L,R such that they map to some arcade games nicely
fba: overrides to map switches 1-4 on the iPAC to A,B,C,D for neogeo
Individual ROMs: overrides the emulator configs to map for vertical game rotation (MAME) or for fighter games (FBA).-
I have MANY custom configs for individual ROMs. This is important for a lot of reasons. First, it allows me to control rotation (I play most vertical games turned sideways using controls mounted at the ends of my arcade system). I can also control the aspect ratio for certain games with a per-rom config file. These go in the roms/mame-libretro folder right next to the ROMs themselves. Not every game has a custom config since many will work fine using the one in the mame-libretro folder. For my cabinet, almost all of the vertical games get the rotation treatment and can share copies of the same config (named for the ROMs, of course: like dkong.zip.cfg which is identical to digdug.zip.cfg).
-
Even with ALL folder, Emulator folder and individual ROMs containing their own configs, it can be helpful to further remap controls using the MAME GUI while inside the game itself (TAB). For example, a game like Robotron 2048 should be mapped to use BOTH joysticks (P1 and P2). One stick controls movement and the other controls shots. This is how it works on the actual arcade. Another example would be Defender--I wanted to map the fire and thrust to match as closely as possible to the layout of the actual arcade machine panel. For games like this, I bring up the MAME menu and remap some controls. This is mostly a re-arranging of buttons because of how my panel is built. lr-mame2003 will save these MAME remaps.
-
Finally, I the cascading configs also applies to FBA (retroarch.cfg in all folder, then another in fba folder and finally, some per-ROM config files). I have my fba config setup to map A,B,C,D for NeoGeo games, but then I have to fix the mapping to get the six button layout to work per-ROM for the Street Fighter series and all of the VS. games. Right now, that's basically all I am using in FBA.
Maybe my situation is way more complicated than most, but everything works. Yes, it did take many days to set this up just the way I like it, but I don't think it's anybody's fault. It's just that so many games that I play are unique in their controls layout (you should see the AdvMAME mapping for Vindicators!) The bottom line is that you CAN get good results from a keyboard interface like IPAC.
If all of this makes sense so far, I will post the relevant contents of my retroarch.cfg files at each folder level and a couple of example overrides for individual games. Just keep in mind, this applies to an iPAC interface with the standard layout above.
-
-
Ok, first of all, here is how my IPAC4 is setup, which is basically defaults aside from where I assigned ESCAPE and P for pause:
IPAC Key **PLAYER 1** up UP down DOWN left LEFT right RIGHT SW1 LCTRL SW2 LALT SW3 SPACE SW4 LSHIFT SW5 Z SW6 X start 1 coin 5 **PLAYER 2** up R down F left D right G SW1 A SW2 S SW3 Q SW4 W start 2 coin 6 **PLAYER 3** up I down K left J right L SW1 RCTRL SW2 RSHIFT SW3 ENTER SW4 O SW5 ESCAPE SW6 P start 3 coin 7 **Player 4** up Y down N left V right U SW1 B SW2 E SW3 H SW4 M start 4 coin 8
Here's the retroarch.cfg mapping inside the configs/all folder:
input_player1_a = alt input_player1_b = ctrl 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_player2_a = s input_player2_b = a input_player2_y = w input_player2_x = q 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_player3_a = rshift input_player3_b = rctrl input_player3_y = o input_player3_x = enter input_player3_start = num3 input_player3_select = num7 input_player3_left = j input_player3_right = l input_player3_up = i input_player3_down = k input_player4_a = e input_player4_b = b input_player4_y = m input_player4_x = h input_player4_start = num4 input_player4_select = num8 input_player4_left = v input_player4_right = u input_player4_up = y input_player4_down = n input_pause_toggle = p input_exit_emulator = escape
I had to go through a bunch of the defaults and set them ="nul" in order to prevent them from overlapping the standard IPAC/MAME mapping above. Some of these are worth mapping to keypad numbers so they are out of the way but still useable with an external keyboard attached. Stuff like changing shaders is handy as you build your setup.
Then, as far as individual emulators, I guess I am not really changing any keys in the retroarch.cfg inside the mame-libretro folder even though I primarily use lr-mame2003. I do have configs for ROMs in the ROMs folder for mame-libretro, but this is mostly to control rotation and aspect ratio of individual ROMs. The games that require individual remapping I do inside the MAME GUI.
Then, inside configs/fba I have this:
input_player1_y = space input_player1_x = shift input_player2_y = q input_player2_x = w
This does a switch-a-roo for NEO GEO games so that ABCD correspond to my switch 1234. So, I guess FBA is setup for Metal Slug on my system by default. Street Fighter and the VS. games all have to be remapped further to make the punch and kick buttons match the originals. So, for these games, I have configs per ROM that all look like this:
input_player1_a = z input_player1_b = shift input_player1_y = ctrl input_player1_x = alt input_player1_l = space input_player2_a = i input_player2_b = w input_player2_y = a input_player2_x = s input_player2_l = q
These configs re-arrange the mapping again (away from the NeoGeo setup) so that the fighter games work. Since that's the extent of my FBA games (Metal Slug and Street Fighter titles) I am done.
As I mentioned earlier, some games require trackball and spinners, so for those, I use AdvanceMAME 1.4. None of the RetroArch mappings affect AdvanceMame. It all happens in the .rc file. For keyboard mapping, you can simply set these up in the MAME GUI for AdvanceMAME (tab). For the analog controls, you need to set all of the mouse devices to RAW (set keyboard to RAW while you are at it), set the mouse to PS2, and then correctly map the analog inputs. There are other threads where I describe this.
Good luck. I hope my partial configs here help a few of you.
-
Hi
Thank you for that. After reading this post i think i am even more confused. If i take this in baby steps whats my first step.
I can ssh to the Pi so i can see the Config file. I have got player one semi configured. How am i able to get the pi to recognise player 2 ?
Once i have that sorted then ill try configuring a Emulator.
-
Are you configuring using Emulation Station? That's a good first step.
It's important to consider what emulators you are going to use. Here's why: Any emulator that runs as a libretro core has an "lr-" in the name (i.e. lr-mame2003) and can use the universal mapping through RetroArch--the environment in which the libretro cores run. The problem is that you might not be able to get away with a one-size-fits-all mapping. Sure, all of the libretro emulators can share a common config (retroarch.cfg in the ALL folder), but this may not be sufficient to play every game the way you want. It also may not be enough to play games with trackball, spinner, etc.. This is why I had to make more config changes per emulator. It's depends on what you play and what emulator you use.
If you have Player 1 going using an "lr" emulator, you can edit that config in the ALL folder. Inside retroarch.cfg find the input_player1 key mapping lines and copy them and paste a new set for player 2 (e.g. "input_player1_a = " becomes "input_player2_a = " and so on). You can manually edit your config here to setup all of the keyboard keys for the corresponding buttons you want for Player 2.
With a properly configured cfg file in the ALL folder, you are set to go for libretro core emulators and can probably play most games with it. You can, for example, play something like Joust via lr-mame2003 or lr-mame4all using your config. Also, many home consoles will work without any more changes to key mapping (Atari, NES, SNES).
Eventually, you will come to a game that doesn't work the way you want it to with the default mapping. For me this happens a little less than half of the time with arcade games I like. a good example is Robotron 2048. In the arcade, Robotron has two joystick, but of course, we have the joysticks mapped to P1 and P2. That won't work. So, you need do some remapping. You don't want to do it for the whole emulator, just one title. When you get that far, you will be embarking on step 2. Re-read my posts above, or we can keep going here.
-
Wow, you go good sir! :) That's some serious config! A few questions if possible.
all folder sets up the initial mapping for joystick directions and SW1-6 for each player -- UP, >DOWN, LEFT, RIGHT, A, B, X, Y, L, R, SELECT, START
Is this the /opt/retropie/configs/all/retroarch.cfg?
mame-libretro: overrides A,B,X,Y,L,R such that they map to some arcade games nicely
What file is mame-libertro configs are you modifying?
I am using an I-PAC2 and that just flat scares me but I would like to understand it better.
I setup my button layout with MAME default keys in mind. When I started Emulationstation I went to Menu/Configure Input. Held a key down and it recognizes the I-PAC as a keyboard. The joystick was up/down/left/right. Buttons 1 through 6 are a Hori layout as rctrl, lalt, space (bottom row), lshift, z, x (top row). For the rest of the buttons I held a button for 2 or 3 seconds so they came up as not assigned.
I wired player 1 & 2 start and coins to their own button (nothing to do with Emulationstation inputs or configuration). Also management keys like enter, esc, tab to their own buttons also.
For the hotkeys I modified this file /opt/retropie/configs/all/retroarch.cfg and set my hotkey to 1 and my exit key to 2 so I can press player 1 and 2 to exit libertro emulators as well as MAME. I guess I designed it all around MAME and it works fine. I definitely took advantage of the pre-programmed setup keys in the I-PAC and didn't modify any of the default inputs.
After that I just started playing. I like your setup but I don't quite understand what your doing. Well what files your modifying but the override priority makes sense if I can figure out the files you modified.
-
Another really helpful tip is you can completely configure your setup without your I-PAC using a keyboard and then wire in your I-PAC which consists of plugging in the USB cable. It doesn't make the distinction between a keyboard and I-PAC.
The newer model I-PAC has that great spinner interface where all you do is plug it in and off you go. Thanks to Caver for showing me how to use a spinner in AdvMAME it's finally getting some use.
-
I set mine up yesterday and it worked out of the box. I had to make some changes though as I wanted to add a load of extra shift-buttons. I only have six buttons on my controller so I mapped the shift functions to the buttons, plus you can also map shift+joystick directions to give you another four buttons.
I set my RetroPie up using the keyboard then just told the IPAC what switch was what button.
No config files were edited on the Pi at all, it looks a bit of a nightmare!
-
@Riverstorm said in Setting up a Ipac2:
Is this the /opt/retropie/configs/all/retroarch.cfg?
Yes it is! That's the main retroarch config that is the top-most config in a cascade of config files.
What file is mame-libertro configs are you modifying?
That config is here: /opt/retropie/configs/mame-libretro/retroarch.cfg
It's interesting because it is named the same as the one in configs/all. The way to think about it is that upon launching a game, the main config in the configs/all folder gets loaded. This sets up a base configuration. Hopefully, most of your mapping has already been done here in conjunction with choices you made in Emulation Station. Then, the selected emulator config gets loaded and any lines in there that are different (or additional) OVERRIDE whatever is in configs/all. Finally, any ROM-specific config gets loaded. The resulting configuration used for a game is an aggregate of all of them, each overriding the next.- All
- Emulator-specific
- ROM-specific
This allows for some very convenient changes from your base setup in configs/all. You can make the modifications apply to everything the emulator launches (convenient for applying shaders, for example), or you can make adjustments in a specific config for a ROM. The ROM configs live right next to the ROMs themselves and are named accordingly (1941.zip.cfg).
My setup is actually not much different from yours. I am using IPAC defaults for the most part which is basically MAME defaults. If all I wanted to run was arcade games, I would probably be set with a properly mapped configs/all and I would be done, but I also want to play console games. So many console games have similar buttons (or similar enough, like A,B,X,Y) that I have a big choice: Do I configure my ALL config to map my buttons to the typical console controllers, or do I map them to MAME buttons? This is probably why my config seems confusing--I chose to map to home console systems.
That decision means that to make my arcade games work, I needed to override a bunch of buttons BACK to how I have my panel setup--at least as far as libretro MAME is concerned (2003). But, because my ALL has my buttons mapped for home games, I don't have to really do anything special to run Atari, NES, SNES--any libretro emulator for home consoles is pretty much ready to go with the ALL config. It was just a numbers decision. Besides, I knew I would need to do a bunch of per-ROM configs for arcade games anyway, if for no other reason than to remap vertical games for rotation and cocktail mode (head-to-head screen flipping).
SO, with that said, I will add one more detail--the COIN and START buttons--I have these mapped in my ALL (via Emulation Station mapping like you) to the Select and Start buttons respectively. Again, this is because I standardized on home consoles in my ALL config. Conveniently, these line up with libretro MAME cores anyway, so nothing special is needed in my Emulator configs for coin and start.
Looking back now, I think I probably did make things more complicated, but I think I would be doing the same thing in reverse now as I get NES setup, and SNES--so, take your pick.
-
Something else, as I am thinking about it is this: When setting up arcade controls to map to home consoles, there's an inclination to map arcade button 1 (leftmost) to A, and button 2 to B and so on. However, if you look at an NES controller, button A is on the right, B on the left. Anyone who is familiar with popular NES games will play on the arcade console setup the way and the buttons will be backwards. I mapped mine with B on the left, A on the right and so on. This makes my arcade game mapping a little harder because 1 and 2 are reversed. Players shouldn't have to re-learn the buttons.
Another thing you mentioned was hot-keys. I disabled my hotkeys completely in the configs/all/retroarch.cfg. Because I have a dedicated arcade button for ESC, I mapped it to exit, so no need for a hotkey. Actually, the hotkey exit was driving me crazy in arcade games. There were occasional situations where I was dropping a coin (or a bunch of them) while frantically hitting START to re-enter a game. OOPS--that triggered an EXIT and my game is gone! I am thinking of SmashTV, or MetalSlug, or Gauntlet--games where two players might press the combo at the same time. So, no more hotkeys. For things like the RetroArch GUI, I just mapped that to NUM9 which isn't a key I have setup in my IPAC-4. I need an external USB keyboard connected if I want to mess with settings. Same for TAB, although the IPAC itself has hotkey tricks if I need them.
-
@caver01 said in Setting up a Ipac2:
Something else, as I am thinking about it is this: When setting up arcade controls to map to home consoles, there's an inclination to map arcade button 1 (leftmost) to A, and button 2 to B and so on. However, if you look at an NES controller, button A is on the right, B on the left. Anyone who is familiar with popular NES games will play on the arcade console setup the way and the buttons will be backwards. I mapped mine with B on the left, A on the right and so on. This makes my arcade game mapping a little harder because 1 and 2 are reversed. Players shouldn't have to re-learn the buttons.
That definitely helps in understanding. When it comes to the A&B button swap do you config the consoles first (like they should be) and then modify the autoconf.cfg (I think that's the file name) for A&B button swap? I think it was you that showed me that trick. That was a big help. It allowed the consoles to have the correct orientation for A & B but not X & Y.
Two things that I struggle with are my layout is something like below. In MAME I use the L and R buttons to page up and page down in the detail view of games. I also use the A-B button swap but below it illustrates a console setup even though they are swapped for MAME.
Y L R
B A XI wouldn't mind them being something like this (that way the A,B, X and Y are more inline with a console). How are you buttons layed out? And I could also use L & R for page up and down but I think that would throw off 6 button games.
Y X L
B A RThe other thing is if you hookup a joystick (I do that off the USB port that I extend to the side of the case with this type of connector):
USB A-B Reversible Gender Changer
The issue is everything wants to default to the I-PAC instead of the joystick.
-
@Riverstorm Good questions all around.
So, my IPAC is wired like this:
123
456This six button layout is primarily for fighter games (arcade) But I have them mapped in the configs/all to:
BAX
YLRThis is basically like your setup with the rows stacked the other way. So, yeah, my default config is going for console mapping first, and I can fix the arcade games with overriding configs. This setup has the advantage of putting A to the right of B, and it has L and R side-by side which is convenient. X and Y are a compromise, I guess.
Now, when it comes to "correcting" this config back to a MAME 123,456 layout, I have a couple options. I could simply remap them in configs/mame-libretro. That would be the best first attempt at getting the buttons right for some arcade games. The thing about arcade systems is that many have unique panels. Sure, a lot of classics have just the one button and a joystick which is easy, but look at Defender, for example. You probably need to put the REVERSE at button 4 so you can easily tap it with your joystick hand, but decisions have to be made about thrust and fire, smart bomb, hyperspace.
As I added ROMs to Arcade, I play test everything. Some games will be fine with defaults, but for others I will often lookup the original panel layouts and just go into the MAME GUI and remap controls the way I want.
Since mine is a 4-player cocktail style design (Players 1 and 2 are on the horizontal edge, Players 3 and 4 sit across from each other on the shorter vertical sides), I have a lot of remapping anyway. I also have per-ROM configs for every single vertical game to control rotation and to map Player 1 and 2 to the 3 and 4 positions on my panel. I set DIP switch to Cocktail cabinet when I can for these so the game flips upside down for player 2. So, games like Donkey Kong, PacMan, Dig Dug, and so on, all play from the vertical end positions and every single button is remapped to those positions (joysticks and coin/start too). I do most of these by duplicating the per-ROM configs, but make final tweaks in the MAME GUI.
There's just so much variability in Arcade games that customization is hard to avoid. I decided early-on that since I would be making so many adjustments to arcade controls, I might as well standardize against the home consoles. At least they will enjoy some consistency with ABXY buttons and I don't really have to worry about players 3 and 4 or vertical orientation.
-
@caver01 said in Setting up a Ipac2:
@Riverstorm Good questions all around.
There's just so much variability in Arcade games that customization is hard to avoid. I decided early-on that since I would be making so many adjustments to arcade controls, I might as well standardize against the home consoles. At least they will enjoy some consistency with ABXY buttons and I don't really have to worry about players 3 and 4 or vertical orientation.
Ok I think the lightbulb turned on finally. I am going to incorporate this more granular setup on my next go around (usually when a new version is released). There's so much going on there that I didn't understand before. You'll have to tag this thread because I'll probably come back with more questions at some point! ;)
I agree on the arcade games. Several require "hand tuning" to get them working properly. Defender is a great example. Another good one is Asteroids, the controls are just hard to duplicate in a "standard" arcade cabinet.
I haven't even thought of doing more complex setups yet. Like 4 player, rotating the views, etc. hence back to the joystick. For games like Karate Champ, Crazy Climber, Robotron, Cloak & Dagger that require two joysticks the XBOX 360 controller works great. Another game that really benefits from ROM tweaking is Toobin'.
I also spend time looking up control panels when a game seems wonky and you look it up and go that's why...a 2nd joystick, spinner, etc.
Thanks for explaining everything Caver and oh yeah a cocktail cabinet would be oh so awesome with an old school group that appreciates the arcades of past and the sounds they implored to be played! :)
-
I didn't realize Cloak & Dagger has a two-stick panel! I need to fix mine now.
I admit that I use the joystick in Asteroids to rotate, but this game is vector so I use AdvanceMAME at 1280x1024 for nice crisp vector lines so the retroarch configs don't matter. AdvanceMAME has its own config file--one file that covers the settings for EVERY ROM title. AdvanceMAME also comes into play for mouse controls (trackball and spinners).
The 4-player cocktail design is really versatile. Mine is somewhat portable as I built it as a custom road case, but it is heavy with a 19" LCD, trackball, spinners etc. Only the horizontal players have 6 buttons. The end positions at the vertical sides have 4 buttons, but probably don't even need that many. Here are a few pictures of my build:
Regarding interesting controls, Toobin is definitely a hard one to map. Vindicators is another. Sarge--any system that has two sticks for steering (tank sticks) can be mapped to a single joystick using boolean OR and AND mapping techniques, but I can't get this to work in MAME2003, so I have these games setup in AdvanceMAME.
-
@caver01 said in Setting up a Ipac2:
I didn't realize Cloak & Dagger has a two-stick panel! I need to fix mine now.
Yeah one for movement and one to fire. One push button to ignite bombs. Another game I had to remap to start was Space Duel. I can't remember but something is weird with selecting the 1 or 2 player options before starting the game. I could only get the selection option to go around clockwise for selection before start. But anyway something was odd with the default keys for that game but one of my favorites.
You've thought of pretty much everything when it comes to the configs it sounds. You've covered pretty much every scenario a person would come up against.
Dang, that's really a sharp case. I like that it's semi-portable it looks. I've built about everything except a larger scale project. I think the wife might go for something like that, maybe. :) It looks like you really put a lot of care and planning into the project. Clean wiring, lighted buttons too. Lighted buttons I think look really sharp in like an attract mode or just playing. On the internal pic are the white things in top left and right speakers? That's a show piece for sure! Great job!
-
@Riverstorm Thanks for the kind words!
Space Duel definitely has a strange start. Selecting two players appears to be dependent on getting the opening choice correct, then the controls have to be mapped correctly. It's messy, and although it seems like it might be fun to play with a friend, I imagine a few false starts, ESC, restart to get the game setup correctly--even with workable mapping!My cabinet has been a thought experiment for years. I had a prototype system with similar controls, but the roadcase design is where I finally landed and I really like it. I just wish it was lighter. I will probably rebuild it someday, as I really want to be able to carry it around. It literally hurts the arms to lift it. I am actually toying with the idea of replacing corners with inset wheels and adding an collapsable handle like luggage that slides into the lid. That might make it luggable at least.
Those white things are speakers. I picked up some inexpensive USB powered speakers at Adafruit thinking I would just mount he cone drivers. However, I lost so much bass that I put them into PVC pipe end caps. I basically rebuilt enclosures for the drivers. I should have shopped around for a better set of speakers. These work fine though. They output sound through holes drilled into the case wall that are hidden behind the latch strike plates.
-
The backlit buttons are a nice touch that I recommend. I am using ICE, or Nova, or something like that from Groovy Game Gear. I don't know if they make them anymore, but there are similar buttons out there. These don't run any kind of LED attract mode. Just straight power from a USB port. The buttons have 5mm holes in the bottom to accept a tight fitting LED, and I have the leads of the LEDs wrapping around the side of the button where I soldered the current-limiting resistor for 5volts and a two-pin header. This his hot glued for stress relief.
-
@caver01 said in Setting up a Ipac2:
The backlit buttons are a nice touch that I recommend.
Those white things are speakers. I picked up some inexpensive USB powered speakers at Adafruit thinking I would just mount he cone drivers.
Yeah Space Duel is great with a friend definitely give it a shot. Wow, that's really impressive! I like the idea of making a "rollercade". An arcade on wheels! :) I agree with the speakers I went through a few iterations but the sound just isn't the same so I settled with what I had instead of sinking more money into it, it's quite acceptable. It just seems by default arcade cabinets had a lot of white/negative space that gave the games a fuller sound or something.
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.