Emuforums.com

Go Back   Emuforums.com > Forum & Emulation News Discussion > Emulation News Submissions
Home Register Downloads FAQ Members List Calendar Arcade Mark Forums Read

Reply
 
Thread Tools Display Modes
Old August 3rd, 2008, 09:26   #21
Shin_Gouki
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 903
progress is made qzute fast on jpcsp , i see the commits every day

BTW: shdow you need to include jpcsp into ur signature :P
__________________
LISP, worse is better, the usual stuff
Shin_Gouki is offline   Reply With Quote

Advertisement [Remove Advertisement]

Old August 3rd, 2008, 12:47   #22
madprofessor
emu scene follower/addict
 
madprofessor's Avatar
 
Join Date: Oct 2003
Location: Greece
Posts: 34
i must say I am really looking forward to getting my hands on the source of jpsx as it is very VERY interesting grahams plz update googlecode of jpsx we will all really appretiate it
madprofessor is offline   Reply With Quote

Old August 3rd, 2008, 17:59   #23
Hard core Rikki
Moving into the beat
 
Hard core Rikki's Avatar
 
Join Date: May 2004
Location: Perpetual Hawaii
Posts: 11,385
Will be looking very forward to a JPSX source release to Google Code (or Sourceforge) ;-]
Kudos, venerable emu author ;-]
__________________

Hard core Rikki is offline   Reply With Quote

Old August 5th, 2008, 06:56   #24
Shin_Gouki
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 903
now i just need to know how to get your classloderstuff to work ...
__________________
LISP, worse is better, the usual stuff

Last edited by Shin_Gouki; August 5th, 2008 at 07:03..
Shin_Gouki is offline   Reply With Quote

Old August 5th, 2008, 15:20   #25
grahams
graham sanderson
 
Join Date: May 2006
Location: austin
Posts: 20
Yeah, I'll upload the source to google code soon; if you send me your email in the short term, I'll sent it to you

Shin_Gouki; yeah I didn't expect you to get it running without the instructions (well you probably can, but I wanted to explain the issues currently with OSX); I just sent the code as a peace offering until I had time to put together a little doc - which will be today.
grahams is offline   Reply With Quote

Old August 5th, 2008, 16:49   #26
Shin_Gouki
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 903
don't push it too hard , we waited for more then 2 years (woha ^^) so we can wait a few more days easy

The post above was just before i got to work , where i had not much time.
Now i got it to work!
At least the Bios is showing(dont have any images at hand right now), thats awesome!

Now thats some Error stuff:
UPDATING DISPLAY BECAUSE HAVEN'T HAD ONE
interrupt!
Exception 0

You mentioned before that there are probles with awt because it handles things diffrent on OSX, since you use that as Display API.
But the sound is also a little bit strange at the end of the PSX Logo, well i try some more of this fun stuff.

EDIT 3:
wow seems to be windy on ur side grahams

EDIT 4:
Besides believe it or not this is already plenty. Understanding your GPU handling , another. Still many pieces of code seem clean and concise. Absolutly awesome stuff! Just from guessing its unbelieveable how much effort you put into this!
__________________
LISP, worse is better, the usual stuff

Last edited by Shin_Gouki; August 5th, 2008 at 22:48..
Shin_Gouki is offline   Reply With Quote

Old August 6th, 2008, 19:08   #27
grahams
graham sanderson
 
Join Date: May 2006
Location: austin
Posts: 20
Quote:
Originally Posted by Shin_Gouki View Post

Now thats some Error stuff:
UPDATING DISPLAY BECAUSE HAVEN'T HAD ONE
interrupt!
Exception 0
I included a log4j.properties in the latest ZIP; I'm guessing the one you made has logging turned up a bit too high

As I say, if you have an audio CD handy; make a CUE/BIN of that and play it in the BIOS CD player ;-)

Quote:
Originally Posted by Shin_Gouki View Post
Besides believe it or not this is already plenty. Understanding your GPU handling , another. Still many pieces of code seem clean and concise. Absolutly awesome stuff! Just from guessing its unbelieveable how much effort you put into this!
Yeah, some code is clearer/better than others; I will try and add more comments etc. once it is open sourced - but my failure to do so for the last few years is why I hadn't open sourced in the first place, so we'll go with what we have I guess ;-) At least all the code is in roughly the right place now, even if you don't want to look to hard at the implementations!

