Jump to content
IGNORED

Question about how GPU code is defined/copied in Atari 3D Renderer Sample


Sam Bushman

Recommended Posts

@Chilly Willy What is the current version of vasm ?

1.7c. It's from Dec 2014.

 

About jagrisc does it compile 68K and risc with one vasm executable ? Also I think VBCC doesn't support vasm (jagrisc) now or does it ?

Vbcc doesn't have a backend for jrisc yet. You need separate compiles of vasm for different cpus. Yeah, I can see how that would put a damper on mixing 68000 and jrisc assembly in the same file.

Link to comment
Share on other sites

I just built and tried rmac with the 3D example project (thanks for all the work on VJ and this Shamus ;) ). Sadly, it appears that rmac has issues handling a forward reference in drawpoly.inc :(

Which sources are these? Can't tell a gosh darned thing without them. :)
Link to comment
Share on other sites

I originally got a copy of this demo from one of the Jaguar Sector 2 disks. I am hosting the files on Google Drive atm. You can find them here: https://drive.google.com/folderview?id=0BwEuTnT36ZWoazIyY25mZFZwa0U&usp=sharing

 

I'll only keep the folder shared for a day or 2. If you already have a copy, let me know.

 

Thanks for the feedback so far. In the mean time, on to try using DosBox.....

Link to comment
Share on other sites

OK, fixed the spurious "undefined register equate" error. New version of RMAC (1.3.2) is up at the usual place. :)

 

Now just have to deal with the vbcc compiler errors now. :P

How about an old gcc compiler error? :)

 

This is a test file generated by the old AGPU GCC:

http://pastebin.com/y8gqTLgW

 

You get this from rmac:

 

[include: TEST.S, cfileno=65535]

TEST.S 122: Error: bad (section) expression

TokenizeLine: Calling fpop() from SRC_IFILE...

[Leaving: TEST.S]

[fpop (pre): curfname=TEST.S]

[fpop (post): curfname=]

[fpop: (pre) cfileno=0 ifile->ifno=65535]

[fpop: (post) cfileno=65535 ifile->ifno=65535]

Assemble: Found TKEOF flag...

This test file gave an error at the same line in smac. The problem was that the compares were all using the wrong checking of the argument types. Not saying that's the problem here, but it would be the first thing I checked given what I found in smac. Changing the compares in smac to do the same check as done by the subtract operation fixed the issue.

Link to comment
Share on other sites

This gets interesting :-) would be great is the GPU GCC can be used for real

 

95% of the requests in this forum come from people who never, ever release anything, or produce anything useful. No point in asking for food you won't ever eat. Try and consume some of the goodness that is already in the cupboard first.

  • Like 1
Link to comment
Share on other sites

For many people, C is just easier than assembly language. While it's ultimately better to use pure assembly on the GPU or DSP, many folks could get by for many games with C. Having the C compiler for the GPU/DSP means people who would otherwise not use them because they aren't comfortable with assembly can actually use the GPU or DSP. It's like Raptor - rather than force people to write GPU/DSP assembly, Raptor allows folks to use the GPU and DSP for predefined actions. The C compiler would be like that, only more flexible but not as fast.

  • Like 2
Link to comment
Share on other sites

For many people, C is just easier than assembly language. While it's ultimately better to use pure assembly on the GPU or DSP, many folks could get by for many games with C. Having the C compiler for the GPU/DSP means people who would otherwise not use them because they aren't comfortable with assembly can actually use the GPU or DSP. It's like Raptor - rather than force people to write GPU/DSP assembly, Raptor allows folks to use the GPU and DSP for predefined actions. The C compiler would be like that, only more flexible but not as fast.

 

Seems obvious that lowering the bar enables a wider range of people to get involved. Nobody would argue against that, the logic is sound.

 

The issue people might have is that, no matter how low the bar gets or who asks for this, that or the other (not stating anything specific here, just any old barrier to participation on any level), the likelihood of certain people actually making use of "it" (whatever currently has them waving their flags or praying to their favoured deity) is slim to none. Maybe put it down to years of fatigue and being cynical, jaded old fucks :)

 

It's sad but true that some will enjoy to concentrate on and champion the more ethereal aspects of Jaguar development, the elusive last remaining barriers between them and actually sitting down and making stuff happen, rather than, well, just sitting down and making stuff happen.

 

... such perfectly packaged excuses to rationalise away a slender body of work.

 

Like I said... jaded old fucks :)

Edited by sh3-rg
  • Like 3
Link to comment
Share on other sites

Getting the gcc to work on gpu/risc was a project at Atari development. Highvoltage seems to be the only developer that made a seperate tool to make full use of this compiler potential only to bad this tools is lost...

 

The gcc seems to output pretty decent risc code, only had a few issues, Chilly knows what I mean. Have the full developers toolchain with gcc for cpu and risc would be cool. Atari never succedeed to get the full working version released, the were close but missed the last few bits.

Due to the fact nobody did know the story around the gcc development for the risc and no examples where released it seems like it didn't exist.

 

But last year we got a lot of detailed information about all this, and these stuff made the puzzle almost 100% complete. It seems the gcc compiler was more usefull then we thought it was always there for all those years.

 

Highvoltage write a memory manager for gpu that did swap in/out little pieces of code. These pieces where written in C and compiled to risc asm by this gcc compiler. Then they did fix some known issues in that code to make it work. It was a fully automated process.

So the compiler works, when the fixes can be done in smac or rmac the full chain is complete.

 

When this can be done the Jaguar has a GCC compiler suite for all chips would be great when this could be done even after so many years...

Link to comment
Share on other sites

When this can be done the Jaguar has a GCC compiler suite for all chips would be great when this could be done even after so many years...

 

And then we'll see some really great games from all those people waiting for this....

 

Err, I see where your master plan fails :P

Link to comment
Share on other sites

Ok this point has been made, I read it everywhere.

 

Seems this is the answer to all ideas or things written. Time to logoff for me, flaming seems pretty normal at AA I guess.

 

Well, you've spent the past 4 years saying 'interesting, can we do xxxxx' and never actually done anything with any of the things given to you. Go play with whats out there, then come back and ask for new stuff :)

Link to comment
Share on other sites

Well, you've spent the past 4 years saying 'interesting, can we do xxxxx' and never actually done anything with any of the things given to you. Go play with whats out there, then come back and ask for new stuff :)

I didn't ask for anything new, I asked for a bug-fix on the assembler that just happened to be found in assembly turned out by the compiler. That same bug could have been found in hand-written assembly just as easy.

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...