Counter Charset=Western Eurpoean (ISO-8859-1) SEO Policy v1.0
» Back to home page « » Privacy and Security Statement « » Terms of Use « Last-Modified: October 21, 2010

Eugeny Brychkov
+7 916 440 6541

View Eugeny Brychkov's profile on LinkedIn
eugeny_brychkov at

Inventor's Corner

From ideas to reality

I liked technical matters from early ages. Who knows how many devices like radios, clocks, telephones and others had successfully died in my 8-years old hands until I've got enough skills to non-destructively disassemble with following assembly without spare parts left. Those mid-80 years, electronic spare parts were very hard to obtain, and I often used parts taken from disposed of equipment to perform my childish investigations. I was very happy joining radio-electronics study group consisting of kids of my ages in 1985, where members were building oscillator radio sets and transistor amplifiers. As a beginner in this scientific field, I've got basics of electrical engineering, electronics and radio engineering as well as skills in using soldering tools.  
King's Valley
King's Valley beta testing
» Participate «

YAMAHA YIS-503III MSX-2   At the fall of 1986 we've got new computer class consisting of 16 Yamaha YIS-503II MSX computers, and I decided to switch from electronics to computers. In age of 12 I started to learn Microsoft Basic, specializing on mathematical and computer modeling. Children were allowed to play computer games after studies; we had been enjoying King's Valley and Knightmare from Konami. It was great luck that I continue my further education in the school also having MSX personal computers.

My first product retained from that time is a box for 3.5" diskettes. MSX computer class had been consisting of one teacher's unit with floppy disk drive and 15 pupils' without FDD, diskettes were in deficit and were considered as luxury. So my first diskettes I've got I was putting in this case made of lacquered wood.   Box for 3.5" Diskettes   Box for 3.5" Diskettes - Open   Box for 3.5" Diskettes - with diskettes

Power and Audio devices   Power and Audio devices - backside   Yamaha personal computer was one of powerful multimedia computers available for education in many schools in USSR; it had Zilog Z80 processor, separate video processing unit, and audio processor. What we liked a lot is playing computer games on these great computers. There was only one little challenge - it did have audio line out, but no speaker. To enjoy multimedia capabilities, I have developed and built a set of devices: audio device with 0.5 watt speaker and possibility to install 9v battery inside, and external multi-purpose power supply with adjustable output voltage level and electronic shortage protection (~1988). Later, when I've got 9v rechargeable battery, I have brought charger connector out at the back of the power supply unit.

Another missing multimedia and gaming attribute was a joystick (~1990). There are 2 ports in the computer, but of course educational ministry did not order even a single device to attach to these ports! Creation of this device required skills in electronic and mechanical designing - arm had to be ergonomic, switches inside to be aligned so that when tilting handle between any adjacent pair of switches they both are closed. Playing shooters like Knightmare required significant speed of hitting space key and muscle tension and I built auto-fire circuit into the joystick.   Joystick

Line-in amplifier built with transistors   Line-in amplifier built with transistors - backside   Previous audio device had been built using point-to-point wiring, and this new unit (1990) was a printed circuit board (PCB), having 2 channels. Each channel is 5-transistor-based 0.5 watts line-in amplifier.

This is my first digital device (1990). Chip it is made with is 74LS00, and as soon as it was not used anywhere it is hard to identify now what is a purpose of this device. It contains 5v voltage stabilizer, which lacks high capacity electrolytic ripple filter condenser, which I probably was not able to find available due to electronic components shortage on the consumer market. Having drawn circuit diagram, I see that this device is having an output to connect power indication LED, and other outputs should be connected to another 8 LEDs to flash them.   Strange logic device   Strange logic device - backside

Single channel amplifier   Single channel amplifier - backside   As soon as amplifying circuit in single chip had been released, I have bought it and built a board to perform quality testing (~1990). It had revealed that this chip requires high capacity electrolytic condensers tied to it, and these condensers were rarity and hard to obtain. In addition, chip had been heating badly.

