5 ms·
Video playback on low-end MS-DOS machines
- reaperducer 3y agoThe Atari 2600 says, "Hold my beer." https://forums.atariage.com/topic/318978-movie-cart/ https://forums.atariage.com/topic/318978-movie-cart/
- mrguyorama 3y ago>It uses a 16mips pic (64hz 4-cycle) driving 1K of an 8k dual port ram. This is much closer to the "Reverse Emulation" of the NES that https://www.youtube.com/watch?v=ar9WRwCiSr0 https://www.youtube.com/watch?v=ar9WRwCiSr0 did than playing a movie on the actual device. Using the original hardware as nothing more than an RF output interface is clearly not the same work, though just like in the reverse emulation of the NES, it is still a neat thing. The reason video on original IBM 5150s is so neat to most people is that it could have reasonably been done in it's heyday if we could take knowledge and algorithms back in time, which the reverse emulation versions could not.
- reaperducer 3y agoIt was common, especially in the later days of the 2600, for cartridges to include helper circuitry including RAM and even sound chips.
- adhoc32 3y agoso, it's full screen compiled sprites.
- Scali 3y agoYes, combined with streaming the data from disk in realtime, and playing the audio over the PC speaker in this case, bit-banged. Given the limited performance of both the HDD system and the CGA adapter, the most important thing the compiler has to do is to stay within the budget of HDD and CGA resources.
- kierank 3y ago> It is impossible for the audio to drift ahead of or behind the video, regardless of the video framerate or audio samplerate. How is this "impossible" if the video clock and audio clock are on different physical devices?
- Scali 3y agoThe video clock (I assume you mean pixel clock) isn't relevant. The synchronization of video and audio happens on a per-frame basis. And since the frames are clocked out on the audio-clock, there cannot be any drift.
- Scali 3y agoHaving said that, the CGA card does not actually have its own clock. It takes the NTSC base frequency of 14.31818 MHz from the OSC-pin of the ISA bus. On early PCs, such as the IBM 5150/5160, the CPU frequency is also derived from this same base clock (which is why you get the oddly specific speed of 4.77 MHz).
- bazza97 3y agoLove how people are still pushing old hardware. These are also two excellent demo's on the XT: Area 5150 https://youtu.be/fWDxdoRTZPc?feature=shared https://youtu.be/fWDxdoRTZPc?feature=shared 8088 MPH https://youtu.be/yHXx3orN35Y?feature=shared https://youtu.be/yHXx3orN35Y?feature=shared
- qingcharles 3y agoSame guy, I think.
- mmastrac 3y ago> And indeed, I found that it set a period of 1 instead of a period of 1. I assume this should be ... > And indeed, I found that it set a period of 1 instead of a period of 0.
- Scali 3y agoYes, thanks! Fixed the original text.
- bdcravens 3y agoI had a 486DX - if I wanted to play an MP3, I had to exit out of everything and run only the DOS player.
- qingcharles 3y agoOn my 486 I don't remember being able to play MP3s in realtime. I remember having to convert a 3MB MP3 to a 50MB WAV that took up my whole HDD just to play it.
- Minor49er 3y agoKen Silverman, creator of the BUILD Engine, made MP3PC.exe that's still hosted on his Utilities page. I'm pretty sure I used this on a 486 years ago and was surprised at how well it worked, though it apparently is picky about MP3 encodings. From the description: > MP3PC.EXE (73,483 bytes): Got no sound card? MP3PC plays MP3 files through your PC speaker! For some reason I like to make programs work through the PC speaker. Some people still don't know that it's possible to play real sounds through it. Unfortunately, you must run this in pure DOS mode for it to work. His Utilities page can be found at: http://advsys.net/ken/utils.htm http://advsys.net/ken/utils.htm
- starik36 3y agoWow, I just learned that he is also the author of PNGOut.
- AnotherGoodName 3y agoThere were entire games, eg. star control 2, that played sample audio through the PC speaker. It included voice sample in parts (eg. The pkunk swear words).
- Scali 3y agoIt was actually patented by Access Software, under the name of RealSound. https://en.wikipedia.org/wiki/RealSound https://en.wikipedia.org/wiki/RealSound
- HPsquared 3y ago16 FPS video and audio on a Commodore 64 demo. Very, very highly compressed and optimized data and algorithm: https://m.youtube.com/watch?t=12m55s&v=yW5v93P-gBw&feature=youtu.be https://m.youtube.com/watch?t=12m55s&v=yW5v93P-gBw&feature=y... EDIT: and some details on the audio encoding method, might as well start here: https://m.youtube.com/watch?t=11m55s&v=yW5v93P-gBw&feature=youtu.be https://m.youtube.com/watch?t=11m55s&v=yW5v93P-gBw&feature=y...
- qingcharles 3y agoThat's actually really good.
- deleted 3y ago[deleted]
- qingcharles 3y agoThis is awesome. I tried doing this in the early 90s by breaking down video frames into averaged color triangle polygons and then using the renderer I had to draw them. It worked fine, but obviously best on large swathes of flat color like cartoons where it would create the smallest number of vertices and the largest runs of bytes. Somewhere on Usenet there is a post of mine about running it on my 286, but I just wasted an hour trying to find it.
- gmueckl 3y agoThis seems very similar to how the cinematic platformer Another World (1991, also known as Out of This World) was doing its elaborate full screen animation sequences, although the animations were rotoscoped rather than generated by an automatic encoder.
- EvanAnderson 3y agore: decomposing video to triangles - That makes me think of State of the Art[0] and Nine Fingers[1], though I don't actually know how they worked. [0] https://www.pouet.net/prod.php?which=99 https://www.pouet.net/prod.php?which=99 [1] https://www.pouet.net/prod.php?which=100 https://www.pouet.net/prod.php?which=100
- qingcharles 3y agoYES! I was trying to remember the names of these demos, they came out the same time I was working on my code. Really was peak demo scenes days in 93/94. I feel like we were doing it that way because we had hammers and saw everything as a nail. I don't think any of us knew how an actual video codec worked back then, there was so little information available until the Internet started taking off in late-93 onwards.
- Scali 3y agoThe Amiga had a hardware blitter that was very good at drawing lines and doing area fills, so it made perfect sense to encode video to polygons on that particular hardware.
- peekpeek 3y agoFirst full color I saw on low end PC was 1987 demo on IBM Model 30. 8086 CPU. It used 128 out of 256 colors to hide the palette switch flash. It was a clip from National Geographic mammals and a classroom video. It was digitized using a laserdisc and at&t Targa16 to get one frame at a time. Was captured on a compaq 386/20 because IBM didn't have any micro channel capture cards. So IBM paid for the compaq. Video was in 320x200 mode since no higher 256 color modes on M30. It took SVGA cards to commonly see higher res 256 color modes. This wasn't dithered video, so looked pretty good.