• Please review our updated Terms and Rules here

full screen vid w/ sound on 286

okay guys here's a test version of it... player.exe plus a sample video.

http://rubbermallet.org/player.zip

specify the filename on the command line, so run:

PLAYER.EXE SIMP.MVF

if you actually want to try it on a 286, you will need a VERY fast hard drive... like i said before, i'm using a fairly new quantum drive on it. whatever originally came in your 286 will probably NOT work well but this sample vid is only 9.1 FPS to keep it small-ish so maybe it will be okay. even that is 610,850 bytes per second so probably not. :p

of course, nearly double that for 18.2 FPS videos. so yeah this isn't practical for a completely original 286 at all.


EDIT: as you'll no doubt notice, i still need to work on an audio buffering scheme to eliminate those annoying pops.
 
Last edited:
no compression. just slamming data real fast! there's a 15-byte header chunk, 768 bytes of RGB palette data then 1-frame interleave on uncompressed 8-bit video + 22.5KHz 8-bit mono sound until the end of the file. :)

I figured :)

i wonder what kind of horrible framerate i'd get if i try this on my 8088 with the CF card/IDE adapter i should have next week. probably 1-3 FPS at best.

Well, just do the math. 4.77MHz 8088 can REP MOVSW to video memory at 240KB/s, so if you have 60KB frames then you get 4fps under optimal conditions.
 
btw trixter, i'm not sure what kind of compression i could pull off without a HUGE sacrifice in FPS... any ideas? that would be cool if i could do something. i think even simple RLE would be too much.

A 286 is nearly 3x as fast as 8088 and VGA can be tweaked like crazy, so here's a couple of ideas for free:

  • Do 8088 Corruption (textmode) but using a custom font made up of entirely graphics characters (1/4th-shaded blocks, 1/8th shaded blocks, 1/4th-halfblocks, corner blocks, etc. etc.) and match each frame to that font as best as possible. Use a custom 16-color palette for each frame if necessary. Use 80x50 for flexibility.
  • VGA can turn 320x200 into 320x100 just by changing the character cell height -- do that and you'd only need 32K per frame.
  • RLE for each frame is not completely feasible but if you optimize your frames such that colors "snap" to similar colors in prior frames, there will be very little difference between frames (I'm thinking specifically of the Beavis and Butthead clip) and then all you have to do is store the differences. This would require an assembler decoder though.
 
Last edited:
A 286 is nearly 3x as fast as 8088 and VGA can be tweaked like crazy, so here's a couple of ideas for free:

  • Do 8088 Corruption (textmode) but using a custom font made up of entirely graphics characters (1/4th-shaded blocks, 1/8th shaded blocks, 1/4th-halfblocks, corner blocks, etc. etc.) and match each frame to that font as best as possible. Use a custom 16-color palette for each frame if necessary. Use 80x50 for flexibility.
  • VGA can turn 320x200 into 320x100 just by changing the character cell height -- do that and you'd only need 32K per frame.
  • RLE for each frame is not completely feasible but if you optimize your frames such that colors "snap" to similar colors in prior frames, there will be very little difference between frames (I'm thinking specifically of the Beavis and Butthead clip) and then all you have to do is store the differences. This would require an assembler decoder though.

i was thinking about the difference idea already actually.. yeah that would be excellent for animations. not so much for most real videos, but i am going to give that a try. i bet i could still pull off the 9.1 FPS at least doing that.

also, 320x100 would be a good idea yes. i don't know if i want to go into text modes, i still want it to look kind of decent.
 
I picked up my 12.5MHz 286 yesterday to try it but I get "Unable to reset Sound Blaster DSP!"
It has a SBpro2 but play the video with no sound
 
Last edited:
I picked up my 12.5MHz 286 yesterday to try it but I get "Unable to reset Sound Blaster DSP!"
It has a SBpro2 but play the video with no sound

i've never actually tested it on an SBpro2, my 286 has an SB16 value but my code should work just fine on one of those too. i wish i could find my old SBpro2 card because i'd like to try.
 
I ran this on my V30 XT system, and I ran into that same problem with the SB DSP error. I am also running SB Pro 2.0. My system managed a whopping 4.66 fps!

Keep in mind this is no ordinary XT. The CPU runs at 10.7MHz (small overclock), and with fast V20 loaded my system scores close to 4 XTs under PCtools SI (I pretty reliable benchmark). Memory bandwidth is roughly 2.2mb/sec, and hard disk scores about 600kb/sec. I used my CF card reader for the test.

I am wondering if loading Smartdrv v3.x using EMS could speed things up a bit, I'm going to try and see. I'm also going to buy a 36MHz crystal to see if running at 12MHz can speed things up a bit. I figure if I can use every trick in the book, maybe I can squeeze 7 or 8fps out of this thing...so if you used 320x100 mode maybe 15fps would be possible :p

UPDATE:

I tried the disk cache software "Super PC Kwik v5.1". That actually made the frame rate much worse...about 2.8fps. I'm not sure if using different disk cache software would help. I guess the next step is for me to create a RAMdrive, and load the entire movie on there to see what my system is capable of.

UPDATE 2:

I got PC DOS 2000 Smartdrv.exe going on my XT with a program called FAKEHI.COM to emulate XMS. The results were slightly better than PC Kwik, but not by much...about 3.3fps...still much slower than the uncached speed. I created a RAMdrive to dump the video into, but my EMS card only has 8mb installed at the moment, and I didn't realise that the video was 28mb!!! So, I guess I won't be able to do that test unless I install 32mb of EMS, or get a much smaller sample video. I am beginning to suspect that my disk system is somehow faster than EMS RAM.
 
Last edited:
Back
Top