And first of all, the typology of the pseudo MIDI network.What a horror this thing is...
jeudi 2 novembre 2023
From the beginning, I hated the midi hardware infrastructure (II)
lundi 30 octobre 2023
vendredi 27 octobre 2023
8 ports MIDI to CV/Gate converter.
And now, the resumption of an old project for which I had not achieved the expected result.
I appreciate simple but effective designs. In this little game, however, I sometimes get fooled by choosing a component that meets the criteria of simplicity and functionality but which may present one or more small drawbacks that I think I can overcome with software.
Most of the time, this is the case. Sometimes, well, it fails miserably. In addition to wasting my time programming, sometimes I even have to abandon the concept altogether! This is the case for my previous version of this type of project.
All is never lost, you learn from your mistakes. And then we return to the subject, this time being careful not to fall into the traps typical of this kind of project. That's what I did here.
The image shown below is the second iteration of the basic concept. The previous prototype just served to validate my new concept.
This new study of a MIDI CV/Gate converter is more complicated than the previous version. There are more components. However, it's mostly 8 times the same type of CV and Gate outputs, with just the control processor. So, it's not very complicated actually.
However, I still improved the basic concept by allowing CV output of three types:
-5V ~ +5V; 0 ~ 5V; 0 ~ 10V.
Likewise, Gates outputs can be positive or negative.
I also added two potentiometers and two additional switches which will allow me to configure the device at a minimum.
In fact, it's not a bad improvement. While I'm at it, I'm also switching from an ARM processor from STmicro to a RISC-V processor. I got used to these new processors pretty quickly. I have mastered them well and find them very practical to use.
The prototype was more condensed. This was not a good idea in my opinion because it did not allow practical handling of the device. The final version will therefore be larger
All that remains is to have the printed circuit manufactured and to test this new version.
mardi 24 octobre 2023
A TMS1122 Timer clone in a box.
The glorious era of the 80s
This venerable clock was programmable and allowed, thanks to 20 program steps, to control four outputs with an accuracy of one minute, over a week : gorgeous!
Personally, I have always appreciated the way this type of equipment works. An interface with buttons and a simple and clear display. A few minutes to understand how it works and voila!
So I recreated this type of clock but added some features including being able to program the start or stop of an output to the nearest second. This was woefully lacking on the original device.
Delay or advance can also be easily adjusted, which was not the case with the original machine. Here, there is no specialized circuit for time management. As originally, it is the processor that counts in real time. On the other hand, the precision is not based on the electrical main network pulsation but on the triggering of processor interrupts. As it is not clocked by a quartz, it is therefore relatively sensitive to temperature. In this way, the operation is identical to that of the TMS1122.
Some images of my new version of 'TMS 1122' :
CONCLUSION:
I must admit that the way the TMS1122 works was not at all easy to emulate. What was undoubtedly very 'easy' to achieve in assembler, is less simple in structured language like the 'C' used here. The functioning of the TMS1122 was certainly dictated by the obligation to work in assembler, with limited resources. Emulating the apparent simplicity of how the interface works was no small feat, far from it!
lundi 25 septembre 2023
Finally, my idea of publishing all the progress of a project in a single post is not a very good idea. This makes the blog less dynamic and ultimately does not reflect the development activity as it really is.
So I'm coming back to the form of publishing a post for major progress on a project.
I haven't posted anything for a few months now. I actually have several ongoing projects that are at various stages. The holidays forced me to take a break for a few weeks. In this generally gloomy atmosphere, you have to stay motivated and continue to 'think'!
dimanche 9 juillet 2023
BASIC-52
It's been a few months now since I subscribed to the Facebook group 'minimalist computing'. Personally, I believe more in this theme than in free software.
Why that? Because in absolute terms, free labor cannot exist. Whoever spends time studying a solution rather than cultivating his garden can only meet his basic needs through the intermediary of a a currency of exchange that he will have acquired thanks to his study and with which he will be able to obtain what he needs with people who specialize in this type of service :food; clothing; health etc. .
For me, there are three types of services:
- Paid services at very high cost.
- So-called 'free' services.
- The 'intermediate' services at an 'affordable' displayed cost.
As everyone knows, 'when the service is free, then you are the product'.
This is understandable when it comes to the sale of finished goods, but what about when it comes to services?
- The services or solutions that you will pay a high price for, will allow you to really improve your productivity. Quite simply by interfacing with a complex system by offering you a simple method of accessing it. You can then imagine creating your 'own' business because this interface will take care of all the aspects that are not the responsibility of the business application you want to develop. So you can focus on YOUR real work.
- The so-called free services. Well they don't exist. In this type of business, you will often find the resources in open access. But the other part will be a mountain of documentation, very often disparate, erroneous or even contradictory. As your project evolves, you will be forced to find human resources who can handle different aspects that you did not originally foresee, as well as many other problems.
- And finally the "intermediate" services which bring together aspects of the two previous offers. Namely that you will be led to finance applications at a certain price, supposed to provide you with simplified access services to what you wish to develop, but which will be voluntarily so disparate, so poorly documented, so unmanageable that in the end, you will still have to create a team to study your project.
- Because it contains onboard flash.
- Because it contains on-board RAM.
- Because you can find cheap development boards.
- Because it is programmed very easily by its serial port n°1, thanks to the software available from STC.
The dev board ordered. |
The dev board received & the Dallas DS80C320 |
The programing software |
lundi 26 juin 2023
A downloadable MSX cartridge.
After having studied a universal timer based on the operation of the TMS1122, and while waiting to receive the printed circuits board of the definitive version, it is time to continue the study of the MSX cartridge.
The reasons for this type of cartridge: I knew absolutely nothing about the MSX stadard. Out of curiosity, I mounted an MSX board developed by Sergey Kiselev :
https://github.com/skiselev/omega/blob/master/Mainboard.md |
This MSX computer works very well. However, the problems started when I wanted to test an application, typically a game. Which cartridge to insert since I don't own any original game cartridge?...
I tested several 'universal' cartridges like the Carnivore 2 witch was defective, the Rookie Drive NX which is supposed to emulate a floppy drive and the MegaFlashROM which is the one I managed to use.
The common point of these cartridges is that they are not at all easy to use. Most of the time, it's a matter of copying the desired program to an SD card and then inserting this SD card into the cartridge. When starting the computer, it is then necessary to press keys at certain times to access the menu of the cartridge, allowing the program of the SD card to be recognized by the MSX computer, most often by copying the contents of this SD card in a memory space addressed by the MSX computer. It works, but it's anything but practical. And to consider development, it's downright impractical, hence the presence of MSX emulators for Windows for example.
So, I decided to try creating a cartridge that would work like a memory emulator. That is to say that the memory of the cartridge could be loaded from a PC and directly accessible by the MSX computer after RESET. Simple in fact!
Note that with this project, I have no idea where I'm going. I have never programmed the USB interface of the processor used (always RISC V). My experience with USB dates back a few years when I created a MIDI multiport using an STM32 processor. For now, I have created an MSX cartridge and have just implemented the few components needed to make the microcontroller work.
This is the 3D representation of my cartridge and...
This is the hardware realization with just the necessary components to go on the adventure. The first step will consist in programming the microcontroller to behave like a mass memory then to use part of the internal SRAM as memory accessible by the PC.
This is already a nice challenge I think...