mardi 14 décembre 2021

A MIDI patch bay?

I have been looking for a MIDI bay patch for years, even decades. I even studied the feasibility of such a device on several occasions. In fact, the constraints in terms of feasibility, complexity, functionality and price are really strong. 

On the strength of all my tests, I decided to tackle the task again. I am currently studying the motherboard of such a device:


This is only a first prototype but the final version should look very much like this, in much smaller ...

vendredi 10 décembre 2021

DRUMULATOR repair man...

December 10, 2021 : 

The Drumulator that I received a few days ago and spent an hour or two on doing dreadful 'hacks' done by bad tinkerers and replacing a few circuit sockets reboots : 

This is obviously not very visible in the photo, but the superb and heartwarming message "bad" is displayed. I haven't tested the sound generation system, but anyway, I have to use this board to test this generator from an FPGA implementation.

So far I have only changed the CTC and a 74LS145. By the way, it is getting quite difficult to find this 74LS145 nowadays. I bought ten. We never know ;-)

UP December 14, 2021 : 

As often on Drumulators, the RESET circuit no longer works and the SRAM is no longer correctly saved. However, I did manage to RESET the machine and program sounds to each PAD. It works. So I know that the sound generator is also working, as well as the whole audio processing chain. I will definitely be able to use this machine to test my sound generator implementation! 

On the other hand I have to clean all the switches because they do not respond well. One of the pads has been damaged. I don't think I will be able to get it to work normally again. Ah, what all those Sunday DIYers are !!!

UP December 16, 2021 : 

As I now know this Drumulator is functional, I can prepare it for my micro waveform sequencer tests. 

So I removed the two circuits which buffer the addresses generated for the sound ROMs. It is on these two new circuit supports that the address wires generated by my FPGA emulation will take place.


The most difficult being to remove these two circuits without damaging the PCB, nor the circuits because they are not very easy to find nowadays.


jeudi 9 décembre 2021

RETRO COMPUTING : TMS1122NL

There are a lot of digital clocks.
Those made in China which are inexpensive and incapable of any precision.
There are those, a little more serious and more expensive, which are precise but have 2 buttons for 20 functions.
There are also those which are beautiful, with nixie tubes for example, but which are really too expensive.
And then, none is capable of controlling the start or stop of any device.

In 1981, I came across an article in the French review 'Electronique Pratique' about the making of a clock with very interesting characteristics.

Magazine cover.

The circuit used was a 4-bit microcontroller of the TMS1000 family, which appeared in 1974. The TMS1121 / 1122 was a version containing a programmable clock application directly programmed into the internal 1024-byte ROM. 

The result was an extremely practical and easy to use device. I have never found such pleasure in using a simple clock. Unfortunately, I did not keep the copy I made in 1982, thinking that this machine was obsolete and easily replaced by a more ergonomic device: big mistake!


So after a number of years I decided to recreate a equivalent circuit to the TMS1122. Although the original clock was absolutely 'great' for the time, it suffered from two issues. The accuracy of the time was linked to the accuracy of the 50 / 60HZ network. In addition, it did not display the seconds and did not manage them in programming, which could be handicaping for certain uses.

The diagram for using the TMS1122 is very simple :


In my new version, there will be just a few additional displays and the time will be taken directly from a specific and very precise component. The operation will be the same except that the seconds will also be managed. In addition, in order to eventually be able to control this clock remotely, the circuit will be equipped with a serial port which will accept exactly the same commands as those typed on the keyboard.

Note that in the past, some people have developed real replacements for TMS1121 here based on a PIC ic :

http://xyama.sakura.ne.jp/hp/TMS1121_Simulator.html


mercredi 8 décembre 2021

New DRUMULATOR at the workshop & FNIRSI 1014D

A few days ago, I posted here a search request of a living or dead Drumulator.

I just received a machine that no longer works. It seems normal to me given all the tinkering she has undergone. After some investigations and component changes, I was able to see that the processor is working properly.


