lundi 9 mai 2022

MIDI SWITCH.

We do tests on prototype boards, we develop ideas that don't always work. And then at some point, when the concept is in place, you have to connect everything to check that the general idea can work.

what is called a 'noodle dish'
Between the different programming systems, those allowing various logging methods, the USB hub is very busy. And finally, the realization of the first MIDI 'ping'.

The principle is simple:

- We start from the PC in MIDI.
- We enter the MIDI information to the SWITCH.
- We continue from the SWITCH in MIDI to a synthesizer.

And yes: it works!

At the same time, on this path, various changes of media type and communication speed are performed. This is the principle. And the general principle is to make a machine that facilitates MIDI interconnections. 

I seem to be on the path I have set myself. Obviously, there will be 16 channels to manage. For the moment I am not yet able to know if the power of the integrated processor will be sufficient but I think so, it works at a fairly high frequency...

mercredi 27 avril 2022

Shortage of components :-(

It is clear that, although the economy has supposedly recovered, the availability of certain components is still uncertain. As for those that are available again, prices have increased significantly.

This is the case with FPGAs. However, for particular creations, I appreciate the use of FPGAs. I intend to develop my Drumulator clone with this type of circuits. 

And, suddenly, I'm not really sure I can get the modules that I use. So I decided to make an FPGA module myself with a circuit made in China by Gowin.


For now, the goal is to create a test module that can allow me to discover these new circuits. They are not really comparable to Altera (Intel) or Xilinx circuits. They offer less possibility, a priori, but should perfectly suit my basic applications which do not require large resources.

So I chose to use the GW1N-LV4-LQ144 component. It offers 4608 LUTs, 180Kb (22.5 KB) of BSRAM and 256Kb (32KB) of FLASH. I think this should be enough for a minimal Z80 system implementation like that of the Drumulator.

But, to be clear, I'm not sure of anything at the moment... So, as I like to experiment, I developed a small module-type board which, if my tests are conclusive, can be used for a few applications:

Front

Back

The board seems more 'simple' than what we are used to seeing with classic FPGAs. It is precisely that Gowin circuits allow this simplicity. And I like it when it's simple ;-)

I still have the silkscreen to be placed correctly and I will have some printed circuits made.

That's good, I received a Gowin programming dongle this morning:


Let's go for adventure ;-)

dimanche 17 avril 2022

OMEGA MSX : Other projects

Around this OMEGA computer project initiated by Sergey Kiselev, there are other contributions that I think are worth mentioning. 

First, a series of expansions made by Msxmakers, including a 4Mb static memory expansion card. This extension is intended to take place directly on the OMEGA connector, in the space provided for this purpose:


This extension seems interesting to me because it offers enough memory for the development of ambitious projects.

And now a new version of the original Omega board, this time made by Merlinkv and available on the dedicated Github page. The main purpose of this new edition consists mainly in improving the routing of tracks, especially those dedicated to the video part. The goal is to significantly improve the quality of the video output:


Other significant points: The original ROM slot in DIP version has been replaced by two slots in PLCC format, allowing the selection of several types of capacity. All of the decoupling capacitors and other non-chemical capacitors have been converted to CMS format on the back side of the board. Finally, a number of additional connectors allowing the selection of the ROM, the external Reset of the system, and other possibilities of power supply and connection of fan were added.


You can find this information on the Spanish forum: https://www.winuaespanol.com/

If you are interested in MSX type machines, I recommend that you subscribe to the associated Facebook page: https://www.facebook.com/groups/msxhomecomputers

I haven't tried these two projects since I'm currently working on an MSX-ROM type cartridge project that can be downloaded by USB. And this kind of project already takes quite a bit of time...

vendredi 15 avril 2022

Drumulator : It's progressing

There it's done. The audio output tests I'm preparing for my Drumulator clone works fine.

I present to you the prototype of the audio output of my new Drumulator:


And, in order to demonstrate the perfect functioning of the board, here are a few seconds of video. 


(Click on Youtube to have more details)

For the moment I don't have a suitable camera but I was able to use DaVinci to select only the clearest part of the video, and export it to Youtube. You have to start by testing the tools at least before embarking on large publications...

mardi 12 avril 2022

Drumulator in FPGA & OMEGA MSX computer.

THE DRUMULATOR

I continue the experiments of recreating the audio outputs of the Drumulator.

At this stage, I know that I am able to read all the Drumulator sounds correctly with the digital/analog converter used, once the data has been passed through the decompression table to the µLAW standard.

But, for the moment I reproduce the sound directly at the output of the audio converter. I now have to test on the one hand the individual volume adjustment part then the sample&hold outputs, in order to verify that the reproduction is going well on all the outputs.

It's a bit complicated because in order to minimize the need for board routing, I opted for serial interfaces for all the commands. Originally, the interfaces are of the parallel bus type with all that this implies of buffer circuits and bus locking.

And above all, I like to condense ;-)


