pouët.net

Old dos demo(s) that still need a winport or videocaptures.

category: general [glöplog]
Trixter if you've got the others done already please upload them anyway :) There's definitely room for more than one capture of these. Interested to see how they came out with different techniques.

Ive been playing around with some of them too. Tempesta blacks out during the shark scene on my system using my current S3 card but I definitely had it working with the old C&T onboard video... which was designed to control industrial LCDs and locked to 60Hz! Strange.

Finally managed to get Jump to run but still no sound, i think my sys is just too fast. I forgot it flipped the text mode upside-down at the end though!
added on the 2014-09-29 05:31:34 by jmph jmph
Since my captures used dosbox as a source, I see no need to pollute youtube with multiple captures of the same demo from the same source. I'll finish uploading what I started and also the captures from real hardware. I'll do uni / mfx and then that will be it for a while.
added on the 2014-09-29 06:43:39 by trixter trixter
(scratch that, uni displays a squished screen on my card. There are patches to uni as well as dosbox to get it to run, I posted a link on uni's page.)
added on the 2014-09-29 06:55:11 by trixter trixter
Jim, I do not monitor this thread permanently. Harekiet suggested a few productions in IRC that were mentioned here and I started working on those. I visited the thread here after I finished it. So I wasn't aware that you were capturing the same stuff at the same time.

I usually put bare system specs in the video description for demos that required a specific setup.
Jump only played music when choosing Covox Speech Thing. On slow system SB/SB Pro played in the first part, but in the second and third it just plays for about 1s then goes silent. On fast system it simply stays silent. I did not built a system for Stereo DAC via LPT1+LPT2 though. The capture was done using a Aztech Sound Galaxy NX2 that can directly reroute CSS internally.
For Tempesta I do not know as it worked out-of-the-box here. I typically try first with a S3 Trio3D/2X that has a very good VESA support.
added on the 2014-09-29 10:29:43 by enigma^2 enigma^2
Quote:
Jim, I do not monitor this thread permanently.


Perhaps all capture-folks should.
I suggest we make this into the official "Capture me beautifull"-thread, where any requests and captures-in-progress will be tracked.

Quote:
Jump only played music when choosing Covox Speech Thing. On slow system SB/SB Pro played in the first part, but in the second and third it just plays for about 1s then goes silent. On fast system it simply stays silent.


Sounds like the same problem that Crystal Dream had. Perhaps I could patch the code in this demo as well.
Did you use a real Sound Blaster Pro? Many newer clones respond much faster to DSP commands than real Sound Blasters, which make them more compatible with buggy init routines. I think ESS AudioDrive is one of the better in this respect.
added on the 2014-09-29 10:47:48 by Scali Scali
...and I got Jump fully working, with music ON... a PIII Xeon with a C-Media PCI card emulating an SB Pro in TSR?

It hates my P233 with a real ISA SB but it works fine on that thing. Well, the dot-scape scrolls too fast but other than that it's fine. I don't get it.

Incidentally the 'working' machine also has an ATI Rage with Y/C out but I dont have a capture card... yet. ;)

The demo is really kind of crap though. I only like it because it was one of the first ones I ever saw.
added on the 2014-09-29 11:47:58 by jmph jmph
Quote:
Did you use a real Sound Blaster Pro? Many newer clones respond much faster to DSP commands than real Sound Blasters, which make them more compatible with buggy init routines. I think ESS AudioDrive is one of the better in this respect.


I used an SB Pro2 CT1600 / 386DX-40 / ATI VGAWonder XL. I also tried with an EWS64XL, Aztech SG NX2, Turbo Off (then about 286/10 MHz speed) which made no difference.

I can give uni / mfx a try this evening (in cet time zone)
added on the 2014-09-29 12:24:03 by enigma^2 enigma^2
Quote:
I used an SB Pro2 CT1600 / 386DX-40 / ATI VGAWonder XL. I also tried with an EWS64XL, Aztech SG NX2, Turbo Off (then about 286/10 MHz speed) which made no difference.


Hum, then it may not just be speed-related. The demo is from 1992, so most systems would have been faster than a 286/10, and I assume the sound worked at least on some systems at its release.
Perhaps I should dig out my 486 (with SB Pro2 as well), and see if I can find out what happens.

