Jump to content
IGNORED

Klax, Atari ST to Jaguar conversion


JagChris

Recommended Posts

Weird

 

I stop by after what feels like a fairly long break and its like nothing changed at all.

 

I CAN'T believe we're still into this.

Hi Joe. Nice to read from you. :)

That's the way of the Jaguar ... when there's nothing new to discuss for a few weeks, people remember ancient lore. :)

  • Like 1
Link to comment
Share on other sites

So how is AOP: Dreamcast progressing?

 

What, we can't talk Dreamcast in here? Why not, that's practically the only subject nobody has dragged up so far. let this be the One Thread.

 

Not had much time.

Spent a couple of days fiddling with a Dreamcast.

It's tempting, to do the things i couldn't hope to do with the Jag, but there's too much else to think about these days.

Link to comment
Share on other sites

That 3D ramp looks really nice and its frustrating it will probably go no farther than that.

I probably should not do that (since I have lots of work on that new multiplatform game), but since I haven't yet switched to that codebase (too busy a week, as you can by my lack in the flamewar participation), I can go and devote an evening (or two) to Klax 3D.

 

The general consensus seems to be to stay away from benchmarking (but that's always been my thing, so no dice here) and do something more real-world-like.

 

So, I'll bite the bullet and implement double-buffering with blocks moving down the ramp and post a YT video. How's that for a more realistic use-case scenario ?

  • Like 1
Link to comment
Share on other sites

I probably should not do that (since I have lots of work on that new multiplatform game), but since I haven't yet switched to that codebase (too busy a week, as you can by my lack in the flamewar participation), I can go and devote an evening (or two) to Klax 3D.

 

The general consensus seems to be to stay away from benchmarking (but that's always been my thing, so no dice here) and do something more real-world-like.

 

So, I'll bite the bullet and implement double-buffering with blocks moving down the ramp and post a YT video. How's that for a more realistic use-case scenario ?

Sounds cool. I have a Skunkboard and a pretty decent vid capture setup, so if you would like me to create some vids of it running on real hardware, I will be happy to help.

  • Like 1
Link to comment
Share on other sites

Only more realistic if it's on actual real hardware, otherwise it's just as meaningless as any other VJ 'benchmarking'.

 

Typically a Benchmark is something of a fixed base, VJ isn't a fixed base, it varies from machine to machine, and I'd imagine it will also vary depending what CPUs you have running. Ultimately it will likely be different for everyone, so no, not a valid benchmark. Using a real jag, now THAT would be a benchmark we could all get behind.

 

Good luck with your endevour, and I wouldn't call this a 'flamewar' certainly my posts haven't been intended to flame.

  • Like 1
Link to comment
Share on other sites

 

Your true intentions at AtariAge become more apparent with each subsequent post... shame.

My true intentions have not changed (still want to produce stuff for Atari Jaguar, albeit in C / VRBasic), it's just my behaviour had to merely adjust for the attacks. As you can see from this thread - before the flaming began- it was merely technical discussion.

 

So, did we already establish the fact that I got a pretty thick skin and won't leave crying for my [long-dead] mom that 'there's a bad person on teh internet' ?

 

Or do you still want to participate in this funny (though, unproductive) flamewar ? I think we all had our fun and I'd hate to waste a weekend replying to further trolling. Not that it's not fun (,bitches) :-D

 

 

But, I'd prefer to actually do something productive. How's that sound ;) ?

Link to comment
Share on other sites

Sounds cool. I have a Skunkboard and a pretty decent vid capture setup, so if you would like me to create some vids of it running on real hardware, I will be happy to help.

Yeah, that would be helpful. It's much easier to just email the binary than to turn off the machine, insert the LPT card and set the whole thing up (which I read countless times that it just crashes, so it discouraged me from wasting time on it).

 

And to be honest, I'm also curious how much does the VJ on my machines embellish the performance. In my previous tests last year, it wasn't much (like 20-30%). But I'm doing the rendering in C differently now, so I don't really know for sure anymore.

  • Like 1
Link to comment
Share on other sites

Only more realistic if it's on actual real hardware, otherwise it's just as meaningless as any other VJ 'benchmarking'.

 

Typically a Benchmark is something of a fixed base, VJ isn't a fixed base, it varies from machine to machine, and I'd imagine it will also vary depending what CPUs you have running. Ultimately it will likely be different for everyone, so no, not a valid benchmark. Using a real jag, now THAT would be a benchmark we could all get behind.

Well, we still need a way of counting the frames. Some visual way....

 

I just got an idea - How about I implement a non-numerical visual counter - e.g. a red dot every frame, and an empty pixel behind it.

 

This way, we can count how many frames were rendered by counting the pixels. Someone will still have to use the stopwatch, though (no, I haven't got to implementing reading of the jag's timer register, yet). I could brighten up every tenth pixel to ease the frame detection.

 

How does that sound ? Any other ideas ?

Link to comment
Share on other sites

You could always release a cof of your stuff, there are plenty of people out there who would be willing to fire it up and let you know how it runs, like Stephen. Its understandable to want to keep something close to your chest in the early days, so if you want to work with specific people thats cool. But really, no point using VJ for benchmarks, stick to the real hardware, there are just too many complexities in the system.

 

I used to use an old small machine with an LPT interface in to work with my Alpine. I ran an old version of Linux on it and used the official Atari tools. just meant I needed to ssh to the box to work on code which suited me fine. Maybe worth looking into grabbing an old Pentium 1 or 486 machine from somewhere if you only have a parallel based Jag setup, rather than trying to get similar tools working under a more modern OS (unless you are rocking Linux, which will no doubt still work fine and dandy)

  • Like 2
Link to comment
Share on other sites

My true intentions have not changed (still want to produce stuff for Atari Jaguar, albeit in C / VRBasic), it's just my behaviour had to merely adjust for the attacks. As you can see from this thread - before the flaming began- it was merely technical discussion.

 

So, did we already establish the fact that I got a pretty thick skin and won't leave crying for my [long-dead] mom that 'there's a bad person on teh internet' ?

 

Or do you still want to participate in this funny (though, unproductive) flamewar ? I think we all had our fun and I'd hate to waste a weekend replying to further trolling. Not that it's not fun (,bitches) :-D

 

 

But, I'd prefer to actually do something productive. How's that sound ;) ?

 

