I'm glad to hear that your disassembler offers some annotation functions one could find in only few advanced tools like IDA Pro. Moreover, MAME's source code is a superb and the most complete documentation on the proprietary Macintosh hardware ever available MAME/MESS offered me anything I need in just one package.I never seen any ROM formatting files for the ROMs of my interest (PowerMacintosh 6100 and newer).I personally never considered to give it a try because Just ping me if you need any additional information on MESS (what a stupid name ) ) and its tools.Ĭlick to expand.Thank you for pointing me to FDisasm that I'm aware of. You'll need a fast modern host computer (Linux, Mac or Windows) but that's the price for its almost luxurious RE features. The best part - it contains an integrated low-level debugger so you can even set breakpoints in ROM (that's what you cannot do in a real Mac!!!), dump hardware's internal state etc. Because you're targeting 68k ROMs, you can try out MAME/MESS emulator. It's capable of emulation practically every 68k Macintosh including its hardware. I therefore recommend you to try some sort of dynamic analysis - that is, an interactive debugger with disassembling capability. a whole bunch of old Mac hardware remains fully or partially undocumented.One ROM usually has support for a group of machines and contain a lot of machine-dependent code. Memory-mapped hardware can vary greatly between machines. ROM dumps don't contain any human-readable function and variable names.This problem has been proven unsolvable, see this discussion on the Halting problem. That's why all modern disassemblers implement various pattern matching based heuristics to identify code and offer interactive features as a last resort so humans can step in and guide the disassembler. disassemblers cannot fully automatically distinguish between data and code (and Mac ROMs mix them a lot!).The problem is that the most disassemblers are just dumb tools (the older the worse) - you'll get a lot of night-impossible-to-understand garbage out of them for a couple of reasons, among them: You can surely run a disassembler over your ROM dumps. disassembly/hex dump) would be the right tool for the job. You supply some of this files (thanks again!) for disassembling specific ROMs, but I understand that the bin_map file for the Mac II ROM won't do for the II x ROM, right? I tried using it but it seems the disassembly doesn't go too far Also checked FindCode, but really don't know how to use it efficiently.Īgain, thanks a lot for all your ideas! :b&w:Ĭlick to expand.If you're going to gather some knowledge about a specific ROM or ROMs, the question is if the static analysis (i.e. Now, I've got a question about the disassembler itself: I understand that the starting point of dissasembly has to be known, that's what the bin_map file is for, and it's likely to help with locating the original execution address - don't know if it will support the aforementioned mirroring, though. xx(Īnyway, it does work and thanks to the ExportFl/ImportFl utilities I can exchange information with ease. The only thing I can't get to work is the 256 colours mode. I'm using the Macintosh II version (26) with the original ROM from my IIx, and System 6.0.8 freshly installed on a 32M image. It's always nice to get new software for the "classic" MacOS, and anyway Mini vMac works like a charm in my iMac core-i5. That could add further confusion to the above!Īnyway, I've been trying the solution proposed Gryphel: Thanks a lot! This could get the job done, at least for the disassembly part. To make things worse, ROM can actually be accessed from several addresses - mirroring. But ROM code is not relocatable in any way, how will such "distant" references show up?ģ. I believe that CODE resources are usually relocatable: absolute addresses within the code start counting from zero, and the OS loader offsets them when the actual position is known in execution time - most likely from an "attached" data structure. How will ResEdit (and the resource system, in general) handle upon creating a code "resource" as large as a whole ROM?Ģ. but since my intention is to sneak a peek into Macintosh ROMs, I'm not sure about a few things:ġ. I'm aware of Super ResEdit dissasembling capability.
0 Comments
Leave a Reply. |