Jump to content

three2em

New Members
  • Posts

    15
  • Joined

  • Last visited

three2em's Achievements

Space Invader

Space Invader (2/9)

1

Reputation

  1. For those (like me) who weren't quick enough to pick up a copy of Star Castle, D Scott Williamson has released a zip of the files that came included on the CD in the box, including ROMs, source code, et cetera. I'll be down in my basement the next couple of weeks going over this stuff. Link: http://starcastle2600.blogspot.com/p/star-castle-2600-story.html(scroll down to The Result)
  2. Hey again, Sorry for another noob question, but I can't find this in a search. Is there a last cycle that you can confidently call WSYNC on? I'm aware that it eats three cycles, but I always believed that you needed to call it by cycle 72, with the idea being that if you called in on 73, the WSYNC wouldn't happen until the very end of the scanline, telling the TIA to wait until the end of the following scanline, however in the kernel I'm working on, I'm forced to call it on cycle 73, and on an emulator, it works! But I'm still worried that this won't be the case on all Atari 2600s. Can I proceed confidently? Thanks.
  3. Hello again, So I've been wracking my brain over a bug (?) I'm having. I noticed that the position of the ball (which I'm using as the player's missile) is always 1 pixel behind where it should be, even though the timing of it's positioning algorithm is exactly the same as the positioning algorithm for my sprites. So I dug closer and began taking note of where the ball was positioned after a RESBL call (scan cycle - pixel position) and noticed that when I did a RESBL at the exact same scan cycle as RESP0/1, the position of the ball was always 1 pixel before the sprite. Could this really be? Is there an explanation for this? Thanks.
  4. I want to say Java Aplet... but it's been well over a decade since I've done java aplet development. Doesn't look like it should be too hard to get a working prototype up, but then again, everytime I say that about my own atari programming I wind up eating my words. Looking forward to seeing you develop this!
  5. How come it's in an exe? Was hoping to load this up on my Mac. Any chance you'll have a binary soon to share?
  6. SpiceWare, I was thinking the same thing about LumaBoosting (didn't know there was a term for it.) Thought it might be a crazy idea, but glad it's not. Definitely worth thinking about.
  7. Thanks for clearing that up. I was always curious why Joust on my VCS had visible scanlines, while on Stella it didn't. I thought it had something to do with maybe a different release of the game or something.
  8. Hmmm... thanks for the food for thought. FujiSkunk, I'll definitely have to check out Ms. Pac-Man, and probably Jr. Pac-Man too, as I've heard that's the best of Atari PacMans. I've been studying the Joust kernel too, as that's probably closest to what my kernel will be. I thought they were just alternating scanlines, so I'll have to check it out more closesly. Thanks!
  9. Hey, I'm developing a kernel, and currently it's designed so that if there are four horizontally overlapping characters, the kernel alternates each frame between showing one set of two characters, and another set of the other two characters. Unfortunately, if one of those characters happens to be the player, the player is then being flickered. However, if there are only three characters that overlap, the player's character won't flicker. Anyway, it shouldn't be until higher levels when there's that many enemies on the screen at once, but I figured I'd ask you guys if any flicker of the player's character is acceptable, and if so, are there any games you can think of (that don't suck) that do that? Thanks.
  10. Darrell, Thanks. Did not know about Collect, or maybe I did but don't recall the name. Will definitely be checking it out. Most of my kernel ideas I've been playing around with have been from reverse engineering Defender II's kernel, and unfortunately you can miss little bits of data like VDELP only works when both sprites are being updated. Anyway - Thanks for the link, checking it out now!
  11. Whoops... Was just tinkering with the Kernel, and realized that because I'm only currently display P0 (haven't yet implemented P1 code), this was causing GRP0 not to be written. Weird.
  12. Hey, I'm working on a Kernel that needs to utilize VDELP for one of the players, but I'm running into this weird bug where if I have VDELP0 turned off, the sprite shows fine (albeit with some glitches because GRP0 is being changed mid-screen.) However, when I turn VDELP0 on, the sprite disappears. I can see GRP0 being written to properly in the Stella debugger, but that data never appears on screen. Any clue what's happening?
  13. Thanks for the quick response PolygonPizza. I didn't get it at first, but then after I coded what you recommended, it finally clicked in how all this repositioning stuff works. Thanks! Edit: Forgot the code again. This is what works for me, hopefully it will help others. BeginScore ; Wait X cycles then reset P0/P1 LDA #3 ; 2 (2) STA NUSIZ0 ; 3 (5) STA NUSIZ1 ; 3 ( LDA #1 ; 2 (10) STA VDELP0 ; 3 (13) STA VDELP1 ; 3 (16) LDA #0 ; 2 (18) STA COLUBK ; 3 (21) LDA #CSCORE ; 2 (23) STA COLUP0 ; 3 (26) STA COLUP1 ; 3 (29) NOP ; 2 (31) NOP ; 2 (33) STA RESP0 STA RESP1 LDA #%11110000 STA HMP1 LDA #%11100000 STA HMP0 ; Shift scores slightly to the center of the screen STA WSYNC STA WSYNC STA WSYNC STA WSYNC ; Additional WSYNCs for vertical alignment, only one necessary for HMOVE STA WSYNC STA HMOVE LDY #7 STY temp ScoreLoop LDY temp LDA (scoreDigits+$A),Y ; 6th STA temp2 STA WSYNC ; Twelve Cycles to spare when WSYNC is called LDA (scoreDigits),Y ; 1st STA GRP0 LDA (scoreDigits+$2),Y ; 2nd STA GRP1 LDA (scoreDigits+$4),Y ; 3rd STA GRP0 LDA (scoreDigits+$,Y ; 5th TAX LDA (scoreDigits+$6),Y ; 4th LDY temp2 NOP STA GRP1 ; 4th STX GRP0 ; 5th STY GRP1 ; 6th STA GRP0 DEC temp BPL ScoreLoop
  14. Hey all, I'm new here, and have been getting along well reading through the massive information on this forum. Thanks! I'm building a game for the Atari 2600 and have accomplished quite a lot in one weekend considering I haven't programmed in ASM in over a decade. I'm trying to implement a 6 digit score, and while I've been able to find a lot of information about how to, and I understand the VDELPx method, the only thing I can't figure out is how to position the Players 8 pixels apart. What I'm currently doing is running several NOPs until the P0 sprites work, then doing a call to RESP0, then the very next line of code doing a RESP1. This gets me very close, as I'm able to display all 6 digits, but P0 and P1 are 9 pixels apart rather than 8, so the alignment is just off. All the algorithms I can find online only show the loop to display 6 sprites in a row, but all assume that the Players have been positioned correctly. Any help would be great. Thanks Quick Edit: Figured some code might help: BeginScore ; Wait X cycles then reset P0/P1 NOP ; 2 (2) NOP ; 2 (4) NOP ; 2 (6) NOP ; 2 ( NOP ; 2 (10) NOP ; 2 (12) NOP ; 2 (14) NOP ; 2 (16) NOP ; 2 (18) NOP ; 2 (20) NOP ; 2 (22) NOP ; 2 (24) NOP ; 2 (26) NOP ; 2 (28) NOP ; 2 (30) NOP ; 2 (32) STA RESP0 STA RESP1 LDY #7 STY temp ScoreLoop LDY temp LDA (scoreDigits+$A),Y ; 6th STA temp2 STA WSYNC LDA (scoreDigits),Y ; 1st STA GRP0 LDA (scoreDigits+$2),Y ; 2nd STA GRP1 LDA (scoreDigits+$4),Y ; 3rd STA GRP0 LDA (scoreDigits+$,Y ; 5th TAX LDA (scoreDigits+$6),Y ; 4th LDY temp2 NOP STA GRP1 ; 4th STX GRP0 ; 5th STY GRP1 ; 6th STA GRP0 DEC temp BPL ScoreLoop
×
×
  • Create New...