Page 1 of 4

Uzeamp Movie Player Demo

Posted: Wed Apr 29, 2009 7:07 am
by uze6666
Here's the 'secret project' I was working on lately. Got to release it since summer is coming and I *really* gotta get out and get some sun. 8-) For the time being, it seems it will works only with Kingston SD cards. Pragma validated it works and Clay "almost" with a 1G card. Anyhow, I made a video so you can check it out for yourself. More work is left to be done, but I think I will offload this to whoever is interested!

[youtube]http://www.youtube.com/watch?v=hWWsSn_QKLM[/youtube]

Here's the HEX file and demo movie. The player does not support fragmentation, so you *must* format the SD card before copying "matrix.dat" on it. Also, it must be the only file on the card (update: newer version detects the first .uzm on the card).
http://belogic.com/uzebox/files/MoviePlayer.zip

Sources are in the v4 branch. It's using the same kernel folder as Uzeamp (/kernel-4-uzeamp):
http://code.google.com/p/uzebox/source/ ... /VideoDemo

Enjoy!

Uze

Re: Uzeamp Movie Player Demo

Posted: Wed Apr 29, 2009 8:38 am
by TonyD
Wow, awesome 8-) . Great, great work.

- Tony

Re: Uzeamp Movie Player Demo

Posted: Wed Apr 29, 2009 11:22 am
by MonteroJCs
Video with sound too?

Re: Uzeamp Movie Player Demo

Posted: Wed Apr 29, 2009 2:36 pm
by uze6666
Video with sound too?
Sure, at 15Khz, just like Uzeamp. Sound's good for 8 bit mono, huh? :)

Uze

Re: Uzeamp Movie Player Demo

Posted: Wed Apr 29, 2009 3:01 pm
by pragma
Finally, I can talk about this thing. I can't tell you how strange it was to see full-motion video on my Commodore 1702 monitor. :shock:

The output of the Uzebox in this case really is impressive, even with the heavy down-sampling that is required to pull it off. This worked on my Fuzebox with a 1GB Kingston card, formatted as FAT16. The current implementation will NOT understand an SDHC card or anything formatted as other than FAT16 (like FAT32).

Uze isn't kidding about the special handling of the SD card - the video needs to exist on the card in a completely contiguous run of sectors. In theory, a de-fragmentation pass would achieve the same effect, but I haven't tried that myself. In short, the FAT16 filesystem imposes a lot of overhead for looking up where all the fragments of a file are on the disk, as this lookup data is kept in the File Allocation Table sectors on the disk; so you have to constantly re-read/cache parts of the FAT in order to get anywhere. Indeed, this is like asking someone to pass you the butter, every time you take a bite of your dinner. This is exacerbated by the fact that as a block-level device, the SD card simply refuses to send data in anything less than 512 byte chunks*, so open wide.

This demo side-steps all that and simply treats the disk like a big virtual tape, since the SD card has a rather nice "keep sending me sectors of data until you say when" mode. This of course relies on a filesystem with zero fragmentation, since this ignores the FAT, hence the format-then-write process.

Anyway, the video renderer itself is ridiculously simple, as it simply sends each byte it reads from the SD card straight out the video port, at a rate of one pixel every 12 clocks. Audio is being handled in a similar fashion. IMO, the real work is being done offline, by way of pre-processing the video data to run at the Uzebox's resolution, framerate and color space.

(*CMD18 might be coerced to stop mid sector when issued CMD12, but I haven't tried it, and it's not clear from the specs if that is a reliable behavior anyway)

Re: Uzeamp Movie Player Demo

Posted: Wed Apr 29, 2009 7:26 pm
by uze6666
Thanks for the clarification, I'm sure that will help folks understand the trade-offs when doing this kind of software hack! 8-)

Uze

Re: Uzeamp Movie Player Demo

Posted: Wed Apr 29, 2009 11:26 pm
by Jhysaun
Cool. What video mode can this be used in.?


>J

Re: Uzeamp Movie Player Demo

Posted: Thu Apr 30, 2009 2:12 am
by uze6666
In mode 7 of course. ;) A new custom mode designed just for that task.

Btw, I have commited the sources in the v4 branch. It's using the same kernel folder as Uzeamp:
http://code.google.com/p/uzebox/source/ ... /VideoDemo

Uze

Re: Uzeamp Movie Player Demo

Posted: Thu Apr 30, 2009 10:23 pm
by codecrank
mode 7 ... so I can port F-Zero now ? :mrgreen:

Re: Uzeamp Movie Player Demo

Posted: Fri May 01, 2009 1:25 pm
by Angel
Incredible!!, Maravellous!!

Which are the charactericts of video 7 mode?