Another issue could be hardcoded IRQ or such? Early SBs came from the factory with IRQ 7, and some early software is hardcoded to that. Later SBs were IRQ 5 by default.
Base address was always 220h, and DMA was always channel 1.
added on the 2014-09-29 12:39:01 by Scali Scali
Looks like my "fake SB" is on A220 I5 D1 H5 T4 (<-- straight from the driver itself), so its actually emulating an SB16...
added on the 2014-09-29 12:50:19 by jmph jmph
Quote:
Harekiet suggested a few productions in IRC


What channel + server?
added on the 2014-09-29 19:07:57 by trixter trixter
Quote:
I visited the thread here after I finished it.


Okay, NP, simple misunderstanding. To make it up to me :-) you can write down in this thread what your capture hardware/setup is (you wrote me privately but unfortunately I can't find the email right now). I use ATI card -> Y/C capture, or when that fails, VGA -> DSC-1024 which always works with all modes but is still an analog interlaced capture. You use something much better, a VGA capture device, right? If so, which one, and how successful is it capturing goofy tweakmodes?

Quote:
Hum, then it may not just be speed-related. The demo is from 1992, so most systems would have been faster than a 286/10, and I assume the sound worked at least on some systems at its release.


Don't be so sure. They used the goldplay replayer which was THE buggiest replayer I remember seeing. It's so buggy that PC Speaker and LPT DAC (single, mono) is the only part of it that always works.

Quote:
so its actually emulating an SB16


T4 is an SBPro, not SB16.
added on the 2014-09-29 19:14:26 by trixter trixter
it's in the awesome #dosbox channel on freenode ofcourse :)
added on the 2014-09-29 19:16:49 by Harekiet Harekiet
Quote:
T4 is an SBPro, not SB16.


Yes, the H5 doesn't make sense then though. SB Pro does not have high dma.
added on the 2014-09-29 19:38:39 by Scali Scali
I started capturing uni / mfx.
I have done capturing uni / mfx.
Encoding now, Uploading will take the longest time...

I usually capture on a i7 3930K with an Epiphan VGA2PCIe. It does custom modes starting at 15 kHz to 150 kHz and in low res up to 85 Hz, on higher resolutions it goes down a bit:
640×480 85 fps
800×600 85 fps
1024×768 80 fps
1280×1024 50 fps
1600×1200 35 fps
in RGB 8:8:8.

For newer demos I use a DVI2PCIe which has the same capabilities for analog input as the VGA2PCIe, but can handle also HDMI/DVI.
640×480 85 fps
800×600 85 fps
1024×768 85 fps
1280×1024 85 fps
1920×1080 60 fps
1920×1200 60 fps
2048×2048 20 fps

I usually capture lossless with the lagarith codec at the native source resolution / refresh rate. The epiphan driver has a feature that allows to fix the resolution reported to directshow and any input resolution is scaled to that. I activate this feature for input that has mode changes (some demos have). I typically choose to resize bicubic.
Encode is done in x264 single pass / quality 18 / profile very slow.
I set in the container then 4:3 such that the original pixels stay.
Just for YT I do separate encodes, where I scale it up by 2x to get a better bitrate ratio on the youtubized video.

Here is some stuff in original resolution / refresh.
The DVI2PCIe can e.g. be used to capture from a Voodoo5 PCI that has DVI output in 75 Hz:
ftp://78.46.141.148/videos/DVI_Capture/Voodoo5_5500_Unreal_1600x1200x75.mkv
or Demos:
ftp://78.46.141.148/videos/DVI_Capture/Stravaganza_Arise.mkv

Custom mode compliance allows to capture also some more exotic stuff like Ambience/Luminati:
ftp://78.46.141.148/videos/dos_ambience_tran.mkv
ftp://78.46.141.148/videos/dos_luminati_tran.mkv
or if you like some classic:
ftp://78.46.141.148/videos/dos_second_reality_fc.mkv

It won't get much better as it is already frame exact.
Maybe with GSync such that the display adjusts to the video streams refresh...
added on the 2014-09-29 19:51:21 by enigma^2 enigma^2
Trixter, Thanks, Jope has that scaler and brings it to other parties than asm as well.

Note that the xrgb mini doesn't do rgb input with high res modes (limited to 15KHz as far as I know). XRGB3 being the minimum when it comes to this. Although you can possibly go around this by converting RGB to YPbPr somehow.

I would recommend the CP-255I if you need something like this but it's also pretty expensive. Works really well with most DOS modes I've tried to throw at it so far with the only issue being that it can tear with other modes than a nice 60Hz.

The micomsoft SC-512 is pretty damn awesome if you want to capture 15KHz material as it allows native "240p / 288p" modes to be input without having to mess with interlacing, it does need to be linedoubled for viewing:
megadrive 240p
psx 288p (50Hz)


enigma, how do you deal with demos that switch modes (refresh rate) multiple times between the capture? I know that .mp4 allows variable frame rate but do you simply interpolate it to the "highest used" or does it automatically switch in between?
Technically it seems to be a card + scaler in one.

Have you tried how the low resolution stuff fares with it? (240 or 288 scanline)
Does it try to treat it as interlaced or will it eat it as progressive trough RGB ?

I am really curious since I do a lot of capture stuff myself at demo parties and handle similar stuff outside of parties, mainly older systems for streams and such so I wouldn't mind trying out different stuff once in a while. That card does seem very expensive but it also sounds kinda reliable. Lack of chroma subsampling sounds very tempting.
added on the 2014-09-30 05:36:04 by oasiz oasiz
The card is basically a 3 channel digitzer with adjustable hsync/vsync offset, pll detune, sample phase and gain/offset per channel.
The card comes with an own API and SDK and a DirectShow interface. With the own API I programmed some auto alignment/adjustment tool based on a test image on the source.
ftp://78.46.141.148/align_tool/align.mkv

For DirectShow it is a mixed experience, while it supports variable rates/resolutions most applications fix this on capture start or allow only one of it to change a.s.o.
I usually stick with VirtualDub for capturing, which fixes the resolution/fps on capture start.

I usually do preview the demo and check the modes used. As an example if it switches between 720x400x70 and 640x480x60 I set the cards driver to output a fixed 720x480 with refresh based on current mode. So it scales both input resolution bicubic to this. I wait until the source is in a 70 Hz mode and enter VirtualDubs capture mode, such that Virtualdub sets 70 fps for the capture. I set Vdub to sync to Audio and enable Null Frames which fill in frames when the source changes to 60 Hz and Virtualdub waits for a 7th frame per second. This is a very good compromise between stream compatibility and source formats.
Drawback is that a fluent 60 Hz animation may stutter slightly when watched at 70 Hz. However in older demos which change modes animations often appear in 70 Hz mode at some low res, where as 640x480 60 Hz is used for pics. All DOS normal low res modes are 720x400 at the VGA cards output.

Other sources like Amiga at 15 kHz are captured as interlaced. However to watch it correctly I can simply use DScaler with filter Old Game which doubles the framesrate again and does progressive, or use Virtualdubs filter "Deinterlace, Double Lines, Top Field First" which also doubles the frame rate again and generates progressive material. All frames are present, it is just a simple data analysis addition in the end to get the video to progressive again. In all cases the I use the color space RGB 8:8:8.
See in the ftp folder there are some amiga and atari TT captures aswell.
ftp://78.46.141.148/videos/amiga_desert_dream_A600.mkv
ftp://78.46.141.148/videos/atari_tt030_beams.mkv

The card sends frames as they actually come from the source. So strictly the source could deliver at some arbitrary rate. Often it differs slightly with graphics cards between 67 and 74 Hz for 70 Hz modes. Especially old VGA cards are not as exact.
added on the 2014-09-30 10:56:55 by enigma^2 enigma^2
Shit, that's like a dream card. Need to watch the samples when I have some time.
Sucks that it costs a million but something like this would offer everything I'd want to play around with.

For lower resolution stuff, the chroma subsampling really hits hard.

I've heard that some people use avisynth with their cards for basic processing tasks and output it to other programs. Still, most cards don't allow easy lower level trickery and demand firmware updates to handle more exotic input modes.

Anyway, carry on with the DOS captures. </derail>
added on the 2014-09-30 12:14:52 by oasiz oasiz
Small side-note that may be useful: It's not necessary to set a framerate at all in mp4. You can simply write timestamped frames into the stream, the player should then just present the frames at the correct time (or as near as it can with the display framerate, assuming it has one).

I've written quite a bit of software like this, typically using a live video source with a variable framerate (10-30fps variable during recording). I've not seen any major compatibility issues, although I don't test on PC. I an put a test video up somewhere if you want :)

If you can encode the video that way and just plain ignore the framerate you should be able to switch 60/70fps mid-stream with no issues.
added on the 2014-09-30 12:28:35 by psonice psonice
Quote:
I've written quite a bit of software like this
...
If you can encode the video that way


I suppose those are the key points here:
1) Is the device capable of just grabbing frames 'whenever'?
2) Is there software that can grab these frames as they come in and timestamp them into an mp4 file or such?

