So, I've been doing other things as I wait for my FDAI controller parts to arrive on a slow boat from China.
https://www.eevblog.com/forum/projects/trying-to-emulate-three-synchros-using-arduino/What has caught my eye is this fully functional Brother WP-2450DS "Portable" word processor. I was thinking of issuing the CRT an eviction notice.
As you can see, it has a very wide format amber monochrome CRT that is screaming for a chance to be used on Some Random Projectâ„¢! It measures approximately 8 x 3.5 inches (19.6 x 8.6 cm), and the thing has no dust, no burn in, no nothing... It looks like it was bought and then never used. This would be a very late model stand alone word processor as well, as the 1994 dates inside indicate it was made very close to the end of the run for this type of non PC word processor. I'd like to repurpose this for something. If I could get graphics to display on it, I'm considering using it to do something like an orbit visualizer. Now that the Kerbal Space Program telemetry plug-in outputs SoI (Sphere of Influence), I can potentially display the current SoI and render the orbit based on the already existing orbital data. It would not be particularly advanced. A circle to represent the body being orbited, with maybe a line through the equator or a crosshair to represent the poles, and a circle/ellipse/arc representing the orbit. I'd display it as two views (top down and edgewise, each side by side).
The catch is, I don't have a good way of driving this thing yet. I've looked at it visually so far (today has been my first day off in a while, but my scope's triggering is wonky lately... NEED to replace it). It has 3 signal wires. The three signals are fed through some inductors and resistors, and that leads directly to a programmable logic array being used as the word processor's "processor". The good news is that means It's likely a TTL driven video signal, and I can just desolder the couple analog components to recreate the signal conditioning circuit, exactly. There appears to be a 3 pin component, also listed as an "L" part on the silkscreen. Possibly an inductor with a center tap? The problem is in actually driving the signals themselves. Since the chip is a custom ASIC design, programmed into a logic array, it means I have no "video chip" to hack. I have to BUILD the video driver from scratch. It's almost certainly likely that with as small and simple as the monitor's PC board is (it's the small rectangular board to the right of the CRT, viewed from behind), that the three signals are horizontal sync, vertical sync, and the actual video stream. The word processor has no external I/O either, and likely has no "terminal" function.
In order to figure this out, I'm going to have to measure the signals using an oscilloscope. I'll need to measure the timing for both the horizontal and vertical sync, and measure the timing for the pixels too, along with the blanking period. Until I do this, I don't know the frequency it refreshes at, nor the scan rate for pixels. I have to go down to the machine shop I work at to finish an assembly (for one of my two jobs). I think I'm gonna bring this thing with me and pop it on the scope there, after I'm done actually working. Since my scope is acting up, It'll be simpler to do it this way. I'll solder some extensions to those 3 wires, plus ground so I can measure it more easily. It appears to be at least an 80 column display, so even though it's reduced height, it'll be pushing a rather high pixel rate per horizontal line. Each character on the screen (with the original controller) is 8 pixels wide (including the gap between letters). That means this monitor probably has a 640 pixel horizontal line resolution. I'm guessing the vertical resolution is around 300, give or take a dozen or two pixels. Hard to tell from the large blank spaces between lines. The Arduino TV out libraries don't exactly come close to this resolution. Even if this updates at only 30 Hz, that's still over 5.7 million bit flips per second, over 11.5 million if it refreshes at 60 Hz. That's really pushing an Arduino. They only run 16 MHz anyway. I might look into an Arduino Due, as I understand they are much faster. I only need to deal with monochrome, but there is a lot of bits to deal with for 640x300-ish. I might also look into some older style hardware. If I can find an old chip/chipset from an 8-bit/16-bit era computer that actually handles generating the video signals and maintaining the video memory, then I might try to make something like that instead, so I can just send data updates to it, and have it handle everything. I might also try a hardware based setup. I have TONS of CPLD chips that I can program logic hardware in. I can also scavenge some pseudo SRAM chips (DRAM that entirely contains the refresh circuitry, and interfaces like SRAM) from the Word Processor board and create a scanable video memory. That might be another viable way to go about doing this. If I do it right, I might be able to do a proper bitmap, and display graphics on it.
The Arduino TVout library only seems to generate composite sync signals (not to mention has a sad resolution). I also don't need any type of color support, so the tricks to send out extra bits with port writes doesn't help, as I still need them streamed sequentially. There is a VGA library that uses external hardware, but again, I have no need for color, and I don't know if the timings can be readily adapted easily. It'd be better for me to try a NON arduino based means of controlling this, as pushing an Arduino this hard seems like a bad starting point for someone just learning C.
I've actually been looking into a few retro CRT driver chips. I've found one can be had for under $10-20, seems common enough, can drive 80 column text mode, and do pixel addressable graphics, and has a rudimentary line, arc, box, and circle drawing capability as well. My problem, again, is programming inexperience. Nothing more, nothing less. It's gonna take me a good long while to even learn how to interface this chip. It's not as straight forward as I was hoping.
The NEC uPD7220
http://bitsavers.trailing-edge.com/pdf/nec/uPD7220-uPD7220A_User_Manual_Dec85.pdfThe other OBVIOUS thing... Is has anyone here ever done what I'm doing... Repurposed one of these wide format monochrome CRTs. I know the HP-87 computers used wide format CRTs, and some of these retro word processors. I really don't know of any other applications for them. If someone has already done hardware or code that makes it work, I'd more than welcome the advice!
So, yeah, that's what I'm thinking about while I wait for the FDAI parts to show up.
**NOTE**
Further reading is telling me that NEC chip takes a fair bit of external hardware to work... Sounds like it handles memory timing and generating the raster signals (horizontal, vertical, blanking), but that external DRAMs, multiplexers, etc are still used to create the actual video stream. Finding 8 or 16 vintage DRAM chips... Ugh...
So... recommendations are welcome.