Microsoft's recently-proposed alternative to the $100 OLPC PC was a device to connect cellphones to TVs for a larger display. You can generate an NTSC video signal without a whole lot of hardware. Is it beneficial, and how hard is it?
Is it beneficial? ----------------- My recent trip to Toys "R" Us yielded less robotic platform goodness than I'd hoped, but some other interesting ideas. There was a Coleco 8-in-one game device that produces TV video out for US$10 list price, although it was discounted to $5 for a going-out-of-business sale, and several other such devices including an Etch-A-Sketch-branded device that includes features like drawing your own mazes. http://www.mindfully.org/Resource/Video-Formats-World.htm lists the video formats used in various countries. The ones that interest me most at the moment: Argentina, Paraguay, Uruguay: PAL Brazil: PAL-M (see http://www.atariage.com/common/video_key.html) Bolivia, Chile, Colombia, Ecuador, Guyana, Peru, Surinam, Venezuela: NTSC So even just producing NTSC video would make TVs throughout most of the Americas happy. How many of them are there, though? Do most people have access to TVs? The Inter-American Development Bank issued an "E-Commerce Brief" in October 2000 containing a number of amazingly stupid mistakes (".asp" doesn't mean "application service provider", "Computers x 100 inhab." clearly would be around 1e11 rather than 9.12 (presumably they meant "Computers / 100 inhab."), and "only 46% of web sites are active" is almost as meaningless as "5% offer online commerce", Uruguay's GNP per capita is not "00" --- see the mind-boggling stupidity yourself at http://www.iadb.org/sds/doc/ECommerceBrief07.pdf), and also asserting that "TV penetration" is "97% of households". The World Bank's 2005 World Development Indicators report (http://devdata.worldbank.org/wdi2005/Cover.htm) has a table entitled "the information age", table 5.11, http://devdata.worldbank.org/wdi2005/Table5_11.htm --- like the rest of the WDI site, it's badly laid out and very difficult to access. But it does contain a column for televisions per 1000 people: Television^a per 1000 people Cable subs- Sets cribers 2003 2003 Argentina 326 162.9 Bolivia .. 7.4 Brazil 369 13.4 Colombia 319 .. Chile 523 57.4 Ecuador 252 13.9 Paraguay .. 21.3 Peru 172 16.6 Trinidad an 345 .. Tobago United 938 255.0 States Uruguay .. .. Venezuela, 186 32.4 RB World 275w 65.5w Latin America & 289 33.5 Carib. The table does not acknowledge the existence of Guyana and Surinam. These numbers are consistent with a TV in nearly every household in these countries. So I conclude that a computing device's NTSC/PAL-M TV output, if available, could be used by almost any inhabitant of South America; and that it can bring the cost of a computing device under US$10. NTSC output by itself would be less beneficial. In a larger sense, knowing whether this feature is beneficial requires knowing whether more access to information, or video games, or whatever, is beneficial. Papers like Navia and Zweifel's 2004 "I Want My MTV: Media, Freedom of Information and Democracy" (http://www.thomaszweifel.com/downloads/TVandDemocracy.doc) have considered this topic. In the future, NTSC TVs are likely to become even more inexpensive as over-the-air NTSC broadcasting ends in the US. How hard is it? --------------- Texas Instruments' "application report" SLA1177 (http://focus.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=slaa177&fileType=pdf) reports on using their MSP430 microcontroller (specifically the MSP430F1121A) to generate 32-pixel-wide NTSC video signals in real time. Digi-Key tells me that this microcontroller model costs US$2.13 in quantity, and apparently it's clocked at 8MHz without a clock crystal. The appnote says the audio and video signals are generated from an interrupt-handler routine, which presumably runs at least once per pixel, or 32 times in 52 microseconds, 1.625 microseconds --- every 13 clock cycles. Apparently generating this NTSC video is enough to completely occupy the processor except during the vertical blanking interval. Someone at Cornell is using an ATMEGA32 Atmel AVR to generate 128x100 pixel black-and-white NTSC video (http://instruct1.cit.cornell.edu/courses/ee476/video/index.html). They don't say what the clock speed is, but they do mention that the CPU can't do much else while it's painting the screen. The actual monochrome encoding scheme (http://www.williamson-labs.com/480_tv.htm) sounds relatively straightforward. A normal NTSC frame contains 525 lines, of which 485 are active. If you were to display 640x480 pixels, you'd need to emit a pixel 640 times in 52 microseconds, or once every 81 nanoseconds --- a dot clock of about 12 MHz. A microcontroller clocked at 20MHz would have a hard time keeping up with this; perhaps the 70MHz LPC2101 ($1.75 in quantity from Digi-Key) could cope, but it doesn't have enough RAM for a framebuffer, barely enough for an 80x24 character generator. So I conclude it's hard in the sense that generating nice video requires significant hardware resources --- it can't run comfortably as a small quiet task on a microcontroller doing other things. It can easily run on a microcontroller that doesn't have other things to do, though, and on a relatively capable microcontroller it might use a small fraction of the available resources. If you had something as simple as a FIFO, though, it could help dramatically. I haven't found much information about NTSC color. I'm assuming PAL is only slightly more difficult. If you wanted to playback recorded video rather than generating a character display, you'd have to retrieve a 1MB frame (assuming 24-bit color at 640x480) 60 times per second, for about 220 megabits per second. That's going to be hard to achieve with a purely serial design, although several microcontrollers controlling different parts of the screen could do it. Conclusion ---------- Not much has changed since the ZX-81.