Jump to content
IGNORED

Scrolling (from memory buffer) and > 256 characters


mksmith

Recommended Posts

Yes. You can populate screen with 320B mode and will cost you in best case scenario 264 DMA cycles. If you want to scroll it will get little bit more complicated but you still have more cycles left than in indirect mode. 
 

edit: BTW for blank Tiles you can change address in to DMA Holey so you not wasting many cycles :) and you don't have to change Display List

 

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

5 minutes ago, Albert said:

That's fantastic!  What did you have to do to get the new links to work?

 

 ..Al

Well, there were a couple of issues, and honestly I need to still spend some time to understand exactly why it was breaking. First, I wasn't considering an ampersand in the cart path, so I added that capability.

 

But, even with that change it didn't work on the new style links. However, I wrote a new CORS proxy some time ago and hadn't updated JS7800 to use it. So, in addition to the ampersand portion, it now attempts to use the old proxy and if that fails, tries the new CORS proxy. I could probably remove the old proxy altogether, but I need to do some more testing to make sure all of the cases are covered.

 

Chris 

Edited by raz0red
  • Like 6
Link to comment
Share on other sites

On 8/29/2022 at 4:36 PM, Eagle said:

Yes. You can populate screen with 320B mode and will cost you in best case scenario 264 DMA cycles. If you want to scroll it will get little bit more complicated but you still have more cycles left than in indirect mode. 
 

edit: BTW for blank Tiles you can change address in to DMA Holey so you not wasting many cycles :) and you don't have to change Display List

 

Could you set something up for me? If it's fast enough and doesn't use too much RAM I'll probably use it for ICT2 and probably will use 160A to save on DMA.

Link to comment
Share on other sites

17 hours ago, Traxx said:

Yes

Nice.

Hey, I was wondering.... 

 

@Traxx, Remember when I said use 320C?

I just realised... I'd probably use Direct mode if you need more colors.

Or, just make 2 columns of sprites for the side greens, then if you need road details make another sprite in the middle. You could shift the DLL's to do some fine Vscroll stuff and when you run out of room, change the DLL to rearange the rows to do a coarse scroll.

Sort of similar to A800 scrolling.

I think I'll use that for ICT2.

Link to comment
Share on other sites

Mixed modes horizontal scroll

Tiles are 160A and 160B plus 16 sprites in 160A

Also blank tiles are now in Holey DMA so no DMA wasted.

My rough estimate tells me you can cover safely about 25% screen with 160B tiles.

Source code is mess at this moment, will attach later.

Enjoy

 

Direct Mode horizontal scroll mix modes 160A and 160B - JS7800 link

directMIXmodescroll.a78

  • Like 4
Link to comment
Share on other sites

Source code for Mix Mode

 

DL entry's for all tiles are 5 bytes long this time.

If you want swap between mode 160A and 160B you need update Write Mode

Also after all tiles I put one dummy DL, it will change only Write mode for 160A because all sprites are only 4 colours.

For 160B tiles you must update width to 6 bytes from 3. For blank tiles I'm updating only High address in DL to $F0 (Holey DMA)

Macro write_row is little mess but it's only for making new tiles from random numbers.

Enjoy

 

DirectMixMode_SourceCode.zip

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