Affichage des articles dont le libellé est Retro Computing. Afficher tous les articles
Affichage des articles dont le libellé est Retro Computing. Afficher tous les articles

lundi 19 août 2024

TI59

Sometimes unexpected encounters happen. This time with a TI59 and its PC-100C printer.

In fact, a few days ago I was walking in a square somewhere in Brussels, where a garage sale was taking place.


And, while walking through the maze of pop-up shops, I come across a TI59 installed on its PC-100C printer.

wikimedia.org

A few days later, during a break in my vacation wanderings, I couldn't resist the urge to test the set in my hotel room. After checking that the machine's fuse was in good condition, I tried connecting the PC-100C to the mains. And there: 'magic smoke' :-(

I suspected it a little. I wasn't too disappointed though, knowing that I bought the whole thing for €5, sold by someone who obviously knew nothing about it, and presented as an old cash register!

After a relaxing vacation and back home, I took the printer apart and discovered what I expected, namely a nice 'burned' tantalum capacitor.



This type of capacitor is quite annoying in the long term because it tends to generate a short circuit one day or another. And that's what happened. The capacitor was therefore completely destroyed, and this was the reason for the destruction of the protection fuse.



I therefore changed all of the capacitors of this type with good quality chemical versions. I won't have any more problems like this for a while.

And then I took the opportunity to inspect the electronic card of this printer a little more. Because I still found it a little strange that the recovered set was in such good condition. In fact, there are just the keys of the TI59 which are no longer very good on the surface. I assume the foam must be completely disintegrated.

And here is what I discovered:



And there you have it: two beautiful welds which are not original and which I discovered. Nothing serious at the moment, but this could indicate that the entire system was having operating problems. And therefore, it would not be impossible that despite my repair, the system still does not work.

And it is. Once you have reassembled the PC-100C and placed the TI59 on its support, of course, the red printer LED lights up, but nothing happens to the TI59. I don't even hear the little characteristic noise of the voltage booster module, such as I heard on my TI57... at the time. However, the printer does deliver -3.75V on its connector, to the 59.

Nothing happens to the printer either. Even the paper advance doesn't work. At this stage I haven't read the instructions manual, but I imagine that paper loading 'should' still be possible. It doesn't matter right now. First of all, and since it is the calculator which is the center of this system, I decide to look at it first. Fortunately I was able to find the diagram of the 59 and the PC100 on the Internet.

So at this point the next objective is to check what happens if I apply adequate voltage to the calculator and thus, I hope, determine where it is stuck. The first thing to do is to disassemble the TI59. Hmm... bad memories of my TI57 encourage me to be extremely careful. A broken plastic lug holding the keyboard, and it's ruined! No need to think about replacing it or regluing it: it doesn't hold, even with glue!

First operation, at risk, disassemble the TI59 without breaking anything! I achieved it :

The motherboard

Displays & keyboard

What I was thinking about the keyboard, namely that certain keys no longer rise correctly to the surface of the machine, actually comes from the fact that the foam which is supposed to place the keys towards the surface of the calculator, is in very poor condition :


And I didn't break any of the four lugs holding the keyboard/electronic card assembly in the body of the machine!

The first tests of connecting the machine to a voltage source of 3.75V gave me rather worrying results. I discovered consumption much higher than expected. After testing the capacitors and diodes on the board, I don't find anything special. This is even more worrying. And, of course, the machine won't start.

At this stage, I still have to discriminate whether it is the module which generates the two negative voltages -Vdd and -Vgg which poses a problem, or whether it is 'behind' that this is happening. So I need to remove this module from the TI59 card:


Powering up the machine does not generate significant consumption, knowing that without the module, only the -Vb voltage (the supply voltage of the machine in fact) is used. There is therefore no consumption on -Vdd and -Vgg :


I power the calculator at a little more than 3.7V knowing that I go through the power supply diodes. 

Consumption is very low. Normal since I think none of the machine's circuits are working since they all use the other two voltages which are not present at the moment. I don't know how the logic circuits support this power condition anyway, but I don't really have a choice.

I therefore also checked the operation of the module which generates the two negative voltages -Vdd and -Vgg. I also obtain an idle consumption of only a few mA. The measured output voltages are -9V for -Vdd and -12V for -Vgg. This should be -15V for -Vgg but hey, that's not the topic at the moment.

Following these operations, I reassembled the module for testing the two negative voltages and turned the machine back on. The result was immediate with an overall consumption of almost 200mA. Something really unusual is happening. I know, however, that this is not on the -Vb and that the voltage module is not the cause either. I still have to check -Vdd and -Vgg.



While I still have -12V for -Vgg , I now find myself with -6V for -Vdd. I'm starting to better understand the problem with -Vdd. However, all integrated components use the three voltages. For discriminated against, well it’s relatively simple. Given that I have excessive current consumption, I then necessarily have a component which consumes this current and which therefore heats up.

So I decided to let the calculator 'warm up' for a few minutes. And indeed, after a certain time, I detected a component which was heating up while all the others remained cold.


The TMC0583 is clearly hot. It is therefore very likely that the problem with this ti59 comes from this component. However, I am not 100% sure because it is fixed on the TCM0582 which may also present a problem. The only way to check if my idea is the right one is to desolder and remove this TCM0583.

But in any case, and in accordance with the calculator diagram, if the TCM0582 or the TCM0583 is out of order, there can no longer be a display. Additionally, these two circuits contain the system ROM, so the calculator almost certainly cannot even boot anyway.


If my theory is confirmed, it will then be very difficult for me to restart this machine. It is not possible to find this type of component, even second-hand. I would then have to find a defective TI59 and try to recover the necessary component, provided that it is functional of course...

I was wrong all along, and here's why...

Following previous experiments, I decided to remove one of the components of the calculator, namely the TMC0583 because I found that it was hotter than the other components. 


I find myself with a lower consumption of only 30mA compared to the consumption of the machine equipped with this TMC0583. 

In the event of too high consumption of the calculator, this component is therefore not the main source of consumption. The doubt about the idea I have of the dysfunction grows. On the other hand, and interestingly, I leave the machine powered on for a certain time in order to control the temperature of the components.

After about 15 minutes, I realize that the temperature of the TMC0582, the component on which the TMC0583 is soldered, is also hot, but actually no hotter than the TMC0583. So I'm starting to think that potentially there are no defective components. But then, why doesn't the TI59 start?

In this case, I only see one reason: the conditions for starting the machine are not met. However, until now I have carried out the tests with the magnetic card reader removed. So I decide to reconnect this card reader. And what do you think happened?


Well yes, the machine starts. The card reader is under the sheet of paper to avoid possible short circuit. Note that at this precise moment, I did not put the TCM0583 back in place.

The machine functions normally, it recognizes Pi, but is unable to perform any mathematical operation whatsoever. Indeed, the code for the mathematical routines must be found in this TCM0583. It's quite 'amusing' to note that the absence of this ROM of mathematical functions does not absolutely crash the machine. The order is simply not fulfilled : cool!

Needless to say here, I think (but I do it anyway), that I am very happy with the result. I therefore decide to put the TCM0583 circuit back in place. Once the operation is completed, I switch to around 200mA consumption without using the card reader. This consumption varies depending on the number of digits lit on the display.


Now for tension control. Warning, the reference of the two negative voltages Vdd and Vgg must not be the ground, but in fact the positive power supply of the machine, therefore not -Vb (corresponding to the ground of the power supply supplied to the calculator) but the positive pole of this power supply. And as -Vb is equal to approximately -3.3V, we end up with -Vgg not at -12V, but -15V, and -Vdd not at -6V but at approximately -9V.

In reality, I measured not -9V for -Vdd but -8V real. Vgg being really at -15V. In short, all voltages seem good and consumption is stable at around 200mA.

After more than an hour of operation, all the measurements have not changed, a sign that everything is working. I was even able to enter a small program and run it. I hadn't done this kind of thing since I got rid of my TI57, 6 or 7 years (1988~1989) after buying it because the keyboard had become unusable. I tested a good number of keys on this TI59, the keyboard seems to be in good condition.

I obviously don't have much left to do on this calculator. I placed a solder spot on each expansion module connector tab. While wanting to test the voltages on this connector, one of the legs became detached from the card. I had to solder it.


Conclusion: I don't have an answer to why the calculator wouldn't start. However, I opt for a small contact problem on the flexible cables which connect the card reader to the calculator. However, these connectors firmly hold the tabs on the flexible cables. During my tests, I connected the power supply to the terminals of the blue power filter capacitor present at the bottom left of the TI card. Since then, I have connected the power supply directly to the dedicated pins of the machine by increasing the supplied voltage by 1.4V and everything works perfectly. I did not power the machine through its battery connector, I still have this test to carry out.

Would I have put this machine back into operation faster with the documentation? I don't know. Concerning the tensions, I did not see any mention of what the reference was. It is also not explicitly written that the card reader must be connected to the machine for it to start. 'Worse', while reading the documentation I let myself be 'influenced' by the troubleshooting advice stipulating that if nothing happens, then look at the TCM0583.

But hey, I didn't spend too much time on the machine, just over two hours. Everything is not finalized however. I still have to find a suitable foam to put on the keyboard before reassembling the machine. And I will also need to test the communication with the printer.


mardi 25 juin 2024

J'MSX : for the fun!

The weekend of June 23-24, 2024 took place in Paris, the meeting around the MSX standard:


the opportunity to meet around standard MSX and to compare our achievements with those of others.

I was also able to carry out some tests of my USB cartridge and found that it works well, except on the Panasonic FS-A1. The 48K cartridges seem not to want to launch after loading, although it works very well on my Omega and other machines.

So, I looked a little closer at this FS-A1 and noticed that its bios has some particularities which encourage some owners to replace it with a 'minimal' version. I will investigate this aspect, knowing that the cartridges which did not start on the Panasonic, work without problem on my Omega, without having touched it in the slightest, that is to say with the cartridge loaded with the ROM which did not start on the Panasonic!

Mr. Nishi was present at this MSX day. For those who don't know Mr. Nishi, he is the person who created the MSX standard with Mr Gates, in the early 80s.


No need to make introductions...


Mr. Nishi presented his MSX0 and MSX3 to us. 

So if I understood everything correctly, because I had never managed to understand what was going on since I saw articles on these machines, it would in fact be two machines based on the compiled MSX basic. Obviously these two machines offer an MSX compatible hardware environment, but based on an emulator.

Msx0 would be more specifically dedicated to IOT, while MSX3 would be adapted to computer learning. These two machines are therefore two somewhat dedicated hardware emulators based on a fast processor but I don't know what processor it is.

MSX0

MSX3

Well, until now I hadn't really understood the subject, and I was telling myself somewhere that I didn't really see the point of such a machine. Well now I know that these two machines are of absolutely no interest, sorry Mr. Nishi.

How to say, IOT is... dead! And learn computer science, in France, today, it's python, and that's all. so ok...

Nevertheless, I had the unspeakable honor of posing in the group photo with Mr. Nishi.

For me, the loop is complete. When I discovered microcomputers in the early 80s, people like Gates, Tramiel, Sinclair, Jobs, Woz and the others were simply geniuses and people living in a galaxy other than mine. I was fifteen years old and the future was just beautiful.

Obviously, since then, the reality here, in France, a small country with no future since a long time, my future has been completely different than the one imagined.

Come on, at least I feel like I was a little part of the story...


Those who know me will recognize me ;-)

