A question to Mega Drive/Genesis musicians out there.

Discussion in 'Discussion & Q&A' started by MarkeyJester, Oct 31, 2016.

  1. MarkeyJester

    MarkeyJester It takes only one mistake. Member

    Joined:
    Jun 27, 2009
    Messages:
    2,511
    Location:
    Miss Fox's heart~
    For years, many of us have been experimenting with PCM playback methods through the DAC. J-man was one of the first within the Sonic scene to write a simple PCM driver, and others such as myself, vladikcomper, flamewing, etc. Have experimented with some more interesting and beneficial methods.

    Well, I'm considering writing and releasing a dual PCM playback driver (i.e. two DAC channel playback) to the community, now, I'm not talking about any "ordinary" dual playback here. I've been experimenting ever since before the Chaos Layer, and I think it may be possible to write a driver to playback ANY two samples, of ANY size, ANYWHERE in the ROM, all the while avoiding quality loss caused by DMAs and halts.

    The problem I have here, is I have released loads of tools, code, and so forth in the past, and while they got a somewhat good reception this is somewhat meaningless since no one actually used them. If I made this unlimited dual PCM driver, would any of you actually use it? I'm interested in doing it, but I do not wish to waste my time if no one's going to end up using it.
     
    Last edited: Nov 13, 2016
  2. CaveQuest

    CaveQuest Creator and moderator for the telephone projects Member

    Joined:
    Jul 18, 2015
    Messages:
    704
    Location:
    Sweden
    I would certanly use it.
     
  3. Robot Echidna

    Robot Echidna Don't you know what S.A.M.G. is? Member

    Joined:
    Aug 8, 2008
    Messages:
    814
    Location:
    Angel Island
    I will surely use it. I waited for such thing during years and I still doesn't have it. Still, my ASM knowledge won't allow me to do such thing by myself, so I'd use this for sure. I'm totally with it.
     
  4. Ozaleto

    Ozaleto SEGA! Member

    Joined:
    Aug 6, 2009
    Messages:
    119
    I would 100% be using it. Dual PCM is something I always wanted to work with. No trackers even have that ability to do so yet.
     
  5. CaveQuest

    CaveQuest Creator and moderator for the telephone projects Member

    Joined:
    Jul 18, 2015
    Messages:
    704
    Location:
    Sweden
    It will replace the MegaPcm probably.
     
  6. A-S-H

    A-S-H Moderator and Host of the SMPS Competition Member

    Joined:
    Jun 5, 2015
    Messages:
    329
    Location:
    Music Plant Zone
    Dual DAC would definitely be something I'd use, although I'm not sure if mid2smps and SMPSPlay would support this. After all, these are made for S1's driver. So if ValleyBell were to ever support this in his programs, I'd use it for sure!
     
  7. MarkeyJester

    MarkeyJester It takes only one mistake. Member

    Joined:
    Jun 27, 2009
    Messages:
    2,511
    Location:
    Miss Fox's heart~
    Let me just put this into clear perspective, it's not meant to "replace" anything.

    There will be things it won't have, some sacrifices will need to be made, such as pitch control or volume control, in order to keep the sample rate reasonably high enough, but we'll see. What's important, is getting a prototype that does what I specified it to do first. What you'll likely end up with, is a "choice", i.e. another driver option. Not a replacement.
     
    Ozaleto, Robot Echidna and Pacguy like this.
  8. Xernom

    Xernom Well-Known Member Member

    Joined:
    Aug 12, 2012
    Messages:
    654
    It's still a good thing. We can make more digital quality-like music with dual DAC, for example this is good thing for dark ambient/industrial music composers, because we can use more twisted and dark samples with better quality for hacks with atmosphere like in Ecco The Dolphin, Sonic Spinball games. :) I'm supporting this thing. ;)
     
  9. Natsumi

    Natsumi Markey's Member

    Joined:
    Oct 7, 2011
    Messages:
    470
    Location:
    Otter's lap
    You fucking kidding me mate? Of course I would use this! In fact, I've been for the longest time toying around with making music purely out of samples, but I never could make it reasonable because you cant play multiple samples at once, and you end up with huge files because of it. With this, I could easily make PCM music just out of two samples and make really interesting ways to write music with this, while keeping the ROM size small. It would be the most awesome thing to work with for sure.
     
  10. Novedicus

    Novedicus Oh Member

    Joined:
    Aug 26, 2013
    Messages:
    627
    Yes yes yes yes yes, I would LOVE to use this for my next big Sonic hack and homebrew!

    They won't be meme games, I promise lol.
     
    Last edited: Oct 31, 2016
  11. Mr. Cat

    Mr. Cat The Trainee Holy Cat Member

    Joined:
    May 31, 2014
    Messages:
    292
    Location:
    Russia (why am i living there?...)
    I'm not a musician, but i will sure play around with that!
     
  12. Kaz

    Kaz Well-Known Member Member

    Joined:
    Nov 2, 2013
    Messages:
    66
    While I show no excitement, I say this one word: Yes.
     
  13. FireRat

    FireRat "The grand imitator..." Member

    Joined:
    Feb 25, 2016
    Messages:
    116
    Only two questions:
    - What's the max sample rate you think it is possible to get, so far? Either the "goal" to meet or the current status
    - Still slowly learning the z80 instruction set here, but think is it possible to run the Dual DAC through a z80-only SMPS driver, by sacrifying sample rate?
     
  14. Clownacy

    Clownacy UP - ON - CPU Staff

    Joined:
    Aug 15, 2014
    Messages:
    701
    Location:
    Englandland
    I'd definitely add that DAC driver to my Clone Driver v2, if that means anything. I was planning on writing a dual DAC driver anyway; still have an old proto lying around.
     
    Robot Echidna likes this.
  15. Royameadow

    Royameadow Welcome to the modern existence. Member

    Joined:
    Feb 21, 2012
    Messages:
    196
    Location:
    Lynn MA, North America
    As somebody who would love to view more titles on the Genesis and Megadrive with unique sound capabilities, such as having vocal clips play alongside background music on the DAC at the same, or even more optimized Stereo and/or Surround Sound functions and liberties for samples, I wholeheartedly would approve of a Dual DAC sound driver entirely, it would give me a reason to work on more of my original YM2151 tracks for use as samples and I definitely would enjoy it if would allow for the background music or percussion to continue playing without being interrupted by a vocal sample or something similar.
    Personally, I also feel that a driver with Dual DAC/PCM Playback would allow for better re~ports of Arcade and PC titles of the time that had sounded horrible on the drivers that were available back then (whether they were using SMPS, GEMS, or even select custom ones); the ports of NBA Jam and Hangtime to the console are perfect examples of where this would have helped out massively, especially in the case of Jam and Jam TE, where their Arcade cabinets had Dual YM2151 and Dual Sample Playback (One DAC channel for the percussion, and an OKI channel for Tim Kitzrow and the other vocals) to begin with, which I believe is why the music took a plunge when Iguana went with the GEMS driver for it, as they didn't have all of the liberties that the original cabinets had in 1993 and '94, so I hope that such a driver could remedy this issue to some extent, I would love to view Homebrew ports of major titles finally get their rightful due with a driver that makes for better audio capabilities such as Dual DAC/PCM full throttle.
     
  16. MopeDude

    MopeDude ... In Limbo

    Joined:
    Feb 15, 2016
    Messages:
    25
    Yes, I love this idea! But if people want to rip music from hacks, People can easily do it with this driver. In the end, stealing content. Also, I won't be replying since the next post will be a hack.
     
  17. Natsumi

    Natsumi Markey's Member

    Joined:
    Oct 7, 2011
    Messages:
    470
    Location:
    Otter's lap
    How... Exactly? It's no different with this than MegaPCM, I would think. Ripping samples is piss easy anyway, its easy to find sample data in a ROM and convert it accordingly.
     
  18. SaunicBoom

    SaunicBoom Wild Card Member

    Joined:
    Sep 14, 2007
    Messages:
    322
    Location:
    United States of America
    While I'm not a musician myself (feel free to disregard my opinion if it holds no merit because of this), my question to all of you considering using such a driver like the one being proposed is if you're ready for something new. More specifically, if you've gotten all that there is to be had with the current tools released so far. I don't see this being used for malevolent purposes like Mopedude is suggesting, but instead wonder how much this driver will be pushed to its limits by hackers implementing it into their works. I'm game for people working with a new, updated set of tools, but not if they're going to let their true potential go to waste.
     
    FireRat and Royameadow like this.
  19. ProjectFM

    ProjectFM Jack of all trades; master in training Member

    Joined:
    Oct 4, 2014
    Messages:
    566
    Location:
    Portland, Maine
    It would be awesome if you released a DAC driver like this. However, I will likely not use it because my hack uses Sonic 3's driver and I really have no use for it right now. I might use it in the future.

    I have a few questions about the driver:
    • How could you play more than one sample at once in an SMPS songs? Would you have to use the command that plays a DAC sample or would it be possible to have two sections of code for the separate DAC channels?
    • Will you include a subroutine that plays a certain sample like the PlaySample subroutine in MegaPCM?
    • How does the driver know whether to use the first DAC channel or the second DAC channel? Are the samples assigned channels or does it assign a sample to the second channel only if the first channel is being played?
     
  20. MarkeyJester

    MarkeyJester It takes only one mistake. Member

    Joined:
    Jun 27, 2009
    Messages:
    2,511
    Location:
    Miss Fox's heart~
    I am going to write it in the same manner that I have done previously with Chaos Layer. The Z80 will have two sample address slots in Z80 RAM, you write the sample address to those slots (whichever one you want), and it'll start playing, that's it, simple.

    How your 68k driver controls it will be entirely up to you, you can do it however you want. I will however, make a standard/basic modification to a normal SMPS driver, so that you've all got something to use and/or learn off of to write your own stuff.

    I'm not taking requests (yet), making the driver work is top priority, I also don't want you all to get excited, I don't "know" if it'll work as well as we'd want it to, I'm just confident that it "may" be possible if the right thing is done at the right time.

    If it works reasonably enough to satisfy the ears, I'll take requests, but also, I'll make the source code open. I actually want to get other engineers involved in this later on, I think we've suffered poor PCM quality and control for a long time, it would be nice to extend these drivers to a point of mathematical and audio perfection.
    I'm taking this off topic just briefly to say, that I don't care.

    You guys simply don't get it, it's not about "stealing", that has NEVER been the actual problem. The real problem is "how that stolen content has been used".

    If someone stole something from my ROM, yeah, I'll be a little upset, but I'll be less so provided it was used in an awesome and mind blowing way, something like that I would encourage if it meant unique, different, and quality hacks to play. And if it's used in hacks of poorer quality, I usually don't get passed the title screen before closing the emulator down, so stolen content is irrelevant at that point.

    I do appreciate your concern, it was a good thought, but remember, it's not the content, it's how it's used.
     
    Last edited: Nov 13, 2016