Deleted
Joined: January 1970
Posts: 0
Location:
|
Post by Deleted on Dec 8, 2012 21:32:21 GMT
I'm sure I read that Taito lost the original source code listing which probably explains the inaccuracies. Though given it was probably written in assembler originally maybe no-one has "simply" gone to the bother of dis-assembling it to document all the features at source code level.
|
|
|
Post by Syntesis on Dec 8, 2012 22:05:55 GMT
Back in the day ports were often made by playing through the game and recording the footage with a camcorder with that footage used as a reference. Then you have ports based on past ports so it all becomes a bit Chinese whispers. That's why superficially Bubble Bobble ports look okay, especially as early levels (and lets face it, probably 90% of people who played BB couldn't get further than level 40~) don't require any bubble climbing, but scratch beneath the surface and they fall apart. If they programmed the ports while continually referring to the coin-op to make sure they got the bubble behaviour and jumping just right instead of just using footage and level layouts then maybe they would have turned out okay. Lets face it though, with ports of arcade games back in the day accuracy wasn't a concern, especially on the home computers. Make it vaguely look like the arcade game and magazines would proclaim 'ARCADE PERFECT!'.
|
|
|
Post by buckoa51 on Dec 8, 2012 22:17:50 GMT
Taito lost the source code didn't they? Though I quite like the Saturn Rainbow Islands personally.
We ended up playing the 360 version because my DVDO Edge went kaput, later levels on that are exceptionally hard too, though I remember them being a nightmare on the coin-op.
Assembler is still assembled into machine code, disassemble machine code and you don't get the original assembler code with comments etc, there's no substitute for the original source.
I can vouch for the bubble climbing being possible in the C64 version as I'm certain we completed it.
|
|
bahrcode
Newbie
Joined: May 2012
Posts: 25
Location:
|
Post by bahrcode on Dec 8, 2012 22:54:58 GMT
I agree with syntesis, I have the us version and the bubble climbing action is messed up! Nes is where it's at
|
|
Deleted
Joined: January 1970
Posts: 0
Location:
|
Post by Deleted on Dec 8, 2012 23:06:09 GMT
I played the NES version all the way through but I didn't with the saturn version - guess maybe i should have before reviewing it.... Assembler is still assembled into machine code, disassemble machine code and you don't get the original assembler code with comments etc, there's no substitute for the original source. Disassemble machine code (hex) and you will get the original code mnenomics - but yes - you won't have the comments. If the original dev had put any commentary into the assembly itself alongside the game data then you would get that back but it would unlikely to be useful (much like the message in the N64's New Tetris ROM for example). There is no reason why a talented coder with the time and inclination using emulators like MAME couldn't produce their own comments. But the dev houses wouldn't justify the time taken and expense.
|
|
|
Post by buckoa51 on Dec 8, 2012 23:52:20 GMT
Even if you discount comments, things like labels and symbols etc will be different, assembly language is not machine code.
|
|
Deleted
Joined: January 1970
Posts: 0
Location:
|
Post by Deleted on Dec 9, 2012 0:15:31 GMT
The actual names of labels and symbols don't matter even if you make your own up and you use different names as the original dev (which will most certainly be the case) - but as long as you are consistent it doesn't matter - any label name is just an arbitrary string....people have produced complete commented listings from 2600 games - the comments and labels won't be same as those used by the original dev - but they will mean the same thing the original programmer intended which is all that matters.
If I pick "NUMLIVES" for the life counter and the original dev used "NLVS" for example it doesn't matter as long as we are talking about the same memory address.
|
|
|
Post by buckoa51 on Dec 9, 2012 0:23:01 GMT
it doesn't matter to the computer, but it matters an awful lot to whoever comes to read your code next. You'd also lose macros or any preprocessor type-code that aids readability or course.
|
|
Deleted
Joined: January 1970
Posts: 0
Location:
|
Post by Deleted on Dec 9, 2012 0:39:26 GMT
Macros and pseudo instructions - syntactical sugar at best - especially for something like Bubble Bobble with a specific target architecture in mind. To be fair , knowledge of the target machine would help - especially if there are calls to any hardware features which again could be figured out.
What is relevant is the logic enshrined in the instructions and if you know the purpose of each memory location wrt variable use and where your data blocks are (e.g. object data and level layouts) then what you produce is perfectly readable by a programmer coming behind you.
I have had to use reverse compiled code in work and made changes to it with no issues - it wasn't the original listing but it didn't matter.
I have been able to produce PAL60 versions of 2600 games from the raw binary by running it through a disassembler and then stepping through the code in Stella to identify colour tables. I'm not experienced enough to produce a fully commented disassembly but I can see how it could be done - it would take some time - but if done could be read by anyone who would want to either port it or produce their own hack.
Ms Pacman was a hack of the original - they didn;t have the original listing because they didn't need it - it would make it FAR easier of course.
As games have got bigger - for example a Saturn game - to all practical purposes it would be impossible due to the sheer size - but in theory it could be done.
|
|
|
Post by buckoa51 on Dec 9, 2012 0:56:53 GMT
Most things are possible, if you are determined enough, but trivial, no, certainly not.
|
|
Deleted
Joined: January 1970
Posts: 0
Location:
|
Post by Deleted on Dec 9, 2012 20:18:10 GMT
Yep - it's a question of motivation - be it personal (2600 ROMS for example) or as a proposition to make money which sadly just wouldn't add up for any game I guess.
|
|
|
Post by superdeadite on Dec 17, 2012 10:59:43 GMT
The problem with the Saturn port has nothing to do with old computer versions. See in the arcade original, enemy/bubble behavior was tied to a protection chip. Meaning if the game was bootlegged, the enemy behavior would be incorrect. In fact, for many years, MAME had bad enemy behavior as well, because the protection chip couldn't be broken. This has finally been fixed however. As far as home ports go, Bubble Bobble got outstanding ports to both the X68000 and FM Towns computers. The Towns also got a truly perfect port of Rainbow Islands Extra, though a standard RI fan may not enjoy Extra's insane challenge level. Both games are perfectly Marty compatible as well for those wanting a "pure console" version.
|
|
|
Post by buckoa51 on Dec 17, 2012 11:39:03 GMT
|
|
Deleted
Joined: January 1970
Posts: 0
Location:
|
Post by Deleted on Dec 17, 2012 12:40:08 GMT
wow - that's an impressive piece of work there - and it's amazing how bootleggers were able to recreate that chip...
I was certainly under the impression that MAME was accurate - but then I never played the arcade version all the way through - there weren't that many Bubble Bobble cabinets in Northern Ireland!!
|
|