PDA

View Full Version : e[mulator] for PSP 0.80beta4



wraggster
March 30th, 2006, 20:24
E (http://dev-e.sakura.ne.jp/) has posted a new Beta release of his PC Engine and Wonderswan Emulator for the PSP, dont ask me whats new(in japanese) but you can be sure it has a load of improvements.

Download and Give Feedback via Comments

sroon
March 30th, 2006, 20:27
Woot!

PsychoSync
March 30th, 2006, 23:22
Can someone with japanese knowledge traduct the readme file?

b8a
March 31st, 2006, 00:23
I'm looking into the readme, but it's a tad lengthy, so for the time being, here's a translation of the news posting from E's blog:

<div style="width:95%; margin: auto; padding: 2%; background-color:rgb(230,230,230); border: thin black solid">I was getting a bad feeling that this was going to end up in beta forever...
<br />I feel like the large portion of the reported bugs have been fixed.
<br />Upon comparison, they were bugs that were originally in oSwan.
If those reporting bugs would confirm the bug in both oSwan and Cygne, I would be able to shorten the ammount of time I spend on fixing them.
<br /><font color="red">As has been the case, I've given up on the PC Engine and haven't made any changes so <u>please don't report PC Engine bugs.</u>
I am thinking of making some fixes in the near future, but as the Wonder Swan is so close to completion, I'm focusing on that.</font>
<br /><font color="ff00ff">The problem causing Xi (sai) to not work is now understood.
It looks like the problem is that I'm not using sound DMA, but since I haven't properly implemented sound DMA, I'll include some form of fix in the next beta at the very least.</font></div>

PsychoSync
March 31st, 2006, 03:38
Thank you b8a, that was all i wanted to know: if there was changes made to the PCE emulator... It's still not playing Mp3 music... Is there a way to make it play? Rondo of blood plays perfectly a 60fps but no music (well some stages have music... but it must be something else than CD music) Castlevania games have good music.

By the way, is Konami ever gonna make a Castlevania for PSP?!

b8a
March 31st, 2006, 04:32
Too late (!_!) I already translated the readme. For anyone interested:

<div style="width:95%; margin: auto; padding: 2%; background-color:rgb(230,230,230); border: thin black solid">
e[mulator] for PSP 0.80beta4 by e

Everyday I give thanks to the people who test this for me.
Concerning the Wonder Swan, I've once again rewritten it entirely.
I love rewritting things, so please forgive me.


-About the menu-
If there's a hang up in the menu, look for the file emulator.cfg and please delete it.
If you want to return to the menu in the middle of a game, just push the button specified in the key config, or if it's PC Engine, Select+L Trigger.
Since the select button doesn't exist on the real Wonder Swan machine, I've alloctaed it unconditionally.
You can set the menu key to a different button, but you can't change the select key function.

-Something resembling a history-

0.80beta4

Progressing on fixing only the Wonder Swan
I've corrected the graphics refresh so it might have gotten slower.

*About the fixes
(*) Corrected the ordering of Job and Job's names when selecting a Job in FF1
(*) Fixed processing of sprite windows
This was a problem with dialogs and when selecting magic from the menu in FF1
(*) Fixed a problem with heads being cut off at the edge of the screen in RPGs
(*) Fixed the display of Makaidoshi Saga's original mode
(*) Fixed the display of dialog rectangles in Romancing Saga
(*) Fixed a problem with your vehicle and the enemy vehicle not displaying on the course map in Final Lap Special
(*) Fixed the process for allocating the CPU (this might cause problems?)
(*) Deleted unnessecary internal data
It is no longer compatible with past state saves.
(*) Confirmed the launching of Mari&Eri's Atilier (the cause of the problem is unknown)

(!) There's a possibility that reported problems other than those listed above have fixed themselves.
If you test it and it doesn't work please send a report.

*Unconfirmed Items

(*) A reported problem with Saint Seiya

*Known Problems

(*) Xi doesn't work (reason unknown)




0.80beta3

[ WONDERSWAN ]
The reason the sound breaks is because there's not enough PSP CPU power.

(a) Fixed a bug with BG/SP
Items I believe to be fixed (o: oSwan bugs, e: eSwan bugs)
(o) Puzzle Bobble's display has been cleaned up
(o) With You's font display has been cleaned up
(o) Problems where the charaters would appear as another in Pocket Fighter/Guilty Gear1&2 has been fixed
(o) Problem with the BG display after a battle in Pocket Fighter has been fixed
(e) Display of Digimon's life has been fixed?
(e) Foreground BG MAP window is fixed?
(o) Incorrect display of the opening of Naruto has been fixed?
(o) Front Mission's display has been fixed?
It looks like it was a bug related to the CPU

(b) Sped up
(*) Optomized the memory refresh
(*) Added cycle consumption from pipeline stall (refer to the end)
This will probably cause problems in some games.

(c) Improved the speed of video issues
(*) I think I've fixed the FG Window processing.
But, in games like GG, etc... some characters appear to get cut off when they move to the edge of the screen

(d) Unimplemented features
(1) Sound DMA
(2) SRAM save
(3) EEPROM save

[ PC Engine ]
(*) It appears as though MP3 playback caused unpredictable behaviour, so for the time being I've stopped implementing it
The reason why it's not working is a mystery

-About publication in magazines, etc...-
Unauthorized publication in any commercial medium is prohibbited.
If you want to contact me, please do so through the forum.
If I'm in the right mood I'll get in touch with you.


-Sped up V30MZ-
&gt;&gt;The reason why the once unbearably slow Wonder Swan is now, more or less, working&lt;&lt;

As you know Wonder Swan's CPU, the V30MZ, is a CPU which integrates a pipeline operating at 3.072MHz.
I was fully aware of the fact that oSwan, which this is ported from, was already at the brink with the pipeline when I implemented it.
In short, in order to execute commands that operate in 1clock, it's nessecary to analyze 30,700,000 commands every second, which was a pretty demanding operating condition for the PSP.

In the actual CPU a pipeline stall would occur when a branch or jump occured, and a penalty big enough to fill the entire pipeline would be asessed due to the pipeline having to fetch once more time.
I focused my attention on this point and and implemented a penalty for the V30MZ pipeline fetch portion.

The example below is pretty extreme, but it's only to make this easy to understand so don't call me on it.
Please think of this all as a process that has to finish in 1clock.

0x0000 add ax,1
0x0001 add bx,5
0x0002 jump 0x0000

Just perform a simple calculation with the above program, and you'll see that, when the 00 adress command has finished 3 times, the nessecary clock becomes 7clock.
However, in the actual CPU a pipeline stall occurs at the jump order so 2 pipeline stalls should occur, and, penalty included, the amount of clocks nessecary should be 7+8x2(clock).

In this calculation, the reason why there's a penalty from the 8clock pipeline stall is that, if the prebuffer is 16 bytes and a command is 2 bytes then 8 commands are fetched and so pipeline stall=an annulment of 8 commands(clock) takes place and this simple calculation is based on that.

Furthermore, V30MZ=a simple CPU as a basic premise and I've implemented it in a way that the following conditions will deffinately consume 8clock.

(1) A branching command (regardless of whether the branch is saved further down the pipeline)
(2) When a program counter is rewritten utilizing POP, etc...

This is really a very basic implementation, so there's almost certainly some incompatibilities.

So the long and short of it is that, even though depends on the conditions, the result is that the unit of time required to analyze a given number of commands has been reduced, resulting in fast operation.

At first I was planning on writing this out in a dynamic compiler style in assembler, but there's no such thing as a condition register in MIPS and I'm keeping it a secret that it frustrated me.

-Video refresh processing- 03/28/2006

The Wonder Swan's video uses the priority list below to control the display of 4 screens.
(1) Sprite -foreground (with sprite window)
(2) Tile -foreground (with map window)
(3) Sprite -background (with sprite window)
(4) Tile -background (no window)

and this is how I had it displaying but, with this when selecting jobs in FF1, the priority when displaying the job title and the character when they overlap is odd, so I fixed it.


-CPU processor allocation- 03/28/2006

Usually with allocation, it's unthinkable for an operation to cancel something that the CPU should be processing as it's highest priority.
oSwan has an implementation that makes it so that it doesn't process if it occurs when it can't allocate the processor so I changed it.

The end.</div>
There are deffinately some portions in there that are dodgy at best, but it still probably beats a Google translation. Should be more readable at the very least.

As far as I know, there aren't any good PC engine CD emulators available for the PSP (but if I'm wrong, by all means, someone correct me), and it seems like there aren't any motivated coders working on the project, so it may be quite some time (if ever) before we see proper emulation. Especially as the system was never big outside of Japan, and most of the great homebrew coding seems to be coming from the west these days.