Thanks to MSX Village for this very nice moment.

mercredi 6 décembre 2023

A flash cartridge downloadable from USB, a few days later.

As I indicated in my previous post, I had almost reached the end of creating my USB downloadable cartridge, but unfortunately, the USB protocol generates periodic activity on the USB bus, which is disrupts operation of my cartridge. This involves unplugging the USB cable once the download is complete. This was not the objective that I had set for myself, namely to leave the cartridge connected to the PC while being used in an MSX computer.

So I had to find a solution. In fact it is very simple, use two processors on the card. The first manages USB communication, the second manages loading the cartridge and providing data to the MSX bus.

Yes, two processors. As the entire software aspect is already developed, all I will have to do is manage the communication between these two processors to finalize the project. As in any case the cost of the additional processor is comparable to that of a DIP FLASH, this solution is not that 'absurd'.

And the result of my thoughts is this:


I must say that the result is quite clean. I still have to check the placement of the notches because on the previous version, I realized that the insertion into the case was slightly forcing.

Ah yes, I also added the possibility of choosing the slot in which this cartridge should operate. Like this, the 'concept' is complete.

vendredi 1 décembre 2023

A flash cartridge downloadable from USB.

Everyone knows the cartridge system of microcomputers from the 80s. The MSX, a machine from that era, is no exception to the rule.

