Nukey Shay #276 Posted February 16, 2017 I don't know anything about CBS ram, and I absolutely HATE jigsaw puzzles. That file is a mess to try to read. 1 Quote Share this post Link to post Share on other sites
+doctorclu #277 Posted February 17, 2017 So is the CBS ram like looking in a shreader and trying to reassemble a document? Quote Share this post Link to post Share on other sites
Nukey Shay #278 Posted February 17, 2017 I'm not a machine. I can read through assembly just fine, tho (as long as the diversions are minimal). That's actually why I prefer to make my own disassembles when creating hacks...less muck to trudge through. There's so much semicolon-riddled code here I don't know where to start. Quote Share this post Link to post Share on other sites
+doctorclu #279 Posted February 17, 2017 Makes sense. Sounds like me with most disassemblies. Well earlier you said that the Beat'em & Eat'em controller hack for Kaboom would not be practical since the game gets so fast and frantic at later levels. Honestly still wouldn't mind seeing that, Warlords, or Breakout with the Beat'em controls though. Got to be better than what is currently there. Quote Share this post Link to post Share on other sites
Mr SQL #280 Posted February 17, 2017 I'm not a machine. I can read through assembly just fine, tho (as long as the diversions are minimal). That's actually why I prefer to make my own disassembles when creating hacks...less muck to trudge through. There's so much semicolon-riddled code here I don't know where to start. Semicolons are for the comments - I use a lot of comments and descriptive naming, machine generated assemblies lack both of those attributes which imo makes them tougher to follow. Where to start if you're inclined - Gameloop2 is pretty small. I've got an RTS in there, but if I remove the small block of unused ballast code after the RTS it won't run on the portable; no specific CBS RAM access code or bank switching code in there either just ordinary 6502 code. Quote Share this post Link to post Share on other sites
Everett1954 #281 Posted February 17, 2017 i thought Dkvcs worked on the AFP. I get a torn title screen and the game on 1/2 screen (upper). I grabbed it from this thread. Quote Share this post Link to post Share on other sites
Nukey Shay #282 Posted February 17, 2017 Working, yes...perfectly, no. As mentioned, the early HMOVE is suspected for the skewed text. The score/lives area does show up at the top of the level when you reach it. The split screen is lost when you are on lower girders. Semicolons are for the comments - I use a lot of comments and descriptive naming, machine generated assemblies lack both of those attributes which imo makes them tougher to follow. Concise comments are no problem. Too many comments and it becomes unreadable gibberish to me (worse than uncommented code). I'd have to erase 99% of the text just to figure out what your program is supposed to be doing...a great deal of the comment lines are inactive program code lines. For example...which RTS after Gameloop2 are you referring to? The one ON the label? The RTS a few lines lower? Or the RTS a few lines lower from that? I'll look into it after I do some heavy editing 2 Quote Share this post Link to post Share on other sites
Nukey Shay #283 Posted February 17, 2017 BTW the *unedited in any way* program you posted does NOT work on the portable. In Stella, some colored lines appear in the upper left. On the portable, no screen (but a lotta horrible screeching noises). What it this thing SUPPOSED to be doing? Quote Share this post Link to post Share on other sites
Mr SQL #284 Posted February 18, 2017 Working, yes...perfectly, no. As mentioned, the early HMOVE is suspected for the skewed text. The score/lives area does show up at the top of the level when you reach it. The split screen is lost when you are on lower girders. Concise comments are no problem. Too many comments and it becomes unreadable gibberish to me (worse than uncommented code). I'd have to erase 99% of the text just to figure out what your program is supposed to be doing...a great deal of the comment lines are inactive program code lines. For example...which RTS after Gameloop2 are you referring to? The one ON the label? The RTS a few lines lower? Or the RTS a few lines lower from that? I'll look into it after I do some heavy editing Thanks Nukey! BTW the *unedited in any way* program you posted does NOT work on the portable. In Stella, some colored lines appear in the upper left. On the portable, no screen (but a lotta horrible screeching noises). What it this thing SUPPOSED to be doing? I edited the file so much I must have uploaded a non-working version, this one definitely works, just compiled and tested it on the portable. Not doing much, just displaying 5 colored blocks and playing a tune. cbstest2a.asm The RTS I am referring to is the first one after the gameloop2 label - it prevents the ballast block of code that follows from being executed so that code shouldn't be needed, but removing it causes the horrible screeching noise you observed - it would be really interesting if this build also fails on your portable because we'd have two variations of the portable emu, which is a possiblity. Quote Share this post Link to post Share on other sites
Nukey Shay #285 Posted February 18, 2017 There ARE two versions of the AFP, preproduction and the current model. The former includes Space Invaders, and seems to have a bit better emulation (it can deal with VBLANK on problem games, for example). What is the "ballast code"? Everything between Gameloop2 and doneGameLoop2 (apart from the RTS)? 1 Quote Share this post Link to post Share on other sites
Nukey Shay #286 Posted February 18, 2017 Just tried it...with all of those lines removed, it doesn't work (as you said). But if you set ORG to $D7A2 above doneGameloop2 (which is where it would be if all that mess was present), it works. So the problem is something that follows this area. Something which cannot be shifted down a page and a half in memory. You wanna try throwing in 411 bytes of filler above every tag (one at a time) to zero in on the problem? I'm going blind looking at it. 1 Quote Share this post Link to post Share on other sites
+doctorclu #287 Posted February 18, 2017 LOL! Hey Nukey, if you are tired of looking at chaotic dissembled code, I found the work of Spire Ware for Warlords. Would it be possible to add the Beat'em & Eat'em paddle fix to this assembly code? Quote Share this post Link to post Share on other sites
Nukey Shay #288 Posted February 18, 2017 Warlords is already playable via "special handling". Left & right to move the yellow shield, up and down for the green shield. The trigger is available to yellow. Any hacking at all to the original alters the checksum and makes it unplayable to the portable...so then the control scheme would need fixing. 1 Quote Share this post Link to post Share on other sites
Mr SQL #289 Posted February 23, 2017 There ARE two versions of the AFP, preproduction and the current model. The former includes Space Invaders, and seems to have a bit better emulation (it can deal with VBLANK on problem games, for example). What is the "ballast code"? Everything between Gameloop2 and doneGameLoop2 (apart from the RTS)? Just tried it...with all of those lines removed, it doesn't work (as you said). But if you set ORG to $D7A2 above doneGameloop2 (which is where it would be if all that mess was present), it works. So the problem is something that follows this area. Something which cannot be shifted down a page and a half in memory. You wanna try throwing in 411 bytes of filler above every tag (one at a time) to zero in on the problem? I'm going blind looking at it. Thanks for your help Nukey! I've done some more experimenting and have been able to get full games (larger code to work), while less code such as simple examples will cause the issue to surface: for a 12K CBS ROM image to work, the first bank had better be nearly full or offset so that it is pushed further down; your ORG solution does this so I may have the compiler calculate an ORG and throw it in if it detects the program is too small. Btw, here's what the short program looked like behind all that commented mess of Assembly: 10 vwpixel(0,2,flip) 20 for x=1 to 4:vwpixel(3,x,on):next x 30 vwpixel(1,4,poll) I've also found some other idiosyncrasies between the portable and Stella compiling this game to run on the portable under CBS RAM - this time the portable gets it right and Stella displays a mosaic when I rely on pre-initialized memory. In contrast, Stella get's the pre-initialization right with Pixels and the portable doesn't but it's not a fatal error; the first game in Stella or via the Harmony will start out with only the slow breakout block and pacman chasing you and it takes awhile for the fast block to come into play. On the portable however, the fast block starts in right away along with the slow block but it doesn't break playability (just harder). I had already been trying to find precisely where that preinitialized memory is being referenced for awhile because subsequent games on both Stella and Harmony always start with both blocks too (only the very first game works as intended) however the Assembly listing for Pixels is over two inchs thick when printed - I feel the same as you trying to navigate that listing like trying to find a needle; I can post it if you want to take a look!! When I get a little further with the StarBlitz portable beta I'll post that on the regular Atari forum for players to test and help find any more anomalies for fine tuning the vwBASIC compiler, also will ask players to test on both versions of the portable you mentioned though I am glad I have the release version - I do want to support the pre-production unit too but it seems less important if millions of portables are eventually sold but only a thousand are pre-production units. Quote Share this post Link to post Share on other sites
Nukey Shay #290 Posted February 25, 2017 (edited) Adventures Of Tron: this was listed perfect even though the title screen was glitched. I also corrected all HMOVEs (originally hitting at cycles 2, 75, and 74 when WSYNC is absent), and fixed the number of scanlines to a steady 262...so it will run on anything. Colors edited slightly for better contrast. Use difficulties to start at 4 skill levels...both B = 0, Left A = 2, Right A = 4, Both A = 8. Adventuresoftron.bin Edited February 25, 2017 by Nukey Shay 3 Quote Share this post Link to post Share on other sites
Arenafoot #291 Posted February 25, 2017 Adventures Of Tron: this was listed perfect even though the title screen was glitched. I also corrected all HMOVEs (originally hitting at cycles 2, 75, and 74 when WSYNC is absent), and fixed the number of scanlines to a steady 262...so it will run on anything. Colors edited slightly for better contrast. Use difficulties to start at 4 skill levels...both B = 0, Left A = 2, Right A = 4, Both A = 8. Nukey's back! I was thinking you were taking a break from hacking ROMs for the AFP, since the last one you did 11 days ago. I updated the Compatibility List to reflect "modified to work" for this title. Keep up the great work! Happy Mardi Gras!!! Quote Share this post Link to post Share on other sites
Feralstorm #292 Posted February 26, 2017 The portable uses the regular version without copyright, I've been told. So whatever trick it is using to merge the two frames (removing the flicker) would be applicable to the regular version only. It's apparent my old 'Arcade Asteroids' hack ( http://atariage.com/forums/topic/77019-asteroids-arcade-hack/) isn't covered under this condition. (it was hacked from T.J.'s 'Sadistroids' and has the copyright/title screen) I'd love to hack up a version with alternate thrust/hyperspace controls (fat thumbs). I'd give up the title page for a de-flickered version too. My talents are basic bit-hacking though, sadly. Quote Share this post Link to post Share on other sites
Nukey Shay #293 Posted February 26, 2017 The flicker-free condition will only work with the original unhacked game (no copyright screen). Any hacking done at all and the game flickers like on a regular console. Surround: Not much I can do about the 2player variations, so I made them single-player. The blue marker will follow your direction in reverse, and the goal is to fill the screens to time out the game at 18 minutes before either marker hits 10 points. All variations are also given to the computer player, tho it does not quite know what to do with them I also included the option to turn off vertical separation lines, for a total of 66 game variations. The game #'s that match the original cartridge are shown off to the right when you use select. Game number... ...Lines| Speed | Diag | Wrap | Erase | Comp 01 | | | | | 02 | X | | | | 03 | | X | | | 04 | X | X | | | 05 | | | X | | 06 | X | | X | | 07 | | X | X | | 08 | X | X | X | | 09 | | | | X | 10 | X | | | X | 11 | | X | | X | 12 | X | X | | X | 13 | | | X | X | 14 | X | | X | X | 15 | | X | X | X | 16 | X | X | X | X | 17 | | | | | X 18 | X | | | | X 19 | | X | | | X 20 | X | X | | | X 21 | | | X | | X 22 | X | | X | | X 23 | | X | X | | X 24 | X | X | X | | X 25 | | | | X | X 26 | X | | | X | X 27 | | X | | X | X 28 | X | X | | X | X 29 | | | X | X | X 30 | X | | X | X | X 31 | | X | X | X | X 32 | X | X | X | X | X 33 X | | | | | 34 X | X | | | | 35 X | | X | | | 36 X | X | X | | | 37 X | | | X | | 38 X | X | | X | | 39 X | | X | X | | 40 X | X | X | X | | 41 X | | | | X | 42 X | X | | | X | 43 X | | X | | X | 44 X | X | X | | X | 45 X | | | X | X | 46 X | X | | X | X | 47 X | | X | X | X | 48 X | X | X | X | X | 49 X | | | | | X 50 X | X | | | | X 51 X | | X | | | X 52 X | X | X | | | X 53 X | | | X | | X 54 X | X | | X | | X 55 X | | X | X | | X 56 X | X | X | X | | X 57 X | | | | X | X 58 X | X | | | X | X 59 X | | X | | X | X 60 X | X | X | | X | X 61 X | | | X | X | X 62 X | X | | X | X | X 63 X | | X | X | X | X 64 X | X | X | X | X | X 65 - Graffiti w/lines 66 - Graffiti w/o lines Surround(portable).bin 3 Quote Share this post Link to post Share on other sites
+doctorclu #294 Posted March 14, 2017 That's a lot of game selects. Quote Share this post Link to post Share on other sites
ComputerSpaceFan #295 Posted March 15, 2017 Me to the genius hacking skills of Nukey Shay 1 Quote Share this post Link to post Share on other sites
Arenafoot #296 Posted March 16, 2017 Me to the genius hacking skills of Nukey Shay Agree! But, it has been awhile since we've seen another hack from the greatest hacker around! Quote Share this post Link to post Share on other sites
Nukey Shay #297 Posted March 26, 2017 ... Elevatoraction(portable).bin 4 Quote Share this post Link to post Share on other sites
Arenafoot #298 Posted March 26, 2017 ... Awesome work again Nukey! Quote Share this post Link to post Share on other sites
+doctorclu #299 Posted March 27, 2017 Very nice! I've added Elevator Action (and a few other ones.. ooops!) before that to the links on the first page of this thread. Quote Share this post Link to post Share on other sites
Mr SQL #300 Posted April 2, 2017 (edited) BTW flickerless asteroids happen even if the game is loaded as a .bin from the SD. The included paddle games also share this trait. Let's call this "Special handling". Rules so far: Special handling to specific roms - yep Non-persistent color switch (7800-similar) Frequent port read (SWCHA/SWCHB) - avoid VBLANK - remove for production version Mirrored RIOT addresses - not supported On cart ram - use $FF to fill Illegal opcode use - not supported Early HMOVE - not supported +1 cycle by branch over page - Nope Any others? Any ideas about this one Nukey? KC_AFP_BETA.bin The portable seems to act like it has a Sega pad. One of the ghosts malfunctions if a Sega pad is plugged into the full size console, but it works fine with a Joystick, same thing happens with the SuperCharger version. And the same ghost malfunctions on the AFP - perhaps there is no paddle RAM byte? EDIT: Found it! Memory location 24 changes state on a full size console if a sega pad is plugged in, or after a few hours with temperature changes - paddle cap must affect it. I had intended to use #24 as an offset Edited April 3, 2017 by Mr SQL Quote Share this post Link to post Share on other sites