Yeah, Chi no Rondo uses mostly CD tracks, but does use computer generated music for some portions (such as the rooms right before bosses), so those should deffinately have no problem playing.

I highly doubt we'll ever see a (proper) Castlevania game on the PSP. They've tried to make it 3D a number of times, but they haven't managed to keep the same magic as they've had in their 2D games. And, in case you don't know, there was actually a famous dispute between Konami and Sony over the 2D Castlevania for the PS where Sony was trying to block Konami from developing/releasing it over some sort of hissy fit that the PS is a 3D, not 2D, platform. I can understand Sony wanting to encourage developers to develop in 3D since it promotes the specialties of their hardware and helps to keep the industry moving forward, but obviously that version of Castlevania is widely hailed as the crowning jewel of the series and Sony's policy almost cost them dearly in that instance, and has surely cost them any number of excellent games that we'll never know about. For the time being though, thankfully all Nintendo cares about is good games and the Castlevania series has found a comfortable niche on the game boy platforms.

not here anymore
March 31st, 2006, 08:42
B8A, dunno if it's possible for you. But in case it is, can you relay to the author that "SRAM saves doesn't work on WSC Makatoushi SaGa" ?
Thanks,

TSR

mami54
March 31st, 2006, 16:54
This emu isn't support SRAM.
Please use state save.