Disk Doctor (similar to Norton Disk Doctor) was one of my system utilities for MSX (April 1991). Source was mixed C (2,098 lines) and Z80 assembler (1,173 lines) code and was using Kirill's Churukanov's "United C LIBrary" (UCLIB). Executable can be downloaded from here, no warranties though.   Disk Doctor   Disk Doctor: analysing surface   Disk Doctor: volume information   Disk Doctor: volume data editor

Double channel amplifier   Taking all lessons learnt into account, next analog hardware development was dual chip-based amplifier (~1991). Chips are having heat sinks attached to them, and there was enough space for condensers on the PCB. Years later I have replaced all old big electrolytic condensers with ones of the same size, but times more in capacity.

In 1991 I have entered higher school, MGAPI, and have got an access to IBM-compatible computer - it was IBM PC based on 8088 Intel CPU. Involved into educational process and its development, with support of MGAPI's tutor, professor Boris Linev, I developed a set of educational computer programs on resistance of materials subject, using Borland's Turbo Basic as a source language. They were extensively used during student practical work for materials resistance modeling and calculation of various physical values. After practicing students print report, which to be presented to the tutor for an assessment.   Shaft tension momentum modelling (1)   Shaft tension momentum modelling (2)   Force/Rotation/Temperature stress modellng

OS shell - Brychkov Commander
  Due to complex network structure and information organization on the storage devices in computer classes I developed improved version of the shell UI (User Interface), looking like famous Norton Commander (1991-92). Source language was C. It was not just a work - it was a fun. This software is capable of opening up to 6 panels, has improved file contents viewer and improved directory tree and file management.

In 1992, my student colleague Sergey Gerasimov had been developing core subroutines for Scream Tracker Module (.stm) multimedia file playback. He left the project shortly, and I taken over improving these subroutines and developing additional multimedia features - Signal Spectrum analyzers, signal graph real-time viewers. Source language was assembler 80x86 (8,760 lines). Output device used is stereo Covox (using 2 parallel ports) which was very simple to build and offering good analog signal quality with 8-bit digital signal processing.
Scream Tracker Module Player Super Scope feature Signal Spectrum analyzing feature
Fixed Frequencies spectrum analysis feature Co-Vox device

Intelligent Audio board (ISA)   Intelligent Audio board - backside   The evolution of this digital multimedia passion was a piece of hardware, an Intelligent Audio Board (1992). The idea was grandiose - board, having Digitizer (DSP) circuit on it to convert analog signal to 12-bit digital representation, 16-bit double channel Covox output devices, 512Kb onboard dynamic RAM to keep .stm module during playback, and 27C256 ROM chip containing firmware keeping a full set of subroutines to play .stm files. Memory had been organized in 2 banks consisting of 8 DRAM chips of 1x256Kbit in size available that time (taken from old 8088 memory boards). Unfortunately, during troubleshooting I discovered that these memory chips are consuming too much power, socket type and wiring method I used caused DRAM to have insufficient reliability. I decided that this DRAM-based memory is unacceptable to use, and de-soldered DSP-processing circuit to use in another project.

This project was a real success (September 1993). Its scope was chosen right, and I used advanced electronic components. Digitizer circuit was the same, onboard memory was of the same size, but was made of 2 power saving 8x256Kbit SRAMs, which were much faster than DRAM version. This board did not contain Covox device. ROM chip was the same; firmware was reused from previous board with some significant improvements. First of all, firmware had been written using 80386 assembly code and optimized for performance. Playback subroutines were embedded into the ROM, and end user just needed to run 2Kb shell executable to start playback or recording. This shell was invoking code from ROM to RAM (shadowing) and executing it. Another significant advantage was that this code had been running in protected mode, thus utilizing large extended memory. Onboard SRAM memory had been used for data "shadowing": during playback or digitizing it was used as primary storage of chunks of data, and firmware in background was swapping processed data to extended memory freeing space for further digitizing or fetching required data for playback. If you will carefully look into software picture to the left you will see it displays some errors - it happens because this picture is of ROM emulation software with no board installed... It's hard to find a connector to insert ISA board these days.   DSP board (ISA)   DSP board - backside
  DSP board - connector side   ROM emulation software

