PDA

View Full Version : Video on 5150



bbcmicro
August 4th, 2006, 11:56 AM
Not sure where to put this...
This guy got his 5150 still with its 8088, and managed to get a colour video with sound on it. I dunno what he is saying because this PC i'm on doesn't have sound.
It's still very cool.

http://video.google.com/videoplay?docid=-5885351342753379583&q=8088

I'm trying to find the site it was featured on...I think it might have been hackaday.com

mbbrutman
August 4th, 2006, 12:38 PM
I think that video has been discussed here before, but I can't find the original thread.

It's done by Trixter (Jim Leonard) on a 5150 with a 10MB hard disk and a SoundBlaster card. The video is actually text mode, not the graphics modes.

Erik
August 4th, 2006, 01:00 PM
If I were to guess, I'd say that the scenes were rendered elsewhere and the PC just slams data into the video card memory space (B800) and uses page flipping (the CGA supported 8 pages of 80x25x16 color text mode video) to get the effects.

Assuming 30 frames a second that's about 60K a second and probably a total of about 1MB or so for the full video. All well within the PCs capabilities.

Very impressive, though! :)

CP/M User
August 4th, 2006, 02:06 PM
mbbrutman wrote:

> I think that video has been discussed here before,
> but I can't find the original thread.

Never seen anything like that before.

> It's done by Trixter (Jim Leonard) on a 5150 with a
> 10MB hard disk and a SoundBlaster card. The video is
> actually text mode, not the graphics modes.

Boy he looks a lot like Bill Gates (guess he gets that a lot).
The big man must have an eye scanner so they know it's him &
that he can get into wherever he needs to.

Neat demo, would an EGA card work on a 5150? Must be 100%
Assembly if that demo is for real. Looking at the video it
looks like it got some sort of Bufferning thing at the start.

CP/M User.

phe
August 4th, 2006, 06:01 PM
And please, don't anybody toss any more sh-t on this video.

I thought it was pretty cool. Thanks for sharing. I was impressed and don't care at all where it was created. It shows incredible ingenuity, and shows what the hardware of the time could do.

atari2600a
August 4th, 2006, 11:04 PM
What I'm wondering is why this wasn't done 25 years ago! :p

(By the way BBCMicro, you should really consider buying a sound card... A 24-Bit sound card goes for around $25 here! That's like 17 or so pounds!:p)

CP/M User
August 5th, 2006, 12:54 AM
atari2600a wrote:

> What I'm wondering is why this wasn't done 25 years
> ago! :p

This has never been the way, unfortunately. For the system
I've come to know over the 20 years it's been around -
software has developed over time - most of the clever demo
trickery came towards the end of the systems life-cycle.

It's merely a case of what people come up with in order to
make things (particularly Demos) look impossible to do.
Internet though would certainally assist since information can
be easily distributed - if people dived into the secrets &
posted it - others could probably improve or incorporate
routines for their programs.

Occassionally though a program written for a specific hardware
device of a certain company could also assist in making things
look good (e.g. It was good to get my Cirrus Logic VGA card to
display itself onto an external colour monitor on my Laptop
within CP/M-86).

CP/M User.

bbcmicro
August 5th, 2006, 04:24 AM
|I don't think it was possible 20 years ago, because in my personal opinion a lot was done with the assitance of modern hardware...btw, did they even have digitised video back then? I would have thought it would have been impractical on the current hardware...

I would buy a sound card, but until I get a crappy machine off ebay to tide me over till Christmas, I'm on my parents. And that means absolutley no touching! not allowed to open it, nada. For some strange reason my parents dont trust my computer literacy :roll:

atari2600a
August 5th, 2006, 04:37 AM
It used to be the same way w/ me! (When I was 9-12ish, Back when anything electronic I touched the insides of died :p)

Now, at least at my mother's house, I'm basically labeled as the house-wide repair man, for everything! Even rebuilding the toilet's reserve tank :p! You just have to prove that you're capable of something as simple as sliding a card into a slot! :p

As for it (the IBM video) being impossible for the time, I don't think it'd be COMPLETELY impossible. W/ a mainframe computer doing all the rendering (which would probably take months of programming a renderer), It would be possible. I think that if IBM did that & gave away the demo at electronics stores, they would've sold ALOT more units...

mbbrutman
August 5th, 2006, 05:42 AM
As a demonstration for the IBM PC this would have been very impractical. In 1981 the PC didn't have a hard disk option available from IBM, and to get one would have been extremely expensive.

As for the rendering, it would have been hand drawn at the time. I don't remember any digitized video systems from the late 70s or early 80s. The CPU power certainly existed - it just would have taken a while, much like the computer generated images of recent movies take a while to render.

Another thing to keep in mind. When you pay $4000 for a business machine, you don't really care if it can play a video. Even modern servers don't always have video cards.

atari2600a
August 5th, 2006, 05:49 AM
It looked like the file(s) in the video where loaded via floppy...

phe
August 5th, 2006, 06:06 AM
When you pay $4000 for a business machine, you don't really care if it can play a video.

Agreed. That's how we felt at the time. Video was not in our minds at all. Spreadsheets, letters, and the occasional database - that was it.

Some years later, on the 286 or perhaps 386 (?) hardware, we tried to make a presentation with high quality pictures that would rotate through and a soundtrack that would play in synch (something that is done by pushing a buttin in iPhoto today, for example). That was almost impossible at the time. We did it, but never as good as we envisioned.

The point is that software to generate this kind of stuff did not readily exist and everything had to be created by hand.

At least that's how it was in my small corner of the world.

mbbrutman
August 5th, 2006, 06:17 AM
If you had an IBM PC or XT back then, it was probably a business machine. They were just too expensive for home users until the clones became relatively cheap in the mid 80s. In fact it was a good bet that a PC had a monochrome card or a Hercules card and a 5151 monitor, because using a CGA monitor for word processing would make your eyeballs bleed after a few hours. :-)

