Jump to content
IGNORED

Homebrewing and the 7800


MegaManFan

Recommended Posts

I've been wondering about something over the last few days. As we all know, homebrewed games are plentiful on the 2600 (despite the technincal limitations of programming for it) and there are more than a fair share for 5200 as well (some quite complex). The 7800 seems to be a mystery though. A few prototypes have been unearthed, at least one (Klax) had a few print runs that were successful, but nobody seems to be homebrewing games specifically to take advantage of the 7800. Is it because..

 

(1.) The installed console base is lower than the 2600 or 5200?

(2.) Minimal third party development means the specs aren't well known?

(3.) Getting it to run in 7800 and not 2600 mode is too difficult?

(4.) Nobody gives a sh#%?

 

I'm curious to what people think and/or if anybody out there smells a homebrew in the wind for 7800 that we just haven't heard about yet.

Link to comment
Share on other sites

Well the 7800 mode problem was solved  a little while back, I know that much... I guess it's just because it wasn't an overly popular system. Same with why there are few master system homebrews, I guess.

 

I still haven't seen an SMS homebrew put on a cart (or that would be worthy to, for that matter). I have a feeling a 7800 would be better supported even if the installed console base was smaller, because of the very concentrated amount of Atari fans that could be reached through just a few sites like AA.

Link to comment
Share on other sites

I know of a few 7800 homebrews that were started but nothing has been finished yet. I think part of the problem is a lack of documentation and experienced 7800 programmers that can offer tips. The fact that, until recently, the encrytption wasn't available also was a problem. Hopefully this year will see the first 7800 homebrews. :)

 

Mitch

http://atari7800.atari.org

Link to comment
Share on other sites

compared to 2600 7800 is a dream... but the architecture is different to 800 line... that's why it is more hard to code... but not impossible... unfortunatly i have lost some of the sources through a harddisc crash.

 

lack of installed base and lack of interest is leading to lack of code... don't forget that this goes hand in hand in missing tools for converting data, etc...

 

hve

 

http://www.s-direktnet.de/homepages/k_nadj/a7800.html

Link to comment
Share on other sites

I looked into it for a little while. I did get quickly discouraged by the number of obstacles in the way. The first was the encryption - while the code has been cracked of a sort, the only ways I could gather were to either modify a 7800 (no way!) or graft some code onto the binary each time it is generated. Ick.

 

The second was displaying images. While you don't have the same difficulties as with 2600 programming, the 7800 has its own weirdness. Images are often stored such that each row is one page apart rather than one byte. You have to construct display list headers and display list lists (really!) to tell the 7800 where the images are and how to draw them. (By the way, "display list" is completely different than the type used in the 5200 and the 8-bit computers.)

 

The third, of course, is the lack of sample code. For the 2600, you have plenty of source code for completed homebrews and some skeleton code to use as a starting point, like Nick Bensema's "How to Draw a Playfield" and "Guide to Cycle Counting." For the 5200, you could probably adapt a lot of what's been published by Antic, Analog, and Compute! about the 800 series. For the 7800 - not much at all. You'd still have to compile it so that it can be run, which requires dealing with encryption, bringing you back to the first obstacle.

Link to comment
Share on other sites

and that's exactly the challenge... :D

 

and with the display lists you can do nice things... remember f.e. up to 256 pixel wide sprites! or hardware sprites with each own 3 colors.... so real "arcade" feeling... unfortunatly the vertical movement of sprites is harder than on other systems but not impossible... see robotron2084 which source is complete avaible on dan boris' website if i remember it right....

 

hve

Link to comment
Share on other sites

I looked into it for a little while.  I did get quickly discouraged by the number of obstacles in the way.  The first was the encryption - while the code has been cracked of a sort, the only ways I could gather were to either modify a 7800 (no way!) or graft some code onto the binary each time it is generated.  Ick.

 

The second was displaying images.  While you don't have the same difficulties as with 2600 programming, the 7800 has its own weirdness.  Images are often stored such that each row is one page apart rather than one byte.  You have to construct display list headers and display list lists (really!) to tell the 7800 where the images are and how to draw them.  (By the way, "display list" is completely different than the type used in the 5200 and the 8-bit computers.)

 