Apart from the analog converter and the serial control circuit, I use the same components as those present in the Drumulator, just to preserve as much as possible the sound signature of this machine.

THE MSX OMEGA

This morning I received a package directly from Poland. Even if I blurred some information on my home address, I note that the French postal service still retains within it, some real clairvoyant eyes. I doubt that it happened correctly in the machine-reading system... Long live to the world of real people!


And what's beautiful inside this 'survivor' package? 


Everything you need to build a great case for the OMEGA board. All I have to do is find the few screws needed to fix the board to the bottom of the case. Interesting thing: I find that my USB to OMEGA keyboard conversion interface fits perfectly inside the box without any problem. I should even have room to attach a USB connector to the front panel. From the cutout informations, I thought my interface wasn't going to fit inside. In fact, it does it very well and I'm very satisfied!


The difference in this version is that there is no cutout for the Omega keyboard as originally planned since I am replacing it with a USB keyboard. I indeed thought that it was not going to be practical to type on the keyboard placed in the high position. I was right. It will be much more practical with a 'normal' keyboard.

So, I'm thinking about building a cartridge to easily develop software for the Omega. I know that there are many solutions, including the one that consists of using a ROM cartridge of the MSXROM512 type from Raphnet, on which we place an EPROM emulator to easily upload the code, once validated in the emulator,


but I am going to try to develop a cartridge that can be loaded natively via a USB port and also equipped with a serial port. 

Because in fact, I'm not very 'games' with computers but rather communication. I would love to connect this Omega somehow to the NET.

Many thanks to Krzysztof Odachowski for the realization of this enclosure...

vendredi 8 avril 2022

Drumulator in FPGA & MSX news &...

It's been a few weeks since I posted anything. However, I worked on four simultaneous subjects.

  • Troubleshooting the CSQ600.
  • The development of the MIDI switch.
  • The finalization of the USB keyboard converter for Omega.
  • The test of the audio output of my future Drumulator. 

CSQ-600: 


Unfortunately, I couldn't get the machine to work. However, I installed a new processor, but the result is strictly identical to that of the original processor. I just managed to have a different start of the machine by replacing the original oscillator with a signal generator. The result is insufficient for me to get an idea of ​​the problem for now. After a few days of intense investigation, I momentarily put the subject on hold.


MIDI SWITCH :


I made some progress on the subject. I mounted a module with four RJ45 inputs/outputs as well as a small conversion 'pod' to MIDI IN/OUT. I'm currently stuck because I can't get my hands on the small processor used on the PODs. Fortunately, I recently found availability for this processor and ordered a few copies. I am awaiting delivery.

USB KEYBOARD CONVERTER :


I am pleased to announce that the development of this interface is finished. I finalized the code for 'AZERTY' and 'QWERTY' type keyboards. As a reminder, this converter allows you to connect a standard USB keyboard to the MSX OMEGA microcomputer. Also, I'm waiting for some components to manufacture a few copies that I will make available for sale for those who wish to go through this solution rather than building the OMEGA keyboard entirely.

The Omega computer

AUDIO OUTPUT FOR MY FPGA DRUMULATOR :



I completely coded the processor part as well as the waveform sequencer in VHDL. The goal is to fit as many logic elements of a Drumulator as possible within an FPGA. So I still had to study the audio output. 

