Thank you for some of the pointers early on with this project. I've just about got everything working now and wanted to share the approach I took, as a number of the ideas came from EEVBlog & mikeselectricstuff videos.
1) Photographing both sides of a board and then mirroring one image before printing it out, made tracing the physical hardware (only double sided boards) of the device I wanted to emulate much easier. I had some schematics for the hardware I was working with, but the board was a different version to the schematic.
2) In order to decipher the firmware, I disassembled the ROM. I found the data blocks for the messages that could be displayed on the LCD screen and was quickly able to tie these back to the code segments that used them, which helped narrow down the areas I needed to investigate further. That said, it was taking a while to decipher some parts of the code, so I wrote an emulator for the 8051, that allowed me to stub out sections of code e.g. writing to the LCD (where I'd just print out the contents of the screen memory). I did find a few emulators on the web, but none of them were flexible enough. Its only an 8-bit micro so didn't take long to write and I only implemented about 200 of the 256 op codes as the others weren't used. This was good enough in helping me understand the higher level communications protocol.
3) The above disassembly also revealed that the bus was operating at 375k baud, using a 9-bit word, as the device uses the 8051 interprocessor communications mode, which is documented in a few places (e.g.
http://www.idc-online.com/technical_references/pdfs/electronic_engineering/Serial_Port_Control_Register_SCON_Of_8051_8031_Microcontroller.pdf).
4) I used a DSLogic pro (
http://www.dreamsourcelab.com/order.html) to capture activity on the bus. There were however messages on the bus unrelated to the device I wanted to emulate and I found that the bus was being driven through a transistor and putting the logic probe on the base of the transistor enabled me to see just the activity from the device under test, filtering out all the other traffic which was very helpful. The software for the DSLogic pro has some limitations and I found a few minor bugs, but overall it worked very well.
5) I used a 8051-Ready development board (
https://shop.mikroe.com/ready-8051-ready) to prototype the first version of my hardware. The 8051 only has a single UART, so with this talking to the bus, I added a parallel interface to an Arduino Uno and used its UART to interface to a PC. A single chip solution would have been nice and I know someone that is working on a similar setup using a PIC16 and a software UART. Whilst its a two micro controller solution, it eliminated potential problems as the hardware interfacing to the bus, is the same as the original manufacturers.
6) Chris Gammell's videos on Kicad were invaluable and I made the switch from a paid version of Eagle (subscription - no thanks!). I hit a few issues along the way, for example some of the pads for the PLC44 socket are miss numbered and duplicated. A big thank you to Chris for his videos.
7) Following the discussions on this forum regarding AllPCB and PCBWay I ordered version 1 of my board from PCBWay. I went for the 24 hour service and the boards turned up in the UK within a week. However, by the time postage had been added, I went over the £39 limit and was charged import duty and VAT. According to DHL, the cost of the postage is included in determining the value, so that added another £19 (ouch!). For the second revision of the board (to fix a couple of minor errors) I went with AllPCB and with the free postage, the order total came to $5.49 which was unbelievable and there were no additional charges. They also threw in a few extra boards for free. So all in, the AllPCB boards were about 10x cheaper. This special offer of free postage from AllPCB can't be sustainable long term though, so get in quick if you want to try them out. As for the quality, both AllPCB and PCBWay boards looked very good, the web ordering process was seamless and I didn't have any issues uploading the Gerbers from Kicad.
The final version of the board is below and the hardware is working just fine, now to finish off the software.
A big thank you to all those that are active on the forums and of course Dave, Mike and Chris for the excellent videos.