Here's an experiment I have been making:
http://www.smspower.org/forums/viewtopic.php?t=13923
It's an 64x48 2bpp 10fps video player; so far, I have only implemented it on the Sega Master System but the algorithm is pretty simple to implement, specially for systems that use a tile based background.
Video player for 8-bit consoles
-
- Posts: 24
- Joined: Wed Feb 23, 2011 4:14 pm
- Location: Belo Horizonte, Minas Gerais, Brazil
- Contact:
Re: Video player for 8-bit consoles
Sounds like Chris Covell's "Motion" demo or the Bad Apple video.
-
- Posts: 24
- Joined: Wed Feb 23, 2011 4:14 pm
- Location: Belo Horizonte, Minas Gerais, Brazil
- Contact:
Re: Video player for 8-bit consoles
Yes, it's about the same idea.
Re: Video player for 8-bit consoles
The "move your feet" video converted pretty well. I like how it handled the colors, I thought it looked good.
-
- Posts: 24
- Joined: Wed Feb 23, 2011 4:14 pm
- Location: Belo Horizonte, Minas Gerais, Brazil
- Contact:
Re: Video player for 8-bit consoles
Thanks but, to be sincere, I still think the color conversion needs some tweaking.
Currently, for each pixel, it calculates it's brightness, which is what is actually used for choosing the background tile patterns; then, for each level of brightness, its calculated an average color, which is what's used for the frame's palette. The end result is a video with accurate brightness, but very innacurate colors. I've also experimented with a pallete-per-line encoding scheme that gives slightly better results, but haven't implemented that as a ROM, yet.
Currently, for each pixel, it calculates it's brightness, which is what is actually used for choosing the background tile patterns; then, for each level of brightness, its calculated an average color, which is what's used for the frame's palette. The end result is a video with accurate brightness, but very innacurate colors. I've also experimented with a pallete-per-line encoding scheme that gives slightly better results, but haven't implemented that as a ROM, yet.
Re: Video player for 8-bit consoles
Today I was messing with my Mega Everdrive (Genesis/MD flashcart that also runs Master System games) and decided to test this just because. It didn't work, there were just some random squares and some "snow". Does the program by any chance use something that a Genesis/MD in SMS mode doesn't support, like the old video modes? Did you test this on a Master System?
-
- Posts: 24
- Joined: Wed Feb 23, 2011 4:14 pm
- Location: Belo Horizonte, Minas Gerais, Brazil
- Contact:
Re: Video player for 8-bit consoles
Unfortunately, I didn't test it on real hardware; in fact, it doesn't take into account the VDP bandwidth: it should take about 4 VBLANKs to upload everything to the VRAM.
Re: Video player for 8-bit consoles
I don't know much about SMS programming, but I remember reading that you can write to VRAM during rendering, is that correct? But you have to do it slower than you'd do during VBlank, right?
- TmEE
- Posts: 960
- Joined: Wed Feb 13, 2008 9:10 am
- Location: Norway (50 and 60Hz compatible :P)
- Contact:
Re: Video player for 8-bit consoles
Z80 can never saturate VRAM bandwidth in VBL but during active display there is minimally only 8 slots and Z80 has no problems doing too many writes.