Uzeamp Movie Player Demo

Use this forum to share and discuss Uzebox games and demos.

Uzeamp Movie Player Demo

Postby uze6666 » Wed Apr 29, 2009 7:07 am

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!



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/browse/#svn/branches/rev-beta4/demos/VideoDemo

Enjoy!

Uze
User avatar
uze6666
Site Admin
 
Posts: 3228
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada

Re: Uzeamp Movie Player Demo

Postby TonyD » Wed Apr 29, 2009 8:38 am

Wow, awesome 8-) . Great, great work.

- Tony
- Tony

http://zuzebox.wordpress.com/
User avatar
TonyD
 
Posts: 122
Joined: Mon Oct 27, 2008 2:23 pm
Location: Newcastle, UK

Re: Uzeamp Movie Player Demo

Postby MonteroJCs » Wed Apr 29, 2009 11:22 am

Video with sound too?
MonteroJCs
 
Posts: 8
Joined: Mon Oct 20, 2008 11:03 pm
Location: Zaragoza, Spain

Re: Uzeamp Movie Player Demo

Postby uze6666 » Wed Apr 29, 2009 2:36 pm

Video with sound too?

Sure, at 15Khz, just like Uzeamp. Sound's good for 8 bit mono, huh? :)

Uze
User avatar
uze6666
Site Admin
 
Posts: 3228
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada

Re: Uzeamp Movie Player Demo

Postby pragma » Wed Apr 29, 2009 3:01 pm

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)
User avatar
pragma
 
Posts: 175
Joined: Sat Sep 20, 2008 2:16 am
Location: Washington, DC

Re: Uzeamp Movie Player Demo

Postby uze6666 » Wed Apr 29, 2009 7:26 pm

Thanks for the clarification, I'm sure that will help folks understand the trade-offs when doing this kind of software hack! 8-)

Uze
User avatar
uze6666
Site Admin
 
Posts: 3228
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada

Re: Uzeamp Movie Player Demo

Postby Jhysaun » Wed Apr 29, 2009 11:26 pm

Cool. What video mode can this be used in.?


>J
Lerc wrote:I intend to use my powerful skills of procrastination to ensure that when I get to making things, the chips will be available.
User avatar
Jhysaun
 
Posts: 214
Joined: Tue Nov 04, 2008 12:32 am

Re: Uzeamp Movie Player Demo

Postby uze6666 » Thu Apr 30, 2009 2:12 am

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/browse/#svn/branches/rev-beta4/demos/VideoDemo

Uze
User avatar
uze6666
Site Admin
 
Posts: 3228
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada

Re: Uzeamp Movie Player Demo

Postby codecrank » Thu Apr 30, 2009 10:23 pm

mode 7 ... so I can port F-Zero now ? :mrgreen:
User avatar
codecrank
 
Posts: 65
Joined: Sun Nov 16, 2008 10:13 pm
Location: Wichita, KS

Re: Uzeamp Movie Player Demo

Postby Angel » Fri May 01, 2009 1:25 pm

Incredible!!, Maravellous!!

Which are the charactericts of video 7 mode?
User avatar
Angel
 
Posts: 55
Joined: Fri Oct 10, 2008 7:56 pm

Next

Return to Games & Demos

Who is online

Users browsing this forum: Majestic-12 [Bot] and 1 guest

cron