piclist 2000\11\29\143348a >
Thread: SCENIX VIDEO VIRTUAL PERIPHERAL Design Challenge and Contest
www.piclist.com/techref/ubicom/lib/io/index.htm?key=video
flavicon
face BY : jamesnewton@@spam@sxlist.com



SCENIX VIDEO VIRTUAL PERIPHERAL
Design Challenge and Contest

Ok, its time for us Scenix users to put this PIC video thing to rest... We
alone have the speed required in a low cost micro controller to really make
it happen!

Just a few thoughts:
Even at 50MHz on an Scenix SX (and the 100Mhz SX52's are working nicely),
the 52uS video line on a standard TV allows for up to 2600 instructions. At
40 columns that would be 65 instructions per column. 320 dots per line (8
dots per column) would allow 8 instructions per dot. Enough to be shifting
out bits by rotating port A interleaved with indexing a table and looking up
the next character dot line value? 256 dots per line would allow 10.
http://www.efd.lth.se/~e96rg/mc/video/rtvideo.html

The lack of memory is the major limiting factor. With the 52 and about 200
bytes of RAM, we could try for a 40 character by 5 line display. Or 20 x 10.
And if you are displaying only numbers... in BCD that is 400 digits.
(...last 40 Caller ID numbers?, ...video paper tape for a calculator?,
etc...)

And there is enough time (about 600 instructions) between lines to do some
unpacking of the next line...
www.sxlist.com/techref/method/compress/embedded.htm
www.sxlist.com/techref/method/compress.htm
www.sxlist.com/techref/scenix/lib/math/radix/index_sx.htm
...or reading in a new line from an external serial RAM
http://www.sxlist.com/techref/mem/srams.htm
FRAM is $2.95 each for the 2kByte part

To generate character data for 128 characters, a 5 x 7 character matrix is
640 bytes of data in FLASH (hard to rotate though...). Or 1536 bytes with a
8 x 12 matrix. Use IREAD so you won't have any problems with big tables.
Really only need 95 characters. The data is already done for you:
http://www.sxlist.com/techref/datafile/charsets.htm

Here is the current "state of the art" in PIC video character generation.
www.efd.lth.se/~e96rg/mc/mc.html#softvideo
www.efd.lth.se/~e96rg/mc/mechanic/232disp.html
http://www.rt66.com/dthomas/pic/vidclock.html
http://www.brouhaha.com/~eric/pic/pictock.html
http://www.tinaja.com/glib/muse134.pdf
http://www.ubasics.com/adam/pic/archive/picdream.zip

In graphics, 200 bytes is only 1600 dots.. maybe 32 by 50 on the screen. The
gameboy is 160x144. It might be more interesting to make larger "sprites" in
FLASH instead of characters and work out a way to position them anywhere on
a 256 x 256 grid.
http://www.rt66.com/dthomas/pic/pong.html
http://www.brouhaha.com/~eric/pic/picpong.html
http://www.efd.lth.se/~e96rg/mc/video/tetris.html

Why bother?

- Drop-in Big Screen replacement for an LCD panel. Very nice when you need
to see the status of the device you are operating from across the room.
- Combine with RF modulator and small antenna for a wireless status display
from a device in motion... bio monitor, robot, RC car or plane, etc... Could
also overlay video from an on-board camera. Battery level, debugging info,
etc...
- TV overlay kitchen timer. Bake the cake while watching Opra.
- General use: Much cheaper than an LCD panel since you already have a TV.
- Worlds smallest (SMT) video game? School project for the terminal
Playstation addict. Maybe use a standard LCD portable TV. Do they have video
inputs? RF Modulator?
- A small device for the deaf that says "telephone is ringing" etc... on the
TV. Add caption decoding to older TV's?
- All of which pale in comparison to the #1 reason why this would be a cool
thing to do...

...its a really neat HACK!

Also, I like CRT's better than LCD's... So...

I'm announcing the first sxlist.com challenge!

I will pay $100, give away some SX's and do a big write-up on the site for
the first person who can make a 20 character by 4 line NTSC output, standard
Hitachi 44780 command (or RS232 or SPI or I2C or... anything useful) input,
LCD replacement using an SX processor, some resistors, and the right code!

http://www.sxlist.com gets about 10,000 hits a day from 500 or so visitors
(distinct IPs) and I will proclaim that you are an SX Master on every page
for a week with a link to the full write-up of your accomplishment.

Now, if money is what motivates you, and the exposure doesn't bring you any
new customers, you can re-write the code with what you learned (its always
better the second time around), add the RS232 hardware and virtual
peripheral and sell the unit.

Intelligent LCD controllers with 20 x 4 LCD's (and an RS232 input) cost
better than $100. Even if you don't already have a TV (or need a bigger
display) you can buy a 9" professional video monitor for less than that or a
little TV (no video input need RF modulator) for $39 or even a color unit
(with CATV input) for $100 so you might have a Serial Backpack(tm) killer.
(Serial Backpack is a registered trademark of Scott Edwards electronics)
http://www.seetron.com/bpp420_1.htm $79.00
if you can get 40 x 4 it would replace the BPP440
http://www.seetron.com/bpp440_1.htm $159.00

