Jump to content
IGNORED

Atari 7800 ROM size Achilles heel?


Tidus79001

Recommended Posts

With the 7800 XM nearing completion I can't help but think of all the new amazing possibilities for how it could transform the 7800 homebrew scene. That being said even with all the amazing things that the 7800 XM will bring there is still one roadblock acting as an Achilles heel for the 7800, and that is the ROM size limit currently at 144K. The largest 7800 ROM's are at 144K and when you compare that to the 6 mbit ROM size of some NES games this severly limits you if you want to create games on an epic scale to rival some of the best titles on the NES. An Atari 7800 SD cart such as SainT is considering after the Jaguar SD card would definitely solve this, however with that being said I don't see it as a viable option for homebrew sales as most hombrew programmers are loathe to that possibility as it makes copy the ROM and pirating very easy and its quite understandable that they want to protect the value of their ROM. Are there any viable options for ambitious Atari 7800 homebrewers who would want to create Atart 7800 epic scale games, and sell physical cartridges of them that don't have the inherent risks of virtual ROM sales or SD cards distribution.

 

I hope no hombrew programmers take this post as a snub to the amazing ROM's that they have created so far as I have been and continue to be amazed with what already has been accomplished so far. All that being said with respect to the homebrews that have come before the possibilities opened up by the 7800 XM bigger ROM sizes will be crucial in order for the 7800 to continue to grow and finally see the envelope pushed realize to true potential the Atari 7800 hardware.

Link to comment
Share on other sites

As far as ROM size is concerned, there's nothing preventing larger cartridges nowadays. The most likely reason for the "limit" of 144K (128K + 16K) is that, back in 1987, 128K was the largest ROM that Atari could put in a single chip. That's not the case any longer: 8-bit parallel EPROM chips are now available in sizes of 1MB or more. If I can put a 1MB ROM in a Mattel Aquarius cartridge, it can surely be done for the 7800.

  • Like 3
Link to comment
Share on other sites

As far as ROM size is concerned, there's nothing preventing larger cartridges nowadays. The most likely reason for the "limit" of 144K (128K + 16K) is that, back in 1987, 128K was the largest ROM that Atari could put in a single chip. That's not the case any longer: 8-bit parallel EPROM chips are now available in sizes of 1MB or more. If I can put a 1MB ROM in a Mattel Aquarius cartridge, it can surely be done for the 7800.

 

Correct. This below is a full 8 megabits. 144k has been blown way out of the water thanks to Matthias and CPUWIZ long ago.

 

  • Like 5
Link to comment
Share on other sites

Atarius Maximus released Legend of Silverpeak which is (unfinished) @ 512KB.

 

He also brought as the "Adventure Map Demo", which comes in @ 256KB:

 

https://www.youtube.com/watch?v=ZWLHwAH-9GE

 

Obviously, size is not everything though. Efficient coding techniques can be utilized to maximize what space is available and conversely ROM space can be wasted. Touchdown Football under the 7800 is a whopping 128KB. They must have used all that ROM space on the title screen. :P

 

Although neither are very good, nonetheless, there is quite a difference between RealSports Baseball (64KB), and Pete Rose Baseball (32KB). To me, Pete Rose looks and plays much better than RealSports and is only half its size.

  • Like 4
Link to comment
Share on other sites

The most limiting factor in the hardware greatly depends upon what sort of game you'd like to develop or are developing. So I would not consider ROM size alone as the be-all-end-all of game quality and fidelity.

 

But if we're going to speculate on nice to haves, here's mine :

  • Separate mapping for Sally and Maria.
  • Configurable 1KB/2KB/4KB graphic pages for Maria, similar to Nintendo's MMC3.
  • Actual scanline counter, none of this "aligned to the end of a DLL region" garbage.
  • Special "pattern repeat" graphic pages for Maria, where data fetches can wrap on 4, 8, or 16 Byte boundaries.
  • Possibly an extension of the above on the vertical axis.
  • Several (i.e. at least 24 or 32) 128-Byte viewports with adjustable starting addresses (byte granularity) for Maria. This would allow you to split Display Lists into two subsections without much fuss.
  • Like 1
Link to comment
Share on other sites

Atarius Maximus released Legend of Silverpeak which is (unfinished) @ 512KB.

 

He also brought as the "Adventure Map Demo", which comes in @ 256KB:

 

https://www.youtube.com/watch?v=ZWLHwAH-9GE

 

