Friday, November 12, 2021

MSX Omega computer : 'Hello world" with the new USB keyboard interface.

The goal of my project is to develop an interface card to connect a keyboard directly to the MSX Omega main board. 

The MSX Omega processor board equiped with the USB keyboard adaptor :


A few days ago, I managed without too much difficulty to simulate a basic operation of the USB adapter allowing me to display characters on the screen.

However, it took me a few hours of additional testing to finalize a reliable mode of operation, including automatic key repeat as well as some modes of operation with the SHIFT key. 

I haven't implemented all the secondary keys yet, but in the current state, I was finally able to program my first "Hello World" :

OK, this tiny step is not going to change the face of the world, but just give me a little satisfaction ;-)

Everything always needs a start!


Friday, November 5, 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 ;-)

 

Wednesday, November 3, 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 ...


Friday, September 24, 2021

A better keyboard for the µPF--2

After having imagined several solutions to obtain an acceptable keyboard for the µPF - 2, I ended up using key caps which it is possible to label:


For the moment I have not printed the labels of the keys in color, it would have been nicer, but the result is quite practical. This keyboard has nothing to do with what the original kit offers : https://www.kswichit.com/Z80/Z80.html.


Wednesday, June 30, 2021

Time for the µPF--2.

The µPF--2 


When I developed this µPF - 1 / B compatible board, I wanted from the start to add a specialized time management circuit. So I installed a DS3231. This circuit is interesting because it is very precise. It also offers RESET management that I used as a master reset of the board. 



This DS3231 operates using the I2C bus. Obviously, this bus must be implemented in the FPGA. That shouldn't be a problem. I thought I would find a usable 'piece of code' on the web. In fact it was not a good idea. The codes found are often complex and above all undocumented.

Therefore, the best solution was to implement the I2C protocol myself. That's what I did. It is not very complicated, but not necessarily straightforward.




After a short period of development, I got the bus to work perfectly and was able to configure and read this real time clock circuit:



At this point, I have tested all the hardware functionality of this project. I also rewrote a lot of the system. It only remains for me to integrate all these developments in a 'clean' way.

I am beginning to see the end of this subject ...

Friday, May 21, 2021

µPF--2 is able to use the IOM board

New step in the production of the µPF--1 compatible board: the use of the PIO of the IOM expansion. 

https://fjkraan.home.xs4all.nl/comp/mpf1


In fact, I picked up this 'supposedly' new extension a few years ago on eBay for a low price. Obviously, when it was powered, the general voltage was only 4.6V.

One of the RS232 drivers was problematic. So I removed it from the board and also changed the 5V regulator because the 7805 regulator which undoubtedly heated, only delivered 4.8V. The 5V restored, I connected the board to the µPF--2 and after some modifications of a small test program, I was able to run the famous basic 'Hello World' : the lighting of the three leds.


Yep, after 34 years, I am able to play with it again.




Thursday, May 13, 2021

MSX Omega computer : USB keyboard interface.

A few weeks ago, I talked about Sergey Kiselev's MSX2 compatible processor board project and the choice I made not to build the keyboard for reasons of overall system cost. 


Not everyone will agree with this choice, but for me, the main thing is to be able to have fun in retro-computing without breaking the bank. I
n fact, I specially studied an adapter for this MSX board to allow the use of a standard USB keyboard:


As usual, after a few days of waiting, I received the PCB:


This board is not particularly easy to assemble by hand because of the two integrated circuits with very thin and close legs. But with a little patience and skill, here we are. First I powered this adapter and plugged in a USB keyboard. I was able to observe the lighting of the keyboard connection LED as well as its flashing each time a key was pressed on the keyboard. It seems to me to be a very good start since the reaction of the USB control IC corresponds to what is indicated in the datasheet. In principle, all that remains is to program the processor to provide the parallel code expected by the MSX board.

A small additional check was carried out to verify that this adapter board fits correctly on the OMEGA board:


Note that I chose a raised USB connector to allow easy insertion of the keyboard connector. My adapter looks perfect! In fact, I have to quickly program it because without a keyboard it is obviously impossible to use the OMEGA computer.

However, for some time I received a Carnivor cartridge to allow me to copy programs or games to it and finally test the proper functioning of the OMEGA board:

At least I have already been able to test that this cartridge fits correctly into the connectors of the OMEGA:


I may also have to find a joystick for this machine. Otherwise it will be difficult for me to really test the games ...