peteym5 Posted October 16, 2017 Share Posted October 16, 2017 I am looking to port either AMOKBOTS or LASERBLAST X over to the 7800. I am tied up on many projects and only was just able to glance at a few 7800 samples. I think with the original assembly source code, it is possible to re-use portions of it for 7800 games. Just need to replace the background drawing, sprite positioning and sound. I am looking to work with someone privately with porting one game, and we can share royalties. I can vouch for Video 61 as being good at honoring royalty payments. As for how much we can make, depends on how good of a job is done, and # of people still having a real 7800 system. I am going to need to go through the threads and see who are real 7800 programmers on here and contact them myself. Quote Link to comment Share on other sites More sharing options...
AtariBrian Posted October 16, 2017 Share Posted October 16, 2017 Why wouldn't you want your game to be sold on Atariage ? Quote Link to comment Share on other sites More sharing options...
+Trebor Posted October 16, 2017 Share Posted October 16, 2017 A curious proposition. For those wondering about the aforementioned games, videos are posted below. Amok Bots: https://www.youtube.com/watch?v=13P3woJ_Tts LaserBlast X: https://www.youtube.com/watch?v=FlqrIvAJZ54 Hope all those reached out to and contacted directly aren't any fake 7800 programmers that are confused for the "real" ones. Here's a comparison picture to help: 7 Quote Link to comment Share on other sites More sharing options...
Shawn Posted October 17, 2017 Share Posted October 17, 2017 Why not just do this project yourself? I don't understand why you are looking to get someone else to do your work? 1 Quote Link to comment Share on other sites More sharing options...
Cousin Vinnie Posted October 17, 2017 Share Posted October 17, 2017 I bought "Alpha Race" on the street in Baltimore Maryland from a blue Atari 7800 programmer and the game runs upside down. I have to pick up and turn the TV everytime I wanna play it. BE WARNED LITTLE BABIES. Funkmaster V Quote Link to comment Share on other sites More sharing options...
peteym5 Posted October 17, 2017 Author Share Posted October 17, 2017 (edited) Much of the work for the games had already been done. I am trying to figure out this display list list thing and do know it works different from the Atari 8-bit/5200 display list. Most of the games I made use Antic 4 screens, so the first thing I need to establish is how to set up a character (tile) mapped screen properly. I know this also controls the sprites, so it would also replace the player/missile sections. I read some documentation a few months ago. Maybe if I can get some help to get these things started, I can continue on and finish what I need to do from there. The reason I am working with Video61 from AtariSales and not with AtariAge, is because I have a good working relationship with Lance. Video61 has a large stock of cartridge shells, boards, and parts for the Atari consoles. Like hundreds of empty shells and blank boards. Wouldn't it be night to put some games on them? Sorry if I used the term "real" programs where I should be saying experienced people who had been doing this stuff for awhile at the machine language level. Wouldn't Amokbots look great on the 7800 with multicolored graphics and sprites that do not need to flicker. Image what a LaserBlast game could look like? I chose these games to start with probably because they will be the easiest to do. Edited October 17, 2017 by peteym5 Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted October 17, 2017 Share Posted October 17, 2017 *grabs popcorn* 3 Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted October 17, 2017 Share Posted October 17, 2017 I am super confused now, I thought it was green? Quote Link to comment Share on other sites More sharing options...
Jinks Posted October 17, 2017 Share Posted October 17, 2017 I think it is great your interested in doing a 7800 game/games! There is lots of info in the programming section that may help you out. Maybe look at some 7800 source code? Best of luck. Quote Link to comment Share on other sites More sharing options...
peteym5 Posted October 17, 2017 Author Share Posted October 17, 2017 I am not sure what is going on with Blue, Green, or whatever color people want to be on here, I do not discriminate. I would like to keep things relevant to what I am doing. First thing I am doing is making up this "Atari 7800 Equates.ASM" file that can be included with any 7800 assembly program. These games had already been done in assembly for the 8-bit using MADS ASSEMBLER, so they will stay as assembly. I see I can re-use a portion of the code from the 8-bit/5200 versions of the game. I am looking through documentation and pieces of source codes to help me figure out what is going on. Now I know the 7800/Maria can put 8 multicolored sprites on screen at once, drop down to 7 if you want to have background/character mode. Something we have been doing on the 8-bit/5200 to get around only have 4 player/missiles for sprites is a process call multiplexing, that shows sprites in different positions on screen in alternate frames. Flickers only if more than 5 are on a same line and I got this up to doing 16 sprites on screen at once. Uses a combination of DLIs and rotating which sprites get draw first. My theory on the 7800 is that it can be done with a series of Display List entries, and since we can go to 7 sprites on a single line, it won't flicker as bad. Probably get 16 sprites moving around with no flicker. atari 7800 equates.zip Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted October 17, 2017 Share Posted October 17, 2017 I would suggest looking at RevEng's 7800basic tool. It really is intuitive. In theory you can have 8 sprites per zone but there are also other considerations such as DMA. If you keep the sprites in 160A mode you get more overhead on DMA. 160B mode allows 12 colors per sprite but eats up a lot of DMA so that they might not all get displayed. 1 Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted October 18, 2017 Share Posted October 18, 2017 I am not sure what is going on with Blue, Green, or whatever color people want to be on here, I do not discriminate. I would like to keep things relevant to what I am doing. First thing I am doing is making up this "Atari 7800 Equates.ASM" file that can be included with any 7800 assembly program. These games had already been done in assembly for the 8-bit using MADS ASSEMBLER, so they will stay as assembly. I see I can re-use a portion of the code from the 8-bit/5200 versions of the game. I am looking through documentation and pieces of source codes to help me figure out what is going on.Unlike the 5200 / 8-bit computers, the 7800 is completely alien to the 8-bits. Sure it uses the same 6502 CPU architecture, but that is the only component both consoles share. You cannot simply copy ASM code from one console to another and expect that to translate when the display hardware, cart/ram bus, controller i/o, sound generation, register locations, etc are entirely different. It would be almost as much work to convert the existing game from 5200 / 8-bits to 7800 as it would be to start a brand new effort from scratch. And this is coming from someone who has zero programming knowledge but understands the nuts and bolts of gaming hardware. Ask a programmer and they'll probably tell you to start over from scratch. You may be able to reuse some graphics and other assets, if you're lucky, but will get better results redoing everything with the new console's limitations in mind. Quote Link to comment Share on other sites More sharing options...
peteym5 Posted October 18, 2017 Author Share Posted October 18, 2017 I had thought about that. I know the 7800 basic can compile asm routines, so I can re-use some stuff that deals with AI controlling the opponents you face on the screen. Some cases I would need to get over 8 sprites on the screen and not sure if the 7800 basic is set up to do that. It takes a very sophisticated piece of ML code to multiplex the player/missile graphics on the 5200 / 8-bit. What it does, the sprites are erased and redrawn every frame. Starts with a different sprite number each frame, so if more than the number of sprites allowed on the line need to appear, one or more will not show in that frame. They will appear in the next frame, but others will not. They will flicker. The more sprites the hardware allow, the less flickering. This has done with the 2600, NES, Commodore 64, Sega Master System. I think the NES has an automated multiplexer in the hardware. I know I can probably re-use my process of procedural drawing the back grounds in character mode. 7800 can be set up to have a 40 column screen with 32 character font. This is data instructions that draws screens, draws vertical lines, horizontal lines, diagonal lines, rectangles, triangles, small images, etc. I am able to compact a 1K screen down to under 100 bytes. That is how I am able to get over 30 different screens stored on a 16K cartridge without resorting to compression. That reminds me, a program like Inflate would work on the 7800 that just decompresses data into RAM. Quote Link to comment Share on other sites More sharing options...
+Trebor Posted October 18, 2017 Share Posted October 18, 2017 Some cases I would need to get over 8 sprites on the screen and not sure if the 7800 basic is set up to do that. Are over 8 sprites possible under 7800basic? https://www.youtube.com/watch?v=d1nWjIx1QeA How about 40 non-flickering moving sprites? Source: http://atariage.com/forums/topic/222638-7800basic-beta-the-release-thread/page-24?do=findComment&comment=3742038 3 Quote Link to comment Share on other sites More sharing options...
peteym5 Posted October 18, 2017 Author Share Posted October 18, 2017 Are over 8 sprites possible under 7800basic? https://www.youtube.com/watch?v=d1nWjIx1QeA How about 40 non-flickering moving sprites? Source: http://atariage.com/forums/topic/222638-7800basic-beta-the-release-thread/page-24?do=findComment&comment=3742038 Does the 7800 Basic have this double buffering itself or is it something I need to write my own DLI routine for? Is the source posted there? Quote Link to comment Share on other sites More sharing options...
EricBall Posted October 18, 2017 Share Posted October 18, 2017 (edited) And as someone who has programmed for both the 2600 & 7800, I agree with Kosmic Stardust - start from scratch. Have a look at your A8 code - how much of it is concerned with setting up the ANTIC display lists? Throw that out; MARIA display lists are radically different from ANTIC display lists. Next, how much of the remaining code is designed to make the code you just threw out easier / better? Throw that out too, you'll need to redo that code to make the code to set up the MARIA display lists easier . Sound? Throw it out, you only have a TIA (2 channels & half the frequency resolution). Controllers? Throw it out - different controllers and digital instead of analog. Graphics data? Throw it out; MARIA does 4+ colors per pixel. Collision detection? Throw it out, the 7800 doesn't have collision detection registers. Now, take a look, how much code is left? Is any of it worth saving or are you better off starting off with a clean page (and maybe even using 7800 Basic). At one point I did a write-up on the 7800 versus the 5200 : https://sites.google.com/site/atari7800wiki/atari-5200 which might help you as a starting point. Edited October 20, 2017 by EricBall 6 Quote Link to comment Share on other sites More sharing options...
Mord Posted October 18, 2017 Share Posted October 18, 2017 Does the 7800 Basic have this double buffering itself or is it something I need to write my own DLI routine for? Is the source posted there? You would have to enable double buffering in 7800Basic, but otherwise it's something built in. There's a sample program included with the 7800Basic zip that shows how to use it. Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted October 19, 2017 Share Posted October 19, 2017 And as someone who has programmed for both the 2600 & 7800 programmer I agree with Kosmic Stardust - start from scratch. Have a look at your A8 code - how much of it is concerned with setting up the ANTIC display lists? Throw that out; MARIA display lists are radically different from ANTIC display lists. Next, how much of the remaining code is designed to make the code you just threw out easier / better? Throw that out too, you'll need to redo that code to make the code to set up the MARIA display lists easier . Sound? Throw it out, you only have a TIA (2 channels & half the frequency resolution). Controllers? Throw it out - different controllers and digital instead of analog. Graphics data? Throw it out; MARIA does 4+ colors per pixel. Collision detection? Throw it out, the 7800 doesn't have collision detection registers. Now, take a look, how much code is left? Is any of it worth saving or are you better off starting off with a clean page (and maybe even using 7800 Basic). At one point I did a write-up on the 7800 versus the 5200 : https://sites.google.com/site/atari7800wiki/atari-5200which might help you as a starting point. Well you can still write using POKEY sound, but it will require an external POKEY chip installed on the cart. Not sure if you want to go that way or not. Quote Link to comment Share on other sites More sharing options...
SIO2 Posted October 19, 2017 Share Posted October 19, 2017 I have thought of attempting laser blast myself. If source code to this (see video) were available, it looks like a good starting point to me. 1 Quote Link to comment Share on other sites More sharing options...
+Trebor Posted October 19, 2017 Share Posted October 19, 2017 If source code to this (see video) were available, it looks like a good starting point to me. SIO2's good starting point (AKA Source code for the aforementioned ROM demo in the video). 1 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted October 19, 2017 Share Posted October 19, 2017 I believe Bentley Bear also uses these scrolling tricks. Quote Link to comment Share on other sites More sharing options...
Andromeda Stardust Posted October 20, 2017 Share Posted October 20, 2017 I believe Bentley Bear also uses these scrolling tricks. Even NES used parallax scrolling to limited extent. IT was possible to change the X offset at any scanline, so layers with differing speeds were possible but they had to be confined to horizontal stripes. Quote Link to comment Share on other sites More sharing options...
peteym5 Posted October 21, 2017 Author Share Posted October 21, 2017 (edited) Laser Blast and HeliCommander uses parallax scrolling with a 3D ground scrolling effect. Not sure how extensive that can be done for the 7800. What I decided to do is do some ports of the bitmaps that I used to make the sprites for the 8-bit, rearrange them so that 7800 graphics converter can translate them to data it uses for graphics. It will keep to the same sprite indexes used for its 8-bit counterpart so we can figure out what sprite belongs to what object on the screen. A person known as Kamakazi20012 will be doing the 7800 basic programming sections. You find him on the Atari.IO forums and does not come over here often. He does a lot of work with Video61, so the cartridges will be available through Atarisales.com. I will be doing some peripheral assembly programming and graphic translations so I can be more focused on building more 8-bit games. The image is for Amokbots, it is a work in progress that we will be making into 3 color sprites. The sprites are set up at 12 pixels wide, so it allows slightly more room than the 8-bit 8 pixel with monocolored sprites. Allows for a few pixels to be added if needed to make the object images look better. The games I have in my inventory that uses 3 color sprites are HeliCommander and Secretum Labyrinth. Use the 8-bit/5200 trick of overlaying 2 players to make a 3rd color that is an "OR" value of the 2 other sprites colors. I limited their use to 8 on screen sprites with multiplexing to reduce their flickering. I know the 7800 can have many more. Many of these games use a highly compressed data to store the information on how to draw each screen and we are going to need to figure out how to use this process for 7800 character mode backgrounds. Edited October 21, 2017 by peteym5 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted October 21, 2017 Share Posted October 21, 2017 If you are wanting to use your Super IRG trick on the 7800 you can do that. See my thread on Sky Scraper 2115. Quote Link to comment Share on other sites More sharing options...
peteym5 Posted October 21, 2017 Author Share Posted October 21, 2017 I thought about how Super IRG, going between 2 fonts each TV frame, will work with the 7800. It should work for the 160 pixel wide modes. Those 320 pixel wide modes are weird on how they are set up, can those be used for a Super IRG like trick also? I selected a few games that may be ported to the 7800. Including Amok Bots, Delta Space Arena, and Laser Blast X. Favoring games that not really been done much 7800. I am skipping over Megaoids and Helicommander because the 7800 already has decent ports of Asteroids and Choplifter. Question for people that already had produced games on these cartridges, either selling through Albert, on on their own. What would be a rough estimate on total number of cartridges I can expect to sell per game? From working with the 8-bit games selling through Atarisales, I can say the average is around 30 with the smaller games. Tempest and Venture games sold over 50. Not sure how many people have actual 7800 consoles in this world. The ideal with doing sever other games that fit onto a 16K cartridges was to offer people a choice. People may like space shooter games, military war games, puzzles, or adventure. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.