-
Posts
9,148 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Gallery
Events
Store
Community Map
Everything posted by Cafeman
-
How exactly is this done? Here is my guess. Even if I'm wrong, I'd like to talk about how best to do this since 4 players is quite limiting. Anyway, I've read that if you know that 2 objects will be on different horizontal planes, that this is the best time to split the sprite. IS it done via a DLI? IN other words, put a DLI halfway down the screen, and the DLI routine changes the player bitmap to the 2nd object, and changes its location in memory? Then at line 1, the swapping occurs again? Or perhaps it is done in conjunction with careful timing of the which scanline you are on? (note that I currently have no clue how to implement this kind of coding)? Or is there a whole other (and hopefully, Better) way? Oh btw, my first game (which is no longer titled "Firefighter") probably won't need to implement this kind of sprite/player swapping, but I'd still like to get an idea of how to do it. Like in Joust, all those birds are just 4 players?! I notice that when they get on the same horizontal plane, swapped/split players start to blink. Perhaps this is why the Pac-Man 2600 ghosts flicker? Every ghost is draw every 4th frame? Thoughts are welcome!
-
[Example] Redefining the 5200 character set
Cafeman replied to DEBRO's topic in Atari 5200 / 8-bit Programming
Thanks, DEBRO! I'm working on the Player Missile side of things currently, but I will get back the redefined character sets stuff soon. It's a bit tedious to draw (on graph paper) all the redefined characters that you you need in building backgrounds and characters, isn't it. Question -- if using a character mode such as Antic mode 4, can you can still use players and missiles, which would simply overlay themselves over the bg graphics? Is this correct? -
1. River Raid. 2. Enduro 3. H.E.R.O. All have aged well, and I still play them!
-
Player address, combining players, and 4K boundaries
Cafeman replied to Cafeman's topic in Atari 5200 / 8-bit Programming
Oh, and now that I've seen a DLI in action, I'm not going to use it on the 'clouds' at all. Cycling the entire cloud's color from dark to light looked better. I want the cloud to look like it is made of cloud, not grey stone. With more resolution, I can actually draw the cloud curls within the cloud body; it looked too blocky in low rez. Here's my next question though -- since this use of a DLI is tied to a specific mode line, how do you use a DLI to get more colors on a player that moves vertically? -
Player address, combining players, and 4K boundaries
Cafeman replied to Cafeman's topic in Atari 5200 / 8-bit Programming
Yes, I did that on purpose. Isn't it just butt-ugly in that low resolution though! It's difficult to draw anything because you don't have small enough pixels. That's why I upgraded to Antic E -- no pictures to show of that version yet. I couldn't find the proper address of Player2, either -- I read what it should be, but I wasn't paying close enough attention and must have calculated it wrong, because the 2nd player (a lightning bolt) never displayed. Is it true that each player takes 256 bytes, and that player 1 is 256 bytes after player0 in memory? -
So, do you think that to get multi-colored characters, most programmer either used multiple players/missiles, or used character mode? For example in Joust, the bird is one color and its lance is probably a wide missile. I always wondered why 5200 games (such as Q*bert) had such limited colors at times on their main players. If you are in character mode, you still have the same player and its one-color limitation though, correct? So you'd have to use bg graphics using redefined characters to get more colors, and perhaps just not use Players/missiles?
-
Just to add a possible solution to the mystery ... I think the scratchy bassy sound is caused by using the -limit option, which all new PC owners must use with the VSS DOS emulator. When I forgot to type this option, I noticed the sound was okay. I still never got any other 5200 emulators to work for some reason ...
-
Atari 5200 Display List Interrupts
Cafeman replied to Cafeman's topic in Atari 5200 / 8-bit Programming
SUCCESS!!! It all came down to one line of discrepancy. I had: lda #$40 ;Enable NMI You had: lda #$C0 ;Enable NMI Once I changed mine to be #$C0, it worked! I'm not sure why .. NMI enable, the value of #$C0 must tell it that its a DLI interrupt? SOmething like that? Anyway, the last line of my cloud turned to a godawful pink .. it was so pretty! Thanks Dennis. You da man! -
Atari 5200 Display List Interrupts
Cafeman replied to Cafeman's topic in Atari 5200 / 8-bit Programming
DEBRO, I referred to your emailed DLI example and inserted one into my helicopter demo. As is, if I put a $CA on line 10 of my display list to call the dliRoutine pointed to $206,$207 (like yours did) ... all bg graphics stop executing at that line. I changed it to refer to $200,$201 as I found and referred to above and my bg graphics display, but the bg color doesn't change to red. It looks the same. COLPF0 in your example is $C016 -- are you sure this is correct? I also thought that I should set the 128 bit, thus adding hex #$80 to my 0A for Antic A -- your example used a "C" instead of an "8" -- C0 is decimal 192, but I don't understand why you used "C". When I try 8A, it doesn't work though either. HELP! Here is my DLI -- ; ; This is the DLI Routine to change the PF0 color to some sort of red color. ; DLIRoutine pha ;push accumulator on the stack TXA PHA ;Save X-register TYA PHA ;Save Y-register lda #$38 sta WSYNC ; Wait on horizontal sync sta COLPF0 ; Change color register 0 to red??? pla tay pla tax PLA ;Restore registers rti ; Return from interrupt Here is my display list: ;************* Antic A Display list data ************************ org $b000 dlist .byte $70,$70,$70 ;24 blank scanlines .byte $4A,$00,$18 ;Mode A and Load memory scan $1800 .byte $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A ;47 lines mode A .byte $CA,$0A,$0A,$0A,$0A,$0A,$0A,$0A .byte $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .byte $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .byte $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A .byte $0A,$0A,$0A,$0A,$0A,$0A,$0A ;for total of 48 lines .byte $41,$00,$10 ;Jump back to start at $1000 I'm not sure what the problem is yet. -
If you ever need to repair a glitchy 5200 Trak-ball controller, see my feature here: http://cafeman.www9.50megs.com/atari/5200t...0trak-ball.html
-
It's one of those Mars/Venus things. Yeah Tempest, from what I've read into, Ed Logg was really the mastermind coder behind Centipede, and Donna Bailey was the one who came up with the idea. One report stated she couldn't code her way out of paper bag. It seems very evident that her increased involvement was an 'attract females' marketing ploy, and one that worked well. I don't post this to claim that female coders are inherently worse or more inept than male ones .. but come on, you got Ed Logg there! The guy is a freaking genius game designer and coder, and then you have Donna Bailey -- what else did she do? Then the testimonials and comments .. it seems clear now that Ed Logg was the golden boy once again. I also like Logg's Xybots -- was playing it on mame last night, first time in years since I'd seen it. Ed said that game basically used character-mode graphics to accomplish its 3D! Got me thinking....
-
Atari 5200 Display List Interrupts
Cafeman replied to Cafeman's topic in Atari 5200 / 8-bit Programming
There are still some questions of mine that are unanswered, and I assume that only Nukey, Dan Boris, or DEBRO will be able to provide answers. For example, where do I actually put the routine and how do I point to it using $200,$201? -
You only had to suffer for a lunch hour? Tempest's and my lunch hours are ALL DAY! Pity us!
-
I can't believe that the great Master of Prototypes forgot the best one -- Missile Command!!
-
Wow! That's great. I really wish I could rig up a paddle too, especially for Kaboom! and Super breakout! I'd need to get the parts first, and another 5200 stick. I hope to see some pictures, too.
-
I have not implement one yet, but I am posting what I think I know for you to proof-read first. Why use a Display List Interrupt? ===> For my purposes, to change color registers on a mode-line basis. In other words, to get more colors than the basic 2 or 4. How do you invoke a Display List Interrupt? 1. Set the 7 bit of the instuction before the one in the display list you want affected. For example, if on mode line 10 you want to change the background color, and you are using Antic A, you'd add #128(decimal) (or #$80 Hex) to the line 9 instruction. Hence, line 9 would change from ... $0A,... to ... $8A, ... Now, you have to put the code you want executed somewhere ===> The DLI vector is at $200 and $201. This, I think, is simply a pointer to the address where the DLI code exists. If you want multiple DLI's, you must change/update the values at $200,$201 because this points to where the DLI code is executed. My question here is this -- do I make a routine in my ASM code, and use 'ORG' to ensure it resides at a specific location, and then store the same value at $200,$201 (low byte, high byte, remember!). You DLI code must do the following: 1. Save the A,X,and Y 6502 registers by pusing them onto the stack. 2. Execute this statement -- STA WSYNC . This basically waits until the beginning of the next horizontal line, or else you'd change colors mid-modeline! (Remember Tempest when you asked if you could do this? Well, you can, but it's not gonna look clean doing it this way. You'd need smart, proper timing...) 3. Store new values into the appropriate registers. You can't store using the shadow or they'll be immediately wiped out! So my question is, where are the hardware memory locations on the 5200 for the 4 color registers? 4. Restore the 6502 registers and return, using a RTI instruction (I think!). -------------- A good description of this and an example of DLI code is at the De Re Atari page, here: http://www.runtime.demon.co.uk/Systems/Ata...r5.html#SEC0503 Also I think that: $D40E = NMIEN, the non-maskable interrupt. $D40F = NMIST, which contains which interrupt actually occurred (it can be a DLI or VBI). I've included some questions in this text above, if you can answer them!
-
There is the arcade version. I don't really like the 5200 version much because it's just too watered down compared to the arcade version. Mind you, when I used to play this game, it was at a Pizza Time theater in a sit-down version. The arcade boasted classic ST sound samples, such as Spock's voice. The 5200 version's main view screen is pretty much worthless to me. The ships don't really grow larger in scale or smoothly come into view; the photons just kill stuff, you don't see that neat little circular explosion; I guess it just seems to me that the 5200 version is too 'flat'. It's nothing like Star Raiders, to me. Still, I do play it now & then, it isn't horrible or anything, and I don't mean to imply that. It gets tough; I've never gotten to the last stage!
-
http://cafeman.www9.50megs.com/atari/5200defender.html First, read that -- I put his comments in my site's review of Defender. He still programs Java games -- if you do a Yahoo! search on his name, you'll find his site & email addy. If you contact him, share!
-
http://pub10.ezboard.com/fretrogamingclass...picID=502.topic sighhhh, yes I will do all the work. Tempest, he never responded, but considering the fact that it took him a month to resurrect the thread anyway ... I doubt he's a daily reader of the board. I didn't want to scare him off or hassle him, but I wanted to ask some questions too! He was the 2nd 5200 programmer I had communication with; the first was Steve A. Baker who did Defender and Stargate.
-
Thanks! I started building it in early spring of 2001 ... keep checking it now & then, I add to it sporadically.
-
I love Joust too. The 5200 version shines. Centipede was another different version, 5200 from the 8bit. We talked about it a bit in a recent digital press forum thread, and Frank Hausman, the 5200 Centipede coder, responded to us, telling us of all the extra effort behind the superior 5200 version. Go check it out before it sinks too low, the thread is something about the 5200 and I think Tempest started it. The first post was in May, with the last post in July.
-
Gunstar, sorry for not responding to your comments; I must have missed them until now! Yes, I asked this question over at AGH too a while back. A sequel to Adventure was the most popular response I got from several retro forums. Marble Madness? I've rarely even seen it, let alone play it much! It's hardly a popular game to me! I bet I could find it on one of them newfangled comp-I-lations... Besides, Marble Madness, with its perspective, looks a bit difficult for me at this point. Maybe in the future. Adventure 2 seems much easier! In fact, I don't have the foggiest idea of how to program/implement a 3/4 perspective game like MM, or even Crystal Castles. I'm going to have to stick to a strickly updown/leftright 2D perspective for a while with my homebrews. But thanks again for all the comments, and feel free to add more and to talk in detail about what you would like to see. Once I get that 'hot' idea, I'll know it and start working solely on that game, whatever it is. Tempest is lucky, he has an definite idea already; I have several half-ideas, none of which at the moment seem to be that exciting to me. In fact, Adventure 2 seems the most exciting idea to me right now. A certain reader of this board sent me a title for my Adventure 2 box mock-up ... I'll incorporate it into a new mock-up and post it here soon. Vic, what's your alias here? (edited to correct the 101 spelling/grammar errors. Must be the English student in me.) [ 07-24-2001: Message edited by: Cafeman ]
-
Tron the arcade game? That seems harder than Adventure 2 to me. The only control I could imagine would be to either disallow the rotary aim mechanism, and just make Tron shoot in the direction he's facing. Control would be compromised, that's for sure. THe cycle and tank scenes would probably be much easier. ECM over at GameGO said he wouldn't mind seeing a Disks of Tron. I don't want to make that one though. What kind of game exactly did you have in mind?
-
The screen shots currently look like blocky crap! I did it in Antic mode A, and I think I'd like to switch it over to E for the higher resolution. The cloud is currently 2-color gray and looks like a missile command explosion, not a cloud. The lightening bolt is yellow and is a player. The Trees are background graphics. I have not implemented any Display LIst Interrupts yet, so it's only 4 colors as of now, in other words, crappy looking. But eventually I will show you it, okay?
-
Adventure was a 4k game on the 2600. Adventure 2 would be a 32K game on the 5200. (shudder). Just think of the possibilities!
