Uzeamp Movie Player Demo

Use this forum to share and discuss Uzebox games and demos.
User avatar
uze6666
Site Admin
Posts: 4778
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Uzeamp Movie Player Demo

Post 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
User avatar
TonyD
Posts: 134
Joined: Mon Oct 27, 2008 2:23 pm
Location: Newcastle, UK
Contact:

Re: Uzeamp Movie Player Demo

Post by TonyD »

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

- Tony
MonteroJCs
Posts: 8
Joined: Mon Oct 20, 2008 11:03 pm
Location: Zaragoza, Spain

Re: Uzeamp Movie Player Demo

Post by MonteroJCs »

Video with sound too?
User avatar
uze6666
Site Admin
Posts: 4778
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Uzeamp Movie Player Demo

Post by uze6666 »

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

Uze
User avatar
pragma
Posts: 175
Joined: Sat Sep 20, 2008 2:16 am
Location: Washington, DC

Re: Uzeamp Movie Player Demo

Post 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)
User avatar
uze6666
Site Admin
Posts: 4778
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Uzeamp Movie Player Demo

Post 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
User avatar
Jhysaun
Posts: 214
Joined: Tue Nov 04, 2008 12:32 am

Re: Uzeamp Movie Player Demo

Post by Jhysaun »

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
uze6666
Site Admin
Posts: 4778
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Uzeamp Movie Player Demo

Post 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
User avatar
codecrank
Posts: 66
Joined: Sun Nov 16, 2008 10:13 pm
Location: Denver, Co

Re: Uzeamp Movie Player Demo

Post by codecrank »

mode 7 ... so I can port F-Zero now ? :mrgreen:
User avatar
Angel
Posts: 55
Joined: Fri Oct 10, 2008 7:56 pm

Re: Uzeamp Movie Player Demo

Post by Angel »

Incredible!!, Maravellous!!

Which are the charactericts of video 7 mode?
Post Reply