The third, of course, is the lack of sample code.  For the 2600, you have plenty of source code for completed homebrews and some skeleton code to use as a starting point, like Nick Bensema's "How to Draw a Playfield" and "Guide to Cycle Counting."  For the 5200, you could probably adapt a lot of what's been published by Antic, Analog, and Compute! about the 800 series.  For the 7800 - not much at all.  You'd still have to compile it so that it can be run, which requires dealing with encryption, bringing you back to the first obstacle.

 

Umm, the encryption program has been found, and a DOS version has been made that is quite easy to run. Check out Dan's 7800 web site for it as well as some sample code.

 

You are right about there not be much info out there. However, if you check Dan's page and the 7800 FAQ you can find links to several sources of info.

 

Also, there is no need to modify your 7800, you can develop in the MESS emulator instead. You don't even need to encrypt you game if you don't want to if you are using Eckhard's BIOS instead of the standard one.

 

Mitch

http://atari7800.atari.org

Link to comment
Share on other sites

I know of a few 7800 homebrews that were started but nothing has been finished yet. I think part of the problem is a lack of documentation and experienced 7800 programmers that can offer tips. The fact that, until recently, the encrytption wasn't available also was a problem. Hopefully this year will see the first 7800 homebrews. :)  

 

Mitchhttp://atari7800.atari.org

 

Should I be insulted (multiple times) by this posting?

Link to comment
Share on other sites

The second was displaying images.  While you don't have the same difficulties as with 2600 programming, the 7800 has its own weirdness.  Images are often stored such that each row is one page apart rather than one byte.  You have to construct display list headers and display list lists (really!) to tell the 7800 where the images are and how to draw them.  (By the way, "display list" is completely different than the type used in the 5200 and the 8-bit computers.)

.

 

The trick to conquering the 7800's graphics system is to think of it as a 2 step process. Instead of going directly from game logic to the data structures, you can have an another layer of code in between, a display engine. The display engine could, for example, take a table that contains the sprite postions and what "character" to use for each sprite, and convert this into the data structures that the Maria graphics chip uses. Now you game logic writes to the table, and then you call the graphics engine once per frame to setup the data structures. The cool thing about this is that it allows you to write display engines that mimic almost any type of graphics hardware.

 

 

Dan

Link to comment
Share on other sites

Should I be insulted (multiple times) by this posting?

 

No Harry, it was not intended as an insult towards you. I guess I consider you as one of the original 7800 programmers and not a homebrewer. :)

 

I'm sure if you'd care to write a new 7800 game everyone would be happy to buy it. :thumbsup:

 

Mitch

http://atari7800.atari.org

Link to comment
Share on other sites

Umm, the encryption program has been found, and a DOS version has been made that is quite easy to run. Check out Dan's 7800 web site for it as well as some sample code.

 

I had wandered through there. I may not have understood how to use the validation key generator. It sounded like you'd have to run it every time you recompiled your code, which isn't appealing. It's quite possible that I misinterpreted things. If so, I'll feel sheepish. :)

 

Also, there is no need to modify your 7800, you can develop in the MESS emulator instead. You don't even need to encrypt you game if you don't want to if you are using Eckhard's BIOS instead of the standard one.

 

I wasn't aware of this. However, I found it invaluable to work on an unmodified 2600 when I was creating Euchre, so I can't see not wanting to run a 7800 game on the real thing during development.

Link to comment
Share on other sites

Umm, the encryption program has been found, and a DOS version has been made that is quite easy to run. Check out Dan's 7800 web site for it as well as some sample code.

 

I had wandered through there. I may not have understood how to use the validation key generator. It sounded like you'd have to run it every time you recompiled your code, which isn't appealing. It's quite possible that I misinterpreted things. If so, I'll feel sheepish. :)

 

Also, there is no need to modify your 7800, you can develop in the MESS emulator instead. You don't even need to encrypt you game if you don't want to if you are using Eckhard's BIOS instead of the standard one.

 

I wasn't aware of this. However, I found it invaluable to work on an unmodified 2600 when I was creating Euchre, so I can't see not wanting to run a 7800 game on the real thing during development.

 

How were you planing on testing the game on a real 7800? Do you have an EPROM burner and EPROM cart?

There are a couple 7800 RAM carts currently in development and at least one of them doesn't require the encryption in the game.

One last point, if you are burning EPROMs, adding the encrption is a very minor extra step. It's simple and only takes a second or two for it to run. 8)

 

Mitch

http://atari7800.atari.org

Link to comment
Share on other sites

Should I be insulted (multiple times) by this posting?

 

No Harry, it was not intended as an insult towards you. I guess I consider you as one of the original 7800 programmers and not a homebrewer. :)

 