Tai
March 31st, 2006, 22:00
So wait, you can play PSP games on the PC, now? :D

b8a
March 31st, 2006, 23:23
Theshadowrunner:
I was thinking what mami54 wrote, that SRAM wasn't supported since that's what the readme file says (see unimplemented features under beta 3), but since that was a beta 3 note, I thought that maybe that changed for beta 4 without being advertised and made a posting on e's blog. He responded that the support for SRAM save isn't implemented and was wondering if you didn't maybe mean that the state save wasn't working?

not here anymore
March 31st, 2006, 23:25
Wow thanks a lot for the feedback b8a.
No, i was talking about SRAM specifically. Save states work perfectly fine.
I just didn't know SRAM wasn't supported at all on this emu so far, thought it was a bug for that specific game.
Thanks for clearing that up.
See you,

TSR

O-bake
March 31st, 2006, 23:39
it's so cool that finally a portable wonderswan emulator comes out. the GP32 never had a playable one, sadly.

but i hope that E will continue on the PC-Engine emu, Because the PCE is so great, there can never be an emu to be too perfect ;)
and of course, i'd like to have CD support, because many games were only available on CD.
and it's a pity, because even the CD emulation seems so close (not in this very emu), there seem to be just some minor things missing, like sync and clear mp3 playback.

thank you very much E =)

btw, a vsync option for the wonderswan would be very cool

Tai
April 1st, 2006, 00:26
Seriously, answer me...we can play PSP games on the PC with this program? If so..how do I make it work? :(

b8a
April 1st, 2006, 00:36
Seriously, NO. This is PSP software, not PC software.

It's only an emulator for playing Wonder Swan and PC Engine games on the PSP. If you don't know what those are then google them or look them up on wikipedia.

O-bake
April 1st, 2006, 01:17
It's only an emulator for playing Wonder Swan and PC Engine games on the PSP
:eek: What do you mean by "only" :P

b8a
April 1st, 2006, 02:43
Just trying to curb tai's enthusiasm. It sounded like he/she was expecting so much more. Although I can't find anything in this thread that would lead someone to believe what tai was implying...

Voltron
April 1st, 2006, 16:50
Thank you b8a, your translations are a very helpful and appreciated service. Your contributions are truly great. Thank you!

Tai
April 1st, 2006, 16:54
Seriously, NO. This is PSP software, not PC software.

It's only an emulator for playing Wonder Swan and PC Engine games on the PSP. If you don't know what those are then google them or look them up on wikipedia.

Ok, thank you. :(

And my wait continues..

BPM9
May 14th, 2006, 15:24
I have PSP 1.5, and when I load it I get an error.. Am I doing something wrong??

Never mind, I solved my problem