Free Jaguar Project

Atari Jaguar Discussions => Jaguar Emulators => Topic started by: Shamus on September 16, 2009, 01:51:22 am



Title: Virtual Jaguar Madness!
Post by: Shamus on September 16, 2009, 01:51:22 am
OK, so I'm here. Let's talk. :)

I'll go first: The status of the emulator is that it's in sad shape and I'm pretty sure most of the problems we were having with compatibility stemmed from that fact. So we're in the middle of rewriting stuff so that things like interrupts and memory accesses work the way they're supposed to. :) Once that's done, it's on to the blitter and fixing it so that it's 100% (or as close as we can come to that) accurate. From there, real CD emulation and fun stuff like that. Once we get the compatibility to a decent point then we can start optimizing stuff.

In the meantime, we have a public-facing SVN repository that anyone can pull code from. As a matter of fact, we need someone to help in building the win32/64 side of things. :P Aside from that, help with regression testing is always appreciated. ;)

OK, your turn. :)


Title: Re: Virtual Jaguar Madness!
Post by: SpiderJerusalem on September 16, 2009, 08:14:14 am
As a matter of fact, we need someone to help in building the win32/64 side of things. :P

I have a mingw32 setup with gcc 4.3.x (iirc). Does that fit the bill? Or you're targeting Visual Studio?


Title: Re: Virtual Jaguar Madness!
Post by: Shamus on September 16, 2009, 04:23:56 pm
Visual Studio is not required. ;D MinGW should work fine, but we were finding it difficult to get libcdio built. If you can manage to get that built, we're golden. :)

If we can't get libcdio working on all our platforms, we're looking at the very real prospect of writing our own compatibility library. Or at least patching libcdio so it works where it should. :P


Title: Re: Virtual Jaguar Madness!
Post by: ggn on September 16, 2009, 11:29:42 pm
Visual Studio is not required. ;D MinGW should work fine, but we were finding it difficult to get libcdio built. If you can manage to get that built, we're golden. :)

If we can't get libcdio working on all our platforms, we're looking at the very real prospect of writing our own compatibility library. Or at least patching libcdio so it works where it should. :P

Hi,

I installed a fresh copy of mingw32 today just for testing, and after fiddling a LOT with libcdio (mainly dependencies), I actually managed to get it to compile 100% :)

I then proceeded to build vj (checked out latest svn trunk), but the make process stopped dead on its tracks with this message:

src/jaguar.cpp:364:49: warning: missing terminating ' character
src/jaguar.cpp: In function 'void JaguarExecute(uint32*, bool)':
src/jaguar.cpp:1519: error: 'm68kClockRate' was not declared in this scope
src/jaguar.cpp:1514: warning: unused variable 'm68kCockRate'
src/jaguar.cpp: At global scope:
src/jaguar.cpp:91: warning: 'start' defined but not used
make: *** [obj/jaguar.o] Error 1


Then I realised I wasn't having any fun so I booted up my Falcon and started coding :). So, to be continued...


Title: Re: Virtual Jaguar Madness!
Post by: Shamus on September 17, 2009, 03:24:35 am
Yeah, trunk is broken ATM. I'll be sure to post here when it's working again. :)


Title: Re: Virtual Jaguar Madness!
Post by: ggn on September 17, 2009, 08:08:35 pm
Please do, I'm horrible at C, and I guess you guys are more experienced in fiddling with the source than me :)

In any case, my build environment (with libcdio installed!) will be waiting...


Title: Re: Virtual Jaguar Madness!
Post by: doctorclu on September 18, 2009, 03:57:04 am
I was trying to get the Macintosh version working again tonight.  Had it working before.  Strangely I could not get it to see the cfg file no matter where I put it.  Suck.


Title: Re: Virtual Jaguar Madness!
Post by: Shamus on September 19, 2009, 09:37:49 pm
Well, like I said in another thread ;) that issue is likely fixed in SVN. But you can still set some options in the GUI, even if you don't have a config. At least I *think* so. The code is supposed to have some reasonable defaults set up for just such a case. :P


Title: Re: Virtual Jaguar Madness!
Post by: rcoltrane on September 21, 2009, 12:57:42 am
I'm a HUGE Atari Jaguar fan (despite the fact that I've never had this videogame) so I've downloaded the latest SVN binary available (296 - 20080211), and I'm impressed by the improvements. AvP is near perfect, with small HUD glitches for moving parts (Motion Tracker/Map/GunSelection). Are those glitches fixed in your current WIP version?

