Jump to content
IGNORED

well.. here's what I'm working on...


Recommended Posts

I've prolly spent 30-40 hours on writing my game so far (in 5200BAS :)), and now that it's slowly coming along the way I want it to (and that it's feasible for me to write), I thought I would let everyone know what I'm working on.

 

I'm working on an Atari 5200 version of the arcade game "Attax" by Atari. Below are preliminary screenshots (quite subject to change as time goes on.. I just needed something to start with). There is still *plenty* to do like implement all the rules of the game, have a friend of mine write a soundtrack (this may or may not happen), have the 2nd player joystick routine implemented, add a time keeper, score counter, computer player blah blah blah.

 

I have no idea when it will be done, but I'm hoping there are some people out there who like puzzle games and would like to play something like this on the 5200 :)

 

"Xatta" - the non functioning main screen

 

screenshot1.jpg

 

The game board, with much stuff not working yet on it.

 

screenshot2.jpg

 

Brian

Link to comment
Share on other sites

Gosh, I was already thinking of using Ataxx as the 'C' programming example, based upon the Palm pilot version at http://www.eecg.toronto.edu/~manohv/ataxx.html

 

Check out the sources available from that site for ideas on the game logic. I don't think I've beaten level 3 yet :x

 

As it stands, CC65 is good for game logic and the types of things where the use of structures is required. However, you do need to do any DLI and VBI coding in ASM. I tried experimenting with hooks from asm to 'C' but the overheads are just too great. Example attached.

 

Regards,

 

Mark

vbi_dli.zip

Link to comment
Share on other sites

Interesting! I wasn't aware that there was a version for the Palm. Now I'm going to have to download it and play it for a bit to see how well it works.

 

There's a couple of reasons why I chose to redo Attax for the 5200.

 

1 - Puzzle games will give me some idea how do write logic routines on a 5200. This in itself has been the hardest part and has given me the most grief. I have already rewritten much of the logic code many times :) I think I got it down.

 

2 - I wrote this once for the C64 back in '92 for the same reason :)

 

Brian

Link to comment
Share on other sites

Game is going okay, got the jump table working, ie, how far a piece can move before it's moved instead of "growing" a piece. I've got the second player routine working (though only one joystick is being used currently). It's now switching between colored pieces correctly.. next step would be to have it detect what pieces around it need to be taken over when a piece is moved.

 

 

Heaven: Thanks, but I'll keep messing with my charset :) This was thrown together in an evening to figure out how to create one.

 

Calamari: What exactly does 5200BAS do with the $B000-$BFFF range? I'm trying to figure out how much free space I have up there (instead of just giving up 4K of precious ROM space :)). I believe I'm down to 7.5K space ($4000-$8??? being used) and A000-AFFF is my screen plus charset, sprites. I'm planning on optimizing (you've never seen so many if/then statements!), but I'm wondering what I can move into that range.

 

Brian

Link to comment
Share on other sites

Calamari:  What exactly does 5200BAS do with the $B000-$BFFF range?  

 

By default $B000 is the PRINT string area (for example if you said PRINT "Hello World" then the "Hello World" would be at $B000, followed by an $FF delimiter. There is no real range for the string area, it only writes what you use. If you are tight on space then find an empty ROM area (there are usually gaps here and there) and move your strings to the gap with the SET statement. I recommend using some kind of hex editor so you can see where the empty spaces are. Or, if you don't plan on using PRINT "" at all, don't worry about $B000 and just overwrite it.

 

There is other stuff in the $Bxxx area too, come to think of it. I'll write up a 5200BAS memory usage map (for the default settings) and post a link here when it's done.

 

calamari

Link to comment
Share on other sites

Great, a memory map of that range would be helpful.

 

Now that's taken care of, I have more questions ;)

 

1. What exactly can I do with the 16K of RAM space on the 5200? I realize that $1000-whatever is used for the screenram, and this space is used for variables, pointers, whatever. But I'm sure I'm not even coming close to filling it up. I understand that I can't really load anything directly into it since when you compile your cart, it needs to be in the memory space that is the 32K ROM. I'm always looking for more spaces to stuff things :D

 

2. What HEX editor do you recommend?

Link to comment
Share on other sites

Great, a memory map of that range would be helpful.

 

It has been added to the FAQ as section 3.1. note that I also just made a few changes to 5200BAS so the memory map only reflects 1.96, not 1.95.

 

1. What exactly can I do with the 16K of RAM space on the 5200?

 

Anything you want.. some areas are in use as shown in the FAQ, but otherwise do whatever you want with it. You are correct that any RAM you use will need to be filled by your program, as RAM is lost when the power is turned off.

 

2. What HEX editor do you recommend?

Well, I'm not sure.. I use DEBUG.EXE but I'm sure that would not be the first choice for most people. You might try Microsoft Codeview or Borland Turbo Debugger.. but they are also for x86. Can anyone else suggest a good general purpose hex editor?

 

calamari

Link to comment
Share on other sites

Anything you want.. some areas are in use as shown in the FAQ, but otherwise do whatever you want with it. You are correct that any RAM you use will need to be filled by your program, as RAM is lost when the power is turned off.  

 

I realize this, I was curious what people could possibly do with 16K (minus screen memory, variables, etc) if your program resides in the ROM addressing space :) It almost seems like a waste since I don't believe I can fill enough variables to come close to taking this up.

 