In red, the IC sockets that I changed, in yellow, the changed components, the CTC and a decoding circuit for the display (for the moment I have not changed the decoding circuit because I have to find a 74LS145 that I don't own).

At the moment I do not know if other circuits are defective. I don't know if everything related to the sound generation works but it is not very important. I just want to use this Drumulator board to test my digital FPGA implementation of this sound generator. I just need the D / A conversion and audio output part.

I have said it before, and although not sponsored by FNIRSI, it is a real pleasure to work with the 1014D oscilloscope. The screen is super nice, for frequencies of a few MHz it is fast enough and above all, it does not make any noise and is super light to move on the workbench. It is really very practical for this kind of little troubleshooting.


mardi 30 novembre 2021

MSX, CANIVORE & various thoughts on the MSX standard and amateur work

Several months ago, I started building an MSX compatible computer board. This is Sergey Kiselev's OMEGA project


I have no complaints about this project. Apart from the difficulty of supplying certain components and possible assembly errors, the computer works as soon as it is switched on.

I have already had the opportunity to discuss the cost of producing such a project. This is why I did not realized the keyboard proposed in this project, but rather a USB adapter allowing the use of a standard keyboard at low cost.


In order to put this computer into real operation, I therefore obtained a CARNIVORE 2 cartridge which provides, among other things, access to a storage medium in the form of a FLASH card:


And now is the time for things to get complicated!

At first, I tried to run the cartridge with a flash card that I had. Despite my best efforts, and although the cartridge menus were displayed, the flash card was never taken into account. So I ended up looking for a possible compatibility problem with my flash card. The flash card that I have and that works on my PC :


You can find a list of compatible flash cards here: https://sysadminmosaic.ru/en/msx/carnivore2/qvl_list. I was indeed able to find this type of card in the list:


So I began to suspect the operation of the CARNIVORE cartridge. The first approach is to redo the welds. In order not to damage anything, I therefore used a hot air iron. I am used to work with this type of material so no problem. The result was the inability to start the cartridge itself.

So this time I visually inspected the cartridge and this is what I discovered:


From what I have been able to observe, it seems obvious to me that under these conditions the access to the memories of the cartridge, and therefore to the program in ROM seems highly compromised. 

This is the original placement of the component. I absolutely did not touch the legs of the FPGA. The fact that the cartridge started when I got it seems have been a miracle. In the current situation, it is not possible to properly realign the pins of the FPGA. The only solution would be to remove this component and replace it with an FPGA with the pins correctly aligned. This problem only exists on one of the four sides of the component.

Well, the Cyclone II series FPGAs are no longer manufactured. And moreover it seems very difficult today to obtain such circuits!

Which brings me, after having worked for several months on this MSX board, to the following thoughts:

  • Personal creations always come up against the problem of the case. Which one for OMEGA?
  • Two cartridge ports, at the time it was probably perfect, but today?
  • Operating mode selection by pressing specific keys at start-up: boring and outdated!
  • C-bios is not a system. It just offers the minimum API to run some cartridges.
  • Difficulty finding a version of the system corresponding to the needs.
  • Slowness of this type of machine. More efficient solutions are possible ...
  • Video resolution is really minimal ...
  • Lack of structured, up-to-date and relevant documentation...
  • Use of bad technical solutions for some realization. In the case of CARNIVORE, fpga, resistance adaptations to voltage differences etc...
  • Etc...

While this type of machine could, if updated, provide real pleasures of use and programming, it is clear that entering the MSX world from scratch is not a trivial task. And yet, this type of machine can provide real development potential but still requires a flattening of the concept I think.

Don't make me say what I didn't say: making an OMEGA board and even starting it is a real pleasure. So far I haven't managed to start any application, and that's really annoying. 

But hey, that makes it possible to think of modifications allowing to improve the situation ...

vendredi 26 novembre 2021

vendredi 5 novembre 2021

Keyboard for OMEGA MSX Computer : it works!

It took me much less time than expected to be able to interact with the OMEGA board:

Before testing my USB to keyboard adapter board, I had tested the reception of codes from the USB keyboard. So I knew it was working. But I still didn't know how MSX BIOS scans the matrix keyboard.

After a few attempts and oscilloscope tests, I was able to send 'things' to OMEGA. But obviously not the right codes. After having researched the official codes of the MSX keyboards, I realized that the BIOS installed on OMEGA manages the Japanese keyboard! Why not!...

My first goal being to be able to type a little Basic program and run it, I decided to code the essential characters. First, the alphabet:


I am totally amazed at how easy it was to turn on my USB / OMEGA keyboard interface. I didn't have any issues with the design of the board, everything worked right from the start. Coding the software of the small STM32G0 processor was really very easy with the STmicro IDE.

For now, the coding is more of the quick and dirty type but it works very well!

On the way to my first "Hello World" program ;-)



