I’ve spend some time to debug STM32L based 140K “floppy-drive” for my “Agat-7” replica project. It is already perfectly workable in read only mode. I transferred it to SPI interface to save some FPGA pins and now I need only 5 pins instead of 12. For 840K floppy drive it will save even more pins. But the wires and cables that I used for connections created a lot of errors in SPI protocol, so I had to send each byte by three times. If the transfer was reliable, I wouldn’t need the 5th pin, so potentially I can reduce required wires to 4 later on PCB. Here is the quality of SCLK signal after reaching STM32L dev. board from DE1:

As you can see, the capacitance it too high.

Having such a problem, it is difficult to continue the project, so I’ve decided to create Rev.0 PCB of the computer. It will also help me to debug other parts, like I2C port extender or video output.

I’ve started to create a schematic of the replica. Compare to the final version, this revision won’t be created to fit any particular case, it will have some test pins for easier debugging, it won’t have a serial-parallel interface built in and it won’t have an extension slot for original cards. But all unused FPGA pins will be accessible through IO port, so it will be possible to add and debug the rest futures.

So, today I’m presenting the video output module. It allows to use a VGA display with resolution 1024х768х65Hz or a PAL compatible TV set with a composite or S-Video input. Here it is:

“SW_VGA” switch is used to choose output. It also connects to FPGA through I2C port extender to switch the output standard.

Video output requires 6 pins of the FPGA: Red, Green, Blue, Y, HSync and VSync. They come from FPGA in required format. Luminance (Y) bit is common for all colours, but we need to combine it with each colour signal separately. A simple 2-bit DAC on resistors is used for this purpose, but we need to make sure that Y signal is mixed with a colour signal only if the colour signal is on. I used 74ALVC08 (U6) for this. It is a speed version of popular AND-gates set 74HC08. It is important to use this IC, because its propaganda delay is less than 3ns which is more than 10 times less than the smallest displayed pixel in the most condensed ANM-64 mode of the replica. The standard 74HC08 will have the dalay of about 12ns, which is too high. Also, the benefit of this chip is its 3.3V voltage.

All colour signals are terminated by 75ohm resistors in the monitor or near PAL coder chip AD725 that is used in the project, so, resistors R7-R12 effectively create a voltage divider with them. They have been chosen, so the final voltage does not exceed standard 0.714V and dots with lower luminance are readable.

After that the colour signals go to an analogue switch TS5V330C, which direct them to VGA monitor or TV output circuit depends of “SW_VGA” switch.

TV signal is coded with AD725 coder. Its recommended layout is described pretty well in the datasheet. I just want to mention that it receives its clock signal from a generator on 17.734475MHz crystal and 74HC04 invertor. I haven’t used FPGA for this because both PLLs are used in the project already. Also it saves another pin of the FPGA.

Sync signals HSYNC and VSYNC can be connected straight to both outputs, because they are not terminated. I’ve connected “VGA_VSYNC” signal this way. But because I have a spare (forth) switch in TS5V330C IC anyway, I’ve connected “VGA_HSYNC” through it.

I would appreciate if you fined any mistakes in the schematic or have an ideas to improve it. I’m going to create a PCB layout next week. I’ll be publishing the other parts of the schematic here as soon as they finished. See ya!

As you may remember, I’ve designed a universal platform for building retro-computers “Retrobyte”. I have successfully tested it by building the “Mikro-80” computer a few months ago and now I’m working on adapting my other retro-computer project “AGAT-7” to this platform. “AGAT-7” requires more functionality than “Retrobyte” has, so I’ve build an extension board for[…]

A blog format is not very suitable for short status updates of my projects, sharing ideas or interesting facts and news. So, I have created a twitter account to supplement the blog. You can now see the latest tweets on the right side of the home page. The detailed articles are still going to be[…]

The computer “Mikro-80” was made in the Soviet Union in 1980 by a team of enthusiasts before in 1982, the magazine “Radio” began publishing its documentations and schematics. In a nutshell, this was the first accessible personal computer in the USSR; in that era, only single digits of people in the country had the ability[…]

In my previous post, I explained my idea of a modular platform for building modern replicas of retro-computers, of which the Rev.A has already been built and tested. In the process, I found a few things to improve: On the silkscreen, the diode D1 was shown incorrectly (the cathode points to the anode) The voltage[…]

During the time I worked on the “Agat-7” replica, I came across the need for constant changes and improvements; these resulted from either new ideas or troubleshooting. Some of these troubleshoots involve tinkering with the circuit board. Currently, I have four different revisions and modifications of PCB’s for “Agat”; this isn’t even the total amount,[…]

The multimedia center in my car is quite useful – it features a built in GPS navigator, a rear-view camera, an MP3 player and several other handy functions. However, its greatest weakness is the inability to play music via Bluetooth. The only supported option is the hands-free bluetooth phone connection mode. To listen to music[…]

Not so long ago I found out about a very interesting computer under the name of Maximite. It is built on the microprocessor PIC, on which are assigned all the main functions of this computer. This small device was made in 2011 and became popular enough so that now some games and programs were made for[…]

In the previous post, I promised to tell you about the holders that I made for the spool of plastic for my 3D printer. In the original kit, there is no holder or support for the plastic and it just sits there next to the printer. The spool, positioned thus, often tangles and requires constant attention. This[…]

It was always a problem to find a proper enclosure for my devices. So, I decided to build a 3D printer for these purposes. It is a great project to build. It can be used not only for customised enclosures but for all sorts of other projects. I didn’t want to buy a pre-build printer[…]

I’m about to finalise my Rev.0 of the modern replica of the retro-computer “AGAT-7”. The next step will be Rev.A design with fixed mistakes, improvements and some new ideas. In this post I’m going to summarise the Rev.0 experience and share with you with some ideas for Rev.A. At the moment the Rev.0 computer starts[…]