Jump to content
IGNORED

Jaguar emulation at last!


patters98

Recommended Posts

but the 3D stuff on the Jag isn't done solely by the blitter, some games use 68000 for it (I recon CHeckered flag does this :/ ), others will use a combination of Blitter, GPU and DSP as well as 68000 to render a 3D scene.  And as it's not an API 3D engine in there it down to programmers style, so each game will most likley have a different approach to 3D, somone may use polygons, someone else may use infinite planes.  Each person may produce a polygon in a different way.

 

Did you actually understand a word I typed? I coded the jag for 6 years: I frickin' co-wrote BattleSphere with Doug (and specifically wrote the polygon engine): I know how the damned thing works better than anyone short of another jaguar developer or an emulator author. I think I know how well the aforementioned approach would work. And what the heck are you raising infinite planes for? Technobabble -20, nice try though, did someone give you a free PowerVR T-shirt or something?.

 

I could be wrong on this as I am just starting on the road of Jag Dev, but from what I have read, I think I am right on this.

 

Go back and read some more: I'm talking about mapping blitter commands and video memory accesses directly down to polygon commands: the bottom line is that one-way write access would be easy, reading back the framebuffer would be the tough part unless it was done with the blitter itself at which point it could all be pipelined through Direct3D or OpenGL (check out Game Programming Gems I for just such an approach to lens flares in Direct3D). Since the task I took upon myself after BattleSphere was writing an OpenGL for Nuon, I suspect I know a great deal more about both the jaguar and 3D APIs than you do.

 

But I can already think of one case that would trip this up: using GPU RAM as a blitter cache. But even that's not so tough to get around: just copy the source memory off somewhere else (again, into a source texture) and set up a series of blitter commands off of the copied (rather than the original) memory. Slow? Nah, Pentium 4s and Athlons perform straight line copies at terrifying speeds. And this is all pretty basic 3D driver engineering (which is what I do for a living now only they call this concept "renaming" in the DirectX docs, see D3DLOCK_DISCARD), OK?

 

If anyone had ever released a HAM mode video game, that would have been trouble as well. Fortunately, I think only Kris Bailey at H2O even knew that could be done with the object processor and he found it was not all that more efficient than just using the blitter or the GPU As far as I know, all shipping polygon titles (CyberMorph, BattleMorph, SuperCross, Club Drive, I-War, Zero 5, Fight For Life, Missile Command 3D, BattleSphere, HoverStrike, Checkered Flag, Wolf3D, Doom) use the blitter for polygons (maybe Skyhammer doesn't?).

 

Bottom line: I claim I could expand the resolution of any polygon game that uses the blitter for all of its polygon generation, add texture filtering, and do it faster than any software emulated approach. 3D chips are beaucoup fast these days with HUGE input bandwidth.

Link to comment
Share on other sites

Heh... oh, I'm sure it could be done.  there's been a debate on the PT boards about it, actually.  I think the problem is coming to an agreement on exactly how it can be done, and if it can even be done without murdering the frame rate.

 

So while we're on the topic, here's an immediate optimization to recover actual triangles (and even textures) from single scanline blitter commands. When you issue the first blitter command, save the left and right starting positions. Do the same when you issue the last blitter command. Every time the increment from one scanline to the next changes in magnitude, sign, or both, save that vertex too. Voila, you've just recovered an intact polygon from a bunch of individual commands. Now triangulate the sucker and send it to the 3D hardware of your choice (there are some minor complications that could arise here, but get 99% of the polygons working before worrying about this). If you're texture mapping, note the source pointer to the texture in memory, and its width, and round its height off to the nearest power of 2 that contains all the texture coordinates of the vertices you just collected. Now create a texture and fill it with all that data: converting it to RGB while you're at it. Now hash that texture's source pointer and width, save the height, and now you can recognize it quickly on the next and all subsequent frames.

 

The only trick now is to make sure those textures stay current by setting page faults whenever their memory range is touched in order to alert one to refresh that texture from jaguar memory the next time it's used. If you're not texture mapping, well then just grab the CRY colors from the vertices and convert them directly to RGB and off ya go. Isn't it fun to mess with the mind of old code and hardware?

 

Now I'm utterly convinced this puppy would fly...

 

And if there's someone out there with no life on par with the guys who wrote ASCIIQuake, here's the megabonus round. Take all those textures just pulled dynamically out of the jaguar game as ti ran and write them to files. Now go into photoshop and crank up their resolutions to whatever you like. Now put hooks into the emulator to automatically replace the original textures with these "improved" textures. It'll be even better than Combat Rock I tell you.

Link to comment
Share on other sites

That ... might actually work.

 

The only niggle I can see is that converting from CRY to RGB will alter the colours slightly. CRY has a bit of a wider pallete than RGB, and although it wouldn't be that hard to write a proper conversion table, you'd still have to do it on the fly, which would be a bit of a performance hit, and you'd be left with not quite accurate colours (CRY->RGB conversions tend to darken the RGB image slightly, but you might be able to compensate for that a bit by bumping the gamma a little. It's a hack, but just a little one...)

