Quantcast

Page 1 of 3 123 LastLast
Results 1 to 15 of 34

Thread: Direct Color DMA video demos

  1. #1
    ESWAT Veteran Chilly Willy's Avatar
    Join Date
    Feb 2009
    Posts
    5,795
    Rep Power
    50

    Default Direct Color DMA video demos

    This is a thread for demos of the "new" video mode using DMA to generate a direct color RGB display on the MD. For details on how it works, you might read the long thread over at SpritesMind. In the meantime, devs like yours truely will post some examples here.

    This first example is a simple raycast engine like used in Wolf3D. It draws a simple level using a few W3D textures. You move around using the d-pad, and A and C strafe left/right. That's all this does at the moment. This is a CD demo - ISO files are provided for US and EU. Burn to CDR and run on a real system - no emulators currently support direct color dma. Nothing special is needed - just a plain SegaCD/MegaCD/CDX/X'Eye/WonderMega. If you have a Japanese system, you'll either need to contact me for a JP ISO, or use a region-free BIOS with a flash cart.

    dmawolfdemo3.7z

    EDIT: And now with collision detection! No more walking through walls, but you do slide along them nicely when at an angle. I also made sure every area in the map can be reached... which is good since you can't reach them by walking through the walls anymore.

    Also has ISO files for all three regions.

    dmawolfdemo4.7z

    EDIT 2: Oh, I should mention this is a port of the demo, LCDWolf3D by Jeremy A. Burns. I changed it from floating point to fixed point, corrected some bugs, and completely replaced the collision detection code. I also use color textures as opposed to the B&W textures in the original. All source is, as usual, included in the archive.
    Last edited by Chilly Willy; 02-24-2013 at 10:41 PM.

  2. #2
    Death Adder's minion dr apocalipsis's Avatar
    Join Date
    Oct 2012
    Posts
    23
    Rep Power
    0

    Default

    Youtube or something, please?

    Fusion can't handle this.

  3. #3
    I remain nonsequitur Hero of Algol sheath's Avatar
    Join Date
    Jul 2010
    Location
    Texas
    Age
    35
    Posts
    9,935
    Rep Power
    77

    Default

    If chilly will let me, I'll run it through my everdrive and post it on Youtube later today.

  4. #4
    ESWAT Veteran Chilly Willy's Avatar
    Join Date
    Feb 2009
    Posts
    5,795
    Rep Power
    50

    Default

    Quote Originally Posted by sheath View Post
    If chilly will let me, I'll run it through my everdrive and post it on Youtube later today.
    Sure, no problem. I can make videos through my camera as it has motion jpeg ability, but it's a pain, particularly since it takes FOREVER for me to upload to youtube with my pokey DSL account.

  5. #5
    I remain nonsequitur Hero of Algol sheath's Avatar
    Join Date
    Jul 2010
    Location
    Texas
    Age
    35
    Posts
    9,935
    Rep Power
    77

    Default

    Yeah, same here with the upload but I can capture pretty quickly and just walk away. I only get about 500-600kbps upload speed, so it'll be a short couple of videos.

  6. #6
    ESWAT Veteran Chilly Willy's Avatar
    Join Date
    Feb 2009
    Posts
    5,795
    Rep Power
    50

    Default

    Quote Originally Posted by sheath View Post
    Yeah, same here with the upload but I can capture pretty quickly and just walk away. I only get about 500-600kbps upload speed, so it'll be a short couple of videos.
    I wish I got that on upload... if I saturate the entire upload bandwidth (meaning the connection cannot be used for anything else), I get just over 200 kbps. I try to keep it to about 100 so that the connection can be used for other things while uploading.

  7. #7
    I remain nonsequitur Hero of Algol sheath's Avatar
    Join Date
    Jul 2010
    Location
    Texas
    Age
    35
    Posts
    9,935
    Rep Power
    77

    Default

    Yeah, if I don't throttle the upload to below 500kbps I won't be able to do anything else either. Out of curiosity, what do you use to throttle your upload speed? I tried netlimiter but it seems like it wants me to buy it now, I haven't looked into a demo version yet.

    The video will be up at the link below in about an hour.
    http://youtu.be/K-LQedrIQ_8

  8. #8
    Joe Redifer's Avatar
    Join Date
    Dec 2005
    Location
    Denver, CO - USA
    Posts
    12,305
    Rep Power
    82

    Default

    I do not understand... what is the point of this? My Genesis displays direct RGB 100% of the time.

  9. #9
    I remain nonsequitur Hero of Algol sheath's Avatar
    Join Date
    Jul 2010
    Location
    Texas
    Age
    35
    Posts
    9,935
    Rep Power
    77

    Default

    I could be wrong, but I have been assuming that the Direct DMA method allows for the entire 512 palette to be displayed simultaneously, rather than just four 15-color palettes.

  10. #10
    ESWAT Veteran Chilly Willy's Avatar
    Join Date
    Feb 2009
    Posts
    5,795
    Rep Power
    50

    Default

    Quote Originally Posted by sheath View Post
    Yeah, if I don't throttle the upload to below 500kbps I won't be able to do anything else either. Out of curiosity, what do you use to throttle your upload speed? I tried netlimiter but it seems like it wants me to buy it now, I haven't looked into a demo version yet.

    The video will be up at the link below in about an hour.
    http://youtu.be/K-LQedrIQ_8
    Great! Thanks. I use wondershaper as I run linux. I just have it globally throttle the connection to 768kbps down and 128kbps up.

    Quote Originally Posted by Joe Redifer View Post
    I do not understand... what is the point of this? My Genesis displays direct RGB 100% of the time.
    No, it doesn't. It shows paletted graphics - you specify a pixel as one of 15/16 palette entries along with a palette number (0 to 3 for four palettes). You can also do shadow or high-light with the proper priorities and sprite pixel codes. This mode fetches RGB values from ram/rom and outputs said RGB value directly. You have a 198x224 bitmap for H40 mode, and 161x224 bitmap for H32 mode (my demo runs in H32 mode). Each pixel in the bitmap is 16 bits, where the bits are:

    b15-12 = don't care
    b11-9 = blue
    b8 = don't care
    b7-5 = green
    b4 = don't care
    b3-1 = red
    b0 = don't care

    This is probably easier to visualize: ---- bbb- ggg- rrr-

    This is generally called Direct Color on video cards, while modes that use a palette are called Indexed modes. Regular MD video is normally Indexed, and this "new" mode is Direct Color. The primary benefit is you can show all 512 possible RGB values in a single display with no tricks needed.

  11. #11
    Joe Redifer's Avatar
    Join Date
    Dec 2005
    Location
    Denver, CO - USA
    Posts
    12,305
    Rep Power
    82

    Default

    This video didn't seem to have many colors, but I know this was more proof of concept for now, correct?

  12. #12
    Hero of Algol kool kitty89's Avatar
    Join Date
    Mar 2009
    Location
    San Jose, CA
    Age
    23
    Posts
    9,127
    Rep Power
    49

    Default

    Quote Originally Posted by Chilly Willy View Post
    Each pixel in the bitmap is 16 bits, where the bits are:

    b15-12 = don't care
    b11-9 = blue
    b8 = don't care
    b7-5 = green
    b4 = don't care
    b3-1 = red
    b0 = don't care
    Wait, so CRAM DMA works on 16-bit words per color entry? I thought it used packed 12-bit words (with 3 bits "don't care" in that respect).
    If it's directly reading 16-bit words, that makes this much more useful for software rendering . . . just 1 16-bit write per pixel. (or 32-bit writes for fast fill and block moves when useful -slightly less overhead than 16-bit fills/moves for the 68k iirc)

    That would mean a peak fill-rate of 3.125 Mpix/s for the CD CPU and peak copy rate (for unscaled textures, etc) of 1.25 Mpix/s.
    6 days older than SEGA Genesis
    -------------
    Quote Originally Posted by evilevoix View Post
    Dude it’s the bios that marries the 16 bit and the 8 bit that makes it 24 bit. If SNK released their double speed bios revision SNK would have had the world’s first 48 bit machine, IDK how you keep ignoring this.

  13. #13
    ESWAT Veteran Chilly Willy's Avatar
    Join Date
    Feb 2009
    Posts
    5,795
    Rep Power
    50

    Default

    Quote Originally Posted by Joe Redifer View Post
    This video didn't seem to have many colors, but I know this was more proof of concept for now, correct?
    Correct. It's a simple demo to show other devs how you can make a simple SCD game that uses the mode for bitmapped direct color graphics. Wolf3D is notorious for low color counts (but still more than you'd get with the paletted MD graphics without a lot of tricks).


    Quote Originally Posted by kool kitty89 View Post
    Wait, so CRAM DMA works on 16-bit words per color entry? I thought it used packed 12-bit words (with 3 bits "don't care" in that respect).
    If it's directly reading 16-bit words, that makes this much more useful for software rendering . . . just 1 16-bit write per pixel. (or 32-bit writes for fast fill and block moves when useful -slightly less overhead than 16-bit fills/moves for the 68k iirc)
    Exactly - look at the code (included in the arc). All writes to the bitmap are words (16 bits). No need to try to merge nibbles or whatnot. It's SLIGHTLY wasteful in that you aren't using one full nibble, but quick and easy for bitmap operations.

    That would mean a peak fill-rate of 3.125 Mpix/s for the CD CPU and peak copy rate (for unscaled textures, etc) of 1.25 Mpix/s.
    It's quick, all right. Even better, for SCD games the only thing you need to do to make the drawn bitmap available to the VDP is flip the word ram bank. You can actually do that at any time, but if you don't want to see mid-screen changes, you want to wait until the vblank to flip, which is what the demo does. It renders one frame, waits on the vblank, then flips the word ram. There's no uploading to vram needed for this mode - the VDP DMAs the data from the MD side rom or ram (which includes the CD word ram) straight to the CRAM register. That's a major issue with trying to do bitmapped graphics in the regular MD modes - you have to upload the bitmap to the vram in cell format.

    It's not all peaches and cream - some disadvantages include: The horizontal resolution is half the normal resolution - H40 mode is normally 320 pixels, but is 160 for direct color; H32 is normally 256 pixels, but is 128 for direct color. You also get no palette effects since the palettes aren't used. This is DIRECT color, so if the colors must change, you HAVE to redraw the bitmap with the new colors. Another disadvantage is you don't get all the scrolling support, or multiple layers, or sprites. ALL you have is the single bitmap. You can move that bitmap around a bit by changing the start address of the DMA, but it's a simple full plane scroll or nothing.

    So the mode is good for some things, like Wolf3D, and not so good for others, like Sonic.

  14. #14
    Raging in the Streets TrekkiesUnite118's Avatar
    Join Date
    May 2010
    Age
    25
    Posts
    4,335
    Rep Power
    41

    Default

    Quote Originally Posted by Joe Redifer View Post
    This video didn't seem to have many colors, but I know this was more proof of concept for now, correct?
    Here's a video I put up of the last demo he did that just showed stills:


  15. #15
    Hard Road! Raging in the Streets Barone's Avatar
    Join Date
    Aug 2010
    Posts
    2,801
    Rep Power
    40

    Default

    So, uh, this "new" mode means that, with a Sega CD attached, the Genesis is actually capable of 512 on screen colors (with the resolution restrictions, of course)?
    Vote for a new Mega Drive/Genesis game here:
    http://www.facebook.com/questions/10151004943161671/
    Quote Originally Posted by eddiespruce View Post
    There were better games on the CD-i than there were on the 3DO.
    Quote Originally Posted by Olls View Post
    That is definitely true. SNES games are overall more well-balanced. The Mega Drive has many more (extremely) difficult games for no other reason than bad game balance and sometimes shitty controls.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •