Harking back to my teenage years with nostalgia I have very fond memory's of my heavily modified Green screen CPC 464 system :)
IMO this as an era when you could really have fun playing and programming computers - nowdays computers are so sophisticated they are nothing more then a closed "Black Boxes" no FUN!
I ordered a non working CPC6128 from Ebay which is making is way to me from the UK, also from Ebay I found a DKTronics Speech Synthesizer being sold as ZXSpectrum stereo speaker system!
In the Ebay listing I noted that the "ZXSpectrum stereo speaker system" had a DKTronics CPC style housing and the Expansion Connector was key'ed CPC style so I took a chance and purchased the unit (complete with the matching speakers).
So currently I dont have a CPC, but I do have a Speech Synthesizer for it :)
JUST FOR FUN, I wounder how far the design can be Gilded - yes I'm aware of the FPGA implementations... but I lack the skills to program FPGA's so I'll just keep to designing the ultimate SP0256 based Speech Synth - for no other reason then for fun, and that I can :)
I find it helps to "Step back" from ones daily projects and work on something completely different :) opens the mind to look at things from different angles :)
So first step is to trace out the schematic - I have it on paper now, and will publish here once I've fully drawn it up in CAD.
PCB's "Marked AM. V2 Speech - dk 1084 RJG", so I guess "RJG" is the designer - or atleast the PCB designer...
I started with simulating the "Analogue stage" and Low Pass Filter.
Its credit to the original DKTronics designer that the filter while simple (A Sallen-Key LPF based around a single transistor EF stage) the LPF (Low Pas Filter) corner frequency is set at 1KHz, with -20.7db Attenuation at 5KHz (Which I understand is the FS/2 point of the SP0256 PWM output).
I'd post the LPF Schematics / Frequency response simulations here, but it seems I cannot directly upload image files onto this Forum..
Next step will be to perform some real measurements on the hardware once my CPC arrives and is up and running... Be interesting to see the noise measurements - I recall hearing system noises thorough the speakers as the CPU was processing - and the speech had birdy type background noise. - a sign of significant unwanted modulation via PSU / Clock etc.
The intended filter for the SP0256-AL you will find in the datasheet section, see Application Notes. It contains a reference design.
And it sounds crap. To MY ear, the filter is way too low pass... it cuts out almost all higher frequencies giving it a very monotone dull sound. It sounds MUCH better and more crisp with a MUCH HIGHER cutoff frequency. You really need to experiment with the real thing and play with the filter values in order to get something that sounds good.
Remember the Amiga 500? That thing also had a low pass filter... and the first thing everybody did was disable that filter or at least put a switch in. Better to have a bit of sampling noise than that dull low lo-fi bassy sound.
Todays the day my CPC should arrive from the UK :) Once its here I'll need to repair it, then face the challenge of how connect the CPC to an LCD monitor.
Also I'll need away to get Data to it!!! maybe WAV file via cassette port then save to FDD (if I manage to repair the drive, apparently the belt has been replaced, but its still not working so it might be a speed issue - or worst) - until I get a ROM board designed...
Once I the CPC working I can start to taking some measurements of the DKTronics design - I'm really fascinated to see the clock phase noise on the SPO's output. Its not going to be helped any that DKTronics cheapen out and used the system master clock rather then the recommend crystal and internal oscillator... While the SPO has a 7bit modulator, I suspect that the system clock phase noise will eat into this resolution!
My plan is to reclock the PWM output with a clean clock / PSU - does it make sense for a 7bit modulator / speech synth? who knows, and that's the "Fun" part to me... nothing sensible at ALL! :D
WRT the audio B/W, from what I understand (bare in mind I've not had a chance to measure the outputs yet) - the output sampling rate is 10KHz, so I need some form of brick wall filter at 5KHz...
It sounds better if you choose the cutoff frequency at 18 kHz.
YES, the effect of the 4 MHz instead of the 3.14 Mhz is that the pitch is higher, and the phonemes do not come out as intended. That is indeed an audible difference, whereas the other effects are more like reading the future from the tea leaves IMHO.
None of this will change the quality of the speech output quality. Filter and clock frequency make a difference though.
EDIT: Here is an idea - how about making the cutoff frequency of the filter variable?
To prevent aliasing products you need a brickwall filter at FS/2, if FS is 10KHz, then we need a brickwall LPF at 5KHz - thats going to be "Fun"
If the sampling rate (FS) is 10KHz, then there is no usable "Information" above 5KHz...
BTW, created a Dropbox account so I can post links for the Schematics etc.
Heres the simulation schematic of the DKTronics stock LPF:-
https://www.dropbox.com/s/93trqol4yk9rg4d/dktronics%20cpc%20speech%20synth%20lpf%20%20%20section.jpg?dl=0 (https://www.dropbox.com/s/93trqol4yk9rg4d/dktronics%20cpc%20speech%20synth%20lpf%20%20%20section.jpg?dl=0)
The schematic is drawn up to allow me to simulate the filter - to this end, the schematic has extra simulation "Components" to model the output impedance of the SP0256's PWM output pin, L / R Balance and Volume potentiometers & the input impedance of the LM386's. Some of these components are not physically present on the PCB but internal to the respective IC's.
Whats not modeled is the effect of looping though the CPC's Stereo Audio output via the flying lead / 3.5mm Audio jack
Resultant frequency response:-
https://www.dropbox.com/s/jef1p52yt5yaw3p/dktronics%20cpc%20speech%20synth%20sim.jpg?dl=0 (https://www.dropbox.com/s/jef1p52yt5yaw3p/dktronics%20cpc%20speech%20synth%20sim.jpg?dl=0)
Quote from: RetroCPC on 06:51, 26 May 20
To prevent aliasing products you need to have a brickwall filter at FS/2, if FS is 10KHz, then we need a brickwall LPF at 5KHz - thats going to be "Fun"
If the sampling rate (FS) is 10KHz, then there is no usable "Information" above 5KHz...
We all learned about Shannon's Samplng Theorem in High School, but that's not the point. It just doesn't sound good if you do it that way. You really need to listen to it... your simulations are misleading. If you really want to create something that sound BETTER than the original you will actually have to leave the realm of simulations and listen to it. And hand tune the filters.
It is exactly these "sampling artifacts" above 10 kHz that brings the thing alive. Every violin maker will tell you that.
Well is seems that we can both agree that NOS (well more correctly non filtered) DAC's sound better then DAC's with sharp FIR digital filters - I wonder how bad an analog brickwall sounds...
I'd be cautious of what others refer to as "Sampling noise" its my experience that they are infact forced to reduce the Audio bandwidth to help filter System / Clock / PSU noise rather then noise due to the limited sampling bitdepth & BW...
I have no recent experience of such a limited bit depth sampling (8bits) in the case of Amdrum, so I'm somewhat curious as to how it will sound once these unwanted modulation effects (PSU noise / Clock jitter modulation etc) are eliminated.
As a side note, actually I had an extremely poor education, and never learnt about Shannon's Sampling Theorem at High School... :)
In many places it's referred to as Nyquist sampling theorem. You may have learnt about it under that name?
Bryce.
I now realise my high school sucked. Not only did we never learn about Nyquist*, but they also shut down the school's reactor before we had a chance to make it go boom.
*hey, at least I got to read about it today, interesting indeed.
Quote from: Bryce on 09:15, 26 May 20
In many places it's referred to as Nyquist sampling theorem. You may have learnt about it under that name?
Bryce.
I'm fully are of
Nyquist - Shannon Sampling Theorem :)
But for sure it was not taught at my "High School" - if others did at high school, then it just confirms once again how bad my education experience was!
Quote from: Gryzor on 09:53, 26 May 20
I now realise my high school sucked. Not only did we never learn about Nyquist.....
Your not alone !!! :)
Seems I was also not taught how to use forums correctly, I've just discovered the method to directly upload image files etc :)
I have a real DKTronics Speech Synth (the ROM version) and a spectrum analyser with tracking generator. So if you want me to do any real world analysis let me know and I'll try to find some time for it. Those simulation results look pretty realistic though, I can't imagine the real device will vary much from those values.
Bryce.
10% resistors & ceramic caps in the LPF fc is going to be "Loose" :laugh: but whats going to impact the audio performance will be the Clock Jitter /PN - especially as the SP0256 is clocked directly from the System Bus clock...
I suspect the Clock PN will be so high that it will be well within the dynamic range of most spectrum analyzers - - I 'd hazard a guess with non clock related spurie say -40dB down.. (I'd not be surprised if its even worst) What would you guess?
The Clock PN is never going to be better then the noise on your PSU rails... trying to improve the clock performance without first improving the PSU is going to be kind of academic ....
In many ways, this is a good teaching aid to demonstrate the ill effects of PSU / poor clock distribution etc... but this is not to take anything away from what was expected at this price point in its time. Ok, so the Amstrad Speech Synth implemented local 3.12MHz Clock, but its just going to be modulated by PSU AM noise so while it will have better performance, its still going to be pretty poor.
I recall how one could listen to the CPC CPU processing via the background noise of its internal speaker... :) The the AY sound chip is clocked by the ASIC which divides down the 16MHz System clock to 1MHz - just for fun I will to perform a spectrograph on the AY Sound Chip clock input to see how much of the CPU processing action we can see on the clock noise floor... :) - what would be a good guess? noise floor @ -40dB to -50dB down?
I remember a magazine once published a program to generate sound from your ZX81 by tuning a radio to a certain frequency and performing program loop routines to play "Music" in the radios background noise!!!
Today's generation have no compensation of how much computers / digital electronics have developed in the past 40 years!!!
To be fair to the developers back then, they were most likely under serious pressure to design down to a price, so they would have been given only a few cents above the price of the essentials (Case, SPO and connectors) to get the rest done. Considering those restraints, they did a great job.
Bryce.
Quote from: Bryce on 14:07, 26 May 20
To be fair to the developers back then, they were most likely under serious pressure to design down to a price, so they would have been given only a few cents above the price of the essentials (Case, SPO and connectors) to get the rest done. Considering those restraints, they did a great job.
Bryce.
Yes for sure, I wasnt being critical of the designers, in fact you have to admire building a Sallen-Key LPF around a single Emitter follower transistor - reminds me of those 5 transistor "Walkie Talkies" we had as kids, designed around 5 or 6 transistors for TX & RX + Morse key :) claim 5 mile range - yet you where lucky if they worked over 100m :D
Crazy that they (everyone was the same at the time) costed down so much when the cost would have been in the molded case, PCB, connectors + SP0256... kind of a false narrative to then save penny's on a crystal / ceramic resonator...
Quote from: RetroCPC on 14:27, 26 May 20
Yes for sure, I wasnt being critical of the designers, in fact you have to admire building a Sallen-Key LPF around a single Emitter follower transistor - reminds me of those 5 transistor "Walkie Talkies" we had as kids, designed around 5 or 6 transistors for TX & RX + Morse key :) claim 5 mile range - yet you where lucky if they worked over 100m :D
Crazy that they (everyone was the same at the time) costed down so much when the cost would have been in the molded case, PCB, connectors + SP0256... kind of a false narrative to then save penny's on a crystal / ceramic resonator...
You mean those walkie talkies whose range was battery-level dependent and drifted all over the radio spectrum? :D Had one too. Our TV screen went white if you pushed the talk key in the living room.
Bryce.
Quote from: Bryce on 14:36, 26 May 20Our TV screen went white if you pushed the talk key in the living room.
It just triggered your resident Poltergeist.
I got in serious trouble for this once, when my father was recording a film he wanted to see and I inadvertantly caused a large part of the recording to be white.
Bryce.
So my CPC6128 arrived - and there's a 95% chance that its original owner has since died of lung Cancer - and to add to the seriously strong smell of nicotine the unit has been stored in a damp cellar or some such... A really NICE combination..
Oh - and to add to this, at sometime in its life it looks like coffee has been spilled over the keyboard...
I've stripped the unit down, PCB's is in good condition (an unbelievable amount of old solder flux on the underside of the board) - I'll rinse it under water to remove the top layer of dust and grime, then drop the whole PCB into an ultrasonic cleaning tank...
I'm now so jealous of those of you with with show grade units :) all I can say is that my room now stinks like an rotten smokey old pub... at this rate I might have to start worry about my own lungs!!!
A quick question, can the CPC6128 read PCW256 CPM disk or will it result in a disk error? The gentleman I purchased the unit from said he replaced the FDD drive belt, but it still did not read disks - however the disks he sent with the unit are apparently from a PCW256... so maybe the drive works, but the disks are formatted differently?
If its not the fact that the disks are CPM disk format, then I also noticed that the FDD drive motor does not spin as freely as I would expect - its rotation seems stiffer then you'd normally encounter with such sized DC motors ... are sticky Drive FDD motors a known issue with the CPC? The Motor is still connected to the PCB so maybe theirs some electric braking (via diodes or some such) even when the drive is unpowered?
Nothing that 10 litres of isopropanol can't solve!
As for the disks, not a chance, PCW disks are double sided and the CPC drive only has one head. If you install a dual head drive as B, then you can use ParaDOS to read them. As far as the drive itself is concerned, remove the belt and check that all the gunk from the old belt was removed from the wheels. The motor turns at 300 RPM, so it should sound differnt 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,
Thank you for the reply - WRT your suggestion of isopropanol, is that to clean the unit of the nicotine / damp smell?
I have an ultra sonic tank that will clean the PCB, I'll first dissolve the old flux with isopropanol - I find isopropanol just dissolves the flux residue into a thin sticky film that coats the PCB, it then needs to be cleaned off somehow and the best cleaner I've found is SWA Flux foam cleaner from Electrolube.
This is what the original designers thought the filter should look like.
I'd be interested in seeing the results of this compared to the filter you are designing (simulation runs).
Quote from: Bryce on 14:07, 26 May 20
To be fair to the developers back then, they were most likely under serious pressure to design down to a price, so they would have been given only a few cents above the price of the essentials (Case, SPO and connectors) to get the rest done. Considering those restraints, they did a great job.
Come on... the developers used the reference designs already provided by GI for the SP0 and figured out how to make a simple transistor amplifier. That's 101 electronics, even in the 70s. I don't think that took them more than 3 days...
IMHO most of the work is in the software, today and even back then. See, the hardware of the whole CPC was thrown together in a couple of weeks. They even threw away the intial 6502 design and switched to the Z80 because they wouldn't have been able to meet their deadlines otherwise, given the availabilty of the Z80 BASIC...
Most of the development labor went into the RSX extension for the DKtronics for sure, not the (simple) hardware.
I think they did a great job, but it is really not an engineering miracle that was produced under extreme pressure or whatever. It is a standard design that every 2nd semester EE student should be able to accomplish in 3 days.
Quote from: VintageAdvantage on 01:35, 27 May 20
This is what the original designers thought the filter should look like.
I'd be interested in seeing the results of this compared to the filter you are designing (simulation runs).
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...
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
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...
Here you go:
http://www.cpcwiki.eu/index.php/File:Amstrad_SSA-1_Schematic.png (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 (https://www.partsim.com/simulator)
(that also uses SPICE)
Congrats on cleaning it!
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...
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:
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.
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....
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...
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.
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
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... !
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 (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.
But it's free...
Sparkfun has a whole series of tutorials about it
https://learn.sparkfun.com/tutorials/getting-started-with-ltspice/all
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...
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
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?
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.
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.
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?
If you have a disk, you can use this program to test the RPM: http://www.cpcwiki.eu/forum/applications/dsktest-v0-1b/
Bryce.
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 :)
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
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
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...
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 :)
Quote from: RetroCPC on 09:01, 01 June 20
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.
Replacing the drive belt isn't always enough on its own.
At the very least, you should make sure the pulleys have been cleaned (some people skip this!) and check all the PCB connector pins for dry joints - it's quite common.
CanonMan,
I'll take a look at the pulleys and clean them. There where a few doggy looking solder joints especially on the connectors - some of the main QFP60 controller IC joints look alittle suspect so I'll also go over these - many of the IC's legs don't appear to be wetted during the Wave soldering process, although they dont appear to move when poked...
While I was rummaging around I found one of those tiny I2C OLED modules that can be retro fitted to the Gotek USB drive emulators so I might give that a try.. its a question of finding the time...
Just a quick update WRT to my CPC advantages and getting to work on a few CPC hardware designs:-
I decided to bypass my CPC FDD issues and I just ordered a "AMSTRAD CPC 6128 - GOTEK - 3D PRINTED MOUNT - OLED DISPLAY - FLASH FLOPPY" from Ebay, This also solves how to get software into my CPC in the first place (I understand I can just download .DSK files from the internet onto a USB flash drive and then plug into the Gotek "Drive").
Second issue is that I dont have a suitable monitor - so I ordered BenQ BL702A 17.0 inch LED Monitor which is meant to work the CPC's "PAL" 15KHz frame rate - the idea is to modify my CPC with a "VGA port" - tapping the HSync / V Sync signals from the 6845 CRT controller and using the standard RGB signals... I'm not sure if this will work... but if it does I hope this will be the simplest solution - with no extra signal loss / degradation from an external Scan rate converter.
If this "VGA" modification does not work out, then as a backup plan I've also ordered a "Gonbes GBS-8200 CGA (15kHz)/EGA (25kHz)/YUV/RGBS to VGA HD Video Converter 8200" again from Ebay... Apparently this PCB can be modified with an external MCU to optimize the boards settings for the CPC...
Shame there does not appear to be a simple display solution for the CPC - as someone whose just getting back into the CPC scene since 1980's this is being my biggest headache... (I'd rather not go back to a chunky / hot CRT monitor)...
Quote from: RetroCPC on 05:06, 23 June 20(I'd rather not go back to a chunky / hot CRT monitor)...
That's what I thought too when I started again. Had (and still have, for the most of it) hooked everything up to a TFT with a converter / upscaler.
However, CRTs add A LOT to the retro experience. Much more fun with a CRT... so maybe you'll change your mind one day again ;)
I'm tempted into looking into designing a true digital monitor interface for the CPC - with no conversation from Analogue to digital... this will give a pixel accurate display, my eyes are very sensitive to fizzy pixels...
Windows 10 display scaling is really poor - WindowsXP with its pixel perfect display is so much clearer to my eyes - especially when working on a PCB layout etc...
WRT to a CRT monitor, my little man cave is 5m x 5m (external dimensions) I simply have no space for a CRT monitor... I have 4 dogs who are attached to my every move... they insist on each being in there own baskets on my already limited bench space!!! so I work sandwiched between dog baskets... a CRT monitor is not happening!
Yes be tempted
Ray
Quote from: Audronic on 07:51, 25 June 20
Yes be tempted
Ray
Thinking of a small PCB that intercepts the signals to the Amstrad ASIC and maybe the CRT controller (for access to timing) - maybe this timing info (Pixel clock) could be recreated in the FPGA / MCU... as I lack VHDL skills, I'd rather use an MCU then FPGA (although this is a really a task for a small FPGA, something like an ICE40 / 50) - maybe I could use a smaller XMOS... it be a way to hone some XMOS programming skills....
I'd need to first understand how the CPC maps the colour info into memory... luckily we only have 1.5 bits, 0, 50% and 100% for each RGB colour...
I use a Commodore 1084 CRT with SCART input. It's obviously deeper than an LCD monitor, but doesn't really take up more space otherwise.
Bryce.
Bryce,
I've had time to wire up a VGA connector + rats nested a buffer to provide the H/V sync from the 6845 CRT controller and now have a stable image on the BenQ LCD monitor but the colors are wrong.
The first powerup text is Yellow but with a very dark blue background (almost black really) - not the typical lighter blue background as seen on the CRT - also on Oh Mummy the expected Yellow background is washed out very dark yellow - with black ghosting edges, could be some kind of video overload... Odd as the text on powerup looks OK (Yellow)
I suspect I have either issues with termination or incorrect video signal levels for a VGA monitor...
Do you have any hints suggestions?
I'm not sure of the correct video RGB levels / termination required for the CPC - maybe I should more correctly say for VGA...
What circuit are you using for the buffer?
Bryce.
Quote from: Bryce on 14:03, 28 June 20
What circuit are you using for the buffer?
Bryce.
I'm only logic buffering the H/V Sync from the 6845 (via a couple of 74HC04 gates connected in series for each Sync signal)... the RGB signals are taken directly from the CPC's Din socket - I've since read that the signal amplitude for VGA is 700mV terminated into 75ohms (150ohms Zout from the source, 150 ohms @ the VGA monitor).
I need to take a closer look at the CPC video circuit...
Found this in the hardware manual:
The input will be the same as the earlier GTM65 versions, i.e. impedance 470 ohms to 0V, analogue voltage input which is linear between 0.8V (Black) and 1.75V (Peak white).The CM14 colour monitor needs to handle a sixteen level input on each of RGB. The new monitor must present an input impedance of 100 ohms to 0V.
This does suggest I need to pad down the signal to 700mV for VGA, I need to scope the signals to better understand whats going on...
More info on VGA video levels and termination:
Distributing the near end termination resistance is an attempt to reduce reflections at the VGA connector. However, it's sloppy. Looking from the VGA output, the nearby resistor looks like nothing more than a resistor, and can be ignored. Then you see 50 ohm line, then 150 ohms in parallel with the 75 ohm coax and far end termination at the monitor. 150 ohms at the connector in parallel with 75 ohms = 50 ohms. The 50 ohm line is matched and does not "see" the transition into the 75 ohm line.
The nominal video level for a VGA monitor is .7 VPP, with black at ground.
All is well if the monitor itself is well terminated. This is not always the case. Reflections coming back on the 75 ohm line encounter first, 150 ohms paralleled by the 50 ohm line, or 37.5 ohms, yielding a nasty negative re-reflection. However, at the far end of the 50 ohm line, the signal will meet the 150 termination at the chip, which makes another nasty but positive reflection. Keeping the distance between these mismatches short helps to overlap the reflections to achieve some cancellation. The time skew of several ns between them leads to spikes of noncancellation traveling back to the monitor that are hopefully beyond the monitor.
Scoped the Video signals to the monitor, and levels appear correct, but there is so much noise (especially Ground bounce) & reflections as a result of poor termination, signal integrity is a real mess.
I think one of the problems is the higher video B/W of high resolution monitors is just magnifying the CPC's poor by today standards video output...
The CPC6128 lacks a Ground plane and the ULA the produces the video signal is a distance away from the video output connector resulting in long incorrectly impedance matched RGA PCB tracks + huge ground noise between the ULA ground pins and video output connector...
Pondering moving the ULA, clock circuit and video interface to a small 4 layer daughter board with improved layout to see if this helps to improve video quality...
Attached is a relativity correct photo of the LCD screen - really odd dark horizontal bars and noise is clearly visible... the vertical bar to the left of the picture is just a result of underscan, the BenQ BL702A monitor cannot overscan - despite supporting 15KHz, its not a great solution...
Spent more time then I should have understanding the CPC 40010 Gate Array video out.
In the end its very simple - and has 3 states:-
100%: Active pulled high via a very non linear "resistor" I suspect its more likely simply the RdsOn of the Pch device. Measures 75 Ohms when Lightly loaded, nearer 100 Ohms when loaded.
50%: this is Tristate (no active drive) - so the voltage is determined by external resistor values, this allows one to trim the colours.
0%: Active low, pulled down via ~ 22 ohms.
There is significant spectral noise on the GateArray outputs - with significant ground bounce, Jitter and other modulation, adding to the poor signal integrity is the PCB's layout lack of any ground plane and controlled impedance's which significantly worsens the video signal.
Without video buffering (which will not help with the spectral quality / noise) I can see no way of achieving a fixed output impedance (and thus correctly terminated signals) to drive a VGA monitor (or really any monitor if we where being pedantic).
Now that I understand the GateArrays output stage, I can design an adapter PCB to provide a correct impedance / signal level, low phase noise video output.
Is the DKtronics done yet?
I got sidetracked working on improving the CPC6128 Video quality (I now have a decent picture quality) - then my day job got in the way...
Still plan a Gilded Speech Synth / AmDrum PCB just for the fun of it...
I'll get back to it when I complete my current PCB design...