I'm sure if you'd care to write a new 7800 game everyone would be happy to buy it. :thumbsup:

 

Mitchhttp://atari7800.atari.org

 

I've had a few people try to get me to do something on the 7800...

It's just so much easier to do games for the Lynx. If you have seen

the code for BumperTanks, you'd know how much work goes into a

fairly simple demo for the 7800. Plus, the Atari tools for the 7800

look very bad when compared to the Epyx tools for the Lynx. It's

just one of those "path of least resistance" decisions.

 

Harry

Link to comment
Share on other sites

8) 7800 is really easy...

 

from programming level and knowledge: (easiest 1st)

 

- 400/800

- 5200

- 7800

- LYNX

- GBA

- PSX

- C64

- ...

- 2600

 

just my personal ranking... i have done code on all of the machines... PSX seems really similar to GBA & 7800 with the display list tile based system... (primitives).

 

2600 is for me a mystique box... :) it would take me ages just to write a kernel routine... no thanks... ;)

 

http://www.s-direktnet.de/homepages/k_nadj/a7800.html

 

get the tools and you can kick off A7800 coding...

 

hve

Link to comment
Share on other sites

8) 7800 is really easy...  

 

from programming level and knowledge: (easiest 1st)

 

- 400/800

- 5200

- 7800

- LYNX

- GBA

- PSX

- C64

- ...

- 2600

 

just my personal ranking... i have done code on all of the machines... PSX seems really similar to GBA & 7800 with the display list tile based system... (primitives).

 

2600 is for me a mystique box... :) it would take me ages just to write a kernel routine... no thanks... ;)

 

http://www.s-direktnet.de/homepages/k_nadj/a7800.html

 

get the tools and you can kick off A7800 coding...  

 

hve

 

I see according to your list, that you think the 7800 is easier than the

Lynx. What tools are you using for each one? I like using any paint

program I want to do Lynx sprites (even boring Paint included with

all windoze systems), covert it to 16 or 32 color IFF format,

and handycraft does the palette, compressed sprite data, and SCBs

for me. I create the template and file directory for my code and

handyrom builds the image for me. Then I pass all this

good stuff into a Howard board and I get real time testing and

debugging with (symbolic) instruction and bus backtracing ability. I

couldn't ask for a more friendly development environment.

 

Harry

Link to comment
Share on other sites

Having investigated 7800 homebrew as an alternative to my current 400/800 efforts I've decided to stick with the 8bit. The toolchain is just not as good, I can get many more useful PC and 8bit utils than stuff for the 7800 :(

 

But I would be very interested to learn of any great LYNX tools out there to allow me to develop for that - I wouldn't want to target real hardware at first I'm more than happy to build cart images and use Handy or the like to test with - but what tools are there - can anyone enlighten me??

 

sTeVE

Link to comment
Share on other sites

Having investigated 7800 homebrew as an alternative to my current 400/800 efforts I've decided to stick with the 8bit. The toolchain is just not as good, I can get many more useful PC and 8bit utils than stuff for the 7800 :(

 

But I would be very interested to learn of any great LYNX tools out there to allow me to develop for that - I wouldn't want to target real hardware at first I'm more than happy to build cart images and use Handy or the like to test with - but what tools are there - can anyone enlighten me??

 

sTeVE

 

Check Bastian's website ...

 

http://www.geocities.com/SiliconValley/Byte/4242/lynx/

Link to comment
Share on other sites

How were you planing on testing the game on a real 7800? Do you have an EPROM burner and EPROM cart?

There are a couple 7800 RAM carts currently in development and at least one of them doesn't require the encryption in the game.

 

Well, I was hoping that something would materialize while I was working on it. :) I have no aptitude with electronics, so I certainly wouldn't try one myself.

 

I wonder if the 2600 flash cart that Cupcakus is working on is compatible with a 7800...

 

Cupcakus: if you read this forum, please let us know!

Link to comment
Share on other sites

  • 1 month later...

if you ask me the best way to make a 7800 home brew is you get one of the harry dogson monitor cartridge and then you plug that into the cerial port on the xe or the st or even on a pc and then you can make your own 7800 game. i see first hand all the new games being made and boy let me tell you that with the monitor cartridge you can do anything. you can take 8-bit games and then with the source code you can make them into 7800 games and then add on maria programing and boy let me tell you it is slick as can be. -Joe

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