Analog signal level meter   Analog signal level meter - backside   Another product from 1993 is a signal level meter. It is based on analog comparators taken from faulty CRT displays.

This device had been heavily used in our lab in 1993-94, where our team of 4 people was performing repairs and maintenance of EGA displays. Device allowed, using only one PC having one EGA adapter, to connect up to 3 EGA monitors for burn-in testing. This device saved reasonable costs on additional PC hardware as well as time - 3 monitors were being stressed by burn-in tests at the same time instead of one.   EGA channel splitter   EGA channel splitter - backside

Power device with Intel Fax-Modem connected   Software to send secure data via modem   Starting 1993 I had almost never buy electronic components and computer hardware - I was lucky working in computer services firm, having opportunity to take components from devices intended for scrapping. My first PC had been built out of scrap, and I bought my first monitor with the discount because I repaired it. When firm became Intel's authorized service partner, I've got an opportunity to make one working Intel EtherExpress adapter out of 2 defective returned for scrap, and make one working Intel modem using second defective one (1995). Using this lovely 14.4 modem I had an opportunity to work online in FIDOnet community, gaining and sharing knowledge with my peers. My graduation thesis was about data transmission between modems using secure and fast protocol (1996).

Sometime back to 1994-1996, when we were doing motherboard repairs, there was a need for measuring bus and other clocks' frequencies. I have taken one of the components available from old mainframe SM-4 and converted its diagnostic module to the frequency meter. Original board had 4-digit display and decoding logic, thus device only required addition of reference clocking and comparison modules. (2010 update: replaced faulty 74LS192 chip, drawn schematic diagram, tested)   Frequency Meter - schematics  
Frequency Meter
Frequency Meter - backside

Car power adapter, top view   Car power adapter, bottom view   Simple but useful device (1996). It was used to power up CD drive in a car to listen to CD music. Device is based on 7812 and 7805, and is obviously missing smoothing electrolytic capacitors. The most important element on the board is a fuse.

(Mar 17, 2002) When managing my apache web-server, I realized that I need a tool for online activity monitoring. Web-server was x86-machine-based, thus famous "tail" utility was not available. I developed very simple, but effective utility WinTail, which is polling text log file, and prints updates to the screen in command-line mode. I had a question from a colleague from Singapore who wanted to use it to view Windows OS logs... unfortunately no way - Windows OS logs are not text files.

HP Services: Speed, Power, Passion award   I had been asked by one my gamer friend to try to recover scratched CD. It was containing a very large data file, and it seemed there were spots which OS - neither Windows nor DOS nor UNIX - were able to read. I was hoping that there're not many such spots, and these spots are not large. Task was to do the best recovering bad spots and save all the readable information of this affected file. For this purpose, I created Scratched CD disk recovery utility, and after research developed guide for data recovery using this utility. Research confirmed that about 30% of bad blocks can be read with retries, and there's a correlation between how much laser drive works, its temperature and error rate. Thus end user can set number of read retries manually, and stop retries to cool down the drive and then continue with error rate sunk. CD was successfully recovered, and gamer walked through the game with no problems.

Yet another useful application I and my colleagues used in data management is Professional File Cutter. It allows cutting data chunks out of the files. You just need to know the starting position of the chunk and its length. Initial version, named "Professional File Separator" being developed in 1994, was DOS application, but having windows-based user interfaced (my additional development I heavily used in different applications that time). Later, in June of 1999, I ported it to Visual Basic and Delphi, aiming to learn these visual languages. March 2002 I improved it and compiled to its final version. I use it till now when I need to cut file into pieces.  
Professional File Cutter, final version Professional File Separator, Delphi version
Professional File Separator, VB version

As music lover, it was strange for me that HP-UX is having graphical windowed interface, but does not have powerful multimedia software to play music. I was excited to download freely available MPEG coding software (4.1), finding some bugs, modify its structure so that all needed data tables were in single file and ported it to HPUX 10.20, 11.00 and 11i calling it mpdecode. It is having 2 modes - just convert mp3 file to wav file, and convert mp3 file to standard output to be piped to standard UNIX application send_sound. I was asked by our HP-UX software division to optimize it for IA-64, but as soon as division did not provide any funding, I made a decision to cancel the project.

