+darryl1970 Posted November 9, 2020 Share Posted November 9, 2020 Many thanks to all who contributed (see credits below) and voted. The final version includes a Novice, Arcade, and Expert difficulty. Novice - Rev F Popeye Faster; Spinach resets after losing a life; Extra @ 26,500 Arcade Comparable to arcade difficulty; extra life at 40,000 Expert Brutus is faster and more aggressive; Bernard is craftier; Items fall really fast Credits: Thanks to all who voted Popeye as 2020's "Best Homebrew Atari 7800 (WIP)". A SPECIAL game demo is available on the JS7800 emulator. This demo includes Novice & Expert. Popeye gets 2 lives, but he can earn a 3rd. The game ends after the ship, so POINT PRESSING IS A MUST! The game is 1 or 2 player alternating. Red background can be removed in the full version: right, down, right, up, up down Video: Below is the DEMO version (Most recent to oldest). Players can play 1 or 2 player. Players now get 2 lives and can earn a 3rd. Players cannot unlock the cheat mode in the demo. Arcade mode is the only level available. Novice and Expert are exclusive to the final version and the version on the JS7800 emulator. 3/3/2021 - Demo of version 2.40! For Concerto compatibility, I have to run firmware .95. Added High Score Cartridge header for use on 7800GD No slowdown Better collision detection Brutus throws 4 bottles, regardless of whether Popeye leaves his line of sight. Revision F is now pink, like the arcade. It can still be turned off with the code. Unlocked Novice and Expert levels Popeye now has 3 lives for all demo difficulty levels. (Full version offers 5 lives on Novice.) Still limited to 3 levels of play. Points awarded for punching bottles on the See-Saw level. Popeye_2.40_Demo_8-8-23.a78 3/3/2021 - RC3.5 Concerto still has issues at times. Dragonfly now seems stable. These issues do not happen on the final cart media. The mcpdev is also very stable. There are some minor cleanups. Fixed the color on the high score erase screen. This is it, unless some bugs come up that need attention. Popeye(RC3.5_Demo_NTSC-PAL).a78 Popeye(RC3.5_Demo_BUP).a78 2/25/2021 - RC3.4 Fine tuning. Brutus now jumps at an angle, like the arcade. It's not quite as drastic. Popeye(RC3.4_Demo).a78 Popeye(RC3.4_Demo-BUP).a78 2/22/2021 - RC3.3 Tile change on first level. Was able to add a rail to the ship's crow's nest, during the intro and level clear. I also found out that Olive doesn't scold Popeye if a Letter falls into the water, on the ship level. I have corrected that inconsistency. I assume it doesn't make sense, since she's captured in this level. Popeye(RC3.3_Demo_NTSC-PAL).a78 Popeye(RC3.3_Demo_BUP).a78 2/21/2021 - RC3.2 More minor graphical changes. Now the title Popeye head has a brown pipe, like the arcade. Tile tweaks on the first level. Also reversed the ship mast shading, to match the arcade. Popeye(RC3.2Demo_NTSC-PAL).a78 Popeye(RC3.2Demo_BUP).a78 2/21/2021 - RC3.1 Minor update. Has a few tile changes Popeye(RC3.1_Demo).a78 Popeye(RC3.1_Demo_BUP).a78 2/20/2021 - RC3.0 This version has a lot more changes than a "release candidate" should have. From this point out, I would like to stick to bug-fixes. Fixed a high score issue, which was introduced by adding the High Score Clear. I noticed this while watching the @ZeroPage Homebrew stream. Each difficulty should line up properly now (Novice, Arcade, and Expert). No high score device should read "Top 5 Chart". That is the header for the arcade table. High Score Clear is accessed by holding RESET and pressing both buttons on the first stick! Also seen on ZPH: Brutus doesn't get stuck in the bottom left corner when Popeye has the spinach. (He gets stuck in the bottom left corner of the Notes board, but that is by design. That happens in the arcade.) @Defender_2600 had color suggestions: Popeye's drawn with a different hue of blue. The ship has a more midnight blue background, and the floors are more golden than yellow. (The arcade is a dark blue-ish purple when I play on an actual arcade machine. It seems similar in MAME.) Defender2600 had level suggestions: The Notes screen tower is now slightly thinner. The floor that leads to the see saw no longer extends to the end of the building. This required a lot of work in adjusting the logic. (See below) Fixed some tiles on the ship level. More color adjustments. REV F ROM set (Novice is based off an easier Popeye arcade ROM) has more of a burgundy background, on the Hearts level. The arcade REV F has a pink-ish background. I think this works well. The old "brown" was mistaken for green. Popeye now turns red, instead of pink, when he eats the spinach. Logic adjustments with see saw logic: This was about 8-10 hours consuming. I had some logic in place. Moving the floor exposed a couple holes in that logic, given a very specific alignment of the stars. In making the level adjustment, I got to recreate the 1%. It was still extremely hard to recreate. If Brutus kicked into pursuit mode, right as Popeye jumped onto the see saw, Brutus could still jump on top of Popeye. I believe I worked this out. I can't seem to get it to happen again. Tune adjustment: If the last item gets collected from the water, the game does not revert to the level tune. Last Note & Last Letter would sometimes still be present. I think I took care of that issue. Fixed some garbage that would flash after dying on the Notes stage. Popeye(RC3_Demo_NTSC-PAL).a78 Popeye(RC3_Demo_BUP).a78 2/9/2021 - RC2.9 Many fixes and updates. I am concerned that "Arcade" difficulty feels a little easier to me. That might encourage more people to play the arcade difficulty. I do want it to feel like the arcade challenge though. I can run this for hours on my Dragonfly and versa-cart, without any issues. It does crash at times on Concerto. It seems to be when idling in attract mode. 1. Fixed remaining issues with Brutus's pursuit music. 2. Colors and spinach timing are different for NTSC and PAL systems. 3. Reduced slowdown by limiting collision detection-per-frame. 4. Better proportioned Bucket. @KevinMos3 5. Adjusted the better proportioned bucket to fit Brutus's head 6. Lessened the use of flicker in some areas, due to the overhead saved in adjusting the collision. 7. Minor bug fix: Popeye disappears if collecting the last note when starting up or down the ladder. 8. Updated the Windows on the Notes Level. 9. Found duplicate tiles, and used the extras for "Thru" posts on level 2. 10. Last player 1 and player 2 scores display in blue during demo. 11. Fine-tuned Popeye's punch. ** 12. Popeye walks off the screen when wrapping around on the levels. ** 13. Brutus doesn't gain super speed when Popeye gets the spinach. 14. Brutus imitates the quirky behavior of the arcade when he's stuck in the corner, by the see saw. (When Popeye has spinach) 15. Brutus logic tweaks. 16. Fixed some artifacting when returning from demo play. Popeye(RC2.9_Demo-NTSC-PAL).a78 Popeye(RC2.9_Demo-BUP).a78 Most will not notice this change. Eliminates a flash of garbage after Popeye dies on the notes and ship levels. Popeye(RC2.9a_Demo_NTSC-PAL)s.a78 Popeye(RC2.9a_Demo_BUP).a78 2/1/2021 - RC2.8 Update. Only need one version for A7800, Concerto, and Dragonfly. BUP has a special version. I can play this version all day on my Dragonfly or versa-cart, and it doesn't crash. It plays pretty long on the Concerto, especially once things are warmed up. There's nothing I can do about that at this time. That was the inspiration to clean much of the back code up. A LOT of behind-the-scenes cleanup & some polish The bottles rotate slower - @tep392 Olive doesn't constantly walk on the Notes and Ship. (This affects game play in other ways that I won't disclose.) When Brutus gets his burst of energy, the bottle throwing music now plays, like the arcade. Popeye's house now has window panes. I can't believe I missed that. Popeye's now falls below the water line when he dies. On the arcade, Popeye reappears at the waterline, following the splash. I made Popeye bob back to the top. I like arcade purity, but I think they did it that way for sprite overlap issues with the water. The demo play scene is now more versatile. Popeye gets scolded often, like the arcade. Fixed rare combination that would silence music on the Notes level. Popeye(RC-2.8_Demo).a78 Popeye(RC-2.8_Demo-BUP).a78 As always, play the point-pressing version on JS7800! 1/26/2021 - RC2.7 The levels are now more in-line with the arcade aspect. Many tiles were re-drawn and repurposed. This was a 14-hour day (with hour break) and a few hours the following evening. The characters now know the levels, the attract modes are up to date, and everything seems fine. Let me know if there are any issues. @Defender_2600 suggested that I address the issue with the crammed levels. I didn't think I'd have enough tiles, but it worked out in the end. I think it was worth the effort. He also recommended toning down the yellow a little. Redrew the tiles Reprogrammed the tile graphics to line up with the new tile indexes (Hearts in the house, Whimpy and the see saw, etc.) Reset the coordinates for the staircases Reworked the self-play intro Cleaned up some sprite plotting. Adjusted some areas where the text colors were not flipping correctly. Popeye(RC2.7_Demo).a78 Popeye(RC2.7_Demo-BUP).a78 Popeye(RC2.7_Demo-Concerto).a78 1/23/2021 - RC 2.6 This version has major tile re-work. I started cleaning up the first level. This simulates the lower-res look of the arcade. In doing so, this cleans things up. Bricks are no longer 1px apart vertically, the stairs have 2px underneath. The floors are thicker, including the bottom level. I am unable to color the bottom blue, but I have a water shadow of sorts, to keep in the arcade spirit. On the logic side, I adjusted Brutus's randomness. He is less likely to jump down, based on difficulty, round, and number of items collected. This may not be obvious, because he will still jump down a decent amount of the time. Changing logic meant adjusting the demo play. The demo play now starts with an example of a heart falling into the water. Popeye(Beta2.6_Demo).a78 Popeye(Beta2.6_Demo-BUP).a78 Popeye(Beta2.6_Demo-Concerto).a78 1/16/2025 - RC 2.5 I wasn't going to do this, due to the amount of work, but I had to. New upper playfield on Level 1. The tileset with the grass are now one row lower, allowing more arcade-accuracy. Transferred tiles from one tileset to another, which caused an offset in tiles re-aligned plotted tiles (hearts in Popeye's house) Olive will now center herself after throwing the last heart. This keeps the large heart from being drawn off-screen. Fixed the staircase "bricks" to be blockier, like the arcade Revision F has a plum background, to match the arcade ROMs Flower doesn't disappear when level 1 is cleared Popeye(RC2.5_Demo).a78 Popeye(RC2.5_Demo-BUP).a78 Popeye(RC2.5_Demo-Concerto).a78 1/14/2021 - RC 2.4 Got rid of random off-pitch item collection noise, @playsoft This makes the game more stable using the Concerto. The sound seems to behave similarly to other games I tested. This has gotten rid of complete songs playing out of tune or missing parts. Updated sprites and palettes Title music plays every other loop; Atari Today only plays when the game is turned on. Olive doesn't walk in space after scolding Popeye Popeye's footsteps are closer to the arcade pattern. Overhaul of Popeye's ladder climb Fix some reset behavior The JS7800 Demo will also be updated, which allows Novice & Expert to be played. Popeye(RC2.4_Demo).a78 Popeye(RC2.4_Demo_Bup).a78 Popeye(RC2.4_Demo-Concerto).a78 1/2/2021 - Beta 2.9 Two-Player with shared joystick option. I figure this will be helpful for people with only one joystick. Sometimes I just like to play a two player game by myself. This should also help @ZeroPage Homebrew too ;). New death sound by @Synthpopalooza Updated the credits page More Popeye sprite tweaks Updated self-play sequence Brutus is smarter when Popeye has the spinach. Olive screams "HELP!" on the ship level. "Popeye Catch!" call out is present on the Notes level now. (Yes, the gray does show through the letters on the arcade too!) If the punch button is pressed during an intro or pause before a level starts, Popeye will punch when the level begins. This is a personal detail I wanted to include from the arcade. I am out of space in the hearts bank, so that level doesn't have a pause after the intro. No room. Shifted some code for less bank switching on the hearts level. Brutus is back to throwing a minimum of 2 bottles, instead of 4. This reduces slowdown, which is a better experience. All systems of the day made exceptions. He will still throw up to 4, if Popeye is in his line of site. Popeye(Beta2.9_Demo).a78 Popeye(Beta2.9_Demo-BUP).a78 Popeye(Beta2.9_Demo-Concerto).a78 12/25/2020 - Beta 2.8 - Many Changes. Merry Christmas/Happy Holidays Thanks to @tep392, I have confirmation that POKEY sound on actual hardware matches emulation. Just in time for a late Christmas release! Sound will still cut in and out on the Concerto, but some sound is better than none! Since it's Christmas, I have changed the "DEMO" version to include 2 lives (an extra life can be earned). The game now ends after clearing the SHIP. Updated sprites and colors Brutus has different color outfits to match each level Other various changes *** Brutus now throws all 4 bottles, like the arcade. I am not sure that I want to keep this, but I wanted to try it for a version. In a previous version, I added code to allow Brutus to stop throwing bottles after the second one, if Popeye leaves his line of sight. This helps eliminate some minor slow down. Also, there are certain areas where Brutus and the bottles will cause sprite overload. This is found on the Notes level. Should I sacrifice arcade pureness for this to eliminate slowdown and what ends up being flicker? I might go back in the next version. Will that be the final version? Updates some of the self-playing demo routines. Updated the credits. That still needs tweaked and cleaned up, but I wanted to get it out there. Popeye(Beta2.8_Demo).a78 Popeye(Beta2.8_Demo_BUP).a78 Popeye(Beta2.8_Demo-Concerto).a78 Popeye(Beta2.8_Demo).bin 12/8/2020 - Beta 2.7f - Fixes and clean-up. Popeye(Beta2.7f_Demo).a78 Popeye(Beta2.7f_Demo_BUP).a78 Popeye(Beta2.7f_Demo-Concerto).a78 Popeye(Beta2.7f_Demo).bin 11/27-2020 - Beta 2.7 Popeye(Beta2.7_Demo).a78 Popeye(Beta2.7_Demo).bin 11/24/2020 - Beta 2.6 Updated high score routines No High Score device - "Todays Top 5" will be stored with initials until power off. High Score device - "Novice Top 5", "Arcade Top 5", and "Expert Top 5" saved permanently. Brutus will wait for Popeye to clear the see saw, like the arcade. He did before in most cases. I fixed this when Brutus is in pursuit mode. Fixed artifacting on Title screen, found when level was selected in 2.5b Popeye(Beta2.6_Demo).a78 Popeye(Beta2.6_Demo).bin 11/23/2020 - Beta 2.5b - Update Popeye's fall (slower), fix bottle collision at far left, align some title elements. Popeye(Beta2.5b_Demo).a78 Popeye(Beta2.5b_Demo_BUP).a78(BUP disables high score saving, to work with BupSystem emulator) Popeye(Beta2.5b_Demo).bin 11/23/2020 - Beta 2.5a - Fix collision issues with items (still broken on some far-left bottles); Set Popeye stance after punch; slowed notes on higher levels Popeye(Beta2.5a_Demo).a78 Popeye(Beta2.5a_Demo).bin Popeye(Beta2.5a_Demo_Bup).a78 11/09/2020 - Original public demo Popeye(Beta2.1_Demo).a78 Popeye(Beta2.7f_Demo).bin Older revision screenshots 37 1 Quote Link to comment Share on other sites More sharing options...
+Muddyfunster Posted November 9, 2020 Share Posted November 9, 2020 Fantastic work @darryl1970, This really is so good! 3 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted November 9, 2020 Author Share Posted November 9, 2020 Just now, Muddyfunster said: Fantastic work @darryl1970, This really is so good! Thank you! Quote Link to comment Share on other sites More sharing options...
+Muddyfunster Posted November 9, 2020 Share Posted November 9, 2020 I have only one ask : When you finish up, please make a PAL cart version Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted November 9, 2020 Author Share Posted November 9, 2020 10 minutes ago, Muddyfunster said: I have only one ask : When you finish up, please make a PAL cart version I will have to look into what is needed. It plays the same in PAL emulation, so I wasn't sure. Remind me when we get to that point. 1 Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted November 9, 2020 Share Posted November 9, 2020 Holy crap, that looks and sounds great! 1 Quote Link to comment Share on other sites More sharing options...
+sramirez2008 Posted November 9, 2020 Share Posted November 9, 2020 I don't think I'm out of line saying that this will be the definitive home version of Popeye. I'm sure glad you chose this game for your learning and decided to turn it into a full game.? 6 Quote Link to comment Share on other sites More sharing options...
gambler172 Posted November 9, 2020 Share Posted November 9, 2020 Hi Darryl works very well and plays very well.....until now,the best Popeye version of all game systems. And plays even better than the Mame arcade version.....this game is a must. I tried it on real hardware....Concerto has some glitches...but my special multicart,a friend made for me works perfect.... greetings Walter 2 Quote Link to comment Share on other sites More sharing options...
gambler172 Posted November 9, 2020 Share Posted November 9, 2020 1 hour ago, darryl1970 said: I will have to look into what is needed. It plays the same in PAL emulation, so I wasn't sure. Remind me when we get to that point. Hi Darryl if you need a Pal tester....lmk greetings Walter Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted November 9, 2020 Author Share Posted November 9, 2020 9 minutes ago, gambler172 said: Hi Darryl if you need a Pal tester....lmk greetings Walter Thanks Walter! Quote Link to comment Share on other sites More sharing options...
TrekMD Posted November 9, 2020 Share Posted November 9, 2020 This is awesome! 1 Quote Link to comment Share on other sites More sharing options...
gambler172 Posted November 9, 2020 Share Posted November 9, 2020 Can i play this on my Cuttle cart 2? What bankswitching do i need? Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted November 9, 2020 Author Share Posted November 9, 2020 41 minutes ago, gambler172 said: Can i play this on my Cuttle cart 2? What bankswitching do i need? Sorry that I do not know enough about that cart. I only know it's 144k bankswitching. I know there was issue with one cart. I do not know which one. Plays fine on some though. I wish I had a cart to know. Quote Link to comment Share on other sites More sharing options...
RevEng Posted November 9, 2020 Share Posted November 9, 2020 1 hour ago, gambler172 said: Can i play this on my Cuttle cart 2? What bankswitching do i need? Using the latest cc2 banking files it should be just a matter of stripping the a78 header to make a bin, and using the CC2 "7144P" type. Using that, the game plays just fine, but I can't seem to get the pokey to work, but I don't think this CC2 banking type has had a lot of testing. 1 Quote Link to comment Share on other sites More sharing options...
7800Knight Posted November 10, 2020 Share Posted November 10, 2020 @darryl1970 You have done outstanding! I'm really proud of you for both the spectacular job you did making this as well as bringing an incredible arcade port to the Atari 7800! Popeye was always at the top of my list for 7800 arcade conversions. The graphics really push the limit of the 7800's capabilities too; it does look like the arcade version. Dare I say this looks even better than the tiny character sprites the 1983 NES port used? 5 Quote Link to comment Share on other sites More sharing options...
Defender_2600 Posted November 10, 2020 Share Posted November 10, 2020 Great work! I would just like to share a couple of thoughts about the Level Layout, I was thinking that the green platform of the first level seems too thin, just my opinion but I would suggest to update it with two pixels high. I also noticed that, in the first and second level, some steps of the stairs are disproportionate (highlighted in white in the following image). Last detail if it is of interest, in the first and second level of the arcade version, all the steps of the stairs have the same dimensions (unlike the current 7800 version). Thanks for the attention. 6 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted November 10, 2020 Author Share Posted November 10, 2020 8 hours ago, Defender_2600 said: Great work! I would just like to share a couple of thoughts about the Level Layout, I was thinking that the green platform of the first level seems too thin, just my opinion but I would suggest to update it with two pixels high. I also noticed that, in the first and second level, some steps of the stairs are disproportionate (highlighted in white in the following image). Last detail if it is of interest, in the first and second level of the arcade version, all the steps of the stairs have the same dimensions (unlike the current 7800 version). Thanks for the attention. Thanks. I agree the two-pixels would probably look better. I forgot to go back through and double-check the steps. I quickly changed them from the original version size and moved on. I meant to revisit this, and I have been too busy with game mechanics. Thanks for the reminder, because it had slipped my mind. 8 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted November 11, 2020 Author Share Posted November 11, 2020 I worked a little on the tiles, layout, and Sweet Pea yesterday. Adding tiles actually threw off the animation for the hearts in Popeye's house, as well as throwing off the plot of Whimpy. I had to spend a lot of time to get that back in sync. I added tables to help if I ever need to adjust in the future. I added the pixel thickness to the grass under Olive. I adjusted Olive and Brutus accordingly. That took more config than 1 pixel should have. I tried adding the foliage around the houses, which is a lighter green in the arcade version. I redrew Sweet Pea. It bothered me that I couldn't get the balloon bigger. Since he's a baby, I figured I could whittle him down a little. I didn't want to loose the personality in his face though. I think I found a decent balance. In the end, I was able to make the balloon a little larger. I also renamed "DEBUG MODE" to "CHEAT MODE", which is access from a joystick combination. (Not available in the demo version) This also includes minor changes in displaying the round before a level starts. Popeye(Beta2.2_Demo).a78 --Darryl 9 4 Quote Link to comment Share on other sites More sharing options...
phattyboombatty Posted November 11, 2020 Share Posted November 11, 2020 Totally awesome work!! Has anyone gotten this to work using the CC2? I have tried all available banking schemes that support 144K ROMs. The AA intro plays, the Popeye game select screen is presented, all POKEY music plays, but when I start a game, it cuts right over to “Game Over”. I’m guessing there’s something about the bank switching that is causing this. 1 Quote Link to comment Share on other sites More sharing options...
RevEng Posted November 11, 2020 Share Posted November 11, 2020 I get the same result with the latest Beta on my CC2, but a very recent version worked fine. (though I didn't get pokey sound). 1 Quote Link to comment Share on other sites More sharing options...
+batari Posted November 11, 2020 Share Posted November 11, 2020 The Concerto firmware that is out there reportedly has glitches with this game but I have them fixed on my end and will release a firmware update soon so current Concerto owners can play. Also, I got the immediate game over when starting a game too. It isn't a consistent bug, though. When I waited for the demo mode to play, the game started normally, then in subsequent reboots it still worked without having to wait for the demo mode. 3 Quote Link to comment Share on other sites More sharing options...
RevEng Posted November 11, 2020 Share Posted November 11, 2020 Looking in the a7800 debugger, on game start I see a bunch of spurious writes to E04D-E056, and then 624D-6256. Best guess by looking at the assembly, is that a Y coordinate that's off-screen is being used with plotchars or plotmap. 1 Quote Link to comment Share on other sites More sharing options...
+batari Posted November 12, 2020 Share Posted November 12, 2020 9 hours ago, RevEng said: Looking in the a7800 debugger, on game start I see a bunch of spurious writes to E04D-E056, and then 624D-6256. Best guess by looking at the assembly, is that a Y coordinate that's off-screen is being used with plotchars or plotmap. The wayward writes were probably the cause of the glitches in Concerto. The problem was that some areas of memory weren’t protected from writes. Once I disabled writes to all cartridge space it worked. 3 Quote Link to comment Share on other sites More sharing options...
Classic Pac Posted November 12, 2020 Share Posted November 12, 2020 Amazing work!!! 2 Quote Link to comment Share on other sites More sharing options...
+darryl1970 Posted November 12, 2020 Author Share Posted November 12, 2020 This sounds great. Now I just need a Concerto cartridge, or something so, I can enjoy my creation on real hardware again. ? My understanding was that nothing is currently finalized. Am I missing something? If anybody has an unwanted one lying around, please hit me up. Friday's my birthday, so I think I can splurge! --Darryl 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.