Link to comment
Share on other sites

opressor, you never actually said you wrote that, you just reference the way it works in BS (which doesn't automatically say you wrote it, just you know how it was done).

 

I think you should calm down a wee bit, you probably are right, I choose to think otherwise.

 

Won't your idea have to render all the scenes in the Jag emu hardware and then your code pulls the 3D scene out of that data and re-renderes it? (this would take more cycles to do surely and slow down the emu? just for higher screen res for games that weren't designed for higher res? )

 

I think getting it all working software is best bet.

Link to comment
Share on other sites

Yeah! just buy the real thing! It works fine and is cheaper and cooler...and with JUGS/BJL/cdbypass stuff out, there isn't a need for it for development either...it's cheaper to get Battlesphere Gold, Protector:SE or even a modded

bjl Jaguar! But then I'm biased and think emulation SUCKS! Get the REAL deal is my motto! :P

Link to comment
Share on other sites

Won't your idea have to render all the scenes in the Jag emu hardware and then your code pulls the 3D scene out of that data and re-renderes it? (this would take more cycles to do surely and slow down the emu? just for higher screen res for games that weren't designed for higher res? )

 

I think getting it all working software is best bet.

 

No, all it needs to do is monitor whenever there's a write to B_CMD and then extract the current values of the input registers, which is what software emulation is doing already. It's what would be done next that would be different. And it would end up faster, not slower than software emulation since the blitter would now run for free, rendering entire triangles as opposed to single scanlines.

 

But I actually agree that software emulation should be finished first. And most people are too cheap to upgrade their video cards to something remotely current anyway. So even though they'll need a 2-3 GHz CPU to run this emulator effectively, I'm 95% certain they'll hobble it with a 5 year old video card because $120 is $120 too much I say! Besides, you think an emulator author is going to share source code and/or provide an interface for someone else to add to the thing? BWAHAHAHAHAHA.

 

As for owning the real thing, of course that's better, but sheesh, in the long-term, all of our jags are going to die, and I'd like to make sure BattleSphere can be played decads into the future for anyone crazy enough to still want to play it. I won't be writing this anytime soon though, mark my words.

Link to comment
Share on other sites

As for owning the real thing, of course that's better, but sheesh, in the long-term, all of our jags are going to die, and I'd like to make sure BattleSphere can be played decads into the future for anyone crazy enough to still want to play it.  I won't be writing this anytime soon though, mark my words.

 

Says you! I for one, will have a working Jaguar 50+ years from now, assuming I live that long, and if not, then one of my decendants will have it. I have enough spare parts to build another, two extra Jags, one of which is used occasionally for Jaglink, the other awaiting the day I run out of spare parts to keep my other two running, and I plan on buying more in the future to guard against ever having to emulate! If you take care of your equipment, barring any disaster, electronics can last indefinately. I have electronic equipment dating back to the early 50's through to present and it all works as good as the day it was new! Some of it I've brought back to life, some worked when I got it, and still do, some I got new and I take care of it all and it all works fine. I know how to take care of it properly to make it last and I know and/or am learning more about electronics everyday and will keep all of my stuff running as long as I'm alive. I won't ever HAVE to resort to emulation, although I may use emulation at some point in the future for what ever reason, but not becuase it will be the only way to play the old games...I'll burn the roms on home-made pcb's if I have too! :P

 

Besides...I wouldn't be so confident in emulation diong the trick for you decades from now...let me guess; several decades from now you'll be using an 800(?)hz computer, emulating a 50(?)hz computer, emulating a 1(?)hz computer, emulating a 800Thz computer, emulating a 50Thz computer, emulating a 1Thz computer, emulating a 800Ghz computer, emulating a 50Ghz computer, emulating your current 1.5/2Ghz computer, emulating the Jaguar? SURE...that'll work with a bunch of bugs in all those emulators running within emulators so you or I can still play Battlesphere. :roll: I'm confident I'll have infinately better success in keeping the original equipment running, even if I have to fabricate my own replacement parts... :!:

Link to comment
Share on other sites

Besides...I wouldn't be so confident in emulation diong the trick for you decades from now...let me guess; several decades from now you'll be using an 800(?)hz computer, emulating a 50(?)hz computer, emulating a 1(?)hz computer, emulating a 800Thz computer, emulating a 50Thz computer, emulating a 1Thz computer, emulating a 800Ghz computer, emulating a 50Ghz computer, emulating your current 1.5/2Ghz computer, emulating the Jaguar? SURE...that'll work with a bunch of bugs in all those emulators running within emulators so you or I can still play Battlesphere. :roll: I'm confident I'll have infinately better success in keeping the original equipment running, even if I have to fabricate my own replacement parts... :!:

 

