Jump to content
Curt Vendel

XM has shipped!

Recommended Posts

2 hours ago, CPUWIZ said:

 

Actually, my Versa PLD code can pick up the POKEY in many locations, so for instance, if you code for $0450 for XM, you can also trigger the Versa POKEY at $0500 for instance, but you probably can't mix the two on your board.

 

I'm just content that it will enable using your mini mega boards in place of using pokey and ram on everything that would otherwise need it. It will make production cost much cheaper and would streamline production with a tiny pcb being a catchall for so many different flavors of program requirments. A HSC cart built in is great and I could care less about anything else like the talk of dual pokey that nobody really needs or anything from the yamaha chip that doesn't have a single game in the works for yet.

  • Like 1

Share this post


Link to post
Share on other sites

The DX-100 has a YM2164 vs a YM2151 in the XM - those are very similar chips, but not identical. In theory translating your DX-100 patches would just be a matter of hitting the correct YM2151 registers with the values used in your patches, while accounting for the differences. In practice, you'd probably need to get a midi sysex dump out of the synth and do something programmatic to pull the patch register info out of that.

 

I'm planning at building an import for YM2151 OPM instrument patches into 7800basic, as part of it's music tracker. There's a ton of OPM patches on the internet, including patches that are imported from the default FB-01 patch set. (another YM2164 synth, like your DX-100.)

 

There's going to be a lot of bytes we'll need to send to manage the ym2151, in addition to keeping track of a lot of voices - 8x YM voices, 4x POKEY voices, and 2x TIA voices. it should be interesting to see how much of a toll all of this takes on the 6502.

 

  • Like 5
  • Thanks 1

Share this post


Link to post
Share on other sites
8 minutes ago, RevEng said:

There's going to be a lot of bytes we'll need to send to manage the ym2151, in addition to keeping track of a lot of voices - 8x YM voices, 4x POKEY voices, and 2x TIA voices. it should be interesting to see how much of a toll all of this takes on the 6502.

 

Title screen music, baby!

  • Like 5

Share this post


Link to post
Share on other sites
3 hours ago, CPUWIZ said:

Title screen music, baby!

For sure, and in-game fancy sound effects and musical flourishes. :thumbsup:

 

If people are looking for "Sonic, Green Hill Zone" type music during in-game, that capability really remains to be seen. Fingers crossed.

  • Like 2

Share this post


Link to post
Share on other sites
5 hours ago, RevEng said:

The DX-100 has a YM2164 vs a YM2151 in the XM - those are very similar chips, but not identical. In theory translating your DX-100 patches would just be a matter of hitting the correct YM2151 registers with the values used in your patches, while accounting for the differences. In practice, you'd probably need to get a midi sysex dump out of the synth and do something programmatic to pull the patch register info out of that.

 

I'm planning at building an import for YM2151 OPM instrument patches into 7800basic, as part of it's music tracker. There's a ton of OPM patches on the internet, including patches that are imported from the default FB-01 patch set. (another YM2164 synth, like your DX-100.)

 

There's going to be a lot of bytes we'll need to send to manage the ym2151, in addition to keeping track of a lot of voices - 8x YM voices, 4x POKEY voices, and 2x TIA voices. it should be interesting to see how much of a toll all of this takes on the 6502.

 

This is awesome.

 

I do a lot of 80s synth music (under the musical project name Synthetik FM) and one of my signature sounds is a kick drum patch I made on my DX-100 synth.  If this and my other percussion sounds can be imported, this would rock my world.

  • Like 2

Share this post


Link to post
Share on other sites

This discussion reminds me that I still haven't tested my Yamaha Pac-man sound test.  I'll have to post a video.  :) One potential issue I see is that after writing a byte to the Yamaha, you need to poll it to know when it's ready for the next byte to be written.  I haven't done any testing to see how many CPU cycles it takes, or if the duration varies.  It may just be a matter of waiting a certain number of cycles between writes.

  • Like 5

Share this post


Link to post
Share on other sites
1 hour ago, tep392 said:

One potential issue I see is that after writing a byte to the Yamaha, you need to poll it to know when it's ready for the next byte to be written.  I haven't done any testing to see how many CPU cycles it takes, or if the duration varies.  It may just be a matter of waiting a certain number of cycles between writes.

From experience working with this chip family - it's easy (and relatively performant) to interleave processing channel data within the worst case write delay time for each channel rather than polling each flush. But in any case you're going to lose a good amount of cycles handling audio updates, there's a reason most arcade boards dedicated a CPU for this task.

 

The overhead won't be bad enough that it's impossible to run anything, but it's still significantly more than none.

  • Like 5

Share this post


Link to post
Share on other sites

Ok ...

 

Tonight I will post up all my DX100 .syx files, in case someone (maybe RevEng for 7800basic) wants to play with making code that imports these sounds into a format that can be used on the 7800 with a Yamaha chip 

  • Like 4

Share this post


Link to post
Share on other sites

As promised, here is a little Yamaha test.  It's a little rough, but it's also the first attempt I made about 7 years ago.  It's a few Pac-man tunes and sound affects.  It sounds fast, so I might have assembled it for 50hz on PAL systems.  Groovybee was helping me test at the time since I didn't have an actual XM.

 

 

  • Like 17

Share this post