That being said, spreadsheets and word processors made the investement very worthwhile. A 256KB machine with floppy drives was very useful compared to a typewriter and a calculator. The ability to rapidly edit and recalculate was a big factor in the adoption of all personal computer technology in the business environment. And for most of those tasks, 4.77Mhz was overkill.

Software gets more advanced and expectations change ..

atari2600a
August 5th, 2006, 06:36 AM
http://www.oldskool.org/pc/8088_Corruption

Download the program from there!!!!:p

As amazing as it seems, it runs flawlessly on my Dual-core Centrino laptop! (W/O Emulation!!! It'll run poorly unless you disable a couple memory settings on the executable's properties in Windows. While you're in the properties window, set it to run in full screen.) Total 13374g3!!!

Now if only I had a 5150 w/ a 10MB HD...

EDIT: (By the way, when I first saw the video (on Google Video), when it cut to the guy break-dancing, I said "Ah Sh!t!" I was so suprised! :p)

Mad-Mike
August 5th, 2006, 07:44 PM
I know this might go off topic, but I love talking about the "good ole' days".....

I remember being a little kid in the 80's. The reason stuff like this was not around back then, on up until a little while after Windows 95 came out was because computers were not considered "consumer toys" like they are now, they were purely work machines that just happen to have some gaming abilities.

Back then, if you had an IBM PC or even a clone, chances are you were from a rich family, or the parents had some kind of work program that got it for them through their job, and because of such, they were not considered worth playing with at the time, actually, it was very much frowned upon.

I remember being a little kid in 1990, and thinking a computer was the most boring, pointless device, then I discovered computer games. And I don't even know where to BEGIN with the trouble me and my friends got ourselves into putting Monkey Island, Freddy Pharkas, 7th Guest, X-Wing, Ultima VI, and a lot of other big name games of the time on someone's parents computer without permission. I remember being blamed for a $60 correction to my sister's Autoexec.bat file, and I even moreso remember my friend's dad paying $200 to get their Deskpro 386 fixed because my friend fooled around in the control panel in Windows 3.1 and messed something up.

What impresses me about 8088 corruption though, is how it shows, if there's a will, there's a way. The last thing I'd expect for full motion video would be text mode.

atari2600a
August 5th, 2006, 07:52 PM
I actually saw it coming. If you go to gamefaqs.com, you see alot of text-based photos, & I've actually seen some movies rendered using ASCII characters.

Luke
August 29th, 2006, 02:03 AM
I didn't wanted to make new thread, so I'll continue here.

Have anybody tried to run 8088 corruption on his old PC?
I was trying to run on 8086 8 MHz machine with music card and hard disk.
At start it had one floppy drive and 512 Kb of memory.

When I added HDD it crashed after a while running the demo.
I expanded memory to 640 kB and defragmented disk using Speed Disk from Peter Norton.
Then computer was able to pass trough whole demo.

Now the only my problem is... re-buffering.
It stops from time to time, and after few seconds continue...

I installed faster 40 MEg drive instead of ST-225, still needs to re-buffer.
I tried another WD controller, still no succes.
Installing old DTC controller heleped a bit, but it still need to stop...

Have anyone succesful runned the demo and it didn't lagged from time to time?

dongfeng
August 29th, 2006, 07:41 AM
I am having the same problems, rebuffering every 15 seconds or so. I think the WD25 hard drive / controller is the bottleneck.

Did you set config.sys with BUFFERS=20 ? That helped a little bit.

mbbrutman
August 29th, 2006, 07:52 AM
The author of 8088 Corruption is 'Trixter', and he can be found at his web site http://www.oldskool.org/ .

He can probably give you an idea of what is going wrong ..

dongfeng
August 29th, 2006, 08:01 AM
Trixter has kindly send me some files for my 8088's, so I've asked him about this :)

TroyW
August 30th, 2006, 06:56 AM
Not bad, not bad at all, thanks for the link, interesting viewing.

Mike Chambers
September 2nd, 2006, 03:56 PM
i've run across that before. the guy who made is says the actual video file is about 10 MB and includes mono sound. i downloaded his software and saved it for when i finally get an old 8-bit disk controller, then i'll be able to test it on my 4.77 MHz 8088 :)