Obviously, size is not everything though. Efficient coding techniques can be utilized to maximize what space is available and conversely ROM space can be wasted. Touchdown Football under the 7800 is a whopping 128KB. They must have used all the ROM space on the title screen. :P

 

Although neither are very good, nonetheless, there is quite a difference between RealSports Baseball (64KB), and Pete Rose Baseball (32KB). To me, Pete Rose looks and plays much better than RealSports and is only half its size.

I know ROM compression was a technique back in the day to squeeze more data onto the chips. Was this something that was a common practice for the 7800 or just all systems in general? Is this still a standard practice? I don't know much about programming techniques for these old systems, so these questions I am sure sound very uninformed. The main drawback to compression az I understand it is slows down access to the data as it has to be decompressed into RAM first before being read. The 128KB of RAM on the 7800 XM should allow that process to be optimized as it can cache the decompressed data for quick access.
Link to comment
Share on other sites

As far as ROM size is concerned, there's nothing preventing larger cartridges nowadays. The most likely reason for the "limit" of 144K (128K + 16K) is that, back in 1987, 128K was the largest ROM that Atari could put in a single chip. That's not the case any longer: 8-bit parallel EPROM chips are now available in sizes of 1MB or more. If I can put a 1MB ROM in a Mattel Aquarius cartridge, it can surely be done for the 7800.

 

Naw - the most likely reason was Atari was cheap and didn't want to pay for carts that large. Impossible Mission, for example, was originally written as a 256K game until Atari complained.

 

There are demos that are 4 and 8 megabit. It isn't a technical limit of the 7800.

 

Link to comment
Share on other sites

With the 7800 XM nearing completion I can't help but think of all the new amazing possibilities for how it could transform the 7800 homebrew scene. That being said even with all the amazing things that the 7800 XM will bring there is still one roadblock acting as an Achilles heel for the 7800, and that is the ROM size limit currently at 144K. The largest 7800 ROM's are at 144K and when you compare that to the 6 mbit ROM size of some NES games this severly limits you if you want to create games on an epic scale to rival some of the best titles on the NES. An Atari 7800 SD cart such as SainT is considering after the Jaguar SD card would definitely solve this, however with that being said I don't see it as a viable option for homebrew sales as most hombrew programmers are loathe to that possibility as it makes copy the ROM and pirating very easy and its quite understandable that they want to protect the value of their ROM. Are there any viable options for ambitious Atari 7800 homebrewers who would want to create Atart 7800 epic scale games, and sell physical cartridges of them that don't have the inherent risks of virtual ROM sales or SD cards distribution.

 

I hope no hombrew programmers take this post as a snub to the amazing ROM's that they have created so far as I have been and continue to be amazed with what already has been accomplished so far. All that being said with respect to the homebrews that have come before the possibilities opened up by the 7800 XM bigger ROM sizes will be crucial in order for the 7800 to continue to grow and finally see the envelope pushed realize to true potential the Atari 7800 hardware.

Tidus,

 

That limit was only because of the technology of the time period... HUGE rom sizes can be achieved now. That is in now way an issue anymore.

  • Like 2
Link to comment
Share on other sites

Tidus,

 

That limit was only because of the technology of the time period... HUGE rom sizes can be achieved now. That is in now way an issue anymore.

Thanks for the reply. I knew it was possible to have larger sizes, I just didn't know if anyone was manufacturing these as I thought it would be very costly to produce if it wasn't already available.

 

I know ROM compression was a technique back in the day to squeeze more data onto the chips. Was this something that was a common practice for the 7800 or just all systems in general? Is this still a standard practice? I don't know much about programming techniques for these old systems, so these questions I am sure sound very uninformed. The main drawback to compression az I understand it is slows down access to the data as it has to be decompressed into RAM first before being read. The 128KB of RAM on the 7800 XM should allow that process to be optimized as it can cache the decompressed data for quick access.

Still curious about the ROM compression and if common it is today for homebrews. The carts back in the day for the Atari 7800 did use ROM compression? I know that was common for Sega with Genesis games in order to keep the cost down and fit more code in. Edited by Tidus79001
Link to comment
Share on other sites

Naw - the most likely reason was Atari was cheap and didn't want to pay for carts that large. Impossible Mission, for example, was originally written as a 256K game until Atari complained.