Productive is always good and will always gain the respect and appreciation of the majority of Jaguar fans (there are some, however, who won't be happy whatever you do and however you do it, such is life). And I'm glad you had fun, I'm just not sure everyone else saw it that way all the time :/

 

But if your coding is as creative as your reimagining of the past, I'd say you should stick with it, nobody should squander such a gift :P (j/k)

 

You should probably also create your own thread if you're going to take it forwards, this one is a mess and I believe it might actually have some content relating to the topic title at some point...

 

Yeah, that would be helpful. It's much easier to just email the binary than to turn off the machine, insert the LPT card and set the whole thing up (which I read countless times that it just crashes, so it discouraged me from wasting time on it).

 

And to be honest, I'm also curious how much does the VJ on my machines embellish the performance. In my previous tests last year, it wasn't much (like 20-30%). But I'm doing the rendering in C differently now, so I don't really know for sure anymore.

 

Post something up here, I've got the most extensive array of Jaguar hardware for testing that I know of (GPU revisions, 50/60, PAL/NTSC) and my computer is always hooked up with a Jaguar, xRGB mini and Elgato GCHD for offering direct pixel-perfect 50/60fps feedback to those who don't have access to real hardware. I have offered to do this at least twice previously btw :0)

 

BTW, I've used BJL many times, only a handful of times did transfers ever fail. It was rocks solid for me. Don't be put off, you can have the card in there and the bios settings sorted in 10 minutes.

 

As for performance of your code on real hardware, at ejagfest we ran the Hero demo on my Jaguar at 60Hz and it ran just over 50% of the speed* of the emulated Jaguar on my laptop, we watched the two side-by-side and it was very close to 2 circuits on VJ vs 1 on hardware. Maybe my generic lappy is a lot better than CJ's alienware rubbish :P But it does highlight just how misleading an emulated Jaguar can be when you're in the early stages or not working from a known good base.

 

EDIT *over or under, I cannot remember which tbh, but it was very close.

  • Like 2
Link to comment
Share on other sites

Well, we still need a way of counting the frames. Some visual way....

 

I just got an idea - How about I implement a non-numerical visual counter - e.g. a red dot every frame, and an empty pixel behind it.

 

This way, we can count how many frames were rendered by counting the pixels. Someone will still have to use the stopwatch, though (no, I haven't got to implementing reading of the jag's timer register, yet). I could brighten up every tenth pixel to ease the frame detection.

 

How does that sound ? Any other ideas ?

 

Have a look at my post relating to GPU in Main. A better way and far more accurate would be to use the programmable timers. You can use these for really fine grained timing.

 

Another super simple way would be simply to put an addition into the VBI handler, every VBI increment the counter by 1. When your render code finishes stop the counter, or store it's value. You now know how many VBI's passed and therefore how many seconds in increments of 0.02s (50Hz) or 0.01666s (60Hz).

 

