Change Tandy Sound to JT89
- spark2k06
- Core Developer
- Posts: 877
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 971 times
Change Tandy Sound to JT89
I have created a new branch (prerelease-jt89) and below I show the changes made for the migration:
https://github.com/MiSTer-devel/PCXT_Mi ... ff65c6b8b7
After this initial change, the sound is very bad, I attach the synthesised RBF. I am starting this thread in case someone knows how to fix it.
https://github.com/MiSTer-devel/PCXT_Mi ... ff65c6b8b7
After this initial change, the sound is very bad, I attach the synthesised RBF. I am starting this thread in case someone knows how to fix it.
- Attachments
-
- PCXT_JT89_01.zip
- (1.19 MiB) Downloaded 142 times
- spark2k06
- Core Developer
- Posts: 877
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 971 times
Re: Change Tandy Sound to JT89
First attempt at fix taking into account the sign, as suggested by jotego, but probably poorly executed:
https://github.com/MiSTer-devel/PCXT_Mi ... 4017553c41
The fact is that the other module, also created by him, of OPL2 is also signed but 16 bits instead of 11 bits, and it works correctly:
However, this still sounds bad for the Tandy sound part.
https://github.com/MiSTer-devel/PCXT_Mi ... 4017553c41
The fact is that the other module, also created by him, of OPL2 is also signed but 16 bits instead of 11 bits, and it works correctly:
However, this still sounds bad for the Tandy sound part.
- Attachments
-
- PCXT_JT89_02.zip
- (1.22 MiB) Downloaded 110 times
-
- Top Contributor
- Posts: 401
- Joined: Wed May 18, 2022 11:20 am
- Has thanked: 127 times
- Been thanked: 412 times
Re: Change Tandy Sound to JT89
If you are accounting for the sign, I don't think these bits are fixed at 0.
---
tandy_snd <= {2'b00, {3'b000, {oldt_1[10], oldt_1}} << status[35:34]};
---
---
tandy_snd <= {2'b00, {3'b000, {oldt_1[10], oldt_1}} << status[35:34]};
---
-
- Top Contributor
- Posts: 401
- Joined: Wed May 18, 2022 11:20 am
- Has thanked: 127 times
- Been thanked: 412 times
Re: Change Tandy Sound to JT89
Maybe like this.
Code: Select all
tandy_snd <= {2{oldt_1[10]}, {4{oldt_1[10]}, oldt_1}} << status[35:34]};
- spark2k06
- Core Developer
- Posts: 877
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 971 times
Re: Change Tandy Sound to JT89
Thank you very much! that was itkitune-san wrote: ↑Wed Oct 26, 2022 10:57 am Maybe like this.Code: Select all
tandy_snd <= {2{oldt_1[10]}, {4{oldt_1[10]}, oldt_1}} << status[35:34]};
Finally it stays like this:
Code: Select all
tandy_snd <= {{{2{oldt_1[10]}}, {4{oldt_1[10]}}, oldt_1} << status[35:34], 2'b00};
- Attachments
-
- PCXT_JT89_03.zip
- (1.22 MiB) Downloaded 127 times
Re: Change Tandy Sound to JT89
I'm wondered that you always have a nice solutionkitune-san wrote: ↑Wed Oct 26, 2022 10:57 am Maybe like this.Code: Select all
tandy_snd <= {2{oldt_1[10]}, {4{oldt_1[10]}, oldt_1}} << status[35:34]};
Re: Change Tandy Sound to JT89
Can you also take a look at something else while you are looking into the sound?
The sound from the current PCXT core is inverted from a real SN76489 chip.
Here is a picture of my recordings: [volumes have been normalized]
Top is TNDLPT adapter (by Serdashop) and bottom is PCXT.
The sound from the current PCXT core is inverted from a real SN76489 chip.
Here is a picture of my recordings: [volumes have been normalized]
Top is TNDLPT adapter (by Serdashop) and bottom is PCXT.
Re: Change Tandy Sound to JT89
Here is the waveform using your JT89 core (on the bottom) [volumes have been normalized]
EDIT: I've added 86Box and ScummVM captures too:
Here are the Audacity files if anybody wants to take a look:
-
- Posts: 180
- Joined: Sun May 24, 2020 9:13 pm
- Has thanked: 186 times
- Been thanked: 34 times
Re: Change Tandy Sound to JT89
From a strictly analogue hi-fi soundpoint, does this just mean you have a negative when you require a positive, and vice versa? A soundwave is representative of a speaker's movement over time after all (one polarity pushes the speaker and the other pulls).
Re: Change Tandy Sound to JT89
Yes and almost anything in the audio signal path can invert the sound.cursedverses wrote: ↑Wed Oct 26, 2022 8:53 pm From a strictly analogue hi-fi soundpoint, does this just mean you have a negative when you require a positive, and vice versa? A soundwave is representative of a speaker's movement over time after all (one polarity pushes the speaker and the other pulls).
Re: Change Tandy Sound to JT89
Yeah, I don't know what it means but I just wanted to show what I found. If it's not an issue than that's great!
- spark2k06
- Core Developer
- Posts: 877
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 971 times
Re: Change Tandy Sound to JT89
You will notice absolutely no physical audio change, but there is no problem in inverting the waveform to be more faithful to the original, I attached binary again with this change:
Code: Select all
oldt_0 <= -tandy_snd_e;
SN76489AN Compatible Implementation by Arnim Laeuger
JT89 by jotego
- Attachments
-
- PCXT_JT89_04.zip
- (1.21 MiB) Downloaded 127 times
Re: Change Tandy Sound to JT89
Thanks so much! I'm not sure if the JT89 audio was inverted though? I was referring to the original sound core but I can't tell based on the waveform if JT89 is inverted.
Also, I'm just curious but why did you switch from the Arnim Laeuger core to the JT89 version? The Arnim Laeuger core waveform matched the actual SN76589 nearly perfectly (except for the inversion).
The JT89 audio core doesn't seem to match the original waveform but I do trust Jotego and would assume his is most accurate but it's odd the waveform is different?
Thanks again for all your work on the core! I never realized how important the Tandy 1000 was especially relating to early Sierra games, etc.
Also, I'm just curious but why did you switch from the Arnim Laeuger core to the JT89 version? The Arnim Laeuger core waveform matched the actual SN76589 nearly perfectly (except for the inversion).
The JT89 audio core doesn't seem to match the original waveform but I do trust Jotego and would assume his is most accurate but it's odd the waveform is different?
Thanks again for all your work on the core! I never realized how important the Tandy 1000 was especially relating to early Sierra games, etc.
- spark2k06
- Core Developer
- Posts: 877
- Joined: Sat Jun 06, 2020 9:05 am
- Has thanked: 409 times
- Been thanked: 971 times
Re: Change Tandy Sound to JT89
Well, as it doesn't really affect how it sounds, I'll just put it back uninverted for future updates, that's not a problem.
I don't know if JT89 wave is accurate or not, but listen to the differences with the audios I've shared and judge for yourself, I certainly prefer the sound of Jotego'ssofakng wrote: Also, I'm just curious but why did you switch from the Arnim Laeuger core to the JT89 version? The Arnim Laeuger core waveform matched the actual SN76589 nearly perfectly (except for the inversion).
The JT89 audio core doesn't seem to match the original waveform but I do trust Jotego and would assume his is most accurate but it's odd the waveform is different?
To you for appreciating the work done with the core.sofakng wrote: Thanks again for all your work on the core! I never realized how important the Tandy 1000 was especially relating to early Sierra games, etc.