Jump to content
IGNORED

blitter access to line buffer


Recommended Posts

On 1/22/2022 at 3:24 AM, Stephen said:

images?q=tbn:ANd9GcTWElcwCvWpYH9AvPkokM9

 

haha.png

That is great. Why isn't there at least some alternating color on the road like in the oldschool games / checkered flag? Oh, that was a release verion. It took me some years to understand why clipping was so easy in Wolf3d, but so difficult for academics and graphic cards with guard bands and the saturn hardware. You may check my code to see that I thought about clipping. I mostly goes along the lines that I pin the vertices to the border. JRISC has no SIMD. I don't have to force everything into VEC3. I can just identify: This edge crosses this border, so x ( or y ) is already known. I just calculate the other ordinate. No 1 px gap.

  • Confused 1
Link to comment
Share on other sites

13 hours ago, Zerosquare said:

I see you've chosen option #1.

I have done the same thing with the C64 VIC II . At first you think it is easy. Then you see some limitations. Then you get to know that you need to hit a precise cycle to set a value .. and not to position something on screen while racing the beam, no it is some strange internal working. Then you learn that the effect doesn't work for the left part of the screen. Then you learn about changing the line counter for characters .. oh that is easy. Then you try it on the sprites .. and oh that is much more complicated and you cannot just terminate a sprite it seems. You have to write to it every scanline to make it stop early. So it is a forth and back of possiblities.

The Jag is on a the next level of complication.
How can you not start at #1 . For example, Atari said that you should use Grouraud because it is fast. The people bought the Jag for Doom and AvP, which are fully textured. So you have some kind of "attractivity" which is more a number. Back in the day, I saw wolfenstein3d ( illegal in our country ) and then some proud Mac owner showed me a flat shaded flight sim. Me and my fried immediately turned away. So see how the Atari advice was nuts? I never understood why people liked StarFox after F-zero . I mean for StarFox as it is would run on any computer of the day ( family computer ). You would not need to buy a console.

So you start to code and you encounter problems and you think you do something wrong and then stop or you switch to pixel graphics. People love the color banding on pixel graphics. Sega Genesis had it all. Seems like I have not chosen #2. The Jag is just too depressing.

  • Confused 1
Link to comment
Share on other sites

33 minutes ago, phoboz said:

@ArneCRosenfeldt I found your project on GitHub, is this related somehow to the discussion here?

https://github.com/A-C-Rosenfeldt/AtariJag6DoFtexture60fps

 

I must admit I don't understand much of it, could you please explain how to compile and run this on the Jaguar, or in an emulator?

I doubt this is anything useful. Just a bunch of "thoughts".

Link to comment
Share on other sites

I am amazed the way he codes, I see that he avoids using the processor registers. The operators usually only have integer numbers as operands in most of the cases. Then suddenly there is a C if-else-if block in the assembler code. He also manage to jump to these blocks using jump statements.

Link to comment
Share on other sites

1 minute ago, phoboz said:

I am amazed the way he codes, I see that he avoids using the processor registers. The operators usually only have integer numbers as operands in most of the cases. Then suddenly there is a C if-else-if block in the assembler code. He also manage to jump to these blocks using jump statements.

I think it is only "thoughts", no real code. Strange though.

Link to comment
Share on other sites

10 minutes ago, 42bs said:

<rant>Depressing is, if you write a game and have to sacrifice more and more of the gameplay to make it fit into 256B.*hmpf*</rant>

Ooops completly OT ?

I think he is a bot! Neither the statements he makes, nor the code he writes make any sense.

Edited by phoboz
  • Like 1
  • Haha 1
Link to comment
Share on other sites

4 hours ago, 42bs said:

OMG, found this in the readme:

"Don't know why they did not go with hyperthreading? "

 

<irony>I even wonder, why they did not give Tom 512K of RAM. Damn it, a simple RP2040 has already 264K of it.</irony>

 

Aha - no wonder extra memory is needed, to keep the game objects in C#.

Link to comment
Share on other sites

On 1/26/2022 at 4:21 PM, phoboz said:

I am amazed the way he codes, I see that he avoids using the processor registers. The operators usually only have integer numbers as operands in most of the cases. Then suddenly there is a C if-else-if block in the assembler code. He also manage to jump to these blocks using jump statements.

The type is in the mnemonic. HashTag is not used meaning "verbatim" or "literal" elsewhere, but I must say that I like it. So now the HashTags are back in.

I use register so much that the default meaning is the register number. Why else do you think there is a number in the target field?

I like parentheses and brackets, but why does verbatim has a start, but no end,  but indirection has start and end like tags in XML? Feel verbose. Better use one pointer symbol: *  ?

  • Confused 2
Link to comment
Share on other sites

36 minutes ago, ArneCRosenfeldt said:

HashTag is not used meaning "verbatim" or "literal" elsewhere, but I must say that I like it. So now the HashTags are back in.

I use register so much that the default meaning is the register number. Why

but how on earth can you, or the assembler tool you use (?) distinguish between a literal, or a register reference?

 

I didn't see that you even used the HashTag once in your code?

 

So the calculation in this file is only performed on random values, e.g. what ever was stored in the processor register before your calculation:

https://github.com/A-C-Rosenfeldt/AtariJag6DoFtexture60fps/blob/main/sphereCollision.asm#L13

 

Except that you use a special trick to zero r6:

XOR 6,6

 

Link to comment
Share on other sites

41 minutes ago, CyranoJ said:

Please look up the best 68000 command and execute it as a literal:


STOP

I  am just wondering if he will ever give up?

At least I am!

(because this might actually encourage him to go on)

 

@ArneCRosenfeldt I'd wish your persistence could be used for something more creative? I am sure someone here could help you if you wanted?

Edited by phoboz
  • Like 1
Link to comment
Share on other sites

7 hours ago, phoboz said:

but how on earth can you, or the assembler tool you use (?) distinguish between a literal, or a register reference?

 

I didn't see that you even used the HashTag once in your code?

 

So the calculation in this file is only performed on random values, e.g. what ever was stored in the processor register before your calculation:

https://github.com/A-C-Rosenfeldt/AtariJag6DoFtexture60fps/blob/main/sphereCollision.asm#L13

 

Except that you use a special trick to zero r6:


XOR 6,6

 

The assembler distinguises it by  "Q" like quick or "I" like immediate . Yeah I tried out what literals won't need 3 words of precious internal RAM. The code is not all glued together and also not using  English variable names does not always work (experiment failed). I have to give domain names to registers.

  • Confused 2
Link to comment
Share on other sites

29 minutes ago, ArneCRosenfeldt said:
1 hour ago, Stephen said:

It's a pound.  Because C : Enter, hash hash hash just doesn't have the same ring to it.

English is not my native language. We called it something entirely else. And later somehow people avoided to talk about code.

Sorry - it was a joke, and a very poor one at that.

  • Like 1
Link to comment
Share on other sites

2 hours ago, Zerosquare said:

That's the beauty of writing "ideas" instead of actual code. You don't need to worry about assemblers, or syntax, or hardware, or...

This can be extended to 3D code via Excel sheets full of number-wang cycle counting.  At least with spreadsheets, there is something to actually show!

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