R6502A, on Thu Nov 4, 2010 9:52 PM, said:
Hello,
I've decided to attempt write a game for my beloved Atari 800XL. The intention is to write a horizontal scrolling game in the vein of R-Type and Section-Z, that makes user of the Atari 8 bit strengths/weaknesses.
I intend to post xex files of my progress and welcome advice any of you may have. Once complete I might post the source code for all to see.
I'll start by setting up a display list using Antic mode 4 lines and run a continuous scroll between two screens (Updating graphics as I go) i.e. (screen A, Screen B, Screen A (A copy)). A DLI routine or 2 will change the character set on each line (24 in total) and each will use the 80 characters for the screen area.
A software sprite routine will write to the character set area and using a character screen opens up the possibility of coarse character based sprites, which will be probably be used for weapons fire.
R6502A
Hi, don't know if this helps, but I am with an A8 8way scrolling Game in Hands and was for all ways trying to get space for SoftSprites and stil uses real ANTIC4 CharMode with less Memory/Charsets I could get.
And I discouver (seeing the game Maps) that Scroll them horizontally The Font of Line0 are different from Lines 1and2.
And because the Sprites moves 1pixel horiz. and 4vertical a time (Isometric) I change the C64 sprites 21pixels high into 20pixels.
The Charsets are "interleaved", like:
CharLine0: CharSet0
CharLine1: CharSet1
CharLine2: CharSet2
CharLine3: Charset0
CharLine4: Charset1
CharLine5: Charset2
(and so on...)
now each SoftSprite when moves Horizontal have 3+1Char(Shifting)
and Vertical only 3Chars, because moving 4pixels done, when he enters in the next Charset0, he is already out the firs Line CharSet0.
This is the same as saying that the same SoftSprite cannot be in different Lines and 2Times/Lines in the same Charset.
And now I can, for ex. have more SoftSprites and less Chars space needed in each CharSet.
For an Horizontal Scrolling, and I have many Maps from many ones (Gradius, Salamander, R-Type, Armalyte (by hand...),...) or even your own new, you have possible to design Backgr. Gfxs. Horizontally and that:
-> SoftSprite:20->24pixels High need are 3+1 (shifting) Chars needed vertically
-> Like this using my Method you would need:
CharLine0: CharSet0
CharLine1: CharSet1
CharLine2: Charset2
CharLine3: CharSet3
When moving Horizontal you need 3+1(Shifting), Vertical same 3+1(Shifting).
When he goes to the next CharLine0, he already leaves the last Carset0 CharLine.
Now a SoftSprite only needs 4Chars each.
In my case 8SoftSprites needed are 32Chars. and have 96free for the Backgr. Gfxs. They are even more than I need!...
You probably can design Gfxs. with just 96Chars for each CharLine... and 4Charsets/4Kb needed.
See, instead you go into place Tiles in a pseudo-BitMap you probably will have less Memory needed and just Chars, moving and placing real Chars/Tiles.
Hope you understand and it helps you in some way...
Greets.
José Pereira.