Bobo Cujo Posted June 1, 2023 Share Posted June 1, 2023 On 5/30/2023 at 10:31 AM, Eyvind Bernhardsen said: The decision to make pot-pin buttons work like this wasn't invented for Joy2B+, so changing it would break old games, but it's not quite as bad as you make it out to be. This code is universal: PADDL0 = $270 pot_max = $e4 test_button_c lda PADDL0 cmp prev_button_c beq not_pressed sta prev_button_c eor #pot_max bne not_pressed ; code to handle button press goes here! ... not_pressed ; button wasn't pressed, go do something else prev_button_c .byte pot_max (My code calls it "Button C" because that's what it's called on a Megadrive/Genesis controller). You can detect a Joy2B+ or compatible button by checking if prev_button_c ever gets set to anything other than #$e4, and you can read the third button from PADDL1 in the same way. Edit: the code works with a normal joystick because the button is "held down" on startup, and won't be detected until it's "released". @ascrnet When you have a chance, can you add this information to https://github.com/ascrnet/Joy2Bplus ? It's definitely a best practice we should highlight for anyone else who wishes to implement Joy2B+ support. (I would have also benefitted from this guidance when I did my Joy2B hacks :-)) 3 Quote Link to comment Share on other sites More sharing options...
Bobo Cujo Posted June 1, 2023 Share Posted June 1, 2023 @pirx @Pecus I downloaded the source code and played around with it a bit. The following fix works for the gameplay section (verified on both my real Atari 800XL and in Altirra, with all three combinations of controllers I mentioned in my previous posts): game.asm: (added code is in purple) ManualShooting .IF TARGET = 800 lda #0 sta PaddleState .ENDIF lda JoyNumber,x sta JoystickNumber ; set joystick port for player ... However, when I tried adding this to textproc.asm (in .proc CallPurchaseForEveryTank) to fix the issue in the purchasing menus, the build failed due to a lack of free bytes. 😞 I tried putting the above code snippet in a .proc and having both targets jsr into this routine, but that led to the game getting glitchy after entering all player names and between player turns (I put it right after .proc MainRoundLoop in game.asm). Either I dislocated some important variable placement, or the 12 extra cycles per call is enough to throw off some (presumably tight) code timing... 1 Quote Link to comment Share on other sites More sharing options...
pirx Posted June 1, 2023 Author Share Posted June 1, 2023 @Bobo Cujo thank you so much!!!!!! @Pecus had to remove a very smol feature to make space and we are rolling again. a new version in the github. 3 2 Quote Link to comment Share on other sites More sharing options...
Irgendwer Posted June 1, 2023 Share Posted June 1, 2023 (edited) 1 hour ago, pirx said: had to remove a very smol feature to make space and we are rolling again Had a very brief look into the code, some bytes could also be saved in grafproc.asm: line 471 / 895: jsr/rts -> jmp line 810 / 1880: extract those 3 identical lines into one sub-routine. As far as I understand (I'm not a friend of the MADS macros/syntax) that should free at least 15 bytes... Edit: Or (if e.g. X can be trashed) save 5 bytes in SetPMWidth (2092): ldx #3 loop sta sizep0, x dex bpl loop Edited June 1, 2023 by Irgendwer 2 Quote Link to comment Share on other sites More sharing options...
pirx Posted June 1, 2023 Author Share Posted June 1, 2023 1 hour ago, Irgendwer said: line 471 / 895: jsr/rts -> jmp awww I thought I found all these places already, but obviously I hadn't :] thanks! changes done, 11 bytes freed 3 Quote Link to comment Share on other sites More sharing options...
Beeblebrox Posted June 1, 2023 Share Posted June 1, 2023 (edited) @pirx just quick one. Whilst playing the latest version you just updated, I happen to notice that playing against the computer in moron mode means the AI is quite literally moronic! I am pretty sure the AI was seeing the enemy tanks at least firing in my direction before, even with moron mode engaged. I've not tried with any of the other AI settings. Is this a bug? Has the AI been broken? Running in Altirra What I selected: A video showing the AI moron level computer opponent consistantly fire in the opposite direction 99% of the time, (where I am playing as Homer), especially from 31 seconds into the video: 20230601_143129.mp4 Maybe this is the new uber-moron mode heh heh! Edited June 1, 2023 by Beeblebrox Quote Link to comment Share on other sites More sharing options...
pirx Posted June 1, 2023 Author Share Posted June 1, 2023 heeeeey, it is all right, Moron is my first and only baby, the rest was programmed by @Pecus. .proc Moron jsr RandomizeAngle sta NewAngle mwa #80 RandBoundaryLow mwa #800 RandBoundaryHigh jsr RandomizeForce ; choose the best weapon ldy #ind_Buy_me +1 ; if the cheat is active it will fire the BFG :) jmp ChooseBestOffensive.NotFromAll ;rts .endp as you can see it is shooting totally at random :] 3 Quote Link to comment Share on other sites More sharing options...
Beeblebrox Posted June 1, 2023 Share Posted June 1, 2023 (edited) 3 minutes ago, pirx said: heeeeey, it is all right, Moron is my first and only baby, the rest was programmed by @Pecus. .proc Moron jsr RandomizeAngle sta NewAngle mwa #80 RandBoundaryLow mwa #800 RandBoundaryHigh jsr RandomizeForce ; choose the best weapon ldy #ind_Buy_me +1 ; if the cheat is active it will fire the BFG :) jmp ChooseBestOffensive.NotFromAll ;rts .endp as you can see it is shooting totally at random :] cool. I am sure I played the computer in this mode before and never noticed. Cool, glad all is ok. I quite literally feel a moron myself having brought this up heh heh! Great job with the recent collective effort. I will try the latest version with my beloved SNACK controller on real hardware just as soon as I can. Edited June 1, 2023 by Beeblebrox 1 Quote Link to comment Share on other sites More sharing options...
Pecus Posted June 1, 2023 Share Posted June 1, 2023 (edited) @pirx is lying! He wrote the code for Moron, Shooter and Poolshark. Thanks @Irgendwer for finding places to optimize. Thanks to that I was able to optimize much more. @Beeblebrox The rules of robo-tanks are described in the manual. But still Moron, in its stupidity, is sometimes surprisingly effective. Edited June 1, 2023 by Pecus 3 3 Quote Link to comment Share on other sites More sharing options...
drac030 Posted June 1, 2023 Share Posted June 1, 2023 4 hours ago, pirx said: Moron is my first and only baby Not true 2 Quote Link to comment Share on other sites More sharing options...
Pecus Posted June 1, 2023 Share Posted June 1, 2023 5 hours ago, pirx said: ldy #ind_Buy_me +1 ; if the cheat is active it will fire the BFG :) You're giving away secrets! Quote Link to comment Share on other sites More sharing options...
pirx Posted June 1, 2023 Author Share Posted June 1, 2023 oh fug. please do not read. Quote Link to comment Share on other sites More sharing options...
ascrnet Posted June 2, 2023 Share Posted June 2, 2023 19 hours ago, Bobo Cujo said: @ascrnet When you have a chance, can you add this information to https://github.com/ascrnet/Joy2Bplus ? It's definitely a best practice we should highlight for anyone else who wishes to implement Joy2B+ support. (I would have also benefitted from this guidance when I did my Joy2B hacks :-)) good recommendation, I've already added it to github to let the new developers of the world know. 🤩 Quote Link to comment Share on other sites More sharing options...
Beeblebrox Posted July 25, 2023 Share Posted July 25, 2023 Atarionline.pl https://atarionline.pl/forum/comments.php?DiscussionID=7184&page=1#Item_1 Mock up: 4 1 Quote Link to comment Share on other sites More sharing options...
Beeblebrox Posted July 25, 2023 Share Posted July 25, 2023 Mq is in charge of the cart producti9n which is great. Just reading the info the cart will be updatable should any more content be made for the game which is great. My one question would be will the cart save high scores, etc? I'll definitely be up for a copy as and when released. Quote Link to comment Share on other sites More sharing options...
pirx Posted July 27, 2023 Author Share Posted July 27, 2023 Hi @Beeblebrox, believe me, we were pondering this question, but it is hard because there are so many available options: players, cash, gravity, wind, rounds, mountains, walls, and 7+ levels of robotanks. practically you can not compare two results if any of these parameters differ. so either we'd need to make 5^7 * 7 ~= 1/2 mil separate high-score tables. Alternatively, we could lump some settings together, but then there would be some clearly easier settings to get more points (like fighting against 5 Morons versus 1 Cyborg). So, no soup for you :] 3 Quote Link to comment Share on other sites More sharing options...
Beeblebrox Posted July 27, 2023 Share Posted July 27, 2023 @pirx no worries, thanks for explaining. Quote Link to comment Share on other sites More sharing options...
Beeblebrox Posted October 5, 2023 Share Posted October 5, 2023 (edited) Little revision from the creators of the game with some new features and improvements, (I saw this on the Scorch thread on Atarionline.pl just now) https://github.com/pkali/scorch_src/tree/develop?search=1 Quote from the thread from Pecus: "Another one has been added to the million options in the main menu You can choose a game mode in which there is no "floor" - tanks undermined to the "bottom" fall into nothingness and disappear - they do not give points to other players, but parachutes do not protect against such disappearing into a Black Hole The Earth can be replenished by shooting the appropriate weapons. And all this because of my child, who once had a bug that caused tanks to "fall" behind the screen. But then it ended with spectacular sags. Anyway, the child said it was cool and he can do it in a working version - so it's done :). Additionally, there are a lot of little things that no one will probably notice (e.g. better aiming of Lazy weapons..., ability to quickly reset settings, improved descriptions, etc... And all this thanks to many optimizations - the game is still 32kB - exactly! (well, I had to delete two texts.... ). Files .bin (a5200), .xex (a800) or .prg (c64 ) as usual: ->link<-" **** Thanks to the games coders for continuing to enhance this game. Edited October 5, 2023 by Beeblebrox 4 1 Quote Link to comment Share on other sites More sharing options...
Pecus Posted October 6, 2023 Share Posted October 6, 2023 Thank you for sharing this information :). The "black hole" option can be enabled with the Tab key (5 on the A5200) when the cursor is in the "Walls" line in menu. Enabling is indicated by the down arrow symbol next to "Walls". 2 Quote Link to comment Share on other sites More sharing options...
RB5200 Posted October 7, 2023 Share Posted October 7, 2023 20 hours ago, Pecus said: The "black hole" option can be enabled with the Tab key (5 on the A5200) when the cursor is in the "Walls" line in menu. Enabling is indicated by the down arrow symbol next to "Walls". Hello, I just tried out this new version 1.30 on the 5200 to check out this black hole feature, and I am not getting the down arrow to appear next to the "walls" option, with the cursor on walls line, as stated above. So basically can't turn on the black hole option on the 5200. Quote Link to comment Share on other sites More sharing options...
Pecus Posted October 7, 2023 Share Posted October 7, 2023 (edited) Version 1.30 is the latest "official" release. All work before the next such "official" release takes place in the develop branch. You can always find the latest files here: https://github.com/pkali/scorch_src/tree/develop Black Hole option appeared in version 1.41. We plan for the next "official" release on GitHub to appear simultaneously with the physical release on cartridge. Edited October 7, 2023 by Pecus Corrections 2 1 Quote Link to comment Share on other sites More sharing options...
RB5200 Posted October 7, 2023 Share Posted October 7, 2023 5 hours ago, Pecus said: Black Hole option appeared in version 1.41. We plan for the next "official" release on GitHub to appear simultaneously with the physical release on cartridge. Well, that explains why it don't work, thanks Quote Link to comment Share on other sites More sharing options...
Beeblebrox Posted October 10, 2023 Share Posted October 10, 2023 V1. 43 https://github.com/pkali/scorch_src/tree/develop 3 1 Quote Link to comment Share on other sites More sharing options...
Irgendwer Posted October 10, 2023 Share Posted October 10, 2023 On 6/1/2023 at 7:33 PM, Pecus said: Thanks @Irgendwer for finding places to optimize. Thanks to that I was able to optimize much more. Just in case you need 2 more bytes, this should do the same job in gr_basics.asm starting at line 464: ; and 8 bytes to the table ldy #7 ldx #$FF CopyChar txa sta char2,y eor (fontind),y sta char1,y dey bpl CopyChar ; and 8 subsequent bytes as a mask adw fontind #8 ldy #7 CopyMask txa eor (fontind),y sta mask1,y lda #$00 sta mask2,y dey bpl CopyMask 1 2 Quote Link to comment Share on other sites More sharing options...
Beeblebrox Posted October 13, 2023 Share Posted October 13, 2023 (edited) Boxed cart release imminent 🙂 Atarionline.pl https://atarionline.pl/forum/comments.php?DiscussionID=7184&page=1#Item_30 Quote "We are at the finish line! We have everything working, the cartridges are ready, the load has been tested. Printing is in its final stage - it is already being produced in the printing house. The game should be ready for distribution within a few days. Anyone who hasn't signed up yet - welcome! I can now confirm what the physical edition of the game will contain: - a full-color box, originally wrapped in foil, with a space dedicated to the cartridge - a game cartridge (gold contacts, the highest quality housing from Sikora, thick, high-quality non-abrasive stickers) The cartridge version of the game has prepared special menu, instructions in Polish and English and a hidden surprise 🙂 - game manual - colorful, multi-page, on good paper Additionally, two surprises - gadgets: - "military" diploma of completion of our tank fighting course with a place to write your name and surname , personally signed by the trainers Pecusio and Pirx - the diploma can be hung somewhere, e.g. in a frame - two beautiful "fridge" magnets enabling a computer-free fighting simulation, e.g. on the mentioned refrigerator:-) Edited October 13, 2023 by Beeblebrox 2 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.