SkillAgentSearch skills...

GpSP

Exophase's GBA emulator for the Dingoo A320 handheld system.

Install / Use

/learn @pcercuei/GpSP
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

-- gameplaySP Gameboy Advance emulator for Playstation Portable --

-- Release log --

v0.9 (yes, it's still beta)

NOTE: As some of you may be aware I'm pretty much tired of these unofficial releases by people (okay, mostly single person) who don't wish to follow my wishes. I'm in the process of asking this person to stop, in his own language. However, I want to make something clear. Look at the last six new features in this changelog. I added these TODAY. I could have done them at any time. But I didn't, because I spent many (dozens, quite possibly hundreds) hours debugging games that people want to play. I have always believed that this is far more important than spending time on new features. Frankly, I'm tired of my emulator being hacked on by other people, and if it doesn't stop I'm going to make this project closed source.

Since I know this information is most visible when updated on the major sites, note that it is the news posters I am especially talking to. Next time you upload unofficial releases of my emulator (without even knowing what's changed) bear in mind that you're only encouraging me to stop working on this. If you want to pick sides between me and unofficial devs, be my guest. I'll let you decide by the contents of this release who's doing more for my emulator.

Oh, and if you downloaded a version of gpSP that has more than "gpSP" in its name then you're using one of their versions. Shame on them for not even removing this threatening message, and shame on you. Unless you're using a port I endorse (GP2X, Dreamcast, etc), in which case everything's good.

Fixed stereo output being reversed.

Fixed a bug causing misaligned errors on 8bit writes to the gbc

audio channel 3 wave data (fixes various Super Robot Wars games)

Fixed DMA with garbage in their upper 4 bits (fixes a crash in

Zelda: Minish Cap)

Added double buffering to the rendering, removes line artifacts.

Big thanks to Brunni for the idea.

Fixed a bug preventing some SRAM based games from saving (fixes

MMBN4-6)

Fixed a bug causing part of EWRAM to potentially get corrupted if

code segments loaded in EWRAM cross 32KB boundaries (fixes Phantasy Star 2)

Fixed a bug causing games using movs pc in user mode (very bad

behavior) to crash. Fixes Colin McRae Rally 2.0.

Improved timing a bit more. Fixes GTA Advance.

Fixed a sprite clipping bug (fixes crash in third boss of Zelda:

Minish cap)

Increased translation buffer size significantly (fixes Donkey Kong:

King of Swing)

Fixed a dynarec bug causing add pc, reg to not work in Thumb code

(fixes crash in DBZ:LoZ, seems to fix crashes in battle in Golden Sun, probably fixes other games)

Made sprites using tiles < 512 not display in modes 3-5 (fixes

a couple minor graphical bugs)

Removed abort on instruction 0x00000000 hack, was breaking a

certain bugged up game (Scurge)

Fixed bug in flags generating variable logical shifts (fixes

SD Gundam Force)

Fixed unaligned 16bit reads (fixes DBZ:LoZ in game)

Redid contiguous block flag modification checking AGAIN and

hopefully got it right this time (fixes Mario vs. Donkey Kong)

Redid ldm/stm instructions, fixing some cases (along with the

timing improvements fixes Mario & Luigi)

Fixed 14bit EEPROM addressing (hopefully fixes saving in a lot

of games)

Completely redid memory handlers, accurately emulates open and

BIOS reads now. Fixes Zelda: Minish Cap (roll bug, last dungeon), Rayman, MMBN 1 (last dungeon), probably others.

Fixed a minor graphical glitch on the edges of the screen

(thanks Brunni and hlide for the help!)

Fixed crash on loading savestates from files of games not currently

loaded, but be sure you have the exact file you loaded it from or gpSP will exit. @ New memory handlers should provide performance boost for games that access VRAM significantly (ie 3D games) @ Added dead flag elimination checking for logical shifts, probably doesn't make a noticeable difference but should have been there anyway.

  • Added rapidfire to the button mappings.
  • Added auto frameskip. Removed fractional frameskip (don't think it's very useful with auto anyway). Select auto in the graphics/ sound menu to activate it; frameskip value will act as the maximum (auto is by default on). Thanks again to Brunni for some help with this. Frameskip options are game specific.
  • Added vsync to the rendering. Only occurs when frames aren't skipped. Seems to reduce tearing at least some of the time.
  • Added non-filtered video option.
  • Cheat support (Gameshark/Pro Action Replay v1-v3 only), still in early stages, doesn't support everything; codes may cause the game to crash, haven't determined yet if the codes are bad or the implementation is. See cheat section for more information.
  • Added ability to change audio buffer size. Does not take affect until you restart the game.
  • Added analog config options.
  • Added ability to set analog sensitivity and turn off analog.
  • Added ability to change the clock speed. This is a game specific option. Try lower speeds w/auto frameskip to save battery life.
  • Fixed savestate speed on crappy Sony sticks.

(legend: # bug fix, + feature addition, @ optimization)

v0.8 - ("unlocked" beta)

NOTE 1: It has come to my attention that there are actually BIOSes out there that are being used that cause some games to not work. The BIOS md5sum listed here is for the BIOS actually in GBAs and is as accurate as you'll get, (if you have a GBA and a flashcart you can dump it yourself, see http://wiki.pocketheaven.com/GBA_BIOS)

NOTE 2: Since I know this is as far as a lot of people here I have a little request. Please, please, (I'd italicize this if I could) please stop constantly asking me when the next release will be, what it'll have, etc. And while you're at it, please stop asking me to implement wi-fi multiplayer, cheat support, or fix all of your games. Some things will happen in due time, other things might not ever happen. I devote about as much time as I can to this emulator and I carefully include as much as I can in releases to try to minimize the number of people who will nag me next time (erm, I mean, to make the most people happy), so I don't release every other day or anything like that. Sorry that I can't release once a week, but I'm a lot busier now than I was when I was first developing this emulator. Good thing I got the first version out before that, wasn't it?

Congratulations, you made it this far! Now read the rest of the this thing. _

Fixed bug in dead flag elimination, "alt" version no longer needed.

Fixed EEPROM saves being saved as 32kb instead of 512bytes/8kb

  • 32MB ROM support has been added. ROMS are "demand loaded" as necessary and page swapped out; there might be a small loading lag, but I have yet to ever really notice anything. NOTE: 32MB ROM support only works for unzipped ROMs.
  • Save states have been added. See the save state menu for save/load options.
  • Support for the real-time clock (RTC) chip in Pokemon cartridegs and other games. The implementation is based off of VBA's, whatever notes on gbadev I could find, and some of my own reverse engineering of what the games do... it might not be totally correct. Also, setting the time does not work.
  • Per-game configuration. Currently this only saves frameskip and frameskip variation options.
  • Removed the flash type option from the menu and instead added it to game_config.txt. Hopefully got everything - let me know if you find something that isn't there. It's pretty easy to add them if you have to.
  • Added a display in the upper left-hand corner to indicate when fast-forward is on.
  • Added button bindings for save/load state. @ Found a fix of StrmnNrmn proportion: far too much unnecessary mutex synchronization was going on. Removing the two offending lines of code gave a massive speed boost for free. Enjoy.

v0.7 - (beta than ever)

Fixed a dynarec bug involving flags generating functions in

contiguous conditional blocks. Fixes music in Super Mario Advance 2-4.

Fixed a dynarec bug where Thumb mov imm instructions wouldn't

set flags. Fixes Zelda: Minish Cap, Megaman Battle Network, probably others. Comes at a slight speed cost.

Fixed a MIPS dynarec bug where some delay slots might not

get filled rarely, causing chaos. Don't know if it improves any games.

Improved self-modifying code detection. Makes Golden Sun,

Golden Sun 2, and Madden 2007 sorta work but excrutiatingly slowly. Looking for a game-specific workaround for this - if you want to play these games you'll have to wait for now :(

Fixed a bug causing the interrupt disable flag to go down

when SWIs are entered, causing crashes/resets. Fixes Super Mario Advance 2-4.

Fixed menu crashing when strings with certain characters are

printed (for instance going to the menu after loading the BIOS)

Accidentally forgot to render win0 + win1 + objwin when all

active at the same time, many weeks ago. Added that, should fix some parts in games that had frozen screens.

Fixed some issues with gpsp.cfg needing to be present and

corrupting, hopefully. At the very least sanity checks are performed on the config file.

Made it so assigning the frameskip button to something besides

triangle actually worked as expected.

Fixed ability to restart current game if nothing is loaded

(ie, crash)

Added interrupt on cpsr modification support to the dynarec

(fixes backgrounds in Castlevania: Harmony of Dissonance)

Added open addressing for ldm/stm instructions (fixes

Super Mario Advance 3)

Improved cycle accuracy a little. Don't know of anything this

fixes, but games with idle loops will run a little better w/o idle loop elimination (

View on GitHub
GitHub Stars6
CategoryDevelopment
Updated5y ago
Forks5

Languages

C

Security Score

70/100

Audited on Jan 5, 2021

No findings