The problem is of course, that the kind of digital to analog converter used in the Drumulator is absolutely no longer available. The solution adopted therefore consisted in using an available 12-bit converter, and in coding the system making it possible to reproduce the logarithmic transfer function of the original converter.

For this, I started to mount a copy of my analog output prototype:

Quick & dirty test plateform but sound very good!

To do my tests, I used a development board from STmicro equipped with a fairly powerful STM32 processor. This kind of board associated with the ST development software is really ideal. Once the system was set up, I encoded a square signal at 1KHz using Audacity which I exported in µ-LAW format to the development board. The result gives what was expected:



For this kind of test, low precision required and low frequency, the (toy) FNIRSI-1014D is ideal because it does not generate any fan noise. This allows you to leave it on for hours without wanting to throw it out the window at the end of the day ;-).

Finally, I replaced the sinusoid definition file with the one from the copy of the original Drumulator ROM to see the scrolling of all the sounds of the machine, given that I scan the whole 64K of ROM.

In fact I obtained the same result as that obtained by testing the waveform sequencer implemented within an FPGA, by directly sending the addresses to the ROMs present on the motherboard of the Drumulator test:


Basically, I have 'proof' of all the important parts of the Drumulator working. It only remains for me to test the analog output filters, knowing that there are recent components to replace the old SSM present in this section of the Drumulator. Each part works 'in its own corner'. Now it's all about putting it all together on a large prototype board.

I left my job with the madmen of the French national education since a few weeks, and life is much more pleasant now. I develop what I like, at my speed... Peace for ALL!


jeudi 17 mars 2022

Components shortage!

This story is starting to get a little annoying. In recent months, the price of components, particularly on silicon chips, had seen their prices explode. It is now becoming impossible to obtain them, particularly processors.

As a result, it becomes more and more difficult to advance in my developments. No more FPGAs, no more ARM-like ST processors: hum!!!!

Just to think of something else, I pulled out of the boxes a Roland CSQ-600 sequencer in poor condition and non-functional.

https://fr.audiofanzine.com

This is not my personal CSQ-600. The case is so deteriorated by rust that I do not prefer to display images that may offend the sensitivity of some ;-)

I prefer to display here, a picture of the cleaned motherboard of the machine:


I did two main jobs on this board. The goal being to clean it on both sides, I started by cutting all the legs of the components. They were really too long and were going to bother me to pass the brush. Knowing that it was also possible that some bent legs end up touching and creating problems. Might as well avoid all these inconveniences.


In the end, I ended up sucking all this little pile of bits of metal:


It took me some time but allowed me afterwards to properly clean the whole circuit board.

And, obviously, I had to redo some tracks located under the location of the original battery which, having leaked, had corroded and cut the 4 'usual' tracks.


After general inspection of the board and some soldering redone, I was able to power up the system.

And what happened?

Absolutely nothing!
flat cephalogram!


After having tested all the pins of the 8048 micro-controller, it turned out that absolutely nothing is happening on its input/output ports.

In fact, this is what I found:
  • On pins 2 and 3 I observe the system clock which is approximately at 5MHz.
  • The ALE signal is active.
  • Pin 16 (DB4) is stuck to +VCC and does not move.
And that's all! There are days like that.....................

For me the conclusion is quite simple: the processor is dead!

I don't know what happened on this machine. I bought it in the state and potentially not functional a few years ago for a few tens of Euros. It may be that there were tests performed in the wrong way, that the 5V was higher, and in this case other logic circuits will be destroyed etc etc...

At the moment, none of the circuits are getting hot, so I'm hopeful that all the logic on this board hasn't been destroyed. I always ask myself the question of what can destroy a processor. I have never seen a CPU die on its own. Most of the time it is a question of a bad handling which leads to the destruction of the circuit.

The problem is, first, I don't have an 8048 processor, nor the way to program one. I don't have the firmware dump either. Anyway, I found a supplier able to get me a programmed 8048. First of all, I will direct myself towards the replacement of this component.