You will not be able to post if you are still using Microsoft email addresses such as Hotmail etc
See here for more information viewtopic.php?f=20&t=7296
BOOKMARK THIS PAGE !
https://www.exxosforum.co.uk:8085/IP_CHECK/
You can unban yourself if needed. It also sends me reports to investigate the ban.
DO NOT USE MOBILE / CGNAT DEVICES WHERE THE IP CHANGES CONSTANTLY!
At this time, it is unfortunately not possible to whitelist users when your IP changes constantly.
You may inadvertently get banned because a previous attack may have used the IP you are now on.
So I suggest people only use fixed IP address devices until I can think of a solution for this problem!

Putting a YM2203 FM soundchip in place of the YM2149

General discussions or ideas about hardware.
peters
Posts: 210
Joined: 25 Feb 2023 20:44

Re: Putting a YM2203 FM soundchip in place of the YM2149

Post by peters »

This reminds me of an article in Your Computer magazine in the 80's where they added an AY38910 to a ZX Spectrum. I was hoping to build it for my Camputers Lynx but bought an ST instead.
dgw
Posts: 14
Joined: 10 Mar 2024 23:31

Re: Putting a YM2203 FM soundchip in place of the YM2149

Post by dgw »

So I've had a look at the PCB and drew out a rough schematic and I can not see how this would work, IMHO. Chip select needs to be conditioned on YM2203 else invalid states occur.

The Atari just use BDIR and BC1 to control YM2149, so just four states:

Code: Select all

BDIR	BC1
0	0	inactive
0	1	read data from current register
1	0	write data to current register
1	1	write address of current register
The YM2203 require five states:

Code: Select all

CS	RD	WR	A0
0	1	0	0	write address of current register
0	1	0	1	write data to current register
0	0	1	0	read status register
0	0	1	1	read data of current register
1	x	x	x	inactive
If you forgo(*) being able to read OPN status the logic surely is simple as:

BDIR direct to RD
BDIR via inverter to WR
BDIR and BC1 as inputs to 2-input AND gate, output via inverter to A0
BDIR and BC1 both to inverters whose outputs go to 2-input AND gate, output to CS
YMlogic.jpg
* Perhaps there may be a crafty way around reading status register by making use of spare YMxxxx I/O pin (with a bit more logic).
You do not have the required permissions to view the files attached to this post.
User avatar
unseenmenace
Posts: 19
Joined: 01 Apr 2021 09:02

Re: Putting a YM2203 FM soundchip in place of the YM2149

Post by unseenmenace »

Thank you so much for looking into this, after looking at what you suggest I can see where I've made mistakes (I can't believe I didn't notice that WR just needed to be the inverse of BDIR).
dgw wrote: 11 May 2024 18:07So I've had a look at the PCB and drew out a rough schematic and I can not see how this would work, IMHO. Chip select needs to be conditioned on YM2203 else invalid states occur.
As I understand it chip select is only needed if the system has multiple soundchips, so you can disable one to address the other. If there's only the one YM chip there I'm pretty sure you can just pull it low by grounding it.

dgw wrote: 11 May 2024 18:07BDIR and BC1 as inputs to 2-input AND gate, output via inverter to A0
What I'm not sure about here is whether the inverter IC will pull A0 down via its ground, or whether it could be left floating when no voltage is being applied. If that's the case it would need to be somewhere between what I originally did and what you suggested:
Logic.gif
If you're confident about the state of A0 with your way of doing it then presumably A0 would need to be pulled high with a resistor to 5v?


I look forward to hearing your thoughts and will then revise the circuit design :)
You do not have the required permissions to view the files attached to this post.
User avatar
unseenmenace
Posts: 19
Joined: 01 Apr 2021 09:02

Re: Putting a YM2203 FM soundchip in place of the YM2149

Post by unseenmenace »

dgw wrote: 11 May 2024 18:07If you forgo(*) being able to read OPN status
I forgot to mention in my previous post that yes, I was working on assumption that reading the status wasn't strictly required.

