Jump to content
IGNORED

Pac-Mac Atari OS-B/OS-A Conversion To Atari 5200


Pac-Man Vs Puck-Man

Recommended Posts

Nukey is right. Even though the 5200 is based on the 400/800 hardware, there were enough changes made to it that you can't just burn a 400/800 game to a 5200 cart and play it. There are memory locations in the 5200 that don't contain the expected values that a 400/800 program would look for and some ROM routines that the 400/800 program would call have been moved around. How the controllers are addressed, since they're analog instead of digital and have more buttons, is also an issue that needs correcting. There's probably even more to it than that, which others here would know more about, but those issues alone make a rewrite of some parts of the game necessary to make it work.

Link to comment
Share on other sites

You'd probably find it easier to just identify what parts of the ROM have changed from whatever the original contains.

 

Then find the corresponding version of PacMan on the 5200 (if it exists, there are at least 2 PacMan versions from Atari).

 

Then find the corresponding original data within the 5200 ROM and change it to the hacked version.

 

 

Of course, that'll probably work for maybe 90% of the sprite/level type data, but for actual code changes it'll need grunt-work.

Link to comment
Share on other sites

You'd probably find it easier to just identify what parts of the ROM have changed from whatever the original contains.

 

Then find the corresponding version of PacMan on the 5200 (if it exists, there are at least 2 PacMan versions from Atari).

 

Then find the corresponding original data within the 5200 ROM and change it to the hacked version.

 

 

Of course, that'll probably work for maybe 90% of the sprite/level type data, but for actual code changes it'll need grunt-work.

 

 

It is not Pac-Man, did you look at the c at the end? Search McDonald's Atari 8-Bit Prototype on Google.

Link to comment
Share on other sites

"Help" implies a joint effort icon_rolleyes.gif Besides, given that a 400/800 game would need reverse-engineering as the first step, time might be better spent converting a title that was actually completed (and thus more enjoyable of a project).

 

 

Nukey, remove the things incompatable things for the 5200, and make it just start right away, like any Parker Brothers game.

Link to comment
Share on other sites

they can't make OS-A/OS-B cartridges yet!

 

Who are "they"? You could run this on an Atarimax 1Mb flash cart if you want to play on one of the 8-bit computers.

 

 

AtariAge are "they"! But I want to make a REPRODUCTION, not put it on a USB powered cartridge!

 

How can you reproduce a cartidge that was never produced?

Edited by tep392
Link to comment
Share on other sites

Nukey, remove the things incompatable things for the 5200, and make it just start right away, like any Parker Brothers game.

 

I'm afraid that it's not that easy. If it were, people would have converted the majority of 400/800 software LONG ago. Heck, somebody might have just written a conversion program to do it automatically. The reason that neither of those are true is because it is NOT that easy to convert a binary to run on a different machine. You can't just delete portions that the 5200 doesn't understand. You need to disassemble the binary, reverse-engineer the program, edit the problem routines, then reassemble into a new binary.

 