Virtual Array reference card   (Oct 13, 2003) This is improvement to the HP Virtual Array product. Most of the times end users do not receive training on the product and they do not read any manuals until problem occurs. This might be not an issue for personal non-critical system, but if we're talking about mid-range storage targeted for small and medium business customers, then knowledge is required to maintain it up and running and to act proactively. Being an expert in storage area, I have developed this reference card for Virtual Array to allow customer's engineering personnel get basics of how to read status of the unit and what to do in case unit indicates warning. This reference card should be mounted at the VA chassis side as pull-out card, so that system administrator could pull this card at any time to see guidelines.

What's about HP business? As a European storage competency center engineer I was looking to ways to improve quality of service delivery, and decrease the cost of operations. Disk arrays, optical and tape libraries are relatively complex products, which require special care and precise problem identification and remediation procedures. Most on-site problems arise because of incorrect or incomplete qualification of the problem, and as an expert in storage technologies and support processes I targeted this challenge - and was successful having three web-based applications developed. Their purpose is to provide call qualifiers a framework for specific product qualification, and provide valuable up-to-date knowledge on best practices. Developments were targeting HP Virtual Arrays (latest version as of Feb 24, 2003), Optical Jukeboxes (Feb 15, 2002) and Galactica tape libraries (Mar 1, 2002).
The results of this work, an abstract Qualification Checklists methodology development: problem resolution time and cost reduction and customer satisfaction improvement, was sent to annual HP technical scientific conference '2003 (Nov 5, 2002), but was not chosen to be presented and Russian fellow was not invited to US for this important event.
FC60 disk array, which was a complex stuff and was lacking of reliable diagnostic software, the only way to gather 100% correct data was its controllers' serial ports. Unfortunately, output was a double Dutch and field engineers were feeding it to labs for parsing and analysis. The tool, which I named "FC60 debug log analyzer" (Mar 13, 2003), was parsing debug output and drawing the picture (not just a text!) of the disk array marking suspicious components and providing preliminary analysis. Our lab people were contacting me about this tool many years after I left the competency center.
  HP Virtual Array checklist   Optical Jukeboxes checklist
  Galactica tape library checklist   sample output of FC60 debug data analyser

My good friend from France, Francois, who was taking care about our outsourcing services for one corporate account, asked me to lead technical implementation and delivery of the call handling process and so called "pseudo case-exchange" (April-May 2006). Implementation was perfect, but technology, and standard applications used were having problems and call updates sometimes were lost. Yet another my challenging task business and I set for me was to find out why problems occur and mitigate the risks joint business was posed to. Cooperating with engineers - Balazs Czumbel and Andy Mehlos - and managers of customer company, problem was identified and fixed - it was a UNIX script which was behaving wrongly in certain circumstances. To clear backlog of the updates, using extracts from call handling systems and Excel's Visual Basic capabilities, I wrote the script intended to analyze backlog, suggest actions and re-process updates automatically. This application saved lots of my and my colleagues' efforts (excessive costs) and prevented issues at our and customer company. All this inter-company team-working fostered relationships between not only individuals working in both companies, but also promoted further intra-organizational cooperation.

Warranty Sheet - script output   Another large corporate client had been suffering financial and operational problems from missing corporate-wide information on its owned Dell PCs - it was not clear which PC is covered by warranty, what is warranty type (i.e. which service is to be expected from Dell for this PC). This problem was also affecting HP as a outsourcing service provider. My colleague in US was given a task to collect warranty information for more than 12,000 PCs around the world. And it seemed that this task had to be carried out monthly! I have taken a lead to automate the process - we had a list of serial numbers to check for, and I wrote excel VB script which opens multiple Internet Explorer windows and gathers PC warranty information in automated way. This script was running for all the list of PCs within 3 days, including troubleshooting of Dell web-site problems and times of its outages :) Script, in addition to gathering all the warranty info on PCs, was testing statuses against desired service levels and giving conclusion which PCs are covered by warranty this month and what are discrepancies with status quo. Business outcomes were: information in client's database got up-to-date, client payments for warranty extensions are in time, and HP as service delivery organization was enabled to perform much efficiently. At the end, customer business has benefited by decreased downtimes, both organizations stopped clashing on this matter, thus organizational relationships improved. In financials terms HP has saved $35K. I lack information on how much our client has financially saved or gained, but it should be much more than HP has.

