|
|
Search
|
|||||||
| Home | Register | Downloads | FAQ | Members List | Calendar | Arcade | Mark Forums Read |
![]() |
|
|
LinkBack | Thread Tools | Display Modes |
|
|
#21 (permalink) |
|
Registered User
![]() ![]() ![]() ![]() 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?
|
|
|
|
| Advertisement | [Remove Advertisement] | ||
|
|
|
|
#23 (permalink) | |
|
And the science gets done
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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:
|
|
|
|
|
|
|
#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. |
|
|
|
|
|
#26 (permalink) |
|
Registered User
![]() ![]() ![]() ![]() 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.. |
|
|
|
|
|
#27 (permalink) | ||
|
graham sanderson
Join Date: May 2006
Location: austin
Posts: 20
|
Quote:
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:
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 |
||
|
|
|
|
|
#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? |
|
|
|
|
|
#33 (permalink) | |
|
And the science gets done
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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:
|
|
|
|
|
|
|
#35 (permalink) |
|
Registered User
![]() ![]() ![]() ![]() 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?
|
|
|
|
|
|
#37 (permalink) |
|
Registered User
![]() ![]() ![]() ![]() 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?
|
|
|
|
|
|
#39 (permalink) |
|
Registered User
![]() ![]() ![]() ![]() 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.. |
|
|
|
|
|
#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.
|
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|