José Pereira Posted March 29, 2014 Share Posted March 29, 2014 (edited) O.K. This had been talked many, many times and from me probably even more than from all the others together !... So I hope that it is the last time and I can have an answer that helps me. SCREEN: -> Antic4 -> 25charlines where 20 are the scrolling ones and the other 5 are static for the status area -> Status: charset0 -> Scrolling using alternating charsets like: charline1=charset1 charline2=charset2 charline3=charset3 charline4=charset4 Then it repeats again charsets1->4 four more times the same way (that is the scrolling 20charlines) I now wanna have 4soft sprites in [3chars + 1char_shifting] wide each. If I wanna have the soft sprites moving 4ways (then needing vertical and horizontal one more char for the shifting) and they can overlap between them , then how much tall/chars maximum each of them I can get? In PAL and NTSC but also these two if the scrolling part are in 32 or are in 40Bytes wide screen modes? P.s.- I wanna add one PM on each but the bitmap masking is only needed to be done on the soft sprites (PM0->PM3 just pass above or under according to the pre-set Hardware PMGs Priority). Edited March 29, 2014 by José Pereira Quote Link to comment Share on other sites More sharing options...
Rybags Posted March 29, 2014 Share Posted March 29, 2014 Limitation would be the CPU time involved in rendering the sprite. If it's a 2 char wide thing (in other words, rendered to 3 chars wide most of the time) then probably somewhere in the 12-15 chars high would be the limit assuming not much other stuff needs to go on. Also, WTH would you do Charset1, 2, 3, 4, 1, 2, 3, 4 etc on a screen like that instead of 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4 etc? Quote Link to comment Share on other sites More sharing options...
José Pereira Posted March 29, 2014 Author Share Posted March 29, 2014 Because that is a way I found some years ago to have less needed chars for each soft sprite in each charset. Let me explain: If here I have those 4soft sprites in 4charsets alternate and each soft sprite it's [(3+1_shifting)chars wide + (3+1_shifting)charlines tall] then at whatever (x,y) position they are the 4 will ever use only a total of 16chars. But in your way if you have each charset in 4 consecutive charlines then if all the 4soft sprites are in the same charset then you waste the same 16chars just for one, so the 4 would be 4x more needed and so on... In my way, if cpu allow, for example, 8 will only use 32chars leaving 96chars free for the gfxs where in yours you had just wasted the entire A8 128chars=1charset. P.s.- I wanna really know how much maximum chars taller to 4soft sprites but need to be in [3+1_shifting]chars wide. Thanks. Quote Link to comment Share on other sites More sharing options...
Rybags Posted March 29, 2014 Share Posted March 29, 2014 The limitations using 4 charsets will be the same regardless of how you interleave the character sets on the display. The limitation of how much softsprite area you can render is similar also regardless of how many objects. Having 1 big softsprite would allow more area than 2 or 3 smaller ones as the overhead is slightly less, but it wouldn't be by a lot. Regardless of how many softsprites, there is extra processing when you have multiple charsets like you specify. Both in DLI to change them, and in rendering since the routine has to work out the target for each row of data. Biggest overhead though in softsprites is the overall merge with background operation. Possibly some savings can be had on very large softsprite if it has solid areas that will always occupy the whole character and not need showing any background data - if there's enough of those types then it can be worth testing for, then the rendering can be straight up without needing to merge with the background. Quote Link to comment Share on other sites More sharing options...
José Pereira Posted March 29, 2014 Author Share Posted March 29, 2014 Maybe Popmilo and CreatureXL enter here and can answer you better than me in a coder's perspective because we three had been talking this for years. And from them it isn't all that hard to code and even if more cpu needed because of the DLIs for all those interleaved charsets. Quote Link to comment Share on other sites More sharing options...
Creature XL Posted April 1, 2014 Share Posted April 1, 2014 Short answer as for the moment, going to bed soon. Maximum should be 4 char lines. After that they kinda overlap the chars. Rybags, you do save chars with this method. Heli has 6 8x16 sprites and uses only 18 chars instead of 54! At the cost of 3k more memory for the additional sets and some cycles for DLI. However you need the DLIs for multiplexing PMG overlays anyhow. The rendering is slightly faster as you do not have to advance the pointers. The setup is a bit more complex. But having more then 48 tiles for gfx is all worth it. Look at the gfx from Heli :-) 3 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted April 5, 2014 Share Posted April 5, 2014 Yeah it is worth... I mean the 1,2,3,4... Fighting against the 128 limit polluted by soft sprite chars. It is so simple and not sure if any commercial game used that... Quote Link to comment Share on other sites More sharing options...
popmilo Posted April 27, 2014 Share Posted April 27, 2014 The limitations using 4 charsets will be the same regardless of how you interleave the character sets on the display.Jose really surprised me with that idea when he wrote about that for the first time As Creature XL mentioned - it does save characters per charset. As long as sprites are not higher than 4 chars, you only need couple of chars per sprite (depending on width of sprite). For something like 8 sprites per line with 3 chars width, you would need only 8x4=32. Instead of 8x4x4=128 in 'standard' method. And with rest of charsets containing same graphics, you can still use them for fast, "character sprites" (bullets and such). Quote Link to comment Share on other sites More sharing options...
MaPa Posted April 27, 2014 Share Posted April 27, 2014 If sprites are higher, just use more charsets. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.