The Hidden Source Code in Dragon's Lair (NES)

preview_player
Показать описание
What secrets are hidden inside the Japanese and European ROMs for Dragon's Lair (NES)? Let's take a look inside!



Music by:

#SourceCode #ROM #Assembly
Рекомендации по теме
Комментарии
Автор

UnderWare BRIEF is some quality dork humor.

Scadu
Автор

I work with several 1980s era computers, not based on UNIX. One of the 'features' is that file sizes have to be a fixed size, but obviously the data stored within may or may not hit that file size. If it doesn't, it's not padded with zeros, but instead an End-of-file marker is written and the rest of the file is filled up with whatever was on the disk at those memory locations before.

That could well be what's happened here. It certainly looks like it to me.

It makes actual file-content-verification horrible (as different file checksums may well be an 'identical' file) but I've delivered plenty of executables with source code shoved into the back end of the file, simply cause that's how the computer works at a binary level. It's invisible to the computer user, unless you know where to look.

richardowens
Автор

I sincerely doubt Elite would have bought a PDS from RARE, Steve Wilcox, the head of Elite was pretty despised in the UK gaming industry as he would outright steal and re-release other companies games at a budget price, which landed him up in court several times over the years.

At a guess, I'd say they got the PDS from Data East or one of their subsidaries in Japan as they had a working relationship with them.

Larry
Автор

"And, based by the spelling used in these comments, we can verify that they were written by a real programmer."

HAHAHA, so true! I love what you've been doing with these deep-dives lately, keep it up <3

jaysonl
Автор

Hi, as of now I understand around 10 to 15% about the stuff you're takling about but with each of your videos my understanding and "knowledge" increases - thank you for that!

SelfmadeIsland
Автор

I was really hoping you'd show why the US release was slower than the Japanese one after looking at the ROM output.

Saturn
Автор

One possible way to try and show laggy controls might be to show button inputs on the screen as they happen, allowing us to see the delay.

ZipplyZane
Автор

Turns out MotiveTime and Sierra had something in common: their choice in source code editing software, Brief.

Kawa-oneechan
Автор

This is a fantastic video! I have seen the Leftover Source Code Entry for Dragon's Lair on TCRF but I am so glad to have you go through this and explain it some in depth. I liked how you discussed the different Machine Op Codes for the LDA (and other) instructions. I guess it is also worth mentioning that the Microcode of the 6502 tells the Program Counter how many bytes to increment based on the instruction Op Code as well (if its a 0, 1, or 2 byte parameter opcode), but then we would be going really deep.

BrianBates
Автор

I wish this had gone on more. I found it really interesting and was really enjoying it when it ended too soon.

SkylerLinux
Автор

I was expecting an explanation of HOW the source code ended up in the cartridge ROM. My guess would be:
1) Because the developer used a PC for editing, the source code would likely have been in the PC RAM when the assembler was run. Typically, editors don't clear RAM when you quit the editor.
2) When the assembler was run, the assembler output ("object file") would have been written into the PC RAM also. This process would likely overwrite much of the residual source code in RAM, but not necessarily all of it.
3) The SEND command that dumps the object file to the interface likely sent a fixed size block of data, which -- in many cases -- would include any data in RAM that was outside of the bounds of the actual object file data itself.

mykalimba
Автор

You didn't do the one thing I was kinda expecting: using this to compare the source with that from the slower North American release.

ZipplyZane
Автор

Your content has been incredible lately! Absolutely loving it.

It looks like MotiveTime Assembler just dumped whatever happened to be in RAM at the time on the compiling system into unused areas of the ROM. Not only is there source code but strings and error messages from programs that were open at the time of compile. If the previous (U) iteration had a CHR-RAM chip, those now "empty" areas in PRG-ROM would have been filled with graphics to load the CHR-RAM chip. Since those graphics are on the CHR-ROM chip now with the MMC3 configuration, MotiveTime Assembler just threw "whatever junk data" in there to pad it. Fascinating.

Controllerhead
Автор

oh, and avout the screen at 18:44
According to the cutting room floor, the European version had a boss at the end of the Entrance Hall not present in either the US or Japanese version. This boss is shown on the splash screen at 18:44, so maybe that's why it is used only in the EU version.

Outside
Автор

This is a really interesting topic; deducing the programmers’ situation from their old code. Amazing work as always!

Acoha
Автор

Thank you for producing these incredible resources! They're genuinely some of the most interesting documentaries I've seen and your creativity and dedication are truly inspiring.

supersquare
Автор

Absolute perfection of a video! I didn't even think about going a route like this, and you did it. Wonderful. Thank you for all the hard work!

BlizzCCCP
Автор

You can always count on Displaced Gamers to give you an in-depth and entertaining ASM breakdown when you don't want to do it yourself =P

Keep up the good work!

LegendBegins
Автор

Very well researched, and explained spectacularly clearly.

theSoundCarddatabase
Автор

When this popped up on my front page I thought it was clickbait, but I gave it a shot anyway.
Very well structured and researched. I love it!

RabbitEarsCh