mercredi 3 novembre 2021

MSX OMEGA & CARNIVORE 2

The MSX OMEGA main board:

So far all I have managed to do with the OMEGA MSX board is boot to the free C-BIOS bios: 

The problem is that C-BIOS is a really minimalist bios that only allows you to start an application on a cartridge. 

Now, I find myself with two problems.

The first is that I now need to test my USB keyboard adapter on the OMEGA motherboard. However, I do not have any game cartridges. Under these conditions the system does not allow me to do anything.

As Sergey Kiselev specifies, Omega is compatible with the Sanyo PHC-23J machine. So I recreated a bios starting from the basic ROM and the extended ROM of this system. Obviously, I have no commercial rights to this ROM, but the use is strictly private and as a development resource in my case.

And voilà: 


I am now under Microsoft Basic. I will therefore be able to continue the development of my USB interface and particularly the management of signals with the OMEGA PPI.

I remember in 1988, I joined a company that still had a small microcomputer running Microsoft Basic. It was used to program the very fashionable LED display strips at the time. I had just turned on this machine and had fallen the same way directly on the Basic's screen. I don't remember if this machine was an MSX type or not. I don't remember the manufacturer either. Regardless, 33 years later, I'm here again :-)

And the question is: does the Carnivore 2 card work under this environment?

Is that enough for you as an answer?

Carnivore 2 works exactly as described in the documentation. For the moment I have not prepared a FLASH card so the list of files is empty. 

There is still a bit of work to be done before I can use my Carnivore 2 card for mass storage. Indeed, the Flash card must be prepared through the Carnivore application. Besides the fact that I will only be able to do this when my keyboard interface is working, it seems that some files must also be installed on the Flash card (auto-start mode). I don't know if this is absolutely necessary but whatever. This procedure can only be done through a floppy disk drive. I now need to acquire a floppy interface to complete my system.

It's really nice to see this system come to life step by step.


vendredi 29 octobre 2021

Keyboard for OMEGA MSX Computer : no 'magic' smoke :-)

Until now, I have carried out my developments on this USB keyboard interface by powering the board using a laboratory power supply. As I have pretty much finished the software embedded in the STM32 processor, it's time to see what it looks like on the OMEGA board.

This is what the final assembly looks like:



The interface LED responds well to pressing keys on the USB keyboard. It remains to be seen if this works well with the OMEGA board.

As a USB keyboard does not really take the specific keys of the MSX keyboard, I planned the use of specific keys of the USB keyboard like ALT, CTRL etc ...


jeudi 28 octobre 2021

HUMOR...

 When you absolutely have to find a solution:


Image of the last century?

No! Image taken in June 2021. 'Provisional' electrical installation of French Travelers, Nantes, France. No protection, no meter, free electricity and ... not even tourist taxes!

If the 'modern world' bothers you, take back the power ;-)

mercredi 27 octobre 2021

Audio Direct Box prototype

I had to wait more than a month this time to receive the printed circuit board of my Audio Direct Box :

There really is a persistent problem with global distribution channels :-(

The problem now is to recover the components necessary for the complete construction of the first 'real' prototype.

To be continued...


vendredi 22 octobre 2021

Sergey Kiselev MSX OMEGA computer and... a keyboard for it.

 Sergey Kiselev developed some time ago an MSX2 compatible computer :


This is one of the boards that I buid. Building this kind of retro-computer costs a certain price, in particular because of the connectors which are also of the MSX type and are not very affordable today.

In fact, I hesitated to build the keyboard that Sergey developed for this OMEGA, thinking of using a standard and cheaper keyboard either PS / 2 or USB.

Obviously, the most common models today are of the USB type. So I developed a small USB interface on one side and parallel on the other to interface with the keyboard bus of the OMEGA board :


This interface uses a specific processor which manages the USB protocol to which I have added an STM32G0 type processor for the decoding of the USB frames intended for the OMEGA board.

The documentation of the USB management circuit being very ... light, I had some difficulties in retrieving the key code from the USB keyboard.

But here I am:


The right part of the ST IDE displays, among other things, the value of the Key variable, corresponding to the value 0x14. I actually hit the 'A' key on the keyboard, which matches well the 'Q' code on the standard keyboard. And yes, I use a French keyboard ;-)