The reason that disassembly is required is because the equates have all been changed between the systems. For example, to set sprite 0 to a horizontal position you'd store a value to a specific memory location...that memory location is incorrect when it's ported to the other system (it uses it's own set of equates). So the entire program needs to be disassembled so that all of the equates can be changed to the proper addresses. For the most part, this IS automatic...there are disassembler programs that can do this automatically given only a few parameters (such as the ORGigin address)...and the 5200 equate table can be pasted right into the disassembly.

 

Next, reverse-engineering is required to be able to rewrite certian routines by hand that cannot function on the other system. Reverse-engineering is examining and decyphering the program...in order to locate routines that need to be altered (and deeper...any other routines that clash with those). User input is one such example. Ram usage is another. Just as system equates are all different between systems, so is how the platform's operating system handles such things. No point in converting a program if the original expects more ram to be present than the 5200 system has. If that is an aspect, it adds one more headache to the mix...the program will need to be redesigned to work with less.

 

Once the binary has been disassembled and edited to function on the new system, it can be assembled into the final binary. If everything has been handled correctly, the new binary will be compatable with the intended system.

 

 

I dunno what you mean by "start right away". All programs do this. Of course, a broken program that has portions deleted will crash the system...just the same as the unconverted program would. This does not mean that it failed to run right away...just that running right away still left unresolvable problems that the system could not deal with.

 

 

In short, you underestimated the scope of such a project. Starting with an unfinished program already places the person doing the conversion at a disadvantage. Since it was never finished, there may be unresolved problems present in the code that never worked correctly on the original system. These glitches will be ported along with the rest of the code unless somebody is very aware of what the program does. As mentioned, it would be better to choose (at least) a finalized program for conversion. Fortunately, there are plenty to choose from. Some of them even have source code available to eliminate steps 1 and 2.

Edited by Nukey Shay
  • Like 1
Link to comment
Share on other sites

Nukey, remove the things incompatable things for the 5200, and make it just start right away, like any Parker Brothers game.

 

I'm afraid that it's not that easy. If it were, people would have converted the majority of 400/800 software LONG ago. Heck, somebody might have just written a conversion program to do it automatically. The reason that neither of those are true is because it is NOT that easy to convert a binary to run on a different machine. You can't just delete portions that the 5200 doesn't understand. You need to disassemble the binary, reverse-engineer the program, edit the problem routines, then reassemble into a new binary.

 

The reason that disassembly is required is because the equates have all been changed between the systems. For example, to set sprite 0 to a horizontal position you'd store a value to a specific memory location...that memory location is incorrect when it's ported to the other system (it uses it's own set of equates). So the entire program needs to be disassembled so that all of the equates can be changed to the proper addresses. For the most part, this IS automatic...there are disassembler programs that can do this automatically given only a few parameters (such as the ORGigin address)...and the 5200 equate table can be pasted right into the disassembly.

 

Next, reverse-engineering is required to be able to rewrite certian routines by hand that cannot function on the other system. Reverse-engineering is examining and decyphering the program...in order to locate routines that need to be altered (and deeper...any other routines that clash with those). User input is one such example. Ram usage is another. Just as system equates are all different between systems, so is how the platform's operating system handles such things. No point in converting a program if the original expects more ram to be present than the 5200 system has. If that is an aspect, it adds one more headache to the mix...the program will need to be redesigned to work with less.

 

Once the binary has been disassembled and edited to function on the new system, it can be assembled into the final binary. If everything has been handled correctly, the new binary will be compatable with the intended system.

 

 

I dunno what you mean by "start right away". All programs do this. Of course, a broken program that has portions deleted will crash the system...just the same as the unconverted program would. This does not mean that it failed to run right away...just that running right away still left unresolvable problems that the system could not deal with.

 

 

In short, you underestimated the scope of such a project. Starting with an unfinished program already places the person doing the conversion at a disadvantage. Since it was never finished, there may be unresolved problems present in the code that never worked correctly on the original system. These glitches will be ported along with the rest of the code unless somebody is very aware of what the program does. As mentioned, it would be better to choose (at least) a finalized program for conversion. Fortunately, there are plenty to choose from. Some of them even have source code available to eliminate steps 1 and 2.

 

 

 

 

 

Or alternatively just follow the article in one of those popular American Atari magazines (either in antic or analog, can't remember which one) about converting a8 asm/ml programs to 5200

Link to comment
Share on other sites

they can't make OS-A/OS-B cartridges yet!

 

Who are "they"? You could run this on an Atarimax 1Mb flash cart if you want to play on one of the 8-bit computers.

 

 

AtariAge are "they"! But I want to make a REPRODUCTION, not put it on a USB powered cartridge!

 

How can you reproduce a cartidge that was never produced?

 

 

http://atariage.com/store/index.php?l=product_detail&p=951

Link to comment
Share on other sites

Nukey, remove the things incompatable things for the 5200, and make it just start right away, like any Parker Brothers game.

 

I'm afraid that it's not that easy. If it were, people would have converted the majority of 400/800 software LONG ago. Heck, somebody might have just written a conversion program to do it automatically. The reason that neither of those are true is because it is NOT that easy to convert a binary to run on a different machine. You can't just delete portions that the 5200 doesn't understand. You need to disassemble the binary, reverse-engineer the program, edit the problem routines, then reassemble into a new binary.

 

The reason that disassembly is required is because the equates have all been changed between the systems. For example, to set sprite 0 to a horizontal position you'd store a value to a specific memory location...that memory location is incorrect when it's ported to the other system (it uses it's own set of equates). So the entire program needs to be disassembled so that all of the equates can be changed to the proper addresses. For the most part, this IS automatic...there are disassembler programs that can do this automatically given only a few parameters (such as the ORGigin address)...and the 5200 equate table can be pasted right into the disassembly.

 

Next, reverse-engineering is required to be able to rewrite certian routines by hand that cannot function on the other system. Reverse-engineering is examining and decyphering the program...in order to locate routines that need to be altered (and deeper...any other routines that clash with those). User input is one such example. Ram usage is another. Just as system equates are all different between systems, so is how the platform's operating system handles such things. No point in converting a program if the original expects more ram to be present than the 5200 system has. If that is an aspect, it adds one more headache to the mix...the program will need to be redesigned to work with less.

 

Once the binary has been disassembled and edited to function on the new system, it can be assembled into the final binary. If everything has been handled correctly, the new binary will be compatable with the intended system.

 

 

I dunno what you mean by "start right away". All programs do this. Of course, a broken program that has portions deleted will crash the system...just the same as the unconverted program would. This does not mean that it failed to run right away...just that running right away still left unresolvable problems that the system could not deal with.

 

 

In short, you underestimated the scope of such a project. Starting with an unfinished program already places the person doing the conversion at a disadvantage. Since it was never finished, there may be unresolved problems present in the code that never worked correctly on the original system. These glitches will be ported along with the rest of the code unless somebody is very aware of what the program does. As mentioned, it would be better to choose (at least) a finalized program for conversion. Fortunately, there are plenty to choose from. Some of them even have source code available to eliminate steps 1 and 2.

 

 

Have you played a Parker Brothers game? Well, what I mean by "start right away" means that when you play a Parker Brothers game, (Pac-Mac is Parker Brothers) you don't see something that says COPYRIGHT 19 ATARI, the game just starts right away. I have been answering questions today too much!

Link to comment
Share on other sites

Have you played a Parker Brothers game? Well, what I mean by "start right away" means that when you play a Parker Brothers game, (Pac-Mac is Parker Brothers) you don't see something that says COPYRIGHT 19 ATARI, the game just starts right away. I have been answering questions today too much!

Skipping the BIOS display...or something.

 

7800 has something similar. I call the display "flashing the fuji".

Link to comment
Share on other sites

Have you played a Parker Brothers game? Well, what I mean by "start right away" means that when you play a Parker Brothers game, (Pac-Mac is Parker Brothers) you don't see something that says COPYRIGHT 19 ATARI, the game just starts right away.
...which does not have anything in common with hacking an incompatable game to be compatable. It's still going to crash if the system can't understand the program and what it's trying to do. While data portions of a program may mostly be totally identical between system-specific versions, roughly half of the byte values in program code areas will be different (because system equates and ram usage is not the same). Try doing a binary compare of the 8-bit Pac-Man verses the 5200 version to see an example.

 

 

 

I have been answering questions today too much!
Unless I'm mistaken, that's sort of how internet forums work ;)

 

 

 

 

I may not be the quickest guy - even when I'm not hungover - but I seem to remember a process where I ask you questions and you give me answers, then you ask me questions and I give you answers...and that's the way we find out things. I think I read that in a manual somewhere.
Link to comment
Share on other sites

Have you played a Parker Brothers game? Well, what I mean by "start right away" means that when you play a Parker Brothers game, (Pac-Mac is Parker Brothers) you don't see something that says COPYRIGHT 19 ATARI, the game just starts right away.
...which does not have anything in common with hacking an incompatable game to be compatable. It's still going to crash if the system can't understand the program and what it's trying to do. While data portions of a program may mostly be totally identical between system-specific versions, roughly half of the byte values in program code areas will be different (because system equates and ram usage is not the same). Try doing a binary compare of the 8-bit Pac-Man verses the 5200 version to see an example.

 

 

 

I have been answering questions today too much!
Unless I'm mistaken, that's sort of how internet forums work icon_wink.gif

 

 

 

 

I may not be the quickest guy - even when I'm not hungover - but I seem to remember a process where I ask you questions and you give me answers, then you ask me questions and I give you answers...and that's the way we find out things. I think I read that in a manual somewhere.

 

IT IS NOT PAC-MAN!!!!!!!!!!!!!!!!!!!! IT IS PAC-MAC!!!!!!!!!!!!!!! DO YOU SEE THE C INSTEAD OF THE M!!!!!!!!!!!!!!!!!!!icon_mad.gif

Link to comment
Share on other sites

(sigh)

 

I never misunderstood the topic...I'm aware that it's concerning the McDonald's prototype game. I'm saying that you could do an example comparison between Pac-Man binaries just to see how binaries typically differ between two versions of a game. I used Pac-Man as the example because versions already exist for both platforms.

Link to comment
Share on other sites

And thats the bottom line because PACFAN97 Pac-Man Vs. Puck-Man said so!

 

 

I've asked you this question once, and I'm going to ask it again. I want to hear the truth.

 

Are you Pacfan97?

 

 

I've asked you this question once, and I'm going to ask it again. I want to hear the truth.

 

Are you Pacfan97?

 

 

NO!!!!!! IT IS THE TRUTH!!!!!!!!!!!!!!!! I AM NOT PACFAN97!!!!!!!!!!!! I DON'T TROLL!!!!!!!!!!!!!!! WHY DO YOU ASK ME THESE QUESTIONS!!!!!!!!!!!!!!!!!!!icon_mad.gif

 

 

IT IS NOT PAC-MAN!!!!!!!!!!!!!!!!!!!! IT IS PAC-MAC!!!!!!!!!!!!!!! DO YOU SEE THE C INSTEAD OF THE M!!!!!!!!!!!!!!!!!!!icon_mad.gif

 

Thats all we needed to know PACFAN97 :lol:

Link to comment
Share on other sites

And thats the bottom line because PACFAN97 Pac-Man Vs. Puck-Man said so!

 

 

I've asked you this question once, and I'm going to ask it again. I want to hear the truth.

 

Are you Pacfan97?

 

 

I've asked you this question once, and I'm going to ask it again. I want to hear the truth.

 

Are you Pacfan97?

 

 

NO!!!!!! IT IS THE TRUTH!!!!!!!!!!!!!!!! I AM NOT PACFAN97!!!!!!!!!!!! I DON'T TROLL!!!!!!!!!!!!!!! WHY DO YOU ASK ME THESE QUESTIONS!!!!!!!!!!!!!!!!!!!icon_mad.gif

 

 

IT IS NOT PAC-MAN!!!!!!!!!!!!!!!!!!!! IT IS PAC-MAC!!!!!!!!!!!!!!! DO YOU SEE THE C INSTEAD OF THE M!!!!!!!!!!!!!!!!!!!icon_mad.gif

 

Thats all we needed to know PACFAN97 icon_lol.gif

 

 

Please, ask Pacfan97, because I have reported you, and if you say "Your Pacfan97!", it is going to happen again!

Link to comment
Share on other sites

(sigh)

 

I never misunderstood the topic...I'm aware that it's concerning the McDonald's prototype game. I'm saying that you could do an example comparison between Pac-Man binaries just to see how binaries typically differ between two versions of a game. I used Pac-Man as the example because versions already exist for both platforms.

 

 

Oh, sorry Nukley.icon_confused.gif

Link to comment
Share on other sites

And thats the bottom line because PACFAN97 Pac-Man Vs. Puck-Man said so!

 

 

I've asked you this question once, and I'm going to ask it again. I want to hear the truth.

 

Are you Pacfan97?

 

 

I've asked you this question once, and I'm going to ask it again. I want to hear the truth.

 

Are you Pacfan97?

 

 

NO!!!!!! IT IS THE TRUTH!!!!!!!!!!!!!!!! I AM NOT PACFAN97!!!!!!!!!!!! I DON'T TROLL!!!!!!!!!!!!!!! WHY DO YOU ASK ME THESE QUESTIONS!!!!!!!!!!!!!!!!!!!icon_mad.gif

 

 

IT IS NOT PAC-MAN!!!!!!!!!!!!!!!!!!!! IT IS PAC-MAC!!!!!!!!!!!!!!! DO YOU SEE THE C INSTEAD OF THE M!!!!!!!!!!!!!!!!!!!icon_mad.gif

 

Thats all we needed to know PACFAN97 icon_lol.gif

 

 

Please, ask Pacfan97, because I have reported you, and if you say "Your Pacfan97!", it is going to happen again!

 

The way you defend yourself certainly isn't helping.

 

I know, since I have been down that road before (don't ask about the forum in mention, please. They really are just a bunch of jerks). I acted the same way when I claimed (in my alt account) I wasn't an alt account. They simply didn't believe me, though, and banned my ass (along with my IP address).

 

Yes, I was a stupid child 3 years ago, and you are acting the same way. Just admit it now, and get it over with. Don't make the same mistake I did (although it probably is too late, though).

Edited by Animan
  • Like 1
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...