Game Boy Zelda Comes With Source, Sort Of
Jamie found a fun story about a 90s Zelda Game Boy ROM that shipped with the source code- not so much on purpose, but more because the linker padded out the last meg of ROM with random memory contents, which happened to include game source code.
Stuff that matters!! It says it right at the top. A game sort of containing source code?! Slow news day?
I guess the only way to really avoid the malloc() calls grabbing your source code would have been to compile, then reboot to link...so the extra data thats padded on the end of the ROM image would just be your emtpy RAM contents.
Obligatory blog plug: http://www.caseybanner.ca/
News Post Comes With Article, Sort Of
Awesome. :) This must be why they always say not to code whilst drunk.
Air Fortress (Famicom version) also included a portion of the source code due to not clearing memory before linking.
Now the site is Wordpressed (like Slashdotting, only the other way around) and you can't get to it, but one of the last posts before it died pointed out that this was from a trainered version. That's where someone adds cheat code to a ROM. As it turns out, the original doesn't have any of the code in question. Dissassembling for the purpose of adding cheats is a completely sensible explanation of the code that was found.
The moral of the story? Start with a known clean dump (look for the "[!]" tag) before assuming that the introns were in the original game.
#naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
This is a non-story. This only applies to a specific Pirate ROM Dump of Zelda DX. The clean dump does not contain any embedded source code.
One of the 'Elite' sequels was shipped with a swap file on the CD-ROM. Opening that swap file with a text editor showed it included much of the C code for the game, which presumably must have been swapped out while they were compiling at some point and then copied to the CD by mistake.
:).
From what I remember the installer copied the swap file to the hard disk, but the first patch either deleted it or zeroed it
"X-Men - Wolverine's Rage" (MD5: b1729716baaea01d4baa795db31800b0), which contains Windows 9x registry keys and INF files, "Mortal Kombat 4 (MD5: 7311f937a542baadf113e9115158cde3), in which you can find some small source fragments, "Gift" (MD5: e6a51088c8fea7980649064bd3a9f9ff), which will tell you that the developers had some Game Boy emulators installed on their system, or the "BIT-MANAGERS" games "Spirou" (MD5:5aa012cf540a5267d6adea6659764441, Turbo C, MAP file, source) and "TinTin in Tibet" (Game Boy Color version, MD5: 8150a3978211939d367f48ffcd49f979), which, amongst other things, contains references to Nintendo's Game Boy Advance (!) SDK ("C:\Cygnus\thumbelf-000512\H-i686-cygwin32\lib\gcc-lib\thumb-elf\2.9-arm-000512, "/tantor/build/nintendo/arm-000512/i686-cygwin32/src/newlib/libc/stdio/stdio.c").
While modern operating systems will always clear all malloc()ed memory, so that you cannot get to other processes' data
What do they mean by clear the memory? Because when I malloc() (and not calloc()) I seem to get whatever was there before..
You just got troll'd!
Golden Axe 2 (the arcade ROM) has a good chunk of it's source code contained in there too, including the source for it's security routine (oh the hilarity...)
And the PAL version of ICO (PS2) had an objdump of the entire ELF on the disc, which is basically a disassembly with full symbol information.
Kayamon
So the GameBoy Advance SDK uses MinGW32 and Newlib? Neat!
I remember looking at a PC-Engine CD-ROM ages ago - I think it was Golden Axe - that contained bits and pieces of the source code as well. Probably for the same reason.
As a kid I had a surplussed computer called the "Interact Model R." All of the game tapes were 8K even, and at the end of many of them I found commented 8080A assembly code for other games and the BASIC interpreter that was supplied with the system (yes, it was on tape for this machine). Starting with 200 lines of source I would eventually reverse assemble the entirety of what I later learned was Tiny BASIC.
Brackets contain world's first nanosig, highly magnified:[.]
Gamepack ROMs were up to 8 Mbits in size (http://en.wikipedia.org/wiki/Game_Boy), while the article says something about padding a 2 MB ROM with random stuff. Hmm.
what can be seen as a life saver om hardrives (that by default, "deleted" files are still there but not part of the file system) can be a troublesome issue in ram?
oh wait, not zeroing a hardrive can be bad, if one sell of a old one...
comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
find it amusing that this happened because of the Link-er.
I can't be the only one...
Can I?
I'll get me coat.
beyon]d th>e scope of
memset(ptr,0,size)
Engineering is the art of compromise.
I think it's neat. You are welcome to give up and never to return.
Old-time ZX Spectrum guy here. IIRC there was some (assembly) source code embedded in the original release of Manic Miner. I guess that would be around 1982... nothing new here :) I remember seeing that and thinking it was pretty cool. (the source code was removed when Software Projects re-released the title... 1983 I think)
Posted anonymously to hide my shame of working with visual FoxPro.
.exe It just included a runtime and the source code in the .exe file. If you looked at it ina hex editor, there was the full source code, complete with comments. Apparently there was an option to scramble the source code. The guy responsible for building the installation didn't do that.
FoxPro, I discovered after shipping our product for 2 years, didn't really compile anything when you made an
As for the source code in the ROM, check out some of the comments on our site. The slashdotters above commented on it above. This post is from months ago, too - why on Slashdot now?
Anyway, A Japanese PlayStation game named "Beatmania Best Hits" came with the complete source code to "Beatmania 5th Mix", another PlayStation game in the same series. Supposedly, it was complete enough to actually compile and run.
PlayStation games of the era had to have a ~30 meg file of zeros on them at the outer edge due to a problem with the drive. These were known as "DUMMY" files. Some unknown sneaky programmer at Konami put an LZH archive containing 5th Mix's source code as the DUMMY file. (The contents of the file didn't technically matter, it just had to be at the outer edge.)
"Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
I never felt so good. This is prime slashdot material!
oooomph!
Dude, get this...I downloaded this game, I think it was called Quake 3...well, I started poking around on their website and found all the source code! Crazy huh?
Movable Type is extremely resource-intensive while rebuilding pages, but it then serves the pages as static files. OOTB it's much better suited to handling traffic. If an MT site is slashdotted it's because Apache fell down, not MT (unless everyone's visiting, then leaving comments or running searches). MT doesn't enter the picture until content is updated. WP does as soon as someone tries to view a page.
Still, while WP can be a bit server-intense, this is typically due to poorly-written plugins rather than the core. And if you install any of the caching plugins it can perform very well indeed.
Oh and just because you think it should be legal to "fuck babies" doesn't mean that the rest of America thinks that way too you fatass
I once found a subdirectory called "sparky" on a CD which I got from Oracle which contained the complete unrestricted (no keys required) installation of MS-Office.
"Be grateful for what you have. You may never know when you may lose it."
This reminds me of one of the several oopsies that led to the demise of Weitek. (This one wasn't the last straw. But it was a pretty big bale.)
An administrator decided that, to save money, those darned resource-wasting engineers would be limited to one new floppy disk per week.
So floppies got reused a lot. And of course eventually somebody got sloppy.
The master for one of their graphics driver distributions was built on a recycled floppy disk. Of course the old files were deleted, rather than the disk being reformatted with a surface-analysis (and data wiping) pass. And of course this master was sector-cloned for production.
Turns out the entire source code for the drivers had previously lived on that disk - and many of the algorithms that made the product cutting-edge were either in the driver or had enough info in the driver source about what the chip was up to that it made reverse-engineering a snap.
So just apply any of several "undelete the lost files" tools to any copy of the distribution disks and you could recover pretty much the whole source code, comments and all.
Shortly after this, the best of Weitek's cutting-edge algorithms became industry standards.
That's one of the characteristics of Trade Secrets. Once it's no longer a secret (especially if the owner managed to leak it himself), it's public domain.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
Yar's Revenge!
Hard to read it, though.
No new story in almost the past eight hours. I realize it's Sunday, but sheesh.
Is there a draft? I feel exposed. (See my username.)
open sores is still for fat faggots who like to dream of being fucked up the ass by linus. bitches.
You *could*, in theory, just use whatever memory you wanted, but that would run the risk of crapping all over any TSRs or drivers you had loaded. And if any of them had hooked, for instance, the timer interrupt? Well.
heh heh. That is very, very cool. I wonder if the original game cartridges that shipped in those good ol' days actually contained the source code to the game, and whether or not the folks making the darn thing knew about it.
All this talk about source code reminds me of a certain theory I once heard relating to the discovery of closed source code. The five books of Moses are the first five books of the Holy Bible: Genesis, Exodus, Leviticus, Numbers, and Deuteronomy. Some believe that this text, in the original Hebrew, was created 974 generations prior to the creation of our Universe, that it is the blueprint for the Universe (that would be something like source code, I suppose), that the entire purpose of the Universe is to carry out the word of this text, and that it was revealed to Moses on Mount Sinai after the exodus from ancient Egypt. It is further believed that this text (the original Hebrew, that is) contains all knowledge. Of course, it doesn't just spell everything out to you in a verbose manner. If it did, it would be a million billion trillion quadrillion zillion googolplexes of chapters long, each chapter comprising about a billion pages, each page printed in a type 1 font on a 8.5 lightyear by 11 lightyear sheet of paper, with margins of 1 nanometer on all sides, single-spaced. Nope. It's terse and encoded in ways that we, as humans, haven't discovered yet. Well, if we'd bother to read the darn thing, we might figure out a thing or two. But that's besides the point. Suffice it to say that, assuming we knew how to decode the information contained therein, we could then access the library of all possible knowledge.
Now let's talk about a certain operating system produced by an unpopular group I'll call the Borg, for brevity. The entire source code to that system is kept secret by the Borg, undoubtedly because knowledge of it by the wider population would undermine the futility of resistance to assimilation into the Borg collective. Another statement can be made about said source code: It is a subset (and a tiny subset at that) of all knowledge. Well, since the source code to this operating system is a subset of all knowledge, and since all knowledge is, as we've said, contained in the aforementioned five books of Moses, then all you have to do is figure out the encoding, write a program that decompresses this library of all knowledge (we'll call it gunzipmoses), and then simply decompress this source code from the rest of the material. To think that the Borg are so careful to keep their source code secret, yet it could be downloaded from the Bible, is almost as funny as this Zelda thing having its own source code in random padding in the game's image.
Bet that makes you wanna go out and read the Bible now, doesn't it?
And he shewed me a pure river of water of life, clear as crystal, proceeding out of the throne of God and of the Lamb.
- Revelation 22:1
A long time ago I bought a game with a collection of TSR games like eye of the beholder I-III. On the same disk was a demo of Blood and Magic. Curiously though, there was a SRC directory on the CD which contained C++ source code... including snippets like #ifdef DEMO :)
(I did try to compile it but there were some syntax errors in the source code so it wouldn't work out of the box though.)
(..You lime-laced Teadrinkers can save your "buht IIS is sec0re n0wez!!11!!11!!" -turdmania for going about trolling some other post(s), ktnx..)
A horse can't be sick, you know, even if he wants to.
Subby has a different definition of random from the rest of the universe.
word.
Somewhere around 2000-2001 more people learned about emulation, and pretty much ruined everything by showing up in random places and demanding game images, and not caring about the actual systems and history. I gave up on emulation around that time, because of its increased popularity and the ignorant masses. I understand now that everyone knows what an emulator is, because of things like the xbox classic arcade games or the wii classics or whatever, so it's possible that there was a third wave after 2001, which is what you might be talking about.
No, maybe not. That pretty much describes 1998-9, only I would have said "very faithful".
I've seen that before in Commodore 64 binaries, particularly something from Electronic Arts... "Worms" (not the one that came later, the automata game), I think, was one I remember, but it's been twenty years, so I could be mistaken.
Of course, if you look at a copy of it now, that stuff might've been removed to make it load faster. After twenty years, maybe I can deny knowing how that could've happened too.
http://xkcd.com/323/