dongfeng
September 3rd, 2006, 02:23 AM
To get it running smoothly you need an IDE drive, MFM drive isn't fast enough and you just get rebuffering every 15 seconds.

mbbrutman
September 3rd, 2006, 07:33 AM
The author wrote it on a machine with an MFM drive. Basically it was a stock XT, with the exception of the sound card.

You could have a slower hard drive, or your interleave factor might be set wrong. Also, it might not be perfect code .. in a private conversation he mentioned that there are some bugs that he's hunting.

dongfeng
September 25th, 2006, 01:11 PM
At last, I have it running fine on a 20MB SCSI hard card!

Mike Chambers
September 30th, 2006, 03:07 PM
If I were to guess, I'd say that the scenes were rendered elsewhere and the PC just slams data into the video card memory space (B800) and uses page flipping (the CGA supported 8 pages of 80x25x16 color text mode video) to get the effects.

Assuming 30 frames a second that's about 60K a second and probably a total of about 1MB or so for the full video. All well within the PCs capabilities.

Very impressive, though! :)

yup, i've exchanged a few emails with the guy. that's exactly how he did it. and yeah, its well within an 8088's capabilities w/ CGA. you might even be able to manage the full 30 FPS writing a player even in a language like qb45 if you use some tricks.

mbbrutman
September 30th, 2006, 03:31 PM
yup, i've exchanged a few emails with the guy. that's exactly how he did it. and yeah, its well within an 8088's capabilities w/ CGA. you might even be able to manage the full 30 FPS writing a player even in a language like qb45 if you use some tricks.

Not likely. Jim is a master of assembly language programming on the 8088. I don't think that QB gives you tight enough code to match the hand coded assembler that he has done.

Mike Chambers
October 1st, 2006, 02:39 AM
Not likely. Jim is a master of assembly language programming on the 8088. I don't think that QB gives you tight enough code to match the hand coded assembler that he has done.

well, by "tricks" i meant load a frame at a time from the "video" file (in the file format he made, each video frame is 4000 raw bytes) and store it in a 4000 byte string variable.. then put in a string simple "hand-compiled" ASM that copies the 4000 bytes from qb's variable location directly to the CGA memory page followed by a return opcode. you can do a call absolute to the pointer of the string you put the raw binary code into.

the only thing is that it would basically be mostly ASM... qb wouldnt have much to do with it except load file data so maybe my point is moot. :)

mbbrutman
October 1st, 2006, 06:38 AM
Let's explore that a little further.

Using QB to load a full page of data (4000 bytes) would mean copying it once from the file to your buffer. And then you have to move it from your buffer to the video buffer.

That makes you already 2x slower than the optimal solution, which is to have the results of the file read dumped straight into the video buffer, thus eliminating the second 4000 byte memory copy.

C and other languages can do this for you. QB puts you at a disadvantage because by not letting you make mistakes, it also ties your hands.

Mike Chambers
October 1st, 2006, 12:02 PM
true... maybe it could pull off... 15-20 FPS? dunno...

oh well, all i do know is i need to freakin' learn some C. it can't be THAT hard, i am expert in BASIC i think.. i should be able to transition.

mbbrutman
October 1st, 2006, 01:39 PM
I've told other people this, but they are skeptical.

C is all you need. If you master C, C++ is trivial. Java is easy as well. Even assembler isn't too far out of reach, as many people refer to C as glorified assembler.

Languages like Perl and Python have lots of flash, but you can't write an operating system with them.

carlsson
October 2nd, 2006, 12:05 PM
Ok, quite a bit off-topic, but *cough* on that C++ is trivial for anyone who knows where to put his both feet into the C pasture. Dunno about real Java, I never seriously tried to get into that language.

However, I agree that when it comes to squeezing the most out of your vintage computer, nothing beats hand-coded assembler. Perhaps with modern computers the situation is a bit different, but in this context I'm quite convinced that what one just manages to accomplish from optimized assembly code, is close to impossible to get from C or even less QB, no matter how effective compiler it offers.

mbbrutman
October 2nd, 2006, 01:26 PM
C is pretty good on hardware. Never as good as assembler, but you'd never get your projects done if you had to start with assembler each time.

Even something as primitive as Turbo C++ 3.0 for DOS (which is my weapon of choice) lets you do the following:

- Declare pointers into arbitrary regions of memory.
- Access by byte, word, or double word, signed or unsigned
- Hint to the compiler that a variable should be in a register.
- Bit shift and other logical operations

Where C falls down is when you need to expose primitives that the hardware provides that the compiler doesn't know to take advantage of. For example, on x86 hardware the LOOP instruction can be used to construct a for loop, but the compiler doesn't like to generate that instruction for some reason. Or the XCHG instruction is great for byte swapping, but there is no construct in C that maps to that.

And for those cases, Turbo C++ 3.0 lets you use inline assembler. :-)

Most OS work involves maintaining data structures. C is very adept at that. Which is why most OSes are in C, with a sprinkling of assembler.