What do you mean by that? I can play emulators that were made for 486's and stuff on my 1.1ghz, fine. So speed isn't an issue(unless it's one of those really old dos games that you have to slow down your computer for), I think it will be mainly the OS we're using. If MicroShit decides to not make their new os compatible with the old stuff, or if we all start using a different os, then yeah the old emulators probably won't work. But I don't think the speed would be such an issue that you'd have to have like 40 emulators running at once :P

Link to comment
Share on other sites

What he is saying is that in 50 yrs time we most likley won't be using a PC, but something else, possibly 2 or 3 generations after the PC, so you would potentially be able to emulate each previous generation of machine within an emulator, and then an emulator within that to emulate it's predecessor etc etc, until you get back to a PC and then run project Tempest.

 

If this were the case then you could be running buggy software under buggy software under buggy software. So it is likley to be a bit pap :)

Link to comment
Share on other sites

Exactly! Who knows what will be the dominant type of computers in the future, and I certainly wouldn't count on someone being willing to write a new emulator for the Jaguar for whatever current machine we are using then, it's hard enough, with such a small current fan base to get people to write emulators even now, several were started and went nowhere, and finally we have one that kind of runs a few games...the fan base will only get smaller and smaller for the Jaguar too, until I'm the last one... :D I certainly won't be writing an emulator for it, I'll play my games on my jerry-rigged original Jaguar with the replacement parts I've fabricated to keep it running... :D Actually, I plan on having a Jaguar that's been in storage, well protected, that I'll pull out then and it will work fine! 8)

 

Plus, you hit the mark yourself ICECOLD, when you mentioned playing really old DOS games and having to slow down the computer...those really old DOS games are only like 15 years old...what about in twice or three times that amount of time, even if Microshit is still in control and attempting to keep their machines backward compatible; just look at the problems people are having running Win95/98 software on WinXP, and that's only 5 years!

Link to comment
Share on other sites

How well do you think your jaguar carts will hold up though? They may hold up very well(most 2600 carts I've had experience with work) or they could be like NES carts where any of them that have very much use don't work worth a crap. So maybe you should buy doubles of your games you play most often.

Link to comment
Share on other sites

How well do you think your jaguar carts will hold up though?  They may hold up very well(most 2600 carts I've had experience with work) or they could be like NES carts where any of them that have very much use don't work worth a crap.  So maybe you should buy doubles of your games you play most often.

 

This is a possibility, that's why I mentioned making home-made pcb's and downloading the Jag roms to them! That's what carts are...pcb's. But I like to believe that with proper care, the Jag carts will last as long as 2600 carts.

Link to comment
Share on other sites

I should keep my mouth shut though because I WANT you to sell your doubles...    to me!  :D

 

Don't worry, as I buy doubles for the boxes I'm missing, I'll still sell them to you. I like working with electronics, that's my hobbie and hopefully near-future career, so making PCB's and downloading Jag roms to them will be half the fun for me! :)

Link to comment
Share on other sites

you wouldn't need to copy the ROMS across, just make new boards for the originals and resolder the IC's inside onto them.. as long as you are careful.. there whouls be no probs :)

 

and I will be the last Jag fan (I plan to hire a crack team of mercanaries to come and bump you off and steal all your Jag stuff when it's just you and me left... DAMN did I say that out loud ? :) )

Link to comment
Share on other sites

I'm not even a jag fan... yet. I only have 1 game, so that's why. Once I get the game from Gunstar, and I get some more games, I may be a jag fan. I guess I'll just have to wait and see. If I do become a jag fan though, then I'll be the last as I'm younger than either of you, so theoretically I'll be around longer, to be the last :P :D . But then again, you guys will probably have kids that will love the jag as much as you 2 do, so maybe I wont' be the last :sad:

Link to comment
Share on other sites

Or the mecanaries will call round your house too :)

 

What game you got?

 

I recommend getting hold of PItfall Mayan adventure, VERY shiney game.. I also like Raiden and FLipout quite a bit.

 

May your ebay quests go well young grass hopper.. I have a Brutal Sports football for sale if your interested.. not my cup of tea really

Link to comment
Share on other sites

the game I have is cybermorph. Will you accept trades for Brutal Sports Football? I can't even enjoy my jag though, because I don't have the AV cables, I have RF and the picture quality is so bad it's not even playable. I hope it's just the rf, not my Jag and that if I get AV cables it will fix that.

Link to comment
Share on other sites

what you thinking of trading for it?

 

I'd check ebay out for AV cables. I saw one on there today, but that is a UK auction.

 

Or if you can I read that someone pumped their system through a signal booster and got a perfect picture.. perhaps you should try that (also make sure that only theJag is plugged into the TV.. if thereis a video or something else, that will most likley interfere as I think they tend to be on pretty much the same channel.)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...