21
votes
Accepted
Will disassembling an 8080 program as Z80 code work?
The Z80 is "binary compatible" with the 8080. It adds a bunch of new instructions, but places them all in unused (well, undocumented) opcodes.
yes .. err, no, they placed them on redundant ...
18
votes
Is there a common name for this 'switch' like 6800 assembly routine?
The term that comes to mind is "dispatch table". This is a table containing pointers to functions, one of which will be chosen based on an index that has been provided or gets calculated.
...
18
votes
What's the convention for < > low/high-byte in 8-bit assembler?
Today
...would you expect that we're loading the low byte or the high byte of SOME_LABEL?
> is rather universal for the high byte while
< selects the low byte.
Rather easy to remember when ...
17
votes
Accepted
Good Z80 disassembler/decompiler on modern equipment?
The old IDA freeware ver.3.7 supports Z80. It has a Turbo Vision style interface, which may be something that puts you off. It is also no longer distributed officially. However, it is very powerful, ...
15
votes
Accepted
Are there official, standard, or conventional names for the screen RAM addresses on the ZX Spectrum?
In the official Spectrum manual (which was supplied with the machine in paper form), they're named "Display File" (for the monochrome bitmap area) and "Attributes" (for the area ...
11
votes
Accepted
Hitachi HD630x executable format
There is no format. The ROM contains code and data, and ROM is at the end of the MCU memory space, while RAM is at the start of the MCU memory space.
The CPU simply fetches from the reset vector, two ...
10
votes
What are some tracing disassemblers for the Z80
Maintainer of the Reko project here. Reko does tracing disassembly of various processors, including Z80. Depending on the file format, you may need to specify a specific loading address (since Z80 ...
9
votes
Accepted
What is the format of the syntax tables in Apple II Integer BASIC?
There's an interesting thread here: http://forum.6502.org/viewtopic.php?t=2037
The syntax table is in reverse order, as you've already noticed. An
underscore is stored at the end of the line by ...
9
votes
What are some tracing disassemblers for the Z80
IDA is a well-known tracing disassembler which supports the Z80. Usually Z80 support is a paid feature not available in free versions, but the freeware version 3.7 from 1997 includes Z80 support. IDA ...
8
votes
Is there a common name for this 'switch' like 6800 assembly routine?
Is there a common name for this 'switch' like 6800 assembly routine?
No. There is no specific name for exactly this technique. In fact, even generic names vary depending on whom to ask.
I do need to ...
8
votes
Accepted
ResEdit Decompilers
You might be thinking of Resorcerer (apparently still available for purchase), which was like a beefed up version of ResEdit and included CODE disassembly functionality.
Macintosh Garden has some ...
7
votes
Accepted
Were all NES games 16 kibibytes or less?
Those numbers are not correct. Super Mario Bros had 40 KiB of total ROM (32K PRG-ROM (program ROM) and 8K CHR-ROM (character ROM, for storing graphics data)). Pac-Man had 24K (16K PRG, 8K CHR). Super ...
6
votes
What are some tracing disassemblers for the Z80
I use Ghidra for such purposes, but I have to admit that I just started. It supports an astonishing long list of targets, even the 8051 of the first project I used it for. Its automatic analysis works ...
6
votes
Will disassembling an 8080 program as Z80 code work?
Yes, It's Fine
Disassembling an 8080 program using a Z80 disassembler will work just fine,
and reassembling it with a Z80 assembler (assuming it uses the same syntax
as the disassembler) will ...
6
votes
Accepted
Is otx (Object Tool Extended) still actively being maintained for reverse engineering legacy OS X binaries?
Technically, the most up to date modern fork of otx is being maintained by Zhi-Wei Cai on GitHub here. v1.7: Build 566 or a fresh clone of master should work on any modern OS X system.
But that's ...
6
votes
Sega Genesis/Mega Drive ROM Disassembler
DGEN emulator has a starscream 68k core with a builtin dissasembler and debugger . ` might be the key to break into it once rom is running. It's also easy to recompile with SDL as the gfx/audio ...
5
votes
Accepted
Is there a Spectrum +3 ROM disassembly available with the addresses of the instructions included?
The Paul Farrow disassembly listings collection is the best I know.
http://www.fruitcake.plus.com/Sinclair/Spectrum128/ROMDisassembly/Spectrum128ROMDisassembly4.htm
It doesn't include the address of ...
5
votes
ResEdit Decompilers
The MPW toolchain for Classic Mac OS which was available for free at ftp.apple.com comes with the DeRez tool that can decompile resource forks: http://mirror.informatimago.com/next/developer.apple.com/...
5
votes
Has a retargetable disassembler been used successfully for a word-oriented mainframe architecture?
Disclaimer: I work for Hex-Rays.
The IDA Pro by Hex-Rays supports disassembly of several processor families with “wide instruction words”, for example:
PDP-11 (16-bit instructions)
PIC (12-, 14- and ...
5
votes
Will disassembling an 8080 program as Z80 code work?
Will the 8080 tests be valid 8080 assembly code?
Only if they do not contain any undocumented 8080 opcodes, they will remain valid after Z80 disassembler.
5
votes
How do I interpret these instructions for decompressing game data?
Those codes have nothing to do with the CPU instructions. You write the program that interprets the compressed data according to the given rules to decompress it.
The # is the bits marked with x in ...
5
votes
What's the convention for < > low/high-byte in 8-bit assembler?
They've always been used the same in the various different assemblers I've seen using them over the years.
Their function's taken from the symbols' common names. For a 2-byte value:
> is 'greater ...
5
votes
How to find the dos.library functions in an Amiga rom?
The library vectors are normally generated at initialisation time from a (usually compressed) table embedded in the library. You can get at the table by following the ROMTag datastructures, but it's ...
3
votes
What's the convention for < > low/high-byte in 8-bit assembler?
I stumbled on that notation in Galaga reverse-engineered source code and had the same interrogation. Then I figured it out myself
ld h,#>(m_tile_ram + 0x0300) ; tile rows 32-35: $...
2
votes
Can anyone help me identify what 6803/6303 development tools might have been used to build this program?
I think you may be misunderstanding the differing levels at which these things exist.
A symbol table for an assembler (the "assembler" level) would not usually make its way into the code in ...
2
votes
Accepted
How do I interpret these instructions for decompressing game data?
I understand each of these rows to be sequential instructions.
Exactly, they are description (opcodes and data structure) for the virtual machine which is the decoder.
What am I missing though to ...
2
votes
Looking for NEC RA87 “Relocatable Assembler Package”
Sorry, so far no link to RA87 tools, but the AS assembler might be worth a try. It is well maintained (*1) and very well documented. It supports various NEC families including the 78C1x series, ...
2
votes
What is a more featureful and/or better coded 6800 disassembler for modern machines than f9dasm?
I had largely same requirements for similar CPU but ended up using f9dasm. But if you are serious then look at IDA Pro.
1
vote
How do I interpret these instructions for decompressing game data?
What am I missing though to translate this into pseudocode that a non-"old school" programmer like myself can understand?
It's hard to say what you're missing. It certainly doesn't seem to require ...
1
vote
Sega Genesis/Mega Drive ROM Disassembler
I've done my first shares of Genesis disassembly with Charles Doty's DISASM.exe.
Please, note that you will need to run it in DOSBox.
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
disassembly × 21assembly × 4
z80 × 4
reverse-engineering × 4
rom × 3
software-recommendation × 3
6800 × 3
amiga × 2
zx-spectrum × 2
8080 × 2
6303 × 2
apple-ii × 1
programming × 1
6502 × 1
basic × 1
apple-macintosh × 1
nes × 1
mainframe × 1
memory-layout × 1
intel × 1
display × 1
software-development × 1
cp-m × 1
snes × 1
8-bit-microcomputers × 1