News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_RetroCPC

Gilding the DKTronics Speech Synthesizer

Started by RetroCPC, 09:09, 24 May 20

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

VintageAdvantage

#25
Interesting find. That might explain why it sounded like crap when I implemented the filter from the reference design. Maybe the DKtronics indeed sounds "sharper" and less dull. How about the Amstrad SSA-1, btw? What filter were they using?

Btw, I have both the SSA1 and the DKtronics and another unfiltered implementation, I could record all of them and we could actually listen to the different filters.

Not to mention the elephant in the room... both the SSA1 and the DKtronics came with loudspeakers, and that's probably the biggest factor in the overall sound. I remember my old signal processing prof sometime said - forget about filters, the analog world will take care of it anyway (and by that he meant the loudspeaker basically) 

So maybe we need skin effect thick high quality copper cables and hifi speakers? **snake oil alert** :D 

RetroCPC

#26
I've got no experience of the Amstrad SSA-1, if there's a schematic somewhere I can Sim the analogue section...

I cleaned my newly purchased (from Ebay UK) CPC6128 mainboard in the ultrasonic tank - I might have cooked it a little as the cleaning solution has clean off the coloured bands of some of the resistors!!! the SWA cleaning solution in the tank really brings a really nice shine to the solder / tin, so the PCB edge connectors now look like new - nice and shiny, not 35 years of oxidation! after removing so much flux from the PCB (before I dropped in in to the US tank)  - I can say its never looked so clean :)

Atleast the PCB does not smell anymore of cigarette smoke... the smell was overpowering, I could still smell it in my hair when I went to bed last night!!!

Oddly enough, it appears that the smell seems to migrate into the cables the worst, they are the hardest to get rid of the odor...

The case is too large to fit in my Ultra sonic cleaner - so I'll have to drop it in the bath once the Wifes' not looking...

Keyboards stripped - still work to do, maybe I should have also cleaned it in the ultrasonic tank...

VintageAdvantage

#27
Here you go:
http://www.cpcwiki.eu/index.php/File:Amstrad_SSA-1_Schematic.png
You can tell that this is ALMOST the reference design.. some capacitors have different values.
I am wondering if DKtronics diverted from the original filter so much because they have a higher pitch due to the 4 Mhz clock instead of the 3.14 Mhz.

Is that SPICE you are using, or something online like this:

https://www.partsim.com/simulator

(that also uses SPICE)

Congrats on cleaning it!

RetroCPC

Yes sim'ed using spice, I use an older software package but IMO the best UI.

For more complex design I have to use Altium - but its UI is so unbelievably bad that I'd rather lobotomize myself then use it for any length of time... I cannot understand how anyone can think its UI is acceptable - what are they thinking!


