Jump to content

jbs30000

Members
  • Content Count

    473
  • Joined

  • Last visited

Community Reputation

8 Neutral

About jbs30000

  • Rank
    Moonsweeper
  1. OK, instead of BEQ overscan I changed it to BNE DrawLoop. Getting rid of the JMP gained 3 extra cycles for a total of 4 free cycles total. And getting rid of the STA WSYNC will get rid of 3 more for a grand total of 7. I could make the sprite multi-colored, but it's for the best if I make my personalized SkipDraw, actually it's a DoDraw, into a standard DoDraw. Anyway, it's 3:07am so done for a while.
  2. I'll be honest. I haven't touched bB in about 9 years. The QBert.bas code is here, http://atariage.com/forums/topic/124726-qbert-game-completed-formerly-titled-ok-i-lied-one-more-update/?do=findComment&comment=1511150 You can check it out for yourself. I opened it up and had a look, but I'm not sure what I would need to change. Edit: Looks like it might be the code I had before I added pushing the fire button to start the game. Unfortunately I don't think I have the later code on my computer any more.
  3. 1 - Why, to cram more code in, of course. 2 - I see what you're saying. I'll give it a try. Thanks.
  4. 1 - Good point, but I'm not quite sure how I would use the 4 cycles at the end of the scanline. Although I guess it would be good to play around until I found something that worked. 2 - I need DEX where it is because if X isn't 0 then I need to fill PF0 & PF1 for the next scanline. And I am using a form of SkipDraw. If I go the traditional rout which uses 18 cycles I'll have to do with STA COLUPF what I did with the left side PF0 & PF1. Which wouldn't be too bad actually.
  5. I wrote a program that only displays a single color sprite on an asymmetrical, multicolor playfield (the background is a single color). It doesn't do anything else, but that's fine because that's all I want it to do. I'm just curious if anybody has any tips or advice for writing the code to look a little neater, or have any optimizations that could squeeze out an extra cycle or two in the scanline code. Or if there's anything I could, or should do differently. If any of you decide to look over the code, then here a few notes first: It's a 1SLK. I came up with a sprite display routine that only uses 14 cycles instead of 18. The drawback is the Y register is devoted solely to the sprite. It can't be used for anything else (unless some cycles can be freed up. Each scanline is 75 cycles). In order to get the timing right the left side PF0 and PF1 are set before the first scanline, and then within the scanline they're set at the end to be displayed on the next scanline. I know some of you don't like too many comments, so I'm letting you know that I commented the hell out of my routine. Anyway, if you choose to look at it, thank you. Program.zip
  6. I'm embarrassed to say, I forgot the reset vector in my original program too. So I put it in....and I have an image! I knew it was something simple that I goofed up on. Thank you very much guys. I really appreciate it.
  7. Reset/Brk vectors - Oops, I forgot that bit of code. Thanks for reminding me. Compiling: I'm actually using 2 IDEs. For jEdit I have dasm $n -f3 -v0 -s$c.sym -l$c.lst -o$c.bin For Crimson Editor I have the arguments: "$(FilePath)" -f3 -o"$(FileTitle).bin" -l"$(FileTitle).lst" -s"$(FileTitle).sym"
  8. To make a long story short, nothing I do seems to work when trying to write code to display pixels. DASM creates a list file that looks fine, but the bin files doesn't work (Stella displays a black screen & alt-L shows 0 scanlines). To simplify things I created a program that clears all of the RAM, and then writes a pattern of %10101010 to the PF0, PF1, and PF2 registers. DASM creates a good list file but the bin is 0 bytes. At this point I'm frustrated both because I tried a lot of different fixes, and I KNOW the problem is a very small and simple one that I'm overlooking. So please, tell me what's wrong with this test program, so I can use the knowledge to fix my actual program. Thanks. P.S. I got so paranoid I took out all of the comments seeing if that would help . It's pretty simple so you shouldn't need them, but of course I'll answer any questions if something isn't clear. processor 6502 include ".\includes\vcs.h" include ".\includes\macro.h" SEG Code ORG $F000 ldx #FF lda #0 Clear STA 0,X DEX BNE Clear LDX #$EE STX COLUPF Frame_Loop LDA #0 STA VBLANK LDA #2 STA VSYNC STA WSYNC STA WSYNC STA WSYNC LDA #0 STA VSYNC ldx #37 VB_Loop STA WSYNC DEX BNE VB_Loop LDX #0 DrawLoop LDA #%10101010 STA PF0 STA PF1 STA PF2 STA WSYNC INX CPX #192 BNE DrawLoop Overscan LDA #%01000010 STA VBLANK LDX #30 Overscan_Loop STA WSYNC DEX BNE Overscan_Loop JMP Frame_Loop
  9. jbs30000

    Collisions

    Yeah, the last program I was working on uses sprite positions to check for collisions. So has there been any DPC+ kernel updates lately, or will there be? Just curious.
  10. jbs30000

    Collisions

    I guess session 25 is the only one that's new. OK, and as for collisions, that last time I played around I had to use sprite locations to detect virtual sprite collisions (and that should be sprites 2-9 instead of 2-5, my mistake). One last question then. When was the last time the DPC+ kernel was updated? The last time I did anything with bB was about 8 months ago.
  11. jbs30000

    Collisions

    Actually, I was thinking of the DPC+ kernel. It's just been so long I forgot the name. And I have played around with assembly. I did the tutorials from Andrew Davie. Although searching, I see he's done more lately. Anyway, is collision detection on the DPC+ kernel still buggy for sprites 2 - 5? Thank you.
  12. jbs30000

    Collisions

    Has there been any upgrades lately? Mainly, with the asymmetrical multiplayer kernel can you check for collision(player1, player5)? It's been over a year since I've done anything and it didn't really work, but I heard it was being worked on. Thanks.
  13. When I played around I finally had to just check the X and Y locations of each sprite to determine a collision. Unless there was an update, and I haven't seen any posts saying there was, then detecting collisions with sprites 2 - 9 isn't completed yet. This works in the "d" version. However, you have to assign colors for each player separately. They can share the same bit data, but not the same color data. Let me know if that's not clear. Of course it's clear.
  14. Thank you! May I ask you some questions? 1. Is it too difficult (i.e. is it challenging or frustrating)? If so, which part(s) did you find too difficult? 2. Did you play all three levels? 1. I didn't try very long. I downloaded it shortly before I had to go to bed. But for now I'm thinking it's probably the right level of difficulty and it won't take too long to get use to it. 2. No, I only made it up the stairs on the first level.
  15. Wow, that's really, really good. Very difficult too.
×
×
  • Create New...