Quoting
Wikipedia:
The IBM Displaywriter System 6580 was a dedicated microcomputer-based word processing machine that IBM's Office Products Division introduced in June 1980.[1][2] The system consisted of a central processing unit, based on the Intel 8086, in a desktop case, a monochrome CRT monitor atop the CPU, a detached keyboard, a detached dual disk drive that used 8-inch floppy disks, and a detached daisy wheel printer. The system booted from an 8-inch floppy disk that stored IBM's internally developed word processing software.
UCSD p-System operating system and CP/M-86 were available for the Displaywriter System but were not its regular Operating System.
Bitsavers has photos, documentation, firmware and some software. "Product Support Manual" and "Maintenance Analysis Procedures" are useful; no schematics, though. The "Displaywriter System Manual" that's mentioned in some IBM's patents probably has everything one would want for development and emulation -- maybe it does turn up somewhere.
p-System manuals are not online either -- "IBM Displaywriter UCSD p-System Assembler Reference Manual S544-2156" could have low-level programming info.
CP/M-86 manual is online --
http://www.nostalgia8.nl/cpm/ibm/cpm6dwrm.pdf but has very little hardware info.
http://www.kbdbabel.org/schematic/kbdbabel_doc_ibm_displaywriter.pdf -- schematic of "Type A" keyboard PCB. There's a "USB mod" for these keyboards --
http://downloads.cornall.co/ibm-capsense-usb-web/ibm-capsense-usb.htmlOn to MAME WIP... (previously:
http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=108291#Post108291 and
http://www.vcfed.org/forum/showthread.php?55404-IBM-Displaywriter/page2)
Nigel Williams of retrocomputingTasmania maintains a Google document with reverse-engineered info (
http://www.retrocomputingtasmania.com/home/projects/ibm-displaywriter); we're working together and the progress so far is...

For this GIF I've disabled checks of self-test return codes ("bpset fca8b,1,{do ax=0;go}"), in practice DMA and floppy tests fail, as do parts of system board test (these failures are masked by HLT being a no-op in MAME).
Self-test on this machine is very, very paranoid -- I think I've found a emulation bug in i8255.cpp
@@ -473,6 +473,11 @@ uint8_t i8255_device::read_pc()
{
// read data from port
data |= m_in_pc_cb(0) & mask;
+ if (port_c_upper_mode() == MODE_OUTPUT)
+ {
+ // read data from output latch
+ data |= m_output[PORT_C] & mask;
+ }
}
return data;