I'll Sim the Amstrad LPF later - I'm already back working on the C++ code :( - but with the SpaceX launch livestream on in the background - good luck guys! weather looks rather grim for a launch today...

VintageAdvantage

Quote from: RetroCPC on 20:30, 27 May 20
but with the SpaceX launch livestream on in the background - good luck guys! weather looks rather grim for a launch today...
Had to get out of the capsule - more luck next Sunday!  :D No launch, but lunch at home is also nice  :laugh:


Bryce

Quote from: RetroCPC on 19:27, 27 May 20

Sorry for the delay in getting back to you - I'm self-teaching myself C++ and all I can say is that I feel REALLY REALLY dumb...

Anyway, took some time out to give my mind a rest from C++ and sim'ed the SP0256 Datasheet LPF - and WOW it rolls off really early, with the -3dB point at just 336Hz, its -12dB at 1KHz and -36dB at 5KHz!!!

Makes the DKTronics LPF look positively HiRES by comparison :D

Attached is the Sim result + schematic just in case I made a stupid error with a component value...

Nice to see that they didn't take the lazy route and use the reference design.

Bryce.

RetroCPC

#31
Quote from: Bryce on 23:45, 27 May 20
Nice to see that they didn't take the lazy route and use the reference design.

Bryce.


Unlike Amstrad who basically used the same LPF circuit configuration, but modified to use common component values they had in their production arsenal....

RetroCPC

#32
Quote from: VintageAdvantage on 19:46, 27 May 20
How about the Amstrad SSA-1, btw? What filter were they using?

Ok, so I just simulated all 3 variants, the SP0256 Datasheet filter (Red Curve), DKTronics (Green Curve) and Amstrad SSA1 (Blue Curve).

I've normalized the gain on the plots so that the frequency response curves can be overlaid.

The Amstrad LPF implements the same circuit arrangement as shown in the SP0256 datasheet but with the component values rearranged to "Common" production values... so its response is very similar to the original App Note.

DK'tronics have atleast made some effort...

Bryce

Quote from: RetroCPC on 15:54, 28 May 20

Unlike Amstrad who basically used the same LPF circuit configuration, but modified to use common component values they had in their production arsenal....

Don't knock it. That's efficient DfP (Design for Production). You'd get a bonus for something like that in the industry.

Bryce.

VintageAdvantage

In case somebody else want to try this kind of simulation - here is a good tutorial using LTspice (which is free)

(Simulation of an LPF)


https://youtu.be/FR29PyRc_Tg

RetroCPC

#35
Quote from: Bryce on 18:27, 28 May 20
Don't knock it. That's efficient DfP (Design for Production). You'd get a bonus for something like that in the industry.

Bryce.


Only if you work for a penny pinching company... I feel sorry for anyone who has to work in such an environment!

Where DfP is more important then performance - it makes me sad... !

RetroCPC

#36
Quote from: VintageAdvantage on 20:58, 28 May 20
In case somebody else want to try this kind of simulation - here is a good tutorial using LTspice (which is free)

https://www.youtube.com/watch?v=X8xdeQfKhx4


LTspice is good, very good if you want to simulate switching supplies etc - but its schematic editor is SOOO poor - A simple task such as editing / moving a track or deleting a component is made needlessly difficult...

LTspice has alot of traction with the DiY community, so lots of device models for older components (tubes) etc.

VintageAdvantage


RetroCPC

Took a break from my misadventures while teaching myself C++ and had a first stab at the improved SP0256 LPF filter (Yellow Curve)...

B/W is extended to almost 4KHz x4 the DK'Tronics B/W which was the highest of the lot... the new filter is x10 higher the the Amstrad and SPO256 App Note designs.

I've tried to still achieve decent filtering above fs/2 (above 5KHz) while still having an extended speech B/W...

The original filters + my first stab...

VintageAdvantage

Quote from: RetroCPC on 21:11, 28 May 20
B/W is extended to almost 4KHz x4 the DK'Tronics B/W which was the highest of the lot... the new filter is x10 higher the the Amstrad and SPO256 App Note designs.

Great! At that point, you can abandon the filter altogether and let the loudspeaker do the frequence cutoff anyway  :D

RetroCPC

#40
Quote from: Bryce on 19:16, 26 May 20
The motor turns at 300 RPM, so it should sound different to PC floppy drives. Grab some original disk from someone here or EBay and then give it a test. If it still doesn't read, then let me know and I can give you some tips on getting it working.

Bryce.

Bryce, is there any method to enable the FFD drive motor so that its constantly spinning, then I can measure the output from the index photodiode to confirm 300RPM... Unless there is an easier way to confirm 300RPM without testdisks?  I thought I'd ask first before digging into the issue deeper..

Is there a testpoint on the FDD PCB that outputs the Photodiode signal / motor speed signal?

RetroCPC

#41
Seems like bringing pin 8 Low on the Drive should enable the drive motor - and the index signal is on Pin 2? (Drive must also be selected by bringing the Drive Select line Low).

Looking at the 3" drive schematic, it seems that the Drive motor is not gated with the drive select line?, so both drives (in a dual drive system) will rotate when any drive is selected - is this correct, or am I missing something?

Maybe this behavior was changed with later drives (I'm looking at the schematic in the DDI-1 FD service manual) - this is for sure an early FD drive version with an external motor speed regulator - later drives had the speed regulator circuit internal to the motor body.

VintageAdvantage

Quote from: RetroCPC on 21:09, 29 May 20
Seems like bringing pin 8 Low on the Drive should enable the drive motor - and the index signal is on Pin 2? (Drive must also be selected by bringing the Drive Select line Low).

Looking at the 3" drive schematic, it seems that the Drive motor is not gated with the drive select line?, so both drives (in a dual drive system) will rotate when any drive is selected - is this correct, or am I missing something?

Maybe this behavior was changed with later drives (I'm looking at the schematic in the DDI-1 FD service manual) - this is for sure an early FD drive version with an external motor speed regulator - later drives had the speed regulator circuit internal to the motor body.
That's correct - Motor Enable is shared by all drives and usually spins up all drives no matter what DSx.

RetroCPC

#43
VA,

Thanks for the confirmation :)

Wanted to power-on my CPC6128 for the first time this evening, but I found I have nothing that will accept an RGB input! I hoped I had a Scart to HDMI "upscaler" but it turns out its only wired to the composite video signals on the Scart connector :( ...

Wondering if by buffering the H/V Sync signals from the 6845 CRT controller (pins 39 & 40) and taking the RGB signals to an older 4:3 VGA LCD monitor if this would work? Does anyone have experience with trying this?

EDIT:-

So probing the CPC's H/V sync signals (15.628KHz / 50.091Hz) you require an LCD monitor that supports 15KHz frame rate, and these are not that common today.

So it would appear I have 2 choices, a line doubler or purchasing a 15KHz monitor.

WRT the monitor, as far as I'm aware the best option still available today is the BENQ BL702A 17" 5:4 LCD monitor, unless anyone has any better suggestions?

What are others here using (not CRT) with there CPC systems?

Bryce


RetroCPC

Bryce,


I currently have no way of getting Data to my CPC6128.

I managed to adjust the FDD to 5Hz (300rpm) using a scope connected to the Index sensor- it was just slightly under at 4.98Hz - I suspect not slow enough to cause an issue.

The Drives still not reading the disks that came with the system (EBay Auction), but I suspect that they are CPM formatted - one disk has Oxford Pascal written on its label...


If the disks are CPM format, can they boot directly?, or do I need to first load the CPM OS (with disks I don't currently have)?

Its been 35 years since I last used a CPC :)

I manged to get a crude B/W picture by using a composite video to HDMI converter - good enough to prove the CPC powers up :)

rpalmer

RetroCPC,
There is no "CP/M" disk format. The disks may have been formatted on a different CP/M system which is foreign to the CPC.The formats the CPC can understand with AMSDOS are:
Data Format (180K, 9 Sectors/Track, 40 Tracks, First Sector = &C1, 2K for directory)
System Format (180K, 9 Sectors/Track, 40 Tracks, First Sector = &41, 2 Reserved Tracks for OS such as CP/M, 2K Directory)
Vendor Format (Same as system with out any OS in the reserved tracks)
IBM Format (160K, 8 Sectors/Track, First Sector = &01, 2K directory)
ParaDOS also extends Data/System to 80 Tracks and Double Sided disk (720K) were the drive supports such and to also allow for 800K (10 Sectors/Track).
If you have no functioning floppy drive, you might get further with a GOTEK (or similar) and use DSK files (representing simulated disks). I am assuming there is nothing wrong with the internals on the motherboard.

If you want CP/M to start there are ROM versions which can be used.

Lastly, you can use the tape port to load programs, although this would be a right pain to load anything of substance as they will take a very very long time.

rpalmer

Audronic

Quote from: RetroCPC on 23:57, 31 May 20I manged to get a crude B/W picture by using a composite video to HDMI converter - good enough to prove the CPC powers up :)



Add a 270 Ohm resistor from the +5volt on the Power socket to Pin 16 (Scart)


Good Luck


Keep Safe


Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

RetroCPC

#48
Quote from: rpalmer on 02:23, 01 June 20
If you have no functioning floppy drive, you might get further with a GOTEK (or similar) and use DSK files (representing simulated disks). I am assuming there is nothing wrong with the internals on the motherboard.

rpalmer,

Thank you for your concise reply. Good question about the Motherboard - I have no idea as I've just purchased it from EBay - sold as Non Working. The seller had replaced the drive belt - but it was still unable to read the disks he had onhand.

I suspect the discs might not be for the CPC, rather the PCW or CPM... (I have no CPM OS disk to boot into CPM to see if this is true).

I do have a couple of Gotek's but I'm not sure what firmware they have (they where originally purchased to upgrade some other equipment).

From what little I understand, its possible to flash new software into the Gotek - the units I have are standard - no extra OLED display or rotary encoder (not sure if Gotek's in standard form will work)?

Is there a good site that explains how to fit these to the CPC - I'll need to make a cable adapter for starters, then figure the software (I can flash new software if require) - and then where to get the software for the PC side (is any needed for the Gotek?) and then a good location to find the Amstrad .DSK files...

I think getting the Gotek working is best longterm solution anyway...

RetroCPC

#49
Quote from: Audronic on 07:34, 01 June 20

Add a 270 Ohm resistor from the +5volt on the Power socket to Pin 16 (Scart)

Good Luck

Keep Safe

Ray


Hi Ray,

The SCART to HDMI converter I'm using is only a temporary solution to test that the CPC powers on - I'm using generic "Cheapie" that upon closer inspection has no internal connection to the RGB signals - supporting only Composite video input. The Aspect ratio mode selection pin is grounded on the converters' Scart input connector...

Just to emphasize for others who might drop into this thread later, This is NOT a recommended converter.

I'm going to try the BENQ monitor + "VGA" connector modifications... once the monitor arrives :)

Powered by SMFPacks Menu Editor Mod