Jump to content
IGNORED

Cosmic Ark Starfield


glurk

Recommended Posts

4 hours ago, glurk said:

One thing I did do was convert the 9-line font into an 8-line font, so the score part could just be a single mode 6 line, maybe with a block on either side.  I was going to do the energy bar same way, or maybe in mode 4.  If it helps at all, here's the font I made, it's only the numbers 0-9:

I generally try not to change graphics when porting except out of necessity, both for faithfulness to the original and due to being artistically challenged.

 

The font is actually 10 lines because of the dang copyright symbol, the only character with a tiny overhang. If it weren't for that one symbol I could have just used two vertically scrolled IR mode 6 lines to get the required 9-line height. Could have used IR 6 for the energy bar as well, but it was easier just to use mode B due to the way that it was generated. The whole score box could also have been done in IR mode 4, but I hate using that mode because of the DMA overhead and needing to pair up characters.

 

4 hours ago, glurk said:

EDIT:  I'm certain you've thought of it already, but you could have just one LONG star field line in memory, with the 2x-pixel and 0x-pixel stars patterned into it, and just LMS to various points along that line.  Basically like what you said already...

Could, but LMS only partly works because it only gives byte granularity. HSCROL per line is very expensive and also a PITA to time correctly to avoid ANTIC DMA wigging out. That's why I used multiple copies of the same line with different bit shifts. The other issue is that the starfield is also scrollable under program control, and rewriting all of the LMS pointers each frame is also expensive. I solved that by rewriting the scanlines, but multiple display lists are also possible as there's only about a dozen offsets in the sequence. Multiple display lists may actually be the only way to replicate the effect precisely as I believe the 0x/2x pixels depend on missile timing relative to horizontal blank.

 

  • Like 1
Link to comment
Share on other sites

I have no worries about minor changes to the graphics myself, especially if it's something no one would notice and it makes the programming easier.  I was going to replace the Imagic line anyways in mine, haha...

 

The star sequence is called xPosStars (RAM loc. $82) in Jentzsch's disassembly, and it has 10 iterations by +/-$0F going up and down from $0d,$1C,$2B ... $85,$94 (And you surely know that already).  And yes, according to the in-depth analysis some offsets are 16 and some are 17 but absolutely nobody is hardcore enough to ever notice that!

 

I'm only posting this as a "philosophy position statement," not because I think you need any help from me... ?

  • Like 1
Link to comment
Share on other sites

Great coders (programmers) whom spitball like this is exactly what makes the Atari space here worth visiting. Insights about how and why something is done exposes everyone to multiple techniques and their approaches. The cost benefit analyses are especially important in the discussion. Thank you for this wholly satisfying earnest and intelligent discourse.

Thank you Glurk and Phaeron!

  • Like 2
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...