Interesting ... I wasn't aware that Impossible Mission started that large. I'm sure that 256K ROMs existed at the time, but of course, it isn't surprising that Atari was too cheap to use them.

 

Regarding compressed ROM data and decompression to RAM, I would imagine that it wasn't used on the 7800 (or used only to a limited extent) because it would have been slow, and because the stock 7800 only had 4K of RAM. With the XM, there will of course be a lot more RAM, but ROM sizes have grown so large that compression might not be necessary at this point.

Link to comment
Share on other sites

Interesting ... I wasn't aware that Impossible Mission started that large. I'm sure that 256K ROMs existed at the time, but of course, it isn't surprising that Atari was too cheap to use them.

 

Regarding compressed ROM data and decompression to RAM, I would imagine that it wasn't used on the 7800 (or used only to a limited extent) because it would have been slow, and because the stock 7800 only had 4K of RAM. With the XM, there will of course be a lot more RAM, but ROM sizes have grown so large that compression might not be necessary at this point.

 

Yep, I am not aware of anyone ever wasting precious RAM for decompression.

Link to comment
Share on other sites

Right now I am coding for standard 128k...

 

Some of you are aware of my a8 stuff and latest stuff was released on a 8mbit cart and where I discovered the beauty of bank switching without loading from media.

 

Now on my 7800 stuff in dev at the moment...

 

The crippled 4K ram (actually 2k+fragmented 2k) sucks... no room for anything ;) so no packing etc possible. So I can not lz4 graphics etc and depacking to screen etc.

 

But well... thats what we love... :D working with limits....

 

Maria DLL is just needs some end list flag... like Miner did.

 

And yes... always wondered that there is no Raster line counter in Maria???

Link to comment
Share on other sites

 

Although neither are very good, nonetheless, there is quite a difference between RealSports Baseball (64KB), and Pete Rose Baseball (32KB). To me, Pete Rose looks and plays much better than RealSports and is only half its size.

 

Yeah - there are weird examples of that in 7800 land. For example, Crossbow and Alien Brigade are both 144K. Crossbow doesn't have the voice synthesis of the arcade, doesn't have scrolling levels and is really just 8-10 different screens that the user navigates across.

 

Alien Brigade has great graphics, an animated title screen, music, intermission screens, an ending and five side scrolling levels.

 

When you play Alien Brigade, it just seems like a more sophisticated title than Crossbow.

Link to comment
Share on other sites

Interesting ... I wasn't aware that Impossible Mission started that large. I'm sure that 256K ROMs existed at the time, but of course, it isn't surprising that Atari was too cheap to use them.

 

Regarding compressed ROM data and decompression to RAM, I would imagine that it wasn't used on the 7800 (or used only to a limited extent) because it would have been slow, and because the stock 7800 only had 4K of RAM. With the XM, there will of course be a lot more RAM, but ROM sizes have grown so large that compression might not be necessary at this point.

In late 1988/early 1989, I'm fairly certain we'd started to see 256K and 384K games on the NES and 512K games on the Sega Master System. In addition, a lot of these carts had MMC hardware onboard, battery saves etc.

 

When it came to the 7800, it felt like the Tramiels considered video games to be a cash cow, which meant they wanted to minimize what they spent in order to use the profits to fund the computer division.

 

You see it a lot with the 7800. Early game cartridges had the silver, 1-color labels. The manuals were never in colour and almost none of them had a screen shot. Only two games ever put a sound chip on cartridge even though GCC designed the system to take advantage of this. Only a handful more ever shipped with additional RAM. There were never battery saves. There were never carts larger than 144K even though there was no technical reason to prevent bigger games .... even then. I think I remember Mitch saying he had a prototype 512K (4 megabit) 7800 cartridge board.

 

 

Link to comment
Share on other sites

Right now I am coding for standard 128k...

 

Some of you are aware of my a8 stuff and latest stuff was released on a 8mbit cart and where I discovered the beauty of bank switching without loading from media.

 

Now on my 7800 stuff in dev at the moment...

 

The crippled 4K ram (actually 2k+fragmented 2k) sucks... no room for anything ;) so no packing etc possible. So I can not lz4 graphics etc and depacking to screen etc.

 

But well... thats what we love... :D working with limits....

 

Maria DLL is just needs some end list flag... like Miner did.

 

And yes... always wondered that there is no Raster line counter in Maria???

 

 

128k pcbs with 8k,16k & 32k SRAM are easily available to you if that is of any use to you.

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