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
 
LinkBack Thread Tools Display Modes
Old August 3rd, 2008   #21 (permalink)
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 842
progress is made qzute fast on jpcsp , i see the commits every day

BTW: shdow you need to include jpcsp into ur signature :P
__________________
yes i have a mac, so what?
Shin_Gouki is offline   Reply With Quote

Advertisement [Remove Advertisement]
Old August 3rd, 2008   #22 (permalink)
emu scene follower/addict
 
madprofessor's Avatar
 
Join Date: Oct 2003
Location: Greece
Posts: 33
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   #23 (permalink)
And the science gets done
 
Hard core Rikki's Avatar
 
Join Date: May 2004
Location: Perpetual Pompei
Posts: 7,214
Will be looking very forward to a JPSX source release to Google Code (or Sourceforge) ;-]
Kudos, venerable emu author ;-]
__________________

Quote:
May the fleas of 1000 camels infest the crotches of BIOS swappers! And may their arms be too short to scratch!
My deviantART | My Blog | VBA-M | @ES | PCSX2 | GeneralEmu | XTemu | Webcomics
Hard core Rikki is online now   Reply With Quote
Old August 5th, 2008   #24 (permalink)
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 842
now i just need to know how to get your classloderstuff to work ...
__________________
yes i have a mac, so what?

Last edited by Shin_Gouki; August 5th, 2008 at 07:03..
Shin_Gouki is offline   Reply With Quote
Old August 5th, 2008   #25 (permalink)
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   #26 (permalink)
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 842
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!
__________________
yes i have a mac, so what?

Last edited by Shin_Gouki; August 5th, 2008 at 22:48..
Shin_Gouki is offline   Reply With Quote
Old August 6th, 2008   #27 (permalink)
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   #28 (permalink)
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 842
Yes, i think you talked about that GPU handling roughly in your java one presentation. As i said plenty to learn from this stuff
__________________
yes i have a mac, so what?
Shin_Gouki is offline   Reply With Quote
Old August 6th, 2008   #29 (permalink)
Registered User
 
Join Date: Jun 2008
Location: france
Posts: 5
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   #30 (permalink)
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   #31 (permalink)
Registered User
 
Join Date: Jun 2008
Location: france
Posts: 5
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   #32 (permalink)
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   #33 (permalink)
And the science gets done
 
Hard core Rikki's Avatar
 
Join Date: May 2004
Location: Perpetual Pompei
Posts: 7,214
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.
__________________

Quote:
May the fleas of 1000 camels infest the crotches of BIOS swappers! And may their arms be too short to scratch!
My deviantART | My Blog | VBA-M | @ES | PCSX2 | GeneralEmu | XTemu | Webcomics
Hard core Rikki is online now   Reply With Quote
Old August 8th, 2008   #34 (permalink)
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 842
The MDEC Video Intro from Vagrant Story plays!
Nice, eh?
Attached Images
File Type: jpg Bild 3.jpg (151.9 KB, 72 views)
File Type: jpg Bild 7.jpg (161.2 KB, 56 views)
File Type: jpg Bild 8.jpg (160.6 KB, 54 views)
__________________
yes i have a mac, so what?

Last edited by Shin_Gouki; August 8th, 2008 at 16:45..
Shin_Gouki is offline   Reply With Quote
Old August 8th, 2008   #35 (permalink)
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 842
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!
__________________
yes i have a mac, so what?
Shin_Gouki is offline   Reply With Quote
Old August 9th, 2008   #36 (permalink)
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   #37 (permalink)
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 842
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!
__________________
yes i have a mac, so what?
Shin_Gouki is offline   Reply With Quote
Old August 10th, 2008   #38 (permalink)
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   #39 (permalink)
Registered User
 
Shin_Gouki's Avatar
 
Join Date: Jan 2003
Location: Europe / Germany
Posts: 842
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.
__________________
yes i have a mac, so what?

Last edited by Shin_Gouki; August 10th, 2008 at 15:37..
Shin_Gouki is offline   Reply With Quote
Old August 10th, 2008   #40 (permalink)
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
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 04:21.

© 2006 - 2008 Emu Forums | About Emu Forums | Legal | A member of the Crowdgather Forum Community


Powered by vBulletin® Version 3.7.6
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5