Note the GPU is kind of cool, 'cause I get the VM to do a lot of the hard work for me. Rather than writing 2048 or whatever different renderers (for all the combinations of rendering options) which would be painful, or auto-generating Java source which would be huge, I simply write a single generic renderer class chock full of ifs for all the different possibilities (which would obviously be horribly slow if I actually ran it)

I have empty implementation classes for each renderer, so that I can at least call them from other code.

At run time, my classloader, when asked for a particular renderer class, simply clones the generic renderer, sets static final variable initilalizers within the class according to the particular rendering options, and then hands the class over to the VM.

HotSpot, when it compiles the render method, will realize that the values of the ifs can never change and will strip out any unreachable code as it optimizes - voila instant optimal renderer ;-)

================================================== =================

As a little aside, I thought I'd mention something that is different about JPSX compared to some other emus.

I made the decision early on to try and simulate the real hardware timing.

Thus interrupts happen on a separate thread as close to possible as when they're supposed to (except the CD which I run a little fast when not streaming video, because I'm impatient!)

The CPU thread is also not speed limited in any unusual way, it usually ends up waiting on a VSYNC.

This poses a bit of a problem, since the PSX just usually does this by sitting in a busy-wait loop waiting for a memory location to be changed by the IRQ handler.

Since I don't want to suck all the CPU (and I like playing multiple games at once), the emulator will detect busy-wait loops, and escalate them to a java monitor wait(), which will be notify()ed whenever a new interrupt occurs!

Anyway, while the solution is a nice idea, it can lead to problems in practice. There is at least one bad race condition (bug) in the BIOS code which I have to workaround - it just happens not to cause a problem on a real PSX.

In addition, there are a few games out there which as far as I can tell do some strange CD loading (One of the Madden games did this for sure)... they basically seem to rely on the fact that they will have enough CPU time between CD interrupts to deal with the sector data, but they don't actually do any handshaking between the interrupt code and the regular code.

I could be wrong here. For sure some of the people here know better than me how the CD controller is supposed to work, so I'm super happy to be starting to get it out there. As I say shoot me your email if you want to try it out.

Once a few people have it working correctly, I'll put it up there on google code

Last edited by grahams; August 6th, 2008 at 19:20.. Reason: Automerged Doublepost
grahams is offline   Reply With Quote

Old August 6th, 2008, 21:47   #28
Shin_Gouki
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 903
Yes, i think you talked about that GPU handling roughly in your java one presentation. As i said plenty to learn from this stuff
__________________
LISP, worse is better, the usual stuff
Shin_Gouki is offline   Reply With Quote

Old August 6th, 2008, 23:58   #29
hlide
Registered User
 
Join Date: Jun 2008
Location: france
Posts: 24
Grahams,

I sent you two PMs at least to get the source of JPSX as I'm really curious about the generic and HotSpot stuff. Did you get them ?
hlide is offline   Reply With Quote

Old August 7th, 2008, 07:11   #30
grahams
graham sanderson
 
Join Date: May 2006
Location: austin
Posts: 20
Quote:
Originally Posted by hlide View Post
Grahams,

I sent you two PMs at least to get the source of JPSX as I'm really curious about the generic and HotSpot stuff. Did you get them ?
I thought I sent it to everyone who sent me an email address; I don't see any PMs from you... can you send me another
grahams is offline   Reply With Quote

Old August 7th, 2008, 10:19   #31
hlide
Registered User
 
Join Date: Jun 2008
Location: france
Posts: 24
Quote:
Originally Posted by grahams View Post
I thought I sent it to everyone who sent me an email address; I don't see any PMs from you... can you send me another
you're totally right : two emails (probably the one you use to subscribe here) are sent to you, not PMs.
hlide is offline   Reply With Quote

Old August 8th, 2008, 03:50   #32
grahams
graham sanderson
 
Join Date: May 2006
Location: austin
Posts: 20
I figure I should give the emu a try on Linux (I know madprofessor gave it a go, but said the sound was a bit slow).

