+gnusto Posted December 19, 2023 Share Posted December 19, 2023 6 hours ago, woj said: And that does not even include the Python code. Statistically, I wonder how it all even loads and starts Well for one thing, there's over a 4x difference in representation cost on a simple AND instruction (between the assembler line and the bytes emitted). As for all the binary stuff, I guess that comes down to good job on your part! Game is looking fantastic. Quote Link to comment Share on other sites More sharing options...
MARIO130XE Posted December 19, 2023 Share Posted December 19, 2023 Wow, just wow. I'm speechless. And I'm in love. 🥰 Quote Link to comment Share on other sites More sharing options...
rdefabri Posted December 19, 2023 Share Posted December 19, 2023 Really awesome - great job! Quote Link to comment Share on other sites More sharing options...
woj Posted January 20 Author Share Posted January 20 I composed myself to do an NTSC "scaled" version, wasn't planning to deeming it too much work (which I was not wrong about, the binary grew by almost 1K all of which is handcrafted animation sequences data and velocity vectors), but then I figured out it just has to be done! On the way I fixed a couple of minor things, identified a handful of bugs (one came back for the fourth time, persistent bastard!), and made the loading screen tiny bit less boring, below video of how the new one in NTSC mode looks like. Now I wait for an NTSC ANTIC chip that is in the mail to try it on my 800XL. 17 2 Quote Link to comment Share on other sites More sharing options...
+Stephen Posted January 21 Share Posted January 21 Looks amazing! Quote Link to comment Share on other sites More sharing options...
FastRobPlus Posted January 21 Share Posted January 21 (edited) Now that I have a VBXE for my NTSC Atari I can't wait to try this! I'm not a huge fan of the game, but have some strong memories of it when as a child I was part of cohort in a University of Washington research study on learning and the researchers used "Speed of learning to play the arcade game Popeye" as a baseline test (I think because Popeye had just been released and there was nobody with prior experience of it.) Edited January 21 by FastRobPlus Quote Link to comment Share on other sites More sharing options...
woj Posted January 25 Author Share Posted January 25 (edited) A first problem that I so far have no clue about. The NTSC version is broken on the real hardware, more specifically, the attribute map colored original char mode Antic screen has garbage on, see the picture and the reference how it should look like (from Altirra). I also know from one of my beta testers this is not an isolated incident, he got the same exact problem (looking the same, with the same pattern of the garbage) with an earlier version of the code and I believe even slightly different HW setup (real GTIA on his vs. Sophia on mine, Sony PVM on his vs. cheap LCD on mine), but also NTSC (of course!). This is either some timing issue or offsetting issue that I do not understand and that Altirra does not (yet) emulate (the colored Antic screen uses horizontal and vertical scrolling for the screen shakes, the whole screen shakes consistently though, I mean the garbage moves nicely along with everything), or some offsetting difference with VBXE working in NTSC mode, or, I have to say it, a bug in VBXE... Anyhow, any feedback from the experienced ones is highly appreciated. @phaeron? @Rybags? Edited January 25 by woj Quote Link to comment Share on other sites More sharing options...
woj Posted January 25 Author Share Posted January 25 I checked much earlier versions of the code, they all have the same problem or at least very similar. Also, looking at the TV it may seem like the ANTIC underlay appears one or two scanlines earlier than what I would expect, also because the score line of the game (which is ANTIC text mode VBXE colored) is truncated at the top. If that gives any hint of what could be going on (my next suspect is to experiment with the DLI position where the DMA is switched on again). Quote Link to comment Share on other sites More sharing options...
phaeron Posted January 26 Share Posted January 26 Hard for me to say looking at the screenshots alone. Definitely try the build in Altirra with memory randomization options on first to make sure there aren't uninitialized memory issues, then see if you can identify what the garbage is doing. If it's moving with other objects then it's most likely a memory aliasing issue. Also, if you have been loading your executable directly in Altirra, throw it onto a disk image and load it through SDX instead -- this will expose if you have memory addressing or other issues that conflict with exe loaders. Quote Link to comment Share on other sites More sharing options...
woj Posted January 26 Author Share Posted January 26 4 hours ago, phaeron said: Hard for me to say looking at the screenshots alone. Definitely try the build in Altirra with memory randomization options on first to make sure there aren't uninitialized memory issues, then see if you can identify what the garbage is doing. If it's moving with other objects then it's most likely a memory aliasing issue. Also, if you have been loading your executable directly in Altirra, throw it onto a disk image and load it through SDX instead -- this will expose if you have memory addressing or other issues that conflict with exe loaders. No, I do not think it has anything to do with that, considering I interchangeably use all the different ways to load the game to Altirra, and also that the PAL version that works 100% fine on a PAL machine, when loaded onto the NTSC machine (the only difference being a different vcount constant for Rybag's interlace hack) has the same effect. Quoting myself: 9 hours ago, woj said: Also, looking at the TV it may seem like the ANTIC underlay appears one or two scanlines earlier than what I would expect This is exactly it, but needs more investigation. I added an empty scanline to the display list ($00) and everything fell into place on the real NTSC computer. I removed one scanline from the originally working display list and I emulated the effect I have on the real machine in Altirra, see the attached picture. So, bottom line, something eats a scanline on this setup on the real machine, and Altirra does not account for that. It can be either: (a) some DMA timing issue - the code juggles with DMA on and off all the time to achieve the interlace hack (b) it is a feature of the NTSC mode VBXE that we all missed I can only check things in the evening again, but for (b) I want to check how does the stock non-VBXE output (it will show just the score line, but it should be enough) look like, if it is truncated too, it is about DMA turning on and off and related timing (the I have to see if moving my DLIs around can help). If it is not truncated, then it is the VBXE that eats this line. Now, the biggest issue for me is that adding this empty scanline with $00 DL line is not a solution, or at least I am not yet sure it is, because with this the whole display list exceeds 240 scanlines leaving me no space for the last $F mode line to enable the interlace hack. Anyhow, once I know a bit more, I will send you the offending and non-offending files for you to have a look, I hope you have an NTSC VBXE machine handy 1 Quote Link to comment Share on other sites More sharing options...
woj Posted January 26 Author Share Posted January 26 Problem narrowed down to a "feature" of VBXE, patch in my code implemented, PM with details for @phaeron to look into sent. 3 1 Quote Link to comment Share on other sites More sharing options...
Atari8guy Posted January 26 Share Posted January 26 words of encouragement! looking forward to your success with this project Quote Link to comment Share on other sites More sharing options...
woj Posted January 26 Author Share Posted January 26 50 minutes ago, Atari8guy said: words of encouragement! looking forward to your success with this project Yeah, the more I try to finish it, the more tiny ugly details and problems pop up 😕 Quote Link to comment Share on other sites More sharing options...
woj Posted January 30 Author Share Posted January 30 Crappy lighting and zoom, but here they are: PAL on the left (LCD TV direct) and NTSC on the right (RetroTink5). When stretched horizontally to 16:9 or similar (14:9 on the TV I think) they look indistinguishable from the original 13 Quote Link to comment Share on other sites More sharing options...
woj Posted February 10 Author Share Posted February 10 I am slowly getting to the finish line, the sound playing procedures are now fixed (this has been bugging me since November), discovered some heavy bugs in high score handling and score entering screen, otherwise the AtariMax cart version is now working (on the video), but still awaits the actual cartridges to try it in reality. I have also an A8PicoCart version in the works (I mean totally dedicated, and also with score saving!), the code is drafted, but here I need to wait even longer for the Pico boards to arrive from AliExpress. On the video below I got some totally mad luck in round 4 with avoiding stuff, had no idea I have it in me 21 Quote Link to comment Share on other sites More sharing options...
damanloox Posted February 13 Share Posted February 13 Congrats. I've been watching the video over and over and it's just a masterpiece. I wish more developers jumped the vbxe wagon as it's pretty clear 8-bit atari coupled with vbxe can do amazing things... 5 Quote Link to comment Share on other sites More sharing options...
woj Posted February 15 Author Share Posted February 15 The last bug I found today testing something totally different was hilarious. As it turns out it was possible to collect the last item to win the round and die at the same time. Classic race condition when two events happen in the same frame, but were assumed to be "sequential". I would not be saying this if I did not encounter an exactly the same kind of bug in the Bank Panic arcade some two years ago, then I thought how is that ever possible... Well, now I know. 2 Quote Link to comment Share on other sites More sharing options...
woj Posted February 16 Author Share Posted February 16 I think I can call it, here is the release candidate . Doing this today is no coincidence, it has been exactly one year since this was started here. The CAS version is mostly for laughs and masochists, the UF2 files though are genuine A8 Pico Cart files that you can install natively (be careful though, it will remove anything you have on the Pico Cart, including the uploaded images / files), and it then also has the score saving function (it is something only tested today for some minutes, had big problems making it work at first, but it seems OK now). The following is the list of know issues that are not likely to ever get fixed: If the NTSC version happens to have screen glitches (including on Altirra), press V at any time to rectify (this is due to recently discovered "feature" on NTSC VBXE installations). Once the consistency of this feature is confirmed, the support for the V key will be removed. Saving scores to a very high speed SIO device causes the "Saving scores..." sign to only blink and otherwise the scoreline becomes uniform color of the last level's background for the duration of saving. Not fixable without rewriting larger parts of code. Also, this screen flick is likely to swap the interlace fields. So better not to use too high speed SIO Some sounds (most notably walking flat and on stairs) can have a "phasing" left/right sound effect to it on some occasions. Not all game speeds, including music, are 100% match between PAL and NTSC systems, however, effort has been made for both versions to be similar enough. The Rybag's interlace hack mode was not properly tested on NTSC machines, on PAL machines also moderately in fact. Generally, the interlace mode is a hit and miss situation depending on the particular setup. The most sure option to have it working is to have Sophia 2 installed along the VBXE. Exiting the game through RESET will not restore the VBXE palettes or Sophia 2 settings in all situations (not fixable IMO due to system's architecture). Also, when ran on NTSC machine the colors are (if/when) restored to the recently introduced NTSC VBXE palette, even if the installed / active core has PAL colors (this is not detectable from the game code). The mono mode of the sound was only moderately tested, stereo setup is advised. Exiting the cartridge version to SpartaDosX (regardless of Ctrl-X or RESET way), or starting the cartridge for the second time with the CAR command takes considerable time due to SDX saving / restoring the memory contents (thinking this is a productivity cartridge whose RAM memory is worth saving ;)). Refer to the SDX manual on how to neutralize this to speed things up. 7 4 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted February 16 Share Posted February 16 13 minutes ago, woj said: Exiting the cartridge version to SpartaDosX (regardless of Ctrl-X or RESET way), or starting the cartridge for the second time with the CAR command takes considerable time due to SDX saving / restoring the memory contents (thinking this is a productivity cartridge whose RAM memory is worth saving ;)). Refer to the SDX manual on how to neutralize this to speed things up. Not that this is an issue if you have a HDD, since the process then takes no more than a couple of seconds. Great to see this project reach completion after a year, anyway. 1 Quote Link to comment Share on other sites More sharing options...
woj Posted February 16 Author Share Posted February 16 18 minutes ago, flashjazzcat said: Not that this is an issue if you have a HDD, since the process then takes no more than a couple of seconds. It takes annoyingly long if you ask me, especially compared to the speed of loading the whole thing with SIDE3 (which in itself is still slower, but I am talking about relativity here ;)). Quote Link to comment Share on other sites More sharing options...
Atari8guy Posted February 16 Share Posted February 16 (edited) Well it's fun, even though I suck at it, I can only get to the second screen. I never played the arcade but I didn't notice anything unusual in the game play in terms of screen glitches over 4 games. NTSC, U1MB here. Edited February 16 by Atari8guy 1 Quote Link to comment Share on other sites More sharing options...
woj Posted February 16 Author Share Posted February 16 21 minutes ago, Atari8guy said: didn't notice anything unusual in the game play in terms of screen glitches over 4 games. NTSC, U1MB here. This is then one more case to confirm the consistency of the VBXE NTSC one scanline off "feature". Quote Link to comment Share on other sites More sharing options...
Kelevance Posted February 16 Share Posted February 16 On 2/10/2024 at 1:48 PM, woj said: ...still awaits the actual cartridges to try it in reality. Did I miss the opportunity to order a cartridge? Quote Link to comment Share on other sites More sharing options...
woj Posted February 16 Author Share Posted February 16 2 minutes ago, Kelevance said: Did I miss the opportunity to order a cartridge? No, you did not, this was just for me to do tests. There will be no sales here. 1 Quote Link to comment Share on other sites More sharing options...
drac030 Posted February 17 Share Posted February 17 That is probably the first game ever which behaves like a productivity application. It runs from a DOS (SDX here), then cleanly exits back. I am impressed. I ran it on Rapidus - it worked without any problems. Display: PAL CRT here, no glitches, everything good. And it all looks beautifully. Congratulations. 4 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.