Jump to content

Photo

Flashback Portable: Needed Controller Hacks


371 replies to this topic

#276 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 21,889 posts
  • Location:The land of Gorch

Posted Thu Feb 16, 2017 2:16 PM

I don't know anything about CBS ram, and I absolutely HATE jigsaw puzzles. That file is a mess to try to read.

#277 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,728 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Thu Feb 16, 2017 10:43 PM

So is the CBS ram like looking in a shreader and trying to reassemble a document?



#278 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 21,889 posts
  • Location:The land of Gorch

Posted Fri Feb 17, 2017 4:49 AM

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.

#279 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,728 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Fri Feb 17, 2017 6:13 AM

Makes sense.   Sounds like me with most disassemblies.  :D

 

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.



#280 Mr SQL ONLINE  

Mr SQL

    River Patroller

  • 2,094 posts

Posted Fri Feb 17, 2017 8:20 AM

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.



#281 Everett1954 OFFLINE  

Everett1954

    Moonsweeper

  • 307 posts
  • Location:Milwaukee, WI

Posted Fri Feb 17, 2017 3:47 PM

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.



#282 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 21,889 posts
  • Location:The land of Gorch

Posted Fri Feb 17, 2017 4:40 PM

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 :P



#283 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 21,889 posts
  • Location:The land of Gorch

Posted Fri Feb 17, 2017 5:17 PM

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?



#284 Mr SQL ONLINE  

Mr SQL

    River Patroller

  • 2,094 posts

Posted Sat Feb 18, 2017 9:45 AM

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 :P

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. Attached File  cbstest2a.asm   127.57KB   32 downloads

 

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.



#285 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 21,889 posts
  • Location:The land of Gorch

Posted Sat Feb 18, 2017 10:03 AM

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)?

#286 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 21,889 posts
  • Location:The land of Gorch

Posted Sat Feb 18, 2017 10:27 AM

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.

#287 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,728 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Sat Feb 18, 2017 10:41 AM

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?



#288 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 21,889 posts
  • Location:The land of Gorch

Posted Sat Feb 18, 2017 11:17 AM

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.

#289 Mr SQL ONLINE  

Mr SQL

    River Patroller

  • 2,094 posts

Posted Thu Feb 23, 2017 9:43 AM

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.  



#290 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 21,889 posts
  • Location:The land of Gorch

Posted Fri Feb 24, 2017 10:23 PM

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.

Attached Files


Edited by Nukey Shay, Sat Feb 25, 2017 7:37 AM.


#291 Arenafoot OFFLINE  

Arenafoot

    Stargunner

  • 1,367 posts
  • videogamestores.net
  • Location:Watson, LA

Posted Fri Feb 24, 2017 10:44 PM

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!!!



#292 Feralstorm OFFLINE  

Feralstorm

    Dragonstomper

  • 629 posts
  • Do not taunt Happy Fun BallŪ

Posted Sat Feb 25, 2017 10:42 PM

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/...ds-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.



#293 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 21,889 posts
  • Location:The land of Gorch

Posted Sun Feb 26, 2017 12:30 AM

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 :P

 

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

Attached Files



#294 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,728 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Mon Mar 13, 2017 9:47 PM

That's a lot of game selects. 



#295 ComputerSpaceFan OFFLINE  

ComputerSpaceFan

    River Patroller

  • 2,232 posts

Posted Wed Mar 15, 2017 1:52 PM

Me to the genius hacking skills of Nukey Shay

 

wayne-garth.gif



#296 Arenafoot OFFLINE  

Arenafoot

    Stargunner

  • 1,367 posts
  • videogamestores.net
  • Location:Watson, LA

Posted Wed Mar 15, 2017 11:40 PM

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!



#297 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 21,889 posts
  • Location:The land of Gorch

Posted Sun Mar 26, 2017 9:58 AM

...

Attached Files



#298 Arenafoot OFFLINE  

Arenafoot

    Stargunner

  • 1,367 posts
  • videogamestores.net
  • Location:Watson, LA

Posted Sun Mar 26, 2017 12:12 PM

...

Awesome work again Nukey!



#299 doctorclu OFFLINE  

doctorclu

    ***Moon Patrol 5200*** *Moon Master2015* *Blue Max:Class 4*

  • Topic Starter
  • 7,728 posts
  • *Star Raiders 2* **Captain -CL 2**
  • Location:*Star Raiders * *Star Commander -CL 1*

Posted Sun Mar 26, 2017 10:05 PM

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.



#300 Mr SQL ONLINE  

Mr SQL

    River Patroller

  • 2,094 posts

Posted Sat Apr 1, 2017 11:08 PM

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?

 

Attached File  KC_AFP_BETA.bin   12KB   47 downloads

 

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 by Mr SQL, Mon Apr 3, 2017 12:57 PM.





0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users