Jump to content
IGNORED

cc7800, a C compiler dedicated to the Atari 7800


bsteux

Recommended Posts

To add a bit to the NTSC perspective...  Under a traditional NTSC CRT display, the display resolution is typically denoted as 240p.  There is, on average, 8 scanlines 'cropped' from the top and bottom portions of the screen.  240 - 16 = 224. 

 

Consequently, many NTSC 8-bit and 16-bit consoles advertised the 224p as part of the main or available number of lines of resolution, even when the system actually outputs 240p or some other value.

 

A great test thread was created on this topic a while back:

 

http://atariage.com/forums/topic/261266-testing-crt-screen-size/#entry3676087

 

It also confirm the majority average of ~224 visible lines for NTSC:

image.thumb.png.3814e53951f68abfda875aad8c0f9306.png

From a retail title perspective, the two titles that utilize exactly 224 lines to completely show the intended display (if centered properly) are from Froggo - Tank Command and Water Ski.

16 hours ago, KrunchyTC said:

Is 160x224 an optimal resolution for most 7800 games? or do lots of games need more processing time during vblank?

As karri mentioned, indeed, NTSC and PAL can show the playfield without large margins.

 

From @RevEng post:

 

The actual output resolution of the 7800 MARIA graphics chip for NTSC is 243 lines and PAL is 293 lines.  

Depending on code efficiency and how much 'action' is on the screen will better determine if 224 lines is optimal for any game.

 

Also, just because any giving title utilized a certain number of scanlines, does not mean the system could not handle more.  The difference between retail Ms. Pac-Man and Donkey Kong, and Ms. Pac-Man under Pac-Man Collection Remastered Edition, as well as Donkey Kong PK, demonstrate this very nicely.

 

Any critical/statistical information needs to avoid the outskirts of the display though, as clearly there is a significant number of NTSC CRT displays that show considerably less than 224 lines.  RevEng's Screen Safe is excellent for this demonstration:

 

  • Like 4
Link to comment
Share on other sites

I'll just add to what has already been said before that computation on the Atari 7800 doesn't rely as extensively on Vblank timing as on that Atari 2600. You can make some computations when Maria is displaying the screen, and with double buffering you can even prepare the next screen drawings in a "modern" way. And as you (your code running on the CPU) are not responsible for drawing the screen, you can even extend computations on several consecutive screens. Not all games need to handle 60 fps...

 

  • Like 1
Link to comment
Share on other sites

5 hours ago, bsteux said:

I'll just add to what has already been said before that computation on the Atari 7800 doesn't rely as extensively on Vblank timing as on that Atari 2600. You can make some computations when Maria is displaying the screen, and with double buffering you can even prepare the next screen drawings in a "modern" way. And as you (your code running on the CPU) are not responsible for drawing the screen, you can even extend computations on several consecutive screens. Not all games need to handle 60 fps...

 

I see, thanks for informing me on that :D

Link to comment
Share on other sites

7 hours ago, Trebor said:

To add a bit to the NTSC perspective...  Under a traditional NTSC CRT display, the display resolution is typically denoted as 240p.  There is, on average, 8 scanlines 'cropped' from the top and bottom portions of the screen.  240 - 16 = 224. 

 

Consequently, many NTSC 8-bit and 16-bit consoles advertised the 224p as part of the main or available number of lines of resolution, even when the system actually outputs 240p or some other value.

 

A great test thread was created on this topic a while back:

 

http://atariage.com/forums/topic/261266-testing-crt-screen-size/#entry3676087

 

It also confirm the majority average of ~224 visible lines for NTSC:

image.thumb.png.3814e53951f68abfda875aad8c0f9306.png

From a retail title perspective, the two titles that utilize exactly 224 lines to completely show the intended display (if centered properly) are from Froggo - Tank Command and Water Ski.

As karri mentioned, indeed, NTSC and PAL can show the playfield without large margins.

 

From @RevEng post:

 

The actual output resolution of the 7800 MARIA graphics chip for NTSC is 243 lines and PAL is 293 lines.  

Depending on code efficiency and how much 'action' is on the screen will better determine if 224 lines is optimal for any game.

 

Also, just because any giving title utilized a certain number of scanlines, does not mean the system could not handle more.  The difference between retail Ms. Pac-Man and Donkey Kong, and Ms. Pac-Man under Pac-Man Collection Remastered Edition, as well as Donkey Kong PK, demonstrate this very nicely.

 

Any critical/statistical information needs to avoid the outskirts of the display though, as clearly there is a significant number of NTSC CRT displays that show considerably less than 224 lines.  RevEng's Screen Safe is excellent for this demonstration:

 

holy...!

 

that 192 vertical, thats why master system games are so friggin squashed looking with the huge bars on the top and bottom!

Link to comment
Share on other sites

  • 2 weeks later...

Hi,

Here is cc7800 v0.2.25. It fixes a big bug with embedded assembler usage. It also introduces the "noholeydma" keyword, that allows the gfx to be put anywhere in memory when holey DMA is disabled (cc7800 otherwise assumes holey DMA is enabled and tries to put gfx data at the right place depending on "holeydma" keyword (when "holeydma" is set, cc7800 assumes is contains sprites, when "holeydma" is not set, cc7800 assumes gfx contains tiles - i.e. sprites that must be aligned on 8 or 16 pixels boundaries).

Have a nice coding !

cc7800-0.2.25-x86_64.msi

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