YouTube home Comedy Week on YouTube
Upload

Doom on CGA (monochrome), 16-color EGA and the NES

Bisqwit Bisqwit·284 videos
1,991
7,603
Like     Dislike 5

Sign in to YouTube

Sign in with your Google Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to like Bisqwit's video.

Sign in to YouTube

Sign in with your Google Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to dislike Bisqwit's video.

Sign in to YouTube

Sign in with your Google Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to add Bisqwit's video to your playlist.

Uploaded on Jan 22, 2011

This video illustrates running the PC game Doom on the CGA, EGA and NES displays*. It is a continuation to this video that I uploaded previously: http://www.youtube.com/watch?v=9YoqUM...

The different display modes featured in this video are listed below.
-- 1: CGA monochrome 640x200 mode (QBASIC's SCREEN 2) on a RGB display. There are exactly two colors: Black and White. One of the colors could be changed to any of the standard 16 CGA colors (for the entire screen at once), but I chose to stick with white.
-- 2: EGA 640x350 16-color mode (QBASIC's SCREEN 9). Palette was hand-chosen from the 64-color available selection on the EGA.
-- 3: Nintendo Entertainment System. Uses 256x224 display, divided into 16x16 tiles, each being a 2-bit bitmap + a 2-bit index to a list of palettes. A total of 4 palettes per screen, each palette being 3-color + one global background color (black here). Basically 13 colors were chosen from the NES's available 53 colors. Sprites were not utilized. Technically, this would be possible to do on the NES, except for the fact that the NES PPU's memory is not nearly fast enough to update the screen this fast. Maybe if you had a cartridge with a custom mapper that remaps VROM instantaneously so all you'll have to do is update the attribute tables once per frame. But then there's also the per-screen limit of unique tiles (tile number), which is not addressed in this video.

I am positively surprised how good each of these turned out, especially the EGA one. Doom would have been totally playable on the EGA! Marginally playable also on the CGA. Handhelds designers, take note!

* Or rather, it is a recording of shareware Doom being played on VGA mode 13h earlier, that I postprocessed to conform to the hardware constraints of each output device. It contains the same video clip three times, rendered with different color features. It is NOT a palette hack on 256-color Doom; no extra WADs or TSRs were loaded.

All the colorization, quantization and dithering was done with animmerger, http://bisqwit.iki.fi/source/animmerg...
I used positional dithering, because it is very well suited for animation, and because I like its appearance. Non-positional error-diffusion dithering methods, such as floyd-steinberg, produce massive amounts of *jittering* garbage.

One thing which I wanted to do, but I don't have the technology for it yet, is that I wanted to make the music & sound in the NES section sound like it would actually be on the NES. That is, two square wave channels, one triangle wave, one noise generator and one DPCM channel is all you get. But doing this would have delayed this video probably indefinitely; I've been wanting this for years so far but I have yet to make a breakthrough. I also contemplated on transforming the sound like it comes through the PC speaker (using the 6-bit PCM PIT trick) and using that in the CGA sections (I've tested similar conversions earlier successfully), but somehow I didn't feel it is necessary.

P.S. I think Doom's sound effects, especially the monster sounds, are awesome.

Here is the explanation of new the original dithering algorithm that I use in this video: http://bisqwit.iki.fi/story/howto/dit...

  • Category

  • License

    Standard YouTube License

Loading icon Loading...

Loading icon Loading...

Loading icon Loading...

Loading icon Loading...

Ratings have been disabled for this video.
Rating is available when the video has been rented.
This feature is not available right now. Please try again later.

Uploader Comments (Bisqwit)

  • DamarSweetness

    I though monochrome was 2 bits? this is 16 color so this is 4 bits?

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate DamarSweetness's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate DamarSweetness's comment.
  • Bisqwit

    Monochrome is one-bit. One bit yields two different values: on, off. EGA is 16-color. 16 distinct values can be represented by 4 bits. The 8-bit pixels of VGA can select a value from a selection of 256 colors.

    This video contains illustrations using various techniques, including monochrome CGA and 16-color EGA.

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Bisqwit's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Bisqwit's comment.
    in reply to DamarSweetness (Show the comment)
  • Bisqwit

    @221b Good point. But I predict that it would still be quite playable using that custom palette even on 320x200 @ 4bpp. (I would post this as an actual reply to your comment, but YouTube is giving me just a "Error, try again".)

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Bisqwit's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Bisqwit's comment.
  • Roger Jowett

    is it interlaced? or interlaceable?

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Roger Jowett's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Roger Jowett's comment.
  • Bisqwit

    I don't understand how that is a relevant question. In any case, there is no interlacing involved. As for your other question -- in the future, please put your thoughts in a single post rather than posting multiple comments at once to the same video -- I am not aware of software that does this kind of effect to arbitrary videos in real time. Not to say that it cannot exist. My software, animmerger, does this, but not in real time to a video. It converts PNG files to another set of PNG files.

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Bisqwit's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Bisqwit's comment.
    in reply to Roger Jowett (Show the comment)

Top Comments

  • Bisqwit

    I'm not trying to "prove" anything. This video is meant for entertainment purposes, to show _how_ it could appear, if the game _had_ to render on a video card that has those particular limitations (given enough processing power and bandwidth).

    · 6

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Bisqwit's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Bisqwit's comment.
    in reply to OpticalFascism (Show the comment)
  • jgcooper

    too much dithering

    · 5

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate jgcooper's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate jgcooper's comment.

All Comments (74)

Sign in now to post a comment!
  • DamarSweetness

    i see now, I commented before watching the other half of the video (with the 4-bit). It is surprisingly playable in only 2 bits. It like dog vision.

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate DamarSweetness's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate DamarSweetness's comment.
    in reply to Bisqwit (Show the comment)
  • 221b

    I don't see how it's much of a surprise that the game is playable in dithered EGA. The original ran in 320x200 resolution. The EGA mode that you chose had a resolution of 640x350. At 8 bits per pixel, the original version of DOOM displayed 512,000 bits of information on the screen at a time. At 4 bits per pixel, your EGA mode shows 896,000.

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate 221b's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate 221b's comment.
  • Roger Jowett

    any software that does this on the fly?

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Roger Jowett's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Roger Jowett's comment.
  • Bisqwit

    Noise is not bad thing, when it is random. When there are noticeable patterns in it, it becomes bad, no matter how high the framerate.

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Bisqwit's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate Bisqwit's comment.
    in reply to Jon Olick (Show the comment)
  • SuperBIGBFG

    Not bad.

    ·

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate SuperBIGBFG's comment.

    Sign in to YouTube

    Sign in with your YouTube Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to rate SuperBIGBFG's comment.
  • Loading comment...
Loading...
Loading...
Working...
Sign in to add this to Watch Later