Here's an updated screenshot of Xatta (or whatever I decide to name it in the end :)):

 

Both players working, joysticks working, pieces being detected, score being kept, etc :) I have a friend who is a musician writing the score to this - I've given him the limitations of POKEY so he's going to confine his score to it. He's taking it as a challenge :D I've still got to add the computer player which will be fun.

 

Game starting:

 

newshot1.jpg

 

Game in progress:

 

newshot2.jpg

 

Brian

Link to comment
Share on other sites

Quote:  

 

Anything you want.. some areas are in use as shown in the FAQ, but otherwise do whatever you want with it. You are correct that any RAM you use will need to be filled by your program, as RAM is lost when the power is turned off.  

 

 

 

I realize this, I was curious what people could possibly do with 16K (minus screen memory, variables, etc) if your program resides in the ROM addressing space  It almost seems like a waste since I don't believe I can fill enough variables to come close to taking this up.  

 

I think I just figured out the confusion here. The problem I was having is this: If the program is in the 32K ROM code, how could I get stuff into RAM besides just variables, screenram, etc to where it would save ROM space? I *just* noticed the SUB/.BYTE routine in 5200BAS. Is it possible to assemble a charset or store a screen in RAM instead of ROM? I'm thinking no...

 

Brian

Link to comment
Share on other sites

Well, I'm not sure..  I use DEBUG.EXE but I'm sure that would not be the first choice for most people.  You might try Microsoft Codeview or Borland Turbo Debugger.. but they are also for x86.  Can anyone else suggest a good general purpose hex editor?

 

At work we use Hex Workshop, which is pretty good.

 

Hex Workshop download page

Link to comment
Share on other sites

re: 16kram

 

consider ultima or any other game which needs various ram-lookup tables, f.e. time pilot... ;) somewhere you have to store sprite positions, runtime generated lookup tables or just use player/missle gfx... where you have to use ram (regarding moving objects vertical) or think of dynamic display lists... i gues...if someone wants to fill the 16k he will find it limited... :)

 

hve

 

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

Link to comment
Share on other sites

  • 2 weeks later...

Due to the response I've gotten, I've decided to tackle adding a computer player in the game. At first, I thought it would be a close to impossible feat... 7K free on the cart and I'm to add a computer player?! Then as I was falling asleep one night, I came up with the answer (don't tell me I'm the only person who does this :roll: ). I got up and wrote it all down, and then worked out some sorta flowchart from hell the following day to see if it was feasible. Welp, I just managed to implement part of it, so the answer is yes. I'm just hoping I have enough space to implement everything I want it to do.

 

My friend is working on a soundtrack for the game (background tunes, etc). Is there any good Atari 800/5200 games that have music I could direct him to? He's not used to being limited to a 3 octave range and I wanted to give him an example of what it might sound like.

 

Brian

Link to comment
Share on other sites

I was just doing some research on this game, and see that there was an arcade game called Ataxx released by a company called Leland. Did this game also appear on an Atari system as Attax? If so, which came first? I am adding this game to our In Development page and would like to accurately describe its origins.

 

Thanks!

 

..Al

Link to comment
Share on other sites

I always thought it was Atari, but after looking at my MAME32, it very much does say Leland.  I'm not entirely sure why I thought Atari did it, but still, yes this is the game I'm aiming to duplicate.  

 

I was thinking perhaps that maybe there was an ST version of the game or something called Attax, but if it's the arcade game you're thinking of then the one by Leland is probably the only version. I noticed on the page you put up on your site you're calling the game Zatta. Have you decided to change the name from Xatta?

 

Take care,

 

..Al

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