Leningrad construction Project Pt 1: The bare minimum.

So what is a Lenigrad? Well seeing as you found this post I presume you might already know, but for those of you who don't, the Leningrad-1 (Ленинград-1) (A.k.a Leningrad48, Zonov Variant) was one of the most popular clones of the ZX Spectrum in the former soviet union. It was designed by Sergei Zonov in 1988 and of course does not use ULA but instead uses integrated circuits of the к555 family (equivalent to 74LS) with a к561ие10 (MC14520) thrown in for good luck. It's a fairly elegant design (if you're into that sort of thing) as it does so much with so little. The best schematic ive found is located here (tranlated) or here (translated). Of course it has its own caveats and compromises (perfect is the enemy of good after all) but we will get to them in time. 
So as I mentioned in the previous post, I began this project and abandoned it a few years ago, only having rebegun it recently. The state I left it in was as such: I put hours into soldering it and made a custom cable to connect it to scart, upon first power up the tv didn't even flinch. Nothing, nada, zilch. I had expected this so I tried to do one of the modifications from zxbyte.ru and achieved nothing. I checked waveforms at various test points and everything was in order so for whatever reason i gave up it then sat in a box for several years in this condition. 
 



After watching a bunch of Usagi Electric videos I became motivated to investigate it again. My approach was going to be different this time however. I made a test stand out of MDF, right angle steel and some 3D printed brackets, the keyboard was also 3D printed and wired point to point bus bars (I may talk about it later). I didn't take a photo of it at this stage so here's one from when the computer was a little more built up.



1. I used a lovely, if tiny Sony PVM 5041Q which is tolerant of a wide range of video signal types, instead of a random flat screen TV.
2. I started checking signals from the beginning and to my horror, the clock was not running, it turned out that half the board wasn't receiving power. Now I remember checking the signals at various test points vs that in the *manual so maybe i burned something in testing after this? 
3. Traced out the modification I did previously and found I had a few things hooked up wrong in an attempt to make up for component substitution. 

When its all laid out like that it seems a little bit silly but with all that said and done, I simply bypassed (and later removed) the faulty modification and found that it displayed the correct mattress (video output with no rom inserted) with the incorrect colours when in COMP mode and nothing when in RGB mode. It was progress at last.


The ability to display this screen correctly is a big thing when building or restoring a Spectrum clone such as this one, it means almost everything is working correctly and that my only issues lie somewhere in the video circuitry. Sure enough when the ROMS were inserted (borrowed from my genuine leningrad) a splash screen was displayed, 



Sure the colours were still incorrect but this confirmed that the computer was working. Now this was an anticipated issue, soviet TVs are much more tolerant of non standard video inputs and i'd read about the specific issues this variant has on zxbyte.ru too many times. 


Cutting one track and inserting this circuit allowed me to see a video output in RGB mode finally. Allowing me to see the totally legit copyright screen Just as Sir Clive *Zx spectrum* Sinclair intended. This is a fairly simple modification that uses a monostable multivibrator to set the length of the horizontal blanking pulse (CC/) to around 5.7uS in theory, but I observed it to be around 4.8 uS, bang on the upper tolerance of pal video timings (4.7uS+-0.1uS). I forgot to note down the original sync duration, but i believe it was something like 16uS , needless to say this was closer to what the tv was expecting. If anyone knows why it would only display video in UVB COMP mode before this do let me know.
 



But all was not well of course, where would be the fun in that. I was also suffering from another classic issue that these soviet spectrum clones have: incorrect black level. This causes all sorts of weirdness with colours displaying differently depending on border colour with some combinations causing the complete loss of sync, again Prusak at zxbyte saves the day with this modification. I should've taken a video of this as it was a truly strange effect, maybe next time.


This gave me a fully functional ZX spectrum capable of outputting video, being programmed and not much else. So the last step of this phase was to get the audio outputs and input sorted. For this I decided I'd go for the simplest possible solution and if it didn't work i'd go for something more complicated. I used a 40106 Schmitt trigger (oo sacrilege, mixing logic families) to construct 3 variants of the same thing, one for accepting data (for LOADing programs), one for outputting data (for SAVEing programs) and the third for outputting BEEPs for that sweet sweet 1 bit sound.



With that constructed on the perfboard in the corner I was finally able to load programs. Yes these are extremely crude circuits and really the capacitors could do with being more suitable values but in my testing I haven't had one tape loading error from .tzx files i've downloaded or programs I have saved by recording to audacity. I celebrated this of course by playing Tetris.
 


 So that is how you construct a minimally functional ZX spectrum clone, here is the board as it lies currently. I do have further plans for its expansion of course but those are a topic for another time. Seeya!



*Настройка и ремонт ZX-Spectrum Ленинград - Moscow'91 (djvu)
 NB: most circuit diagrams from this post were taken from zxbyte.ru with translations added by yours truly. Please check out their site, you can easily get lost in it.
 One other modification was performed to the socket for the rom DD29, this was to allow the use of 27C128 and above ROMS, I have a 27c256 installed currently as its what I had. The wiring for that is pretty simple and is shown below. This modification was found here




Comments

Popular posts from this blog

Digging in to the Tei Processor Terminal PT. 1

The Tei Processor Terminal PT. 2