Temper
From wiki.gp2x.org
Temper | |
Download | (archive) |
Developer | Exophase |
Version | v0.70 |
Webpage | http://exophase.devzero.co.uk/ |
Status | Released and playable |
Temper (Turbografx EMlator PEr Request) is a PC Engine/Turbo Grafx 16 emulator. The PCEngine system was released by NEC in Japan in 1987. The TurboGrafx-16 its North American counterpart, released by Hudson-Soft in 1989. This is the only PCEngine/TurboGrafx-16 emulator currently in active development. It is able to run many games at full speed at as low CPU speeds as 150mhz, making it the fastest PCEngine emulator released. It does not currently support CD-Rom games.
Contents |
Installation
You must place temper.gpe and mmuhack.o in the same file. Roms can be placed anywhere on the SD card.
Controls
To Select a Rom
- Up/Down
- To move
- B
- To execute the rom
During a game
- Vol Up+Vol Down
- Go to In-Game menu
- Vol +/-
- To adjust the volume
In Config Screen
- Up/Down
- To move
- L/R
- Change setting
- B
- Select option
- X
- Return to game
Readme
Temper: Turbografx EMulator PEr Request by Exophase (exophase@gmail.com) -- Changelog -- Legend: @ - optimization, + - new feature, # - bug fix v0.56: Small bugfix release # Fixed bug where idle loop eliminated branches would crash if preceded by a cli (fixes Super Star Soldier) # Fixed a bug in tsb/trb emulation (fixes score in Parasol Stars, some other glitches in other games) # Fixed previous ROM directory not being loaded on startup. # Hopefully fixed GP2X freeze when loading a game after saving global config +# Added options to save local/global config for pad as well. v0.55: Thanks to Notaz for some help he gave on how to fix some things. @ Changed something in video rendering that affected memory performance, games with low priority sprites will be faster now. @ Optimized video rendering a bit, small speed improvement. @ Added some more idle loop patterns, matches 14 more games. As many as 95 games are still unmatched, but the actual number in real idle loops is probably much lower. Probably over 70% of games are matched currently. +# Changed the way config file saving works. Will no longer save the global config automatically every time the options menu is exited, but instead there's an option to exit + save global (in addition to exit + save local and exit w/o saving). Current ROM directory was moved to a separate config file, temper.cf2. # Fixed bug where current directory mmuhack.o was not used. This will fix speed problems for people that couldn't get it loaded (thanks notaz!) # Fixed bug where Temper didn't reclaim audio after it quit. This will prevent Temper from ruining sound after exiting and hanging on next startup (thanks notaz!) # Fixed bug that could cause Temper to crash on exit, possibly bringing down the entire GP2X (thanks notaz!) # Disallowed the joystick read from returning conflicting buttons for F200 users, although you can still simulate this by programming different GP2X buttons to return them. At least one game was getting confused by this. + Added support for loading bz2 compressed ROMs. v0.5: First release -- About -- Temper is a PC-Engine/Turbografx 16 emulator written for GP2X. I wrote it because a lot of GP2X users were complaining that the other emulators weren't fast enough or full featured enough. So, the primary aim of Temper is to be fast enough while not sacrificing features or compatibility. It was written completely from scratch, although some source and individuals were consulted to fill in some technical gaps thanks to the lack of much strong publicly available documentation of the platform. -- Features -- Temper currently only emulates the core PC-Engine platform. The CD-ROM add-ons and SuperGrafx platform are not emulated, but might be emulated at a later date (maybe more if you can make me happy with developing on GP2X). 6 button pad, arcade card, or any of those other addons aren't supported either. This is just a basic PC-Engine platform emulator with no frills. It does have a lot of basic features and options you'd come to expect from an emulator on GP2X. -- Compatibility -- The PC version (which has been heavily tested) has very good compatibility, with only a few games outright working. The only one I know of that will fail to run entirely is Street Fighter 2, which is intentional. However, some games have graphical glitches. Turning off "patch idle loops" might help sometimes, otherwise leave it on because it'll make a lot of games much faster. Of course there could be other things I've missed, who knows. (If you try to run Street Fighter 2 it'll crash. If you read this readme then there won't be a problem, right? ;P Consider this punishment for those not reading it.) I haven't tested the GP2X version that extensively, so if you find a problem post about it on http://www.gp32x.com/board/ (look for the appropriate topic first, there should be one made for Temper compatibility somewhere) and I'll look into fixing it. -- Performance -- It is written with a lot of ARM assembly which makes it a little faster than the others. It could still be optimized a lot more, but at this point it's basically "fast enough" in my opinion. I'll probably continue optimizing it anyway, because that's what I do. 200MHz should hopefully be enough for all games, especially with fast RAM timings on, but let me know if it isn't (on gp32x). You can try slower speeds like 150MHz or lower, and you might get good results depending on the game - lowering audio output rate helps a little. Turning off audio, on the other hand, won't change much. Currently there's no frameskip. I might add auto frameskip if there's a demand for it (for playing at very low clockspeeds). -- Source code -- Temper is currently not open source, yeah, I know I know. No, it's not using any GPLed or otherwise licensed source inside it. If you really want the source send me an e-mail at exophase@gmail.com and I might consider giving it to you if you have a pressing reason. Basically, this emulator is representing me and my programming work, and I don't want any releases of it to stray from that. These are the basic guidelines for how to get the source: - If you just want it to see what I'm doing and offer advice then I have no problem giving it to anyone. This means not modifying it and releasing your own versions. - If you want to port it I might give it to you, depending on how much I want to port it for that platform. If I've already ported it to that platform then you can consider me the official maintainer, and if I decide to work on that platform later I become the official maintainer, meaning that unless I want you to be you stop being so. - Any changes you make to the core in ports should be reviewed with me first so I make sure you don't do anything that I don't think is good. - Can't spread the source around without my permission, for obvious reasons. - Naturally it'd be pretty difficult to make any of this legally binding so you'll have to convince me that you're on the level and willing to play by my guidlines. - If you can't speak English at all then don't bother. -- Controls -- Menu: Up/Down/Left/Right: Navigate cursor B: select X: cancel A: move up directory for file browser L: page up for file browser R: page down for file browser Default ingame: Up/Down/Left/Right: dpad X: II A: I Y/Vol middle: menu Start: Run Select: Select L: Load state R: Save state Vol up/down: change volume You can change the default controls in the menu. -- Menu options -- The main menu options should be self explanatory. The configure pad menu lets you change the pad mappings - on the right are GP2X buttons and on the left are what they correspond to. These are what you can map them to: - PC-Engine controls - Save/load state - Volume up/down - Enter menu - Toggle fastforward - I/II rapidfire (like the fastest setting on a TurboGrafx controller) If you don't set a menu button then vol middle will be forced to it. The options menu has the following options available: - Show fps (how many frames are emulated per second, w/o fastforward should be at 60, use this to determine if the game isn't fullspeed) - Enable sound (turning off sound won't improve performance) - Audio rate (higher sounds better, lower is a little faster) - Fast forward (run the game as fast as possible w/o throttling) - Clock speed (underclock for better battery life but worse performance, or overclock for worse battery life and better performance - warning, your GP2X could freeze if you set it too high. It only goes up to 300, but most won't be able to get that high...) - Fast RAM timings - will improve performance a little, but some GP2X's might not be able to handle them, especially at higher clock speeds. Might go well in improving performance at lower clock speeds though. - Gamma percent - from 0 to 300. Makes the display appear brighter or darker. - Patch idle loops - this will detect when the ROM is just waiting around for something to happen and will speed it up, note that currently only very, very simple idle loops are detected so only some percentage of games get a benefit from this (don't know how many but looks to be over half). This can possibly cause glitches or problems in games so if it does turn it off, otherwise leave it on. - Snapshot in saves - this option will save a snapshot in savestates, which you can see if you're over the load state option in the main menu (and if there is one saved for that slot with a snapshot). This is off by default because it currently about triples the size of the savestates. - Force USA encode - Some USA ROMs won't work w/o this, although most are auto-detected. The only one I know of is Legend of Hero Tonma, so use it for this game. This setting won't be saved in the global config file, so you should make a specific one for games that need it. WARNING - If you change this value then expect non-USA games to not load correctly anymore. You can save a game specific config file here too. This will get loaded for that game - if no game specific config file is found then a global config file will be loaded. When you modify config settings you always modify the global config file automatically. -- Known Issues -- Some games have minor graphical glitches. PC-Engine video timing is really finicky and that's probably what's causing them. Might be fixed in the future. Street Fighter II doesn't work. If you try to load it it will probably crash Temper. Supporting it right now would be taking a performance comprimise for all games, which I don't want. I might support it later, but you should probably just play the original arcade version instead (Genesis version should be pretty good too). Even if it was supported there's no 6 button pad support either so it wouldn't be very enjoyable. Games that have a resolution wider than 320 will be cut off. Unfortunately it isn't centered for the time being, but it will be in a later release. Only a small handful of games actually do this, most are 256 wide. -- Contact -- If you think you can be polite and thorough enough e-mail me at exophase@gmail.com. I probably won't answer things addressed in this readme, so you should read through it first. Don't ask for ROMs, don't ask for release dates, and basically just use common sense. If you don't have my AIM/MSN/contacts etc then don't bother trying to get them. Sorry, but I'm kind of fed up with people giving me a hard time over IM. -- Credits & Thanks -- FluBBa & Loopy - For PCEAdvance, got a few ideas from it. Mednafen, Ootake, Hu-Go - Source code cleared up some things sarencele (Mednafen author), Charles MacDonald - thaks for additional info Lordus - ideas and support Terryn - tons of beta testing on PC version notaz - some GP2X info DaveC, zodttd, senquack, THB_ - beta testing. Thanks a ton.