Although I have developed some software that grabs DirectShow/Media Foundation streams in realtime, I have not looked into this sort of 'async' behaviour.
I suppose if these APIs support framegrabbing at arbitrary framerates (which I think they do... I vaguely recall that MF allows a refresh rate of 0, which is 'whenever'), I could possibly cook up something that timestamps then. Part 2 would then be to interface it with some kind of encoder that can make use of these timestamps.
added on the 2014-09-30 12:36:43 by Scali Scali
1. The input source is a camera, which I have complete control over and can adjust the shutter speed at will, so yes.. but that doesn't help much with demo capture :D

2. I have no idea. Unfortunately my knowledge of this is limited to my own work really, and there I write the full thing from camera control to mp4 output (via system APIs).

I'm doing all this stuff on iOS too, so I have really no idea about directshow/MF. What I do know however is that the OS X APIs (AVFoundation) are pretty similar to the iOS ones (and in fact they're quite a bit more powerful), and it'd be fairly easy to write a capture / encoding app with that. Might be worth a look if the capture hardware supports it and you happen to have a mac.
added on the 2014-09-30 12:53:54 by psonice psonice
Quote:
1. The input source is a camera, which I have complete control over and can adjust the shutter speed at will, so yes.. but that doesn't help much with demo capture :D


Yea, I was talking in general. Perhaps some frame grabbers are capable of this, others are not. I'm not sure, never looked into that.