Getting the value out of the jag depends on your setup.. if you have a way of displaying text on the screen use that, if you have an Alpine read the memory location it's stored in.. if you have a BJL (or an Alpine). put the value in one of the 68Ks data registers and trigger an illegal.. BJL will give you a nice red screen with the contents of the 68Ks data and address registers.

 

how about those? much more accurate than a stopwatch :)

  • Like 3
Link to comment
Share on other sites

Another super simple way would be simply to put an addition into the VBI handler, every VBI increment the counter by 1. When your render code finishes stop the counter, or store it's value. You now know how many VBI's passed and therefore how many seconds in increments of 0.02s (50Hz) or 0.01666s (60Hz).

Actually, that's exactly the thing I was going to implement right after I got the double-buffering working, since then I could finally access an ASM-delcared variable in my C code. Which was 3-6 months ago, and I forgot about it since then. So, thanks for reminder !

 

 

A better way and far more accurate would be to use the programmable timers. You can use these for really fine grained timing.

Proper clock-precise timer is already in the Top 5 in my To-Do list (sitting gracefully on No 4), since I'll really need it only after I fix the Input (only one row of buttons working). But, I'll get there. Eventually :-D

 

 

Getting the value out of the jag depends on your setup.. if you have a way of displaying text on the screen use that, if you have an Alpine read the memory location it's stored in.. if you have a BJL (or an Alpine). put the value in one of the 68Ks data registers and trigger an illegal.. BJL will give you a nice red screen with the contents of the 68Ks data and address registers.

Oh, I made sure that my codebase allows for all kinds of debug-info display long time before I started doing 3D on jag. I can draw all kinds of combinations of text and numbers (e.g. single, tuple, triple) using a simple function call DrawNums ("xp,yp,zp:", xp,yp,zp).

I can even reserve a screen rectangle for the console-style output, so that I do not have to clutter the codebase with screen-space xpos,ypos for the debugging statements - meaning I just execute 5 calls to DrawNums () and they nicely format themselves beyond each other :)

  • Like 1
Link to comment
Share on other sites

As for performance of your code on real hardware, at ejagfest we ran the Hero demo on my Jaguar at 60Hz and it ran just over 50% of the speed* of the emulated Jaguar on my laptop, we watched the two side-by-side and it was very close to 2 circuits on VJ vs 1 on hardware. Maybe my generic lappy is a lot better than CJ's alienware rubbish :P But it does highlight just how misleading an emulated Jaguar can be when you're in the early stages or not working from a known good base.

 

EDIT *over or under, I cannot remember which tbh, but it was very close.

50% is not that bad as you made it out to be in previous posts. Yes, I understand I'd only get the exact number if I compared results from my VJ with real Jag. I'll get around to finishing my deployment set-up later this year.

 

 

 

As for the current progress, I implemented the smooth movement of the cube down the conveyor belt from the distant rows to the front.

I am ironing out some artifacts with the perspective side of the cube, but I suspect it should be done today.

 

I'm not posting any benchmarks now, but just a small hint - the cube does its whole movement from back to front in under 1 second, moving one scanline at a time ;)

Link to comment
Share on other sites

why dont you have a skunk??

Because there's no way in hell I am going to spend $200-$300 (or whatever stratospheric price it has reached recently) for that.

 

Could I afford that ? Yes. Are there more important things to spend that money on ? Absolutely :)

 

 

My understanding is that these things are now meant only for collectors - to catch a dust on a shelf :) , not help actual developers make games, correct ?

 

 

I don't even own jaguar. I only have one -temporarily- borrowed from WalterJ_64bit, who deserves a huge thanks for this!

I do own a small collection of jag games.

  • Like 2
Link to comment
Share on other sites

I don't even own jaguar.

I do own a small collection of jag games.

 

Erm.

 

Anyway, I look forward to you pushing on with your ongoing Jag projects Vlad! :thumbsup:

 

As has already been 'touched' upon, would be nice to see your stuff running on actual hardware too in the future. I'm presuming that when time and money (and life!) allows, that you're probably going to acquire the necessary stuff required to achieve this anyway? I mean, surely you'd want to, tbh! :)

Link to comment
Share on other sites

50% is not that bad as you made it out to be in previous posts. Yes, I understand I'd only get the exact number if I compared results from my VJ with real Jag. I'll get around to finishing my deployment set-up later this year.

That's the only figure I've ever used to state how it compared. You're confusing me with someone else.

  • Like 1
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...