Jump to content
IGNORED

Any Cheats/Tips to Bypass 4-Sprite Maximum on Horizontal Line Limit in XB?


LynxHandyCaster

Recommended Posts

I tried enabling scanlines on the F18A, but as OLD CS1 points out it's the colour bleeding that creates a natural anti-aliasing. Scanlines also help, but it's just the way a CRT and vintage RF video output work together as a whole that does it (that would be tough to emulate even in hardware). Emulators try different filters to pull it off, but I've never seen one succeed (yet), and instead simply round off or blur the edges (which to me looks worse than jaggies.)

 

But as I said previously, if you can pull off having a stock console for that vintage CRT colour bleed, and an F18A equipped one for it's kick a$$ clarity, then you've got the best of both worlds.

Edited by PeBo
Link to comment
Share on other sites

I totally agree about CRTs vs LCDs, I prefer CRTs. A CRT can also pull off resolutions that LCDs can only dream about. I'm not a fan of color bleed though, or using color bleed to produce alternate colors. To me that is a failure of the hardware design. But, what is nice is that everyone can pretty much have the type of video output they prefer. :-)

  • Like 1
Link to comment
Share on other sites

One thing about the F18a, if I understand it properly, you can't switch the 4+ sprites per line on and off in software. Is this right?

I elected to keep the 4 sprite per line on limit on my f18a because I heard that some games use this limit to suppress certain sprites from being seen.
I actually use such tactic in a game I'm playing with writing.

If you can switch between in software that would be nice.

Link to comment
Share on other sites

back to the original question. try making tiles sequence that move left to right.

i.e. one tlle defined as middle, then 2 char to left, then 2 more char to left etc... start cycle the tiles giving an illusion of motion.

then compile in an XB compiler. about the only way in XB you will get more than 4+ sprites in XB.

Link to comment
Share on other sites

One thing about the F18a, if I understand it properly, you can't switch the 4+ sprites per line on and off in software. Is this right?

The F18A *can* change the sprites per line via software. The jumper is simply to set the default sprites-per-line limit when the F18A is powered on.

 

I elected to keep the 4 sprite per line on limit on my f18a because I heard that some games use this limit to suppress certain sprites from being seen.

That is true, however there are *way* more games that will benefit from having the 32-sprites default than the few games that rely on the 4-sprite limit. Just my opinion though, which is why I added the jumper setting.

 

Also, I made a change recently (V1.6 firmware) that allows you to have 32-sprites on a line but the 5th-sprite reporting works as if there were only 4-sprites on a line. This allows many of those games that used the 4-sprite limit to still work properly from a game-logic standpoint, with the side affect that you would still see the sprite(s) that would have been hidden.

 

I actually use such tactic in a game I'm playing with writing.

If you can switch between in software that would be nice.

You can switch in software. However, the F18A offers lots of sprite and tile enhancements that such tactics are really no longer necessary.

  • Like 1
Link to comment
Share on other sites

that is good to know. I'm writing (or trying to) a game in Clint's 'C' so much later on I would like to know how to detect the F18a and to see if anyone has the +4 sprites a line turned on turn it off while the game is running.

I assume I'll have to do that in Assm.

The F18A *can* change the sprites per line via software. The jumper is simply to set the default sprites-per-line limit when the F18A is powered on.

Link to comment
Share on other sites

I don't know anything about Clint's C, but I assume it must provide a way to write to the VDP. The assembly you need it very simple. Just remember to make sure you do this code *before* setting the other VDP registers. This allows you to not have to worry about detecting the F18A and your code will work on both original VDP and F18A systems.

*      F18A Unlock
       LI   R0,>391C        * VR1/57, value 00011100
       BL   @VWTR           * Write once
       BL   @VWTR           * Write twice, unlock

*      Set the max sprites per line to 4.
       LI   R0,>1E04        * VR30, value 00000100
       BL   @VWTR           * Write VR30

*      Set up VDP registers VR0..VR7

Link to comment
Share on other sites

 

I don't know anything about Clint's C, but I assume it must provide a way to write to the VDP. The assembly you need it very simple. Just remember to make sure you do this code *before* setting the other VDP registers. This allows you to not have to worry about detecting the F18A and your code will work on both original VDP and F18A systems.

 

*      F18A Unlock
       LI   R0,>391C        * VR1/57, value 00011100
       BL   @VWTR           * Write once
       BL   @VWTR           * Write twice, unlock

*      Set the max sprites per line to 4.
       LI   R0,>1E04        * VR30, value 00000100
       BL   @VWTR           * Write VR30

*      Set up VDP registers VR0..VR7

Oh, that looks simple. Clint Pulley's 'C99' has a way to insert assembler. probably best to turn it into a library later. thx

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