When you don't know anything about this type of machine, and when you finally get one, the first thing that comes to your mind is to see how it works. And so to do this, insert a cartridge, if possible of games, obviously!


This is when the problems start. How to do today when MSX has been commercially dead for more than 30 years. How to find such cartridges. It is of course possible to find them on the second-hand market. But buying 10 cartridges to test 10 games, well, that's not really viable.

The idea came very quickly to see if it was not possible to have a cartridge that could be refilled on demand, by SD card or USB device.

The Carnivore 2 cartridge, which also offers extras, uses a FLASH card to operate. You have to be able to find a compatible flash card, which is not always easy. I was never able to use the one I bought. The FPGA was poorly soldered and the cartridge quickly became unstable.


Straight into the trash :-(

There is the MegaFlashROM_SCC+_SD. It's the only one I managed to use. But to use it, there is a whole procedure to follow which is boring. And if you don't do this every day, you will have to find the documentation each time to successfully re-initialize the cartridge and copy your new game into it. The least we can say is that this solution is not practical at all. In addition, you have to use utilities that are provided in the cartridge while understanding what you are doing. And when you don't know anything about MSX, it's not engaging!


There is also the solution using a USB device like a key. For this, the rookie-drive-nx cartridge seems ideal. But also, after reading the documentation, I have never been able to get a USB device to be accepted by this cartridge: frustrating.


There is also the SD 512 but given the price of my three previous purchases, I decided I was going to discontinue the charges. So I haven't tested it.


Because, in fact, my goal was to test as easily as possible an MSX board that I had just built, Sergey Kiselev's OMEGA computer.


I had been dying to get my Omega board working for a while now. Because I don't want to spend more on a specific keyboard, I took the time to develop a USB keyboard converter to the OMEGA computer. 


I have also made the result of my work freely available on Github at this address: https://github.com/sillycony/USB-keyboard-to-OMEGA-converter.

So... I was looking for a solution to make this machine execute something in a simple way. This is how the idea of ​​creating a cartridge that can be downloaded via USB came to me.

I don't know if this is the easiest solution at the moment because I'm in the design phase and it's not yet finished despite several previous prototypes.

But I know that once finished, the cartridge will be very easy to use. Simply insert it into the cartridge port of the MSX machine while also connecting it to the USB port of your PC. Dragging and dropping your binary file onto the cartridge, which will be seen as a USB key, will be enough to make the ROM for the MSX available in a few seconds.

If the final solution for my cartridge is not ready yet, I am posting about it now because I have almost achieved what I wanted.


But why is the current beta version not satisfactory?

Well it's very simple: because the USB protocol imposes regular requests from the host to the device to check its proper functioning. And it happens every few seconds.

And? Well, the response process requires the processor on the cartridge to respond ;-). And that takes time. Even if the processor used is fast, while it responds to the USB request, it cannot respond to computer access via the cartridge bus. Result: the MSX computer crashes! But, when the USB cable is unplugged, everything works as expected, as shown in the picture above.

