I have started to write up a daisy wheel printer driver based on my Diablo 1355WP and the RE work by Jeff Laughton
done a few decades ago. I have hand edited the 1024 bytes of the firmware from the listings and notes Jeff was very helpful scanning for me. I have this running in a new CPU I pulled together in MAME from Jeffs notes and the schematics found at Bitsavers
, it has some only 10 instructions.
The Diablo 1300 series is a modular beast with three main printer types, the 1345A, 1355HS and 1355WP. Jeff had the 1345A listed but there is one rom missing, the table rom, which has positioning data for each character for the proportional printout and also the hammer energy to get the right pressure on each character. So I need to dump my Diablo as well but I also got in touch with Mattis Lind who is renovating his Diablo 1345 too so chanses are that I can get the 1345 table rom from him. The 1345 has a plastic print wheel while the 1355 has metal print wheels. The 1355 can also shift from 88 to 92 or a 96 character wheel to get more special characters.
There are at least three types of slightly different mother boards each with 8 slots to populate where 2 or 3 is of emulation interest.
Logic #1 is a TTL only board that maintains a data buffer and stores a row of characters so the printer can print them from left to right OR from right to left, depending on where the carrier is at the moment. The print speed is ranging from 40-55 characters per second depending on the model.
The Logic#2 board is the TTL CPU that will read 16 opcodes from the firmware and motion/energy data from the table rom.
There is also an optional(!) board with an 8080 CPU that implements an RS232 link to the host computer and that communicates with Logic #1 through the mother board. I, however, has a custom z80 board doing the same thing using the 50 pin ribbon cable normally connecting the host machine. I think this is a OEM modification as the z80 card has no Diablo or Xerox markings, possibly to handle Swedish characters, we'll see when I got that working.
Right now I am thinking about how to divide the 8 slots on the mother board (see below) into a number of slot devices. I first thought it would be a bus device but the more I look at it I think it is a machine with several slots devices. Opinions?
And of course there is another motherboard for the 8080 based printer configuration where the 8080 board goes into slot F, so I really don't want to cut the configuration options on this driver short.