Design a small Sound card for Next

Everything that is not ZX Spectrum Next goes here. Get ready for the Nostalgia!
Post Reply
PiyoTaro
Posts: 135
Joined: Thu Jun 01, 2017 11:13 am

Design a small Sound card for Next

Post by PiyoTaro » Fri Apr 12, 2019 7:25 pm

STORY
"FM Sound" is to be implemented in "ZXSpectrumNext". However, it seems that FM Sound core was not developed. And the core development was completed on September 16, 2018 release.
PiyoTaro wrote:
Sun Mar 24, 2019 4:11 pm
Append: 2019/4/13
1. I am requesting "sound expansion for the game BGM". I'm not an instrument store.
2. I thought that the specification of "ZXSpectrumNext 's extension port" could be connected to the original ZXSpectrum 3+ peripherals.
However, I found a conversation in FB that "the expansion mode can not be used in" turbo mode ".

I have written my thoughts at the beginning of this thread because there was a reply of an incorrect explanation (the logic IC "74HC" series can not drive TTL5V !?).
PiyoTaro wrote:
Sun Mar 24, 2019 2:58 pm
2. TS-FM Problem:
Last September I received a reply about the implementation of FM Sound. However, the announcement of "rejected for copyright reasons" is not found except this reply.
I started designing my own Sound card.
PiyoTaro wrote:
Sat Mar 30, 2019 9:35 pm
PiyoTaro wrote:
Sun Mar 24, 2019 2:58 pm
I started designing my own Sound card.
The sound feature of ZX Spectrum Next, "Turbo Sound Next" adds features to the upper bits of AY's registers. Therefore, if you replace it with an AY compatible chip such as YM2203, the expanded register will overlap.

In the first place,"Turbo Sound" is a mechanism that stores bit0 when 255/254 is written to the AY register port and switches two sound chips with bit0.
"Turbo Sound Next" switches 3 sound chips with lower 2 bits.
I posted a circuit diagram with "bit2 =0" as the expansion board select signal.

---
But my circuit is not compatible with "Turbo Sound FM". So I tried to find a simpler address decoder.

ZXSpectrum compatible "Timex TS2068/TC2068" has its own sound extension.

The 8-bit I/O bus 0xF5 is assigned to the AY register port, and 0xF6 is assigned to the AY data port.
In addition, bit8 and bit9 are assigned to the selection of 1 and 2 of joystick port by the address of 16-bit I/O bus.

References used: ーーー
I tried to draw an address decoder circuit with this specification.
By using the 16-bit I/O bus bits, there is no need to use flip-flops in the chip select circuit. In this circuit, only two logic ICs are required.
(*April,14th "Cannot access the Expansion bus (edge ​​connector) in Turbo mode" Therefore, I changed the logic IC to "74HC" family product.)
20190417_timexfmall_decoder-3.png
20190417_timexfmall_decoder-3.png (27.62 KiB) Viewed 454 times
This project aims at a small FM sound card that can be put on the pin header terminal CN5 (on the ZX Spectrum Next board).
  • Z80 I/O address:"xxxx xxxN 1111 01NN b"
    0x00F5: OPN2 bank 0 address
    0x00F6: OPN2 bank 0 data
    0x01F5: OPN2 bank 1 address
    0x01F6: OPN2 bank 1 data
The FM sound chip "OPN2 YM3438" has a built-in DAC, and the analog output circuit is just one low-pass filter amplifier.
Connect the output of the sound board to the ZX Spectrum Next "EAR terminal (sound output)" and connect it to the audio equipment with the "Resistor included" Audio cable.


(Postscript.2019/4/21) I found an application manual translated into English of "YM2612" compatible with YM3438.
The difference between OPN2 and "OPN YM2203" is "Register B4H + - stereo; LFO sensitivity" ?
"Sega Genesis Technical Manual-YM2612 section" (from the personal site "Maxim's World of Stuff"): http://www.smspower.org/maxim/Documents/YM2612#regb0


---
application:

"TFM Music Maker", a Windows app, is a tool for "Turbo Sound FM", but it can also emulate a sound chip and play music.
This app is a tool for "Turbo Sound FM" and can edit instrument sound data for OPN and compose 6 channels. There is also a function to export music data for Sega MegaDrive.

Link (Russian) http://www.nedopc.com/soft.php
(English translation)https://translate.google.com/translate? ... 2Fsoft.php

---

I would like to make a prototype with the following circuit diagram. If the clock generator is 8MHz as per the data sheet, the "PSG clock" will be 2MHz. (The tone parameters are compatible with Japanese PC-8801, FM-TOWNS, etc.)
(Postscript.2019/4/21: I also got an additional 3.579 × 2 = "7.158 MHz" clock gen.)