Sorry for asking this but, do you have plans to release an updated version anytime soon?  ::)

Congratulations Shamus for your efforts with this lovely system and keep with the great work!!  ;D

Regards,
Roger.


Title: Re: Virtual Jaguar Madness!
Post by: Shamus on September 21, 2009, 05:03:03 am
Hi Roger, I'm glad you found some use for the emu. :) Right now SVN HEAD is at r300, so any graphical glitches in AvP are probably still in there. There's a few off-by-one bugs in the current blitter (most likely a result of not paying proper attention to pipelining issues :P) so that may be what you're seeing there.

No problem asking about updates either; I may be a bitter old coot but I'm not gonna bite anyone's head off for asking. ;) The short answer is there will probably be a minor release once the memory subsystem is in a usable state again followed by a major release once the blitter is 100% (or as close as we can make it). (Side note: It would be nice if someone *cough* reboot *cough* could make us some nice graphics for our GUI... ;D)

Thanks for you interest in the project! :)


Title: Re: Virtual Jaguar Madness!
Post by: SpiderJerusalem on September 21, 2009, 07:37:32 am
I may be a bitter old coot but I'm not gonna bite anyone's head off for asking. ;)

You're at the wrong forum for that too ;) (I mean biting heads off!)


Title: Re: Virtual Jaguar Madness!
Post by: rcoltrane on September 21, 2009, 01:09:27 pm
(Side note: It would be nice if someone *cough* reboot *cough* could make us some nice graphics for our GUI... ;D)

What do you have in mind for that? Do you want it to look more like the Project Tempest GUI (default WinXP look) or do you want it to be more customized (hardcoded)?


Title: Re: Virtual Jaguar Madness!
Post by: Shamus on September 22, 2009, 04:36:16 am
It's going to be more like ZSNES & ScummVM (or Doom3 for that matter). For a while I was seriously considering a 3rd party solution like GuiChan, and may still go that way. But we'd still need some nice looking widgets no matter which way we go. :) What's in there now is pretty much proof-of-concept and ugly, but functioning. :P


Title: Re: Virtual Jaguar Madness!
Post by: Shamus on December 09, 2009, 11:28:56 pm
OK, now that I'm in the middle of the memory subsystem rewrite I'm finding some interesting questions are popping up. So if those of you who have a Jaguar dev system could answer them, that would be great! :) The number one question as of right now is what gets returned when reading from a write-only address? Also, what gets returned when reading from an address that has nothing hooked up to it (like, say, $600000) and does it depend on who's doing the reading (68K, GPU, DSP, OP)?

In doing the rewrite let's just say that I was sorely tempted to chuck out the entire codebase but I think now that I can mold this festering pile of code into something useable. ;D I'm also seriously considering adding a debugger; anyone who has any interest in such a thing please chime in with your needs and we'll see if it's going to be possible. ;)

ALSO: Forgot to mention, trunk builds again, but I think the emulation is b0rken. Expect much b0rkenness over the next few months... :P


Title: Re: Virtual Jaguar Madness!
Post by: mellis on January 05, 2010, 02:50:29 am
I am currently working on getting GCC to generate code for the JRISC processors, and as a result, I have been looking for a working Jaguar emulator for Mac OS X.  I am happy to report that I was ultimately able to get Virtual Jaguar to build and run under Mac OS X, but I had to have the Makefile and fix a syntax error in one of the sources.  As a point of interest, I built it under Snow Leopard (10.6) for X86_64 using GCC 4.2.1.

My question is this: is building on Mac OS X intended to work out-of-the-box?  If yes, would it be helpful for your to have the modifications I had to make in order to get the build to work?  Is there a particular individual to whom I should send that data?

Also, what type of debugging features are built into VJ?

Thanks to all of the Virtual Jaguar guys for your hard work! 
     


Title: Re: Virtual Jaguar Madness!
Post by: Shamus on January 07, 2010, 03:50:04 am
You can PM the changes to me here or post them on the SDLemu forums. Link to the forums are at icculus.org/virtualjaguar.

To answer your questions, yes, the Mac port is supposed to work out of the box. If you built against SVN, then that's great! If not, then you most likely corrected stuff that's already been corrected. ;) As far a debugging goes, there is no real-time debugging support in VJ but this is a direction I'd like to take the emulator in the near future. Right now, it only generates lots and lots of text in the logfile which may or may not help you.


Title: Re: Virtual Jaguar Madness!
Post by: mellis on January 07, 2010, 01:55:00 pm
Thanks for the info, Shamus.

