Jump to content
IGNORED

Programming the 7800


EricBall

Recommended Posts

I'm of the ... lots of drive, lots of interest, no programming skills or experience other than BASIC category. :-)

 

I'd sure dig it if someone decided to try a 256K 7800 cartridge that made good use of pokey sound and the 256 colour palette. A nice RPG would be nice - the 7800 doesn't have one!

Link to comment
Share on other sites

It would be really cool finally showing what the MARIA chip can finally do..... Sadly i have the skills, a little bit of interest, but absolutely no time to do anything in this direction (first i gotta make a devcart...)

Link to comment
Share on other sites

I would love to see a homebrew community for the 7800.

 

Now that I've done some playing around with the 7800, I think it has great potential. The MARIA GPU is fairly powerful, but relatively simple. And unlike the 2600, there is no need for tricky cycle counting. CPU and GPU time are still at a premium, so efficiency is more the rule.

 

Consider the capabilities of the MARIA GPU:

- palette of 25 colors out of 256 possible, most sprites use 3 colors (+transparent) but higher color sprite modes exist.

- up to 30 sprites per line (but everything is a sprite, including background & bullets)

- tile/character sprites (indirect addressing)

- variable sprite width

 

MESS provides decent (though not perfect) emulation; the crypto signature can now be added

 

For those people with some programming experience, 6502 assembly is a declarative language like Basic or Pascal or C, just with much simpler operations. Try to find some online references and tutorials (http://www.6502.org is a good place to start) and start learning.

Link to comment
Share on other sites

I have an idea for a shmup type game-of course, then I found out Andro Dunos, for the most part, already used my powerup system idea. It's still a game I'd like to go for sometime. I'll learn how to work the 7800sometime soon, I'm hopin...I want to prove that thing is not the NES and SMS's whipping boy.

Link to comment
Share on other sites

Who here is interested in programming the 7800?  (And has the time & drive to actually create something.)

 

I'm interested in programming for both the 2600 and the 7800. I'm currently following along with the 2600 Programming for Newbies forum. I have a background in programming, and have been doing it for a living for the past 7 years, mostly C/C++ for the first few years, mostly Java for the last few. I previously did some coding in college using Fortran, Cobol, Basic, and a little Assembly Language. I'm familiar with the concepts and have good programming skills, so I think I'd be able to take a crack at this. Realisticly, I don't know how much time I could really dedicate to it, so it would probably take me a long time to produce anything of value. Right now I'm just collecting information, and getting familiar with these things. Maybe you could start a 7800 Programming course similiar to what Andrew is doing for the 2600?

 

Jim

Link to comment
Share on other sites

8) I have a game called Eternal Champions for the Sega CD and the game starts off with short movie. The video format was a cinepack video that used 256 colors on a system that was only ment to show 64 colors total to my rememberance. With proper programming there is no telling what the maria chip can do. :idea:
Link to comment
Share on other sites

I fall in the sadly lot...I have the skills and a real devkit but not the time. I probably would use an emulator if possible over the devkit because programming on a single threaded TOS machine is a pain in the butt.

 

Eric

Link to comment
Share on other sites

Here are some links to 7800 programming resources:

 

http://atarihq.com/danb/a7800.shtml

Atari 7800 ROM signature key generator (a78sign)

Atari 7800 Software Guide

Source code for the NTSC BIOS, sprite demo & Robotron

V7800 emulator

 

http://www.whimsey.com/atari_docs

Atari 7800 Development Kit Documents

Atari 7800 Software Guide

 

http://home.arcor.de/estolberg

Atari 7800 ROM signature key generator (a78sign)

 

http://www.atari7800.org

Atari 7800 Development Kit Documents

Link to comment
Share on other sites

I would love to see a homebrew community for the 7800.

 

Me too. I don't think the time has been right for awhile, and now it doesn't seem so bad. I think the 7800's finally starting to get the backing that it needs in order to promote its own homebrew community.

 

Now that I've done some playing around with the 7800, I think it has great potential.  The MARIA GPU is fairly powerful, but relatively simple.  And unlike the 2600, there is no need for tricky cycle counting.  CPU and GPU time are still at a premium, so efficiency is more the rule.

 

Well now, it's not *that* much better than the 2600. There are a lot more pitfalls in the 7800 simply because of lack of knowledge. Plus, cycle counting may have gone away, but DMA timing has replaced it.

 

There are also things that make programming the 7800 devastatingly painful. I've whipped up a few demos in the past (I started doing this about 2 years ago, before the encryption info was released, because backdoor.bin was available). I was forced to reduced my game code revisions into demos, simply because I'd eventually hit a wall with everything that I developed that couldn't be crossed.

 

For example, one of my problems occurrend with a mode I chose to develop in. 320x2 (or is it 320B) mode looks to be the best mode for the system (hey, it could even rival Nintendo!). But, if you want to try to program anything practical for it, it's virtually impossible. You are limited to 2 palletes and a background, which is pretty bad (7 colors only per zone). Then, if you want sprites to cross each other's paths, you'll find a limitation with transparency in Kangaroo mode, so you'll be stuck with only 5 colors. This will make all of your 7-color effort end up shot, and you'll find yourself going mad trying to make the cutoff decision-- drop 2 colors, or disable transparency. It's these decisions/setbacks that stopped most of my development, because there is simply no good solution when these roadblcks arise.

 