Quote:
2. I have no idea. Unfortunately my knowledge of this is limited to my own work really, and there I write the full thing from camera control to mp4 output (via system APIs).


Yea, I think it will be required to write custom software for this. Again, I'm not sure, I've never looked into it, but offhand I can't recall ever seeing any options for this sort of thing in regular off-the-shelf video recording software.
I have written a simple Mac-port of the core functionality of my software, but that was limited to interfacing with a capture device via QuickTime and streaming the data through OpenGL textures. I suppose QuickTime is deprecated anyway now.
added on the 2014-09-30 13:02:13 by Scali Scali
Digital Matrix by Legend Design. None of the captures I've seen runs this demo in the proper framerate. The shadebobs, landscape and particle tunnel are running too fast and does not sync with the music. If I remember correctly this demo should run on a 386. Not sure about the speed, maybe it was 25mhz. It's totally crappy when out of sync.
added on the 2014-09-30 14:42:22 by rudi rudi
my very first real demo Flight crashes in dos-box and I'm not sure, but maybe Xmess intro as well. there is no capture of these, I have no optimized pipeline for capturing so I'm somehow lazy to do it by myself ;/ I whould be deligted to see them again, if someone likes them please be so kind and grab them... thanks a lot.
added on the 2014-09-30 17:14:02 by zden zden
enigma has better hardware than mine so I'll defer all captures to him unless he lacks the source hardware. I have a 286-12, 386-16, 386-40, 486-66, pentium-120, PPro-200, PII-333 so for something that enigma can't seem to capture, someone can ask me as a fallback.

While VGA->scaler->Y/C incurs analog + interlaced generational loss, so far the DSC-1024 has handled everything I've thrown at it, including stuff that switches resolutions, so I'll stick with it for now. I also lack the budget to upgrade equipment :-) So, throw any outliers my way.

I still have the blackmagic SP card I used for mindcandy2 in 2006; it does 10-bit 4:4:4 component capture, I might see if it works in my system and switch to that...
added on the 2014-09-30 17:36:44 by trixter trixter
Some video capture program that takes the stream as it is would be quite nice. Like whenever and at whatever resolution with real time adjustment.
I tried a bit with VLC but it only supports variable resolution and is somewhat flaky.

I captured Digital Matrix, Flight and Xmess and uploading it to youtube atm.
Original encodes will appear later in the ftp folder.

Please check if it's ok. I used a 486DLC-40, ET4000, EWS64S and GUS. I think the Julia animation runs very nicely.
added on the 2014-10-01 00:02:35 by enigma^2 enigma^2

login