If possible, I would like to use the same frequency as the mega drive, 7.670442MHz, or 7MHz equivalent to ZX/48K which will be used in "Turbo Sound FM". (I also learned how to buy a custom-made oscillator. It seems that 10 unit prices will be about the same price as 1 unit sale.) However, it is not a project that sells as a parts kit, but it is assumed that each can collect and work on existing parts.

(*April 14th, I revised the circuit diagram.)
I would like to prototype with this circuit diagram. The amplification gain of the op-amp TL072 is based on the "Mega Amp" project. (Ri=51k, Rf=160k=82k+82k, Cf=47pF) (2019/4/18 Corrected Ri=not 39k. I realized that "GOAC YM3438" is not a discrete YM3438 FM chip. Also, I intend to make prototypes by replacing "Rf" with 82k+82k, and want to compare the loudness of the sound with "Turbo Sound Next". And there are small mistakes in this Rev2 schematic.)
Also, the clock generator is not wired in the schematic.
20190414_timexfmall-2.png
20190414_timexfmall-2.png (28.13 KiB) Viewed 528 times
Last edited by PiyoTaro on Sat Apr 20, 2019 6:26 pm, edited 10 times in total.

PiyoTaro
Posts: 135
Joined: Thu Jun 01, 2017 11:13 am

Re: Design a small Sound card for Next

Post by PiyoTaro » Sat Apr 20, 2019 6:30 pm

PiyoTaro wrote:
Fri Apr 12, 2019 7:25 pm
ーーー
This project aims at a small FM sound card that can be put on the pin header terminal CN5 (on the ZX Spectrum Next board).
  • Z80 I/O address:"xxxx xxxN 1111 01NN b"
    0x00F5: OPN2 bank 0 address
    0x00F6: OPN2 bank 0 data
    0x01F5: OPN2 bank 1 address
    0x01F6: OPN2 bank 1 data
The FM sound chip "OPN2 YM3438" has a built-in DAC, and the analog output circuit is just one low-pass filter amplifier.
Connect the output of the sound board to the ZX Spectrum Next "EAR terminal (sound output)" and connect it to the audio equipment with the "Resistor included" Audio cable.


(Postscript.2019/4/21) I found an application manual translated into English of "YM2612" compatible with YM3438.
The difference between OPN2 and "OPN YM2203" is "Register B4H + - stereo; LFO sensitivity" ?

"Sega Genesis Technical Manual-YM2612 section" (from the personal site "Maxim's World of Stuff"): http://www.smspower.org/maxim/Documents/YM2612#regb0

---
I would like to make a prototype with the following circuit diagram. If the clock generator is 8MHz as per the data sheet, the "PSG clock" will be 2MHz. (The tone parameters are compatible with Japanese PC-8801, FM-TOWNS, etc.)
(Postscript. I also got an additional 3.579×2 ="7.158 MHz" clock gen.)

I would like to prototype with this circuit diagram. The amplification gain of the op-amp TL072 is based on the "Mega Amp" project. (Ri=51k, Rf=160k, Cf=47pF)

Prototype the FM sound module.

The idea of ​​making a prototype with the "module type" is because I found a product of pin header/pin frame connector that can be divided into "28 pins" and a "universal board" with a width of 72mm and 28-holes.

---
About "ZXSpectrumNext 2A board":
20190420_proto_speecynext_layout.jpg
20190420_proto_speecynext_layout.jpg (339.31 KiB) Viewed 119 times
"CN5": A hole for soldering the pin header is lined up just behind the "Extended Edge Connector".

Most of the people who currently use the dev board will be using it in the "ZXSpectrum (Speecy) chassis with rubber keyboard".

At the location of the "Extended Edge Connector", there is a bulging space 2cm high at a place up to about 4cm deep.
By the way, there is a screw hole at the back of the "edge connector" in the "2A board". It will not be able to be stored in the completed "ZXSpectrumNext" chassis unless it is cut with a square board.

Mount the "pin frame connector" and electronic components on the "2.54mm pitch, universal board". Then, turn it over and attach it to the "pin header".
(Maybe there is a space about 11mm high between the main board and the pin header/pin frame.)


---

After drawing the "circuit diagram", I tried drawing the "layout diagram of parts" while searching the catalog of electronic parts shop. Among the parts, "capacitors" needed products with low height.

20190420-2_proto190417_layout.png
20190420-2_proto190417_layout.png (40.16 KiB) Viewed 22 times


---
It turned out that it is cheaper to produce a printed circuit board by using a free CAD application service to a manufacturer in units of 10 sheets, rather than collecting parts one by one and making a prototype with a universal board and a wire.

Since I had published "circuit diagram" by posting to the forum, "BOM" and "layout" should be published as well, but I wondered if it would be a project that everyone could actually work on.

(2019/4/20:
In Japan, there are fewer mail-order shops that sell discrete components such as logic ICs and resistors in units of one.
The "prototype parts" were not delivered to me this weekend.
In other words, the prototype has not been completed yet. As soon as I receive the parts, I will work and post photos.)

Post Reply