Jump to content
IGNORED

YM2151 questions


Ecernosoft

Recommended Posts

Hello!

I've got 2 questions:

1. Apparently the very complex, 8 voice YM2151 occupies 2 bytes in $460 - $461 region. HOW DOES IT DO THAT????

2. Documents?

 

Thanks.

I want ICT3 to have 2151 support so that I can play sega-genesis music in my 48K, possibly lock-on ICT3. (I really hope I can make it lock on, because that way if you guys want to hack ICT3 to make your own game, you can make an "Expansion" for ICT3 (and sell it for much cheaper!) instead of making it from scratch. You can even do it in 7800basic (And if you need to, you can have it memory-mapped too so it can be MORE than 16KB) as well if 7800basic supports GOTO (jmp location) and GOSUB (jsr location).

Link to comment
Share on other sites

11 minutes ago, Ecernosoft said:

On another hand, I think YM2151 support will be delayed to ICT4

What are we supposed to do in the meantime? Play bloop beeps? 

 

I would include it in ICT 3 would make more sense. 

 

ICT 4 should require 3d glasses and to turn the set on it's side. 

 

ICT 5 would only function if your in the bathtub with the atari humidity sensor attachment on joystick port 2

 

That does leave to question ICT 6 AND 7. But you do have 15 mintues to come up with those game concepts before moving to ICT 9 and 10. 

 

  • Like 1
  • Thanks 1
  • Haha 5
Link to comment
Share on other sites

52 minutes ago, Jinks said:

What are we supposed to do in the meantime? Play bloop beeps? 

 

I would include it in ICT 3 would make more sense. 

 

ICT 4 should require 3d glasses and to turn the set on it's side. 

 

ICT 5 would only function if your in the bathtub with the atari humidity sensor attachment on joystick port 2

 

That does leave to question ICT 6 AND 7. But you do have 15 mintues to come up with those game concepts before moving to ICT 9 and 10. 

 

Hahaha.

In the mean-time, I'll use the POKEY.

  • Like 2
Link to comment
Share on other sites

http://bitsavers.org/components/yamaha/YM2151_199112.pdf

 

Go to town. It only takes up two bytes of address space because well it only has one bit of addressing.

 

If you were to read the documentation you'll see one address is for setting it to data input, one for address input.

Edited by Astal4
  • Like 1
Link to comment
Share on other sites

5 hours ago, Astal4 said:

http://bitsavers.org/components/yamaha/YM2151_199112.pdf

 

Go to town. It only takes up two bytes of address space because well it only has one bit of addressing.

 

If you were to read the documentation you'll see one address is for setting it to data input, one for address input.

OH! That makes sense.

 

I didn't read the doc at the time since I was busy working on ICT3.

 

I also don't really think ICT3 needs 2151 support. If I have ROM space left I will TRY though.

Edited by Ecernosoft
Link to comment
Share on other sites

It looks like this might be too late for ICT3 but in case it's useful in the future...

 

The documents I found useful are the attached user manual and the guide here: https://cx5m.file-hunter.com/fmunit.htm

 

Each channel has 26 registers for controlling the instrument sound. If you want to define your own instruments you would have to understand these, but luckily there are OPM packs with different predefined instruments available (I have attached the FB1 factory patches converted to register values).

 

To start playing a note you set the key code register (pitch) for that channel, then do a key on for that channel. To stop playing a note you do a key off for that channel. I have attached a simple test (7800basic with asm) that plays a note on trigger press and stops playing on release.

 

For YM2151 audio in A7800 or JS7800 you must enable the YM2151 in the XM control register.

 

YM2151 User Manual.pdf fb1_factory_patches.txt test.zip

Link to comment
Share on other sites

1 hour ago, playsoft said:

It looks like this might be too late for ICT3 but in case it's useful in the future...

 

The documents I found useful are the attached user manual and the guide here: https://cx5m.file-hunter.com/fmunit.htm

 

Each channel has 26 registers for controlling the instrument sound. If you want to define your own instruments you would have to understand these, but luckily there are OPM packs with different predefined instruments available (I have attached the FB1 factory patches converted to register values).

 

To start playing a note you set the key code register (pitch) for that channel, then do a key on for that channel. To stop playing a note you do a key off for that channel. I have attached a simple test (7800basic with asm) that plays a note on trigger press and stops playing on release.

 

For YM2151 audio in A7800 or JS7800 you must enable the YM2151 in the XM control register.

 

YM2151 User Manual.pdf 1.3 MB · 1 download fb1_factory_patches.txt 30.93 kB · 1 download test.zip 2.92 kB · 1 download

It is too late for ICT3, it’s already going on V12.5 which adds walls and stuff.

 

If it’ll work, I think I’ll design a wave table synth chip or use @Astal4’s design.

Link to comment
Share on other sites

2 hours ago, Astal4 said:

DO NOT rely on my design, it's a long way to production and is subject to changes. I'm still trying to source the CPLDs I'd like to use (XC9500XL series) and it's likely that it can't even become a thing until 2023 or 2024 even because of stock.

Ok.

I wasn't going to.

 

And the problem with my design is that it needs to run at at least 1 mhz.

Link to comment
Share on other sites

1 hour ago, Astal4 said:

Lucky for you the Phi2 output of the 7800 is 1.79MHz.

Yeah.

If my design actually becomes REAL (Of course, some smoothing would be added to make the waveforms less noisy) then I might add an 8 voice mode to allow higher pitches to be played.

 

My design works by switching between the 16 voices, adding their values together, and then playing that. So, 1 voice cycle = 16 clock cycles, and yes, there would be mixing.

 

 

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...