Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!mailrus!ncar!ames!vsi1!frame!glc From: glc@frame.UUCP (Greg Cockroft) Newsgroups: comp.sys.next Subject: Where's the Bits Message-ID: <3562@frame.UUCP> Date: 27 Jul 89 10:30:06 GMT Reply-To: glc@frame.com (Greg Cockroft) Distribution: usa Organization: Frame Technology Corp. San Jose, Calif. Lines: 45 Disclaimer: Author Is Responsibility For Contents The NeXT manuals do not document how to get at screen bits. I want to make a fancy info box for FrameMaker, and I want to write directly into screen bits. Personally I refuse to buy one of these boxes unless they change their minds about documenting this stuff. Does anyone know how to do this? I have resorted to disassembling the windowserver. The binaries are stripped, but the shared libraries make life a little easier. Symbols show up when you enter system function stubs. Anyway here's how far I've gotten, and I would appreciate any help. strings WindowServer | grep dev shows that /dev/ev0 & /dev/vid0 are the devices used. Then I used otool to disassemble /usr/lib/NextStep/WindowServer. Then I used gdb on the executable and set breakpoints in open & ioctl, to get their addresses. Then I did global replaces in the assembler output to mark the calls. Here is what is going on. /dev/vid0 is opened. DKIOCGADDR ioctl is used on the fd. see /usr/include/nextdev/video.h 120 bytes of memory are allocated. The beginning and ending addresses are shoved in a struct mwf data structure, and an DKIOCSMWF ioctl is executed. The mwf struct is worked on and the following numbers are computed and shove into some globals. 0x10000000 0x14000000 0x18000000 0x1c000000 This is as far as I've gotten. Does anyone know what is going on? -greg.