I need to check it all out to see if there is anything obviously wrong, so I'll head out and by a memory stick tomorrow to install it on (I don't have a spare machine, and don't want to re-partition)

What does everyone recommend as a Linux platform; also 32 vs 64 bit?
grahams is offline   Reply With Quote

Old August 8th, 2008, 06:14   #33
Hard core Rikki
Moving into the beat
 
Hard core Rikki's Avatar
 
Join Date: May 2004
Location: Perpetual Hawaii
Posts: 11,385
Ubuntu is pretty much the very dominant Linux distro currently (and for the future), so compatibility with that one (rather than upstream Debian) would be desirable.
__________________

Hard core Rikki is offline   Reply With Quote

Old August 8th, 2008, 16:34   #34
Shin_Gouki
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 903
The MDEC Video Intro from Vagrant Story plays!
Nice, eh?
Attached Images
File Type: jpg Bild 3.jpg (151.9 KB, 87 views)
File Type: jpg Bild 7.jpg (161.2 KB, 66 views)
File Type: jpg Bild 8.jpg (160.6 KB, 65 views)
__________________
LISP, worse is better, the usual stuff

Last edited by Shin_Gouki; August 8th, 2008 at 16:45..
Shin_Gouki is offline   Reply With Quote

Old August 8th, 2008, 16:49   #35
Shin_Gouki
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 903
Ah and another one:
For all those who stumble about this thread and ask: WTF is JPSX?
Here you go:
JPSX - osdev-j (MMA)
This Site links to the Java ONE 2006 pdf(technical stuff), Complete Presentation(Audio!) with Graham back in 2006!And some photos!
__________________
LISP, worse is better, the usual stuff
Shin_Gouki is offline   Reply With Quote

Old August 9th, 2008, 01:44   #36
grahams
graham sanderson
 
Join Date: May 2006
Location: austin
Posts: 20
Quote:
Originally Posted by Shin_Gouki View Post
The MDEC Video Intro from Vagrant Story plays!
Nice, eh?
Hey, where did you get JDK 1.6 for OS X, are you running 64bit?
grahams is offline   Reply With Quote

Old August 9th, 2008, 08:34   #37
Shin_Gouki
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 903
Well the JDK 1.6 is 64-Bit i was also surprised but a friend told me that it was already deliverd with a system update quite some time ago. You have to enable it manually , there a warning about some 32-Bit applets but besides that... it runs just very nice!
__________________
LISP, worse is better, the usual stuff
Shin_Gouki is offline   Reply With Quote

Old August 10th, 2008, 15:07   #38
grahams
graham sanderson
 
Join Date: May 2006
Location: austin
Posts: 20
Quote:
Originally Posted by Shin_Gouki View Post
The MDEC Video Intro from Vagrant Story plays!
Nice, eh?
Is that an interlaced video? It looks really hi-res... i've never seen a game which does that!!

My bad! I think the 3rd screen shot is hi-res but the video isn't.
grahams is offline   Reply With Quote

Old August 10th, 2008, 15:27   #39
Shin_Gouki
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 903
yes the last is actual menu.
As i say your display /GPU emulation is very accurate as far is o can go, its sooo smooth (from video to menu)!

I have taken a "small look" ( JPSX is just so big...) into the graphics implementation. Graham is it correct that in theory for a JOGL graphics Part a JOGL Dispaly Implementation would be needed. No changes to the GPU?
Although i'm not to sure about the event model used by JOGL + the Key bindings.
__________________
LISP, worse is better, the usual stuff

Last edited by Shin_Gouki; August 10th, 2008 at 15:37..
Shin_Gouki is offline   Reply With Quote

Old August 10th, 2008, 16:32   #40
grahams
graham sanderson
 
Join Date: May 2006
Location: austin
Posts: 20
yeah, if we just want to use JOGL to do the blit, then just implementing the small Display interface should be fine. I think a full JOGL 3D GPU implementation would be cool, though as you say the software one runs just fine.
grahams is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +1. The time now is 13:31.

© 2006 - 2012 Emu Forums | About Emu Forums | Advertisers | Investors | Legal | A member of the Crowdgather Forum Community


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.