Another success which amounted about +$300k for HP (February-March 2007) was about finding root cause and fixing serious problem with PCs. There was escalation going, and HP was ready to replace about 150 PCs because most of them showed symptoms of "colored screen" - if user does not work on PC for some time, its screen comes up with solid color (blue, black, red etc.) and reboot is needed. Although my assignment was not technical (but I was responsible for service delivery in this country!) I taken initiative finding the cause. Properly shaped query in Google, and, voilą, root cause was found in Intel chipset documentation under heading "Display becomes a Solid Color with Intel® Smart 2D Display Technology (Intel® S2DDT) Enabled". Unfortunately, it was stating that no workaround available, and Intel® 915GM chip should be replaced with one of another stepping. In collaboration with PSG team and Intel engineers, solution was found: driver should have been updated with specific flags in registry. However it was not so easy - first driver version supplied by Intel was rejected: I found that driver parameters were spelled incorrectly, and if we would implement it as is it would not solve the problem at all. So after Intel engineers agree with my arguments, they corrected parameters as I proposed and, with full support of Zvi Rosen and Aviv Tomer, new driver had been installed and problem solved.   Excerpt from Intel 915GM specification update

Statistical analysis Graphs for the team
Individual handout
Becoming people manager responsible for their performance is significant promotion, and it contrasts with job of project manager, when you are responsible only for limited aspects of the management. One of vital areas is performance tracking and reporting. No reporting - no measure - no improvement whatever goals are being set! I spot this weakness - out call handling system only provided very basic measures, and does not provide trend reporting so that I can see progress. I taken responsibility to improve this aspect of performance management, and my application, using raw data output from call handling system, provides required trend analysis and provides tips for manager to improve performance. One of extremely important and useful features is individual handout, which you can take and discuss performance with engineer and set improvement goals and draft a plan. This trend analysis allowed my team to significantly improve its performance.

Job well done! I have just finished developing King's Valley game on Java platform (initially copyrighted by Konami). Development has taken 15 days (Oct 17-Oct 31, 2008) of full engagement. Fortunately some materials (like graphics and sounds) were available from Konami, and, logically, my product is subject to Konami's as well as my copyright. Game's screen resolution is 256x192 pixels (the same as on MSX computers), but it is 2x and 4x scalable, making it of exactly 1024x768 size.
Being children we have been enjoying playing games like this (1986-91). It is ironic that due to the current economic crisis people (even adults) will require simple, easy accessible engagements to take them away from harsh reality and provide relaxation, but at the same time do not require much «brain power» and withdrawal from career maintenance process. Initially game will look childish for you - but try it, and you will see it requires thinking and creativity to deceive clever mummies who know their labyrinths very well and can hear each of your steps...
King's Valley Mobile is available for free community testing (21-Dec-08). I found several uncomfortable things with J2ME: lack of image scaling at java operating system level (had to do through my own algorithms), color palettes to be "platform-dependent" and lack of standardization in media processing. Another significant drawback at java's strategic level is programmer's inability to trigger garbage collection to free memory at predefined moment, this inevitably leads to dropped application performance (garbage collector working in background) and "out of memory" exceptions.
  King's Valley intro screen   King's Valley - Level 7
  King's Valley - Level 11   King's Valley - Level 14