I even planned the automatic RESET of the MSX computer while loading a new binary, so that it then restarts on its own on the new game, or new application. It works very well.

I therefore need to dissociate the USB bus management function from that of the MSX bus management. Because I don't use a FLASH strictly speaking, but the flash contained inside the processor. 'Small capacity' flashes in DIP housing and parallel addressing are becoming more and more difficult to find and more and more expensive. 

So I don't have this problem with a processor equipped with the desired amount of Flash. In addition, it makes routing the printed circuit easier.

The final cartridge diagram looks like this:


I know, it's difficult to read. It's just a screenshot. But we can notice two big circuits there. These are the two processors used. The one on the right is in charge of the USB port, the one on the left is in charge of storing the binary of the cartridge and presenting it to the MSX bus. 

This will cost a little more to produce than expected, but as the two processors are the same models, I will be able to take advantage of the quantity order to reduce the final price.

The software is ready and validated. All I have to do is implement each processor with its part and add a small communication protocol between them. The most 'tricky' part consists of creating a new printed circuit board with more components. But I think I can use the design of the current cartridge to facilitate this new implementation.

I must say that this is now the second project that I have carried out with a professional type process with all that this implies of prototyping, extensive testing taking into consideration a whole bunch of parameters including price, ease of realization, reliability etc etc...

I must say that it is a very enriching experience... When I think of what the type of job I had at the French university was, just a few months ago... What mediocrity!

mardi 14 novembre 2023

UTC1122, AUTOMATION, RETRO COMUTING, MINIMAL COMPUTING.


Some improvements to the device's I/O circuit board. I also added a precision clock. I'm thinking of modifying the main clock program to use this precision clock.


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...