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
    6,744
    Rep Power
    75

    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
    Wildside Expert dr apocalipsis's Avatar
    Join Date
    Oct 2012
    Posts
    141
    Rep Power
    8

    Default

    Youtube or something, please?

    Fusion can't handle this.

  3. #3
    I remain nonsequitur Shining Hero sheath's Avatar
    Join Date
    Jul 2010
    Location
    Texas
    Age
    40
    Posts
    13,313
    Rep Power
    128

    Default

    If chilly will let me, I'll run it through my everdrive and post it on Youtube later today.
    "... If Sony reduced the price of the Playstation, Sega would have to follow suit in order to stay competitive, but Saturn's high manufacturing cost would then translate into huge losses for the company." p170 Revolutionaries at Sony.

    "We ... put Sega out of the hardware business ..." Peter Dille senior vice president of marketing at Sony Computer Entertainment

  4. #4
    ESWAT Veteran Chilly Willy's Avatar
    Join Date
    Feb 2009
    Posts
    6,744
    Rep Power
    75

    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 Shining Hero sheath's Avatar
    Join Date
    Jul 2010
    Location
    Texas
    Age
    40
    Posts
    13,313
    Rep Power
    128

    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.
    "... If Sony reduced the price of the Playstation, Sega would have to follow suit in order to stay competitive, but Saturn's high manufacturing cost would then translate into huge losses for the company." p170 Revolutionaries at Sony.

    "We ... put Sega out of the hardware business ..." Peter Dille senior vice president of marketing at Sony Computer Entertainment

  6. #6
    ESWAT Veteran Chilly Willy's Avatar
    Join Date
    Feb 2009
    Posts
    6,744
    Rep Power
    75

    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 Shining Hero sheath's Avatar
    Join Date
    Jul 2010
    Location
    Texas
    Age
    40
    Posts
    13,313
    Rep Power
    128

    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
    "... If Sony reduced the price of the Playstation, Sega would have to follow suit in order to stay competitive, but Saturn's high manufacturing cost would then translate into huge losses for the company." p170 Revolutionaries at Sony.

    "We ... put Sega out of the hardware business ..." Peter Dille senior vice president of marketing at Sony Computer Entertainment

  8. #8
    Shining Hero Joe Redifer's Avatar
    Join Date
    Dec 2005
    Location
    Denver, CO - USA
    Posts
    12,978
    Rep Power
    116

    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 Shining Hero sheath's Avatar
    Join Date
    Jul 2010
    Location
    Texas
    Age
    40
    Posts
    13,313
    Rep Power
    128

    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.
    "... If Sony reduced the price of the Playstation, Sega would have to follow suit in order to stay competitive, but Saturn's high manufacturing cost would then translate into huge losses for the company." p170 Revolutionaries at Sony.

    "We ... put Sega out of the hardware business ..." Peter Dille senior vice president of marketing at Sony Computer Entertainment

  10. #10
    ESWAT Veteran Chilly Willy's Avatar
    Join Date
    Feb 2009
    Posts
    6,744
    Rep Power
    75

    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
    Shining Hero Joe Redifer's Avatar
    Join Date
    Dec 2005
    Location
    Denver, CO - USA
    Posts
    12,978
    Rep Power
    116

    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
    28
    Posts
    9,713
    Rep Power
    60

    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.
    Quote Originally Posted by evilevoix View Post
    the PCE, that system has no extra silicone for music, how many resources are used to make music and it has less sprites than the MD on screen at once but a larger sprite area?

  13. #13
    ESWAT Veteran Chilly Willy's Avatar
    Join Date
    Feb 2009
    Posts
    6,744
    Rep Power
    75

    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
    Hero of Algol TrekkiesUnite118's Avatar
    Join Date
    May 2010
    Age
    29
    Posts
    7,733
    Rep Power
    104

    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

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
  •