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.