The code is not very well written yet. All I have to do now is manage the sending protocol to the OMEGA board and I will finally be able to interact with this computer. So far I've only managed to get the init screen, which isn't bad :-)







lundi 11 octobre 2021

New retro-computer?

Soon available: a retro computing platform equipped with all the necessary resources for the emulation of existing machines or the development of new concepts.



Its particularities?
16/32 bit compatible. A specific port for processor module. Optionally, 680x0, 486, etc ...



mercredi 6 octobre 2021

The Wichit Sirichote Z80 MICROPROCESSOR KIT and the µPF--2

After thinking about what could become of my improved version of the Z80 µPF - 1 compatible kit from Wichit Sirichote, I thought that the first thing to do was to take full advantage of the Z80 hardware emulation in the FPGA.

In fact, the Z80 encoded inside the FPGA can operate at the native frequency of the QMTECH board, which is 50MHz. It would be possible I think to go up to 100MHz using a PLL but in the context of a learning board, I did not consider it necessary to exceed 50MHz.

Obviously, it is not enough to change the frequency of the processor to make the system working correctly. Indeed, apart from the internal resources of the FPGA, the external resources operate at much lower frequencies. This is the case off the I2C bus, the LCD display etc etc ...

By properly managing the internal processor frequencie, I have succeeded in achieving a fully functional system. 

So all RAM ROM access and internal FPGA peripherals are now running at 50MHz. This represents a speed approximately 14 times greater than the original 3.579MHz of the Wichit Sirichote Z80 kit. 

This can make it possible to consider applications a little more 'serious' now!

Wichit Sirichote µPF--1@3.579MHz VS µPF--2 @ 50MHz

As can be seen in the image above, the µPF - 2 kit has a separate mechanical keyboard which is very pleasant to use, unlike the keys used on the original kit.

Communication with a PC is now carried out at 38400 baud and no longer 1200 baud. Or a file download speed multiplied by 32!

Obviously, now the file download is proceeding correctly. There is no more corrupted informations. This is mainly due to the fact that I used a real UART and not a slow emulation performed by the Z80, like on the original kit.

The majority of the code now runs at a speed of 50MHz and no longer at around 3.5MHz.

The µPF - 2 kit also offers other resources such as the native LCD display as well as a real-time management circuit.

Z80 @ 50MHz!

To make this all possible, I also rewrote a lot of the code of the monitor. I haven't completely finished this job yet. I also still have a few details to finalize on the VHDL code for the hardware emulation. I expect to carry out these operations in the next few days.

So, I now hear in France, that it is becoming difficult to find people with basic skills in digital electronics and that the National Education no longer trains this type of person.

This is true, and false. False, because a few excellent branches still exist, but very few highly qualified personnel are trained. True because there is no longer any training allowing a larger number of talented people to be trained in this type of technology.

This is nothing new. Reason why I personally learned digital electronics and more particularly processor systems on this type of material, in the 80s.

We may not realize it, but even today, a very large number of applications are built around the Z80 or other processor like the 6502. Modern technology makes it possible to use this processor in an FPGA and thus to obtain inexpensive but nevertheless very powerful hardware. And imagine that it is possible to implement an FPGA with 8 or 16 Z80 cores at 50MHz or 100MHz without problem. What flexibility!

mardi 21 septembre 2021

Retro computer : RETRO II, a clone of the APPLE IIe computer.

Among other subjects, I have been assembling for a few weeks an APPLE 2e compatible board, The RETRO II.


I did manage to get the system start page but it wasn't easy. 


More details here: https://sillycony.blogspot.com.