MSX Wooden Keyboard (1) MSX Wooden Keyboard (2)
MSX Wooden Keyboard (3) MSX Wooden Keyboard (4)
How are you about «haute couture» in IT and electronics? Or being «green» manufacturing products with recyclable materials from «sustainable» sources? There's always a room for creativity, innovation and improvement. Driven by my need in creative action (and of course having some spares) I designed and built up this beautiful keyboard for retro MSX Yamaha YIS805 MSX2 personal computer (December 2009). Keyboard itself was originally faulty, pretty used and dirty, and first I completely disassembled, cleaned and repaired it. Then communication cable - I cut it in the place where it was pinched, and tied pieces back together. The task I most enjoyed was drawing Yamaha logotype, with subsequent lacquering the image and remaining wooden parts. The most complex task was to make a fretwork holes for keys without damaging wooden structures. Try this small experiment: take a plastic keyboard, or the one with metallic bottom. Put it onto your lap - you will feel the cold, that what you have touched is dead. But if you put a wooden keyboard, feelings will be totally different - wood is not cold, you will feel warmth and will have good mood and feeling after working with the device.

When it comes to retro-computing, it is fascinating and at the same time challenging. With increased technology complexity and level of integration, there're not many people left out there who can create logical circuits from basic elements, and even less people who can make a product out of these diagrams. Another issue is a lack of retro components, which got obsolete and are not manufactured any more.
That was a case which was a real challenge and required a creative approach. Yamaha's YIS805 keyboard was dead, troubleshooting with multi-meter and logic probe showed that very rare chip is dead: 74LS31. For those who do not know - it is precise delay chip, the only in the TTL 74 series. It was impossible to eliminate this chip as it introduces specific delay into the circuit allowing asynchronous read to/write from keyboard port when scanning keyboard matrix.
Solution I was looking for should have been simple, quick and cheap. Ordering LS31 appeared to be relatively expensive, and proposed delivery time was counted in weeks. I asked myself: what are alternative ways to introduce specific delays? Looking through electronic forums I found answer: passive RC delay circuit (June 2010). I put ancient K155LA3 Russian chip (7400) into board, it fitted excellently, cut some tracks, soldered some passive components, and keyboard is alive again! That' really ironic that the Russian chip is dated December 1980, the date when MSX did not exist yet...
  Yamaha YIS805 keyboard without casing   Top of YIS805 keyboard - LA3 chip
  Bottom of YIS805 keyboard - LA3 chip and printed tracks   Schematic - old and new - for YIS805

Auf Wiedersehen Monty cover   The legendary game Auf Wiedersehen Monty by Gremlin Graphics was initially released on the tape, and recently was also available on the diskette. I was asked to make a ROM image so that game can be burned to cartridge, as well as be easily included into the 1chipMSX game collection (September 2010). Task was an easy one as I am closely familiar with MSX schematics, Z80, memory and how VDP functions. I wrote ROM loader, implementing very simple data compression algorithm (as ROM should be 64K, but original code is larger than that). ROM image can be obtained here. ROM type is ASCII-8K, 4000-BFFF, use in unexpanded slots 1 or 2.

Those, who are familiar with architecture and programming of MSX computers and other devices based on Texas Instrument's TMS and Yamaha's V99x8 family video processors, know that while these VDPs provide remarkable graphics flexibility and capabilities, they are not lack of serious drawbacks which are missing in the models like Commodore or Spectrum. Those issues include ported VDP access, no option for CPU to access VDP memory directly, and serious video problems when over-clocking the system (e.g. installing Z80B at 7MHz speed).
I've designed and built prototype of the Direct Video Memory Access (DVMA) board, which allows to map video memory to the CPU addressable space window, uses hardware synchronization between CPU and VDP (so no "NOP" is required between VDP access commands), and what's even more important - graphics performs excellently in the over-clocked system. It holds 128K of video memory based on fast SRAM chips (20 October 2010).
I have taken MSX1 Yamaha YIS503IIR machine, upgraded it to MSX2: soldered some logic on board, upgraded memory board, modified and programmed MSX2 bios to work without RTC chip. This model is best suitable because it has CX7 version 1 board with VRAM memory board connector (native YIS503IIIR has main board of version 2 without such connector).
With this board, CPU command 'LD (HL),A' is enough to draw on the screen.
  View of upgraded YIS503IIR with DVMA board installed   DVMA board installed - closer view
  Comparison between DVMA 128K board and standard 16K board   DVMA 128K board close-up view