Jump to content

easmith

Members
  • Posts

    642
  • Joined

  • Last visited

6 Followers

About easmith

  • Birthday 10/17/1972

Profile Information

  • Gender
    Male
  • Location
    Alexandria, VA

Recent Profile Visitors

4,813 profile views

easmith's Achievements

Dragonstomper

Dragonstomper (6/9)

1.1k

Reputation

  1. That is really beyond my level of expertise. Each rom is 32 K . If the games were all the same except for the colors and graphics it might be easy just to have some if-thens handle things , but the game logic is different between the versions in enough places to make this not a solution. Not to mention the extra bytes needed for the menu with a game that is close to maxed out on space as it is . I think it is awesome that you like the games, but I think the different versions will have to remain as separate files . ES
  2. Female yes . TV type to BW. Left handed no sorry.
  3. I think I have a working solution to the kernel issues. But a lot of logic needs to be adjusted now to match the new display and it has been a long time since i have looked at the code. So that is the issue now ( i think )
  4. I actually just looked at the kernel code . It has been 2 and a half years since I have revisited the game. There might be some solutions to these issues yet . I will see what I can do
  5. there are a few sacrifices that would require. The ball would have to be white and the shadow would take on the player colors when on same line. There also would be some “dead space “ during the repositioning routine in the net area where the ball and shadow would be lost to view . But yes the sprite flicker is not ideal . but it is much less noticeable than net and sideline/ baseline flicker was .
  6. Once again I have returned to this old game , still not satisfied with the graphics , specifically the flickering court / net. Incarnation 1 had a flickering court. Incarnation 2 had a flickering net with the intent to have the net a different color than the court lines. This time I just made the net and the lines white with no flicker. It is better in my opinion . Should have just done this the first time.... Again , the game is difficult to master but with practice you can beat the AI opponent. Very hard with keyboard . The main difference between other tennis games is that you can control the direction and speed of your shot. Hold button for hard hit , and move joystick in the direction you want the ball to go as you are making contact with the ball. Here again are controls: ***************************************************************************** 1 vs 1 Pro Tennis 1 Player or 2 Players Switches: Difficulty switches: Not used TV Type : Not used Reset resets to Title Screen Holding down select will cycle through game options only in Title Screen. Game 1: 1 Player grass court Game 2 : 1 Player clay court Game 3 : 2 Player grass court Game 4 : 2 Player clay court P0 controls BLUE player in all games On grass court, ball occasionally takes erratic bounce Press Button to start Game CONTROLS. SERVE: -- Press button to serve ball. You also control when the AI ( black shirt player) serves by pressing button. When serving at bottom there are 2 serves: 1. Push joystick toward center line to serve down middle. Needs to be pressed at moment of contact with ball not just when pressing button. 2. Button only , or button plus toward sideline will put serve regular When serving at top there are 3 serves: 1. Push joystick toward center line to serve down middle. Needs to be pressed at moment of contact with ball not just when pressing button. 2. Button only will serve regular 3. Push joystick toward sideline to serve wide . This option can result in an ACE, but can also result in a FAULT. This is the only serve that can fault. Double fault will result in point for opponent AFTER SERVE -- To hit ball, you just need to move player to contact the ball IF the button is pressed at the moment of / immediately after contact , you will hit a fast shot . * Can only hit fast shot off bounce ( not while ball is in air unless lob shot ) IF the button is not pressed at the moment of contact , you will hit a slow shot. Immediately AFTER contact ( within 4 frames so does not have to be before since this will cause player to change direction) , joystick movement will control placement of shot : SO if you are bottom player no movement will place ball in middle of opposite court . up right will place ball at back right of opposite court right / down right will place ball at lower right of opposite court left/ down left will place ball at lower left of opposing court etc . Pressing up will back the opponent up to baseline since your shot will go to baseline . Pressing down will do a lob shot which can go over opponent. If button is pressed, this will prevent the player from inadvertently moving up or down while attempting the lob. Controls are opposite if you are top player. There are 3 sets . First player to win 6 games wins the set. Do not have to win by 2 games. First player to win 2 out of 3 sets wins the match. Tips: 1. Try to hit fast shot into corners near baseline when opponent is on opposite side. 2. You can lob a shot to get opponent off the net. 3. Approach the net when you are bottom player, as this can increase your chances of getting your shot by your opponent. 4. Hit “through the ball” in the direction you want the ball to travel 5. Set up winners by hitting to one side and then going back cross-court . 6. Practice Makes Perfect protennis_24.bin
  7. 2 line kernel is an easy solution, though you will lose a little detail on your sprites if they are small . Draw the sprites on different lines right after the WSYNC in the horizontal blank period. This should correct the shearing issue on the sprites. You can use the VDEL to line up the sprites . Similar for updates of colors, PF , etc. You want the object updated before it needs to be drawn . you also could do away with the arena counter and just update PFs every other line after one of the 2 line kernel WSYNCS. With a 2 line kernel you could put in an entire table for the arena and it will be half as many bytes using 2 LK
  8. these were useful for me Random Terrain's tutorials: https://www.randomterrain.com/atari-2600-lets-make-a-game-spiceware-00.html Spiceware's Collect Turorial - Steven Hugg Book https://www.amazon.com/Making-Games-Atari-2600-Steven/dp/1541021304 - asking a ton of questions on the programming forums and not worrying about looking stupid!
  9. here is rom with your code , let me know if this checks out. I was unable to send PM to you . SZTJ.bin
  10. This seems to work with BIT $1FF4 instead of $1FF5. When I said start up was in bank 1 , I meant first bank (0). Thanks again
  11. I guess we will see . If it crashes on newer Stella versions then I will have to change it , I will just need specific guidance on how to do so in each bank. I am happy to receive edits as needed but could probably not figure it out myself. I know there is an issue with this code on Flashback Portable for the issues you mentioned I think, but I never was able to change the code as Kurt passed before he could respond to my question. Thanks again for the heads up and again I am open to getting new code if you are offering !
  12. Below is what I have as the code for the end of my banks . Again, I have not thought about this in a few years , and was trying to modify code I got from NukeyShay ( see bottom of message) , but it works on Real Hardware so far as I can tell. But I am happy to modify it as needed. ************************************** End of bank code: Bank 1 (0) : Reset ORG $1FF2 JMP CLEAN_START ; clean start is in bank 1 .byte 0,0,0,0,0,0,0 .byte $F2,$1F,0,0 Bank 2 : org $2F83 ; incoming from bank1 rorg $1F83 jsr bank2logic ldx $1FF4 ; back to bank 1 ORG $2FF2 RORG $1FF2 JMP CLEAN_START .byte 0,0,0,0,0,0,0 .byte $F2,$1F,0,0 Bank 3 org $3F93 rorg $1F93 jsr bank3logic ldx $1FF4 ORG $3FF2 ; I do not have RORG here . Problem? JMP CLEAN_START .byte 0,0,0,0,0,0,0 .byte $F2,$1F,0,0 Bank 4: org $4fA3 rorg $1fA3 jsr Bank4logic ldx $1FF4 ORG $4FF2 RORG $1FF2 JMP CLEAN_START .byte 0,0,0,0,0,0,0 .byte $F2,$1F,0,0 Similar for banks 5-8 ********************************************************** FROM Kurt Howe : Same method...only you have to move the JMP instructions 2 bytes lower (in 16k standard banking, the hotspots are $FFF6 to $FFF9). This string should be the final 12 bytes in all banks to start from the first one. ORG $FFF4 JMP Clean_Start .byte 0,0,0,0,0 .word $FFF4 .word 0 The JMP instruction occupies $FFF4 to $FFF6 in memory, so the program counter trips the hotspot for the first bank when reading the address to jump to. Just like most banking schemes, the last "word" in each bank can point to BRK interrupts, if you choose.
  13. ok thanks. I will ask about the cart build . I will have to go back and look at a few things and refresh my memory. I got the code for the startup vectors for 16k from Kurt Howe . I got advice from him on modifying it for 32 K but was not sure I did it correctly. I asked for clarification but sadly he had passed away . But whatever I did worked (I think) . The other 2 games using same scheme are Kung Fu Combat 2 and Dark Keep. Physical carts for kung fu combat work fine on real hardware . at any rate , I definitely want the games to work on newer Stella versions. So I will just need someone to give me the proper code for the end of the banks .
  14. The game works on my harmony cart. Co designer Kevin Mosley made a couple of test carts that worked ok. But I certainly want to know about any issues that need to be corrected. I am using same scheme I have used for the other 32k games I made and these have had no issues.
×
×
  • Create New...