dgw wrote: 11 May 2024 18:07* Perhaps there may be a crafty way around reading status register by making use of spare YMxxxx I/O pin (with a bit more logic).
According to ST Internals bit 7 of Port A of the YM is "reserved" so maybe that's useable.
dgw
Posts: 14
Joined: 10 Mar 2024 23:31

Re: Putting a YM2203 FM soundchip in place of the YM2149

Post by dgw »

Chip select conditions YM2203 data bus which is common to all other chips (without it system would crash). A0 needs to be set according to whether you want to write register address (A0=0) or read/write register data (A1=1).

I have just got some YM2203/Y3014 from China (thankfully they look authentic) and have already removed YM2149 from Atari. Half way through assembling PCB so hopefully should have something working next week to prove feasibility.
YM2149socket.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
chronicthehedgehog
Site sponsor
Site sponsor
Posts: 381
Joined: 08 May 2022 18:11
Location: The Midlands

Re: Putting a YM2203 FM soundchip in place of the YM2149

Post by chronicthehedgehog »

It will be interesting to hear what this sounds like. Record some audio if you can. It could be a great little upgrade.

I've always thought the STs YM sometimes sounded 'raspy' compared to the AY used in the 8 bits - no doubt due to how the output channels are wired compared to being just balanced with resistors like the Amstrad for example. I wonder if they they wanted the ST to sound more arcade like.

So I expect the YM to be 'coloured' similarly. Could be good though - excited to hear it.
dgw
Posts: 14
Joined: 10 Mar 2024 23:31

Re: Putting a YM2203 FM soundchip in place of the YM2149

Post by dgw »

I've arranged the YM2203 PCB such that I can also plug it into one of the sockets on my dual AY/YM board and record Left/Right the same tune, but with different chips in each channel (AY8910/YM2149/YM2203).
snap.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
unseenmenace
Posts: 19
Joined: 01 Apr 2021 09:02

Re: Putting a YM2203 FM soundchip in place of the YM2149

Post by unseenmenace »

dgw wrote: 25 May 2024 11:55Chip select conditions YM2203 data bus which is common to all other chips (without it system would crash)
I can confirm it can be operated with CS tied to ground from this project, which I based a lot of my circuit design off of:

https://github.com/zenmai/YM2203_JukeBox

dgw wrote: 25 May 2024 11:55Half way through assembling PCB so hopefully should have something working next week to prove feasibility.
I look forward to finding out how you get on! I've re-done the control logic on my board design based on what I posted previously and will likely get a prototype board ordered pretty soon.
User avatar
unseenmenace
Posts: 19
Joined: 01 Apr 2021 09:02

Re: Putting a YM2203 FM soundchip in place of the YM2149

Post by unseenmenace »

dgw wrote: 11 May 2024 18:07BDIR and BC1 as inputs to 2-input AND gate, output via inverter to A0
Wouldn't this result in A0 being high when at idle, i.e. constantly unless a read or write has been requested?
dgw
Posts: 14
Joined: 10 Mar 2024 23:31

Re: Putting a YM2203 FM soundchip in place of the YM2149

Post by dgw »

It works OK, at least the SSG side of YM2203. Delayed a few days so I could check it on my own hardware, didn't want to potentially plug a fake YM2203 into Atari.

The circuit uses 74HC04 and 74HC08 as shown, but it could be reduced it using 74HC02 (I didn't have one to hand). Looking at the YM2203 data sheet strictly A0 should be ready 10nS before chip select CS goes low, so I made use of spare gates to delay it.

Just did a quick check so far, everything appears to work OK (floppy drive ID/side) and SSG output sounds same as YM2149. Need to wire up OPL side of it and decide on audio output.
top.jpg
side.jpg
04&08.jpg
02&08.jpg
You do not have the required permissions to view the files attached to this post.

Return to “HARDWARE DISCUSSIONS”

Who is online

Users browsing this forum: CCBot and 5 guests