The lack of information is killer. I've hit walls with DMA cycle counting, pallete limitations, and Kangaroo mode, cycle counting (per frame; it does happen, surprisingly), and others. Even the manual is chock full of lies (the CTRL bit for color vs. black and white is inverted, as are others). Likewise, the emulator support (though EXTREMELY appreciated) still has holes. If you have transparency disabled in Kangaroo mode (320x2), it still appears as enabled in emulators. Though this is a minor inconvenience, you'll find yourself up nights trying to figure out why the stuff on screen doesn't match what's on your console.

 

The only way I ever envision development happening for the 7800 is with a few things:

 

1) a Stella-List twin for 7800 homebrewers. It would need rules/moderation since the community is very small at this time. StellaList at its birth was VERY regulated: hacks were not allowed to be posted due to potential copyright infringement, and it had an exclusive feeling (strictly development, no OT ramblings on the list). Something like this would be a great help.

 

2) Emulator support. If we find bugs, it'd be great to create reports for the MESS team to inegrate changes.

 

3) A dedicated website with tools, doc's, demos, stella-list type archives, a FAQ on mode support, a FAQ on starting out, etc...

 

Sorry to be more pessimistic than optimistic, but I'm pretty sure the lack of 7800 homebrews has a reason-- it's a lot harder than it sounds.

 

But, I would be interested in joining a development community. Maybe I could help bridge some gaps so others wouldn't fall where I have. :)

 

Regards,

-John K. Harvey

Link to comment
Share on other sites

I agree John, there is a lack of verified info for the 7800 out there. Maybe we can come up with a revised version of the 7800 Software Guide and fix some of the errors.

 

Up to this point I've only played around with basic 160 mode, so I haven't had to deal with some of the quirks of the 320 modes yet. As for problems with MESS, I believe Dan Boris is the primary programmer, but I'm sure he would appreciate help instead of suggestions.

 

A MARIA mailing list sounds like an idea, but I don't think I'm up to being the moderator.

 

But, I would be interested in joining a development community.  Maybe I could help bridge some gaps so others wouldn't fall where I have. :)

 

One benefit of a homebrew community is exactly that: sharing experience & knowledge.

Link to comment
Share on other sites

I think the Stella mailing list is open for discussing 7800 programming, since the two machines share some parts like the TIA and the RIOT. At least we've had some 7800 related discussion there. The PC version of the signature generator was created as a bit of a group effort on the Stella list for example.

 

The traffic is low enough too to not drown out the 7800 stuff. And when the 7800 related discussion are slow for a while there still is a chance of getting some partly relevant 2600 topics. Since the 7800 dev community is so small, I'd say that the Stella mailing list is a better place to discuss 7800 programming questions than a newly created 7800 speciffic mailing list.

 

And if you don't trust the emulator for development, you can always build yourself a 7800 RAM cart and try out your code on a real console. ;)

 

 

Ciao, Eckhard Stolberg

Link to comment
Share on other sites

I agree John, there is a lack of verified info for the 7800 out there.  Maybe we can come up with a revised version of the 7800 Software Guide and fix some of the errors.

 

I believe the version of the software manual that shipped with the Monitor cart was supposed to have had most of the errors corrected.

Harry, are you out there?

 

Mitch

Link to comment
Share on other sites

I agree John, there is a lack of verified info for the 7800 out there.  Maybe we can come up with a revised version of the 7800 Software Guide and fix some of the errors.

 

Good idea. Some sort of 7800 development web repository should be opened up to the community, where the following documentation can be stored:

1) Latest software guide

2) Addendum to the software guide (list of bugs in the guide). Eventually this would get integrated into a new release of the software guide. This could even contain other information: (if someone was daring enough to use test modes A or B), SIO port info, POKEY equates, bankswitching schemes, POKEY installation on a cartridge, and a basic run-down of pros and cons for each screen mode.

3) Mess buglist with software examples

4) Any disassembly work

 

I would be willing to contribute what I've got (which isn't too much, but at least a little bit); maybe people can add on.

 

Regards,

-John K. Harvey

Link to comment
Share on other sites

There's been some discussion about homebrews for the 7800, but are any games actually in development?

 

I know of SENSO 7800 DX, but that hasn't been heard from in a year.

 

I would totally dig it if some enterprising soul managed to put all the pieces together and create a really good 7800 adventure game: Maybe an RPG like Zelda or Golden Axe Warrior.

 

Musts:

* Make use of a POKEY for sound

* Lengthy gameplay. We have enough "4 screen" 7800 titles. Scrapyard Dog showed that the 7800 could easily play long games.

 

Anything in the works?

 

Hell - I'd even take 7800 versions of some of the 5200 homebrews: Adventure II, Atari Tetris etc.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...