I built version 1.0.7, which is the last release version, I think.  So yes, it could well be the case that the Mac OS X issues have been tidied up.  I figured I'd offer the changes in case you needed them.

I am happy to report that, so far, VJ is working well for what I need it to do.  That said, if a real-time debugger finds its way in there, that would make it even better for me.


Title: Re: Virtual Jaguar Madness!
Post by: Shamus on January 23, 2010, 04:04:55 am
Just thought I'd drop a small note here: Work is progressing on an experimental branch ATM; will put in a call for artwork once it's in a semi-stable state. All I'm gonna say about it is that there are massive improvements to the GUI coming. :)

Just for the record: The last stable version of VJ is r300--if you're looking for something a little further along than 1.0.7, this is your best bet. BTW, I was running this the other day on my P4 desktop and was surprised to see it running so fast :o (I do most of the development on an old T42 Thinkpad with shit for video). Stay tuned, I may or may not put a blurb up on the website. ;)


Title: Re: Virtual Jaguar Madness!
Post by: ggn on January 23, 2010, 11:33:18 am
Good stuff Shamus! Do let us know when you need those gfx!


Title: Re: Virtual Jaguar Madness!
Post by: doctorclu on January 23, 2010, 03:21:24 pm
..... (I do most of the development on an old T42 Thinkpad with shit for video). Stay tuned, I may or may not put a blurb up on the website. ;)

Was that the ThinkPad with the really cool foldout keyboard?


Title: Re: Virtual Jaguar Madness!
Post by: Shamus on January 23, 2010, 03:57:36 pm
Unfortunately, the answer is no. Back when those were available I was running around with a Toshiba Satellite that had a screaming 75 MHz 486. ;)

http://en.wikipedia.org/wiki/Butterfly_keyboard


Title: Re: Virtual Jaguar Madness!
Post by: kgenthe on January 25, 2010, 04:38:08 am
Just thought I'd drop a small note here: Work is progressing on an experimental branch ATM; will put in a call for artwork once it's in a semi-stable state. All I'm gonna say about it is that there are massive improvements to the GUI coming. :)

Just for the record: The last stable version of VJ is r300--if you're looking for something a little further along than 1.0.7, this is your best bet. BTW, I was running this the other day on my P4 desktop and was surprised to see it running so fast :o (I do most of the development on an old T42 Thinkpad with shit for video). Stay tuned, I may or may not put a blurb up on the website. ;)

Keep up the good work buddy! I don't have anything to contribute to your work or the project, but I appreciate what you do.

I was stunned to find last year that all of a sudden there was a nearly perfect Saturn emulator (after reading for many years it would be impossible). It would be nice someday for retro fans who can't afford real hardware (kids without jobs and the like) and games to be able to experience the Jaguar.

And it would be nice to update my website with pixel perfect screenshots. Again, keep up the good work!


Title: Re: Virtual Jaguar Madness!
Post by: mellis on January 25, 2010, 05:55:18 am
Just thought I'd drop a small note here: Work is progressing on an experimental branch ATM; will put in a call for artwork once it's in a semi-stable state. All I'm gonna say about it is that there are massive improvements to the GUI coming. :)

Just for the record: The last stable version of VJ is r300--if you're looking for something a little further along than 1.0.7, this is your best bet. BTW, I was running this the other day on my P4 desktop and was surprised to see it running so fast :o (I do most of the development on an old T42 Thinkpad with shit for video). Stay tuned, I may or may not put a blurb up on the website. ;)

Thanks for your hard work.  I'm very pleased to be able test Jag code via emulator without having to employ a virtual machine that's running yet another OS. 

Once I get a moment, I'll have a look at acquiring r300.


Title: Re: Virtual Jaguar Madness!
Post by: Shamus on January 25, 2010, 09:41:56 pm
Oops, I just discovered that r300 is b0rken; I just checked out a fresh copy of r299 and it compiles and runs OK. Sorry if this caused any of you undue trouble. :(


Title: Re: Virtual Jaguar Madness!
Post by: kgenthe on July 19, 2010, 11:09:48 pm
@Shamus

Is this (http://forums.ngemu.com/sdlemu-official-discussion/112761-svn-repository-virtual-jaguar-6.html#post1848109) the latest version?


Title: Re: Virtual Jaguar Madness!
Post by: Shamus on July 21, 2010, 07:09:38 pm
For Windows, yeah, that should be r299. It's still pretty broken though, but better than nothing at this point. ;)