lundi 17 octobre 2022

Attempt to clone an SP12 (3)

I just received the SP12 PCB.


Another circuit to build and test. However, this becomes quite difficult due to the lack of components.

Fortunately, I will be able to test the majority of the functions of the board thanks to a few tips. Some of the components will only be available from April or May next year: terrible situation!

mercredi 12 octobre 2022

MIDI SWITCH(2)

The final production version of the PCB has arrived.

Finally, the printed circuit is very small. I have gathered the MIDI ports in packs of four, which will make it easier to cut out the front panel of the case. I brought back the micro-usb power socket on the front panel.

It is planned to be able to connect a PC equipped with a small software to facilitate the configuration of the switch. I don't have a MIDI ID so I decided not to use the MIDI interface for this.

This possibility, like that of also serving as a USB/MIDI interface, is planned for the next version. 






vendredi 7 octobre 2022

Attempt to clone an SP12 (2)

Construction of the SP12 core continues. I routed the board and sent it to manufacturing.

Preview of routed faces. 

Both sides:


Front face:


And the back :


Finally, a 3D representation:


I just have to wait for the reception of the printed circuits to begin its assembly and the first tests...

mercredi 28 septembre 2022

Attempt to clone an SP12.

Creation of a digital core module for the SP12, with the audio conversion system:


The components are placed. Now I have to route the board!

lundi 19 septembre 2022

MIDI SWITCH

The basic functions of the MIDI switch prototype work well. I'm still developing the system but at the same time, I'm redesigning the printed circuit board. 

The prototype was developed from an Intel OEM FPGA module placed on a motherboard that I created myself. On this motherboard, four connectors connect four small printed circuits each supporting four RJ45 sockets, for a total of sixteen ports.

This way of doing things was perfect for a prototype but not at all suitable for a finished product.
What I particularly appreciate is making it as simple as possible. And since the study from the prototype I experimented with a new type of FPGA more practical to use than Intel circuits, I took the opportunity to redesign the entire switch on a single printed circuit :

The circuit used will allow me to route the MIDI ports but also to perform some processing on the MIDI data. Everything will be programmable using, I hope, a small software running on PC and potentially on MAC.

mercredi 14 septembre 2022

MIDI SWITCH

It's been two months since I posted anything. After the holidays, I strongly put myself in the development of two projects. One of them consists of a 16-ports MIDI rack designed to facilitate the management of the MIDI network within a small music studio.

Although I'm still at the prototype stage, the hardware design is finalized and stable. I am now in the development of the software system. I am progressing step by step in order to create a system offering the essential functions. Subsequently, I will expand the operation by various functions that can be implemented depending on the computing resource that will remain available to me.

This is what the rack looks like:

The challenge is a little bit complicated. A reliable and practical device must be produced at an acceptable cost. And with the current problems of component shortages and rising prices, it really isn't easy!



jeudi 14 juillet 2022

GoWin FPGA & the Wichit Sirichote's µPF--1 clone : subject closed


This time, it's said. I close the topic 'µPF--1 clone'

Why? Because it works.


A few years ago, when I set out to attempt to replicate Wichit Sirichote's work in FPGAs, I developed a minimal system based on the sources of Wichit Sirichote. It had already taken me quite a bit of time to translate all the hardware onto a commercial FPGA board, then develop a personal board to accommodate an FPGA module. I found that it would have taken me too long to re-write a complete system based on poor quality of the source provided. 

And then, I wanted to test the GoWin FPGAs. When I say testing, I mean creating an FPGA board and then programming a complete system. That is to say also test the GoWin development tools.

Free advertising ;-)

After seeing that the small computer created 'seems' to work fine. I decided to attack what is the center of interest of such a small computer, namely the operation in step by step.

Until then, I had contented myself with re-writing the source of Wichit Sirichote to allow the manipulation of addresses and data as well as the loading of programs by serial link. So I missed the step by step. In terms of real learning of processor operation, step by step is extremely interesting!

It's quite interesting to be able to modify a program value almost on the fly, then to check the result by immediately restarting the program. That's the whole point of such a computer. 

It's a personal opinion, but I find it much more relevant than working on Arduino modules as a discovery of computing.

The system set up for step by step operation is based on an interrupt triggered after a certain number of pulses of the signal M1. Interesting and very functional system. On this point, Wichit Sirichote's source served me well.

So there you go, I have everything set up except the 'REL' key. I couldn't figure out its usefulness, even studying the provided source well. Regardless, it is now possible to write an entire program by directly entering the processor codes, or more simply by loading the program via the serial link and modifying the code directly on the keyboard, starting then stopping the program to check the content of processor registers etc etc...

Small example of a program loaded via the serial link:


The system is therefore validated. The GoWin FPGA used works perfectly. It is a success. I forgot, the serial link works perfectly, here at 115200 Bauds, and not faulty at 1200 Bauds as on Wichit Sirichote's system ;-)

In terms of FPGA resource usage, this is what it looks like:

Barely more than half of the resources in logic gates. I haven't implemented expansion port management, but it only takes a few dozen logical units. Not bad at all!

What's next?

I will now try to set up an HDMI output based on these Gowin FPGAs. Because I would like to develop a real computer with screen and keyboard on which it would be possible to choose the type of processor wanted.

This kind of machine has already been built, notably by Jeri Ellsworth in 2002. It's been just 20 years. It did not meet with much success while the retro-computing craze started to really emerge from the 2010s.


This machine may have come out too soon...

Stefany Allaire is currently recreating a whole range of computers on the same principle. You can visit his website c256foenix.com particularly with regard to its new C256 FOENIX JUNIOR, based on a 6.29MHz WDC W65C02S processor :

Free advertising ;-)

I am really impressed with the quality of his work...

[ 07-16-2022) Small updateAnd now the test with the IOM MPF-1P expansion board.

In fact, I knew that testing the connection of my processor board on the IOM board was going to pose a potential problem. simply because a number of signals used to manage the expansion port are also used for the JTAG programming interface. 

In fact it is not that complicated. All that is needed is to dynamically control the FPGA programming management system. Once done, the operation of the external bus is instantaneous. The connection of the IOM is therefore completely normal. I completed my little test program to turn on the diodes on the IOM board. It works without any problem!


GREAT :-)


The 'funniest' part of the story is that while I added some logical ressources to manage the expansion port, the GoWin software summary report tells me a 50% logical resources usage . It was 52% previously:


I could put two systems like this in the used FPGA considering only the logic resources. However, I wouldn't have enough internal memory for that...

[ 07-18-2022) Small update : For fun, I also connected the small printer, here the PRT-1P model to my processor board :


It seems to work. Why do I say 'seems'? Because I don't own thermal paper. So I can not check if the message is printed correctly. All I can say is that the printer responds correctly to requests made through routines present in the ROM integrated onto the printer board.

I have no idea where to get thermal paper for this machine. Occasionally, I'll try to find some...