I've started working on a disassembly of the Digital VT320 video
terminal, so I'm diving into 8051 assembler.
At the moment, I'm using the D52 disassembler and am getting decent
results, although I wished I hadn't used the analyse option to produce
a starting control file; it doesn't cope at all well with code
involving lots of jump tables because the control flow appears to
break, and it decides that much of the code is just data. Ho hum.
Nevertheless, the code looks pretty understandable at the moment, so
the next stage is to annotate by hand, instead of updating the control
file, and to assemble whenever I make a change so that I can be sure
that I can produce the original ROM.
There isn't an "A52" to match D52, so I was wondering if anyone has
recommendations for a FOSS macro assembler that will take D52's output.
I ask for a macro assembler because there are some modifications I'd
like to make to the source file to clear things up. One of these would
be to cope with the fact that DEC decided that all of their jump tables
would have addresses in little-endian format, despite the 8051 being a
big-endian device. So, the normal "dw" directive is not going to work
for me, and I'll need to do something like:
dwl macro %1
db low(%1), high(%1)
endm
(Totally pulling that syntax out of my bum, btw.)
A quick search finds as31 and naken_asm - anyone use these?
I'd also love to hear recommendations for emulator code for the 8051,
preferably simple C because I'm going to need to hook up a 2681
DUART, 5911 EEPROM and DC7081 video chip (all presumably new code) to
get this working.
Paul.