Link to post
Share on other sites
1 hour ago, tep392 said:

As promised, here is a little Yamaha test.  It's a little rough, but it's also the first attempt I made about 7 years ago.  It's a few Pac-man tunes and sound affects.  It sounds fast, so I might have assembled it for 50hz on PAL systems.  Groovybee was helping me test at the time since I didn't have an actual XM.

 

 

 

Awesomesauce! :)

 

  • Like 1

Share this post


Link to post
Share on other sites
15 hours ago, TailChao said:

From experience working with this chip family - it's easy (and relatively performant) to interleave processing channel data within the worst case write delay time for each channel rather than polling each flush. But in any case you're going to lose a good amount of cycles handling audio updates, there's a reason most arcade boards dedicated a CPU for this task.

 

The overhead won't be bad enough that it's impossible to run anything, but it's still significantly more than none.

 

As CPUWIZ mentioned, Title screen music should be a viable option. Player deaths, game overs and actions that are not time sensitive could be used for this as well. I have to be honest though, I really don't see that much of an improvment in sound with the Yamaha that would be worth sacrificing extra cycles compromising timing that could be saved using other methods, especially if the POKEY doesn't take away as many cycles for the same actions to perform the calls.

  • Like 1

Share this post


Link to post
Share on other sites

I see them as complimenary. Each with their own strengths. And since they are both available, they can be used together. In practice, most of the bytes written to the yamaha are to setup the instruments. Once thats done, its just note data and durations. Pokey actually requires more overhead when trying to do attack/rise/sustain/decay type musical notes because its all cpu work. Yamaha handles that stuff internally. 

  • Like 7

Share this post


Link to post
Share on other sites

You guys rock!  As I said before, I'm not on the pre-order list, but can't wait to put my $ down on a unit once they become available to the masses.

  • Like 6

Share this post


Link to post
Share on other sites
On 1/28/2020 at 7:59 PM, Curt Vendel said:

Still hoping someone will do Marble Madness, maybe Gyruss on the 7800

X2 on Marble Madness. The NES version just doesn't cut it for me.

Given the quality of Galagon for the 2600, I'm convinced Gyruss can be done for the 7800.

  • Like 7

Share this post


Link to post
Share on other sites
1 minute ago, Zonie said:

X2 on Marble Madness. The NES version just doesn't cut it for me.

Given the quality of Galagon for the 2600, I'm convinced Gyruss can be done for the 7800.

Another vote for 7800 Gyruss.

  • Like 3

Share this post


Link to post
Share on other sites
7 hours ago, tep392 said:

I see them as complimenary. Each with their own strengths. And since they are both available, they can be used together. In practice, most of the bytes written to the yamaha are to setup the instruments. Once thats done, its just note data and durations. Pokey actually requires more overhead when trying to do attack/rise/sustain/decay type musical notes because its all cpu work. Yamaha handles that stuff internally. 

 

Very good. :) 

  • Like 1

Share this post


Link to post
Share on other sites

Now that I have 1 fully working and 1 without a case 7800, I'm looking forward to this!  While waiting, I'll see if I can put my meager CAD skills to work and create a bottom replacement for the other 7800, probably will make one model that is normal and one that has holes for the composite mod...

Share this post


Link to post
Share on other sites

Hi guys:

 

Here is my video on demoing the XM...  sorry it's in 4 parts (and yes, I know I need to vacuum the rug).

 

Part 1: 

Part 2: 

Part 3: 

 

Part 4: 

 

 

Curt, if I missed anything, please let me know - I did these kind of quickly.

  • Like 19
  • Thanks 1
  • Haha 1

Share this post


Link to post
Share on other sites

Great PMP.  Waiting for your next 2 XM games you mentioned!!!

 

Can we see the easter egg game?!?!?!

 

  • Like 2

Share this post


Link to post
Share on other sites

Thanks for the video Bob. I can’t wait to see what your able to do with it. 
 

p.s. I love that Pac-man clock. 

 

p.p.s. Love the Apple IIc also.  The first computer I purchased with my own money was an Apple IIe.

  • Like 3

Share this post


Link to post
Share on other sites
1 hour ago, PacManPlus said:

Hi guys:

 

Here is my video on demoing the XM...  sorry it's in 4 parts (and yes, I know I need to vacuum the rug).

 

[...]

 

Curt, if I missed anything, please let me know - I did these kind of quickly.

 

Loved the videos, with the off-the-cuff dialog and unedited console-drop blooper. :D It's like we were invited over for coffee and show-and-tell.

 

I also was hella distracted by that cool LED pacman clock, and your matching decor. :thumbsup:

 

  • Like 8

Share this post


Link to post
Share on other sites

Thanks for the videos PMP.  I'm not the best at picking up on subtle clues, but from that game room you have, I might almost get the impression you are a fan of Pac Man 🙂

 

Sorry for off-topic - but can you give me sdome details on the Roland drum kit you have please?

  • Haha 1

Share this post


Link to post
Share on other sites
2 hours ago, tep392 said:

p.p.s. Love the Apple IIc also.  The first computer I purchased with my own money was an Apple IIe.

Pretty cool! We had Apple IIe's in high school with Silentype (thermal) printers. 

 

@PacManPlus Thanks for the videos! Can't wait to see *cough*defender*cough*.

  • Like 2
  • Haha 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...