quohog Posted January 20, 2021 Author Share Posted January 20, 2021 Wow!!! This is incredible! Tap-A-Mole has been nominated for the Atari Homebrew Awards, Best WIP (Original) category! So incredible. Thank you @ZeroPage Homebrew and to the whole nominating committee! And thanks to everyone who played the game, especially those who went to the trouble to dig up or purchase keyboard controllers for it! I feel very inspired now to finish this game! I just need to dig up a few extra bytes of rom... 2 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted January 20, 2021 Share Posted January 20, 2021 14 hours ago, quohog said: Wow!!! This is incredible! Tap-A-Mole has been nominated for the Atari Homebrew Awards, Best WIP (Original) category! So incredible. Thank you @ZeroPage Homebrew and to the whole nominating committee! And thanks to everyone who played the game, especially those who went to the trouble to dig up or purchase keyboard controllers for it! I feel very inspired now to finish this game! I just need to dig up a few extra bytes of rom... You're very welcome, it's been a lot of fun playing Tap-A-Mole on the show! It's great when developers think outside the box and put to work the less common control mechanisms such as the keyboard controllers (24 buttons!!!). - James 1 Quote Link to comment Share on other sites More sharing options...
quohog Posted January 30, 2022 Author Share Posted January 30, 2022 Hi! Remember Tap-A-Mole? Well, it got kind of back burnered in 2021. I got really busy and also I was kind of stuck. With only two bytes left in 4k, it was really hard to fix the last couple of bugs. But it's back! And I *THINK* all or most or at least some of the bugs are fixed. The lost snowball on the field? Gone. The occasional crash if the rng ever returned a zero? Gone! (???) Then just a few cosmetic changes: Hammers are now color coded to their scores (helpful in 2p) Hammers swing in opposite directions that make more sense (I think @ZeroPage Homebrew's James asked for this) Probably a bunch of other amazing features and fixes that I'm forgetting because it was a weird year But I think this is done! I'm going to call this build BETA, and if I don't hear about any bad bugs I'll call it DONE next week. So I'd love to hear from anyone who plays it. Testing greatly appreciated. Special questions: Did you ever see a mysterious snowball sitting around for no reason? (It's really the highlights of the bell, offset by the memory of a ghost mole) Did the independent difficulty levels help even out skill levels in 2p? Can you see what appears over the hole if you miss a mole? Did the game ever crash with a black screen? Any other bugs? What's your high score? My current is 5416! It sounds like a lot but later rounds score higher and lead to bonus carrots. Thanks for playing! (I'll put the new .bin in the top post) 3 Quote Link to comment Share on other sites More sharing options...
quohog Posted January 30, 2022 Author Share Posted January 30, 2022 Let me know if you have any trouble getting the controls to work in Stella. I've had some troubles. Here's a blow-by-blow: New computer, reinstalled Stella. Game won't take pc keyboard input. Under options it says "auto detect: Genesis." What? @Thomas Jentzsch suggested defaulting all the controls and this worked! I could now play with PC keyboard. Yay! Plugged in two actual keyboard controllers with daptor IIs. This also worked great. Unplugged controllers and moved them and the game to real hardware on a harmony cart. Controllers worked fine!* Back on PC, pc keyboard no longer works. Back to "Autodetect: Genesis." Forced to "keyboard" controllers. Nothing. Did Thomas's "default" suggestion that had worked before, nothing. Exited and restarted Stella, nothing. Restarted computer, nothing. BUT if I go back into Atari Dev Studio in Visual Code, and compile-run from there with the arguments "-bc keyboard" it works fine So why doesn't it work when I just open the compiled rom in Stella? Anyway hope it works for you! *Asterix here to say that I wish you could navigate the Harmony menus with keyboard controllers. Buttons for up, down, and select is all we need! That leaves 21 spare buttons! Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted January 30, 2022 Share Posted January 30, 2022 59 minutes ago, quohog said: Let me know if you have any trouble getting the controls to work in Stella. I've had some troubles. Here's a blow-by-blow: New computer, reinstalled Stella. Game won't take pc keyboard input. Under options it says "auto detect: Genesis." What? @Thomas Jentzsch suggested defaulting all the controls and this worked! I could now play with PC keyboard. Yay! Plugged in two actual keyboard controllers with daptor IIs. This also worked great. Unplugged controllers and moved them and the game to real hardware on a harmony cart. Controllers worked fine!* Back on PC, pc keyboard no longer works. Back to "Autodetect: Genesis." Forced to "keyboard" controllers. Nothing. Did Thomas's "default" suggestion that had worked before, nothing. Exited and restarted Stella, nothing. Restarted computer, nothing. BUT if I go back into Atari Dev Studio in Visual Code, and compile-run from there with the arguments "-bc keyboard" it works fine So why doesn't it work when I just open the compiled rom in Stella? Anyway hope it works for you! *Asterix here to say that I wish you could navigate the Harmony menus with keyboard controllers. Buttons for up, down, and select is all we need! That leaves 21 spare buttons! Your code isn't triggering the controller detector in Stella correctly. Stella looks for certain patterns in the binary and when it finds them will conclude that this is a ROM that uses a keypad or paddle or whatever. Looking at the latest ROM you read the keypad at the marked locations in the image. Addresses $fe6e and $fe74 It'll require you to juggle your code around a bit but instead of BPL try BMI. That will produce the byte sequence $24 $09 $30 and $24 $08 $30, which should work with Stella. 1 1 Quote Link to comment Share on other sites More sharing options...
quohog Posted January 31, 2022 Author Share Posted January 31, 2022 2 hours ago, JetSetIlly said: It'll require you to juggle your code around a bit but instead of BPL try BMI. That will produce the byte sequence $24 $09 $30 and $24 $08 $30, which should work with Stella. Wow, I had no idea. That's really interesting how that works. Thanks for checking out the binary for me! All my keyboard reading code was just ripped from samples on the forums. I'll have to dig into it more. But, even if it's not autodetecting it, shouldn't switching it from "autodetect" to just "keyboard" fix it by force? Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted January 31, 2022 Share Posted January 31, 2022 (edited) 16 hours ago, quohog said: Wow, I had no idea. That's really interesting how that works. Thanks for checking out the binary for me! All my keyboard reading code was just ripped from samples on the forums. I'll have to dig into it more. Looking again at the byte sequences currently defined in Stella, there is another solution that would be less disruptive for your code. Instead of BIT INPT1 BPL .... Try LDA INPT1|$30 BPL ... Similarly for INPT4 and INPT0. The disadvantage of this is that you're clobbering the A register. on edit: what we're doing here is using one of the INPT1 "mirrors". So instead of memory address $09 we're reading address $39. For the Atari VCS itself this makes absolutely no difference, but it does produce a different sequence of bytes in the machine code. An emulator can take advantage of these variations in byte sequences for convenient features like controller auto-detection. Quote But, even if it's not autodetecting it, shouldn't switching it from "autodetect" to just "keyboard" fix it by force? It should. The only reason why it wouldn't is if the binary has been rebuilt and the resulting MD5 hash of the binary is different. That might have happened during development and caused the confusion. Edited January 31, 2022 by JetSetIlly 1 Quote Link to comment Share on other sites More sharing options...
quohog Posted February 1, 2022 Author Share Posted February 1, 2022 21 hours ago, JetSetIlly said: Try LDA INPT1|$30 BPL ... Similarly for INPT4 and INPT0. The disadvantage of this is that you're clobbering the A register. on edit: what we're doing here is using one of the INPT1 "mirrors". So instead of memory address $09 we're reading address $39. For the Atari VCS itself this makes absolutely no difference, but it does produce a different sequence of bytes in the machine code. An emulator can take advantage of these variations in byte sequences for convenient features like controller auto-detection. I saw something like this in the source for Codebreaker and was so confused. If you OR a value with INPT0 at compile time you'll read the wrong address, I thought. I never heard of mirrors before. Very interesting! I'll try it! Thanks! edit: Hey, it worked! Now I just have to solve the problem of clobbering the A register. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.