Jump to content
IGNORED

7iX [WIP]


Pat Brady

Recommended Posts

18 hours ago, bizarrostormy said:

To be clear, the 7800’s display resolution is either 160x192 or 320x192.

The 192 figure is more of a safe area recommendation rather than a technical limit.   It is a throw back to 2600 programming under much older displays in which the cut off area was much greater, and visible area much smaller, than newer CRTs of the time during the 7800's heyday.

 

For the NTSC 7800, entire raw output is either 160x240 or 320x240.  How many of those 240 lines can been seen on a (CRT) display or actually put into use, even more so, practical use, is a different matter.   Dependent on the needs and programming code, enough 'MARIA' cycles have to be available for it.

 

Like its contemporary consoles (And even those of the 16-bit generation), 224 is typically the average number of scanlines that are visible under a NTSC CRT.  In harmony with that, there is a great thread on CRT testing via the 2600 console in which the majority of displays in the test averaged 224.2 vertical lines.

 

There are real world examples of well beyond 192 vertical lines being utilized under the 7800.  A couple of examples are the original retail games from Froggo.  Both Water Ski and Tank Command are 160x224.

 

Regarding homebrew titles,  Donkey Kong PK/XM is 160x216.  Froggie offers players the choose of a 'compatible' video mode that plays at 320x216 and a 'full' mode which displays at 320x224.

  • Like 6
Link to comment
Share on other sites

Thanks! I knew there were more than 192 non-VBLANK lines but didn’t know — and had wondered — what real CRTs would show. I may use that after I declare extra RAM. I like the idea of allowing players to choose. In my case it may even be feasible to let them choose an exact number (within some range) of lines.

 

For christo930, I don’t think this stuff fundamentally affects the answers to your questions about cartridge RAM.

  • Like 4
Link to comment
Share on other sites

  • 2 weeks later...

Development update: I had hoped to finish fill this past weekend. I had it working except in the last, most complicated case, which doesn’t do much unique but combines steps from a bunch of other situations. As I was doing that I realized that something I thought was clever is actually not. So, I am now in the process of undoing my not-so-cleverness, then I’ll fix that last case. The new code will do most of the same fundamental things, just in a different order and with different parameters.

 

I am pleased with the fill performance. The current code has some major inefficiencies but is already in the ballpark of the 5200 version, and much faster than the 400/800 version. I’ll eventually make it faster but this is fast enough for an alpha release.

 

I am still avoiding any schedule promises but getting closer to having something to share.

Screen Shot 2020-06-01 at 6.57.59 PM.png

  • Like 17
Link to comment
Share on other sites

  • 4 weeks later...

I have renamed the project to 7ix. The 7 is pronounced “K.”

 

First checkpoint attached.

 

It’s not really a game yet: no scoring, no lives, no level completion. But drawing and filling works and there is a rudimentary main enemy.

 

List of remaining tasks:
1. Fix sporadic post-fill display glitch.
2. Missing gameplay features. Life counter, scoring, level completion and advancing. 7ix as lines instead of dots. Better 7ix motion. Collision detection between segments? Sparx and fuse. Double 7ix. Title screen / menu. Pause support. Birth & death animations. 
3. Sound.
4. Higher resolution. Possibly configurable if it gets >192 vertical pixels.
5. Proper handling of one-button controller, Genesis controller compatibility if possible.
6. Faster filling.
7. Drawing mode.
8. Color selection.
9. HSC/SaveKey/AtariVox support including color choices.
 

EDIT: All of my testing has been in a7800.

 

EDIT: This version starts when you press the left button. The next release will start on either button.

 

EDIT: This version does not work on hardware. Hopefully the next snapshot will.

 

7ix-2020-06-25-A.bin 7ix-2020-06-25-A.a78

Edited by bizarrostormy
  • Like 11
Link to comment
Share on other sites

9 minutes ago, Jaden (JRH) said:

Great work on this so far! I'm really excited to see this one get finished. The only problem I have is that if you press up after moving left, the cursor moves a little more to the left for some reason. But that's probably not too hard to fix. Overall, really nice job on this demo.

 

Thanks!

 

You can only draw lines on alternating columns and rows. So when you’re on an odd-numbered column and move vertically, or on an odd-numbered row and move horizontally, you will first move one pixel in your previous direction. Both the arcade version and the 5200 port do the same thing. The arcade version’s resolution is high enough that it’s barely noticeable.

 

I initially hoped to avoid this restriction, and had worked on some algorithms to do it, but eventually discovered a wall configuration that can trap you. I didn’t want that so I adopted the restriction.

  • Like 3
Link to comment
Share on other sites

7 hours ago, bizarrostormy said:

 

Thanks!

 

You can only draw lines on alternating columns and rows. So when you’re on an odd-numbered column and move vertically, or on an odd-numbered row and move horizontally, you will first move one pixel in your previous direction. Both the arcade version and the 5200 port do the same thing. The arcade version’s resolution is high enough that it’s barely noticeable.

 

I initially hoped to avoid this restriction, and had worked on some algorithms to do it, but eventually discovered a wall configuration that can trap you. I didn’t want that so I adopted the restriction.

Ah, okay. See, I wasn't sure if this was something the arcade version did as well. I couldn't remember. But that makes sense. Still a really nice job!

Link to comment
Share on other sites

19 hours ago, atari2600land said:

Took this for a spin. Interesting how the only collision detection is the dots and not between them. A couple of times the 7ix went completely through the line I was drawing.

Good find. Currently 7ix cannot cross your line, but your line can go between 7ix segments after they are drawn.

 

I will resolve that discrepancy eventually. I have not decided which way to go. My initial thought was that it should detect collisions in empty space between segments. Now I’m thinking maybe not. One way or the other it needs to be consistent.

 

It will be much less of an issue once the 7ix segments are lines instead of dots and its motion is more random, a la the arcade version.

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

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