Or build up some competition for bob:
http://www.decadenet.com/bob2/bob2.html
http://www.decadenet.com/bob2/screensht.htm

Fine print:
- With the finished unit, you should be able to unplug the LCD and 44780 (or
RS232 terminal, etc...) from any device and plug in the TV. 4 or 8 bit
interface (either one) is fine. See here for 44780 details:
http://www.sxlist.com/techref/io/lcd/44780.htm

- Must respond to cursor positioning commands as a minimum. I'd really like
to see all the features of the 44780. It would be cool to add some TV
typewriter ability... but leave that for somebody's project or product down
the road.

- Minimum of 64 symbols in the character set although I'd probably settle
for ten (0...9) if the source code was not terribly difficult to extend to
64 or 96 characters for other applications. It would be good to be flexible
on that point as the trade off between character set bitmap data and
application program space is likely to be an issue. A numerical only
character set would free up a lot of code space for calculating the numbers
to be displayed!

- Must work with both PAL and NTSC. Just make it possible to change the
number of lines in each frame between 625 and 525 and you cover the world!

- No restrictions on clock speed. I'd be most happy to see something slower
due to power consumption issues and because you can always re-write tight
code to make it run slower on a faster processor but the other direction...
<GRIN> It might also be good to look at some "best common fit" between baud
rates and video... the RS232 ISR Timing Calculator at
http://www.sxlist.com/techref/scenix/lib/io/osi2/serial/rs232_sx.htm or
www.sxlist.com/techref/scenix/isrcalc.asp
might be helpful.

- The source and design must use a Scenix SX and be GPL'd.

- I'm the judge, jury and executioner, no-one comes to the money except by
me, my decisions are final. ...Always wanted to say that...

- The contest will run from now until the end of January 2001. About 2
months. Something to do over the holidays.

- I WILL award at least half the prize money to SOMEONE and I will post all
entries to the site so send in what you have even if it's not perfect.

Happy hacking!

James Newton
1-619-652-0593
TakeThisOuTjamesnewtonspamBeGonespamspamsxlist.com
SX FAQ: http://www.sxlist.com

--
http://www.piclist.com hint: The list server can filter out subtopics
(like ads or off topics) for you. See http://www.piclist.com/#topics


<001a01c05a3a$8574c800$0600a8c0@efplus.com> 7bit

See also: www.piclist.com/techref/ubicom/lib/io/index.htm?key=video
Reply You must be a member of the piclist mailing list (not only a www.piclist.com member) to post to the piclist. This form requires JavaScript and a browser/email client that can handle form mailto: posts.
Subject (change) SCENIX VIDEO VIRTUAL PERIPHERAL Design Challenge and Contest

month overview.

new search...