Jump to content

Engeliron

New Members
  • Posts

    17
  • Joined

  • Last visited

About Engeliron

  • Birthday 03/09/1979

Profile Information

  • Gender
    Male

Engeliron's Achievements

Space Invader

Space Invader (2/9)

3

Reputation

  1. Using the Easy 6502 to figure out indirect,y I stumbled across something that I can't figure out. As an example I'll set address $FF with a value of #$FF. The address $00 with a value of #$FF. Finally set the 'y' reg with a value of #$01. When I do a LDA ($FF),y should the lookup bytes be $00 then $FF? Then this gives us a final address of $FFFF plus the 'y' reg of #$01 which would be address $0000? Can you have wrap around with the 2 byte value? What should the answer be? Also, why does indirect,x normally take 1 more cycle than indirect,y? Any information would be greatly appreciated.
  2. You make a good point that most games are just looking for the press of the button. The game Defender needs you to release the fire button in order to fire again. This is the game I used to test if my rapid fire really worked. You're pretty much invincible at 20 times per second fire rate. Otherwise if you keep the button pressed it doesn't fire again. All that aside I built it for the fun of it and also remembering as a kid using the Quickshot 2 turbo and thought how cool it would be to make my own at the firing rates I wanted.
  3. Sorry, I forgot to pencil in that you have to connect pin 14 on 556 timer to VCC (Pin 7 on Atari) as well otherwise chip won't work
  4. Hello all, I searched on the forum for rapid fire joystick and found some vague schematics to get what I wanted. I wanted a turbo fire joystick that allowed either normal fire, 5, or 20 times per second firing rate (just like an old NES controller I used to own). Here is the crudely drawn schematic to get that working with a 556 timer,a single pole triple throw switch, 2 FETs, some resistors and capacitors. You could probably get this to work with only 1 FET but I realized that after I got this working and am too lazy to rewire the joystick. Hope this helps.
  5. Hello, I've never attempted flickering before but will need to know how for future games I would like to create. I've searched around the forum for simple examples/snippets of code to create the flicker effect. Also someone mentioned that flickering individual lines of each sprite compared to the whole sprite at once might be the way to go. If anyone knows of super simple code to get a whole character to flicker, or an individual line of each character that would be fantastic. Thanks
  6. Hello all, I don't know if this has been answered in another forum but I was wondering if there are any other pseudo ops out there that weren't covered in Andrew Davie's Programming for Newbies session 16? The only ones I've found are for .word and .long Any info would be greatly appreciated.
  7. That's fair enough for just a simple joystick. I guess what it's used for is electric wheelchair controls. That's why there's grooves cut in where the joystick travels to mechanically force 4 directions only. I still can't believe they charge that much for something this simple.
  8. Thanks for the info on the make. I went online to find out prices and see if they still make this model. I found a site called Turning Point Technology and they still make this model (TA-50120) for $339 US. That seems a bit pricey for what this is, but does anyone know if that's the actual current price for this? If so I'm not going to tinker with it but post it on ebay for a few hundred dollars (it's in decent shape and works perfectly. I even got my best score on Midnight Magic with it).
  9. Hello all, recently purchased this weird looking joystick for $3. Plugged into my 2600 this morning and it plays all games fine. Has anyone seen this model before and if so have any info and guess on rarity. Was planning on opening it up and making it a model that has 2 turbo fire speed options. Any info would be greatly appreciated.
  10. Thanks guys, that clears it up for me. Trying to learn everything about 6502 assembly has required me to hunt around the internet a lot to get little snippets and then trying to piece it all together. I am currently trying to program my first homebrew of a boardgame called the farming game and I think i am doing alright then something basic like what I was asking you guys comes along and I haven't a clue why it works, I just know the end result (which bothers me). Can you guys recommend a book on 6502 assembly I should purchase that would give me an excellent foundation on the basics as well as some intermediate to advanced info?
  11. Sorry, I think I answered my own question there. You've been very helpful, thanks. If I could pick your brain on one more question regaring zero page loading. It's in the milquetoast example which is coded: org $FEC0 GhostGraphic .byte #%xxxxxxxx .byte #%xxxxxxxx .byte #%xxxxxxxx .byte #%xxxxxxxx .byte #%xxxxxxxx .byte #%xxxxxxxx .byte #%xxxxxxxx .byte #%xxxxxxxx The x's are just some random 1's or 0's. In the code prior to this is a lda #<GhostGraphic I can see that 'a' gets the 'C0' value but don't quite understand how that works and not getting one of the .byte literal values loaded into the accumulator. I don't quite understand how it gets it's value when dealing with arrays. Thats the last thing that is confusing for me.
  12. It's starting to make sense for me. When looking in the vcs.h, ENABL is written ENABL ds 1. I thought that its address was at $1F and it had no literal value in the header file until a write to it somewhere later on in ROM (aka after org $F000). Or does a person have to write lda #$1F then sta ENABL for the stack push example?
  13. OK, so does that mean that somewhere at the beginning of the code you load the value, for example, $1F into ENABL, $1E into ENAM1, and $1D into the registers. Then, using the Showing Missiles/Ball using PHP example, when the ldx #ENAM1+1 occurs. The compiler sees that the X register has a literal value of $1E + $01 which equals $1F into it. Then takes that literal value to set the stack pointer. I hope I got that right?
  14. Greetings all, I'm confused about zero page loading after seeing a few examples of code. The first is from Kirk Israel's subpixel positioning code called "Milquetoast the ghost" and the second from Minidig's advanced coding 101 of the "Showing Missiles/Ball using PHP. On milquetoast after a org $F000 there is a constant called C_KERNAL_HEIGHT and is shown as C_KERNAL_HEIGHT = 192. It is called later with ldy #C_KERNAL_HEIGHT - 1. This should load a literal value of 192 -1 (or 191) into the Y register. Also in the code is org $FEC0 and below that is GhostGraphic followed by 8 designated and defined .bytes. So when a lda #<GhostGraphic is called then the accumulator should have a literal value of "C0" in it. Then moving to the Showing Missiles/Ball using PHP they use a ldx #ENAM1+1 followed by txs to set the stack pointer to the address of $1F before the push. I am confused by these examples. I can see how a ldy #C_KERNAL_HEIGHT - 1 puts a literal value into Y of 191 but the other 2 I don't get. How does the ldx #ENAM1+1 make the value in X to be a literal value of $1F, which is its address. Shouldn't it load into x whatever literal value was stored in the enable missile register plus a literal value of #1? How can you load an address into a register when you have a # in front? Any info would be greatly appreciated, thanks.
×
×
  • Create New...